ZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDZiMWZkMWIuLmI1ZjlkZWYgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMiw2ICsyLDcgQEAKIC9HSVQtQ0ZMQUdTCiAvR0lULUxERkxBR1MKIC9HSVQtUFJFRklYCisvR0lULVBFUkwtREVGSU5FUwogL0dJVC1QWVRIT04tVkFSUwogL0dJVC1TQ1JJUFQtREVGSU5FUwogL0dJVC1VU0VSLUFHRU5UCkBAIC03NSw3ICs3Niw2IEBACiAvZ2l0LWluaXQtZGIKIC9naXQtaW5zdGF3ZWIKIC9naXQtbG9nCi0vZ2l0LWxvc3QtZm91bmQKIC9naXQtbHMtZmlsZXMKIC9naXQtbHMtcmVtb3RlCiAvZ2l0LWxzLXRyZWUKQEAgLTEwNSw3ICsxMDUsNiBAQAogL2dpdC1wYWNrLXJlZnMKIC9naXQtcGFyc2UtcmVtb3RlCiAvZ2l0LXBhdGNoLWlkCi0vZ2l0LXBlZWstcmVtb3RlCiAvZ2l0LXBydW5lCiAvZ2l0LXBydW5lLXBhY2tlZAogL2dpdC1wdWxsCkBAIC0xMzEsNyArMTMwLDYgQEAKIC9naXQtcmVtb3RlLXRlc3Rzdm4KIC9naXQtcmVwYWNrCiAvZ2l0LXJlcGxhY2UKLS9naXQtcmVwby1jb25maWcKIC9naXQtcmVxdWVzdC1wdWxsCiAvZ2l0LXJlcmVyZQogL2dpdC1yZXNldApAQCAtMTU5LDcgKzE1Nyw2IEBACiAvZ2l0LXN2bgogL2dpdC1zeW1ib2xpYy1yZWYKIC9naXQtdGFnCi0vZ2l0LXRhci10cmVlCiAvZ2l0LXVucGFjay1maWxlCiAvZ2l0LXVucGFjay1vYmplY3RzCiAvZ2l0LXVwZGF0ZS1pbmRleApAQCAtMjAyLDYgKzE5OSw3IEBACiAvdGVzdC1zdHJpbmctbGlzdAogL3Rlc3Qtc3VicHJvY2VzcwogL3Rlc3Qtc3ZuLWZlCisvdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uCiAvdGVzdC13aWxkbWF0Y2gKIC9jb21tb24tY21kcy5oCiAqLnRhci5negpkaWZmIC0tZ2l0IGEvLm1haWxtYXAgYi8ubWFpbG1hcAppbmRleCAxYzFmNWVjLi4xMTA1N2NiIDEwMDY0NAotLS0gYS8ubWFpbG1hcAorKysgYi8ubWFpbG1hcApAQCAtMjE4LDcgKzIxOCw5IEBACiBUZWQgUGVyY2l2YWwgPHRlZEBtaWRnM3QubmV0PiA8dGVkLnBlcmNpdmFsQHF1ZXN0LmNvbT4KIFRoZW9kb3JlIFRzJ28gPHR5dHNvQG1pdC5lZHU+CiBUaG9tYXMgQWNrZXJtYW5uIDx0aC5hY2tlckBhcmNvci5kZT4gPHRoLmFja2VyNjZAYXJjb3IuZGU+Ci1UaG9tYXMgUmFzdCA8dHJhc3RAaW5mLmV0aHouY2g+IDx0cmFzdEBzdHVkZW50LmV0aHouY2g+CitUaG9tYXMgUmFzdCA8dHJAdGhvbWFzcmFzdC5jaD4gPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK1Rob21hcyBSYXN0IDx0ckB0aG9tYXNyYXN0LmNoPiA8dHJhc3RAaW5mLmV0aHouY2g+CitUaG9tYXMgUmFzdCA8dHJAdGhvbWFzcmFzdC5jaD4gPHRyYXN0QGdvb2dsZS5jb20+CiBUaW1vIEhpcnZvbmVuIDx0aWhpcnZvbkBnbWFpbC5jb20+IDx0aWhpcnZvbkBlZS5vdWx1LmZpPgogVG9ieSBBbGxzb3BwIDxUb2J5LkFsbHNvcHBAbmF2bWFuLmNvLm56PiA8dG9ieS5hbGxzb3BwQG5hdm1hbi5jby5uej4KIFRvbSBHcmVubmFuIDx0bWdyZW5uYW5AZ21haWwuY29tPiA8dGdyZW5uYW5AcmVkYmFjay5jb20+CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL0NvZGluZ0d1aWRlbGluZXMgYi9Eb2N1bWVudGF0aW9uL0NvZGluZ0d1aWRlbGluZXMKaW5kZXggNTU5ZDVmOS4uZWY2N2I1MyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9Db2RpbmdHdWlkZWxpbmVzCisrKyBiL0RvY3VtZW50YXRpb24vQ29kaW5nR3VpZGVsaW5lcwpAQCAtMTQ1LDYgKzE0NSwxNCBAQAogICAgdGhleSB3ZXJlIGRlc2NyaWJpbmcgY2hhbmdlcy4gIE9mdGVuIHNwbGl0dGluZyBhIGZ1bmN0aW9uCiAgICBpbnRvIHR3byBtYWtlcyB0aGUgaW50ZW50aW9uIG9mIHRoZSBjb2RlIG11Y2ggY2xlYXJlci4KIAorIC0gTXVsdGktbGluZSBjb21tZW50cyBpbmNsdWRlIHRoZWlyIGRlbGltaXRlcnMgb24gc2VwYXJhdGUgbGluZXMgZnJvbQorICAgdGhlIHRleHQuICBFLmcuCisKKwkvKgorCSAqIEEgdmVyeSBsb25nCisJICogbXVsdGktbGluZSBjb21tZW50LgorCSAqLworCiAgLSBEb3VibGUgbmVnYXRpb24gaXMgb2Z0ZW4gaGFyZGVyIHRvIHVuZGVyc3RhbmQgdGhhbiBubyBuZWdhdGlvbgogICAgYXQgYWxsLgogCkBAIC0yNDIsMTEgKzI1MCwyMSBAQAogIHByb2Nlc3NlZCBpbnRvIEhUTUwgYW5kIG1hbnBhZ2VzIChlLmcuIGdpdC5odG1sIGFuZCBnaXQuMSBpbiB0aGUKICBzYW1lIGRpcmVjdG9yeSkuCiAKKyBUaGUgZG9jdW1lbnRhdGlvbiBsaWJlcmFsbHkgbWl4ZXMgVVMgYW5kIFVLIEVuZ2xpc2ggKGVuX1VTL1VLKQorIG5vcm1zIGZvciBzcGVsbGluZyBhbmQgZ3JhbW1hciwgd2hpY2ggaXMgc29tZXdoYXQgdW5mb3J0dW5hdGUuCisgSW4gYW4gaWRlYWwgd29ybGQsIGl0IHdvdWxkIGhhdmUgYmVlbiBiZXR0ZXIgaWYgaXQgY29uc2lzdGVudGx5CisgdXNlZCBvbmx5IG9uZSBhbmQgbm90IHRoZSBvdGhlciwgYW5kIHdlIHdvdWxkIGhhdmUgcGlja2VkIGVuX1VTCisgKGlmIHlvdSB3aXNoIHRvIGNvcnJlY3QgdGhlIEVuZ2xpc2ggb2Ygc29tZSBvZiB0aGUgZXhpc3RpbmcKKyBkb2N1bWVudGF0aW9uLCBwbGVhc2Ugc2VlIHRoZSBkb2N1bWVudGF0aW9uLXJlbGF0ZWQgYWR2aWNlIGluIHRoZQorIERvY3VtZW50YXRpb24vU3VibWl0dGluZ1BhdGNoZXMgZmlsZSkuCisKICBFdmVyeSB1c2VyLXZpc2libGUgY2hhbmdlIHNob3VsZCBiZSByZWZsZWN0ZWQgaW4gdGhlIGRvY3VtZW50YXRpb24uCiAgVGhlIHNhbWUgZ2VuZXJhbCBydWxlIGFzIGZvciBjb2RlIGFwcGxpZXMgLS0gaW1pdGF0ZSB0aGUgZXhpc3RpbmcKLSBjb252ZW50aW9ucy4gIEEgZmV3IGNvbW1lbnRlZCBleGFtcGxlcyBmb2xsb3cgdG8gcHJvdmlkZSByZWZlcmVuY2UKLSB3aGVuIHdyaXRpbmcgb3IgbW9kaWZ5aW5nIGNvbW1hbmQgdXNhZ2Ugc3RyaW5ncyBhbmQgc3lub3BzaXMgc2VjdGlvbnMKLSBpbiB0aGUgbWFudWFsIHBhZ2VzOgorIGNvbnZlbnRpb25zLgorCisgQSBmZXcgY29tbWVudGVkIGV4YW1wbGVzIGZvbGxvdyB0byBwcm92aWRlIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgb3IKKyBtb2RpZnlpbmcgY29tbWFuZCB1c2FnZSBzdHJpbmdzIGFuZCBzeW5vcHNpcyBzZWN0aW9ucyBpbiB0aGUgbWFudWFsCisgcGFnZXM6CiAKICBQbGFjZWhvbGRlcnMgYXJlIHNwZWxsZWQgaW4gbG93ZXJjYXNlIGFuZCBlbmNsb3NlZCBpbiBhbmdsZSBicmFja2V0czoKICAgIDxmaWxlPgpAQCAtMjk2LDMgKzMxNCwyOSBAQAogICAgVXNlICdnaXQnIChhbGwgbG93ZXJjYXNlKSB3aGVuIHRhbGtpbmcgYWJvdXQgY29tbWFuZHMgaS5lLiBzb21ldGhpbmcKICAgIHRoZSB1c2VyIHdvdWxkIHR5cGUgaW50byBhIHNoZWxsIGFuZCB1c2UgJ0dpdCcgKHVwcGVyY2FzZSBmaXJzdCBsZXR0ZXIpCiAgICB3aGVuIHRhbGtpbmcgYWJvdXQgdGhlIHZlcnNpb24gY29udHJvbCBzeXN0ZW0gYW5kIGl0cyBwcm9wZXJ0aWVzLgorCisgQSBmZXcgY29tbWVudGVkIGV4YW1wbGVzIGZvbGxvdyB0byBwcm92aWRlIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgb3IKKyBtb2RpZnlpbmcgcGFyYWdyYXBocyBvciBvcHRpb24vY29tbWFuZCBleHBsYW5hdGlvbnMgdGhhdCBjb250YWluIG9wdGlvbnMKKyBvciBjb21tYW5kczoKKworIExpdGVyYWwgZXhhbXBsZXMgKGUuZy4gdXNlIG9mIGNvbW1hbmQtbGluZSBvcHRpb25zLCBjb21tYW5kIG5hbWVzLCBhbmQKKyBjb25maWd1cmF0aW9uIHZhcmlhYmxlcykgYXJlIHR5cGVzZXQgaW4gbW9ub3NwYWNlLCBhbmQgaWYgeW91IGNhbiB1c2UKKyBgYmFja3RpY2tzIGFyb3VuZCB3b3JkIHBocmFzZXNgLCBkbyBzby4KKyAgIGAtLXByZXR0eT1vbmVsaW5lYAorICAgYGdpdCByZXYtbGlzdGAKKyAgIGByZW1vdGUucHVzaGRlZmF1bHRgCisKKyBXb3JkIHBocmFzZXMgZW5jbG9zZWQgaW4gYGJhY2t0aWNrIGNoYXJhY3RlcnNgIGFyZSByZW5kZXJlZCBsaXRlcmFsbHkKKyBhbmQgd2lsbCBub3QgYmUgZnVydGhlciBleHBhbmRlZC4gVGhlIHVzZSBvZiBgYmFja3RpY2tzYCB0byBhY2hpZXZlIHRoZQorIHByZXZpb3VzIHJ1bGUgbWVhbnMgdGhhdCBsaXRlcmFsIGV4YW1wbGVzIHNob3VsZCBub3QgdXNlIEFzY2lpRG9jCisgZXNjYXBlcy4KKyAgIENvcnJlY3Q6CisgICAgICBgLS1wcmV0dHk9b25lbGluZWAKKyAgIEluY29ycmVjdDoKKyAgICAgIGBcLS1wcmV0dHk9b25lbGluZWAKKworIElmIHNvbWUgcGxhY2UgaW4gdGhlIGRvY3VtZW50YXRpb24gbmVlZHMgdG8gdHlwZXNldCBhIGNvbW1hbmQgdXNhZ2UKKyBleGFtcGxlIHdpdGggaW5saW5lIHN1YnN0aXR1dGlvbnMsIGl0IGlzIGZpbmUgdG8gdXNlICttb25vc3BhY2VkIGFuZAorIGlubGluZSBzdWJzdGl0dXRlZCB0ZXh0KyBpbnN0ZWFkIG9mIGBtb25vc3BhY2VkIGxpdGVyYWwgdGV4dGAsIGFuZCB3aXRoCisgdGhlIGZvcm1lciwgdGhlIHBhcnQgdGhhdCBzaG91bGQgbm90IGdldCBzdWJzdGl0dXRlZCBtdXN0IGJlCisgcXVvdGVkL2VzY2FwZWQuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL01ha2VmaWxlIGIvRG9jdW1lbnRhdGlvbi9NYWtlZmlsZQppbmRleCAwY2ZkYzM2Li5mYzZiMmNmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL01ha2VmaWxlCisrKyBiL0RvY3VtZW50YXRpb24vTWFrZWZpbGUKQEAgLTIsNiArMiw5IEBACiBNQU4xX1RYVCA9CiBNQU41X1RYVCA9CiBNQU43X1RYVCA9CitURUNIX0RPQ1MgPQorQVJUSUNMRVMgPQorU1BfQVJUSUNMRVMgPQogCiBNQU4xX1RYVCArPSAkKGZpbHRlci1vdXQgXAogCQkkKGFkZHN1ZmZpeCAudHh0LCAkKEFSVElDTEVTKSAkKFNQX0FSVElDTEVTKSksIFwKQEAgLTM3LDEyICs0MCwxMiBAQAogT0JTT0xFVEVfSFRNTCA9IGdpdC1yZW1vdGUtaGVscGVycy5odG1sCiBET0NfSFRNTCA9ICQoTUFOX0hUTUwpICQoT0JTT0xFVEVfSFRNTCkKIAotQVJUSUNMRVMgPSBob3d0by1pbmRleAorQVJUSUNMRVMgKz0gaG93dG8taW5kZXgKIEFSVElDTEVTICs9IGV2ZXJ5ZGF5CiBBUlRJQ0xFUyArPSBnaXQtdG9vbHMKIEFSVElDTEVTICs9IGdpdC1iaXNlY3QtbGsyMDA5CiAjIHdpdGggdGhlaXIgb3duIGZvcm1hdHRpbmcgcnVsZXMuCi1TUF9BUlRJQ0xFUyA9IHVzZXItbWFudWFsCitTUF9BUlRJQ0xFUyArPSB1c2VyLW1hbnVhbAogU1BfQVJUSUNMRVMgKz0gaG93dG8vbmV3LWNvbW1hbmQKIFNQX0FSVElDTEVTICs9IGhvd3RvL3JldmVydC1icmFuY2gtcmViYXNlCiBTUF9BUlRJQ0xFUyArPSBob3d0by91c2luZy1tZXJnZS1zdWJ0cmVlCkBAIC01MywxMyArNTYsMTUgQEAKIFNQX0FSVElDTEVTICs9IGhvd3RvL3NlcGFyYXRpbmctdG9waWMtYnJhbmNoZXMKIFNQX0FSVElDTEVTICs9IGhvd3RvL3JldmVydC1hLWZhdWx0eS1tZXJnZQogU1BfQVJUSUNMRVMgKz0gaG93dG8vcmVjb3Zlci1jb3JydXB0ZWQtYmxvYi1vYmplY3QKK1NQX0FSVElDTEVTICs9IGhvd3RvL3JlY292ZXItY29ycnVwdGVkLW9iamVjdC1oYXJkZXIKIFNQX0FSVElDTEVTICs9IGhvd3RvL3JlYnVpbGQtZnJvbS11cGRhdGUtaG9vawogU1BfQVJUSUNMRVMgKz0gaG93dG8vcmViYXNlLWZyb20taW50ZXJuYWwtYnJhbmNoCiBTUF9BUlRJQ0xFUyArPSBob3d0by9tYWludGFpbi1naXQKIEFQSV9ET0NTID0gJChwYXRzdWJzdCAlLnR4dCwlLCQoZmlsdGVyLW91dCB0ZWNobmljYWwvYXBpLWluZGV4LXNrZWwudHh0IHRlY2huaWNhbC9hcGktaW5kZXgudHh0LCAkKHdpbGRjYXJkIHRlY2huaWNhbC9hcGktKi50eHQpKSkKIFNQX0FSVElDTEVTICs9ICQoQVBJX0RPQ1MpCiAKLVRFQ0hfRE9DUyA9IHRlY2huaWNhbC9pbmRleC1mb3JtYXQKK1RFQ0hfRE9DUyArPSB0ZWNobmljYWwvaHR0cC1wcm90b2NvbAorVEVDSF9ET0NTICs9IHRlY2huaWNhbC9pbmRleC1mb3JtYXQKIFRFQ0hfRE9DUyArPSB0ZWNobmljYWwvcGFjay1mb3JtYXQKIFRFQ0hfRE9DUyArPSB0ZWNobmljYWwvcGFjay1oZXVyaXN0aWNzCiBURUNIX0RPQ1MgKz0gdGVjaG5pY2FsL3BhY2stcHJvdG9jb2wKQEAgLTEwMyw2ICsxMDgsNyBAQAogSU5TVEFMTF9JTkZPID0gaW5zdGFsbC1pbmZvCiBET0NCT09LMlhfVEVYSSA9IGRvY2Jvb2syeC10ZXhpCiBEQkxBVEVYID0gZGJsYXRleAorQVNDSUlET0NfREJMQVRFWF9ESVIgPSAvZXRjL2FzY2lpZG9jL2RibGF0ZXgKIGlmbmRlZiBQRVJMX1BBVEgKIAlQRVJMX1BBVEggPSAvdXNyL2Jpbi9wZXJsCiBlbmRpZgpAQCAtMzIyLDcgKzMyOCw3IEBACiAKIHVzZXItbWFudWFsLnhtbDogdXNlci1tYW51YWwudHh0IHVzZXItbWFudWFsLmNvbmYKIAkkKFFVSUVUX0FTQ0lJRE9DKSQoUk0pICRAKyAkQCAmJiBcCi0JJChBU0NJSURPQykgJChBU0NJSURPQ19FWFRSQSkgLWIgZG9jYm9vayAtZCBib29rIC1vICRAKyAkPCAmJiBcCisJJChBU0NJSURPQykgJChBU0NJSURPQ19FWFRSQSkgLWIgZG9jYm9vayAtZCBhcnRpY2xlIC1vICRAKyAkPCAmJiBcCiAJbXYgJEArICRACiAKIHRlY2huaWNhbC9hcGktaW5kZXgudHh0OiB0ZWNobmljYWwvYXBpLWluZGV4LXNrZWwudHh0IFwKQEAgLTM1NCw3ICszNjAsNyBAQAogCiB1c2VyLW1hbnVhbC5wZGY6IHVzZXItbWFudWFsLnhtbAogCSQoUVVJRVRfREJMQVRFWCkkKFJNKSAkQCsgJEAgJiYgXAotCSQoREJMQVRFWCkgLW8gJEArIC1wIC9ldGMvYXNjaWlkb2MvZGJsYXRleC9hc2NpaWRvYy1kYmxhdGV4LnhzbCAtcyAvZXRjL2FzY2lpZG9jL2RibGF0ZXgvYXNjaWlkb2MtZGJsYXRleC5zdHkgJDwgJiYgXAorCSQoREJMQVRFWCkgLW8gJEArIC1wICQoQVNDSUlET0NfREJMQVRFWF9ESVIpL2FzY2lpZG9jLWRibGF0ZXgueHNsIC1zICQoQVNDSUlET0NfREJMQVRFWF9ESVIpL2FzY2lpZG9jLWRibGF0ZXguc3R5ICQ8ICYmIFwKIAltdiAkQCsgJEAKIAogZ2l0bWFuLnRleGk6ICQoTUFOX1hNTCkgY2F0LXRleGkucGVybApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjcuMTEuMi50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNy4xMS4yLnR4dAppbmRleCBhMGQyNGQxLi5mMGNmZDAyIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNy4xMS4yLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNy4xMS4yLnR4dApAQCAtMzEsNyArMzEsNyBAQAogICogImdpdCBkaWZmIC0tbm8taW5kZXgiIGRpZCBub3Qgd29yayB3aXRoIHBhZ2VycyBjb3JyZWN0bHkuCiAKICAqICJnaXQgZGlmZiBDT1BZSU5HIEhFQUQ6Q09QWUlORyIgZ2F2ZSBhIG5vbnNlbnNlIGVycm9yIG1lc3NhZ2UgdGhhdAotICAgY2xhaW1lZCB0aGF0IHRoZSB0cmVlaXNoIEhFQUQgZGlkIG5vdCBoYXZlIENPUFlJTkcgaW4gaXQuCisgICBjbGFpbWVkIHRoYXQgdGhlIHRyZWUtaXNoIEhFQUQgZGlkIG5vdCBoYXZlIENPUFlJTkcgaW4gaXQuCiAKICAqIFdoZW4gImdpdCBsb2ciIGdldHMgIi0tc2ltcGxpZnktbWVyZ2VzL2J5LWRlY29yYXRpb24iIHRvZ2V0aGVyIHdpdGgKICAgICItLWZpcnN0LXBhcmVudCIsIHRoZSBjb21iaW5hdGlvbiBvZiB0aGVzZSBvcHRpb25zIG1ha2VzIHRoZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjguNS4xLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS44LjUuMS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzIzNmFhZgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS44LjUuMS50eHQKQEAgLTAsMCArMSw5IEBACitHaXQgdjEuOC41LjEgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT0KKworRml4ZXMgc2luY2UgdjEuOC41CistLS0tLS0tLS0tLS0tLS0tLS0KKworICogImdpdCBzdWJtb2R1bGUgaW5pdCIgY29waWVkICJzdWJtb2R1bGUuJG5hbWUudXBkYXRlIiBzZXR0aW5ncyBmcm9tCisgICAuZ2l0bW9kdWxlcyB0byAuZ2l0L2NvbmZpZyB3aXRob3V0IG1ha2luZyBzdXJlIGlmIHRoZSBzdWdnZXN0ZWQKKyAgIHZhbHVlIHdhcyBzZW5zaWJsZS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS44LjUuMi50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuOC41LjIudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhYzQ5ODQKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuOC41LjIudHh0CkBAIC0wLDAgKzEsMjAgQEAKK0dpdCB2MS44LjUuMiBSZWxlYXNlIE5vdGVzCis9PT09PT09PT09PT09PT09PT09PT09PT09PQorCitGaXhlcyBzaW5jZSB2MS44LjUuMQorLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICogImdpdCBkaWZmIC0tICc6KGljYXNlKW1ha2VmaWxlJyIgd2FzIHVubmVjZXNzYXJpbHkgcmVqZWN0ZWQgYXQgdGhlCisgICBjb21tYW5kIGxpbmUgcGFyc2VyLgorCisgKiAiZ2l0IGNhdC1maWxlIC0tYmF0Y2gtY2hlY2s9b2siIGRpZCBub3QgY2hlY2sgdGhlIGV4aXN0ZW5jZSBvZgorICAgdGhlIG5hbWVkIG9iamVjdC4KKworICogImdpdCBhbSAtLWFib3J0IiBzb21ldGltZXMgY29tcGxhaW5lZCBhYm91dCBub3QgYmVpbmcgYWJsZSB0byB3cml0ZQorICAgYSB0cmVlIHdpdGggYW4gMHs0MH0gb2JqZWN0IGluIGl0LgorCisgKiBUd28gcHJvY2Vzc2VzIGNyZWF0aW5nIGxvb3NlIG9iamVjdHMgYXQgdGhlIHNhbWUgdGltZSBjb3VsZCBoYXZlCisgICBmYWlsZWQgdW5uZWNlc3NhcmlseSB3aGVuIHRoZSBuYW1lIG9mIHRoZWlyIG5ldyBvYmplY3RzIHN0YXJ0ZWQKKyAgIHdpdGggdGhlIHNhbWUgYnl0ZSB2YWx1ZSwgZHVlIHRvIGEgcmFjZSBjb25kaXRpb24uCisKK0Fsc28gY29udGFpbnMgdHlwb2ZpeGVzLCBkb2N1bWVudGF0aW9uIHVwZGF0ZXMgYW5kIHRyaXZpYWwgY29kZSBjbGVhbi11cHMuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuOC41LjMudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjguNS4zLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZGUyZGQwCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjguNS4zLnR4dApAQCAtMCwwICsxLDI3IEBACitHaXQgdjEuOC41LjMgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT0KKworRml4ZXMgc2luY2UgdjEuOC41LjIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAqIFRoZSAiLS1bbm8tXWluZm9ybWF0aXZlLWVycm9ycyIgb3B0aW9ucyB0byAiZ2l0IGRhZW1vbiIgd2VyZSBwYXJzZWQKKyAgIGEgYml0IHRvbyBsb29zZWx5LCBhbGxvd2luZyBhbnkgb3RoZXIgc3RyaW5nIGFmdGVyIHRoZXNlIG9wdGlvbgorICAgbmFtZXMuCisKKyAqIEEgImdjIiBwcm9jZXNzIHJ1bm5pbmcgYXMgYSBkaWZmZXJlbnQgdXNlciBzaG91bGQgYmUgYWJsZSB0byBzdG9wIGEKKyAgIG5ldyAiZ2MiIHByb2Nlc3MgZnJvbSBzdGFydGluZy4KKworICogQW4gZWFybGllciAiY2xlYW4tdXAiIGludHJvZHVjZWQgYW4gdW5uZWNlc3NhcnkgbWVtb3J5IGxlYWsgdG8gdGhlCisgICBjcmVkZW50aWFsIHN1YnN5c3RlbS4KKworICogImdpdCBtdiBBIEIvIiwgd2hlbiBCIGRvZXMgbm90IGV4aXN0IGFzIGEgZGlyZWN0b3J5LCBzaG91bGQgZXJyb3IKKyAgIG91dCwgYnV0IGl0IGRpZG4ndC4KKworICogImdpdCByZXYtcGFyc2UgPHJldnM+IC0tIDxwYXRocz4iIGRpZCBub3QgaW1wbGVtZW50IHRoZSB1c3VhbAorICAgZGlzYW1iaWd1YXRpb24gcnVsZXMgdGhlIGNvbW1hbmRzIGluIHRoZSAiZ2l0IGxvZyIgZmFtaWx5IHVzZWQgaW4KKyAgIHRoZSBzYW1lIHdheS4KKworICogImdpdCBjYXQtZmlsZSAtLWJhdGNoPSIsIGFuIGFkbWl0dGVkbHkgdXNlbGVzcyBjb21tYW5kLCBkaWQgbm90CisgICBiZWhhdmUgdmVyeSB3ZWxsLgorCitBbHNvIGNvbnRhaW5zIHR5cG9maXhlcywgZG9jdW1lbnRhdGlvbiB1cGRhdGVzIGFuZCB0cml2aWFsIGNvZGUgY2xlYW4tdXBzLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjguNS40LnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS44LjUuNC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGIzYjNkMwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS44LjUuNC50eHQKQEAgLTAsMCArMSw0OCBAQAorR2l0IHYxLjguNS40IFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09CisKK0ZpeGVzIHNpbmNlIHYxLjguNS40CistLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgKiAiZ2l0IGZldGNoIC0tZGVwdGg9MCIgd2FzIGEgbm8tb3AsIGFuZCB3YXMgc2lsZW50bHkgaWdub3JlZC4KKyAgIERpYWdub3NlIGl0IGFzIGFuIGVycm9yLgorCisgKiBSZW1vdGUgcmVwb3NpdG9yeSBVUkwgZXhwcmVzc2VkIGluIHNjcC1zdHlsZSBob3N0OnBhdGggbm90YXRpb24gYXJlCisgICBwYXJzZWQgbW9yZSBjYXJlZnVsbHkgKGUuZy4gImZvby9iYXI6YmF6IiBpcyBsb2NhbCwgIls6OjFdOi9+dXNlciIgYXNrcworICAgdG8gY29ubmVjdCB0byB1c2VyJ3MgaG9tZSBkaXJlY3Rvcnkgb24gaG9zdCBhdCBhZGRyZXNzIDo6MS4KKworICogU1NMLXJlbGF0ZWQgb3B0aW9ucyB3ZXJlIG5vdCBwYXNzZWQgY29ycmVjdGx5IHRvIHVuZGVybHlpbmcgc29ja2V0CisgICBsYXllciBpbiAiZ2l0IHNlbmQtZW1haWwiLgorCisgKiAiZ2l0IGNvbW1pdCAtdiIgYXBwZW5kcyB0aGUgcGF0Y2ggdG8gdGhlIGxvZyBtZXNzYWdlIGJlZm9yZQorICAgZWRpdGluZywgYW5kIHRoZW4gcmVtb3ZlcyB0aGUgcGF0Y2ggd2hlbiB0aGUgZWRpdG9yIHJldHVybmVkCisgICBjb250cm9sLiBIb3dldmVyLCB0aGUgcGF0Y2ggd2FzIG5vdCBzdHJpcHBlZCBjb3JyZWN0bHkgd2hlbiB0aGUKKyAgIGZpcnN0IG1vZGlmaWVkIHBhdGggd2FzIGEgc3VibW9kdWxlLgorCisgKiAiZ2l0IG12IEEgQi8iLCB3aGVuIEIgZG9lcyBub3QgZXhpc3QgYXMgYSBkaXJlY3RvcnksIHNob3VsZCBlcnJvcgorICAgb3V0LCBidXQgaXQgZGlkbid0LgorCisgKiBXaGVuIHdlIGZpZ3VyZSBvdXQgaG93IG1hbnkgZmlsZSBkZXNjcmlwdG9ycyB0byBhbGxvY2F0ZSBmb3IKKyAgIGtlZXBpbmcgcGFja2ZpbGVzIG9wZW4sIGEgc3lzdGVtIHdpdGggbm9uLXdvcmtpbmcgZ2V0cmxpbWl0KCkgY291bGQKKyAgIGNhdXNlIHVzIHRvIGRpZSgpLCBidXQgYmVjYXVzZSB3ZSBtYWtlIHRoaXMgY2FsbCBvbmx5IHRvIGdldCBhCisgICByb3VnaCBlc3RpbWF0ZSBvZiBob3cgbWFueSBpcyBhdmFpbGFibGUgYW5kIHdlIGRvIG5vdCBldmVuIGF0dGVtcHQKKyAgIHRvIHVzZSB1cCBhbGwgZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUgb3Vyc2VsdmVzLCBpdCBpcyBuaWNlciB0bworICAgZmFsbCBiYWNrIHRvIGEgcmVhc29uYWJsZSBsb3cgdmFsdWUgcmF0aGVyIHRoYW4gZHlpbmcuCisKKyAqICJnaXQgbG9nIC0tZGVjb3JhdGUiIGRpZCBub3QgaGFuZGxlIGEgdGFnIHBvaW50ZWQgYnkgYW5vdGhlciB0YWcKKyAgIG5pY2VseS4KKworICogImdpdCBhZGQgLUEiIChubyBvdGhlciBhcmd1bWVudHMpIGluIGEgdG90YWxseSBlbXB0eSB3b3JraW5nIHRyZWUKKyAgIHVzZWQgdG8gZW1pdCBhbiBlcnJvci4KKworICogVGhlcmUgaXMgbm8gcmVhc29uIHRvIGhhdmUgYSBoYXJkY29kZWQgdXBwZXIgbGltaXQgb2YgdGhlIG51bWJlciBvZgorICAgcGFyZW50cyBmb3IgYW4gb2N0b3B1cyBtZXJnZSwgY3JlYXRlZCB2aWEgdGhlIGdyYWZ0IG1lY2hhbmlzbSwgYnV0CisgICB0aGVyZSB3YXMuCisKKyAqIFRoZSBpbXBsZW1lbnRhdGlvbiBvZiAnZ2l0IHN0YXNoICRjbWQgInN0YXNoQHsuLi59IicgZGlkIG5vdCBxdW90ZQorICAgdGhlIHN0YXNoIGFyZ3VtZW50IHByb3Blcmx5IGFuZCBsZWZ0IGl0IHNwbGl0IGF0IElGUyB3aGl0ZXNwYWNlLgorCisgKiBUaGUgZG9jdW1lbnRhdGlvbiB0byAiZ2l0IHB1bGwiIGhpbnRlZCB0aGVyZSBpcyBhbiAiLW0iIG9wdGlvbgorICAgYmVjYXVzZSBpdCBpbmNvcnJlY3RseSBzaGFyZWQgdGhlIGRvY3VtZW50YXRpb24gd2l0aCAiZ2l0IG1lcmdlIi4KKworQWxzbyBjb250YWlucyB0eXBvZml4ZXMsIGRvY3VtZW50YXRpb24gdXBkYXRlcyBhbmQgdHJpdmlhbCBjb2RlIGNsZWFuLXVwcy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS44LjUudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjguNS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjAyZGYwYwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS44LjUudHh0CkBAIC0wLDAgKzEsNDU2IEBACitHaXQgdjEuOC41IFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PQorCitCYWNrd2FyZCBjb21wYXRpYmlsaXR5IG5vdGVzIChmb3IgR2l0IDIuMCkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitXaGVuICJnaXQgcHVzaCBbJHRoZXJlXSIgZG9lcyBub3Qgc2F5IHdoYXQgdG8gcHVzaCwgd2UgaGF2ZSB1c2VkIHRoZQordHJhZGl0aW9uYWwgIm1hdGNoaW5nIiBzZW1hbnRpY3Mgc28gZmFyIChhbGwgeW91ciBicmFuY2hlcyB3ZXJlIHNlbnQKK3RvIHRoZSByZW1vdGUgYXMgbG9uZyBhcyB0aGVyZSBhbHJlYWR5IGFyZSBicmFuY2hlcyBvZiB0aGUgc2FtZSBuYW1lCitvdmVyIHRoZXJlKS4gIEluIEdpdCAyLjAsIHRoZSBkZWZhdWx0IHdpbGwgY2hhbmdlIHRvIHRoZSAic2ltcGxlIgorc2VtYW50aWNzLCB3aGljaCBwdXNoZXM6CisKKyAtIG9ubHkgdGhlIGN1cnJlbnQgYnJhbmNoIHRvIHRoZSBicmFuY2ggd2l0aCB0aGUgc2FtZSBuYW1lLCBhbmQgb25seQorICAgd2hlbiB0aGUgY3VycmVudCBicmFuY2ggaXMgc2V0IHRvIGludGVncmF0ZSB3aXRoIHRoYXQgcmVtb3RlCisgICBicmFuY2gsIGlmIHlvdSBhcmUgcHVzaGluZyB0byB0aGUgc2FtZSByZW1vdGUgYXMgeW91IGZldGNoIGZyb207IG9yCisKKyAtIG9ubHkgdGhlIGN1cnJlbnQgYnJhbmNoIHRvIHRoZSBicmFuY2ggd2l0aCB0aGUgc2FtZSBuYW1lLCBpZiB5b3UKKyAgIGFyZSBwdXNoaW5nIHRvIGEgcmVtb3RlIHRoYXQgaXMgbm90IHdoZXJlIHlvdSB1c3VhbGx5IGZldGNoIGZyb20uCisKK1VzZSB0aGUgdXNlciBwcmVmZXJlbmNlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgInB1c2guZGVmYXVsdCIgdG8KK2NoYW5nZSB0aGlzLiAgSWYgeW91IGFyZSBhbiBvbGQtdGltZXIgd2hvIGlzIHVzZWQgdG8gdGhlICJtYXRjaGluZyIKK3NlbWFudGljcywgeW91IGNhbiBzZXQgdGhlIHZhcmlhYmxlIHRvICJtYXRjaGluZyIgdG8ga2VlcCB0aGUKK3RyYWRpdGlvbmFsIGJlaGF2aW91ci4gIElmIHlvdSB3YW50IHRvIGxpdmUgaW4gdGhlIGZ1dHVyZSBlYXJseSwgeW91CitjYW4gc2V0IGl0IHRvICJzaW1wbGUiIHRvZGF5IHdpdGhvdXQgd2FpdGluZyBmb3IgR2l0IDIuMC4KKworV2hlbiAiZ2l0IGFkZCAtdSIgKGFuZCAiZ2l0IGFkZCAtQSIpIGlzIHJ1biBpbnNpZGUgYSBzdWJkaXJlY3RvcnkgYW5kCitkb2VzIG5vdCBzcGVjaWZ5IHdoaWNoIHBhdGhzIHRvIGFkZCBvbiB0aGUgY29tbWFuZCBsaW5lLCBpdAord2lsbCBvcGVyYXRlIG9uIHRoZSBlbnRpcmUgdHJlZSBpbiBHaXQgMi4wIGZvciBjb25zaXN0ZW5jeQord2l0aCAiZ2l0IGNvbW1pdCAtYSIgYW5kIG90aGVyIGNvbW1hbmRzLiAgVGhlcmUgd2lsbCBiZSBubworbWVjaGFuaXNtIHRvIG1ha2UgcGxhaW4gImdpdCBhZGQgLXUiIGJlaGF2ZSBsaWtlICJnaXQgYWRkIC11IC4iLgorQ3VycmVudCB1c2VycyBvZiAiZ2l0IGFkZCAtdSIgKHdpdGhvdXQgYSBwYXRoc3BlYykgc2hvdWxkIHN0YXJ0Cit0cmFpbmluZyB0aGVpciBmaW5nZXJzIHRvIGV4cGxpY2l0bHkgc2F5ICJnaXQgYWRkIC11IC4iCitiZWZvcmUgR2l0IDIuMCBjb21lcy4gIEEgd2FybmluZyBpcyBpc3N1ZWQgd2hlbiB0aGVzZSBjb21tYW5kcyBhcmUKK3J1biB3aXRob3V0IGEgcGF0aHNwZWMgYW5kIHdoZW4geW91IGhhdmUgbG9jYWwgY2hhbmdlcyBvdXRzaWRlIHRoZQorY3VycmVudCBkaXJlY3RvcnksIGJlY2F1c2UgdGhlIGJlaGF2aW91ciBpbiBHaXQgMi4wIHdpbGwgYmUgZGlmZmVyZW50Citmcm9tIHRvZGF5J3MgdmVyc2lvbiBpbiBzdWNoIGEgc2l0dWF0aW9uLgorCitJbiBHaXQgMi4wLCAiZ2l0IGFkZCA8cGF0aD4iIHdpbGwgYmVoYXZlIGFzICJnaXQgYWRkIC1BIDxwYXRoPiIsIHNvCit0aGF0ICJnaXQgYWRkIGRpci8iIHdpbGwgbm90aWNlIHBhdGhzIHlvdSByZW1vdmVkIGZyb20gdGhlIGRpcmVjdG9yeQorYW5kIHJlY29yZCB0aGUgcmVtb3ZhbC4gIFZlcnNpb25zIGJlZm9yZSBHaXQgMi4wLCBpbmNsdWRpbmcgdGhpcworcmVsZWFzZSwgd2lsbCBrZWVwIGlnbm9yaW5nIHJlbW92YWxzLCBidXQgdGhlIHVzZXJzIHdobyByZWx5IG9uIHRoaXMKK2JlaGF2aW91ciBhcmUgZW5jb3VyYWdlZCB0byBzdGFydCB1c2luZyAiZ2l0IGFkZCAtLWlnbm9yZS1yZW1vdmFsIDxwYXRoPiIKK25vdyBiZWZvcmUgMi4wIGlzIHJlbGVhc2VkLgorCitUaGUgZGVmYXVsdCBwcmVmaXggZm9yICJnaXQgc3ZuIiB3aWxsIGNoYW5nZSBpbiBHaXQgMi4wLiAgRm9yIGEgbG9uZwordGltZSwgImdpdCBzdm4iIGNyZWF0ZWQgaXRzIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyBkaXJlY3RseSB1bmRlcgorcmVmcy9yZW1vdGVzLCBidXQgaXQgd2lsbCBwbGFjZSB0aGVtIHVuZGVyIHJlZnMvcmVtb3Rlcy9vcmlnaW4vIHVubGVzcworaXQgaXMgdG9sZCBvdGhlcndpc2Ugd2l0aCBpdHMgLS1wcmVmaXggb3B0aW9uLgorCisKK1VwZGF0ZXMgc2luY2UgdjEuOC40CistLS0tLS0tLS0tLS0tLS0tLS0tLQorCitGb3JlaWduIGludGVyZmFjZXMsIHN1YnN5c3RlbXMgYW5kIHBvcnRzLgorCisgKiAiZ2l0LXN2biIgaGFzIGJlZW4gdGF1Z2h0IHRvIHVzZSB0aGUgc2VyZiBsaWJyYXJ5LCB3aGljaCBpcyB0aGUKKyAgIG9ubHkgb3B0aW9uIFNWTiAxLjguMCBvZmZlcnMgdXMgd2hlbiB0YWxraW5nIHRoZSBIVFRQIHByb3RvY29sLgorCisgKiAiZ2l0LXN2biIgdGFsa2luZyBvdmVyIGFuIGh0dHBzOi8vIGNvbm5lY3Rpb24gdXNpbmcgdGhlIHNlcmYgbGlicmFyeQorICAgZHVtcGVkIGNvcmUgZHVlIHRvIGEgYnVnIGluIHRoZSBzZXJmIGxpYnJhcnkgdGhhdCBTVk4gdXNlcy4gIFdvcmsKKyAgIGFyb3VuZCBpdCBvbiBvdXIgc2lkZSwgZXZlbiB0aG91Z2ggdGhlIFNWTiBzaWRlIGlzIGJlaW5nIGZpeGVkLgorCisgKiBPbiBNYWNPUyBYLCB3ZSBkZXRlY3RlZCBpZiB0aGUgZmlsZXN5c3RlbSBuZWVkcyB0aGUgInByZS1jb21wb3NlZAorICAgdW5pY29kZSBzdHJpbmdzIiB3b3JrYXJvdW5kLCBidXQgZGlkIG5vdCBhdXRvbWF0aWNhbGx5IGVuYWJsZSBpdC4KKyAgIE5vdyB3ZSBkby4KKworICogcmVtb3RlLWhnIHJlbW90ZSBoZWxwZXIgbWlzYmVoYXZlZCB3aGVuIGludGVyYWN0aW5nIHdpdGggYSBsb2NhbCBIZworICAgcmVwb3NpdG9yeSByZWxhdGl2ZSB0byB0aGUgaG9tZSBkaXJlY3RvcnksIGUuZy4gImNsb25lIGhnOjp+L3RoZXJlIi4KKworICogaW1hcC1zZW5kIHBvcnRlZCB0byBPUyBYIHVzZXMgQXBwbGUncyBzZWN1cml0eSBmcmFtZXdvcmsgaW5zdGVhZCBvZgorICAgT3BlblNTTCdzLgorCisgKiAiZ2l0IGZhc3QtaW1wb3J0IiB0cmVhdHMgYW4gZW1wdHkgcGF0aCBnaXZlbiB0byAibHMiIGFzIHRoZSByb290IG9mCisgICB0aGUgdHJlZS4KKworCitVSSwgV29ya2Zsb3dzICYgRmVhdHVyZXMKKworICogeGRnLW9wZW4gY2FuIGJlIHVzZWQgYXMgYSBicm93c2VyIGJhY2tlbmQgZm9yICJnaXQgd2ViLWJyb3dzZSIKKyAgIChoZW5jZSB0byBzaG93ICJnaXQgaGVscCAtdyIgb3V0cHV0KSwgd2hlbiBhdmFpbGFibGUuCisKKyAqICJnaXQgZ3JlcCIgYW5kICJnaXQgc2hvdyIgcGF5IGF0dGVudGlvbiB0byB0aGUgIi0tdGV4dGNvbnYiIG9wdGlvbgorICAgd2hlbiB0aGVzZSBjb21tYW5kcyBhcmUgdG9sZCB0byBvcGVyYXRlIG9uIGJsb2Igb2JqZWN0cyAoZS5nLiAiZ2l0CisgICBncmVwIC1lIHBhdHRlcm4gLS10ZXh0Y29udiBIRUFEOk1ha2VmaWxlIikuCisKKyAqICJnaXQgcmVwbGFjZSIgaGVscGVyIG5vIGxvbmdlciBhbGxvd3MgYW4gb2JqZWN0IHRvIGJlIHJlcGxhY2VkIHdpdGgKKyAgIGFub3RoZXIgb2JqZWN0IG9mIGEgZGlmZmVyZW50IHR5cGUgdG8gYXZvaWQgY29uZnVzaW9uICh5b3UgY2FuCisgICBzdGlsbCBtYW51YWxseSBjcmFmdCBzdWNoIGEgcmVwbGFjZW1lbnQgdXNpbmcgImdpdCB1cGRhdGUtcmVmIiwgYXMgYW4KKyAgIGVzY2FwZSBoYXRjaCkuCisKKyAqICJnaXQgc3RhdHVzIiBubyBsb25nZXIgcHJpbnRzIHRoZSBkaXJ0eSBzdGF0dXMgaW5mb3JtYXRpb24gb2YKKyAgIHN1Ym1vZHVsZXMgZm9yIHdoaWNoIHN1Ym1vZHVsZS4kbmFtZS5pZ25vcmUgaXMgc2V0IHRvICJhbGwiLgorCisgKiAiZ2l0IHJlYmFzZSAtaSIgaG9ub3VycyBjb3JlLmFiYnJldiB3aGVuIHByZXBhcmluZyB0aGUgaW5zbiBzaGVldAorICAgZm9yIGVkaXRpbmcuCisKKyAqICJnaXQgc3RhdHVzIiBkdXJpbmcgYSBjaGVycnktcGljayBzaG93cyB3aGljaCBvcmlnaW5hbCBjb21taXQgaXMKKyAgIGJlaW5nIHBpY2tlZC4KKworICogSW5zdGVhZCBvZiB0eXBpbmcgZm91ciBjYXBpdGFsIGxldHRlcnMgIkhFQUQiLCB5b3UgY2FuIHNheSAiQCIgbm93LAorICAgZS5nLiAiZ2l0IGxvZyBAIi4KKworICogImdpdCBjaGVjay1pZ25vcmUiIGZvbGxvd3MgdGhlIHNhbWUgcnVsZSBhcyAiZ2l0IGFkZCIgYW5kICJnaXQKKyAgIHN0YXR1cyIgaW4gdGhhdCB0aGUgaWdub3JlL2V4Y2x1ZGUgbWVjaGFuaXNtIGRvZXMgbm90IHRha2UgZWZmZWN0CisgICBvbiBwYXRocyB0aGF0IGFyZSBhbHJlYWR5IHRyYWNrZWQuICBXaXRoIHRoZSAiLS1uby1pbmRleCIgb3B0aW9uLCBpdAorICAgY2FuIGJlIHVzZWQgdG8gZGlhZ25vc2Ugd2hpY2ggcGF0aHMgdGhhdCBzaG91bGQgaGF2ZSBiZWVuIGlnbm9yZWQKKyAgIGhhdmUgYmVlbiBtaXN0YWtlbmx5IGFkZGVkIHRvIHRoZSBpbmRleC4KKworICogU29tZSBpcnJlbGV2YW50ICJhZHZpY2UiIG1lc3NhZ2VzIHRoYXQgYXJlIHNoYXJlZCB3aXRoICJnaXQgc3RhdHVzIgorICAgb3V0cHV0IGhhdmUgYmVlbiByZW1vdmVkIGZyb20gdGhlIGNvbW1pdCBsb2cgdGVtcGxhdGUuCisKKyAqICJ1cGRhdGUtcmVmcyIgbGVhcm5lZCBhICItLXN0ZGluIiBvcHRpb24gdG8gcmVhZCBtdWx0aXBsZSB1cGRhdGUKKyAgIHJlcXVlc3RzIGFuZCBwZXJmb3JtIHRoZW0gaW4gYW4gYWxsLW9yLW5vbmUgZmFzaGlvbi4KKworICogSnVzdCBsaWtlICJtYWtlIC1DIDxkaXJlY3Rvcnk+IiwgImdpdCAtQyA8ZGlyZWN0b3J5PiAuLi4iIHRlbGxzIEdpdAorICAgdG8gZ28gdGhlcmUgYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UuCisKKyAqIEp1c3QgbGlrZSAiZ2l0IGNoZWNrb3V0IC0iIGtub3dzIHRvIGNoZWNrIG91dCwgYW5kICJnaXQgbWVyZ2UgLSIKKyAgIGtub3dzIHRvIG1lcmdlLCB0aGUgYnJhbmNoIHlvdSB3ZXJlIHByZXZpb3VzbHkgb24sICJnaXQgY2hlcnJ5LXBpY2siCisgICBub3cgdW5kZXJzdGFuZHMgImdpdCBjaGVycnktcGljayAtIiB0byBwaWNrIGZyb20gdGhlIHByZXZpb3VzCisgICBicmFuY2guCisKKyAqICJnaXQgc3RhdHVzIiBub3cgb21pdHMgdGhlIHByZWZpeCB0byBtYWtlIGl0cyBvdXRwdXQgYSBjb21tZW50IGluIGEKKyAgIGNvbW1pdCBsb2cgZWRpdG9yLCB3aGljaCBpcyBub3QgbmVjZXNzYXJ5IGZvciBodW1hbiBjb25zdW1wdGlvbi4KKyAgIFNjcmlwdHMgdGhhdCBwYXJzZSB0aGUgb3V0cHV0IG9mICJnaXQgc3RhdHVzIiBhcmUgYWR2aXNlZCB0byB1c2UKKyAgICJnaXQgc3RhdHVzIC0tcG9yY2VsYWluIiBpbnN0ZWFkLCBhcyBpdHMgZm9ybWF0IGlzIHN0YWJsZSBhbmQgZWFzaWVyCisgICB0byBwYXJzZS4KKworICogVGhlIHJlZiBzeW50YXggImZvb157dGFnfSIgKHdpdGggdGhlIGxpdGVyYWwgc3RyaW5nICJ7dGFnfSIpIHBlZWxzIGEKKyAgIHRhZyByZWYgdG8gaXRzZWxmLCBpLmUuIGl0J3MgYSBuby1vcC4sIGFuZCBmYWlscyBpZgorICAgImZvbyIgaXMgbm90IGEgdGFnLiAgImdpdCByZXYtcGFyc2UgLS12ZXJpZnkgdjEuMF57dGFnfSIgaXMKKyAgIGEgbW9yZSBjb252ZW5pZW50IHdheSB0aGFuICJ0ZXN0ICQoZ2l0IGNhdC1maWxlIC10IHYxLjApID0gdGFnIiB0bworICAgY2hlY2sgaWYgdjEuMCBpcyBhIHRhZy4KKworICogImdpdCBicmFuY2ggLXYgLXYiIChhbmQgImdpdCBzdGF0dXMiKSBkaWQgbm90IGRpc3Rpbmd1aXNoIGFtb25nIGEKKyAgIGJyYW5jaCB0aGF0IGlzIG5vdCBiYXNlZCBvbiBhbnkgb3RoZXIgYnJhbmNoLCBhIGJyYW5jaCB0aGF0IGlzIGluCisgICBzeW5jIHdpdGggaXRzIHVwc3RyZWFtIGJyYW5jaCwgYW5kIGEgYnJhbmNoIHRoYXQgaXMgY29uZmlndXJlZCB3aXRoIGFuCisgICB1cHN0cmVhbSBicmFuY2ggdGhhdCBubyBsb25nZXIgZXhpc3RzLgorCisgKiBFYXJsaWVyIHdlIHN0YXJ0ZWQgcmVqZWN0aW5nIGFueSBhdHRlbXB0IHRvIGFkZCB0aGUgMHs0MH0gb2JqZWN0IG5hbWUgdG8KKyAgIHRoZSBpbmRleCBhbmQgdG8gdHJlZSBvYmplY3RzLCBidXQgaXQgc29tZXRpbWVzIGlzIG5lY2Vzc2FyeSB0bworICAgYWxsb3cgdGhpcyB0byBiZSBhYmxlIHRvIHVzZSB0b29scyBsaWtlIGZpbHRlci1icmFuY2ggdG8gY29ycmVjdCBzdWNoCisgICBicm9rZW4gdHJlZSBvYmplY3RzLiAgImZpbHRlci1icmFuY2giIGNhbiBhZ2FpbiBiZSB1c2VkIHRvIGRvIHRoaXMuCisKKyAqICJnaXQgY29uZmlnIiBkaWQgbm90IHByb3ZpZGUgYSB3YXkgdG8gc2V0IG9yIGFjY2VzcyBudW1iZXJzIGxhcmdlcgorICAgdGhhbiBhIG5hdGl2ZSAiaW50IiBvbiB0aGUgcGxhdGZvcm07IGl0IG5vdyBwcm92aWRlcyA2NC1iaXQgc2lnbmVkCisgICBpbnRlZ2VycyBvbiBhbGwgcGxhdGZvcm1zLgorCisgKiAiZ2l0IHB1bGwgLS1yZWJhc2UiIGFsd2F5cyBjaG9zZSB0byBkbyB0aGUgYm9nLXN0YW5kYXJkIGZsYXR0ZW5pbmcKKyAgIHJlYmFzZS4gIFlvdSBjYW4gdGVsbCBpdCB0byBydW4gInJlYmFzZSAtLXByZXNlcnZlLW1lcmdlcyIgd2l0aAorICAgImdpdCBwdWxsIC0tcmViYXNlPXByZXNlcnZlIiBvciBieQorICAgc2V0dGluZyAicHVsbC5yZWJhc2UiIGNvbmZpZ3VyYXRpb24gdG8gInByZXNlcnZlIi4KKworICogImdpdCBwdXNoIC0tbm8tdGhpbiIgYWN0dWFsbHkgZGlzYWJsZXMgdGhlICJ0aGluIHBhY2sgdHJhbnNmZXIiCisgICBvcHRpbWl6YXRpb24uCisKKyAqIE1hZ2ljIHBhdGhzcGVjcyBsaWtlICI6KGljYXNlKW1ha2VmaWxlIiAobWF0Y2hlcyBib3RoIE1ha2VmaWxlCisgICBhbmQgbWFrZWZpbGUpIGFuZCAiOihnbG9iKWZvby8qKi9iYXIiIChtYXRjaGVzICJiYXIiIGluICJmb28iCisgICBhbmQgYW55IHN1YmRpcmVjdG9yeSBvZiAiZm9vIikgY2FuIGJlIHVzZWQgaW4gbW9yZSBwbGFjZXMuCisKKyAqIFRoZSAiaHR0cC4qIiB2YXJpYWJsZXMgY2FuIG5vdyBiZSBzcGVjaWZpZWQgZm9yIGluZGl2aWR1YWwgVVJMcy4KKyAgIEZvciBleGFtcGxlLAorCisgICBbaHR0cF0KKyAgICAgICBzc2xWZXJpZnkgPSB0cnVlCisgICBbaHR0cCAiaHR0cHM6Ly93ZWFrLmV4YW1wbGUuY29tLyJdCisgICAgICAgc3NsVmVyaWZ5ID0gZmFsc2UKKworICAgd291bGQgZmxpcCBodHRwLnNzbFZlcmlmeSBvZmYgb25seSB3aGVuIHRhbGtpbmcgdG8gdGhhdCBzcGVjaWZpYworICAgc2l0ZS4KKworICogImdpdCBtdiBBIEIiIHdoZW4gbW92aW5nIGEgc3VibW9kdWxlIGhhcyBiZWVuIHRhdWdodCB0bworICAgcmVsb2NhdGUgdGhlIHN1Ym1vZHVsZSdzIHdvcmtpbmcgdHJlZSBhbmQgdG8gYWRqdXN0IHRoZSBwYXRocyBpbiB0aGUKKyAgIC5naXRtb2R1bGVzIGZpbGUuCisKKyAqICJnaXQgYmxhbWUiIGNhbiBub3cgdGFrZSBtb3JlIHRoYW4gb25lIC1MIG9wdGlvbiB0byBkaXNjb3ZlciB0aGUKKyAgIG9yaWdpbiBvZiBtdWx0aXBsZSBibG9ja3Mgb2YgbGluZXMuCisKKyAqIFRoZSBodHRwIHRyYW5zcG9ydCBjbGllbnRzIGNhbiBvcHRpb25hbGx5IGFzayB0byBzYXZlIGNvb2tpZXMKKyAgIHdpdGggdGhlIGh0dHAuc2F2ZWNvb2tpZXMgY29uZmlndXJhdGlvbiB2YXJpYWJsZS4KKworICogImdpdCBwdXNoIiBsZWFybmVkIGEgbW9yZSBmaW5lIGdyYWluZWQgY29udHJvbCBvdmVyIGEgYmx1bnQKKyAgICItLWZvcmNlIiB3aGVuIHJlcXVlc3RpbmcgYSBub24tZmFzdC1mb3J3YXJkIHVwZGF0ZSB3aXRoIHRoZQorICAgIi0tZm9yY2Utd2l0aC1sZWFzZT08cmVmbmFtZT46PGV4cGVjdGVkIG9iamVjdCBuYW1lPiIgb3B0aW9uLgorCisgKiAiZ2l0IGRpZmYgLS1kaWZmLWZpbHRlcj08Y2xhc3NlcyBvZiBjaGFuZ2VzPiIgY2FuIG5vdyB0YWtlCisgICBsb3dlcmNhc2UgbGV0dGVycyAoZS5nLiAiLS1kaWZmLWZpbHRlcj1kIikgdG8gbWVhbiAic2hvdworICAgZXZlcnl0aGluZyBidXQgdGhlc2UgY2xhc3NlcyIuICAiZ2l0IGRpZmYtZmlsZXMgLXEiIGlzIG5vdyBhCisgICBkZXByZWNhdGVkIHN5bm9ueW0gZm9yICJnaXQgZGlmZi1maWxlcyAtLWRpZmYtZmlsdGVyPWQiLgorCisgKiAiZ2l0IGZldGNoIiAoaGVuY2UgImdpdCBwdWxsIiBhcyB3ZWxsKSBsZWFybmVkIHRvIGNoZWNrCisgICAiZmV0Y2gucHJ1bmUiIGFuZCAicmVtb3RlLioucHJ1bmUiIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzIGFuZAorICAgdG8gYmVoYXZlIGFzIGlmIHRoZSAiLS1wcnVuZSIgY29tbWFuZCBsaW5lIG9wdGlvbiB3YXMgZ2l2ZW4uCisKKyAqICJnaXQgY2hlY2staWdub3JlIC16IiBhcHBsaWVkIHRoZSBOVUwgdGVybWluYXRpb24gdG8gYm90aCBpdHMgaW5wdXQKKyAgICh3aXRoIC0tc3RkaW4pIGFuZCBpdHMgb3V0cHV0LCBidXQgImdpdCBjaGVjay1hdHRyIC16IiBpZ25vcmVkIHRoZQorICAgb3B0aW9uIG9uIHRoZSBvdXRwdXQgc2lkZS4gTWFrZSBib3RoIGhvbm9yIC16IG9uIHRoZSBpbnB1dCBhbmQKKyAgIG91dHB1dCBzaWRlIHRoZSBzYW1lIHdheS4KKworICogImdpdCB3aGF0Y2hhbmdlZCIgbWF5IHN0aWxsIGJlIHVzZWQgYnkgb2xkIHRpbWVycywgYnV0IG1lbnRpb24gb2YKKyAgIGl0IGluIGRvY3VtZW50cyBtZWFudCBmb3IgbmV3IHVzZXJzIHdpbGwgb25seSB3YXN0ZSByZWFkZXJzJyB0aW1lCisgICB3b25kZXJpbmcgd2hhdCB0aGUgZGlmZmVyZW5jZSBpcyBiZXR3ZWVuIGl0IGFuZCAiZ2l0IGxvZyIuICBNYWtlIGl0CisgICBsZXNzIHByb21pbmVudCBpbiB0aGUgZ2VuZXJhbCBwYXJ0IG9mIHRoZSBkb2N1bWVudGF0aW9uIGFuZCBleHBsYWluCisgICB0aGF0IGl0IGlzIG1lcmVseSBhICJnaXQgbG9nIiB3aXRoIGRpZmZlcmVudCBkZWZhdWx0IGJlaGF2aW91ciBpbgorICAgaXRzIG93biBkb2N1bWVudC4KKworCitQZXJmb3JtYW5jZSwgSW50ZXJuYWwgSW1wbGVtZW50YXRpb24sIGV0Yy4KKworICogImdpdCBmb3ItZWFjaC1yZWYiIHdoZW4gYXNraW5nIGZvciBtZXJlbHkgdGhlIG9iamVjdCBuYW1lIGRvZXMgbm90CisgICBoYXZlIHRvIHBhcnNlIHRoZSBvYmplY3QgcG9pbnRlZCBhdCBieSB0aGUgcmVmczsgdGhlIGNvZGVwYXRoIGhhcworICAgYmVlbiBvcHRpbWl6ZWQuCisKKyAqIFRoZSBIVFRQIHRyYW5zcG9ydCB3aWxsIHRyeSB0byB1c2UgVENQIGtlZXBhbGl2ZSB3aGVuIGFibGUuCisKKyAqICJnaXQgcmVwYWNrIiBpcyBub3cgd3JpdHRlbiBpbiBDLgorCisgKiBCdWlsZCBwcm9jZWR1cmUgZm9yIE1TVkMgaGFzIGJlZW4gdXBkYXRlZC4KKworICogSWYgYSBidWlsZC10aW1lIGZhbGxiYWNrIGlzIHNldCB0byAiY2F0IiBpbnN0ZWFkIG9mICJsZXNzIiwgd2UKKyAgIHNob3VsZCBhcHBseSB0aGUgc2FtZSAibm8gc3VicHJvY2VzcyBvciBwaXBlIiBvcHRpbWl6YXRpb24gYXMgd2UKKyAgIGFwcGx5IHRvIHVzZXItc3VwcGxpZWQgR0lUX1BBR0VSPWNhdC4KKworICogTWFueSBjb21tYW5kcyB1c2UgYSAtLWRhc2hlZC1vcHRpb24gYXMgYW4gb3BlcmF0aW9uIG1vZGUgc2VsZWN0b3IKKyAgIChlLmcuICJnaXQgdGFnIC0tZGVsZXRlIikgdGhhdCBleGNsdWRlcyBvdGhlciBvcGVyYXRpb24gbW9kZXMKKyAgIChlLmcuICJnaXQgdGFnIC0tZGVsZXRlIC0tdmVyaWZ5IiBpcyBub25zZW5zZSkgYW5kIHRoYXQgY2Fubm90IGJlCisgICBuZWdhdGVkIChlLmcuICJnaXQgdGFnIC0tbm8tZGVsZXRlIiBpcyBub25zZW5zZSkuICBUaGUgcGFyc2Utb3B0aW9ucworICAgQVBJIGxlYXJuZWQgYSBuZXcgT1BUX0NNRE1PREUgbWFjcm8gdG8gbWFrZSBpdCBlYXNpZXIgdG8gaW1wbGVtZW50CisgICBzdWNoIGEgc2V0IG9mIG9wdGlvbnMuCisKKyAqIE9QVF9CT09MRUFOKCkgaW4gdGhlIHBhcnNlLW9wdGlvbnMgQVBJIHdhcyBtaXNkZXNpZ25lZCB0byBiZSAiY291bnRpbmcKKyAgIHVwIiBidXQgbWFueSBzdWJjb21tYW5kcyBleHBlY3QgaXQgdG8gYmVoYXZlIGFzICJvbi9vZmYiLiBVcGRhdGUKKyAgIHRoZW0gdG8gdXNlIE9QVF9CT09MKCkgd2hpY2ggaXMgYSBwcm9wZXIgYm9vbGVhbi4KKworICogImdpdCBnYyIgZXhpdHMgZWFybHkgd2l0aG91dCBkb2luZyBhbnkgd29yayB3aGVuIGl0IGRldGVjdHMKKyAgIHRoYXQgYW5vdGhlciBpbnN0YW5jZSBvZiBpdHNlbGYgaXMgYWxyZWFkeSBydW5uaW5nLgorCisgKiBVbmRlciBtZW1vcnkgcHJlc3N1cmUgYW5kL29yIGZpbGUgZGVzY3JpcHRvciBwcmVzc3VyZSwgd2UgdXNlZCB0bworICAgY2xvc2UgcGFjayB3aW5kb3dzIHRoYXQgYXJlIG5vdCB1c2VkIGFuZCBhbHNvIGNsb3NlZCBmaWxlaGFuZGxlcyB0bworICAgb3BlbiBidXQgdW51c2VkIHBhY2tmaWxlcy4gVGhlc2UgYXJlIG5vdyBjb250cm9sbGVkIHNlcGFyYXRlbHkKKyAgIHRvIGJldHRlciBjb3BlIHdpdGggdGhlIGxvYWQuCisKK0Fsc28gY29udGFpbnMgdmFyaW91cyBkb2N1bWVudGF0aW9uIHVwZGF0ZXMgYW5kIGNvZGUgY2xlYW4tdXBzLgorCisKK0ZpeGVzIHNpbmNlIHYxLjguNAorLS0tLS0tLS0tLS0tLS0tLS0tCisKK1VubGVzcyBvdGhlcndpc2Ugbm90ZWQsIGFsbCB0aGUgZml4ZXMgc2luY2UgdjEuOC40IGluIHRoZSBtYWludGVuYW5jZQordHJhY2sgYXJlIGNvbnRhaW5lZCBpbiB0aGlzIHJlbGVhc2UgKHNlZSB0aGUgbWFpbnRlbmFuY2UgcmVsZWFzZXMnIG5vdGVzIGZvcgorZGV0YWlscykuCisKKyAqIEFuIGFuY2llbnQgSG93LVRvIG9uIHNlcnZpbmcgR2l0IHJlcG9zaXRvcmllcyBvbiBhbiBIVFRQIHNlcnZlcgorICAgbGFja2VkIGEgd2FybmluZyB0aGF0IGl0IGhhcyBiZWVuIG1vc3RseSBzdXBlcnNlZGVkIHdpdGggYSBtb3JlCisgICBtb2Rlcm4gd2F5LgorICAgKG1lcmdlIDZkNTJiYzMgc2MvZG9jLWhvd3RvLWR1bWItaHR0cCBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBpbnRlcmFjdGlvbiBiZXR3ZWVuIHRoZSB1c2Ugb2YgUGVybCBpbiBvdXIgdGVzdCBzdWl0ZSBhbmQgTk9fUEVSTAorICAgaGFzIGJlZW4gY2xhcmlmaWVkIGEgYml0LgorICAgKG1lcmdlIGY4ZmMwZWUgam4vdGVzdC1wcmVyZXEtcGVybC1kb2MgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgc3lub3BzaXMgc2VjdGlvbiBvZiB0aGUgImdpdCB1bnBhY2stb2JqZWN0cyIgZG9jdW1lbnRhdGlvbiBoYXMgYmVlbgorICAgY2xhcmlmaWVkIGEgYml0LgorICAgKG1lcmdlIDYxZTJlMjIgdmQvZG9jLXVucGFjay1vYmplY3RzIGxhdGVyIHRvIG1haW50KS4KKworICogV2UgZGlkIG5vdCBnZW5lcmF0ZSB0aGUgSFRNTCB2ZXJzaW9uIG9mIHRoZSBkb2N1bWVudGF0aW9uIHRvICJnaXQgc3VidHJlZSIKKyAgIGluIGNvbnRyaWIvLgorICAgKG1lcmdlIDk1YzYyZmIgamsvc3VidHJlZS1pbnN0YWxsLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIEEgZmFzdC1pbXBvcnQgc3RyZWFtIGV4cHJlc3NlcyBhIHBhdGhuYW1lIHdpdGggZnVubnkgY2hhcmFjdGVycyBieQorICAgcXVvdGluZyB0aGVtIGluIEMgc3R5bGU7IHRoZSByZW1vdGUtaGcgcmVtb3RlIGhlbHBlciBmb3Jnb3QgdG8gdW5xdW90ZQorICAgc3VjaCBhIHBhdGguCisgICAobWVyZ2UgMTEzNjI2NSBhcC9yZW1vdGUtaGctdW5xdW90ZS1jcXVvdGUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IHJlc2V0IC1wIEhFQUQiIGhhcyBhIGNvZGVwYXRoIHRvIHNwZWNpYWwtY2FzZSBpdCB0byBiZWhhdmUKKyAgIGRpZmZlcmVudGx5IGZyb20gcmVzZXR0aW5nIHRvIGNvbnRlbnRzIG9mIG90aGVyIGNvbW1pdHMsIGJ1dCBhCisgICByZWNlbnQgY2hhbmdlIGJyb2tlIGl0LgorCisgKiBDb2xvcmluZyBhcm91bmQgb2N0b3B1cyBtZXJnZXMgaW4gImxvZyAtLWdyYXBoIiBvdXRwdXQgd2FzIHNjcmV3eS4KKyAgIChtZXJnZSAzMzljMTdiIGhuL2xvZy1ncmFwaC1jb2xvci1vY3RvcHVzIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBjaGVja291dCB0b3BpYyIsIHdoZW4gdGhlcmUgaXMgbm90IHlldCBhIGxvY2FsICJ0b3BpYyIgYnJhbmNoCisgICBidXQgdGhlcmUgaXMgYSB1bmlxdWUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgYSByZW1vdGUgInRvcGljIgorICAgYnJhbmNoLCBwcmV0ZW5kZWQgYXMgaWYgImdpdCBjaGVja291dCAtdCAtYiB0b3BpYyByZW1vdGUvJHIvdG9waWMiCisgICAoZm9yIHRoYXQgdW5pcXVlIHJlbW90ZSAkcikgd2FzIHJ1bi4gVGhpcyBoYWNrIGhvd2V2ZXIgd2FzIG5vdAorICAgaW1wbGVtZW50ZWQgZm9yICJnaXQgY2hlY2tvdXQgdG9waWMgLS0iLgorICAgKG1lcmdlIGJjYTM5NjkgbW0vY2hlY2tvdXQtYXV0by10cmFjay1maXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBPbmUgbG9uZy1zdGFuZGluZyBmbGF3IGluIHRoZSBwYWNrIHRyYW5zZmVyIHByb3RvY29sIHVzZWQgYnkgImdpdAorICAgY2xvbmUiIHdhcyB0aGF0IHRoZXJlIHdhcyBubyB3YXkgdG8gdGVsbCB0aGUgb3RoZXIgZW5kIHdoaWNoIGJyYW5jaAorICAgIkhFQUQiIHBvaW50cyBhdCwgYW5kIHRoZSByZWNlaXZpbmcgZW5kIG5lZWRlZCB0byBndWVzcy4gIEEgbmV3CisgICBjYXBhYmlsaXR5IGhhcyBiZWVuIGRlZmluZWQgaW4gdGhlIHBhY2sgcHJvdG9jb2wgdG8gY29udmV5IHRoaXMKKyAgIGluZm9ybWF0aW9uIHNvIHRoYXQgY2xvbmluZyBmcm9tIGEgcmVwb3NpdG9yeSB3aXRoIG1vcmUgdGhhbiBvbmUKKyAgIGJyYW5jaCBwb2ludGluZyBhdCB0aGUgc2FtZSBjb21taXQgd2hlcmUgdGhlIEhFQUQgaXMgYXQgbm93CisgICByZWxpYWJseSBzZXRzIHRoZSBpbml0aWFsIGJyYW5jaCBpbiB0aGUgcmVzdWx0aW5nIHJlcG9zaXRvcnkuCisgICAobWVyZ2UgMzYwYTMyNiBqYy91cGxvYWQtcGFjay1zZW5kLXN5bXJlZiBsYXRlciB0byBtYWludCkuCisKKyAqIFdlIGRpZCBub3QgaGFuZGxlIGNhc2VzIHdoZXJlIHRoZSBodHRwIHRyYW5zcG9ydCBnZXRzIHJlZGlyZWN0ZWQgZHVyaW5nCisgICB0aGUgYXV0aG9yaXphdGlvbiByZXF1ZXN0IChlLmcuIGZyb20gaHR0cDovLyB0byBodHRwczovLykuCisgICAobWVyZ2UgNzA5MDBlZCBqay9odHRwLWF1dGgtcmVkaXJlY3RzIGxhdGVyIHRvIG1haW50KS4KKworICogQmFzaCBwcm9tcHRpbmcgY29kZSB0byBkZWFsIHdpdGggYW4gU1ZOIHJlbW90ZSBhcyBhbiB1cHN0cmVhbQorICAgd2FzIGNvZGVkIGluIGEgd2F5IHVuc3VwcG9ydGVkIGJ5IG9sZGVyIEJhc2ggdmVyc2lvbnMgKDMueCkuCisgICAobWVyZ2UgNTJlYzg4OSBzZy9wcm9tcHQtc3ZuLXJlbW90ZS1maXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgZmFsbC1iYWNrIHBhcnNpbmcgb2YgY29tbWl0IG9iamVjdHMgd2l0aCBicm9rZW4gYXV0aG9yIG9yCisgICBjb21taXR0ZXIgbGluZXMgd2FzIGxlc3Mgcm9idXN0IHRoYW4gaWRlYWwgaW4gcGlja2luZyB1cCB0aGUKKyAgIHRpbWVzdGFtcHMuCisgICAobWVyZ2UgMDM4MThhNCBqay9zcGxpdC1icm9rZW4taWRlbnQgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IHJldi1saXN0IC0tb2JqZWN0cyBedjEuMF4gdjEuMCIgZ2F2ZSB0aGUgdjEuMCB0YWcgaXRzZWxmIGluIHRoZQorICAgb3V0cHV0LCBidXQgImdpdCByZXYtbGlzdCAtLW9iamVjdHMgdjEuMF4uLnYxLjAiIGRpZCBub3QuCisgICAobWVyZ2UgODk1YzViYSBqYy9yZXZpc2lvbi1yYW5nZS11bnBlZWwgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGNsb25lIiB3cm90ZSBzb21lIHByb2dyZXNzIG1lc3NhZ2VzIHRvIHN0YW5kYXJkIG91dHB1dCwgbm90CisgICB0byBzdGFuZGFyZCBlcnJvciwgYW5kIGRpZCBub3Qgc3VwcHJlc3MgdGhlbSB3aXRoIHRoZQorICAgLS1uby1wcm9ncmVzcyBvcHRpb24uCisgICAobWVyZ2UgNjQzZjkxOCBqay9jbG9uZS1wcm9ncmVzcy10by1zdGRlcnIgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZm9ybWF0LXBhdGNoIC0tZnJvbT08d2hvbT4iIGZvcmdvdCB0byBvbWl0IGFuIHVubmVjZXNzYXJ5IGluLWJvZHkKKyAgIGZyb20gbGluZSwgaS5lLiB3aGVuIDx3aG9tPiBpcyB0aGUgc2FtZSBhcyB0aGUgcmVhbCBhdXRob3IuCisgICAobWVyZ2UgNjYyY2MzMCBqay9mb3JtYXQtcGF0Y2gtZnJvbSBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgc2hvcnRsb2ciIHVzZWQgdG8gY2hva2UgYW5kIGRpZSB3aGVuIHRoZXJlIGlzIGEgbWFsZm9ybWVkCisgICBjb21taXQgKGUuZy4gbWlzc2luZyBhdXRob3JzKTsgaXQgbm93IHNpbXBseSBpZ25vcmVzIHN1Y2ggYSBjb21taXQKKyAgIGFuZCBrZWVwcyBnb2luZy4KKyAgIChtZXJnZSBjZDRmMDllIGprL3Nob3J0bG9nLXRvbGVyYXRlLWJyb2tlbi1jb21taXQgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IG1lcmdlLXJlY3Vyc2l2ZSIgZGlkIG5vdCBwYXJzZSBpdHMgIi0tZGlmZi1hbGdvcml0aG09IiBjb21tYW5kCisgICBsaW5lIG9wdGlvbiBjb3JyZWN0bHkuCisgICAobWVyZ2UgNjU2MjkyOCBqay9kaWZmLWFsZ28gbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBXaGVuIHJ1bm5pbmcgImZldGNoIC1xIiwgYSBsb25nIHNpbGVuY2Ugd2hpbGUgdGhlIHNlbmRlciBzaWRlCisgICBjb21wdXRlcyB0aGUgc2V0IG9mIG9iamVjdHMgdG8gc2VuZCBjYW4gYmUgbWlzdGFrZW4gYnkgcHJveGllcyBhcworICAgZHJvcHBlZCBjb25uZWN0aW9uLiAgVGhlIHNlcnZlciBzaWRlIGhhcyBiZWVuIHRhdWdodCB0byBzZW5kIGEKKyAgIHNtYWxsIGVtcHR5IG1lc3NhZ2VzIHRvIGtlZXAgdGhlIGNvbm5lY3Rpb24gYWxpdmUuCisgICAobWVyZ2UgMTE1ZGVkZCBqay91cGxvYWQtcGFjay1rZWVwYWxpdmUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IHJlYmFzZSIgaGFkIGEgcG9ydGFiaWxpdHkgcmVncmVzc2lvbiBpbiB2MS44LjQgdGhhdCB0cmlnZ2VyZWQgYQorICAgYnVnIGluIHNvbWUgQlNEIHNoZWxsIGltcGxlbWVudGF0aW9ucy4KKyAgIChtZXJnZSA5OTg1NWRkIG1tL3JlYmFzZS1jb250aW51ZS1mcmVlYnNkLVdCIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBicmFuY2ggLS10cmFjayIgaGFkIGEgbWlub3IgcmVncmVzc2lvbiBpbiB2MS44LjMuMiBhbmQgbGF0ZXIKKyAgIHRoYXQgbWFkZSBpdCBpbXBvc3NpYmxlIHRvIGJhc2UgeW91ciBsb2NhbCB3b3JrIG9uIGFueXRoaW5nIGJ1dCBhCisgICBsb2NhbCBicmFuY2ggb2YgdGhlIHVwc3RyZWFtIHJlcG9zaXRvcnkgeW91IGFyZSB0cmFja2luZy4KKyAgIChtZXJnZSBiMGY0OWZmIGpoL2NoZWNrb3V0LWF1dG8tdHJhY2tpbmcgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBXaGVuIHRoZSB3ZWIgc2VydmVyIHJlc3BvbmRzIHdpdGggIjQwNSBNZXRob2QgTm90IEFsbG93ZWQiLCAiZ2l0CisgICBodHRwLWJhY2tlbmQiIHNob3VsZCB0ZWxsIHRoZSBjbGllbnQgd2hhdCBtZXRob2RzIGFyZSBhbGxvd2VkIHdpdGgKKyAgIHRoZSAiQWxsb3ciIGhlYWRlci4KKyAgIChtZXJnZSA5MjQ3YmUwIGJjL2h0dHAtYmFja2VuZC1hbGxvdy00MDUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBXaGVuIHRoZXJlIGlzIG5vIHN1ZmZpY2llbnQgb3ZlcmxhcCBiZXR3ZWVuIG9sZCBhbmQgbmV3IGhpc3RvcnkKKyAgIGR1cmluZyBhICJnaXQgZmV0Y2giIGludG8gYSBzaGFsbG93IHJlcG9zaXRvcnksIG9iamVjdHMgdGhhdCB0aGUKKyAgIHNlbmRpbmcgc2lkZSBrbm93cyB0aGUgcmVjZWl2aW5nIGVuZCBoYXMgd2VyZSB1bm5lY2Vzc2FyaWx5IHNlbnQuCisgICAobWVyZ2UgZjIxZDJhNyBuZC9mZXRjaC1pbnRvLXNoYWxsb3cgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGN2c3NlcnZlciIgY29tcHV0ZWQgdGhlIHBlcm1pc3Npb24gbW9kZSBiaXRzIGluY29ycmVjdGx5IGZvcgorICAgZXhlY3V0YWJsZSBmaWxlcy4KKyAgIChtZXJnZSAxYjQ4ZDU2IGpjL2N2c3NlcnZlci1wZXJtLWJpdC1maXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBXaGVuIHNlbmQtZW1haWwgb2J0YWlucyBhbiBlcnJvciBtZXNzYWdlIHRvIGRpZSB3aXRoIHVwb24KKyAgIGZhaWx1cmUgdG8gc3RhcnQgYW4gU1NMIHNlc3Npb24sIGl0IHRyaWVkIHRvIHJlYWQgdGhlIGVycm9yIHN0cmluZworICAgZnJvbSBhIHdyb25nIHBsYWNlLgorICAgKG1lcmdlIDZjYjBjODggYmMvc2VuZC1lbWFpbC1zc2wtZGllLW1lc3NhZ2UtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIGltcGxlbWVudGF0aW9uIG9mICJhZGQgLWkiIGhhcyBzb21lIGNyaXBwbGluZyBjb2RlIHRvIHdvcmsgYXJvdW5kIGFuCisgICBBY3RpdmVTdGF0ZSBQZXJsIGxpbWl0YXRpb24gYnV0IGl0IGJ5IG1pc3Rha2UgYWxzbyB0cmlnZ2VyZWQgb24gR2l0CisgICBmb3IgV2luZG93cyB3aGVyZSBNU1lTIHBlcmwgaXMgdXNlZC4KKyAgIChtZXJnZSBkZjE3ZTc3IGpzL2FkZC1pLW1pbmd3IGxhdGVyIHRvIG1haW50KS4KKworICogV2UgbWFkZSBzdXJlIHRoYXQgd2Ugbm90aWNlIHdoZW4gdGhlIHVzZXItc3VwcGxpZWQgR0lUX0RJUiBpcyBhY3R1YWxseSBhCisgICBnaXRmaWxlLCBidXQgZGlkIG5vdCBkbyB0aGUgc2FtZSB3aGVuIHRoZSBkZWZhdWx0ICIuZ2l0IiBpcyBhCisgICBnaXRmaWxlLgorICAgKG1lcmdlIDQ4N2EyYjcgbmQvZ2l0LWRpci1wb2ludGluZy1hdC1naXRmaWxlIGxhdGVyIHRvIG1haW50KS4KKworICogV2hlbiBhbiBvYmplY3QgaXMgbm90IGZvdW5kIGFmdGVyIGNoZWNraW5nIHRoZSBwYWNrZmlsZXMgYW5kIHRoZQorICAgbG9vc2Ugb2JqZWN0IGRpcmVjdG9yeSwgcmVhZF9zaGExX2ZpbGUoKSByZS1jaGVja3MgdGhlIHBhY2tmaWxlcyB0bworICAgcHJldmVudCByYWNpbmcgd2l0aCBhIGNvbmN1cnJlbnQgcmVwYWNrZXI7IHRlYWNoIHRoZSBzYW1lIGxvZ2ljIHRvCisgICBoYXNfc2hhMV9maWxlKCkuCisgICAobWVyZ2UgNDVlOGE3NCBqay9oYXMtc2hhMS1maWxlLXJldHJ5LXBhY2tlZCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgY29tbWl0IC0tYXV0aG9yPSRuYW1lIiwgd2hlbiAkbmFtZSBpcyBub3QgaW4gdGhlIGNhbm9uaWNhbAorICAgIkEuIFUuIFRob3IgPGF1LnRob3JAZXhhbXBsZS54ej4iIGZvcm1hdCwgbG9va3MgZm9yIGEgbWF0Y2hpbmcgbmFtZQorICAgZnJvbSBleGlzdGluZyBoaXN0b3J5LCBidXQgZGlkIG5vdCBjb25zdWx0IG1haWxtYXAgdG8gZ3JhYiB0aGUKKyAgIHByZWZlcnJlZCBhdXRob3IgbmFtZS4KKyAgIChtZXJnZSBlYTE2Nzk0IGFwL2NvbW1pdC1hdXRob3ItbWFpbG1hcCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgbHMtZmlsZXMgLWsiIG5lZWRzIHRvIGNyYXdsIG9ubHkgdGhlIHBhcnQgb2YgdGhlIHdvcmtpbmcgdHJlZQorICAgdGhhdCBtYXkgb3ZlcmxhcCB0aGUgcGF0aHMgaW4gdGhlIGluZGV4IHRvIGZpbmQga2lsbGVkIGZpbGVzLCBidXQKKyAgIHNoYXJlZCBjb2RlIHdpdGggdGhlIGxvZ2ljIHRvIGZpbmQgYWxsIHRoZSB1bnRyYWNrZWQgZmlsZXMsIHdoaWNoCisgICBtYWRlIGl0IHVubmVjZXNzYXJpbHkgaW5lZmZpY2llbnQuCisgICAobWVyZ2UgNjgwYmUwNCBqYy9scy1maWxlcy1raWxsZWQtb3B0aW0gbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgc2hvcnRlbmVkIGNvbW1pdCBvYmplY3QgbmFtZXMgaW4gdGhlIGluc24gc2hlZXQgdGhhdCBpcyBwcmVwYXJlZCBhdCB0aGUKKyAgIGJlZ2lubmluZyBvZiBhICJyZWJhc2UgLWkiIHNlc3Npb24gY2FuIGJlY29tZSBhbWJpZ3VvdXMgYXMgdGhlCisgICByZWJhc2luZyBwcm9ncmVzc2VzIGFuZCB0aGUgcmVwb3NpdG9yeSBnYWlucyBtb3JlIGNvbW1pdHMuIE1ha2UKKyAgIHN1cmUgdGhlIGludGVybmFsIHJlY29yZCBpcyBrZXB0IHdpdGggZnVsbCA0MC1oZXggb2JqZWN0IG5hbWVzLgorICAgKG1lcmdlIDc1YzY5NzYgZXMvcmViYXNlLWktbm8tYWJicmV2IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCByZWJhc2UgLS1wcmVzZXJ2ZS1tZXJnZXMiIGludGVybmFsbHkgdXNlZCB0aGUgbWVyZ2UgbWFjaGluZXJ5CisgICBhbmQgYXMgYSBzaWRlIGVmZmVjdCBsZWZ0IHRoZSBtZXJnZSBzdW1tYXJ5IG1lc3NhZ2UgaW4gdGhlIGxvZywgYnV0CisgICB3aGVuIHJlYmFzaW5nIHRoZXJlIGlzIG5vIG5lZWQgZm9yIHRoZSBtZXJnZSBzdW1tYXJ5LgorICAgKG1lcmdlIGE5ZjczOWMgcnQvcmViYXNlLXAtbm8tbWVyZ2Utc3VtbWFyeSBsYXRlciB0byBtYWludCkuCisKKyAqIEEgY2FsbCB0byB4cmVhZCgpIHdhcyB1c2VkIHdpdGhvdXQgYSBsb29wIGFyb3VuZCBpdCB0byBjb3BlIHdpdGggc2hvcnQKKyAgIHJlYWRzIGluIHRoZSBjb2RlcGF0aCB0byBzdHJlYW0gbmV3IGNvbnRlbnRzIHRvIGEgcGFjay4KKyAgIChtZXJnZSBlOTI1MjdjIGpzL3hyZWFkLWluLWZ1bGwgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IHJlYmFzZSAtaSIgZm9yZ290IHRoYXQgdGhlIGNvbW1lbnQgY2hhcmFjdGVyIGlzCisgICBjb25maWd1cmFibGUgd2hpbGUgcmVhZGluZyBpdHMgaW5zbiBzaGVldC4KKyAgIChtZXJnZSA3YmNhN2FmIGVzL3JlYmFzZS1pLXJlc3BlY3QtY29yZS1jb21tZW50Y2hhciBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBtYWlsbWFwIHN1cHBvcnQgY29kZSByZWFkIHBhc3QgdGhlIGFsbG9jYXRlZCBidWZmZXIgd2hlbiB0aGUKKyAgIG1haWxtYXAgZmlsZSBlbmRlZCB3aXRoIGFuIGluY29tcGxldGUgbGluZS4KKyAgIChtZXJnZSBmOTcyYTE2IGprL21haWxtYXAtaW5jb21wbGV0ZS1saW5lIGxhdGVyIHRvIG1haW50KS4KKworICogV2UgdXNlZCB0byBzZW5kIGEgbGFyZ2UgcmVxdWVzdCB0byByZWFkKDIpL3dyaXRlKDIpIGFzIGEgc2luZ2xlCisgICBzeXN0ZW0gY2FsbCwgd2hpY2ggd2FzIGJhZCBmcm9tIHRoZSBsYXRlbmN5IHBvaW50IG9mIHZpZXcgd2hlbgorICAgdGhlIG9wZXJhdGlvbiBuZWVkcyB0byBiZSBraWxsZWQsIGFuZCBhbHNvIHRyaWdnZXJlZCBhbiBlcnJvciBvbgorICAgYnJva2VuIDY0LWJpdCBzeXN0ZW1zIHRoYXQgcmVmdXNlIHRvIHJlYWQgb3Igd3JpdGUgbW9yZSB0aGFuIDJHQgorICAgaW4gb25lIGdvLgorICAgKG1lcmdlIGE0ODc5MTYgc3AvY2xpcC1yZWFkLXdyaXRlLXRvLThtYiBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgZmV0Y2giIHRoYXQgYXV0by1mb2xsb3dlZCB0YWdzIGluY29ycmVjdGx5IHJldXNlZCB0aGUKKyAgIGNvbm5lY3Rpb24gd2l0aCBHaXQtYXdhcmUgdHJhbnNwb3J0IGhlbHBlciAobGlrZSB0aGUgc2FtcGxlICJleHQ6OiIKKyAgIGhlbHBlciBzaGlwcGVkIHdpdGggR2l0KS4KKyAgIChtZXJnZSAwZjczZjhiIGpjL3RyYW5zcG9ydC1kby1ub3QtdXNlLWNvbm5lY3QtdHdpY2UtaW4tZmV0Y2ggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGxvZyAtLWZ1bGwtZGlmZiAtLSA8cGF0aHNwZWM+IiBzaG93ZWQgYSBodWdlIGRpZmYgZm9yIHBhdGhzCisgICBvdXRzaWRlIHRoZSBnaXZlbiA8cGF0aHNwZWM+IGZvciBlYWNoIGNvbW1pdCwgaW5zdGVhZCBvZiBzaG93aW5nCisgICB0aGUgY2hhbmdlIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnQgb2YgdGhlIGNvbW1pdC4gICJnaXQgcmVmbG9nIC1wIgorICAgaGFkIGEgc2ltaWxhciBwcm9ibGVtLgorICAgKG1lcmdlIDgzOGY5YTEgdHIvbG9nLWZ1bGwtZGlmZi1rZWVwLXRydWUtcGFyZW50cyBsYXRlciB0byBtYWludCkuCisKKyAqIFNldHRpbmcgYSBzdWJtb2R1bGUuKi5wYXRoIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG8gdHJ1ZSAod2l0aG91dAorICAgZ2l2aW5nICI9IHZhbHVlIikgY2F1c2VkIEdpdCB0byBzZWdmYXVsdC4KKyAgIChtZXJnZSA0YjA1NDQwIGpsL3NvbWUtc3VibW9kdWxlLWNvbmZpZy1hcmUtbm90LWJvb2xlYW4gbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IHJlYmFzZSAtaSIgKHRoZXJlIGNvdWxkIGJlIG90aGVycywgYXMgdGhlIHJvb3QgY2F1c2UgaXMgcHJldHR5CisgICBnZW5lcmljKSBmZWQgYSByYW5kb20sIGRhdGEgZGVwZW5kZW50IHN0cmluZyB0byAnZWNobycgYW5kCisgICBleHBlY3RlZCBpdCB0byBjb21lIG91dCBsaXRlcmFsbHksIGNvcnJ1cHRpbmcgaXRzIGVycm9yIG1lc3NhZ2UuCisgICAobWVyZ2UgODliMDIzMCBtbS9uby1zaGVsbC1lc2NhcGUtaW4tZGllLW1lc3NhZ2UgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBTb21lIHBlb3BsZSBzdGlsbCB1c2UgcmF0aGVyIG9sZCB2ZXJzaW9ucyBvZiBiYXNoLCB3aGljaCBjYW5ub3QKKyAgIGdyb2sgc29tZSBjb25zdHJ1Y3RzIGxpa2UgJ3ByaW50ZiAtdiB2YXJuYW1lJyB3aGljaCB0aGUgcHJvbXB0IGFuZAorICAgY29tcGxldGlvbiBjb2RlIHN0YXJ0ZWQgdG8gdXNlIHJlY2VudGx5LgorICAgKG1lcmdlIGE0NGFhNjkgYmMvY29tcGxldGlvbi1mb3ItYmFzaC0zLjAgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBDb2RlIHRvIHJlYWQgY29uZmlndXJhdGlvbiBmcm9tIGEgYmxvYiBvYmplY3QgZGlkIG5vdCBjb21waWxlIG9uCisgICBwbGF0Zm9ybXMgd2l0aCBmZ2V0YygpIGV0Yy4gaW1wbGVtZW50ZWQgYXMgbWFjcm9zLgorICAgKG1lcmdlIDQ5ZDZjZmEgaHYvY29uZmlnLWZyb20tYmxvYiBsYXRlciB0byBtYWludC0xLjguMykuCisKKyAqIFRoZSByZWNlbnQgInNob3J0LWN1dCBjbG9uZSBjb25uZWN0aXZpdHkgY2hlY2siIHRvcGljIGJyb2tlIGEKKyAgIHNoYWxsb3cgcmVwb3NpdG9yeSB3aGVuIGEgZmV0Y2ggb3BlcmF0aW9uIHRyaWVzIHRvIGF1dG8tZm9sbG93IHRhZ3MuCisgICAobWVyZ2UgNmRhOGJkYyBuZC9mZXRjaC1wYWNrLXNoYWxsb3ctZml4IGxhdGVyIHRvIG1haW50LTEuOC4zKS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS45LnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS45LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2M3YjY4Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjkudHh0CkBAIC0wLDAgKzEsMzcyIEBACitHaXQgdjEuOSBSZWxlYXNlIE5vdGVzCis9PT09PT09PT09PT09PT09PT09PT09CisKK0JhY2t3YXJkIGNvbXBhdGliaWxpdHkgbm90ZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworImdpdCBzdWJtb2R1bGUgZm9yZWFjaCAkY21kICRhcmdzIiB1c2VkIHRvIHRyZWF0ICIkY21kICRhcmdzIiB0aGUgc2FtZQord2F5ICJzc2giIGRpZCwgY29uY2F0ZW5hdGluZyB0aGVtIGludG8gYSBzaW5nbGUgc3RyaW5nIGFuZCBsZXR0aW5nIHRoZQorc2hlbGwgdW5xdW90ZS4gQ2FyZWxlc3MgdXNlcnMgd2hvIGZvcmdldCB0byBzdWZmaWNpZW50bHkgcXVvdGUgJGFyZ3MKK2dldHMgdGhlaXIgYXJndW1lbnQgc3BsaXQgYXQgJElGUyB3aGl0ZXNwYWNlcyBieSB0aGUgc2hlbGwsIGFuZCBnb3QKK3VuZXhwZWN0ZWQgcmVzdWx0cyBkdWUgdG8gdGhpcy4gU3RhcnRpbmcgZnJvbSB0aGlzIHJlbGVhc2UsIHRoZQorY29tbWFuZCBsaW5lIGlzIHBhc3NlZCBkaXJlY3RseSB0byB0aGUgc2hlbGwsIGlmIGl0IGhhcyBhbiBhcmd1bWVudC4KKworUmVhZC1vbmx5IHN1cHBvcnQgZm9yIGV4cGVyaW1lbnRhbCBsb29zZS1vYmplY3QgZm9ybWF0LCBpbiB3aGljaCB1c2VycworY291bGQgb3B0aW9uYWxseSBjaG9vc2UgdG8gd3JpdGUgaW4gdGhlaXIgbG9vc2Ugb2JqZWN0cyBmb3IgYSBzaG9ydAord2hpbGUgYmV0d2VlbiB2MS40LjMgdG8gdjEuNS4zIGVyYSwgaGFzIGJlZW4gZHJvcHBlZC4KKworVGhlIG1lYW5pbmdzIG9mICItLXRhZ3MiIG9wdGlvbiB0byAiZ2l0IGZldGNoIiBoYXMgY2hhbmdlZDsgdGhlCitjb21tYW5kIGZldGNoZXMgdGFncyBfaW4gYWRkaXRpb24gdG9fIHdoYXQgYXJlIGZldGNoZWQgYnkgdGhlIHNhbWUKK2NvbW1hbmQgbGluZSB3aXRob3V0IHRoZSBvcHRpb24uCisKK1RoZSB3YXkgImdpdCBwdXNoICR0aGVyZSAkd2hhdCIgaW50ZXJwcmV0cyAkd2hhdCBwYXJ0IGdpdmVuIG9uIHRoZQorY29tbWFuZCBsaW5lLCB3aGVuIGl0IGRvZXMgbm90IGhhdmUgYSBjb2xvbiB0aGF0IGV4cGxpY2l0bHkgdGVsbHMgdXMKK3doYXQgcmVmIGF0IHRoZSAkdGhlcmUgcmVwb3NpdG9yeSBpcyB0byBiZSB1cGRhdGVkLCBoYXMgYmVlbiBlbmhhbmNlZC4KKworQSBoYW5kZnVsIG9mIGFuY2llbnQgY29tbWFuZHMgdGhhdCBoYXZlIGxvbmcgYmVlbiBkZXByZWNhdGVkIGFyZQorZmluYWxseSBnb25lIChyZXBvLWNvbmZpZywgdGFyLXRyZWUsIGxvc3QtZm91bmQsIGFuZCBwZWVrLXJlbW90ZSkuCisKKworQmFja3dhcmQgY29tcGF0aWJpbGl0eSBub3RlcyAoZm9yIEdpdCAyLjApCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworV2hlbiAiZ2l0IHB1c2ggWyR0aGVyZV0iIGRvZXMgbm90IHNheSB3aGF0IHRvIHB1c2gsIHdlIGhhdmUgdXNlZCB0aGUKK3RyYWRpdGlvbmFsICJtYXRjaGluZyIgc2VtYW50aWNzIHNvIGZhciAoYWxsIHlvdXIgYnJhbmNoZXMgd2VyZSBzZW50Cit0byB0aGUgcmVtb3RlIGFzIGxvbmcgYXMgdGhlcmUgYWxyZWFkeSBhcmUgYnJhbmNoZXMgb2YgdGhlIHNhbWUgbmFtZQorb3ZlciB0aGVyZSkuICBJbiBHaXQgMi4wLCB0aGUgZGVmYXVsdCB3aWxsIGNoYW5nZSB0byB0aGUgInNpbXBsZSIKK3NlbWFudGljcywgd2hpY2ggcHVzaGVzOgorCisgLSBvbmx5IHRoZSBjdXJyZW50IGJyYW5jaCB0byB0aGUgYnJhbmNoIHdpdGggdGhlIHNhbWUgbmFtZSwgYW5kIG9ubHkKKyAgIHdoZW4gdGhlIGN1cnJlbnQgYnJhbmNoIGlzIHNldCB0byBpbnRlZ3JhdGUgd2l0aCB0aGF0IHJlbW90ZQorICAgYnJhbmNoLCBpZiB5b3UgYXJlIHB1c2hpbmcgdG8gdGhlIHNhbWUgcmVtb3RlIGFzIHlvdSBmZXRjaCBmcm9tOyBvcgorCisgLSBvbmx5IHRoZSBjdXJyZW50IGJyYW5jaCB0byB0aGUgYnJhbmNoIHdpdGggdGhlIHNhbWUgbmFtZSwgaWYgeW91CisgICBhcmUgcHVzaGluZyB0byBhIHJlbW90ZSB0aGF0IGlzIG5vdCB3aGVyZSB5b3UgdXN1YWxseSBmZXRjaCBmcm9tLgorCitVc2UgdGhlIHVzZXIgcHJlZmVyZW5jZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlICJwdXNoLmRlZmF1bHQiIHRvCitjaGFuZ2UgdGhpcy4gIElmIHlvdSBhcmUgYW4gb2xkLXRpbWVyIHdobyBpcyB1c2VkIHRvIHRoZSAibWF0Y2hpbmciCitzZW1hbnRpY3MsIHlvdSBjYW4gc2V0IHRoZSB2YXJpYWJsZSB0byAibWF0Y2hpbmciIHRvIGtlZXAgdGhlCit0cmFkaXRpb25hbCBiZWhhdmlvdXIuICBJZiB5b3Ugd2FudCB0byBsaXZlIGluIHRoZSBmdXR1cmUgZWFybHksIHlvdQorY2FuIHNldCBpdCB0byAic2ltcGxlIiB0b2RheSB3aXRob3V0IHdhaXRpbmcgZm9yIEdpdCAyLjAuCisKK1doZW4gImdpdCBhZGQgLXUiIChhbmQgImdpdCBhZGQgLUEiKSBpcyBydW4gaW5zaWRlIGEgc3ViZGlyZWN0b3J5IGFuZAorZG9lcyBub3Qgc3BlY2lmeSB3aGljaCBwYXRocyB0byBhZGQgb24gdGhlIGNvbW1hbmQgbGluZSwgaXQKK3dpbGwgb3BlcmF0ZSBvbiB0aGUgZW50aXJlIHRyZWUgaW4gR2l0IDIuMCBmb3IgY29uc2lzdGVuY3kKK3dpdGggImdpdCBjb21taXQgLWEiIGFuZCBvdGhlciBjb21tYW5kcy4gIFRoZXJlIHdpbGwgYmUgbm8KK21lY2hhbmlzbSB0byBtYWtlIHBsYWluICJnaXQgYWRkIC11IiBiZWhhdmUgbGlrZSAiZ2l0IGFkZCAtdSAuIi4KK0N1cnJlbnQgdXNlcnMgb2YgImdpdCBhZGQgLXUiICh3aXRob3V0IGEgcGF0aHNwZWMpIHNob3VsZCBzdGFydAordHJhaW5pbmcgdGhlaXIgZmluZ2VycyB0byBleHBsaWNpdGx5IHNheSAiZ2l0IGFkZCAtdSAuIgorYmVmb3JlIEdpdCAyLjAgY29tZXMuICBBIHdhcm5pbmcgaXMgaXNzdWVkIHdoZW4gdGhlc2UgY29tbWFuZHMgYXJlCitydW4gd2l0aG91dCBhIHBhdGhzcGVjIGFuZCB3aGVuIHlvdSBoYXZlIGxvY2FsIGNoYW5nZXMgb3V0c2lkZSB0aGUKK2N1cnJlbnQgZGlyZWN0b3J5LCBiZWNhdXNlIHRoZSBiZWhhdmlvdXIgaW4gR2l0IDIuMCB3aWxsIGJlIGRpZmZlcmVudAorZnJvbSB0b2RheSdzIHZlcnNpb24gaW4gc3VjaCBhIHNpdHVhdGlvbi4KKworSW4gR2l0IDIuMCwgImdpdCBhZGQgPHBhdGg+IiB3aWxsIGJlaGF2ZSBhcyAiZ2l0IGFkZCAtQSA8cGF0aD4iLCBzbwordGhhdCAiZ2l0IGFkZCBkaXIvIiB3aWxsIG5vdGljZSBwYXRocyB5b3UgcmVtb3ZlZCBmcm9tIHRoZSBkaXJlY3RvcnkKK2FuZCByZWNvcmQgdGhlIHJlbW92YWwuICBWZXJzaW9ucyBiZWZvcmUgR2l0IDIuMCwgaW5jbHVkaW5nIHRoaXMKK3JlbGVhc2UsIHdpbGwga2VlcCBpZ25vcmluZyByZW1vdmFscywgYnV0IHRoZSB1c2VycyB3aG8gcmVseSBvbiB0aGlzCitiZWhhdmlvdXIgYXJlIGVuY291cmFnZWQgdG8gc3RhcnQgdXNpbmcgImdpdCBhZGQgLS1pZ25vcmUtcmVtb3ZhbCA8cGF0aD4iCitub3cgYmVmb3JlIDIuMCBpcyByZWxlYXNlZC4KKworVGhlIGRlZmF1bHQgcHJlZml4IGZvciAiZ2l0IHN2biIgd2lsbCBjaGFuZ2UgaW4gR2l0IDIuMC4gIEZvciBhIGxvbmcKK3RpbWUsICJnaXQgc3ZuIiBjcmVhdGVkIGl0cyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgZGlyZWN0bHkgdW5kZXIKK3JlZnMvcmVtb3RlcywgYnV0IGl0IHdpbGwgcGxhY2UgdGhlbSB1bmRlciByZWZzL3JlbW90ZXMvb3JpZ2luLyB1bmxlc3MKK2l0IGlzIHRvbGQgb3RoZXJ3aXNlIHdpdGggaXRzIC0tcHJlZml4IG9wdGlvbi4KKworCitVcGRhdGVzIHNpbmNlIHYxLjguNQorLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRm9yZWlnbiBpbnRlcmZhY2VzLCBzdWJzeXN0ZW1zIGFuZCBwb3J0cy4KKworICogVGhlIEhUVFAgdHJhbnNwb3J0LCB3aGVuIHRhbGtpbmcgR1NTLU5lZ290aWF0ZSwgdXNlcyAiMTAwCisgICBDb250aW51ZSIgcmVzcG9uc2UgdG8gYXZvaWQgaGF2aW5nIHRvIHJld2luZCBhbmQgcmVzZW5kIGEgbGFyZ2UKKyAgIHBheWxvYWQsIHdoaWNoIG1heSBub3QgYmUgYWx3YXlzIGRvYWJsZS4KKworICogVmFyaW91cyBidWdmaXhlcyB0byByZW1vdGUtYnpyIGFuZCByZW1vdGUtaGcgKGluIGNvbnRyaWIvKS4KKworICogVGhlIGJ1aWxkIHByb2NlZHVyZSBpcyBhd2FyZSBvZiBNaXJCU0Qgbm93LgorCisgKiBWYXJpb3VzICJnaXQgcDQiLCAiZ2l0IHN2biIgYW5kICJnaXRrIiB1cGRhdGVzLgorCisKK1VJLCBXb3JrZmxvd3MgJiBGZWF0dXJlcworCisgKiBGZXRjaGluZyBmcm9tIGEgc2hhbGxvd2x5LWNsb25lZCByZXBvc2l0b3J5IHVzZWQgdG8gYmUgZm9yYmlkZGVuLAorICAgcHJpbWFyaWx5IGJlY2F1c2UgdGhlIGNvZGVwYXRocyBpbnZvbHZlZCB3ZXJlIG5vdCBjYXJlZnVsbHkgdmV0dGVkCisgICBhbmQgd2UgZGlkIG5vdCBib3RoZXIgc3VwcG9ydGluZyBzdWNoIHVzYWdlLiBUaGlzIHJlbGVhc2UgYXR0ZW1wdHMKKyAgIHRvIGFsbG93IG9iamVjdCB0cmFuc2ZlciBvdXQgb2YgYSBzaGFsbG93bHktY2xvbmVkIHJlcG9zaXRvcnkgaW4gYQorICAgbW9yZSBjb250cm9sbGVkIHdheSAoaS5lLiB0aGUgcmVjZWl2ZXIgYmVjb21lIGEgc2hhbGxvdyByZXBvc2l0b3J5CisgICB3aXRoIGEgdHJ1bmNhdGVkIGhpc3RvcnkpLgorCisgKiBKdXN0IGxpa2Ugd2UgZ2l2ZSBhIHJlYXNvbmFibGUgZGVmYXVsdCBmb3IgImxlc3MiIHZpYSB0aGUgTEVTUworICAgZW52aXJvbm1lbnQgdmFyaWFibGUsIHdlIG5vdyBzcGVjaWZ5IGEgcmVhc29uYWJsZSBkZWZhdWx0IGZvciAibHYiCisgICB2aWEgdGhlICJMViIgZW52aXJvbm1lbnQgdmFyaWFibGUgd2hlbiBzcGF3bmluZyB0aGUgcGFnZXIuCisKKyAqIFR3by1sZXZlbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIG5hbWVzIGluICJicmFuY2guKiIgYW5kICJyZW1vdGUuKiIKKyAgIGhpZXJhcmNoaWVzLCB3aG9zZSB2YXJpYWJsZXMgYXJlIHByZWRvbWluYW50bHkgdGhyZWUtbGV2ZWwsIHdlcmUKKyAgIG5vdCBjb21wbGV0ZWQgYnkgaGl0dGluZyBhIDxUQUI+IGluIGJhc2ggYW5kIHpzaCBjb21wbGV0aW9ucy4KKworICogRmV0Y2hpbmcgJ2Zyb3R6JyBicmFuY2ggd2l0aCAiZ2l0IGZldGNoIiwgd2hpbGUgJ2Zyb3R6L25pdGZvbCcKKyAgIHJlbW90ZS10cmFja2luZyBicmFuY2ggZnJvbSBhbiBlYXJsaWVyIGZldGNoIHdhcyBzdGlsbCB0aGVyZSwgd291bGQKKyAgIGVycm9yIG91dCwgcHJpbWFyaWx5IGJlY2F1c2UgdGhlIGNvbW1hbmQgd2FzIG5vdCB0b2xkIHRoYXQgaXQgaXMKKyAgIGFsbG93ZWQgdG8gbG9zZSBhbnkgaW5mb3JtYXRpb24gb24gb3VyIHNpZGUuICAiZ2l0IGZldGNoIC0tcHJ1bmUiCisgICBub3cgY2FuIGJlIHVzZWQgdG8gcmVtb3ZlICdmcm90ei9uaXRmb2wnIHRvIG1ha2Ugcm9vbSB0byBmZXRjaCBhbmQKKyAgIHN0b3JlICdmcm90eicgcmVtb3RlLXRyYWNraW5nIGJyYW5jaC4KKworICogImRpZmYub3JkZXJmaWxlPTxmaWxlPiIgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBjYW4gYmUgdXNlZCB0bworICAgcHJldGVuZCBhcyBpZiB0aGUgIi1PPGZpbGU+IiBvcHRpb24gd2VyZSBnaXZlbiBmcm9tIHRoZSBjb21tYW5kCisgICBsaW5lIG9mICJnaXQgZGlmZiIsIGV0Yy4KKworICogVGhlIG5lZ2F0aXZlIHBhdGhzcGVjIHN5bnRheCBhbGxvd3MgImdpdCBsb2cgLS0gLiAnOiFkaXInIiB0byB0ZWxsCisgICB1cyAiSSBhbSBpbnRlcmVzdGVkIGluIGV2ZXJ5dGhpbmcgYnV0ICdkaXInIGRpcmVjdG9yeSIuCisKKyAqICJnaXQgZGlmZnRvb2wiIHNob3dzIGhvdyBtYW55IGRpZmZlcmVudCBwYXRocyB0aGVyZSBhcmUgaW4gdG90YWwsCisgICBhbmQgaG93IG1hbnkgb2YgdGhlbSBoYXZlIGJlZW4gc2hvd24gc28gZmFyLCB0byBpbmRpY2F0ZSBwcm9ncmVzcy4KKworICogImdpdCBwdXNoIG9yaWdpbiBtYXN0ZXIiIHVzZWQgdG8gcHVzaCBvdXIgJ21hc3RlcicgYnJhbmNoIHRvIHVwZGF0ZQorICAgdGhlICdtYXN0ZXInIGJyYW5jaCBhdCB0aGUgJ29yaWdpbicgcmVwb3NpdG9yeS4gIFRoaXMgaGFzIGJlZW4KKyAgIGVuaGFuY2VkIHRvIHVzZSB0aGUgc2FtZSByZWYgbWFwcGluZyAiZ2l0IHB1c2ggb3JpZ2luIiB3b3VsZCB1c2UgdG8KKyAgIGRldGVybWluZSB3aGF0IHJlZiBhdCB0aGUgJ29yaWdpbicgdG8gYmUgdXBkYXRlZCB3aXRoIG91ciAnbWFzdGVyJy4KKyAgIEZvciBleGFtcGxlLCB3aXRoIHRoaXMgY29uZmlndXJhdGlvbgorCisgICBbcmVtb3RlICJvcmlnaW4iXQorICAgICAgcHVzaCA9IHJlZnMvaGVhZHMvKjpyZWZzL3Jldmlldy8qCisKKyAgIHRoYXQgd291bGQgY2F1c2UgImdpdCBwdXNoIG9yaWdpbiIgdG8gcHVzaCBvdXQgb3VyIGxvY2FsIGJyYW5jaGVzCisgICB0byBjb3JyZXNwb25kaW5nIHJlZnMgdW5kZXIgcmVmcy9yZXZpZXcvIGhpZXJhcmNoeSBhdCAnb3JpZ2luJywKKyAgICJnaXQgcHVzaCBvcmlnaW4gbWFzdGVyIiB3b3VsZCB1cGRhdGUgJ3JlZnMvcmV2aWV3L21hc3Rlcicgb3ZlcgorICAgdGhlcmUuICBBbHRlcm5hdGl2ZWx5LCBpZiBwdXNoLmRlZmF1bHQgaXMgc2V0IHRvICd1cHN0cmVhbScgYW5kIG91cgorICAgJ21hc3RlcicgaXMgc2V0IHRvIGludGVncmF0ZSB3aXRoICd0b3BpYycgZnJvbSB0aGUgJ29yaWdpbicgYnJhbmNoLAorICAgcnVubmluZyAiZ2l0IHB1c2ggb3JpZ2luIiB3aGlsZSBvbiBvdXIgJ21hc3Rlcicgd291bGQgdXBkYXRlIHRoZWlyCisgICAndG9waWMnIGJyYW5jaCwgYW5kIHJ1bm5pbmcgImdpdCBwdXNoIG9yaWdpbiBtYXN0ZXIiIHdoaWxlIG9uIGFueQorICAgb2Ygb3VyIGJyYW5jaGVzIGRvZXMgdGhlIHNhbWUuCisKKyAqICJnaXR3ZWIiIGxlYXJuZWQgdG8gdHJlYXQgcmVmIGhpZXJhcmNoaWVzIG90aGVyIHRoYW4gcmVmcy9oZWFkcyBhcworICAgaWYgdGhleSBhcmUgYWRkaXRpb25hbCBicmFuY2ggbmFtZXNwYWNlcyAoZS5nLiByZWZzL2NoYW5nZXMvIGluCisgICBHZXJyaXQpLgorCisgKiAiZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0uLi4iIGxlYXJuZWQgYSBmZXcgZm9ybWF0dGluZyBkaXJlY3RpdmVzOworICAgZS5nLiAiJShjb2xvcjpyZWQpJShIRUFEKSUoY29sb3I6cmVzZXQpICUocmVmbmFtZTpzaG9ydCkgJShzdWJqZWN0KSIuCisKKyAqIFRoZSBjb21tYW5kIHN0cmluZyBnaXZlbiB0byAiZ2l0IHN1Ym1vZHVsZSBmb3JlYWNoIiBpcyBwYXNzZWQKKyAgIGRpcmVjdGx5IHRvIHRoZSBzaGVsbCwgd2l0aG91dCBiZWluZyBldmFsJ2VkLiAgVGhpcyBpcyBhIGJhY2t3YXJkCisgICBpbmNvbXBhdGlibGUgY2hhbmdlIHRoYXQgbWF5IGJyZWFrIGV4aXN0aW5nIHVzZXJzLgorCisgKiAiZ2l0IGxvZyIgYW5kIGZyaWVuZHMgbGVhcm5lZCB0aGUgIi0tZXhjbHVkZT08Z2xvYj4iIG9wdGlvbiwgdG8KKyAgIGFsbG93IHBlb3BsZSB0byBzYXkgImxpc3QgaGlzdG9yeSBvZiBhbGwgYnJhbmNoZXMgZXhjZXB0IHRob3NlIHRoYXQKKyAgIG1hdGNoIHRoaXMgcGF0dGVybiIgd2l0aCAiZ2l0IGxvZyAtLWV4Y2x1ZGU9JyovKicgLS1icmFuY2hlcyIuCisKKyAqICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQiIGxlYXJuZWQgYSBuZXcgIi0tc3R1Y2stbG9uZyIgb3B0aW9uIHRvCisgICBoZWxwIHNjcmlwdHMgcGFyc2Ugb3B0aW9ucyB3aXRoIGFuIG9wdGlvbmFsIHBhcmFtZXRlci4KKworICogVGhlICItLXRhZ3MiIG9wdGlvbiB0byAiZ2l0IGZldGNoIiBubyBsb25nZXIgdGVsbHMgdGhlIGNvbW1hbmQgdG8KKyAgIGZldGNoIF9vbmx5XyB0aGUgdGFncy4gSXQgaW5zdGVhZCBmZXRjaGVzIHRhZ3MgX2luIGFkZGl0aW9uIHRvXworICAgd2hhdCBhcmUgZmV0Y2hlZCBieSB0aGUgc2FtZSBjb21tYW5kIGxpbmUgd2l0aG91dCB0aGUgb3B0aW9uLgorCisKK1BlcmZvcm1hbmNlLCBJbnRlcm5hbCBJbXBsZW1lbnRhdGlvbiwgZXRjLgorCisgKiBXaGVuIHBhcnNpbmcgYSA0MC1oZXggc3RyaW5nIGludG8gdGhlIG9iamVjdCBuYW1lLCB0aGUgc3RyaW5nIGlzCisgICBjaGVja2VkIHRvIHNlZSBpZiBpdCBjYW4gYmUgaW50ZXJwcmV0ZWQgYXMgYSByZWYgc28gdGhhdCBhIHdhcm5pbmcKKyAgIGNhbiBiZSBnaXZlbiBmb3IgYW1iaWd1aXR5LiBUaGUgY29kZSBraWNrZWQgaW4gZXZlbiB3aGVuIHRoZQorICAgY29yZS53YXJuYW1iaWd1b3VzcmVmcyBpcyBzZXQgdG8gZmFsc2UgdG8gc3F1ZWxjaCB0aGlzIHdhcm5pbmcsIGluCisgICB3aGljaCBjYXNlIHRoZSBjeWNsZXMgc3BlbnQgdG8gbG9vayBhdCB0aGUgcmVmIG5hbWVzcGFjZSB3ZXJlIGFuCisgICBleHBlbnNpdmUgbm8tb3AsIGFzIHRoZSByZXN1bHQgd2FzIGRpc2NhcmRlZCB3aXRob3V0IGJlaW5nIHVzZWQuCisKKyAqIFRoZSBuYW1pbmcgY29udmVudGlvbiBvZiB0aGUgcGFja2ZpbGVzIGhhcyBiZWVuIHVwZGF0ZWQ7IGl0IHVzZWQgdG8KKyAgIGJlIGJhc2VkIG9uIHRoZSBlbnVtZXJhdGlvbiBvZiBuYW1lcyBvZiB0aGUgb2JqZWN0cyB0aGF0IGFyZQorICAgY29udGFpbmVkIGluIHRoZSBwYWNrLCBidXQgbm93IGl0IGFsc28gZGVwZW5kcyBvbiBob3cgdGhlIHBhY2tlZAorICAgcmVzdWx0IGlzIHJlcHJlc2VudGVkLS0tcGFja2luZyB0aGUgc2FtZSBzZXQgb2Ygb2JqZWN0cyB1c2luZworICAgZGlmZmVyZW50IHNldHRpbmdzIChvciBkZWx0YSBvcmRlcikgd291bGQgcHJvZHVjZSBhIHBhY2sgd2l0aAorICAgZGlmZmVyZW50IG5hbWUuCisKKyAqICJnaXQgZGlmZiAtLW5vLWluZGV4IiBtb2RlIHVzZWQgdG8gdW5uZWNlc3NhcmlseSBhdHRlbXB0IHRvIHJlYWQKKyAgIHRoZSBpbmRleCB3aGVuIHRoZXJlIGlzIG9uZS4KKworICogVGhlIGRlcHJlY2F0ZWQgcGFyc2Utb3B0aW9ucyBtYWNybyBPUFRfQk9PTEVBTiBoYXMgYmVlbiByZW1vdmVkOworICAgdXNlIE9QVF9CT09MIG9yIE9QVF9DT1VOVFVQIGluIG5ldyBjb2RlLgorCisgKiBBIGZldyBkdXBsaWNhdGUgaW1wbGVtZW50YXRpb25zIG9mIHByZWZpeC9zdWZmaXggc3RyaW5nIGNvbXBhcmlzb24KKyAgIGZ1bmN0aW9ucyBoYXZlIGJlZW4gdW5pZmllZCB0byBzdGFydHNfd2l0aCgpIGFuZCBlbmRzX3dpdGgoKS4KKworICogVGhlIG5ldyBQRVJMTElCX0VYVFJBIG1ha2VmaWxlIHZhcmlhYmxlIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkKKyAgIGFkZGl0aW9uYWwgZGlyZWN0b3JpZXMgUGVybCBtb2R1bGVzIChlLmcuIHRoZSBvbmVzIG5lY2Vzc2FyeSB0byBydW4KKyAgIGdpdC1zdm4pIGFyZSBpbnN0YWxsZWQgb24gdGhlIHBsYXRmb3JtIHdoZW4gYnVpbGRpbmcuCisKKyAqICJnaXQgbWVyZ2UtYmFzZSIgbGVhcm5lZCB0aGUgIi0tZm9yay1wb2ludCIgbW9kZSwgdGhhdCBpbXBsZW1lbnRzCisgICB0aGUgc2FtZSBsb2dpYyB1c2VkIGluICJnaXQgcHVsbCAtLXJlYmFzZSIgdG8gZmluZCBhIHN1aXRhYmxlIGZvcmsKKyAgIHBvaW50IG91dCBvZiB0aGUgcmVmbG9nIGVudHJpZXMgZm9yIHRoZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIHRoZQorICAgd29yayBoYXMgYmVlbiBiYXNlZCBvbi4gICJnaXQgcmViYXNlIiBoYXMgdGhlIHNhbWUgbG9naWMgdGhhdCBjYW4gYmUKKyAgIHRyaWdnZXJlZCB3aXRoIHRoZSAiLS1mb3JrLXBvaW50IiBvcHRpb24uCisKKyAqIEEgdGhpcmQtcGFydHkgInJlY2VpdmUtcGFjayIgKHRoZSByZXNwb25kZXIgdG8gImdpdCBwdXNoIikgY2FuCisgICBhZHZlcnRpc2UgdGhlICJuby10aGluIiBjYXBhYmlsaXR5IHRvIHRlbGwgImdpdCBwdXNoIiBub3QgdG8gdXNlCisgICB0aGUgdGhpbi1wYWNrIG9wdGltaXphdGlvbi4gT3VyIHJlY2VpdmUtcGFjayBoYXMgYWx3YXlzIGJlZW4KKyAgIGNhcGFibGUgb2YgYWNjZXB0aW5nIGFuZCBmYXR0ZW5pbmcgYSB0aGluLXBhY2ssIGFuZCB3aWxsIGNvbnRpbnVlCisgICBub3QgdG8gYXNrICJnaXQgcHVzaCIgdG8gdXNlIGEgbm9uLXRoaW4gcGFjay4KKworCitBbHNvIGNvbnRhaW5zIHZhcmlvdXMgZG9jdW1lbnRhdGlvbiB1cGRhdGVzIGFuZCBjb2RlIGNsZWFuLXVwcy4KKworCitGaXhlcyBzaW5jZSB2MS44LjUKKy0tLS0tLS0tLS0tLS0tLS0tLQorCitVbmxlc3Mgb3RoZXJ3aXNlIG5vdGVkLCBhbGwgdGhlIGZpeGVzIHNpbmNlIHYxLjguNSBpbiB0aGUgbWFpbnRlbmFuY2UKK3RyYWNrIGFyZSBjb250YWluZWQgaW4gdGhpcyByZWxlYXNlIChzZWUgdGhlIG1haW50ZW5hbmNlIHJlbGVhc2VzJyBub3RlcworZm9yIGRldGFpbHMpLgorCisgKiBUaGUgcGF0aHNwZWMgbWF0Y2hpbmcgY29kZSwgd2hpbGUgY29tcGFyaW5nIHR3byB0cmVlcyAoZS5nLiAiZ2l0CisgICBkaWZmIEEgQiAtLSBwYXRoMSBwYXRoMiIpIHdhcyB0b28gYWdycmVzaXZlIGFuZCBmYWlsZWQgdG8gbWF0Y2gKKyAgIHNvbWUgcGF0aHMgd2hlbiBtdWx0aXBsZSBwYXRoc3BlY3Mgd2VyZSBpbnZvbHZlZC4KKyAgIChtZXJnZSBlNGRkYjA1IGFzL3RyZWUtd2Fsay1maXgtYWdncmVzc2l2ZS1zaG9ydC1jdXQgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IHJlcGFjayAtLW1heC1wYWNrLXNpemU9OGciIHN0b3BwZWQgYmVpbmcgcGFyc2VkIGNvcnJlY3RseSB3aGVuCisgICB0aGUgY29tbWFuZCB3YXMgcmVpbXBsZW1lbnRlZCBpbiBDLgorICAgKG1lcmdlIGI4NjFlMjMgc2IvcmVwYWNrLWluLWMgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBBbiBlYXJsaWVyIHVwZGF0ZSBpbiB2MS44LjQueCB0byAiZ2l0IHJldi1saXN0IC0tb2JqZWN0cyIgd2l0aAorICAgbmVnYXRpdmUgcmVmIGhhZCBwZXJmb3JtYW5jZSByZWdyZXNzaW9uLgorICAgKG1lcmdlIDIwMGFiZTcgamsvbWFyay1lZGdlcy11bmludGVyZXN0aW5nIGxhdGVyIHRvIG1haW50KS4KKworICogQSByZWNlbnQgdXBkYXRlIHRvICJnaXQgc2VuZC1lbWFpbCIgYnJva2UgcGxhdGZvcm1zIHdoZXJlCisgICAvZXRjL3NzbC9jZXJ0cy8gZGlyZWN0b3J5IGV4aXN0cywgYnV0IGl0IGNhbm5vdCB1c2VkIGFzIFNTTF9jYV9wYXRoCisgICAoZS5nLiBGZWRvcmEgcmF3aGlkZSkuCisgICAobWVyZ2UgMDE2NDViNyByay9zZW5kLWVtYWlsLXNzbC1jZXJ0IGxhdGVyIHRvIG1haW50KS4KKworICogQSBoYW5kZnVsIG9mIGJ1Z3MgYXJvdW5kIGludGVycHJldGluZyAkYnJhbmNoQHt1cHN0cmVhbX0gbm90YXRpb24KKyAgIGFuZCBpdHMgbG9va2FsaWtlLCB3aGVuICRicmFuY2ggcGFydCBoYXMgaW50ZXJlc3RpbmcgY2hhcmFjdGVycywKKyAgIGUuZy4gIkAiLCBhbmQgIjoiLCBoYXZlIGJlZW4gZml4ZWQuCisgICAobWVyZ2UgOTg5MmQ1ZCBqay9pbnRlcnByZXQtYnJhbmNoLW5hbWUtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBjbG9uZSIgd291bGQgZmFpbCB0byBjbG9uZSBmcm9tIGEgcmVwb3NpdG9yeSB0aGF0IGhhcyBhIHJlZgorICAgZGlyZWN0bHkgdW5kZXIgInJlZnMvIiwgZS5nLiAicmVmcy9zdGFzaCIsIGJlY2F1c2UgZGlmZmVyZW50CisgICB2YWxpZGF0aW9uIHBhdGhzIGRvIGRpZmZlcmVudCB0aGluZ3Mgb24gc3VjaCBhIHJlZm5hbWUuICBMb29zZW4gdGhlCisgICBjbGllbnQgc2lkZSdzIHZhbGlkYXRpb24gdG8gYWxsb3cgc3VjaCBhIHJlZi4KKyAgIChtZXJnZSA0YzIyNDA4IGprL2FsbG93LWZldGNoLW9uZWxldmVsLXJlZm5hbWUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGxvZyAtLWxlZnQtcmlnaHQgQS4uLkIiIGxvc3QgdGhlICJsZWZ0bmVzcyIgb2YgY29tbWl0cworICAgcmVhY2hhYmxlIGZyb20gQSB3aGVuIEEgaXMgYSB0YWcgYXMgYSBzaWRlIGVmZmVjdCBvZiBhIHJlY2VudAorICAgYnVnZml4LiAgVGhpcyBpcyBhIHJlZ3Jlc3Npb24gaW4gMS44LjQueCBzZXJpZXMuCisgICAobWVyZ2UgYTc0MzUyOCBqYy9yZXZpc2lvbi1yYW5nZS11bnBlZWwgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBkb2N1bWVudGF0aW9ucyB0byAiZ2l0IHB1bGwiIGhpbnRlZCB0aGVyZSBpcyBhbiAiLW0iIG9wdGlvbiBiZWNhdXNlCisgICBpdCBpbmNvcnJlY3RseSBzaGFyZWQgdGhlIGRvY3VtZW50YXRpb24gd2l0aCAiZ2l0IG1lcmdlIi4KKyAgIChtZXJnZSAwOGYxOWNmIGpjL21haW50LXB1bGwtZG9jZml4IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBkaWZmIEEgQiBzdWJtb2QiIGFuZCAiZ2l0IGRpZmYgQSBCIHN1Ym1vZC8iIG91Z2h0IHRvIGhhdmUgZG9uZQorICAgdGhlIHNhbWUgZm9yIGEgc3VibW9kdWxlICJzdWJtb2QiLCBidXQgZGlkbid0LgorCisgKiAiZ2l0IGNsb25lICRvcmlnaW4gZm9vXGJhclxiYXoiIG9uIFdpbmRvd3MgZmFpbGVkIHRvIGNyZWF0ZSB0aGUKKyAgIGxlYWRpbmcgZGlyZWN0b3JpZXMgKGkuZS4gYSBtb3JhbC1lcXVpdmFsZW50IG9mICJta2RpciAtcCIpLgorCisgKiAic3VibW9kdWxlLioudXBkYXRlPWNoZWNrb3V0Iiwgd2hlbiBwcm9wYWdhdGVkIGZyb20gLmdpdG1vZHVsZXMgdG8KKyAgIC5naXQvY29uZmlnLCB0dXJuZWQgaW50byBhICJzdWJtb2R1bGUuKi51cGRhdGU9bm9uZSIsIHdoaWNoIGRpZCBub3QKKyAgIG1ha2UgbXVjaCBzZW5zZS4KKyAgIChtZXJnZSBlZmE4ZmQ3IGZwL3N1Ym1vZHVsZS1jaGVja291dC1tb2RlIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIGltcGxlbWVudGF0aW9uIG9mICdnaXQgc3Rhc2ggJGNtZCAic3Rhc2hAey4uLn0iJyBkaWQgbm90IHF1b3RlCisgICB0aGUgc3Rhc2ggYXJndW1lbnQgcHJvcGVybHkgYW5kIGxlZnQgaXQgc3BsaXQgYXQgSUZTIHdoaXRlc3BhY2UuCisgICAobWVyZ2UgMmEwN2U0MyBvdy9zdGFzaC13aXRoLWlmcyBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSAiLS1bbm8tXWluZm9ybWF0aXZlLWVycm9ycyIgb3B0aW9ucyB0byAiZ2l0IGRhZW1vbiIgd2VyZSBwYXJzZWQKKyAgIGEgYml0IHRvbyBsb29zZWx5LCBhbGxvd2luZyBhbnkgb3RoZXIgc3RyaW5nIGFmdGVyIHRoZXNlIG9wdGlvbgorICAgbmFtZXMuCisgICAobWVyZ2UgODIyNDZiNyBuZC9kYWVtb24taW5mb3JtYXRpdmUtZXJyb3JzLXR5cG9maXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGVyZSBpcyBubyByZWFzb24gdG8gaGF2ZSBhIGhhcmRjb2RlZCB1cHBlciBsaW1pdCBvZiB0aGUgbnVtYmVyIG9mCisgICBwYXJlbnRzIGZvciBhbiBvY3RvcHVzIG1lcmdlLCBjcmVhdGVkIHZpYSB0aGUgZ3JhZnQgbWVjaGFuaXNtLCBidXQKKyAgIHRoZXJlIHdhcy4KKyAgIChtZXJnZSBlMjI4YzE3IGpzL2xpZnQtcGFyZW50LWNvdW50LWxpbWl0IGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIGJhc2ljIHRlc3QgdXNlZCB0byBsZWF2ZSB1bm5lY2Vzc2FyeSB0cmFzaCBkaXJlY3RvcmllcyBpbiB0aGUKKyAgIHQvIGRpcmVjdG9yeS4KKyAgIChtZXJnZSA3MzhhOGJlIGprL3Rlc3QtZnJhbWV3b3JrLXVwZGF0ZXMgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IG1lcmdlLWJhc2UgLS1vY3RvcHVzIiB1c2VkIHRvIGxlYXZlIGNsZWFuaW5nIHVwIHN1Ym9wdGltYWwKKyAgIHJlc3VsdCB0byB0aGUgY2FsbGVyLCBidXQgbm93IGl0IGRvZXMgdGhlIGNsZWFuLXVwIGl0c2VsZi4KKyAgIChtZXJnZSA4ZjI5Mjk5IGJtL21lcmdlLWJhc2Utb2N0b3B1cy1kZWR1cCBsYXRlciB0byBtYWludCkuCisKKyAqIEEgImdjIiBwcm9jZXNzIHJ1bm5pbmcgYXMgYSBkaWZmZXJlbnQgdXNlciBzaG91bGQgYmUgYWJsZSB0byBzdG9wIGEKKyAgIG5ldyAiZ2MiIHByb2Nlc3MgZnJvbSBzdGFydGluZywgYnV0IGl0IGRpZG4ndC4KKyAgIChtZXJnZSBlZDdlZGE4IGttL2djLWVwZXJtIGxhdGVyIHRvIG1haW50KS4KKworICogQW4gZWFybGllciAiY2xlYW4tdXAiIGludHJvZHVjZWQgYW4gdW5uZWNlc3NhcnkgbWVtb3J5IGxlYWsuCisgICAobWVyZ2UgZTFjMWEzMiBqay9jcmVkZW50aWFsLXBsdWctbGVhayBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgYWRkIC1BIiAobm8gb3RoZXIgYXJndW1lbnRzKSBpbiBhIHRvdGFsbHkgZW1wdHkgd29ya2luZyB0cmVlCisgICB1c2VkIHRvIGVtaXQgYW4gZXJyb3IuCisgICAobWVyZ2UgNjRlZDA3YyBuZC9hZGQtZW1wdHktZml4IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBsb2cgLS1kZWNvcmF0ZSIgZGlkIG5vdCBoYW5kbGUgYSB0YWcgcG9pbnRlZCBieSBhbm90aGVyIHRhZworICAgbmljZWx5LgorICAgKG1lcmdlIDVlMTM2MWMgYmMvbG9nLWRlY29yYXRpb24gbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBXaGVuIHdlIGZpZ3VyZSBvdXQgaG93IG1hbnkgZmlsZSBkZXNjcmlwdG9ycyB0byBhbGxvY2F0ZSBmb3IKKyAgIGtlZXBpbmcgcGFja2ZpbGVzIG9wZW4sIGEgc3lzdGVtIHdpdGggbm9uLXdvcmtpbmcgZ2V0cmxpbWl0KCkgY291bGQKKyAgIGNhdXNlIHVzIHRvIGRpZSgpLCBidXQgYmVjYXVzZSB3ZSBtYWtlIHRoaXMgY2FsbCBvbmx5IHRvIGdldCBhCisgICByb3VnaCBlc3RpbWF0ZSBvZiBob3cgbWFueSBpcyBhdmFpbGFibGUgYW5kIHdlIGRvIG5vdCBldmVuIGF0dGVtcHQKKyAgIHRvIHVzZSB1cCBhbGwgZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUgb3Vyc2VsdmVzLCBpdCBpcyBuaWNlciB0bworICAgZmFsbCBiYWNrIHRvIGEgcmVhc29uYWJsZSBsb3cgdmFsdWUgcmF0aGVyIHRoYW4gZHlpbmcuCisgICAobWVyZ2UgNDkxYThkZSBqaC9ybGltaXQtbm9maWxlLWZhbGxiYWNrIGxhdGVyIHRvIG1haW50KS4KKworICogcmVhZF9zaGExX2ZpbGUoKSwgdGhhdCBpcyB0aGUgd29ya2hvcnNlIHRvIHJlYWQgdGhlIGNvbnRlbnRzIGdpdmVuCisgICBhbiBvYmplY3QgbmFtZSwgaG9ub3VyZWQgb2JqZWN0IHJlcGxhY2VtZW50cywgYnV0IHRoZXJlIHdhcyBubworICAgY29ycmVzcG9uZGluZyBtZWNoYW5pc20gdG8gc2hhMV9vYmplY3RfaW5mbygpIHRoYXQgd2FzIHVzZWQgdG8KKyAgIG9idGFpbiB0aGUgbWV0YWluZm8gKGUuZy4gdHlwZSAmIHNpemUpIGFib3V0IHRoZSBvYmplY3QuICBUaGlzIGxlZAorICAgY2FsbGVycyB0byB3ZWlyZCBpbmNvbnNpc3RlbmNpZXMuCisgICAobWVyZ2UgNjYzYTg1NiBjYy9yZXBsYWNlLW9iamVjdC1pbmZvIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBjYXQtZmlsZSAtLWJhdGNoPSIsIGFuIGFkbWl0dGVkbHkgdXNlbGVzcyBjb21tYW5kLCBkaWQgbm90CisgICBiZWhhdmUgdmVyeSB3ZWxsLgorICAgKG1lcmdlIDY1NTRkZmEgamsvY2F0LWZpbGUtcmVncmVzc2lvbi1maXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IHJldi1wYXJzZSA8cmV2cz4gLS0gPHBhdGhzPiIgZGlkIG5vdCBpbXBsZW1lbnQgdGhlIHVzdWFsCisgICBkaXNhbWJpZ3VhdGlvbiBydWxlcyB0aGUgY29tbWFuZHMgaW4gdGhlICJnaXQgbG9nIiBmYW1pbHkgdXNlZCBpbgorICAgdGhlIHNhbWUgd2F5LgorICAgKG1lcmdlIDYyZjE2MmYgamsvcmV2LXBhcnNlLWRvdWJsZS1kYXNoZXMgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IG12IEEgQi8iLCB3aGVuIEIgZG9lcyBub3QgZXhpc3QgYXMgYSBkaXJlY3RvcnksIHNob3VsZCBlcnJvcgorICAgb3V0LCBidXQgaXQgZGlkbid0LgorICAgKG1lcmdlIGM1N2Y2MjggbW0vbXYtZmlsZS10by1uby1zdWNoLWRpci13aXRoLXNsYXNoIGxhdGVyIHRvIG1haW50KS4KKworICogQSB3b3JrYXJvdW5kIHRvIGFuIG9sZCBidWcgaW4gZ2xpYmMgcHJpb3IgdG8gZ2xpYmMgMi4xNyBoYXMgYmVlbgorICAgcmV0aXJlZDsgdGhpcyB3b3VsZCByZW1vdmUgYSBzaWRlIGVmZmVjdCBvZiB0aGUgd29ya2Fyb3VuZCB0aGF0CisgICBjb3JydXB0cyBzeXN0ZW0gZXJyb3IgbWVzc2FnZXMgaW4gbm9uLUMgbG9jYWxlcy4KKworICogU1NMLXJlbGF0ZWQgb3B0aW9ucyB3ZXJlIG5vdCBwYXNzZWQgY29ycmVjdGx5IHRvIHVuZGVybHlpbmcgc29ja2V0CisgICBsYXllciBpbiAiZ2l0IHNlbmQtZW1haWwiLgorICAgKG1lcmdlIDU1MDhmM2UgdHIvc2VuZC1lbWFpbC1zc2wgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGNvbW1pdCAtdiIgYXBwZW5kcyB0aGUgcGF0Y2ggdG8gdGhlIGxvZyBtZXNzYWdlIGJlZm9yZQorICAgZWRpdGluZywgYW5kIHRoZW4gcmVtb3ZlcyB0aGUgcGF0Y2ggd2hlbiB0aGUgZWRpdG9yIHJldHVybmVkCisgICBjb250cm9sLiBIb3dldmVyLCB0aGUgcGF0Y2ggd2FzIG5vdCBzdHJpcHBlZCBjb3JyZWN0bHkgd2hlbiB0aGUKKyAgIGZpcnN0IG1vZGlmaWVkIHBhdGggd2FzIGEgc3VibW9kdWxlLgorICAgKG1lcmdlIDFhNzJjZmQgamwvY29tbWl0LXYtc3RyaXAtbWFya2VyIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBmZXRjaCAtLWRlcHRoPTAiIHdhcyBhIG5vLW9wLCBhbmQgd2FzIHNpbGVudGx5IGlnbm9yZWQuCisgICBEaWFnbm9zZSBpdCBhcyBhbiBlcnJvci4KKyAgIChtZXJnZSA1NTk0YmNhIG5kL3RyYW5zcG9ydC1wb3NpdGl2ZS1kZXB0aC1vbmx5IGxhdGVyIHRvIG1haW50KS4KKworICogUmVtb3RlIHJlcG9zaXRvcnkgVVJMIGV4cHJlc3NlZCBpbiBzY3Atc3R5bGUgaG9zdDpwYXRoIG5vdGF0aW9uIGFyZQorICAgcGFyc2VkIG1vcmUgY2FyZWZ1bGx5IChlLmcuICJmb28vYmFyOmJheiIgaXMgbG9jYWwsICJbOjoxXTovfnVzZXIiIGFza3MKKyAgIHRvIGNvbm5lY3QgdG8gdXNlcidzIGhvbWUgZGlyZWN0b3J5IG9uIGhvc3QgYXQgYWRkcmVzcyA6OjEuCisgICAobWVyZ2UgYTIwMzZkNyB0Yi9jbG9uZS1zc2gtd2l0aC1jb2xvbi1mb3ItcG9ydCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgZGlmZiAtLSAnOihpY2FzZSltYWtlZmlsZSciIHdhcyB1bm5lY2Vzc2FyaWx5IHJlamVjdGVkIGF0IHRoZQorICAgY29tbWFuZCBsaW5lIHBhcnNlci4KKyAgIChtZXJnZSA4ODdjNmMxIG5kL21hZ2ljLXBhdGhzcGVjIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBjYXQtZmlsZSAtLWJhdGNoLWNoZWNrPW9rIiBkaWQgbm90IGNoZWNrIHRoZSBleGlzdGVuY2Ugb2YKKyAgIHRoZSBuYW1lZCBvYmplY3QuCisgICAobWVyZ2UgNGVmOGQxZCBzYi9zaGExLWxvb3NlLW9iamVjdC1pbmZvLWNoZWNrLWV4aXN0ZW5jZSBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgYW0gLS1hYm9ydCIgc29tZXRpbWVzIGNvbXBsYWluZWQgYWJvdXQgbm90IGJlaW5nIGFibGUgdG8gd3JpdGUKKyAgIGEgdHJlZSB3aXRoIGFuIDB7NDB9IG9iamVjdCBpbiBpdC4KKyAgIChtZXJnZSA3N2I0M2NhIGprL3R3by13YXktbWVyZ2UtY29ybmVyLWNhc2UtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogVHdvIHByb2Nlc3NlcyBjcmVhdGluZyBsb29zZSBvYmplY3RzIGF0IHRoZSBzYW1lIHRpbWUgY291bGQgaGF2ZQorICAgZmFpbGVkIHVubmVjZXNzYXJpbHkgd2hlbiB0aGUgbmFtZSBvZiB0aGVpciBuZXcgb2JqZWN0cyBzdGFydGVkCisgICB3aXRoIHRoZSBzYW1lIGJ5dGUgdmFsdWUsIGR1ZSB0byBhIHJhY2UgY29uZGl0aW9uLgorICAgKG1lcmdlIGIyNDc2YTYgamgvbG9vc2Utb2JqZWN0LWRpcnMtY3JlYXRpb24tcmFjZSBsYXRlciB0byBtYWludCkuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1N1Ym1pdHRpbmdQYXRjaGVzIGIvRG9jdW1lbnRhdGlvbi9TdWJtaXR0aW5nUGF0Y2hlcwppbmRleCBkMGE0NzMzLi5lNmQ0NmVkIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1N1Ym1pdHRpbmdQYXRjaGVzCisrKyBiL0RvY3VtZW50YXRpb24vU3VibWl0dGluZ1BhdGNoZXMKQEAgLTY1LDcgKzY1LDIwIEBACiB0ZXN0IHN1aXRlIHBhc3NlcyBhZnRlciB5b3VyIGNvbW1pdC4gIERvIG5vdCBmb3JnZXQgdG8gdXBkYXRlIHRoZQogZG9jdW1lbnRhdGlvbiB0byBkZXNjcmliZSB0aGUgdXBkYXRlZCBiZWhhdmlvdXIuCiAKLU9oLCBhbm90aGVyIHRoaW5nLiAgSSBhbSBwaWNreSBhYm91dCB3aGl0ZXNwYWNlcy4gIE1ha2Ugc3VyZSB5b3VyCitTcGVha2luZyBvZiB0aGUgZG9jdW1lbnRhdGlvbiwgaXQgaXMgY3VycmVudGx5IGEgbGliZXJhbCBtaXh0dXJlIG9mIFVTCithbmQgVUsgRW5nbGlzaCBub3JtcyBmb3Igc3BlbGxpbmcgYW5kIGdyYW1tYXIsIHdoaWNoIGlzIHNvbWV3aGF0Cit1bmZvcnR1bmF0ZS4gIEEgaHVnZSBwYXRjaCB0aGF0IHRvdWNoZXMgdGhlIGZpbGVzIGFsbCBvdmVyIHRoZSBwbGFjZQorb25seSB0byBjb3JyZWN0IHRoZSBpbmNvbnNpc3RlbmN5IGlzIG5vdCB3ZWxjb21lLCB0aG91Z2guICBQb3RlbnRpYWwKK2NsYXNoZXMgd2l0aCBvdGhlciBjaGFuZ2VzIHRoYXQgY2FuIHJlc3VsdCBmcm9tIHN1Y2ggYSBwYXRjaCBhcmUgbm90Cit3b3J0aCBpdC4gIFdlIHByZWZlciB0byBncmFkdWFsbHkgcmVjb25jaWxlIHRoZSBpbmNvbnNpc3RlbmNpZXMgaW4KK2Zhdm9yIG9mIFVTIEVuZ2xpc2gsIHdpdGggc21hbGwgYW5kIGVhc2lseSBkaWdlc3RpYmxlIHBhdGNoZXMsIGFzIGEKK3NpZGUgZWZmZWN0IG9mIGRvaW5nIHNvbWUgb3RoZXIgcmVhbCB3b3JrIGluIHRoZSB2aWNpbml0eSAoZS5nLgorcmV3cml0aW5nIGEgcGFyYWdyYXBoIGZvciBjbGFyaXR5LCB3aGlsZSB0dXJuaW5nIGVuX1VLIHNwZWxsaW5nIHRvCitlbl9VUykuICBPYnZpb3VzIHR5cG9ncmFwaGljYWwgZml4ZXMgYXJlIG11Y2ggbW9yZSB3ZWxjb21lZCAoInRlaCAtPgorInRoZSIpLCBwcmVmZXJhYmx5IHN1Ym1pdHRlZCBhcyBpbmRlcGVuZGVudCBwYXRjaGVzIHNlcGFyYXRlIGZyb20KK290aGVyIGRvY3VtZW50YXRpb24gY2hhbmdlcy4KKworT2gsIGFub3RoZXIgdGhpbmcuICBXZSBhcmUgcGlja3kgYWJvdXQgd2hpdGVzcGFjZXMuICBNYWtlIHN1cmUgeW91cgogY2hhbmdlcyBkbyBub3QgdHJpZ2dlciBlcnJvcnMgd2l0aCB0aGUgc2FtcGxlIHByZS1jb21taXQgaG9vayBzaGlwcGVkCiBpbiB0ZW1wbGF0ZXMvaG9va3MtLXByZS1jb21taXQuICBUbyBoZWxwIGVuc3VyZSB0aGlzIGRvZXMgbm90IGhhcHBlbiwKIHJ1biBnaXQgZGlmZiAtLWNoZWNrIG9uIHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IGNvbW1pdC4KQEAgLTEyNiw4ICsxMzksMTUgQEAKIGNvbW1lbnQgb24gdGhlIGNoYW5nZXMgeW91IGFyZSBzdWJtaXR0aW5nLiAgSXQgaXMgaW1wb3J0YW50IGZvcgogYSBkZXZlbG9wZXIgdG8gYmUgYWJsZSB0byAicXVvdGUiIHlvdXIgY2hhbmdlcywgdXNpbmcgc3RhbmRhcmQKIGUtbWFpbCB0b29scywgc28gdGhhdCB0aGV5IG1heSBjb21tZW50IG9uIHNwZWNpZmljIHBvcnRpb25zIG9mCi15b3VyIGNvZGUuICBGb3IgdGhpcyByZWFzb24sIGFsbCBwYXRjaGVzIHNob3VsZCBiZSBzdWJtaXR0ZWQKLSJpbmxpbmUiLiAgSWYgeW91ciBsb2cgbWVzc2FnZSAoaW5jbHVkaW5nIHlvdXIgbmFtZSBvbiB0aGUKK3lvdXIgY29kZS4gIEZvciB0aGlzIHJlYXNvbiwgZWFjaCBwYXRjaCBzaG91bGQgYmUgc3VibWl0dGVkCisiaW5saW5lIiBpbiBhIHNlcGFyYXRlIG1lc3NhZ2UuCisKK011bHRpcGxlIHJlbGF0ZWQgcGF0Y2hlcyBzaG91bGQgYmUgZ3JvdXBlZCBpbnRvIHRoZWlyIG93biBlLW1haWwKK3RocmVhZCB0byBoZWxwIHJlYWRlcnMgZmluZCBhbGwgcGFydHMgb2YgdGhlIHNlcmllcy4gIFRvIHRoYXQgZW5kLAorc2VuZCB0aGVtIGFzIHJlcGxpZXMgdG8gZWl0aGVyIGFuIGFkZGl0aW9uYWwgImNvdmVyIGxldHRlciIgbWVzc2FnZQorKHNlZSBiZWxvdyksIHRoZSBmaXJzdCBwYXRjaCwgb3IgdGhlIHJlc3BlY3RpdmUgcHJlY2VkaW5nIHBhdGNoLgorCitJZiB5b3VyIGxvZyBtZXNzYWdlIChpbmNsdWRpbmcgeW91ciBuYW1lIG9uIHRoZQogU2lnbmVkLW9mZi1ieSBsaW5lKSBpcyBub3Qgd3JpdGFibGUgaW4gQVNDSUksIG1ha2Ugc3VyZSB0aGF0CiB5b3Ugc2VuZCBvZmYgYSBtZXNzYWdlIGluIHRoZSBjb3JyZWN0IGVuY29kaW5nLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2JsYW1lLW9wdGlvbnMudHh0IGIvRG9jdW1lbnRhdGlvbi9ibGFtZS1vcHRpb25zLnR4dAppbmRleCA0ZTU1YjE1Li4wY2ViYzRmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2JsYW1lLW9wdGlvbnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vYmxhbWUtb3B0aW9ucy50eHQKQEAgLTExLDEyICsxMSwxMiBAQAogCiAtTCA8c3RhcnQ+LDxlbmQ+OjoKIC1MIDo8cmVnZXg+OjoKLQlBbm5vdGF0ZSBvbmx5IHRoZSBnaXZlbiBsaW5lIHJhbmdlLiAgPHN0YXJ0PiBhbmQgPGVuZD4gYXJlIG9wdGlvbmFsLgotCWBgLUwgPHN0YXJ0PicnIG9yIGBgLUwgPHN0YXJ0PiwnJyBzcGFucyBmcm9tIDxzdGFydD4gdG8gZW5kIG9mIGZpbGUuCi0JYGAtTCAsPGVuZD4nJyBzcGFucyBmcm9tIHN0YXJ0IG9mIGZpbGUgdG8gPGVuZD4uCisJQW5ub3RhdGUgb25seSB0aGUgZ2l2ZW4gbGluZSByYW5nZS4gTWF5IGJlIHNwZWNpZmllZCBtdWx0aXBsZSB0aW1lcy4KKwlPdmVybGFwcGluZyByYW5nZXMgYXJlIGFsbG93ZWQuCiArCi08c3RhcnQ+IGFuZCA8ZW5kPiBjYW4gdGFrZSBvbmUgb2YgdGhlc2UgZm9ybXM6Ci0KKzxzdGFydD4gYW5kIDxlbmQ+IGFyZSBvcHRpb25hbC4gYGAtTCA8c3RhcnQ+Jycgb3IgYGAtTCA8c3RhcnQ+LCcnIHNwYW5zIGZyb20KKzxzdGFydD4gdG8gZW5kIG9mIGZpbGUuIGBgLUwgLDxlbmQ+Jycgc3BhbnMgZnJvbSBzdGFydCBvZiBmaWxlIHRvIDxlbmQ+LgorKwogaW5jbHVkZTo6bGluZS1yYW5nZS1mb3JtYXQudHh0W10KIAogLWw6OgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcudHh0CmluZGV4IDZiMzU1NzguLjVmNGQ3OTMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vY29uZmlnLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy50eHQKQEAgLTE3MCw4ICsxNzAsOCBAQAogCXB1c2hOZWVkc0ZvcmNlOjoKIAkJU2hvd24gd2hlbiBsaW5rZ2l0OmdpdC1wdXNoWzFdIHJlamVjdHMgYW4gdXBkYXRlIHRoYXQKIAkJdHJpZXMgdG8gb3ZlcndyaXRlIGEgcmVtb3RlIHJlZiB0aGF0IHBvaW50cyBhdCBhbgotCQlvYmplY3QgdGhhdCBpcyBub3QgYSBjb21taXR0aXNoLCBvciBtYWtlIHRoZSByZW1vdGUKLQkJcmVmIHBvaW50IGF0IGFuIG9iamVjdCB0aGF0IGlzIG5vdCBhIGNvbW1pdHRpc2guCisJCW9iamVjdCB0aGF0IGlzIG5vdCBhIGNvbW1pdC1pc2gsIG9yIG1ha2UgdGhlIHJlbW90ZQorCQlyZWYgcG9pbnQgYXQgYW4gb2JqZWN0IHRoYXQgaXMgbm90IGEgY29tbWl0LWlzaC4KIAlzdGF0dXNIaW50czo6CiAJCVNob3cgZGlyZWN0aW9ucyBvbiBob3cgdG8gcHJvY2VlZCBmcm9tIHRoZSBjdXJyZW50CiAJCXN0YXRlIGluIHRoZSBvdXRwdXQgb2YgbGlua2dpdDpnaXQtc3RhdHVzWzFdLCBpbgpAQCAtNTUzLDIyICs1NTMsMjQgQEAKIAlXaGVuIG5vdCBjb25maWd1cmVkIHRoZSBkZWZhdWx0IGNvbW1pdCBtZXNzYWdlIGVkaXRvciBpcyB1c2VkIGluc3RlYWQuCiAKIGNvcmUucGFnZXI6OgotCVRoZSBjb21tYW5kIHRoYXQgR2l0IHdpbGwgdXNlIHRvIHBhZ2luYXRlIG91dHB1dC4gIENhbgotCWJlIG92ZXJyaWRkZW4gd2l0aCB0aGUgYEdJVF9QQUdFUmAgZW52aXJvbm1lbnQKLQl2YXJpYWJsZS4gIE5vdGUgdGhhdCBHaXQgc2V0cyB0aGUgYExFU1NgIGVudmlyb25tZW50Ci0JdmFyaWFibGUgdG8gYEZSU1hgIGlmIGl0IGlzIHVuc2V0IHdoZW4gaXQgcnVucyB0aGUKLQlwYWdlci4gIE9uZSBjYW4gY2hhbmdlIHRoZXNlIHNldHRpbmdzIGJ5IHNldHRpbmcgdGhlCi0JYExFU1NgIHZhcmlhYmxlIHRvIHNvbWUgb3RoZXIgdmFsdWUuICBBbHRlcm5hdGVseSwKLQl0aGVzZSBzZXR0aW5ncyBjYW4gYmUgb3ZlcnJpZGRlbiBvbiBhIHByb2plY3Qgb3IKLQlnbG9iYWwgYmFzaXMgYnkgc2V0dGluZyB0aGUgYGNvcmUucGFnZXJgIG9wdGlvbi4KLQlTZXR0aW5nIGBjb3JlLnBhZ2VyYCBoYXMgbm8gZWZmZWN0IG9uIHRoZSBgTEVTU2AKLQllbnZpcm9ubWVudCB2YXJpYWJsZSBiZWhhdmlvdXIgYWJvdmUsIHNvIGlmIHlvdSB3YW50Ci0JdG8gb3ZlcnJpZGUgR2l0J3MgZGVmYXVsdCBzZXR0aW5ncyB0aGlzIHdheSwgeW91IG5lZWQKLQl0byBiZSBleHBsaWNpdC4gIEZvciBleGFtcGxlLCB0byBkaXNhYmxlIHRoZSBTIG9wdGlvbgotCWluIGEgYmFja3dhcmQgY29tcGF0aWJsZSBtYW5uZXIsIHNldCBgY29yZS5wYWdlcmAKLQl0byBgbGVzcyAtK1NgLiAgVGhpcyB3aWxsIGJlIHBhc3NlZCB0byB0aGUgc2hlbGwgYnkKLQlHaXQsIHdoaWNoIHdpbGwgdHJhbnNsYXRlIHRoZSBmaW5hbCBjb21tYW5kIHRvCi0JYExFU1M9RlJTWCBsZXNzIC0rU2AuCisJVGV4dCB2aWV3ZXIgZm9yIHVzZSBieSBHaXQgY29tbWFuZHMgKGUuZy4sICdsZXNzJykuICBUaGUgdmFsdWUKKwlpcyBtZWFudCB0byBiZSBpbnRlcnByZXRlZCBieSB0aGUgc2hlbGwuICBUaGUgb3JkZXIgb2YgcHJlZmVyZW5jZQorCWlzIHRoZSBgJEdJVF9QQUdFUmAgZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZW4gYGNvcmUucGFnZXJgCisJY29uZmlndXJhdGlvbiwgdGhlbiBgJFBBR0VSYCwgYW5kIHRoZW4gdGhlIGRlZmF1bHQgY2hvc2VuIGF0CisJY29tcGlsZSB0aW1lICh1c3VhbGx5ICdsZXNzJykuCisrCitXaGVuIHRoZSBgTEVTU2AgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgdW5zZXQsIEdpdCBzZXRzIGl0IHRvIGBGUlNYYAorKGlmIGBMRVNTYCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQsIEdpdCBkb2VzIG5vdCBjaGFuZ2UgaXQgYXQKK2FsbCkuICBJZiB5b3Ugd2FudCB0byBzZWxlY3RpdmVseSBvdmVycmlkZSBHaXQncyBkZWZhdWx0IHNldHRpbmcKK2ZvciBgTEVTU2AsIHlvdSBjYW4gc2V0IGBjb3JlLnBhZ2VyYCB0byBlLmcuIGBsZXNzIC0rU2AuICBUaGlzIHdpbGwKK2JlIHBhc3NlZCB0byB0aGUgc2hlbGwgYnkgR2l0LCB3aGljaCB3aWxsIHRyYW5zbGF0ZSB0aGUgZmluYWwKK2NvbW1hbmQgdG8gYExFU1M9RlJTWCBsZXNzIC0rU2AuIFRoZSBlbnZpcm9ubWVudCB0ZWxscyB0aGUgY29tbWFuZAordG8gc2V0IHRoZSBgU2Agb3B0aW9uIHRvIGNob3AgbG9uZyBsaW5lcyBidXQgdGhlIGNvbW1hbmQgbGluZQorcmVzZXRzIGl0IHRvIHRoZSBkZWZhdWx0IHRvIGZvbGQgbG9uZyBsaW5lcy4KKysKK0xpa2V3aXNlLCB3aGVuIHRoZSBgTFZgIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHVuc2V0LCBHaXQgc2V0cyBpdAordG8gYC1jYC4gIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBzZXR0aW5nIGJ5IGV4cG9ydGluZyBgTFZgIHdpdGgKK2Fub3RoZXIgdmFsdWUgb3Igc2V0dGluZyBgY29yZS5wYWdlcmAgdG8gYGx2ICtjYC4KIAogY29yZS53aGl0ZXNwYWNlOjoKIAlBIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGNvbW1vbiB3aGl0ZXNwYWNlIHByb2JsZW1zIHRvCkBAIC03MjYsNiArNzI4LDggQEAKIAlvdmVycmlkZGVuIGJ5IGBicmFuY2guPG5hbWU+LnB1c2hyZW1vdGVgLiAgSWYgbm8gcmVtb3RlIGlzCiAJY29uZmlndXJlZCwgb3IgaWYgeW91IGFyZSBub3Qgb24gYW55IGJyYW5jaCwgaXQgZGVmYXVsdHMgdG8KIAlgb3JpZ2luYCBmb3IgZmV0Y2hpbmcgYW5kIGByZW1vdGUucHVzaGRlZmF1bHRgIGZvciBwdXNoaW5nLgorCUFkZGl0aW9uYWxseSwgYC5gIChhIHBlcmlvZCkgaXMgdGhlIGN1cnJlbnQgbG9jYWwgcmVwb3NpdG9yeQorCShhIGRvdC1yZXBvc2l0b3J5KSwgc2VlIGBicmFuY2guPG5hbWU+Lm1lcmdlYCdzIGZpbmFsIG5vdGUgYmVsb3cuCiAKIGJyYW5jaC48bmFtZT4ucHVzaHJlbW90ZTo6CiAJV2hlbiBvbiBicmFuY2ggPG5hbWU+LCBpdCBvdmVycmlkZXMgYGJyYW5jaC48bmFtZT4ucmVtb3RlYCBmb3IKQEAgLTc1MSw4ICs3NTUsOCBAQAogCVNwZWNpZnkgbXVsdGlwbGUgdmFsdWVzIHRvIGdldCBhbiBvY3RvcHVzIG1lcmdlLgogCUlmIHlvdSB3aXNoIHRvIHNldHVwICdnaXQgcHVsbCcgc28gdGhhdCBpdCBtZXJnZXMgaW50byA8bmFtZT4gZnJvbQogCWFub3RoZXIgYnJhbmNoIGluIHRoZSBsb2NhbCByZXBvc2l0b3J5LCB5b3UgY2FuIHBvaW50Ci0JYnJhbmNoLjxuYW1lPi5tZXJnZSB0byB0aGUgZGVzaXJlZCBicmFuY2gsIGFuZCB1c2UgdGhlIHNwZWNpYWwgc2V0dGluZwotCWAuYCAoYSBwZXJpb2QpIGZvciBicmFuY2guPG5hbWU+LnJlbW90ZS4KKwlicmFuY2guPG5hbWU+Lm1lcmdlIHRvIHRoZSBkZXNpcmVkIGJyYW5jaCwgYW5kIHVzZSB0aGUgcmVsYXRpdmUgcGF0aAorCXNldHRpbmcgYC5gIChhIHBlcmlvZCkgZm9yIGJyYW5jaC48bmFtZT4ucmVtb3RlLgogCiBicmFuY2guPG5hbWU+Lm1lcmdlb3B0aW9uczo6CiAJU2V0cyBkZWZhdWx0IG9wdGlvbnMgZm9yIG1lcmdpbmcgaW50byBicmFuY2ggPG5hbWU+LiBUaGUgc3ludGF4IGFuZApAQCAtNzY2LDYgKzc3MCwxMCBAQAogCSJnaXQgcHVsbCIgaXMgcnVuLiBTZWUgInB1bGwucmViYXNlIiBmb3IgZG9pbmcgdGhpcyBpbiBhIG5vbgogCWJyYW5jaC1zcGVjaWZpYyBtYW5uZXIuCiArCisJV2hlbiBwcmVzZXJ2ZSwgYWxzbyBwYXNzIGAtLXByZXNlcnZlLW1lcmdlc2AgYWxvbmcgdG8gJ2dpdCByZWJhc2UnCisJc28gdGhhdCBsb2NhbGx5IGNvbW1pdHRlZCBtZXJnZSBjb21taXRzIHdpbGwgbm90IGJlIGZsYXR0ZW5lZAorCWJ5IHJ1bm5pbmcgJ2dpdCBwdWxsJy4KKysKICpOT1RFKjogdGhpcyBpcyBhIHBvc3NpYmx5IGRhbmdlcm91cyBvcGVyYXRpb247IGRvICpub3QqIHVzZQogaXQgdW5sZXNzIHlvdSB1bmRlcnN0YW5kIHRoZSBpbXBsaWNhdGlvbnMgKHNlZSBsaW5rZ2l0OmdpdC1yZWJhc2VbMV0KIGZvciBkZXRhaWxzKS4KQEAgLTc4Nyw4ICs3OTUsOCBAQAogCXdvcmtpbmcgcmVwb3NpdG9yeSBpbiBnaXR3ZWIgKHNlZSBsaW5rZ2l0OmdpdC1pbnN0YXdlYlsxXSkuCiAKIGNsZWFuLnJlcXVpcmVGb3JjZTo6Ci0JQSBib29sZWFuIHRvIG1ha2UgZ2l0LWNsZWFuIGRvIG5vdGhpbmcgdW5sZXNzIGdpdmVuIC1mCi0Jb3IgLW4uICAgRGVmYXVsdHMgdG8gdHJ1ZS4KKwlBIGJvb2xlYW4gdG8gbWFrZSBnaXQtY2xlYW4gZG8gbm90aGluZyB1bmxlc3MgZ2l2ZW4gLWYsCisJLWkgb3IgLW4uICAgRGVmYXVsdHMgdG8gdHJ1ZS4KIAogY29sb3IuYnJhbmNoOjoKIAlBIGJvb2xlYW4gdG8gZW5hYmxlL2Rpc2FibGUgY29sb3IgaW4gdGhlIG91dHB1dCBvZgpAQCAtMTA2MSw2ICsxMDY5LDEwIEBACiAJZXNwZWNpYWxseSBvbiBzbG93IGZpbGVzeXN0ZW1zLiAgSWYgbm90IHNldCwgdGhlIHZhbHVlIG9mCiAJYHRyYW5zZmVyLnVucGFja0xpbWl0YCBpcyB1c2VkIGluc3RlYWQuCiAKK2ZldGNoLnBydW5lOjoKKwlJZiB0cnVlLCBmZXRjaCB3aWxsIGF1dG9tYXRpY2FsbHkgYmVoYXZlIGFzIGlmIHRoZSBgLS1wcnVuZWAKKwlvcHRpb24gd2FzIGdpdmVuIG9uIHRoZSBjb21tYW5kIGxpbmUuICBTZWUgYWxzbyBgcmVtb3RlLjxuYW1lPi5wcnVuZWAuCisKIGZvcm1hdC5hdHRhY2g6OgogCUVuYWJsZSBtdWx0aXBhcnQvbWl4ZWQgYXR0YWNobWVudHMgYXMgdGhlIGRlZmF1bHQgZm9yCiAJJ2Zvcm1hdC1wYXRjaCcuICBUaGUgdmFsdWUgY2FuIGFsc28gYmUgYSBkb3VibGUgcXVvdGVkIHN0cmluZwpAQCAtMTQ0NSw3ICsxNDU3LDExIEBACiAJb2YgdGhlIGZpbGUgdG8gcmVhZCBjb29raWVzIGZyb20gc2hvdWxkIGJlIHBsYWluIEhUVFAgaGVhZGVycyBvcgogCXRoZSBOZXRzY2FwZS9Nb3ppbGxhIGNvb2tpZSBmaWxlIGZvcm1hdCAoc2VlIGxpbmtnaXQ6Y3VybFsxXSkuCiAJTk9URSB0aGF0IHRoZSBmaWxlIHNwZWNpZmllZCB3aXRoIGh0dHAuY29va2llZmlsZSBpcyBvbmx5IHVzZWQgYXMKLQlpbnB1dC4gTm8gY29va2llcyB3aWxsIGJlIHN0b3JlZCBpbiB0aGUgZmlsZS4KKwlpbnB1dCB1bmxlc3MgaHR0cC5zYXZlQ29va2llcyBpcyBzZXQuCisKK2h0dHAuc2F2ZWNvb2tpZXM6OgorCUlmIHNldCwgc3RvcmUgY29va2llcyByZWNlaXZlZCBkdXJpbmcgcmVxdWVzdHMgdG8gdGhlIGZpbGUgc3BlY2lmaWVkIGJ5CisJaHR0cC5jb29raWVmaWxlLiBIYXMgbm8gZWZmZWN0IGlmIGh0dHAuY29va2llZmlsZSBpcyB1bnNldC4KIAogaHR0cC5zc2xWZXJpZnk6OgogCVdoZXRoZXIgdG8gdmVyaWZ5IHRoZSBTU0wgY2VydGlmaWNhdGUgd2hlbiBmZXRjaGluZyBvciBwdXNoaW5nCkBAIC0xNTI1LDYgKzE1NDEsNTEgQEAKIAlvZiBjb21tb24gVVNFUl9BR0VOVCBzdHJpbmdzIChidXQgbm90IGluY2x1ZGluZyB0aG9zZSBsaWtlIGdpdC8xLjcuMSkuCiAJQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlICdHSVRfSFRUUF9VU0VSX0FHRU5UJyBlbnZpcm9ubWVudCB2YXJpYWJsZS4KIAoraHR0cC48dXJsPi4qOjoKKwlBbnkgb2YgdGhlIGh0dHAuKiBvcHRpb25zIGFib3ZlIGNhbiBiZSBhcHBsaWVkIHNlbGVjdGl2ZWx5IHRvIHNvbWUgdXJscy4KKwlGb3IgYSBjb25maWcga2V5IHRvIG1hdGNoIGEgVVJMLCBlYWNoIGVsZW1lbnQgb2YgdGhlIGNvbmZpZyBrZXkgaXMKKwljb21wYXJlZCB0byB0aGF0IG9mIHRoZSBVUkwsIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6CisrCistLQorLiBTY2hlbWUgKGUuZy4sIGBodHRwc2AgaW4gYGh0dHBzOi8vZXhhbXBsZS5jb20vYCkuIFRoaXMgZmllbGQKKyAgbXVzdCBtYXRjaCBleGFjdGx5IGJldHdlZW4gdGhlIGNvbmZpZyBrZXkgYW5kIHRoZSBVUkwuCisKKy4gSG9zdC9kb21haW4gbmFtZSAoZS5nLiwgYGV4YW1wbGUuY29tYCBpbiBgaHR0cHM6Ly9leGFtcGxlLmNvbS9gKS4KKyAgVGhpcyBmaWVsZCBtdXN0IG1hdGNoIGV4YWN0bHkgYmV0d2VlbiB0aGUgY29uZmlnIGtleSBhbmQgdGhlIFVSTC4KKworLiBQb3J0IG51bWJlciAoZS5nLiwgYDgwODBgIGluIGBodHRwOi8vZXhhbXBsZS5jb206ODA4MC9gKS4KKyAgVGhpcyBmaWVsZCBtdXN0IG1hdGNoIGV4YWN0bHkgYmV0d2VlbiB0aGUgY29uZmlnIGtleSBhbmQgdGhlIFVSTC4KKyAgT21pdHRlZCBwb3J0IG51bWJlcnMgYXJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIHRoZSBjb3JyZWN0CisgIGRlZmF1bHQgZm9yIHRoZSBzY2hlbWUgYmVmb3JlIG1hdGNoaW5nLgorCisuIFBhdGggKGUuZy4sIGByZXBvLmdpdGAgaW4gYGh0dHBzOi8vZXhhbXBsZS5jb20vcmVwby5naXRgKS4gVGhlCisgIHBhdGggZmllbGQgb2YgdGhlIGNvbmZpZyBrZXkgbXVzdCBtYXRjaCB0aGUgcGF0aCBmaWVsZCBvZiB0aGUgVVJMCisgIGVpdGhlciBleGFjdGx5IG9yIGFzIGEgcHJlZml4IG9mIHNsYXNoLWRlbGltaXRlZCBwYXRoIGVsZW1lbnRzLiAgVGhpcyBtZWFucworICBhIGNvbmZpZyBrZXkgd2l0aCBwYXRoIGBmb28vYCBtYXRjaGVzIFVSTCBwYXRoIGBmb28vYmFyYC4gIEEgcHJlZml4IGNhbiBvbmx5CisgIG1hdGNoIG9uIGEgc2xhc2ggKGAvYCkgYm91bmRhcnkuICBMb25nZXIgbWF0Y2hlcyB0YWtlIHByZWNlZGVuY2UgKHNvIGEgY29uZmlnCisgIGtleSB3aXRoIHBhdGggYGZvby9iYXJgIGlzIGEgYmV0dGVyIG1hdGNoIHRvIFVSTCBwYXRoIGBmb28vYmFyYCB0aGFuIGEgY29uZmlnCisgIGtleSB3aXRoIGp1c3QgcGF0aCBgZm9vL2ApLgorCisuIFVzZXIgbmFtZSAoZS5nLiwgYHVzZXJgIGluIGBodHRwczovL3VzZXJAZXhhbXBsZS5jb20vcmVwby5naXRgKS4gSWYKKyAgdGhlIGNvbmZpZyBrZXkgaGFzIGEgdXNlciBuYW1lIGl0IG11c3QgbWF0Y2ggdGhlIHVzZXIgbmFtZSBpbiB0aGUKKyAgVVJMIGV4YWN0bHkuIElmIHRoZSBjb25maWcga2V5IGRvZXMgbm90IGhhdmUgYSB1c2VyIG5hbWUsIHRoYXQKKyAgY29uZmlnIGtleSB3aWxsIG1hdGNoIGEgVVJMIHdpdGggYW55IHVzZXIgbmFtZSAoaW5jbHVkaW5nIG5vbmUpLAorICBidXQgYXQgYSBsb3dlciBwcmVjZWRlbmNlIHRoYW4gYSBjb25maWcga2V5IHdpdGggYSB1c2VyIG5hbWUuCistLQorKworVGhlIGxpc3QgYWJvdmUgaXMgb3JkZXJlZCBieSBkZWNyZWFzaW5nIHByZWNlZGVuY2U7IGEgVVJMIHRoYXQgbWF0Y2hlcworYSBjb25maWcga2V5J3MgcGF0aCBpcyBwcmVmZXJyZWQgdG8gb25lIHRoYXQgbWF0Y2hlcyBpdHMgdXNlciBuYW1lLiBGb3IgZXhhbXBsZSwKK2lmIHRoZSBVUkwgaXMgYGh0dHBzOi8vdXNlckBleGFtcGxlLmNvbS9mb28vYmFyYCBhIGNvbmZpZyBrZXkgbWF0Y2ggb2YKK2BodHRwczovL2V4YW1wbGUuY29tL2Zvb2Agd2lsbCBiZSBwcmVmZXJyZWQgb3ZlciBhIGNvbmZpZyBrZXkgbWF0Y2ggb2YKK2BodHRwczovL3VzZXJAZXhhbXBsZS5jb21gLgorKworQWxsIFVSTHMgYXJlIG5vcm1hbGl6ZWQgYmVmb3JlIGF0dGVtcHRpbmcgYW55IG1hdGNoaW5nICh0aGUgcGFzc3dvcmQgcGFydCwKK2lmIGVtYmVkZGVkIGluIHRoZSBVUkwsIGlzIGFsd2F5cyBpZ25vcmVkIGZvciBtYXRjaGluZyBwdXJwb3Nlcykgc28gdGhhdAorZXF1aXZhbGVudCB1cmxzIHRoYXQgYXJlIHNpbXBseSBzcGVsbGVkIGRpZmZlcmVudGx5IHdpbGwgbWF0Y2ggcHJvcGVybHkuCitFbnZpcm9ubWVudCB2YXJpYWJsZSBzZXR0aW5ncyBhbHdheXMgb3ZlcnJpZGUgYW55IG1hdGNoZXMuICBUaGUgdXJscyB0aGF0IGFyZQorbWF0Y2hlZCBhZ2FpbnN0IGFyZSB0aG9zZSBnaXZlbiBkaXJlY3RseSB0byBHaXQgY29tbWFuZHMuICBUaGlzIG1lYW5zIGFueSBVUkxzCit2aXNpdGVkIGFzIGEgcmVzdWx0IG9mIGEgcmVkaXJlY3Rpb24gZG8gbm90IHBhcnRpY2lwYXRlIGluIG1hdGNoaW5nLgorCiBpMThuLmNvbW1pdEVuY29kaW5nOjoKIAlDaGFyYWN0ZXIgZW5jb2RpbmcgdGhlIGNvbW1pdCBtZXNzYWdlcyBhcmUgc3RvcmVkIGluOyBHaXQgaXRzZWxmCiAJZG9lcyBub3QgY2FyZSBwZXIgc2UsIGJ1dCB0aGlzIGluZm9ybWF0aW9uIGlzIG5lY2Vzc2FyeSBlLmcuIHdoZW4KQEAgLTE4MjYsNiArMTg4NywxMCBAQAogCXB1bGwiIGlzIHJ1bi4gU2VlICJicmFuY2guPG5hbWU+LnJlYmFzZSIgZm9yIHNldHRpbmcgdGhpcyBvbiBhCiAJcGVyLWJyYW5jaCBiYXNpcy4KICsKKwlXaGVuIHByZXNlcnZlLCBhbHNvIHBhc3MgYC0tcHJlc2VydmUtbWVyZ2VzYCBhbG9uZyB0byAnZ2l0IHJlYmFzZScKKwlzbyB0aGF0IGxvY2FsbHkgY29tbWl0dGVkIG1lcmdlIGNvbW1pdHMgd2lsbCBub3QgYmUgZmxhdHRlbmVkCisJYnkgcnVubmluZyAnZ2l0IHB1bGwnLgorKwogKk5PVEUqOiB0aGlzIGlzIGEgcG9zc2libHkgZGFuZ2Vyb3VzIG9wZXJhdGlvbjsgZG8gKm5vdCogdXNlCiBpdCB1bmxlc3MgeW91IHVuZGVyc3RhbmQgdGhlIGltcGxpY2F0aW9ucyAoc2VlIGxpbmtnaXQ6Z2l0LXJlYmFzZVsxXQogZm9yIGRldGFpbHMpLgpAQCAtMTk2NSw2ICsyMDMwLDEwIEBACiAJSWYgc2V0IHRvIHRydWUsIGdpdC1yZWNlaXZlLXBhY2sgd2lsbCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbwogCWFmdGVyIHJlY2VpdmluZyBkYXRhIGZyb20gZ2l0LXB1c2ggYW5kIHVwZGF0aW5nIHJlZnMuCiAKK3JlY2VpdmUuc2hhbGxvd3VwZGF0ZTo6CisJSWYgc2V0IHRvIHRydWUsIC5naXQvc2hhbGxvdyBjYW4gYmUgdXBkYXRlZCB3aGVuIG5ldyByZWZzCisJcmVxdWlyZSBuZXcgc2hhbGxvdyByb290cy4gT3RoZXJ3aXNlIHRob3NlIHJlZnMgYXJlIHJlamVjdGVkLgorCiByZW1vdGUucHVzaGRlZmF1bHQ6OgogCVRoZSByZW1vdGUgdG8gcHVzaCB0byBieSBkZWZhdWx0LiAgT3ZlcnJpZGVzCiAJYGJyYW5jaC48bmFtZT4ucmVtb3RlYCBmb3IgYWxsIGJyYW5jaGVzLCBhbmQgaXMgb3ZlcnJpZGRlbiBieQpAQCAtMjAyNCw2ICsyMDkzLDEyIEBACiAJU2V0dGluZyB0aGlzIHRvIGEgdmFsdWUgPHZjcz4gd2lsbCBjYXVzZSBHaXQgdG8gaW50ZXJhY3Qgd2l0aAogCXRoZSByZW1vdGUgd2l0aCB0aGUgZ2l0LXJlbW90ZS08dmNzPiBoZWxwZXIuCiAKK3JlbW90ZS48bmFtZT4ucHJ1bmU6OgorCVdoZW4gc2V0IHRvIHRydWUsIGZldGNoaW5nIGZyb20gdGhpcyByZW1vdGUgYnkgZGVmYXVsdCB3aWxsIGFsc28KKwlyZW1vdmUgYW55IHJlbW90ZS10cmFja2luZyByZWZlcmVuY2VzIHRoYXQgbm8gbG9uZ2VyIGV4aXN0IG9uIHRoZQorCXJlbW90ZSAoYXMgaWYgdGhlIGAtLXBydW5lYCBvcHRpb24gd2FzIGdpdmVuIG9uIHRoZSBjb21tYW5kIGxpbmUpLgorCU92ZXJyaWRlcyBgZmV0Y2gucHJ1bmVgIHNldHRpbmdzLCBpZiBhbnkuCisKIHJlbW90ZXMuPGdyb3VwPjo6CiAJVGhlIGxpc3Qgb2YgcmVtb3RlcyB3aGljaCBhcmUgZmV0Y2hlZCBieSAiZ2l0IHJlbW90ZSB1cGRhdGUKIAk8Z3JvdXA+Ii4gIFNlZSBsaW5rZ2l0OmdpdC1yZW1vdGVbMV0uCkBAIC0yMTE4LDYgKzIxOTMsMTMgQEAKIAlTZXQgdG8gdHJ1ZSB0byBlbmFibGUgLS1icmFuY2ggYnkgZGVmYXVsdCBpbiBsaW5rZ2l0OmdpdC1zdGF0dXNbMV0uCiAJVGhlIG9wdGlvbiAtLW5vLWJyYW5jaCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhpcyB2YXJpYWJsZS4KIAorc3RhdHVzLmRpc3BsYXlDb21tZW50UHJlZml4OjoKKwlJZiBzZXQgdG8gdHJ1ZSwgbGlua2dpdDpnaXQtc3RhdHVzWzFdIHdpbGwgaW5zZXJ0IGEgY29tbWVudAorCXByZWZpeCBiZWZvcmUgZWFjaCBvdXRwdXQgbGluZSAoc3RhcnRpbmcgd2l0aAorCWBjb3JlLmNvbW1lbnRDaGFyYCwgaS5lLiBgI2AgYnkgZGVmYXVsdCkuIFRoaXMgd2FzIHRoZQorCWJlaGF2aW9yIG9mIGxpbmtnaXQ6Z2l0LXN0YXR1c1sxXSBpbiBHaXQgMS44LjQgYW5kIHByZXZpb3VzLgorCURlZmF1bHRzIHRvIGZhbHNlLgorCiBzdGF0dXMuc2hvd1VudHJhY2tlZEZpbGVzOjoKIAlCeSBkZWZhdWx0LCBsaW5rZ2l0OmdpdC1zdGF0dXNbMV0gYW5kIGxpbmtnaXQ6Z2l0LWNvbW1pdFsxXSBzaG93CiAJZmlsZXMgd2hpY2ggYXJlIG5vdCBjdXJyZW50bHkgdHJhY2tlZCBieSBHaXQuIERpcmVjdG9yaWVzIHdoaWNoCkBAIC0yMTQyLDcgKzIyMjQsMTQgQEAKIAlJZiB0aGlzIGlzIHNldCB0byBhIG5vbiB6ZXJvIG51bWJlciBvciB0cnVlIChpZGVudGljYWwgdG8gLTEgb3IgYW4KIAl1bmxpbWl0ZWQgbnVtYmVyKSwgdGhlIHN1Ym1vZHVsZSBzdW1tYXJ5IHdpbGwgYmUgZW5hYmxlZCBhbmQgYQogCXN1bW1hcnkgb2YgY29tbWl0cyBmb3IgbW9kaWZpZWQgc3VibW9kdWxlcyB3aWxsIGJlIHNob3duIChzZWUKLQktLXN1bW1hcnktbGltaXQgb3B0aW9uIG9mIGxpbmtnaXQ6Z2l0LXN1Ym1vZHVsZVsxXSkuCisJLS1zdW1tYXJ5LWxpbWl0IG9wdGlvbiBvZiBsaW5rZ2l0OmdpdC1zdWJtb2R1bGVbMV0pLiBQbGVhc2Ugbm90ZQorCXRoYXQgdGhlIHN1bW1hcnkgb3V0cHV0IGNvbW1hbmQgd2lsbCBiZSBzdXBwcmVzc2VkIGZvciBhbGwKKwlzdWJtb2R1bGVzIHdoZW4gYGRpZmYuaWdub3JlU3VibW9kdWxlc2AgaXMgc2V0IHRvICdhbGwnIG9yIG9ubHkKKwlmb3IgdGhvc2Ugc3VibW9kdWxlcyB3aGVyZSBgc3VibW9kdWxlLjxuYW1lPi5pZ25vcmU9YWxsYC4gVG8KKwlhbHNvIHZpZXcgdGhlIHN1bW1hcnkgZm9yIGlnbm9yZWQgc3VibW9kdWxlcyB5b3UgY2FuIGVpdGhlciB1c2UKKwl0aGUgLS1pZ25vcmUtc3VibW9kdWxlcz1kaXJ0eSBjb21tYW5kIGxpbmUgb3B0aW9uIG9yIHRoZSAnZ2l0CisJc3VibW9kdWxlIHN1bW1hcnknIGNvbW1hbmQsIHdoaWNoIHNob3dzIGEgc2ltaWxhciBvdXRwdXQgYnV0IGRvZXMKKwlub3QgaG9ub3IgdGhlc2Ugc2V0dGluZ3MuCiAKIHN1Ym1vZHVsZS48bmFtZT4ucGF0aDo6CiBzdWJtb2R1bGUuPG5hbWU+LnVybDo6CkBAIC0yMTc3LDcgKzIyNjYsOCBAQAogCXN1Ym1vZHVsZXMgdGhhdCBoYXZlIHVudHJhY2tlZCBmaWxlcyBpbiB0aGVpciB3b3JrIHRyZWUgYXMgY2hhbmdlZC4KIAlUaGlzIHNldHRpbmcgb3ZlcnJpZGVzIGFueSBzZXR0aW5nIG1hZGUgaW4gLmdpdG1vZHVsZXMgZm9yIHRoaXMgc3VibW9kdWxlLAogCWJvdGggc2V0dGluZ3MgY2FuIGJlIG92ZXJyaWRkZW4gb24gdGhlIGNvbW1hbmQgbGluZSBieSB1c2luZyB0aGUKLQkiLS1pZ25vcmUtc3VibW9kdWxlcyIgb3B0aW9uLgorCSItLWlnbm9yZS1zdWJtb2R1bGVzIiBvcHRpb24uIFRoZSAnZ2l0IHN1Ym1vZHVsZScgY29tbWFuZHMgYXJlIG5vdAorCWFmZmVjdGVkIGJ5IHRoaXMgc2V0dGluZy4KIAogdGFyLnVtYXNrOjoKIAlUaGlzIHZhcmlhYmxlIGNhbiBiZSB1c2VkIHRvIHJlc3RyaWN0IHRoZSBwZXJtaXNzaW9uIGJpdHMgb2YKQEAgLTIyNjIsMTEgKzIzNTIsMTEgQEAKIAllbnZpcm9ubWVudCB2YXJpYWJsZXMuICBTZWUgbGlua2dpdDpnaXQtY29tbWl0LXRyZWVbMV0uCiAKIHVzZXIuc2lnbmluZ2tleTo6Ci0JSWYgbGlua2dpdDpnaXQtdGFnWzFdIGlzIG5vdCBzZWxlY3RpbmcgdGhlIGtleSB5b3Ugd2FudCBpdCB0bwotCWF1dG9tYXRpY2FsbHkgd2hlbiBjcmVhdGluZyBhIHNpZ25lZCB0YWcsIHlvdSBjYW4gb3ZlcnJpZGUgdGhlCi0JZGVmYXVsdCBzZWxlY3Rpb24gd2l0aCB0aGlzIHZhcmlhYmxlLiAgVGhpcyBvcHRpb24gaXMgcGFzc2VkCi0JdW5jaGFuZ2VkIHRvIGdwZydzIC0tbG9jYWwtdXNlciBwYXJhbWV0ZXIsIHNvIHlvdSBtYXkgc3BlY2lmeSBhIGtleQotCXVzaW5nIGFueSBtZXRob2QgdGhhdCBncGcgc3VwcG9ydHMuCisJSWYgbGlua2dpdDpnaXQtdGFnWzFdIG9yIGxpbmtnaXQ6Z2l0LWNvbW1pdFsxXSBpcyBub3Qgc2VsZWN0aW5nIHRoZQorCWtleSB5b3Ugd2FudCBpdCB0byBhdXRvbWF0aWNhbGx5IHdoZW4gY3JlYXRpbmcgYSBzaWduZWQgdGFnIG9yCisJY29tbWl0LCB5b3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHNlbGVjdGlvbiB3aXRoIHRoaXMgdmFyaWFibGUuCisJVGhpcyBvcHRpb24gaXMgcGFzc2VkIHVuY2hhbmdlZCB0byBncGcncyAtLWxvY2FsLXVzZXIgcGFyYW1ldGVyLAorCXNvIHlvdSBtYXkgc3BlY2lmeSBhIGtleSB1c2luZyBhbnkgbWV0aG9kIHRoYXQgZ3BnIHN1cHBvcnRzLgogCiB3ZWIuYnJvd3Nlcjo6CiAJU3BlY2lmeSBhIHdlYiBicm93c2VyIHRoYXQgbWF5IGJlIHVzZWQgYnkgc29tZSBjb21tYW5kcy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGF0ZS1mb3JtYXRzLnR4dCBiL0RvY3VtZW50YXRpb24vZGF0ZS1mb3JtYXRzLnR4dAppbmRleCBjMDAwZjA4Li5jY2QxZmM4IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2RhdGUtZm9ybWF0cy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9kYXRlLWZvcm1hdHMudHh0CkBAIC04LDkgKzgsOSBAQAogc3VwcG9ydCB0aGUgZm9sbG93aW5nIGRhdGUgZm9ybWF0czoKIAogR2l0IGludGVybmFsIGZvcm1hdDo6Ci0JSXQgaXMgYDx1bml4IHRpbWVzdGFtcD4gPHRpbWV6b25lIG9mZnNldD5gLCB3aGVyZSBgPHVuaXgKKwlJdCBpcyBgPHVuaXggdGltZXN0YW1wPiA8dGltZSB6b25lIG9mZnNldD5gLCB3aGVyZSBgPHVuaXgKIAl0aW1lc3RhbXA+YCBpcyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgc2luY2UgdGhlIFVOSVggZXBvY2guCi0JYDx0aW1lem9uZSBvZmZzZXQ+YCBpcyBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG9mZnNldCBmcm9tIFVUQy4KKwlgPHRpbWUgem9uZSBvZmZzZXQ+YCBpcyBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG9mZnNldCBmcm9tIFVUQy4KIAlGb3IgZXhhbXBsZSBDRVQgKHdoaWNoIGlzIDIgaG91cnMgYWhlYWQgVVRDKSBpcyBgKzAyMDBgLgogCiBSRkMgMjgyMjo6CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RpZmYtY29uZmlnLnR4dCBiL0RvY3VtZW50YXRpb24vZGlmZi1jb25maWcudHh0CmluZGV4IGFjNzcwNTAuLmYwN2I0NTEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZGlmZi1jb25maWcudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZGlmZi1jb25maWcudHh0CkBAIC03Myw3ICs3MywxMSBAQAogCVNldHMgdGhlIGRlZmF1bHQgdmFsdWUgb2YgLS1pZ25vcmUtc3VibW9kdWxlcy4gTm90ZSB0aGF0IHRoaXMKIAlhZmZlY3RzIG9ubHkgJ2dpdCBkaWZmJyBQb3JjZWxhaW4sIGFuZCBub3QgbG93ZXIgbGV2ZWwgJ2RpZmYnCiAJY29tbWFuZHMgc3VjaCBhcyAnZ2l0IGRpZmYtZmlsZXMnLiAnZ2l0IGNoZWNrb3V0JyBhbHNvIGhvbm9ycwotCXRoaXMgc2V0dGluZyB3aGVuIHJlcG9ydGluZyB1bmNvbW1pdHRlZCBjaGFuZ2VzLgorCXRoaXMgc2V0dGluZyB3aGVuIHJlcG9ydGluZyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiBTZXR0aW5nIGl0IHRvCisJJ2FsbCcgZGlzYWJsZXMgdGhlIHN1Ym1vZHVsZSBzdW1tYXJ5IG5vcm1hbGx5IHNob3duIGJ5ICdnaXQgY29tbWl0JworCWFuZCAnZ2l0IHN0YXR1cycgd2hlbiAnc3RhdHVzLnN1Ym1vZHVsZXN1bW1hcnknIGlzIHNldCB1bmxlc3MgaXQgaXMKKwlvdmVycmlkZGVuIGJ5IHVzaW5nIHRoZSAtLWlnbm9yZS1zdWJtb2R1bGVzIGNvbW1hbmQgbGluZSBvcHRpb24uCisJVGhlICdnaXQgc3VibW9kdWxlJyBjb21tYW5kcyBhcmUgbm90IGFmZmVjdGVkIGJ5IHRoaXMgc2V0dGluZy4KIAogZGlmZi5tbmVtb25pY3ByZWZpeDo6CiAJSWYgc2V0LCAnZ2l0IGRpZmYnIHVzZXMgYSBwcmVmaXggcGFpciB0aGF0IGlzIGRpZmZlcmVudCBmcm9tIHRoZQpAQCAtOTQsNiArOTgsMTEgQEAKIGRpZmYubm9wcmVmaXg6OgogCUlmIHNldCwgJ2dpdCBkaWZmJyBkb2VzIG5vdCBzaG93IGFueSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gcHJlZml4LgogCitkaWZmLm9yZGVyZmlsZTo6CisJRmlsZSBpbmRpY2F0aW5nIGhvdyB0byBvcmRlciBmaWxlcyB3aXRoaW4gYSBkaWZmLCB1c2luZworCW9uZSBzaGVsbCBnbG9iIHBhdHRlcm4gcGVyIGxpbmUuCisJQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlICctTycgb3B0aW9uIHRvIGxpbmtnaXQ6Z2l0LWRpZmZbMV0uCisKIGRpZmYucmVuYW1lTGltaXQ6OgogCVRoZSBudW1iZXIgb2YgZmlsZXMgdG8gY29uc2lkZXIgd2hlbiBwZXJmb3JtaW5nIHRoZSBjb3B5L3JlbmFtZQogCWRldGVjdGlvbjsgZXF1aXZhbGVudCB0byB0aGUgJ2dpdCBkaWZmJyBvcHRpb24gJy1sJy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGlmZi1vcHRpb25zLnR4dCBiL0RvY3VtZW50YXRpb24vZGlmZi1vcHRpb25zLnR4dAppbmRleCBiYmVkMmNkLi45YjM3YjJhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2RpZmYtb3B0aW9ucy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9kaWZmLW9wdGlvbnMudHh0CkBAIC00MzIsNiArNDMyLDkgQEAKIC1PPG9yZGVyZmlsZT46OgogCU91dHB1dCB0aGUgcGF0Y2ggaW4gdGhlIG9yZGVyIHNwZWNpZmllZCBpbiB0aGUKIAk8b3JkZXJmaWxlPiwgd2hpY2ggaGFzIG9uZSBzaGVsbCBnbG9iIHBhdHRlcm4gcGVyIGxpbmUuCisJVGhpcyBvdmVycmlkZXMgdGhlIGBkaWZmLm9yZGVyZmlsZWAgY29uZmlndXJhdGlvbiB2YXJpYWJsZQorCShzZWUgbGlua2dpdDpnaXQtY29uZmlnWzFdKS4gIFRvIGNhbmNlbCBgZGlmZi5vcmRlcmZpbGVgLAorCXVzZSBgLU8vZGV2L251bGxgLgogCiBpZm5kZWY6OmdpdC1mb3JtYXQtcGF0Y2hbXQogLVI6OgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ldmVyeWRheS50eHQgYi9Eb2N1bWVudGF0aW9uL2V2ZXJ5ZGF5LnR4dAppbmRleCBlMWZiYTg1Li4yYTE4YzFmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2V2ZXJ5ZGF5LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2V2ZXJ5ZGF5LnR4dApAQCAtMzA0LDcgKzMwNCw3IEBACiAgICogbGlua2dpdDpnaXQtc2hlbGxbMV0gY2FuIGJlIHVzZWQgYXMgYSAncmVzdHJpY3RlZCBsb2dpbiBzaGVsbCcKICAgICBmb3Igc2hhcmVkIGNlbnRyYWwgcmVwb3NpdG9yeSB1c2Vycy4KIAotbGluazpob3d0by91cGRhdGUtaG9vay1leGFtcGxlLnR4dFt1cGRhdGUgaG9vayBob3d0b10gaGFzIGEgZ29vZAorbGluazpob3d0by91cGRhdGUtaG9vay1leGFtcGxlLmh0bWxbdXBkYXRlIGhvb2sgaG93dG9dIGhhcyBhIGdvb2QKIGV4YW1wbGUgb2YgbWFuYWdpbmcgYSBzaGFyZWQgY2VudHJhbCByZXBvc2l0b3J5LgogCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZmV0Y2gtb3B0aW9ucy50eHQgYi9Eb2N1bWVudGF0aW9uL2ZldGNoLW9wdGlvbnMudHh0CmluZGV4IGJhMWZlNDkuLjkyYzY4YzMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZmV0Y2gtb3B0aW9ucy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9mZXRjaC1vcHRpb25zLnR4dApAQCAtMTQsOCArMTQsMTggQEAKIAlicmFuY2ggaGlzdG9yeS4gVGFncyBmb3IgdGhlIGRlZXBlbmVkIGNvbW1pdHMgYXJlIG5vdCBmZXRjaGVkLgogCiAtLXVuc2hhbGxvdzo6Ci0JQ29udmVydCBhIHNoYWxsb3cgcmVwb3NpdG9yeSB0byBhIGNvbXBsZXRlIG9uZSwgcmVtb3ZpbmcgYWxsCi0JdGhlIGxpbWl0YXRpb25zIGltcG9zZWQgYnkgc2hhbGxvdyByZXBvc2l0b3JpZXMuCisJSWYgdGhlIHNvdXJjZSByZXBvc2l0b3J5IGlzIGNvbXBsZXRlLCBjb252ZXJ0IGEgc2hhbGxvdworCXJlcG9zaXRvcnkgdG8gYSBjb21wbGV0ZSBvbmUsIHJlbW92aW5nIGFsbCB0aGUgbGltaXRhdGlvbnMKKwlpbXBvc2VkIGJ5IHNoYWxsb3cgcmVwb3NpdG9yaWVzLgorKworSWYgdGhlIHNvdXJjZSByZXBvc2l0b3J5IGlzIHNoYWxsb3csIGZldGNoIGFzIG11Y2ggYXMgcG9zc2libGUgc28gdGhhdAordGhlIGN1cnJlbnQgcmVwb3NpdG9yeSBoYXMgdGhlIHNhbWUgaGlzdG9yeSBhcyB0aGUgc291cmNlIHJlcG9zaXRvcnkuCisKKy0tdXBkYXRlLXNoYWxsb3c6OgorCUJ5IGRlZmF1bHQgd2hlbiBmZXRjaGluZyBmcm9tIGEgc2hhbGxvdyByZXBvc2l0b3J5LAorCWBnaXQgZmV0Y2hgIHJlZnVzZXMgcmVmcyB0aGF0IHJlcXVpcmUgdXBkYXRpbmcKKwkuZ2l0L3NoYWxsb3cuIFRoaXMgb3B0aW9uIHVwZGF0ZXMgLmdpdC9zaGFsbG93IGFuZCBhY2NlcHQgc3VjaAorCXJlZnMuCiAKIGlmbmRlZjo6Z2l0LXB1bGxbXQogLS1kcnktcnVuOjoKQEAgLTQxLDE3ICs1MSwyMCBAQAogCiAtcDo6CiAtLXBydW5lOjoKLQlBZnRlciBmZXRjaGluZywgcmVtb3ZlIGFueSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgd2hpY2gKLQlubyBsb25nZXIgZXhpc3QJb24gdGhlIHJlbW90ZS4KKwlBZnRlciBmZXRjaGluZywgcmVtb3ZlIGFueSByZW1vdGUtdHJhY2tpbmcgcmVmZXJlbmNlcyB0aGF0IG5vCisJbG9uZ2VyIGV4aXN0IG9uIHRoZSByZW1vdGUuICBUYWdzIGFyZSBub3Qgc3ViamVjdCB0byBwcnVuaW5nCisJaWYgdGhleSBhcmUgZmV0Y2hlZCBvbmx5IGJlY2F1c2Ugb2YgdGhlIGRlZmF1bHQgdGFnCisJYXV0by1mb2xsb3dpbmcgb3IgZHVlIHRvIGEgLS10YWdzIG9wdGlvbi4gIEhvd2V2ZXIsIGlmIHRhZ3MKKwlhcmUgZmV0Y2hlZCBkdWUgdG8gYW4gZXhwbGljaXQgcmVmc3BlYyAoZWl0aGVyIG9uIHRoZSBjb21tYW5kCisJbGluZSBvciBpbiB0aGUgcmVtb3RlIGNvbmZpZ3VyYXRpb24sIGZvciBleGFtcGxlIGlmIHRoZSByZW1vdGUKKwl3YXMgY2xvbmVkIHdpdGggdGhlIC0tbWlycm9yIG9wdGlvbiksIHRoZW4gdGhleSBhcmUgYWxzbworCXN1YmplY3QgdG8gcHJ1bmluZy4KIGVuZGlmOjpnaXQtcHVsbFtdCiAKLWlmZGVmOjpnaXQtcHVsbFtdCi0tLW5vLXRhZ3M6OgotZW5kaWY6OmdpdC1wdWxsW10KIGlmbmRlZjo6Z2l0LXB1bGxbXQogLW46OgotLS1uby10YWdzOjoKIGVuZGlmOjpnaXQtcHVsbFtdCistLW5vLXRhZ3M6OgogCUJ5IGRlZmF1bHQsIHRhZ3MgdGhhdCBwb2ludCBhdCBvYmplY3RzIHRoYXQgYXJlIGRvd25sb2FkZWQKIAlmcm9tIHRoZSByZW1vdGUgcmVwb3NpdG9yeSBhcmUgZmV0Y2hlZCBhbmQgc3RvcmVkIGxvY2FsbHkuCiAJVGhpcyBvcHRpb24gZGlzYWJsZXMgdGhpcyBhdXRvbWF0aWMgdGFnIGZvbGxvd2luZy4gVGhlIGRlZmF1bHQKQEAgLTYxLDExICs3NCwxMiBAQAogaWZuZGVmOjpnaXQtcHVsbFtdCiAtdDo6CiAtLXRhZ3M6OgotCVRoaXMgaXMgYSBzaG9ydC1oYW5kIGZvciBnaXZpbmcgYHJlZnMvdGFncy8qOnJlZnMvdGFncy8qYAotCXJlZnNwZWMgZnJvbSB0aGUgY29tbWFuZCBsaW5lLCB0byBhc2sgYWxsIHRhZ3MgdG8gYmUgZmV0Y2hlZAotCWFuZCBzdG9yZWQgbG9jYWxseS4gIEJlY2F1c2UgdGhpcyBhY3RzIGFzIGFuIGV4cGxpY2l0Ci0JcmVmc3BlYywgdGhlIGRlZmF1bHQgcmVmc3BlY3MgKGNvbmZpZ3VyZWQgd2l0aCB0aGUKLQlyZW1vdGUuJG5hbWUuZmV0Y2ggdmFyaWFibGUpIGFyZSBvdmVycmlkZGVuIGFuZCBub3QgdXNlZC4KKwlGZXRjaCBhbGwgdGFncyBmcm9tIHRoZSByZW1vdGUgKGkuZS4sIGZldGNoIHJlbW90ZSB0YWdzCisJYHJlZnMvdGFncy8qYCBpbnRvIGxvY2FsIHRhZ3Mgd2l0aCB0aGUgc2FtZSBuYW1lKSwgaW4gYWRkaXRpb24KKwl0byB3aGF0ZXZlciBlbHNlIHdvdWxkIG90aGVyd2lzZSBiZSBmZXRjaGVkLiAgVXNpbmcgdGhpcworCW9wdGlvbiBhbG9uZSBkb2VzIG5vdCBzdWJqZWN0IHRhZ3MgdG8gcHJ1bmluZywgZXZlbiBpZiAtLXBydW5lCisJaXMgdXNlZCAodGhvdWdoIHRhZ3MgbWF5IGJlIHBydW5lZCBhbnl3YXkgaWYgdGhleSBhcmUgYWxzbyB0aGUKKwlkZXN0aW5hdGlvbiBvZiBhbiBleHBsaWNpdCByZWZzcGVjOyBzZWUgJy0tcHJ1bmUnKS4KIAogLS1yZWN1cnNlLXN1Ym1vZHVsZXNbPXllc3xvbi1kZW1hbmR8bm9dOjoKIAlUaGlzIG9wdGlvbiBjb250cm9scyBpZiBhbmQgdW5kZXIgd2hhdCBjb25kaXRpb25zIG5ldyBjb21taXRzIG9mCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1ibGFtZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1ibGFtZS50eHQKaW5kZXggNmNlYTdmMS4uOGU3MGE2MSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtYmxhbWUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWJsYW1lLnR4dApAQCAtOSw3ICs5LDcgQEAKIC0tLS0tLS0tCiBbdmVyc2VdCiAnZ2l0IGJsYW1lJyBbLWNdIFstYl0gWy1sXSBbLS1yb290XSBbLXRdIFstZl0gWy1uXSBbLXNdIFstZV0gWy1wXSBbLXddIFstLWluY3JlbWVudGFsXQotCSAgICBbLUwgbixtIHwgLUwgOmZuXSBbLVMgPHJldnMtZmlsZT5dIFstTV0gWy1DXSBbLUNdIFstQ10gWy0tc2luY2U9PGRhdGU+XQorCSAgICBbLUwgPHJhbmdlPl0gWy1TIDxyZXZzLWZpbGU+XSBbLU1dIFstQ10gWy1DXSBbLUNdIFstLXNpbmNlPTxkYXRlPl0KIAkgICAgWy0tYWJicmV2PTxuPl0gWzxyZXY+IHwgLS1jb250ZW50cyA8ZmlsZT4gfCAtLXJldmVyc2UgPHJldj5dIFstLV0gPGZpbGU+CiAKIERFU0NSSVBUSU9OCkBAIC0xOCw3ICsxOCw4IEBACiBBbm5vdGF0ZXMgZWFjaCBsaW5lIGluIHRoZSBnaXZlbiBmaWxlIHdpdGggaW5mb3JtYXRpb24gZnJvbSB0aGUgcmV2aXNpb24gd2hpY2gKIGxhc3QgbW9kaWZpZWQgdGhlIGxpbmUuIE9wdGlvbmFsbHksIHN0YXJ0IGFubm90YXRpbmcgZnJvbSB0aGUgZ2l2ZW4gcmV2aXNpb24uCiAKLVRoZSBjb21tYW5kIGNhbiBhbHNvIGxpbWl0IHRoZSByYW5nZSBvZiBsaW5lcyBhbm5vdGF0ZWQuCitXaGVuIHNwZWNpZmllZCBvbmUgb3IgbW9yZSB0aW1lcywgYC1MYCByZXN0cmljdHMgYW5ub3RhdGlvbiB0byB0aGUgcmVxdWVzdGVkCitsaW5lcy4KIAogVGhlIG9yaWdpbiBvZiBsaW5lcyBpcyBhdXRvbWF0aWNhbGx5IGZvbGxvd2VkIGFjcm9zcyB3aG9sZS1maWxlCiByZW5hbWVzIChjdXJyZW50bHkgdGhlcmUgaXMgbm8gb3B0aW9uIHRvIHR1cm4gdGhlIHJlbmFtZS1mb2xsb3dpbmcKQEAgLTEwMiw3ICsxMDMsNyBAQAogYXQgbGVhc3Qgb25jZSBmb3IgZWFjaCBjb21taXQ6CiAKIC0gdGhlIGF1dGhvciBuYW1lICgiYXV0aG9yIiksIGVtYWlsICgiYXV0aG9yLW1haWwiKSwgdGltZQotICAoImF1dGhvci10aW1lIiksIGFuZCB0aW1lem9uZSAoImF1dGhvci10eiIpOyBzaW1pbGFybHkKKyAgKCJhdXRob3ItdGltZSIpLCBhbmQgdGltZSB6b25lICgiYXV0aG9yLXR6Iik7IHNpbWlsYXJseQogICBmb3IgY29tbWl0dGVyLgogLSB0aGUgZmlsZW5hbWUgaW4gdGhlIGNvbW1pdCB0aGF0IHRoZSBsaW5lIGlzIGF0dHJpYnV0ZWQgdG8uCiAtIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBjb21taXQgbG9nIG1lc3NhZ2UgKCJzdW1tYXJ5IikuCkBAIC0xMzAsNyArMTMxLDEwIEBACiAKIFVubGlrZSAnZ2l0IGJsYW1lJyBhbmQgJ2dpdCBhbm5vdGF0ZScgaW4gb2xkZXIgdmVyc2lvbnMgb2YgZ2l0LCB0aGUgZXh0ZW50CiBvZiB0aGUgYW5ub3RhdGlvbiBjYW4gYmUgbGltaXRlZCB0byBib3RoIGxpbmUgcmFuZ2VzIGFuZCByZXZpc2lvbgotcmFuZ2VzLiAgV2hlbiB5b3UgYXJlIGludGVyZXN0ZWQgaW4gZmluZGluZyB0aGUgb3JpZ2luIGZvcgorcmFuZ2VzLiBUaGUgYC1MYCBvcHRpb24sIHdoaWNoIGxpbWl0cyBhbm5vdGF0aW9uIHRvIGEgcmFuZ2Ugb2YgbGluZXMsIG1heSBiZQorc3BlY2lmaWVkIG11bHRpcGxlIHRpbWVzLgorCitXaGVuIHlvdSBhcmUgaW50ZXJlc3RlZCBpbiBmaW5kaW5nIHRoZSBvcmlnaW4gZm9yCiBsaW5lcyA0MC02MCBmb3IgZmlsZSBgZm9vYCwgeW91IGNhbiB1c2UgdGhlIGAtTGAgb3B0aW9uIGxpa2Ugc28KICh0aGV5IG1lYW4gdGhlIHNhbWUgdGhpbmcgLS0gYm90aCBhc2sgZm9yIDIxIGxpbmVzIHN0YXJ0aW5nIGF0CiBsaW5lIDQwKToKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWNhdC1maWxlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNhdC1maWxlLnR4dAppbmRleCAxMGZiYzZhLi5mNmExNmY0IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jYXQtZmlsZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY2F0LWZpbGUudHh0CkBAIC01NCw3ICs1NCw3IEBACiAKIC0tdGV4dGNvbnY6OgogCVNob3cgdGhlIGNvbnRlbnQgYXMgdHJhbnNmb3JtZWQgYnkgYSB0ZXh0Y29udiBmaWx0ZXIuIEluIHRoaXMgY2FzZSwKLQk8b2JqZWN0PiBoYXMgYmUgb2YgdGhlIGZvcm0gPHRyZWVpc2g+OjxwYXRoPiwgb3IgOjxwYXRoPiBpbiBvcmRlcgorCTxvYmplY3Q+IGhhcyBiZSBvZiB0aGUgZm9ybSA8dHJlZS1pc2g+OjxwYXRoPiwgb3IgOjxwYXRoPiBpbiBvcmRlcgogCXRvIGFwcGx5IHRoZSBmaWx0ZXIgdG8gdGhlIGNvbnRlbnQgcmVjb3JkZWQgaW4gdGhlIGluZGV4IGF0IDxwYXRoPi4KIAogLS1iYXRjaDo6CkBAIC04NiwxMCArODYsOSBAQAogLS0tLS0tLS0tLS0tCiAKIElmIGAtLWJhdGNoYCBvciBgLS1iYXRjaC1jaGVja2AgaXMgZ2l2ZW4sIGBjYXQtZmlsZWAgd2lsbCByZWFkIG9iamVjdHMKLWZyb20gc3RkaW4sIG9uZSBwZXIgbGluZSwgYW5kIHByaW50IGluZm9ybWF0aW9uIGFib3V0IHRoZW0uCi0KLUVhY2ggbGluZSBpcyBjb25zaWRlcmVkIGFzIGEgd2hvbGUgb2JqZWN0IG5hbWUsIGFuZCBpcyBwYXJzZWQgYXMgaWYKLWdpdmVuIHRvIGxpbmtnaXQ6Z2l0LXJldi1wYXJzZVsxXS4KK2Zyb20gc3RkaW4sIG9uZSBwZXIgbGluZSwgYW5kIHByaW50IGluZm9ybWF0aW9uIGFib3V0IHRoZW0uIEJ5IGRlZmF1bHQsCit0aGUgd2hvbGUgbGluZSBpcyBjb25zaWRlcmVkIGFzIGFuIG9iamVjdCwgYXMgaWYgaXQgd2VyZSBmZWQgdG8KK2xpbmtnaXQ6Z2l0LXJldi1wYXJzZVsxXS4KIAogWW91IGNhbiBzcGVjaWZ5IHRoZSBpbmZvcm1hdGlvbiBzaG93biBmb3IgZWFjaCBvYmplY3QgYnkgdXNpbmcgYSBjdXN0b20KIGA8Zm9ybWF0PmAuIFRoZSBgPGZvcm1hdD5gIGlzIGNvcGllZCBsaXRlcmFsbHkgdG8gc3Rkb3V0IGZvciBlYWNoCkBAIC0xMTAsNiArMTA5LDE4IEBACiAJVGhlIHNpemUsIGluIGJ5dGVzLCB0aGF0IHRoZSBvYmplY3QgdGFrZXMgdXAgb24gZGlzay4gU2VlIHRoZQogCW5vdGUgYWJvdXQgb24tZGlzayBzaXplcyBpbiB0aGUgYENBVkVBVFNgIHNlY3Rpb24gYmVsb3cuCiAKK2BkZWx0YWJhc2VgOjoKKwlJZiB0aGUgb2JqZWN0IGlzIHN0b3JlZCBhcyBhIGRlbHRhIG9uLWRpc2ssIHRoaXMgZXhwYW5kcyB0byB0aGUKKwk0MC1oZXggc2hhMSBvZiB0aGUgZGVsdGEgYmFzZSBvYmplY3QuIE90aGVyd2lzZSwgZXhwYW5kcyB0byB0aGUKKwludWxsIHNoYTEgKDQwIHplcm9lcykuIFNlZSBgQ0FWRUFUU2AgYmVsb3cuCisKK2ByZXN0YDo6CisJSWYgdGhpcyBhdG9tIGlzIHVzZWQgaW4gdGhlIG91dHB1dCBzdHJpbmcsIGlucHV0IGxpbmVzIGFyZSBzcGxpdAorCWF0IHRoZSBmaXJzdCB3aGl0ZXNwYWNlIGJvdW5kYXJ5LiBBbGwgY2hhcmFjdGVycyBiZWZvcmUgdGhhdAorCXdoaXRlc3BhY2UgYXJlIGNvbnNpZGVyZWQgdG8gYmUgdGhlIG9iamVjdCBuYW1lOyBjaGFyYWN0ZXJzCisJYWZ0ZXIgdGhhdCBmaXJzdCBydW4gb2Ygd2hpdGVzcGFjZSAoaS5lLiwgdGhlICJyZXN0IiBvZiB0aGUKKwlsaW5lKSBhcmUgb3V0cHV0IGluIHBsYWNlIG9mIHRoZSBgJShyZXN0KWAgYXRvbS4KKwogSWYgbm8gZm9ybWF0IGlzIHNwZWNpZmllZCwgdGhlIGRlZmF1bHQgZm9ybWF0IGlzIGAlKG9iamVjdG5hbWUpCiAlKG9iamVjdHR5cGUpICUob2JqZWN0c2l6ZSlgLgogCkBAIC0xNDYsMTAgKzE1NywxMSBAQAogcmVzcG9uc2libGUgZm9yIGRpc2sgdXNhZ2UuIFRoZSBzaXplIG9mIGEgcGFja2VkIG5vbi1kZWx0YSBvYmplY3QgbWF5IGJlCiBtdWNoIGxhcmdlciB0aGFuIHRoZSBzaXplIG9mIG9iamVjdHMgd2hpY2ggZGVsdGEgYWdhaW5zdCBpdCwgYnV0IHRoZQogY2hvaWNlIG9mIHdoaWNoIG9iamVjdCBpcyB0aGUgYmFzZSBhbmQgd2hpY2ggaXMgdGhlIGRlbHRhIGlzIGFyYml0cmFyeQotYW5kIGlzIHN1YmplY3QgdG8gY2hhbmdlIGR1cmluZyBhIHJlcGFjay4gTm90ZSBhbHNvIHRoYXQgbXVsdGlwbGUgY29waWVzCi1vZiBhbiBvYmplY3QgbWF5IGJlIHByZXNlbnQgaW4gdGhlIG9iamVjdCBkYXRhYmFzZTsgaW4gdGhpcyBjYXNlLCBpdCBpcwotdW5kZWZpbmVkIHdoaWNoIGNvcHkncyBzaXplIHdpbGwgYmUgcmVwb3J0ZWQuCithbmQgaXMgc3ViamVjdCB0byBjaGFuZ2UgZHVyaW5nIGEgcmVwYWNrLgogCitOb3RlIGFsc28gdGhhdCBtdWx0aXBsZSBjb3BpZXMgb2YgYW4gb2JqZWN0IG1heSBiZSBwcmVzZW50IGluIHRoZSBvYmplY3QKK2RhdGFiYXNlOyBpbiB0aGlzIGNhc2UsIGl0IGlzIHVuZGVmaW5lZCB3aGljaCBjb3B5J3Mgc2l6ZSBvciBkZWx0YSBiYXNlCit3aWxsIGJlIHJlcG9ydGVkLgogCiBHSVQKIC0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2stYXR0ci50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jaGVjay1hdHRyLnR4dAppbmRleCBhN2JlODBkLi4wMGUyYWEyIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jaGVjay1hdHRyLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jaGVjay1hdHRyLnR4dApAQCAtMzEsOCArMzEsOSBAQAogCVJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIGluc3RlYWQgb2YgZnJvbSB0aGUgY29tbWFuZC1saW5lLgogCiAtejo6Ci0JT25seSBtZWFuaW5nZnVsIHdpdGggYC0tc3RkaW5gOyBwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggYQotCU5VTCBjaGFyYWN0ZXIgaW5zdGVhZCBvZiBhIGxpbmVmZWVkIGNoYXJhY3Rlci4KKwlUaGUgb3V0cHV0IGZvcm1hdCBpcyBtb2RpZmllZCB0byBiZSBtYWNoaW5lLXBhcnNlYWJsZS4KKwlJZiBgLS1zdGRpbmAgaXMgYWxzbyBnaXZlbiwgaW5wdXQgcGF0aHMgYXJlIHNlcGFyYXRlZAorCXdpdGggYSBOVUwgY2hhcmFjdGVyIGluc3RlYWQgb2YgYSBsaW5lZmVlZCBjaGFyYWN0ZXIuCiAKIFwtLTo6CiAJSW50ZXJwcmV0IGFsbCBwcmVjZWRpbmcgYXJndW1lbnRzIGFzIGF0dHJpYnV0ZXMgYW5kIGFsbCBmb2xsb3dpbmcKQEAgLTQ4LDYgKzQ5LDEwIEBACiBUaGUgb3V0cHV0IGlzIG9mIHRoZSBmb3JtOgogPHBhdGg+IENPTE9OIFNQIDxhdHRyaWJ1dGU+IENPTE9OIFNQIDxpbmZvPiBMRgogCit1bmxlc3MgYC16YCBpcyBpbiBlZmZlY3QsIGluIHdoaWNoIGNhc2UgTlVMIGlzIHVzZWQgYXMgZGVsaW1pdGVyOgorPHBhdGg+IE5VTCA8YXR0cmlidXRlPiBOVUwgPGluZm8+IE5VTAorCisKIDxwYXRoPiBpcyB0aGUgcGF0aCBvZiBhIGZpbGUgYmVpbmcgcXVlcmllZCwgPGF0dHJpYnV0ZT4gaXMgYW4gYXR0cmlidXRlCiBiZWluZyBxdWVyaWVkIGFuZCA8aW5mbz4gY2FuIGJlIGVpdGhlcjoKIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2staWdub3JlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNoZWNrLWlnbm9yZS50eHQKaW5kZXggZDJkZjQ4Ny4uZWUyZTA5MSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2staWdub3JlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jaGVjay1pZ25vcmUudHh0CkBAIC00NSw2ICs0NSwxMyBAQAogCW5vdCBiZSBwb3NzaWJsZSB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHBhdGhzIHdoaWNoIG1hdGNoIGEKIAlwYXR0ZXJuIGFuZCB0aG9zZSB3aGljaCBkb24ndC4KIAorLS1uby1pbmRleDo6CisJRG9uJ3QgbG9vayBpbiB0aGUgaW5kZXggd2hlbiB1bmRlcnRha2luZyB0aGUgY2hlY2tzLiBUaGlzIGNhbgorCWJlIHVzZWQgdG8gZGVidWcgd2h5IGEgcGF0aCBiZWNhbWUgdHJhY2tlZCBieSBlLmcuIGBnaXQgYWRkIC5gCisJYW5kIHdhcyBub3QgaWdub3JlZCBieSB0aGUgcnVsZXMgYXMgZXhwZWN0ZWQgYnkgdGhlIHVzZXIgb3Igd2hlbgorCWRldmVsb3BpbmcgcGF0dGVybnMgaW5jbHVkaW5nIG5lZ2F0aW9uIHRvIG1hdGNoIGEgcGF0aCBwcmV2aW91c2x5CisJYWRkZWQgd2l0aCBgZ2l0IGFkZCAtZmAuCisKIE9VVFBVVAogLS0tLS0tCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWNoZWNrLXJlZi1mb3JtYXQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2stcmVmLWZvcm1hdC50eHQKaW5kZXggYTQ5YmUxYi4uZmMwMjk1OSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2stcmVmLWZvcm1hdC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2stcmVmLWZvcm1hdC50eHQKQEAgLTU0LDYgKzU0LDggQEAKIAogLiBUaGV5IGNhbm5vdCBjb250YWluIGEgc2VxdWVuY2UgYEB7YC4KIAorLiBUaGV5IGNhbm5vdCBiZSB0aGUgc2luZ2xlIGNoYXJhY3RlciBgQGAuCisKIC4gVGhleSBjYW5ub3QgY29udGFpbiBhIGBcYC4KIAogVGhlc2UgcnVsZXMgbWFrZSBpdCBlYXN5IGZvciBzaGVsbCBzY3JpcHQgYmFzZWQgdG9vbHMgdG8gcGFyc2UKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWNoZWNrb3V0LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNoZWNrb3V0LnR4dAppbmRleCBjYTExOGFjLi4zM2FkMmFkIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jaGVja291dC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2tvdXQudHh0CkBAIC05LDcgKzksOCBAQAogLS0tLS0tLS0KIFt2ZXJzZV0KICdnaXQgY2hlY2tvdXQnIFstcV0gWy1mXSBbLW1dIFs8YnJhbmNoPl0KLSdnaXQgY2hlY2tvdXQnIFstcV0gWy1mXSBbLW1dIFstLWRldGFjaF0gWzxjb21taXQ+XQorJ2dpdCBjaGVja291dCcgWy1xXSBbLWZdIFstbV0gLS1kZXRhY2ggWzxicmFuY2g+XQorJ2dpdCBjaGVja291dCcgWy1xXSBbLWZdIFstbV0gWy0tZGV0YWNoXSA8Y29tbWl0PgogJ2dpdCBjaGVja291dCcgWy1xXSBbLWZdIFstbV0gW1stYnwtQnwtLW9ycGhhbl0gPG5ld19icmFuY2g+XSBbPHN0YXJ0X3BvaW50Pl0KICdnaXQgY2hlY2tvdXQnIFstZnwtLW91cnN8LS10aGVpcnN8LW18LS1jb25mbGljdD08c3R5bGU+XSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHM+Li4uCiAnZ2l0IGNoZWNrb3V0JyBbLXB8LS1wYXRjaF0gWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dCkBAIC02Miw3ICs2Myw3IEBACiBzdWNjZXNzZnVsLgogCiAnZ2l0IGNoZWNrb3V0JyAtLWRldGFjaCBbPGJyYW5jaD5dOjoKLSdnaXQgY2hlY2tvdXQnIDxjb21taXQ+OjoKKydnaXQgY2hlY2tvdXQnIFstLWRldGFjaF0gPGNvbW1pdD46OgogCiAJUHJlcGFyZSB0byB3b3JrIG9uIHRvcCBvZiA8Y29tbWl0PiwgYnkgZGV0YWNoaW5nIEhFQUQgYXQgaXQKIAkoc2VlICJERVRBQ0hFRCBIRUFEIiBzZWN0aW9uKSwgYW5kIHVwZGF0aW5nIHRoZSBpbmRleCBhbmQgdGhlCkBAIC03MSwxMCArNzIsMTEgQEAKIAl0cmVlIHdpbGwgYmUgdGhlIHN0YXRlIHJlY29yZGVkIGluIHRoZSBjb21taXQgcGx1cyB0aGUgbG9jYWwKIAltb2RpZmljYXRpb25zLgogKwotUGFzc2luZyBgLS1kZXRhY2hgIGZvcmNlcyB0aGlzIGJlaGF2aW9yIGluIHRoZSBjYXNlIG9mIGEgPGJyYW5jaD4gKHdpdGhvdXQKLXRoZSBvcHRpb24sIGdpdmluZyBhIGJyYW5jaCBuYW1lIHRvIHRoZSBjb21tYW5kIHdvdWxkIGNoZWNrIG91dCB0aGUgYnJhbmNoLAotaW5zdGVhZCBvZiBkZXRhY2hpbmcgSEVBRCBhdCBpdCksIG9yIHRoZSBjdXJyZW50IGNvbW1pdCwKLWlmIG5vIDxicmFuY2g+IGlzIHNwZWNpZmllZC4KK1doZW4gdGhlIDxjb21taXQ+IGFyZ3VtZW50IGlzIGEgYnJhbmNoIG5hbWUsIHRoZSBgLS1kZXRhY2hgIG9wdGlvbiBjYW4KK2JlIHVzZWQgdG8gZGV0YWNoIEhFQUQgYXQgdGhlIHRpcCBvZiB0aGUgYnJhbmNoIChgZ2l0IGNoZWNrb3V0Cis8YnJhbmNoPmAgd291bGQgY2hlY2sgb3V0IHRoYXQgYnJhbmNoIHdpdGhvdXQgZGV0YWNoaW5nIEhFQUQpLgorKworT21pdHRpbmcgPGJyYW5jaD4gZGV0YWNoZXMgSEVBRCBhdCB0aGUgdGlwIG9mIHRoZSBjdXJyZW50IGJyYW5jaC4KIAogJ2dpdCBjaGVja291dCcgWy1wfC0tcGF0Y2hdIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRoc3BlYz4uLi46OgogCkBAIC0yMzAsOCArMjMyLDggQEAKIAljb21taXQsIHlvdXIgSEVBRCBiZWNvbWVzICJkZXRhY2hlZCIgYW5kIHlvdSBhcmUgbm8gbG9uZ2VyIG9uCiAJYW55IGJyYW5jaCAoc2VlIGJlbG93IGZvciBkZXRhaWxzKS4KICsKLUFzIGEgc3BlY2lhbCBjYXNlLCB0aGUgYCJAey1OfSJgIHN5bnRheCBmb3IgdGhlIE4tdGggbGFzdCBicmFuY2gKLWNoZWNrcyBvdXQgdGhlIGJyYW5jaCAoaW5zdGVhZCBvZiBkZXRhY2hpbmcpLiAgWW91IG1heSBhbHNvIHNwZWNpZnkKK0FzIGEgc3BlY2lhbCBjYXNlLCB0aGUgYCJAey1OfSJgIHN5bnRheCBmb3IgdGhlIE4tdGggbGFzdCBicmFuY2gvY29tbWl0CitjaGVja3Mgb3V0IGJyYW5jaGVzIChpbnN0ZWFkIG9mIGRldGFjaGluZykuICBZb3UgbWF5IGFsc28gc3BlY2lmeQogYC1gIHdoaWNoIGlzIHN5bm9ueW1vdXMgd2l0aCBgIkB7LTF9ImAuCiArCiBBcyBhIGZ1cnRoZXIgc3BlY2lhbCBjYXNlLCB5b3UgbWF5IHVzZSBgIkEuLi5CImAgYXMgYSBzaG9ydGN1dCBmb3IgdGhlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jaGVycnkudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtY2hlcnJ5LnR4dAppbmRleCBmNmMxOWM3Li4wZWE5MjFhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jaGVycnkudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWNoZXJyeS50eHQKQEAgLTMsNyArMyw3IEBACiAKIE5BTUUKIC0tLS0KLWdpdC1jaGVycnkgLSBGaW5kIGNvbW1pdHMgbm90IG1lcmdlZCB1cHN0cmVhbQorZ2l0LWNoZXJyeSAtIEZpbmQgY29tbWl0cyB5ZXQgdG8gYmUgYXBwbGllZCB0byB1cHN0cmVhbQogCiBTWU5PUFNJUwogLS0tLS0tLS0KQEAgLTEyLDQ3ICsxMiwyNiBAQAogCiBERVNDUklQVElPTgogLS0tLS0tLS0tLS0KLVRoZSBjaGFuZ2VzZXQgKG9yICJkaWZmIikgb2YgZWFjaCBjb21taXQgYmV0d2VlbiB0aGUgZm9yay1wb2ludCBhbmQgPGhlYWQ+Ci1pcyBjb21wYXJlZCBhZ2FpbnN0IGVhY2ggY29tbWl0IGJldHdlZW4gdGhlIGZvcmstcG9pbnQgYW5kIDx1cHN0cmVhbT4uCi1UaGUgY29tbWl0cyBhcmUgY29tcGFyZWQgd2l0aCB0aGVpciAncGF0Y2ggaWQnLCBvYnRhaW5lZCBmcm9tCi10aGUgJ2dpdCBwYXRjaC1pZCcgcHJvZ3JhbS4KK0RldGVybWluZSB3aGV0aGVyIHRoZXJlIGFyZSBjb21taXRzIGluIGA8aGVhZD4uLjx1cHN0cmVhbT5gIHRoYXQgYXJlCitlcXVpdmFsZW50IHRvIHRob3NlIGluIHRoZSByYW5nZSBgPGxpbWl0Pi4uPGhlYWQ+YC4KIAotRXZlcnkgY29tbWl0IHRoYXQgZG9lc24ndCBleGlzdCBpbiB0aGUgPHVwc3RyZWFtPiBicmFuY2gKLWhhcyBpdHMgaWQgKHNoYTEpIHJlcG9ydGVkLCBwcmVmaXhlZCBieSBhIHN5bWJvbC4gIFRoZSBvbmVzIHRoYXQgaGF2ZQotZXF1aXZhbGVudCBjaGFuZ2UgYWxyZWFkeQotaW4gdGhlIDx1cHN0cmVhbT4gYnJhbmNoIGFyZSBwcmVmaXhlZCB3aXRoIGEgbWludXMgKC0pIHNpZ24sIGFuZCB0aG9zZQotdGhhdCBvbmx5IGV4aXN0IGluIHRoZSA8aGVhZD4gYnJhbmNoIGFyZSBwcmVmaXhlZCB3aXRoIGEgcGx1cyAoKykgc3ltYm9sOgorVGhlIGVxdWl2YWxlbmNlIHRlc3QgaXMgYmFzZWQgb24gdGhlIGRpZmYsIGFmdGVyIHJlbW92aW5nIHdoaXRlc3BhY2UKK2FuZCBsaW5lIG51bWJlcnMuICBnaXQtY2hlcnJ5IHRoZXJlZm9yZSBkZXRlY3RzIHdoZW4gY29tbWl0cyBoYXZlIGJlZW4KKyJjb3BpZWQiIGJ5IG1lYW5zIG9mIGxpbmtnaXQ6Z2l0LWNoZXJyeS1waWNrWzFdLCBsaW5rZ2l0OmdpdC1hbVsxXSBvcgorbGlua2dpdDpnaXQtcmViYXNlWzFdLgogCi0gICAgICAgICAgICAgICBfXypfXypfXypfXypfXz4gPHVwc3RyZWFtPgotICAgICAgICAgICAgICAvCi0gICAgZm9yay1wb2ludAotICAgICAgICAgICAgICBcX18rX18rX18tX18rX18rX18tX18rX18+IDxoZWFkPgotCi0KLUlmIGEgPGxpbWl0PiBoYXMgYmVlbiBnaXZlbiB0aGVuIHRoZSBjb21taXRzIGFsb25nIHRoZSA8aGVhZD4gYnJhbmNoIHVwCi10byBhbmQgaW5jbHVkaW5nIDxsaW1pdD4gYXJlIG5vdCByZXBvcnRlZDoKLQotICAgICAgICAgICAgICAgX18qX18qX18qX18qX18+IDx1cHN0cmVhbT4KLSAgICAgICAgICAgICAgLwotICAgIGZvcmstcG9pbnQKLSAgICAgICAgICAgICAgXF9fKl9fKl9fPGxpbWl0Pl9fLV9fK19fPiA8aGVhZD4KLQotCi1CZWNhdXNlICdnaXQgY2hlcnJ5JyBjb21wYXJlcyB0aGUgY2hhbmdlc2V0IHJhdGhlciB0aGFuIHRoZSBjb21taXQgaWQKLShzaGExKSwgeW91IGNhbiB1c2UgJ2dpdCBjaGVycnknIHRvIGZpbmQgb3V0IGlmIGEgY29tbWl0IHlvdSBtYWRlIGxvY2FsbHkKLWhhcyBiZWVuIGFwcGxpZWQgPHVwc3RyZWFtPiB1bmRlciBhIGRpZmZlcmVudCBjb21taXQgaWQuICBGb3IgZXhhbXBsZSwKLXRoaXMgd2lsbCBoYXBwZW4gaWYgeW91J3JlIGZlZWRpbmcgcGF0Y2hlcyA8dXBzdHJlYW0+IHZpYSBlbWFpbCByYXRoZXIKLXRoYW4gcHVzaGluZyBvciBwdWxsaW5nIGNvbW1pdHMgZGlyZWN0bHkuCi0KK091dHB1dHMgdGhlIFNIQTEgb2YgZXZlcnkgY29tbWl0IGluIGA8bGltaXQ+Li48aGVhZD5gLCBwcmVmaXhlZCB3aXRoCitgLWAgZm9yIGNvbW1pdHMgdGhhdCBoYXZlIGFuIGVxdWl2YWxlbnQgaW4gPHVwc3RyZWFtPiwgYW5kIGArYCBmb3IKK2NvbW1pdHMgdGhhdCBkbyBub3QuCiAKIE9QVElPTlMKIC0tLS0tLS0KIC12OjoKLQlWZXJib3NlLgorCVNob3cgdGhlIGNvbW1pdCBzdWJqZWN0cyBuZXh0IHRvIHRoZSBTSEExcy4KIAogPHVwc3RyZWFtPjo6Ci0JVXBzdHJlYW0gYnJhbmNoIHRvIGNvbXBhcmUgYWdhaW5zdC4KLQlEZWZhdWx0cyB0byB0aGUgZmlyc3QgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBpZiBhdmFpbGFibGUuCisJVXBzdHJlYW0gYnJhbmNoIHRvIHNlYXJjaCBmb3IgZXF1aXZhbGVudCBjb21taXRzLgorCURlZmF1bHRzIHRvIHRoZSB1cHN0cmVhbSBicmFuY2ggb2YgSEVBRC4KIAogPGhlYWQ+OjoKIAlXb3JraW5nIGJyYW5jaDsgZGVmYXVsdHMgdG8gSEVBRC4KQEAgLTYwLDYgKzM5LDEwMyBAQAogPGxpbWl0Pjo6CiAJRG8gbm90IHJlcG9ydCBjb21taXRzIHVwIHRvIChhbmQgaW5jbHVkaW5nKSBsaW1pdC4KIAorRVhBTVBMRVMKKy0tLS0tLS0tCisKK1BhdGNoIHdvcmtmbG93cworfn5+fn5+fn5+fn5+fn5+CisKK2dpdC1jaGVycnkgaXMgZnJlcXVlbnRseSB1c2VkIGluIHBhdGNoLWJhc2VkIHdvcmtmbG93cyAoc2VlCitsaW5rZ2l0OmdpdHdvcmtmbG93c1s3XSkgdG8gZGV0ZXJtaW5lIGlmIGEgc2VyaWVzIG9mIHBhdGNoZXMgaGFzIGJlZW4KK2FwcGxpZWQgYnkgdGhlIHVwc3RyZWFtIG1haW50YWluZXIuICBJbiBzdWNoIGEgd29ya2Zsb3cgeW91IG1pZ2h0CitjcmVhdGUgYW5kIHNlbmQgYSB0b3BpYyBicmFuY2ggbGlrZSB0aGlzOgorCistLS0tLS0tLS0tLS0KKyQgZ2l0IGNoZWNrb3V0IC1iIHRvcGljIG9yaWdpbi9tYXN0ZXIKKyMgd29yayBhbmQgY3JlYXRlIHNvbWUgY29tbWl0cworJCBnaXQgZm9ybWF0LXBhdGNoIG9yaWdpbi9tYXN0ZXIKKyQgZ2l0IHNlbmQtZW1haWwgLi4uIDAwKgorLS0tLS0tLS0tLS0tCisKK0xhdGVyLCB5b3UgY2FuIHNlZSB3aGV0aGVyIHlvdXIgY2hhbmdlcyBoYXZlIGJlZW4gYXBwbGllZCBieSBzYXlpbmcKKyhzdGlsbCBvbiBgdG9waWNgKToKKworLS0tLS0tLS0tLS0tCiskIGdpdCBmZXRjaCAgIyB1cGRhdGUgeW91ciBub3Rpb24gb2Ygb3JpZ2luL21hc3RlcgorJCBnaXQgY2hlcnJ5IC12CistLS0tLS0tLS0tLS0KKworQ29uY3JldGUgZXhhbXBsZQorfn5+fn5+fn5+fn5+fn5+fgorCitJbiBhIHNpdHVhdGlvbiB3aGVyZSB0b3BpYyBjb25zaXN0ZWQgb2YgdGhyZWUgY29tbWl0cywgYW5kIHRoZQorbWFpbnRhaW5lciBhcHBsaWVkIHR3byBvZiB0aGVtLCB0aGUgc2l0dWF0aW9uIG1pZ2h0IGxvb2sgbGlrZToKKworLS0tLS0tLS0tLS0tCiskIGdpdCBsb2cgLS1ncmFwaCAtLW9uZWxpbmUgLS1kZWNvcmF0ZSAtLWJvdW5kYXJ5IG9yaWdpbi9tYXN0ZXIuLi50b3BpYworKiA3NjU0MzIxIChvcmlnaW4vbWFzdGVyKSB1cHN0cmVhbSB0aXAgY29tbWl0CitbLi4uIHNuaXAgc29tZSBvdGhlciBjb21taXRzIC4uLl0KKyogY2NjYzExMSBjaGVycnktcGljayBvZiBDCisqIGFhYWExMTEgY2hlcnJ5LXBpY2sgb2YgQQorWy4uLiBzbmlwIGEgbG90IG1vcmUgdGhhdCBoYXMgaGFwcGVuZWQgLi4uXQorfCAqIGNjY2MwMDAgKHRvcGljKSBjb21taXQgQworfCAqIGJiYmIwMDAgY29tbWl0IEIKK3wgKiBhYWFhMDAwIGNvbW1pdCBBCit8LworbyAxMjM0NTY3IGJyYW5jaCBwb2ludAorLS0tLS0tLS0tLS0tCisKK0luIHN1Y2ggY2FzZXMsIGdpdC1jaGVycnkgc2hvd3MgYSBjb25jaXNlIHN1bW1hcnkgb2Ygd2hhdCBoYXMgeWV0IHRvCitiZSBhcHBsaWVkOgorCistLS0tLS0tLS0tLS0KKyQgZ2l0IGNoZXJyeSBvcmlnaW4vbWFzdGVyIHRvcGljCistIGNjY2MwMDAuLi4gY29tbWl0IEMKKysgYmJiYjAwMC4uLiBjb21taXQgQgorLSBhYWFhMDAwLi4uIGNvbW1pdCBBCistLS0tLS0tLS0tLS0KKworSGVyZSwgd2Ugc2VlIHRoYXQgdGhlIGNvbW1pdHMgQSBhbmQgQyAobWFya2VkIHdpdGggYC1gKSBjYW4gYmUKK2Ryb3BwZWQgZnJvbSB5b3VyIGB0b3BpY2AgYnJhbmNoIHdoZW4geW91IHJlYmFzZSBpdCBvbiB0b3Agb2YKK2BvcmlnaW4vbWFzdGVyYCwgd2hpbGUgdGhlIGNvbW1pdCBCIChtYXJrZWQgd2l0aCBgK2ApIHN0aWxsIG5lZWRzIHRvCitiZSBrZXB0IHNvIHRoYXQgaXQgd2lsbCBiZSBzZW50IHRvIGJlIGFwcGxpZWQgdG8gYG9yaWdpbi9tYXN0ZXJgLgorCisKK1VzaW5nIGEgbGltaXQKK35+fn5+fn5+fn5+fn4KKworVGhlIG9wdGlvbmFsIDxsaW1pdD4gaXMgdXNlZnVsIGluIGNhc2VzIHdoZXJlIHlvdXIgdG9waWMgaXMgYmFzZWQgb24KK290aGVyIHdvcmsgdGhhdCBpcyBub3QgaW4gdXBzdHJlYW0uICBFeHBhbmRpbmcgb24gdGhlIHByZXZpb3VzCitleGFtcGxlLCB0aGlzIG1pZ2h0IGxvb2sgbGlrZToKKworLS0tLS0tLS0tLS0tCiskIGdpdCBsb2cgLS1ncmFwaCAtLW9uZWxpbmUgLS1kZWNvcmF0ZSAtLWJvdW5kYXJ5IG9yaWdpbi9tYXN0ZXIuLi50b3BpYworKiA3NjU0MzIxIChvcmlnaW4vbWFzdGVyKSB1cHN0cmVhbSB0aXAgY29tbWl0CitbLi4uIHNuaXAgc29tZSBvdGhlciBjb21taXRzIC4uLl0KKyogY2NjYzExMSBjaGVycnktcGljayBvZiBDCisqIGFhYWExMTEgY2hlcnJ5LXBpY2sgb2YgQQorWy4uLiBzbmlwIGEgbG90IG1vcmUgdGhhdCBoYXMgaGFwcGVuZWQgLi4uXQorfCAqIGNjY2MwMDAgKHRvcGljKSBjb21taXQgQworfCAqIGJiYmIwMDAgY29tbWl0IEIKK3wgKiBhYWFhMDAwIGNvbW1pdCBBCit8ICogMDAwMGZmZiAoYmFzZSkgdW5wdWJsaXNoZWQgc3R1ZmYgRgorWy4uLiBzbmlwIC4uLl0KK3wgKiAwMDAwYWFhIHVucHVibGlzaGVkIHN0dWZmIEEKK3wvCitvIDEyMzQ1NjcgbWVyZ2UtYmFzZSBiZXR3ZWVuIHVwc3RyZWFtIGFuZCB0b3BpYworLS0tLS0tLS0tLS0tCisKK0J5IHNwZWNpZnlpbmcgYGJhc2VgIGFzIHRoZSBsaW1pdCwgeW91IGNhbiBhdm9pZCBsaXN0aW5nIGNvbW1pdHMKK2JldHdlZW4gYGJhc2VgIGFuZCBgdG9waWNgOgorCistLS0tLS0tLS0tLS0KKyQgZ2l0IGNoZXJyeSBvcmlnaW4vbWFzdGVyIHRvcGljIGJhc2UKKy0gY2NjYzAwMC4uLiBjb21taXQgQworKyBiYmJiMDAwLi4uIGNvbW1pdCBCCistIGFhYWEwMDAuLi4gY29tbWl0IEEKKy0tLS0tLS0tLS0tLQorCisKIFNFRSBBTFNPCiAtLS0tLS0tLQogbGlua2dpdDpnaXQtcGF0Y2gtaWRbMV0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWNsb25lLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNsb25lLnR4dAppbmRleCA0NTBmMTU4Li40OTg3ODU3IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jbG9uZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY2xvbmUudHh0CkBAIC0xODEsMTIgKzE4MSw3IEBACiAKIC0tZGVwdGggPGRlcHRoPjo6CiAJQ3JlYXRlIGEgJ3NoYWxsb3cnIGNsb25lIHdpdGggYSBoaXN0b3J5IHRydW5jYXRlZCB0byB0aGUKLQlzcGVjaWZpZWQgbnVtYmVyIG9mIHJldmlzaW9ucy4gIEEgc2hhbGxvdyByZXBvc2l0b3J5IGhhcyBhCi0JbnVtYmVyIG9mIGxpbWl0YXRpb25zICh5b3UgY2Fubm90IGNsb25lIG9yIGZldGNoIGZyb20KLQlpdCwgbm9yIHB1c2ggZnJvbSBub3IgaW50byBpdCksIGJ1dCBpcyBhZGVxdWF0ZSBpZiB5b3UKLQlhcmUgb25seSBpbnRlcmVzdGVkIGluIHRoZSByZWNlbnQgaGlzdG9yeSBvZiBhIGxhcmdlIHByb2plY3QKLQl3aXRoIGEgbG9uZyBoaXN0b3J5LCBhbmQgd291bGQgd2FudCB0byBzZW5kIGluIGZpeGVzCi0JYXMgcGF0Y2hlcy4KKwlzcGVjaWZpZWQgbnVtYmVyIG9mIHJldmlzaW9ucy4KIAogLS1bbm8tXXNpbmdsZS1icmFuY2g6OgogCUNsb25lIG9ubHkgdGhlIGhpc3RvcnkgbGVhZGluZyB0byB0aGUgdGlwIG9mIGEgc2luZ2xlIGJyYW5jaCwKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWNvbHVtbi50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jb2x1bW4udHh0CmluZGV4IDVkNmYxY2MuLjAzZDE4NDYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWNvbHVtbi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY29sdW1uLnR4dApAQCAtNDMsMTEgKzQzLDYgQEAKIC0tcGFkZGluZz08Tj46OgogCVRoZSBudW1iZXIgb2Ygc3BhY2VzIGJldHdlZW4gY29sdW1ucy4gT25lIHNwYWNlIGJ5IGRlZmF1bHQuCiAKLQotQXV0aG9yCi0tLS0tLS0KLVdyaXR0ZW4gYnkgTmd1eWVuIFRoYWkgTmdvYyBEdXkgPHBjbG91ZHNAZ21haWwuY29tPgotCiBHSVQKIC0tLQogUGFydCBvZiB0aGUgbGlua2dpdDpnaXRbMV0gc3VpdGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWNvbmZpZy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jb25maWcudHh0CmluZGV4IDJkYmU0ODYuLmU5OTE3YjggMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWNvbmZpZy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY29uZmlnLnR4dApAQCAtMTUsNiArMTUsNyBAQAogJ2dpdCBjb25maWcnIFs8ZmlsZS1vcHRpb24+XSBbdHlwZV0gWy16fC0tbnVsbF0gLS1nZXQgbmFtZSBbdmFsdWVfcmVnZXhdCiAnZ2l0IGNvbmZpZycgWzxmaWxlLW9wdGlvbj5dIFt0eXBlXSBbLXp8LS1udWxsXSAtLWdldC1hbGwgbmFtZSBbdmFsdWVfcmVnZXhdCiAnZ2l0IGNvbmZpZycgWzxmaWxlLW9wdGlvbj5dIFt0eXBlXSBbLXp8LS1udWxsXSAtLWdldC1yZWdleHAgbmFtZV9yZWdleCBbdmFsdWVfcmVnZXhdCisnZ2l0IGNvbmZpZycgWzxmaWxlLW9wdGlvbj5dIFt0eXBlXSBbLXp8LS1udWxsXSAtLWdldC11cmxtYXRjaCBuYW1lIFVSTAogJ2dpdCBjb25maWcnIFs8ZmlsZS1vcHRpb24+XSAtLXVuc2V0IG5hbWUgW3ZhbHVlX3JlZ2V4XQogJ2dpdCBjb25maWcnIFs8ZmlsZS1vcHRpb24+XSAtLXVuc2V0LWFsbCBuYW1lIFt2YWx1ZV9yZWdleF0KICdnaXQgY29uZmlnJyBbPGZpbGUtb3B0aW9uPl0gLS1yZW5hbWUtc2VjdGlvbiBvbGRfbmFtZSBuZXdfbmFtZQpAQCAtOTUsNiArOTYsMTQgQEAKIAlpbiB3aGljaCBzZWN0aW9uIGFuZCB2YXJpYWJsZSBuYW1lcyBhcmUgbG93ZXJjYXNlZCwgYnV0IHN1YnNlY3Rpb24KIAluYW1lcyBhcmUgbm90LgogCistLWdldC11cmxtYXRjaCBuYW1lIFVSTDo6CisJV2hlbiBnaXZlbiBhIHR3by1wYXJ0IG5hbWUgc2VjdGlvbi5rZXksIHRoZSB2YWx1ZSBmb3IKKwlzZWN0aW9uLjx1cmw+LmtleSB3aG9zZSA8dXJsPiBwYXJ0IG1hdGNoZXMgdGhlIGJlc3QgdG8gdGhlCisJZ2l2ZW4gVVJMIGlzIHJldHVybmVkIChpZiBubyBzdWNoIGtleSBleGlzdHMsIHRoZSB2YWx1ZSBmb3IKKwlzZWN0aW9uLmtleSBpcyB1c2VkIGFzIGEgZmFsbGJhY2spLiAgV2hlbiBnaXZlbiBqdXN0IHRoZQorCXNlY3Rpb24gYXMgbmFtZSwgZG8gc28gZm9yIGFsbCB0aGUga2V5cyBpbiB0aGUgc2VjdGlvbiBhbmQKKwlsaXN0IHRoZW0uCisKIC0tZ2xvYmFsOjoKIAlGb3Igd3JpdGluZyBvcHRpb25zOiB3cml0ZSB0byBnbG9iYWwgYH4vLmdpdGNvbmZpZ2AgZmlsZQogCXJhdGhlciB0aGFuIHRoZSByZXBvc2l0b3J5IGAuZ2l0L2NvbmZpZ2AsIHdyaXRlIHRvCkBAIC0yOTUsNiArMzA0LDEzIEBACiAJCWdpdHByb3h5PXByb3h5LWNvbW1hbmQgZm9yIGtlcm5lbC5vcmcKIAkJZ2l0cHJveHk9ZGVmYXVsdC1wcm94eSA7IGZvciBhbGwgdGhlIHJlc3QKIAorCTsgSFRUUAorCVtodHRwXQorCQlzc2xWZXJpZnkKKwlbaHR0cCAiaHR0cHM6Ly93ZWFrLmV4YW1wbGUuY29tIl0KKwkJc3NsVmVyaWZ5ID0gZmFsc2UKKwkJY29va2llRmlsZSA9IC90bXAvY29va2llLnR4dAorCiB5b3UgY2FuIHNldCB0aGUgZmlsZW1vZGUgdG8gdHJ1ZSB3aXRoCiAKIC0tLS0tLS0tLS0tLQpAQCAtMzgwLDYgKzM5NiwxOSBAQAogZWNobyAiJHtXU315b3VyIHdoaXRlc3BhY2UgY29sb3Igb3IgYmx1ZSByZXZlcnNlJHtSRVNFVH0iCiAtLS0tLS0tLS0tLS0KIAorRm9yIFVSTHMgaW4gYGh0dHBzOi8vd2Vhay5leGFtcGxlLmNvbWAsIGBodHRwLnNzbFZlcmlmeWAgaXMgc2V0IHRvCitmYWxzZSwgd2hpbGUgaXQgaXMgc2V0IHRvIGB0cnVlYCBmb3IgYWxsIG90aGVyczoKKworLS0tLS0tLS0tLS0tCislIGdpdCBjb25maWcgLS1ib29sIC0tZ2V0LXVybG1hdGNoIGh0dHAuc3NsdmVyaWZ5IGh0dHBzOi8vZ29vZC5leGFtcGxlLmNvbQordHJ1ZQorJSBnaXQgY29uZmlnIC0tYm9vbCAtLWdldC11cmxtYXRjaCBodHRwLnNzbHZlcmlmeSBodHRwczovL3dlYWsuZXhhbXBsZS5jb20KK2ZhbHNlCislIGdpdCBjb25maWcgLS1nZXQtdXJsbWF0Y2ggaHR0cCBodHRwczovL3dlYWsuZXhhbXBsZS5jb20KK2h0dHAuY29va2llZmlsZSAvdG1wL2Nvb2tpZS50eHQKK2h0dHAuc3NsdmVyaWZ5IGZhbHNlCistLS0tLS0tLS0tLS0KKwogaW5jbHVkZTo6Y29uZmlnLnR4dFtdCiAKIEdJVApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtY3JlZGVudGlhbC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jcmVkZW50aWFsLnR4dAppbmRleCA3ZGEwZjEzLi5iMjExNDQwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jcmVkZW50aWFsLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jcmVkZW50aWFsLnR4dApAQCAtMjAsNyArMjAsNyBAQAogaW50ZXJmYWNlIHRvIHNjcmlwdHMgd2hpY2ggbWF5IHdhbnQgdG8gcmV0cmlldmUsIHN0b3JlLCBvciBwcm9tcHQgZm9yCiBjcmVkZW50aWFscyBpbiB0aGUgc2FtZSBtYW5uZXIgYXMgR2l0LiBUaGUgZGVzaWduIG9mIHRoaXMgc2NyaXB0YWJsZQogaW50ZXJmYWNlIG1vZGVscyB0aGUgaW50ZXJuYWwgQyBBUEk7IHNlZQotbGluazp0ZWNobmljYWwvYXBpLWNyZWRlbnRpYWxzLnR4dFt0aGUgR2l0IGNyZWRlbnRpYWwgQVBJXSBmb3IgbW9yZQorbGluazp0ZWNobmljYWwvYXBpLWNyZWRlbnRpYWxzLmh0bWxbdGhlIEdpdCBjcmVkZW50aWFsIEFQSV0gZm9yIG1vcmUKIGJhY2tncm91bmQgb24gdGhlIGNvbmNlcHRzLgogCiBnaXQtY3JlZGVudGlhbCB0YWtlcyBhbiAiYWN0aW9uIiBvcHRpb24gb24gdGhlIGNvbW1hbmQtbGluZSAob25lIG9mCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jdnNpbXBvcnQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtY3ZzaW1wb3J0LnR4dAppbmRleCBkMWJjZGEyLi4yZGY5OTUzIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jdnNpbXBvcnQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWN2c2ltcG9ydC50eHQKQEAgLTE0NCw3ICsxNDQsNyBAQAogCUNWUyBieSBkZWZhdWx0IHVzZXMgdGhlIFVuaXggdXNlcm5hbWUgd2hlbiB3cml0aW5nIGl0cwogCWNvbW1pdCBsb2dzLiBVc2luZyB0aGlzIG9wdGlvbiBhbmQgYW4gYXV0aG9yLWNvbnYtZmlsZQogCW1hcHMgdGhlIG5hbWUgcmVjb3JkZWQgaW4gQ1ZTIHRvIGF1dGhvciBuYW1lLCBlLW1haWwgYW5kCi0Jb3B0aW9uYWwgdGltZXpvbmU6CisJb3B0aW9uYWwgdGltZSB6b25lOgogKwogLS0tLS0tLS0tCiAJZXhvbj1BbmRyZWFzIEVyaWNzc29uIDxhZUBvcDUuc2U+CkBAIC0xNTQsNyArMTU0LDcgQEAKICsKICdnaXQgY3ZzaW1wb3J0JyB3aWxsIG1ha2UgaXQgYXBwZWFyIGFzIHRob3NlIGF1dGhvcnMgaGFkCiB0aGVpciBHSVRfQVVUSE9SX05BTUUgYW5kIEdJVF9BVVRIT1JfRU1BSUwgc2V0IHByb3Blcmx5Ci1hbGwgYWxvbmcuICBJZiBhIHRpbWV6b25lIGlzIHNwZWNpZmllZCwgR0lUX0FVVEhPUl9EQVRFIHdpbGwKK2FsbCBhbG9uZy4gIElmIGEgdGltZSB6b25lIGlzIHNwZWNpZmllZCwgR0lUX0FVVEhPUl9EQVRFIHdpbGwKIGhhdmUgdGhlIGNvcnJlc3BvbmRpbmcgb2Zmc2V0IGFwcGxpZWQuCiArCiBGb3IgY29udmVuaWVuY2UsIHRoaXMgZGF0YSBpcyBzYXZlZCB0byBgJEdJVF9ESVIvY3ZzLWF1dGhvcnNgCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1kZXNjcmliZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1kZXNjcmliZS50eHQKaW5kZXggOTQzOWNkNi4uZDIwY2E0MCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZGVzY3JpYmUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWRlc2NyaWJlLnR4dApAQCAtOSw3ICs5LDcgQEAKIFNZTk9QU0lTCiAtLS0tLS0tLQogW3ZlcnNlXQotJ2dpdCBkZXNjcmliZScgWy0tYWxsXSBbLS10YWdzXSBbLS1jb250YWluc10gWy0tYWJicmV2PTxuPl0gPGNvbW1pdHRpc2g+Li4uCisnZ2l0IGRlc2NyaWJlJyBbLS1hbGxdIFstLXRhZ3NdIFstLWNvbnRhaW5zXSBbLS1hYmJyZXY9PG4+XSA8Y29tbWl0LWlzaD4uLi4KICdnaXQgZGVzY3JpYmUnIFstLWFsbF0gWy0tdGFnc10gWy0tY29udGFpbnNdIFstLWFiYnJldj08bj5dIC0tZGlydHlbPTxtYXJrPl0KIAogREVTQ1JJUFRJT04KQEAgLTI2LDggKzI2LDggQEAKIAogT1BUSU9OUwogLS0tLS0tLQotPGNvbW1pdHRpc2g+Li4uOjoKLQlDb21taXR0aXNoIG9iamVjdCBuYW1lcyB0byBkZXNjcmliZS4KKzxjb21taXQtaXNoPi4uLjo6CisJQ29tbWl0LWlzaCBvYmplY3QgbmFtZXMgdG8gZGVzY3JpYmUuCiAKIC0tZGlydHlbPTxtYXJrPl06OgogCURlc2NyaWJlIHRoZSB3b3JraW5nIHRyZWUuCkBAIC01Nyw3ICs1Nyw3IEBACiAKIC0tY2FuZGlkYXRlcz08bj46OgogCUluc3RlYWQgb2YgY29uc2lkZXJpbmcgb25seSB0aGUgMTAgbW9zdCByZWNlbnQgdGFncyBhcwotCWNhbmRpZGF0ZXMgdG8gZGVzY3JpYmUgdGhlIGlucHV0IGNvbW1pdHRpc2ggY29uc2lkZXIKKwljYW5kaWRhdGVzIHRvIGRlc2NyaWJlIHRoZSBpbnB1dCBjb21taXQtaXNoIGNvbnNpZGVyCiAJdXAgdG8gPG4+IGNhbmRpZGF0ZXMuICBJbmNyZWFzaW5nIDxuPiBhYm92ZSAxMCB3aWxsIHRha2UKIAlzbGlnaHRseSBsb25nZXIgYnV0IG1heSBwcm9kdWNlIGEgbW9yZSBhY2N1cmF0ZSByZXN1bHQuCiAJQW4gPG4+IG9mIDAgd2lsbCBjYXVzZSBvbmx5IGV4YWN0IG1hdGNoZXMgdG8gYmUgb3V0cHV0LgpAQCAtMTQ1LDcgKzE0NSw3IEBACiBTRUFSQ0ggU1RSQVRFR1kKIC0tLS0tLS0tLS0tLS0tLQogCi1Gb3IgZWFjaCBjb21taXR0aXNoIHN1cHBsaWVkLCAnZ2l0IGRlc2NyaWJlJyB3aWxsIGZpcnN0IGxvb2sgZm9yCitGb3IgZWFjaCBjb21taXQtaXNoIHN1cHBsaWVkLCAnZ2l0IGRlc2NyaWJlJyB3aWxsIGZpcnN0IGxvb2sgZm9yCiBhIHRhZyB3aGljaCB0YWdzIGV4YWN0bHkgdGhhdCBjb21taXQuICBBbm5vdGF0ZWQgdGFncyB3aWxsIGFsd2F5cwogYmUgcHJlZmVycmVkIG92ZXIgbGlnaHR3ZWlnaHQgdGFncywgYW5kIHRhZ3Mgd2l0aCBuZXdlciBkYXRlcyB3aWxsCiBhbHdheXMgYmUgcHJlZmVycmVkIG92ZXIgdGFncyB3aXRoIG9sZGVyIGRhdGVzLiAgSWYgYW4gZXhhY3QgbWF0Y2gKQEAgLTE1NCwxMiArMTU0LDEyIEBACiBJZiBhbiBleGFjdCBtYXRjaCB3YXMgbm90IGZvdW5kLCAnZ2l0IGRlc2NyaWJlJyB3aWxsIHdhbGsgYmFjawogdGhyb3VnaCB0aGUgY29tbWl0IGhpc3RvcnkgdG8gbG9jYXRlIGFuIGFuY2VzdG9yIGNvbW1pdCB3aGljaAogaGFzIGJlZW4gdGFnZ2VkLiAgVGhlIGFuY2VzdG9yJ3MgdGFnIHdpbGwgYmUgb3V0cHV0IGFsb25nIHdpdGggYW4KLWFiYnJldmlhdGlvbiBvZiB0aGUgaW5wdXQgY29tbWl0dGlzaCdzIFNIQS0xLiBJZiAnLS1maXJzdC1wYXJlbnQnIHdhcworYWJicmV2aWF0aW9uIG9mIHRoZSBpbnB1dCBjb21taXQtaXNoJ3MgU0hBLTEuIElmICctLWZpcnN0LXBhcmVudCcgd2FzCiBzcGVjaWZpZWQgdGhlbiB0aGUgd2FsayB3aWxsIG9ubHkgY29uc2lkZXIgdGhlIGZpcnN0IHBhcmVudCBvZiBlYWNoCiBjb21taXQuCiAKIElmIG11bHRpcGxlIHRhZ3Mgd2VyZSBmb3VuZCBkdXJpbmcgdGhlIHdhbGsgdGhlbiB0aGUgdGFnIHdoaWNoCi1oYXMgdGhlIGZld2VzdCBjb21taXRzIGRpZmZlcmVudCBmcm9tIHRoZSBpbnB1dCBjb21taXR0aXNoIHdpbGwgYmUKK2hhcyB0aGUgZmV3ZXN0IGNvbW1pdHMgZGlmZmVyZW50IGZyb20gdGhlIGlucHV0IGNvbW1pdC1pc2ggd2lsbCBiZQogc2VsZWN0ZWQgYW5kIG91dHB1dC4gIEhlcmUgZmV3ZXN0IGNvbW1pdHMgZGlmZmVyZW50IGlzIGRlZmluZWQgYXMKIHRoZSBudW1iZXIgb2YgY29tbWl0cyB3aGljaCB3b3VsZCBiZSBzaG93biBieSBgZ2l0IGxvZyB0YWcuLmlucHV0YAogd2lsbCBiZSB0aGUgc21hbGxlc3QgbnVtYmVyIG9mIGNvbW1pdHMgcG9zc2libGUuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1kaWZmLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWRpZmYudHh0CmluZGV4IDc4ZDZkNTAuLjMzZmJkOGMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWRpZmYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWRpZmYudHh0CkBAIC0yOCwxMCArMjgsMTUgQEAKIAl3b3JkcywgdGhlIGRpZmZlcmVuY2VzIGFyZSB3aGF0IHlvdSBfY291bGRfIHRlbGwgR2l0IHRvCiAJZnVydGhlciBhZGQgdG8gdGhlIGluZGV4IGJ1dCB5b3Ugc3RpbGwgaGF2ZW4ndC4gIFlvdSBjYW4KIAlzdGFnZSB0aGVzZSBjaGFuZ2VzIGJ5IHVzaW5nIGxpbmtnaXQ6Z2l0LWFkZFsxXS4KLSsKLUlmIGV4YWN0bHkgdHdvIHBhdGhzIGFyZSBnaXZlbiBhbmQgYXQgbGVhc3Qgb25lIHBvaW50cyBvdXRzaWRlCi10aGUgY3VycmVudCByZXBvc2l0b3J5LCAnZ2l0IGRpZmYnIHdpbGwgY29tcGFyZSB0aGUgdHdvIGZpbGVzIC8KLWRpcmVjdG9yaWVzLiBUaGlzIGJlaGF2aW9yIGNhbiBiZSBmb3JjZWQgYnkgLS1uby1pbmRleC4KKworJ2dpdCBkaWZmJyAtLW5vLWluZGV4IFstLW9wdGlvbnNdIFstLV0gWzxwYXRoPi4uLl06OgorCisJVGhpcyBmb3JtIGlzIHRvIGNvbXBhcmUgdGhlIGdpdmVuIHR3byBwYXRocyBvbiB0aGUKKwlmaWxlc3lzdGVtLiAgWW91IGNhbiBvbWl0IHRoZSBgLS1uby1pbmRleGAgb3B0aW9uIHdoZW4KKwlydW5uaW5nIHRoZSBjb21tYW5kIGluIGEgd29ya2luZyB0cmVlIGNvbnRyb2xsZWQgYnkgR2l0IGFuZAorCWF0IGxlYXN0IG9uZSBvZiB0aGUgcGF0aHMgcG9pbnRzIG91dHNpZGUgdGhlIHdvcmtpbmcgdHJlZSwKKwlvciB3aGVuIHJ1bm5pbmcgdGhlIGNvbW1hbmQgb3V0c2lkZSBhIHdvcmtpbmcgdHJlZQorCWNvbnRyb2xsZWQgYnkgR2l0LgogCiAnZ2l0IGRpZmYnIFstLW9wdGlvbnNdIC0tY2FjaGVkIFs8Y29tbWl0Pl0gWy0tXSBbPHBhdGg+Li4uXTo6CiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWZhc3QtaW1wb3J0LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWZhc3QtaW1wb3J0LnR4dAppbmRleCBiZjFhMDJhLi5mZDIyYTlhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1mYXN0LWltcG9ydC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZmFzdC1pbXBvcnQudHh0CkBAIC0yNTEsNyArMjUxLDcgQEAKIElmIHRoZSBsb2NhbCBvZmZzZXQgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgc291cmNlIG1hdGVyaWFsLCB1c2UKIGBgKzAwMDAnJywgb3IgdGhlIG1vc3QgY29tbW9uIGxvY2FsIG9mZnNldC4gIEZvciBleGFtcGxlIG1hbnkKIG9yZ2FuaXphdGlvbnMgaGF2ZSBhIENWUyByZXBvc2l0b3J5IHdoaWNoIGhhcyBvbmx5IGV2ZXIgYmVlbiBhY2Nlc3NlZAotYnkgdXNlcnMgd2hvIGFyZSBsb2NhdGVkIGluIHRoZSBzYW1lIGxvY2F0aW9uIGFuZCB0aW1lem9uZS4gIEluIHRoaXMKK2J5IHVzZXJzIHdobyBhcmUgbG9jYXRlZCBpbiB0aGUgc2FtZSBsb2NhdGlvbiBhbmQgdGltZSB6b25lLiAgSW4gdGhpcwogY2FzZSBhIHJlYXNvbmFibGUgb2Zmc2V0IGZyb20gVVRDIGNvdWxkIGJlIGFzc3VtZWQuCiArCiBVbmxpa2UgdGhlIGByZmMyODIyYCBmb3JtYXQsIHRoaXMgZm9ybWF0IGlzIHZlcnkgc3RyaWN0LiAgQW55CkBAIC0yNzEsNyArMjcxLDcgQEAKIHN0cmluZ3Mgd2hpY2ggR2l0IHdpbGwgcGFyc2Ugd3JvbmcsIGFuZCB5ZXQgY29uc2lkZXIgdmFsaWQuCiBTZXJpb3VzbHkgbWFsZm9ybWVkIHN0cmluZ3Mgd2lsbCBiZSByZWplY3RlZC4KICsKLVVubGlrZSB0aGUgYHJhd2AgZm9ybWF0IGFib3ZlLCB0aGUgdGltZXpvbmUvVVRDIG9mZnNldCBpbmZvcm1hdGlvbgorVW5saWtlIHRoZSBgcmF3YCBmb3JtYXQgYWJvdmUsIHRoZSB0aW1lIHpvbmUvVVRDIG9mZnNldCBpbmZvcm1hdGlvbgogY29udGFpbmVkIGluIGFuIFJGQyAyODIyIGRhdGUgc3RyaW5nIGlzIHVzZWQgdG8gYWRqdXN0IHRoZSBkYXRlCiB2YWx1ZSB0byBVVEMgcHJpb3IgdG8gc3RvcmFnZS4gIFRoZXJlZm9yZSBpdCBpcyBpbXBvcnRhbnQgdGhhdAogdGhpcyBpbmZvcm1hdGlvbiBiZSBhcyBhY2N1cmF0ZSBhcyBwb3NzaWJsZS4KQEAgLTI4NywxMyArMjg3LDEzIEBACiBhbWJpZ3VpdHkgaW4gcGFyc2luZy4KIAogYG5vd2A6OgotCUFsd2F5cyB1c2UgdGhlIGN1cnJlbnQgdGltZSBhbmQgdGltZXpvbmUuICBUaGUgbGl0ZXJhbAorCUFsd2F5cyB1c2UgdGhlIGN1cnJlbnQgdGltZSBhbmQgdGltZSB6b25lLiAgVGhlIGxpdGVyYWwKIAlgbm93YCBtdXN0IGFsd2F5cyBiZSBzdXBwbGllZCBmb3IgYDx3aGVuPmAuCiArCi1UaGlzIGlzIGEgdG95IGZvcm1hdC4gIFRoZSBjdXJyZW50IHRpbWUgYW5kIHRpbWV6b25lIG9mIHRoaXMgc3lzdGVtCitUaGlzIGlzIGEgdG95IGZvcm1hdC4gIFRoZSBjdXJyZW50IHRpbWUgYW5kIHRpbWUgem9uZSBvZiB0aGlzIHN5c3RlbQogaXMgYWx3YXlzIGNvcGllZCBpbnRvIHRoZSBpZGVudGl0eSBzdHJpbmcgYXQgdGhlIHRpbWUgaXQgaXMgYmVpbmcKIGNyZWF0ZWQgYnkgZmFzdC1pbXBvcnQuICBUaGVyZSBpcyBubyB3YXkgdG8gc3BlY2lmeSBhIGRpZmZlcmVudCB0aW1lIG9yCi10aW1lem9uZS4KK3RpbWUgem9uZS4KICsKIFRoaXMgcGFydGljdWxhciBmb3JtYXQgaXMgc3VwcGxpZWQgYXMgaXQncyBzaG9ydCB0byBpbXBsZW1lbnQgYW5kCiBtYXkgYmUgdXNlZnVsIHRvIGEgcHJvY2VzcyB0aGF0IHdhbnRzIHRvIGNyZWF0ZSBhIG5ldyBjb21taXQKQEAgLTM2MSw4ICszNjEsOCBAQAogCWAtLWNhdC1ibG9iLWZkYCBvciBgc3Rkb3V0YCBpZiB1bnNwZWNpZmllZC4KIAogYGZlYXR1cmVgOjoKLQlSZXF1aXJlIHRoYXQgZmFzdC1pbXBvcnQgc3VwcG9ydHMgdGhlIHNwZWNpZmllZCBmZWF0dXJlLCBvcgotCWFib3J0IGlmIGl0IGRvZXMgbm90LgorCUVuYWJsZSB0aGUgc3BlY2lmaWVkIGZlYXR1cmUuIFRoaXMgcmVxdWlyZXMgdGhhdCBmYXN0LWltcG9ydAorCXN1cHBvcnRzIHRoZSBzcGVjaWZpZWQgZmVhdHVyZSwgYW5kIGFib3J0cyBpZiBpdCBkb2VzIG5vdC4KIAogYG9wdGlvbmA6OgogCVNwZWNpZnkgYW55IG9mIHRoZSBvcHRpb25zIGxpc3RlZCB1bmRlciBPUFRJT05TIHRoYXQgZG8gbm90CkBAIC0zODAsOCArMzgwLDggQEAKIAkoJ2F1dGhvcicgKFNQIDxuYW1lPik/IFNQIExUIDxlbWFpbD4gR1QgU1AgPHdoZW4+IExGKT8KIAknY29tbWl0dGVyJyAoU1AgPG5hbWU+KT8gU1AgTFQgPGVtYWlsPiBHVCBTUCA8d2hlbj4gTEYKIAlkYXRhCi0JKCdmcm9tJyBTUCA8Y29tbWl0dGlzaD4gTEYpPwotCSgnbWVyZ2UnIFNQIDxjb21taXR0aXNoPiBMRik/CisJKCdmcm9tJyBTUCA8Y29tbWl0LWlzaD4gTEYpPworCSgnbWVyZ2UnIFNQIDxjb21taXQtaXNoPiBMRik/CiAJKGZpbGVtb2RpZnkgfCBmaWxlZGVsZXRlIHwgZmlsZWNvcHkgfCBmaWxlcmVuYW1lIHwgZmlsZWRlbGV0ZWFsbCB8IG5vdGVtb2RpZnkpKgogCUxGPwogLi4uLgpAQCAtNDYwLDkgKzQ2MCw5IEBACiBiZSB0aGUgZmlyc3QgYW5jZXN0b3Igb2YgdGhlIG5ldyBjb21taXQuCiAKIEFzIGBMRmAgaXMgbm90IHZhbGlkIGluIGEgR2l0IHJlZm5hbWUgb3IgU0hBLTEgZXhwcmVzc2lvbiwgbm8KLXF1b3Rpbmcgb3IgZXNjYXBpbmcgc3ludGF4IGlzIHN1cHBvcnRlZCB3aXRoaW4gYDxjb21taXR0aXNoPmAuCitxdW90aW5nIG9yIGVzY2FwaW5nIHN5bnRheCBpcyBzdXBwb3J0ZWQgd2l0aGluIGA8Y29tbWl0LWlzaD5gLgogCi1IZXJlIGA8Y29tbWl0dGlzaD5gIGlzIGFueSBvZiB0aGUgZm9sbG93aW5nOgorSGVyZSBgPGNvbW1pdC1pc2g+YCBpcyBhbnkgb2YgdGhlIGZvbGxvd2luZzoKIAogKiBUaGUgbmFtZSBvZiBhbiBleGlzdGluZyBicmFuY2ggYWxyZWFkeSBpbiBmYXN0LWltcG9ydCdzIGludGVybmFsIGJyYW5jaAogICB0YWJsZS4gIElmIGZhc3QtaW1wb3J0IGRvZXNuJ3Qga25vdyB0aGUgbmFtZSwgaXQncyB0cmVhdGVkIGFzIGEgU0hBLTEKQEAgLTUwOSw3ICs1MDksNyBAQAogaXQgaXMgc3VnZ2VzdGVkIHRoYXQgZnJvbnRlbmRzIGRvIG5vdCB1c2UgbW9yZSB0aGFuIDE1IGBtZXJnZWAKIGNvbW1hbmRzIHBlciBjb21taXQ7IDE2LCBpZiBzdGFydGluZyBhIG5ldywgZW1wdHkgYnJhbmNoLgogCi1IZXJlIGA8Y29tbWl0dGlzaD5gIGlzIGFueSBvZiB0aGUgY29tbWl0IHNwZWNpZmljYXRpb24gZXhwcmVzc2lvbnMKK0hlcmUgYDxjb21taXQtaXNoPmAgaXMgYW55IG9mIHRoZSBjb21taXQgc3BlY2lmaWNhdGlvbiBleHByZXNzaW9ucwogYWxzbyBhY2NlcHRlZCBieSBgZnJvbWAgKHNlZSBhYm92ZSkuCiAKIGBmaWxlbW9kaWZ5YApAQCAtNjc3LDggKzY3Nyw4IEBACiBgbm90ZW1vZGlmeWAKIF5eXl5eXl5eXl5eXgogSW5jbHVkZWQgaW4gYSBgY29tbWl0YCBgPG5vdGVzX3JlZj5gIGNvbW1hbmQgdG8gYWRkIGEgbmV3IG5vdGUKLWFubm90YXRpbmcgYSBgPGNvbW1pdHRpc2g+YCBvciBjaGFuZ2UgdGhpcyBhbm5vdGF0aW9uIGNvbnRlbnRzLgotSW50ZXJuYWxseSBpdCBpcyBzaW1pbGFyIHRvIGZpbGVtb2RpZnkgMTAwNjQ0IG9uIGA8Y29tbWl0dGlzaD5gCithbm5vdGF0aW5nIGEgYDxjb21taXQtaXNoPmAgb3IgY2hhbmdlIHRoaXMgYW5ub3RhdGlvbiBjb250ZW50cy4KK0ludGVybmFsbHkgaXQgaXMgc2ltaWxhciB0byBmaWxlbW9kaWZ5IDEwMDY0NCBvbiBgPGNvbW1pdC1pc2g+YAogcGF0aCAobWF5YmUgc3BsaXQgaW50byBzdWJkaXJlY3RvcmllcykuIEl0J3Mgbm90IGFkdmlzZWQgdG8KIHVzZSBhbnkgb3RoZXIgY29tbWFuZHMgdG8gd3JpdGUgdG8gdGhlIGA8bm90ZXNfcmVmPmAgdHJlZSBleGNlcHQKIGBmaWxlZGVsZXRlYWxsYCB0byBkZWxldGUgYWxsIGV4aXN0aW5nIG5vdGVzIGluIHRoaXMgdHJlZS4KQEAgLTY5MSw3ICs2OTEsNyBAQAogCWNvbW1pdCB0aGF0IGlzIHRvIGJlIGFubm90YXRlZC4KICsKIC4uLi4KLQknTicgU1AgPGRhdGFyZWY+IFNQIDxjb21taXR0aXNoPiBMRgorCSdOJyBTUCA8ZGF0YXJlZj4gU1AgPGNvbW1pdC1pc2g+IExGCiAuLi4uCiArCiBIZXJlIGA8ZGF0YXJlZj5gIGNhbiBiZSBlaXRoZXIgYSBtYXJrIHJlZmVyZW5jZSAoYDo8aWRudW0+YCkKQEAgLTcwNCwxMyArNzA0LDEzIEBACiAJY29tbWFuZC4KICsKIC4uLi4KLQknTicgU1AgJ2lubGluZScgU1AgPGNvbW1pdHRpc2g+IExGCisJJ04nIFNQICdpbmxpbmUnIFNQIDxjb21taXQtaXNoPiBMRgogCWRhdGEKIC4uLi4KICsKIFNlZSBiZWxvdyBmb3IgYSBkZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiB0aGUgYGRhdGFgIGNvbW1hbmQuCiAKLUluIGJvdGggZm9ybWF0cyBgPGNvbW1pdHRpc2g+YCBpcyBhbnkgb2YgdGhlIGNvbW1pdCBzcGVjaWZpY2F0aW9uCitJbiBib3RoIGZvcm1hdHMgYDxjb21taXQtaXNoPmAgaXMgYW55IG9mIHRoZSBjb21taXQgc3BlY2lmaWNhdGlvbgogZXhwcmVzc2lvbnMgYWxzbyBhY2NlcHRlZCBieSBgZnJvbWAgKHNlZSBhYm92ZSkuCiAKIGBtYXJrYApAQCAtNzQxLDcgKzc0MSw3IEBACiAKIC4uLi4KIAkndGFnJyBTUCA8bmFtZT4gTEYKLQknZnJvbScgU1AgPGNvbW1pdHRpc2g+IExGCisJJ2Zyb20nIFNQIDxjb21taXQtaXNoPiBMRgogCSd0YWdnZXInIChTUCA8bmFtZT4pPyBTUCBMVCA8ZW1haWw+IEdUIFNQIDx3aGVuPiBMRgogCWRhdGEKIC4uLi4KQEAgLTc4NiwxMSArNzg2LDExIEBACiAKIC4uLi4KIAkncmVzZXQnIFNQIDxyZWY+IExGCi0JKCdmcm9tJyBTUCA8Y29tbWl0dGlzaD4gTEYpPworCSgnZnJvbScgU1AgPGNvbW1pdC1pc2g+IExGKT8KIAlMRj8KIC4uLi4KIAotRm9yIGEgZGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgYDxyZWY+YCBhbmQgYDxjb21taXR0aXNoPmAgc2VlIGFib3ZlCitGb3IgYSBkZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiBgPHJlZj5gIGFuZCBgPGNvbW1pdC1pc2g+YCBzZWUgYWJvdmUKIHVuZGVyIGBjb21taXRgIGFuZCBgZnJvbWAuCiAKIFRoZSBgTEZgIGFmdGVyIHRoZSBjb21tYW5kIGlzIG9wdGlvbmFsIChpdCB1c2VkIHRvIGJlIHJlcXVpcmVkKS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWZldGNoLXBhY2sudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZmV0Y2gtcGFjay50eHQKaW5kZXggMWU3MTc1NC4uOTNiNTA2NyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZmV0Y2gtcGFjay50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZmV0Y2gtcGFjay50eHQKQEAgLTEyLDcgKzEyLDcgQEAKICdnaXQgZmV0Y2gtcGFjaycgWy0tYWxsXSBbLS1xdWlldHwtcV0gWy0ta2VlcHwta10gWy0tdGhpbl0gWy0taW5jbHVkZS10YWddCiAJWy0tdXBsb2FkLXBhY2s9PGdpdC11cGxvYWQtcGFjaz5dCiAJWy0tZGVwdGg9PG4+XSBbLS1uby1wcm9ncmVzc10KLQlbLXZdIFs8aG9zdD46XTxkaXJlY3Rvcnk+IFs8cmVmcz4uLi5dCisJWy12XSA8cmVwb3NpdG9yeT4gWzxyZWZzPi4uLl0KIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCkBAIC05MCwyMiArOTAsMjUgQEAKIC0tbm8tcHJvZ3Jlc3M6OgogCURvIG5vdCBzaG93IHRoZSBwcm9ncmVzcy4KIAorLS1jaGVjay1zZWxmLWNvbnRhaW5lZC1hbmQtY29ubmVjdGVkOjoKKwlPdXRwdXQgImNvbm5lY3Rpdml0eS1vayIgaWYgdGhlIHJlY2VpdmVkIHBhY2sgaXMKKwlzZWxmLWNvbnRhaW5lZCBhbmQgY29ubmVjdGVkLgorCiAtdjo6CiAJUnVuIHZlcmJvc2VseS4KIAotPGhvc3Q+OjoKLQlBIHJlbW90ZSBob3N0IHRoYXQgaG91c2VzIHRoZSByZXBvc2l0b3J5LiAgV2hlbiB0aGlzCi0JcGFydCBpcyBzcGVjaWZpZWQsICdnaXQtdXBsb2FkLXBhY2snIGlzIGludm9rZWQgdmlhCi0Jc3NoLgotCi08ZGlyZWN0b3J5Pjo6Ci0JVGhlIHJlcG9zaXRvcnkgdG8gc3luYyBmcm9tLgorPHJlcG9zaXRvcnk+OjoKKwlUaGUgVVJMIHRvIHRoZSByZW1vdGUgcmVwb3NpdG9yeS4KIAogPHJlZnM+Li4uOjoKIAlUaGUgcmVtb3RlIGhlYWRzIHRvIHVwZGF0ZSBmcm9tLiBUaGlzIGlzIHJlbGF0aXZlIHRvCiAJJEdJVF9ESVIgKGUuZy4gIkhFQUQiLCAicmVmcy9oZWFkcy9tYXN0ZXIiKS4gIFdoZW4KIAl1bnNwZWNpZmllZCwgdXBkYXRlIGZyb20gYWxsIGhlYWRzIHRoZSByZW1vdGUgc2lkZSBoYXMuCiAKK1NFRSBBTFNPCistLS0tLS0tLQorbGlua2dpdDpnaXQtZmV0Y2hbMV0KKwogR0lUCiAtLS0KIFBhcnQgb2YgdGhlIGxpbmtnaXQ6Z2l0WzFdIHN1aXRlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1mZXRjaC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1mZXRjaC50eHQKaW5kZXggZTA4YTAyOC4uNTgwOWFhNCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZmV0Y2gudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWZldGNoLnR4dApAQCAtMjQsMTkgKzI0LDIyIEBACiBpbiBgLmdpdC9GRVRDSF9IRUFEYC4gIFRoaXMgaW5mb3JtYXRpb24gaXMgbGVmdCBmb3IgYSBsYXRlciBtZXJnZQogb3BlcmF0aW9uIGRvbmUgYnkgJ2dpdCBtZXJnZScuCiAKLVdoZW4gPHJlZnNwZWM+IHN0b3JlcyB0aGUgZmV0Y2hlZCByZXN1bHQgaW4gcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzLAotdGhlIHRhZ3MgdGhhdCBwb2ludCBhdCB0aGVzZSBicmFuY2hlcyBhcmUgYXV0b21hdGljYWxseQotZm9sbG93ZWQuICBUaGlzIGlzIGRvbmUgYnkgZmlyc3QgZmV0Y2hpbmcgZnJvbSB0aGUgcmVtb3RlIHVzaW5nCi10aGUgZ2l2ZW4gPHJlZnNwZWM+cywgYW5kIGlmIHRoZSByZXBvc2l0b3J5IGhhcyBvYmplY3RzIHRoYXQgYXJlCi1wb2ludGVkIGJ5IHJlbW90ZSB0YWdzIHRoYXQgaXQgZG9lcyBub3QgeWV0IGhhdmUsIHRoZW4gZmV0Y2gKLXRob3NlIG1pc3NpbmcgdGFncy4gIElmIHRoZSBvdGhlciBlbmQgaGFzIHRhZ3MgdGhhdCBwb2ludCBhdAotYnJhbmNoZXMgeW91IGFyZSBub3QgaW50ZXJlc3RlZCBpbiwgeW91IHdpbGwgbm90IGdldCB0aGVtLgorQnkgZGVmYXVsdCwgdGFncyBhcmUgYXV0by1mb2xsb3dlZC4gIFRoaXMgbWVhbnMgdGhhdCB3aGVuIGZldGNoaW5nCitmcm9tIGEgcmVtb3RlLCBhbnkgdGFncyBvbiB0aGUgcmVtb3RlIHRoYXQgcG9pbnQgdG8gb2JqZWN0cyB0aGF0IGV4aXN0CitpbiB0aGUgbG9jYWwgcmVwb3NpdG9yeSBhcmUgZmV0Y2hlZC4gIFRoZSBlZmZlY3QgaXMgdG8gZmV0Y2ggdGFncyB0aGF0Citwb2ludCBhdCBicmFuY2hlcyB0aGF0IHlvdSBhcmUgaW50ZXJlc3RlZCBpbi4gIFRoaXMgZGVmYXVsdCBiZWhhdmlvcgorY2FuIGJlIGNoYW5nZWQgYnkgdXNpbmcgdGhlIC0tdGFncyBvciAtLW5vLXRhZ3Mgb3B0aW9ucywgYnkKK2NvbmZpZ3VyaW5nIHJlbW90ZS48bmFtZT4udGFnb3B0LCBvciBieSB1c2luZyBhIHJlZnNwZWMgdGhhdCBmZXRjaGVzCit0YWdzIGV4cGxpY2l0bHkuCiAKICdnaXQgZmV0Y2gnIGNhbiBmZXRjaCBmcm9tIGVpdGhlciBhIHNpbmdsZSBuYW1lZCByZXBvc2l0b3J5LAogb3IgZnJvbSBzZXZlcmFsIHJlcG9zaXRvcmllcyBhdCBvbmNlIGlmIDxncm91cD4gaXMgZ2l2ZW4gYW5kCiB0aGVyZSBpcyBhIHJlbW90ZXMuPGdyb3VwPiBlbnRyeSBpbiB0aGUgY29uZmlndXJhdGlvbiBmaWxlLgogKFNlZSBsaW5rZ2l0OmdpdC1jb25maWdbMV0pLgogCitXaGVuIG5vIHJlbW90ZSBpcyBzcGVjaWZpZWQsIGJ5IGRlZmF1bHQgdGhlIGBvcmlnaW5gIHJlbW90ZSB3aWxsIGJlIHVzZWQsCit1bmxlc3MgdGhlcmUncyBhbiB1cHN0cmVhbSBicmFuY2ggY29uZmlndXJlZCBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLgorCiBPUFRJT05TCiAtLS0tLS0tCiBpbmNsdWRlOjpmZXRjaC1vcHRpb25zLnR4dFtdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1maWx0ZXItYnJhbmNoLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWZpbHRlci1icmFuY2gudHh0CmluZGV4IGU0YzhlODIuLjJlYmE2MjcgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWZpbHRlci1icmFuY2gudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWZpbHRlci1icmFuY2gudHh0CkBAIC0zOTMsNyArMzkzLDcgQEAKIENoZWNrbGlzdCBmb3IgU2hyaW5raW5nIGEgUmVwb3NpdG9yeQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLWdpdC1maWx0ZXItYnJhbmNoIGlzIG9mdGVuIHVzZWQgdG8gZ2V0IHJpZCBvZiBhIHN1YnNldCBvZiBmaWxlcywKK2dpdC1maWx0ZXItYnJhbmNoIGNhbiBiZSB1c2VkIHRvIGdldCByaWQgb2YgYSBzdWJzZXQgb2YgZmlsZXMsCiB1c3VhbGx5IHdpdGggc29tZSBjb21iaW5hdGlvbiBvZiBgLS1pbmRleC1maWx0ZXJgIGFuZAogYC0tc3ViZGlyZWN0b3J5LWZpbHRlcmAuICBQZW9wbGUgZXhwZWN0IHRoZSByZXN1bHRpbmcgcmVwb3NpdG9yeSB0bwogYmUgc21hbGxlciB0aGFuIHRoZSBvcmlnaW5hbCwgYnV0IHlvdSBuZWVkIGEgZmV3IG1vcmUgc3RlcHMgdG8KQEAgLTQyOSw2ICs0MjksMzcgQEAKICAgKG9yIGlmIHlvdXIgZ2l0LWdjIGlzIG5vdCBuZXcgZW5vdWdoIHRvIHN1cHBvcnQgYXJndW1lbnRzIHRvCiAgIGAtLXBydW5lYCwgdXNlIGBnaXQgcmVwYWNrIC1hZDsgZ2l0IHBydW5lYCBpbnN0ZWFkKS4KIAorTm90ZXMKKy0tLS0tCisKK2dpdC1maWx0ZXItYnJhbmNoIGFsbG93cyB5b3UgdG8gbWFrZSBjb21wbGV4IHNoZWxsLXNjcmlwdGVkIHJld3JpdGVzCitvZiB5b3VyIEdpdCBoaXN0b3J5LCBidXQgeW91IHByb2JhYmx5IGRvbid0IG5lZWQgdGhpcyBmbGV4aWJpbGl0eSBpZgoreW91J3JlIHNpbXBseSBfcmVtb3ZpbmcgdW53YW50ZWQgZGF0YV8gbGlrZSBsYXJnZSBmaWxlcyBvciBwYXNzd29yZHMuCitGb3IgdGhvc2Ugb3BlcmF0aW9ucyB5b3UgbWF5IHdhbnQgdG8gY29uc2lkZXIKK2xpbms6aHR0cDovL3J0eWxleS5naXRodWIuaW8vYmZnLXJlcG8tY2xlYW5lci9bVGhlIEJGRyBSZXBvLUNsZWFuZXJdLAorYSBKVk0tYmFzZWQgYWx0ZXJuYXRpdmUgdG8gZ2l0LWZpbHRlci1icmFuY2gsIHR5cGljYWxseSBhdCBsZWFzdAorMTAtNTB4IGZhc3RlciBmb3IgdGhvc2UgdXNlLWNhc2VzLCBhbmQgd2l0aCBxdWl0ZSBkaWZmZXJlbnQKK2NoYXJhY3RlcmlzdGljczoKKworKiBBbnkgcGFydGljdWxhciB2ZXJzaW9uIG9mIGEgZmlsZSBpcyBjbGVhbmVkIGV4YWN0bHkgX29uY2VfLiBUaGUgQkZHLAorICB1bmxpa2UgZ2l0LWZpbHRlci1icmFuY2gsIGRvZXMgbm90IGdpdmUgeW91IHRoZSBvcHBvcnR1bml0eSB0bworICBoYW5kbGUgYSBmaWxlIGRpZmZlcmVudGx5IGJhc2VkIG9uIHdoZXJlIG9yIHdoZW4gaXQgd2FzIGNvbW1pdHRlZAorICB3aXRoaW4geW91ciBoaXN0b3J5LiBUaGlzIGNvbnN0cmFpbnQgZ2l2ZXMgdGhlIGNvcmUgcGVyZm9ybWFuY2UKKyAgYmVuZWZpdCBvZiBUaGUgQkZHLCBhbmQgaXMgd2VsbC1zdWl0ZWQgdG8gdGhlIHRhc2sgb2YgY2xlYW5zaW5nIGJhZAorICBkYXRhIC0geW91IGRvbid0IGNhcmUgX3doZXJlXyB0aGUgYmFkIGRhdGEgaXMsIHlvdSBqdXN0IHdhbnQgaXQKKyAgX2dvbmVfLgorCisqIEJ5IGRlZmF1bHQgVGhlIEJGRyB0YWtlcyBmdWxsIGFkdmFudGFnZSBvZiBtdWx0aS1jb3JlIG1hY2hpbmVzLAorICBjbGVhbnNpbmcgY29tbWl0IGZpbGUtdHJlZXMgaW4gcGFyYWxsZWwuIGdpdC1maWx0ZXItYnJhbmNoIGNsZWFucworICBjb21taXRzIHNlcXVlbnRpYWxseSAoaWUgaW4gYSBzaW5nbGUtdGhyZWFkZWQgbWFubmVyKSwgdGhvdWdoIGl0CisgIF9pc18gcG9zc2libGUgdG8gd3JpdGUgZmlsdGVycyB0aGF0IGluY2x1ZGUgdGhlaXIgb3duIHBhcmFsbGVsbGlzbSwKKyAgaW4gdGhlIHNjcmlwdHMgZXhlY3V0ZWQgYWdhaW5zdCBlYWNoIGNvbW1pdC4KKworKiBUaGUgbGluazpodHRwOi8vcnR5bGV5LmdpdGh1Yi5pby9iZmctcmVwby1jbGVhbmVyLyNleGFtcGxlc1tjb21tYW5kIG9wdGlvbnNdCisgIGFyZSBtdWNoIG1vcmUgcmVzdHJpY3RpdmUgdGhhbiBnaXQtZmlsdGVyIGJyYW5jaCwgYW5kIGRlZGljYXRlZCBqdXN0CisgIHRvIHRoZSB0YXNrcyBvZiByZW1vdmluZyB1bndhbnRlZCBkYXRhLSBlLmc6CisgIGAtLXN0cmlwLWJsb2JzLWJpZ2dlci10aGFuIDFNYC4KKwogR0lUCiAtLS0KIFBhcnQgb2YgdGhlIGxpbmtnaXQ6Z2l0WzFdIHN1aXRlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1mb3ItZWFjaC1yZWYudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZm9yLWVhY2gtcmVmLnR4dAppbmRleCBmMmUwOGQxLi40MjQwODc1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1mb3ItZWFjaC1yZWYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWZvci1lYWNoLXJlZi50eHQKQEAgLTkxLDcgKzkxLDE5IEBACiB1cHN0cmVhbTo6CiAJVGhlIG5hbWUgb2YgYSBsb2NhbCByZWYgd2hpY2ggY2FuIGJlIGNvbnNpZGVyZWQgYGB1cHN0cmVhbScnCiAJZnJvbSB0aGUgZGlzcGxheWVkIHJlZi4gUmVzcGVjdHMgYDpzaG9ydGAgaW4gdGhlIHNhbWUgd2F5IGFzCi0JYHJlZm5hbWVgIGFib3ZlLgorCWByZWZuYW1lYCBhYm92ZS4gIEFkZGl0aW9uYWxseSByZXNwZWN0cyBgOnRyYWNrYCB0byBzaG93CisJIlthaGVhZCBOLCBiZWhpbmQgTV0iIGFuZCBgOnRyYWNrc2hvcnRgIHRvIHNob3cgdGhlIHRlcnNlCisJdmVyc2lvbjogIj4iIChhaGVhZCksICI8IiAoYmVoaW5kKSwgIjw+IiAoYWhlYWQgYW5kIGJlaGluZCksCisJb3IgIj0iIChpbiBzeW5jKS4gIEhhcyBubyBlZmZlY3QgaWYgdGhlIHJlZiBkb2VzIG5vdCBoYXZlCisJdHJhY2tpbmcgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGl0LgorCitIRUFEOjoKKwknKicgaWYgSEVBRCBtYXRjaGVzIGN1cnJlbnQgcmVmICh0aGUgY2hlY2tlZCBvdXQgYnJhbmNoKSwgJyAnCisJb3RoZXJ3aXNlLgorCitjb2xvcjo6CisJQ2hhbmdlIG91dHB1dCBjb2xvci4gIEZvbGxvd2VkIGJ5IGA6PGNvbG9ybmFtZT5gLCB3aGVyZSBuYW1lcworCWFyZSBkZXNjcmliZWQgaW4gYGNvbG9yLmJyYW5jaC4qYC4KIAogSW4gYWRkaXRpb24gdG8gdGhlIGFib3ZlLCBmb3IgY29tbWl0IGFuZCB0YWcgb2JqZWN0cywgdGhlIGhlYWRlcgogZmllbGQgbmFtZXMgKGB0cmVlYCwgYHBhcmVudGAsIGBvYmplY3RgLCBgdHlwZWAsIGFuZCBgdGFnYCkgY2FuCkBAIC0yMDcsMTMgKzIxOSw5IEBACiBldmFsICIkZXZhbCIKIC0tLS0tLS0tLS0tLQogCi1BdXRob3IKLS0tLS0tLQotV3JpdHRlbiBieSBKdW5pbyBDIEhhbWFubyA8Z2l0c3RlckBwb2JveC5jb20+LgotCi1Eb2N1bWVudGF0aW9uCi0tLS0tLS0tLS0tLS0tCi1Eb2N1bWVudGF0aW9uIGJ5IEp1bmlvIEMgSGFtYW5vIGFuZCB0aGUgZ2l0LWxpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+LgorU0VFIEFMU08KKy0tLS0tLS0tCitsaW5rZ2l0OmdpdC1zaG93LXJlZlsxXQogCiBHSVQKIC0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZm9ybWF0LXBhdGNoLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWZvcm1hdC1wYXRjaC50eHQKaW5kZXggZTM5NDI3Ni4uNWMwYTRhYiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZm9ybWF0LXBhdGNoLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1mb3JtYXQtcGF0Y2gudHh0CkBAIC0yNDIsNiArMjQyLDcgQEAKIE5vdGUgdGhhdCB0aGUgbGVhZGluZyBjaGFyYWN0ZXIgZG9lcyBub3QgaGF2ZSB0byBiZSBhIGRvdDsgZm9yIGV4YW1wbGUsCiB5b3UgY2FuIHVzZSBgLS1zdWZmaXg9LXBhdGNoYCB0byBnZXQgYDAwMDEtZGVzY3JpcHRpb24tb2YtbXktY2hhbmdlLXBhdGNoYC4KIAorLXE6OgogLS1xdWlldDo6CiAJRG8gbm90IHByaW50IHRoZSBuYW1lcyBvZiB0aGUgZ2VuZXJhdGVkIGZpbGVzIHRvIHN0YW5kYXJkIG91dHB1dC4KIApAQCAtNDM3LDcgKzQzOCw4IEBACiBJbiBUaHVuZGVyYmlyZCAzOgogRWRpdC4uUHJlZmVyZW5jZXMuLkFkdmFuY2VkLi5Db25maWcgRWRpdG9yLiAgU2VhcmNoIGZvcgogIm1haWwud3JhcF9sb25nX2xpbmVzIi4KLVRvZ2dsZSBpdCB0byBtYWtlIHN1cmUgaXQgaXMgc2V0IHRvIGBmYWxzZWAuCitUb2dnbGUgaXQgdG8gbWFrZSBzdXJlIGl0IGlzIHNldCB0byBgZmFsc2VgLiBBbHNvLCBzZWFyY2ggZm9yCisibWFpbG5ld3Mud3JhcGxlbmd0aCIgYW5kIHNldCB0aGUgdmFsdWUgdG8gMC4KIAogMy4gRGlzYWJsZSB0aGUgdXNlIG9mIGZvcm1hdD1mbG93ZWQ6CiBFZGl0Li5QcmVmZXJlbmNlcy4uQWR2YW5jZWQuLkNvbmZpZyBFZGl0b3IuICBTZWFyY2ggZm9yCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1nYy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1nYy50eHQKaW5kZXggMjQwMmVkNi4uZTE1OGEzYiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZ2MudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWdjLnR4dApAQCAtOSw3ICs5LDcgQEAKIFNZTk9QU0lTCiAtLS0tLS0tLQogW3ZlcnNlXQotJ2dpdCBnYycgWy0tYWdncmVzc2l2ZV0gWy0tYXV0b10gWy0tcXVpZXRdIFstLXBydW5lPTxkYXRlPiB8IC0tbm8tcHJ1bmVdCisnZ2l0IGdjJyBbLS1hZ2dyZXNzaXZlXSBbLS1hdXRvXSBbLS1xdWlldF0gWy0tcHJ1bmU9PGRhdGU+IHwgLS1uby1wcnVuZV0gWy0tZm9yY2VdCiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQpAQCAtNzIsNiArNzIsMTAgQEAKIC0tcXVpZXQ6OgogCVN1cHByZXNzIGFsbCBwcm9ncmVzcyByZXBvcnRzLgogCistLWZvcmNlOjoKKwlGb3JjZSBgZ2l0IGdjYCB0byBydW4gZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBgZ2l0IGdjYAorCWluc3RhbmNlIHJ1bm5pbmcgb24gdGhpcyByZXBvc2l0b3J5LgorCiBDb25maWd1cmF0aW9uCiAtLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWdyZXAudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZ3JlcC50eHQKaW5kZXggODQ5N2FhNC4uZjgzNzMzNCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZ3JlcC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZ3JlcC50eHQKQEAgLTksNyArOSw3IEBACiBTWU5PUFNJUwogLS0tLS0tLS0KIFt2ZXJzZV0KLSdnaXQgZ3JlcCcgWy1hIHwgLS10ZXh0XSBbLUldIFstaSB8IC0taWdub3JlLWNhc2VdIFstdyB8IC0td29yZC1yZWdleHBdCisnZ2l0IGdyZXAnIFstYSB8IC0tdGV4dF0gWy1JXSBbLS10ZXh0Y29udl0gWy1pIHwgLS1pZ25vcmUtY2FzZV0gWy13IHwgLS13b3JkLXJlZ2V4cF0KIAkgICBbLXYgfCAtLWludmVydC1tYXRjaF0gWy1ofC1IXSBbLS1mdWxsLW5hbWVdCiAJICAgWy1FIHwgLS1leHRlbmRlZC1yZWdleHBdIFstRyB8IC0tYmFzaWMtcmVnZXhwXQogCSAgIFstUCB8IC0tcGVybC1yZWdleHBdCkBAIC04MCw2ICs4MCwxMyBAQAogLS10ZXh0OjoKIAlQcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyBpZiB0aGV5IHdlcmUgdGV4dC4KIAorLS10ZXh0Y29udjo6CisJSG9ub3IgdGV4dGNvbnYgZmlsdGVyIHNldHRpbmdzLgorCistLW5vLXRleHRjb252OjoKKwlEbyBub3QgaG9ub3IgdGV4dGNvbnYgZmlsdGVyIHNldHRpbmdzLgorCVRoaXMgaXMgdGhlIGRlZmF1bHQuCisKIC1pOjoKIC0taWdub3JlLWNhc2U6OgogCUlnbm9yZSBjYXNlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIHBhdHRlcm5zIGFuZCB0aGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWh0dHAtYmFja2VuZC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1odHRwLWJhY2tlbmQudHh0CmluZGV4IGUzYmNkYjUuLmU4YzEzZjYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWh0dHAtYmFja2VuZC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtaHR0cC1iYWNrZW5kLnR4dApAQCAtMjYzLDE0ICsyNjMsNiBAQAogQWxsIENHSSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYXJlIGF2YWlsYWJsZSB0byBlYWNoIG9mIHRoZSBob29rcwogaW52b2tlZCBieSB0aGUgJ2dpdC1yZWNlaXZlLXBhY2snLgogCi1BdXRob3IKLS0tLS0tLQotV3JpdHRlbiBieSBTaGF3biBPLiBQZWFyY2UgPHNwZWFyY2VAc3BlYXJjZS5vcmc+LgotCi1Eb2N1bWVudGF0aW9uCi0tLS0tLS0tLS0tLS0tLQotRG9jdW1lbnRhdGlvbiBieSBTaGF3biBPLiBQZWFyY2UgPHNwZWFyY2VAc3BlYXJjZS5vcmc+LgotCiBHSVQKIC0tLQogUGFydCBvZiB0aGUgbGlua2dpdDpnaXRbMV0gc3VpdGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWxvZy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1sb2cudHh0CmluZGV4IGFjMjY5NGQuLjFmN2JjNjcgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWxvZy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtbG9nLnR4dApAQCAtMTUsOSArMTUsOSBAQAogLS0tLS0tLS0tLS0KIFNob3dzIHRoZSBjb21taXQgbG9ncy4KIAotVGhlIGNvbW1hbmQgdGFrZXMgb3B0aW9ucyBhcHBsaWNhYmxlIHRvIHRoZSAnZ2l0IHJldi1saXN0JworVGhlIGNvbW1hbmQgdGFrZXMgb3B0aW9ucyBhcHBsaWNhYmxlIHRvIHRoZSBgZ2l0IHJldi1saXN0YAogY29tbWFuZCB0byBjb250cm9sIHdoYXQgaXMgc2hvd24gYW5kIGhvdywgYW5kIG9wdGlvbnMgYXBwbGljYWJsZSB0bwotdGhlICdnaXQgZGlmZi0qJyBjb21tYW5kcyB0byBjb250cm9sIGhvdyB0aGUgY2hhbmdlcwordGhlIGBnaXQgZGlmZi0qYCBjb21tYW5kcyB0byBjb250cm9sIGhvdyB0aGUgY2hhbmdlcwogZWFjaCBjb21taXQgaW50cm9kdWNlcyBhcmUgc2hvd24uCiAKIApAQCAtNDIsMjggKzQyLDI3IEBACiAKIC0tdXNlLW1haWxtYXA6OgogCVVzZSBtYWlsbWFwIGZpbGUgdG8gbWFwIGF1dGhvciBhbmQgY29tbWl0dGVyIG5hbWVzIGFuZCBlbWFpbAotCXRvIGNhbm9uaWNhbCByZWFsIG5hbWVzIGFuZCBlbWFpbCBhZGRyZXNzZXMuIFNlZQorCWFkZHJlc3NlcyB0byBjYW5vbmljYWwgcmVhbCBuYW1lcyBhbmQgZW1haWwgYWRkcmVzc2VzLiBTZWUKIAlsaW5rZ2l0OmdpdC1zaG9ydGxvZ1sxXS4KIAogLS1mdWxsLWRpZmY6OgotCVdpdGhvdXQgdGhpcyBmbGFnLCAiZ2l0IGxvZyAtcCA8cGF0aD4uLi4iIHNob3dzIGNvbW1pdHMgdGhhdAorCVdpdGhvdXQgdGhpcyBmbGFnLCBgZ2l0IGxvZyAtcCA8cGF0aD4uLi5gIHNob3dzIGNvbW1pdHMgdGhhdAogCXRvdWNoIHRoZSBzcGVjaWZpZWQgcGF0aHMsIGFuZCBkaWZmcyBhYm91dCB0aGUgc2FtZSBzcGVjaWZpZWQKIAlwYXRocy4gIFdpdGggdGhpcywgdGhlIGZ1bGwgZGlmZiBpcyBzaG93biBmb3IgY29tbWl0cyB0aGF0IHRvdWNoCiAJdGhlIHNwZWNpZmllZCBwYXRoczsgdGhpcyBtZWFucyB0aGF0ICI8cGF0aD4uLi4iIGxpbWl0cyBvbmx5CiAJY29tbWl0cywgYW5kIGRvZXNuJ3QgbGltaXQgZGlmZiBmb3IgdGhvc2UgY29tbWl0cy4KICsKIE5vdGUgdGhhdCB0aGlzIGFmZmVjdHMgYWxsIGRpZmYtYmFzZWQgb3V0cHV0IHR5cGVzLCBlLmcuIHRob3NlCi1wcm9kdWNlZCBieSAtLXN0YXQgZXRjLgorcHJvZHVjZWQgYnkgYC0tc3RhdGAsIGV0Yy4KIAogLS1sb2ctc2l6ZTo6Ci0JQmVmb3JlIHRoZSBsb2cgbWVzc2FnZSBwcmludCBvdXQgaXRzIHNpemUgaW4gYnl0ZXMuIEludGVuZGVkCi0JbWFpbmx5IGZvciBwb3JjZWxhaW4gdG9vbHMgY29uc3VtcHRpb24uIElmIEdpdCBpcyB1bmFibGUgdG8KLQlwcm9kdWNlIGEgdmFsaWQgdmFsdWUgc2l6ZSBpcyBzZXQgdG8gemVyby4KLQlOb3RlIHRoYXQgb25seSBtZXNzYWdlIGlzIGNvbnNpZGVyZWQsIGlmIGFsc28gYSBkaWZmIGlzIHNob3duCi0JaXRzIHNpemUgaXMgbm90IGluY2x1ZGVkLgorCUluY2x1ZGUgYSBsaW5lIGBgbG9nIHNpemUgPG51bWJlcj4nJyBpbiB0aGUgb3V0cHV0IGZvciBlYWNoIGNvbW1pdCwKKwl3aGVyZSA8bnVtYmVyPiBpcyB0aGUgbGVuZ3RoIG9mIHRoYXQgY29tbWl0J3MgbWVzc2FnZSBpbiBieXRlcy4KKwlJbnRlbmRlZCB0byBzcGVlZCB1cCB0b29scyB0aGF0IHJlYWQgbG9nIG1lc3NhZ2VzIGZyb20gYGdpdCBsb2dgCisJb3V0cHV0IGJ5IGFsbG93aW5nIHRoZW0gdG8gYWxsb2NhdGUgc3BhY2UgaW4gYWR2YW5jZS4KIAotLUwgPHN0YXJ0Piw8ZW5kPjo8ZmlsZT4sIC1MIDo8cmVnZXg+OjxmaWxlPjo6Ci0KKy1MIDxzdGFydD4sPGVuZD46PGZpbGU+OjoKKy1MIDo8cmVnZXg+OjxmaWxlPjo6CiAJVHJhY2UgdGhlIGV2b2x1dGlvbiBvZiB0aGUgbGluZSByYW5nZSBnaXZlbiBieSAiPHN0YXJ0Piw8ZW5kPiIKIAkob3IgdGhlIGZ1bmNuYW1lIHJlZ2V4IDxyZWdleD4pIHdpdGhpbiB0aGUgPGZpbGU+LiAgWW91IG1heQogCW5vdCBnaXZlIGFueSBwYXRoc3BlYyBsaW1pdGVycy4gIFRoaXMgaXMgY3VycmVudGx5IGxpbWl0ZWQgdG8KQEAgLTcxLDggKzcwLDYgQEAKIAlnaXZlIHplcm8gb3Igb25lIHBvc2l0aXZlIHJldmlzaW9uIGFyZ3VtZW50cy4KIAlZb3UgY2FuIHNwZWNpZnkgdGhpcyBvcHRpb24gbW9yZSB0aGFuIG9uY2UuCiArCi08c3RhcnQ+IGFuZCA8ZW5kPiBjYW4gdGFrZSBvbmUgb2YgdGhlc2UgZm9ybXM6Ci0KIGluY2x1ZGU6OmxpbmUtcmFuZ2UtZm9ybWF0LnR4dFtdCiAKIDxyZXZpc2lvbiByYW5nZT46OgpAQCAtODEsMTYgKzc4LDE2IEBACiAJd2hvbGUgaGlzdG9yeSBsZWFkaW5nIHRvIHRoZSBjdXJyZW50IGNvbW1pdCkuICBgb3JpZ2luLi5IRUFEYAogCXNwZWNpZmllcyBhbGwgdGhlIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gdGhlIGN1cnJlbnQgY29tbWl0CiAJKGkuZS4gYEhFQURgKSwgYnV0IG5vdCBmcm9tIGBvcmlnaW5gLiBGb3IgYSBjb21wbGV0ZSBsaXN0IG9mCi0Jd2F5cyB0byBzcGVsbCA8cmV2aXNpb24gcmFuZ2U+LCBzZWUgdGhlICJTcGVjaWZ5aW5nIFJhbmdlcyIKKwl3YXlzIHRvIHNwZWxsIDxyZXZpc2lvbiByYW5nZT4sIHNlZSB0aGUgJ1NwZWNpZnlpbmcgUmFuZ2VzJwogCXNlY3Rpb24gb2YgbGlua2dpdDpnaXRyZXZpc2lvbnNbN10uCiAKIFtcLS1dIDxwYXRoPi4uLjo6CiAJU2hvdyBvbmx5IGNvbW1pdHMgdGhhdCBhcmUgZW5vdWdoIHRvIGV4cGxhaW4gaG93IHRoZSBmaWxlcwotCXRoYXQgbWF0Y2ggdGhlIHNwZWNpZmllZCBwYXRocyBjYW1lIHRvIGJlLiAgU2VlICJIaXN0b3J5Ci0JU2ltcGxpZmljYXRpb24iIGJlbG93IGZvciBkZXRhaWxzIGFuZCBvdGhlciBzaW1wbGlmaWNhdGlvbgorCXRoYXQgbWF0Y2ggdGhlIHNwZWNpZmllZCBwYXRocyBjYW1lIHRvIGJlLiAgU2VlICdIaXN0b3J5CisJU2ltcGxpZmljYXRpb24nIGJlbG93IGZvciBkZXRhaWxzIGFuZCBvdGhlciBzaW1wbGlmaWNhdGlvbgogCW1vZGVzLgogKwotUGF0aHMgbWF5IG5lZWQgdG8gYmUgcHJlZml4ZWQgd2l0aCAiXC0tICIgdG8gc2VwYXJhdGUgdGhlbSBmcm9tCitQYXRocyBtYXkgbmVlZCB0byBiZSBwcmVmaXhlZCB3aXRoIGBgXC0tICcnIHRvIHNlcGFyYXRlIHRoZW0gZnJvbQogb3B0aW9ucyBvciB0aGUgcmV2aXNpb24gcmFuZ2UsIHdoZW4gY29uZnVzaW9uIGFyaXNlcy4KIAogaW5jbHVkZTo6cmV2LWxpc3Qtb3B0aW9ucy50eHRbXQpAQCAtMTE0LDEyICsxMTEsMTIgQEAKIGBnaXQgbG9nIHYyLjYuMTIuLiBpbmNsdWRlL3Njc2kgZHJpdmVycy9zY3NpYDo6CiAKIAlTaG93IGFsbCBjb21taXRzIHNpbmNlIHZlcnNpb24gJ3YyLjYuMTInIHRoYXQgY2hhbmdlZCBhbnkgZmlsZQotCWluIHRoZSBpbmNsdWRlL3Njc2kgb3IgZHJpdmVycy9zY3NpIHN1YmRpcmVjdG9yaWVzCisJaW4gdGhlIGBpbmNsdWRlL3Njc2lgIG9yIGBkcml2ZXJzL3Njc2lgIHN1YmRpcmVjdG9yaWVzCiAKIGBnaXQgbG9nIC0tc2luY2U9IjIgd2Vla3MgYWdvIiAtLSBnaXRrYDo6CiAKIAlTaG93IHRoZSBjaGFuZ2VzIGR1cmluZyB0aGUgbGFzdCB0d28gd2Vla3MgdG8gdGhlIGZpbGUgJ2dpdGsnLgotCVRoZSAiLS0iIGlzIG5lY2Vzc2FyeSB0byBhdm9pZCBjb25mdXNpb24gd2l0aCB0aGUgKmJyYW5jaCogbmFtZWQKKwlUaGUgYGAtLScnIGlzIG5lY2Vzc2FyeSB0byBhdm9pZCBjb25mdXNpb24gd2l0aCB0aGUgKmJyYW5jaCogbmFtZWQKIAknZ2l0aycKIAogYGdpdCBsb2cgLS1uYW1lLXN0YXR1cyByZWxlYXNlLi50ZXN0YDo6CkBAIC0xMzAsNyArMTI3LDcgQEAKIAogYGdpdCBsb2cgLS1mb2xsb3cgYnVpbHRpbi9yZXYtbGlzdC5jYDo6CiAKLQlTaG93cyB0aGUgY29tbWl0cyB0aGF0IGNoYW5nZWQgYnVpbHRpbi9yZXYtbGlzdC5jLCBpbmNsdWRpbmcKKwlTaG93cyB0aGUgY29tbWl0cyB0aGF0IGNoYW5nZWQgYGJ1aWx0aW4vcmV2LWxpc3QuY2AsIGluY2x1ZGluZwogCXRob3NlIGNvbW1pdHMgdGhhdCBvY2N1cnJlZCBiZWZvcmUgdGhlIGZpbGUgd2FzIGdpdmVuIGl0cwogCXByZXNlbnQgbmFtZS4KIApAQCAtMTQ4LDE3ICsxNDUsMTggQEAKIGBnaXQgbG9nIC1wIC1tIC0tZmlyc3QtcGFyZW50YDo6CiAKIAlTaG93cyB0aGUgaGlzdG9yeSBpbmNsdWRpbmcgY2hhbmdlIGRpZmZzLCBidXQgb25seSBmcm9tIHRoZQotCSJtYWluIGJyYW5jaCIgcGVyc3BlY3RpdmUsIHNraXBwaW5nIGNvbW1pdHMgdGhhdCBjb21lIGZyb20gbWVyZ2VkCisJYGBtYWluIGJyYW5jaCcnIHBlcnNwZWN0aXZlLCBza2lwcGluZyBjb21taXRzIHRoYXQgY29tZSBmcm9tIG1lcmdlZAogCWJyYW5jaGVzLCBhbmQgc2hvd2luZyBmdWxsIGRpZmZzIG9mIGNoYW5nZXMgaW50cm9kdWNlZCBieSB0aGUgbWVyZ2VzLgogCVRoaXMgbWFrZXMgc2Vuc2Ugb25seSB3aGVuIGZvbGxvd2luZyBhIHN0cmljdCBwb2xpY3kgb2YgbWVyZ2luZyBhbGwKIAl0b3BpYyBicmFuY2hlcyB3aGVuIHN0YXlpbmcgb24gYSBzaW5nbGUgaW50ZWdyYXRpb24gYnJhbmNoLgogCiBgZ2l0IGxvZyAtTCAnL2ludCBtYWluLycsL159LzptYWluLmNgOjoKIAotCVNob3dzIGhvdyB0aGUgZnVuY3Rpb24gYG1haW4oKWAgaW4gdGhlIGZpbGUgJ21haW4uYycgZXZvbHZlZAorCVNob3dzIGhvdyB0aGUgZnVuY3Rpb24gYG1haW4oKWAgaW4gdGhlIGZpbGUgYG1haW4uY2AgZXZvbHZlZAogCW92ZXIgdGltZS4KIAogYGdpdCBsb2cgLTNgOjoKKwogCUxpbWl0cyB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgdG8gc2hvdyB0byAzLgogCiBESVNDVVNTSU9OCkBAIC0xNzMsMTIgKzE3MSwxMiBAQAogZm9yIHNldHRpbmdzIHJlbGF0ZWQgdG8gZGlmZiBnZW5lcmF0aW9uLgogCiBmb3JtYXQucHJldHR5OjoKLQlEZWZhdWx0IGZvciB0aGUgYC0tZm9ybWF0YCBvcHRpb24uICAoU2VlICJQUkVUVFkgRk9STUFUUyIgYWJvdmUuKQotCURlZmF1bHRzIHRvICJtZWRpdW0iLgorCURlZmF1bHQgZm9yIHRoZSBgLS1mb3JtYXRgIG9wdGlvbi4gIChTZWUgJ1ByZXR0eSBGb3JtYXRzJyBhYm92ZS4pCisJRGVmYXVsdHMgdG8gYG1lZGl1bWAuCiAKIGkxOG4ubG9nT3V0cHV0RW5jb2Rpbmc6OgotCUVuY29kaW5nIHRvIHVzZSB3aGVuIGRpc3BsYXlpbmcgbG9ncy4gIChTZWUgIkRpc2N1c3Npb24iLCBhYm92ZS4pCi0JRGVmYXVsdHMgdG8gdGhlIHZhbHVlIG9mIGBpMThuLmNvbW1pdEVuY29kaW5nYCBpZiBzZXQsIFVURi04CisJRW5jb2RpbmcgdG8gdXNlIHdoZW4gZGlzcGxheWluZyBsb2dzLiAgKFNlZSAnRGlzY3Vzc2lvbicgYWJvdmUuKQorCURlZmF1bHRzIHRvIHRoZSB2YWx1ZSBvZiBgaTE4bi5jb21taXRFbmNvZGluZ2AgaWYgc2V0LCBhbmQgVVRGLTgKIAlvdGhlcndpc2UuCiAKIGxvZy5kYXRlOjoKQEAgLTE4Nyw3ICsxODUsNyBAQAogCWRhdGVzIGxpa2UgYFNhdCBNYXkgOCAxOTozNTozNCAyMDEwIC0wNTAwYC4KIAogbG9nLnNob3dyb290OjoKLQlJZiBgZmFsc2VgLCAnZ2l0IGxvZycgYW5kIHJlbGF0ZWQgY29tbWFuZHMgd2lsbCBub3QgdHJlYXQgdGhlCisJSWYgYGZhbHNlYCwgYGdpdCBsb2dgIGFuZCByZWxhdGVkIGNvbW1hbmRzIHdpbGwgbm90IHRyZWF0IHRoZQogCWluaXRpYWwgY29tbWl0IGFzIGEgYmlnIGNyZWF0aW9uIGV2ZW50LiAgQW55IHJvb3QgY29tbWl0cyBpbgogCWBnaXQgbG9nIC1wYCBvdXRwdXQgd291bGQgYmUgc2hvd24gd2l0aG91dCBhIGRpZmYgYXR0YWNoZWQuCiAJVGhlIGRlZmF1bHQgaXMgYHRydWVgLgpAQCAtMTk4LDcgKzE5Niw3IEBACiBub3Rlcy5kaXNwbGF5UmVmOjoKIAlXaGljaCByZWZzLCBpbiBhZGRpdGlvbiB0byB0aGUgZGVmYXVsdCBzZXQgYnkgYGNvcmUubm90ZXNSZWZgCiAJb3IgJ0dJVF9OT1RFU19SRUYnLCB0byByZWFkIG5vdGVzIGZyb20gd2hlbiBzaG93aW5nIGNvbW1pdAotCW1lc3NhZ2VzIHdpdGggdGhlICdsb2cnIGZhbWlseSBvZiBjb21tYW5kcy4gIFNlZQorCW1lc3NhZ2VzIHdpdGggdGhlIGBsb2dgIGZhbWlseSBvZiBjb21tYW5kcy4gIFNlZQogCWxpbmtnaXQ6Z2l0LW5vdGVzWzFdLgogKwogTWF5IGJlIGFuIHVuYWJicmV2aWF0ZWQgcmVmIG5hbWUgb3IgYSBnbG9iIGFuZCBtYXkgYmUgc3BlY2lmaWVkCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1sb3N0LWZvdW5kLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWxvc3QtZm91bmQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNTQ5MzI4Li4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWxvc3QtZm91bmQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNzQgKzAsMCBAQAotZ2l0LWxvc3QtZm91bmQoMSkKLT09PT09PT09PT09PT09PT09Ci0KLU5BTUUKLS0tLS0KLWdpdC1sb3N0LWZvdW5kIC0gUmVjb3ZlciBsb3N0IHJlZnMgdGhhdCBsdWNraWx5IGhhdmUgbm90IHlldCBiZWVuIHBydW5lZAotCi1TWU5PUFNJUwotLS0tLS0tLS0KLVt2ZXJzZV0KLSdnaXQgbG9zdC1mb3VuZCcKLQotREVTQ1JJUFRJT04KLS0tLS0tLS0tLS0tCi0KLSpOT1RFKjogdGhpcyBjb21tYW5kIGlzIGRlcHJlY2F0ZWQuICBVc2UgbGlua2dpdDpnaXQtZnNja1sxXSB3aXRoCi10aGUgb3B0aW9uICctLWxvc3QtZm91bmQnIGluc3RlYWQuCi0KLUZpbmRzIGRhbmdsaW5nIGNvbW1pdHMgYW5kIHRhZ3MgZnJvbSB0aGUgb2JqZWN0IGRhdGFiYXNlLCBhbmQKLWNyZWF0ZXMgcmVmcyB0byB0aGVtIGluIHRoZSAuZ2l0L2xvc3QtZm91bmQvIGRpcmVjdG9yeS4gIENvbW1pdHMgYW5kCi10YWdzIHRoYXQgZGVyZWZlcmVuY2UgdG8gY29tbWl0cyBhcmUgc3RvcmVkIGluIC5naXQvbG9zdC1mb3VuZC9jb21taXQsCi1hbmQgb3RoZXIgb2JqZWN0cyBhcmUgc3RvcmVkIGluIC5naXQvbG9zdC1mb3VuZC9vdGhlci4KLQotCi1PVVRQVVQKLS0tLS0tLQotUHJpbnRzIHRvIHN0YW5kYXJkIG91dHB1dCB0aGUgb2JqZWN0IG5hbWVzIGFuZCBvbmUtbGluZSBkZXNjcmlwdGlvbnMKLW9mIGFueSBjb21taXRzIG9yIHRhZ3MgZm91bmQuCi0KLUVYQU1QTEUKLS0tLS0tLS0KLQotU3VwcG9zZSB5b3UgcnVuICdnaXQgdGFnIC1mJyBhbmQgbWlzdHlwZSB0aGUgdGFnIHRvIG92ZXJ3cml0ZS4KLVRoZSByZWYgdG8geW91ciB0YWcgaXMgb3ZlcndyaXR0ZW4sIGJ1dCB1bnRpbCB5b3UgcnVuICdnaXQKLXBydW5lJywgdGhlIHRhZyBpdHNlbGYgaXMgc3RpbGwgdGhlcmUuCi0KLS0tLS0tLS0tLS0tLQotJCBnaXQgbG9zdC1mb3VuZAotWzFlZjJiMTk2ZDkwOWVlZDUyM2Q0ZjNjOWJmNTRiNzhjZGQ2ODQzYzZdIEdJVCAwLjk5LjljCi0uLi4KLS0tLS0tLS0tLS0tLQotCi1BbHNvIHlvdSBjYW4gdXNlIGdpdGsgdG8gYnJvd3NlIGhvdyBhbnkgdGFncyBmb3VuZCByZWxhdGUgdG8gZWFjaAotb3RoZXIuCi0KLS0tLS0tLS0tLS0tLQotJCBnaXRrICQoY2QgLmdpdC9sb3N0LWZvdW5kL2NvbW1pdCAmJiBlY2hvID8/KikKLS0tLS0tLS0tLS0tLQotCi1BZnRlciBtYWtpbmcgc3VyZSB5b3Uga25vdyB3aGljaCB0aGUgb2JqZWN0IGlzIHRoZSB0YWcgeW91IGFyZSBsb29raW5nCi1mb3IsIHlvdSBjYW4gcmVjb25uZWN0IGl0IHRvIHlvdXIgcmVndWxhciBgcmVmc2AgaGllcmFyY2h5IGJ5IHVzaW5nCi10aGUgYHVwZGF0ZS1yZWZgIGNvbW1hbmQuCi0KLS0tLS0tLS0tLS0tLQotJCBnaXQgY2F0LWZpbGUgLXQgMWVmMmIxOTYKLXRhZwotJCBnaXQgY2F0LWZpbGUgdGFnIDFlZjJiMTk2Ci1vYmplY3QgZmE0MWJiY2U4ZTM4YzY3YTIxODQxNWRlNmNmYTUxMGM3ZTUwMDMyYQotdHlwZSBjb21taXQKLXRhZyB2MC45OS45YwotdGFnZ2VyIEp1bmlvIEMgSGFtYW5vIDxqdW5raW9AY294Lm5ldD4gMTEzMTA1OTU5NCAtMDgwMAotCi1HSVQgMC45OS45YwotCi1UaGlzIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgY2hhbmdlcyBmcm9tIHRoZSAibWFzdGVyIiBicmFuY2gsIHNpbmNlCi0uLi4KLSQgZ2l0IHVwZGF0ZS1yZWYgcmVmcy90YWdzL25vdC1sb3N0LWFueW1vcmUgMWVmMmIxOTYKLSQgZ2l0IHJldi1wYXJzZSBub3QtbG9zdC1hbnltb3JlCi0xZWYyYjE5NmQ5MDllZWQ1MjNkNGYzYzliZjU0Yjc4Y2RkNjg0M2M2Ci0tLS0tLS0tLS0tLS0KLQotR0lUCi0tLS0KLVBhcnQgb2YgdGhlIGxpbmtnaXQ6Z2l0WzFdIHN1aXRlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZS1iYXNlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdlLWJhc2UudHh0CmluZGV4IDg3ODQyZTMuLjgwODQyNmYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdlLWJhc2UudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdlLWJhc2UudHh0CkBAIC0xMyw2ICsxMyw3IEBACiAnZ2l0IG1lcmdlLWJhc2UnIFstYXwtLWFsbF0gLS1vY3RvcHVzIDxjb21taXQ+Li4uCiAnZ2l0IG1lcmdlLWJhc2UnIC0taXMtYW5jZXN0b3IgPGNvbW1pdD4gPGNvbW1pdD4KICdnaXQgbWVyZ2UtYmFzZScgLS1pbmRlcGVuZGVudCA8Y29tbWl0Pi4uLgorJ2dpdCBtZXJnZS1iYXNlJyAtLWZvcmstcG9pbnQgPHJlZj4gWzxjb21taXQ+XQogCiBERVNDUklQVElPTgogLS0tLS0tLS0tLS0KQEAgLTI0LDggKzI1LDggQEAKIGFuY2VzdG9yJywgaS5lLiBhICdtZXJnZSBiYXNlJy4gIE5vdGUgdGhhdCB0aGVyZSBjYW4gYmUgbW9yZSB0aGFuIG9uZQogbWVyZ2UgYmFzZSBmb3IgYSBwYWlyIG9mIGNvbW1pdHMuCiAKLU9QRVJBVElPTiBNT0RFCi0tLS0tLS0tLS0tLS0tLQorT1BFUkFUSU9OIE1PREVTCistLS0tLS0tLS0tLS0tLS0KIAogQXMgdGhlIG1vc3QgY29tbW9uIHNwZWNpYWwgY2FzZSwgc3BlY2lmeWluZyBvbmx5IHR3byBjb21taXRzIG9uIHRoZQogY29tbWFuZCBsaW5lIG1lYW5zIGNvbXB1dGluZyB0aGUgbWVyZ2UgYmFzZSBiZXR3ZWVuIHRoZSBnaXZlbiB0d28gY29tbWl0cy4KQEAgLTU2LDYgKzU3LDE0IEBACiAJYW5kIGV4aXQgd2l0aCBzdGF0dXMgMCBpZiB0cnVlLCBvciB3aXRoIHN0YXR1cyAxIGlmIG5vdC4KIAlFcnJvcnMgYXJlIHNpZ25hbGVkIGJ5IGEgbm9uLXplcm8gc3RhdHVzIHRoYXQgaXMgbm90IDEuCiAKKy0tZm9yay1wb2ludDo6CisJRmluZCB0aGUgcG9pbnQgYXQgd2hpY2ggYSBicmFuY2ggKG9yIGFueSBoaXN0b3J5IHRoYXQgbGVhZHMKKwl0byA8Y29tbWl0PikgZm9ya2VkIGZyb20gYW5vdGhlciBicmFuY2ggKG9yIGFueSByZWZlcmVuY2UpCisJPHJlZj4uIFRoaXMgZG9lcyBub3QganVzdCBsb29rIGZvciB0aGUgY29tbW9uIGFuY2VzdG9yIG9mCisJdGhlIHR3byBjb21taXRzLCBidXQgYWxzbyB0YWtlcyBpbnRvIGFjY291bnQgdGhlIHJlZmxvZyBvZgorCTxyZWY+IHRvIHNlZSBpZiB0aGUgaGlzdG9yeSBsZWFkaW5nIHRvIDxjb21taXQ+IGZvcmtlZCBmcm9tCisJYW4gZWFybGllciBpbmNhcm5hdGlvbiBvZiB0aGUgYnJhbmNoIDxyZWY+IChzZWUgZGlzY3Vzc2lvbgorCW9uIHRoaXMgbW9kZSBiZWxvdykuCiAKIE9QVElPTlMKIC0tLS0tLS0KQEAgLTEzNyw2ICsxNDYsMzEgQEAKIAogaW5zdGVhZC4KIAorRGlzY3Vzc2lvbiBvbiBmb3JrLXBvaW50IG1vZGUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0FmdGVyIHdvcmtpbmcgb24gdGhlIGB0b3BpY2AgYnJhbmNoIGNyZWF0ZWQgd2l0aCBgZ2l0IGNoZWNrb3V0IC1iCit0b3BpYyBvcmlnaW4vbWFzdGVyYCwgdGhlIGhpc3Rvcnkgb2YgcmVtb3RlLXRyYWNraW5nIGJyYW5jaAorYG9yaWdpbi9tYXN0ZXJgIG1heSBoYXZlIGJlZW4gcmV3b3VuZCBhbmQgcmVidWlsdCwgbGVhZGluZyB0byBhCitoaXN0b3J5IG9mIHRoaXMgc2hhcGU6CisKKwkJCSBvLS0tQjEKKwkJCS8KKwktLS1vLS0tby0tLUIyLS1vLS0tby0tLW8tLS1CIChvcmlnaW4vbWFzdGVyKQorCQlcCisJCSBCMworCQkgIFwKKwkJICAgRGVyaXZlZCAodG9waWMpCisKK3doZXJlIGBvcmlnaW4vbWFzdGVyYCB1c2VkIHRvIHBvaW50IGF0IGNvbW1pdHMgQjMsIEIyLCBCMSBhbmQgbm93IGl0Citwb2ludHMgYXQgQiwgYW5kIHlvdXIgYHRvcGljYCBicmFuY2ggd2FzIHN0YXJ0ZWQgb24gdG9wIG9mIGl0IGJhY2sKK3doZW4gYG9yaWdpbi9tYXN0ZXJgIHdhcyBhdCBCMy4gVGhpcyBtb2RlIHVzZXMgdGhlIHJlZmxvZyBvZgorYG9yaWdpbi9tYXN0ZXJgIHRvIGZpbmQgQjMgYXMgdGhlIGZvcmsgcG9pbnQsIHNvIHRoYXQgdGhlIGB0b3BpY2AKK2NhbiBiZSByZWJhc2VkIG9uIHRvcCBvZiB0aGUgdXBkYXRlZCBgb3JpZ2luL21hc3RlcmAgYnk6CisKKyAgICAkIGZvcmtfcG9pbnQ9JChnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgb3JpZ2luL21hc3RlciB0b3BpYykKKyAgICAkIGdpdCByZWJhc2UgLS1vbnRvIG9yaWdpbi9tYXN0ZXIgJGZvcmtfcG9pbnQgdG9waWMKKwogCiBTZWUgYWxzbwogLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdlLWZpbGUudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2UtZmlsZS50eHQKaW5kZXggZDdkYjJhMy4uZDJmYzEyZSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2UtZmlsZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2UtZmlsZS50eHQKQEAgLTExLDcgKzExLDcgQEAKIFt2ZXJzZV0KICdnaXQgbWVyZ2UtZmlsZScgWy1MIDxjdXJyZW50LW5hbWU+IFstTCA8YmFzZS1uYW1lPiBbLUwgPG90aGVyLW5hbWU+XV1dCiAJWy0tb3Vyc3wtLXRoZWlyc3wtLXVuaW9uXSBbLXB8LS1zdGRvdXRdIFstcXwtLXF1aWV0XSBbLS1tYXJrZXItc2l6ZT08bj5dCi0JPGN1cnJlbnQtZmlsZT4gPGJhc2UtZmlsZT4gPG90aGVyLWZpbGU+CisJWy0tW25vLV1kaWZmM10gPGN1cnJlbnQtZmlsZT4gPGJhc2UtZmlsZT4gPG90aGVyLWZpbGU+CiAKIAogREVTQ1JJUFRJT04KQEAgLTY2LDYgKzY2LDkgQEAKIC1xOjoKIAlRdWlldDsgZG8gbm90IHdhcm4gYWJvdXQgY29uZmxpY3RzLgogCistLWRpZmYzOjoKKwlTaG93IGNvbmZsaWN0cyBpbiAiZGlmZjMiIHN0eWxlLgorCiAtLW91cnM6OgogLS10aGVpcnM6OgogLS11bmlvbjo6CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZS10cmVlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdlLXRyZWUudHh0CmluZGV4IGM1Zjg0YjYuLjU4NzMxYzEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdlLXRyZWUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdlLXRyZWUudHh0CkBAIC0xMyw3ICsxMyw3IEBACiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQotUmVhZHMgdGhyZWUgdHJlZWlzaCwgYW5kIG91dHB1dCB0cml2aWFsIG1lcmdlIHJlc3VsdHMgYW5kCitSZWFkcyB0aHJlZSB0cmVlLWlzaCwgYW5kIG91dHB1dCB0cml2aWFsIG1lcmdlIHJlc3VsdHMgYW5kCiBjb25mbGljdGluZyBzdGFnZXMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4gIFRoaXMgaXMgc2ltaWxhciB0bwogd2hhdCB0aHJlZS13YXkgJ2dpdCByZWFkLXRyZWUgLW0nIGRvZXMsIGJ1dCBpbnN0ZWFkIG9mIHN0b3JpbmcgdGhlCiByZXN1bHRzIGluIHRoZSBpbmRleCwgdGhlIGNvbW1hbmQgb3V0cHV0cyB0aGUgZW50cmllcyB0byB0aGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LW12LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LW12LnR4dAppbmRleCBlOTNmY2I0Li5lNDUzMTMyIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1tdi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtbXYudHh0CkBAIC0xMyw3ICsxMyw3IEBACiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQotVGhpcyBzY3JpcHQgaXMgdXNlZCB0byBtb3ZlIG9yIHJlbmFtZSBhIGZpbGUsIGRpcmVjdG9yeSBvciBzeW1saW5rLgorTW92ZSBvciByZW5hbWUgYSBmaWxlLCBkaXJlY3Rvcnkgb3Igc3ltbGluay4KIAogIGdpdCBtdiBbLXZdIFstZl0gWy1uXSBbLWtdIDxzb3VyY2U+IDxkZXN0aW5hdGlvbj4KICBnaXQgbXYgWy12XSBbLWZdIFstbl0gWy1rXSA8c291cmNlPiAuLi4gPGRlc3RpbmF0aW9uIGRpcmVjdG9yeT4KQEAgLTQ0LDYgKzQ0LDI2IEBACiAtLXZlcmJvc2U6OgogCVJlcG9ydCB0aGUgbmFtZXMgb2YgZmlsZXMgYXMgdGhleSBhcmUgbW92ZWQuCiAKK1NVQk1PRFVMRVMKKy0tLS0tLS0tLS0KK01vdmluZyBhIHN1Ym1vZHVsZSB1c2luZyBhIGdpdGZpbGUgKHdoaWNoIG1lYW5zIHRoZXkgd2VyZSBjbG9uZWQKK3dpdGggYSBHaXQgdmVyc2lvbiAxLjcuOCBvciBuZXdlcikgd2lsbCB1cGRhdGUgdGhlIGdpdGZpbGUgYW5kCitjb3JlLndvcmt0cmVlIHNldHRpbmcgdG8gbWFrZSB0aGUgc3VibW9kdWxlIHdvcmsgaW4gdGhlIG5ldyBsb2NhdGlvbi4KK0l0IGFsc28gd2lsbCBhdHRlbXB0IHRvIHVwZGF0ZSB0aGUgc3VibW9kdWxlLjxuYW1lPi5wYXRoIHNldHRpbmcgaW4KK3RoZSBsaW5rZ2l0OmdpdG1vZHVsZXNbNV0gZmlsZSBhbmQgc3RhZ2UgdGhhdCBmaWxlICh1bmxlc3MgLW4gaXMgdXNlZCkuCisKK0JVR1MKKy0tLS0KK0VhY2ggdGltZSBhIHN1cGVycHJvamVjdCB1cGRhdGUgbW92ZXMgYSBwb3B1bGF0ZWQgc3VibW9kdWxlIChlLmcuIHdoZW4KK3N3aXRjaGluZyBiZXR3ZWVuIGNvbW1pdHMgYmVmb3JlIGFuZCBhZnRlciB0aGUgbW92ZSkgYSBzdGFsZSBzdWJtb2R1bGUKK2NoZWNrb3V0IHdpbGwgcmVtYWluIGluIHRoZSBvbGQgbG9jYXRpb24gYW5kIGFuIGVtcHR5IGRpcmVjdG9yeSB3aWxsCithcHBlYXIgaW4gdGhlIG5ldyBsb2NhdGlvbi4gVG8gcG9wdWxhdGUgdGhlIHN1Ym1vZHVsZSBhZ2FpbiBpbiB0aGUgbmV3Citsb2NhdGlvbiB0aGUgdXNlciB3aWxsIGhhdmUgdG8gcnVuICJnaXQgc3VibW9kdWxlIHVwZGF0ZSIKK2FmdGVyd2FyZHMuIFJlbW92aW5nIHRoZSBvbGQgZGlyZWN0b3J5IGlzIG9ubHkgc2FmZSB3aGVuIGl0IHVzZXMgYQorZ2l0ZmlsZSwgYXMgb3RoZXJ3aXNlIHRoZSBoaXN0b3J5IG9mIHRoZSBzdWJtb2R1bGUgd2lsbCBiZSBkZWxldGVkCit0b28uIEJvdGggc3RlcHMgd2lsbCBiZSBvYnNvbGV0ZSB3aGVuIHJlY3Vyc2l2ZSBzdWJtb2R1bGUgdXBkYXRlIGhhcworYmVlbiBpbXBsZW1lbnRlZC4KKwogR0lUCiAtLS0KIFBhcnQgb2YgdGhlIGxpbmtnaXQ6Z2l0WzFdIHN1aXRlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1uYW1lLXJldi50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1uYW1lLXJldi50eHQKaW5kZXggMTViMDBlMC4uY2EyOGZiOCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtbmFtZS1yZXYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LW5hbWUtcmV2LnR4dApAQCAtMTAsNyArMTAsNyBAQAogLS0tLS0tLS0KIFt2ZXJzZV0KICdnaXQgbmFtZS1yZXYnIFstLXRhZ3NdIFstLXJlZnM9PHBhdHRlcm4+XQotCSAgICAgICAoIC0tYWxsIHwgLS1zdGRpbiB8IDxjb21taXR0aXNoPi4uLiApCisJICAgICAgICggLS1hbGwgfCAtLXN0ZGluIHwgPGNvbW1pdC1pc2g+Li4uICkKIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1ub3Rlcy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1ub3Rlcy50eHQKaW5kZXggNDZlZjA0Ni4uODRiYjBmZSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtbm90ZXMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LW5vdGVzLnR4dApAQCAtMzc1LDE2ICszNzUsNiBAQAogSWYgbm90IHNldCBpbiB0aGUgZW52aXJvbm1lbnQsIHRoZSBsaXN0IG9mIG5vdGVzIHRvIGNvcHkgZGVwZW5kcwogb24gdGhlIGBub3Rlcy5yZXdyaXRlLjxjb21tYW5kPmAgYW5kIGBub3Rlcy5yZXdyaXRlUmVmYCBzZXR0aW5ncy4KIAotCi1BdXRob3IKLS0tLS0tLQotV3JpdHRlbiBieSBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4gYW5kCi1Kb2hhbiBIZXJsYW5kIDxqb2hhbkBoZXJsYW5kLm5ldD4KLQotRG9jdW1lbnRhdGlvbgotLS0tLS0tLS0tLS0tLQotRG9jdW1lbnRhdGlvbiBieSBKb2hhbm5lcyBTY2hpbmRlbGluIGFuZCBKb2hhbiBIZXJsYW5kCi0KIEdJVAogLS0tCiBQYXJ0IG9mIHRoZSBsaW5rZ2l0OmdpdFs3XSBzdWl0ZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcDQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcDQudHh0CmluZGV4IDhjYmExNmQuLjZhYjVmOTQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXA0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1wNC50eHQKQEAgLTE2OCw3ICsxNjgsOCBAQAogLS1naXQtZGlyIDxkaXI+OjoKIAlTZXQgdGhlICdHSVRfRElSJyBlbnZpcm9ubWVudCB2YXJpYWJsZS4gIFNlZSBsaW5rZ2l0OmdpdFsxXS4KIAotLS12ZXJib3NlLCAtdjo6Cistdjo6CistLXZlcmJvc2U6OgogCVByb3ZpZGUgbW9yZSBwcm9ncmVzcyBpbmZvcm1hdGlvbi4KIAogU3luYyBvcHRpb25zCkBAIC0yNzksNyArMjgwLDggQEAKIAlFeHBvcnQgdGFncyBmcm9tIEdpdCBhcyBwNCBsYWJlbHMuIFRhZ3MgZm91bmQgaW4gR2l0IGFyZSBhcHBsaWVkCiAJdG8gdGhlIHBlcmZvcmNlIHdvcmtpbmcgZGlyZWN0b3J5LgogCi0tLWRyeS1ydW4sIC1uOjoKKy1uOjoKKy0tZHJ5LXJ1bjo6CiAJU2hvdyBqdXN0IHdoYXQgY29tbWl0cyB3b3VsZCBiZSBzdWJtaXR0ZWQgdG8gcDQ7IGRvIG5vdCBjaGFuZ2UKIAlzdGF0ZSBpbiBHaXQgb3IgcDQuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXBhY2stb2JqZWN0cy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1wYWNrLW9iamVjdHMudHh0CmluZGV4IGQ5NGVkY2QuLmNkYWI5ZWQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXBhY2stb2JqZWN0cy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcGFjay1vYmplY3RzLnR4dApAQCAtNTEsOCArNTEsNyBAQAogCTxiYXNlLW5hbWU+IHRvIGRldGVybWluZSB0aGUgbmFtZSBvZiB0aGUgY3JlYXRlZCBmaWxlLgogCVdoZW4gdGhpcyBvcHRpb24gaXMgdXNlZCwgdGhlIHR3byBmaWxlcyBhcmUgd3JpdHRlbiBpbgogCTxiYXNlLW5hbWU+LTxTSEEtMT4ue3BhY2ssaWR4fSBmaWxlcy4gIDxTSEEtMT4gaXMgYSBoYXNoCi0Jb2YgdGhlIHNvcnRlZCBvYmplY3QgbmFtZXMgdG8gbWFrZSB0aGUgcmVzdWx0aW5nIGZpbGVuYW1lCi0JYmFzZWQgb24gdGhlIHBhY2sgY29udGVudCwgYW5kIHdyaXR0ZW4gdG8gdGhlIHN0YW5kYXJkCisJYmFzZWQgb24gdGhlIHBhY2sgY29udGVudCBhbmQgaXMgd3JpdHRlbiB0byB0aGUgc3RhbmRhcmQKIAlvdXRwdXQgb2YgdGhlIGNvbW1hbmQuCiAKIC0tc3Rkb3V0OjoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXBlZWstcmVtb3RlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXBlZWstcmVtb3RlLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODdlYTNmYi4uMDAwMDAwMAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1wZWVrLXJlbW90ZS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1naXQtcGVlay1yZW1vdGUoMSkKLT09PT09PT09PT09PT09PT09PQotCi1OQU1FCi0tLS0tCi1naXQtcGVlay1yZW1vdGUgLSBMaXN0IHRoZSByZWZlcmVuY2VzIGluIGEgcmVtb3RlIHJlcG9zaXRvcnkKLQotCi1TWU5PUFNJUwotLS0tLS0tLS0KLVt2ZXJzZV0KLSdnaXQgcGVlay1yZW1vdGUnIFstLXVwbG9hZC1wYWNrPTxnaXQtdXBsb2FkLXBhY2s+XSBbPGhvc3Q+Ol08ZGlyZWN0b3J5PgotCi1ERVNDUklQVElPTgotLS0tLS0tLS0tLS0KLVRoaXMgY29tbWFuZCBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCBscy1yZW1vdGUnIGluc3RlYWQuCi0KLU9QVElPTlMKLS0tLS0tLS0KLS0tdXBsb2FkLXBhY2s9PGdpdC11cGxvYWQtcGFjaz46OgotCVVzZSB0aGlzIHRvIHNwZWNpZnkgdGhlIHBhdGggdG8gJ2dpdC11cGxvYWQtcGFjaycgb24gdGhlCi0JcmVtb3RlIHNpZGUsIGlmIGl0IGlzIG5vdCBmb3VuZCBvbiB5b3VyICRQQVRILiBTb21lCi0JaW5zdGFsbGF0aW9ucyBvZiBzc2hkIGlnbm9yZXMgdGhlIHVzZXIncyBlbnZpcm9ubWVudAotCXNldHVwIHNjcmlwdHMgZm9yIGxvZ2luIHNoZWxscyAoZS5nLiAuYmFzaF9wcm9maWxlKSBhbmQKLQl5b3VyIHByaXZhdGVseSBpbnN0YWxsZWQgZ2l0IG1heSBub3QgYmUgZm91bmQgb24gdGhlIHN5c3RlbQotCWRlZmF1bHQgJFBBVEguICBBbm90aGVyIHdvcmthcm91bmQgc3VnZ2VzdGVkIGlzIHRvIHNldAotCXVwIHlvdXIgJFBBVEggaW4gIi5iYXNocmMiLCBidXQgdGhpcyBmbGFnIGlzIGZvciBwZW9wbGUKLQl3aG8gZG8gbm90IHdhbnQgdG8gcGF5IHRoZSBvdmVyaGVhZCBmb3Igbm9uLWludGVyYWN0aXZlCi0Jc2hlbGxzLCBidXQgcHJlZmVyIGhhdmluZyBhIGxlYW4gLmJhc2hyYyBmaWxlICh0aGV5IHNldCBtb3N0IG9mCi0JdGhlIHRoaW5ncyB1cCBpbiAuYmFzaF9wcm9maWxlKS4KLQotPGhvc3Q+OjoKLQlBIHJlbW90ZSBob3N0IHRoYXQgaG91c2VzIHRoZSByZXBvc2l0b3J5LiAgV2hlbiB0aGlzCi0JcGFydCBpcyBzcGVjaWZpZWQsICdnaXQtdXBsb2FkLXBhY2snIGlzIGludm9rZWQgdmlhCi0Jc3NoLgotCi08ZGlyZWN0b3J5Pjo6Ci0JVGhlIHJlcG9zaXRvcnkgdG8gc3luYyBmcm9tLgotCi0KLUdJVAotLS0tCi1QYXJ0IG9mIHRoZSBsaW5rZ2l0OmdpdFsxXSBzdWl0ZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcHJ1bmUudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcHJ1bmUudHh0CmluZGV4IGJmODI0MTAuLjA1OGFjMGQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXBydW5lLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1wcnVuZS50eHQKQEAgLTI0LDYgKzI0LDggQEAKIEluIGFkZGl0aW9uLCBpdAogcHJ1bmVzIHRoZSB1bnBhY2tlZCBvYmplY3RzIHRoYXQgYXJlIGFsc28gZm91bmQgaW4gcGFja3MgYnkKIHJ1bm5pbmcgJ2dpdCBwcnVuZS1wYWNrZWQnLgorSXQgYWxzbyByZW1vdmVzIGVudHJpZXMgZnJvbSAuZ2l0L3NoYWxsb3cgdGhhdCBhcmUgbm90IHJlYWNoYWJsZSBieQorYW55IHJlZi4KIAogTm90ZSB0aGF0IHVucmVhY2hhYmxlLCBwYWNrZWQgb2JqZWN0cyB3aWxsIHJlbWFpbi4gIElmIHRoaXMgaXMKIG5vdCBkZXNpcmVkLCBzZWUgbGlua2dpdDpnaXQtcmVwYWNrWzFdLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcHVsbC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1wdWxsLnR4dAppbmRleCA2ZWY4ZDU5Li4yMDBlYjIyIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1wdWxsLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1wdWxsLnR4dApAQCAtNDIsNiArNDIsOCBAQAogCSAgQS0tLUItLS1DIG1hc3RlciBvbiBvcmlnaW4KIAkgLwogICAgIEQtLS1FLS0tRi0tLUcgbWFzdGVyCisJXgorCW9yaWdpbi9tYXN0ZXIgaW4geW91ciByZXBvc2l0b3J5CiAtLS0tLS0tLS0tLS0KIAogVGhlbiAiYGdpdCBwdWxsYCIgd2lsbCBmZXRjaCBhbmQgcmVwbGF5IHRoZSBjaGFuZ2VzIGZyb20gdGhlIHJlbW90ZQpAQCAtNTEsNyArNTMsNyBAQAogYW5kIGEgbG9nIG1lc3NhZ2UgZnJvbSB0aGUgdXNlciBkZXNjcmliaW5nIHRoZSBjaGFuZ2VzLgogCiAtLS0tLS0tLS0tLS0KLQkgIEEtLS1CLS0tQyByZW1vdGVzL29yaWdpbi9tYXN0ZXIKKwkgIEEtLS1CLS0tQyBvcmlnaW4vbWFzdGVyCiAJIC8gICAgICAgICBcCiAgICAgRC0tLUUtLS1GLS0tRy0tLUggbWFzdGVyCiAtLS0tLS0tLS0tLS0KQEAgLTk3LDE3ICs5OSwyMyBAQAogT3B0aW9ucyByZWxhdGVkIHRvIG1lcmdpbmcKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAKLWluY2x1ZGU6Om1lcmdlLW9wdGlvbnMudHh0W10KLQogOmdpdC1wdWxsOiAxCiAKK2luY2x1ZGU6Om1lcmdlLW9wdGlvbnMudHh0W10KKwogLXI6OgotLS1yZWJhc2U6OgotCVJlYmFzZSB0aGUgY3VycmVudCBicmFuY2ggb24gdG9wIG9mIHRoZSB1cHN0cmVhbSBicmFuY2ggYWZ0ZXIKLQlmZXRjaGluZy4gIElmIHRoZXJlIGlzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBjb3JyZXNwb25kaW5nIHRvCi0JdGhlIHVwc3RyZWFtIGJyYW5jaCBhbmQgdGhlIHVwc3RyZWFtIGJyYW5jaCB3YXMgcmViYXNlZCBzaW5jZSBsYXN0Ci0JZmV0Y2hlZCwgdGhlIHJlYmFzZSB1c2VzIHRoYXQgaW5mb3JtYXRpb24gdG8gYXZvaWQgcmViYXNpbmcKLQlub24tbG9jYWwgY2hhbmdlcy4KKy0tcmViYXNlWz1mYWxzZXx0cnVlfHByZXNlcnZlXTo6CisJV2hlbiB0cnVlLCByZWJhc2UgdGhlIGN1cnJlbnQgYnJhbmNoIG9uIHRvcCBvZiB0aGUgdXBzdHJlYW0KKwlicmFuY2ggYWZ0ZXIgZmV0Y2hpbmcuIElmIHRoZXJlIGlzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaAorCWNvcnJlc3BvbmRpbmcgdG8gdGhlIHVwc3RyZWFtIGJyYW5jaCBhbmQgdGhlIHVwc3RyZWFtIGJyYW5jaAorCXdhcyByZWJhc2VkIHNpbmNlIGxhc3QgZmV0Y2hlZCwgdGhlIHJlYmFzZSB1c2VzIHRoYXQgaW5mb3JtYXRpb24KKwl0byBhdm9pZCByZWJhc2luZyBub24tbG9jYWwgY2hhbmdlcy4KKysKK1doZW4gcHJlc2VydmUsIGFsc28gcmViYXNlIHRoZSBjdXJyZW50IGJyYW5jaCBvbiB0b3Agb2YgdGhlIHVwc3RyZWFtCiticmFuY2gsIGJ1dCBwYXNzIGAtLXByZXNlcnZlLW1lcmdlc2AgYWxvbmcgdG8gYGdpdCByZWJhc2VgIHNvIHRoYXQKK2xvY2FsbHkgY3JlYXRlZCBtZXJnZSBjb21taXRzIHdpbGwgbm90IGJlIGZsYXR0ZW5lZC4KKysKK1doZW4gZmFsc2UsIG1lcmdlIHRoZSBjdXJyZW50IGJyYW5jaCBpbnRvIHRoZSB1cHN0cmVhbSBicmFuY2guCiArCiBTZWUgYHB1bGwucmViYXNlYCwgYGJyYW5jaC48bmFtZT4ucmViYXNlYCBhbmQgYGJyYW5jaC5hdXRvc2V0dXByZWJhc2VgIGluCiBsaW5rZ2l0OmdpdC1jb25maWdbMV0gaWYgeW91IHdhbnQgdG8gbWFrZSBgZ2l0IHB1bGxgIGFsd2F5cyB1c2UKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXB1c2gudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcHVzaC50eHQKaW5kZXggZjdkZmU0OC4uMmI3ZjRmOSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcHVzaC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcHVzaC50eHQKQEAgLTExLDYgKzExLDcgQEAKIFt2ZXJzZV0KICdnaXQgcHVzaCcgWy0tYWxsIHwgLS1taXJyb3IgfCAtLXRhZ3NdIFstLWZvbGxvdy10YWdzXSBbLW4gfCAtLWRyeS1ydW5dIFstLXJlY2VpdmUtcGFjaz08Z2l0LXJlY2VpdmUtcGFjaz5dCiAJICAgWy0tcmVwbz08cmVwb3NpdG9yeT5dIFstZiB8IC0tZm9yY2VdIFstLXBydW5lXSBbLXYgfCAtLXZlcmJvc2VdIFstdSB8IC0tc2V0LXVwc3RyZWFtXQorCSAgIFstLWZvcmNlLXdpdGgtbGVhc2VbPTxyZWZuYW1lPls6PGV4cGVjdD5dXV0KIAkgICBbLS1uby12ZXJpZnldIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dCiAKIERFU0NSSVBUSU9OCkBAIC01NSw4ICs1NiwxMyBAQAogKwogVGhlIDxkc3Q+IHRlbGxzIHdoaWNoIHJlZiBvbiB0aGUgcmVtb3RlIHNpZGUgaXMgdXBkYXRlZCB3aXRoIHRoaXMKIHB1c2guIEFyYml0cmFyeSBleHByZXNzaW9ucyBjYW5ub3QgYmUgdXNlZCBoZXJlLCBhbiBhY3R1YWwgcmVmIG11c3QKLWJlIG5hbWVkLiBJZiBgOmA8ZHN0PiBpcyBvbWl0dGVkLCB0aGUgc2FtZSByZWYgYXMgPHNyYz4gd2lsbCBiZQotdXBkYXRlZC4KK2JlIG5hbWVkLgorSWYgYGdpdCBwdXNoIFs8cmVwb3NpdG9yeT5dYCB3aXRob3V0IGFueSBgPHJlZnNwZWM+YCBhcmd1bWVudCBpcyBzZXQgdG8KK3VwZGF0ZSBzb21lIHJlZiBhdCB0aGUgZGVzdGluYXRpb24gd2l0aCBgPHNyYz5gIHdpdGgKK2ByZW1vdGUuPHJlcG9zaXRvcnk+LnB1c2hgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUsIGA6PGRzdD5gIHBhcnQgY2FuCitiZSBvbWl0dGVkLS0tc3VjaCBhIHB1c2ggd2lsbCB1cGRhdGUgYSByZWYgdGhhdCBgPHNyYz5gIG5vcm1hbGx5IHVwZGF0ZXMKK3dpdGhvdXQgYW55IGA8cmVmc3BlYz5gIG9uIHRoZSBjb21tYW5kIGxpbmUuICBPdGhlcndpc2UsIG1pc3NpbmcKK2A6PGRzdD5gIG1lYW5zIHRvIHVwZGF0ZSB0aGUgc2FtZSByZWYgYXMgdGhlIGA8c3JjPmAuCiArCiBUaGUgb2JqZWN0IHJlZmVyZW5jZWQgYnkgPHNyYz4gaXMgdXNlZCB0byB1cGRhdGUgdGhlIDxkc3Q+IHJlZmVyZW5jZQogb24gdGhlIHJlbW90ZSBzaWRlLiAgQnkgZGVmYXVsdCB0aGlzIGlzIG9ubHkgYWxsb3dlZCBpZiA8ZHN0PiBpcyBub3QKQEAgLTEyMCw3ICsxMjYsNyBAQAogLS1mb2xsb3ctdGFnczo6CiAJUHVzaCBhbGwgdGhlIHJlZnMgdGhhdCB3b3VsZCBiZSBwdXNoZWQgd2l0aG91dCB0aGlzIG9wdGlvbiwKIAlhbmQgYWxzbyBwdXNoIGFubm90YXRlZCB0YWdzIGluIGByZWZzL3RhZ3NgIHRoYXQgYXJlIG1pc3NpbmcKLQlmcm9tIHRoZSByZW1vdGUgYnV0IGFyZSBwb2ludGluZyBhdCBjb21taXR0aXNoIHRoYXQgYXJlCisJZnJvbSB0aGUgcmVtb3RlIGJ1dCBhcmUgcG9pbnRpbmcgYXQgY29tbWl0LWlzaCB0aGF0IGFyZQogCXJlYWNoYWJsZSBmcm9tIHRoZSByZWZzIGJlaW5nIHB1c2hlZC4KIAogLS1yZWNlaXZlLXBhY2s9PGdpdC1yZWNlaXZlLXBhY2s+OjoKQEAgLTEzMCwyMSArMTM2LDc1IEBACiAJcmVwb3NpdG9yeSBvdmVyIHNzaCwgYW5kIHlvdSBkbyBub3QgaGF2ZSB0aGUgcHJvZ3JhbSBpbgogCWEgZGlyZWN0b3J5IG9uIHRoZSBkZWZhdWx0ICRQQVRILgogCistLVtuby1dZm9yY2Utd2l0aC1sZWFzZTo6CistLWZvcmNlLXdpdGgtbGVhc2U9PHJlZm5hbWU+OjoKKy0tZm9yY2Utd2l0aC1sZWFzZT08cmVmbmFtZT46PGV4cGVjdD46OgorCVVzdWFsbHksICJnaXQgcHVzaCIgcmVmdXNlcyB0byB1cGRhdGUgYSByZW1vdGUgcmVmIHRoYXQgaXMKKwlub3QgYW4gYW5jZXN0b3Igb2YgdGhlIGxvY2FsIHJlZiB1c2VkIHRvIG92ZXJ3cml0ZSBpdC4KKysKK1RoaXMgb3B0aW9uIGJ5cGFzc2VzIHRoZSBjaGVjaywgYnV0IGluc3RlYWQgcmVxdWlyZXMgdGhhdCB0aGUKK2N1cnJlbnQgdmFsdWUgb2YgdGhlIHJlZiB0byBiZSB0aGUgZXhwZWN0ZWQgdmFsdWUuICAiZ2l0IHB1c2giCitmYWlscyBvdGhlcndpc2UuCisrCitJbWFnaW5lIHRoYXQgeW91IGhhdmUgdG8gcmViYXNlIHdoYXQgeW91IGhhdmUgYWxyZWFkeSBwdWJsaXNoZWQuCitZb3Ugd2lsbCBoYXZlIHRvIGJ5cGFzcyB0aGUgIm11c3QgZmFzdC1mb3J3YXJkIiBydWxlIGluIG9yZGVyIHRvCityZXBsYWNlIHRoZSBoaXN0b3J5IHlvdSBvcmlnaW5hbGx5IHB1Ymxpc2hlZCB3aXRoIHRoZSByZWJhc2VkIGhpc3RvcnkuCitJZiBzb21lYm9keSBlbHNlIGJ1aWx0IG9uIHRvcCBvZiB5b3VyIG9yaWdpbmFsIGhpc3Rvcnkgd2hpbGUgeW91IGFyZQorcmViYXNpbmcsIHRoZSB0aXAgb2YgdGhlIGJyYW5jaCBhdCB0aGUgcmVtb3RlIG1heSBhZHZhbmNlIHdpdGggaGVyCitjb21taXQsIGFuZCBibGluZGx5IHB1c2hpbmcgd2l0aCBgLS1mb3JjZWAgd2lsbCBsb3NlIGhlciB3b3JrLgorKworVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBzYXkgdGhhdCB5b3UgZXhwZWN0IHRoZSBoaXN0b3J5IHlvdSBhcmUKK3VwZGF0aW5nIGlzIHdoYXQgeW91IHJlYmFzZWQgYW5kIHdhbnQgdG8gcmVwbGFjZS4gSWYgdGhlIHJlbW90ZSByZWYKK3N0aWxsIHBvaW50cyBhdCB0aGUgY29tbWl0IHlvdSBzcGVjaWZpZWQsIHlvdSBjYW4gYmUgc3VyZSB0aGF0IG5vCitvdGhlciBwZW9wbGUgZGlkIGFueXRoaW5nIHRvIHRoZSByZWYgKGl0IGlzIGxpa2UgdGFraW5nIGEgImxlYXNlIiBvbgordGhlIHJlZiB3aXRob3V0IGV4cGxpY2l0bHkgbG9ja2luZyBpdCwgYW5kIHlvdSB1cGRhdGUgdGhlIHJlZiB3aGlsZQorbWFraW5nIHN1cmUgdGhhdCB5b3VyIGVhcmxpZXIgImxlYXNlIiBpcyBzdGlsbCB2YWxpZCkuCisrCitgLS1mb3JjZS13aXRoLWxlYXNlYCBhbG9uZSwgd2l0aG91dCBzcGVjaWZ5aW5nIHRoZSBkZXRhaWxzLCB3aWxsIHByb3RlY3QKK2FsbCByZW1vdGUgcmVmcyB0aGF0IGFyZSBnb2luZyB0byBiZSB1cGRhdGVkIGJ5IHJlcXVpcmluZyB0aGVpcgorY3VycmVudCB2YWx1ZSB0byBiZSB0aGUgc2FtZSBhcyB0aGUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCB3ZSBoYXZlCitmb3IgdGhlbSwgdW5sZXNzIHNwZWNpZmllZCB3aXRoIGEgYC0tZm9yY2Utd2l0aC1sZWFzZT08cmVmbmFtZT46PGV4cGVjdD5gCitvcHRpb24gdGhhdCBleHBsaWNpdGx5IHN0YXRlcyB3aGF0IHRoZSBleHBlY3RlZCB2YWx1ZSBpcy4KKysKK2AtLWZvcmNlLXdpdGgtbGVhc2U9PHJlZm5hbWU+YCwgd2l0aG91dCBzcGVjaWZ5aW5nIHRoZSBleHBlY3RlZCB2YWx1ZSwgd2lsbAorcHJvdGVjdCB0aGUgbmFtZWQgcmVmIChhbG9uZSksIGlmIGl0IGlzIGdvaW5nIHRvIGJlIHVwZGF0ZWQsIGJ5CityZXF1aXJpbmcgaXRzIGN1cnJlbnQgdmFsdWUgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIHJlbW90ZS10cmFja2luZworYnJhbmNoIHdlIGhhdmUgZm9yIGl0LgorKworYC0tZm9yY2Utd2l0aC1sZWFzZT08cmVmbmFtZT46PGV4cGVjdD5gIHdpbGwgcHJvdGVjdCB0aGUgbmFtZWQgcmVmIChhbG9uZSksCitpZiBpdCBpcyBnb2luZyB0byBiZSB1cGRhdGVkLCBieSByZXF1aXJpbmcgaXRzIGN1cnJlbnQgdmFsdWUgdG8gYmUKK3RoZSBzYW1lIGFzIHRoZSBzcGVjaWZpZWQgdmFsdWUgPGV4cGVjdD4gKHdoaWNoIGlzIGFsbG93ZWQgdG8gYmUKK2RpZmZlcmVudCBmcm9tIHRoZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIHdlIGhhdmUgZm9yIHRoZSByZWZuYW1lLAorb3Igd2UgZG8gbm90IGV2ZW4gaGF2ZSB0byBoYXZlIHN1Y2ggYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIHdoZW4KK3RoaXMgZm9ybSBpcyB1c2VkKS4KKysKK05vdGUgdGhhdCBhbGwgZm9ybXMgb3RoZXIgdGhhbiBgLS1mb3JjZS13aXRoLWxlYXNlPTxyZWZuYW1lPjo8ZXhwZWN0PmAKK3RoYXQgc3BlY2lmaWVzIHRoZSBleHBlY3RlZCBjdXJyZW50IHZhbHVlIG9mIHRoZSByZWYgZXhwbGljaXRseSBhcmUKK3N0aWxsIGV4cGVyaW1lbnRhbCBhbmQgdGhlaXIgc2VtYW50aWNzIG1heSBjaGFuZ2UgYXMgd2UgZ2FpbiBleHBlcmllbmNlCit3aXRoIHRoaXMgZmVhdHVyZS4KKysKKyItLW5vLWZvcmNlLXdpdGgtbGVhc2UiIHdpbGwgY2FuY2VsIGFsbCB0aGUgcHJldmlvdXMgLS1mb3JjZS13aXRoLWxlYXNlIG9uIHRoZQorY29tbWFuZCBsaW5lLgorCiAtZjo6CiAtLWZvcmNlOjoKIAlVc3VhbGx5LCB0aGUgY29tbWFuZCByZWZ1c2VzIHRvIHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBpcwogCW5vdCBhbiBhbmNlc3RvciBvZiB0aGUgbG9jYWwgcmVmIHVzZWQgdG8gb3ZlcndyaXRlIGl0LgotCVRoaXMgZmxhZyBkaXNhYmxlcyB0aGUgY2hlY2suICBUaGlzIGNhbiBjYXVzZSB0aGUKLQlyZW1vdGUgcmVwb3NpdG9yeSB0byBsb3NlIGNvbW1pdHM7IHVzZSBpdCB3aXRoIGNhcmUuCi0JTm90ZSB0aGF0IGAtLWZvcmNlYCBhcHBsaWVzIHRvIGFsbCB0aGUgcmVmcyB0aGF0IGFyZSBwdXNoZWQsCi0JaGVuY2UgdXNpbmcgaXQgd2l0aCBgcHVzaC5kZWZhdWx0YCBzZXQgdG8gYG1hdGNoaW5nYCBvciB3aXRoCi0JbXVsdGlwbGUgcHVzaCBkZXN0aW5hdGlvbnMgY29uZmlndXJlZCB3aXRoIGByZW1vdGUuKi5wdXNoYAotCW1heSBvdmVyd3JpdGUgcmVmcyBvdGhlciB0aGFuIHRoZSBjdXJyZW50IGJyYW5jaCAoaW5jbHVkaW5nCi0JbG9jYWwgcmVmcyB0aGF0IGFyZSBzdHJpY3RseSBiZWhpbmQgdGhlaXIgcmVtb3RlIGNvdW50ZXJwYXJ0KS4KLQlUbyBmb3JjZSBhIHB1c2ggdG8gb25seSBvbmUgYnJhbmNoLCB1c2UgYSBgK2AgaW4gZnJvbnQgb2YgdGhlCi0JcmVmc3BlYyB0byBwdXNoCShlLmcgYGdpdCBwdXNoIG9yaWdpbiArbWFzdGVyYCB0byBmb3JjZSBhIHB1c2gKLQl0byB0aGUgYG1hc3RlcmAJYnJhbmNoKS4gU2VlIHRoZSBgPHJlZnNwZWM+Li4uYCBzZWN0aW9uIGFib3ZlCi0JZm9yIGRldGFpbHMuCisJQWxzbywgd2hlbiBgLS1mb3JjZS13aXRoLWxlYXNlYCBvcHRpb24gaXMgdXNlZCwgdGhlIGNvbW1hbmQgcmVmdXNlcworCXRvIHVwZGF0ZSBhIHJlbW90ZSByZWYgd2hvc2UgY3VycmVudCB2YWx1ZSBkb2VzIG5vdCBtYXRjaAorCXdoYXQgaXMgZXhwZWN0ZWQuCisrCitUaGlzIGZsYWcgZGlzYWJsZXMgdGhlc2UgY2hlY2tzLCBhbmQgY2FuIGNhdXNlIHRoZSByZW1vdGUgcmVwb3NpdG9yeQordG8gbG9zZSBjb21taXRzOyB1c2UgaXQgd2l0aCBjYXJlLgorKworTm90ZSB0aGF0IGAtLWZvcmNlYCBhcHBsaWVzIHRvIGFsbCB0aGUgcmVmcyB0aGF0IGFyZSBwdXNoZWQsIGhlbmNlCit1c2luZyBpdCB3aXRoIGBwdXNoLmRlZmF1bHRgIHNldCB0byBgbWF0Y2hpbmdgIG9yIHdpdGggbXVsdGlwbGUgcHVzaAorZGVzdGluYXRpb25zIGNvbmZpZ3VyZWQgd2l0aCBgcmVtb3RlLioucHVzaGAgbWF5IG92ZXJ3cml0ZSByZWZzCitvdGhlciB0aGFuIHRoZSBjdXJyZW50IGJyYW5jaCAoaW5jbHVkaW5nIGxvY2FsIHJlZnMgdGhhdCBhcmUKK3N0cmljdGx5IGJlaGluZCB0aGVpciByZW1vdGUgY291bnRlcnBhcnQpLiAgVG8gZm9yY2UgYSBwdXNoIHRvIG9ubHkKK29uZSBicmFuY2gsIHVzZSBhIGArYCBpbiBmcm9udCBvZiB0aGUgcmVmc3BlYyB0byBwdXNoIChlLmcgYGdpdCBwdXNoCitvcmlnaW4gK21hc3RlcmAgdG8gZm9yY2UgYSBwdXNoIHRvIHRoZSBgbWFzdGVyYCBicmFuY2gpLiBTZWUgdGhlCitgPHJlZnNwZWM+Li4uYCBzZWN0aW9uIGFib3ZlIGZvciBkZXRhaWxzLgogCiAtLXJlcG89PHJlcG9zaXRvcnk+OjoKIAlUaGlzIG9wdGlvbiBpcyBvbmx5IHJlbGV2YW50IGlmIG5vIDxyZXBvc2l0b3J5PiBhcmd1bWVudCBpcwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmViYXNlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlYmFzZS50eHQKaW5kZXggNmIyZTFjOC4uMjg4OWJlNiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmViYXNlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZWJhc2UudHh0CkBAIC0zMjIsNyArMzIyLDE3IEBACiByZXZlcnRpbmcgYSB0b3BpYyBicmFuY2ggbWVyZ2UsIGFzIHRoaXMgb3B0aW9uIHJlY3JlYXRlcyB0aGUgdG9waWMgYnJhbmNoIHdpdGgKIGZyZXNoIGNvbW1pdHMgc28gaXQgY2FuIGJlIHJlbWVyZ2VkIHN1Y2Nlc3NmdWxseSB3aXRob3V0IG5lZWRpbmcgdG8gInJldmVydAogdGhlIHJldmVyc2lvbiIgKHNlZSB0aGUKLWxpbms6aG93dG8vcmV2ZXJ0LWEtZmF1bHR5LW1lcmdlLnR4dFtyZXZlcnQtYS1mYXVsdHktbWVyZ2UgSG93LVRvXSBmb3IgZGV0YWlscykuCitsaW5rOmhvd3RvL3JldmVydC1hLWZhdWx0eS1tZXJnZS5odG1sW3JldmVydC1hLWZhdWx0eS1tZXJnZSBIb3ctVG9dIGZvciBkZXRhaWxzKS4KKworLS1mb3JrLXBvaW50OjoKKy0tbm8tZm9yay1wb2ludDo6CisJVXNlICdnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQnIHRvIGZpbmQgYSBiZXR0ZXIgY29tbW9uIGFuY2VzdG9yCisJYmV0d2VlbiBgdXBzdHJlYW1gIGFuZCBgYnJhbmNoYCB3aGVuIGNhbGN1bGF0aW5nIHdoaWNoIGNvbW1pdHMgaGF2ZQorCWhhdmUgYmVlbiBpbnRyb2R1Y2VkIGJ5IGBicmFuY2hgIChzZWUgbGlua2dpdDpnaXQtbWVyZ2UtYmFzZVsxXSkuCisrCitJZiBubyBub24tb3B0aW9uIGFyZ3VtZW50cyBhcmUgZ2l2ZW4gb24gdGhlIGNvbW1hbmQgbGluZSwgdGhlbiB0aGUgZGVmYXVsdCBpcworYC0tZm9yay1wb2ludCBAe3V9YCBvdGhlcndpc2UgdGhlIGB1cHN0cmVhbWAgYXJndW1lbnQgaXMgaW50ZXJwcmV0ZWQgbGl0ZXJhbGx5Cit1bmxlc3MgdGhlIGAtLWZvcmstcG9pbnRgIG9wdGlvbiBpcyBzcGVjaWZpZWQuCiAKIC0taWdub3JlLXdoaXRlc3BhY2U6OgogLS13aGl0ZXNwYWNlPTxvcHRpb24+OjoKQEAgLTQxNiw3ICs0MjYsNyBAQAogWW91IG1heSBmaW5kIHRoaXMgaGVscGZ1bCBhZnRlciByZXZlcnRpbmcgYSB0b3BpYyBicmFuY2ggbWVyZ2UsIGFzIHRoaXMgb3B0aW9uCiByZWNyZWF0ZXMgdGhlIHRvcGljIGJyYW5jaCB3aXRoIGZyZXNoIGNvbW1pdHMgc28gaXQgY2FuIGJlIHJlbWVyZ2VkCiBzdWNjZXNzZnVsbHkgd2l0aG91dCBuZWVkaW5nIHRvICJyZXZlcnQgdGhlIHJldmVyc2lvbiIgKHNlZSB0aGUKLWxpbms6aG93dG8vcmV2ZXJ0LWEtZmF1bHR5LW1lcmdlLnR4dFtyZXZlcnQtYS1mYXVsdHktbWVyZ2UgSG93LVRvXSBmb3IgZGV0YWlscykuCitsaW5rOmhvd3RvL3JldmVydC1hLWZhdWx0eS1tZXJnZS5odG1sW3JldmVydC1hLWZhdWx0eS1tZXJnZSBIb3ctVG9dIGZvciBkZXRhaWxzKS4KIAogaW5jbHVkZTo6bWVyZ2Utc3RyYXRlZ2llcy50eHRbXQogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yZW1vdGUtZXh0LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlbW90ZS1leHQudHh0CmluZGV4IDhjZmM3NDguLmNkMGJiNzcgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXJlbW90ZS1leHQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJlbW90ZS1leHQudHh0CkBAIC0xMTYsMTEgKzExNiw2IEBACiAJZGV0ZXJtaW5lZCBieSB0aGUgaGVscGVyIHVzaW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyAoc2VlCiAJYWJvdmUpLgogCi1Eb2N1bWVudGF0aW9uCi0tLS0tLS0tLS0tLS0tLQotRG9jdW1lbnRhdGlvbiBieSBJbGFyaSBMaXVzdmFhcmEsIEpvbmF0aGFuIE5pZWRlciBhbmQgdGhlIEdpdCBsaXN0Ci08Z2l0QHZnZXIua2VybmVsLm9yZz4KLQogR0lUCiAtLS0KIFBhcnQgb2YgdGhlIGxpbmtnaXQ6Z2l0WzFdIHN1aXRlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yZW1vdGUtZmQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLWZkLnR4dAppbmRleCA5MzNjMmFkLi5iY2QzNzY2IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1yZW1vdGUtZmQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJlbW90ZS1mZC50eHQKQEAgLTUwLDEwICs1MCw2IEBACiBgZ2l0IHB1c2ggZmQ6OjcsOC9iYXIgbWFzdGVyYDo6CiAJU2FtZSBhcyBhYm92ZS4KIAotRG9jdW1lbnRhdGlvbgotLS0tLS0tLS0tLS0tLS0KLURvY3VtZW50YXRpb24gYnkgSWxhcmkgTGl1c3ZhYXJhIGFuZCB0aGUgR2l0IGxpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+Ci0KIEdJVAogLS0tCiBQYXJ0IG9mIHRoZSBsaW5rZ2l0OmdpdFsxXSBzdWl0ZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlbW90ZS50eHQKaW5kZXggOWMzZTNiZi4uMjUwN2M4YiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZW1vdGUudHh0CkBAIC0xMyw3ICsxMyw3IEBACiAnZ2l0IHJlbW90ZSBhZGQnIFstdCA8YnJhbmNoPl0gWy1tIDxtYXN0ZXI+XSBbLWZdIFstLVtuby1ddGFnc10gWy0tbWlycm9yPTxmZXRjaHxwdXNoPl0gPG5hbWU+IDx1cmw+CiAnZ2l0IHJlbW90ZSByZW5hbWUnIDxvbGQ+IDxuZXc+CiAnZ2l0IHJlbW90ZSByZW1vdmUnIDxuYW1lPgotJ2dpdCByZW1vdGUgc2V0LWhlYWQnIDxuYW1lPiAoLWEgfCAtZCB8IDxicmFuY2g+KQorJ2dpdCByZW1vdGUgc2V0LWhlYWQnIDxuYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPGJyYW5jaD4pCiAnZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMnIFstLWFkZF0gPG5hbWU+IDxicmFuY2g+Li4uCiAnZ2l0IHJlbW90ZSBzZXQtdXJsJyBbLS1wdXNoXSA8bmFtZT4gPG5ld3VybD4gWzxvbGR1cmw+XQogJ2dpdCByZW1vdGUgc2V0LXVybCAtLWFkZCcgWy0tcHVzaF0gPG5hbWU+IDxuZXd1cmw+CkBAIC0xMDEsOSArMTAxLDkgQEAKIGBtYXN0ZXJgLCB0aGVuIGBvcmlnaW5gIG1heSBiZSBzcGVjaWZpZWQgd2hlcmV2ZXIgeW91IHdvdWxkIG5vcm1hbGx5CiBzcGVjaWZ5IGBvcmlnaW4vbWFzdGVyYC4KICsKLVdpdGggYC1kYCwgdGhlIHN5bWJvbGljIHJlZiBgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEYCBpcyBkZWxldGVkLgorV2l0aCBgLWRgIG9yIGAtLWRlbGV0ZWAsIHRoZSBzeW1ib2xpYyByZWYgYHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRGAgaXMgZGVsZXRlZC4KICsKLVdpdGggYC1hYCwgdGhlIHJlbW90ZSBpcyBxdWVyaWVkIHRvIGRldGVybWluZSBpdHMgYEhFQURgLCB0aGVuIHRoZQorV2l0aCBgLWFgIG9yIGAtLWF1dG9gLCB0aGUgcmVtb3RlIGlzIHF1ZXJpZWQgdG8gZGV0ZXJtaW5lIGl0cyBgSEVBRGAsIHRoZW4gdGhlCiBzeW1ib2xpYy1yZWYgYHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRGAgaXMgc2V0IHRvIHRoZSBzYW1lIGJyYW5jaC4gZS5nLiwgaWYgdGhlIHJlbW90ZQogYEhFQURgIGlzIHBvaW50ZWQgYXQgYG5leHRgLCAiYGdpdCByZW1vdGUgc2V0LWhlYWQgb3JpZ2luIC1hYCIgd2lsbCBzZXQKIHRoZSBzeW1ib2xpYy1yZWYgYHJlZnMvcmVtb3Rlcy9vcmlnaW4vSEVBRGAgdG8gYHJlZnMvcmVtb3Rlcy9vcmlnaW4vbmV4dGAuIFRoaXMgd2lsbApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmVwYWNrLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlcGFjay50eHQKaW5kZXggNGMxYWZmNi4uNTA5Y2Y3MyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmVwYWNrLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXBhY2sudHh0CkBAIC0xNCw3ICsxNCw3IEBACiBERVNDUklQVElPTgogLS0tLS0tLS0tLS0KIAotVGhpcyBzY3JpcHQgaXMgdXNlZCB0byBjb21iaW5lIGFsbCBvYmplY3RzIHRoYXQgZG8gbm90IGN1cnJlbnRseQorVGhpcyBjb21tYW5kIGlzIHVzZWQgdG8gY29tYmluZSBhbGwgb2JqZWN0cyB0aGF0IGRvIG5vdCBjdXJyZW50bHkKIHJlc2lkZSBpbiBhICJwYWNrIiwgaW50byBhIHBhY2suICBJdCBjYW4gYWxzbyBiZSB1c2VkIHRvIHJlLW9yZ2FuaXplCiBleGlzdGluZyBwYWNrcyBpbnRvIGEgc2luZ2xlLCBtb3JlIGVmZmljaWVudCBwYWNrLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXBsYWNlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlcGxhY2UudHh0CmluZGV4IGUwYjQwNTcuLjBhMDJmNzAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXJlcGxhY2UudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJlcGxhY2UudHh0CkBAIC0xMCw3ICsxMCw3IEBACiBbdmVyc2VdCiAnZ2l0IHJlcGxhY2UnIFstZl0gPG9iamVjdD4gPHJlcGxhY2VtZW50PgogJ2dpdCByZXBsYWNlJyAtZCA8b2JqZWN0Pi4uLgotJ2dpdCByZXBsYWNlJyAtbCBbPHBhdHRlcm4+XQorJ2dpdCByZXBsYWNlJyBbLS1mb3JtYXQ9PGZvcm1hdD5dIFstbCBbPHBhdHRlcm4+XV0KIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCkBAIC0yMCw4ICsyMCwxNCBAQAogcmVwbGFjZWQuIFRoZSBjb250ZW50IG9mIHRoZSAncmVwbGFjZScgcmVmZXJlbmNlIGlzIHRoZSBTSEEtMSBvZiB0aGUKIHJlcGxhY2VtZW50IG9iamVjdC4KIAorVGhlIHJlcGxhY2VkIG9iamVjdCBhbmQgdGhlIHJlcGxhY2VtZW50IG9iamVjdCBtdXN0IGJlIG9mIHRoZSBzYW1lIHR5cGUuCitUaGlzIHJlc3RyaWN0aW9uIGNhbiBiZSBieXBhc3NlZCB1c2luZyBgLWZgLgorCiBVbmxlc3MgYC1mYCBpcyBnaXZlbiwgdGhlICdyZXBsYWNlJyByZWZlcmVuY2UgbXVzdCBub3QgeWV0IGV4aXN0LgogCitUaGVyZSBpcyBubyBvdGhlciByZXN0cmljdGlvbiBvbiB0aGUgcmVwbGFjZWQgYW5kIHJlcGxhY2VtZW50IG9iamVjdHMuCitNZXJnZSBjb21taXRzIGNhbiBiZSByZXBsYWNlZCBieSBub24tbWVyZ2UgY29tbWl0cyBhbmQgdmljZSB2ZXJzYS4KKwogUmVwbGFjZW1lbnQgcmVmZXJlbmNlcyB3aWxsIGJlIHVzZWQgYnkgZGVmYXVsdCBieSBhbGwgR2l0IGNvbW1hbmRzCiBleGNlcHQgdGhvc2UgZG9pbmcgcmVhY2hhYmlsaXR5IHRyYXZlcnNhbCAocHJ1bmUsIHBhY2sgdHJhbnNmZXIgYW5kCiBmc2NrKS4KQEAgLTQ5LDE4ICs1NSw1MSBAQAogT1BUSU9OUwogLS0tLS0tLQogLWY6OgorLS1mb3JjZTo6CiAJSWYgYW4gZXhpc3RpbmcgcmVwbGFjZSByZWYgZm9yIHRoZSBzYW1lIG9iamVjdCBleGlzdHMsIGl0IHdpbGwKIAliZSBvdmVyd3JpdHRlbiAoaW5zdGVhZCBvZiBmYWlsaW5nKS4KIAogLWQ6OgorLS1kZWxldGU6OgogCURlbGV0ZSBleGlzdGluZyByZXBsYWNlIHJlZnMgZm9yIHRoZSBnaXZlbiBvYmplY3RzLgogCiAtbCA8cGF0dGVybj46OgorLS1saXN0IDxwYXR0ZXJuPjo6CiAJTGlzdCByZXBsYWNlIHJlZnMgZm9yIG9iamVjdHMgdGhhdCBtYXRjaCB0aGUgZ2l2ZW4gcGF0dGVybiAob3IKIAlhbGwgaWYgbm8gcGF0dGVybiBpcyBnaXZlbikuCiAJVHlwaW5nICJnaXQgcmVwbGFjZSIgd2l0aG91dCBhcmd1bWVudHMsIGFsc28gbGlzdHMgYWxsIHJlcGxhY2UKIAlyZWZzLgogCistLWZvcm1hdD08Zm9ybWF0Pjo6CisJV2hlbiBsaXN0aW5nLCB1c2UgdGhlIHNwZWNpZmllZCA8Zm9ybWF0Piwgd2hpY2ggY2FuIGJlIG9uZSBvZgorCSdzaG9ydCcsICdtZWRpdW0nIGFuZCAnbG9uZycuIFdoZW4gb21pdHRlZCwgdGhlIGZvcm1hdAorCWRlZmF1bHRzIHRvICdzaG9ydCcuCisKK0ZPUk1BVFMKKy0tLS0tLS0KKworVGhlIGZvbGxvd2luZyBmb3JtYXQgYXJlIGF2YWlsYWJsZToKKworKiAnc2hvcnQnOgorCTxyZXBsYWNlZCBzaGExPgorKiAnbWVkaXVtJzoKKwk8cmVwbGFjZWQgc2hhMT4gLT4gPHJlcGxhY2VtZW50IHNoYTE+CisqICdsb25nJzoKKwk8cmVwbGFjZWQgc2hhMT4gKDxyZXBsYWNlZCB0eXBlPikgLT4gPHJlcGxhY2VtZW50IHNoYTE+ICg8cmVwbGFjZW1lbnQgdHlwZT4pCisKK0NSRUFUSU5HIFJFUExBQ0VNRU5UIE9CSkVDVFMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworbGlua2dpdDpnaXQtZmlsdGVyLWJyYW5jaFsxXSwgbGlua2dpdDpnaXQtaGFzaC1vYmplY3RbMV0gYW5kCitsaW5rZ2l0OmdpdC1yZWJhc2VbMV0sIGFtb25nIG90aGVyIGdpdCBjb21tYW5kcywgY2FuIGJlIHVzZWQgdG8gY3JlYXRlCityZXBsYWNlbWVudCBvYmplY3RzIGZyb20gZXhpc3Rpbmcgb2JqZWN0cy4KKworSWYgeW91IHdhbnQgdG8gcmVwbGFjZSBtYW55IGJsb2JzLCB0cmVlcyBvciBjb21taXRzIHRoYXQgYXJlIHBhcnQgb2YgYQorc3RyaW5nIG9mIGNvbW1pdHMsIHlvdSBtYXkganVzdCB3YW50IHRvIGNyZWF0ZSBhIHJlcGxhY2VtZW50IHN0cmluZyBvZgorY29tbWl0cyBhbmQgdGhlbiBvbmx5IHJlcGxhY2UgdGhlIGNvbW1pdCBhdCB0aGUgdGlwIG9mIHRoZSB0YXJnZXQKK3N0cmluZyBvZiBjb21taXRzIHdpdGggdGhlIGNvbW1pdCBhdCB0aGUgdGlwIG9mIHRoZSByZXBsYWNlbWVudCBzdHJpbmcKK29mIGNvbW1pdHMuCisKIEJVR1MKIC0tLS0KIENvbXBhcmluZyBibG9icyBvciB0cmVlcyB0aGF0IGhhdmUgYmVlbiByZXBsYWNlZCB3aXRoIHRob3NlIHRoYXQKQEAgLTY5LDEyICsxMDgsMTMgQEAKIGNvbW1pdCBpbnN0ZWFkIG9mIHRoZSByZXBsYWNlZCBjb21taXQuCiAKIFRoZXJlIG1heSBiZSBvdGhlciBwcm9ibGVtcyB3aGVuIHVzaW5nICdnaXQgcmV2LWxpc3QnIHJlbGF0ZWQgdG8KLXBlbmRpbmcgb2JqZWN0cy4gQW5kIG9mIGNvdXJzZSB0aGluZ3MgbWF5IGJyZWFrIGlmIGFuIG9iamVjdCBvZiBvbmUKLXR5cGUgaXMgcmVwbGFjZWQgYnkgYW4gb2JqZWN0IG9mIGFub3RoZXIgdHlwZSAoZm9yIGV4YW1wbGUgYSBibG9iCi1yZXBsYWNlZCBieSBhIGNvbW1pdCkuCitwZW5kaW5nIG9iamVjdHMuCiAKIFNFRSBBTFNPCiAtLS0tLS0tLQorbGlua2dpdDpnaXQtaGFzaC1vYmplY3RbMV0KK2xpbmtnaXQ6Z2l0LWZpbHRlci1icmFuY2hbMV0KK2xpbmtnaXQ6Z2l0LXJlYmFzZVsxXQogbGlua2dpdDpnaXQtdGFnWzFdCiBsaW5rZ2l0OmdpdC1icmFuY2hbMV0KIGxpbmtnaXQ6Z2l0WzFdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXBvLWNvbmZpZy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXBvLWNvbmZpZy50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllYzExNWIuLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmVwby1jb25maWcudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotZ2l0LXJlcG8tY29uZmlnKDEpCi09PT09PT09PT09PT09PT09PT0KLQotTkFNRQotLS0tLQotZ2l0LXJlcG8tY29uZmlnIC0gR2V0IGFuZCBzZXQgcmVwb3NpdG9yeSBvciBnbG9iYWwgb3B0aW9ucwotCi0KLVNZTk9QU0lTCi0tLS0tLS0tLQotW3ZlcnNlXQotJ2dpdCByZXBvLWNvbmZpZycgLi4uCi0KLQotREVTQ1JJUFRJT04KLS0tLS0tLS0tLS0tCi0KLVRoaXMgaXMgYSBzeW5vbnltIGZvciBsaW5rZ2l0OmdpdC1jb25maWdbMV0uICBQbGVhc2UgcmVmZXIgdG8gdGhlCi1kb2N1bWVudGF0aW9uIG9mIHRoYXQgY29tbWFuZC4KLQotR0lUCi0tLS0KLVBhcnQgb2YgdGhlIGxpbmtnaXQ6Z2l0WzFdIHN1aXRlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXYtcGFyc2UudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcmV2LXBhcnNlLnR4dAppbmRleCAyYjEyNmMwLi4wZDJjZGNkIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXYtcGFyc2UudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJldi1wYXJzZS50eHQKQEAgLTI0LDkgKzI0LDIzIEBACiAKIE9QVElPTlMKIC0tLS0tLS0KKworT3BlcmF0aW9uIE1vZGVzCit+fn5+fn5+fn5+fn5+fn4KKworRWFjaCBvZiB0aGVzZSBvcHRpb25zIG11c3QgYXBwZWFyIGZpcnN0IG9uIHRoZSBjb21tYW5kIGxpbmUuCisKIC0tcGFyc2VvcHQ6OgogCVVzZSAnZ2l0IHJldi1wYXJzZScgaW4gb3B0aW9uIHBhcnNpbmcgbW9kZSAoc2VlIFBBUlNFT1BUIHNlY3Rpb24gYmVsb3cpLgogCistLXNxLXF1b3RlOjoKKwlVc2UgJ2dpdCByZXYtcGFyc2UnIGluIHNoZWxsIHF1b3RpbmcgbW9kZSAoc2VlIFNRLVFVT1RFCisJc2VjdGlvbiBiZWxvdykuIEluIGNvbnRyYXN0IHRvIHRoZSBgLS1zcWAgb3B0aW9uIGJlbG93LCB0aGlzCisJbW9kZSBkb2VzIG9ubHkgcXVvdGluZy4gTm90aGluZyBlbHNlIGlzIGRvbmUgdG8gY29tbWFuZCBpbnB1dC4KKworT3B0aW9ucyBmb3IgLS1wYXJzZW9wdAorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCiAtLWtlZXAtZGFzaGRhc2g6OgogCU9ubHkgbWVhbmluZ2Z1bCBpbiBgLS1wYXJzZW9wdGAgbW9kZS4gVGVsbHMgdGhlIG9wdGlvbiBwYXJzZXIgdG8gZWNobwogCW91dCB0aGUgZmlyc3QgYC0tYCBtZXQgaW5zdGVhZCBvZiBza2lwcGluZyBpdC4KQEAgLTM2LDEwICs1MCwxMiBAQAogCXRoZSBmaXJzdCBub24tb3B0aW9uIGFyZ3VtZW50LiAgVGhpcyBjYW4gYmUgdXNlZCB0byBwYXJzZSBzdWItY29tbWFuZHMKIAl0aGF0IHRha2Ugb3B0aW9ucyB0aGVtc2VsdmVzLgogCi0tLXNxLXF1b3RlOjoKLQlVc2UgJ2dpdCByZXYtcGFyc2UnIGluIHNoZWxsIHF1b3RpbmcgbW9kZSAoc2VlIFNRLVFVT1RFCi0Jc2VjdGlvbiBiZWxvdykuIEluIGNvbnRyYXN0IHRvIHRoZSBgLS1zcWAgb3B0aW9uIGJlbG93LCB0aGlzCi0JbW9kZSBkb2VzIG9ubHkgcXVvdGluZy4gTm90aGluZyBlbHNlIGlzIGRvbmUgdG8gY29tbWFuZCBpbnB1dC4KKy0tc3R1Y2stbG9uZzo6CisJT25seSBtZWFuaW5nZnVsIGluIGAtLXBhcnNlb3B0YCBtb2RlLiBPdXRwdXQgdGhlIG9wdGlvbnMgaW4gdGhlaXIKKwlsb25nIGZvcm0gaWYgYXZhaWxhYmxlLCBhbmQgd2l0aCB0aGVpciBhcmd1bWVudHMgc3R1Y2suCisKK09wdGlvbnMgZm9yIEZpbHRlcmluZworfn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAKIC0tcmV2cy1vbmx5OjoKIAlEbyBub3Qgb3V0cHV0IGZsYWdzIGFuZCBwYXJhbWV0ZXJzIG5vdCBtZWFudCBmb3IKQEAgLTU1LDYgKzcxLDkgQEAKIC0tbm8tZmxhZ3M6OgogCURvIG5vdCBvdXRwdXQgZmxhZyBwYXJhbWV0ZXJzLgogCitPcHRpb25zIGZvciBPdXRwdXQKK35+fn5+fn5+fn5+fn5+fn5+fgorCiAtLWRlZmF1bHQgPGFyZz46OgogCUlmIHRoZXJlIGlzIG5vIHBhcmFtZXRlciBnaXZlbiBieSB0aGUgdXNlciwgdXNlIGA8YXJnPmAKIAlpbnN0ZWFkLgpAQCAtMTEwLDYgKzEyOSwxNyBAQAogCXN0cmlwICd7Y2FyZXR9JyBwcmVmaXggZnJvbSB0aGUgb2JqZWN0IG5hbWVzIHRoYXQgYWxyZWFkeSBoYXZlCiAJb25lLgogCistLWFiYnJldi1yZWZbPShzdHJpY3R8bG9vc2UpXTo6CisJQSBub24tYW1iaWd1b3VzIHNob3J0IG5hbWUgb2YgdGhlIG9iamVjdHMgbmFtZS4KKwlUaGUgb3B0aW9uIGNvcmUud2FybkFtYmlndW91c1JlZnMgaXMgdXNlZCB0byBzZWxlY3QgdGhlIHN0cmljdAorCWFiYnJldmlhdGlvbiBtb2RlLgorCistLXNob3J0OjoKKy0tc2hvcnQ9bnVtYmVyOjoKKwlJbnN0ZWFkIG9mIG91dHB1dHRpbmcgdGhlIGZ1bGwgU0hBLTEgdmFsdWVzIG9mIG9iamVjdCBuYW1lcyB0cnkgdG8KKwlhYmJyZXZpYXRlIHRoZW0gdG8gYSBzaG9ydGVyIHVuaXF1ZSBuYW1lLiBXaGVuIG5vIGxlbmd0aCBpcyBzcGVjaWZpZWQKKwk3IGlzIHVzZWQuIFRoZSBtaW5pbXVtIGxlbmd0aCBpcyA0LgorCiAtLXN5bWJvbGljOjoKIAlVc3VhbGx5IHRoZSBvYmplY3QgbmFtZXMgYXJlIG91dHB1dCBpbiBTSEEtMSBmb3JtICh3aXRoCiAJcG9zc2libGUgJ3tjYXJldH0nIHByZWZpeCk7IHRoaXMgb3B0aW9uIG1ha2VzIHRoZW0gb3V0cHV0IGluIGEKQEAgLTEyMywxNiArMTUzLDggQEAKIAl1bmZvcnR1bmF0ZWx5IG5hbWVkIHRhZyAibWFzdGVyIiksIGFuZCBzaG93IHRoZW0gYXMgZnVsbAogCXJlZm5hbWVzIChlLmcuICJyZWZzL2hlYWRzL21hc3RlciIpLgogCi0tLWFiYnJldi1yZWZbPShzdHJpY3R8bG9vc2UpXTo6Ci0JQSBub24tYW1iaWd1b3VzIHNob3J0IG5hbWUgb2YgdGhlIG9iamVjdHMgbmFtZS4KLQlUaGUgb3B0aW9uIGNvcmUud2FybkFtYmlndW91c1JlZnMgaXMgdXNlZCB0byBzZWxlY3QgdGhlIHN0cmljdAotCWFiYnJldmlhdGlvbiBtb2RlLgotCi0tLWRpc2FtYmlndWF0ZT08cHJlZml4Pjo6Ci0JU2hvdyBldmVyeSBvYmplY3Qgd2hvc2UgbmFtZSBiZWdpbnMgd2l0aCB0aGUgZ2l2ZW4gcHJlZml4LgotCVRoZSA8cHJlZml4PiBtdXN0IGJlIGF0IGxlYXN0IDQgaGV4YWRlY2ltYWwgZGlnaXRzIGxvbmcgdG8KLQlhdm9pZCBsaXN0aW5nIGVhY2ggYW5kIGV2ZXJ5IG9iamVjdCBpbiB0aGUgcmVwb3NpdG9yeSBieQotCW1pc3Rha2UuCitPcHRpb25zIGZvciBPYmplY3RzCit+fn5+fn5+fn5+fn5+fn5+fn5+CiAKIC0tYWxsOjoKIAlTaG93IGFsbCByZWZzIGZvdW5kIGluIGByZWZzL2AuCkBAIC0xNTUsMTggKzE3NywzNCBAQAogCWNoYXJhY3RlciAoYD9gLCBgKmAsIG9yIGBbYCksIGl0IGlzIHR1cm5lZCBpbnRvIGEgcHJlZml4CiAJbWF0Y2ggYnkgYXBwZW5kaW5nIGAvKmAuCiAKLS0tc2hvdy10b3BsZXZlbDo6Ci0JU2hvdyB0aGUgYWJzb2x1dGUgcGF0aCBvZiB0aGUgdG9wLWxldmVsIGRpcmVjdG9yeS4KKy0tZXhjbHVkZT08Z2xvYi1wYXR0ZXJuPjo6CisJRG8gbm90IGluY2x1ZGUgcmVmcyBtYXRjaGluZyAnPGdsb2ItcGF0dGVybj4nIHRoYXQgdGhlIG5leHQgYC0tYWxsYCwKKwlgLS1icmFuY2hlc2AsIGAtLXRhZ3NgLCBgLS1yZW1vdGVzYCwgb3IgYC0tZ2xvYmAgd291bGQgb3RoZXJ3aXNlCisJY29uc2lkZXIuIFJlcGV0aXRpb25zIG9mIHRoaXMgb3B0aW9uIGFjY3VtdWxhdGUgZXhjbHVzaW9uIHBhdHRlcm5zCisJdXAgdG8gdGhlIG5leHQgYC0tYWxsYCwgYC0tYnJhbmNoZXNgLCBgLS10YWdzYCwgYC0tcmVtb3Rlc2AsIG9yCisJYC0tZ2xvYmAgb3B0aW9uIChvdGhlciBvcHRpb25zIG9yIGFyZ3VtZW50cyBkbyBub3QgY2xlYXIKKwlhY2N1bWxhdGVkIHBhdHRlcm5zKS4KKysKK1RoZSBwYXR0ZXJucyBnaXZlbiBzaG91bGQgbm90IGJlZ2luIHdpdGggYHJlZnMvaGVhZHNgLCBgcmVmcy90YWdzYCwgb3IKK2ByZWZzL3JlbW90ZXNgIHdoZW4gYXBwbGllZCB0byBgLS1icmFuY2hlc2AsIGAtLXRhZ3NgLCBvciBgLS1yZW1vdGVzYCwKK3Jlc3BlY3RpdmVseSwgYW5kIHRoZXkgbXVzdCBiZWdpbiB3aXRoIGByZWZzL2Agd2hlbiBhcHBsaWVkIHRvIGAtLWdsb2JgCitvciBgLS1hbGxgLiBJZiBhIHRyYWlsaW5nICcve2FzdGVyaXNrfScgaXMgaW50ZW5kZWQsIGl0IG11c3QgYmUgZ2l2ZW4KK2V4cGxpY2l0bHkuCiAKLS0tc2hvdy1wcmVmaXg6OgotCVdoZW4gdGhlIGNvbW1hbmQgaXMgaW52b2tlZCBmcm9tIGEgc3ViZGlyZWN0b3J5LCBzaG93IHRoZQotCXBhdGggb2YgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHJlbGF0aXZlIHRvIHRoZSB0b3AtbGV2ZWwKLQlkaXJlY3RvcnkuCistLWRpc2FtYmlndWF0ZT08cHJlZml4Pjo6CisJU2hvdyBldmVyeSBvYmplY3Qgd2hvc2UgbmFtZSBiZWdpbnMgd2l0aCB0aGUgZ2l2ZW4gcHJlZml4LgorCVRoZSA8cHJlZml4PiBtdXN0IGJlIGF0IGxlYXN0IDQgaGV4YWRlY2ltYWwgZGlnaXRzIGxvbmcgdG8KKwlhdm9pZCBsaXN0aW5nIGVhY2ggYW5kIGV2ZXJ5IG9iamVjdCBpbiB0aGUgcmVwb3NpdG9yeSBieQorCW1pc3Rha2UuCiAKLS0tc2hvdy1jZHVwOjoKLQlXaGVuIHRoZSBjb21tYW5kIGlzIGludm9rZWQgZnJvbSBhIHN1YmRpcmVjdG9yeSwgc2hvdyB0aGUKLQlwYXRoIG9mIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5IHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50Ci0JZGlyZWN0b3J5ICh0eXBpY2FsbHkgYSBzZXF1ZW5jZSBvZiAiLi4vIiwgb3IgYW4gZW1wdHkgc3RyaW5nKS4KK09wdGlvbnMgZm9yIEZpbGVzCit+fn5+fn5+fn5+fn5+fn5+fgorCistLWxvY2FsLWVudi12YXJzOjoKKwlMaXN0IHRoZSBHSVRfKiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgbG9jYWwgdG8gdGhlCisJcmVwb3NpdG9yeSAoZS5nLiBHSVRfRElSIG9yIEdJVF9XT1JLX1RSRUUsIGJ1dCBub3QgR0lUX0VESVRPUikuCisJT25seSB0aGUgbmFtZXMgb2YgdGhlIHZhcmlhYmxlcyBhcmUgbGlzdGVkLCBub3QgdGhlaXIgdmFsdWUsCisJZXZlbiBpZiB0aGV5IGFyZSBzZXQuCiAKIC0tZ2l0LWRpcjo6CiAJU2hvdyBgJEdJVF9ESVJgIGlmIGRlZmluZWQuIE90aGVyd2lzZSBzaG93IHRoZSBwYXRoIHRvCkBAIC0xODgsMTcgKzIyNiwyNyBAQAogLS1pcy1iYXJlLXJlcG9zaXRvcnk6OgogCVdoZW4gdGhlIHJlcG9zaXRvcnkgaXMgYmFyZSBwcmludCAidHJ1ZSIsIG90aGVyd2lzZSAiZmFsc2UiLgogCi0tLWxvY2FsLWVudi12YXJzOjoKLQlMaXN0IHRoZSBHSVRfKiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgbG9jYWwgdG8gdGhlCi0JcmVwb3NpdG9yeSAoZS5nLiBHSVRfRElSIG9yIEdJVF9XT1JLX1RSRUUsIGJ1dCBub3QgR0lUX0VESVRPUikuCi0JT25seSB0aGUgbmFtZXMgb2YgdGhlIHZhcmlhYmxlcyBhcmUgbGlzdGVkLCBub3QgdGhlaXIgdmFsdWUsCi0JZXZlbiBpZiB0aGV5IGFyZSBzZXQuCistLXJlc29sdmUtZ2l0LWRpciA8cGF0aD46OgorCUNoZWNrIGlmIDxwYXRoPiBpcyBhIHZhbGlkIHJlcG9zaXRvcnkgb3IgYSBnaXRmaWxlIHRoYXQKKwlwb2ludHMgYXQgYSB2YWxpZCByZXBvc2l0b3J5LCBhbmQgcHJpbnQgdGhlIGxvY2F0aW9uIG9mIHRoZQorCXJlcG9zaXRvcnkuICBJZiA8cGF0aD4gaXMgYSBnaXRmaWxlIHRoZW4gdGhlIHJlc29sdmVkIHBhdGgKKwl0byB0aGUgcmVhbCByZXBvc2l0b3J5IGlzIHByaW50ZWQuCiAKLS0tc2hvcnQ6OgotLS1zaG9ydD1udW1iZXI6OgotCUluc3RlYWQgb2Ygb3V0cHV0dGluZyB0aGUgZnVsbCBTSEEtMSB2YWx1ZXMgb2Ygb2JqZWN0IG5hbWVzIHRyeSB0bwotCWFiYnJldmlhdGUgdGhlbSB0byBhIHNob3J0ZXIgdW5pcXVlIG5hbWUuIFdoZW4gbm8gbGVuZ3RoIGlzIHNwZWNpZmllZAotCTcgaXMgdXNlZC4gVGhlIG1pbmltdW0gbGVuZ3RoIGlzIDQuCistLXNob3ctY2R1cDo6CisJV2hlbiB0aGUgY29tbWFuZCBpcyBpbnZva2VkIGZyb20gYSBzdWJkaXJlY3RvcnksIHNob3cgdGhlCisJcGF0aCBvZiB0aGUgdG9wLWxldmVsIGRpcmVjdG9yeSByZWxhdGl2ZSB0byB0aGUgY3VycmVudAorCWRpcmVjdG9yeSAodHlwaWNhbGx5IGEgc2VxdWVuY2Ugb2YgIi4uLyIsIG9yIGFuIGVtcHR5IHN0cmluZykuCisKKy0tc2hvdy1wcmVmaXg6OgorCVdoZW4gdGhlIGNvbW1hbmQgaXMgaW52b2tlZCBmcm9tIGEgc3ViZGlyZWN0b3J5LCBzaG93IHRoZQorCXBhdGggb2YgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHJlbGF0aXZlIHRvIHRoZSB0b3AtbGV2ZWwKKwlkaXJlY3RvcnkuCisKKy0tc2hvdy10b3BsZXZlbDo6CisJU2hvdyB0aGUgYWJzb2x1dGUgcGF0aCBvZiB0aGUgdG9wLWxldmVsIGRpcmVjdG9yeS4KKworT3RoZXIgT3B0aW9ucworfn5+fn5+fn5+fn5+fgogCiAtLXNpbmNlPWRhdGVzdHJpbmc6OgogLS1hZnRlcj1kYXRlc3RyaW5nOjoKQEAgLTIxMywxMiArMjYxLDYgQEAKIDxhcmdzPi4uLjo6CiAJRmxhZ3MgYW5kIHBhcmFtZXRlcnMgdG8gYmUgcGFyc2VkLgogCi0tLXJlc29sdmUtZ2l0LWRpciA8cGF0aD46OgotCUNoZWNrIGlmIDxwYXRoPiBpcyBhIHZhbGlkIHJlcG9zaXRvcnkgb3IgYSBnaXRmaWxlIHRoYXQKLQlwb2ludHMgYXQgYSB2YWxpZCByZXBvc2l0b3J5LCBhbmQgcHJpbnQgdGhlIGxvY2F0aW9uIG9mIHRoZQotCXJlcG9zaXRvcnkuICBJZiA8cGF0aD4gaXMgYSBnaXRmaWxlIHRoZW4gdGhlIHJlc29sdmVkIHBhdGgKLQl0byB0aGUgcmVhbCByZXBvc2l0b3J5IGlzIHByaW50ZWQuCi0KIAogaW5jbHVkZTo6cmV2aXNpb25zLnR4dFtdCiAKQEAgLTI2MSw3ICszMDMsOSBAQAogCWA8ZmxhZ3M+YCBhcmUgb2YgYCpgLCBgPWAsIGA/YCBvciBgIWAuCiAJKiBVc2UgYD1gIGlmIHRoZSBvcHRpb24gdGFrZXMgYW4gYXJndW1lbnQuCiAKLQkqIFVzZSBgP2AgdG8gbWVhbiB0aGF0IHRoZSBvcHRpb24gaXMgb3B0aW9uYWwgKHRob3VnaCBpdHMgdXNlIGlzIGRpc2NvdXJhZ2VkKS4KKwkqIFVzZSBgP2AgdG8gbWVhbiB0aGF0IHRoZSBvcHRpb24gdGFrZXMgYW4gb3B0aW9uYWwgYXJndW1lbnQuIFlvdQorCSAgcHJvYmFibHkgd2FudCB0byB1c2UgdGhlIGAtLXN0dWNrLWxvbmdgIG1vZGUgdG8gYmUgYWJsZSB0bworCSAgdW5hbWJpZ3VvdXNseSBwYXJzZSB0aGUgb3B0aW9uYWwgYXJndW1lbnQuCiAKIAkqIFVzZSBgKmAgdG8gbWVhbiB0aGF0IHRoaXMgb3B0aW9uIHNob3VsZCBub3QgYmUgbGlzdGVkIGluIHRoZSB1c2FnZQogCSAgZ2VuZXJhdGVkIGZvciB0aGUgYC1oYCBhcmd1bWVudC4gSXQncyBzaG93biBmb3IgYC0taGVscC1hbGxgIGFzCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXZlcnQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcmV2ZXJ0LnR4dAppbmRleCBmNzljOWQ4Li4yZGU2N2E1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXZlcnQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJldmVydC50eHQKQEAgLTU5LDcgKzU5LDcgQEAKIGNoYW5nZXMgaW50cm9kdWNlZCBieSBjb21taXRzIHRoYXQgYXJlIG5vdCBhbmNlc3RvcnMgb2YgdGhlIHByZXZpb3VzbHkKIHJldmVydGVkIG1lcmdlLiAgVGhpcyBtYXkgb3IgbWF5IG5vdCBiZSB3aGF0IHlvdSB3YW50LgogKwotU2VlIHRoZSBsaW5rOmhvd3RvL3JldmVydC1hLWZhdWx0eS1tZXJnZS50eHRbcmV2ZXJ0LWEtZmF1bHR5LW1lcmdlIEhvdy1Ub10gZm9yCitTZWUgdGhlIGxpbms6aG93dG8vcmV2ZXJ0LWEtZmF1bHR5LW1lcmdlLmh0bWxbcmV2ZXJ0LWEtZmF1bHR5LW1lcmdlIEhvdy1Ub10gZm9yCiBtb3JlIGRldGFpbHMuCiAKIC0tbm8tZWRpdDo6CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1ybS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1ybS50eHQKaW5kZXggMWQ4NzZjMi4uZjFlZmMxMSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcm0udHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJtLnR4dApAQCAtMTM0LDE0ICsxMzQsMTYgQEAKIGdpdCBkaWZmIC0tbmFtZS1vbmx5IC0tZGlmZi1maWx0ZXI9RCAteiB8IHhhcmdzIC0wIGdpdCBybSAtLWNhY2hlZAogLS0tLS0tLS0tLS0tLS0tLQogCi1TdWJtb2R1bGVzCi1+fn5+fn5+fn5+CitTVUJNT0RVTEVTCistLS0tLS0tLS0tCiBPbmx5IHN1Ym1vZHVsZXMgdXNpbmcgYSBnaXRmaWxlICh3aGljaCBtZWFucyB0aGV5IHdlcmUgY2xvbmVkCiB3aXRoIGEgR2l0IHZlcnNpb24gMS43Ljggb3IgbmV3ZXIpIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSB3b3JrCiB0cmVlLCBhcyB0aGVpciByZXBvc2l0b3J5IGxpdmVzIGluc2lkZSB0aGUgLmdpdCBkaXJlY3Rvcnkgb2YgdGhlCiBzdXBlcnByb2plY3QuIElmIGEgc3VibW9kdWxlIChvciBvbmUgb2YgdGhvc2UgbmVzdGVkIGluc2lkZSBpdCkKIHN0aWxsIHVzZXMgYSAuZ2l0IGRpcmVjdG9yeSwgYGdpdCBybWAgd2lsbCBmYWlsIC0gbm8gbWF0dGVyIGlmIGZvcmNlZAotb3Igbm90IC0gdG8gcHJvdGVjdCB0aGUgc3VibW9kdWxlJ3MgaGlzdG9yeS4KK29yIG5vdCAtIHRvIHByb3RlY3QgdGhlIHN1Ym1vZHVsZSdzIGhpc3RvcnkuIElmIGl0IGV4aXN0cyB0aGUKK3N1Ym1vZHVsZS48bmFtZT4gc2VjdGlvbiBpbiB0aGUgbGlua2dpdDpnaXRtb2R1bGVzWzVdIGZpbGUgd2lsbCBhbHNvCitiZSByZW1vdmVkIGFuZCB0aGF0IGZpbGUgd2lsbCBiZSBzdGFnZWQgKHVubGVzcyAtLWNhY2hlZCBvciAtbiBhcmUgdXNlZCkuCiAKIEEgc3VibW9kdWxlIGlzIGNvbnNpZGVyZWQgdXAtdG8tZGF0ZSB3aGVuIHRoZSBIRUFEIGlzIHRoZSBzYW1lIGFzCiByZWNvcmRlZCBpbiB0aGUgaW5kZXgsIG5vIHRyYWNrZWQgZmlsZXMgYXJlIG1vZGlmaWVkIGFuZCBubyB1bnRyYWNrZWQKQEAgLTE2OCw2ICsxNzAsMTUgQEAKIAkoaS5lLiB5b3UgYXJlIGxpc3RpbmcgdGhlIGZpbGVzIGV4cGxpY2l0bHkpLCBpdAogCWRvZXMgbm90IHJlbW92ZSBgc3ViZGlyL2dpdC1mb28uc2hgLgogCitCVUdTCistLS0tCitFYWNoIHRpbWUgYSBzdXBlcnByb2plY3QgdXBkYXRlIHJlbW92ZXMgYSBwb3B1bGF0ZWQgc3VibW9kdWxlCisoZS5nLiB3aGVuIHN3aXRjaGluZyBiZXR3ZWVuIGNvbW1pdHMgYmVmb3JlIGFuZCBhZnRlciB0aGUgcmVtb3ZhbCkgYQorc3RhbGUgc3VibW9kdWxlIGNoZWNrb3V0IHdpbGwgcmVtYWluIGluIHRoZSBvbGQgbG9jYXRpb24uIFJlbW92aW5nIHRoZQorb2xkIGRpcmVjdG9yeSBpcyBvbmx5IHNhZmUgd2hlbiBpdCB1c2VzIGEgZ2l0ZmlsZSwgYXMgb3RoZXJ3aXNlIHRoZQoraGlzdG9yeSBvZiB0aGUgc3VibW9kdWxlIHdpbGwgYmUgZGVsZXRlZCB0b28uIFRoaXMgc3RlcCB3aWxsIGJlCitvYnNvbGV0ZSB3aGVuIHJlY3Vyc2l2ZSBzdWJtb2R1bGUgdXBkYXRlIGhhcyBiZWVuIGltcGxlbWVudGVkLgorCiBTRUUgQUxTTwogLS0tLS0tLS0KIGxpbmtnaXQ6Z2l0LWFkZFsxXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtc2gtc2V0dXAudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtc2gtc2V0dXAudHh0CmluZGV4IDVkNzA5ZDAuLjRmNjdjNGMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXNoLXNldHVwLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1zaC1zZXR1cC50eHQKQEAgLTQxLDkgKzQxLDExIEBACiAJZGllIHdpdGggdGhlIHVzYWdlIG1lc3NhZ2UuCiAKIHNldF9yZWZsb2dfYWN0aW9uOjoKLQlzZXQgdGhlIG1lc3NhZ2UgdGhhdCB3aWxsIGJlIHJlY29yZGVkIHRvIGRlc2NyaWJlIHRoZQotCWVuZC11c2VyIGFjdGlvbiBpbiB0aGUgcmVmbG9nLCB3aGVuIHRoZSBzY3JpcHQgdXBkYXRlcyBhCi0JcmVmLgorCVNldCBHSVRfUkVGTE9HX0FDVElPTiBlbnZpcm9ubWVudCB0byBhIGdpdmVuIHN0cmluZyAodHlwaWNhbGx5CisJdGhlIG5hbWUgb2YgdGhlIHByb2dyYW0pIHVubGVzcyBpdCBpcyBhbHJlYWR5IHNldC4gIFdoZW5ldmVyCisJdGhlIHNjcmlwdCBydW5zIGEgYGdpdGAgY29tbWFuZCB0aGF0IHVwZGF0ZXMgcmVmcywgYSByZWZsb2cKKwllbnRyeSBpcyBjcmVhdGVkIHVzaW5nIHRoZSB2YWx1ZSBvZiB0aGlzIHN0cmluZyB0byBsZWF2ZSB0aGUKKwlyZWNvcmQgb2Ygd2hhdCBjb21tYW5kIHVwZGF0ZWQgdGhlIHJlZi4KIAogZ2l0X2VkaXRvcjo6CiAJcnVucyBhbiBlZGl0b3Igb2YgdXNlcidzIGNob2ljZSAoR0lUX0VESVRPUiwgY29yZS5lZGl0b3IsIFZJU1VBTCBvcgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtc2hvdy1yZWYudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtc2hvdy1yZWYudHh0CmluZGV4IGIwYTMwOWIuLmZmZDFiMDMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXNob3ctcmVmLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1zaG93LXJlZi50eHQKQEAgLTE3NSw2ICsxNzUsNyBAQAogCiBTRUUgQUxTTwogLS0tLS0tLS0KK2xpbmtnaXQ6Z2l0LWZvci1lYWNoLXJlZlsxXSwKIGxpbmtnaXQ6Z2l0LWxzLXJlbW90ZVsxXSwKIGxpbmtnaXQ6Z2l0LXVwZGF0ZS1yZWZbMV0sCiBsaW5rZ2l0OmdpdHJlcG9zaXRvcnktbGF5b3V0WzVdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1zdGF0dXMudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtc3RhdHVzLnR4dAppbmRleCA5MDQ2ZGY5Li5hNGFjYWEwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1zdGF0dXMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXN0YXR1cy50eHQKQEAgLTIxMCw3ICsyMTAsMTMgQEAKIElmIGBzdGF0dXMuc3VibW9kdWxlc3VtbWFyeWAgaXMgc2V0IHRvIGEgbm9uIHplcm8gbnVtYmVyIG9yIHRydWUgKGlkZW50aWNhbAogdG8gLTEgb3IgYW4gdW5saW1pdGVkIG51bWJlciksIHRoZSBzdWJtb2R1bGUgc3VtbWFyeSB3aWxsIGJlIGVuYWJsZWQgZm9yCiB0aGUgbG9uZyBmb3JtYXQgYW5kIGEgc3VtbWFyeSBvZiBjb21taXRzIGZvciBtb2RpZmllZCBzdWJtb2R1bGVzIHdpbGwgYmUKLXNob3duIChzZWUgLS1zdW1tYXJ5LWxpbWl0IG9wdGlvbiBvZiBsaW5rZ2l0OmdpdC1zdWJtb2R1bGVbMV0pLgorc2hvd24gKHNlZSAtLXN1bW1hcnktbGltaXQgb3B0aW9uIG9mIGxpbmtnaXQ6Z2l0LXN1Ym1vZHVsZVsxXSkuIFBsZWFzZSBub3RlCit0aGF0IHRoZSBzdW1tYXJ5IG91dHB1dCBmcm9tIHRoZSBzdGF0dXMgY29tbWFuZCB3aWxsIGJlIHN1cHByZXNzZWQgZm9yIGFsbAorc3VibW9kdWxlcyB3aGVuIGBkaWZmLmlnbm9yZVN1Ym1vZHVsZXNgIGlzIHNldCB0byAnYWxsJyBvciBvbmx5IGZvciB0aG9zZQorc3VibW9kdWxlcyB3aGVyZSBgc3VibW9kdWxlLjxuYW1lPi5pZ25vcmU9YWxsYC4gVG8gYWxzbyB2aWV3IHRoZSBzdW1tYXJ5IGZvcgoraWdub3JlZCBzdWJtb2R1bGVzIHlvdSBjYW4gZWl0aGVyIHVzZSB0aGUgLS1pZ25vcmUtc3VibW9kdWxlcz1kaXJ0eSBjb21tYW5kCitsaW5lIG9wdGlvbiBvciB0aGUgJ2dpdCBzdWJtb2R1bGUgc3VtbWFyeScgY29tbWFuZCwgd2hpY2ggc2hvd3MgYSBzaW1pbGFyCitvdXRwdXQgYnV0IGRvZXMgbm90IGhvbm9yIHRoZXNlIHNldHRpbmdzLgogCiBTRUUgQUxTTwogLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXN2bi50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1zdm4udHh0CmluZGV4IDRkZDNiY2IuLjMwYzVlZTIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXN2bi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtc3ZuLnR4dApAQCAtNzksOCArNzksMjEgQEAKIAl0cmFpbGluZyBzbGFzaCwgc28gYmUgc3VyZSB5b3UgaW5jbHVkZSBvbmUgaW4gdGhlCiAJYXJndW1lbnQgaWYgdGhhdCBpcyB3aGF0IHlvdSB3YW50LiAgSWYgLS1icmFuY2hlcy8tYiBpcwogCXNwZWNpZmllZCwgdGhlIHByZWZpeCBtdXN0IGluY2x1ZGUgYSB0cmFpbGluZyBzbGFzaC4KLQlTZXR0aW5nIGEgcHJlZml4IGlzIHVzZWZ1bCBpZiB5b3Ugd2lzaCB0byB0cmFjayBtdWx0aXBsZQotCXByb2plY3RzIHRoYXQgc2hhcmUgYSBjb21tb24gcmVwb3NpdG9yeS4KKwlTZXR0aW5nIGEgcHJlZml4ICh3aXRoIGEgdHJhaWxpbmcgc2xhc2gpIGlzIHN0cm9uZ2x5CisJZW5jb3VyYWdlZCBpbiBhbnkgY2FzZSwgYXMgeW91ciBTVk4tdHJhY2tpbmcgcmVmcyB3aWxsCisJdGhlbiBiZSBsb2NhdGVkIGF0ICJyZWZzL3JlbW90ZXMvJHByZWZpeC8qIiwgd2hpY2ggaXMKKwljb21wYXRpYmxlIHdpdGggR2l0J3Mgb3duIHJlbW90ZS10cmFja2luZyByZWYgbGF5b3V0CisJKHJlZnMvcmVtb3Rlcy8kcmVtb3RlLyopLiBTZXR0aW5nIGEgcHJlZml4IGlzIGFsc28gdXNlZnVsCisJaWYgeW91IHdpc2ggdG8gdHJhY2sgbXVsdGlwbGUgcHJvamVjdHMgdGhhdCBzaGFyZSBhIGNvbW1vbgorCXJlcG9zaXRvcnkuCisrCitOT1RFOiBJbiBHaXQgdjIuMCwgdGhlIGRlZmF1bHQgcHJlZml4IHdpbGwgQ0hBTkdFIGZyb20gIiIgKG5vIHByZWZpeCkKK3RvICJvcmlnaW4vIi4gVGhpcyBpcyBkb25lIHRvIHB1dCBTVk4tdHJhY2tpbmcgcmVmcyBhdAorInJlZnMvcmVtb3Rlcy9vcmlnaW4vKiIgaW5zdGVhZCBvZiAicmVmcy9yZW1vdGVzLyoiLCBhbmQgbWFrZSB0aGVtCittb3JlIGNvbXBhdGlibGUgd2l0aCBob3cgR2l0J3Mgb3duIHJlbW90ZS10cmFja2luZyByZWZzIGFyZSBvcmdhbml6ZWQKKyhpLmUuIHJlZnMvcmVtb3Rlcy8kcmVtb3RlLyopLiBZb3UgY2FuIGVuam95IHRoZSBzYW1lIGJlbmVmaXRzIHRvZGF5LAorYnkgdXNpbmcgdGhlIC0tcHJlZml4IG9wdGlvbi4KKwogLS1pZ25vcmUtcGF0aHM9PHJlZ2V4Pjs7CiAJV2hlbiBwYXNzZWQgdG8gJ2luaXQnIG9yICdjbG9uZScgdGhpcyByZWd1bGFyIGV4cHJlc3Npb24gd2lsbAogCWJlIHByZXNlcnZlZCBhcyBhIGNvbmZpZyBrZXkuICBTZWUgJ2ZldGNoJyBmb3IgYSBkZXNjcmlwdGlvbgpAQCAtMTA0LDE5ICsxMTcsMjIgQEAKICdmZXRjaCc6OgogCUZldGNoIHVuZmV0Y2hlZCByZXZpc2lvbnMgZnJvbSB0aGUgU3VidmVyc2lvbiByZW1vdGUgd2UgYXJlCiAJdHJhY2tpbmcuICBUaGUgbmFtZSBvZiB0aGUgW3N2bi1yZW1vdGUgIi4uLiJdIHNlY3Rpb24gaW4gdGhlCi0JLmdpdC9jb25maWcgZmlsZSBtYXkgYmUgc3BlY2lmaWVkIGFzIGFuIG9wdGlvbmFsIGNvbW1hbmQtbGluZQotCWFyZ3VtZW50LgorCSRHSVRfRElSL2NvbmZpZyBmaWxlIG1heSBiZSBzcGVjaWZpZWQgYXMgYW4gb3B0aW9uYWwKKwljb21tYW5kLWxpbmUgYXJndW1lbnQuCisrCitUaGlzIGF1dG9tYXRpY2FsbHkgdXBkYXRlcyB0aGUgcmV2X21hcCBpZiBuZWVkZWQgKHNlZQorJyRHSVRfRElSL3N2bi9cKlwqLy5yZXZfbWFwLionIGluIHRoZSBGSUxFUyBzZWN0aW9uIGJlbG93IGZvciBkZXRhaWxzKS4KIAogLS1sb2NhbHRpbWU7OwotCVN0b3JlIEdpdCBjb21taXQgdGltZXMgaW4gdGhlIGxvY2FsIHRpbWV6b25lIGluc3RlYWQgb2YgVVRDLiAgVGhpcworCVN0b3JlIEdpdCBjb21taXQgdGltZXMgaW4gdGhlIGxvY2FsIHRpbWUgem9uZSBpbnN0ZWFkIG9mIFVUQy4gIFRoaXMKIAltYWtlcyAnZ2l0IGxvZycgKGV2ZW4gd2l0aG91dCAtLWRhdGU9bG9jYWwpIHNob3cgdGhlIHNhbWUgdGltZXMKLQl0aGF0IGBzdm4gbG9nYCB3b3VsZCBpbiB0aGUgbG9jYWwgdGltZXpvbmUuCisJdGhhdCBgc3ZuIGxvZ2Agd291bGQgaW4gdGhlIGxvY2FsIHRpbWUgem9uZS4KICsKIFRoaXMgZG9lc24ndCBpbnRlcmZlcmUgd2l0aCBpbnRlcm9wZXJhdGluZyB3aXRoIHRoZSBTdWJ2ZXJzaW9uCiByZXBvc2l0b3J5IHlvdSBjbG9uZWQgZnJvbSwgYnV0IGlmIHlvdSB3aXNoIGZvciB5b3VyIGxvY2FsIEdpdAogcmVwb3NpdG9yeSB0byBiZSBhYmxlIHRvIGludGVyb3BlcmF0ZSB3aXRoIHNvbWVvbmUgZWxzZSdzIGxvY2FsIEdpdAogcmVwb3NpdG9yeSwgZWl0aGVyIGRvbid0IHVzZSB0aGlzIG9wdGlvbiBvciB5b3Ugc2hvdWxkIGJvdGggdXNlIGl0IGluCi10aGUgc2FtZSBsb2NhbCB0aW1lem9uZS4KK3RoZSBzYW1lIGxvY2FsIHRpbWUgem9uZS4KIAogLS1wYXJlbnQ7OwogCUZldGNoIG9ubHkgZnJvbSB0aGUgU1ZOIHBhcmVudCBvZiB0aGUgY3VycmVudCBIRUFELgpAQCAtMTU5LDExICsxNzUsMTEgQEAKIAlwcmVjZWRlbmNlIG92ZXIgJy0taW5jbHVkZS1wYXRocycuCiAKIC0tbG9nLXdpbmRvdy1zaXplPTxuPjs7Ci0gICAgRmV0Y2ggPG4+IGxvZyBlbnRyaWVzIHBlciByZXF1ZXN0IHdoZW4gc2Nhbm5pbmcgU3VidmVyc2lvbiBoaXN0b3J5LgotICAgIFRoZSBkZWZhdWx0IGlzIDEwMC4gRm9yIHZlcnkgbGFyZ2UgU3VidmVyc2lvbiByZXBvc2l0b3JpZXMsIGxhcmdlcgotICAgIHZhbHVlcyBtYXkgYmUgbmVlZGVkIGZvciAnY2xvbmUnLydmZXRjaCcgdG8gY29tcGxldGUgaW4gcmVhc29uYWJsZQotICAgIHRpbWUuIEJ1dCBvdmVybHkgbGFyZ2UgdmFsdWVzIG1heSBsZWFkIHRvIGhpZ2hlciBtZW1vcnkgdXNhZ2UgYW5kCi0gICAgcmVxdWVzdCB0aW1lb3V0cy4KKwlGZXRjaCA8bj4gbG9nIGVudHJpZXMgcGVyIHJlcXVlc3Qgd2hlbiBzY2FubmluZyBTdWJ2ZXJzaW9uIGhpc3RvcnkuCisJVGhlIGRlZmF1bHQgaXMgMTAwLiBGb3IgdmVyeSBsYXJnZSBTdWJ2ZXJzaW9uIHJlcG9zaXRvcmllcywgbGFyZ2VyCisJdmFsdWVzIG1heSBiZSBuZWVkZWQgZm9yICdjbG9uZScvJ2ZldGNoJyB0byBjb21wbGV0ZSBpbiByZWFzb25hYmxlCisJdGltZS4gQnV0IG92ZXJseSBsYXJnZSB2YWx1ZXMgbWF5IGxlYWQgdG8gaGlnaGVyIG1lbW9yeSB1c2FnZSBhbmQKKwlyZXF1ZXN0IHRpbWVvdXRzLgogCiAnY2xvbmUnOjoKIAlSdW5zICdpbml0JyBhbmQgJ2ZldGNoJy4gIEl0IHdpbGwgYXV0b21hdGljYWxseSBjcmVhdGUgYQpAQCAtMjAxLDYgKzIxNyw5IEBACiArCiBMaWtlICdnaXQgcmViYXNlJzsgdGhpcyByZXF1aXJlcyB0aGF0IHRoZSB3b3JraW5nIHRyZWUgYmUgY2xlYW4KIGFuZCBoYXZlIG5vIHVuY29tbWl0dGVkIGNoYW5nZXMuCisrCitUaGlzIGF1dG9tYXRpY2FsbHkgdXBkYXRlcyB0aGUgcmV2X21hcCBpZiBuZWVkZWQgKHNlZQorJyRHSVRfRElSL3N2bi9cKlwqLy5yZXZfbWFwLionIGluIHRoZSBGSUxFUyBzZWN0aW9uIGJlbG93IGZvciBkZXRhaWxzKS4KIAogLWw7OwogLS1sb2NhbDs7CkBAIC0yNTYsNyArMjc1LDcgQEAKIAlGb3IgZWFjaCBwYXRjaCwgb25lIG1heSBhbnN3ZXIgInllcyIgKGFjY2VwdCB0aGlzIHBhdGNoKSwgIm5vIiAoZGlzY2FyZCB0aGlzCiAJcGF0Y2gpLCAiYWxsIiAoYWNjZXB0IGFsbCBwYXRjaGVzKSwgb3IgInF1aXQiLgogCSsKLSAgICAgICAnZ2l0IHN2biBkY29tbWl0JyByZXR1cm5zIGltbWVkaWF0ZWx5IGlmIGFuc3dlciBpcyAibm8iIG9yICJxdWl0Iiwgd2l0aG91dAorCSdnaXQgc3ZuIGRjb21taXQnIHJldHVybnMgaW1tZWRpYXRlbHkgaWYgYW5zd2VyIGlzICJubyIgb3IgInF1aXQiLCB3aXRob3V0CiAJY29tbWl0dGluZyBhbnl0aGluZyB0byBTVk4uCiAKICdicmFuY2gnOjoKQEAgLTM0NywxMiArMzY2LDEyIEBACiBBbnkgb3RoZXIgYXJndW1lbnRzIGFyZSBwYXNzZWQgZGlyZWN0bHkgdG8gJ2dpdCBsb2cnCiAKICdibGFtZSc6OgotICAgICAgIFNob3cgd2hhdCByZXZpc2lvbiBhbmQgYXV0aG9yIGxhc3QgbW9kaWZpZWQgZWFjaCBsaW5lIG9mIGEgZmlsZS4gVGhlCi0gICAgICAgb3V0cHV0IG9mIHRoaXMgbW9kZSBpcyBmb3JtYXQtY29tcGF0aWJsZSB3aXRoIHRoZSBvdXRwdXQgb2YKLSAgICAgICBgc3ZuIGJsYW1lJyBieSBkZWZhdWx0LiBMaWtlIHRoZSBTVk4gYmxhbWUgY29tbWFuZCwKLSAgICAgICBsb2NhbCB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHRoZSB3b3JraW5nIHRyZWUgYXJlIGlnbm9yZWQ7Ci0gICAgICAgdGhlIHZlcnNpb24gb2YgdGhlIGZpbGUgaW4gdGhlIEhFQUQgcmV2aXNpb24gaXMgYW5ub3RhdGVkLiBVbmtub3duCi0gICAgICAgYXJndW1lbnRzIGFyZSBwYXNzZWQgZGlyZWN0bHkgdG8gJ2dpdCBibGFtZScuCisJU2hvdyB3aGF0IHJldmlzaW9uIGFuZCBhdXRob3IgbGFzdCBtb2RpZmllZCBlYWNoIGxpbmUgb2YgYSBmaWxlLiBUaGUKKwlvdXRwdXQgb2YgdGhpcyBtb2RlIGlzIGZvcm1hdC1jb21wYXRpYmxlIHdpdGggdGhlIG91dHB1dCBvZgorCWBzdm4gYmxhbWUnIGJ5IGRlZmF1bHQuIExpa2UgdGhlIFNWTiBibGFtZSBjb21tYW5kLAorCWxvY2FsIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4gdGhlIHdvcmtpbmcgdHJlZSBhcmUgaWdub3JlZDsKKwl0aGUgdmVyc2lvbiBvZiB0aGUgZmlsZSBpbiB0aGUgSEVBRCByZXZpc2lvbiBpcyBhbm5vdGF0ZWQuIFVua25vd24KKwlhcmd1bWVudHMgYXJlIHBhc3NlZCBkaXJlY3RseSB0byAnZ2l0IGJsYW1lJy4KICsKIC0tZ2l0LWZvcm1hdDs7CiAJUHJvZHVjZSBvdXRwdXQgaW4gdGhlIHNhbWUgZm9ybWF0IGFzICdnaXQgYmxhbWUnLCBidXQgd2l0aApAQCAtNDM1LDggKzQ1NCw4IEBACiAJc3BlY2lmaWMgcmV2aXNpb24uCiAKICdnYyc6OgotCUNvbXByZXNzICRHSVRfRElSL3N2bi88cmVmbmFtZT4vdW5oYW5kbGVkLmxvZyBmaWxlcyBpbiAuZ2l0L3N2bgotCWFuZCByZW1vdmUgJEdJVF9ESVIvc3ZuLzxyZWZuYW1lPmluZGV4IGZpbGVzIGluIC5naXQvc3ZuLgorCUNvbXByZXNzICRHSVRfRElSL3N2bi88cmVmbmFtZT4vdW5oYW5kbGVkLmxvZyBmaWxlcyBhbmQgcmVtb3ZlCisJJEdJVF9ESVIvc3ZuLzxyZWZuYW1lPi9pbmRleCBmaWxlcy4KIAogJ3Jlc2V0Jzo6CiAJVW5kb2VzIHRoZSBlZmZlY3RzIG9mICdmZXRjaCcgYmFjayB0byB0aGUgc3BlY2lmaWVkIHJldmlzaW9uLgpAQCAtNDQ5LDkgKzQ2OCwxMCBAQAogCWZpbGUgY2Fubm90IGJlIGlnbm9yZWQgZm9yZXZlciAod2l0aCAtLWlnbm9yZS1wYXRocykgdGhlIG9ubHkKIAl3YXkgdG8gcmVwYWlyIHRoZSByZXBvIGlzIHRvIHVzZSAncmVzZXQnLgogKwotT25seSB0aGUgcmV2X21hcCBhbmQgcmVmcy9yZW1vdGVzL2dpdC1zdm4gYXJlIGNoYW5nZWQuICBGb2xsb3cgJ3Jlc2V0Jwotd2l0aCBhICdmZXRjaCcgYW5kIHRoZW4gJ2dpdCByZXNldCcgb3IgJ2dpdCByZWJhc2UnIHRvIG1vdmUgbG9jYWwKLWJyYW5jaGVzIG9udG8gdGhlIG5ldyB0cmVlLgorT25seSB0aGUgcmV2X21hcCBhbmQgcmVmcy9yZW1vdGVzL2dpdC1zdm4gYXJlIGNoYW5nZWQgKHNlZQorJyRHSVRfRElSL3N2bi9cKlwqLy5yZXZfbWFwLionIGluIHRoZSBGSUxFUyBzZWN0aW9uIGJlbG93IGZvciBkZXRhaWxzKS4KK0ZvbGxvdyAncmVzZXQnIHdpdGggYSAnZmV0Y2gnIGFuZCB0aGVuICdnaXQgcmVzZXQnIG9yICdnaXQgcmViYXNlJyB0bworbW92ZSBsb2NhbCBicmFuY2hlcyBvbnRvIHRoZSBuZXcgdHJlZS4KIAogLXIgPG4+OzsKIC0tcmV2aXNpb249PG4+OzsKQEAgLTY4NCw3ICs3MDQsNyBAQAogKwogVGhpcyBvcHRpb24gY2FuIG9ubHkgYmUgdXNlZCBmb3Igb25lLXNob3QgaW1wb3J0cyBhcyAnZ2l0IHN2bicKIHdpbGwgbm90IGJlIGFibGUgdG8gZmV0Y2ggYWdhaW4gd2l0aG91dCBtZXRhZGF0YS4gQWRkaXRpb25hbGx5LAotaWYgeW91IGxvc2UgeW91ciAuZ2l0L3N2bi8qKi8ucmV2X21hcC4qIGZpbGVzLCAnZ2l0IHN2bicgd2lsbCBub3QKK2lmIHlvdSBsb3NlIHlvdXIgJyRHSVRfRElSL3N2bi9cKlwqLy5yZXZfbWFwLionIGZpbGVzLCAnZ2l0IHN2bicgd2lsbCBub3QKIGJlIGFibGUgdG8gcmVidWlsZCB0aGVtLgogKwogVGhlICdnaXQgc3ZuIGxvZycgY29tbWFuZCB3aWxsIG5vdCB3b3JrIG9uIHJlcG9zaXRvcmllcyB1c2luZwpAQCAtODA0LDE2ICs4MjQsMTYgQEAKIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIENsb25lIGEgcmVwbyB3aXRoIHN0YW5kYXJkIFNWTiBkaXJlY3RvcnkgbGF5b3V0IChsaWtlIGdpdCBjbG9uZSk6Ci0JZ2l0IHN2biBjbG9uZSBodHRwOi8vc3ZuLmV4YW1wbGUuY29tL3Byb2plY3QgLS1zdGRsYXlvdXQKKwlnaXQgc3ZuIGNsb25lIGh0dHA6Ly9zdm4uZXhhbXBsZS5jb20vcHJvamVjdCAtLXN0ZGxheW91dCAtLXByZWZpeCBzdm4vCiAjIE9yLCBpZiB0aGUgcmVwbyB1c2VzIGEgbm9uLXN0YW5kYXJkIGRpcmVjdG9yeSBsYXlvdXQ6Ci0JZ2l0IHN2biBjbG9uZSBodHRwOi8vc3ZuLmV4YW1wbGUuY29tL3Byb2plY3QgLVQgdHIgLWIgYnJhbmNoIC10IHRhZworCWdpdCBzdm4gY2xvbmUgaHR0cDovL3N2bi5leGFtcGxlLmNvbS9wcm9qZWN0IC1UIHRyIC1iIGJyYW5jaCAtdCB0YWcgLS1wcmVmaXggc3ZuLwogIyBWaWV3IGFsbCBicmFuY2hlcyBhbmQgdGFncyB5b3UgaGF2ZSBjbG9uZWQ6CiAJZ2l0IGJyYW5jaCAtcgogIyBDcmVhdGUgYSBuZXcgYnJhbmNoIGluIFNWTgotICAgIGdpdCBzdm4gYnJhbmNoIHdhbGRvCisJZ2l0IHN2biBicmFuY2ggd2FsZG8KICMgUmVzZXQgeW91ciBtYXN0ZXIgdG8gdHJ1bmsgKG9yIGFueSBvdGhlciBicmFuY2gsIHJlcGxhY2luZyAndHJ1bmsnCiAjIHdpdGggdGhlIGFwcHJvcHJpYXRlIG5hbWUpOgotCWdpdCByZXNldCAtLWhhcmQgcmVtb3Rlcy90cnVuaworCWdpdCByZXNldCAtLWhhcmQgc3ZuL3RydW5rCiAjIFlvdSBtYXkgb25seSBkY29tbWl0IHRvIG9uZSBicmFuY2gvdGFnL3RydW5rIGF0IGEgdGltZS4gIFRoZSB1c2FnZQogIyBvZiBkY29tbWl0L3JlYmFzZS9zaG93LWlnbm9yZSBzaG91bGQgYmUgdGhlIHNhbWUgYXMgYWJvdmUuCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTgyNyw3ICs4NDcsNyBAQAogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgRG8gdGhlIGluaXRpYWwgaW1wb3J0IG9uIGEgc2VydmVyCi0Jc3NoIHNlcnZlciAiY2QgL3B1YiAmJiBnaXQgc3ZuIGNsb25lIGh0dHA6Ly9zdm4uZXhhbXBsZS5jb20vcHJvamVjdAorCXNzaCBzZXJ2ZXIgImNkIC9wdWIgJiYgZ2l0IHN2biBjbG9uZSBodHRwOi8vc3ZuLmV4YW1wbGUuY29tL3Byb2plY3QgW29wdGlvbnMuLi5dIgogIyBDbG9uZSBsb2NhbGx5IC0gbWFrZSBzdXJlIHRoZSByZWZzL3JlbW90ZXMvIHNwYWNlIG1hdGNoZXMgdGhlIHNlcnZlcgogCW1rZGlyIHByb2plY3QKIAljZCBwcm9qZWN0CkBAIC04NDAsOCArODYwLDkgQEAKIAlnaXQgY29uZmlnIC0tcmVtb3ZlLXNlY3Rpb24gcmVtb3RlLm9yaWdpbgogIyBDcmVhdGUgYSBsb2NhbCBicmFuY2ggZnJvbSBvbmUgb2YgdGhlIGJyYW5jaGVzIGp1c3QgZmV0Y2hlZAogCWdpdCBjaGVja291dCAtYiBtYXN0ZXIgRkVUQ0hfSEVBRAotIyBJbml0aWFsaXplICdnaXQgc3ZuJyBsb2NhbGx5IChiZSBzdXJlIHRvIHVzZSB0aGUgc2FtZSBVUkwgYW5kIC1ULy1iLy10IG9wdGlvbnMgYXMgd2VyZSB1c2VkIG9uIHNlcnZlcikKLQlnaXQgc3ZuIGluaXQgaHR0cDovL3N2bi5leGFtcGxlLmNvbS9wcm9qZWN0CisjIEluaXRpYWxpemUgJ2dpdCBzdm4nIGxvY2FsbHkgKGJlIHN1cmUgdG8gdXNlIHRoZSBzYW1lIFVSTCBhbmQKKyMgLS1zdGRsYXlvdXQvLVQvLWIvLXQvLS1wcmVmaXggb3B0aW9ucyBhcyB3ZXJlIHVzZWQgb24gc2VydmVyKQorCWdpdCBzdm4gaW5pdCBodHRwOi8vc3ZuLmV4YW1wbGUuY29tL3Byb2plY3QgW29wdGlvbnMuLi5dCiAjIFB1bGwgdGhlIGxhdGVzdCBjaGFuZ2VzIGZyb20gU3VidmVyc2lvbgogCWdpdCBzdm4gcmViYXNlCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTk3MywxMiArOTk0LDIyIEBACiBicmFuY2hlcyBhbmQgdGFncyBpcyByZXF1aXJlZCwgdGhlIG9wdGlvbnMgJy0tdHJ1bmsnIC8gJy0tYnJhbmNoZXMnIC8KICctLXRhZ3MnIG11c3QgYmUgdXNlZC4KIAorV2hlbiB1c2luZyB0aGUgb3B0aW9ucyBmb3IgZGVzY3JpYmluZyB0aGUgcmVwb3NpdG9yeSBsYXlvdXQgKC0tdHJ1bmssCistLXRhZ3MsIC0tYnJhbmNoZXMsIC0tc3RkbGF5b3V0KSwgcGxlYXNlIGFsc28gc3BlY2lmeSB0aGUgLS1wcmVmaXgKK29wdGlvbiAoZS5nLiAnLS1wcmVmaXg9b3JpZ2luLycpIHRvIGNhdXNlIHlvdXIgU1ZOLXRyYWNraW5nIHJlZnMgdG8gYmUKK3BsYWNlZCBhdCByZWZzL3JlbW90ZXMvb3JpZ2luLyogcmF0aGVyIHRoYW4gdGhlIGRlZmF1bHQgcmVmcy9yZW1vdGVzLyouCitUaGUgZm9ybWVyIGlzIG1vcmUgY29tcGF0aWJsZSB3aXRoIHRoZSBsYXlvdXQgb2YgR2l0J3MgInJlZ3VsYXIiCityZW1vdGUtdHJhY2tpbmcgcmVmcyAocmVmcy9yZW1vdGVzLyRyZW1vdGUvKiksIGFuZCBtYXkgcG90ZW50aWFsbHkKK3ByZXZlbnQgc2ltaWxhcmx5IG5hbWVkIFNWTiBicmFuY2hlcyBhbmQgR2l0IHJlbW90ZXMgZnJvbSBjbG9iYmVyaW5nCitlYWNoIG90aGVyLiBJbiBHaXQgdjIuMCB0aGUgZGVmYXVsdCBwcmVmaXggdXNlZCAoaS5lLiB3aGVuIG5vIC0tcHJlZml4CitpcyBnaXZlbikgd2lsbCBjaGFuZ2UgZnJvbSAiIiAobm8gcHJlZml4KSB0byAib3JpZ2luLyIuCisKIFdoZW4gdXNpbmcgbXVsdGlwbGUgLS1icmFuY2hlcyBvciAtLXRhZ3MsICdnaXQgc3ZuJyBkb2VzIG5vdCBhdXRvbWF0aWNhbGx5CiBoYW5kbGUgbmFtZSBjb2xsaXNpb25zIChmb3IgZXhhbXBsZSwgaWYgdHdvIGJyYW5jaGVzIGZyb20gZGlmZmVyZW50IHBhdGhzIGhhdmUKIHRoZSBzYW1lIG5hbWUsIG9yIGlmIGEgYnJhbmNoIGFuZCBhIHRhZyBoYXZlIHRoZSBzYW1lIG5hbWUpLiAgSW4gdGhlc2UgY2FzZXMsCiB1c2UgJ2luaXQnIHRvIHNldCB1cCB5b3VyIEdpdCByZXBvc2l0b3J5IHRoZW4sIGJlZm9yZSB5b3VyIGZpcnN0ICdmZXRjaCcsIGVkaXQKLXRoZSAuZ2l0L2NvbmZpZyBmaWxlIHNvIHRoYXQgdGhlIGJyYW5jaGVzIGFuZCB0YWdzIGFyZSBhc3NvY2lhdGVkIHdpdGgKLWRpZmZlcmVudCBuYW1lIHNwYWNlcy4gIEZvciBleGFtcGxlOgordGhlICRHSVRfRElSL2NvbmZpZyBmaWxlIHNvIHRoYXQgdGhlIGJyYW5jaGVzIGFuZCB0YWdzIGFyZSBhc3NvY2lhdGVkCit3aXRoIGRpZmZlcmVudCBuYW1lIHNwYWNlcy4gIEZvciBleGFtcGxlOgogCiAJYnJhbmNoZXMgPSBzdGFibGUvKjpyZWZzL3JlbW90ZXMvc3ZuL3N0YWJsZS8qCiAJYnJhbmNoZXMgPSBkZWJ1Zy8qOnJlZnMvcmVtb3Rlcy9zdm4vZGVidWcvKgpAQCAtMTAwNiw3ICsxMDM3LDcgQEAKIC0tLS0tLS0tLS0tLS0KIAogJ2dpdCBzdm4nIHN0b3JlcyBbc3ZuLXJlbW90ZV0gY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBpbiB0aGUKLXJlcG9zaXRvcnkgLmdpdC9jb25maWcgZmlsZS4gIEl0IGlzIHNpbWlsYXIgdGhlIGNvcmUgR2l0CityZXBvc2l0b3J5ICRHSVRfRElSL2NvbmZpZyBmaWxlLiAgSXQgaXMgc2ltaWxhciB0aGUgY29yZSBHaXQKIFtyZW1vdGVdIHNlY3Rpb25zIGV4Y2VwdCAnZmV0Y2gnIGtleXMgZG8gbm90IGFjY2VwdCBnbG9iCiBhcmd1bWVudHM7IGJ1dCB0aGV5IGFyZSBpbnN0ZWFkIGhhbmRsZWQgYnkgdGhlICdicmFuY2hlcycKIGFuZCAndGFncycga2V5cy4gIFNpbmNlIHNvbWUgU1ZOIHJlcG9zaXRvcmllcyBhcmUgb2RkbHkKQEAgLTEwMzUsOCArMTA2Niw4IEBACiBbc3ZuLXJlbW90ZSAiaHVnZS1wcm9qZWN0Il0KIAl1cmwgPSBodHRwOi8vc2VydmVyLm9yZy9zdm4KIAlmZXRjaCA9IHRydW5rL3NyYzpyZWZzL3JlbW90ZXMvdHJ1bmsKLQlicmFuY2hlcyA9IGJyYW5jaGVzL3tyZWQsZ3JlZW59L3NyYzpyZWZzL3JlbW90ZXMvYnJhbmNoZXMvKgotCXRhZ3MgPSB0YWdzL3sxLjAsMi4wfS9zcmM6cmVmcy9yZW1vdGVzL3RhZ3MvKgorCWJyYW5jaGVzID0gYnJhbmNoZXMve3JlZCxncmVlbn0vc3JjOnJlZnMvcmVtb3Rlcy9wcm9qZWN0LWEvYnJhbmNoZXMvKgorCXRhZ3MgPSB0YWdzL3sxLjAsMi4wfS9zcmM6cmVmcy9yZW1vdGVzL3Byb2plY3QtYS90YWdzLyoKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBNdWx0aXBsZSBmZXRjaCwgYnJhbmNoZXMsIGFuZCB0YWdzIGtleXMgYXJlIHN1cHBvcnRlZDoKQEAgLTEwNjAsOCArMTA5MSwyMSBAQAogCiBOb3RlIHRoYXQgZ2l0LXN2biBrZWVwcyB0cmFjayBvZiB0aGUgaGlnaGVzdCByZXZpc2lvbiBpbiB3aGljaCBhIGJyYW5jaAogb3IgdGFnIGhhcyBhcHBlYXJlZC4gSWYgdGhlIHN1YnNldCBvZiBicmFuY2hlcyBvciB0YWdzIGlzIGNoYW5nZWQgYWZ0ZXIKLWZldGNoaW5nLCB0aGVuIC5naXQvc3ZuLy5tZXRhZGF0YSBtdXN0IGJlIG1hbnVhbGx5IGVkaXRlZCB0byByZW1vdmUgKG9yCi1yZXNldCkgYnJhbmNoZXMtbWF4UmV2IGFuZC9vciB0YWdzLW1heFJldiBhcyBhcHByb3ByaWF0ZS4KK2ZldGNoaW5nLCB0aGVuICRHSVRfRElSL3N2bi8ubWV0YWRhdGEgbXVzdCBiZSBtYW51YWxseSBlZGl0ZWQgdG8gcmVtb3ZlCisob3IgcmVzZXQpIGJyYW5jaGVzLW1heFJldiBhbmQvb3IgdGFncy1tYXhSZXYgYXMgYXBwcm9wcmlhdGUuCisKK0ZJTEVTCistLS0tLQorJEdJVF9ESVIvc3ZuL1wqXCovLnJldl9tYXAuKjo6CisJTWFwcGluZyBiZXR3ZWVuIFN1YnZlcnNpb24gcmV2aXNpb24gbnVtYmVycyBhbmQgR2l0IGNvbW1pdAorCW5hbWVzLiAgSW4gYSByZXBvc2l0b3J5IHdoZXJlIHRoZSBub01ldGFkYXRhIG9wdGlvbiBpcyBub3Qgc2V0LAorCXRoaXMgY2FuIGJlIHJlYnVpbHQgZnJvbSB0aGUgZ2l0LXN2bi1pZDogbGluZXMgdGhhdCBhcmUgYXQgdGhlCisJZW5kIG9mIGV2ZXJ5IGNvbW1pdCAoc2VlIHRoZSAnc3ZuLm5vTWV0YWRhdGEnIHNlY3Rpb24gYWJvdmUgZm9yCisJZGV0YWlscykuCisrCisnZ2l0IHN2biBmZXRjaCcgYW5kICdnaXQgc3ZuIHJlYmFzZScgYXV0b21hdGljYWxseSB1cGRhdGUgdGhlIHJldl9tYXAKK2lmIGl0IGlzIG1pc3Npbmcgb3Igbm90IHVwIHRvIGRhdGUuICAnZ2l0IHN2biByZXNldCcgYXV0b21hdGljYWxseQorcmV3aW5kcyBpdC4KIAogU0VFIEFMU08KIC0tLS0tLS0tCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC10YWcudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtdGFnLnR4dAppbmRleCBjNDE4YzQ0Li40MDQyNTdkIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC10YWcudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXRhZy50eHQKQEAgLTEwMyw4ICsxMDMsOSBAQAogKwogVGhpcyBvcHRpb24gaXMgb25seSBhcHBsaWNhYmxlIHdoZW4gbGlzdGluZyB0YWdzIHdpdGhvdXQgYW5ub3RhdGlvbiBsaW5lcy4KIAotLS1jb250YWlucyA8Y29tbWl0Pjo6Ci0JT25seSBsaXN0IHRhZ3Mgd2hpY2ggY29udGFpbiB0aGUgc3BlY2lmaWVkIGNvbW1pdC4KKy0tY29udGFpbnMgWzxjb21taXQ+XTo6CisJT25seSBsaXN0IHRhZ3Mgd2hpY2ggY29udGFpbiB0aGUgc3BlY2lmaWVkIGNvbW1pdCAoSEVBRCBpZiBub3QKKwlzcGVjaWZpZWQpLgogCiAtLXBvaW50cy1hdCA8b2JqZWN0Pjo6CiAJT25seSBsaXN0IHRhZ3Mgb2YgdGhlIGdpdmVuIG9iamVjdC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXRhci10cmVlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXRhci10cmVlLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjczNjJkYy4uMDAwMDAwMAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC10YXItdHJlZS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4MiArMCwwIEBACi1naXQtdGFyLXRyZWUoMSkKLT09PT09PT09PT09PT09PQotCi1OQU1FCi0tLS0tCi1naXQtdGFyLXRyZWUgLSBDcmVhdGUgYSB0YXIgYXJjaGl2ZSBvZiB0aGUgZmlsZXMgaW4gdGhlIG5hbWVkIHRyZWUgb2JqZWN0Ci0KLQotU1lOT1BTSVMKLS0tLS0tLS0tCi1bdmVyc2VdCi0nZ2l0IHRhci10cmVlJyBbLS1yZW1vdGU9PHJlcG8+XSA8dHJlZS1pc2g+IFsgPGJhc2U+IF0KLQotREVTQ1JJUFRJT04KLS0tLS0tLS0tLS0tCi1USElTIENPTU1BTkQgSVMgREVQUkVDQVRFRC4gIFVzZSAnZ2l0IGFyY2hpdmUnIHdpdGggYC0tZm9ybWF0PXRhcmAKLW9wdGlvbiBpbnN0ZWFkIChhbmQgbW92ZSB0aGUgPGJhc2U+IGFyZ3VtZW50IHRvIGAtLXByZWZpeD1iYXNlL2ApLgotCi1DcmVhdGVzIGEgdGFyIGFyY2hpdmUgY29udGFpbmluZyB0aGUgdHJlZSBzdHJ1Y3R1cmUgZm9yIHRoZSBuYW1lZCB0cmVlLgotV2hlbiA8YmFzZT4gaXMgc3BlY2lmaWVkIGl0IGlzIGFkZGVkIGFzIGEgbGVhZGluZyBwYXRoIHRvIHRoZSBmaWxlcyBpbiB0aGUKLWdlbmVyYXRlZCB0YXIgYXJjaGl2ZS4KLQotJ2dpdCB0YXItdHJlZScgYmVoYXZlcyBkaWZmZXJlbnRseSB3aGVuIGdpdmVuIGEgdHJlZSBJRCB2ZXJzdXMgd2hlbiBnaXZlbgotYSBjb21taXQgSUQgb3IgdGFnIElELiAgSW4gdGhlIGZpcnN0IGNhc2UgdGhlIGN1cnJlbnQgdGltZSBpcyB1c2VkIGFzCi1tb2RpZmljYXRpb24gdGltZSBvZiBlYWNoIGZpbGUgaW4gdGhlIGFyY2hpdmUuICBJbiB0aGUgbGF0dGVyIGNhc2UgdGhlCi1jb21taXQgdGltZSBhcyByZWNvcmRlZCBpbiB0aGUgcmVmZXJlbmNlZCBjb21taXQgb2JqZWN0IGlzIHVzZWQgaW5zdGVhZC4KLUFkZGl0aW9uYWxseSB0aGUgY29tbWl0IElEIGlzIHN0b3JlZCBpbiBhIGdsb2JhbCBleHRlbmRlZCBwYXggaGVhZGVyLgotSXQgY2FuIGJlIGV4dHJhY3RlZCB1c2luZyAnZ2l0IGdldC10YXItY29tbWl0LWlkJy4KLQotT1BUSU9OUwotLS0tLS0tLQotCi08dHJlZS1pc2g+OjoKLQlUaGUgdHJlZSBvciBjb21taXQgdG8gcHJvZHVjZSB0YXIgYXJjaGl2ZSBmb3IuICBJZiBpdCBpcwotCXRoZSBvYmplY3QgbmFtZSBvZiBhIGNvbW1pdCBvYmplY3QuCi0KLTxiYXNlPjo6Ci0JTGVhZGluZyBwYXRoIHRvIHRoZSBmaWxlcyBpbiB0aGUgcmVzdWx0aW5nIHRhciBhcmNoaXZlLgotCi0tLXJlbW90ZT08cmVwbz46OgotCUluc3RlYWQgb2YgbWFraW5nIGEgdGFyIGFyY2hpdmUgZnJvbSBsb2NhbCByZXBvc2l0b3J5LAotCXJldHJpZXZlIGEgdGFyIGFyY2hpdmUgZnJvbSBhIHJlbW90ZSByZXBvc2l0b3J5LgotCi1DT05GSUdVUkFUSU9OCi0tLS0tLS0tLS0tLS0tCi0KLXRhci51bWFzazo6Ci0JVGhpcyB2YXJpYWJsZSBjYW4gYmUgdXNlZCB0byByZXN0cmljdCB0aGUgcGVybWlzc2lvbiBiaXRzIG9mCi0JdGFyIGFyY2hpdmUgZW50cmllcy4gIFRoZSBkZWZhdWx0IGlzIDAwMDIsIHdoaWNoIHR1cm5zIG9mZiB0aGUKLQl3b3JsZCB3cml0ZSBiaXQuICBUaGUgc3BlY2lhbCB2YWx1ZSAidXNlciIgaW5kaWNhdGVzIHRoYXQgdGhlCi0JYXJjaGl2aW5nIHVzZXIncyB1bWFzayB3aWxsIGJlIHVzZWQgaW5zdGVhZC4gIFNlZSB1bWFzaygyKSBmb3IKLQlkZXRhaWxzLgotCi1FWEFNUExFUwotLS0tLS0tLS0KLWBnaXQgdGFyLXRyZWUgSEVBRCBqdW5rIHwgKGNkIC92YXIvdG1wLyAmJiB0YXIgeGYgLSlgOjoKLQotCUNyZWF0ZSBhIHRhciBhcmNoaXZlIHRoYXQgY29udGFpbnMgdGhlIGNvbnRlbnRzIG9mIHRoZQotCWxhdGVzdCBjb21taXQgb24gdGhlIGN1cnJlbnQgYnJhbmNoLCBhbmQgZXh0cmFjdHMgaXQgaW4KLQlgL3Zhci90bXAvanVua2AgZGlyZWN0b3J5LgotCi1gZ2l0IHRhci10cmVlIHYxLjQuMCBnaXQtMS40LjAgfCBnemlwID5naXQtMS40LjAudGFyLmd6YDo6Ci0KLQlDcmVhdGUgYSB0YXJiYWxsIGZvciB2MS40LjAgcmVsZWFzZS4KLQotYGdpdCB0YXItdHJlZSB2MS40LjBee3RyZWV9IGdpdC0xLjQuMCB8IGd6aXAgPmdpdC0xLjQuMC50YXIuZ3pgOjoKLQotCUNyZWF0ZSBhIHRhcmJhbGwgZm9yIHYxLjQuMCByZWxlYXNlLCBidXQgd2l0aG91dCBhCi0JZ2xvYmFsIGV4dGVuZGVkIHBheCBoZWFkZXIuCi0KLWBnaXQgdGFyLXRyZWUgLS1yZW1vdGU9ZXhhbXBsZS5jb206Z2l0LmdpdCB2MS40LjAgPmdpdC0xLjQuMC50YXJgOjoKLQotCUdldCBhIHRhcmJhbGwgdjEuNC4wIGZyb20gZXhhbXBsZS5jb20uCi0KLWBnaXQgdGFyLXRyZWUgSEVBRDpEb2N1bWVudGF0aW9uLyBnaXQtZG9jcyA+IGdpdC0xLjQuMC1kb2NzLnRhcmA6OgotCi0JUHV0IGV2ZXJ5dGhpbmcgaW4gdGhlIGN1cnJlbnQgaGVhZCdzIERvY3VtZW50YXRpb24vIGRpcmVjdG9yeQotCWludG8gJ2dpdC0xLjQuMC1kb2NzLnRhcicsIHdpdGggdGhlIHByZWZpeCAnZ2l0LWRvY3MvJy4KLQotR0lUCi0tLS0KLVBhcnQgb2YgdGhlIGxpbmtnaXQ6Z2l0WzFdIHN1aXRlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC11cGRhdGUtcmVmLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXVwZGF0ZS1yZWYudHh0CmluZGV4IDBkZjEzZmYuLjBhMGE1NTEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXVwZGF0ZS1yZWYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXVwZGF0ZS1yZWYudHh0CkBAIC04LDcgKzgsNyBAQAogU1lOT1BTSVMKIC0tLS0tLS0tCiBbdmVyc2VdCi0nZ2l0IHVwZGF0ZS1yZWYnIFstbSA8cmVhc29uPl0gKC1kIDxyZWY+IFs8b2xkdmFsdWU+XSB8IFstLW5vLWRlcmVmXSA8cmVmPiA8bmV3dmFsdWU+IFs8b2xkdmFsdWU+XSkKKydnaXQgdXBkYXRlLXJlZicgWy1tIDxyZWFzb24+XSAoLWQgPHJlZj4gWzxvbGR2YWx1ZT5dIHwgWy0tbm8tZGVyZWZdIDxyZWY+IDxuZXd2YWx1ZT4gWzxvbGR2YWx1ZT5dIHwgLS1zdGRpbiBbLXpdKQogCiBERVNDUklQVElPTgogLS0tLS0tLS0tLS0KQEAgLTU4LDYgKzU4LDU4IEBACiBXaXRoIGAtZGAgZmxhZywgaXQgZGVsZXRlcyB0aGUgbmFtZWQgPHJlZj4gYWZ0ZXIgdmVyaWZ5aW5nIGl0CiBzdGlsbCBjb250YWlucyA8b2xkdmFsdWU+LgogCitXaXRoIGAtLXN0ZGluYCwgdXBkYXRlLXJlZiByZWFkcyBpbnN0cnVjdGlvbnMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQKK3BlcmZvcm1zIGFsbCBtb2RpZmljYXRpb25zIHRvZ2V0aGVyLiAgU3BlY2lmeSBjb21tYW5kcyBvZiB0aGUgZm9ybToKKworCXVwZGF0ZSBTUCA8cmVmPiBTUCA8bmV3dmFsdWU+IFtTUCA8b2xkdmFsdWU+XSBMRgorCWNyZWF0ZSBTUCA8cmVmPiBTUCA8bmV3dmFsdWU+IExGCisJZGVsZXRlIFNQIDxyZWY+IFtTUCA8b2xkdmFsdWU+XSBMRgorCXZlcmlmeSBTUCA8cmVmPiBbU1AgPG9sZHZhbHVlPl0gTEYKKwlvcHRpb24gU1AgPG9wdD4gTEYKKworUXVvdGUgZmllbGRzIGNvbnRhaW5pbmcgd2hpdGVzcGFjZSBhcyBpZiB0aGV5IHdlcmUgc3RyaW5ncyBpbiBDIHNvdXJjZQorY29kZS4gIEFsdGVybmF0aXZlbHksIHVzZSBgLXpgIHRvIHNwZWNpZnkgY29tbWFuZHMgd2l0aG91dCBxdW90aW5nOgorCisJdXBkYXRlIFNQIDxyZWY+IE5VTCA8bmV3dmFsdWU+IE5VTCBbPG9sZHZhbHVlPl0gTlVMCisJY3JlYXRlIFNQIDxyZWY+IE5VTCA8bmV3dmFsdWU+IE5VTAorCWRlbGV0ZSBTUCA8cmVmPiBOVUwgWzxvbGR2YWx1ZT5dIE5VTAorCXZlcmlmeSBTUCA8cmVmPiBOVUwgWzxvbGR2YWx1ZT5dIE5VTAorCW9wdGlvbiBTUCA8b3B0PiBOVUwKKworTGluZXMgb2YgYW55IG90aGVyIGZvcm1hdCBvciBhIHJlcGVhdGVkIDxyZWY+IHByb2R1Y2UgYW4gZXJyb3IuCitDb21tYW5kIG1lYW5pbmdzIGFyZToKKwordXBkYXRlOjoKKwlTZXQgPHJlZj4gdG8gPG5ld3ZhbHVlPiBhZnRlciB2ZXJpZnlpbmcgPG9sZHZhbHVlPiwgaWYgZ2l2ZW4uCisJU3BlY2lmeSBhIHplcm8gPG5ld3ZhbHVlPiB0byBlbnN1cmUgdGhlIHJlZiBkb2VzIG5vdCBleGlzdAorCWFmdGVyIHRoZSB1cGRhdGUgYW5kL29yIGEgemVybyA8b2xkdmFsdWU+IHRvIG1ha2Ugc3VyZSB0aGUKKwlyZWYgZG9lcyBub3QgZXhpc3QgYmVmb3JlIHRoZSB1cGRhdGUuCisKK2NyZWF0ZTo6CisJQ3JlYXRlIDxyZWY+IHdpdGggPG5ld3ZhbHVlPiBhZnRlciB2ZXJpZnlpbmcgaXQgZG9lcyBub3QKKwlleGlzdC4gIFRoZSBnaXZlbiA8bmV3dmFsdWU+IG1heSBub3QgYmUgemVyby4KKworZGVsZXRlOjoKKwlEZWxldGUgPHJlZj4gYWZ0ZXIgdmVyaWZ5aW5nIGl0IGV4aXN0cyB3aXRoIDxvbGR2YWx1ZT4sIGlmCisJZ2l2ZW4uICBJZiBnaXZlbiwgPG9sZHZhbHVlPiBtYXkgbm90IGJlIHplcm8uCisKK3ZlcmlmeTo6CisJVmVyaWZ5IDxyZWY+IGFnYWluc3QgPG9sZHZhbHVlPiBidXQgZG8gbm90IGNoYW5nZSBpdC4gIElmCisJPG9sZHZhbHVlPiB6ZXJvIG9yIG1pc3NpbmcsIHRoZSByZWYgbXVzdCBub3QgZXhpc3QuCisKK29wdGlvbjo6CisJTW9kaWZ5IGJlaGF2aW9yIG9mIHRoZSBuZXh0IGNvbW1hbmQgbmFtaW5nIGEgPHJlZj4uCisJVGhlIG9ubHkgdmFsaWQgb3B0aW9uIGlzIGBuby1kZXJlZmAgdG8gYXZvaWQgZGVyZWZlcmVuY2luZworCWEgc3ltYm9saWMgcmVmLgorCitVc2UgNDAgIjAiIG9yIHRoZSBlbXB0eSBzdHJpbmcgdG8gc3BlY2lmeSBhIHplcm8gdmFsdWUsIGV4Y2VwdCB0aGF0Cit3aXRoIGAtemAgYW4gZW1wdHkgPG9sZHZhbHVlPiBpcyBjb25zaWRlcmVkIG1pc3NpbmcuCisKK0lmIGFsbCA8cmVmPnMgY2FuIGJlIGxvY2tlZCB3aXRoIG1hdGNoaW5nIDxvbGR2YWx1ZT5zCitzaW11bHRhbmVvdXNseSwgYWxsIG1vZGlmaWNhdGlvbnMgYXJlIHBlcmZvcm1lZC4gIE90aGVyd2lzZSwgbm8KK21vZGlmaWNhdGlvbnMgYXJlIHBlcmZvcm1lZC4gIE5vdGUgdGhhdCB3aGlsZSBlYWNoIGluZGl2aWR1YWwKKzxyZWY+IGlzIHVwZGF0ZWQgb3IgZGVsZXRlZCBhdG9taWNhbGx5LCBhIGNvbmN1cnJlbnQgcmVhZGVyIG1heQorc3RpbGwgc2VlIGEgc3Vic2V0IG9mIHRoZSBtb2RpZmljYXRpb25zLgogCiBMb2dnaW5nIFVwZGF0ZXMKIC0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtd2ViLS1icm93c2UudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtd2ViLS1icm93c2UudHh0CmluZGV4IDVhZWM0ZWMuLjJkZTU3NWYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXdlYi0tYnJvd3NlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC13ZWItLWJyb3dzZS50eHQKQEAgLTM1LDYgKzM1LDcgQEAKICogb3BlbiAodGhpcyBpcyB0aGUgZGVmYXVsdCB1bmRlciBNYWMgT1MgWCBHVUkpCiAqIHN0YXJ0ICh0aGlzIGlzIHRoZSBkZWZhdWx0IHVuZGVyIE1pbkdXKQogKiBjeWdzdGFydCAodGhpcyBpcyB0aGUgZGVmYXVsdCB1bmRlciBDeWd3aW4pCisqIHhkZy1vcGVuCiAKIEN1c3RvbSBjb21tYW5kcyBtYXkgYWxzbyBiZSBzcGVjaWZpZWQuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXdoYXRjaGFuZ2VkLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXdoYXRjaGFuZ2VkLnR4dAppbmRleCBjNjAwYjYxLi44YjYzY2ViIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC13aGF0Y2hhbmdlZC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtd2hhdGNoYW5nZWQudHh0CkBAIC0xMyw0MyArMTMsMTcgQEAKIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCi1TaG93cyBjb21taXQgbG9ncyBhbmQgZGlmZiBvdXRwdXQgZWFjaCBjb21taXQgaW50cm9kdWNlcy4gIFRoZQotY29tbWFuZCBpbnRlcm5hbGx5IGludm9rZXMgJ2dpdCByZXYtbGlzdCcgcGlwZWQgdG8KLSdnaXQgZGlmZi10cmVlJywgYW5kIHRha2VzIGNvbW1hbmQgbGluZSBvcHRpb25zIGZvciBib3RoIG9mCi10aGVzZSBjb21tYW5kcy4KIAotVGhpcyBtYW51YWwgcGFnZSBkZXNjcmliZXMgb25seSB0aGUgbW9zdCBmcmVxdWVudGx5IHVzZWQgb3B0aW9ucy4KK1Nob3dzIGNvbW1pdCBsb2dzIGFuZCBkaWZmIG91dHB1dCBlYWNoIGNvbW1pdCBpbnRyb2R1Y2VzLgogCitOZXcgdXNlcnMgYXJlIGVuY291cmFnZWQgdG8gdXNlIGxpbmtnaXQ6Z2l0LWxvZ1sxXSBpbnN0ZWFkLiAgVGhlCitgd2hhdGNoYW5nZWRgIGNvbW1hbmQgaXMgZXNzZW50aWFsbHkgdGhlIHNhbWUgYXMgbGlua2dpdDpnaXQtbG9nWzFdCitidXQgZGVmYXVsdHMgdG8gc2hvdyB0aGUgcmF3IGZvcm1hdCBkaWZmIG91dHB1dCBhbmQgdG8gc2tpcCBtZXJnZXMuCiAKLU9QVElPTlMKLS0tLS0tLS0KLS1wOjoKLQlTaG93IHRleHR1YWwgZGlmZnMsIGluc3RlYWQgb2YgdGhlIEdpdCBpbnRlcm5hbCBkaWZmCi0Jb3V0cHV0IGZvcm1hdCB0aGF0IGlzIHVzZWZ1bCBvbmx5IHRvIHRlbGwgdGhlIGNoYW5nZWQKLQlwYXRocyBhbmQgdGhlaXIgbmF0dXJlIG9mIGNoYW5nZXMuCitUaGUgY29tbWFuZCBpcyBrZXB0IHByaW1hcmlseSBmb3IgaGlzdG9yaWNhbCByZWFzb25zOyBmaW5nZXJzIG9mCittYW55IHBlb3BsZSB3aG8gbGVhcm5lZCBHaXQgbG9uZyBiZWZvcmUgYGdpdCBsb2dgIHdhcyBpbnZlbnRlZCBieQorcmVhZGluZyBMaW51eCBrZXJuZWwgbWFpbGluZyBsaXN0IGFyZSB0cmFpbmVkIHRvIHR5cGUgaXQuCiAKLS08bj46OgotCUxpbWl0IG91dHB1dCB0byA8bj4gY29tbWl0cy4KLQotPHNpbmNlPi4uPHVudGlsPjo6Ci0JTGltaXQgb3V0cHV0IHRvIGJldHdlZW4gdGhlIHR3byBuYW1lZCBjb21taXRzIChib3R0b20KLQlleGNsdXNpdmUsIHRvcCBpbmNsdXNpdmUpLgotCi0tcjo6Ci0JU2hvdyBHaXQgaW50ZXJuYWwgZGlmZiBvdXRwdXQsIGJ1dCBmb3IgdGhlIHdob2xlIHRyZWUsCi0Jbm90IGp1c3QgdGhlIHRvcCBsZXZlbC4KLQotLW06OgotCUJ5IGRlZmF1bHQsIGRpZmZlcmVuY2VzIGZvciBtZXJnZSBjb21taXRzIGFyZSBub3Qgc2hvd24uCi0JV2l0aCB0aGlzIGZsYWcsIHNob3cgZGlmZmVyZW5jZXMgdG8gdGhhdCBjb21taXQgZnJvbSBhbGwKLQlvZiBpdHMgcGFyZW50cy4KLSsKLUhvd2V2ZXIsIGl0IGlzIG5vdCB2ZXJ5IHVzZWZ1bCBpbiBnZW5lcmFsLCBhbHRob3VnaCBpdAotKmlzKiB1c2VmdWwgb24gYSBmaWxlLWJ5LWZpbGUgYmFzaXMuCi0KLWluY2x1ZGU6OnByZXR0eS1vcHRpb25zLnR4dFtdCi0KLWluY2x1ZGU6OnByZXR0eS1mb3JtYXRzLnR4dFtdCiAKIEV4YW1wbGVzCiAtLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQudHh0CmluZGV4IDhmN2E0NjAuLjAzYWFhMTAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC50eHQKQEAgLTksNyArOSw3IEBACiBTWU5PUFNJUwogLS0tLS0tLS0KIFt2ZXJzZV0KLSdnaXQnIFstLXZlcnNpb25dIFstLWhlbHBdIFstYyA8bmFtZT49PHZhbHVlPl0KKydnaXQnIFstLXZlcnNpb25dIFstLWhlbHBdIFstQyA8cGF0aD5dIFstYyA8bmFtZT49PHZhbHVlPl0KICAgICBbLS1leGVjLXBhdGhbPTxwYXRoPl1dIFstLWh0bWwtcGF0aF0gWy0tbWFuLXBhdGhdIFstLWluZm8tcGF0aF0KICAgICBbLXB8LS1wYWdpbmF0ZXwtLW5vLXBhZ2VyXSBbLS1uby1yZXBsYWNlLW9iamVjdHNdIFstLWJhcmVdCiAgICAgWy0tZ2l0LWRpcj08cGF0aD5dIFstLXdvcmstdHJlZT08cGF0aD5dIFstLW5hbWVzcGFjZT08bmFtZT5dCkBAIC00Myw2ICs0MywxNSBAQAogYnJhbmNoIG9mIHRoZSBgZ2l0LmdpdGAgcmVwb3NpdG9yeS4KIERvY3VtZW50YXRpb24gZm9yIG9sZGVyIHJlbGVhc2VzIGFyZSBhdmFpbGFibGUgaGVyZToKIAorKiBsaW5rOnYxLjguNS40L2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMS44LjUuNF0KKworKiByZWxlYXNlIG5vdGVzIGZvcgorICBsaW5rOlJlbE5vdGVzLzEuOC41LjQudHh0WzEuOC41LjRdLAorICBsaW5rOlJlbE5vdGVzLzEuOC41LjMudHh0WzEuOC41LjNdLAorICBsaW5rOlJlbE5vdGVzLzEuOC41LjIudHh0WzEuOC41LjJdLAorICBsaW5rOlJlbE5vdGVzLzEuOC41LjEudHh0WzEuOC41LjFdLAorICBsaW5rOlJlbE5vdGVzLzEuOC41LnR4dFsxLjguNV0uCisKICogbGluazp2MS44LjQuNS9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDEuOC40LjVdCiAKICogcmVsZWFzZSBub3RlcyBmb3IKQEAgLTQwMCw2ICs0MDksMjAgQEAKIGJlY2F1c2UgYGdpdCAtLWhlbHAgLi4uYCBpcyBjb252ZXJ0ZWQgaW50ZXJuYWxseSBpbnRvIGBnaXQKIGhlbHAgLi4uYC4KIAorLUMgPHBhdGg+OjoKKwlSdW4gYXMgaWYgZ2l0IHdhcyBzdGFydGVkIGluICc8cGF0aD4nIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgd29ya2luZworCWRpcmVjdG9yeS4gIFdoZW4gbXVsdGlwbGUgYC1DYCBvcHRpb25zIGFyZSBnaXZlbiwgZWFjaCBzdWJzZXF1ZW50CisJbm9uLWFic29sdXRlIGAtQyA8cGF0aD5gIGlzIGludGVycHJldGVkIHJlbGF0aXZlIHRvIHRoZSBwcmVjZWRpbmcgYC1DCisJPHBhdGg+YC4KKysKK1RoaXMgb3B0aW9uIGFmZmVjdHMgb3B0aW9ucyB0aGF0IGV4cGVjdCBwYXRoIG5hbWUgbGlrZSBgLS1naXQtZGlyYCBhbmQKK2AtLXdvcmstdHJlZWAgaW4gdGhhdCB0aGVpciBpbnRlcnByZXRhdGlvbnMgb2YgdGhlIHBhdGggbmFtZXMgd291bGQgYmUKK21hZGUgcmVsYXRpdmUgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGNhdXNlZCBieSB0aGUgYC1DYCBvcHRpb24uIEZvcgorZXhhbXBsZSB0aGUgZm9sbG93aW5nIGludm9jYXRpb25zIGFyZSBlcXVpdmFsZW50OgorCisgICAgZ2l0IC0tZ2l0LWRpcj1hLmdpdCAtLXdvcmstdHJlZT1iIC1DIGMgc3RhdHVzCisgICAgZ2l0IC0tZ2l0LWRpcj1jL2EuZ2l0IC0td29yay10cmVlPWMvYiBzdGF0dXMKKwogLWMgPG5hbWU+PTx2YWx1ZT46OgogCVBhc3MgYSBjb25maWd1cmF0aW9uIHBhcmFtZXRlciB0byB0aGUgY29tbWFuZC4gVGhlIHZhbHVlCiAJZ2l2ZW4gd2lsbCBvdmVycmlkZSB2YWx1ZXMgZnJvbSBjb25maWd1cmF0aW9uIGZpbGVzLgpAQCAtNDYyLDEwICs0ODUsMjUgQEAKIAlsaW5rZ2l0OmdpdC1yZXBsYWNlWzFdIGZvciBtb3JlIGluZm9ybWF0aW9uLgogCiAtLWxpdGVyYWwtcGF0aHNwZWNzOjoKLQlUcmVhdCBwYXRoc3BlY3MgbGl0ZXJhbGx5LCByYXRoZXIgdGhhbiBhcyBnbG9iIHBhdHRlcm5zLiBUaGlzIGlzCi0JZXF1aXZhbGVudCB0byBzZXR0aW5nIHRoZSBgR0lUX0xJVEVSQUxfUEFUSFNQRUNTYCBlbnZpcm9ubWVudAorCVRyZWF0IHBhdGhzcGVjcyBsaXRlcmFsbHkgKGkuZS4gbm8gZ2xvYmJpbmcsIG5vIHBhdGhzcGVjIG1hZ2ljKS4KKwlUaGlzIGlzIGVxdWl2YWxlbnQgdG8gc2V0dGluZyB0aGUgYEdJVF9MSVRFUkFMX1BBVEhTUEVDU2AgZW52aXJvbm1lbnQKIAl2YXJpYWJsZSB0byBgMWAuCiAKKy0tZ2xvYi1wYXRoc3BlY3M6OgorCUFkZCAiZ2xvYiIgbWFnaWMgdG8gYWxsIHBhdGhzcGVjLiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gc2V0dGluZworCXRoZSBgR0lUX0dMT0JfUEFUSFNQRUNTYCBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBgMWAuIERpc2FibGluZworCWdsb2JiaW5nIG9uIGluZGl2aWR1YWwgcGF0aHNwZWNzIGNhbiBiZSBkb25lIHVzaW5nIHBhdGhzcGVjCisJbWFnaWMgIjoobGl0ZXJhbCkiCisKKy0tbm9nbG9iLXBhdGhzcGVjczo6CisJQWRkICJsaXRlcmFsIiBtYWdpYyB0byBhbGwgcGF0aHNwZWMuIFRoaXMgaXMgZXF1aXZhbGVudCB0byBzZXR0aW5nCisJdGhlIGBHSVRfTk9HTE9CX1BBVEhTUEVDU2AgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gYDFgLiBFbmFibGluZworCWdsb2JiaW5nIG9uIGluZGl2aWR1YWwgcGF0aHNwZWNzIGNhbiBiZSBkb25lIHVzaW5nIHBhdGhzcGVjCisJbWFnaWMgIjooZ2xvYikiCisKKy0taWNhc2UtcGF0aHNwZWNzOjoKKwlBZGQgImljYXNlIiBtYWdpYyB0byBhbGwgcGF0aHNwZWMuIFRoaXMgaXMgZXF1aXZhbGVudCB0byBzZXR0aW5nCisJdGhlIGBHSVRfSUNBU0VfUEFUSFNQRUNTYCBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBgMWAuCiAKIEdJVCBDT01NQU5EUwogLS0tLS0tLS0tLS0tCkBAIC03NzEsNiArODA5LDE1IEBACiArCiBGb3IgYSBwYXRoIHRoYXQgaXMgdW5tZXJnZWQsICdHSVRfRVhURVJOQUxfRElGRicgaXMgY2FsbGVkIHdpdGggMQogcGFyYW1ldGVyLCA8cGF0aD4uCisrCitGb3IgZWFjaCBwYXRoICdHSVRfRVhURVJOQUxfRElGRicgaXMgY2FsbGVkLCB0d28gZW52aXJvbm1lbnQgdmFyaWFibGVzLAorJ0dJVF9ESUZGX1BBVEhfQ09VTlRFUicgYW5kICdHSVRfRElGRl9QQVRIX1RPVEFMJyBhcmUgc2V0LgorCisnR0lUX0RJRkZfUEFUSF9DT1VOVEVSJzo6CisJQSAxLWJhc2VkIGNvdW50ZXIgaW5jcmVtZW50ZWQgYnkgb25lIGZvciBldmVyeSBwYXRoLgorCisnR0lUX0RJRkZfUEFUSF9UT1RBTCc6OgorCVRoZSB0b3RhbCBudW1iZXIgb2YgcGF0aHMuCiAKIG90aGVyCiB+fn5+fgpAQCAtODI4LDcgKzg3NSw3IEBACiAnR0lUX0ZMVVNIJzo6CiAJSWYgdGhpcyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQgdG8gIjEiLCB0aGVuIGNvbW1hbmRzIHN1Y2gKIAlhcyAnZ2l0IGJsYW1lJyAoaW4gaW5jcmVtZW50YWwgbW9kZSksICdnaXQgcmV2LWxpc3QnLCAnZ2l0IGxvZycsCi0JJ2dpdCBjaGVjay1hdHRyJywgJ2dpdCBjaGVjay1pZ25vcmUnLCBhbmQgJ2dpdCB3aGF0Y2hhbmdlZCcgd2lsbAorCSdnaXQgY2hlY2stYXR0cicgYW5kICdnaXQgY2hlY2staWdub3JlJyB3aWxsCiAJZm9yY2UgYSBmbHVzaCBvZiB0aGUgb3V0cHV0IHN0cmVhbSBhZnRlciBlYWNoIHJlY29yZCBoYXZlIGJlZW4KIAlmbHVzaGVkLiBJZiB0aGlzCiAJdmFyaWFibGUgaXMgc2V0IHRvICIwIiwgdGhlIG91dHB1dCBvZiB0aGVzZSBjb21tYW5kcyB3aWxsIGJlIGRvbmUKQEAgLTg3Miw2ICs5MTksMjggQEAKIAlsaXRlcmFsIHBhdGhzIHRvIEdpdCAoZS5nLiwgcGF0aHMgcHJldmlvdXNseSBnaXZlbiB0byB5b3UgYnkKIAlgZ2l0IGxzLXRyZWVgLCBgLS1yYXdgIGRpZmYgb3V0cHV0LCBldGMpLgogCitHSVRfR0xPQl9QQVRIU1BFQ1M6OgorCVNldHRpbmcgdGhpcyB2YXJpYWJsZSB0byBgMWAgd2lsbCBjYXVzZSBHaXQgdG8gdHJlYXQgYWxsCisJcGF0aHNwZWNzIGFzIGdsb2IgcGF0dGVybnMgKGFrYSAiZ2xvYiIgbWFnaWMpLgorCitHSVRfTk9HTE9CX1BBVEhTUEVDUzo6CisJU2V0dGluZyB0aGlzIHZhcmlhYmxlIHRvIGAxYCB3aWxsIGNhdXNlIEdpdCB0byB0cmVhdCBhbGwKKwlwYXRoc3BlY3MgYXMgbGl0ZXJhbCAoYWthICJsaXRlcmFsIiBtYWdpYykuCisKK0dJVF9JQ0FTRV9QQVRIU1BFQ1M6OgorCVNldHRpbmcgdGhpcyB2YXJpYWJsZSB0byBgMWAgd2lsbCBjYXVzZSBHaXQgdG8gdHJlYXQgYWxsCisJcGF0aHNwZWNzIGFzIGNhc2UtaW5zZW5zaXRpdmUuCisKKydHSVRfUkVGTE9HX0FDVElPTic6OgorCVdoZW4gYSByZWYgaXMgdXBkYXRlZCwgcmVmbG9nIGVudHJpZXMgYXJlIGNyZWF0ZWQgdG8ga2VlcAorCXRyYWNrIG9mIHRoZSByZWFzb24gd2h5IHRoZSByZWYgd2FzIHVwZGF0ZWQgKHdoaWNoIGlzCisJdHlwaWNhbGx5IHRoZSBuYW1lIG9mIHRoZSBoaWdoLWxldmVsIGNvbW1hbmQgdGhhdCB1cGRhdGVkCisJdGhlIHJlZiksIGluIGFkZGl0aW9uIHRvIHRoZSBvbGQgYW5kIG5ldyB2YWx1ZXMgb2YgdGhlIHJlZi4KKwlBIHNjcmlwdGVkIFBvcmNlbGFpbiBjb21tYW5kIGNhbiB1c2Ugc2V0X3JlZmxvZ19hY3Rpb24KKwloZWxwZXIgZnVuY3Rpb24gaW4gYGdpdC1zaC1zZXR1cGAgdG8gc2V0IGl0cyBuYW1lIHRvIHRoaXMKKwl2YXJpYWJsZSB3aGVuIGl0IGlzIGludm9rZWQgYXMgdGhlIHRvcCBsZXZlbCBjb21tYW5kIGJ5IHRoZQorCWVuZCB1c2VyLCB0byBiZSByZWNvcmRlZCBpbiB0aGUgYm9keSBvZiB0aGUgcmVmbG9nLgorCiAKIERpc2N1c3Npb25bW0Rpc2N1c3Npb25dXQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdGF0dHJpYnV0ZXMudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRhdHRyaWJ1dGVzLnR4dAppbmRleCBiMzIyYTI2Li42NDNjMWJhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdGF0dHJpYnV0ZXMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0YXR0cmlidXRlcy50eHQKQEAgLTkzMCw5ICs5MzAsMTIgQEAKIERFRklOSU5HIE1BQ1JPIEFUVFJJQlVURVMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotQ3VzdG9tIG1hY3JvIGF0dHJpYnV0ZXMgY2FuIGJlIGRlZmluZWQgb25seSBpbiB0aGUgYC5naXRhdHRyaWJ1dGVzYAotZmlsZSBhdCB0aGUgdG9wbGV2ZWwgKGkuZS4gbm90IGluIGFueSBzdWJkaXJlY3RvcnkpLiAgVGhlIGJ1aWx0LWluCi1tYWNybyBhdHRyaWJ1dGUgImJpbmFyeSIgaXMgZXF1aXZhbGVudCB0bzoKK0N1c3RvbSBtYWNybyBhdHRyaWJ1dGVzIGNhbiBiZSBkZWZpbmVkIG9ubHkgaW4gdG9wLWxldmVsIGdpdGF0dHJpYnV0ZXMKK2ZpbGVzIChgJEdJVF9ESVIvaW5mby9hdHRyaWJ1dGVzYCwgdGhlIGAuZ2l0YXR0cmlidXRlc2AgZmlsZSBhdCB0aGUKK3RvcCBsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlLCBvciB0aGUgZ2xvYmFsIG9yIHN5c3RlbS13aWRlCitnaXRhdHRyaWJ1dGVzIGZpbGVzKSwgbm90IGluIGAuZ2l0YXR0cmlidXRlc2AgZmlsZXMgaW4gd29ya2luZyB0cmVlCitzdWJkaXJlY3Rvcmllcy4gIFRoZSBidWlsdC1pbiBtYWNybyBhdHRyaWJ1dGUgImJpbmFyeSIgaXMgZXF1aXZhbGVudAordG86CiAKIC0tLS0tLS0tLS0tLQogW2F0dHJdYmluYXJ5IC1kaWZmIC1tZXJnZSAtdGV4dApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXRjbGkudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRjbGkudHh0CmluZGV4IDlhYzUwODguLjNmMzNjYTUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0Y2xpLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdGNsaS50eHQKQEAgLTU5LDYgKzU5LDEwIEBACiBzZWUgYGhlbGxvLmNgIGluIHlvdXIgd29ya2luZyB0cmVlIHdpdGggdGhlIGZvcm1lciwgYnV0IHdpdGggdGhlIGxhdHRlcgogeW91IHdpbGwuCiAKKyAqIEp1c3QgYXMgdGhlIGZpbGVzeXN0ZW0gJy4nIChwZXJpb2QpIHJlZmVycyB0byB0aGUgY3VycmVudCBkaXJlY3RvcnksCisgICB1c2luZyBhICcuJyBhcyBhIHJlcG9zaXRvcnkgbmFtZSBpbiBHaXQgKGEgZG90LXJlcG9zaXRvcnkpIGlzIGEgcmVsYXRpdmUKKyAgIHBhdGggYW5kIG1lYW5zIHlvdXIgY3VycmVudCByZXBvc2l0b3J5LgorCiBIZXJlIGFyZSB0aGUgcnVsZXMgcmVnYXJkaW5nIHRoZSAiZmxhZ3MiIHRoYXQgeW91IHNob3VsZCBmb2xsb3cgd2hlbiB5b3UgYXJlCiBzY3JpcHRpbmcgR2l0OgogCkBAIC02OCwyMyArNzIsMjMgQEAKICAqIHNwbGl0dGluZyBzaG9ydCBvcHRpb25zIHRvIHNlcGFyYXRlIHdvcmRzIChwcmVmZXIgYGdpdCBmb28gLWEgLWJgCiAgICB0byBgZ2l0IGZvbyAtYWJgLCB0aGUgbGF0dGVyIG1heSBub3QgZXZlbiB3b3JrKS4KIAotICogd2hlbiBhIGNvbW1hbmQgbGluZSBvcHRpb24gdGFrZXMgYW4gYXJndW1lbnQsIHVzZSB0aGUgJ3N0aWNrZWQnIGZvcm0uICBJbgorICogd2hlbiBhIGNvbW1hbmQgbGluZSBvcHRpb24gdGFrZXMgYW4gYXJndW1lbnQsIHVzZSB0aGUgJ3N0dWNrJyBmb3JtLiAgSW4KICAgIG90aGVyIHdvcmRzLCB3cml0ZSBgZ2l0IGZvbyAtb0FyZ2AgaW5zdGVhZCBvZiBgZ2l0IGZvbyAtbyBBcmdgIGZvciBzaG9ydAogICAgb3B0aW9ucywgYW5kIGBnaXQgZm9vIC0tbG9uZy1vcHQ9QXJnYCBpbnN0ZWFkIG9mIGBnaXQgZm9vIC0tbG9uZy1vcHQgQXJnYAogICAgZm9yIGxvbmcgb3B0aW9ucy4gIEFuIG9wdGlvbiB0aGF0IHRha2VzIG9wdGlvbmFsIG9wdGlvbi1hcmd1bWVudCBtdXN0IGJlCi0gICB3cml0dGVuIGluIHRoZSAnc3RpY2tlZCcgZm9ybS4KKyAgIHdyaXR0ZW4gaW4gdGhlICdzdHVjaycgZm9ybS4KIAogICogd2hlbiB5b3UgZ2l2ZSBhIHJldmlzaW9uIHBhcmFtZXRlciB0byBhIGNvbW1hbmQsIG1ha2Ugc3VyZSB0aGUgcGFyYW1ldGVyIGlzCiAgICBub3QgYW1iaWd1b3VzIHdpdGggYSBuYW1lIG9mIGEgZmlsZSBpbiB0aGUgd29yayB0cmVlLiAgRS5nLiBkbyBub3Qgd3JpdGUKICAgIGBnaXQgbG9nIC0xIEhFQURgIGJ1dCB3cml0ZSBgZ2l0IGxvZyAtMSBIRUFEIC0tYDsgdGhlIGZvcm1lciB3aWxsIG5vdCB3b3JrCiAgICBpZiB5b3UgaGFwcGVuIHRvIGhhdmUgYSBmaWxlIGNhbGxlZCBgSEVBRGAgaW4gdGhlIHdvcmsgdHJlZS4KIAotICogbWFueSBjb21tYW5kcyBhbGxvdyBhIGxvbmcgb3B0aW9uICItLW9wdGlvbiIgdG8gYmUgYWJicmV2aWF0ZWQKKyAqIG1hbnkgY29tbWFuZHMgYWxsb3cgYSBsb25nIG9wdGlvbiBgLS1vcHRpb25gIHRvIGJlIGFiYnJldmlhdGVkCiAgICBvbmx5IHRvIHRoZWlyIHVuaXF1ZSBwcmVmaXggKGUuZy4gaWYgdGhlcmUgaXMgbm8gb3RoZXIgb3B0aW9uCi0gICB3aG9zZSBuYW1lIGJlZ2lucyB3aXRoICJvcHQiLCB5b3UgbWF5IGJlIGFibGUgdG8gc3BlbGwgIi0tb3B0IiB0bwotICAgaW52b2tlIHRoZSAiLS1vcHRpb24iIGZsYWcpLCBidXQgeW91IHNob3VsZCBmdWxseSBzcGVsbCB0aGVtIG91dAorICAgd2hvc2UgbmFtZSBiZWdpbnMgd2l0aCBgb3B0YCwgeW91IG1heSBiZSBhYmxlIHRvIHNwZWxsIGAtLW9wdGAgdG8KKyAgIGludm9rZSB0aGUgYC0tb3B0aW9uYCBmbGFnKSwgYnV0IHlvdSBzaG91bGQgZnVsbHkgc3BlbGwgdGhlbSBvdXQKICAgIHdoZW4gd3JpdGluZyB5b3VyIHNjcmlwdHM7IGxhdGVyIHZlcnNpb25zIG9mIEdpdCBtYXkgaW50cm9kdWNlIGEKLSAgIG5ldyBvcHRpb24gd2hvc2UgbmFtZSBzaGFyZXMgdGhlIHNhbWUgcHJlZml4LCBlLmcuICItLW9wdGltaXplIiwKKyAgIG5ldyBvcHRpb24gd2hvc2UgbmFtZSBzaGFyZXMgdGhlIHNhbWUgcHJlZml4LCBlLmcuIGAtLW9wdGltaXplYCwKICAgIHRvIG1ha2UgYSBzaG9ydCBwcmVmaXggdGhhdCB1c2VkIHRvIGJlIHVuaXF1ZSBubyBsb25nZXIgdW5pcXVlLgogCiAKQEAgLTEwNiw3ICsxMTAsNyBAQAogKwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAkIGdpdCBkZXNjcmliZSAtaAotdXNhZ2U6IGdpdCBkZXNjcmliZSBbb3B0aW9uc10gPGNvbW1pdHRpc2g+KgordXNhZ2U6IGdpdCBkZXNjcmliZSBbb3B0aW9uc10gPGNvbW1pdC1pc2g+KgogICAgb3I6IGdpdCBkZXNjcmliZSBbb3B0aW9uc10gLS1kaXJ0eQogCiAgICAgLS1jb250YWlucyAgICAgICAgICAgIGZpbmQgdGhlIHRhZyB0aGF0IGNvbWVzIGFmdGVyIHRoZSBjb21taXQKQEAgLTE0NSw3ICsxNDksNyBAQAogd2l0aCBhIGNhdXRpb24uICBGb3IgZXhhbXBsZSwgYGdpdCBjb21taXQgLS1hbWVuYCBiZWhhdmVzIGFzIGlmIHlvdQogdHlwZWQgYGdpdCBjb21taXQgLS1hbWVuZGAsIGJ1dCB0aGF0IGlzIHRydWUgb25seSB1bnRpbCBhIGxhdGVyIHZlcnNpb24KIG9mIEdpdCBpbnRyb2R1Y2VzIGFub3RoZXIgb3B0aW9uIHRoYXQgc2hhcmVzIHRoZSBzYW1lIHByZWZpeCwKLWUuZyBgZ2l0IGNvbW1pdCAtLWFtZW5pdHkiIG9wdGlvbi4KK2UuZy4gYGdpdCBjb21taXQgLS1hbWVuaXR5YCBvcHRpb24uCiAKIAogU2VwYXJhdGluZyBhcmd1bWVudCBmcm9tIHRoZSBvcHRpb24KQEAgLTE2MSw3ICsxNjUsNyBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBIb3dldmVyLCB0aGlzIGlzICpOT1QqIGFsbG93ZWQgZm9yIHN3aXRjaGVzIHdpdGggYW4gb3B0aW9uYWwgdmFsdWUsIHdoZXJlIHRoZQotJ3N0aWNrZWQnIGZvcm0gbXVzdCBiZSB1c2VkOgorJ3N0dWNrJyBmb3JtIG11c3QgYmUgdXNlZDoKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICQgZ2l0IGRlc2NyaWJlIC0tYWJicmV2IEhFQUQgICAgICMgY29ycmVjdAogJCBnaXQgZGVzY3JpYmUgLS1hYmJyZXY9MTAgSEVBRCAgIyBjb3JyZWN0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdGNvcmUtdHV0b3JpYWwudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRjb3JlLXR1dG9yaWFsLnR4dAppbmRleCBmNTM4YTg3Li4wNThhMzUyIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdGNvcmUtdHV0b3JpYWwudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0Y29yZS10dXRvcmlhbC50eHQKQEAgLTUzNCw0MiArNTM0LDkgQEAKIAogSW4gZmFjdCwgdG9nZXRoZXIgd2l0aCB0aGUgJ2dpdCByZXYtbGlzdCcgcHJvZ3JhbSAod2hpY2ggZ2VuZXJhdGVzIGEKIGxpc3Qgb2YgcmV2aXNpb25zKSwgJ2dpdCBkaWZmLXRyZWUnIGVuZHMgdXAgYmVpbmcgYSB2ZXJpdGFibGUgZm91bnQgb2YKLWNoYW5nZXMuIEEgdHJpdmlhbCAoYnV0IHZlcnkgdXNlZnVsKSBzY3JpcHQgY2FsbGVkICdnaXQgd2hhdGNoYW5nZWQnIGlzCi1pbmNsdWRlZCB3aXRoIEdpdCB3aGljaCBkb2VzIGV4YWN0bHkgdGhpcywgYW5kIHNob3dzIGEgbG9nIG9mIHJlY2VudAotYWN0aXZpdGllcy4KLQotVG8gc2VlIHRoZSB3aG9sZSBoaXN0b3J5IG9mIG91ciBwaXRpZnVsIGxpdHRsZSBnaXQtdHV0b3JpYWwgcHJvamVjdCwgeW91Ci1jYW4gZG8KLQotLS0tLS0tLS0tLS0tLS0tLQotJCBnaXQgbG9nCi0tLS0tLS0tLS0tLS0tLS0tCi0KLXdoaWNoIHNob3dzIGp1c3QgdGhlIGxvZyBtZXNzYWdlcywgb3IgaWYgd2Ugd2FudCB0byBzZWUgdGhlIGxvZyB0b2dldGhlcgotd2l0aCB0aGUgYXNzb2NpYXRlZCBwYXRjaGVzIHVzZSB0aGUgbW9yZSBjb21wbGV4IChhbmQgbXVjaCBtb3JlCi1wb3dlcmZ1bCkKLQotLS0tLS0tLS0tLS0tLS0tLQotJCBnaXQgd2hhdGNoYW5nZWQgLXAKLS0tLS0tLS0tLS0tLS0tLS0KLQotYW5kIHlvdSB3aWxsIHNlZSBleGFjdGx5IHdoYXQgaGFzIGNoYW5nZWQgaW4gdGhlIHJlcG9zaXRvcnkgb3ZlciBpdHMKLXNob3J0IGhpc3RvcnkuCi0KLVtOT1RFXQotV2hlbiB1c2luZyB0aGUgYWJvdmUgdHdvIGNvbW1hbmRzLCB0aGUgaW5pdGlhbCBjb21taXQgd2lsbCBiZSBzaG93bi4KLUlmIHRoaXMgaXMgYSBwcm9ibGVtIGJlY2F1c2UgaXQgaXMgaHVnZSwgeW91IGNhbiBoaWRlIGl0IGJ5IHNldHRpbmcKLXRoZSBsb2cuc2hvd3Jvb3QgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0byBmYWxzZS4gSGF2aW5nIHRoaXMsIHlvdQotY2FuIHN0aWxsIHNob3cgaXQgZm9yIGVhY2ggY29tbWFuZCBqdXN0IGFkZGluZyB0aGUgYC0tcm9vdGAgb3B0aW9uLAotd2hpY2ggaXMgYSBmbGFnIGZvciAnZ2l0IGRpZmYtdHJlZScgYWNjZXB0ZWQgYnkgYm90aCBjb21tYW5kcy4KLQotV2l0aCB0aGF0LCB5b3Ugc2hvdWxkIG5vdyBiZSBoYXZpbmcgc29tZSBpbmtsaW5nIG9mIHdoYXQgR2l0IGRvZXMsIGFuZAotY2FuIGV4cGxvcmUgb24geW91ciBvd24uCi0KLVtOT1RFXQotTW9zdCBsaWtlbHksIHlvdSBhcmUgbm90IGRpcmVjdGx5IHVzaW5nIHRoZSBjb3JlCi1HaXQgUGx1bWJpbmcgY29tbWFuZHMsIGJ1dCB1c2luZyBQb3JjZWxhaW4gc3VjaCBhcyAnZ2l0IGFkZCcsIGBnaXQtcm0nCi1hbmQgYGdpdC1jb21taXQnLgorY2hhbmdlcy4gIFlvdSBjYW4gZW11bGF0ZSBgZ2l0IGxvZ2AsIGBnaXQgbG9nIC1wYCwgZXRjLiB3aXRoIGEgdHJpdmlhbAorc2NyaXB0IHRoYXQgcGlwZXMgdGhlIG91dHB1dCBvZiBgZ2l0IHJldi1saXN0YCB0byBgZ2l0IGRpZmYtdHJlZSAtLXN0ZGluYCwKK3doaWNoIHdhcyBleGFjdGx5IGhvdyBlYXJseSB2ZXJzaW9ucyBvZiBgZ2l0IGxvZ2Agd2VyZSBpbXBsZW1lbnRlZC4KIAogCiBUYWdnaW5nIGEgdmVyc2lvbgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXRjdnMtbWlncmF0aW9uLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0Y3ZzLW1pZ3JhdGlvbi50eHQKaW5kZXggNWFiNWIwNy4uNWVhOTRjYiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXRjdnMtbWlncmF0aW9uLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdGN2cy1taWdyYXRpb24udHh0CkBAIC0xNTcsNyArMTU3LDcgQEAKIHJlcG9zaXRvcnkgdG8gYSBtYWlsaW5nIGxpc3QuICBTZWUgbGlua2dpdDpnaXRob29rc1s1XS4KIAogWW91IGNhbiBlbmZvcmNlIGZpbmVyIGdyYWluZWQgcGVybWlzc2lvbnMgdXNpbmcgdXBkYXRlIGhvb2tzLiAgU2VlCi1saW5rOmhvd3RvL3VwZGF0ZS1ob29rLWV4YW1wbGUudHh0W0NvbnRyb2xsaW5nIGFjY2VzcyB0byBicmFuY2hlcyB1c2luZworbGluazpob3d0by91cGRhdGUtaG9vay1leGFtcGxlLmh0bWxbQ29udHJvbGxpbmcgYWNjZXNzIHRvIGJyYW5jaGVzIHVzaW5nCiB1cGRhdGUgaG9va3NdLgogCiBQcm92aWRpbmcgQ1ZTIEFjY2VzcyB0byBhIEdpdCBSZXBvc2l0b3J5CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdGlnbm9yZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdGlnbm9yZS50eHQKaW5kZXggZjk3MTk2MC4uYjA4ZDM0ZCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXRpZ25vcmUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0aWdub3JlLnR4dApAQCAtNyw3ICs3LDcgQEAKIAogU1lOT1BTSVMKIC0tLS0tLS0tCi0kR0lUX0RJUi9pbmZvL2V4Y2x1ZGUsIC5naXRpZ25vcmUKKyRIT01FLy5jb25maWcvZ2l0L2lnbm9yZSwgJEdJVF9ESVIvaW5mby9leGNsdWRlLCAuZ2l0aWdub3JlCiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQpAQCAtNzksOCArNzksMTAgQEAKIAogIC0gQW4gb3B0aW9uYWwgcHJlZml4ICJgIWAiIHdoaWNoIG5lZ2F0ZXMgdGhlIHBhdHRlcm47IGFueQogICAgbWF0Y2hpbmcgZmlsZSBleGNsdWRlZCBieSBhIHByZXZpb3VzIHBhdHRlcm4gd2lsbCBiZWNvbWUKLSAgIGluY2x1ZGVkIGFnYWluLiAgSWYgYSBuZWdhdGVkIHBhdHRlcm4gbWF0Y2hlcywgdGhpcyB3aWxsCi0gICBvdmVycmlkZSBsb3dlciBwcmVjZWRlbmNlIHBhdHRlcm5zIHNvdXJjZXMuCisgICBpbmNsdWRlZCBhZ2Fpbi4gSXQgaXMgbm90IHBvc3NpYmxlIHRvIHJlLWluY2x1ZGUgYSBmaWxlIGlmIGEgcGFyZW50CisgICBkaXJlY3Rvcnkgb2YgdGhhdCBmaWxlIGlzIGV4Y2x1ZGVkLiBHaXQgZG9lc24ndCBsaXN0IGV4Y2x1ZGVkCisgICBkaXJlY3RvcmllcyBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucywgc28gYW55IHBhdHRlcm5zIG9uIGNvbnRhaW5lZAorICAgZmlsZXMgaGF2ZSBubyBlZmZlY3QsIG5vIG1hdHRlciB3aGVyZSB0aGV5IGFyZSBkZWZpbmVkLgogICAgUHV0IGEgYmFja3NsYXNoICgiYFxgIikgaW4gZnJvbnQgb2YgdGhlIGZpcnN0ICJgIWAiIGZvciBwYXR0ZXJucwogICAgdGhhdCBiZWdpbiB3aXRoIGEgbGl0ZXJhbCAiYCFgIiwgZm9yIGV4YW1wbGUsICJgXCFpbXBvcnRhbnQhLnR4dGAiLgogCkBAIC0xODIsNiArMTg0LDE5IEBACiBUaGUgc2Vjb25kIC5naXRpZ25vcmUgcHJldmVudHMgR2l0IGZyb20gaWdub3JpbmcKIGBhcmNoL2Zvby9rZXJuZWwvdm1saW51eC5sZHMuU2AuCiAKK0V4YW1wbGUgdG8gZXhjbHVkZSBldmVyeXRoaW5nIGV4Y2VwdCBhIHNwZWNpZmljIGRpcmVjdG9yeSBgZm9vL2JhcmAKKyhub3RlIHRoZSBgLypgIC0gd2l0aG91dCB0aGUgc2xhc2gsIHRoZSB3aWxkY2FyZCB3b3VsZCBhbHNvIGV4Y2x1ZGUKK2V2ZXJ5dGhpbmcgd2l0aGluIGBmb28vYmFyYCk6CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgJCBjYXQgLmdpdGlnbm9yZQorICAgICMgZXhjbHVkZSBldmVyeXRoaW5nIGV4Y2VwdCBkaXJlY3RvcnkgZm9vL2JhcgorICAgIC8qCisgICAgIS9mb28KKyAgICAvZm9vLyoKKyAgICAhL2Zvby9iYXIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKIFNFRSBBTFNPCiAtLS0tLS0tLQogbGlua2dpdDpnaXQtcm1bMV0sCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdGsudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRrLnR4dAppbmRleCBjMTdlNzYwLi4xZTllMzhhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdGsudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0ay50eHQKQEAgLTgsNyArOCw3IEBACiBTWU5PUFNJUwogLS0tLS0tLS0KIFt2ZXJzZV0KLSdnaXRrJyBbPG9wdGlvbj4uLi5dIFs8cmV2cz5dIFstLV0gWzxwYXRoPi4uLl0KKydnaXRrJyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uIHJhbmdlPl0gW1wtLV0gWzxwYXRoPi4uLl0KIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCkBAIC0xNiwyMSArMTYsMzggQEAKIHZpc3VhbGl6aW5nIHRoZSBjb21taXQgZ3JhcGgsIHNob3dpbmcgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBlYWNoIGNvbW1pdCwgYW5kCiB0aGUgZmlsZXMgaW4gdGhlIHRyZWVzIG9mIGVhY2ggcmV2aXNpb24uCiAKLUhpc3RvcmljYWxseSwgZ2l0ayB3YXMgdGhlIGZpcnN0IHJlcG9zaXRvcnkgYnJvd3Nlci4gSXQncyB3cml0dGVuIGluIHRjbC90awotYW5kIHN0YXJ0ZWQgb2ZmIGluIGEgc2VwYXJhdGUgcmVwb3NpdG9yeSBidXQgd2FzIGxhdGVyIG1lcmdlZCBpbnRvIHRoZSBtYWluCi1HaXQgcmVwb3NpdG9yeS4KLQogT1BUSU9OUwogLS0tLS0tLQotVG8gY29udHJvbCB3aGljaCByZXZpc2lvbnMgdG8gc2hvdywgdGhlIGNvbW1hbmQgdGFrZXMgb3B0aW9ucyBhcHBsaWNhYmxlIHRvCi10aGUgJ2dpdCByZXYtbGlzdCcgY29tbWFuZCAoc2VlIGxpbmtnaXQ6Z2l0LXJldi1saXN0WzFdKS4KLVRoaXMgbWFudWFsIHBhZ2UgZGVzY3JpYmVzIG9ubHkgdGhlIG1vc3QKLWZyZXF1ZW50bHkgdXNlZCBvcHRpb25zLgogCi0tbiA8bnVtYmVyPjo6Ci0tLW1heC1jb3VudD08bnVtYmVyPjo6CitUbyBjb250cm9sIHdoaWNoIHJldmlzaW9ucyB0byBzaG93LCBnaXRrIHN1cHBvcnRzIG1vc3Qgb3B0aW9ucworYXBwbGljYWJsZSB0byB0aGUgJ2dpdCByZXYtbGlzdCcgY29tbWFuZC4gIEl0IGFsc28gc3VwcG9ydHMgYSBmZXcKK29wdGlvbnMgYXBwbGljYWJsZSB0byB0aGUgJ2dpdCBkaWZmLSonIGNvbW1hbmRzIHRvIGNvbnRyb2wgaG93IHRoZQorY2hhbmdlcyBlYWNoIGNvbW1pdCBpbnRyb2R1Y2VzIGFyZSBzaG93bi4gIEZpbmFsbHksIGl0IHN1cHBvcnRzIHNvbWUKK2dpdGstc3BlY2lmaWMgb3B0aW9ucy4KIAotCUxpbWl0cyB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgdG8gc2hvdy4KK2dpdGsgZ2VuZXJhbGx5IG9ubHkgdW5kZXJzdGFuZHMgb3B0aW9ucyB3aXRoIGFyZ3VtZW50cyBpbiB0aGUKKydzdGlja2VkJyBmb3JtIChzZWUgbGlua2dpdDpnaXRjbGlbN10pIGR1ZSB0byBsaW1pdGF0aW9ucyBpbiB0aGUKK2NvbW1hbmQgbGluZSBwYXJzZXIuCisKK3Jldi1saXN0IG9wdGlvbnMgYW5kIGFyZ3VtZW50cworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKK1RoaXMgbWFudWFsIHBhZ2UgZGVzY3JpYmVzIG9ubHkgdGhlIG1vc3QgZnJlcXVlbnRseSB1c2VkIG9wdGlvbnMuICBTZWUKK2xpbmtnaXQ6Z2l0LXJldi1saXN0WzFdIGZvciBhIGNvbXBsZXRlIGxpc3QuCisKKy0tYWxsOjoKKworCVNob3cgYWxsIHJlZnMgKGJyYW5jaGVzLCB0YWdzLCBldGMuKS4KKworLS1icmFuY2hlc1s9PHBhdHRlcm4+XTo6CistLXRhZ3NbPTxwYXR0ZXJuPl06OgorLS1yZW1vdGVzWz08cGF0dGVybj5dOjoKKworCVByZXRlbmQgYXMgaWYgYWxsIHRoZSBicmFuY2hlcyAodGFncywgcmVtb3RlIGJyYW5jaGVzLCByZXNwLikKKwlhcmUgbGlzdGVkIG9uIHRoZSBjb21tYW5kIGxpbmUgYXMgJzxjb21taXQ+Jy4gSWYgJzxwYXR0ZXJuPicKKwlpcyBnaXZlbiwgbGltaXQgcmVmcyB0byBvbmVzIG1hdGNoaW5nIGdpdmVuIHNoZWxsIGdsb2IuIElmCisJcGF0dGVybiBsYWNrcyAnPycsICd7YXN0ZXJpc2t9Jywgb3IgJ1snLCAnL3thc3Rlcmlza30nIGF0IHRoZQorCWVuZCBpcyBpbXBsaWVkLgogCiAtLXNpbmNlPTxkYXRlPjo6CiAKQEAgLTQwLDkgKzU3LDkgQEAKIAogCVNob3cgY29tbWl0cyBvbGRlciB0aGFuIGEgc3BlY2lmaWMgZGF0ZS4KIAotLS1hbGw6OgorLS1kYXRlLW9yZGVyOjoKIAotCVNob3cgYWxsIGJyYW5jaGVzLgorCVNvcnQgY29tbWl0cyBieSBkYXRlIHdoZW4gcG9zc2libGUuCiAKIC0tbWVyZ2U6OgogCkBAIC01MSwxOSArNjgsNTMgQEAKIAl0aGF0IG1vZGlmeSB0aGUgY29uZmxpY3RlZCBmaWxlcyBhbmQgZG8gbm90IGV4aXN0IG9uIGFsbCB0aGUgaGVhZHMKIAliZWluZyBtZXJnZWQuCiAKLS0tYXJnc2NtZD08Y29tbWFuZD46OgotCUNvbW1hbmQgdG8gYmUgcnVuIGVhY2ggdGltZSBnaXRrIGhhcyB0byBkZXRlcm1pbmUgdGhlIGxpc3Qgb2YKLQk8cmV2cz4gdG8gc2hvdy4gIFRoZSBjb21tYW5kIGlzIGV4cGVjdGVkIHRvIHByaW50IG9uIGl0cyBzdGFuZGFyZAotCW91dHB1dCBhIGxpc3Qgb2YgYWRkaXRpb25hbCByZXZzIHRvIGJlIHNob3duLCBvbmUgcGVyIGxpbmUuCi0JVXNlIHRoaXMgaW5zdGVhZCBvZiBleHBsaWNpdGx5IHNwZWNpZnlpbmcgPHJldnM+IGlmIHRoZSBzZXQgb2YKLQljb21taXRzIHRvIHNob3cgbWF5IHZhcnkgYmV0d2VlbiByZWZyZXNoZXMuCistLWxlZnQtcmlnaHQ6OgogCi0tLXNlbGVjdC1jb21taXQ9PHJlZj46OgorCU1hcmsgd2hpY2ggc2lkZSBvZiBhIHN5bW1ldHJpYyBkaWZmIGEgY29tbWl0IGlzIHJlYWNoYWJsZQorCWZyb20uICBDb21taXRzIGZyb20gdGhlIGxlZnQgc2lkZSBhcmUgcHJlZml4ZWQgd2l0aCBhIGA8YAorCXN5bWJvbCBhbmQgdGhvc2UgZnJvbSB0aGUgcmlnaHQgd2l0aCBhIGA+YCBzeW1ib2wuCiAKLQlBdXRvbWF0aWNhbGx5IHNlbGVjdCB0aGUgc3BlY2lmaWVkIGNvbW1pdCBhZnRlciBsb2FkaW5nIHRoZSBncmFwaC4KLQlEZWZhdWx0IGJlaGF2aW9yIGlzIGVxdWl2YWxlbnQgdG8gc3BlY2lmeWluZyAnLS1zZWxlY3QtY29tbWl0PUhFQUQnLgorLS1mdWxsLWhpc3Rvcnk6OgogCi08cmV2cz46OgorCVdoZW4gZmlsdGVyaW5nIGhpc3Rvcnkgd2l0aCAnPHBhdGg+Li4uJywgZG9lcyBub3QgcHJ1bmUgc29tZQorCWhpc3RvcnkuICAoU2VlICJIaXN0b3J5IHNpbXBsaWZpY2F0aW9uIiBpbiBsaW5rZ2l0OmdpdC1sb2dbMV0KKwlmb3IgYSBtb3JlIGRldGFpbGVkIGV4cGxhbmF0aW9uLikKKworLS1zaW1wbGlmeS1tZXJnZXM6OgorCisJQWRkaXRpb25hbCBvcHRpb24gdG8gJy0tZnVsbC1oaXN0b3J5JyB0byByZW1vdmUgc29tZSBuZWVkbGVzcworCW1lcmdlcyBmcm9tIHRoZSByZXN1bHRpbmcgaGlzdG9yeSwgYXMgdGhlcmUgYXJlIG5vIHNlbGVjdGVkCisJY29tbWl0cyBjb250cmlidXRpbmcgdG8gdGhpcyBtZXJnZS4gIChTZWUgIkhpc3RvcnkKKwlzaW1wbGlmaWNhdGlvbiIgaW4gbGlua2dpdDpnaXQtbG9nWzFdIGZvciBhIG1vcmUgZGV0YWlsZWQKKwlleHBsYW5hdGlvbi4pCisKKy0tYW5jZXN0cnktcGF0aDo6CisKKwlXaGVuIGdpdmVuIGEgcmFuZ2Ugb2YgY29tbWl0cyB0byBkaXNwbGF5CisJKGUuZy4gJ2NvbW1pdDEuLmNvbW1pdDInIG9yICdjb21taXQyIHtjYXJldH1jb21taXQxJyksIG9ubHkKKwlkaXNwbGF5IGNvbW1pdHMgdGhhdCBleGlzdCBkaXJlY3RseSBvbiB0aGUgYW5jZXN0cnkgY2hhaW4KKwliZXR3ZWVuIHRoZSAnY29tbWl0MScgYW5kICdjb21taXQyJywgaS5lLiBjb21taXRzIHRoYXQgYXJlCisJYm90aCBkZXNjZW5kYW50cyBvZiAnY29tbWl0MScsIGFuZCBhbmNlc3RvcnMgb2YgJ2NvbW1pdDInLgorCShTZWUgIkhpc3Rvcnkgc2ltcGxpZmljYXRpb24iIGluIGxpbmtnaXQ6Z2l0LWxvZ1sxXSBmb3IgYSBtb3JlCisJZGV0YWlsZWQgZXhwbGFuYXRpb24uKQorCistTDxzdGFydD4sPGVuZD46PGZpbGU+OjoKKy1MOjxyZWdleD46PGZpbGU+OjoKKworCVRyYWNlIHRoZSBldm9sdXRpb24gb2YgdGhlIGxpbmUgcmFuZ2UgZ2l2ZW4gYnkgIjxzdGFydD4sPGVuZD4iCisJKG9yIHRoZSBmdW5jbmFtZSByZWdleCA8cmVnZXg+KSB3aXRoaW4gdGhlIDxmaWxlPi4gIFlvdSBtYXkKKwlub3QgZ2l2ZSBhbnkgcGF0aHNwZWMgbGltaXRlcnMuICBUaGlzIGlzIGN1cnJlbnRseSBsaW1pdGVkIHRvCisJYSB3YWxrIHN0YXJ0aW5nIGZyb20gYSBzaW5nbGUgcmV2aXNpb24sIGkuZS4sIHlvdSBtYXkgb25seQorCWdpdmUgemVybyBvciBvbmUgcG9zaXRpdmUgcmV2aXNpb24gYXJndW1lbnRzLgorCVlvdSBjYW4gc3BlY2lmeSB0aGlzIG9wdGlvbiBtb3JlIHRoYW4gb25jZS4KKysKKypOb3RlOiogZ2l0ayAodW5saWtlIGxpbmtnaXQ6Z2l0LWxvZ1sxXSkgY3VycmVudGx5IG9ubHkgdW5kZXJzdGFuZHMKK3RoaXMgb3B0aW9uIGlmIHlvdSBzcGVjaWZ5IGl0ICJnbHVlZCB0b2dldGhlciIgd2l0aCBpdHMgYXJndW1lbnQuICBEbworKm5vdCogcHV0IGEgc3BhY2UgYWZ0ZXIgYC1MYC4KKysKK2luY2x1ZGU6OmxpbmUtcmFuZ2UtZm9ybWF0LnR4dFtdCisKKzxyZXZpc2lvbiByYW5nZT46OgogCiAJTGltaXQgdGhlIHJldmlzaW9ucyB0byBzaG93LiBUaGlzIGNhbiBiZSBlaXRoZXIgYSBzaW5nbGUgcmV2aXNpb24KIAltZWFuaW5nIHNob3cgZnJvbSB0aGUgZ2l2ZW4gcmV2aXNpb24gYW5kIGJhY2ssIG9yIGl0IGNhbiBiZSBhIHJhbmdlIGluCkBAIC03OCw2ICsxMjksMjMgQEAKIAlhdm9pZCBhbWJpZ3VpdHkgd2l0aCByZXNwZWN0IHRvIHJldmlzaW9uIG5hbWVzIHVzZSAiLS0iIHRvIHNlcGFyYXRlIHRoZSBwYXRocwogCWZyb20gYW55IHByZWNlZGluZyBvcHRpb25zLgogCitnaXRrLXNwZWNpZmljIG9wdGlvbnMKK35+fn5+fn5+fn5+fn5+fn5+fn5+fgorCistLWFyZ3NjbWQ9PGNvbW1hbmQ+OjoKKworCUNvbW1hbmQgdG8gYmUgcnVuIGVhY2ggdGltZSBnaXRrIGhhcyB0byBkZXRlcm1pbmUgdGhlIHJldmlzaW9uCisJcmFuZ2UgdG8gc2hvdy4gIFRoZSBjb21tYW5kIGlzIGV4cGVjdGVkIHRvIHByaW50IG9uIGl0cworCXN0YW5kYXJkIG91dHB1dCBhIGxpc3Qgb2YgYWRkaXRpb25hbCByZXZpc2lvbnMgdG8gYmUgc2hvd24sCisJb25lIHBlciBsaW5lLiAgVXNlIHRoaXMgaW5zdGVhZCBvZiBleHBsaWNpdGx5IHNwZWNpZnlpbmcgYQorCSc8cmV2aXNpb24gcmFuZ2U+JyBpZiB0aGUgc2V0IG9mIGNvbW1pdHMgdG8gc2hvdyBtYXkgdmFyeQorCWJldHdlZW4gcmVmcmVzaGVzLgorCistLXNlbGVjdC1jb21taXQ9PHJlZj46OgorCisJU2VsZWN0IHRoZSBzcGVjaWZpZWQgY29tbWl0IGFmdGVyIGxvYWRpbmcgdGhlIGdyYXBoLgorCURlZmF1bHQgYmVoYXZpb3IgaXMgZXF1aXZhbGVudCB0byBzcGVjaWZ5aW5nICctLXNlbGVjdC1jb21taXQ9SEVBRCcuCisKIEV4YW1wbGVzCiAtLS0tLS0tLQogZ2l0ayB2Mi42LjEyLi4gaW5jbHVkZS9zY3NpIGRyaXZlcnMvc2NzaTo6CkBAIC0xMDEsNiArMTY5LDEzIEBACiBHaXRrIGNyZWF0ZXMgdGhlIC5naXRrIGZpbGUgaW4geW91ciAkSE9NRSBkaXJlY3RvcnkgdG8gc3RvcmUgcHJlZmVyZW5jZXMKIHN1Y2ggYXMgZGlzcGxheSBvcHRpb25zLCBmb250LCBhbmQgY29sb3JzLgogCitIaXN0b3J5CistLS0tLS0tCitHaXRrIHdhcyB0aGUgZmlyc3QgZ3JhcGhpY2FsIHJlcG9zaXRvcnkgYnJvd3Nlci4gSXQncyB3cml0dGVuIGluCit0Y2wvdGsgYW5kIHN0YXJ0ZWQgb2ZmIGluIGEgc2VwYXJhdGUgcmVwb3NpdG9yeSBidXQgd2FzIGxhdGVyIG1lcmdlZAoraW50byB0aGUgbWFpbiBHaXQgcmVwb3NpdG9yeS4KKworCiBTRUUgQUxTTwogLS0tLS0tLS0KICdxZ2l0KDEpJzo6CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdG1vZHVsZXMudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRtb2R1bGVzLnR4dAppbmRleCA2YTFjYTRhLi4zNDdhOWY3IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdG1vZHVsZXMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0bW9kdWxlcy50eHQKQEAgLTM1LDYgKzM1LDggQEAKIAlsaW5rZ2l0OmdpdC1jbG9uZVsxXSBvciAoaWYgaXQgYmVnaW5zIHdpdGggLi8gb3IgLi4vKSBhIGxvY2F0aW9uCiAJcmVsYXRpdmUgdG8gdGhlIHN1cGVycHJvamVjdCdzIG9yaWdpbiByZXBvc2l0b3J5LgogCitJbiBhZGRpdGlvbiwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIG9wdGlvbmFsIGtleXM6CisKIHN1Ym1vZHVsZS48bmFtZT4udXBkYXRlOjoKIAlEZWZpbmVzIHdoYXQgdG8gZG8gd2hlbiB0aGUgc3VibW9kdWxlIGlzIHVwZGF0ZWQgYnkgdGhlIHN1cGVycHJvamVjdC4KIAlJZiAnY2hlY2tvdXQnICh0aGUgZGVmYXVsdCksIHRoZSBuZXcgY29tbWl0IHNwZWNpZmllZCBpbiB0aGUKQEAgLTc1LDcgKzc3LDggQEAKIAl0aGUgc3VwZXJwcm9qZWN0LCB0aGUgc2V0dGluZyB0aGVyZSB3aWxsIG92ZXJyaWRlIHRoZSBvbmUgZm91bmQgaW4KIAkuZ2l0bW9kdWxlcy4KIAlCb3RoIHNldHRpbmdzIGNhbiBiZSBvdmVycmlkZGVuIG9uIHRoZSBjb21tYW5kIGxpbmUgYnkgdXNpbmcgdGhlCi0JIi0taWdub3JlLXN1Ym1vZHVsZSIgb3B0aW9uLgorCSItLWlnbm9yZS1zdWJtb2R1bGUiIG9wdGlvbi4gVGhlICdnaXQgc3VibW9kdWxlJyBjb21tYW5kcyBhcmUgbm90CisJYWZmZWN0ZWQgYnkgdGhpcyBzZXR0aW5nLgogCiAKIEVYQU1QTEVTCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdHJlbW90ZS1oZWxwZXJzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0cmVtb3RlLWhlbHBlcnMudHh0CmluZGV4IDA4MjdmNjkuLmMyOTA4ZGIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0cmVtb3RlLWhlbHBlcnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0cmVtb3RlLWhlbHBlcnMudHh0CkBAIC0xMjAsNiArMTIwLDExIEBACiBXaGVuIGNob29zaW5nIGJldHdlZW4gJ3B1c2gnIGFuZCAnZXhwb3J0JywgR2l0IHByZWZlcnMgJ3B1c2gnLgogT3RoZXIgZnJvbnRlbmRzIG1heSBoYXZlIHNvbWUgb3RoZXIgb3JkZXIgb2YgcHJlZmVyZW5jZS4KIAorJ25vLXByaXZhdGUtdXBkYXRlJzo6CisJV2hlbiB1c2luZyB0aGUgJ3JlZnNwZWMnIGNhcGFiaWxpdHksIGdpdCBub3JtYWxseSB1cGRhdGVzIHRoZQorCXByaXZhdGUgcmVmIG9uIHN1Y2Nlc3NmdWwgcHVzaC4gVGhpcyB1cGRhdGUgaXMgZGlzYWJsZWQgd2hlbgorCXRoZSByZW1vdGUtaGVscGVyIGRlY2xhcmVzIHRoZSBjYXBhYmlsaXR5ICduby1wcml2YXRlLXVwZGF0ZScuCisKIAogQ2FwYWJpbGl0aWVzIGZvciBGZXRjaGluZwogXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgpAQCAtMTQzLDYgKzE0OCwxMCBAQAogKwogU3VwcG9ydGVkIGNvbW1hbmRzOiAnbGlzdCcsICdpbXBvcnQnLgogCisnY2hlY2stY29ubmVjdGl2aXR5Jzo6CisJQ2FuIGd1YXJhbnRlZSB0aGF0IHdoZW4gYSBjbG9uZSBpcyByZXF1ZXN0ZWQsIHRoZSByZWNlaXZlZAorCXBhY2sgaXMgc2VsZiBjb250YWluZWQgYW5kIGlzIGNvbm5lY3RlZC4KKwogSWYgYSBoZWxwZXIgYWR2ZXJ0aXNlcyAnY29ubmVjdCcsIEdpdCB3aWxsIHVzZSBpdCBpZiBwb3NzaWJsZSBhbmQKIGZhbGwgYmFjayB0byBhbm90aGVyIGNhcGFiaWxpdHkgaWYgdGhlIGhlbHBlciByZXF1ZXN0cyBzbyB3aGVuCiBjb25uZWN0aW5nIChzZWUgdGhlICdjb25uZWN0JyBjb21tYW5kIHVuZGVyIENPTU1BTkRTKS4KQEAgLTE3Niw2ICsxODUsMTIgQEAKIGFkdmVydGlzZWQgd2l0aCB0aGlzIGNhcGFiaWxpdHkgbXVzdCBjb3ZlciBhbGwgcmVmcyByZXBvcnRlZCBieQogdGhlIGxpc3QgY29tbWFuZC4gIElmIG5vICdyZWZzcGVjJyBjYXBhYmlsaXR5IGlzIGFkdmVydGlzZWQsCiB0aGVyZSBpcyBhbiBpbXBsaWVkIGByZWZzcGVjICo6KmAuCisrCitXaGVuIHdyaXRpbmcgcmVtb3RlLWhlbHBlcnMgZm9yIGRlY2VudHJhbGl6ZWQgdmVyc2lvbiBjb250cm9sCitzeXN0ZW1zLCBpdCBpcyBhZHZpc2VkIHRvIGtlZXAgYSBsb2NhbCBjb3B5IG9mIHRoZSByZXBvc2l0b3J5IHRvCitpbnRlcmFjdCB3aXRoLCBhbmQgdG8gbGV0IHRoZSBwcml2YXRlIG5hbWVzcGFjZSByZWZzIHBvaW50IHRvIHRoaXMKK2xvY2FsIHJlcG9zaXRvcnksIHdoaWxlIHRoZSByZWZzL3JlbW90ZXMgbmFtZXNwYWNlIGlzIHVzZWQgdG8gdHJhY2sKK3RoZSByZW1vdGUgcmVwb3NpdG9yeS4KIAogJ2JpZGktaW1wb3J0Jzo6CiAJVGhpcyBtb2RpZmllcyB0aGUgJ2ltcG9ydCcgY2FwYWJpbGl0eS4KQEAgLTI3MCw2ICsyODUsOSBAQAogR0lUX0RJUi9vYmplY3RzL3BhY2sgd2hpY2ggaXMga2VlcGluZyBhIHBhY2sgdW50aWwgcmVmcyBjYW4gYmUKIHN1aXRhYmx5IHVwZGF0ZWQuCiArCitJZiBvcHRpb24gJ2NoZWNrLWNvbm5lY3Rpdml0eScgaXMgcmVxdWVzdGVkLCB0aGUgaGVscGVyIG11c3Qgb3V0cHV0CisnY29ubmVjdGl2aXR5LW9rJyBpZiB0aGUgY2xvbmUgaXMgc2VsZi1jb250YWluZWQgYW5kIGNvbm5lY3RlZC4KKysKIFN1cHBvcnRlZCBpZiB0aGUgaGVscGVyIGhhcyB0aGUgImZldGNoIiBjYXBhYmlsaXR5LgogCiAncHVzaCcgKzxzcmM+Ojxkc3Q+OjoKQEAgLTQxNiw2ICs0MzQsMTYgQEAKIAltdXN0IG5vdCByZWx5IG9uIHRoaXMgb3B0aW9uIGJlaW5nIHNldCBiZWZvcmUKIAljb25uZWN0IHJlcXVlc3Qgb2NjdXJzLgogCisnb3B0aW9uIGNoZWNrLWNvbm5lY3Rpdml0eScgXHsndHJ1ZSd8J2ZhbHNlJ1x9OjoKKwlSZXF1ZXN0IHRoZSBoZWxwZXIgdG8gY2hlY2sgY29ubmVjdGl2aXR5IG9mIGEgY2xvbmUuCisKKydvcHRpb24gY2xvbmluZyBceyd0cnVlJ3wnZmFsc2UnXH06OgorCU5vdGlmeSB0aGUgaGVscGVyIHRoaXMgaXMgYSBjbG9uZSByZXF1ZXN0IChpLmUuIHRoZSBjdXJyZW50CisJcmVwb3NpdG9yeSBpcyBndWFyYW50ZWVkIGVtcHR5KS4KKworJ29wdGlvbiB1cGRhdGUtc2hhbGxvdyBceyd0cnVlJ3wnZmFsc2UnXH06OgorCUFsbG93IHRvIGV4dGVuZCAuZ2l0L3NoYWxsb3cgaWYgdGhlIG5ldyByZWZzIHJlcXVpcmUgaXQuCisKIFNFRSBBTFNPCiAtLS0tLS0tLQogbGlua2dpdDpnaXQtcmVtb3RlWzFdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdHdlYi5jb25mLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0d2ViLmNvbmYudHh0CmluZGV4IDMwNWRiNjMuLmRiNDE1NGYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0d2ViLmNvbmYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0d2ViLmNvbmYudHh0CkBAIC04MjIsMTggKzgyMiwxOCBAQAogUHJvamVjdCBzcGVjaWZpYyBvdmVycmlkZSBpcyBub3Qgc3VwcG9ydGVkLgogCiBqYXZhc2NyaXB0LXRpbWV6b25lOjoKLQlFbmFibGUgYW5kIGNvbmZpZ3VyZSB0aGUgYWJpbGl0eSB0byBjaGFuZ2UgYSBjb21tb24gdGltZXpvbmUgZm9yIGRhdGVzCisJRW5hYmxlIGFuZCBjb25maWd1cmUgdGhlIGFiaWxpdHkgdG8gY2hhbmdlIGEgY29tbW9uIHRpbWUgem9uZSBmb3IgZGF0ZXMKIAlpbiBnaXR3ZWIgb3V0cHV0IHZpYSBKYXZhU2NyaXB0LiAgRGF0ZXMgaW4gZ2l0d2ViIG91dHB1dCBpbmNsdWRlCiAJYXV0aG9yZGF0ZSBhbmQgY29tbWl0dGVyZGF0ZSBpbiAiY29tbWl0IiwgImNvbW1pdGRpZmYiIGFuZCAibG9nIgogCXZpZXdzLCBhbmQgdGFnZ2VyZGF0ZSBpbiAidGFnIiB2aWV3LiAgRW5hYmxlZCBieSBkZWZhdWx0LgogKwotVGhlIHZhbHVlIGlzIGEgbGlzdCBvZiB0aHJlZSB2YWx1ZXM6IGEgZGVmYXVsdCB0aW1lem9uZSAoZm9yIGlmIHRoZSBjbGllbnQKLWhhc24ndCBzZWxlY3RlZCBzb21lIG90aGVyIHRpbWV6b25lIGFuZCBzYXZlZCBpdCBpbiBhIGNvb2tpZSksIGEgbmFtZSBvZiBjb29raWUKLXdoZXJlIHRvIHN0b3JlIHNlbGVjdGVkIHRpbWV6b25lLCBhbmQgYSBDU1MgY2xhc3MgdXNlZCB0byBtYXJrIHVwCitUaGUgdmFsdWUgaXMgYSBsaXN0IG9mIHRocmVlIHZhbHVlczogYSBkZWZhdWx0IHRpbWUgem9uZSAoZm9yIGlmIHRoZSBjbGllbnQKK2hhc24ndCBzZWxlY3RlZCBzb21lIG90aGVyIHRpbWUgem9uZSBhbmQgc2F2ZWQgaXQgaW4gYSBjb29raWUpLCBhIG5hbWUgb2YgY29va2llCit3aGVyZSB0byBzdG9yZSBzZWxlY3RlZCB0aW1lIHpvbmUsIGFuZCBhIENTUyBjbGFzcyB1c2VkIHRvIG1hcmsgdXAKIGRhdGVzIGZvciBtYW5pcHVsYXRpb24uICBJZiB5b3Ugd2FudCB0byB0dXJuIHRoaXMgZmVhdHVyZSBvZmYsIHNldCAiZGVmYXVsdCIKIHRvIGVtcHR5IGxpc3Q6IGBbXWAuCiArCi1UeXBpY2FsIGdpdHdlYiBjb25maWcgZmlsZXMgd2lsbCBvbmx5IGNoYW5nZSBzdGFydGluZyAoZGVmYXVsdCkgdGltZXpvbmUsCitUeXBpY2FsIGdpdHdlYiBjb25maWcgZmlsZXMgd2lsbCBvbmx5IGNoYW5nZSBzdGFydGluZyAoZGVmYXVsdCkgdGltZSB6b25lLAogYW5kIGxlYXZlIG90aGVyIGVsZW1lbnRzIGF0IHRoZWlyIGRlZmF1bHQgdmFsdWVzOgogKwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC04NDMsMTIgKzg0Myw0OSBAQAogVGhlIGV4YW1wbGUgY29uZmlndXJhdGlvbiBwcmVzZW50ZWQgaGVyZSBpcyBndWFyYW50ZWVkIHRvIGJlIGJhY2t3YXJkcwogYW5kIGZvcndhcmQgY29tcGF0aWJsZS4KICsKLVRpbWV6b25lIHZhbHVlcyBjYW4gYmUgImxvY2FsIiAoZm9yIGxvY2FsIHRpbWV6b25lIHRoYXQgYnJvd3NlciB1c2VzKSwgInV0YyIKK1RpbWUgem9uZSB2YWx1ZXMgY2FuIGJlICJsb2NhbCIgKGZvciBsb2NhbCB0aW1lIHpvbmUgdGhhdCBicm93c2VyIHVzZXMpLCAidXRjIgogKHdoYXQgZ2l0d2ViIHVzZXMgd2hlbiBKYXZhU2NyaXB0IG9yIHRoaXMgZmVhdHVyZSBpcyBkaXNhYmxlZCksIG9yIG51bWVyaWNhbAotdGltZXpvbmVzIGluIHRoZSBmb3JtIG9mICIrLy1ISE1NIiwgc3VjaCBhcyAiKzAyMDAiLgordGltZSB6b25lcyBpbiB0aGUgZm9ybSBvZiAiKy8tSEhNTSIsIHN1Y2ggYXMgIiswMjAwIi4KICsKIFByb2plY3Qgc3BlY2lmaWMgb3ZlcnJpZGUgaXMgbm90IHN1cHBvcnRlZC4KIAorZXh0cmEtYnJhbmNoLXJlZnM6OgorCUxpc3Qgb2YgYWRkaXRpb25hbCBkaXJlY3RvcmllcyB1bmRlciAicmVmcyIgd2hpY2ggYXJlIGdvaW5nIHRvCisJYmUgdXNlZCBhcyBicmFuY2ggcmVmcy4gRm9yIGV4YW1wbGUgaWYgeW91IGhhdmUgYSBnZXJyaXQgc2V0dXAKKwl3aGVyZSBhbGwgYnJhbmNoZXMgdW5kZXIgcmVmcy9oZWFkcy8gYXJlIG9mZmljaWFsLAorCXB1c2gtYWZ0ZXItcmV2aWV3IG9uZXMgYW5kIGJyYW5jaGVzIHVuZGVyIHJlZnMvc2FuZGJveC8sCisJcmVmcy93aXAgYW5kIHJlZnMvb3RoZXIgYXJlIHVzZXIgb25lcyB3aGVyZSBwZXJtaXNzaW9ucyBhcmUKKwltdWNoIHdpZGVyLCB0aGVuIHlvdSBtaWdodCB3YW50IHRvIHNldCB0aGlzIHZhcmlhYmxlIGFzCisJZm9sbG93czoKKysKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiskZmVhdHVyZXsnZXh0cmEtYnJhbmNoLXJlZnMnfXsnZGVmYXVsdCd9ID0KKwlbJ3NhbmRib3gnLCAnd2lwJywgJ290aGVyJ107CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKworVGhpcyBmZWF0dXJlIGNhbiBiZSBjb25maWd1cmVkIG9uIHBlci1yZXBvc2l0b3J5IGJhc2lzIGFmdGVyIHNldHRpbmcKKyRmZWF0dXJleydleHRyYS1icmFuY2gtcmVmcyd9eydvdmVycmlkZSd9IHRvIHRydWUsIHZpYSByZXBvc2l0b3J5J3MKK2BnaXR3ZWIuZXh0cmFCcmFuY2hSZWZzYCBjb25maWd1cmF0aW9uIHZhcmlhYmxlLCB3aGljaCBjb250YWlucyBhCitzcGFjZSBzZXBhcmF0ZWQgbGlzdCBvZiByZWZzLiBBbiBleGFtcGxlOgorKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tnaXR3ZWJdCisJZXh0cmFCcmFuY2hSZWZzID0gc2FuZGJveCB3aXAgb3RoZXIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrCitUaGUgZ2l0d2ViLmV4dHJhQnJhbmNoUmVmcyBpcyBhY3R1YWxseSBhIG11bHRpLXZhbHVlZCBjb25maWd1cmF0aW9uCit2YXJpYWJsZSwgc28gZm9sbG93aW5nIGV4YW1wbGUgaXMgYWxzbyBjb3JyZWN0IGFuZCB0aGUgcmVzdWx0IGlzIHRoZQorc2FtZSBhcyBvZiB0aGUgc25pcHBldCBhYm92ZToKKysKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbZ2l0d2ViXQorCWV4dHJhQnJhbmNoUmVmcyA9IHNhbmRib3gKKwlleHRyYUJyYW5jaFJlZnMgPSB3aXAgb3RoZXIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrCitJdCBpcyBhbiBlcnJvciB0byBzcGVjaWZ5IGEgcmVmIHRoYXQgZG9lcyBub3QgcGFzcyAiZ2l0IGNoZWNrLXJlZi1mb3JtYXQiCitzY3J1dGlueS4gRHVwbGljYXRlZCB2YWx1ZXMgYXJlIGZpbHRlcmVkLgorCiAKIEVYQU1QTEVTCiAtLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9nbG9zc2FyeS1jb250ZW50LnR4dCBiL0RvY3VtZW50YXRpb24vZ2xvc3NhcnktY29udGVudC50eHQKaW5kZXggZGJhNTA2Mi4uMzc4MzA2ZiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9nbG9zc2FyeS1jb250ZW50LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dsb3NzYXJ5LWNvbnRlbnQudHh0CkBAIC04Miw2ICs4MiwxOCBAQAogCXRvIHRoZSB0b3AgPDxkZWZfZGlyZWN0b3J5LGRpcmVjdG9yeT4+IG9mIHRoZSBzdG9yZWQKIAlyZXZpc2lvbi4KIAorW1tkZWZfY29tbWl0LWlzaF1dY29tbWl0LWlzaCAoYWxzbyBjb21taXR0aXNoKTo6CisJQSA8PGRlZl9jb21taXRfb2JqZWN0LGNvbW1pdCBvYmplY3Q+PiBvciBhbgorCTw8ZGVmX29iamVjdCxvYmplY3Q+PiB0aGF0IGNhbiBiZSByZWN1cnNpdmVseSBkZXJlZmVyZW5jZWQgdG8KKwlhIGNvbW1pdCBvYmplY3QuCisJVGhlIGZvbGxvd2luZyBhcmUgYWxsIGNvbW1pdC1pc2hlczoKKwlhIGNvbW1pdCBvYmplY3QsCisJYSA8PGRlZl90YWdfb2JqZWN0LHRhZyBvYmplY3Q+PiB0aGF0IHBvaW50cyB0byBhIGNvbW1pdAorCW9iamVjdCwKKwlhIHRhZyBvYmplY3QgdGhhdCBwb2ludHMgdG8gYSB0YWcgb2JqZWN0IHRoYXQgcG9pbnRzIHRvIGEKKwljb21taXQgb2JqZWN0LAorCWV0Yy4KKwogW1tkZWZfY29yZV9naXRdXWNvcmUgR2l0OjoKIAlGdW5kYW1lbnRhbCBkYXRhIHN0cnVjdHVyZXMgYW5kIHV0aWxpdGllcyBvZiBHaXQuIEV4cG9zZXMgb25seSBsaW1pdGVkCiAJc291cmNlIGNvZGUgbWFuYWdlbWVudCB0b29scy4KQEAgLTMxMSwyNCArMzIzLDY4IEBACiBBIHBhdGhzcGVjIHRoYXQgYmVnaW5zIHdpdGggYSBjb2xvbiBgOmAgaGFzIHNwZWNpYWwgbWVhbmluZy4gIEluIHRoZQogc2hvcnQgZm9ybSwgdGhlIGxlYWRpbmcgY29sb24gYDpgIGlzIGZvbGxvd2VkIGJ5IHplcm8gb3IgbW9yZSAibWFnaWMKIHNpZ25hdHVyZSIgbGV0dGVycyAod2hpY2ggb3B0aW9uYWxseSBpcyB0ZXJtaW5hdGVkIGJ5IGFub3RoZXIgY29sb24gYDpgKSwKLWFuZCB0aGUgcmVtYWluZGVyIGlzIHRoZSBwYXR0ZXJuIHRvIG1hdGNoIGFnYWluc3QgdGhlIHBhdGguIFRoZSBvcHRpb25hbAotY29sb24gdGhhdCB0ZXJtaW5hdGVzIHRoZSAibWFnaWMgc2lnbmF0dXJlIiBjYW4gYmUgb21pdHRlZCBpZiB0aGUgcGF0dGVybgotYmVnaW5zIHdpdGggYSBjaGFyYWN0ZXIgdGhhdCBjYW5ub3QgYmUgYSAibWFnaWMgc2lnbmF0dXJlIiBhbmQgaXMgbm90IGEKLWNvbG9uLgorYW5kIHRoZSByZW1haW5kZXIgaXMgdGhlIHBhdHRlcm4gdG8gbWF0Y2ggYWdhaW5zdCB0aGUgcGF0aC4KK1RoZSAibWFnaWMgc2lnbmF0dXJlIiBjb25zaXN0cyBvZiBBU0NJSSBzeW1ib2xzIHRoYXQgYXJlIG5laXRoZXIKK2FscGhhbnVtZXJpYywgZ2xvYiwgcmVnZXggc3BlY2lhbCBjaGFyYXRlcnMgbm9yIGNvbG9uLgorVGhlIG9wdGlvbmFsIGNvbG9uIHRoYXQgdGVybWluYXRlcyB0aGUgIm1hZ2ljIHNpZ25hdHVyZSIgY2FuIGJlCitvbWl0dGVkIGlmIHRoZSBwYXR0ZXJuIGJlZ2lucyB3aXRoIGEgY2hhcmFjdGVyIHRoYXQgZG9lcyBub3QgYmVsb25nIHRvCisibWFnaWMgc2lnbmF0dXJlIiBzeW1ib2wgc2V0IGFuZCBpcyBub3QgYSBjb2xvbi4KICsKIEluIHRoZSBsb25nIGZvcm0sIHRoZSBsZWFkaW5nIGNvbG9uIGA6YCBpcyBmb2xsb3dlZCBieSBhIG9wZW4KIHBhcmVudGhlc2lzIGAoYCwgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiB6ZXJvIG9yIG1vcmUgIm1hZ2ljIHdvcmRzIiwKIGFuZCBhIGNsb3NlIHBhcmVudGhlc2VzIGApYCwgYW5kIHRoZSByZW1haW5kZXIgaXMgdGhlIHBhdHRlcm4gdG8gbWF0Y2gKIGFnYWluc3QgdGhlIHBhdGguCiArCi1UaGUgIm1hZ2ljIHNpZ25hdHVyZSIgY29uc2lzdHMgb2YgYW4gQVNDSUkgc3ltYm9sIHRoYXQgaXMgbm90Ci1hbHBoYW51bWVyaWMuIEN1cnJlbnRseSBvbmx5IHRoZSBzbGFzaCBgL2AgaXMgcmVjb2duaXplZCBhcyBhCi0ibWFnaWMgc2lnbmF0dXJlIjogaXQgbWFrZXMgdGhlIHBhdHRlcm4gbWF0Y2ggZnJvbSB0aGUgcm9vdCBvZgotdGhlIHdvcmtpbmcgdHJlZSwgZXZlbiB3aGVuIHlvdSBhcmUgcnVubmluZyB0aGUgY29tbWFuZCBmcm9tCi1pbnNpZGUgYSBzdWJkaXJlY3RvcnkuCi0rCiBBIHBhdGhzcGVjIHdpdGggb25seSBhIGNvbG9uIG1lYW5zICJ0aGVyZSBpcyBubyBwYXRoc3BlYyIuIFRoaXMgZm9ybQogc2hvdWxkIG5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHBhdGhzcGVjLgorKworLS0KK3RvcDs7CisJVGhlIG1hZ2ljIHdvcmQgYHRvcGAgKG1hZ2ljIHNpZ25hdHVyZTogYC9gKSBtYWtlcyB0aGUgcGF0dGVybgorCW1hdGNoIGZyb20gdGhlIHJvb3Qgb2YgdGhlIHdvcmtpbmcgdHJlZSwgZXZlbiB3aGVuIHlvdSBhcmUKKwlydW5uaW5nIHRoZSBjb21tYW5kIGZyb20gaW5zaWRlIGEgc3ViZGlyZWN0b3J5LgorCitsaXRlcmFsOzsKKwlXaWxkY2FyZHMgaW4gdGhlIHBhdHRlcm4gc3VjaCBhcyBgKmAgb3IgYD9gIGFyZSB0cmVhdGVkCisJYXMgbGl0ZXJhbCBjaGFyYWN0ZXJzLgorCitpY2FzZTs7CisJQ2FzZSBpbnNlbnNpdGl2ZSBtYXRjaC4KKworZ2xvYjs7CisJR2l0IHRyZWF0cyB0aGUgcGF0dGVybiBhcyBhIHNoZWxsIGdsb2Igc3VpdGFibGUgZm9yCisJY29uc3VtcHRpb24gYnkgZm5tYXRjaCgzKSB3aXRoIHRoZSBGTk1fUEFUSE5BTUUgZmxhZzoKKwl3aWxkY2FyZHMgaW4gdGhlIHBhdHRlcm4gd2lsbCBub3QgbWF0Y2ggYSAvIGluIHRoZSBwYXRobmFtZS4KKwlGb3IgZXhhbXBsZSwgIkRvY3VtZW50YXRpb24ve2FzdGVyaXNrfS5odG1sIiBtYXRjaGVzCisJIkRvY3VtZW50YXRpb24vZ2l0Lmh0bWwiIGJ1dCBub3QgIkRvY3VtZW50YXRpb24vcHBjL3BwYy5odG1sIgorCW9yICJ0b29scy9wZXJmL0RvY3VtZW50YXRpb24vcGVyZi5odG1sIi4KKysKK1R3byBjb25zZWN1dGl2ZSBhc3Rlcmlza3MgKCJgKipgIikgaW4gcGF0dGVybnMgbWF0Y2hlZCBhZ2FpbnN0CitmdWxsIHBhdGhuYW1lIG1heSBoYXZlIHNwZWNpYWwgbWVhbmluZzoKKworIC0gQSBsZWFkaW5nICJgKipgIiBmb2xsb3dlZCBieSBhIHNsYXNoIG1lYW5zIG1hdGNoIGluIGFsbAorICAgZGlyZWN0b3JpZXMuIEZvciBleGFtcGxlLCAiYCoqL2Zvb2AiIG1hdGNoZXMgZmlsZSBvciBkaXJlY3RvcnkKKyAgICJgZm9vYCIgYW55d2hlcmUsIHRoZSBzYW1lIGFzIHBhdHRlcm4gImBmb29gIi4gImAqKi9mb28vYmFyYCIKKyAgIG1hdGNoZXMgZmlsZSBvciBkaXJlY3RvcnkgImBiYXJgIiBhbnl3aGVyZSB0aGF0IGlzIGRpcmVjdGx5CisgICB1bmRlciBkaXJlY3RvcnkgImBmb29gIi4KKworIC0gQSB0cmFpbGluZyAiYC8qKmAiIG1hdGNoZXMgZXZlcnl0aGluZyBpbnNpZGUuIEZvciBleGFtcGxlLAorICAgImBhYmMvKipgIiBtYXRjaGVzIGFsbCBmaWxlcyBpbnNpZGUgZGlyZWN0b3J5ICJhYmMiLCByZWxhdGl2ZQorICAgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZSBgLmdpdGlnbm9yZWAgZmlsZSwgd2l0aCBpbmZpbml0ZSBkZXB0aC4KKworIC0gQSBzbGFzaCBmb2xsb3dlZCBieSB0d28gY29uc2VjdXRpdmUgYXN0ZXJpc2tzIHRoZW4gYSBzbGFzaAorICAgbWF0Y2hlcyB6ZXJvIG9yIG1vcmUgZGlyZWN0b3JpZXMuIEZvciBleGFtcGxlLCAiYGEvKiovYmAiCisgICBtYXRjaGVzICJgYS9iYCIsICJgYS94L2JgIiwgImBhL3gveS9iYCIgYW5kIHNvIG9uLgorCisgLSBPdGhlciBjb25zZWN1dGl2ZSBhc3Rlcmlza3MgYXJlIGNvbnNpZGVyZWQgaW52YWxpZC4KKysKK0dsb2IgbWFnaWMgaXMgaW5jb21wYXRpYmxlIHdpdGggbGl0ZXJhbCBtYWdpYy4KKworZXhjbHVkZTs7CisJQWZ0ZXIgYSBwYXRoIG1hdGNoZXMgYW55IG5vbi1leGNsdWRlIHBhdGhzcGVjLCBpdCB3aWxsIGJlIHJ1bgorCXRocm91Z2ggYWxsIGV4Y2x1ZGUgcGF0aHNwZWMgKG1hZ2ljIHNpZ25hdHVyZTogYCFgKS4gSWYgaXQKKwltYXRjaGVzLCB0aGUgcGF0aCBpcyBpZ25vcmVkLgorLS0KIAogW1tkZWZfcGFyZW50XV1wYXJlbnQ6OgogCUEgPDxkZWZfY29tbWl0X29iamVjdCxjb21taXQgb2JqZWN0Pj4gY29udGFpbnMgYSAocG9zc2libHkgZW1wdHkpIGxpc3QKQEAgLTM4MywxMCArNDM5LDIwIEBACiAJdG8gdGhlIHJlc3VsdC4KIAogW1tkZWZfcmVmXV1yZWY6OgotCUEgNDAtYnl0ZSBoZXggcmVwcmVzZW50YXRpb24gb2YgYSA8PGRlZl9TSEExLFNIQS0xPj4gb3IgYSBuYW1lIHRoYXQKLQlkZW5vdGVzIGEgcGFydGljdWxhciA8PGRlZl9vYmplY3Qsb2JqZWN0Pj4uIFRoZXkgbWF5IGJlIHN0b3JlZCBpbgotCWEgZmlsZSB1bmRlciBgJEdJVF9ESVIvcmVmcy9gIGRpcmVjdG9yeSwgb3IKLQlpbiB0aGUgYCRHSVRfRElSL3BhY2tlZC1yZWZzYCBmaWxlLgorCUEgbmFtZSB0aGF0IGJlZ2lucyB3aXRoIGByZWZzL2AgKGUuZy4gYHJlZnMvaGVhZHMvbWFzdGVyYCkKKwl0aGF0IHBvaW50cyB0byBhbiA8PGRlZl9vYmplY3RfbmFtZSxvYmplY3QgbmFtZT4+IG9yIGFub3RoZXIKKwlyZWYgKHRoZSBsYXR0ZXIgaXMgY2FsbGVkIGEgPDxkZWZfc3ltcmVmLHN5bWJvbGljIHJlZj4+KS4KKwlGb3IgY29udmVuaWVuY2UsIGEgcmVmIGNhbiBzb21ldGltZXMgYmUgYWJicmV2aWF0ZWQgd2hlbiB1c2VkCisJYXMgYW4gYXJndW1lbnQgdG8gYSBHaXQgY29tbWFuZDsgc2VlIGxpbmtnaXQ6Z2l0cmV2aXNpb25zWzddCisJZm9yIGRldGFpbHMuCisJUmVmcyBhcmUgc3RvcmVkIGluIHRoZSA8PGRlZl9yZXBvc2l0b3J5LHJlcG9zaXRvcnk+Pi4KKysKK1RoZSByZWYgbmFtZXNwYWNlIGlzIGhpZXJhcmNoaWNhbC4KK0RpZmZlcmVudCBzdWJoaWVyYXJjaGllcyBhcmUgdXNlZCBmb3IgZGlmZmVyZW50IHB1cnBvc2VzIChlLmcuIHRoZQorYHJlZnMvaGVhZHMvYCBoaWVyYXJjaHkgaXMgdXNlZCB0byByZXByZXNlbnQgbG9jYWwgYnJhbmNoZXMpLgorKworVGhlcmUgYXJlIGEgZmV3IHNwZWNpYWwtcHVycG9zZSByZWZzIHRoYXQgZG8gbm90IGJlZ2luIHdpdGggYHJlZnMvYC4KK1RoZSBtb3N0IG5vdGFibGUgZXhhbXBsZSBpcyBgSEVBRGAuCiAKIFtbZGVmX3JlZmxvZ11dcmVmbG9nOjoKIAlBIHJlZmxvZyBzaG93cyB0aGUgbG9jYWwgImhpc3RvcnkiIG9mIGEgcmVmLiAgSW4gb3RoZXIgd29yZHMsCkBAIC00ODYsMTAgKzU1MiwxOSBAQAogCXdpdGggcmVmcyB0byB0aGUgYXNzb2NpYXRlZCBibG9iIGFuZC9vciB0cmVlIG9iamVjdHMuIEEKIAk8PGRlZl90cmVlLHRyZWU+PiBpcyBlcXVpdmFsZW50IHRvIGEgPDxkZWZfZGlyZWN0b3J5LGRpcmVjdG9yeT4+LgogCi1bW2RlZl90cmVlLWlzaF1ddHJlZS1pc2g6OgotCUEgPDxkZWZfcmVmLHJlZj4+IHBvaW50aW5nIHRvIGVpdGhlciBhIDw8ZGVmX2NvbW1pdF9vYmplY3QsY29tbWl0Ci0Jb2JqZWN0Pj4sIGEgPDxkZWZfdHJlZV9vYmplY3QsdHJlZSBvYmplY3Q+Piwgb3IgYSA8PGRlZl90YWdfb2JqZWN0LHRhZwotCW9iamVjdD4+IHBvaW50aW5nIHRvIGEgdGFnIG9yIGNvbW1pdCBvciB0cmVlIG9iamVjdC4KK1tbZGVmX3RyZWUtaXNoXV10cmVlLWlzaCAoYWxzbyB0cmVlaXNoKTo6CisJQSA8PGRlZl90cmVlX29iamVjdCx0cmVlIG9iamVjdD4+IG9yIGFuIDw8ZGVmX29iamVjdCxvYmplY3Q+PgorCXRoYXQgY2FuIGJlIHJlY3Vyc2l2ZWx5IGRlcmVmZXJlbmNlZCB0byBhIHRyZWUgb2JqZWN0LgorCURlcmVmZXJlbmNpbmcgYSA8PGRlZl9jb21taXRfb2JqZWN0LGNvbW1pdCBvYmplY3Q+PiB5aWVsZHMgdGhlCisJdHJlZSBvYmplY3QgY29ycmVzcG9uZGluZyB0byB0aGUgPDxkZWZfcmV2aXNpb24scmV2aXNpb24+PidzCisJdG9wIDw8ZGVmX2RpcmVjdG9yeSxkaXJlY3Rvcnk+Pi4KKwlUaGUgZm9sbG93aW5nIGFyZSBhbGwgdHJlZS1pc2hlczoKKwlhIDw8ZGVmX2NvbW1pdC1pc2gsY29tbWl0LWlzaD4+LAorCWEgdHJlZSBvYmplY3QsCisJYSA8PGRlZl90YWdfb2JqZWN0LHRhZyBvYmplY3Q+PiB0aGF0IHBvaW50cyB0byBhIHRyZWUgb2JqZWN0LAorCWEgdGFnIG9iamVjdCB0aGF0IHBvaW50cyB0byBhIHRhZyBvYmplY3QgdGhhdCBwb2ludHMgdG8gYSB0cmVlCisJb2JqZWN0LAorCWV0Yy4KIAogW1tkZWZfdW5tZXJnZWRfaW5kZXhdXXVubWVyZ2VkIGluZGV4OjoKIAlBbiA8PGRlZl9pbmRleCxpbmRleD4+IHdoaWNoIGNvbnRhaW5zIHVubWVyZ2VkCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2hvd3RvL21haW50YWluLWdpdC50eHQgYi9Eb2N1bWVudGF0aW9uL2hvd3RvL21haW50YWluLWdpdC50eHQKaW5kZXggMzNhZTY5Yy4uY2E0Mzc4NyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9ob3d0by9tYWludGFpbi1naXQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vaG93dG8vbWFpbnRhaW4tZ2l0LnR4dApAQCAtMzksMjYgKzM5LDI2IEBACiBmcm9tIHRoZSBtYWludGFpbmVyIiBtZXNzYWdlLCB3aGljaCBpcyBwZXJpb2RpY2FsbHkgcG9zdGVkIHRvCiB0aGlzIG1haWxpbmcgbGlzdCBhZnRlciBlYWNoIGZlYXR1cmUgcmVsZWFzZSBpcyBtYWRlLgogCi0gLSBGZWF0dXJlIHJlbGVhc2VzIGFyZSBudW1iZXJlZCBhcyB2WC5ZLlogYW5kIGFyZSBtZWFudCB0bworIC0gRmVhdHVyZSByZWxlYXNlcyBhcmUgbnVtYmVyZWQgYXMgdlguWS4wIGFuZCBhcmUgbWVhbnQgdG8KICAgIGNvbnRhaW4gYnVnZml4ZXMgYW5kIGVuaGFuY2VtZW50cyBpbiBhbnkgYXJlYSwgaW5jbHVkaW5nCiAgICBmdW5jdGlvbmFsaXR5LCBwZXJmb3JtYW5jZSBhbmQgdXNhYmlsaXR5LCB3aXRob3V0IHJlZ3Jlc3Npb24uCiAKICAtIE9uZSByZWxlYXNlIGN5Y2xlIGZvciBhIGZlYXR1cmUgcmVsZWFzZSBpcyBleHBlY3RlZCB0byBsYXN0IGZvcgogICAgZWlnaHQgdG8gdGVuIHdlZWtzLgogCi0gLSBNYWludGVuYW5jZSByZWxlYXNlcyBhcmUgbnVtYmVyZWQgYXMgdlguWS5aLlcgYW5kIGFyZSBtZWFudAotICAgdG8gY29udGFpbiBvbmx5IGJ1Z2ZpeGVzIGZvciB0aGUgY29ycmVzcG9uZGluZyB2WC5ZLlogZmVhdHVyZQotICAgcmVsZWFzZSBhbmQgZWFybGllciBtYWludGVuYW5jZSByZWxlYXNlcyB2WC5ZLlouViAoViA8IFcpLgorIC0gTWFpbnRlbmFuY2UgcmVsZWFzZXMgYXJlIG51bWJlcmVkIGFzIHZYLlkuWiBhbmQgYXJlIG1lYW50CisgICB0byBjb250YWluIG9ubHkgYnVnZml4ZXMgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHZYLlkuMCBmZWF0dXJlCisgICByZWxlYXNlIGFuZCBlYXJsaWVyIG1haW50ZW5hbmNlIHJlbGVhc2VzIHZYLlkuVyAoVyA8IFopLgogCiAgLSAnbWFzdGVyJyBicmFuY2ggaXMgdXNlZCB0byBwcmVwYXJlIGZvciB0aGUgbmV4dCBmZWF0dXJlCiAgICByZWxlYXNlLiBJbiBvdGhlciB3b3JkcywgYXQgc29tZSBwb2ludCwgdGhlIHRpcCBvZiAnbWFzdGVyJwotICAgYnJhbmNoIGlzIHRhZ2dlZCB3aXRoIHZYLlkuWi4KKyAgIGJyYW5jaCBpcyB0YWdnZWQgd2l0aCB2WC5ZLjAuCiAKICAtICdtYWludCcgYnJhbmNoIGlzIHVzZWQgdG8gcHJlcGFyZSBmb3IgdGhlIG5leHQgbWFpbnRlbmFuY2UKLSAgIHJlbGVhc2UuICBBZnRlciB0aGUgZmVhdHVyZSByZWxlYXNlIHZYLlkuWiBpcyBtYWRlLCB0aGUgdGlwCisgICByZWxlYXNlLiAgQWZ0ZXIgdGhlIGZlYXR1cmUgcmVsZWFzZSB2WC5ZLjAgaXMgbWFkZSwgdGhlIHRpcAogICAgb2YgJ21haW50JyBicmFuY2ggaXMgc2V0IHRvIHRoYXQgcmVsZWFzZSwgYW5kIGJ1Z2ZpeGVzIHdpbGwKICAgIGFjY3VtdWxhdGUgb24gdGhlIGJyYW5jaCwgYW5kIGF0IHNvbWUgcG9pbnQsIHRoZSB0aXAgb2YgdGhlCi0gICBicmFuY2ggaXMgdGFnZ2VkIHdpdGggdlguWS5aLjEsIHZYLlkuWi4yLCBhbmQgc28gb24uCisgICBicmFuY2ggaXMgdGFnZ2VkIHdpdGggdlguWS4xLCB2WC5ZLjIsIGFuZCBzbyBvbi4KIAogIC0gJ25leHQnIGJyYW5jaCBpcyB1c2VkIHRvIHB1Ymxpc2ggY2hhbmdlcyAoYm90aCBlbmhhbmNlbWVudHMKICAgIGFuZCBmaXhlcykgdGhhdCAoMSkgaGF2ZSB3b3J0aHdoaWxlIGdvYWwsICgyKSBhcmUgaW4gYSBmYWlybHkKQEAgLTg2LDYgKzg2LDEwIEBACiAgICB1c2VycyBhcmUgZW5jb3VyYWdlZCB0byB0ZXN0IGl0IHNvIHRoYXQgcmVncmVzc2lvbnMgYW5kIGJ1Z3MKICAgIGFyZSBmb3VuZCBiZWZvcmUgbmV3IHRvcGljcyBhcmUgbWVyZ2VkIHRvICdtYXN0ZXInLgogCitOb3RlIHRoYXQgYmVmb3JlIHYxLjkuMCByZWxlYXNlLCB0aGUgdmVyc2lvbiBudW1iZXJzIHVzZWQgdG8gYmUKK3N0cnVjdHVyZWQgc2xpZ2h0bHkgZGlmZmVyZW50bHkuICB2WC5ZLlogd2VyZSBmZWF0dXJlIHJlbGVhc2VzIHdoaWxlCit2WC5ZLlouVyB3ZXJlIG1haW50ZW5hbmNlIHJlbGVhc2VzIGZvciB2WC5ZLlouCisKIAogQSBUeXBpY2FsIEdpdCBEYXkKIC0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2hvd3RvL3JlY292ZXItY29ycnVwdGVkLW9iamVjdC1oYXJkZXIudHh0IGIvRG9jdW1lbnRhdGlvbi9ob3d0by9yZWNvdmVyLWNvcnJ1cHRlZC1vYmplY3QtaGFyZGVyLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjMzZGFjCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9ob3d0by9yZWNvdmVyLWNvcnJ1cHRlZC1vYmplY3QtaGFyZGVyLnR4dApAQCAtMCwwICsxLDI0MiBAQAorRGF0ZTogV2VkLCAxNiBPY3QgMjAxMyAwNDozNDowMSAtMDQwMAorRnJvbTogSmVmZiBLaW5nIDxwZWZmQHBlZmYubmV0PgorU3ViamVjdDogcGFjayBjb3JydXB0aW9uIHBvc3QtbW9ydGVtCitBYnN0cmFjdDogUmVjb3ZlcmluZyBhIGNvcnJ1cHRlZCBvYmplY3Qgd2hlbiBubyBnb29kIGNvcHkgaXMgYXZhaWxhYmxlLgorQ29udGVudC10eXBlOiB0ZXh0L2FzY2lpZG9jCisKK0hvdyB0byByZWNvdmVyIGFuIG9iamVjdCBmcm9tIHNjcmF0Y2gKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworSSB3YXMgcmVjZW50bHkgcHJlc2VudGVkIHdpdGggYSByZXBvc2l0b3J5IHdpdGggYSBjb3JydXB0ZWQgcGFja2ZpbGUsCithbmQgd2FzIGFza2VkIGlmIHRoZSBkYXRhIHdhcyByZWNvdmVyYWJsZS4gVGhpcyBwb3N0LW1vcnRlbSBkZXNjcmliZXMKK3RoZSBzdGVwcyBJIHRvb2sgdG8gaW52ZXN0aWdhdGUgYW5kIGZpeCB0aGUgcHJvYmxlbS4gSSB0aG91Z2h0IG90aGVycworbWlnaHQgZmluZCB0aGUgcHJvY2VzcyBpbnRlcmVzdGluZywgYW5kIGl0IG1pZ2h0IGhlbHAgc29tZWJvZHkgaW4gdGhlCitzYW1lIHNpdHVhdGlvbi4KKworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK05vdGU6IEluIHRoaXMgY2FzZSwgbm8gZ29vZCBjb3B5IG9mIHRoZSByZXBvc2l0b3J5IHdhcyBhdmFpbGFibGUuIEZvcgordGhlIG11Y2ggZWFzaWVyIGNhc2Ugd2hlcmUgeW91IGNhbiBnZXQgdGhlIGNvcnJ1cHRlZCBvYmplY3QgZnJvbQorZWxzZXdoZXJlLCBzZWUgbGluazpyZWNvdmVyLWNvcnJ1cHRlZC1ibG9iLW9iamVjdC5odG1sW3RoaXMgaG93dG9dLgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworSSBzdGFydGVkIHdpdGggYW4gZnNjaywgd2hpY2ggZm91bmQgYSBwcm9ibGVtIHdpdGggZXhhY3RseSBvbmUgb2JqZWN0CisoSSd2ZSB1c2VkICRwYWNrIGFuZCAkb2JqIGJlbG93IHRvIGtlZXAgdGhlIG91dHB1dCByZWFkYWJsZSwgYW5kIGFsc28KK2JlY2F1c2UgSSdsbCByZWZlciB0byB0aGVtIGxhdGVyKToKKworLS0tLS0tLS0tLS0KKyAgICAkIGdpdCBmc2NrCisgICAgZXJyb3I6ICRwYWNrIFNIQTEgY2hlY2tzdW0gbWlzbWF0Y2gKKyAgICBlcnJvcjogaW5kZXggQ1JDIG1pc21hdGNoIGZvciBvYmplY3QgJG9iaiBmcm9tICRwYWNrIGF0IG9mZnNldCA1MTY1Mzg3MworICAgIGVycm9yOiBpbmZsYXRlOiBkYXRhIHN0cmVhbSBlcnJvciAoaW5jb3JyZWN0IGRhdGEgY2hlY2spCisgICAgZXJyb3I6IGNhbm5vdCB1bnBhY2sgJG9iaiBmcm9tICRwYWNrIGF0IG9mZnNldCA1MTY1Mzg3MworLS0tLS0tLS0tLS0KKworVGhlIHBhY2sgY2hlY2tzdW0gZmFpbGluZyBtZWFucyBhIGJ5dGUgaXMgbXVuZ2VkIHNvbWV3aGVyZSwgYW5kIGl0IGlzCitwcmVzdW1hYmx5IGluIHRoZSBvYmplY3QgbWVudGlvbmVkIChzaW5jZSBib3RoIHRoZSBpbmRleCBjaGVja3N1bSBhbmQKK3psaWIgd2VyZSBmYWlsaW5nKS4KKworUmVhZGluZyB0aGUgemxpYiBzb3VyY2UgY29kZSwgSSBmb3VuZCB0aGF0ICJpbmNvcnJlY3QgZGF0YSBjaGVjayIgbWVhbnMKK3RoYXQgdGhlIGFkbGVyLTMyIGNoZWNrc3VtIGF0IHRoZSBlbmQgb2YgdGhlIHpsaWIgZGF0YSBkaWQgbm90IG1hdGNoIHRoZQoraW5mbGF0ZWQgZGF0YS4gU28gc3RlcHBpbmcgdGhlIGRhdGEgdGhyb3VnaCB6bGliIHdvdWxkIG5vdCBoZWxwLCBhcyBpdAorZGlkIG5vdCBmYWlsIHVudGlsIHRoZSB2ZXJ5IGVuZCwgd2hlbiB3ZSByZWFsaXplIHRoZSBjcmMgZG9lcyBub3QgbWF0Y2guCitUaGUgcHJvYmxlbWF0aWMgYnl0ZXMgY291bGQgYmUgYW55d2hlcmUgaW4gdGhlIG9iamVjdCBkYXRhLgorCitUaGUgZmlyc3QgdGhpbmcgSSBkaWQgd2FzIHB1bGwgdGhlIGJyb2tlbiBkYXRhIG91dCBvZiB0aGUgcGFja2ZpbGUuIEkKK25lZWRlZCB0byBrbm93IGhvdyBiaWcgdGhlIG9iamVjdCB3YXMsIHdoaWNoIEkgZm91bmQgb3V0IHdpdGg6CisKKy0tLS0tLS0tLS0tLQorICAgICQgZ2l0IHNob3ctaW5kZXggPCRpZHggfCBjdXQgLWQnICcgLWYxIHwgc29ydCAtbiB8IGdyZXAgLUExIDUxNjUzODczCisgICAgNTE2NTM4NzMKKyAgICA1MTY2NDczNgorLS0tLS0tLS0tLS0tCisKK1Nob3ctaW5kZXggZ2l2ZXMgdXMgdGhlIGxpc3Qgb2Ygb2JqZWN0cyBhbmQgdGhlaXIgb2Zmc2V0cy4gV2UgdGhyb3cgYXdheQorZXZlcnl0aGluZyBidXQgdGhlIG9mZnNldHMsIGFuZCB0aGVuIHNvcnQgdGhlbSBzbyB0aGF0IG91ciBpbnRlcmVzdGluZworb2Zmc2V0ICh3aGljaCB3ZSBnb3QgZnJvbSB0aGUgZnNjayBvdXRwdXQgYWJvdmUpIGlzIGZvbGxvd2VkIGltbWVkaWF0ZWx5CitieSB0aGUgb2Zmc2V0IG9mIHRoZSBuZXh0IG9iamVjdC4gTm93IHdlIGtub3cgdGhhdCB0aGUgb2JqZWN0IGRhdGEgaXMKKzEwODYzIGJ5dGVzIGxvbmcsIGFuZCB3ZSBjYW4gZ3JhYiBpdCB3aXRoOgorCistLS0tLS0tLS0tLS0KKyAgZGQgaWY9JHBhY2sgb2Y9b2JqZWN0IGJzPTEgc2tpcD01MTY1Mzg3MyBjb3VudD0xMDg2MworLS0tLS0tLS0tLS0tCisKK0kgaW5zcGVjdGVkIGEgaGV4ZHVtcCBvZiB0aGUgZGF0YSwgbG9va2luZyBmb3IgYW55IG9idmlvdXMgYm9nb3NpdHkKKyhlLmcuLCBhIDRLIHJ1biBvZiB6ZXJvZXMgd291bGQgYmUgYSBnb29kIHNpZ24gb2YgZmlsZXN5c3RlbQorY29ycnVwdGlvbikuIEJ1dCBldmVyeXRoaW5nIGxvb2tlZCBwcmV0dHkgcmVhc29uYWJsZS4KKworTm90ZSB0aGF0IHRoZSAib2JqZWN0IiBmaWxlIGlzbid0IGZpdCBmb3IgZmVlZGluZyBzdHJhaWdodCB0byB6bGliOyBpdAoraGFzIHRoZSBnaXQgcGFja2VkIG9iamVjdCBoZWFkZXIsIHdoaWNoIGlzIHZhcmlhYmxlLWxlbmd0aC4gV2Ugd2FudCB0bworc3RyaXAgdGhhdCBvZmYgc28gd2UgY2FuIHN0YXJ0IHBsYXlpbmcgd2l0aCB0aGUgemxpYiBkYXRhIGRpcmVjdGx5LiBZb3UKK2NhbiBlaXRoZXIgd29yayB5b3VyIHdheSB0aHJvdWdoIGl0IG1hbnVhbGx5ICh0aGUgZm9ybWF0IGlzIGRlc2NyaWJlZCBpbgorbGluazouLi90ZWNobmljYWwvcGFjay1mb3JtYXQuaHRtbFtEb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wYWNrLWZvcm1hdC50eHRdKSwKK29yIHlvdSBjYW4gd2FsayB0aHJvdWdoIGl0IGluIGEgZGVidWdnZXIuIEkgZGlkIHRoZSBsYXR0ZXIsIGNyZWF0aW5nIGEKK3ZhbGlkIHBhY2sgbGlrZToKKworLS0tLS0tLS0tLS0tCisgICAgIyBwYWNrIG1hZ2ljIGFuZCB2ZXJzaW9uCisgICAgcHJpbnRmICdQQUNLXDBcMFwwXDInID50bXAucGFjaworICAgICMgcGFjayBoYXMgb25lIG9iamVjdAorICAgIHByaW50ZiAnXDBcMFwwXDEnID4+dG1wLnBhY2sKKyAgICAjIG5vdyBhZGQgb3VyIG9iamVjdCBkYXRhCisgICAgY2F0IG9iamVjdCA+PnRtcC5wYWNrCisgICAgIyBhbmQgdGhlbiBhcHBlbmQgdGhlIHBhY2sgdHJhaWxlcgorICAgIC9wYXRoL3RvL2dpdC5naXQvdGVzdC1zaGExIC1iIDx0bXAucGFjayA+dHJhaWxlcgorICAgIGNhdCB0cmFpbGVyID4+dG1wLnBhY2sKKy0tLS0tLS0tLS0tLQorCithbmQgdGhlbiBydW5uaW5nICJnaXQgaW5kZXgtcGFjayB0bXAucGFjayIgaW4gdGhlIGRlYnVnZ2VyIChzdG9wIGF0Cit1bnBhY2tfcmF3X2VudHJ5KS4gRG9pbmcgdGhpcywgSSBmb3VuZCB0aGF0IHRoZXJlIHdlcmUgMyBieXRlcyBvZiBoZWFkZXIKKyhhbmQgdGhlIGhlYWRlciBpdHNlbGYgaGFkIGEgc2FuZSB0eXBlIGFuZCBzaXplKS4gU28gSSBzdHJpcHBlZCB0aG9zZQorb2ZmIHdpdGg6CisKKy0tLS0tLS0tLS0tLQorICAgIGRkIGlmPW9iamVjdCBvZj16bGliIGJzPTEgc2tpcD0zCistLS0tLS0tLS0tLS0KKworSSByYW4gdGhlIHJlc3VsdCB0aHJvdWdoIHpsaWIncyBpbmZsYXRlIHVzaW5nIGEgY3VzdG9tIEMgcHJvZ3JhbS4gQW5kCit3aGlsZSBpdCBkaWQgcmVwb3J0IHRoZSBlcnJvciwgSSBkaWQgZ2V0IHRoZSByaWdodCBudW1iZXIgb2Ygb3V0cHV0CitieXRlcyAoaS5lLiwgaXQgbWF0Y2hlZCBnaXQncyBzaXplIGhlYWRlciB0aGF0IHdlIGRlY29kZWQgYWJvdmUpLiBCdXQKK2ZlZWRpbmcgdGhlIHJlc3VsdCBiYWNrIHRvICJnaXQgaGFzaC1vYmplY3QiIGRpZG4ndCBwcm9kdWNlIHRoZSBzYW1lCitzaGExLiBTbyB0aGVyZSB3ZXJlIHNvbWUgd3JvbmcgYnl0ZXMsIGJ1dCBJIGRpZG4ndCBrbm93IHdoaWNoLiBUaGUgZmlsZQoraGFwcGVuZWQgdG8gYmUgQyBzb3VyY2UgY29kZSwgc28gSSBob3BlZCBJIGNvdWxkIG5vdGljZSBzb21ldGhpbmcKK29idmlvdXNseSB3cm9uZyB3aXRoIGl0LCBidXQgSSBkaWRuJ3QuIEkgZXZlbiBnb3QgaXQgdG8gY29tcGlsZSEKKworSSBhbHNvIHRyaWVkIGNvbXBhcmluZyBpdCB0byBvdGhlciB2ZXJzaW9ucyBvZiB0aGUgc2FtZSBwYXRoIGluIHRoZQorcmVwb3NpdG9yeSwgaG9waW5nIHRoYXQgdGhlcmUgd291bGQgYmUgc29tZSBwYXJ0IG9mIHRoZSBkaWZmIHRoYXQgZGlkbid0CittYWtlIHNlbnNlLiBVbmZvcnR1bmF0ZWx5LCB0aGlzIGhhcHBlbmVkIHRvIGJlIHRoZSBvbmx5IHJldmlzaW9uIG9mIHRoaXMKK3BhcnRpY3VsYXIgZmlsZSBpbiB0aGUgcmVwb3NpdG9yeSwgc28gSSBoYWQgbm90aGluZyB0byBjb21wYXJlIGFnYWluc3QuCisKK1NvIEkgdG9vayBhIGRpZmZlcmVudCBhcHByb2FjaC4gV29ya2luZyB1bmRlciB0aGUgZ3Vlc3MgdGhhdCB0aGUKK2NvcnJ1cHRpb24gd2FzIGxpbWl0ZWQgdG8gYSBzaW5nbGUgYnl0ZSwgSSB3cm90ZSBhIHByb2dyYW0gdG8gbXVuZ2UgZWFjaAorYnl0ZSBpbmRpdmlkdWFsbHksIGFuZCB0cnkgaW5mbGF0aW5nIHRoZSByZXN1bHQuIFNpbmNlIHRoZSBvYmplY3Qgd2FzCitvbmx5IDEwSyBjb21wcmVzc2VkLCB0aGF0IHdvcmtlZCBvdXQgdG8gYWJvdXQgMi41TSBhdHRlbXB0cywgd2hpY2ggdG9vaworYSBmZXcgbWludXRlcy4KKworVGhlIHByb2dyYW0gSSB1c2VkIGlzIGhlcmU6CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHpsaWIuaD4KKworc3RhdGljIGludCB0cnlfemxpYih1bnNpZ25lZCBjaGFyICpidWYsIGludCBsZW4pCit7CisJLyogbWFrZSB0aGlzIGFic3VyZGx5IGxhcmdlIHNvIHdlIGRvbid0IGhhdmUgdG8gbG9vcCAqLworCXN0YXRpYyB1bnNpZ25lZCBjaGFyIG91dFsxMDI0KjEwMjRdOworCXpfc3RyZWFtIHo7CisJaW50IHJldDsKKworCW1lbXNldCgmeiwgMCwgc2l6ZW9mKHopKTsKKwlpbmZsYXRlSW5pdCgmeik7CisKKwl6Lm5leHRfaW4gPSBidWY7CisJei5hdmFpbF9pbiA9IGxlbjsKKwl6Lm5leHRfb3V0ID0gb3V0OworCXouYXZhaWxfb3V0ID0gc2l6ZW9mKG91dCk7CisKKwlyZXQgPSBpbmZsYXRlKCZ6LCAwKTsKKwlpbmZsYXRlRW5kKCZ6KTsKKwlyZXR1cm4gcmV0ID49IDA7Cit9CisKKy8qIGV5ZSBjYW5keSAqLworc3RhdGljIGludCBjb3VudGVyID0gMDsKK3N0YXRpYyB2b2lkIHByb2dyZXNzKGludCBzaWcpCit7CisJZnByaW50ZihzdGRlcnIsICJcciVkIiwgY291bnRlcik7CisJYWxhcm0oMSk7Cit9CisKK2ludCBtYWluKHZvaWQpCit7CisJLyogb3ZlcnNpemVkIHNvIHdlIGNhbiByZWFkIHRoZSB3aG9sZSBidWZmZXIgaW4gKi8KKwl1bnNpZ25lZCBjaGFyIGJ1ZlsxMDI0KjEwMjRdOworCWludCBsZW47CisJdW5zaWduZWQgaSwgajsKKworCXNpZ25hbChTSUdBTFJNLCBwcm9ncmVzcyk7CisJYWxhcm0oMSk7CisKKwlsZW4gPSByZWFkKDAsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgeworCQl1bnNpZ25lZCBjaGFyIGMgPSBidWZbaV07CisJCWZvciAoaiA9IDA7IGogPD0gMHhmZjsgaisrKSB7CisJCQlidWZbaV0gPSBqOworCisJCQljb3VudGVyKys7CisJCQlpZiAodHJ5X3psaWIoYnVmLCBsZW4pKQorCQkJCXByaW50ZigiaT0lZCwgaj0leFxuIiwgaSwgaik7CisJCX0KKwkJYnVmW2ldID0gYzsKKwl9CisKKwlhbGFybSgwKTsKKwlmcHJpbnRmKHN0ZGVyciwgIlxuIik7CisJcmV0dXJuIDA7Cit9CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0kgY29tcGlsZWQgYW5kIHJhbiB3aXRoOgorCistLS0tLS0tCisgIGdjYyAtV2FsbCAtV2Vycm9yIC1PMyBtdW5nZS5jIC1vIG11bmdlIC1segorICAuL211bmdlIDx6bGliCistLS0tLS0tCisKKworVGhlcmUgd2VyZSBhIGZldyBmYWxzZSBwb3NpdGl2ZXMgZWFybHkgb24gKGlmIHlvdSB3cml0ZSAibm8gZGF0YSIgaW4gdGhlCit6bGliIGhlYWRlciwgemxpYiB0aGlua3MgaXQncyBqdXN0IGZpbmUgOikgKS4gQnV0IEkgZ290IGEgaGl0IGFib3V0CitoYWxmd2F5IHRocm91Z2g6CisKKy0tLS0tLS0KKyAgaT01NjQyLCBqPWM3CistLS0tLS0tCisKK0kgbGV0IGl0IHJ1biB0byBjb21wbGV0aW9uLCBhbmQgZ290IGEgZmV3IG1vcmUgaGl0cyBhdCB0aGUgZW5kICh3aGVyZSBpdAord2FzIG11bmdpbmcgdGhlIGNyYyB0byBtYXRjaCBvdXIgYnJva2VuIGRhdGEpLiBTbyB0aGVyZSB3YXMgYSBnb29kCitjaGFuY2UgdGhpcyBtaWRkbGUgaGl0IHdhcyB0aGUgc291cmNlIG9mIHRoZSBwcm9ibGVtLgorCitJIGNvbmZpcm1lZCBieSB0d2Vha2luZyB0aGUgYnl0ZSBpbiBhIGhleCBlZGl0b3IsIHpsaWIgaW5mbGF0aW5nIHRoZQorcmVzdWx0IChubyBlcnJvcnMhKSwgYW5kIHRoZW4gcGlwaW5nIHRoZSBvdXRwdXQgaW50byAiZ2l0IGhhc2gtb2JqZWN0IiwKK3doaWNoIHJlcG9ydGVkIHRoZSBzaGExIG9mIHRoZSBicm9rZW4gb2JqZWN0LiBTdWNjZXNzIQorCitJIGZpeGVkIHRoZSBwYWNrZmlsZSBpdHNlbGYgd2l0aDoKKworLS0tLS0tLQorICBjaG1vZCArdyAkcGFjaworICBwcmludGYgJ1x4YzcnIHwgZGQgb2Y9JHBhY2sgYnM9MSBzZWVrPTUxNjU5NTE4IGNvbnY9bm90cnVuYworICBjaG1vZCAtdyAkcGFjaworLS0tLS0tLQorCitUaGUgYFx4YzdgIGNvbWVzIGZyb20gdGhlIHJlcGxhY2VtZW50IGJ5dGUgb3VyICJtdW5nZSIgcHJvZ3JhbSBmb3VuZC4KK1RoZSBvZmZzZXQgNTE2NTk1MTggaXMgZGVyaXZlZCBieSB0YWtpbmcgdGhlIG9yaWdpbmFsIG9iamVjdCBvZmZzZXQKKyg1MTY1Mzg3MyksIGFkZGluZyB0aGUgcmVwbGFjZW1lbnQgb2Zmc2V0IGZvdW5kIGJ5ICJtdW5nZSIgKDU2NDIpLCBhbmQKK3RoZW4gYWRkaW5nIGJhY2sgaW4gdGhlIDMgYnl0ZXMgb2YgZ2l0IGhlYWRlciB3ZSBzdHJpcHBlZC4KKworQWZ0ZXIgdGhhdCwgImdpdCBmc2NrIiByYW4gY2xlYW4uCisKK0FzIGZvciB0aGUgY29ycnVwdGlvbiBpdHNlbGYsIEkgd2FzIGx1Y2t5IHRoYXQgaXQgd2FzIGluZGVlZCBhIHNpbmdsZQorYnl0ZS4gSW4gZmFjdCwgaXQgdHVybmVkIG91dCB0byBiZSBhIHNpbmdsZSBiaXQuIFRoZSBieXRlIDB4Yzcgd2FzCitjb3JydXB0ZWQgdG8gMHhjNS4gU28gcHJlc3VtYWJseSBpdCB3YXMgY2F1c2VkIGJ5IGZhdWx0eSBoYXJkd2FyZSwgb3IgYQorY29zbWljIHJheS4KKworQW5kIHRoZSBhYm9ydGVkIGF0dGVtcHQgdG8gbG9vayBhdCB0aGUgaW5mbGF0ZWQgb3V0cHV0IHRvIHNlZSB3aGF0IHdhcword3Jvbmc/IEkgY291bGQgaGF2ZSBsb29rZWQgZm9yZXZlciBhbmQgbmV2ZXIgZm91bmQgaXQuIEhlcmUncyB0aGUgZGlmZgorYmV0d2VlbiB3aGF0IHRoZSBjb3JydXB0ZWQgZGF0YSBpbmZsYXRlcyB0bywgdmVyc3VzIHRoZSByZWFsIGRhdGE6CisKKy0tLS0tLS0tLS0tLS0tCisgIC0gICAgICAgY3AgPSBzdHJ0b2sgKGFyZywgIisiKTsKKyAgKyAgICAgICBjcCA9IHN0cnRvayAoYXJnLCAiLiIpOworLS0tLS0tLS0tLS0tLS0KKworSXQgdHdlYWtlZCBvbmUgYnl0ZSBhbmQgc3RpbGwgZW5kZWQgdXAgYXMgdmFsaWQsIHJlYWRhYmxlIEMgdGhhdCBqdXN0CitoYXBwZW5lZCB0byBkbyBzb21ldGhpbmcgdG90YWxseSBkaWZmZXJlbnQhIE9uZSB0YWtlYXdheSBpcyB0aGF0IG9uIGEKK2xlc3MgdW5sdWNreSBkYXksIGxvb2tpbmcgYXQgdGhlIHpsaWIgb3V0cHV0IG1pZ2h0IGhhdmUgYWN0dWFsbHkgYmVlbgoraGVscGZ1bCwgYXMgbW9zdCByYW5kb20gY2hhbmdlcyB3b3VsZCBhY3R1YWxseSBicmVhayB0aGUgQyBjb2RlLgorCitCdXQgbW9yZSBpbXBvcnRhbnRseSwgZ2l0J3MgaGFzaGluZyBhbmQgY2hlY2tzdW1taW5nIG5vdGljZWQgYSBwcm9ibGVtCit0aGF0IGVhc2lseSBjb3VsZCBoYXZlIGdvbmUgdW5kZXRlY3RlZCBpbiBhbm90aGVyIHN5c3RlbS4gVGhlIHJlc3VsdAorc3RpbGwgY29tcGlsZWQsIGJ1dCB3b3VsZCBoYXZlIGNhdXNlZCBhbiBpbnRlcmVzdGluZyBidWcgKHRoYXQgd291bGQKK2hhdmUgYmVlbiBibGFtZWQgb24gc29tZSByYW5kb20gY29tbWl0KS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaG93dG8vcmV2ZXJ0LWEtZmF1bHR5LW1lcmdlLnR4dCBiL0RvY3VtZW50YXRpb24vaG93dG8vcmV2ZXJ0LWEtZmF1bHR5LW1lcmdlLnR4dAppbmRleCAwNzU0MThlLi5hY2YzZTQ3IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2hvd3RvL3JldmVydC1hLWZhdWx0eS1tZXJnZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9ob3d0by9yZXZlcnQtYS1mYXVsdHktbWVyZ2UudHh0CkBAIC0zNyw3ICszNyw3IEBACiBtZXJnZSB0aGF0IGJyaW5ncyB0aGVzZSBwcmVtYXR1cmUgY2hhbmdlcyBpbnRvIHRoZSBtYWlubGluZSwgeCBhcmUgY2hhbmdlcwogdW5yZWxhdGVkIHRvIHdoYXQgdGhlIHNpZGUgYnJhbmNoIGRpZCBhbmQgYWxyZWFkeSBtYWRlIG9uIHRoZSBtYWlubGluZSwKIGFuZCBXIGlzIHRoZSAicmV2ZXJ0IG9mIHRoZSBtZXJnZSBNIiAoZG9lc24ndCBXIGxvb2sgTSB1cHNpZGUgZG93bj8pLgotSU9XLCAiZGlmZiBXXi4uVyIgaXMgc2ltaWxhciB0byAiZGlmZiAtUiBNXi4uTSIuCitJT1csIGAiZGlmZiBXXi4uVyJgIGlzIHNpbWlsYXIgdG8gYCJkaWZmIC1SIE1eLi5NImAuCiAKIFN1Y2ggYSAicmV2ZXJ0IiBvZiBhIG1lcmdlIGNhbiBiZSBtYWRlIHdpdGg6CiAKQEAgLTEyMSw5ICsxMjEsOSBAQAogICAgICAgIC0tLUEtLS1CICAgICAgICAgICAgICAgICAgIEEnLS1CJy0tQycKIAogd2hlcmUgWSBpcyB0aGUgcmV2ZXJ0IG9mIFcsIEEnIGFuZCBCJyBhcmUgcmVyb2xsZWQgQSBhbmQgQiwgYW5kIHRoZXJlIG1heQotYWxzbyBiZSBhIGZ1cnRoZXIgZml4LXVwIEMnIG9uIHRoZSBzaWRlIGJyYW5jaC4gICJkaWZmIFleLi5ZIiBpcyBzaW1pbGFyCi10byAiZGlmZiAtUiBXXi4uVyIgKHdoaWNoIGluIHR1cm4gbWVhbnMgaXQgaXMgc2ltaWxhciB0byAiZGlmZiBNXi4uTSIpLAotYW5kICJkaWZmIEEnXi4uQyciIGJ5IGRlZmluaXRpb24gd291bGQgYmUgc2ltaWxhciBidXQgZGlmZmVyZW50IGZyb20gdGhhdCwKK2Fsc28gYmUgYSBmdXJ0aGVyIGZpeC11cCBDJyBvbiB0aGUgc2lkZSBicmFuY2guICBgImRpZmYgWV4uLlkiYCBpcyBzaW1pbGFyCit0byBgImRpZmYgLVIgV14uLlciYCAod2hpY2ggaW4gdHVybiBtZWFucyBpdCBpcyBzaW1pbGFyIHRvIGAiZGlmZiBNXi4uTSJgKSwKK2FuZCBgImRpZmYgQSdeLi5DJyJgIGJ5IGRlZmluaXRpb24gd291bGQgYmUgc2ltaWxhciBidXQgZGlmZmVyZW50IGZyb20gdGhhdCwKIGJlY2F1c2UgaXQgaXMgYSByZXJvbGxlZCBzZXJpZXMgb2YgdGhlIGVhcmxpZXIgY2hhbmdlLiAgVGhlcmUgd2lsbCBiZSBhCiBsb3Qgb2Ygb3ZlcmxhcHBpbmcgY2hhbmdlcyB0aGF0IHJlc3VsdCBpbiBjb25mbGljdHMuICBTbyBkbyBub3QgZG8gInJldmVydAogb2YgcmV2ZXJ0IiBibGluZGx5IHdpdGhvdXQgdGhpbmtpbmcuLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ob3d0by9yZXZlcnQtYnJhbmNoLXJlYmFzZS50eHQgYi9Eb2N1bWVudGF0aW9uL2hvd3RvL3JldmVydC1icmFuY2gtcmViYXNlLnR4dAppbmRleCAwZDU0MTllLi44NWY2OWRiIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2hvd3RvL3JldmVydC1icmFuY2gtcmViYXNlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2hvd3RvL3JldmVydC1icmFuY2gtcmViYXNlLnR4dApAQCAtMTU0LDcgKzE1NCw3IEBACiBQYWNraW5nIDAgb2JqZWN0cwogVW5wYWNraW5nIDAgb2JqZWN0cwogCi0qIGNvbW1pdHRpc2g6IGUzYTY5M2MuLi4JcmVmcy9oZWFkcy9tYXN0ZXIgZnJvbSAuCisqIGNvbW1pdC1pc2g6IGUzYTY5M2MuLi4JcmVmcy9oZWFkcy9tYXN0ZXIgZnJvbSAuCiBUcnlpbmcgdG8gbWVyZ2UgZTNhNjkzYy4uLiBpbnRvIDhjMWY1ZjAuLi4gdXNpbmcgMTBkNzgxYi4uLgogQ29tbWl0dGVkIG1lcmdlIDdmYjliNzI2MmExZDFlMGE0N2JiZmRjYmJjZjUwY2UwNjM1ZDNmOGYKICBjYWNoZS5oICAgICAgICB8ICAgIDggKysrKy0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaG93dG8vc2V0dXAtZ2l0LXNlcnZlci1vdmVyLWh0dHAudHh0IGIvRG9jdW1lbnRhdGlvbi9ob3d0by9zZXR1cC1naXQtc2VydmVyLW92ZXItaHR0cC50eHQKaW5kZXggYzgwMzY0OS4uNmRlNGYzYyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9ob3d0by9zZXR1cC1naXQtc2VydmVyLW92ZXItaHR0cC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9ob3d0by9zZXR1cC1naXQtc2VydmVyLW92ZXItaHR0cC50eHQKQEAgLTg1LDggKzg1LDggQEAKICAgICAkIGdpdCAtLWJhcmUgaW5pdAogCiAKLUNoYW5nZSB0aGUgb3duZXJzaGlwIHRvIHlvdXIgd2ViLXNlcnZlcidzIGNyZWRlbnRpYWxzLiBVc2UgImdyZXAgXlVzZXIKLWh0dHBkLmNvbmYiIGFuZCAiZ3JlcCBeR3JvdXAgaHR0cGQuY29uZiIgdG8gZmluZCBvdXQ6CitDaGFuZ2UgdGhlIG93bmVyc2hpcCB0byB5b3VyIHdlYi1zZXJ2ZXIncyBjcmVkZW50aWFscy4gVXNlIGAiZ3JlcCBeVXNlcgoraHR0cGQuY29uZiJgIGFuZCBgImdyZXAgXkdyb3VwIGh0dHBkLmNvbmYiYCB0byBmaW5kIG91dDoKIAogICAgICQgY2hvd24gLVIgd3d3Lnd3dyAuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbGluZS1yYW5nZS1mb3JtYXQudHh0IGIvRG9jdW1lbnRhdGlvbi9saW5lLXJhbmdlLWZvcm1hdC50eHQKaW5kZXggM2U3Y2U3Mi4uZDdmMjYwMyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9saW5lLXJhbmdlLWZvcm1hdC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9saW5lLXJhbmdlLWZvcm1hdC50eHQKQEAgLTEsMyArMSw1IEBACis8c3RhcnQ+IGFuZCA8ZW5kPiBjYW4gdGFrZSBvbmUgb2YgdGhlc2UgZm9ybXM6CisKIC0gbnVtYmVyCiArCiBJZiA8c3RhcnQ+IG9yIDxlbmQ+IGlzIGEgbnVtYmVyLCBpdCBzcGVjaWZpZXMgYW4KQEAgLTcsNyArOSwxMCBAQAogLSAvcmVnZXgvCiArCiBUaGlzIGZvcm0gd2lsbCB1c2UgdGhlIGZpcnN0IGxpbmUgbWF0Y2hpbmcgdGhlIGdpdmVuCi1QT1NJWCByZWdleC4gIElmIDxlbmQ+IGlzIGEgcmVnZXgsIGl0IHdpbGwgc2VhcmNoCitQT1NJWCByZWdleC4gSWYgPHN0YXJ0PiBpcyBhIHJlZ2V4LCBpdCB3aWxsIHNlYXJjaCBmcm9tIHRoZSBlbmQgb2YKK3RoZSBwcmV2aW91cyBgLUxgIHJhbmdlLCBpZiBhbnksIG90aGVyd2lzZSBmcm9tIHRoZSBzdGFydCBvZiBmaWxlLgorSWYgPHN0YXJ0PiBpcyBgYF4vcmVnZXgvJycsIGl0IHdpbGwgc2VhcmNoIGZyb20gdGhlIHN0YXJ0IG9mIGZpbGUuCitJZiA8ZW5kPiBpcyBhIHJlZ2V4LCBpdCB3aWxsIHNlYXJjaAogc3RhcnRpbmcgYXQgdGhlIGxpbmUgZ2l2ZW4gYnkgPHN0YXJ0Pi4KICsKIApAQCAtMTUsMTEgKzIwLDEwIEBACiArCiBUaGlzIGlzIG9ubHkgdmFsaWQgZm9yIDxlbmQ+IGFuZCB3aWxsIHNwZWNpZnkgYSBudW1iZXIKIG9mIGxpbmVzIGJlZm9yZSBvciBhZnRlciB0aGUgbGluZSBnaXZlbiBieSA8c3RhcnQ+LgotKwogCi0tIDpyZWdleAogKwotSWYgdGhlIG9wdGlvbidzIGFyZ3VtZW50IGlzIG9mIHRoZSBmb3JtIDpyZWdleCwgaXQgZGVub3RlcyB0aGUgcmFuZ2UKK0lmIGBgOjxyZWdleD4nJyBpcyBnaXZlbiBpbiBwbGFjZSBvZiA8c3RhcnQ+IGFuZCA8ZW5kPiwgaXQgZGVub3RlcyB0aGUgcmFuZ2UKIGZyb20gdGhlIGZpcnN0IGZ1bmNuYW1lIGxpbmUgdGhhdCBtYXRjaGVzIDxyZWdleD4sIHVwIHRvIHRoZSBuZXh0Ci1mdW5jbmFtZSBsaW5lLgotKworZnVuY25hbWUgbGluZS4gYGA6PHJlZ2V4PicnIHNlYXJjaGVzIGZyb20gdGhlIGVuZCBvZiB0aGUgcHJldmlvdXMgYC1MYCByYW5nZSwKK2lmIGFueSwgb3RoZXJ3aXNlIGZyb20gdGhlIHN0YXJ0IG9mIGZpbGUuCitgYF46PHJlZ2V4PicnIHNlYXJjaGVzIGZyb20gdGhlIHN0YXJ0IG9mIGZpbGUuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL21lcmdlLW9wdGlvbnMudHh0IGIvRG9jdW1lbnRhdGlvbi9tZXJnZS1vcHRpb25zLnR4dAppbmRleCBhZmJhOGQ0Li5lMTM0MzE1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL21lcmdlLW9wdGlvbnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vbWVyZ2Utb3B0aW9ucy50eHQKQEAgLTE0LDkgKzE0LDEyIEBACiAJZnVydGhlciBlZGl0IHRoZSBhdXRvLWdlbmVyYXRlZCBtZXJnZSBtZXNzYWdlLCBzbyB0aGF0IHRoZSB1c2VyCiAJY2FuIGV4cGxhaW4gYW5kIGp1c3RpZnkgdGhlIG1lcmdlLiBUaGUgYC0tbm8tZWRpdGAgb3B0aW9uIGNhbiBiZQogCXVzZWQgdG8gYWNjZXB0IHRoZSBhdXRvLWdlbmVyYXRlZCBtZXNzYWdlICh0aGlzIGlzIGdlbmVyYWxseQotCWRpc2NvdXJhZ2VkKS4gVGhlIGAtLWVkaXRgIChvciBgLWVgKSBvcHRpb24gaXMgc3RpbGwgdXNlZnVsIGlmIHlvdSBhcmUKLQlnaXZpbmcgYSBkcmFmdCBtZXNzYWdlIHdpdGggdGhlIGAtbWAgb3B0aW9uIGZyb20gdGhlIGNvbW1hbmQgbGluZQotCWFuZCB3YW50IHRvIGVkaXQgaXQgaW4gdGhlIGVkaXRvci4KKwlkaXNjb3VyYWdlZCkuCitpZm5kZWY6OmdpdC1wdWxsW10KK1RoZSBgLS1lZGl0YCAob3IgYC1lYCkgb3B0aW9uIGlzIHN0aWxsIHVzZWZ1bCBpZiB5b3UgYXJlCitnaXZpbmcgYSBkcmFmdCBtZXNzYWdlIHdpdGggdGhlIGAtbWAgb3B0aW9uIGZyb20gdGhlIGNvbW1hbmQgbGluZQorYW5kIHdhbnQgdG8gZWRpdCBpdCBpbiB0aGUgZWRpdG9yLgorZW5kaWY6OmdpdC1wdWxsW10KICsKIE9sZGVyIHNjcmlwdHMgbWF5IGRlcGVuZCBvbiB0aGUgaGlzdG9yaWNhbCBiZWhhdmlvdXIgb2Ygbm90IGFsbG93aW5nIHRoZQogdXNlciB0byBlZGl0IHRoZSBtZXJnZSBsb2cgbWVzc2FnZS4gVGhleSB3aWxsIHNlZSBhbiBlZGl0b3Igb3BlbmVkIHdoZW4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbWVyZ2Utc3RyYXRlZ2llcy50eHQgYi9Eb2N1bWVudGF0aW9uL21lcmdlLXN0cmF0ZWdpZXMudHh0CmluZGV4IDQ5YTlhN2QuLmZiNmU1OTMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vbWVyZ2Utc3RyYXRlZ2llcy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9tZXJnZS1zdHJhdGVnaWVzLnR4dApAQCAtMTEzLDMgKzExMywxMSBAQAogCW1hdGNoIHRoZSB0cmVlIHN0cnVjdHVyZSBvZiBBLCBpbnN0ZWFkIG9mIHJlYWRpbmcgdGhlIHRyZWVzIGF0CiAJdGhlIHNhbWUgbGV2ZWwuIFRoaXMgYWRqdXN0bWVudCBpcyBhbHNvIGRvbmUgdG8gdGhlIGNvbW1vbgogCWFuY2VzdG9yIHRyZWUuCisKK1dpdGggdGhlIHN0cmF0ZWdpZXMgdGhhdCB1c2UgMy13YXkgbWVyZ2UgKGluY2x1ZGluZyB0aGUgZGVmYXVsdCwgJ3JlY3Vyc2l2ZScpLAoraWYgYSBjaGFuZ2UgaXMgbWFkZSBvbiBib3RoIGJyYW5jaGVzLCBidXQgbGF0ZXIgcmV2ZXJ0ZWQgb24gb25lIG9mIHRoZQorYnJhbmNoZXMsIHRoYXQgY2hhbmdlIHdpbGwgYmUgcHJlc2VudCBpbiB0aGUgbWVyZ2VkIHJlc3VsdDsgc29tZSBwZW9wbGUgZmluZAordGhpcyBiZWhhdmlvciBjb25mdXNpbmcuICBJdCBvY2N1cnMgYmVjYXVzZSBvbmx5IHRoZSBoZWFkcyBhbmQgdGhlIG1lcmdlIGJhc2UKK2FyZSBjb25zaWRlcmVkIHdoZW4gcGVyZm9ybWluZyBhIG1lcmdlLCBub3QgdGhlIGluZGl2aWR1YWwgY29tbWl0cy4gIFRoZSBtZXJnZQorYWxnb3JpdGhtIHRoZXJlZm9yZSBjb25zaWRlcnMgdGhlIHJldmVydGVkIGNoYW5nZSBhcyBubyBjaGFuZ2UgYXQgYWxsLCBhbmQKK3N1YnN0aXR1dGVzIHRoZSBjaGFuZ2VkIHZlcnNpb24gaW5zdGVhZC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmV2LWxpc3Qtb3B0aW9ucy50eHQgYi9Eb2N1bWVudGF0aW9uL3Jldi1saXN0LW9wdGlvbnMudHh0CmluZGV4IDViZGZiNDIuLjAzNTMzYWYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vcmV2LWxpc3Qtb3B0aW9ucy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9yZXYtbGlzdC1vcHRpb25zLnR4dApAQCAtMTgsMzMgKzE4LDI3IEBACiAtPG51bWJlcj46OgogLW4gPG51bWJlcj46OgogLS1tYXgtY291bnQ9PG51bWJlcj46OgotCiAJTGltaXQgdGhlIG51bWJlciBvZiBjb21taXRzIHRvIG91dHB1dC4KIAogLS1za2lwPTxudW1iZXI+OjoKLQogCVNraXAgJ251bWJlcicgY29tbWl0cyBiZWZvcmUgc3RhcnRpbmcgdG8gc2hvdyB0aGUgY29tbWl0IG91dHB1dC4KIAogLS1zaW5jZT08ZGF0ZT46OgogLS1hZnRlcj08ZGF0ZT46OgotCiAJU2hvdyBjb21taXRzIG1vcmUgcmVjZW50IHRoYW4gYSBzcGVjaWZpYyBkYXRlLgogCiAtLXVudGlsPTxkYXRlPjo6CiAtLWJlZm9yZT08ZGF0ZT46OgotCiAJU2hvdyBjb21taXRzIG9sZGVyIHRoYW4gYSBzcGVjaWZpYyBkYXRlLgogCiBpZmRlZjo6Z2l0LXJldi1saXN0W10KIC0tbWF4LWFnZT08dGltZXN0YW1wPjo6CiAtLW1pbi1hZ2U9PHRpbWVzdGFtcD46OgotCiAJTGltaXQgdGhlIGNvbW1pdHMgb3V0cHV0IHRvIHNwZWNpZmllZCB0aW1lIHJhbmdlLgogZW5kaWY6OmdpdC1yZXYtbGlzdFtdCiAKIC0tYXV0aG9yPTxwYXR0ZXJuPjo6CiAtLWNvbW1pdHRlcj08cGF0dGVybj46OgotCiAJTGltaXQgdGhlIGNvbW1pdHMgb3V0cHV0IHRvIG9uZXMgd2l0aCBhdXRob3IvY29tbWl0dGVyCiAJaGVhZGVyIGxpbmVzIHRoYXQgbWF0Y2ggdGhlIHNwZWNpZmllZCBwYXR0ZXJuIChyZWd1bGFyCiAJZXhwcmVzc2lvbikuICBXaXRoIG1vcmUgdGhhbiBvbmUgYC0tYXV0aG9yPTxwYXR0ZXJuPmAsCkBAIC01Miw3ICs0Niw2IEBACiAJY2hvc2VuIChzaW1pbGFybHkgZm9yIG11bHRpcGxlIGAtLWNvbW1pdHRlcj08cGF0dGVybj5gKS4KIAogLS1ncmVwLXJlZmxvZz08cGF0dGVybj46OgotCiAJTGltaXQgdGhlIGNvbW1pdHMgb3V0cHV0IHRvIG9uZXMgd2l0aCByZWZsb2cgZW50cmllcyB0aGF0CiAJbWF0Y2ggdGhlIHNwZWNpZmllZCBwYXR0ZXJuIChyZWd1bGFyIGV4cHJlc3Npb24pLiBXaXRoCiAJbW9yZSB0aGFuIG9uZSBgLS1ncmVwLXJlZmxvZ2AsIGNvbW1pdHMgd2hvc2UgcmVmbG9nIG1lc3NhZ2UKQEAgLTYwLDcgKzUzLDYgQEAKIAllcnJvciB0byB1c2UgdGhpcyBvcHRpb24gdW5sZXNzIGAtLXdhbGstcmVmbG9nc2AgaXMgaW4gdXNlLgogCiAtLWdyZXA9PHBhdHRlcm4+OjoKLQogCUxpbWl0IHRoZSBjb21taXRzIG91dHB1dCB0byBvbmVzIHdpdGggbG9nIG1lc3NhZ2UgdGhhdAogCW1hdGNoZXMgdGhlIHNwZWNpZmllZCBwYXR0ZXJuIChyZWd1bGFyIGV4cHJlc3Npb24pLiAgV2l0aAogCW1vcmUgdGhhbiBvbmUgYC0tZ3JlcD08cGF0dGVybj5gLCBjb21taXRzIHdob3NlIG1lc3NhZ2UKQEAgLTcxLDQ2ICs2MywzOSBAQAogaWYgaXQgaXMgcGFydCBvZiB0aGUgbG9nIG1lc3NhZ2UuCiAKIC0tYWxsLW1hdGNoOjoKLQlMaW1pdCB0aGUgY29tbWl0cyBvdXRwdXQgdG8gb25lcyB0aGF0IG1hdGNoIGFsbCBnaXZlbiAtLWdyZXAsCisJTGltaXQgdGhlIGNvbW1pdHMgb3V0cHV0IHRvIG9uZXMgdGhhdCBtYXRjaCBhbGwgZ2l2ZW4gYC0tZ3JlcGAsCiAJaW5zdGVhZCBvZiBvbmVzIHRoYXQgbWF0Y2ggYXQgbGVhc3Qgb25lLgogCiAtaTo6CiAtLXJlZ2V4cC1pZ25vcmUtY2FzZTo6Ci0KLQlNYXRjaCB0aGUgcmVnZXhwIGxpbWl0aW5nIHBhdHRlcm5zIHdpdGhvdXQgcmVnYXJkIHRvIGxldHRlcnMgY2FzZS4KKwlNYXRjaCB0aGUgcmVndWxhciBleHByZXNzaW9uIGxpbWl0aW5nIHBhdHRlcm5zIHdpdGhvdXQgcmVnYXJkIHRvIGxldHRlcgorCWNhc2UuCiAKIC0tYmFzaWMtcmVnZXhwOjoKLQogCUNvbnNpZGVyIHRoZSBsaW1pdGluZyBwYXR0ZXJucyB0byBiZSBiYXNpYyByZWd1bGFyIGV4cHJlc3Npb25zOwogCXRoaXMgaXMgdGhlIGRlZmF1bHQuCiAKIC1FOjoKIC0tZXh0ZW5kZWQtcmVnZXhwOjoKLQogCUNvbnNpZGVyIHRoZSBsaW1pdGluZyBwYXR0ZXJucyB0byBiZSBleHRlbmRlZCByZWd1bGFyIGV4cHJlc3Npb25zCiAJaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBiYXNpYyByZWd1bGFyIGV4cHJlc3Npb25zLgogCiAtRjo6CiAtLWZpeGVkLXN0cmluZ3M6OgotCiAJQ29uc2lkZXIgdGhlIGxpbWl0aW5nIHBhdHRlcm5zIHRvIGJlIGZpeGVkIHN0cmluZ3MgKGRvbid0IGludGVycHJldAogCXBhdHRlcm4gYXMgYSByZWd1bGFyIGV4cHJlc3Npb24pLgogCiAtLXBlcmwtcmVnZXhwOjoKLQotCUNvbnNpZGVyIHRoZSBsaW1pdGluZyBwYXR0ZXJucyB0byBiZSBQZXJsLWNvbXBhdGlibGUgcmVnZXhwLgorCUNvbnNpZGVyIHRoZSBsaW1pdGluZyBwYXR0ZXJucyB0byBiZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucy4KIAlSZXF1aXJlcyBsaWJwY3JlIHRvIGJlIGNvbXBpbGVkIGluLgogCiAtLXJlbW92ZS1lbXB0eTo6Ci0KIAlTdG9wIHdoZW4gYSBnaXZlbiBwYXRoIGRpc2FwcGVhcnMgZnJvbSB0aGUgdHJlZS4KIAogLS1tZXJnZXM6OgotCiAJUHJpbnQgb25seSBtZXJnZSBjb21taXRzLiBUaGlzIGlzIGV4YWN0bHkgdGhlIHNhbWUgYXMgYC0tbWluLXBhcmVudHM9MmAuCiAKIC0tbm8tbWVyZ2VzOjoKLQogCURvIG5vdCBwcmludCBjb21taXRzIHdpdGggbW9yZSB0aGFuIG9uZSBwYXJlbnQuIFRoaXMgaXMKIAlleGFjdGx5IHRoZSBzYW1lIGFzIGAtLW1heC1wYXJlbnRzPTFgLgogCkBAIC0xMTgsNyArMTAzLDYgQEAKIC0tbWF4LXBhcmVudHM9PG51bWJlcj46OgogLS1uby1taW4tcGFyZW50czo6CiAtLW5vLW1heC1wYXJlbnRzOjoKLQogCVNob3cgb25seSBjb21taXRzIHdoaWNoIGhhdmUgYXQgbGVhc3QgKG9yIGF0IG1vc3QpIHRoYXQgbWFueSBwYXJlbnQKIAljb21taXRzLiBJbiBwYXJ0aWN1bGFyLCBgLS1tYXgtcGFyZW50cz0xYCBpcyB0aGUgc2FtZSBhcyBgLS1uby1tZXJnZXNgLAogCWAtLW1pbi1wYXJlbnRzPTJgIGlzIHRoZSBzYW1lIGFzIGAtLW1lcmdlc2AuICBgLS1tYXgtcGFyZW50cz0wYApAQCAtMTM4LDMxICsxMjIsMjYgQEAKIAlicm91Z2h0IGluIHRvIHlvdXIgaGlzdG9yeSBieSBzdWNoIGEgbWVyZ2UuCiAKIC0tbm90OjoKLQogCVJldmVyc2VzIHRoZSBtZWFuaW5nIG9mIHRoZSAne2NhcmV0fScgcHJlZml4IChvciBsYWNrIHRoZXJlb2YpCi0JZm9yIGFsbCBmb2xsb3dpbmcgcmV2aXNpb24gc3BlY2lmaWVycywgdXAgdG8gdGhlIG5leHQgJy0tbm90Jy4KKwlmb3IgYWxsIGZvbGxvd2luZyByZXZpc2lvbiBzcGVjaWZpZXJzLCB1cCB0byB0aGUgbmV4dCBgLS1ub3RgLgogCiAtLWFsbDo6Ci0KIAlQcmV0ZW5kIGFzIGlmIGFsbCB0aGUgcmVmcyBpbiBgcmVmcy9gIGFyZSBsaXN0ZWQgb24gdGhlCiAJY29tbWFuZCBsaW5lIGFzICc8Y29tbWl0PicuCiAKIC0tYnJhbmNoZXNbPTxwYXR0ZXJuPl06OgotCiAJUHJldGVuZCBhcyBpZiBhbGwgdGhlIHJlZnMgaW4gYHJlZnMvaGVhZHNgIGFyZSBsaXN0ZWQKIAlvbiB0aGUgY29tbWFuZCBsaW5lIGFzICc8Y29tbWl0PicuIElmICc8cGF0dGVybj4nIGlzIGdpdmVuLCBsaW1pdAogCWJyYW5jaGVzIHRvIG9uZXMgbWF0Y2hpbmcgZ2l2ZW4gc2hlbGwgZ2xvYi4gSWYgcGF0dGVybiBsYWNrcyAnPycsCiAJJ3thc3Rlcmlza30nLCBvciAnWycsICcve2FzdGVyaXNrfScgYXQgdGhlIGVuZCBpcyBpbXBsaWVkLgogCiAtLXRhZ3NbPTxwYXR0ZXJuPl06OgotCiAJUHJldGVuZCBhcyBpZiBhbGwgdGhlIHJlZnMgaW4gYHJlZnMvdGFnc2AgYXJlIGxpc3RlZAogCW9uIHRoZSBjb21tYW5kIGxpbmUgYXMgJzxjb21taXQ+Jy4gSWYgJzxwYXR0ZXJuPicgaXMgZ2l2ZW4sIGxpbWl0CiAJdGFncyB0byBvbmVzIG1hdGNoaW5nIGdpdmVuIHNoZWxsIGdsb2IuIElmIHBhdHRlcm4gbGFja3MgJz8nLCAne2FzdGVyaXNrfScsCiAJb3IgJ1snLCAnL3thc3Rlcmlza30nIGF0IHRoZSBlbmQgaXMgaW1wbGllZC4KIAogLS1yZW1vdGVzWz08cGF0dGVybj5dOjoKLQogCVByZXRlbmQgYXMgaWYgYWxsIHRoZSByZWZzIGluIGByZWZzL3JlbW90ZXNgIGFyZSBsaXN0ZWQKIAlvbiB0aGUgY29tbWFuZCBsaW5lIGFzICc8Y29tbWl0PicuIElmICc8cGF0dGVybj4nIGlzIGdpdmVuLCBsaW1pdAogCXJlbW90ZS10cmFja2luZyBicmFuY2hlcyB0byBvbmVzIG1hdGNoaW5nIGdpdmVuIHNoZWxsIGdsb2IuCkBAIC0xNzQsMTQgKzE1MywyNyBAQAogCWlzIGF1dG9tYXRpY2FsbHkgcHJlcGVuZGVkIGlmIG1pc3NpbmcuIElmIHBhdHRlcm4gbGFja3MgJz8nLCAne2FzdGVyaXNrfScsCiAJb3IgJ1snLCAnL3thc3Rlcmlza30nIGF0IHRoZSBlbmQgaXMgaW1wbGllZC4KIAotLS1pZ25vcmUtbWlzc2luZzo6CistLWV4Y2x1ZGU9PGdsb2ItcGF0dGVybj46OgogCisJRG8gbm90IGluY2x1ZGUgcmVmcyBtYXRjaGluZyAnPGdsb2ItcGF0dGVybj4nIHRoYXQgdGhlIG5leHQgYC0tYWxsYCwKKwlgLS1icmFuY2hlc2AsIGAtLXRhZ3NgLCBgLS1yZW1vdGVzYCwgb3IgYC0tZ2xvYmAgd291bGQgb3RoZXJ3aXNlCisJY29uc2lkZXIuIFJlcGV0aXRpb25zIG9mIHRoaXMgb3B0aW9uIGFjY3VtdWxhdGUgZXhjbHVzaW9uIHBhdHRlcm5zCisJdXAgdG8gdGhlIG5leHQgYC0tYWxsYCwgYC0tYnJhbmNoZXNgLCBgLS10YWdzYCwgYC0tcmVtb3Rlc2AsIG9yCisJYC0tZ2xvYmAgb3B0aW9uIChvdGhlciBvcHRpb25zIG9yIGFyZ3VtZW50cyBkbyBub3QgY2xlYXIKKwlhY2N1bWxhdGVkIHBhdHRlcm5zKS4KKysKK1RoZSBwYXR0ZXJucyBnaXZlbiBzaG91bGQgbm90IGJlZ2luIHdpdGggYHJlZnMvaGVhZHNgLCBgcmVmcy90YWdzYCwgb3IKK2ByZWZzL3JlbW90ZXNgIHdoZW4gYXBwbGllZCB0byBgLS1icmFuY2hlc2AsIGAtLXRhZ3NgLCBvciBgLS1yZW1vdGVzYCwKK3Jlc3BlY3RpdmVseSwgYW5kIHRoZXkgbXVzdCBiZWdpbiB3aXRoIGByZWZzL2Agd2hlbiBhcHBsaWVkIHRvIGAtLWdsb2JgCitvciBgLS1hbGxgLiBJZiBhIHRyYWlsaW5nICcve2FzdGVyaXNrfScgaXMgaW50ZW5kZWQsIGl0IG11c3QgYmUgZ2l2ZW4KK2V4cGxpY2l0bHkuCisKKy0taWdub3JlLW1pc3Npbmc6OgogCVVwb24gc2VlaW5nIGFuIGludmFsaWQgb2JqZWN0IG5hbWUgaW4gdGhlIGlucHV0LCBwcmV0ZW5kIGFzIGlmCiAJdGhlIGJhZCBpbnB1dCB3YXMgbm90IGdpdmVuLgogCiBpZm5kZWY6OmdpdC1yZXYtbGlzdFtdCiAtLWJpc2VjdDo6Ci0KIAlQcmV0ZW5kIGFzIGlmIHRoZSBiYWQgYmlzZWN0aW9uIHJlZiBgcmVmcy9iaXNlY3QvYmFkYAogCXdhcyBsaXN0ZWQgYW5kIGFzIGlmIGl0IHdhcyBmb2xsb3dlZCBieSBgLS1ub3RgIGFuZCB0aGUgZ29vZAogCWJpc2VjdGlvbiByZWZzIGByZWZzL2Jpc2VjdC9nb29kLSpgIG9uIHRoZSBjb21tYW5kCkBAIC0xODksNyArMTgxLDYgQEAKIGVuZGlmOjpnaXQtcmV2LWxpc3RbXQogCiAtLXN0ZGluOjoKLQogCUluIGFkZGl0aW9uIHRvIHRoZSAnPGNvbW1pdD4nIGxpc3RlZCBvbiB0aGUgY29tbWFuZAogCWxpbmUsIHJlYWQgdGhlbSBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dC4gSWYgYSAnLS0nIHNlcGFyYXRvciBpcwogCXNlZW4sIHN0b3AgcmVhZGluZyBjb21taXRzIGFuZCBzdGFydCByZWFkaW5nIHBhdGhzIHRvIGxpbWl0IHRoZQpAQCAtMTk3LDM2ICsxODgsMzIgQEAKIAogaWZkZWY6OmdpdC1yZXYtbGlzdFtdCiAtLXF1aWV0OjoKLQogCURvbid0IHByaW50IGFueXRoaW5nIHRvIHN0YW5kYXJkIG91dHB1dC4gIFRoaXMgZm9ybQogCWlzIHByaW1hcmlseSBtZWFudCB0byBhbGxvdyB0aGUgY2FsbGVyIHRvCiAJdGVzdCB0aGUgZXhpdCBzdGF0dXMgdG8gc2VlIGlmIGEgcmFuZ2Ugb2Ygb2JqZWN0cyBpcyBmdWxseQogCWNvbm5lY3RlZCAob3Igbm90KS4gIEl0IGlzIGZhc3RlciB0aGFuIHJlZGlyZWN0aW5nIHN0ZG91dAotCXRvIC9kZXYvbnVsbCBhcyB0aGUgb3V0cHV0IGRvZXMgbm90IGhhdmUgdG8gYmUgZm9ybWF0dGVkLgorCXRvIGAvZGV2L251bGxgIGFzIHRoZSBvdXRwdXQgZG9lcyBub3QgaGF2ZSB0byBiZSBmb3JtYXR0ZWQuCiBlbmRpZjo6Z2l0LXJldi1saXN0W10KIAogLS1jaGVycnktbWFyazo6Ci0KIAlMaWtlIGAtLWNoZXJyeS1waWNrYCAoc2VlIGJlbG93KSBidXQgbWFyayBlcXVpdmFsZW50IGNvbW1pdHMKIAl3aXRoIGA9YCByYXRoZXIgdGhhbiBvbWl0dGluZyB0aGVtLCBhbmQgaW5lcXVpdmFsZW50IG9uZXMgd2l0aCBgK2AuCiAKIC0tY2hlcnJ5LXBpY2s6OgotCiAJT21pdCBhbnkgY29tbWl0IHRoYXQgaW50cm9kdWNlcyB0aGUgc2FtZSBjaGFuZ2UgYXMKLQlhbm90aGVyIGNvbW1pdCBvbiB0aGUgIm90aGVyIHNpZGUiIHdoZW4gdGhlIHNldCBvZgorCWFub3RoZXIgY29tbWl0IG9uIHRoZSBgYG90aGVyIHNpZGUnJyB3aGVuIHRoZSBzZXQgb2YKIAljb21taXRzIGFyZSBsaW1pdGVkIHdpdGggc3ltbWV0cmljIGRpZmZlcmVuY2UuCiArCiBGb3IgZXhhbXBsZSwgaWYgeW91IGhhdmUgdHdvIGJyYW5jaGVzLCBgQWAgYW5kIGBCYCwgYSB1c3VhbCB3YXkKIHRvIGxpc3QgYWxsIGNvbW1pdHMgb24gb25seSBvbmUgc2lkZSBvZiB0aGVtIGlzIHdpdGgKIGAtLWxlZnQtcmlnaHRgIChzZWUgdGhlIGV4YW1wbGUgYmVsb3cgaW4gdGhlIGRlc2NyaXB0aW9uIG9mCi10aGUgYC0tbGVmdC1yaWdodGAgb3B0aW9uKS4gIEl0IGhvd2V2ZXIgc2hvd3MgdGhlIGNvbW1pdHMgdGhhdCB3ZXJlIGNoZXJyeS1waWNrZWQKLWZyb20gdGhlIG90aGVyIGJyYW5jaCAoZm9yIGV4YW1wbGUsICIzcmQgb24gYiIgbWF5IGJlIGNoZXJyeS1waWNrZWQKLWZyb20gYnJhbmNoIEEpLiAgV2l0aCB0aGlzIG9wdGlvbiwgc3VjaCBwYWlycyBvZiBjb21taXRzIGFyZQordGhlIGAtLWxlZnQtcmlnaHRgIG9wdGlvbikuIEhvd2V2ZXIsIGl0IHNob3dzIHRoZSBjb21taXRzIHRoYXQgd2VyZQorY2hlcnJ5LXBpY2tlZCBmcm9tIHRoZSBvdGhlciBicmFuY2ggKGZvciBleGFtcGxlLCBgYDNyZCBvbiBiJycgbWF5IGJlCitjaGVycnktcGlja2VkIGZyb20gYnJhbmNoIEEpLiBXaXRoIHRoaXMgb3B0aW9uLCBzdWNoIHBhaXJzIG9mIGNvbW1pdHMgYXJlCiBleGNsdWRlZCBmcm9tIHRoZSBvdXRwdXQuCiAKIC0tbGVmdC1vbmx5OjoKIC0tcmlnaHQtb25seTo6Ci0KIAlMaXN0IG9ubHkgY29tbWl0cyBvbiB0aGUgcmVzcGVjdGl2ZSBzaWRlIG9mIGEgc3ltbWV0cmljIHJhbmdlLAogCWkuZS4gb25seSB0aG9zZSB3aGljaCB3b3VsZCBiZSBtYXJrZWQgYDxgIHJlc3AuIGA+YCBieQogCWAtLWxlZnQtcmlnaHRgLgpAQCAtMjM4LDcgKzIyNSw2IEBACiBsaXN0LgogCiAtLWNoZXJyeTo6Ci0KIAlBIHN5bm9ueW0gZm9yIGAtLXJpZ2h0LW9ubHkgLS1jaGVycnktbWFyayAtLW5vLW1lcmdlc2A7IHVzZWZ1bCB0bwogCWxpbWl0IHRoZSBvdXRwdXQgdG8gdGhlIGNvbW1pdHMgb24gb3VyIHNpZGUgYW5kIG1hcmsgdGhvc2UgdGhhdAogCWhhdmUgYmVlbiBhcHBsaWVkIHRvIHRoZSBvdGhlciBzaWRlIG9mIGEgZm9ya2VkIGhpc3Rvcnkgd2l0aApAQCAtMjQ3LDMwICsyMzMsMjcgQEAKIAogLWc6OgogLS13YWxrLXJlZmxvZ3M6OgotCiAJSW5zdGVhZCBvZiB3YWxraW5nIHRoZSBjb21taXQgYW5jZXN0cnkgY2hhaW4sIHdhbGsKIAlyZWZsb2cgZW50cmllcyBmcm9tIHRoZSBtb3N0IHJlY2VudCBvbmUgdG8gb2xkZXIgb25lcy4KIAlXaGVuIHRoaXMgb3B0aW9uIGlzIHVzZWQgeW91IGNhbm5vdCBzcGVjaWZ5IGNvbW1pdHMgdG8KIAlleGNsdWRlICh0aGF0IGlzLCAne2NhcmV0fWNvbW1pdCcsICdjb21taXQxLi5jb21taXQyJywKIAlub3IgJ2NvbW1pdDFcLi4uY29tbWl0Micgbm90YXRpb25zIGNhbm5vdCBiZSB1c2VkKS4KICsKLVdpdGggJ1wtLXByZXR0eScgZm9ybWF0IG90aGVyIHRoYW4gb25lbGluZSAoZm9yIG9idmlvdXMgcmVhc29ucyksCitXaXRoIGAtLXByZXR0eWAgZm9ybWF0IG90aGVyIHRoYW4gYG9uZWxpbmVgIChmb3Igb2J2aW91cyByZWFzb25zKSwKIHRoaXMgY2F1c2VzIHRoZSBvdXRwdXQgdG8gaGF2ZSB0d28gZXh0cmEgbGluZXMgb2YgaW5mb3JtYXRpb24KIHRha2VuIGZyb20gdGhlIHJlZmxvZy4gIEJ5IGRlZmF1bHQsICdjb21taXRAXHtOdGh9JyBub3RhdGlvbiBpcwogdXNlZCBpbiB0aGUgb3V0cHV0LiAgV2hlbiB0aGUgc3RhcnRpbmcgY29tbWl0IGlzIHNwZWNpZmllZCBhcwogJ2NvbW1pdEBce25vd30nLCBvdXRwdXQgYWxzbyB1c2VzICdjb21taXRAXHt0aW1lc3RhbXB9JyBub3RhdGlvbgotaW5zdGVhZC4gIFVuZGVyICdcLS1wcmV0dHk9b25lbGluZScsIHRoZSBjb21taXQgbWVzc2FnZSBpcworaW5zdGVhZC4gIFVuZGVyIGAtLXByZXR0eT1vbmVsaW5lYCwgdGhlIGNvbW1pdCBtZXNzYWdlIGlzCiBwcmVmaXhlZCB3aXRoIHRoaXMgaW5mb3JtYXRpb24gb24gdGhlIHNhbWUgbGluZS4KLVRoaXMgb3B0aW9uIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoICdcLS1yZXZlcnNlJy4KK1RoaXMgb3B0aW9uIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGAtLXJldmVyc2VgLgogU2VlIGFsc28gbGlua2dpdDpnaXQtcmVmbG9nWzFdLgogCiAtLW1lcmdlOjoKLQogCUFmdGVyIGEgZmFpbGVkIG1lcmdlLCBzaG93IHJlZnMgdGhhdCB0b3VjaCBmaWxlcyBoYXZpbmcgYQogCWNvbmZsaWN0IGFuZCBkb24ndCBleGlzdCBvbiBhbGwgaGVhZHMgdG8gbWVyZ2UuCiAKIC0tYm91bmRhcnk6OgotCiAJT3V0cHV0IGV4Y2x1ZGVkIGJvdW5kYXJ5IGNvbW1pdHMuIEJvdW5kYXJ5IGNvbW1pdHMgYXJlCiAJcHJlZml4ZWQgd2l0aCBgLWAuCiAKQEAgLTI4NywxMSArMjcwLDkgQEAKIFRoZSBmb2xsb3dpbmcgb3B0aW9ucyBzZWxlY3QgdGhlIGNvbW1pdHMgdG8gYmUgc2hvd246CiAKIDxwYXRocz46OgotCiAJQ29tbWl0cyBtb2RpZnlpbmcgdGhlIGdpdmVuIDxwYXRocz4gYXJlIHNlbGVjdGVkLgogCiAtLXNpbXBsaWZ5LWJ5LWRlY29yYXRpb246OgotCiAJQ29tbWl0cyB0aGF0IGFyZSByZWZlcnJlZCBieSBzb21lIGJyYW5jaCBvciB0YWcgYXJlIHNlbGVjdGVkLgogCiBOb3RlIHRoYXQgZXh0cmEgY29tbWl0cyBjYW4gYmUgc2hvd24gdG8gZ2l2ZSBhIG1lYW5pbmdmdWwgaGlzdG9yeS4KQEAgLTI5OSwzMyArMjgwLDI3IEBACiBUaGUgZm9sbG93aW5nIG9wdGlvbnMgYWZmZWN0IHRoZSB3YXkgdGhlIHNpbXBsaWZpY2F0aW9uIGlzIHBlcmZvcm1lZDoKIAogRGVmYXVsdCBtb2RlOjoKLQogCVNpbXBsaWZpZXMgdGhlIGhpc3RvcnkgdG8gdGhlIHNpbXBsZXN0IGhpc3RvcnkgZXhwbGFpbmluZyB0aGUKIAlmaW5hbCBzdGF0ZSBvZiB0aGUgdHJlZS4gU2ltcGxlc3QgYmVjYXVzZSBpdCBwcnVuZXMgc29tZSBzaWRlCiAJYnJhbmNoZXMgaWYgdGhlIGVuZCByZXN1bHQgaXMgdGhlIHNhbWUgKGkuZS4gbWVyZ2luZyBicmFuY2hlcwogCXdpdGggdGhlIHNhbWUgY29udGVudCkKIAogLS1mdWxsLWhpc3Rvcnk6OgotCiAJU2FtZSBhcyB0aGUgZGVmYXVsdCBtb2RlLCBidXQgZG9lcyBub3QgcHJ1bmUgc29tZSBoaXN0b3J5LgogCiAtLWRlbnNlOjoKLQogCU9ubHkgdGhlIHNlbGVjdGVkIGNvbW1pdHMgYXJlIHNob3duLCBwbHVzIHNvbWUgdG8gaGF2ZSBhCiAJbWVhbmluZ2Z1bCBoaXN0b3J5LgogCiAtLXNwYXJzZTo6Ci0KIAlBbGwgY29tbWl0cyBpbiB0aGUgc2ltcGxpZmllZCBoaXN0b3J5IGFyZSBzaG93bi4KIAogLS1zaW1wbGlmeS1tZXJnZXM6OgotCi0JQWRkaXRpb25hbCBvcHRpb24gdG8gJy0tZnVsbC1oaXN0b3J5JyB0byByZW1vdmUgc29tZSBuZWVkbGVzcworCUFkZGl0aW9uYWwgb3B0aW9uIHRvIGAtLWZ1bGwtaGlzdG9yeWAgdG8gcmVtb3ZlIHNvbWUgbmVlZGxlc3MKIAltZXJnZXMgZnJvbSB0aGUgcmVzdWx0aW5nIGhpc3RvcnksIGFzIHRoZXJlIGFyZSBubyBzZWxlY3RlZAogCWNvbW1pdHMgY29udHJpYnV0aW5nIHRvIHRoaXMgbWVyZ2UuCiAKIC0tYW5jZXN0cnktcGF0aDo6Ci0KIAlXaGVuIGdpdmVuIGEgcmFuZ2Ugb2YgY29tbWl0cyB0byBkaXNwbGF5IChlLmcuICdjb21taXQxLi5jb21taXQyJwogCW9yICdjb21taXQyIHtjYXJldH1jb21taXQxJyksIG9ubHkgZGlzcGxheSBjb21taXRzIHRoYXQgZXhpc3QKIAlkaXJlY3RseSBvbiB0aGUgYW5jZXN0cnkgY2hhaW4gYmV0d2VlbiB0aGUgJ2NvbW1pdDEnIGFuZApAQCAtMzUyLDM2ICszMjcsMzUgQEAKIGVhY2ggbWVyZ2UuICBUaGUgY29tbWl0cyBhcmU6CiAKICogYElgIGlzIHRoZSBpbml0aWFsIGNvbW1pdCwgaW4gd2hpY2ggYGZvb2AgZXhpc3RzIHdpdGggY29udGVudHMKLSAgImFzZGYiLCBhbmQgYSBmaWxlIGBxdXV4YCBleGlzdHMgd2l0aCBjb250ZW50cyAicXV1eCIuICBJbml0aWFsCisgIGBgYXNkZicnLCBhbmQgYSBmaWxlIGBxdXV4YCBleGlzdHMgd2l0aCBjb250ZW50cyBgYHF1dXgnJy4gSW5pdGlhbAogICBjb21taXRzIGFyZSBjb21wYXJlZCB0byBhbiBlbXB0eSB0cmVlLCBzbyBgSWAgaXMgIVRSRUVTQU1FLgogCi0qIEluIGBBYCwgYGZvb2AgY29udGFpbnMganVzdCAiZm9vIi4KKyogSW4gYEFgLCBgZm9vYCBjb250YWlucyBqdXN0IGBgZm9vJycuCiAKICogYEJgIGNvbnRhaW5zIHRoZSBzYW1lIGNoYW5nZSBhcyBgQWAuICBJdHMgbWVyZ2UgYE1gIGlzIHRyaXZpYWwgYW5kCiAgIGhlbmNlIFRSRUVTQU1FIHRvIGFsbCBwYXJlbnRzLgogCi0qIGBDYCBkb2VzIG5vdCBjaGFuZ2UgYGZvb2AsIGJ1dCBpdHMgbWVyZ2UgYE5gIGNoYW5nZXMgaXQgdG8gImZvb2JhciIsCisqIGBDYCBkb2VzIG5vdCBjaGFuZ2UgYGZvb2AsIGJ1dCBpdHMgbWVyZ2UgYE5gIGNoYW5nZXMgaXQgdG8gYGBmb29iYXInJywKICAgc28gaXQgaXMgbm90IFRSRUVTQU1FIHRvIGFueSBwYXJlbnQuCiAKLSogYERgIHNldHMgYGZvb2AgdG8gImJheiIuICBJdHMgbWVyZ2UgYE9gIGNvbWJpbmVzIHRoZSBzdHJpbmdzIGZyb20KLSAgYE5gIGFuZCBgRGAgdG8gImZvb2JhcmJheiI7IGkuZS4sIGl0IGlzIG5vdCBUUkVFU0FNRSB0byBhbnkgcGFyZW50LgorKiBgRGAgc2V0cyBgZm9vYCB0byBgYGJheicnLiBJdHMgbWVyZ2UgYE9gIGNvbWJpbmVzIHRoZSBzdHJpbmdzIGZyb20KKyAgYE5gIGFuZCBgRGAgdG8gYGBmb29iYXJiYXonJzsgaS5lLiwgaXQgaXMgbm90IFRSRUVTQU1FIHRvIGFueSBwYXJlbnQuCiAKLSogYEVgIGNoYW5nZXMgYHF1dXhgIHRvICJ4eXp6eSIsIGFuZCBpdHMgbWVyZ2UgYFBgIGNvbWJpbmVzIHRoZQotICBzdHJpbmdzIHRvICJxdXV4IHh5enp5Ii4gIGBQYCBpcyBUUkVFU0FNRSB0byBgT2AsIGJ1dCBub3QgdG8gYEVgLgorKiBgRWAgY2hhbmdlcyBgcXV1eGAgdG8gYGB4eXp6eScnLCBhbmQgaXRzIG1lcmdlIGBQYCBjb21iaW5lcyB0aGUKKyAgc3RyaW5ncyB0byBgYHF1dXggeHl6enknJy4gYFBgIGlzIFRSRUVTQU1FIHRvIGBPYCwgYnV0IG5vdCB0byBgRWAuCiAKICogYFhgIGlzIGFuIGluZGVwZW5kZW50IHJvb3QgY29tbWl0IHRoYXQgYWRkZWQgYSBuZXcgZmlsZSBgc2lkZWAsIGFuZCBgWWAKICAgbW9kaWZpZWQgaXQuIGBZYCBpcyBUUkVFU0FNRSB0byBgWGAuIEl0cyBtZXJnZSBgUWAgYWRkZWQgYHNpZGVgIHRvIGBQYCwgYW5kCiAgIGBRYCBpcyBUUkVFU0FNRSB0byBgUGAsIGJ1dCBub3QgdG8gYFlgLgogCi0ncmV2LWxpc3QnIHdhbGtzIGJhY2t3YXJkcyB0aHJvdWdoIGhpc3RvcnksIGluY2x1ZGluZyBvciBleGNsdWRpbmcKLWNvbW1pdHMgYmFzZWQgb24gd2hldGhlciAnXC0tZnVsbC1oaXN0b3J5JyBhbmQvb3IgcGFyZW50IHJld3JpdGluZwotKHZpYSAnXC0tcGFyZW50cycgb3IgJ1wtLWNoaWxkcmVuJykgYXJlIHVzZWQuICBUaGUgZm9sbG93aW5nIHNldHRpbmdzCitgcmV2LWxpc3RgIHdhbGtzIGJhY2t3YXJkcyB0aHJvdWdoIGhpc3RvcnksIGluY2x1ZGluZyBvciBleGNsdWRpbmcKK2NvbW1pdHMgYmFzZWQgb24gd2hldGhlciBgLS1mdWxsLWhpc3RvcnlgIGFuZC9vciBwYXJlbnQgcmV3cml0aW5nCisodmlhIGAtLXBhcmVudHNgIG9yIGAtLWNoaWxkcmVuYCkgYXJlIHVzZWQuIFRoZSBmb2xsb3dpbmcgc2V0dGluZ3MKIGFyZSBhdmFpbGFibGUuCiAKIERlZmF1bHQgbW9kZTo6Ci0KIAlDb21taXRzIGFyZSBpbmNsdWRlZCBpZiB0aGV5IGFyZSBub3QgVFJFRVNBTUUgdG8gYW55IHBhcmVudAotCSh0aG91Z2ggdGhpcyBjYW4gYmUgY2hhbmdlZCwgc2VlICdcLS1zcGFyc2UnIGJlbG93KS4gIElmIHRoZQorCSh0aG91Z2ggdGhpcyBjYW4gYmUgY2hhbmdlZCwgc2VlIGAtLXNwYXJzZWAgYmVsb3cpLiAgSWYgdGhlCiAJY29tbWl0IHdhcyBhIG1lcmdlLCBhbmQgaXQgd2FzIFRSRUVTQU1FIHRvIG9uZSBwYXJlbnQsIGZvbGxvdwogCW9ubHkgdGhhdCBwYXJlbnQuICAoRXZlbiBpZiB0aGVyZSBhcmUgc2V2ZXJhbCBUUkVFU0FNRQogCXBhcmVudHMsIGZvbGxvdyBvbmx5IG9uZSBvZiB0aGVtLikgIE90aGVyd2lzZSwgZm9sbG93IGFsbApAQCAtNDAwLDEyICszNzQsMTEgQEAKIGNvbnNpZGVyZWQgdmlhIGBOYCwgYnV0IGlzIFRSRUVTQU1FLiAgUm9vdCBjb21taXRzIGFyZSBjb21wYXJlZCB0byBhbgogZW1wdHkgdHJlZSwgc28gYElgIGlzICFUUkVFU0FNRS4KICsKLVBhcmVudC9jaGlsZCByZWxhdGlvbnMgYXJlIG9ubHkgdmlzaWJsZSB3aXRoIC0tcGFyZW50cywgYnV0IHRoYXQgZG9lcworUGFyZW50L2NoaWxkIHJlbGF0aW9ucyBhcmUgb25seSB2aXNpYmxlIHdpdGggYC0tcGFyZW50c2AsIGJ1dCB0aGF0IGRvZXMKIG5vdCBhZmZlY3QgdGhlIGNvbW1pdHMgc2VsZWN0ZWQgaW4gZGVmYXVsdCBtb2RlLCBzbyB3ZSBoYXZlIHNob3duIHRoZQogcGFyZW50IGxpbmVzLgogCiAtLWZ1bGwtaGlzdG9yeSB3aXRob3V0IHBhcmVudCByZXdyaXRpbmc6OgotCiAJVGhpcyBtb2RlIGRpZmZlcnMgZnJvbSB0aGUgZGVmYXVsdCBpbiBvbmUgcG9pbnQ6IGFsd2F5cyBmb2xsb3cKIAlhbGwgcGFyZW50cyBvZiBhIG1lcmdlLCBldmVuIGlmIGl0IGlzIFRSRUVTQU1FIHRvIG9uZSBvZiB0aGVtLgogCUV2ZW4gaWYgbW9yZSB0aGFuIG9uZSBzaWRlIG9mIHRoZSBtZXJnZSBoYXMgY29tbWl0cyB0aGF0IGFyZQpAQCAtNDI1LDkgKzM5OCw4IEBACiB0aGVtIGRpc2Nvbm5lY3RlZC4KIAogLS1mdWxsLWhpc3Rvcnkgd2l0aCBwYXJlbnQgcmV3cml0aW5nOjoKLQogCU9yZGluYXJ5IGNvbW1pdHMgYXJlIG9ubHkgaW5jbHVkZWQgaWYgdGhleSBhcmUgIVRSRUVTQU1FCi0JKHRob3VnaCB0aGlzIGNhbiBiZSBjaGFuZ2VkLCBzZWUgJ1wtLXNwYXJzZScgYmVsb3cpLgorCSh0aG91Z2ggdGhpcyBjYW4gYmUgY2hhbmdlZCwgc2VlIGAtLXNwYXJzZWAgYmVsb3cpLgogKwogTWVyZ2VzIGFyZSBhbHdheXMgaW5jbHVkZWQuICBIb3dldmVyLCB0aGVpciBwYXJlbnQgbGlzdCBpcyByZXdyaXR0ZW46CiBBbG9uZyBlYWNoIHBhcmVudCwgcHJ1bmUgYXdheSBjb21taXRzIHRoYXQgYXJlIG5vdCBpbmNsdWRlZApAQCAtNDQxLDcgKzQxMyw3IEBACiAJICBgLS0tLS0tLS0tLS0tLScKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiArCi1Db21wYXJlIHRvICdcLS1mdWxsLWhpc3RvcnknIHdpdGhvdXQgcmV3cml0aW5nIGFib3ZlLiAgTm90ZSB0aGF0IGBFYAorQ29tcGFyZSB0byBgLS1mdWxsLWhpc3RvcnlgIHdpdGhvdXQgcmV3cml0aW5nIGFib3ZlLiAgTm90ZSB0aGF0IGBFYAogd2FzIHBydW5lZCBhd2F5IGJlY2F1c2UgaXQgaXMgVFJFRVNBTUUsIGJ1dCB0aGUgcGFyZW50IGxpc3Qgb2YgUCB3YXMKIHJld3JpdHRlbiB0byBjb250YWluIGBFYCdzIHBhcmVudCBgSWAuICBUaGUgc2FtZSBoYXBwZW5lZCBmb3IgYENgIGFuZAogYE5gLCBhbmQgYFhgLCBgWWAgYW5kIGBRYC4KQEAgLTQ1MCwyMiArNDIyLDE5IEBACiBhZmZlY3RzIGluY2x1c2lvbjoKIAogLS1kZW5zZTo6Ci0KIAlDb21taXRzIHRoYXQgYXJlIHdhbGtlZCBhcmUgaW5jbHVkZWQgaWYgdGhleSBhcmUgbm90IFRSRUVTQU1FCiAJdG8gYW55IHBhcmVudC4KIAogLS1zcGFyc2U6OgotCiAJQWxsIGNvbW1pdHMgdGhhdCBhcmUgd2Fsa2VkIGFyZSBpbmNsdWRlZC4KICsKLU5vdGUgdGhhdCB3aXRob3V0ICdcLS1mdWxsLWhpc3RvcnknLCB0aGlzIHN0aWxsIHNpbXBsaWZpZXMgbWVyZ2VzOiBpZgorTm90ZSB0aGF0IHdpdGhvdXQgYC0tZnVsbC1oaXN0b3J5YCwgdGhpcyBzdGlsbCBzaW1wbGlmaWVzIG1lcmdlczogaWYKIG9uZSBvZiB0aGUgcGFyZW50cyBpcyBUUkVFU0FNRSwgd2UgZm9sbG93IG9ubHkgdGhhdCBvbmUsIHNvIHRoZSBvdGhlcgogc2lkZXMgb2YgdGhlIG1lcmdlIGFyZSBuZXZlciB3YWxrZWQuCiAKIC0tc2ltcGxpZnktbWVyZ2VzOjoKLQogCUZpcnN0LCBidWlsZCBhIGhpc3RvcnkgZ3JhcGggaW4gdGhlIHNhbWUgd2F5IHRoYXQKLQknXC0tZnVsbC1oaXN0b3J5JyB3aXRoIHBhcmVudCByZXdyaXRpbmcgZG9lcyAoc2VlIGFib3ZlKS4KKwlgLS1mdWxsLWhpc3RvcnlgIHdpdGggcGFyZW50IHJld3JpdGluZyBkb2VzIChzZWUgYWJvdmUpLgogKwogVGhlbiBzaW1wbGlmeSBlYWNoIGNvbW1pdCBgQ2AgdG8gaXRzIHJlcGxhY2VtZW50IGBDJ2AgaW4gdGhlIGZpbmFsCiBoaXN0b3J5IGFjY29yZGluZyB0byB0aGUgZm9sbG93aW5nIHJ1bGVzOgpAQCAtNDg0LDcgKzQ1Myw3IEBACiAtLQogKwogVGhlIGVmZmVjdCBvZiB0aGlzIGlzIGJlc3Qgc2hvd24gYnkgd2F5IG9mIGNvbXBhcmluZyB0bwotJ1wtLWZ1bGwtaGlzdG9yeScgd2l0aCBwYXJlbnQgcmV3cml0aW5nLiAgVGhlIGV4YW1wbGUgdHVybnMgaW50bzoKK2AtLWZ1bGwtaGlzdG9yeWAgd2l0aCBwYXJlbnQgcmV3cml0aW5nLiAgVGhlIGV4YW1wbGUgdHVybnMgaW50bzoKICsKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAJICAuLUEtLS1NLS0tTi0tLU8KQEAgLTQ5NCw3ICs0NjMsNyBAQAogCSAgYC0tLS0tLS0tLScKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiArCi1Ob3RlIHRoZSBtYWpvciBkaWZmZXJlbmNlcyBpbiBgTmAsIGBQYCBhbmQgYFFgIG92ZXIgJy0tZnVsbC1oaXN0b3J5JzoKK05vdGUgdGhlIG1ham9yIGRpZmZlcmVuY2VzIGluIGBOYCwgYFBgLCBhbmQgYFFgIG92ZXIgYC0tZnVsbC1oaXN0b3J5YDoKICsKIC0tCiAqIGBOYCdzIHBhcmVudCBsaXN0IGhhZCBgSWAgcmVtb3ZlZCwgYmVjYXVzZSBpdCBpcyBhbiBhbmNlc3RvciBvZiB0aGUKQEAgLTUxMSwxMSArNDgwLDEwIEBACiBGaW5hbGx5LCB0aGVyZSBpcyBhIGZpZnRoIHNpbXBsaWZpY2F0aW9uIG1vZGUgYXZhaWxhYmxlOgogCiAtLWFuY2VzdHJ5LXBhdGg6OgotCiAJTGltaXQgdGhlIGRpc3BsYXllZCBjb21taXRzIHRvIHRob3NlIGRpcmVjdGx5IG9uIHRoZSBhbmNlc3RyeQotCWNoYWluIGJldHdlZW4gdGhlICJmcm9tIiBhbmQgInRvIiBjb21taXRzIGluIHRoZSBnaXZlbiBjb21taXQKLQlyYW5nZS4gSS5lLiBvbmx5IGRpc3BsYXkgY29tbWl0cyB0aGF0IGFyZSBhbmNlc3RvciBvZiB0aGUgInRvIgotCWNvbW1pdCwgYW5kIGRlc2NlbmRhbnRzIG9mIHRoZSAiZnJvbSIgY29tbWl0LgorCWNoYWluIGJldHdlZW4gdGhlIGBgZnJvbScnIGFuZCBgYHRvJycgY29tbWl0cyBpbiB0aGUgZ2l2ZW4gY29tbWl0CisJcmFuZ2UuIEkuZS4gb25seSBkaXNwbGF5IGNvbW1pdHMgdGhhdCBhcmUgYW5jZXN0b3Igb2YgdGhlIGBgdG8nJworCWNvbW1pdCBhbmQgZGVzY2VuZGFudHMgb2YgdGhlIGBgZnJvbScnIGNvbW1pdC4KICsKIEFzIGFuIGV4YW1wbGUgdXNlIGNhc2UsIGNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgY29tbWl0IGhpc3Rvcnk6CiArCkBAIC01MzAsMTQgKzQ5OCwxNCBAQAogQSByZWd1bGFyICdELi5NJyBjb21wdXRlcyB0aGUgc2V0IG9mIGNvbW1pdHMgdGhhdCBhcmUgYW5jZXN0b3JzIG9mIGBNYCwKIGJ1dCBleGNsdWRlcyB0aGUgb25lcyB0aGF0IGFyZSBhbmNlc3RvcnMgb2YgYERgLiBUaGlzIGlzIHVzZWZ1bCB0byBzZWUKIHdoYXQgaGFwcGVuZWQgdG8gdGhlIGhpc3RvcnkgbGVhZGluZyB0byBgTWAgc2luY2UgYERgLCBpbiB0aGUgc2Vuc2UKLXRoYXQgIndoYXQgZG9lcyBgTWAgaGF2ZSB0aGF0IGRpZCBub3QgZXhpc3QgaW4gYERgIi4gVGhlIHJlc3VsdCBpbiB0aGlzCit0aGF0IGBgd2hhdCBkb2VzIGBNYCBoYXZlIHRoYXQgZGlkIG5vdCBleGlzdCBpbiBgRGAnJy4gVGhlIHJlc3VsdCBpbiB0aGlzCiBleGFtcGxlIHdvdWxkIGJlIGFsbCB0aGUgY29tbWl0cywgZXhjZXB0IGBBYCBhbmQgYEJgIChhbmQgYERgIGl0c2VsZiwKIG9mIGNvdXJzZSkuCiArCiBXaGVuIHdlIHdhbnQgdG8gZmluZCBvdXQgd2hhdCBjb21taXRzIGluIGBNYCBhcmUgY29udGFtaW5hdGVkIHdpdGggdGhlCiBidWcgaW50cm9kdWNlZCBieSBgRGAgYW5kIG5lZWQgZml4aW5nLCBob3dldmVyLCB3ZSBtaWdodCB3YW50IHRvIHZpZXcKIG9ubHkgdGhlIHN1YnNldCBvZiAnRC4uTScgdGhhdCBhcmUgYWN0dWFsbHkgZGVzY2VuZGFudHMgb2YgYERgLCBpLmUuCi1leGNsdWRpbmcgYENgIGFuZCBgS2AuIFRoaXMgaXMgZXhhY3RseSB3aGF0IHRoZSAnLS1hbmNlc3RyeS1wYXRoJworZXhjbHVkaW5nIGBDYCBhbmQgYEtgLiBUaGlzIGlzIGV4YWN0bHkgd2hhdCB0aGUgYC0tYW5jZXN0cnktcGF0aGAKIG9wdGlvbiBkb2VzLiBBcHBsaWVkIHRvIHRoZSAnRC4uTScgcmFuZ2UsIGl0IHJlc3VsdHMgaW46CiArCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtNTQ4LDcgKzUxNiw3IEBACiAJCQkJTC0tTQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotVGhlICdcLS1zaW1wbGlmeS1ieS1kZWNvcmF0aW9uJyBvcHRpb24gYWxsb3dzIHlvdSB0byB2aWV3IG9ubHkgdGhlCitUaGUgYC0tc2ltcGxpZnktYnktZGVjb3JhdGlvbmAgb3B0aW9uIGFsbG93cyB5b3UgdG8gdmlldyBvbmx5IHRoZQogYmlnIHBpY3R1cmUgb2YgdGhlIHRvcG9sb2d5IG9mIHRoZSBoaXN0b3J5LCBieSBvbWl0dGluZyBjb21taXRzCiB0aGF0IGFyZSBub3QgcmVmZXJlbmNlZCBieSB0YWdzLiAgQ29tbWl0cyBhcmUgbWFya2VkIGFzICFUUkVFU0FNRQogKGluIG90aGVyIHdvcmRzLCBrZXB0IGFmdGVyIGhpc3Rvcnkgc2ltcGxpZmljYXRpb24gcnVsZXMgZGVzY3JpYmVkCkBAIC01NjEsNTAgKzUyOSw0NyBAQAogfn5+fn5+fn5+fn5+fn5+fn4KIAogLS1iaXNlY3Q6OgotCi1MaW1pdCBvdXRwdXQgdG8gdGhlIG9uZSBjb21taXQgb2JqZWN0IHdoaWNoIGlzIHJvdWdobHkgaGFsZndheSBiZXR3ZWVuCi1pbmNsdWRlZCBhbmQgZXhjbHVkZWQgY29tbWl0cy4gTm90ZSB0aGF0IHRoZSBiYWQgYmlzZWN0aW9uIHJlZgotYHJlZnMvYmlzZWN0L2JhZGAgaXMgYWRkZWQgdG8gdGhlIGluY2x1ZGVkIGNvbW1pdHMgKGlmIGl0Ci1leGlzdHMpIGFuZCB0aGUgZ29vZCBiaXNlY3Rpb24gcmVmcyBgcmVmcy9iaXNlY3QvZ29vZC0qYCBhcmUKLWFkZGVkIHRvIHRoZSBleGNsdWRlZCBjb21taXRzIChpZiB0aGV5IGV4aXN0KS4gVGh1cywgc3VwcG9zaW5nIHRoZXJlCi1hcmUgbm8gcmVmcyBpbiBgcmVmcy9iaXNlY3QvYCwgaWYKLQorCUxpbWl0IG91dHB1dCB0byB0aGUgb25lIGNvbW1pdCBvYmplY3Qgd2hpY2ggaXMgcm91Z2hseSBoYWxmd2F5IGJldHdlZW4KKwlpbmNsdWRlZCBhbmQgZXhjbHVkZWQgY29tbWl0cy4gTm90ZSB0aGF0IHRoZSBiYWQgYmlzZWN0aW9uIHJlZgorCWByZWZzL2Jpc2VjdC9iYWRgIGlzIGFkZGVkIHRvIHRoZSBpbmNsdWRlZCBjb21taXRzIChpZiBpdAorCWV4aXN0cykgYW5kIHRoZSBnb29kIGJpc2VjdGlvbiByZWZzIGByZWZzL2Jpc2VjdC9nb29kLSpgIGFyZQorCWFkZGVkIHRvIHRoZSBleGNsdWRlZCBjb21taXRzIChpZiB0aGV5IGV4aXN0KS4gVGh1cywgc3VwcG9zaW5nIHRoZXJlCisJYXJlIG5vIHJlZnMgaW4gYHJlZnMvYmlzZWN0L2AsIGlmCisrCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCSQgZ2l0IHJldi1saXN0IC0tYmlzZWN0IGZvbyBeYmFyIF5iYXoKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KKysKIG91dHB1dHMgJ21pZHBvaW50JywgdGhlIG91dHB1dCBvZiB0aGUgdHdvIGNvbW1hbmRzCi0KKysKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAJJCBnaXQgcmV2LWxpc3QgZm9vIF5taWRwb2ludAogCSQgZ2l0IHJldi1saXN0IG1pZHBvaW50IF5iYXIgXmJhegogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQorKwogd291bGQgYmUgb2Ygcm91Z2hseSB0aGUgc2FtZSBsZW5ndGguICBGaW5kaW5nIHRoZSBjaGFuZ2Ugd2hpY2gKIGludHJvZHVjZXMgYSByZWdyZXNzaW9uIGlzIHRodXMgcmVkdWNlZCB0byBhIGJpbmFyeSBzZWFyY2g6IHJlcGVhdGVkbHkKIGdlbmVyYXRlIGFuZCB0ZXN0IG5ldyAnbWlkcG9pbnQncyB1bnRpbCB0aGUgY29tbWl0IGNoYWluIGlzIG9mIGxlbmd0aAogb25lLgogCiAtLWJpc2VjdC12YXJzOjoKLQotVGhpcyBjYWxjdWxhdGVzIHRoZSBzYW1lIGFzIGAtLWJpc2VjdGAsIGV4Y2VwdCB0aGF0IHJlZnMgaW4KLWByZWZzL2Jpc2VjdC9gIGFyZSBub3QgdXNlZCwgYW5kIGV4Y2VwdCB0aGF0IHRoaXMgb3V0cHV0cwotdGV4dCByZWFkeSB0byBiZSBldmFsJ2VkIGJ5IHRoZSBzaGVsbC4gVGhlc2UgbGluZXMgd2lsbCBhc3NpZ24gdGhlCi1uYW1lIG9mIHRoZSBtaWRwb2ludCByZXZpc2lvbiB0byB0aGUgdmFyaWFibGUgYGJpc2VjdF9yZXZgLCBhbmQgdGhlCi1leHBlY3RlZCBudW1iZXIgb2YgY29tbWl0cyB0byBiZSB0ZXN0ZWQgYWZ0ZXIgYGJpc2VjdF9yZXZgIGlzIHRlc3RlZAotdG8gYGJpc2VjdF9ucmAsIHRoZSBleHBlY3RlZCBudW1iZXIgb2YgY29tbWl0cyB0byBiZSB0ZXN0ZWQgaWYKLWBiaXNlY3RfcmV2YCB0dXJucyBvdXQgdG8gYmUgZ29vZCB0byBgYmlzZWN0X2dvb2RgLCB0aGUgZXhwZWN0ZWQKLW51bWJlciBvZiBjb21taXRzIHRvIGJlIHRlc3RlZCBpZiBgYmlzZWN0X3JldmAgdHVybnMgb3V0IHRvIGJlIGJhZCB0bwotYGJpc2VjdF9iYWRgLCBhbmQgdGhlIG51bWJlciBvZiBjb21taXRzIHdlIGFyZSBiaXNlY3RpbmcgcmlnaHQgbm93IHRvCi1gYmlzZWN0X2FsbGAuCisJVGhpcyBjYWxjdWxhdGVzIHRoZSBzYW1lIGFzIGAtLWJpc2VjdGAsIGV4Y2VwdCB0aGF0IHJlZnMgaW4KKwlgcmVmcy9iaXNlY3QvYCBhcmUgbm90IHVzZWQsIGFuZCBleGNlcHQgdGhhdCB0aGlzIG91dHB1dHMKKwl0ZXh0IHJlYWR5IHRvIGJlIGV2YWwnZWQgYnkgdGhlIHNoZWxsLiBUaGVzZSBsaW5lcyB3aWxsIGFzc2lnbiB0aGUKKwluYW1lIG9mIHRoZSBtaWRwb2ludCByZXZpc2lvbiB0byB0aGUgdmFyaWFibGUgYGJpc2VjdF9yZXZgLCBhbmQgdGhlCisJZXhwZWN0ZWQgbnVtYmVyIG9mIGNvbW1pdHMgdG8gYmUgdGVzdGVkIGFmdGVyIGBiaXNlY3RfcmV2YCBpcyB0ZXN0ZWQKKwl0byBgYmlzZWN0X25yYCwgdGhlIGV4cGVjdGVkIG51bWJlciBvZiBjb21taXRzIHRvIGJlIHRlc3RlZCBpZgorCWBiaXNlY3RfcmV2YCB0dXJucyBvdXQgdG8gYmUgZ29vZCB0byBgYmlzZWN0X2dvb2RgLCB0aGUgZXhwZWN0ZWQKKwludW1iZXIgb2YgY29tbWl0cyB0byBiZSB0ZXN0ZWQgaWYgYGJpc2VjdF9yZXZgIHR1cm5zIG91dCB0byBiZSBiYWQgdG8KKwlgYmlzZWN0X2JhZGAsIGFuZCB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgd2UgYXJlIGJpc2VjdGluZyByaWdodCBub3cgdG8KKwlgYmlzZWN0X2FsbGAuCiAKIC0tYmlzZWN0LWFsbDo6Ci0KLVRoaXMgb3V0cHV0cyBhbGwgdGhlIGNvbW1pdCBvYmplY3RzIGJldHdlZW4gdGhlIGluY2x1ZGVkIGFuZCBleGNsdWRlZAotY29tbWl0cywgb3JkZXJlZCBieSB0aGVpciBkaXN0YW5jZSB0byB0aGUgaW5jbHVkZWQgYW5kIGV4Y2x1ZGVkCi1jb21taXRzLiBSZWZzIGluIGByZWZzL2Jpc2VjdC9gIGFyZSBub3QgdXNlZC4gVGhlIGZhcnRoZXN0Ci1mcm9tIHRoZW0gaXMgZGlzcGxheWVkIGZpcnN0LiAoVGhpcyBpcyB0aGUgb25seSBvbmUgZGlzcGxheWVkIGJ5Ci1gLS1iaXNlY3RgLikKKwlUaGlzIG91dHB1dHMgYWxsIHRoZSBjb21taXQgb2JqZWN0cyBiZXR3ZWVuIHRoZSBpbmNsdWRlZCBhbmQgZXhjbHVkZWQKKwljb21taXRzLCBvcmRlcmVkIGJ5IHRoZWlyIGRpc3RhbmNlIHRvIHRoZSBpbmNsdWRlZCBhbmQgZXhjbHVkZWQKKwljb21taXRzLiBSZWZzIGluIGByZWZzL2Jpc2VjdC9gIGFyZSBub3QgdXNlZC4gVGhlIGZhcnRoZXN0CisJZnJvbSB0aGVtIGlzIGRpc3BsYXllZCBmaXJzdC4gKFRoaXMgaXMgdGhlIG9ubHkgb25lIGRpc3BsYXllZCBieQorCWAtLWJpc2VjdGAuKQogKwogVGhpcyBpcyB1c2VmdWwgYmVjYXVzZSBpdCBtYWtlcyBpdCBlYXN5IHRvIGNob29zZSBhIGdvb2QgY29tbWl0IHRvCiB0ZXN0IHdoZW4geW91IHdhbnQgdG8gYXZvaWQgdG8gdGVzdCBzb21lIG9mIHRoZW0gZm9yIHNvbWUgcmVhc29uICh0aGV5CkBAIC02NTQsOSArNjE5LDggQEAKIHRvZ2V0aGVyLgogCiAtLXJldmVyc2U6OgotCiAJT3V0cHV0IHRoZSBjb21taXRzIGluIHJldmVyc2Ugb3JkZXIuCi0JQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggJ1wtLXdhbGstcmVmbG9ncycuCisJQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0td2Fsay1yZWZsb2dzYC4KIAogT2JqZWN0IFRyYXZlcnNhbAogfn5+fn5+fn5+fn5+fn5+fgpAQCAtNjY0LDM3ICs2MjgsMzIgQEAKIFRoZXNlIG9wdGlvbnMgYXJlIG1vc3RseSB0YXJnZXRlZCBmb3IgcGFja2luZyBvZiBHaXQgcmVwb3NpdG9yaWVzLgogCiAtLW9iamVjdHM6OgotCiAJUHJpbnQgdGhlIG9iamVjdCBJRHMgb2YgYW55IG9iamVjdCByZWZlcmVuY2VkIGJ5IHRoZSBsaXN0ZWQKLQljb21taXRzLiAgJy0tb2JqZWN0cyBmb28gXmJhcicgdGh1cyBtZWFucyAic2VuZCBtZQorCWNvbW1pdHMuICBgLS1vYmplY3RzIGZvbyBeYmFyYCB0aHVzIG1lYW5zIGBgc2VuZCBtZQogCWFsbCBvYmplY3QgSURzIHdoaWNoIEkgbmVlZCB0byBkb3dubG9hZCBpZiBJIGhhdmUgdGhlIGNvbW1pdAotCW9iamVjdCAnYmFyJywgYnV0IG5vdCAnZm9vJyIuCisJb2JqZWN0IF9iYXJfIGJ1dCBub3QgX2Zvb18nJy4KIAogLS1vYmplY3RzLWVkZ2U6OgotCi0JU2ltaWxhciB0byAnLS1vYmplY3RzJywgYnV0IGFsc28gcHJpbnQgdGhlIElEcyBvZiBleGNsdWRlZAotCWNvbW1pdHMgcHJlZml4ZWQgd2l0aCBhICItIiBjaGFyYWN0ZXIuICBUaGlzIGlzIHVzZWQgYnkKLQlsaW5rZ2l0OmdpdC1wYWNrLW9iamVjdHNbMV0gdG8gYnVpbGQgInRoaW4iIHBhY2ssIHdoaWNoIHJlY29yZHMKKwlTaW1pbGFyIHRvIGAtLW9iamVjdHNgLCBidXQgYWxzbyBwcmludCB0aGUgSURzIG9mIGV4Y2x1ZGVkCisJY29tbWl0cyBwcmVmaXhlZCB3aXRoIGEgYGAtJycgY2hhcmFjdGVyLiAgVGhpcyBpcyB1c2VkIGJ5CisJbGlua2dpdDpnaXQtcGFjay1vYmplY3RzWzFdIHRvIGJ1aWxkIGBgdGhpbicnIHBhY2ssIHdoaWNoIHJlY29yZHMKIAlvYmplY3RzIGluIGRlbHRpZmllZCBmb3JtIGJhc2VkIG9uIG9iamVjdHMgY29udGFpbmVkIGluIHRoZXNlCiAJZXhjbHVkZWQgY29tbWl0cyB0byByZWR1Y2UgbmV0d29yayB0cmFmZmljLgogCiAtLXVucGFja2VkOjoKLQotCU9ubHkgdXNlZnVsIHdpdGggJy0tb2JqZWN0cyc7IHByaW50IHRoZSBvYmplY3QgSURzIHRoYXQgYXJlIG5vdAorCU9ubHkgdXNlZnVsIHdpdGggYC0tb2JqZWN0c2A7IHByaW50IHRoZSBvYmplY3QgSURzIHRoYXQgYXJlIG5vdAogCWluIHBhY2tzLgogCiAtLW5vLXdhbGtbPShzb3J0ZWR8dW5zb3J0ZWQpXTo6Ci0KIAlPbmx5IHNob3cgdGhlIGdpdmVuIGNvbW1pdHMsIGJ1dCBkbyBub3QgdHJhdmVyc2UgdGhlaXIgYW5jZXN0b3JzLgogCVRoaXMgaGFzIG5vIGVmZmVjdCBpZiBhIHJhbmdlIGlzIHNwZWNpZmllZC4gSWYgdGhlIGFyZ3VtZW50Ci0JInVuc29ydGVkIiBpcyBnaXZlbiwgdGhlIGNvbW1pdHMgYXJlIHNob3cgaW4gdGhlIG9yZGVyIHRoZXkgd2VyZQotCWdpdmVuIG9uIHRoZSBjb21tYW5kIGxpbmUuIE90aGVyd2lzZSAoaWYgInNvcnRlZCIgb3Igbm8gYXJndW1lbnQKLQl3YXMgZ2l2ZW4pLCB0aGUgY29tbWl0cyBhcmUgc2hvdyBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIKKwlgdW5zb3J0ZWRgIGlzIGdpdmVuLCB0aGUgY29tbWl0cyBhcmUgc2hvd24gaW4gdGhlIG9yZGVyIHRoZXkgd2VyZQorCWdpdmVuIG9uIHRoZSBjb21tYW5kIGxpbmUuIE90aGVyd2lzZSAoaWYgYHNvcnRlZGAgb3Igbm8gYXJndW1lbnQKKwl3YXMgZ2l2ZW4pLCB0aGUgY29tbWl0cyBhcmUgc2hvd24gaW4gcmV2ZXJzZSBjaHJvbm9sb2dpY2FsIG9yZGVyCiAJYnkgY29tbWl0IHRpbWUuCiAKIC0tZG8td2Fsazo6Ci0KLQlPdmVycmlkZXMgYSBwcmV2aW91cyAtLW5vLXdhbGsuCisJT3ZlcnJpZGVzIGEgcHJldmlvdXMgYC0tbm8td2Fsa2AuCiAKIENvbW1pdCBGb3JtYXR0aW5nCiB+fn5+fn5+fn5+fn5+fn5+fgpAQCAtNzA4LDQ2ICs2NjcsNDEgQEAKIGluY2x1ZGU6OnByZXR0eS1vcHRpb25zLnR4dFtdCiAKIC0tcmVsYXRpdmUtZGF0ZTo6Ci0KIAlTeW5vbnltIGZvciBgLS1kYXRlPXJlbGF0aXZlYC4KIAogLS1kYXRlPShyZWxhdGl2ZXxsb2NhbHxkZWZhdWx0fGlzb3xyZmN8c2hvcnR8cmF3KTo6Ci0KIAlPbmx5IHRha2VzIGVmZmVjdCBmb3IgZGF0ZXMgc2hvd24gaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0LCBzdWNoCi0JYXMgd2hlbiB1c2luZyAiLS1wcmV0dHkiLiBgbG9nLmRhdGVgIGNvbmZpZyB2YXJpYWJsZSBzZXRzIGEgZGVmYXVsdAotCXZhbHVlIGZvciBsb2cgY29tbWFuZCdzIC0tZGF0ZSBvcHRpb24uCisJYXMgd2hlbiB1c2luZyBgLS1wcmV0dHlgLiBgbG9nLmRhdGVgIGNvbmZpZyB2YXJpYWJsZSBzZXRzIGEgZGVmYXVsdAorCXZhbHVlIGZvciB0aGUgbG9nIGNvbW1hbmQncyBgLS1kYXRlYCBvcHRpb24uCiArCiBgLS1kYXRlPXJlbGF0aXZlYCBzaG93cyBkYXRlcyByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB0aW1lLAotZS5nLiAiMiBob3VycyBhZ28iLgorZS5nLiBgYDIgaG91cnMgYWdvJycuCiArCi1gLS1kYXRlPWxvY2FsYCBzaG93cyB0aW1lc3RhbXBzIGluIHVzZXIncyBsb2NhbCB0aW1lem9uZS4KK2AtLWRhdGU9bG9jYWxgIHNob3dzIHRpbWVzdGFtcHMgaW4gdXNlcidzIGxvY2FsIHRpbWUgem9uZS4KICsKIGAtLWRhdGU9aXNvYCAob3IgYC0tZGF0ZT1pc284NjAxYCkgc2hvd3MgdGltZXN0YW1wcyBpbiBJU08gODYwMSBmb3JtYXQuCiArCiBgLS1kYXRlPXJmY2AgKG9yIGAtLWRhdGU9cmZjMjgyMmApIHNob3dzIHRpbWVzdGFtcHMgaW4gUkZDIDI4MjIKLWZvcm1hdCwgb2Z0ZW4gZm91bmQgaW4gRS1tYWlsIG1lc3NhZ2VzLgorZm9ybWF0LCBvZnRlbiBmb3VuZCBpbiBlbWFpbCBtZXNzYWdlcy4KICsKLWAtLWRhdGU9c2hvcnRgIHNob3dzIG9ubHkgZGF0ZSBidXQgbm90IHRpbWUsIGluIGBZWVlZLU1NLUREYCBmb3JtYXQuCitgLS1kYXRlPXNob3J0YCBzaG93cyBvbmx5IHRoZSBkYXRlLCBidXQgbm90IHRoZSB0aW1lLCBpbiBgWVlZWS1NTS1ERGAgZm9ybWF0LgogKwogYC0tZGF0ZT1yYXdgIHNob3dzIHRoZSBkYXRlIGluIHRoZSBpbnRlcm5hbCByYXcgR2l0IGZvcm1hdCBgJXMgJXpgIGZvcm1hdC4KICsKLWAtLWRhdGU9ZGVmYXVsdGAgc2hvd3MgdGltZXN0YW1wcyBpbiB0aGUgb3JpZ2luYWwgdGltZXpvbmUKK2AtLWRhdGU9ZGVmYXVsdGAgc2hvd3MgdGltZXN0YW1wcyBpbiB0aGUgb3JpZ2luYWwgdGltZSB6b25lCiAoZWl0aGVyIGNvbW1pdHRlcidzIG9yIGF1dGhvcidzKS4KIAogaWZkZWY6OmdpdC1yZXYtbGlzdFtdCiAtLWhlYWRlcjo6Ci0KIAlQcmludCB0aGUgY29udGVudHMgb2YgdGhlIGNvbW1pdCBpbiByYXctZm9ybWF0OyBlYWNoIHJlY29yZCBpcwogCXNlcGFyYXRlZCB3aXRoIGEgTlVMIGNoYXJhY3Rlci4KIGVuZGlmOjpnaXQtcmV2LWxpc3RbXQogCiAtLXBhcmVudHM6OgotCiAJUHJpbnQgYWxzbyB0aGUgcGFyZW50cyBvZiB0aGUgY29tbWl0IChpbiB0aGUgZm9ybSAiY29tbWl0IHBhcmVudC4uLiIpLgogCUFsc28gZW5hYmxlcyBwYXJlbnQgcmV3cml0aW5nLCBzZWUgJ0hpc3RvcnkgU2ltcGxpZmljYXRpb24nIGJlbG93LgogCiAtLWNoaWxkcmVuOjoKLQogCVByaW50IGFsc28gdGhlIGNoaWxkcmVuIG9mIHRoZSBjb21taXQgKGluIHRoZSBmb3JtICJjb21taXQgY2hpbGQuLi4iKS4KIAlBbHNvIGVuYWJsZXMgcGFyZW50IHJld3JpdGluZywgc2VlICdIaXN0b3J5IFNpbXBsaWZpY2F0aW9uJyBiZWxvdy4KIApAQCAtNzU3LDcgKzcxMSw2IEBACiBlbmRpZjo6Z2l0LXJldi1saXN0W10KIAogLS1sZWZ0LXJpZ2h0OjoKLQogCU1hcmsgd2hpY2ggc2lkZSBvZiBhIHN5bW1ldHJpYyBkaWZmIGEgY29tbWl0IGlzIHJlYWNoYWJsZSBmcm9tLgogCUNvbW1pdHMgZnJvbSB0aGUgbGVmdCBzaWRlIGFyZSBwcmVmaXhlZCB3aXRoIGA8YCBhbmQgdGhvc2UgZnJvbQogCXRoZSByaWdodCB3aXRoIGA+YC4gIElmIGNvbWJpbmVkIHdpdGggYC0tYm91bmRhcnlgLCB0aG9zZQpAQCAtNzg3LDcgKzc0MCw2IEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAtLWdyYXBoOjoKLQogCURyYXcgYSB0ZXh0LWJhc2VkIGdyYXBoaWNhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgY29tbWl0IGhpc3RvcnkKIAlvbiB0aGUgbGVmdCBoYW5kIHNpZGUgb2YgdGhlIG91dHB1dC4gIFRoaXMgbWF5IGNhdXNlIGV4dHJhIGxpbmVzCiAJdG8gYmUgcHJpbnRlZCBpbiBiZXR3ZWVuIGNvbW1pdHMsIGluIG9yZGVyIGZvciB0aGUgZ3JhcGggaGlzdG9yeQpAQCAtNzk1LDMxICs3NDcsMjkgQEAKICsKIFRoaXMgZW5hYmxlcyBwYXJlbnQgcmV3cml0aW5nLCBzZWUgJ0hpc3RvcnkgU2ltcGxpZmljYXRpb24nIGJlbG93LgogKwotVGhpcyBpbXBsaWVzIHRoZSAnLS10b3BvLW9yZGVyJyBvcHRpb24gYnkgZGVmYXVsdCwgYnV0IHRoZQotJy0tZGF0ZS1vcmRlcicgb3B0aW9uIG1heSBhbHNvIGJlIHNwZWNpZmllZC4KK1RoaXMgaW1wbGllcyB0aGUgYC0tdG9wby1vcmRlcmAgb3B0aW9uIGJ5IGRlZmF1bHQsIGJ1dCB0aGUKK2AtLWRhdGUtb3JkZXJgIG9wdGlvbiBtYXkgYWxzbyBiZSBzcGVjaWZpZWQuCiAKIGlmZGVmOjpnaXQtcmV2LWxpc3RbXQogLS1jb3VudDo6CiAJUHJpbnQgYSBudW1iZXIgc3RhdGluZyBob3cgbWFueSBjb21taXRzIHdvdWxkIGhhdmUgYmVlbgogCWxpc3RlZCwgYW5kIHN1cHByZXNzIGFsbCBvdGhlciBvdXRwdXQuICBXaGVuIHVzZWQgdG9nZXRoZXIKLQl3aXRoICctLWxlZnQtcmlnaHQnLCBpbnN0ZWFkIHByaW50IHRoZSBjb3VudHMgZm9yIGxlZnQgYW5kCisJd2l0aCBgLS1sZWZ0LXJpZ2h0YCwgaW5zdGVhZCBwcmludCB0aGUgY291bnRzIGZvciBsZWZ0IGFuZAogCXJpZ2h0IGNvbW1pdHMsIHNlcGFyYXRlZCBieSBhIHRhYi4gV2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGgKLQknLS1jaGVycnktbWFyaycsIG9taXQgcGF0Y2ggZXF1aXZhbGVudCBjb21taXRzIGZyb20gdGhlc2UKKwlgLS1jaGVycnktbWFya2AsIG9taXQgcGF0Y2ggZXF1aXZhbGVudCBjb21taXRzIGZyb20gdGhlc2UKIAljb3VudHMgYW5kIHByaW50IHRoZSBjb3VudCBmb3IgZXF1aXZhbGVudCBjb21taXRzIHNlcGFyYXRlZAogCWJ5IGEgdGFiLgogZW5kaWY6OmdpdC1yZXYtbGlzdFtdCiAKLQogaWZuZGVmOjpnaXQtcmV2LWxpc3RbXQogRGlmZiBGb3JtYXR0aW5nCiB+fn5+fn5+fn5+fn5+fn4KIAotQmVsb3cgYXJlIGxpc3RlZCBvcHRpb25zIHRoYXQgY29udHJvbCB0aGUgZm9ybWF0dGluZyBvZiBkaWZmIG91dHB1dC4KK0xpc3RlZCBiZWxvdyBhcmUgb3B0aW9ucyB0aGF0IGNvbnRyb2wgdGhlIGZvcm1hdHRpbmcgb2YgZGlmZiBvdXRwdXQuCiBTb21lIG9mIHRoZW0gYXJlIHNwZWNpZmljIHRvIGxpbmtnaXQ6Z2l0LXJldi1saXN0WzFdLCBob3dldmVyIG90aGVyIGRpZmYKIG9wdGlvbnMgbWF5IGJlIGdpdmVuLiBTZWUgbGlua2dpdDpnaXQtZGlmZi1maWxlc1sxXSBmb3IgbW9yZSBvcHRpb25zLgogCiAtYzo6Ci0KIAlXaXRoIHRoaXMgb3B0aW9uLCBkaWZmIG91dHB1dCBmb3IgYSBtZXJnZSBjb21taXQKIAlzaG93cyB0aGUgZGlmZmVyZW5jZXMgZnJvbSBlYWNoIG9mIHRoZSBwYXJlbnRzIHRvIHRoZSBtZXJnZSByZXN1bHQKIAlzaW11bHRhbmVvdXNseSBpbnN0ZWFkIG9mIHNob3dpbmcgcGFpcndpc2UgZGlmZiBiZXR3ZWVuIGEgcGFyZW50CkBAIC04MjcsMjYgKzc3NywyMiBAQAogCXdoaWNoIHdlcmUgbW9kaWZpZWQgZnJvbSBhbGwgcGFyZW50cy4KIAogLS1jYzo6Ci0KLQlUaGlzIGZsYWcgaW1wbGllcyB0aGUgJy1jJyBvcHRpb24gYW5kIGZ1cnRoZXIgY29tcHJlc3NlcyB0aGUKKwlUaGlzIGZsYWcgaW1wbGllcyB0aGUgYC1jYCBvcHRpb24gYW5kIGZ1cnRoZXIgY29tcHJlc3NlcyB0aGUKIAlwYXRjaCBvdXRwdXQgYnkgb21pdHRpbmcgdW5pbnRlcmVzdGluZyBodW5rcyB3aG9zZSBjb250ZW50cyBpbgogCXRoZSBwYXJlbnRzIGhhdmUgb25seSB0d28gdmFyaWFudHMgYW5kIHRoZSBtZXJnZSByZXN1bHQgcGlja3MKIAlvbmUgb2YgdGhlbSB3aXRob3V0IG1vZGlmaWNhdGlvbi4KIAogLW06OgotCiAJVGhpcyBmbGFnIG1ha2VzIHRoZSBtZXJnZSBjb21taXRzIHNob3cgdGhlIGZ1bGwgZGlmZiBsaWtlCiAJcmVndWxhciBjb21taXRzOyBmb3IgZWFjaCBtZXJnZSBwYXJlbnQsIGEgc2VwYXJhdGUgbG9nIGVudHJ5CiAJYW5kIGRpZmYgaXMgZ2VuZXJhdGVkLiBBbiBleGNlcHRpb24gaXMgdGhhdCBvbmx5IGRpZmYgYWdhaW5zdAotCXRoZSBmaXJzdCBwYXJlbnQgaXMgc2hvd24gd2hlbiAnLS1maXJzdC1wYXJlbnQnIG9wdGlvbiBpcyBnaXZlbjsKKwl0aGUgZmlyc3QgcGFyZW50IGlzIHNob3duIHdoZW4gYC0tZmlyc3QtcGFyZW50YCBvcHRpb24gaXMgZ2l2ZW47CiAJaW4gdGhhdCBjYXNlLCB0aGUgb3V0cHV0IHJlcHJlc2VudHMgdGhlIGNoYW5nZXMgdGhlIG1lcmdlCiAJYnJvdWdodCBfaW50b18gdGhlIHRoZW4tY3VycmVudCBicmFuY2guCiAKIC1yOjoKLQogCVNob3cgcmVjdXJzaXZlIGRpZmZzLgogCiAtdDo6Ci0KLQlTaG93IHRoZSB0cmVlIG9iamVjdHMgaW4gdGhlIGRpZmYgb3V0cHV0LiBUaGlzIGltcGxpZXMgJy1yJy4KKwlTaG93IHRoZSB0cmVlIG9iamVjdHMgaW4gdGhlIGRpZmYgb3V0cHV0LiBUaGlzIGltcGxpZXMgYC1yYC4KIGVuZGlmOjpnaXQtcmV2LWxpc3RbXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZXZpc2lvbnMudHh0IGIvRG9jdW1lbnRhdGlvbi9yZXZpc2lvbnMudHh0CmluZGV4IGQ0NzdiM2YuLjVhMjg2ZDAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vcmV2aXNpb25zLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3JldmlzaW9ucy50eHQKQEAgLTU4LDYgKzU4LDkgQEAKIFdoaWxlIHRoZSByZWYgbmFtZSBlbmNvZGluZyBpcyB1bnNwZWNpZmllZCwgVVRGLTggaXMgcHJlZmVycmVkIGFzCiBzb21lIG91dHB1dCBwcm9jZXNzaW5nIG1heSBhc3N1bWUgcmVmIG5hbWVzIGluIFVURi04LgogCisnQCc6OgorICAnQCcgYWxvbmUgaXMgYSBzaG9ydGN1dCBmb3IgJ0hFQUQnLgorCiAnPHJlZm5hbWU+QFx7PGRhdGU+XH0nLCBlLmcuICdtYXN0ZXJAXHt5ZXN0ZXJkYXlcfScsICdIRUFEQFx7NSBtaW51dGVzIGFnb1x9Jzo6CiAgIEEgcmVmIGZvbGxvd2VkIGJ5IHRoZSBzdWZmaXggJ0AnIHdpdGggYSBkYXRlIHNwZWNpZmljYXRpb24KICAgZW5jbG9zZWQgaW4gYSBicmFjZQpAQCAtODUsNyArODgsNyBAQAogICBicmFuY2ggJ2JsYWJsYScgdGhlbiAnQFx7MVx9JyBtZWFucyB0aGUgc2FtZSBhcyAnYmxhYmxhQFx7MVx9Jy4KIAogJ0Bcey08bj5cfScsIGUuZy4gJ0Bcey0xXH0nOjoKLSAgVGhlIGNvbnN0cnVjdCAnQFx7LTxuPlx9JyBtZWFucyB0aGUgPG4+dGggYnJhbmNoIGNoZWNrZWQgb3V0CisgIFRoZSBjb25zdHJ1Y3QgJ0Bcey08bj5cfScgbWVhbnMgdGhlIDxuPnRoIGJyYW5jaC9jb21taXQgY2hlY2tlZCBvdXQKICAgYmVmb3JlIHRoZSBjdXJyZW50IG9uZS4KIAogJzxicmFuY2huYW1lPkBce3Vwc3RyZWFtXH0nLCBlLmcuICdtYXN0ZXJAXHt1cHN0cmVhbVx9JywgJ0Bce3VcfSc6OgpAQCAtMTExLDE2ICsxMTQsMjMgQEAKIAogJzxyZXY+e2NhcmV0fVx7PHR5cGU+XH0nLCBlLmcuICd2MC45OS44e2NhcmV0fVx7Y29tbWl0XH0nOjoKICAgQSBzdWZmaXggJ3tjYXJldH0nIGZvbGxvd2VkIGJ5IGFuIG9iamVjdCB0eXBlIG5hbWUgZW5jbG9zZWQgaW4KLSAgYnJhY2UgcGFpciBtZWFucyB0aGUgb2JqZWN0Ci0gIGNvdWxkIGJlIGEgdGFnLCBhbmQgZGVyZWZlcmVuY2UgdGhlIHRhZyByZWN1cnNpdmVseSB1bnRpbCBhbgotICBvYmplY3Qgb2YgdGhhdCB0eXBlIGlzIGZvdW5kIG9yIHRoZSBvYmplY3QgY2Fubm90IGJlCi0gIGRlcmVmZXJlbmNlZCBhbnltb3JlIChpbiB3aGljaCBjYXNlLCBiYXJmKS4gICc8cmV2PntjYXJldH0wJworICBicmFjZSBwYWlyIG1lYW5zIGRlcmVmZXJlbmNlIHRoZSBvYmplY3QgYXQgJzxyZXY+JyByZWN1cnNpdmVseSB1bnRpbAorICBhbiBvYmplY3Qgb2YgdHlwZSAnPHR5cGU+JyBpcyBmb3VuZCBvciB0aGUgb2JqZWN0IGNhbm5vdCBiZQorICBkZXJlZmVyZW5jZWQgYW55bW9yZSAoaW4gd2hpY2ggY2FzZSwgYmFyZikuCisgIEZvciBleGFtcGxlLCBpZiAnPHJldj4nIGlzIGEgY29tbWl0LWlzaCwgJzxyZXY+e2NhcmV0fVx7Y29tbWl0XH0nCisgIGRlc2NyaWJlcyB0aGUgY29ycmVzcG9uZGluZyBjb21taXQgb2JqZWN0LgorICBTaW1pbGFybHksIGlmICc8cmV2PicgaXMgYSB0cmVlLWlzaCwgJzxyZXY+e2NhcmV0fVx7dHJlZVx9JworICBkZXNjcmliZXMgdGhlIGNvcnJlc3BvbmRpbmcgdHJlZSBvYmplY3QuCisgICc8cmV2PntjYXJldH0wJwogICBpcyBhIHNob3J0LWhhbmQgZm9yICc8cmV2PntjYXJldH1ce2NvbW1pdFx9Jy4KICsKICdyZXZ7Y2FyZXR9XHtvYmplY3RcfScgY2FuIGJlIHVzZWQgdG8gbWFrZSBzdXJlICdyZXYnIG5hbWVzIGFuCiBvYmplY3QgdGhhdCBleGlzdHMsIHdpdGhvdXQgcmVxdWlyaW5nICdyZXYnIHRvIGJlIGEgdGFnLCBhbmQKIHdpdGhvdXQgZGVyZWZlcmVuY2luZyAncmV2JzsgYmVjYXVzZSBhIHRhZyBpcyBhbHJlYWR5IGFuIG9iamVjdCwKIGl0IGRvZXMgbm90IGhhdmUgdG8gYmUgZGVyZWZlcmVuY2VkIGV2ZW4gb25jZSB0byBnZXQgdG8gYW4gb2JqZWN0LgorKworJ3JldntjYXJldH1ce3RhZ1x9JyBjYW4gYmUgdXNlZCB0byBlbnN1cmUgdGhhdCAncmV2JyBpZGVudGlmaWVzIGFuCitleGlzdGluZyB0YWcgb2JqZWN0LgogCiAnPHJldj57Y2FyZXR9XHtcfScsIGUuZy4gJ3YwLjk5Ljh7Y2FyZXR9XHtcfSc6OgogICBBIHN1ZmZpeCAne2NhcmV0fScgZm9sbG93ZWQgYnkgYW4gZW1wdHkgYnJhY2UgcGFpcgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWJ1aWx0aW4udHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWJ1aWx0aW4udHh0CmluZGV4IGYzYzEzNTcuLmUzZDZlN2EgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1idWlsdGluLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktYnVpbHRpbi50eHQKQEAgLTE0LDggKzE0LDggQEAKIAogLiBBZGQgdGhlIGV4dGVybmFsIGRlY2xhcmF0aW9uIGZvciB0aGUgZnVuY3Rpb24gdG8gYGJ1aWx0aW4uaGAuCiAKLS4gQWRkIHRoZSBjb21tYW5kIHRvIGBjb21tYW5kc1tdYCB0YWJsZSBpbiBgaGFuZGxlX2ludGVybmFsX2NvbW1hbmQoKWAsCi0gIGRlZmluZWQgaW4gYGdpdC5jYC4gIFRoZSBlbnRyeSBzaG91bGQgbG9vayBsaWtlOgorLiBBZGQgdGhlIGNvbW1hbmQgdG8gdGhlIGBjb21tYW5kc1tdYCB0YWJsZSBkZWZpbmVkIGluIGBnaXQuY2AuCisgIFRoZSBlbnRyeSBzaG91bGQgbG9vayBsaWtlOgogCiAJeyAiZm9vIiwgY21kX2ZvbywgPG9wdGlvbnM+IH0sCiArCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktZGlmZi50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktZGlmZi50eHQKaW5kZXggMmQyZWJjMC4uOGIwMDFkZSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWRpZmYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1kaWZmLnR4dApAQCAtMjgsNyArMjgsOCBAQAogCiAqIENhbGwgYGRpZmZfc2V0dXBfZG9uZSgpYDsgdGhpcyBpbnNwZWN0cyB0aGUgb3B0aW9ucyBzZXQgdXAgc28gZmFyIGZvcgogICBpbnRlcm5hbCBjb25zaXN0ZW5jeSBhbmQgbWFrZSBuZWNlc3NhcnkgdHdlYWtpbmcgdG8gaXQgKGUuZy4gaWYKLSAgdGV4dHVhbCBwYXRjaCBvdXRwdXQgd2FzIGFza2VkLCByZWN1cnNpdmUgYmVoYXZpb3VyIGlzIHR1cm5lZCBvbikuCisgIHRleHR1YWwgcGF0Y2ggb3V0cHV0IHdhcyBhc2tlZCwgcmVjdXJzaXZlIGJlaGF2aW91ciBpcyB0dXJuZWQgb24pOworICB0aGUgY2FsbGJhY2sgc2V0X2RlZmF1bHQgaW4gZGlmZl9vcHRpb25zIGNhbiBiZSB1c2VkIHRvIHR3ZWFrIHRoaXMgbW9yZS4KIAogKiBBcyB5b3UgZmluZCBkaWZmZXJlbnQgcGFpcnMgb2YgZmlsZXMsIGNhbGwgYGRpZmZfY2hhbmdlKClgIHRvIGZlZWQKICAgbW9kaWZpZWQgZmlsZXMsIGBkaWZmX2FkZHJlbW92ZSgpYCB0byBmZWVkIGNyZWF0ZWQgb3IgZGVsZXRlZCBmaWxlcywKQEAgLTExNSw2ICsxMTYsMTMgQEAKIAlvcGVyYXRpb24sIGJ1dCBzb21lIGRvIG5vdCBoYXZlIGFueXRoaW5nIHRvIGRvIHdpdGggdGhlIGRpZmZjb3JlCiAJbGlicmFyeS4KIAorYHRvdWNoZWRfZmxhZ3NgOjoKKwlSZWNvcmRzIHdoZXRoZXIgYSBmbGFnIGhhcyBiZWVuIGNoYW5nZWQgZHVlIHRvIHVzZXIgcmVxdWVzdAorCShyYXRoZXIgdGhhbiBqdXN0IHNldC91bnNldCBieSBkZWZhdWx0KS4KKworYHNldF9kZWZhdWx0YDo6CisJQ2FsbGJhY2sgd2hpY2ggYWxsb3dzIHR3ZWFraW5nIHRoZSBvcHRpb25zIGluIGRpZmZfc2V0dXBfZG9uZSgpLgorCiBCSU5BUlksIFRFWFQ7OwogCUFmZmVjdHMgdGhlIHdheSBob3cgYSBmaWxlIHRoYXQgaXMgc2VlbWluZ2x5IGJpbmFyeSBpcyB0cmVhdGVkLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktcGFyc2Utb3B0aW9ucy50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktcGFyc2Utb3B0aW9ucy50eHQKaW5kZXggMGJlMmI1MS4uYmU1MGNmNCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXBhcnNlLW9wdGlvbnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1wYXJzZS1vcHRpb25zLnR4dApAQCAtMjksOSArMjksOSBAQAogCiBUaGUgcGFyc2Utb3B0aW9ucyBBUEkgYWxsb3dzOgogCi0qICdzdGlja2VkJyBhbmQgJ3NlcGFyYXRlIGZvcm0nIG9mIG9wdGlvbnMgd2l0aCBhcmd1bWVudHMuCi0gIGAtb0FyZ2AgaXMgc3RpY2tlZCwgYC1vIEFyZ2AgaXMgc2VwYXJhdGUgZm9ybS4KLSAgYC0tb3B0aW9uPUFyZ2AgaXMgc3RpY2tlZCwgYC0tb3B0aW9uIEFyZ2AgaXMgc2VwYXJhdGUgZm9ybS4KKyogJ3N0dWNrJyBhbmQgJ3NlcGFyYXRlIGZvcm0nIG9mIG9wdGlvbnMgd2l0aCBhcmd1bWVudHMuCisgIGAtb0FyZ2AgaXMgc3R1Y2ssIGAtbyBBcmdgIGlzIHNlcGFyYXRlIGZvcm0uCisgIGAtLW9wdGlvbj1BcmdgIGlzIHN0dWNrLCBgLS1vcHRpb24gQXJnYCBpcyBzZXBhcmF0ZSBmb3JtLgogCiAqIExvbmcgb3B0aW9ucyBtYXkgYmUgJ2FiYnJldmlhdGVkJywgYXMgbG9uZyBhcyB0aGUgYWJicmV2aWF0aW9uCiAgIGlzIHVuYW1iaWd1b3VzLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXJlZi1pdGVyYXRpb24udHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXJlZi1pdGVyYXRpb24udHh0CmluZGV4IGFhMWM1MGYuLjAyYWRmZDQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1yZWYtaXRlcmF0aW9uLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktcmVmLWl0ZXJhdGlvbi50eHQKQEAgLTUwLDEwICs1MCwxMCBAQAogdGhpczoKIAogCWNvbnN0IGNoYXIgKnBhdGggPSAicGF0aC90by9zdWJtb2R1bGUiCi0JaWYgKCFhZGRfc3VibW9kdWxlX29kYihwYXRoKSkKKwlpZiAoYWRkX3N1Ym1vZHVsZV9vZGIocGF0aCkpCiAJCWRpZSgiRXJyb3Igc3VibW9kdWxlICclcycgbm90IHBvcHVsYXRlZC4iLCBwYXRoKTsKIAotYGFkZF9zdWJtb2R1bGVfb2RiKClgIHdpbGwgcmV0dXJuIGFuIG5vbi16ZXJvIHZhbHVlIG9uIHN1Y2Nlc3MuIElmIHlvdQorYGFkZF9zdWJtb2R1bGVfb2RiKClgIHdpbGwgcmV0dXJuIHplcm8gb24gc3VjY2Vzcy4gSWYgeW91CiBkbyBub3QgZG8gdGhpcyB5b3Ugd2lsbCBnZXQgYW4gZXJyb3IgZm9yIGVhY2ggcmVmIHRoYXQgaXQgZG9lcyBub3QgcG9pbnQKIHRvIGEgdmFsaWQgb2JqZWN0LgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktcmVtb3RlLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1yZW1vdGUudHh0CmluZGV4IDRiZTg3NzYuLjVkMjQ1YWEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1yZW1vdGUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1yZW1vdGUudHh0CkBAIC01OCwxNiArNTgsMTYgQEAKIHN0cnVjdCByZWZzcGVjCiAtLS0tLS0tLS0tLS0tLQogCi1BIHN0cnVjdCByZWZzcGVjIGhvbGRzIHRoZSBwYXJzZWQgaW50ZXJwcmV0YXRpb24gb2YgYSByZWZzcGVjLiBJZiBpdAotd2lsbCBmb3JjZSB1cGRhdGVzIChzdGFydHMgd2l0aCBhICcrJyksIGZvcmNlIGlzIHRydWUuIElmIGl0IGlzIGEKLXBhdHRlcm4gKHNpZGVzIGVuZCB3aXRoICcqJykgcGF0dGVybiBpcyB0cnVlLiBzcmMgYW5kIGRlc3QgYXJlIHRoZSB0d28KLXNpZGVzIChpZiBhIHBhdHRlcm4sIG9ubHkgdGhlIHBhcnQgb3V0c2lkZSBvZiB0aGUgd2lsZGNhcmRzKTsgaWYgdGhlcmUKLWlzIG9ubHkgb25lIHNpZGUsIGl0IGlzIHNyYywgYW5kIGRzdCBpcyBOVUxMOyBpZiBzaWRlcyBleGlzdCBidXQgYXJlCi1lbXB0eSAoaS5lLiwgdGhlIHJlZnNwZWMgZWl0aGVyIHN0YXJ0cyBvciBlbmRzIHdpdGggJzonKSwgdGhlCi1jb3JyZXNwb25kaW5nIHNpZGUgaXMgIiIuCitBIHN0cnVjdCByZWZzcGVjIGhvbGRzIHRoZSBwYXJzZWQgaW50ZXJwcmV0YXRpb24gb2YgYSByZWZzcGVjLiAgSWYgaXQKK3dpbGwgZm9yY2UgdXBkYXRlcyAoc3RhcnRzIHdpdGggYSAnKycpLCBmb3JjZSBpcyB0cnVlLiAgSWYgaXQgaXMgYQorcGF0dGVybiAoc2lkZXMgZW5kIHdpdGggJyonKSBwYXR0ZXJuIGlzIHRydWUuICBzcmMgYW5kIGRlc3QgYXJlIHRoZQordHdvIHNpZGVzIChpbmNsdWRpbmcgJyonIGNoYXJhY3RlcnMgaWYgcHJlc2VudCk7IGlmIHRoZXJlIGlzIG9ubHkgb25lCitzaWRlLCBpdCBpcyBzcmMsIGFuZCBkc3QgaXMgTlVMTDsgaWYgc2lkZXMgZXhpc3QgYnV0IGFyZSBlbXB0eSAoaS5lLiwKK3RoZSByZWZzcGVjIGVpdGhlciBzdGFydHMgb3IgZW5kcyB3aXRoICc6JyksIHRoZSBjb3JyZXNwb25kaW5nIHNpZGUgaXMKKyIiLgogCi1UaGlzIHBhcnNpbmcgY2FuIGJlIGRvbmUgdG8gYW4gYXJyYXkgb2Ygc3RyaW5ncyB0byBnaXZlIGFuIGFycmF5IG9mCi1zdHJ1Y3QgcmVmcHNlY3Mgd2l0aCBwYXJzZV9yZWZfc3BlYygpLgorQW4gYXJyYXkgb2Ygc3RyaW5ncyBjYW4gYmUgcGFyc2VkIGludG8gYW4gYXJyYXkgb2Ygc3RydWN0IHJlZnNwZWNzCit1c2luZyBwYXJzZV9mZXRjaF9yZWZzcGVjKCkgb3IgcGFyc2VfcHVzaF9yZWZzcGVjKCkuCiAKIHJlbW90ZV9maW5kX3RyYWNraW5nKCksIGdpdmVuIGEgcmVtb3RlIGFuZCBhIHN0cnVjdCByZWZzcGVjIHdpdGgKIGVpdGhlciBzcmMgb3IgZHN0IGZpbGxlZCBvdXQsIHdpbGwgZmlsbCBvdXQgdGhlIG90aGVyIHN1Y2ggdGhhdCB0aGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1zZXR1cC50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktc2V0dXAudHh0CmluZGV4IDRmNjNhMDQuLjU0MGU0NTUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1zZXR1cC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXNldHVwLnR4dApAQCAtOCw2ICs4LDQyIEBACiAqIGlzX2luc2lkZV9naXRfZGlyKCkKICogaXNfaW5zaWRlX3dvcmtfdHJlZSgpCiAqIHNldHVwX3dvcmtfdHJlZSgpCi0qIGdldF9wYXRoc3BlYygpCiAKIChEc2NobykKKworUGF0aHNwZWMKKy0tLS0tLS0tCisKK1NlZSBnbG9zc2FyeS1jb250ZXh0LnR4dCBmb3IgdGhlIHN5bnRheCBvZiBwYXRoc3BlYy4gSW4gbWVtb3J5LCBhCitwYXRoc3BlYyBzZXQgaXMgcmVwcmVzZW50ZWQgYnkgInN0cnVjdCBwYXRoc3BlYyIgYW5kIGlzIHByZXBhcmVkIGJ5CitwYXJzZV9wYXRoc3BlYygpLiBUaGlzIGZ1bmN0aW9uIHRha2VzIHNldmVyYWwgYXJndW1lbnRzOgorCistIG1hZ2ljX21hc2sgc3BlY2lmaWVzIHdoYXQgZmVhdHVyZXMgdGhhdCBhcmUgTk9UIHN1cHBvcnRlZCBieSB0aGUKKyAgZm9sbG93aW5nIGNvZGUuIElmIGEgdXNlciBhdHRlbXB0cyB0byB1c2Ugc3VjaCBhIGZlYXR1cmUsCisgIHBhcnNlX3BhdGhzcGVjKCkgY2FuIHJlamVjdCBpdCBlYXJseS4KKworLSBmbGFncyBzcGVjaWZpZXMgb3RoZXIgdGhpbmdzIHRoYXQgdGhlIGNhbGxlciB3YW50cyBwYXJzZV9wYXRoc3BlYyB0bworICBwZXJmb3JtLgorCistIHByZWZpeCBhbmQgYXJncyBjb21lIGZyb20gY21kXyogZnVuY3Rpb25zCisKK2dldF9wYXRoc3BlYygpIGlzIG9ic29sZXRlIGFuZCBzaG91bGQgbmV2ZXIgYmUgdXNlZCBpbiBuZXcgY29kZS4KKworcGFyc2VfcGF0aHNwZWMoKSBoZWxwcyBjYXRjaCB1bnN1cHBvcnRlZCBmZWF0dXJlcyBhbmQgcmVqZWN0IHRoZW0KK3BvbGl0ZWx5LiBBdCBhIGxvd2VyIGxldmVsLCBkaWZmZXJlbnQgcGF0aHNwZWMtcmVsYXRlZCBmdW5jdGlvbnMgbWF5Citub3Qgc3VwcG9ydCB0aGUgc2FtZSBzZXQgb2YgZmVhdHVyZXMuIFN1Y2ggcGF0aHNwZWMtc2Vuc2l0aXZlCitmdW5jdGlvbnMgYXJlIGd1YXJkZWQgd2l0aCBHVUFSRF9QQVRIU1BFQygpLCB3aGljaCB3aWxsIGRpZSBpbiBhbgordW5mcmllbmRseSB3YXkgd2hlbiBhbiB1bnN1cHBvcnRlZCBmZWF0dXJlIGlzIHJlcXVlc3RlZC4KKworVGhlIGNvbW1hbmQgZGVzaWduZXJzIGFyZSBzdXBwb3NlZCB0byBtYWtlIHN1cmUgdGhhdCBHVUFSRF9QQVRIU1BFQygpCituZXZlciBkaWVzLiBUaGV5IGhhdmUgdG8gbWFrZSBzdXJlIGFsbCB1bnN1cHBvcnRlZCBmZWF0dXJlcyBhcmUgY2F1Z2h0CitieSBwYXJzZV9wYXRoc3BlYygpLCBub3QgYnkgR1VBUkRfUEFUSFNQRUMuIGdyZXBwaW5nIEdVQVJEX1BBVEhTUEVDKCkKK3Nob3VsZCBnaXZlIHRoZSBkZXNpZ25lcnMgYWxsIHBhdGhzcGVjLXNlbnNpdGl2ZSBjb2RlcGF0aHMgYW5kIHdoYXQKK2ZlYXR1cmVzIHRoZXkgc3VwcG9ydC4KKworQSBzaW1pbGFyIHByb2Nlc3MgaXMgYXBwbGllZCB3aGVuIGEgbmV3IHBhdGhzcGVjIG1hZ2ljIGlzIGFkZGVkLiBUaGUKK2Rlc2lnbmVyIGxpZnRzIHRoZSBHVUFSRF9QQVRIU1BFQyByZXN0cmljdGlvbiBpbiB0aGUgZnVuY3Rpb25zIHRoYXQKK3N1cHBvcnQgdGhlIG5ldyBtYWdpYy4gQXQgdGhlIHNhbWUgdGltZSAocyloZSBoYXMgdG8gbWFrZSBzdXJlIHRoaXMKK25ldyBmZWF0dXJlIHdpbGwgYmUgY2F1Z2h0IGF0IHBhcnNlX3BhdGhzcGVjKCkgaW4gY29tbWFuZHMgdGhhdCBjYW5ub3QKK2hhbmRsZSB0aGUgbmV3IG1hZ2ljIGluIHNvbWUgY2FzZXMuIGdyZXBwaW5nIHBhcnNlX3BhdGhzcGVjKCkgc2hvdWxkCitoZWxwLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvaHR0cC1wcm90b2NvbC50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9odHRwLXByb3RvY29sLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDQzNzNiCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvaHR0cC1wcm90b2NvbC50eHQKQEAgLTAsMCArMSw1MDYgQEAKK0hUVFAgdHJhbnNmZXIgcHJvdG9jb2xzCis9PT09PT09PT09PT09PT09PT09PT09PQorCitHaXQgc3VwcG9ydHMgdHdvIEhUVFAgYmFzZWQgdHJhbnNmZXIgcHJvdG9jb2xzLiAgQSAiZHVtYiIgcHJvdG9jb2wKK3doaWNoIHJlcXVpcmVzIG9ubHkgYSBzdGFuZGFyZCBIVFRQIHNlcnZlciBvbiB0aGUgc2VydmVyIGVuZCBvZiB0aGUKK2Nvbm5lY3Rpb24sIGFuZCBhICJzbWFydCIgcHJvdG9jb2wgd2hpY2ggcmVxdWlyZXMgYSBHaXQgYXdhcmUgQ0dJCisob3Igc2VydmVyIG1vZHVsZSkuICBUaGlzIGRvY3VtZW50IGRlc2NyaWJlcyBib3RoIHByb3RvY29scy4KKworQXMgYSBkZXNpZ24gZmVhdHVyZSBzbWFydCBjbGllbnRzIGNhbiBhdXRvbWF0aWNhbGx5IHVwZ3JhZGUgImR1bWIiCitwcm90b2NvbCBVUkxzIHRvIHNtYXJ0IFVSTHMuICBUaGlzIHBlcm1pdHMgYWxsIHVzZXJzIHRvIGhhdmUgdGhlCitzYW1lIHB1Ymxpc2hlZCBVUkwsIGFuZCB0aGUgcGVlcnMgYXV0b21hdGljYWxseSBzZWxlY3QgdGhlIG1vc3QKK2VmZmljaWVudCB0cmFuc3BvcnQgYXZhaWxhYmxlIHRvIHRoZW0uCisKKworVVJMIEZvcm1hdAorLS0tLS0tLS0tLQorCitVUkxzIGZvciBHaXQgcmVwb3NpdG9yaWVzIGFjY2Vzc2VkIGJ5IEhUVFAgdXNlIHRoZSBzdGFuZGFyZCBIVFRQCitVUkwgc3ludGF4IGRvY3VtZW50ZWQgYnkgUkZDIDE3MzgsIHNvIHRoZXkgYXJlIG9mIHRoZSBmb3JtOgorCisgIGh0dHA6Ly88aG9zdD46PHBvcnQ+LzxwYXRoPj88c2VhcmNocGFydD4KKworV2l0aGluIHRoaXMgZG9jdW1lbnRhdGlvbiB0aGUgcGxhY2Vob2xkZXIgYCRHSVRfVVJMYCB3aWxsIHN0YW5kIGZvcgordGhlIGh0dHA6Ly8gcmVwb3NpdG9yeSBVUkwgZW50ZXJlZCBieSB0aGUgZW5kLXVzZXIuCisKK1NlcnZlcnMgU0hPVUxEIGhhbmRsZSBhbGwgcmVxdWVzdHMgdG8gbG9jYXRpb25zIG1hdGNoaW5nIGAkR0lUX1VSTGAsIGFzCitib3RoIHRoZSAic21hcnQiIGFuZCAiZHVtYiIgSFRUUCBwcm90b2NvbHMgdXNlZCBieSBHaXQgb3BlcmF0ZQorYnkgYXBwZW5kaW5nIGFkZGl0aW9uYWwgcGF0aCBjb21wb25lbnRzIG9udG8gdGhlIGVuZCBvZiB0aGUgdXNlcgorc3VwcGxpZWQgYCRHSVRfVVJMYCBzdHJpbmcuCisKK0FuIGV4YW1wbGUgb2YgYSBkdW1iIGNsaWVudCByZXF1ZXN0aW5nIGZvciBhIGxvb3NlIG9iamVjdDoKKworICAkR0lUX1VSTDogICAgIGh0dHA6Ly9leGFtcGxlLmNvbTo4MDgwL2dpdC9yZXBvLmdpdAorICBVUkwgcmVxdWVzdDogIGh0dHA6Ly9leGFtcGxlLmNvbTo4MDgwL2dpdC9yZXBvLmdpdC9vYmplY3RzL2QwLzQ5ZjZjMjdhMjI0NGUxMjA0MTk1NWUyNjJhNDA0YzdmYWJhMzU1CisKK0FuIGV4YW1wbGUgb2YgYSBzbWFydCByZXF1ZXN0IHRvIGEgY2F0Y2gtYWxsIGdhdGV3YXk6CisKKyAgJEdJVF9VUkw6ICAgICBodHRwOi8vZXhhbXBsZS5jb20vZGFlbW9uLmNnaT9zdmM9Z2l0JnE9CisgIFVSTCByZXF1ZXN0OiAgaHR0cDovL2V4YW1wbGUuY29tL2RhZW1vbi5jZ2k/c3ZjPWdpdCZxPS9pbmZvL3JlZnMmc2VydmljZT1naXQtcmVjZWl2ZS1wYWNrCisKK0FuIGV4YW1wbGUgb2YgYSByZXF1ZXN0IHRvIGEgc3VibW9kdWxlOgorCisgICRHSVRfVVJMOiAgICAgaHR0cDovL2V4YW1wbGUuY29tL2dpdC9yZXBvLmdpdC9wYXRoL3N1Ym1vZHVsZS5naXQKKyAgVVJMIHJlcXVlc3Q6ICBodHRwOi8vZXhhbXBsZS5jb20vZ2l0L3JlcG8uZ2l0L3BhdGgvc3VibW9kdWxlLmdpdC9pbmZvL3JlZnMKKworQ2xpZW50cyBNVVNUIHN0cmlwIGEgdHJhaWxpbmcgYC9gLCBpZiBwcmVzZW50LCBmcm9tIHRoZSB1c2VyIHN1cHBsaWVkCitgJEdJVF9VUkxgIHN0cmluZyB0byBwcmV2ZW50IGVtcHR5IHBhdGggdG9rZW5zIChgLy9gKSBmcm9tIGFwcGVhcmluZworaW4gYW55IFVSTCBzZW50IHRvIGEgc2VydmVyLiAgQ29tcGF0aWJsZSBjbGllbnRzIE1VU1QgZXhwYW5kCitgJEdJVF9VUkwvaW5mby9yZWZzYCBhcyBgZm9vL2luZm8vcmVmc2AgYW5kIG5vdCBgZm9vLy9pbmZvL3JlZnNgLgorCisKK0F1dGhlbnRpY2F0aW9uCistLS0tLS0tLS0tLS0tLQorCitTdGFuZGFyZCBIVFRQIGF1dGhlbnRpY2F0aW9uIGlzIHVzZWQgaWYgYXV0aGVudGljYXRpb24gaXMgcmVxdWlyZWQKK3RvIGFjY2VzcyBhIHJlcG9zaXRvcnksIGFuZCBNQVkgYmUgY29uZmlndXJlZCBhbmQgZW5mb3JjZWQgYnkgdGhlCitIVFRQIHNlcnZlciBzb2Z0d2FyZS4KKworQmVjYXVzZSBHaXQgcmVwb3NpdG9yaWVzIGFyZSBhY2Nlc3NlZCBieSBzdGFuZGFyZCBwYXRoIGNvbXBvbmVudHMKK3NlcnZlciBhZG1pbmlzdHJhdG9ycyBNQVkgdXNlIGRpcmVjdG9yeSBiYXNlZCBwZXJtaXNzaW9ucyB3aXRoaW4KK3RoZWlyIEhUVFAgc2VydmVyIHRvIGNvbnRyb2wgcmVwb3NpdG9yeSBhY2Nlc3MuCisKK0NsaWVudHMgU0hPVUxEIHN1cHBvcnQgQmFzaWMgYXV0aGVudGljYXRpb24gYXMgZGVzY3JpYmVkIGJ5IFJGQyAyNjE2LgorU2VydmVycyBTSE9VTEQgc3VwcG9ydCBCYXNpYyBhdXRoZW50aWNhdGlvbiBieSByZWx5aW5nIHVwb24gdGhlCitIVFRQIHNlcnZlciBwbGFjZWQgaW4gZnJvbnQgb2YgdGhlIEdpdCBzZXJ2ZXIgc29mdHdhcmUuCisKK1NlcnZlcnMgU0hPVUxEIE5PVCByZXF1aXJlIEhUVFAgY29va2llcyBmb3IgdGhlIHB1cnBvc2VzIG9mCithdXRoZW50aWNhdGlvbiBvciBhY2Nlc3MgY29udHJvbC4KKworQ2xpZW50cyBhbmQgc2VydmVycyBNQVkgc3VwcG9ydCBvdGhlciBjb21tb24gZm9ybXMgb2YgSFRUUCBiYXNlZAorYXV0aGVudGljYXRpb24sIHN1Y2ggYXMgRGlnZXN0IGF1dGhlbnRpY2F0aW9uLgorCisKK1NTTAorLS0tCisKK0NsaWVudHMgYW5kIHNlcnZlcnMgU0hPVUxEIHN1cHBvcnQgU1NMLCBwYXJ0aWN1bGFybHkgdG8gcHJvdGVjdAorcGFzc3dvcmRzIHdoZW4gcmVseWluZyBvbiBCYXNpYyBIVFRQIGF1dGhlbnRpY2F0aW9uLgorCisKK1Nlc3Npb24gU3RhdGUKKy0tLS0tLS0tLS0tLS0KKworVGhlIEdpdCBvdmVyIEhUVFAgcHJvdG9jb2wgKG11Y2ggbGlrZSBIVFRQIGl0c2VsZikgaXMgc3RhdGVsZXNzCitmcm9tIHRoZSBwZXJzcGVjdGl2ZSBvZiB0aGUgSFRUUCBzZXJ2ZXIgc2lkZS4gIEFsbCBzdGF0ZSBNVVNUIGJlCityZXRhaW5lZCBhbmQgbWFuYWdlZCBieSB0aGUgY2xpZW50IHByb2Nlc3MuICBUaGlzIHBlcm1pdHMgc2ltcGxlCityb3VuZC1yb2JpbiBsb2FkLWJhbGFuY2luZyBvbiB0aGUgc2VydmVyIHNpZGUsIHdpdGhvdXQgbmVlZGluZyB0bword29ycnkgYWJvdXQgc3RhdGUgbWFuYWdlbWVudC4KKworQ2xpZW50cyBNVVNUIE5PVCByZXF1aXJlIHN0YXRlIG1hbmFnZW1lbnQgb24gdGhlIHNlcnZlciBzaWRlIGluCitvcmRlciB0byBmdW5jdGlvbiBjb3JyZWN0bHkuCisKK1NlcnZlcnMgTVVTVCBOT1QgcmVxdWlyZSBIVFRQIGNvb2tpZXMgaW4gb3JkZXIgdG8gZnVuY3Rpb24gY29ycmVjdGx5LgorQ2xpZW50cyBNQVkgc3RvcmUgYW5kIGZvcndhcmQgSFRUUCBjb29raWVzIGR1cmluZyByZXF1ZXN0IHByb2Nlc3NpbmcKK2FzIGRlc2NyaWJlZCBieSBSRkMgMjYxNiAoSFRUUC8xLjEpLiAgU2VydmVycyBTSE9VTEQgaWdub3JlIGFueQorY29va2llcyBzZW50IGJ5IGEgY2xpZW50LgorCisKK0dlbmVyYWwgUmVxdWVzdCBQcm9jZXNzaW5nCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitFeGNlcHQgd2hlcmUgbm90ZWQsIGFsbCBzdGFuZGFyZCBIVFRQIGJlaGF2aW9yIFNIT1VMRCBiZSBhc3N1bWVkCitieSBib3RoIGNsaWVudCBhbmQgc2VydmVyLiAgVGhpcyBpbmNsdWRlcyAoYnV0IGlzIG5vdCBuZWNlc3NhcmlseQorbGltaXRlZCB0byk6CisKK0lmIHRoZXJlIGlzIG5vIHJlcG9zaXRvcnkgYXQgYCRHSVRfVVJMYCwgb3IgdGhlIHJlc291cmNlIHBvaW50ZWQgdG8gYnkgYQorbG9jYXRpb24gbWF0Y2hpbmcgYCRHSVRfVVJMYCBkb2VzIG5vdCBleGlzdCwgdGhlIHNlcnZlciBNVVNUIE5PVCByZXNwb25kCit3aXRoIGAyMDAgT0tgIHJlc3BvbnNlLiAgQSBzZXJ2ZXIgU0hPVUxEIHJlc3BvbmQgd2l0aAorYDQwNCBOb3QgRm91bmRgLCBgNDEwIEdvbmVgLCBvciBhbnkgb3RoZXIgc3VpdGFibGUgSFRUUCBzdGF0dXMgY29kZQord2hpY2ggZG9lcyBub3QgaW1wbHkgdGhlIHJlc291cmNlIGV4aXN0cyBhcyByZXF1ZXN0ZWQuCisKK0lmIHRoZXJlIGlzIGEgcmVwb3NpdG9yeSBhdCBgJEdJVF9VUkxgLCBidXQgYWNjZXNzIGlzIG5vdCBjdXJyZW50bHkKK3Blcm1pdHRlZCwgdGhlIHNlcnZlciBNVVNUIHJlc3BvbmQgd2l0aCB0aGUgYDQwMyBGb3JiaWRkZW5gIEhUVFAKK3N0YXR1cyBjb2RlLgorCitTZXJ2ZXJzIFNIT1VMRCBzdXBwb3J0IGJvdGggSFRUUCAxLjAgYW5kIEhUVFAgMS4xLgorU2VydmVycyBTSE9VTEQgc3VwcG9ydCBjaHVua2VkIGVuY29kaW5nIGZvciBib3RoIHJlcXVlc3QgYW5kIHJlc3BvbnNlCitib2RpZXMuCisKK0NsaWVudHMgU0hPVUxEIHN1cHBvcnQgYm90aCBIVFRQIDEuMCBhbmQgSFRUUCAxLjEuCitDbGllbnRzIFNIT1VMRCBzdXBwb3J0IGNodW5rZWQgZW5jb2RpbmcgZm9yIGJvdGggcmVxdWVzdCBhbmQgcmVzcG9uc2UKK2JvZGllcy4KKworU2VydmVycyBNQVkgcmV0dXJuIEVUYWcgYW5kL29yIExhc3QtTW9kaWZpZWQgaGVhZGVycy4KKworQ2xpZW50cyBNQVkgcmV2YWxpZGF0ZSBjYWNoZWQgZW50aXRpZXMgYnkgaW5jbHVkaW5nIElmLU1vZGlmaWVkLVNpbmNlCithbmQvb3IgSWYtTm9uZS1NYXRjaCByZXF1ZXN0IGhlYWRlcnMuCisKK1NlcnZlcnMgTUFZIHJldHVybiBgMzA0IE5vdCBNb2RpZmllZGAgaWYgdGhlIHJlbGV2YW50IGhlYWRlcnMgYXBwZWFyCitpbiB0aGUgcmVxdWVzdCBhbmQgdGhlIGVudGl0eSBoYXMgbm90IGNoYW5nZWQuICBDbGllbnRzIE1VU1QgdHJlYXQKK2AzMDQgTm90IE1vZGlmaWVkYCBpZGVudGljYWwgdG8gYDIwMCBPS2AgYnkgcmV1c2luZyB0aGUgY2FjaGVkIGVudGl0eS4KKworQ2xpZW50cyBNQVkgcmV1c2UgYSBjYWNoZWQgZW50aXR5IHdpdGhvdXQgcmV2YWxpZGF0aW9uIGlmIHRoZQorQ2FjaGUtQ29udHJvbCBhbmQvb3IgRXhwaXJlcyBoZWFkZXIgcGVybWl0cyBjYWNoaW5nLiAgQ2xpZW50cyBhbmQKK3NlcnZlcnMgTVVTVCBmb2xsb3cgUkZDIDI2MTYgZm9yIGNhY2hlIGNvbnRyb2xzLgorCisKK0Rpc2NvdmVyaW5nIFJlZmVyZW5jZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQWxsIEhUVFAgY2xpZW50cyBNVVNUIGJlZ2luIGVpdGhlciBhIGZldGNoIG9yIGEgcHVzaCBleGNoYW5nZSBieQorZGlzY292ZXJpbmcgdGhlIHJlZmVyZW5jZXMgYXZhaWxhYmxlIG9uIHRoZSByZW1vdGUgcmVwb3NpdG9yeS4KKworRHVtYiBDbGllbnRzCit+fn5+fn5+fn5+fn4KKworSFRUUCBjbGllbnRzIHRoYXQgb25seSBzdXBwb3J0IHRoZSAiZHVtYiIgcHJvdG9jb2wgTVVTVCBkaXNjb3ZlcgorcmVmZXJlbmNlcyBieSBtYWtpbmcgYSByZXF1ZXN0IGZvciB0aGUgc3BlY2lhbCBpbmZvL3JlZnMgZmlsZSBvZgordGhlIHJlcG9zaXRvcnkuCisKK0R1bWIgSFRUUCBjbGllbnRzIE1VU1QgbWFrZSBhIGBHRVRgIHJlcXVlc3QgdG8gYCRHSVRfVVJML2luZm8vcmVmc2AsCit3aXRob3V0IGFueSBzZWFyY2gvcXVlcnkgcGFyYW1ldGVycy4KKworICAgQzogR0VUICRHSVRfVVJML2luZm8vcmVmcyBIVFRQLzEuMAorCisgICBTOiAyMDAgT0sKKyAgIFM6CisgICBTOiA5NWRjZmEzNjMzMDA0ZGEwMDQ5ZDNkMGZhMDNmODA1ODljYmNhZjMxCXJlZnMvaGVhZHMvbWFpbnQKKyAgIFM6IGQwNDlmNmMyN2EyMjQ0ZTEyMDQxOTU1ZTI2MmE0MDRjN2ZhYmEzNTUJcmVmcy9oZWFkcy9tYXN0ZXIKKyAgIFM6IDJjYjU4Yjc5NDg4YTk4ZDI3MjFjZWE2NDQ4NzVhOGRkMDAyNmIxMTUJcmVmcy90YWdzL3YxLjAKKyAgIFM6IGEzYzJlMjQwMmI5OTE2M2QxZDU5NzU2ZTVmMjA3YWUyMWNjY2JhNGMJcmVmcy90YWdzL3YxLjBee30KKworVGhlIENvbnRlbnQtVHlwZSBvZiB0aGUgcmV0dXJuZWQgaW5mby9yZWZzIGVudGl0eSBTSE9VTEQgYmUKK2B0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04YCwgYnV0IE1BWSBiZSBhbnkgY29udGVudCB0eXBlLgorQ2xpZW50cyBNVVNUIE5PVCBhdHRlbXB0IHRvIHZhbGlkYXRlIHRoZSByZXR1cm5lZCBDb250ZW50LVR5cGUuCitEdW1iIHNlcnZlcnMgTVVTVCBOT1QgcmV0dXJuIGEgcmV0dXJuIHR5cGUgc3RhcnRpbmcgd2l0aAorYGFwcGxpY2F0aW9uL3gtZ2l0LWAuCisKK0NhY2hlLUNvbnRyb2wgaGVhZGVycyBNQVkgYmUgcmV0dXJuZWQgdG8gZGlzYWJsZSBjYWNoaW5nIG9mIHRoZQorcmV0dXJuZWQgZW50aXR5LgorCitXaGVuIGV4YW1pbmluZyB0aGUgcmVzcG9uc2UgY2xpZW50cyBTSE9VTEQgb25seSBleGFtaW5lIHRoZSBIVFRQCitzdGF0dXMgY29kZS4gIFZhbGlkIHJlc3BvbnNlcyBhcmUgYDIwMCBPS2AsIG9yIGAzMDQgTm90IE1vZGlmaWVkYC4KKworVGhlIHJldHVybmVkIGNvbnRlbnQgaXMgYSBVTklYIGZvcm1hdHRlZCB0ZXh0IGZpbGUgZGVzY3JpYmluZworZWFjaCByZWYgYW5kIGl0cyBrbm93biB2YWx1ZS4gIFRoZSBmaWxlIFNIT1VMRCBiZSBzb3J0ZWQgYnkgbmFtZQorYWNjb3JkaW5nIHRvIHRoZSBDIGxvY2FsZSBvcmRlcmluZy4gIFRoZSBmaWxlIFNIT1VMRCBOT1QgaW5jbHVkZQordGhlIGRlZmF1bHQgcmVmIG5hbWVkIGBIRUFEYC4KKworICBpbmZvX3JlZnMgICA9ICAqKCByZWZfcmVjb3JkICkKKyAgcmVmX3JlY29yZCAgPSAgYW55X3JlZiAvIHBlZWxlZF9yZWYKKworICBhbnlfcmVmICAgICA9ICBvYmotaWQgSFRBQiByZWZuYW1lIExGCisgIHBlZWxlZF9yZWYgID0gIG9iai1pZCBIVEFCIHJlZm5hbWUgTEYKKwkJIG9iai1pZCBIVEFCIHJlZm5hbWUgIl57fSIgTEYKKworU21hcnQgQ2xpZW50cworfn5+fn5+fn5+fn5+fgorCitIVFRQIGNsaWVudHMgdGhhdCBzdXBwb3J0IHRoZSAic21hcnQiIHByb3RvY29sIChvciBib3RoIHRoZQorInNtYXJ0IiBhbmQgImR1bWIiIHByb3RvY29scykgTVVTVCBkaXNjb3ZlciByZWZlcmVuY2VzIGJ5IG1ha2luZworYSBwYXJhbWV0ZXJpemVkIHJlcXVlc3QgZm9yIHRoZSBpbmZvL3JlZnMgZmlsZSBvZiB0aGUgcmVwb3NpdG9yeS4KKworVGhlIHJlcXVlc3QgTVVTVCBjb250YWluIGV4YWN0bHkgb25lIHF1ZXJ5IHBhcmFtZXRlciwKK2BzZXJ2aWNlPSRzZXJ2aWNlbmFtZWAsIHdoZXJlIGAkc2VydmljZW5hbWVgIE1VU1QgYmUgdGhlIHNlcnZpY2UKK25hbWUgdGhlIGNsaWVudCB3aXNoZXMgdG8gY29udGFjdCB0byBjb21wbGV0ZSB0aGUgb3BlcmF0aW9uLgorVGhlIHJlcXVlc3QgTVVTVCBOT1QgY29udGFpbiBhZGRpdGlvbmFsIHF1ZXJ5IHBhcmFtZXRlcnMuCisKKyAgIEM6IEdFVCAkR0lUX1VSTC9pbmZvL3JlZnM/c2VydmljZT1naXQtdXBsb2FkLXBhY2sgSFRUUC8xLjAKKworZHVtYiBzZXJ2ZXIgcmVwbHk6CisKKyAgIFM6IDIwMCBPSworICAgUzoKKyAgIFM6IDk1ZGNmYTM2MzMwMDRkYTAwNDlkM2QwZmEwM2Y4MDU4OWNiY2FmMzEJcmVmcy9oZWFkcy9tYWludAorICAgUzogZDA0OWY2YzI3YTIyNDRlMTIwNDE5NTVlMjYyYTQwNGM3ZmFiYTM1NQlyZWZzL2hlYWRzL21hc3RlcgorICAgUzogMmNiNThiNzk0ODhhOThkMjcyMWNlYTY0NDg3NWE4ZGQwMDI2YjExNQlyZWZzL3RhZ3MvdjEuMAorICAgUzogYTNjMmUyNDAyYjk5MTYzZDFkNTk3NTZlNWYyMDdhZTIxY2NjYmE0YwlyZWZzL3RhZ3MvdjEuMF57fQorCitzbWFydCBzZXJ2ZXIgcmVwbHk6CisKKyAgIFM6IDIwMCBPSworICAgUzogQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LWdpdC11cGxvYWQtcGFjay1hZHZlcnRpc2VtZW50CisgICBTOiBDYWNoZS1Db250cm9sOiBuby1jYWNoZQorICAgUzoKKyAgIFM6IDAwMWUjIHNlcnZpY2U9Z2l0LXVwbG9hZC1wYWNrXG4KKyAgIFM6IDAwNDg5NWRjZmEzNjMzMDA0ZGEwMDQ5ZDNkMGZhMDNmODA1ODljYmNhZjMxIHJlZnMvaGVhZHMvbWFpbnRcMG11bHRpX2Fja1xuCisgICBTOiAwMDQyZDA0OWY2YzI3YTIyNDRlMTIwNDE5NTVlMjYyYTQwNGM3ZmFiYTM1NSByZWZzL2hlYWRzL21hc3RlclxuCisgICBTOiAwMDNjMmNiNThiNzk0ODhhOThkMjcyMWNlYTY0NDg3NWE4ZGQwMDI2YjExNSByZWZzL3RhZ3MvdjEuMFxuCisgICBTOiAwMDNmYTNjMmUyNDAyYjk5MTYzZDFkNTk3NTZlNWYyMDdhZTIxY2NjYmE0YyByZWZzL3RhZ3MvdjEuMF57fVxuCisKK0R1bWIgU2VydmVyIFJlc3BvbnNlCiteXl5eXl5eXl5eXl5eXl5eXl5eXgorRHVtYiBzZXJ2ZXJzIE1VU1QgcmVzcG9uZCB3aXRoIHRoZSBkdW1iIHNlcnZlciByZXBseSBmb3JtYXQuCisKK1NlZSB0aGUgcHJpb3Igc2VjdGlvbiB1bmRlciBkdW1iIGNsaWVudHMgZm9yIGEgbW9yZSBkZXRhaWxlZAorZGVzY3JpcHRpb24gb2YgdGhlIGR1bWIgc2VydmVyIHJlc3BvbnNlLgorCitTbWFydCBTZXJ2ZXIgUmVzcG9uc2UKK15eXl5eXl5eXl5eXl5eXl5eXl5eXgorSWYgdGhlIHNlcnZlciBkb2VzIG5vdCByZWNvZ25pemUgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlIG5hbWUsIG9yIHRoZQorcmVxdWVzdGVkIHNlcnZpY2UgbmFtZSBoYXMgYmVlbiBkaXNhYmxlZCBieSB0aGUgc2VydmVyIGFkbWluaXN0cmF0b3IsCit0aGUgc2VydmVyIE1VU1QgcmVzcG9uZCB3aXRoIHRoZSBgNDAzIEZvcmJpZGRlbmAgSFRUUCBzdGF0dXMgY29kZS4KKworT3RoZXJ3aXNlLCBzbWFydCBzZXJ2ZXJzIE1VU1QgcmVzcG9uZCB3aXRoIHRoZSBzbWFydCBzZXJ2ZXIgcmVwbHkKK2Zvcm1hdCBmb3IgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlIG5hbWUuCisKK0NhY2hlLUNvbnRyb2wgaGVhZGVycyBTSE9VTEQgYmUgdXNlZCB0byBkaXNhYmxlIGNhY2hpbmcgb2YgdGhlCityZXR1cm5lZCBlbnRpdHkuCisKK1RoZSBDb250ZW50LVR5cGUgTVVTVCBiZSBgYXBwbGljYXRpb24veC0kc2VydmljZW5hbWUtYWR2ZXJ0aXNlbWVudGAuCitDbGllbnRzIFNIT1VMRCBmYWxsIGJhY2sgdG8gdGhlIGR1bWIgcHJvdG9jb2wgaWYgYW5vdGhlciBjb250ZW50Cit0eXBlIGlzIHJldHVybmVkLiAgV2hlbiBmYWxsaW5nIGJhY2sgdG8gdGhlIGR1bWIgcHJvdG9jb2wgY2xpZW50cworU0hPVUxEIE5PVCBtYWtlIGFuIGFkZGl0aW9uYWwgcmVxdWVzdCB0byBgJEdJVF9VUkwvaW5mby9yZWZzYCwgYnV0CitpbnN0ZWFkIFNIT1VMRCB1c2UgdGhlIHJlc3BvbnNlIGFscmVhZHkgaW4gaGFuZC4gIENsaWVudHMgTVVTVCBOT1QKK2NvbnRpbnVlIGlmIHRoZXkgZG8gbm90IHN1cHBvcnQgdGhlIGR1bWIgcHJvdG9jb2wuCisKK0NsaWVudHMgTVVTVCB2YWxpZGF0ZSB0aGUgc3RhdHVzIGNvZGUgaXMgZWl0aGVyIGAyMDAgT0tgIG9yCitgMzA0IE5vdCBNb2RpZmllZGAuCisKK0NsaWVudHMgTVVTVCB2YWxpZGF0ZSB0aGUgZmlyc3QgZml2ZSBieXRlcyBvZiB0aGUgcmVzcG9uc2UgZW50aXR5CittYXRjaGVzIHRoZSByZWdleCBgXlswLTlhLWZdezR9I2AuICBJZiB0aGlzIHRlc3QgZmFpbHMsIGNsaWVudHMKK01VU1QgTk9UIGNvbnRpbnVlLgorCitDbGllbnRzIE1VU1QgcGFyc2UgdGhlIGVudGlyZSByZXNwb25zZSBhcyBhIHNlcXVlbmNlIG9mIHBrdC1saW5lCityZWNvcmRzLgorCitDbGllbnRzIE1VU1QgdmVyaWZ5IHRoZSBmaXJzdCBwa3QtbGluZSBpcyBgIyBzZXJ2aWNlPSRzZXJ2aWNlbmFtZWAuCitTZXJ2ZXJzIE1VU1Qgc2V0ICRzZXJ2aWNlbmFtZSB0byBiZSB0aGUgcmVxdWVzdCBwYXJhbWV0ZXIgdmFsdWUuCitTZXJ2ZXJzIFNIT1VMRCBpbmNsdWRlIGFuIExGIGF0IHRoZSBlbmQgb2YgdGhpcyBsaW5lLgorQ2xpZW50cyBNVVNUIGlnbm9yZSBhbiBMRiBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lLgorCitTZXJ2ZXJzIE1VU1QgdGVybWluYXRlIHRoZSByZXNwb25zZSB3aXRoIHRoZSBtYWdpYyBgMDAwMGAgZW5kCitwa3QtbGluZSBtYXJrZXIuCisKK1RoZSByZXR1cm5lZCByZXNwb25zZSBpcyBhIHBrdC1saW5lIHN0cmVhbSBkZXNjcmliaW5nIGVhY2ggcmVmIGFuZAoraXRzIGtub3duIHZhbHVlLiAgVGhlIHN0cmVhbSBTSE9VTEQgYmUgc29ydGVkIGJ5IG5hbWUgYWNjb3JkaW5nIHRvCit0aGUgQyBsb2NhbGUgb3JkZXJpbmcuICBUaGUgc3RyZWFtIFNIT1VMRCBpbmNsdWRlIHRoZSBkZWZhdWx0IHJlZgorbmFtZWQgYEhFQURgIGFzIHRoZSBmaXJzdCByZWYuICBUaGUgc3RyZWFtIE1VU1QgaW5jbHVkZSBjYXBhYmlsaXR5CitkZWNsYXJhdGlvbnMgYmVoaW5kIGEgTlVMIG9uIHRoZSBmaXJzdCByZWYuCisKKyAgc21hcnRfcmVwbHkgICAgID0gIFBLVC1MSU5FKCIjIHNlcnZpY2U9JHNlcnZpY2VuYW1lIiBMRikKKwkJICAgICByZWZfbGlzdAorCQkgICAgICIwMDAwIgorICByZWZfbGlzdCAgICAgICAgPSAgZW1wdHlfbGlzdCAvIG5vbl9lbXB0eV9saXN0CisKKyAgZW1wdHlfbGlzdCAgICAgID0gIFBLVC1MSU5FKHplcm8taWQgU1AgImNhcGFiaWxpdGllc157fSIgTlVMIGNhcC1saXN0IExGKQorCisgIG5vbl9lbXB0eV9saXN0ICA9ICBQS1QtTElORShvYmotaWQgU1AgbmFtZSBOVUwgY2FwX2xpc3QgTEYpCisJCSAgICAgKnJlZl9yZWNvcmQKKworICBjYXAtbGlzdCAgICAgICAgPSAgY2FwYWJpbGl0eSAqKFNQIGNhcGFiaWxpdHkpCisgIGNhcGFiaWxpdHkgICAgICA9ICAxKihMQ19BTFBIQSAvIERJR0lUIC8gIi0iIC8gIl8iKQorICBMQ19BTFBIQSAgICAgICAgPSAgJXg2MS03QQorCisgIHJlZl9yZWNvcmQgICAgICA9ICBhbnlfcmVmIC8gcGVlbGVkX3JlZgorICBhbnlfcmVmICAgICAgICAgPSAgUEtULUxJTkUob2JqLWlkIFNQIG5hbWUgTEYpCisgIHBlZWxlZF9yZWYgICAgICA9ICBQS1QtTElORShvYmotaWQgU1AgbmFtZSBMRikKKwkJICAgICBQS1QtTElORShvYmotaWQgU1AgbmFtZSAiXnt9IiBMRgorCisKK1NtYXJ0IFNlcnZpY2UgZ2l0LXVwbG9hZC1wYWNrCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1RoaXMgc2VydmljZSByZWFkcyBmcm9tIHRoZSByZXBvc2l0b3J5IHBvaW50ZWQgdG8gYnkgYCRHSVRfVVJMYC4KKworQ2xpZW50cyBNVVNUIGZpcnN0IHBlcmZvcm0gcmVmIGRpc2NvdmVyeSB3aXRoCitgJEdJVF9VUkwvaW5mby9yZWZzP3NlcnZpY2U9Z2l0LXVwbG9hZC1wYWNrYC4KKworICAgQzogUE9TVCAkR0lUX1VSTC9naXQtdXBsb2FkLXBhY2sgSFRUUC8xLjAKKyAgIEM6IENvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC1naXQtdXBsb2FkLXBhY2stcmVxdWVzdAorICAgQzoKKyAgIEM6IDAwMzJ3YW50IDBhNTNlOWRkZWFkZGFkNjNhZDEwNjg2MDIzN2JiZjUzNDExZDExYTdcbgorICAgQzogMDAzMmhhdmUgNDQxYjQwZDgzM2ZkZmE5M2ViMjkwOGU1Mjc0MjI0OGZhZjBlZTk5M1xuCisgICBDOiAwMDAwCisKKyAgIFM6IDIwMCBPSworICAgUzogQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LWdpdC11cGxvYWQtcGFjay1yZXN1bHQKKyAgIFM6IENhY2hlLUNvbnRyb2w6IG5vLWNhY2hlCisgICBTOgorICAgUzogLi4uLkFDSyAlcywgY29udGludWUKKyAgIFM6IC4uLi5OQUsKKworQ2xpZW50cyBNVVNUIE5PVCByZXVzZSBvciByZXZhbGlkYXRlIGEgY2FjaGVkIHJlc3BvbnNlLgorU2VydmVycyBNVVNUIGluY2x1ZGUgc3VmZmljaWVudCBDYWNoZS1Db250cm9sIGhlYWRlcnMKK3RvIHByZXZlbnQgY2FjaGluZyBvZiB0aGUgcmVzcG9uc2UuCisKK1NlcnZlcnMgU0hPVUxEIHN1cHBvcnQgYWxsIGNhcGFiaWxpdGllcyBkZWZpbmVkIGhlcmUuCisKK0NsaWVudHMgTVVTVCBzZW5kIGF0IGxlYXN0IG9uZSAid2FudCIgY29tbWFuZCBpbiB0aGUgcmVxdWVzdCBib2R5LgorQ2xpZW50cyBNVVNUIE5PVCByZWZlcmVuY2UgYW4gaWQgaW4gYSAid2FudCIgY29tbWFuZCB3aGljaCBkaWQgbm90CithcHBlYXIgaW4gdGhlIHJlc3BvbnNlIG9idGFpbmVkIHRocm91Z2ggcmVmIGRpc2NvdmVyeSB1bmxlc3MgdGhlCitzZXJ2ZXIgYWR2ZXJ0aXNlcyBjYXBhYmlsaXR5IGBhbGxvdy10aXAtc2hhMS1pbi13YW50YC4KKworICBjb21wdXRlX3JlcXVlc3QgICA9ICB3YW50X2xpc3QKKwkJICAgICAgIGhhdmVfbGlzdAorCQkgICAgICAgcmVxdWVzdF9lbmQKKyAgcmVxdWVzdF9lbmQgICAgICAgPSAgIjAwMDAiIC8gImRvbmUiCisKKyAgd2FudF9saXN0ICAgICAgICAgPSAgUEtULUxJTkUod2FudCBOVUwgY2FwX2xpc3QgTEYpCisJCSAgICAgICAqKHdhbnRfcGt0KQorICB3YW50X3BrdCAgICAgICAgICA9ICBQS1QtTElORSh3YW50IExGKQorICB3YW50ICAgICAgICAgICAgICA9ICAid2FudCIgU1AgaWQKKyAgY2FwX2xpc3QgICAgICAgICAgPSAgKihTUCBjYXBhYmlsaXR5KSBTUAorCisgIGhhdmVfbGlzdCAgICAgICAgID0gICpQS1QtTElORSgiaGF2ZSIgU1AgaWQgTEYpCisKK1RPRE86IERvY3VtZW50IHRoaXMgZnVydGhlci4KKworVGhlIE5lZ290aWF0aW9uIEFsZ29yaXRobQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorVGhlIGNvbXB1dGF0aW9uIHRvIHNlbGVjdCB0aGUgbWluaW1hbCBwYWNrIHByb2NlZWRzIGFzIGZvbGxvd3MKKyhDID0gY2xpZW50LCBTID0gc2VydmVyKToKKworJ2luaXQgc3RlcDonCisKK0M6IFVzZSByZWYgZGlzY292ZXJ5IHRvIG9idGFpbiB0aGUgYWR2ZXJ0aXNlZCByZWZzLgorCitDOiBQbGFjZSBhbnkgb2JqZWN0IHNlZW4gaW50byBzZXQgYGFkdmVydGlzZWRgLgorCitDOiBCdWlsZCBhbiBlbXB0eSBzZXQsIGBjb21tb25gLCB0byBob2xkIHRoZSBvYmplY3RzIHRoYXQgYXJlIGxhdGVyCisgICBkZXRlcm1pbmVkIHRvIGJlIG9uIGJvdGggZW5kcy4KKworQzogQnVpbGQgYSBzZXQsIGB3YW50YCwgb2YgdGhlIG9iamVjdHMgZnJvbSBgYWR2ZXJ0aXNlZGAgdGhlIGNsaWVudAorICAgd2FudHMgdG8gZmV0Y2gsIGJhc2VkIG9uIHdoYXQgaXQgc2F3IGR1cmluZyByZWYgZGlzY292ZXJ5LgorCitDOiBTdGFydCBhIHF1ZXVlLCBgY19wZW5kaW5nYCwgb3JkZXJlZCBieSBjb21taXQgdGltZSAocG9wcGluZyBuZXdlc3QKKyAgIGZpcnN0KS4gIEFkZCBhbGwgY2xpZW50IHJlZnMuICBXaGVuIGEgY29tbWl0IGlzIHBvcHBlZCBmcm9tCisgICB0aGUgcXVldWUgaXRzIHBhcmVudHMgU0hPVUxEIGJlIGF1dG9tYXRpY2FsbHkgaW5zZXJ0ZWQgYmFjay4KKyAgIENvbW1pdHMgTVVTVCBvbmx5IGVudGVyIHRoZSBxdWV1ZSBvbmNlLgorCisnb25lIGNvbXB1dGUgc3RlcDonCisKK0M6IFNlbmQgb25lIGAkR0lUX1VSTC9naXQtdXBsb2FkLXBhY2tgIHJlcXVlc3Q6CisKKyAgIEM6IDAwMzJ3YW50IDx3YW50ICMxPi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyAgIEM6IDAwMzJ3YW50IDx3YW50ICMyPi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyAgIC4uLi4KKyAgIEM6IDAwMzJoYXZlIDxjb21tb24gIzE+Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyAgIEM6IDAwMzJoYXZlIDxjb21tb24gIzI+Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyAgIC4uLi4KKyAgIEM6IDAwMzJoYXZlIDxoYXZlICMxPi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyAgIEM6IDAwMzJoYXZlIDxoYXZlICMyPi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyAgIC4uLi4KKyAgIEM6IDAwMDAKKworVGhlIHN0cmVhbSBpcyBvcmdhbml6ZWQgaW50byAiY29tbWFuZHMiLCB3aXRoIGVhY2ggY29tbWFuZAorYXBwZWFyaW5nIGJ5IGl0c2VsZiBpbiBhIHBrdC1saW5lLiAgV2l0aGluIGEgY29tbWFuZCBsaW5lCit0aGUgdGV4dCBsZWFkaW5nIHVwIHRvIHRoZSBmaXJzdCBzcGFjZSBpcyB0aGUgY29tbWFuZCBuYW1lLAorYW5kIHRoZSByZW1haW5kZXIgb2YgdGhlIGxpbmUgdG8gdGhlIGZpcnN0IExGIGlzIHRoZSB2YWx1ZS4KK0NvbW1hbmQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgd2l0aCBhbiBMRiBhcyB0aGUgbGFzdCBieXRlIG9mCit0aGUgcGt0LWxpbmUgdmFsdWUuCisKK0NvbW1hbmRzIE1VU1QgYXBwZWFyIGluIHRoZSBmb2xsb3dpbmcgb3JkZXIsIGlmIHRoZXkgYXBwZWFyCithdCBhbGwgaW4gdGhlIHJlcXVlc3Qgc3RyZWFtOgorCisqICJ3YW50IgorKiAiaGF2ZSIKKworVGhlIHN0cmVhbSBpcyB0ZXJtaW5hdGVkIGJ5IGEgcGt0LWxpbmUgZmx1c2ggKGAwMDAwYCkuCisKK0Egc2luZ2xlICJ3YW50IiBvciAiaGF2ZSIgY29tbWFuZCBNVVNUIGhhdmUgb25lIGhleCBmb3JtYXR0ZWQKK1NIQS0xIGFzIGl0cyB2YWx1ZS4gIE11bHRpcGxlIFNIQS0xcyBNVVNUIGJlIHNlbnQgYnkgc2VuZGluZworbXVsdGlwbGUgY29tbWFuZHMuCisKK1RoZSBgaGF2ZWAgbGlzdCBpcyBjcmVhdGVkIGJ5IHBvcHBpbmcgdGhlIGZpcnN0IDMyIGNvbW1pdHMKK2Zyb20gYGNfcGVuZGluZ2AuICBMZXNzIGNhbiBiZSBzdXBwbGllZCBpZiBgY19wZW5kaW5nYCBlbXB0aWVzLgorCitJZiB0aGUgY2xpZW50IGhhcyBzZW50IDI1NiAiaGF2ZSIgY29tbWl0cyBhbmQgaGFzIG5vdCB5ZXQKK3JlY2VpdmVkIG9uZSBvZiB0aG9zZSBiYWNrIGZyb20gYHNfY29tbW9uYCwgb3IgdGhlIGNsaWVudCBoYXMKK2VtcHRpZWQgYGNfcGVuZGluZ2AgaXQgU0hPVUxEIGluY2x1ZGUgYSAiZG9uZSIgY29tbWFuZCB0byBsZXQKK3RoZSBzZXJ2ZXIga25vdyBpdCB3b24ndCBwcm9jZWVkOgorCisgICBDOiAwMDA5ZG9uZQorCitTOiBQYXJzZSB0aGUgZ2l0LXVwbG9hZC1wYWNrIHJlcXVlc3Q6CisKK1ZlcmlmeSBhbGwgb2JqZWN0cyBpbiBgd2FudGAgYXJlIGRpcmVjdGx5IHJlYWNoYWJsZSBmcm9tIHJlZnMuCisKK1RoZSBzZXJ2ZXIgTUFZIHdhbGsgYmFja3dhcmRzIHRocm91Z2ggaGlzdG9yeSBvciB0aHJvdWdoCit0aGUgcmVmbG9nIHRvIHBlcm1pdCBzbGlnaHRseSBzdGFsZSByZXF1ZXN0cy4KKworSWYgbm8gIndhbnQiIG9iamVjdHMgYXJlIHJlY2VpdmVkLCBzZW5kIGFuIGVycm9yOgorVE9ETzogRGVmaW5lIGVycm9yIGlmIG5vICJ3YW50IiBsaW5lcyBhcmUgcmVxdWVzdGVkLgorCitJZiBhbnkgIndhbnQiIG9iamVjdCBpcyBub3QgcmVhY2hhYmxlLCBzZW5kIGFuIGVycm9yOgorVE9ETzogRGVmaW5lIGVycm9yIGlmIGFuIGludmFsaWQgIndhbnQiIGlzIHJlcXVlc3RlZC4KKworQ3JlYXRlIGFuIGVtcHR5IGxpc3QsIGBzX2NvbW1vbmAuCisKK0lmICJoYXZlIiB3YXMgc2VudDoKKworTG9vcCB0aHJvdWdoIHRoZSBvYmplY3RzIGluIHRoZSBvcmRlciBzdXBwbGllZCBieSB0aGUgY2xpZW50LgorCitGb3IgZWFjaCBvYmplY3QsIGlmIHRoZSBzZXJ2ZXIgaGFzIHRoZSBvYmplY3QgcmVhY2hhYmxlIGZyb20KK2EgcmVmLCBhZGQgaXQgdG8gYHNfY29tbW9uYC4gIElmIGEgY29tbWl0IGlzIGFkZGVkIHRvIGBzX2NvbW1vbmAsCitkbyBub3QgYWRkIGFueSBhbmNlc3RvcnMsIGV2ZW4gaWYgdGhleSBhbHNvIGFwcGVhciBpbiBgaGF2ZWAuCisKK1M6IFNlbmQgdGhlIGdpdC11cGxvYWQtcGFjayByZXNwb25zZToKKworSWYgdGhlIHNlcnZlciBoYXMgZm91bmQgYSBjbG9zZWQgc2V0IG9mIG9iamVjdHMgdG8gcGFjayBvciB0aGUKK3JlcXVlc3QgZW5kcyB3aXRoICJkb25lIiwgaXQgcmVwbGllcyB3aXRoIHRoZSBwYWNrLgorVE9ETzogRG9jdW1lbnQgdGhlIHBhY2sgYmFzZWQgcmVzcG9uc2UKKworICAgUzogUEFDSy4uLgorCitUaGUgcmV0dXJuZWQgc3RyZWFtIGlzIHRoZSBzaWRlLWJhbmQtNjRrIHByb3RvY29sIHN1cHBvcnRlZAorYnkgdGhlIGdpdC11cGxvYWQtcGFjayBzZXJ2aWNlLCBhbmQgdGhlIHBhY2sgaXMgZW1iZWRkZWQgaW50bworc3RyZWFtIDEuICBQcm9ncmVzcyBtZXNzYWdlcyBmcm9tIHRoZSBzZXJ2ZXIgc2lkZSBNQVkgYXBwZWFyCitpbiBzdHJlYW0gMi4KKworSGVyZSBhICJjbG9zZWQgc2V0IG9mIG9iamVjdHMiIGlzIGRlZmluZWQgdG8gaGF2ZSBhdCBsZWFzdAorb25lIHBhdGggZnJvbSBldmVyeSAid2FudCIgdG8gYXQgbGVhc3Qgb25lICJjb21tb24iIG9iamVjdC4KKworSWYgdGhlIHNlcnZlciBuZWVkcyBtb3JlIGluZm9ybWF0aW9uLCBpdCByZXBsaWVzIHdpdGggYQorc3RhdHVzIGNvbnRpbnVlIHJlc3BvbnNlOgorVE9ETzogRG9jdW1lbnQgdGhlIG5vbi1wYWNrIHJlc3BvbnNlCisKK0M6IFBhcnNlIHRoZSB1cGxvYWQtcGFjayByZXNwb25zZToKKyAgIFRPRE86IERvY3VtZW50IHBhcnNpbmcgcmVzcG9uc2UKKworJ0RvIGFub3RoZXIgY29tcHV0ZSBzdGVwLicKKworCitTbWFydCBTZXJ2aWNlIGdpdC1yZWNlaXZlLXBhY2sKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVGhpcyBzZXJ2aWNlIHJlYWRzIGZyb20gdGhlIHJlcG9zaXRvcnkgcG9pbnRlZCB0byBieSBgJEdJVF9VUkxgLgorCitDbGllbnRzIE1VU1QgZmlyc3QgcGVyZm9ybSByZWYgZGlzY292ZXJ5IHdpdGgKK2AkR0lUX1VSTC9pbmZvL3JlZnM/c2VydmljZT1naXQtcmVjZWl2ZS1wYWNrYC4KKworICAgQzogUE9TVCAkR0lUX1VSTC9naXQtcmVjZWl2ZS1wYWNrIEhUVFAvMS4wCisgICBDOiBDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtZ2l0LXJlY2VpdmUtcGFjay1yZXF1ZXN0CisgICBDOgorICAgQzogLi4uLjBhNTNlOWRkZWFkZGFkNjNhZDEwNjg2MDIzN2JiZjUzNDExZDExYTcgNDQxYjQwZDgzM2ZkZmE5M2ViMjkwOGU1Mjc0MjI0OGZhZjBlZTk5MyByZWZzL2hlYWRzL21haW50XDAgcmVwb3J0LXN0YXR1cworICAgQzogMDAwMAorICAgQzogUEFDSy4uLi4KKworICAgUzogMjAwIE9LCisgICBTOiBDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtZ2l0LXJlY2VpdmUtcGFjay1yZXN1bHQKKyAgIFM6IENhY2hlLUNvbnRyb2w6IG5vLWNhY2hlCisgICBTOgorICAgUzogLi4uLgorCitDbGllbnRzIE1VU1QgTk9UIHJldXNlIG9yIHJldmFsaWRhdGUgYSBjYWNoZWQgcmVzcG9uc2UuCitTZXJ2ZXJzIE1VU1QgaW5jbHVkZSBzdWZmaWNpZW50IENhY2hlLUNvbnRyb2wgaGVhZGVycwordG8gcHJldmVudCBjYWNoaW5nIG9mIHRoZSByZXNwb25zZS4KKworU2VydmVycyBTSE9VTEQgc3VwcG9ydCBhbGwgY2FwYWJpbGl0aWVzIGRlZmluZWQgaGVyZS4KKworQ2xpZW50cyBNVVNUIHNlbmQgYXQgbGVhc3Qgb25lIGNvbW1hbmQgaW4gdGhlIHJlcXVlc3QgYm9keS4KK1dpdGhpbiB0aGUgY29tbWFuZCBwb3J0aW9uIG9mIHRoZSByZXF1ZXN0IGJvZHkgY2xpZW50cyBTSE9VTEQgc2VuZAordGhlIGlkIG9idGFpbmVkIHRocm91Z2ggcmVmIGRpc2NvdmVyeSBhcyBvbGRfaWQuCisKKyAgdXBkYXRlX3JlcXVlc3QgID0gIGNvbW1hbmRfbGlzdAorCQkgICAgICJQQUNLIiA8YmluYXJ5IGRhdGE+CisKKyAgY29tbWFuZF9saXN0ICAgID0gIFBLVC1MSU5FKGNvbW1hbmQgTlVMIGNhcF9saXN0IExGKQorCQkgICAgICooY29tbWFuZF9wa3QpCisgIGNvbW1hbmRfcGt0ICAgICA9ICBQS1QtTElORShjb21tYW5kIExGKQorICBjYXBfbGlzdCAgICAgICAgPSAgKihTUCBjYXBhYmlsaXR5KSBTUAorCisgIGNvbW1hbmQgICAgICAgICA9ICBjcmVhdGUgLyBkZWxldGUgLyB1cGRhdGUKKyAgY3JlYXRlICAgICAgICAgID0gIHplcm8taWQgU1AgbmV3X2lkIFNQIG5hbWUKKyAgZGVsZXRlICAgICAgICAgID0gIG9sZF9pZCBTUCB6ZXJvLWlkIFNQIG5hbWUKKyAgdXBkYXRlICAgICAgICAgID0gIG9sZF9pZCBTUCBuZXdfaWQgU1AgbmFtZQorCitUT0RPOiBEb2N1bWVudCB0aGlzIGZ1cnRoZXIuCisKKworUmVmZXJlbmNlcworLS0tLS0tLS0tLQorCitsaW5rOmh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzE3MzgudHh0W1JGQyAxNzM4OiBVbmlmb3JtIFJlc291cmNlIExvY2F0b3JzIChVUkwpXQorbGluazpodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyNjE2LnR4dFtSRkMgMjYxNjogSHlwZXJ0ZXh0IFRyYW5zZmVyIFByb3RvY29sIC0tIEhUVFAvMS4xXQorbGluazp0ZWNobmljYWwvcGFjay1wcm90b2NvbC5odG1sCitsaW5rOnRlY2huaWNhbC9wcm90b2NvbC1jYXBhYmlsaXRpZXMuaHRtbApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcGFjay1oZXVyaXN0aWNzLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3BhY2staGV1cmlzdGljcy50eHQKaW5kZXggOGI3YWUxYy4uOTVhMDdkYiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcGFjay1oZXVyaXN0aWNzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wYWNrLWhldXJpc3RpY3MudHh0CkBAIC0xLDUgKzEsNSBAQAotICAgICAgICBDb25jZXJuaW5nIEdpdCdzIFBhY2tpbmcgSGV1cmlzdGljcwotICAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorQ29uY2VybmluZyBHaXQncyBQYWNraW5nIEhldXJpc3RpY3MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKICAgICAgICAgT2gsIGhlcmUncyBhIHJlYWxseSBzdHVwaWQgcXVlc3Rpb246CiAKQEAgLTM2NiwxMiArMzY2LDYgQEAKIAogICAgIDxsaW51cz4gWWVzLCB3ZSBhbHdheXMgd3JpdGUgb3V0IG1vc3QgcmVjZW50IGZpcnN0CiAKLUZvciB0aGUgb3RoZXIgcmVjb3JkOgotCi0gICAgPHBhc2t5PiBuanNgOiBodHRwOi8vcGFzdGViaW4uY29tLzU0Nzk2NQotCi1UaGUgJ25ldCBuZXZlciBmb3JnZXRzLCBzbyB0aGF0IHNob3VsZCBiZSBnb29kIHVudGlsIHRoZSBlbmQgb2YgdGltZS4KLQogICAgIDxuanNgPiBBbmQsIHllYWgsIEkgZ290IHRoZSBwYXJ0IGFib3V0IGRlZXBlci1pbi1oaXN0b3J5IHN0dWZmCiAgICAgICAgIGhhdmluZyB3b3JzZSBJTyBjaGFyYWN0ZXJpc3RpY3MsIG9uZSBzb3J0IG9mIGRvZXNuJ3QgY2FyZS4KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcGFjay1wcm90b2NvbC50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wYWNrLXByb3RvY29sLnR4dAppbmRleCBiODk4ZTk3Li5jNzNiNjJmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wYWNrLXByb3RvY29sLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wYWNrLXByb3RvY29sLnR4dApAQCAtMTYxLDYgKzE2MSw3IEBACiAKIC0tLS0KICAgYWR2ZXJ0aXNlZC1yZWZzICA9ICAobm8tcmVmcyAvIGxpc3Qtb2YtcmVmcykKKwkJICAgICAgKnNoYWxsb3cKIAkJICAgICAgZmx1c2gtcGt0CiAKICAgbm8tcmVmcyAgICAgICAgICA9ICBQS1QtTElORSh6ZXJvLWlkIFNQICJjYXBhYmlsaXRpZXNee30iCkBAIC0xNzQsNiArMTc1LDggQEAKICAgb3RoZXItdGlwICAgICAgICA9ICBvYmotaWQgU1AgcmVmbmFtZSBMRgogICBvdGhlci1wZWVsZWQgICAgID0gIG9iai1pZCBTUCByZWZuYW1lICJee30iIExGCiAKKyAgc2hhbGxvdyAgICAgICAgICA9ICBQS1QtTElORSgic2hhbGxvdyIgU1Agb2JqLWlkKQorCiAgIGNhcGFiaWxpdHktbGlzdCAgPSAgY2FwYWJpbGl0eSAqKFNQIGNhcGFiaWxpdHkpCiAgIGNhcGFiaWxpdHkgICAgICAgPSAgMSooTENfQUxQSEEgLyBESUdJVCAvICItIiAvICJfIikKICAgTENfQUxQSEEgICAgICAgICA9ICAleDYxLTdBCkBAIC00NjEsNyArNDY0LDkgQEAKIHJlZmVyZW5jZXMuCiAKIC0tLS0KLSAgdXBkYXRlLXJlcXVlc3QgICAgPSAgY29tbWFuZC1saXN0IFtwYWNrLWZpbGVdCisgIHVwZGF0ZS1yZXF1ZXN0ICAgID0gICpzaGFsbG93IGNvbW1hbmQtbGlzdCBbcGFjay1maWxlXQorCisgIHNoYWxsb3cgICAgICAgICAgID0gIFBLVC1MSU5FKCJzaGFsbG93IiBTUCBvYmotaWQpCiAKICAgY29tbWFuZC1saXN0ICAgICAgPSAgUEtULUxJTkUoY29tbWFuZCBOVUwgY2FwYWJpbGl0eS1saXN0IExGKQogCQkgICAgICAgKlBLVC1MSU5FKGNvbW1hbmQgTEYpCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wcm90b2NvbC1jYXBhYmlsaXRpZXMudHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcHJvdG9jb2wtY2FwYWJpbGl0aWVzLnR4dAppbmRleCBmZDhmZmE1Li5lM2U3OTI0IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wcm90b2NvbC1jYXBhYmlsaXRpZXMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3Byb3RvY29sLWNhcGFiaWxpdGllcy50eHQKQEAgLTcyLDE0ICs3MiwyOSBAQAogdGhpbi1wYWNrCiAtLS0tLS0tLS0KIAotVGhpcyBjYXBhYmlsaXR5IG1lYW5zIHRoYXQgdGhlIHNlcnZlciBjYW4gc2VuZCBhICd0aGluJyBwYWNrLCBhIHBhY2sKLXdoaWNoIGRvZXMgbm90IGNvbnRhaW4gYmFzZSBvYmplY3RzOyBpZiB0aG9zZSBiYXNlIG9iamVjdHMgYXJlIGF2YWlsYWJsZQotb24gY2xpZW50IHNpZGUuIENsaWVudCByZXF1ZXN0cyAndGhpbi1wYWNrJyBjYXBhYmlsaXR5IHdoZW4gaXQKLXVuZGVyc3RhbmRzIGhvdyB0byAidGhpY2tlbiIgaXQgYnkgYWRkaW5nIHJlcXVpcmVkIGRlbHRhIGJhc2VzIG1ha2luZwotaXQgc2VsZi1jb250YWluZWQuCitBIHRoaW4gcGFjayBpcyBvbmUgd2l0aCBkZWx0YXMgd2hpY2ggcmVmZXJlbmNlIGJhc2Ugb2JqZWN0cyBub3QKK2NvbnRhaW5lZCB3aXRoaW4gdGhlIHBhY2sgKGJ1dCBhcmUga25vd24gdG8gZXhpc3QgYXQgdGhlIHJlY2VpdmluZworZW5kKS4gVGhpcyBjYW4gcmVkdWNlIHRoZSBuZXR3b3JrIHRyYWZmaWMgc2lnbmlmaWNhbnRseSwgYnV0IGl0CityZXF1aXJlcyB0aGUgcmVjZWl2aW5nIGVuZCB0byBrbm93IGhvdyB0byAidGhpY2tlbiIgdGhlc2UgcGFja3MgYnkKK2FkZGluZyB0aGUgbWlzc2luZyBiYXNlcyB0byB0aGUgcGFjay4KIAotQ2xpZW50IE1VU1QgTk9UIHJlcXVlc3QgJ3RoaW4tcGFjaycgY2FwYWJpbGl0eSBpZiBpdCBjYW5ub3QgdHVybiBhIHRoaW4KLXBhY2sgaW50byBhIHNlbGYtY29udGFpbmVkIHBhY2suCitUaGUgdXBsb2FkLXBhY2sgc2VydmVyIGFkdmVydGlzZXMgJ3RoaW4tcGFjaycgd2hlbiBpdCBjYW4gZ2VuZXJhdGUKK2FuZCBzZW5kIGEgdGhpbiBwYWNrLiBBIGNsaWVudCByZXF1ZXN0cyB0aGUgJ3RoaW4tcGFjaycgY2FwYWJpbGl0eQord2hlbiBpdCB1bmRlcnN0YW5kcyBob3cgdG8gInRoaWNrZW4iIGl0LCBub3RpZnlpbmcgdGhlIHNlcnZlciB0aGF0CitpdCBjYW4gcmVjZWl2ZSBzdWNoIGEgcGFjay4gQSBjbGllbnQgTVVTVCBOT1QgcmVxdWVzdCB0aGUKKyd0aGluLXBhY2snIGNhcGFiaWxpdHkgaWYgaXQgY2Fubm90IHR1cm4gYSB0aGluIHBhY2sgaW50byBhCitzZWxmLWNvbnRhaW5lZCBwYWNrLgorCitSZWNlaXZlLXBhY2ssIG9uIHRoZSBvdGhlciBoYW5kLCBpcyBhc3N1bWVkIGJ5IGRlZmF1bHQgdG8gYmUgYWJsZSB0bworaGFuZGxlIHRoaW4gcGFja3MsIGJ1dCBjYW4gYXNrIHRoZSBjbGllbnQgbm90IHRvIHVzZSB0aGUgZmVhdHVyZSBieQorYWR2ZXJ0aXNpbmcgdGhlICduby10aGluJyBjYXBhYmlsaXR5LiBBIGNsaWVudCBNVVNUIE5PVCBzZW5kIGEgdGhpbgorcGFjayBpZiB0aGUgc2VydmVyIGFkdmVydGlzZXMgdGhlICduby10aGluJyBjYXBhYmlsaXR5LgorCitUaGUgcmVhc29ucyBmb3IgdGhpcyBhc3ltbWV0cnkgYXJlIGhpc3RvcmljYWwuIFRoZSByZWNlaXZlLXBhY2sKK3Byb2dyYW0gZGlkIG5vdCBleGlzdCB1bnRpbCBhZnRlciB0aGUgaW52ZW50aW9uIG9mIHRoaW4gcGFja3MsIHNvCitoaXN0b3JpY2FsbHkgdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBvZiByZWNlaXZlLXBhY2sgYWx3YXlzCit1bmRlcnN0b29kIHRoaW4gcGFja3MuIEFkZGluZyAnbm8tdGhpbicgbGF0ZXIgYWxsb3dlZCByZWNlaXZlLXBhY2sKK3RvIGRpc2FibGUgdGhlIGZlYXR1cmUgaW4gYSBiYWNrd2FyZHMtY29tcGF0aWJsZSBtYW5uZXIuCiAKIAogc2lkZS1iYW5kLCBzaWRlLWJhbmQtNjRrCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3VzZXItbWFudWFsLnR4dCBiL0RvY3VtZW50YXRpb24vdXNlci1tYW51YWwudHh0CmluZGV4IGZlNzIzZTQuLjI0OGRjYWIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vdXNlci1tYW51YWwudHh0CisrKyBiL0RvY3VtZW50YXRpb24vdXNlci1tYW51YWwudHh0CkBAIC0xLDYgKzEsNSBAQAotR2l0IFVzZXIncyBNYW51YWwgKGZvciB2ZXJzaW9uIDEuNS4zIG9yIG5ld2VyKQotX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwotCitHaXQgVXNlciBNYW51YWwKKz09PT09PT09PT09PT09PQogCiBHaXQgaXMgYSBmYXN0IGRpc3RyaWJ1dGVkIHJldmlzaW9uIGNvbnRyb2wgc3lzdGVtLgogCkBAIC0yMjAsNyArMjE5LDcgQEAKIAogVGhlIGJlc3Qgd2F5IHRvIHNlZSBob3cgdGhpcyB3b3JrcyBpcyB1c2luZyB0aGUgbGlua2dpdDpnaXRrWzFdCiBjb21tYW5kOyBydW5uaW5nIGdpdGsgbm93IG9uIGEgR2l0IHJlcG9zaXRvcnkgYW5kIGxvb2tpbmcgZm9yIG1lcmdlCi1jb21taXRzIHdpbGwgaGVscCB1bmRlcnN0YW5kIGhvdyB0aGUgR2l0IG9yZ2FuaXplcyBoaXN0b3J5LgorY29tbWl0cyB3aWxsIGhlbHAgdW5kZXJzdGFuZCBob3cgR2l0IG9yZ2FuaXplcyBoaXN0b3J5LgogCiBJbiB0aGUgZm9sbG93aW5nLCB3ZSBzYXkgdGhhdCBjb21taXQgWCBpcyAicmVhY2hhYmxlIiBmcm9tIGNvbW1pdCBZCiBpZiBjb21taXQgWCBpcyBhbiBhbmNlc3RvciBvZiBjb21taXQgWS4gIEVxdWl2YWxlbnRseSwgeW91IGNvdWxkIHNheQpAQCAtMjY5LDI3ICsyNjgsMjMgQEAKIGEgc3VtbWFyeSBvZiB0aGUgY29tbWFuZHM6CiAKIGBnaXQgYnJhbmNoYDo6Ci0JbGlzdCBhbGwgYnJhbmNoZXMKKwlsaXN0IGFsbCBicmFuY2hlcy4KIGBnaXQgYnJhbmNoIDxicmFuY2g+YDo6CiAJY3JlYXRlIGEgbmV3IGJyYW5jaCBuYW1lZCBgPGJyYW5jaD5gLCByZWZlcmVuY2luZyB0aGUgc2FtZQotCXBvaW50IGluIGhpc3RvcnkgYXMgdGhlIGN1cnJlbnQgYnJhbmNoCisJcG9pbnQgaW4gaGlzdG9yeSBhcyB0aGUgY3VycmVudCBicmFuY2guCiBgZ2l0IGJyYW5jaCA8YnJhbmNoPiA8c3RhcnQtcG9pbnQ+YDo6CiAJY3JlYXRlIGEgbmV3IGJyYW5jaCBuYW1lZCBgPGJyYW5jaD5gLCByZWZlcmVuY2luZwogCWA8c3RhcnQtcG9pbnQ+YCwgd2hpY2ggbWF5IGJlIHNwZWNpZmllZCBhbnkgd2F5IHlvdSBsaWtlLAotCWluY2x1ZGluZyB1c2luZyBhIGJyYW5jaCBuYW1lIG9yIGEgdGFnIG5hbWUKKwlpbmNsdWRpbmcgdXNpbmcgYSBicmFuY2ggbmFtZSBvciBhIHRhZyBuYW1lLgogYGdpdCBicmFuY2ggLWQgPGJyYW5jaD5gOjoKLQlkZWxldGUgdGhlIGJyYW5jaCBgPGJyYW5jaD5gOyBpZiB0aGUgYnJhbmNoIHlvdSBhcmUgZGVsZXRpbmcKLQlwb2ludHMgdG8gYSBjb21taXQgd2hpY2ggaXMgbm90IHJlYWNoYWJsZSBmcm9tIHRoZSBjdXJyZW50Ci0JYnJhbmNoLCB0aGlzIGNvbW1hbmQgd2lsbCBmYWlsIHdpdGggYSB3YXJuaW5nLgorCWRlbGV0ZSB0aGUgYnJhbmNoIGA8YnJhbmNoPmA7IGlmIHRoZSBicmFuY2ggaXMgbm90IGZ1bGx5CisJbWVyZ2VkIGluIGl0cyB1cHN0cmVhbSBicmFuY2ggb3IgY29udGFpbmVkIGluIHRoZSBjdXJyZW50IGJyYW5jaCwKKwl0aGlzIGNvbW1hbmQgd2lsbCBmYWlsIHdpdGggYSB3YXJuaW5nLgogYGdpdCBicmFuY2ggLUQgPGJyYW5jaD5gOjoKLQlldmVuIGlmIHRoZSBicmFuY2ggcG9pbnRzIHRvIGEgY29tbWl0IG5vdCByZWFjaGFibGUKLQlmcm9tIHRoZSBjdXJyZW50IGJyYW5jaCwgeW91IG1heSBrbm93IHRoYXQgdGhhdCBjb21taXQKLQlpcyBzdGlsbCByZWFjaGFibGUgZnJvbSBzb21lIG90aGVyIGJyYW5jaCBvciB0YWcuICBJbiB0aGF0Ci0JY2FzZSBpdCBpcyBzYWZlIHRvIHVzZSB0aGlzIGNvbW1hbmQgdG8gZm9yY2UgR2l0IHRvIGRlbGV0ZQotCXRoZSBicmFuY2guCisJZGVsZXRlIHRoZSBicmFuY2ggYDxicmFuY2g+YCBpcnJlc3BlY3RpdmUgb2YgaXRzIG1lcmdlZCBzdGF0dXMuCiBgZ2l0IGNoZWNrb3V0IDxicmFuY2g+YDo6CiAJbWFrZSB0aGUgY3VycmVudCBicmFuY2ggYDxicmFuY2g+YCwgdXBkYXRpbmcgdGhlIHdvcmtpbmcKLQlkaXJlY3RvcnkgdG8gcmVmbGVjdCB0aGUgdmVyc2lvbiByZWZlcmVuY2VkIGJ5IGA8YnJhbmNoPmAKKwlkaXJlY3RvcnkgdG8gcmVmbGVjdCB0aGUgdmVyc2lvbiByZWZlcmVuY2VkIGJ5IGA8YnJhbmNoPmAuCiBgZ2l0IGNoZWNrb3V0IC1iIDxuZXc+IDxzdGFydC1wb2ludD5gOjoKIAljcmVhdGUgYSBuZXcgYnJhbmNoIGA8bmV3PmAgcmVmZXJlbmNpbmcgYDxzdGFydC1wb2ludD5gLCBhbmQKIAljaGVjayBpdCBvdXQuCkBAIC0zMTMsMTAgKzMwOCwxNyBAQAogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICQgZ2l0IGNoZWNrb3V0IHYyLjYuMTcKLU5vdGU6IG1vdmluZyB0byAidjIuNi4xNyIgd2hpY2ggaXNuJ3QgYSBsb2NhbCBicmFuY2gKLUlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggZnJvbSB0aGlzIGNoZWNrb3V0LCB5b3UgbWF5IGRvIHNvCi0obm93IG9yIGxhdGVyKSBieSB1c2luZyAtYiB3aXRoIHRoZSBjaGVja291dCBjb21tYW5kIGFnYWluLiBFeGFtcGxlOgotICBnaXQgY2hlY2tvdXQgLWIgPG5ld19icmFuY2hfbmFtZT4KK05vdGU6IGNoZWNraW5nIG91dCAndjIuNi4xNycuCisKK1lvdSBhcmUgaW4gJ2RldGFjaGVkIEhFQUQnIHN0YXRlLiBZb3UgY2FuIGxvb2sgYXJvdW5kLCBtYWtlIGV4cGVyaW1lbnRhbAorY2hhbmdlcyBhbmQgY29tbWl0IHRoZW0sIGFuZCB5b3UgY2FuIGRpc2NhcmQgYW55IGNvbW1pdHMgeW91IG1ha2UgaW4gdGhpcworc3RhdGUgd2l0aG91dCBpbXBhY3RpbmcgYW55IGJyYW5jaGVzIGJ5IHBlcmZvcm1pbmcgYW5vdGhlciBjaGVja291dC4KKworSWYgeW91IHdhbnQgdG8gY3JlYXRlIGEgbmV3IGJyYW5jaCB0byByZXRhaW4gY29tbWl0cyB5b3UgY3JlYXRlLCB5b3UgbWF5CitkbyBzbyAobm93IG9yIGxhdGVyKSBieSB1c2luZyAtYiB3aXRoIHRoZSBjaGVja291dCBjb21tYW5kIGFnYWluLiBFeGFtcGxlOgorCisgIGdpdCBjaGVja291dCAtYiBuZXdfYnJhbmNoX25hbWUKKwogSEVBRCBpcyBub3cgYXQgNDI3YWJmYS4uLiBMaW51eCB2Mi42LjE3CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApAQCAtMzI3LDcgKzMyOSw3IEBACiAkIGNhdCAuZ2l0L0hFQUQKIDQyN2FiZmEyOGFmZWRmZmFkZmNhOWRkOGIwNjdlYjZkMzZiYWM1M2YKICQgZ2l0IGJyYW5jaAotKiAobm8gYnJhbmNoKQorKiAoZGV0YWNoZWQgZnJvbSB2Mi42LjE3KQogICBtYXN0ZXIKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCkBAIC03ODcsNyArNzg5LDcgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogT3IgeW91IGNvdWxkIHJlY2FsbCB0aGF0IHRoZSBgLi4uYCBvcGVyYXRvciBzZWxlY3RzIGFsbCBjb21taXRzCi1jb250YWluZWQgcmVhY2hhYmxlIGZyb20gZWl0aGVyIG9uZSByZWZlcmVuY2Ugb3IgdGhlIG90aGVyIGJ1dCBub3QKK3JlYWNoYWJsZSBmcm9tIGVpdGhlciBvbmUgcmVmZXJlbmNlIG9yIHRoZSBvdGhlciBidXQgbm90CiBib3RoOyBzbwogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC04MTQsNyArODE2LDcgQEAKICQgZ2l0ayBlMDVkYjBmZC4uCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLU9yIHlvdSBjYW4gdXNlIGxpbmtnaXQ6Z2l0LW5hbWUtcmV2WzFdLCB3aGljaCB3aWxsIGdpdmUgdGhlIGNvbW1pdCBhCitvciB5b3UgY2FuIHVzZSBsaW5rZ2l0OmdpdC1uYW1lLXJldlsxXSwgd2hpY2ggd2lsbCBnaXZlIHRoZSBjb21taXQgYQogbmFtZSBiYXNlZCBvbiBhbnkgdGFnIGl0IGZpbmRzIHBvaW50aW5nIHRvIG9uZSBvZiB0aGUgY29tbWl0J3MKIGRlc2NlbmRhbnRzOgogCkBAIC04NTgsOCArODYwLDggQEAKIAogQXMgeWV0IGFub3RoZXIgYWx0ZXJuYXRpdmUsIHRoZSBsaW5rZ2l0OmdpdC1zaG93LWJyYW5jaFsxXSBjb21tYW5kIGxpc3RzCiB0aGUgY29tbWl0cyByZWFjaGFibGUgZnJvbSBpdHMgYXJndW1lbnRzIHdpdGggYSBkaXNwbGF5IG9uIHRoZSBsZWZ0LWhhbmQKLXNpZGUgdGhhdCBpbmRpY2F0ZXMgd2hpY2ggYXJndW1lbnRzIHRoYXQgY29tbWl0IGlzIHJlYWNoYWJsZSBmcm9tLiAgU28sCi15b3UgY2FuIHJ1biBzb21ldGhpbmcgbGlrZQorc2lkZSB0aGF0IGluZGljYXRlcyB3aGljaCBhcmd1bWVudHMgdGhhdCBjb21taXQgaXMgcmVhY2hhYmxlIGZyb20uCitTbywgaWYgeW91IHJ1biBzb21ldGhpbmcgbGlrZQogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAkIGdpdCBzaG93LWJyYW5jaCBlMDVkYjBmZCB2MS41LjAtcmMwIHYxLjUuMC1yYzEgdjEuNS4wLXJjMgpAQCAtODcxLDE1ICs4NzMsMTUgQEAKIC4uLgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi10aGVuIHNlYXJjaCBmb3IgYSBsaW5lIHRoYXQgbG9va3MgbGlrZQordGhlbiBhIGxpbmUgbGlrZQogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiArICsrIFtlMDVkYjBmZF0gRml4IHdhcm5pbmdzIGluIHNoYTFfZmlsZS5jIC0gdXNlIEM5OSBwcmludGYgZm9ybWF0IGlmCiBhdmFpbGFibGUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotV2hpY2ggc2hvd3MgdGhhdCBlMDVkYjBmZCBpcyByZWFjaGFibGUgZnJvbSBpdHNlbGYsIGZyb20gdjEuNS4wLXJjMSwgYW5kCi1mcm9tIHYxLjUuMC1yYzIsIGJ1dCBub3QgZnJvbSB2MS41LjAtcmMwLgorc2hvd3MgdGhhdCBlMDVkYjBmZCBpcyByZWFjaGFibGUgZnJvbSBpdHNlbGYsIGZyb20gdjEuNS4wLXJjMSwKK2FuZCBmcm9tIHYxLjUuMC1yYzIsIGFuZCBub3QgZnJvbSB2MS41LjAtcmMwLgogCiBbW3Nob3dpbmctY29tbWl0cy11bmlxdWUtdG8tYS1icmFuY2hdXQogU2hvd2luZyBjb21taXRzIHVuaXF1ZSB0byBhIGdpdmVuIGJyYW5jaApAQCAtMTA3NCwxOSArMTA3NiwxMyBAQAogCiBNb2RpZnlpbmcgdGhlIGluZGV4IGlzIGVhc3k6CiAKLVRvIHVwZGF0ZSB0aGUgaW5kZXggd2l0aCB0aGUgbmV3IGNvbnRlbnRzIG9mIGEgbW9kaWZpZWQgZmlsZSwgdXNlCitUbyB1cGRhdGUgdGhlIGluZGV4IHdpdGggdGhlIGNvbnRlbnRzIG9mIGEgbmV3IG9yIG1vZGlmaWVkIGZpbGUsIHVzZQogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAkIGdpdCBhZGQgcGF0aC90by9maWxlCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVRvIGFkZCB0aGUgY29udGVudHMgb2YgYSBuZXcgZmlsZSB0byB0aGUgaW5kZXgsIHVzZQotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0kIGdpdCBhZGQgcGF0aC90by9maWxlCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVRvIHJlbW92ZSBhIGZpbGUgZnJvbSB0aGUgaW5kZXggYW5kIGZyb20gdGhlIHdvcmtpbmcgdHJlZSwKK1RvIHJlbW92ZSBhIGZpbGUgZnJvbSB0aGUgaW5kZXggYW5kIGZyb20gdGhlIHdvcmtpbmcgdHJlZSwgdXNlCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICQgZ2l0IHJtIHBhdGgvdG8vZmlsZQpAQCAtMTc4Nyw3ICsxNzgzLDcgQEAKICQgZ2l0IG1lcmdlIGJyYW5jaAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1hcmUgcm91Z2hseSBlcXVpdmFsZW50LiAgVGhlIGZvcm1lciBpcyBhY3R1YWxseSB2ZXJ5IGNvbW1vbmx5IHVzZWQuCithcmUgcm91Z2hseSBlcXVpdmFsZW50LgogCiBbW3N1Ym1pdHRpbmctcGF0Y2hlc11dCiBTdWJtaXR0aW5nIHBhdGNoZXMgdG8gYSBwcm9qZWN0CkBAIC0xOTc3LDcgKzE5NzMsNyBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAoU2VlIGFsc28KLWxpbms6aG93dG8vc2V0dXAtZ2l0LXNlcnZlci1vdmVyLWh0dHAudHh0W3NldHVwLWdpdC1zZXJ2ZXItb3Zlci1odHRwXQorbGluazpob3d0by9zZXR1cC1naXQtc2VydmVyLW92ZXItaHR0cC5odG1sW3NldHVwLWdpdC1zZXJ2ZXItb3Zlci1odHRwXQogZm9yIGEgc2xpZ2h0bHkgbW9yZSBzb3BoaXN0aWNhdGVkIHNldHVwIHVzaW5nIFdlYkRBViB3aGljaCBhbHNvCiBhbGxvd3MgcHVzaGluZyBvdmVyIEhUVFAuKQogCkBAIC0yMjQ5LDExICsyMjQ1LDExIEBACiAkIC4uLiBwYXRjaCAuLi4gdGVzdCAgLi4uIGNvbW1pdCBbIC4uLiBwYXRjaCAuLi4gdGVzdCAuLi4gY29tbWl0IF0qCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVdoZW4geW91IGFyZSBoYXBweSB3aXRoIHRoZSBzdGF0ZSBvZiB0aGlzIGNoYW5nZSwgeW91IGNhbiBwdWxsIGl0IGludG8gdGhlCitXaGVuIHlvdSBhcmUgaGFwcHkgd2l0aCB0aGUgc3RhdGUgb2YgdGhpcyBjaGFuZ2UsIHlvdSBjYW4gbWVyZ2UgaXQgaW50byB0aGUKICJ0ZXN0IiBicmFuY2ggaW4gcHJlcGFyYXRpb24gdG8gbWFrZSBpdCBwdWJsaWM6CiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSQgZ2l0IGNoZWNrb3V0IHRlc3QgJiYgZ2l0IHB1bGwgLiBzcGVlZC11cC1zcGlubG9ja3MKKyQgZ2l0IGNoZWNrb3V0IHRlc3QgJiYgZ2l0IG1lcmdlIHNwZWVkLXVwLXNwaW5sb2NrcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBJdCBpcyB1bmxpa2VseSB0aGF0IHlvdSB3b3VsZCBoYXZlIGFueSBjb25mbGljdHMgaGVyZSAuLi4gYnV0IHlvdSBtaWdodCBpZiB5b3UKQEAgLTIyNjUsNyArMjI2MSw3IEBACiBtZWFucyB0aGF0IHRoZSBwYXRjaGVzIGNhbiBiZSBtb3ZlZCBpbnRvIHRoZSBgcmVsZWFzZWAgdHJlZSBpbiBhbnkgb3JkZXIuCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSQgZ2l0IGNoZWNrb3V0IHJlbGVhc2UgJiYgZ2l0IHB1bGwgLiBzcGVlZC11cC1zcGlubG9ja3MKKyQgZ2l0IGNoZWNrb3V0IHJlbGVhc2UgJiYgZ2l0IG1lcmdlIHNwZWVkLXVwLXNwaW5sb2NrcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBBZnRlciBhIHdoaWxlLCB5b3Ugd2lsbCBoYXZlIGEgbnVtYmVyIG9mIGJyYW5jaGVzLCBhbmQgZGVzcGl0ZSB0aGUKQEAgLTMxOTEsMjMgKzMxODcsMjEgQEAKIFlvdSBjYW4gc2F2ZSBzcGFjZSBhbmQgbWFrZSBHaXQgZmFzdGVyIGJ5IG1vdmluZyB0aGVzZSBsb29zZSBvYmplY3RzIGluCiB0byBhICJwYWNrIGZpbGUiLCB3aGljaCBzdG9yZXMgYSBncm91cCBvZiBvYmplY3RzIGluIGFuIGVmZmljaWVudAogY29tcHJlc3NlZCBmb3JtYXQ7IHRoZSBkZXRhaWxzIG9mIGhvdyBwYWNrIGZpbGVzIGFyZSBmb3JtYXR0ZWQgY2FuIGJlCi1mb3VuZCBpbiBsaW5rOnRlY2huaWNhbC9wYWNrLWZvcm1hdC50eHRbdGVjaG5pY2FsL3BhY2stZm9ybWF0LnR4dF0uCitmb3VuZCBpbiBsaW5rOnRlY2huaWNhbC9wYWNrLWZvcm1hdC5odG1sW3BhY2sgZm9ybWF0XS4KIAogVG8gcHV0IHRoZSBsb29zZSBvYmplY3RzIGludG8gYSBwYWNrLCBqdXN0IHJ1biBnaXQgcmVwYWNrOgogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICQgZ2l0IHJlcGFjawotR2VuZXJhdGluZyBwYWNrLi4uCi1Eb25lIGNvdW50aW5nIDYwMjAgb2JqZWN0cy4KLURlbHRpZnlpbmcgNjAyMCBvYmplY3RzLgotIDEwMCUgKDYwMjAvNjAyMCkgZG9uZQotV3JpdGluZyA2MDIwIG9iamVjdHMuCi0gMTAwJSAoNjAyMC82MDIwKSBkb25lCi1Ub3RhbCA2MDIwLCB3cml0dGVuIDYwMjAgKGRlbHRhIDQwNzApLCByZXVzZWQgMCAoZGVsdGEgMCkKLVBhY2sgcGFjay0zZTU0YWQyOWQ1YjJlMDU4MzhjNzVkZjU4MmM2NTI1N2I4ZDA4ZTFjIGNyZWF0ZWQuCitDb3VudGluZyBvYmplY3RzOiA2MDIwLCBkb25lLgorRGVsdGEgY29tcHJlc3Npb24gdXNpbmcgdXAgdG8gNCB0aHJlYWRzLgorQ29tcHJlc3Npbmcgb2JqZWN0czogMTAwJSAoNjAyMC82MDIwKSwgZG9uZS4KK1dyaXRpbmcgb2JqZWN0czogMTAwJSAoNjAyMC82MDIwKSwgZG9uZS4KK1RvdGFsIDYwMjAgKGRlbHRhIDQwNzApLCByZXVzZWQgMCAoZGVsdGEgMCkKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1Zb3UgY2FuIHRoZW4gcnVuCitUaGlzIGNyZWF0ZXMgYSBzaW5nbGUgInBhY2sgZmlsZSIgaW4gLmdpdC9vYmplY3RzL3BhY2svCitjb250YWluaW5nIGFsbCBjdXJyZW50bHkgdW5wYWNrZWQgb2JqZWN0cy4gIFlvdSBjYW4gdGhlbiBydW4KIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAkIGdpdCBwcnVuZQpAQCAtMzMwNSwxNyArMzI5OSwxMSBAQAogJCBnaXQgcHJ1bmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1hbmQgdGhleSdsbCBiZSBnb25lLiBCdXQgeW91IHNob3VsZCBvbmx5IHJ1biBgZ2l0IHBydW5lYCBvbiBhIHF1aWVzY2VudAorYW5kIHRoZXknbGwgYmUgZ29uZS4gKFlvdSBzaG91bGQgb25seSBydW4gYGdpdCBwcnVuZWAgb24gYSBxdWllc2NlbnQKIHJlcG9zaXRvcnktLWl0J3Mga2luZCBvZiBsaWtlIGRvaW5nIGEgZmlsZXN5c3RlbSBmc2NrIHJlY292ZXJ5OiB5b3UKIGRvbid0IHdhbnQgdG8gZG8gdGhhdCB3aGlsZSB0aGUgZmlsZXN5c3RlbSBpcyBtb3VudGVkLgotCi0oVGhlIHNhbWUgaXMgdHJ1ZSBvZiBgZ2l0IGZzY2tgIGl0c2VsZiwgYnR3LCBidXQgc2luY2UKLWBnaXQgZnNja2AgbmV2ZXIgYWN0dWFsbHkgKmNoYW5nZXMqIHRoZSByZXBvc2l0b3J5LCBpdCBqdXN0IHJlcG9ydHMKLW9uIHdoYXQgaXQgZm91bmQsIGBnaXQgZnNja2AgaXRzZWxmIGlzIG5ldmVyICdkYW5nZXJvdXMnIHRvIHJ1bi4KLVJ1bm5pbmcgaXQgd2hpbGUgc29tZWJvZHkgaXMgYWN0dWFsbHkgY2hhbmdpbmcgdGhlIHJlcG9zaXRvcnkgY2FuIGNhdXNlCi1jb25mdXNpbmcgYW5kIHNjYXJ5IG1lc3NhZ2VzLCBidXQgaXQgd29uJ3QgYWN0dWFsbHkgZG8gYW55dGhpbmcgYmFkLiBJbgotY29udHJhc3QsIHJ1bm5pbmcgYGdpdCBwcnVuZWAgd2hpbGUgc29tZWJvZHkgaXMgYWN0aXZlbHkgY2hhbmdpbmcgdGhlCi1yZXBvc2l0b3J5IGlzIGEgKkJBRCogaWRlYSkuCitgZ2l0IHBydW5lYCBpcyBkZXNpZ25lZCBub3QgdG8gY2F1c2UgYW55IGhhcm0gaW4gc3VjaCBjYXNlcyBvZiBjb25jdXJyZW50CithY2Nlc3NlcyB0byBhIHJlcG9zaXRvcnkgYnV0IHlvdSBtaWdodCByZWNlaXZlIGNvbmZ1c2luZyBvciBzY2FyeSBtZXNzYWdlcy4pCiAKIFtbcmVjb3ZlcmluZy1mcm9tLXJlcG9zaXRvcnktY29ycnVwdGlvbl1dCiBSZWNvdmVyaW5nIGZyb20gcmVwb3NpdG9yeSBjb3JydXB0aW9uCkBAIC0zNTM4LDcgKzM1MjYsNyBAQAogbWFudWFsbHkgY2hlY2sgdGhlbSBvdXQ7IGVhcmxpZXIgdmVyc2lvbnMgd29uJ3QgcmVjb2duaXplIHRoZSBzdWJtb2R1bGVzIGF0CiBhbGwuCiAKLVRvIHNlZSBob3cgc3VibW9kdWxlIHN1cHBvcnQgd29ya3MsIGNyZWF0ZSAoZm9yIGV4YW1wbGUpIGZvdXIgZXhhbXBsZQorVG8gc2VlIGhvdyBzdWJtb2R1bGUgc3VwcG9ydCB3b3JrcywgY3JlYXRlIGZvdXIgZXhhbXBsZQogcmVwb3NpdG9yaWVzIHRoYXQgY2FuIGJlIHVzZWQgbGF0ZXIgYXMgYSBzdWJtb2R1bGU6CiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTM2NDAsNyArMzYyOCw3IEBACiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICQgZ2l0IGJyYW5jaAotKiAobm8gYnJhbmNoKQorKiAoZGV0YWNoZWQgZnJvbSBkMjY2Yjk4KQogICBtYXN0ZXIKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApAQCAtMzkxMCw3ICszODk4LDcgQEAKIHByZXZpb3VzIHN0YXRlcyByZXByZXNlbnRlZCBieSBvdGhlciBjb21taXRzLgogCiBJbiBvdGhlciB3b3Jkcywgd2hpbGUgYSAidHJlZSIgcmVwcmVzZW50cyBhIHBhcnRpY3VsYXIgZGlyZWN0b3J5IHN0YXRlCi1vZiBhIHdvcmtpbmcgZGlyZWN0b3J5LCBhICJjb21taXQiIHJlcHJlc2VudHMgdGhhdCBzdGF0ZSBpbiAidGltZSIsCitvZiBhIHdvcmtpbmcgZGlyZWN0b3J5LCBhICJjb21taXQiIHJlcHJlc2VudHMgdGhhdCBzdGF0ZSBpbiB0aW1lLAogYW5kIGV4cGxhaW5zIGhvdyB3ZSBnb3QgdGhlcmUuCiAKIFlvdSBjcmVhdGUgYSBjb21taXQgb2JqZWN0IGJ5IGdpdmluZyBpdCB0aGUgdHJlZSB0aGF0IGRlc2NyaWJlcyB0aGUKQEAgLTM5MzAsOCArMzkxOCw3IEBACiByZXN1bHQgdG8gdGhlIGZpbGUgcG9pbnRlZCBhdCBieSBgLmdpdC9IRUFEYCwgc28gdGhhdCB3ZSBjYW4gYWx3YXlzIHNlZQogd2hhdCB0aGUgbGFzdCBjb21taXR0ZWQgc3RhdGUgd2FzLgogCi1IZXJlIGlzIGFuIEFTQ0lJIGFydCBieSBKb24gTG9lbGlnZXIgdGhhdCBpbGx1c3RyYXRlcyBob3cKLXZhcmlvdXMgcGllY2VzIGZpdCB0b2dldGhlci4KK0hlcmUgaXMgYSBwaWN0dXJlIHRoYXQgaWxsdXN0cmF0ZXMgaG93IHZhcmlvdXMgcGllY2VzIGZpdCB0b2dldGhlcjoKIAogLS0tLS0tLS0tLS0tCiAKQEAgLTQwMTAsMjcgKzM5OTcsMjYgQEAKIE1lcmdpbmcgbXVsdGlwbGUgdHJlZXMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotR2l0IGhlbHBzIHlvdSBkbyBhIHRocmVlLXdheSBtZXJnZSwgd2hpY2ggeW91IGNhbiBleHBhbmQgdG8gbi13YXkgYnkKLXJlcGVhdGluZyB0aGUgbWVyZ2UgcHJvY2VkdXJlIGFyYml0cmFyeSB0aW1lcyB1bnRpbCB5b3UgZmluYWxseQotImNvbW1pdCIgdGhlIHN0YXRlLiAgVGhlIG5vcm1hbCBzaXR1YXRpb24gaXMgdGhhdCB5b3UnZCBvbmx5IGRvIG9uZQotdGhyZWUtd2F5IG1lcmdlICh0d28gcGFyZW50cyksIGFuZCBjb21taXQgaXQsIGJ1dCBpZiB5b3UgbGlrZSB0bywgeW91Ci1jYW4gZG8gbXVsdGlwbGUgcGFyZW50cyBpbiBvbmUgZ28uCitHaXQgY2FuIGhlbHAgeW91IHBlcmZvcm0gYSB0aHJlZS13YXkgbWVyZ2UsIHdoaWNoIGNhbiBpbiB0dXJuIGJlCit1c2VkIGZvciBhIG1hbnktd2F5IG1lcmdlIGJ5IHJlcGVhdGluZyB0aGUgbWVyZ2UgcHJvY2VkdXJlIHNldmVyYWwKK3RpbWVzLiAgVGhlIHVzdWFsIHNpdHVhdGlvbiBpcyB0aGF0IHlvdSBvbmx5IGRvIG9uZSB0aHJlZS13YXkgbWVyZ2UKKyhyZWNvbmNpbGluZyB0d28gbGluZXMgb2YgaGlzdG9yeSkgYW5kIGNvbW1pdCB0aGUgcmVzdWx0LCBidXQgaWYKK3lvdSBsaWtlIHRvLCB5b3UgY2FuIG1lcmdlIHNldmVyYWwgYnJhbmNoZXMgaW4gb25lIGdvLgogCi1UbyBkbyBhIHRocmVlLXdheSBtZXJnZSwgeW91IG5lZWQgdGhlIHR3byBzZXRzIG9mICJjb21taXQiIG9iamVjdHMKLXRoYXQgeW91IHdhbnQgdG8gbWVyZ2UsIHVzZSB0aG9zZSB0byBmaW5kIHRoZSBjbG9zZXN0IGNvbW1vbiBwYXJlbnQgKGEKLXRoaXJkICJjb21taXQiIG9iamVjdCksIGFuZCB0aGVuIHVzZSB0aG9zZSBjb21taXQgb2JqZWN0cyB0byBmaW5kIHRoZQotc3RhdGUgb2YgdGhlIGRpcmVjdG9yeSAoInRyZWUiIG9iamVjdCkgYXQgdGhlc2UgcG9pbnRzLgorVG8gcGVyZm9ybSBhIHRocmVlLXdheSBtZXJnZSwgeW91IHN0YXJ0IHdpdGggdGhlIHR3byBjb21taXRzIHlvdQord2FudCB0byBtZXJnZSwgZmluZCB0aGVpciBjbG9zZXN0IGNvbW1vbiBwYXJlbnQgKGEgdGhpcmQgY29tbWl0KSwKK2FuZCBjb21wYXJlIHRoZSB0cmVlcyBjb3JyZXNwb25kaW5nIHRvIHRoZXNlIHRocmVlIGNvbW1pdHMuCiAKLVRvIGdldCB0aGUgImJhc2UiIGZvciB0aGUgbWVyZ2UsIHlvdSBmaXJzdCBsb29rIHVwIHRoZSBjb21tb24gcGFyZW50Ci1vZiB0d28gY29tbWl0cyB3aXRoCitUbyBnZXQgdGhlICJiYXNlIiBmb3IgdGhlIG1lcmdlLCBsb29rIHVwIHRoZSBjb21tb24gcGFyZW50IG9mIHR3bworY29tbWl0czoKIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogJCBnaXQgbWVyZ2UtYmFzZSA8Y29tbWl0MT4gPGNvbW1pdDI+CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLXdoaWNoIHdpbGwgcmV0dXJuIHlvdSB0aGUgY29tbWl0IHRoZXkgYXJlIGJvdGggYmFzZWQgb24uICBZb3Ugc2hvdWxkCi1ub3cgbG9vayB1cCB0aGUgInRyZWUiIG9iamVjdHMgb2YgdGhvc2UgY29tbWl0cywgd2hpY2ggeW91IGNhbiBlYXNpbHkKLWRvIHdpdGggKGZvciBleGFtcGxlKQorVGhpcyBwcmludHMgdGhlIG5hbWUgb2YgYSBjb21taXQgdGhleSBhcmUgYm90aCBiYXNlZCBvbi4gWW91IHNob3VsZAorbm93IGxvb2sgdXAgdGhlIHRyZWUgb2JqZWN0cyBvZiB0aG9zZSBjb21taXRzLCB3aGljaCB5b3UgY2FuIGVhc2lseQorZG8gd2l0aAogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAkIGdpdCBjYXQtZmlsZSBjb21taXQgPGNvbW1pdG5hbWU+IHwgaGVhZCAtMQpAQCAtNDE1Miw4ICs0MTM4LDYgQEAKIHRoYXQgaXMgdXNlZCB0byBuYW1lIHRoZSBvYmplY3QgaXMgdGhlIGhhc2ggb2YgdGhlIG9yaWdpbmFsIGRhdGEKIHBsdXMgdGhpcyBoZWFkZXIsIHNvIGBzaGExc3VtYCAnZmlsZScgZG9lcyBub3QgbWF0Y2ggdGhlIG9iamVjdCBuYW1lCiBmb3IgJ2ZpbGUnLgotKEhpc3RvcmljYWwgbm90ZTogaW4gdGhlIGRhd24gb2YgdGhlIGFnZSBvZiBHaXQgdGhlIGhhc2gKLXdhcyB0aGUgU0hBLTEgb2YgdGhlICdjb21wcmVzc2VkJyBvYmplY3QuKQogCiBBcyBhIHJlc3VsdCwgdGhlIGdlbmVyYWwgY29uc2lzdGVuY3kgb2YgYW4gb2JqZWN0IGNhbiBhbHdheXMgYmUgdGVzdGVkCiBpbmRlcGVuZGVudGx5IG9mIHRoZSBjb250ZW50cyBvciB0aGUgdHlwZSBvZiB0aGUgb2JqZWN0OiBhbGwgb2JqZWN0cyBjYW4KZGlmZiAtLWdpdCBhL0dJVC1WRVJTSU9OLUdFTiBiL0dJVC1WRVJTSU9OLUdFTgppbmRleCA5MTlhMWQ0Li4zOGI5MzliIDEwMDc1NQotLS0gYS9HSVQtVkVSU0lPTi1HRU4KKysrIGIvR0lULVZFUlNJT04tR0VOCkBAIC0xLDcgKzEsNyBAQAogIyEvYmluL3NoCiAKIEdWRj1HSVQtVkVSU0lPTi1GSUxFCi1ERUZfVkVSPXYxLjguNC41CitERUZfVkVSPXYxLjktcmMyCiAKIExGPScKICcKZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKaW5kZXggNDAyNjIxMS4uZGRkYWY0ZiAxMDA2NDQKLS0tIGEvTWFrZWZpbGUKKysrIGIvTWFrZWZpbGUKQEAgLTQ1Miw3ICs0NTIsNiBAQAogU0NSSVBUX1NIICs9IGdpdC1iaXNlY3Quc2gKIFNDUklQVF9TSCArPSBnaXQtZGlmZnRvb2wtLWhlbHBlci5zaAogU0NSSVBUX1NIICs9IGdpdC1maWx0ZXItYnJhbmNoLnNoCi1TQ1JJUFRfU0ggKz0gZ2l0LWxvc3QtZm91bmQuc2gKIFNDUklQVF9TSCArPSBnaXQtbWVyZ2Utb2N0b3B1cy5zaAogU0NSSVBUX1NIICs9IGdpdC1tZXJnZS1vbmUtZmlsZS5zaAogU0NSSVBUX1NIICs9IGdpdC1tZXJnZS1yZXNvbHZlLnNoCkBAIC00NjEsNyArNDYwLDYgQEAKIFNDUklQVF9TSCArPSBnaXQtcXVpbHRpbXBvcnQuc2gKIFNDUklQVF9TSCArPSBnaXQtcmViYXNlLnNoCiBTQ1JJUFRfU0ggKz0gZ2l0LXJlbW90ZS10ZXN0Z2l0LnNoCi1TQ1JJUFRfU0ggKz0gZ2l0LXJlcGFjay5zaAogU0NSSVBUX1NIICs9IGdpdC1yZXF1ZXN0LXB1bGwuc2gKIFNDUklQVF9TSCArPSBnaXQtc3Rhc2guc2gKIFNDUklQVF9TSCArPSBnaXQtc3VibW9kdWxlLnNoCkBAIC00ODUsMTEgKzQ4Myw5IEBACiBTQ1JJUFRfUEVSTCArPSBnaXQtc2VuZC1lbWFpbC5wZXJsCiBTQ1JJUFRfUEVSTCArPSBnaXQtc3ZuLnBlcmwKIAotU0NSSVBUX1BZVEhPTiArPSBnaXQtcmVtb3RlLXRlc3RweS5weQogU0NSSVBUX1BZVEhPTiArPSBnaXQtcDQucHkKIAogTk9fSU5TVEFMTCArPSBnaXQtcmVtb3RlLXRlc3RnaXQKLU5PX0lOU1RBTEwgKz0gZ2l0LXJlbW90ZS10ZXN0cHkKIAogIyBHZW5lcmF0ZWQgZmlsZXMgZm9yIHNjcmlwdHMKIFNDUklQVF9TSF9HRU4gPSAkKHBhdHN1YnN0ICUuc2gsJSwkKFNDUklQVF9TSCkpCkBAIC01NzcsNiArNTczLDcgQEAKIFRFU1RfUFJPR1JBTVNfTkVFRF9YICs9IHRlc3Qtc3RyaW5nLWxpc3QKIFRFU1RfUFJPR1JBTVNfTkVFRF9YICs9IHRlc3Qtc3VicHJvY2VzcwogVEVTVF9QUk9HUkFNU19ORUVEX1ggKz0gdGVzdC1zdm4tZmUKK1RFU1RfUFJPR1JBTVNfTkVFRF9YICs9IHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbgogVEVTVF9QUk9HUkFNU19ORUVEX1ggKz0gdGVzdC13aWxkbWF0Y2gKIAogVEVTVF9QUk9HUkFNUyA9ICQocGF0c3Vic3QgJSwlJFgsJChURVNUX1BST0dSQU1TX05FRURfWCkpCkBAIC01ODksMTEgKzU4Niw4IEBACiBCVUlMVF9JTlMgKz0gZ2l0LWNoZXJyeS1waWNrJFgKIEJVSUxUX0lOUyArPSBnaXQtZm9ybWF0LXBhdGNoJFgKIEJVSUxUX0lOUyArPSBnaXQtZnNjay1vYmplY3RzJFgKLUJVSUxUX0lOUyArPSBnaXQtZ2V0LXRhci1jb21taXQtaWQkWAogQlVJTFRfSU5TICs9IGdpdC1pbml0JFgKIEJVSUxUX0lOUyArPSBnaXQtbWVyZ2Utc3VidHJlZSRYCi1CVUlMVF9JTlMgKz0gZ2l0LXBlZWstcmVtb3RlJFgKLUJVSUxUX0lOUyArPSBnaXQtcmVwby1jb25maWckWAogQlVJTFRfSU5TICs9IGdpdC1zaG93JFgKIEJVSUxUX0lOUyArPSBnaXQtc3RhZ2UkWAogQlVJTFRfSU5TICs9IGdpdC1zdGF0dXMkWApAQCAtNzMzLDYgKzcyNyw3IEBACiBMSUJfSCArPSB0cmVlLmgKIExJQl9IICs9IHVucGFjay10cmVlcy5oCiBMSUJfSCArPSB1cmwuaAorTElCX0ggKz0gdXJsbWF0Y2guaAogTElCX0ggKz0gdXNlcmRpZmYuaAogTElCX0ggKz0gdXRmOC5oCiBMSUJfSCArPSB2YXJpbnQuaApAQCAtODgzLDYgKzg3OCw3IEBACiBMSUJfT0JKUyArPSB0cmVlLXdhbGsubwogTElCX09CSlMgKz0gdW5wYWNrLXRyZWVzLm8KIExJQl9PQkpTICs9IHVybC5vCitMSUJfT0JKUyArPSB1cmxtYXRjaC5vCiBMSUJfT0JKUyArPSB1c2FnZS5vCiBMSUJfT0JKUyArPSB1c2VyZGlmZi5vCiBMSUJfT0JKUyArPSB1dGY4Lm8KQEAgLTkzMiw2ICs5MjgsNyBAQAogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLm8KIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL2ZzY2subwogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vZ2MubworQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vZ2V0LXRhci1jb21taXQtaWQubwogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vZ3JlcC5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9oYXNoLW9iamVjdC5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9oZWxwLm8KQEAgLTk2OCw2ICs5NjUsNyBAQAogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vcmVtb3RlLm8KIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL3JlbW90ZS1leHQubwogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vcmVtb3RlLWZkLm8KK0JVSUxUSU5fT0JKUyArPSBidWlsdGluL3JlcGFjay5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9yZXBsYWNlLm8KIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL3JlcmVyZS5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9yZXNldC5vCkBAIC05ODIsNyArOTgwLDYgQEAKIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL3N0cmlwc3BhY2UubwogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vc3ltYm9saWMtcmVmLm8KIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL3RhZy5vCi1CVUlMVElOX09CSlMgKz0gYnVpbHRpbi90YXItdHJlZS5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi91bnBhY2stZmlsZS5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi91bnBhY2stb2JqZWN0cy5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi91cGRhdGUtaW5kZXgubwpAQCAtMTE3OSw2ICsxMTc2LDkgQEAKIGVsc2UKIAlMSUJfNF9DUllQVE8gPSAkKE9QRU5TU0xfTElOSykgLWxjcnlwdG8KIGVuZGlmCitpZmRlZiBBUFBMRV9DT01NT05fQ1JZUFRPCisJTElCXzRfQ1JZUFRPICs9IC1mcmFtZXdvcmsgU2VjdXJpdHkgLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbgorZW5kaWYKIGVuZGlmCiBpZmRlZiBORUVEU19MSUJJQ09OVgogCWlmZGVmIElDT05WRElSCkBAIC0xNTg0LDYgKzE1ODQsNyBAQAogUFlUSE9OX1BBVEhfU1EgPSAkKHN1YnN0ICcsJ1wnJywkKFBZVEhPTl9QQVRIKSkKIFRDTFRLX1BBVEhfU1EgPSAkKHN1YnN0ICcsJ1wnJywkKFRDTFRLX1BBVEgpKQogRElGRl9TUSA9ICQoc3Vic3QgJywnXCcnLCQoRElGRikpCitQRVJMTElCX0VYVFJBX1NRID0gJChzdWJzdCAnLCdcJycsJChQRVJMTElCX0VYVFJBKSkKIAogTElCUyA9ICQoR0lUTElCUykgJChFWFRMSUJTKQogCkBAIC0xNjU5LDkgKzE2NjAsNiBAQAogaWZuZGVmIE5PX1BFUkwKIAkkKFFVSUVUX1NVQkRJUjApcGVybCAkKFFVSUVUX1NVQkRJUjEpIFBFUkxfUEFUSD0nJChQRVJMX1BBVEhfU1EpJyBwcmVmaXg9JyQocHJlZml4X1NRKScgbG9jYWxlZGlyPSckKGxvY2FsZWRpcl9TUSknIGFsbAogZW5kaWYKLWlmbmRlZiBOT19QWVRIT04KLQkkKFFVSUVUX1NVQkRJUjApZ2l0X3JlbW90ZV9oZWxwZXJzICQoUVVJRVRfU1VCRElSMSkgUFlUSE9OX1BBVEg9JyQoUFlUSE9OX1BBVEhfU1EpJyBwcmVmaXg9JyQocHJlZml4X1NRKScgYWxsCi1lbmRpZgogCSQoUVVJRVRfU1VCRElSMCl0ZW1wbGF0ZXMgJChRVUlFVF9TVUJESVIxKSBTSEVMTF9QQVRIPSckKFNIRUxMX1BBVEhfU1EpJyBQRVJMX1BBVEg9JyQoUEVSTF9QQVRIX1NRKScKIAogcGxlYXNlX3NldF9TSEVMTF9QQVRIX3RvX2FfbW9yZV9tb2Rlcm5fc2hlbGw6CkBAIC0xNzc1LDcgKzE3NzMsNyBAQAogCiBnaXQucmVzOiBnaXQucmMgR0lULVZFUlNJT04tRklMRQogCSQoUVVJRVRfUkMpJChSQykgXAotCSAgJChqb2luIC1ETUFKT1I9IC1ETUlOT1I9IC1EUEFUQ0g9LCAkKHdvcmRsaXN0IDEsMywkKHN1YnN0IC0sICwkKHN1YnN0IC4sICwkKEdJVF9WRVJTSU9OKSkpKSkgXAorCSAgJChqb2luIC1ETUFKT1I9IC1ETUlOT1I9LCAkKHdvcmRsaXN0IDEsMiwkKHN1YnN0IC0sICwkKHN1YnN0IC4sICwkKEdJVF9WRVJTSU9OKSkpKSkgXAogCSAgLURHSVRfVkVSU0lPTj0iXFxcIiQoR0lUX1ZFUlNJT04pXFxcIiIgJDwgLW8gJEAKIAogaWZuZGVmIE5PX1BFUkwKQEAgLTE3OTEsOSArMTc4OSwxMiBAQAogcGVybC9wZXJsLm1hazogR0lULUNGTEFHUyBHSVQtUFJFRklYIHBlcmwvTWFrZWZpbGUgcGVybC9NYWtlZmlsZS5QTAogCSQoUVVJRVRfU1VCRElSMClwZXJsICQoUVVJRVRfU1VCRElSMSkgUEVSTF9QQVRIPSckKFBFUkxfUEFUSF9TUSknIHByZWZpeD0nJChwcmVmaXhfU1EpJyAkKEBGKQogCi0kKHBhdHN1YnN0ICUucGVybCwlLCQoU0NSSVBUX1BFUkwpKTogJSA6ICUucGVybCBHSVQtVkVSU0lPTi1GSUxFCitQRVJMX0RFRklORVMgPSAkKFBFUkxfUEFUSF9TUSk6JChQRVJMTElCX0VYVFJBX1NRKQorJChwYXRzdWJzdCAlLnBlcmwsJSwkKFNDUklQVF9QRVJMKSk6ICUgOiAlLnBlcmwgcGVybC9wZXJsLm1hayBHSVQtUEVSTC1ERUZJTkVTIEdJVC1WRVJTSU9OLUZJTEUKIAkkKFFVSUVUX0dFTikkKFJNKSAkQCAkQCsgJiYgXAogCUlOU1RMSUJESVI9YE1BS0VGTEFHUz0gJChNQUtFKSAtQyBwZXJsIC1zIC0tbm8tcHJpbnQtZGlyZWN0b3J5IGluc3RsaWJkaXJgICYmIFwKKwlJTlNUTElCRElSX0VYVFJBPSckKFBFUkxMSUJfRVhUUkFfU1EpJyAmJiBcCisJSU5TVExJQkRJUj0iJCRJTlNUTElCRElSJCR7SU5TVExJQkRJUl9FWFRSQTorOiQkSU5TVExJQkRJUl9FWFRSQX0iICYmIFwKIAlzZWQgLWUgJzF7JyBcCiAJICAgIC1lICcJc3wjIS4qcGVybHwjISQoUEVSTF9QQVRIX1NRKXwnIFwKIAkgICAgLWUgJwloJyBcCkBAIC0xODA2LDYgKzE4MDcsMTMgQEAKIAljaG1vZCAreCAkQCsgJiYgXAogCW12ICRAKyAkQAogCitHSVQtUEVSTC1ERUZJTkVTOiBGT1JDRQorCUBGTEFHUz0nJChQRVJMX0RFRklORVMpJzsgXAorCSAgICBpZiB0ZXN0IHgiJCRGTEFHUyIgIT0geCJgY2F0ICRAIDI+L2Rldi9udWxsYCIgOyB0aGVuIFwKKwkJZWNobyA+JjIgIiAgICAqIG5ldyBwZXJsLXNwZWNpZmljIHBhcmFtZXRlcnMiOyBcCisJCWVjaG8gIiQkRkxBR1MiID4kQDsgXAorCSAgICBmaQorCiAKIC5QSE9OWTogZ2l0d2ViCiBnaXR3ZWI6CkBAIC0xODI5LDEyICsxODM3LDcgQEAKICQoU0NSSVBUX1BZVEhPTl9HRU4pOiBHSVQtQ0ZMQUdTIEdJVC1QUkVGSVggR0lULVBZVEhPTi1WQVJTCiAkKFNDUklQVF9QWVRIT05fR0VOKTogJSA6ICUucHkKIAkkKFFVSUVUX0dFTikkKFJNKSAkQCAkQCsgJiYgXAotCUlOU1RMSUJESVI9YE1BS0VGTEFHUz0gJChNQUtFKSAtQyBnaXRfcmVtb3RlX2hlbHBlcnMgLXMgXAotCQktLW5vLXByaW50LWRpcmVjdG9yeSBwcmVmaXg9JyQocHJlZml4X1NRKScgREVTVERJUj0nJChERVNURElSX1NRKScgXAotCQlpbnN0bGliZGlyYCAmJiBcCiAJc2VkIC1lICcxc3wjIS4qcHl0aG9ufCMhJChQWVRIT05fUEFUSF9TUSl8JyBcCi0JICAgIC1lICdzfFwob3NcLmdldGVudigiR0lUUFlUSE9OTElCIlwpW14pXSopfFwxLCJAQElOU1RMSUJESVJAQCIpfCcgXAotCSAgICAtZSAnc3xAQElOU1RMSUJESVJAQHwnIiQkSU5TVExJQkRJUiInfGcnIFwKIAkgICAgJDwgPiRAKyAmJiBcCiAJY2htb2QgK3ggJEArICYmIFwKIAltdiAkQCsgJEAKQEAgLTIwMjIsNiArMjAyNSw5IEBACiBnZXR0ZXh0LnNwIGdldHRleHQucyBnZXR0ZXh0Lm86IEVYVFJBX0NQUEZMQUdTID0gXAogCS1ER0lUX0xPQ0FMRV9QQVRIPSciJChsb2NhbGVkaXJfU1EpIicKIAoraHR0cC1wdXNoLnNwIGh0dHAuc3AgaHR0cC13YWxrZXIuc3AgcmVtb3RlLWN1cmwuc3A6IFNQQVJTRV9GTEFHUyArPSBcCisJLURDVVJMX0RJU0FCTEVfVFlQRUNIRUNLCisKIGlmZGVmIE5PX0VYUEFUCiBodHRwLXdhbGtlci5zcCBodHRwLXdhbGtlci5zIGh0dHAtd2Fsa2VyLm86IEVYVFJBX0NQUEZMQUdTID0gLUROT19FWFBBVAogZW5kaWYKQEAgLTIwNDQsMTAgKzIwNTAsMTAgQEAKIAkkKFFVSUVUX0xJTkspJChDQykgJChBTExfQ0ZMQUdTKSAtbyAkQCAkKEFMTF9MREZMQUdTKSAkKGZpbHRlciAlLm8sJF4pIFwKIAkJJChMSUJTKSAkKE9QRU5TU0xfTElOSykgJChPUEVOU1NMX0xJQlNTTCkgJChMSUJfNF9DUllQVE8pCiAKLWdpdC1odHRwLWZldGNoJFg6IHJldmlzaW9uLm8gaHR0cC5vIGh0dHAtd2Fsa2VyLm8gaHR0cC1mZXRjaC5vIEdJVC1MREZMQUdTICQoR0lUTElCUykKK2dpdC1odHRwLWZldGNoJFg6IGh0dHAubyBodHRwLXdhbGtlci5vIGh0dHAtZmV0Y2gubyBHSVQtTERGTEFHUyAkKEdJVExJQlMpCiAJJChRVUlFVF9MSU5LKSQoQ0MpICQoQUxMX0NGTEFHUykgLW8gJEAgJChBTExfTERGTEFHUykgJChmaWx0ZXIgJS5vLCReKSBcCiAJCSQoTElCUykgJChDVVJMX0xJQkNVUkwpCi1naXQtaHR0cC1wdXNoJFg6IHJldmlzaW9uLm8gaHR0cC5vIGh0dHAtcHVzaC5vIEdJVC1MREZMQUdTICQoR0lUTElCUykKK2dpdC1odHRwLXB1c2gkWDogaHR0cC5vIGh0dHAtcHVzaC5vIEdJVC1MREZMQUdTICQoR0lUTElCUykKIAkkKFFVSUVUX0xJTkspJChDQykgJChBTExfQ0ZMQUdTKSAtbyAkQCAkKEFMTF9MREZMQUdTKSAkKGZpbHRlciAlLm8sJF4pIFwKIAkJJChMSUJTKSAkKENVUkxfTElCQ1VSTCkgJChFWFBBVF9MSUJFWFBBVCkKIApAQCAtMjM0MSw5ICsyMzQ3LDYgQEAKIAkkKE1BS0UpIC1DIHBlcmwgcHJlZml4PSckKHByZWZpeF9TUSknIERFU1RESVI9JyQoREVTVERJUl9TUSknIGluc3RhbGwKIAkkKE1BS0UpIC1DIGdpdHdlYiBpbnN0YWxsCiBlbmRpZgotaWZuZGVmIE5PX1BZVEhPTgotCSQoTUFLRSkgLUMgZ2l0X3JlbW90ZV9oZWxwZXJzIHByZWZpeD0nJChwcmVmaXhfU1EpJyBERVNURElSPSckKERFU1RESVJfU1EpJyBpbnN0YWxsCi1lbmRpZgogaWZuZGVmIE5PX1RDTFRLCiAJJChNQUtFKSAtQyBnaXRrLWdpdCBpbnN0YWxsCiAJJChNQUtFKSAtQyBnaXQtZ3VpIGdpdGV4ZWNkaXI9JyQoZ2l0ZXhlY19pbnN0ZGlyX1NRKScgaW5zdGFsbApAQCAtMjQ5MSw5ICsyNDk0LDYgQEAKIAkkKE1BS0UpIC1DIGdpdHdlYiBjbGVhbgogCSQoTUFLRSkgLUMgcGVybCBjbGVhbgogZW5kaWYKLWlmbmRlZiBOT19QWVRIT04KLQkkKE1BS0UpIC1DIGdpdF9yZW1vdGVfaGVscGVycyBjbGVhbgotZW5kaWYKIAkkKE1BS0UpIC1DIHRlbXBsYXRlcy8gY2xlYW4KIAkkKE1BS0UpIC1DIHQvIGNsZWFuCiBpZm5kZWYgTk9fVENMVEsKQEAgLTI1MDEsNyArMjUwMSw4IEBACiAJJChNQUtFKSAtQyBnaXQtZ3VpIGNsZWFuCiBlbmRpZgogCSQoUk0pIEdJVC1WRVJTSU9OLUZJTEUgR0lULUNGTEFHUyBHSVQtTERGTEFHUyBHSVQtQlVJTEQtT1BUSU9OUwotCSQoUk0pIEdJVC1VU0VSLUFHRU5UIEdJVC1QUkVGSVggR0lULVNDUklQVC1ERUZJTkVTIEdJVC1QWVRIT04tVkFSUworCSQoUk0pIEdJVC1VU0VSLUFHRU5UIEdJVC1QUkVGSVgKKwkkKFJNKSBHSVQtU0NSSVBULURFRklORVMgR0lULVBFUkwtREVGSU5FUyBHSVQtUFlUSE9OLVZBUlMKIAogLlBIT05ZOiBhbGwgaW5zdGFsbCBwcm9maWxlLWNsZWFuIGNsZWFuIHN0cmlwCiAuUEhPTlk6IHNoZWxsX2NvbXBhdGliaWxpdHlfdGVzdCBwbGVhc2Vfc2V0X1NIRUxMX1BBVEhfdG9fYV9tb3JlX21vZGVybl9zaGVsbApkaWZmIC0tZ2l0IGEvUmVsTm90ZXMgYi9SZWxOb3RlcwppbmRleCBjYjAyZjMxLi5jMzAwMTE5IDEyMDAwMAotLS0gYS9SZWxOb3RlcworKysgYi9SZWxOb3RlcwpAQCAtMSArMSBAQAotRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjguNC41LnR4dApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS45LnR4dApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2Fic3BhdGguYyBiL2Fic3BhdGguYwppbmRleCA2NGFkYmUyLi5jYTMzNTU4IDEwMDY0NAotLS0gYS9hYnNwYXRoLmMKKysrIGIvYWJzcGF0aC5jCkBAIC0xMTAsNyArMTEwLDcgQEAKIAkJCQllbHNlCiAJCQkJCWdvdG8gZXJyb3Jfb3V0OwogCQkJfQotCQkJaWYgKGxlbiAmJiAhaXNfZGlyX3NlcChidWZbbGVuLTFdKSkKKwkJCWlmIChsZW4gJiYgIWlzX2Rpcl9zZXAoYnVmW2xlbiAtIDFdKSkKIAkJCQlidWZbbGVuKytdID0gJy8nOwogCQkJc3RyY3B5KGJ1ZiArIGxlbiwgbGFzdF9lbGVtKTsKIAkJCWZyZWUobGFzdF9lbGVtKTsKQEAgLTE0Myw3ICsxNDMsNyBAQAogZXJyb3Jfb3V0OgogCWZyZWUobGFzdF9lbGVtKTsKIAlpZiAoKmN3ZCAmJiBjaGRpcihjd2QpKQotCQlkaWVfZXJybm8gKCJDb3VsZCBub3QgY2hhbmdlIGJhY2sgdG8gJyVzJyIsIGN3ZCk7CisJCWRpZV9lcnJubygiQ291bGQgbm90IGNoYW5nZSBiYWNrIHRvICclcyciLCBjd2QpOwogCiAJcmV0dXJuIHJldHZhbDsKIH0KQEAgLTIwMSw3ICsyMDEsNyBAQAogCQlpZiAoIWN3ZCkKIAkJCWRpZV9lcnJubygiQ2Fubm90IGRldGVybWluZSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIpOwogCQlsZW4gPSBzdHJsZW4oY3dkKTsKLQkJZm10ID0gKGxlbiA+IDAgJiYgaXNfZGlyX3NlcChjd2RbbGVuLTFdKSkgPyAiJXMlcyIgOiAiJXMvJXMiOworCQlmbXQgPSAobGVuID4gMCAmJiBpc19kaXJfc2VwKGN3ZFtsZW4gLSAxXSkpID8gIiVzJXMiIDogIiVzLyVzIjsKIAkJaWYgKHNucHJpbnRmKGJ1ZiwgUEFUSF9NQVgsIGZtdCwgY3dkLCBwYXRoKSA+PSBQQVRIX01BWCkKIAkJCWRpZSgiVG9vIGxvbmcgcGF0aDogJS4qcyIsIDYwLCBwYXRoKTsKIAl9CkBAIC0yMTUsMjMgKzIxNSwyNSBAQAogICovCiBjb25zdCBjaGFyICpwcmVmaXhfZmlsZW5hbWUoY29uc3QgY2hhciAqcGZ4LCBpbnQgcGZ4X2xlbiwgY29uc3QgY2hhciAqYXJnKQogewotCXN0YXRpYyBjaGFyIHBhdGhbUEFUSF9NQVhdOworCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKICNpZm5kZWYgR0lUX1dJTkRPV1NfTkFUSVZFCiAJaWYgKCFwZnhfbGVuIHx8IGlzX2Fic29sdXRlX3BhdGgoYXJnKSkKIAkJcmV0dXJuIGFyZzsKLQltZW1jcHkocGF0aCwgcGZ4LCBwZnhfbGVuKTsKLQlzdHJjcHkocGF0aCArIHBmeF9sZW4sIGFyZyk7CisJc3RyYnVmX3Jlc2V0KCZwYXRoKTsKKwlzdHJidWZfYWRkKCZwYXRoLCBwZngsIHBmeF9sZW4pOworCXN0cmJ1Zl9hZGRzdHIoJnBhdGgsIGFyZyk7CiAjZWxzZQogCWNoYXIgKnA7CiAJLyogZG9uJ3QgYWRkIHByZWZpeCB0byBhYnNvbHV0ZSBwYXRocywgYnV0IHN0aWxsIHJlcGxhY2UgJ1wnIGJ5ICcvJyAqLworCXN0cmJ1Zl9yZXNldCgmcGF0aCk7CiAJaWYgKGlzX2Fic29sdXRlX3BhdGgoYXJnKSkKIAkJcGZ4X2xlbiA9IDA7CiAJZWxzZSBpZiAocGZ4X2xlbikKLQkJbWVtY3B5KHBhdGgsIHBmeCwgcGZ4X2xlbik7Ci0Jc3RyY3B5KHBhdGggKyBwZnhfbGVuLCBhcmcpOwotCWZvciAocCA9IHBhdGggKyBwZnhfbGVuOyAqcDsgcCsrKQorCQlzdHJidWZfYWRkKCZwYXRoLCBwZngsIHBmeF9sZW4pOworCXN0cmJ1Zl9hZGRzdHIoJnBhdGgsIGFyZyk7CisJZm9yIChwID0gcGF0aC5idWYgKyBwZnhfbGVuOyAqcDsgcCsrKQogCQlpZiAoKnAgPT0gJ1xcJykKIAkJCSpwID0gJy8nOwogI2VuZGlmCi0JcmV0dXJuIHBhdGg7CisJcmV0dXJuIHBhdGguYnVmOwogfQpkaWZmIC0tZ2l0IGEvYWxpYXMuYyBiL2FsaWFzLmMKaW5kZXggZWI5ZjA4Yi4uNWVmYzNkNiAxMDA2NDQKLS0tIGEvYWxpYXMuYworKysgYi9hbGlhcy5jCkBAIC01LDcgKzUsNyBAQAogCiBzdGF0aWMgaW50IGFsaWFzX2xvb2t1cF9jYihjb25zdCBjaGFyICprLCBjb25zdCBjaGFyICp2LCB2b2lkICpjYikKIHsKLQlpZiAoIXByZWZpeGNtcChrLCAiYWxpYXMuIikgJiYgIXN0cmNtcChrKzYsIGFsaWFzX2tleSkpIHsKKwlpZiAoc3RhcnRzX3dpdGgoaywgImFsaWFzLiIpICYmICFzdHJjbXAoayArIDYsIGFsaWFzX2tleSkpIHsKIAkJaWYgKCF2KQogCQkJcmV0dXJuIGNvbmZpZ19lcnJvcl9ub25ib29sKGspOwogCQlhbGlhc192YWwgPSB4c3RyZHVwKHYpOwpAQCAtMzQsNyArMzQsNyBAQAogCWludCBzcmMsIGRzdCwgY291bnQgPSAwLCBzaXplID0gMTY7CiAJY2hhciBxdW90ZWQgPSAwOwogCi0JKmFyZ3YgPSB4bWFsbG9jKHNpemVvZihjaGFyICopICogc2l6ZSk7CisJKmFyZ3YgPSB4bWFsbG9jKHNpemVvZigqKmFyZ3YpICogc2l6ZSk7CiAKIAkvKiBzcGxpdCBhbGlhc19zdHJpbmcgKi8KIAkoKmFyZ3YpW2NvdW50KytdID0gY21kbGluZTsKQEAgLTQ1LDcgKzQ1LDcgQEAKIAkJCXdoaWxlIChjbWRsaW5lWysrc3JjXQogCQkJCQkmJiBpc3NwYWNlKGNtZGxpbmVbc3JjXSkpCiAJCQkJOyAvKiBza2lwICovCi0JCQlBTExPQ19HUk9XKCphcmd2LCBjb3VudCsxLCBzaXplKTsKKwkJCUFMTE9DX0dST1coKmFyZ3YsIGNvdW50ICsgMSwgc2l6ZSk7CiAJCQkoKmFyZ3YpW2NvdW50KytdID0gY21kbGluZSArIGRzdDsKIAkJfSBlbHNlIGlmICghcXVvdGVkICYmIChjID09ICdcJycgfHwgYyA9PSAnIicpKSB7CiAJCQlxdW90ZWQgPSBjOwpAQCAtNzYsMTIgKzc2LDEzIEBACiAJCXJldHVybiAtU1BMSVRfQ01ETElORV9VTkNMT1NFRF9RVU9URTsKIAl9CiAKLQlBTExPQ19HUk9XKCphcmd2LCBjb3VudCsxLCBzaXplKTsKKwlBTExPQ19HUk9XKCphcmd2LCBjb3VudCArIDEsIHNpemUpOwogCSgqYXJndilbY291bnRdID0gTlVMTDsKIAogCXJldHVybiBjb3VudDsKIH0KIAotY29uc3QgY2hhciAqc3BsaXRfY21kbGluZV9zdHJlcnJvcihpbnQgc3BsaXRfY21kbGluZV9lcnJubykgewotCXJldHVybiBzcGxpdF9jbWRsaW5lX2Vycm9yc1stc3BsaXRfY21kbGluZV9lcnJuby0xXTsKK2NvbnN0IGNoYXIgKnNwbGl0X2NtZGxpbmVfc3RyZXJyb3IoaW50IHNwbGl0X2NtZGxpbmVfZXJybm8pCit7CisJcmV0dXJuIHNwbGl0X2NtZGxpbmVfZXJyb3JzWy1zcGxpdF9jbWRsaW5lX2Vycm5vIC0gMV07CiB9CmRpZmYgLS1naXQgYS9hbGxvYy5jIGIvYWxsb2MuYwppbmRleCBhZWFlNTVjLi5mM2VlNzQ1IDEwMDY0NAotLS0gYS9hbGxvYy5jCisrKyBiL2FsbG9jLmMKQEAgLTU4LDcgKzU4LDcgQEAKIH0KIAogI2RlZmluZSBSRVBPUlQobmFtZSkJXAotICAgIHJlcG9ydCgjbmFtZSwgbmFtZSMjX2FsbG9jcywgbmFtZSMjX2FsbG9jcypzaXplb2Yoc3RydWN0IG5hbWUpID4+IDEwKQorICAgIHJlcG9ydCgjbmFtZSwgbmFtZSMjX2FsbG9jcywgbmFtZSMjX2FsbG9jcyAqIHNpemVvZihzdHJ1Y3QgbmFtZSkgPj4gMTApCiAKIHZvaWQgYWxsb2NfcmVwb3J0KHZvaWQpCiB7CmRpZmYgLS1naXQgYS9hcmNoaXZlLmMgYi9hcmNoaXZlLmMKaW5kZXggZDI1NGZhNS4uMzQ2ZjNiMiAxMDA2NDQKLS0tIGEvYXJjaGl2ZS5jCisrKyBiL2FyY2hpdmUuYwpAQCAtMTUxLDcgKzE1MSw2IEBACiAJc3RydWN0IGFyY2hpdmVyX2NvbnRleHQgY29udGV4dDsKIAlzdHJ1Y3QgdW5wYWNrX3RyZWVzX29wdGlvbnMgb3B0czsKIAlzdHJ1Y3QgdHJlZV9kZXNjIHQ7Ci0Jc3RydWN0IHBhdGhzcGVjIHBhdGhzcGVjOwogCWludCBlcnI7CiAKIAlpZiAoYXJncy0+YmFzZWxlbiA+IDAgJiYgYXJncy0+YmFzZVthcmdzLT5iYXNlbGVuIC0gMV0gPT0gJy8nKSB7CkBAIC0xODYsMTAgKzE4NSw4IEBACiAJCWdpdF9hdHRyX3NldF9kaXJlY3Rpb24oR0lUX0FUVFJfSU5ERVgsICZ0aGVfaW5kZXgpOwogCX0KIAotCWluaXRfcGF0aHNwZWMoJnBhdGhzcGVjLCBhcmdzLT5wYXRoc3BlYyk7Ci0JZXJyID0gcmVhZF90cmVlX3JlY3Vyc2l2ZShhcmdzLT50cmVlLCAiIiwgMCwgMCwgJnBhdGhzcGVjLAorCWVyciA9IHJlYWRfdHJlZV9yZWN1cnNpdmUoYXJncy0+dHJlZSwgIiIsIDAsIDAsICZhcmdzLT5wYXRoc3BlYywKIAkJCQkgIHdyaXRlX2FyY2hpdmVfZW50cnksICZjb250ZXh0KTsKLQlmcmVlX3BhdGhzcGVjKCZwYXRoc3BlYyk7CiAJaWYgKGVyciA9PSBSRUFEX1RSRUVfUkVDVVJTSVZFKQogCQllcnIgPSAwOwogCXJldHVybiBlcnI7CkBAIC0yMjIsNyArMjE5LDcgQEAKIAlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAJaW50IHJldDsKIAotCWluaXRfcGF0aHNwZWMoJnBhdGhzcGVjLCBwYXRocyk7CisJcGFyc2VfcGF0aHNwZWMoJnBhdGhzcGVjLCAwLCAwLCAiIiwgcGF0aHMpOwogCXJldCA9IHJlYWRfdHJlZV9yZWN1cnNpdmUodHJlZSwgIiIsIDAsIDAsICZwYXRoc3BlYywgcmVqZWN0X2VudHJ5LCBOVUxMKTsKIAlmcmVlX3BhdGhzcGVjKCZwYXRoc3BlYyk7CiAJcmV0dXJuIHJldCAhPSAwOwpAQCAtMjMxLDExICsyMjgsMTggQEAKIHN0YXRpYyB2b2lkIHBhcnNlX3BhdGhzcGVjX2FyZyhjb25zdCBjaGFyICoqcGF0aHNwZWMsCiAJCXN0cnVjdCBhcmNoaXZlcl9hcmdzICphcl9hcmdzKQogewotCWFyX2FyZ3MtPnBhdGhzcGVjID0gcGF0aHNwZWMgPSBnZXRfcGF0aHNwZWMoIiIsIHBhdGhzcGVjKTsKKwkvKgorCSAqIG11c3QgYmUgY29uc2lzdGVudCB3aXRoIHBhcnNlX3BhdGhzcGVjIGluIHBhdGhfZXhpc3RzKCkKKwkgKiBBbHNvIGlmIHBhdGhzcGVjIHBhdHRlcm5zIGFyZSBkZXBlbmRlbnQsIHdlJ3JlIGluIGJpZworCSAqIHRyb3VibGUgYXMgd2UgdGVzdCBlYWNoIG9uZSBzZXBhcmF0ZWx5CisJICovCisJcGFyc2VfcGF0aHNwZWMoJmFyX2FyZ3MtPnBhdGhzcGVjLCAwLAorCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0ZVTEwsCisJCSAgICAgICAiIiwgcGF0aHNwZWMpOwogCWlmIChwYXRoc3BlYykgewogCQl3aGlsZSAoKnBhdGhzcGVjKSB7CiAJCQlpZiAoKipwYXRoc3BlYyAmJiAhcGF0aF9leGlzdHMoYXJfYXJncy0+dHJlZSwgKnBhdGhzcGVjKSkKLQkJCQlkaWUoInBhdGggbm90IGZvdW5kOiAlcyIsICpwYXRoc3BlYyk7CisJCQkJZGllKF8oInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiKSwgKnBhdGhzcGVjKTsKIAkJCXBhdGhzcGVjKys7CiAJCX0KIAl9CkBAIC00MzYsNyArNDQwLDcgQEAKIAkgKiBwcmVmaXggaXMgbm9uLWVtcHR5IChrLmUuLCB3ZSBkb24ndCBtYXRjaCAudGFyLmd6IHdpdGggbm8gYWN0dWFsCiAJICogZmlsZW5hbWUpLgogCSAqLwotCWlmIChwcmVmaXhsZW4gPCAyIHx8IGZpbGVuYW1lW3ByZWZpeGxlbi0xXSAhPSAnLicpCisJaWYgKHByZWZpeGxlbiA8IDIgfHwgZmlsZW5hbWVbcHJlZml4bGVuIC0gMV0gIT0gJy4nKQogCQlyZXR1cm4gMDsKIAlyZXR1cm4gIXN0cmNtcChmaWxlbmFtZSArIHByZWZpeGxlbiwgZXh0KTsKIH0KZGlmZiAtLWdpdCBhL2FyY2hpdmUuaCBiL2FyY2hpdmUuaAppbmRleCA4OTVhZmNkLi40YTc5MWUxIDEwMDY0NAotLS0gYS9hcmNoaXZlLmgKKysrIGIvYXJjaGl2ZS5oCkBAIC0xLDYgKzEsOCBAQAogI2lmbmRlZiBBUkNISVZFX0gKICNkZWZpbmUgQVJDSElWRV9ICiAKKyNpbmNsdWRlICJwYXRoc3BlYy5oIgorCiBzdHJ1Y3QgYXJjaGl2ZXJfYXJncyB7CiAJY29uc3QgY2hhciAqYmFzZTsKIAlzaXplX3QgYmFzZWxlbjsKQEAgLTgsNyArMTAsNyBAQAogCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbW1pdF9zaGExOwogCWNvbnN0IHN0cnVjdCBjb21taXQgKmNvbW1pdDsKIAl0aW1lX3QgdGltZTsKLQljb25zdCBjaGFyICoqcGF0aHNwZWM7CisJc3RydWN0IHBhdGhzcGVjIHBhdGhzcGVjOwogCXVuc2lnbmVkIGludCB2ZXJib3NlIDogMTsKIAl1bnNpZ25lZCBpbnQgd29ya3RyZWVfYXR0cmlidXRlcyA6IDE7CiAJdW5zaWduZWQgaW50IGNvbnZlcnQgOiAxOwpkaWZmIC0tZ2l0IGEvYXR0ci5jIGIvYXR0ci5jCmluZGV4IDBlNzc0YzYuLjhkMTNkNzAgMTAwNjQ0Ci0tLSBhL2F0dHIuYworKysgYi9hdHRyLmMKQEAgLTIxMSw3ICsyMTEsNyBAQAogCW5hbWUgPSBjcDsKIAluYW1lbGVuID0gc3RyY3NwbihuYW1lLCBibGFuayk7CiAJaWYgKHN0cmxlbihBVFRSSUJVVEVfTUFDUk9fUFJFRklYKSA8IG5hbWVsZW4gJiYKLQkgICAgIXByZWZpeGNtcChuYW1lLCBBVFRSSUJVVEVfTUFDUk9fUFJFRklYKSkgeworCSAgICBzdGFydHNfd2l0aChuYW1lLCBBVFRSSUJVVEVfTUFDUk9fUFJFRklYKSkgewogCQlpZiAoIW1hY3JvX29rKSB7CiAJCQlmcHJpbnRmKHN0ZGVyciwgIiVzIG5vdCBhbGxvd2VkOiAlczolZFxuIiwKIAkJCQluYW1lLCBzcmMsIGxpbmVubyk7CmRpZmYgLS1naXQgYS9iYXNlODUuYyBiL2Jhc2U4NS5jCmluZGV4IDc4MWI1NzUuLjVjYTYwMWUgMTAwNjQ0Ci0tLSBhL2Jhc2U4NS5jCisrKyBiL2Jhc2U4NS5jCkBAIC00MSw3ICs0MSw3IEBACiB7CiAJcHJlcF9iYXNlODUoKTsKIAotCXNheTIoImRlY29kZSA4NSA8JS4qcz4iLCBsZW4vNCo1LCBidWZmZXIpOworCXNheTIoImRlY29kZSA4NSA8JS4qcz4iLCBsZW4gLyA0ICogNSwgYnVmZmVyKTsKIAl3aGlsZSAobGVuKSB7CiAJCXVuc2lnbmVkIGFjYyA9IDA7CiAJCWludCBkZSwgY250ID0gNDsKZGlmZiAtLWdpdCBhL2Jpc2VjdC5jIGIvYmlzZWN0LmMKaW5kZXggMWU0NmE0Zi4uMzcyMDBiNCAxMDA2NDQKLS0tIGEvYmlzZWN0LmMKKysrIGIvYmlzZWN0LmMKQEAgLTQwNiw5ICs0MDYsOSBAQAogCWlmICghc3RyY21wKHJlZm5hbWUsICJiYWQiKSkgewogCQljdXJyZW50X2JhZF9zaGExID0geG1hbGxvYygyMCk7CiAJCWhhc2hjcHkoY3VycmVudF9iYWRfc2hhMSwgc2hhMSk7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKHJlZm5hbWUsICJnb29kLSIpKSB7CisJfSBlbHNlIGlmIChzdGFydHNfd2l0aChyZWZuYW1lLCAiZ29vZC0iKSkgewogCQlzaGExX2FycmF5X2FwcGVuZCgmZ29vZF9yZXZzLCBzaGExKTsKLQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAocmVmbmFtZSwgInNraXAtIikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKHJlZm5hbWUsICJza2lwLSIpKSB7CiAJCXNoYTFfYXJyYXlfYXBwZW5kKCZza2lwcGVkX3JldnMsIHNoYTEpOwogCX0KIApkaWZmIC0tZ2l0IGEvYmxvY2stc2hhMS9zaGExLmMgYi9ibG9jay1zaGExL3NoYTEuYwppbmRleCBhOGQ0YmY5Li5lMWExZWI2IDEwMDY0NAotLS0gYS9ibG9jay1zaGExL3NoYTEuYworKysgYi9ibG9jay1zaGExL3NoYTEuYwpAQCAtMjc0LDEwICsyNzQsMTAgQEAKIAlwYWRsZW5bMV0gPSBodG9ubCgodWludDMyX3QpKGN0eC0+c2l6ZSA8PCAzKSk7CiAKIAlpID0gY3R4LT5zaXplICYgNjM7Ci0JYmxrX1NIQTFfVXBkYXRlKGN0eCwgcGFkLCAxKyAoNjMgJiAoNTUgLSBpKSkpOworCWJsa19TSEExX1VwZGF0ZShjdHgsIHBhZCwgMSArICg2MyAmICg1NSAtIGkpKSk7CiAJYmxrX1NIQTFfVXBkYXRlKGN0eCwgcGFkbGVuLCA4KTsKIAogCS8qIE91dHB1dCBoYXNoICovCiAJZm9yIChpID0gMDsgaSA8IDU7IGkrKykKLQkJcHV0X2JlMzIoaGFzaG91dCArIGkqNCwgY3R4LT5IW2ldKTsKKwkJcHV0X2JlMzIoaGFzaG91dCArIGkgKiA0LCBjdHgtPkhbaV0pOwogfQpkaWZmIC0tZ2l0IGEvYnJhbmNoLmMgYi9icmFuY2guYwppbmRleCAyZDE1YzE5Li43MjNhMzZiIDEwMDY0NAotLS0gYS9icmFuY2guYworKysgYi9icmFuY2guYwpAQCAtNTAsNyArNTAsNyBAQAogdm9pZCBpbnN0YWxsX2JyYW5jaF9jb25maWcoaW50IGZsYWcsIGNvbnN0IGNoYXIgKmxvY2FsLCBjb25zdCBjaGFyICpvcmlnaW4sIGNvbnN0IGNoYXIgKnJlbW90ZSkKIHsKIAljb25zdCBjaGFyICpzaG9ydG5hbWUgPSByZW1vdGUgKyAxMTsKLQlpbnQgcmVtb3RlX2lzX2JyYW5jaCA9ICFwcmVmaXhjbXAocmVtb3RlLCAicmVmcy9oZWFkcy8iKTsKKwlpbnQgcmVtb3RlX2lzX2JyYW5jaCA9IHN0YXJ0c193aXRoKHJlbW90ZSwgInJlZnMvaGVhZHMvIik7CiAJc3RydWN0IHN0cmJ1ZiBrZXkgPSBTVFJCVUZfSU5JVDsKIAlpbnQgcmViYXNpbmcgPSBzaG91bGRfc2V0dXBfcmViYXNlKG9yaWdpbik7CiAKQEAgLTI3Miw3ICsyNzIsNyBAQAogCQlicmVhazsKIAljYXNlIDE6CiAJCS8qIFVuaXF1ZSBjb21wbGV0aW9uIC0tIGdvb2QsIG9ubHkgaWYgaXQgaXMgYSByZWFsIGJyYW5jaCAqLwotCQlpZiAocHJlZml4Y21wKHJlYWxfcmVmLCAicmVmcy9oZWFkcy8iKSAmJgorCQlpZiAoIXN0YXJ0c193aXRoKHJlYWxfcmVmLCAicmVmcy9oZWFkcy8iKSAmJgogCQkgICAgdmFsaWRhdGVfcmVtb3RlX3RyYWNraW5nX2JyYW5jaChyZWFsX3JlZikpIHsKIAkJCWlmIChleHBsaWNpdF90cmFja2luZykKIAkJCQlkaWUoXyh1cHN0cmVhbV9ub3RfYnJhbmNoKSwgc3RhcnRfbmFtZSk7CkBAIC0yOTAsNyArMjkwLDcgQEAKIAloYXNoY3B5KHNoYTEsIGNvbW1pdC0+b2JqZWN0LnNoYTEpOwogCiAJaWYgKCFkb250X2NoYW5nZV9yZWYpIHsKLQkJbG9jayA9IGxvY2tfYW55X3JlZl9mb3JfdXBkYXRlKHJlZi5idWYsIE5VTEwsIDApOworCQlsb2NrID0gbG9ja19hbnlfcmVmX2Zvcl91cGRhdGUocmVmLmJ1ZiwgTlVMTCwgMCwgTlVMTCk7CiAJCWlmICghbG9jaykKIAkJCWRpZV9lcnJubyhfKCJGYWlsZWQgdG8gbG9jayByZWYgZm9yIHVwZGF0ZSIpKTsKIAl9CkBAIC0zMDYsNyArMzA2LDcgQEAKIAkJCSBzdGFydF9uYW1lKTsKIAogCWlmIChyZWFsX3JlZiAmJiB0cmFjaykKLQkJc2V0dXBfdHJhY2tpbmcocmVmLmJ1ZisxMSwgcmVhbF9yZWYsIHRyYWNrLCBxdWlldCk7CisJCXNldHVwX3RyYWNraW5nKHJlZi5idWYgKyAxMSwgcmVhbF9yZWYsIHRyYWNrLCBxdWlldCk7CiAKIAlpZiAoIWRvbnRfY2hhbmdlX3JlZikKIAkJaWYgKHdyaXRlX3JlZl9zaGExKGxvY2ssIHNoYTEsIG1zZykgPCAwKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi5oIGIvYnVpbHRpbi5oCmluZGV4IDhhZmEyZGUuLmM0N2MxMTAgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4uaAorKysgYi9idWlsdGluLmgKQEAgLTI3LDYgKzI3LDggQEAKIAogZXh0ZXJuIGludCB0ZXh0Y29udl9vYmplY3QoY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQgbW9kZSwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50IHNoYTFfdmFsaWQsIGNoYXIgKipidWYsIHVuc2lnbmVkIGxvbmcgKmJ1Zl9zaXplKTsKIAorZXh0ZXJuIGludCBpc19idWlsdGluKGNvbnN0IGNoYXIgKnMpOworCiBleHRlcm4gaW50IGNtZF9hZGQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwogZXh0ZXJuIGludCBjbWRfYW5ub3RhdGUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwogZXh0ZXJuIGludCBjbWRfYXBwbHkoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwpAQCAtMTAyLDcgKzEwNCw3IEBACiBleHRlcm4gaW50IGNtZF9yZW1vdGUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwogZXh0ZXJuIGludCBjbWRfcmVtb3RlX2V4dChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CiBleHRlcm4gaW50IGNtZF9yZW1vdGVfZmQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfcmVwb19jb25maWcoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworZXh0ZXJuIGludCBjbWRfcmVwYWNrKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKIGV4dGVybiBpbnQgY21kX3JlcmVyZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CiBleHRlcm4gaW50IGNtZF9yZXNldChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CiBleHRlcm4gaW50IGNtZF9yZXZfbGlzdChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CmRpZmYgLS1naXQgYS9idWlsdGluL2FkZC5jIGIvYnVpbHRpbi9hZGQuYwppbmRleCA4MjY2YTljLi4yYTI3MjJmIDEwMDY0NAotLS0gYS9idWlsdGluL2FkZC5jCisrKyBiL2J1aWx0aW4vYWRkLmMKQEAgLTE2NiwxNCArMTY2LDE2IEBACiAJfQogfQogCi1zdGF0aWMgdm9pZCB1cGRhdGVfZmlsZXNfaW5fY2FjaGUoY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICoqcGF0aHNwZWMsCitzdGF0aWMgdm9pZCB1cGRhdGVfZmlsZXNfaW5fY2FjaGUoY29uc3QgY2hhciAqcHJlZml4LAorCQkJCSAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKIAkJCQkgIHN0cnVjdCB1cGRhdGVfY2FsbGJhY2tfZGF0YSAqZGF0YSkKIHsKIAlzdHJ1Y3QgcmV2X2luZm8gcmV2OwogCiAJaW5pdF9yZXZpc2lvbnMoJnJldiwgcHJlZml4KTsKIAlzZXR1cF9yZXZpc2lvbnMoMCwgTlVMTCwgJnJldiwgTlVMTCk7Ci0JaW5pdF9wYXRoc3BlYygmcmV2LnBydW5lX2RhdGEsIHBhdGhzcGVjKTsKKwlpZiAocGF0aHNwZWMpCisJCWNvcHlfcGF0aHNwZWMoJnJldi5wcnVuZV9kYXRhLCBwYXRoc3BlYyk7CiAJcmV2LmRpZmZvcHQub3V0cHV0X2Zvcm1hdCA9IERJRkZfRk9STUFUX0NBTExCQUNLOwogCXJldi5kaWZmb3B0LmZvcm1hdF9jYWxsYmFjayA9IHVwZGF0ZV9jYWxsYmFjazsKIAlyZXYuZGlmZm9wdC5mb3JtYXRfY2FsbGJhY2tfZGF0YSA9IGRhdGE7CkBAIC0xODEsNyArMTgzLDggQEAKIAlydW5fZGlmZl9maWxlcygmcmV2LCBESUZGX1JBQ1lfSVNfTU9ESUZJRUQpOwogfQogCi1pbnQgYWRkX2ZpbGVzX3RvX2NhY2hlKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqKnBhdGhzcGVjLCBpbnQgZmxhZ3MpCitpbnQgYWRkX2ZpbGVzX3RvX2NhY2hlKGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsIGludCBmbGFncykKIHsKIAlzdHJ1Y3QgdXBkYXRlX2NhbGxiYWNrX2RhdGEgZGF0YTsKIApAQCAtMTkyLDIzICsxOTUsMjEgQEAKIH0KIAogI2RlZmluZSBXQVJOX0lNUExJQ0lUX0RPVCAoMXUgPDwgMCkKLXN0YXRpYyBjaGFyICpwcnVuZV9kaXJlY3Rvcnkoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwgY29uc3QgY2hhciAqKnBhdGhzcGVjLAorc3RhdGljIGNoYXIgKnBydW5lX2RpcmVjdG9yeShzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAogCQkJICAgICBpbnQgcHJlZml4LCB1bnNpZ25lZCBmbGFnKQogewogCWNoYXIgKnNlZW47Ci0JaW50IGksIHNwZWNzOworCWludCBpOwogCXN0cnVjdCBkaXJfZW50cnkgKipzcmMsICoqZHN0OwogCi0JZm9yIChzcGVjcyA9IDA7IHBhdGhzcGVjW3NwZWNzXTsgIHNwZWNzKyspCi0JCS8qIG5vdGhpbmcgKi87Ci0Jc2VlbiA9IHhjYWxsb2Moc3BlY3MsIDEpOworCXNlZW4gPSB4Y2FsbG9jKHBhdGhzcGVjLT5uciwgMSk7CiAKIAlzcmMgPSBkc3QgPSBkaXItPmVudHJpZXM7CiAJaSA9IGRpci0+bnI7CiAJd2hpbGUgKC0taSA+PSAwKSB7CiAJCXN0cnVjdCBkaXJfZW50cnkgKmVudHJ5ID0gKnNyYysrOwotCQlpZiAobWF0Y2hfcGF0aHNwZWMocGF0aHNwZWMsIGVudHJ5LT5uYW1lLCBlbnRyeS0+bGVuLAotCQkJCSAgIHByZWZpeCwgc2VlbikpCisJCWlmIChtYXRjaF9wYXRoc3BlY19kZXB0aChwYXRoc3BlYywgZW50cnktPm5hbWUsIGVudHJ5LT5sZW4sCisJCQkJCSBwcmVmaXgsIHNlZW4pKQogCQkJKmRzdCsrID0gZW50cnk7CiAJCWVsc2UgaWYgKGZsYWcgJiBXQVJOX0lNUExJQ0lUX0RPVCkKIAkJCS8qCkBAIC0yMjIsNzIgKzIyMywzMyBAQAogCQkJd2Fybl9wYXRobGVzc19hZGQoKTsKIAl9CiAJZGlyLT5uciA9IGRzdCAtIGRpci0+ZW50cmllczsKLQlhZGRfcGF0aHNwZWNfbWF0Y2hlc19hZ2FpbnN0X2luZGV4KHBhdGhzcGVjLCBzZWVuLCBzcGVjcyk7CisJYWRkX3BhdGhzcGVjX21hdGNoZXNfYWdhaW5zdF9pbmRleChwYXRoc3BlYywgc2Vlbik7CiAJcmV0dXJuIHNlZW47CiB9CiAKLS8qCi0gKiBDaGVja3MgdGhlIGluZGV4IHRvIHNlZSB3aGV0aGVyIGFueSBwYXRoIGluIHBhdGhzcGVjIHJlZmVycyB0bwotICogc29tZXRoaW5nIGluc2lkZSBhIHN1Ym1vZHVsZS4gIElmIHNvLCBkaWVzIHdpdGggYW4gZXJyb3IgbWVzc2FnZS4KLSAqLwotc3RhdGljIHZvaWQgdHJlYXRfZ2l0bGlua3MoY29uc3QgY2hhciAqKnBhdGhzcGVjKQotewotCWludCBpOwotCi0JaWYgKCFwYXRoc3BlYyB8fCAhKnBhdGhzcGVjKQotCQlyZXR1cm47Ci0KLQlmb3IgKGkgPSAwOyBwYXRoc3BlY1tpXTsgaSsrKQotCQlwYXRoc3BlY1tpXSA9IGNoZWNrX3BhdGhfZm9yX2dpdGxpbmsocGF0aHNwZWNbaV0pOwotfQotCi1zdGF0aWMgdm9pZCByZWZyZXNoKGludCB2ZXJib3NlLCBjb25zdCBjaGFyICoqcGF0aHNwZWMpCitzdGF0aWMgdm9pZCByZWZyZXNoKGludCB2ZXJib3NlLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewogCWNoYXIgKnNlZW47Ci0JaW50IGksIHNwZWNzOworCWludCBpOwogCi0JZm9yIChzcGVjcyA9IDA7IHBhdGhzcGVjW3NwZWNzXTsgIHNwZWNzKyspCi0JCS8qIG5vdGhpbmcgKi87Ci0Jc2VlbiA9IHhjYWxsb2Moc3BlY3MsIDEpOworCXNlZW4gPSB4Y2FsbG9jKHBhdGhzcGVjLT5uciwgMSk7CiAJcmVmcmVzaF9pbmRleCgmdGhlX2luZGV4LCB2ZXJib3NlID8gUkVGUkVTSF9JTl9QT1JDRUxBSU4gOiBSRUZSRVNIX1FVSUVULAogCQkgICAgICBwYXRoc3BlYywgc2VlbiwgXygiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZWZyZXNoaW5nIHRoZSBpbmRleDoiKSk7Ci0JZm9yIChpID0gMDsgaSA8IHNwZWNzOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgcGF0aHNwZWMtPm5yOyBpKyspIHsKIAkJaWYgKCFzZWVuW2ldKQotCQkJZGllKF8oInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiKSwgcGF0aHNwZWNbaV0pOworCQkJZGllKF8oInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiKSwKKwkJCSAgICBwYXRoc3BlYy0+aXRlbXNbaV0ubWF0Y2gpOwogCX0KICAgICAgICAgZnJlZShzZWVuKTsKIH0KIAotLyoKLSAqIE5vcm1hbGl6ZXMgYXJndiByZWxhdGl2ZSB0byBwcmVmaXgsIHZpYSBnZXRfcGF0aHNwZWMoKSwgYW5kIHRoZW4KLSAqIHJ1bnMgZGllX2lmX3BhdGhfYmV5b25kX3N5bWxpbmsoKSBvbiBlYWNoIHBhdGggaW4gdGhlIG5vcm1hbGl6ZWQKLSAqIGxpc3QuCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICoqdmFsaWRhdGVfcGF0aHNwZWMoY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKLXsKLQljb25zdCBjaGFyICoqcGF0aHNwZWMgPSBnZXRfcGF0aHNwZWMocHJlZml4LCBhcmd2KTsKLQotCWlmIChwYXRoc3BlYykgewotCQljb25zdCBjaGFyICoqcDsKLQkJZm9yIChwID0gcGF0aHNwZWM7ICpwOyBwKyspIHsKLQkJCWRpZV9pZl9wYXRoX2JleW9uZF9zeW1saW5rKCpwLCBwcmVmaXgpOwotCQl9Ci0JfQotCi0JcmV0dXJuIHBhdGhzcGVjOwotfQotCiBpbnQgcnVuX2FkZF9pbnRlcmFjdGl2ZShjb25zdCBjaGFyICpyZXZpc2lvbiwgY29uc3QgY2hhciAqcGF0Y2hfbW9kZSwKLQkJCWNvbnN0IGNoYXIgKipwYXRoc3BlYykKKwkJCWNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCiB7Ci0JaW50IHN0YXR1cywgYWMsIHBjID0gMDsKKwlpbnQgc3RhdHVzLCBhYywgaTsKIAljb25zdCBjaGFyICoqYXJnczsKIAotCWlmIChwYXRoc3BlYykKLQkJd2hpbGUgKHBhdGhzcGVjW3BjXSkKLQkJCXBjKys7Ci0KLQlhcmdzID0geGNhbGxvYyhzaXplb2YoY29uc3QgY2hhciAqKSwgKHBjICsgNSkpOworCWFyZ3MgPSB4Y2FsbG9jKHNpemVvZihjb25zdCBjaGFyICopLCAocGF0aHNwZWMtPm5yICsgNikpOwogCWFjID0gMDsKIAlhcmdzW2FjKytdID0gImFkZC0taW50ZXJhY3RpdmUiOwogCWlmIChwYXRjaF9tb2RlKQpAQCAtMjk1LDExICsyNTcsOSBAQAogCWlmIChyZXZpc2lvbikKIAkJYXJnc1thYysrXSA9IHJldmlzaW9uOwogCWFyZ3NbYWMrK10gPSAiLS0iOwotCWlmIChwYykgewotCQltZW1jcHkoJihhcmdzW2FjXSksIHBhdGhzcGVjLCBzaXplb2YoY29uc3QgY2hhciAqKSAqIHBjKTsKLQkJYWMgKz0gcGM7Ci0JfQotCWFyZ3NbYWNdID0gTlVMTDsKKwlmb3IgKGkgPSAwOyBpIDwgcGF0aHNwZWMtPm5yOyBpKyspCisJCS8qIHBhc3Mgb3JpZ2luYWwgcGF0aHNwZWMsIHRvIGJlIHJlLXBhcnNlZCAqLworCQlhcmdzW2FjKytdID0gcGF0aHNwZWMtPml0ZW1zW2ldLm9yaWdpbmFsOwogCiAJc3RhdHVzID0gcnVuX2NvbW1hbmRfdl9vcHQoYXJncywgUlVOX0dJVF9DTUQpOwogCWZyZWUoYXJncyk7CkBAIC0zMDgsMTcgKzI2OCwxNyBAQAogCiBpbnQgaW50ZXJhY3RpdmVfYWRkKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4LCBpbnQgcGF0Y2gpCiB7Ci0JY29uc3QgY2hhciAqKnBhdGhzcGVjID0gTlVMTDsKKwlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAKLQlpZiAoYXJnYykgewotCQlwYXRoc3BlYyA9IHZhbGlkYXRlX3BhdGhzcGVjKGFyZ3YsIHByZWZpeCk7Ci0JCWlmICghcGF0aHNwZWMpCi0JCQlyZXR1cm4gLTE7Ci0JfQorCXBhcnNlX3BhdGhzcGVjKCZwYXRoc3BlYywgMCwKKwkJICAgICAgIFBBVEhTUEVDX1BSRUZFUl9GVUxMIHwKKwkJICAgICAgIFBBVEhTUEVDX1NZTUxJTktfTEVBRElOR19QQVRIIHwKKwkJICAgICAgIFBBVEhTUEVDX1BSRUZJWF9PUklHSU4sCisJCSAgICAgICBwcmVmaXgsIGFyZ3YpOwogCiAJcmV0dXJuIHJ1bl9hZGRfaW50ZXJhY3RpdmUoTlVMTCwKIAkJCQkgICBwYXRjaCA/ICItLXBhdGNoIiA6IE5VTEwsCi0JCQkJICAgcGF0aHNwZWMpOworCQkJCSAgICZwYXRoc3BlYyk7CiB9CiAKIHN0YXRpYyBpbnQgZWRpdF9wYXRjaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKQEAgLTMzNiw3ICsyOTYsNyBAQAogCWdpdF9jb25maWcoZ2l0X2RpZmZfYmFzaWNfY29uZmlnLCBOVUxMKTsgLyogbm8gImRpZmYiIFVJIG9wdGlvbnMgKi8KIAogCWlmIChyZWFkX2NhY2hlKCkgPCAwKQotCQlkaWUgKF8oIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIpKTsKKwkJZGllKF8oIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIpKTsKIAogCWluaXRfcmV2aXNpb25zKCZyZXYsIHByZWZpeCk7CiAJcmV2LmRpZmZvcHQuY29udGV4dCA9IDc7CkBAIC0zNDcsMTEgKzMwNywxMSBAQAogCURJRkZfT1BUX1NFVCgmcmV2LmRpZmZvcHQsIElHTk9SRV9ESVJUWV9TVUJNT0RVTEVTKTsKIAlvdXQgPSBvcGVuKGZpbGUsIE9fQ1JFQVQgfCBPX1dST05MWSwgMDY2Nik7CiAJaWYgKG91dCA8IDApCi0JCWRpZSAoXygiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iKSwgZmlsZSk7CisJCWRpZShfKCJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIpLCBmaWxlKTsKIAlyZXYuZGlmZm9wdC5maWxlID0geGZkb3BlbihvdXQsICJ3Iik7CiAJcmV2LmRpZmZvcHQuY2xvc2VfZmlsZSA9IDE7CiAJaWYgKHJ1bl9kaWZmX2ZpbGVzKCZyZXYsIDApKQotCQlkaWUgKF8oIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIpKTsKKwkJZGllKF8oIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIpKTsKIAogCWxhdW5jaF9lZGl0b3IoZmlsZSwgTlVMTCwgTlVMTCk7CiAKQEAgLTM2NCw3ICszMjQsNyBAQAogCWNoaWxkLmdpdF9jbWQgPSAxOwogCWNoaWxkLmFyZ3YgPSBhcHBseV9hcmd2OwogCWlmIChydW5fY29tbWFuZCgmY2hpbGQpKQotCQlkaWUgKF8oIkNvdWxkIG5vdCBhcHBseSAnJXMnIiksIGZpbGUpOworCQlkaWUoXygiQ291bGQgbm90IGFwcGx5ICclcyciKSwgZmlsZSk7CiAKIAl1bmxpbmsoZmlsZSk7CiAJZnJlZShmaWxlKTsKQEAgLTQ0Niw3ICs0MDYsNyBAQAogewogCWludCBleGl0X3N0YXR1cyA9IDA7CiAJaW50IG5ld2ZkOwotCWNvbnN0IGNoYXIgKipwYXRoc3BlYzsKKwlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAJc3RydWN0IGRpcl9zdHJ1Y3QgZGlyOwogCWludCBmbGFnczsKIAlpbnQgYWRkX25ld19maWxlczsKQEAgLTUyNywxNCArNDg3LDIzIEBACiAJCWZwcmludGYoc3RkZXJyLCBfKCJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIpKTsKIAkJcmV0dXJuIDA7CiAJfQotCXBhdGhzcGVjID0gdmFsaWRhdGVfcGF0aHNwZWMoYXJndiwgcHJlZml4KTsKIAogCWlmIChyZWFkX2NhY2hlKCkgPCAwKQogCQlkaWUoXygiaW5kZXggZmlsZSBjb3JydXB0IikpOwotCXRyZWF0X2dpdGxpbmtzKHBhdGhzcGVjKTsKKworCS8qCisJICogQ2hlY2sgdGhlICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIiBibG9jaworCSAqIGJlbG93IGJlZm9yZSBlbmFibGluZyBuZXcgbWFnaWMuCisJICovCisJcGFyc2VfcGF0aHNwZWMoJnBhdGhzcGVjLCAwLAorCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0ZVTEwgfAorCQkgICAgICAgUEFUSFNQRUNfU1lNTElOS19MRUFESU5HX1BBVEggfAorCQkgICAgICAgUEFUSFNQRUNfU1RSSVBfU1VCTU9EVUxFX1NMQVNIX0VYUEVOU0lWRSwKKwkJICAgICAgIHByZWZpeCwgYXJndik7CiAKIAlpZiAoYWRkX25ld19maWxlcykgewogCQlpbnQgYmFzZWxlbjsKKwkJc3RydWN0IHBhdGhzcGVjIGVtcHR5X3BhdGhzcGVjOwogCiAJCS8qIFNldCB1cCB0aGUgZGVmYXVsdCBnaXQgcG9yY2VsYWluIGV4Y2x1ZGVzICovCiAJCW1lbXNldCgmZGlyLCAwLCBzaXplb2YoZGlyKSk7CkBAIC01NDMsMzUgKzUxMiw1MiBAQAogCQkJc2V0dXBfc3RhbmRhcmRfZXhjbHVkZXMoJmRpcik7CiAJCX0KIAorCQltZW1zZXQoJmVtcHR5X3BhdGhzcGVjLCAwLCBzaXplb2YoZW1wdHlfcGF0aHNwZWMpKTsKIAkJLyogVGhpcyBwaWNrcyB1cCB0aGUgcGF0aHMgdGhhdCBhcmUgbm90IHRyYWNrZWQgKi8KLQkJYmFzZWxlbiA9IGZpbGxfZGlyZWN0b3J5KCZkaXIsIGltcGxpY2l0X2RvdCA/IE5VTEwgOiBwYXRoc3BlYyk7Ci0JCWlmIChwYXRoc3BlYykKLQkJCXNlZW4gPSBwcnVuZV9kaXJlY3RvcnkoJmRpciwgcGF0aHNwZWMsIGJhc2VsZW4sCisJCWJhc2VsZW4gPSBmaWxsX2RpcmVjdG9yeSgmZGlyLCBpbXBsaWNpdF9kb3QgPyAmZW1wdHlfcGF0aHNwZWMgOiAmcGF0aHNwZWMpOworCQlpZiAocGF0aHNwZWMubnIpCisJCQlzZWVuID0gcHJ1bmVfZGlyZWN0b3J5KCZkaXIsICZwYXRoc3BlYywgYmFzZWxlbiwKIAkJCQkJaW1wbGljaXRfZG90ID8gV0FSTl9JTVBMSUNJVF9ET1QgOiAwKTsKIAl9CiAKIAlpZiAocmVmcmVzaF9vbmx5KSB7Ci0JCXJlZnJlc2godmVyYm9zZSwgcGF0aHNwZWMpOworCQlyZWZyZXNoKHZlcmJvc2UsICZwYXRoc3BlYyk7CiAJCWdvdG8gZmluaXNoOwogCX0KIAlpZiAoaW1wbGljaXRfZG90ICYmIHByZWZpeCkKIAkJcmVmcmVzaF9jYWNoZShSRUZSRVNIX1FVSUVUKTsKIAotCWlmIChwYXRoc3BlYykgeworCWlmIChwYXRoc3BlYy5ucikgewogCQlpbnQgaTsKIAogCQlpZiAoIXNlZW4pCi0JCQlzZWVuID0gZmluZF9wYXRoc3BlY3NfbWF0Y2hpbmdfYWdhaW5zdF9pbmRleChwYXRoc3BlYyk7Ci0JCWZvciAoaSA9IDA7IHBhdGhzcGVjW2ldOyBpKyspIHsKLQkJCWlmICghc2VlbltpXSAmJiBwYXRoc3BlY1tpXVswXQotCQkJICAgICYmICFmaWxlX2V4aXN0cyhwYXRoc3BlY1tpXSkpIHsKKwkJCXNlZW4gPSBmaW5kX3BhdGhzcGVjc19tYXRjaGluZ19hZ2FpbnN0X2luZGV4KCZwYXRoc3BlYyk7CisKKwkJLyoKKwkJICogZmlsZV9leGlzdHMoKSBhc3N1bWVzIGV4YWN0IG1hdGNoCisJCSAqLworCQlHVUFSRF9QQVRIU1BFQygmcGF0aHNwZWMsCisJCQkgICAgICAgUEFUSFNQRUNfRlJPTVRPUCB8CisJCQkgICAgICAgUEFUSFNQRUNfTElURVJBTCB8CisJCQkgICAgICAgUEFUSFNQRUNfR0xPQiB8CisJCQkgICAgICAgUEFUSFNQRUNfSUNBU0UgfAorCQkJICAgICAgIFBBVEhTUEVDX0VYQ0xVREUpOworCisJCWZvciAoaSA9IDA7IGkgPCBwYXRoc3BlYy5ucjsgaSsrKSB7CisJCQljb25zdCBjaGFyICpwYXRoID0gcGF0aHNwZWMuaXRlbXNbaV0ubWF0Y2g7CisJCQlpZiAocGF0aHNwZWMuaXRlbXNbaV0ubWFnaWMgJiBQQVRIU1BFQ19FWENMVURFKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKCFzZWVuW2ldICYmIHBhdGhbMF0gJiYKKwkJCSAgICAoKHBhdGhzcGVjLml0ZW1zW2ldLm1hZ2ljICYKKwkJCSAgICAgIChQQVRIU1BFQ19HTE9CIHwgUEFUSFNQRUNfSUNBU0UpKSB8fAorCQkJICAgICAhZmlsZV9leGlzdHMocGF0aCkpKSB7CiAJCQkJaWYgKGlnbm9yZV9taXNzaW5nKSB7CiAJCQkJCWludCBkdHlwZSA9IERUX1VOS05PV047Ci0JCQkJCWlmIChpc19leGNsdWRlZCgmZGlyLCBwYXRoc3BlY1tpXSwgJmR0eXBlKSkKLQkJCQkJCWRpcl9hZGRfaWdub3JlZCgmZGlyLCBwYXRoc3BlY1tpXSwgc3RybGVuKHBhdGhzcGVjW2ldKSk7CisJCQkJCWlmIChpc19leGNsdWRlZCgmZGlyLCBwYXRoLCAmZHR5cGUpKQorCQkJCQkJZGlyX2FkZF9pZ25vcmVkKCZkaXIsIHBhdGgsIHBhdGhzcGVjLml0ZW1zW2ldLmxlbik7CiAJCQkJfSBlbHNlCiAJCQkJCWRpZShfKCJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIiksCi0JCQkJCSAgICBwYXRoc3BlY1tpXSk7CisJCQkJCSAgICBwYXRoc3BlYy5pdGVtc1tpXS5vcmlnaW5hbCk7CiAJCQl9CiAJCX0KIAkJZnJlZShzZWVuKTsKQEAgLTU4NywxMCArNTczLDExIEBACiAJCSAqLwogCQl1cGRhdGVfZGF0YS5pbXBsaWNpdF9kb3QgPSBwcmVmaXg7CiAJCXVwZGF0ZV9kYXRhLmltcGxpY2l0X2RvdF9sZW4gPSBzdHJsZW4ocHJlZml4KTsKLQkJcGF0aHNwZWMgPSBOVUxMOworCQlmcmVlX3BhdGhzcGVjKCZwYXRoc3BlYyk7CisJCW1lbXNldCgmcGF0aHNwZWMsIDAsIHNpemVvZihwYXRoc3BlYykpOwogCX0KIAl1cGRhdGVfZGF0YS5mbGFncyA9IGZsYWdzICYgfkFERF9DQUNIRV9JTVBMSUNJVF9ET1Q7Ci0JdXBkYXRlX2ZpbGVzX2luX2NhY2hlKHByZWZpeCwgcGF0aHNwZWMsICZ1cGRhdGVfZGF0YSk7CisJdXBkYXRlX2ZpbGVzX2luX2NhY2hlKHByZWZpeCwgJnBhdGhzcGVjLCAmdXBkYXRlX2RhdGEpOwogCiAJZXhpdF9zdGF0dXMgfD0gISF1cGRhdGVfZGF0YS5hZGRfZXJyb3JzOwogCWlmIChhZGRfbmV3X2ZpbGVzKQpAQCAtNTk4LDcgKzU4NSw3IEBACiAKIAl1bnBsdWdfYnVsa19jaGVja2luKCk7CiAKLSBmaW5pc2g6CitmaW5pc2g6CiAJaWYgKGFjdGl2ZV9jYWNoZV9jaGFuZ2VkKSB7CiAJCWlmICh3cml0ZV9jYWNoZShuZXdmZCwgYWN0aXZlX2NhY2hlLCBhY3RpdmVfbnIpIHx8CiAJCSAgICBjb21taXRfbG9ja2VkX2luZGV4KCZsb2NrX2ZpbGUpKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9hcHBseS5jIGIvYnVpbHRpbi9hcHBseS5jCmluZGV4IDUwOTEyYzkuLmIwZDA5ODYgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vYXBwbHkuYworKysgYi9idWlsdGluL2FwcGx5LmMKQEAgLTE0MDksMTAgKzE0MDksMTAgQEAKIAkJY2FzZSAnXFwnOgogCQkJY29udGludWU7CiAJCWNhc2UgJ0AnOgotCQkJcmV0ID0gc2l6ZSA8IDMgfHwgcHJlZml4Y21wKGxpbmUsICJAQCAiKTsKKwkJCXJldCA9IHNpemUgPCAzIHx8ICFzdGFydHNfd2l0aChsaW5lLCAiQEAgIik7CiAJCQlicmVhazsKIAkJY2FzZSAnZCc6Ci0JCQlyZXQgPSBzaXplIDwgNSB8fCBwcmVmaXhjbXAobGluZSwgImRpZmYgIik7CisJCQlyZXQgPSBzaXplIDwgNSB8fCAhc3RhcnRzX3dpdGgobGluZSwgImRpZmYgIik7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCXJldCA9IC0xOwpAQCAtMTc5OCwxMSArMTc5OCwxMSBAQAogCiAJKnN0YXR1c19wID0gMDsKIAotCWlmICghcHJlZml4Y21wKGJ1ZmZlciwgImRlbHRhICIpKSB7CisJaWYgKHN0YXJ0c193aXRoKGJ1ZmZlciwgImRlbHRhICIpKSB7CiAJCXBhdGNoX21ldGhvZCA9IEJJTkFSWV9ERUxUQV9ERUZMQVRFRDsKIAkJb3JpZ2xlbiA9IHN0cnRvdWwoYnVmZmVyICsgNiwgTlVMTCwgMTApOwogCX0KLQllbHNlIGlmICghcHJlZml4Y21wKGJ1ZmZlciwgImxpdGVyYWwgIikpIHsKKwllbHNlIGlmIChzdGFydHNfd2l0aChidWZmZXIsICJsaXRlcmFsICIpKSB7CiAJCXBhdGNoX21ldGhvZCA9IEJJTkFSWV9MSVRFUkFMX0RFRkxBVEVEOwogCQlvcmlnbGVuID0gc3RydG91bChidWZmZXIgKyA4LCBOVUxMLCAxMCk7CiAJfQpAQCAtMzYyNywxMiArMzYyNywxMiBAQAogCSAgICBodW5rLT5vbGRwb3MgPT0gMSAmJiBodW5rLT5vbGRsaW5lcyA9PSAxICYmCiAJICAgIC8qIGRvZXMgcHJlaW1hZ2UgYmVnaW4gd2l0aCB0aGUgaGVhZGluZz8gKi8KIAkgICAgKHByZWltYWdlID0gbWVtY2hyKGh1bmstPnBhdGNoLCAnXG4nLCBodW5rLT5zaXplKSkgIT0gTlVMTCAmJgotCSAgICAhcHJlZml4Y21wKCsrcHJlaW1hZ2UsIGhlYWRpbmcpICYmCisJICAgIHN0YXJ0c193aXRoKCsrcHJlaW1hZ2UsIGhlYWRpbmcpICYmCiAJICAgIC8qIGRvZXMgaXQgcmVjb3JkIGZ1bGwgU0hBLTE/ICovCiAJICAgICFnZXRfc2hhMV9oZXgocHJlaW1hZ2UgKyBzaXplb2YoaGVhZGluZykgLSAxLCBzaGExKSAmJgogCSAgICBwcmVpbWFnZVtzaXplb2YoaGVhZGluZykgKyA0MCAtIDFdID09ICdcbicgJiYKIAkgICAgLyogZG9lcyB0aGUgYWJicmV2aWF0ZWQgbmFtZSBvbiB0aGUgaW5kZXggbGluZSBhZ3JlZSB3aXRoIGl0PyAqLwotCSAgICAhcHJlZml4Y21wKHByZWltYWdlICsgc2l6ZW9mKGhlYWRpbmcpIC0gMSwgcC0+b2xkX3NoYTFfcHJlZml4KSkKKwkgICAgc3RhcnRzX3dpdGgocHJlaW1hZ2UgKyBzaXplb2YoaGVhZGluZykgLSAxLCBwLT5vbGRfc2hhMV9wcmVmaXgpKQogCQlyZXR1cm4gMDsgLyogaXQgYWxsIGxvb2tzIGZpbmUgKi8KIAogCS8qIHdlIG1heSBoYXZlIGZ1bGwgb2JqZWN0IG5hbWUgb24gdGhlIGluZGV4IGxpbmUgKi8KQEAgLTQzNjMsMjMgKzQzNjMsMjMgQEAKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssICdwJywgTlVMTCwgTlVMTCwgTl8oIm51bSIpLAogCQkJTl8oInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIiksCiAJCQkwLCBvcHRpb25fcGFyc2VfcCB9LAotCQlPUFRfQk9PTEVBTigwLCAibm8tYWRkIiwgJm5vX2FkZCwKKwkJT1BUX0JPT0woMCwgIm5vLWFkZCIsICZub19hZGQsCiAJCQlOXygiaWdub3JlIGFkZGl0aW9ucyBtYWRlIGJ5IHRoZSBwYXRjaCIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgInN0YXQiLCAmZGlmZnN0YXQsCisJCU9QVF9CT09MKDAsICJzdGF0IiwgJmRpZmZzdGF0LAogCQkJTl8oImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIpKSwKIAkJT1BUX05PT1BfTk9BUkcoMCwgImFsbG93LWJpbmFyeS1yZXBsYWNlbWVudCIpLAogCQlPUFRfTk9PUF9OT0FSRygwLCAiYmluYXJ5IiksCi0JCU9QVF9CT09MRUFOKDAsICJudW1zdGF0IiwgJm51bXN0YXQsCisJCU9QVF9CT09MKDAsICJudW1zdGF0IiwgJm51bXN0YXQsCiAJCQlOXygic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgInN1bW1hcnkiLCAmc3VtbWFyeSwKKwkJT1BUX0JPT0woMCwgInN1bW1hcnkiLCAmc3VtbWFyeSwKIAkJCU5fKCJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IikpLAotCQlPUFRfQk9PTEVBTigwLCAiY2hlY2siLCAmY2hlY2ssCisJCU9QVF9CT09MKDAsICJjaGVjayIsICZjaGVjaywKIAkJCU5fKCJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIikpLAotCQlPUFRfQk9PTEVBTigwLCAiaW5kZXgiLCAmY2hlY2tfaW5kZXgsCisJCU9QVF9CT09MKDAsICJpbmRleCIsICZjaGVja19pbmRleCwKIAkJCU5fKCJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiKSksCi0JCU9QVF9CT09MRUFOKDAsICJjYWNoZWQiLCAmY2FjaGVkLAorCQlPUFRfQk9PTCgwLCAiY2FjaGVkIiwgJmNhY2hlZCwKIAkJCU5fKCJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImFwcGx5IiwgJmZvcmNlX2FwcGx5LAorCQlPUFRfQk9PTCgwLCAiYXBwbHkiLCAmZm9yY2VfYXBwbHksCiAJCQlOXygiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiKSksCiAJCU9QVF9CT09MKCczJywgIjN3YXkiLCAmdGhyZWV3YXksCiAJCQkgTl8oICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IikpLApAQCAtNDM5OSwxMyArNDM5OSwxMyBAQAogCQl7IE9QVElPTl9DQUxMQkFDSywgMCwgImlnbm9yZS13aGl0ZXNwYWNlIiwgTlVMTCwgTlVMTCwKIAkJCU5fKCJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IiksCiAJCQlQQVJTRV9PUFRfTk9BUkcsIG9wdGlvbl9wYXJzZV9zcGFjZV9jaGFuZ2UgfSwKLQkJT1BUX0JPT0xFQU4oJ1InLCAicmV2ZXJzZSIsICZhcHBseV9pbl9yZXZlcnNlLAorCQlPUFRfQk9PTCgnUicsICJyZXZlcnNlIiwgJmFwcGx5X2luX3JldmVyc2UsCiAJCQlOXygiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiKSksCi0JCU9QVF9CT09MRUFOKDAsICJ1bmlkaWZmLXplcm8iLCAmdW5pZGlmZl96ZXJvLAorCQlPUFRfQk9PTCgwLCAidW5pZGlmZi16ZXJvIiwgJnVuaWRpZmZfemVybywKIAkJCU5fKCJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgInJlamVjdCIsICZhcHBseV93aXRoX3JlamVjdCwKKwkJT1BUX0JPT0woMCwgInJlamVjdCIsICZhcHBseV93aXRoX3JlamVjdCwKIAkJCU5fKCJsZWF2ZSB0aGUgcmVqZWN0ZWQgaHVua3MgaW4gY29ycmVzcG9uZGluZyAqLnJlaiBmaWxlcyIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImFsbG93LW92ZXJsYXAiLCAmYWxsb3dfb3ZlcmxhcCwKKwkJT1BUX0JPT0woMCwgImFsbG93LW92ZXJsYXAiLCAmYWxsb3dfb3ZlcmxhcCwKIAkJCU5fKCJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIpKSwKIAkJT1BUX19WRVJCT1NFKCZhcHBseV92ZXJib3NlbHksIE5fKCJiZSB2ZXJib3NlIikpLAogCQlPUFRfQklUKDAsICJpbmFjY3VyYXRlLWVvZiIsICZvcHRpb25zLApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9hcmNoaXZlLmMgYi9idWlsdGluL2FyY2hpdmUuYwppbmRleCA0OTE3OGYxLi5hMWUzYjk0IDEwMDY0NAotLS0gYS9idWlsdGluL2FyY2hpdmUuYworKysgYi9idWlsdGluL2FyY2hpdmUuYwpAQCAtNTcsOSArNTcsOSBAQAogCWlmICghYnVmKQogCQlkaWUoXygiZ2l0IGFyY2hpdmU6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBFT0YiKSk7CiAJaWYgKHN0cmNtcChidWYsICJBQ0siKSkgewotCQlpZiAoIXByZWZpeGNtcChidWYsICJOQUNLICIpKQorCQlpZiAoc3RhcnRzX3dpdGgoYnVmLCAiTkFDSyAiKSkKIAkJCWRpZShfKCJnaXQgYXJjaGl2ZTogTkFDSyAlcyIpLCBidWYgKyA1KTsKLQkJaWYgKCFwcmVmaXhjbXAoYnVmLCAiRVJSICIpKQorCQlpZiAoc3RhcnRzX3dpdGgoYnVmLCAiRVJSICIpKQogCQkJZGllKF8oInJlbW90ZSBlcnJvcjogJXMiKSwgYnVmICsgNCk7CiAJCWRpZShfKCJnaXQgYXJjaGl2ZTogcHJvdG9jb2wgZXJyb3IiKSk7CiAJfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jIGIvYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jCmluZGV4IGUzODg0ZTMuLjMzMjQyMjkwIDEwMDY0NAotLS0gYS9idWlsdGluL2Jpc2VjdC0taGVscGVyLmMKKysrIGIvYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jCkBAIC0xMywxMCArMTMsMTAgQEAKIAlpbnQgbmV4dF9hbGwgPSAwOwogCWludCBub19jaGVja291dCA9IDA7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MRUFOKDAsICJuZXh0LWFsbCIsICZuZXh0X2FsbCwKLQkJCSAgICBOXygicGVyZm9ybSAnZ2l0IGJpc2VjdCBuZXh0JyIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgIm5vLWNoZWNrb3V0IiwgJm5vX2NoZWNrb3V0LAotCQkJICAgIE5fKCJ1cGRhdGUgQklTRUNUX0hFQUQgaW5zdGVhZCBvZiBjaGVja2luZyBvdXQgdGhlIGN1cnJlbnQgY29tbWl0IikpLAorCQlPUFRfQk9PTCgwLCAibmV4dC1hbGwiLCAmbmV4dF9hbGwsCisJCQkgTl8oInBlcmZvcm0gJ2dpdCBiaXNlY3QgbmV4dCciKSksCisJCU9QVF9CT09MKDAsICJuby1jaGVja291dCIsICZub19jaGVja291dCwKKwkJCSBOXygidXBkYXRlIEJJU0VDVF9IRUFEIGluc3RlYWQgb2YgY2hlY2tpbmcgb3V0IHRoZSBjdXJyZW50IGNvbW1pdCIpKSwKIAkJT1BUX0VORCgpCiAJfTsKIApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9ibGFtZS5jIGIvYnVpbHRpbi9ibGFtZS5jCmluZGV4IDA3OWRjZDMuLmU0NGE2YmIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vYmxhbWUuYworKysgYi9idWlsdGluL2JsYW1lLmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlICJ1dGY4LmgiCiAjaW5jbHVkZSAidXNlcmRpZmYuaCIKICNpbmNsdWRlICJsaW5lLXJhbmdlLmgiCisjaW5jbHVkZSAibGluZS1sb2cuaCIKIAogc3RhdGljIGNoYXIgYmxhbWVfdXNhZ2VbXSA9IE5fKCJnaXQgYmxhbWUgW29wdGlvbnNdIFtyZXYtb3B0c10gW3Jldl0gWy0tXSBmaWxlIik7CiAKQEAgLTQwOCw3ICs0MDksOSBAQAogCXBhdGhzWzBdID0gb3JpZ2luLT5wYXRoOwogCXBhdGhzWzFdID0gTlVMTDsKIAotCWRpZmZfdHJlZV9zZXR1cF9wYXRocyhwYXRocywgJmRpZmZfb3B0cyk7CisJcGFyc2VfcGF0aHNwZWMoJmRpZmZfb3B0cy5wYXRoc3BlYywKKwkJICAgICAgIFBBVEhTUEVDX0FMTF9NQUdJQyAmIH5QQVRIU1BFQ19MSVRFUkFMLAorCQkgICAgICAgUEFUSFNQRUNfTElURVJBTF9QQVRILCAiIiwgcGF0aHMpOwogCWRpZmZfc2V0dXBfZG9uZSgmZGlmZl9vcHRzKTsKIAogCWlmIChpc19udWxsX3NoYTEob3JpZ2luLT5jb21taXQtPm9iamVjdC5zaGExKSkKQEAgLTQ1OCw3ICs0NjEsNyBAQAogCQl9CiAJfQogCWRpZmZfZmx1c2goJmRpZmZfb3B0cyk7Ci0JZGlmZl90cmVlX3JlbGVhc2VfcGF0aHMoJmRpZmZfb3B0cyk7CisJZnJlZV9wYXRoc3BlYygmZGlmZl9vcHRzLnBhdGhzcGVjKTsKIAlpZiAocG9yaWdpbikgewogCQkvKgogCQkgKiBDcmVhdGUgYSBmcmVlc3RhbmRpbmcgY29weSB0aGF0IGlzIG5vdCBwYXJ0IG9mCkBAIC00ODYsMTUgKzQ4OSwxMiBAQAogCXN0cnVjdCBvcmlnaW4gKnBvcmlnaW4gPSBOVUxMOwogCXN0cnVjdCBkaWZmX29wdGlvbnMgZGlmZl9vcHRzOwogCWludCBpOwotCWNvbnN0IGNoYXIgKnBhdGhzWzJdOwogCiAJZGlmZl9zZXR1cCgmZGlmZl9vcHRzKTsKIAlESUZGX09QVF9TRVQoJmRpZmZfb3B0cywgUkVDVVJTSVZFKTsKIAlkaWZmX29wdHMuZGV0ZWN0X3JlbmFtZSA9IERJRkZfREVURUNUX1JFTkFNRTsKIAlkaWZmX29wdHMub3V0cHV0X2Zvcm1hdCA9IERJRkZfRk9STUFUX05PX09VVFBVVDsKIAlkaWZmX29wdHMuc2luZ2xlX2ZvbGxvdyA9IG9yaWdpbi0+cGF0aDsKLQlwYXRoc1swXSA9IE5VTEw7Ci0JZGlmZl90cmVlX3NldHVwX3BhdGhzKHBhdGhzLCAmZGlmZl9vcHRzKTsKIAlkaWZmX3NldHVwX2RvbmUoJmRpZmZfb3B0cyk7CiAKIAlpZiAoaXNfbnVsbF9zaGExKG9yaWdpbi0+Y29tbWl0LT5vYmplY3Quc2hhMSkpCkBAIC01MTYsNyArNTE2LDcgQEAKIAkJfQogCX0KIAlkaWZmX2ZsdXNoKCZkaWZmX29wdHMpOwotCWRpZmZfdHJlZV9yZWxlYXNlX3BhdGhzKCZkaWZmX29wdHMpOworCWZyZWVfcGF0aHNwZWMoJmRpZmZfb3B0cy5wYXRoc3BlYyk7CiAJcmV0dXJuIHBvcmlnaW47CiB9CiAKQEAgLTEwNjQsNyArMTA2NCw2IEBACiAJCQkgICAgICAgaW50IG9wdCkKIHsKIAlzdHJ1Y3QgZGlmZl9vcHRpb25zIGRpZmZfb3B0czsKLQljb25zdCBjaGFyICpwYXRoc1sxXTsKIAlpbnQgaSwgajsKIAlpbnQgcmV0dmFsOwogCXN0cnVjdCBibGFtZV9saXN0ICpibGFtZV9saXN0OwpAQCAtMTA3OCw4ICsxMDc3LDYgQEAKIAlESUZGX09QVF9TRVQoJmRpZmZfb3B0cywgUkVDVVJTSVZFKTsKIAlkaWZmX29wdHMub3V0cHV0X2Zvcm1hdCA9IERJRkZfRk9STUFUX05PX09VVFBVVDsKIAotCXBhdGhzWzBdID0gTlVMTDsKLQlkaWZmX3RyZWVfc2V0dXBfcGF0aHMocGF0aHMsICZkaWZmX29wdHMpOwogCWRpZmZfc2V0dXBfZG9uZSgmZGlmZl9vcHRzKTsKIAogCS8qIFRyeSAiZmluZCBjb3BpZXMgaGFyZGVyIiBvbiBuZXcgcGF0aCBpZiByZXF1ZXN0ZWQ7CkBAIC0xMTYyLDcgKzExNTksNyBAQAogCX0KIAlyZXNldF9zY2FubmVkX2ZsYWcoc2IpOwogCWRpZmZfZmx1c2goJmRpZmZfb3B0cyk7Ci0JZGlmZl90cmVlX3JlbGVhc2VfcGF0aHMoJmRpZmZfb3B0cyk7CisJZnJlZV9wYXRoc3BlYygmZGlmZl9vcHRzLnBhdGhzcGVjKTsKIAlyZXR1cm4gcmV0dmFsOwogfQogCkBAIC0xNTU0LDggKzE1NTEsNyBAQAogCQkgKi8KIAkJb3JpZ2luX2luY3JlZihzdXNwZWN0KTsKIAkJY29tbWl0ID0gc3VzcGVjdC0+Y29tbWl0OwotCQlpZiAoIWNvbW1pdC0+b2JqZWN0LnBhcnNlZCkKLQkJCXBhcnNlX2NvbW1pdChjb21taXQpOworCQlwYXJzZV9jb21taXQoY29tbWl0KTsKIAkJaWYgKHJldmVyc2UgfHwKIAkJICAgICghKGNvbW1pdC0+b2JqZWN0LmZsYWdzICYgVU5JTlRFUkVTVElORykgJiYKIAkJICAgICAhKHJldnMtPm1heF9hZ2UgIT0gLTEgJiYgY29tbWl0LT5kYXRlIDwgcmV2cy0+bWF4X2FnZSkpKQpAQCAtMTgwNywxNyArMTgwMywxNyBAQAogc3RhdGljIGludCByZWFkX2FuY2VzdHJ5KGNvbnN0IGNoYXIgKmdyYWZ0X2ZpbGUpCiB7CiAJRklMRSAqZnAgPSBmb3BlbihncmFmdF9maWxlLCAiciIpOwotCWNoYXIgYnVmWzEwMjRdOworCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJaWYgKCFmcCkKIAkJcmV0dXJuIC0xOwotCXdoaWxlIChmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmcCkpIHsKKwl3aGlsZSAoIXN0cmJ1Zl9nZXR3aG9sZWxpbmUoJmJ1ZiwgZnAsICdcbicpKSB7CiAJCS8qIFRoZSBmb3JtYXQgaXMganVzdCAiQ29tbWl0IFBhcmVudDEgUGFyZW50MiAuLi5cbiIgKi8KLQkJaW50IGxlbiA9IHN0cmxlbihidWYpOwotCQlzdHJ1Y3QgY29tbWl0X2dyYWZ0ICpncmFmdCA9IHJlYWRfZ3JhZnRfbGluZShidWYsIGxlbik7CisJCXN0cnVjdCBjb21taXRfZ3JhZnQgKmdyYWZ0ID0gcmVhZF9ncmFmdF9saW5lKGJ1Zi5idWYsIGJ1Zi5sZW4pOwogCQlpZiAoZ3JhZnQpCiAJCQlyZWdpc3Rlcl9jb21taXRfZ3JhZnQoZ3JhZnQsIDApOwogCX0KIAlmY2xvc2UoZnApOworCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCXJldHVybiAwOwogfQogCkBAIC0xOTM3LDE4ICsxOTMzLDYgQEAKIAlyZXR1cm4gcHJlZml4X3BhdGgocHJlZml4LCBwcmVmaXggPyBzdHJsZW4ocHJlZml4KSA6IDAsIHBhdGgpOwogfQogCi0vKgotICogUGFyc2luZyBvZiAtTCBvcHRpb24KLSAqLwotc3RhdGljIHZvaWQgcHJlcGFyZV9ibGFtZV9yYW5nZShzdHJ1Y3Qgc2NvcmVib2FyZCAqc2IsCi0JCQkJY29uc3QgY2hhciAqYm90dG9tdG9wLAotCQkJCWxvbmcgbG5vLAotCQkJCWxvbmcgKmJvdHRvbSwgbG9uZyAqdG9wKQotewotCWlmIChwYXJzZV9yYW5nZV9hcmcoYm90dG9tdG9wLCBudGhfbGluZV9jYiwgc2IsIGxubywgYm90dG9tLCB0b3AsIHNiLT5wYXRoKSkKLQkJdXNhZ2UoYmxhbWVfdXNhZ2UpOwotfQotCiBzdGF0aWMgaW50IGdpdF9ibGFtZV9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpCiB7CiAJaWYgKCFzdHJjbXAodmFyLCAiYmxhbWUuc2hvd3Jvb3QiKSkgewpAQCAtMjI0NSwzOCArMjIyOSwyNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGJsYW1lX2JvdHRvbXRvcF9jYWxsYmFjayhjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHRpb24sIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQotewotCWNvbnN0IGNoYXIgKipib3R0b210b3AgPSBvcHRpb24tPnZhbHVlOwotCWlmICghYXJnKQotCQlyZXR1cm4gLTE7Ci0JaWYgKCpib3R0b210b3ApCi0JCWRpZSgiTW9yZSB0aGFuIG9uZSAnLUwgbixtJyBvcHRpb24gZ2l2ZW4iKTsKLQkqYm90dG9tdG9wID0gYXJnOwotCXJldHVybiAwOwotfQotCiBpbnQgY21kX2JsYW1lKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCXN0cnVjdCByZXZfaW5mbyByZXZzOwogCWNvbnN0IGNoYXIgKnBhdGg7CiAJc3RydWN0IHNjb3JlYm9hcmQgc2I7CiAJc3RydWN0IG9yaWdpbiAqbzsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudDsKLQlsb25nIGRhc2hkYXNoX3BvcywgYm90dG9tLCB0b3AsIGxubzsKKwlzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudCA9IE5VTEw7CisJbG9uZyBkYXNoZGFzaF9wb3MsIGxubzsKIAljb25zdCBjaGFyICpmaW5hbF9jb21taXRfbmFtZSA9IE5VTEw7CiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwogCi0Jc3RhdGljIGNvbnN0IGNoYXIgKmJvdHRvbXRvcCA9IE5VTEw7CisJc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCByYW5nZV9saXN0OwogCXN0YXRpYyBpbnQgb3V0cHV0X29wdGlvbiA9IDAsIG9wdCA9IDA7CiAJc3RhdGljIGludCBzaG93X3N0YXRzID0gMDsKIAlzdGF0aWMgY29uc3QgY2hhciAqcmV2c19maWxlID0gTlVMTDsKIAlzdGF0aWMgY29uc3QgY2hhciAqY29udGVudHNfZnJvbSA9IE5VTEw7CiAJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewotCQlPUFRfQk9PTEVBTigwLCAiaW5jcmVtZW50YWwiLCAmaW5jcmVtZW50YWwsIE5fKCJTaG93IGJsYW1lIGVudHJpZXMgYXMgd2UgZmluZCB0aGVtLCBpbmNyZW1lbnRhbGx5IikpLAotCQlPUFRfQk9PTEVBTignYicsIE5VTEwsICZibGFua19ib3VuZGFyeSwgTl8oIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiKSksCi0JCU9QVF9CT09MRUFOKDAsICJyb290IiwgJnNob3dfcm9vdCwgTl8oIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgInNob3ctc3RhdHMiLCAmc2hvd19zdGF0cywgTl8oIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiKSksCisJCU9QVF9CT09MKDAsICJpbmNyZW1lbnRhbCIsICZpbmNyZW1lbnRhbCwgTl8oIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiKSksCisJCU9QVF9CT09MKCdiJywgTlVMTCwgJmJsYW5rX2JvdW5kYXJ5LCBOXygiU2hvdyBibGFuayBTSEEtMSBmb3IgYm91bmRhcnkgY29tbWl0cyAoRGVmYXVsdDogb2ZmKSIpKSwKKwkJT1BUX0JPT0woMCwgInJvb3QiLCAmc2hvd19yb290LCBOXygiRG8gbm90IHRyZWF0IHJvb3QgY29tbWl0cyBhcyBib3VuZGFyaWVzIChEZWZhdWx0OiBvZmYpIikpLAorCQlPUFRfQk9PTCgwLCAic2hvdy1zdGF0cyIsICZzaG93X3N0YXRzLCBOXygiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIpKSwKIAkJT1BUX0JJVCgwLCAic2NvcmUtZGVidWciLCAmb3V0cHV0X29wdGlvbiwgTl8oIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIiksIE9VVFBVVF9TSE9XX1NDT1JFKSwKIAkJT1BUX0JJVCgnZicsICJzaG93LW5hbWUiLCAmb3V0cHV0X29wdGlvbiwgTl8oIlNob3cgb3JpZ2luYWwgZmlsZW5hbWUgKERlZmF1bHQ6IGF1dG8pIiksIE9VVFBVVF9TSE9XX05BTUUpLAogCQlPUFRfQklUKCduJywgInNob3ctbnVtYmVyIiwgJm91dHB1dF9vcHRpb24sIE5fKCJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiKSwgT1VUUFVUX1NIT1dfTlVNQkVSKSwKQEAgLTIyOTMsMTMgKzIyNjYsMTYgQEAKIAkJT1BUX1NUUklORygwLCAiY29udGVudHMiLCAmY29udGVudHNfZnJvbSwgTl8oImZpbGUiKSwgTl8oIlVzZSA8ZmlsZT4ncyBjb250ZW50cyBhcyB0aGUgZmluYWwgaW1hZ2UiKSksCiAJCXsgT1BUSU9OX0NBTExCQUNLLCAnQycsIE5VTEwsICZvcHQsIE5fKCJzY29yZSIpLCBOXygiRmluZCBsaW5lIGNvcGllcyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIpLCBQQVJTRV9PUFRfT1BUQVJHLCBibGFtZV9jb3B5X2NhbGxiYWNrIH0sCiAJCXsgT1BUSU9OX0NBTExCQUNLLCAnTScsIE5VTEwsICZvcHQsIE5fKCJzY29yZSIpLCBOXygiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIpLCBQQVJTRV9PUFRfT1BUQVJHLCBibGFtZV9tb3ZlX2NhbGxiYWNrIH0sCi0JCU9QVF9DQUxMQkFDSygnTCcsIE5VTEwsICZib3R0b210b3AsIE5fKCJuLG0iKSwgTl8oIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIiksIGJsYW1lX2JvdHRvbXRvcF9jYWxsYmFjayksCisJCU9QVF9TVFJJTkdfTElTVCgnTCcsIE5VTEwsICZyYW5nZV9saXN0LCBOXygibixtIiksIE5fKCJQcm9jZXNzIG9ubHkgbGluZSByYW5nZSBuLG0sIGNvdW50aW5nIGZyb20gMSIpKSwKIAkJT1BUX19BQkJSRVYoJmFiYnJldiksCiAJCU9QVF9FTkQoKQogCX07CiAKIAlzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90IGN0eDsKIAlpbnQgY21kX2lzX2Fubm90YXRlID0gIXN0cmNtcChhcmd2WzBdLCAiYW5ub3RhdGUiKTsKKwlzdHJ1Y3QgcmFuZ2Vfc2V0IHJhbmdlczsKKwl1bnNpZ25lZCBpbnQgcmFuZ2VfaTsKKwlsb25nIGFuY2hvcjsKIAogCWdpdF9jb25maWcoZ2l0X2JsYW1lX2NvbmZpZywgTlVMTCk7CiAJaW5pdF9yZXZpc2lvbnMoJnJldnMsIE5VTEwpOwpAQCAtMjQ5MiwyMiArMjQ2OCw0OCBAQAogCW51bV9yZWFkX2Jsb2IrKzsKIAlsbm8gPSBwcmVwYXJlX2xpbmVzKCZzYik7CiAKLQlib3R0b20gPSB0b3AgPSAwOwotCWlmIChib3R0b210b3ApCi0JCXByZXBhcmVfYmxhbWVfcmFuZ2UoJnNiLCBib3R0b210b3AsIGxubywgJmJvdHRvbSwgJnRvcCk7Ci0JaWYgKGJvdHRvbSA8IDEpCi0JCWJvdHRvbSA9IDE7Ci0JaWYgKHRvcCA8IDEpCi0JCXRvcCA9IGxubzsKLQlib3R0b20tLTsKLQlpZiAobG5vIDwgdG9wIHx8IGxubyA8IGJvdHRvbSkKLQkJZGllKCJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lcyIsIHBhdGgsIGxubyk7CisJaWYgKGxubyAmJiAhcmFuZ2VfbGlzdC5ucikKKwkJc3RyaW5nX2xpc3RfYXBwZW5kKCZyYW5nZV9saXN0LCB4c3RyZHVwKCIxIikpOwogCi0JZW50ID0geGNhbGxvYygxLCBzaXplb2YoKmVudCkpOwotCWVudC0+bG5vID0gYm90dG9tOwotCWVudC0+bnVtX2xpbmVzID0gdG9wIC0gYm90dG9tOwotCWVudC0+c3VzcGVjdCA9IG87Ci0JZW50LT5zX2xubyA9IGJvdHRvbTsKKwlhbmNob3IgPSAxOworCXJhbmdlX3NldF9pbml0KCZyYW5nZXMsIHJhbmdlX2xpc3QubnIpOworCWZvciAocmFuZ2VfaSA9IDA7IHJhbmdlX2kgPCByYW5nZV9saXN0Lm5yOyArK3JhbmdlX2kpIHsKKwkJbG9uZyBib3R0b20sIHRvcDsKKwkJaWYgKHBhcnNlX3JhbmdlX2FyZyhyYW5nZV9saXN0Lml0ZW1zW3JhbmdlX2ldLnN0cmluZywKKwkJCQkgICAgbnRoX2xpbmVfY2IsICZzYiwgbG5vLCBhbmNob3IsCisJCQkJICAgICZib3R0b20sICZ0b3AsIHNiLnBhdGgpKQorCQkJdXNhZ2UoYmxhbWVfdXNhZ2UpOworCQlpZiAobG5vIDwgdG9wIHx8ICgobG5vIHx8IGJvdHRvbSkgJiYgbG5vIDwgYm90dG9tKSkKKwkJCWRpZSgiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZXMiLCBwYXRoLCBsbm8pOworCQlpZiAoYm90dG9tIDwgMSkKKwkJCWJvdHRvbSA9IDE7CisJCWlmICh0b3AgPCAxKQorCQkJdG9wID0gbG5vOworCQlib3R0b20tLTsKKwkJcmFuZ2Vfc2V0X2FwcGVuZF91bnNhZmUoJnJhbmdlcywgYm90dG9tLCB0b3ApOworCQlhbmNob3IgPSB0b3AgKyAxOworCX0KKwlzb3J0X2FuZF9tZXJnZV9yYW5nZV9zZXQoJnJhbmdlcyk7CisKKwlmb3IgKHJhbmdlX2kgPSByYW5nZXMubnI7IHJhbmdlX2kgPiAwOyAtLXJhbmdlX2kpIHsKKwkJY29uc3Qgc3RydWN0IHJhbmdlICpyID0gJnJhbmdlcy5yYW5nZXNbcmFuZ2VfaSAtIDFdOworCQlsb25nIGJvdHRvbSA9IHItPnN0YXJ0OworCQlsb25nIHRvcCA9IHItPmVuZDsKKwkJc3RydWN0IGJsYW1lX2VudHJ5ICpuZXh0ID0gZW50OworCQllbnQgPSB4Y2FsbG9jKDEsIHNpemVvZigqZW50KSk7CisJCWVudC0+bG5vID0gYm90dG9tOworCQllbnQtPm51bV9saW5lcyA9IHRvcCAtIGJvdHRvbTsKKwkJZW50LT5zdXNwZWN0ID0gbzsKKwkJZW50LT5zX2xubyA9IGJvdHRvbTsKKwkJZW50LT5uZXh0ID0gbmV4dDsKKwkJaWYgKG5leHQpCisJCQluZXh0LT5wcmV2ID0gZW50OworCQlvcmlnaW5faW5jcmVmKG8pOworCX0KKwlvcmlnaW5fZGVjcmVmKG8pOworCisJcmFuZ2Vfc2V0X3JlbGVhc2UoJnJhbmdlcyk7CisJc3RyaW5nX2xpc3RfY2xlYXIoJnJhbmdlX2xpc3QsIDApOwogCiAJc2IuZW50ID0gZW50OwogCXNiLnBhdGggPSBwYXRoOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9icmFuY2guYyBiL2J1aWx0aW4vYnJhbmNoLmMKaW5kZXggMDgzNjg5MC4uYjRkNzcxNiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9icmFuY2guYworKysgYi9idWlsdGluL2JyYW5jaC5jCkBAIC04MSwxMyArODEsMTMgQEAKIAogc3RhdGljIGludCBnaXRfYnJhbmNoX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYikKIHsKLQlpZiAoIXByZWZpeGNtcCh2YXIsICJjb2x1bW4uIikpCisJaWYgKHN0YXJ0c193aXRoKHZhciwgImNvbHVtbi4iKSkKIAkJcmV0dXJuIGdpdF9jb2x1bW5fY29uZmlnKHZhciwgdmFsdWUsICJicmFuY2giLCAmY29sb3B0cyk7CiAJaWYgKCFzdHJjbXAodmFyLCAiY29sb3IuYnJhbmNoIikpIHsKIAkJYnJhbmNoX3VzZV9jb2xvciA9IGdpdF9jb25maWdfY29sb3Jib29sKHZhciwgdmFsdWUpOwogCQlyZXR1cm4gMDsKIAl9Ci0JaWYgKCFwcmVmaXhjbXAodmFyLCAiY29sb3IuYnJhbmNoLiIpKSB7CisJaWYgKHN0YXJ0c193aXRoKHZhciwgImNvbG9yLmJyYW5jaC4iKSkgewogCQlpbnQgc2xvdCA9IHBhcnNlX2JyYW5jaF9jb2xvcl9zbG90KHZhciwgMTMpOwogCQlpZiAoc2xvdCA8IDApCiAJCQlyZXR1cm4gMDsKQEAgLTQyMywxOSArNDIzLDIwIEBACiAJY2hhciAqcmVmID0gTlVMTDsKIAlzdHJ1Y3QgYnJhbmNoICpicmFuY2ggPSBicmFuY2hfZ2V0KGJyYW5jaF9uYW1lKTsKIAlzdHJ1Y3Qgc3RyYnVmIGZhbmN5ID0gU1RSQlVGX0lOSVQ7CisJaW50IHVwc3RyZWFtX2lzX2dvbmUgPSAwOworCWludCBhZGRlZF9kZWNvcmF0aW9uID0gMTsKIAotCWlmICghc3RhdF90cmFja2luZ19pbmZvKGJyYW5jaCwgJm91cnMsICZ0aGVpcnMpKSB7Ci0JCWlmIChicmFuY2ggJiYgYnJhbmNoLT5tZXJnZSAmJiBicmFuY2gtPm1lcmdlWzBdLT5kc3QgJiYKLQkJICAgIHNob3dfdXBzdHJlYW1fcmVmKSB7Ci0JCQlyZWYgPSBzaG9ydGVuX3VuYW1iaWd1b3VzX3JlZihicmFuY2gtPm1lcmdlWzBdLT5kc3QsIDApOwotCQkJaWYgKHdhbnRfY29sb3IoYnJhbmNoX3VzZV9jb2xvcikpCi0JCQkJc3RyYnVmX2FkZGYoc3RhdCwgIlslcyVzJXNdICIsCi0JCQkJCQlicmFuY2hfZ2V0X2NvbG9yKEJSQU5DSF9DT0xPUl9VUFNUUkVBTSksCi0JCQkJCQlyZWYsIGJyYW5jaF9nZXRfY29sb3IoQlJBTkNIX0NPTE9SX1JFU0VUKSk7Ci0JCQllbHNlCi0JCQkJc3RyYnVmX2FkZGYoc3RhdCwgIlslc10gIiwgcmVmKTsKLQkJfQorCXN3aXRjaCAoc3RhdF90cmFja2luZ19pbmZvKGJyYW5jaCwgJm91cnMsICZ0aGVpcnMpKSB7CisJY2FzZSAwOgorCQkvKiBubyBiYXNlICovCiAJCXJldHVybjsKKwljYXNlIC0xOgorCQkvKiB3aXRoICJnb25lIiBiYXNlICovCisJCXVwc3RyZWFtX2lzX2dvbmUgPSAxOworCQlicmVhazsKKwlkZWZhdWx0OgorCQkvKiB3aXRoIGJhc2UgKi8KKwkJYnJlYWs7CiAJfQogCiAJaWYgKHNob3dfdXBzdHJlYW1fcmVmKSB7CkBAIC00NDgsMTkgKzQ0OSwyOSBAQAogCQkJc3RyYnVmX2FkZHN0cigmZmFuY3ksIHJlZik7CiAJfQogCi0JaWYgKCFvdXJzKSB7Ci0JCWlmIChyZWYpCisJaWYgKHVwc3RyZWFtX2lzX2dvbmUpIHsKKwkJaWYgKHNob3dfdXBzdHJlYW1fcmVmKQorCQkJc3RyYnVmX2FkZGYoc3RhdCwgXygiWyVzOiBnb25lXSIpLCBmYW5jeS5idWYpOworCQllbHNlCisJCQlhZGRlZF9kZWNvcmF0aW9uID0gMDsKKwl9IGVsc2UgaWYgKCFvdXJzICYmICF0aGVpcnMpIHsKKwkJaWYgKHNob3dfdXBzdHJlYW1fcmVmKQorCQkJc3RyYnVmX2FkZGYoc3RhdCwgXygiWyVzXSIpLCBmYW5jeS5idWYpOworCQllbHNlCisJCQlhZGRlZF9kZWNvcmF0aW9uID0gMDsKKwl9IGVsc2UgaWYgKCFvdXJzKSB7CisJCWlmIChzaG93X3Vwc3RyZWFtX3JlZikKIAkJCXN0cmJ1Zl9hZGRmKHN0YXQsIF8oIlslczogYmVoaW5kICVkXSIpLCBmYW5jeS5idWYsIHRoZWlycyk7CiAJCWVsc2UKIAkJCXN0cmJ1Zl9hZGRmKHN0YXQsIF8oIltiZWhpbmQgJWRdIiksIHRoZWlycyk7CiAKIAl9IGVsc2UgaWYgKCF0aGVpcnMpIHsKLQkJaWYgKHJlZikKKwkJaWYgKHNob3dfdXBzdHJlYW1fcmVmKQogCQkJc3RyYnVmX2FkZGYoc3RhdCwgXygiWyVzOiBhaGVhZCAlZF0iKSwgZmFuY3kuYnVmLCBvdXJzKTsKIAkJZWxzZQogCQkJc3RyYnVmX2FkZGYoc3RhdCwgXygiW2FoZWFkICVkXSIpLCBvdXJzKTsKIAl9IGVsc2UgewotCQlpZiAocmVmKQorCQlpZiAoc2hvd191cHN0cmVhbV9yZWYpCiAJCQlzdHJidWZfYWRkZihzdGF0LCBfKCJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIiksCiAJCQkJICAgIGZhbmN5LmJ1Ziwgb3VycywgdGhlaXJzKTsKIAkJZWxzZQpAQCAtNDY4LDcgKzQ3OSw4IEBACiAJCQkJICAgIG91cnMsIHRoZWlycyk7CiAJfQogCXN0cmJ1Zl9yZWxlYXNlKCZmYW5jeSk7Ci0Jc3RyYnVmX2FkZGNoKHN0YXQsICcgJyk7CisJaWYgKGFkZGVkX2RlY29yYXRpb24pCisJCXN0cmJ1Zl9hZGRjaChzdGF0LCAnICcpOwogCWZyZWUocmVmKTsKIH0KIApAQCAtNDkwLDcgKzUwMiw3IEBACiAJY29uc3QgY2hhciAqc3ViID0gXygiICoqKiogaW52YWxpZCByZWYgKioqKiIpOwogCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IGl0ZW0tPmNvbW1pdDsKIAotCWlmIChjb21taXQgJiYgIXBhcnNlX2NvbW1pdChjb21taXQpKSB7CisJaWYgKCFwYXJzZV9jb21taXQoY29tbWl0KSkgewogCQlwcF9jb21taXRfZWFzeShDTUlUX0ZNVF9PTkVMSU5FLCBjb21taXQsICZzdWJqZWN0KTsKIAkJc3ViID0gc3ViamVjdC5idWY7CiAJfQpAQCAtNzk3LDcgKzgwOSw3IEBACiAJCU9QVF9TRVRfSU5UKCAwLCAic2V0LXVwc3RyZWFtIiwgICZ0cmFjaywgTl8oImNoYW5nZSB1cHN0cmVhbSBpbmZvIiksCiAJCQlCUkFOQ0hfVFJBQ0tfT1ZFUlJJREUpLAogCQlPUFRfU1RSSU5HKCd1JywgInNldC11cHN0cmVhbS10byIsICZuZXdfdXBzdHJlYW0sICJ1cHN0cmVhbSIsICJjaGFuZ2UgdGhlIHVwc3RyZWFtIGluZm8iKSwKLQkJT1BUX0JPT0xFQU4oMCwgInVuc2V0LXVwc3RyZWFtIiwgJnVuc2V0X3Vwc3RyZWFtLCAiVW5zZXQgdGhlIHVwc3RyZWFtIGluZm8iKSwKKwkJT1BUX0JPT0woMCwgInVuc2V0LXVwc3RyZWFtIiwgJnVuc2V0X3Vwc3RyZWFtLCAiVW5zZXQgdGhlIHVwc3RyZWFtIGluZm8iKSwKIAkJT1BUX19DT0xPUigmYnJhbmNoX3VzZV9jb2xvciwgTl8oInVzZSBjb2xvcmVkIG91dHB1dCIpKSwKIAkJT1BUX1NFVF9JTlQoJ3InLCAicmVtb3RlcyIsICAgICAma2luZHMsIE5fKCJhY3Qgb24gcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIiksCiAJCQlSRUZfUkVNT1RFX0JSQU5DSCksCkBAIC04MjIsMTAgKzgzNCwxMCBAQAogCQlPUFRfQklUKCdEJywgTlVMTCwgJmRlbGV0ZSwgTl8oImRlbGV0ZSBicmFuY2ggKGV2ZW4gaWYgbm90IG1lcmdlZCkiKSwgMiksCiAJCU9QVF9CSVQoJ20nLCAibW92ZSIsICZyZW5hbWUsIE5fKCJtb3ZlL3JlbmFtZSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIpLCAxKSwKIAkJT1BUX0JJVCgnTScsIE5VTEwsICZyZW5hbWUsIE5fKCJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIiksIDIpLAotCQlPUFRfQk9PTEVBTigwLCAibGlzdCIsICZsaXN0LCBOXygibGlzdCBicmFuY2ggbmFtZXMiKSksCi0JCU9QVF9CT09MRUFOKCdsJywgImNyZWF0ZS1yZWZsb2ciLCAmcmVmbG9nLCBOXygiY3JlYXRlIHRoZSBicmFuY2gncyByZWZsb2ciKSksCi0JCU9QVF9CT09MRUFOKDAsICJlZGl0LWRlc2NyaXB0aW9uIiwgJmVkaXRfZGVzY3JpcHRpb24sCi0JCQkgICAgTl8oImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIikpLAorCQlPUFRfQk9PTCgwLCAibGlzdCIsICZsaXN0LCBOXygibGlzdCBicmFuY2ggbmFtZXMiKSksCisJCU9QVF9CT09MKCdsJywgImNyZWF0ZS1yZWZsb2ciLCAmcmVmbG9nLCBOXygiY3JlYXRlIHRoZSBicmFuY2gncyByZWZsb2ciKSksCisJCU9QVF9CT09MKDAsICJlZGl0LWRlc2NyaXB0aW9uIiwgJmVkaXRfZGVzY3JpcHRpb24sCisJCQkgTl8oImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIikpLAogCQlPUFRfX0ZPUkNFKCZmb3JjZV9jcmVhdGUsIE5fKCJmb3JjZSBjcmVhdGlvbiAod2hlbiBhbHJlYWR5IGV4aXN0cykiKSksCiAJCXsKIAkJCU9QVElPTl9DQUxMQkFDSywgMCwgIm5vLW1lcmdlZCIsICZtZXJnZV9maWx0ZXJfcmVmLApAQCAtODU2LDcgKzg2OCw3IEBACiAJaWYgKCFzdHJjbXAoaGVhZCwgIkhFQUQiKSkgewogCQlkZXRhY2hlZCA9IDE7CiAJfSBlbHNlIHsKLQkJaWYgKHByZWZpeGNtcChoZWFkLCAicmVmcy9oZWFkcy8iKSkKKwkJaWYgKCFzdGFydHNfd2l0aChoZWFkLCAicmVmcy9oZWFkcy8iKSkKIAkJCWRpZShfKCJIRUFEIG5vdCBmb3VuZCBiZWxvdyByZWZzL2hlYWRzISIpKTsKIAkJaGVhZCArPSAxMTsKIAl9CkBAIC04NzIsNyArODg0LDggQEAKIAlpZiAod2l0aF9jb21taXQgfHwgbWVyZ2VfZmlsdGVyICE9IE5PX0ZJTFRFUikKIAkJbGlzdCA9IDE7CiAKLQlpZiAoISFkZWxldGUgKyAhIXJlbmFtZSArICEhZm9yY2VfY3JlYXRlICsgISFsaXN0ICsgISFuZXdfdXBzdHJlYW0gKyAhIXVuc2V0X3Vwc3RyZWFtID4gMSkKKwlpZiAoISFkZWxldGUgKyAhIXJlbmFtZSArICEhZm9yY2VfY3JlYXRlICsgISFuZXdfdXBzdHJlYW0gKworCSAgICBsaXN0ICsgdW5zZXRfdXBzdHJlYW0gPiAxKQogCQl1c2FnZV93aXRoX29wdGlvbnMoYnVpbHRpbl9icmFuY2hfdXNhZ2UsIG9wdGlvbnMpOwogCiAJaWYgKGFiYnJldiA9PSAtMSkKQEAgLTk2OCw5ICs5ODEsOCBAQAogCQkJZGllKF8oIm5vIHN1Y2ggYnJhbmNoICclcyciKSwgYXJndlswXSk7CiAJCX0KIAotCQlpZiAoIWJyYW5jaF9oYXNfbWVyZ2VfY29uZmlnKGJyYW5jaCkpIHsKKwkJaWYgKCFicmFuY2hfaGFzX21lcmdlX2NvbmZpZyhicmFuY2gpKQogCQkJZGllKF8oIkJyYW5jaCAnJXMnIGhhcyBubyB1cHN0cmVhbSBpbmZvcm1hdGlvbiIpLCBicmFuY2gtPm5hbWUpOwotCQl9CiAKIAkJc3RyYnVmX2FkZGYoJmJ1ZiwgImJyYW5jaC4lcy5yZW1vdGUiLCBicmFuY2gtPm5hbWUpOwogCQlnaXRfY29uZmlnX3NldF9tdWx0aXZhcihidWYuYnVmLCBOVUxMLCBOVUxMLCAxKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vY2F0LWZpbGUuYyBiL2J1aWx0aW4vY2F0LWZpbGUuYwppbmRleCA0MjUzNDYwLi5kNWE5M2UwIDEwMDY0NAotLS0gYS9idWlsdGluL2NhdC1maWxlLmMKKysrIGIvYnVpbHRpbi9jYXQtZmlsZS5jCkBAIC00NSw2ICs0NSwxNCBAQAogCWNhc2UgJ2UnOgogCQlyZXR1cm4gIWhhc19zaGExX2ZpbGUoc2hhMSk7CiAKKwljYXNlICdjJzoKKwkJaWYgKCFvYmpfY29udGV4dC5wYXRoWzBdKQorCQkJZGllKCJnaXQgY2F0LWZpbGUgLS10ZXh0Y29udiAlczogPG9iamVjdD4gbXVzdCBiZSA8c2hhMTpwYXRoPiIsCisJCQkgICAgb2JqX25hbWUpOworCisJCWlmICh0ZXh0Y29udl9vYmplY3Qob2JqX2NvbnRleHQucGF0aCwgb2JqX2NvbnRleHQubW9kZSwgc2hhMSwgMSwgJmJ1ZiwgJnNpemUpKQorCQkJYnJlYWs7CisKIAljYXNlICdwJzoKIAkJdHlwZSA9IHNoYTFfb2JqZWN0X2luZm8oc2hhMSwgTlVMTCk7CiAJCWlmICh0eXBlIDwgMCkKQEAgLTY3LDE2ICs3NSw2IEBACiAJCS8qIG90aGVyd2lzZSBqdXN0IHNwaXQgb3V0IHRoZSBkYXRhICovCiAJCWJyZWFrOwogCi0JY2FzZSAnYyc6Ci0JCWlmICghb2JqX2NvbnRleHQucGF0aFswXSkKLQkJCWRpZSgiZ2l0IGNhdC1maWxlIC0tdGV4dGNvbnYgJXM6IDxvYmplY3Q+IG11c3QgYmUgPHNoYTE6cGF0aD4iLAotCQkJICAgIG9ial9uYW1lKTsKLQotCQlpZiAoIXRleHRjb252X29iamVjdChvYmpfY29udGV4dC5wYXRoLCBvYmpfY29udGV4dC5tb2RlLCBzaGExLCAxLCAmYnVmLCAmc2l6ZSkpCi0JCQlkaWUoImdpdCBjYXQtZmlsZSAtLXRleHRjb252OiB1bmFibGUgdG8gcnVuIHRleHRjb252IG9uICVzIiwKLQkJCSAgICBvYmpfbmFtZSk7Ci0JCWJyZWFrOwotCiAJY2FzZSAwOgogCQlpZiAodHlwZV9mcm9tX3N0cmluZyhleHBfdHlwZSkgPT0gT0JKX0JMT0IpIHsKIAkJCXVuc2lnbmVkIGNoYXIgYmxvYl9zaGExWzIwXTsKQEAgLTExOSw2ICsxMTcsOCBAQAogCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKIAl1bnNpZ25lZCBsb25nIHNpemU7CiAJdW5zaWduZWQgbG9uZyBkaXNrX3NpemU7CisJY29uc3QgY2hhciAqcmVzdDsKKwl1bnNpZ25lZCBjaGFyIGRlbHRhX2Jhc2Vfc2hhMVsyMF07CiAKIAkvKgogCSAqIElmIG1hcmtfcXVlcnkgaXMgdHJ1ZSwgd2UgZG8gbm90IGV4cGFuZCBhbnl0aGluZywgYnV0IHJhdGhlcgpAQCAtMTI3LDYgKzEyNywxMyBAQAogCWludCBtYXJrX3F1ZXJ5OwogCiAJLyoKKwkgKiBXaGV0aGVyIHRvIHNwbGl0IHRoZSBpbnB1dCBvbiB3aGl0ZXNwYWNlIGJlZm9yZSBmZWVkaW5nIGl0IHRvCisJICogZ2V0X3NoYTE7IHRoaXMgaXMgZGVjaWRlZCBkdXJpbmcgdGhlIG1hcmtfcXVlcnkgcGhhc2UgYmFzZWQgb24KKwkgKiB3aGV0aGVyIHdlIGhhdmUgYSAlKHJlc3QpIHRva2VuIGluIG91ciBmb3JtYXQuCisJICovCisJaW50IHNwbGl0X29uX3doaXRlc3BhY2U7CisKKwkvKgogCSAqIEFmdGVyIGEgbWFya19xdWVyeSBydW4sIHRoaXMgb2JqZWN0X2luZm8gaXMgc2V0IHVwIHRvIGJlCiAJICogcGFzc2VkIHRvIHNoYTFfb2JqZWN0X2luZm9fZXh0ZW5kZWQuIEl0IHdpbGwgcG9pbnQgdG8gdGhlIGRhdGEKIAkgKiBlbGVtZW50cyBhYm92ZSwgc28geW91IGNhbiByZXRyaWV2ZSB0aGUgcmVzcG9uc2UgZnJvbSB0aGVyZS4KQEAgLTE2Myw2ICsxNzAsMTYgQEAKIAkJCWRhdGEtPmluZm8uZGlza19zaXplcCA9ICZkYXRhLT5kaXNrX3NpemU7CiAJCWVsc2UKIAkJCXN0cmJ1Zl9hZGRmKHNiLCAiJWx1IiwgZGF0YS0+ZGlza19zaXplKTsKKwl9IGVsc2UgaWYgKGlzX2F0b20oInJlc3QiLCBhdG9tLCBsZW4pKSB7CisJCWlmIChkYXRhLT5tYXJrX3F1ZXJ5KQorCQkJZGF0YS0+c3BsaXRfb25fd2hpdGVzcGFjZSA9IDE7CisJCWVsc2UgaWYgKGRhdGEtPnJlc3QpCisJCQlzdHJidWZfYWRkc3RyKHNiLCBkYXRhLT5yZXN0KTsKKwl9IGVsc2UgaWYgKGlzX2F0b20oImRlbHRhYmFzZSIsIGF0b20sIGxlbikpIHsKKwkJaWYgKGRhdGEtPm1hcmtfcXVlcnkpCisJCQlkYXRhLT5pbmZvLmRlbHRhX2Jhc2Vfc2hhMSA9IGRhdGEtPmRlbHRhX2Jhc2Vfc2hhMTsKKwkJZWxzZQorCQkJc3RyYnVmX2FkZHN0cihzYiwgc2hhMV90b19oZXgoZGF0YS0+ZGVsdGFfYmFzZV9zaGExKSk7CiAJfSBlbHNlCiAJCWRpZSgidW5rbm93biBmb3JtYXQgZWxlbWVudDogJS4qcyIsIGxlbiwgYXRvbSk7CiB9CkBAIC0xODIsMjUgKzE5OSwyOCBAQAogCXJldHVybiBlbmQgLSBzdGFydCArIDE7CiB9CiAKLXN0YXRpYyB2b2lkIHByaW50X29iamVjdF9vcl9kaWUoaW50IGZkLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAotCQkJCWVudW0gb2JqZWN0X3R5cGUgdHlwZSwgdW5zaWduZWQgbG9uZyBzaXplKQorc3RhdGljIHZvaWQgcHJpbnRfb2JqZWN0X29yX2RpZShpbnQgZmQsIHN0cnVjdCBleHBhbmRfZGF0YSAqZGF0YSkKIHsKLQlpZiAodHlwZSA9PSBPQkpfQkxPQikgeworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEgPSBkYXRhLT5zaGExOworCisJYXNzZXJ0KGRhdGEtPmluZm8udHlwZXApOworCisJaWYgKGRhdGEtPnR5cGUgPT0gT0JKX0JMT0IpIHsKIAkJaWYgKHN0cmVhbV9ibG9iX3RvX2ZkKGZkLCBzaGExLCBOVUxMLCAwKSA8IDApCiAJCQlkaWUoInVuYWJsZSB0byBzdHJlYW0gJXMgdG8gc3Rkb3V0Iiwgc2hhMV90b19oZXgoc2hhMSkpOwogCX0KIAllbHNlIHsKLQkJZW51bSBvYmplY3RfdHlwZSBydHlwZTsKLQkJdW5zaWduZWQgbG9uZyByc2l6ZTsKKwkJZW51bSBvYmplY3RfdHlwZSB0eXBlOworCQl1bnNpZ25lZCBsb25nIHNpemU7CiAJCXZvaWQgKmNvbnRlbnRzOwogCi0JCWNvbnRlbnRzID0gcmVhZF9zaGExX2ZpbGUoc2hhMSwgJnJ0eXBlLCAmcnNpemUpOworCQljb250ZW50cyA9IHJlYWRfc2hhMV9maWxlKHNoYTEsICZ0eXBlLCAmc2l6ZSk7CiAJCWlmICghY29udGVudHMpCiAJCQlkaWUoIm9iamVjdCAlcyBkaXNhcHBlYXJlZCIsIHNoYTFfdG9faGV4KHNoYTEpKTsKLQkJaWYgKHJ0eXBlICE9IHR5cGUpCisJCWlmICh0eXBlICE9IGRhdGEtPnR5cGUpCiAJCQlkaWUoIm9iamVjdCAlcyBjaGFuZ2VkIHR5cGUhPyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKLQkJaWYgKHJzaXplICE9IHNpemUpCi0JCQlkaWUoIm9iamVjdCAlcyBjaGFuZ2Ugc2l6ZSE/Iiwgc2hhMV90b19oZXgoc2hhMSkpOworCQlpZiAoZGF0YS0+aW5mby5zaXplcCAmJiBzaXplICE9IGRhdGEtPnNpemUpCisJCQlkaWUoIm9iamVjdCAlcyBjaGFuZ2VkIHNpemUhPyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKIAogCQl3cml0ZV9vcl9kaWUoZmQsIGNvbnRlbnRzLCBzaXplKTsKIAkJZnJlZShjb250ZW50cyk7CkBAIC0yMjcsNyArMjQ3LDcgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JaWYgKHNoYTFfb2JqZWN0X2luZm9fZXh0ZW5kZWQoZGF0YS0+c2hhMSwgJmRhdGEtPmluZm8pIDwgMCkgeworCWlmIChzaGExX29iamVjdF9pbmZvX2V4dGVuZGVkKGRhdGEtPnNoYTEsICZkYXRhLT5pbmZvLCBMT09LVVBfUkVQTEFDRV9PQkpFQ1QpIDwgMCkgewogCQlwcmludGYoIiVzIG1pc3NpbmdcbiIsIG9ial9uYW1lKTsKIAkJZmZsdXNoKHN0ZG91dCk7CiAJCXJldHVybiAwOwpAQCAtMjM5LDcgKzI1OSw3IEBACiAJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAKIAlpZiAob3B0LT5wcmludF9jb250ZW50cykgewotCQlwcmludF9vYmplY3Rfb3JfZGllKDEsIGRhdGEtPnNoYTEsIGRhdGEtPnR5cGUsIGRhdGEtPnNpemUpOworCQlwcmludF9vYmplY3Rfb3JfZGllKDEsIGRhdGEpOwogCQl3cml0ZV9vcl9kaWUoMSwgIlxuIiwgMSk7CiAJfQogCXJldHVybiAwOwpAQCAtMjY0LDYgKzI4NCwxMyBAQAogCWRhdGEubWFya19xdWVyeSA9IDA7CiAKIAkvKgorCSAqIElmIHdlIGFyZSBwcmludGluZyBvdXQgdGhlIG9iamVjdCwgdGhlbiBhbHdheXMgZmlsbCBpbiB0aGUgdHlwZSwKKwkgKiBzaW5jZSB3ZSB3aWxsIHdhbnQgdG8gZGVjaWRlIHdoZXRoZXIgb3Igbm90IHRvIHN0cmVhbS4KKwkgKi8KKwlpZiAob3B0LT5wcmludF9jb250ZW50cykKKwkJZGF0YS5pbmZvLnR5cGVwID0gJmRhdGEudHlwZTsKKworCS8qCiAJICogV2UgYXJlIGdvaW5nIHRvIGNhbGwgZ2V0X3NoYTEgb24gYSBwb3RlbnRpYWxseSB2ZXJ5IGxhcmdlIG51bWJlciBvZgogCSAqIG9iamVjdHMuIEluIG1vc3QgbGFyZ2UgY2FzZXMsIHRoZXNlIHdpbGwgYmUgYWN0dWFsIG9iamVjdCBzaGExcy4gVGhlCiAJICogY29zdCB0byBkb3VibGUtY2hlY2sgdGhhdCBlYWNoIG9uZSBpcyBub3QgYWxzbyBhIHJlZiAoanVzdCBzbyB3ZSBjYW4KQEAgLTI3Myw3ICszMDAsMjMgQEAKIAl3YXJuX29uX29iamVjdF9yZWZuYW1lX2FtYmlndWl0eSA9IDA7CiAKIAl3aGlsZSAoc3RyYnVmX2dldGxpbmUoJmJ1Ziwgc3RkaW4sICdcbicpICE9IEVPRikgewotCQlpbnQgZXJyb3IgPSBiYXRjaF9vbmVfb2JqZWN0KGJ1Zi5idWYsIG9wdCwgJmRhdGEpOworCQlpbnQgZXJyb3I7CisKKwkJaWYgKGRhdGEuc3BsaXRfb25fd2hpdGVzcGFjZSkgeworCQkJLyoKKwkJCSAqIFNwbGl0IGF0IGZpcnN0IHdoaXRlc3BhY2UsIHR5aW5nIG9mZiB0aGUgYmVnaW5uaW5nCisJCQkgKiBvZiB0aGUgc3RyaW5nIGFuZCBzYXZpbmcgdGhlIHJlbWFpbmRlciAob3IgTlVMTCkgaW4KKwkJCSAqIGRhdGEucmVzdC4KKwkJCSAqLworCQkJY2hhciAqcCA9IHN0cnBicmsoYnVmLmJ1ZiwgIiBcdCIpOworCQkJaWYgKHApIHsKKwkJCQl3aGlsZSAoKnAgJiYgc3RyY2hyKCIgXHQiLCAqcCkpCisJCQkJCSpwKysgPSAnXDAnOworCQkJfQorCQkJZGF0YS5yZXN0ID0gcDsKKwkJfQorCisJCWVycm9yID0gYmF0Y2hfb25lX29iamVjdChidWYuYnVmLCBvcHQsICZkYXRhKTsKIAkJaWYgKGVycm9yKQogCQkJcmV0dXJuIGVycm9yOwogCX0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vY2hlY2stYXR0ci5jIGIvYnVpbHRpbi9jaGVjay1hdHRyLmMKaW5kZXggMDc1ZDAxZC4uZTlhZjdiMiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jaGVjay1hdHRyLmMKKysrIGIvYnVpbHRpbi9jaGVjay1hdHRyLmMKQEAgLTEzLDE0ICsxMywxNCBAQAogTlVMTAogfTsKIAotc3RhdGljIGludCBudWxsX3Rlcm1fbGluZTsKK3N0YXRpYyBpbnQgbnVsX3Rlcm1fbGluZTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gY2hlY2tfYXR0cl9vcHRpb25zW10gPSB7Ci0JT1BUX0JPT0xFQU4oJ2EnLCAiYWxsIiwgJmFsbF9hdHRycywgTl8oInJlcG9ydCBhbGwgYXR0cmlidXRlcyBzZXQgb24gZmlsZSIpKSwKLQlPUFRfQk9PTEVBTigwLCAgImNhY2hlZCIsICZjYWNoZWRfYXR0cnMsIE5fKCJ1c2UgLmdpdGF0dHJpYnV0ZXMgb25seSBmcm9tIHRoZSBpbmRleCIpKSwKLQlPUFRfQk9PTEVBTigwICwgInN0ZGluIiwgJnN0ZGluX3BhdGhzLCBOXygicmVhZCBmaWxlIG5hbWVzIGZyb20gc3RkaW4iKSksCi0JT1BUX0JPT0xFQU4oJ3onLCBOVUxMLCAmbnVsbF90ZXJtX2xpbmUsCi0JCU5fKCJpbnB1dCBwYXRocyBhcmUgdGVybWluYXRlZCBieSBhIG51bGwgY2hhcmFjdGVyIikpLAorCU9QVF9CT09MKCdhJywgImFsbCIsICZhbGxfYXR0cnMsIE5fKCJyZXBvcnQgYWxsIGF0dHJpYnV0ZXMgc2V0IG9uIGZpbGUiKSksCisJT1BUX0JPT0woMCwgICJjYWNoZWQiLCAmY2FjaGVkX2F0dHJzLCBOXygidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiKSksCisJT1BUX0JPT0woMCAsICJzdGRpbiIsICZzdGRpbl9wYXRocywgTl8oInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIikpLAorCU9QVF9CT09MKCd6JywgTlVMTCwgJm51bF90ZXJtX2xpbmUsCisJCSBOXygidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiKSksCiAJT1BUX0VORCgpCiB9OwogCkBAIC0zOCw4ICszOCwxNiBAQAogCQllbHNlIGlmIChBVFRSX1VOU0VUKHZhbHVlKSkKIAkJCXZhbHVlID0gInVuc3BlY2lmaWVkIjsKIAotCQlxdW90ZV9jX3N0eWxlKGZpbGUsIE5VTEwsIHN0ZG91dCwgMCk7Ci0JCXByaW50ZigiOiAlczogJXNcbiIsIGdpdF9hdHRyX25hbWUoY2hlY2tbal0uYXR0ciksIHZhbHVlKTsKKwkJaWYgKG51bF90ZXJtX2xpbmUpIHsKKwkJCXByaW50ZigiJXMlYyIgLyogcGF0aCAqLworCQkJICAgICAgICIlcyVjIiAvKiBhdHRybmFtZSAqLworCQkJICAgICAgICIlcyVjIiAvKiBhdHRydmFsdWUgKi8sCisJCQkgICAgICAgZmlsZSwgMCwgZ2l0X2F0dHJfbmFtZShjaGVja1tqXS5hdHRyKSwgMCwgdmFsdWUsIDApOworCQl9IGVsc2UgeworCQkJcXVvdGVfY19zdHlsZShmaWxlLCBOVUxMLCBzdGRvdXQsIDApOworCQkJcHJpbnRmKCI6ICVzOiAlc1xuIiwgZ2l0X2F0dHJfbmFtZShjaGVja1tqXS5hdHRyKSwgdmFsdWUpOworCQl9CisKIAl9CiB9CiAKQEAgLTY1LDcgKzczLDcgQEAKIAlzdHJ1Y3QgZ2l0X2F0dHJfY2hlY2sgKmNoZWNrKQogewogCXN0cnVjdCBzdHJidWYgYnVmLCBuYnVmOwotCWludCBsaW5lX3Rlcm1pbmF0aW9uID0gbnVsbF90ZXJtX2xpbmUgPyAwIDogJ1xuJzsKKwlpbnQgbGluZV90ZXJtaW5hdGlvbiA9IG51bF90ZXJtX2xpbmUgPyAwIDogJ1xuJzsKIAogCXN0cmJ1Zl9pbml0KCZidWYsIDApOwogCXN0cmJ1Zl9pbml0KCZuYnVmLCAwKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vY2hlY2staWdub3JlLmMgYi9idWlsdGluL2NoZWNrLWlnbm9yZS5jCmluZGV4IDRhOGZjNzAuLjU5NDQ2M2EgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY2hlY2staWdub3JlLmMKKysrIGIvYnVpbHRpbi9jaGVjay1pZ25vcmUuYwpAQCAtNSwyNSArNSwyNyBAQAogI2luY2x1ZGUgInBhdGhzcGVjLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogCi1zdGF0aWMgaW50IHF1aWV0LCB2ZXJib3NlLCBzdGRpbl9wYXRocywgc2hvd19ub25fbWF0Y2hpbmc7CitzdGF0aWMgaW50IHF1aWV0LCB2ZXJib3NlLCBzdGRpbl9wYXRocywgc2hvd19ub25fbWF0Y2hpbmcsIG5vX2luZGV4Owogc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBjaGVja19pZ25vcmVfdXNhZ2VbXSA9IHsKICJnaXQgY2hlY2staWdub3JlIFtvcHRpb25zXSBwYXRobmFtZS4uLiIsCiAiZ2l0IGNoZWNrLWlnbm9yZSBbb3B0aW9uc10gLS1zdGRpbiA8IDxsaXN0LW9mLXBhdGhzPiIsCiBOVUxMCiB9OwogCi1zdGF0aWMgaW50IG51bGxfdGVybV9saW5lOworc3RhdGljIGludCBudWxfdGVybV9saW5lOwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBjaGVja19pZ25vcmVfb3B0aW9uc1tdID0gewogCU9QVF9fUVVJRVQoJnF1aWV0LCBOXygic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIikpLAogCU9QVF9fVkVSQk9TRSgmdmVyYm9zZSwgTl8oImJlIHZlcmJvc2UiKSksCiAJT1BUX0dST1VQKCIiKSwKLQlPUFRfQk9PTEVBTigwLCAic3RkaW4iLCAmc3RkaW5fcGF0aHMsCi0JCSAgICBOXygicmVhZCBmaWxlIG5hbWVzIGZyb20gc3RkaW4iKSksCi0JT1BUX0JPT0xFQU4oJ3onLCBOVUxMLCAmbnVsbF90ZXJtX2xpbmUsCi0JCSAgICBOXygiaW5wdXQgcGF0aHMgYXJlIHRlcm1pbmF0ZWQgYnkgYSBudWxsIGNoYXJhY3RlciIpKSwKLQlPUFRfQk9PTEVBTignbicsICJub24tbWF0Y2hpbmciLCAmc2hvd19ub25fbWF0Y2hpbmcsCi0JCSAgICBOXygic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiKSksCisJT1BUX0JPT0woMCwgInN0ZGluIiwgJnN0ZGluX3BhdGhzLAorCQkgTl8oInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIikpLAorCU9QVF9CT09MKCd6JywgTlVMTCwgJm51bF90ZXJtX2xpbmUsCisJCSBOXygidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiKSksCisJT1BUX0JPT0woJ24nLCAibm9uLW1hdGNoaW5nIiwgJnNob3dfbm9uX21hdGNoaW5nLAorCQkgTl8oInNob3cgbm9uLW1hdGNoaW5nIGlucHV0IHBhdGhzIikpLAorCU9QVF9CT09MKDAsICJuby1pbmRleCIsICZub19pbmRleCwKKwkJIE5fKCJpZ25vcmUgaW5kZXggd2hlbiBjaGVja2luZyIpKSwKIAlPUFRfRU5EKCkKIH07CiAKQEAgLTMxLDcgKzMzLDcgQEAKIHsKIAljaGFyICpiYW5nICA9IChleGNsdWRlICYmIGV4Y2x1ZGUtPmZsYWdzICYgRVhDX0ZMQUdfTkVHQVRJVkUpICA/ICIhIiA6ICIiOwogCWNoYXIgKnNsYXNoID0gKGV4Y2x1ZGUgJiYgZXhjbHVkZS0+ZmxhZ3MgJiBFWENfRkxBR19NVVNUQkVESVIpID8gIi8iIDogIiI7Ci0JaWYgKCFudWxsX3Rlcm1fbGluZSkgeworCWlmICghbnVsX3Rlcm1fbGluZSkgewogCQlpZiAoIXZlcmJvc2UpIHsKIAkJCXdyaXRlX25hbWVfcXVvdGVkKHBhdGgsIHN0ZG91dCwgJ1xuJyk7CiAJCX0gZWxzZSB7CkBAIC02NCwzNyArNjYsNDUgQEAKIH0KIAogc3RhdGljIGludCBjaGVja19pZ25vcmUoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKLQkJCWNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqKnBhdGhzcGVjKQorCQkJY29uc3QgY2hhciAqcHJlZml4LCBpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCiB7Ci0JY29uc3QgY2hhciAqcGF0aCwgKmZ1bGxfcGF0aDsKKwljb25zdCBjaGFyICpmdWxsX3BhdGg7CiAJY2hhciAqc2VlbjsKIAlpbnQgbnVtX2lnbm9yZWQgPSAwLCBkdHlwZSA9IERUX1VOS05PV04sIGk7CiAJc3RydWN0IGV4Y2x1ZGUgKmV4Y2x1ZGU7CisJc3RydWN0IHBhdGhzcGVjIHBhdGhzcGVjOwogCi0JaWYgKCFwYXRoc3BlYyB8fCAhKnBhdGhzcGVjKSB7CisJaWYgKCFhcmdjKSB7CiAJCWlmICghcXVpZXQpCiAJCQlmcHJpbnRmKHN0ZGVyciwgIm5vIHBhdGhzcGVjIGdpdmVuLlxuIik7CiAJCXJldHVybiAwOwogCX0KIAogCS8qCisJICogY2hlY2staWdub3JlIGp1c3QgbmVlZHMgcGF0aHMuIE1hZ2ljIGJleW9uZCA6LyBpcyByZWFsbHkKKwkgKiBpcnJlbGV2YW50LgorCSAqLworCXBhcnNlX3BhdGhzcGVjKCZwYXRoc3BlYywKKwkJICAgICAgIFBBVEhTUEVDX0FMTF9NQUdJQyAmIH5QQVRIU1BFQ19GUk9NVE9QLAorCQkgICAgICAgUEFUSFNQRUNfU1lNTElOS19MRUFESU5HX1BBVEggfAorCQkgICAgICAgUEFUSFNQRUNfU1RSSVBfU1VCTU9EVUxFX1NMQVNIX0VYUEVOU0lWRSB8CisJCSAgICAgICBQQVRIU1BFQ19LRUVQX09SREVSLAorCQkgICAgICAgcHJlZml4LCBhcmd2KTsKKworCS8qCiAJICogbG9vayBmb3IgcGF0aHNwZWNzIG1hdGNoaW5nIGVudHJpZXMgaW4gdGhlIGluZGV4LCBzaW5jZSB0aGVzZQogCSAqIHNob3VsZCBub3QgYmUgaWdub3JlZCwgaW4gb3JkZXIgdG8gYmUgY29uc2lzdGVudCB3aXRoCiAJICogJ2dpdCBzdGF0dXMnLCAnZ2l0IGFkZCcgZXRjLgogCSAqLwotCXNlZW4gPSBmaW5kX3BhdGhzcGVjc19tYXRjaGluZ19hZ2FpbnN0X2luZGV4KHBhdGhzcGVjKTsKLQlmb3IgKGkgPSAwOyBwYXRoc3BlY1tpXTsgaSsrKSB7Ci0JCXBhdGggPSBwYXRoc3BlY1tpXTsKLQkJZnVsbF9wYXRoID0gcHJlZml4X3BhdGgocHJlZml4LCBwcmVmaXgKLQkJCQkJPyBzdHJsZW4ocHJlZml4KSA6IDAsIHBhdGgpOwotCQlmdWxsX3BhdGggPSBjaGVja19wYXRoX2Zvcl9naXRsaW5rKGZ1bGxfcGF0aCk7Ci0JCWRpZV9pZl9wYXRoX2JleW9uZF9zeW1saW5rKGZ1bGxfcGF0aCwgcHJlZml4KTsKKwlzZWVuID0gZmluZF9wYXRoc3BlY3NfbWF0Y2hpbmdfYWdhaW5zdF9pbmRleCgmcGF0aHNwZWMpOworCWZvciAoaSA9IDA7IGkgPCBwYXRoc3BlYy5ucjsgaSsrKSB7CisJCWZ1bGxfcGF0aCA9IHBhdGhzcGVjLml0ZW1zW2ldLm1hdGNoOwogCQlleGNsdWRlID0gTlVMTDsKIAkJaWYgKCFzZWVuW2ldKSB7CiAJCQlleGNsdWRlID0gbGFzdF9leGNsdWRlX21hdGNoaW5nKGRpciwgZnVsbF9wYXRoLCAmZHR5cGUpOwogCQl9CiAJCWlmICghcXVpZXQgJiYgKGV4Y2x1ZGUgfHwgc2hvd19ub25fbWF0Y2hpbmcpKQotCQkJb3V0cHV0X2V4Y2x1ZGUocGF0aCwgZXhjbHVkZSk7CisJCQlvdXRwdXRfZXhjbHVkZShwYXRoc3BlYy5pdGVtc1tpXS5vcmlnaW5hbCwgZXhjbHVkZSk7CiAJCWlmIChleGNsdWRlKQogCQkJbnVtX2lnbm9yZWQrKzsKIAl9CkBAIC0xMDcsNyArMTE3LDcgQEAKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiwgbmJ1ZjsKIAljaGFyICpwYXRoc3BlY1syXSA9IHsgTlVMTCwgTlVMTCB9OwotCWludCBsaW5lX3Rlcm1pbmF0aW9uID0gbnVsbF90ZXJtX2xpbmUgPyAwIDogJ1xuJzsKKwlpbnQgbGluZV90ZXJtaW5hdGlvbiA9IG51bF90ZXJtX2xpbmUgPyAwIDogJ1xuJzsKIAlpbnQgbnVtX2lnbm9yZWQgPSAwOwogCiAJc3RyYnVmX2luaXQoJmJ1ZiwgMCk7CkBAIC0xMjAsNyArMTMwLDggQEAKIAkJCXN0cmJ1Zl9zd2FwKCZidWYsICZuYnVmKTsKIAkJfQogCQlwYXRoc3BlY1swXSA9IGJ1Zi5idWY7Ci0JCW51bV9pZ25vcmVkICs9IGNoZWNrX2lnbm9yZShkaXIsIHByZWZpeCwgKGNvbnN0IGNoYXIgKiopcGF0aHNwZWMpOworCQludW1faWdub3JlZCArPSBjaGVja19pZ25vcmUoZGlyLCBwcmVmaXgsCisJCQkJCSAgICAxLCAoY29uc3QgY2hhciAqKilwYXRoc3BlYyk7CiAJCW1heWJlX2ZsdXNoX29yX2RpZShzdGRvdXQsICJjaGVjay1pZ25vcmUgdG8gc3Rkb3V0Iik7CiAJfQogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwpAQCAtMTQyLDcgKzE1Myw3IEBACiAJCWlmIChhcmdjID4gMCkKIAkJCWRpZShfKCJjYW5ub3Qgc3BlY2lmeSBwYXRobmFtZXMgd2l0aCAtLXN0ZGluIikpOwogCX0gZWxzZSB7Ci0JCWlmIChudWxsX3Rlcm1fbGluZSkKKwkJaWYgKG51bF90ZXJtX2xpbmUpCiAJCQlkaWUoXygiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iKSk7CiAJCWlmIChhcmdjID09IDApCiAJCQlkaWUoXygibm8gcGF0aCBzcGVjaWZpZWQiKSk7CkBAIC0xNTcsNyArMTY4LDcgQEAKIAkJZGllKF8oIi0tbm9uLW1hdGNoaW5nIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXZlcmJvc2UiKSk7CiAKIAkvKiByZWFkX2NhY2hlKCkgaXMgb25seSBuZWNlc3Nhcnkgc28gd2UgY2FuIHdhdGNoIG91dCBmb3Igc3VibW9kdWxlcy4gKi8KLQlpZiAocmVhZF9jYWNoZSgpIDwgMCkKKwlpZiAoIW5vX2luZGV4ICYmIHJlYWRfY2FjaGUoKSA8IDApCiAJCWRpZShfKCJpbmRleCBmaWxlIGNvcnJ1cHQiKSk7CiAKIAltZW1zZXQoJmRpciwgMCwgc2l6ZW9mKGRpcikpOwpAQCAtMTY2LDcgKzE3Nyw3IEBACiAJaWYgKHN0ZGluX3BhdGhzKSB7CiAJCW51bV9pZ25vcmVkID0gY2hlY2tfaWdub3JlX3N0ZGluX3BhdGhzKCZkaXIsIHByZWZpeCk7CiAJfSBlbHNlIHsKLQkJbnVtX2lnbm9yZWQgPSBjaGVja19pZ25vcmUoJmRpciwgcHJlZml4LCBhcmd2KTsKKwkJbnVtX2lnbm9yZWQgPSBjaGVja19pZ25vcmUoJmRpciwgcHJlZml4LCBhcmdjLCBhcmd2KTsKIAkJbWF5YmVfZmx1c2hfb3JfZGllKHN0ZG91dCwgImlnbm9yZSB0byBzdGRvdXQiKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vY2hlY2tvdXQtaW5kZXguYyBiL2J1aWx0aW4vY2hlY2tvdXQtaW5kZXguYwppbmRleCBiMWZlZGE3Li42MWU3NWViIDEwMDY0NAotLS0gYS9idWlsdGluL2NoZWNrb3V0LWluZGV4LmMKKysrIGIvYnVpbHRpbi9jaGVja291dC1pbmRleC5jCkBAIC0xNCw3ICsxNCw3IEBACiBzdGF0aWMgaW50IGxpbmVfdGVybWluYXRpb24gPSAnXG4nOwogc3RhdGljIGludCBjaGVja291dF9zdGFnZTsgLyogZGVmYXVsdCB0byBjaGVja291dCBzdGFnZTAgKi8KIHN0YXRpYyBpbnQgdG9fdGVtcGZpbGU7Ci1zdGF0aWMgY2hhciB0b3BhdGhbNF1bUEFUSF9NQVggKyAxXTsKK3N0YXRpYyBjaGFyIHRvcGF0aFs0XVtURU1QT1JBUllfRklMRU5BTUVfTEVOR1RIICsgMV07CiAKIHN0YXRpYyBzdHJ1Y3QgY2hlY2tvdXQgc3RhdGU7CiAKQEAgLTE4MywxMiArMTgzLDEyIEBACiAJaW50IHByZWZpeF9sZW5ndGg7CiAJaW50IGZvcmNlID0gMCwgcXVpZXQgPSAwLCBub3RfbmV3ID0gMDsKIAlzdHJ1Y3Qgb3B0aW9uIGJ1aWx0aW5fY2hlY2tvdXRfaW5kZXhfb3B0aW9uc1tdID0gewotCQlPUFRfQk9PTEVBTignYScsICJhbGwiLCAmYWxsLAorCQlPUFRfQk9PTCgnYScsICJhbGwiLCAmYWxsLAogCQkJTl8oImNoZWNrIG91dCBhbGwgZmlsZXMgaW4gdGhlIGluZGV4IikpLAogCQlPUFRfX0ZPUkNFKCZmb3JjZSwgTl8oImZvcmNlIG92ZXJ3cml0ZSBvZiBleGlzdGluZyBmaWxlcyIpKSwKIAkJT1BUX19RVUlFVCgmcXVpZXQsCiAJCQlOXygibm8gd2FybmluZyBmb3IgZXhpc3RpbmcgZmlsZXMgYW5kIGZpbGVzIG5vdCBpbiBpbmRleCIpKSwKLQkJT1BUX0JPT0xFQU4oJ24nLCAibm8tY3JlYXRlIiwgJm5vdF9uZXcsCisJCU9QVF9CT09MKCduJywgIm5vLWNyZWF0ZSIsICZub3RfbmV3LAogCQkJTl8oImRvbid0IGNoZWNrb3V0IG5ldyBmaWxlcyIpKSwKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssICd1JywgImluZGV4IiwgJm5ld2ZkLCBOVUxMLAogCQkJTl8oInVwZGF0ZSBzdGF0IGluZm9ybWF0aW9uIGluIHRoZSBpbmRleCBmaWxlIiksCkBAIC0xOTYsOSArMTk2LDkgQEAKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssICd6JywgTlVMTCwgTlVMTCwgTlVMTCwKIAkJCU5fKCJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIpLAogCQkJUEFSU0VfT1BUX05PQVJHLCBvcHRpb25fcGFyc2VfeiB9LAotCQlPUFRfQk9PTEVBTigwLCAic3RkaW4iLCAmcmVhZF9mcm9tX3N0ZGluLAorCQlPUFRfQk9PTCgwLCAic3RkaW4iLCAmcmVhZF9mcm9tX3N0ZGluLAogCQkJTl8oInJlYWQgbGlzdCBvZiBwYXRocyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgInRlbXAiLCAmdG9fdGVtcGZpbGUsCisJCU9QVF9CT09MKDAsICJ0ZW1wIiwgJnRvX3RlbXBmaWxlLAogCQkJTl8oIndyaXRlIHRoZSBjb250ZW50IHRvIHRlbXBvcmFyeSBmaWxlcyIpKSwKIAkJT1BUX0NBTExCQUNLKDAsICJwcmVmaXgiLCBOVUxMLCBOXygic3RyaW5nIiksCiAJCQlOXygid2hlbiBjcmVhdGluZyBmaWxlcywgcHJlcGVuZCA8c3RyaW5nPiIpLApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jaGVja291dC5jIGIvYnVpbHRpbi9jaGVja291dC5jCmluZGV4IDIyY2M3ZmMuLjVkZjM4MzcgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY2hlY2tvdXQuYworKysgYi9idWlsdGluL2NoZWNrb3V0LmMKQEAgLTQ2LDcgKzQ2LDcgQEAKIAogCWludCBicmFuY2hfZXhpc3RzOwogCWNvbnN0IGNoYXIgKnByZWZpeDsKLQljb25zdCBjaGFyICoqcGF0aHNwZWM7CisJc3RydWN0IHBhdGhzcGVjIHBhdGhzcGVjOwogCXN0cnVjdCB0cmVlICpzb3VyY2VfdHJlZTsKIH07CiAKQEAgLTgzLDEyICs4Myw5IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcmVhZF90cmVlX3NvbWUoc3RydWN0IHRyZWUgKnRyZWUsIGNvbnN0IGNoYXIgKipwYXRoc3BlYykKK3N0YXRpYyBpbnQgcmVhZF90cmVlX3NvbWUoc3RydWN0IHRyZWUgKnRyZWUsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCiB7Ci0Jc3RydWN0IHBhdGhzcGVjIHBzOwotCWluaXRfcGF0aHNwZWMoJnBzLCBwYXRoc3BlYyk7Ci0JcmVhZF90cmVlX3JlY3Vyc2l2ZSh0cmVlLCAiIiwgMCwgMCwgJnBzLCB1cGRhdGVfc29tZSwgTlVMTCk7Ci0JZnJlZV9wYXRoc3BlYygmcHMpOworCXJlYWRfdHJlZV9yZWN1cnNpdmUodHJlZSwgIiIsIDAsIDAsIHBhdGhzcGVjLCB1cGRhdGVfc29tZSwgTlVMTCk7CiAKIAkvKiB1cGRhdGUgdGhlIGluZGV4IHdpdGggdGhlIGdpdmVuIHRyZWUncyBpbmZvCiAJICogZm9yIGFsbCBhcmdzLCBleHBhbmRpbmcgd2lsZGNhcmRzLCBhbmQgZXhpdApAQCAtMjI4LDggKzIyNSw2IEBACiAJaW50IGZsYWc7CiAJc3RydWN0IGNvbW1pdCAqaGVhZDsKIAlpbnQgZXJycyA9IDA7Ci0JaW50IHN0YWdlID0gb3B0cy0+d3JpdGVvdXRfc3RhZ2U7Ci0JaW50IG1lcmdlID0gb3B0cy0+bWVyZ2U7CiAJaW50IG5ld2ZkOwogCXN0cnVjdCBsb2NrX2ZpbGUgKmxvY2tfZmlsZTsKIApAQCAtMjU3LDIwICsyNTIsMTggQEAKIAogCWlmIChvcHRzLT5wYXRjaF9tb2RlKQogCQlyZXR1cm4gcnVuX2FkZF9pbnRlcmFjdGl2ZShyZXZpc2lvbiwgIi0tcGF0Y2g9Y2hlY2tvdXQiLAotCQkJCQkgICBvcHRzLT5wYXRoc3BlYyk7CisJCQkJCSAgICZvcHRzLT5wYXRoc3BlYyk7CiAKIAlsb2NrX2ZpbGUgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbG9ja19maWxlKSk7CiAKIAluZXdmZCA9IGhvbGRfbG9ja2VkX2luZGV4KGxvY2tfZmlsZSwgMSk7Ci0JaWYgKHJlYWRfY2FjaGVfcHJlbG9hZChvcHRzLT5wYXRoc3BlYykgPCAwKQorCWlmIChyZWFkX2NhY2hlX3ByZWxvYWQoJm9wdHMtPnBhdGhzcGVjKSA8IDApCiAJCXJldHVybiBlcnJvcihfKCJjb3JydXB0IGluZGV4IGZpbGUiKSk7CiAKIAlpZiAob3B0cy0+c291cmNlX3RyZWUpCi0JCXJlYWRfdHJlZV9zb21lKG9wdHMtPnNvdXJjZV90cmVlLCBvcHRzLT5wYXRoc3BlYyk7CisJCXJlYWRfdHJlZV9zb21lKG9wdHMtPnNvdXJjZV90cmVlLCAmb3B0cy0+cGF0aHNwZWMpOwogCi0JZm9yIChwb3MgPSAwOyBvcHRzLT5wYXRoc3BlY1twb3NdOyBwb3MrKykKLQkJOwotCXBzX21hdGNoZWQgPSB4Y2FsbG9jKDEsIHBvcyk7CisJcHNfbWF0Y2hlZCA9IHhjYWxsb2MoMSwgb3B0cy0+cGF0aHNwZWMubnIpOwogCiAJLyoKIAkgKiBNYWtlIHN1cmUgYWxsIHBhdGhzcGVjcyBwYXJ0aWNpcGF0ZWQgaW4gbG9jYXRpbmcgdGhlIHBhdGhzCkBAIC0zMDQsMTIgKzI5NywxMiBAQAogCQkgKiBtYXRjaF9wYXRoc3BlYygpIGZvciBfYWxsXyBlbnRyaWVzIHdoZW4KIAkJICogb3B0cy0+c291cmNlX3RyZWUgIT0gTlVMTC4KIAkJICovCi0JCWlmIChtYXRjaF9wYXRoc3BlYyhvcHRzLT5wYXRoc3BlYywgY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpLAorCQlpZiAobWF0Y2hfcGF0aHNwZWNfZGVwdGgoJm9wdHMtPnBhdGhzcGVjLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSksCiAJCQkJICAgMCwgcHNfbWF0Y2hlZCkpCiAJCQljZS0+Y2VfZmxhZ3MgfD0gQ0VfTUFUQ0hFRDsKIAl9CiAKLQlpZiAocmVwb3J0X3BhdGhfZXJyb3IocHNfbWF0Y2hlZCwgb3B0cy0+cGF0aHNwZWMsIG9wdHMtPnByZWZpeCkpIHsKKwlpZiAocmVwb3J0X3BhdGhfZXJyb3IocHNfbWF0Y2hlZCwgJm9wdHMtPnBhdGhzcGVjLCBvcHRzLT5wcmVmaXgpKSB7CiAJCWZyZWUocHNfbWF0Y2hlZCk7CiAJCXJldHVybiAxOwogCX0KQEAgLTMyNyw4ICszMjAsOCBAQAogCQkJCWNvbnRpbnVlOwogCQkJaWYgKG9wdHMtPmZvcmNlKSB7CiAJCQkJd2FybmluZyhfKCJwYXRoICclcycgaXMgdW5tZXJnZWQiKSwgY2UtPm5hbWUpOwotCQkJfSBlbHNlIGlmIChzdGFnZSkgewotCQkJCWVycnMgfD0gY2hlY2tfc3RhZ2Uoc3RhZ2UsIGNlLCBwb3MpOworCQkJfSBlbHNlIGlmIChvcHRzLT53cml0ZW91dF9zdGFnZSkgeworCQkJCWVycnMgfD0gY2hlY2tfc3RhZ2Uob3B0cy0+d3JpdGVvdXRfc3RhZ2UsIGNlLCBwb3MpOwogCQkJfSBlbHNlIGlmIChvcHRzLT5tZXJnZSkgewogCQkJCWVycnMgfD0gY2hlY2tfc3RhZ2VzKCgxPDwyKSB8ICgxPDwzKSwgY2UsIHBvcyk7CiAJCQl9IGVsc2UgewpAQCAtMzUyLDkgKzM0NSw5IEBACiAJCQkJZXJycyB8PSBjaGVja291dF9lbnRyeShjZSwgJnN0YXRlLCBOVUxMKTsKIAkJCQljb250aW51ZTsKIAkJCX0KLQkJCWlmIChzdGFnZSkKLQkJCQllcnJzIHw9IGNoZWNrb3V0X3N0YWdlKHN0YWdlLCBjZSwgcG9zLCAmc3RhdGUpOwotCQkJZWxzZSBpZiAobWVyZ2UpCisJCQlpZiAob3B0cy0+d3JpdGVvdXRfc3RhZ2UpCisJCQkJZXJycyB8PSBjaGVja291dF9zdGFnZShvcHRzLT53cml0ZW91dF9zdGFnZSwgY2UsIHBvcywgJnN0YXRlKTsKKwkJCWVsc2UgaWYgKG9wdHMtPm1lcmdlKQogCQkJCWVycnMgfD0gY2hlY2tvdXRfbWVyZ2VkKHBvcywgJnN0YXRlKTsKIAkJCXBvcyA9IHNraXBfc2FtZV9uYW1lKGNlLCBwb3MpIC0gMTsKIAkJfQpAQCAtMzg3LDggKzM4MCw4IEBACiBzdGF0aWMgdm9pZCBkZXNjcmliZV9kZXRhY2hlZF9oZWFkKGNvbnN0IGNoYXIgKm1zZywgc3RydWN0IGNvbW1pdCAqY29tbWl0KQogewogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKLQlwYXJzZV9jb21taXQoY29tbWl0KTsKLQlwcF9jb21taXRfZWFzeShDTUlUX0ZNVF9PTkVMSU5FLCBjb21taXQsICZzYik7CisJaWYgKCFwYXJzZV9jb21taXQoY29tbWl0KSkKKwkJcHBfY29tbWl0X2Vhc3koQ01JVF9GTVRfT05FTElORSwgY29tbWl0LCAmc2IpOwogCWZwcmludGYoc3RkZXJyLCAiJXMgJXMuLi4gJXNcbiIsIG1zZywKIAkJZmluZF91bmlxdWVfYWJicmV2KGNvbW1pdC0+b2JqZWN0LnNoYTEsIERFRkFVTFRfQUJCUkVWKSwgc2IuYnVmKTsKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwpAQCAtNjg0LDEyICs2NzcsMTIgQEAKIAogc3RhdGljIHZvaWQgZGVzY3JpYmVfb25lX29ycGhhbihzdHJ1Y3Qgc3RyYnVmICpzYiwgc3RydWN0IGNvbW1pdCAqY29tbWl0KQogewotCXBhcnNlX2NvbW1pdChjb21taXQpOwogCXN0cmJ1Zl9hZGRzdHIoc2IsICIgICIpOwogCXN0cmJ1Zl9hZGRzdHIoc2IsCiAJCWZpbmRfdW5pcXVlX2FiYnJldihjb21taXQtPm9iamVjdC5zaGExLCBERUZBVUxUX0FCQlJFVikpOwogCXN0cmJ1Zl9hZGRjaChzYiwgJyAnKTsKLQlwcF9jb21taXRfZWFzeShDTUlUX0ZNVF9PTkVMSU5FLCBjb21taXQsIHNiKTsKKwlpZiAoIXBhcnNlX2NvbW1pdChjb21taXQpKQorCQlwcF9jb21taXRfZWFzeShDTUlUX0ZNVF9PTkVMSU5FLCBjb21taXQsIHNiKTsKIAlzdHJidWZfYWRkY2goc2IsICdcbicpOwogfQogCkBAIC03ODgsNyArNzgxLDcgQEAKIAlpZiAoIShmbGFnICYgUkVGX0lTU1lNUkVGKSkKIAkJb2xkLnBhdGggPSBOVUxMOwogCi0JaWYgKG9sZC5wYXRoICYmICFwcmVmaXhjbXAob2xkLnBhdGgsICJyZWZzL2hlYWRzLyIpKQorCWlmIChvbGQucGF0aCAmJiBzdGFydHNfd2l0aChvbGQucGF0aCwgInJlZnMvaGVhZHMvIikpCiAJCW9sZC5uYW1lID0gb2xkLnBhdGggKyBzdHJsZW4oInJlZnMvaGVhZHMvIik7CiAKIAlpZiAoIW5ldy0+bmFtZSkgewpAQCAtNzk2LDcgKzc4OSw3IEBACiAJCW5ldy0+Y29tbWl0ID0gb2xkLmNvbW1pdDsKIAkJaWYgKCFuZXctPmNvbW1pdCkKIAkJCWRpZShfKCJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIikpOwotCQlwYXJzZV9jb21taXQobmV3LT5jb21taXQpOworCQlwYXJzZV9jb21taXRfb3JfZGllKG5ldy0+Y29tbWl0KTsKIAl9CiAKIAlyZXQgPSBtZXJnZV93b3JraW5nX3RyZWUob3B0cywgJm9sZCwgbmV3LCAmd3JpdGVvdXRfZXJyb3IpOwpAQCAtODIzLDcgKzgxNiw3IEBACiAJCXJldHVybiAwOwogCX0KIAotCWlmICghcHJlZml4Y21wKHZhciwgInN1Ym1vZHVsZS4iKSkKKwlpZiAoc3RhcnRzX3dpdGgodmFyLCAic3VibW9kdWxlLiIpKQogCQlyZXR1cm4gcGFyc2Vfc3VibW9kdWxlX2NvbmZpZ19vcHRpb24odmFyLCB2YWx1ZSk7CiAKIAlyZXR1cm4gZ2l0X3htZXJnZV9jb25maWcodmFyLCB2YWx1ZSwgTlVMTCk7CkBAIC0xMDAyLDcgKzk5NSw3IEBACiAJCS8qIG5vdCBhIGNvbW1pdCAqLwogCQkqc291cmNlX3RyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KHJldik7CiAJfSBlbHNlIHsKLQkJcGFyc2VfY29tbWl0KG5ldy0+Y29tbWl0KTsKKwkJcGFyc2VfY29tbWl0X29yX2RpZShuZXctPmNvbW1pdCk7CiAJCSpzb3VyY2VfdHJlZSA9IG5ldy0+Y29tbWl0LT50cmVlOwogCX0KIApAQCAtMTA0NSw3ICsxMDM4LDcgQEAKIHN0YXRpYyBpbnQgY2hlY2tvdXRfYnJhbmNoKHN0cnVjdCBjaGVja291dF9vcHRzICpvcHRzLAogCQkJICAgc3RydWN0IGJyYW5jaF9pbmZvICpuZXcpCiB7Ci0JaWYgKG9wdHMtPnBhdGhzcGVjKQorCWlmIChvcHRzLT5wYXRoc3BlYy5ucikKIAkJZGllKF8oInBhdGhzIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIikpOwogCiAJaWYgKG9wdHMtPnBhdGNoX21vZGUpCkBAIC0xMDk5LDggKzEwOTIsOCBAQAogCQkJICAgTl8oImNyZWF0ZSBhbmQgY2hlY2tvdXQgYSBuZXcgYnJhbmNoIikpLAogCQlPUFRfU1RSSU5HKCdCJywgTlVMTCwgJm9wdHMubmV3X2JyYW5jaF9mb3JjZSwgTl8oImJyYW5jaCIpLAogCQkJICAgTl8oImNyZWF0ZS9yZXNldCBhbmQgY2hlY2tvdXQgYSBicmFuY2giKSksCi0JCU9QVF9CT09MRUFOKCdsJywgTlVMTCwgJm9wdHMubmV3X2JyYW5jaF9sb2csIE5fKCJjcmVhdGUgcmVmbG9nIGZvciBuZXcgYnJhbmNoIikpLAotCQlPUFRfQk9PTEVBTigwLCAiZGV0YWNoIiwgJm9wdHMuZm9yY2VfZGV0YWNoLCBOXygiZGV0YWNoIHRoZSBIRUFEIGF0IG5hbWVkIGNvbW1pdCIpKSwKKwkJT1BUX0JPT0woJ2wnLCBOVUxMLCAmb3B0cy5uZXdfYnJhbmNoX2xvZywgTl8oImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giKSksCisJCU9QVF9CT09MKDAsICJkZXRhY2giLCAmb3B0cy5mb3JjZV9kZXRhY2gsIE5fKCJkZXRhY2ggdGhlIEhFQUQgYXQgbmFtZWQgY29tbWl0IikpLAogCQlPUFRfU0VUX0lOVCgndCcsICJ0cmFjayIsICAmb3B0cy50cmFjaywgTl8oInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIiksCiAJCQlCUkFOQ0hfVFJBQ0tfRVhQTElDSVQpLAogCQlPUFRfU1RSSU5HKDAsICJvcnBoYW4iLCAmb3B0cy5uZXdfb3JwaGFuX2JyYW5jaCwgTl8oIm5ldyBicmFuY2giKSwgTl8oIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIpKSwKQEAgLTExMDksMTYgKzExMDIsMTUgQEAKIAkJT1BUX1NFVF9JTlQoJzMnLCAidGhlaXJzIiwgJm9wdHMud3JpdGVvdXRfc3RhZ2UsIE5fKCJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIpLAogCQkJICAgIDMpLAogCQlPUFRfX0ZPUkNFKCZvcHRzLmZvcmNlLCBOXygiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiKSksCi0JCU9QVF9CT09MRUFOKCdtJywgIm1lcmdlIiwgJm9wdHMubWVyZ2UsIE5fKCJwZXJmb3JtIGEgMy13YXkgbWVyZ2Ugd2l0aCB0aGUgbmV3IGJyYW5jaCIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgIm92ZXJ3cml0ZS1pZ25vcmUiLCAmb3B0cy5vdmVyd3JpdGVfaWdub3JlLCBOXygidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIikpLAorCQlPUFRfQk9PTCgnbScsICJtZXJnZSIsICZvcHRzLm1lcmdlLCBOXygicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giKSksCisJCU9QVF9CT09MKDAsICJvdmVyd3JpdGUtaWdub3JlIiwgJm9wdHMub3ZlcndyaXRlX2lnbm9yZSwgTl8oInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIpKSwKIAkJT1BUX1NUUklORygwLCAiY29uZmxpY3QiLCAmY29uZmxpY3Rfc3R5bGUsIE5fKCJzdHlsZSIpLAogCQkJICAgTl8oImNvbmZsaWN0IHN0eWxlIChtZXJnZSBvciBkaWZmMykiKSksCi0JCU9QVF9CT09MRUFOKCdwJywgInBhdGNoIiwgJm9wdHMucGF0Y2hfbW9kZSwgTl8oInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IikpLAorCQlPUFRfQk9PTCgncCcsICJwYXRjaCIsICZvcHRzLnBhdGNoX21vZGUsIE5fKCJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIpKSwKIAkJT1BUX0JPT0woMCwgImlnbm9yZS1za2lwLXdvcmt0cmVlLWJpdHMiLCAmb3B0cy5pZ25vcmVfc2tpcHdvcmt0cmVlLAogCQkJIE5fKCJkbyBub3QgbGltaXQgcGF0aHNwZWNzIHRvIHNwYXJzZSBlbnRyaWVzIG9ubHkiKSksCi0JCXsgT1BUSU9OX0JPT0xFQU4sIDAsICJndWVzcyIsICZkd2ltX25ld19sb2NhbF9icmFuY2gsIE5VTEwsCi0JCSAgTl8oInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IG5vLXN1Y2gtYnJhbmNoJyIpLAotCQkgIFBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9ISURERU4gfSwKKwkJT1BUX0hJRERFTl9CT09MKDAsICJndWVzcyIsICZkd2ltX25ld19sb2NhbF9icmFuY2gsCisJCQkJTl8oInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IG5vLXN1Y2gtYnJhbmNoJyIpKSwKIAkJT1BUX0VORCgpLAogCX07CiAKQEAgLTExNTksOSArMTE1MSw5IEBACiAJCWNvbnN0IGNoYXIgKmFyZ3YwID0gYXJndlswXTsKIAkJaWYgKCFhcmdjIHx8ICFzdHJjbXAoYXJndjAsICItLSIpKQogCQkJZGllIChfKCItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiKSk7Ci0JCWlmICghcHJlZml4Y21wKGFyZ3YwLCAicmVmcy8iKSkKKwkJaWYgKHN0YXJ0c193aXRoKGFyZ3YwLCAicmVmcy8iKSkKIAkJCWFyZ3YwICs9IDU7Ci0JCWlmICghcHJlZml4Y21wKGFyZ3YwLCAicmVtb3Rlcy8iKSkKKwkJaWYgKHN0YXJ0c193aXRoKGFyZ3YwLCAicmVtb3Rlcy8iKSkKIAkJCWFyZ3YwICs9IDg7CiAJCWFyZ3YwID0gc3RyY2hyKGFyZ3YwLCAnLycpOwogCQlpZiAoIWFyZ3YwIHx8ICFhcmd2MFsxXSkKQEAgLTExOTcsOSArMTE4OSwxMSBAQAogCX0KIAogCWlmIChhcmdjKSB7Ci0JCW9wdHMucGF0aHNwZWMgPSBnZXRfcGF0aHNwZWMocHJlZml4LCBhcmd2KTsKKwkJcGFyc2VfcGF0aHNwZWMoJm9wdHMucGF0aHNwZWMsIDAsCisJCQkgICAgICAgb3B0cy5wYXRjaF9tb2RlID8gUEFUSFNQRUNfUFJFRklYX09SSUdJTiA6IDAsCisJCQkgICAgICAgcHJlZml4LCBhcmd2KTsKIAotCQlpZiAoIW9wdHMucGF0aHNwZWMpCisJCWlmICghb3B0cy5wYXRoc3BlYy5ucikKIAkJCWRpZShfKCJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIpKTsKIAogCQkvKgpAQCAtMTIzMSw3ICsxMjI1LDcgQEAKIAkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAJfQogCi0JaWYgKG9wdHMucGF0Y2hfbW9kZSB8fCBvcHRzLnBhdGhzcGVjKQorCWlmIChvcHRzLnBhdGNoX21vZGUgfHwgb3B0cy5wYXRoc3BlYy5ucikKIAkJcmV0dXJuIGNoZWNrb3V0X3BhdGhzKCZvcHRzLCBuZXcubmFtZSk7CiAJZWxzZQogCQlyZXR1cm4gY2hlY2tvdXRfYnJhbmNoKCZvcHRzLCAmbmV3KTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vY2xlYW4uYyBiL2J1aWx0aW4vY2xlYW4uYwppbmRleCAzYzg1ZTE1Li4yZjI2Mjk3IDEwMDY0NAotLS0gYS9idWlsdGluL2NsZWFuLmMKKysrIGIvYnVpbHRpbi9jbGVhbi5jCkBAIC0xNSw2ICsxNSw3IEBACiAjaW5jbHVkZSAicXVvdGUuaCIKICNpbmNsdWRlICJjb2x1bW4uaCIKICNpbmNsdWRlICJjb2xvci5oIgorI2luY2x1ZGUgInBhdGhzcGVjLmgiCiAKIHN0YXRpYyBpbnQgZm9yY2UgPSAtMTsgLyogdW5zZXQgKi8KIHN0YXRpYyBpbnQgaW50ZXJhY3RpdmU7CkBAIC05OSw3ICsxMDAsNyBAQAogCiBzdGF0aWMgaW50IGdpdF9jbGVhbl9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpCiB7Ci0JaWYgKCFwcmVmaXhjbXAodmFyLCAiY29sdW1uLiIpKQorCWlmIChzdGFydHNfd2l0aCh2YXIsICJjb2x1bW4uIikpCiAJCXJldHVybiBnaXRfY29sdW1uX2NvbmZpZyh2YXIsIHZhbHVlLCAiY2xlYW4iLCAmY29sb3B0cyk7CiAKIAkvKiBob25vcnMgdGhlIGNvbG9yLmludGVyYWN0aXZlKiBjb25maWcgdmFyaWFibGVzIHdoaWNoIGFsc28KQEAgLTEwOCw3ICsxMDksNyBAQAogCQljbGVhbl91c2VfY29sb3IgPSBnaXRfY29uZmlnX2NvbG9yYm9vbCh2YXIsIHZhbHVlKTsKIAkJcmV0dXJuIDA7CiAJfQotCWlmICghcHJlZml4Y21wKHZhciwgImNvbG9yLmludGVyYWN0aXZlLiIpKSB7CisJaWYgKHN0YXJ0c193aXRoKHZhciwgImNvbG9yLmludGVyYWN0aXZlLiIpKSB7CiAJCWludCBzbG90ID0gcGFyc2VfY2xlYW5fY29sb3Jfc2xvdCh2YXIgKwogCQkJCQkJICBzdHJsZW4oImNvbG9yLmludGVyYWN0aXZlLiIpKTsKIAkJaWYgKHNsb3QgPCAwKQpAQCAtODYzLDI0ICs4NjQsMjMgQEAKIAlpbnQgcm1fZmxhZ3MgPSBSRU1PVkVfRElSX0tFRVBfTkVTVEVEX0dJVDsKIAlzdHJ1Y3Qgc3RyYnVmIGFic19wYXRoID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IGRpcl9zdHJ1Y3QgZGlyOwotCXN0YXRpYyBjb25zdCBjaGFyICoqcGF0aHNwZWM7CisJc3RydWN0IHBhdGhzcGVjIHBhdGhzcGVjOwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0cmluZ19saXN0IGV4Y2x1ZGVfbGlzdCA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiAJc3RydWN0IGV4Y2x1ZGVfbGlzdCAqZWw7CiAJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CiAJY29uc3QgY2hhciAqcW5hbWU7Ci0JY2hhciAqc2VlbiA9IE5VTEw7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CiAJCU9QVF9fUVVJRVQoJnF1aWV0LCBOXygiZG8gbm90IHByaW50IG5hbWVzIG9mIGZpbGVzIHJlbW92ZWQiKSksCiAJCU9QVF9fRFJZX1JVTigmZHJ5X3J1biwgTl8oImRyeSBydW4iKSksCiAJCU9QVF9fRk9SQ0UoJmZvcmNlLCBOXygiZm9yY2UiKSksCiAJCU9QVF9CT09MKCdpJywgImludGVyYWN0aXZlIiwgJmludGVyYWN0aXZlLCBOXygiaW50ZXJhY3RpdmUgY2xlYW5pbmciKSksCi0JCU9QVF9CT09MRUFOKCdkJywgTlVMTCwgJnJlbW92ZV9kaXJlY3RvcmllcywKKwkJT1BUX0JPT0woJ2QnLCBOVUxMLCAmcmVtb3ZlX2RpcmVjdG9yaWVzLAogCQkJCU5fKCJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiKSksCiAJCXsgT1BUSU9OX0NBTExCQUNLLCAnZScsICJleGNsdWRlIiwgJmV4Y2x1ZGVfbGlzdCwgTl8oInBhdHRlcm4iKSwKIAkJICBOXygiYWRkIDxwYXR0ZXJuPiB0byBpZ25vcmUgcnVsZXMiKSwgUEFSU0VfT1BUX05PTkVHLCBleGNsdWRlX2NiIH0sCi0JCU9QVF9CT09MRUFOKCd4JywgTlVMTCwgJmlnbm9yZWQsIE5fKCJyZW1vdmUgaWdub3JlZCBmaWxlcywgdG9vIikpLAotCQlPUFRfQk9PTEVBTignWCcsIE5VTEwsICZpZ25vcmVkX29ubHksCisJCU9QVF9CT09MKCd4JywgTlVMTCwgJmlnbm9yZWQsIE5fKCJyZW1vdmUgaWdub3JlZCBmaWxlcywgdG9vIikpLAorCQlPUFRfQk9PTCgnWCcsIE5VTEwsICZpZ25vcmVkX29ubHksCiAJCQkJTl8oInJlbW92ZSBvbmx5IGlnbm9yZWQgZmlsZXMiKSksCiAJCU9QVF9FTkQoKQogCX07CkBAIC05MjUsMTIgKzkyNSwxMSBAQAogCWZvciAoaSA9IDA7IGkgPCBleGNsdWRlX2xpc3QubnI7IGkrKykKIAkJYWRkX2V4Y2x1ZGUoZXhjbHVkZV9saXN0Lml0ZW1zW2ldLnN0cmluZywgIiIsIDAsIGVsLCAtKGkrMSkpOwogCi0JcGF0aHNwZWMgPSBnZXRfcGF0aHNwZWMocHJlZml4LCBhcmd2KTsKKwlwYXJzZV9wYXRoc3BlYygmcGF0aHNwZWMsIDAsCisJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfQ1dELAorCQkgICAgICAgcHJlZml4LCBhcmd2KTsKIAotCWZpbGxfZGlyZWN0b3J5KCZkaXIsIHBhdGhzcGVjKTsKLQotCWlmIChwYXRoc3BlYykKLQkJc2VlbiA9IHhtYWxsb2MoYXJnYyA+IDAgPyBhcmdjIDogMSk7CisJZmlsbF9kaXJlY3RvcnkoJmRpciwgJnBhdGhzcGVjKTsKIAogCWZvciAoaSA9IDA7IGkgPCBkaXIubnI7IGkrKykgewogCQlzdHJ1Y3QgZGlyX2VudHJ5ICplbnQgPSBkaXIuZW50cmllc1tpXTsKQEAgLTk2MSwxMSArOTYwLDkgQEAKIAkJaWYgKGxzdGF0KGVudC0+bmFtZSwgJnN0KSkKIAkJCWRpZV9lcnJubygiQ2Fubm90IGxzdGF0ICclcyciLCBlbnQtPm5hbWUpOwogCi0JCWlmIChwYXRoc3BlYykgewotCQkJbWVtc2V0KHNlZW4sIDAsIGFyZ2MgPiAwID8gYXJnYyA6IDEpOwotCQkJbWF0Y2hlcyA9IG1hdGNoX3BhdGhzcGVjKHBhdGhzcGVjLCBlbnQtPm5hbWUsIGxlbiwKLQkJCQkJCSAwLCBzZWVuKTsKLQkJfQorCQlpZiAocGF0aHNwZWMubnIpCisJCQltYXRjaGVzID0gbWF0Y2hfcGF0aHNwZWNfZGVwdGgoJnBhdGhzcGVjLCBlbnQtPm5hbWUsCisJCQkJCQkgICAgICAgbGVuLCAwLCBOVUxMKTsKIAogCQlpZiAoU19JU0RJUihzdC5zdF9tb2RlKSkgewogCQkJaWYgKHJlbW92ZV9kaXJlY3RvcmllcyB8fCAobWF0Y2hlcyA9PSBNQVRDSEVEX0VYQUNUTFkpKSB7CkBAIC05NzMsNyArOTcwLDcgQEAKIAkJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmRlbF9saXN0LCByZWwpOwogCQkJfQogCQl9IGVsc2UgewotCQkJaWYgKHBhdGhzcGVjICYmICFtYXRjaGVzKQorCQkJaWYgKHBhdGhzcGVjLm5yICYmICFtYXRjaGVzKQogCQkJCWNvbnRpbnVlOwogCQkJcmVsID0gcmVsYXRpdmVfcGF0aChlbnQtPm5hbWUsIHByZWZpeCwgJmJ1Zik7CiAJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmRlbF9saXN0LCByZWwpOwpAQCAtMTAxOSw3ICsxMDE2LDYgQEAKIAkJfQogCQlzdHJidWZfcmVzZXQoJmFic19wYXRoKTsKIAl9Ci0JZnJlZShzZWVuKTsKIAogCXN0cmJ1Zl9yZWxlYXNlKCZhYnNfcGF0aCk7CiAJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CmRpZmYgLS1naXQgYS9idWlsdGluL2Nsb25lLmMgYi9idWlsdGluL2Nsb25lLmMKaW5kZXggNTUyZjM0MC4uNDNlNzcyYyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jbG9uZS5jCisrKyBiL2J1aWx0aW4vY2xvbmUuYwpAQCAtNjIsMjMgKzYyLDIyIEBACiAJT1BUX19WRVJCT1NJVFkoJm9wdGlvbl92ZXJib3NpdHkpLAogCU9QVF9CT09MKDAsICJwcm9ncmVzcyIsICZvcHRpb25fcHJvZ3Jlc3MsCiAJCSBOXygiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIikpLAotCU9QVF9CT09MRUFOKCduJywgIm5vLWNoZWNrb3V0IiwgJm9wdGlvbl9ub19jaGVja291dCwKLQkJICAgIE5fKCJkb24ndCBjcmVhdGUgYSBjaGVja291dCIpKSwKLQlPUFRfQk9PTEVBTigwLCAiYmFyZSIsICZvcHRpb25fYmFyZSwgTl8oImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIpKSwKLQl7IE9QVElPTl9CT09MRUFOLCAwLCAibmFrZWQiLCAmb3B0aW9uX2JhcmUsIE5VTEwsCi0JCU5fKCJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiKSwKLQkJUEFSU0VfT1BUX05PQVJHIHwgUEFSU0VfT1BUX0hJRERFTiB9LAotCU9QVF9CT09MRUFOKDAsICJtaXJyb3IiLCAmb3B0aW9uX21pcnJvciwKLQkJICAgIE5fKCJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIpKSwKKwlPUFRfQk9PTCgnbicsICJuby1jaGVja291dCIsICZvcHRpb25fbm9fY2hlY2tvdXQsCisJCSBOXygiZG9uJ3QgY3JlYXRlIGEgY2hlY2tvdXQiKSksCisJT1BUX0JPT0woMCwgImJhcmUiLCAmb3B0aW9uX2JhcmUsIE5fKCJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiKSksCisJT1BUX0hJRERFTl9CT09MKDAsICJuYWtlZCIsICZvcHRpb25fYmFyZSwKKwkJCU5fKCJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiKSksCisJT1BUX0JPT0woMCwgIm1pcnJvciIsICZvcHRpb25fbWlycm9yLAorCQkgTl8oImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIikpLAogCU9QVF9CT09MKCdsJywgImxvY2FsIiwgJm9wdGlvbl9sb2NhbCwKIAkJTl8oInRvIGNsb25lIGZyb20gYSBsb2NhbCByZXBvc2l0b3J5IikpLAotCU9QVF9CT09MRUFOKDAsICJuby1oYXJkbGlua3MiLCAmb3B0aW9uX25vX2hhcmRsaW5rcywKKwlPUFRfQk9PTCgwLCAibm8taGFyZGxpbmtzIiwgJm9wdGlvbl9ub19oYXJkbGlua3MsCiAJCSAgICBOXygiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiKSksCi0JT1BUX0JPT0xFQU4oJ3MnLCAic2hhcmVkIiwgJm9wdGlvbl9zaGFyZWQsCisJT1BUX0JPT0woJ3MnLCAic2hhcmVkIiwgJm9wdGlvbl9zaGFyZWQsCiAJCSAgICBOXygic2V0dXAgYXMgc2hhcmVkIHJlcG9zaXRvcnkiKSksCi0JT1BUX0JPT0xFQU4oMCwgInJlY3Vyc2l2ZSIsICZvcHRpb25fcmVjdXJzaXZlLAorCU9QVF9CT09MKDAsICJyZWN1cnNpdmUiLCAmb3B0aW9uX3JlY3Vyc2l2ZSwKIAkJICAgIE5fKCJpbml0aWFsaXplIHN1Ym1vZHVsZXMgaW4gdGhlIGNsb25lIikpLAotCU9QVF9CT09MRUFOKDAsICJyZWN1cnNlLXN1Ym1vZHVsZXMiLCAmb3B0aW9uX3JlY3Vyc2l2ZSwKKwlPUFRfQk9PTCgwLCAicmVjdXJzZS1zdWJtb2R1bGVzIiwgJm9wdGlvbl9yZWN1cnNpdmUsCiAJCSAgICBOXygiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIpKSwKIAlPUFRfU1RSSU5HKDAsICJ0ZW1wbGF0ZSIsICZvcHRpb25fdGVtcGxhdGUsIE5fKCJ0ZW1wbGF0ZS1kaXJlY3RvcnkiKSwKIAkJICAgTl8oImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiKSksCkBAIC0yNTMsNiArMjUyLDEyIEBACiAJCWRpZShfKCJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIiksCiAJCSAgICBpdGVtLT5zdHJpbmcpOwogCisJaWYgKCFhY2Nlc3MobWtwYXRoKCIlcy9zaGFsbG93IiwgcmVmX2dpdCksIEZfT0spKQorCQlkaWUoXygicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IiksIGl0ZW0tPnN0cmluZyk7CisKKwlpZiAoIWFjY2Vzcyhta3BhdGgoIiVzL2luZm8vZ3JhZnRzIiwgcmVmX2dpdCksIEZfT0spKQorCQlkaWUoXygicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIiksIGl0ZW0tPnN0cmluZyk7CisKIAlzdHJidWZfYWRkZigmYWx0ZXJuYXRlLCAiJXMvb2JqZWN0cyIsIHJlZl9naXQpOwogCWFkZF90b19hbHRlcm5hdGVzX2ZpbGUoYWx0ZXJuYXRlLmJ1Zik7CiAJc3RyYnVmX3JlbGVhc2UoJmFsdGVybmF0ZSk7CkBAIC01MDksOSArNTE0LDkgQEAKIHsKIAljb25zdCBzdHJ1Y3QgcmVmICpyZWY7CiAJZm9yIChyZWYgPSByZWZzOyByZWY7IHJlZiA9IHJlZi0+bmV4dCkgewotCQlpZiAocHJlZml4Y21wKHJlZi0+bmFtZSwgInJlZnMvdGFncy8iKSkKKwkJaWYgKCFzdGFydHNfd2l0aChyZWYtPm5hbWUsICJyZWZzL3RhZ3MvIikpCiAJCQljb250aW51ZTsKLQkJaWYgKCFzdWZmaXhjbXAocmVmLT5uYW1lLCAiXnt9IikpCisJCWlmIChlbmRzX3dpdGgocmVmLT5uYW1lLCAiXnt9IikpCiAJCQljb250aW51ZTsKIAkJaWYgKCFoYXNfc2hhMV9maWxlKHJlZi0+b2xkX3NoYTEpKQogCQkJY29udGludWU7CkBAIC01NTcsNyArNTYyLDcgQEAKIAkJCQkJCQkgICAgICAwLCAmcm0sIHRyYW5zcG9ydCkpCiAJCQlkaWUoXygicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiKSk7CiAJCWlmICh0cmFuc3BvcnQtPnByb2dyZXNzKQotCQkJZnByaW50ZihzdGRlcnIsIF8oImRvbmVcbiIpKTsKKwkJCWZwcmludGYoc3RkZXJyLCBfKCJkb25lLlxuIikpOwogCX0KIAogCWlmIChyZWZzKSB7CkBAIC01NzksNyArNTg0LDcgQEAKIHN0YXRpYyB2b2lkIHVwZGF0ZV9oZWFkKGNvbnN0IHN0cnVjdCByZWYgKm91ciwgY29uc3Qgc3RydWN0IHJlZiAqcmVtb3RlLAogCQkJY29uc3QgY2hhciAqbXNnKQogewotCWlmIChvdXIgJiYgIXByZWZpeGNtcChvdXItPm5hbWUsICJyZWZzL2hlYWRzLyIpKSB7CisJaWYgKG91ciAmJiBzdGFydHNfd2l0aChvdXItPm5hbWUsICJyZWZzL2hlYWRzLyIpKSB7CiAJCS8qIExvY2FsIGRlZmF1bHQgYnJhbmNoIGxpbmsgKi8KIAkJY3JlYXRlX3N5bXJlZigiSEVBRCIsIG91ci0+bmFtZSwgTlVMTCk7CiAJCWlmICghb3B0aW9uX2JhcmUpIHsKQEAgLTYyNiw3ICs2MzEsNyBAQAogCQlpZiAoYWR2aWNlX2RldGFjaGVkX2hlYWQpCiAJCQlkZXRhY2hfYWR2aWNlKHNoYTFfdG9faGV4KHNoYTEpKTsKIAl9IGVsc2UgewotCQlpZiAocHJlZml4Y21wKGhlYWQsICJyZWZzL2hlYWRzLyIpKQorCQlpZiAoIXN0YXJ0c193aXRoKGhlYWQsICJyZWZzL2hlYWRzLyIpKQogCQkJZGllKF8oIkhFQUQgbm90IGZvdW5kIGJlbG93IHJlZnMvaGVhZHMhIikpOwogCX0KIAlmcmVlKGhlYWQpOwpAQCAtNzkyLDExICs3OTcsMjIgQEAKIAllbHNlCiAJCXJlcG8gPSByZXBvX25hbWU7CiAJaXNfbG9jYWwgPSBvcHRpb25fbG9jYWwgIT0gMCAmJiBwYXRoICYmICFpc19idW5kbGU7Ci0JaWYgKGlzX2xvY2FsICYmIG9wdGlvbl9kZXB0aCkKLQkJd2FybmluZyhfKCItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIpKTsKKwlpZiAoaXNfbG9jYWwpIHsKKwkJaWYgKG9wdGlvbl9kZXB0aCkKKwkJCXdhcm5pbmcoXygiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iKSk7CisJCWlmICghYWNjZXNzKG1rcGF0aCgiJXMvc2hhbGxvdyIsIHBhdGgpLCBGX09LKSkgeworCQkJaWYgKG9wdGlvbl9sb2NhbCA+IDApCisJCQkJd2FybmluZyhfKCJzb3VyY2UgcmVwb3NpdG9yeSBpcyBzaGFsbG93LCBpZ25vcmluZyAtLWxvY2FsIikpOworCQkJaXNfbG9jYWwgPSAwOworCQl9CisJfQogCWlmIChvcHRpb25fbG9jYWwgPiAwICYmICFpc19sb2NhbCkKIAkJd2FybmluZyhfKCItLWxvY2FsIGlzIGlnbm9yZWQiKSk7CiAKKwkvKiBubyBuZWVkIHRvIGJlIHN0cmljdCwgdHJhbnNwb3J0X3NldF9vcHRpb24oKSB3aWxsIHZhbGlkYXRlIGl0IGFnYWluICovCisJaWYgKG9wdGlvbl9kZXB0aCAmJiBhdG9pKG9wdGlvbl9kZXB0aCkgPCAxKQorCQlkaWUoXygiZGVwdGggJXMgaXMgbm90IGEgcG9zaXRpdmUgbnVtYmVyIiksIG9wdGlvbl9kZXB0aCk7CisKIAlpZiAoYXJnYyA9PSAyKQogCQlkaXIgPSB4c3RyZHVwKGFyZ3ZbMV0pOwogCWVsc2UKQEAgLTg4NCw2ICs5MDAsNyBAQAogCiAJcmVtb3RlID0gcmVtb3RlX2dldChvcHRpb25fb3JpZ2luKTsKIAl0cmFuc3BvcnQgPSB0cmFuc3BvcnRfZ2V0KHJlbW90ZSwgcmVtb3RlLT51cmxbMF0pOworCXRyYW5zcG9ydC0+Y2xvbmluZyA9IDE7CiAKIAlpZiAoIXRyYW5zcG9ydC0+Z2V0X3JlZnNfbGlzdCB8fCAoIWlzX2xvY2FsICYmICF0cmFuc3BvcnQtPmZldGNoKSkKIAkJZGllKF8oIkRvbid0IGtub3cgaG93IHRvIGNsb25lICVzIiksIHRyYW5zcG9ydC0+dXJsKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vY29sdW1uLmMgYi9idWlsdGluL2NvbHVtbi5jCmluZGV4IGUxMjVhNTUuLjc1ODE4NTIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY29sdW1uLmMKKysrIGIvYnVpbHRpbi9jb2x1bW4uYwpAQCAtMzQsNyArMzQsNyBAQAogCX07CiAKIAkvKiBUaGlzIG9uZSBpcyBzcGVjaWFsIGFuZCBtdXN0IGJlIHRoZSBmaXJzdCBvbmUgKi8KLQlpZiAoYXJnYyA+IDEgJiYgIXByZWZpeGNtcChhcmd2WzFdLCAiLS1jb21tYW5kPSIpKSB7CisJaWYgKGFyZ2MgPiAxICYmIHN0YXJ0c193aXRoKGFyZ3ZbMV0sICItLWNvbW1hbmQ9IikpIHsKIAkJY29tbWFuZCA9IGFyZ3ZbMV0gKyAxMDsKIAkJZ2l0X2NvbmZpZyhjb2x1bW5fY29uZmlnLCAodm9pZCAqKWNvbW1hbmQpOwogCX0gZWxzZQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jb21taXQuYyBiL2J1aWx0aW4vY29tbWl0LmMKaW5kZXggYTQ4YTdmZS4uMzc2NzQ3OCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jb21taXQuYworKysgYi9idWlsdGluL2NvbW1pdC5jCkBAIC0xNjQsNiArMTY0LDE1IEBACiAJCXMtPndoZW5jZSA9IHdoZW5jZTsKIH0KIAorc3RhdGljIHZvaWQgc3RhdHVzX2luaXRfY29uZmlnKHN0cnVjdCB3dF9zdGF0dXMgKnMsIGNvbmZpZ19mbl90IGZuKQoreworCXd0X3N0YXR1c19wcmVwYXJlKHMpOworCWdpdG1vZHVsZXNfY29uZmlnKCk7CisJZ2l0X2NvbmZpZyhmbiwgcyk7CisJZGV0ZXJtaW5lX3doZW5jZShzKTsKKwlzLT5oaW50cyA9IGFkdmljZV9zdGF0dXNfaGludHM7IC8qIG11c3QgY29tZSBhZnRlciBnaXRfY29uZmlnKCkgKi8KK30KKwogc3RhdGljIHZvaWQgcm9sbGJhY2tfaW5kZXhfZmlsZXModm9pZCkKIHsKIAlzd2l0Y2ggKGNvbW1pdF9zdHlsZSkgewpAQCAtMjAzLDE3ICsyMTIsMTUgQEAKICAqIGFuZCByZXR1cm4gdGhlIHBhdGhzIHRoYXQgbWF0Y2ggdGhlIGdpdmVuIHBhdHRlcm4gaW4gbGlzdC4KICAqLwogc3RhdGljIGludCBsaXN0X3BhdGhzKHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCwgY29uc3QgY2hhciAqd2l0aF90cmVlLAotCQkgICAgICBjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKipwYXR0ZXJuKQorCQkgICAgICBjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0dGVybikKIHsKIAlpbnQgaTsKIAljaGFyICptOwogCi0JaWYgKCFwYXR0ZXJuKQorCWlmICghcGF0dGVybi0+bnIpCiAJCXJldHVybiAwOwogCi0JZm9yIChpID0gMDsgcGF0dGVybltpXTsgaSsrKQotCQk7Ci0JbSA9IHhjYWxsb2MoMSwgaSk7CisJbSA9IHhjYWxsb2MoMSwgcGF0dGVybi0+bnIpOwogCiAJaWYgKHdpdGhfdHJlZSkgewogCQljaGFyICptYXhfcHJlZml4ID0gY29tbW9uX3ByZWZpeChwYXR0ZXJuKTsKQEAgLTIyNyw3ICsyMzQsNyBAQAogCiAJCWlmIChjZS0+Y2VfZmxhZ3MgJiBDRV9VUERBVEUpCiAJCQljb250aW51ZTsKLQkJaWYgKCFtYXRjaF9wYXRoc3BlYyhwYXR0ZXJuLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSksIDAsIG0pKQorCQlpZiAoIW1hdGNoX3BhdGhzcGVjX2RlcHRoKHBhdHRlcm4sIGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSwgMCwgbSkpCiAJCQljb250aW51ZTsKIAkJaXRlbSA9IHN0cmluZ19saXN0X2luc2VydChsaXN0LCBjZS0+bmFtZSk7CiAJCWlmIChjZV9za2lwX3dvcmt0cmVlKGNlKSkKQEAgLTI5OSwxNyArMzA2LDE3IEBACiB7CiAJaW50IGZkOwogCXN0cnVjdCBzdHJpbmdfbGlzdCBwYXJ0aWFsOwotCWNvbnN0IGNoYXIgKipwYXRoc3BlYyA9IE5VTEw7CisJc3RydWN0IHBhdGhzcGVjIHBhdGhzcGVjOwogCWNoYXIgKm9sZF9pbmRleF9lbnYgPSBOVUxMOwogCWludCByZWZyZXNoX2ZsYWdzID0gUkVGUkVTSF9RVUlFVDsKIAogCWlmIChpc19zdGF0dXMpCiAJCXJlZnJlc2hfZmxhZ3MgfD0gUkVGUkVTSF9VTk1FUkdFRDsKKwlwYXJzZV9wYXRoc3BlYygmcGF0aHNwZWMsIDAsCisJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfRlVMTCwKKwkJICAgICAgIHByZWZpeCwgYXJndik7CiAKLQlpZiAoKmFyZ3YpCi0JCXBhdGhzcGVjID0gZ2V0X3BhdGhzcGVjKHByZWZpeCwgYXJndik7Ci0KLQlpZiAocmVhZF9jYWNoZV9wcmVsb2FkKHBhdGhzcGVjKSA8IDApCisJaWYgKHJlYWRfY2FjaGVfcHJlbG9hZCgmcGF0aHNwZWMpIDwgMCkKIAkJZGllKF8oImluZGV4IGZpbGUgY29ycnVwdCIpKTsKIAogCWlmIChpbnRlcmFjdGl2ZSkgewpAQCAtMzUxLDkgKzM1OCw5IEBACiAJICogKEEpIGlmIGFsbCBnb2VzIHdlbGwsIGNvbW1pdCB0aGUgcmVhbCBpbmRleDsKIAkgKiAoQikgb24gZmFpbHVyZSwgcm9sbGJhY2sgdGhlIHJlYWwgaW5kZXguCiAJICovCi0JaWYgKGFsbCB8fCAoYWxzbyAmJiBwYXRoc3BlYyAmJiAqcGF0aHNwZWMpKSB7CisJaWYgKGFsbCB8fCAoYWxzbyAmJiBwYXRoc3BlYy5ucikpIHsKIAkJZmQgPSBob2xkX2xvY2tlZF9pbmRleCgmaW5kZXhfbG9jaywgMSk7Ci0JCWFkZF9maWxlc190b19jYWNoZShhbHNvID8gcHJlZml4IDogTlVMTCwgcGF0aHNwZWMsIDApOworCQlhZGRfZmlsZXNfdG9fY2FjaGUoYWxzbyA/IHByZWZpeCA6IE5VTEwsICZwYXRoc3BlYywgMCk7CiAJCXJlZnJlc2hfY2FjaGVfb3JfZGllKHJlZnJlc2hfZmxhZ3MpOwogCQl1cGRhdGVfbWFpbl9jYWNoZV90cmVlKFdSSVRFX1RSRUVfU0lMRU5UKTsKIAkJaWYgKHdyaXRlX2NhY2hlKGZkLCBhY3RpdmVfY2FjaGUsIGFjdGl2ZV9ucikgfHwKQEAgLTM3Miw3ICszNzksNyBAQAogCSAqIGFuZCBjcmVhdGUgY29tbWl0IGZyb20gdGhlX2luZGV4LgogCSAqIFdlIHN0aWxsIG5lZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXggaGVyZS4KIAkgKi8KLQlpZiAoIW9ubHkgJiYgKCFwYXRoc3BlYyB8fCAhKnBhdGhzcGVjKSkgeworCWlmICghb25seSAmJiAhcGF0aHNwZWMubnIpIHsKIAkJZmQgPSBob2xkX2xvY2tlZF9pbmRleCgmaW5kZXhfbG9jaywgMSk7CiAJCXJlZnJlc2hfY2FjaGVfb3JfZGllKHJlZnJlc2hfZmxhZ3MpOwogCQlpZiAoYWN0aXZlX2NhY2hlX2NoYW5nZWQpIHsKQEAgLTQxNyw3ICs0MjQsNyBAQAogCiAJbWVtc2V0KCZwYXJ0aWFsLCAwLCBzaXplb2YocGFydGlhbCkpOwogCXBhcnRpYWwuc3RyZHVwX3N0cmluZ3MgPSAxOwotCWlmIChsaXN0X3BhdGhzKCZwYXJ0aWFsLCAhY3VycmVudF9oZWFkID8gTlVMTCA6ICJIRUFEIiwgcHJlZml4LCBwYXRoc3BlYykpCisJaWYgKGxpc3RfcGF0aHMoJnBhcnRpYWwsICFjdXJyZW50X2hlYWQgPyBOVUxMIDogIkhFQUQiLCBwcmVmaXgsICZwYXRoc3BlYykpCiAJCWV4aXQoMSk7CiAKIAlkaXNjYXJkX2NhY2hlKCk7CkBAIC02MDAsNiArNjA3LDcgQEAKIAljb25zdCBjaGFyICpob29rX2FyZzIgPSBOVUxMOwogCWludCBpZGVudF9zaG93biA9IDA7CiAJaW50IGNsZWFuX21lc3NhZ2VfY29udGVudHMgPSAoY2xlYW51cF9tb2RlICE9IENMRUFOVVBfTk9ORSk7CisJaW50IG9sZF9kaXNwbGF5X2NvbW1lbnRfcHJlZml4OwogCiAJLyogVGhpcyBjaGVja3MgYW5kIGJhcmZzIGlmIGF1dGhvciBpcyBiYWRseSBzcGVjaWZpZWQgKi8KIAlkZXRlcm1pbmVfYXV0aG9yX2luZm8oYXV0aG9yX2lkZW50KTsKQEAgLTY5Nyw2ICs3MDUsMTYgQEAKIAlpZiAocy0+ZnAgPT0gTlVMTCkKIAkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCBvcGVuICclcyciKSwgZ2l0X3BhdGgoY29tbWl0X2VkaXRtc2cpKTsKIAorCS8qIElnbm9yZSBzdGF0dXMuZGlzcGxheUNvbW1lbnRQcmVmaXg6IHdlIGRvIG5lZWQgY29tbWVudHMgaW4gQ09NTUlUX0VESVRNU0cuICovCisJb2xkX2Rpc3BsYXlfY29tbWVudF9wcmVmaXggPSBzLT5kaXNwbGF5X2NvbW1lbnRfcHJlZml4OworCXMtPmRpc3BsYXlfY29tbWVudF9wcmVmaXggPSAxOworCisJLyoKKwkgKiBNb3N0IGhpbnRzIGFyZSBjb3VudGVyLXByb2R1Y3RpdmUgd2hlbiB0aGUgY29tbWl0IGhhcworCSAqIGFscmVhZHkgc3RhcnRlZC4KKwkgKi8KKwlzLT5oaW50cyA9IDA7CisKIAlpZiAoY2xlYW5fbWVzc2FnZV9jb250ZW50cykKIAkJc3RyaXBzcGFjZSgmc2IsIDApOwogCkBAIC03MTUsNyArNzMzLDcgQEAKIAkJCQllb2wgPSBubCAtIHNiLmJ1ZjsKIAkJCWVsc2UKIAkJCQllb2wgPSBzYi5sZW47Ci0JCQlpZiAoIXByZWZpeGNtcChzYi5idWYgKyBwcmV2aW91cywgIlxuQ29uZmxpY3RzOlxuIikpIHsKKwkJCWlmIChzdGFydHNfd2l0aChzYi5idWYgKyBwcmV2aW91cywgIlxuQ29uZmxpY3RzOlxuIikpIHsKIAkJCQlpZ25vcmVfZm9vdGVyID0gc2IubGVuIC0gcHJldmlvdXM7CiAJCQkJYnJlYWs7CiAJCQl9CkBAIC04MjIsNiArODQwLDcgQEAKIAkgKi8KIAlpZiAoIWNvbW1pdGFibGUgJiYgd2hlbmNlICE9IEZST01fTUVSR0UgJiYgIWFsbG93X2VtcHR5ICYmCiAJICAgICEoYW1lbmQgJiYgaXNfYV9tZXJnZShjdXJyZW50X2hlYWQpKSkgeworCQlzLT5kaXNwbGF5X2NvbW1lbnRfcHJlZml4ID0gb2xkX2Rpc3BsYXlfY29tbWVudF9wcmVmaXg7CiAJCXJ1bl9zdGF0dXMoc3Rkb3V0LCBpbmRleF9maWxlLCBwcmVmaXgsIDAsIHMpOwogCQlpZiAoYW1lbmQpCiAJCQlmcHV0cyhfKGVtcHR5X2FtZW5kX2FkdmljZSksIHN0ZGVycik7CkBAIC04ODUsNyArOTA0LDcgQEAKIAkJCWVvbCA9IHNiLT5sZW47CiAKIAkJaWYgKHN0cmxlbihzaWduX29mZl9oZWFkZXIpIDw9IGVvbCAtIGkgJiYKLQkJICAgICFwcmVmaXhjbXAoc2ItPmJ1ZiArIGksIHNpZ25fb2ZmX2hlYWRlcikpIHsKKwkJICAgIHN0YXJ0c193aXRoKHNiLT5idWYgKyBpLCBzaWduX29mZl9oZWFkZXIpKSB7CiAJCQlpID0gZW9sOwogCQkJY29udGludWU7CiAJCX0KQEAgLTEwOTcsNyArMTExNiw3IEBACiAJaWYgKHBhdGNoX2ludGVyYWN0aXZlKQogCQlpbnRlcmFjdGl2ZSA9IDE7CiAKLQlpZiAoISFhbHNvICsgISFvbmx5ICsgISFhbGwgKyAhIWludGVyYWN0aXZlID4gMSkKKwlpZiAoYWxzbyArIG9ubHkgKyBhbGwgKyBpbnRlcmFjdGl2ZSA+IDEpCiAJCWRpZShfKCJPbmx5IG9uZSBvZiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBjYW4gYmUgdXNlZC4iKSk7CiAJaWYgKGFyZ2MgPT0gMCAmJiAoYWxzbyB8fCAob25seSAmJiAhYW1lbmQpKSkKIAkJZGllKF8oIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIpKTsKQEAgLTExNjQsNyArMTE4Myw3IEBACiB7CiAJc3RydWN0IHd0X3N0YXR1cyAqcyA9IGNiOwogCi0JaWYgKCFwcmVmaXhjbXAoaywgImNvbHVtbi4iKSkKKwlpZiAoc3RhcnRzX3dpdGgoaywgImNvbHVtbi4iKSkKIAkJcmV0dXJuIGdpdF9jb2x1bW5fY29uZmlnKGssIHYsICJzdGF0dXMiLCAmcy0+Y29sb3B0cyk7CiAJaWYgKCFzdHJjbXAoaywgInN0YXR1cy5zdWJtb2R1bGVzdW1tYXJ5IikpIHsKIAkJaW50IGlzX2Jvb2w7CkBAIC0xMTg4LDcgKzEyMDcsMTEgQEAKIAkJcy0+dXNlX2NvbG9yID0gZ2l0X2NvbmZpZ19jb2xvcmJvb2woaywgdik7CiAJCXJldHVybiAwOwogCX0KLQlpZiAoIXByZWZpeGNtcChrLCAic3RhdHVzLmNvbG9yLiIpIHx8ICFwcmVmaXhjbXAoaywgImNvbG9yLnN0YXR1cy4iKSkgeworCWlmICghc3RyY21wKGssICJzdGF0dXMuZGlzcGxheWNvbW1lbnRwcmVmaXgiKSkgeworCQlzLT5kaXNwbGF5X2NvbW1lbnRfcHJlZml4ID0gZ2l0X2NvbmZpZ19ib29sKGssIHYpOworCQlyZXR1cm4gMDsKKwl9CisJaWYgKHN0YXJ0c193aXRoKGssICJzdGF0dXMuY29sb3IuIikgfHwgc3RhcnRzX3dpdGgoaywgImNvbG9yLnN0YXR1cy4iKSkgewogCQlpbnQgc2xvdCA9IHBhcnNlX3N0YXR1c19zbG90KGssIDEzKTsKIAkJaWYgKHNsb3QgPCAwKQogCQkJcmV0dXJuIDA7CkBAIC0xMjM0LDE0ICsxMjU3LDE0IEBACiAJCU9QVF9TRVRfSU5UKDAsICJsb25nIiwgJnN0YXR1c19mb3JtYXQsCiAJCQkgICAgTl8oInNob3cgc3RhdHVzIGluIGxvbmcgZm9ybWF0IChkZWZhdWx0KSIpLAogCQkJICAgIFNUQVRVU19GT1JNQVRfTE9ORyksCi0JCU9QVF9CT09MRUFOKCd6JywgIm51bGwiLCAmcy5udWxsX3Rlcm1pbmF0aW9uLAotCQkJICAgIE5fKCJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIpKSwKKwkJT1BUX0JPT0woJ3onLCAibnVsbCIsICZzLm51bGxfdGVybWluYXRpb24sCisJCQkgTl8oInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIikpLAogCQl7IE9QVElPTl9TVFJJTkcsICd1JywgInVudHJhY2tlZC1maWxlcyIsICZ1bnRyYWNrZWRfZmlsZXNfYXJnLAogCQkgIE5fKCJtb2RlIiksCiAJCSAgTl8oInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIpLAogCQkgIFBBUlNFX09QVF9PUFRBUkcsIE5VTEwsIChpbnRwdHJfdCkiYWxsIiB9LAotCQlPUFRfQk9PTEVBTigwLCAiaWdub3JlZCIsICZzaG93X2lnbm9yZWRfaW5fc3RhdHVzLAotCQkJICAgIE5fKCJzaG93IGlnbm9yZWQgZmlsZXMiKSksCisJCU9QVF9CT09MKDAsICJpZ25vcmVkIiwgJnNob3dfaWdub3JlZF9pbl9zdGF0dXMsCisJCQkgTl8oInNob3cgaWdub3JlZCBmaWxlcyIpKSwKIAkJeyBPUFRJT05fU1RSSU5HLCAwLCAiaWdub3JlLXN1Ym1vZHVsZXMiLCAmaWdub3JlX3N1Ym1vZHVsZV9hcmcsIE5fKCJ3aGVuIiksCiAJCSAgTl8oImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gKERlZmF1bHQ6IGFsbCkiKSwKIAkJICBQQVJTRV9PUFRfT1BUQVJHLCBOVUxMLCAoaW50cHRyX3QpImFsbCIgfSwKQEAgLTEyNTIsMTAgKzEyNzUsNyBAQAogCWlmIChhcmdjID09IDIgJiYgIXN0cmNtcChhcmd2WzFdLCAiLWgiKSkKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKGJ1aWx0aW5fc3RhdHVzX3VzYWdlLCBidWlsdGluX3N0YXR1c19vcHRpb25zKTsKIAotCXd0X3N0YXR1c19wcmVwYXJlKCZzKTsKLQlnaXRtb2R1bGVzX2NvbmZpZygpOwotCWdpdF9jb25maWcoZ2l0X3N0YXR1c19jb25maWcsICZzKTsKLQlkZXRlcm1pbmVfd2hlbmNlKCZzKTsKKwlzdGF0dXNfaW5pdF9jb25maWcoJnMsIGdpdF9zdGF0dXNfY29uZmlnKTsKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsCiAJCQkgICAgIGJ1aWx0aW5fc3RhdHVzX29wdGlvbnMsCiAJCQkgICAgIGJ1aWx0aW5fc3RhdHVzX3VzYWdlLCAwKTsKQEAgLTEyNjUsMTEgKzEyODUsMTIgQEAKIAloYW5kbGVfdW50cmFja2VkX2ZpbGVzX2FyZygmcyk7CiAJaWYgKHNob3dfaWdub3JlZF9pbl9zdGF0dXMpCiAJCXMuc2hvd19pZ25vcmVkX2ZpbGVzID0gMTsKLQlpZiAoKmFyZ3YpCi0JCXMucGF0aHNwZWMgPSBnZXRfcGF0aHNwZWMocHJlZml4LCBhcmd2KTsKKwlwYXJzZV9wYXRoc3BlYygmcy5wYXRoc3BlYywgMCwKKwkJICAgICAgIFBBVEhTUEVDX1BSRUZFUl9GVUxMLAorCQkgICAgICAgcHJlZml4LCBhcmd2KTsKIAotCXJlYWRfY2FjaGVfcHJlbG9hZChzLnBhdGhzcGVjKTsKLQlyZWZyZXNoX2luZGV4KCZ0aGVfaW5kZXgsIFJFRlJFU0hfUVVJRVR8UkVGUkVTSF9VTk1FUkdFRCwgcy5wYXRoc3BlYywgTlVMTCwgTlVMTCk7CisJcmVhZF9jYWNoZV9wcmVsb2FkKCZzLnBhdGhzcGVjKTsKKwlyZWZyZXNoX2luZGV4KCZ0aGVfaW5kZXgsIFJFRlJFU0hfUVVJRVR8UkVGUkVTSF9VTk1FUkdFRCwgJnMucGF0aHNwZWMsIE5VTEwsIE5VTEwpOwogCiAJZmQgPSBob2xkX2xvY2tlZF9pbmRleCgmaW5kZXhfbG9jaywgMCk7CiAJaWYgKDAgPD0gZmQpCkBAIC0xMzE3LDcgKzEzMzgsNyBAQAogCWNvbW1pdCA9IGxvb2t1cF9jb21taXQoc2hhMSk7CiAJaWYgKCFjb21taXQpCiAJCWRpZShfKCJjb3VsZG4ndCBsb29rIHVwIG5ld2x5IGNyZWF0ZWQgY29tbWl0IikpOwotCWlmICghY29tbWl0IHx8IHBhcnNlX2NvbW1pdChjb21taXQpKQorCWlmIChwYXJzZV9jb21taXQoY29tbWl0KSkKIAkJZGllKF8oImNvdWxkIG5vdCBwYXJzZSBuZXdseSBjcmVhdGVkIGNvbW1pdCIpKTsKIAogCXN0cmJ1Zl9hZGRzdHIoJmZvcm1hdCwgImZvcm1hdDolaF0gJXMiKTsKQEAgLTEzNTYsNyArMTM3Nyw3IEBACiAKIAloZWFkID0gcmVzb2x2ZV9yZWZfdW5zYWZlKCJIRUFEIiwganVua19zaGExLCAwLCBOVUxMKTsKIAlwcmludGYoIlslcyVzICIsCi0JCSFwcmVmaXhjbXAoaGVhZCwgInJlZnMvaGVhZHMvIikgPworCQlzdGFydHNfd2l0aChoZWFkLCAicmVmcy9oZWFkcy8iKSA/CiAJCQloZWFkICsgMTEgOgogCQkJIXN0cmNtcChoZWFkLCAiSEVBRCIpID8KIAkJCQlfKCJkZXRhY2hlZCBIRUFEIikgOgpAQCAtMTQ0MCwyNCArMTQ2MSwyNCBAQAogCQlPUFRfU1RSSU5HKCdDJywgInJldXNlLW1lc3NhZ2UiLCAmdXNlX21lc3NhZ2UsIE5fKCJjb21taXQiKSwgTl8oInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IikpLAogCQlPUFRfU1RSSU5HKDAsICJmaXh1cCIsICZmaXh1cF9tZXNzYWdlLCBOXygiY29tbWl0IiksIE5fKCJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IikpLAogCQlPUFRfU1RSSU5HKDAsICJzcXVhc2giLCAmc3F1YXNoX21lc3NhZ2UsIE5fKCJjb21taXQiKSwgTl8oInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIHNxdWFzaCBzcGVjaWZpZWQgY29tbWl0IikpLAotCQlPUFRfQk9PTEVBTigwLCAicmVzZXQtYXV0aG9yIiwgJnJlbmV3X2F1dGhvcnNoaXAsIE5fKCJ0aGUgY29tbWl0IGlzIGF1dGhvcmVkIGJ5IG1lIG5vdyAodXNlZCB3aXRoIC1DLy1jLy0tYW1lbmQpIikpLAotCQlPUFRfQk9PTEVBTigncycsICJzaWdub2ZmIiwgJnNpZ25vZmYsIE5fKCJhZGQgU2lnbmVkLW9mZi1ieToiKSksCisJCU9QVF9CT09MKDAsICJyZXNldC1hdXRob3IiLCAmcmVuZXdfYXV0aG9yc2hpcCwgTl8oInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiKSksCisJCU9QVF9CT09MKCdzJywgInNpZ25vZmYiLCAmc2lnbm9mZiwgTl8oImFkZCBTaWduZWQtb2ZmLWJ5OiIpKSwKIAkJT1BUX0ZJTEVOQU1FKCd0JywgInRlbXBsYXRlIiwgJnRlbXBsYXRlX2ZpbGUsIE5fKCJ1c2Ugc3BlY2lmaWVkIHRlbXBsYXRlIGZpbGUiKSksCiAJCU9QVF9CT09MKCdlJywgImVkaXQiLCAmZWRpdF9mbGFnLCBOXygiZm9yY2UgZWRpdCBvZiBjb21taXQiKSksCiAJCU9QVF9TVFJJTkcoMCwgImNsZWFudXAiLCAmY2xlYW51cF9hcmcsIE5fKCJkZWZhdWx0IiksIE5fKCJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIikpLAotCQlPUFRfQk9PTEVBTigwLCAic3RhdHVzIiwgJmluY2x1ZGVfc3RhdHVzLCBOXygiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiKSksCisJCU9QVF9CT09MKDAsICJzdGF0dXMiLCAmaW5jbHVkZV9zdGF0dXMsIE5fKCJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIpKSwKIAkJeyBPUFRJT05fU1RSSU5HLCAnUycsICJncGctc2lnbiIsICZzaWduX2NvbW1pdCwgTl8oImtleSBpZCIpLAogCQkgIE5fKCJHUEcgc2lnbiBjb21taXQiKSwgUEFSU0VfT1BUX09QVEFSRywgTlVMTCwgKGludHB0cl90KSAiIiB9LAogCQkvKiBlbmQgY29tbWl0IG1lc3NhZ2Ugb3B0aW9ucyAqLwogCiAJCU9QVF9HUk9VUChOXygiQ29tbWl0IGNvbnRlbnRzIG9wdGlvbnMiKSksCi0JCU9QVF9CT09MRUFOKCdhJywgImFsbCIsICZhbGwsIE5fKCJjb21taXQgYWxsIGNoYW5nZWQgZmlsZXMiKSksCi0JCU9QVF9CT09MRUFOKCdpJywgImluY2x1ZGUiLCAmYWxzbywgTl8oImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImludGVyYWN0aXZlIiwgJmludGVyYWN0aXZlLCBOXygiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiKSksCi0JCU9QVF9CT09MRUFOKCdwJywgInBhdGNoIiwgJnBhdGNoX2ludGVyYWN0aXZlLCBOXygiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIpKSwKLQkJT1BUX0JPT0xFQU4oJ28nLCAib25seSIsICZvbmx5LCBOXygiY29tbWl0IG9ubHkgc3BlY2lmaWVkIGZpbGVzIikpLAotCQlPUFRfQk9PTEVBTignbicsICJuby12ZXJpZnkiLCAmbm9fdmVyaWZ5LCBOXygiYnlwYXNzIHByZS1jb21taXQgaG9vayIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImRyeS1ydW4iLCAmZHJ5X3J1biwgTl8oInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiKSksCisJCU9QVF9CT09MKCdhJywgImFsbCIsICZhbGwsIE5fKCJjb21taXQgYWxsIGNoYW5nZWQgZmlsZXMiKSksCisJCU9QVF9CT09MKCdpJywgImluY2x1ZGUiLCAmYWxzbywgTl8oImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIpKSwKKwkJT1BUX0JPT0woMCwgImludGVyYWN0aXZlIiwgJmludGVyYWN0aXZlLCBOXygiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiKSksCisJCU9QVF9CT09MKCdwJywgInBhdGNoIiwgJnBhdGNoX2ludGVyYWN0aXZlLCBOXygiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIpKSwKKwkJT1BUX0JPT0woJ28nLCAib25seSIsICZvbmx5LCBOXygiY29tbWl0IG9ubHkgc3BlY2lmaWVkIGZpbGVzIikpLAorCQlPUFRfQk9PTCgnbicsICJuby12ZXJpZnkiLCAmbm9fdmVyaWZ5LCBOXygiYnlwYXNzIHByZS1jb21taXQgaG9vayIpKSwKKwkJT1BUX0JPT0woMCwgImRyeS1ydW4iLCAmZHJ5X3J1biwgTl8oInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiKSksCiAJCU9QVF9TRVRfSU5UKDAsICJzaG9ydCIsICZzdGF0dXNfZm9ybWF0LCBOXygic2hvdyBzdGF0dXMgY29uY2lzZWx5IiksCiAJCQkgICAgU1RBVFVTX0ZPUk1BVF9TSE9SVCksCiAJCU9QVF9CT09MKDAsICJicmFuY2giLCAmcy5zaG93X2JyYW5jaCwgTl8oInNob3cgYnJhbmNoIGluZm9ybWF0aW9uIikpLApAQCAtMTQ2NiwxOSArMTQ4NywxNyBAQAogCQlPUFRfU0VUX0lOVCgwLCAibG9uZyIsICZzdGF0dXNfZm9ybWF0LAogCQkJICAgIE5fKCJzaG93IHN0YXR1cyBpbiBsb25nIGZvcm1hdCAoZGVmYXVsdCkiKSwKIAkJCSAgICBTVEFUVVNfRk9STUFUX0xPTkcpLAotCQlPUFRfQk9PTEVBTigneicsICJudWxsIiwgJnMubnVsbF90ZXJtaW5hdGlvbiwKLQkJCSAgICBOXygidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiKSksCi0JCU9QVF9CT09MRUFOKDAsICJhbWVuZCIsICZhbWVuZCwgTl8oImFtZW5kIHByZXZpb3VzIGNvbW1pdCIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgIm5vLXBvc3QtcmV3cml0ZSIsICZub19wb3N0X3Jld3JpdGUsIE5fKCJieXBhc3MgcG9zdC1yZXdyaXRlIGhvb2siKSksCisJCU9QVF9CT09MKCd6JywgIm51bGwiLCAmcy5udWxsX3Rlcm1pbmF0aW9uLAorCQkJIE5fKCJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIpKSwKKwkJT1BUX0JPT0woMCwgImFtZW5kIiwgJmFtZW5kLCBOXygiYW1lbmQgcHJldmlvdXMgY29tbWl0IikpLAorCQlPUFRfQk9PTCgwLCAibm8tcG9zdC1yZXdyaXRlIiwgJm5vX3Bvc3RfcmV3cml0ZSwgTl8oImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIpKSwKIAkJeyBPUFRJT05fU1RSSU5HLCAndScsICJ1bnRyYWNrZWQtZmlsZXMiLCAmdW50cmFja2VkX2ZpbGVzX2FyZywgTl8oIm1vZGUiKSwgTl8oInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIpLCBQQVJTRV9PUFRfT1BUQVJHLCBOVUxMLCAoaW50cHRyX3QpImFsbCIgfSwKIAkJLyogZW5kIGNvbW1pdCBjb250ZW50cyBvcHRpb25zICovCiAKLQkJeyBPUFRJT05fQk9PTEVBTiwgMCwgImFsbG93LWVtcHR5IiwgJmFsbG93X2VtcHR5LCBOVUxMLAotCQkgIE5fKCJvayB0byByZWNvcmQgYW4gZW1wdHkgY2hhbmdlIiksCi0JCSAgUEFSU0VfT1BUX05PQVJHIHwgUEFSU0VfT1BUX0hJRERFTiB9LAotCQl7IE9QVElPTl9CT09MRUFOLCAwLCAiYWxsb3ctZW1wdHktbWVzc2FnZSIsICZhbGxvd19lbXB0eV9tZXNzYWdlLCBOVUxMLAotCQkgIE5fKCJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIiksCi0JCSAgUEFSU0VfT1BUX05PQVJHIHwgUEFSU0VfT1BUX0hJRERFTiB9LAorCQlPUFRfSElEREVOX0JPT0woMCwgImFsbG93LWVtcHR5IiwgJmFsbG93X2VtcHR5LAorCQkJCU5fKCJvayB0byByZWNvcmQgYW4gZW1wdHkgY2hhbmdlIikpLAorCQlPUFRfSElEREVOX0JPT0woMCwgImFsbG93LWVtcHR5LW1lc3NhZ2UiLCAmYWxsb3dfZW1wdHlfbWVzc2FnZSwKKwkJCQlOXygib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIpKSwKIAogCQlPUFRfRU5EKCkKIAl9OwpAQCAtMTQ4Niw3ICsxNTA1LDcgQEAKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0cmJ1ZiBhdXRob3JfaWRlbnQgPSBTVFJCVUZfSU5JVDsKIAljb25zdCBjaGFyICppbmRleF9maWxlLCAqcmVmbG9nX21zZzsKLQljaGFyICpubCwgKnA7CisJY2hhciAqbmw7CiAJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKIAlzdHJ1Y3QgcmVmX2xvY2sgKnJlZl9sb2NrOwogCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50cyA9IE5VTEwsICoqcHB0ciA9ICZwYXJlbnRzOwpAQCAtMTQ5OCwxOCArMTUxNywxNSBAQAogCWlmIChhcmdjID09IDIgJiYgIXN0cmNtcChhcmd2WzFdLCAiLWgiKSkKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKGJ1aWx0aW5fY29tbWl0X3VzYWdlLCBidWlsdGluX2NvbW1pdF9vcHRpb25zKTsKIAotCXd0X3N0YXR1c19wcmVwYXJlKCZzKTsKLQlnaXRtb2R1bGVzX2NvbmZpZygpOwotCWdpdF9jb25maWcoZ2l0X2NvbW1pdF9jb25maWcsICZzKTsKKwlzdGF0dXNfaW5pdF9jb25maWcoJnMsIGdpdF9jb21taXRfY29uZmlnKTsKIAlzdGF0dXNfZm9ybWF0ID0gU1RBVFVTX0ZPUk1BVF9OT05FOyAvKiBJZ25vcmUgc3RhdHVzLnNob3J0ICovCi0JZGV0ZXJtaW5lX3doZW5jZSgmcyk7CiAJcy5jb2xvcHRzID0gMDsKIAogCWlmIChnZXRfc2hhMSgiSEVBRCIsIHNoYTEpKQogCQljdXJyZW50X2hlYWQgPSBOVUxMOwogCWVsc2UgewogCQljdXJyZW50X2hlYWQgPSBsb29rdXBfY29tbWl0X29yX2RpZShzaGExLCAiSEVBRCIpOwotCQlpZiAoIWN1cnJlbnRfaGVhZCB8fCBwYXJzZV9jb21taXQoY3VycmVudF9oZWFkKSkKKwkJaWYgKHBhcnNlX2NvbW1pdChjdXJyZW50X2hlYWQpKQogCQkJZGllKF8oImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIpKTsKIAl9CiAJYXJnYyA9IHBhcnNlX2FuZF92YWxpZGF0ZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIGJ1aWx0aW5fY29tbWl0X29wdGlvbnMsCkBAIC0xNTg1LDExICsxNjAxLDggQEAKIAl9CiAKIAkvKiBUcnVuY2F0ZSB0aGUgbWVzc2FnZSBqdXN0IGJlZm9yZSB0aGUgZGlmZiwgaWYgYW55LiAqLwotCWlmICh2ZXJib3NlKSB7Ci0JCXAgPSBzdHJzdHIoc2IuYnVmLCAiXG5kaWZmIC0tZ2l0ICIpOwotCQlpZiAocCAhPSBOVUxMKQotCQkJc3RyYnVmX3NldGxlbigmc2IsIHAgLSBzYi5idWYgKyAxKTsKLQl9CisJaWYgKHZlcmJvc2UpCisJCXd0X3N0YXR1c190cnVuY2F0ZV9tZXNzYWdlX2F0X2N1dF9saW5lKCZzYik7CiAKIAlpZiAoY2xlYW51cF9tb2RlICE9IENMRUFOVVBfTk9ORSkKIAkJc3RyaXBzcGFjZSgmc2IsIGNsZWFudXBfbW9kZSA9PSBDTEVBTlVQX0FMTCk7CkBAIC0xNjI0LDcgKzE2MzcsNyBAQAogCQkJCQkgICAhY3VycmVudF9oZWFkCiAJCQkJCSAgID8gTlVMTAogCQkJCQkgICA6IGN1cnJlbnRfaGVhZC0+b2JqZWN0LnNoYTEsCi0JCQkJCSAgIDApOworCQkJCQkgICAwLCBOVUxMKTsKIAogCW5sID0gc3RyY2hyKHNiLmJ1ZiwgJ1xuJyk7CiAJaWYgKG5sKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jb25maWcuYyBiL2J1aWx0aW4vY29uZmlnLmMKaW5kZXggNDAxMGM0My4uOTJlYmYyMyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jb25maWcuYworKysgYi9idWlsdGluL2NvbmZpZy5jCkBAIC0yLDYgKzIsNyBAQAogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAiY29sb3IuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCisjaW5jbHVkZSAidXJsbWF0Y2guaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IGJ1aWx0aW5fY29uZmlnX3VzYWdlW10gPSB7CiAJTl8oImdpdCBjb25maWcgW29wdGlvbnNdIiksCkBAIC00Miw2ICs0Myw3IEBACiAjZGVmaW5lIEFDVElPTl9TRVRfQUxMICgxPDwxMikKICNkZWZpbmUgQUNUSU9OX0dFVF9DT0xPUiAoMTw8MTMpCiAjZGVmaW5lIEFDVElPTl9HRVRfQ09MT1JCT09MICgxPDwxNCkKKyNkZWZpbmUgQUNUSU9OX0dFVF9VUkxNQVRDSCAoMTw8MTUpCiAKICNkZWZpbmUgVFlQRV9CT09MICgxPDwwKQogI2RlZmluZSBUWVBFX0lOVCAoMTw8MSkKQEAgLTUwLDE1ICs1MiwxNiBAQAogCiBzdGF0aWMgc3RydWN0IG9wdGlvbiBidWlsdGluX2NvbmZpZ19vcHRpb25zW10gPSB7CiAJT1BUX0dST1VQKE5fKCJDb25maWcgZmlsZSBsb2NhdGlvbiIpKSwKLQlPUFRfQk9PTEVBTigwLCAiZ2xvYmFsIiwgJnVzZV9nbG9iYWxfY29uZmlnLCBOXygidXNlIGdsb2JhbCBjb25maWcgZmlsZSIpKSwKLQlPUFRfQk9PTEVBTigwLCAic3lzdGVtIiwgJnVzZV9zeXN0ZW1fY29uZmlnLCBOXygidXNlIHN5c3RlbSBjb25maWcgZmlsZSIpKSwKLQlPUFRfQk9PTEVBTigwLCAibG9jYWwiLCAmdXNlX2xvY2FsX2NvbmZpZywgTl8oInVzZSByZXBvc2l0b3J5IGNvbmZpZyBmaWxlIikpLAorCU9QVF9CT09MKDAsICJnbG9iYWwiLCAmdXNlX2dsb2JhbF9jb25maWcsIE5fKCJ1c2UgZ2xvYmFsIGNvbmZpZyBmaWxlIikpLAorCU9QVF9CT09MKDAsICJzeXN0ZW0iLCAmdXNlX3N5c3RlbV9jb25maWcsIE5fKCJ1c2Ugc3lzdGVtIGNvbmZpZyBmaWxlIikpLAorCU9QVF9CT09MKDAsICJsb2NhbCIsICZ1c2VfbG9jYWxfY29uZmlnLCBOXygidXNlIHJlcG9zaXRvcnkgY29uZmlnIGZpbGUiKSksCiAJT1BUX1NUUklORygnZicsICJmaWxlIiwgJmdpdmVuX2NvbmZpZ19maWxlLCBOXygiZmlsZSIpLCBOXygidXNlIGdpdmVuIGNvbmZpZyBmaWxlIikpLAogCU9QVF9TVFJJTkcoMCwgImJsb2IiLCAmZ2l2ZW5fY29uZmlnX2Jsb2IsIE5fKCJibG9iLWlkIiksIE5fKCJyZWFkIGNvbmZpZyBmcm9tIGdpdmVuIGJsb2Igb2JqZWN0IikpLAogCU9QVF9HUk9VUChOXygiQWN0aW9uIikpLAogCU9QVF9CSVQoMCwgImdldCIsICZhY3Rpb25zLCBOXygiZ2V0IHZhbHVlOiBuYW1lIFt2YWx1ZS1yZWdleF0iKSwgQUNUSU9OX0dFVCksCiAJT1BUX0JJVCgwLCAiZ2V0LWFsbCIsICZhY3Rpb25zLCBOXygiZ2V0IGFsbCB2YWx1ZXM6IGtleSBbdmFsdWUtcmVnZXhdIiksIEFDVElPTl9HRVRfQUxMKSwKIAlPUFRfQklUKDAsICJnZXQtcmVnZXhwIiwgJmFjdGlvbnMsIE5fKCJnZXQgdmFsdWVzIGZvciByZWdleHA6IG5hbWUtcmVnZXggW3ZhbHVlLXJlZ2V4XSIpLCBBQ1RJT05fR0VUX1JFR0VYUCksCisJT1BUX0JJVCgwLCAiZ2V0LXVybG1hdGNoIiwgJmFjdGlvbnMsIE5fKCJnZXQgdmFsdWUgc3BlY2lmaWMgZm9yIHRoZSBVUkw6IHNlY3Rpb25bLnZhcl0gVVJMIiksIEFDVElPTl9HRVRfVVJMTUFUQ0gpLAogCU9QVF9CSVQoMCwgInJlcGxhY2UtYWxsIiwgJmFjdGlvbnMsIE5fKCJyZXBsYWNlIGFsbCBtYXRjaGluZyB2YXJpYWJsZXM6IG5hbWUgdmFsdWUgW3ZhbHVlX3JlZ2V4XSIpLCBBQ1RJT05fUkVQTEFDRV9BTEwpLAogCU9QVF9CSVQoMCwgImFkZCIsICZhY3Rpb25zLCBOXygiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIiksIEFDVElPTl9BREQpLAogCU9QVF9CSVQoMCwgInVuc2V0IiwgJmFjdGlvbnMsIE5fKCJyZW1vdmUgYSB2YXJpYWJsZTogbmFtZSBbdmFsdWUtcmVnZXhdIiksIEFDVElPTl9VTlNFVCksCkBAIC03NSw3ICs3OCw3IEBACiAJT1BUX0JJVCgwLCAiYm9vbC1vci1pbnQiLCAmdHlwZXMsIE5fKCJ2YWx1ZSBpcyAtLWJvb2wgb3IgLS1pbnQiKSwgVFlQRV9CT09MX09SX0lOVCksCiAJT1BUX0JJVCgwLCAicGF0aCIsICZ0eXBlcywgTl8oInZhbHVlIGlzIGEgcGF0aCAoZmlsZSBvciBkaXJlY3RvcnkgbmFtZSkiKSwgVFlQRV9QQVRIKSwKIAlPUFRfR1JPVVAoTl8oIk90aGVyIikpLAotCU9QVF9CT09MRUFOKCd6JywgIm51bGwiLCAmZW5kX251bGwsIE5fKCJ0ZXJtaW5hdGUgdmFsdWVzIHdpdGggTlVMIGJ5dGUiKSksCisJT1BUX0JPT0woJ3onLCAibnVsbCIsICZlbmRfbnVsbCwgTl8oInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIpKSwKIAlPUFRfQk9PTCgwLCAiaW5jbHVkZXMiLCAmcmVzcGVjdF9pbmNsdWRlcywgTl8oInJlc3BlY3QgaW5jbHVkZSBkaXJlY3RpdmVzIG9uIGxvb2t1cCIpKSwKIAlPUFRfRU5EKCksCiB9OwpAQCAtMTAyLDI1ICsxMDUsMTMgQEAKIAlpbnQgYWxsb2M7CiB9OwogCi1zdGF0aWMgaW50IGNvbGxlY3RfY29uZmlnKGNvbnN0IGNoYXIgKmtleV8sIGNvbnN0IGNoYXIgKnZhbHVlXywgdm9pZCAqY2IpCitzdGF0aWMgaW50IGZvcm1hdF9jb25maWcoc3RydWN0IHN0cmJ1ZiAqYnVmLCBjb25zdCBjaGFyICprZXlfLCBjb25zdCBjaGFyICp2YWx1ZV8pCiB7Ci0Jc3RydWN0IHN0cmJ1Zl9saXN0ICp2YWx1ZXMgPSBjYjsKLQlzdHJ1Y3Qgc3RyYnVmICpidWY7Ci0JY2hhciB2YWx1ZVsyNTZdOwotCWNvbnN0IGNoYXIgKnZwdHIgPSB2YWx1ZTsKIAlpbnQgbXVzdF9mcmVlX3ZwdHIgPSAwOwogCWludCBtdXN0X3ByaW50X2RlbGltID0gMDsKKwljaGFyIHZhbHVlWzI1Nl07CisJY29uc3QgY2hhciAqdnB0ciA9IHZhbHVlOwogCi0JaWYgKCF1c2Vfa2V5X3JlZ2V4cCAmJiBzdHJjbXAoa2V5Xywga2V5KSkKLQkJcmV0dXJuIDA7Ci0JaWYgKHVzZV9rZXlfcmVnZXhwICYmIHJlZ2V4ZWMoa2V5X3JlZ2V4cCwga2V5XywgMCwgTlVMTCwgMCkpCi0JCXJldHVybiAwOwotCWlmIChyZWdleHAgIT0gTlVMTCAmJgotCSAgICAoZG9fbm90X21hdGNoIF4gISFyZWdleGVjKHJlZ2V4cCwgKHZhbHVlXz92YWx1ZV86IiIpLCAwLCBOVUxMLCAwKSkpCi0JCXJldHVybiAwOwotCi0JQUxMT0NfR1JPVyh2YWx1ZXMtPml0ZW1zLCB2YWx1ZXMtPm5yICsgMSwgdmFsdWVzLT5hbGxvYyk7Ci0JYnVmID0gJnZhbHVlcy0+aXRlbXNbdmFsdWVzLT5ucisrXTsKIAlzdHJidWZfaW5pdChidWYsIDApOwogCiAJaWYgKHNob3dfa2V5cykgewpAQCAtMTI4LDcgKzExOSw4IEBACiAJCW11c3RfcHJpbnRfZGVsaW0gPSAxOwogCX0KIAlpZiAodHlwZXMgPT0gVFlQRV9JTlQpCi0JCXNwcmludGYodmFsdWUsICIlZCIsIGdpdF9jb25maWdfaW50KGtleV8sIHZhbHVlXz92YWx1ZV86IiIpKTsKKwkJc3ByaW50Zih2YWx1ZSwgIiUiUFJJZDY0LAorCQkJZ2l0X2NvbmZpZ19pbnQ2NChrZXlfLCB2YWx1ZV8gPyB2YWx1ZV8gOiAiIikpOwogCWVsc2UgaWYgKHR5cGVzID09IFRZUEVfQk9PTCkKIAkJdnB0ciA9IGdpdF9jb25maWdfYm9vbChrZXlfLCB2YWx1ZV8pID8gInRydWUiIDogImZhbHNlIjsKIAllbHNlIGlmICh0eXBlcyA9PSBUWVBFX0JPT0xfT1JfSU5UKSB7CkBAIC0xNTYsMTUgKzE0OCwyNyBAQAogCXN0cmJ1Zl9hZGRjaChidWYsIHRlcm0pOwogCiAJaWYgKG11c3RfZnJlZV92cHRyKQotCQkvKiBJZiB2cHRyIG11c3QgYmUgZnJlZWQsIGl0J3MgYSBwb2ludGVyIHRvIGEKLQkJICogZHluYW1pY2FsbHkgYWxsb2NhdGVkIGJ1ZmZlciwgaXQncyBzYWZlIHRvIGNhc3QgdG8KLQkJICogY29uc3QuCi0JCSovCiAJCWZyZWUoKGNoYXIgKil2cHRyKTsKLQogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGNvbGxlY3RfY29uZmlnKGNvbnN0IGNoYXIgKmtleV8sIGNvbnN0IGNoYXIgKnZhbHVlXywgdm9pZCAqY2IpCit7CisJc3RydWN0IHN0cmJ1Zl9saXN0ICp2YWx1ZXMgPSBjYjsKKworCWlmICghdXNlX2tleV9yZWdleHAgJiYgc3RyY21wKGtleV8sIGtleSkpCisJCXJldHVybiAwOworCWlmICh1c2Vfa2V5X3JlZ2V4cCAmJiByZWdleGVjKGtleV9yZWdleHAsIGtleV8sIDAsIE5VTEwsIDApKQorCQlyZXR1cm4gMDsKKwlpZiAocmVnZXhwICE9IE5VTEwgJiYKKwkgICAgKGRvX25vdF9tYXRjaCBeICEhcmVnZXhlYyhyZWdleHAsICh2YWx1ZV8/dmFsdWVfOiIiKSwgMCwgTlVMTCwgMCkpKQorCQlyZXR1cm4gMDsKKworCUFMTE9DX0dST1codmFsdWVzLT5pdGVtcywgdmFsdWVzLT5uciArIDEsIHZhbHVlcy0+YWxsb2MpOworCisJcmV0dXJuIGZvcm1hdF9jb25maWcoJnZhbHVlcy0+aXRlbXNbdmFsdWVzLT5ucisrXSwga2V5XywgdmFsdWVfKTsKK30KKwogc3RhdGljIGludCBnZXRfdmFsdWUoY29uc3QgY2hhciAqa2V5XywgY29uc3QgY2hhciAqcmVnZXhfKQogewogCWludCByZXQgPSBDT05GSUdfR0VORVJJQ19FUlJPUjsKQEAgLTI2NSw4ICsyNjksOCBAQAogCWVsc2UgewogCQlub3JtYWxpemVkID0geG1hbGxvYyg2NCk7CiAJCWlmICh0eXBlcyA9PSBUWVBFX0lOVCkgewotCQkJaW50IHYgPSBnaXRfY29uZmlnX2ludChrZXksIHZhbHVlKTsKLQkJCXNwcmludGYobm9ybWFsaXplZCwgIiVkIiwgdik7CisJCQlpbnQ2NF90IHYgPSBnaXRfY29uZmlnX2ludDY0KGtleSwgdmFsdWUpOworCQkJc3ByaW50Zihub3JtYWxpemVkLCAiJSJQUklkNjQsIHYpOwogCQl9CiAJCWVsc2UgaWYgKHR5cGVzID09IFRZUEVfQk9PTCkKIAkJCXNwcmludGYobm9ybWFsaXplZCwgIiVzIiwKQEAgLTM2NCw2ICszNjgsOTcgQEAKIAkJZGllKCJ3cml0aW5nIGNvbmZpZyBibG9icyBpcyBub3Qgc3VwcG9ydGVkIik7CiB9CiAKK3N0cnVjdCB1cmxtYXRjaF9jdXJyZW50X2NhbmRpZGF0ZV92YWx1ZSB7CisJY2hhciB2YWx1ZV9pc19udWxsOworCXN0cnVjdCBzdHJidWYgdmFsdWU7Cit9OworCitzdGF0aWMgaW50IHVybG1hdGNoX2NvbGxlY3RfZm4oY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpCit7CisJc3RydWN0IHN0cmluZ19saXN0ICp2YWx1ZXMgPSBjYjsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbSA9IHN0cmluZ19saXN0X2luc2VydCh2YWx1ZXMsIHZhcik7CisJc3RydWN0IHVybG1hdGNoX2N1cnJlbnRfY2FuZGlkYXRlX3ZhbHVlICptYXRjaGVkID0gaXRlbS0+dXRpbDsKKworCWlmICghbWF0Y2hlZCkgeworCQltYXRjaGVkID0geG1hbGxvYyhzaXplb2YoKm1hdGNoZWQpKTsKKwkJc3RyYnVmX2luaXQoJm1hdGNoZWQtPnZhbHVlLCAwKTsKKwkJaXRlbS0+dXRpbCA9IG1hdGNoZWQ7CisJfSBlbHNlIHsKKwkJc3RyYnVmX3Jlc2V0KCZtYXRjaGVkLT52YWx1ZSk7CisJfQorCisJaWYgKHZhbHVlKSB7CisJCXN0cmJ1Zl9hZGRzdHIoJm1hdGNoZWQtPnZhbHVlLCB2YWx1ZSk7CisJCW1hdGNoZWQtPnZhbHVlX2lzX251bGwgPSAwOworCX0gZWxzZSB7CisJCW1hdGNoZWQtPnZhbHVlX2lzX251bGwgPSAxOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNoYXIgKmR1cF9kb3duY2FzZShjb25zdCBjaGFyICpzdHJpbmcpCit7CisJY2hhciAqcmVzdWx0OworCXNpemVfdCBsZW4sIGk7CisKKwlsZW4gPSBzdHJsZW4oc3RyaW5nKTsKKwlyZXN1bHQgPSB4bWFsbG9jKGxlbiArIDEpOworCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykKKwkJcmVzdWx0W2ldID0gdG9sb3dlcihzdHJpbmdbaV0pOworCXJlc3VsdFtpXSA9ICdcMCc7CisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIGludCBnZXRfdXJsbWF0Y2goY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp1cmwpCit7CisJY2hhciAqc2VjdGlvbl90YWlsOworCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOworCXN0cnVjdCB1cmxtYXRjaF9jb25maWcgY29uZmlnID0geyBTVFJJTkdfTElTVF9JTklUX0RVUCB9OworCXN0cnVjdCBzdHJpbmdfbGlzdCB2YWx1ZXMgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKKworCWNvbmZpZy5jb2xsZWN0X2ZuID0gdXJsbWF0Y2hfY29sbGVjdF9mbjsKKwljb25maWcuY2FzY2FkZV9mbiA9IE5VTEw7CisJY29uZmlnLmNiID0gJnZhbHVlczsKKworCWlmICghdXJsX25vcm1hbGl6ZSh1cmwsICZjb25maWcudXJsKSkKKwkJZGllKCIlcyIsIGNvbmZpZy51cmwuZXJyKTsKKworCWNvbmZpZy5zZWN0aW9uID0gZHVwX2Rvd25jYXNlKHZhcik7CisJc2VjdGlvbl90YWlsID0gc3RyY2hyKGNvbmZpZy5zZWN0aW9uLCAnLicpOworCWlmIChzZWN0aW9uX3RhaWwpIHsKKwkJKnNlY3Rpb25fdGFpbCA9ICdcMCc7CisJCWNvbmZpZy5rZXkgPSBzZWN0aW9uX3RhaWwgKyAxOworCQlzaG93X2tleXMgPSAwOworCX0gZWxzZSB7CisJCWNvbmZpZy5rZXkgPSBOVUxMOworCQlzaG93X2tleXMgPSAxOworCX0KKworCWdpdF9jb25maWdfd2l0aF9vcHRpb25zKHVybG1hdGNoX2NvbmZpZ19lbnRyeSwgJmNvbmZpZywKKwkJCQlnaXZlbl9jb25maWdfZmlsZSwgTlVMTCwgcmVzcGVjdF9pbmNsdWRlcyk7CisKKwlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sICZ2YWx1ZXMpIHsKKwkJc3RydWN0IHVybG1hdGNoX2N1cnJlbnRfY2FuZGlkYXRlX3ZhbHVlICptYXRjaGVkID0gaXRlbS0+dXRpbDsKKwkJc3RydWN0IHN0cmJ1ZiBrZXkgPSBTVFJCVUZfSU5JVDsKKwkJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKKworCQlzdHJidWZfYWRkc3RyKCZrZXksIGl0ZW0tPnN0cmluZyk7CisJCWZvcm1hdF9jb25maWcoJmJ1Ziwga2V5LmJ1ZiwKKwkJCSAgICAgIG1hdGNoZWQtPnZhbHVlX2lzX251bGwgPyBOVUxMIDogbWF0Y2hlZC0+dmFsdWUuYnVmKTsKKwkJZndyaXRlKGJ1Zi5idWYsIDEsIGJ1Zi5sZW4sIHN0ZG91dCk7CisJCXN0cmJ1Zl9yZWxlYXNlKCZrZXkpOworCQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKKworCQlzdHJidWZfcmVsZWFzZSgmbWF0Y2hlZC0+dmFsdWUpOworCX0KKwlzdHJpbmdfbGlzdF9jbGVhcigmY29uZmlnLnZhcnMsIDEpOworCXN0cmluZ19saXN0X2NsZWFyKCZ2YWx1ZXMsIDEpOworCWZyZWUoY29uZmlnLnVybC51cmwpOworCisJZnJlZSgodm9pZCAqKWNvbmZpZy5zZWN0aW9uKTsKKwlyZXR1cm4gMDsKK30KKwogaW50IGNtZF9jb25maWcoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJaW50IG5vbmdpdCA9ICFzdGFydHVwX2luZm8tPmhhdmVfcmVwb3NpdG9yeTsKQEAgLTUyMyw2ICs2MTgsMTAgQEAKIAkJY2hlY2tfYXJnYyhhcmdjLCAxLCAyKTsKIAkJcmV0dXJuIGdldF92YWx1ZShhcmd2WzBdLCBhcmd2WzFdKTsKIAl9CisJZWxzZSBpZiAoYWN0aW9ucyA9PSBBQ1RJT05fR0VUX1VSTE1BVENIKSB7CisJCWNoZWNrX2FyZ2MoYXJnYywgMiwgMik7CisJCXJldHVybiBnZXRfdXJsbWF0Y2goYXJndlswXSwgYXJndlsxXSk7CisJfQogCWVsc2UgaWYgKGFjdGlvbnMgPT0gQUNUSU9OX1VOU0VUKSB7CiAJCWNoZWNrX2Jsb2Jfd3JpdGUoKTsKIAkJY2hlY2tfYXJnYyhhcmdjLCAxLCAyKTsKQEAgLTU3Miw5ICs2NzEsMyBAQAogCiAJcmV0dXJuIDA7CiB9Ci0KLWludCBjbWRfcmVwb19jb25maWcoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCi17Ci0JZnByaW50ZihzdGRlcnIsICJXQVJOSU5HOiBnaXQgcmVwby1jb25maWcgaXMgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiBnaXQgY29uZmlnLlxuIik7Ci0JcmV0dXJuIGNtZF9jb25maWcoYXJnYywgYXJndiwgcHJlZml4KTsKLX0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vZGVzY3JpYmUuYyBiL2J1aWx0aW4vZGVzY3JpYmUuYwppbmRleCA3ZDczNzIyLi43ZGI0M2RhIDEwMDY0NAotLS0gYS9idWlsdGluL2Rlc2NyaWJlLmMKKysrIGIvYnVpbHRpbi9kZXNjcmliZS5jCkBAIC05LDExICs5LDExIEBACiAjaW5jbHVkZSAiaGFzaC5oIgogI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKIAotI2RlZmluZSBTRUVOCQkoMXU8PDApCisjZGVmaW5lIFNFRU4JCSgxdSA8PCAwKQogI2RlZmluZSBNQVhfVEFHUwkoRkxBR19CSVRTIC0gMSkKIAogc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBkZXNjcmliZV91c2FnZVtdID0gewotCU5fKCJnaXQgZGVzY3JpYmUgW29wdGlvbnNdIDxjb21taXR0aXNoPioiKSwKKwlOXygiZ2l0IGRlc2NyaWJlIFtvcHRpb25zXSA8Y29tbWl0LWlzaD4qIiksCiAJTl8oImdpdCBkZXNjcmliZSBbb3B0aW9uc10gLS1kaXJ0eSIpLAogCU5VTEwKIH07CkBAIC0zNiw3ICszNiw2IEBACiAJImRpZmYtaW5kZXgiLCAiLS1xdWlldCIsICJIRUFEIiwgIi0tIiwgTlVMTAogfTsKIAotCiBzdHJ1Y3QgY29tbWl0X25hbWUgewogCXN0cnVjdCBjb21taXRfbmFtZSAqbmV4dDsKIAl1bnNpZ25lZCBjaGFyIHBlZWxlZFsyMF07CkBAIC00Niw2ICs0NSw3IEBACiAJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKIAljaGFyICpwYXRoOwogfTsKKwogc3RhdGljIGNvbnN0IGNoYXIgKnByaW9fbmFtZXNbXSA9IHsKIAkiaGVhZCIsICJsaWdodHdlaWdodCIsICJhbm5vdGF0ZWQiLAogfTsKQEAgLTE0MSw3ICsxNDEsNyBAQAogCiBzdGF0aWMgaW50IGdldF9uYW1lKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCBmbGFnLCB2b2lkICpjYl9kYXRhKQogewotCWludCBpc190YWcgPSAhcHJlZml4Y21wKHBhdGgsICJyZWZzL3RhZ3MvIik7CisJaW50IGlzX3RhZyA9IHN0YXJ0c193aXRoKHBhdGgsICJyZWZzL3RhZ3MvIik7CiAJdW5zaWduZWQgY2hhciBwZWVsZWRbMjBdOwogCWludCBpc19hbm5vdGF0ZWQsIHByaW87CiAKQEAgLTQwNiwxMiArNDA2LDEyIEBACiB7CiAJaW50IGNvbnRhaW5zID0gMDsKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKLQkJT1BUX0JPT0xFQU4oMCwgImNvbnRhaW5zIiwgICAmY29udGFpbnMsIE5fKCJmaW5kIHRoZSB0YWcgdGhhdCBjb21lcyBhZnRlciB0aGUgY29tbWl0IikpLAotCQlPUFRfQk9PTEVBTigwLCAiZGVidWciLCAgICAgICZkZWJ1ZywgTl8oImRlYnVnIHNlYXJjaCBzdHJhdGVneSBvbiBzdGRlcnIiKSksCi0JCU9QVF9CT09MRUFOKDAsICJhbGwiLCAgICAgICAgJmFsbCwgTl8oInVzZSBhbnkgcmVmIikpLAotCQlPUFRfQk9PTEVBTigwLCAidGFncyIsICAgICAgICZ0YWdzLCBOXygidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiKSksCi0JCU9QVF9CT09MRUFOKDAsICJsb25nIiwgICAgICAgJmxvbmdmb3JtYXQsIE5fKCJhbHdheXMgdXNlIGxvbmcgZm9ybWF0IikpLAotCQlPUFRfQk9PTEVBTigwLCAiZmlyc3QtcGFyZW50IiwgJmZpcnN0X3BhcmVudCwgTl8oIm9ubHkgZm9sbG93IGZpcnN0IHBhcmVudCIpKSwKKwkJT1BUX0JPT0woMCwgImNvbnRhaW5zIiwgICAmY29udGFpbnMsIE5fKCJmaW5kIHRoZSB0YWcgdGhhdCBjb21lcyBhZnRlciB0aGUgY29tbWl0IikpLAorCQlPUFRfQk9PTCgwLCAiZGVidWciLCAgICAgICZkZWJ1ZywgTl8oImRlYnVnIHNlYXJjaCBzdHJhdGVneSBvbiBzdGRlcnIiKSksCisJCU9QVF9CT09MKDAsICJhbGwiLCAgICAgICAgJmFsbCwgTl8oInVzZSBhbnkgcmVmIikpLAorCQlPUFRfQk9PTCgwLCAidGFncyIsICAgICAgICZ0YWdzLCBOXygidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiKSksCisJCU9QVF9CT09MKDAsICJsb25nIiwgICAgICAgJmxvbmdmb3JtYXQsIE5fKCJhbHdheXMgdXNlIGxvbmcgZm9ybWF0IikpLAorCQlPUFRfQk9PTCgwLCAiZmlyc3QtcGFyZW50IiwgJmZpcnN0X3BhcmVudCwgTl8oIm9ubHkgZm9sbG93IGZpcnN0IHBhcmVudCIpKSwKIAkJT1BUX19BQkJSRVYoJmFiYnJldiksCiAJCU9QVF9TRVRfSU5UKDAsICJleGFjdC1tYXRjaCIsICZtYXhfY2FuZGlkYXRlcywKIAkJCSAgICBOXygib25seSBvdXRwdXQgZXhhY3QgbWF0Y2hlcyIpLCAwKSwKQEAgLTQxOSwxMSArNDE5LDExIEBACiAJCQkgICAgTl8oImNvbnNpZGVyIDxuPiBtb3N0IHJlY2VudCB0YWdzIChkZWZhdWx0OiAxMCkiKSksCiAJCU9QVF9TVFJJTkcoMCwgIm1hdGNoIiwgICAgICAgJnBhdHRlcm4sIE5fKCJwYXR0ZXJuIiksCiAJCQkgICBOXygib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImFsd2F5cyIsICAgICAmYWx3YXlzLAotCQkJICAgTl8oInNob3cgYWJicmV2aWF0ZWQgY29tbWl0IG9iamVjdCBhcyBmYWxsYmFjayIpKSwKKwkJT1BUX0JPT0woMCwgImFsd2F5cyIsICAgICAgICAmYWx3YXlzLAorCQkJTl8oInNob3cgYWJicmV2aWF0ZWQgY29tbWl0IG9iamVjdCBhcyBmYWxsYmFjayIpKSwKIAkJe09QVElPTl9TVFJJTkcsIDAsICJkaXJ0eSIsICAmZGlydHksIE5fKCJtYXJrIiksCi0JCQkgICBOXygiYXBwZW5kIDxtYXJrPiBvbiBkaXJ0eSB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWRpcnR5XCIpIiksCi0JCSBQQVJTRV9PUFRfT1BUQVJHLCBOVUxMLCAoaW50cHRyX3QpICItZGlydHkifSwKKwkJCU5fKCJhcHBlbmQgPG1hcms+IG9uIGRpcnR5IHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItZGlydHlcIikiKSwKKwkJCVBBUlNFX09QVF9PUFRBUkcsIE5VTEwsIChpbnRwdHJfdCkgIi1kaXJ0eSJ9LAogCQlPUFRfRU5EKCksCiAJfTsKIApAQCAtNDg2LDExICs0ODYsMTAgQEAKIAkJfQogCQlkZXNjcmliZSgiSEVBRCIsIDEpOwogCX0gZWxzZSBpZiAoZGlydHkpIHsKLQkJZGllKF8oIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0dGlzaGVzIikpOworCQlkaWUoXygiLS1kaXJ0eSBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXQtaXNoZXMiKSk7CiAJfSBlbHNlIHsKLQkJd2hpbGUgKGFyZ2MtLSA+IDApIHsKKwkJd2hpbGUgKGFyZ2MtLSA+IDApCiAJCQlkZXNjcmliZSgqYXJndisrLCBhcmdjID09IDApOwotCQl9CiAJfQogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9kaWZmLWZpbGVzLmMgYi9idWlsdGluL2RpZmYtZmlsZXMuYwppbmRleCA0NjA4NWY4Li45MjAwMDY5IDEwMDY0NAotLS0gYS9idWlsdGluL2RpZmYtZmlsZXMuYworKysgYi9idWlsdGluL2RpZmYtZmlsZXMuYwpAQCAtNjEsNyArNjEsNyBAQAogCSAgICAocmV2LmRpZmZvcHQub3V0cHV0X2Zvcm1hdCAmIERJRkZfRk9STUFUX1BBVENIKSkKIAkJcmV2LmNvbWJpbmVfbWVyZ2VzID0gcmV2LmRlbnNlX2NvbWJpbmVkX21lcmdlcyA9IDE7CiAKLQlpZiAocmVhZF9jYWNoZV9wcmVsb2FkKHJldi5kaWZmb3B0LnBhdGhzcGVjLnJhdykgPCAwKSB7CisJaWYgKHJlYWRfY2FjaGVfcHJlbG9hZCgmcmV2LmRpZmZvcHQucGF0aHNwZWMpIDwgMCkgewogCQlwZXJyb3IoInJlYWRfY2FjaGVfcHJlbG9hZCIpOwogCQlyZXR1cm4gLTE7CiAJfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9kaWZmLWluZGV4LmMgYi9idWlsdGluL2RpZmYtaW5kZXguYwppbmRleCAxYzczN2Y3Li5jZTE1YjIzIDEwMDY0NAotLS0gYS9idWlsdGluL2RpZmYtaW5kZXguYworKysgYi9idWlsdGluL2RpZmYtaW5kZXguYwpAQCAtNDMsNyArNDMsNyBAQAogCQl1c2FnZShkaWZmX2NhY2hlX3VzYWdlKTsKIAlpZiAoIWNhY2hlZCkgewogCQlzZXR1cF93b3JrX3RyZWUoKTsKLQkJaWYgKHJlYWRfY2FjaGVfcHJlbG9hZChyZXYuZGlmZm9wdC5wYXRoc3BlYy5yYXcpIDwgMCkgeworCQlpZiAocmVhZF9jYWNoZV9wcmVsb2FkKCZyZXYuZGlmZm9wdC5wYXRoc3BlYykgPCAwKSB7CiAJCQlwZXJyb3IoInJlYWRfY2FjaGVfcHJlbG9hZCIpOwogCQkJcmV0dXJuIC0xOwogCQl9CmRpZmYgLS1naXQgYS9idWlsdGluL2RpZmYuYyBiL2J1aWx0aW4vZGlmZi5jCmluZGV4IDlmYzI3M2QuLjBmMjQ3ZDIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vZGlmZi5jCisrKyBiL2J1aWx0aW4vZGlmZi5jCkBAIC0xNiw2ICsxNiw5IEBACiAjaW5jbHVkZSAic3VibW9kdWxlLmgiCiAjaW5jbHVkZSAic2hhMS1hcnJheS5oIgogCisjZGVmaW5lIERJRkZfTk9fSU5ERVhfRVhQTElDSVQgMQorI2RlZmluZSBESUZGX05PX0lOREVYX0lNUExJQ0lUIDIKKwogc3RydWN0IGJsb2JpbmZvIHsKIAl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwogCWNvbnN0IGNoYXIgKm5hbWU7CkBAIC02NCwxNSArNjcsMTggQEAKIAogc3RhdGljIGludCBidWlsdGluX2RpZmZfYl9mKHN0cnVjdCByZXZfaW5mbyAqcmV2cywKIAkJCSAgICBpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsCi0JCQkgICAgc3RydWN0IGJsb2JpbmZvICpibG9iLAotCQkJICAgIGNvbnN0IGNoYXIgKnBhdGgpCisJCQkgICAgc3RydWN0IGJsb2JpbmZvICpibG9iKQogewogCS8qIEJsb2IgdnMgZmlsZSBpbiB0aGUgd29ya2luZyB0cmVlKi8KIAlzdHJ1Y3Qgc3RhdCBzdDsKKwljb25zdCBjaGFyICpwYXRoOwogCiAJaWYgKGFyZ2MgPiAxKQogCQl1c2FnZShidWlsdGluX2RpZmZfdXNhZ2UpOwogCisJR1VBUkRfUEFUSFNQRUMoJnJldnMtPnBydW5lX2RhdGEsIFBBVEhTUEVDX0ZST01UT1AgfCBQQVRIU1BFQ19MSVRFUkFMKTsKKwlwYXRoID0gcmV2cy0+cHJ1bmVfZGF0YS5pdGVtc1swXS5tYXRjaDsKKwogCWlmIChsc3RhdChwYXRoLCAmc3QpKQogCQlkaWVfZXJybm8oXygiZmFpbGVkIHRvIHN0YXQgJyVzJyIpLCBwYXRoKTsKIAlpZiAoIShTX0lTUkVHKHN0LnN0X21vZGUpIHx8IFNfSVNMTksoc3Quc3RfbW9kZSkpKQpAQCAtMTQwLDcgKzE0Niw3IEBACiAJCXVzYWdlKGJ1aWx0aW5fZGlmZl91c2FnZSk7CiAJaWYgKCFjYWNoZWQpIHsKIAkJc2V0dXBfd29ya190cmVlKCk7Ci0JCWlmIChyZWFkX2NhY2hlX3ByZWxvYWQocmV2cy0+ZGlmZm9wdC5wYXRoc3BlYy5yYXcpIDwgMCkgeworCQlpZiAocmVhZF9jYWNoZV9wcmVsb2FkKCZyZXZzLT5kaWZmb3B0LnBhdGhzcGVjKSA8IDApIHsKIAkJCXBlcnJvcigicmVhZF9jYWNoZV9wcmVsb2FkIik7CiAJCQlyZXR1cm4gLTE7CiAJCX0KQEAgLTE2OSw3ICsxNzUsNyBAQAogCWlmIChlbnQxLT5pdGVtLT5mbGFncyAmIFVOSU5URVJFU1RJTkcpCiAJCXN3YXAgPSAxOwogCXNoYTFbc3dhcF0gPSBlbnQwLT5pdGVtLT5zaGExOwotCXNoYTFbMS1zd2FwXSA9IGVudDEtPml0ZW0tPnNoYTE7CisJc2hhMVsxIC0gc3dhcF0gPSBlbnQxLT5pdGVtLT5zaGExOwogCWRpZmZfdHJlZV9zaGExKHNoYTFbMF0sIHNoYTFbMV0sICIiLCAmcmV2cy0+ZGlmZm9wdCk7CiAJbG9nX3RyZWVfZGlmZl9mbHVzaChyZXZzKTsKIAlyZXR1cm4gMDsKQEAgLTI0Miw3ICsyNDgsNyBAQAogCQlyZXZzLT5jb21iaW5lX21lcmdlcyA9IHJldnMtPmRlbnNlX2NvbWJpbmVkX21lcmdlcyA9IDE7CiAKIAlzZXR1cF93b3JrX3RyZWUoKTsKLQlpZiAocmVhZF9jYWNoZV9wcmVsb2FkKHJldnMtPmRpZmZvcHQucGF0aHNwZWMucmF3KSA8IDApIHsKKwlpZiAocmVhZF9jYWNoZV9wcmVsb2FkKCZyZXZzLT5kaWZmb3B0LnBhdGhzcGVjKSA8IDApIHsKIAkJcGVycm9yKCJyZWFkX2NhY2hlX3ByZWxvYWQiKTsKIAkJcmV0dXJuIC0xOwogCX0KQEAgLTI1NSw5ICsyNjEsOCBAQAogCXN0cnVjdCByZXZfaW5mbyByZXY7CiAJc3RydWN0IG9iamVjdF9hcnJheSBlbnQgPSBPQkpFQ1RfQVJSQVlfSU5JVDsKIAlpbnQgYmxvYnMgPSAwLCBwYXRocyA9IDA7Ci0JY29uc3QgY2hhciAqcGF0aCA9IE5VTEw7CiAJc3RydWN0IGJsb2JpbmZvIGJsb2JbMl07Ci0JaW50IG5vbmdpdDsKKwlpbnQgbm9uZ2l0ID0gMCwgbm9faW5kZXggPSAwOwogCWludCByZXN1bHQgPSAwOwogCiAJLyoKQEAgLTI4MywxNCArMjg4LDU5IEBACiAJICogT3RoZXIgY2FzZXMgYXJlIGVycm9ycy4KIAkgKi8KIAotCXByZWZpeCA9IHNldHVwX2dpdF9kaXJlY3RvcnlfZ2VudGx5KCZub25naXQpOwotCWdpdG1vZHVsZXNfY29uZmlnKCk7CisJLyogV2VyZSB3ZSBhc2tlZCB0byBkbyAtLW5vLWluZGV4IGV4cGxpY2l0bHk/ICovCisJZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKykgeworCQlpZiAoIXN0cmNtcChhcmd2W2ldLCAiLS0iKSkgeworCQkJaSsrOworCQkJYnJlYWs7CisJCX0KKwkJaWYgKCFzdHJjbXAoYXJndltpXSwgIi0tbm8taW5kZXgiKSkKKwkJCW5vX2luZGV4ID0gRElGRl9OT19JTkRFWF9FWFBMSUNJVDsKKwkJaWYgKGFyZ3ZbaV1bMF0gIT0gJy0nKQorCQkJYnJlYWs7CisJfQorCisJaWYgKCFub19pbmRleCkKKwkJcHJlZml4ID0gc2V0dXBfZ2l0X2RpcmVjdG9yeV9nZW50bHkoJm5vbmdpdCk7CisKKwkvKgorCSAqIFRyZWF0IGdpdCBkaWZmIHdpdGggYXQgbGVhc3Qgb25lIHBhdGggb3V0c2lkZSBvZiB0aGUKKwkgKiByZXBvIHRoZSBzYW1lIGFzIGlmIHRoZSBjb21tYW5kIHdvdWxkIGhhdmUgYmVlbiBleGVjdXRlZAorCSAqIG91dHNpZGUgb2YgYSBnaXQgcmVwb3NpdG9yeS4gIEluIHRoaXMgY2FzZSBpdCBiZWhhdmVzCisJICogdGhlIHNhbWUgd2F5IGFzICJnaXQgZGlmZiAtLW5vLWluZGV4IDxhPiA8Yj4iLCB3aGljaCBhY3RzCisJICogYXMgYSBjb2xvdXJmdWwgImRpZmYiIHJlcGxhY2VtZW50LgorCSAqLworCWlmIChub25naXQgfHwgKChhcmdjID09IGkgKyAyKSAmJgorCQkgICAgICAgKCFwYXRoX2luc2lkZV9yZXBvKHByZWZpeCwgYXJndltpXSkgfHwKKwkJCSFwYXRoX2luc2lkZV9yZXBvKHByZWZpeCwgYXJndltpICsgMV0pKSkpCisJCW5vX2luZGV4ID0gRElGRl9OT19JTkRFWF9JTVBMSUNJVDsKKworCWlmICghbm9faW5kZXgpCisJCWdpdG1vZHVsZXNfY29uZmlnKCk7CiAJZ2l0X2NvbmZpZyhnaXRfZGlmZl91aV9jb25maWcsIE5VTEwpOwogCiAJaW5pdF9yZXZpc2lvbnMoJnJldiwgcHJlZml4KTsKIAotCS8qIElmIHRoaXMgaXMgYSBuby1pbmRleCBkaWZmLCBqdXN0IHJ1biBpdCBhbmQgZXhpdCB0aGVyZS4gKi8KLQlkaWZmX25vX2luZGV4KCZyZXYsIGFyZ2MsIGFyZ3YsIG5vbmdpdCwgcHJlZml4KTsKKwlpZiAobm9faW5kZXggJiYgYXJnYyAhPSBpICsgMikgeworCQlpZiAobm9faW5kZXggPT0gRElGRl9OT19JTkRFWF9JTVBMSUNJVCkgeworCQkJLyoKKwkJCSAqIFRoZXJlIHdhcyBubyAtLW5vLWluZGV4IGFuZCB0aGVyZSB3ZXJlIG5vdCB0d28KKwkJCSAqIHBhdGhzLiBJdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSB1c2VyIGludGVuZGVkCisJCQkgKiB0byBkbyBhbiBpbnNpZGUtcmVwb3NpdG9yeSBvcGVyYXRpb24uCisJCQkgKi8KKwkJCWZwcmludGYoc3RkZXJyLCAiTm90IGEgZ2l0IHJlcG9zaXRvcnlcbiIpOworCQkJZnByaW50ZihzdGRlcnIsCisJCQkJIlRvIGNvbXBhcmUgdHdvIHBhdGhzIG91dHNpZGUgYSB3b3JraW5nIHRyZWU6XG4iKTsKKwkJfQorCQkvKiBHaXZlIHRoZSB1c2FnZSBtZXNzYWdlIGZvciBub24tcmVwb3NpdG9yeSB1c2FnZSBhbmQgZXhpdC4gKi8KKwkJdXNhZ2VmKCJnaXQgZGlmZiAlcyA8cGF0aD4gPHBhdGg+IiwKKwkJICAgICAgIG5vX2luZGV4ID09IERJRkZfTk9fSU5ERVhfRVhQTElDSVQgPworCQkgICAgICAgIi0tbm8taW5kZXgiIDogIlstLW5vLWluZGV4XSIpOworCisJfQorCWlmIChub19pbmRleCkKKwkJLyogSWYgdGhpcyBpcyBhIG5vLWluZGV4IGRpZmYsIGp1c3QgcnVuIGl0IGFuZCBleGl0IHRoZXJlLiAqLworCQlkaWZmX25vX2luZGV4KCZyZXYsIGFyZ2MsIGFyZ3YsIHByZWZpeCk7CiAKIAkvKiBPdGhlcndpc2UsIHdlIGFyZSBkb2luZyB0aGUgdXN1YWwgImdpdCIgZGlmZiAqLwogCXJldi5kaWZmb3B0LnNraXBfc3RhdF91bm1hdGNoID0gISFkaWZmX2F1dG9fcmVmcmVzaF9pbmRleDsKQEAgLTM2NiwxMSArNDE2LDggQEAKIAkJCWRpZShfKCJ1bmhhbmRsZWQgb2JqZWN0ICclcycgZ2l2ZW4uIiksIG5hbWUpOwogCQl9CiAJfQotCWlmIChyZXYucHJ1bmVfZGF0YS5ucikgewotCQlpZiAoIXBhdGgpCi0JCQlwYXRoID0gcmV2LnBydW5lX2RhdGEuaXRlbXNbMF0ubWF0Y2g7CisJaWYgKHJldi5wcnVuZV9kYXRhLm5yKQogCQlwYXRocyArPSByZXYucHJ1bmVfZGF0YS5ucjsKLQl9CiAKIAkvKgogCSAqIE5vdywgZG8gdGhlIGFyZ3VtZW50cyBsb29rIHJlYXNvbmFibGU/CkBAIC0zODMsNyArNDMwLDcgQEAKIAkJY2FzZSAxOgogCQkJaWYgKHBhdGhzICE9IDEpCiAJCQkJdXNhZ2UoYnVpbHRpbl9kaWZmX3VzYWdlKTsKLQkJCXJlc3VsdCA9IGJ1aWx0aW5fZGlmZl9iX2YoJnJldiwgYXJnYywgYXJndiwgYmxvYiwgcGF0aCk7CisJCQlyZXN1bHQgPSBidWlsdGluX2RpZmZfYl9mKCZyZXYsIGFyZ2MsIGFyZ3YsIGJsb2IpOwogCQkJYnJlYWs7CiAJCWNhc2UgMjoKIAkJCWlmIChwYXRocykKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZmFzdC1leHBvcnQuYyBiL2J1aWx0aW4vZmFzdC1leHBvcnQuYwppbmRleCA4ZTE5MDU4Li5iOGQ4YTNhIDEwMDY0NAotLS0gYS9idWlsdGluL2Zhc3QtZXhwb3J0LmMKKysrIGIvYnVpbHRpbi9mYXN0LWV4cG9ydC5jCkBAIC0zMCw2ICszMCw3IEBACiBzdGF0aWMgaW50IHVzZV9kb25lX2ZlYXR1cmU7CiBzdGF0aWMgaW50IG5vX2RhdGE7CiBzdGF0aWMgaW50IGZ1bGxfdHJlZTsKK3N0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgZXh0cmFfcmVmcyA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiAKIHN0YXRpYyBpbnQgcGFyc2Vfb3B0X3NpZ25lZF90YWdfbW9kZShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCiAJCQkJICAgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKQEAgLTI4Niw3ICsyODcsNyBAQAogCiAJcmV2LT5kaWZmb3B0Lm91dHB1dF9mb3JtYXQgPSBESUZGX0ZPUk1BVF9DQUxMQkFDSzsKIAotCXBhcnNlX2NvbW1pdChjb21taXQpOworCXBhcnNlX2NvbW1pdF9vcl9kaWUoY29tbWl0KTsKIAlhdXRob3IgPSBzdHJzdHIoY29tbWl0LT5idWZmZXIsICJcbmF1dGhvciAiKTsKIAlpZiAoIWF1dGhvcikKIAkJZGllICgiQ291bGQgbm90IGZpbmQgYXV0aG9yIGluIGNvbW1pdCAlcyIsCkBAIC0zMDcsNyArMzA4LDcgQEAKIAlpZiAoY29tbWl0LT5wYXJlbnRzICYmCiAJICAgIGdldF9vYmplY3RfbWFyaygmY29tbWl0LT5wYXJlbnRzLT5pdGVtLT5vYmplY3QpICE9IDAgJiYKIAkgICAgIWZ1bGxfdHJlZSkgewotCQlwYXJzZV9jb21taXQoY29tbWl0LT5wYXJlbnRzLT5pdGVtKTsKKwkJcGFyc2VfY29tbWl0X29yX2RpZShjb21taXQtPnBhcmVudHMtPml0ZW0pOwogCQlkaWZmX3RyZWVfc2hhMShjb21taXQtPnBhcmVudHMtPml0ZW0tPnRyZWUtPm9iamVjdC5zaGExLAogCQkJICAgICAgIGNvbW1pdC0+dHJlZS0+b2JqZWN0LnNoYTEsICIiLCAmcmV2LT5kaWZmb3B0KTsKIAl9CkBAIC00NzUsNyArNDc2LDcgQEAKIAkJfQogCX0KIAotCWlmICghcHJlZml4Y21wKG5hbWUsICJyZWZzL3RhZ3MvIikpCisJaWYgKHN0YXJ0c193aXRoKG5hbWUsICJyZWZzL3RhZ3MvIikpCiAJCW5hbWUgKz0gMTA7CiAJcHJpbnRmKCJ0YWcgJXNcbmZyb20gOiVkXG4lLipzJXNkYXRhICVkXG4lLipzXG4iLAogCSAgICAgICBuYW1lLCB0YWdnZWRfbWFyaywKQEAgLTQ4NCwxMCArNDg1LDMyIEBACiAJICAgICAgIChpbnQpbWVzc2FnZV9zaXplLCAoaW50KW1lc3NhZ2Vfc2l6ZSwgbWVzc2FnZSA/IG1lc3NhZ2UgOiAiIik7CiB9CiAKLXN0YXRpYyB2b2lkIGdldF90YWdzX2FuZF9kdXBsaWNhdGVzKHN0cnVjdCByZXZfY21kbGluZV9pbmZvICppbmZvLAotCQkJCSAgICBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmV4dHJhX3JlZnMpCitzdGF0aWMgc3RydWN0IGNvbW1pdCAqZ2V0X2NvbW1pdChzdHJ1Y3QgcmV2X2NtZGxpbmVfZW50cnkgKmUsIGNoYXIgKmZ1bGxfbmFtZSkKIHsKLQlzdHJ1Y3QgdGFnICp0YWc7CisJc3dpdGNoIChlLT5pdGVtLT50eXBlKSB7CisJY2FzZSBPQkpfQ09NTUlUOgorCQlyZXR1cm4gKHN0cnVjdCBjb21taXQgKillLT5pdGVtOworCWNhc2UgT0JKX1RBRzogeworCQlzdHJ1Y3QgdGFnICp0YWcgPSAoc3RydWN0IHRhZyAqKWUtPml0ZW07CisKKwkJLyogaGFuZGxlIG5lc3RlZCB0YWdzICovCisJCXdoaWxlICh0YWcgJiYgdGFnLT5vYmplY3QudHlwZSA9PSBPQkpfVEFHKSB7CisJCQlwYXJzZV9vYmplY3QodGFnLT5vYmplY3Quc2hhMSk7CisJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmV4dHJhX3JlZnMsIGZ1bGxfbmFtZSktPnV0aWwgPSB0YWc7CisJCQl0YWcgPSAoc3RydWN0IHRhZyAqKXRhZy0+dGFnZ2VkOworCQl9CisJCWlmICghdGFnKQorCQkJZGllKCJUYWcgJXMgcG9pbnRzIG5vd2hlcmU/IiwgZS0+bmFtZSk7CisJCXJldHVybiAoc3RydWN0IGNvbW1pdCAqKXRhZzsKKwkJYnJlYWs7CisJfQorCWRlZmF1bHQ6CisJCXJldHVybiBOVUxMOworCX0KK30KKworc3RhdGljIHZvaWQgZ2V0X3RhZ3NfYW5kX2R1cGxpY2F0ZXMoc3RydWN0IHJldl9jbWRsaW5lX2luZm8gKmluZm8pCit7CiAJaW50IGk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgaW5mby0+bnI7IGkrKykgewpAQCAtNTAyLDYwICs1MjUsNDUgQEAKIAkJaWYgKGR3aW1fcmVmKGUtPm5hbWUsIHN0cmxlbihlLT5uYW1lKSwgc2hhMSwgJmZ1bGxfbmFtZSkgIT0gMSkKIAkJCWNvbnRpbnVlOwogCi0JCXN3aXRjaCAoZS0+aXRlbS0+dHlwZSkgewotCQljYXNlIE9CSl9DT01NSVQ6Ci0JCQljb21taXQgPSAoc3RydWN0IGNvbW1pdCAqKWUtPml0ZW07Ci0JCQlicmVhazsKLQkJY2FzZSBPQkpfVEFHOgotCQkJdGFnID0gKHN0cnVjdCB0YWcgKillLT5pdGVtOwotCi0JCQkvKiBoYW5kbGUgbmVzdGVkIHRhZ3MgKi8KLQkJCXdoaWxlICh0YWcgJiYgdGFnLT5vYmplY3QudHlwZSA9PSBPQkpfVEFHKSB7Ci0JCQkJcGFyc2Vfb2JqZWN0KHRhZy0+b2JqZWN0LnNoYTEpOwotCQkJCXN0cmluZ19saXN0X2FwcGVuZChleHRyYV9yZWZzLCBmdWxsX25hbWUpLT51dGlsID0gdGFnOwotCQkJCXRhZyA9IChzdHJ1Y3QgdGFnICopdGFnLT50YWdnZWQ7Ci0JCQl9Ci0JCQlpZiAoIXRhZykKLQkJCQlkaWUgKCJUYWcgJXMgcG9pbnRzIG5vd2hlcmU/IiwgZS0+bmFtZSk7Ci0JCQlzd2l0Y2godGFnLT5vYmplY3QudHlwZSkgewotCQkJY2FzZSBPQkpfQ09NTUlUOgotCQkJCWNvbW1pdCA9IChzdHJ1Y3QgY29tbWl0ICopdGFnOwotCQkJCWJyZWFrOwotCQkJY2FzZSBPQkpfQkxPQjoKLQkJCQlleHBvcnRfYmxvYih0YWctPm9iamVjdC5zaGExKTsKLQkJCQljb250aW51ZTsKLQkJCWRlZmF1bHQ6IC8qIE9CSl9UQUcgKG5lc3RlZCB0YWdzKSBpcyBhbHJlYWR5IGhhbmRsZWQgKi8KLQkJCQl3YXJuaW5nKCJUYWcgcG9pbnRzIHRvIG9iamVjdCBvZiB1bmV4cGVjdGVkIHR5cGUgJXMsIHNraXBwaW5nLiIsCi0JCQkJCXR5cGVuYW1lKHRhZy0+b2JqZWN0LnR5cGUpKTsKLQkJCQljb250aW51ZTsKLQkJCX0KLQkJCWJyZWFrOwotCQlkZWZhdWx0OgorCQljb21taXQgPSBnZXRfY29tbWl0KGUsIGZ1bGxfbmFtZSk7CisJCWlmICghY29tbWl0KSB7CiAJCQl3YXJuaW5nKCIlczogVW5leHBlY3RlZCBvYmplY3Qgb2YgdHlwZSAlcywgc2tpcHBpbmcuIiwKIAkJCQllLT5uYW1lLAogCQkJCXR5cGVuYW1lKGUtPml0ZW0tPnR5cGUpKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKKwkJc3dpdGNoKGNvbW1pdC0+b2JqZWN0LnR5cGUpIHsKKwkJY2FzZSBPQkpfQ09NTUlUOgorCQkJYnJlYWs7CisJCWNhc2UgT0JKX0JMT0I6CisJCQlleHBvcnRfYmxvYihjb21taXQtPm9iamVjdC5zaGExKTsKKwkJCWNvbnRpbnVlOworCQlkZWZhdWx0OiAvKiBPQkpfVEFHIChuZXN0ZWQgdGFncykgaXMgYWxyZWFkeSBoYW5kbGVkICovCisJCQl3YXJuaW5nKCJUYWcgcG9pbnRzIHRvIG9iamVjdCBvZiB1bmV4cGVjdGVkIHR5cGUgJXMsIHNraXBwaW5nLiIsCisJCQkJdHlwZW5hbWUoY29tbWl0LT5vYmplY3QudHlwZSkpOworCQkJY29udGludWU7CisJCX0KKwogCQkvKgogCQkgKiBUaGlzIHJlZiB3aWxsIG5vdCBiZSB1cGRhdGVkIHRocm91Z2ggYSBjb21taXQsIGxldHMgbWFrZQogCQkgKiBzdXJlIGl0IGdldHMgcHJvcGVybHkgdXBkYXRlZCBldmVudHVhbGx5LgogCQkgKi8KIAkJaWYgKGNvbW1pdC0+dXRpbCB8fCBjb21taXQtPm9iamVjdC5mbGFncyAmIFNIT1dOKQotCQkJc3RyaW5nX2xpc3RfYXBwZW5kKGV4dHJhX3JlZnMsIGZ1bGxfbmFtZSktPnV0aWwgPSBjb21taXQ7CisJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmV4dHJhX3JlZnMsIGZ1bGxfbmFtZSktPnV0aWwgPSBjb21taXQ7CiAJCWlmICghY29tbWl0LT51dGlsKQogCQkJY29tbWl0LT51dGlsID0gZnVsbF9uYW1lOwogCX0KIH0KIAotc3RhdGljIHZvaWQgaGFuZGxlX3RhZ3NfYW5kX2R1cGxpY2F0ZXMoc3RydWN0IHN0cmluZ19saXN0ICpleHRyYV9yZWZzKQorc3RhdGljIHZvaWQgaGFuZGxlX3RhZ3NfYW5kX2R1cGxpY2F0ZXModm9pZCkKIHsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAJaW50IGk7CiAKLQlmb3IgKGkgPSBleHRyYV9yZWZzLT5uciAtIDE7IGkgPj0gMDsgaS0tKSB7Ci0JCWNvbnN0IGNoYXIgKm5hbWUgPSBleHRyYV9yZWZzLT5pdGVtc1tpXS5zdHJpbmc7Ci0JCXN0cnVjdCBvYmplY3QgKm9iamVjdCA9IGV4dHJhX3JlZnMtPml0ZW1zW2ldLnV0aWw7CisJZm9yIChpID0gZXh0cmFfcmVmcy5uciAtIDE7IGkgPj0gMDsgaS0tKSB7CisJCWNvbnN0IGNoYXIgKm5hbWUgPSBleHRyYV9yZWZzLml0ZW1zW2ldLnN0cmluZzsKKwkJc3RydWN0IG9iamVjdCAqb2JqZWN0ID0gZXh0cmFfcmVmcy5pdGVtc1tpXS51dGlsOwogCQlzd2l0Y2ggKG9iamVjdC0+dHlwZSkgewogCQljYXNlIE9CSl9UQUc6CiAJCQloYW5kbGVfdGFnKG5hbWUsIChzdHJ1Y3QgdGFnICopb2JqZWN0KTsKQEAgLTY1Nyw3ICs2NjUsNiBAQAogewogCXN0cnVjdCByZXZfaW5mbyByZXZzOwogCXN0cnVjdCBvYmplY3RfYXJyYXkgY29tbWl0cyA9IE9CSkVDVF9BUlJBWV9JTklUOwotCXN0cnVjdCBzdHJpbmdfbGlzdCBleHRyYV9yZWZzID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAJY2hhciAqZXhwb3J0X2ZpbGVuYW1lID0gTlVMTCwgKmltcG9ydF9maWxlbmFtZSA9IE5VTEw7CiAJdWludDMyX3QgbGFzdGltcG9ydGlkOwpAQCAtNjc0LDExICs2ODEsMTEgQEAKIAkJCSAgICAgTl8oIkR1bXAgbWFya3MgdG8gdGhpcyBmaWxlIikpLAogCQlPUFRfU1RSSU5HKDAsICJpbXBvcnQtbWFya3MiLCAmaW1wb3J0X2ZpbGVuYW1lLCBOXygiZmlsZSIpLAogCQkJICAgICBOXygiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIikpLAotCQlPUFRfQk9PTEVBTigwLCAiZmFrZS1taXNzaW5nLXRhZ2dlciIsICZmYWtlX21pc3NpbmdfdGFnZ2VyLAotCQkJICAgICBOXygiRmFrZSBhIHRhZ2dlciB3aGVuIHRhZ3MgbGFjayBvbmUiKSksCi0JCU9QVF9CT09MRUFOKDAsICJmdWxsLXRyZWUiLCAmZnVsbF90cmVlLAotCQkJICAgICBOXygiT3V0cHV0IGZ1bGwgdHJlZSBmb3IgZWFjaCBjb21taXQiKSksCi0JCU9QVF9CT09MRUFOKDAsICJ1c2UtZG9uZS1mZWF0dXJlIiwgJnVzZV9kb25lX2ZlYXR1cmUsCisJCU9QVF9CT09MKDAsICJmYWtlLW1pc3NpbmctdGFnZ2VyIiwgJmZha2VfbWlzc2luZ190YWdnZXIsCisJCQkgTl8oIkZha2UgYSB0YWdnZXIgd2hlbiB0YWdzIGxhY2sgb25lIikpLAorCQlPUFRfQk9PTCgwLCAiZnVsbC10cmVlIiwgJmZ1bGxfdHJlZSwKKwkJCSBOXygiT3V0cHV0IGZ1bGwgdHJlZSBmb3IgZWFjaCBjb21taXQiKSksCisJCU9QVF9CT09MKDAsICJ1c2UtZG9uZS1mZWF0dXJlIiwgJnVzZV9kb25lX2ZlYXR1cmUsCiAJCQkgICAgIE5fKCJVc2UgdGhlIGRvbmUgZmVhdHVyZSB0byB0ZXJtaW5hdGUgdGhlIHN0cmVhbSIpKSwKIAkJT1BUX0JPT0woMCwgIm5vLWRhdGEiLCAmbm9fZGF0YSwgTl8oIlNraXAgb3V0cHV0IG9mIGJsb2IgZGF0YSIpKSwKIAkJT1BUX0VORCgpCkBAIC03MDksNyArNzE2LDcgQEAKIAlpZiAoaW1wb3J0X2ZpbGVuYW1lICYmIHJldnMucHJ1bmVfZGF0YS5ucikKIAkJZnVsbF90cmVlID0gMTsKIAotCWdldF90YWdzX2FuZF9kdXBsaWNhdGVzKCZyZXZzLmNtZGxpbmUsICZleHRyYV9yZWZzKTsKKwlnZXRfdGFnc19hbmRfZHVwbGljYXRlcygmcmV2cy5jbWRsaW5lKTsKIAogCWlmIChwcmVwYXJlX3JldmlzaW9uX3dhbGsoJnJldnMpKQogCQlkaWUoInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIik7CkBAIC03MjUsNyArNzMyLDcgQEAKIAkJfQogCX0KIAotCWhhbmRsZV90YWdzX2FuZF9kdXBsaWNhdGVzKCZleHRyYV9yZWZzKTsKKwloYW5kbGVfdGFnc19hbmRfZHVwbGljYXRlcygpOwogCiAJaWYgKGV4cG9ydF9maWxlbmFtZSAmJiBsYXN0aW1wb3J0aWQgIT0gbGFzdF9pZG51bSkKIAkJZXhwb3J0X21hcmtzKGV4cG9ydF9maWxlbmFtZSk7CmRpZmYgLS1naXQgYS9idWlsdGluL2ZldGNoLXBhY2suYyBiL2J1aWx0aW4vZmV0Y2gtcGFjay5jCmluZGV4IGFiYTQ0NjUuLjEyNjJiNDAgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vZmV0Y2gtcGFjay5jCisrKyBiL2J1aWx0aW4vZmV0Y2gtcGFjay5jCkBAIC0xLDE2ICsxLDI2IEBACiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgInBrdC1saW5lLmgiCiAjaW5jbHVkZSAiZmV0Y2gtcGFjay5oIgorI2luY2x1ZGUgInJlbW90ZS5oIgorI2luY2x1ZGUgImNvbm5lY3QuaCIKKyNpbmNsdWRlICJzaGExLWFycmF5LmgiCiAKIHN0YXRpYyBjb25zdCBjaGFyIGZldGNoX3BhY2tfdXNhZ2VbXSA9CiAiZ2l0IGZldGNoLXBhY2sgWy0tYWxsXSBbLS1zdGRpbl0gWy0tcXVpZXR8LXFdIFstLWtlZXB8LWtdIFstLXRoaW5dICIKICJbLS1pbmNsdWRlLXRhZ10gWy0tdXBsb2FkLXBhY2s9PGdpdC11cGxvYWQtcGFjaz5dIFstLWRlcHRoPTxuPl0gIgotIlstLW5vLXByb2dyZXNzXSBbLXZdIFs8aG9zdD46XTxkaXJlY3Rvcnk+IFs8cmVmcz4uLi5dIjsKKyJbLS1uby1wcm9ncmVzc10gWy0tZGlhZy11cmxdIFstdl0gWzxob3N0PjpdPGRpcmVjdG9yeT4gWzxyZWZzPi4uLl0iOwogCiBzdGF0aWMgdm9pZCBhZGRfc291Z2h0X2VudHJ5X21lbShzdHJ1Y3QgcmVmICoqKnNvdWdodCwgaW50ICpuciwgaW50ICphbGxvYywKIAkJCQkgY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4pCiB7CiAJc3RydWN0IHJlZiAqcmVmID0geGNhbGxvYygxLCBzaXplb2YoKnJlZikgKyBuYW1lbGVuICsgMSk7CisJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKworCWlmIChuYW1lbGVuID4gNDEgJiYgbmFtZVs0MF0gPT0gJyAnICYmICFnZXRfc2hhMV9oZXgobmFtZSwgc2hhMSkpIHsKKwkJaGFzaGNweShyZWYtPm9sZF9zaGExLCBzaGExKTsKKwkJbmFtZSArPSA0MTsKKwkJbmFtZWxlbiAtPSA0MTsKKwl9CiAKIAltZW1jcHkocmVmLT5uYW1lLCBuYW1lLCBuYW1lbGVuKTsKIAlyZWYtPm5hbWVbbmFtZWxlbl0gPSAnXDAnOwpAQCAtMzcsNiArNDcsNyBAQAogCWNoYXIgKipwYWNrX2xvY2tmaWxlX3B0ciA9IE5VTEw7CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNvbm47CiAJc3RydWN0IGZldGNoX3BhY2tfYXJncyBhcmdzOworCXN0cnVjdCBzaGExX2FycmF5IHNoYWxsb3cgPSBTSEExX0FSUkFZX0lOSVQ7CiAKIAlwYWNrZXRfdHJhY2VfaWRlbnRpdHkoImZldGNoLXBhY2siKTsKIApAQCAtNDYsMTEgKzU3LDExIEBACiAJZm9yIChpID0gMTsgaSA8IGFyZ2MgJiYgKmFyZ3ZbaV0gPT0gJy0nOyBpKyspIHsKIAkJY29uc3QgY2hhciAqYXJnID0gYXJndltpXTsKIAotCQlpZiAoIXByZWZpeGNtcChhcmcsICItLXVwbG9hZC1wYWNrPSIpKSB7CisJCWlmIChzdGFydHNfd2l0aChhcmcsICItLXVwbG9hZC1wYWNrPSIpKSB7CiAJCQlhcmdzLnVwbG9hZHBhY2sgPSBhcmcgKyAxNDsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWlmICghcHJlZml4Y21wKGFyZywgIi0tZXhlYz0iKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1leGVjPSIpKSB7CiAJCQlhcmdzLnVwbG9hZHBhY2sgPSBhcmcgKyA3OwogCQkJY29udGludWU7CiAJCX0KQEAgLTc5LDExICs5MCwxNSBAQAogCQkJYXJncy5zdGRpbl9yZWZzID0gMTsKIAkJCWNvbnRpbnVlOwogCQl9CisJCWlmICghc3RyY21wKCItLWRpYWctdXJsIiwgYXJnKSkgeworCQkJYXJncy5kaWFnX3VybCA9IDE7CisJCQljb250aW51ZTsKKwkJfQogCQlpZiAoIXN0cmNtcCgiLXYiLCBhcmcpKSB7CiAJCQlhcmdzLnZlcmJvc2UgPSAxOwogCQkJY29udGludWU7CiAJCX0KLQkJaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1kZXB0aD0iKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1kZXB0aD0iKSkgewogCQkJYXJncy5kZXB0aCA9IHN0cnRvbChhcmcgKyA4LCBOVUxMLCAwKTsKIAkJCWNvbnRpbnVlOwogCQl9CkBAIC0xMDAsNiArMTE1LDE4IEBACiAJCQlwYWNrX2xvY2tmaWxlX3B0ciA9ICZwYWNrX2xvY2tmaWxlOwogCQkJY29udGludWU7CiAJCX0KKwkJaWYgKCFzdHJjbXAoIi0tY2hlY2stc2VsZi1jb250YWluZWQtYW5kLWNvbm5lY3RlZCIsIGFyZykpIHsKKwkJCWFyZ3MuY2hlY2tfc2VsZl9jb250YWluZWRfYW5kX2Nvbm5lY3RlZCA9IDE7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoIXN0cmNtcCgiLS1jbG9uaW5nIiwgYXJnKSkgeworCQkJYXJncy5jbG9uaW5nID0gMTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICghc3RyY21wKCItLXVwZGF0ZS1zaGFsbG93IiwgYXJnKSkgeworCQkJYXJncy51cGRhdGVfc2hhbGxvdyA9IDE7CisJCQljb250aW51ZTsKKwkJfQogCQl1c2FnZShmZXRjaF9wYWNrX3VzYWdlKTsKIAl9CiAKQEAgLTE0MCwxOCArMTY3LDI3IEBACiAJCWZkWzBdID0gMDsKIAkJZmRbMV0gPSAxOwogCX0gZWxzZSB7CisJCWludCBmbGFncyA9IGFyZ3MudmVyYm9zZSA/IENPTk5FQ1RfVkVSQk9TRSA6IDA7CisJCWlmIChhcmdzLmRpYWdfdXJsKQorCQkJZmxhZ3MgfD0gQ09OTkVDVF9ESUFHX1VSTDsKIAkJY29ubiA9IGdpdF9jb25uZWN0KGZkLCBkZXN0LCBhcmdzLnVwbG9hZHBhY2ssCi0JCQkJICAgYXJncy52ZXJib3NlID8gQ09OTkVDVF9WRVJCT1NFIDogMCk7CisJCQkJICAgZmxhZ3MpOworCQlpZiAoIWNvbm4pCisJCQlyZXR1cm4gYXJncy5kaWFnX3VybCA/IDAgOiAxOwogCX0KKwlnZXRfcmVtb3RlX2hlYWRzKGZkWzBdLCBOVUxMLCAwLCAmcmVmLCAwLCBOVUxMLCAmc2hhbGxvdyk7CiAKLQlnZXRfcmVtb3RlX2hlYWRzKGZkWzBdLCBOVUxMLCAwLCAmcmVmLCAwLCBOVUxMKTsKLQotCXJlZiA9IGZldGNoX3BhY2soJmFyZ3MsIGZkLCBjb25uLCByZWYsIGRlc3QsCi0JCQkgc291Z2h0LCBucl9zb3VnaHQsIHBhY2tfbG9ja2ZpbGVfcHRyKTsKKwlyZWYgPSBmZXRjaF9wYWNrKCZhcmdzLCBmZCwgY29ubiwgcmVmLCBkZXN0LCBzb3VnaHQsIG5yX3NvdWdodCwKKwkJCSAmc2hhbGxvdywgcGFja19sb2NrZmlsZV9wdHIpOwogCWlmIChwYWNrX2xvY2tmaWxlKSB7CiAJCXByaW50ZigibG9jayAlc1xuIiwgcGFja19sb2NrZmlsZSk7CiAJCWZmbHVzaChzdGRvdXQpOwogCX0KKwlpZiAoYXJncy5jaGVja19zZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkICYmCisJICAgIGFyZ3Muc2VsZl9jb250YWluZWRfYW5kX2Nvbm5lY3RlZCkgeworCQlwcmludGYoImNvbm5lY3Rpdml0eS1va1xuIik7CisJCWZmbHVzaChzdGRvdXQpOworCX0KIAljbG9zZShmZFswXSk7CiAJY2xvc2UoZmRbMV0pOwogCWlmIChmaW5pc2hfY29ubmVjdChjb25uKSkKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZmV0Y2guYyBiL2J1aWx0aW4vZmV0Y2guYwppbmRleCA1NjQ3MDU1Li4wMjViYzNlIDEwMDY0NAotLS0gYS9idWlsdGluL2ZldGNoLmMKKysrIGIvYnVpbHRpbi9mZXRjaC5jCkBAIC0zMCw5ICszMCwxMyBAQAogCVRBR1NfU0VUID0gMgogfTsKIAotc3RhdGljIGludCBhbGwsIGFwcGVuZCwgZHJ5X3J1biwgZm9yY2UsIGtlZXAsIG11bHRpcGxlLCBwcnVuZSwgdXBkYXRlX2hlYWRfb2ssIHZlcmJvc2l0eTsKK3N0YXRpYyBpbnQgZmV0Y2hfcHJ1bmVfY29uZmlnID0gLTE7IC8qIHVuc3BlY2lmaWVkICovCitzdGF0aWMgaW50IHBydW5lID0gLTE7IC8qIHVuc3BlY2lmaWVkICovCisjZGVmaW5lIFBSVU5FX0JZX0RFRkFVTFQgMCAvKiBkbyB3ZSBwcnVuZSBieSBkZWZhdWx0PyAqLworCitzdGF0aWMgaW50IGFsbCwgYXBwZW5kLCBkcnlfcnVuLCBmb3JjZSwga2VlcCwgbXVsdGlwbGUsIHVwZGF0ZV9oZWFkX29rLCB2ZXJib3NpdHk7CiBzdGF0aWMgaW50IHByb2dyZXNzID0gLTEsIHJlY3Vyc2Vfc3VibW9kdWxlcyA9IFJFQ1VSU0VfU1VCTU9EVUxFU19ERUZBVUxUOwotc3RhdGljIGludCB0YWdzID0gVEFHU19ERUZBVUxULCB1bnNoYWxsb3c7CitzdGF0aWMgaW50IHRhZ3MgPSBUQUdTX0RFRkFVTFQsIHVuc2hhbGxvdywgdXBkYXRlX3NoYWxsb3c7CiBzdGF0aWMgY29uc3QgY2hhciAqZGVwdGg7CiBzdGF0aWMgY29uc3QgY2hhciAqdXBsb2FkX3BhY2s7CiBzdGF0aWMgc3RydWN0IHN0cmJ1ZiBkZWZhdWx0X3JsYSA9IFNUUkJVRl9JTklUOwpAQCAtNDAsNiArNDQsNyBAQAogc3RhdGljIHN0cnVjdCB0cmFuc3BvcnQgKmdzZWNvbmRhcnk7CiBzdGF0aWMgY29uc3QgY2hhciAqc3VibW9kdWxlX3ByZWZpeCA9ICIiOwogc3RhdGljIGNvbnN0IGNoYXIgKnJlY3Vyc2Vfc3VibW9kdWxlc19kZWZhdWx0Oworc3RhdGljIGludCBzaG93bl91cmwgPSAwOwogCiBzdGF0aWMgaW50IG9wdGlvbl9wYXJzZV9yZWN1cnNlX3N1Ym1vZHVsZXMoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAogCQkJCSAgIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQpAQCAtNTUsMzAgKzYwLDM5IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgZ2l0X2ZldGNoX2NvbmZpZyhjb25zdCBjaGFyICprLCBjb25zdCBjaGFyICp2LCB2b2lkICpjYikKK3sKKwlpZiAoIXN0cmNtcChrLCAiZmV0Y2gucHJ1bmUiKSkgeworCQlmZXRjaF9wcnVuZV9jb25maWcgPSBnaXRfY29uZmlnX2Jvb2woaywgdik7CisJCXJldHVybiAwOworCX0KKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIHN0cnVjdCBvcHRpb24gYnVpbHRpbl9mZXRjaF9vcHRpb25zW10gPSB7CiAJT1BUX19WRVJCT1NJVFkoJnZlcmJvc2l0eSksCi0JT1BUX0JPT0xFQU4oMCwgImFsbCIsICZhbGwsCi0JCSAgICBOXygiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIpKSwKLQlPUFRfQk9PTEVBTignYScsICJhcHBlbmQiLCAmYXBwZW5kLAotCQkgICAgTl8oImFwcGVuZCB0byAuZ2l0L0ZFVENIX0hFQUQgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyIpKSwKKwlPUFRfQk9PTCgwLCAiYWxsIiwgJmFsbCwKKwkJIE5fKCJmZXRjaCBmcm9tIGFsbCByZW1vdGVzIikpLAorCU9QVF9CT09MKCdhJywgImFwcGVuZCIsICZhcHBlbmQsCisJCSBOXygiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIikpLAogCU9QVF9TVFJJTkcoMCwgInVwbG9hZC1wYWNrIiwgJnVwbG9hZF9wYWNrLCBOXygicGF0aCIpLAogCQkgICBOXygicGF0aCB0byB1cGxvYWQgcGFjayBvbiByZW1vdGUgZW5kIikpLAogCU9QVF9fRk9SQ0UoJmZvcmNlLCBOXygiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIGJyYW5jaCIpKSwKLQlPUFRfQk9PTEVBTignbScsICJtdWx0aXBsZSIsICZtdWx0aXBsZSwKLQkJICAgIE5fKCJmZXRjaCBmcm9tIG11bHRpcGxlIHJlbW90ZXMiKSksCisJT1BUX0JPT0woJ20nLCAibXVsdGlwbGUiLCAmbXVsdGlwbGUsCisJCSBOXygiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIikpLAogCU9QVF9TRVRfSU5UKCd0JywgInRhZ3MiLCAmdGFncywKIAkJICAgIE5fKCJmZXRjaCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIiksIFRBR1NfU0VUKSwKIAlPUFRfU0VUX0lOVCgnbicsIE5VTEwsICZ0YWdzLAogCQkgICAgTl8oImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIpLCBUQUdTX1VOU0VUKSwKLQlPUFRfQk9PTEVBTigncCcsICJwcnVuZSIsICZwcnVuZSwKLQkJICAgIE5fKCJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIpKSwKKwlPUFRfQk9PTCgncCcsICJwcnVuZSIsICZwcnVuZSwKKwkJIE5fKCJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIpKSwKIAl7IE9QVElPTl9DQUxMQkFDSywgMCwgInJlY3Vyc2Utc3VibW9kdWxlcyIsIE5VTEwsIE5fKCJvbi1kZW1hbmQiKSwKIAkJICAgIE5fKCJjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIiksCiAJCSAgICBQQVJTRV9PUFRfT1BUQVJHLCBvcHRpb25fcGFyc2VfcmVjdXJzZV9zdWJtb2R1bGVzIH0sCi0JT1BUX0JPT0xFQU4oMCwgImRyeS1ydW4iLCAmZHJ5X3J1biwKLQkJICAgIE5fKCJkcnkgcnVuIikpLAotCU9QVF9CT09MRUFOKCdrJywgImtlZXAiLCAma2VlcCwgTl8oImtlZXAgZG93bmxvYWRlZCBwYWNrIikpLAotCU9QVF9CT09MRUFOKCd1JywgInVwZGF0ZS1oZWFkLW9rIiwgJnVwZGF0ZV9oZWFkX29rLAorCU9QVF9CT09MKDAsICJkcnktcnVuIiwgJmRyeV9ydW4sCisJCSBOXygiZHJ5IHJ1biIpKSwKKwlPUFRfQk9PTCgnaycsICJrZWVwIiwgJmtlZXAsIE5fKCJrZWVwIGRvd25sb2FkZWQgcGFjayIpKSwKKwlPUFRfQk9PTCgndScsICJ1cGRhdGUtaGVhZC1vayIsICZ1cGRhdGVfaGVhZF9vaywKIAkJICAgIE5fKCJhbGxvdyB1cGRhdGluZyBvZiBIRUFEIHJlZiIpKSwKIAlPUFRfQk9PTCgwLCAicHJvZ3Jlc3MiLCAmcHJvZ3Jlc3MsIE5fKCJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciKSksCiAJT1BUX1NUUklORygwLCAiZGVwdGgiLCAmZGVwdGgsIE5fKCJkZXB0aCIpLApAQCAtOTEsNiArMTA1LDggQEAKIAl7IE9QVElPTl9TVFJJTkcsIDAsICJyZWN1cnNlLXN1Ym1vZHVsZXMtZGVmYXVsdCIsCiAJCSAgICZyZWN1cnNlX3N1Ym1vZHVsZXNfZGVmYXVsdCwgTlVMTCwKIAkJICAgTl8oImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIiksIFBBUlNFX09QVF9ISURERU4gfSwKKwlPUFRfQk9PTCgwLCAidXBkYXRlLXNoYWxsb3ciLCAmdXBkYXRlX3NoYWxsb3csCisJCSBOXygiYWNjZXB0IHJlZnMgdGhhdCB1cGRhdGUgLmdpdC9zaGFsbG93IikpLAogCU9QVF9FTkQoKQogfTsKIApAQCAtMTQ3LDQ4ICsxNjMsMTU2IEBACiAJfQogfQogCitzdGF0aWMgaW50IGFkZF9leGlzdGluZyhjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorCQkJaW50IGZsYWcsIHZvaWQgKmNiZGF0YSkKK3sKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QgPSAoc3RydWN0IHN0cmluZ19saXN0ICopY2JkYXRhOworCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtID0gc3RyaW5nX2xpc3RfaW5zZXJ0KGxpc3QsIHJlZm5hbWUpOworCWl0ZW0tPnV0aWwgPSB4bWFsbG9jKDIwKTsKKwloYXNoY3B5KGl0ZW0tPnV0aWwsIHNoYTEpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHdpbGxfZmV0Y2goc3RydWN0IHJlZiAqKmhlYWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCit7CisJc3RydWN0IHJlZiAqcm0gPSAqaGVhZDsKKwl3aGlsZSAocm0pIHsKKwkJaWYgKCFoYXNoY21wKHJtLT5vbGRfc2hhMSwgc2hhMSkpCisJCQlyZXR1cm4gMTsKKwkJcm0gPSBybS0+bmV4dDsKKwl9CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyB2b2lkIGZpbmRfbm9uX2xvY2FsX3RhZ3Moc3RydWN0IHRyYW5zcG9ydCAqdHJhbnNwb3J0LAogCQkJc3RydWN0IHJlZiAqKmhlYWQsCi0JCQlzdHJ1Y3QgcmVmICoqKnRhaWwpOworCQkJc3RydWN0IHJlZiAqKip0YWlsKQoreworCXN0cnVjdCBzdHJpbmdfbGlzdCBleGlzdGluZ19yZWZzID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CisJc3RydWN0IHN0cmluZ19saXN0IHJlbW90ZV9yZWZzID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKKwljb25zdCBzdHJ1Y3QgcmVmICpyZWY7CisJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW0gPSBOVUxMOworCisJZm9yX2VhY2hfcmVmKGFkZF9leGlzdGluZywgJmV4aXN0aW5nX3JlZnMpOworCWZvciAocmVmID0gdHJhbnNwb3J0X2dldF9yZW1vdGVfcmVmcyh0cmFuc3BvcnQpOyByZWY7IHJlZiA9IHJlZi0+bmV4dCkgeworCQlpZiAoIXN0YXJ0c193aXRoKHJlZi0+bmFtZSwgInJlZnMvdGFncy8iKSkKKwkJCWNvbnRpbnVlOworCisJCS8qCisJCSAqIFRoZSBwZWVsZWQgcmVmIGFsd2F5cyBmb2xsb3dzIHRoZSBtYXRjaGluZyBiYXNlCisJCSAqIHJlZiwgc28gaWYgd2Ugc2VlIGEgcGVlbGVkIHJlZiB0aGF0IHdlIGRvbid0IHdhbnQKKwkJICogdG8gZmV0Y2ggdGhlbiB3ZSBjYW4gbWFyayB0aGUgcmVmIGVudHJ5IGluIHRoZSBsaXN0CisJCSAqIGFzIG9uZSB0byBpZ25vcmUgYnkgc2V0dGluZyB1dGlsIHRvIE5VTEwuCisJCSAqLworCQlpZiAoZW5kc193aXRoKHJlZi0+bmFtZSwgIl57fSIpKSB7CisJCQlpZiAoaXRlbSAmJiAhaGFzX3NoYTFfZmlsZShyZWYtPm9sZF9zaGExKSAmJgorCQkJICAgICF3aWxsX2ZldGNoKGhlYWQsIHJlZi0+b2xkX3NoYTEpICYmCisJCQkgICAgIWhhc19zaGExX2ZpbGUoaXRlbS0+dXRpbCkgJiYKKwkJCSAgICAhd2lsbF9mZXRjaChoZWFkLCBpdGVtLT51dGlsKSkKKwkJCQlpdGVtLT51dGlsID0gTlVMTDsKKwkJCWl0ZW0gPSBOVUxMOworCQkJY29udGludWU7CisJCX0KKworCQkvKgorCQkgKiBJZiBpdGVtIGlzIG5vbi1OVUxMIGhlcmUsIHRoZW4gd2UgcHJldmlvdXNseSBzYXcgYQorCQkgKiByZWYgbm90IGZvbGxvd2VkIGJ5IGEgcGVlbGVkIHJlZmVyZW5jZSwgc28gd2UgbmVlZAorCQkgKiB0byBjaGVjayBpZiBpdCBpcyBhIGxpZ2h0d2VpZ2h0IHRhZyB0aGF0IHdlIHdhbnQgdG8KKwkJICogZmV0Y2guCisJCSAqLworCQlpZiAoaXRlbSAmJiAhaGFzX3NoYTFfZmlsZShpdGVtLT51dGlsKSAmJgorCQkgICAgIXdpbGxfZmV0Y2goaGVhZCwgaXRlbS0+dXRpbCkpCisJCQlpdGVtLT51dGlsID0gTlVMTDsKKworCQlpdGVtID0gTlVMTDsKKworCQkvKiBza2lwIGR1cGxpY2F0ZXMgYW5kIHJlZnMgdGhhdCB3ZSBhbHJlYWR5IGhhdmUgKi8KKwkJaWYgKHN0cmluZ19saXN0X2hhc19zdHJpbmcoJnJlbW90ZV9yZWZzLCByZWYtPm5hbWUpIHx8CisJCSAgICBzdHJpbmdfbGlzdF9oYXNfc3RyaW5nKCZleGlzdGluZ19yZWZzLCByZWYtPm5hbWUpKQorCQkJY29udGludWU7CisKKwkJaXRlbSA9IHN0cmluZ19saXN0X2luc2VydCgmcmVtb3RlX3JlZnMsIHJlZi0+bmFtZSk7CisJCWl0ZW0tPnV0aWwgPSAodm9pZCAqKXJlZi0+b2xkX3NoYTE7CisJfQorCXN0cmluZ19saXN0X2NsZWFyKCZleGlzdGluZ19yZWZzLCAxKTsKKworCS8qCisJICogV2UgbWF5IGhhdmUgYSBmaW5hbCBsaWdodHdlaWdodCB0YWcgdGhhdCBuZWVkcyB0byBiZQorCSAqIGNoZWNrZWQgdG8gc2VlIGlmIGl0IG5lZWRzIGZldGNoaW5nLgorCSAqLworCWlmIChpdGVtICYmICFoYXNfc2hhMV9maWxlKGl0ZW0tPnV0aWwpICYmCisJICAgICF3aWxsX2ZldGNoKGhlYWQsIGl0ZW0tPnV0aWwpKQorCQlpdGVtLT51dGlsID0gTlVMTDsKKworCS8qCisJICogRm9yIGFsbCB0aGUgdGFncyBpbiB0aGUgcmVtb3RlX3JlZnMgc3RyaW5nIGxpc3QsCisJICogYWRkIHRoZW0gdG8gdGhlIGxpc3Qgb2YgcmVmcyB0byBiZSBmZXRjaGVkCisJICovCisJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShpdGVtLCAmcmVtb3RlX3JlZnMpIHsKKwkJLyogVW5sZXNzIHdlIGhhdmUgYWxyZWFkeSBkZWNpZGVkIHRvIGlnbm9yZSB0aGlzIGl0ZW0uLi4gKi8KKwkJaWYgKGl0ZW0tPnV0aWwpCisJCXsKKwkJCXN0cnVjdCByZWYgKnJtID0gYWxsb2NfcmVmKGl0ZW0tPnN0cmluZyk7CisJCQlybS0+cGVlcl9yZWYgPSBhbGxvY19yZWYoaXRlbS0+c3RyaW5nKTsKKwkJCWhhc2hjcHkocm0tPm9sZF9zaGExLCBpdGVtLT51dGlsKTsKKwkJCSoqdGFpbCA9IHJtOworCQkJKnRhaWwgPSAmcm0tPm5leHQ7CisJCX0KKwl9CisKKwlzdHJpbmdfbGlzdF9jbGVhcigmcmVtb3RlX3JlZnMsIDApOworfQogCiBzdGF0aWMgc3RydWN0IHJlZiAqZ2V0X3JlZl9tYXAoc3RydWN0IHRyYW5zcG9ydCAqdHJhbnNwb3J0LAotCQkJICAgICAgIHN0cnVjdCByZWZzcGVjICpyZWZzLCBpbnQgcmVmX2NvdW50LCBpbnQgdGFncywKLQkJCSAgICAgICBpbnQgKmF1dG90YWdzKQorCQkJICAgICAgIHN0cnVjdCByZWZzcGVjICpyZWZzcGVjcywgaW50IHJlZnNwZWNfY291bnQsCisJCQkgICAgICAgaW50IHRhZ3MsIGludCAqYXV0b3RhZ3MpCiB7CiAJaW50IGk7CiAJc3RydWN0IHJlZiAqcm07CiAJc3RydWN0IHJlZiAqcmVmX21hcCA9IE5VTEw7CiAJc3RydWN0IHJlZiAqKnRhaWwgPSAmcmVmX21hcDsKIAorCS8qIG9wcG9ydHVuaXN0aWNhbGx5LXVwZGF0ZWQgcmVmZXJlbmNlczogKi8KKwlzdHJ1Y3QgcmVmICpvcmVmcyA9IE5VTEwsICoqb3JlZl90YWlsID0gJm9yZWZzOworCiAJY29uc3Qgc3RydWN0IHJlZiAqcmVtb3RlX3JlZnMgPSB0cmFuc3BvcnRfZ2V0X3JlbW90ZV9yZWZzKHRyYW5zcG9ydCk7CiAKLQlpZiAocmVmX2NvdW50IHx8IHRhZ3MgPT0gVEFHU19TRVQpIHsKLQkJc3RydWN0IHJlZiAqKm9sZF90YWlsOwotCi0JCWZvciAoaSA9IDA7IGkgPCByZWZfY291bnQ7IGkrKykgewotCQkJZ2V0X2ZldGNoX21hcChyZW1vdGVfcmVmcywgJnJlZnNbaV0sICZ0YWlsLCAwKTsKLQkJCWlmIChyZWZzW2ldLmRzdCAmJiByZWZzW2ldLmRzdFswXSkKKwlpZiAocmVmc3BlY19jb3VudCkgeworCQlmb3IgKGkgPSAwOyBpIDwgcmVmc3BlY19jb3VudDsgaSsrKSB7CisJCQlnZXRfZmV0Y2hfbWFwKHJlbW90ZV9yZWZzLCAmcmVmc3BlY3NbaV0sICZ0YWlsLCAwKTsKKwkJCWlmIChyZWZzcGVjc1tpXS5kc3QgJiYgcmVmc3BlY3NbaV0uZHN0WzBdKQogCQkJCSphdXRvdGFncyA9IDE7CiAJCX0KLQkJLyogTWVyZ2UgZXZlcnl0aGluZyBvbiB0aGUgY29tbWFuZCBsaW5lLCBidXQgbm90IC0tdGFncyAqLworCQkvKiBNZXJnZSBldmVyeXRoaW5nIG9uIHRoZSBjb21tYW5kIGxpbmUgKGJ1dCBub3QgLS10YWdzKSAqLwogCQlmb3IgKHJtID0gcmVmX21hcDsgcm07IHJtID0gcm0tPm5leHQpCiAJCQlybS0+ZmV0Y2hfaGVhZF9zdGF0dXMgPSBGRVRDSF9IRUFEX01FUkdFOwotCQlpZiAodGFncyA9PSBUQUdTX1NFVCkKLQkJCWdldF9mZXRjaF9tYXAocmVtb3RlX3JlZnMsIHRhZ19yZWZzcGVjLCAmdGFpbCwgMCk7CiAKIAkJLyoKLQkJICogRm9yIGFueSByZWZzIHRoYXQgd2UgaGFwcGVuIHRvIGJlIGZldGNoaW5nIHZpYSBjb21tYW5kLWxpbmUKLQkJICogYXJndW1lbnRzLCB0YWtlIHRoZSBvcHBvcnR1bml0eSB0byB1cGRhdGUgdGhlaXIgY29uZmlndXJlZAotCQkgKiBjb3VudGVycGFydHMuIEhvd2V2ZXIsIHdlIGRvIG5vdCB3YW50IHRvIG1lbnRpb24gdGhlc2UKLQkJICogZW50cmllcyBpbiBGRVRDSF9IRUFEIGF0IGFsbCwgYXMgdGhleSB3b3VsZCBzaW1wbHkgYmUKLQkJICogZHVwbGljYXRlcyBvZiBleGlzdGluZyBlbnRyaWVzLgorCQkgKiBGb3IgYW55IHJlZnMgdGhhdCB3ZSBoYXBwZW4gdG8gYmUgZmV0Y2hpbmcgdmlhCisJCSAqIGNvbW1hbmQtbGluZSBhcmd1bWVudHMsIHRoZSBkZXN0aW5hdGlvbiByZWYgbWlnaHQKKwkJICogaGF2ZSBiZWVuIG1pc3Npbmcgb3IgaGF2ZSBiZWVuIGRpZmZlcmVudCB0aGFuIHRoZQorCQkgKiByZW1vdGUtdHJhY2tpbmcgcmVmIHRoYXQgd291bGQgYmUgZGVyaXZlZCBmcm9tIHRoZQorCQkgKiBjb25maWd1cmVkIHJlZnNwZWMuICBJbiB0aGVzZSBjYXNlcywgd2Ugd2FudCB0bworCQkgKiB0YWtlIHRoZSBvcHBvcnR1bml0eSB0byB1cGRhdGUgdGhlaXIgY29uZmlndXJlZAorCQkgKiByZW1vdGUtdHJhY2tpbmcgcmVmZXJlbmNlLiAgSG93ZXZlciwgd2UgZG8gbm90IHdhbnQKKwkJICogdG8gbWVudGlvbiB0aGVzZSBlbnRyaWVzIGluIEZFVENIX0hFQUQgYXQgYWxsLCBhcworCQkgKiB0aGV5IHdvdWxkIHNpbXBseSBiZSBkdXBsaWNhdGVzIG9mIGV4aXN0aW5nCisJCSAqIGVudHJpZXMsIHNvIHdlIHNldCB0aGVtIEZFVENIX0hFQURfSUdOT1JFIGJlbG93LgorCQkgKgorCQkgKiBXZSBjb21wdXRlIHRoZXNlIGVudHJpZXMgbm93LCBiYXNlZCBvbmx5IG9uIHRoZQorCQkgKiByZWZzcGVjcyBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZS4gIEJ1dCB3ZSBhZGQKKwkJICogdGhlbSB0byB0aGUgbGlzdCBmb2xsb3dpbmcgdGhlIHJlZnNwZWNzIHJlc3VsdGluZworCQkgKiBmcm9tIHRoZSB0YWdzIG9wdGlvbiBzbyB0aGF0IG9uZSBvZiB0aGUgbGF0dGVyLAorCQkgKiB3aGljaCBoYXMgRkVUQ0hfSEVBRF9OT1RfRk9SX01FUkdFLCBpcyBub3QgcmVtb3ZlZAorCQkgKiBieSByZWZfcmVtb3ZlX2R1cGxpY2F0ZXMoKSBpbiBmYXZvciBvZiBvbmUgb2YgdGhlc2UKKwkJICogb3Bwb3J0dW5pc3RpYyBlbnRyaWVzIHdpdGggRkVUQ0hfSEVBRF9JR05PUkUuCiAJCSAqLwotCQlvbGRfdGFpbCA9IHRhaWw7CiAJCWZvciAoaSA9IDA7IGkgPCB0cmFuc3BvcnQtPnJlbW90ZS0+ZmV0Y2hfcmVmc3BlY19ucjsgaSsrKQogCQkJZ2V0X2ZldGNoX21hcChyZWZfbWFwLCAmdHJhbnNwb3J0LT5yZW1vdGUtPmZldGNoW2ldLAotCQkJCSAgICAgICZ0YWlsLCAxKTsKLQkJZm9yIChybSA9ICpvbGRfdGFpbDsgcm07IHJtID0gcm0tPm5leHQpCi0JCQlybS0+ZmV0Y2hfaGVhZF9zdGF0dXMgPSBGRVRDSF9IRUFEX0lHTk9SRTsKKwkJCQkgICAgICAmb3JlZl90YWlsLCAxKTsKKworCQlpZiAodGFncyA9PSBUQUdTX1NFVCkKKwkJCWdldF9mZXRjaF9tYXAocmVtb3RlX3JlZnMsIHRhZ19yZWZzcGVjLCAmdGFpbCwgMCk7CiAJfSBlbHNlIHsKIAkJLyogVXNlIHRoZSBkZWZhdWx0cyAqLwogCQlzdHJ1Y3QgcmVtb3RlICpyZW1vdGUgPSB0cmFuc3BvcnQtPnJlbW90ZTsKQEAgLTIyNSwxMSArMzQ5LDIxIEBACiAJCQl0YWlsID0gJnJlZl9tYXAtPm5leHQ7CiAJCX0KIAl9Ci0JaWYgKHRhZ3MgPT0gVEFHU19ERUZBVUxUICYmICphdXRvdGFncykKLQkJZmluZF9ub25fbG9jYWxfdGFncyh0cmFuc3BvcnQsICZyZWZfbWFwLCAmdGFpbCk7Ci0JcmVmX3JlbW92ZV9kdXBsaWNhdGVzKHJlZl9tYXApOwogCi0JcmV0dXJuIHJlZl9tYXA7CisJaWYgKHRhZ3MgPT0gVEFHU19TRVQpCisJCS8qIGFsc28gZmV0Y2ggYWxsIHRhZ3MgKi8KKwkJZ2V0X2ZldGNoX21hcChyZW1vdGVfcmVmcywgdGFnX3JlZnNwZWMsICZ0YWlsLCAwKTsKKwllbHNlIGlmICh0YWdzID09IFRBR1NfREVGQVVMVCAmJiAqYXV0b3RhZ3MpCisJCWZpbmRfbm9uX2xvY2FsX3RhZ3ModHJhbnNwb3J0LCAmcmVmX21hcCwgJnRhaWwpOworCisJLyogTm93IGFwcGVuZCBhbnkgcmVmcyB0byBiZSB1cGRhdGVkIG9wcG9ydHVuaXN0aWNhbGx5OiAqLworCSp0YWlsID0gb3JlZnM7CisJZm9yIChybSA9IG9yZWZzOyBybTsgcm0gPSBybS0+bmV4dCkgeworCQlybS0+ZmV0Y2hfaGVhZF9zdGF0dXMgPSBGRVRDSF9IRUFEX0lHTk9SRTsKKwkJdGFpbCA9ICZybS0+bmV4dDsKKwl9CisKKwlyZXR1cm4gcmVmX3JlbW92ZV9kdXBsaWNhdGVzKHJlZl9tYXApOwogfQogCiAjZGVmaW5lIFNUT1JFX1JFRl9FUlJPUl9PVEhFUiAxCkBAIC0yNDksNyArMzgzLDggQEAKIAkJcmxhID0gZGVmYXVsdF9ybGEuYnVmOwogCXNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlczogJXMiLCBybGEsIGFjdGlvbik7CiAJbG9jayA9IGxvY2tfYW55X3JlZl9mb3JfdXBkYXRlKHJlZi0+bmFtZSwKLQkJCQkgICAgICAgY2hlY2tfb2xkID8gcmVmLT5vbGRfc2hhMSA6IE5VTEwsIDApOworCQkJCSAgICAgICBjaGVja19vbGQgPyByZWYtPm9sZF9zaGExIDogTlVMTCwKKwkJCQkgICAgICAgMCwgTlVMTCk7CiAJaWYgKCFsb2NrKQogCQlyZXR1cm4gZXJybm8gPT0gRU5PVERJUiA/IFNUT1JFX1JFRl9FUlJPUl9ERl9DT05GTElDVCA6CiAJCQkJCSAgU1RPUkVfUkVGX0VSUk9SX09USEVSOwpAQCAtMjk5LDcgKzQzNCw3IEBACiAJfQogCiAJaWYgKCFpc19udWxsX3NoYTEocmVmLT5vbGRfc2hhMSkgJiYKLQkgICAgIXByZWZpeGNtcChyZWYtPm5hbWUsICJyZWZzL3RhZ3MvIikpIHsKKwkgICAgc3RhcnRzX3dpdGgocmVmLT5uYW1lLCAicmVmcy90YWdzLyIpKSB7CiAJCWludCByOwogCQlyID0gc191cGRhdGVfcmVmKCJ1cGRhdGluZyB0YWciLCByZWYsIDApOwogCQlzdHJidWZfYWRkZihkaXNwbGF5LCAiJWMgJS0qcyAlLSpzIC0+ICVzJXMiLApAQCAtMzIyLDEwICs0NTcsMTAgQEAKIAkJICogbW9yZSBsaWtlbHkgdG8gZm9sbG93IGEgc3RhbmRhcmQgbGF5b3V0LgogCQkgKi8KIAkJY29uc3QgY2hhciAqbmFtZSA9IHJlbW90ZV9yZWYgPyByZW1vdGVfcmVmLT5uYW1lIDogIiI7Ci0JCWlmICghcHJlZml4Y21wKG5hbWUsICJyZWZzL3RhZ3MvIikpIHsKKwkJaWYgKHN0YXJ0c193aXRoKG5hbWUsICJyZWZzL3RhZ3MvIikpIHsKIAkJCW1zZyA9ICJzdG9yaW5nIHRhZyI7CiAJCQl3aGF0ID0gXygiW25ldyB0YWddIik7Ci0JCX0gZWxzZSBpZiAoIXByZWZpeGNtcChuYW1lLCAicmVmcy9oZWFkcy8iKSkgeworCQl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKG5hbWUsICJyZWZzL2hlYWRzLyIpKSB7CiAJCQltc2cgPSAic3RvcmluZyBoZWFkIjsKIAkJCXdoYXQgPSBfKCJbbmV3IGJyYW5jaF0iKTsKIAkJfSBlbHNlIHsKQEAgLTM5MSw2ICs1MjYsOCBAQAogCXN0cnVjdCByZWYgKipybSA9IGNiX2RhdGE7CiAJc3RydWN0IHJlZiAqcmVmID0gKnJtOwogCisJd2hpbGUgKHJlZiAmJiByZWYtPnN0YXR1cyA9PSBSRUZfU1RBVFVTX1JFSkVDVF9TSEFMTE9XKQorCQlyZWYgPSByZWYtPm5leHQ7CiAJaWYgKCFyZWYpCiAJCXJldHVybiAtMTsgLyogZW5kIG9mIHRoZSBsaXN0ICovCiAJKnJtID0gcmVmLT5uZXh0OwpAQCAtNDAzLDcgKzU0MCw3IEBACiB7CiAJRklMRSAqZnA7CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwotCWludCB1cmxfbGVuLCBpLCBzaG93bl91cmwgPSAwLCByYyA9IDA7CisJaW50IHVybF9sZW4sIGksIHJjID0gMDsKIAlzdHJ1Y3Qgc3RyYnVmIG5vdGUgPSBTVFJCVUZfSU5JVDsKIAljb25zdCBjaGFyICp3aGF0LCAqa2luZDsKIAlzdHJ1Y3QgcmVmICpybTsKQEAgLTQzNyw2ICs1NzQsMTMgQEAKIAkJCXN0cnVjdCByZWYgKnJlZiA9IE5VTEw7CiAJCQljb25zdCBjaGFyICptZXJnZV9zdGF0dXNfbWFya2VyID0gIiI7CiAKKwkJCWlmIChybS0+c3RhdHVzID09IFJFRl9TVEFUVVNfUkVKRUNUX1NIQUxMT1cpIHsKKwkJCQlpZiAod2FudF9zdGF0dXMgPT0gRkVUQ0hfSEVBRF9NRVJHRSkKKwkJCQkJd2FybmluZyhfKCJyZWplY3QgJXMgYmVjYXVzZSBzaGFsbG93IHJvb3RzIGFyZSBub3QgYWxsb3dlZCB0byBiZSB1cGRhdGVkIiksCisJCQkJCQlybS0+cGVlcl9yZWYgPyBybS0+cGVlcl9yZWYtPm5hbWUgOiBybS0+bmFtZSk7CisJCQkJY29udGludWU7CisJCQl9CisKIAkJCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShybS0+b2xkX3NoYTEsIDEpOwogCQkJaWYgKCFjb21taXQpCiAJCQkJcm0tPmZldGNoX2hlYWRfc3RhdHVzID0gRkVUQ0hfSEVBRF9OT1RfRk9SX01FUkdFOwpAQCAtNDU3LDE1ICs2MDEsMTUgQEAKIAkJCQlraW5kID0gIiI7CiAJCQkJd2hhdCA9ICIiOwogCQkJfQotCQkJZWxzZSBpZiAoIXByZWZpeGNtcChybS0+bmFtZSwgInJlZnMvaGVhZHMvIikpIHsKKwkJCWVsc2UgaWYgKHN0YXJ0c193aXRoKHJtLT5uYW1lLCAicmVmcy9oZWFkcy8iKSkgewogCQkJCWtpbmQgPSAiYnJhbmNoIjsKIAkJCQl3aGF0ID0gcm0tPm5hbWUgKyAxMTsKIAkJCX0KLQkJCWVsc2UgaWYgKCFwcmVmaXhjbXAocm0tPm5hbWUsICJyZWZzL3RhZ3MvIikpIHsKKwkJCWVsc2UgaWYgKHN0YXJ0c193aXRoKHJtLT5uYW1lLCAicmVmcy90YWdzLyIpKSB7CiAJCQkJa2luZCA9ICJ0YWciOwogCQkJCXdoYXQgPSBybS0+bmFtZSArIDEwOwogCQkJfQotCQkJZWxzZSBpZiAoIXByZWZpeGNtcChybS0+bmFtZSwgInJlZnMvcmVtb3Rlcy8iKSkgeworCQkJZWxzZSBpZiAoc3RhcnRzX3dpdGgocm0tPm5hbWUsICJyZWZzL3JlbW90ZXMvIikpIHsKIAkJCQlraW5kID0gInJlbW90ZS10cmFja2luZyBicmFuY2giOwogCQkJCXdoYXQgPSBybS0+bmFtZSArIDEzOwogCQkJfQpAQCAtNTc2LDE3ICs3MjAsMzYgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50IHBydW5lX3JlZnMoc3RydWN0IHJlZnNwZWMgKnJlZnMsIGludCByZWZfY291bnQsIHN0cnVjdCByZWYgKnJlZl9tYXApCitzdGF0aWMgaW50IHBydW5lX3JlZnMoc3RydWN0IHJlZnNwZWMgKnJlZnMsIGludCByZWZfY291bnQsIHN0cnVjdCByZWYgKnJlZl9tYXAsCisJCWNvbnN0IGNoYXIgKnJhd191cmwpCiB7Ci0JaW50IHJlc3VsdCA9IDA7CisJaW50IHVybF9sZW4sIGksIHJlc3VsdCA9IDA7CiAJc3RydWN0IHJlZiAqcmVmLCAqc3RhbGVfcmVmcyA9IGdldF9zdGFsZV9oZWFkcyhyZWZzLCByZWZfY291bnQsIHJlZl9tYXApOworCWNoYXIgKnVybDsKIAljb25zdCBjaGFyICpkYW5nbGluZ19tc2cgPSBkcnlfcnVuCiAJCT8gXygiICAgKCVzIHdpbGwgYmVjb21lIGRhbmdsaW5nKSIpCiAJCTogXygiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIik7CiAKKwlpZiAocmF3X3VybCkKKwkJdXJsID0gdHJhbnNwb3J0X2Fub255bWl6ZV91cmwocmF3X3VybCk7CisJZWxzZQorCQl1cmwgPSB4c3RyZHVwKCJmb3JlaWduIik7CisKKwl1cmxfbGVuID0gc3RybGVuKHVybCk7CisJZm9yIChpID0gdXJsX2xlbiAtIDE7IHVybFtpXSA9PSAnLycgJiYgMCA8PSBpOyBpLS0pCisJCTsKKworCXVybF9sZW4gPSBpICsgMTsKKwlpZiAoNCA8IGkgJiYgIXN0cm5jbXAoIi5naXQiLCB1cmwgKyBpIC0gMywgNCkpCisJCXVybF9sZW4gPSBpIC0gMzsKKwogCWZvciAocmVmID0gc3RhbGVfcmVmczsgcmVmOyByZWYgPSByZWYtPm5leHQpIHsKIAkJaWYgKCFkcnlfcnVuKQogCQkJcmVzdWx0IHw9IGRlbGV0ZV9yZWYocmVmLT5uYW1lLCBOVUxMLCAwKTsKKwkJaWYgKHZlcmJvc2l0eSA+PSAwICYmICFzaG93bl91cmwpIHsKKwkJCWZwcmludGYoc3RkZXJyLCBfKCJGcm9tICUuKnNcbiIpLCB1cmxfbGVuLCB1cmwpOworCQkJc2hvd25fdXJsID0gMTsKKwkJfQogCQlpZiAodmVyYm9zaXR5ID49IDApIHsKIAkJCWZwcmludGYoc3RkZXJyLCAiIHggJS0qcyAlLSpzIC0+ICVzXG4iLAogCQkJCVRSQU5TUE9SVF9TVU1NQVJZKF8oIltkZWxldGVkXSIpKSwKQEAgLTU5NCwxMTAgKzc1NywxMSBAQAogCQkJd2Fybl9kYW5nbGluZ19zeW1yZWYoc3RkZXJyLCBkYW5nbGluZ19tc2csIHJlZi0+bmFtZSk7CiAJCX0KIAl9CisJZnJlZSh1cmwpOwogCWZyZWVfcmVmcyhzdGFsZV9yZWZzKTsKIAlyZXR1cm4gcmVzdWx0OwogfQogCi1zdGF0aWMgaW50IGFkZF9leGlzdGluZyhjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAotCQkJaW50IGZsYWcsIHZvaWQgKmNiZGF0YSkKLXsKLQlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QgPSAoc3RydWN0IHN0cmluZ19saXN0ICopY2JkYXRhOwotCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtID0gc3RyaW5nX2xpc3RfaW5zZXJ0KGxpc3QsIHJlZm5hbWUpOwotCWl0ZW0tPnV0aWwgPSB4bWFsbG9jKDIwKTsKLQloYXNoY3B5KGl0ZW0tPnV0aWwsIHNoYTEpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHdpbGxfZmV0Y2goc3RydWN0IHJlZiAqKmhlYWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCi17Ci0Jc3RydWN0IHJlZiAqcm0gPSAqaGVhZDsKLQl3aGlsZSAocm0pIHsKLQkJaWYgKCFoYXNoY21wKHJtLT5vbGRfc2hhMSwgc2hhMSkpCi0JCQlyZXR1cm4gMTsKLQkJcm0gPSBybS0+bmV4dDsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGZpbmRfbm9uX2xvY2FsX3RhZ3Moc3RydWN0IHRyYW5zcG9ydCAqdHJhbnNwb3J0LAotCQkJc3RydWN0IHJlZiAqKmhlYWQsCi0JCQlzdHJ1Y3QgcmVmICoqKnRhaWwpCi17Ci0Jc3RydWN0IHN0cmluZ19saXN0IGV4aXN0aW5nX3JlZnMgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKLQlzdHJ1Y3Qgc3RyaW5nX2xpc3QgcmVtb3RlX3JlZnMgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwotCWNvbnN0IHN0cnVjdCByZWYgKnJlZjsKLQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbSA9IE5VTEw7Ci0KLQlmb3JfZWFjaF9yZWYoYWRkX2V4aXN0aW5nLCAmZXhpc3RpbmdfcmVmcyk7Ci0JZm9yIChyZWYgPSB0cmFuc3BvcnRfZ2V0X3JlbW90ZV9yZWZzKHRyYW5zcG9ydCk7IHJlZjsgcmVmID0gcmVmLT5uZXh0KSB7Ci0JCWlmIChwcmVmaXhjbXAocmVmLT5uYW1lLCAicmVmcy90YWdzLyIpKQotCQkJY29udGludWU7Ci0KLQkJLyoKLQkJICogVGhlIHBlZWxlZCByZWYgYWx3YXlzIGZvbGxvd3MgdGhlIG1hdGNoaW5nIGJhc2UKLQkJICogcmVmLCBzbyBpZiB3ZSBzZWUgYSBwZWVsZWQgcmVmIHRoYXQgd2UgZG9uJ3Qgd2FudAotCQkgKiB0byBmZXRjaCB0aGVuIHdlIGNhbiBtYXJrIHRoZSByZWYgZW50cnkgaW4gdGhlIGxpc3QKLQkJICogYXMgb25lIHRvIGlnbm9yZSBieSBzZXR0aW5nIHV0aWwgdG8gTlVMTC4KLQkJICovCi0JCWlmICghc3VmZml4Y21wKHJlZi0+bmFtZSwgIl57fSIpKSB7Ci0JCQlpZiAoaXRlbSAmJiAhaGFzX3NoYTFfZmlsZShyZWYtPm9sZF9zaGExKSAmJgotCQkJICAgICF3aWxsX2ZldGNoKGhlYWQsIHJlZi0+b2xkX3NoYTEpICYmCi0JCQkgICAgIWhhc19zaGExX2ZpbGUoaXRlbS0+dXRpbCkgJiYKLQkJCSAgICAhd2lsbF9mZXRjaChoZWFkLCBpdGVtLT51dGlsKSkKLQkJCQlpdGVtLT51dGlsID0gTlVMTDsKLQkJCWl0ZW0gPSBOVUxMOwotCQkJY29udGludWU7Ci0JCX0KLQotCQkvKgotCQkgKiBJZiBpdGVtIGlzIG5vbi1OVUxMIGhlcmUsIHRoZW4gd2UgcHJldmlvdXNseSBzYXcgYQotCQkgKiByZWYgbm90IGZvbGxvd2VkIGJ5IGEgcGVlbGVkIHJlZmVyZW5jZSwgc28gd2UgbmVlZAotCQkgKiB0byBjaGVjayBpZiBpdCBpcyBhIGxpZ2h0d2VpZ2h0IHRhZyB0aGF0IHdlIHdhbnQgdG8KLQkJICogZmV0Y2guCi0JCSAqLwotCQlpZiAoaXRlbSAmJiAhaGFzX3NoYTFfZmlsZShpdGVtLT51dGlsKSAmJgotCQkgICAgIXdpbGxfZmV0Y2goaGVhZCwgaXRlbS0+dXRpbCkpCi0JCQlpdGVtLT51dGlsID0gTlVMTDsKLQotCQlpdGVtID0gTlVMTDsKLQotCQkvKiBza2lwIGR1cGxpY2F0ZXMgYW5kIHJlZnMgdGhhdCB3ZSBhbHJlYWR5IGhhdmUgKi8KLQkJaWYgKHN0cmluZ19saXN0X2hhc19zdHJpbmcoJnJlbW90ZV9yZWZzLCByZWYtPm5hbWUpIHx8Ci0JCSAgICBzdHJpbmdfbGlzdF9oYXNfc3RyaW5nKCZleGlzdGluZ19yZWZzLCByZWYtPm5hbWUpKQotCQkJY29udGludWU7Ci0KLQkJaXRlbSA9IHN0cmluZ19saXN0X2luc2VydCgmcmVtb3RlX3JlZnMsIHJlZi0+bmFtZSk7Ci0JCWl0ZW0tPnV0aWwgPSAodm9pZCAqKXJlZi0+b2xkX3NoYTE7Ci0JfQotCXN0cmluZ19saXN0X2NsZWFyKCZleGlzdGluZ19yZWZzLCAxKTsKLQotCS8qCi0JICogV2UgbWF5IGhhdmUgYSBmaW5hbCBsaWdodHdlaWdodCB0YWcgdGhhdCBuZWVkcyB0byBiZQotCSAqIGNoZWNrZWQgdG8gc2VlIGlmIGl0IG5lZWRzIGZldGNoaW5nLgotCSAqLwotCWlmIChpdGVtICYmICFoYXNfc2hhMV9maWxlKGl0ZW0tPnV0aWwpICYmCi0JICAgICF3aWxsX2ZldGNoKGhlYWQsIGl0ZW0tPnV0aWwpKQotCQlpdGVtLT51dGlsID0gTlVMTDsKLQotCS8qCi0JICogRm9yIGFsbCB0aGUgdGFncyBpbiB0aGUgcmVtb3RlX3JlZnMgc3RyaW5nIGxpc3QsCi0JICogYWRkIHRoZW0gdG8gdGhlIGxpc3Qgb2YgcmVmcyB0byBiZSBmZXRjaGVkCi0JICovCi0JZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShpdGVtLCAmcmVtb3RlX3JlZnMpIHsKLQkJLyogVW5sZXNzIHdlIGhhdmUgYWxyZWFkeSBkZWNpZGVkIHRvIGlnbm9yZSB0aGlzIGl0ZW0uLi4gKi8KLQkJaWYgKGl0ZW0tPnV0aWwpCi0JCXsKLQkJCXN0cnVjdCByZWYgKnJtID0gYWxsb2NfcmVmKGl0ZW0tPnN0cmluZyk7Ci0JCQlybS0+cGVlcl9yZWYgPSBhbGxvY19yZWYoaXRlbS0+c3RyaW5nKTsKLQkJCWhhc2hjcHkocm0tPm9sZF9zaGExLCBpdGVtLT51dGlsKTsKLQkJCSoqdGFpbCA9IHJtOwotCQkJKnRhaWwgPSAmcm0tPm5leHQ7Ci0JCX0KLQl9Ci0KLQlzdHJpbmdfbGlzdF9jbGVhcigmcmVtb3RlX3JlZnMsIDApOwotfQotCiBzdGF0aWMgdm9pZCBjaGVja19ub3RfY3VycmVudF9icmFuY2goc3RydWN0IHJlZiAqcmVmX21hcCkKIHsKIAlzdHJ1Y3QgYnJhbmNoICpjdXJyZW50X2JyYW5jaCA9IGJyYW5jaF9nZXQoTlVMTCk7CkBAIC03NDUsNiArODA5LDggQEAKIAkJc2V0X29wdGlvbih0cmFuc3BvcnQsIFRSQU5TX09QVF9LRUVQLCAieWVzIik7CiAJaWYgKGRlcHRoKQogCQlzZXRfb3B0aW9uKHRyYW5zcG9ydCwgVFJBTlNfT1BUX0RFUFRILCBkZXB0aCk7CisJaWYgKHVwZGF0ZV9zaGFsbG93KQorCQlzZXRfb3B0aW9uKHRyYW5zcG9ydCwgVFJBTlNfT1BUX1VQREFURV9TSEFMTE9XLCAieWVzIik7CiAJcmV0dXJuIHRyYW5zcG9ydDsKIH0KIApAQCAtODEwLDM2ICs4NzYsMjYgQEAKIAogCWlmICh0YWdzID09IFRBR1NfREVGQVVMVCAmJiBhdXRvdGFncykKIAkJdHJhbnNwb3J0X3NldF9vcHRpb24odHJhbnNwb3J0LCBUUkFOU19PUFRfRk9MTE9XVEFHUywgIjEiKTsKKwlpZiAocHJ1bmUpIHsKKwkJLyoKKwkJICogV2Ugb25seSBwcnVuZSBiYXNlZCBvbiByZWZzcGVjcyBzcGVjaWZpZWQKKwkJICogZXhwbGljaXRseSAodmlhIGNvbW1hbmQgbGluZSBvciBjb25maWd1cmF0aW9uKTsgd2UKKwkJICogZG9uJ3QgY2FyZSB3aGV0aGVyIC0tdGFncyB3YXMgc3BlY2lmaWVkLgorCQkgKi8KKwkJaWYgKHJlZl9jb3VudCkgeworCQkJcHJ1bmVfcmVmcyhyZWZzLCByZWZfY291bnQsIHJlZl9tYXAsIHRyYW5zcG9ydC0+dXJsKTsKKwkJfSBlbHNlIHsKKwkJCXBydW5lX3JlZnModHJhbnNwb3J0LT5yZW1vdGUtPmZldGNoLAorCQkJCSAgIHRyYW5zcG9ydC0+cmVtb3RlLT5mZXRjaF9yZWZzcGVjX25yLAorCQkJCSAgIHJlZl9tYXAsCisJCQkJICAgdHJhbnNwb3J0LT51cmwpOworCQl9CisJfQogCWlmIChmZXRjaF9yZWZzKHRyYW5zcG9ydCwgcmVmX21hcCkpIHsKIAkJZnJlZV9yZWZzKHJlZl9tYXApOwogCQlyZXRjb2RlID0gMTsKIAkJZ290byBjbGVhbnVwOwogCX0KLQlpZiAocHJ1bmUpIHsKLQkJLyogSWYgLS10YWdzIHdhcyBzcGVjaWZpZWQsIHByZXRlbmQgdGhlIHVzZXIgZ2F2ZSB1cyB0aGUgY2Fub25pY2FsIHRhZ3MgcmVmc3BlYyAqLwotCQlpZiAodGFncyA9PSBUQUdTX1NFVCkgewotCQkJY29uc3QgY2hhciAqdGFnc19zdHIgPSAicmVmcy90YWdzLyo6cmVmcy90YWdzLyoiOwotCQkJc3RydWN0IHJlZnNwZWMgKnRhZ3NfcmVmc3BlYywgKnJlZnNwZWM7Ci0KLQkJCS8qIENvcHkgdGhlIHJlZnNwZWMgYW5kIGFkZCB0aGUgdGFncyB0byBpdCAqLwotCQkJcmVmc3BlYyA9IHhjYWxsb2MocmVmX2NvdW50ICsgMSwgc2l6ZW9mKHN0cnVjdCByZWZzcGVjKSk7Ci0JCQl0YWdzX3JlZnNwZWMgPSBwYXJzZV9mZXRjaF9yZWZzcGVjKDEsICZ0YWdzX3N0cik7Ci0JCQltZW1jcHkocmVmc3BlYywgcmVmcywgcmVmX2NvdW50ICogc2l6ZW9mKHN0cnVjdCByZWZzcGVjKSk7Ci0JCQltZW1jcHkoJnJlZnNwZWNbcmVmX2NvdW50XSwgdGFnc19yZWZzcGVjLCBzaXplb2Yoc3RydWN0IHJlZnNwZWMpKTsKLQkJCXJlZl9jb3VudCsrOwotCi0JCQlwcnVuZV9yZWZzKHJlZnNwZWMsIHJlZl9jb3VudCwgcmVmX21hcCk7Ci0KLQkJCXJlZl9jb3VudC0tOwotCQkJLyogVGhlIHJlc3Qgb2YgdGhlIHN0cmluZ3MgYmVsb25nIHRvIGZldGNoX29uZSAqLwotCQkJZnJlZV9yZWZzcGVjKDEsIHRhZ3NfcmVmc3BlYyk7Ci0JCQlmcmVlKHJlZnNwZWMpOwotCQl9IGVsc2UgaWYgKHJlZl9jb3VudCkgewotCQkJcHJ1bmVfcmVmcyhyZWZzLCByZWZfY291bnQsIHJlZl9tYXApOwotCQl9IGVsc2UgewotCQkJcHJ1bmVfcmVmcyh0cmFuc3BvcnQtPnJlbW90ZS0+ZmV0Y2gsIHRyYW5zcG9ydC0+cmVtb3RlLT5mZXRjaF9yZWZzcGVjX25yLCByZWZfbWFwKTsKLQkJfQotCX0KIAlmcmVlX3JlZnMocmVmX21hcCk7CiAKIAkvKiBpZiBuZWl0aGVyIC0tbm8tdGFncyBub3IgLS10YWdzIHdhcyBzcGVjaWZpZWQsIGRvIGF1dG9tYXRlZCB0YWcKQEAgLTg3NSw3ICs5MzEsNyBAQAogewogCXN0cnVjdCByZW1vdGVfZ3JvdXBfZGF0YSAqZyA9IHByaXY7CiAKLQlpZiAoIXByZWZpeGNtcChrZXksICJyZW1vdGVzLiIpICYmCisJaWYgKHN0YXJ0c193aXRoKGtleSwgInJlbW90ZXMuIikgJiYKIAkJCSFzdHJjbXAoa2V5ICsgOCwgZy0+bmFtZSkpIHsKIAkJLyogc3BsaXQgbGlzdCBieSB3aGl0ZSBzcGFjZSAqLwogCQlpbnQgc3BhY2UgPSBzdHJjc3BuKHZhbHVlLCAiIFx0XG4iKTsKQEAgLTkxMyw4ICs5NjksOCBAQAogewogCWlmIChkcnlfcnVuKQogCQlhcmd2X2FycmF5X3B1c2goYXJndiwgIi0tZHJ5LXJ1biIpOwotCWlmIChwcnVuZSkKLQkJYXJndl9hcnJheV9wdXNoKGFyZ3YsICItLXBydW5lIik7CisJaWYgKHBydW5lICE9IC0xKQorCQlhcmd2X2FycmF5X3B1c2goYXJndiwgcHJ1bmUgPyAiLS1wcnVuZSIgOiAiLS1uby1wcnVuZSIpOwogCWlmICh1cGRhdGVfaGVhZF9vaykKIAkJYXJndl9hcnJheV9wdXNoKGFyZ3YsICItLXVwZGF0ZS1oZWFkLW9rIik7CiAJaWYgKGZvcmNlKQpAQCAtOTgxLDYgKzEwMzcsMTcgQEAKIAkJICAgICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIikpOwogCiAJZ3RyYW5zcG9ydCA9IHByZXBhcmVfdHJhbnNwb3J0KHJlbW90ZSk7CisKKwlpZiAocHJ1bmUgPCAwKSB7CisJCS8qIG5vIGNvbW1hbmQgbGluZSByZXF1ZXN0ICovCisJCWlmICgwIDw9IGd0cmFuc3BvcnQtPnJlbW90ZS0+cHJ1bmUpCisJCQlwcnVuZSA9IGd0cmFuc3BvcnQtPnJlbW90ZS0+cHJ1bmU7CisJCWVsc2UgaWYgKDAgPD0gZmV0Y2hfcHJ1bmVfY29uZmlnKQorCQkJcHJ1bmUgPSBmZXRjaF9wcnVuZV9jb25maWc7CisJCWVsc2UKKwkJCXBydW5lID0gUFJVTkVfQllfREVGQVVMVDsKKwl9CisKIAlpZiAoYXJnYyA+IDApIHsKIAkJaW50IGogPSAwOwogCQlyZWZzID0geGNhbGxvYyhhcmdjICsgMSwgc2l6ZW9mKGNvbnN0IGNoYXIgKikpOwpAQCAtMTAzMCw2ICsxMDk3LDggQEAKIAlmb3IgKGkgPSAxOyBpIDwgYXJnYzsgaSsrKQogCQlzdHJidWZfYWRkZigmZGVmYXVsdF9ybGEsICIgJXMiLCBhcmd2W2ldKTsKIAorCWdpdF9jb25maWcoZ2l0X2ZldGNoX2NvbmZpZywgTlVMTCk7CisKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsCiAJCQkgICAgIGJ1aWx0aW5fZmV0Y2hfb3B0aW9ucywgYnVpbHRpbl9mZXRjaF91c2FnZSwgMCk7CiAKQEAgLTEwNDUsNiArMTExNCwxMCBAQAogCQl9CiAJfQogCisJLyogbm8gbmVlZCB0byBiZSBzdHJpY3QsIHRyYW5zcG9ydF9zZXRfb3B0aW9uKCkgd2lsbCB2YWxpZGF0ZSBpdCBhZ2FpbiAqLworCWlmIChkZXB0aCAmJiBhdG9pKGRlcHRoKSA8IDEpCisJCWRpZShfKCJkZXB0aCAlcyBpcyBub3QgYSBwb3NpdGl2ZSBudW1iZXIiKSwgZGVwdGgpOworCiAJaWYgKHJlY3Vyc2Vfc3VibW9kdWxlcyAhPSBSRUNVUlNFX1NVQk1PRFVMRVNfT0ZGKSB7CiAJCWlmIChyZWN1cnNlX3N1Ym1vZHVsZXNfZGVmYXVsdCkgewogCQkJaW50IGFyZyA9IHBhcnNlX2ZldGNoX3JlY3Vyc2Vfc3VibW9kdWxlc19hcmcoIi0tcmVjdXJzZS1zdWJtb2R1bGVzLWRlZmF1bHQiLCByZWN1cnNlX3N1Ym1vZHVsZXNfZGVmYXVsdCk7CmRpZmYgLS1naXQgYS9idWlsdGluL2ZtdC1tZXJnZS1tc2cuYyBiL2J1aWx0aW4vZm10LW1lcmdlLW1zZy5jCmluZGV4IDFjMDQwNzAuLjM5MDZlZGEgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vZm10LW1lcmdlLW1zZy5jCisrKyBiL2J1aWx0aW4vZm10LW1lcmdlLW1zZy5jCkBAIC0xMDksNyArMTA5LDcgQEAKIAlpZiAobGVuIDwgNDMgfHwgbGluZVs0MF0gIT0gJ1x0JykKIAkJcmV0dXJuIDE7CiAKLQlpZiAoIXByZWZpeGNtcChsaW5lICsgNDEsICJub3QtZm9yLW1lcmdlIikpCisJaWYgKHN0YXJ0c193aXRoKGxpbmUgKyA0MSwgIm5vdC1mb3ItbWVyZ2UiKSkKIAkJcmV0dXJuIDA7CiAKIAlpZiAobGluZVs0MV0gIT0gJ1x0JykKQEAgLTE1NSwxNiArMTU1LDE2IEBACiAJaWYgKHB1bGxpbmdfaGVhZCkgewogCQlvcmlnaW4gPSBzcmM7CiAJCXNyY19kYXRhLT5oZWFkX3N0YXR1cyB8PSAxOwotCX0gZWxzZSBpZiAoIXByZWZpeGNtcChsaW5lLCAiYnJhbmNoICIpKSB7CisJfSBlbHNlIGlmIChzdGFydHNfd2l0aChsaW5lLCAiYnJhbmNoICIpKSB7CiAJCW9yaWdpbl9kYXRhLT5pc19sb2NhbF9icmFuY2ggPSAxOwogCQlvcmlnaW4gPSBsaW5lICsgNzsKIAkJc3RyaW5nX2xpc3RfYXBwZW5kKCZzcmNfZGF0YS0+YnJhbmNoLCBvcmlnaW4pOwogCQlzcmNfZGF0YS0+aGVhZF9zdGF0dXMgfD0gMjsKLQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAobGluZSwgInRhZyAiKSkgeworCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgobGluZSwgInRhZyAiKSkgewogCQlvcmlnaW4gPSBsaW5lOwogCQlzdHJpbmdfbGlzdF9hcHBlbmQoJnNyY19kYXRhLT50YWcsIG9yaWdpbiArIDQpOwogCQlzcmNfZGF0YS0+aGVhZF9zdGF0dXMgfD0gMjsKLQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAobGluZSwgInJlbW90ZS10cmFja2luZyBicmFuY2ggIikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGxpbmUsICJyZW1vdGUtdHJhY2tpbmcgYnJhbmNoICIpKSB7CiAJCW9yaWdpbiA9IGxpbmUgKyBzdHJsZW4oInJlbW90ZS10cmFja2luZyBicmFuY2ggIik7CiAJCXN0cmluZ19saXN0X2FwcGVuZCgmc3JjX2RhdGEtPnJfYnJhbmNoLCBvcmlnaW4pOwogCQlzcmNfZGF0YS0+aGVhZF9zdGF0dXMgfD0gMjsKQEAgLTYwNSw3ICs2MDUsNyBAQAogCQlyZXNvbHZlX3JlZmR1cCgiSEVBRCIsIGhlYWRfc2hhMSwgMSwgTlVMTCk7CiAJaWYgKCFjdXJyZW50X2JyYW5jaCkKIAkJZGllKCJObyBjdXJyZW50IGJyYW5jaCIpOwotCWlmICghcHJlZml4Y21wKGN1cnJlbnRfYnJhbmNoLCAicmVmcy9oZWFkcy8iKSkKKwlpZiAoc3RhcnRzX3dpdGgoY3VycmVudF9icmFuY2gsICJyZWZzL2hlYWRzLyIpKQogCQljdXJyZW50X2JyYW5jaCArPSAxMTsKIAogCWZpbmRfbWVyZ2VfcGFyZW50cygmbWVyZ2VfcGFyZW50cywgaW4sIGhlYWRfc2hhMSk7CmRpZmYgLS1naXQgYS9idWlsdGluL2Zvci1lYWNoLXJlZi5jIGIvYnVpbHRpbi9mb3ItZWFjaC1yZWYuYwppbmRleCA3ZjA1OWMzLi41MTc5OGI0IDEwMDY0NAotLS0gYS9idWlsdGluL2Zvci1lYWNoLXJlZi5jCisrKyBiL2J1aWx0aW4vZm9yLWVhY2gtcmVmLmMKQEAgLTksNiArOSw3IEBACiAjaW5jbHVkZSAicXVvdGUuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCiAjaW5jbHVkZSAicmVtb3RlLmgiCisjaW5jbHVkZSAiY29sb3IuaCIKIAogLyogUXVvdGluZyBzdHlsZXMgKi8KICNkZWZpbmUgUVVPVEVfTk9ORSAwCkBAIC03NSw2ICs3Niw4IEBACiAJeyAidXBzdHJlYW0iIH0sCiAJeyAic3ltcmVmIiB9LAogCXsgImZsYWciIH0sCisJeyAiSEVBRCIgfSwKKwl7ICJjb2xvciIgfSwKIH07CiAKIC8qCkBAIC04OSw3ICs5Miw4IEBACiAgKi8KIHN0YXRpYyBjb25zdCBjaGFyICoqdXNlZF9hdG9tOwogc3RhdGljIGNtcF90eXBlICp1c2VkX2F0b21fdHlwZTsKLXN0YXRpYyBpbnQgdXNlZF9hdG9tX2NudCwgc29ydF9hdG9tX2xpbWl0LCBuZWVkX3RhZ2dlZCwgbmVlZF9zeW1yZWY7CitzdGF0aWMgaW50IHVzZWRfYXRvbV9jbnQsIG5lZWRfdGFnZ2VkLCBuZWVkX3N5bXJlZjsKK3N0YXRpYyBpbnQgbmVlZF9jb2xvcl9yZXNldF9hdF9lb2w7CiAKIC8qCiAgKiBVc2VkIHRvIHBhcnNlIGZvcm1hdCBzdHJpbmcgYW5kIHNvcnQgc3BlY2lmaWVycwpAQCAtMTc2LDEzICsxODAsMjEgQEAKIHN0YXRpYyBpbnQgdmVyaWZ5X2Zvcm1hdChjb25zdCBjaGFyICpmb3JtYXQpCiB7CiAJY29uc3QgY2hhciAqY3AsICpzcDsKKwlzdGF0aWMgY29uc3QgY2hhciBjb2xvcl9yZXNldFtdID0gImNvbG9yOnJlc2V0IjsKKworCW5lZWRfY29sb3JfcmVzZXRfYXRfZW9sID0gMDsKIAlmb3IgKGNwID0gZm9ybWF0OyAqY3AgJiYgKHNwID0gZmluZF9uZXh0KGNwKSk7ICkgewogCQljb25zdCBjaGFyICplcCA9IHN0cmNocihzcCwgJyknKTsKKwkJaW50IGF0OworCiAJCWlmICghZXApCiAJCQlyZXR1cm4gZXJyb3IoIm1hbGZvcm1lZCBmb3JtYXQgc3RyaW5nICVzIiwgc3ApOwogCQkvKiBzcCBwb2ludHMgYXQgIiUoIiBhbmQgZXAgcG9pbnRzIGF0IHRoZSBjbG9zaW5nICIpIiAqLwotCQlwYXJzZV9hdG9tKHNwICsgMiwgZXApOworCQlhdCA9IHBhcnNlX2F0b20oc3AgKyAyLCBlcCk7CiAJCWNwID0gZXAgKyAxOworCisJCWlmICghbWVtY21wKHVzZWRfYXRvbVthdF0sICJjb2xvcjoiLCA2KSkKKwkJCW5lZWRfY29sb3JfcmVzZXRfYXRfZW9sID0gISFzdHJjbXAodXNlZF9hdG9tW2F0XSwgY29sb3JfcmVzZXQpOwogCX0KIAlyZXR1cm4gMDsKIH0KQEAgLTIwNSw2ICsyMTcsMjIgQEAKIAlyZXR1cm4gYnVmOwogfQogCitzdGF0aWMgaW50IGdyYWJfb2JqZWN0bmFtZShjb25zdCBjaGFyICpuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorCQkJICAgIHN0cnVjdCBhdG9tX3ZhbHVlICp2KQoreworCWlmICghc3RyY21wKG5hbWUsICJvYmplY3RuYW1lIikpIHsKKwkJY2hhciAqcyA9IHhtYWxsb2MoNDEpOworCQlzdHJjcHkocywgc2hhMV90b19oZXgoc2hhMSkpOworCQl2LT5zID0gczsKKwkJcmV0dXJuIDE7CisJfQorCWlmICghc3RyY21wKG5hbWUsICJvYmplY3RuYW1lOnNob3J0IikpIHsKKwkJdi0+cyA9IHhzdHJkdXAoZmluZF91bmlxdWVfYWJicmV2KHNoYTEsIERFRkFVTFRfQUJCUkVWKSk7CisJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKwogLyogU2VlIGdyYWJfdmFsdWVzICovCiBzdGF0aWMgdm9pZCBncmFiX2NvbW1vbl92YWx1ZXMoc3RydWN0IGF0b21fdmFsdWUgKnZhbCwgaW50IGRlcmVmLCBzdHJ1Y3Qgb2JqZWN0ICpvYmosIHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyBzeikKIHsKQEAgLTIyNSwxNSArMjUzLDggQEAKIAkJCXYtPnVsID0gc3o7CiAJCQl2LT5zID0gczsKIAkJfQotCQllbHNlIGlmICghc3RyY21wKG5hbWUsICJvYmplY3RuYW1lIikpIHsKLQkJCWNoYXIgKnMgPSB4bWFsbG9jKDQxKTsKLQkJCXN0cmNweShzLCBzaGExX3RvX2hleChvYmotPnNoYTEpKTsKLQkJCXYtPnMgPSBzOwotCQl9Ci0JCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIm9iamVjdG5hbWU6c2hvcnQiKSkgewotCQkJdi0+cyA9IHhzdHJkdXAoZmluZF91bmlxdWVfYWJicmV2KG9iai0+c2hhMSwKLQkJCQkJCQkgIERFRkFVTFRfQUJCUkVWKSk7Ci0JCX0KKwkJZWxzZSBpZiAoZGVyZWYpCisJCQlncmFiX29iamVjdG5hbWUobmFtZSwgb2JqLT5zaGExLCB2KTsKIAl9CiB9CiAKQEAgLTQzMiw3ICs0NTMsNyBAQAogCQlpZiAobmFtZVt3aG9sZW5dICE9IDAgJiYKIAkJICAgIHN0cmNtcChuYW1lICsgd2hvbGVuLCAibmFtZSIpICYmCiAJCSAgICBzdHJjbXAobmFtZSArIHdob2xlbiwgImVtYWlsIikgJiYKLQkJICAgIHByZWZpeGNtcChuYW1lICsgd2hvbGVuLCAiZGF0ZSIpKQorCQkgICAgIXN0YXJ0c193aXRoKG5hbWUgKyB3aG9sZW4sICJkYXRlIikpCiAJCQljb250aW51ZTsKIAkJaWYgKCF3aG9saW5lKQogCQkJd2hvbGluZSA9IGZpbmRfd2hvbGluZSh3aG8sIHdob2xlbiwgYnVmLCBzeik7CkBAIC00NDQsNyArNDY1LDcgQEAKIAkJCXYtPnMgPSBjb3B5X25hbWUod2hvbGluZSk7CiAJCWVsc2UgaWYgKCFzdHJjbXAobmFtZSArIHdob2xlbiwgImVtYWlsIikpCiAJCQl2LT5zID0gY29weV9lbWFpbCh3aG9saW5lKTsKLQkJZWxzZSBpZiAoIXByZWZpeGNtcChuYW1lICsgd2hvbGVuLCAiZGF0ZSIpKQorCQllbHNlIGlmIChzdGFydHNfd2l0aChuYW1lICsgd2hvbGVuLCAiZGF0ZSIpKQogCQkJZ3JhYl9kYXRlKHdob2xpbmUsIHYsIG5hbWUpOwogCX0KIApAQCAtNDY2LDcgKzQ4Nyw3IEBACiAJCWlmIChkZXJlZikKIAkJCW5hbWUrKzsKIAotCQlpZiAoIXByZWZpeGNtcChuYW1lLCAiY3JlYXRvcmRhdGUiKSkKKwkJaWYgKHN0YXJ0c193aXRoKG5hbWUsICJjcmVhdG9yZGF0ZSIpKQogCQkJZ3JhYl9kYXRlKHdob2xpbmUsIHYsIG5hbWUpOwogCQllbHNlIGlmICghc3RyY21wKG5hbWUsICJjcmVhdG9yIikpCiAJCQl2LT5zID0gY29weV9saW5lKHdob2xpbmUpOwpAQCAtNjQwLDIwICs2NjEsMjAgQEAKIAkJaW50IGRlcmVmID0gMDsKIAkJY29uc3QgY2hhciAqcmVmbmFtZTsKIAkJY29uc3QgY2hhciAqZm9ybWF0cDsKKwkJc3RydWN0IGJyYW5jaCAqYnJhbmNoID0gTlVMTDsKIAogCQlpZiAoKm5hbWUgPT0gJyonKSB7CiAJCQlkZXJlZiA9IDE7CiAJCQluYW1lKys7CiAJCX0KIAotCQlpZiAoIXByZWZpeGNtcChuYW1lLCAicmVmbmFtZSIpKQorCQlpZiAoc3RhcnRzX3dpdGgobmFtZSwgInJlZm5hbWUiKSkKIAkJCXJlZm5hbWUgPSByZWYtPnJlZm5hbWU7Ci0JCWVsc2UgaWYgKCFwcmVmaXhjbXAobmFtZSwgInN5bXJlZiIpKQorCQllbHNlIGlmIChzdGFydHNfd2l0aChuYW1lLCAic3ltcmVmIikpCiAJCQlyZWZuYW1lID0gcmVmLT5zeW1yZWYgPyByZWYtPnN5bXJlZiA6ICIiOwotCQllbHNlIGlmICghcHJlZml4Y21wKG5hbWUsICJ1cHN0cmVhbSIpKSB7Ci0JCQlzdHJ1Y3QgYnJhbmNoICpicmFuY2g7CisJCWVsc2UgaWYgKHN0YXJ0c193aXRoKG5hbWUsICJ1cHN0cmVhbSIpKSB7CiAJCQkvKiBvbmx5IGxvY2FsIGJyYW5jaGVzIG1heSBoYXZlIGFuIHVwc3RyZWFtICovCi0JCQlpZiAocHJlZml4Y21wKHJlZi0+cmVmbmFtZSwgInJlZnMvaGVhZHMvIikpCisJCQlpZiAoIXN0YXJ0c193aXRoKHJlZi0+cmVmbmFtZSwgInJlZnMvaGVhZHMvIikpCiAJCQkJY29udGludWU7CiAJCQlicmFuY2ggPSBicmFuY2hfZ2V0KHJlZi0+cmVmbmFtZSArIDExKTsKIApAQCAtNjYxLDggKzY4MiwxMyBAQAogCQkJICAgICFicmFuY2gtPm1lcmdlWzBdLT5kc3QpCiAJCQkJY29udGludWU7CiAJCQlyZWZuYW1lID0gYnJhbmNoLT5tZXJnZVswXS0+ZHN0OwotCQl9Ci0JCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwgImZsYWciKSkgeworCQl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKG5hbWUsICJjb2xvcjoiKSkgeworCQkJY2hhciBjb2xvcltDT0xPUl9NQVhMRU5dID0gIiI7CisKKwkJCWNvbG9yX3BhcnNlKG5hbWUgKyA2LCAiLS1mb3JtYXQiLCBjb2xvcik7CisJCQl2LT5zID0geHN0cmR1cChjb2xvcik7CisJCQljb250aW51ZTsKKwkJfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJmbGFnIikpIHsKIAkJCWNoYXIgYnVmWzI1Nl0sICpjcCA9IGJ1ZjsKIAkJCWlmIChyZWYtPmZsYWcgJiBSRUZfSVNTWU1SRUYpCiAJCQkJY3AgPSBjb3B5X2FkdmFuY2UoY3AsICIsc3ltcmVmIik7CkBAIC02NzUsMTggKzcwMSw2MiBAQAogCQkJCXYtPnMgPSB4c3RyZHVwKGJ1ZiArIDEpOwogCQkJfQogCQkJY29udGludWU7Ci0JCX0KLQkJZWxzZQorCQl9IGVsc2UgaWYgKCFkZXJlZiAmJiBncmFiX29iamVjdG5hbWUobmFtZSwgcmVmLT5vYmplY3RuYW1lLCB2KSkgeworCQkJY29udGludWU7CisJCX0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiSEVBRCIpKSB7CisJCQljb25zdCBjaGFyICpoZWFkOworCQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKworCQkJaGVhZCA9IHJlc29sdmVfcmVmX3Vuc2FmZSgiSEVBRCIsIHNoYTEsIDEsIE5VTEwpOworCQkJaWYgKCFzdHJjbXAocmVmLT5yZWZuYW1lLCBoZWFkKSkKKwkJCQl2LT5zID0gIioiOworCQkJZWxzZQorCQkJCXYtPnMgPSAiICI7CisJCQljb250aW51ZTsKKwkJfSBlbHNlCiAJCQljb250aW51ZTsKIAogCQlmb3JtYXRwID0gc3RyY2hyKG5hbWUsICc6Jyk7Ci0JCS8qIGxvb2sgZm9yICJzaG9ydCIgcmVmbmFtZSBmb3JtYXQgKi8KIAkJaWYgKGZvcm1hdHApIHsKKwkJCWludCBudW1fb3VycywgbnVtX3RoZWlyczsKKwogCQkJZm9ybWF0cCsrOwogCQkJaWYgKCFzdHJjbXAoZm9ybWF0cCwgInNob3J0IikpCiAJCQkJcmVmbmFtZSA9IHNob3J0ZW5fdW5hbWJpZ3VvdXNfcmVmKHJlZm5hbWUsCiAJCQkJCQkgICAgICB3YXJuX2FtYmlndW91c19yZWZzKTsKLQkJCWVsc2UKKwkJCWVsc2UgaWYgKCFzdHJjbXAoZm9ybWF0cCwgInRyYWNrIikgJiYKKwkJCQkgc3RhcnRzX3dpdGgobmFtZSwgInVwc3RyZWFtIikpIHsKKwkJCQljaGFyIGJ1Zls0MF07CisKKwkJCQlzdGF0X3RyYWNraW5nX2luZm8oYnJhbmNoLCAmbnVtX291cnMsICZudW1fdGhlaXJzKTsKKwkJCQlpZiAoIW51bV9vdXJzICYmICFudW1fdGhlaXJzKQorCQkJCQl2LT5zID0gIiI7CisJCQkJZWxzZSBpZiAoIW51bV9vdXJzKSB7CisJCQkJCXNwcmludGYoYnVmLCAiW2JlaGluZCAlZF0iLCBudW1fdGhlaXJzKTsKKwkJCQkJdi0+cyA9IHhzdHJkdXAoYnVmKTsKKwkJCQl9IGVsc2UgaWYgKCFudW1fdGhlaXJzKSB7CisJCQkJCXNwcmludGYoYnVmLCAiW2FoZWFkICVkXSIsIG51bV9vdXJzKTsKKwkJCQkJdi0+cyA9IHhzdHJkdXAoYnVmKTsKKwkJCQl9IGVsc2UgeworCQkJCQlzcHJpbnRmKGJ1ZiwgIlthaGVhZCAlZCwgYmVoaW5kICVkXSIsCisJCQkJCQludW1fb3VycywgbnVtX3RoZWlycyk7CisJCQkJCXYtPnMgPSB4c3RyZHVwKGJ1Zik7CisJCQkJfQorCQkJCWNvbnRpbnVlOworCQkJfSBlbHNlIGlmICghc3RyY21wKGZvcm1hdHAsICJ0cmFja3Nob3J0IikgJiYKKwkJCQkgICBzdGFydHNfd2l0aChuYW1lLCAidXBzdHJlYW0iKSkgeworCQkJCWFzc2VydChicmFuY2gpOworCQkJCXN0YXRfdHJhY2tpbmdfaW5mbyhicmFuY2gsICZudW1fb3VycywgJm51bV90aGVpcnMpOworCQkJCWlmICghbnVtX291cnMgJiYgIW51bV90aGVpcnMpCisJCQkJCXYtPnMgPSAiPSI7CisJCQkJZWxzZSBpZiAoIW51bV9vdXJzKQorCQkJCQl2LT5zID0gIjwiOworCQkJCWVsc2UgaWYgKCFudW1fdGhlaXJzKQorCQkJCQl2LT5zID0gIj4iOworCQkJCWVsc2UKKwkJCQkJdi0+cyA9ICI8PiI7CisJCQkJY29udGludWU7CisJCQl9IGVsc2UKIAkJCQlkaWUoInVua25vd24gJS4qcyBmb3JtYXQgJXMiLAogCQkJCSAgICAoaW50KShmb3JtYXRwIC0gbmFtZSksIG5hbWUsIGZvcm1hdHApOwogCQl9CkBAIC04NjQsMjcgKzkzNCwzMCBAQAogCXFzb3J0KHJlZnMsIG51bV9yZWZzLCBzaXplb2Yoc3RydWN0IHJlZmluZm8gKiksIGNvbXBhcmVfcmVmcyk7CiB9CiAKLXN0YXRpYyB2b2lkIHByaW50X3ZhbHVlKHN0cnVjdCByZWZpbmZvICpyZWYsIGludCBhdG9tLCBpbnQgcXVvdGVfc3R5bGUpCitzdGF0aWMgdm9pZCBwcmludF92YWx1ZShzdHJ1Y3QgYXRvbV92YWx1ZSAqdiwgaW50IHF1b3RlX3N0eWxlKQogewotCXN0cnVjdCBhdG9tX3ZhbHVlICp2OwotCWdldF92YWx1ZShyZWYsIGF0b20sICZ2KTsKKwlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJc3dpdGNoIChxdW90ZV9zdHlsZSkgewogCWNhc2UgUVVPVEVfTk9ORToKIAkJZnB1dHModi0+cywgc3Rkb3V0KTsKIAkJYnJlYWs7CiAJY2FzZSBRVU9URV9TSEVMTDoKLQkJc3FfcXVvdGVfcHJpbnQoc3Rkb3V0LCB2LT5zKTsKKwkJc3FfcXVvdGVfYnVmKCZzYiwgdi0+cyk7CiAJCWJyZWFrOwogCWNhc2UgUVVPVEVfUEVSTDoKLQkJcGVybF9xdW90ZV9wcmludChzdGRvdXQsIHYtPnMpOworCQlwZXJsX3F1b3RlX2J1Zigmc2IsIHYtPnMpOwogCQlicmVhazsKIAljYXNlIFFVT1RFX1BZVEhPTjoKLQkJcHl0aG9uX3F1b3RlX3ByaW50KHN0ZG91dCwgdi0+cyk7CisJCXB5dGhvbl9xdW90ZV9idWYoJnNiLCB2LT5zKTsKIAkJYnJlYWs7CiAJY2FzZSBRVU9URV9UQ0w6Ci0JCXRjbF9xdW90ZV9wcmludChzdGRvdXQsIHYtPnMpOworCQl0Y2xfcXVvdGVfYnVmKCZzYiwgdi0+cyk7CiAJCWJyZWFrOwogCX0KKwlpZiAocXVvdGVfc3R5bGUgIT0gUVVPVEVfTk9ORSkgeworCQlmcHV0cyhzYi5idWYsIHN0ZG91dCk7CisJCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CisJfQogfQogCiBzdGF0aWMgaW50IGhleDEoY2hhciBjaCkKQEAgLTkzMCwxNSArMTAwMywyNiBAQAogCWNvbnN0IGNoYXIgKmNwLCAqc3AsICplcDsKIAogCWZvciAoY3AgPSBmb3JtYXQ7ICpjcCAmJiAoc3AgPSBmaW5kX25leHQoY3ApKTsgY3AgPSBlcCArIDEpIHsKKwkJc3RydWN0IGF0b21fdmFsdWUgKmF0b212OworCiAJCWVwID0gc3RyY2hyKHNwLCAnKScpOwogCQlpZiAoY3AgPCBzcCkKIAkJCWVtaXQoY3AsIHNwKTsKLQkJcHJpbnRfdmFsdWUoaW5mbywgcGFyc2VfYXRvbShzcCArIDIsIGVwKSwgcXVvdGVfc3R5bGUpOworCQlnZXRfdmFsdWUoaW5mbywgcGFyc2VfYXRvbShzcCArIDIsIGVwKSwgJmF0b212KTsKKwkJcHJpbnRfdmFsdWUoYXRvbXYsIHF1b3RlX3N0eWxlKTsKIAl9CiAJaWYgKCpjcCkgewogCQlzcCA9IGNwICsgc3RybGVuKGNwKTsKIAkJZW1pdChjcCwgc3ApOwogCX0KKwlpZiAobmVlZF9jb2xvcl9yZXNldF9hdF9lb2wpIHsKKwkJc3RydWN0IGF0b21fdmFsdWUgcmVzZXR2OworCQljaGFyIGNvbG9yW0NPTE9SX01BWExFTl0gPSAiIjsKKworCQljb2xvcl9wYXJzZSgicmVzZXQiLCAiLS1mb3JtYXQiLCBjb2xvcik7CisJCXJlc2V0di5zID0gY29sb3I7CisJCXByaW50X3ZhbHVlKCZyZXNldHYsIHF1b3RlX3N0eWxlKTsKKwl9CiAJcHV0Y2hhcignXG4nKTsKIH0KIApAQCAtMTAyMSw3ICsxMTA1LDYgQEAKIAogCWlmICghc29ydCkKIAkJc29ydCA9IGRlZmF1bHRfc29ydCgpOwotCXNvcnRfYXRvbV9saW1pdCA9IHVzZWRfYXRvbV9jbnQ7CiAKIAkvKiBmb3Igd2Fybl9hbWJpZ3VvdXNfcmVmcyAqLwogCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZnNjay5jIGIvYnVpbHRpbi9mc2NrLmMKaW5kZXggOTkwOWI2ZC4uMWFmZmRkNSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9mc2NrLmMKKysrIGIvYnVpbHRpbi9mc2NrLmMKQEAgLTE2LDYgKzE2LDcgQEAKIAogI2RlZmluZSBSRUFDSEFCTEUgMHgwMDAxCiAjZGVmaW5lIFNFRU4gICAgICAweDAwMDIKKyNkZWZpbmUgSEFTX09CSiAgIDB4MDAwNAogCiBzdGF0aWMgaW50IHNob3dfcm9vdDsKIHN0YXRpYyBpbnQgc2hvd190YWdzOwpAQCAtMTAxLDcgKzEwMiw3IEBACiAJaWYgKG9iai0+ZmxhZ3MgJiBSRUFDSEFCTEUpCiAJCXJldHVybiAwOwogCW9iai0+ZmxhZ3MgfD0gUkVBQ0hBQkxFOwotCWlmICghb2JqLT5wYXJzZWQpIHsKKwlpZiAoIShvYmotPmZsYWdzICYgSEFTX09CSikpIHsKIAkJaWYgKHBhcmVudCAmJiAhaGFzX3NoYTFfZmlsZShvYmotPnNoYTEpKSB7CiAJCQlwcmludGYoImJyb2tlbiBsaW5rIGZyb20gJTdzICVzXG4iLAogCQkJCSB0eXBlbmFtZShwYXJlbnQtPnR5cGUpLCBzaGExX3RvX2hleChwYXJlbnQtPnNoYTEpKTsKQEAgLTEyNywxNiArMTI4LDEzIEBACiAJc3RydWN0IHRyZWUgKnRyZWUgPSBOVUxMOwogCiAJaWYgKG9iai0+dHlwZSA9PSBPQkpfVFJFRSkgewotCQlvYmotPnBhcnNlZCA9IDA7CiAJCXRyZWUgPSAoc3RydWN0IHRyZWUgKilvYmo7CiAJCWlmIChwYXJzZV90cmVlKHRyZWUpIDwgMCkKIAkJCXJldHVybiAxOyAvKiBlcnJvciBhbHJlYWR5IGRpc3BsYXllZCAqLwogCX0KIAlyZXN1bHQgPSBmc2NrX3dhbGsob2JqLCBtYXJrX29iamVjdCwgb2JqKTsKLQlpZiAodHJlZSkgewotCQlmcmVlKHRyZWUtPmJ1ZmZlcik7Ci0JCXRyZWUtPmJ1ZmZlciA9IE5VTEw7Ci0JfQorCWlmICh0cmVlKQorCQlmcmVlX3RyZWVfYnVmZmVyKHRyZWUpOwogCXJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTE3OCw3ICsxNzYsNyBAQAogCSAqIGV4Y2VwdCBpZiBpdCB3YXMgaW4gYSBwYWNrLWZpbGUgYW5kIHdlIGRpZG4ndAogCSAqIGRvIGEgZnVsbCBmc2NrCiAJICovCi0JaWYgKCFvYmotPnBhcnNlZCkgeworCWlmICghKG9iai0+ZmxhZ3MgJiBIQVNfT0JKKSkgewogCQlpZiAoaGFzX3NoYTFfcGFjayhvYmotPnNoYTEpKQogCQkJcmV0dXJuOyAvKiBpdCBpcyBpbiBwYWNrIC0gZm9yZ2V0IGFib3V0IGl0ICovCiAJCXByaW50ZigibWlzc2luZyAlcyAlc1xuIiwgdHlwZW5hbWUob2JqLT50eXBlKSwgc2hhMV90b19oZXgob2JqLT5zaGExKSk7CkBAIC0zMDYsOCArMzA0LDcgQEAKIAlpZiAob2JqLT50eXBlID09IE9CSl9UUkVFKSB7CiAJCXN0cnVjdCB0cmVlICppdGVtID0gKHN0cnVjdCB0cmVlICopIG9iajsKIAotCQlmcmVlKGl0ZW0tPmJ1ZmZlcik7Ci0JCWl0ZW0tPmJ1ZmZlciA9IE5VTEw7CisJCWZyZWVfdHJlZV9idWZmZXIoaXRlbSk7CiAJfQogCiAJaWYgKG9iai0+dHlwZSA9PSBPQkpfQ09NTUlUKSB7CkBAIC0zNDAsNiArMzM3LDcgQEAKIAkJcmV0dXJuIGVycm9yKCIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZyIsCiAJCQkgICAgIHNoYTFfdG9faGV4KHNoYTEpKTsKIAl9CisJb2JqLT5mbGFncyB8PSBIQVNfT0JKOwogCXJldHVybiBmc2NrX29iaihvYmopOwogfQogCkBAIC0zNTIsNiArMzUwLDcgQEAKIAkJZXJyb3JzX2ZvdW5kIHw9IEVSUk9SX09CSkVDVDsKIAkJcmV0dXJuIGVycm9yKCIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKIAl9CisJb2JqLT5mbGFncyA9IEhBU19PQko7CiAJcmV0dXJuIGZzY2tfb2JqKG9iaik7CiB9CiAKQEAgLTQ0Myw3ICs0NDIsNyBAQAogCQkJYWRkX3NoYTFfbGlzdChzaGExLCBESVJFTlRfU09SVF9ISU5UKGRlKSk7CiAJCQljb250aW51ZTsKIAkJfQotCQlpZiAoIXByZWZpeGNtcChkZS0+ZF9uYW1lLCAidG1wX29ial8iKSkKKwkJaWYgKHN0YXJ0c193aXRoKGRlLT5kX25hbWUsICJ0bXBfb2JqXyIpKQogCQkJY29udGludWU7CiAJCWZwcmludGYoc3RkZXJyLCAiYmFkIHNoYTEgZmlsZTogJXMvJXNcbiIsIHBhdGgsIGRlLT5kX25hbWUpOwogCX0KQEAgLTQ4NSw3ICs0ODQsNyBAQAogCiBzdGF0aWMgaW50IGlzX2JyYW5jaChjb25zdCBjaGFyICpyZWZuYW1lKQogewotCXJldHVybiAhc3RyY21wKHJlZm5hbWUsICJIRUFEIikgfHwgIXByZWZpeGNtcChyZWZuYW1lLCAicmVmcy9oZWFkcy8iKTsKKwlyZXR1cm4gIXN0cmNtcChyZWZuYW1lLCAiSEVBRCIpIHx8IHN0YXJ0c193aXRoKHJlZm5hbWUsICJyZWZzL2hlYWRzLyIpOwogfQogCiBzdGF0aWMgaW50IGZzY2tfaGFuZGxlX3JlZihjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgZmxhZywgdm9pZCAqY2JfZGF0YSkKQEAgLTU2Nyw3ICs1NjYsNyBAQAogCWlmICghc3RyY21wKGhlYWRfcG9pbnRzX2F0LCAiSEVBRCIpKQogCQkvKiBkZXRhY2hlZCBIRUFEICovCiAJCW51bGxfaXNfZXJyb3IgPSAxOwotCWVsc2UgaWYgKHByZWZpeGNtcChoZWFkX3BvaW50c19hdCwgInJlZnMvaGVhZHMvIikpCisJZWxzZSBpZiAoIXN0YXJ0c193aXRoKGhlYWRfcG9pbnRzX2F0LCAicmVmcy9oZWFkcy8iKSkKIAkJcmV0dXJuIGVycm9yKCJIRUFEIHBvaW50cyB0byBzb21ldGhpbmcgc3RyYW5nZSAoJXMpIiwKIAkJCSAgICAgaGVhZF9wb2ludHNfYXQpOwogCWlmIChpc19udWxsX3NoYTEoaGVhZF9zaGExKSkgewpAQCAtNjExLDE1ICs2MTAsMTUgQEAKIAogc3RhdGljIHN0cnVjdCBvcHRpb24gZnNja19vcHRzW10gPSB7CiAJT1BUX19WRVJCT1NFKCZ2ZXJib3NlLCBOXygiYmUgdmVyYm9zZSIpKSwKLQlPUFRfQk9PTEVBTigwLCAidW5yZWFjaGFibGUiLCAmc2hvd191bnJlYWNoYWJsZSwgTl8oInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIpKSwKKwlPUFRfQk9PTCgwLCAidW5yZWFjaGFibGUiLCAmc2hvd191bnJlYWNoYWJsZSwgTl8oInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIpKSwKIAlPUFRfQk9PTCgwLCAiZGFuZ2xpbmciLCAmc2hvd19kYW5nbGluZywgTl8oInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIpKSwKLQlPUFRfQk9PTEVBTigwLCAidGFncyIsICZzaG93X3RhZ3MsIE5fKCJyZXBvcnQgdGFncyIpKSwKLQlPUFRfQk9PTEVBTigwLCAicm9vdCIsICZzaG93X3Jvb3QsIE5fKCJyZXBvcnQgcm9vdCBub2RlcyIpKSwKLQlPUFRfQk9PTEVBTigwLCAiY2FjaGUiLCAma2VlcF9jYWNoZV9vYmplY3RzLCBOXygibWFrZSBpbmRleCBvYmplY3RzIGhlYWQgbm9kZXMiKSksCi0JT1BUX0JPT0xFQU4oMCwgInJlZmxvZ3MiLCAmaW5jbHVkZV9yZWZsb2dzLCBOXygibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIikpLAotCU9QVF9CT09MRUFOKDAsICJmdWxsIiwgJmNoZWNrX2Z1bGwsIE5fKCJhbHNvIGNvbnNpZGVyIHBhY2tzIGFuZCBhbHRlcm5hdGUgb2JqZWN0cyIpKSwKLQlPUFRfQk9PTEVBTigwLCAic3RyaWN0IiwgJmNoZWNrX3N0cmljdCwgTl8oImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIpKSwKLQlPUFRfQk9PTEVBTigwLCAibG9zdC1mb3VuZCIsICZ3cml0ZV9sb3N0X2FuZF9mb3VuZCwKKwlPUFRfQk9PTCgwLCAidGFncyIsICZzaG93X3RhZ3MsIE5fKCJyZXBvcnQgdGFncyIpKSwKKwlPUFRfQk9PTCgwLCAicm9vdCIsICZzaG93X3Jvb3QsIE5fKCJyZXBvcnQgcm9vdCBub2RlcyIpKSwKKwlPUFRfQk9PTCgwLCAiY2FjaGUiLCAma2VlcF9jYWNoZV9vYmplY3RzLCBOXygibWFrZSBpbmRleCBvYmplY3RzIGhlYWQgbm9kZXMiKSksCisJT1BUX0JPT0woMCwgInJlZmxvZ3MiLCAmaW5jbHVkZV9yZWZsb2dzLCBOXygibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIikpLAorCU9QVF9CT09MKDAsICJmdWxsIiwgJmNoZWNrX2Z1bGwsIE5fKCJhbHNvIGNvbnNpZGVyIHBhY2tzIGFuZCBhbHRlcm5hdGUgb2JqZWN0cyIpKSwKKwlPUFRfQk9PTCgwLCAic3RyaWN0IiwgJmNoZWNrX3N0cmljdCwgTl8oImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIpKSwKKwlPUFRfQk9PTCgwLCAibG9zdC1mb3VuZCIsICZ3cml0ZV9sb3N0X2FuZF9mb3VuZCwKIAkJCQlOXygid3JpdGUgZGFuZ2xpbmcgb2JqZWN0cyBpbiAuZ2l0L2xvc3QtZm91bmQiKSksCiAJT1BUX0JPT0woMCwgInByb2dyZXNzIiwgJnNob3dfcHJvZ3Jlc3MsIE5fKCJzaG93IHByb2dyZXNzIikpLAogCU9QVF9FTkQoKSwKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZ2MuYyBiL2J1aWx0aW4vZ2MuYwppbmRleCA2YmU2YzhkLi5jMTk1NDVkIDEwMDY0NAotLS0gYS9idWlsdGluL2djLmMKKysrIGIvYnVpbHRpbi9nYy5jCkBAIC0xNCw3ICsxNCw5IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCiAjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKKyNpbmNsdWRlICJzaWdjaGFpbi5oIgogI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKKyNpbmNsdWRlICJjb21taXQuaCIKIAogI2RlZmluZSBGQUlMRURfUlVOICJmYWlsZWQgdG8gcnVuICVzIgogCkBAIC0zNSw2ICszNywyMSBAQAogc3RhdGljIHN0cnVjdCBhcmd2X2FycmF5IHBydW5lID0gQVJHVl9BUlJBWV9JTklUOwogc3RhdGljIHN0cnVjdCBhcmd2X2FycmF5IHJlcmVyZSA9IEFSR1ZfQVJSQVlfSU5JVDsKIAorc3RhdGljIGNoYXIgKnBpZGZpbGU7CisKK3N0YXRpYyB2b2lkIHJlbW92ZV9waWRmaWxlKHZvaWQpCit7CisJaWYgKHBpZGZpbGUpCisJCXVubGluayhwaWRmaWxlKTsKK30KKworc3RhdGljIHZvaWQgcmVtb3ZlX3BpZGZpbGVfb25fc2lnbmFsKGludCBzaWdubykKK3sKKwlyZW1vdmVfcGlkZmlsZSgpOworCXNpZ2NoYWluX3BvcChzaWdubyk7CisJcmFpc2Uoc2lnbm8pOworfQorCiBzdGF0aWMgaW50IGdjX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYikKIHsKIAlpZiAoIXN0cmNtcCh2YXIsICJnYy5wYWNrcmVmcyIpKSB7CkBAIC0xNjcsMTkgKzE4NCw4NiBAQAogCXJldHVybiAxOwogfQogCisvKiByZXR1cm4gTlVMTCBvbiBzdWNjZXNzLCBlbHNlIGhvc3RuYW1lIHJ1bm5pbmcgdGhlIGdjICovCitzdGF0aWMgY29uc3QgY2hhciAqbG9ja19yZXBvX2Zvcl9nYyhpbnQgZm9yY2UsIHBpZF90KiByZXRfcGlkKQoreworCXN0YXRpYyBzdHJ1Y3QgbG9ja19maWxlIGxvY2s7CisJc3RhdGljIGNoYXIgbG9ja2luZ19ob3N0WzEyOF07CisJY2hhciBteV9ob3N0WzEyOF07CisJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdGF0IHN0OworCXVpbnRtYXhfdCBwaWQ7CisJRklMRSAqZnA7CisJaW50IGZkLCBzaG91bGRfZXhpdDsKKworCWlmIChwaWRmaWxlKQorCQkvKiBhbHJlYWR5IGxvY2tlZCAqLworCQlyZXR1cm4gTlVMTDsKKworCWlmIChnZXRob3N0bmFtZShteV9ob3N0LCBzaXplb2YobXlfaG9zdCkpKQorCQlzdHJjcHkobXlfaG9zdCwgInVua25vd24iKTsKKworCWZkID0gaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZSgmbG9jaywgZ2l0X3BhdGgoImdjLnBpZCIpLAorCQkJCSAgICAgICBMT0NLX0RJRV9PTl9FUlJPUik7CisJaWYgKCFmb3JjZSkgeworCQlmcCA9IGZvcGVuKGdpdF9wYXRoKCJnYy5waWQiKSwgInIiKTsKKwkJbWVtc2V0KGxvY2tpbmdfaG9zdCwgMCwgc2l6ZW9mKGxvY2tpbmdfaG9zdCkpOworCQlzaG91bGRfZXhpdCA9CisJCQlmcCAhPSBOVUxMICYmCisJCQkhZnN0YXQoZmlsZW5vKGZwKSwgJnN0KSAmJgorCQkJLyoKKwkJCSAqIDEyIGhvdXIgbGltaXQgaXMgdmVyeSBnZW5lcm91cyBhcyBnYyBzaG91bGQKKwkJCSAqIG5ldmVyIHRha2UgdGhhdCBsb25nLiBPbiB0aGUgb3RoZXIgaGFuZCB3ZQorCQkJICogZG9uJ3QgcmVhbGx5IG5lZWQgYSBzdHJpY3QgbGltaXQgaGVyZSwKKwkJCSAqIHJ1bm5pbmcgZ2MgLS1hdXRvIG9uZSBkYXkgbGF0ZSBpcyBub3QgYSBiaWcKKwkJCSAqIHByb2JsZW0uIC0tZm9yY2UgY2FuIGJlIHVzZWQgaW4gbWFudWFsIGdjCisJCQkgKiBhZnRlciB0aGUgdXNlciB2ZXJpZmllcyB0aGF0IG5vIGdjIGlzCisJCQkgKiBydW5uaW5nLgorCQkJICovCisJCQl0aW1lKE5VTEwpIC0gc3Quc3RfbXRpbWUgPD0gMTIgKiAzNjAwICYmCisJCQlmc2NhbmYoZnAsICIlIlBSSXVNQVgiICUxMjdjIiwgJnBpZCwgbG9ja2luZ19ob3N0KSA9PSAyICYmCisJCQkvKiBiZSBnZW50bGUgdG8gY29uY3VycmVudCAiZ2MiIG9uIHJlbW90ZSBob3N0cyAqLworCQkJKHN0cmNtcChsb2NraW5nX2hvc3QsIG15X2hvc3QpIHx8ICFraWxsKHBpZCwgMCkgfHwgZXJybm8gPT0gRVBFUk0pOworCQlpZiAoZnAgIT0gTlVMTCkKKwkJCWZjbG9zZShmcCk7CisJCWlmIChzaG91bGRfZXhpdCkgeworCQkJaWYgKGZkID49IDApCisJCQkJcm9sbGJhY2tfbG9ja19maWxlKCZsb2NrKTsKKwkJCSpyZXRfcGlkID0gcGlkOworCQkJcmV0dXJuIGxvY2tpbmdfaG9zdDsKKwkJfQorCX0KKworCXN0cmJ1Zl9hZGRmKCZzYiwgIiUiUFJJdU1BWCIgJXMiLAorCQkgICAgKHVpbnRtYXhfdCkgZ2V0cGlkKCksIG15X2hvc3QpOworCXdyaXRlX2luX2Z1bGwoZmQsIHNiLmJ1Ziwgc2IubGVuKTsKKwlzdHJidWZfcmVsZWFzZSgmc2IpOworCWNvbW1pdF9sb2NrX2ZpbGUoJmxvY2spOworCisJcGlkZmlsZSA9IGdpdF9wYXRoZHVwKCJnYy5waWQiKTsKKwlzaWdjaGFpbl9wdXNoX2NvbW1vbihyZW1vdmVfcGlkZmlsZV9vbl9zaWduYWwpOworCWF0ZXhpdChyZW1vdmVfcGlkZmlsZSk7CisKKwlyZXR1cm4gTlVMTDsKK30KKwogaW50IGNtZF9nYyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKIAlpbnQgYWdncmVzc2l2ZSA9IDA7CiAJaW50IGF1dG9fZ2MgPSAwOwogCWludCBxdWlldCA9IDA7CisJaW50IGZvcmNlID0gMDsKKwljb25zdCBjaGFyICpuYW1lOworCXBpZF90IHBpZDsKIAogCXN0cnVjdCBvcHRpb24gYnVpbHRpbl9nY19vcHRpb25zW10gPSB7CiAJCU9QVF9fUVVJRVQoJnF1aWV0LCBOXygic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIikpLAogCQl7IE9QVElPTl9TVFJJTkcsIDAsICJwcnVuZSIsICZwcnVuZV9leHBpcmUsIE5fKCJkYXRlIiksCiAJCQlOXygicHJ1bmUgdW5yZWZlcmVuY2VkIG9iamVjdHMiKSwKIAkJCVBBUlNFX09QVF9PUFRBUkcsIE5VTEwsIChpbnRwdHJfdClwcnVuZV9leHBpcmUgfSwKLQkJT1BUX0JPT0xFQU4oMCwgImFnZ3Jlc3NpdmUiLCAmYWdncmVzc2l2ZSwgTl8oImJlIG1vcmUgdGhvcm91Z2ggKGluY3JlYXNlZCBydW50aW1lKSIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImF1dG8iLCAmYXV0b19nYywgTl8oImVuYWJsZSBhdXRvLWdjIG1vZGUiKSksCisJCU9QVF9CT09MKDAsICJhZ2dyZXNzaXZlIiwgJmFnZ3Jlc3NpdmUsIE5fKCJiZSBtb3JlIHRob3JvdWdoIChpbmNyZWFzZWQgcnVudGltZSkiKSksCisJCU9QVF9CT09MKDAsICJhdXRvIiwgJmF1dG9fZ2MsIE5fKCJlbmFibGUgYXV0by1nYyBtb2RlIikpLAorCQlPUFRfQk9PTCgwLCAiZm9yY2UiLCAmZm9yY2UsIE5fKCJmb3JjZSBydW5uaW5nIGdjIGV2ZW4gaWYgdGhlcmUgbWF5IGJlIGFub3RoZXIgZ2MgcnVubmluZyIpKSwKIAkJT1BUX0VORCgpCiAJfTsKIApAQCAtMjI1LDYgKzMwOSwxNCBAQAogCX0gZWxzZQogCQlhZGRfcmVwYWNrX2FsbF9vcHRpb24oKTsKIAorCW5hbWUgPSBsb2NrX3JlcG9fZm9yX2djKGZvcmNlLCAmcGlkKTsKKwlpZiAobmFtZSkgeworCQlpZiAoYXV0b19nYykKKwkJCXJldHVybiAwOyAvKiBiZSBxdWlldCBvbiAtLWF1dG8gKi8KKwkJZGllKF8oImdjIGlzIGFscmVhZHkgcnVubmluZyBvbiBtYWNoaW5lICclcycgcGlkICUiUFJJdU1BWCIgKHVzZSAtLWZvcmNlIGlmIG5vdCkiKSwKKwkJICAgIG5hbWUsICh1aW50bWF4X3QpcGlkKTsKKwl9CisKIAlpZiAocGFja19yZWZzICYmIHJ1bl9jb21tYW5kX3Zfb3B0KHBhY2tfcmVmc19jbWQuYXJndiwgUlVOX0dJVF9DTUQpKQogCQlyZXR1cm4gZXJyb3IoRkFJTEVEX1JVTiwgcGFja19yZWZzX2NtZC5hcmd2WzBdKTsKIApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9nZXQtdGFyLWNvbW1pdC1pZC5jIGIvYnVpbHRpbi9nZXQtdGFyLWNvbW1pdC1pZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhNzI1OTYKLS0tIC9kZXYvbnVsbAorKysgYi9idWlsdGluL2dldC10YXItY29tbWl0LWlkLmMKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAwNSwgMjAwNiBSZW5lIFNjaGFyZmUKKyAqLworI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29tbWl0LmgiCisjaW5jbHVkZSAidGFyLmgiCisjaW5jbHVkZSAiYnVpbHRpbi5oIgorI2luY2x1ZGUgInF1b3RlLmgiCisKK3N0YXRpYyBjb25zdCBjaGFyIGJ1aWx0aW5fZ2V0X3Rhcl9jb21taXRfaWRfdXNhZ2VbXSA9CisiZ2l0IGdldC10YXItY29tbWl0LWlkIDwgPHRhcmZpbGU+IjsKKworLyogdXN0YXIgaGVhZGVyICsgZXh0ZW5kZWQgZ2xvYmFsIGhlYWRlciBjb250ZW50ICovCisjZGVmaW5lIFJFQ09SRFNJWkUJKDUxMikKKyNkZWZpbmUgSEVBREVSU0laRSAoMiAqIFJFQ09SRFNJWkUpCisKK2ludCBjbWRfZ2V0X3Rhcl9jb21taXRfaWQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJY2hhciBidWZmZXJbSEVBREVSU0laRV07CisJc3RydWN0IHVzdGFyX2hlYWRlciAqaGVhZGVyID0gKHN0cnVjdCB1c3Rhcl9oZWFkZXIgKilidWZmZXI7CisJY2hhciAqY29udGVudCA9IGJ1ZmZlciArIFJFQ09SRFNJWkU7CisJc3NpemVfdCBuOworCisJaWYgKGFyZ2MgIT0gMSkKKwkJdXNhZ2UoYnVpbHRpbl9nZXRfdGFyX2NvbW1pdF9pZF91c2FnZSk7CisKKwluID0gcmVhZF9pbl9mdWxsKDAsIGJ1ZmZlciwgSEVBREVSU0laRSk7CisJaWYgKG4gPCBIRUFERVJTSVpFKQorCQlkaWUoImdpdCBnZXQtdGFyLWNvbW1pdC1pZDogcmVhZCBlcnJvciIpOworCWlmIChoZWFkZXItPnR5cGVmbGFnWzBdICE9ICdnJykKKwkJcmV0dXJuIDE7CisJaWYgKG1lbWNtcChjb250ZW50LCAiNTIgY29tbWVudD0iLCAxMSkpCisJCXJldHVybiAxOworCisJbiA9IHdyaXRlX2luX2Z1bGwoMSwgY29udGVudCArIDExLCA0MSk7CisJaWYgKG4gPCA0MSkKKwkJZGllX2Vycm5vKCJnaXQgZ2V0LXRhci1jb21taXQtaWQ6IHdyaXRlIGVycm9yIik7CisKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2J1aWx0aW4vZ3JlcC5jIGIvYnVpbHRpbi9ncmVwLmMKaW5kZXggZDNiM2IxZC4uNjNmODYwMyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9ncmVwLmMKKysrIGIvYnVpbHRpbi9ncmVwLmMKQEAgLTE3LDYgKzE3LDcgQEAKICNpbmNsdWRlICJncmVwLmgiCiAjaW5jbHVkZSAicXVvdGUuaCIKICNpbmNsdWRlICJkaXIuaCIKKyNpbmNsdWRlICJwYXRoc3BlYy5oIgogCiBzdGF0aWMgY2hhciBjb25zdCAqIGNvbnN0IGdyZXBfdXNhZ2VbXSA9IHsKIAlOXygiZ2l0IGdyZXAgW29wdGlvbnNdIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIpLApAQCAtNDU3LDEwICs0NTgsMTAgQEAKIH0KIAogc3RhdGljIGludCBncmVwX29iamVjdChzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKLQkJICAgICAgIHN0cnVjdCBvYmplY3QgKm9iaiwgY29uc3QgY2hhciAqbmFtZSkKKwkJICAgICAgIHN0cnVjdCBvYmplY3QgKm9iaiwgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9jb250ZXh0ICpvYykKIHsKIAlpZiAob2JqLT50eXBlID09IE9CSl9CTE9CKQotCQlyZXR1cm4gZ3JlcF9zaGExKG9wdCwgb2JqLT5zaGExLCBuYW1lLCAwLCBOVUxMKTsKKwkJcmV0dXJuIGdyZXBfc2hhMShvcHQsIG9iai0+c2hhMSwgbmFtZSwgMCwgb2MgPyBvYy0+cGF0aCA6IE5VTEwpOwogCWlmIChvYmotPnR5cGUgPT0gT0JKX0NPTU1JVCB8fCBvYmotPnR5cGUgPT0gT0JKX1RSRUUpIHsKIAkJc3RydWN0IHRyZWVfZGVzYyB0cmVlOwogCQl2b2lkICpkYXRhOwpAQCAtNTAyLDcgKzUwMyw3IEBACiAJZm9yIChpID0gMDsgaSA8IG5yOyBpKyspIHsKIAkJc3RydWN0IG9iamVjdCAqcmVhbF9vYmo7CiAJCXJlYWxfb2JqID0gZGVyZWZfdGFnKGxpc3QtPm9iamVjdHNbaV0uaXRlbSwgTlVMTCwgMCk7Ci0JCWlmIChncmVwX29iamVjdChvcHQsIHBhdGhzcGVjLCByZWFsX29iaiwgbGlzdC0+b2JqZWN0c1tpXS5uYW1lKSkgeworCQlpZiAoZ3JlcF9vYmplY3Qob3B0LCBwYXRoc3BlYywgcmVhbF9vYmosIGxpc3QtPm9iamVjdHNbaV0ubmFtZSwgbGlzdC0+b2JqZWN0c1tpXS5jb250ZXh0KSkgewogCQkJaGl0ID0gMTsKIAkJCWlmIChvcHQtPnN0YXR1c19vbmx5KQogCQkJCWJyZWFrOwpAQCAtNTIxLDcgKzUyMiw3IEBACiAJaWYgKGV4Y19zdGQpCiAJCXNldHVwX3N0YW5kYXJkX2V4Y2x1ZGVzKCZkaXIpOwogCi0JZmlsbF9kaXJlY3RvcnkoJmRpciwgcGF0aHNwZWMtPnJhdyk7CisJZmlsbF9kaXJlY3RvcnkoJmRpciwgcGF0aHNwZWMpOwogCWZvciAoaSA9IDA7IGkgPCBkaXIubnI7IGkrKykgewogCQljb25zdCBjaGFyICpuYW1lID0gZGlyLmVudHJpZXNbaV0tPm5hbWU7CiAJCWludCBuYW1lbGVuID0gc3RybGVuKG5hbWUpOwpAQCAtNjI5LDcgKzYzMCw2IEBACiAJY29uc3QgY2hhciAqc2hvd19pbl9wYWdlciA9IE5VTEwsICpkZWZhdWx0X3BhZ2VyID0gImR1bW15IjsKIAlzdHJ1Y3QgZ3JlcF9vcHQgb3B0OwogCXN0cnVjdCBvYmplY3RfYXJyYXkgbGlzdCA9IE9CSkVDVF9BUlJBWV9JTklUOwotCWNvbnN0IGNoYXIgKipwYXRocyA9IE5VTEw7CiAJc3RydWN0IHBhdGhzcGVjIHBhdGhzcGVjOwogCXN0cnVjdCBzdHJpbmdfbGlzdCBwYXRoX2xpc3QgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogCWludCBpOwpAQCAtNjM4LDI2ICs2MzgsMjggQEAKIAlpbnQgcGF0dGVybl90eXBlX2FyZyA9IEdSRVBfUEFUVEVSTl9UWVBFX1VOU1BFQ0lGSUVEOwogCiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MRUFOKDAsICJjYWNoZWQiLCAmY2FjaGVkLAorCQlPUFRfQk9PTCgwLCAiY2FjaGVkIiwgJmNhY2hlZCwKIAkJCU5fKCJzZWFyY2ggaW4gaW5kZXggaW5zdGVhZCBvZiBpbiB0aGUgd29yayB0cmVlIikpLAogCQlPUFRfTkVHQklUKDAsICJuby1pbmRleCIsICZ1c2VfaW5kZXgsCiAJCQkgTl8oImZpbmQgaW4gY29udGVudHMgbm90IG1hbmFnZWQgYnkgZ2l0IiksIDEpLAotCQlPUFRfQk9PTEVBTigwLCAidW50cmFja2VkIiwgJnVudHJhY2tlZCwKKwkJT1BUX0JPT0woMCwgInVudHJhY2tlZCIsICZ1bnRyYWNrZWQsCiAJCQlOXygic2VhcmNoIGluIGJvdGggdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIikpLAogCQlPUFRfU0VUX0lOVCgwLCAiZXhjbHVkZS1zdGFuZGFyZCIsICZvcHRfZXhjbHVkZSwKIAkJCSAgICBOXygic2VhcmNoIGFsc28gaW4gaWdub3JlZCBmaWxlcyIpLCAxKSwKIAkJT1BUX0dST1VQKCIiKSwKLQkJT1BUX0JPT0xFQU4oJ3YnLCAiaW52ZXJ0LW1hdGNoIiwgJm9wdC5pbnZlcnQsCisJCU9QVF9CT09MKCd2JywgImludmVydC1tYXRjaCIsICZvcHQuaW52ZXJ0LAogCQkJTl8oInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIikpLAotCQlPUFRfQk9PTEVBTignaScsICJpZ25vcmUtY2FzZSIsICZvcHQuaWdub3JlX2Nhc2UsCisJCU9QVF9CT09MKCdpJywgImlnbm9yZS1jYXNlIiwgJm9wdC5pZ25vcmVfY2FzZSwKIAkJCU5fKCJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIikpLAotCQlPUFRfQk9PTEVBTigndycsICJ3b3JkLXJlZ2V4cCIsICZvcHQud29yZF9yZWdleHAsCisJCU9QVF9CT09MKCd3JywgIndvcmQtcmVnZXhwIiwgJm9wdC53b3JkX3JlZ2V4cCwKIAkJCU5fKCJtYXRjaCBwYXR0ZXJucyBvbmx5IGF0IHdvcmQgYm91bmRhcmllcyIpKSwKIAkJT1BUX1NFVF9JTlQoJ2EnLCAidGV4dCIsICZvcHQuYmluYXJ5LAogCQkJTl8oInByb2Nlc3MgYmluYXJ5IGZpbGVzIGFzIHRleHQiKSwgR1JFUF9CSU5BUllfVEVYVCksCiAJCU9QVF9TRVRfSU5UKCdJJywgTlVMTCwgJm9wdC5iaW5hcnksCiAJCQlOXygiZG9uJ3QgbWF0Y2ggcGF0dGVybnMgaW4gYmluYXJ5IGZpbGVzIiksCiAJCQlHUkVQX0JJTkFSWV9OT01BVENIKSwKKwkJT1BUX0JPT0woMCwgInRleHRjb252IiwgJm9wdC5hbGxvd190ZXh0Y29udiwKKwkJCSBOXygicHJvY2VzcyBiaW5hcnkgZmlsZXMgd2l0aCB0ZXh0Y29udiBmaWx0ZXJzIikpLAogCQl7IE9QVElPTl9JTlRFR0VSLCAwLCAibWF4LWRlcHRoIiwgJm9wdC5tYXhfZGVwdGgsIE5fKCJkZXB0aCIpLAogCQkJTl8oImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIpLCBQQVJTRV9PUFRfTk9ORUcsCiAJCQlOVUxMLCAxIH0sCkBAIC02NzUsMjYgKzY3NywyNiBAQAogCQkJICAgIE5fKCJ1c2UgUGVybC1jb21wYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMiKSwKIAkJCSAgICBHUkVQX1BBVFRFUk5fVFlQRV9QQ1JFKSwKIAkJT1BUX0dST1VQKCIiKSwKLQkJT1BUX0JPT0xFQU4oJ24nLCAibGluZS1udW1iZXIiLCAmb3B0LmxpbmVudW0sIE5fKCJzaG93IGxpbmUgbnVtYmVycyIpKSwKKwkJT1BUX0JPT0woJ24nLCAibGluZS1udW1iZXIiLCAmb3B0LmxpbmVudW0sIE5fKCJzaG93IGxpbmUgbnVtYmVycyIpKSwKIAkJT1BUX05FR0JJVCgnaCcsIE5VTEwsICZvcHQucGF0aG5hbWUsIE5fKCJkb24ndCBzaG93IGZpbGVuYW1lcyIpLCAxKSwKIAkJT1BUX0JJVCgnSCcsIE5VTEwsICZvcHQucGF0aG5hbWUsIE5fKCJzaG93IGZpbGVuYW1lcyIpLCAxKSwKIAkJT1BUX05FR0JJVCgwLCAiZnVsbC1uYW1lIiwgJm9wdC5yZWxhdGl2ZSwKIAkJCU5fKCJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IiksIDEpLAotCQlPUFRfQk9PTEVBTignbCcsICJmaWxlcy13aXRoLW1hdGNoZXMiLCAmb3B0Lm5hbWVfb25seSwKKwkJT1BUX0JPT0woJ2wnLCAiZmlsZXMtd2l0aC1tYXRjaGVzIiwgJm9wdC5uYW1lX29ubHksCiAJCQlOXygic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIikpLAotCQlPUFRfQk9PTEVBTigwLCAibmFtZS1vbmx5IiwgJm9wdC5uYW1lX29ubHksCisJCU9QVF9CT09MKDAsICJuYW1lLW9ubHkiLCAmb3B0Lm5hbWVfb25seSwKIAkJCU5fKCJzeW5vbnltIGZvciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIpKSwKLQkJT1BUX0JPT0xFQU4oJ0wnLCAiZmlsZXMtd2l0aG91dC1tYXRjaCIsCisJCU9QVF9CT09MKCdMJywgImZpbGVzLXdpdGhvdXQtbWF0Y2giLAogCQkJJm9wdC51bm1hdGNoX25hbWVfb25seSwKIAkJCU5fKCJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giKSksCi0JCU9QVF9CT09MRUFOKCd6JywgIm51bGwiLCAmb3B0Lm51bGxfZm9sbG93aW5nX25hbWUsCisJCU9QVF9CT09MKCd6JywgIm51bGwiLCAmb3B0Lm51bGxfZm9sbG93aW5nX25hbWUsCiAJCQlOXygicHJpbnQgTlVMIGFmdGVyIGZpbGVuYW1lcyIpKSwKLQkJT1BUX0JPT0xFQU4oJ2MnLCAiY291bnQiLCAmb3B0LmNvdW50LAorCQlPUFRfQk9PTCgnYycsICJjb3VudCIsICZvcHQuY291bnQsCiAJCQlOXygic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIpKSwKIAkJT1BUX19DT0xPUigmb3B0LmNvbG9yLCBOXygiaGlnaGxpZ2h0IG1hdGNoZXMiKSksCi0JCU9QVF9CT09MRUFOKDAsICJicmVhayIsICZvcHQuZmlsZV9icmVhaywKKwkJT1BUX0JPT0woMCwgImJyZWFrIiwgJm9wdC5maWxlX2JyZWFrLAogCQkJTl8oInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIikpLAotCQlPUFRfQk9PTEVBTigwLCAiaGVhZGluZyIsICZvcHQuaGVhZGluZywKKwkJT1BUX0JPT0woMCwgImhlYWRpbmciLCAmb3B0LmhlYWRpbmcsCiAJCQlOXygic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIpKSwKIAkJT1BUX0dST1VQKCIiKSwKIAkJT1BUX0NBTExCQUNLKCdDJywgImNvbnRleHQiLCAmb3B0LCBOXygibiIpLApAQCAtNzA2LDkgKzcwOCw5IEBACiAJCQlOXygic2hvdyA8bj4gY29udGV4dCBsaW5lcyBhZnRlciBtYXRjaGVzIikpLAogCQlPUFRfTlVNQkVSX0NBTExCQUNLKCZvcHQsIE5fKCJzaG9ydGN1dCBmb3IgLUMgTlVNIiksCiAJCQljb250ZXh0X2NhbGxiYWNrKSwKLQkJT1BUX0JPT0xFQU4oJ3AnLCAic2hvdy1mdW5jdGlvbiIsICZvcHQuZnVuY25hbWUsCisJCU9QVF9CT09MKCdwJywgInNob3ctZnVuY3Rpb24iLCAmb3B0LmZ1bmNuYW1lLAogCQkJTl8oInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiKSksCi0JCU9QVF9CT09MRUFOKCdXJywgImZ1bmN0aW9uLWNvbnRleHQiLCAmb3B0LmZ1bmNib2R5LAorCQlPUFRfQk9PTCgnVycsICJmdW5jdGlvbi1jb250ZXh0IiwgJm9wdC5mdW5jYm9keSwKIAkJCU5fKCJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIpKSwKIAkJT1BUX0dST1VQKCIiKSwKIAkJT1BUX0NBTExCQUNLKCdmJywgTlVMTCwgJm9wdCwgTl8oImZpbGUiKSwKQEAgLTcxOCw3ICs3MjAsNyBAQAogCQl7IE9QVElPTl9DQUxMQkFDSywgMCwgImFuZCIsICZvcHQsIE5VTEwsCiAJCSAgTl8oImNvbWJpbmUgcGF0dGVybnMgc3BlY2lmaWVkIHdpdGggLWUiKSwKIAkJICBQQVJTRV9PUFRfTk9BUkcgfCBQQVJTRV9PUFRfTk9ORUcsIGFuZF9jYWxsYmFjayB9LAotCQlPUFRfQk9PTEVBTigwLCAib3IiLCAmZHVtbXksICIiKSwKKwkJT1BUX0JPT0woMCwgIm9yIiwgJmR1bW15LCAiIiksCiAJCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAibm90IiwgJm9wdCwgTlVMTCwgIiIsCiAJCSAgUEFSU0VfT1BUX05PQVJHIHwgUEFSU0VfT1BUX05PTkVHLCBub3RfY2FsbGJhY2sgfSwKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssICcoJywgTlVMTCwgJm9wdCwgTlVMTCwgIiIsCkBAIC03MjksNyArNzMxLDcgQEAKIAkJICBjbG9zZV9jYWxsYmFjayB9LAogCQlPUFRfX1FVSUVUKCZvcHQuc3RhdHVzX29ubHksCiAJCQkgICBOXygiaW5kaWNhdGUgaGl0IHdpdGggZXhpdCBzdGF0dXMgd2l0aG91dCBvdXRwdXQiKSksCi0JCU9QVF9CT09MRUFOKDAsICJhbGwtbWF0Y2giLCAmb3B0LmFsbF9tYXRjaCwKKwkJT1BUX0JPT0woMCwgImFsbC1tYXRjaCIsICZvcHQuYWxsX21hdGNoLAogCQkJTl8oInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiKSksCiAJCXsgT1BUSU9OX1NFVF9JTlQsIDAsICJkZWJ1ZyIsICZvcHQuZGVidWcsIE5VTEwsCiAJCSAgTl8oInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIiksCkBAIC03MzgsOCArNzQwLDggQEAKIAkJeyBPUFRJT05fU1RSSU5HLCAnTycsICJvcGVuLWZpbGVzLWluLXBhZ2VyIiwgJnNob3dfaW5fcGFnZXIsCiAJCQlOXygicGFnZXIiKSwgTl8oInNob3cgbWF0Y2hpbmcgZmlsZXMgaW4gdGhlIHBhZ2VyIiksCiAJCQlQQVJTRV9PUFRfT1BUQVJHLCBOVUxMLCAoaW50cHRyX3QpZGVmYXVsdF9wYWdlciB9LAotCQlPUFRfQk9PTEVBTigwLCAiZXh0LWdyZXAiLCAmZXh0ZXJuYWxfZ3JlcF9hbGxvd2VkX19pZ25vcmVkLAotCQkJICAgIE5fKCJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiKSksCisJCU9QVF9CT09MKDAsICJleHQtZ3JlcCIsICZleHRlcm5hbF9ncmVwX2FsbG93ZWRfX2lnbm9yZWQsCisJCQkgTl8oImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIpKSwKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJoZWxwLWFsbCIsICZvcHRpb25zLCBOVUxMLCBOXygic2hvdyB1c2FnZSIpLAogCQkgIFBBUlNFX09QVF9ISURERU4gfCBQQVJTRV9PUFRfTk9BUkcsIGhlbHBfY2FsbGJhY2sgfSwKIAkJT1BUX0VORCgpCkBAIC04MTcsMTIgKzgxOSwxMyBAQAogCWZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKIAkJY29uc3QgY2hhciAqYXJnID0gYXJndltpXTsKIAkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwkJc3RydWN0IG9iamVjdF9jb250ZXh0IG9jOwogCQkvKiBJcyBpdCBhIHJldj8gKi8KLQkJaWYgKCFnZXRfc2hhMShhcmcsIHNoYTEpKSB7CisJCWlmICghZ2V0X3NoYTFfd2l0aF9jb250ZXh0KGFyZywgMCwgc2hhMSwgJm9jKSkgewogCQkJc3RydWN0IG9iamVjdCAqb2JqZWN0ID0gcGFyc2Vfb2JqZWN0X29yX2RpZShzaGExLCBhcmcpOwogCQkJaWYgKCFzZWVuX2Rhc2hkYXNoKQogCQkJCXZlcmlmeV9ub25fZmlsZW5hbWUocHJlZml4LCBhcmcpOwotCQkJYWRkX29iamVjdF9hcnJheShvYmplY3QsIGFyZywgJmxpc3QpOworCQkJYWRkX29iamVjdF9hcnJheV93aXRoX2NvbnRleHQob2JqZWN0LCBhcmcsICZsaXN0LCB4bWVtZHVweigmb2MsIHNpemVvZihzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQpKSk7CiAJCQljb250aW51ZTsKIAkJfQogCQlpZiAoIXN0cmNtcChhcmcsICItLSIpKSB7CkBAIC04NTYsOCArODU5LDEwIEBACiAJCQl2ZXJpZnlfZmlsZW5hbWUocHJlZml4LCBhcmd2W2pdLCBqID09IGkpOwogCX0KIAotCXBhdGhzID0gZ2V0X3BhdGhzcGVjKHByZWZpeCwgYXJndiArIGkpOwotCWluaXRfcGF0aHNwZWMoJnBhdGhzcGVjLCBwYXRocyk7CisJcGFyc2VfcGF0aHNwZWMoJnBhdGhzcGVjLCAwLAorCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0NXRCB8CisJCSAgICAgICAob3B0Lm1heF9kZXB0aCAhPSAtMSA/IFBBVEhTUEVDX01BWERFUFRIX1ZBTElEIDogMCksCisJCSAgICAgICBwcmVmaXgsIGFyZ3YgKyBpKTsKIAlwYXRoc3BlYy5tYXhfZGVwdGggPSBvcHQubWF4X2RlcHRoOwogCXBhdGhzcGVjLnJlY3Vyc2l2ZSA9IDE7CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vaGFzaC1vYmplY3QuYyBiL2J1aWx0aW4vaGFzaC1vYmplY3QuYwppbmRleCA4ZDE4NGYxLi5kN2ZjZjRjIDEwMDY0NAotLS0gYS9idWlsdGluL2hhc2gtb2JqZWN0LmMKKysrIGIvYnVpbHRpbi9oYXNoLW9iamVjdC5jCkBAIC03MCwxMCArNzAsMTAgQEAKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gaGFzaF9vYmplY3Rfb3B0aW9uc1tdID0gewogCU9QVF9TVFJJTkcoJ3QnLCBOVUxMLCAmdHlwZSwgTl8oInR5cGUiKSwgTl8oIm9iamVjdCB0eXBlIikpLAotCU9QVF9CT09MRUFOKCd3JywgTlVMTCwgJndyaXRlX29iamVjdCwgTl8oIndyaXRlIHRoZSBvYmplY3QgaW50byB0aGUgb2JqZWN0IGRhdGFiYXNlIikpLAotCU9QVF9CT09MRUFOKCAwICwgInN0ZGluIiwgJmhhc2hzdGRpbiwgTl8oInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIikpLAotCU9QVF9CT09MRUFOKCAwICwgInN0ZGluLXBhdGhzIiwgJnN0ZGluX3BhdGhzLCBOXygicmVhZCBmaWxlIG5hbWVzIGZyb20gc3RkaW4iKSksCi0JT1BUX0JPT0xFQU4oIDAgLCAibm8tZmlsdGVycyIsICZub19maWx0ZXJzLCBOXygic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiKSksCisJT1BUX0JPT0woJ3cnLCBOVUxMLCAmd3JpdGVfb2JqZWN0LCBOXygid3JpdGUgdGhlIG9iamVjdCBpbnRvIHRoZSBvYmplY3QgZGF0YWJhc2UiKSksCisJT1BUX0NPVU5UVVAoIDAgLCAic3RkaW4iLCAmaGFzaHN0ZGluLCBOXygicmVhZCB0aGUgb2JqZWN0IGZyb20gc3RkaW4iKSksCisJT1BUX0JPT0woIDAgLCAic3RkaW4tcGF0aHMiLCAmc3RkaW5fcGF0aHMsIE5fKCJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIpKSwKKwlPUFRfQk9PTCggMCAsICJuby1maWx0ZXJzIiwgJm5vX2ZpbHRlcnMsIE5fKCJzdG9yZSBmaWxlIGFzIGlzIHdpdGhvdXQgZmlsdGVycyIpKSwKIAlPUFRfU1RSSU5HKCAwICwgInBhdGgiLCAmdnBhdGgsIE5fKCJmaWxlIiksIE5fKCJwcm9jZXNzIGZpbGUgYXMgaXQgd2VyZSBmcm9tIHRoaXMgcGF0aCIpKSwKIAlPUFRfRU5EKCkKIH07CmRpZmYgLS1naXQgYS9idWlsdGluL2hlbHAuYyBiL2J1aWx0aW4vaGVscC5jCmluZGV4IGYxZTIzNmIuLjFmZGVmZWIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vaGVscC5jCisrKyBiL2J1aWx0aW4vaGVscC5jCkBAIC0xMDAsNyArMTAwLDcgQEAKIAkgKi8KIAlmaW5pc2hfY29tbWFuZCgmZWNfcHJvY2Vzcyk7CiAKLQlpZiAocHJlZml4Y21wKGJ1ZmZlci5idWYsICJlbWFjc2NsaWVudCIpKSB7CisJaWYgKCFzdGFydHNfd2l0aChidWZmZXIuYnVmLCAiZW1hY3NjbGllbnQiKSkgewogCQlzdHJidWZfcmVsZWFzZSgmYnVmZmVyKTsKIAkJcmV0dXJuIGVycm9yKF8oIkZhaWxlZCB0byBwYXJzZSBlbWFjc2NsaWVudCB2ZXJzaW9uLiIpKTsKIAl9CkBAIC0yNTgsNyArMjU4LDcgQEAKIAogc3RhdGljIGludCBnaXRfaGVscF9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpCiB7Ci0JaWYgKCFwcmVmaXhjbXAodmFyLCAiY29sdW1uLiIpKQorCWlmIChzdGFydHNfd2l0aCh2YXIsICJjb2x1bW4uIikpCiAJCXJldHVybiBnaXRfY29sdW1uX2NvbmZpZyh2YXIsIHZhbHVlLCAiaGVscCIsICZjb2xvcHRzKTsKIAlpZiAoIXN0cmNtcCh2YXIsICJoZWxwLmZvcm1hdCIpKSB7CiAJCWlmICghdmFsdWUpCkBAIC0yNzgsNyArMjc4LDcgQEAKIAkJYWRkX21hbl92aWV3ZXIodmFsdWUpOwogCQlyZXR1cm4gMDsKIAl9Ci0JaWYgKCFwcmVmaXhjbXAodmFyLCAibWFuLiIpKQorCWlmIChzdGFydHNfd2l0aCh2YXIsICJtYW4uIikpCiAJCXJldHVybiBhZGRfbWFuX3ZpZXdlcl9pbmZvKHZhciwgdmFsdWUpOwogCiAJcmV0dXJuIGdpdF9kZWZhdWx0X2NvbmZpZyh2YXIsIHZhbHVlLCBjYik7CkBAIC0yODgsNiArMjg4LDEwIEBACiAKIHN0YXRpYyBpbnQgaXNfZ2l0X2NvbW1hbmQoY29uc3QgY2hhciAqcykKIHsKKwlpZiAoaXNfYnVpbHRpbihzKSkKKwkJcmV0dXJuIDE7CisKKwlsb2FkX2NvbW1hbmRfbGlzdCgiZ2l0LSIsICZtYWluX2NtZHMsICZvdGhlcl9jbWRzKTsKIAlyZXR1cm4gaXNfaW5fY21kbGlzdCgmbWFpbl9jbWRzLCBzKSB8fAogCQlpc19pbl9jbWRsaXN0KCZvdGhlcl9jbWRzLCBzKTsKIH0KQEAgLTMwNiw3ICszMTAsNyBAQAogewogCWlmICghZ2l0X2NtZCkKIAkJcmV0dXJuICJnaXQiOwotCWVsc2UgaWYgKCFwcmVmaXhjbXAoZ2l0X2NtZCwgImdpdCIpKQorCWVsc2UgaWYgKHN0YXJ0c193aXRoKGdpdF9jbWQsICJnaXQiKSkKIAkJcmV0dXJuIGdpdF9jbWQ7CiAJZWxzZSBpZiAoaXNfZ2l0X2NvbW1hbmQoZ2l0X2NtZCkpCiAJCXJldHVybiBwcmVwZW5kKCJnaXQtIiwgZ2l0X2NtZCk7CkBAIC00NDksNyArNDUzLDYgQEAKIAlpbnQgbm9uZ2l0OwogCWNvbnN0IGNoYXIgKmFsaWFzOwogCWVudW0gaGVscF9mb3JtYXQgcGFyc2VkX2hlbHBfZm9ybWF0OwotCWxvYWRfY29tbWFuZF9saXN0KCJnaXQtIiwgJm1haW5fY21kcywgJm90aGVyX2NtZHMpOwogCiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBidWlsdGluX2hlbHBfb3B0aW9ucywKIAkJCWJ1aWx0aW5faGVscF91c2FnZSwgMCk7CkBAIC00NTgsNiArNDYxLDcgQEAKIAlpZiAoc2hvd19hbGwpIHsKIAkJZ2l0X2NvbmZpZyhnaXRfaGVscF9jb25maWcsIE5VTEwpOwogCQlwcmludGYoXygidXNhZ2U6ICVzJXMiKSwgXyhnaXRfdXNhZ2Vfc3RyaW5nKSwgIlxuXG4iKTsKKwkJbG9hZF9jb21tYW5kX2xpc3QoImdpdC0iLCAmbWFpbl9jbWRzLCAmb3RoZXJfY21kcyk7CiAJCWxpc3RfY29tbWFuZHMoY29sb3B0cywgJm1haW5fY21kcywgJm90aGVyX2NtZHMpOwogCX0KIApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9pbmRleC1wYWNrLmMgYi9idWlsdGluL2luZGV4LXBhY2suYwppbmRleCA5YzFjZmFjLi4yZjM3YTM4IDEwMDY0NAotLS0gYS9idWlsdGluL2luZGV4LXBhY2suYworKysgYi9idWlsdGluL2luZGV4LXBhY2suYwpAQCAtNzcwLDYgKzc3MCw3IEBACiAJCQlpZiAob2JqLT50eXBlID09IE9CSl9UUkVFKSB7CiAJCQkJc3RydWN0IHRyZWUgKml0ZW0gPSAoc3RydWN0IHRyZWUgKikgb2JqOwogCQkJCWl0ZW0tPmJ1ZmZlciA9IE5VTEw7CisJCQkJb2JqLT5wYXJzZWQgPSAwOwogCQkJfQogCQkJaWYgKG9iai0+dHlwZSA9PSBPQkpfQ09NTUlUKSB7CiAJCQkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gKHN0cnVjdCBjb21taXQgKikgb2JqOwpAQCAtMTUzMyw5ICsxNTM0LDkgQEAKIAkJCQlzdGF0X29ubHkgPSAxOwogCQkJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0ta2VlcCIpKSB7CiAJCQkJa2VlcF9tc2cgPSAiIjsKLQkJCX0gZWxzZSBpZiAoIXByZWZpeGNtcChhcmcsICItLWtlZXA9IikpIHsKKwkJCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1rZWVwPSIpKSB7CiAJCQkJa2VlcF9tc2cgPSBhcmcgKyA3OwotCQkJfSBlbHNlIGlmICghcHJlZml4Y21wKGFyZywgIi0tdGhyZWFkcz0iKSkgeworCQkJfSBlbHNlIGlmIChzdGFydHNfd2l0aChhcmcsICItLXRocmVhZHM9IikpIHsKIAkJCQljaGFyICplbmQ7CiAJCQkJbnJfdGhyZWFkcyA9IHN0cnRvdWwoYXJnKzEwLCAmZW5kLCAwKTsKIAkJCQlpZiAoIWFyZ1sxMF0gfHwgKmVuZCB8fCBucl90aHJlYWRzIDwgMCkKQEAgLTE1NDYsNyArMTU0Nyw3IEBACiAJCQkJCQkgICJpZ25vcmluZyAlcyIpLCBhcmcpOwogCQkJCW5yX3RocmVhZHMgPSAxOwogI2VuZGlmCi0JCQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1wYWNrX2hlYWRlcj0iKSkgeworCQkJfSBlbHNlIGlmIChzdGFydHNfd2l0aChhcmcsICItLXBhY2tfaGVhZGVyPSIpKSB7CiAJCQkJc3RydWN0IHBhY2tfaGVhZGVyICpoZHI7CiAJCQkJY2hhciAqYzsKIApAQCAtMTU2NSw3ICsxNTY2LDcgQEAKIAkJCQlpZiAoaW5kZXhfbmFtZSB8fCAoaSsxKSA+PSBhcmdjKQogCQkJCQl1c2FnZShpbmRleF9wYWNrX3VzYWdlKTsKIAkJCQlpbmRleF9uYW1lID0gYXJndlsrK2ldOwotCQkJfSBlbHNlIGlmICghcHJlZml4Y21wKGFyZywgIi0taW5kZXgtdmVyc2lvbj0iKSkgeworCQkJfSBlbHNlIGlmIChzdGFydHNfd2l0aChhcmcsICItLWluZGV4LXZlcnNpb249IikpIHsKIAkJCQljaGFyICpjOwogCQkJCW9wdHMudmVyc2lvbiA9IHN0cnRvdWwoYXJnICsgMTYsICZjLCAxMCk7CiAJCQkJaWYgKG9wdHMudmVyc2lvbiA+IDIpCmRpZmYgLS1naXQgYS9idWlsdGluL2luaXQtZGIuYyBiL2J1aWx0aW4vaW5pdC1kYi5jCmluZGV4IDc4YWEzODcuLmM3Yzc2YmIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vaW5pdC1kYi5jCisrKyBiL2J1aWx0aW4vaW5pdC1kYi5jCkBAIC0yNjYsNyArMjY2LDcgQEAKIAkJLyogYWxsb3cgdGVtcGxhdGUgY29uZmlnIGZpbGUgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgKi8KIAkJaWYgKGxvZ19hbGxfcmVmX3VwZGF0ZXMgPT0gLTEpCiAJCSAgICBnaXRfY29uZmlnX3NldCgiY29yZS5sb2dhbGxyZWZ1cGRhdGVzIiwgInRydWUiKTsKLQkJaWYgKHByZWZpeGNtcChnaXRfZGlyLCB3b3JrX3RyZWUpIHx8CisJCWlmICghc3RhcnRzX3dpdGgoZ2l0X2Rpciwgd29ya190cmVlKSB8fAogCQkgICAgc3RyY21wKGdpdF9kaXIgKyBzdHJsZW4od29ya190cmVlKSwgIi8uZ2l0IikpIHsKIAkJCWdpdF9jb25maWdfc2V0KCJjb3JlLndvcmt0cmVlIiwgd29ya190cmVlKTsKIAkJfQpAQCAtNTE1LDEzICs1MTUsMTQgQEAKIAkJCQlzYXZlZCA9IHNoYXJlZF9yZXBvc2l0b3J5OwogCQkJCXNoYXJlZF9yZXBvc2l0b3J5ID0gMDsKIAkJCQlzd2l0Y2ggKHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXNfY29uc3QoYXJndlswXSkpIHsKLQkJCQljYXNlIC0zOgorCQkJCWNhc2UgU0NMRF9PSzoKKwkJCQljYXNlIFNDTERfUEVSTVM6CisJCQkJCWJyZWFrOworCQkJCWNhc2UgU0NMRF9FWElTVFM6CiAJCQkJCWVycm5vID0gRUVYSVNUOwogCQkJCQkvKiBmYWxsdGhydSAqLwotCQkJCWNhc2UgLTE6Ci0JCQkJCWRpZV9lcnJubyhfKCJjYW5ub3QgbWtkaXIgJXMiKSwgYXJndlswXSk7Ci0JCQkJCWJyZWFrOwogCQkJCWRlZmF1bHQ6CisJCQkJCWRpZV9lcnJubyhfKCJjYW5ub3QgbWtkaXIgJXMiKSwgYXJndlswXSk7CiAJCQkJCWJyZWFrOwogCQkJCX0KIAkJCQlzaGFyZWRfcmVwb3NpdG9yeSA9IHNhdmVkOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9sb2cuYyBiL2J1aWx0aW4vbG9nLmMKaW5kZXggMjYyNWY5OC4uYjk3MzczZCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9sb2cuYworKysgYi9idWlsdGluL2xvZy5jCkBAIC0xMTEsNiArMTExLDcgQEAKIAogCWlmIChkZWZhdWx0X2RhdGVfbW9kZSkKIAkJcmV2LT5kYXRlX21vZGUgPSBwYXJzZV9kYXRlX2Zvcm1hdChkZWZhdWx0X2RhdGVfbW9kZSk7CisJcmV2LT5kaWZmb3B0LnRvdWNoZWRfZmxhZ3MgPSAwOwogfQogCiBzdGF0aWMgdm9pZCBjbWRfbG9nX2luaXRfZmluaXNoKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4LApAQCAtMTIxLDcgKzEyMiw3IEBACiAJc3RhdGljIHN0cnVjdCBsaW5lX29wdF9jYWxsYmFja19kYXRhIGxpbmVfY2IgPSB7TlVMTCwgTlVMTCwgU1RSSU5HX0xJU1RfSU5JVF9EVVB9OwogCiAJY29uc3Qgc3RydWN0IG9wdGlvbiBidWlsdGluX2xvZ19vcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MKDAsICJxdWlldCIsICZxdWlldCwgTl8oInN1cHByZXNzIGRpZmYgb3V0cHV0IikpLAorCQlPUFRfX1FVSUVUKCZxdWlldCwgTl8oInN1cHByZXNzIGRpZmYgb3V0cHV0IikpLAogCQlPUFRfQk9PTCgwLCAic291cmNlIiwgJnNvdXJjZSwgTl8oInNob3cgc291cmNlIikpLAogCQlPUFRfQk9PTCgwLCAidXNlLW1haWxtYXAiLCAmbWFpbG1hcCwgTl8oIlVzZSBtYWlsIG1hcCBmaWxlIikpLAogCQl7IE9QVElPTl9DQUxMQkFDSywgMCwgImRlY29yYXRlIiwgTlVMTCwgTlVMTCwgTl8oImRlY29yYXRlIG9wdGlvbnMiKSwKQEAgLTM5MCw3ICszOTEsNyBAQAogCQlkZWZhdWx0X3Nob3dfcm9vdCA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKIAkJcmV0dXJuIDA7CiAJfQotCWlmICghcHJlZml4Y21wKHZhciwgImNvbG9yLmRlY29yYXRlLiIpKQorCWlmIChzdGFydHNfd2l0aCh2YXIsICJjb2xvci5kZWNvcmF0ZS4iKSkKIAkJcmV0dXJuIHBhcnNlX2RlY29yYXRlX2NvbG9yX2NvbmZpZyh2YXIsIDE1LCB2YWx1ZSk7CiAJaWYgKCFzdHJjbXAodmFyLCAibG9nLm1haWxtYXAiKSkgewogCQl1c2VfbWFpbG1hcF9jb25maWcgPSBnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSk7CkBAIC00MzYsMTAgKzQzNywyOSBAQAogCXN0cmJ1Zl9yZWxlYXNlKCZvdXQpOwogfQogCi1zdGF0aWMgaW50IHNob3dfYmxvYl9vYmplY3QoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgc3RydWN0IHJldl9pbmZvICpyZXYpCitzdGF0aWMgaW50IHNob3dfYmxvYl9vYmplY3QoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgc3RydWN0IHJldl9pbmZvICpyZXYsIGNvbnN0IGNoYXIgKm9ial9uYW1lKQogeworCXVuc2lnbmVkIGNoYXIgc2hhMWNbMjBdOworCXN0cnVjdCBvYmplY3RfY29udGV4dCBvYmpfY29udGV4dDsKKwljaGFyICpidWY7CisJdW5zaWduZWQgbG9uZyBzaXplOworCiAJZmZsdXNoKHN0ZG91dCk7Ci0JcmV0dXJuIHN0cmVhbV9ibG9iX3RvX2ZkKDEsIHNoYTEsIE5VTEwsIDApOworCWlmICghRElGRl9PUFRfVE9VQ0hFRCgmcmV2LT5kaWZmb3B0LCBBTExPV19URVhUQ09OVikgfHwKKwkgICAgIURJRkZfT1BUX1RTVCgmcmV2LT5kaWZmb3B0LCBBTExPV19URVhUQ09OVikpCisJCXJldHVybiBzdHJlYW1fYmxvYl90b19mZCgxLCBzaGExLCBOVUxMLCAwKTsKKworCWlmIChnZXRfc2hhMV93aXRoX2NvbnRleHQob2JqX25hbWUsIDAsIHNoYTFjLCAmb2JqX2NvbnRleHQpKQorCQlkaWUoIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIiwgb2JqX25hbWUpOworCWlmICghb2JqX2NvbnRleHQucGF0aFswXSB8fAorCSAgICAhdGV4dGNvbnZfb2JqZWN0KG9ial9jb250ZXh0LnBhdGgsIG9ial9jb250ZXh0Lm1vZGUsIHNoYTFjLCAxLCAmYnVmLCAmc2l6ZSkpCisJCXJldHVybiBzdHJlYW1fYmxvYl90b19mZCgxLCBzaGExLCBOVUxMLCAwKTsKKworCWlmICghYnVmKQorCQlkaWUoImdpdCBzaG93ICVzOiBiYWQgZmlsZSIsIG9ial9uYW1lKTsKKworCXdyaXRlX29yX2RpZSgxLCBidWYsIHNpemUpOworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IHNob3dfdGFnX29iamVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBzdHJ1Y3QgcmV2X2luZm8gKnJldikKQEAgLTQ1Nyw3ICs0NzcsNyBAQAogCQlpbnQgbmV3X29mZnNldCA9IG9mZnNldCArIDE7CiAJCXdoaWxlIChuZXdfb2Zmc2V0IDwgc2l6ZSAmJiBidWZbbmV3X29mZnNldCsrXSAhPSAnXG4nKQogCQkJOyAvKiBkbyBub3RoaW5nICovCi0JCWlmICghcHJlZml4Y21wKGJ1ZiArIG9mZnNldCwgInRhZ2dlciAiKSkKKwkJaWYgKHN0YXJ0c193aXRoKGJ1ZiArIG9mZnNldCwgInRhZ2dlciAiKSkKIAkJCXNob3dfdGFnZ2VyKGJ1ZiArIG9mZnNldCArIDcsCiAJCQkJICAgIG5ld19vZmZzZXQgLSBvZmZzZXQgLSA3LCByZXYpOwogCQlvZmZzZXQgPSBuZXdfb2Zmc2V0OwpAQCAtNTAzLDcgKzUyMyw3IEBACiAJaW5pdF9ncmVwX2RlZmF1bHRzKCk7CiAJZ2l0X2NvbmZpZyhnaXRfbG9nX2NvbmZpZywgTlVMTCk7CiAKLQlpbml0X3BhdGhzcGVjKCZtYXRjaF9hbGwsIE5VTEwpOworCW1lbXNldCgmbWF0Y2hfYWxsLCAwLCBzaXplb2YobWF0Y2hfYWxsKSk7CiAJaW5pdF9yZXZpc2lvbnMoJnJldiwgcHJlZml4KTsKIAlyZXYuZGlmZiA9IDE7CiAJcmV2LmFsd2F5c19zaG93X2hlYWRlciA9IDE7CkBAIC01MjUsNyArNTQ1LDcgQEAKIAkJY29uc3QgY2hhciAqbmFtZSA9IG9iamVjdHNbaV0ubmFtZTsKIAkJc3dpdGNoIChvLT50eXBlKSB7CiAJCWNhc2UgT0JKX0JMT0I6Ci0JCQlyZXQgPSBzaG93X2Jsb2Jfb2JqZWN0KG8tPnNoYTEsIE5VTEwpOworCQkJcmV0ID0gc2hvd19ibG9iX29iamVjdChvLT5zaGExLCAmcmV2LCBuYW1lKTsKIAkJCWJyZWFrOwogCQljYXNlIE9CSl9UQUc6IHsKIAkJCXN0cnVjdCB0YWcgKnQgPSAoc3RydWN0IHRhZyAqKW87CkBAIC04NjIsNyArODgyLDcgQEAKIAlyZWYgPSByZXYtPmNtZGxpbmUucmV2W3Bvc2l0aXZlXS5uYW1lOwogCXRpcF9zaGExID0gcmV2LT5jbWRsaW5lLnJldltwb3NpdGl2ZV0uaXRlbS0+c2hhMTsKIAlpZiAoZHdpbV9yZWYocmVmLCBzdHJsZW4ocmVmKSwgYnJhbmNoX3NoYTEsICZmdWxsX3JlZikgJiYKLQkgICAgIXByZWZpeGNtcChmdWxsX3JlZiwgInJlZnMvaGVhZHMvIikgJiYKKwkgICAgc3RhcnRzX3dpdGgoZnVsbF9yZWYsICJyZWZzL2hlYWRzLyIpICYmCiAJICAgICFoYXNoY21wKHRpcF9zaGExLCBicmFuY2hfc2hhMSkpCiAJCWJyYW5jaCA9IHhzdHJkdXAoZnVsbF9yZWYgKyBzdHJsZW4oInJlZnMvaGVhZHMvIikpOwogCWZyZWUoZnVsbF9yZWYpOwpAQCAtMTE3OSwxMyArMTE5OSwxMyBAQAogCQl7IE9QVElPTl9DQUxMQkFDSywgJ2snLCAia2VlcC1zdWJqZWN0IiwgJnJldiwgTlVMTCwKIAkJCSAgICBOXygiZG9uJ3Qgc3RyaXAvYWRkIFtQQVRDSF0iKSwKIAkJCSAgICBQQVJTRV9PUFRfTk9BUkcgfCBQQVJTRV9PUFRfTk9ORUcsIGtlZXBfY2FsbGJhY2sgfSwKLQkJT1BUX0JPT0xFQU4oMCwgIm5vLWJpbmFyeSIsICZub19iaW5hcnlfZGlmZiwKLQkJCSAgICBOXygiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImlnbm9yZS1pZi1pbi11cHN0cmVhbSIsICZpZ25vcmVfaWZfaW5fdXBzdHJlYW0sCi0JCQkgICAgTl8oImRvbid0IGluY2x1ZGUgYSBwYXRjaCBtYXRjaGluZyBhIGNvbW1pdCB1cHN0cmVhbSIpKSwKLQkJeyBPUFRJT05fQk9PTEVBTiwgJ3AnLCAibm8tc3RhdCIsICZ1c2VfcGF0Y2hfZm9ybWF0LCBOVUxMLAorCQlPUFRfQk9PTCgwLCAibm8tYmluYXJ5IiwgJm5vX2JpbmFyeV9kaWZmLAorCQkJIE5fKCJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIikpLAorCQlPUFRfQk9PTCgwLCAiaWdub3JlLWlmLWluLXVwc3RyZWFtIiwgJmlnbm9yZV9pZl9pbl91cHN0cmVhbSwKKwkJCSBOXygiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIikpLAorCQl7IE9QVElPTl9TRVRfSU5ULCAncCcsICJuby1zdGF0IiwgJnVzZV9wYXRjaF9mb3JtYXQsIE5VTEwsCiAJCSAgTl8oInNob3cgcGF0Y2ggZm9ybWF0IGluc3RlYWQgb2YgZGVmYXVsdCAocGF0Y2ggKyBzdGF0KSIpLAotCQkgIFBBUlNFX09QVF9OT05FRyB8IFBBUlNFX09QVF9OT0FSRyB9LAorCQkgIFBBUlNFX09QVF9OT05FRyB8IFBBUlNFX09QVF9OT0FSRywgTlVMTCwgMX0sCiAJCU9QVF9HUk9VUChOXygiTWVzc2FnaW5nIikpLAogCQl7IE9QVElPTl9DQUxMQkFDSywgMCwgImFkZC1oZWFkZXIiLCBOVUxMLCBOXygiaGVhZGVyIiksCiAJCQkgICAgTl8oImFkZCBlbWFpbCBoZWFkZXIiKSwgMCwgaGVhZGVyX2NhbGxiYWNrIH0sCkBAIC0xMjEwLDggKzEyMzAsNyBAQAogCQkJICAgIFBBUlNFX09QVF9PUFRBUkcsIHRocmVhZF9jYWxsYmFjayB9LAogCQlPUFRfU1RSSU5HKDAsICJzaWduYXR1cmUiLCAmc2lnbmF0dXJlLCBOXygic2lnbmF0dXJlIiksCiAJCQkgICAgTl8oImFkZCBhIHNpZ25hdHVyZSIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgInF1aWV0IiwgJnF1aWV0LAotCQkJICAgIE5fKCJkb24ndCBwcmludCB0aGUgcGF0Y2ggZmlsZW5hbWVzIikpLAorCQlPUFRfX1FVSUVUKCZxdWlldCwgTl8oImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiKSksCiAJCU9QVF9FTkQoKQogCX07CiAKQEAgLTEzNjksNyArMTM4OCw3IEBACiAJCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwogCQkJY29uc3QgY2hhciAqcmVmOwogCQkJcmVmID0gcmVzb2x2ZV9yZWZfdW5zYWZlKCJIRUFEIiwgc2hhMSwgMSwgTlVMTCk7Ci0JCQlpZiAocmVmICYmICFwcmVmaXhjbXAocmVmLCAicmVmcy9oZWFkcy8iKSkKKwkJCWlmIChyZWYgJiYgc3RhcnRzX3dpdGgocmVmLCAicmVmcy9oZWFkcy8iKSkKIAkJCQlicmFuY2hfbmFtZSA9IHhzdHJkdXAocmVmICsgc3RybGVuKCJyZWZzL2hlYWRzLyIpKTsKIAkJCWVsc2UKIAkJCQlicmFuY2hfbmFtZSA9IHhzdHJkdXAoIiIpOyAvKiBubyBicmFuY2ggKi8KZGlmZiAtLWdpdCBhL2J1aWx0aW4vbHMtZmlsZXMuYyBiL2J1aWx0aW4vbHMtZmlsZXMuYwppbmRleCA4NTAwNDQ2Li5lMWNmNmQ4IDEwMDY0NAotLS0gYS9idWlsdGluL2xzLWZpbGVzLmMKKysrIGIvYnVpbHRpbi9scy1maWxlcy5jCkBAIC0xMyw2ICsxMyw3IEBACiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogI2luY2x1ZGUgInJlc29sdmUtdW5kby5oIgogI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCisjaW5jbHVkZSAicGF0aHNwZWMuaCIKIAogc3RhdGljIGludCBhYmJyZXY7CiBzdGF0aWMgaW50IHNob3dfZGVsZXRlZDsKQEAgLTMwLDcgKzMxLDcgQEAKIHN0YXRpYyBjb25zdCBjaGFyICpwcmVmaXg7CiBzdGF0aWMgaW50IG1heF9wcmVmaXhfbGVuOwogc3RhdGljIGludCBwcmVmaXhfbGVuOwotc3RhdGljIGNvbnN0IGNoYXIgKipwYXRoc3BlYzsKK3N0YXRpYyBzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiBzdGF0aWMgaW50IGVycm9yX3VubWF0Y2g7CiBzdGF0aWMgY2hhciAqcHNfbWF0Y2hlZDsKIHN0YXRpYyBjb25zdCBjaGFyICp3aXRoX3RyZWU7CkBAIC02Myw3ICs2NCw3IEBACiAJaWYgKGxlbiA+PSBlbnQtPmxlbikKIAkJZGllKCJnaXQgbHMtZmlsZXM6IGludGVybmFsIGVycm9yIC0gZGlyZWN0b3J5IGVudHJ5IG5vdCBzdXBlcnNldCBvZiBwcmVmaXgiKTsKIAotCWlmICghbWF0Y2hfcGF0aHNwZWMocGF0aHNwZWMsIGVudC0+bmFtZSwgZW50LT5sZW4sIGxlbiwgcHNfbWF0Y2hlZCkpCisJaWYgKCFtYXRjaF9wYXRoc3BlY19kZXB0aCgmcGF0aHNwZWMsIGVudC0+bmFtZSwgZW50LT5sZW4sIGxlbiwgcHNfbWF0Y2hlZCkpCiAJCXJldHVybjsKIAogCWZwdXRzKHRhZywgc3Rkb3V0KTsKQEAgLTEzOCw3ICsxMzksNyBAQAogCWlmIChsZW4gPj0gY2VfbmFtZWxlbihjZSkpCiAJCWRpZSgiZ2l0IGxzLWZpbGVzOiBpbnRlcm5hbCBlcnJvciAtIGNhY2hlIGVudHJ5IG5vdCBzdXBlcnNldCBvZiBwcmVmaXgiKTsKIAotCWlmICghbWF0Y2hfcGF0aHNwZWMocGF0aHNwZWMsIGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSwgbGVuLCBwc19tYXRjaGVkKSkKKwlpZiAoIW1hdGNoX3BhdGhzcGVjX2RlcHRoKCZwYXRoc3BlYywgY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpLCBsZW4sIHBzX21hdGNoZWQpKQogCQlyZXR1cm47CiAKIAlpZiAodGFnICYmICp0YWcgJiYgc2hvd192YWxpZF9iaXQgJiYKQEAgLTE5NCw3ICsxOTUsNyBAQAogCQlsZW4gPSBzdHJsZW4ocGF0aCk7CiAJCWlmIChsZW4gPCBtYXhfcHJlZml4X2xlbikKIAkJCWNvbnRpbnVlOyAvKiBvdXRzaWRlIG9mIHRoZSBwcmVmaXggKi8KLQkJaWYgKCFtYXRjaF9wYXRoc3BlYyhwYXRoc3BlYywgcGF0aCwgbGVuLCBtYXhfcHJlZml4X2xlbiwgcHNfbWF0Y2hlZCkpCisJCWlmICghbWF0Y2hfcGF0aHNwZWNfZGVwdGgoJnBhdGhzcGVjLCBwYXRoLCBsZW4sIG1heF9wcmVmaXhfbGVuLCBwc19tYXRjaGVkKSkKIAkJCWNvbnRpbnVlOyAvKiB1bmludGVyZXN0ZWQgKi8KIAkJZm9yIChpID0gMDsgaSA8IDM7IGkrKykgewogCQkJaWYgKCF1aS0+bW9kZVtpXSkKQEAgLTIyMSw3ICsyMjIsNyBAQAogCWlmIChzaG93X290aGVycyB8fCBzaG93X2tpbGxlZCkgewogCQlpZiAoIXNob3dfb3RoZXJzKQogCQkJZGlyLT5mbGFncyB8PSBESVJfQ09MTEVDVF9LSUxMRURfT05MWTsKLQkJZmlsbF9kaXJlY3RvcnkoZGlyLCBwYXRoc3BlYyk7CisJCWZpbGxfZGlyZWN0b3J5KGRpciwgJnBhdGhzcGVjKTsKIAkJaWYgKHNob3dfb3RoZXJzKQogCQkJc2hvd19vdGhlcl9maWxlcyhkaXIpOwogCQlpZiAoc2hvd19raWxsZWQpCkBAIC0yODksMjEgKzI5MCw2IEBACiAJYWN0aXZlX25yID0gbGFzdDsKIH0KIAotc3RhdGljIHZvaWQgc3RyaXBfdHJhaWxpbmdfc2xhc2hfZnJvbV9zdWJtb2R1bGVzKHZvaWQpCi17Ci0JY29uc3QgY2hhciAqKnA7Ci0KLQlmb3IgKHAgPSBwYXRoc3BlYzsgKnAgIT0gTlVMTDsgcCsrKSB7Ci0JCWludCBsZW4gPSBzdHJsZW4oKnApLCBwb3M7Ci0KLQkJaWYgKGxlbiA8IDEgfHwgKCpwKVtsZW4gLSAxXSAhPSAnLycpCi0JCQljb250aW51ZTsKLQkJcG9zID0gY2FjaGVfbmFtZV9wb3MoKnAsIGxlbiAtIDEpOwotCQlpZiAocG9zID49IDAgJiYgU19JU0dJVExJTksoYWN0aXZlX2NhY2hlW3Bvc10tPmNlX21vZGUpKQotCQkJKnAgPSB4c3RybmR1cCgqcCwgbGVuIC0gMSk7Ci0JfQotfQotCiAvKgogICogUmVhZCB0aGUgdHJlZSBzcGVjaWZpZWQgd2l0aCAtLXdpdGgtdHJlZSBvcHRpb24KICAqICh0eXBpY2FsbHksIEhFQUQpIGludG8gc3RhZ2UgIzEgYW5kIHRoZW4KQEAgLTMzNSwxMyArMzIxLDEyIEBACiAJfQogCiAJaWYgKHByZWZpeCkgewotCQlzdGF0aWMgY29uc3QgY2hhciAqKG1hdGNoYnVmWzJdKTsKLQkJbWF0Y2hidWZbMF0gPSBwcmVmaXg7Ci0JCW1hdGNoYnVmWzFdID0gTlVMTDsKLQkJaW5pdF9wYXRoc3BlYygmcGF0aHNwZWMsIG1hdGNoYnVmKTsKLQkJcGF0aHNwZWMuaXRlbXNbMF0ubm93aWxkY2FyZF9sZW4gPSBwYXRoc3BlYy5pdGVtc1swXS5sZW47CisJCXN0YXRpYyBjb25zdCBjaGFyICoobWF0Y2hidWZbMV0pOworCQltYXRjaGJ1ZlswXSA9IE5VTEw7CisJCXBhcnNlX3BhdGhzcGVjKCZwYXRoc3BlYywgUEFUSFNQRUNfQUxMX01BR0lDLAorCQkJICAgICAgIFBBVEhTUEVDX1BSRUZFUl9DV0QsIHByZWZpeCwgbWF0Y2hidWYpOwogCX0gZWxzZQotCQlpbml0X3BhdGhzcGVjKCZwYXRoc3BlYywgTlVMTCk7CisJCW1lbXNldCgmcGF0aHNwZWMsIDAsIHNpemVvZihwYXRoc3BlYykpOwogCWlmIChyZWFkX3RyZWUodHJlZSwgMSwgJnBhdGhzcGVjKSkKIAkJZGllKCJ1bmFibGUgdG8gcmVhZCB0cmVlIGVudHJpZXMgJXMiLCB0cmVlX25hbWUpOwogCkBAIC0zNjYsMTUgKzM1MSwxNiBAQAogCX0KIH0KIAotaW50IHJlcG9ydF9wYXRoX2Vycm9yKGNvbnN0IGNoYXIgKnBzX21hdGNoZWQsIGNvbnN0IGNoYXIgKipwYXRoc3BlYywgY29uc3QgY2hhciAqcHJlZml4KQoraW50IHJlcG9ydF9wYXRoX2Vycm9yKGNvbnN0IGNoYXIgKnBzX21hdGNoZWQsCisJCSAgICAgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCisJCSAgICAgIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKIAkvKgogCSAqIE1ha2Ugc3VyZSBhbGwgcGF0aHNwZWMgbWF0Y2hlZDsgb3RoZXJ3aXNlIGl0IGlzIGFuIGVycm9yLgogCSAqLwogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKLQljb25zdCBjaGFyICpuYW1lOwogCWludCBudW0sIGVycm9ycyA9IDA7Ci0JZm9yIChudW0gPSAwOyBwYXRoc3BlY1tudW1dOyBudW0rKykgeworCWZvciAobnVtID0gMDsgbnVtIDwgcGF0aHNwZWMtPm5yOyBudW0rKykgewogCQlpbnQgb3RoZXIsIGZvdW5kX2R1cDsKIAogCQlpZiAocHNfbWF0Y2hlZFtudW1dKQpAQCAtMzgyLDEzICszNjgsMTYgQEAKIAkJLyoKIAkJICogVGhlIGNhbGxlciBtaWdodCBoYXZlIGZlZCBpZGVudGljYWwgcGF0aHNwZWMKIAkJICogdHdpY2UuICBEbyBub3QgYmFyZiBvbiBzdWNoIGEgbWlzdGFrZS4KKwkJICogRklYTUU6IHBhcnNlX3BhdGhzcGVjIHNob3VsZCBoYXZlIGVsaW1pbmF0ZWQKKwkJICogZHVwbGljYXRlIHBhdGhzcGVjLgogCQkgKi8KIAkJZm9yIChmb3VuZF9kdXAgPSBvdGhlciA9IDA7Ci0JCSAgICAgIWZvdW5kX2R1cCAmJiBwYXRoc3BlY1tvdGhlcl07CisJCSAgICAgIWZvdW5kX2R1cCAmJiBvdGhlciA8IHBhdGhzcGVjLT5ucjsKIAkJICAgICBvdGhlcisrKSB7CiAJCQlpZiAob3RoZXIgPT0gbnVtIHx8ICFwc19tYXRjaGVkW290aGVyXSkKIAkJCQljb250aW51ZTsKLQkJCWlmICghc3RyY21wKHBhdGhzcGVjW290aGVyXSwgcGF0aHNwZWNbbnVtXSkpCisJCQlpZiAoIXN0cmNtcChwYXRoc3BlYy0+aXRlbXNbb3RoZXJdLm9yaWdpbmFsLAorCQkJCSAgICBwYXRoc3BlYy0+aXRlbXNbbnVtXS5vcmlnaW5hbCkpCiAJCQkJLyoKIAkJCQkgKiBPaywgd2UgaGF2ZSBhIG1hdGNoIGFscmVhZHkuCiAJCQkJICovCkBAIC0zOTcsOSArMzg2LDggQEAKIAkJaWYgKGZvdW5kX2R1cCkKIAkJCWNvbnRpbnVlOwogCi0JCW5hbWUgPSBxdW90ZV9wYXRoX3JlbGF0aXZlKHBhdGhzcGVjW251bV0sIHByZWZpeCwgJnNiKTsKIAkJZXJyb3IoInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZShzKSBrbm93biB0byBnaXQuIiwKLQkJICAgICAgbmFtZSk7CisJCSAgICAgIHBhdGhzcGVjLT5pdGVtc1tudW1dLm9yaWdpbmFsKTsKIAkJZXJyb3JzKys7CiAJfQogCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CkBAIC00NjMsMjQgKzQ1MSwyNCBAQAogCQl7IE9QVElPTl9DQUxMQkFDSywgJ3onLCBOVUxMLCBOVUxMLCBOVUxMLAogCQkJTl8oInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIiksCiAJCQlQQVJTRV9PUFRfTk9BUkcsIG9wdGlvbl9wYXJzZV96IH0sCi0JCU9QVF9CT09MRUFOKCd0JywgTlVMTCwgJnNob3dfdGFnLAorCQlPUFRfQk9PTCgndCcsIE5VTEwsICZzaG93X3RhZywKIAkJCU5fKCJpZGVudGlmeSB0aGUgZmlsZSBzdGF0dXMgd2l0aCB0YWdzIikpLAotCQlPUFRfQk9PTEVBTigndicsIE5VTEwsICZzaG93X3ZhbGlkX2JpdCwKKwkJT1BUX0JPT0woJ3YnLCBOVUxMLCAmc2hvd192YWxpZF9iaXQsCiAJCQlOXygidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiKSksCi0JCU9QVF9CT09MRUFOKCdjJywgImNhY2hlZCIsICZzaG93X2NhY2hlZCwKKwkJT1BUX0JPT0woJ2MnLCAiY2FjaGVkIiwgJnNob3dfY2FjaGVkLAogCQkJTl8oInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIikpLAotCQlPUFRfQk9PTEVBTignZCcsICJkZWxldGVkIiwgJnNob3dfZGVsZXRlZCwKKwkJT1BUX0JPT0woJ2QnLCAiZGVsZXRlZCIsICZzaG93X2RlbGV0ZWQsCiAJCQlOXygic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiKSksCi0JCU9QVF9CT09MRUFOKCdtJywgIm1vZGlmaWVkIiwgJnNob3dfbW9kaWZpZWQsCisJCU9QVF9CT09MKCdtJywgIm1vZGlmaWVkIiwgJnNob3dfbW9kaWZpZWQsCiAJCQlOXygic2hvdyBtb2RpZmllZCBmaWxlcyBpbiB0aGUgb3V0cHV0IikpLAotCQlPUFRfQk9PTEVBTignbycsICJvdGhlcnMiLCAmc2hvd19vdGhlcnMsCisJCU9QVF9CT09MKCdvJywgIm90aGVycyIsICZzaG93X290aGVycywKIAkJCU5fKCJzaG93IG90aGVyIGZpbGVzIGluIHRoZSBvdXRwdXQiKSksCiAJCU9QVF9CSVQoJ2knLCAiaWdub3JlZCIsICZkaXIuZmxhZ3MsCiAJCQlOXygic2hvdyBpZ25vcmVkIGZpbGVzIGluIHRoZSBvdXRwdXQiKSwKIAkJCURJUl9TSE9XX0lHTk9SRUQpLAotCQlPUFRfQk9PTEVBTigncycsICJzdGFnZSIsICZzaG93X3N0YWdlLAorCQlPUFRfQk9PTCgncycsICJzdGFnZSIsICZzaG93X3N0YWdlLAogCQkJTl8oInNob3cgc3RhZ2VkIGNvbnRlbnRzJyBvYmplY3QgbmFtZSBpbiB0aGUgb3V0cHV0IikpLAotCQlPUFRfQk9PTEVBTignaycsICJraWxsZWQiLCAmc2hvd19raWxsZWQsCisJCU9QVF9CT09MKCdrJywgImtpbGxlZCIsICZzaG93X2tpbGxlZCwKIAkJCU5fKCJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIikpLAogCQlPUFRfQklUKDAsICJkaXJlY3RvcnkiLCAmZGlyLmZsYWdzLAogCQkJTl8oInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZSBvbmx5IiksCkBAIC00ODgsOSArNDc2LDkgQEAKIAkJT1BUX05FR0JJVCgwLCAiZW1wdHktZGlyZWN0b3J5IiwgJmRpci5mbGFncywKIAkJCU5fKCJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIiksCiAJCQlESVJfSElERV9FTVBUWV9ESVJFQ1RPUklFUyksCi0JCU9QVF9CT09MRUFOKCd1JywgInVubWVyZ2VkIiwgJnNob3dfdW5tZXJnZWQsCisJCU9QVF9CT09MKCd1JywgInVubWVyZ2VkIiwgJnNob3dfdW5tZXJnZWQsCiAJCQlOXygic2hvdyB1bm1lcmdlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IikpLAotCQlPUFRfQk9PTEVBTigwLCAicmVzb2x2ZS11bmRvIiwgJnNob3dfcmVzb2x2ZV91bmRvLAorCQlPUFRfQk9PTCgwLCAicmVzb2x2ZS11bmRvIiwgJnNob3dfcmVzb2x2ZV91bmRvLAogCQkJICAgIE5fKCJzaG93IHJlc29sdmUtdW5kbyBpbmZvcm1hdGlvbiIpKSwKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssICd4JywgImV4Y2x1ZGUiLCAmZXhjbHVkZV9saXN0LCBOXygicGF0dGVybiIpLAogCQkJTl8oInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIpLApAQCAtNTA2LDEyICs0OTQsMTIgQEAKIAkJeyBPUFRJT05fU0VUX0lOVCwgMCwgImZ1bGwtbmFtZSIsICZwcmVmaXhfbGVuLCBOVUxMLAogCQkJTl8oIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IiksCiAJCQlQQVJTRV9PUFRfTk9BUkcgfCBQQVJTRV9PUFRfTk9ORUcsIE5VTEwgfSwKLQkJT1BUX0JPT0xFQU4oMCwgImVycm9yLXVubWF0Y2giLCAmZXJyb3JfdW5tYXRjaCwKKwkJT1BUX0JPT0woMCwgImVycm9yLXVubWF0Y2giLCAmZXJyb3JfdW5tYXRjaCwKIAkJCU5fKCJpZiBhbnkgPGZpbGU+IGlzIG5vdCBpbiB0aGUgaW5kZXgsIHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IiKSksCiAJCU9QVF9TVFJJTkcoMCwgIndpdGgtdHJlZSIsICZ3aXRoX3RyZWUsIE5fKCJ0cmVlLWlzaCIpLAogCQkJTl8oInByZXRlbmQgdGhhdCBwYXRocyByZW1vdmVkIHNpbmNlIDx0cmVlLWlzaD4gYXJlIHN0aWxsIHByZXNlbnQiKSksCiAJCU9QVF9fQUJCUkVWKCZhYmJyZXYpLAotCQlPUFRfQk9PTEVBTigwLCAiZGVidWciLCAmZGVidWdfbW9kZSwgTl8oInNob3cgZGVidWdnaW5nIGRhdGEiKSksCisJCU9QVF9CT09MKDAsICJkZWJ1ZyIsICZkZWJ1Z19tb2RlLCBOXygic2hvdyBkZWJ1Z2dpbmcgZGF0YSIpKSwKIAkJT1BUX0VORCgpCiAJfTsKIApAQCAtNTU3LDIzICs1NDUsMTggQEAKIAlpZiAocmVxdWlyZV93b3JrX3RyZWUgJiYgIWlzX2luc2lkZV93b3JrX3RyZWUoKSkKIAkJc2V0dXBfd29ya190cmVlKCk7CiAKLQlwYXRoc3BlYyA9IGdldF9wYXRoc3BlYyhwcmVmaXgsIGFyZ3YpOwotCi0JLyogYmUgbmljZSB3aXRoIHN1Ym1vZHVsZSBwYXRocyBlbmRpbmcgaW4gYSBzbGFzaCAqLwotCWlmIChwYXRoc3BlYykKLQkJc3RyaXBfdHJhaWxpbmdfc2xhc2hfZnJvbV9zdWJtb2R1bGVzKCk7CisJcGFyc2VfcGF0aHNwZWMoJnBhdGhzcGVjLCAwLAorCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0NXRCB8CisJCSAgICAgICBQQVRIU1BFQ19TVFJJUF9TVUJNT0RVTEVfU0xBU0hfQ0hFQVAsCisJCSAgICAgICBwcmVmaXgsIGFyZ3YpOwogCiAJLyogRmluZCBjb21tb24gcHJlZml4IGZvciBhbGwgcGF0aHNwZWMncyAqLwotCW1heF9wcmVmaXggPSBjb21tb25fcHJlZml4KHBhdGhzcGVjKTsKKwltYXhfcHJlZml4ID0gY29tbW9uX3ByZWZpeCgmcGF0aHNwZWMpOwogCW1heF9wcmVmaXhfbGVuID0gbWF4X3ByZWZpeCA/IHN0cmxlbihtYXhfcHJlZml4KSA6IDA7CiAKIAkvKiBUcmVhdCB1bm1hdGNoaW5nIHBhdGhzcGVjIGVsZW1lbnRzIGFzIGVycm9ycyAqLwotCWlmIChwYXRoc3BlYyAmJiBlcnJvcl91bm1hdGNoKSB7Ci0JCWludCBudW07Ci0JCWZvciAobnVtID0gMDsgcGF0aHNwZWNbbnVtXTsgbnVtKyspCi0JCQk7Ci0JCXBzX21hdGNoZWQgPSB4Y2FsbG9jKDEsIG51bSk7Ci0JfQorCWlmIChwYXRoc3BlYy5uciAmJiBlcnJvcl91bm1hdGNoKQorCQlwc19tYXRjaGVkID0geGNhbGxvYygxLCBwYXRoc3BlYy5ucik7CiAKIAlpZiAoKGRpci5mbGFncyAmIERJUl9TSE9XX0lHTk9SRUQpICYmICFleGNfZ2l2ZW4pCiAJCWRpZSgibHMtZmlsZXMgLS1pZ25vcmVkIG5lZWRzIHNvbWUgZXhjbHVkZSBwYXR0ZXJuIik7CkBAIC02MDAsNyArNTgzLDcgQEAKIAogCWlmIChwc19tYXRjaGVkKSB7CiAJCWludCBiYWQ7Ci0JCWJhZCA9IHJlcG9ydF9wYXRoX2Vycm9yKHBzX21hdGNoZWQsIHBhdGhzcGVjLCBwcmVmaXgpOworCQliYWQgPSByZXBvcnRfcGF0aF9lcnJvcihwc19tYXRjaGVkLCAmcGF0aHNwZWMsIHByZWZpeCk7CiAJCWlmIChiYWQpCiAJCQlmcHJpbnRmKHN0ZGVyciwgIkRpZCB5b3UgZm9yZ2V0IHRvICdnaXQgYWRkJz9cbiIpOwogCmRpZmYgLS1naXQgYS9idWlsdGluL2xzLXJlbW90ZS5jIGIvYnVpbHRpbi9scy1yZW1vdGUuYwppbmRleCAyNWU4M2NmLi4zOWU1MTQ0IDEwMDY0NAotLS0gYS9idWlsdGluL2xzLXJlbW90ZS5jCisrKyBiL2J1aWx0aW4vbHMtcmVtb3RlLmMKQEAgLTUwLDExICs1MCwxMSBAQAogCQljb25zdCBjaGFyICphcmcgPSBhcmd2W2ldOwogCiAJCWlmICgqYXJnID09ICctJykgewotCQkJaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS11cGxvYWQtcGFjaz0iKSkgeworCQkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tdXBsb2FkLXBhY2s9IikpIHsKIAkJCQl1cGxvYWRwYWNrID0gYXJnICsgMTQ7CiAJCQkJY29udGludWU7CiAJCQl9Ci0JCQlpZiAoIXByZWZpeGNtcChhcmcsICItLWV4ZWM9IikpIHsKKwkJCWlmIChzdGFydHNfd2l0aChhcmcsICItLWV4ZWM9IikpIHsKIAkJCQl1cGxvYWRwYWNrID0gYXJnICsgNzsKIAkJCQljb250aW51ZTsKIAkJCX0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vbHMtdHJlZS5jIGIvYnVpbHRpbi9scy10cmVlLmMKaW5kZXggZmI3NmUzOC4uNjVlYzkzMSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9scy10cmVlLmMKKysrIGIvYnVpbHRpbi9scy10cmVlLmMKQEAgLTEwLDYgKzEwLDcgQEAKICNpbmNsdWRlICJxdW90ZS5oIgogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCisjaW5jbHVkZSAicGF0aHNwZWMuaCIKIAogc3RhdGljIGludCBsaW5lX3Rlcm1pbmF0aW9uID0gJ1xuJzsKICNkZWZpbmUgTFNfUkVDVVJTSVZFIDEKQEAgLTM1LDcgKzM2LDcgQEAKIAlpZiAobHNfb3B0aW9ucyAmIExTX1JFQ1VSU0lWRSkKIAkJcmV0dXJuIDE7CiAKLQlzID0gcGF0aHNwZWMucmF3OworCXMgPSBwYXRoc3BlYy5fcmF3OwogCWlmICghcykKIAkJcmV0dXJuIDA7CiAKQEAgLTEzOCw5ICsxMzksOSBAQAogCQkJTFNfTkFNRV9PTkxZKSwKIAkJT1BUX1NFVF9JTlQoMCwgImZ1bGwtbmFtZSIsICZjaG9tcF9wcmVmaXgsCiAJCQkgICAgTl8oInVzZSBmdWxsIHBhdGggbmFtZXMiKSwgMCksCi0JCU9QVF9CT09MRUFOKDAsICJmdWxsLXRyZWUiLCAmZnVsbF90cmVlLAotCQkJICAgIE5fKCJsaXN0IGVudGlyZSB0cmVlOyBub3QganVzdCBjdXJyZW50IGRpcmVjdG9yeSAiCi0JCQkgICAgICAgIihpbXBsaWVzIC0tZnVsbC1uYW1lKSIpKSwKKwkJT1BUX0JPT0woMCwgImZ1bGwtdHJlZSIsICZmdWxsX3RyZWUsCisJCQkgTl8oImxpc3QgZW50aXJlIHRyZWU7IG5vdCBqdXN0IGN1cnJlbnQgZGlyZWN0b3J5ICIKKwkJCSAgICAiKGltcGxpZXMgLS1mdWxsLW5hbWUpIikpLAogCQlPUFRfX0FCQlJFVigmYWJicmV2KSwKIAkJT1BUX0VORCgpCiAJfTsKQEAgLTE2Niw3ICsxNjcsMTUgQEAKIAlpZiAoZ2V0X3NoYTEoYXJndlswXSwgc2hhMSkpCiAJCWRpZSgiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiLCBhcmd2WzBdKTsKIAotCWluaXRfcGF0aHNwZWMoJnBhdGhzcGVjLCBnZXRfcGF0aHNwZWMocHJlZml4LCBhcmd2ICsgMSkpOworCS8qCisJICogc2hvd19yZWN1cnNpdmUoKSByb2xscyBpdHMgb3duIG1hdGNoaW5nIGNvZGUgYW5kIGlzCisJICogZ2VuZXJhbGx5IGlnbm9yYW50IG9mICdzdHJ1Y3QgcGF0aHNwZWMnLiBUaGUgbWFnaWMgbWFzaworCSAqIGNhbm5vdCBiZSBsaWZ0ZWQgdW50aWwgaXQgaXMgY29udmVydGVkIHRvIHVzZQorCSAqIG1hdGNoX3BhdGhzcGVjX2RlcHRoKCkgb3IgdHJlZV9lbnRyeV9pbnRlcmVzdGluZygpCisJICovCisJcGFyc2VfcGF0aHNwZWMoJnBhdGhzcGVjLCBQQVRIU1BFQ19HTE9CIHwgUEFUSFNQRUNfSUNBU0UsCisJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfQ1dELAorCQkgICAgICAgcHJlZml4LCBhcmd2ICsgMSk7CiAJZm9yIChpID0gMDsgaSA8IHBhdGhzcGVjLm5yOyBpKyspCiAJCXBhdGhzcGVjLml0ZW1zW2ldLm5vd2lsZGNhcmRfbGVuID0gcGF0aHNwZWMuaXRlbXNbaV0ubGVuOwogCXBhdGhzcGVjLmhhc193aWxkY2FyZCA9IDA7CmRpZmYgLS1naXQgYS9idWlsdGluL21haWxpbmZvLmMgYi9idWlsdGluL21haWxpbmZvLmMKaW5kZXggMjRhNzcyZC4uMmMzY2Q4ZSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9tYWlsaW5mby5jCisrKyBiL2J1aWx0aW4vbWFpbGluZm8uYwpAQCAtMzI4LDExICszMjgsMTEgQEAKIAl9CiAKIAkvKiBmb3IgaW5ib2R5IHN0dWZmICovCi0JaWYgKCFwcmVmaXhjbXAobGluZS0+YnVmLCAiPkZyb20iKSAmJiBpc3NwYWNlKGxpbmUtPmJ1Zls1XSkpIHsKKwlpZiAoc3RhcnRzX3dpdGgobGluZS0+YnVmLCAiPkZyb20iKSAmJiBpc3NwYWNlKGxpbmUtPmJ1Zls1XSkpIHsKIAkJcmV0ID0gMTsgLyogU2hvdWxkIHRoaXMgcmV0dXJuIDA/ICovCiAJCWdvdG8gY2hlY2tfaGVhZGVyX291dDsKIAl9Ci0JaWYgKCFwcmVmaXhjbXAobGluZS0+YnVmLCAiW1BBVENIXSIpICYmIGlzc3BhY2UobGluZS0+YnVmWzddKSkgeworCWlmIChzdGFydHNfd2l0aChsaW5lLT5idWYsICJbUEFUQ0hdIikgJiYgaXNzcGFjZShsaW5lLT5idWZbN10pKSB7CiAJCWZvciAoaSA9IDA7IGhlYWRlcltpXTsgaSsrKSB7CiAJCQlpZiAoIW1lbWNtcCgiU3ViamVjdCIsIGhlYWRlcltpXSwgNykpIHsKIAkJCQloYW5kbGVfaGVhZGVyKCZoZHJfZGF0YVtpXSwgbGluZSk7CkBAIC0zNjEsNyArMzYxLDcgQEAKIAljaGFyICpjcCA9IGxpbmUtPmJ1ZjsKIAogCS8qIENvdW50IG1ib3ggRnJvbSBoZWFkZXJzIGFzIGhlYWRlcnMgKi8KLQlpZiAoIXByZWZpeGNtcChjcCwgIkZyb20gIikgfHwgIXByZWZpeGNtcChjcCwgIj5Gcm9tICIpKQorCWlmIChzdGFydHNfd2l0aChjcCwgIkZyb20gIikgfHwgc3RhcnRzX3dpdGgoY3AsICI+RnJvbSAiKSkKIAkJcmV0dXJuIDE7CiAKIAl3aGlsZSAoKGNoID0gKmNwKyspKSB7CkBAIC02NzEsMTEgKzY3MSwxMSBAQAogCXNpemVfdCBpOwogCiAJLyogQmVnaW5uaW5nIG9mIGEgImRpZmYgLSIgaGVhZGVyPyAqLwotCWlmICghcHJlZml4Y21wKGxpbmUtPmJ1ZiwgImRpZmYgLSIpKQorCWlmIChzdGFydHNfd2l0aChsaW5lLT5idWYsICJkaWZmIC0iKSkKIAkJcmV0dXJuIDE7CiAKIAkvKiBDVlMgIkluZGV4OiAiIGxpbmU/ICovCi0JaWYgKCFwcmVmaXhjbXAobGluZS0+YnVmLCAiSW5kZXg6ICIpKQorCWlmIChzdGFydHNfd2l0aChsaW5lLT5idWYsICJJbmRleDogIikpCiAJCXJldHVybiAxOwogCiAJLyoKQEAgLTY4NSw3ICs2ODUsNyBAQAogCWlmIChsaW5lLT5sZW4gPCA0KQogCQlyZXR1cm4gMDsKIAotCWlmICghcHJlZml4Y21wKGxpbmUtPmJ1ZiwgIi0tLSIpKSB7CisJaWYgKHN0YXJ0c193aXRoKGxpbmUtPmJ1ZiwgIi0tLSIpKSB7CiAJCS8qIHNwYWNlIGZvbGxvd2VkIGJ5IGEgZmlsZW5hbWU/ICovCiAJCWlmIChsaW5lLT5idWZbM10gPT0gJyAnICYmICFpc3NwYWNlKGxpbmUtPmJ1Zls0XSkpCiAJCQlyZXR1cm4gMTsKQEAgLTk4Niw3ICs5ODYsNyBAQAogCiBzdGF0aWMgaW50IGdpdF9tYWlsaW5mb19jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqdW51c2VkKQogewotCWlmIChwcmVmaXhjbXAodmFyLCAibWFpbGluZm8uIikpCisJaWYgKCFzdGFydHNfd2l0aCh2YXIsICJtYWlsaW5mby4iKSkKIAkJcmV0dXJuIGdpdF9kZWZhdWx0X2NvbmZpZyh2YXIsIHZhbHVlLCB1bnVzZWQpOwogCWlmICghc3RyY21wKHZhciwgIm1haWxpbmZvLnNjaXNzb3JzIikpIHsKIAkJdXNlX3NjaXNzb3JzID0gZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpOwpAQCAtMTAyMCw3ICsxMDIwLDcgQEAKIAkJCW1ldGFpbmZvX2NoYXJzZXQgPSBkZWZfY2hhcnNldDsKIAkJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzFdLCAiLW4iKSkKIAkJCW1ldGFpbmZvX2NoYXJzZXQgPSBOVUxMOwotCQllbHNlIGlmICghcHJlZml4Y21wKGFyZ3ZbMV0sICItLWVuY29kaW5nPSIpKQorCQllbHNlIGlmIChzdGFydHNfd2l0aChhcmd2WzFdLCAiLS1lbmNvZGluZz0iKSkKIAkJCW1ldGFpbmZvX2NoYXJzZXQgPSBhcmd2WzFdICsgMTE7CiAJCWVsc2UgaWYgKCFzdHJjbXAoYXJndlsxXSwgIi0tc2Npc3NvcnMiKSkKIAkJCXVzZV9zY2lzc29ycyA9IDE7CmRpZmYgLS1naXQgYS9idWlsdGluL21lcmdlLWJhc2UuYyBiL2J1aWx0aW4vbWVyZ2UtYmFzZS5jCmluZGV4IDBjNGNkMmYuLjBlY2RlOGQgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vbWVyZ2UtYmFzZS5jCisrKyBiL2J1aWx0aW4vbWVyZ2UtYmFzZS5jCkBAIC0xLDYgKzEsOSBAQAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgImNvbW1pdC5oIgorI2luY2x1ZGUgInJlZnMuaCIKKyNpbmNsdWRlICJkaWZmLmgiCisjaW5jbHVkZSAicmV2aXNpb24uaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCiAKIHN0YXRpYyBpbnQgc2hvd19tZXJnZV9iYXNlKHN0cnVjdCBjb21taXQgKipyZXYsIGludCByZXZfbnIsIGludCBzaG93X2FsbCkKQEAgLTI3LDYgKzMwLDcgQEAKIAlOXygiZ2l0IG1lcmdlLWJhc2UgWy1hfC0tYWxsXSAtLW9jdG9wdXMgPGNvbW1pdD4uLi4iKSwKIAlOXygiZ2l0IG1lcmdlLWJhc2UgLS1pbmRlcGVuZGVudCA8Y29tbWl0Pi4uLiIpLAogCU5fKCJnaXQgbWVyZ2UtYmFzZSAtLWlzLWFuY2VzdG9yIDxjb21taXQ+IDxjb21taXQ+IiksCisJTl8oImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmPiBbPGNvbW1pdD5dIiksCiAJTlVMTAogfTsKIApAQCAtNDQsMTkgKzQ4LDM2IEBACiAJcmV0dXJuIHI7CiB9CiAKLXN0YXRpYyBpbnQgaGFuZGxlX29jdG9wdXMoaW50IGNvdW50LCBjb25zdCBjaGFyICoqYXJncywgaW50IHJlZHVjZSwgaW50IHNob3dfYWxsKQorc3RhdGljIGludCBoYW5kbGVfaW5kZXBlbmRlbnQoaW50IGNvdW50LCBjb25zdCBjaGFyICoqYXJncykKIHsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKnJldnMgPSBOVUxMOwogCXN0cnVjdCBjb21taXRfbGlzdCAqcmVzdWx0OwogCWludCBpOwogCi0JaWYgKHJlZHVjZSkKLQkJc2hvd19hbGwgPSAxOworCWZvciAoaSA9IGNvdW50IC0gMTsgaSA+PSAwOyBpLS0pCisJCWNvbW1pdF9saXN0X2luc2VydChnZXRfY29tbWl0X3JlZmVyZW5jZShhcmdzW2ldKSwgJnJldnMpOworCisJcmVzdWx0ID0gcmVkdWNlX2hlYWRzKHJldnMpOworCWlmICghcmVzdWx0KQorCQlyZXR1cm4gMTsKKworCXdoaWxlIChyZXN1bHQpIHsKKwkJcHJpbnRmKCIlc1xuIiwgc2hhMV90b19oZXgocmVzdWx0LT5pdGVtLT5vYmplY3Quc2hhMSkpOworCQlyZXN1bHQgPSByZXN1bHQtPm5leHQ7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhbmRsZV9vY3RvcHVzKGludCBjb3VudCwgY29uc3QgY2hhciAqKmFyZ3MsIGludCBzaG93X2FsbCkKK3sKKwlzdHJ1Y3QgY29tbWl0X2xpc3QgKnJldnMgPSBOVUxMOworCXN0cnVjdCBjb21taXRfbGlzdCAqcmVzdWx0OworCWludCBpOwogCiAJZm9yIChpID0gY291bnQgLSAxOyBpID49IDA7IGktLSkKIAkJY29tbWl0X2xpc3RfaW5zZXJ0KGdldF9jb21taXRfcmVmZXJlbmNlKGFyZ3NbaV0pLCAmcmV2cyk7CiAKLQlyZXN1bHQgPSByZWR1Y2UgPyByZWR1Y2VfaGVhZHMocmV2cykgOiBnZXRfb2N0b3B1c19tZXJnZV9iYXNlcyhyZXZzKTsKKwlyZXN1bHQgPSByZWR1Y2VfaGVhZHMoZ2V0X29jdG9wdXNfbWVyZ2VfYmFzZXMocmV2cykpOwogCiAJaWYgKCFyZXN1bHQpCiAJCXJldHVybiAxOwpAQCAtODUsMzcgKzEwNiwxNTEgQEAKIAkJcmV0dXJuIDE7CiB9CiAKK3N0cnVjdCByZXZfY29sbGVjdCB7CisJc3RydWN0IGNvbW1pdCAqKmNvbW1pdDsKKwlpbnQgbnI7CisJaW50IGFsbG9jOworCXVuc2lnbmVkIGludCBpbml0aWFsIDogMTsKK307CisKK3N0YXRpYyB2b2lkIGFkZF9vbmVfY29tbWl0KHVuc2lnbmVkIGNoYXIgKnNoYTEsIHN0cnVjdCByZXZfY29sbGVjdCAqcmV2cykKK3sKKwlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CisKKwlpZiAoaXNfbnVsbF9zaGExKHNoYTEpKQorCQlyZXR1cm47CisKKwljb21taXQgPSBsb29rdXBfY29tbWl0KHNoYTEpOworCWlmICghY29tbWl0IHx8CisJICAgIChjb21taXQtPm9iamVjdC5mbGFncyAmIFRNUF9NQVJLKSB8fAorCSAgICBwYXJzZV9jb21taXQoY29tbWl0KSkKKwkJcmV0dXJuOworCisJQUxMT0NfR1JPVyhyZXZzLT5jb21taXQsIHJldnMtPm5yICsgMSwgcmV2cy0+YWxsb2MpOworCXJldnMtPmNvbW1pdFtyZXZzLT5ucisrXSA9IGNvbW1pdDsKKwljb21taXQtPm9iamVjdC5mbGFncyB8PSBUTVBfTUFSSzsKK30KKworc3RhdGljIGludCBjb2xsZWN0X29uZV9yZWZsb2dfZW50KHVuc2lnbmVkIGNoYXIgKm9zaGExLCB1bnNpZ25lZCBjaGFyICpuc2hhMSwKKwkJCQkgIGNvbnN0IGNoYXIgKmlkZW50LCB1bnNpZ25lZCBsb25nIHRpbWVzdGFtcCwKKwkJCQkgIGludCB0eiwgY29uc3QgY2hhciAqbWVzc2FnZSwgdm9pZCAqY2JkYXRhKQoreworCXN0cnVjdCByZXZfY29sbGVjdCAqcmV2cyA9IGNiZGF0YTsKKworCWlmIChyZXZzLT5pbml0aWFsKSB7CisJCXJldnMtPmluaXRpYWwgPSAwOworCQlhZGRfb25lX2NvbW1pdChvc2hhMSwgcmV2cyk7CisJfQorCWFkZF9vbmVfY29tbWl0KG5zaGExLCByZXZzKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYW5kbGVfZm9ya19wb2ludChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwljaGFyICpyZWZuYW1lOworCWNvbnN0IGNoYXIgKmNvbW1pdG5hbWU7CisJc3RydWN0IHJldl9jb2xsZWN0IHJldnM7CisJc3RydWN0IGNvbW1pdCAqZGVyaXZlZDsKKwlzdHJ1Y3QgY29tbWl0X2xpc3QgKmJhc2VzOworCWludCBpLCByZXQgPSAwOworCisJc3dpdGNoIChkd2ltX3JlZihhcmd2WzBdLCBzdHJsZW4oYXJndlswXSksIHNoYTEsICZyZWZuYW1lKSkgeworCWNhc2UgMDoKKwkJZGllKCJObyBzdWNoIHJlZjogJyVzJyIsIGFyZ3ZbMF0pOworCWNhc2UgMToKKwkJYnJlYWs7IC8qIGdvb2QgKi8KKwlkZWZhdWx0OgorCQlkaWUoIkFtYmlndW91cyByZWZuYW1lOiAnJXMnIiwgYXJndlswXSk7CisJfQorCisJY29tbWl0bmFtZSA9IChhcmdjID09IDIpID8gYXJndlsxXSA6ICJIRUFEIjsKKwlpZiAoZ2V0X3NoYTEoY29tbWl0bmFtZSwgc2hhMSkpCisJCWRpZSgiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcyciLCBjb21taXRuYW1lKTsKKworCWRlcml2ZWQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShzaGExKTsKKwltZW1zZXQoJnJldnMsIDAsIHNpemVvZihyZXZzKSk7CisJcmV2cy5pbml0aWFsID0gMTsKKwlmb3JfZWFjaF9yZWZsb2dfZW50KHJlZm5hbWUsIGNvbGxlY3Rfb25lX3JlZmxvZ19lbnQsICZyZXZzKTsKKworCWZvciAoaSA9IDA7IGkgPCByZXZzLm5yOyBpKyspCisJCXJldnMuY29tbWl0W2ldLT5vYmplY3QuZmxhZ3MgJj0gflRNUF9NQVJLOworCisJYmFzZXMgPSBnZXRfbWVyZ2VfYmFzZXNfbWFueShkZXJpdmVkLCByZXZzLm5yLCByZXZzLmNvbW1pdCwgMCk7CisKKwkvKgorCSAqIFRoZXJlIHNob3VsZCBiZSBvbmUgYW5kIG9ubHkgb25lIG1lcmdlIGJhc2UsIHdoZW4gd2UgZm91bmQKKwkgKiBhIGNvbW1vbiBhbmNlc3RvciBhbW9uZyByZWZsb2cgZW50cmllcy4KKwkgKi8KKwlpZiAoIWJhc2VzIHx8IGJhc2VzLT5uZXh0KSB7CisJCXJldCA9IDE7CisJCWdvdG8gY2xlYW51cF9yZXR1cm47CisJfQorCisJLyogQW5kIHRoZSBmb3VuZCBvbmUgbXVzdCBiZSBvbmUgb2YgdGhlIHJlZmxvZyBlbnRyaWVzICovCisJZm9yIChpID0gMDsgaSA8IHJldnMubnI7IGkrKykKKwkJaWYgKCZiYXNlcy0+aXRlbS0+b2JqZWN0ID09ICZyZXZzLmNvbW1pdFtpXS0+b2JqZWN0KQorCQkJYnJlYWs7IC8qIGZvdW5kICovCisJaWYgKHJldnMubnIgPD0gaSkgeworCQlyZXQgPSAxOyAvKiBub3QgZm91bmQgKi8KKwkJZ290byBjbGVhbnVwX3JldHVybjsKKwl9CisKKwlwcmludGYoIiVzXG4iLCBzaGExX3RvX2hleChiYXNlcy0+aXRlbS0+b2JqZWN0LnNoYTEpKTsKKworY2xlYW51cF9yZXR1cm46CisJZnJlZV9jb21taXRfbGlzdChiYXNlcyk7CisJcmV0dXJuIHJldDsKK30KKwogaW50IGNtZF9tZXJnZV9iYXNlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCXN0cnVjdCBjb21taXQgKipyZXY7CiAJaW50IHJldl9uciA9IDA7CiAJaW50IHNob3dfYWxsID0gMDsKLQlpbnQgb2N0b3B1cyA9IDA7Ci0JaW50IHJlZHVjZSA9IDA7Ci0JaW50IGlzX2FuY2VzdG9yID0gMDsKKwlpbnQgY21kbW9kZSA9IDA7CiAKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKLQkJT1BUX0JPT0xFQU4oJ2EnLCAiYWxsIiwgJnNob3dfYWxsLCBOXygib3V0cHV0IGFsbCBjb21tb24gYW5jZXN0b3JzIikpLAotCQlPUFRfQk9PTEVBTigwLCAib2N0b3B1cyIsICZvY3RvcHVzLCBOXygiZmluZCBhbmNlc3RvcnMgZm9yIGEgc2luZ2xlIG4td2F5IG1lcmdlIikpLAotCQlPUFRfQk9PTEVBTigwLCAiaW5kZXBlbmRlbnQiLCAmcmVkdWNlLCBOXygibGlzdCByZXZzIG5vdCByZWFjaGFibGUgZnJvbSBvdGhlcnMiKSksCi0JCU9QVF9CT09MRUFOKDAsICJpcy1hbmNlc3RvciIsICZpc19hbmNlc3RvciwKLQkJCSAgICBOXygiaXMgdGhlIGZpcnN0IG9uZSBhbmNlc3RvciBvZiB0aGUgb3RoZXI/IikpLAorCQlPUFRfQk9PTCgnYScsICJhbGwiLCAmc2hvd19hbGwsIE5fKCJvdXRwdXQgYWxsIGNvbW1vbiBhbmNlc3RvcnMiKSksCisJCU9QVF9DTURNT0RFKDAsICJvY3RvcHVzIiwgJmNtZG1vZGUsCisJCQkgICAgTl8oImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIpLCAnbycpLAorCQlPUFRfQ01ETU9ERSgwLCAiaW5kZXBlbmRlbnQiLCAmY21kbW9kZSwKKwkJCSAgICBOXygibGlzdCByZXZzIG5vdCByZWFjaGFibGUgZnJvbSBvdGhlcnMiKSwgJ3InKSwKKwkJT1BUX0NNRE1PREUoMCwgImlzLWFuY2VzdG9yIiwgJmNtZG1vZGUsCisJCQkgICAgTl8oImlzIHRoZSBmaXJzdCBvbmUgYW5jZXN0b3Igb2YgdGhlIG90aGVyPyIpLCAnYScpLAorCQlPUFRfQ01ETU9ERSgwLCAiZm9yay1wb2ludCIsICZjbWRtb2RlLAorCQkJICAgIE5fKCJmaW5kIHdoZXJlIDxjb21taXQ+IGZvcmtlZCBmcm9tIHJlZmxvZyBvZiA8cmVmPiIpLCAnZicpLAogCQlPUFRfRU5EKCkKIAl9OwogCiAJZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0aW9ucywgbWVyZ2VfYmFzZV91c2FnZSwgMCk7Ci0JaWYgKCFvY3RvcHVzICYmICFyZWR1Y2UgJiYgYXJnYyA8IDIpCi0JCXVzYWdlX3dpdGhfb3B0aW9ucyhtZXJnZV9iYXNlX3VzYWdlLCBvcHRpb25zKTsKLQlpZiAoaXNfYW5jZXN0b3IgJiYgKHNob3dfYWxsIHx8IG9jdG9wdXMgfHwgcmVkdWNlKSkKLQkJZGllKCItLWlzLWFuY2VzdG9yIGNhbm5vdCBiZSB1c2VkIHdpdGggb3RoZXIgb3B0aW9ucyIpOwotCWlmIChpc19hbmNlc3RvcikKLQkJcmV0dXJuIGhhbmRsZV9pc19hbmNlc3RvcihhcmdjLCBhcmd2KTsKLQlpZiAocmVkdWNlICYmIChzaG93X2FsbCB8fCBvY3RvcHVzKSkKLQkJZGllKCItLWluZGVwZW5kZW50IGNhbm5vdCBiZSB1c2VkIHdpdGggb3RoZXIgb3B0aW9ucyIpOwogCi0JaWYgKG9jdG9wdXMgfHwgcmVkdWNlKQotCQlyZXR1cm4gaGFuZGxlX29jdG9wdXMoYXJnYywgYXJndiwgcmVkdWNlLCBzaG93X2FsbCk7CisJaWYgKGNtZG1vZGUgPT0gJ2EnKSB7CisJCWlmIChhcmdjIDwgMikKKwkJCXVzYWdlX3dpdGhfb3B0aW9ucyhtZXJnZV9iYXNlX3VzYWdlLCBvcHRpb25zKTsKKwkJaWYgKHNob3dfYWxsKQorCQkJZGllKCItLWlzLWFuY2VzdG9yIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1hbGwiKTsKKwkJcmV0dXJuIGhhbmRsZV9pc19hbmNlc3RvcihhcmdjLCBhcmd2KTsKKwl9CisKKwlpZiAoY21kbW9kZSA9PSAncicgJiYgc2hvd19hbGwpCisJCWRpZSgiLS1pbmRlcGVuZGVudCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tYWxsIik7CisKKwlpZiAoY21kbW9kZSA9PSAnbycpCisJCXJldHVybiBoYW5kbGVfb2N0b3B1cyhhcmdjLCBhcmd2LCBzaG93X2FsbCk7CisKKwlpZiAoY21kbW9kZSA9PSAncicpCisJCXJldHVybiBoYW5kbGVfaW5kZXBlbmRlbnQoYXJnYywgYXJndik7CisKKwlpZiAoY21kbW9kZSA9PSAnZicpIHsKKwkJaWYgKGFyZ2MgPCAxIHx8IDIgPCBhcmdjKQorCQkJdXNhZ2Vfd2l0aF9vcHRpb25zKG1lcmdlX2Jhc2VfdXNhZ2UsIG9wdGlvbnMpOworCQlyZXR1cm4gaGFuZGxlX2ZvcmtfcG9pbnQoYXJnYywgYXJndik7CisJfQorCisJaWYgKGFyZ2MgPCAyKQorCQl1c2FnZV93aXRoX29wdGlvbnMobWVyZ2VfYmFzZV91c2FnZSwgb3B0aW9ucyk7CiAKIAlyZXYgPSB4bWFsbG9jKGFyZ2MgKiBzaXplb2YoKnJldikpOwogCXdoaWxlIChhcmdjLS0gPiAwKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9tZXJnZS1maWxlLmMgYi9idWlsdGluL21lcmdlLWZpbGUuYwppbmRleCBjMDU3MGYyLi44NDRmODRmIDEwMDY0NAotLS0gYS9idWlsdGluL21lcmdlLWZpbGUuYworKysgYi9idWlsdGluL21lcmdlLWZpbGUuYwpAQCAtMzAsNyArMzAsNyBAQAogCWludCBxdWlldCA9IDA7CiAJaW50IHByZWZpeGxlbiA9IDA7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MRUFOKCdwJywgInN0ZG91dCIsICZ0b19zdGRvdXQsIE5fKCJzZW5kIHJlc3VsdHMgdG8gc3RhbmRhcmQgb3V0cHV0IikpLAorCQlPUFRfQk9PTCgncCcsICJzdGRvdXQiLCAmdG9fc3Rkb3V0LCBOXygic2VuZCByZXN1bHRzIHRvIHN0YW5kYXJkIG91dHB1dCIpKSwKIAkJT1BUX1NFVF9JTlQoMCwgImRpZmYzIiwgJnhtcC5zdHlsZSwgTl8oInVzZSBhIGRpZmYzIGJhc2VkIG1lcmdlIiksIFhETF9NRVJHRV9ESUZGMyksCiAJCU9QVF9TRVRfSU5UKDAsICJvdXJzIiwgJnhtcC5mYXZvciwgTl8oImZvciBjb25mbGljdHMsIHVzZSBvdXIgdmVyc2lvbiIpLAogCQkJICAgIFhETF9NRVJHRV9GQVZPUl9PVVJTKSwKZGlmZiAtLWdpdCBhL2J1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmMgYi9idWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jCmluZGV4IDNhNjRmNWQuLmE5MGYyOGYgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmMKKysrIGIvYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYwpAQCAtMjksNyArMjksNyBAQAogCXN0cnVjdCBjb21taXQgKnJlc3VsdDsKIAogCWluaXRfbWVyZ2Vfb3B0aW9ucygmbyk7Ci0JaWYgKGFyZ3ZbMF0gJiYgIXN1ZmZpeGNtcChhcmd2WzBdLCAiLXN1YnRyZWUiKSkKKwlpZiAoYXJndlswXSAmJiBlbmRzX3dpdGgoYXJndlswXSwgIi1zdWJ0cmVlIikpCiAJCW8uc3VidHJlZV9zaGlmdCA9ICIiOwogCiAJaWYgKGFyZ2MgPCA0KQpAQCAtMzgsNyArMzgsNyBAQAogCWZvciAoaSA9IDE7IGkgPCBhcmdjOyArK2kpIHsKIAkJY29uc3QgY2hhciAqYXJnID0gYXJndltpXTsKIAotCQlpZiAoIXByZWZpeGNtcChhcmcsICItLSIpKSB7CisJCWlmIChzdGFydHNfd2l0aChhcmcsICItLSIpKSB7CiAJCQlpZiAoIWFyZ1syXSkKIAkJCQlicmVhazsKIAkJCWlmIChwYXJzZV9tZXJnZV9vcHQoJm8sIGFyZyArIDIpKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9tZXJnZS5jIGIvYnVpbHRpbi9tZXJnZS5jCmluZGV4IDM0YTYxNjYuLmU1NzZhN2YgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vbWVyZ2UuYworKysgYi9idWlsdGluL21lcmdlLmMKQEAgLTE4NiwzMyArMTg2LDI2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgb3B0aW9uX3BhcnNlX2ZmX29ubHkoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAotCQkJICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKLXsKLQlmYXN0X2ZvcndhcmQgPSBGRl9PTkxZOwotCXJldHVybiAwOwotfQotCiBzdGF0aWMgc3RydWN0IG9wdGlvbiBidWlsdGluX21lcmdlX29wdGlvbnNbXSA9IHsKIAl7IE9QVElPTl9DQUxMQkFDSywgJ24nLCBOVUxMLCBOVUxMLCBOVUxMLAogCQlOXygiZG8gbm90IHNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIpLAogCQlQQVJTRV9PUFRfTk9BUkcsIG9wdGlvbl9wYXJzZV9uIH0sCi0JT1BUX0JPT0xFQU4oMCwgInN0YXQiLCAmc2hvd19kaWZmc3RhdCwKKwlPUFRfQk9PTCgwLCAic3RhdCIsICZzaG93X2RpZmZzdGF0LAogCQlOXygic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIikpLAotCU9QVF9CT09MRUFOKDAsICJzdW1tYXJ5IiwgJnNob3dfZGlmZnN0YXQsIE5fKCIoc3lub255bSB0byAtLXN0YXQpIikpLAorCU9QVF9CT09MKDAsICJzdW1tYXJ5IiwgJnNob3dfZGlmZnN0YXQsIE5fKCIoc3lub255bSB0byAtLXN0YXQpIikpLAogCXsgT1BUSU9OX0lOVEVHRVIsIDAsICJsb2ciLCAmc2hvcnRsb2dfbGVuLCBOXygibiIpLAogCSAgTl8oImFkZCAoYXQgbW9zdCA8bj4pIGVudHJpZXMgZnJvbSBzaG9ydGxvZyB0byBtZXJnZSBjb21taXQgbWVzc2FnZSIpLAogCSAgUEFSU0VfT1BUX09QVEFSRywgTlVMTCwgREVGQVVMVF9NRVJHRV9MT0dfTEVOIH0sCi0JT1BUX0JPT0xFQU4oMCwgInNxdWFzaCIsICZzcXVhc2gsCisJT1BUX0JPT0woMCwgInNxdWFzaCIsICZzcXVhc2gsCiAJCU5fKCJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIpKSwKLQlPUFRfQk9PTEVBTigwLCAiY29tbWl0IiwgJm9wdGlvbl9jb21taXQsCisJT1BUX0JPT0woMCwgImNvbW1pdCIsICZvcHRpb25fY29tbWl0LAogCQlOXygicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIikpLAogCU9QVF9CT09MKCdlJywgImVkaXQiLCAmb3B0aW9uX2VkaXQsCiAJCU5fKCJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciKSksCiAJT1BUX1NFVF9JTlQoMCwgImZmIiwgJmZhc3RfZm9yd2FyZCwgTl8oImFsbG93IGZhc3QtZm9yd2FyZCAoZGVmYXVsdCkiKSwgRkZfQUxMT1cpLAotCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAiZmYtb25seSIsIE5VTEwsIE5VTEwsCisJeyBPUFRJT05fU0VUX0lOVCwgMCwgImZmLW9ubHkiLCAmZmFzdF9mb3J3YXJkLCBOVUxMLAogCQlOXygiYWJvcnQgaWYgZmFzdC1mb3J3YXJkIGlzIG5vdCBwb3NzaWJsZSIpLAotCQlQQVJTRV9PUFRfTk9BUkcgfCBQQVJTRV9PUFRfTk9ORUcsIG9wdGlvbl9wYXJzZV9mZl9vbmx5IH0sCisJCVBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9OT05FRywgTlVMTCwgRkZfT05MWSB9LAogCU9QVF9SRVJFUkVfQVVUT1VQREFURSgmYWxsb3dfcmVyZXJlX2F1dG8pLAogCU9QVF9CT09MKDAsICJ2ZXJpZnktc2lnbmF0dXJlcyIsICZ2ZXJpZnlfc2lnbmF0dXJlcywKIAkJTl8oIlZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIpKSwKQEAgLTIyNCwxMiArMjE3LDEyIEBACiAJCU5fKCJtZXJnZSBjb21taXQgbWVzc2FnZSAoZm9yIGEgbm9uLWZhc3QtZm9yd2FyZCBtZXJnZSkiKSwKIAkJb3B0aW9uX3BhcnNlX21lc3NhZ2UpLAogCU9QVF9fVkVSQk9TSVRZKCZ2ZXJib3NpdHkpLAotCU9QVF9CT09MRUFOKDAsICJhYm9ydCIsICZhYm9ydF9jdXJyZW50X21lcmdlLAorCU9QVF9CT09MKDAsICJhYm9ydCIsICZhYm9ydF9jdXJyZW50X21lcmdlLAogCQlOXygiYWJvcnQgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiKSksCiAJT1BUX1NFVF9JTlQoMCwgInByb2dyZXNzIiwgJnNob3dfcHJvZ3Jlc3MsIE5fKCJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciKSwgMSksCiAJeyBPUFRJT05fU1RSSU5HLCAnUycsICJncGctc2lnbiIsICZzaWduX2NvbW1pdCwgTl8oImtleSBpZCIpLAogCSAgTl8oIkdQRyBzaWduIGNvbW1pdCIpLCBQQVJTRV9PUFRfT1BUQVJHLCBOVUxMLCAoaW50cHRyX3QpICIiIH0sCi0JT1BUX0JPT0xFQU4oMCwgIm92ZXJ3cml0ZS1pZ25vcmUiLCAmb3ZlcndyaXRlX2lnbm9yZSwgTl8oInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIpKSwKKwlPUFRfQk9PTCgwLCAib3ZlcndyaXRlLWlnbm9yZSIsICZvdmVyd3JpdGVfaWdub3JlLCBOXygidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIikpLAogCU9QVF9FTkQoKQogfTsKIApAQCAtMzc0LDcgKzM2Nyw3IEBACiAJCQlzaGExX3RvX2hleChjb21taXQtPm9iamVjdC5zaGExKSk7CiAJCXByZXR0eV9wcmludF9jb21taXQoJmN0eCwgY29tbWl0LCAmb3V0KTsKIAl9Ci0JaWYgKHdyaXRlKGZkLCBvdXQuYnVmLCBvdXQubGVuKSA8IDApCisJaWYgKHdyaXRlX2luX2Z1bGwoZmQsIG91dC5idWYsIG91dC5sZW4pICE9IG91dC5sZW4pCiAJCWRpZV9lcnJubyhfKCJXcml0aW5nIFNRVUFTSF9NU0ciKSk7CiAJaWYgKGNsb3NlKGZkKSkKIAkJZGllX2Vycm5vKF8oIkZpbmlzaGluZyBTUVVBU0hfTVNHIikpOwpAQCAtNDUzLDE3ICs0NDYsMTcgQEAKIAkJZGllKF8oIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiKSwgcmVtb3RlKTsKIAogCWlmIChkd2ltX3JlZihyZW1vdGUsIHN0cmxlbihyZW1vdGUpLCBicmFuY2hfaGVhZCwgJmZvdW5kX3JlZikgPiAwKSB7Ci0JCWlmICghcHJlZml4Y21wKGZvdW5kX3JlZiwgInJlZnMvaGVhZHMvIikpIHsKKwkJaWYgKHN0YXJ0c193aXRoKGZvdW5kX3JlZiwgInJlZnMvaGVhZHMvIikpIHsKIAkJCXN0cmJ1Zl9hZGRmKG1zZywgIiVzXHRcdGJyYW5jaCAnJXMnIG9mIC5cbiIsCiAJCQkJICAgIHNoYTFfdG9faGV4KGJyYW5jaF9oZWFkKSwgcmVtb3RlKTsKIAkJCWdvdG8gY2xlYW51cDsKIAkJfQotCQlpZiAoIXByZWZpeGNtcChmb3VuZF9yZWYsICJyZWZzL3RhZ3MvIikpIHsKKwkJaWYgKHN0YXJ0c193aXRoKGZvdW5kX3JlZiwgInJlZnMvdGFncy8iKSkgewogCQkJc3RyYnVmX2FkZGYobXNnLCAiJXNcdFx0dGFnICclcycgb2YgLlxuIiwKIAkJCQkgICAgc2hhMV90b19oZXgoYnJhbmNoX2hlYWQpLCByZW1vdGUpOwogCQkJZ290byBjbGVhbnVwOwogCQl9Ci0JCWlmICghcHJlZml4Y21wKGZvdW5kX3JlZiwgInJlZnMvcmVtb3Rlcy8iKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoZm91bmRfcmVmLCAicmVmcy9yZW1vdGVzLyIpKSB7CiAJCQlzdHJidWZfYWRkZihtc2csICIlc1x0XHRyZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcycgb2YgLlxuIiwKIAkJCQkgICAgc2hhMV90b19oZXgoYnJhbmNoX2hlYWQpLCByZW1vdGUpOwogCQkJZ290byBjbGVhbnVwOwpAQCAtNTc3LDggKzU3MCw4IEBACiB7CiAJaW50IHN0YXR1czsKIAotCWlmIChicmFuY2ggJiYgIXByZWZpeGNtcChrLCAiYnJhbmNoLiIpICYmCi0JCSFwcmVmaXhjbXAoayArIDcsIGJyYW5jaCkgJiYKKwlpZiAoYnJhbmNoICYmIHN0YXJ0c193aXRoKGssICJicmFuY2guIikgJiYKKwkJc3RhcnRzX3dpdGgoayArIDcsIGJyYW5jaCkgJiYKIAkJIXN0cmNtcChrICsgNyArIHN0cmxlbihicmFuY2gpLCAiLm1lcmdlb3B0aW9ucyIpKSB7CiAJCWZyZWUoYnJhbmNoX21lcmdlb3B0aW9ucyk7CiAJCWJyYW5jaF9tZXJnZW9wdGlvbnMgPSB4c3RyZHVwKHYpOwpAQCAtMTExMyw3ICsxMTA2LDcgQEAKIAkgKiBjdXJyZW50IGJyYW5jaC4KIAkgKi8KIAlicmFuY2ggPSBicmFuY2hfdG9fZnJlZSA9IHJlc29sdmVfcmVmZHVwKCJIRUFEIiwgaGVhZF9zaGExLCAwLCAmZmxhZyk7Ci0JaWYgKGJyYW5jaCAmJiAhcHJlZml4Y21wKGJyYW5jaCwgInJlZnMvaGVhZHMvIikpCisJaWYgKGJyYW5jaCAmJiBzdGFydHNfd2l0aChicmFuY2gsICJyZWZzL2hlYWRzLyIpKQogCQlicmFuY2ggKz0gMTE7CiAJaWYgKCFicmFuY2ggfHwgaXNfbnVsbF9zaGExKGhlYWRfc2hhMSkpCiAJCWhlYWRfY29tbWl0ID0gTlVMTDsKQEAgLTExOTMsNyArMTE4Niw3IEBACiAJICogVGhpcyBjb3VsZCBiZSB0cmFkaXRpb25hbCAibWVyZ2UgPG1zZz4gSEVBRCA8Y29tbWl0Pi4uLiIgIGFuZAogCSAqIHRoZSB3YXkgd2UgY2FuIHRlbGwgaXQgaXMgdG8gc2VlIGlmIHRoZSBzZWNvbmQgdG9rZW4gaXMgSEVBRCwKIAkgKiBidXQgc29tZSBwZW9wbGUgbWlnaHQgaGF2ZSBtaXN1c2VkIHRoZSBpbnRlcmZhY2UgYW5kIHVzZWQgYQotCSAqIGNvbW1pdHRpc2ggdGhhdCBpcyB0aGUgc2FtZSBhcyBIRUFEIHRoZXJlIGluc3RlYWQuCisJICogY29tbWl0LWlzaCB0aGF0IGlzIHRoZSBzYW1lIGFzIEhFQUQgdGhlcmUgaW5zdGVhZC4KIAkgKiBUcmFkaXRpb25hbCBmb3JtYXQgbmV2ZXIgd291bGQgaGF2ZSAiLW0iIHNvIGl0IGlzIGFuCiAJICogYWRkaXRpb25hbCBzYWZldHkgbWVhc3VyZSB0byBjaGVjayBmb3IgaXQuCiAJICovCmRpZmYgLS1naXQgYS9idWlsdGluL212LmMgYi9idWlsdGluL212LmMKaW5kZXggMDM0ZmVjOS4uMjFjNDZkMSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9tdi5jCisrKyBiL2J1aWx0aW4vbXYuYwpAQCAtOSwxNCArOSwxOSBAQAogI2luY2x1ZGUgImNhY2hlLXRyZWUuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKKyNpbmNsdWRlICJzdWJtb2R1bGUuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBidWlsdGluX212X3VzYWdlW10gPSB7CiAJTl8oImdpdCBtdiBbb3B0aW9uc10gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIpLAogCU5VTEwKIH07CiAKLXN0YXRpYyBjb25zdCBjaGFyICoqY29weV9wYXRoc3BlYyhjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKipwYXRoc3BlYywKLQkJCQkgIGludCBjb3VudCwgaW50IGJhc2VfbmFtZSkKKyNkZWZpbmUgRFVQX0JBU0VOQU1FIDEKKyNkZWZpbmUgS0VFUF9UUkFJTElOR19TTEFTSCAyCisKK3N0YXRpYyBjb25zdCBjaGFyICoqaW50ZXJuYWxfY29weV9wYXRoc3BlYyhjb25zdCBjaGFyICpwcmVmaXgsCisJCQkJCSAgIGNvbnN0IGNoYXIgKipwYXRoc3BlYywKKwkJCQkJICAgaW50IGNvdW50LCB1bnNpZ25lZCBmbGFncykKIHsKIAlpbnQgaTsKIAljb25zdCBjaGFyICoqcmVzdWx0ID0geG1hbGxvYygoY291bnQgKyAxKSAqIHNpemVvZihjb25zdCBjaGFyICopKTsKQEAgLTI1LDExICszMCwxMiBAQAogCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAJCWludCBsZW5ndGggPSBzdHJsZW4ocmVzdWx0W2ldKTsKIAkJaW50IHRvX2NvcHkgPSBsZW5ndGg7Ci0JCXdoaWxlICh0b19jb3B5ID4gMCAmJiBpc19kaXJfc2VwKHJlc3VsdFtpXVt0b19jb3B5IC0gMV0pKQorCQl3aGlsZSAoIShmbGFncyAmIEtFRVBfVFJBSUxJTkdfU0xBU0gpICYmCisJCSAgICAgICB0b19jb3B5ID4gMCAmJiBpc19kaXJfc2VwKHJlc3VsdFtpXVt0b19jb3B5IC0gMV0pKQogCQkJdG9fY29weS0tOwotCQlpZiAodG9fY29weSAhPSBsZW5ndGggfHwgYmFzZV9uYW1lKSB7CisJCWlmICh0b19jb3B5ICE9IGxlbmd0aCB8fCBmbGFncyAmIERVUF9CQVNFTkFNRSkgewogCQkJY2hhciAqaXQgPSB4bWVtZHVweihyZXN1bHRbaV0sIHRvX2NvcHkpOwotCQkJaWYgKGJhc2VfbmFtZSkgeworCQkJaWYgKGZsYWdzICYgRFVQX0JBU0VOQU1FKSB7CiAJCQkJcmVzdWx0W2ldID0geHN0cmR1cChiYXNlbmFtZShpdCkpOwogCQkJCWZyZWUoaXQpOwogCQkJfSBlbHNlCkBAIC01MywyMyArNTksMjUgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBsb2NrX2ZpbGUgbG9ja19maWxlOworI2RlZmluZSBTVUJNT0RVTEVfV0lUSF9HSVRESVIgKChjb25zdCBjaGFyICopMSkKIAogaW50IGNtZF9tdihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKLQlpbnQgaSwgbmV3ZmQ7CisJaW50IGksIG5ld2ZkLCBnaXRtb2R1bGVzX21vZGlmaWVkID0gMDsKIAlpbnQgdmVyYm9zZSA9IDAsIHNob3dfb25seSA9IDAsIGZvcmNlID0gMCwgaWdub3JlX2Vycm9ycyA9IDA7CiAJc3RydWN0IG9wdGlvbiBidWlsdGluX212X29wdGlvbnNbXSA9IHsKIAkJT1BUX19WRVJCT1NFKCZ2ZXJib3NlLCBOXygiYmUgdmVyYm9zZSIpKSwKIAkJT1BUX19EUllfUlVOKCZzaG93X29ubHksIE5fKCJkcnkgcnVuIikpLAogCQlPUFRfX0ZPUkNFKCZmb3JjZSwgTl8oImZvcmNlIG1vdmUvcmVuYW1lIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIpKSwKLQkJT1BUX0JPT0xFQU4oJ2snLCBOVUxMLCAmaWdub3JlX2Vycm9ycywgTl8oInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIikpLAorCQlPUFRfQk9PTCgnaycsIE5VTEwsICZpZ25vcmVfZXJyb3JzLCBOXygic2tpcCBtb3ZlL3JlbmFtZSBlcnJvcnMiKSksCiAJCU9QVF9FTkQoKSwKIAl9OwotCWNvbnN0IGNoYXIgKipzb3VyY2UsICoqZGVzdGluYXRpb24sICoqZGVzdF9wYXRoOworCWNvbnN0IGNoYXIgKipzb3VyY2UsICoqZGVzdGluYXRpb24sICoqZGVzdF9wYXRoLCAqKnN1Ym1vZHVsZV9naXRmaWxlOwogCWVudW0gdXBkYXRlX21vZGUgeyBCT1RIID0gMCwgV09SS0lOR19ESVJFQ1RPUlksIElOREVYIH0gKm1vZGVzOwogCXN0cnVjdCBzdGF0IHN0OwogCXN0cnVjdCBzdHJpbmdfbGlzdCBzcmNfZm9yX2RzdCA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiAKKwlnaXRtb2R1bGVzX2NvbmZpZygpOwogCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKIAogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgYnVpbHRpbl9tdl9vcHRpb25zLApAQCAtODEsMTcgKzg5LDIzIEBACiAJaWYgKHJlYWRfY2FjaGUoKSA8IDApCiAJCWRpZShfKCJpbmRleCBmaWxlIGNvcnJ1cHQiKSk7CiAKLQlzb3VyY2UgPSBjb3B5X3BhdGhzcGVjKHByZWZpeCwgYXJndiwgYXJnYywgMCk7CisJc291cmNlID0gaW50ZXJuYWxfY29weV9wYXRoc3BlYyhwcmVmaXgsIGFyZ3YsIGFyZ2MsIDApOwogCW1vZGVzID0geGNhbGxvYyhhcmdjLCBzaXplb2YoZW51bSB1cGRhdGVfbW9kZSkpOwotCWRlc3RfcGF0aCA9IGNvcHlfcGF0aHNwZWMocHJlZml4LCBhcmd2ICsgYXJnYywgMSwgMCk7CisJLyoKKwkgKiBLZWVwIHRyYWlsaW5nIHNsYXNoLCBuZWVkZWQgdG8gbGV0CisJICogImdpdCBtdiBmaWxlIG5vLXN1Y2gtZGlyLyIgZXJyb3Igb3V0LgorCSAqLworCWRlc3RfcGF0aCA9IGludGVybmFsX2NvcHlfcGF0aHNwZWMocHJlZml4LCBhcmd2ICsgYXJnYywgMSwKKwkJCQkJICAgS0VFUF9UUkFJTElOR19TTEFTSCk7CisJc3VibW9kdWxlX2dpdGZpbGUgPSB4Y2FsbG9jKGFyZ2MsIHNpemVvZihjaGFyICopKTsKIAogCWlmIChkZXN0X3BhdGhbMF1bMF0gPT0gJ1wwJykKIAkJLyogc3BlY2lhbCBjYXNlOiAiLiIgd2FzIG5vcm1hbGl6ZWQgdG8gIiIgKi8KLQkJZGVzdGluYXRpb24gPSBjb3B5X3BhdGhzcGVjKGRlc3RfcGF0aFswXSwgYXJndiwgYXJnYywgMSk7CisJCWRlc3RpbmF0aW9uID0gaW50ZXJuYWxfY29weV9wYXRoc3BlYyhkZXN0X3BhdGhbMF0sIGFyZ3YsIGFyZ2MsIERVUF9CQVNFTkFNRSk7CiAJZWxzZSBpZiAoIWxzdGF0KGRlc3RfcGF0aFswXSwgJnN0KSAmJgogCQkJU19JU0RJUihzdC5zdF9tb2RlKSkgewogCQlkZXN0X3BhdGhbMF0gPSBhZGRfc2xhc2goZGVzdF9wYXRoWzBdKTsKLQkJZGVzdGluYXRpb24gPSBjb3B5X3BhdGhzcGVjKGRlc3RfcGF0aFswXSwgYXJndiwgYXJnYywgMSk7CisJCWRlc3RpbmF0aW9uID0gaW50ZXJuYWxfY29weV9wYXRoc3BlYyhkZXN0X3BhdGhbMF0sIGFyZ3YsIGFyZ2MsIERVUF9CQVNFTkFNRSk7CiAJfSBlbHNlIHsKIAkJaWYgKGFyZ2MgIT0gMSkKIAkJCWRpZSgiZGVzdGluYXRpb24gJyVzJyBpcyBub3QgYSBkaXJlY3RvcnkiLCBkZXN0X3BhdGhbMF0pOwpAQCAtMTE3LDU1ICsxMzEsNzAgQEAKIAkJCQkmJiBsc3RhdChkc3QsICZzdCkgPT0gMCkKIAkJCWJhZCA9IF8oImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiKTsKIAkJZWxzZSBpZiAoc3JjX2lzX2RpcikgewotCQkJY29uc3QgY2hhciAqc3JjX3dfc2xhc2ggPSBhZGRfc2xhc2goc3JjKTsKLQkJCWludCBsZW5fd19zbGFzaCA9IGxlbmd0aCArIDE7Ci0JCQlpbnQgZmlyc3QsIGxhc3Q7CisJCQlpbnQgZmlyc3QgPSBjYWNoZV9uYW1lX3BvcyhzcmMsIGxlbmd0aCk7CisJCQlpZiAoZmlyc3QgPj0gMCkgeworCQkJCXN0cnVjdCBzdHJidWYgc3VibW9kdWxlX2RvdGdpdCA9IFNUUkJVRl9JTklUOworCQkJCWlmICghU19JU0dJVExJTksoYWN0aXZlX2NhY2hlW2ZpcnN0XS0+Y2VfbW9kZSkpCisJCQkJCWRpZSAoXygiSHVoPyBEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iKSwgc3JjKTsKKwkJCQlpZiAoIWlzX3N0YWdpbmdfZ2l0bW9kdWxlc19vaygpKQorCQkJCQlkaWUgKF8oIlBsZWFzZSwgc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIpKTsKKwkJCQlzdHJidWZfYWRkZigmc3VibW9kdWxlX2RvdGdpdCwgIiVzLy5naXQiLCBzcmMpOworCQkJCXN1Ym1vZHVsZV9naXRmaWxlW2ldID0gcmVhZF9naXRmaWxlKHN1Ym1vZHVsZV9kb3RnaXQuYnVmKTsKKwkJCQlpZiAoc3VibW9kdWxlX2dpdGZpbGVbaV0pCisJCQkJCXN1Ym1vZHVsZV9naXRmaWxlW2ldID0geHN0cmR1cChzdWJtb2R1bGVfZ2l0ZmlsZVtpXSk7CisJCQkJZWxzZQorCQkJCQlzdWJtb2R1bGVfZ2l0ZmlsZVtpXSA9IFNVQk1PRFVMRV9XSVRIX0dJVERJUjsKKwkJCQlzdHJidWZfcmVsZWFzZSgmc3VibW9kdWxlX2RvdGdpdCk7CisJCQl9IGVsc2UgeworCQkJCWNvbnN0IGNoYXIgKnNyY193X3NsYXNoID0gYWRkX3NsYXNoKHNyYyk7CisJCQkJaW50IGxhc3QsIGxlbl93X3NsYXNoID0gbGVuZ3RoICsgMTsKIAotCQkJbW9kZXNbaV0gPSBXT1JLSU5HX0RJUkVDVE9SWTsKKwkJCQltb2Rlc1tpXSA9IFdPUktJTkdfRElSRUNUT1JZOwogCi0JCQlmaXJzdCA9IGNhY2hlX25hbWVfcG9zKHNyY193X3NsYXNoLCBsZW5fd19zbGFzaCk7Ci0JCQlpZiAoZmlyc3QgPj0gMCkKLQkJCQlkaWUgKF8oIkh1aD8gJS4qcyBpcyBpbiBpbmRleD8iKSwKLQkJCQkJCWxlbl93X3NsYXNoLCBzcmNfd19zbGFzaCk7CisJCQkJZmlyc3QgPSBjYWNoZV9uYW1lX3BvcyhzcmNfd19zbGFzaCwgbGVuX3dfc2xhc2gpOworCQkJCWlmIChmaXJzdCA+PSAwKQorCQkJCQlkaWUgKF8oIkh1aD8gJS4qcyBpcyBpbiBpbmRleD8iKSwKKwkJCQkJCQlsZW5fd19zbGFzaCwgc3JjX3dfc2xhc2gpOwogCi0JCQlmaXJzdCA9IC0xIC0gZmlyc3Q7Ci0JCQlmb3IgKGxhc3QgPSBmaXJzdDsgbGFzdCA8IGFjdGl2ZV9ucjsgbGFzdCsrKSB7Ci0JCQkJY29uc3QgY2hhciAqcGF0aCA9IGFjdGl2ZV9jYWNoZVtsYXN0XS0+bmFtZTsKLQkJCQlpZiAoc3RybmNtcChwYXRoLCBzcmNfd19zbGFzaCwgbGVuX3dfc2xhc2gpKQotCQkJCQlicmVhazsKLQkJCX0KLQkJCWZyZWUoKGNoYXIgKilzcmNfd19zbGFzaCk7Ci0KLQkJCWlmIChsYXN0IC0gZmlyc3QgPCAxKQotCQkJCWJhZCA9IF8oInNvdXJjZSBkaXJlY3RvcnkgaXMgZW1wdHkiKTsKLQkJCWVsc2UgewotCQkJCWludCBqLCBkc3RfbGVuOwotCi0JCQkJaWYgKGxhc3QgLSBmaXJzdCA+IDApIHsKLQkJCQkJc291cmNlID0geHJlYWxsb2Moc291cmNlLAotCQkJCQkJCShhcmdjICsgbGFzdCAtIGZpcnN0KQotCQkJCQkJCSogc2l6ZW9mKGNoYXIgKikpOwotCQkJCQlkZXN0aW5hdGlvbiA9IHhyZWFsbG9jKGRlc3RpbmF0aW9uLAotCQkJCQkJCShhcmdjICsgbGFzdCAtIGZpcnN0KQotCQkJCQkJCSogc2l6ZW9mKGNoYXIgKikpOwotCQkJCQltb2RlcyA9IHhyZWFsbG9jKG1vZGVzLAotCQkJCQkJCShhcmdjICsgbGFzdCAtIGZpcnN0KQotCQkJCQkJCSogc2l6ZW9mKGVudW0gdXBkYXRlX21vZGUpKTsKKwkJCQlmaXJzdCA9IC0xIC0gZmlyc3Q7CisJCQkJZm9yIChsYXN0ID0gZmlyc3Q7IGxhc3QgPCBhY3RpdmVfbnI7IGxhc3QrKykgeworCQkJCQljb25zdCBjaGFyICpwYXRoID0gYWN0aXZlX2NhY2hlW2xhc3RdLT5uYW1lOworCQkJCQlpZiAoc3RybmNtcChwYXRoLCBzcmNfd19zbGFzaCwgbGVuX3dfc2xhc2gpKQorCQkJCQkJYnJlYWs7CiAJCQkJfQorCQkJCWZyZWUoKGNoYXIgKilzcmNfd19zbGFzaCk7CiAKLQkJCQlkc3QgPSBhZGRfc2xhc2goZHN0KTsKLQkJCQlkc3RfbGVuID0gc3RybGVuKGRzdCk7CisJCQkJaWYgKGxhc3QgLSBmaXJzdCA8IDEpCisJCQkJCWJhZCA9IF8oInNvdXJjZSBkaXJlY3RvcnkgaXMgZW1wdHkiKTsKKwkJCQllbHNlIHsKKwkJCQkJaW50IGosIGRzdF9sZW47CiAKLQkJCQlmb3IgKGogPSAwOyBqIDwgbGFzdCAtIGZpcnN0OyBqKyspIHsKLQkJCQkJY29uc3QgY2hhciAqcGF0aCA9Ci0JCQkJCQlhY3RpdmVfY2FjaGVbZmlyc3QgKyBqXS0+bmFtZTsKLQkJCQkJc291cmNlW2FyZ2MgKyBqXSA9IHBhdGg7Ci0JCQkJCWRlc3RpbmF0aW9uW2FyZ2MgKyBqXSA9Ci0JCQkJCQlwcmVmaXhfcGF0aChkc3QsIGRzdF9sZW4sCi0JCQkJCQkJcGF0aCArIGxlbmd0aCArIDEpOwotCQkJCQltb2Rlc1thcmdjICsgal0gPSBJTkRFWDsKKwkJCQkJaWYgKGxhc3QgLSBmaXJzdCA+IDApIHsKKwkJCQkJCXNvdXJjZSA9IHhyZWFsbG9jKHNvdXJjZSwKKwkJCQkJCQkJKGFyZ2MgKyBsYXN0IC0gZmlyc3QpCisJCQkJCQkJCSogc2l6ZW9mKGNoYXIgKikpOworCQkJCQkJZGVzdGluYXRpb24gPSB4cmVhbGxvYyhkZXN0aW5hdGlvbiwKKwkJCQkJCQkJKGFyZ2MgKyBsYXN0IC0gZmlyc3QpCisJCQkJCQkJCSogc2l6ZW9mKGNoYXIgKikpOworCQkJCQkJbW9kZXMgPSB4cmVhbGxvYyhtb2RlcywKKwkJCQkJCQkJKGFyZ2MgKyBsYXN0IC0gZmlyc3QpCisJCQkJCQkJCSogc2l6ZW9mKGVudW0gdXBkYXRlX21vZGUpKTsKKwkJCQkJfQorCisJCQkJCWRzdCA9IGFkZF9zbGFzaChkc3QpOworCQkJCQlkc3RfbGVuID0gc3RybGVuKGRzdCk7CisKKwkJCQkJZm9yIChqID0gMDsgaiA8IGxhc3QgLSBmaXJzdDsgaisrKSB7CisJCQkJCQljb25zdCBjaGFyICpwYXRoID0KKwkJCQkJCQlhY3RpdmVfY2FjaGVbZmlyc3QgKyBqXS0+bmFtZTsKKwkJCQkJCXNvdXJjZVthcmdjICsgal0gPSBwYXRoOworCQkJCQkJZGVzdGluYXRpb25bYXJnYyArIGpdID0KKwkJCQkJCQlwcmVmaXhfcGF0aChkc3QsIGRzdF9sZW4sCisJCQkJCQkJCXBhdGggKyBsZW5ndGggKyAxKTsKKwkJCQkJCW1vZGVzW2FyZ2MgKyBqXSA9IElOREVYOworCQkJCQl9CisJCQkJCWFyZ2MgKz0gbGFzdCAtIGZpcnN0OwogCQkJCX0KLQkJCQlhcmdjICs9IGxhc3QgLSBmaXJzdDsKIAkJCX0KIAkJfSBlbHNlIGlmIChjYWNoZV9uYW1lX3BvcyhzcmMsIGxlbmd0aCkgPCAwKQogCQkJYmFkID0gXygibm90IHVuZGVyIHZlcnNpb24gY29udHJvbCIpOwpAQCAtMTg1LDYgKzIxNCw4IEBACiAJCQl9CiAJCX0gZWxzZSBpZiAoc3RyaW5nX2xpc3RfaGFzX3N0cmluZygmc3JjX2Zvcl9kc3QsIGRzdCkpCiAJCQliYWQgPSBfKCJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiKTsKKwkJZWxzZSBpZiAoaXNfZGlyX3NlcChkc3Rbc3RybGVuKGRzdCkgLSAxXSkpCisJCQliYWQgPSBfKCJkZXN0aW5hdGlvbiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QiKTsKIAkJZWxzZQogCQkJc3RyaW5nX2xpc3RfaW5zZXJ0KCZzcmNfZm9yX2RzdCwgZHN0KTsKIApAQCAtMjEwLDkgKzI0MSwxNiBAQAogCQlpbnQgcG9zOwogCQlpZiAoc2hvd19vbmx5IHx8IHZlcmJvc2UpCiAJCQlwcmludGYoXygiUmVuYW1pbmcgJXMgdG8gJXNcbiIpLCBzcmMsIGRzdCk7Ci0JCWlmICghc2hvd19vbmx5ICYmIG1vZGUgIT0gSU5ERVggJiYKLQkJCQlyZW5hbWUoc3JjLCBkc3QpIDwgMCAmJiAhaWdub3JlX2Vycm9ycykKLQkJCWRpZV9lcnJubyAoXygicmVuYW1pbmcgJyVzJyBmYWlsZWQiKSwgc3JjKTsKKwkJaWYgKCFzaG93X29ubHkgJiYgbW9kZSAhPSBJTkRFWCkgeworCQkJaWYgKHJlbmFtZShzcmMsIGRzdCkgPCAwICYmICFpZ25vcmVfZXJyb3JzKQorCQkJCWRpZV9lcnJubyAoXygicmVuYW1pbmcgJyVzJyBmYWlsZWQiKSwgc3JjKTsKKwkJCWlmIChzdWJtb2R1bGVfZ2l0ZmlsZVtpXSkgeworCQkJCWlmIChzdWJtb2R1bGVfZ2l0ZmlsZVtpXSAhPSBTVUJNT0RVTEVfV0lUSF9HSVRESVIpCisJCQkJCWNvbm5lY3Rfd29ya190cmVlX2FuZF9naXRfZGlyKGRzdCwgc3VibW9kdWxlX2dpdGZpbGVbaV0pOworCQkJCWlmICghdXBkYXRlX3BhdGhfaW5fZ2l0bW9kdWxlcyhzcmMsIGRzdCkpCisJCQkJCWdpdG1vZHVsZXNfbW9kaWZpZWQgPSAxOworCQkJfQorCQl9CiAKIAkJaWYgKG1vZGUgPT0gV09SS0lOR19ESVJFQ1RPUlkpCiAJCQljb250aW51ZTsKQEAgLTIyMyw2ICsyNjEsOSBAQAogCQkJcmVuYW1lX2NhY2hlX2VudHJ5X2F0KHBvcywgZHN0KTsKIAl9CiAKKwlpZiAoZ2l0bW9kdWxlc19tb2RpZmllZCkKKwkJc3RhZ2VfdXBkYXRlZF9naXRtb2R1bGVzKCk7CisKIAlpZiAoYWN0aXZlX2NhY2hlX2NoYW5nZWQpIHsKIAkJaWYgKHdyaXRlX2NhY2hlKG5ld2ZkLCBhY3RpdmVfY2FjaGUsIGFjdGl2ZV9ucikgfHwKIAkJICAgIGNvbW1pdF9sb2NrZWRfaW5kZXgoJmxvY2tfZmlsZSkpCmRpZmYgLS1naXQgYS9idWlsdGluL25hbWUtcmV2LmMgYi9idWlsdGluL25hbWUtcmV2LmMKaW5kZXggMGFhYTE5ZS4uMGIyMWQ3ZSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9uYW1lLXJldi5jCisrKyBiL2J1aWx0aW4vbmFtZS1yZXYuYwpAQCAtMjcsOCArMjcsNyBAQAogCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50czsKIAlpbnQgcGFyZW50X251bWJlciA9IDE7CiAKLQlpZiAoIWNvbW1pdC0+b2JqZWN0LnBhcnNlZCkKLQkJcGFyc2VfY29tbWl0KGNvbW1pdCk7CisJcGFyc2VfY29tbWl0KGNvbW1pdCk7CiAKIAlpZiAoY29tbWl0LT5kYXRlIDwgY3V0b2ZmKQogCQlyZXR1cm47CkBAIC0xMDEsOSArMTAwLDkgQEAKIHsKIAlpZiAoc2hvcnRlbl91bmFtYmlndW91cykKIAkJcmVmbmFtZSA9IHNob3J0ZW5fdW5hbWJpZ3VvdXNfcmVmKHJlZm5hbWUsIDApOwotCWVsc2UgaWYgKCFwcmVmaXhjbXAocmVmbmFtZSwgInJlZnMvaGVhZHMvIikpCisJZWxzZSBpZiAoc3RhcnRzX3dpdGgocmVmbmFtZSwgInJlZnMvaGVhZHMvIikpCiAJCXJlZm5hbWUgPSByZWZuYW1lICsgMTE7Ci0JZWxzZSBpZiAoIXByZWZpeGNtcChyZWZuYW1lLCAicmVmcy8iKSkKKwllbHNlIGlmIChzdGFydHNfd2l0aChyZWZuYW1lLCAicmVmcy8iKSkKIAkJcmVmbmFtZSA9IHJlZm5hbWUgKyA1OwogCXJldHVybiByZWZuYW1lOwogfQpAQCAtMTQ5LDcgKzE0OCw3IEBACiAJaW50IGNhbl9hYmJyZXZpYXRlX291dHB1dCA9IGRhdGEtPnRhZ3Nfb25seSAmJiBkYXRhLT5uYW1lX29ubHk7CiAJaW50IGRlcmVmID0gMDsKIAotCWlmIChkYXRhLT50YWdzX29ubHkgJiYgcHJlZml4Y21wKHBhdGgsICJyZWZzL3RhZ3MvIikpCisJaWYgKGRhdGEtPnRhZ3Nfb25seSAmJiAhc3RhcnRzX3dpdGgocGF0aCwgInJlZnMvdGFncy8iKSkKIAkJcmV0dXJuIDA7CiAKIAlpZiAoZGF0YS0+cmVmX2ZpbHRlcikgewpAQCAtMzEwLDE1ICszMDksMTUgQEAKIAlpbnQgYWxsID0gMCwgdHJhbnNmb3JtX3N0ZGluID0gMCwgYWxsb3dfdW5kZWZpbmVkID0gMSwgYWx3YXlzID0gMCwgcGVlbF90YWcgPSAwOwogCXN0cnVjdCBuYW1lX3JlZl9kYXRhIGRhdGEgPSB7IDAsIDAsIE5VTEwgfTsKIAlzdHJ1Y3Qgb3B0aW9uIG9wdHNbXSA9IHsKLQkJT1BUX0JPT0xFQU4oMCwgIm5hbWUtb25seSIsICZkYXRhLm5hbWVfb25seSwgTl8oInByaW50IG9ubHkgbmFtZXMgKG5vIFNIQS0xKSIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgInRhZ3MiLCAmZGF0YS50YWdzX29ubHksIE5fKCJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiKSksCisJCU9QVF9CT09MKDAsICJuYW1lLW9ubHkiLCAmZGF0YS5uYW1lX29ubHksIE5fKCJwcmludCBvbmx5IG5hbWVzIChubyBTSEEtMSkiKSksCisJCU9QVF9CT09MKDAsICJ0YWdzIiwgJmRhdGEudGFnc19vbmx5LCBOXygib25seSB1c2UgdGFncyB0byBuYW1lIHRoZSBjb21taXRzIikpLAogCQlPUFRfU1RSSU5HKDAsICJyZWZzIiwgJmRhdGEucmVmX2ZpbHRlciwgTl8oInBhdHRlcm4iKSwKIAkJCQkgICBOXygib25seSB1c2UgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iKSksCiAJCU9QVF9HUk9VUCgiIiksCi0JCU9QVF9CT09MRUFOKDAsICJhbGwiLCAmYWxsLCBOXygibGlzdCBhbGwgY29tbWl0cyByZWFjaGFibGUgZnJvbSBhbGwgcmVmcyIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgInN0ZGluIiwgJnRyYW5zZm9ybV9zdGRpbiwgTl8oInJlYWQgZnJvbSBzdGRpbiIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgInVuZGVmaW5lZCIsICZhbGxvd191bmRlZmluZWQsIE5fKCJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImFsd2F5cyIsICAgICAmYWx3YXlzLAorCQlPUFRfQk9PTCgwLCAiYWxsIiwgJmFsbCwgTl8oImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiKSksCisJCU9QVF9CT09MKDAsICJzdGRpbiIsICZ0cmFuc2Zvcm1fc3RkaW4sIE5fKCJyZWFkIGZyb20gc3RkaW4iKSksCisJCU9QVF9CT09MKDAsICJ1bmRlZmluZWQiLCAmYWxsb3dfdW5kZWZpbmVkLCBOXygiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMgKGRlZmF1bHQpIikpLAorCQlPUFRfQk9PTCgwLCAiYWx3YXlzIiwgICAgICZhbHdheXMsCiAJCQkgICBOXygic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIikpLAogCQl7CiAJCQkvKiBBIEhpZGRlbiBPUFRfQk9PTCAqLwpAQCAtMzMxLDcgKzMzMCw3IEBACiAKIAlnaXRfY29uZmlnKGdpdF9kZWZhdWx0X2NvbmZpZywgTlVMTCk7CiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBvcHRzLCBuYW1lX3Jldl91c2FnZSwgMCk7Ci0JaWYgKCEhYWxsICsgISF0cmFuc2Zvcm1fc3RkaW4gKyAhIWFyZ2MgPiAxKSB7CisJaWYgKGFsbCArIHRyYW5zZm9ybV9zdGRpbiArICEhYXJnYyA+IDEpIHsKIAkJZXJyb3IoIlNwZWNpZnkgZWl0aGVyIGEgbGlzdCwgb3IgLS1hbGwsIG5vdCBib3RoISIpOwogCQl1c2FnZV93aXRoX29wdGlvbnMobmFtZV9yZXZfdXNhZ2UsIG9wdHMpOwogCX0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vbm90ZXMuYyBiL2J1aWx0aW4vbm90ZXMuYwppbmRleCBlNDEwMGM0Li4yYjI0ZDA1IDEwMDY0NAotLS0gYS9idWlsdGluL25vdGVzLmMKKysrIGIvYnVpbHRpbi9ub3Rlcy5jCkBAIC0zNDcsNyArMzQ3LDcgQEAKIAlpbml0X25vdGVzKE5VTEwsIE5VTEwsIE5VTEwsIDApOwogCXQgPSAmZGVmYXVsdF9ub3Rlc190cmVlOwogCi0JaWYgKHByZWZpeGNtcCh0LT5yZWYsICJyZWZzL25vdGVzLyIpKQorCWlmICghc3RhcnRzX3dpdGgodC0+cmVmLCAicmVmcy9ub3Rlcy8iKSkKIAkJZGllKCJSZWZ1c2luZyB0byAlcyBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiLAogCQkgICAgc3ViY29tbWFuZCwgdC0+cmVmKTsKIAlyZXR1cm4gdDsKQEAgLTQ4Myw3ICs0ODMsNyBAQAogCWNvbnN0IGNoYXIgKnJld3JpdGVfY21kID0gTlVMTDsKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKIAkJT1BUX19GT1JDRSgmZm9yY2UsIE5fKCJyZXBsYWNlIGV4aXN0aW5nIG5vdGVzIikpLAotCQlPUFRfQk9PTEVBTigwLCAic3RkaW4iLCAmZnJvbV9zdGRpbiwgTl8oInJlYWQgb2JqZWN0cyBmcm9tIHN0ZGluIikpLAorCQlPUFRfQk9PTCgwLCAic3RkaW4iLCAmZnJvbV9zdGRpbiwgTl8oInJlYWQgb2JqZWN0cyBmcm9tIHN0ZGluIikpLAogCQlPUFRfU1RSSU5HKDAsICJmb3ItcmV3cml0ZSIsICZyZXdyaXRlX2NtZCwgTl8oImNvbW1hbmQiKSwKIAkJCSAgIE5fKCJsb2FkIHJld3JpdGluZyBjb25maWcgZm9yIDxjb21tYW5kPiAoaW1wbGllcyAiCiAJCQkgICAgICAiLS1zdGRpbikiKSksCkBAIC03MzksMTMgKzczOSwxMyBAQAogCQkJICAgTl8oInJlc29sdmUgbm90ZXMgY29uZmxpY3RzIHVzaW5nIHRoZSBnaXZlbiBzdHJhdGVneSAiCiAJCQkgICAgICAiKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi9jYXRfc29ydF91bmlxKSIpKSwKIAkJT1BUX0dST1VQKE5fKCJDb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIikpLAotCQl7IE9QVElPTl9CT09MRUFOLCAwLCAiY29tbWl0IiwgJmRvX2NvbW1pdCwgTlVMTCwKKwkJeyBPUFRJT05fU0VUX0lOVCwgMCwgImNvbW1pdCIsICZkb19jb21taXQsIE5VTEwsCiAJCQlOXygiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIpLAotCQkJUEFSU0VfT1BUX05PQVJHIHwgUEFSU0VfT1BUX05PTkVHIH0sCisJCQlQQVJTRV9PUFRfTk9BUkcgfCBQQVJTRV9PUFRfTk9ORUcsIE5VTEwsIDF9LAogCQlPUFRfR1JPVVAoTl8oIkFib3J0aW5nIG5vdGVzIG1lcmdlIHJlc29sdXRpb24iKSksCi0JCXsgT1BUSU9OX0JPT0xFQU4sIDAsICJhYm9ydCIsICZkb19hYm9ydCwgTlVMTCwKKwkJeyBPUFRJT05fU0VUX0lOVCwgMCwgImFib3J0IiwgJmRvX2Fib3J0LCBOVUxMLAogCQkJTl8oImFib3J0IG5vdGVzIG1lcmdlIiksCi0JCQlQQVJTRV9PUFRfTk9BUkcgfCBQQVJTRV9PUFRfTk9ORUcgfSwKKwkJCVBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9OT05FRywgTlVMTCwgMX0sCiAJCU9QVF9FTkQoKQogCX07CiAKQEAgLTg1Myw3ICs4NTMsNyBAQAogCQlPUFRfQklUKDAsICJpZ25vcmUtbWlzc2luZyIsICZmbGFnLAogCQkJTl8oImF0dGVtcHQgdG8gcmVtb3ZlIG5vbi1leGlzdGVudCBub3RlIGlzIG5vdCBhbiBlcnJvciIpLAogCQkJSUdOT1JFX01JU1NJTkcpLAotCQlPUFRfQk9PTEVBTigwLCAic3RkaW4iLCAmZnJvbV9zdGRpbiwKKwkJT1BUX0JPT0woMCwgInN0ZGluIiwgJmZyb21fc3RkaW4sCiAJCQkgICAgTl8oInJlYWQgb2JqZWN0IG5hbWVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IikpLAogCQlPUFRfRU5EKCkKIAl9OwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9wYWNrLW9iamVjdHMuYyBiL2J1aWx0aW4vcGFjay1vYmplY3RzLmMKaW5kZXggZGQxMTdiMy4uNTQxNjY3ZiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9wYWNrLW9iamVjdHMuYworKysgYi9idWlsdGluL3BhY2stb2JqZWN0cy5jCkBAIC0zOCwxNyArMzgsMTggQEAKIAl2b2lkICpkZWx0YV9kYXRhOwkvKiBjYWNoZWQgZGVsdGEgKHVuY29tcHJlc3NlZCkgKi8KIAl1bnNpZ25lZCBsb25nIGRlbHRhX3NpemU7CS8qIGRlbHRhIGRhdGEgc2l6ZSAodW5jb21wcmVzc2VkKSAqLwogCXVuc2lnbmVkIGxvbmcgel9kZWx0YV9zaXplOwkvKiBkZWx0YSBkYXRhIHNpemUgKGNvbXByZXNzZWQpICovCi0JdW5zaWduZWQgaW50IGhhc2g7CS8qIG5hbWUgaGludCBoYXNoICovCiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwogCWVudW0gb2JqZWN0X3R5cGUgaW5fcGFja190eXBlOwkvKiBjb3VsZCBiZSBkZWx0YSAqLworCXVpbnQzMl90IGhhc2g7CQkJLyogbmFtZSBoaW50IGhhc2ggKi8KIAl1bnNpZ25lZCBjaGFyIGluX3BhY2tfaGVhZGVyX3NpemU7Ci0JdW5zaWduZWQgY2hhciBwcmVmZXJyZWRfYmFzZTsgLyogd2UgZG8gbm90IHBhY2sgdGhpcywgYnV0IGlzIGF2YWlsYWJsZQotCQkJCSAgICAgICAqIHRvIGJlIHVzZWQgYXMgdGhlIGJhc2Ugb2JqZWN0IHRvIGRlbHRhCi0JCQkJICAgICAgICogb2JqZWN0cyBhZ2FpbnN0LgotCQkJCSAgICAgICAqLwotCXVuc2lnbmVkIGNoYXIgbm9fdHJ5X2RlbHRhOwotCXVuc2lnbmVkIGNoYXIgdGFnZ2VkOyAvKiBuZWFyIHRoZSB2ZXJ5IHRpcCBvZiByZWZzICovCi0JdW5zaWduZWQgY2hhciBmaWxsZWQ7IC8qIGFzc2lnbmVkIHdyaXRlLW9yZGVyICovCisJdW5zaWduZWQgcHJlZmVycmVkX2Jhc2U6MTsgLyoKKwkJCQkgICAgKiB3ZSBkbyBub3QgcGFjayB0aGlzLCBidXQgaXMgYXZhaWxhYmxlCisJCQkJICAgICogdG8gYmUgdXNlZCBhcyB0aGUgYmFzZSBvYmplY3QgdG8gZGVsdGEKKwkJCQkgICAgKiBvYmplY3RzIGFnYWluc3QuCisJCQkJICAgICovCisJdW5zaWduZWQgbm9fdHJ5X2RlbHRhOjE7CisJdW5zaWduZWQgdGFnZ2VkOjE7IC8qIG5lYXIgdGhlIHZlcnkgdGlwIG9mIHJlZnMgKi8KKwl1bnNpZ25lZCBmaWxsZWQ6MTsgLyogYXNzaWduZWQgd3JpdGUtb3JkZXIgKi8KIH07CiAKIC8qCkBAIC03MzYsOCArNzM3LDYgQEAKIAkJCWYgPSBjcmVhdGVfdG1wX3BhY2tmaWxlKCZwYWNrX3RtcF9uYW1lKTsKIAogCQlvZmZzZXQgPSB3cml0ZV9wYWNrX2hlYWRlcihmLCBucl9yZW1haW5pbmcpOwotCQlpZiAoIW9mZnNldCkKLQkJCWRpZV9lcnJubygidW5hYmxlIHRvIHdyaXRlIHBhY2sgaGVhZGVyIik7CiAJCW5yX3dyaXR0ZW4gPSAwOwogCQlmb3IgKDsgaSA8IG5yX29iamVjdHM7IGkrKykgewogCQkJc3RydWN0IG9iamVjdF9lbnRyeSAqZSA9IHdyaXRlX29yZGVyW2ldOwpAQCAtODU5LDkgKzg1OCw5IEBACiAJfQogfQogCi1zdGF0aWMgdW5zaWduZWQgbmFtZV9oYXNoKGNvbnN0IGNoYXIgKm5hbWUpCitzdGF0aWMgdWludDMyX3QgbmFtZV9oYXNoKGNvbnN0IGNoYXIgKm5hbWUpCiB7Ci0JdW5zaWduZWQgYywgaGFzaCA9IDA7CisJdWludDMyX3QgYywgaGFzaCA9IDA7CiAKIAlpZiAoIW5hbWUpCiAJCXJldHVybiAwOwpAQCAtOTA4LDcgKzkwNyw3IEBACiAJc3RydWN0IHBhY2tlZF9naXQgKnAsICpmb3VuZF9wYWNrID0gTlVMTDsKIAlvZmZfdCBmb3VuZF9vZmZzZXQgPSAwOwogCWludCBpeDsKLQl1bnNpZ25lZCBoYXNoID0gbmFtZV9oYXNoKG5hbWUpOworCXVpbnQzMl90IGhhc2ggPSBuYW1lX2hhc2gobmFtZSk7CiAKIAlpeCA9IG5yX29iamVjdHMgPyBsb2NhdGVfb2JqZWN0X2VudHJ5X2hhc2goc2hhMSkgOiAtMTsKIAlpZiAoaXggPj0gMCkgewpAQCAtMTgwOSw3ICsxODA4LDcgQEAKIHN0YXRpYyB2b2lkIHRyeV90b19mcmVlX2Zyb21fdGhyZWFkcyhzaXplX3Qgc2l6ZSkKIHsKIAlyZWFkX2xvY2soKTsKLQlyZWxlYXNlX3BhY2tfbWVtb3J5KHNpemUsIC0xKTsKKwlyZWxlYXNlX3BhY2tfbWVtb3J5KHNpemUpOwogCXJlYWRfdW5sb2NrKCk7CiB9CiAKQEAgLTIwMzEsNyArMjAzMCw3IEBACiB7CiAJdW5zaWduZWQgY2hhciBwZWVsZWRbMjBdOwogCi0JaWYgKCFwcmVmaXhjbXAocGF0aCwgInJlZnMvdGFncy8iKSAmJiAvKiBpcyBhIHRhZz8gKi8KKwlpZiAoc3RhcnRzX3dpdGgocGF0aCwgInJlZnMvdGFncy8iKSAmJiAvKiBpcyBhIHRhZz8gKi8KIAkgICAgIXBlZWxfcmVmKHBhdGgsIHBlZWxlZCkgICAgICAgICYmIC8qIHBlZWxhYmxlPyAqLwogCSAgICBsb2NhdGVfb2JqZWN0X2VudHJ5KHBlZWxlZCkpICAgICAgLyogb2JqZWN0IHBhY2tlZD8gKi8KIAkJYWRkX29iamVjdF9lbnRyeShzaGExLCBPQkpfVEFHLCBOVUxMLCAwKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcHJ1bmUtcGFja2VkLmMgYi9idWlsdGluL3BydW5lLXBhY2tlZC5jCmluZGV4IGZhNmNlNDIuLmZjZjVmYjYgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcHJ1bmUtcGFja2VkLmMKKysrIGIvYnVpbHRpbi9wcnVuZS1wYWNrZWQuYwpAQCAtMTAsNTggKzEwLDYyIEBACiAKIHN0YXRpYyBzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzOwogCi1zdGF0aWMgdm9pZCBwcnVuZV9kaXIoaW50IGksIERJUiAqZGlyLCBjaGFyICpwYXRobmFtZSwgaW50IGxlbiwgaW50IG9wdHMpCitzdGF0aWMgdm9pZCBwcnVuZV9kaXIoaW50IGksIERJUiAqZGlyLCBzdHJ1Y3Qgc3RyYnVmICpwYXRobmFtZSwgaW50IG9wdHMpCiB7CiAJc3RydWN0IGRpcmVudCAqZGU7CiAJY2hhciBoZXhbNDBdOworCWludCB0b3BfbGVuID0gcGF0aG5hbWUtPmxlbjsKIAogCXNwcmludGYoaGV4LCAiJTAyeCIsIGkpOwogCXdoaWxlICgoZGUgPSByZWFkZGlyKGRpcikpICE9IE5VTEwpIHsKIAkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKIAkJaWYgKHN0cmxlbihkZS0+ZF9uYW1lKSAhPSAzOCkKIAkJCWNvbnRpbnVlOwotCQltZW1jcHkoaGV4KzIsIGRlLT5kX25hbWUsIDM4KTsKKwkJbWVtY3B5KGhleCArIDIsIGRlLT5kX25hbWUsIDM4KTsKIAkJaWYgKGdldF9zaGExX2hleChoZXgsIHNoYTEpKQogCQkJY29udGludWU7CiAJCWlmICghaGFzX3NoYTFfcGFjayhzaGExKSkKIAkJCWNvbnRpbnVlOwotCQltZW1jcHkocGF0aG5hbWUgKyBsZW4sIGRlLT5kX25hbWUsIDM4KTsKKworCQlzdHJidWZfYWRkKHBhdGhuYW1lLCBkZS0+ZF9uYW1lLCAzOCk7CiAJCWlmIChvcHRzICYgUFJVTkVfUEFDS0VEX0RSWV9SVU4pCi0JCQlwcmludGYoInJtIC1mICVzXG4iLCBwYXRobmFtZSk7CisJCQlwcmludGYoInJtIC1mICVzXG4iLCBwYXRobmFtZS0+YnVmKTsKIAkJZWxzZQotCQkJdW5saW5rX29yX3dhcm4ocGF0aG5hbWUpOworCQkJdW5saW5rX29yX3dhcm4ocGF0aG5hbWUtPmJ1Zik7CiAJCWRpc3BsYXlfcHJvZ3Jlc3MocHJvZ3Jlc3MsIGkgKyAxKTsKKwkJc3RyYnVmX3NldGxlbihwYXRobmFtZSwgdG9wX2xlbik7CiAJfQogfQogCiB2b2lkIHBydW5lX3BhY2tlZF9vYmplY3RzKGludCBvcHRzKQogewogCWludCBpOwotCXN0YXRpYyBjaGFyIHBhdGhuYW1lW1BBVEhfTUFYXTsKIAljb25zdCBjaGFyICpkaXIgPSBnZXRfb2JqZWN0X2RpcmVjdG9yeSgpOwotCWludCBsZW4gPSBzdHJsZW4oZGlyKTsKKwlzdHJ1Y3Qgc3RyYnVmIHBhdGhuYW1lID0gU1RSQlVGX0lOSVQ7CisJaW50IHRvcF9sZW47CiAKKwlzdHJidWZfYWRkc3RyKCZwYXRobmFtZSwgZGlyKTsKIAlpZiAob3B0cyAmIFBSVU5FX1BBQ0tFRF9WRVJCT1NFKQogCQlwcm9ncmVzcyA9IHN0YXJ0X3Byb2dyZXNzX2RlbGF5KCJSZW1vdmluZyBkdXBsaWNhdGUgb2JqZWN0cyIsCiAJCQkyNTYsIDk1LCAyKTsKIAotCWlmIChsZW4gPiBQQVRIX01BWCAtIDQyKQotCQlkaWUoImltcG9zc2libGUgb2JqZWN0IGRpcmVjdG9yeSIpOwotCW1lbWNweShwYXRobmFtZSwgZGlyLCBsZW4pOwotCWlmIChsZW4gJiYgcGF0aG5hbWVbbGVuLTFdICE9ICcvJykKLQkJcGF0aG5hbWVbbGVuKytdID0gJy8nOworCWlmIChwYXRobmFtZS5sZW4gJiYgcGF0aG5hbWUuYnVmW3BhdGhuYW1lLmxlbiAtIDFdICE9ICcvJykKKwkJc3RyYnVmX2FkZGNoKCZwYXRobmFtZSwgJy8nKTsKKworCXRvcF9sZW4gPSBwYXRobmFtZS5sZW47CiAJZm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKSB7CiAJCURJUiAqZDsKIAogCQlkaXNwbGF5X3Byb2dyZXNzKHByb2dyZXNzLCBpICsgMSk7Ci0JCXNwcmludGYocGF0aG5hbWUgKyBsZW4sICIlMDJ4LyIsIGkpOwotCQlkID0gb3BlbmRpcihwYXRobmFtZSk7CisJCXN0cmJ1Zl9zZXRsZW4oJnBhdGhuYW1lLCB0b3BfbGVuKTsKKwkJc3RyYnVmX2FkZGYoJnBhdGhuYW1lLCAiJTAyeC8iLCBpKTsKKwkJZCA9IG9wZW5kaXIocGF0aG5hbWUuYnVmKTsKIAkJaWYgKCFkKQogCQkJY29udGludWU7Ci0JCXBydW5lX2RpcihpLCBkLCBwYXRobmFtZSwgbGVuICsgMywgb3B0cyk7CisJCXBydW5lX2RpcihpLCBkLCAmcGF0aG5hbWUsIG9wdHMpOwogCQljbG9zZWRpcihkKTsKLQkJcGF0aG5hbWVbbGVuICsgMl0gPSAnXDAnOwotCQlybWRpcihwYXRobmFtZSk7CisJCXN0cmJ1Zl9zZXRsZW4oJnBhdGhuYW1lLCB0b3BfbGVuICsgMik7CisJCXJtZGlyKHBhdGhuYW1lLmJ1Zik7CiAJfQogCXN0b3BfcHJvZ3Jlc3MoJnByb2dyZXNzKTsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vcHJ1bmUuYyBiL2J1aWx0aW4vcHJ1bmUuYwppbmRleCA2MzY2OTE3Li5kZTQzYjI2IDEwMDY0NAotLS0gYS9idWlsdGluL3BydW5lLmMKKysrIGIvYnVpbHRpbi9wcnVuZS5jCkBAIC0xNyw5ICsxNyw4IEBACiBzdGF0aWMgdW5zaWduZWQgbG9uZyBleHBpcmU7CiBzdGF0aWMgaW50IHNob3dfcHJvZ3Jlc3MgPSAtMTsKIAotc3RhdGljIGludCBwcnVuZV90bXBfb2JqZWN0KGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQorc3RhdGljIGludCBwcnVuZV90bXBfZmlsZShjb25zdCBjaGFyICpmdWxscGF0aCkKIHsKLQljb25zdCBjaGFyICpmdWxscGF0aCA9IG1rcGF0aCgiJXMvJXMiLCBwYXRoLCBmaWxlbmFtZSk7CiAJc3RydWN0IHN0YXQgc3Q7CiAJaWYgKGxzdGF0KGZ1bGxwYXRoLCAmc3QpKQogCQlyZXR1cm4gZXJyb3IoIkNvdWxkIG5vdCBzdGF0ICclcyciLCBmdWxscGF0aCk7CkBAIC0zMiw5ICszMSw4IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcHJ1bmVfb2JqZWN0KGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIGludCBwcnVuZV9vYmplY3QoY29uc3QgY2hhciAqZnVsbHBhdGgsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCiB7Ci0JY29uc3QgY2hhciAqZnVsbHBhdGggPSBta3BhdGgoIiVzLyVzIiwgcGF0aCwgZmlsZW5hbWUpOwogCXN0cnVjdCBzdGF0IHN0OwogCWlmIChsc3RhdChmdWxscGF0aCwgJnN0KSkKIAkJcmV0dXJuIGVycm9yKCJDb3VsZCBub3Qgc3RhdCAnJXMnIiwgZnVsbHBhdGgpOwpAQCAtNTAsOSArNDgsMTAgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBwcnVuZV9kaXIoaW50IGksIGNoYXIgKnBhdGgpCitzdGF0aWMgaW50IHBydW5lX2RpcihpbnQgaSwgc3RydWN0IHN0cmJ1ZiAqcGF0aCkKIHsKLQlESVIgKmRpciA9IG9wZW5kaXIocGF0aCk7CisJc2l6ZV90IGJhc2VsZW4gPSBwYXRoLT5sZW47CisJRElSICpkaXIgPSBvcGVuZGlyKHBhdGgtPmJ1Zik7CiAJc3RydWN0IGRpcmVudCAqZGU7CiAKIAlpZiAoIWRpcikKQEAgLTc3LDI4ICs3NiwzOSBAQAogCQkJaWYgKGxvb2t1cF9vYmplY3Qoc2hhMSkpCiAJCQkJY29udGludWU7CiAKLQkJCXBydW5lX29iamVjdChwYXRoLCBkZS0+ZF9uYW1lLCBzaGExKTsKKwkJCXN0cmJ1Zl9hZGRmKHBhdGgsICIvJXMiLCBkZS0+ZF9uYW1lKTsKKwkJCXBydW5lX29iamVjdChwYXRoLT5idWYsIHNoYTEpOworCQkJc3RyYnVmX3NldGxlbihwYXRoLCBiYXNlbGVuKTsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWlmICghcHJlZml4Y21wKGRlLT5kX25hbWUsICJ0bXBfb2JqXyIpKSB7Ci0JCQlwcnVuZV90bXBfb2JqZWN0KHBhdGgsIGRlLT5kX25hbWUpOworCQlpZiAoc3RhcnRzX3dpdGgoZGUtPmRfbmFtZSwgInRtcF9vYmpfIikpIHsKKwkJCXN0cmJ1Zl9hZGRmKHBhdGgsICIvJXMiLCBkZS0+ZF9uYW1lKTsKKwkJCXBydW5lX3RtcF9maWxlKHBhdGgtPmJ1Zik7CisJCQlzdHJidWZfc2V0bGVuKHBhdGgsIGJhc2VsZW4pOwogCQkJY29udGludWU7CiAJCX0KLQkJZnByaW50ZihzdGRlcnIsICJiYWQgc2hhMSBmaWxlOiAlcy8lc1xuIiwgcGF0aCwgZGUtPmRfbmFtZSk7CisJCWZwcmludGYoc3RkZXJyLCAiYmFkIHNoYTEgZmlsZTogJXMvJXNcbiIsIHBhdGgtPmJ1ZiwgZGUtPmRfbmFtZSk7CiAJfQogCWNsb3NlZGlyKGRpcik7CiAJaWYgKCFzaG93X29ubHkpCi0JCXJtZGlyKHBhdGgpOworCQlybWRpcihwYXRoLT5idWYpOwogCXJldHVybiAwOwogfQogCiBzdGF0aWMgdm9pZCBwcnVuZV9vYmplY3RfZGlyKGNvbnN0IGNoYXIgKnBhdGgpCiB7CisJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKKwlzaXplX3QgYmFzZWxlbjsKIAlpbnQgaTsKKworCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgcGF0aCk7CisJc3RyYnVmX2FkZGNoKCZidWYsICcvJyk7CisJYmFzZWxlbiA9IGJ1Zi5sZW47CisKIAlmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspIHsKLQkJc3RhdGljIGNoYXIgZGlyWzQwOTZdOwotCQlzcHJpbnRmKGRpciwgIiVzLyUwMngiLCBwYXRoLCBpKTsKLQkJcHJ1bmVfZGlyKGksIGRpcik7CisJCXN0cmJ1Zl9hZGRmKCZidWYsICIlMDJ4IiwgaSk7CisJCXBydW5lX2RpcihpLCAmYnVmKTsKKwkJc3RyYnVmX3NldGxlbigmYnVmLCBiYXNlbGVuKTsKIAl9CiB9CiAKQEAgLTExOSw4ICsxMjksOCBAQAogCQlyZXR1cm47CiAJfQogCXdoaWxlICgoZGUgPSByZWFkZGlyKGRpcikpICE9IE5VTEwpCi0JCWlmICghcHJlZml4Y21wKGRlLT5kX25hbWUsICJ0bXBfIikpCi0JCQlwcnVuZV90bXBfb2JqZWN0KHBhdGgsIGRlLT5kX25hbWUpOworCQlpZiAoc3RhcnRzX3dpdGgoZGUtPmRfbmFtZSwgInRtcF8iKSkKKwkJCXBydW5lX3RtcF9maWxlKG1rcGF0aCgiJXMvJXMiLCBwYXRoLCBkZS0+ZF9uYW1lKSk7CiAJY2xvc2VkaXIoZGlyKTsKIH0KIApAQCAtMTcwLDUgKzE4MCw5IEBACiAJcyA9IG1rcGF0aGR1cCgiJXMvcGFjayIsIGdldF9vYmplY3RfZGlyZWN0b3J5KCkpOwogCXJlbW92ZV90ZW1wb3JhcnlfZmlsZXMocyk7CiAJZnJlZShzKTsKKworCWlmIChpc19yZXBvc2l0b3J5X3NoYWxsb3coKSkKKwkJcHJ1bmVfc2hhbGxvdyhzaG93X29ubHkpOworCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9idWlsdGluL3B1c2guYyBiL2J1aWx0aW4vcHVzaC5jCmluZGV4IDA0ZjBlYWYuLjBlNTBkZGIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcHVzaC5jCisrKyBiL2J1aWx0aW4vcHVzaC5jCkBAIC0xNSwxMiArMTUsMTQgQEAKIAlOVUxMLAogfTsKIAotc3RhdGljIGludCB0aGluOworc3RhdGljIGludCB0aGluID0gMTsKIHN0YXRpYyBpbnQgZGVsZXRlcmVmczsKIHN0YXRpYyBjb25zdCBjaGFyICpyZWNlaXZlcGFjazsKIHN0YXRpYyBpbnQgdmVyYm9zaXR5Owogc3RhdGljIGludCBwcm9ncmVzcyA9IC0xOwogCitzdGF0aWMgc3RydWN0IHB1c2hfY2FzX29wdGlvbiBjYXM7CisKIHN0YXRpYyBjb25zdCBjaGFyICoqcmVmc3BlYzsKIHN0YXRpYyBpbnQgcmVmc3BlY19ucjsKIHN0YXRpYyBpbnQgcmVmc3BlY19hbGxvYzsKQEAgLTMzLDM1ICszNSw3NSBAQAogCXJlZnNwZWNbcmVmc3BlY19uci0xXSA9IHJlZjsKIH0KIAotc3RhdGljIHZvaWQgc2V0X3JlZnNwZWNzKGNvbnN0IGNoYXIgKipyZWZzLCBpbnQgbnIpCitzdGF0aWMgY29uc3QgY2hhciAqbWFwX3JlZnNwZWMoY29uc3QgY2hhciAqcmVmLAorCQkJICAgICAgIHN0cnVjdCByZW1vdGUgKnJlbW90ZSwgc3RydWN0IHJlZiAqbG9jYWxfcmVmcykKIHsKKwlzdHJ1Y3QgcmVmICptYXRjaGVkID0gTlVMTDsKKworCS8qIERvZXMgInJlZiIgdW5pcXVlbHkgbmFtZSBvdXIgcmVmPyAqLworCWlmIChjb3VudF9yZWZzcGVjX21hdGNoKHJlZiwgbG9jYWxfcmVmcywgJm1hdGNoZWQpICE9IDEpCisJCXJldHVybiByZWY7CisKKwlpZiAocmVtb3RlLT5wdXNoKSB7CisJCXN0cnVjdCByZWZzcGVjIHF1ZXJ5OworCQltZW1zZXQoJnF1ZXJ5LCAwLCBzaXplb2Yoc3RydWN0IHJlZnNwZWMpKTsKKwkJcXVlcnkuc3JjID0gbWF0Y2hlZC0+bmFtZTsKKwkJaWYgKCFxdWVyeV9yZWZzcGVjcyhyZW1vdGUtPnB1c2gsIHJlbW90ZS0+cHVzaF9yZWZzcGVjX25yLCAmcXVlcnkpICYmCisJCSAgICBxdWVyeS5kc3QpIHsKKwkJCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJCQlzdHJidWZfYWRkZigmYnVmLCAiJXMlczolcyIsCisJCQkJICAgIHF1ZXJ5LmZvcmNlID8gIisiIDogIiIsCisJCQkJICAgIHF1ZXJ5LnNyYywgcXVlcnkuZHN0KTsKKwkJCXJldHVybiBzdHJidWZfZGV0YWNoKCZidWYsIE5VTEwpOworCQl9CisJfQorCisJaWYgKHB1c2hfZGVmYXVsdCA9PSBQVVNIX0RFRkFVTFRfVVBTVFJFQU0gJiYKKwkgICAgIXByZWZpeGNtcChtYXRjaGVkLT5uYW1lLCAicmVmcy9oZWFkcy8iKSkgeworCQlzdHJ1Y3QgYnJhbmNoICpicmFuY2ggPSBicmFuY2hfZ2V0KG1hdGNoZWQtPm5hbWUgKyAxMSk7CisJCWlmIChicmFuY2gtPm1lcmdlX25yID09IDEgJiYgYnJhbmNoLT5tZXJnZVswXS0+c3JjKSB7CisJCQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCQkJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzOiVzIiwKKwkJCQkgICAgcmVmLCBicmFuY2gtPm1lcmdlWzBdLT5zcmMpOworCQkJcmV0dXJuIHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgTlVMTCk7CisJCX0KKwl9CisKKwlyZXR1cm4gcmVmOworfQorCitzdGF0aWMgdm9pZCBzZXRfcmVmc3BlY3MoY29uc3QgY2hhciAqKnJlZnMsIGludCBuciwgY29uc3QgY2hhciAqcmVwbykKK3sKKwlzdHJ1Y3QgcmVtb3RlICpyZW1vdGUgPSBOVUxMOworCXN0cnVjdCByZWYgKmxvY2FsX3JlZnMgPSBOVUxMOwogCWludCBpOworCiAJZm9yIChpID0gMDsgaSA8IG5yOyBpKyspIHsKIAkJY29uc3QgY2hhciAqcmVmID0gcmVmc1tpXTsKIAkJaWYgKCFzdHJjbXAoInRhZyIsIHJlZikpIHsKLQkJCWNoYXIgKnRhZzsKLQkJCWludCBsZW47CisJCQlzdHJ1Y3Qgc3RyYnVmIHRhZ3JlZiA9IFNUUkJVRl9JTklUOwogCQkJaWYgKG5yIDw9ICsraSkKIAkJCQlkaWUoXygidGFnIHNob3J0aGFuZCB3aXRob3V0IDx0YWc+IikpOwotCQkJbGVuID0gc3RybGVuKHJlZnNbaV0pICsgMTE7Ci0JCQlpZiAoZGVsZXRlcmVmcykgewotCQkJCXRhZyA9IHhtYWxsb2MobGVuKzEpOwotCQkJCXN0cmNweSh0YWcsICI6cmVmcy90YWdzLyIpOwotCQkJfSBlbHNlIHsKLQkJCQl0YWcgPSB4bWFsbG9jKGxlbik7Ci0JCQkJc3RyY3B5KHRhZywgInJlZnMvdGFncy8iKTsKKwkJCXJlZiA9IHJlZnNbaV07CisJCQlpZiAoZGVsZXRlcmVmcykKKwkJCQlzdHJidWZfYWRkZigmdGFncmVmLCAiOnJlZnMvdGFncy8lcyIsIHJlZik7CisJCQllbHNlCisJCQkJc3RyYnVmX2FkZGYoJnRhZ3JlZiwgInJlZnMvdGFncy8lcyIsIHJlZik7CisJCQlyZWYgPSBzdHJidWZfZGV0YWNoKCZ0YWdyZWYsIE5VTEwpOworCQl9IGVsc2UgaWYgKGRlbGV0ZXJlZnMpIHsKKwkJCXN0cnVjdCBzdHJidWYgZGVscmVmID0gU1RSQlVGX0lOSVQ7CisJCQlpZiAoc3RyY2hyKHJlZiwgJzonKSkKKwkJCQlkaWUoXygiLS1kZWxldGUgb25seSBhY2NlcHRzIHBsYWluIHRhcmdldCByZWYgbmFtZXMiKSk7CisJCQlzdHJidWZfYWRkZigmZGVscmVmLCAiOiVzIiwgcmVmKTsKKwkJCXJlZiA9IHN0cmJ1Zl9kZXRhY2goJmRlbHJlZiwgTlVMTCk7CisJCX0gZWxzZSBpZiAoIXN0cmNocihyZWYsICc6JykpIHsKKwkJCWlmICghcmVtb3RlKSB7CisJCQkJLyogbGF6aWx5IGdyYWIgcmVtb3RlIGFuZCBsb2NhbF9yZWZzICovCisJCQkJcmVtb3RlID0gcmVtb3RlX2dldChyZXBvKTsKKwkJCQlsb2NhbF9yZWZzID0gZ2V0X2xvY2FsX2hlYWRzKCk7CiAJCQl9Ci0JCQlzdHJjYXQodGFnLCByZWZzW2ldKTsKLQkJCXJlZiA9IHRhZzsKLQkJfSBlbHNlIGlmIChkZWxldGVyZWZzICYmICFzdHJjaHIocmVmLCAnOicpKSB7Ci0JCQljaGFyICpkZWxyZWY7Ci0JCQlpbnQgbGVuID0gc3RybGVuKHJlZikrMTsKLQkJCWRlbHJlZiA9IHhtYWxsb2MobGVuKzEpOwotCQkJc3RyY3B5KGRlbHJlZiwgIjoiKTsKLQkJCXN0cmNhdChkZWxyZWYsIHJlZik7Ci0JCQlyZWYgPSBkZWxyZWY7Ci0JCX0gZWxzZSBpZiAoZGVsZXRlcmVmcykKLQkJCWRpZShfKCItLWRlbGV0ZSBvbmx5IGFjY2VwdHMgcGxhaW4gdGFyZ2V0IHJlZiBuYW1lcyIpKTsKKwkJCXJlZiA9IG1hcF9yZWZzcGVjKHJlZiwgcmVtb3RlLCBsb2NhbF9yZWZzKTsKKwkJfQogCQlhZGRfcmVmc3BlYyhyZWYpOwogCX0KIH0KQEAgLTE3Miw2ICsyMTQsMTMgQEAKICAgICJcbiIKICAgICIgIGdpdCBjb25maWcgLS1nbG9iYWwgcHVzaC5kZWZhdWx0IHNpbXBsZVxuIgogICAgIlxuIgorICAgIldoZW4gcHVzaC5kZWZhdWx0IGlzIHNldCB0byAnbWF0Y2hpbmcnLCBnaXQgd2lsbCBwdXNoIGxvY2FsIGJyYW5jaGVzXG4iCisgICAidG8gdGhlIHJlbW90ZSBicmFuY2hlcyB0aGF0IGFscmVhZHkgZXhpc3Qgd2l0aCB0aGUgc2FtZSBuYW1lLlxuIgorICAgIlxuIgorICAgIkluIEdpdCAyLjAsIEdpdCB3aWxsIGRlZmF1bHQgdG8gdGhlIG1vcmUgY29uc2VydmF0aXZlICdzaW1wbGUnXG4iCisgICAiYmVoYXZpb3IsIHdoaWNoIG9ubHkgcHVzaGVzIHRoZSBjdXJyZW50IGJyYW5jaCB0byB0aGUgY29ycmVzcG9uZGluZ1xuIgorICAgInJlbW90ZSBicmFuY2ggdGhhdCAnZ2l0IHB1bGwnIHVzZXMgdG8gdXBkYXRlIHRoZSBjdXJyZW50IGJyYW5jaC5cbiIKKyAgICJcbiIKICAgICJTZWUgJ2dpdCBoZWxwIGNvbmZpZycgYW5kIHNlYXJjaCBmb3IgJ3B1c2guZGVmYXVsdCcgZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24uXG4iCiAgICAiKHRoZSAnc2ltcGxlJyBtb2RlIHdhcyBpbnRyb2R1Y2VkIGluIEdpdCAxLjcuMTEuIFVzZSB0aGUgc2ltaWxhciBtb2RlXG4iCiAgICAiJ2N1cnJlbnQnIGluc3RlYWQgb2YgJ3NpbXBsZScgaWYgeW91IHNvbWV0aW1lcyB1c2Ugb2xkZXIgdmVyc2lvbnMgb2YgR2l0KSIpOwpAQCAtMzEzLDggKzM2MiwxNCBAQAogCWlmIChyZWNlaXZlcGFjaykKIAkJdHJhbnNwb3J0X3NldF9vcHRpb24odHJhbnNwb3J0LAogCQkJCSAgICAgVFJBTlNfT1BUX1JFQ0VJVkVQQUNLLCByZWNlaXZlcGFjayk7Ci0JaWYgKHRoaW4pCi0JCXRyYW5zcG9ydF9zZXRfb3B0aW9uKHRyYW5zcG9ydCwgVFJBTlNfT1BUX1RISU4sICJ5ZXMiKTsKKwl0cmFuc3BvcnRfc2V0X29wdGlvbih0cmFuc3BvcnQsIFRSQU5TX09QVF9USElOLCB0aGluID8gInllcyIgOiBOVUxMKTsKKworCWlmICghaXNfZW1wdHlfY2FzKCZjYXMpKSB7CisJCWlmICghdHJhbnNwb3J0LT5zbWFydF9vcHRpb25zKQorCQkJZGllKCJ1bmRlcmx5aW5nIHRyYW5zcG9ydCBkb2VzIG5vdCBzdXBwb3J0IC0tJXMgb3B0aW9uIiwKKwkJCSAgICBDQVNfT1BUX05BTUUpOworCQl0cmFuc3BvcnQtPnNtYXJ0X29wdGlvbnMtPmNhcyA9ICZjYXM7CisJfQogCiAJaWYgKHZlcmJvc2l0eSA+IDApCiAJCWZwcmludGYoc3RkZXJyLCBfKCJQdXNoaW5nIHRvICVzXG4iKSwgdHJhbnNwb3J0LT51cmwpOwpAQCAtNDQ2LDE1ICs1MDEsMTkgQEAKIAkJT1BUX0JJVCggMCAsICJhbGwiLCAmZmxhZ3MsIE5fKCJwdXNoIGFsbCByZWZzIiksIFRSQU5TUE9SVF9QVVNIX0FMTCksCiAJCU9QVF9CSVQoIDAgLCAibWlycm9yIiwgJmZsYWdzLCBOXygibWlycm9yIGFsbCByZWZzIiksCiAJCQkgICAgKFRSQU5TUE9SVF9QVVNIX01JUlJPUnxUUkFOU1BPUlRfUFVTSF9GT1JDRSkpLAotCQlPUFRfQk9PTEVBTiggMCwgImRlbGV0ZSIsICZkZWxldGVyZWZzLCBOXygiZGVsZXRlIHJlZnMiKSksCi0JCU9QVF9CT09MRUFOKCAwICwgInRhZ3MiLCAmdGFncywgTl8oInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIpKSwKKwkJT1BUX0JPT0woIDAsICJkZWxldGUiLCAmZGVsZXRlcmVmcywgTl8oImRlbGV0ZSByZWZzIikpLAorCQlPUFRfQk9PTCggMCAsICJ0YWdzIiwgJnRhZ3MsIE5fKCJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiKSksCiAJCU9QVF9CSVQoJ24nICwgImRyeS1ydW4iLCAmZmxhZ3MsIE5fKCJkcnkgcnVuIiksIFRSQU5TUE9SVF9QVVNIX0RSWV9SVU4pLAogCQlPUFRfQklUKCAwLCAgInBvcmNlbGFpbiIsICZmbGFncywgTl8oIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IiksIFRSQU5TUE9SVF9QVVNIX1BPUkNFTEFJTiksCiAJCU9QVF9CSVQoJ2YnLCAiZm9yY2UiLCAmZmxhZ3MsIE5fKCJmb3JjZSB1cGRhdGVzIiksIFRSQU5TUE9SVF9QVVNIX0ZPUkNFKSwKKwkJeyBPUFRJT05fQ0FMTEJBQ0ssCisJCSAgMCwgQ0FTX09QVF9OQU1FLCAmY2FzLCBOXygicmVmbmFtZT46PGV4cGVjdCIpLAorCQkgIE5fKCJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIpLAorCQkgIFBBUlNFX09QVF9PUFRBUkcsIHBhcnNlb3B0X3B1c2hfY2FzX29wdGlvbiB9LAogCQl7IE9QVElPTl9DQUxMQkFDSywgMCwgInJlY3Vyc2Utc3VibW9kdWxlcyIsICZmbGFncywgTl8oImNoZWNrIiksCiAJCQlOXygiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIiksCiAJCQlQQVJTRV9PUFRfT1BUQVJHLCBvcHRpb25fcGFyc2VfcmVjdXJzZV9zdWJtb2R1bGVzIH0sCi0JCU9QVF9CT09MRUFOKCAwICwgInRoaW4iLCAmdGhpbiwgTl8oInVzZSB0aGluIHBhY2siKSksCisJCU9QVF9CT09MKCAwICwgInRoaW4iLCAmdGhpbiwgTl8oInVzZSB0aGluIHBhY2siKSksCiAJCU9QVF9TVFJJTkcoIDAgLCAicmVjZWl2ZS1wYWNrIiwgJnJlY2VpdmVwYWNrLCAicmVjZWl2ZS1wYWNrIiwgTl8oInJlY2VpdmUgcGFjayBwcm9ncmFtIikpLAogCQlPUFRfU1RSSU5HKCAwICwgImV4ZWMiLCAmcmVjZWl2ZXBhY2ssICJyZWNlaXZlLXBhY2siLCBOXygicmVjZWl2ZSBwYWNrIHByb2dyYW0iKSksCiAJCU9QVF9CSVQoJ3UnLCAic2V0LXVwc3RyZWFtIiwgJmZsYWdzLCBOXygic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiKSwKQEAgLTQ4Miw3ICs1NDEsNyBAQAogCiAJaWYgKGFyZ2MgPiAwKSB7CiAJCXJlcG8gPSBhcmd2WzBdOwotCQlzZXRfcmVmc3BlY3MoYXJndiArIDEsIGFyZ2MgLSAxKTsKKwkJc2V0X3JlZnNwZWNzKGFyZ3YgKyAxLCBhcmdjIC0gMSwgcmVwbyk7CiAJfQogCiAJcmMgPSBkb19wdXNoKHJlcG8sIGZsYWdzKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVhZC10cmVlLmMgYi9idWlsdGluL3JlYWQtdHJlZS5jCmluZGV4IDBmNWQ3ZmUuLjBkN2VmODQgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVhZC10cmVlLmMKKysrIGIvYnVpbHRpbi9yZWFkLXRyZWUuYwpAQCAtMTc4LDcgKzE3OCw3IEBACiAKIAlpZiAoMSA8IG9wdHMuaW5kZXhfb25seSArIG9wdHMudXBkYXRlKQogCQlkaWUoIi11IGFuZCAtaSBhdCB0aGUgc2FtZSB0aW1lIG1ha2VzIG5vIHNlbnNlIik7Ci0JaWYgKChvcHRzLnVwZGF0ZXx8b3B0cy5pbmRleF9vbmx5KSAmJiAhb3B0cy5tZXJnZSkKKwlpZiAoKG9wdHMudXBkYXRlIHx8IG9wdHMuaW5kZXhfb25seSkgJiYgIW9wdHMubWVyZ2UpCiAJCWRpZSgiJXMgaXMgbWVhbmluZ2xlc3Mgd2l0aG91dCAtbSwgLS1yZXNldCwgb3IgLS1wcmVmaXgiLAogCQkgICAgb3B0cy51cGRhdGUgPyAiLXUiIDogIi1pIik7CiAJaWYgKChvcHRzLmRpciAmJiAhb3B0cy51cGRhdGUpKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZWNlaXZlLXBhY2suYyBiL2J1aWx0aW4vcmVjZWl2ZS1wYWNrLmMKaW5kZXggZTNlYjVmYy4uODViYmEzNSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9yZWNlaXZlLXBhY2suYworKysgYi9idWlsdGluL3JlY2VpdmUtcGFjay5jCkBAIC04LDEwICs4LDEyIEBACiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAib2JqZWN0LmgiCiAjaW5jbHVkZSAicmVtb3RlLmgiCisjaW5jbHVkZSAiY29ubmVjdC5oIgogI2luY2x1ZGUgInRyYW5zcG9ydC5oIgogI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCiAjaW5jbHVkZSAic2hhMS1hcnJheS5oIgogI2luY2x1ZGUgImNvbm5lY3RlZC5oIgorI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKICNpbmNsdWRlICJ2ZXJzaW9uLmgiCiAKIHN0YXRpYyBjb25zdCBjaGFyIHJlY2VpdmVfcGFja191c2FnZVtdID0gImdpdCByZWNlaXZlLXBhY2sgPGdpdC1kaXI+IjsKQEAgLTM4LDkgKzQwLDEyIEBACiBzdGF0aWMgaW50IHByZWZlcl9vZnNfZGVsdGEgPSAxOwogc3RhdGljIGludCBhdXRvX3VwZGF0ZV9zZXJ2ZXJfaW5mbzsKIHN0YXRpYyBpbnQgYXV0b19nYyA9IDE7CitzdGF0aWMgaW50IGZpeF90aGluID0gMTsKIHN0YXRpYyBjb25zdCBjaGFyICpoZWFkX25hbWU7CiBzdGF0aWMgdm9pZCAqaGVhZF9uYW1lX3RvX2ZyZWU7CiBzdGF0aWMgaW50IHNlbnRfY2FwYWJpbGl0aWVzOworc3RhdGljIGludCBzaGFsbG93X3VwZGF0ZTsKK3N0YXRpYyBjb25zdCBjaGFyICphbHRfc2hhbGxvd19maWxlOwogCiBzdGF0aWMgZW51bSBkZW55X2FjdGlvbiBwYXJzZV9kZW55X2FjdGlvbihjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlKQogewpAQCAtMTE5LDYgKzEyNCwxMSBAQAogCQlyZXR1cm4gMDsKIAl9CiAKKwlpZiAoc3RyY21wKHZhciwgInJlY2VpdmUuc2hhbGxvd3VwZGF0ZSIpID09IDApIHsKKwkJc2hhbGxvd191cGRhdGUgPSBnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSk7CisJCXJldHVybiAwOworCX0KKwogCXJldHVybiBnaXRfZGVmYXVsdF9jb25maWcodmFyLCB2YWx1ZSwgY2IpOwogfQogCkBAIC0xNzYsNiArMTg2LDggQEAKIAlpZiAoIXNlbnRfY2FwYWJpbGl0aWVzKQogCQlzaG93X3JlZigiY2FwYWJpbGl0aWVzXnt9IiwgbnVsbF9zaGExKTsKIAorCWFkdmVydGlzZV9zaGFsbG93X2dyYWZ0cygxKTsKKwogCS8qIEVPRiAqLwogCXBhY2tldF9mbHVzaCgxKTsKIH0KQEAgLTE4NSw2ICsxOTcsNyBAQAogCWNvbnN0IGNoYXIgKmVycm9yX3N0cmluZzsKIAl1bnNpZ25lZCBpbnQgc2tpcF91cGRhdGU6MSwKIAkJICAgICBkaWRfbm90X2V4aXN0OjE7CisJaW50IGluZGV4OwogCXVuc2lnbmVkIGNoYXIgb2xkX3NoYTFbMjBdOwogCXVuc2lnbmVkIGNoYXIgbmV3X3NoYTFbMjBdOwogCWNoYXIgcmVmX25hbWVbRkxFWF9BUlJBWV07IC8qIG1vcmUgKi8KQEAgLTQxNiw3ICs0MjksNDYgQEAKIAkJcnBfZXJyb3IoIiVzIiwgcmVmdXNlX3VuY29uZmlndXJlZF9kZW55X2RlbGV0ZV9jdXJyZW50X21zZ1tpXSk7CiB9CiAKLXN0YXRpYyBjb25zdCBjaGFyICp1cGRhdGUoc3RydWN0IGNvbW1hbmQgKmNtZCkKK3N0YXRpYyBpbnQgY29tbWFuZF9zaW5nbGV0b25faXRlcmF0b3Iodm9pZCAqY2JfZGF0YSwgdW5zaWduZWQgY2hhciBzaGExWzIwXSk7CitzdGF0aWMgaW50IHVwZGF0ZV9zaGFsbG93X3JlZihzdHJ1Y3QgY29tbWFuZCAqY21kLCBzdHJ1Y3Qgc2hhbGxvd19pbmZvICpzaSkKK3sKKwlzdGF0aWMgc3RydWN0IGxvY2tfZmlsZSBzaGFsbG93X2xvY2s7CisJc3RydWN0IHNoYTFfYXJyYXkgZXh0cmEgPSBTSEExX0FSUkFZX0lOSVQ7CisJY29uc3QgY2hhciAqYWx0X2ZpbGU7CisJdWludDMyX3QgbWFzayA9IDEgPDwgKGNtZC0+aW5kZXggJSAzMik7CisJaW50IGk7CisKKwl0cmFjZV9wcmludGZfa2V5KCJHSVRfVFJBQ0VfU0hBTExPVyIsCisJCQkgInNoYWxsb3c6IHVwZGF0ZV9zaGFsbG93X3JlZiAlc1xuIiwgY21kLT5yZWZfbmFtZSk7CisJZm9yIChpID0gMDsgaSA8IHNpLT5zaGFsbG93LT5ucjsgaSsrKQorCQlpZiAoc2ktPnVzZWRfc2hhbGxvd1tpXSAmJgorCQkgICAgKHNpLT51c2VkX3NoYWxsb3dbaV1bY21kLT5pbmRleCAvIDMyXSAmIG1hc2spICYmCisJCSAgICAhZGVsYXllZF9yZWFjaGFiaWxpdHlfdGVzdChzaSwgaSkpCisJCQlzaGExX2FycmF5X2FwcGVuZCgmZXh0cmEsIHNpLT5zaGFsbG93LT5zaGExW2ldKTsKKworCXNldHVwX2FsdGVybmF0ZV9zaGFsbG93KCZzaGFsbG93X2xvY2ssICZhbHRfZmlsZSwgJmV4dHJhKTsKKwlpZiAoY2hlY2tfc2hhbGxvd19jb25uZWN0ZWQoY29tbWFuZF9zaW5nbGV0b25faXRlcmF0b3IsCisJCQkJICAgIDAsIGNtZCwgYWx0X2ZpbGUpKSB7CisJCXJvbGxiYWNrX2xvY2tfZmlsZSgmc2hhbGxvd19sb2NrKTsKKwkJc2hhMV9hcnJheV9jbGVhcigmZXh0cmEpOworCQlyZXR1cm4gLTE7CisJfQorCisJY29tbWl0X2xvY2tfZmlsZSgmc2hhbGxvd19sb2NrKTsKKworCS8qCisJICogTWFrZSBzdXJlIHNldHVwX2FsdGVybmF0ZV9zaGFsbG93KCkgZm9yIHRoZSBuZXh0IHJlZiBkb2VzCisJICogbm90IGxvc2UgdGhlc2UgbmV3IHJvb3RzLi4KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgZXh0cmEubnI7IGkrKykKKwkJcmVnaXN0ZXJfc2hhbGxvdyhleHRyYS5zaGExW2ldKTsKKworCXNpLT5zaGFsbG93X3JlZltjbWQtPmluZGV4XSA9IDA7CisJc2hhMV9hcnJheV9jbGVhcigmZXh0cmEpOworCXJldHVybiAwOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqdXBkYXRlKHN0cnVjdCBjb21tYW5kICpjbWQsIHN0cnVjdCBzaGFsbG93X2luZm8gKnNpKQogewogCWNvbnN0IGNoYXIgKm5hbWUgPSBjbWQtPnJlZl9uYW1lOwogCXN0cnVjdCBzdHJidWYgbmFtZXNwYWNlZF9uYW1lX2J1ZiA9IFNUUkJVRl9JTklUOwpAQCAtNDI2LDcgKzQ3OCw3IEBACiAJc3RydWN0IHJlZl9sb2NrICpsb2NrOwogCiAJLyogb25seSByZWZzLy4uLiBhcmUgYWxsb3dlZCAqLwotCWlmIChwcmVmaXhjbXAobmFtZSwgInJlZnMvIikgfHwgY2hlY2tfcmVmbmFtZV9mb3JtYXQobmFtZSArIDUsIDApKSB7CisJaWYgKCFzdGFydHNfd2l0aChuYW1lLCAicmVmcy8iKSB8fCBjaGVja19yZWZuYW1lX2Zvcm1hdChuYW1lICsgNSwgMCkpIHsKIAkJcnBfZXJyb3IoInJlZnVzaW5nIHRvIGNyZWF0ZSBmdW5ueSByZWYgJyVzJyByZW1vdGVseSIsIG5hbWUpOwogCQlyZXR1cm4gImZ1bm55IHJlZm5hbWUiOwogCX0KQEAgLTQ1Nyw3ICs1MDksNyBAQAogCX0KIAogCWlmICghaXNfbnVsbF9zaGExKG9sZF9zaGExKSAmJiBpc19udWxsX3NoYTEobmV3X3NoYTEpKSB7Ci0JCWlmIChkZW55X2RlbGV0ZXMgJiYgIXByZWZpeGNtcChuYW1lLCAicmVmcy9oZWFkcy8iKSkgeworCQlpZiAoZGVueV9kZWxldGVzICYmIHN0YXJ0c193aXRoKG5hbWUsICJyZWZzL2hlYWRzLyIpKSB7CiAJCQlycF9lcnJvcigiZGVueWluZyByZWYgZGVsZXRpb24gZm9yICVzIiwgbmFtZSk7CiAJCQlyZXR1cm4gImRlbGV0aW9uIHByb2hpYml0ZWQiOwogCQl9CkBAIC00ODEsNyArNTMzLDcgQEAKIAogCWlmIChkZW55X25vbl9mYXN0X2ZvcndhcmRzICYmICFpc19udWxsX3NoYTEobmV3X3NoYTEpICYmCiAJICAgICFpc19udWxsX3NoYTEob2xkX3NoYTEpICYmCi0JICAgICFwcmVmaXhjbXAobmFtZSwgInJlZnMvaGVhZHMvIikpIHsKKwkgICAgc3RhcnRzX3dpdGgobmFtZSwgInJlZnMvaGVhZHMvIikpIHsKIAkJc3RydWN0IG9iamVjdCAqb2xkX29iamVjdCwgKm5ld19vYmplY3Q7CiAJCXN0cnVjdCBjb21taXQgKm9sZF9jb21taXQsICpuZXdfY29tbWl0OwogCkBAIC01MjQsNyArNTc2LDEyIEBACiAJCXJldHVybiBOVUxMOyAvKiBnb29kICovCiAJfQogCWVsc2UgewotCQlsb2NrID0gbG9ja19hbnlfcmVmX2Zvcl91cGRhdGUobmFtZXNwYWNlZF9uYW1lLCBvbGRfc2hhMSwgMCk7CisJCWlmIChzaGFsbG93X3VwZGF0ZSAmJiBzaS0+c2hhbGxvd19yZWZbY21kLT5pbmRleF0gJiYKKwkJICAgIHVwZGF0ZV9zaGFsbG93X3JlZihjbWQsIHNpKSkKKwkJCXJldHVybiAic2hhbGxvdyBlcnJvciI7CisKKwkJbG9jayA9IGxvY2tfYW55X3JlZl9mb3JfdXBkYXRlKG5hbWVzcGFjZWRfbmFtZSwgb2xkX3NoYTEsCisJCQkJCSAgICAgICAwLCBOVUxMKTsKIAkJaWYgKCFsb2NrKSB7CiAJCQlycF9lcnJvcigiZmFpbGVkIHRvIGxvY2sgJXMiLCBuYW1lKTsKIAkJCXJldHVybiAiZmFpbGVkIHRvIGxvY2siOwpAQCAtNjYzLDEyICs3MjAsMTYgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgc2V0X2Nvbm5lY3Rpdml0eV9lcnJvcnMoc3RydWN0IGNvbW1hbmQgKmNvbW1hbmRzKQorc3RhdGljIHZvaWQgc2V0X2Nvbm5lY3Rpdml0eV9lcnJvcnMoc3RydWN0IGNvbW1hbmQgKmNvbW1hbmRzLAorCQkJCSAgICBzdHJ1Y3Qgc2hhbGxvd19pbmZvICpzaSkKIHsKIAlzdHJ1Y3QgY29tbWFuZCAqY21kOwogCiAJZm9yIChjbWQgPSBjb21tYW5kczsgY21kOyBjbWQgPSBjbWQtPm5leHQpIHsKIAkJc3RydWN0IGNvbW1hbmQgKnNpbmdsZXRvbiA9IGNtZDsKKwkJaWYgKHNoYWxsb3dfdXBkYXRlICYmIHNpLT5zaGFsbG93X3JlZltjbWQtPmluZGV4XSkKKwkJCS8qIHRvIGJlIGNoZWNrZWQgaW4gdXBkYXRlX3NoYWxsb3dfcmVmKCkgKi8KKwkJCWNvbnRpbnVlOwogCQlpZiAoIWNoZWNrX2V2ZXJ5dGhpbmdfY29ubmVjdGVkKGNvbW1hbmRfc2luZ2xldG9uX2l0ZXJhdG9yLAogCQkJCQkJMCwgJnNpbmdsZXRvbikpCiAJCQljb250aW51ZTsKQEAgLTY3NiwxOCArNzM3LDI2IEBACiAJfQogfQogCitzdHJ1Y3QgaXRlcmF0ZV9kYXRhIHsKKwlzdHJ1Y3QgY29tbWFuZCAqY21kczsKKwlzdHJ1Y3Qgc2hhbGxvd19pbmZvICpzaTsKK307CisKIHN0YXRpYyBpbnQgaXRlcmF0ZV9yZWNlaXZlX2NvbW1hbmRfbGlzdCh2b2lkICpjYl9kYXRhLCB1bnNpZ25lZCBjaGFyIHNoYTFbMjBdKQogewotCXN0cnVjdCBjb21tYW5kICoqY21kX2xpc3QgPSBjYl9kYXRhOworCXN0cnVjdCBpdGVyYXRlX2RhdGEgKmRhdGEgPSBjYl9kYXRhOworCXN0cnVjdCBjb21tYW5kICoqY21kX2xpc3QgPSAmZGF0YS0+Y21kczsKIAlzdHJ1Y3QgY29tbWFuZCAqY21kID0gKmNtZF9saXN0OwogCi0Jd2hpbGUgKGNtZCkgewotCQlpZiAoIWlzX251bGxfc2hhMShjbWQtPm5ld19zaGExKSkgeworCWZvciAoOyBjbWQ7IGNtZCA9IGNtZC0+bmV4dCkgeworCQlpZiAoc2hhbGxvd191cGRhdGUgJiYgZGF0YS0+c2ktPnNoYWxsb3dfcmVmW2NtZC0+aW5kZXhdKQorCQkJLyogdG8gYmUgY2hlY2tlZCBpbiB1cGRhdGVfc2hhbGxvd19yZWYoKSAqLworCQkJY29udGludWU7CisJCWlmICghaXNfbnVsbF9zaGExKGNtZC0+bmV3X3NoYTEpICYmICFjbWQtPnNraXBfdXBkYXRlKSB7CiAJCQloYXNoY3B5KHNoYTEsIGNtZC0+bmV3X3NoYTEpOwogCQkJKmNtZF9saXN0ID0gY21kLT5uZXh0OwogCQkJcmV0dXJuIDA7CiAJCX0KLQkJY21kID0gY21kLT5uZXh0OwogCX0KIAkqY21kX2xpc3QgPSBOVUxMOwogCXJldHVybiAtMTsgLyogZW5kIG9mIGxpc3QgKi8KQEAgLTcwNywxMCArNzc2LDE0IEBACiAJfQogfQogCi1zdGF0aWMgdm9pZCBleGVjdXRlX2NvbW1hbmRzKHN0cnVjdCBjb21tYW5kICpjb21tYW5kcywgY29uc3QgY2hhciAqdW5wYWNrZXJfZXJyb3IpCitzdGF0aWMgdm9pZCBleGVjdXRlX2NvbW1hbmRzKHN0cnVjdCBjb21tYW5kICpjb21tYW5kcywKKwkJCSAgICAgY29uc3QgY2hhciAqdW5wYWNrZXJfZXJyb3IsCisJCQkgICAgIHN0cnVjdCBzaGFsbG93X2luZm8gKnNpKQogeworCWludCBjaGVja2VkX2Nvbm5lY3Rpdml0eTsKIAlzdHJ1Y3QgY29tbWFuZCAqY21kOwogCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IGl0ZXJhdGVfZGF0YSBkYXRhOwogCiAJaWYgKHVucGFja2VyX2Vycm9yKSB7CiAJCWZvciAoY21kID0gY29tbWFuZHM7IGNtZDsgY21kID0gY21kLT5uZXh0KQpAQCAtNzE4LDEwICs3OTEsMTAgQEAKIAkJcmV0dXJuOwogCX0KIAotCWNtZCA9IGNvbW1hbmRzOwotCWlmIChjaGVja19ldmVyeXRoaW5nX2Nvbm5lY3RlZChpdGVyYXRlX3JlY2VpdmVfY29tbWFuZF9saXN0LAotCQkJCSAgICAgICAwLCAmY21kKSkKLQkJc2V0X2Nvbm5lY3Rpdml0eV9lcnJvcnMoY29tbWFuZHMpOworCWRhdGEuY21kcyA9IGNvbW1hbmRzOworCWRhdGEuc2kgPSBzaTsKKwlpZiAoY2hlY2tfZXZlcnl0aGluZ19jb25uZWN0ZWQoaXRlcmF0ZV9yZWNlaXZlX2NvbW1hbmRfbGlzdCwgMCwgJmRhdGEpKQorCQlzZXRfY29ubmVjdGl2aXR5X2Vycm9ycyhjb21tYW5kcywgc2kpOwogCiAJcmVqZWN0X3VwZGF0ZXNfdG9faGlkZGVuKGNvbW1hbmRzKTsKIApAQCAtNzM4LDYgKzgxMSw3IEBACiAJZnJlZShoZWFkX25hbWVfdG9fZnJlZSk7CiAJaGVhZF9uYW1lID0gaGVhZF9uYW1lX3RvX2ZyZWUgPSByZXNvbHZlX3JlZmR1cCgiSEVBRCIsIHNoYTEsIDAsIE5VTEwpOwogCisJY2hlY2tlZF9jb25uZWN0aXZpdHkgPSAxOwogCWZvciAoY21kID0gY29tbWFuZHM7IGNtZDsgY21kID0gY21kLT5uZXh0KSB7CiAJCWlmIChjbWQtPmVycm9yX3N0cmluZykKIAkJCWNvbnRpbnVlOwpAQCAtNzQ1LDExICs4MTksMjYgQEAKIAkJaWYgKGNtZC0+c2tpcF91cGRhdGUpCiAJCQljb250aW51ZTsKIAotCQljbWQtPmVycm9yX3N0cmluZyA9IHVwZGF0ZShjbWQpOworCQljbWQtPmVycm9yX3N0cmluZyA9IHVwZGF0ZShjbWQsIHNpKTsKKwkJaWYgKHNoYWxsb3dfdXBkYXRlICYmICFjbWQtPmVycm9yX3N0cmluZyAmJgorCQkgICAgc2ktPnNoYWxsb3dfcmVmW2NtZC0+aW5kZXhdKSB7CisJCQllcnJvcigiQlVHOiBjb25uZWN0aXZpdHkgY2hlY2sgaGFzIG5vdCBiZWVuIHJ1biBvbiByZWYgJXMiLAorCQkJICAgICAgY21kLT5yZWZfbmFtZSk7CisJCQljaGVja2VkX2Nvbm5lY3Rpdml0eSA9IDA7CisJCX0KKwl9CisKKwlpZiAoc2hhbGxvd191cGRhdGUpIHsKKwkJaWYgKCFjaGVja2VkX2Nvbm5lY3Rpdml0eSkKKwkJCWVycm9yKCJCVUc6IHJ1biAnZ2l0IGZzY2snIGZvciBzYWZldHkuXG4iCisJCQkgICAgICAiSWYgdGhlcmUgYXJlIGVycm9ycywgdHJ5IHRvIHJlbW92ZSAiCisJCQkgICAgICAidGhlIHJlcG9ydGVkIHJlZnMgYWJvdmUiKTsKKwkJaWYgKGFsdF9zaGFsbG93X2ZpbGUgJiYgKmFsdF9zaGFsbG93X2ZpbGUpCisJCQl1bmxpbmsoYWx0X3NoYWxsb3dfZmlsZSk7CiAJfQogfQogCi1zdGF0aWMgc3RydWN0IGNvbW1hbmQgKnJlYWRfaGVhZF9pbmZvKHZvaWQpCitzdGF0aWMgc3RydWN0IGNvbW1hbmQgKnJlYWRfaGVhZF9pbmZvKHN0cnVjdCBzaGExX2FycmF5ICpzaGFsbG93KQogewogCXN0cnVjdCBjb21tYW5kICpjb21tYW5kcyA9IE5VTEw7CiAJc3RydWN0IGNvbW1hbmQgKipwID0gJmNvbW1hbmRzOwpAQCAtNzYzLDYgKzg1MiwxNCBAQAogCQlsaW5lID0gcGFja2V0X3JlYWRfbGluZSgwLCAmbGVuKTsKIAkJaWYgKCFsaW5lKQogCQkJYnJlYWs7CisKKwkJaWYgKGxlbiA9PSA0OCAmJiBzdGFydHNfd2l0aChsaW5lLCAic2hhbGxvdyAiKSkgeworCQkJaWYgKGdldF9zaGExX2hleChsaW5lICsgOCwgb2xkX3NoYTEpKQorCQkJCWRpZSgicHJvdG9jb2wgZXJyb3I6IGV4cGVjdGVkIHNoYWxsb3cgc2hhLCBnb3QgJyVzJyIsIGxpbmUgKyA4KTsKKwkJCXNoYTFfYXJyYXlfYXBwZW5kKHNoYWxsb3csIG9sZF9zaGExKTsKKwkJCWNvbnRpbnVlOworCQl9CisKIAkJaWYgKGxlbiA8IDgzIHx8CiAJCSAgICBsaW5lWzQwXSAhPSAnICcgfHwKIAkJICAgIGxpbmVbODFdICE9ICcgJyB8fApAQCAtODE0LDExICs5MTEsMTQgQEAKIAogc3RhdGljIGNvbnN0IGNoYXIgKnBhY2tfbG9ja2ZpbGU7CiAKLXN0YXRpYyBjb25zdCBjaGFyICp1bnBhY2soaW50IGVycl9mZCkKK3N0YXRpYyBjb25zdCBjaGFyICp1bnBhY2soaW50IGVycl9mZCwgc3RydWN0IHNoYWxsb3dfaW5mbyAqc2kpCiB7CiAJc3RydWN0IHBhY2tfaGVhZGVyIGhkcjsKKwlzdHJ1Y3QgYXJndl9hcnJheSBhdiA9IEFSR1ZfQVJSQVlfSU5JVDsKIAljb25zdCBjaGFyICpoZHJfZXJyOworCWludCBzdGF0dXM7CiAJY2hhciBoZHJfYXJnWzM4XTsKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjaGlsZDsKIAlpbnQgZnNja19vYmplY3RzID0gKHJlY2VpdmVfZnNja19vYmplY3RzID49IDAKIAkJCSAgICA/IHJlY2VpdmVfZnNja19vYmplY3RzCiAJCQkgICAgOiB0cmFuc2Zlcl9mc2NrX29iamVjdHMgPj0gMApAQCAtODM1LDcxICs5MzUsNjMgQEAKIAkJCSItLXBhY2tfaGVhZGVyPSUiUFJJdTMyIiwlIlBSSXUzMiwKIAkJCW50b2hsKGhkci5oZHJfdmVyc2lvbiksIG50b2hsKGhkci5oZHJfZW50cmllcykpOwogCisJaWYgKHNpLT5ucl9vdXJzIHx8IHNpLT5ucl90aGVpcnMpIHsKKwkJYWx0X3NoYWxsb3dfZmlsZSA9IHNldHVwX3RlbXBvcmFyeV9zaGFsbG93KHNpLT5zaGFsbG93KTsKKwkJYXJndl9hcnJheV9wdXNobCgmYXYsICItLXNoYWxsb3ctZmlsZSIsIGFsdF9zaGFsbG93X2ZpbGUsIE5VTEwpOworCX0KKworCW1lbXNldCgmY2hpbGQsIDAsIHNpemVvZihjaGlsZCkpOwogCWlmIChudG9obChoZHIuaGRyX2VudHJpZXMpIDwgdW5wYWNrX2xpbWl0KSB7Ci0JCWludCBjb2RlLCBpID0gMDsKLQkJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY2hpbGQ7Ci0JCWNvbnN0IGNoYXIgKnVucGFja2VyWzVdOwotCQl1bnBhY2tlcltpKytdID0gInVucGFjay1vYmplY3RzIjsKKwkJYXJndl9hcnJheV9wdXNobCgmYXYsICJ1bnBhY2stb2JqZWN0cyIsIGhkcl9hcmcsIE5VTEwpOwogCQlpZiAocXVpZXQpCi0JCQl1bnBhY2tlcltpKytdID0gIi1xIjsKKwkJCWFyZ3ZfYXJyYXlfcHVzaCgmYXYsICItcSIpOwogCQlpZiAoZnNja19vYmplY3RzKQotCQkJdW5wYWNrZXJbaSsrXSA9ICItLXN0cmljdCI7Ci0JCXVucGFja2VyW2krK10gPSBoZHJfYXJnOwotCQl1bnBhY2tlcltpKytdID0gTlVMTDsKLQkJbWVtc2V0KCZjaGlsZCwgMCwgc2l6ZW9mKGNoaWxkKSk7Ci0JCWNoaWxkLmFyZ3YgPSB1bnBhY2tlcjsKKwkJCWFyZ3ZfYXJyYXlfcHVzaCgmYXYsICItLXN0cmljdCIpOworCQljaGlsZC5hcmd2ID0gYXYuYXJndjsKIAkJY2hpbGQubm9fc3Rkb3V0ID0gMTsKIAkJY2hpbGQuZXJyID0gZXJyX2ZkOwogCQljaGlsZC5naXRfY21kID0gMTsKLQkJY29kZSA9IHJ1bl9jb21tYW5kKCZjaGlsZCk7Ci0JCWlmICghY29kZSkKLQkJCXJldHVybiBOVUxMOwotCQlyZXR1cm4gInVucGFjay1vYmplY3RzIGFibm9ybWFsIGV4aXQiOworCQlzdGF0dXMgPSBydW5fY29tbWFuZCgmY2hpbGQpOworCQlpZiAoc3RhdHVzKQorCQkJcmV0dXJuICJ1bnBhY2stb2JqZWN0cyBhYm5vcm1hbCBleGl0IjsKIAl9IGVsc2UgewotCQljb25zdCBjaGFyICprZWVwZXJbN107Ci0JCWludCBzLCBzdGF0dXMsIGkgPSAwOworCQlpbnQgczsKIAkJY2hhciBrZWVwX2FyZ1syNTZdOwotCQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBpcDsKIAogCQlzID0gc3ByaW50ZihrZWVwX2FyZywgIi0ta2VlcD1yZWNlaXZlLXBhY2sgJSJQUkl1TUFYIiBvbiAiLCAodWludG1heF90KSBnZXRwaWQoKSk7CiAJCWlmIChnZXRob3N0bmFtZShrZWVwX2FyZyArIHMsIHNpemVvZihrZWVwX2FyZykgLSBzKSkKIAkJCXN0cmNweShrZWVwX2FyZyArIHMsICJsb2NhbGhvc3QiKTsKIAotCQlrZWVwZXJbaSsrXSA9ICJpbmRleC1wYWNrIjsKLQkJa2VlcGVyW2krK10gPSAiLS1zdGRpbiI7CisJCWFyZ3ZfYXJyYXlfcHVzaGwoJmF2LCAiaW5kZXgtcGFjayIsCisJCQkJICItLXN0ZGluIiwgaGRyX2FyZywga2VlcF9hcmcsIE5VTEwpOwogCQlpZiAoZnNja19vYmplY3RzKQotCQkJa2VlcGVyW2krK10gPSAiLS1zdHJpY3QiOwotCQlrZWVwZXJbaSsrXSA9ICItLWZpeC10aGluIjsKLQkJa2VlcGVyW2krK10gPSBoZHJfYXJnOwotCQlrZWVwZXJbaSsrXSA9IGtlZXBfYXJnOwotCQlrZWVwZXJbaSsrXSA9IE5VTEw7Ci0JCW1lbXNldCgmaXAsIDAsIHNpemVvZihpcCkpOwotCQlpcC5hcmd2ID0ga2VlcGVyOwotCQlpcC5vdXQgPSAtMTsKLQkJaXAuZXJyID0gZXJyX2ZkOwotCQlpcC5naXRfY21kID0gMTsKLQkJc3RhdHVzID0gc3RhcnRfY29tbWFuZCgmaXApOwotCQlpZiAoc3RhdHVzKSB7CisJCQlhcmd2X2FycmF5X3B1c2goJmF2LCAiLS1zdHJpY3QiKTsKKwkJaWYgKGZpeF90aGluKQorCQkJYXJndl9hcnJheV9wdXNoKCZhdiwgIi0tZml4LXRoaW4iKTsKKwkJY2hpbGQuYXJndiA9IGF2LmFyZ3Y7CisJCWNoaWxkLm91dCA9IC0xOworCQljaGlsZC5lcnIgPSBlcnJfZmQ7CisJCWNoaWxkLmdpdF9jbWQgPSAxOworCQlzdGF0dXMgPSBzdGFydF9jb21tYW5kKCZjaGlsZCk7CisJCWlmIChzdGF0dXMpCiAJCQlyZXR1cm4gImluZGV4LXBhY2sgZm9yayBmYWlsZWQiOwotCQl9Ci0JCXBhY2tfbG9ja2ZpbGUgPSBpbmRleF9wYWNrX2xvY2tmaWxlKGlwLm91dCk7Ci0JCWNsb3NlKGlwLm91dCk7Ci0JCXN0YXR1cyA9IGZpbmlzaF9jb21tYW5kKCZpcCk7Ci0JCWlmICghc3RhdHVzKSB7Ci0JCQlyZXByZXBhcmVfcGFja2VkX2dpdCgpOwotCQkJcmV0dXJuIE5VTEw7Ci0JCX0KLQkJcmV0dXJuICJpbmRleC1wYWNrIGFibm9ybWFsIGV4aXQiOworCQlwYWNrX2xvY2tmaWxlID0gaW5kZXhfcGFja19sb2NrZmlsZShjaGlsZC5vdXQpOworCQljbG9zZShjaGlsZC5vdXQpOworCQlzdGF0dXMgPSBmaW5pc2hfY29tbWFuZCgmY2hpbGQpOworCQlpZiAoc3RhdHVzKQorCQkJcmV0dXJuICJpbmRleC1wYWNrIGFibm9ybWFsIGV4aXQiOworCQlyZXByZXBhcmVfcGFja2VkX2dpdCgpOwogCX0KKwlyZXR1cm4gTlVMTDsKIH0KIAotc3RhdGljIGNvbnN0IGNoYXIgKnVucGFja193aXRoX3NpZGViYW5kKHZvaWQpCitzdGF0aWMgY29uc3QgY2hhciAqdW5wYWNrX3dpdGhfc2lkZWJhbmQoc3RydWN0IHNoYWxsb3dfaW5mbyAqc2kpCiB7CiAJc3RydWN0IGFzeW5jIG11eGVyOwogCWNvbnN0IGNoYXIgKnJldDsKIAogCWlmICghdXNlX3NpZGViYW5kKQotCQlyZXR1cm4gdW5wYWNrKDApOworCQlyZXR1cm4gdW5wYWNrKDAsIHNpKTsKIAogCW1lbXNldCgmbXV4ZXIsIDAsIHNpemVvZihtdXhlcikpOwogCW11eGVyLnByb2MgPSBjb3B5X3RvX3NpZGViYW5kOwpAQCAtOTA3LDEyICs5OTksMTAxIEBACiAJaWYgKHN0YXJ0X2FzeW5jKCZtdXhlcikpCiAJCXJldHVybiBOVUxMOwogCi0JcmV0ID0gdW5wYWNrKG11eGVyLmluKTsKKwlyZXQgPSB1bnBhY2sobXV4ZXIuaW4sIHNpKTsKIAogCWZpbmlzaF9hc3luYygmbXV4ZXIpOwogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyB2b2lkIHByZXBhcmVfc2hhbGxvd191cGRhdGUoc3RydWN0IGNvbW1hbmQgKmNvbW1hbmRzLAorCQkJCSAgIHN0cnVjdCBzaGFsbG93X2luZm8gKnNpKQoreworCWludCBpLCBqLCBrLCBiaXRtYXBfc2l6ZSA9IChzaS0+cmVmLT5uciArIDMxKSAvIDMyOworCisJc2ktPnVzZWRfc2hhbGxvdyA9IHhtYWxsb2Moc2l6ZW9mKCpzaS0+dXNlZF9zaGFsbG93KSAqCisJCQkJICAgc2ktPnNoYWxsb3ctPm5yKTsKKwlhc3NpZ25fc2hhbGxvd19jb21taXRzX3RvX3JlZnMoc2ksIHNpLT51c2VkX3NoYWxsb3csIE5VTEwpOworCisJc2ktPm5lZWRfcmVhY2hhYmlsaXR5X3Rlc3QgPQorCQl4Y2FsbG9jKHNpLT5zaGFsbG93LT5uciwgc2l6ZW9mKCpzaS0+bmVlZF9yZWFjaGFiaWxpdHlfdGVzdCkpOworCXNpLT5yZWFjaGFibGUgPQorCQl4Y2FsbG9jKHNpLT5zaGFsbG93LT5uciwgc2l6ZW9mKCpzaS0+cmVhY2hhYmxlKSk7CisJc2ktPnNoYWxsb3dfcmVmID0geGNhbGxvYyhzaS0+cmVmLT5uciwgc2l6ZW9mKCpzaS0+c2hhbGxvd19yZWYpKTsKKworCWZvciAoaSA9IDA7IGkgPCBzaS0+bnJfb3VyczsgaSsrKQorCQlzaS0+bmVlZF9yZWFjaGFiaWxpdHlfdGVzdFtzaS0+b3Vyc1tpXV0gPSAxOworCisJZm9yIChpID0gMDsgaSA8IHNpLT5zaGFsbG93LT5ucjsgaSsrKSB7CisJCWlmICghc2ktPnVzZWRfc2hhbGxvd1tpXSkKKwkJCWNvbnRpbnVlOworCQlmb3IgKGogPSAwOyBqIDwgYml0bWFwX3NpemU7IGorKykgeworCQkJaWYgKCFzaS0+dXNlZF9zaGFsbG93W2ldW2pdKQorCQkJCWNvbnRpbnVlOworCQkJc2ktPm5lZWRfcmVhY2hhYmlsaXR5X3Rlc3RbaV0rKzsKKwkJCWZvciAoayA9IDA7IGsgPCAzMjsgaysrKQorCQkJCWlmIChzaS0+dXNlZF9zaGFsbG93W2ldW2pdICYgKDEgPDwgaykpCisJCQkJCXNpLT5zaGFsbG93X3JlZltqICogMzIgKyBrXSsrOworCQl9CisKKwkJLyoKKwkJICogdHJ1ZSBmb3IgdGhvc2UgYXNzb2NpYXRlZCB3aXRoIHNvbWUgcmVmcyBhbmQgYmVsb25nCisJCSAqIGluICJvdXJzIiBsaXN0IGFrYSAic3RlcCA3IG5vdCBkb25lIHlldCIKKwkJICovCisJCXNpLT5uZWVkX3JlYWNoYWJpbGl0eV90ZXN0W2ldID0KKwkJCXNpLT5uZWVkX3JlYWNoYWJpbGl0eV90ZXN0W2ldID4gMTsKKwl9CisKKwkvKgorCSAqIGtlZXAgaG9va3MgaGFwcHkgYnkgZm9yY2luZyBhIHRlbXBvcmFyeSBzaGFsbG93IGZpbGUgdmlhCisJICogZW52IHZhcmlhYmxlIGJlY2F1c2Ugd2UgY2FuJ3QgYWRkIC0tc2hhbGxvdy1maWxlIHRvIGV2ZXJ5CisJICogY29tbWFuZC4gY2hlY2tfZXZlcnl0aGluZ19jb25uZWN0ZWQoKSB3aWxsIGJlIGRvbmUgd2l0aAorCSAqIHRydWUgLmdpdC9zaGFsbG93IHRob3VnaC4KKwkgKi8KKwlzZXRlbnYoR0lUX1NIQUxMT1dfRklMRV9FTlZJUk9OTUVOVCwgYWx0X3NoYWxsb3dfZmlsZSwgMSk7Cit9CisKK3N0YXRpYyB2b2lkIHVwZGF0ZV9zaGFsbG93X2luZm8oc3RydWN0IGNvbW1hbmQgKmNvbW1hbmRzLAorCQkJCXN0cnVjdCBzaGFsbG93X2luZm8gKnNpLAorCQkJCXN0cnVjdCBzaGExX2FycmF5ICpyZWYpCit7CisJc3RydWN0IGNvbW1hbmQgKmNtZDsKKwlpbnQgKnJlZl9zdGF0dXM7CisJcmVtb3ZlX25vbmV4aXN0ZW50X3RoZWlyc19zaGFsbG93KHNpKTsKKwlpZiAoIXNpLT5ucl9vdXJzICYmICFzaS0+bnJfdGhlaXJzKSB7CisJCXNoYWxsb3dfdXBkYXRlID0gMDsKKwkJcmV0dXJuOworCX0KKworCWZvciAoY21kID0gY29tbWFuZHM7IGNtZDsgY21kID0gY21kLT5uZXh0KSB7CisJCWlmIChpc19udWxsX3NoYTEoY21kLT5uZXdfc2hhMSkpCisJCQljb250aW51ZTsKKwkJc2hhMV9hcnJheV9hcHBlbmQocmVmLCBjbWQtPm5ld19zaGExKTsKKwkJY21kLT5pbmRleCA9IHJlZi0+bnIgLSAxOworCX0KKwlzaS0+cmVmID0gcmVmOworCisJaWYgKHNoYWxsb3dfdXBkYXRlKSB7CisJCXByZXBhcmVfc2hhbGxvd191cGRhdGUoY29tbWFuZHMsIHNpKTsKKwkJcmV0dXJuOworCX0KKworCXJlZl9zdGF0dXMgPSB4bWFsbG9jKHNpemVvZigqcmVmX3N0YXR1cykgKiByZWYtPm5yKTsKKwlhc3NpZ25fc2hhbGxvd19jb21taXRzX3RvX3JlZnMoc2ksIE5VTEwsIHJlZl9zdGF0dXMpOworCWZvciAoY21kID0gY29tbWFuZHM7IGNtZDsgY21kID0gY21kLT5uZXh0KSB7CisJCWlmIChpc19udWxsX3NoYTEoY21kLT5uZXdfc2hhMSkpCisJCQljb250aW51ZTsKKwkJaWYgKHJlZl9zdGF0dXNbY21kLT5pbmRleF0pIHsKKwkJCWNtZC0+ZXJyb3Jfc3RyaW5nID0gInNoYWxsb3cgdXBkYXRlIG5vdCBhbGxvd2VkIjsKKwkJCWNtZC0+c2tpcF91cGRhdGUgPSAxOworCQl9CisJfQorCWlmIChhbHRfc2hhbGxvd19maWxlICYmICphbHRfc2hhbGxvd19maWxlKSB7CisJCXVubGluayhhbHRfc2hhbGxvd19maWxlKTsKKwkJYWx0X3NoYWxsb3dfZmlsZSA9IE5VTEw7CisJfQorCWZyZWUocmVmX3N0YXR1cyk7Cit9CisKIHN0YXRpYyB2b2lkIHJlcG9ydChzdHJ1Y3QgY29tbWFuZCAqY29tbWFuZHMsIGNvbnN0IGNoYXIgKnVucGFja19zdGF0dXMpCiB7CiAJc3RydWN0IGNvbW1hbmQgKmNtZDsKQEAgLTk1NCw2ICsxMTM1LDkgQEAKIAlpbnQgaTsKIAljaGFyICpkaXIgPSBOVUxMOwogCXN0cnVjdCBjb21tYW5kICpjb21tYW5kczsKKwlzdHJ1Y3Qgc2hhMV9hcnJheSBzaGFsbG93ID0gU0hBMV9BUlJBWV9JTklUOworCXN0cnVjdCBzaGExX2FycmF5IHJlZiA9IFNIQTFfQVJSQVlfSU5JVDsKKwlzdHJ1Y3Qgc2hhbGxvd19pbmZvIHNpOwogCiAJcGFja2V0X3RyYWNlX2lkZW50aXR5KCJyZWNlaXZlLXBhY2siKTsKIApAQCAtOTc1LDYgKzExNTksMTAgQEAKIAkJCQlzdGF0ZWxlc3NfcnBjID0gMTsKIAkJCQljb250aW51ZTsKIAkJCX0KKwkJCWlmICghc3RyY21wKGFyZywgIi0tcmVqZWN0LXRoaW4tcGFjay1mb3ItdGVzdGluZyIpKSB7CisJCQkJZml4X3RoaW4gPSAwOworCQkJCWNvbnRpbnVlOworCQkJfQogCiAJCQl1c2FnZShyZWNlaXZlX3BhY2tfdXNhZ2UpOwogCQl9CkBAIC05OTAsOSArMTE3OCw2IEBACiAJaWYgKCFlbnRlcl9yZXBvKGRpciwgMCkpCiAJCWRpZSgiJyVzJyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYSBnaXQgcmVwb3NpdG9yeSIsIGRpcik7CiAKLQlpZiAoaXNfcmVwb3NpdG9yeV9zaGFsbG93KCkpCi0JCWRpZSgiYXR0ZW1wdCB0byBwdXNoIGludG8gYSBzaGFsbG93IHJlcG9zaXRvcnkiKTsKLQogCWdpdF9jb25maWcocmVjZWl2ZV9wYWNrX2NvbmZpZywgTlVMTCk7CiAKIAlpZiAoMCA8PSB0cmFuc2Zlcl91bnBhY2tfbGltaXQpCkBAIC0xMDA2LDEyICsxMTkxLDE3IEBACiAJaWYgKGFkdmVydGlzZV9yZWZzKQogCQlyZXR1cm4gMDsKIAotCWlmICgoY29tbWFuZHMgPSByZWFkX2hlYWRfaW5mbygpKSAhPSBOVUxMKSB7CisJaWYgKChjb21tYW5kcyA9IHJlYWRfaGVhZF9pbmZvKCZzaGFsbG93KSkgIT0gTlVMTCkgewogCQljb25zdCBjaGFyICp1bnBhY2tfc3RhdHVzID0gTlVMTDsKIAotCQlpZiAoIWRlbGV0ZV9vbmx5KGNvbW1hbmRzKSkKLQkJCXVucGFja19zdGF0dXMgPSB1bnBhY2tfd2l0aF9zaWRlYmFuZCgpOwotCQlleGVjdXRlX2NvbW1hbmRzKGNvbW1hbmRzLCB1bnBhY2tfc3RhdHVzKTsKKwkJcHJlcGFyZV9zaGFsbG93X2luZm8oJnNpLCAmc2hhbGxvdyk7CisJCWlmICghc2kubnJfb3VycyAmJiAhc2kubnJfdGhlaXJzKQorCQkJc2hhbGxvd191cGRhdGUgPSAwOworCQlpZiAoIWRlbGV0ZV9vbmx5KGNvbW1hbmRzKSkgeworCQkJdW5wYWNrX3N0YXR1cyA9IHVucGFja193aXRoX3NpZGViYW5kKCZzaSk7CisJCQl1cGRhdGVfc2hhbGxvd19pbmZvKGNvbW1hbmRzLCAmc2ksICZyZWYpOworCQl9CisJCWV4ZWN1dGVfY29tbWFuZHMoY29tbWFuZHMsIHVucGFja19zdGF0dXMsICZzaSk7CiAJCWlmIChwYWNrX2xvY2tmaWxlKQogCQkJdW5saW5rX29yX3dhcm4ocGFja19sb2NrZmlsZSk7CiAJCWlmIChyZXBvcnRfc3RhdHVzKQpAQCAtMTAyNyw4ICsxMjE3LDExIEBACiAJCX0KIAkJaWYgKGF1dG9fdXBkYXRlX3NlcnZlcl9pbmZvKQogCQkJdXBkYXRlX3NlcnZlcl9pbmZvKDApOworCQljbGVhcl9zaGFsbG93X2luZm8oJnNpKTsKIAl9CiAJaWYgKHVzZV9zaWRlYmFuZCkKIAkJcGFja2V0X2ZsdXNoKDEpOworCXNoYTFfYXJyYXlfY2xlYXIoJnNoYWxsb3cpOworCXNoYTFfYXJyYXlfY2xlYXIoJnJlZik7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9idWlsdGluL3JlZmxvZy5jIGIvYnVpbHRpbi9yZWZsb2cuYwppbmRleCA1NDE4NGIzLi44NTJjZmY2IDEwMDY0NAotLS0gYS9idWlsdGluL3JlZmxvZy5jCisrKyBiL2J1aWx0aW4vcmVmbG9nLmMKQEAgLTk0LDggKzk0LDcgQEAKIAkJCWNvbXBsZXRlID0gMDsKIAkJfQogCX0KLQlmcmVlKHRyZWUtPmJ1ZmZlcik7Ci0JdHJlZS0+YnVmZmVyID0gTlVMTDsKKwlmcmVlX3RyZWVfYnVmZmVyKHRyZWUpOwogCiAJaWYgKGNvbXBsZXRlKQogCQl0cmVlLT5vYmplY3QuZmxhZ3MgfD0gU0VFTjsKQEAgLTM2Niw3ICszNjUsNyBAQAogCSAqIHdlIHRha2UgdGhlIGxvY2sgZm9yIHRoZSByZWYgaXRzZWxmIHRvIHByZXZlbnQgaXQgZnJvbQogCSAqIGdldHRpbmcgdXBkYXRlZC4KIAkgKi8KLQlsb2NrID0gbG9ja19hbnlfcmVmX2Zvcl91cGRhdGUocmVmLCBzaGExLCAwKTsKKwlsb2NrID0gbG9ja19hbnlfcmVmX2Zvcl91cGRhdGUocmVmLCBzaGExLCAwLCBOVUxMKTsKIAlpZiAoIWxvY2spCiAJCXJldHVybiBlcnJvcigiY2Fubm90IGxvY2sgcmVmICclcyciLCByZWYpOwogCWxvZ19maWxlID0gZ2l0X3BhdGhkdXAoImxvZ3MvJXMiLCByZWYpOwpAQCAtNjExLDEyICs2MTAsMTIgQEAKIAkJY29uc3QgY2hhciAqYXJnID0gYXJndltpXTsKIAkJaWYgKCFzdHJjbXAoYXJnLCAiLS1kcnktcnVuIikgfHwgIXN0cmNtcChhcmcsICItbiIpKQogCQkJY2IuZHJ5X3J1biA9IDE7Ci0JCWVsc2UgaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1leHBpcmU9IikpIHsKKwkJZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1leHBpcmU9IikpIHsKIAkJCWlmIChwYXJzZV9leHBpcnlfZGF0ZShhcmcgKyA5LCAmY2IuZXhwaXJlX3RvdGFsKSkKIAkJCQlkaWUoXygiJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiKSwgYXJnKTsKIAkJCWV4cGxpY2l0X2V4cGlyeSB8PSBFWFBJUkVfVE9UQUw7CiAJCX0KLQkJZWxzZSBpZiAoIXByZWZpeGNtcChhcmcsICItLWV4cGlyZS11bnJlYWNoYWJsZT0iKSkgeworCQllbHNlIGlmIChzdGFydHNfd2l0aChhcmcsICItLWV4cGlyZS11bnJlYWNoYWJsZT0iKSkgewogCQkJaWYgKHBhcnNlX2V4cGlyeV9kYXRlKGFyZyArIDIxLCAmY2IuZXhwaXJlX3VucmVhY2hhYmxlKSkKIAkJCQlkaWUoXygiJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiKSwgYXJnKTsKIAkJCWV4cGxpY2l0X2V4cGlyeSB8PSBFWFBJUkVfVU5SRUFDSDsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVtb3RlLmMgYi9idWlsdGluL3JlbW90ZS5jCmluZGV4IDVlNTRkMzYuLmIzYWI0Y2YgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVtb3RlLmMKKysrIGIvYnVpbHRpbi9yZW1vdGUuYwpAQCAtNiwxMyArNiwxNCBAQAogI2luY2x1ZGUgInN0cmJ1Zi5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAjaW5jbHVkZSAicmVmcy5oIgorI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBidWlsdGluX3JlbW90ZV91c2FnZVtdID0gewogCU5fKCJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iKSwKIAlOXygiZ2l0IHJlbW90ZSBhZGQgWy10IDxicmFuY2g+XSBbLW0gPG1hc3Rlcj5dIFstZl0gWy0tdGFnc3wtLW5vLXRhZ3NdIFstLW1pcnJvcj08ZmV0Y2h8cHVzaD5dIDxuYW1lPiA8dXJsPiIpLAogCU5fKCJnaXQgcmVtb3RlIHJlbmFtZSA8b2xkPiA8bmV3PiIpLAogCU5fKCJnaXQgcmVtb3RlIHJlbW92ZSA8bmFtZT4iKSwKLQlOXygiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLWQgfCA8YnJhbmNoPikiKSwKKwlOXygiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8PGJyYW5jaD4pIiksCiAJTl8oImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSBzaG93IFstbl0gPG5hbWU+IiksCiAJTl8oImdpdCByZW1vdGUgcHJ1bmUgWy1uIHwgLS1kcnktcnVuXSA8bmFtZT4iKSwKIAlOXygiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDxncm91cD4gfCA8cmVtb3RlPikuLi5dIiksCkBAIC0zOSw3ICs0MCw3IEBACiB9OwogCiBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGJ1aWx0aW5fcmVtb3RlX3NldGhlYWRfdXNhZ2VbXSA9IHsKLQlOXygiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLWQgfCA8YnJhbmNoPikiKSwKKwlOXygiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxicmFuY2g+KSIpLAogCU5VTEwKIH07CiAKQEAgLTc3LDE3ICs3OCw2IEBACiAKIHN0YXRpYyBpbnQgdmVyYm9zZTsKIAotc3RhdGljIGludCBzaG93X2FsbCh2b2lkKTsKLXN0YXRpYyBpbnQgcHJ1bmVfcmVtb3RlKGNvbnN0IGNoYXIgKnJlbW90ZSwgaW50IGRyeV9ydW4pOwotCi1zdGF0aWMgaW5saW5lIGludCBwb3N0Zml4Y21wKGNvbnN0IGNoYXIgKnN0cmluZywgY29uc3QgY2hhciAqcG9zdGZpeCkKLXsKLQlpbnQgbGVuMSA9IHN0cmxlbihzdHJpbmcpLCBsZW4yID0gc3RybGVuKHBvc3RmaXgpOwotCWlmIChsZW4xIDwgbGVuMikKLQkJcmV0dXJuIDE7Ci0JcmV0dXJuIHN0cmNtcChzdHJpbmcgKyBsZW4xIC0gbGVuMiwgcG9zdGZpeCk7Ci19Ci0KIHN0YXRpYyBpbnQgZmV0Y2hfcmVtb3RlKGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAJY29uc3QgY2hhciAqYXJndltdID0geyAiZmV0Y2giLCBuYW1lLCBOVUxMLCBOVUxMIH07CkBAIC0xNjAsNyArMTUwLDcgQEAKIAlpbnQgaTsKIAogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewotCQlPUFRfQk9PTEVBTignZicsICJmZXRjaCIsICZmZXRjaCwgTl8oImZldGNoIHRoZSByZW1vdGUgYnJhbmNoZXMiKSksCisJCU9QVF9CT09MKCdmJywgImZldGNoIiwgJmZldGNoLCBOXygiZmV0Y2ggdGhlIHJlbW90ZSBicmFuY2hlcyIpKSwKIAkJT1BUX1NFVF9JTlQoMCwgInRhZ3MiLCAmZmV0Y2hfdGFncywKIAkJCSAgICBOXygiaW1wb3J0IGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMgd2hlbiBmZXRjaGluZyIpLAogCQkJICAgIFRBR1NfU0VUKSwKQEAgLTI2OSw3ICsyNTksNyBAQAogCiBzdGF0aWMgaW50IGNvbmZpZ19yZWFkX2JyYW5jaGVzKGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKQogewotCWlmICghcHJlZml4Y21wKGtleSwgImJyYW5jaC4iKSkgeworCWlmIChzdGFydHNfd2l0aChrZXksICJicmFuY2guIikpIHsKIAkJY29uc3QgY2hhciAqb3JpZ19rZXkgPSBrZXk7CiAJCWNoYXIgKm5hbWU7CiAJCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOwpAQCAtMjc3LDEzICsyNjcsMTMgQEAKIAkJZW51bSB7IFJFTU9URSwgTUVSR0UsIFJFQkFTRSB9IHR5cGU7CiAKIAkJa2V5ICs9IDc7Ci0JCWlmICghcG9zdGZpeGNtcChrZXksICIucmVtb3RlIikpIHsKKwkJaWYgKGVuZHNfd2l0aChrZXksICIucmVtb3RlIikpIHsKIAkJCW5hbWUgPSB4c3RybmR1cChrZXksIHN0cmxlbihrZXkpIC0gNyk7CiAJCQl0eXBlID0gUkVNT1RFOwotCQl9IGVsc2UgaWYgKCFwb3N0Zml4Y21wKGtleSwgIi5tZXJnZSIpKSB7CisJCX0gZWxzZSBpZiAoZW5kc193aXRoKGtleSwgIi5tZXJnZSIpKSB7CiAJCQluYW1lID0geHN0cm5kdXAoa2V5LCBzdHJsZW4oa2V5KSAtIDYpOwogCQkJdHlwZSA9IE1FUkdFOwotCQl9IGVsc2UgaWYgKCFwb3N0Zml4Y21wKGtleSwgIi5yZWJhc2UiKSkgeworCQl9IGVsc2UgaWYgKGVuZHNfd2l0aChrZXksICIucmViYXNlIikpIHsKIAkJCW5hbWUgPSB4c3RybmR1cChrZXksIHN0cmxlbihrZXkpIC0gNyk7CiAJCQl0eXBlID0gUkVCQVNFOwogCQl9IGVsc2UKQEAgLTMwOSw4ICsyOTksMTMgQEAKIAkJCQlzcGFjZSA9IHN0cmNocih2YWx1ZSwgJyAnKTsKIAkJCX0KIAkJCXN0cmluZ19saXN0X2FwcGVuZCgmaW5mby0+bWVyZ2UsIHhzdHJkdXAodmFsdWUpKTsKLQkJfSBlbHNlCi0JCQlpbmZvLT5yZWJhc2UgPSBnaXRfY29uZmlnX2Jvb2wob3JpZ19rZXksIHZhbHVlKTsKKwkJfSBlbHNlIHsKKwkJCWludCB2ID0gZ2l0X2NvbmZpZ19tYXliZV9ib29sKG9yaWdfa2V5LCB2YWx1ZSk7CisJCQlpZiAodiA+PSAwKQorCQkJCWluZm8tPnJlYmFzZSA9IHY7CisJCQllbHNlIGlmICghc3RyY21wKHZhbHVlLCAicHJlc2VydmUiKSkKKwkJCQlpbmZvLT5yZWJhc2UgPSAxOworCQl9CiAJfQogCXJldHVybiAwOwogfQpAQCAtNTM0LDkgKzUyOSw5IEBACiAJfQogCiAJLyogZG9uJ3QgZGVsZXRlIG5vbi1yZW1vdGUtdHJhY2tpbmcgcmVmcyAqLwotCWlmIChwcmVmaXhjbXAocmVmbmFtZSwgInJlZnMvcmVtb3Rlcy8iKSkgeworCWlmICghc3RhcnRzX3dpdGgocmVmbmFtZSwgInJlZnMvcmVtb3Rlcy8iKSkgewogCQkvKiBhZHZpc2UgdXNlciBob3cgdG8gZGVsZXRlIGxvY2FsIGJyYW5jaGVzICovCi0JCWlmICghcHJlZml4Y21wKHJlZm5hbWUsICJyZWZzL2hlYWRzLyIpKQorCQlpZiAoc3RhcnRzX3dpdGgocmVmbmFtZSwgInJlZnMvaGVhZHMvIikpCiAJCQlzdHJpbmdfbGlzdF9hcHBlbmQoYnJhbmNoZXMtPnNraXBwZWQsCiAJCQkJCSAgIGFiYnJldl9icmFuY2gocmVmbmFtZSkpOwogCQkvKiBzaWxlbnRseSBza2lwIG92ZXIgb3RoZXIgbm9uLXJlbW90ZSByZWZzICovCkBAIC01NzEsNyArNTY2LDcgQEAKIAljb25zdCBjaGFyICpzeW1yZWY7CiAKIAlzdHJidWZfYWRkZigmYnVmLCAicmVmcy9yZW1vdGVzLyVzLyIsIHJlbmFtZS0+b2xkKTsKLQlpZiAoIXByZWZpeGNtcChyZWZuYW1lLCBidWYuYnVmKSkgeworCWlmIChzdGFydHNfd2l0aChyZWZuYW1lLCBidWYuYnVmKSkgewogCQlpdGVtID0gc3RyaW5nX2xpc3RfYXBwZW5kKHJlbmFtZS0+cmVtb3RlX2JyYW5jaGVzLCB4c3RyZHVwKHJlZm5hbWUpKTsKIAkJc3ltcmVmID0gcmVzb2x2ZV9yZWZfdW5zYWZlKHJlZm5hbWUsIG9yaWdfc2hhMSwgMSwgJmZsYWcpOwogCQlpZiAoZmxhZyAmIFJFRl9JU1NZTVJFRikKQEAgLTEwODQsMTEgKzEwNzksNjkgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBnZXRfb25lX2VudHJ5KHN0cnVjdCByZW1vdGUgKnJlbW90ZSwgdm9pZCAqcHJpdikKK3sKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QgPSBwcml2OworCXN0cnVjdCBzdHJidWYgdXJsX2J1ZiA9IFNUUkJVRl9JTklUOworCWNvbnN0IGNoYXIgKip1cmw7CisJaW50IGksIHVybF9ucjsKKworCWlmIChyZW1vdGUtPnVybF9uciA+IDApIHsKKwkJc3RyYnVmX2FkZGYoJnVybF9idWYsICIlcyAoZmV0Y2gpIiwgcmVtb3RlLT51cmxbMF0pOworCQlzdHJpbmdfbGlzdF9hcHBlbmQobGlzdCwgcmVtb3RlLT5uYW1lKS0+dXRpbCA9CisJCQkJc3RyYnVmX2RldGFjaCgmdXJsX2J1ZiwgTlVMTCk7CisJfSBlbHNlCisJCXN0cmluZ19saXN0X2FwcGVuZChsaXN0LCByZW1vdGUtPm5hbWUpLT51dGlsID0gTlVMTDsKKwlpZiAocmVtb3RlLT5wdXNodXJsX25yKSB7CisJCXVybCA9IHJlbW90ZS0+cHVzaHVybDsKKwkJdXJsX25yID0gcmVtb3RlLT5wdXNodXJsX25yOworCX0gZWxzZSB7CisJCXVybCA9IHJlbW90ZS0+dXJsOworCQl1cmxfbnIgPSByZW1vdGUtPnVybF9ucjsKKwl9CisJZm9yIChpID0gMDsgaSA8IHVybF9ucjsgaSsrKQorCXsKKwkJc3RyYnVmX2FkZGYoJnVybF9idWYsICIlcyAocHVzaCkiLCB1cmxbaV0pOworCQlzdHJpbmdfbGlzdF9hcHBlbmQobGlzdCwgcmVtb3RlLT5uYW1lKS0+dXRpbCA9CisJCQkJc3RyYnVmX2RldGFjaCgmdXJsX2J1ZiwgTlVMTCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2hvd19hbGwodm9pZCkKK3sKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgbGlzdCA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CisJaW50IHJlc3VsdDsKKworCWxpc3Quc3RyZHVwX3N0cmluZ3MgPSAxOworCXJlc3VsdCA9IGZvcl9lYWNoX3JlbW90ZShnZXRfb25lX2VudHJ5LCAmbGlzdCk7CisKKwlpZiAoIXJlc3VsdCkgeworCQlpbnQgaTsKKworCQlzb3J0X3N0cmluZ19saXN0KCZsaXN0KTsKKwkJZm9yIChpID0gMDsgaSA8IGxpc3QubnI7IGkrKykgeworCQkJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW0gPSBsaXN0Lml0ZW1zICsgaTsKKwkJCWlmICh2ZXJib3NlKQorCQkJCXByaW50ZigiJXNcdCVzXG4iLCBpdGVtLT5zdHJpbmcsCisJCQkJCWl0ZW0tPnV0aWwgPyAoY29uc3QgY2hhciAqKWl0ZW0tPnV0aWwgOiAiIik7CisJCQllbHNlIHsKKwkJCQlpZiAoaSAmJiAhc3RyY21wKChpdGVtIC0gMSktPnN0cmluZywgaXRlbS0+c3RyaW5nKSkKKwkJCQkJY29udGludWU7CisJCQkJcHJpbnRmKCIlc1xuIiwgaXRlbS0+c3RyaW5nKTsKKwkJCX0KKwkJfQorCX0KKwlzdHJpbmdfbGlzdF9jbGVhcigmbGlzdCwgMSk7CisJcmV0dXJuIHJlc3VsdDsKK30KKwogc3RhdGljIGludCBzaG93KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKIHsKIAlpbnQgbm9fcXVlcnkgPSAwLCByZXN1bHQgPSAwLCBxdWVyeV9mbGFnID0gMDsKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKLQkJT1BUX0JPT0xFQU4oJ24nLCBOVUxMLCAmbm9fcXVlcnksIE5fKCJkbyBub3QgcXVlcnkgcmVtb3RlcyIpKSwKKwkJT1BUX0JPT0woJ24nLCBOVUxMLCAmbm9fcXVlcnksIE5fKCJkbyBub3QgcXVlcnkgcmVtb3RlcyIpKSwKIAkJT1BUX0VORCgpCiAJfTsKIAlzdHJ1Y3QgcmVmX3N0YXRlcyBzdGF0ZXM7CkBAIC0xMTk1LDEwICsxMjQ4LDEwIEBACiAJY2hhciAqaGVhZF9uYW1lID0gTlVMTDsKIAogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewotCQlPUFRfQk9PTEVBTignYScsICJhdXRvIiwgJm9wdF9hLAotCQkJICAgIE5fKCJzZXQgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIGFjY29yZGluZyB0byByZW1vdGUiKSksCi0JCU9QVF9CT09MRUFOKCdkJywgImRlbGV0ZSIsICZvcHRfZCwKLQkJCSAgICBOXygiZGVsZXRlIHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCIpKSwKKwkJT1BUX0JPT0woJ2EnLCAiYXV0byIsICZvcHRfYSwKKwkJCSBOXygic2V0IHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCBhY2NvcmRpbmcgdG8gcmVtb3RlIikpLAorCQlPUFRfQk9PTCgnZCcsICJkZWxldGUiLCAmb3B0X2QsCisJCQkgTl8oImRlbGV0ZSByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQiKSksCiAJCU9QVF9FTkQoKQogCX07CiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgTlVMTCwgb3B0aW9ucywgYnVpbHRpbl9yZW1vdGVfc2V0aGVhZF91c2FnZSwKQEAgLTEyNDYsMjYgKzEyOTksNiBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyBpbnQgcHJ1bmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQotewotCWludCBkcnlfcnVuID0gMCwgcmVzdWx0ID0gMDsKLQlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKLQkJT1BUX19EUllfUlVOKCZkcnlfcnVuLCBOXygiZHJ5IHJ1biIpKSwKLQkJT1BUX0VORCgpCi0JfTsKLQotCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIE5VTEwsIG9wdGlvbnMsIGJ1aWx0aW5fcmVtb3RlX3BydW5lX3VzYWdlLAotCQkJICAgICAwKTsKLQotCWlmIChhcmdjIDwgMSkKLQkJdXNhZ2Vfd2l0aF9vcHRpb25zKGJ1aWx0aW5fcmVtb3RlX3BydW5lX3VzYWdlLCBvcHRpb25zKTsKLQotCWZvciAoOyBhcmdjOyBhcmdjLS0sIGFyZ3YrKykKLQkJcmVzdWx0IHw9IHBydW5lX3JlbW90ZSgqYXJndiwgZHJ5X3J1bik7Ci0KLQlyZXR1cm4gcmVzdWx0OwotfQotCiBzdGF0aWMgaW50IHBydW5lX3JlbW90ZShjb25zdCBjaGFyICpyZW1vdGUsIGludCBkcnlfcnVuKQogewogCWludCByZXN1bHQgPSAwLCBpOwpAQCAtMTMwNCw2ICsxMzM3LDI2IEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAorc3RhdGljIGludCBwcnVuZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJaW50IGRyeV9ydW4gPSAwLCByZXN1bHQgPSAwOworCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0geworCQlPUFRfX0RSWV9SVU4oJmRyeV9ydW4sIE5fKCJkcnkgcnVuIikpLAorCQlPUFRfRU5EKCkKKwl9OworCisJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgTlVMTCwgb3B0aW9ucywgYnVpbHRpbl9yZW1vdGVfcHJ1bmVfdXNhZ2UsCisJCQkgICAgIDApOworCisJaWYgKGFyZ2MgPCAxKQorCQl1c2FnZV93aXRoX29wdGlvbnMoYnVpbHRpbl9yZW1vdGVfcHJ1bmVfdXNhZ2UsIG9wdGlvbnMpOworCisJZm9yICg7IGFyZ2M7IGFyZ2MtLSwgYXJndisrKQorCQlyZXN1bHQgfD0gcHJ1bmVfcmVtb3RlKCphcmd2LCBkcnlfcnVuKTsKKworCXJldHVybiByZXN1bHQ7Cit9CisKIHN0YXRpYyBpbnQgZ2V0X3JlbW90ZV9kZWZhdWx0KGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKnByaXYpCiB7CiAJaWYgKHN0cmNtcChrZXksICJyZW1vdGVzLmRlZmF1bHQiKSA9PSAwKSB7CkBAIC0xMzE1LDQyICsxMzY4LDQyIEBACiAKIHN0YXRpYyBpbnQgdXBkYXRlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKIHsKLQlpbnQgaSwgcHJ1bmUgPSAwOworCWludCBpLCBwcnVuZSA9IC0xOwogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewotCQlPUFRfQk9PTEVBTigncCcsICJwcnVuZSIsICZwcnVuZSwKLQkJCSAgICBOXygicHJ1bmUgcmVtb3RlcyBhZnRlciBmZXRjaGluZyIpKSwKKwkJT1BUX0JPT0woJ3AnLCAicHJ1bmUiLCAmcHJ1bmUsCisJCQkgTl8oInBydW5lIHJlbW90ZXMgYWZ0ZXIgZmV0Y2hpbmciKSksCiAJCU9QVF9FTkQoKQogCX07Ci0JY29uc3QgY2hhciAqKmZldGNoX2FyZ3Y7Ci0JaW50IGZldGNoX2FyZ2MgPSAwOworCXN0cnVjdCBhcmd2X2FycmF5IGZldGNoX2FyZ3YgPSBBUkdWX0FSUkFZX0lOSVQ7CiAJaW50IGRlZmF1bHRfZGVmaW5lZCA9IDA7Ci0KLQlmZXRjaF9hcmd2ID0geG1hbGxvYyhzaXplb2YoY2hhciAqKSAqIChhcmdjKzUpKTsKKwlpbnQgcmV0dmFsOwogCiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgTlVMTCwgb3B0aW9ucywgYnVpbHRpbl9yZW1vdGVfdXBkYXRlX3VzYWdlLAogCQkJICAgICBQQVJTRV9PUFRfS0VFUF9BUkdWMCk7CiAKLQlmZXRjaF9hcmd2W2ZldGNoX2FyZ2MrK10gPSAiZmV0Y2giOworCWFyZ3ZfYXJyYXlfcHVzaCgmZmV0Y2hfYXJndiwgImZldGNoIik7CiAKLQlpZiAocHJ1bmUpCi0JCWZldGNoX2FyZ3ZbZmV0Y2hfYXJnYysrXSA9ICItLXBydW5lIjsKKwlpZiAocHJ1bmUgIT0gLTEpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmZmV0Y2hfYXJndiwgcHJ1bmUgPyAiLS1wcnVuZSIgOiAiLS1uby1wcnVuZSIpOwogCWlmICh2ZXJib3NlKQotCQlmZXRjaF9hcmd2W2ZldGNoX2FyZ2MrK10gPSAiLXYiOwotCWZldGNoX2FyZ3ZbZmV0Y2hfYXJnYysrXSA9ICItLW11bHRpcGxlIjsKKwkJYXJndl9hcnJheV9wdXNoKCZmZXRjaF9hcmd2LCAiLXYiKTsKKwlhcmd2X2FycmF5X3B1c2goJmZldGNoX2FyZ3YsICItLW11bHRpcGxlIik7CiAJaWYgKGFyZ2MgPCAyKQotCQlmZXRjaF9hcmd2W2ZldGNoX2FyZ2MrK10gPSAiZGVmYXVsdCI7CisJCWFyZ3ZfYXJyYXlfcHVzaCgmZmV0Y2hfYXJndiwgImRlZmF1bHQiKTsKIAlmb3IgKGkgPSAxOyBpIDwgYXJnYzsgaSsrKQotCQlmZXRjaF9hcmd2W2ZldGNoX2FyZ2MrK10gPSBhcmd2W2ldOworCQlhcmd2X2FycmF5X3B1c2goJmZldGNoX2FyZ3YsIGFyZ3ZbaV0pOwogCi0JaWYgKHN0cmNtcChmZXRjaF9hcmd2W2ZldGNoX2FyZ2MtMV0sICJkZWZhdWx0IikgPT0gMCkgeworCWlmIChzdHJjbXAoZmV0Y2hfYXJndi5hcmd2W2ZldGNoX2FyZ3YuYXJnYy0xXSwgImRlZmF1bHQiKSA9PSAwKSB7CiAJCWdpdF9jb25maWcoZ2V0X3JlbW90ZV9kZWZhdWx0LCAmZGVmYXVsdF9kZWZpbmVkKTsKLQkJaWYgKCFkZWZhdWx0X2RlZmluZWQpCi0JCQlmZXRjaF9hcmd2W2ZldGNoX2FyZ2MtMV0gPSAiLS1hbGwiOworCQlpZiAoIWRlZmF1bHRfZGVmaW5lZCkgeworCQkJYXJndl9hcnJheV9wb3AoJmZldGNoX2FyZ3YpOworCQkJYXJndl9hcnJheV9wdXNoKCZmZXRjaF9hcmd2LCAiLS1hbGwiKTsKKwkJfQogCX0KIAotCWZldGNoX2FyZ3ZbZmV0Y2hfYXJnY10gPSBOVUxMOwotCi0JcmV0dXJuIHJ1bl9jb21tYW5kX3Zfb3B0KGZldGNoX2FyZ3YsIFJVTl9HSVRfQ01EKTsKKwlyZXR2YWwgPSBydW5fY29tbWFuZF92X29wdChmZXRjaF9hcmd2LmFyZ3YsIFJVTl9HSVRfQ01EKTsKKwlhcmd2X2FycmF5X2NsZWFyKCZmZXRjaF9hcmd2KTsKKwlyZXR1cm4gcmV0dmFsOwogfQogCiBzdGF0aWMgaW50IHJlbW92ZV9hbGxfZmV0Y2hfcmVmc3BlY3MoY29uc3QgY2hhciAqcmVtb3RlLCBjb25zdCBjaGFyICprZXkpCkBAIC0xNDA0LDcgKzE0NTcsNyBAQAogewogCWludCBhZGRfbW9kZSA9IDA7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MRUFOKCdcMCcsICJhZGQiLCAmYWRkX21vZGUsIE5fKCJhZGQgYnJhbmNoIikpLAorCQlPUFRfQk9PTCgnXDAnLCAiYWRkIiwgJmFkZF9tb2RlLCBOXygiYWRkIGJyYW5jaCIpKSwKIAkJT1BUX0VORCgpCiAJfTsKIApAQCAtMTQzMiwxMSArMTQ4NSwxMSBAQAogCWludCB1cmxzZXRfbnI7CiAJc3RydWN0IHN0cmJ1ZiBuYW1lX2J1ZiA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewotCQlPUFRfQk9PTEVBTignXDAnLCAicHVzaCIsICZwdXNoX21vZGUsCi0JCQkgICAgTl8oIm1hbmlwdWxhdGUgcHVzaCBVUkxzIikpLAotCQlPUFRfQk9PTEVBTignXDAnLCAiYWRkIiwgJmFkZF9tb2RlLAotCQkJICAgIE5fKCJhZGQgVVJMIikpLAotCQlPUFRfQk9PTEVBTignXDAnLCAiZGVsZXRlIiwgJmRlbGV0ZV9tb2RlLAorCQlPUFRfQk9PTCgnXDAnLCAicHVzaCIsICZwdXNoX21vZGUsCisJCQkgTl8oIm1hbmlwdWxhdGUgcHVzaCBVUkxzIikpLAorCQlPUFRfQk9PTCgnXDAnLCAiYWRkIiwgJmFkZF9tb2RlLAorCQkJIE5fKCJhZGQgVVJMIikpLAorCQlPUFRfQk9PTCgnXDAnLCAiZGVsZXRlIiwgJmRlbGV0ZV9tb2RlLAogCQkJICAgIE5fKCJkZWxldGUgVVJMcyIpKSwKIAkJT1BUX0VORCgpCiAJfTsKQEAgLTE1MDUsNjQgKzE1NTgsNiBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGdldF9vbmVfZW50cnkoc3RydWN0IHJlbW90ZSAqcmVtb3RlLCB2b2lkICpwcml2KQotewotCXN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCA9IHByaXY7Ci0Jc3RydWN0IHN0cmJ1ZiB1cmxfYnVmID0gU1RSQlVGX0lOSVQ7Ci0JY29uc3QgY2hhciAqKnVybDsKLQlpbnQgaSwgdXJsX25yOwotCi0JaWYgKHJlbW90ZS0+dXJsX25yID4gMCkgewotCQlzdHJidWZfYWRkZigmdXJsX2J1ZiwgIiVzIChmZXRjaCkiLCByZW1vdGUtPnVybFswXSk7Ci0JCXN0cmluZ19saXN0X2FwcGVuZChsaXN0LCByZW1vdGUtPm5hbWUpLT51dGlsID0KLQkJCQlzdHJidWZfZGV0YWNoKCZ1cmxfYnVmLCBOVUxMKTsKLQl9IGVsc2UKLQkJc3RyaW5nX2xpc3RfYXBwZW5kKGxpc3QsIHJlbW90ZS0+bmFtZSktPnV0aWwgPSBOVUxMOwotCWlmIChyZW1vdGUtPnB1c2h1cmxfbnIpIHsKLQkJdXJsID0gcmVtb3RlLT5wdXNodXJsOwotCQl1cmxfbnIgPSByZW1vdGUtPnB1c2h1cmxfbnI7Ci0JfSBlbHNlIHsKLQkJdXJsID0gcmVtb3RlLT51cmw7Ci0JCXVybF9uciA9IHJlbW90ZS0+dXJsX25yOwotCX0KLQlmb3IgKGkgPSAwOyBpIDwgdXJsX25yOyBpKyspCi0JewotCQlzdHJidWZfYWRkZigmdXJsX2J1ZiwgIiVzIChwdXNoKSIsIHVybFtpXSk7Ci0JCXN0cmluZ19saXN0X2FwcGVuZChsaXN0LCByZW1vdGUtPm5hbWUpLT51dGlsID0KLQkJCQlzdHJidWZfZGV0YWNoKCZ1cmxfYnVmLCBOVUxMKTsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzaG93X2FsbCh2b2lkKQotewotCXN0cnVjdCBzdHJpbmdfbGlzdCBsaXN0ID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKLQlpbnQgcmVzdWx0OwotCi0JbGlzdC5zdHJkdXBfc3RyaW5ncyA9IDE7Ci0JcmVzdWx0ID0gZm9yX2VhY2hfcmVtb3RlKGdldF9vbmVfZW50cnksICZsaXN0KTsKLQotCWlmICghcmVzdWx0KSB7Ci0JCWludCBpOwotCi0JCXNvcnRfc3RyaW5nX2xpc3QoJmxpc3QpOwotCQlmb3IgKGkgPSAwOyBpIDwgbGlzdC5ucjsgaSsrKSB7Ci0JCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbSA9IGxpc3QuaXRlbXMgKyBpOwotCQkJaWYgKHZlcmJvc2UpCi0JCQkJcHJpbnRmKCIlc1x0JXNcbiIsIGl0ZW0tPnN0cmluZywKLQkJCQkJaXRlbS0+dXRpbCA/IChjb25zdCBjaGFyICopaXRlbS0+dXRpbCA6ICIiKTsKLQkJCWVsc2UgewotCQkJCWlmIChpICYmICFzdHJjbXAoKGl0ZW0gLSAxKS0+c3RyaW5nLCBpdGVtLT5zdHJpbmcpKQotCQkJCQljb250aW51ZTsKLQkJCQlwcmludGYoIiVzXG4iLCBpdGVtLT5zdHJpbmcpOwotCQkJfQotCQl9Ci0JfQotCXN0cmluZ19saXN0X2NsZWFyKCZsaXN0LCAxKTsKLQlyZXR1cm4gcmVzdWx0OwotfQotCiBpbnQgY21kX3JlbW90ZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVwYWNrLmMgYi9idWlsdGluL3JlcGFjay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMjMxNGMKLS0tIC9kZXYvbnVsbAorKysgYi9idWlsdGluL3JlcGFjay5jCkBAIC0wLDAgKzEsMzg2IEBACisjaW5jbHVkZSAiYnVpbHRpbi5oIgorI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiZGlyLmgiCisjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgorI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCisjaW5jbHVkZSAic2lnY2hhaW4uaCIKKyNpbmNsdWRlICJzdHJidWYuaCIKKyNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgorI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKKworc3RhdGljIGludCBkZWx0YV9iYXNlX29mZnNldCA9IDE7CitzdGF0aWMgY2hhciAqcGFja2RpciwgKnBhY2t0bXA7CisKK3N0YXRpYyBjb25zdCBjaGFyICpjb25zdCBnaXRfcmVwYWNrX3VzYWdlW10gPSB7CisJTl8oImdpdCByZXBhY2sgW29wdGlvbnNdIiksCisJTlVMTAorfTsKKworc3RhdGljIGludCByZXBhY2tfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKQoreworCWlmICghc3RyY21wKHZhciwgInJlcGFjay51c2VkZWx0YWJhc2VvZmZzZXQiKSkgeworCQlkZWx0YV9iYXNlX29mZnNldCA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKKwkJcmV0dXJuIDA7CisJfQorCXJldHVybiBnaXRfZGVmYXVsdF9jb25maWcodmFyLCB2YWx1ZSwgY2IpOworfQorCisvKgorICogUmVtb3ZlIHRlbXBvcmFyeSAkR0lUX09CSkVDVF9ESVJFQ1RPUlkvcGFjay8udG1wLSQkLXBhY2stKiBmaWxlcy4KKyAqLworc3RhdGljIHZvaWQgcmVtb3ZlX3RlbXBvcmFyeV9maWxlcyh2b2lkKQoreworCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJc2l6ZV90IGRpcmxlbiwgcHJlZml4bGVuOworCURJUiAqZGlyOworCXN0cnVjdCBkaXJlbnQgKmU7CisKKwlkaXIgPSBvcGVuZGlyKHBhY2tkaXIpOworCWlmICghZGlyKQorCQlyZXR1cm47CisKKwkvKiBQb2ludCBhdCB0aGUgc2xhc2ggYXQgdGhlIGVuZCBvZiAiLi4uL29iamVjdHMvcGFjay8iICovCisJZGlybGVuID0gc3RybGVuKHBhY2tkaXIpICsgMTsKKwlzdHJidWZfYWRkc3RyKCZidWYsIHBhY2t0bXApOworCS8qIEhvbGQgdGhlIGxlbmd0aCBvZiAgIi50bXAtJWQtcGFjay0iICovCisJcHJlZml4bGVuID0gYnVmLmxlbiAtIGRpcmxlbjsKKworCXdoaWxlICgoZSA9IHJlYWRkaXIoZGlyKSkpIHsKKwkJaWYgKHN0cm5jbXAoZS0+ZF9uYW1lLCBidWYuYnVmICsgZGlybGVuLCBwcmVmaXhsZW4pKQorCQkJY29udGludWU7CisJCXN0cmJ1Zl9zZXRsZW4oJmJ1ZiwgZGlybGVuKTsKKwkJc3RyYnVmX2FkZHN0cigmYnVmLCBlLT5kX25hbWUpOworCQl1bmxpbmsoYnVmLmJ1Zik7CisJfQorCWNsb3NlZGlyKGRpcik7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7Cit9CisKK3N0YXRpYyB2b2lkIHJlbW92ZV9wYWNrX29uX3NpZ25hbChpbnQgc2lnbm8pCit7CisJcmVtb3ZlX3RlbXBvcmFyeV9maWxlcygpOworCXNpZ2NoYWluX3BvcChzaWdubyk7CisJcmFpc2Uoc2lnbm8pOworfQorCisvKgorICogQWRkcyBhbGwgcGFja3MgaGV4IHN0cmluZ3MgdG8gdGhlIGZuYW1lIGxpc3QsIHdoaWNoIGRvIG5vdAorICogaGF2ZSBhIGNvcnJlc3BvbmRpbmcgLmtlZXAgZmlsZS4KKyAqLworc3RhdGljIHZvaWQgZ2V0X25vbl9rZXB0X3BhY2tfZmlsZW5hbWVzKHN0cnVjdCBzdHJpbmdfbGlzdCAqZm5hbWVfbGlzdCkKK3sKKwlESVIgKmRpcjsKKwlzdHJ1Y3QgZGlyZW50ICplOworCWNoYXIgKmZuYW1lOworCXNpemVfdCBsZW47CisKKwlpZiAoIShkaXIgPSBvcGVuZGlyKHBhY2tkaXIpKSkKKwkJcmV0dXJuOworCisJd2hpbGUgKChlID0gcmVhZGRpcihkaXIpKSAhPSBOVUxMKSB7CisJCWlmICghZW5kc193aXRoKGUtPmRfbmFtZSwgIi5wYWNrIikpCisJCQljb250aW51ZTsKKworCQlsZW4gPSBzdHJsZW4oZS0+ZF9uYW1lKSAtIHN0cmxlbigiLnBhY2siKTsKKwkJZm5hbWUgPSB4bWVtZHVweihlLT5kX25hbWUsIGxlbik7CisKKwkJaWYgKCFmaWxlX2V4aXN0cyhta3BhdGgoIiVzLyVzLmtlZXAiLCBwYWNrZGlyLCBmbmFtZSkpKQorCQkJc3RyaW5nX2xpc3RfYXBwZW5kX25vZHVwKGZuYW1lX2xpc3QsIGZuYW1lKTsKKwkJZWxzZQorCQkJZnJlZShmbmFtZSk7CisJfQorCWNsb3NlZGlyKGRpcik7Cit9CisKK3N0YXRpYyB2b2lkIHJlbW92ZV9yZWR1bmRhbnRfcGFjayhjb25zdCBjaGFyICpkaXJfbmFtZSwgY29uc3QgY2hhciAqYmFzZV9uYW1lKQoreworCWNvbnN0IGNoYXIgKmV4dHNbXSA9IHsiLnBhY2siLCAiLmlkeCIsICIua2VlcCJ9OworCWludCBpOworCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJc2l6ZV90IHBsZW47CisKKwlzdHJidWZfYWRkZigmYnVmLCAiJXMvJXMiLCBkaXJfbmFtZSwgYmFzZV9uYW1lKTsKKwlwbGVuID0gYnVmLmxlbjsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGV4dHMpOyBpKyspIHsKKwkJc3RyYnVmX3NldGxlbigmYnVmLCBwbGVuKTsKKwkJc3RyYnVmX2FkZHN0cigmYnVmLCBleHRzW2ldKTsKKwkJdW5saW5rKGJ1Zi5idWYpOworCX0KKwlzdHJidWZfcmVsZWFzZSgmYnVmKTsKK30KKworI2RlZmluZSBBTExfSU5UT19PTkUgMQorI2RlZmluZSBMT09TRU5fVU5SRUFDSEFCTEUgMgorCitpbnQgY21kX3JlcGFjayhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwljb25zdCBjaGFyICpleHRzWzJdID0geyIucGFjayIsICIuaWR4In07CisJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY21kOworCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOworCXN0cnVjdCBhcmd2X2FycmF5IGNtZF9hcmdzID0gQVJHVl9BUlJBWV9JTklUOworCXN0cnVjdCBzdHJpbmdfbGlzdCBuYW1lcyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOworCXN0cnVjdCBzdHJpbmdfbGlzdCByb2xsYmFjayA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CisJc3RydWN0IHN0cmluZ19saXN0IGV4aXN0aW5nX3BhY2tzID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CisJc3RydWN0IHN0cmJ1ZiBsaW5lID0gU1RSQlVGX0lOSVQ7CisJaW50IGV4dCwgcmV0LCBmYWlsZWQ7CisJRklMRSAqb3V0OworCisJLyogdmFyaWFibGVzIHRvIGJlIGZpbGxlZCBieSBvcHRpb24gcGFyc2luZyAqLworCWludCBwYWNrX2V2ZXJ5dGhpbmcgPSAwOworCWludCBkZWxldGVfcmVkdW5kYW50ID0gMDsKKwljb25zdCBjaGFyICp1bnBhY2tfdW5yZWFjaGFibGUgPSBOVUxMOworCWNvbnN0IGNoYXIgKndpbmRvdyA9IE5VTEwsICp3aW5kb3dfbWVtb3J5ID0gTlVMTDsKKwljb25zdCBjaGFyICpkZXB0aCA9IE5VTEw7CisJY29uc3QgY2hhciAqbWF4X3BhY2tfc2l6ZSA9IE5VTEw7CisJaW50IG5vX3JldXNlX2RlbHRhID0gMCwgbm9fcmV1c2Vfb2JqZWN0ID0gMDsKKwlpbnQgbm9fdXBkYXRlX3NlcnZlcl9pbmZvID0gMDsKKwlpbnQgcXVpZXQgPSAwOworCWludCBsb2NhbCA9IDA7CisKKwlzdHJ1Y3Qgb3B0aW9uIGJ1aWx0aW5fcmVwYWNrX29wdGlvbnNbXSA9IHsKKwkJT1BUX0JJVCgnYScsIE5VTEwsICZwYWNrX2V2ZXJ5dGhpbmcsCisJCQkJTl8oInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIiksIEFMTF9JTlRPX09ORSksCisJCU9QVF9CSVQoJ0EnLCBOVUxMLCAmcGFja19ldmVyeXRoaW5nLAorCQkJCU5fKCJzYW1lIGFzIC1hLCBhbmQgdHVybiB1bnJlYWNoYWJsZSBvYmplY3RzIGxvb3NlIiksCisJCQkJICAgTE9PU0VOX1VOUkVBQ0hBQkxFIHwgQUxMX0lOVE9fT05FKSwKKwkJT1BUX0JPT0woJ2QnLCBOVUxMLCAmZGVsZXRlX3JlZHVuZGFudCwKKwkJCQlOXygicmVtb3ZlIHJlZHVuZGFudCBwYWNrcywgYW5kIHJ1biBnaXQtcHJ1bmUtcGFja2VkIikpLAorCQlPUFRfQk9PTCgnZicsIE5VTEwsICZub19yZXVzZV9kZWx0YSwKKwkJCQlOXygicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiKSksCisJCU9QVF9CT09MKCdGJywgTlVMTCwgJm5vX3JldXNlX29iamVjdCwKKwkJCQlOXygicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIikpLAorCQlPUFRfQk9PTCgnbicsIE5VTEwsICZub191cGRhdGVfc2VydmVyX2luZm8sCisJCQkJTl8oImRvIG5vdCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIpKSwKKwkJT1BUX19RVUlFVCgmcXVpZXQsIE5fKCJiZSBxdWlldCIpKSwKKwkJT1BUX0JPT0woJ2wnLCAibG9jYWwiLCAmbG9jYWwsCisJCQkJTl8oInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIikpLAorCQlPUFRfU1RSSU5HKDAsICJ1bnBhY2stdW5yZWFjaGFibGUiLCAmdW5wYWNrX3VucmVhY2hhYmxlLCBOXygiYXBwcm94aWRhdGUiKSwKKwkJCQlOXygid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIpKSwKKwkJT1BUX1NUUklORygwLCAid2luZG93IiwgJndpbmRvdywgTl8oIm4iKSwKKwkJCQlOXygic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIikpLAorCQlPUFRfU1RSSU5HKDAsICJ3aW5kb3ctbWVtb3J5IiwgJndpbmRvd19tZW1vcnksIE5fKCJieXRlcyIpLAorCQkJCU5fKCJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIpKSwKKwkJT1BUX1NUUklORygwLCAiZGVwdGgiLCAmZGVwdGgsIE5fKCJuIiksCisJCQkJTl8oImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIpKSwKKwkJT1BUX1NUUklORygwLCAibWF4LXBhY2stc2l6ZSIsICZtYXhfcGFja19zaXplLCBOXygiYnl0ZXMiKSwKKwkJCQlOXygibWF4aW11bSBzaXplIG9mIGVhY2ggcGFja2ZpbGUiKSksCisJCU9QVF9FTkQoKQorCX07CisKKwlnaXRfY29uZmlnKHJlcGFja19jb25maWcsIE5VTEwpOworCisJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBidWlsdGluX3JlcGFja19vcHRpb25zLAorCQkJCWdpdF9yZXBhY2tfdXNhZ2UsIDApOworCisJcGFja2RpciA9IG1rcGF0aGR1cCgiJXMvcGFjayIsIGdldF9vYmplY3RfZGlyZWN0b3J5KCkpOworCXBhY2t0bXAgPSBta3BhdGhkdXAoIiVzLy50bXAtJWQtcGFjayIsIHBhY2tkaXIsIChpbnQpZ2V0cGlkKCkpOworCisJc2lnY2hhaW5fcHVzaF9jb21tb24ocmVtb3ZlX3BhY2tfb25fc2lnbmFsKTsKKworCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICJwYWNrLW9iamVjdHMiKTsKKwlhcmd2X2FycmF5X3B1c2goJmNtZF9hcmdzLCAiLS1rZWVwLXRydWUtcGFyZW50cyIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICItLWhvbm9yLXBhY2sta2VlcCIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICItLW5vbi1lbXB0eSIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICItLWFsbCIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICItLXJlZmxvZyIpOworCWlmICh3aW5kb3cpCisJCWFyZ3ZfYXJyYXlfcHVzaGYoJmNtZF9hcmdzLCAiLS13aW5kb3c9JXMiLCB3aW5kb3cpOworCWlmICh3aW5kb3dfbWVtb3J5KQorCQlhcmd2X2FycmF5X3B1c2hmKCZjbWRfYXJncywgIi0td2luZG93LW1lbW9yeT0lcyIsIHdpbmRvd19tZW1vcnkpOworCWlmIChkZXB0aCkKKwkJYXJndl9hcnJheV9wdXNoZigmY21kX2FyZ3MsICItLWRlcHRoPSVzIiwgZGVwdGgpOworCWlmIChtYXhfcGFja19zaXplKQorCQlhcmd2X2FycmF5X3B1c2hmKCZjbWRfYXJncywgIi0tbWF4LXBhY2stc2l6ZT0lcyIsIG1heF9wYWNrX3NpemUpOworCWlmIChub19yZXVzZV9kZWx0YSkKKwkJYXJndl9hcnJheV9wdXNoZigmY21kX2FyZ3MsICItLW5vLXJldXNlLWRlbHRhIik7CisJaWYgKG5vX3JldXNlX29iamVjdCkKKwkJYXJndl9hcnJheV9wdXNoZigmY21kX2FyZ3MsICItLW5vLXJldXNlLW9iamVjdCIpOworCisJaWYgKHBhY2tfZXZlcnl0aGluZyAmIEFMTF9JTlRPX09ORSkgeworCQlnZXRfbm9uX2tlcHRfcGFja19maWxlbmFtZXMoJmV4aXN0aW5nX3BhY2tzKTsKKworCQlpZiAoZXhpc3RpbmdfcGFja3MubnIgJiYgZGVsZXRlX3JlZHVuZGFudCkgeworCQkJaWYgKHVucGFja191bnJlYWNoYWJsZSkKKwkJCQlhcmd2X2FycmF5X3B1c2hmKCZjbWRfYXJncywKKwkJCQkJCSItLXVucGFjay11bnJlYWNoYWJsZT0lcyIsCisJCQkJCQl1bnBhY2tfdW5yZWFjaGFibGUpOworCQkJZWxzZSBpZiAocGFja19ldmVyeXRoaW5nICYgTE9PU0VOX1VOUkVBQ0hBQkxFKQorCQkJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsCisJCQkJCQkiLS11bnBhY2stdW5yZWFjaGFibGUiKTsKKwkJfQorCX0gZWxzZSB7CisJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICItLXVucGFja2VkIik7CisJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICItLWluY3JlbWVudGFsIik7CisJfQorCisJaWYgKGxvY2FsKQorCQlhcmd2X2FycmF5X3B1c2goJmNtZF9hcmdzLCAgIi0tbG9jYWwiKTsKKwlpZiAocXVpZXQpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICAiLS1xdWlldCIpOworCWlmIChkZWx0YV9iYXNlX29mZnNldCkKKwkJYXJndl9hcnJheV9wdXNoKCZjbWRfYXJncywgICItLWRlbHRhLWJhc2Utb2Zmc2V0Iik7CisKKwlhcmd2X2FycmF5X3B1c2goJmNtZF9hcmdzLCBwYWNrdG1wKTsKKworCW1lbXNldCgmY21kLCAwLCBzaXplb2YoY21kKSk7CisJY21kLmFyZ3YgPSBjbWRfYXJncy5hcmd2OworCWNtZC5naXRfY21kID0gMTsKKwljbWQub3V0ID0gLTE7CisJY21kLm5vX3N0ZGluID0gMTsKKworCXJldCA9IHN0YXJ0X2NvbW1hbmQoJmNtZCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCW91dCA9IHhmZG9wZW4oY21kLm91dCwgInIiKTsKKwl3aGlsZSAoc3RyYnVmX2dldGxpbmUoJmxpbmUsIG91dCwgJ1xuJykgIT0gRU9GKSB7CisJCWlmIChsaW5lLmxlbiAhPSA0MCkKKwkJCWRpZSgicmVwYWNrOiBFeHBlY3RpbmcgNDAgY2hhcmFjdGVyIHNoYTEgbGluZXMgb25seSBmcm9tIHBhY2stb2JqZWN0cy4iKTsKKwkJc3RyaW5nX2xpc3RfYXBwZW5kKCZuYW1lcywgbGluZS5idWYpOworCX0KKwlmY2xvc2Uob3V0KTsKKwlyZXQgPSBmaW5pc2hfY29tbWFuZCgmY21kKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCWFyZ3ZfYXJyYXlfY2xlYXIoJmNtZF9hcmdzKTsKKworCWlmICghbmFtZXMubnIgJiYgIXF1aWV0KQorCQlwcmludGYoIk5vdGhpbmcgbmV3IHRvIHBhY2suXG4iKTsKKworCS8qCisJICogT2sgd2UgaGF2ZSBwcmVwYXJlZCBhbGwgbmV3IHBhY2tmaWxlcy4KKwkgKiBGaXJzdCBzZWUgaWYgdGhlcmUgYXJlIHBhY2tzIG9mIHRoZSBzYW1lIG5hbWUgYW5kIGlmIHNvCisJICogaWYgd2UgY2FuIG1vdmUgdGhlbSBvdXQgb2YgdGhlIHdheSAodGhpcyBjYW4gaGFwcGVuIGlmIHdlCisJICogcmVwYWNrZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgcGFja2luZyBmdWxseS4KKwkgKi8KKwlmYWlsZWQgPSAwOworCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgJm5hbWVzKSB7CisJCWZvciAoZXh0ID0gMDsgZXh0IDwgMjsgZXh0KyspIHsKKwkJCWNoYXIgKmZuYW1lLCAqZm5hbWVfb2xkOworCQkJZm5hbWUgPSBta3BhdGhkdXAoIiVzL3BhY2stJXMlcyIsIHBhY2tkaXIsCisJCQkJCQlpdGVtLT5zdHJpbmcsIGV4dHNbZXh0XSk7CisJCQlpZiAoIWZpbGVfZXhpc3RzKGZuYW1lKSkgeworCQkJCWZyZWUoZm5hbWUpOworCQkJCWNvbnRpbnVlOworCQkJfQorCisJCQlmbmFtZV9vbGQgPSBta3BhdGgoIiVzL29sZC0lcyVzIiwgcGFja2RpciwKKwkJCQkJCWl0ZW0tPnN0cmluZywgZXh0c1tleHRdKTsKKwkJCWlmIChmaWxlX2V4aXN0cyhmbmFtZV9vbGQpKQorCQkJCWlmICh1bmxpbmsoZm5hbWVfb2xkKSkKKwkJCQkJZmFpbGVkID0gMTsKKworCQkJaWYgKCFmYWlsZWQgJiYgcmVuYW1lKGZuYW1lLCBmbmFtZV9vbGQpKSB7CisJCQkJZnJlZShmbmFtZSk7CisJCQkJZmFpbGVkID0gMTsKKwkJCQlicmVhazsKKwkJCX0gZWxzZSB7CisJCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZyb2xsYmFjaywgZm5hbWUpOworCQkJfQorCQl9CisJCWlmIChmYWlsZWQpCisJCQlicmVhazsKKwl9CisJaWYgKGZhaWxlZCkgeworCQlzdHJ1Y3Qgc3RyaW5nX2xpc3Qgcm9sbGJhY2tfZmFpbHVyZSA9IFNUUklOR19MSVNUX0lOSVRfRFVQOworCQlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sICZyb2xsYmFjaykgeworCQkJY2hhciAqZm5hbWUsICpmbmFtZV9vbGQ7CisJCQlmbmFtZSA9IG1rcGF0aGR1cCgiJXMvJXMiLCBwYWNrZGlyLCBpdGVtLT5zdHJpbmcpOworCQkJZm5hbWVfb2xkID0gbWtwYXRoKCIlcy9vbGQtJXMiLCBwYWNrZGlyLCBpdGVtLT5zdHJpbmcpOworCQkJaWYgKHJlbmFtZShmbmFtZV9vbGQsIGZuYW1lKSkKKwkJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJnJvbGxiYWNrX2ZhaWx1cmUsIGZuYW1lKTsKKwkJCWZyZWUoZm5hbWUpOworCQl9CisKKwkJaWYgKHJvbGxiYWNrX2ZhaWx1cmUubnIpIHsKKwkJCWludCBpOworCQkJZnByaW50ZihzdGRlcnIsCisJCQkJIldBUk5JTkc6IFNvbWUgcGFja3MgaW4gdXNlIGhhdmUgYmVlbiByZW5hbWVkIGJ5XG4iCisJCQkJIldBUk5JTkc6IHByZWZpeGluZyBvbGQtIHRvIHRoZWlyIG5hbWUsIGluIG9yZGVyIHRvXG4iCisJCQkJIldBUk5JTkc6IHJlcGxhY2UgdGhlbSB3aXRoIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGVcbiIKKwkJCQkiV0FSTklORzogZmlsZS4gIEJ1dCB0aGUgb3BlcmF0aW9uIGZhaWxlZCwgYW5kIHRoZVxuIgorCQkJCSJXQVJOSU5HOiBhdHRlbXB0IHRvIHJlbmFtZSB0aGVtIGJhY2sgdG8gdGhlaXJcbiIKKwkJCQkiV0FSTklORzogb3JpZ2luYWwgbmFtZXMgYWxzbyBmYWlsZWQuXG4iCisJCQkJIldBUk5JTkc6IFBsZWFzZSByZW5hbWUgdGhlbSBpbiAlcyBtYW51YWxseTpcbiIsIHBhY2tkaXIpOworCQkJZm9yIChpID0gMDsgaSA8IHJvbGxiYWNrX2ZhaWx1cmUubnI7IGkrKykKKwkJCQlmcHJpbnRmKHN0ZGVyciwgIldBUk5JTkc6ICAgb2xkLSVzIC0+ICVzXG4iLAorCQkJCQlyb2xsYmFja19mYWlsdXJlLml0ZW1zW2ldLnN0cmluZywKKwkJCQkJcm9sbGJhY2tfZmFpbHVyZS5pdGVtc1tpXS5zdHJpbmcpOworCQl9CisJCWV4aXQoMSk7CisJfQorCisJLyogTm93IHRoZSBvbmVzIHdpdGggdGhlIHNhbWUgbmFtZSBhcmUgb3V0IG9mIHRoZSB3YXkuLi4gKi8KKwlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sICZuYW1lcykgeworCQlmb3IgKGV4dCA9IDA7IGV4dCA8IDI7IGV4dCsrKSB7CisJCQljaGFyICpmbmFtZSwgKmZuYW1lX29sZDsKKwkJCXN0cnVjdCBzdGF0IHN0YXRidWZmZXI7CisJCQlmbmFtZSA9IG1rcGF0aGR1cCgiJXMvcGFjay0lcyVzIiwKKwkJCQkJcGFja2RpciwgaXRlbS0+c3RyaW5nLCBleHRzW2V4dF0pOworCQkJZm5hbWVfb2xkID0gbWtwYXRoZHVwKCIlcy0lcyVzIiwKKwkJCQkJcGFja3RtcCwgaXRlbS0+c3RyaW5nLCBleHRzW2V4dF0pOworCQkJaWYgKCFzdGF0KGZuYW1lX29sZCwgJnN0YXRidWZmZXIpKSB7CisJCQkJc3RhdGJ1ZmZlci5zdF9tb2RlICY9IH4oU19JV1VTUiB8IFNfSVdHUlAgfCBTX0lXT1RIKTsKKwkJCQljaG1vZChmbmFtZV9vbGQsIHN0YXRidWZmZXIuc3RfbW9kZSk7CisJCQl9CisJCQlpZiAocmVuYW1lKGZuYW1lX29sZCwgZm5hbWUpKQorCQkJCWRpZV9lcnJubyhfKCJyZW5hbWluZyAnJXMnIGZhaWxlZCIpLCBmbmFtZV9vbGQpOworCQkJZnJlZShmbmFtZSk7CisJCQlmcmVlKGZuYW1lX29sZCk7CisJCX0KKwl9CisKKwkvKiBSZW1vdmUgdGhlICJvbGQtIiBmaWxlcyAqLworCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgJm5hbWVzKSB7CisJCWZvciAoZXh0ID0gMDsgZXh0IDwgMjsgZXh0KyspIHsKKwkJCWNoYXIgKmZuYW1lOworCQkJZm5hbWUgPSBta3BhdGgoIiVzL29sZC0lcyVzIiwKKwkJCQkJcGFja2RpciwKKwkJCQkJaXRlbS0+c3RyaW5nLAorCQkJCQlleHRzW2V4dF0pOworCQkJaWYgKHJlbW92ZV9wYXRoKGZuYW1lKSkKKwkJCQl3YXJuaW5nKF8oInJlbW92aW5nICclcycgZmFpbGVkIiksIGZuYW1lKTsKKwkJfQorCX0KKworCS8qIEVuZCBvZiBwYWNrIHJlcGxhY2VtZW50LiAqLworCisJaWYgKGRlbGV0ZV9yZWR1bmRhbnQpIHsKKwkJc29ydF9zdHJpbmdfbGlzdCgmbmFtZXMpOworCQlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sICZleGlzdGluZ19wYWNrcykgeworCQkJY2hhciAqc2hhMTsKKwkJCXNpemVfdCBsZW4gPSBzdHJsZW4oaXRlbS0+c3RyaW5nKTsKKwkJCWlmIChsZW4gPCA0MCkKKwkJCQljb250aW51ZTsKKwkJCXNoYTEgPSBpdGVtLT5zdHJpbmcgKyBsZW4gLSA0MDsKKwkJCWlmICghc3RyaW5nX2xpc3RfaGFzX3N0cmluZygmbmFtZXMsIHNoYTEpKQorCQkJCXJlbW92ZV9yZWR1bmRhbnRfcGFjayhwYWNrZGlyLCBpdGVtLT5zdHJpbmcpOworCQl9CisJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICJwcnVuZS1wYWNrZWQiKTsKKwkJaWYgKHF1aWV0KQorCQkJYXJndl9hcnJheV9wdXNoKCZjbWRfYXJncywgIi0tcXVpZXQiKTsKKworCQltZW1zZXQoJmNtZCwgMCwgc2l6ZW9mKGNtZCkpOworCQljbWQuYXJndiA9IGNtZF9hcmdzLmFyZ3Y7CisJCWNtZC5naXRfY21kID0gMTsKKwkJcnVuX2NvbW1hbmQoJmNtZCk7CisJCWFyZ3ZfYXJyYXlfY2xlYXIoJmNtZF9hcmdzKTsKKwl9CisKKwlpZiAoIW5vX3VwZGF0ZV9zZXJ2ZXJfaW5mbykgeworCQlhcmd2X2FycmF5X3B1c2goJmNtZF9hcmdzLCAidXBkYXRlLXNlcnZlci1pbmZvIik7CisJCW1lbXNldCgmY21kLCAwLCBzaXplb2YoY21kKSk7CisJCWNtZC5hcmd2ID0gY21kX2FyZ3MuYXJndjsKKwkJY21kLmdpdF9jbWQgPSAxOworCQlydW5fY29tbWFuZCgmY21kKTsKKwkJYXJndl9hcnJheV9jbGVhcigmY21kX2FyZ3MpOworCX0KKwlyZW1vdmVfdGVtcG9yYXJ5X2ZpbGVzKCk7CisJc3RyaW5nX2xpc3RfY2xlYXIoJm5hbWVzLCAwKTsKKwlzdHJpbmdfbGlzdF9jbGVhcigmcm9sbGJhY2ssIDApOworCXN0cmluZ19saXN0X2NsZWFyKCZleGlzdGluZ19wYWNrcywgMCk7CisJc3RyYnVmX3JlbGVhc2UoJmxpbmUpOworCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9idWlsdGluL3JlcGxhY2UuYyBiL2J1aWx0aW4vcmVwbGFjZS5jCmluZGV4IDU5ZDMxMTUuLjIzMzYzMjUgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVwbGFjZS5jCisrKyBiL2J1aWx0aW4vcmVwbGFjZS5jCkBAIC0xNiwyNyArMTYsNjkgQEAKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZ2l0X3JlcGxhY2VfdXNhZ2VbXSA9IHsKIAlOXygiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZWN0PiA8cmVwbGFjZW1lbnQ+IiksCiAJTl8oImdpdCByZXBsYWNlIC1kIDxvYmplY3Q+Li4uIiksCi0JTl8oImdpdCByZXBsYWNlIC1sIFs8cGF0dGVybj5dIiksCisJTl8oImdpdCByZXBsYWNlIFstLWZvcm1hdD08Zm9ybWF0Pl0gWy1sIFs8cGF0dGVybj5dXSIpLAogCU5VTEwKIH07CiAKK2VudW0gcmVwbGFjZV9mb3JtYXQgeworICAgICAgUkVQTEFDRV9GT1JNQVRfU0hPUlQsCisgICAgICBSRVBMQUNFX0ZPUk1BVF9NRURJVU0sCisgICAgICBSRVBMQUNFX0ZPUk1BVF9MT05HCit9OworCitzdHJ1Y3Qgc2hvd19kYXRhIHsKKwljb25zdCBjaGFyICpwYXR0ZXJuOworCWVudW0gcmVwbGFjZV9mb3JtYXQgZm9ybWF0OworfTsKKwogc3RhdGljIGludCBzaG93X3JlZmVyZW5jZShjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAogCQkJICBpbnQgZmxhZywgdm9pZCAqY2JfZGF0YSkKIHsKLQljb25zdCBjaGFyICpwYXR0ZXJuID0gY2JfZGF0YTsKKwlzdHJ1Y3Qgc2hvd19kYXRhICpkYXRhID0gY2JfZGF0YTsKIAotCWlmICghZm5tYXRjaChwYXR0ZXJuLCByZWZuYW1lLCAwKSkKLQkJcHJpbnRmKCIlc1xuIiwgcmVmbmFtZSk7CisJaWYgKCFmbm1hdGNoKGRhdGEtPnBhdHRlcm4sIHJlZm5hbWUsIDApKSB7CisJCWlmIChkYXRhLT5mb3JtYXQgPT0gUkVQTEFDRV9GT1JNQVRfU0hPUlQpCisJCQlwcmludGYoIiVzXG4iLCByZWZuYW1lKTsKKwkJZWxzZSBpZiAoZGF0YS0+Zm9ybWF0ID09IFJFUExBQ0VfRk9STUFUX01FRElVTSkKKwkJCXByaW50ZigiJXMgLT4gJXNcbiIsIHJlZm5hbWUsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJZWxzZSB7IC8qIGRhdGEtPmZvcm1hdCA9PSBSRVBMQUNFX0ZPUk1BVF9MT05HICovCisJCQl1bnNpZ25lZCBjaGFyIG9iamVjdFsyMF07CisJCQllbnVtIG9iamVjdF90eXBlIG9ial90eXBlLCByZXBsX3R5cGU7CisKKwkJCWlmIChnZXRfc2hhMShyZWZuYW1lLCBvYmplY3QpKQorCQkJCXJldHVybiBlcnJvcigiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iLCByZWZuYW1lKTsKKworCQkJb2JqX3R5cGUgPSBzaGExX29iamVjdF9pbmZvKG9iamVjdCwgTlVMTCk7CisJCQlyZXBsX3R5cGUgPSBzaGExX29iamVjdF9pbmZvKHNoYTEsIE5VTEwpOworCisJCQlwcmludGYoIiVzICglcykgLT4gJXMgKCVzKVxuIiwgcmVmbmFtZSwgdHlwZW5hbWUob2JqX3R5cGUpLAorCQkJICAgICAgIHNoYTFfdG9faGV4KHNoYTEpLCB0eXBlbmFtZShyZXBsX3R5cGUpKTsKKwkJfQorCX0KIAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGxpc3RfcmVwbGFjZV9yZWZzKGNvbnN0IGNoYXIgKnBhdHRlcm4pCitzdGF0aWMgaW50IGxpc3RfcmVwbGFjZV9yZWZzKGNvbnN0IGNoYXIgKnBhdHRlcm4sIGNvbnN0IGNoYXIgKmZvcm1hdCkKIHsKKwlzdHJ1Y3Qgc2hvd19kYXRhIGRhdGE7CisKIAlpZiAocGF0dGVybiA9PSBOVUxMKQogCQlwYXR0ZXJuID0gIioiOworCWRhdGEucGF0dGVybiA9IHBhdHRlcm47CiAKLQlmb3JfZWFjaF9yZXBsYWNlX3JlZihzaG93X3JlZmVyZW5jZSwgKHZvaWQgKikgcGF0dGVybik7CisJaWYgKGZvcm1hdCA9PSBOVUxMIHx8ICpmb3JtYXQgPT0gJ1wwJyB8fCAhc3RyY21wKGZvcm1hdCwgInNob3J0IikpCisJCWRhdGEuZm9ybWF0ID0gUkVQTEFDRV9GT1JNQVRfU0hPUlQ7CisJZWxzZSBpZiAoIXN0cmNtcChmb3JtYXQsICJtZWRpdW0iKSkKKwkJZGF0YS5mb3JtYXQgPSBSRVBMQUNFX0ZPUk1BVF9NRURJVU07CisJZWxzZSBpZiAoIXN0cmNtcChmb3JtYXQsICJsb25nIikpCisJCWRhdGEuZm9ybWF0ID0gUkVQTEFDRV9GT1JNQVRfTE9ORzsKKwllbHNlCisJCWRpZSgiaW52YWxpZCByZXBsYWNlIGZvcm1hdCAnJXMnXG4iCisJCSAgICAidmFsaWQgZm9ybWF0cyBhcmUgJ3Nob3J0JywgJ21lZGl1bScgYW5kICdsb25nJ1xuIiwKKwkJICAgIGZvcm1hdCk7CisKKwlmb3JfZWFjaF9yZXBsYWNlX3JlZihzaG93X3JlZmVyZW5jZSwgKHZvaWQgKikgJmRhdGEpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC04NSw2ICsxMjcsNyBAQAogCQkJICBpbnQgZm9yY2UpCiB7CiAJdW5zaWduZWQgY2hhciBvYmplY3RbMjBdLCBwcmV2WzIwXSwgcmVwbFsyMF07CisJZW51bSBvYmplY3RfdHlwZSBvYmpfdHlwZSwgcmVwbF90eXBlOwogCWNoYXIgcmVmW1BBVEhfTUFYXTsKIAlzdHJ1Y3QgcmVmX2xvY2sgKmxvY2s7CiAKQEAgLTEwMCwxMiArMTQzLDIxIEBACiAJaWYgKGNoZWNrX3JlZm5hbWVfZm9ybWF0KHJlZiwgMCkpCiAJCWRpZSgiJyVzJyBpcyBub3QgYSB2YWxpZCByZWYgbmFtZS4iLCByZWYpOwogCisJb2JqX3R5cGUgPSBzaGExX29iamVjdF9pbmZvKG9iamVjdCwgTlVMTCk7CisJcmVwbF90eXBlID0gc2hhMV9vYmplY3RfaW5mbyhyZXBsLCBOVUxMKTsKKwlpZiAoIWZvcmNlICYmIG9ial90eXBlICE9IHJlcGxfdHlwZSkKKwkJZGllKCJPYmplY3RzIG11c3QgYmUgb2YgdGhlIHNhbWUgdHlwZS5cbiIKKwkJICAgICInJXMnIHBvaW50cyB0byBhIHJlcGxhY2VkIG9iamVjdCBvZiB0eXBlICclcydcbiIKKwkJICAgICJ3aGlsZSAnJXMnIHBvaW50cyB0byBhIHJlcGxhY2VtZW50IG9iamVjdCBvZiB0eXBlICclcycuIiwKKwkJICAgIG9iamVjdF9yZWYsIHR5cGVuYW1lKG9ial90eXBlKSwKKwkJICAgIHJlcGxhY2VfcmVmLCB0eXBlbmFtZShyZXBsX3R5cGUpKTsKKwogCWlmIChyZWFkX3JlZihyZWYsIHByZXYpKQogCQloYXNoY2xyKHByZXYpOwogCWVsc2UgaWYgKCFmb3JjZSkKIAkJZGllKCJyZXBsYWNlIHJlZiAnJXMnIGFscmVhZHkgZXhpc3RzIiwgcmVmKTsKIAotCWxvY2sgPSBsb2NrX2FueV9yZWZfZm9yX3VwZGF0ZShyZWYsIHByZXYsIDApOworCWxvY2sgPSBsb2NrX2FueV9yZWZfZm9yX3VwZGF0ZShyZWYsIHByZXYsIDAsIE5VTEwpOwogCWlmICghbG9jaykKIAkJZGllKCIlczogY2Fubm90IGxvY2sgdGhlIHJlZiIsIHJlZik7CiAJaWYgKHdyaXRlX3JlZl9zaGExKGxvY2ssIHJlcGwsIE5VTEwpIDwgMCkKQEAgLTExNywxOSArMTY5LDI3IEBACiBpbnQgY21kX3JlcGxhY2UoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJaW50IGxpc3QgPSAwLCBkZWxldGUgPSAwLCBmb3JjZSA9IDA7CisJY29uc3QgY2hhciAqZm9ybWF0ID0gTlVMTDsKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKLQkJT1BUX0JPT0xFQU4oJ2wnLCBOVUxMLCAmbGlzdCwgTl8oImxpc3QgcmVwbGFjZSByZWZzIikpLAotCQlPUFRfQk9PTEVBTignZCcsIE5VTEwsICZkZWxldGUsIE5fKCJkZWxldGUgcmVwbGFjZSByZWZzIikpLAotCQlPUFRfQk9PTEVBTignZicsIE5VTEwsICZmb3JjZSwgTl8oInJlcGxhY2UgdGhlIHJlZiBpZiBpdCBleGlzdHMiKSksCisJCU9QVF9CT09MKCdsJywgImxpc3QiLCAmbGlzdCwgTl8oImxpc3QgcmVwbGFjZSByZWZzIikpLAorCQlPUFRfQk9PTCgnZCcsICJkZWxldGUiLCAmZGVsZXRlLCBOXygiZGVsZXRlIHJlcGxhY2UgcmVmcyIpKSwKKwkJT1BUX0JPT0woJ2YnLCAiZm9yY2UiLCAmZm9yY2UsIE5fKCJyZXBsYWNlIHRoZSByZWYgaWYgaXQgZXhpc3RzIikpLAorCQlPUFRfU1RSSU5HKDAsICJmb3JtYXQiLCAmZm9ybWF0LCBOXygiZm9ybWF0IiksIE5fKCJ1c2UgdGhpcyBmb3JtYXQiKSksCiAJCU9QVF9FTkQoKQogCX07CiAKKwlyZWFkX3JlcGxhY2VfcmVmcyA9IDA7CisKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIG9wdGlvbnMsIGdpdF9yZXBsYWNlX3VzYWdlLCAwKTsKIAogCWlmIChsaXN0ICYmIGRlbGV0ZSkKIAkJdXNhZ2VfbXNnX29wdCgiLWwgYW5kIC1kIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIiwKIAkJCSAgICAgIGdpdF9yZXBsYWNlX3VzYWdlLCBvcHRpb25zKTsKIAorCWlmIChmb3JtYXQgJiYgZGVsZXRlKQorCQl1c2FnZV9tc2dfb3B0KCItLWZvcm1hdCBhbmQgLWQgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiLAorCQkJICAgICAgZ2l0X3JlcGxhY2VfdXNhZ2UsIG9wdGlvbnMpOworCiAJaWYgKGZvcmNlICYmIChsaXN0IHx8IGRlbGV0ZSkpCiAJCXVzYWdlX21zZ19vcHQoIi1mIGNhbm5vdCBiZSB1c2VkIHdpdGggLWQgb3IgLWwiLAogCQkJICAgICAgZ2l0X3JlcGxhY2VfdXNhZ2UsIG9wdGlvbnMpOwpAQCAtMTQ3LDYgKzIwNyw5IEBACiAJCWlmIChhcmdjICE9IDIpCiAJCQl1c2FnZV9tc2dfb3B0KCJiYWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIsCiAJCQkJICAgICAgZ2l0X3JlcGxhY2VfdXNhZ2UsIG9wdGlvbnMpOworCQlpZiAoZm9ybWF0KQorCQkJdXNhZ2VfbXNnX29wdCgiLS1mb3JtYXQgY2Fubm90IGJlIHVzZWQgd2hlbiBub3QgbGlzdGluZyIsCisJCQkJICAgICAgZ2l0X3JlcGxhY2VfdXNhZ2UsIG9wdGlvbnMpOwogCQlyZXR1cm4gcmVwbGFjZV9vYmplY3QoYXJndlswXSwgYXJndlsxXSwgZm9yY2UpOwogCX0KIApAQCAtMTU4LDUgKzIyMSw1IEBACiAJCXVzYWdlX21zZ19vcHQoIi1mIG5lZWRzIHNvbWUgYXJndW1lbnRzIiwKIAkJCSAgICAgIGdpdF9yZXBsYWNlX3VzYWdlLCBvcHRpb25zKTsKIAotCXJldHVybiBsaXN0X3JlcGxhY2VfcmVmcyhhcmd2WzBdKTsKKwlyZXR1cm4gbGlzdF9yZXBsYWNlX3JlZnMoYXJndlswXSwgZm9ybWF0KTsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVyZXJlLmMgYi9idWlsdGluL3JlcmVyZS5jCmluZGV4IGRjMTcwOGUuLjRlNTFhZGQgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVyZXJlLmMKKysrIGIvYnVpbHRpbi9yZXJlcmUuYwpAQCAtNiw2ICs2LDcgQEAKICNpbmNsdWRlICJyZXJlcmUuaCIKICNpbmNsdWRlICJ4ZGlmZi94ZGlmZi5oIgogI2luY2x1ZGUgInhkaWZmLWludGVyZmFjZS5oIgorI2luY2x1ZGUgInBhdGhzcGVjLmgiCiAKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgcmVyZXJlX3VzYWdlW10gPSB7CiAJTl8oImdpdCByZXJlcmUgW2NsZWFyIHwgZm9yZ2V0IHBhdGguLi4gfCBzdGF0dXMgfCByZW1haW5pbmcgfCBkaWZmIHwgZ2NdIiksCkBAIC02OCwxMSArNjksMTIgQEAKIAkJcmV0dXJuIHJlcmVyZShmbGFncyk7CiAKIAlpZiAoIXN0cmNtcChhcmd2WzBdLCAiZm9yZ2V0IikpIHsKLQkJY29uc3QgY2hhciAqKnBhdGhzcGVjOworCQlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAJCWlmIChhcmdjIDwgMikKIAkJCXdhcm5pbmcoIidnaXQgcmVyZXJlIGZvcmdldCcgd2l0aG91dCBwYXRocyBpcyBkZXByZWNhdGVkIik7Ci0JCXBhdGhzcGVjID0gZ2V0X3BhdGhzcGVjKHByZWZpeCwgYXJndiArIDEpOwotCQlyZXR1cm4gcmVyZXJlX2ZvcmdldChwYXRoc3BlYyk7CisJCXBhcnNlX3BhdGhzcGVjKCZwYXRoc3BlYywgMCwgUEFUSFNQRUNfUFJFRkVSX0NXRCwKKwkJCSAgICAgICBwcmVmaXgsIGFyZ3YgKyAxKTsKKwkJcmV0dXJuIHJlcmVyZV9mb3JnZXQoJnBhdGhzcGVjKTsKIAl9CiAKIAlmZCA9IHNldHVwX3JlcmVyZSgmbWVyZ2VfcnIsIGZsYWdzKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVzZXQuYyBiL2J1aWx0aW4vcmVzZXQuYwppbmRleCBhZmE2ZTAyLi42MDA0ODAzIDEwMDY0NAotLS0gYS9idWlsdGluL3Jlc2V0LmMKKysrIGIvYnVpbHRpbi9yZXNldC5jCkBAIC0xMzMsMjEgKzEzMywyMSBAQAogCX0KIH0KIAotc3RhdGljIGludCByZWFkX2Zyb21fdHJlZShjb25zdCBjaGFyICoqcGF0aHNwZWMsIHVuc2lnbmVkIGNoYXIgKnRyZWVfc2hhMSkKK3N0YXRpYyBpbnQgcmVhZF9mcm9tX3RyZWUoY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJCSAgdW5zaWduZWQgY2hhciAqdHJlZV9zaGExKQogewogCXN0cnVjdCBkaWZmX29wdGlvbnMgb3B0OwogCiAJbWVtc2V0KCZvcHQsIDAsIHNpemVvZihvcHQpKTsKLQlkaWZmX3RyZWVfc2V0dXBfcGF0aHMocGF0aHNwZWMsICZvcHQpOworCWNvcHlfcGF0aHNwZWMoJm9wdC5wYXRoc3BlYywgcGF0aHNwZWMpOwogCW9wdC5vdXRwdXRfZm9ybWF0ID0gRElGRl9GT1JNQVRfQ0FMTEJBQ0s7CiAJb3B0LmZvcm1hdF9jYWxsYmFjayA9IHVwZGF0ZV9pbmRleF9mcm9tX2RpZmY7CiAKLQlyZWFkX2NhY2hlKCk7CiAJaWYgKGRvX2RpZmZfY2FjaGUodHJlZV9zaGExLCAmb3B0KSkKIAkJcmV0dXJuIDE7CiAJZGlmZmNvcmVfc3RkKCZvcHQpOwogCWRpZmZfZmx1c2goJm9wdCk7Ci0JZGlmZl90cmVlX3JlbGVhc2VfcGF0aHMoJm9wdCk7CisJZnJlZV9wYXRoc3BlYygmb3B0LnBhdGhzcGVjKTsKIAogCXJldHVybiAwOwogfQpAQCAtMTY4LDEzICsxNjgsMTYgQEAKIAogc3RhdGljIHZvaWQgZGllX2lmX3VubWVyZ2VkX2NhY2hlKGludCByZXNldF90eXBlKQogewotCWlmIChpc19tZXJnZSgpIHx8IHJlYWRfY2FjaGUoKSA8IDAgfHwgdW5tZXJnZWRfY2FjaGUoKSkKKwlpZiAoaXNfbWVyZ2UoKSB8fCB1bm1lcmdlZF9jYWNoZSgpKQogCQlkaWUoXygiQ2Fubm90IGRvIGEgJXMgcmVzZXQgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlLiIpLAogCQkgICAgXyhyZXNldF90eXBlX25hbWVzW3Jlc2V0X3R5cGVdKSk7CiAKIH0KIAotc3RhdGljIGNvbnN0IGNoYXIgKipwYXJzZV9hcmdzKGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKipyZXZfcmV0KQorc3RhdGljIHZvaWQgcGFyc2VfYXJncyhzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAorCQkgICAgICAgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJICAgICAgIGludCBwYXRjaF9tb2RlLAorCQkgICAgICAgY29uc3QgY2hhciAqKnJldl9yZXQpCiB7CiAJY29uc3QgY2hhciAqcmV2ID0gIkhFQUQiOwogCXVuc2lnbmVkIGNoYXIgdW51c2VkWzIwXTsKQEAgLTIxNiwxMCArMjE5LDE4IEBACiAJCX0KIAl9CiAJKnJldl9yZXQgPSByZXY7Ci0JcmV0dXJuIGFyZ3ZbMF0gPyBnZXRfcGF0aHNwZWMocHJlZml4LCBhcmd2KSA6IE5VTEw7CisKKwlpZiAocmVhZF9jYWNoZSgpIDwgMCkKKwkJZGllKF8oImluZGV4IGZpbGUgY29ycnVwdCIpKTsKKworCXBhcnNlX3BhdGhzcGVjKHBhdGhzcGVjLCAwLAorCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0ZVTEwgfAorCQkgICAgICAgUEFUSFNQRUNfU1RSSVBfU1VCTU9EVUxFX1NMQVNIX0NIRUFQIHwKKwkJICAgICAgIChwYXRjaF9tb2RlID8gUEFUSFNQRUNfUFJFRklYX09SSUdJTiA6IDApLAorCQkgICAgICAgcHJlZml4LCBhcmd2KTsKIH0KIAotc3RhdGljIGludCB1cGRhdGVfcmVmcyhjb25zdCBjaGFyICpyZXYsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCitzdGF0aWMgaW50IHJlc2V0X3JlZnMoY29uc3QgY2hhciAqcmV2LCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQogewogCWludCB1cGRhdGVfcmVmX3N0YXR1czsKIAlzdHJ1Y3Qgc3RyYnVmIG1zZyA9IFNUUkJVRl9JTklUOwpAQCAtMjQ2LDcgKzI1Nyw3IEBACiAJaW50IHBhdGNoX21vZGUgPSAwLCB1bmJvcm47CiAJY29uc3QgY2hhciAqcmV2OwogCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07Ci0JY29uc3QgY2hhciAqKnBhdGhzcGVjID0gTlVMTDsKKwlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAJY29uc3Qgc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CiAJCU9QVF9fUVVJRVQoJnF1aWV0LCBOXygiYmUgcXVpZXQsIG9ubHkgcmVwb3J0IGVycm9ycyIpKSwKIAkJT1BUX1NFVF9JTlQoMCwgIm1peGVkIiwgJnJlc2V0X3R5cGUsCkBAIC0yNTgsNyArMjY5LDcgQEAKIAkJCQlOXygicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIpLCBNRVJHRSksCiAJCU9QVF9TRVRfSU5UKDAsICJrZWVwIiwgJnJlc2V0X3R5cGUsCiAJCQkJTl8oInJlc2V0IEhFQUQgYnV0IGtlZXAgbG9jYWwgY2hhbmdlcyIpLCBLRUVQKSwKLQkJT1BUX0JPT0xFQU4oJ3AnLCAicGF0Y2giLCAmcGF0Y2hfbW9kZSwgTl8oInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IikpLAorCQlPUFRfQk9PTCgncCcsICJwYXRjaCIsICZwYXRjaF9tb2RlLCBOXygic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiKSksCiAJCU9QVF9FTkQoKQogCX07CiAKQEAgLTI2NiwxMyArMjc3LDEzIEBACiAKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIG9wdGlvbnMsIGdpdF9yZXNldF91c2FnZSwKIAkJCQkJCVBBUlNFX09QVF9LRUVQX0RBU0hEQVNIKTsKLQlwYXRoc3BlYyA9IHBhcnNlX2FyZ3MoYXJndiwgcHJlZml4LCAmcmV2KTsKKwlwYXJzZV9hcmdzKCZwYXRoc3BlYywgYXJndiwgcHJlZml4LCBwYXRjaF9tb2RlLCAmcmV2KTsKIAogCXVuYm9ybiA9ICFzdHJjbXAocmV2LCAiSEVBRCIpICYmIGdldF9zaGExKCJIRUFEIiwgc2hhMSk7CiAJaWYgKHVuYm9ybikgewogCQkvKiByZXNldCBvbiB1bmJvcm4gYnJhbmNoOiB0cmVhdCBhcyByZXNldCB0byBlbXB0eSB0cmVlICovCiAJCWhhc2hjcHkoc2hhMSwgRU1QVFlfVFJFRV9TSEExX0JJTik7Ci0JfSBlbHNlIGlmICghcGF0aHNwZWMpIHsKKwl9IGVsc2UgaWYgKCFwYXRoc3BlYy5ucikgewogCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAJCWlmIChnZXRfc2hhMV9jb21taXR0aXNoKHJldiwgc2hhMSkpCiAJCQlkaWUoXygiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJldmlzaW9uLiIpLCByZXYpOwpAQCAtMjkzLDEzICszMDQsMTMgQEAKIAlpZiAocGF0Y2hfbW9kZSkgewogCQlpZiAocmVzZXRfdHlwZSAhPSBOT05FKQogCQkJZGllKF8oIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIpKTsKLQkJcmV0dXJuIHJ1bl9hZGRfaW50ZXJhY3RpdmUoc2hhMV90b19oZXgoc2hhMSksICItLXBhdGNoPXJlc2V0IiwgcGF0aHNwZWMpOworCQlyZXR1cm4gcnVuX2FkZF9pbnRlcmFjdGl2ZShyZXYsICItLXBhdGNoPXJlc2V0IiwgJnBhdGhzcGVjKTsKIAl9CiAKIAkvKiBnaXQgcmVzZXQgdHJlZSBbLS1dIHBhdGhzLi4uIGNhbiBiZSB1c2VkIHRvCiAJICogbG9hZCBjaG9zZW4gcGF0aHMgZnJvbSB0aGUgdHJlZSBpbnRvIHRoZSBpbmRleCB3aXRob3V0CiAJICogYWZmZWN0aW5nIHRoZSB3b3JraW5nIHRyZWUgbm9yIEhFQUQuICovCi0JaWYgKHBhdGhzcGVjKSB7CisJaWYgKHBhdGhzcGVjLm5yKSB7CiAJCWlmIChyZXNldF90eXBlID09IE1JWEVEKQogCQkJd2FybmluZyhfKCItLW1peGVkIHdpdGggcGF0aHMgaXMgZGVwcmVjYXRlZDsgdXNlICdnaXQgcmVzZXQgLS0gPHBhdGhzPicgaW5zdGVhZC4iKSk7CiAJCWVsc2UgaWYgKHJlc2V0X3R5cGUgIT0gTk9ORSkKQEAgLTMyMywxMSArMzM0LDE0IEBACiAJCWRpZV9pZl91bm1lcmdlZF9jYWNoZShyZXNldF90eXBlKTsKIAogCWlmIChyZXNldF90eXBlICE9IFNPRlQpIHsKLQkJc3RydWN0IGxvY2tfZmlsZSAqbG9jayA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBsb2NrX2ZpbGUpKTsKKwkJc3RydWN0IGxvY2tfZmlsZSAqbG9jayA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpsb2NrKSk7CiAJCWludCBuZXdmZCA9IGhvbGRfbG9ja2VkX2luZGV4KGxvY2ssIDEpOwogCQlpZiAocmVzZXRfdHlwZSA9PSBNSVhFRCkgewotCQkJaWYgKHJlYWRfZnJvbV90cmVlKHBhdGhzcGVjLCBzaGExKSkKKwkJCWludCBmbGFncyA9IHF1aWV0ID8gUkVGUkVTSF9RVUlFVCA6IFJFRlJFU0hfSU5fUE9SQ0VMQUlOOworCQkJaWYgKHJlYWRfZnJvbV90cmVlKCZwYXRoc3BlYywgc2hhMSkpCiAJCQkJcmV0dXJuIDE7CisJCQlyZWZyZXNoX2luZGV4KCZ0aGVfaW5kZXgsIGZsYWdzLCBOVUxMLCBOVUxMLAorCQkJCSAgICAgIF8oIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IikpOwogCQl9IGVsc2UgewogCQkJaW50IGVyciA9IHJlc2V0X2luZGV4KHNoYTEsIHJlc2V0X3R5cGUsIHF1aWV0KTsKIAkJCWlmIChyZXNldF90eXBlID09IEtFRVAgJiYgIWVycikKQEAgLTMzNiwyNiArMzUwLDIwIEBACiAJCQkJZGllKF8oIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIiksIHJldik7CiAJCX0KIAotCQlpZiAocmVzZXRfdHlwZSA9PSBNSVhFRCkgeyAvKiBSZXBvcnQgd2hhdCBoYXMgbm90IGJlZW4gdXBkYXRlZC4gKi8KLQkJCWludCBmbGFncyA9IHF1aWV0ID8gUkVGUkVTSF9RVUlFVCA6IFJFRlJFU0hfSU5fUE9SQ0VMQUlOOwotCQkJcmVmcmVzaF9pbmRleCgmdGhlX2luZGV4LCBmbGFncywgTlVMTCwgTlVMTCwKLQkJCQkgICAgICBfKCJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIpKTsKLQkJfQotCiAJCWlmICh3cml0ZV9jYWNoZShuZXdmZCwgYWN0aXZlX2NhY2hlLCBhY3RpdmVfbnIpIHx8CiAJCSAgICBjb21taXRfbG9ja2VkX2luZGV4KGxvY2spKQogCQkJZGllKF8oIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iKSk7CiAJfQogCi0JaWYgKCFwYXRoc3BlYyAmJiAhdW5ib3JuKSB7CisJaWYgKCFwYXRoc3BlYy5uciAmJiAhdW5ib3JuKSB7CiAJCS8qIEFueSByZXNldHMgd2l0aG91dCBwYXRocyB1cGRhdGUgSEVBRCB0byB0aGUgaGVhZCBiZWluZwogCQkgKiBzd2l0Y2hlZCB0bywgc2F2aW5nIHRoZSBwcmV2aW91cyBoZWFkIGluIE9SSUdfSEVBRCBiZWZvcmUuICovCi0JCXVwZGF0ZV9yZWZfc3RhdHVzID0gdXBkYXRlX3JlZnMocmV2LCBzaGExKTsKKwkJdXBkYXRlX3JlZl9zdGF0dXMgPSByZXNldF9yZWZzKHJldiwgc2hhMSk7CiAKIAkJaWYgKHJlc2V0X3R5cGUgPT0gSEFSRCAmJiAhdXBkYXRlX3JlZl9zdGF0dXMgJiYgIXF1aWV0KQogCQkJcHJpbnRfbmV3X2hlYWRfbGluZShsb29rdXBfY29tbWl0X3JlZmVyZW5jZShzaGExKSk7CiAJfQotCWlmICghcGF0aHNwZWMpCisJaWYgKCFwYXRoc3BlYy5ucikKIAkJcmVtb3ZlX2JyYW5jaF9zdGF0ZSgpOwogCiAJcmV0dXJuIHVwZGF0ZV9yZWZfc3RhdHVzOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZXYtbGlzdC5jIGIvYnVpbHRpbi9yZXYtbGlzdC5jCmluZGV4IDRmYzE2MTYuLjA3NDVlMmQgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmV2LWxpc3QuYworKysgYi9idWlsdGluL3Jldi1saXN0LmMKQEAgLTMyMiw3ICszMjIsNyBAQAogCQlyZXZzLmNvbW1pdF9mb3JtYXQgPSBDTUlUX0ZNVF9SQVc7CiAKIAlpZiAoKCFyZXZzLmNvbW1pdHMgJiYKLQkgICAgICghKHJldnMudGFnX29iamVjdHN8fHJldnMudHJlZV9vYmplY3RzfHxyZXZzLmJsb2Jfb2JqZWN0cykgJiYKKwkgICAgICghKHJldnMudGFnX29iamVjdHMgfHwgcmV2cy50cmVlX29iamVjdHMgfHwgcmV2cy5ibG9iX29iamVjdHMpICYmCiAJICAgICAgIXJldnMucGVuZGluZy5ucikpIHx8CiAJICAgIHJldnMuZGlmZikKIAkJdXNhZ2UocmV2X2xpc3RfdXNhZ2UpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZXYtcGFyc2UuYyBiL2J1aWx0aW4vcmV2LXBhcnNlLmMKaW5kZXggZGU4OTRjNy4uYWFlYjYxMSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9yZXYtcGFyc2UuYworKysgYi9idWlsdGluL3Jldi1wYXJzZS5jCkBAIC05LDYgKzksOCBAQAogI2luY2x1ZGUgInF1b3RlLmgiCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKKyNpbmNsdWRlICJkaWZmLmgiCisjaW5jbHVkZSAicmV2aXNpb24uaCIKIAogI2RlZmluZSBET19SRVZTCQkxCiAjZGVmaW5lIERPX05PUkVWCTIKQEAgLTMwLDYgKzMyLDkgQEAKIHN0YXRpYyBpbnQgYWJicmV2X3JlZl9zdHJpY3Q7CiBzdGF0aWMgaW50IG91dHB1dF9zcTsKIAorc3RhdGljIGludCBzdHVja19sb25nOworc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCAqcmVmX2V4Y2x1ZGVzOworCiAvKgogICogU29tZSBhcmd1bWVudHMgYXJlIHJlbGV2YW50ICJyZXZpc2lvbiIgYXJndW1lbnRzLAogICogb3RoZXJzIGFyZSBhYm91dCBvdXRwdXQgZm9ybWF0IG9yIG90aGVyIGRldGFpbHMuCkBAIC0xODUsNiArMTkwLDggQEAKIAogc3RhdGljIGludCBzaG93X3JlZmVyZW5jZShjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgZmxhZywgdm9pZCAqY2JfZGF0YSkKIHsKKwlpZiAocmVmX2V4Y2x1ZGVkKHJlZl9leGNsdWRlcywgcmVmbmFtZSkpCisJCXJldHVybiAwOwogCXNob3dfcmV2KE5PUk1BTCwgc2hhMSwgcmVmbmFtZSk7CiAJcmV0dXJuIDA7CiB9CkBAIC0yNzksNiArMjg2LDcgQEAKIAkJCQlleGNsdWRlID0gbjsKIAkJCX0KIAkJfQorCQkqZG90ZG90ID0gJy4nOwogCQlyZXR1cm4gMTsKIAl9CiAJKmRvdGRvdCA9ICcuJzsKQEAgLTMwMiw4ICszMTAsMTAgQEAKIAkJcmV0dXJuIDA7CiAKIAkqZG90ZG90ID0gMDsKLQlpZiAoZ2V0X3NoYTFfY29tbWl0dGlzaChhcmcsIHNoYTEpKQorCWlmIChnZXRfc2hhMV9jb21taXR0aXNoKGFyZywgc2hhMSkpIHsKKwkJKmRvdGRvdCA9ICdeJzsKIAkJcmV0dXJuIDA7CisJfQogCiAJaWYgKCFwYXJlbnRzX29ubHkpCiAJCXNob3dfcmV2KE5PUk1BTCwgc2hhMSwgYXJnKTsKQEAgLTMxMiw2ICszMjIsNyBAQAogCQlzaG93X3JldihwYXJlbnRzX29ubHkgPyBOT1JNQUwgOiBSRVZFUlNFRCwKIAkJCQlwYXJlbnRzLT5pdGVtLT5vYmplY3Quc2hhMSwgYXJnKTsKIAorCSpkb3Rkb3QgPSAnXic7CiAJcmV0dXJuIDE7CiB9CiAKQEAgLTMyMCwxMiArMzMxLDE1IEBACiAJc3RydWN0IHN0cmJ1ZiAqcGFyc2VkID0gby0+dmFsdWU7CiAJaWYgKHVuc2V0KQogCQlzdHJidWZfYWRkZihwYXJzZWQsICIgLS1uby0lcyIsIG8tPmxvbmdfbmFtZSk7Ci0JZWxzZSBpZiAoby0+c2hvcnRfbmFtZSkKKwllbHNlIGlmIChvLT5zaG9ydF9uYW1lICYmIChvLT5sb25nX25hbWUgPT0gTlVMTCB8fCAhc3R1Y2tfbG9uZykpCiAJCXN0cmJ1Zl9hZGRmKHBhcnNlZCwgIiAtJWMiLCBvLT5zaG9ydF9uYW1lKTsKIAllbHNlCiAJCXN0cmJ1Zl9hZGRmKHBhcnNlZCwgIiAtLSVzIiwgby0+bG9uZ19uYW1lKTsKIAlpZiAoYXJnKSB7Ci0JCXN0cmJ1Zl9hZGRjaChwYXJzZWQsICcgJyk7CisJCWlmICghc3R1Y2tfbG9uZykKKwkJCXN0cmJ1Zl9hZGRjaChwYXJzZWQsICcgJyk7CisJCWVsc2UgaWYgKG8tPmxvbmdfbmFtZSkKKwkJCXN0cmJ1Zl9hZGRjaChwYXJzZWQsICc9Jyk7CiAJCXNxX3F1b3RlX2J1ZihwYXJzZWQsIGFyZyk7CiAJfQogCXJldHVybiAwOwpAQCAtMzQ2LDExICszNjAsMTMgQEAKIAkJTlVMTAogCX07CiAJc3RhdGljIHN0cnVjdCBvcHRpb24gcGFyc2VvcHRfb3B0c1tdID0gewotCQlPUFRfQk9PTEVBTigwLCAia2VlcC1kYXNoZGFzaCIsICZrZWVwX2Rhc2hkYXNoLAorCQlPUFRfQk9PTCgwLCAia2VlcC1kYXNoZGFzaCIsICZrZWVwX2Rhc2hkYXNoLAogCQkJCQlOXygia2VlcCB0aGUgYC0tYCBwYXNzZWQgYXMgYW4gYXJnIikpLAotCQlPUFRfQk9PTEVBTigwLCAic3RvcC1hdC1ub24tb3B0aW9uIiwgJnN0b3BfYXRfbm9uX29wdGlvbiwKKwkJT1BUX0JPT0woMCwgInN0b3AtYXQtbm9uLW9wdGlvbiIsICZzdG9wX2F0X25vbl9vcHRpb24sCiAJCQkJCU5fKCJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlICIKIAkJCQkJICAgImZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiKSksCisJCU9QVF9CT09MKDAsICJzdHVjay1sb25nIiwgJnN0dWNrX2xvbmcsCisJCQkJCU5fKCJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIikpLAogCQlPUFRfRU5EKCksCiAJfTsKIApAQCAtNDc2LDYgKzQ5Miw3IEBACiBpbnQgY21kX3Jldl9wYXJzZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKIAlpbnQgaSwgYXNfaXMgPSAwLCB2ZXJpZnkgPSAwLCBxdWlldCA9IDAsIHJldnNfY291bnQgPSAwLCB0eXBlID0gMDsKKwlpbnQgaGFzX2Rhc2hkYXNoID0gMDsKIAlpbnQgb3V0cHV0X3ByZWZpeCA9IDA7CiAJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKIAljb25zdCBjaGFyICpuYW1lID0gTlVMTDsKQEAgLTQ4NiwyNCArNTAzLDE2IEBACiAJaWYgKGFyZ2MgPiAxICYmICFzdHJjbXAoIi0tc3EtcXVvdGUiLCBhcmd2WzFdKSkKIAkJcmV0dXJuIGNtZF9zcV9xdW90ZShhcmdjIC0gMiwgYXJndiArIDIpOwogCi0JaWYgKGFyZ2MgPT0gMiAmJiAhc3RyY21wKCItLWxvY2FsLWVudi12YXJzIiwgYXJndlsxXSkpIHsKLQkJaW50IGk7Ci0JCWZvciAoaSA9IDA7IGxvY2FsX3JlcG9fZW52W2ldOyBpKyspCi0JCQlwcmludGYoIiVzXG4iLCBsb2NhbF9yZXBvX2VudltpXSk7Ci0JCXJldHVybiAwOwotCX0KLQotCWlmIChhcmdjID4gMiAmJiAhc3RyY21wKGFyZ3ZbMV0sICItLXJlc29sdmUtZ2l0LWRpciIpKSB7Ci0JCWNvbnN0IGNoYXIgKmdpdGRpciA9IHJlc29sdmVfZ2l0ZGlyKGFyZ3ZbMl0pOwotCQlpZiAoIWdpdGRpcikKLQkJCWRpZSgibm90IGEgZ2l0ZGlyICclcyciLCBhcmd2WzJdKTsKLQkJcHV0cyhnaXRkaXIpOwotCQlyZXR1cm4gMDsKLQl9Ci0KIAlpZiAoYXJnYyA+IDEgJiYgIXN0cmNtcCgiLWgiLCBhcmd2WzFdKSkKIAkJdXNhZ2UoYnVpbHRpbl9yZXZfcGFyc2VfdXNhZ2UpOwogCisJZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKykgeworCQlpZiAoIXN0cmNtcChhcmd2W2ldLCAiLS0iKSkgeworCQkJaGFzX2Rhc2hkYXNoID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQorCiAJcHJlZml4ID0gc2V0dXBfZ2l0X2RpcmVjdG9yeSgpOwogCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKIAlmb3IgKGkgPSAxOyBpIDwgYXJnYzsgaSsrKSB7CkBAIC01MjMsNyArNTMyLDcgQEAKIAkJCX0KIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWlmICghcHJlZml4Y21wKGFyZywgIi1uIikpIHsKKwkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi1uIikpIHsKIAkJCWlmICgoZmlsdGVyICYgRE9fRkxBR1MpICYmIChmaWx0ZXIgJiBET19SRVZTKSkKIAkJCQlzaG93KGFyZyk7CiAJCQljb250aW51ZTsKQEAgLTU3NSw3ICs1ODQsNyBAQAogCQkJCWNvbnRpbnVlOwogCQkJfQogCQkJaWYgKCFzdHJjbXAoYXJnLCAiLS1zaG9ydCIpIHx8Ci0JCQkgICAgIXByZWZpeGNtcChhcmcsICItLXNob3J0PSIpKSB7CisJCQkgICAgc3RhcnRzX3dpdGgoYXJnLCAiLS1zaG9ydD0iKSkgewogCQkJCWZpbHRlciAmPSB+KERPX0ZMQUdTfERPX05PUkVWKTsKIAkJCQl2ZXJpZnkgPSAxOwogCQkJCWFiYnJldiA9IERFRkFVTFRfQUJCUkVWOwpAQCAtNjAzLDcgKzYxMiw3IEBACiAJCQkJc3ltYm9saWMgPSBTSE9XX1NZTUJPTElDX0ZVTEw7CiAJCQkJY29udGludWU7CiAJCQl9Ci0JCQlpZiAoIXByZWZpeGNtcChhcmcsICItLWFiYnJldi1yZWYiKSAmJgorCQkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tYWJicmV2LXJlZiIpICYmCiAJCQkgICAgKCFhcmdbMTJdIHx8IGFyZ1sxMl0gPT0gJz0nKSkgewogCQkJCWFiYnJldl9yZWYgPSAxOwogCQkJCWFiYnJldl9yZWZfc3RyaWN0ID0gd2Fybl9hbWJpZ3VvdXNfcmVmczsKQEAgLTYyMSw3ICs2MzAsNyBAQAogCQkJCWZvcl9lYWNoX3JlZihzaG93X3JlZmVyZW5jZSwgTlVMTCk7CiAJCQkJY29udGludWU7CiAJCQl9Ci0JCQlpZiAoIXByZWZpeGNtcChhcmcsICItLWRpc2FtYmlndWF0ZT0iKSkgeworCQkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tZGlzYW1iaWd1YXRlPSIpKSB7CiAJCQkJZm9yX2VhY2hfYWJicmV2KGFyZyArIDE1LCBzaG93X2FiYnJldiwgTlVMTCk7CiAJCQkJY29udGludWU7CiAJCQl9CkBAIC02MzAsMzUgKzYzOSw1MiBAQAogCQkJCWZvcl9lYWNoX3JlZl9pbigicmVmcy9iaXNlY3QvZ29vZCIsIGFudGlfcmVmZXJlbmNlLCBOVUxMKTsKIAkJCQljb250aW51ZTsKIAkJCX0KLQkJCWlmICghcHJlZml4Y21wKGFyZywgIi0tYnJhbmNoZXM9IikpIHsKKwkJCWlmIChzdGFydHNfd2l0aChhcmcsICItLWJyYW5jaGVzPSIpKSB7CiAJCQkJZm9yX2VhY2hfZ2xvYl9yZWZfaW4oc2hvd19yZWZlcmVuY2UsIGFyZyArIDExLAogCQkJCQkicmVmcy9oZWFkcy8iLCBOVUxMKTsKKwkJCQljbGVhcl9yZWZfZXhjbHVzaW9uKCZyZWZfZXhjbHVkZXMpOwogCQkJCWNvbnRpbnVlOwogCQkJfQogCQkJaWYgKCFzdHJjbXAoYXJnLCAiLS1icmFuY2hlcyIpKSB7CiAJCQkJZm9yX2VhY2hfYnJhbmNoX3JlZihzaG93X3JlZmVyZW5jZSwgTlVMTCk7CisJCQkJY2xlYXJfcmVmX2V4Y2x1c2lvbigmcmVmX2V4Y2x1ZGVzKTsKIAkJCQljb250aW51ZTsKIAkJCX0KLQkJCWlmICghcHJlZml4Y21wKGFyZywgIi0tdGFncz0iKSkgeworCQkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tdGFncz0iKSkgewogCQkJCWZvcl9lYWNoX2dsb2JfcmVmX2luKHNob3dfcmVmZXJlbmNlLCBhcmcgKyA3LAogCQkJCQkicmVmcy90YWdzLyIsIE5VTEwpOworCQkJCWNsZWFyX3JlZl9leGNsdXNpb24oJnJlZl9leGNsdWRlcyk7CiAJCQkJY29udGludWU7CiAJCQl9CiAJCQlpZiAoIXN0cmNtcChhcmcsICItLXRhZ3MiKSkgewogCQkJCWZvcl9lYWNoX3RhZ19yZWYoc2hvd19yZWZlcmVuY2UsIE5VTEwpOworCQkJCWNsZWFyX3JlZl9leGNsdXNpb24oJnJlZl9leGNsdWRlcyk7CiAJCQkJY29udGludWU7CiAJCQl9Ci0JCQlpZiAoIXByZWZpeGNtcChhcmcsICItLWdsb2I9IikpIHsKKwkJCWlmIChzdGFydHNfd2l0aChhcmcsICItLWdsb2I9IikpIHsKIAkJCQlmb3JfZWFjaF9nbG9iX3JlZihzaG93X3JlZmVyZW5jZSwgYXJnICsgNywgTlVMTCk7CisJCQkJY2xlYXJfcmVmX2V4Y2x1c2lvbigmcmVmX2V4Y2x1ZGVzKTsKIAkJCQljb250aW51ZTsKIAkJCX0KLQkJCWlmICghcHJlZml4Y21wKGFyZywgIi0tcmVtb3Rlcz0iKSkgeworCQkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tcmVtb3Rlcz0iKSkgewogCQkJCWZvcl9lYWNoX2dsb2JfcmVmX2luKHNob3dfcmVmZXJlbmNlLCBhcmcgKyAxMCwKIAkJCQkJInJlZnMvcmVtb3Rlcy8iLCBOVUxMKTsKKwkJCQljbGVhcl9yZWZfZXhjbHVzaW9uKCZyZWZfZXhjbHVkZXMpOwogCQkJCWNvbnRpbnVlOwogCQkJfQogCQkJaWYgKCFzdHJjbXAoYXJnLCAiLS1yZW1vdGVzIikpIHsKIAkJCQlmb3JfZWFjaF9yZW1vdGVfcmVmKHNob3dfcmVmZXJlbmNlLCBOVUxMKTsKKwkJCQljbGVhcl9yZWZfZXhjbHVzaW9uKCZyZWZfZXhjbHVkZXMpOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tZXhjbHVkZT0iKSkgeworCQkJCWFkZF9yZWZfZXhjbHVzaW9uKCZyZWZfZXhjbHVkZXMsIGFyZyArIDEwKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWlmICghc3RyY21wKGFyZywgIi0tbG9jYWwtZW52LXZhcnMiKSkgeworCQkJCWludCBpOworCQkJCWZvciAoaSA9IDA7IGxvY2FsX3JlcG9fZW52W2ldOyBpKyspCisJCQkJCXByaW50ZigiJXNcbiIsIGxvY2FsX3JlcG9fZW52W2ldKTsKIAkJCQljb250aW51ZTsKIAkJCX0KIAkJCWlmICghc3RyY21wKGFyZywgIi0tc2hvdy10b3BsZXZlbCIpKSB7CkBAIC03MTEsNiArNzM3LDEzIEBACiAJCQkJcHJpbnRmKCIlcyVzLmdpdFxuIiwgY3dkLCBsZW4gJiYgY3dkW2xlbi0xXSAhPSAnLycgPyAiLyIgOiAiIik7CiAJCQkJY29udGludWU7CiAJCQl9CisJCQlpZiAoIXN0cmNtcChhcmcsICItLXJlc29sdmUtZ2l0LWRpciIpKSB7CisJCQkJY29uc3QgY2hhciAqZ2l0ZGlyID0gcmVzb2x2ZV9naXRkaXIoYXJndltpKzFdKTsKKwkJCQlpZiAoIWdpdGRpcikKKwkJCQkJZGllKCJub3QgYSBnaXRkaXIgJyVzJyIsIGFyZ3ZbaSsxXSk7CisJCQkJcHV0cyhnaXRkaXIpOworCQkJCWNvbnRpbnVlOworCQkJfQogCQkJaWYgKCFzdHJjbXAoYXJnLCAiLS1pcy1pbnNpZGUtZ2l0LWRpciIpKSB7CiAJCQkJcHJpbnRmKCIlc1xuIiwgaXNfaW5zaWRlX2dpdF9kaXIoKSA/ICJ0cnVlIgogCQkJCQkJOiAiZmFsc2UiKTsKQEAgLTcyNiwxOSArNzU5LDE5IEBACiAJCQkJCQk6ICJmYWxzZSIpOwogCQkJCWNvbnRpbnVlOwogCQkJfQotCQkJaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1zaW5jZT0iKSkgeworCQkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tc2luY2U9IikpIHsKIAkJCQlzaG93X2RhdGVzdHJpbmcoIi0tbWF4LWFnZT0iLCBhcmcrOCk7CiAJCQkJY29udGludWU7CiAJCQl9Ci0JCQlpZiAoIXByZWZpeGNtcChhcmcsICItLWFmdGVyPSIpKSB7CisJCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1hZnRlcj0iKSkgewogCQkJCXNob3dfZGF0ZXN0cmluZygiLS1tYXgtYWdlPSIsIGFyZys4KTsKIAkJCQljb250aW51ZTsKIAkJCX0KLQkJCWlmICghcHJlZml4Y21wKGFyZywgIi0tYmVmb3JlPSIpKSB7CisJCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1iZWZvcmU9IikpIHsKIAkJCQlzaG93X2RhdGVzdHJpbmcoIi0tbWluLWFnZT0iLCBhcmcrOSk7CiAJCQkJY29udGludWU7CiAJCQl9Ci0JCQlpZiAoIXByZWZpeGNtcChhcmcsICItLXVudGlsPSIpKSB7CisJCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS11bnRpbD0iKSkgewogCQkJCXNob3dfZGF0ZXN0cmluZygiLS1taW4tYWdlPSIsIGFyZys4KTsKIAkJCQljb250aW51ZTsKIAkJCX0KQEAgLTc2Nyw2ICs4MDAsOCBAQAogCQl9CiAJCWlmICh2ZXJpZnkpCiAJCQlkaWVfbm9fc2luZ2xlX3JldihxdWlldCk7CisJCWlmIChoYXNfZGFzaGRhc2gpCisJCQlkaWUoImJhZCByZXZpc2lvbiAnJXMnIiwgYXJnKTsKIAkJYXNfaXMgPSAxOwogCQlpZiAoIXNob3dfZmlsZShhcmcsIG91dHB1dF9wcmVmaXgpKQogCQkJY29udGludWU7CmRpZmYgLS1naXQgYS9idWlsdGluL3JldmVydC5jIGIvYnVpbHRpbi9yZXZlcnQuYwppbmRleCAxZDI2NDhiLi44NzY1OWM5IDEwMDY0NAotLS0gYS9idWlsdGluL3JldmVydC5jCisrKyBiL2J1aWx0aW4vcmV2ZXJ0LmMKQEAgLTcxLDQ0ICs3MSwxOSBAQAogCQlkaWUoXygiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiKSwgbWUsIHRoaXNfb3B0LCBiYXNlX29wdCk7CiB9CiAKLUxBU1RfQVJHX01VU1RfQkVfTlVMTAotc3RhdGljIHZvaWQgdmVyaWZ5X29wdF9tdXR1YWxseV9jb21wYXRpYmxlKGNvbnN0IGNoYXIgKm1lLCAuLi4pCi17Ci0JY29uc3QgY2hhciAqb3B0MSwgKm9wdDIgPSBOVUxMOwotCXZhX2xpc3QgYXA7Ci0KLQl2YV9zdGFydChhcCwgbWUpOwotCXdoaWxlICgob3B0MSA9IHZhX2FyZyhhcCwgY29uc3QgY2hhciAqKSkpIHsKLQkJaWYgKHZhX2FyZyhhcCwgaW50KSkKLQkJCWJyZWFrOwotCX0KLQlpZiAob3B0MSkgewotCQl3aGlsZSAoKG9wdDIgPSB2YV9hcmcoYXAsIGNvbnN0IGNoYXIgKikpKSB7Ci0JCQlpZiAodmFfYXJnKGFwLCBpbnQpKQotCQkJCWJyZWFrOwotCQl9Ci0JfQotCXZhX2VuZChhcCk7Ci0KLQlpZiAob3B0MSAmJiBvcHQyKQotCQlkaWUoXygiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiKSwJbWUsIG9wdDEsIG9wdDIpOwotfQotCiBzdGF0aWMgdm9pZCBwYXJzZV9hcmdzKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewogCWNvbnN0IGNoYXIgKiBjb25zdCAqIHVzYWdlX3N0ciA9IHJldmVydF9vcl9jaGVycnlfcGlja191c2FnZShvcHRzKTsKIAljb25zdCBjaGFyICptZSA9IGFjdGlvbl9uYW1lKG9wdHMpOwotCWludCByZW1vdmVfc3RhdGUgPSAwOwotCWludCBjb250aW4gPSAwOwotCWludCByb2xsYmFjayA9IDA7CisJaW50IGNtZCA9IDA7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MRUFOKDAsICJxdWl0IiwgJnJlbW92ZV9zdGF0ZSwgTl8oImVuZCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiKSksCi0JCU9QVF9CT09MRUFOKDAsICJjb250aW51ZSIsICZjb250aW4sIE5fKCJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIikpLAotCQlPUFRfQk9PTEVBTigwLCAiYWJvcnQiLCAmcm9sbGJhY2ssIE5fKCJjYW5jZWwgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIikpLAotCQlPUFRfQk9PTEVBTignbicsICJuby1jb21taXQiLCAmb3B0cy0+bm9fY29tbWl0LCBOXygiZG9uJ3QgYXV0b21hdGljYWxseSBjb21taXQiKSksCi0JCU9QVF9CT09MRUFOKCdlJywgImVkaXQiLCAmb3B0cy0+ZWRpdCwgTl8oImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIikpLAorCQlPUFRfQ01ETU9ERSgwLCAicXVpdCIsICZjbWQsIE5fKCJlbmQgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIiksICdxJyksCisJCU9QVF9DTURNT0RFKDAsICJjb250aW51ZSIsICZjbWQsIE5fKCJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIiksICdjJyksCisJCU9QVF9DTURNT0RFKDAsICJhYm9ydCIsICZjbWQsIE5fKCJjYW5jZWwgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIiksICdhJyksCisJCU9QVF9CT09MKCduJywgIm5vLWNvbW1pdCIsICZvcHRzLT5ub19jb21taXQsIE5fKCJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIpKSwKKwkJT1BUX0JPT0woJ2UnLCAiZWRpdCIsICZvcHRzLT5lZGl0LCBOXygiZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UiKSksCiAJCU9QVF9OT09QX05PQVJHKCdyJywgTlVMTCksCi0JCU9QVF9CT09MRUFOKCdzJywgInNpZ25vZmYiLCAmb3B0cy0+c2lnbm9mZiwgTl8oImFkZCBTaWduZWQtb2ZmLWJ5OiIpKSwKKwkJT1BUX0JPT0woJ3MnLCAic2lnbm9mZiIsICZvcHRzLT5zaWdub2ZmLCBOXygiYWRkIFNpZ25lZC1vZmYtYnk6IikpLAogCQlPUFRfSU5URUdFUignbScsICJtYWlubGluZSIsICZvcHRzLT5tYWlubGluZSwgTl8oInBhcmVudCBudW1iZXIiKSksCiAJCU9QVF9SRVJFUkVfQVVUT1VQREFURSgmb3B0cy0+YWxsb3dfcmVyZXJlX2F1dG8pLAogCQlPUFRfU1RSSU5HKDAsICJzdHJhdGVneSIsICZvcHRzLT5zdHJhdGVneSwgTl8oInN0cmF0ZWd5IiksIE5fKCJtZXJnZSBzdHJhdGVneSIpKSwKQEAgLTEyNCwxMSArOTksMTEgQEAKIAogCWlmIChvcHRzLT5hY3Rpb24gPT0gUkVQTEFZX1BJQ0spIHsKIAkJc3RydWN0IG9wdGlvbiBjcF9leHRyYVtdID0gewotCQkJT1BUX0JPT0xFQU4oJ3gnLCBOVUxMLCAmb3B0cy0+cmVjb3JkX29yaWdpbiwgTl8oImFwcGVuZCBjb21taXQgbmFtZSIpKSwKLQkJCU9QVF9CT09MRUFOKDAsICJmZiIsICZvcHRzLT5hbGxvd19mZiwgTl8oImFsbG93IGZhc3QtZm9yd2FyZCIpKSwKLQkJCU9QVF9CT09MRUFOKDAsICJhbGxvdy1lbXB0eSIsICZvcHRzLT5hbGxvd19lbXB0eSwgTl8oInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIikpLAotCQkJT1BUX0JPT0xFQU4oMCwgImFsbG93LWVtcHR5LW1lc3NhZ2UiLCAmb3B0cy0+YWxsb3dfZW1wdHlfbWVzc2FnZSwgTl8oImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIpKSwKLQkJCU9QVF9CT09MRUFOKDAsICJrZWVwLXJlZHVuZGFudC1jb21taXRzIiwgJm9wdHMtPmtlZXBfcmVkdW5kYW50X2NvbW1pdHMsIE5fKCJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIpKSwKKwkJCU9QVF9CT09MKCd4JywgTlVMTCwgJm9wdHMtPnJlY29yZF9vcmlnaW4sIE5fKCJhcHBlbmQgY29tbWl0IG5hbWUiKSksCisJCQlPUFRfQk9PTCgwLCAiZmYiLCAmb3B0cy0+YWxsb3dfZmYsIE5fKCJhbGxvdyBmYXN0LWZvcndhcmQiKSksCisJCQlPUFRfQk9PTCgwLCAiYWxsb3ctZW1wdHkiLCAmb3B0cy0+YWxsb3dfZW1wdHksIE5fKCJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIpKSwKKwkJCU9QVF9CT09MKDAsICJhbGxvdy1lbXB0eS1tZXNzYWdlIiwgJm9wdHMtPmFsbG93X2VtcHR5X21lc3NhZ2UsIE5fKCJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiKSksCisJCQlPUFRfQk9PTCgwLCAia2VlcC1yZWR1bmRhbnQtY29tbWl0cyIsICZvcHRzLT5rZWVwX3JlZHVuZGFudF9jb21taXRzLCBOXygia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiKSksCiAJCQlPUFRfRU5EKCksCiAJCX07CiAJCWlmIChwYXJzZV9vcHRpb25zX2NvbmNhdChvcHRpb25zLCBBUlJBWV9TSVpFKG9wdGlvbnMpLCBjcF9leHRyYSkpCkBAIC0xMzksMjMgKzExNCwxNiBAQAogCQkJUEFSU0VfT1BUX0tFRVBfQVJHVjAgfAogCQkJUEFSU0VfT1BUX0tFRVBfVU5LTk9XTik7CiAKLQkvKiBDaGVjayBmb3IgaW5jb21wYXRpYmxlIHN1YmNvbW1hbmRzICovCi0JdmVyaWZ5X29wdF9tdXR1YWxseV9jb21wYXRpYmxlKG1lLAotCQkJCSItLXF1aXQiLCByZW1vdmVfc3RhdGUsCi0JCQkJIi0tY29udGludWUiLCBjb250aW4sCi0JCQkJIi0tYWJvcnQiLCByb2xsYmFjaywKLQkJCQlOVUxMKTsKLQogCS8qIGltcGxpZXMgYWxsb3dfZW1wdHkgKi8KIAlpZiAob3B0cy0+a2VlcF9yZWR1bmRhbnRfY29tbWl0cykKIAkJb3B0cy0+YWxsb3dfZW1wdHkgPSAxOwogCiAJLyogU2V0IHRoZSBzdWJjb21tYW5kICovCi0JaWYgKHJlbW92ZV9zdGF0ZSkKKwlpZiAoY21kID09ICdxJykKIAkJb3B0cy0+c3ViY29tbWFuZCA9IFJFUExBWV9SRU1PVkVfU1RBVEU7Ci0JZWxzZSBpZiAoY29udGluKQorCWVsc2UgaWYgKGNtZCA9PSAnYycpCiAJCW9wdHMtPnN1YmNvbW1hbmQgPSBSRVBMQVlfQ09OVElOVUU7Ci0JZWxzZSBpZiAocm9sbGJhY2spCisJZWxzZSBpZiAoY21kID09ICdhJykKIAkJb3B0cy0+c3ViY29tbWFuZCA9IFJFUExBWV9ST0xMQkFDSzsKIAllbHNlCiAJCW9wdHMtPnN1YmNvbW1hbmQgPSBSRVBMQVlfTk9ORTsKQEAgLTIwMCw2ICsxNjgsOCBAQAogCQlvcHRzLT5yZXZzLT5ub193YWxrID0gUkVWSVNJT05fV0FMS19OT19XQUxLX1VOU09SVEVEOwogCQlpZiAoYXJnYyA8IDIpCiAJCQl1c2FnZV93aXRoX29wdGlvbnModXNhZ2Vfc3RyLCBvcHRpb25zKTsKKwkJaWYgKCFzdHJjbXAoYXJndlsxXSwgIi0iKSkKKwkJCWFyZ3ZbMV0gPSAiQHstMX0iOwogCQltZW1zZXQoJnNfcl9vcHQsIDAsIHNpemVvZihzX3Jfb3B0KSk7CiAJCXNfcl9vcHQuYXNzdW1lX2Rhc2hkYXNoID0gMTsKIAkJYXJnYyA9IHNldHVwX3JldmlzaW9ucyhhcmdjLCBhcmd2LCBvcHRzLT5yZXZzLCAmc19yX29wdCk7CmRpZmYgLS1naXQgYS9idWlsdGluL3JtLmMgYi9idWlsdGluL3JtLmMKaW5kZXggMGRmMGI0ZC4uM2EwZTBlYSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9ybS5jCisrKyBiL2J1aWx0aW4vcm0uYwpAQCAtMTEsNiArMTEsNyBAQAogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgogI2luY2x1ZGUgInN1Ym1vZHVsZS5oIgorI2luY2x1ZGUgInBhdGhzcGVjLmgiCiAKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYnVpbHRpbl9ybV91c2FnZVtdID0gewogCU5fKCJnaXQgcm0gW29wdGlvbnNdIFstLV0gPGZpbGU+Li4uIiksCkBAIC0yNjcsMTAgKzI2OCwxMCBAQAogc3RhdGljIHN0cnVjdCBvcHRpb24gYnVpbHRpbl9ybV9vcHRpb25zW10gPSB7CiAJT1BUX19EUllfUlVOKCZzaG93X29ubHksIE5fKCJkcnkgcnVuIikpLAogCU9QVF9fUVVJRVQoJnF1aWV0LCBOXygiZG8gbm90IGxpc3QgcmVtb3ZlZCBmaWxlcyIpKSwKLQlPUFRfQk9PTEVBTiggMCAsICJjYWNoZWQiLCAgICAgICAgICZpbmRleF9vbmx5LCBOXygib25seSByZW1vdmUgZnJvbSB0aGUgaW5kZXgiKSksCisJT1BUX0JPT0woIDAgLCAiY2FjaGVkIiwgICAgICAgICAmaW5kZXhfb25seSwgTl8oIm9ubHkgcmVtb3ZlIGZyb20gdGhlIGluZGV4IikpLAogCU9QVF9fRk9SQ0UoJmZvcmNlLCBOXygib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siKSksCi0JT1BUX0JPT0xFQU4oJ3InLCBOVUxMLCAgICAgICAgICAgICAmcmVjdXJzaXZlLCAgTl8oImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIikpLAotCU9QVF9CT09MRUFOKCAwICwgImlnbm9yZS11bm1hdGNoIiwgJmlnbm9yZV91bm1hdGNoLAorCU9QVF9CT09MKCdyJywgTlVMTCwgICAgICAgICAgICAgJnJlY3Vyc2l2ZSwgIE5fKCJhbGxvdyByZWN1cnNpdmUgcmVtb3ZhbCIpKSwKKwlPUFRfQk9PTCggMCAsICJpZ25vcmUtdW5tYXRjaCIsICZpZ25vcmVfdW5tYXRjaCwKIAkJCQlOXygiZXhpdCB3aXRoIGEgemVybyBzdGF0dXMgZXZlbiBpZiBub3RoaW5nIG1hdGNoZWQiKSksCiAJT1BUX0VORCgpLAogfTsKQEAgLTI3OCw5ICsyNzksMTAgQEAKIGludCBjbWRfcm0oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJaW50IGksIG5ld2ZkOwotCWNvbnN0IGNoYXIgKipwYXRoc3BlYzsKKwlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAJY2hhciAqc2VlbjsKIAorCWdpdG1vZHVsZXNfY29uZmlnKCk7CiAJZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwogCiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBidWlsdGluX3JtX29wdGlvbnMsCkBAIC0yOTYsNDYgKzI5OCwzNSBAQAogCWlmIChyZWFkX2NhY2hlKCkgPCAwKQogCQlkaWUoXygiaW5kZXggZmlsZSBjb3JydXB0IikpOwogCi0JLyoKLQkgKiBEcm9wIHRyYWlsaW5nIGRpcmVjdG9yeSBzZXBhcmF0b3JzIGZyb20gZGlyZWN0b3JpZXMgc28gd2UnbGwgZmluZAotCSAqIHN1Ym1vZHVsZXMgaW4gdGhlIGluZGV4LgotCSAqLwotCWZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKLQkJc2l6ZV90IHBhdGhsZW4gPSBzdHJsZW4oYXJndltpXSk7Ci0JCWlmIChwYXRobGVuICYmIGlzX2Rpcl9zZXAoYXJndltpXVtwYXRobGVuIC0gMV0pICYmCi0JCSAgICBpc19kaXJlY3RvcnkoYXJndltpXSkpIHsKLQkJCWRvIHsKLQkJCQlwYXRobGVuLS07Ci0JCQl9IHdoaWxlIChwYXRobGVuICYmIGlzX2Rpcl9zZXAoYXJndltpXVtwYXRobGVuIC0gMV0pKTsKLQkJCWFyZ3ZbaV0gPSB4bWVtZHVweihhcmd2W2ldLCBwYXRobGVuKTsKLQkJfQotCX0KKwlwYXJzZV9wYXRoc3BlYygmcGF0aHNwZWMsIDAsCisJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfQ1dEIHwKKwkJICAgICAgIFBBVEhTUEVDX1NUUklQX1NVQk1PRFVMRV9TTEFTSF9DSEVBUCwKKwkJICAgICAgIHByZWZpeCwgYXJndik7CisJcmVmcmVzaF9pbmRleCgmdGhlX2luZGV4LCBSRUZSRVNIX1FVSUVULCAmcGF0aHNwZWMsIE5VTEwsIE5VTEwpOwogCi0JcGF0aHNwZWMgPSBnZXRfcGF0aHNwZWMocHJlZml4LCBhcmd2KTsKLQlyZWZyZXNoX2luZGV4KCZ0aGVfaW5kZXgsIFJFRlJFU0hfUVVJRVQsIHBhdGhzcGVjLCBOVUxMLCBOVUxMKTsKLQotCXNlZW4gPSBOVUxMOwotCWZvciAoaSA9IDA7IHBhdGhzcGVjW2ldIDsgaSsrKQotCQkvKiBub3RoaW5nICovOwotCXNlZW4gPSB4Y2FsbG9jKGksIDEpOworCXNlZW4gPSB4Y2FsbG9jKHBhdGhzcGVjLm5yLCAxKTsKIAogCWZvciAoaSA9IDA7IGkgPCBhY3RpdmVfbnI7IGkrKykgewogCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gYWN0aXZlX2NhY2hlW2ldOwotCQlpZiAoIW1hdGNoX3BhdGhzcGVjKHBhdGhzcGVjLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSksIDAsIHNlZW4pKQorCQlpZiAoIW1hdGNoX3BhdGhzcGVjX2RlcHRoKCZwYXRoc3BlYywgY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpLCAwLCBzZWVuKSkKIAkJCWNvbnRpbnVlOwogCQlBTExPQ19HUk9XKGxpc3QuZW50cnksIGxpc3QubnIgKyAxLCBsaXN0LmFsbG9jKTsKIAkJbGlzdC5lbnRyeVtsaXN0Lm5yXS5uYW1lID0gY2UtPm5hbWU7Ci0JCWxpc3QuZW50cnlbbGlzdC5ucisrXS5pc19zdWJtb2R1bGUgPSBTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSk7CisJCWxpc3QuZW50cnlbbGlzdC5ucl0uaXNfc3VibW9kdWxlID0gU19JU0dJVExJTksoY2UtPmNlX21vZGUpOworCQlpZiAobGlzdC5lbnRyeVtsaXN0Lm5yKytdLmlzX3N1Ym1vZHVsZSAmJgorCQkgICAgIWlzX3N0YWdpbmdfZ2l0bW9kdWxlc19vaygpKQorCQkJZGllIChfKCJQbGVhc2UsIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiKSk7CiAJfQogCi0JaWYgKHBhdGhzcGVjKSB7Ci0JCWNvbnN0IGNoYXIgKm1hdGNoOworCWlmIChwYXRoc3BlYy5ucikgeworCQljb25zdCBjaGFyICpvcmlnaW5hbDsKIAkJaW50IHNlZW5fYW55ID0gMDsKLQkJZm9yIChpID0gMDsgKG1hdGNoID0gcGF0aHNwZWNbaV0pICE9IE5VTEwgOyBpKyspIHsKKwkJZm9yIChpID0gMDsgaSA8IHBhdGhzcGVjLm5yOyBpKyspIHsKKwkJCW9yaWdpbmFsID0gcGF0aHNwZWMuaXRlbXNbaV0ub3JpZ2luYWw7CiAJCQlpZiAoIXNlZW5baV0pIHsKIAkJCQlpZiAoIWlnbm9yZV91bm1hdGNoKSB7CiAJCQkJCWRpZShfKCJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIiksCi0JCQkJCSAgICBtYXRjaCk7CisJCQkJCSAgICBvcmlnaW5hbCk7CiAJCQkJfQogCQkJfQogCQkJZWxzZSB7CkBAIC0zNDMsMTAgKzMzNCwxMCBAQAogCQkJfQogCQkJaWYgKCFyZWN1cnNpdmUgJiYgc2VlbltpXSA9PSBNQVRDSEVEX1JFQ1VSU0lWRUxZKQogCQkJCWRpZShfKCJub3QgcmVtb3ZpbmcgJyVzJyByZWN1cnNpdmVseSB3aXRob3V0IC1yIiksCi0JCQkJICAgICptYXRjaCA/IG1hdGNoIDogIi4iKTsKKwkJCQkgICAgKm9yaWdpbmFsID8gb3JpZ2luYWwgOiAiLiIpOwogCQl9CiAKLQkJaWYgKCEgc2Vlbl9hbnkpCisJCWlmICghc2Vlbl9hbnkpCiAJCQlleGl0KDApOwogCX0KIApAQCAtMzk2LDEzICszODcsMTUgQEAKIAkgKiBpbiB0aGUgbWlkZGxlKQogCSAqLwogCWlmICghaW5kZXhfb25seSkgewotCQlpbnQgcmVtb3ZlZCA9IDA7CisJCWludCByZW1vdmVkID0gMCwgZ2l0bW9kdWxlc19tb2RpZmllZCA9IDA7CiAJCWZvciAoaSA9IDA7IGkgPCBsaXN0Lm5yOyBpKyspIHsKIAkJCWNvbnN0IGNoYXIgKnBhdGggPSBsaXN0LmVudHJ5W2ldLm5hbWU7CiAJCQlpZiAobGlzdC5lbnRyeVtpXS5pc19zdWJtb2R1bGUpIHsKIAkJCQlpZiAoaXNfZW1wdHlfZGlyKHBhdGgpKSB7CiAJCQkJCWlmICghcm1kaXIocGF0aCkpIHsKIAkJCQkJCXJlbW92ZWQgPSAxOworCQkJCQkJaWYgKCFyZW1vdmVfcGF0aF9mcm9tX2dpdG1vZHVsZXMocGF0aCkpCisJCQkJCQkJZ2l0bW9kdWxlc19tb2RpZmllZCA9IDE7CiAJCQkJCQljb250aW51ZTsKIAkJCQkJfQogCQkJCX0gZWxzZSB7CkBAIC00MTAsOSArNDAzLDE0IEBACiAJCQkJCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgcGF0aCk7CiAJCQkJCWlmICghcmVtb3ZlX2Rpcl9yZWN1cnNpdmVseSgmYnVmLCAwKSkgewogCQkJCQkJcmVtb3ZlZCA9IDE7CisJCQkJCQlpZiAoIXJlbW92ZV9wYXRoX2Zyb21fZ2l0bW9kdWxlcyhwYXRoKSkKKwkJCQkJCQlnaXRtb2R1bGVzX21vZGlmaWVkID0gMTsKIAkJCQkJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCQkJCQkJY29udGludWU7Ci0JCQkJCX0KKwkJCQkJfSBlbHNlIGlmICghZmlsZV9leGlzdHMocGF0aCkpCisJCQkJCQkvKiBTdWJtb2R1bGUgd2FzIHJlbW92ZWQgYnkgdXNlciAqLworCQkJCQkJaWYgKCFyZW1vdmVfcGF0aF9mcm9tX2dpdG1vZHVsZXMocGF0aCkpCisJCQkJCQkJZ2l0bW9kdWxlc19tb2RpZmllZCA9IDE7CiAJCQkJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCQkJCQkvKiBGYWxsdGhyb3VnaCBhbmQgbGV0IHJlbW92ZV9wYXRoKCkgZmFpbC4gKi8KIAkJCQl9CkBAIC00MjQsNiArNDIyLDggQEAKIAkJCWlmICghcmVtb3ZlZCkKIAkJCQlkaWVfZXJybm8oImdpdCBybTogJyVzJyIsIHBhdGgpOwogCQl9CisJCWlmIChnaXRtb2R1bGVzX21vZGlmaWVkKQorCQkJc3RhZ2VfdXBkYXRlZF9naXRtb2R1bGVzKCk7CiAJfQogCiAJaWYgKGFjdGl2ZV9jYWNoZV9jaGFuZ2VkKSB7CmRpZmYgLS1naXQgYS9idWlsdGluL3NlbmQtcGFjay5jIGIvYnVpbHRpbi9zZW5kLXBhY2suYwppbmRleCAxNTJjNGVhLi5mNDIwYjc0IDEwMDY0NAotLS0gYS9idWlsdGluL3NlbmQtcGFjay5jCisrKyBiL2J1aWx0aW4vc2VuZC1wYWNrLmMKQEAgLTUsMTAgKzUsMTIgQEAKICNpbmNsdWRlICJzaWRlYmFuZC5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAjaW5jbHVkZSAicmVtb3RlLmgiCisjaW5jbHVkZSAiY29ubmVjdC5oIgogI2luY2x1ZGUgInNlbmQtcGFjay5oIgogI2luY2x1ZGUgInF1b3RlLmgiCiAjaW5jbHVkZSAidHJhbnNwb3J0LmgiCiAjaW5jbHVkZSAidmVyc2lvbi5oIgorI2luY2x1ZGUgInNoYTEtYXJyYXkuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgc2VuZF9wYWNrX3VzYWdlW10gPQogImdpdCBzZW5kLXBhY2sgWy0tYWxsIHwgLS1taXJyb3JdIFstLWRyeS1ydW5dIFstLWZvcmNlXSBbLS1yZWNlaXZlLXBhY2s9PGdpdC1yZWNlaXZlLXBhY2s+XSBbLS12ZXJib3NlXSBbLS10aGluXSBbPGhvc3Q+Ol08ZGlyZWN0b3J5PiBbPHJlZj4uLi5dXG4iCkBAIC01NCw2ICs1NiwxMSBAQAogCQkJbXNnID0gIm5lZWRzIGZvcmNlIjsKIAkJCWJyZWFrOwogCisJCWNhc2UgUkVGX1NUQVRVU19SRUpFQ1RfU1RBTEU6CisJCQlyZXMgPSAiZXJyb3IiOworCQkJbXNnID0gInN0YWxlIGluZm8iOworCQkJYnJlYWs7CisKIAkJY2FzZSBSRUZfU1RBVFVTX1JFSkVDVF9BTFJFQURZX0VYSVNUUzoKIAkJCXJlcyA9ICJlcnJvciI7CiAJCQltc2cgPSAiYWxyZWFkeSBleGlzdHMiOwpAQCAtOTMsNyArMTAwLDggQEAKIAljb25zdCBjaGFyICpkZXN0ID0gTlVMTDsKIAlpbnQgZmRbMl07CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNvbm47Ci0Jc3RydWN0IGV4dHJhX2hhdmVfb2JqZWN0cyBleHRyYV9oYXZlOworCXN0cnVjdCBzaGExX2FycmF5IGV4dHJhX2hhdmUgPSBTSEExX0FSUkFZX0lOSVQ7CisJc3RydWN0IHNoYTFfYXJyYXkgc2hhbGxvdyA9IFNIQTFfQVJSQVlfSU5JVDsKIAlzdHJ1Y3QgcmVmICpyZW1vdGVfcmVmcywgKmxvY2FsX3JlZnM7CiAJaW50IHJldDsKIAlpbnQgaGVscGVyX3N0YXR1cyA9IDA7CkBAIC0xMDIsMjEgKzExMCwyMiBAQAogCWludCBmbGFnczsKIAl1bnNpZ25lZCBpbnQgcmVqZWN0X3JlYXNvbnM7CiAJaW50IHByb2dyZXNzID0gLTE7CisJc3RydWN0IHB1c2hfY2FzX29wdGlvbiBjYXMgPSB7MH07CiAKIAlhcmd2Kys7CiAJZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKywgYXJndisrKSB7CiAJCWNvbnN0IGNoYXIgKmFyZyA9ICphcmd2OwogCiAJCWlmICgqYXJnID09ICctJykgewotCQkJaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1yZWNlaXZlLXBhY2s9IikpIHsKKwkJCWlmIChzdGFydHNfd2l0aChhcmcsICItLXJlY2VpdmUtcGFjaz0iKSkgewogCQkJCXJlY2VpdmVwYWNrID0gYXJnICsgMTU7CiAJCQkJY29udGludWU7CiAJCQl9Ci0JCQlpZiAoIXByZWZpeGNtcChhcmcsICItLWV4ZWM9IikpIHsKKwkJCWlmIChzdGFydHNfd2l0aChhcmcsICItLWV4ZWM9IikpIHsKIAkJCQlyZWNlaXZlcGFjayA9IGFyZyArIDc7CiAJCQkJY29udGludWU7CiAJCQl9Ci0JCQlpZiAoIXByZWZpeGNtcChhcmcsICItLXJlbW90ZT0iKSkgeworCQkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tcmVtb3RlPSIpKSB7CiAJCQkJcmVtb3RlX25hbWUgPSBhcmcgKyA5OwogCQkJCWNvbnRpbnVlOwogCQkJfQpAQCAtMTY0LDYgKzE3MywyMiBAQAogCQkJCWhlbHBlcl9zdGF0dXMgPSAxOwogCQkJCWNvbnRpbnVlOwogCQkJfQorCQkJaWYgKCFzdHJjbXAoYXJnLCAiLS0iIENBU19PUFRfTkFNRSkpIHsKKwkJCQlpZiAocGFyc2VfcHVzaF9jYXNfb3B0aW9uKCZjYXMsIE5VTEwsIDApIDwgMCkKKwkJCQkJZXhpdCgxKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWlmICghc3RyY21wKGFyZywgIi0tbm8tIiBDQVNfT1BUX05BTUUpKSB7CisJCQkJaWYgKHBhcnNlX3B1c2hfY2FzX29wdGlvbigmY2FzLCBOVUxMLCAxKSA8IDApCisJCQkJCWV4aXQoMSk7CisJCQkJY29udGludWU7CisJCQl9CisJCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS0iIENBU19PUFRfTkFNRSAiPSIpKSB7CisJCQkJaWYgKHBhcnNlX3B1c2hfY2FzX29wdGlvbigmY2FzLAorCQkJCQkJCSAgc3RyY2hyKGFyZywgJz0nKSArIDEsIDApIDwgMCkKKwkJCQkJZXhpdCgxKTsKKwkJCQljb250aW51ZTsKKwkJCX0KIAkJCXVzYWdlKHNlbmRfcGFja191c2FnZSk7CiAJCX0KIAkJaWYgKCFkZXN0KSB7CkBAIC0yMDUsOSArMjMwLDggQEAKIAkJCWFyZ3MudmVyYm9zZSA/IENPTk5FQ1RfVkVSQk9TRSA6IDApOwogCX0KIAotCW1lbXNldCgmZXh0cmFfaGF2ZSwgMCwgc2l6ZW9mKGV4dHJhX2hhdmUpKTsKLQotCWdldF9yZW1vdGVfaGVhZHMoZmRbMF0sIE5VTEwsIDAsICZyZW1vdGVfcmVmcywgUkVGX05PUk1BTCwgJmV4dHJhX2hhdmUpOworCWdldF9yZW1vdGVfaGVhZHMoZmRbMF0sIE5VTEwsIDAsICZyZW1vdGVfcmVmcywgUkVGX05PUk1BTCwKKwkJCSAmZXh0cmFfaGF2ZSwgJnNoYWxsb3cpOwogCiAJdHJhbnNwb3J0X3ZlcmlmeV9yZW1vdGVfbmFtZXMobnJfcmVmc3BlY3MsIHJlZnNwZWNzKTsKIApAQCAtMjI0LDYgKzI0OCw5IEBACiAJaWYgKG1hdGNoX3B1c2hfcmVmcyhsb2NhbF9yZWZzLCAmcmVtb3RlX3JlZnMsIG5yX3JlZnNwZWNzLCByZWZzcGVjcywgZmxhZ3MpKQogCQlyZXR1cm4gLTE7CiAKKwlpZiAoIWlzX2VtcHR5X2NhcygmY2FzKSkKKwkJYXBwbHlfcHVzaF9jYXMoJmNhcywgcmVtb3RlLCByZW1vdGVfcmVmcyk7CisKIAlzZXRfcmVmX3N0YXR1c19mb3JfcHVzaChyZW1vdGVfcmVmcywgYXJncy5zZW5kX21pcnJvciwKIAkJYXJncy5mb3JjZV91cGRhdGUpOwogCmRpZmYgLS1naXQgYS9idWlsdGluL3Nob3J0bG9nLmMgYi9idWlsdGluL3Nob3J0bG9nLmMKaW5kZXggODRmZmJiNy4uNGI3ZTUzNiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9zaG9ydGxvZy5jCisrKyBiL2J1aWx0aW4vc2hvcnRsb2cuYwpAQCAtNjUsNyArNjUsNyBAQAogCWVvbCA9IHN0cmNocihvbmVsaW5lLCAnXG4nKTsKIAlpZiAoIWVvbCkKIAkJZW9sID0gb25lbGluZSArIHN0cmxlbihvbmVsaW5lKTsKLQlpZiAoIXByZWZpeGNtcChvbmVsaW5lLCAiW1BBVENIIikpIHsKKwlpZiAoc3RhcnRzX3dpdGgob25lbGluZSwgIltQQVRDSCIpKSB7CiAJCWNoYXIgKmVvYiA9IHN0cmNocihvbmVsaW5lLCAnXScpOwogCQlpZiAoZW9iICYmICghZW9sIHx8IGVvYiA8IGVvbCkpCiAJCQlvbmVsaW5lID0gZW9iICsgMTsKQEAgLTk1LDcgKzk1LDcgQEAKIAogCXdoaWxlIChmZ2V0cyhhdXRob3IsIHNpemVvZihhdXRob3IpLCBzdGRpbikgIT0gTlVMTCkgewogCQlpZiAoIShhdXRob3JbMF0gPT0gJ0EnIHx8IGF1dGhvclswXSA9PSAnYScpIHx8Ci0JCSAgICBwcmVmaXhjbXAoYXV0aG9yICsgMSwgInV0aG9yOiAiKSkKKwkJICAgICFzdGFydHNfd2l0aChhdXRob3IgKyAxLCAidXRob3I6ICIpKQogCQkJY29udGludWU7CiAJCXdoaWxlIChmZ2V0cyhvbmVsaW5lLCBzaXplb2Yob25lbGluZSksIHN0ZGluKSAmJgogCQkgICAgICAgb25lbGluZVswXSAhPSAnXG4nKQpAQCAtMTIzLDcgKzEyMyw3IEBACiAJCWVsc2UKIAkJCWVvbCsrOwogCi0JCWlmICghcHJlZml4Y21wKGJ1ZmZlciwgImF1dGhvciAiKSkKKwkJaWYgKHN0YXJ0c193aXRoKGJ1ZmZlciwgImF1dGhvciAiKSkKIAkJCWF1dGhvciA9IGJ1ZmZlciArIDc7CiAJCWJ1ZmZlciA9IGVvbDsKIAl9CkBAIC0yMjYsMTIgKzIyNiwxMiBAQAogCWludCBub25naXQgPSAhc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnk7CiAKIAlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MRUFOKCduJywgIm51bWJlcmVkIiwgJmxvZy5zb3J0X2J5X251bWJlciwKLQkJCSAgICBOXygic29ydCBvdXRwdXQgYWNjb3JkaW5nIHRvIHRoZSBudW1iZXIgb2YgY29tbWl0cyBwZXIgYXV0aG9yIikpLAotCQlPUFRfQk9PTEVBTigncycsICJzdW1tYXJ5IiwgJmxvZy5zdW1tYXJ5LAotCQkJICAgIE5fKCJTdXBwcmVzcyBjb21taXQgZGVzY3JpcHRpb25zLCBvbmx5IHByb3ZpZGVzIGNvbW1pdCBjb3VudCIpKSwKLQkJT1BUX0JPT0xFQU4oJ2UnLCAiZW1haWwiLCAmbG9nLmVtYWlsLAotCQkJICAgIE5fKCJTaG93IHRoZSBlbWFpbCBhZGRyZXNzIG9mIGVhY2ggYXV0aG9yIikpLAorCQlPUFRfQk9PTCgnbicsICJudW1iZXJlZCIsICZsb2cuc29ydF9ieV9udW1iZXIsCisJCQkgTl8oInNvcnQgb3V0cHV0IGFjY29yZGluZyB0byB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgcGVyIGF1dGhvciIpKSwKKwkJT1BUX0JPT0woJ3MnLCAic3VtbWFyeSIsICZsb2cuc3VtbWFyeSwKKwkJCSBOXygiU3VwcHJlc3MgY29tbWl0IGRlc2NyaXB0aW9ucywgb25seSBwcm92aWRlcyBjb21taXQgY291bnQiKSksCisJCU9QVF9CT09MKCdlJywgImVtYWlsIiwgJmxvZy5lbWFpbCwKKwkJCSBOXygiU2hvdyB0aGUgZW1haWwgYWRkcmVzcyBvZiBlYWNoIGF1dGhvciIpKSwKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssICd3JywgTlVMTCwgJmxvZywgTl8oIndbLGkxWyxpMl1dIiksCiAJCQlOXygiTGluZXdyYXAgb3V0cHV0IiksIFBBUlNFX09QVF9PUFRBUkcsICZwYXJzZV93cmFwX2FyZ3MgfSwKIAkJT1BUX0VORCgpLApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9zaG93LWJyYW5jaC5jIGIvYnVpbHRpbi9zaG93LWJyYW5jaC5jCmluZGV4IDk3ODhlYjEuLmQ5MjE3Y2UgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vc2hvdy1icmFuY2guYworKysgYi9idWlsdGluL3Nob3ctYnJhbmNoLmMKQEAgLTIyNyw4ICsyMjcsNyBAQAogCQkJcGFyZW50cyA9IHBhcmVudHMtPm5leHQ7CiAJCQlpZiAoKHRoaXNfZmxhZyAmIGZsYWdzKSA9PSBmbGFncykKIAkJCQljb250aW51ZTsKLQkJCWlmICghcC0+b2JqZWN0LnBhcnNlZCkKLQkJCQlwYXJzZV9jb21taXQocCk7CisJCQlwYXJzZV9jb21taXQocCk7CiAJCQlpZiAobWFya19zZWVuKHAsIHNlZW5fcCkgJiYgIXN0aWxsX2ludGVyZXN0aW5nKQogCQkJCWV4dHJhLS07CiAJCQlwLT5vYmplY3QuZmxhZ3MgfD0gZmxhZ3M7CkBAIC0yODUsNyArMjg0LDcgQEAKIAkJcHBfY29tbWl0X2Vhc3koQ01JVF9GTVRfT05FTElORSwgY29tbWl0LCAmcHJldHR5KTsKIAkJcHJldHR5X3N0ciA9IHByZXR0eS5idWY7CiAJfQotCWlmICghcHJlZml4Y21wKHByZXR0eV9zdHIsICJbUEFUQ0hdICIpKQorCWlmIChzdGFydHNfd2l0aChwcmV0dHlfc3RyLCAiW1BBVENIXSAiKSkKIAkJcHJldHR5X3N0ciArPSA4OwogCiAJaWYgKCFub19uYW1lKSB7CkBAIC0zOTYsNyArMzk1LDcgQEAKIHsKIAl1bnNpZ25lZCBjaGFyIHRtcFsyMF07CiAJaW50IG9mcyA9IDExOwotCWlmIChwcmVmaXhjbXAocmVmbmFtZSwgInJlZnMvaGVhZHMvIikpCisJaWYgKCFzdGFydHNfd2l0aChyZWZuYW1lLCAicmVmcy9oZWFkcy8iKSkKIAkJcmV0dXJuIDA7CiAJLyogSWYgYm90aCBoZWFkcy9mb28gYW5kIHRhZ3MvZm9vIGV4aXN0cywgZ2V0X3NoYTEgd291bGQKIAkgKiBnZXQgY29uZnVzZWQuCkBAIC00MTAsNyArNDA5LDcgQEAKIHsKIAl1bnNpZ25lZCBjaGFyIHRtcFsyMF07CiAJaW50IG9mcyA9IDEzOwotCWlmIChwcmVmaXhjbXAocmVmbmFtZSwgInJlZnMvcmVtb3Rlcy8iKSkKKwlpZiAoIXN0YXJ0c193aXRoKHJlZm5hbWUsICJyZWZzL3JlbW90ZXMvIikpCiAJCXJldHVybiAwOwogCS8qIElmIGJvdGggaGVhZHMvZm9vIGFuZCB0YWdzL2ZvbyBleGlzdHMsIGdldF9zaGExIHdvdWxkCiAJICogZ2V0IGNvbmZ1c2VkLgpAQCAtNDIyLDcgKzQyMSw3IEBACiAKIHN0YXRpYyBpbnQgYXBwZW5kX3RhZ19yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50IGZsYWcsIHZvaWQgKmNiX2RhdGEpCiB7Ci0JaWYgKHByZWZpeGNtcChyZWZuYW1lLCAicmVmcy90YWdzLyIpKQorCWlmICghc3RhcnRzX3dpdGgocmVmbmFtZSwgInJlZnMvdGFncy8iKSkKIAkJcmV0dXJuIDA7CiAJcmV0dXJuIGFwcGVuZF9yZWYocmVmbmFtZSArIDUsIHNoYTEsIDApOwogfQpAQCAtNDUzLDkgKzQ1Miw5IEBACiAJCXJldHVybiAwOwogCWlmIChmbm1hdGNoKG1hdGNoX3JlZl9wYXR0ZXJuLCB0YWlsLCAwKSkKIAkJcmV0dXJuIDA7Ci0JaWYgKCFwcmVmaXhjbXAocmVmbmFtZSwgInJlZnMvaGVhZHMvIikpCisJaWYgKHN0YXJ0c193aXRoKHJlZm5hbWUsICJyZWZzL2hlYWRzLyIpKQogCQlyZXR1cm4gYXBwZW5kX2hlYWRfcmVmKHJlZm5hbWUsIHNoYTEsIGZsYWcsIGNiX2RhdGEpOwotCWlmICghcHJlZml4Y21wKHJlZm5hbWUsICJyZWZzL3RhZ3MvIikpCisJaWYgKHN0YXJ0c193aXRoKHJlZm5hbWUsICJyZWZzL3RhZ3MvIikpCiAJCXJldHVybiBhcHBlbmRfdGFnX3JlZihyZWZuYW1lLCBzaGExLCBmbGFnLCBjYl9kYXRhKTsKIAlyZXR1cm4gYXBwZW5kX3JlZihyZWZuYW1lLCBzaGExLCAwKTsKIH0KQEAgLTQ4MCwxMSArNDc5LDExIEBACiAJaWYgKCghaGVhZFswXSkgfHwKIAkgICAgKGhlYWRfc2hhMSAmJiBzaGExICYmIGhhc2hjbXAoaGVhZF9zaGExLCBzaGExKSkpCiAJCXJldHVybiAwOwotCWlmICghcHJlZml4Y21wKGhlYWQsICJyZWZzL2hlYWRzLyIpKQorCWlmIChzdGFydHNfd2l0aChoZWFkLCAicmVmcy9oZWFkcy8iKSkKIAkJaGVhZCArPSAxMTsKLQlpZiAoIXByZWZpeGNtcChuYW1lLCAicmVmcy9oZWFkcy8iKSkKKwlpZiAoc3RhcnRzX3dpdGgobmFtZSwgInJlZnMvaGVhZHMvIikpCiAJCW5hbWUgKz0gMTE7Ci0JZWxzZSBpZiAoIXByZWZpeGNtcChuYW1lLCAiaGVhZHMvIikpCisJZWxzZSBpZiAoc3RhcnRzX3dpdGgobmFtZSwgImhlYWRzLyIpKQogCQluYW1lICs9IDY7CiAJcmV0dXJuICFzdHJjbXAoaGVhZCwgbmFtZSk7CiB9CkBAIC02NDYsMzAgKzY0NSwzMCBAQAogCWludCBkZW5zZSA9IDE7CiAJY29uc3QgY2hhciAqcmVmbG9nX2Jhc2UgPSBOVUxMOwogCXN0cnVjdCBvcHRpb24gYnVpbHRpbl9zaG93X2JyYW5jaF9vcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MRUFOKCdhJywgImFsbCIsICZhbGxfaGVhZHMsCi0JCQkgICAgTl8oInNob3cgcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIpKSwKLQkJT1BUX0JPT0xFQU4oJ3InLCAicmVtb3RlcyIsICZhbGxfcmVtb3RlcywKLQkJCSAgICBOXygic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiKSksCisJCU9QVF9CT09MKCdhJywgImFsbCIsICZhbGxfaGVhZHMsCisJCQkgTl8oInNob3cgcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIpKSwKKwkJT1BUX0JPT0woJ3InLCAicmVtb3RlcyIsICZhbGxfcmVtb3RlcywKKwkJCSBOXygic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiKSksCiAJCU9QVF9fQ09MT1IoJnNob3dicmFuY2hfdXNlX2NvbG9yLAogCQkJICAgIE5fKCJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIikpLAogCQl7IE9QVElPTl9JTlRFR0VSLCAwLCAibW9yZSIsICZleHRyYSwgTl8oIm4iKSwKIAkJCSAgICBOXygic2hvdyA8bj4gbW9yZSBjb21taXRzIGFmdGVyIHRoZSBjb21tb24gYW5jZXN0b3IiKSwKIAkJCSAgICBQQVJTRV9PUFRfT1BUQVJHLCBOVUxMLCAoaW50cHRyX3QpMSB9LAogCQlPUFRfU0VUX0lOVCgwLCAibGlzdCIsICZleHRyYSwgTl8oInN5bm9ueW0gdG8gbW9yZT0tMSIpLCAtMSksCi0JCU9QVF9CT09MRUFOKDAsICJuby1uYW1lIiwgJm5vX25hbWUsIE5fKCJzdXBwcmVzcyBuYW1pbmcgc3RyaW5ncyIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImN1cnJlbnQiLCAmd2l0aF9jdXJyZW50X2JyYW5jaCwKLQkJCSAgICBOXygiaW5jbHVkZSB0aGUgY3VycmVudCBicmFuY2giKSksCi0JCU9QVF9CT09MRUFOKDAsICJzaGExLW5hbWUiLCAmc2hhMV9uYW1lLAotCQkJICAgIE5fKCJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiKSksCi0JCU9QVF9CT09MRUFOKDAsICJtZXJnZS1iYXNlIiwgJm1lcmdlX2Jhc2UsCi0JCQkgICAgTl8oInNob3cgcG9zc2libGUgbWVyZ2UgYmFzZXMiKSksCi0JCU9QVF9CT09MRUFOKDAsICJpbmRlcGVuZGVudCIsICZpbmRlcGVuZGVudCwKKwkJT1BUX0JPT0woMCwgIm5vLW5hbWUiLCAmbm9fbmFtZSwgTl8oInN1cHByZXNzIG5hbWluZyBzdHJpbmdzIikpLAorCQlPUFRfQk9PTCgwLCAiY3VycmVudCIsICZ3aXRoX2N1cnJlbnRfYnJhbmNoLAorCQkJIE5fKCJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIpKSwKKwkJT1BUX0JPT0woMCwgInNoYTEtbmFtZSIsICZzaGExX25hbWUsCisJCQkgTl8oIm5hbWUgY29tbWl0cyB3aXRoIHRoZWlyIG9iamVjdCBuYW1lcyIpKSwKKwkJT1BUX0JPT0woMCwgIm1lcmdlLWJhc2UiLCAmbWVyZ2VfYmFzZSwKKwkJCSBOXygic2hvdyBwb3NzaWJsZSBtZXJnZSBiYXNlcyIpKSwKKwkJT1BUX0JPT0woMCwgImluZGVwZW5kZW50IiwgJmluZGVwZW5kZW50LAogCQkJICAgIE5fKCJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIikpLAogCQlPUFRfU0VUX0lOVCgwLCAidG9wby1vcmRlciIsICZzb3J0X29yZGVyLAogCQkJICAgIE5fKCJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiKSwKIAkJCSAgICBSRVZfU09SVF9JTl9HUkFQSF9PUkRFUiksCi0JCU9QVF9CT09MRUFOKDAsICJ0b3BpY3MiLCAmdG9waWNzLAotCQkJICAgIE5fKCJzaG93IG9ubHkgY29tbWl0cyBub3Qgb24gdGhlIGZpcnN0IGJyYW5jaCIpKSwKKwkJT1BUX0JPT0woMCwgInRvcGljcyIsICZ0b3BpY3MsCisJCQkgTl8oInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIikpLAogCQlPUFRfU0VUX0lOVCgwLCAic3BhcnNlIiwgJmRlbnNlLAogCQkJICAgIE5fKCJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiKSwgMCksCiAJCU9QVF9TRVRfSU5UKDAsICJkYXRlLW9yZGVyIiwgJnNvcnRfb3JkZXIsCkBAIC04MTMsNyArODEyLDcgQEAKIAkJCQloYXNfaGVhZCsrOwogCQl9CiAJCWlmICghaGFzX2hlYWQpIHsKLQkJCWludCBvZmZzZXQgPSAhcHJlZml4Y21wKGhlYWQsICJyZWZzL2hlYWRzLyIpID8gMTEgOiAwOworCQkJaW50IG9mZnNldCA9IHN0YXJ0c193aXRoKGhlYWQsICJyZWZzL2hlYWRzLyIpID8gMTEgOiAwOwogCQkJYXBwZW5kX29uZV9yZXYoaGVhZCArIG9mZnNldCk7CiAJCX0KIAl9CmRpZmYgLS1naXQgYS9idWlsdGluL3Nob3ctcmVmLmMgYi9idWlsdGluL3Nob3ctcmVmLmMKaW5kZXggODc4MDZhZC4uNWJhMWYzMCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9zaG93LXJlZi5jCisrKyBiL2J1aWx0aW4vc2hvdy1yZWYuYwpAQCAtMzcsOCArMzcsOCBAQAogCWlmICh0YWdzX29ubHkgfHwgaGVhZHNfb25seSkgewogCQlpbnQgbWF0Y2g7CiAKLQkJbWF0Y2ggPSBoZWFkc19vbmx5ICYmICFwcmVmaXhjbXAocmVmbmFtZSwgInJlZnMvaGVhZHMvIik7Ci0JCW1hdGNoIHw9IHRhZ3Nfb25seSAmJiAhcHJlZml4Y21wKHJlZm5hbWUsICJyZWZzL3RhZ3MvIik7CisJCW1hdGNoID0gaGVhZHNfb25seSAmJiBzdGFydHNfd2l0aChyZWZuYW1lLCAicmVmcy9oZWFkcy8iKTsKKwkJbWF0Y2ggfD0gdGFnc19vbmx5ICYmIHN0YXJ0c193aXRoKHJlZm5hbWUsICJyZWZzL3RhZ3MvIik7CiAJCWlmICghbWF0Y2gpCiAJCQlyZXR1cm4gMDsKIAl9CkBAIC0xNjUsMTYgKzE2NSwxNSBAQAogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBzaG93X3JlZl9vcHRpb25zW10gPSB7Ci0JT1BUX0JPT0xFQU4oMCwgInRhZ3MiLCAmdGFnc19vbmx5LCBOXygib25seSBzaG93IHRhZ3MgKGNhbiBiZSBjb21iaW5lZCB3aXRoIGhlYWRzKSIpKSwKLQlPUFRfQk9PTEVBTigwLCAiaGVhZHMiLCAmaGVhZHNfb25seSwgTl8oIm9ubHkgc2hvdyBoZWFkcyAoY2FuIGJlIGNvbWJpbmVkIHdpdGggdGFncykiKSksCi0JT1BUX0JPT0xFQU4oMCwgInZlcmlmeSIsICZ2ZXJpZnksIE5fKCJzdHJpY3RlciByZWZlcmVuY2UgY2hlY2tpbmcsICIKKwlPUFRfQk9PTCgwLCAidGFncyIsICZ0YWdzX29ubHksIE5fKCJvbmx5IHNob3cgdGFncyAoY2FuIGJlIGNvbWJpbmVkIHdpdGggaGVhZHMpIikpLAorCU9QVF9CT09MKDAsICJoZWFkcyIsICZoZWFkc19vbmx5LCBOXygib25seSBzaG93IGhlYWRzIChjYW4gYmUgY29tYmluZWQgd2l0aCB0YWdzKSIpKSwKKwlPUFRfQk9PTCgwLCAidmVyaWZ5IiwgJnZlcmlmeSwgTl8oInN0cmljdGVyIHJlZmVyZW5jZSBjaGVja2luZywgIgogCQkgICAgInJlcXVpcmVzIGV4YWN0IHJlZiBwYXRoIikpLAotCXsgT1BUSU9OX0JPT0xFQU4sICdoJywgTlVMTCwgJnNob3dfaGVhZCwgTlVMTCwKLQkgIE5fKCJzaG93IHRoZSBIRUFEIHJlZmVyZW5jZSwgZXZlbiBpZiBpdCB3b3VsZCBiZSBmaWx0ZXJlZCBvdXQiKSwKLQkgIFBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9ISURERU4gfSwKLQlPUFRfQk9PTEVBTigwLCAiaGVhZCIsICZzaG93X2hlYWQsCisJT1BUX0hJRERFTl9CT09MKCdoJywgTlVMTCwgJnNob3dfaGVhZCwKKwkJCU5fKCJzaG93IHRoZSBIRUFEIHJlZmVyZW5jZSwgZXZlbiBpZiBpdCB3b3VsZCBiZSBmaWx0ZXJlZCBvdXQiKSksCisJT1BUX0JPT0woMCwgImhlYWQiLCAmc2hvd19oZWFkLAogCSAgTl8oInNob3cgdGhlIEhFQUQgcmVmZXJlbmNlLCBldmVuIGlmIGl0IHdvdWxkIGJlIGZpbHRlcmVkIG91dCIpKSwKLQlPUFRfQk9PTEVBTignZCcsICJkZXJlZmVyZW5jZSIsICZkZXJlZl90YWdzLAorCU9QVF9CT09MKCdkJywgImRlcmVmZXJlbmNlIiwgJmRlcmVmX3RhZ3MsCiAJCSAgICBOXygiZGVyZWZlcmVuY2UgdGFncyBpbnRvIG9iamVjdCBJRHMiKSksCiAJeyBPUFRJT05fQ0FMTEJBQ0ssICdzJywgImhhc2giLCAmYWJicmV2LCBOXygibiIpLAogCSAgTl8oIm9ubHkgc2hvdyBTSEExIGhhc2ggdXNpbmcgPG4+IGRpZ2l0cyIpLApAQCAtMjExLDcgKzIxMCw3IEBACiAJCXdoaWxlICgqcGF0dGVybikgewogCQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKIAotCQkJaWYgKCFwcmVmaXhjbXAoKnBhdHRlcm4sICJyZWZzLyIpICYmCisJCQlpZiAoc3RhcnRzX3dpdGgoKnBhdHRlcm4sICJyZWZzLyIpICYmCiAJCQkgICAgIXJlYWRfcmVmKCpwYXR0ZXJuLCBzaGExKSkgewogCQkJCWlmICghcXVpZXQpCiAJCQkJCXNob3dfb25lKCpwYXR0ZXJuLCBzaGExKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vc3RyaXBzcGFjZS5jIGIvYnVpbHRpbi9zdHJpcHNwYWNlLmMKaW5kZXggZTk4MWRmYi4uMTI1OWVkNyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9zdHJpcHNwYWNlLmMKKysrIGIvYnVpbHRpbi9zdHJpcHNwYWNlLmMKQEAgLTg5LDExICs4OSwxMSBAQAogCiAJaWYgKGFyZ2MgPT0gMikgewogCQlpZiAoIXN0cmNtcChhcmd2WzFdLCAiLXMiKSB8fAotCQkJIXN0cmNtcChhcmd2WzFdLCAiLS1zdHJpcC1jb21tZW50cyIpKSB7Ci0JCQkgc3RyaXBfY29tbWVudHMgPSAxOworCQkgICAgIXN0cmNtcChhcmd2WzFdLCAiLS1zdHJpcC1jb21tZW50cyIpKSB7CisJCQlzdHJpcF9jb21tZW50cyA9IDE7CiAJCX0gZWxzZSBpZiAoIXN0cmNtcChhcmd2WzFdLCAiLWMiKSB8fAotCQkJCQkgIXN0cmNtcChhcmd2WzFdLCAiLS1jb21tZW50LWxpbmVzIikpIHsKLQkJCSBtb2RlID0gQ09NTUVOVF9MSU5FUzsKKwkJCSAgICFzdHJjbXAoYXJndlsxXSwgIi0tY29tbWVudC1saW5lcyIpKSB7CisJCQltb2RlID0gQ09NTUVOVF9MSU5FUzsKIAkJfSBlbHNlIHsKIAkJCW1vZGUgPSBJTlZBTDsKIAkJfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9zeW1ib2xpYy1yZWYuYyBiL2J1aWx0aW4vc3ltYm9saWMtcmVmLmMKaW5kZXggZjQ4MTk1OS4uYjZhNzExZCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9zeW1ib2xpYy1yZWYuYworKysgYi9idWlsdGluL3N5bWJvbGljLXJlZi5jCkBAIC00Nyw3ICs0Nyw3IEBACiAJZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0aW9ucywKIAkJCSAgICAgZ2l0X3N5bWJvbGljX3JlZl91c2FnZSwgMCk7Ci0JaWYgKG1zZyAmJiEqbXNnKQorCWlmIChtc2cgJiYgISptc2cpCiAJCWRpZSgiUmVmdXNpbmcgdG8gcGVyZm9ybSB1cGRhdGUgd2l0aCBlbXB0eSBtZXNzYWdlIik7CiAKIAlpZiAoZGVsZXRlKSB7CkBAIC02NSw3ICs2NSw3IEBACiAJCWJyZWFrOwogCWNhc2UgMjoKIAkJaWYgKCFzdHJjbXAoYXJndlswXSwgIkhFQUQiKSAmJgotCQkgICAgcHJlZml4Y21wKGFyZ3ZbMV0sICJyZWZzLyIpKQorCQkgICAgIXN0YXJ0c193aXRoKGFyZ3ZbMV0sICJyZWZzLyIpKQogCQkJZGllKCJSZWZ1c2luZyB0byBwb2ludCBIRUFEIG91dHNpZGUgb2YgcmVmcy8iKTsKIAkJY3JlYXRlX3N5bXJlZihhcmd2WzBdLCBhcmd2WzFdLCBtc2cpOwogCQlicmVhazsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vdGFnLmMgYi9idWlsdGluL3RhZy5jCmluZGV4IGFmM2FmM2YuLjc0ZDM3ODAgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vdGFnLmMKKysrIGIvYnVpbHRpbi90YWcuYwpAQCAtMjU5LDcgKzI1OSw3IEBACiAJaW50IHN0YXR1cyA9IGdpdF9ncGdfY29uZmlnKHZhciwgdmFsdWUsIGNiKTsKIAlpZiAoc3RhdHVzKQogCQlyZXR1cm4gc3RhdHVzOwotCWlmICghcHJlZml4Y21wKHZhciwgImNvbHVtbi4iKSkKKwlpZiAoc3RhcnRzX3dpdGgodmFyLCAiY29sdW1uLiIpKQogCQlyZXR1cm4gZ2l0X2NvbHVtbl9jb25maWcodmFyLCB2YWx1ZSwgInRhZyIsICZjb2xvcHRzKTsKIAlyZXR1cm4gZ2l0X2RlZmF1bHRfY29uZmlnKHZhciwgdmFsdWUsIGNiKTsKIH0KQEAgLTQzNiwyNiArNDM2LDI2IEBACiAJc3RydWN0IHJlZl9sb2NrICpsb2NrOwogCXN0cnVjdCBjcmVhdGVfdGFnX29wdGlvbnMgb3B0OwogCWNoYXIgKmNsZWFudXBfYXJnID0gTlVMTDsKLQlpbnQgYW5ub3RhdGUgPSAwLCBmb3JjZSA9IDAsIGxpbmVzID0gLTEsIGxpc3QgPSAwLAotCQlkZWxldGUgPSAwLCB2ZXJpZnkgPSAwOworCWludCBhbm5vdGF0ZSA9IDAsIGZvcmNlID0gMCwgbGluZXMgPSAtMTsKKwlpbnQgY21kbW9kZSA9IDA7CiAJY29uc3QgY2hhciAqbXNnZmlsZSA9IE5VTEwsICprZXlpZCA9IE5VTEw7CiAJc3RydWN0IG1zZ19hcmcgbXNnID0geyAwLCBTVFJCVUZfSU5JVCB9OwogCXN0cnVjdCBjb21taXRfbGlzdCAqd2l0aF9jb21taXQgPSBOVUxMOwogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewotCQlPUFRfQk9PTEVBTignbCcsICJsaXN0IiwgJmxpc3QsIE5fKCJsaXN0IHRhZyBuYW1lcyIpKSwKKwkJT1BUX0NNRE1PREUoJ2wnLCAibGlzdCIsICZjbWRtb2RlLCBOXygibGlzdCB0YWcgbmFtZXMiKSwgJ2wnKSwKIAkJeyBPUFRJT05fSU5URUdFUiwgJ24nLCBOVUxMLCAmbGluZXMsIE5fKCJuIiksCiAJCQkJTl8oInByaW50IDxuPiBsaW5lcyBvZiBlYWNoIHRhZyBtZXNzYWdlIiksCiAJCQkJUEFSU0VfT1BUX09QVEFSRywgTlVMTCwgMSB9LAotCQlPUFRfQk9PTEVBTignZCcsICJkZWxldGUiLCAmZGVsZXRlLCBOXygiZGVsZXRlIHRhZ3MiKSksCi0JCU9QVF9CT09MRUFOKCd2JywgInZlcmlmeSIsICZ2ZXJpZnksIE5fKCJ2ZXJpZnkgdGFncyIpKSwKKwkJT1BUX0NNRE1PREUoJ2QnLCAiZGVsZXRlIiwgJmNtZG1vZGUsIE5fKCJkZWxldGUgdGFncyIpLCAnZCcpLAorCQlPUFRfQ01ETU9ERSgndicsICJ2ZXJpZnkiLCAmY21kbW9kZSwgTl8oInZlcmlmeSB0YWdzIiksICd2JyksCiAKIAkJT1BUX0dST1VQKE5fKCJUYWcgY3JlYXRpb24gb3B0aW9ucyIpKSwKLQkJT1BUX0JPT0xFQU4oJ2EnLCAiYW5ub3RhdGUiLCAmYW5ub3RhdGUsCisJCU9QVF9CT09MKCdhJywgImFubm90YXRlIiwgJmFubm90YXRlLAogCQkJCQlOXygiYW5ub3RhdGVkIHRhZywgbmVlZHMgYSBtZXNzYWdlIikpLAogCQlPUFRfQ0FMTEJBQ0soJ20nLCAibWVzc2FnZSIsICZtc2csIE5fKCJtZXNzYWdlIiksCiAJCQkgICAgIE5fKCJ0YWcgbWVzc2FnZSIpLCBwYXJzZV9tc2dfYXJnKSwKIAkJT1BUX0ZJTEVOQU1FKCdGJywgImZpbGUiLCAmbXNnZmlsZSwgTl8oInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiKSksCi0JCU9QVF9CT09MRUFOKCdzJywgInNpZ24iLCAmb3B0LnNpZ24sIE5fKCJhbm5vdGF0ZWQgYW5kIEdQRy1zaWduZWQgdGFnIikpLAorCQlPUFRfQk9PTCgncycsICJzaWduIiwgJm9wdC5zaWduLCBOXygiYW5ub3RhdGVkIGFuZCBHUEctc2lnbmVkIHRhZyIpKSwKIAkJT1BUX1NUUklORygwLCAiY2xlYW51cCIsICZjbGVhbnVwX2FyZywgTl8oIm1vZGUiKSwKIAkJCU5fKCJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIikpLAogCQlPUFRfU1RSSU5HKCd1JywgImxvY2FsLXVzZXIiLCAma2V5aWQsIE5fKCJrZXkgaWQiKSwKQEAgLTQ4OSwyMiArNDg5LDE5IEBACiAJfQogCWlmIChvcHQuc2lnbikKIAkJYW5ub3RhdGUgPSAxOwotCWlmIChhcmdjID09IDAgJiYgIShkZWxldGUgfHwgdmVyaWZ5KSkKLQkJbGlzdCA9IDE7CisJaWYgKGFyZ2MgPT0gMCAmJiAhY21kbW9kZSkKKwkJY21kbW9kZSA9ICdsJzsKIAotCWlmICgoYW5ub3RhdGUgfHwgbXNnLmdpdmVuIHx8IG1zZ2ZpbGUgfHwgZm9yY2UpICYmCi0JICAgIChsaXN0IHx8IGRlbGV0ZSB8fCB2ZXJpZnkpKQorCWlmICgoYW5ub3RhdGUgfHwgbXNnLmdpdmVuIHx8IG1zZ2ZpbGUgfHwgZm9yY2UpICYmIChjbWRtb2RlICE9IDApKQogCQl1c2FnZV93aXRoX29wdGlvbnMoZ2l0X3RhZ191c2FnZSwgb3B0aW9ucyk7CiAKLQlpZiAobGlzdCArIGRlbGV0ZSArIHZlcmlmeSA+IDEpCi0JCXVzYWdlX3dpdGhfb3B0aW9ucyhnaXRfdGFnX3VzYWdlLCBvcHRpb25zKTsKIAlmaW5hbGl6ZV9jb2xvcHRzKCZjb2xvcHRzLCAtMSk7Ci0JaWYgKGxpc3QgJiYgbGluZXMgIT0gLTEpIHsKKwlpZiAoY21kbW9kZSA9PSAnbCcgJiYgbGluZXMgIT0gLTEpIHsKIAkJaWYgKGV4cGxpY2l0bHlfZW5hYmxlX2NvbHVtbihjb2xvcHRzKSkKIAkJCWRpZShfKCItLWNvbHVtbiBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIpKTsKIAkJY29sb3B0cyA9IDA7CiAJfQotCWlmIChsaXN0KSB7CisJaWYgKGNtZG1vZGUgPT0gJ2wnKSB7CiAJCWludCByZXQ7CiAJCWlmIChjb2x1bW5fYWN0aXZlKGNvbG9wdHMpKSB7CiAJCQlzdHJ1Y3QgY29sdW1uX29wdGlvbnMgY29wdHM7CkBAIC01MjMsOSArNTIwLDkgQEAKIAkJZGllKF8oIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIpKTsKIAlpZiAocG9pbnRzX2F0Lm5yKQogCQlkaWUoXygiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIpKTsKLQlpZiAoZGVsZXRlKQorCWlmIChjbWRtb2RlID09ICdkJykKIAkJcmV0dXJuIGZvcl9lYWNoX3RhZ19uYW1lKGFyZ3YsIGRlbGV0ZV90YWcpOwotCWlmICh2ZXJpZnkpCisJaWYgKGNtZG1vZGUgPT0gJ3YnKQogCQlyZXR1cm4gZm9yX2VhY2hfdGFnX25hbWUoYXJndiwgdmVyaWZ5X3RhZyk7CiAKIAlpZiAobXNnLmdpdmVuIHx8IG1zZ2ZpbGUpIHsKQEAgLTU3Nyw3ICs1NzQsNyBAQAogCWlmIChhbm5vdGF0ZSkKIAkJY3JlYXRlX3RhZyhvYmplY3QsIHRhZywgJmJ1ZiwgJm9wdCwgcHJldiwgb2JqZWN0KTsKIAotCWxvY2sgPSBsb2NrX2FueV9yZWZfZm9yX3VwZGF0ZShyZWYuYnVmLCBwcmV2LCAwKTsKKwlsb2NrID0gbG9ja19hbnlfcmVmX2Zvcl91cGRhdGUocmVmLmJ1ZiwgcHJldiwgMCwgTlVMTCk7CiAJaWYgKCFsb2NrKQogCQlkaWUoXygiJXM6IGNhbm5vdCBsb2NrIHRoZSByZWYiKSwgcmVmLmJ1Zik7CiAJaWYgKHdyaXRlX3JlZl9zaGExKGxvY2ssIG9iamVjdCwgTlVMTCkgPCAwKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi90YXItdHJlZS5jIGIvYnVpbHRpbi90YXItdHJlZS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZjFlNzAxLi4wMDAwMDAwCi0tLSBhL2J1aWx0aW4vdGFyLXRyZWUuYworKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChjKSAyMDA1LCAyMDA2IFJlbmUgU2NoYXJmZQotICovCi0jaW5jbHVkZSAiY2FjaGUuaCIKLSNpbmNsdWRlICJjb21taXQuaCIKLSNpbmNsdWRlICJ0YXIuaCIKLSNpbmNsdWRlICJidWlsdGluLmgiCi0jaW5jbHVkZSAicXVvdGUuaCIKLQotc3RhdGljIGNvbnN0IGNoYXIgdGFyX3RyZWVfdXNhZ2VbXSA9Ci0iZ2l0IHRhci10cmVlIFstLXJlbW90ZT08cmVwbz5dIDx0cmVlLWlzaD4gW2Jhc2VkaXJdXG4iCi0iKioqIE5vdGUgdGhhdCB0aGlzIGNvbW1hbmQgaXMgbm93IGRlcHJlY2F0ZWQ7IHVzZSBcImdpdCBhcmNoaXZlXCIgaW5zdGVhZC4iOwotCi1zdGF0aWMgY29uc3QgY2hhciBidWlsdGluX2dldF90YXJfY29tbWl0X2lkX3VzYWdlW10gPQotImdpdCBnZXQtdGFyLWNvbW1pdC1pZCA8IDx0YXJmaWxlPiI7Ci0KLWludCBjbWRfdGFyX3RyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCi17Ci0JLyoKLQkgKiAiZ2l0IHRhci10cmVlIiBpcyBub3cgYSB3cmFwcGVyIGFyb3VuZCAiZ2l0IGFyY2hpdmUgLS1mb3JtYXQ9dGFyIgotCSAqCi0JICogJDAgLS1yZW1vdGU9PHJlcG8+IGFyZy4uLiA9PT4KLQkgKglnaXQgYXJjaGl2ZSAtLWZvcm1hdD10YXIgLS1yZW1vdGU9PHJlcG8+IGFyZy4uLgotCSAqICQwIHRyZWUtaXNoID09PgotCSAqCWdpdCBhcmNoaXZlIC0tZm9ybWF0PXRhciB0cmVlLWlzaAotCSAqICQwIHRyZWUtaXNoIGJhc2VkaXIgPT0+Ci0JICogCWdpdCBhcmNoaXZlIC0tZm9ybWF0LXRhciAtLXByZWZpeD1iYXNlZGlyIHRyZWUtaXNoCi0JICovCi0JaW50IGk7Ci0JY29uc3QgY2hhciAqKm5hcmd2ID0geGNhbGxvYyhzaXplb2YoKm5hcmd2KSwgYXJnYyArIDMpOwotCWNoYXIgKmJhc2VkaXJfYXJnOwotCWludCBuYXJnYyA9IDA7Ci0KLQluYXJndltuYXJnYysrXSA9ICJhcmNoaXZlIjsKLQluYXJndltuYXJnYysrXSA9ICItLWZvcm1hdD10YXIiOwotCi0JaWYgKDIgPD0gYXJnYyAmJiAhcHJlZml4Y21wKGFyZ3ZbMV0sICItLXJlbW90ZT0iKSkgewotCQluYXJndltuYXJnYysrXSA9IGFyZ3ZbMV07Ci0JCWFyZ3YrKzsKLQkJYXJnYy0tOwotCX0KLQotCS8qCi0JICogQmVjYXVzZSBpdCdzIGp1c3QgYSBjb21wYXRpYmlsaXR5IHdyYXBwZXIsIHRhci10cmVlIHN1cHBvcnRzIG9ubHkKLQkgKiB0aGUgb2xkIGJlaGF2aW91ciBvZiByZWFkaW5nIGF0dHJpYnV0ZXMgZnJvbSB0aGUgd29yayB0cmVlLgotCSAqLwotCW5hcmd2W25hcmdjKytdID0gIi0td29ya3RyZWUtYXR0cmlidXRlcyI7Ci0KLQlzd2l0Y2ggKGFyZ2MpIHsKLQlkZWZhdWx0OgotCQl1c2FnZSh0YXJfdHJlZV91c2FnZSk7Ci0JCWJyZWFrOwotCWNhc2UgMzoKLQkJLyogYmFzZS1wYXRoICovCi0JCWJhc2VkaXJfYXJnID0geG1hbGxvYyhzdHJsZW4oYXJndlsyXSkgKyAxMSk7Ci0JCXNwcmludGYoYmFzZWRpcl9hcmcsICItLXByZWZpeD0lcy8iLCBhcmd2WzJdKTsKLQkJbmFyZ3ZbbmFyZ2MrK10gPSBiYXNlZGlyX2FyZzsKLQkJLyogZmFsbHRocnUgKi8KLQljYXNlIDI6Ci0JCS8qIHRyZWUtaXNoICovCi0JCW5hcmd2W25hcmdjKytdID0gYXJndlsxXTsKLQl9Ci0JbmFyZ3ZbbmFyZ2NdID0gTlVMTDsKLQotCWZwcmludGYoc3RkZXJyLAotCQkiKioqIFwiZ2l0IHRhci10cmVlXCIgaXMgbm93IGRlcHJlY2F0ZWQuXG4iCi0JCSIqKiogUnVubmluZyBcImdpdCBhcmNoaXZlXCIgaW5zdGVhZC5cbioqKiIpOwotCWZvciAoaSA9IDA7IGkgPCBuYXJnYzsgaSsrKSB7Ci0JCWZwdXRjKCcgJywgc3RkZXJyKTsKLQkJc3FfcXVvdGVfcHJpbnQoc3RkZXJyLCBuYXJndltpXSk7Ci0JfQotCWZwdXRjKCdcbicsIHN0ZGVycik7Ci0JcmV0dXJuIGNtZF9hcmNoaXZlKG5hcmdjLCBuYXJndiwgcHJlZml4KTsKLX0KLQotLyogdXN0YXIgaGVhZGVyICsgZXh0ZW5kZWQgZ2xvYmFsIGhlYWRlciBjb250ZW50ICovCi0jZGVmaW5lIFJFQ09SRFNJWkUJKDUxMikKLSNkZWZpbmUgSEVBREVSU0laRSAoMiAqIFJFQ09SRFNJWkUpCi0KLWludCBjbWRfZ2V0X3Rhcl9jb21taXRfaWQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCi17Ci0JY2hhciBidWZmZXJbSEVBREVSU0laRV07Ci0Jc3RydWN0IHVzdGFyX2hlYWRlciAqaGVhZGVyID0gKHN0cnVjdCB1c3Rhcl9oZWFkZXIgKilidWZmZXI7Ci0JY2hhciAqY29udGVudCA9IGJ1ZmZlciArIFJFQ09SRFNJWkU7Ci0Jc3NpemVfdCBuOwotCi0JaWYgKGFyZ2MgIT0gMSkKLQkJdXNhZ2UoYnVpbHRpbl9nZXRfdGFyX2NvbW1pdF9pZF91c2FnZSk7Ci0KLQluID0gcmVhZF9pbl9mdWxsKDAsIGJ1ZmZlciwgSEVBREVSU0laRSk7Ci0JaWYgKG4gPCBIRUFERVJTSVpFKQotCQlkaWUoImdpdCBnZXQtdGFyLWNvbW1pdC1pZDogcmVhZCBlcnJvciIpOwotCWlmIChoZWFkZXItPnR5cGVmbGFnWzBdICE9ICdnJykKLQkJcmV0dXJuIDE7Ci0JaWYgKG1lbWNtcChjb250ZW50LCAiNTIgY29tbWVudD0iLCAxMSkpCi0JCXJldHVybiAxOwotCi0JbiA9IHdyaXRlX2luX2Z1bGwoMSwgY29udGVudCArIDExLCA0MSk7Ci0JaWYgKG4gPCA0MSkKLQkJZGllX2Vycm5vKCJnaXQgZ2V0LXRhci1jb21taXQtaWQ6IHdyaXRlIGVycm9yIik7Ci0KLQlyZXR1cm4gMDsKLX0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vdW5wYWNrLW9iamVjdHMuYyBiL2J1aWx0aW4vdW5wYWNrLW9iamVjdHMuYwppbmRleCAyMjE3ZDdiLi42MmZmNjczIDEwMDY0NAotLS0gYS9idWlsdGluL3VucGFjay1vYmplY3RzLmMKKysrIGIvYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jCkBAIC01MjMsNyArNTIzLDcgQEAKIAkJCQlzdHJpY3QgPSAxOwogCQkJCWNvbnRpbnVlOwogCQkJfQotCQkJaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1wYWNrX2hlYWRlcj0iKSkgeworCQkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tcGFja19oZWFkZXI9IikpIHsKIAkJCQlzdHJ1Y3QgcGFja19oZWFkZXIgKmhkcjsKIAkJCQljaGFyICpjOwogCmRpZmYgLS1naXQgYS9idWlsdGluL3VwZGF0ZS1pbmRleC5jIGIvYnVpbHRpbi91cGRhdGUtaW5kZXguYwppbmRleCBjMzE3OTgxLi5lM2ExMGQ3IDEwMDY0NAotLS0gYS9idWlsdGluL3VwZGF0ZS1pbmRleC5jCisrKyBiL2J1aWx0aW4vdXBkYXRlLWluZGV4LmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAicmVzb2x2ZS11bmRvLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgorI2luY2x1ZGUgInBhdGhzcGVjLmgiCiAKIC8qCiAgKiBEZWZhdWx0IHRvIG5vdCBhbGxvd2luZyBjaGFuZ2VzIHRvIHRoZSBsaXN0IG9mIGZpbGVzLiBUaGUKQEAgLTU0NiwxMCArNTQ3LDExIEBACiAJICovCiAJaW50IHBvczsKIAlpbnQgaGFzX2hlYWQgPSAxOwotCWNvbnN0IGNoYXIgKipwYXRocyA9IGdldF9wYXRoc3BlYyhwcmVmaXgsIGF2ICsgMSk7CiAJc3RydWN0IHBhdGhzcGVjIHBhdGhzcGVjOwogCi0JaW5pdF9wYXRoc3BlYygmcGF0aHNwZWMsIHBhdGhzKTsKKwlwYXJzZV9wYXRoc3BlYygmcGF0aHNwZWMsIDAsCisJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfQ1dELAorCQkgICAgICAgcHJlZml4LCBhdiArIDEpOwogCiAJaWYgKHJlYWRfcmVmKCJIRUFEIiwgaGVhZF9zaGExKSkKIAkJLyogSWYgdGhlcmUgaXMgbm8gSEVBRCwgdGhhdCBtZWFucyBpdCBpcyBhbiBpbml0aWFsCmRpZmYgLS1naXQgYS9idWlsdGluL3VwZGF0ZS1yZWYuYyBiL2J1aWx0aW4vdXBkYXRlLXJlZi5jCmluZGV4IDUxZDI2ODQuLjEyOTJjZmUgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vdXBkYXRlLXJlZi5jCisrKyBiL2J1aWx0aW4vdXBkYXRlLXJlZi5jCkBAIC0yLDIzICsyLDI2MSBAQAogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgorI2luY2x1ZGUgInF1b3RlLmgiCisjaW5jbHVkZSAiYXJndi1hcnJheS5oIgogCiBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGdpdF91cGRhdGVfcmVmX3VzYWdlW10gPSB7CiAJTl8oImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAtZCA8cmVmbmFtZT4gWzxvbGR2YWw+XSIpLAogCU5fKCJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gICAgPHJlZm5hbWU+IDxuZXd2YWw+IFs8b2xkdmFsPl0iKSwKKwlOXygiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdIC0tc3RkaW4gWy16XSIpLAogCU5VTEwKIH07CiAKK3N0YXRpYyBpbnQgdXBkYXRlc19hbGxvYzsKK3N0YXRpYyBpbnQgdXBkYXRlc19jb3VudDsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmVmX3VwZGF0ZSAqKnVwZGF0ZXM7CisKK3N0YXRpYyBjaGFyIGxpbmVfdGVybWluYXRpb24gPSAnXG4nOworc3RhdGljIGludCB1cGRhdGVfZmxhZ3M7CisKK3N0YXRpYyBzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlX2FsbG9jKHZvaWQpCit7CisJc3RydWN0IHJlZl91cGRhdGUgKnVwZGF0ZTsKKworCS8qIEFsbG9jYXRlIGFuZCB6ZXJvLWluaXQgYSBzdHJ1Y3QgcmVmX3VwZGF0ZSAqLworCXVwZGF0ZSA9IHhjYWxsb2MoMSwgc2l6ZW9mKCp1cGRhdGUpKTsKKwlBTExPQ19HUk9XKHVwZGF0ZXMsIHVwZGF0ZXNfY291bnQgKyAxLCB1cGRhdGVzX2FsbG9jKTsKKwl1cGRhdGVzW3VwZGF0ZXNfY291bnQrK10gPSB1cGRhdGU7CisKKwkvKiBTdG9yZSBhbmQgcmVzZXQgYWNjdW11bGF0ZWQgb3B0aW9ucyAqLworCXVwZGF0ZS0+ZmxhZ3MgPSB1cGRhdGVfZmxhZ3M7CisJdXBkYXRlX2ZsYWdzID0gMDsKKworCXJldHVybiB1cGRhdGU7Cit9CisKK3N0YXRpYyB2b2lkIHVwZGF0ZV9zdG9yZV9yZWZfbmFtZShzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlLAorCQkJCSAgY29uc3QgY2hhciAqcmVmX25hbWUpCit7CisJaWYgKGNoZWNrX3JlZm5hbWVfZm9ybWF0KHJlZl9uYW1lLCBSRUZOQU1FX0FMTE9XX09ORUxFVkVMKSkKKwkJZGllKCJpbnZhbGlkIHJlZiBmb3JtYXQ6ICVzIiwgcmVmX25hbWUpOworCXVwZGF0ZS0+cmVmX25hbWUgPSB4c3RyZHVwKHJlZl9uYW1lKTsKK30KKworc3RhdGljIHZvaWQgdXBkYXRlX3N0b3JlX25ld19zaGExKHN0cnVjdCByZWZfdXBkYXRlICp1cGRhdGUsCisJCQkJICBjb25zdCBjaGFyICpuZXd2YWx1ZSkKK3sKKwlpZiAoKm5ld3ZhbHVlICYmIGdldF9zaGExKG5ld3ZhbHVlLCB1cGRhdGUtPm5ld19zaGExKSkKKwkJZGllKCJpbnZhbGlkIG5ldyB2YWx1ZSBmb3IgcmVmICVzOiAlcyIsCisJCSAgICB1cGRhdGUtPnJlZl9uYW1lLCBuZXd2YWx1ZSk7Cit9CisKK3N0YXRpYyB2b2lkIHVwZGF0ZV9zdG9yZV9vbGRfc2hhMShzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlLAorCQkJCSAgY29uc3QgY2hhciAqb2xkdmFsdWUpCit7CisJaWYgKCpvbGR2YWx1ZSAmJiBnZXRfc2hhMShvbGR2YWx1ZSwgdXBkYXRlLT5vbGRfc2hhMSkpCisJCWRpZSgiaW52YWxpZCBvbGQgdmFsdWUgZm9yIHJlZiAlczogJXMiLAorCQkgICAgdXBkYXRlLT5yZWZfbmFtZSwgb2xkdmFsdWUpOworCisJLyogV2UgaGF2ZSBhbiBvbGQgdmFsdWUgaWYgbm9uLWVtcHR5LCBvciBpZiBlbXB0eSB3aXRob3V0IC16ICovCisJdXBkYXRlLT5oYXZlX29sZCA9ICpvbGR2YWx1ZSB8fCBsaW5lX3Rlcm1pbmF0aW9uOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqcGFyc2VfYXJnKGNvbnN0IGNoYXIgKm5leHQsIHN0cnVjdCBzdHJidWYgKmFyZykKK3sKKwkvKiBQYXJzZSBTUC10ZXJtaW5hdGVkLCBwb3NzaWJseSBDLXF1b3RlZCBhcmd1bWVudCAqLworCWlmICgqbmV4dCAhPSAnIicpCisJCXdoaWxlICgqbmV4dCAmJiAhaXNzcGFjZSgqbmV4dCkpCisJCQlzdHJidWZfYWRkY2goYXJnLCAqbmV4dCsrKTsKKwllbHNlIGlmICh1bnF1b3RlX2Nfc3R5bGUoYXJnLCBuZXh0LCAmbmV4dCkpCisJCWRpZSgiYmFkbHkgcXVvdGVkIGFyZ3VtZW50OiAlcyIsIG5leHQpOworCisJLyogUmV0dXJuIHBvc2l0aW9uIGFmdGVyIHRoZSBhcmd1bWVudCAqLworCXJldHVybiBuZXh0OworfQorCitzdGF0aWMgY29uc3QgY2hhciAqcGFyc2VfZmlyc3RfYXJnKGNvbnN0IGNoYXIgKm5leHQsIHN0cnVjdCBzdHJidWYgKmFyZykKK3sKKwkvKiBQYXJzZSBhcmd1bWVudCBpbW1lZGlhdGVseSBhZnRlciAiY29tbWFuZCBTUCIgKi8KKwlzdHJidWZfcmVzZXQoYXJnKTsKKwlpZiAobGluZV90ZXJtaW5hdGlvbikgeworCQkvKiBXaXRob3V0IC16LCB1c2UgdGhlIG5leHQgYXJndW1lbnQgKi8KKwkJbmV4dCA9IHBhcnNlX2FyZyhuZXh0LCBhcmcpOworCX0gZWxzZSB7CisJCS8qIFdpdGggLXosIHVzZSByZXN0IG9mIGZpcnN0IE5VTC10ZXJtaW5hdGVkIGxpbmUgKi8KKwkJc3RyYnVmX2FkZHN0cihhcmcsIG5leHQpOworCQluZXh0ID0gbmV4dCArIGFyZy0+bGVuOworCX0KKwlyZXR1cm4gbmV4dDsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKnBhcnNlX25leHRfYXJnKGNvbnN0IGNoYXIgKm5leHQsIHN0cnVjdCBzdHJidWYgKmFyZykKK3sKKwkvKiBQYXJzZSBuZXh0IFNQLXRlcm1pbmF0ZWQgb3IgTlVMLXRlcm1pbmF0ZWQgYXJndW1lbnQsIGlmIGFueSAqLworCXN0cmJ1Zl9yZXNldChhcmcpOworCWlmIChsaW5lX3Rlcm1pbmF0aW9uKSB7CisJCS8qIFdpdGhvdXQgLXosIGNvbnN1bWUgU1AgYW5kIHVzZSBuZXh0IGFyZ3VtZW50ICovCisJCWlmICghKm5leHQpCisJCQlyZXR1cm4gTlVMTDsKKwkJaWYgKCpuZXh0ICE9ICcgJykKKwkJCWRpZSgiZXhwZWN0ZWQgU1AgYnV0IGdvdDogJXMiLCBuZXh0KTsKKwkJbmV4dCA9IHBhcnNlX2FyZyhuZXh0ICsgMSwgYXJnKTsKKwl9IGVsc2UgeworCQkvKiBXaXRoIC16LCByZWFkIHRoZSBuZXh0IE5VTC10ZXJtaW5hdGVkIGxpbmUgKi8KKwkJaWYgKCpuZXh0KQorCQkJZGllKCJleHBlY3RlZCBOVUwgYnV0IGdvdDogJXMiLCBuZXh0KTsKKwkJaWYgKHN0cmJ1Zl9nZXRsaW5lKGFyZywgc3RkaW4sICdcMCcpID09IEVPRikKKwkJCXJldHVybiBOVUxMOworCQluZXh0ID0gYXJnLT5idWYgKyBhcmctPmxlbjsKKwl9CisJcmV0dXJuIG5leHQ7Cit9CisKK3N0YXRpYyB2b2lkIHBhcnNlX2NtZF91cGRhdGUoY29uc3QgY2hhciAqbmV4dCkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIHJlZiA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJidWYgbmV3dmFsdWUgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIG9sZHZhbHVlID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHJlZl91cGRhdGUgKnVwZGF0ZTsKKworCXVwZGF0ZSA9IHVwZGF0ZV9hbGxvYygpOworCisJaWYgKChuZXh0ID0gcGFyc2VfZmlyc3RfYXJnKG5leHQsICZyZWYpKSAhPSBOVUxMICYmIHJlZi5idWZbMF0pCisJCXVwZGF0ZV9zdG9yZV9yZWZfbmFtZSh1cGRhdGUsIHJlZi5idWYpOworCWVsc2UKKwkJZGllKCJ1cGRhdGUgbGluZSBtaXNzaW5nIDxyZWY+Iik7CisKKwlpZiAoKG5leHQgPSBwYXJzZV9uZXh0X2FyZyhuZXh0LCAmbmV3dmFsdWUpKSAhPSBOVUxMKQorCQl1cGRhdGVfc3RvcmVfbmV3X3NoYTEodXBkYXRlLCBuZXd2YWx1ZS5idWYpOworCWVsc2UKKwkJZGllKCJ1cGRhdGUgJXMgbWlzc2luZyA8bmV3dmFsdWU+IiwgcmVmLmJ1Zik7CisKKwlpZiAoKG5leHQgPSBwYXJzZV9uZXh0X2FyZyhuZXh0LCAmb2xkdmFsdWUpKSAhPSBOVUxMKQorCQl1cGRhdGVfc3RvcmVfb2xkX3NoYTEodXBkYXRlLCBvbGR2YWx1ZS5idWYpOworCWVsc2UgaWYoIWxpbmVfdGVybWluYXRpb24pCisJCWRpZSgidXBkYXRlICVzIG1pc3NpbmcgWzxvbGR2YWx1ZT5dIE5VTCIsIHJlZi5idWYpOworCisJaWYgKG5leHQgJiYgKm5leHQpCisJCWRpZSgidXBkYXRlICVzIGhhcyBleHRyYSBpbnB1dDogJXMiLCByZWYuYnVmLCBuZXh0KTsKK30KKworc3RhdGljIHZvaWQgcGFyc2VfY21kX2NyZWF0ZShjb25zdCBjaGFyICpuZXh0KQoreworCXN0cnVjdCBzdHJidWYgcmVmID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBuZXd2YWx1ZSA9IFNUUkJVRl9JTklUOworCXN0cnVjdCByZWZfdXBkYXRlICp1cGRhdGU7CisKKwl1cGRhdGUgPSB1cGRhdGVfYWxsb2MoKTsKKworCWlmICgobmV4dCA9IHBhcnNlX2ZpcnN0X2FyZyhuZXh0LCAmcmVmKSkgIT0gTlVMTCAmJiByZWYuYnVmWzBdKQorCQl1cGRhdGVfc3RvcmVfcmVmX25hbWUodXBkYXRlLCByZWYuYnVmKTsKKwllbHNlCisJCWRpZSgiY3JlYXRlIGxpbmUgbWlzc2luZyA8cmVmPiIpOworCisJaWYgKChuZXh0ID0gcGFyc2VfbmV4dF9hcmcobmV4dCwgJm5ld3ZhbHVlKSkgIT0gTlVMTCkKKwkJdXBkYXRlX3N0b3JlX25ld19zaGExKHVwZGF0ZSwgbmV3dmFsdWUuYnVmKTsKKwllbHNlCisJCWRpZSgiY3JlYXRlICVzIG1pc3NpbmcgPG5ld3ZhbHVlPiIsIHJlZi5idWYpOworCWlmIChpc19udWxsX3NoYTEodXBkYXRlLT5uZXdfc2hhMSkpCisJCWRpZSgiY3JlYXRlICVzIGdpdmVuIHplcm8gbmV3IHZhbHVlIiwgcmVmLmJ1Zik7CisKKwlpZiAobmV4dCAmJiAqbmV4dCkKKwkJZGllKCJjcmVhdGUgJXMgaGFzIGV4dHJhIGlucHV0OiAlcyIsIHJlZi5idWYsIG5leHQpOworfQorCitzdGF0aWMgdm9pZCBwYXJzZV9jbWRfZGVsZXRlKGNvbnN0IGNoYXIgKm5leHQpCit7CisJc3RydWN0IHN0cmJ1ZiByZWYgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIG9sZHZhbHVlID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHJlZl91cGRhdGUgKnVwZGF0ZTsKKworCXVwZGF0ZSA9IHVwZGF0ZV9hbGxvYygpOworCisJaWYgKChuZXh0ID0gcGFyc2VfZmlyc3RfYXJnKG5leHQsICZyZWYpKSAhPSBOVUxMICYmIHJlZi5idWZbMF0pCisJCXVwZGF0ZV9zdG9yZV9yZWZfbmFtZSh1cGRhdGUsIHJlZi5idWYpOworCWVsc2UKKwkJZGllKCJkZWxldGUgbGluZSBtaXNzaW5nIDxyZWY+Iik7CisKKwlpZiAoKG5leHQgPSBwYXJzZV9uZXh0X2FyZyhuZXh0LCAmb2xkdmFsdWUpKSAhPSBOVUxMKQorCQl1cGRhdGVfc3RvcmVfb2xkX3NoYTEodXBkYXRlLCBvbGR2YWx1ZS5idWYpOworCWVsc2UgaWYoIWxpbmVfdGVybWluYXRpb24pCisJCWRpZSgiZGVsZXRlICVzIG1pc3NpbmcgWzxvbGR2YWx1ZT5dIE5VTCIsIHJlZi5idWYpOworCWlmICh1cGRhdGUtPmhhdmVfb2xkICYmIGlzX251bGxfc2hhMSh1cGRhdGUtPm9sZF9zaGExKSkKKwkJZGllKCJkZWxldGUgJXMgZ2l2ZW4gemVybyBvbGQgdmFsdWUiLCByZWYuYnVmKTsKKworCWlmIChuZXh0ICYmICpuZXh0KQorCQlkaWUoImRlbGV0ZSAlcyBoYXMgZXh0cmEgaW5wdXQ6ICVzIiwgcmVmLmJ1ZiwgbmV4dCk7Cit9CisKK3N0YXRpYyB2b2lkIHBhcnNlX2NtZF92ZXJpZnkoY29uc3QgY2hhciAqbmV4dCkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIHJlZiA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJidWYgdmFsdWUgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlOworCisJdXBkYXRlID0gdXBkYXRlX2FsbG9jKCk7CisKKwlpZiAoKG5leHQgPSBwYXJzZV9maXJzdF9hcmcobmV4dCwgJnJlZikpICE9IE5VTEwgJiYgcmVmLmJ1ZlswXSkKKwkJdXBkYXRlX3N0b3JlX3JlZl9uYW1lKHVwZGF0ZSwgcmVmLmJ1Zik7CisJZWxzZQorCQlkaWUoInZlcmlmeSBsaW5lIG1pc3NpbmcgPHJlZj4iKTsKKworCWlmICgobmV4dCA9IHBhcnNlX25leHRfYXJnKG5leHQsICZ2YWx1ZSkpICE9IE5VTEwpIHsKKwkJdXBkYXRlX3N0b3JlX29sZF9zaGExKHVwZGF0ZSwgdmFsdWUuYnVmKTsKKwkJdXBkYXRlX3N0b3JlX25ld19zaGExKHVwZGF0ZSwgdmFsdWUuYnVmKTsKKwl9IGVsc2UgaWYoIWxpbmVfdGVybWluYXRpb24pCisJCWRpZSgidmVyaWZ5ICVzIG1pc3NpbmcgWzxvbGR2YWx1ZT5dIE5VTCIsIHJlZi5idWYpOworCisJaWYgKG5leHQgJiYgKm5leHQpCisJCWRpZSgidmVyaWZ5ICVzIGhhcyBleHRyYSBpbnB1dDogJXMiLCByZWYuYnVmLCBuZXh0KTsKK30KKworc3RhdGljIHZvaWQgcGFyc2VfY21kX29wdGlvbihjb25zdCBjaGFyICpuZXh0KQoreworCWlmICghc3RyY21wKG5leHQsICJuby1kZXJlZiIpKQorCQl1cGRhdGVfZmxhZ3MgfD0gUkVGX05PREVSRUY7CisJZWxzZQorCQlkaWUoIm9wdGlvbiB1bmtub3duOiAlcyIsIG5leHQpOworfQorCitzdGF0aWMgdm9pZCB1cGRhdGVfcmVmc19zdGRpbih2b2lkKQoreworCXN0cnVjdCBzdHJidWYgY21kID0gU1RSQlVGX0lOSVQ7CisKKwkvKiBSZWFkIGVhY2ggbGluZSBkaXNwYXRjaCBpdHMgY29tbWFuZCAqLworCXdoaWxlIChzdHJidWZfZ2V0bGluZSgmY21kLCBzdGRpbiwgbGluZV90ZXJtaW5hdGlvbikgIT0gRU9GKQorCQlpZiAoIWNtZC5idWZbMF0pCisJCQlkaWUoImVtcHR5IGNvbW1hbmQgaW4gaW5wdXQiKTsKKwkJZWxzZSBpZiAoaXNzcGFjZSgqY21kLmJ1ZikpCisJCQlkaWUoIndoaXRlc3BhY2UgYmVmb3JlIGNvbW1hbmQ6ICVzIiwgY21kLmJ1Zik7CisJCWVsc2UgaWYgKHN0YXJ0c193aXRoKGNtZC5idWYsICJ1cGRhdGUgIikpCisJCQlwYXJzZV9jbWRfdXBkYXRlKGNtZC5idWYgKyA3KTsKKwkJZWxzZSBpZiAoc3RhcnRzX3dpdGgoY21kLmJ1ZiwgImNyZWF0ZSAiKSkKKwkJCXBhcnNlX2NtZF9jcmVhdGUoY21kLmJ1ZiArIDcpOworCQllbHNlIGlmIChzdGFydHNfd2l0aChjbWQuYnVmLCAiZGVsZXRlICIpKQorCQkJcGFyc2VfY21kX2RlbGV0ZShjbWQuYnVmICsgNyk7CisJCWVsc2UgaWYgKHN0YXJ0c193aXRoKGNtZC5idWYsICJ2ZXJpZnkgIikpCisJCQlwYXJzZV9jbWRfdmVyaWZ5KGNtZC5idWYgKyA3KTsKKwkJZWxzZSBpZiAoc3RhcnRzX3dpdGgoY21kLmJ1ZiwgIm9wdGlvbiAiKSkKKwkJCXBhcnNlX2NtZF9vcHRpb24oY21kLmJ1ZiArIDcpOworCQllbHNlCisJCQlkaWUoInVua25vd24gY29tbWFuZDogJXMiLCBjbWQuYnVmKTsKKworCXN0cmJ1Zl9yZWxlYXNlKCZjbWQpOworfQorCiBpbnQgY21kX3VwZGF0ZV9yZWYoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJY29uc3QgY2hhciAqcmVmbmFtZSwgKm9sZHZhbCwgKm1zZyA9IE5VTEw7CiAJdW5zaWduZWQgY2hhciBzaGExWzIwXSwgb2xkc2hhMVsyMF07Ci0JaW50IGRlbGV0ZSA9IDAsIG5vX2RlcmVmID0gMCwgZmxhZ3MgPSAwOworCWludCBkZWxldGUgPSAwLCBub19kZXJlZiA9IDAsIHJlYWRfc3RkaW4gPSAwLCBlbmRfbnVsbCA9IDAsIGZsYWdzID0gMDsKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKIAkJT1BUX1NUUklORyggJ20nLCBOVUxMLCAmbXNnLCBOXygicmVhc29uIiksIE5fKCJyZWFzb24gb2YgdGhlIHVwZGF0ZSIpKSwKLQkJT1BUX0JPT0xFQU4oJ2QnLCBOVUxMLCAmZGVsZXRlLCBOXygiZGVsZXRlIHRoZSByZWZlcmVuY2UiKSksCi0JCU9QVF9CT09MRUFOKCAwICwgIm5vLWRlcmVmIiwgJm5vX2RlcmVmLAorCQlPUFRfQk9PTCgnZCcsIE5VTEwsICZkZWxldGUsIE5fKCJkZWxldGUgdGhlIHJlZmVyZW5jZSIpKSwKKwkJT1BUX0JPT0woIDAgLCAibm8tZGVyZWYiLCAmbm9fZGVyZWYsCiAJCQkJCU5fKCJ1cGRhdGUgPHJlZm5hbWU+IG5vdCB0aGUgb25lIGl0IHBvaW50cyB0byIpKSwKKwkJT1BUX0JPT0woJ3onLCBOVUxMLCAmZW5kX251bGwsIE5fKCJzdGRpbiBoYXMgTlVMLXRlcm1pbmF0ZWQgYXJndW1lbnRzIikpLAorCQlPUFRfQk9PTCggMCAsICJzdGRpbiIsICZyZWFkX3N0ZGluLCBOXygicmVhZCB1cGRhdGVzIGZyb20gc3RkaW4iKSksCiAJCU9QVF9FTkQoKSwKIAl9OwogCkBAIC0yOCw2ICsyNjYsMTggQEAKIAlpZiAobXNnICYmICEqbXNnKQogCQlkaWUoIlJlZnVzaW5nIHRvIHBlcmZvcm0gdXBkYXRlIHdpdGggZW1wdHkgbWVzc2FnZS4iKTsKIAorCWlmIChyZWFkX3N0ZGluKSB7CisJCWlmIChkZWxldGUgfHwgbm9fZGVyZWYgfHwgYXJnYyA+IDApCisJCQl1c2FnZV93aXRoX29wdGlvbnMoZ2l0X3VwZGF0ZV9yZWZfdXNhZ2UsIG9wdGlvbnMpOworCQlpZiAoZW5kX251bGwpCisJCQlsaW5lX3Rlcm1pbmF0aW9uID0gJ1wwJzsKKwkJdXBkYXRlX3JlZnNfc3RkaW4oKTsKKwkJcmV0dXJuIHVwZGF0ZV9yZWZzKG1zZywgdXBkYXRlcywgdXBkYXRlc19jb3VudCwgRElFX09OX0VSUik7CisJfQorCisJaWYgKGVuZF9udWxsKQorCQl1c2FnZV93aXRoX29wdGlvbnMoZ2l0X3VwZGF0ZV9yZWZfdXNhZ2UsIG9wdGlvbnMpOworCiAJaWYgKGRlbGV0ZSkgewogCQlpZiAoYXJnYyA8IDEgfHwgYXJnYyA+IDIpCiAJCQl1c2FnZV93aXRoX29wdGlvbnMoZ2l0X3VwZGF0ZV9yZWZfdXNhZ2UsIG9wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi91cGxvYWQtYXJjaGl2ZS5jIGIvYnVpbHRpbi91cGxvYWQtYXJjaGl2ZS5jCmluZGV4IGFmMmRhMzUuLjMyYWI5NGMgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vdXBsb2FkLWFyY2hpdmUuYworKysgYi9idWlsdGluL3VwbG9hZC1hcmNoaXZlLmMKQEAgLTM3LDcgKzM3LDcgQEAKIAkJaWYgKHNlbnRfYXJndi5hcmdjID4gTUFYX0FSR1MpCiAJCQlkaWUoIlRvbyBtYW55IG9wdGlvbnMgKD4lZCkiLCBNQVhfQVJHUyAtIDEpOwogCi0JCWlmIChwcmVmaXhjbXAoYnVmLCBhcmdfY21kKSkKKwkJaWYgKCFzdGFydHNfd2l0aChidWYsIGFyZ19jbWQpKQogCQkJZGllKCInYXJndW1lbnQnIHRva2VuIG9yIGZsdXNoIGV4cGVjdGVkIik7CiAJCWFyZ3ZfYXJyYXlfcHVzaCgmc2VudF9hcmd2LCBidWYgKyBzdHJsZW4oYXJnX2NtZCkpOwogCX0KZGlmZiAtLWdpdCBhL2J1bmRsZS5jIGIvYnVuZGxlLmMKaW5kZXggM2Q2NDMxMS4uZTk5MDY1YyAxMDA2NDQKLS0tIGEvYnVuZGxlLmMKKysrIGIvYnVuZGxlLmMKQEAgLTcsNiArNyw3IEBACiAjaW5jbHVkZSAibGlzdC1vYmplY3RzLmgiCiAjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKICNpbmNsdWRlICJyZWZzLmgiCisjaW5jbHVkZSAiYXJndi1hcnJheS5oIgogCiBzdGF0aWMgY29uc3QgY2hhciBidW5kbGVfc2lnbmF0dXJlW10gPSAiIyB2MiBnaXQgYnVuZGxlXG4iOwogCkBAIC0yMzQsMTMgKzIzNSwxMyBAQAogfQogCiBpbnQgY3JlYXRlX2J1bmRsZShzdHJ1Y3QgYnVuZGxlX2hlYWRlciAqaGVhZGVyLCBjb25zdCBjaGFyICpwYXRoLAotCQlpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCisJCSAgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogewogCXN0YXRpYyBzdHJ1Y3QgbG9ja19maWxlIGxvY2s7CiAJaW50IGJ1bmRsZV9mZCA9IC0xOwogCWludCBidW5kbGVfdG9fc3Rkb3V0OwotCWNvbnN0IGNoYXIgKiphcmd2X2JvdW5kYXJ5ID0geG1hbGxvYygoYXJnYyArIDQpICogc2l6ZW9mKGNvbnN0IGNoYXIgKikpOwotCWNvbnN0IGNoYXIgKiphcmd2X3BhY2sgPSB4bWFsbG9jKDYgKiBzaXplb2YoY29uc3QgY2hhciAqKSk7CisJc3RydWN0IGFyZ3ZfYXJyYXkgYXJndl9ib3VuZGFyeSA9IEFSR1ZfQVJSQVlfSU5JVDsKKwlzdHJ1Y3QgYXJndl9hcnJheSBhcmd2X3BhY2sgPSBBUkdWX0FSUkFZX0lOSVQ7CiAJaW50IGksIHJlZl9jb3VudCA9IDA7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3QgcmV2X2luZm8gcmV2czsKQEAgLTI2MiwxMyArMjYzLDE0IEBACiAJaW5pdF9yZXZpc2lvbnMoJnJldnMsIE5VTEwpOwogCiAJLyogd3JpdGUgcHJlcmVxdWlzaXRlcyAqLwotCW1lbWNweShhcmd2X2JvdW5kYXJ5ICsgMywgYXJndiArIDEsIGFyZ2MgKiBzaXplb2YoY29uc3QgY2hhciAqKSk7Ci0JYXJndl9ib3VuZGFyeVswXSA9ICJyZXYtbGlzdCI7Ci0JYXJndl9ib3VuZGFyeVsxXSA9ICItLWJvdW5kYXJ5IjsKLQlhcmd2X2JvdW5kYXJ5WzJdID0gIi0tcHJldHR5PW9uZWxpbmUiOwotCWFyZ3ZfYm91bmRhcnlbYXJnYyArIDJdID0gTlVMTDsKKwlhcmd2X2FycmF5X3B1c2hsKCZhcmd2X2JvdW5kYXJ5LAorCQkJICJyZXYtbGlzdCIsICItLWJvdW5kYXJ5IiwgIi0tcHJldHR5PW9uZWxpbmUiLAorCQkJIE5VTEwpOworCWZvciAoaSA9IDE7IGkgPCBhcmdjOyBpKyspCisJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJndl9ib3VuZGFyeSwgYXJndltpXSk7CisKIAltZW1zZXQoJnJscywgMCwgc2l6ZW9mKHJscykpOwotCXJscy5hcmd2ID0gYXJndl9ib3VuZGFyeTsKKwlybHMuYXJndiA9IGFyZ3ZfYm91bmRhcnkuYXJndjsKIAlybHMub3V0ID0gLTE7CiAJcmxzLmdpdF9jbWQgPSAxOwogCWlmIChzdGFydF9jb21tYW5kKCZybHMpKQpAQCAtMzgzLDE0ICszODUsMTIgQEAKIAl3cml0ZV9vcl9kaWUoYnVuZGxlX2ZkLCAiXG4iLCAxKTsKIAogCS8qIHdyaXRlIHBhY2sgKi8KLQlhcmd2X3BhY2tbMF0gPSAicGFjay1vYmplY3RzIjsKLQlhcmd2X3BhY2tbMV0gPSAiLS1hbGwtcHJvZ3Jlc3MtaW1wbGllZCI7Ci0JYXJndl9wYWNrWzJdID0gIi0tc3Rkb3V0IjsKLQlhcmd2X3BhY2tbM10gPSAiLS10aGluIjsKLQlhcmd2X3BhY2tbNF0gPSAiLS1kZWx0YS1iYXNlLW9mZnNldCI7Ci0JYXJndl9wYWNrWzVdID0gTlVMTDsKKwlhcmd2X2FycmF5X3B1c2hsKCZhcmd2X3BhY2ssCisJCQkgInBhY2stb2JqZWN0cyIsICItLWFsbC1wcm9ncmVzcy1pbXBsaWVkIiwKKwkJCSAiLS1zdGRvdXQiLCAiLS10aGluIiwgIi0tZGVsdGEtYmFzZS1vZmZzZXQiLAorCQkJIE5VTEwpOwogCW1lbXNldCgmcmxzLCAwLCBzaXplb2YocmxzKSk7Ci0JcmxzLmFyZ3YgPSBhcmd2X3BhY2s7CisJcmxzLmFyZ3YgPSBhcmd2X3BhY2suYXJndjsKIAlybHMuaW4gPSAtMTsKIAlybHMub3V0ID0gYnVuZGxlX2ZkOwogCXJscy5naXRfY21kID0gMTsKZGlmZiAtLWdpdCBhL2NhY2hlLmggYi9jYWNoZS5oCmluZGV4IDQxNWQ4ODMuLmRjMDQwZmIgMTAwNjQ0Ci0tLSBhL2NhY2hlLmgKKysrIGIvY2FjaGUuaApAQCAtMTAxLDkgKzEwMSw5IEBACiAKICNkZWZpbmUgQ0FDSEVfU0lHTkFUVVJFIDB4NDQ0OTUyNDMJLyogIkRJUkMiICovCiBzdHJ1Y3QgY2FjaGVfaGVhZGVyIHsKLQl1bnNpZ25lZCBpbnQgaGRyX3NpZ25hdHVyZTsKLQl1bnNpZ25lZCBpbnQgaGRyX3ZlcnNpb247Ci0JdW5zaWduZWQgaW50IGhkcl9lbnRyaWVzOworCXVpbnQzMl90IGhkcl9zaWduYXR1cmU7CisJdWludDMyX3QgaGRyX3ZlcnNpb247CisJdWludDMyX3QgaGRyX2VudHJpZXM7CiB9OwogCiAjZGVmaW5lIElOREVYX0ZPUk1BVF9MQiAyCkBAIC0xMTUsOCArMTE1LDggQEAKICAqIGNoZWNrIGl0IGZvciBlcXVhbGl0eSBpbiB0aGUgMzIgYml0cyB3ZSBzYXZlLgogICovCiBzdHJ1Y3QgY2FjaGVfdGltZSB7Ci0JdW5zaWduZWQgaW50IHNlYzsKLQl1bnNpZ25lZCBpbnQgbnNlYzsKKwl1aW50MzJfdCBzZWM7CisJdWludDMyX3QgbnNlYzsKIH07CiAKIHN0cnVjdCBzdGF0X2RhdGEgewpAQCAtMTg5LDYgKzE4OSw4IEBACiAjZXJyb3IgIkNFX0VYVEVOREVEX0ZMQUdTIG91dCBvZiByYW5nZSIKICNlbmRpZgogCitzdHJ1Y3QgcGF0aHNwZWM7CisKIC8qCiAgKiBDb3B5IHRoZSBzaGExIGFuZCBzdGF0IHN0YXRlIG9mIGEgY2FjaGUgZW50cnkgZnJvbSBvbmUgdG8KICAqIGFub3RoZXIuIEJ1dCB3ZSBuZXZlciBjaGFuZ2UgdGhlIG5hbWUsIG9yIHRoZSBoYXNoIHN0YXRlIQpAQCAtMzEyLDYgKzMxNCw4IEBACiAjZGVmaW5lIHJlZnJlc2hfY2FjaGUoZmxhZ3MpIHJlZnJlc2hfaW5kZXgoJnRoZV9pbmRleCwgKGZsYWdzKSwgTlVMTCwgTlVMTCwgTlVMTCkKICNkZWZpbmUgY2VfbWF0Y2hfc3RhdChjZSwgc3QsIG9wdGlvbnMpIGllX21hdGNoX3N0YXQoJnRoZV9pbmRleCwgKGNlKSwgKHN0KSwgKG9wdGlvbnMpKQogI2RlZmluZSBjZV9tb2RpZmllZChjZSwgc3QsIG9wdGlvbnMpIGllX21vZGlmaWVkKCZ0aGVfaW5kZXgsIChjZSksIChzdCksIChvcHRpb25zKSkKKyNkZWZpbmUgY2FjaGVfZGlyX2V4aXN0cyhuYW1lLCBuYW1lbGVuKSBpbmRleF9kaXJfZXhpc3RzKCZ0aGVfaW5kZXgsIChuYW1lKSwgKG5hbWVsZW4pKQorI2RlZmluZSBjYWNoZV9maWxlX2V4aXN0cyhuYW1lLCBuYW1lbGVuLCBpZ25jYXNlKSBpbmRleF9maWxlX2V4aXN0cygmdGhlX2luZGV4LCAobmFtZSksIChuYW1lbGVuKSwgKGlnbmNhc2UpKQogI2RlZmluZSBjYWNoZV9uYW1lX2V4aXN0cyhuYW1lLCBuYW1lbGVuLCBpZ25jYXNlKSBpbmRleF9uYW1lX2V4aXN0cygmdGhlX2luZGV4LCAobmFtZSksIChuYW1lbGVuKSwgKGlnbmNhc2UpKQogI2RlZmluZSBjYWNoZV9uYW1lX2lzX290aGVyKG5hbWUsIG5hbWVsZW4pIGluZGV4X25hbWVfaXNfb3RoZXIoJnRoZV9pbmRleCwgKG5hbWUpLCAobmFtZWxlbikpCiAjZGVmaW5lIHJlc29sdmVfdW5kb19jbGVhcigpIHJlc29sdmVfdW5kb19jbGVhcl9pbmRleCgmdGhlX2luZGV4KQpAQCAtMzUwLDYgKzM1NCw3IEBACiAjZGVmaW5lIERCX0VOVklST05NRU5UICJHSVRfT0JKRUNUX0RJUkVDVE9SWSIKICNkZWZpbmUgSU5ERVhfRU5WSVJPTk1FTlQgIkdJVF9JTkRFWF9GSUxFIgogI2RlZmluZSBHUkFGVF9FTlZJUk9OTUVOVCAiR0lUX0dSQUZUX0ZJTEUiCisjZGVmaW5lIEdJVF9TSEFMTE9XX0ZJTEVfRU5WSVJPTk1FTlQgIkdJVF9TSEFMTE9XX0ZJTEUiCiAjZGVmaW5lIFRFTVBMQVRFX0RJUl9FTlZJUk9OTUVOVCAiR0lUX1RFTVBMQVRFX0RJUiIKICNkZWZpbmUgQ09ORklHX0VOVklST05NRU5UICJHSVRfQ09ORklHIgogI2RlZmluZSBDT05GSUdfREFUQV9FTlZJUk9OTUVOVCAiR0lUX0NPTkZJR19QQVJBTUVURVJTIgpAQCAtMzY1LDYgKzM3MCw5IEBACiAjZGVmaW5lIEdJVF9OT1RFU19SRVdSSVRFX1JFRl9FTlZJUk9OTUVOVCAiR0lUX05PVEVTX1JFV1JJVEVfUkVGIgogI2RlZmluZSBHSVRfTk9URVNfUkVXUklURV9NT0RFX0VOVklST05NRU5UICJHSVRfTk9URVNfUkVXUklURV9NT0RFIgogI2RlZmluZSBHSVRfTElURVJBTF9QQVRIU1BFQ1NfRU5WSVJPTk1FTlQgIkdJVF9MSVRFUkFMX1BBVEhTUEVDUyIKKyNkZWZpbmUgR0lUX0dMT0JfUEFUSFNQRUNTX0VOVklST05NRU5UICJHSVRfR0xPQl9QQVRIU1BFQ1MiCisjZGVmaW5lIEdJVF9OT0dMT0JfUEFUSFNQRUNTX0VOVklST05NRU5UICJHSVRfTk9HTE9CX1BBVEhTUEVDUyIKKyNkZWZpbmUgR0lUX0lDQVNFX1BBVEhTUEVDU19FTlZJUk9OTUVOVCAiR0lUX0lDQVNFX1BBVEhTUEVDUyIKIAogLyoKICAqIFRoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgZXhwZWN0ZWQgdG8gY29udGFpbiBhIGJvb2xlYW4gaW5kaWNhdGluZwpAQCAtMzkxLDcgKzM5OSw2IEBACiBleHRlcm4gaW50IGlzX2luc2lkZV9naXRfZGlyKHZvaWQpOwogZXh0ZXJuIGNoYXIgKmdpdF93b3JrX3RyZWVfY2ZnOwogZXh0ZXJuIGludCBpc19pbnNpZGVfd29ya190cmVlKHZvaWQpOwotZXh0ZXJuIGludCBoYXZlX2dpdF9kaXIodm9pZCk7CiBleHRlcm4gY29uc3QgY2hhciAqZ2V0X2dpdF9kaXIodm9pZCk7CiBleHRlcm4gaW50IGlzX2dpdF9kaXJlY3RvcnkoY29uc3QgY2hhciAqcGF0aCk7CiBleHRlcm4gY2hhciAqZ2V0X29iamVjdF9kaXJlY3Rvcnkodm9pZCk7CkBAIC00MTIsNiArNDE5LDcgQEAKIGV4dGVybiBjb25zdCBjaGFyICpzZXR1cF9naXRfZGlyZWN0b3J5X2dlbnRseShpbnQgKik7CiBleHRlcm4gY29uc3QgY2hhciAqc2V0dXBfZ2l0X2RpcmVjdG9yeSh2b2lkKTsKIGV4dGVybiBjaGFyICpwcmVmaXhfcGF0aChjb25zdCBjaGFyICpwcmVmaXgsIGludCBsZW4sIGNvbnN0IGNoYXIgKnBhdGgpOworZXh0ZXJuIGNoYXIgKnByZWZpeF9wYXRoX2dlbnRseShjb25zdCBjaGFyICpwcmVmaXgsIGludCBsZW4sIGludCAqcmVtYWluaW5nLCBjb25zdCBjaGFyICpwYXRoKTsKIGV4dGVybiBjb25zdCBjaGFyICpwcmVmaXhfZmlsZW5hbWUoY29uc3QgY2hhciAqcHJlZml4LCBpbnQgbGVuLCBjb25zdCBjaGFyICpwYXRoKTsKIGV4dGVybiBpbnQgY2hlY2tfZmlsZW5hbWUoY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICpuYW1lKTsKIGV4dGVybiB2b2lkIHZlcmlmeV9maWxlbmFtZShjb25zdCBjaGFyICpwcmVmaXgsCkBAIC00NDksNyArNDU3LDcgQEAKIAogLyogSW5pdGlhbGl6ZSBhbmQgdXNlIHRoZSBjYWNoZSBpbmZvcm1hdGlvbiAqLwogZXh0ZXJuIGludCByZWFkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqKTsKLWV4dGVybiBpbnQgcmVhZF9pbmRleF9wcmVsb2FkKHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBjb25zdCBjaGFyICoqcGF0aHNwZWMpOworZXh0ZXJuIGludCByZWFkX2luZGV4X3ByZWxvYWQoc3RydWN0IGluZGV4X3N0YXRlICosIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpOwogZXh0ZXJuIGludCByZWFkX2luZGV4X2Zyb20oc3RydWN0IGluZGV4X3N0YXRlICosIGNvbnN0IGNoYXIgKnBhdGgpOwogZXh0ZXJuIGludCBpc19pbmRleF91bmJvcm4oc3RydWN0IGluZGV4X3N0YXRlICopOwogZXh0ZXJuIGludCByZWFkX2luZGV4X3VubWVyZ2VkKHN0cnVjdCBpbmRleF9zdGF0ZSAqKTsKQEAgLTQ1Nyw2ICs0NjUsOCBAQAogZXh0ZXJuIGludCBkaXNjYXJkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqKTsKIGV4dGVybiBpbnQgdW5tZXJnZWRfaW5kZXgoY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICopOwogZXh0ZXJuIGludCB2ZXJpZnlfcGF0aChjb25zdCBjaGFyICpwYXRoKTsKK2V4dGVybiBzdHJ1Y3QgY2FjaGVfZW50cnkgKmluZGV4X2Rpcl9leGlzdHMoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuKTsKK2V4dGVybiBzdHJ1Y3QgY2FjaGVfZW50cnkgKmluZGV4X2ZpbGVfZXhpc3RzKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwgaW50IGlnbmNhc2UpOwogZXh0ZXJuIHN0cnVjdCBjYWNoZV9lbnRyeSAqaW5kZXhfbmFtZV9leGlzdHMoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLCBpbnQgaWduY2FzZSk7CiBleHRlcm4gaW50IGluZGV4X25hbWVfcG9zKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbik7CiAjZGVmaW5lIEFERF9DQUNIRV9PS19UT19BREQgMQkJLyogT2sgdG8gYWRkICovCkBAIC00OTEsMjggKzUwMSw4IEBACiBleHRlcm4gaW50IGllX21hdGNoX3N0YXQoY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICosIGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqLCBzdHJ1Y3Qgc3RhdCAqLCB1bnNpZ25lZCBpbnQpOwogZXh0ZXJuIGludCBpZV9tb2RpZmllZChjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICosIHN0cnVjdCBzdGF0ICosIHVuc2lnbmVkIGludCk7CiAKLSNkZWZpbmUgUEFUSFNQRUNfT05FU1RBUiAxCS8qIHRoZSBwYXRoc3BlYyBwYXR0ZXJuIHNhdGlzZmllcyBHRk5NX09ORVNUQVIgKi8KLQotc3RydWN0IHBhdGhzcGVjIHsKLQljb25zdCBjaGFyICoqcmF3OyAvKiBnZXRfcGF0aHNwZWMoKSByZXN1bHQsIG5vdCBmcmVlZCBieSBmcmVlX3BhdGhzcGVjKCkgKi8KLQlpbnQgbnI7Ci0JdW5zaWduZWQgaW50IGhhc193aWxkY2FyZDoxOwotCXVuc2lnbmVkIGludCByZWN1cnNpdmU6MTsKLQlpbnQgbWF4X2RlcHRoOwotCXN0cnVjdCBwYXRoc3BlY19pdGVtIHsKLQkJY29uc3QgY2hhciAqbWF0Y2g7Ci0JCWludCBsZW47Ci0JCWludCBub3dpbGRjYXJkX2xlbjsKLQkJaW50IGZsYWdzOwotCX0gKml0ZW1zOwotfTsKLQotZXh0ZXJuIGludCBpbml0X3BhdGhzcGVjKHN0cnVjdCBwYXRoc3BlYyAqLCBjb25zdCBjaGFyICoqKTsKLWV4dGVybiB2b2lkIGZyZWVfcGF0aHNwZWMoc3RydWN0IHBhdGhzcGVjICopOwogZXh0ZXJuIGludCBjZV9wYXRoX21hdGNoKGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpOwogCi1leHRlcm4gaW50IGxpbWl0X3BhdGhzcGVjX3RvX2xpdGVyYWwodm9pZCk7Ci0KICNkZWZpbmUgSEFTSF9XUklURV9PQkpFQ1QgMQogI2RlZmluZSBIQVNIX0ZPUk1BVF9DSEVDSyAyCiBleHRlcm4gaW50IGluZGV4X2ZkKHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCBmZCwgc3RydWN0IHN0YXQgKnN0LCBlbnVtIG9iamVjdF90eXBlIHR5cGUsIGNvbnN0IGNoYXIgKnBhdGgsIHVuc2lnbmVkIGZsYWdzKTsKQEAgLTU0MCw3ICs1MzAsNyBAQAogI2RlZmluZSBSRUZSRVNIX0lHTk9SRV9NSVNTSU5HCTB4MDAwOAkvKiBpZ25vcmUgbm9uLWV4aXN0ZW50ICovCiAjZGVmaW5lIFJFRlJFU0hfSUdOT1JFX1NVQk1PRFVMRVMJMHgwMDEwCS8qIGlnbm9yZSBzdWJtb2R1bGVzICovCiAjZGVmaW5lIFJFRlJFU0hfSU5fUE9SQ0VMQUlOCTB4MDAyMAkvKiB1c2VyIGZyaWVuZGx5IG91dHB1dCwgbm90ICJuZWVkcyB1cGRhdGUiICovCi1leHRlcm4gaW50IHJlZnJlc2hfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICosIHVuc2lnbmVkIGludCBmbGFncywgY29uc3QgY2hhciAqKnBhdGhzcGVjLCBjaGFyICpzZWVuLCBjb25zdCBjaGFyICpoZWFkZXJfbXNnKTsKK2V4dGVybiBpbnQgcmVmcmVzaF9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgdW5zaWduZWQgaW50IGZsYWdzLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLCBjaGFyICpzZWVuLCBjb25zdCBjaGFyICpoZWFkZXJfbXNnKTsKIAogc3RydWN0IGxvY2tfZmlsZSB7CiAJc3RydWN0IGxvY2tfZmlsZSAqbmV4dDsKQEAgLTc0Nyw4ICs3MzcsMjkgQEAKIH07CiBpbnQgZ2l0X2NvbmZpZ19wZXJtKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUpOwogaW50IGFkanVzdF9zaGFyZWRfcGVybShjb25zdCBjaGFyICpwYXRoKTsKLWludCBzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzKGNoYXIgKnBhdGgpOwotaW50IHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXNfY29uc3QoY29uc3QgY2hhciAqcGF0aCk7CisKKy8qCisgKiBDcmVhdGUgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBuYW1lZCBwYXRoLCB1c2luZyBjYXJlIHRvIGJlCisgKiBzb21ld2hhdCBzYWZlIGFnYWluc3QgcmFjZXMuICBSZXR1cm4gb25lIG9mIHRoZSBzY2xkX2Vycm9yIHZhbHVlcworICogdG8gaW5kaWNhdGUgc3VjY2Vzcy9mYWlsdXJlLgorICoKKyAqIFNDTERfVkFOSVNIRUQgaW5kaWNhdGVzIHRoYXQgb25lIG9mIHRoZSBhbmNlc3RvciBkaXJlY3RvcmllcyBvZiB0aGUKKyAqIHBhdGggZXhpc3RlZCBhdCBvbmUgcG9pbnQgZHVyaW5nIHRoZSBmdW5jdGlvbiBjYWxsIGFuZCB0aGVuCisgKiBzdWRkZW5seSB2YW5pc2hlZCwgcHJvYmFibHkgYmVjYXVzZSBhbm90aGVyIHByb2Nlc3MgcHJ1bmVkIHRoZQorICogZGlyZWN0b3J5IHdoaWxlIHdlIHdlcmUgd29ya2luZy4gIFRvIGJlIHJvYnVzdCBhZ2FpbnN0IHRoaXMga2luZCBvZgorICogcmFjZSwgY2FsbGVycyBtaWdodCB3YW50IHRvIHRyeSBpbnZva2luZyB0aGUgZnVuY3Rpb24gYWdhaW4gd2hlbiBpdAorICogcmV0dXJucyBTQ0xEX1ZBTklTSEVELgorICovCitlbnVtIHNjbGRfZXJyb3IgeworCVNDTERfT0sgPSAwLAorCVNDTERfRkFJTEVEID0gLTEsCisJU0NMRF9QRVJNUyA9IC0yLAorCVNDTERfRVhJU1RTID0gLTMsCisJU0NMRF9WQU5JU0hFRCA9IC00Cit9OworZW51bSBzY2xkX2Vycm9yIHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXMoY2hhciAqcGF0aCk7CitlbnVtIHNjbGRfZXJyb3Igc2FmZV9jcmVhdGVfbGVhZGluZ19kaXJlY3Rvcmllc19jb25zdChjb25zdCBjaGFyICpwYXRoKTsKKwogaW50IG1rZGlyX2luX2dpdGRpcihjb25zdCBjaGFyICpwYXRoKTsKIGV4dGVybiB2b2lkIGhvbWVfY29uZmlnX3BhdGhzKGNoYXIgKipnbG9iYWwsIGNoYXIgKip4ZGcsIGNoYXIgKmZpbGUpOwogZXh0ZXJuIGNoYXIgKmV4cGFuZF91c2VyX3BhdGgoY29uc3QgY2hhciAqcGF0aCk7CkBAIC03NjEsNyArNzcyLDkgQEAKIGNvbnN0IGNoYXIgKnJlYWxfcGF0aChjb25zdCBjaGFyICpwYXRoKTsKIGNvbnN0IGNoYXIgKnJlYWxfcGF0aF9pZl92YWxpZChjb25zdCBjaGFyICpwYXRoKTsKIGNvbnN0IGNoYXIgKmFic29sdXRlX3BhdGgoY29uc3QgY2hhciAqcGF0aCk7Citjb25zdCBjaGFyICpyZW1vdmVfbGVhZGluZ19wYXRoKGNvbnN0IGNoYXIgKmluLCBjb25zdCBjaGFyICpwcmVmaXgpOwogY29uc3QgY2hhciAqcmVsYXRpdmVfcGF0aChjb25zdCBjaGFyICppbiwgY29uc3QgY2hhciAqcHJlZml4LCBzdHJ1Y3Qgc3RyYnVmICpzYik7CitpbnQgbm9ybWFsaXplX3BhdGhfY29weV9sZW4oY2hhciAqZHN0LCBjb25zdCBjaGFyICpzcmMsIGludCAqcHJlZml4X2xlbik7CiBpbnQgbm9ybWFsaXplX3BhdGhfY29weShjaGFyICpkc3QsIGNvbnN0IGNoYXIgKnNyYyk7CiBpbnQgbG9uZ2VzdF9hbmNlc3Rvcl9sZW5ndGgoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0cmluZ19saXN0ICpwcmVmaXhlcyk7CiBjaGFyICpzdHJpcF9wYXRoX3N1ZmZpeChjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpzdWZmaXgpOwpAQCAtNzY5LDExICs3ODIsMTEgQEAKIGludCBvZmZzZXRfMXN0X2NvbXBvbmVudChjb25zdCBjaGFyICpwYXRoKTsKIAogLyogb2JqZWN0IHJlcGxhY2VtZW50ICovCi0jZGVmaW5lIFJFQURfU0hBMV9GSUxFX1JFUExBQ0UgMQorI2RlZmluZSBMT09LVVBfUkVQTEFDRV9PQkpFQ1QgMQogZXh0ZXJuIHZvaWQgKnJlYWRfc2hhMV9maWxlX2V4dGVuZGVkKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGVudW0gb2JqZWN0X3R5cGUgKnR5cGUsIHVuc2lnbmVkIGxvbmcgKnNpemUsIHVuc2lnbmVkIGZsYWcpOwogc3RhdGljIGlubGluZSB2b2lkICpyZWFkX3NoYTFfZmlsZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBlbnVtIG9iamVjdF90eXBlICp0eXBlLCB1bnNpZ25lZCBsb25nICpzaXplKQogewotCXJldHVybiByZWFkX3NoYTFfZmlsZV9leHRlbmRlZChzaGExLCB0eXBlLCBzaXplLCBSRUFEX1NIQTFfRklMRV9SRVBMQUNFKTsKKwlyZXR1cm4gcmVhZF9zaGExX2ZpbGVfZXh0ZW5kZWQoc2hhMSwgdHlwZSwgc2l6ZSwgTE9PS1VQX1JFUExBQ0VfT0JKRUNUKTsKIH0KIGV4dGVybiBjb25zdCB1bnNpZ25lZCBjaGFyICpkb19sb29rdXBfcmVwbGFjZV9vYmplY3QoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7CiBzdGF0aWMgaW5saW5lIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmxvb2t1cF9yZXBsYWNlX29iamVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQpAQCAtNzgyLDYgKzc5NSwxMiBAQAogCQlyZXR1cm4gc2hhMTsKIAlyZXR1cm4gZG9fbG9va3VwX3JlcGxhY2Vfb2JqZWN0KHNoYTEpOwogfQorc3RhdGljIGlubGluZSBjb25zdCB1bnNpZ25lZCBjaGFyICpsb29rdXBfcmVwbGFjZV9vYmplY3RfZXh0ZW5kZWQoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgdW5zaWduZWQgZmxhZykKK3sKKwlpZiAoIShmbGFnICYgTE9PS1VQX1JFUExBQ0VfT0JKRUNUKSkKKwkJcmV0dXJuIHNoYTE7CisJcmV0dXJuIGxvb2t1cF9yZXBsYWNlX29iamVjdChzaGExKTsKK30KIAogLyogUmVhZCBhbmQgdW5wYWNrIGEgc2hhMSBmaWxlIGludG8gbWVtb3J5LCB3cml0ZSBtZW1vcnkgdG8gYSBzaGExIGZpbGUgKi8KIGV4dGVybiBpbnQgc2hhMV9vYmplY3RfaW5mbyhjb25zdCB1bnNpZ25lZCBjaGFyICosIHVuc2lnbmVkIGxvbmcgKik7CkBAIC04OTMsMTIgKzkxMiwxNSBAQAogCiBleHRlcm4gaW50IGR3aW1fcmVmKGNvbnN0IGNoYXIgKnN0ciwgaW50IGxlbiwgdW5zaWduZWQgY2hhciAqc2hhMSwgY2hhciAqKnJlZik7CiBleHRlcm4gaW50IGR3aW1fbG9nKGNvbnN0IGNoYXIgKnN0ciwgaW50IGxlbiwgdW5zaWduZWQgY2hhciAqc2hhMSwgY2hhciAqKnJlZik7Ci1leHRlcm4gaW50IGludGVycHJldF9icmFuY2hfbmFtZShjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBzdHJidWYgKik7CitleHRlcm4gaW50IGludGVycHJldF9icmFuY2hfbmFtZShjb25zdCBjaGFyICpzdHIsIGludCBsZW4sIHN0cnVjdCBzdHJidWYgKik7CiBleHRlcm4gaW50IGdldF9zaGExX21iKGNvbnN0IGNoYXIgKnN0ciwgdW5zaWduZWQgY2hhciAqc2hhMSk7CiAKLWV4dGVybiBpbnQgcmVmbmFtZV9tYXRjaChjb25zdCBjaGFyICphYmJyZXZfbmFtZSwgY29uc3QgY2hhciAqZnVsbF9uYW1lLCBjb25zdCBjaGFyICoqcnVsZXMpOwotZXh0ZXJuIGNvbnN0IGNoYXIgKnJlZl9yZXZfcGFyc2VfcnVsZXNbXTsKLSNkZWZpbmUgcmVmX2ZldGNoX3J1bGVzIHJlZl9yZXZfcGFyc2VfcnVsZXMKKy8qCisgKiBSZXR1cm4gdHJ1ZSBpZmYgYWJicmV2X25hbWUgaXMgYSBwb3NzaWJsZSBhYmJyZXZpYXRpb24gZm9yCisgKiBmdWxsX25hbWUgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBkZWZpbmVkIGJ5IHJlZl9yZXZfcGFyc2VfcnVsZXMgaW4KKyAqIHJlZnMuYy4KKyAqLworZXh0ZXJuIGludCByZWZuYW1lX21hdGNoKGNvbnN0IGNoYXIgKmFiYnJldl9uYW1lLCBjb25zdCBjaGFyICpmdWxsX25hbWUpOwogCiBleHRlcm4gaW50IGNyZWF0ZV9zeW1yZWYoY29uc3QgY2hhciAqcmVmLCBjb25zdCBjaGFyICpyZWZzX2hlYWRzX21hc3RlciwgY29uc3QgY2hhciAqbG9nbXNnKTsKIGV4dGVybiBpbnQgdmFsaWRhdGVfaGVhZHJlZihjb25zdCBjaGFyICpyZWYpOwpAQCAtOTg0LDYgKzEwMDYsNyBAQAogCQkgcmVmcmVzaF9jYWNoZToxOwogfTsKIAorI2RlZmluZSBURU1QT1JBUllfRklMRU5BTUVfTEVOR1RIIDI1CiBleHRlcm4gaW50IGNoZWNrb3V0X2VudHJ5KHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsIGNvbnN0IHN0cnVjdCBjaGVja291dCAqc3RhdGUsIGNoYXIgKnRvcGF0aCk7CiAKIHN0cnVjdCBjYWNoZV9kZWYgewpAQCAtMTA0Nyw2NyArMTA3MCw2IEBACiAJc3RydWN0IHBhY2tlZF9naXQgKnA7CiB9OwogCi1zdHJ1Y3QgcmVmIHsKLQlzdHJ1Y3QgcmVmICpuZXh0OwotCXVuc2lnbmVkIGNoYXIgb2xkX3NoYTFbMjBdOwotCXVuc2lnbmVkIGNoYXIgbmV3X3NoYTFbMjBdOwotCWNoYXIgKnN5bXJlZjsKLQl1bnNpZ25lZCBpbnQKLQkJZm9yY2U6MSwKLQkJZm9yY2VkX3VwZGF0ZToxLAotCQlkZWxldGlvbjoxLAotCQltYXRjaGVkOjE7Ci0KLQkvKgotCSAqIE9yZGVyIGlzIGltcG9ydGFudCBoZXJlLCBhcyB3ZSB3cml0ZSB0byBGRVRDSF9IRUFECi0JICogaW4gbnVtZXJpYyBvcmRlci4gQW5kIHRoZSBkZWZhdWx0IE5PVF9GT1JfTUVSR0UKLQkgKiBzaG91bGQgYmUgMCwgc28gdGhhdCB4Y2FsbG9jJ2Qgc3RydWN0dXJlcyBnZXQgaXQKLQkgKiBieSBkZWZhdWx0LgotCSAqLwotCWVudW0gewotCQlGRVRDSF9IRUFEX01FUkdFID0gLTEsCi0JCUZFVENIX0hFQURfTk9UX0ZPUl9NRVJHRSA9IDAsCi0JCUZFVENIX0hFQURfSUdOT1JFID0gMQotCX0gZmV0Y2hfaGVhZF9zdGF0dXM7Ci0KLQllbnVtIHsKLQkJUkVGX1NUQVRVU19OT05FID0gMCwKLQkJUkVGX1NUQVRVU19PSywKLQkJUkVGX1NUQVRVU19SRUpFQ1RfTk9ORkFTVEZPUldBUkQsCi0JCVJFRl9TVEFUVVNfUkVKRUNUX0FMUkVBRFlfRVhJU1RTLAotCQlSRUZfU1RBVFVTX1JFSkVDVF9OT0RFTEVURSwKLQkJUkVGX1NUQVRVU19SRUpFQ1RfRkVUQ0hfRklSU1QsCi0JCVJFRl9TVEFUVVNfUkVKRUNUX05FRURTX0ZPUkNFLAotCQlSRUZfU1RBVFVTX1VQVE9EQVRFLAotCQlSRUZfU1RBVFVTX1JFTU9URV9SRUpFQ1QsCi0JCVJFRl9TVEFUVVNfRVhQRUNUSU5HX1JFUE9SVAotCX0gc3RhdHVzOwotCWNoYXIgKnJlbW90ZV9zdGF0dXM7Ci0Jc3RydWN0IHJlZiAqcGVlcl9yZWY7IC8qIHdoZW4gcmVuYW1pbmcgKi8KLQljaGFyIG5hbWVbRkxFWF9BUlJBWV07IC8qIG1vcmUgKi8KLX07Ci0KLSNkZWZpbmUgUkVGX05PUk1BTAkoMXUgPDwgMCkKLSNkZWZpbmUgUkVGX0hFQURTCSgxdSA8PCAxKQotI2RlZmluZSBSRUZfVEFHUwkoMXUgPDwgMikKLQotZXh0ZXJuIHN0cnVjdCByZWYgKmZpbmRfcmVmX2J5X25hbWUoY29uc3Qgc3RydWN0IHJlZiAqbGlzdCwgY29uc3QgY2hhciAqbmFtZSk7Ci0KLSNkZWZpbmUgQ09OTkVDVF9WRVJCT1NFICAgICAgICgxdSA8PCAwKQotZXh0ZXJuIHN0cnVjdCBjaGlsZF9wcm9jZXNzICpnaXRfY29ubmVjdChpbnQgZmRbMl0sIGNvbnN0IGNoYXIgKnVybCwgY29uc3QgY2hhciAqcHJvZywgaW50IGZsYWdzKTsKLWV4dGVybiBpbnQgZmluaXNoX2Nvbm5lY3Qoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNvbm4pOwotZXh0ZXJuIGludCBnaXRfY29ubmVjdGlvbl9pc19zb2NrZXQoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNvbm4pOwotc3RydWN0IGV4dHJhX2hhdmVfb2JqZWN0cyB7Ci0JaW50IG5yLCBhbGxvYzsKLQl1bnNpZ25lZCBjaGFyICgqYXJyYXkpWzIwXTsKLX07Ci1leHRlcm4gc3RydWN0IHJlZiAqKmdldF9yZW1vdGVfaGVhZHMoaW50IGluLCBjaGFyICpzcmNfYnVmLCBzaXplX3Qgc3JjX2xlbiwKLQkJCQkgICAgIHN0cnVjdCByZWYgKipsaXN0LCB1bnNpZ25lZCBpbnQgZmxhZ3MsCi0JCQkJICAgICBzdHJ1Y3QgZXh0cmFfaGF2ZV9vYmplY3RzICopOwotZXh0ZXJuIGludCBzZXJ2ZXJfc3VwcG9ydHMoY29uc3QgY2hhciAqZmVhdHVyZSk7Ci1leHRlcm4gaW50IHBhcnNlX2ZlYXR1cmVfcmVxdWVzdChjb25zdCBjaGFyICpmZWF0dXJlcywgY29uc3QgY2hhciAqZmVhdHVyZSk7Ci1leHRlcm4gY29uc3QgY2hhciAqc2VydmVyX2ZlYXR1cmVfdmFsdWUoY29uc3QgY2hhciAqZmVhdHVyZSwgaW50ICpsZW5fcmV0KTsKLQogZXh0ZXJuIHN0cnVjdCBwYWNrZWRfZ2l0ICpwYXJzZV9wYWNrX2luZGV4KHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKmlkeF9wYXRoKTsKIAogLyogQSBob29rIGZvciBjb3VudC1vYmplY3RzIHRvIHJlcG9ydCBpbnZhbGlkIGZpbGVzIGluIHBhY2sgZGlyZWN0b3J5ICovCkBAIC0xMTQzLDYgKzExMDUsNyBAQAogCWVudW0gb2JqZWN0X3R5cGUgKnR5cGVwOwogCXVuc2lnbmVkIGxvbmcgKnNpemVwOwogCXVuc2lnbmVkIGxvbmcgKmRpc2tfc2l6ZXA7CisJdW5zaWduZWQgY2hhciAqZGVsdGFfYmFzZV9zaGExOwogCiAJLyogUmVzcG9uc2UgKi8KIAllbnVtIHsKQEAgLTExNjcsNyArMTEzMCw3IEBACiAJCX0gcGFja2VkOwogCX0gdTsKIH07Ci1leHRlcm4gaW50IHNoYTFfb2JqZWN0X2luZm9fZXh0ZW5kZWQoY29uc3QgdW5zaWduZWQgY2hhciAqLCBzdHJ1Y3Qgb2JqZWN0X2luZm8gKik7CitleHRlcm4gaW50IHNoYTFfb2JqZWN0X2luZm9fZXh0ZW5kZWQoY29uc3QgdW5zaWduZWQgY2hhciAqLCBzdHJ1Y3Qgb2JqZWN0X2luZm8gKiwgdW5zaWduZWQgZmxhZ3MpOwogCiAvKiBEdW1iIHNlcnZlcnMgc3VwcG9ydCAqLwogZXh0ZXJuIGludCB1cGRhdGVfc2VydmVyX2luZm8oaW50KTsKQEAgLTExOTgsNiArMTE2MSw3IEBACiBleHRlcm4gaW50IGdpdF9jb25maWdfZWFybHkoY29uZmlnX2ZuX3QgZm4sIHZvaWQgKiwgY29uc3QgY2hhciAqcmVwb19jb25maWcpOwogZXh0ZXJuIGludCBnaXRfcGFyc2VfdWxvbmcoY29uc3QgY2hhciAqLCB1bnNpZ25lZCBsb25nICopOwogZXh0ZXJuIGludCBnaXRfY29uZmlnX2ludChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CitleHRlcm4gaW50NjRfdCBnaXRfY29uZmlnX2ludDY0KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIGdpdF9jb25maWdfdWxvbmcoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOwogZXh0ZXJuIGludCBnaXRfY29uZmlnX2Jvb2xfb3JfaW50KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBpbnQgKik7CiBleHRlcm4gaW50IGdpdF9jb25maWdfYm9vbChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CkBAIC0xMzA0LDYgKzEyNjgsOCBAQAogZXh0ZXJuIHZvaWQgdHJhY2VfYXJndl9wcmludGYoY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKIGV4dGVybiB2b2lkIHRyYWNlX3JlcG9fc2V0dXAoY29uc3QgY2hhciAqcHJlZml4KTsKIGV4dGVybiBpbnQgdHJhY2Vfd2FudChjb25zdCBjaGFyICprZXkpOworX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSkKK2V4dGVybiB2b2lkIHRyYWNlX3ByaW50Zl9rZXkoY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICpmbXQsIC4uLik7CiBleHRlcm4gdm9pZCB0cmFjZV9zdHJidWYoY29uc3QgY2hhciAqa2V5LCBjb25zdCBzdHJ1Y3Qgc3RyYnVmICpidWYpOwogCiB2b2lkIHBhY2tldF90cmFjZV9pZGVudGl0eShjb25zdCBjaGFyICpwcm9nKTsKQEAgLTEzMTMsNyArMTI3OSw3IEBACiAgKiByZXR1cm4gMCBpZiBzdWNjZXNzLCAxIC0gaWYgYWRkaXRpb24gb2YgYSBmaWxlIGZhaWxlZCBhbmQKICAqIEFERF9GSUxFU19JR05PUkVfRVJST1JTIHdhcyBzcGVjaWZpZWQgaW4gZmxhZ3MKICAqLwotaW50IGFkZF9maWxlc190b19jYWNoZShjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKipwYXRoc3BlYywgaW50IGZsYWdzKTsKK2ludCBhZGRfZmlsZXNfdG9fY2FjaGUoY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLCBpbnQgZmxhZ3MpOwogCiAvKiBkaWZmLmMgKi8KIGV4dGVybiBpbnQgZGlmZl9hdXRvX3JlZnJlc2hfaW5kZXg7CkBAIC0xMzQ3LDcgKzEzMTMsNyBAQAogI2RlZmluZSB3c190YWJfd2lkdGgocnVsZSkgICAgICgocnVsZSkgJiBXU19UQUJfV0lEVEhfTUFTSykKIAogLyogbHMtZmlsZXMgKi8KLWludCByZXBvcnRfcGF0aF9lcnJvcihjb25zdCBjaGFyICpwc19tYXRjaGVkLCBjb25zdCBjaGFyICoqcGF0aHNwZWMsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgcmVwb3J0X3BhdGhfZXJyb3IoY29uc3QgY2hhciAqcHNfbWF0Y2hlZCwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywgY29uc3QgY2hhciAqcHJlZml4KTsKIHZvaWQgb3ZlcmxheV90cmVlX29uX2NhY2hlKGNvbnN0IGNoYXIgKnRyZWVfbmFtZSwgY29uc3QgY2hhciAqcHJlZml4KTsKIAogY2hhciAqYWxpYXNfbG9va3VwKGNvbnN0IGNoYXIgKmFsaWFzKTsKZGlmZiAtLWdpdCBhL2NvbWJpbmUtZGlmZi5jIGIvY29tYmluZS1kaWZmLmMKaW5kZXggNGZjMTZhZC4uM2I5MmM0NDggMTAwNjQ0Ci0tLSBhL2NvbWJpbmUtZGlmZi5jCisrKyBiL2NvbWJpbmUtZGlmZi5jCkBAIC0xMzA2LDcgKzEzMDYsNyBAQAogCWludCBpLCBudW1fcGF0aHMsIG5lZWRzZXAsIHNob3dfbG9nX2ZpcnN0LCBudW1fcGFyZW50ID0gcGFyZW50cy0+bnI7CiAKIAlkaWZmb3B0cyA9ICpvcHQ7Ci0JZGlmZl90cmVlX3NldHVwX3BhdGhzKGRpZmZvcHRzLnBhdGhzcGVjLnJhdywgJmRpZmZvcHRzKTsKKwljb3B5X3BhdGhzcGVjKCZkaWZmb3B0cy5wYXRoc3BlYywgJm9wdC0+cGF0aHNwZWMpOwogCWRpZmZvcHRzLm91dHB1dF9mb3JtYXQgPSBESUZGX0ZPUk1BVF9OT19PVVRQVVQ7CiAJRElGRl9PUFRfU0VUKCZkaWZmb3B0cywgUkVDVVJTSVZFKTsKIAlESUZGX09QVF9DTFIoJmRpZmZvcHRzLCBBTExPV19FWFRFUk5BTCk7CkBAIC0xMzc4LDcgKzEzNzgsNyBAQAogCQlmcmVlKHRtcCk7CiAJfQogCi0JZGlmZl90cmVlX3JlbGVhc2VfcGF0aHMoJmRpZmZvcHRzKTsKKwlmcmVlX3BhdGhzcGVjKCZkaWZmb3B0cy5wYXRoc3BlYyk7CiB9CiAKIHZvaWQgZGlmZl90cmVlX2NvbWJpbmVkX21lcmdlKGNvbnN0IHN0cnVjdCBjb21taXQgKmNvbW1pdCwgaW50IGRlbnNlLApkaWZmIC0tZ2l0IGEvY29tbWFuZC1saXN0LnR4dCBiL2NvbW1hbmQtbGlzdC50eHQKaW5kZXggMDhiMDRlMi4uY2YzNmMzZCAxMDA2NDQKLS0tIGEvY29tbWFuZC1saXN0LnR4dAorKysgYi9jb21tYW5kLWxpc3QudHh0CkBAIC02NCw3ICs2NCw2IEBACiBnaXQtaW5zdGF3ZWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5jaWxsYXJ5aW50ZXJyb2dhdG9ycwogZ2l0ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW5wb3JjZWxhaW4KIGdpdC1sb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWlucG9yY2VsYWluIGNvbW1vbgotZ2l0LWxvc3QtZm91bmQgICAgICAgICAgICAgICAgICAgICAgICAgIGFuY2lsbGFyeW1hbmlwdWxhdG9ycwlkZXByZWNhdGVkCiBnaXQtbHMtZmlsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGx1bWJpbmdpbnRlcnJvZ2F0b3JzCiBnaXQtbHMtcmVtb3RlICAgICAgICAgICAgICAgICAgICAgICAgICAgcGx1bWJpbmdpbnRlcnJvZ2F0b3JzCiBnaXQtbHMtdHJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGx1bWJpbmdpbnRlcnJvZ2F0b3JzCkBAIC04OCw3ICs4Nyw2IEBACiBnaXQtcGFjay1yZWZzICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5jaWxsYXJ5bWFuaXB1bGF0b3JzCiBnaXQtcGFyc2UtcmVtb3RlICAgICAgICAgICAgICAgICAgICAgICAgc3luY2hlbHBlcnMKIGdpdC1wYXRjaC1pZCAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXJlaGVscGVycwotZ2l0LXBlZWstcmVtb3RlICAgICAgICAgICAgICAgICAgICAgICAgIHB1cmVoZWxwZXJzCWRlcHJlY2F0ZWQKIGdpdC1wcnVuZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmNpbGxhcnltYW5pcHVsYXRvcnMKIGdpdC1wcnVuZS1wYWNrZWQgICAgICAgICAgICAgICAgICAgICAgICBwbHVtYmluZ21hbmlwdWxhdG9ycwogZ2l0LXB1bGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW5wb3JjZWxhaW4gY29tbW9uCkBAIC0xMDIsNyArMTAwLDYgQEAKIGdpdC1yZW1vdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmNpbGxhcnltYW5pcHVsYXRvcnMKIGdpdC1yZXBhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmNpbGxhcnltYW5pcHVsYXRvcnMKIGdpdC1yZXBsYWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmNpbGxhcnltYW5pcHVsYXRvcnMKLWdpdC1yZXBvLWNvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICBhbmNpbGxhcnltYW5pcHVsYXRvcnMJZGVwcmVjYXRlZAogZ2l0LXJlcXVlc3QtcHVsbCAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVpZ25zY21pbnRlcmZhY2UKIGdpdC1yZXJlcmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmNpbGxhcnlpbnRlcnJvZ2F0b3JzCiBnaXQtcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbnBvcmNlbGFpbiBjb21tb24KQEAgLTEyNyw3ICsxMjQsNiBAQAogZ2l0LXN2biAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVpZ25zY21pbnRlcmZhY2UKIGdpdC1zeW1ib2xpYy1yZWYgICAgICAgICAgICAgICAgICAgICAgICBwbHVtYmluZ21hbmlwdWxhdG9ycwogZ2l0LXRhZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW5wb3JjZWxhaW4gY29tbW9uCi1naXQtdGFyLXRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGx1bWJpbmdpbnRlcnJvZ2F0b3JzCWRlcHJlY2F0ZWQKIGdpdC11bnBhY2stZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICBwbHVtYmluZ2ludGVycm9nYXRvcnMKIGdpdC11bnBhY2stb2JqZWN0cyAgICAgICAgICAgICAgICAgICAgICBwbHVtYmluZ21hbmlwdWxhdG9ycwogZ2l0LXVwZGF0ZS1pbmRleCAgICAgICAgICAgICAgICAgICAgICAgIHBsdW1iaW5nbWFuaXB1bGF0b3JzCmRpZmYgLS1naXQgYS9jb21taXQtc2xhYi5oIGIvY29tbWl0LXNsYWIuaAppbmRleCBkNGM4Mjg2Li5jYzExNGI1IDEwMDY0NAotLS0gYS9jb21taXQtc2xhYi5oCisrKyBiL2NvbW1pdC1zbGFiLmgKQEAgLTIyLDggKzIyLDE3IEBACiAgKgogICogICBJbml0aWFsaXplcyB0aGUgaW5kZWdyZWUgc2xhYiB0aGF0IGFzc29jaWF0ZXMgYW4gYXJyYXkgb2YgaW50ZWdlcnMKICAqICAgdG8gZWFjaCBjb21taXQuICdzdHJpZGUnIHNwZWNpZmllcyBob3cgYmlnIGVhY2ggYXJyYXkgaXMuICBUaGUgc2xhYgotICogICB0aGF0IGlkIGluaXRpYWxpZWQgYnkgdGhlIHZhcmlhbnQgd2l0aG91dCAiX3dpdGhfc3RyaWRlIiBhc3NvY2lhdGVzCisgKiAgIHRoYXQgaXMgaW5pdGlhbGl6ZWQgYnkgdGhlIHZhcmlhbnQgd2l0aG91dCAiX3dpdGhfc3RyaWRlIiBhc3NvY2lhdGVzCiAgKiAgIGVhY2ggY29tbWl0IHdpdGggYW4gYXJyYXkgb2Ygb25lIGludGVnZXIuCisgKgorICogLSB2b2lkIGNsZWFyX2luZGVncmVlKHN0cnVjdCBpbmRlZ3JlZSAqKTsKKyAqCisgKiAgIEVtcHRpZXMgdGhlIHNsYWIuICBUaGUgc2xhYiBjYW4gYmUgcmV1c2VkIHdpdGggdGhlIHNhbWUgc3RyaWRlCisgKiAgIHdpdGhvdXQgY2FsbGluZyBpbml0X2luZGVncmVlKCkgYWdhaW4gb3IgY2FuIGJlIHJlY29uZmlndXJlZCB0byBhCisgKiAgIGRpZmZlcmVudCBzdHJpZGUgYnkgY2FsbGluZyBpbml0X2luZGVncmVlX3dpdGhfc3RyaWRlKCkuCisgKgorICogICBDYWxsIHRoaXMgZnVuY3Rpb24gYmVmb3JlIHRoZSBzbGFiIGZhbGxzIG91dCBvZiBzY29wZSB0byBhdm9pZAorICogICBsZWFraW5nIG1lbW9yeS4KICAqLwogCiAvKiBhbGxvY2F0ZSB+NTEya0IgYXQgb25jZSwgYWxsb3dpbmcgZm9yIG1hbGxvYyBvdmVyaGVhZCAqLwpAQCAtMzEsNiArNDAsOCBAQAogI2RlZmluZSBDT01NSVRfU0xBQl9TSVpFICg1MTIqMTAyNC0zMikKICNlbmRpZgogCisjZGVmaW5lIE1BWUJFX1VOVVNFRCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkKKwogI2RlZmluZSBkZWZpbmVfY29tbWl0X3NsYWIoc2xhYm5hbWUsIGVsZW10eXBlKSAJCQkJXAogCQkJCQkJCQkJXAogc3RydWN0IHNsYWJuYW1lIHsJCQkJCQkJXApAQCAtNDEsOCArNTIsOCBAQAogfTsJCQkJCQkJCQlcCiBzdGF0aWMgaW50IHN0YXRfICMjc2xhYm5hbWUjIyByZWFsbG9jOwkJCQkJXAogCQkJCQkJCQkJXAotc3RhdGljIHZvaWQgaW5pdF8gIyNzbGFibmFtZSMjIF93aXRoX3N0cmlkZShzdHJ1Y3Qgc2xhYm5hbWUgKnMsCQlcCi0JCQkJCSAgICB1bnNpZ25lZCBzdHJpZGUpCQlcCitzdGF0aWMgTUFZQkVfVU5VU0VEIHZvaWQgaW5pdF8gIyNzbGFibmFtZSMjIF93aXRoX3N0cmlkZShzdHJ1Y3Qgc2xhYm5hbWUgKnMsIFwKKwkJCQkJCSAgIHVuc2lnbmVkIHN0cmlkZSkJXAogewkJCQkJCQkJCVwKIAl1bnNpZ25lZCBpbnQgZWxlbV9zaXplOwkJCQkJCVwKIAlpZiAoIXN0cmlkZSkJCQkJCQkJXApAQCAtNTQsMTIgKzY1LDEyIEBACiAJcy0+c2xhYiA9IE5VTEw7CQkJCQkJCVwKIH0JCQkJCQkJCQlcCiAJCQkJCQkJCQlcCi1zdGF0aWMgdm9pZCBpbml0XyAjI3NsYWJuYW1lKHN0cnVjdCBzbGFibmFtZSAqcykJCQlcCitzdGF0aWMgTUFZQkVfVU5VU0VEIHZvaWQgaW5pdF8gIyNzbGFibmFtZShzdHJ1Y3Qgc2xhYm5hbWUgKnMpCQlcCiB7CQkJCQkJCQkJXAogCWluaXRfICMjc2xhYm5hbWUjIyBfd2l0aF9zdHJpZGUocywgMSk7CQkJCVwKIH0JCQkJCQkJCQlcCiAJCQkJCQkJCQlcCi1zdGF0aWMgdm9pZCBjbGVhcl8gIyNzbGFibmFtZShzdHJ1Y3Qgc2xhYm5hbWUgKnMpCQkJXAorc3RhdGljIE1BWUJFX1VOVVNFRCB2b2lkIGNsZWFyXyAjI3NsYWJuYW1lKHN0cnVjdCBzbGFibmFtZSAqcykJCVwKIHsJCQkJCQkJCQlcCiAJaW50IGk7CQkJCQkJCQlcCiAJZm9yIChpID0gMDsgaSA8IHMtPnNsYWJfY291bnQ7IGkrKykJCQkJXApAQCAtNjksOCArODAsOCBAQAogCXMtPnNsYWIgPSBOVUxMOwkJCQkJCQlcCiB9CQkJCQkJCQkJXAogCQkJCQkJCQkJXAotc3RhdGljIGVsZW10eXBlICpzbGFibmFtZSMjIF9hdChzdHJ1Y3Qgc2xhYm5hbWUgKnMsCQkJXAotCQkJCWNvbnN0IHN0cnVjdCBjb21taXQgKmMpCQkJXAorc3RhdGljIE1BWUJFX1VOVVNFRCBlbGVtdHlwZSAqc2xhYm5hbWUjIyBfYXQoc3RydWN0IHNsYWJuYW1lICpzLAlcCisJCQkJICAgICAgIGNvbnN0IHN0cnVjdCBjb21taXQgKmMpCQlcCiB7CQkJCQkJCQkJXAogCWludCBudGhfc2xhYiwgbnRoX3Nsb3Q7CQkJCQkJXAogCQkJCQkJCQkJXApAQCAtODAsNyArOTEsNyBAQAogCWlmIChzLT5zbGFiX2NvdW50IDw9IG50aF9zbGFiKSB7CQkJCVwKIAkJaW50IGk7CQkJCQkJCVwKIAkJcy0+c2xhYiA9IHhyZWFsbG9jKHMtPnNsYWIsCQkJCVwKLQkJCQkgICAobnRoX3NsYWIgKyAxKSAqIHNpemVvZihzLT5zbGFiKSk7CVwKKwkJCQkgICAobnRoX3NsYWIgKyAxKSAqIHNpemVvZigqcy0+c2xhYikpOwlcCiAJCXN0YXRfICMjc2xhYm5hbWUjIyByZWFsbG9jKys7CQkJCVwKIAkJZm9yIChpID0gcy0+c2xhYl9jb3VudDsgaSA8PSBudGhfc2xhYjsgaSsrKQkJXAogCQkJcy0+c2xhYltpXSA9IE5VTEw7CQkJCVwKQEAgLTk0LDQgKzEwNSwxNiBAQAogCQkJCQkJCQkJXAogc3RhdGljIGludCBzdGF0XyAjI3NsYWJuYW1lIyMgcmVhbGxvYwogCisvKgorICogTm90ZSB0aGF0IHRoaXMgc2VlbWluZ2x5IHJlZHVuZGFudCBzZWNvbmQgZGVjbGFyYXRpb24gaXMgcmVxdWlyZWQKKyAqIHRvIGFsbG93IGEgdGVybWluYXRpbmcgc2VtaWNvbG9uLCB3aGljaCBtYWtlcyBpbnN0YW50aWF0aW9ucyBsb29rCisgKiBsaWtlIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucy4gIEkuZS4sIHRoZSBleHBhbnNpb24gb2YKKyAqCisgKiAgICBkZWZpbmVfY29tbWl0X3NsYWIoaW5kZWdyZWUsIGludCk7CisgKgorICogZW5kcyBpbiAnc3RhdGljIGludCBzdGF0X2luZGVncmVlcmVhbGxvYzsnLiAgVGhpcyB3b3VsZCBvdGhlcndpc2UKKyAqIGJlIGEgc3ludGF4IGVycm9yIGFjY29yZGluZyAoYXQgbGVhc3QpIHRvIElTTyBDLiAgSXQncyBoYXJkIHRvCisgKiBjYXRjaCBiZWNhdXNlIEdDQyBzaWxlbnRseSBwYXJzZXMgaXQgYnkgZGVmYXVsdC4KKyAqLworCiAjZW5kaWYgLyogQ09NTUlUX1NMQUJfSCAqLwpkaWZmIC0tZ2l0IGEvY29tbWl0LmMgYi9jb21taXQuYwppbmRleCBkZTE2YTNjLi42YmY0ZmUwIDEwMDY0NAotLS0gYS9jb21taXQuYworKysgYi9jb21taXQuYwpAQCAtNzksNyArNzksNyBAQAogCWlmIChnZXRfc2hhMV9jb21taXR0aXNoKG5hbWUsIHNoYTEpKQogCQlyZXR1cm4gTlVMTDsKIAljb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShzaGExKTsKLQlpZiAoIWNvbW1pdCB8fCBwYXJzZV9jb21taXQoY29tbWl0KSkKKwlpZiAocGFyc2VfY29tbWl0KGNvbW1pdCkpCiAJCXJldHVybiBOVUxMOwogCXJldHVybiBjb21taXQ7CiB9CkBAIC0xOTYsMTkgKzE5NiwxOSBAQAogc3RhdGljIGludCByZWFkX2dyYWZ0X2ZpbGUoY29uc3QgY2hhciAqZ3JhZnRfZmlsZSkKIHsKIAlGSUxFICpmcCA9IGZvcGVuKGdyYWZ0X2ZpbGUsICJyIik7Ci0JY2hhciBidWZbMTAyNF07CisJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAlpZiAoIWZwKQogCQlyZXR1cm4gLTE7Ci0Jd2hpbGUgKGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGZwKSkgeworCXdoaWxlICghc3RyYnVmX2dldHdob2xlbGluZSgmYnVmLCBmcCwgJ1xuJykpIHsKIAkJLyogVGhlIGZvcm1hdCBpcyBqdXN0ICJDb21taXQgUGFyZW50MSBQYXJlbnQyIC4uLlxuIiAqLwotCQlpbnQgbGVuID0gc3RybGVuKGJ1Zik7Ci0JCXN0cnVjdCBjb21taXRfZ3JhZnQgKmdyYWZ0ID0gcmVhZF9ncmFmdF9saW5lKGJ1ZiwgbGVuKTsKKwkJc3RydWN0IGNvbW1pdF9ncmFmdCAqZ3JhZnQgPSByZWFkX2dyYWZ0X2xpbmUoYnVmLmJ1ZiwgYnVmLmxlbik7CiAJCWlmICghZ3JhZnQpCiAJCQljb250aW51ZTsKIAkJaWYgKHJlZ2lzdGVyX2NvbW1pdF9ncmFmdChncmFmdCwgMSkpCi0JCQllcnJvcigiZHVwbGljYXRlIGdyYWZ0IGRhdGE6ICVzIiwgYnVmKTsKKwkJCWVycm9yKCJkdXBsaWNhdGUgZ3JhZnQgZGF0YTogJXMiLCBidWYuYnVmKTsKIAl9CiAJZmNsb3NlKGZwKTsKKwlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMzQxLDYgKzM0MSwxMyBAQAogCXJldHVybiByZXQ7CiB9CiAKK3ZvaWQgcGFyc2VfY29tbWl0X29yX2RpZShzdHJ1Y3QgY29tbWl0ICppdGVtKQoreworCWlmIChwYXJzZV9jb21taXQoaXRlbSkpCisJCWRpZSgidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIsCisJCSAgICBpdGVtID8gc2hhMV90b19oZXgoaXRlbS0+b2JqZWN0LnNoYTEpIDogIihudWxsKSIpOworfQorCiBpbnQgZmluZF9jb21taXRfc3ViamVjdChjb25zdCBjaGFyICpjb21taXRfYnVmZmVyLCBjb25zdCBjaGFyICoqc3ViamVjdCkKIHsKIAljb25zdCBjaGFyICplb2w7CkBAIC01NTksNyArNTY2LDcgQEAKIAkgICAgIGJ1ZjsKIAkgICAgIGJ1ZiA9IGxpbmVfZW5kICsgMSkgewogCQlsaW5lX2VuZCA9IHN0cmNocm51bChidWYsICdcbicpOwotCQlpZiAocHJlZml4Y21wKGJ1ZiwgImF1dGhvciAiKSkgeworCQlpZiAoIXN0YXJ0c193aXRoKGJ1ZiwgImF1dGhvciAiKSkgewogCQkJaWYgKCFsaW5lX2VuZFswXSB8fCBsaW5lX2VuZFsxXSA9PSAnXG4nKQogCQkJCXJldHVybjsgLyogZW5kIG9mIGhlYWRlciAqLwogCQkJY29udGludWU7CkBAIC04MzQsMjYgKzg0MSwyNiBAQAogc3RydWN0IGNvbW1pdF9saXN0ICpnZXRfb2N0b3B1c19tZXJnZV9iYXNlcyhzdHJ1Y3QgY29tbWl0X2xpc3QgKmluKQogewogCXN0cnVjdCBjb21taXRfbGlzdCAqaSwgKmosICprLCAqcmV0ID0gTlVMTDsKLQlzdHJ1Y3QgY29tbWl0X2xpc3QgKipwcHRyID0gJnJldDsKIAotCWZvciAoaSA9IGluOyBpOyBpID0gaS0+bmV4dCkgewotCQlpZiAoIXJldCkKLQkJCXBwdHIgPSAmY29tbWl0X2xpc3RfaW5zZXJ0KGktPml0ZW0sIHBwdHIpLT5uZXh0OwotCQllbHNlIHsKLQkJCXN0cnVjdCBjb21taXRfbGlzdCAqbmV3ID0gTlVMTCwgKmVuZCA9IE5VTEw7CisJaWYgKCFpbikKKwkJcmV0dXJuIHJldDsKIAotCQkJZm9yIChqID0gcmV0OyBqOyBqID0gai0+bmV4dCkgewotCQkJCXN0cnVjdCBjb21taXRfbGlzdCAqYmFzZXM7Ci0JCQkJYmFzZXMgPSBnZXRfbWVyZ2VfYmFzZXMoaS0+aXRlbSwgai0+aXRlbSwgMSk7Ci0JCQkJaWYgKCFuZXcpCi0JCQkJCW5ldyA9IGJhc2VzOwotCQkJCWVsc2UKLQkJCQkJZW5kLT5uZXh0ID0gYmFzZXM7Ci0JCQkJZm9yIChrID0gYmFzZXM7IGs7IGsgPSBrLT5uZXh0KQotCQkJCQllbmQgPSBrOwotCQkJfQotCQkJcmV0ID0gbmV3OworCWNvbW1pdF9saXN0X2luc2VydChpbi0+aXRlbSwgJnJldCk7CisKKwlmb3IgKGkgPSBpbi0+bmV4dDsgaTsgaSA9IGktPm5leHQpIHsKKwkJc3RydWN0IGNvbW1pdF9saXN0ICpuZXcgPSBOVUxMLCAqZW5kID0gTlVMTDsKKworCQlmb3IgKGogPSByZXQ7IGo7IGogPSBqLT5uZXh0KSB7CisJCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKmJhc2VzOworCQkJYmFzZXMgPSBnZXRfbWVyZ2VfYmFzZXMoaS0+aXRlbSwgai0+aXRlbSwgMSk7CisJCQlpZiAoIW5ldykKKwkJCQluZXcgPSBiYXNlczsKKwkJCWVsc2UKKwkJCQllbmQtPm5leHQgPSBiYXNlczsKKwkJCWZvciAoayA9IGJhc2VzOyBrOyBrID0gay0+bmV4dCkKKwkJCQllbmQgPSBrOwogCQl9CisJCXJldCA9IG5ldzsKIAl9CiAJcmV0dXJuIHJldDsKIH0KQEAgLTExMDYsNyArMTExMyw3IEBACiAJCW5leHQgPSBuZXh0ID8gbmV4dCArIDEgOiB0YWlsOwogCQlpZiAoaW5fc2lnbmF0dXJlICYmIGxpbmVbMF0gPT0gJyAnKQogCQkJc2lnID0gbGluZSArIDE7Ci0JCWVsc2UgaWYgKCFwcmVmaXhjbXAobGluZSwgZ3BnX3NpZ19oZWFkZXIpICYmCisJCWVsc2UgaWYgKHN0YXJ0c193aXRoKGxpbmUsIGdwZ19zaWdfaGVhZGVyKSAmJgogCQkJIGxpbmVbZ3BnX3NpZ19oZWFkZXJfbGVuXSA9PSAnICcpCiAJCQlzaWcgPSBsaW5lICsgZ3BnX3NpZ19oZWFkZXJfbGVuICsgMTsKIAkJaWYgKHNpZykgewpAQCAtMTE4Niw3ICsxMTkzLDcgQEAKIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzaWdjaGVja19ncGdfc3RhdHVzKTsgaSsrKSB7CiAJCWNvbnN0IGNoYXIgKmZvdW5kLCAqbmV4dDsKIAotCQlpZiAoIXByZWZpeGNtcChidWYsIHNpZ2NoZWNrX2dwZ19zdGF0dXNbaV0uY2hlY2sgKyAxKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoYnVmLCBzaWdjaGVja19ncGdfc3RhdHVzW2ldLmNoZWNrICsgMSkpIHsKIAkJCS8qIEF0IHRoZSB2ZXJ5IGJlZ2lubmluZyBvZiB0aGUgYnVmZmVyICovCiAJCQlmb3VuZCA9IGJ1ZiArIHN0cmxlbihzaWdjaGVja19ncGdfc3RhdHVzW2ldLmNoZWNrICsgMSk7CiAJCX0gZWxzZSB7CkBAIC0xMzQ5LDcgKzEzNTYsNyBAQAogCX0KIH0KIAotaW50IGNvbW1pdF90cmVlKGNvbnN0IHN0cnVjdCBzdHJidWYgKm1zZywgdW5zaWduZWQgY2hhciAqdHJlZSwKK2ludCBjb21taXRfdHJlZShjb25zdCBzdHJ1Y3Qgc3RyYnVmICptc2csIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnRyZWUsCiAJCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50cywgdW5zaWduZWQgY2hhciAqcmV0LAogCQljb25zdCBjaGFyICphdXRob3IsIGNvbnN0IGNoYXIgKnNpZ25fY29tbWl0KQogewpAQCAtMTQ3OCw3ICsxNDg1LDcgQEAKICJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgogInZhcmlhYmxlIGkxOG4uY29tbWl0ZW5jb2RpbmcgdG8gdGhlIGVuY29kaW5nIHlvdXIgcHJvamVjdCB1c2VzLlxuIjsKIAotaW50IGNvbW1pdF90cmVlX2V4dGVuZGVkKGNvbnN0IHN0cnVjdCBzdHJidWYgKm1zZywgdW5zaWduZWQgY2hhciAqdHJlZSwKK2ludCBjb21taXRfdHJlZV9leHRlbmRlZChjb25zdCBzdHJ1Y3Qgc3RyYnVmICptc2csIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnRyZWUsCiAJCQkgc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzLCB1bnNpZ25lZCBjaGFyICpyZXQsCiAJCQkgY29uc3QgY2hhciAqYXV0aG9yLCBjb25zdCBjaGFyICpzaWduX2NvbW1pdCwKIAkJCSBzdHJ1Y3QgY29tbWl0X2V4dHJhX2hlYWRlciAqZXh0cmEpCmRpZmYgLS1naXQgYS9jb21taXQuaCBiL2NvbW1pdC5oCmluZGV4IGMzMDg2NzQuLjE2ZDljNDMgMTAwNjQ0Ci0tLSBhL2NvbW1pdC5oCisrKyBiL2NvbW1pdC5oCkBAIC00OSw2ICs0OSw3IEBACiAKIGludCBwYXJzZV9jb21taXRfYnVmZmVyKHN0cnVjdCBjb21taXQgKml0ZW0sIGNvbnN0IHZvaWQgKmJ1ZmZlciwgdW5zaWduZWQgbG9uZyBzaXplKTsKIGludCBwYXJzZV9jb21taXQoc3RydWN0IGNvbW1pdCAqaXRlbSk7Cit2b2lkIHBhcnNlX2NvbW1pdF9vcl9kaWUoc3RydWN0IGNvbW1pdCAqaXRlbSk7CiAKIC8qIEZpbmQgYmVnaW5uaW5nIGFuZCBsZW5ndGggb2YgY29tbWl0IHN1YmplY3QuICovCiBpbnQgZmluZF9jb21taXRfc3ViamVjdChjb25zdCBjaGFyICpjb21taXRfYnVmZmVyLCBjb25zdCBjaGFyICoqc3ViamVjdCk7CkBAIC0xOTMsNiArMTk0LDggQEAKIC8qIGxhcmdlc3QgcG9zaXRpdmUgbnVtYmVyIGEgc2lnbmVkIDMyLWJpdCBpbnRlZ2VyIGNhbiBjb250YWluICovCiAjZGVmaW5lIElORklOSVRFX0RFUFRIIDB4N2ZmZmZmZmYKIAorc3RydWN0IHNoYTFfYXJyYXk7CitzdHJ1Y3QgcmVmOwogZXh0ZXJuIGludCByZWdpc3Rlcl9zaGFsbG93KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOwogZXh0ZXJuIGludCB1bnJlZ2lzdGVyX3NoYWxsb3coY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7CiBleHRlcm4gaW50IGZvcl9lYWNoX2NvbW1pdF9ncmFmdChlYWNoX2NvbW1pdF9ncmFmdF9mbiwgdm9pZCAqKTsKQEAgLTIwMCwxMSArMjAzLDM4IEBACiBleHRlcm4gc3RydWN0IGNvbW1pdF9saXN0ICpnZXRfc2hhbGxvd19jb21taXRzKHN0cnVjdCBvYmplY3RfYXJyYXkgKmhlYWRzLAogCQlpbnQgZGVwdGgsIGludCBzaGFsbG93X2ZsYWcsIGludCBub3Rfc2hhbGxvd19mbGFnKTsKIGV4dGVybiB2b2lkIGNoZWNrX3NoYWxsb3dfZmlsZV9mb3JfdXBkYXRlKHZvaWQpOwotZXh0ZXJuIHZvaWQgc2V0X2FsdGVybmF0ZV9zaGFsbG93X2ZpbGUoY29uc3QgY2hhciAqcGF0aCk7Ci1leHRlcm4gaW50IHdyaXRlX3NoYWxsb3dfY29tbWl0cyhzdHJ1Y3Qgc3RyYnVmICpvdXQsIGludCB1c2VfcGFja19wcm90b2NvbCk7CitleHRlcm4gdm9pZCBzZXRfYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZShjb25zdCBjaGFyICpwYXRoLCBpbnQgb3ZlcnJpZGUpOworZXh0ZXJuIGludCB3cml0ZV9zaGFsbG93X2NvbW1pdHMoc3RydWN0IHN0cmJ1ZiAqb3V0LCBpbnQgdXNlX3BhY2tfcHJvdG9jb2wsCisJCQkJIGNvbnN0IHN0cnVjdCBzaGExX2FycmF5ICpleHRyYSk7CiBleHRlcm4gdm9pZCBzZXR1cF9hbHRlcm5hdGVfc2hhbGxvdyhzdHJ1Y3QgbG9ja19maWxlICpzaGFsbG93X2xvY2ssCi0JCQkJICAgIGNvbnN0IGNoYXIgKiphbHRlcm5hdGVfc2hhbGxvd19maWxlKTsKLWV4dGVybiBjaGFyICpzZXR1cF90ZW1wb3Jhcnlfc2hhbGxvdyh2b2lkKTsKKwkJCQkgICAgY29uc3QgY2hhciAqKmFsdGVybmF0ZV9zaGFsbG93X2ZpbGUsCisJCQkJICAgIGNvbnN0IHN0cnVjdCBzaGExX2FycmF5ICpleHRyYSk7CitleHRlcm4gY2hhciAqc2V0dXBfdGVtcG9yYXJ5X3NoYWxsb3coY29uc3Qgc3RydWN0IHNoYTFfYXJyYXkgKmV4dHJhKTsKK2V4dGVybiB2b2lkIGFkdmVydGlzZV9zaGFsbG93X2dyYWZ0cyhpbnQpOworCitzdHJ1Y3Qgc2hhbGxvd19pbmZvIHsKKwlzdHJ1Y3Qgc2hhMV9hcnJheSAqc2hhbGxvdzsKKwlpbnQgKm91cnMsIG5yX291cnM7CisJaW50ICp0aGVpcnMsIG5yX3RoZWlyczsKKwlzdHJ1Y3Qgc2hhMV9hcnJheSAqcmVmOworCisJLyogZm9yIHJlY2VpdmUtcGFjayAqLworCXVpbnQzMl90ICoqdXNlZF9zaGFsbG93OworCWludCAqbmVlZF9yZWFjaGFiaWxpdHlfdGVzdDsKKwlpbnQgKnJlYWNoYWJsZTsKKwlpbnQgKnNoYWxsb3dfcmVmOworCXN0cnVjdCBjb21taXQgKipjb21taXRzOworCWludCBucl9jb21taXRzOworfTsKKworZXh0ZXJuIHZvaWQgcHJlcGFyZV9zaGFsbG93X2luZm8oc3RydWN0IHNoYWxsb3dfaW5mbyAqLCBzdHJ1Y3Qgc2hhMV9hcnJheSAqKTsKK2V4dGVybiB2b2lkIGNsZWFyX3NoYWxsb3dfaW5mbyhzdHJ1Y3Qgc2hhbGxvd19pbmZvICopOworZXh0ZXJuIHZvaWQgcmVtb3ZlX25vbmV4aXN0ZW50X3RoZWlyc19zaGFsbG93KHN0cnVjdCBzaGFsbG93X2luZm8gKik7CitleHRlcm4gdm9pZCBhc3NpZ25fc2hhbGxvd19jb21taXRzX3RvX3JlZnMoc3RydWN0IHNoYWxsb3dfaW5mbyAqaW5mbywKKwkJCQkJICAgdWludDMyX3QgKip1c2VkLAorCQkJCQkgICBpbnQgKnJlZl9zdGF0dXMpOworZXh0ZXJuIGludCBkZWxheWVkX3JlYWNoYWJpbGl0eV90ZXN0KHN0cnVjdCBzaGFsbG93X2luZm8gKnNpLCBpbnQgYyk7CitleHRlcm4gdm9pZCBwcnVuZV9zaGFsbG93KGludCBzaG93X29ubHkpOwogCiBpbnQgaXNfZGVzY2VuZGFudF9vZihzdHJ1Y3QgY29tbWl0ICosIHN0cnVjdCBjb21taXRfbGlzdCAqKTsKIGludCBpbl9tZXJnZV9iYXNlcyhzdHJ1Y3QgY29tbWl0ICosIHN0cnVjdCBjb21taXQgKik7CkBAIC0yMTIsNyArMjQyLDcgQEAKIAogZXh0ZXJuIGludCBpbnRlcmFjdGl2ZV9hZGQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgsIGludCBwYXRjaCk7CiBleHRlcm4gaW50IHJ1bl9hZGRfaW50ZXJhY3RpdmUoY29uc3QgY2hhciAqcmV2aXNpb24sIGNvbnN0IGNoYXIgKnBhdGNoX21vZGUsCi0JCQkgICAgICAgY29uc3QgY2hhciAqKnBhdGhzcGVjKTsKKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKTsKIAogc3RhdGljIGlubGluZSBpbnQgc2luZ2xlX3BhcmVudChzdHJ1Y3QgY29tbWl0ICpjb21taXQpCiB7CkBAIC0yMzEsMTEgKzI2MSwxMSBAQAogZXh0ZXJuIHZvaWQgYXBwZW5kX21lcmdlX3RhZ19oZWFkZXJzKHN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50cywKIAkJCQkgICAgIHN0cnVjdCBjb21taXRfZXh0cmFfaGVhZGVyICoqKnRhaWwpOwogCi1leHRlcm4gaW50IGNvbW1pdF90cmVlKGNvbnN0IHN0cnVjdCBzdHJidWYgKm1zZywgdW5zaWduZWQgY2hhciAqdHJlZSwKK2V4dGVybiBpbnQgY29tbWl0X3RyZWUoY29uc3Qgc3RydWN0IHN0cmJ1ZiAqbXNnLCBjb25zdCB1bnNpZ25lZCBjaGFyICp0cmVlLAogCQkgICAgICAgc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzLCB1bnNpZ25lZCBjaGFyICpyZXQsCiAJCSAgICAgICBjb25zdCBjaGFyICphdXRob3IsIGNvbnN0IGNoYXIgKnNpZ25fY29tbWl0KTsKIAotZXh0ZXJuIGludCBjb21taXRfdHJlZV9leHRlbmRlZChjb25zdCBzdHJ1Y3Qgc3RyYnVmICptc2csIHVuc2lnbmVkIGNoYXIgKnRyZWUsCitleHRlcm4gaW50IGNvbW1pdF90cmVlX2V4dGVuZGVkKGNvbnN0IHN0cnVjdCBzdHJidWYgKm1zZywgY29uc3QgdW5zaWduZWQgY2hhciAqdHJlZSwKIAkJCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudHMsIHVuc2lnbmVkIGNoYXIgKnJldCwKIAkJCQljb25zdCBjaGFyICphdXRob3IsIGNvbnN0IGNoYXIgKnNpZ25fY29tbWl0LAogCQkJCXN0cnVjdCBjb21taXRfZXh0cmFfaGVhZGVyICopOwpkaWZmIC0tZ2l0IGEvY29tcGF0L2FwcGxlLWNvbW1vbi1jcnlwdG8uaCBiL2NvbXBhdC9hcHBsZS1jb21tb24tY3J5cHRvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhiOWIwZQotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBhdC9hcHBsZS1jb21tb24tY3J5cHRvLmgKQEAgLTAsMCArMSw4NiBAQAorLyogc3VwcHJlc3MgaW5jbHVzaW9uIG9mIGNvbmZsaWN0aW5nIG9wZW5zc2wgZnVuY3Rpb25zICovCisjZGVmaW5lIE9QRU5TU0xfTk9fTUQ1CisjZGVmaW5lIEhFQURFUl9ITUFDX0gKKyNkZWZpbmUgSEVBREVSX1NIQV9ICisjaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1vbkhNQUMuaD4KKyNkZWZpbmUgSE1BQ19DVFggQ0NIbWFjQ29udGV4dAorI2RlZmluZSBITUFDX0luaXQoaG1hYywga2V5LCBsZW4sIGFsZ28pIENDSG1hY0luaXQoaG1hYywgYWxnbywga2V5LCBsZW4pCisjZGVmaW5lIEhNQUNfVXBkYXRlIENDSG1hY1VwZGF0ZQorI2RlZmluZSBITUFDX0ZpbmFsKGhtYWMsIGhhc2gsIHB0cikgQ0NIbWFjRmluYWwoaG1hYywgaGFzaCkKKyNkZWZpbmUgSE1BQ19DVFhfY2xlYW51cChpZ25vcmUpCisjZGVmaW5lIEVWUF9tZDUoLi4uKSBrQ0NIbWFjQWxnTUQ1CisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDcwCisjZGVmaW5lIEFQUExFX0xJT05fT1JfTkVXRVIKKyNpbmNsdWRlIDxTZWN1cml0eS9TZWN1cml0eS5oPgorLyogQXBwbGUncyBUWVBFX0JPT0wgY29uZmxpY3RzIHdpdGggY29uZmlnLmMgKi8KKyN1bmRlZiBUWVBFX0JPT0wKKyNlbmRpZgorCisjaWZkZWYgQVBQTEVfTElPTl9PUl9ORVdFUgorI2RlZmluZSBnaXRfQ0NfZXJyb3JfY2hlY2socGF0dGVybiwgZXJyKSBcCisJZG8geyBcCisJCWlmIChlcnIpIHsgXAorCQkJZGllKHBhdHRlcm4sIChsb25nKUNGRXJyb3JHZXRDb2RlKGVycikpOyBcCisJCX0gXAorCX0gd2hpbGUoMCkKKworI2RlZmluZSBFVlBfRW5jb2RlQmxvY2sgZ2l0X0NDX0VWUF9FbmNvZGVCbG9jaworc3RhdGljIGlubGluZSBpbnQgZ2l0X0NDX0VWUF9FbmNvZGVCbG9jayh1bnNpZ25lZCBjaGFyICpvdXQsCisJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmluLCBpbnQgaW5sZW4pCit7CisJQ0ZFcnJvclJlZiBlcnI7CisJU2VjVHJhbnNmb3JtUmVmIGVuY29kZXI7CisJQ0ZEYXRhUmVmIGlucHV0LCBvdXRwdXQ7CisJQ0ZJbmRleCBsZW5ndGg7CisKKwllbmNvZGVyID0gU2VjRW5jb2RlVHJhbnNmb3JtQ3JlYXRlKGtTZWNCYXNlNjRFbmNvZGluZywgJmVycik7CisJZ2l0X0NDX2Vycm9yX2NoZWNrKCJTZWNFbmNvZGVUcmFuc2Zvcm1DcmVhdGUgZmFpbGVkOiAlbGQiLCBlcnIpOworCisJaW5wdXQgPSBDRkRhdGFDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgaW4sIGlubGVuKTsKKwlTZWNUcmFuc2Zvcm1TZXRBdHRyaWJ1dGUoZW5jb2Rlciwga1NlY1RyYW5zZm9ybUlucHV0QXR0cmlidXRlTmFtZSwKKwkJCWlucHV0LCAmZXJyKTsKKwlnaXRfQ0NfZXJyb3JfY2hlY2soIlNlY1RyYW5zZm9ybVNldEF0dHJpYnV0ZSBmYWlsZWQ6ICVsZCIsIGVycik7CisKKwlvdXRwdXQgPSBTZWNUcmFuc2Zvcm1FeGVjdXRlKGVuY29kZXIsICZlcnIpOworCWdpdF9DQ19lcnJvcl9jaGVjaygiU2VjVHJhbnNmb3JtRXhlY3V0ZSBmYWlsZWQ6ICVsZCIsIGVycik7CisKKwlsZW5ndGggPSBDRkRhdGFHZXRMZW5ndGgob3V0cHV0KTsKKwlDRkRhdGFHZXRCeXRlcyhvdXRwdXQsIENGUmFuZ2VNYWtlKDAsIGxlbmd0aCksIG91dCk7CisKKwlDRlJlbGVhc2Uob3V0cHV0KTsKKwlDRlJlbGVhc2UoaW5wdXQpOworCUNGUmVsZWFzZShlbmNvZGVyKTsKKworCXJldHVybiAoaW50KXN0cmxlbigoY29uc3QgY2hhciAqKW91dCk7Cit9CisKKyNkZWZpbmUgRVZQX0RlY29kZUJsb2NrIGdpdF9DQ19FVlBfRGVjb2RlQmxvY2sKK3N0YXRpYyBpbnQgaW5saW5lIGdpdF9DQ19FVlBfRGVjb2RlQmxvY2sodW5zaWduZWQgY2hhciAqb3V0LAorCQljb25zdCB1bnNpZ25lZCBjaGFyICppbiwgaW50IGlubGVuKQoreworCUNGRXJyb3JSZWYgZXJyOworCVNlY1RyYW5zZm9ybVJlZiBkZWNvZGVyOworCUNGRGF0YVJlZiBpbnB1dCwgb3V0cHV0OworCUNGSW5kZXggbGVuZ3RoOworCisJZGVjb2RlciA9IFNlY0RlY29kZVRyYW5zZm9ybUNyZWF0ZShrU2VjQmFzZTY0RW5jb2RpbmcsICZlcnIpOworCWdpdF9DQ19lcnJvcl9jaGVjaygiU2VjRW5jb2RlVHJhbnNmb3JtQ3JlYXRlIGZhaWxlZDogJWxkIiwgZXJyKTsKKworCWlucHV0ID0gQ0ZEYXRhQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGluLCBpbmxlbik7CisJU2VjVHJhbnNmb3JtU2V0QXR0cmlidXRlKGRlY29kZXIsIGtTZWNUcmFuc2Zvcm1JbnB1dEF0dHJpYnV0ZU5hbWUsCisJCQlpbnB1dCwgJmVycik7CisJZ2l0X0NDX2Vycm9yX2NoZWNrKCJTZWNUcmFuc2Zvcm1TZXRBdHRyaWJ1dGUgZmFpbGVkOiAlbGQiLCBlcnIpOworCisJb3V0cHV0ID0gU2VjVHJhbnNmb3JtRXhlY3V0ZShkZWNvZGVyLCAmZXJyKTsKKwlnaXRfQ0NfZXJyb3JfY2hlY2soIlNlY1RyYW5zZm9ybUV4ZWN1dGUgZmFpbGVkOiAlbGQiLCBlcnIpOworCisJbGVuZ3RoID0gQ0ZEYXRhR2V0TGVuZ3RoKG91dHB1dCk7CisJQ0ZEYXRhR2V0Qnl0ZXMob3V0cHV0LCBDRlJhbmdlTWFrZSgwLCBsZW5ndGgpLCBvdXQpOworCisJQ0ZSZWxlYXNlKG91dHB1dCk7CisJQ0ZSZWxlYXNlKGlucHV0KTsKKwlDRlJlbGVhc2UoZGVjb2Rlcik7CisKKwlyZXR1cm4gKGludClzdHJsZW4oKGNvbnN0IGNoYXIgKilvdXQpOworfQorI2VuZGlmIC8qIEFQUExFX0xJT05fT1JfTkVXRVIgKi8KZGlmZiAtLWdpdCBhL2NvbXBhdC9taW5ndy5jIGIvY29tcGF0L21pbmd3LmMKaW5kZXggYmI5MmM0My4uZTk4OTJmOCAxMDA2NDQKLS0tIGEvY29tcGF0L21pbmd3LmMKKysrIGIvY29tcGF0L21pbmd3LmMKQEAgLTMwNCwyMyArMzA0LDYgQEAKIAlyZXR1cm4gZmQ7CiB9CiAKLSN1bmRlZiB3cml0ZQotc3NpemVfdCBtaW5nd193cml0ZShpbnQgZmQsIGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGNvdW50KQotewotCS8qCi0JICogV2hpbGUgd3JpdGUoKSBjYWxscyB0byBhIGZpbGUgb24gYSBsb2NhbCBkaXNrIGFyZSB0cmFuc2xhdGVkCi0JICogaW50byBXcml0ZUZpbGUoKSBjYWxscyB3aXRoIGEgbWF4aW11bSBzaXplIG9mIDY0S0Igb24gV2luZG93cwotCSAqIFhQIGFuZCAyNTZLQiBvbiBWaXN0YSwgbm8gc3VjaCBjYXAgaXMgcGxhY2VkIG9uIHdyaXRlcyB0bwotCSAqIGZpbGVzIG92ZXIgdGhlIG5ldHdvcmsgb24gV2luZG93cyBYUC4gIFVuZm9ydHVuYXRlbHksIHRoZXJlCi0JICogc2VlbXMgdG8gYmUgYSBsaW1pdCBvZiAzMk1CLTI4S0Igb24gWDY0IGFuZCA2NE1CLTMyS0Igb24geDg2OwotCSAqIGJpZ2dlciB3cml0ZXMgZmFpbCBvbiBXaW5kb3dzIFhQLgotCSAqIFNvIHdlIGNhcCB0byBhIG5pY2UgMzFNQiBoZXJlIHRvIGF2b2lkIHdyaXRlIGZhaWx1cmVzIG92ZXIKLQkgKiB0aGUgbmV0IHdpdGhvdXQgY2hhbmdpbmcgdGhlIG51bWJlciBvZiBXcml0ZUZpbGUoKSBjYWxscyBpbgotCSAqIHRoZSBsb2NhbCBjYXNlLgotCSAqLwotCXJldHVybiB3cml0ZShmZCwgYnVmLCBtaW4oY291bnQsIDMxICogMTAyNCAqIDEwMjQpKTsKLX0KLQogc3RhdGljIEJPT0wgV0lOQVBJIGN0cmxfaWdub3JlKERXT1JEIHR5cGUpCiB7CiAJcmV0dXJuIFRSVUU7CkBAIC00OTEsNyArNDc0LDYgQEAKIAlyZXR1cm4gZG9fc3RhdF9pbnRlcm5hbCgxLCBmaWxlX25hbWUsIGJ1Zik7CiB9CiAKLSN1bmRlZiBmc3RhdAogaW50IG1pbmd3X2ZzdGF0KGludCBmZCwgc3RydWN0IHN0YXQgKmJ1ZikKIHsKIAlIQU5ETEUgZmggPSAoSEFORExFKV9nZXRfb3NmaGFuZGxlKGZkKTsKQEAgLTEwODYsNiArMTA2OCwxMiBAQAogCQllcnJubyA9IGVycl93aW5fdG9fcG9zaXgoR2V0TGFzdEVycm9yKCkpOwogCQlDbG9zZUhhbmRsZShoKTsKIAkJcmV0dXJuIC0xOworCX0gZWxzZSBpZiAocGlkID4gMCAmJiBzaWcgPT0gMCkgeworCQlIQU5ETEUgaCA9IE9wZW5Qcm9jZXNzKFBST0NFU1NfUVVFUllfSU5GT1JNQVRJT04sIEZBTFNFLCBwaWQpOworCQlpZiAoaCkgeworCQkJQ2xvc2VIYW5kbGUoaCk7CisJCQlyZXR1cm4gMDsKKwkJfQogCX0KIAogCWVycm5vID0gRUlOVkFMOwpkaWZmIC0tZ2l0IGEvY29tcGF0L21pbmd3LmggYi9jb21wYXQvbWluZ3cuaAppbmRleCBiZDBhODhiLi5lMDMzZTcyIDEwMDY0NAotLS0gYS9jb21wYXQvbWluZ3cuaAorKysgYi9jb21wYXQvbWluZ3cuaApAQCAtMzIsNyArMzIsOSBAQAogI2RlZmluZSBXRVhJVFNUQVRVUyh4KSAoKHgpICYgMHhmZikKICNkZWZpbmUgV1RFUk1TSUcoeCkgU0lHVEVSTQogCisjaWZuZGVmIEVXT1VMREJMT0NLCiAjZGVmaW5lIEVXT1VMREJMT0NLIEVBR0FJTgorI2VuZGlmCiAjZGVmaW5lIFNIVVRfV1IgU0RfU0VORAogCiAjZGVmaW5lIFNJR0hVUCAxCkBAIC00Niw4ICs0OCwxMiBAQAogI2RlZmluZSBGX1NFVEZEIDIKICNkZWZpbmUgRkRfQ0xPRVhFQyAweDEKIAorI2lmbmRlZiBFQUZOT1NVUFBPUlQKICNkZWZpbmUgRUFGTk9TVVBQT1JUIFdTQUVBRk5PU1VQUE9SVAorI2VuZGlmCisjaWZuZGVmIEVDT05OQUJPUlRFRAogI2RlZmluZSBFQ09OTkFCT1JURUQgV1NBRUNPTk5BQk9SVEVECisjZW5kaWYKIAogc3RydWN0IHBhc3N3ZCB7CiAJY2hhciAqcHdfbmFtZTsKQEAgLTE3NCw5ICsxODAsNiBAQAogaW50IG1pbmd3X29wZW4gKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgb2ZsYWdzLCAuLi4pOwogI2RlZmluZSBvcGVuIG1pbmd3X29wZW4KIAotc3NpemVfdCBtaW5nd193cml0ZShpbnQgZmQsIGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGNvdW50KTsKLSNkZWZpbmUgd3JpdGUgbWluZ3dfd3JpdGUKLQogaW50IG1pbmd3X2ZnZXRjKEZJTEUgKnN0cmVhbSk7CiAjZGVmaW5lIGZnZXRjIG1pbmd3X2ZnZXRjCiAKQEAgLTI1OCwxOSArMjYxLDM1IEBACiAJcmV0dXJuIDA7CiB9CiAKLS8qIFVzZSBtaW5nd19sc3RhdCgpIGluc3RlYWQgb2YgbHN0YXQoKS9zdGF0KCkgYW5kCi0gKiBtaW5nd19mc3RhdCgpIGluc3RlYWQgb2YgZnN0YXQoKSBvbiBXaW5kb3dzLgorLyoKKyAqIFVzZSBtaW5ndyBzcGVjaWZpYyBzdGF0KCkvbHN0YXQoKS9mc3RhdCgpIGltcGxlbWVudGF0aW9ucyBvbiBXaW5kb3dzLgogICovCiAjZGVmaW5lIG9mZl90IG9mZjY0X3QKICNkZWZpbmUgbHNlZWsgX2xzZWVraTY0Ci0jaWZuZGVmIEFMUkVBRFlfREVDTEFSRURfU1RBVF9GVU5DUworCisvKiB1c2Ugc3RydWN0IHN0YXQgd2l0aCA2NCBiaXQgc3Rfc2l6ZSAqLworI2lmZGVmIHN0YXQKKyN1bmRlZiBzdGF0CisjZW5kaWYKICNkZWZpbmUgc3RhdCBfc3RhdGk2NAogaW50IG1pbmd3X2xzdGF0KGNvbnN0IGNoYXIgKmZpbGVfbmFtZSwgc3RydWN0IHN0YXQgKmJ1Zik7CiBpbnQgbWluZ3dfc3RhdChjb25zdCBjaGFyICpmaWxlX25hbWUsIHN0cnVjdCBzdGF0ICpidWYpOwogaW50IG1pbmd3X2ZzdGF0KGludCBmZCwgc3RydWN0IHN0YXQgKmJ1Zik7CisjaWZkZWYgZnN0YXQKKyN1bmRlZiBmc3RhdAorI2VuZGlmCiAjZGVmaW5lIGZzdGF0IG1pbmd3X2ZzdGF0CisjaWZkZWYgbHN0YXQKKyN1bmRlZiBsc3RhdAorI2VuZGlmCiAjZGVmaW5lIGxzdGF0IG1pbmd3X2xzdGF0Ci0jZGVmaW5lIF9zdGF0aTY0KHgseSkgbWluZ3dfc3RhdCh4LHkpCisKKyNpZm5kZWYgX3N0YXRpNjQKKyMgZGVmaW5lIF9zdGF0aTY0KHgseSkgbWluZ3dfc3RhdCh4LHkpCisjZWxpZiBkZWZpbmVkIChfVVNFXzMyQklUX1RJTUVfVCkKKyMgZGVmaW5lIF9zdGF0MzJpNjQoeCx5KSBtaW5nd19zdGF0KHgseSkKKyNlbHNlCisjIGRlZmluZSBfc3RhdDY0KHgseSkgbWluZ3dfc3RhdCh4LHkpCiAjZW5kaWYKIAogaW50IG1pbmd3X3V0aW1lKGNvbnN0IGNoYXIgKmZpbGVfbmFtZSwgY29uc3Qgc3RydWN0IHV0aW1idWYgKnRpbWVzKTsKQEAgLTMyMiw2ICszNDEsNyBAQAogI2RlZmluZSBmaW5kX2xhc3RfZGlyX3NlcCBtaW5nd19maW5kX2xhc3RfZGlyX3NlcAogI2RlZmluZSBQQVRIX1NFUCAnOycKICNkZWZpbmUgUFJJdU1BWCAiSTY0dSIKKyNkZWZpbmUgUFJJZDY0ICJJNjRkIgogCiB2b2lkIG1pbmd3X29wZW5faHRtbChjb25zdCBjaGFyICpwYXRoKTsKICNkZWZpbmUgb3Blbl9odG1sIG1pbmd3X29wZW5faHRtbApkaWZmIC0tZ2l0IGEvY29tcGF0L21zdmMuaCBiL2NvbXBhdC9tc3ZjLmgKaW5kZXggOTZiNmQ2MC4uNTgwYmI1NSAxMDA2NDQKLS0tIGEvY29tcGF0L21zdmMuaAorKysgYi9jb21wYXQvbXN2Yy5oCkBAIC0yNCwyMSArMjQsNiBAQAogCiAjdW5kZWYgRVJST1IKIAotLyogVXNlIG1pbmd3X2xzdGF0KCkgaW5zdGVhZCBvZiBsc3RhdCgpL3N0YXQoKSBhbmQgbWluZ3dfZnN0YXQoKSBpbnN0ZWFkCi0gKiBvZiBmc3RhdCgpLiBXZSBhZGQgdGhlIGRlY2xhcmF0aW9uIG9mIHRoZXNlIGZ1bmN0aW9ucyBoZXJlLCBzdXBwcmVzc2luZwotICogdGhlIGNvcnJlc3BvbmRpbmcgZGVjbGFyYXRpb25zIGluIG1pbmd3LmgsIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGUKLSAqIGFwcHJvcHJpYXRlIHN0cnVjdHVyZSB0eXBlIChhbmQgZnVuY3Rpb24pIG5hbWVzIGZyb20gdGhlIG1zdmMgaGVhZGVycy4KLSAqLwotI2RlZmluZSBzdGF0IF9zdGF0NjQKLWludCBtaW5nd19sc3RhdChjb25zdCBjaGFyICpmaWxlX25hbWUsIHN0cnVjdCBzdGF0ICpidWYpOwotaW50IG1pbmd3X2ZzdGF0KGludCBmZCwgc3RydWN0IHN0YXQgKmJ1Zik7Ci0jZGVmaW5lIGZzdGF0IG1pbmd3X2ZzdGF0Ci0jZGVmaW5lIGxzdGF0IG1pbmd3X2xzdGF0Ci0jZGVmaW5lIF9zdGF0NjQoeCx5KSBtaW5nd19sc3RhdCh4LHkpCi0jZGVmaW5lIEFMUkVBRFlfREVDTEFSRURfU1RBVF9GVU5DUwotCiAjaW5jbHVkZSAiY29tcGF0L21pbmd3LmgiCiAKLSN1bmRlZiBBTFJFQURZX0RFQ0xBUkVEX1NUQVRfRlVOQ1MKLQogI2VuZGlmCmRpZmYgLS1naXQgYS9jb21wYXQvbmVkbWFsbG9jL21hbGxvYy5jLmggYi9jb21wYXQvbmVkbWFsbG9jL21hbGxvYy5jLmgKaW5kZXggZWQ0ZjFmYS4uZjIxNmEyYSAxMDA2NDQKLS0tIGEvY29tcGF0L25lZG1hbGxvYy9tYWxsb2MuYy5oCisrKyBiL2NvbXBhdC9uZWRtYWxsb2MvbWFsbG9jLmMuaApAQCAtNDk5LDcgKzQ5OSw5IEBACiAjZW5kaWYgIC8qIFdJTjMyICovCiAjaWZkZWYgV0lOMzIKICNkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTgorI2lmbmRlZiBfV0lOMzJfV0lOTlQKICNkZWZpbmUgX1dJTjMyX1dJTk5UIDB4NDAzCisjZW5kaWYKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjZGVmaW5lIEhBVkVfTU1BUCAxCiAjZGVmaW5lIEhBVkVfTU9SRUNPUkUgMApkaWZmIC0tZ2l0IGEvY29tcGF0L3BvbGwvcG9sbC5jIGIvY29tcGF0L3BvbGwvcG9sbC5jCmluZGV4IDQ0MTAzMTAuLjMxMTYzZjIgMTAwNjQ0Ci0tLSBhL2NvbXBhdC9wb2xsL3BvbGwuYworKysgYi9jb21wYXQvcG9sbC9wb2xsLmMKQEAgLTM5LDcgKzM5LDcgQEAKIAogI2lmIChkZWZpbmVkIF9XSU4zMiB8fCBkZWZpbmVkIF9fV0lOMzJfXykgJiYgISBkZWZpbmVkIF9fQ1lHV0lOX18KICMgZGVmaW5lIFdJTjMyX05BVElWRQotIyBpZiBkZWZpbmVkIChfTVNDX1ZFUikKKyMgaWYgZGVmaW5lZCAoX01TQ19WRVIpICYmICFkZWZpbmVkKF9XSU4zMl9XSU5OVCkKICMgIGRlZmluZSBfV0lOMzJfV0lOTlQgMHgwNTAyCiAjIGVuZGlmCiAjIGluY2x1ZGUgPHdpbnNvY2syLmg+CmRpZmYgLS1naXQgYS9jb21wYXQvcHJlY29tcG9zZV91dGY4LmMgYi9jb21wYXQvcHJlY29tcG9zZV91dGY4LmMKaW5kZXggNzk4MGFiZC4uOTVmZTg0OSAxMDA2NDQKLS0tIGEvY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jCisrKyBiL2NvbXBhdC9wcmVjb21wb3NlX3V0ZjguYwpAQCAtNDgsMTEgKzQ4LDggQEAKIAlpZiAob3V0cHV0X2ZkID49IDApIHsKIAkJY2xvc2Uob3V0cHV0X2ZkKTsKIAkJc3RyY3B5KHBhdGggKyBsZW4sIGF1bWxfbmZkKTsKLQkJLyogSW5kaWNhdGUgdG8gdGhlIHVzZXIsIHRoYXQgd2UgY2FuIGNvbmZpZ3VyZSBpdCB0byB0cnVlICovCi0JCWlmICghYWNjZXNzKHBhdGgsIFJfT0spKQotCQkJZ2l0X2NvbmZpZ19zZXQoImNvcmUucHJlY29tcG9zZXVuaWNvZGUiLCAiZmFsc2UiKTsKLQkJLyogVG8gYmUgYmFja3dhcmQgY29tcGF0aWJsZSwgc2V0IHByZWNvbXBvc2VkX3VuaWNvZGUgdG8gMCAqLwotCQlwcmVjb21wb3NlZF91bmljb2RlID0gMDsKKwkJcHJlY29tcG9zZWRfdW5pY29kZSA9IGFjY2VzcyhwYXRoLCBSX09LKSA/IDAgOiAxOworCQlnaXRfY29uZmlnX3NldCgiY29yZS5wcmVjb21wb3NldW5pY29kZSIsIHByZWNvbXBvc2VkX3VuaWNvZGUgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKIAkJc3RyY3B5KHBhdGggKyBsZW4sIGF1bWxfbmZjKTsKIAkJaWYgKHVubGluayhwYXRoKSkKIAkJCWRpZV9lcnJubyhfKCJmYWlsZWQgdG8gdW5saW5rICclcyciKSwgcGF0aCk7CmRpZmYgLS1naXQgYS9jb21wYXQvcmVnZXgvcmVnY29tcC5jIGIvY29tcGF0L3JlZ2V4L3JlZ2NvbXAuYwppbmRleCBiMmM1ZDQ2Li4wNmYzMDg4IDEwMDY0NAotLS0gYS9jb21wYXQvcmVnZXgvcmVnY29tcC5jCisrKyBiL2NvbXBhdC9yZWdleC9yZWdjb21wLmMKQEAgLTMzOSw3ICszMzksNyBAQAogCSAgICAgIHAgPSBidWY7CiAJICAgICAgKnArKyA9IGRmYS0+bm9kZXNbbm9kZV0ub3ByLmM7CiAJICAgICAgd2hpbGUgKCsrbm9kZSA8IGRmYS0+bm9kZXNfbGVuCi0JCSAgICAgJiYJZGZhLT5ub2Rlc1tub2RlXS50eXBlID09IENIQVJBQ1RFUgorCQkgICAgICYmIGRmYS0+bm9kZXNbbm9kZV0udHlwZSA9PSBDSEFSQUNURVIKIAkJICAgICAmJiBkZmEtPm5vZGVzW25vZGVdLm1iX3BhcnRpYWwpCiAJCSpwKysgPSBkZmEtPm5vZGVzW25vZGVdLm9wci5jOwogCSAgICAgIG1lbXNldCAoJnN0YXRlLCAnXDAnLCBzaXplb2YgKHN0YXRlKSk7CmRpZmYgLS1naXQgYS9jb21wYXQvdmNidWlsZC9zY3JpcHRzL2NsaW5rLnBsIGIvY29tcGF0L3ZjYnVpbGQvc2NyaXB0cy9jbGluay5wbApvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmRpZmYgLS1naXQgYS9jb21wYXQvdmNidWlsZC9zY3JpcHRzL2xpYi5wbCBiL2NvbXBhdC92Y2J1aWxkL3NjcmlwdHMvbGliLnBsCm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBhL2NvbmZpZy5jIGIvY29uZmlnLmMKaW5kZXggOWY5YmYwYy4uZDk2OWE1YSAxMDA2NDQKLS0tIGEvY29uZmlnLmMKKysrIGIvY29uZmlnLmMKQEAgLTQ2OCw3ICs0NjgsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGdpdF9wYXJzZV9sb25nKGNvbnN0IGNoYXIgKnZhbHVlLCBsb25nICpyZXQpCitzdGF0aWMgaW50IGdpdF9wYXJzZV9zaWduZWQoY29uc3QgY2hhciAqdmFsdWUsIGludG1heF90ICpyZXQsIGludG1heF90IG1heCkKIHsKIAlpZiAodmFsdWUgJiYgKnZhbHVlKSB7CiAJCWNoYXIgKmVuZDsKQEAgLTQ4MCwyMSArNDgwLDI1IEBACiAJCXZhbCA9IHN0cnRvaW1heCh2YWx1ZSwgJmVuZCwgMCk7CiAJCWlmIChlcnJubyA9PSBFUkFOR0UpCiAJCQlyZXR1cm4gMDsKLQkJaWYgKCFwYXJzZV91bml0X2ZhY3RvcihlbmQsICZmYWN0b3IpKQorCQlpZiAoIXBhcnNlX3VuaXRfZmFjdG9yKGVuZCwgJmZhY3RvcikpIHsKKwkJCWVycm5vID0gRUlOVkFMOwogCQkJcmV0dXJuIDA7CisJCX0KIAkJdXZhbCA9IGFicyh2YWwpOwogCQl1dmFsICo9IGZhY3RvcjsKLQkJaWYgKCh1dmFsID4gbWF4aW11bV9zaWduZWRfdmFsdWVfb2ZfdHlwZShsb25nKSkgfHwKLQkJICAgIChhYnModmFsKSA+IHV2YWwpKQorCQlpZiAodXZhbCA+IG1heCB8fCBhYnModmFsKSA+IHV2YWwpIHsKKwkJCWVycm5vID0gRVJBTkdFOwogCQkJcmV0dXJuIDA7CisJCX0KIAkJdmFsICo9IGZhY3RvcjsKIAkJKnJldCA9IHZhbDsKIAkJcmV0dXJuIDE7CiAJfQorCWVycm5vID0gRUlOVkFMOwogCXJldHVybiAwOwogfQogCi1pbnQgZ2l0X3BhcnNlX3Vsb25nKGNvbnN0IGNoYXIgKnZhbHVlLCB1bnNpZ25lZCBsb25nICpyZXQpCitzdGF0aWMgaW50IGdpdF9wYXJzZV91bnNpZ25lZChjb25zdCBjaGFyICp2YWx1ZSwgdWludG1heF90ICpyZXQsIHVpbnRtYXhfdCBtYXgpCiB7CiAJaWYgKHZhbHVlICYmICp2YWx1ZSkgewogCQljaGFyICplbmQ7CkBAIC01MDYsMjkgKzUxMCw3NSBAQAogCQlpZiAoZXJybm8gPT0gRVJBTkdFKQogCQkJcmV0dXJuIDA7CiAJCW9sZHZhbCA9IHZhbDsKLQkJaWYgKCFwYXJzZV91bml0X2ZhY3RvcihlbmQsICZ2YWwpKQorCQlpZiAoIXBhcnNlX3VuaXRfZmFjdG9yKGVuZCwgJnZhbCkpIHsKKwkJCWVycm5vID0gRUlOVkFMOwogCQkJcmV0dXJuIDA7Ci0JCWlmICgodmFsID4gbWF4aW11bV91bnNpZ25lZF92YWx1ZV9vZl90eXBlKGxvbmcpKSB8fAotCQkgICAgKG9sZHZhbCA+IHZhbCkpCisJCX0KKwkJaWYgKHZhbCA+IG1heCB8fCBvbGR2YWwgPiB2YWwpIHsKKwkJCWVycm5vID0gRVJBTkdFOwogCQkJcmV0dXJuIDA7CisJCX0KIAkJKnJldCA9IHZhbDsKIAkJcmV0dXJuIDE7CiAJfQorCWVycm5vID0gRUlOVkFMOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBkaWVfYmFkX2NvbmZpZyhjb25zdCBjaGFyICpuYW1lKQorc3RhdGljIGludCBnaXRfcGFyc2VfaW50KGNvbnN0IGNoYXIgKnZhbHVlLCBpbnQgKnJldCkKIHsKKwlpbnRtYXhfdCB0bXA7CisJaWYgKCFnaXRfcGFyc2Vfc2lnbmVkKHZhbHVlLCAmdG1wLCBtYXhpbXVtX3NpZ25lZF92YWx1ZV9vZl90eXBlKGludCkpKQorCQlyZXR1cm4gMDsKKwkqcmV0ID0gdG1wOworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IGdpdF9wYXJzZV9pbnQ2NChjb25zdCBjaGFyICp2YWx1ZSwgaW50NjRfdCAqcmV0KQoreworCWludG1heF90IHRtcDsKKwlpZiAoIWdpdF9wYXJzZV9zaWduZWQodmFsdWUsICZ0bXAsIG1heGltdW1fc2lnbmVkX3ZhbHVlX29mX3R5cGUoaW50NjRfdCkpKQorCQlyZXR1cm4gMDsKKwkqcmV0ID0gdG1wOworCXJldHVybiAxOworfQorCitpbnQgZ2l0X3BhcnNlX3Vsb25nKGNvbnN0IGNoYXIgKnZhbHVlLCB1bnNpZ25lZCBsb25nICpyZXQpCit7CisJdWludG1heF90IHRtcDsKKwlpZiAoIWdpdF9wYXJzZV91bnNpZ25lZCh2YWx1ZSwgJnRtcCwgbWF4aW11bV91bnNpZ25lZF92YWx1ZV9vZl90eXBlKGxvbmcpKSkKKwkJcmV0dXJuIDA7CisJKnJldCA9IHRtcDsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQgZGllX2JhZF9udW1iZXIoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUpCit7CisJY29uc3QgY2hhciAqcmVhc29uID0gZXJybm8gPT0gRVJBTkdFID8KKwkJCSAgICAgIm91dCBvZiByYW5nZSIgOgorCQkJICAgICAiaW52YWxpZCB1bml0IjsKKwlpZiAoIXZhbHVlKQorCQl2YWx1ZSA9ICIiOworCiAJaWYgKGNmICYmIGNmLT5uYW1lKQotCQlkaWUoImJhZCBjb25maWcgdmFsdWUgZm9yICclcycgaW4gJXMiLCBuYW1lLCBjZi0+bmFtZSk7Ci0JZGllKCJiYWQgY29uZmlnIHZhbHVlIGZvciAnJXMnIiwgbmFtZSk7CisJCWRpZSgiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gJXM6ICVzIiwKKwkJICAgIHZhbHVlLCBuYW1lLCBjZi0+bmFtZSwgcmVhc29uKTsKKwlkaWUoImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIsIHZhbHVlLCBuYW1lLCByZWFzb24pOwogfQogCiBpbnQgZ2l0X2NvbmZpZ19pbnQoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUpCiB7Ci0JbG9uZyByZXQgPSAwOwotCWlmICghZ2l0X3BhcnNlX2xvbmcodmFsdWUsICZyZXQpKQotCQlkaWVfYmFkX2NvbmZpZyhuYW1lKTsKKwlpbnQgcmV0OworCWlmICghZ2l0X3BhcnNlX2ludCh2YWx1ZSwgJnJldCkpCisJCWRpZV9iYWRfbnVtYmVyKG5hbWUsIHZhbHVlKTsKKwlyZXR1cm4gcmV0OworfQorCitpbnQ2NF90IGdpdF9jb25maWdfaW50NjQoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUpCit7CisJaW50NjRfdCByZXQ7CisJaWYgKCFnaXRfcGFyc2VfaW50NjQodmFsdWUsICZyZXQpKQorCQlkaWVfYmFkX251bWJlcihuYW1lLCB2YWx1ZSk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtNTM2LDcgKzU4Niw3IEBACiB7CiAJdW5zaWduZWQgbG9uZyByZXQ7CiAJaWYgKCFnaXRfcGFyc2VfdWxvbmcodmFsdWUsICZyZXQpKQotCQlkaWVfYmFkX2NvbmZpZyhuYW1lKTsKKwkJZGllX2JhZF9udW1iZXIobmFtZSwgdmFsdWUpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTU1OSwxMCArNjA5LDEwIEBACiAKIGludCBnaXRfY29uZmlnX21heWJlX2Jvb2woY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUpCiB7Ci0JbG9uZyB2ID0gZ2l0X2NvbmZpZ19tYXliZV9ib29sX3RleHQobmFtZSwgdmFsdWUpOworCWludCB2ID0gZ2l0X2NvbmZpZ19tYXliZV9ib29sX3RleHQobmFtZSwgdmFsdWUpOwogCWlmICgwIDw9IHYpCiAJCXJldHVybiB2OwotCWlmIChnaXRfcGFyc2VfbG9uZyh2YWx1ZSwgJnYpKQorCWlmIChnaXRfcGFyc2VfaW50KHZhbHVlLCAmdikpCiAJCXJldHVybiAhIXY7CiAJcmV0dXJuIC0xOwogfQpAQCAtOTE5LDI1ICs5NjksMjUgQEAKIAogaW50IGdpdF9kZWZhdWx0X2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpkdW1teSkKIHsKLQlpZiAoIXByZWZpeGNtcCh2YXIsICJjb3JlLiIpKQorCWlmIChzdGFydHNfd2l0aCh2YXIsICJjb3JlLiIpKQogCQlyZXR1cm4gZ2l0X2RlZmF1bHRfY29yZV9jb25maWcodmFyLCB2YWx1ZSk7CiAKLQlpZiAoIXByZWZpeGNtcCh2YXIsICJ1c2VyLiIpKQorCWlmIChzdGFydHNfd2l0aCh2YXIsICJ1c2VyLiIpKQogCQlyZXR1cm4gZ2l0X2lkZW50X2NvbmZpZyh2YXIsIHZhbHVlLCBkdW1teSk7CiAKLQlpZiAoIXByZWZpeGNtcCh2YXIsICJpMThuLiIpKQorCWlmIChzdGFydHNfd2l0aCh2YXIsICJpMThuLiIpKQogCQlyZXR1cm4gZ2l0X2RlZmF1bHRfaTE4bl9jb25maWcodmFyLCB2YWx1ZSk7CiAKLQlpZiAoIXByZWZpeGNtcCh2YXIsICJicmFuY2guIikpCisJaWYgKHN0YXJ0c193aXRoKHZhciwgImJyYW5jaC4iKSkKIAkJcmV0dXJuIGdpdF9kZWZhdWx0X2JyYW5jaF9jb25maWcodmFyLCB2YWx1ZSk7CiAKLQlpZiAoIXByZWZpeGNtcCh2YXIsICJwdXNoLiIpKQorCWlmIChzdGFydHNfd2l0aCh2YXIsICJwdXNoLiIpKQogCQlyZXR1cm4gZ2l0X2RlZmF1bHRfcHVzaF9jb25maWcodmFyLCB2YWx1ZSk7CiAKLQlpZiAoIXByZWZpeGNtcCh2YXIsICJtYWlsbWFwLiIpKQorCWlmIChzdGFydHNfd2l0aCh2YXIsICJtYWlsbWFwLiIpKQogCQlyZXR1cm4gZ2l0X2RlZmF1bHRfbWFpbG1hcF9jb25maWcodmFyLCB2YWx1ZSk7CiAKLQlpZiAoIXByZWZpeGNtcCh2YXIsICJhZHZpY2UuIikpCisJaWYgKHN0YXJ0c193aXRoKHZhciwgImFkdmljZS4iKSkKIAkJcmV0dXJuIGdpdF9kZWZhdWx0X2FkdmljZV9jb25maWcodmFyLCB2YWx1ZSk7CiAKIAlpZiAoIXN0cmNtcCh2YXIsICJwYWdlci5jb2xvciIpIHx8ICFzdHJjbXAodmFyLCAiY29sb3IucGFnZXIiKSkgewpAQCAtMTE2MCwxNSArMTIxMCwxNCBAQAogICogRmluZCBhbGwgdGhlIHN0dWZmIGZvciBnaXRfY29uZmlnX3NldCgpIGJlbG93LgogICovCiAKLSNkZWZpbmUgTUFYX01BVENIRVMgNTEyCi0KIHN0YXRpYyBzdHJ1Y3QgewogCWludCBiYXNlbGVuOwogCWNoYXIgKmtleTsKIAlpbnQgZG9fbm90X21hdGNoOwogCXJlZ2V4X3QgKnZhbHVlX3JlZ2V4OwogCWludCBtdWx0aV9yZXBsYWNlOwotCXNpemVfdCBvZmZzZXRbTUFYX01BVENIRVNdOworCXNpemVfdCAqb2Zmc2V0OworCXVuc2lnbmVkIGludCBvZmZzZXRfYWxsb2M7CiAJZW51bSB7IFNUQVJULCBTRUNUSU9OX1NFRU4sIFNFQ1RJT05fRU5EX1NFRU4sIEtFWV9TRUVOIH0gc3RhdGU7CiAJaW50IHNlZW47CiB9IHN0b3JlOwpAQCAtMTE5MSwxMSArMTI0MCwxMSBAQAogCQlpZiAobWF0Y2hlcyhrZXksIHZhbHVlKSkgewogCQkJaWYgKHN0b3JlLnNlZW4gPT0gMSAmJiBzdG9yZS5tdWx0aV9yZXBsYWNlID09IDApIHsKIAkJCQl3YXJuaW5nKCIlcyBoYXMgbXVsdGlwbGUgdmFsdWVzIiwga2V5KTsKLQkJCX0gZWxzZSBpZiAoc3RvcmUuc2VlbiA+PSBNQVhfTUFUQ0hFUykgewotCQkJCWVycm9yKCJ0b28gbWFueSBtYXRjaGVzIGZvciAlcyIsIGtleSk7Ci0JCQkJcmV0dXJuIDE7CiAJCQl9CiAKKwkJCUFMTE9DX0dST1coc3RvcmUub2Zmc2V0LCBzdG9yZS5zZWVuICsgMSwKKwkJCQkgICBzdG9yZS5vZmZzZXRfYWxsb2MpOworCiAJCQlzdG9yZS5vZmZzZXRbc3RvcmUuc2Vlbl0gPSBjZi0+ZG9fZnRlbGwoY2YpOwogCQkJc3RvcmUuc2VlbisrOwogCQl9CkBAIC0xMjIzLDExICsxMjcyLDE1IEBACiAJCSAqIERvIG5vdCBpbmNyZW1lbnQgbWF0Y2hlczogdGhpcyBpcyBubyBtYXRjaCwgYnV0IHdlCiAJCSAqIGp1c3QgbWFkZSBzdXJlIHdlIGFyZSBpbiB0aGUgZGVzaXJlZCBzZWN0aW9uLgogCQkgKi8KKwkJQUxMT0NfR1JPVyhzdG9yZS5vZmZzZXQsIHN0b3JlLnNlZW4gKyAxLAorCQkJICAgc3RvcmUub2Zmc2V0X2FsbG9jKTsKIAkJc3RvcmUub2Zmc2V0W3N0b3JlLnNlZW5dID0gY2YtPmRvX2Z0ZWxsKGNmKTsKIAkJLyogZmFsbHRocnUgKi8KIAljYXNlIFNFQ1RJT05fRU5EX1NFRU46CiAJY2FzZSBTVEFSVDoKIAkJaWYgKG1hdGNoZXMoa2V5LCB2YWx1ZSkpIHsKKwkJCUFMTE9DX0dST1coc3RvcmUub2Zmc2V0LCBzdG9yZS5zZWVuICsgMSwKKwkJCQkgICBzdG9yZS5vZmZzZXRfYWxsb2MpOwogCQkJc3RvcmUub2Zmc2V0W3N0b3JlLnNlZW5dID0gY2YtPmRvX2Z0ZWxsKGNmKTsKIAkJCXN0b3JlLnN0YXRlID0gS0VZX1NFRU47CiAJCQlzdG9yZS5zZWVuKys7CkBAIC0xMjM1LDYgKzEyODgsOSBAQAogCQkJaWYgKHN0cnJjaHIoa2V5LCAnLicpIC0ga2V5ID09IHN0b3JlLmJhc2VsZW4gJiYKIAkJCSAgICAgICFzdHJuY21wKGtleSwgc3RvcmUua2V5LCBzdG9yZS5iYXNlbGVuKSkgewogCQkJCQlzdG9yZS5zdGF0ZSA9IFNFQ1RJT05fU0VFTjsKKwkJCQkJQUxMT0NfR1JPVyhzdG9yZS5vZmZzZXQsCisJCQkJCQkgICBzdG9yZS5zZWVuICsgMSwKKwkJCQkJCSAgIHN0b3JlLm9mZnNldF9hbGxvYyk7CiAJCQkJCXN0b3JlLm9mZnNldFtzdG9yZS5zZWVuXSA9IGNmLT5kb19mdGVsbChjZik7CiAJCQl9CiAJCX0KQEAgLTE1MzMsNiArMTU4OSw3IEBACiAJCQl9CiAJCX0KIAorCQlBTExPQ19HUk9XKHN0b3JlLm9mZnNldCwgMSwgc3RvcmUub2Zmc2V0X2FsbG9jKTsKIAkJc3RvcmUub2Zmc2V0WzBdID0gMDsKIAkJc3RvcmUuc3RhdGUgPSBTVEFSVDsKIAkJc3RvcmUuc2VlbiA9IDA7CkBAIC0xODIyLDcgKzE4NzksNyBAQAogCWNvbnN0IGNoYXIgKmRvdDsKIAogCS8qIERvZXMgaXQgc3RhcnQgd2l0aCAic2VjdGlvbi4iID8gKi8KLQlpZiAocHJlZml4Y21wKHZhciwgc2VjdGlvbikgfHwgdmFyW3NlY3Rpb25fbGVuXSAhPSAnLicpCisJaWYgKCFzdGFydHNfd2l0aCh2YXIsIHNlY3Rpb24pIHx8IHZhcltzZWN0aW9uX2xlbl0gIT0gJy4nKQogCQlyZXR1cm4gLTE7CiAKIAkvKgpkaWZmIC0tZ2l0IGEvY29uZmlnLm1hay51bmFtZSBiL2NvbmZpZy5tYWsudW5hbWUKaW5kZXggN2Q2MTUzMS4uN2QzMWZhZCAxMDA2NDQKLS0tIGEvY29uZmlnLm1hay51bmFtZQorKysgYi9jb25maWcubWFrLnVuYW1lCkBAIC0xOTgsNiArMTk4LDEzIEBACiAJQkFTSUNfTERGTEFHUyArPSAtTC91c3IvbG9jYWwvbGliCiAJSEFWRV9QQVRIU19IID0gWWVzUGxlYXNlCiBlbmRpZgoraWZlcSAoJCh1bmFtZV9TKSxNaXJCU0QpCisJTk9fU1RSQ0FTRVNUUiA9IFllc1BsZWFzZQorCU5PX01FTU1FTSA9IFllc1BsZWFzZQorCVVTRV9TVF9USU1FU1BFQyA9IFllc1BsZWFzZQorCU5FRURTX0xJQklDT05WID0gWWVzUGxlYXNlCisJSEFWRV9QQVRIU19IID0gWWVzUGxlYXNlCitlbmRpZgogaWZlcSAoJCh1bmFtZV9TKSxOZXRCU0QpCiAJaWZlcSAoJChzaGVsbCBleHByICIkKHVuYW1lX1IpIiA6ICdbMDFdXC4nKSwyKQogCQlORUVEU19MSUJJQ09OViA9IFllc1BsZWFzZQpAQCAtMzM5LDYgKzM0Niw3IEBACiAJT0JKRUNUX0NSRUFUSU9OX1VTRVNfUkVOQU1FUyA9IFVuZm9ydHVuYXRlbHlOZWVkc1RvCiAJTk9fUkVHRVggPSBZZXNQbGVhc2UKIAlOT19DVVJMID0gWWVzUGxlYXNlCisJTk9fR0VUVEVYVCA9IFllc1BsZWFzZQogCU5PX1BZVEhPTiA9IFllc1BsZWFzZQogCUJMS19TSEExID0gWWVzUGxlYXNlCiAJRVRBR1NfVEFSR0VUID0gRVRBR1MKQEAgLTQ5OSw3ICs1MDcsNyBAQAogCU5PX0lORVRfTlRPUCA9IFllc1BsZWFzZQogCU5PX1BPU0lYX0dPT0RJRVMgPSBVbmZvcnR1bmF0ZWx5WWVzCiAJREVGQVVMVF9IRUxQX0ZPUk1BVCA9IGh0bWwKLQlDT01QQVRfQ0ZMQUdTICs9IC1EX19VU0VfTUlOR1dfQUNDRVNTIC1ETk9HREkgLUljb21wYXQgLUljb21wYXQvd2luMzIKKwlDT01QQVRfQ0ZMQUdTICs9IC1EX19VU0VfTUlOR1dfQUNDRVNTIC1EX1VTRV8zMkJJVF9USU1FX1QgLUROT0dESSAtSWNvbXBhdCAtSWNvbXBhdC93aW4zMgogCUNPTVBBVF9DRkxBR1MgKz0gLURTVFJJUF9FWFRFTlNJT049XCIuZXhlXCIKIAlDT01QQVRfT0JKUyArPSBjb21wYXQvbWluZ3cubyBjb21wYXQvd2luYW5zaS5vIFwKIAkJY29tcGF0L3dpbjMyL3B0aHJlYWQubyBjb21wYXQvd2luMzIvc3lzbG9nLm8gXApkaWZmIC0tZ2l0IGEvY29ubmVjdC5jIGIvY29ubmVjdC5jCmluZGV4IDU1M2E4MGMuLjQxNTA0MTIgMTAwNjQ0Ci0tLSBhL2Nvbm5lY3QuYworKysgYi9jb25uZWN0LmMKQEAgLTUsOCArNSwxMCBAQAogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgogI2luY2x1ZGUgInJlbW90ZS5oIgorI2luY2x1ZGUgImNvbm5lY3QuaCIKICNpbmNsdWRlICJ1cmwuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgorI2luY2x1ZGUgInNoYTEtYXJyYXkuaCIKIAogc3RhdGljIGNoYXIgKnNlcnZlcl9jYXBhYmlsaXRpZXM7CiBzdGF0aWMgY29uc3QgY2hhciAqcGFyc2VfZmVhdHVyZV92YWx1ZShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgaW50ICopOwpAQCAtNDQsMTMgKzQ2LDYgQEAKIAlyZXR1cm4gY2hlY2tfcmVmKHJlZi0+bmFtZSwgc3RybGVuKHJlZi0+bmFtZSksIGZsYWdzKTsKIH0KIAotc3RhdGljIHZvaWQgYWRkX2V4dHJhX2hhdmUoc3RydWN0IGV4dHJhX2hhdmVfb2JqZWN0cyAqZXh0cmEsIHVuc2lnbmVkIGNoYXIgKnNoYTEpCi17Ci0JQUxMT0NfR1JPVyhleHRyYS0+YXJyYXksIGV4dHJhLT5uciArIDEsIGV4dHJhLT5hbGxvYyk7Ci0JaGFzaGNweSgmKGV4dHJhLT5hcnJheVtleHRyYS0+bnJdWzBdKSwgc2hhMSk7Ci0JZXh0cmEtPm5yKys7Ci19Ci0KIHN0YXRpYyB2b2lkIGRpZV9pbml0aWFsX2NvbnRhY3QoaW50IGdvdF9hdF9sZWFzdF9vbmVfaGVhZCkKIHsKIAlpZiAoZ290X2F0X2xlYXN0X29uZV9oZWFkKQpAQCAtMTIxLDcgKzExNiw4IEBACiAgKi8KIHN0cnVjdCByZWYgKipnZXRfcmVtb3RlX2hlYWRzKGludCBpbiwgY2hhciAqc3JjX2J1Ziwgc2l6ZV90IHNyY19sZW4sCiAJCQkgICAgICBzdHJ1Y3QgcmVmICoqbGlzdCwgdW5zaWduZWQgaW50IGZsYWdzLAotCQkJICAgICAgc3RydWN0IGV4dHJhX2hhdmVfb2JqZWN0cyAqZXh0cmFfaGF2ZSkKKwkJCSAgICAgIHN0cnVjdCBzaGExX2FycmF5ICpleHRyYV9oYXZlLAorCQkJICAgICAgc3RydWN0IHNoYTFfYXJyYXkgKnNoYWxsb3dfcG9pbnRzKQogewogCXN0cnVjdCByZWYgKipvcmlnX2xpc3QgPSBsaXN0OwogCWludCBnb3RfYXRfbGVhc3Rfb25lX2hlYWQgPSAwOwpAQCAtMTQ0LDkgKzE0MCwxOCBAQAogCQlpZiAoIWxlbikKIAkJCWJyZWFrOwogCi0JCWlmIChsZW4gPiA0ICYmICFwcmVmaXhjbXAoYnVmZmVyLCAiRVJSICIpKQorCQlpZiAobGVuID4gNCAmJiBzdGFydHNfd2l0aChidWZmZXIsICJFUlIgIikpCiAJCQlkaWUoInJlbW90ZSBlcnJvcjogJXMiLCBidWZmZXIgKyA0KTsKIAorCQlpZiAobGVuID09IDQ4ICYmIHN0YXJ0c193aXRoKGJ1ZmZlciwgInNoYWxsb3cgIikpIHsKKwkJCWlmIChnZXRfc2hhMV9oZXgoYnVmZmVyICsgOCwgb2xkX3NoYTEpKQorCQkJCWRpZSgicHJvdG9jb2wgZXJyb3I6IGV4cGVjdGVkIHNoYWxsb3cgc2hhLTEsIGdvdCAnJXMnIiwgYnVmZmVyICsgOCk7CisJCQlpZiAoIXNoYWxsb3dfcG9pbnRzKQorCQkJCWRpZSgicmVwb3NpdG9yeSBvbiB0aGUgb3RoZXIgZW5kIGNhbm5vdCBiZSBzaGFsbG93Iik7CisJCQlzaGExX2FycmF5X2FwcGVuZChzaGFsbG93X3BvaW50cywgb2xkX3NoYTEpOworCQkJY29udGludWU7CisJCX0KKwogCQlpZiAobGVuIDwgNDIgfHwgZ2V0X3NoYTFfaGV4KGJ1ZmZlciwgb2xkX3NoYTEpIHx8IGJ1ZmZlcls0MF0gIT0gJyAnKQogCQkJZGllKCJwcm90b2NvbCBlcnJvcjogZXhwZWN0ZWQgc2hhL3JlZiwgZ290ICclcyciLCBidWZmZXIpOwogCQluYW1lID0gYnVmZmVyICsgNDE7CkBAIC0xNTksNyArMTY0LDcgQEAKIAogCQlpZiAoZXh0cmFfaGF2ZSAmJgogCQkgICAgbmFtZV9sZW4gPT0gNSAmJiAhbWVtY21wKCIuaGF2ZSIsIG5hbWUsIDUpKSB7Ci0JCQlhZGRfZXh0cmFfaGF2ZShleHRyYV9oYXZlLCBvbGRfc2hhMSk7CisJCQlzaGExX2FycmF5X2FwcGVuZChleHRyYV9oYXZlLCBvbGRfc2hhMSk7CiAJCQljb250aW51ZTsKIAkJfQogCkBAIC0yMzEsMTAgKzIzNiwzNCBAQAogCiBlbnVtIHByb3RvY29sIHsKIAlQUk9UT19MT0NBTCA9IDEsCisJUFJPVE9fRklMRSwKIAlQUk9UT19TU0gsCiAJUFJPVE9fR0lUCiB9OwogCitpbnQgdXJsX2lzX2xvY2FsX25vdF9zc2goY29uc3QgY2hhciAqdXJsKQoreworCWNvbnN0IGNoYXIgKmNvbG9uID0gc3RyY2hyKHVybCwgJzonKTsKKwljb25zdCBjaGFyICpzbGFzaCA9IHN0cmNocih1cmwsICcvJyk7CisJcmV0dXJuICFjb2xvbiB8fCAoc2xhc2ggJiYgc2xhc2ggPCBjb2xvbikgfHwKKwkJaGFzX2Rvc19kcml2ZV9wcmVmaXgodXJsKTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKnByb3RfbmFtZShlbnVtIHByb3RvY29sIHByb3RvY29sKQoreworCXN3aXRjaCAocHJvdG9jb2wpIHsKKwkJY2FzZSBQUk9UT19MT0NBTDoKKwkJY2FzZSBQUk9UT19GSUxFOgorCQkJcmV0dXJuICJmaWxlIjsKKwkJY2FzZSBQUk9UT19TU0g6CisJCQlyZXR1cm4gInNzaCI7CisJCWNhc2UgUFJPVE9fR0lUOgorCQkJcmV0dXJuICJnaXQiOworCQlkZWZhdWx0OgorCQkJcmV0dXJuICJ1bmtvd24gcHJvdG9jb2wiOworCX0KK30KKwogc3RhdGljIGVudW0gcHJvdG9jb2wgZ2V0X3Byb3RvY29sKGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAJaWYgKCFzdHJjbXAobmFtZSwgInNzaCIpKQpAQCAtMjQ2LDcgKzI3NSw3IEBACiAJaWYgKCFzdHJjbXAobmFtZSwgInNzaCtnaXQiKSkKIAkJcmV0dXJuIFBST1RPX1NTSDsKIAlpZiAoIXN0cmNtcChuYW1lLCAiZmlsZSIpKQotCQlyZXR1cm4gUFJPVE9fTE9DQUw7CisJCXJldHVybiBQUk9UT19GSUxFOwogCWRpZSgiSSBkb24ndCBoYW5kbGUgcHJvdG9jb2wgJyVzJyIsIG5hbWUpOwogfQogCkBAIC01MjYsMjQgKzU1NSw5NSBAQAogCXJldHVybiBwcm94eTsKIH0KIAotI2RlZmluZSBNQVhfQ01EX0xFTiAxMDI0Ci0KLXN0YXRpYyBjaGFyICpnZXRfcG9ydChjaGFyICpob3N0KQorc3RhdGljIGNvbnN0IGNoYXIgKmdldF9wb3J0X251bWVyaWMoY29uc3QgY2hhciAqcCkKIHsKIAljaGFyICplbmQ7Ci0JY2hhciAqcCA9IHN0cmNocihob3N0LCAnOicpOwotCiAJaWYgKHApIHsKIAkJbG9uZyBwb3J0ID0gc3RydG9sKHAgKyAxLCAmZW5kLCAxMCk7CiAJCWlmIChlbmQgIT0gcCArIDEgJiYgKmVuZCA9PSAnXDAnICYmIDAgPD0gcG9ydCAmJiBwb3J0IDwgNjU1MzYpIHsKLQkJCSpwID0gJ1wwJzsKLQkJCXJldHVybiBwKzE7CisJCQlyZXR1cm4gcDsKIAkJfQogCX0KIAogCXJldHVybiBOVUxMOwogfQogCisvKgorICogRXh0cmFjdCBwcm90b2NvbCBhbmQgcmVsZXZhbnQgcGFydHMgZnJvbSB0aGUgc3BlY2lmaWVkIGNvbm5lY3Rpb24gVVJMLgorICogVGhlIGNhbGxlciBtdXN0IGZyZWUoKSB0aGUgcmV0dXJuZWQgc3RyaW5ncy4KKyAqLworc3RhdGljIGVudW0gcHJvdG9jb2wgcGFyc2VfY29ubmVjdF91cmwoY29uc3QgY2hhciAqdXJsX29yaWcsIGNoYXIgKipyZXRfaG9zdCwKKwkJCQkgICAgICAgY2hhciAqKnJldF9wYXRoKQoreworCWNoYXIgKnVybDsKKwljaGFyICpob3N0LCAqcGF0aDsKKwljaGFyICplbmQ7CisJaW50IHNlcGFyYXRvciA9ICcvJzsKKwllbnVtIHByb3RvY29sIHByb3RvY29sID0gUFJPVE9fTE9DQUw7CisKKwlpZiAoaXNfdXJsKHVybF9vcmlnKSkKKwkJdXJsID0gdXJsX2RlY29kZSh1cmxfb3JpZyk7CisJZWxzZQorCQl1cmwgPSB4c3RyZHVwKHVybF9vcmlnKTsKKworCWhvc3QgPSBzdHJzdHIodXJsLCAiOi8vIik7CisJaWYgKGhvc3QpIHsKKwkJKmhvc3QgPSAnXDAnOworCQlwcm90b2NvbCA9IGdldF9wcm90b2NvbCh1cmwpOworCQlob3N0ICs9IDM7CisJfSBlbHNlIHsKKwkJaG9zdCA9IHVybDsKKwkJaWYgKCF1cmxfaXNfbG9jYWxfbm90X3NzaCh1cmwpKSB7CisJCQlwcm90b2NvbCA9IFBST1RPX1NTSDsKKwkJCXNlcGFyYXRvciA9ICc6JzsKKwkJfQorCX0KKworCS8qCisJICogRG9uJ3QgZG8gZGVzdHJ1Y3RpdmUgdHJhbnNmb3JtcyBhcyBwcm90b2NvbCBjb2RlIGRvZXMKKwkgKiAnW10nIHVud3JhcHBpbmcgaW4gZ2V0X2hvc3RfYW5kX3BvcnQoKQorCSAqLworCWlmIChob3N0WzBdID09ICdbJykgeworCQllbmQgPSBzdHJjaHIoaG9zdCArIDEsICddJyk7CisJCWlmIChlbmQpIHsKKwkJCWVuZCsrOworCQl9IGVsc2UKKwkJCWVuZCA9IGhvc3Q7CisJfSBlbHNlCisJCWVuZCA9IGhvc3Q7CisKKwlpZiAocHJvdG9jb2wgPT0gUFJPVE9fTE9DQUwpCisJCXBhdGggPSBlbmQ7CisJZWxzZSBpZiAocHJvdG9jb2wgPT0gUFJPVE9fRklMRSAmJiBoYXNfZG9zX2RyaXZlX3ByZWZpeChlbmQpKQorCQlwYXRoID0gZW5kOyAvKiAiZmlsZTovLyQocHdkKSIgbWF5IGJlICJmaWxlOi8vQzovcHJvamVjdHMvcmVwbyIgKi8KKwllbHNlCisJCXBhdGggPSBzdHJjaHIoZW5kLCBzZXBhcmF0b3IpOworCisJaWYgKCFwYXRoIHx8ICEqcGF0aCkKKwkJZGllKCJObyBwYXRoIHNwZWNpZmllZC4gU2VlICdtYW4gZ2l0LXB1bGwnIGZvciB2YWxpZCB1cmwgc3ludGF4Iik7CisKKwkvKgorCSAqIG51bGwtdGVybWluYXRlIGhvc3RuYW1lIGFuZCBwb2ludCBwYXRoIHRvIH4gZm9yIFVSTCdzIGxpa2UgdGhpczoKKwkgKiAgICBzc2g6Ly9ob3N0Lnh6L351c2VyL3JlcG8KKwkgKi8KKworCWVuZCA9IHBhdGg7IC8qIE5lZWQgdG8gXDAgdGVybWluYXRlIGhvc3QgaGVyZSAqLworCWlmIChzZXBhcmF0b3IgPT0gJzonKQorCQlwYXRoKys7IC8qIHBhdGggc3RhcnRzIGFmdGVyICc6JyAqLworCWlmIChwcm90b2NvbCA9PSBQUk9UT19HSVQgfHwgcHJvdG9jb2wgPT0gUFJPVE9fU1NIKSB7CisJCWlmIChwYXRoWzFdID09ICd+JykKKwkJCXBhdGgrKzsKKwl9CisKKwlwYXRoID0geHN0cmR1cChwYXRoKTsKKwkqZW5kID0gJ1wwJzsKKworCSpyZXRfaG9zdCA9IHhzdHJkdXAoaG9zdCk7CisJKnJldF9wYXRoID0gcGF0aDsKKwlmcmVlKHVybCk7CisJcmV0dXJuIHByb3RvY29sOworfQorCiBzdGF0aWMgc3RydWN0IGNoaWxkX3Byb2Nlc3Mgbm9fZm9yazsKIAogLyoKQEAgLTU1NywxMDQgKzY1NywzNiBAQAogICogd2lsbCBob3BlZnVsbHkgYmUgY2hhbmdlZCBpbiBhIGxpYmlmaWNhdGlvbiBlZmZvcnQsIHRvIHJldHVybiBOVUxMIHdoZW4KICAqIHRoZSBjb25uZWN0aW9uIGZhaWxlZCkuCiAgKi8KLXN0cnVjdCBjaGlsZF9wcm9jZXNzICpnaXRfY29ubmVjdChpbnQgZmRbMl0sIGNvbnN0IGNoYXIgKnVybF9vcmlnLAorc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmdpdF9jb25uZWN0KGludCBmZFsyXSwgY29uc3QgY2hhciAqdXJsLAogCQkJCSAgY29uc3QgY2hhciAqcHJvZywgaW50IGZsYWdzKQogewotCWNoYXIgKnVybDsKLQljaGFyICpob3N0LCAqcGF0aDsKLQljaGFyICplbmQ7Ci0JaW50IGM7CisJY2hhciAqaG9zdGFuZHBvcnQsICpwYXRoOwogCXN0cnVjdCBjaGlsZF9wcm9jZXNzICpjb25uID0gJm5vX2Zvcms7Ci0JZW51bSBwcm90b2NvbCBwcm90b2NvbCA9IFBST1RPX0xPQ0FMOwotCWludCBmcmVlX3BhdGggPSAwOwotCWNoYXIgKnBvcnQgPSBOVUxMOworCWVudW0gcHJvdG9jb2wgcHJvdG9jb2w7CiAJY29uc3QgY2hhciAqKmFyZzsKLQlzdHJ1Y3Qgc3RyYnVmIGNtZDsKKwlzdHJ1Y3Qgc3RyYnVmIGNtZCA9IFNUUkJVRl9JTklUOwogCiAJLyogV2l0aG91dCB0aGlzIHdlIGNhbm5vdCByZWx5IG9uIHdhaXRwaWQoKSB0byB0ZWxsCiAJICogd2hhdCBoYXBwZW5lZCB0byBvdXIgY2hpbGRyZW4uCiAJICovCiAJc2lnbmFsKFNJR0NITEQsIFNJR19ERkwpOwogCi0JaWYgKGlzX3VybCh1cmxfb3JpZykpCi0JCXVybCA9IHVybF9kZWNvZGUodXJsX29yaWcpOwotCWVsc2UKLQkJdXJsID0geHN0cmR1cCh1cmxfb3JpZyk7Ci0KLQlob3N0ID0gc3Ryc3RyKHVybCwgIjovLyIpOwotCWlmIChob3N0KSB7Ci0JCSpob3N0ID0gJ1wwJzsKLQkJcHJvdG9jb2wgPSBnZXRfcHJvdG9jb2wodXJsKTsKLQkJaG9zdCArPSAzOwotCQljID0gJy8nOwotCX0gZWxzZSB7Ci0JCWhvc3QgPSB1cmw7Ci0JCWMgPSAnOic7Ci0JfQotCi0JLyoKLQkgKiBEb24ndCBkbyBkZXN0cnVjdGl2ZSB0cmFuc2Zvcm1zIHdpdGggZ2l0Oi8vIGFzIHRoYXQKLQkgKiBwcm90b2NvbCBjb2RlIGRvZXMgJ1tdJyB1bndyYXBwaW5nIG9mIGl0cyBvd24uCi0JICovCi0JaWYgKGhvc3RbMF0gPT0gJ1snKSB7Ci0JCWVuZCA9IHN0cmNocihob3N0ICsgMSwgJ10nKTsKLQkJaWYgKGVuZCkgewotCQkJaWYgKHByb3RvY29sICE9IFBST1RPX0dJVCkgewotCQkJCSplbmQgPSAwOwotCQkJCWhvc3QrKzsKLQkJCX0KLQkJCWVuZCsrOwotCQl9IGVsc2UKLQkJCWVuZCA9IGhvc3Q7Ci0JfSBlbHNlCi0JCWVuZCA9IGhvc3Q7Ci0KLQlwYXRoID0gc3RyY2hyKGVuZCwgYyk7Ci0JaWYgKHBhdGggJiYgIWhhc19kb3NfZHJpdmVfcHJlZml4KGVuZCkpIHsKLQkJaWYgKGMgPT0gJzonKSB7Ci0JCQlpZiAocGF0aCA8IHN0cmNocm51bChob3N0LCAnLycpKSB7Ci0JCQkJcHJvdG9jb2wgPSBQUk9UT19TU0g7Ci0JCQkJKnBhdGgrKyA9ICdcMCc7Ci0JCQl9IGVsc2UgLyogJy8nIGluIHRoZSBob3N0IHBhcnQsIGFzc3VtZSBsb2NhbCBwYXRoICovCi0JCQkJcGF0aCA9IGVuZDsKLQkJfQotCX0gZWxzZQotCQlwYXRoID0gZW5kOwotCi0JaWYgKCFwYXRoIHx8ICEqcGF0aCkKLQkJZGllKCJObyBwYXRoIHNwZWNpZmllZC4gU2VlICdtYW4gZ2l0LXB1bGwnIGZvciB2YWxpZCB1cmwgc3ludGF4Iik7Ci0KLQkvKgotCSAqIG51bGwtdGVybWluYXRlIGhvc3RuYW1lIGFuZCBwb2ludCBwYXRoIHRvIH4gZm9yIFVSTCdzIGxpa2UgdGhpczoKLQkgKiAgICBzc2g6Ly9ob3N0Lnh6L351c2VyL3JlcG8KLQkgKi8KLQlpZiAocHJvdG9jb2wgIT0gUFJPVE9fTE9DQUwgJiYgaG9zdCAhPSB1cmwpIHsKLQkJY2hhciAqcHRyID0gcGF0aDsKLQkJaWYgKHBhdGhbMV0gPT0gJ34nKQotCQkJcGF0aCsrOwotCQllbHNlIHsKLQkJCXBhdGggPSB4c3RyZHVwKHB0cik7Ci0JCQlmcmVlX3BhdGggPSAxOwotCQl9Ci0KLQkJKnB0ciA9ICdcMCc7Ci0JfQotCi0JLyoKLQkgKiBBZGQgc3VwcG9ydCBmb3Igc3NoIHBvcnQ6IHNzaDovL2hvc3QueHk6PHBvcnQ+Ly4uLgotCSAqLwotCWlmIChwcm90b2NvbCA9PSBQUk9UT19TU0ggJiYgaG9zdCAhPSB1cmwpCi0JCXBvcnQgPSBnZXRfcG9ydChlbmQpOwotCi0JaWYgKHByb3RvY29sID09IFBST1RPX0dJVCkgeworCXByb3RvY29sID0gcGFyc2VfY29ubmVjdF91cmwodXJsLCAmaG9zdGFuZHBvcnQsICZwYXRoKTsKKwlpZiAoZmxhZ3MgJiBDT05ORUNUX0RJQUdfVVJMKSB7CisJCXByaW50ZigiRGlhZzogdXJsPSVzXG4iLCB1cmwgPyB1cmwgOiAiTlVMTCIpOworCQlwcmludGYoIkRpYWc6IHByb3RvY29sPSVzXG4iLCBwcm90X25hbWUocHJvdG9jb2wpKTsKKwkJcHJpbnRmKCJEaWFnOiBob3N0YW5kcG9ydD0lc1xuIiwgaG9zdGFuZHBvcnQgPyBob3N0YW5kcG9ydCA6ICJOVUxMIik7CisJCXByaW50ZigiRGlhZzogcGF0aD0lc1xuIiwgcGF0aCA/IHBhdGggOiAiTlVMTCIpOworCQljb25uID0gTlVMTDsKKwl9IGVsc2UgaWYgKHByb3RvY29sID09IFBST1RPX0dJVCkgewogCQkvKiBUaGVzZSB1bmRlcmx5aW5nIGNvbm5lY3Rpb24gY29tbWFuZHMgZGllKCkgaWYgdGhleQogCQkgKiBjYW5ub3QgY29ubmVjdC4KIAkJICovCi0JCWNoYXIgKnRhcmdldF9ob3N0ID0geHN0cmR1cChob3N0KTsKLQkJaWYgKGdpdF91c2VfcHJveHkoaG9zdCkpCi0JCQljb25uID0gZ2l0X3Byb3h5X2Nvbm5lY3QoZmQsIGhvc3QpOworCQljaGFyICp0YXJnZXRfaG9zdCA9IHhzdHJkdXAoaG9zdGFuZHBvcnQpOworCQlpZiAoZ2l0X3VzZV9wcm94eShob3N0YW5kcG9ydCkpCisJCQljb25uID0gZ2l0X3Byb3h5X2Nvbm5lY3QoZmQsIGhvc3RhbmRwb3J0KTsKIAkJZWxzZQotCQkJZ2l0X3RjcF9jb25uZWN0KGZkLCBob3N0LCBmbGFncyk7CisJCQlnaXRfdGNwX2Nvbm5lY3QoZmQsIGhvc3RhbmRwb3J0LCBmbGFncyk7CiAJCS8qCiAJCSAqIFNlcGFyYXRlIG9yaWdpbmFsIHByb3RvY29sIGNvbXBvbmVudHMgcHJvZyBhbmQgcGF0aAogCQkgKiBmcm9tIGV4dGVuZGVkIGhvc3QgaGVhZGVyIHdpdGggYSBOVUwgYnl0ZS4KQEAgLTY2Nyw1NSArNjk5LDUxIEBACiAJCQkgICAgIHByb2csIHBhdGgsIDAsCiAJCQkgICAgIHRhcmdldF9ob3N0LCAwKTsKIAkJZnJlZSh0YXJnZXRfaG9zdCk7Ci0JCWZyZWUodXJsKTsKLQkJaWYgKGZyZWVfcGF0aCkKLQkJCWZyZWUocGF0aCk7Ci0JCXJldHVybiBjb25uOwotCX0KKwl9IGVsc2UgeworCQljb25uID0geGNhbGxvYygxLCBzaXplb2YoKmNvbm4pKTsKIAotCWNvbm4gPSB4Y2FsbG9jKDEsIHNpemVvZigqY29ubikpOworCQlzdHJidWZfYWRkc3RyKCZjbWQsIHByb2cpOworCQlzdHJidWZfYWRkY2goJmNtZCwgJyAnKTsKKwkJc3FfcXVvdGVfYnVmKCZjbWQsIHBhdGgpOwogCi0Jc3RyYnVmX2luaXQoJmNtZCwgTUFYX0NNRF9MRU4pOwotCXN0cmJ1Zl9hZGRzdHIoJmNtZCwgcHJvZyk7Ci0Jc3RyYnVmX2FkZGNoKCZjbWQsICcgJyk7Ci0Jc3FfcXVvdGVfYnVmKCZjbWQsIHBhdGgpOwotCWlmIChjbWQubGVuID49IE1BWF9DTURfTEVOKQotCQlkaWUoImNvbW1hbmQgbGluZSB0b28gbG9uZyIpOworCQljb25uLT5pbiA9IGNvbm4tPm91dCA9IC0xOworCQljb25uLT5hcmd2ID0gYXJnID0geGNhbGxvYyg3LCBzaXplb2YoKmFyZykpOworCQlpZiAocHJvdG9jb2wgPT0gUFJPVE9fU1NIKSB7CisJCQljb25zdCBjaGFyICpzc2ggPSBnZXRlbnYoIkdJVF9TU0giKTsKKwkJCWludCBwdXR0eSA9IHNzaCAmJiBzdHJjYXNlc3RyKHNzaCwgInBsaW5rIik7CisJCQljaGFyICpzc2hfaG9zdCA9IGhvc3RhbmRwb3J0OworCQkJY29uc3QgY2hhciAqcG9ydCA9IE5VTEw7CisJCQlnZXRfaG9zdF9hbmRfcG9ydCgmc3NoX2hvc3QsICZwb3J0KTsKKwkJCXBvcnQgPSBnZXRfcG9ydF9udW1lcmljKHBvcnQpOwogCi0JY29ubi0+aW4gPSBjb25uLT5vdXQgPSAtMTsKLQljb25uLT5hcmd2ID0gYXJnID0geGNhbGxvYyg3LCBzaXplb2YoKmFyZykpOwotCWlmIChwcm90b2NvbCA9PSBQUk9UT19TU0gpIHsKLQkJY29uc3QgY2hhciAqc3NoID0gZ2V0ZW52KCJHSVRfU1NIIik7Ci0JCWludCBwdXR0eSA9IHNzaCAmJiBzdHJjYXNlc3RyKHNzaCwgInBsaW5rIik7Ci0JCWlmICghc3NoKSBzc2ggPSAic3NoIjsKKwkJCWlmICghc3NoKSBzc2ggPSAic3NoIjsKIAotCQkqYXJnKysgPSBzc2g7Ci0JCWlmIChwdXR0eSAmJiAhc3RyY2FzZXN0cihzc2gsICJ0b3J0b2lzZXBsaW5rIikpCi0JCQkqYXJnKysgPSAiLWJhdGNoIjsKLQkJaWYgKHBvcnQpIHsKLQkJCS8qIFAgaXMgZm9yIFB1VFRZLCBwIGlzIGZvciBPcGVuU1NIICovCi0JCQkqYXJnKysgPSBwdXR0eSA/ICItUCIgOiAiLXAiOwotCQkJKmFyZysrID0gcG9ydDsKKwkJCSphcmcrKyA9IHNzaDsKKwkJCWlmIChwdXR0eSAmJiAhc3RyY2FzZXN0cihzc2gsICJ0b3J0b2lzZXBsaW5rIikpCisJCQkJKmFyZysrID0gIi1iYXRjaCI7CisJCQlpZiAocG9ydCkgeworCQkJCS8qIFAgaXMgZm9yIFB1VFRZLCBwIGlzIGZvciBPcGVuU1NIICovCisJCQkJKmFyZysrID0gcHV0dHkgPyAiLVAiIDogIi1wIjsKKwkJCQkqYXJnKysgPSBwb3J0OworCQkJfQorCQkJKmFyZysrID0gc3NoX2hvc3Q7CisJCX0JZWxzZSB7CisJCQkvKiByZW1vdmUgcmVwby1sb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgZW52aXJvbm1lbnQgKi8KKwkJCWNvbm4tPmVudiA9IGxvY2FsX3JlcG9fZW52OworCQkJY29ubi0+dXNlX3NoZWxsID0gMTsKIAkJfQotCQkqYXJnKysgPSBob3N0OwotCX0KLQllbHNlIHsKLQkJLyogcmVtb3ZlIHJlcG8tbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIGVudmlyb25tZW50ICovCi0JCWNvbm4tPmVudiA9IGxvY2FsX3JlcG9fZW52OwotCQljb25uLT51c2Vfc2hlbGwgPSAxOwotCX0KLQkqYXJnKysgPSBjbWQuYnVmOwotCSphcmcgPSBOVUxMOworCQkqYXJnKysgPSBjbWQuYnVmOworCQkqYXJnID0gTlVMTDsKIAotCWlmIChzdGFydF9jb21tYW5kKGNvbm4pKQotCQlkaWUoInVuYWJsZSB0byBmb3JrIik7CisJCWlmIChzdGFydF9jb21tYW5kKGNvbm4pKQorCQkJZGllKCJ1bmFibGUgdG8gZm9yayIpOwogCi0JZmRbMF0gPSBjb25uLT5vdXQ7IC8qIHJlYWQgZnJvbSBjaGlsZCdzIHN0ZG91dCAqLwotCWZkWzFdID0gY29ubi0+aW47ICAvKiB3cml0ZSB0byBjaGlsZCdzIHN0ZGluICovCi0Jc3RyYnVmX3JlbGVhc2UoJmNtZCk7Ci0JZnJlZSh1cmwpOwotCWlmIChmcmVlX3BhdGgpCi0JCWZyZWUocGF0aCk7CisJCWZkWzBdID0gY29ubi0+b3V0OyAvKiByZWFkIGZyb20gY2hpbGQncyBzdGRvdXQgKi8KKwkJZmRbMV0gPSBjb25uLT5pbjsgIC8qIHdyaXRlIHRvIGNoaWxkJ3Mgc3RkaW4gKi8KKwkJc3RyYnVmX3JlbGVhc2UoJmNtZCk7CisJfQorCWZyZWUoaG9zdGFuZHBvcnQpOworCWZyZWUocGF0aCk7CiAJcmV0dXJuIGNvbm47CiB9CiAKZGlmZiAtLWdpdCBhL2Nvbm5lY3QuaCBiL2Nvbm5lY3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDFhNjg1Ci0tLSAvZGV2L251bGwKKysrIGIvY29ubmVjdC5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgQ09OTkVDVF9ICisjZGVmaW5lIENPTk5FQ1RfSAorCisjZGVmaW5lIENPTk5FQ1RfVkVSQk9TRSAgICAgICAoMXUgPDwgMCkKKyNkZWZpbmUgQ09OTkVDVF9ESUFHX1VSTCAgICAgICgxdSA8PCAxKQorZXh0ZXJuIHN0cnVjdCBjaGlsZF9wcm9jZXNzICpnaXRfY29ubmVjdChpbnQgZmRbMl0sIGNvbnN0IGNoYXIgKnVybCwgY29uc3QgY2hhciAqcHJvZywgaW50IGZsYWdzKTsKK2V4dGVybiBpbnQgZmluaXNoX2Nvbm5lY3Qoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNvbm4pOworZXh0ZXJuIGludCBnaXRfY29ubmVjdGlvbl9pc19zb2NrZXQoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNvbm4pOworZXh0ZXJuIGludCBzZXJ2ZXJfc3VwcG9ydHMoY29uc3QgY2hhciAqZmVhdHVyZSk7CitleHRlcm4gaW50IHBhcnNlX2ZlYXR1cmVfcmVxdWVzdChjb25zdCBjaGFyICpmZWF0dXJlcywgY29uc3QgY2hhciAqZmVhdHVyZSk7CitleHRlcm4gY29uc3QgY2hhciAqc2VydmVyX2ZlYXR1cmVfdmFsdWUoY29uc3QgY2hhciAqZmVhdHVyZSwgaW50ICpsZW5fcmV0KTsKK2V4dGVybiBpbnQgdXJsX2lzX2xvY2FsX25vdF9zc2goY29uc3QgY2hhciAqdXJsKTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9jb25uZWN0ZWQuYyBiL2Nvbm5lY3RlZC5jCmluZGV4IGZhZThkNjQuLmJlMDI1M2UgMTAwNjQ0Ci0tLSBhL2Nvbm5lY3RlZC5jCisrKyBiL2Nvbm5lY3RlZC5jCkBAIC0xOSwxNyArMTksMTcgQEAKICAqCiAgKiBSZXR1cm5zIDAgaWYgZXZlcnl0aGluZyBpcyBjb25uZWN0ZWQsIG5vbi16ZXJvIG90aGVyd2lzZS4KICAqLwotaW50IGNoZWNrX2V2ZXJ5dGhpbmdfY29ubmVjdGVkX3dpdGhfdHJhbnNwb3J0KHNoYTFfaXRlcmF0ZV9mbiBmbiwKLQkJCQkJICAgICAgaW50IHF1aWV0LAotCQkJCQkgICAgICB2b2lkICpjYl9kYXRhLAotCQkJCQkgICAgICBzdHJ1Y3QgdHJhbnNwb3J0ICp0cmFuc3BvcnQpCitzdGF0aWMgaW50IGNoZWNrX2V2ZXJ5dGhpbmdfY29ubmVjdGVkX3JlYWwoc2hhMV9pdGVyYXRlX2ZuIGZuLAorCQkJCQkgICBpbnQgcXVpZXQsCisJCQkJCSAgIHZvaWQgKmNiX2RhdGEsCisJCQkJCSAgIHN0cnVjdCB0cmFuc3BvcnQgKnRyYW5zcG9ydCwKKwkJCQkJICAgY29uc3QgY2hhciAqc2hhbGxvd19maWxlKQogewogCXN0cnVjdCBjaGlsZF9wcm9jZXNzIHJldl9saXN0OwotCWNvbnN0IGNoYXIgKmFyZ3ZbXSA9IHsicmV2LWxpc3QiLCAiLS1vYmplY3RzIiwKLQkJCSAgICAgICItLXN0ZGluIiwgIi0tbm90IiwgIi0tYWxsIiwgTlVMTCwgTlVMTH07CisJY29uc3QgY2hhciAqYXJndls5XTsKIAljaGFyIGNvbW1pdFs0MV07CiAJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQlpbnQgZXJyID0gMDsKKwlpbnQgZXJyID0gMCwgYWMgPSAwOwogCXN0cnVjdCBwYWNrZWRfZ2l0ICpuZXdfcGFjayA9IE5VTEw7CiAKIAlpZiAoZm4oY2JfZGF0YSwgc2hhMSkpCkBAIC0zOCw3ICszOCw3IEBACiAJaWYgKHRyYW5zcG9ydCAmJiB0cmFuc3BvcnQtPnNtYXJ0X29wdGlvbnMgJiYKIAkgICAgdHJhbnNwb3J0LT5zbWFydF9vcHRpb25zLT5zZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkICYmCiAJICAgIHRyYW5zcG9ydC0+cGFja19sb2NrZmlsZSAmJgotCSAgICAhc3VmZml4Y21wKHRyYW5zcG9ydC0+cGFja19sb2NrZmlsZSwgIi5rZWVwIikpIHsKKwkgICAgZW5kc193aXRoKHRyYW5zcG9ydC0+cGFja19sb2NrZmlsZSwgIi5rZWVwIikpIHsKIAkJc3RydWN0IHN0cmJ1ZiBpZHhfZmlsZSA9IFNUUkJVRl9JTklUOwogCQlzdHJidWZfYWRkc3RyKCZpZHhfZmlsZSwgdHJhbnNwb3J0LT5wYWNrX2xvY2tmaWxlKTsKIAkJc3RyYnVmX3NldGxlbigmaWR4X2ZpbGUsIGlkeF9maWxlLmxlbiAtIDUpOyAvKiAiLmtlZXAiICovCkBAIC00Nyw4ICs0NywxOCBAQAogCQlzdHJidWZfcmVsZWFzZSgmaWR4X2ZpbGUpOwogCX0KIAorCWlmIChzaGFsbG93X2ZpbGUpIHsKKwkJYXJndlthYysrXSA9ICItLXNoYWxsb3ctZmlsZSI7CisJCWFyZ3ZbYWMrK10gPSBzaGFsbG93X2ZpbGU7CisJfQorCWFyZ3ZbYWMrK10gPSAicmV2LWxpc3QiOworCWFyZ3ZbYWMrK10gPSAiLS1vYmplY3RzIjsKKwlhcmd2W2FjKytdID0gIi0tc3RkaW4iOworCWFyZ3ZbYWMrK10gPSAiLS1ub3QiOworCWFyZ3ZbYWMrK10gPSAiLS1hbGwiOwogCWlmIChxdWlldCkKLQkJYXJndls1XSA9ICItLXF1aWV0IjsKKwkJYXJndlthYysrXSA9ICItLXF1aWV0IjsKKwlhcmd2W2FjXSA9IE5VTEw7CiAKIAltZW1zZXQoJnJldl9saXN0LCAwLCBzaXplb2YocmV2X2xpc3QpKTsKIAlyZXZfbGlzdC5hcmd2ID0gYXJndjsKQEAgLTkyLDMgKzEwMiwxOSBAQAogCXNpZ2NoYWluX3BvcChTSUdQSVBFKTsKIAlyZXR1cm4gZmluaXNoX2NvbW1hbmQoJnJldl9saXN0KSB8fCBlcnI7CiB9CisKK2ludCBjaGVja19ldmVyeXRoaW5nX2Nvbm5lY3RlZF93aXRoX3RyYW5zcG9ydChzaGExX2l0ZXJhdGVfZm4gZm4sCisJCQkJCSAgICAgIGludCBxdWlldCwKKwkJCQkJICAgICAgdm9pZCAqY2JfZGF0YSwKKwkJCQkJICAgICAgc3RydWN0IHRyYW5zcG9ydCAqdHJhbnNwb3J0KQoreworCXJldHVybiBjaGVja19ldmVyeXRoaW5nX2Nvbm5lY3RlZF9yZWFsKGZuLCBxdWlldCwgY2JfZGF0YSwKKwkJCQkJICAgICAgIHRyYW5zcG9ydCwgTlVMTCk7Cit9CisKK2ludCBjaGVja19zaGFsbG93X2Nvbm5lY3RlZChzaGExX2l0ZXJhdGVfZm4gZm4sIGludCBxdWlldCwgdm9pZCAqY2JfZGF0YSwKKwkJCSAgICBjb25zdCBjaGFyICpzaGFsbG93X2ZpbGUpCit7CisJcmV0dXJuIGNoZWNrX2V2ZXJ5dGhpbmdfY29ubmVjdGVkX3JlYWwoZm4sIHF1aWV0LCBjYl9kYXRhLAorCQkJCQkgICAgICAgTlVMTCwgc2hhbGxvd19maWxlKTsKK30KZGlmZiAtLWdpdCBhL2Nvbm5lY3RlZC5oIGIvY29ubmVjdGVkLmgKaW5kZXggMGIwNjBiNy4uMDcxZDQwOCAxMDA2NDQKLS0tIGEvY29ubmVjdGVkLmgKKysrIGIvY29ubmVjdGVkLmgKQEAgLTE4LDYgKzE4LDggQEAKICAqIFJldHVybiAwIGlmIE9rLCBub24gemVybyBvdGhlcndpc2UgKGkuZS4gc29tZSBtaXNzaW5nIG9iamVjdHMpCiAgKi8KIGV4dGVybiBpbnQgY2hlY2tfZXZlcnl0aGluZ19jb25uZWN0ZWQoc2hhMV9pdGVyYXRlX2ZuLCBpbnQgcXVpZXQsIHZvaWQgKmNiX2RhdGEpOworZXh0ZXJuIGludCBjaGVja19zaGFsbG93X2Nvbm5lY3RlZChzaGExX2l0ZXJhdGVfZm4sIGludCBxdWlldCwgdm9pZCAqY2JfZGF0YSwKKwkJCQkgICBjb25zdCBjaGFyICpzaGFsbG93X2ZpbGUpOwogZXh0ZXJuIGludCBjaGVja19ldmVyeXRoaW5nX2Nvbm5lY3RlZF93aXRoX3RyYW5zcG9ydChzaGExX2l0ZXJhdGVfZm4sIGludCBxdWlldCwKIAkJCQkJCSAgICAgdm9pZCAqY2JfZGF0YSwKIAkJCQkJCSAgICAgc3RydWN0IHRyYW5zcG9ydCAqdHJhbnNwb3J0KTsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvYnVpbGRzeXN0ZW1zL2VuZ2luZS5wbCBiL2NvbnRyaWIvYnVpbGRzeXN0ZW1zL2VuZ2luZS5wbApvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmRpZmYgLS1naXQgYS9jb250cmliL2J1aWxkc3lzdGVtcy9nZW5lcmF0ZSBiL2NvbnRyaWIvYnVpbGRzeXN0ZW1zL2dlbmVyYXRlCm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBhL2NvbnRyaWIvYnVpbGRzeXN0ZW1zL3BhcnNlLnBsIGIvY29udHJpYi9idWlsZHN5c3RlbXMvcGFyc2UucGwKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQpkaWZmIC0tZ2l0IGEvY29udHJpYi9jaWFib3QvSU5TVEFMTCBiL2NvbnRyaWIvY2lhYm90L0lOU1RBTEwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyMjI5NjEuLjAwMDAwMDAKLS0tIGEvY29udHJpYi9jaWFib3QvSU5TVEFMTAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLT0gSW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucyA9Ci0KLVR3byBzY3JpcHRzIGFyZSBpbmNsdWRlZC4gIFRoZSBQeXRob24gb25lIChjaWFib3QucHkpIGlzIGZhc3RlciBhbmQKLW1vcmUgY2FwYWJsZTsgdGhlIHNoZWxsIG9uZSAoY2lhYm90LnNoKSBpcyBhIGZhbGxiYWNrIGluIGNhc2UgUHl0aG9uCi1naXZlcyB5b3VyIGdpdCBob3N0aW5nIHNpdGUgaW5kaWdlc3Rpb24uIChJIGtub3cgb2Ygbm8gc3VjaCBzaXRlcy4pCi0KLUl0IGlzIG5vIGxvbmdlciBuZWNlc3NhcnkgdG8gbW9kaWZ5IHRoZSBzY3JpcHQgaW4gb3JkZXIgdG8gcHV0IGl0Ci1pbiBwbGFjZTsgaW4gZmFjdCwgdGhpcyBpcyBub3cgZGlzY291cmFnZWQuIEl0IGlzIGVudGlyZWx5Ci1jb25maWd1cmFibGUgd2l0aCB0aGUgZm9sbG93aW5nIGdpdCBjb25maWcgdmFyaWFibGVzOgotCi1jaWFib3QucHJvamVjdCA9IG5hbWUgb2YgdGhlIHByb2plY3QKLWNpYWJvdC5yZXBvID0gbmFtZSBvZiB0aGUgcHJvamVjdCByZXBvIGZvciBnaXR3ZWIvY2dpdCBwdXJwb3NlcwotY2lhYm90LnhtbHJwYyAgPSBpZiB0cnVlLCBzaGlwIG5vdGlmaWNhdGlvbnMgdmlhIFhNTC1SUEMKLWNpYWJvdC5yZXZmb3JtYXQgPSBmb3JtYXQgaW4gd2hpY2ggdGhlIHJldmlzaW9uIGlzIHNob3duCi0KLVRoZSByZXZmb3JtYXQgdmFyaWFibGUgbWF5IGhhdmUgdGhlIGZvbGxvd2luZyB2YWx1ZXMKLXJhdyAtPiBmdWxsIGhleCBJRCBvZiBjb21taXQKLXNob3J0IC0+IGZpcnN0IDEyIGNoYXJzIG9mIGhleCBJRAotZGVzY3JpYmUgLT4gZGVzY3JpYmUgcmVsYXRpdmUgdG8gbGFzdCB0YWcsIGZhbGxpbmcgYmFjayB0byBzaG9ydAotCi1jaWFib3QucHJvamVjdCBkZWZhdWx0cyB0byB0aGUgZGlyZWN0b3J5IG5hbWUgb2YgdGhlIHJlcG9zaXRvcnkgdG9wbGV2ZWwuCi1jaWFib3QucmVwbyBkZWZhdWx0cyB0byBjaWFib3QucHJvamVjdCBsb3dlcmNhc2VkLgotY2lhYm90LnhtbHJwYyBkZWZhdWx0cyB0byBUcnVlCi1jaWFib3QucmV2Zm9ybWF0IGRlZmF1bHRzIHRvICdkZXNjcmliZScuCi0KLVRoaXMgbWVhbnMgdGhhdCBpbiB0aGUgbm9ybWFsIGNhc2UgeW91IG5lZWQgbm90IGRvIGFueSBjb25maWd1cmF0aW9uIGF0IGFsbCwKLWhvd2V2ZXIgc2V0dGluZyBjaWFib3QucHJvamVjdCB3aWxsIGFsbG93IHRoZSBob29rIHRvIHJ1biBzbGlnaHRseSBmYXN0ZXIuCi0KLU9uY2UgeW91J3ZlIHNldCB0aGVzZSB2YXJpYWJsZXMsIHRyeSB5b3VyIHNjcmlwdCB3aXRoIC1uIHRvIHNlZSB0aGUKLW5vdGlmaWNhdGlvbiBtZXNzYWdlIGR1bXBlZCB0byBzdGRvdXQgYW5kIHZlcmlmeSB0aGF0IGl0IGxvb2tzIHNhbmUuCi0KLVRvIGxpdmUtdGVzdCB0aGVzZSBzY3JpcHRzLCB5b3VyIHByb2plY3QgbmVlZHMgdG8gaGF2ZSBiZWVuIHJlZ2lzdGVyZWQgd2l0aAotdGhlIENJQSBzaXRlLiAgSGVyZSBhcmUgdGhlIHN0ZXBzOgotCi0xLiBPcGVuIGFuIElSQyB3aW5kb3cgb24gaXJjOi8vZnJlZW5vZGUvY29tbWl0cyBvciB5b3VyIHJlZ2lzdGVyZWQKLSAgIHByb2plY3QgSVJDIGNoYW5uZWwuCi0KLTIuIFJ1biBjaWFib3QucHkgYW5kL29yIGNpYWJvdC5zaCBmcm9tIGFueSBkaXJlY3RvcnkgdW5kZXIgZ2l0Ci0gICBjb250cm9sLgotCi1Zb3Ugc2hvdWxkIHNlZSBhIG5vdGlmaWNhdGlvbiBvbiB0aGUgY2hhbm5lbCBmb3IgeW91ciBtb3N0IHJlY2VudCBjb21taXQuCi0KLUFmdGVyIHZlcmlmeWluZyBjb3JyZWN0IGZ1bmN0aW9uLCBpbnN0YWxsIG9uZSBvZiB0aGVzZSBzY3JpcHRzIGVpdGhlcgotaW4gYSBwb3N0LWNvbW1pdCBob29rIG9yIGluIGFuIHVwZGF0ZSBob29rLgotCi1JbiBwb3N0LWNvbW1pdCwgcnVuIGl0IHdpdGhvdXQgYXJndW1lbnRzLiBJdCB3aWxsIHF1ZXJ5IGZvcgotY3VycmVudCBIRUFEIGFuZCB0aGUgbGF0ZXN0IGNvbW1pdCBJRCB0byBnZXQgdGhlIGluZm9ybWF0aW9uIGl0Ci1uZWVkcy4KLQotSW4gdXBkYXRlLCBjYWxsIGl0IHdpdGggYSByZWZuYW1lIGZvbGxvd2VkIGJ5IGEgbGlzdCBvZiBjb21taXRzOgotWW91IHdhbnQgdG8gcmV2ZXJzZSB0aGUgb3JkZXIgZ2l0IHJldi1saXN0IGVtaXRzIGJlY2F1c2UgaXQgbGlzdHMKLWZyb20gbW9zdCByZWNlbnQgdG8gb2xkZXN0LgotCi0vcGF0aC90by9jaWFib3QucHkgJHtyZWZuYW1lfSAkKGdpdCByZXYtbGlzdCAke29sZGhlYWR9Li4ke25ld2hlYWR9IHwgdGFjKQpkaWZmIC0tZ2l0IGEvY29udHJpYi9jaWFib3QvUkVBRE1FIGIvY29udHJpYi9jaWFib3QvUkVBRE1FCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZGZlMWY5Li4wMDAwMDAwCi0tLSBhL2NvbnRyaWIvY2lhYm90L1JFQURNRQorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLVRoZXNlIGFyZSBob29rIHNjcmlwdHMgZm9yIHRoZSBDSUEgbm90aWZpY2F0aW9uIHNlcnZpY2UgYXQgPGh0dHA6Ly9jaWEudmMvPgotCi1UaGV5IGFyZSBtYWludGFpbmVkIGJ5IEVyaWMgUy4gUmF5bW9uZCA8ZXNyQHRoeXJzdXMuY29tPi4gIFRoZXJlIGlzIGFuCi11cHN0cmVhbSByZXNvdXJjZSBwYWdlIGZvciB0aGVtIGF0IDxodHRwOi8vd3d3LmNhdGIub3JnL2Vzci9jaWFib3QvPiwKLWJ1dCB0aGV5IGFyZSB1bmxpa2VseSB0byBjaGFuZ2UgcmFwaWRseS4KLQotWW91IHByb2JhYmx5IHdhbnQgdGhlIFB5dGhvbiB2ZXJzaW9uOyBpdCdzIGZhc3RlciwgbW9yZSBjYXBhYmxlLCBhbmQKLWJldHRlciBkb2N1bWVudGVkLiAgVGhlIHNoZWxsIHZlcnNpb24gaXMgbWFpbnRhaW5lZCBvbmx5IGFzIGEgZmFsbGJhY2sKLWZvciB1c2Ugb24gaG9zdGluZyBzaXRlcyB0aGF0IGRvbid0IHBlcm1pdCBQeXRob24gaG9vayBzY3JpcHRzLgotCi1TZWUgdGhlIGZpbGUgSU5TVEFMTCBmb3IgaW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucy4KZGlmZiAtLWdpdCBhL2NvbnRyaWIvY2lhYm90L2NpYWJvdC5weSBiL2NvbnRyaWIvY2lhYm90L2NpYWJvdC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggYmVmYTBjMy4uMDAwMDAwMAotLS0gYS9jb250cmliL2NpYWJvdC9jaWFib3QucHkKKysrIC9kZXYvbnVsbApAQCAtMSwyNTUgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0jIENvcHlyaWdodCAoYykgMjAxMCBFcmljIFMuIFJheW1vbmQgPGVzckB0aHlyc3VzLmNvbT4KLSMgRGlzdHJpYnV0ZWQgdW5kZXIgQlNEIHRlcm1zLgotIwotIyBUaGlzIHNjcmlwdCBjb250YWlucyBwb3JjZWxhaW4gYW5kIHBvcmNlbGFpbiBieXByb2R1Y3RzLgotIyBJdCdzIFB5dGhvbiBiZWNhdXNlIHRoZSBQeXRob24gc3RhbmRhcmQgbGlicmFyaWVzIGF2b2lkIHBvcnRhYmlsaXR5L3NlY3VyaXR5Ci0jIGlzc3VlcyByYWlzZWQgYnkgY2FsbG91dHMgaW4gdGhlIGFuY2VzdHJhbCBQZXJsIGFuZCBzaCBzY3JpcHRzLiAgSXQgc2hvdWxkCi0jIGJlIGNvbXBhdGlibGUgYmFjayB0byBQeXRob24gMi4xLjUKLSMKLSMgdXNhZ2U6IGNpYWJvdC5weSBbLVZdIFstbl0gWy1wIHByb2plY3RuYW1lXSAgW3JlZm5hbWUgW2NvbW1pdHMuLi5dXQotIwotIyBUaGlzIHNjcmlwdCBpcyBtZWFudCB0byBiZSBydW4gZWl0aGVyIGluIGEgcG9zdC1jb21taXQgaG9vayBvciBpbiBhbgotIyB1cGRhdGUgaG9vay4gVHJ5IGl0IHdpdGggLW4gdG8gc2VlIHRoZSBub3RpZmljYXRpb24gbWFpbCBkdW1wZWQgdG8KLSMgc3Rkb3V0IGFuZCB2ZXJpZnkgdGhhdCBpdCBsb29rcyBzYW5lLiBXaXRoIC1WIGl0IGR1bXBzIGl0cyB2ZXJzaW9uCi0jIGFuZCBleGl0cy4KLSMKLSMgSW4gcG9zdC1jb21taXQsIHJ1biBpdCB3aXRob3V0IGFyZ3VtZW50cy4gSXQgd2lsbCBxdWVyeSBmb3IKLSMgY3VycmVudCBIRUFEIGFuZCB0aGUgbGF0ZXN0IGNvbW1pdCBJRCB0byBnZXQgdGhlIGluZm9ybWF0aW9uIGl0Ci0jIG5lZWRzLgotIwotIyBJbiB1cGRhdGUsIGNhbGwgaXQgd2l0aCBhIHJlZm5hbWUgZm9sbG93ZWQgYnkgYSBsaXN0IG9mIGNvbW1pdHM6Ci0jIFlvdSB3YW50IHRvIHJldmVyc2UgdGhlIG9yZGVyIGdpdCByZXYtbGlzdCBlbWl0cyBiZWNhdXNlIGl0IGxpc3RzCi0jIGZyb20gbW9zdCByZWNlbnQgdG8gb2xkZXN0LgotIwotIyAvcGF0aC90by9jaWFib3QucHkgJHtyZWZuYW1lfSAkKGdpdCByZXYtbGlzdCAke29sZGhlYWR9Li4ke25ld2hlYWR9IHwgdGFjKQotIwotIyBDb25maWd1cmF0aW9uIHZhcmlhYmxlcyBhZmZlY3RpbmcgdGhpcyBzY3JpcHQ6Ci0jCi0jIGNpYWJvdC5wcm9qZWN0ID0gbmFtZSBvZiB0aGUgcHJvamVjdAotIyBjaWFib3QucmVwbyA9IG5hbWUgb2YgdGhlIHByb2plY3QgcmVwbyBmb3IgZ2l0d2ViL2NnaXQgcHVycG9zZXMKLSMgY2lhYm90LnhtbHJwYyAgPSBpZiB0cnVlIChkZWZhdWx0KSwgc2hpcCBub3RpZmljYXRpb25zIHZpYSBYTUwtUlBDCi0jIGNpYWJvdC5yZXZmb3JtYXQgPSBmb3JtYXQgaW4gd2hpY2ggdGhlIHJldmlzaW9uIGlzIHNob3duCi0jCi0jIGNpYWJvdC5wcm9qZWN0IGRlZmF1bHRzIHRvIHRoZSBkaXJlY3RvcnkgbmFtZSBvZiB0aGUgcmVwb3NpdG9yeSB0b3BsZXZlbC4KLSMgY2lhYm90LnJlcG8gZGVmYXVsdHMgdG8gY2lhYm90LnByb2plY3QgbG93ZXJjYXNlZC4KLSMKLSMgVGhpcyBtZWFucyB0aGF0IGluIHRoZSBub3JtYWwgY2FzZSB5b3UgbmVlZCBub3QgZG8gYW55IGNvbmZpZ3VyYXRpb24gYXQgYWxsLAotIyBidXQgc2V0dGluZyB0aGUgcHJvamVjdCBuYW1lIHdpbGwgc3BlZWQgaXQgdXAgc2xpZ2h0bHkuCi0jCi0jIFRoZSByZXZmb3JtYXQgdmFyaWFibGUgbWF5IGhhdmUgdGhlIGZvbGxvd2luZyB2YWx1ZXMKLSMgcmF3IC0+IGZ1bGwgaGV4IElEIG9mIGNvbW1pdAotIyBzaG9ydCAtPiBmaXJzdCAxMiBjaGFycyBvZiBoZXggSUQKLSMgZGVzY3JpYmUgPSAtPiBkZXNjcmliZSByZWxhdGl2ZSB0byBsYXN0IHRhZywgZmFsbGluZyBiYWNrIHRvIHNob3J0Ci0jIFRoZSBkZWZhdWx0IGlzICdkZXNjcmliZScuCi0jCi0jIE5vdGU6IHRoZSBDSUEgcHJvamVjdCBub3cgc2F5cyBvbmx5IFhNTC1SUEMgaXMgcmVsaWFibGUsIHNvCi0jIHdlIGRlZmF1bHQgdG8gdGhhdC4KLSMKLQotaW1wb3J0IHN5cwotaWYgc3lzLmhleHZlcnNpb24gPCAweDAyMDAwMDAwOgotICAgICAgICAjIFRoZSBsaW1pdGVyIGlzIHRoZSB4bWwuc2F4IG1vZHVsZQotICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCJjaWFib3QucHk6IHJlcXVpcmVzIFB5dGhvbiAyLjAuMCBvciBsYXRlci5cbiIpCi0gICAgICAgIHN5cy5leGl0KDEpCi0KLWltcG9ydCBvcywgY29tbWFuZHMsIHNvY2tldCwgdXJsbGliCi1mcm9tIHhtbC5zYXguc2F4dXRpbHMgaW1wb3J0IGVzY2FwZQotCi0jIENoYW5nZXNldCBVUkwgcHJlZml4IGZvciB5b3VyIHJlcG86IHdoZW4gdGhlIGNvbW1pdCBJRCBpcyBhcHBlbmRlZAotIyB0byB0aGlzLCBpdCBzaG91bGQgcG9pbnQgYXQgYSBDR0kgdGhhdCB3aWxsIGRpc3BsYXkgdGhlIGNvbW1pdAotIyB0aHJvdWdoIGdpdHdlYiBvciBzb21ldGhpbmcgc2ltaWxhci4gVGhlIGRlZmF1bHRzIHdpbGwgcHJvYmFibHkKLSMgd29yayBpZiB5b3UgaGF2ZSBhIHR5cGljYWwgZ2l0d2ViL2NnaXQgc2V0dXAuCi0jCi0jdXJscHJlZml4PSJodHRwOi8vJShob3N0KXMvY2dpLWJpbi9naXR3ZWIuY2dpP3A9JShyZXBvKXM7YT1jb21taXQ7aD0iCi11cmxwcmVmaXg9Imh0dHA6Ly8lKGhvc3Qpcy9jZ2ktYmluL2NnaXQuY2dpLyUocmVwbylzL2NvbW1pdC8/aWQ9IgotCi0jIFRoZSBzZXJ2aWNlIHVzZWQgdG8gdHVybiB5b3VyIGdpdHdlYmJpc2ggVVJMIGludG8gYSB0aW55dXJsIHNvIGl0Ci0jIHdpbGwgdGFrZSB1cCBsZXNzIHNwYWNlIG9uIHRoZSBJUkMgbm90aWZpY2F0aW9uIGxpbmUuCi10aW55aWZpZXIgPSAiaHR0cDovL3Rpbnl1cmwuY29tL2FwaS1jcmVhdGUucGhwP3VybD0iCi0KLSMgVGhlIHRlbXBsYXRlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIFhNTCBtZXNzYWdlcyB0byBDSUEuICBZb3UgY2FuIG1ha2UKLSMgdmlzaWJsZSBjaGFuZ2VzIHRvIHRoZSBJUkMtYm90IG5vdGlmaWNhdGlvbiBsaW5lcyBieSBoYWNraW5nIHRoaXMuCi0jIFRoZSBkZWZhdWx0IHdpbGwgcHJvZHVjZSBhIG5vdGlmaWNhdGlvbiBsaW5lIHRoYXQgbG9va3MgbGlrZSB0aGlzOgotIwotIyAke3Byb2plY3R9OiAke2F1dGhvcn0gJHtyZXBvfToke2JyYW5jaH0gKiAke3Jldn0gJHtmaWxlc306ICR7bG9nbXNnfSAke3VybH0KLSMKLSMgQnkgb21pdHRpbmcgJGZpbGVzIHlvdSBjYW4gY29sbGFwc2UgdGhlIGZpbGVzIHBhcnQgdG8gYSBzaW5nbGUgc2xhc2guCi14bWwgPSAnJydcCi08bWVzc2FnZT4KLSAgPGdlbmVyYXRvcj4KLSAgICA8bmFtZT5DSUEgUHl0aG9uIGNsaWVudCBmb3IgR2l0PC9uYW1lPgotICAgIDx2ZXJzaW9uPiUodmVyc2lvbilzPC92ZXJzaW9uPgotICAgIDx1cmw+JShnZW5lcmF0b3IpczwvdXJsPgotICA8L2dlbmVyYXRvcj4KLSAgPHNvdXJjZT4KLSAgICA8cHJvamVjdD4lKHByb2plY3QpczwvcHJvamVjdD4KLSAgICA8YnJhbmNoPiUocmVwbylzOiUoYnJhbmNoKXM8L2JyYW5jaD4KLSAgPC9zb3VyY2U+Ci0gIDx0aW1lc3RhbXA+JSh0cylzPC90aW1lc3RhbXA+Ci0gIDxib2R5PgotICAgIDxjb21taXQ+Ci0gICAgICA8YXV0aG9yPiUoYXV0aG9yKXM8L2F1dGhvcj4KLSAgICAgIDxyZXZpc2lvbj4lKHJldilzPC9yZXZpc2lvbj4KLSAgICAgIDxmaWxlcz4KLSAgICAgICAgJShmaWxlcylzCi0gICAgICA8L2ZpbGVzPgotICAgICAgPGxvZz4lKGxvZ21zZylzICUodXJsKXM8L2xvZz4KLSAgICAgIDx1cmw+JSh1cmwpczwvdXJsPgotICAgIDwvY29tbWl0PgotICA8L2JvZHk+Ci08L21lc3NhZ2U+Ci0nJycKLQotIwotIyBObyB1c2VyLXNlcnZpY2VhYmxlIHBhcnRzIGJlbG93IHRoaXMgbGluZToKLSMKLQotIyBXaGVyZSB0byBzaGlwIGUtbWFpbCBub3RpZmljYXRpb25zLgotdG9hZGRyID0gImNpYUBjaWEudmMiCi0KLSMgSWRlbnRpZnkgdGhlIGdlbmVyYXRvciBzY3JpcHQuCi0jIFNob3VsZCBvbmx5IGNoYW5nZSB3aGVuIHRoZSBzY3JpcHQgaXRzZWxmIGdldHMgYSBuZXcgaG9tZSBhbmQgbWFpbnRhaW5lci4KLWdlbmVyYXRvciA9ICJodHRwOi8vd3d3LmNhdGIub3JnL35lc3IvY2lhYm90LnB5IgotdmVyc2lvbiA9ICIzLjYiCi0KLWRlZiBkbyhjb21tYW5kKToKLSAgICByZXR1cm4gY29tbWFuZHMuZ2V0c3RhdHVzb3V0cHV0KGNvbW1hbmQpWzFdCi0KLWRlZiByZXBvcnQocmVmbmFtZSwgbWVyZ2VkLCB4bWxycGM9VHJ1ZSk6Ci0gICAgIkdlbmVyYXRlIGEgY29tbWl0IG5vdGlmaWNhdGlvbiB0byBiZSByZXBvcnRlZCB0byBDSUEiCi0KLSAgICAjIFRyeSB0byB0aW55ZnkgYSByZWZlcmVuY2UgdG8gYSB3ZWIgdmlldyBmb3IgdGhpcyBjb21taXQuCi0gICAgdHJ5OgotICAgICAgICB1cmwgPSBvcGVuKHVybGxpYi51cmxyZXRyaWV2ZSh0aW55aWZpZXIgKyB1cmxwcmVmaXggKyBtZXJnZWQpWzBdKS5yZWFkKCkKLSAgICBleGNlcHQ6Ci0gICAgICAgIHVybCA9IHVybHByZWZpeCArIG1lcmdlZAotCi0gICAgYnJhbmNoID0gb3MucGF0aC5iYXNlbmFtZShyZWZuYW1lKQotCi0gICAgIyBDb21wdXRlIGEgZGVzY3JpcHRpb24gZm9yIHRoZSByZXZpc2lvbgotICAgIGlmIHJldmZvcm1hdCA9PSAncmF3JzoKLSAgICAgICAgcmV2ID0gbWVyZ2VkCi0gICAgZWxpZiByZXZmb3JtYXQgPT0gJ3Nob3J0JzoKLSAgICAgICAgcmV2ID0gJycKLSAgICBlbHNlOiAjIHJldmZvcm1hdCA9PSAnZGVzY3JpYmUnCi0gICAgICAgIHJldiA9IGRvKCJnaXQgZGVzY3JpYmUgJXMgMj4vZGV2L251bGwiICUgbWVyZ2VkKQotICAgIGlmIG5vdCByZXY6Ci0gICAgICAgIHJldiA9IG1lcmdlZFs6MTJdCi0KLSAgICAjIEV4dHJhY3QgdGhlIG1ldGEtaW5mb3JtYXRpb24gZm9yIHRoZSBjb21taXQKLSAgICBmaWxlcz1kbygiZ2l0IGRpZmYtdHJlZSAtciAtLW5hbWUtb25seSAnIisgbWVyZ2VkICsiJyB8IHNlZCAtZSAnMWQnIC1lICdzLS4qLTxmaWxlPiY8L2ZpbGU+LSciKQotICAgIG1ldGFpbmZvID0gZG8oImdpdCBsb2cgLTEgJy0tcHJldHR5PWZvcm1hdDolYW4gPCVhZT4lbiVhdCVuJXMnICIgKyBtZXJnZWQpCi0gICAgKGF1dGhvciwgdHMsIGxvZ21zZykgPSBtZXRhaW5mby5zcGxpdCgiXG4iKQotICAgIGxvZ21zZyA9IGVzY2FwZShsb2dtc2cpCi0KLSAgICAjIFRoaXMgZGlzY2FyZHMgdGhlIHBhcnQgb2YgdGhlIGF1dGhvcidzIGFkZHJlc3MgYWZ0ZXIgQC4KLSAgICAjIE1pZ2h0IGJlIGJlIG5pY2UgdG8gc2hpcCB0aGUgZnVsbCBlbWFpbCBhZGRyZXNzLCBpZiBub3QKLSAgICAjIGZvciBzcGFtbWVycycgYWRkcmVzcyBoYXJ2ZXN0ZXJzIC0gZ2V0dGluZyB0aGlzIHdyb25nCi0gICAgIyB3b3VsZCBtYWtlIHRoZSBmcmVlbm9kZSAjY29tbWl0cyBjaGFubmVsIGludG8gaGFydmVzdGVyIGhlYXZlbi4KLSAgICBhdXRob3IgPSBlc2NhcGUoYXV0aG9yLnJlcGxhY2UoIjwiLCAiIikuc3BsaXQoIkAiKVswXS5zcGxpdCgpWy0xXSkKLQotICAgICMgVGhpcyBpZ25vcmVzIHRoZSB0aW1lem9uZS4gIE5vdCBjbGVhciB3aGF0IHRvIGRvIHdpdGggaXQuLi4KLSAgICB0cyA9IHRzLnN0cmlwKCkuc3BsaXQoKVswXQotCi0gICAgY29udGV4dCA9IGxvY2FscygpCi0gICAgY29udGV4dC51cGRhdGUoZ2xvYmFscygpKQotCi0gICAgb3V0ID0geG1sICUgY29udGV4dAotICAgIG1haWwgPSAnJydcCi1NZXNzYWdlLUlEOiA8JShtZXJnZWQpcy4lKGF1dGhvcilzQCUocHJvamVjdClzPgotRnJvbTogJShmcm9tYWRkcilzCi1UbzogJSh0b2FkZHIpcwotQ29udGVudC10eXBlOiB0ZXh0L3htbAotU3ViamVjdDogRGVsaXZlclhNTAotCi0lKG91dClzJycnICUgbG9jYWxzKCkKLQotICAgIGlmIHhtbHJwYzoKLSAgICAgICAgcmV0dXJuIG91dAotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiBtYWlsCi0KLWlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgaW1wb3J0IGdldG9wdAotCi0gICAgIyBHZXQgYWxsIGNvbmZpZyB2YXJpYWJsZXMKLSAgICByZXZmb3JtYXQgPSBkbygiZ2l0IGNvbmZpZyAtLWdldCBjaWFib3QucmV2Zm9ybWF0IikKLSAgICBwcm9qZWN0ID0gZG8oImdpdCBjb25maWcgLS1nZXQgY2lhYm90LnByb2plY3QiKQotICAgIHJlcG8gPSBkbygiZ2l0IGNvbmZpZyAtLWdldCBjaWFib3QucmVwbyIpCi0gICAgeG1scnBjID0gZG8oImdpdCBjb25maWcgLS1nZXQgY2lhYm90LnhtbHJwYyIpCi0gICAgeG1scnBjID0gbm90ICh4bWxycGMgYW5kIHhtbHJwYyA9PSAiZmFsc2UiKQotCi0gICAgaG9zdCA9IHNvY2tldC5nZXRmcWRuKCkKLSAgICBmcm9tYWRkciA9ICJDSUFCT1QtTk9SRVBMWUAiICsgaG9zdAotCi0gICAgdHJ5OgotICAgICAgICAob3B0aW9ucywgYXJndW1lbnRzKSA9IGdldG9wdC5nZXRvcHQoc3lzLmFyZ3ZbMTpdLCAibnA6eFYiKQotICAgIGV4Y2VwdCBnZXRvcHQuR2V0b3B0RXJyb3IsIG1zZzoKLSAgICAgICAgcHJpbnQgImNpYWJvdC5weTogIiArIHN0cihtc2cpCi0gICAgICAgIHJhaXNlIFN5c3RlbUV4aXQsIDEKLQotICAgIG5vdGlmeSA9IFRydWUKLSAgICBmb3IgKHN3aXRjaCwgdmFsKSBpbiBvcHRpb25zOgotICAgICAgICBpZiBzd2l0Y2ggPT0gJy1wJzoKLSAgICAgICAgICAgIHByb2plY3QgPSB2YWwKLSAgICAgICAgZWxpZiBzd2l0Y2ggPT0gJy1uJzoKLSAgICAgICAgICAgIG5vdGlmeSA9IEZhbHNlCi0gICAgICAgIGVsaWYgc3dpdGNoID09ICcteCc6Ci0gICAgICAgICAgICB4bWxycGMgPSBUcnVlCi0gICAgICAgIGVsaWYgc3dpdGNoID09ICctVic6Ci0gICAgICAgICAgICBwcmludCAiY2lhYm90LnB5OiB2ZXJzaW9uIiwgdmVyc2lvbgotICAgICAgICAgICAgc3lzLmV4aXQoMCkKLQotICAgICMgVGhlIHByb2plY3QgdmFyaWFibGUgZGVmYXVsdHMgdG8gdGhlIG5hbWUgb2YgdGhlIHJlcG9zaXRvcnkgdG9wbGV2ZWwuCi0gICAgaWYgbm90IHByb2plY3Q6Ci0gICAgICAgIGhlcmUgPSBvcy5nZXRjd2QoKQotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGhlcmUsICIuZ2l0IikpOgotICAgICAgICAgICAgICAgIHByb2plY3QgPSBvcy5wYXRoLmJhc2VuYW1lKGhlcmUpCi0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIGVsaWYgaGVyZSA9PSAnLyc6Ci0gICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiY2lhYm90LnB5OiBubyAuZ2l0IGJlbG93IHJvb3QhXG4iKQotICAgICAgICAgICAgICAgIHN5cy5leGl0KDEpCi0gICAgICAgICAgICBoZXJlID0gb3MucGF0aC5kaXJuYW1lKGhlcmUpCi0KLSAgICBpZiBub3QgcmVwbzoKLSAgICAgICAgcmVwbyA9IHByb2plY3QubG93ZXIoKQotCi0gICAgdXJscHJlZml4ID0gdXJscHJlZml4ICUgZ2xvYmFscygpCi0KLSAgICAjIFRoZSBzY3JpcHQgd2FudHMgYSByZWZlcmVuY2UgdG8gaGVhZCBmb2xsb3dlZCBieSB0aGUgbGlzdCBvZgotICAgICMgY29tbWl0IElEIHRvIHJlcG9ydCBhYm91dC4KLSAgICBpZiBsZW4oYXJndW1lbnRzKSA9PSAwOgotICAgICAgICByZWZuYW1lID0gZG8oImdpdCBzeW1ib2xpYy1yZWYgSEVBRCAyPi9kZXYvbnVsbCIpCi0gICAgICAgIG1lcmdlcyA9IFtkbygiZ2l0IHJldi1wYXJzZSBIRUFEIildCi0gICAgZWxzZToKLSAgICAgICAgcmVmbmFtZSA9IGFyZ3VtZW50c1swXQotICAgICAgICBtZXJnZXMgPSBhcmd1bWVudHNbMTpdCi0KLSAgICBpZiBub3RpZnk6Ci0gICAgICAgIGlmIHhtbHJwYzoKLSAgICAgICAgICAgIGltcG9ydCB4bWxycGNsaWIKLSAgICAgICAgICAgIHNlcnZlciA9IHhtbHJwY2xpYi5TZXJ2ZXIoJ2h0dHA6Ly9jaWEudmMvUlBDMicpOwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgaW1wb3J0IHNtdHBsaWIKLSAgICAgICAgICAgIHNlcnZlciA9IHNtdHBsaWIuU01UUCgnbG9jYWxob3N0JykKLQotICAgIGZvciBtZXJnZWQgaW4gbWVyZ2VzOgotICAgICAgICBtZXNzYWdlID0gcmVwb3J0KHJlZm5hbWUsIG1lcmdlZCwgeG1scnBjKQotICAgICAgICBpZiBub3Qgbm90aWZ5OgotICAgICAgICAgICAgcHJpbnQgbWVzc2FnZQotICAgICAgICBlbGlmIHhtbHJwYzoKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAjIFJQQyBzZXJ2ZXIgaXMgZmxha3ksIHRoaXMgY2FuIGZhaWwgZHVlIHRvIHRpbWVvdXQuCi0gICAgICAgICAgICAgICAgc2VydmVyLmh1Yi5kZWxpdmVyKG1lc3NhZ2UpCi0gICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yLCBlOgotICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoIiVzXG4iICUgZSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlcnZlci5zZW5kbWFpbChmcm9tYWRkciwgW3RvYWRkcl0sIG1lc3NhZ2UpCi0KLSAgICBpZiBub3RpZnk6Ci0gICAgICAgIGlmIG5vdCB4bWxycGM6Ci0gICAgICAgICAgICBzZXJ2ZXIucXVpdCgpCi0KLSNFbmQKZGlmZiAtLWdpdCBhL2NvbnRyaWIvY2lhYm90L2NpYWJvdC5zaCBiL2NvbnRyaWIvY2lhYm90L2NpYWJvdC5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggZGZiNzFhMS4uMDAwMDAwMAotLS0gYS9jb250cmliL2NpYWJvdC9jaWFib3Quc2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMzMgKzAsMCBAQAotIyEvYmluL3NoCi0jIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIKLSMgQ29weXJpZ2h0IChjKSAyMDA2IEZlcm5hbmRvIEouIFBlcmVkYSA8ZmVyZHlAZ2VudG9vLm9yZz4KLSMgQ29weXJpZ2h0IChjKSAyMDA4IE5hdGFuYWVsIENvcGEgPG5hdGFuYWVsLmNvcGFAZ21haWwuY29tPgotIyBDb3B5cmlnaHQgKGMpIDIwMTAgRXJpYyBTLiBSYXltb25kIDxlc3JAdGh5cnN1cy5jb20+Ci0jIEFzc2lzdGFuY2UgYW5kIHJldmlldyBieSBQZXRyIEJhdWRpcywgYXV0aG9yIG9mIGNpYWJvdC5wbCwKLSMgaXMgZ3JhdGVmdWxseSBhY2tub3dsZWRnZWQuCi0jCi0jIFRoaXMgaXMgYSB2ZXJzaW9uIDMueCBvZiBjaWFib3Quc2g7IHVzZSAtViB0byBmaW5kIHRoZSBleGFjdAotIyB2ZXJzaW9uLiAgVmVyc2lvbnMgMSBhbmQgMiB3ZXJlIHNoaXBwZWQgaW4gMjAwNiBhbmQgMjAwOCBhbmQgYXJlIG5vdAotIyB2ZXJzaW9uLXN0YW1wZWQuICBUaGUgdmVyc2lvbiAyIG1haW50YWluZXIgaGFzIHBhc3NlZCB0aGUgYmF0b24uCi0jCi0jIE5vdGU6IFRoaXMgc2NyaXB0IHNob3VsZCBiZSBjb25zaWRlcmVkIG9ic29sZXRlLgotIyBUaGVyZSBpcyBhIGZhc3RlciwgYmV0dGVyLWRvY3VtZW50ZWQgcmV3cml0ZSBpbiBQeXRob246IGZpbmQgaXQgYXMgY2lhYm90LnB5Ci0jIFVzZSB0aGlzIG9ubHkgaWYgeW91ciBob3N0aW5nIHNpdGUgZm9yYmlkcyBQeXRob24gaG9va3MuCi0jIEl0IHJlcXVpcmVzOiBnaXQoMSksIGhvc3RuYW1lKDEpLCBjdXQoMSksIHNlbmRtYWlsKDEpLCBhbmQgd2dldCgxKS4KLSMKLSMgT3JpZ2luYWxseSBiYXNlZCBvbiBHaXQgY2lhYm90LnBsIGJ5IFBldHIgQmF1ZGlzLgotIyBUaGlzIHNjcmlwdCBjb250YWlucyBwb3JjZWxhaW4gYW5kIHBvcmNlbGFpbiBieXByb2R1Y3RzLgotIwotIyB1c2FnZTogY2lhYm90LnNoIFstVl0gWy1uXSBbLXAgcHJvamVjdG5hbWVdIFtyZWZuYW1lIGNvbW1pdF0KLSMKLSMgVGhpcyBzY3JpcHQgaXMgbWVhbnQgdG8gYmUgcnVuIGVpdGhlciBpbiBhIHBvc3QtY29tbWl0IGhvb2sgb3IgaW4gYW4KLSMgdXBkYXRlIGhvb2suIFRyeSBpdCB3aXRoIC1uIHRvIHNlZSB0aGUgbm90aWZpY2F0aW9uIG1haWwgZHVtcGVkIHRvCi0jIHN0ZG91dCBhbmQgdmVyaWZ5IHRoYXQgaXQgbG9va3Mgc2FuZS4gV2l0aCAtViBpdCBkdW1wcyBpdHMgdmVyc2lvbgotIyBhbmQgZXhpdHMuCi0jCi0jIEluIHBvc3QtY29tbWl0LCBydW4gaXQgd2l0aG91dCBhcmd1bWVudHMuIEl0IHdpbGwgcXVlcnkgZm9yCi0jIGN1cnJlbnQgSEVBRCBhbmQgdGhlIGxhdGVzdCBjb21taXQgSUQgdG8gZ2V0IHRoZSBpbmZvcm1hdGlvbiBpdAotIyBuZWVkcy4KLSMKLSMgSW4gdXBkYXRlLCB5b3UgaGF2ZSB0byBjYWxsIGl0IG9uY2UgcGVyIG1lcmdlZCBjb21taXQ6Ci0jCi0jICAgICAgIHJlZm5hbWU9JDEKLSMgICAgICAgb2xkaGVhZD0kMgotIyAgICAgICBuZXdoZWFkPSQzCi0jICAgICAgIGZvciBtZXJnZWQgaW4gJChnaXQgcmV2LWxpc3QgJHtvbGRoZWFkfS4uJHtuZXdoZWFkfSB8IHRhYykgOyBkbwotIyAgICAgICAgICAgICAgIC9wYXRoL3RvL2NpYWJvdC5zaCAke3JlZm5hbWV9ICR7bWVyZ2VkfQotIyAgICAgICBkb25lCi0jCi0jIFRoZSByZWFzb24gZm9yIHRoZSB0YWMgY2FsbCBpcyB0aGF0IGdpdCByZXYtbGlzdCBlbWl0cyBjb21taXRzIGZyb20KLSMgbW9zdCByZWNlbnQgdG8gbGVhc3QgLSBiZXR0ZXIgdG8gc2hpcCBub3RpZmljYXRpb25zIGZyb20gb2xkZXN0IHRvIG5ld2VzdC4KLSMKLSMgQ29uZmlndXJhdGlvbiB2YXJpYWJsZXMgYWZmZWN0aW5nIHRoaXMgc2NyaXB0OgotIwotIyBjaWFib3QucHJvamVjdCA9IG5hbWUgb2YgdGhlIHByb2plY3QKLSMgY2lhYm90LnJlcG8gPSBuYW1lIG9mIHRoZSBwcm9qZWN0IHJlcG8gZm9yIGdpdHdlYi9jZ2l0IHB1cnBvc2VzCi0jIGNpYWJvdC5yZXZmb3JtYXQgPSBmb3JtYXQgaW4gd2hpY2ggdGhlIHJldmlzaW9uIGlzIHNob3duCi0jCi0jIGNpYWJvdC5wcm9qZWN0IGRlZmF1bHRzIHRvIHRoZSBkaXJlY3RvcnkgbmFtZSBvZiB0aGUgcmVwb3NpdG9yeSB0b3BsZXZlbC4KLSMgY2lhYm90LnJlcG8gZGVmYXVsdHMgdG8gY2lhYm90LnByb2plY3QgbG93ZXJjYXNlZC4KLSMKLSMgVGhpcyBtZWFucyB0aGF0IGluIHRoZSBub3JtYWwgY2FzZSB5b3UgbmVlZCBub3QgZG8gYW55IGNvbmZpZ3VyYXRpb24gYXQgYWxsLAotIyBidXQgc2V0dGluZyB0aGUgcHJvamVjdCBuYW1lIHdpbGwgc3BlZWQgaXQgdXAgc2xpZ2h0bHkuCi0jCi0jIFRoZSByZXZmb3JtYXQgdmFyaWFibGUgbWF5IGhhdmUgdGhlIGZvbGxvd2luZyB2YWx1ZXMKLSMgcmF3IC0+IGZ1bGwgaGV4IElEIG9mIGNvbW1pdAotIyBzaG9ydCAtPiBmaXJzdCAxMiBjaGFycyBvZiBoZXggSUQKLSMgZGVzY3JpYmUgPSAtPiBkZXNjcmliZSByZWxhdGl2ZSB0byBsYXN0IHRhZywgZmFsbGluZyBiYWNrIHRvIHNob3J0Ci0jIFRoZSBkZWZhdWx0IGlzICdkZXNjcmliZScuCi0jCi0jIE5vdGU6IHRoZSBzaGVsbCBhbmNlc3RvcnMgb2YgdGhpcyBzY3JpcHQgdXNlZCBtYWlsLCBub3QgWE1MLVJQQywgaW4KLSMgb3JkZXIgdG8gYXZvaWQgc3RhbGxpbmcgdW50aWwgdGltZW91dCB3aGVuIHRoZSBDSUEgWE1MLVJQQyBzZXJ2ZXIgaXMKLSMgZG93bi4gSXQgaXMgdW5rbm93biB3aGV0aGVyIHRoaXMgaXMgc3RpbGwgYW4gaXNzdWUgaW4gMjAxMCwgYnV0Ci0jIFhNTC1SUEMgd291bGQgYmUgYW5ub3lpbmcgdG8gZG8gZnJvbSBzaCBpbiBhbnkgY2FzZS4gKFhNTC1SUEMgZG9lcwotIyBoYXZlIHRoZSBhZHZhbnRhZ2UgdGhhdCBpdCBndWFyYW50ZWVzIG5vdGlmaWNhdGlvbiBvZiBtdWx0aXBsZSBjb21taXRzCi0jIHNoaXBwZWQgZnJvbSBhbiB1cGRhdGUgaW4gdGhlaXIgYWN0dWFsIG9yZGVyLikKLSMKLQotIyBUaGUgcHJvamVjdCBhcyBrbm93biB0byBDSUEuIFlvdSBjYW4gc2V0IHRoaXMgd2l0aCBhIC1wIG9wdGlvbiwKLSMgb3IgbGV0IGl0IGRlZmF1bHQgdG8gdGhlIGRpcmVjdG9yeSBuYW1lIG9mIHRoZSByZXBvIHRvcGxldmVsLgotcHJvamVjdD0kKGdpdCBjb25maWcgLS1nZXQgY2lhYm90LnByb2plY3QpCi0KLWlmIFsgLXogJHByb2plY3QgXQotdGhlbgotICAgIGhlcmU9YHB3ZGA7Ci0gICAgd2hpbGUgOjsgZG8KLQlpZiBbIC1kICRoZXJlLy5naXQgXQotCXRoZW4KLQkgICAgcHJvamVjdD1gYmFzZW5hbWUgJGhlcmVgCi0JICAgIGJyZWFrCi0JZWxpZiBbICRoZXJlID0gJy8nIF0KLQl0aGVuCi0JICAgIGVjaG8gImNpYWJvdC5zaDogbm8gLmdpdCBiZWxvdyByb290ISIKLQkgICAgZXhpdCAxCi0JZmkKLQloZXJlPWBkaXJuYW1lICRoZXJlYAotICAgIGRvbmUKLWZpCi0KLSMgTmFtZSBvZiB0aGUgcmVwbyBmb3IgZ2l0d2ViL2NnaXQgcHVycG9zZXMKLXJlcG89JChnaXQgY29uZmlnIC0tZ2V0IGNpYWJvdC5yZXBvKQotWyAteiAkcmVwb10gJiYgcmVwbz0kKGVjaG8gIiR7cHJvamVjdH0iIHwgdHIgJ1tBLVpdJyAnW2Etel0nKQotCi0jIFdoYXQgcmV2aXNpb24gZm9ybWF0IGRvIHdlIHdhbnQgaW4gdGhlIHN1bW1hcnk/Ci1yZXZmb3JtYXQ9JChnaXQgY29uZmlnIC0tZ2V0IGNpYWJvdC5yZXZmb3JtYXQpCi0KLSMgRnVsbHkgcXVhbGlmaWVkIGRvbWFpbiBuYW1lIG9mIHRoZSByZXBvIGhvc3QuICBZb3UgY2FuIGhhcmR3aXJlIHRoaXMKLSMgdG8gbWFrZSB0aGUgc2NyaXB0IGZhc3Rlci4gVGhlIC1mIG9wdGlvbiB3b3JrcyB1bmRlciBMaW51eCBhbmQgRnJlZUJTRCwKLSMgYnV0IG5vdCBPcGVuQlNEIGFuZCBOZXRCU0QuIEJ1dCB1bmRlciBPcGVuQlNEIGFuZCBOZXRCU0QsCi0jIGhvc3RuYW1lIHdpdGhvdXQgb3B0aW9ucyBnaXZlcyB0aGUgRlFETi4KLWlmIGhvc3RuYW1lIC1mID4vZGV2L251bGwgMj4mMQotdGhlbgotICAgIGhvc3RuYW1lPWBob3N0bmFtZSAtZmAKLWVsc2UKLSAgICBob3N0bmFtZT1gaG9zdG5hbWVgCi1maQotCi0jIENoYW5nZXNldCBVUkwgcHJlZml4IGZvciB5b3VyIHJlcG86IHdoZW4gdGhlIGNvbW1pdCBJRCBpcyBhcHBlbmRlZAotIyB0byB0aGlzLCBpdCBzaG91bGQgcG9pbnQgYXQgYSBDR0kgdGhhdCB3aWxsIGRpc3BsYXkgdGhlIGNvbW1pdAotIyB0aHJvdWdoIGdpdHdlYiBvciBzb21ldGhpbmcgc2ltaWxhci4gVGhlIGRlZmF1bHRzIHdpbGwgcHJvYmFibHkKLSMgd29yayBpZiB5b3UgaGF2ZSBhIHR5cGljYWwgZ2l0d2ViL2NnaXQgc2V0dXAuCi0jdXJscHJlZml4PSJodHRwOi8vJHtob3N0fS9jZ2ktYmluL2dpdHdlYi5jZ2k/cD0ke3JlcG99O2E9Y29tbWl0O2g9IgotdXJscHJlZml4PSJodHRwOi8vJHtob3N0fS9jZ2ktYmluL2NnaXQuY2dpLyR7cmVwb30vY29tbWl0Lz9pZD0iCi0KLSMKLSMgWW91IHByb2JhYmx5IHdpbGwgbm90IG5lZWQgdG8gY2hhbmdlIHRoZSBmb2xsb3dpbmc6Ci0jCi0KLSMgSWRlbnRpZnkgdGhlIHNjcmlwdC4gVGhlICdnZW5lcmF0b3InIHZhcmlhYmxlIHNob3VsZCBjaGFuZ2Ugb25seQotIyB3aGVuIHRoZSBzY3JpcHQgaXRzZWxmIGdldHMgYSBuZXcgaG9tZSBhbmQgbWFpbnRhaW5lci4KLWdlbmVyYXRvcj0iaHR0cDovL3d3dy5jYXRiLm9yZy9+ZXNyL2NpYWJvdC9jaWFib3Quc2giCi12ZXJzaW9uPTMuNQotCi0jIEFkZHJlc3NlcyBmb3IgdGhlIGUtbWFpbAotZnJvbT0iQ0lBQk9ULU5PUkVQTFlAJHtob3N0bmFtZX0iCi10bz0iY2lhQGNpYS52YyIKLQotIyBTTVRQIGNsaWVudCB0byB1c2UgLSBtYXkgbmVlZCB0byBlZGl0IHRoZSBhYnNvbHV0ZSBwYXRobmFtZSBmb3IgeW91ciBzeXN0ZW0KLXNlbmRtYWlsPSJzZW5kbWFpbCAtdCAtZiAke2Zyb219IgotCi0jCi0jIE5vIHVzZXItc2VydmljZWFibGUgcGFydHMgYmVsb3cgdGhpcyBsaW5lOgotIwotCi0jIFNob3VsZCBpbmNsdWRlIGFsbCBwbGFjZXMgc2VuZG1haWwgaXMgbGlrZWx5IHRvIGx1cmsuCi1QQVRIPSIkUEFUSDovdXNyL3NiaW4vIgotCi1tb2RlPW1haWxpdAotd2hpbGUgZ2V0b3B0cyBwblYgb3B0Ci1kbwotICAgIGNhc2UgJG9wdCBpbgotCXApIHByb2plY3Q9JDI7IHNoaWZ0IDsgc2hpZnQgOzsKLQluKSBtb2RlPWR1bXBpdDsgc2hpZnQgOzsKLQlWKSBlY2hvICJjaWFib3Quc2g6IHZlcnNpb24gJHZlcnNpb24iOyBleGl0IDA7IHNoaWZ0IDs7Ci0gICAgZXNhYwotZG9uZQotCi0jIENvdWdoIGFuZCBkaWUgaWYgdXNlciBoYXMgbm90IHNwZWNpZmllZCBhIHByb2plY3QKLWlmIFsgLXogIiRwcm9qZWN0IiBdCi10aGVuCi0gICAgZWNobyAiY2lhYm90LnNoOiBubyBwcm9qZWN0IHNwZWNpZmllZCwgYmFpbGluZyBvdXQuIiA+JjIKLSAgICBleGl0IDEKLWZpCi0KLWlmIFsgJCMgLWVxIDAgXSA7IHRoZW4KLQlyZWZuYW1lPSQoZ2l0IHN5bWJvbGljLXJlZiBIRUFEIDI+L2Rldi9udWxsKQotCW1lcmdlZD0kKGdpdCByZXYtcGFyc2UgSEVBRCkKLWVsc2UKLQlyZWZuYW1lPSQxCi0JbWVyZ2VkPSQyCi1maQotCi0jIFRoaXMgdHJpZXMgdG8gdHVybiB5b3VyIGdpdHdlYmJpc2ggVVJMIGludG8gYSB0aW55dXJsIHNvIGl0IHdpbGwgdGFrZSB1cAotIyBsZXNzIHNwYWNlIG9uIHRoZSBJUkMgbm90aWZpY2F0aW9uIGxpbmUuIFNvbWUgcmVwbyBzaXRlcyAoSSdtIGxvb2tpbmcgYXQKLSMgeW91LCBiZXJsaW9zLmRlISkgZm9yYmlkIHdnZXQgY2FsbHMgZm9yIHNlY3VyaXR5IHJlYXNvbnMuICBPbiB0aGVzZSwKLSMgdGhlIGNvZGUgd2lsbCBmYWxsIGJhY2sgdG8gdGhlIGZ1bGwgdW4tdGlueWZpZWQgVVJMLgotbG9uZ3VybD0ke3VybHByZWZpeH0ke21lcmdlZH0KLXVybD0kKHdnZXQgLU8gLSAtcSBodHRwOi8vdGlueXVybC5jb20vYXBpLWNyZWF0ZS5waHA/dXJsPSR7bG9uZ3VybH0gMj4vZGV2L251bGwpCi1pZiBbIC16ICIkdXJsIiBdOyB0aGVuCi0JdXJsPSIke2xvbmd1cmx9IgotZmkKLQotcmVmbmFtZT0ke3JlZm5hbWUjI3JlZnMvaGVhZHMvfQotCi1jYXNlICRyZXZmb3JtYXQgaW4KLXJhdykgcmV2PSRtZXJnZWQgOzsKLXNob3J0KSByZXY9JycgOzsKLSopIHJldj0kKGdpdCBkZXNjcmliZSAke21lcmdlZH0gMj4vZGV2L251bGwpIDs7Ci1lc2FjCi1bIC16ICR7cmV2fSBdICYmIHJldj0kKGVjaG8gIiRtZXJnZWQiIHwgY3V0IC1jIDEtMTIpCi0KLSMgV2UgZGlzY2FyZCB0aGUgcGFydCBvZiB0aGUgYXV0aG9yJ3MgYWRkcmVzcyBhZnRlciBALgotIyBNaWdodCBiZSBuaWNlIHRvIHNoaXAgdGhlIGZ1bGwgZW1haWwgYWRkcmVzcywgaWYgbm90Ci0jIGZvciBzcGFtbWVycycgYWRkcmVzcyBoYXJ2ZXN0ZXJzIC0gZ2V0dGluZyB0aGlzIHdyb25nCi0jIHdvdWxkIG1ha2UgdGhlIGZyZWVub2RlICNjb21taXRzIGNoYW5uZWwgaW50byBoYXJ2ZXN0ZXIgaGVhdmVuLgotYXV0aG9yPSQoZ2l0IGxvZyAtMSAnLS1wcmV0dHk9Zm9ybWF0OiVhbiA8JWFlPicgJG1lcmdlZCkKLWF1dGhvcj0kKGVjaG8gIiRhdXRob3IiIHwgc2VkIC1uIC1lICcvXi4qPFwoW15AXSpcKS4qJC9zLS1cMS1wJykKLQotbG9nbWVzc2FnZT0kKGdpdCBsb2cgLTEgJy0tcHJldHR5PWZvcm1hdDolcycgJG1lcmdlZCkKLXRzPSQoZ2l0IGxvZyAtMSAnLS1wcmV0dHk9Zm9ybWF0OiVhdCcgJG1lcmdlZCkKLWZpbGVzPSQoZ2l0IGRpZmYtdHJlZSAtciAtLW5hbWUtb25seSAke21lcmdlZH0gfCBzZWQgLWUgJzFkJyAtZSAncy0uKi08ZmlsZT4mPC9maWxlPi0nKQotCi1vdXQ9IgotPG1lc3NhZ2U+Ci0gIDxnZW5lcmF0b3I+Ci0gICAgPG5hbWU+Q0lBIFNoZWxsIGNsaWVudCBmb3IgR2l0PC9uYW1lPgotICAgIDx2ZXJzaW9uPiR7dmVyc2lvbn08L3ZlcnNpb24+Ci0gICAgPHVybD4ke2dlbmVyYXRvcn08L3VybD4KLSAgPC9nZW5lcmF0b3I+Ci0gIDxzb3VyY2U+Ci0gICAgPHByb2plY3Q+JHtwcm9qZWN0fTwvcHJvamVjdD4KLSAgICA8YnJhbmNoPiRyZXBvOiR7cmVmbmFtZX08L2JyYW5jaD4KLSAgPC9zb3VyY2U+Ci0gIDx0aW1lc3RhbXA+JHt0c308L3RpbWVzdGFtcD4KLSAgPGJvZHk+Ci0gICAgPGNvbW1pdD4KLSAgICAgIDxhdXRob3I+JHthdXRob3J9PC9hdXRob3I+Ci0gICAgICA8cmV2aXNpb24+JHtyZXZ9PC9yZXZpc2lvbj4KLSAgICAgIDxmaWxlcz4KLQkke2ZpbGVzfQotICAgICAgPC9maWxlcz4KLSAgICAgIDxsb2c+JHtsb2dtZXNzYWdlfSAke3VybH08L2xvZz4KLSAgICAgIDx1cmw+JHt1cmx9PC91cmw+Ci0gICAgPC9jb21taXQ+Ci0gIDwvYm9keT4KLTwvbWVzc2FnZT4iCi0KLWlmIFsgIiRtb2RlIiA9ICJkdW1waXQiIF0KLXRoZW4KLSAgICBzZW5kbWFpbD1jYXQKLWZpCi0KLSR7c2VuZG1haWx9IDw8IEVPTQotTWVzc2FnZS1JRDogPCR7bWVyZ2VkfS4ke2F1dGhvcn1AJHtwcm9qZWN0fT4KLUZyb206ICR7ZnJvbX0KLVRvOiAke3RvfQotQ29udGVudC10eXBlOiB0ZXh0L3htbAotU3ViamVjdDogRGVsaXZlclhNTAotJHtvdXR9Ci1FT00KLQotIyB2aW06IHNldCB0dz03MCA6CmRpZmYgLS1naXQgYS9jb250cmliL2NvbXBsZXRpb24vZ2l0LWNvbXBsZXRpb24uYmFzaCBiL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi5iYXNoCmluZGV4IGUxYjczMTMuLjk1MjUzNDMgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi5iYXNoCisrKyBiL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi5iYXNoCkBAIC0xLDUgKzEsMyBAQAotIyFiYXNoCi0jCiAjIGJhc2gvenNoIGNvbXBsZXRpb24gc3VwcG9ydCBmb3IgY29yZSBHaXQuCiAjCiAjIENvcHlyaWdodCAoQykgMjAwNiwyMDA3IFNoYXduIE8uIFBlYXJjZSA8c3BlYXJjZUBzcGVhcmNlLm9yZz4KQEAgLTE4MCw5ICsxNzgsOSBAQAogfQogZmkKIAotX19naXRjb21wYWRkICgpCitfX2dpdGNvbXBhcHBlbmQgKCkKIHsKLQlsb2NhbCBpPTAKKwlsb2NhbCBpPSR7I0NPTVBSRVBMWVtAXX0KIAlmb3IgeCBpbiAkMTsgZG8KIAkJaWYgW1sgIiR4IiA9PSAiJDMiKiBdXTsgdGhlbgogCQkJQ09NUFJFUExZW2krK109IiQyJHgkNCIKQEAgLTE5MCw2ICsxODgsMTIgQEAKIAlkb25lCiB9CiAKK19fZ2l0Y29tcGFkZCAoKQoreworCUNPTVBSRVBMWT0oKQorCV9fZ2l0Y29tcGFwcGVuZCAiJEAiCit9CisKICMgR2VuZXJhdGVzIGNvbXBsZXRpb24gcmVwbHksIGFwcGVuZGluZyBhIHNwYWNlIHRvIHBvc3NpYmxlIGNvbXBsZXRpb24gd29yZHMsCiAjIGlmIG5lY2Vzc2FyeS4KICMgSXQgYWNjZXB0cyAxIHRvIDQgYXJndW1lbnRzOgpAQCAtMjIwLDYgKzIyNCwxNCBAQAogCWVzYWMKIH0KIAorIyBWYXJpYXRpb24gb2YgX19naXRjb21wX25sICgpIHRoYXQgYXBwZW5kcyB0byB0aGUgZXhpc3RpbmcgbGlzdCBvZgorIyBjb21wbGV0aW9uIGNhbmRpZGF0ZXMsIENPTVBSRVBMWS4KK19fZ2l0Y29tcF9ubF9hcHBlbmQgKCkKK3sKKwlsb2NhbCBJRlM9JCdcbicKKwlfX2dpdGNvbXBhcHBlbmQgIiQxIiAiJHsyLX0iICIkezMtJGN1cn0iICIkezQtIH0iCit9CisKICMgR2VuZXJhdGVzIGNvbXBsZXRpb24gcmVwbHkgZnJvbSBuZXdsaW5lLXNlcGFyYXRlZCBwb3NzaWJsZSBjb21wbGV0aW9uIHdvcmRzCiAjIGJ5IGFwcGVuZGluZyBhIHNwYWNlIHRvIGFsbCBvZiB0aGVtLgogIyBJdCBhY2NlcHRzIDEgdG8gNCBhcmd1bWVudHM6CkBAIC0yMzEsOCArMjQzLDggQEAKICMgICAgYXBwZW5kZWQuCiBfX2dpdGNvbXBfbmwgKCkKIHsKLQlsb2NhbCBJRlM9JCdcbicKLQlfX2dpdGNvbXBhZGQgIiQxIiAiJHsyLX0iICIkezMtJGN1cn0iICIkezQtIH0iCisJQ09NUFJFUExZPSgpCisJX19naXRjb21wX25sX2FwcGVuZCAiJEAiCiB9CiAKICMgR2VuZXJhdGVzIGNvbXBsZXRpb24gcmVwbHkgd2l0aCBjb21wZ2VuIGZyb20gbmV3bGluZS1zZXBhcmF0ZWQgcG9zc2libGUKQEAgLTY3Myw3ICs2ODUsNiBAQAogCQlpbmRleC1wYWNrKSAgICAgICA6IHBsdW1iaW5nOzsKIAkJaW5pdC1kYikgICAgICAgICAgOiBkZXByZWNhdGVkOzsKIAkJbG9jYWwtZmV0Y2gpICAgICAgOiBwbHVtYmluZzs7Ci0JCWxvc3QtZm91bmQpICAgICAgIDogaW5mcmVxdWVudDs7CiAJCWxzLWZpbGVzKSAgICAgICAgIDogcGx1bWJpbmc7OwogCQlscy1yZW1vdGUpICAgICAgICA6IHBsdW1iaW5nOzsKIAkJbHMtdHJlZSkgICAgICAgICAgOiBwbHVtYmluZzs7CkBAIC02ODcsMTQgKzY5OCwxMiBAQAogCQlwYWNrLXJlZnMpICAgICAgICA6IHBsdW1iaW5nOzsKIAkJcGFyc2UtcmVtb3RlKSAgICAgOiBwbHVtYmluZzs7CiAJCXBhdGNoLWlkKSAgICAgICAgIDogcGx1bWJpbmc7OwotCQlwZWVrLXJlbW90ZSkgICAgICA6IHBsdW1iaW5nOzsKIAkJcHJ1bmUpICAgICAgICAgICAgOiBwbHVtYmluZzs7CiAJCXBydW5lLXBhY2tlZCkgICAgIDogcGx1bWJpbmc7OwogCQlxdWlsdGltcG9ydCkgICAgICA6IGltcG9ydDs7CiAJCXJlYWQtdHJlZSkgICAgICAgIDogcGx1bWJpbmc7OwogCQlyZWNlaXZlLXBhY2spICAgICA6IHBsdW1iaW5nOzsKIAkJcmVtb3RlLSopICAgICAgICAgOiB0cmFuc3BvcnQ7OwotCQlyZXBvLWNvbmZpZykgICAgICA6IGRlcHJlY2F0ZWQ7OwogCQlyZXJlcmUpICAgICAgICAgICA6IHBsdW1iaW5nOzsKIAkJcmV2LWxpc3QpICAgICAgICAgOiBwbHVtYmluZzs7CiAJCXJldi1wYXJzZSkgICAgICAgIDogcGx1bWJpbmc7OwpAQCAtNzA3LDcgKzcxNiw2IEBACiAJCXNzaC0qKSAgICAgICAgICAgIDogdHJhbnNwb3J0OzsKIAkJc3RyaXBzcGFjZSkgICAgICAgOiBwbHVtYmluZzs7CiAJCXN5bWJvbGljLXJlZikgICAgIDogcGx1bWJpbmc7OwotCQl0YXItdHJlZSkgICAgICAgICA6IGRlcHJlY2F0ZWQ7OwogCQl1bnBhY2stZmlsZSkgICAgICA6IHBsdW1iaW5nOzsKIAkJdW5wYWNrLW9iamVjdHMpICAgOiBwbHVtYmluZzs7CiAJCXVwZGF0ZS1pbmRleCkgICAgIDogcGx1bWJpbmc7OwpAQCAtOTAxLDcgKzkwOSw3IEBACiAJZXNhYwogCiAJIyBYWFggc2hvdWxkIHdlIGNoZWNrIGZvciAtLXVwZGF0ZSBhbmQgLS1hbGwgb3B0aW9ucyA/Ci0JX19naXRfY29tcGxldGVfaW5kZXhfZmlsZSAiLS1vdGhlcnMgLS1tb2RpZmllZCIKKwlfX2dpdF9jb21wbGV0ZV9pbmRleF9maWxlICItLW90aGVycyAtLW1vZGlmaWVkIC0tZGlyZWN0b3J5IC0tbm8tZW1wdHktZGlyZWN0b3J5IgogfQogCiBfZ2l0X2FyY2hpdmUgKCkKQEAgLTEwNjMsNyArMTA3MSw3IEBACiAJZXNhYwogCiAJIyBYWFggc2hvdWxkIHdlIGNoZWNrIGZvciAteCBvcHRpb24gPwotCV9fZ2l0X2NvbXBsZXRlX2luZGV4X2ZpbGUgIi0tb3RoZXJzIgorCV9fZ2l0X2NvbXBsZXRlX2luZGV4X2ZpbGUgIi0tb3RoZXJzIC0tZGlyZWN0b3J5IgogfQogCiBfZ2l0X2Nsb25lICgpCkBAIC0xMTg4LDcgKzExOTYsNyBAQAogCV9fZ2l0X2NvbXBsZXRlX3Jldmxpc3RfZmlsZQogfQogCi1fX2dpdF9tZXJnZXRvb2xzX2NvbW1vbj0iZGlmZnVzZSBlY21lcmdlIGVtZXJnZSBrZGlmZjMgbWVsZCBvcGVuZGlmZgorX19naXRfbWVyZ2V0b29sc19jb21tb249ImRpZmZ1c2UgZGlmZm1lcmdlIGVjbWVyZ2UgZW1lcmdlIGtkaWZmMyBtZWxkIG9wZW5kaWZmCiAJCQl0a2RpZmYgdmltZGlmZiBndmltZGlmZiB4eGRpZmYgYXJheGlzIHA0bWVyZ2UgYmMzIGNvZGVjb21wYXJlCiAiCiAKQEAgLTE0OTEsNiArMTQ5OSwxMiBAQAogCiBfZ2l0X21lcmdlX2Jhc2UgKCkKIHsKKwljYXNlICIkY3VyIiBpbgorCS0tKikKKwkJX19naXRjb21wICItLW9jdG9wdXMgLS1pbmRlcGVuZGVudCAtLWlzLWFuY2VzdG9yIC0tZm9yay1wb2ludCIKKwkJcmV0dXJuCisJCTs7CisJZXNhYwogCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF9yZWZzKSIKIH0KIApAQCAtMTYyMyw3ICsxNjM3LDcgQEAKIAkJCS0tcHJlc2VydmUtbWVyZ2VzIC0tc3RhdCAtLW5vLXN0YXQKIAkJCS0tY29tbWl0dGVyLWRhdGUtaXMtYXV0aG9yLWRhdGUgLS1pZ25vcmUtZGF0ZQogCQkJLS1pZ25vcmUtd2hpdGVzcGFjZSAtLXdoaXRlc3BhY2U9Ci0JCQktLWF1dG9zcXVhc2gKKwkJCS0tYXV0b3NxdWFzaCAtLWZvcmstcG9pbnQgLS1uby1mb3JrLXBvaW50CiAJCQkiCiAKIAkJcmV0dXJuCkBAIC0xODMzLDYgKzE4NDcsNyBAQAogCWJyYW5jaC4qKQogCQlsb2NhbCBwZng9IiR7Y3VyJS4qfS4iIGN1cl89IiR7Y3VyIyoufSIKIAkJX19naXRjb21wX25sICIkKF9fZ2l0X2hlYWRzKSIgIiRwZngiICIkY3VyXyIgIi4iCisJCV9fZ2l0Y29tcF9ubF9hcHBlbmQgJCdhdXRvc2V0dXBtZXJnZVxuYXV0b3NldHVwcmViYXNlXG4nICIkcGZ4IiAiJGN1cl8iCiAJCXJldHVybgogCQk7OwogCWd1aXRvb2wuKi4qKQpAQCAtMTg3NSw2ICsxODkwLDcgQEAKIAlyZW1vdGUuKikKIAkJbG9jYWwgcGZ4PSIke2N1ciUuKn0uIiBjdXJfPSIke2N1ciMqLn0iCiAJCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF9yZW1vdGVzKSIgIiRwZngiICIkY3VyXyIgIi4iCisJCV9fZ2l0Y29tcF9ubF9hcHBlbmQgInB1c2hkZWZhdWx0IiAiJHBmeCIgIiRjdXJfIgogCQlyZXR1cm4KIAkJOzsKIAl1cmwuKi4qKQpAQCAtMTk5Nyw2ICsyMDEzLDcgQEAKIAkJZmV0Y2gudW5wYWNrTGltaXQKIAkJZm9ybWF0LmF0dGFjaAogCQlmb3JtYXQuY2MKKwkJZm9ybWF0LmNvdmVyTGV0dGVyCiAJCWZvcm1hdC5oZWFkZXJzCiAJCWZvcm1hdC5udW1iZXJlZAogCQlmb3JtYXQucHJldHR5CmRpZmYgLS1naXQgYS9jb250cmliL2NvbXBsZXRpb24vZ2l0LWNvbXBsZXRpb24udGNzaCBiL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi50Y3NoCmluZGV4IGVhYWNhZjAuLjYxMDRhNDIgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi50Y3NoCisrKyBiL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi50Y3NoCkBAIC0xLDUgKzEsMyBAQAotIyF0Y3NoCi0jCiAjIHRjc2ggY29tcGxldGlvbiBzdXBwb3J0IGZvciBjb3JlIEdpdC4KICMKICMgQ29weXJpZ2h0IChDKSAyMDEyIE1hcmMgS2hvdXphbSA8bWFyYy5raG91emFtQGdtYWlsLmNvbT4KZGlmZiAtLWdpdCBhL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi56c2ggYi9jb250cmliL2NvbXBsZXRpb24vZ2l0LWNvbXBsZXRpb24uenNoCmluZGV4IGZhYzVlNzEuLjZiNzc5NjggMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi56c2gKKysrIGIvY29udHJpYi9jb21wbGV0aW9uL2dpdC1jb21wbGV0aW9uLnpzaApAQCAtMzAsMTAgKzMwLDEwIEBACiAJbG9jYWwgLWEgbG9jYXRpb25zCiAJbG9jYWwgZQogCWxvY2F0aW9ucz0oCisJCSQoZGlybmFtZSAke2Z1bmNzb3VyY2V0cmFjZVsxXSU6Kn0pL2dpdC1jb21wbGV0aW9uLmJhc2gKIAkJJy9ldGMvYmFzaF9jb21wbGV0aW9uLmQvZ2l0JyAjIGZlZG9yYSwgb2xkIGRlYmlhbgogCQknL3Vzci9zaGFyZS9iYXNoLWNvbXBsZXRpb24vY29tcGxldGlvbnMvZ2l0JyAjIGFyY2gsIHVidW50dSwgbmV3IGRlYmlhbgogCQknL3Vzci9zaGFyZS9iYXNoLWNvbXBsZXRpb24vZ2l0JyAjIGdlbnRvbwotCQkkKGRpcm5hbWUgJHtmdW5jc291cmNldHJhY2VbMV0lOip9KS9naXQtY29tcGxldGlvbi5iYXNoCiAJCSkKIAlmb3IgZSBpbiAkbG9jYXRpb25zOyBkbwogCQl0ZXN0IC1mICRlICYmIHNjcmlwdD0iJGUiICYmIGJyZWFrCkBAIC03Niw2ICs3NiwxNCBAQAogCWNvbXBhZGQgLVEgLVMgIiR7NC0gfSIgLXAgIiR7Mi19IiAtLSAkez0xfSAmJiBfcmV0PTAKIH0KIAorX19naXRjb21wX25sX2FwcGVuZCAoKQoreworCWVtdWxhdGUgLUwgenNoCisKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wYWRkIC1RIC1TICIkezQtIH0iIC1wICIkezItfSIgLS0gJHs9MX0gJiYgX3JldD0wCit9CisKIF9fZ2l0Y29tcF9maWxlICgpCiB7CiAJZW11bGF0ZSAtTCB6c2gKZGlmZiAtLWdpdCBhL2NvbnRyaWIvY29tcGxldGlvbi9naXQtcHJvbXB0LnNoIGIvY29udHJpYi9jb21wbGV0aW9uL2dpdC1wcm9tcHQuc2gKaW5kZXggOTk4NzIyYy4uN2I3MzJkMiAxMDA2NDQKLS0tIGEvY29udHJpYi9jb21wbGV0aW9uL2dpdC1wcm9tcHQuc2gKKysrIGIvY29udHJpYi9jb21wbGV0aW9uL2dpdC1wcm9tcHQuc2gKQEAgLTYwLDYgKzYwLDcgQEAKICMgb2YgdmFsdWVzOgogIwogIyAgICAgdmVyYm9zZSAgICAgICBzaG93IG51bWJlciBvZiBjb21taXRzIGFoZWFkL2JlaGluZCAoKy8tKSB1cHN0cmVhbQorIyAgICAgbmFtZSAgICAgICAgICBpZiB2ZXJib3NlLCB0aGVuIGFsc28gc2hvdyB0aGUgdXBzdHJlYW0gYWJicmV2IG5hbWUKICMgICAgIGxlZ2FjeSAgICAgICAgZG9uJ3QgdXNlIHRoZSAnLS1jb3VudCcgb3B0aW9uIGF2YWlsYWJsZSBpbiByZWNlbnQKICMgICAgICAgICAgICAgICAgICAgdmVyc2lvbnMgb2YgZ2l0LXJldi1saXN0CiAjICAgICBnaXQgICAgICAgICAgIGFsd2F5cyBjb21wYXJlIEhFQUQgdG8gQHt1cHN0cmVhbX0KQEAgLTk0LDcgKzk1LDcgQEAKIHsKIAlsb2NhbCBrZXkgdmFsdWUKIAlsb2NhbCBzdm5fcmVtb3RlIHN2bl91cmxfcGF0dGVybiBjb3VudCBuCi0JbG9jYWwgdXBzdHJlYW09Z2l0IGxlZ2FjeT0iIiB2ZXJib3NlPSIiCisJbG9jYWwgdXBzdHJlYW09Z2l0IGxlZ2FjeT0iIiB2ZXJib3NlPSIiIG5hbWU9IiIKIAogCXN2bl9yZW1vdGU9KCkKIAkjIGdldCBzb21lIGNvbmZpZyBvcHRpb25zIGZyb20gZ2l0LWNvbmZpZwpAQCAtMTIyLDYgKzEyMyw3IEBACiAJCWdpdHxzdm4pIHVwc3RyZWFtPSIkb3B0aW9uIiA7OwogCQl2ZXJib3NlKSB2ZXJib3NlPTEgOzsKIAkJbGVnYWN5KSAgbGVnYWN5PTEgIDs7CisJCW5hbWUpICAgIG5hbWU9MSA7OwogCQllc2FjCiAJZG9uZQogCkBAIC0yMDQsNiArMjA2LDkgQEAKIAkJKikJICAgICMgZGl2ZXJnZWQgZnJvbSB1cHN0cmVhbQogCQkJcD0iIHUrJHtjb3VudCMqCX0tJHtjb3VudCUJKn0iIDs7CiAJCWVzYWMKKwkJaWYgW1sgLW4gIiRjb3VudCIgJiYgLW4gIiRuYW1lIiBdXTsgdGhlbgorCQkJcD0iJHAgJChnaXQgcmV2LXBhcnNlIC0tYWJicmV2LXJlZiAiJHVwc3RyZWFtIiAyPi9kZXYvbnVsbCkiCisJCWZpCiAJZmkKIAogfQpkaWZmIC0tZ2l0IGEvY29udHJpYi9jb250YWN0cy9naXQtY29udGFjdHMgYi9jb250cmliL2NvbnRhY3RzL2dpdC1jb250YWN0cwppbmRleCBkODBmN2QxLi40MjhjYzFhIDEwMDc1NQotLS0gYS9jb250cmliL2NvbnRhY3RzL2dpdC1jb250YWN0cworKysgYi9jb250cmliL2NvbnRhY3RzL2dpdC1jb250YWN0cwpAQCAtNTksMTEgKzU5LDExIEBACiB9CiAKIHN1YiBnZXRfYmxhbWUgewotCW15ICgkY29tbWl0cywgJHNvdXJjZSwgJHN0YXJ0LCAkbGVuLCAkZnJvbSkgPSBAXzsKLQkkbGVuID0gMSB1bmxlc3MgZGVmaW5lZCgkbGVuKTsKLQlyZXR1cm4gaWYgJGxlbiA9PSAwOworCW15ICgkY29tbWl0cywgJHNvdXJjZSwgJGZyb20sICRyYW5nZXMpID0gQF87CisJcmV0dXJuIHVubGVzcyBAJHJhbmdlczsKIAlvcGVuIG15ICRmLCAnLXwnLAotCQlxdyhnaXQgYmxhbWUgLS1wb3JjZWxhaW4gLUMpLCAnLUwnLCAiJHN0YXJ0LCskbGVuIiwKKwkJcXcoZ2l0IGJsYW1lIC0tcG9yY2VsYWluIC1DKSwKKwkJbWFwKHsiLUwkXy0+WzBdLCskXy0+WzFdIn0gQCRyYW5nZXMpLAogCQknLS1zaW5jZScsICRzaW5jZSwgIiRmcm9tXiIsICctLScsICRzb3VyY2Ugb3IgZGllOwogCXdoaWxlICg8JGY+KSB7CiAJCWlmICgvXihbMC05YS1mXXs0MH0pIFxkKyBcZCsgXGQrJC8pIHsKQEAgLTc2LDggKzc2LDE3IEBACiAJY2xvc2UgJGY7CiB9CiAKK3N1YiBibGFtZV9zb3VyY2VzIHsKKwlteSAoJHNvdXJjZXMsICRjb21taXRzKSA9IEBfOworCWZvciBteSAkcyAoa2V5cyAlJHNvdXJjZXMpIHsKKwkJZm9yIG15ICRpZCAoa2V5cyAleyRzb3VyY2VzLT57JHN9fSkgeworCQkJZ2V0X2JsYW1lKCRjb21taXRzLCAkcywgJGlkLCAkc291cmNlcy0+eyRzfXskaWR9KTsKKwkJfQorCX0KK30KKwogc3ViIHNjYW5fcGF0Y2hlcyB7Ci0JbXkgKCRjb21taXRzLCAkaWQsICRmKSA9IEBfOworCW15ICgkc291cmNlcywgJGlkLCAkZikgPSBAXzsKIAlteSAkc291cmNlOwogCXdoaWxlICg8JGY+KSB7CiAJCWlmICgvXkZyb20gKFswLTlhLWZdezQwfSkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxJC8pIHsKQEAgLTkwLDcgKzk5LDggQEAKIAkJfSBlbHNpZiAoL14tLS0gLykgewogCQkJZGllICJDYW5ub3QgcGFyc2UgaHVuayBzb3VyY2U6ICRfXG4iOwogCQl9IGVsc2lmICgvXkBAIC0oXGQrKSg/OiwoXGQrKSk/LyAmJiAkc291cmNlKSB7Ci0JCQlnZXRfYmxhbWUoJGNvbW1pdHMsICRzb3VyY2UsICQxLCAkMiwgJGlkKTsKKwkJCW15ICRsZW4gPSBkZWZpbmVkKCQyKSA/ICQyIDogMTsKKwkJCXB1c2ggQHskc291cmNlcy0+eyRzb3VyY2V9eyRpZH19LCBbJDEsICRsZW5dIGlmICRsZW47CiAJCX0KIAl9CiB9CkBAIC0xNjMsMTMgKzE3MywyMCBAQAogCX0KIH0KIAotbXkgJWNvbW1pdHM7CitteSAlc291cmNlczsKIGZvciAoQGZpbGVzKSB7Ci0Jc2Nhbl9wYXRjaF9maWxlKFwlY29tbWl0cywgJF8pOworCXNjYW5fcGF0Y2hfZmlsZShcJXNvdXJjZXMsICRfKTsKIH0KIGlmIChAcmV2X2FyZ3MpIHsKLQlzY2FuX3Jldl9hcmdzKFwlY29tbWl0cywgXEByZXZfYXJncykKKwlzY2FuX3Jldl9hcmdzKFwlc291cmNlcywgXEByZXZfYXJncykKIH0KKworbXkgJHRvcGxldmVsID0gYGdpdCByZXYtcGFyc2UgLS1zaG93LXRvcGxldmVsYDsKK2Nob21wICR0b3BsZXZlbDsKK2NoZGlyKCR0b3BsZXZlbCkgb3IgZGllICJjaGRpciBmYWlsdXJlOiAkdG9wbGV2ZWw6ICQhXG4iOworCitteSAlY29tbWl0czsKK2JsYW1lX3NvdXJjZXMoXCVzb3VyY2VzLCBcJWNvbW1pdHMpOwogaW1wb3J0X2NvbW1pdHMoXCVjb21taXRzKTsKIAogbXkgJGNvbnRhY3RzID0ge307CmRpZmYgLS1naXQgYS9jb250cmliL2NyZWRlbnRpYWwvZ25vbWUta2V5cmluZy9NYWtlZmlsZSBiL2NvbnRyaWIvY3JlZGVudGlhbC9nbm9tZS1rZXlyaW5nL01ha2VmaWxlCmluZGV4IGU2NTYxZDguLmMzYzdjOTggMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvY3JlZGVudGlhbC9nbm9tZS1rZXlyaW5nL01ha2VmaWxlCisrKyBiL2NvbnRyaWIvY3JlZGVudGlhbC9nbm9tZS1rZXlyaW5nL01ha2VmaWxlCkBAIC04LDggKzgsOCBAQAogLWluY2x1ZGUgLi4vLi4vLi4vY29uZmlnLm1hay5hdXRvZ2VuCiAtaW5jbHVkZSAuLi8uLi8uLi9jb25maWcubWFrCiAKLUlOQ1M6PSQoc2hlbGwgcGtnLWNvbmZpZyAtLWNmbGFncyBnbm9tZS1rZXlyaW5nLTEpCi1MSUJTOj0kKHNoZWxsIHBrZy1jb25maWcgLS1saWJzIGdub21lLWtleXJpbmctMSkKK0lOQ1M6PSQoc2hlbGwgcGtnLWNvbmZpZyAtLWNmbGFncyBnbm9tZS1rZXlyaW5nLTEgZ2xpYi0yLjApCitMSUJTOj0kKHNoZWxsIHBrZy1jb25maWcgLS1saWJzIGdub21lLWtleXJpbmctMSBnbGliLTIuMCkKIAogU1JDUzo9JChNQUlOKS5jCiBPQkpTOj0kKFNSQ1M6LmM9Lm8pCmRpZmYgLS1naXQgYS9jb250cmliL2NyZWRlbnRpYWwvZ25vbWUta2V5cmluZy9naXQtY3JlZGVudGlhbC1nbm9tZS1rZXlyaW5nLmMgYi9jb250cmliL2NyZWRlbnRpYWwvZ25vbWUta2V5cmluZy9naXQtY3JlZGVudGlhbC1nbm9tZS1rZXlyaW5nLmMKaW5kZXggZjJjZGVmZS4uMmEzMTdmYyAxMDA2NDQKLS0tIGEvY29udHJpYi9jcmVkZW50aWFsL2dub21lLWtleXJpbmcvZ2l0LWNyZWRlbnRpYWwtZ25vbWUta2V5cmluZy5jCisrKyBiL2NvbnRyaWIvY3JlZGVudGlhbC9nbm9tZS1rZXlyaW5nL2dpdC1jcmVkZW50aWFsLWdub21lLWtleXJpbmcuYwpAQCAtMjUsMTM1ICsyNSwxNDggQEAKIAogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSA8c3RkYXJnLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+Ci0jaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnbGliLmg+CiAjaW5jbHVkZSA8Z25vbWUta2V5cmluZy5oPgogCisjaWZkZWYgR05PTUVfS0VZUklOR19ERUZBVUxUCisKKyAgIC8qIE1vZGVybiBnbm9tZS1rZXlyaW5nICovCisKKyNpbmNsdWRlIDxnbm9tZS1rZXlyaW5nLW1lbW9yeS5oPgorCisjZWxzZQorCisgICAvKgorICAgICogU3VwcG9ydCBhbmNpZW50IGdub21lLWtleXJpbmcsIGNpcmMuIFJIRUwgNS5YLgorICAgICogR05PTUVfS0VZUklOR19ERUZBVUxUIHNlZW1zIHRvIGhhdmUgYmVlbiBpbnRyb2R1Y2VkIHdpdGggR25vbWUgMi4yMiwKKyAgICAqIGFuZCB0aGUgb3RoZXIgZmVhdHVyZXMgcm91Z2hseSBhcm91bmQgR25vbWUgMi4yMCwgNiBtb250aHMgYmVmb3JlLgorICAgICogVWJ1bnR1IDguMDQgdXNlZCBHbm9tZSAyLjIyIChJIHRoaW5rKS4gIE5vdCBzdXJlIGFueSBkaXN0cm8gdXNlZCAyLjIwLgorICAgICogU28gdGhlIGV4aXN0ZW5jZS9ub24tZXhpc3RlbmNlIG9mIEdOT01FX0tFWVJJTkdfREVGQVVMVCBzZWVtcyBsaWtlCisgICAgKiBhIGRlY2VudCB0aGluZyB0byB1c2UgYXMgYW4gaW5kaWNhdG9yLgorICAgICovCisKKyNkZWZpbmUgR05PTUVfS0VZUklOR19ERUZBVUxUIE5VTEwKKworLyoKKyAqIGFuY2llbnQgZ25vbWUta2V5cmluZyByZXR1cm5zIERFTklFRCB3aGVuIGFuIGVudHJ5IGlzIG5vdCBmb3VuZC4KKyAqIFNldHRpbmcgTk9fTUFUQ0ggdG8gREVOSUVEIHdpbGwgcHJldmVudCB1cyBmcm9tIHJlcG9ydGluZyBERU5JRUQKKyAqIGVycm9ycyBkdXJpbmcgZ2V0IGFuZCBlcmFzZSBvcGVyYXRpb25zLCBidXQgd2Ugd2lsbCBzdGlsbCByZXBvcnQKKyAqIERFTklFRCBlcnJvcnMgZHVyaW5nIGEgc3RvcmUuCisgKi8KKyNkZWZpbmUgR05PTUVfS0VZUklOR19SRVNVTFRfTk9fTUFUQ0ggR05PTUVfS0VZUklOR19SRVNVTFRfREVOSUVECisKKyNkZWZpbmUgZ25vbWVfa2V5cmluZ19tZW1vcnlfYWxsb2MgZ19tYWxsb2MKKyNkZWZpbmUgZ25vbWVfa2V5cmluZ19tZW1vcnlfZnJlZSBnbm9tZV9rZXlyaW5nX2ZyZWVfcGFzc3dvcmQKKyNkZWZpbmUgZ25vbWVfa2V5cmluZ19tZW1vcnlfc3RyZHVwIGdfc3RyZHVwCisKK3N0YXRpYyBjb25zdCBjaGFyICpnbm9tZV9rZXlyaW5nX3Jlc3VsdF90b19tZXNzYWdlKEdub21lS2V5cmluZ1Jlc3VsdCByZXN1bHQpCit7CisJc3dpdGNoIChyZXN1bHQpIHsKKwljYXNlIEdOT01FX0tFWVJJTkdfUkVTVUxUX09LOgorCQlyZXR1cm4gIk9LIjsKKwljYXNlIEdOT01FX0tFWVJJTkdfUkVTVUxUX0RFTklFRDoKKwkJcmV0dXJuICJEZW5pZWQiOworCWNhc2UgR05PTUVfS0VZUklOR19SRVNVTFRfTk9fS0VZUklOR19EQUVNT046CisJCXJldHVybiAiTm8gS2V5cmluZyBEYWVtb24iOworCWNhc2UgR05PTUVfS0VZUklOR19SRVNVTFRfQUxSRUFEWV9VTkxPQ0tFRDoKKwkJcmV0dXJuICJBbHJlYWR5IFVuTG9ja2VkIjsKKwljYXNlIEdOT01FX0tFWVJJTkdfUkVTVUxUX05PX1NVQ0hfS0VZUklORzoKKwkJcmV0dXJuICJObyBTdWNoIEtleXJpbmciOworCWNhc2UgR05PTUVfS0VZUklOR19SRVNVTFRfQkFEX0FSR1VNRU5UUzoKKwkJcmV0dXJuICJCYWQgQXJndW1lbnRzIjsKKwljYXNlIEdOT01FX0tFWVJJTkdfUkVTVUxUX0lPX0VSUk9SOgorCQlyZXR1cm4gIklPIEVycm9yIjsKKwljYXNlIEdOT01FX0tFWVJJTkdfUkVTVUxUX0NBTkNFTExFRDoKKwkJcmV0dXJuICJDYW5jZWxsZWQiOworCWNhc2UgR05PTUVfS0VZUklOR19SRVNVTFRfQUxSRUFEWV9FWElTVFM6CisJCXJldHVybiAiQWxyZWFkeSBFeGlzdHMiOworCWRlZmF1bHQ6CisJCXJldHVybiAiVW5rbm93biBFcnJvciI7CisJfQorfQorCisvKgorICogU3VwcG9ydCByZWFsbHkgYW5jaWVudCBnbm9tZS1rZXlyaW5nLCBjaXJjLiBSSEVMIDQuWC4KKyAqIEp1c3QgYSBndWVzcyBmb3IgdGhlIEdsaWIgdmVyc2lvbi4gIEdsaWIgMi44IHdhcyByb3VnaGx5IEdub21lIDIuMTIgPworICogV2hpY2ggd2FzIHJlbGVhc2VkIHdpdGggZ25vbWUta2V5cmluZyAwLjQuMyA/PworICovCisjaWYgR0xJQl9NQUpPUl9WRVJTSU9OID09IDIgJiYgR0xJQl9NSU5PUl9WRVJTSU9OIDwgOAorCitzdGF0aWMgdm9pZCBnbm9tZV9rZXlyaW5nX2RvbmVfY2IoR25vbWVLZXlyaW5nUmVzdWx0IHJlc3VsdCwgZ3BvaW50ZXIgdXNlcl9kYXRhKQoreworCWdwb2ludGVyICpkYXRhID0gKGdwb2ludGVyICopdXNlcl9kYXRhOworCWludCAqZG9uZSA9IChpbnQgKilkYXRhWzBdOworCUdub21lS2V5cmluZ1Jlc3VsdCAqciA9IChHbm9tZUtleXJpbmdSZXN1bHQgKilkYXRhWzFdOworCisJKnIgPSByZXN1bHQ7CisJKmRvbmUgPSAxOworfQorCitzdGF0aWMgdm9pZCB3YWl0X2Zvcl9yZXF1ZXN0X2NvbXBsZXRpb24oaW50ICpkb25lKQoreworCUdNYWluQ29udGV4dCAqbWMgPSBnX21haW5fY29udGV4dF9kZWZhdWx0KCk7CisJd2hpbGUgKCEqZG9uZSkKKwkJZ19tYWluX2NvbnRleHRfaXRlcmF0aW9uKG1jLCBUUlVFKTsKK30KKworc3RhdGljIEdub21lS2V5cmluZ1Jlc3VsdCBnbm9tZV9rZXlyaW5nX2l0ZW1fZGVsZXRlX3N5bmMoY29uc3QgY2hhciAqa2V5cmluZywgZ3VpbnQzMiBpZCkKK3sKKwlpbnQgZG9uZSA9IDA7CisJR25vbWVLZXlyaW5nUmVzdWx0IHJlc3VsdDsKKwlncG9pbnRlciBkYXRhW10gPSB7ICZkb25lLCAmcmVzdWx0IH07CisKKwlnbm9tZV9rZXlyaW5nX2l0ZW1fZGVsZXRlKGtleXJpbmcsIGlkLCBnbm9tZV9rZXlyaW5nX2RvbmVfY2IsIGRhdGEsCisJCU5VTEwpOworCisJd2FpdF9mb3JfcmVxdWVzdF9jb21wbGV0aW9uKCZkb25lKTsKKworCXJldHVybiByZXN1bHQ7Cit9CisKKyNlbmRpZgorI2VuZGlmCisKIC8qCiAgKiBUaGlzIGNyZWRlbnRpYWwgc3RydWN0IGFuZCBBUEkgaXMgc2ltcGxpZmllZCBmcm9tIGdpdCdzIGNyZWRlbnRpYWwue2gsY30KICAqLwotc3RydWN0IGNyZWRlbnRpYWwKLXsKLQljaGFyICAgICAgICAgICpwcm90b2NvbDsKLQljaGFyICAgICAgICAgICpob3N0Oworc3RydWN0IGNyZWRlbnRpYWwgeworCWNoYXIgKnByb3RvY29sOworCWNoYXIgKmhvc3Q7CiAJdW5zaWduZWQgc2hvcnQgcG9ydDsKLQljaGFyICAgICAgICAgICpwYXRoOwotCWNoYXIgICAgICAgICAgKnVzZXJuYW1lOwotCWNoYXIgICAgICAgICAgKnBhc3N3b3JkOworCWNoYXIgKnBhdGg7CisJY2hhciAqdXNlcm5hbWU7CisJY2hhciAqcGFzc3dvcmQ7CiB9OwogCi0jZGVmaW5lIENSRURFTlRJQUxfSU5JVCBcCi0gIHsgTlVMTCxOVUxMLDAsTlVMTCxOVUxMLE5VTEwgfQorI2RlZmluZSBDUkVERU5USUFMX0lOSVQgeyBOVUxMLCBOVUxMLCAwLCBOVUxMLCBOVUxMLCBOVUxMIH0KIAotdm9pZCBjcmVkZW50aWFsX2luaXQoc3RydWN0IGNyZWRlbnRpYWwgKmMpOwotdm9pZCBjcmVkZW50aWFsX2NsZWFyKHN0cnVjdCBjcmVkZW50aWFsICpjKTsKLWludCAgY3JlZGVudGlhbF9yZWFkKHN0cnVjdCBjcmVkZW50aWFsICpjKTsKLXZvaWQgY3JlZGVudGlhbF93cml0ZShjb25zdCBzdHJ1Y3QgY3JlZGVudGlhbCAqYyk7Cit0eXBlZGVmIGludCAoKmNyZWRlbnRpYWxfb3BfY2IpKHN0cnVjdCBjcmVkZW50aWFsICopOwogCi10eXBlZGVmIGludCAoKmNyZWRlbnRpYWxfb3BfY2IpKHN0cnVjdCBjcmVkZW50aWFsKik7Ci0KLXN0cnVjdCBjcmVkZW50aWFsX29wZXJhdGlvbgotewotCWNoYXIgICAgICAgICAgICAgKm5hbWU7CitzdHJ1Y3QgY3JlZGVudGlhbF9vcGVyYXRpb24geworCWNoYXIgKm5hbWU7CiAJY3JlZGVudGlhbF9vcF9jYiBvcDsKIH07CiAKLSNkZWZpbmUgQ1JFREVOVElBTF9PUF9FTkQgXAotICB7IE5VTEwsTlVMTCB9Ci0KLS8qCi0gKiBUYWJsZSB3aXRoIG9wZXJhdGlvbiBjYWxsYmFja3MgaXMgZGVmaW5lZCBpbiBjb25jcmV0ZQotICogY3JlZGVudGlhbCBoZWxwZXIgaW1wbGVtZW50YXRpb24gYW5kIGNvbnRhaW5zIGVudHJpZXMKLSAqIGxpa2UgeyAiZ2V0IiwgZnVuY3Rpb25fdG9fZ2V0X2NyZWRlbnRpYWwgfSB0ZXJtaW5hdGVkCi0gKiBieSBDUkVERU5USUFMX09QX0VORC4KLSAqLwotc3RydWN0IGNyZWRlbnRpYWxfb3BlcmF0aW9uIGNvbnN0IGNyZWRlbnRpYWxfaGVscGVyX29wc1tdOwotCi0vKiAtLS0tLS0tLS0tLS0tLS0tIGNvbW1vbiBoZWxwZXIgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tICovCi0KLXN0YXRpYyBpbmxpbmUgdm9pZCBmcmVlX3Bhc3N3b3JkKGNoYXIgKnBhc3N3b3JkKQotewotCWNoYXIgKmMgPSBwYXNzd29yZDsKLQlpZiAoIXBhc3N3b3JkKQotCQlyZXR1cm47Ci0KLQl3aGlsZSAoKmMpICpjKysgPSAnXDAnOwotCWZyZWUocGFzc3dvcmQpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgd2FybmluZyhjb25zdCBjaGFyICpmbXQsIC4uLikKLXsKLQl2YV9saXN0IGFwOwotCi0JdmFfc3RhcnQoYXAsIGZtdCk7Ci0JZnByaW50ZihzdGRlcnIsICJ3YXJuaW5nOiAiKTsKLQl2ZnByaW50ZihzdGRlcnIsIGZtdCwgYXApOwotCWZwcmludGYoc3RkZXJyLCAiXG4iICk7Ci0JdmFfZW5kKGFwKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGVycm9yKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQotewotCXZhX2xpc3QgYXA7Ci0KLQl2YV9zdGFydChhcCwgZm10KTsKLQlmcHJpbnRmKHN0ZGVyciwgImVycm9yOiAiKTsKLQl2ZnByaW50ZihzdGRlcnIsIGZtdCwgYXApOwotCWZwcmludGYoc3RkZXJyLCAiXG4iICk7Ci0JdmFfZW5kKGFwKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGRpZShjb25zdCBjaGFyICpmbXQsIC4uLikKLXsKLQl2YV9saXN0IGFwOwotCi0JdmFfc3RhcnQoYXAsZm10KTsKLQllcnJvcihmbXQsIGFwKTsKLQl2YV9lbmQoYXApOwotCWV4aXQoRVhJVF9GQUlMVVJFKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGRpZV9lcnJubyhpbnQgZXJyKQotewotCWVycm9yKCIlcyIsIHN0cmVycm9yKGVycikpOwotCWV4aXQoRVhJVF9GQUlMVVJFKTsKLX0KLQotc3RhdGljIGlubGluZSBjaGFyICp4c3RyZHVwKGNvbnN0IGNoYXIgKnN0cikKLXsKLQljaGFyICpyZXQgPSBzdHJkdXAoc3RyKTsKLQlpZiAoIXJldCkKLQkJZGllX2Vycm5vKGVycm5vKTsKLQotCXJldHVybiByZXQ7Ci19CisjZGVmaW5lIENSRURFTlRJQUxfT1BfRU5EIHsgTlVMTCwgTlVMTCB9CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tIEdOT01FIEtleXJpbmcgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tICovCiAKIC8qIGNyZWF0ZSBhIHNwZWNpYWwga2V5cmluZyBvcHRpb24gc3RyaW5nLCBpZiBwYXRoIGlzIGdpdmVuICovCi1zdGF0aWMgY2hhcioga2V5cmluZ19vYmplY3Qoc3RydWN0IGNyZWRlbnRpYWwgKmMpCitzdGF0aWMgY2hhciAqa2V5cmluZ19vYmplY3Qoc3RydWN0IGNyZWRlbnRpYWwgKmMpCiB7Ci0JY2hhciogb2JqZWN0ID0gTlVMTDsKLQogCWlmICghYy0+cGF0aCkKLQkJcmV0dXJuIG9iamVjdDsKKwkJcmV0dXJuIE5VTEw7CiAKLQlvYmplY3QgPSAoY2hhciopIG1hbGxvYyhzdHJsZW4oYy0+aG9zdCkrc3RybGVuKGMtPnBhdGgpKzgpOwotCWlmKCFvYmplY3QpCi0JCWRpZV9lcnJubyhlcnJubyk7CisJaWYgKGMtPnBvcnQpCisJCXJldHVybiBnX3N0cmR1cF9wcmludGYoIiVzOiVoZC8lcyIsIGMtPmhvc3QsIGMtPnBvcnQsIGMtPnBhdGgpOwogCi0JaWYoYy0+cG9ydCkKLQkJc3ByaW50ZihvYmplY3QsIiVzOiVoZC8lcyIsYy0+aG9zdCxjLT5wb3J0LGMtPnBhdGgpOwotCWVsc2UKLQkJc3ByaW50ZihvYmplY3QsIiVzLyVzIixjLT5ob3N0LGMtPnBhdGgpOwotCi0JcmV0dXJuIG9iamVjdDsKKwlyZXR1cm4gZ19zdHJkdXBfcHJpbnRmKCIlcy8lcyIsIGMtPmhvc3QsIGMtPnBhdGgpOwogfQogCi1pbnQga2V5cmluZ19nZXQoc3RydWN0IGNyZWRlbnRpYWwgKmMpCitzdGF0aWMgaW50IGtleXJpbmdfZ2V0KHN0cnVjdCBjcmVkZW50aWFsICpjKQogewotCWNoYXIqIG9iamVjdCA9IE5VTEw7CisJY2hhciAqb2JqZWN0ID0gTlVMTDsKIAlHTGlzdCAqZW50cmllczsKIAlHbm9tZUtleXJpbmdOZXR3b3JrUGFzc3dvcmREYXRhICpwYXNzd29yZF9kYXRhOwogCUdub21lS2V5cmluZ1Jlc3VsdCByZXN1bHQ7CkBAIC0xNzMsNyArMTg2LDcgQEAKIAkJCQljLT5wb3J0LAogCQkJCSZlbnRyaWVzKTsKIAotCWZyZWUob2JqZWN0KTsKKwlnX2ZyZWUob2JqZWN0KTsKIAogCWlmIChyZXN1bHQgPT0gR05PTUVfS0VZUklOR19SRVNVTFRfTk9fTUFUQ0gpCiAJCXJldHVybiBFWElUX1NVQ0NFU1M7CkBAIC0xODIsMTggKzE5NSwxOCBAQAogCQlyZXR1cm4gRVhJVF9TVUNDRVNTOwogCiAJaWYgKHJlc3VsdCAhPSBHTk9NRV9LRVlSSU5HX1JFU1VMVF9PSykgewotCQllcnJvcigiJXMiLGdub21lX2tleXJpbmdfcmVzdWx0X3RvX21lc3NhZ2UocmVzdWx0KSk7CisJCWdfY3JpdGljYWwoIiVzIiwgZ25vbWVfa2V5cmluZ19yZXN1bHRfdG9fbWVzc2FnZShyZXN1bHQpKTsKIAkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKIAl9CiAKIAkvKiBwaWNrIHRoZSBmaXJzdCBvbmUgZnJvbSB0aGUgbGlzdCAqLwotCXBhc3N3b3JkX2RhdGEgPSAoR25vbWVLZXlyaW5nTmV0d29ya1Bhc3N3b3JkRGF0YSAqKSBlbnRyaWVzLT5kYXRhOworCXBhc3N3b3JkX2RhdGEgPSAoR25vbWVLZXlyaW5nTmV0d29ya1Bhc3N3b3JkRGF0YSAqKWVudHJpZXMtPmRhdGE7CiAKLQlmcmVlX3Bhc3N3b3JkKGMtPnBhc3N3b3JkKTsKLQljLT5wYXNzd29yZCA9IHhzdHJkdXAocGFzc3dvcmRfZGF0YS0+cGFzc3dvcmQpOworCWdub21lX2tleXJpbmdfbWVtb3J5X2ZyZWUoYy0+cGFzc3dvcmQpOworCWMtPnBhc3N3b3JkID0gZ25vbWVfa2V5cmluZ19tZW1vcnlfc3RyZHVwKHBhc3N3b3JkX2RhdGEtPnBhc3N3b3JkKTsKIAogCWlmICghYy0+dXNlcm5hbWUpCi0JCWMtPnVzZXJuYW1lID0geHN0cmR1cChwYXNzd29yZF9kYXRhLT51c2VyKTsKKwkJYy0+dXNlcm5hbWUgPSBnX3N0cmR1cChwYXNzd29yZF9kYXRhLT51c2VyKTsKIAogCWdub21lX2tleXJpbmdfbmV0d29ya19wYXNzd29yZF9saXN0X2ZyZWUoZW50cmllcyk7CiAKQEAgLTIwMSwxMCArMjE0LDExIEBACiB9CiAKIAotaW50IGtleXJpbmdfc3RvcmUoc3RydWN0IGNyZWRlbnRpYWwgKmMpCitzdGF0aWMgaW50IGtleXJpbmdfc3RvcmUoc3RydWN0IGNyZWRlbnRpYWwgKmMpCiB7CiAJZ3VpbnQzMiBpdGVtX2lkOwotCWNoYXIgICpvYmplY3QgPSBOVUxMOworCWNoYXIgKm9iamVjdCA9IE5VTEw7CisJR25vbWVLZXlyaW5nUmVzdWx0IHJlc3VsdDsKIAogCS8qCiAJICogU2FuaXR5IGNoZWNrIHRoYXQgd2hhdCB3ZSBhcmUgc3RvcmluZyBpcyBhY3R1YWxseSBzZW5zaWJsZS4KQEAgLTIxOSw3ICsyMzMsNyBAQAogCiAJb2JqZWN0ID0ga2V5cmluZ19vYmplY3QoYyk7CiAKLQlnbm9tZV9rZXlyaW5nX3NldF9uZXR3b3JrX3Bhc3N3b3JkX3N5bmMoCisJcmVzdWx0ID0gZ25vbWVfa2V5cmluZ19zZXRfbmV0d29ya19wYXNzd29yZF9zeW5jKAogCQkJCUdOT01FX0tFWVJJTkdfREVGQVVMVCwKIAkJCQljLT51c2VybmFtZSwKIAkJCQlOVUxMIC8qIGRvbWFpbiAqLywKQEAgLTIzMSwxMyArMjQ1LDIwIEBACiAJCQkJYy0+cGFzc3dvcmQsCiAJCQkJJml0ZW1faWQpOwogCi0JZnJlZShvYmplY3QpOworCWdfZnJlZShvYmplY3QpOworCisJaWYgKHJlc3VsdCAhPSBHTk9NRV9LRVlSSU5HX1JFU1VMVF9PSyAmJgorCSAgICByZXN1bHQgIT0gR05PTUVfS0VZUklOR19SRVNVTFRfQ0FOQ0VMTEVEKSB7CisJCWdfY3JpdGljYWwoIiVzIiwgZ25vbWVfa2V5cmluZ19yZXN1bHRfdG9fbWVzc2FnZShyZXN1bHQpKTsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisKIAlyZXR1cm4gRVhJVF9TVUNDRVNTOwogfQogCi1pbnQga2V5cmluZ19lcmFzZShzdHJ1Y3QgY3JlZGVudGlhbCAqYykKK3N0YXRpYyBpbnQga2V5cmluZ19lcmFzZShzdHJ1Y3QgY3JlZGVudGlhbCAqYykKIHsKLQljaGFyICAqb2JqZWN0ID0gTlVMTDsKKwljaGFyICpvYmplY3QgPSBOVUxMOwogCUdMaXN0ICplbnRyaWVzOwogCUdub21lS2V5cmluZ05ldHdvcmtQYXNzd29yZERhdGEgKnBhc3N3b3JkX2RhdGE7CiAJR25vbWVLZXlyaW5nUmVzdWx0IHJlc3VsdDsKQEAgLTI2NSw3ICsyODYsNyBAQAogCQkJCWMtPnBvcnQsCiAJCQkJJmVudHJpZXMpOwogCi0JZnJlZShvYmplY3QpOworCWdfZnJlZShvYmplY3QpOwogCiAJaWYgKHJlc3VsdCA9PSBHTk9NRV9LRVlSSU5HX1JFU1VMVF9OT19NQVRDSCkKIAkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKQEAgLTI3MywyMyArMjk0LDIxIEBACiAJaWYgKHJlc3VsdCA9PSBHTk9NRV9LRVlSSU5HX1JFU1VMVF9DQU5DRUxMRUQpCiAJCXJldHVybiBFWElUX1NVQ0NFU1M7CiAKLQlpZiAocmVzdWx0ICE9IEdOT01FX0tFWVJJTkdfUkVTVUxUX09LKQotCXsKLQkJZXJyb3IoIiVzIixnbm9tZV9rZXlyaW5nX3Jlc3VsdF90b19tZXNzYWdlKHJlc3VsdCkpOworCWlmIChyZXN1bHQgIT0gR05PTUVfS0VZUklOR19SRVNVTFRfT0spIHsKKwkJZ19jcml0aWNhbCgiJXMiLCBnbm9tZV9rZXlyaW5nX3Jlc3VsdF90b19tZXNzYWdlKHJlc3VsdCkpOwogCQlyZXR1cm4gRVhJVF9GQUlMVVJFOwogCX0KIAogCS8qIHBpY2sgdGhlIGZpcnN0IG9uZSBmcm9tIHRoZSBsaXN0IChkZWxldGUgYWxsIG1hdGNoZXM/KSAqLwotCXBhc3N3b3JkX2RhdGEgPSAoR25vbWVLZXlyaW5nTmV0d29ya1Bhc3N3b3JkRGF0YSAqKSBlbnRyaWVzLT5kYXRhOworCXBhc3N3b3JkX2RhdGEgPSAoR25vbWVLZXlyaW5nTmV0d29ya1Bhc3N3b3JkRGF0YSAqKWVudHJpZXMtPmRhdGE7CiAKIAlyZXN1bHQgPSBnbm9tZV9rZXlyaW5nX2l0ZW1fZGVsZXRlX3N5bmMoCiAJCXBhc3N3b3JkX2RhdGEtPmtleXJpbmcsIHBhc3N3b3JkX2RhdGEtPml0ZW1faWQpOwogCiAJZ25vbWVfa2V5cmluZ19uZXR3b3JrX3Bhc3N3b3JkX2xpc3RfZnJlZShlbnRyaWVzKTsKIAotCWlmIChyZXN1bHQgIT0gR05PTUVfS0VZUklOR19SRVNVTFRfT0spCi0JewotCQllcnJvcigiJXMiLGdub21lX2tleXJpbmdfcmVzdWx0X3RvX21lc3NhZ2UocmVzdWx0KSk7CisJaWYgKHJlc3VsdCAhPSBHTk9NRV9LRVlSSU5HX1JFU1VMVF9PSykgeworCQlnX2NyaXRpY2FsKCIlcyIsIGdub21lX2tleXJpbmdfcmVzdWx0X3RvX21lc3NhZ2UocmVzdWx0KSk7CiAJCXJldHVybiBFWElUX0ZBSUxVUkU7CiAJfQogCkBAIC0zMDAsOSArMzE5LDggQEAKICAqIFRhYmxlIHdpdGggaGVscGVyIG9wZXJhdGlvbiBjYWxsYmFja3MsIHVzZWQgYnkgZ2VuZXJpYwogICogY3JlZGVudGlhbCBoZWxwZXIgbWFpbiBmdW5jdGlvbi4KICAqLwotc3RydWN0IGNyZWRlbnRpYWxfb3BlcmF0aW9uIGNvbnN0IGNyZWRlbnRpYWxfaGVscGVyX29wc1tdID0KLXsKLQl7ICJnZXQiLCAgIGtleXJpbmdfZ2V0ICAgfSwKK3N0YXRpYyBzdHJ1Y3QgY3JlZGVudGlhbF9vcGVyYXRpb24gY29uc3QgY3JlZGVudGlhbF9oZWxwZXJfb3BzW10gPSB7CisJeyAiZ2V0IiwgICBrZXlyaW5nX2dldCB9LAogCXsgInN0b3JlIiwga2V5cmluZ19zdG9yZSB9LAogCXsgImVyYXNlIiwga2V5cmluZ19lcmFzZSB9LAogCUNSRURFTlRJQUxfT1BfRU5ECkBAIC0zMTAsNjcgKzMyOCw3MCBAQAogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0gY3JlZGVudGlhbCBmdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKLXZvaWQgY3JlZGVudGlhbF9pbml0KHN0cnVjdCBjcmVkZW50aWFsICpjKQorc3RhdGljIHZvaWQgY3JlZGVudGlhbF9pbml0KHN0cnVjdCBjcmVkZW50aWFsICpjKQogewogCW1lbXNldChjLCAwLCBzaXplb2YoKmMpKTsKIH0KIAotdm9pZCBjcmVkZW50aWFsX2NsZWFyKHN0cnVjdCBjcmVkZW50aWFsICpjKQorc3RhdGljIHZvaWQgY3JlZGVudGlhbF9jbGVhcihzdHJ1Y3QgY3JlZGVudGlhbCAqYykKIHsKLQlmcmVlKGMtPnByb3RvY29sKTsKLQlmcmVlKGMtPmhvc3QpOwotCWZyZWUoYy0+cGF0aCk7Ci0JZnJlZShjLT51c2VybmFtZSk7Ci0JZnJlZV9wYXNzd29yZChjLT5wYXNzd29yZCk7CisJZ19mcmVlKGMtPnByb3RvY29sKTsKKwlnX2ZyZWUoYy0+aG9zdCk7CisJZ19mcmVlKGMtPnBhdGgpOworCWdfZnJlZShjLT51c2VybmFtZSk7CisJZ25vbWVfa2V5cmluZ19tZW1vcnlfZnJlZShjLT5wYXNzd29yZCk7CiAKIAljcmVkZW50aWFsX2luaXQoYyk7CiB9CiAKLWludCBjcmVkZW50aWFsX3JlYWQoc3RydWN0IGNyZWRlbnRpYWwgKmMpCitzdGF0aWMgaW50IGNyZWRlbnRpYWxfcmVhZChzdHJ1Y3QgY3JlZGVudGlhbCAqYykKIHsKLQljaGFyICAgIGJ1ZlsxMDI0XTsKLQlzc2l6ZV90IGxpbmVfbGVuID0gMDsKLQljaGFyICAgKmtleSAgICAgID0gYnVmOwotCWNoYXIgICAqdmFsdWU7CisJY2hhciAqYnVmOworCXNpemVfdCBsaW5lX2xlbjsKKwljaGFyICprZXk7CisJY2hhciAqdmFsdWU7CiAKLQl3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgc3RkaW4pKQotCXsKKwlrZXkgPSBidWYgPSBnbm9tZV9rZXlyaW5nX21lbW9yeV9hbGxvYygxMDI0KTsKKworCXdoaWxlIChmZ2V0cyhidWYsIDEwMjQsIHN0ZGluKSkgewogCQlsaW5lX2xlbiA9IHN0cmxlbihidWYpOwogCi0JCWlmKGJ1ZltsaW5lX2xlbi0xXT09J1xuJykKLQkJCWJ1ZlstLWxpbmVfbGVuXT0nXDAnOworCQlpZiAobGluZV9sZW4gJiYgYnVmW2xpbmVfbGVuLTFdID09ICdcbicpCisJCQlidWZbLS1saW5lX2xlbl0gPSAnXDAnOwogCi0JCWlmKCFsaW5lX2xlbikKKwkJaWYgKCFsaW5lX2xlbikKIAkJCWJyZWFrOwogCi0JCXZhbHVlID0gc3RyY2hyKGJ1ZiwnPScpOwotCQlpZighdmFsdWUpIHsKLQkJCXdhcm5pbmcoImludmFsaWQgY3JlZGVudGlhbCBsaW5lOiAlcyIsIGtleSk7CisJCXZhbHVlID0gc3RyY2hyKGJ1ZiwgJz0nKTsKKwkJaWYgKCF2YWx1ZSkgeworCQkJZ193YXJuaW5nKCJpbnZhbGlkIGNyZWRlbnRpYWwgbGluZTogJXMiLCBrZXkpOworCQkJZ25vbWVfa2V5cmluZ19tZW1vcnlfZnJlZShidWYpOwogCQkJcmV0dXJuIC0xOwogCQl9CiAJCSp2YWx1ZSsrID0gJ1wwJzsKIAogCQlpZiAoIXN0cmNtcChrZXksICJwcm90b2NvbCIpKSB7Ci0JCQlmcmVlKGMtPnByb3RvY29sKTsKLQkJCWMtPnByb3RvY29sID0geHN0cmR1cCh2YWx1ZSk7CisJCQlnX2ZyZWUoYy0+cHJvdG9jb2wpOworCQkJYy0+cHJvdG9jb2wgPSBnX3N0cmR1cCh2YWx1ZSk7CiAJCX0gZWxzZSBpZiAoIXN0cmNtcChrZXksICJob3N0IikpIHsKLQkJCWZyZWUoYy0+aG9zdCk7Ci0JCQljLT5ob3N0ID0geHN0cmR1cCh2YWx1ZSk7Ci0JCQl2YWx1ZSA9IHN0cnJjaHIoYy0+aG9zdCwnOicpOworCQkJZ19mcmVlKGMtPmhvc3QpOworCQkJYy0+aG9zdCA9IGdfc3RyZHVwKHZhbHVlKTsKKwkJCXZhbHVlID0gc3RycmNocihjLT5ob3N0LCAnOicpOwogCQkJaWYgKHZhbHVlKSB7CiAJCQkJKnZhbHVlKysgPSAnXDAnOwogCQkJCWMtPnBvcnQgPSBhdG9pKHZhbHVlKTsKIAkJCX0KIAkJfSBlbHNlIGlmICghc3RyY21wKGtleSwgInBhdGgiKSkgewotCQkJZnJlZShjLT5wYXRoKTsKLQkJCWMtPnBhdGggPSB4c3RyZHVwKHZhbHVlKTsKKwkJCWdfZnJlZShjLT5wYXRoKTsKKwkJCWMtPnBhdGggPSBnX3N0cmR1cCh2YWx1ZSk7CiAJCX0gZWxzZSBpZiAoIXN0cmNtcChrZXksICJ1c2VybmFtZSIpKSB7Ci0JCQlmcmVlKGMtPnVzZXJuYW1lKTsKLQkJCWMtPnVzZXJuYW1lID0geHN0cmR1cCh2YWx1ZSk7CisJCQlnX2ZyZWUoYy0+dXNlcm5hbWUpOworCQkJYy0+dXNlcm5hbWUgPSBnX3N0cmR1cCh2YWx1ZSk7CiAJCX0gZWxzZSBpZiAoIXN0cmNtcChrZXksICJwYXNzd29yZCIpKSB7Ci0JCQlmcmVlX3Bhc3N3b3JkKGMtPnBhc3N3b3JkKTsKLQkJCWMtPnBhc3N3b3JkID0geHN0cmR1cCh2YWx1ZSk7Ci0JCQl3aGlsZSAoKnZhbHVlKSAqdmFsdWUrKyA9ICdcMCc7CisJCQlnbm9tZV9rZXlyaW5nX21lbW9yeV9mcmVlKGMtPnBhc3N3b3JkKTsKKwkJCWMtPnBhc3N3b3JkID0gZ25vbWVfa2V5cmluZ19tZW1vcnlfc3RyZHVwKHZhbHVlKTsKKwkJCXdoaWxlICgqdmFsdWUpCisJCQkJKnZhbHVlKysgPSAnXDAnOwogCQl9CiAJCS8qCiAJCSAqIElnbm9yZSBvdGhlciBsaW5lczsgd2UgZG9uJ3Qga25vdyB3aGF0IHRoZXkgbWVhbiwgYnV0CkBAIC0zNzgsMTcgKzM5OSwyMCBAQAogCQkgKiBsZWFybiBuZXcgbGluZXMsIGFuZCB0aGUgaGVscGVycyBhcmUgdXBkYXRlZCB0byBtYXRjaC4KIAkJICovCiAJfQorCisJZ25vbWVfa2V5cmluZ19tZW1vcnlfZnJlZShidWYpOworCiAJcmV0dXJuIDA7CiB9CiAKLXZvaWQgY3JlZGVudGlhbF93cml0ZV9pdGVtKEZJTEUgKmZwLCBjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnZhbHVlKQorc3RhdGljIHZvaWQgY3JlZGVudGlhbF93cml0ZV9pdGVtKEZJTEUgKmZwLCBjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnZhbHVlKQogewogCWlmICghdmFsdWUpCiAJCXJldHVybjsKIAlmcHJpbnRmKGZwLCAiJXM9JXNcbiIsIGtleSwgdmFsdWUpOwogfQogCi12b2lkIGNyZWRlbnRpYWxfd3JpdGUoY29uc3Qgc3RydWN0IGNyZWRlbnRpYWwgKmMpCitzdGF0aWMgdm9pZCBjcmVkZW50aWFsX3dyaXRlKGNvbnN0IHN0cnVjdCBjcmVkZW50aWFsICpjKQogewogCS8qIG9ubHkgd3JpdGUgdXNlcm5hbWUvcGFzc3dvcmQsIGlmIHNldCAqLwogCWNyZWRlbnRpYWxfd3JpdGVfaXRlbShzdGRvdXQsICJ1c2VybmFtZSIsIGMtPnVzZXJuYW1lKTsKQEAgLTM5OCwxNiArNDIyLDE2IEBACiBzdGF0aWMgdm9pZCB1c2FnZShjb25zdCBjaGFyICpuYW1lKQogewogCXN0cnVjdCBjcmVkZW50aWFsX29wZXJhdGlvbiBjb25zdCAqdHJ5X29wID0gY3JlZGVudGlhbF9oZWxwZXJfb3BzOwotCWNvbnN0IGNoYXIgKmJhc2VuYW1lID0gc3RycmNocihuYW1lLCcvJyk7CisJY29uc3QgY2hhciAqYmFzZW5hbWUgPSBzdHJyY2hyKG5hbWUsICcvJyk7CiAKIAliYXNlbmFtZSA9IChiYXNlbmFtZSkgPyBiYXNlbmFtZSArIDEgOiBuYW1lOwogCWZwcmludGYoc3RkZXJyLCAidXNhZ2U6ICVzIDwiLCBiYXNlbmFtZSk7Ci0Jd2hpbGUodHJ5X29wLT5uYW1lKSB7Ci0JCWZwcmludGYoc3RkZXJyLCIlcyIsKHRyeV9vcCsrKS0+bmFtZSk7Ci0JCWlmKHRyeV9vcC0+bmFtZSkKLQkJCWZwcmludGYoc3RkZXJyLCIlcyIsInwiKTsKKwl3aGlsZSAodHJ5X29wLT5uYW1lKSB7CisJCWZwcmludGYoc3RkZXJyLCAiJXMiLCAodHJ5X29wKyspLT5uYW1lKTsKKwkJaWYgKHRyeV9vcC0+bmFtZSkKKwkJCWZwcmludGYoc3RkZXJyLCAiJXMiLCAifCIpOwogCX0KLQlmcHJpbnRmKHN0ZGVyciwiJXMiLCI+XG4iKTsKKwlmcHJpbnRmKHN0ZGVyciwgIiVzIiwgIj5cbiIpOwogfQogCiBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQpAQCAtNDE1LDIzICs0MzksMjUgQEAKIAlpbnQgcmV0ID0gRVhJVF9TVUNDRVNTOwogCiAJc3RydWN0IGNyZWRlbnRpYWxfb3BlcmF0aW9uIGNvbnN0ICp0cnlfb3AgPSBjcmVkZW50aWFsX2hlbHBlcl9vcHM7Ci0Jc3RydWN0IGNyZWRlbnRpYWwgICAgICAgICAgICAgICAgICBjcmVkICAgPSBDUkVERU5USUFMX0lOSVQ7CisJc3RydWN0IGNyZWRlbnRpYWwgY3JlZCA9IENSRURFTlRJQUxfSU5JVDsKIAogCWlmICghYXJndlsxXSkgewogCQl1c2FnZShhcmd2WzBdKTsKLQkJZ290byBvdXQ7CisJCWV4aXQoRVhJVF9GQUlMVVJFKTsKIAl9CiAKKwlnX3NldF9hcHBsaWNhdGlvbl9uYW1lKCJHaXQgQ3JlZGVudGlhbCBIZWxwZXIiKTsKKwogCS8qIGxvb2t1cCBvcGVyYXRpb24gY2FsbGJhY2sgKi8KLQl3aGlsZSh0cnlfb3AtPm5hbWUgJiYgc3RyY21wKGFyZ3ZbMV0sIHRyeV9vcC0+bmFtZSkpCisJd2hpbGUgKHRyeV9vcC0+bmFtZSAmJiBzdHJjbXAoYXJndlsxXSwgdHJ5X29wLT5uYW1lKSkKIAkJdHJ5X29wKys7CiAKIAkvKiB1bnN1cHBvcnRlZCBvcGVyYXRpb24gZ2l2ZW4gLS0gaWdub3JlIHNpbGVudGx5ICovCi0JaWYoIXRyeV9vcC0+bmFtZSB8fCAhdHJ5X29wLT5vcCkKKwlpZiAoIXRyeV9vcC0+bmFtZSB8fCAhdHJ5X29wLT5vcCkKIAkJZ290byBvdXQ7CiAKIAlyZXQgPSBjcmVkZW50aWFsX3JlYWQoJmNyZWQpOwotCWlmKHJldCkKKwlpZiAocmV0KQogCQlnb3RvIG91dDsKIAogCS8qIHBlcmZvcm0gY3JlZGVudGlhbCBvcGVyYXRpb24gKi8KZGlmZiAtLWdpdCBhL2NvbnRyaWIvY3JlZGVudGlhbC9uZXRyYy9naXQtY3JlZGVudGlhbC1uZXRyYyBiL2NvbnRyaWIvY3JlZGVudGlhbC9uZXRyYy9naXQtY3JlZGVudGlhbC1uZXRyYwppbmRleCA2YzUxYzQzLi4xNTcxYTdiIDEwMDc1NQotLS0gYS9jb250cmliL2NyZWRlbnRpYWwvbmV0cmMvZ2l0LWNyZWRlbnRpYWwtbmV0cmMKKysrIGIvY29udHJpYi9jcmVkZW50aWFsL25ldHJjL2dpdC1jcmVkZW50aWFsLW5ldHJjCkBAIC0zNjksNyArMzY5LDkgQEAKIAl7CiAJCW15ICRlbnRyeV90ZXh0ID0gam9pbiAnLCAnLCBtYXAgeyAiJF89JGVudHJ5LT57JF99IiB9IGtleXMgJSRlbnRyeTsKIAkJZm9yZWFjaCBteSAkY2hlY2sgKHNvcnQga2V5cyAlJHF1ZXJ5KSB7Ci0JCQlpZiAoZGVmaW5lZCAkcXVlcnktPnskY2hlY2t9KSB7CisJCQlpZiAoIWRlZmluZWQgJGVudHJ5LT57JGNoZWNrfSkgeworCQkJICAgICAgICBsb2dfZGVidWcoIk9LOiBlbnRyeSBoYXMgbm8gJGNoZWNrIHRva2VuLCBzbyBhbnkgdmFsdWUgc2F0aXNmaWVzIGNoZWNrICRjaGVjayIpOworCQkJfSBlbHNpZiAoZGVmaW5lZCAkcXVlcnktPnskY2hlY2t9KSB7CiAJCQkJbG9nX2RlYnVnKCJjb21wYXJlICVzIFslc10gdG8gWyVzXSAoZW50cnk6ICVzKSIsCiAJCQkJCSAgJGNoZWNrLAogCQkJCQkgICRlbnRyeS0+eyRjaGVja30sCmRpZmYgLS1naXQgYS9jb250cmliL2V4YW1wbGVzL2dpdC1sb2cuc2ggYi9jb250cmliL2V4YW1wbGVzL2dpdC1sb2cuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzJlYTcxYwotLS0gL2Rldi9udWxsCisrKyBiL2NvbnRyaWIvZXhhbXBsZXMvZ2l0LWxvZy5zaApAQCAtMCwwICsxLDE1IEBACisjIS9iaW4vc2gKKyMKKyMgQ29weXJpZ2h0IChjKSAyMDA1IExpbnVzIFRvcnZhbGRzCisjCisKK1VTQUdFPSdbLS1tYXgtY291bnQ9PG4+XSBbPHNpbmNlPi4uPGxpbWl0Pl0gWy0tcHJldHR5PTxmb3JtYXQ+XSBbZ2l0LXJldi1saXN0IG9wdGlvbnNdJworU1VCRElSRUNUT1JZX09LPSdZZXMnCisuIGdpdC1zaC1zZXR1cAorCityZXZzPSQoZ2l0LXJldi1wYXJzZSAtLXJldnMtb25seSAtLW5vLWZsYWdzIC0tZGVmYXVsdCBIRUFEICIkQCIpIHx8IGV4aXQKK1sgIiRyZXZzIiBdIHx8IHsKKwlkaWUgIk5vIEhFQUQgcmVmIgorfQorZ2l0LXJldi1saXN0IC0tcHJldHR5ICQoZ2l0LXJldi1wYXJzZSAtLWRlZmF1bHQgSEVBRCAiJEAiKSB8CitMRVNTPS1TICR7UEFHRVI6LWxlc3N9CmRpZmYgLS1naXQgYS9jb250cmliL2V4YW1wbGVzL2dpdC1tZXJnZS5zaCBiL2NvbnRyaWIvZXhhbXBsZXMvZ2l0LW1lcmdlLnNoCmluZGV4IDdiOTIyYzMuLmE1ZTQyYTkgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvZXhhbXBsZXMvZ2l0LW1lcmdlLnNoCisrKyBiL2NvbnRyaWIvZXhhbXBsZXMvZ2l0LW1lcmdlLnNoCkBAIC0yNjMsNyArMjYzLDcgQEAKIAogIyBUaGlzIGNvdWxkIGJlIHRyYWRpdGlvbmFsICJtZXJnZSA8bXNnPiBIRUFEIDxjb21taXQ+Li4uIiAgYW5kIHRoZQogIyB3YXkgd2UgY2FuIHRlbGwgaXQgaXMgdG8gc2VlIGlmIHRoZSBzZWNvbmQgdG9rZW4gaXMgSEVBRCwgYnV0IHNvbWUKLSMgcGVvcGxlIG1pZ2h0IGhhdmUgbWlzdXNlZCB0aGUgaW50ZXJmYWNlIGFuZCB1c2VkIGEgY29tbWl0dGlzaCB0aGF0CisjIHBlb3BsZSBtaWdodCBoYXZlIG1pc3VzZWQgdGhlIGludGVyZmFjZSBhbmQgdXNlZCBhIGNvbW1pdC1pc2ggdGhhdAogIyBpcyB0aGUgc2FtZSBhcyBIRUFEIHRoZXJlIGluc3RlYWQuICBUcmFkaXRpb25hbCBmb3JtYXQgbmV2ZXIgd291bGQKICMgaGF2ZSAiLW0iIHNvIGl0IGlzIGFuIGFkZGl0aW9uYWwgc2FmZXR5IG1lYXN1cmUgdG8gY2hlY2sgZm9yIGl0LgogCmRpZmYgLS1naXQgYS9naXQtcmVwYWNrLnNoIGIvY29udHJpYi9leGFtcGxlcy9naXQtcmVwYWNrLnNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBnaXQtcmVwYWNrLnNoCnJlbmFtZSB0byBjb250cmliL2V4YW1wbGVzL2dpdC1yZXBhY2suc2gKZGlmZiAtLWdpdCBhL2NvbnRyaWIvZXhhbXBsZXMvZ2l0LXdoYXRjaGFuZ2VkLnNoIGIvY29udHJpYi9leGFtcGxlcy9naXQtd2hhdGNoYW5nZWQuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmVkYmRjNgotLS0gL2Rldi9udWxsCisrKyBiL2NvbnRyaWIvZXhhbXBsZXMvZ2l0LXdoYXRjaGFuZ2VkLnNoCkBAIC0wLDAgKzEsMjggQEAKKyMhL2Jpbi9zaAorCitVU0FHRT0nWy1wXSBbLS1tYXgtY291bnQ9PG4+XSBbPHNpbmNlPi4uPGxpbWl0Pl0gWy0tcHJldHR5PTxmb3JtYXQ+XSBbLW1dIFtnaXQtZGlmZi10cmVlIG9wdGlvbnNdIFtnaXQtcmV2LWxpc3Qgb3B0aW9uc10nCitTVUJESVJFQ1RPUllfT0s9J1llcycKKy4gZ2l0LXNoLXNldHVwCisKK2RpZmZfdHJlZV9mbGFncz0kKGdpdC1yZXYtcGFyc2UgLS1zcSAtLW5vLXJldnMgLS1mbGFncyAiJEAiKSB8fCBleGl0CitjYXNlICIkMCIgaW4KKyp3aGF0Y2hhbmdlZCkKKwljb3VudD0KKwl0ZXN0IC16ICIkZGlmZl90cmVlX2ZsYWdzIiAmJgorCQlkaWZmX3RyZWVfZmxhZ3M9JChnaXQgY29uZmlnIC0tZ2V0IHdoYXRjaGFuZ2VkLmRpZmZ0cmVlKQorCWRpZmZfdHJlZV9kZWZhdWx0X2ZsYWdzPSctYyAtTSAtLWFiYnJldicgOzsKKypzaG93KQorCWNvdW50PS1uMQorCXRlc3QgLXogIiRkaWZmX3RyZWVfZmxhZ3MiICYmCisJCWRpZmZfdHJlZV9mbGFncz0kKGdpdCBjb25maWcgLS1nZXQgc2hvdy5kaWZmdHJlZSkKKwlkaWZmX3RyZWVfZGVmYXVsdF9mbGFncz0nLS1jYyAtLWFsd2F5cycgOzsKK2VzYWMKK3Rlc3QgLXogIiRkaWZmX3RyZWVfZmxhZ3MiICYmCisJZGlmZl90cmVlX2ZsYWdzPSIkZGlmZl90cmVlX2RlZmF1bHRfZmxhZ3MiCisKK3Jldl9saXN0X2FyZ3M9JChnaXQtcmV2LXBhcnNlIC0tc3EgLS1kZWZhdWx0IEhFQUQgLS1yZXZzLW9ubHkgIiRAIikgJiYKK2RpZmZfdHJlZV9hcmdzPSQoZ2l0LXJldi1wYXJzZSAtLXNxIC0tbm8tcmV2cyAtLW5vLWZsYWdzICIkQCIpICYmCisKK2V2YWwgImdpdC1yZXYtbGlzdCAkY291bnQgJHJldl9saXN0X2FyZ3MiIHwKK2V2YWwgImdpdC1kaWZmLXRyZWUgLS1zdGRpbiAtLXByZXR0eSAtciAkZGlmZl90cmVlX2ZsYWdzICRkaWZmX3RyZWVfYXJncyIgfAorTEVTUz0iJExFU1MgLVMiICR7UEFHRVI6LWxlc3N9CmRpZmYgLS1naXQgYS9jb250cmliL2dpdHZpZXcvZ2l0dmlldyBiL2NvbnRyaWIvZ2l0dmlldy9naXR2aWV3CmluZGV4IDRjOTlkZmIuLjRlMjNjNjUgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvZ2l0dmlldy9naXR2aWV3CisrKyBiL2NvbnRyaWIvZ2l0dmlldy9naXR2aWV3CkBAIC0xMjA1LDcgKzEyMDUsNyBAQAogCiAJCSNUaGUgZmlyc3QgcGFyZW50IGFsd2F5cyBjb250aW51ZSBvbiB0aGUgc2FtZSBsaW5lCiAJCXRyeToKLQkJCSMgY2hlY2sgd2UgYWxyZWF5IGhhdmUgdGhlIHZhbHVlCisJCQkjIGNoZWNrIHdlIGFscmVhZHkgaGF2ZSB0aGUgdmFsdWUKIAkJCXRtcF9ub2RlX3BvcyA9IHNlbGYubm9kZXBvc1tjb21taXQucGFyZW50X3NoYTFbMF1dCiAJCWV4Y2VwdCBLZXlFcnJvcjoKIAkJCXNlbGYuY29sb3Vyc1tjb21taXQucGFyZW50X3NoYTFbMF1dID0gY29sb3VyCmRpZmYgLS1naXQgYS9jb250cmliL2hvb2tzL3Bvc3QtcmVjZWl2ZS1lbWFpbCBiL2NvbnRyaWIvaG9va3MvcG9zdC1yZWNlaXZlLWVtYWlsCmluZGV4IDE1MzExNTAuLjg3NDdiODQgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvaG9va3MvcG9zdC1yZWNlaXZlLWVtYWlsCisrKyBiL2NvbnRyaWIvaG9va3MvcG9zdC1yZWNlaXZlLWVtYWlsCkBAIC0yMiw3ICsyMiw2IEBACiAjIEZvciBleGFtcGxlLCBvbiBkZWJpYW4gdGhlIGhvb2sgaXMgc3RvcmVkIGluCiAjIC91c3Ivc2hhcmUvZ2l0LWNvcmUvY29udHJpYi9ob29rcy9wb3N0LXJlY2VpdmUtZW1haWw6CiAjCi0jICBjaG1vZCBhK3ggcG9zdC1yZWNlaXZlLWVtYWlsCiAjICBjZCAvcGF0aC90by95b3VyL3JlcG9zaXRvcnkuZ2l0CiAjICBsbiAtc2YgL3Vzci9zaGFyZS9naXQtY29yZS9jb250cmliL2hvb2tzL3Bvc3QtcmVjZWl2ZS1lbWFpbCBob29rcy9wb3N0LXJlY2VpdmUKICMKQEAgLTI0Miw2ICsyNDEsOSBAQAogCWNhdCA8PC1FT0YKIAlUbzogJHJlY2lwaWVudHMKIAlTdWJqZWN0OiAke2VtYWlscHJlZml4fSRwcm9qZWN0ZGVzYyAkcmVmbmFtZV90eXBlICRzaG9ydF9yZWZuYW1lICR7Y2hhbmdlX3R5cGV9ZC4gJGRlc2NyaWJlCisJTUlNRS1WZXJzaW9uOiAxLjAKKwlDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgKKwlDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CiAJWC1HaXQtUmVmbmFtZTogJHJlZm5hbWUKIAlYLUdpdC1SZWZ0eXBlOiAkcmVmbmFtZV90eXBlCiAJWC1HaXQtT2xkcmV2OiAkb2xkcmV2CkBAIC00NzEsNyArNDczLDcgQEAKIAllY2hvICIgICAgICAgd2FzICAkb2xkcmV2IgogCWVjaG8gIiIKIAllY2hvICRMT0dCRUdJTgotCWdpdCBzaG93IC1zIC0tcHJldHR5PW9uZWxpbmUgJG9sZHJldgorCWdpdCBkaWZmLXRyZWUgLXMgLS1hbHdheXMgLS1lbmNvZGluZz1VVEYtOCAtLXByZXR0eT1vbmVsaW5lICRvbGRyZXYKIAllY2hvICRMT0dFTkQKIH0KIApAQCAtNTQ3LDExICs1NDksMTEgQEAKIAkJIyBwZXJmb3JtZWQgb24gdGhlbQogCQlpZiBbIC1uICIkcHJldnRhZyIgXTsgdGhlbgogCQkJIyBTaG93IGNoYW5nZXMgc2luY2UgdGhlIHByZXZpb3VzIHJlbGVhc2UKLQkJCWdpdCByZXYtbGlzdCAtLXByZXR0eT1zaG9ydCAiJHByZXZ0YWcuLiRuZXdyZXYiIHwgZ2l0IHNob3J0bG9nCisJCQlnaXQgc2hvcnRsb2cgIiRwcmV2dGFnLi4kbmV3cmV2IgogCQllbHNlCiAJCQkjIE5vIHByZXZpb3VzIHRhZywgc2hvdyBhbGwgdGhlIGNoYW5nZXMgc2luY2UgdGltZQogCQkJIyBiZWdhbgotCQkJZ2l0IHJldi1saXN0IC0tcHJldHR5PXNob3J0ICRuZXdyZXYgfCBnaXQgc2hvcnRsb2cKKwkJCWdpdCBzaG9ydGxvZyAkbmV3cmV2CiAJCWZpCiAJCTs7CiAJKikKQEAgLTU3MSw3ICs1NzMsNyBAQAogCWVjaG8gIiAgICAgICB3YXMgICRvbGRyZXYiCiAJZWNobyAiIgogCWVjaG8gJExPR0JFR0lOCi0JZ2l0IHNob3cgLXMgLS1wcmV0dHk9b25lbGluZSAkb2xkcmV2CisJZ2l0IGRpZmYtdHJlZSAtcyAtLWFsd2F5cyAtLWVuY29kaW5nPVVURi04IC0tcHJldHR5PW9uZWxpbmUgJG9sZHJldgogCWVjaG8gJExPR0VORAogfQogCkBAIC02MTcsNyArNjE5LDcgQEAKIAllY2hvICIiCiAJaWYgWyAiJG5ld3Jldl90eXBlIiA9ICJjb21taXQiIF07IHRoZW4KIAkJZWNobyAkTE9HQkVHSU4KLQkJZ2l0IHNob3cgLS1uby1jb2xvciAtLXJvb3QgLXMgLS1wcmV0dHk9bWVkaXVtICRuZXdyZXYKKwkJZ2l0IGRpZmYtdHJlZSAtcyAtLWFsd2F5cyAtLWVuY29kaW5nPVVURi04IC0tcHJldHR5PW1lZGl1bSAkbmV3cmV2CiAJCWVjaG8gJExPR0VORAogCWVsc2UKIAkJIyBXaGF0IGNhbiB3ZSBkbyBoZXJlPyAgVGhlIHRhZyBtYXJrcyBhbiBvYmplY3QgdGhhdCBpcyBub3QKQEAgLTYzNiw3ICs2MzgsNyBAQAogCWVjaG8gIiAgICAgICB3YXMgICRvbGRyZXYiCiAJZWNobyAiIgogCWVjaG8gJExPR0JFR0lOCi0JZ2l0IHNob3cgLXMgLS1wcmV0dHk9b25lbGluZSAkb2xkcmV2CisJZ2l0IGRpZmYtdHJlZSAtcyAtLWFsd2F5cyAtLWVuY29kaW5nPVVURi04IC0tcHJldHR5PW9uZWxpbmUgJG9sZHJldgogCWVjaG8gJExPR0VORAogfQogCmRpZmYgLS1naXQgYS9jb250cmliL2hvb2tzL3ByZS1hdXRvLWdjLWJhdHRlcnkgYi9jb250cmliL2hvb2tzL3ByZS1hdXRvLWdjLWJhdHRlcnkKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCAxZjkxNGM5Li45ZDBjMmQxCi0tLSBhL2NvbnRyaWIvaG9va3MvcHJlLWF1dG8tZ2MtYmF0dGVyeQorKysgYi9jb250cmliL2hvb2tzL3ByZS1hdXRvLWdjLWJhdHRlcnkKQEAgLTEzLDcgKzEzLDYgQEAKICMgRm9yIGV4YW1wbGUsIGlmIHRoZSBob29rIGlzIHN0b3JlZCBpbgogIyAvdXNyL3NoYXJlL2dpdC1jb3JlL2NvbnRyaWIvaG9va3MvcHJlLWF1dG8tZ2MtYmF0dGVyeToKICMKLSMgY2htb2QgYSt4IHByZS1hdXRvLWdjLWJhdHRlcnkKICMgY2QgL3BhdGgvdG8veW91ci9yZXBvc2l0b3J5LmdpdAogIyBsbiAtc2YgL3Vzci9zaGFyZS9naXQtY29yZS9jb250cmliL2hvb2tzL3ByZS1hdXRvLWdjLWJhdHRlcnkgXAogIwlob29rcy9wcmUtYXV0by1nYwpkaWZmIC0tZ2l0IGEvY29udHJpYi9ob29rcy9zZXRnaXRwZXJtcy5wZXJsIGIvY29udHJpYi9ob29rcy9zZXRnaXRwZXJtcy5wZXJsCm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBhL2NvbnRyaWIvaG9va3MvdXBkYXRlLXBhcmFub2lkIGIvY29udHJpYi9ob29rcy91cGRhdGUtcGFyYW5vaWQKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQpkaWZmIC0tZ2l0IGEvY29udHJpYi9tdy10by1naXQvTWFrZWZpbGUgYi9jb250cmliL213LXRvLWdpdC9NYWtlZmlsZQppbmRleCA3NmZjZDRkLi5hNGI2ZjdhIDEwMDY0NAotLS0gYS9jb250cmliL213LXRvLWdpdC9NYWtlZmlsZQorKysgYi9jb250cmliL213LXRvLWdpdC9NYWtlZmlsZQpAQCAtMTgsMTQgKzE4LDI1IEBACiBHSVRfUk9PVF9ESVI9Li4vLi4KIEhFUkU9Y29udHJpYi9tdy10by1naXQvCiAKK0lOU1RBTEwgPSBpbnN0YWxsCisKIFNDUklQVF9QRVJMX0ZVTEw9JChwYXRzdWJzdCAlLCQoSEVSRSkvJSwkKFNDUklQVF9QRVJMKSkKIElOU1RMSUJESVI9JChzaGVsbCAkKE1BS0UpIC1DICQoR0lUX1JPT1RfRElSKS9wZXJsIFwKICAgICAgICAgICAgICAgICAtcyAtLW5vLXByaW50LWRpcmVjdG9yeSBpbnN0bGliZGlyKQorREVTVERJUl9TUSA9ICQoc3Vic3QgJywnXCcnLCQoREVTVERJUikpCitJTlNUTElCRElSX1NRID0gJChzdWJzdCAnLCdcJycsJChJTlNUTElCRElSKSkKIAogYWxsOiBidWlsZAogCit0ZXN0OiBhbGwKKwkkKE1BS0UpIC1DIHQKKworY2hlY2s6IHBlcmxjcml0aWMgdGVzdAorCiBpbnN0YWxsX3BtOgotCWluc3RhbGwgJChHSVRfTUVESUFXSUtJX1BNKSAkKElOU1RMSUJESVIpLyQoR0lUX01FRElBV0lLSV9QTSkKKwkkKElOU1RBTEwpIC1kIC1tIDc1NSAnJChERVNURElSX1NRKSQoSU5TVExJQkRJUl9TUSkvR2l0JworCSQoSU5TVEFMTCkgLW0gNjQ0ICQoR0lUX01FRElBV0lLSV9QTSkgXAorCQknJChERVNURElSX1NRKSQoSU5TVExJQkRJUl9TUSkvJChHSVRfTUVESUFXSUtJX1BNKScKIAogYnVpbGQ6CiAJJChNQUtFKSAtQyAkKEdJVF9ST09UX0RJUikgU0NSSVBUX1BFUkw9IiQoU0NSSVBUX1BFUkxfRlVMTCkiIFwKQEAgLTM4LDcgKzQ5LDkgQEAKIGNsZWFuOgogCSQoTUFLRSkgLUMgJChHSVRfUk9PVF9ESVIpIFNDUklQVF9QRVJMPSIkKFNDUklQVF9QRVJMX0ZVTEwpIiBcCiAgICAgICAgICAgICAgICAgY2xlYW4tcGVybC1zY3JpcHQKLQlybSAkKElOU1RMSUJESVIpLyQoR0lUX01FRElBV0lLSV9QTSkKIAogcGVybGNyaXRpYzoKLQlwZXJsY3JpdGljIC0yICoucGVybAorCXBlcmxjcml0aWMgLTUgJChTQ1JJUFRfUEVSTCkKKwktcGVybGNyaXRpYyAtMiAkKFNDUklQVF9QRVJMKQorCisuUEhPTlk6IGFsbCB0ZXN0IGNoZWNrIGluc3RhbGxfcG0gaW5zdGFsbCBjbGVhbiBwZXJsY3JpdGljCmRpZmYgLS1naXQgYS9jb250cmliL213LXRvLWdpdC9naXQtcmVtb3RlLW1lZGlhd2lraS5wZXJsIGIvY29udHJpYi9tdy10by1naXQvZ2l0LXJlbW90ZS1tZWRpYXdpa2kucGVybAppbmRleCA4NWQwYzQyLi4zZjhkOTkzIDEwMDc1NQotLS0gYS9jb250cmliL213LXRvLWdpdC9naXQtcmVtb3RlLW1lZGlhd2lraS5wZXJsCisrKyBiL2NvbnRyaWIvbXctdG8tZ2l0L2dpdC1yZW1vdGUtbWVkaWF3aWtpLnBlcmwKQEAgLTU5MCw2ICs1OTAsOSBAQAogCXByaW50IHsqU1RET1VUfSAiaW1wb3J0XG4iOwogCXByaW50IHsqU1RET1VUfSAibGlzdFxuIjsKIAlwcmludCB7KlNURE9VVH0gInB1c2hcbiI7CisJaWYgKCRkdW1iX3B1c2gpIHsKKwkJcHJpbnQgeypTVERPVVR9ICJuby1wcml2YXRlLXVwZGF0ZVxuIjsKKwl9CiAJcHJpbnQgeypTVERPVVR9ICJcbiI7CiAJcmV0dXJuOwogfQpAQCAtMTIyMSw3ICsxMjI0LDYgQEAKIAkJfQogCQlpZiAoISRkdW1iX3B1c2gpIHsKIAkJCXJ1bl9naXQocXEobm90ZXMgLS1yZWY9JHtyZW1vdGVuYW1lfS9tZWRpYXdpa2kgYWRkIC1mIC1tICJtZWRpYXdpa2lfcmV2aXNpb246ICR7bXdfcmV2aXNpb259IiAke3NoYTFfY29tbWl0fSkpOwotCQkJcnVuX2dpdChxcSh1cGRhdGUtcmVmIC1tICJHaXQtTWVkaWFXaWtpIHB1c2giIHJlZnMvbWVkaWF3aWtpLyR7cmVtb3RlbmFtZX0vbWFzdGVyICR7c2hhMV9jb21taXR9ICR7c2hhMV9jaGlsZH0pKTsKIAkJfQogCX0KIApAQCAtMTMxMyw3ICsxMzE1LDcgQEAKIAkjIFN0b3JlICJub3RBTmFtZVNwYWNlIiBhcyBzcGVjaWFsIHZhbHVlIGZvciBpbmV4aXN0aW5nIG5hbWVzcGFjZXMKIAlteSAkc3RvcmVfaWQgPSAoJGlkIHx8ICdub3RBTmFtZVNwYWNlJyk7CiAKLQkjIFN0b3JlIGV4cGxpY2l0ZWx5IHJlcXVlc3RlZCBuYW1lc3BhY2VzIG9uIGRpc2sKKwkjIFN0b3JlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG5hbWVzcGFjZXMgb24gZGlzawogCWlmICghZXhpc3RzICRjYWNoZWRfbXdfbmFtZXNwYWNlX2lkeyRuYW1lfSkgewogCQlydW5fZ2l0KHFxKGNvbmZpZyAtLWFkZCByZW1vdGUuJHtyZW1vdGVuYW1lfS5uYW1lc3BhY2VDYWNoZSAiJHtuYW1lfToke3N0b3JlX2lkfSIpKTsKIAkJJGNhY2hlZF9td19uYW1lc3BhY2VfaWR7JG5hbWV9ID0gMTsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvbXctdG8tZ2l0L3QvdGVzdC1naXRtdy1saWIuc2ggYi9jb250cmliL213LXRvLWdpdC90L3Rlc3QtZ2l0bXctbGliLnNoCmluZGV4IGNhNjg2MGYuLjMzNzJiMmEgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvbXctdG8tZ2l0L3QvdGVzdC1naXRtdy1saWIuc2gKKysrIGIvY29udHJpYi9tdy10by1naXQvdC90ZXN0LWdpdG13LWxpYi5zaApAQCAtOTEsNyArOTEsNyBAQAogIyBDaGVjayB0aGF0IDxkaXI+IGNvbnRhaW5zIGV4YWN0bHkgPE4+IGZpbGVzCiB0ZXN0X2NvbnRhaW5zX05fZmlsZXMgKCkgewogCWlmIHRlc3QgYGxzIC0tICIkMSIgfCB3YyAtbGAgLW5lICIkMiI7IHRoZW4KLQkJZWNobyAiZGlyZWN0b3J5ICQxIHNvdWxkIGNvbnRhaW4gJDIgZmlsZXMiCisJCWVjaG8gImRpcmVjdG9yeSAkMSBzaG91bGQgY29udGFpbiAkMiBmaWxlcyIKIAkJZWNobyAiaXQgY29udGFpbnMgdGhlc2UgZmlsZXM6IgogCQlscyAiJDEiCiAJCWZhbHNlCmRpZmYgLS1naXQgYS9jb250cmliL213LXRvLWdpdC90L3Rlc3QuY29uZmlnIGIvY29udHJpYi9tdy10by1naXQvdC90ZXN0LmNvbmZpZwppbmRleCA0Y2ZlYmU5Li41YmEwNjg0IDEwMDY0NAotLS0gYS9jb250cmliL213LXRvLWdpdC90L3Rlc3QuY29uZmlnCisrKyBiL2NvbnRyaWIvbXctdG8tZ2l0L3QvdGVzdC5jb25maWcKQEAgLTEyLDcgKzEyLDcgQEAKIFRNUD0vdG1wCiBEQl9GSUxFPXdpa2lkYi5zcWxpdGUKIAotIyBJZiBMSUdIVFRQRCBpcyBub3Qgc2V0IHRvIHRydWUsIHRoZSBzY3JpcHQgd2lsbCB1c2UgdGhlIGRlZmF1dAorIyBJZiBMSUdIVFRQRCBpcyBub3Qgc2V0IHRvIHRydWUsIHRoZSBzY3JpcHQgd2lsbCB1c2UgdGhlIGRlZmF1bHQKICMgd2ViIHNlcnZlciBydW5uaW5nIGluIFdJS0lfRElSX0lOU1QuCiBXSUtJX0RJUl9JTlNUPS92YXIvd3d3CiAKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcDRpbXBvcnQvUkVBRE1FIGIvY29udHJpYi9wNGltcG9ydC9SRUFETUUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5ODkyYjYuLjAwMDAwMDAKLS0tIGEvY29udHJpYi9wNGltcG9ydC9SRUFETUUKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1QbGVhc2Ugc2VlIGNvbnRyaWIvZmFzdC1pbXBvcnQvZ2l0LXA0IGZvciBhIGJldHRlciBQZXJmb3JjZSBpbXBvcnRlci4KZGlmZiAtLWdpdCBhL2NvbnRyaWIvcDRpbXBvcnQvZ2l0LXA0aW1wb3J0LnB5IGIvY29udHJpYi9wNGltcG9ydC9naXQtcDRpbXBvcnQucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU5M2Q2YTAuLjAwMDAwMDAKLS0tIGEvY29udHJpYi9wNGltcG9ydC9naXQtcDRpbXBvcnQucHkKKysrIC9kZXYvbnVsbApAQCAtMSwzNjUgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0jCi0jIFRoaXMgdG9vbCBpcyBjb3B5cmlnaHQgKGMpIDIwMDYsIFNlYW4gRXN0YWJyb29rcy4KLSMgSXQgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIEdudSBQdWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyLgotIwotIyBJbXBvcnQgUGVyZm9yY2UgYnJhbmNoZXMgaW50byBHaXQgcmVwb3NpdG9yaWVzLgotIyBDaGVja2luZyBvdXQgdGhlIGZpbGVzIGlzIGRvbmUgYnkgY2FsbGluZyB0aGUgc3RhbmRhcmQgcDQKLSMgY2xpZW50IHdoaWNoIHlvdSBtdXN0IGhhdmUgcHJvcGVybHkgY29uZmlndXJlZCB5b3Vyc2VsZgotIwotCi1pbXBvcnQgbWFyc2hhbAotaW1wb3J0IG9zCi1pbXBvcnQgc3lzCi1pbXBvcnQgdGltZQotaW1wb3J0IGdldG9wdAotCi1pZiBzeXMuaGV4dmVyc2lvbiA8IDB4MDIwMjAwMDA6Ci0gICAjIFRoZSBiZWhhdmlvciBvZiB0aGUgbWFyc2hhbCBtb2R1bGUgY2hhbmdlZCBzaWduaWZpY2FudGx5IGluIDIuMgotICAgc3lzLnN0ZGVyci53cml0ZSgiZ2l0LXA0aW1wb3J0LnB5OiByZXF1aXJlcyBQeXRob24gMi4yIG9yIGxhdGVyLlxuIikKLSAgIHN5cy5leGl0KDEpCi0KLWZyb20gc2lnbmFsIGltcG9ydCBzaWduYWwsIFwKLSAgIFNJR1BJUEUsIFNJR0lOVCwgU0lHX0RGTCwgXAotICAgZGVmYXVsdF9pbnRfaGFuZGxlcgotCi1zaWduYWwoU0lHUElQRSwgU0lHX0RGTCkKLXMgPSBzaWduYWwoU0lHSU5ULCBTSUdfREZMKQotaWYgcyAhPSBkZWZhdWx0X2ludF9oYW5kbGVyOgotICAgc2lnbmFsKFNJR0lOVCwgcykKLQotZGVmIGRpZShtc2csICphcmdzKToKLSAgICBmb3IgYSBpbiBhcmdzOgotICAgICAgICBtc2cgPSAiJXMgJXMiICUgKG1zZywgYSkKLSAgICBwcmludCAiZ2l0LXA0aW1wb3J0IGZhdGFsIGVycm9yOiIsIG1zZwotICAgIHN5cy5leGl0KDEpCi0KLWRlZiB1c2FnZSgpOgotICAgIHByaW50ICJVU0FHRTogZ2l0LXA0aW1wb3J0IFstcXwtdl0gIFstLWF1dGhvcnM9PGZpbGU+XSAgWy10IDx0aW1lem9uZT5dICBbLy9wNHJlcG8vcGF0aCA8YnJhbmNoPl0iCi0gICAgc3lzLmV4aXQoMSkKLQotdmVyYm9zaXR5ID0gMQotbG9nZmlsZSA9ICIvZGV2L251bGwiCi1pZ25vcmVfd2FybmluZ3MgPSBGYWxzZQotc3RpdGNoID0gMAotdGFnYWxsID0gVHJ1ZQotCi1kZWYgcmVwb3J0KGxldmVsLCBtc2csICphcmdzKToKLSAgICBnbG9iYWwgdmVyYm9zaXR5Ci0gICAgZ2xvYmFsIGxvZ2ZpbGUKLSAgICBmb3IgYSBpbiBhcmdzOgotICAgICAgICBtc2cgPSAiJXMgJXMiICUgKG1zZywgYSkKLSAgICBmZCA9IG9wZW4obG9nZmlsZSwgImEiKQotICAgIGZkLndyaXRlbGluZXMobXNnKQotICAgIGZkLmNsb3NlKCkKLSAgICBpZiBsZXZlbCA8PSB2ZXJib3NpdHk6Ci0gICAgICAgIHByaW50IG1zZwotCi1jbGFzcyBwNF9jb21tYW5kOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBfcmVwb3BhdGgpOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBnbG9iYWwgbG9nZmlsZQotICAgICAgICAgICAgc2VsZi51c2VybGlzdCA9IHt9Ci0gICAgICAgICAgICBpZiBfcmVwb3BhdGhbLTFdID09ICcvJzoKLSAgICAgICAgICAgICAgICBzZWxmLnJlcG9wYXRoID0gX3JlcG9wYXRoWzotMV0KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5yZXBvcGF0aCA9IF9yZXBvcGF0aAotICAgICAgICAgICAgaWYgc2VsZi5yZXBvcGF0aFstNDpdICE9ICIvLi4uIjoKLSAgICAgICAgICAgICAgICBzZWxmLnJlcG9wYXRoPSAiJXMvLi4uIiAlIHNlbGYucmVwb3BhdGgKLSAgICAgICAgICAgIGY9b3MucG9wZW4oJ3A0IC1WIDI+PiVzJyVsb2dmaWxlLCAncmInKQotICAgICAgICAgICAgYSA9IGYucmVhZGxpbmVzKCkKLSAgICAgICAgICAgIGlmIGYuY2xvc2UoKToKLSAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICAgICAgZGllKCJDb3VsZCBub3QgZmluZCB0aGUgXCJwNFwiIGNvbW1hbmQiKQotCi0gICAgZGVmIHA0KHNlbGYsIGNtZCwgKmFyZ3MpOgotICAgICAgICBnbG9iYWwgbG9nZmlsZQotICAgICAgICBjbWQgPSAiJXMgJXMiICUgKGNtZCwgJyAnLmpvaW4oYXJncykpCi0gICAgICAgIHJlcG9ydCgyLCAiUDQ6IiwgY21kKQotICAgICAgICBmPW9zLnBvcGVuKCdwNCAtRyAlcyAyPj4lcycgJSAoY21kLGxvZ2ZpbGUpLCAncmInKQotICAgICAgICBsaXN0ID0gW10KLSAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGxpc3QuYXBwZW5kKG1hcnNoYWwubG9hZChmKSkKLSAgICAgICAgICAgZXhjZXB0IEVPRkVycm9yOgotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIHNlbGYucmV0ID0gZi5jbG9zZSgpCi0gICAgICAgIHJldHVybiBsaXN0Ci0KLSAgICBkZWYgc3luYyhzZWxmLCBpZCwgZm9yY2U9RmFsc2UsIHRyaWNrPUZhbHNlLCB0ZXN0PUZhbHNlKToKLSAgICAgICAgaWYgZm9yY2U6Ci0gICAgICAgICAgICByZXQgPSBzZWxmLnA0KCJzeW5jIC1mICVzQCVzIiUoc2VsZi5yZXBvcGF0aCwgaWQpKVswXQotICAgICAgICBlbGlmIHRyaWNrOgotICAgICAgICAgICAgcmV0ID0gc2VsZi5wNCgic3luYyAtayAlc0AlcyIlKHNlbGYucmVwb3BhdGgsIGlkKSlbMF0KLSAgICAgICAgZWxpZiB0ZXN0OgotICAgICAgICAgICAgcmV0ID0gc2VsZi5wNCgic3luYyAtbiAlc0AlcyIlKHNlbGYucmVwb3BhdGgsIGlkKSlbMF0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldCA9IHNlbGYucDQoInN5bmMgICAgJXNAJXMiJShzZWxmLnJlcG9wYXRoLCBpZCkpWzBdCi0gICAgICAgIGlmIHJldFsnY29kZSddID09ICJlcnJvciI6Ci0gICAgICAgICAgICAgZGF0YSA9IHJldFsnZGF0YSddLnVwcGVyKCkKLSAgICAgICAgICAgICBpZiBkYXRhLmZpbmQoJ1ZJRVcnKSA+IDA6Ci0gICAgICAgICAgICAgICAgIGRpZSgiUGVyZm9yY2UgcmVwb3J0cyAlcyBpcyBub3QgaW4gY2xpZW50IHZpZXciJSBzZWxmLnJlcG9wYXRoKQotICAgICAgICAgICAgIGVsaWYgZGF0YS5maW5kKCdVUC1UTy1EQVRFJykgPCAwOgotICAgICAgICAgICAgICAgICBkaWUoIkNvdWxkIG5vdCBzeW5jIGZpbGVzIGZyb20gcGVyZm9yY2UiLCBzZWxmLnJlcG9wYXRoKQotCi0gICAgZGVmIGNoYW5nZXMoc2VsZiwgc2luY2U9MCk6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxpc3QgPSBbXQotICAgICAgICAgICAgZm9yIHJlYyBpbiBzZWxmLnA0KCJjaGFuZ2VzICVzQCVzLCNoZWFkIiAlIChzZWxmLnJlcG9wYXRoLCBzaW5jZSsxKSk6Ci0gICAgICAgICAgICAgICAgbGlzdC5hcHBlbmQocmVjWydjaGFuZ2UnXSkKLSAgICAgICAgICAgIGxpc3QucmV2ZXJzZSgpCi0gICAgICAgICAgICByZXR1cm4gbGlzdAotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICByZXR1cm4gW10KLQotICAgIGRlZiBhdXRob3JzKHNlbGYsIGZpbGVuYW1lKToKLSAgICAgICAgZj1vcGVuKGZpbGVuYW1lKQotICAgICAgICBmb3IgbCBpbiBmLnJlYWRsaW5lcygpOgotICAgICAgICAgICAgc2VsZi51c2VybGlzdFtsWzpsLmZpbmQoJz0nKV0ucnN0cmlwKCldID0gXAotICAgICAgICAgICAgICAgICAgICAobFtsLmZpbmQoJz0nKSsxOmwuZmluZCgnPCcpXS5yc3RyaXAoKSxsW2wuZmluZCgnPCcpKzE6bC5maW5kKCc+JyldKQotICAgICAgICBmLmNsb3NlKCkKLSAgICAgICAgZm9yIGYsZSBpbiBzZWxmLnVzZXJsaXN0Lml0ZW1zKCk6Ci0gICAgICAgICAgICAgICAgcmVwb3J0KDIsIGYsICI6IiwgZVswXSwgIiAgPCIsIGVbMV0sICI+IikKLQotICAgIGRlZiBfZ2V0X3VzZXIoc2VsZiwgaWQpOgotICAgICAgICBpZiBub3Qgc2VsZi51c2VybGlzdC5oYXNfa2V5KGlkKToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICB1c2VyID0gc2VsZi5wNCgidXNlcnMiLCBpZClbMF0KLSAgICAgICAgICAgICAgICBzZWxmLnVzZXJsaXN0W2lkXSA9ICh1c2VyWydGdWxsTmFtZSddLCB1c2VyWydFbWFpbCddKQotICAgICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgICAgIHNlbGYudXNlcmxpc3RbaWRdID0gKGlkLCAiIikKLSAgICAgICAgcmV0dXJuIHNlbGYudXNlcmxpc3RbaWRdCi0KLSAgICBkZWYgX2Zvcm1hdF9kYXRlKHNlbGYsIHRpY2tzKToKLSAgICAgICAgc3ltYm9sPScrJwotICAgICAgICBuYW1lID0gdGltZS50em5hbWVbMF0KLSAgICAgICAgb2Zmc2V0ID0gdGltZS50aW1lem9uZQotICAgICAgICBpZiB0aWNrc1s4XToKLSAgICAgICAgICAgIG5hbWUgPSB0aW1lLnR6bmFtZVsxXQotICAgICAgICAgICAgb2Zmc2V0ID0gdGltZS5hbHR6b25lCi0gICAgICAgIGlmIG9mZnNldCA8IDA6Ci0gICAgICAgICAgICBvZmZzZXQgKj0gLTEKLSAgICAgICAgICAgIHN5bWJvbCA9ICctJwotICAgICAgICBsb2NhbG8gPSAiJXMlMDJkJTAyZCAlcyIgJSAoc3ltYm9sLCBvZmZzZXQgLyAzNjAwLCBvZmZzZXQgJSAzNjAwLCBuYW1lKQotICAgICAgICB0aWNrc28gPSB0aW1lLnN0cmZ0aW1lKCIlYSAlYiAlZCAlSDolTTolUyAlWSIsIHRpY2tzKQotICAgICAgICByZXR1cm4gIiVzICVzIiAlICh0aWNrc28sIGxvY2FsbykKLQotICAgIGRlZiB3aGVyZShzZWxmKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYucDQoIndoZXJlICVzIiAlIHNlbGYucmVwb3BhdGgpWy0xXVsncGF0aCddCi0gICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgIHJldHVybiAiIgotCi0gICAgZGVmIGRlc2NyaWJlKHNlbGYsIG51bSk6Ci0gICAgICAgIGRlc2MgPSBzZWxmLnA0KCJkZXNjcmliZSAtcyIsIG51bSlbMF0KLSAgICAgICAgc2VsZi5tc2cgPSBkZXNjWydkZXNjJ10KLSAgICAgICAgc2VsZi5hdXRob3IsIHNlbGYuZW1haWwgPSBzZWxmLl9nZXRfdXNlcihkZXNjWyd1c2VyJ10pCi0gICAgICAgIHNlbGYuZGF0ZSA9IHNlbGYuX2Zvcm1hdF9kYXRlKHRpbWUubG9jYWx0aW1lKGxvbmcoZGVzY1sndGltZSddKSkpCi0gICAgICAgIHJldHVybiBzZWxmCi0KLWNsYXNzIGdpdF9jb21tYW5kOgotICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2VsZi52ZXJzaW9uID0gc2VsZi5naXQoIi0tdmVyc2lvbiIpWzBdWzEyOl0ucnN0cmlwKCkKLSAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgZGllKCJDb3VsZCBub3QgZmluZCB0aGUgXCJnaXRcIiBjb21tYW5kIikKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2VsZi5naXRkaXIgPSBzZWxmLmdldF9zaW5nbGUoInJldi1wYXJzZSAtLWdpdC1kaXIiKQotICAgICAgICAgICAgcmVwb3J0KDIsICJnZGlyOiIsIHNlbGYuZ2l0ZGlyKQotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICBkaWUoIk5vdCBhIGdpdCByZXBvc2l0b3J5Li4uIGRpZCB5b3UgZm9yZ2V0IHRvIFwiZ2l0IGluaXRcIiA/IikKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2VsZi5jZHVwID0gc2VsZi5nZXRfc2luZ2xlKCJyZXYtcGFyc2UgLS1zaG93LWNkdXAiKQotICAgICAgICAgICAgaWYgc2VsZi5jZHVwICE9ICIiOgotICAgICAgICAgICAgICAgIG9zLmNoZGlyKHNlbGYuY2R1cCkKLSAgICAgICAgICAgIHNlbGYudG9wZGlyID0gb3MuZ2V0Y3dkKCkKLSAgICAgICAgICAgIHJlcG9ydCgyLCAidG9wZGlyOiIsIHNlbGYudG9wZGlyKQotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICBkaWUoIkNvdWxkIG5vdCBmaW5kIHRvcCBnaXQgZGlyZWN0b3J5IikKLQotICAgIGRlZiBnaXQoc2VsZiwgY21kKToKLSAgICAgICAgZ2xvYmFsIGxvZ2ZpbGUKLSAgICAgICAgcmVwb3J0KDIsICJHSVQ6IiwgY21kKQotICAgICAgICBmPW9zLnBvcGVuKCdnaXQgJXMgMj4+JXMnICUgKGNtZCxsb2dmaWxlKSwgJ3JiJykKLSAgICAgICAgcj1mLnJlYWRsaW5lcygpCi0gICAgICAgIHNlbGYucmV0ID0gZi5jbG9zZSgpCi0gICAgICAgIHJldHVybiByCi0KLSAgICBkZWYgZ2V0X3NpbmdsZShzZWxmLCBjbWQpOgotICAgICAgICByZXR1cm4gc2VsZi5naXQoY21kKVswXS5yc3RyaXAoKQotCi0gICAgZGVmIGN1cnJlbnRfYnJhbmNoKHNlbGYpOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICB0ZXN0aXQgPSBzZWxmLmdpdCgicmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQiKVswXQotICAgICAgICAgICAgcmV0dXJuIHNlbGYuZ2l0KCJzeW1ib2xpYy1yZWYgSEVBRCIpWzBdWzExOl0ucnN0cmlwKCkKLSAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgcmV0dXJuIE5vbmUKLQotICAgIGRlZiBnZXRfY29uZmlnKHNlbGYsIHZhcmlhYmxlKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuZ2l0KCJjb25maWcgLS1nZXQgJXMiICUgdmFyaWFibGUpWzBdLnJzdHJpcCgpCi0gICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgIHJldHVybiBOb25lCi0KLSAgICBkZWYgc2V0X2NvbmZpZyhzZWxmLCB2YXJpYWJsZSwgdmFsdWUpOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBzZWxmLmdpdCgiY29uZmlnICVzICVzIiUodmFyaWFibGUsIHZhbHVlKSApCi0gICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgIGRpZSgiQ291bGQgbm90IHNldCAlcyB0byAiICUgdmFyaWFibGUsIHZhbHVlKQotCi0gICAgZGVmIG1ha2VfdGFnKHNlbGYsIG5hbWUsIGhlYWQpOgotICAgICAgICBzZWxmLmdpdCgidGFnIC1mICVzICVzIiUobmFtZSxoZWFkKSkKLQotICAgIGRlZiB0b3BfY2hhbmdlKHNlbGYsIGJyYW5jaCk6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGE9c2VsZi5nZXRfc2luZ2xlKCJuYW1lLXJldiAtLXRhZ3MgcmVmcy9oZWFkcy8lcyIgJSBicmFuY2gpCi0gICAgICAgICAgICBsb2MgPSBhLmZpbmQoJyB0YWdzLycpICsgNgotICAgICAgICAgICAgaWYgYVtsb2M6bG9jKzNdICE9ICJwNC8iOgotICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICByZXR1cm4gaW50KGFbbG9jKzM6XVs6LTJdKQotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICByZXR1cm4gMAotCi0gICAgZGVmIHVwZGF0ZV9pbmRleChzZWxmKToKLSAgICAgICAgc2VsZi5naXQoImxzLWZpbGVzIC1tIC1kIC1vIC16IHwgZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCAtLXJlbW92ZSAteiAtLXN0ZGluIikKLQotICAgIGRlZiBjaGVja291dChzZWxmLCBicmFuY2gpOgotICAgICAgICBzZWxmLmdpdCgiY2hlY2tvdXQgJXMiICUgYnJhbmNoKQotCi0gICAgZGVmIHJlcG9pbnRfaGVhZChzZWxmLCBicmFuY2gpOgotICAgICAgICBzZWxmLmdpdCgic3ltYm9saWMtcmVmIEhFQUQgcmVmcy9oZWFkcy8lcyIgJSBicmFuY2gpCi0KLSAgICBkZWYgcmVtb3ZlX2ZpbGVzKHNlbGYpOgotICAgICAgICBzZWxmLmdpdCgibHMtZmlsZXMgfCB4YXJncyBybSIpCi0KLSAgICBkZWYgY2xlYW5fZGlyZWN0b3JpZXMoc2VsZik6Ci0gICAgICAgIHNlbGYuZ2l0KCJjbGVhbiAtZCIpCi0KLSAgICBkZWYgZnJlc2hfYnJhbmNoKHNlbGYsIGJyYW5jaCk6Ci0gICAgICAgIHJlcG9ydCgxLCAiQ3JlYXRpbmcgbmV3IGJyYW5jaCIsIGJyYW5jaCkKLSAgICAgICAgc2VsZi5naXQoImxzLWZpbGVzIHwgeGFyZ3Mgcm0iKQotICAgICAgICBvcy5yZW1vdmUoIi5naXQvaW5kZXgiKQotICAgICAgICBzZWxmLnJlcG9pbnRfaGVhZChicmFuY2gpCi0gICAgICAgIHNlbGYuZ2l0KCJjbGVhbiAtZCIpCi0KLSAgICBkZWYgYmFzZWRpcihzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYudG9wZGlyCi0KLSAgICBkZWYgY29tbWl0KHNlbGYsIGF1dGhvciwgZW1haWwsIGRhdGUsIG1zZywgaWQpOgotICAgICAgICBzZWxmLnVwZGF0ZV9pbmRleCgpCi0gICAgICAgIGZkPW9wZW4oIi5tc2ciLCAidyIpCi0gICAgICAgIGZkLndyaXRlbGluZXMobXNnKQotICAgICAgICBmZC5jbG9zZSgpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBjdXJyZW50ID0gc2VsZi5nZXRfc2luZ2xlKCJyZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCIpCi0gICAgICAgICAgICAgICAgaGVhZCA9ICItcCBIRUFEIgotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICAgICAgY3VycmVudCA9ICIiCi0gICAgICAgICAgICAgICAgaGVhZCA9ICIiCi0gICAgICAgIHRyZWUgPSBzZWxmLmdldF9zaW5nbGUoIndyaXRlLXRyZWUiKQotICAgICAgICBmb3IgcixsIGluIFsoJ0RBVEUnLGRhdGUpLCgnTkFNRScsYXV0aG9yKSwoJ0VNQUlMJyxlbWFpbCldOgotICAgICAgICAgICAgb3MuZW52aXJvblsnR0lUX0FVVEhPUl8lcyclcl0gPSBsCi0gICAgICAgICAgICBvcy5lbnZpcm9uWydHSVRfQ09NTUlUVEVSXyVzJyVyXSA9IGwKLSAgICAgICAgY29tbWl0ID0gc2VsZi5nZXRfc2luZ2xlKCJjb21taXQtdHJlZSAlcyAlcyA8IC5tc2ciICUgKHRyZWUsaGVhZCkpCi0gICAgICAgIG9zLnJlbW92ZSgiLm1zZyIpCi0gICAgICAgIHNlbGYubWFrZV90YWcoInA0LyVzIiVpZCwgY29tbWl0KQotICAgICAgICBzZWxmLmdpdCgidXBkYXRlLXJlZiBIRUFEICVzICVzIiAlIChjb21taXQsIGN1cnJlbnQpICkKLQotdHJ5OgotICAgIG9wdHMsIGFyZ3MgPSBnZXRvcHQuZ2V0b3B0KHN5cy5hcmd2WzE6XSwgInFodnQ6IiwKLSAgICAgICAgICAgIFsiYXV0aG9ycz0iLCJoZWxwIiwic3RpdGNoPSIsInRpbWV6b25lPSIsImxvZz0iLCJpZ25vcmUiLCJub3RhZ3MiXSkKLWV4Y2VwdCBnZXRvcHQuR2V0b3B0RXJyb3I6Ci0gICAgdXNhZ2UoKQotCi1mb3IgbywgYSBpbiBvcHRzOgotICAgIGlmIG8gPT0gIi1xIjoKLSAgICAgICAgdmVyYm9zaXR5ID0gMAotICAgIGlmIG8gPT0gIi12IjoKLSAgICAgICAgdmVyYm9zaXR5ICs9IDEKLSAgICBpZiBvIGluICgiLS1sb2ciKToKLSAgICAgICAgbG9nZmlsZSA9IGEKLSAgICBpZiBvIGluICgiLS1ub3RhZ3MiKToKLSAgICAgICAgdGFnYWxsID0gRmFsc2UKLSAgICBpZiBvIGluICgiLWgiLCAiLS1oZWxwIik6Ci0gICAgICAgIHVzYWdlKCkKLSAgICBpZiBvIGluICgiLS1pZ25vcmUiKToKLSAgICAgICAgaWdub3JlX3dhcm5pbmdzID0gVHJ1ZQotCi1naXQgPSBnaXRfY29tbWFuZCgpCi1icmFuY2g9Z2l0LmN1cnJlbnRfYnJhbmNoKCkKLQotZm9yIG8sIGEgaW4gb3B0czoKLSAgICBpZiBvIGluICgiLXQiLCAiLS10aW1lem9uZSIpOgotICAgICAgICBnaXQuc2V0X2NvbmZpZygicGVyZm9yY2UudGltZXpvbmUiLCBhKQotICAgIGlmIG8gaW4gKCItLXN0aXRjaCIpOgotICAgICAgICBnaXQuc2V0X2NvbmZpZygicGVyZm9yY2UuJXMucGF0aCIgJSBicmFuY2gsIGEpCi0gICAgICAgIHN0aXRjaCA9IDEKLQotaWYgbGVuKGFyZ3MpID09IDI6Ci0gICAgYnJhbmNoID0gYXJnc1sxXQotICAgIGdpdC5jaGVja291dChicmFuY2gpCi0gICAgaWYgYnJhbmNoID09IGdpdC5jdXJyZW50X2JyYW5jaCgpOgotICAgICAgICBkaWUoIkJyYW5jaCAlcyBhbHJlYWR5IGV4aXN0cyEiICUgYnJhbmNoKQotICAgIHJlcG9ydCgxLCAiU2V0dGluZyBwZXJmb3JjZSB0byAiLCBhcmdzWzBdKQotICAgIGdpdC5zZXRfY29uZmlnKCJwZXJmb3JjZS4lcy5wYXRoIiAlIGJyYW5jaCwgYXJnc1swXSkKLWVsaWYgbGVuKGFyZ3MpICE9IDA6Ci0gICAgZGllKCJZb3UgbXVzdCBzcGVjaWZ5IHRoZSBwZXJmb3JjZSAvL2RlcG90L3BhdGggYW5kIGdpdCBicmFuY2giKQotCi1wNHBhdGggPSBnaXQuZ2V0X2NvbmZpZygicGVyZm9yY2UuJXMucGF0aCIgJSBicmFuY2gpCi1pZiBwNHBhdGggPT0gTm9uZToKLSAgICBkaWUoIkRvIG5vdCBrbm93IFBlcmZvcmNlIC8vZGVwb3QvcGF0aCBmb3IgZ2l0IGJyYW5jaCIsIGJyYW5jaCkKLQotcDQgPSBwNF9jb21tYW5kKHA0cGF0aCkKLQotZm9yIG8sIGEgaW4gb3B0czoKLSAgICBpZiBvIGluICgiLWEiLCAiLS1hdXRob3JzIik6Ci0gICAgICAgIHA0LmF1dGhvcnMoYSkKLQotbG9jYWxkaXIgPSBnaXQuYmFzZWRpcigpCi1pZiBwNC53aGVyZSgpWzpsZW4obG9jYWxkaXIpXSAhPSBsb2NhbGRpcjoKLSAgICByZXBvcnQoMSwgIioqV0FSTklORyoqIEFwcGVhcnMgcDQgY2xpZW50IGlzIG1pc2NvbmZpZ3VyZWQiKQotICAgIHJlcG9ydCgxLCAiICAgZm9yIHN5bmMgZnJvbSAlcyB0byAlcyIgJSAocDQucmVwb3BhdGgsIGxvY2FsZGlyKSkKLSAgICBpZiBpZ25vcmVfd2FybmluZ3MgIT0gVHJ1ZToKLSAgICAgICAgZGllKCJSZWNvbmZpZ3VyZSBvciB1c2UgXCItLWlnbm9yZVwiIG9uIGNvbW1hbmQgbGluZSIpCi0KLWlmIHN0aXRjaCA9PSAwOgotICAgIHRvcCA9IGdpdC50b3BfY2hhbmdlKGJyYW5jaCkKLWVsc2U6Ci0gICAgdG9wID0gMAotY2hhbmdlcyA9IHA0LmNoYW5nZXModG9wKQotY291bnQgPSBsZW4oY2hhbmdlcykKLWlmIGNvdW50ID09IDA6Ci0gICAgcmVwb3J0KDEsICJBbHJlYWR5IHVwIHRvIGRhdGUuLi4iKQotICAgIHN5cy5leGl0KDApCi0KLXB0eiA9IGdpdC5nZXRfY29uZmlnKCJwZXJmb3JjZS50aW1lem9uZSIpCi1pZiBwdHo6Ci0gICAgcmVwb3J0KDEsICJTZXR0aW5nIHRpbWV6b25lIHRvIiwgcHR6KQotICAgIG9zLmVudmlyb25bJ1RaJ10gPSBwdHoKLSAgICB0aW1lLnR6c2V0KCkKLQotaWYgc3RpdGNoID09IDE6Ci0gICAgZ2l0LnJlbW92ZV9maWxlcygpCi0gICAgZ2l0LmNsZWFuX2RpcmVjdG9yaWVzKCkKLSAgICBwNC5zeW5jKGNoYW5nZXNbMF0sIGZvcmNlPVRydWUpCi1lbGlmIHRvcCA9PSAwIGFuZCBicmFuY2ggIT0gZ2l0LmN1cnJlbnRfYnJhbmNoKCk6Ci0gICAgcDQuc3luYyhjaGFuZ2VzWzBdLCB0ZXN0PVRydWUpCi0gICAgcmVwb3J0KDEsICJDcmVhdGluZyBuZXcgaW5pdGlhbCBjb21taXQiKTsKLSAgICBnaXQuZnJlc2hfYnJhbmNoKGJyYW5jaCkKLSAgICBwNC5zeW5jKGNoYW5nZXNbMF0sIGZvcmNlPVRydWUpCi1lbHNlOgotICAgIHA0LnN5bmMoY2hhbmdlc1swXSwgdHJpY2s9VHJ1ZSkKLQotcmVwb3J0KDEsICJwcm9jZXNzaW5nICVzIGNoYW5nZXMgZnJvbSBwNCAoJXMpIHRvIGdpdCAoJXMpIiAlIChjb3VudCwgcDQucmVwb3BhdGgsIGJyYW5jaCkpCi1mb3IgaWQgaW4gY2hhbmdlczoKLSAgICByZXBvcnQoMSwgIkltcG9ydGluZyBjaGFuZ2VzZXQiLCBpZCkKLSAgICBjaGFuZ2UgPSBwNC5kZXNjcmliZShpZCkKLSAgICBwNC5zeW5jKGlkKQotICAgIGlmIHRhZ2FsbCA6Ci0gICAgICAgICAgICBnaXQuY29tbWl0KGNoYW5nZS5hdXRob3IsIGNoYW5nZS5lbWFpbCwgY2hhbmdlLmRhdGUsIGNoYW5nZS5tc2csIGlkKQotICAgIGVsc2U6Ci0gICAgICAgICAgICBnaXQuY29tbWl0KGNoYW5nZS5hdXRob3IsIGNoYW5nZS5lbWFpbCwgY2hhbmdlLmRhdGUsIGNoYW5nZS5tc2csICJpbXBvcnQiKQotICAgIGlmIHN0aXRjaCA9PSAxOgotICAgICAgICBnaXQuY2xlYW5fZGlyZWN0b3JpZXMoKQotICAgICAgICBzdGl0Y2ggPSAwCmRpZmYgLS1naXQgYS9jb250cmliL3A0aW1wb3J0L2dpdC1wNGltcG9ydC50eHQgYi9jb250cmliL3A0aW1wb3J0L2dpdC1wNGltcG9ydC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5Njc1ODcuLjAwMDAwMDAKLS0tIGEvY29udHJpYi9wNGltcG9ydC9naXQtcDRpbXBvcnQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTY3ICswLDAgQEAKLWdpdC1wNGltcG9ydCgxKQotPT09PT09PT09PT09PT09Ci0KLU5BTUUKLS0tLS0KLWdpdC1wNGltcG9ydCAtIEltcG9ydCBhIFBlcmZvcmNlIHJlcG9zaXRvcnkgaW50byBnaXQKLQotCi1TWU5PUFNJUwotLS0tLS0tLS0KLVt2ZXJzZV0KLWBnaXQtcDRpbXBvcnRgIFstcXwtdl0gWy0tbm90YWdzXSBbLS1hdXRob3JzIDxmaWxlPl0gWy10IDx0aW1lem9uZT5dCi0gICAgICAgICAgICAgICA8Ly9wNHJlcG8vcGF0aD4gPGJyYW5jaD4KLWBnaXQtcDRpbXBvcnRgIC0tc3RpdGNoIDwvL3A0cmVwby9wYXRoPgotYGdpdC1wNGltcG9ydGAKLQotCi1ERVNDUklQVElPTgotLS0tLS0tLS0tLS0KLUltcG9ydCBhIFBlcmZvcmNlIHJlcG9zaXRvcnkgaW50byBhbiBleGlzdGluZyBnaXQgcmVwb3NpdG9yeS4gIFdoZW4KLWEgPC8vcDRyZXBvL3BhdGg+IGFuZCA8YnJhbmNoPiBhcmUgc3BlY2lmaWVkIGEgbmV3IGJyYW5jaCB3aXRoIHRoZQotZ2l2ZW4gbmFtZSB3aWxsIGJlIGNyZWF0ZWQgYW5kIHRoZSBpbml0aWFsIGltcG9ydCB3aWxsIGJlZ2luLgotCi1PbmNlIHRoZSBpbml0aWFsIGltcG9ydCBpcyBjb21wbGV0ZSB5b3UgY2FuIGRvIGFuIGluY3JlbWVudGFsIGltcG9ydAotb2YgbmV3IGNvbW1pdHMgZnJvbSB0aGUgUGVyZm9yY2UgcmVwb3NpdG9yeS4gIFlvdSBkbyB0aGlzIGJ5IGNoZWNraW5nCi1vdXQgdGhlIGFwcHJvcHJpYXRlIGdpdCBicmFuY2ggYW5kIHRoZW4gcnVubmluZyBgZ2l0LXA0aW1wb3J0YCB3aXRob3V0Ci1hbnkgb3B0aW9ucy4KLQotVGhlIHN0YW5kYXJkIHA0IGNsaWVudCBpcyB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIFBlcmZvcmNlCi1yZXBvc2l0b3J5OyBpdCBtdXN0IGJlIGNvbmZpZ3VyZWQgY29ycmVjdGx5IGluIG9yZGVyIGZvciBgZ2l0LXA0aW1wb3J0YAotdG8gb3BlcmF0ZSAoc2VlIGJlbG93KS4KLQotCi1PUFRJT05TCi0tLS0tLS0tCi0tcTo6Ci0JRG8gbm90IGRpc3BsYXkgYW55IHByb2dyZXNzIGluZm9ybWF0aW9uLgotCi0tdjo6Ci0gICAgICAgIEdpdmUgZXh0cmEgcHJvZ3Jlc3MgaW5mb3JtYXRpb24uCi0KLVwtLWF1dGhvcnM6OgotCVNwZWNpZnkgYW4gYXV0aG9ycyBmaWxlIGNvbnRhaW5pbmcgYSBtYXBwaW5nIG9mIFBlcmZvcmNlIHVzZXIKLQlpZHMgdG8gZnVsbCBuYW1lcyBhbmQgZW1haWwgYWRkcmVzc2VzIChzZWUgTm90ZXMgYmVsb3cpLgotCi1cLS1ub3RhZ3M6OgotCURvIG5vdCBjcmVhdGUgYSB0YWcgZm9yIGVhY2ggaW1wb3J0ZWQgY29tbWl0LgotCi1cLS1zdGl0Y2g6OgotCUltcG9ydCB0aGUgY29udGVudHMgb2YgdGhlIGdpdmVuIHBlcmZvcmNlIGJyYW5jaCBpbnRvIHRoZQotCWN1cnJlbnRseSBjaGVja2VkIG91dCBnaXQgYnJhbmNoLgotCi1cLS1sb2c6OgotCVN0b3JlIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiBpbiB0aGUgc3BlY2lmaWVkIGZpbGUuCi0KLS10OjoKLQlTcGVjaWZ5IHRoYXQgdGhlIHJlbW90ZSByZXBvc2l0b3J5IGlzIGluIHRoZSBzcGVjaWZpZWQgdGltZXpvbmUuCi0JVGltZXpvbmUgbXVzdCBiZSBpbiB0aGUgZm9ybWF0ICJVUy9QYWNpZmljIiBvciAiRXVyb3BlL0xvbmRvbiIKLQlldGMuICBZb3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgdGhpcyBvbmNlLCBpdCB3aWxsIGJlIHNhdmVkIGluCi0JdGhlIGdpdCBjb25maWcgZmlsZSBmb3IgdGhlIHJlcG9zaXRvcnkuCi0KLTwvL3A0cmVwby9wYXRoPjo6Ci0JVGhlIFBlcmZvcmNlIHBhdGggdGhhdCB3aWxsIGJlIGltcG9ydGVkIGludG8gdGhlIHNwZWNpZmllZCBicmFuY2guCi0KLTxicmFuY2g+OjoKLQlUaGUgbmV3IGJyYW5jaCB0aGF0IHdpbGwgYmUgY3JlYXRlZCB0byBob2xkIHRoZSBQZXJmb3JjZSBpbXBvcnRzLgotCi0KLVA0IENsaWVudAotLS0tLS0tLS0tCi1Zb3UgbXVzdCBtYWtlIHRoZSBgcDRgIGNsaWVudCBjb21tYW5kIGF2YWlsYWJsZSBpbiB5b3VyICRQQVRIIGFuZAotY29uZmlndXJlIGl0IHRvIGNvbW11bmljYXRlIHdpdGggdGhlIHRhcmdldCBQZXJmb3JjZSByZXBvc2l0b3J5LgotVHlwaWNhbGx5IHRoaXMgbWVhbnMgeW91IG11c3Qgc2V0IHRoZSAiJFA0UE9SVCIgYW5kICIkUDRDTElFTlQiCi1lbnZpcm9ubWVudCB2YXJpYWJsZXMuCi0KLVlvdSBtdXN0IGFsc28gY29uZmlndXJlIGEgYHA0YCBjbGllbnQgInZpZXciIHdoaWNoIG1hcHMgdGhlIFBlcmZvcmNlCi1icmFuY2ggaW50byB0aGUgdG9wIGxldmVsIG9mIHlvdXIgZ2l0IHJlcG9zaXRvcnksIGZvciBleGFtcGxlOgotCi0tLS0tLS0tLS0tLS0KLUNsaWVudDogbXlob3N0Ci0KLVJvb3Q6ICAgL2hvbWUvc2Vhbi9pbXBvcnQKLQotT3B0aW9uczogICBub2FsbHdyaXRlIGNsb2JiZXIgbm9jb21wcmVzcyB1bmxvY2tlZCBtb2R0aW1lIHJtZGlyCi0KLVZpZXc6Ci0gICAgICAgIC8vcHVibGljL2phbS8uLi4gLy9teWhvc3QvamFtLy4uLgotLS0tLS0tLS0tLS0tCi0KLVdpdGggdGhlIGFib3ZlIGBwNGAgY2xpZW50IHNldHVwLCB5b3UgY291bGQgaW1wb3J0IHRoZSAiamFtIgotcGVyZm9yY2UgYnJhbmNoIGludG8gYSBicmFuY2ggbmFtZWQgImphbW15IiwgbGlrZSBzbzoKLQotLS0tLS0tLS0tLS0tCi0kIG1rZGlyIC1wIC9ob21lL3NlYW4vaW1wb3J0L2phbQotJCBjZCAvaG9tZS9zZWFuL2ltcG9ydC9qYW0KLSQgZ2l0IGluaXQKLSQgZ2l0IHA0aW1wb3J0IC8vcHVibGljL2phbSBqYW1teQotLS0tLS0tLS0tLS0tCi0KLQotTXVsdGlwbGUgQnJhbmNoZXMKLS0tLS0tLS0tLS0tLS0tLS0tCi1Ob3RlIHRoYXQgYnkgY3JlYXRpbmcgbXVsdGlwbGUgInZpZXdzIiB5b3UgY2FuIHVzZSBgZ2l0LXA0aW1wb3J0YAotdG8gaW1wb3J0IGFkZGl0aW9uYWwgYnJhbmNoZXMgaW50byB0aGUgc2FtZSBnaXQgcmVwb3NpdG9yeS4KLUhvd2V2ZXIsIHRoZSBgcDRgIGNsaWVudCBoYXMgYSBsaW1pdGF0aW9uIGluIHRoYXQgaXQgc2lsZW50bHkKLWlnbm9yZXMgYWxsIGJ1dCB0aGUgbGFzdCAidmlldyIgdGhhdCBtYXBzIGludG8gdGhlIHNhbWUgbG9jYWwKLWRpcmVjdG9yeS4gIFNvIHRoZSBmb2xsb3dpbmcgd2lsbCAqbm90KiB3b3JrOgotCi0tLS0tLS0tLS0tLS0KLVZpZXc6Ci0gICAgICAgIC8vcHVibGljL2phbS8uLi4gLy9teWhvc3QvamFtLy4uLgotICAgICAgICAvL3B1YmxpYy9vdGhlci8uLi4gLy9teWhvc3QvamFtLy4uLgotICAgICAgICAvL3B1YmxpYy9ndWVzdC8uLi4gLy9teWhvc3QvamFtLy4uLgotLS0tLS0tLS0tLS0tCi0KLUlmIHlvdSB3YW50IG1vcmUgdGhhbiBvbmUgUGVyZm9yY2UgYnJhbmNoIHRvIGJlIGltcG9ydGVkIGludG8gdGhlCi1zYW1lIGRpcmVjdG9yeSB5b3UgbXVzdCBlbXBsb3kgYSB3b3JrYXJvdW5kLiAgQSBzaW1wbGUgb3B0aW9uIGlzCi10byBhZGp1c3QgeW91ciBgcDRgIGNsaWVudCBiZWZvcmUgZWFjaCBpbXBvcnQgdG8gb25seSBpbmNsdWRlIGEKLXNpbmdsZSB2aWV3LgotCi1Bbm90aGVyIG9wdGlvbiBpcyB0byBjcmVhdGUgbXVsdGlwbGUgc3ltbGlua3MgbG9jYWxseSB3aGljaCBhbGwKLXBvaW50IHRvIHRoZSBzYW1lIGRpcmVjdG9yeSBpbiB5b3VyIGdpdCByZXBvc2l0b3J5IGFuZCB0aGVuIHVzZQotb25lIHBlciAidmlldyIgaW5zdGVhZCBvZiBsaXN0aW5nIHRoZSBhY3R1YWwgZGlyZWN0b3J5LgotCi0KLVRhZ3MKLS0tLS0KLUEgZ2l0IHRhZyBvZiB0aGUgZm9ybSBwNC94eCBpcyBjcmVhdGVkIGZvciBldmVyeSBjaGFuZ2UgaW1wb3J0ZWQgZnJvbQotdGhlIFBlcmZvcmNlIHJlcG9zaXRvcnkgd2hlcmUgeHggaXMgdGhlIFBlcmZvcmNlIGNoYW5nZXNldCBudW1iZXIuCi1UaGVyZWZvcmUgYWZ0ZXIgdGhlIGltcG9ydCB5b3UgY2FuIHVzZSBnaXQgdG8gYWNjZXNzIGFueSBjb21taXQgYnkgaXRzCi1QZXJmb3JjZSBudW1iZXIsIGUuZy4gZ2l0IHNob3cgcDQvMzI3LgotCi1UaGUgdGFnIGFzc29jaWF0ZWQgd2l0aCB0aGUgSEVBRCBjb21taXQgaXMgYWxzbyBob3cgYGdpdC1wNGltcG9ydGAKLWRldGVybWluZXMgaWYgdGhlcmUgYXJlIG5ldyBjaGFuZ2VzIHRvIGluY3JlbWVudGFsbHkgaW1wb3J0IGZyb20gdGhlCi1QZXJmb3JjZSByZXBvc2l0b3J5LgotCi1JZiB5b3UgaW1wb3J0IGZyb20gYSByZXBvc2l0b3J5IHdpdGggbWFueSB0aG91c2FuZHMgb2YgY2hhbmdlcwoteW91IHdpbGwgaGF2ZSBhbiBlcXVhbCBudW1iZXIgb2YgcDQveHh4eCBnaXQgdGFncy4gIEdpdCB0YWdzIGNhbgotYmUgZXhwZW5zaXZlIGluIHRlcm1zIG9mIGRpc2sgc3BhY2UgYW5kIHJlcG9zaXRvcnkgb3BlcmF0aW9ucy4KLUlmIHlvdSBkb24ndCBuZWVkIHRvIHBlcmZvcm0gZnVydGhlciBpbmNyZW1lbnRhbCBpbXBvcnRzLCB5b3UKLW1heSBkZWxldGUgdGhlIHRhZ3MuCi0KLQotTm90ZXMKLS0tLS0tCi1Zb3UgY2FuIGludGVycnVwdCB0aGUgaW1wb3J0IChlLmcuIGN0cmwtYykgYXQgYW55IHRpbWUgYW5kIHJlc3RhcnQgaXQKLXdpdGhvdXQgd29ycnkuCi0KLUF1dGhvciBpbmZvcm1hdGlvbiBpcyBhdXRvbWF0aWNhbGx5IGRldGVybWluZWQgYnkgcXVlcnlpbmcgdGhlCi1QZXJmb3JjZSAidXNlcnMiIHRhYmxlIHVzaW5nIHRoZSBpZCBhc3NvY2lhdGVkIHdpdGggZWFjaCBjaGFuZ2UuCi1Ib3dldmVyLCBpZiB5b3Ugd2FudCB0byBtYW51YWxseSBzdXBwbHkgdGhlc2UgbWFwcGluZ3MgeW91IGNhbiBkbwotc28gd2l0aCB0aGUgIi0tYXV0aG9ycyIgb3B0aW9uLiAgSXQgYWNjZXB0cyBhIGZpbGUgY29udGFpbmluZyBhIGxpc3QKLW9mIG1hcHBpbmdzIHdpdGggZWFjaCBsaW5lIGNvbnRhaW5pbmcgb25lIG1hcHBpbmcgaW4gdGhlIGZvcm1hdDoKLQotLS0tLS0tLS0tLS0tCi0gICAgcGVyZm9yY2VfaWQgPSBGdWxsIE5hbWUgPGVtYWlsQGFkZHJlc3MuY29tPgotLS0tLS0tLS0tLS0tCi0KLQotQXV0aG9yCi0tLS0tLS0KLVdyaXR0ZW4gYnkgU2VhbiBFc3RhYnJvb2tzIDxzZWFubGttbEBzeW1wYXRpY28uY2E+Ci0KLQotR0lUCi0tLS0KLVBhcnQgb2YgdGhlIGdpdGxpbms6Z2l0WzddIHN1aXRlCmRpZmYgLS1naXQgYS9jb250cmliL3JlbW90ZS1oZWxwZXJzL2dpdC1yZW1vdGUtYnpyIGIvY29udHJpYi9yZW1vdGUtaGVscGVycy9naXQtcmVtb3RlLWJ6cgppbmRleCBjM2EzY2FjLi4zMzJhYmE3IDEwMDc1NQotLS0gYS9jb250cmliL3JlbW90ZS1oZWxwZXJzL2dpdC1yZW1vdGUtYnpyCisrKyBiL2NvbnRyaWIvcmVtb3RlLWhlbHBlcnMvZ2l0LXJlbW90ZS1ienIKQEAgLTEzLDggKzEzLDExIEBACiAjIG9yCiAjICUgZ2l0IGNsb25lIGJ6cjo6bHA6bXlyZXBvCiAjCi0jIElmIHlvdSB3YW50IHRvIHNwZWNpZnkgd2hpY2ggYnJhbmNoZXMgeW91IHdhbnQgdHJhY2sgKHBlciByZXBvKToKLSMgZ2l0IGNvbmZpZyByZW1vdGUtYnpyLmJyYW5jaGVzICd0cnVuaywgZGV2ZWwsIHRlc3QnCisjIElmIHlvdSB3YW50IHRvIHNwZWNpZnkgd2hpY2ggYnJhbmNoZXMgeW91IHdhbnQgdG8gdHJhY2sgKHBlciByZXBvKToKKyMgJSBnaXQgY29uZmlnIHJlbW90ZS5vcmlnaW4uYnpyLWJyYW5jaGVzICd0cnVuaywgZGV2ZWwsIHRlc3QnCisjCisjIFdoZXJlICdvcmlnaW4nIGlzIHRoZSBuYW1lIG9mIHRoZSByZXBvc2l0b3J5IHlvdSB3YW50IHRvIHNwZWNpZnkgdGhlCisjIGJyYW5jaGVzLgogIwogCiBpbXBvcnQgc3lzCkBAIC00MSw4ICs0NCw4IEBACiBpbXBvcnQgYXRleGl0LCBzaHV0aWwsIGhhc2hsaWIsIHVybHBhcnNlLCBzdWJwcm9jZXNzCiAKIE5BTUVfUkUgPSByZS5jb21waWxlKCdeKFtePD5dKyknKQotQVVUSE9SX1JFID0gcmUuY29tcGlsZSgnXihbXjw+XSs/KT8gPzwoW148Pl0qKT4kJykKLUVNQUlMX1JFID0gcmUuY29tcGlsZSgnXihbXjw+XStbXiBcXFx0PD5dKT9cXGIoPzpbIFxcdDw+XSo/KVxcYihbXiBcXHQ8Pl0rQFteIFxcdDw+XSspJykKK0FVVEhPUl9SRSA9IHJlLmNvbXBpbGUoJ14oW148Pl0rPyk/ID9bPD5dKFtePD5dKikoPzokfD4pJykKK0VNQUlMX1JFID0gcmUuY29tcGlsZShyJyhbXiBcdDw+XStAW14gXHQ8Pl0rKScpCiBSQVdfQVVUSE9SX1JFID0gcmUuY29tcGlsZSgnXihcdyspICguKyk/IDwoLiopPiAoXGQrKSAoWystXVxkKyknKQogCiBkZWYgZGllKG1zZywgKmFyZ3MpOgpAQCAtMTY4LDE3ICsxNzEsMTYgQEAKICAgICAgICAgaWYgbm90IG06CiAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICBfLCBuYW1lLCBlbWFpbCwgZGF0ZSwgdHogPSBtLmdyb3VwcygpCisgICAgICAgIG5hbWUgPSBuYW1lLmRlY29kZSgndXRmLTgnKQogICAgICAgICBjb21taXR0ZXIgPSAnJXMgPCVzPicgJSAobmFtZSwgZW1haWwpCiAgICAgICAgIHR6ID0gaW50KHR6KQogICAgICAgICB0eiA9ICgodHogLyAxMDApICogMzYwMCkgKyAoKHR6ICUgMTAwKSAqIDYwKQogICAgICAgICByZXR1cm4gKGNvbW1pdHRlciwgaW50KGRhdGUpLCB0eikKIAogZGVmIHJldl90b19tYXJrKHJldik6Ci0gICAgZ2xvYmFsIG1hcmtzCiAgICAgcmV0dXJuIG1hcmtzLmZyb21fcmV2KHJldikKIAogZGVmIG1hcmtfdG9fcmV2KG1hcmspOgotICAgIGdsb2JhbCBtYXJrcwogICAgIHJldHVybiBtYXJrcy50b19yZXYobWFyaykKIAogZGVmIGZpeHVwX3VzZXIodXNlcik6CkBAIC0xOTEsOCArMTkzLDcgQEAKICAgICBlbHNlOgogICAgICAgICBtID0gRU1BSUxfUkUubWF0Y2godXNlcikKICAgICAgICAgaWYgbToKLSAgICAgICAgICAgIG5hbWUgPSBtLmdyb3VwKDEpCi0gICAgICAgICAgICBtYWlsID0gbS5ncm91cCgyKQorICAgICAgICAgICAgbWFpbCA9IG0uZ3JvdXAoMSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIG0gPSBOQU1FX1JFLm1hdGNoKHVzZXIpCiAgICAgICAgICAgICBpZiBtOgpAQCAtMjMzLDggKzIzNCw2IEBACiAgICAgcmV0dXJuIG1vZGlmaWVkLCByZW1vdmVkCiAKIGRlZiBleHBvcnRfZmlsZXModHJlZSwgZmlsZXMpOgotICAgIGdsb2JhbCBtYXJrcywgZmlsZW5vZGVzCi0KICAgICBmaW5hbCA9IFtdCiAgICAgZm9yIHBhdGgsIGZpZCBpbiBmaWxlcy5pdGVyaXRlbXMoKToKICAgICAgICAga2luZCA9IHRyZWUua2luZChmaWQpCkBAIC0yNzYsOCArMjc1LDYgQEAKICAgICByZXR1cm4gZmluYWwKIAogZGVmIGV4cG9ydF9icmFuY2gocmVwbywgbmFtZSk6Ci0gICAgZ2xvYmFsIHByZWZpeAotCiAgICAgcmVmID0gJyVzL2hlYWRzLyVzJyAlIChwcmVmaXgsIG5hbWUpCiAgICAgdGlwID0gbWFya3MuZ2V0X3RpcChuYW1lKQogCkBAIC0zNzgsMTYgKzM3NSwxMiBAQAogICAgIG1hcmtzLnNldF90aXAobmFtZSwgcmV2aWQpCiAKIGRlZiBleHBvcnRfdGFnKHJlcG8sIG5hbWUpOgotICAgIGdsb2JhbCB0YWdzLCBwcmVmaXgKLQogICAgIHJlZiA9ICclcy90YWdzLyVzJyAlIChwcmVmaXgsIG5hbWUpCiAgICAgcHJpbnQgInJlc2V0ICVzIiAlIHJlZgogICAgIHByaW50ICJmcm9tIDoldSIgJSByZXZfdG9fbWFyayh0YWdzW25hbWVdKQogICAgIHByaW50CiAKIGRlZiBkb19pbXBvcnQocGFyc2VyKToKLSAgICBnbG9iYWwgZGlybmFtZQotCiAgICAgcmVwbyA9IHBhcnNlci5yZXBvCiAgICAgcGF0aCA9IG9zLnBhdGguam9pbihkaXJuYW1lLCAnbWFya3MtZ2l0JykKIApAQCAtNDEzLDggKzQwNiw2IEBACiAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCiAKIGRlZiBwYXJzZV9ibG9iKHBhcnNlcik6Ci0gICAgZ2xvYmFsIGJsb2JfbWFya3MKLQogICAgIHBhcnNlci5uZXh0KCkKICAgICBtYXJrID0gcGFyc2VyLmdldF9tYXJrKCkKICAgICBwYXJzZXIubmV4dCgpCkBAIC00MjUsOCArNDE2LDYgQEAKIGNsYXNzIEN1c3RvbVRyZWUoKToKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicmFuY2gsIHJldmlkLCBwYXJlbnRzLCBmaWxlcyk6Ci0gICAgICAgIGdsb2JhbCBmaWxlc19jYWNoZQotCiAgICAgICAgIHNlbGYudXBkYXRlcyA9IHt9CiAgICAgICAgIHNlbGYuYnJhbmNoID0gYnJhbmNoCiAKQEAgLTQ4NCw3ICs0NzMsNyBAQAogICAgICAgICAgICAgYWRkX2VudHJ5KGZpZCwgZGlybmFtZSwgJ2RpcmVjdG9yeScpCiAgICAgICAgICAgICByZXR1cm4gZmlkCiAKLSAgICAgICAgZGVmIGFkZF9lbnRyeShmaWQsIHBhdGgsIGtpbmQsIG1vZGUgPSBOb25lKToKKyAgICAgICAgZGVmIGFkZF9lbnRyeShmaWQsIHBhdGgsIGtpbmQsIG1vZGU9Tm9uZSk6CiAgICAgICAgICAgICBkaXJuYW1lLCBiYXNlbmFtZSA9IG9zLnBhdGguc3BsaXQocGF0aCkKICAgICAgICAgICAgIHBhcmVudF9maWQgPSBnZXRfcGFyZW50KGRpcm5hbWUsIGJhc2VuYW1lKQogCkBAIC01MDUsNyArNDk0LDcgQEAKICAgICAgICAgICAgIHNlbGYuZmlsZXNbcGF0aF0gPSBbY2hhbmdlWzBdLCBOb25lXQogICAgICAgICAgICAgY2hhbmdlcy5hcHBlbmQoY2hhbmdlKQogCi0gICAgICAgIGRlZiB1cGRhdGVfZW50cnkoZmlkLCBwYXRoLCBraW5kLCBtb2RlID0gTm9uZSk6CisgICAgICAgIGRlZiB1cGRhdGVfZW50cnkoZmlkLCBwYXRoLCBraW5kLCBtb2RlPU5vbmUpOgogICAgICAgICAgICAgZGlybmFtZSwgYmFzZW5hbWUgPSBvcy5wYXRoLnNwbGl0KHBhdGgpCiAgICAgICAgICAgICBwYXJlbnRfZmlkID0gZ2V0X3BhcmVudChkaXJuYW1lLCBiYXNlbmFtZSkKIApAQCAtNTgzLDkgKzU3Miw2IEBACiAgICAgcmV0dXJuIHN0cmluZwogCiBkZWYgcGFyc2VfY29tbWl0KHBhcnNlcik6Ci0gICAgZ2xvYmFsIG1hcmtzLCBibG9iX21hcmtzLCBwYXJzZWRfcmVmcwotICAgIGdsb2JhbCBtb2RlCi0KICAgICBwYXJlbnRzID0gW10KIAogICAgIHJlZiA9IHBhcnNlclsxXQpAQCAtNjU3LDggKzY0Myw2IEBACiAgICAgbWFya3MubmV3X21hcmsocmV2aWQsIGNvbW1pdF9tYXJrKQogCiBkZWYgcGFyc2VfcmVzZXQocGFyc2VyKToKLSAgICBnbG9iYWwgcGFyc2VkX3JlZnMKLQogICAgIHJlZiA9IHBhcnNlclsxXQogICAgIHBhcnNlci5uZXh0KCkKIApAQCAtNjc0LDggKzY1OCw2IEBACiAgICAgcGFyc2VkX3JlZnNbcmVmXSA9IG1hcmtfdG9fcmV2KGZyb21fbWFyaykKIAogZGVmIGRvX2V4cG9ydChwYXJzZXIpOgotICAgIGdsb2JhbCBwYXJzZWRfcmVmcywgZGlybmFtZQotCiAgICAgcGFyc2VyLm5leHQoKQogCiAgICAgZm9yIGxpbmUgaW4gcGFyc2VyLmVhY2hfYmxvY2soJ2RvbmUnKToKQEAgLTY5OSw3ICs2ODEsOCBAQAogICAgICAgICAgICAgYnJhbmNoLmdlbmVyYXRlX3JldmlzaW9uX2hpc3RvcnkocmV2aWQsIG1hcmtzLmdldF90aXAobmFtZSkpCiAKICAgICAgICAgICAgIGlmIG5hbWUgaW4gcGVlcnM6Ci0gICAgICAgICAgICAgICAgcGVlciA9IGJ6cmxpYi5icmFuY2guQnJhbmNoLm9wZW4ocGVlcnNbbmFtZV0pCisgICAgICAgICAgICAgICAgcGVlciA9IGJ6cmxpYi5icmFuY2guQnJhbmNoLm9wZW4ocGVlcnNbbmFtZV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zc2libGVfdHJhbnNwb3J0cz10cmFuc3BvcnRzKQogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgcGVlci5ienJkaXIucHVzaF9icmFuY2goYnJhbmNoLCByZXZpc2lvbl9pZD1yZXZpZCkKICAgICAgICAgICAgICAgICBleGNlcHQgYnpybGliLmVycm9ycy5EaXZlcmdlZEJyYW5jaGVzOgpAQCAtNzI0LDggKzcwNyw2IEBACiAgICAgcHJpbnQKIAogZGVmIGRvX2NhcGFiaWxpdGllcyhwYXJzZXIpOgotICAgIGdsb2JhbCBkaXJuYW1lCi0KICAgICBwcmludCAiaW1wb3J0IgogICAgIHByaW50ICJleHBvcnQiCiAgICAgcHJpbnQgInJlZnNwZWMgcmVmcy9oZWFkcy8qOiVzL2hlYWRzLyoiICUgcHJlZml4CkBAIC03NDMsOCArNzI0LDYgQEAKICAgICByZXR1cm4gbm90IFRydWUgaW4gW2MgaW4gbmFtZSBmb3IgYyBpbiAnfl46IFxcJ10KIAogZGVmIGRvX2xpc3QocGFyc2VyKToKLSAgICBnbG9iYWwgdGFncwotCiAgICAgbWFzdGVyX2JyYW5jaCA9IE5vbmUKIAogICAgIGZvciBuYW1lIGluIGJyYW5jaGVzOgpAQCAtNzcwLDI0ICs3NDksMjQgQEAKIAogZGVmIGNsb25lKHBhdGgsIHJlbW90ZV9icmFuY2gpOgogICAgIHRyeToKLSAgICAgICAgYmRpciA9IGJ6cmxpYi5ienJkaXIuQnpyRGlyLmNyZWF0ZShwYXRoKQorICAgICAgICBiZGlyID0gYnpybGliLmJ6cmRpci5CenJEaXIuY3JlYXRlKHBhdGgsIHBvc3NpYmxlX3RyYW5zcG9ydHM9dHJhbnNwb3J0cykKICAgICBleGNlcHQgYnpybGliLmVycm9ycy5BbHJlYWR5Q29udHJvbERpckVycm9yOgotICAgICAgICBiZGlyID0gYnpybGliLmJ6cmRpci5CenJEaXIub3BlbihwYXRoKQorICAgICAgICBiZGlyID0gYnpybGliLmJ6cmRpci5CenJEaXIub3BlbihwYXRoLCBwb3NzaWJsZV90cmFuc3BvcnRzPXRyYW5zcG9ydHMpCiAgICAgcmVwbyA9IGJkaXIuZmluZF9yZXBvc2l0b3J5KCkKICAgICByZXBvLmZldGNoKHJlbW90ZV9icmFuY2gucmVwb3NpdG9yeSkKICAgICByZXR1cm4gcmVtb3RlX2JyYW5jaC5zcHJvdXQoYmRpciwgcmVwb3NpdG9yeT1yZXBvKQogCiBkZWYgZ2V0X3JlbW90ZV9icmFuY2gobmFtZSk6Ci0gICAgZ2xvYmFsIGRpcm5hbWUsIGJyYW5jaGVzCi0KLSAgICByZW1vdGVfYnJhbmNoID0gYnpybGliLmJyYW5jaC5CcmFuY2gub3BlbihicmFuY2hlc1tuYW1lXSkKKyAgICByZW1vdGVfYnJhbmNoID0gYnpybGliLmJyYW5jaC5CcmFuY2gub3BlbihicmFuY2hlc1tuYW1lXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NzaWJsZV90cmFuc3BvcnRzPXRyYW5zcG9ydHMpCiAgICAgaWYgaXNpbnN0YW5jZShyZW1vdGVfYnJhbmNoLnVzZXJfdHJhbnNwb3J0LCBienJsaWIudHJhbnNwb3J0LmxvY2FsLkxvY2FsVHJhbnNwb3J0KToKICAgICAgICAgcmV0dXJuIHJlbW90ZV9icmFuY2gKIAogICAgIGJyYW5jaF9wYXRoID0gb3MucGF0aC5qb2luKGRpcm5hbWUsICdjbG9uZScsIG5hbWUpCiAKICAgICB0cnk6Ci0gICAgICAgIGJyYW5jaCA9IGJ6cmxpYi5icmFuY2guQnJhbmNoLm9wZW4oYnJhbmNoX3BhdGgpCisgICAgICAgIGJyYW5jaCA9IGJ6cmxpYi5icmFuY2guQnJhbmNoLm9wZW4oYnJhbmNoX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zc2libGVfdHJhbnNwb3J0cz10cmFuc3BvcnRzKQogICAgIGV4Y2VwdCBienJsaWIuZXJyb3JzLk5vdEJyYW5jaEVycm9yOgogICAgICAgICAjIGNsb25lCiAgICAgICAgIGJyYW5jaCA9IGNsb25lKGJyYW5jaF9wYXRoLCByZW1vdGVfYnJhbmNoKQpAQCAtODIxLDE3ICs4MDAsMTcgQEAKICAgICAgICAgICAgIHlpZWxkIG5hbWUsIGJyYW5jaC5iYXNlCiAKIGRlZiBnZXRfcmVwbyh1cmwsIGFsaWFzKToKLSAgICBnbG9iYWwgZGlybmFtZSwgcGVlciwgYnJhbmNoZXMKLQogICAgIG5vcm1hbF91cmwgPSBienJsaWIudXJsdXRpbHMubm9ybWFsaXplX3VybCh1cmwpCi0gICAgb3JpZ2luID0gYnpybGliLmJ6cmRpci5CenJEaXIub3Blbih1cmwpCisgICAgb3JpZ2luID0gYnpybGliLmJ6cmRpci5CenJEaXIub3Blbih1cmwsIHBvc3NpYmxlX3RyYW5zcG9ydHM9dHJhbnNwb3J0cykKICAgICBpc19sb2NhbCA9IGlzaW5zdGFuY2Uob3JpZ2luLnRyYW5zcG9ydCwgYnpybGliLnRyYW5zcG9ydC5sb2NhbC5Mb2NhbFRyYW5zcG9ydCkKIAogICAgIHNoYXJlZF9wYXRoID0gb3MucGF0aC5qb2luKGdpdGRpciwgJ2J6cicpCiAgICAgdHJ5OgotICAgICAgICBzaGFyZWRfZGlyID0gYnpybGliLmJ6cmRpci5CenJEaXIub3BlbihzaGFyZWRfcGF0aCkKKyAgICAgICAgc2hhcmVkX2RpciA9IGJ6cmxpYi5ienJkaXIuQnpyRGlyLm9wZW4oc2hhcmVkX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc3NpYmxlX3RyYW5zcG9ydHM9dHJhbnNwb3J0cykKICAgICBleGNlcHQgYnpybGliLmVycm9ycy5Ob3RCcmFuY2hFcnJvcjoKLSAgICAgICAgc2hhcmVkX2RpciA9IGJ6cmxpYi5ienJkaXIuQnpyRGlyLmNyZWF0ZShzaGFyZWRfcGF0aCkKKyAgICAgICAgc2hhcmVkX2RpciA9IGJ6cmxpYi5ienJkaXIuQnpyRGlyLmNyZWF0ZShzaGFyZWRfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NzaWJsZV90cmFuc3BvcnRzPXRyYW5zcG9ydHMpCiAgICAgdHJ5OgogICAgICAgICBzaGFyZWRfcmVwbyA9IHNoYXJlZF9kaXIub3Blbl9yZXBvc2l0b3J5KCkKICAgICBleGNlcHQgYnpybGliLmVycm9ycy5Ob1JlcG9zaXRvcnlQcmVzZW50OgpAQCAtODQ0LDE2ICs4MjMsMjEgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgICMgY2hlY2sgYW5kIHJlbW92ZSBvbGQgb3JnYW5pemF0aW9uCiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgYmRpciA9IGJ6cmxpYi5ienJkaXIuQnpyRGlyLm9wZW4oY2xvbmVfcGF0aCkKKyAgICAgICAgICAgICAgICBiZGlyID0gYnpybGliLmJ6cmRpci5CenJEaXIub3BlbihjbG9uZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc3NpYmxlX3RyYW5zcG9ydHM9dHJhbnNwb3J0cykKICAgICAgICAgICAgICAgICBiZGlyLmRlc3Ryb3lfcmVwb3NpdG9yeSgpCiAgICAgICAgICAgICBleGNlcHQgYnpybGliLmVycm9ycy5Ob3RCcmFuY2hFcnJvcjoKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBleGNlcHQgYnpybGliLmVycm9ycy5Ob1JlcG9zaXRvcnlQcmVzZW50OgogICAgICAgICAgICAgICAgIHBhc3MKIAotICAgIHdhbnRlZCA9IGdldF9jb25maWcoJ3JlbW90ZS1ienIuYnJhbmNoZXMnKS5yc3RyaXAoKS5zcGxpdCgnLCAnKQorICAgIHdhbnRlZCA9IGdldF9jb25maWcoJ3JlbW90ZS4lcy5ienItYnJhbmNoZXMnICUgYWxpYXMpLnJzdHJpcCgpLnNwbGl0KCcsICcpCiAgICAgIyBzdHVwaWQgcHl0aG9uCiAgICAgd2FudGVkID0gW2UgZm9yIGUgaW4gd2FudGVkIGlmIGVdCisgICAgaWYgbm90IHdhbnRlZDoKKyAgICAgICAgd2FudGVkID0gZ2V0X2NvbmZpZygncmVtb3RlLWJ6ci5icmFuY2hlcycpLnJzdHJpcCgpLnNwbGl0KCcsICcpCisgICAgICAgICMgc3R1cGlkIHB5dGhvbgorICAgICAgICB3YW50ZWQgPSBbZSBmb3IgZSBpbiB3YW50ZWQgaWYgZV0KIAogICAgIGlmIG5vdCB3YW50ZWQ6CiAgICAgICAgIHRyeToKQEAgLTg5Nyw2ICs4ODEsMTcgQEAKICAgICBnbG9iYWwgZmlsZXNfY2FjaGUKICAgICBnbG9iYWwgaXNfdG1wCiAgICAgZ2xvYmFsIGJyYW5jaGVzLCBwZWVycworICAgIGdsb2JhbCB0cmFuc3BvcnRzCisKKyAgICBtYXJrcyA9IE5vbmUKKyAgICBpc190bXAgPSBGYWxzZQorICAgIGdpdGRpciA9IG9zLmVudmlyb24uZ2V0KCdHSVRfRElSJywgTm9uZSkKKworICAgIGlmIGxlbihhcmdzKSA8IDM6CisgICAgICAgIGRpZSgnTm90IGVub3VnaCBhcmd1bWVudHMuJykKKworICAgIGlmIG5vdCBnaXRkaXI6CisgICAgICAgIGRpZSgnR0lUX0RJUiBub3Qgc2V0JykKIAogICAgIGFsaWFzID0gYXJnc1sxXQogICAgIHVybCA9IGFyZ3NbMl0KQEAgLTkwNiwxOCArOTAxLDE1IEBACiAgICAgYmxvYl9tYXJrcyA9IHt9CiAgICAgcGFyc2VkX3JlZnMgPSB7fQogICAgIGZpbGVzX2NhY2hlID0ge30KLSAgICBtYXJrcyA9IE5vbmUKICAgICBicmFuY2hlcyA9IHt9CiAgICAgcGVlcnMgPSB7fQorICAgIHRyYW5zcG9ydHMgPSBbXQogCiAgICAgaWYgYWxpYXNbNTpdID09IHVybDoKICAgICAgICAgaXNfdG1wID0gVHJ1ZQogICAgICAgICBhbGlhcyA9IGhhc2hsaWIuc2hhMShhbGlhcykuaGV4ZGlnZXN0KCkKLSAgICBlbHNlOgotICAgICAgICBpc190bXAgPSBGYWxzZQogCiAgICAgcHJlZml4ID0gJ3JlZnMvYnpyLyVzJyAlIGFsaWFzCi0gICAgZ2l0ZGlyID0gb3MuZW52aXJvblsnR0lUX0RJUiddCiAgICAgZGlybmFtZSA9IG9zLnBhdGguam9pbihnaXRkaXIsICdienInLCBhbGlhcykKIAogICAgIGlmIG5vdCBpc190bXA6CmRpZmYgLS1naXQgYS9jb250cmliL3JlbW90ZS1oZWxwZXJzL2dpdC1yZW1vdGUtaGcgYi9jb250cmliL3JlbW90ZS1oZWxwZXJzL2dpdC1yZW1vdGUtaGcKaW5kZXggMWM3MTNlMC4uZWI4OWVmNiAxMDA3NTUKLS0tIGEvY29udHJpYi9yZW1vdGUtaGVscGVycy9naXQtcmVtb3RlLWhnCisrKyBiL2NvbnRyaWIvcmVtb3RlLWhlbHBlcnMvZ2l0LXJlbW90ZS1oZwpAQCAtMjMsOCArMjMsMTIgQEAKIGltcG9ydCB1cmxsaWIKIGltcG9ydCBhdGV4aXQKIGltcG9ydCB1cmxwYXJzZSwgaGFzaGxpYgoraW1wb3J0IHRpbWUgYXMgcHRpbWUKIAogIworIyBJZiB5b3Ugd2FudCB0byBzZWUgTWVyY3VyaWFsIHJldmlzaW9ucyBhcyBHaXQgY29tbWl0IG5vdGVzOgorIyBnaXQgY29uZmlnIGNvcmUubm90ZXNSZWYgcmVmcy9ub3Rlcy9oZworIwogIyBJZiB5b3UgYXJlIG5vdCBpbiBoZy1naXQtY29tcGF0IG1vZGUgYW5kIHdhbnQgdG8gZGlzYWJsZSB0aGUgdHJhY2tpbmcgb2YKICMgbmFtZWQgYnJhbmNoZXM6CiAjIGdpdCBjb25maWcgLS1nbG9iYWwgcmVtb3RlLWhnLnRyYWNrLWJyYW5jaGVzIGZhbHNlCkBAIC00Nyw4ICs1MSw4IEBACiAjCiAKIE5BTUVfUkUgPSByZS5jb21waWxlKCdeKFtePD5dKyknKQotQVVUSE9SX1JFID0gcmUuY29tcGlsZSgnXihbXjw+XSs/KT8gPzwoW148Pl0qKT4kJykKLUVNQUlMX1JFID0gcmUuY29tcGlsZSgnXihbXjw+XStbXiBcXFx0PD5dKT9cXGIoPzpbIFxcdDw+XSo/KVxcYihbXiBcXHQ8Pl0rQFteIFxcdDw+XSspJykKK0FVVEhPUl9SRSA9IHJlLmNvbXBpbGUoJ14oW148Pl0rPyk/ID9bPD5dKFtePD5dKikoPzokfD4pJykKK0VNQUlMX1JFID0gcmUuY29tcGlsZShyJyhbXiBcdDw+XStAW14gXHQ8Pl0rKScpCiBBVVRIT1JfSEdfUkUgPSByZS5jb21waWxlKCdeKC4qPykgPzwoLio/KSg/Oj4oLispPyk/JCcpCiBSQVdfQVVUSE9SX1JFID0gcmUuY29tcGlsZSgnXihcdyspICg/OiguKyk/ICk/PCguKik+IChcZCspIChbKy1dXGQrKScpCiAKQEAgLTEyNiw2ICsxMzAsNyBAQAogICAgICAgICBzZWxmLnJldl9tYXJrcyA9IHt9CiAgICAgICAgIHNlbGYubGFzdF9tYXJrID0gMAogICAgICAgICBzZWxmLnZlcnNpb24gPSAwCisgICAgICAgIHNlbGYubGFzdF9ub3RlID0gMAogCiAgICAgZGVmIGxvYWQoc2VsZik6CiAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzZWxmLnBhdGgpOgpAQCAtMTM3LDYgKzE0Miw3IEBACiAgICAgICAgIHNlbGYubWFya3MgPSB0bXBbJ21hcmtzJ10KICAgICAgICAgc2VsZi5sYXN0X21hcmsgPSB0bXBbJ2xhc3QtbWFyayddCiAgICAgICAgIHNlbGYudmVyc2lvbiA9IHRtcC5nZXQoJ3ZlcnNpb24nLCAxKQorICAgICAgICBzZWxmLmxhc3Rfbm90ZSA9IHRtcC5nZXQoJ2xhc3Qtbm90ZScsIDApCiAKICAgICAgICAgZm9yIHJldiwgbWFyayBpbiBzZWxmLm1hcmtzLml0ZXJpdGVtcygpOgogICAgICAgICAgICAgc2VsZi5yZXZfbWFya3NbbWFya10gPSByZXYKQEAgLTE1MCw3ICsxNTYsNyBAQAogICAgICAgICBzZWxmLnZlcnNpb24gPSAyCiAKICAgICBkZWYgZGljdChzZWxmKToKLSAgICAgICAgcmV0dXJuIHsgJ3RpcHMnOiBzZWxmLnRpcHMsICdtYXJrcyc6IHNlbGYubWFya3MsICdsYXN0LW1hcmsnIDogc2VsZi5sYXN0X21hcmssICd2ZXJzaW9uJyA6IHNlbGYudmVyc2lvbiB9CisgICAgICAgIHJldHVybiB7ICd0aXBzJzogc2VsZi50aXBzLCAnbWFya3MnOiBzZWxmLm1hcmtzLCAnbGFzdC1tYXJrJyA6IHNlbGYubGFzdF9tYXJrLCAndmVyc2lvbicgOiBzZWxmLnZlcnNpb24sICdsYXN0LW5vdGUnIDogc2VsZi5sYXN0X25vdGUgfQogCiAgICAgZGVmIHN0b3JlKHNlbGYpOgogICAgICAgICBqc29uLmR1bXAoc2VsZi5kaWN0KCksIG9wZW4oc2VsZi5wYXRoLCAndycpKQpAQCAtMjI3LDggKzIzMyw2IEBACiAgICAgICAgIHJldHVybiBzeXMuc3RkaW4ucmVhZChzaXplKQogCiAgICAgZGVmIGdldF9hdXRob3Ioc2VsZik6Ci0gICAgICAgIGdsb2JhbCBiYWRfbWFpbAotCiAgICAgICAgIGV4ID0gTm9uZQogICAgICAgICBtID0gUkFXX0FVVEhPUl9SRS5tYXRjaChzZWxmLmxpbmUpCiAgICAgICAgIGlmIG5vdCBtOgpAQCAtMjYxLDggKzI2NSw2IEBACiAgICAgcmV0dXJuIG9zLnBhdGgucmVscGF0aChwYXRoLCAnLycpCiAKIGRlZiBleHBvcnRfZmlsZXMoZmlsZXMpOgotICAgIGdsb2JhbCBtYXJrcywgZmlsZW5vZGVzCi0KICAgICBmaW5hbCA9IFtdCiAgICAgZm9yIGYgaW4gZmlsZXM6CiAgICAgICAgIGZpZCA9IG5vZGUuaGV4KGYuZmlsZW5vZGUoKSkKQEAgLTMxNCw4ICszMTYsNyBAQAogICAgIGVsc2U6CiAgICAgICAgIG0gPSBFTUFJTF9SRS5tYXRjaCh1c2VyKQogICAgICAgICBpZiBtOgotICAgICAgICAgICAgbmFtZSA9IG0uZ3JvdXAoMSkKLSAgICAgICAgICAgIG1haWwgPSBtLmdyb3VwKDIpCisgICAgICAgICAgICBtYWlsID0gbS5ncm91cCgxKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgbSA9IE5BTUVfUkUubWF0Y2godXNlcikKICAgICAgICAgICAgIGlmIG06CkBAIC0zNDQsOCArMzQ1LDYgQEAKICAgICByZXR1cm4gKG5hbWUsIG1haWwpCiAKIGRlZiBmaXh1cF91c2VyKHVzZXIpOgotICAgIGdsb2JhbCBtb2RlLCBiYWRfbWFpbAotCiAgICAgaWYgbW9kZSA9PSAnZ2l0JzoKICAgICAgICAgbmFtZSwgbWFpbCA9IGZpeHVwX3VzZXJfZ2l0KHVzZXIpCiAgICAgZWxzZToKQEAgLTM3NCw3ICszNzMsNyBAQAogICAgICAgICBib29rbWFya3Mud3JpdGUocmVwbykKIAogZGVmIGdldF9yZXBvKHVybCwgYWxpYXMpOgotICAgIGdsb2JhbCBkaXJuYW1lLCBwZWVyCisgICAgZ2xvYmFsIHBlZXIKIAogICAgIG15dWkgPSB1aS51aSgpCiAgICAgbXl1aS5zZXRjb25maWcoJ3VpJywgJ2ludGVyYWN0aXZlJywgJ29mZicpCkBAIC0zOTEsMTEgKzM5MCwyNCBAQAogICAgICAgICAgICAgb3MubWFrZWRpcnMoZGlybmFtZSkKICAgICBlbHNlOgogICAgICAgICBzaGFyZWRfcGF0aCA9IG9zLnBhdGguam9pbihnaXRkaXIsICdoZycpCi0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzaGFyZWRfcGF0aCk6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgaGcuY2xvbmUobXl1aSwge30sIHVybCwgc2hhcmVkX3BhdGgsIHVwZGF0ZT1GYWxzZSwgcHVsbD1UcnVlKQotICAgICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgICAgIGRpZSgnUmVwb3NpdG9yeSBlcnJvcicpCisKKyAgICAgICAgIyBjaGVjayBhbmQgdXBncmFkZSBvbGQgb3JnYW5pemF0aW9uCisgICAgICAgIGhnX3BhdGggPSBvcy5wYXRoLmpvaW4oc2hhcmVkX3BhdGgsICcuaGcnKQorICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhzaGFyZWRfcGF0aCkgYW5kIG5vdCBvcy5wYXRoLmV4aXN0cyhoZ19wYXRoKToKKyAgICAgICAgICAgIHJlcG9zID0gb3MubGlzdGRpcihzaGFyZWRfcGF0aCkKKyAgICAgICAgICAgIGZvciB4IGluIHJlcG9zOgorICAgICAgICAgICAgICAgIGxvY2FsX2hnID0gb3MucGF0aC5qb2luKHNoYXJlZF9wYXRoLCB4LCAnY2xvbmUnLCAnLmhnJykKKyAgICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMobG9jYWxfaGcpOgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhoZ19wYXRoKToKKyAgICAgICAgICAgICAgICAgICAgc2h1dGlsLm1vdmUobG9jYWxfaGcsIGhnX3BhdGgpCisgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShvcy5wYXRoLmpvaW4oc2hhcmVkX3BhdGgsIHgsICdjbG9uZScpKQorCisgICAgICAgICMgc2V0dXAgc2hhcmVkIHJlcG8gKGlmIG5vdCB0aGVyZSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaGcucGVlcihteXVpLCB7fSwgc2hhcmVkX3BhdGgsIGNyZWF0ZT1UcnVlKQorICAgICAgICBleGNlcHQgZXJyb3IuUmVwb0Vycm9yOgorICAgICAgICAgICAgcGFzcwogCiAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhkaXJuYW1lKToKICAgICAgICAgICAgIG9zLm1ha2VkaXJzKGRpcm5hbWUpCkBAIC00MDMsNiArNDE1LDkgQEAKICAgICAgICAgbG9jYWxfcGF0aCA9IG9zLnBhdGguam9pbihkaXJuYW1lLCAnY2xvbmUnKQogICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMobG9jYWxfcGF0aCk6CiAgICAgICAgICAgICBoZy5zaGFyZShteXVpLCBzaGFyZWRfcGF0aCwgbG9jYWxfcGF0aCwgdXBkYXRlPUZhbHNlKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBtYWtlIHN1cmUgdGhlIHNoYXJlZCBwYXRoIGlzIGFsd2F5cyB1cC10by1kYXRlCisgICAgICAgICAgICB1dGlsLndyaXRlZmlsZShvcy5wYXRoLmpvaW4obG9jYWxfcGF0aCwgJy5oZycsICdzaGFyZWRwYXRoJyksIGhnX3BhdGgpCiAKICAgICAgICAgcmVwbyA9IGhnLnJlcG9zaXRvcnkobXl1aSwgbG9jYWxfcGF0aCkKICAgICAgICAgdHJ5OgpAQCAtNDE2LDE2ICs0MzEsMTIgQEAKICAgICByZXR1cm4gcmVwbwogCiBkZWYgcmV2X3RvX21hcmsocmV2KToKLSAgICBnbG9iYWwgbWFya3MKICAgICByZXR1cm4gbWFya3MuZnJvbV9yZXYocmV2LmhleCgpKQogCiBkZWYgbWFya190b19yZXYobWFyayk6Ci0gICAgZ2xvYmFsIG1hcmtzCiAgICAgcmV0dXJuIG1hcmtzLnRvX3JldihtYXJrKQogCiBkZWYgZXhwb3J0X3JlZihyZXBvLCBuYW1lLCBraW5kLCBoZWFkKToKLSAgICBnbG9iYWwgcHJlZml4LCBtYXJrcywgbW9kZQotCiAgICAgZW5hbWUgPSAnJXMvJXMnICUgKGtpbmQsIG5hbWUpCiAgICAgdHJ5OgogICAgICAgICB0aXAgPSBtYXJrcy5nZXRfdGlwKGVuYW1lKQpAQCAtNTIyLDYgKzUzMywzMSBAQAogICAgIHByaW50ICJmcm9tIDoldSIgJSByZXZfdG9fbWFyayhoZWFkKQogICAgIHByaW50CiAKKyAgICBwZW5kaW5nX3JldnMgPSBzZXQocmV2cykgLSBub3RlcworICAgIGlmIHBlbmRpbmdfcmV2czoKKyAgICAgICAgbm90ZV9tYXJrID0gbWFya3MubmV4dF9tYXJrKCkKKyAgICAgICAgcmVmID0gInJlZnMvbm90ZXMvaGciCisKKyAgICAgICAgcHJpbnQgImNvbW1pdCAlcyIgJSByZWYKKyAgICAgICAgcHJpbnQgIm1hcmsgOiVkIiAlIChub3RlX21hcmspCisgICAgICAgIHByaW50ICJjb21taXR0ZXIgcmVtb3RlLWhnIDw+ICVkICVzIiAlIChwdGltZS50aW1lKCksIGdpdHR6KHB0aW1lLnRpbWV6b25lKSkKKyAgICAgICAgZGVzYyA9ICJOb3RlcyBmb3IgJXNcbiIgJSAobmFtZSkKKyAgICAgICAgcHJpbnQgImRhdGEgJWQiICUgKGxlbihkZXNjKSkKKyAgICAgICAgcHJpbnQgZGVzYworICAgICAgICBpZiBtYXJrcy5sYXN0X25vdGU6CisgICAgICAgICAgICBwcmludCAiZnJvbSA6JXUiICUgbWFya3MubGFzdF9ub3RlCisKKyAgICAgICAgZm9yIHJldiBpbiBwZW5kaW5nX3JldnM6CisgICAgICAgICAgICBub3Rlcy5hZGQocmV2KQorICAgICAgICAgICAgYyA9IHJlcG9bcmV2XQorICAgICAgICAgICAgcHJpbnQgIk4gaW5saW5lIDoldSIgJSByZXZfdG9fbWFyayhjKQorICAgICAgICAgICAgbXNnID0gYy5oZXgoKQorICAgICAgICAgICAgcHJpbnQgImRhdGEgJWQiICUgKGxlbihtc2cpKQorICAgICAgICAgICAgcHJpbnQgbXNnCisgICAgICAgIHByaW50CisKKyAgICAgICAgbWFya3MubGFzdF9ub3RlID0gbm90ZV9tYXJrCisKICAgICBtYXJrcy5zZXRfdGlwKGVuYW1lLCBoZWFkLmhleCgpKQogCiBkZWYgZXhwb3J0X3RhZyhyZXBvLCB0YWcpOgpAQCAtNTM3LDEyICs1NzMsOSBAQAogICAgIGV4cG9ydF9yZWYocmVwbywgYnJhbmNoLCAnYnJhbmNoZXMnLCBoZWFkKQogCiBkZWYgZXhwb3J0X2hlYWQocmVwbyk6Ci0gICAgZ2xvYmFsIGdfaGVhZAogICAgIGV4cG9ydF9yZWYocmVwbywgZ19oZWFkWzBdLCAnYm9va21hcmtzJywgZ19oZWFkWzFdKQogCiBkZWYgZG9fY2FwYWJpbGl0aWVzKHBhcnNlcik6Ci0gICAgZ2xvYmFsIHByZWZpeCwgZGlybmFtZQotCiAgICAgcHJpbnQgImltcG9ydCIKICAgICBwcmludCAiZXhwb3J0IgogICAgIHByaW50ICJyZWZzcGVjIHJlZnMvaGVhZHMvYnJhbmNoZXMvKjolcy9icmFuY2hlcy8qIiAlIHByZWZpeApAQCAtNTYyLDggKzU5NSw2IEBACiAgICAgcmV0dXJuIGJyYW5jaGVzW2JyYW5jaF1bLTFdCiAKIGRlZiBnZXRfYnJhbmNoX3RpcChyZXBvLCBicmFuY2gpOgotICAgIGdsb2JhbCBicmFuY2hlcwotCiAgICAgaGVhZHMgPSBicmFuY2hlcy5nZXQoaGdyZWYoYnJhbmNoKSwgTm9uZSkKICAgICBpZiBub3QgaGVhZHM6CiAgICAgICAgIHJldHVybiBOb25lCkBAIC01NzYsNyArNjA3LDcgQEAKICAgICByZXR1cm4gaGVhZHNbMF0KIAogZGVmIGxpc3RfaGVhZChyZXBvLCBjdXIpOgotICAgIGdsb2JhbCBnX2hlYWQsIGJtYXJrcywgZmFrZV9ibWFyaworICAgIGdsb2JhbCBnX2hlYWQsIGZha2VfYm1hcmsKIAogICAgIGlmICdkZWZhdWx0JyBub3QgaW4gYnJhbmNoZXM6CiAgICAgICAgICMgZW1wdHkgcmVwbwpAQCAtNTkyLDggKzYyMyw2IEBACiAgICAgZ19oZWFkID0gKGhlYWQsIG5vZGUpCiAKIGRlZiBkb19saXN0KHBhcnNlcik6Ci0gICAgZ2xvYmFsIGJyYW5jaGVzLCBibWFya3MsIHRyYWNrX2JyYW5jaGVzCi0KICAgICByZXBvID0gcGFyc2VyLnJlcG8KICAgICBmb3IgYm1hcmssIG5vZGUgaW4gYm9va21hcmtzLmxpc3Rib29rbWFya3MocmVwbykuaXRlcml0ZW1zKCk6CiAgICAgICAgIGJtYXJrc1tibWFya10gPSByZXBvW25vZGVdCkBAIC02NjEsOCArNjkwLDYgQEAKICAgICBwcmludCAnZG9uZScKIAogZGVmIHBhcnNlX2Jsb2IocGFyc2VyKToKLSAgICBnbG9iYWwgYmxvYl9tYXJrcwotCiAgICAgcGFyc2VyLm5leHQoKQogICAgIG1hcmsgPSBwYXJzZXIuZ2V0X21hcmsoKQogICAgIHBhcnNlci5uZXh0KCkKQEAgLTY4NCw5ICs3MTEsNiBAQAogICAgIHJldHVybiBzdHJpbmcKIAogZGVmIHBhcnNlX2NvbW1pdChwYXJzZXIpOgotICAgIGdsb2JhbCBtYXJrcywgYmxvYl9tYXJrcywgcGFyc2VkX3JlZnMKLSAgICBnbG9iYWwgbW9kZQotCiAgICAgZnJvbV9tYXJrID0gbWVyZ2VfbWFyayA9IE5vbmUKIAogICAgIHJlZiA9IHBhcnNlclsxXQpAQCAtODA1LDggKzgyOSw2IEBACiAgICAgbWFya3MubmV3X21hcmsobm9kZSwgY29tbWl0X21hcmspCiAKIGRlZiBwYXJzZV9yZXNldChwYXJzZXIpOgotICAgIGdsb2JhbCBwYXJzZWRfcmVmcwotCiAgICAgcmVmID0gcGFyc2VyWzFdCiAgICAgcGFyc2VyLm5leHQoKQogICAgICMgdWdoCkBAIC05OTksOCArMTAyMSw2IEBACiAgICAgICAgIHJldHVybiB0aXAgaW4gaGVhZHMKIAogZGVmIGRvX2V4cG9ydChwYXJzZXIpOgotICAgIGdsb2JhbCBwYXJzZWRfcmVmcywgYm1hcmtzLCBwZWVyCi0KICAgICBwX2JtYXJrcyA9IFtdCiAgICAgcF9yZXZzID0ge30KIApAQCAtMTA3Miw3ICsxMDkyLDcgQEAKICAgICAgICAgICAgIGF1dGhvciwgbXNnID0gcGFyc2VkX3RhZ3MuZ2V0KHRhZywgKE5vbmUsIE5vbmUpKQogICAgICAgICAgICAgaWYgbW9kZSA9PSAnZ2l0JzoKICAgICAgICAgICAgICAgICBpZiBub3QgbXNnOgotICAgICAgICAgICAgICAgICAgICBtc2cgPSAnQWRkZWQgdGFnICVzIGZvciBjaGFuZ2VzZXQgJXMnICUgKHRhZywgbm9kZVs6MTJdKTsKKyAgICAgICAgICAgICAgICAgICAgbXNnID0gJ0FkZGVkIHRhZyAlcyBmb3IgY2hhbmdlc2V0ICVzJyAlICh0YWcsIG5vZGVbOjEyXSkKICAgICAgICAgICAgICAgICB0YWdub2RlLCBicmFuY2ggPSB3cml0ZV90YWcocGFyc2VyLnJlcG8sIHRhZywgbm9kZSwgbXNnLCBhdXRob3IpCiAgICAgICAgICAgICAgICAgcF9yZXZzW3RhZ25vZGVdID0gJ3JlZnMvaGVhZHMvYnJhbmNoZXMvJyArIGdpdHJlZihicmFuY2gpCiAgICAgICAgICAgICBlbHNlOgpAQCAtMTEzMCw3ICsxMTUwLDcgQEAKIAogZGVmIGZpeF9wYXRoKGFsaWFzLCByZXBvLCBvcmlnX3VybCk6CiAgICAgdXJsID0gdXJscGFyc2UudXJscGFyc2Uob3JpZ191cmwsICdmaWxlJykKLSAgICBpZiB1cmwuc2NoZW1lICE9ICdmaWxlJyBvciBvcy5wYXRoLmlzYWJzKHVybC5wYXRoKToKKyAgICBpZiB1cmwuc2NoZW1lICE9ICdmaWxlJyBvciBvcy5wYXRoLmlzYWJzKG9zLnBhdGguZXhwYW5kdXNlcih1cmwucGF0aCkpOgogICAgICAgICByZXR1cm4KICAgICBhYnNfdXJsID0gdXJscGFyc2UudXJsam9pbigiJXMvIiAlIG9zLmdldGN3ZCgpLCBvcmlnX3VybCkKICAgICBjbWQgPSBbJ2dpdCcsICdjb25maWcnLCAncmVtb3RlLiVzLnVybCcgJSBhbGlhcywgImhnOjolcyIgJSBhYnNfdXJsXQpAQCAtMTE0NSw2ICsxMTY1LDE3IEBACiAgICAgZ2xvYmFsIGZpbGVub2RlcwogICAgIGdsb2JhbCBmYWtlX2JtYXJrLCBoZ192ZXJzaW9uCiAgICAgZ2xvYmFsIGRyeV9ydW4KKyAgICBnbG9iYWwgbm90ZXMsIGFsaWFzCisKKyAgICBtYXJrcyA9IE5vbmUKKyAgICBpc190bXAgPSBGYWxzZQorICAgIGdpdGRpciA9IG9zLmVudmlyb24uZ2V0KCdHSVRfRElSJywgTm9uZSkKKworICAgIGlmIGxlbihhcmdzKSA8IDM6CisgICAgICAgIGRpZSgnTm90IGVub3VnaCBhcmd1bWVudHMuJykKKworICAgIGlmIG5vdCBnaXRkaXI6CisgICAgICAgIGRpZSgnR0lUX0RJUiBub3Qgc2V0JykKIAogICAgIGFsaWFzID0gYXJnc1sxXQogICAgIHVybCA9IGFyZ3NbMl0KQEAgLTExNjYsMTYgKzExOTcsMTIgQEAKICAgICBpZiBhbGlhc1s0Ol0gPT0gdXJsOgogICAgICAgICBpc190bXAgPSBUcnVlCiAgICAgICAgIGFsaWFzID0gaGFzaGxpYi5zaGExKGFsaWFzKS5oZXhkaWdlc3QoKQotICAgIGVsc2U6Ci0gICAgICAgIGlzX3RtcCA9IEZhbHNlCiAKLSAgICBnaXRkaXIgPSBvcy5lbnZpcm9uWydHSVRfRElSJ10KICAgICBkaXJuYW1lID0gb3MucGF0aC5qb2luKGdpdGRpciwgJ2hnJywgYWxpYXMpCiAgICAgYnJhbmNoZXMgPSB7fQogICAgIGJtYXJrcyA9IHt9CiAgICAgYmxvYl9tYXJrcyA9IHt9CiAgICAgcGFyc2VkX3JlZnMgPSB7fQotICAgIG1hcmtzID0gTm9uZQogICAgIHBhcnNlZF90YWdzID0ge30KICAgICBmaWxlbm9kZXMgPSB7fQogICAgIGZha2VfYm1hcmsgPSBOb25lCkBAIC0xMTg0LDYgKzEyMTEsNyBAQAogICAgIGV4Y2VwdDoKICAgICAgICAgaGdfdmVyc2lvbiA9IE5vbmUKICAgICBkcnlfcnVuID0gRmFsc2UKKyAgICBub3RlcyA9IHNldCgpCiAKICAgICByZXBvID0gZ2V0X3JlcG8odXJsLCBhbGlhcykKICAgICBwcmVmaXggPSAncmVmcy9oZy8lcycgJSBhbGlhcwpkaWZmIC0tZ2l0IGEvY29udHJpYi9yZW1vdGUtaGVscGVycy90ZXN0LWJ6ci5zaCBiL2NvbnRyaWIvcmVtb3RlLWhlbHBlcnMvdGVzdC1ienIuc2gKaW5kZXggZGNlMjgxZi4uMWU1M2ZmOSAxMDA3NTUKLS0tIGEvY29udHJpYi9yZW1vdGUtaGVscGVycy90ZXN0LWJ6ci5zaAorKysgYi9jb250cmliL3JlbW90ZS1oZWxwZXJzL3Rlc3QtYnpyLnNoCkBAIC01LDIxICs1LDI0IEBACiAKIHRlc3RfZGVzY3JpcHRpb249J1Rlc3QgcmVtb3RlLWJ6cicKIAotLiAuL3Rlc3QtbGliLnNoCit0ZXN0IC1uICIkVEVTVF9ESVJFQ1RPUlkiIHx8IFRFU1RfRElSRUNUT1JZPSR7MCUvKn0vLi4vLi4vdAorLiAiJFRFU1RfRElSRUNUT1JZIi90ZXN0LWxpYi5zaAogCi1pZiAhIHRlc3RfaGF2ZV9wcmVyZXEgUFlUSE9OOyB0aGVuCitpZiAhIHRlc3RfaGF2ZV9wcmVyZXEgUFlUSE9OCit0aGVuCiAJc2tpcF9hbGw9J3NraXBwaW5nIHJlbW90ZS1ienIgdGVzdHM7IHB5dGhvbiBub3QgYXZhaWxhYmxlJwogCXRlc3RfZG9uZQogZmkKIAotaWYgISBweXRob24gLWMgJ2ltcG9ydCBienJsaWInOyB0aGVuCitpZiAhIHB5dGhvbiAtYyAnaW1wb3J0IGJ6cmxpYicKK3RoZW4KIAlza2lwX2FsbD0nc2tpcHBpbmcgcmVtb3RlLWJ6ciB0ZXN0czsgYnpyIG5vdCBhdmFpbGFibGUnCiAJdGVzdF9kb25lCiBmaQogCiBjaGVjayAoKSB7Ci0JZWNobyAkMyA+IGV4cGVjdGVkICYmCi0JZ2l0IC0tZ2l0LWRpcj0kMS8uZ2l0IGxvZyAtLWZvcm1hdD0nJXMnIC0xICQyID4gYWN0dWFsCisJZWNobyAkMyA+ZXhwZWN0ZWQgJiYKKwlnaXQgLS1naXQtZGlyPSQxLy5naXQgbG9nIC0tZm9ybWF0PSclcycgLTEgJDIgPmFjdHVhbAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogfQogCkBAIC0yOSw3ICszMiw3IEBACiAJKAogCWJ6ciBpbml0IGJ6cnJlcG8gJiYKIAljZCBienJyZXBvICYmCi0JZWNobyBvbmUgPiBjb250ZW50ICYmCisJZWNobyBvbmUgPmNvbnRlbnQgJiYKIAlienIgYWRkIGNvbnRlbnQgJiYKIAlienIgY29tbWl0IC1tIG9uZQogCSkgJiYKQEAgLTQxLDcgKzQ0LDcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1bGxpbmcnICcKIAkoCiAJY2QgYnpycmVwbyAmJgotCWVjaG8gdHdvID4gY29udGVudCAmJgorCWVjaG8gdHdvID5jb250ZW50ICYmCiAJYnpyIGNvbW1pdCAtbSB0d28KIAkpICYmCiAKQEAgLTUzLDEzICs1NiwxMyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaGluZycgJwogCSgKIAljZCBnaXRyZXBvICYmCi0JZWNobyB0aHJlZSA+IGNvbnRlbnQgJiYKKwllY2hvIHRocmVlID5jb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtYSAtbSB0aHJlZSAmJgogCWdpdCBwdXNoCiAJKSAmJgogCi0JZWNobyB0aHJlZSA+IGV4cGVjdGVkICYmCi0JY2F0IGJ6cnJlcG8vY29udGVudCA+IGFjdHVhbCAmJgorCWVjaG8gdGhyZWUgPmV4cGVjdGVkICYmCisJY2F0IGJ6cnJlcG8vY29udGVudCA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKQEAgLTY3LDE2ICs3MCwxNiBAQAogCSgKIAljZCBnaXRyZXBvICYmCiAJZ2l0IHB1bGwgJiYKLQlnaXQgbG9nIC0tZm9ybWF0PSIlcyIgLTEgb3JpZ2luL21hc3RlciA+IGFjdHVhbAorCWdpdCBsb2cgLS1mb3JtYXQ9IiVzIiAtMSBvcmlnaW4vbWFzdGVyID5hY3R1YWwKIAkpICYmCi0JZWNobyB0aHJlZSA+IGV4cGVjdGVkICYmCisJZWNobyB0aHJlZSA+ZXhwZWN0ZWQgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwgJiYKIAogCShjZCBnaXRyZXBvICYmIGdpdCBwdXNoICYmIGdpdCBwdWxsKSAmJgogCiAJKAogCWNkIGJ6cnJlcG8gJiYKLQllY2hvIGZvdXIgPiBjb250ZW50ICYmCisJZWNobyBmb3VyID5jb250ZW50ICYmCiAJYnpyIGNvbW1pdCAtbSBmb3VyCiAJKSAmJgogCkBAIC04NiwxOSArODksMTkgQEAKIAogCSgKIAljZCBnaXRyZXBvICYmCi0JZWNobyBmaXZlID4gY29udGVudCAmJgorCWVjaG8gZml2ZSA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLWEgLW0gZml2ZSAmJgogCWdpdCBwdXNoICYmIGdpdCBwdWxsCiAJKSAmJgogCiAJKGNkIGJ6cnJlcG8gJiYgYnpyIHJldmVydCkgJiYKIAotCWVjaG8gZml2ZSA+IGV4cGVjdGVkICYmCi0JY2F0IGJ6cnJlcG8vY29udGVudCA+IGFjdHVhbCAmJgorCWVjaG8gZml2ZSA+ZXhwZWN0ZWQgJiYKKwljYXQgYnpycmVwby9jb250ZW50ID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAotY2F0ID4gZXhwZWN0ZWQgPDxFT0YKK2NhdCA+ZXhwZWN0ZWQgPDxcRU9GCiAxMDA2NDQgYmxvYiA1NGY5ZDZkYTVjOTFkNTU2ZTZiNTQzNDBiMTMyNzU3MzA3MzAzMGFmCWNvbnRlbnQKIDEwMDc1NSBibG9iIDY4NzY5NTc5YzNlYWFkYmU1NTUzNzliOWMzNTM4ZTY2MjhiYWUxZWIJZXhlY3V0YWJsZQogMTIwMDAwIGJsb2IgNmI1ODRlOGVjZTU2MmViZmZjMTVkMzg4MDhjZDZiOThmYzNkOTdlYQlsaW5rCkBAIC0xMDcsNyArMTEwLDcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NwZWNpYWwgbW9kZXMnICcKIAkoCiAJY2QgYnpycmVwbyAmJgotCWVjaG8gZXhlYyA+IGV4ZWN1dGFibGUKKwllY2hvIGV4ZWMgPmV4ZWN1dGFibGUKIAljaG1vZCAreCBleGVjdXRhYmxlICYmCiAJYnpyIGFkZCBleGVjdXRhYmxlCiAJYnpyIGNvbW1pdCAtbSBleGVjICYmCkBAIC0xMjIsMjEgKzEyNSwyMSBAQAogCSgKIAljZCBnaXRyZXBvICYmCiAJZ2l0IHB1bGwKLQlnaXQgbHMtdHJlZSBIRUFEID4gLi4vYWN0dWFsCisJZ2l0IGxzLXRyZWUgSEVBRCA+Li4vYWN0dWFsCiAJKSAmJgogCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCiAKIAkoCiAJY2QgZ2l0cmVwbyAmJgotCWdpdCBjYXQtZmlsZSAtcCBIRUFEOmxpbmsgPiAuLi9hY3R1YWwKKwlnaXQgY2F0LWZpbGUgLXAgSEVBRDpsaW5rID4uLi9hY3R1YWwKIAkpICYmCiAKLQlwcmludGYgY29udGVudCA+IGV4cGVjdGVkICYmCisJcHJpbnRmIGNvbnRlbnQgPmV4cGVjdGVkICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKLWNhdCA+IGV4cGVjdGVkIDw8RU9GCitjYXQgPmV4cGVjdGVkIDw8XEVPRgogMTAwNjQ0IGJsb2IgNTRmOWQ2ZGE1YzkxZDU1NmU2YjU0MzQwYjEzMjc1NzMwNzMwMzBhZgljb250ZW50CiAxMDA3NTUgYmxvYiA2ODc2OTU3OWMzZWFhZGJlNTU1Mzc5YjljMzUzOGU2NjI4YmFlMWViCWV4ZWN1dGFibGUKIDEyMDAwMCBibG9iIDZiNTg0ZThlY2U1NjJlYmZmYzE1ZDM4ODA4Y2Q2Yjk4ZmMzZDk3ZWEJbGluawpAQCAtMTQ3LDggKzE1MCw4IEBACiAJKAogCWNkIGJ6cnJlcG8gJiYKIAlta2RpciBtb3ZlZGlyICYmCi0JZWNobyBvbmUgPiBtb3ZlZGlyL29uZSAmJgotCWVjaG8gdHdvID4gbW92ZWRpci90d28gJiYKKwllY2hvIG9uZSA+bW92ZWRpci9vbmUgJiYKKwllY2hvIHR3byA+bW92ZWRpci90d28gJiYKIAlienIgYWRkIG1vdmVkaXIgJiYKIAlienIgY29tbWl0IC1tIG1vdmVkaXIgJiYKIAlienIgbXYgbW92ZWRpciBtb3ZlZGlyLW5ldyAmJgpAQCAtMTU4LDcgKzE2MSw3IEBACiAJKAogCWNkIGdpdHJlcG8gJiYKIAlnaXQgcHVsbCAmJgotCWdpdCBscy10cmVlIEhFQUQgPiAuLi9hY3R1YWwKKwlnaXQgbHMtdHJlZSBIRUFEID4uLi9hY3R1YWwKIAkpICYmCiAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKQEAgLTE2Nyw3ICsxNzAsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZmVyZW50IGF1dGhvcnMnICcKIAkoCiAJY2QgYnpycmVwbyAmJgotCWVjaG8gam9obiA+PiBjb250ZW50ICYmCisJZWNobyBqb2huID4+Y29udGVudCAmJgogCWJ6ciBjb21taXQgLW0gam9obiBcCiAJICAtLWF1dGhvciAiSmFuZSBSZXkgPGpyZXlAZXhhbXBsZS5jb20+IiBcCiAJICAtLWF1dGhvciAiSm9obiBEb2UgPGpkb2VAZXhhbXBsZS5jb20+IgpAQCAtMTc2LDEwICsxNzksMTAgQEAKIAkoCiAJY2QgZ2l0cmVwbyAmJgogCWdpdCBwdWxsICYmCi0JZ2l0IHNob3cgLS1mb3JtYXQ9IiVhbiA8JWFlPiwgJWNuIDwlY2U+IiAtLXF1aWV0ID4gLi4vYWN0dWFsCisJZ2l0IHNob3cgLS1mb3JtYXQ9IiVhbiA8JWFlPiwgJWNuIDwlY2U+IiAtLXF1aWV0ID4uLi9hY3R1YWwKIAkpICYmCiAKLQllY2hvICJKYW5lIFJleSA8anJleUBleGFtcGxlLmNvbT4sIEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+IiA+IGV4cGVjdGVkICYmCisJZWNobyAiSmFuZSBSZXkgPGpyZXlAZXhhbXBsZS5jb20+LCBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPiIgPmV4cGVjdGVkICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKQEAgLTE5NiwxMiArMTk5LDEyIEBACiAJYnpyIGluaXQgYnpycmVwbyAmJgogCWNkIGJ6cnJlcG8gJiYKIAotCWVjaG8gdGVzdCA+PiAiw6Zyw7giICYmCisJZWNobyB0ZXN0ID4+IsOmcsO4IiAmJgogCWJ6ciBhZGQgIsOmcsO4IiAmJgotCWVjaG8gdGVzdCA+PiAiw7h+PyIgJiYKKwllY2hvIHRlc3QgPj4iw7h+PyIgJiYKIAlienIgYWRkICLDuH4/IiAmJgogCWJ6ciBjb21taXQgLW0gYWRkLXV0Zi04ICYmCi0JZWNobyB0ZXN0ID4+ICLDpnLDuCIgJiYKKwllY2hvIHRlc3QgPj4iw6Zyw7giICYmCiAJYnpyIGNvbW1pdCAtbSB0ZXN0LXV0Zi04ICYmCiAJYnpyIHJtICLDuH4/IiAmJgogCWJ6ciBtdiAiw6Zyw7giICLDuH4/IiAmJgpAQCAtMjExLDkgKzIxNCw5IEBACiAJKAogCWdpdCBjbG9uZSAiYnpyOjpienJyZXBvIiBnaXRyZXBvICYmCiAJY2QgZ2l0cmVwbyAmJgotCWdpdCAtYyBjb3JlLnF1b3RlcGF0aD1mYWxzZSBscy1maWxlcyA+IC4uL2FjdHVhbAorCWdpdCAtYyBjb3JlLnF1b3RlcGF0aD1mYWxzZSBscy1maWxlcyA+Li4vYWN0dWFsCiAJKSAmJgotCWVjaG8gIsO4fj8iID4gZXhwZWN0ZWQgJiYKKwllY2hvICLDuH4/IiA+ZXhwZWN0ZWQgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIApAQCAtMjI5LDcgKzIzMiw3IEBACiAJYnpyIGluaXQgYnpycmVwbyAmJgogCWNkIGJ6cnJlcG8gJiYKIAotCWVjaG8gb25lID4+IGNvbnRlbnQgJiYKKwllY2hvIG9uZSA+PmNvbnRlbnQgJiYKIAlienIgYWRkIGNvbnRlbnQgJiYKIAlienIgY29tbWl0IC1tIG9uZQogCSkgJiYKQEAgLTIzOCwxNSArMjQxLDE1IEBACiAJZ2l0IGNsb25lICJienI6OmJ6cnJlcG8iIGdpdHJlcG8gJiYKIAljZCBnaXRyZXBvICYmCiAKLQllY2hvIHRlc3QgPj4gIsOmcsO4IiAmJgorCWVjaG8gdGVzdCA+PiLDpnLDuCIgJiYKIAlnaXQgYWRkICLDpnLDuCIgJiYKIAlnaXQgY29tbWl0IC1tIHV0Zi04ICYmCiAKIAlnaXQgcHVzaAogCSkgJiYKIAotCShjZCBienJyZXBvICYmIGJ6ciBscyA+IC4uL2FjdHVhbCkgJiYKLQlwcmludGYgImNvbnRlbnRcbsOmcsO4XG4iID4gZXhwZWN0ZWQgJiYKKwkoY2QgYnpycmVwbyAmJiBienIgbHMgPi4uL2FjdHVhbCkgJiYKKwlwcmludGYgImNvbnRlbnRcbsOmcsO4XG4iID5leHBlY3RlZCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCkBAIC0yNTYsNyArMjU5LDcgQEAKIAkoCiAJYnpyIGluaXQgYnpycmVwbyAmJgogCWNkIGJ6cnJlcG8gJiYKLQllY2hvIG9uZSA+IGNvbnRlbnQgJiYKKwllY2hvIG9uZSA+Y29udGVudCAmJgogCWJ6ciBhZGQgY29udGVudCAmJgogCWJ6ciBjb21taXQgLW0gb25lCiAJKSAmJgpAQCAtMjY1LDI3ICsyNjgsMjcgQEAKIAogCSgKIAljZCBienJyZXBvICYmCi0JZWNobyB0d28gPiBjb250ZW50ICYmCisJZWNobyB0d28gPmNvbnRlbnQgJiYKIAlienIgY29tbWl0IC1tIHR3bwogCSkgJiYKIAogCSgKIAljZCBnaXRyZXBvICYmCi0JZWNobyB0aHJlZSA+IGNvbnRlbnQgJiYKKwllY2hvIHRocmVlID5jb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtYSAtbSB0aHJlZSAmJgogCWdpdCBmZXRjaCAmJgogCWdpdCBtZXJnZSBvcmlnaW4vbWFzdGVyIHx8IHRydWUgJiYKLQllY2hvIHRocmVlID4gY29udGVudCAmJgorCWVjaG8gdGhyZWUgPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1hIC0tbm8tZWRpdCAmJgogCWdpdCBwdXNoCiAJKSAmJgogCi0JZWNobyB0aHJlZSA+IGV4cGVjdGVkICYmCi0JY2F0IGJ6cnJlcG8vY29udGVudCA+IGFjdHVhbCAmJgorCWVjaG8gdGhyZWUgPmV4cGVjdGVkICYmCisJY2F0IGJ6cnJlcG8vY29udGVudCA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKLWNhdCA+IGV4cGVjdGVkIDw8RU9GCitjYXQgPmV4cGVjdGVkIDw8XEVPRgogb3JpZ2luL0hFQUQKIG9yaWdpbi9icmFuY2gKIG9yaWdpbi90cnVuawpAQCAtMjk5LDcgKzMwMiw3IEBACiAJKAogCWJ6ciBpbml0IGJ6cnJlcG8vdHJ1bmsgJiYKIAljZCBienJyZXBvL3RydW5rICYmCi0JZWNobyBvbmUgPj4gY29udGVudCAmJgorCWVjaG8gb25lID4+Y29udGVudCAmJgogCWJ6ciBhZGQgY29udGVudCAmJgogCWJ6ciBjb21taXQgLW0gb25lCiAJKSAmJgpAQCAtMzA3LDE0ICszMTAsMTQgQEAKIAkoCiAJYnpyIGJyYW5jaCBienJyZXBvL3RydW5rIGJ6cnJlcG8vYnJhbmNoICYmCiAJY2QgYnpycmVwby9icmFuY2ggJiYKLQllY2hvIHR3byA+PiBjb250ZW50ICYmCisJZWNobyB0d28gPj5jb250ZW50ICYmCiAJYnpyIGNvbW1pdCAtbSBvbmUKIAkpICYmCiAKIAkoCiAJZ2l0IGNsb25lICJienI6OmJ6cnJlcG8iIGdpdHJlcG8gJiYKIAljZCBnaXRyZXBvICYmCi0JZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdCAiJShyZWZuYW1lOnNob3J0KSIgcmVmcy9yZW1vdGVzL29yaWdpbiA+IC4uL2FjdHVhbAorCWdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQgIiUocmVmbmFtZTpzaG9ydCkiIHJlZnMvcmVtb3Rlcy9vcmlnaW4gPi4uL2FjdHVhbAogCSkgJiYKIAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbApAQCAtMzI3LDExICszMzAsMTEgQEAKIAlienIgaW5pdCBienJyZXBvICYmCiAJY2QgYnpycmVwbyAmJgogCi0JZWNobyBvbmUgPj4gY29udGVudCAmJgorCWVjaG8gb25lID4+Y29udGVudCAmJgogCWJ6ciBhZGQgY29udGVudCAmJgogCWJ6ciBjb21taXQgLW0gb25lICYmCiAKLQllY2hvIHR3byA+PiBjb250ZW50ICYmCisJZWNobyB0d28gPj5jb250ZW50ICYmCiAJYnpyIGNvbW1pdCAtbSB0d28KIAkpICYmCiAKQEAgLTM0MSwyMSArMzQ0LDUxIEBACiAJY2QgYnpycmVwbyAmJgogCWJ6ciB1bmNvbW1pdCAtLWZvcmNlICYmCiAKLQllY2hvIHRocmVlID4+IGNvbnRlbnQgJiYKKwllY2hvIHRocmVlID4+Y29udGVudCAmJgogCWJ6ciBjb21taXQgLW0gdGhyZWUgJiYKIAotCWVjaG8gZm91ciA+PiBjb250ZW50ICYmCisJZWNobyBmb3VyID4+Y29udGVudCAmJgogCWJ6ciBjb21taXQgLW0gZm91ciAmJgotCWJ6ciBsb2cgLS1saW5lIHwgc2VkIC1lICJzL15bMC05XVswLTldKjogLy8iID4gLi4vZXhwZWN0ZWQKKwlienIgbG9nIC0tbGluZSB8IHNlZCAtZSAicy9eWzAtOV1bMC05XSo6IC8vIiA+Li4vZXhwZWN0ZWQKIAkpICYmCiAKIAkoCiAJY2QgZ2l0cmVwbyAmJgogCWdpdCBmZXRjaCAmJgotCWdpdCBsb2cgLS1mb3JtYXQ9IiVhbiAlYWQgJXMiIC0tZGF0ZT1zaG9ydCBvcmlnaW4vbWFzdGVyID4gLi4vYWN0dWFsCisJZ2l0IGxvZyAtLWZvcm1hdD0iJWFuICVhZCAlcyIgLS1kYXRlPXNob3J0IG9yaWdpbi9tYXN0ZXIgPi4uL2FjdHVhbAogCSkgJiYKIAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdleHBvcnQgdXRmLTggYXV0aG9ycycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIGJ6cnJlcG8gZ2l0cmVwbyAmJiBMQ19BTEw9QyAmJiB1bnNldCBHSVRfQ09NTUlUVEVSX05BTUUiICYmCisKKwlMQ19BTEw9ZW5fVVMuVVRGLTgKKwlleHBvcnQgTENfQUxMCisKKwlHSVRfQ09NTUlUVEVSX05BTUU9Ikdyw6lnb2lyZSIKKwlleHBvcnQgR0lUX0NPTU1JVFRFUl9OQU1FCisKKwlienIgaW5pdCBienJyZXBvICYmCisKKwkoCisJZ2l0IGluaXQgZ2l0cmVwbyAmJgorCWNkIGdpdHJlcG8gJiYKKwllY2hvIGdyZWcgPj5jb250ZW50ICYmCisJZ2l0IGFkZCBjb250ZW50ICYmCisJZ2l0IGNvbW1pdCAtbSBvbmUgJiYKKwlnaXQgcmVtb3RlIGFkZCBienIgImJ6cjo6Li4vYnpycmVwbyIgJiYKKwlnaXQgcHVzaCBienIgbWFzdGVyCisJKSAmJgorCisJKAorCWNkIGJ6cnJlcG8gJiYKKwlienIgbG9nIHwgZ3JlcCAiXmNvbW1pdHRlcjogIiA+Li4vYWN0dWFsCisJKSAmJgorCisJZWNobyAiY29tbWl0dGVyOiBHcsOpZ29pcmUgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4iID5leHBlY3RlZCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcmVtb3RlLWhlbHBlcnMvdGVzdC1oZy1iaWRpLnNoIGIvY29udHJpYi9yZW1vdGUtaGVscGVycy90ZXN0LWhnLWJpZGkuc2gKaW5kZXggZjgzZDY3ZC4uZTI0YzUxZCAxMDA3NTUKLS0tIGEvY29udHJpYi9yZW1vdGUtaGVscGVycy90ZXN0LWhnLWJpZGkuc2gKKysrIGIvY29udHJpYi9yZW1vdGUtaGVscGVycy90ZXN0LWhnLWJpZGkuc2gKQEAgLTEwLDEyICsxMCwxNCBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAotaWYgISB0ZXN0X2hhdmVfcHJlcmVxIFBZVEhPTjsgdGhlbgoraWYgISB0ZXN0X2hhdmVfcHJlcmVxIFBZVEhPTgordGhlbgogCXNraXBfYWxsPSdza2lwcGluZyByZW1vdGUtaGcgdGVzdHM7IHB5dGhvbiBub3QgYXZhaWxhYmxlJwogCXRlc3RfZG9uZQogZmkKIAotaWYgISBweXRob24gLWMgJ2ltcG9ydCBtZXJjdXJpYWwnOyB0aGVuCitpZiAhIHB5dGhvbiAtYyAnaW1wb3J0IG1lcmN1cmlhbCcKK3RoZW4KIAlza2lwX2FsbD0nc2tpcHBpbmcgcmVtb3RlLWhnIHRlc3RzOyBtZXJjdXJpYWwgbm90IGF2YWlsYWJsZScKIAl0ZXN0X2RvbmUKIGZpCkBAIC00Myw3ICs0NSw3IEBACiAJZ2l0IGNoZWNrb3V0IC1xIC1iIHRtcCAmJgogCWdpdCBmZXRjaCAtcSAiaGc6Oi4uLyQxIiAncmVmcy90YWdzLyo6cmVmcy90YWdzLyonICdyZWZzL2hlYWRzLyo6cmVmcy9oZWFkcy8qJyAmJgogCWdpdCBjaGVja291dCAtcSBAey0xfSAmJgotCWdpdCBicmFuY2ggLXEgLUQgdG1wIDI+IC9kZXYvbnVsbCB8fCB0cnVlCisJZ2l0IGJyYW5jaCAtcSAtRCB0bXAgMj4vZGV2L251bGwgfHwgdHJ1ZQogCSkKIH0KIApAQCAtNjIsNyArNjQsNyBAQAogCWVjaG8gInRhZyA9IC1kIFwiMCAwXCIiCiAJZWNobyAiW2V4dGVuc2lvbnNdIgogCWVjaG8gImdyYXBobG9nID0iCi0JKSA+PiAiJEhPTUUiLy5oZ3JjICYmCisJKSA+PiIkSE9NRSIvLmhncmMgJiYKIAlnaXQgY29uZmlnIC0tZ2xvYmFsIHJlbW90ZS1oZy5oZy1naXQtY29tcGF0IHRydWUKIAlnaXQgY29uZmlnIC0tZ2xvYmFsIHJlbW90ZS1oZy50cmFjay1icmFuY2hlcyB0cnVlCiAKQEAgLTgxLDIyICs4MywyMiBAQAogCWdpdCBpbml0IC1xIGdpdHJlcG8gJiYKIAljZCBnaXRyZXBvICYmCiAKLQllY2hvIGFscGhhID4gYWxwaGEgJiYKKwllY2hvIGFscGhhID5hbHBoYSAmJgogCWdpdCBhZGQgYWxwaGEgJiYKIAlnaXQgY29tbWl0IC1tICJhZGQgw6RscGjDoCIgJiYKIAogCUdJVF9BVVRIT1JfTkFNRT0idMOpc3Qgw6huY8O2ZMOubmciICYmCiAJZXhwb3J0IEdJVF9BVVRIT1JfTkFNRSAmJgotCWVjaG8gYmV0YSA+IGJldGEgJiYKKwllY2hvIGJldGEgPmJldGEgJiYKIAlnaXQgYWRkIGJldGEgJiYKIAlnaXQgY29tbWl0IC1tICJhZGQgYmV0YSIgJiYKIAotCWVjaG8gZ2FtbWEgPiBnYW1tYSAmJgorCWVjaG8gZ2FtbWEgPmdhbW1hICYmCiAJZ2l0IGFkZCBnYW1tYSAmJgogCWdpdCBjb21taXQgLW0gImFkZCBnw6RtbcOiIiAmJgogCiAJOiBUT0RPIGdpdCBjb25maWcgaTE4bi5jb21taXRlbmNvZGluZyBsYXRpbi0xICYmCi0JZWNobyBkZWx0YSA+IGRlbHRhICYmCisJZWNobyBkZWx0YSA+ZGVsdGEgJiYKIAlnaXQgYWRkIGRlbHRhICYmCiAJZ2l0IGNvbW1pdCAtbSAiYWRkIGTDqWx0w6AiCiAJKSAmJgpAQCAtMTA1LDggKzEwNyw4IEBACiAJZ2l0X2Nsb25lIGhncmVwbyBnaXRyZXBvMiAmJgogCWhnX2Nsb25lIGdpdHJlcG8yIGhncmVwbzIgJiYKIAotCUhHRU5DT0RJTkc9dXRmLTggaGdfbG9nIGhncmVwbyA+IGV4cGVjdGVkICYmCi0JSEdFTkNPRElORz11dGYtOCBoZ19sb2cgaGdyZXBvMiA+IGFjdHVhbCAmJgorCUhHRU5DT0RJTkc9dXRmLTggaGdfbG9nIGhncmVwbyA+ZXhwZWN0ZWQgJiYKKwlIR0VOQ09ESU5HPXV0Zi04IGhnX2xvZyBoZ3JlcG8yID5hY3R1YWwgJiYKIAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtMTE3LDE0ICsxMTksMTQgQEAKIAkoCiAJZ2l0IGluaXQgLXEgZ2l0cmVwbyAmJgogCWNkIGdpdHJlcG8gJiYKLQllY2hvIGFscGhhID4gYWxwaGEgJiYKKwllY2hvIGFscGhhID5hbHBoYSAmJgogCWdpdCBhZGQgYWxwaGEgJiYKIAlnaXQgY29tbWl0IC1tICJhZGQgYWxwaGEiICYmCi0JZWNobyBiZXRhID4gYmV0YSAmJgorCWVjaG8gYmV0YSA+YmV0YSAmJgogCWdpdCBhZGQgYmV0YSAmJgogCWdpdCBjb21taXQgLW0gImFkZCBiZXRhIgogCW1rZGlyIGZvbyAmJgotCWVjaG8gYmxhaCA+IGZvby9iYXIgJiYKKwllY2hvIGJsYWggPmZvby9iYXIgJiYKIAlnaXQgYWRkIGZvbyAmJgogCWdpdCBjb21taXQgLW0gImFkZCBmb28iICYmCiAJZ2l0IHJtIGFscGhhICYmCkBAIC0xMzcsOCArMTM5LDggQEAKIAlnaXRfY2xvbmUgaGdyZXBvIGdpdHJlcG8yICYmCiAJaGdfY2xvbmUgZ2l0cmVwbzIgaGdyZXBvMiAmJgogCi0JaGdfbG9nIGhncmVwbyA+IGV4cGVjdGVkICYmCi0JaGdfbG9nIGhncmVwbzIgPiBhY3R1YWwgJiYKKwloZ19sb2cgaGdyZXBvID5leHBlY3RlZCAmJgorCWhnX2xvZyBoZ3JlcG8yID5hY3R1YWwgJiYKIAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtMTUwLDEyICsxNTIsMTIgQEAKIAlnaXQgaW5pdCAtcSBnaXRyZXBvICYmCiAJY2QgZ2l0cmVwbyAmJgogCWdpdCBjb25maWcgcmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCBpZ25vcmUgJiYKLQllY2hvIGFscGhhID4gYWxwaGEgJiYKKwllY2hvIGFscGhhID5hbHBoYSAmJgogCWdpdCBhZGQgYWxwaGEgJiYKIAlnaXQgY29tbWl0IC1tICJhZGQgYWxwaGEiICYmCiAJZ2l0IHRhZyBhbHBoYSAmJgogCi0JZWNobyBiZXRhID4gYmV0YSAmJgorCWVjaG8gYmV0YSA+YmV0YSAmJgogCWdpdCBhZGQgYmV0YSAmJgogCWdpdCBjb21taXQgLW0gImFkZCBiZXRhIiAmJgogCWdpdCB0YWcgLWEgLW0gImFkZGVkIHRhZyBiZXRhIiBiZXRhCkBAIC0xNjUsOCArMTY3LDggQEAKIAlnaXRfY2xvbmUgaGdyZXBvIGdpdHJlcG8yICYmCiAJaGdfY2xvbmUgZ2l0cmVwbzIgaGdyZXBvMiAmJgogCi0JaGdfbG9nIGhncmVwbyA+IGV4cGVjdGVkICYmCi0JaGdfbG9nIGhncmVwbzIgPiBhY3R1YWwgJiYKKwloZ19sb2cgaGdyZXBvID5leHBlY3RlZCAmJgorCWhnX2xvZyBoZ3JlcG8yID5hY3R1YWwgJiYKIAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtMTc4LDcgKzE4MCw3IEBACiAJZ2l0IGluaXQgLXEgZ2l0cmVwbyAmJgogCWNkIGdpdHJlcG8gJiYKIAotCWVjaG8gYWxwaGEgPiBhbHBoYSAmJgorCWVjaG8gYWxwaGEgPmFscGhhICYmCiAJZ2l0IGFkZCBhbHBoYSAmJgogCWdpdCBjb21taXQgLXEgLW0gImFkZCBhbHBoYSIgJiYKIAlnaXQgY2hlY2tvdXQgLXEgLWIgbm90LW1hc3RlcgpAQCAtMjAxLDggKzIwMyw4IEBACiAJOiBCYWNrIHRvIHRoZSBjb21tb24gcmV2aXNpb24gJiYKIAkoY2QgaGdyZXBvICYmIGhnIGNoZWNrb3V0IGRlZmF1bHQpICYmCiAKLQloZ19sb2cgaGdyZXBvID4gZXhwZWN0ZWQgJiYKLQloZ19sb2cgaGdyZXBvMiA+IGFjdHVhbCAmJgorCWhnX2xvZyBoZ3JlcG8gPmV4cGVjdGVkICYmCisJaGdfbG9nIGhncmVwbzIgPmFjdHVhbCAmJgogCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCkBAIC0yMTQsNyArMjE2LDcgQEAKIAlnaXQgaW5pdCAtcSBnaXRyZXBvICYmCiAJY2QgZ2l0cmVwbyAmJgogCi0JZWNobyBhbHBoYSA+IGFscGhhICYmCisJZWNobyBhbHBoYSA+YWxwaGEgJiYKIAlnaXQgYWRkIGFscGhhICYmCiAJZ2l0IGNvbW1pdCAtbSAiYWRkIGFscGhhIiAmJgogCWdpdCBjaGVja291dCAtcSAtYiBub3QtbWFzdGVyCkBAIC0yMzEsOCArMjMzLDggQEAKIAloZ19wdXNoIGhncmVwbyBnaXRyZXBvICYmCiAJaGdfY2xvbmUgZ2l0cmVwbyBoZ3JlcG8yICYmCiAKLQloZ19sb2cgaGdyZXBvID4gZXhwZWN0ZWQgJiYKLQloZ19sb2cgaGdyZXBvMiA+IGFjdHVhbCAmJgorCWhnX2xvZyBoZ3JlcG8gPmV4cGVjdGVkICYmCisJaGdfbG9nIGhncmVwbzIgPmFjdHVhbCAmJgogCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCmRpZmYgLS1naXQgYS9jb250cmliL3JlbW90ZS1oZWxwZXJzL3Rlc3QtaGctaGctZ2l0LnNoIGIvY29udHJpYi9yZW1vdGUtaGVscGVycy90ZXN0LWhnLWhnLWdpdC5zaAppbmRleCAyMjE5Mjg0Li42ZGNkOTVkIDEwMDc1NQotLS0gYS9jb250cmliL3JlbW90ZS1oZWxwZXJzL3Rlc3QtaGctaGctZ2l0LnNoCisrKyBiL2NvbnRyaWIvcmVtb3RlLWhlbHBlcnMvdGVzdC1oZy1oZy1naXQuc2gKQEAgLTEwLDE3ICsxMCwyMCBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAotaWYgISB0ZXN0X2hhdmVfcHJlcmVxIFBZVEhPTjsgdGhlbgoraWYgISB0ZXN0X2hhdmVfcHJlcmVxIFBZVEhPTgordGhlbgogCXNraXBfYWxsPSdza2lwcGluZyByZW1vdGUtaGcgdGVzdHM7IHB5dGhvbiBub3QgYXZhaWxhYmxlJwogCXRlc3RfZG9uZQogZmkKIAotaWYgISBweXRob24gLWMgJ2ltcG9ydCBtZXJjdXJpYWwnOyB0aGVuCitpZiAhIHB5dGhvbiAtYyAnaW1wb3J0IG1lcmN1cmlhbCcKK3RoZW4KIAlza2lwX2FsbD0nc2tpcHBpbmcgcmVtb3RlLWhnIHRlc3RzOyBtZXJjdXJpYWwgbm90IGF2YWlsYWJsZScKIAl0ZXN0X2RvbmUKIGZpCiAKLWlmICEgcHl0aG9uIC1jICdpbXBvcnQgaGdnaXQnOyB0aGVuCitpZiAhIHB5dGhvbiAtYyAnaW1wb3J0IGhnZ2l0JwordGhlbgogCXNraXBfYWxsPSdza2lwcGluZyByZW1vdGUtaGcgdGVzdHM7IGhnLWdpdCBub3QgYXZhaWxhYmxlJwogCXRlc3RfZG9uZQogZmkKQEAgLTY2LDcgKzY5LDcgQEAKIAlnaXQgZmV0Y2ggLXEgImhnOjouLi8kMSIgJ3JlZnMvdGFncy8qOnJlZnMvdGFncy8qJyAncmVmcy9oZWFkcy8qOnJlZnMvaGVhZHMvKicgJiYKIAlnaXQgYnJhbmNoIC1EIGRlZmF1bHQgJiYKIAlnaXQgY2hlY2tvdXQgLXEgQHstMX0gJiYKLQlnaXQgYnJhbmNoIC1xIC1EIHRtcCAyPiAvZGV2L251bGwgfHwgdHJ1ZQorCWdpdCBicmFuY2ggLXEgLUQgdG1wIDI+L2Rldi9udWxsIHx8IHRydWUKIAkpCiB9CiAKQEAgLTEwMCw3ICsxMDMsNyBAQAogCWVjaG8gImhnZXh0LmJvb2ttYXJrcyA9IgogCWVjaG8gImhnZ2l0ID0iCiAJZWNobyAiZ3JhcGhsb2cgPSIKLQkpID4+ICIkSE9NRSIvLmhncmMgJiYKKwkpID4+IiRIT01FIi8uaGdyYyAmJgogCWdpdCBjb25maWcgLS1nbG9iYWwgcmVjZWl2ZS5kZW55Y3VycmVudGJyYW5jaCB3YXJuCiAJZ2l0IGNvbmZpZyAtLWdsb2JhbCByZW1vdGUtaGcuaGctZ2l0LWNvbXBhdCB0cnVlCiAJZ2l0IGNvbmZpZyAtLWdsb2JhbCByZW1vdGUtaGcudHJhY2stYnJhbmNoZXMgZmFsc2UKQEAgLTEyMSw3ICsxMjQsNyBAQAogCSgKIAlnaXQgaW5pdCAtcSBnaXRyZXBvICYmCiAJY2QgZ2l0cmVwbyAmJgotCWVjaG8gYWxwaGEgPiBhbHBoYSAmJgorCWVjaG8gYWxwaGEgPmFscGhhICYmCiAJY2htb2QgMDY0NCBhbHBoYSAmJgogCWdpdCBhZGQgYWxwaGEgJiYKIAlnaXQgY29tbWl0IC1tICJhZGQgYWxwaGEiICYmCkBAIC0xMzMsMTcgKzEzNiwxOCBAQAogCWdpdCBjb21taXQgLW0gImNsZWFyIGV4ZWN1dGFibGUgYml0IgogCSkgJiYKIAotCWZvciB4IGluIGhnIGdpdDsgZG8KKwlmb3IgeCBpbiBoZyBnaXQKKwlkbwogCQkoCiAJCWhnX2Nsb25lXyR4IGdpdHJlcG8gaGdyZXBvLSR4ICYmCiAJCWNkIGhncmVwby0keCAmJgogCQloZ19sb2cgLiAmJgogCQloZyBtYW5pZmVzdCAtciAxIC12ICYmCiAJCWhnIG1hbmlmZXN0IC12Ci0JCSkgPiBvdXRwdXQtJHggJiYKKwkJKSA+Im91dHB1dC0keCIgJiYKIAogCQlnaXRfY2xvbmVfJHggaGdyZXBvLSR4IGdpdHJlcG8yLSR4ICYmCi0JCWdpdF9sb2cgZ2l0cmVwbzItJHggPiBsb2ctJHgKKwkJZ2l0X2xvZyBnaXRyZXBvMi0keCA+ImxvZy0keCIKIAlkb25lICYmCiAKIAl0ZXN0X2NtcCBvdXRwdXQtaGcgb3V0cHV0LWdpdCAmJgpAQCAtMTU2LDcgKzE2MCw3IEBACiAJKAogCWdpdCBpbml0IC1xIGdpdHJlcG8gJiYKIAljZCBnaXRyZXBvICYmCi0JZWNobyBhbHBoYSA+IGFscGhhICYmCisJZWNobyBhbHBoYSA+YWxwaGEgJiYKIAlnaXQgYWRkIGFscGhhICYmCiAJZ2l0IGNvbW1pdCAtbSAiYWRkIGFscGhhIiAmJgogCWxuIC1zIGFscGhhIGJldGEgJiYKQEAgLTE2NCwxNiArMTY4LDE3IEBACiAJZ2l0IGNvbW1pdCAtbSAiYWRkIGJldGEiCiAJKSAmJgogCi0JZm9yIHggaW4gaGcgZ2l0OyBkbworCWZvciB4IGluIGhnIGdpdAorCWRvCiAJCSgKIAkJaGdfY2xvbmVfJHggZ2l0cmVwbyBoZ3JlcG8tJHggJiYKIAkJY2QgaGdyZXBvLSR4ICYmCiAJCWhnX2xvZyAuICYmCiAJCWhnIG1hbmlmZXN0IC12Ci0JCSkgPiBvdXRwdXQtJHggJiYKKwkJKSA+Im91dHB1dC0keCIgJiYKIAogCQlnaXRfY2xvbmVfJHggaGdyZXBvLSR4IGdpdHJlcG8yLSR4ICYmCi0JCWdpdF9sb2cgZ2l0cmVwbzItJHggPiBsb2ctJHgKKwkJZ2l0X2xvZyBnaXRyZXBvMi0keCA+ImxvZy0keCIKIAlkb25lICYmCiAKIAl0ZXN0X2NtcCBvdXRwdXQtaGcgb3V0cHV0LWdpdCAmJgpAQCAtMTg2LDI4ICsxOTEsMjkgQEAKIAkoCiAJaGcgaW5pdCBoZ3JlcG8xICYmCiAJY2QgaGdyZXBvMSAmJgotCWVjaG8gQSA+IGFmaWxlICYmCisJZWNobyBBID5hZmlsZSAmJgogCWhnIGFkZCBhZmlsZSAmJgogCWhnIGNpIC1tICJvcmlnaW4iICYmCiAKLQllY2hvIEIgPiBhZmlsZSAmJgorCWVjaG8gQiA+YWZpbGUgJiYKIAloZyBjaSAtbSAiQS0+QiIgJiYKIAogCWhnIHVwIC1yMCAmJgotCWVjaG8gQyA+IGFmaWxlICYmCisJZWNobyBDID5hZmlsZSAmJgogCWhnIGNpIC1tICJBLT5DIiAmJgogCiAJaGcgbWVyZ2UgLXIxICYmCi0JZWNobyBDID4gYWZpbGUgJiYKKwllY2hvIEMgPmFmaWxlICYmCiAJaGcgcmVzb2x2ZSAtbSBhZmlsZSAmJgogCWhnIGNpIC1tICJtZXJnZSB0byBDIgogCSkgJiYKIAotCWZvciB4IGluIGhnIGdpdDsgZG8KKwlmb3IgeCBpbiBoZyBnaXQKKwlkbwogCQlnaXRfY2xvbmVfJHggaGdyZXBvMSBnaXRyZXBvLSR4ICYmCiAJCWhnX2Nsb25lXyR4IGdpdHJlcG8tJHggaGdyZXBvMi0keCAmJgotCQloZ19sb2cgaGdyZXBvMi0keCA+IGhnLWxvZy0keCAmJgotCQlnaXRfbG9nIGdpdHJlcG8tJHggPiBnaXQtbG9nLSR4CisJCWhnX2xvZyBoZ3JlcG8yLSR4ID4iaGctbG9nLSR4IiAmJgorCQlnaXRfbG9nIGdpdHJlcG8tJHggPiJnaXQtbG9nLSR4IgogCWRvbmUgJiYKIAogCXRlc3RfY21wIGhnLWxvZy1oZyBoZy1sb2ctZ2l0ICYmCkBAIC0yMjAsMjggKzIyNiwyOSBAQAogCSgKIAloZyBpbml0IGhncmVwbzEgJiYKIAljZCBoZ3JlcG8xICYmCi0JZWNobyBBID4gYWZpbGUgJiYKKwllY2hvIEEgPmFmaWxlICYmCiAJaGcgYWRkIGFmaWxlICYmCiAJaGcgY2kgLW0gIm9yaWdpbiIgJiYKIAotCWVjaG8gQiA+IGFmaWxlICYmCisJZWNobyBCID5hZmlsZSAmJgogCWhnIGNpIC1tICJBLT5CIiAmJgogCiAJaGcgdXAgLXIwICYmCi0JZWNobyBDID4gYWZpbGUgJiYKKwllY2hvIEMgPmFmaWxlICYmCiAJaGcgY2kgLW0gIkEtPkMiICYmCiAKIAloZyBtZXJnZSAtcjEgfHwgdHJ1ZSAmJgotCWVjaG8gQiA+IGFmaWxlICYmCisJZWNobyBCID5hZmlsZSAmJgogCWhnIHJlc29sdmUgLW0gYWZpbGUgJiYKIAloZyBjaSAtbSAibWVyZ2UgdG8gQiIKIAkpICYmCiAKLQlmb3IgeCBpbiBoZyBnaXQ7IGRvCisJZm9yIHggaW4gaGcgZ2l0CisJZG8KIAkJZ2l0X2Nsb25lXyR4IGhncmVwbzEgZ2l0cmVwby0keCAmJgogCQloZ19jbG9uZV8keCBnaXRyZXBvLSR4IGhncmVwbzItJHggJiYKLQkJaGdfbG9nIGhncmVwbzItJHggPiBoZy1sb2ctJHggJiYKLQkJZ2l0X2xvZyBnaXRyZXBvLSR4ID4gZ2l0LWxvZy0keAorCQloZ19sb2cgaGdyZXBvMi0keCA+ImhnLWxvZy0keCIgJiYKKwkJZ2l0X2xvZyBnaXRyZXBvLSR4ID4iZ2l0LWxvZy0keCIKIAlkb25lICYmCiAKIAl0ZXN0X2NtcCBoZy1sb2ctaGcgaGctbG9nLWdpdCAmJgpAQCAtMjU0LDI5ICsyNjEsMzAgQEAKIAkoCiAJaGcgaW5pdCBoZ3JlcG8xICYmCiAJY2QgaGdyZXBvMSAmJgotCWVjaG8gQSA+IGFmaWxlICYmCisJZWNobyBBID5hZmlsZSAmJgogCWhnIGFkZCBhZmlsZSAmJgogCWhnIGNpIC1tICJvcmlnaW4iICYmCiAKLQllY2hvIEIgPiBhZmlsZSAmJgorCWVjaG8gQiA+YWZpbGUgJiYKIAloZyBjaSAtbSAiQS0+QiIgJiYKIAotCWVjaG8gQyA+IGFmaWxlICYmCisJZWNobyBDID5hZmlsZSAmJgogCWhnIGNpIC1tICJCLT5DIiAmJgogCiAJaGcgdXAgLXIwICYmCi0JZWNobyBDID4gYWZpbGUgJiYKKwllY2hvIEMgPmFmaWxlICYmCiAJaGcgY2kgLW0gIkEtPkMiICYmCiAKIAloZyBtZXJnZSAtcjIgfHwgdHJ1ZSAmJgogCWhnIGNpIC1tICJtZXJnZSIKIAkpICYmCiAKLQlmb3IgeCBpbiBoZyBnaXQ7IGRvCisJZm9yIHggaW4gaGcgZ2l0CisJZG8KIAkJZ2l0X2Nsb25lXyR4IGhncmVwbzEgZ2l0cmVwby0keCAmJgogCQloZ19jbG9uZV8keCBnaXRyZXBvLSR4IGhncmVwbzItJHggJiYKLQkJaGdfbG9nIGhncmVwbzItJHggPiBoZy1sb2ctJHggJiYKLQkJZ2l0X2xvZyBnaXRyZXBvLSR4ID4gZ2l0LWxvZy0keAorCQloZ19sb2cgaGdyZXBvMi0keCA+ImhnLWxvZy0keCIgJiYKKwkJZ2l0X2xvZyBnaXRyZXBvLSR4ID4iZ2l0LWxvZy0keCIKIAlkb25lICYmCiAKIAl0ZXN0X2NtcCBoZy1sb2ctaGcgaGctbG9nLWdpdCAmJgpAQCAtMjkwLDMyICsyOTgsMzMgQEAKIAlnaXQgaW5pdCAtcSBnaXRyZXBvICYmCiAJY2QgZ2l0cmVwbyAmJgogCi0JZWNobyBhbHBoYSA+IGFscGhhICYmCisJZWNobyBhbHBoYSA+YWxwaGEgJiYKIAlnaXQgYWRkIGFscGhhICYmCiAJZ2l0IGNvbW1pdCAtbSAiYWRkIMOkbHBow6AiICYmCiAKIAlHSVRfQVVUSE9SX05BTUU9InTDqXN0IMOobmPDtmTDrm5nIiAmJgogCWV4cG9ydCBHSVRfQVVUSE9SX05BTUUgJiYKLQllY2hvIGJldGEgPiBiZXRhICYmCisJZWNobyBiZXRhID5iZXRhICYmCiAJZ2l0IGFkZCBiZXRhICYmCiAJZ2l0IGNvbW1pdCAtbSAiYWRkIGJldGEiICYmCiAKLQllY2hvIGdhbW1hID4gZ2FtbWEgJiYKKwllY2hvIGdhbW1hID5nYW1tYSAmJgogCWdpdCBhZGQgZ2FtbWEgJiYKIAlnaXQgY29tbWl0IC1tICJhZGQgZ8OkbW3DoiIgJiYKIAogCTogVE9ETyBnaXQgY29uZmlnIGkxOG4uY29tbWl0ZW5jb2RpbmcgbGF0aW4tMSAmJgotCWVjaG8gZGVsdGEgPiBkZWx0YSAmJgorCWVjaG8gZGVsdGEgPmRlbHRhICYmCiAJZ2l0IGFkZCBkZWx0YSAmJgogCWdpdCBjb21taXQgLW0gImFkZCBkw6lsdMOgIgogCSkgJiYKIAotCWZvciB4IGluIGhnIGdpdDsgZG8KKwlmb3IgeCBpbiBoZyBnaXQKKwlkbwogCQloZ19jbG9uZV8keCBnaXRyZXBvIGhncmVwby0keCAmJgogCQlnaXRfY2xvbmVfJHggaGdyZXBvLSR4IGdpdHJlcG8yLSR4ICYmCiAKLQkJSEdFTkNPRElORz11dGYtOCBoZ19sb2cgaGdyZXBvLSR4ID4gaGctbG9nLSR4ICYmCi0JCWdpdF9sb2cgZ2l0cmVwbzItJHggPiBnaXQtbG9nLSR4CisJCUhHRU5DT0RJTkc9dXRmLTggaGdfbG9nIGhncmVwby0keCA+ImhnLWxvZy0keCIgJiYKKwkJZ2l0X2xvZyBnaXRyZXBvMi0keCA+ImdpdC1sb2ctJHgiCiAJZG9uZSAmJgogCiAJdGVzdF9jbXAgaGctbG9nLWhnIGhnLWxvZy1naXQgJiYKQEAgLTMyOCwxNCArMzM3LDE0IEBACiAJKAogCWdpdCBpbml0IC1xIGdpdHJlcG8gJiYKIAljZCBnaXRyZXBvICYmCi0JZWNobyBhbHBoYSA+IGFscGhhICYmCisJZWNobyBhbHBoYSA+YWxwaGEgJiYKIAlnaXQgYWRkIGFscGhhICYmCiAJZ2l0IGNvbW1pdCAtbSAiYWRkIGFscGhhIiAmJgotCWVjaG8gYmV0YSA+IGJldGEgJiYKKwllY2hvIGJldGEgPmJldGEgJiYKIAlnaXQgYWRkIGJldGEgJiYKIAlnaXQgY29tbWl0IC1tICJhZGQgYmV0YSIKIAlta2RpciBmb28gJiYKLQllY2hvIGJsYWggPiBmb28vYmFyICYmCisJZWNobyBibGFoID5mb28vYmFyICYmCiAJZ2l0IGFkZCBmb28gJiYKIAlnaXQgY29tbWl0IC1tICJhZGQgZm9vIiAmJgogCWdpdCBybSBhbHBoYSAmJgpAQCAtMzQ0LDE3ICszNTMsMTggQEAKIAlnaXQgY29tbWl0IC1tICJyZW1vdmUgZm9vL2JhciIKIAkpICYmCiAKLQlmb3IgeCBpbiBoZyBnaXQ7IGRvCisJZm9yIHggaW4gaGcgZ2l0CisJZG8KIAkJKAogCQloZ19jbG9uZV8keCBnaXRyZXBvIGhncmVwby0keCAmJgogCQljZCBoZ3JlcG8tJHggJiYKIAkJaGdfbG9nIC4gJiYKIAkJaGcgbWFuaWZlc3QgLXIgMyAmJgogCQloZyBtYW5pZmVzdAotCQkpID4gb3V0cHV0LSR4ICYmCisJCSkgPiJvdXRwdXQtJHgiICYmCiAKIAkJZ2l0X2Nsb25lXyR4IGhncmVwby0keCBnaXRyZXBvMi0keCAmJgotCQlnaXRfbG9nIGdpdHJlcG8yLSR4ID4gbG9nLSR4CisJCWdpdF9sb2cgZ2l0cmVwbzItJHggPiJsb2ctJHgiCiAJZG9uZSAmJgogCiAJdGVzdF9jbXAgb3V0cHV0LWhnIG91dHB1dC1naXQgJiYKQEAgLTM2OCwyMCArMzc4LDIxIEBACiAJZ2l0IGluaXQgLXEgZ2l0cmVwbyAmJgogCWNkIGdpdHJlcG8gJiYKIAlnaXQgY29uZmlnIHJlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2ggaWdub3JlICYmCi0JZWNobyBhbHBoYSA+IGFscGhhICYmCisJZWNobyBhbHBoYSA+YWxwaGEgJiYKIAlnaXQgYWRkIGFscGhhICYmCiAJZ2l0IGNvbW1pdCAtbSAiYWRkIGFscGhhIiAmJgogCWdpdCB0YWcgYWxwaGEgJiYKIAotCWVjaG8gYmV0YSA+IGJldGEgJiYKKwllY2hvIGJldGEgPmJldGEgJiYKIAlnaXQgYWRkIGJldGEgJiYKIAlnaXQgY29tbWl0IC1tICJhZGQgYmV0YSIgJiYKIAlnaXQgdGFnIC1hIC1tICJhZGRlZCB0YWcgYmV0YSIgYmV0YQogCSkgJiYKIAotCWZvciB4IGluIGhnIGdpdDsgZG8KKwlmb3IgeCBpbiBoZyBnaXQKKwlkbwogCQloZ19jbG9uZV8keCBnaXRyZXBvIGhncmVwby0keCAmJgotCQloZ19sb2cgaGdyZXBvLSR4ID4gbG9nLSR4CisJCWhnX2xvZyBoZ3JlcG8tJHggPiJsb2ctJHgiCiAJZG9uZSAmJgogCiAJdGVzdF9jbXAgbG9nLWhnIGxvZy1naXQKQEAgLTM5MCwxMiArNDAxLDEzIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdoZyBhdXRob3InICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBnaXRyZXBvKiBoZ3JlcG8qIiAmJgogCi0JZm9yIHggaW4gaGcgZ2l0OyBkbworCWZvciB4IGluIGhnIGdpdAorCWRvCiAJCSgKIAkJZ2l0IGluaXQgLXEgZ2l0cmVwby0keCAmJgogCQljZCBnaXRyZXBvLSR4ICYmCiAKLQkJZWNobyBhbHBoYSA+IGFscGhhICYmCisJCWVjaG8gYWxwaGEgPmFscGhhICYmCiAJCWdpdCBhZGQgYWxwaGEgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiYWRkIGFscGhhIiAmJgogCQlnaXQgY2hlY2tvdXQgLXEgLWIgbm90LW1hc3RlcgpAQCAtNDA2LDM4ICs0MTgsMzggQEAKIAkJY2QgaGdyZXBvLSR4ICYmCiAKIAkJaGcgY28gbWFzdGVyICYmCi0JCWVjaG8gYmV0YSA+IGJldGEgJiYKKwkJZWNobyBiZXRhID5iZXRhICYmCiAJCWhnIGFkZCBiZXRhICYmCiAJCWhnIGNvbW1pdCAtdSAidGVzdCIgLW0gImFkZCBiZXRhIiAmJgogCi0JCWVjaG8gZ2FtbWEgPj4gYmV0YSAmJgorCQllY2hvIGdhbW1hID4+YmV0YSAmJgogCQloZyBjb21taXQgLXUgInRlc3QgPHRlc3RAZXhhbXBsZS5jb20+IChjb21tZW50KSIgLW0gIm1vZGlmeSBiZXRhIiAmJgogCi0JCWVjaG8gZ2FtbWEgPiBnYW1tYSAmJgorCQllY2hvIGdhbW1hID5nYW1tYSAmJgogCQloZyBhZGQgZ2FtbWEgJiYKIAkJaGcgY29tbWl0IC11ICI8dGVzdEBleGFtcGxlLmNvbT4iIC1tICJhZGQgZ2FtbWEiICYmCiAKLQkJZWNobyBkZWx0YSA+IGRlbHRhICYmCisJCWVjaG8gZGVsdGEgPmRlbHRhICYmCiAJCWhnIGFkZCBkZWx0YSAmJgogCQloZyBjb21taXQgLXUgIm5hbWU8dGVzdEBleGFtcGxlLmNvbT4iIC1tICJhZGQgZGVsdGEiICYmCiAKLQkJZWNobyBlcHNpbG9uID4gZXBzaWxvbiAmJgorCQllY2hvIGVwc2lsb24gPmVwc2lsb24gJiYKIAkJaGcgYWRkIGVwc2lsb24gJiYKIAkJaGcgY29tbWl0IC11ICJuYW1lIDx0ZXN0QGV4YW1wbGUuY29tIiAtbSAiYWRkIGVwc2lsb24iICYmCiAKLQkJZWNobyB6ZXRhID4gemV0YSAmJgorCQllY2hvIHpldGEgPnpldGEgJiYKIAkJaGcgYWRkIHpldGEgJiYKIAkJaGcgY29tbWl0IC11ICIgdGVzdCAiIC1tICJhZGQgemV0YSIgJiYKIAotCQllY2hvIGV0YSA+IGV0YSAmJgorCQllY2hvIGV0YSA+ZXRhICYmCiAJCWhnIGFkZCBldGEgJiYKIAkJaGcgY29tbWl0IC11ICJ0ZXN0IDwgdGVzdEBleGFtcGxlLmNvbSA+IiAtbSAiYWRkIGV0YSIgJiYKIAotCQllY2hvIHRoZXRhID4gdGhldGEgJiYKKwkJZWNobyB0aGV0YSA+dGhldGEgJiYKIAkJaGcgYWRkIHRoZXRhICYmCiAJCWhnIGNvbW1pdCAtdSAidGVzdCA+dGVzdEBleGFtcGxlLmNvbT4iIC1tICJhZGQgdGhldGEiICYmCiAKLQkJZWNobyBpb3RhID4gaW90YSAmJgorCQllY2hvIGlvdGEgPmlvdGEgJiYKIAkJaGcgYWRkIGlvdGEgJiYKIAkJaGcgY29tbWl0IC11ICJ0ZXN0IDx0ZXN0IDxhdD4gZXhhbXBsZSA8ZG90PiBjb20+IiAtbSAiYWRkIGlvdGEiCiAJCSkgJiYKQEAgLTQ0NSw4ICs0NTcsOCBAQAogCQloZ19wdXNoXyR4IGhncmVwby0keCBnaXRyZXBvLSR4ICYmCiAJCWhnX2Nsb25lXyR4IGdpdHJlcG8tJHggaGdyZXBvMi0keCAmJgogCi0JCWhnX2xvZyBoZ3JlcG8yLSR4ID4gaGctbG9nLSR4ICYmCi0JCWdpdF9sb2cgZ2l0cmVwby0keCA+IGdpdC1sb2ctJHgKKwkJaGdfbG9nIGhncmVwbzItJHggPiJoZy1sb2ctJHgiICYmCisJCWdpdF9sb2cgZ2l0cmVwby0keCA+ImdpdC1sb2ctJHgiCiAJZG9uZSAmJgogCiAJdGVzdF9jbXAgaGctbG9nLWhnIGhnLWxvZy1naXQgJiYKQEAgLTQ1NiwxMiArNDY4LDEzIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdoZyBicmFuY2gnICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBnaXRyZXBvKiBoZ3JlcG8qIiAmJgogCi0JZm9yIHggaW4gaGcgZ2l0OyBkbworCWZvciB4IGluIGhnIGdpdAorCWRvCiAJCSgKIAkJZ2l0IGluaXQgLXEgZ2l0cmVwby0keCAmJgogCQljZCBnaXRyZXBvLSR4ICYmCiAKLQkJZWNobyBhbHBoYSA+IGFscGhhICYmCisJCWVjaG8gYWxwaGEgPmFscGhhICYmCiAJCWdpdCBhZGQgYWxwaGEgJiYKIAkJZ2l0IGNvbW1pdCAtcSAtbSAiYWRkIGFscGhhIiAmJgogCQlnaXQgY2hlY2tvdXQgLXEgLWIgbm90LW1hc3RlcgpAQCAtNDgxLDggKzQ5NCw4IEBACiAJCWhnX3B1c2hfJHggaGdyZXBvLSR4IGdpdHJlcG8tJHggJiYKIAkJaGdfY2xvbmVfJHggZ2l0cmVwby0keCBoZ3JlcG8yLSR4ICYmCiAKLQkJaGdfbG9nIGhncmVwbzItJHggPiBoZy1sb2ctJHggJiYKLQkJZ2l0X2xvZyBnaXRyZXBvLSR4ID4gZ2l0LWxvZy0keAorCQloZ19sb2cgaGdyZXBvMi0keCA+ImhnLWxvZy0keCIgJiYKKwkJZ2l0X2xvZyBnaXRyZXBvLSR4ID4iZ2l0LWxvZy0keCIKIAlkb25lICYmCiAKIAl0ZXN0X2NtcCBoZy1sb2ctaGcgaGctbG9nLWdpdCAmJgpAQCAtNDkyLDEyICs1MDUsMTMgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2hnIHRhZ3MnICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBnaXRyZXBvKiBoZ3JlcG8qIiAmJgogCi0JZm9yIHggaW4gaGcgZ2l0OyBkbworCWZvciB4IGluIGhnIGdpdAorCWRvCiAJCSgKIAkJZ2l0IGluaXQgLXEgZ2l0cmVwby0keCAmJgogCQljZCBnaXRyZXBvLSR4ICYmCiAKLQkJZWNobyBhbHBoYSA+IGFscGhhICYmCisJCWVjaG8gYWxwaGEgPmFscGhhICYmCiAJCWdpdCBhZGQgYWxwaGEgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiYWRkIGFscGhhIiAmJgogCQlnaXQgY2hlY2tvdXQgLXEgLWIgbm90LW1hc3RlcgpAQCAtNTE4LDcgKzUzMiw3IEBACiAJCWdpdCAtLWdpdC1kaXI9Z2l0cmVwby0keC8uZ2l0IHRhZyAtbCAmJgogCQloZ19sb2cgaGdyZXBvMi0keCAmJgogCQljYXQgaGdyZXBvMi0keC8uaGd0YWdzCi0JCSkgPiBvdXRwdXQtJHgKKwkJKSA+Im91dHB1dC0keCIKIAlkb25lICYmCiAKIAl0ZXN0X2NtcCBvdXRwdXQtaGcgb3V0cHV0LWdpdApkaWZmIC0tZ2l0IGEvY29udHJpYi9yZW1vdGUtaGVscGVycy90ZXN0LWhnLnNoIGIvY29udHJpYi9yZW1vdGUtaGVscGVycy90ZXN0LWhnLnNoCmluZGV4IGY3Y2U4YWEuLjVkMTI4YTUgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvcmVtb3RlLWhlbHBlcnMvdGVzdC1oZy5zaAorKysgYi9jb250cmliL3JlbW90ZS1oZWxwZXJzL3Rlc3QtaGcuc2gKQEAgLTgsNTUgKzgsNjAgQEAKIAogdGVzdF9kZXNjcmlwdGlvbj0nVGVzdCByZW1vdGUtaGcnCiAKLS4gLi90ZXN0LWxpYi5zaAordGVzdCAtbiAiJFRFU1RfRElSRUNUT1JZIiB8fCBURVNUX0RJUkVDVE9SWT0kezAlLyp9Ly4uLy4uL3QKKy4gIiRURVNUX0RJUkVDVE9SWSIvdGVzdC1saWIuc2gKIAotaWYgISB0ZXN0X2hhdmVfcHJlcmVxIFBZVEhPTjsgdGhlbgoraWYgISB0ZXN0X2hhdmVfcHJlcmVxIFBZVEhPTgordGhlbgogCXNraXBfYWxsPSdza2lwcGluZyByZW1vdGUtaGcgdGVzdHM7IHB5dGhvbiBub3QgYXZhaWxhYmxlJwogCXRlc3RfZG9uZQogZmkKIAotaWYgISBweXRob24gLWMgJ2ltcG9ydCBtZXJjdXJpYWwnOyB0aGVuCitpZiAhIHB5dGhvbiAtYyAnaW1wb3J0IG1lcmN1cmlhbCcKK3RoZW4KIAlza2lwX2FsbD0nc2tpcHBpbmcgcmVtb3RlLWhnIHRlc3RzOyBtZXJjdXJpYWwgbm90IGF2YWlsYWJsZScKIAl0ZXN0X2RvbmUKIGZpCiAKIGNoZWNrICgpIHsKLQllY2hvICQzID4gZXhwZWN0ZWQgJiYKLQlnaXQgLS1naXQtZGlyPSQxLy5naXQgbG9nIC0tZm9ybWF0PSclcycgLTEgJDIgPiBhY3R1YWwKKwllY2hvICQzID5leHBlY3RlZCAmJgorCWdpdCAtLWdpdC1kaXI9JDEvLmdpdCBsb2cgLS1mb3JtYXQ9JyVzJyAtMSAkMiA+YWN0dWFsCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiB9CiAKIGNoZWNrX2JyYW5jaCAoKSB7Ci0JaWYgWyAtbiAiJDMiIF07IHRoZW4KLQkJZWNobyAkMyA+IGV4cGVjdGVkICYmCi0JCWhnIC1SICQxIGxvZyAtciAkMiAtLXRlbXBsYXRlICd7ZGVzY31cbicgPiBhY3R1YWwgJiYKKwlpZiB0ZXN0IC1uICIkMyIKKwl0aGVuCisJCWVjaG8gJDMgPmV4cGVjdGVkICYmCisJCWhnIC1SICQxIGxvZyAtciAkMiAtLXRlbXBsYXRlICd7ZGVzY31cbicgPmFjdHVhbCAmJgogCQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKIAllbHNlCi0JCWhnIC1SICQxIGJyYW5jaGVzID4gb3V0ICYmCisJCWhnIC1SICQxIGJyYW5jaGVzID5vdXQgJiYKIAkJISBncmVwICQyIG91dAogCWZpCiB9CiAKIGNoZWNrX2Jvb2ttYXJrICgpIHsKLQlpZiBbIC1uICIkMyIgXTsgdGhlbgotCQllY2hvICQzID4gZXhwZWN0ZWQgJiYKLQkJaGcgLVIgJDEgbG9nIC1yICJib29rbWFyaygnJDInKSIgLS10ZW1wbGF0ZSAne2Rlc2N9XG4nID4gYWN0dWFsICYmCisJaWYgdGVzdCAtbiAiJDMiCisJdGhlbgorCQllY2hvICQzID5leHBlY3RlZCAmJgorCQloZyAtUiAkMSBsb2cgLXIgImJvb2ttYXJrKCckMicpIiAtLXRlbXBsYXRlICd7ZGVzY31cbicgPmFjdHVhbCAmJgogCQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKIAllbHNlCi0JCWhnIC1SICQxIGJvb2ttYXJrcyA+IG91dCAmJgorCQloZyAtUiAkMSBib29rbWFya3MgPm91dCAmJgogCQkhIGdyZXAgJDIgb3V0CiAJZmkKIH0KIAogY2hlY2tfcHVzaCAoKSB7Ci0JbG9jYWwgZXhwZWN0ZWRfcmV0PSQxIHJldD0wIHJlZl9yZXQ9MCBJRlM9JzonCisJZXhwZWN0ZWRfcmV0PSQxIHJldD0wIHJlZl9yZXQ9MAogCiAJc2hpZnQKLQlnaXQgcHVzaCBvcmlnaW4gIiRAIiAyPiBlcnJvcgorCWdpdCBwdXNoIG9yaWdpbiAiJEAiIDI+ZXJyb3IKIAlyZXQ9JD8KIAljYXQgZXJyb3IKIAotCXdoaWxlIHJlYWQgYnJhbmNoIGtpbmQKKwl3aGlsZSBJRlM9JzonIHJlYWQgYnJhbmNoIGtpbmQKIAlkbwogCQljYXNlICIka2luZCIgaW4KIAkJJ25ldycpCkBAIC03NSwxMCArODAsMTAgQEAKIAkJCWdyZXAgIl4gICBbYS1mMC05XSpcLlwuW2EtZjAtOV0qICoke2JyYW5jaH0gLT4gJHticmFuY2h9JCIgZXJyb3IgfHwgcmVmX3JldD0xCiAJCQk7OwogCQllc2FjCi0JCWxldCAncmVmX3JldCcgJiYgZWNobyAibWF0Y2ggZm9yICckYnJhbmNoJyBmYWlsZWQiICYmIGJyZWFrCisJCXRlc3QgJHJlZl9yZXQgLW5lIDAgJiYgZWNobyAibWF0Y2ggZm9yICckYnJhbmNoJyBmYWlsZWQiICYmIGJyZWFrCiAJZG9uZQogCi0JaWYgbGV0ICdleHBlY3RlZF9yZXQgIT0gcmV0IHx8IHJlZl9yZXQnCisJaWYgdGVzdCAkZXhwZWN0ZWRfcmV0IC1uZSAkcmV0IHx8IHRlc3QgJHJlZl9yZXQgLW5lIDAKIAl0aGVuCiAJCXJldHVybiAxCiAJZmkKQEAgLTkyLDcgKzk3LDcgQEAKIAllY2hvICJ1c2VybmFtZSA9IEggRyBXZWxscyA8d2VsbHNAZXhhbXBsZS5jb20+IgogCWVjaG8gIltleHRlbnNpb25zXSIKIAllY2hvICJtcSA9IgotCSkgPj4gIiRIT01FIi8uaGdyYyAmJgorCSkgPj4iJEhPTUUiLy5oZ3JjICYmCiAKIAlHSVRfQVVUSE9SX0RBVEU9IjIwMDctMDEtMDEgMDA6MDA6MDAgKzAyMzAiICYmCiAJR0lUX0NPTU1JVFRFUl9EQVRFPSIkR0lUX0FVVEhPUl9EQVRFIiAmJgpAQCAtMTA3LDcgKzExMiw3IEBACiAJKAogCWhnIGluaXQgaGdyZXBvICYmCiAJY2QgaGdyZXBvICYmCi0JZWNobyB6ZXJvID4gY29udGVudCAmJgorCWVjaG8gemVybyA+Y29udGVudCAmJgogCWhnIGFkZCBjb250ZW50ICYmCiAJaGcgY29tbWl0IC1tIHplcm8KIAkpICYmCkBAIC0xMjIsNyArMTI3LDcgQEAKIAkoCiAJY2QgaGdyZXBvICYmCiAJaGcgYnJhbmNoIG5leHQgJiYKLQllY2hvIG5leHQgPiBjb250ZW50ICYmCisJZWNobyBuZXh0ID5jb250ZW50ICYmCiAJaGcgY29tbWl0IC1tIG5leHQKIAkpICYmCiAKQEAgLTEzNyw3ICsxNDIsNyBAQAogCWNkIGhncmVwbyAmJgogCWhnIGNoZWNrb3V0IGRlZmF1bHQgJiYKIAloZyBib29rbWFyayBmZWF0dXJlLWEgJiYKLQllY2hvIGZlYXR1cmUtYSA+IGNvbnRlbnQgJiYKKwllY2hvIGZlYXR1cmUtYSA+Y29udGVudCAmJgogCWhnIGNvbW1pdCAtbSBmZWF0dXJlLWEKIAkpICYmCiAKQEAgLTE1Nyw3ICsxNjIsNyBAQAogCWdpdCBjbG9uZSAiaGc6OmhncmVwbyIgZ2l0cmVwbyAmJgogCWNkIGdpdHJlcG8gJiYKIAlnaXQgY2hlY2tvdXQgLS1xdWlldCBkZXZlbCAmJgotCWVjaG8gZGV2ZWwgPiBjb250ZW50ICYmCisJZWNobyBkZXZlbCA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLWEgLW0gZGV2ZWwgJiYKIAlnaXQgcHVzaCAtLXF1aWV0CiAJKSAmJgpAQCAtMTcyLDcgKzE3Nyw3IEBACiAJZ2l0IGNsb25lICJoZzo6aGdyZXBvIiBnaXRyZXBvICYmCiAJY2QgZ2l0cmVwbyAmJgogCWdpdCBjaGVja291dCAtLXF1aWV0IC1iIGZlYXR1cmUtYiAmJgotCWVjaG8gZmVhdHVyZS1iID4gY29udGVudCAmJgorCWVjaG8gZmVhdHVyZS1iID5jb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtYSAtbSBmZWF0dXJlLWIgJiYKIAlnaXQgcHVzaCAtLXF1aWV0IG9yaWdpbiBmZWF0dXJlLWIKIAkpICYmCkBAIC0xODQsOSArMTg5LDkgQEAKIHJtIC1yZiBoZ3JlcG8KIAogYXV0aG9yX3Rlc3QgKCkgewotCWVjaG8gJDEgPj4gY29udGVudCAmJgorCWVjaG8gJDEgPj5jb250ZW50ICYmCiAJaGcgY29tbWl0IC11ICIkMiIgLW0gImFkZCAkMSIgJiYKLQllY2hvICIkMyIgPj4gLi4vZXhwZWN0ZWQKKwllY2hvICIkMyIgPj4uLi9leHBlY3RlZAogfQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhdXRob3JzJyAnCkBAIC0xOTksMjIgKzIwNCwyMyBAQAogCXRvdWNoIGNvbnRlbnQgJiYKIAloZyBhZGQgY29udGVudCAmJgogCi0JPiAuLi9leHBlY3RlZCAmJgorCT4uLi9leHBlY3RlZCAmJgogCWF1dGhvcl90ZXN0IGFscGhhICIiICJIIEcgV2VsbHMgPHdlbGxzQGV4YW1wbGUuY29tPiIgJiYKLQlhdXRob3JfdGVzdCBiZXRhICJ0ZXN0IiAidGVzdCA8dW5rbm93bj4iICYmCi0JYXV0aG9yX3Rlc3QgYmV0YSAidGVzdCA8dGVzdEBleGFtcGxlLmNvbT4gKGNvbW1lbnQpIiAidGVzdCA8dGVzdEBleGFtcGxlLmNvbT4iICYmCi0JYXV0aG9yX3Rlc3QgZ2FtbWEgIjx0ZXN0QGV4YW1wbGUuY29tPiIgIlVua25vd24gPHRlc3RAZXhhbXBsZS5jb20+IiAmJgotCWF1dGhvcl90ZXN0IGRlbHRhICJuYW1lPHRlc3RAZXhhbXBsZS5jb20+IiAibmFtZSA8dGVzdEBleGFtcGxlLmNvbT4iICYmCi0JYXV0aG9yX3Rlc3QgZXBzaWxvbiAibmFtZSA8dGVzdEBleGFtcGxlLmNvbSIgIm5hbWUgPHRlc3RAZXhhbXBsZS5jb20+IiAmJgotCWF1dGhvcl90ZXN0IHpldGEgIiB0ZXN0ICIgInRlc3QgPHVua25vd24+IiAmJgotCWF1dGhvcl90ZXN0IGV0YSAidGVzdCA8IHRlc3RAZXhhbXBsZS5jb20gPiIgInRlc3QgPHRlc3RAZXhhbXBsZS5jb20+IiAmJgotCWF1dGhvcl90ZXN0IHRoZXRhICJ0ZXN0ID50ZXN0QGV4YW1wbGUuY29tPiIgInRlc3QgPHRlc3RAZXhhbXBsZS5jb20+IiAmJgotCWF1dGhvcl90ZXN0IGlvdGEgInRlc3QgPCB0ZXN0IDxhdD4gZXhhbXBsZSA8ZG90PiBjb20+IiAidGVzdCA8dW5rbm93bj4iICYmCi0JYXV0aG9yX3Rlc3Qga2FwcGEgInRlc3RAZXhhbXBsZS5jb20iICJVbmtub3duIDx0ZXN0QGV4YW1wbGUuY29tPiIKKwlhdXRob3JfdGVzdCBiZXRhICJiZXRhIiAiYmV0YSA8dW5rbm93bj4iICYmCisJYXV0aG9yX3Rlc3QgZ2FtbWEgImdhbW1hIDx0ZXN0QGV4YW1wbGUuY29tPiAoY29tbWVudCkiICJnYW1tYSA8dGVzdEBleGFtcGxlLmNvbT4iICYmCisJYXV0aG9yX3Rlc3QgZGVsdGEgIjxkZWx0YUBleGFtcGxlLmNvbT4iICJVbmtub3duIDxkZWx0YUBleGFtcGxlLmNvbT4iICYmCisJYXV0aG9yX3Rlc3QgZXBzaWxvbiAiZXBzaWxvbjx0ZXN0QGV4YW1wbGUuY29tPiIgImVwc2lsb24gPHRlc3RAZXhhbXBsZS5jb20+IiAmJgorCWF1dGhvcl90ZXN0IHpldGEgInpldGEgPHRlc3RAZXhhbXBsZS5jb20iICJ6ZXRhIDx0ZXN0QGV4YW1wbGUuY29tPiIgJiYKKwlhdXRob3JfdGVzdCBldGEgIiBldGEgIiAiZXRhIDx1bmtub3duPiIgJiYKKwlhdXRob3JfdGVzdCB0aGV0YSAidGhldGEgPCB0ZXN0QGV4YW1wbGUuY29tID4iICJ0aGV0YSA8dGVzdEBleGFtcGxlLmNvbT4iICYmCisJYXV0aG9yX3Rlc3QgaW90YSAiaW90YSA+dGVzdEBleGFtcGxlLmNvbT4iICJpb3RhIDx0ZXN0QGV4YW1wbGUuY29tPiIgJiYKKwlhdXRob3JfdGVzdCBrYXBwYSAia2FwcGEgPCB0ZXN0IDxhdD4gZXhhbXBsZSA8ZG90PiBjb20+IiAia2FwcGEgPHVua25vd24+IiAmJgorCWF1dGhvcl90ZXN0IGxhbWJkYSAibGFtYmRhQGV4YW1wbGUuY29tIiAiVW5rbm93biA8bGFtYmRhQGV4YW1wbGUuY29tPiIgJiYKKwlhdXRob3JfdGVzdCBtdSAibXUubXVAZXhhbXBsZS5jb20iICJVbmtub3duIDxtdS5tdUBleGFtcGxlLmNvbT4iCiAJKSAmJgogCiAJZ2l0IGNsb25lICJoZzo6aGdyZXBvIiBnaXRyZXBvICYmCi0JZ2l0IC0tZ2l0LWRpcj1naXRyZXBvLy5naXQgbG9nIC0tcmV2ZXJzZSAtLWZvcm1hdD0iJWFuIDwlYWU+IiA+IGFjdHVhbCAmJgorCWdpdCAtLWdpdC1kaXI9Z2l0cmVwby8uZ2l0IGxvZyAtLXJldmVyc2UgLS1mb3JtYXQ9IiVhbiA8JWFlPiIgPmFjdHVhbCAmJgogCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCkBAIC0yMjYsMTEgKzIzMiwxMSBAQAogCWhnIGluaXQgaGdyZXBvICYmCiAJY2QgaGdyZXBvICYmCiAKLQllY2hvIG9uZSA+PiBjb250ZW50ICYmCisJZWNobyBvbmUgPj5jb250ZW50ICYmCiAJaGcgYWRkIGNvbnRlbnQgJiYKIAloZyBjb21taXQgLW0gb25lICYmCiAKLQllY2hvIHR3byA+PiBjb250ZW50ICYmCisJZWNobyB0d28gPj5jb250ZW50ICYmCiAJaGcgY29tbWl0IC1tIHR3bwogCSkgJiYKIApAQCAtMjQwLDIwICsyNDYsMjAgQEAKIAljZCBoZ3JlcG8gJiYKIAloZyBzdHJpcCAxICYmCiAKLQllY2hvIHRocmVlID4+IGNvbnRlbnQgJiYKKwllY2hvIHRocmVlID4+Y29udGVudCAmJgogCWhnIGNvbW1pdCAtbSB0aHJlZSAmJgogCi0JZWNobyBmb3VyID4+IGNvbnRlbnQgJiYKKwllY2hvIGZvdXIgPj5jb250ZW50ICYmCiAJaGcgY29tbWl0IC1tIGZvdXIKIAkpICYmCiAKIAkoCiAJY2QgZ2l0cmVwbyAmJgogCWdpdCBmZXRjaCAmJgotCWdpdCBsb2cgLS1mb3JtYXQ9IiVzIiBvcmlnaW4vbWFzdGVyID4gLi4vYWN0dWFsCisJZ2l0IGxvZyAtLWZvcm1hdD0iJXMiIG9yaWdpbi9tYXN0ZXIgPi4uL2FjdHVhbAogCSkgJiYKIAotCWhnIC1SIGhncmVwbyBsb2cgLS10ZW1wbGF0ZSAie2Rlc2N9XG4iID4gZXhwZWN0ZWQgJiYKKwloZyAtUiBoZ3JlcG8gbG9nIC0tdGVtcGxhdGUgIntkZXNjfVxuIiA+ZXhwZWN0ZWQgJiYKIAl0ZXN0X2NtcCBhY3R1YWwgZXhwZWN0ZWQKICcKIApAQCAtMjYzLDE4ICsyNjksMTggQEAKIAkoCiAJaGcgaW5pdCBoZ3JlcG8gJiYKIAljZCBoZ3JlcG8gJiYKLQllY2hvIHplcm8gPiBjb250ZW50ICYmCisJZWNobyB6ZXJvID5jb250ZW50ICYmCiAJaGcgYWRkIGNvbnRlbnQgJiYKIAloZyBjb21taXQgLW0gemVybyAmJgogCWhnIGJvb2ttYXJrIG1hc3RlciAmJgotCWVjaG8gb25lID4gY29udGVudCAmJgorCWVjaG8gb25lID5jb250ZW50ICYmCiAJaGcgY29tbWl0IC1tIG9uZQogCSkgJiYKIAogCSgKIAlnaXQgY2xvbmUgImhnOjpoZ3JlcG8iIGdpdHJlcG8gJiYKIAljZCBnaXRyZXBvICYmCi0JZWNobyB0d28gPiBjb250ZW50ICYmCisJZWNobyB0d28gPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1hIC1tIHR3byAmJgogCWdpdCBwdXNoCiAJKSAmJgpAQCAtMjgyLDcgKzI4OCw3IEBACiAJY2hlY2tfYnJhbmNoIGhncmVwbyBkZWZhdWx0IHR3bwogJwogCi1jYXQgPiBleHBlY3RlZCA8PEVPRgorY2F0ID5leHBlY3RlZCA8PFxFT0YKIGNoYW5nZXNldDogICAwOjZlMjEyNjQ4OWQzZAogdGFnOiAgICAgICAgIHRpcAogdXNlcjogICAgICAgIEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CkBAIC0zMDAsMTMgKzMwNiwxMyBAQAogCWdpdCBpbml0IGdpdHJlcG8gJiYKIAljZCBnaXRyZXBvICYmCiAJZ2l0IHJlbW90ZSBhZGQgb3JpZ2luICJoZzo6Li4vaGdyZXBvIiAmJgotCWVjaG8gb25lID4gY29udGVudCAmJgorCWVjaG8gb25lID5jb250ZW50ICYmCiAJZ2l0IGFkZCBjb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtYSAtbSBvbmUgJiYKIAlnaXQgcHVzaCBvcmlnaW4gbWFzdGVyCiAJKSAmJgogCi0JaGcgLVIgaGdyZXBvIGxvZyA+IGFjdHVhbCAmJgorCWhnIC1SIGhncmVwbyBsb2cgPmFjdHVhbCAmJgogCWNhdCBhY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwgJiYKIApAQCAtMzIyLDcgKzMyOCw3IEBACiAJKAogCWhnIGluaXQgaGdyZXBvICYmCiAJY2QgaGdyZXBvICYmCi0JZWNobyB6ZXJvID4gY29udGVudCAmJgorCWVjaG8gemVybyA+Y29udGVudCAmJgogCWhnIGFkZCBjb250ZW50ICYmCiAJaGcgY29tbWl0IC1tIHplcm8KIAkpICYmCkBAIC0zMzEsNiArMzM3LDE3IEBACiAJY2hlY2sgZ2l0cmVwbyBIRUFEIHplcm8KICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbW92aW5nIHJlbW90ZSBjbG9uZScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIGdpdHJlcG8qIiAmJgorCisJKAorCWdpdCBjbG9uZSAiaGc6OmhncmVwbyIgZ2l0cmVwbyAmJgorCW12IGdpdHJlcG8gZ2l0cmVwbzIgJiYKKwljZCBnaXRyZXBvMiAmJgorCWdpdCBmZXRjaAorCSkKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVtb3RlIHVwZGF0ZSBib29rbWFyaycgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIGdpdHJlcG8qIiAmJgogCkBAIC0zNDMsNyArMzYwLDcgQEAKIAlnaXQgY2xvbmUgImhnOjpoZ3JlcG8iIGdpdHJlcG8gJiYKIAljZCBnaXRyZXBvICYmCiAJZ2l0IGNoZWNrb3V0IC0tcXVpZXQgZGV2ZWwgJiYKLQllY2hvIGRldmVsID4gY29udGVudCAmJgorCWVjaG8gZGV2ZWwgPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1hIC1tIGRldmVsICYmCiAJZ2l0IHB1c2ggLS1xdWlldAogCSkgJiYKQEAgLTM1OCw3ICszNzUsNyBAQAogCWdpdCBjbG9uZSAiaGc6OmhncmVwbyIgZ2l0cmVwbyAmJgogCWNkIGdpdHJlcG8gJiYKIAlnaXQgY2hlY2tvdXQgLS1xdWlldCAtYiBmZWF0dXJlLWIgJiYKLQllY2hvIGZlYXR1cmUtYiA+IGNvbnRlbnQgJiYKKwllY2hvIGZlYXR1cmUtYiA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLWEgLW0gZmVhdHVyZS1iICYmCiAJZ2l0IHB1c2ggLS1xdWlldCBvcmlnaW4gZmVhdHVyZS1iCiAJKSAmJgpAQCAtMzc0LDE1ICszOTEsMTUgQEAKIAkoCiAJY2QgaGdyZXBvICYmCiAJaGcgY2hlY2tvdXQgZGVmYXVsdCAmJgotCWVjaG8gYnVtcCA+IGNvbnRlbnQgJiYKKwllY2hvIGJ1bXAgPmNvbnRlbnQgJiYKIAloZyBjb21taXQgLW0gYnVtcAogCSkgJiYKIAogCSgKIAljZCBnaXRyZXBvICYmCi0JZWNobyBkaXZlcmdlID4gY29udGVudCAmJgorCWVjaG8gZGl2ZXJnZSA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLWEgLW0gZGl2ZXJnZWQgJiYKLQljaGVja19wdXNoIDEgPDwtRU9GCisJY2hlY2tfcHVzaCAxIDw8LVxFT0YKIAltYXN0ZXI6bm9uLWZhc3QtZm9yd2FyZAogCUVPRgogCSkgJiYKQEAgLTQwMywxNiArNDIwLDE2IEBACiAKIAkoCiAJY2QgaGdyZXBvICYmCi0JZWNobyAiYnVtcCBib29rbWFyayIgPiBjb250ZW50ICYmCisJZWNobyAiYnVtcCBib29rbWFyayIgPmNvbnRlbnQgJiYKIAloZyBjb21taXQgLW0gImJ1bXAgYm9va21hcmsiCiAJKSAmJgogCiAJKAogCWNkIGdpdHJlcG8gJiYKIAlnaXQgY2hlY2tvdXQgLS1xdWlldCBkaXZlcmdlICYmCi0JZWNobyBkaXZlcmdlID4gY29udGVudCAmJgorCWVjaG8gZGl2ZXJnZSA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLWEgLW0gZGl2ZXJnZSAmJgotCWNoZWNrX3B1c2ggMSA8PC1FT0YKKwljaGVja19wdXNoIDEgPDwtXEVPRgogCWRpdmVyZ2U6ZmV0Y2gtZmlyc3QKIAlFT0YKIAkpICYmCkBAIC00MjcsNyArNDQ0LDcgQEAKIAlnaXQgY2xvbmUgImhnOjpoZ3JlcG8iIGdpdHJlcG8gJiYKIAljZCBnaXRyZXBvICYmCiAJZ2l0IGNoZWNrb3V0IC0tcXVpZXQgLWIgZmVhdHVyZS1jIEhFQUReICYmCi0JZWNobyBmZWF0dXJlLWMgPiBjb250ZW50ICYmCisJZWNobyBmZWF0dXJlLWMgPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1hIC1tIGZlYXR1cmUtYyAmJgogCWdpdCBwdXNoIC0tcXVpZXQgb3JpZ2luIGZlYXR1cmUtYwogCSkgJiYKQEAgLTQzOCwyNCArNDU1LDkyIEBACiAjIGNsZWFudXAgcHJldmlvdXMgc3R1ZmYKIHJtIC1yZiBoZ3JlcG8KIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggc3BlY2lhbCBmaWxlbmFtZXMnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBoZ3JlcG8gZ2l0cmVwbyAmJiBMQ19BTEw9QyIgJiYKKworCUxDX0FMTD1lbl9VUy5VVEYtOAorCWV4cG9ydCBMQ19BTEwKKworCSgKKwloZyBpbml0IGhncmVwbyAmJgorCWNkIGhncmVwbyAmJgorCisJZWNobyB0ZXN0ID4+ICLDpiByw7giICYmCisJaGcgYWRkICLDpiByw7giICYmCisJZWNobyB0ZXN0ID4+ICLDuH4/IiAmJgorCWhnIGFkZCAiw7h+PyIgJiYKKwloZyBjb21taXQgLW0gYWRkLXV0Zi04ICYmCisJZWNobyB0ZXN0ID4+ICLDpiByw7giICYmCisJaGcgY29tbWl0IC1tIHRlc3QtdXRmLTggJiYKKwloZyBybSAiw7h+PyIgJiYKKwloZyBtdiAiw6YgcsO4IiAiw7h+PyIgJiYKKwloZyBjb21taXQgLW0gaGctbXYtdXRmLTgKKwkpICYmCisKKwkoCisJZ2l0IGNsb25lICJoZzo6aGdyZXBvIiBnaXRyZXBvICYmCisJY2QgZ2l0cmVwbyAmJgorCWdpdCAtYyBjb3JlLnF1b3RlcGF0aD1mYWxzZSBscy1maWxlcyA+IC4uL2FjdHVhbAorCSkgJiYKKwllY2hvICLDuH4/IiA+IGV4cGVjdGVkICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggc3BlY2lhbCBmaWxlbmFtZXMnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBoZ3JlcG8gZ2l0cmVwbyAmJiBMQ19BTEw9QyIgJiYKKworCW1rZGlyIC1wIHRtcCAmJiBjZCB0bXAgJiYKKworCUxDX0FMTD1lbl9VUy5VVEYtOAorCWV4cG9ydCBMQ19BTEwKKworCSgKKwloZyBpbml0IGhncmVwbyAmJgorCWNkIGhncmVwbyAmJgorCisJZWNobyBvbmUgPj4gY29udGVudCAmJgorCWhnIGFkZCBjb250ZW50ICYmCisJaGcgY29tbWl0IC1tIG9uZQorCSkgJiYKKworCSgKKwlnaXQgY2xvbmUgImhnOjpoZ3JlcG8iIGdpdHJlcG8gJiYKKwljZCBnaXRyZXBvICYmCisKKwllY2hvIHRlc3QgPj4gIsOmIHLDuCIgJiYKKwlnaXQgYWRkICLDpiByw7giICYmCisJZ2l0IGNvbW1pdCAtbSB1dGYtOCAmJgorCisJZ2l0IHB1c2gKKwkpICYmCisKKwkoY2QgaGdyZXBvICYmCisJaGcgdXBkYXRlICYmCisJaGcgbWFuaWZlc3QgPiAuLi9hY3R1YWwKKwkpICYmCisKKwlwcmludGYgImNvbnRlbnRcbsOmIHLDuFxuIiA+IGV4cGVjdGVkICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKIHNldHVwX2JpZ19wdXNoICgpIHsKIAkoCiAJaGcgaW5pdCBoZ3JlcG8gJiYKIAljZCBoZ3JlcG8gJiYKLQllY2hvIHplcm8gPiBjb250ZW50ICYmCisJZWNobyB6ZXJvID5jb250ZW50ICYmCiAJaGcgYWRkIGNvbnRlbnQgJiYKIAloZyBjb21taXQgLW0gemVybyAmJgogCWhnIGJvb2ttYXJrIGJhZF9ibWFyazEgJiYKLQllY2hvIG9uZSA+IGNvbnRlbnQgJiYKKwllY2hvIG9uZSA+Y29udGVudCAmJgogCWhnIGNvbW1pdCAtbSBvbmUgJiYKIAloZyBib29rbWFyayBiYWRfYm1hcmsyICYmCiAJaGcgYm9va21hcmsgZ29vZF9ibWFyayAmJgogCWhnIGJvb2ttYXJrIC1pIGdvb2RfYm1hcmsgJiYKIAloZyAtcSBicmFuY2ggZ29vZF9icmFuY2ggJiYKLQllY2hvICJnb29kIGJyYW5jaCIgPiBjb250ZW50ICYmCisJZWNobyAiZ29vZCBicmFuY2giID5jb250ZW50ICYmCiAJaGcgY29tbWl0IC1tICJnb29kIGJyYW5jaCIgJiYKIAloZyAtcSBicmFuY2ggYmFkX2JyYW5jaCAmJgotCWVjaG8gImJhZCBicmFuY2giID4gY29udGVudCAmJgorCWVjaG8gImJhZCBicmFuY2giID5jb250ZW50ICYmCiAJaGcgY29tbWl0IC1tICJiYWQgYnJhbmNoIgogCSkgJiYKIApAQCAtNDYzLDQwICs1NDgsNDAgQEAKIAogCSgKIAljZCBnaXRyZXBvICYmCi0JZWNobyB0d28gPiBjb250ZW50ICYmCisJZWNobyB0d28gPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1xIC1hIC1tIHR3byAmJgogCiAJZ2l0IGNoZWNrb3V0IC1xIGdvb2RfYm1hcmsgJiYKLQllY2hvIHRocmVlID4gY29udGVudCAmJgorCWVjaG8gdGhyZWUgPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1xIC1hIC1tIHRocmVlICYmCiAKIAlnaXQgY2hlY2tvdXQgLXEgYmFkX2JtYXJrMSAmJgogCWdpdCByZXNldCAtLWhhcmQgSEVBRF4gJiYKLQllY2hvIGZvdXIgPiBjb250ZW50ICYmCisJZWNobyBmb3VyID5jb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtcSAtYSAtbSBmb3VyICYmCiAKIAlnaXQgY2hlY2tvdXQgLXEgYmFkX2JtYXJrMiAmJgogCWdpdCByZXNldCAtLWhhcmQgSEVBRF4gJiYKLQllY2hvIGZpdmUgPiBjb250ZW50ICYmCisJZWNobyBmaXZlID5jb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtcSAtYSAtbSBmaXZlICYmCiAKIAlnaXQgY2hlY2tvdXQgLXEgLWIgbmV3X2JtYXJrIG1hc3RlciAmJgotCWVjaG8gc2l4ID4gY29udGVudCAmJgorCWVjaG8gc2l4ID5jb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtcSAtYSAtbSBzaXggJiYKIAogCWdpdCBjaGVja291dCAtcSBicmFuY2hlcy9nb29kX2JyYW5jaCAmJgotCWVjaG8gc2V2ZW4gPiBjb250ZW50ICYmCisJZWNobyBzZXZlbiA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLXEgLWEgLW0gc2V2ZW4gJiYKLQllY2hvIGVpZ2h0ID4gY29udGVudCAmJgorCWVjaG8gZWlnaHQgPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1xIC1hIC1tIGVpZ2h0ICYmCiAKIAlnaXQgY2hlY2tvdXQgLXEgYnJhbmNoZXMvYmFkX2JyYW5jaCAmJgogCWdpdCByZXNldCAtLWhhcmQgSEVBRF4gJiYKLQllY2hvIG5pbmUgPiBjb250ZW50ICYmCisJZWNobyBuaW5lID5jb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtcSAtYSAtbSBuaW5lICYmCiAKIAlnaXQgY2hlY2tvdXQgLXEgLWIgYnJhbmNoZXMvbmV3X2JyYW5jaCBtYXN0ZXIgJiYKLQllY2hvIHRlbiA+IGNvbnRlbnQgJiYKKwllY2hvIHRlbiA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLXEgLWEgLW0gdGVuCiAJKQogfQpAQCAtNTA5LDcgKzU5NCw3IEBACiAJKAogCWNkIGdpdHJlcG8gJiYKIAotCWNoZWNrX3B1c2ggMSAtLWFsbCA8PC1FT0YKKwljaGVja19wdXNoIDEgLS1hbGwgPDwtXEVPRgogCW1hc3RlcgogCWdvb2RfYm1hcmsKIAlicmFuY2hlcy9nb29kX2JyYW5jaApAQCAtNTM3LDE3ICs2MjIsMTcgQEAKIAkoCiAJaGcgaW5pdCBoZ3JlcG8gJiYKIAljZCBoZ3JlcG8gJiYKLQllY2hvIHplcm8gPiBjb250ZW50ICYmCisJZWNobyB6ZXJvID5jb250ZW50ICYmCiAJaGcgYWRkIGNvbnRlbnQgJiYKIAloZyBjb21taXQgLW0gemVybyAmJgogCWhnIGJvb2ttYXJrIGJhZF9ibWFyayAmJgogCWhnIGJvb2ttYXJrIGdvb2RfYm1hcmsgJiYKIAloZyBib29rbWFyayAtaSBnb29kX2JtYXJrICYmCiAJaGcgLXEgYnJhbmNoIGdvb2RfYnJhbmNoICYmCi0JZWNobyAiZ29vZCBicmFuY2giID4gY29udGVudCAmJgorCWVjaG8gImdvb2QgYnJhbmNoIiA+Y29udGVudCAmJgogCWhnIGNvbW1pdCAtbSAiZ29vZCBicmFuY2giICYmCiAJaGcgLXEgYnJhbmNoIGJhZF9icmFuY2ggJiYKLQllY2hvICJiYWQgYnJhbmNoIiA+IGNvbnRlbnQgJiYKKwllY2hvICJiYWQgYnJhbmNoIiA+Y29udGVudCAmJgogCWhnIGNvbW1pdCAtbSAiYmFkIGJyYW5jaCIKIAkpICYmCiAKQEAgLTU1NiwzOSArNjQxLDM3IEBACiAJKAogCWNkIGhncmVwbyAmJgogCWhnIGJvb2ttYXJrIC1mIGJhZF9ibWFyayAmJgotCWVjaG8gdXBkYXRlX2JtYXJrID4gY29udGVudCAmJgorCWVjaG8gdXBkYXRlX2JtYXJrID5jb250ZW50ICYmCiAJaGcgY29tbWl0IC1tICJ1cGRhdGUgYm1hcmsiCiAJKSAmJgogCiAJKAogCWNkIGdpdHJlcG8gJiYKLQllY2hvIHR3byA+IGNvbnRlbnQgJiYKKwllY2hvIHR3byA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLXEgLWEgLW0gdHdvICYmCiAKIAlnaXQgY2hlY2tvdXQgLXEgZ29vZF9ibWFyayAmJgotCWVjaG8gdGhyZWUgPiBjb250ZW50ICYmCisJZWNobyB0aHJlZSA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLXEgLWEgLW0gdGhyZWUgJiYKIAogCWdpdCBjaGVja291dCAtcSBiYWRfYm1hcmsgJiYKLQllY2hvIGZvdXIgPiBjb250ZW50ICYmCisJZWNobyBmb3VyID5jb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtcSAtYSAtbSBmb3VyICYmCiAKIAlnaXQgY2hlY2tvdXQgLXEgYnJhbmNoZXMvYmFkX2JyYW5jaCAmJgotCWVjaG8gZml2ZSA+IGNvbnRlbnQgJiYKKwllY2hvIGZpdmUgPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1xIC1hIC1tIGZpdmUgJiYKIAotCWNoZWNrX3B1c2ggMSAtLWFsbCA8PC1FT0YKKwljaGVja19wdXNoIDEgLS1hbGwgPDwtXEVPRiAmJgogCW1hc3RlcgogCWdvb2RfYm1hcmsKLQluZXdfYm1hcms6bmV3Ci0JbmV3X2JyYW5jaDpuZXcKIAliYWRfYm1hcms6ZmV0Y2gtZmlyc3QKIAlicmFuY2hlcy9iYWRfYnJhbmNoOmZlc3RjaC1maXJzdAogCUVPRgogCiAJZ2l0IGZldGNoICYmCiAKLQljaGVja19wdXNoIDEgLS1hbGwgPDwtRU9GCisJY2hlY2tfcHVzaCAxIC0tYWxsIDw8LVxFT0YKIAltYXN0ZXIKIAlnb29kX2JtYXJrCiAJYmFkX2JtYXJrOm5vbi1mYXN0LWZvcndhcmQKQEAgLTYwNSw3ICs2ODgsNyBAQAogCSgKIAljZCBnaXRyZXBvICYmCiAKLQljaGVja19wdXNoIDAgLS1mb3JjZSAtLWFsbCA8PC1FT0YKKwljaGVja19wdXNoIDAgLS1mb3JjZSAtLWFsbCA8PC1cRU9GCiAJbWFzdGVyCiAJZ29vZF9ibWFyawogCWJyYW5jaGVzL2dvb2RfYnJhbmNoCkBAIC02MzUsNyArNzE4LDcgQEAKIAkoCiAJY2QgZ2l0cmVwbyAmJgogCi0JY2hlY2tfcHVzaCAwIC0tZHJ5LXJ1biAtLWFsbCA8PC1FT0YKKwljaGVja19wdXNoIDEgLS1kcnktcnVuIC0tYWxsIDw8LVxFT0YgJiYKIAltYXN0ZXIKIAlnb29kX2JtYXJrCiAJYnJhbmNoZXMvZ29vZF9icmFuY2gKQEAgLTY0Niw3ICs3MjksNyBAQAogCWJyYW5jaGVzL2JhZF9icmFuY2g6bm9uLWZhc3QtZm9yd2FyZAogCUVPRgogCi0JY2hlY2tfcHVzaCAwIC0tZHJ5LXJ1biBtYXN0ZXIgZ29vZF9ibWFyayBuZXdfYm1hcmsgYnJhbmNoZXMvZ29vZF9icmFuY2ggYnJhbmNoZXMvbmV3X2JyYW5jaCA8PC1FT0YKKwljaGVja19wdXNoIDAgLS1kcnktcnVuIG1hc3RlciBnb29kX2JtYXJrIG5ld19ibWFyayBicmFuY2hlcy9nb29kX2JyYW5jaCBicmFuY2hlcy9uZXdfYnJhbmNoIDw8LVxFT0YKIAltYXN0ZXIKIAlnb29kX2JtYXJrCiAJYnJhbmNoZXMvZ29vZF9icmFuY2gKQEAgLTY3MSwxMCArNzU0LDEwIEBACiAJKAogCWhnIGluaXQgaGdyZXBvICYmCiAJY2QgaGdyZXBvICYmCi0JZWNobyB6ZXJvID4gY29udGVudCAmJgorCWVjaG8gemVybyA+Y29udGVudCAmJgogCWhnIGFkZCBjb250ZW50ICYmCiAJaGcgY29tbWl0IC1tIHplcm8gJiYKLQllY2hvIG9uZSA+IGNvbnRlbnQgJiYKKwllY2hvIG9uZSA+Y29udGVudCAmJgogCWhnIGNvbW1pdCAtbSBvbmUKIAkpICYmCiAKQEAgLTY4Miw3ICs3NjUsNyBAQAogCWdpdCBjbG9uZSAiaGc6OmhncmVwbyIgZ2l0cmVwbyAmJgogCWNkIGdpdHJlcG8gJiYKIAlnaXQgcmVzZXQgLS1oYXJkIEhFQUReICYmCi0JZWNobyB0d28gPiBjb250ZW50ICYmCisJZWNobyB0d28gPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1hIC1tIHR3byAmJgogCXRlc3RfZXhwZWN0X2NvZGUgMSBnaXQgcHVzaCAmJgogCXRlc3RfZXhwZWN0X2NvZGUgMSBnaXQgcHVzaApkaWZmIC0tZ2l0IGEvY29udHJpYi9zdWJ0cmVlL2dpdC1zdWJ0cmVlLnNoIGIvY29udHJpYi9zdWJ0cmVlL2dpdC1zdWJ0cmVlLnNoCmluZGV4IDdkN2FmMDMuLmRjNTlhOTEgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvc3VidHJlZS9naXQtc3VidHJlZS5zaAorKysgYi9jb250cmliL3N1YnRyZWUvZ2l0LXN1YnRyZWUuc2gKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvY29udHJpYi9zdWJ0cmVlL2dpdC1zdWJ0cmVlLnR4dCBiL2NvbnRyaWIvc3VidHJlZS9naXQtc3VidHJlZS50eHQKaW5kZXggZTA5NTdlZS4uMDI2NjliMSAxMDA2NDQKLS0tIGEvY29udHJpYi9zdWJ0cmVlL2dpdC1zdWJ0cmVlLnR4dAorKysgYi9jb250cmliL3N1YnRyZWUvZ2l0LXN1YnRyZWUudHh0CkBAIC05LDEwICs5LDEwIEBACiBTWU5PUFNJUwogLS0tLS0tLS0KIFt2ZXJzZV0KLSdnaXQgc3VidHJlZScgYWRkICAgLVAgPHByZWZpeD4gPHJlZnNwZWM+Ci0nZ2l0IHN1YnRyZWUnIGFkZCAgIC1QIDxwcmVmaXg+IDxyZXBvc2l0b3J5PiA8cmVmc3BlYz4KLSdnaXQgc3VidHJlZScgcHVsbCAgLVAgPHByZWZpeD4gPHJlcG9zaXRvcnk+IDxyZWZzcGVjLi4uPgotJ2dpdCBzdWJ0cmVlJyBwdXNoICAtUCA8cHJlZml4PiA8cmVwb3NpdG9yeT4gPHJlZnNwZWMuLi4+CisnZ2l0IHN1YnRyZWUnIGFkZCAgIC1QIDxwcmVmaXg+IDxjb21taXQ+CisnZ2l0IHN1YnRyZWUnIGFkZCAgIC1QIDxwcmVmaXg+IDxyZXBvc2l0b3J5PiA8cmVmPgorJ2dpdCBzdWJ0cmVlJyBwdWxsICAtUCA8cHJlZml4PiA8cmVwb3NpdG9yeT4gPHJlZj4KKydnaXQgc3VidHJlZScgcHVzaCAgLVAgPHByZWZpeD4gPHJlcG9zaXRvcnk+IDxyZWY+CiAnZ2l0IHN1YnRyZWUnIG1lcmdlIC1QIDxwcmVmaXg+IDxjb21taXQ+CiAnZ2l0IHN1YnRyZWUnIHNwbGl0IC1QIDxwcmVmaXg+IFtPUFRJT05TXSBbPGNvbW1pdD5dCiAKQEAgLTY4LDcgKzY4LDcgQEAKIC0tLS0tLS0tCiBhZGQ6OgogCUNyZWF0ZSB0aGUgPHByZWZpeD4gc3VidHJlZSBieSBpbXBvcnRpbmcgaXRzIGNvbnRlbnRzCi0JZnJvbSB0aGUgZ2l2ZW4gPHJlZnNwZWM+IG9yIDxyZXBvc2l0b3J5PiBhbmQgcmVtb3RlIDxyZWZzcGVjPi4KKwlmcm9tIHRoZSBnaXZlbiA8Y29tbWl0PiBvciA8cmVwb3NpdG9yeT4gYW5kIHJlbW90ZSA8cmVmPi4KIAlBIG5ldyBjb21taXQgaXMgY3JlYXRlZAlhdXRvbWF0aWNhbGx5LCBqb2luaW5nIHRoZSBpbXBvcnRlZAogCXByb2plY3QncyBoaXN0b3J5IHdpdGggeW91ciBvd24uICBXaXRoICctLXNxdWFzaCcsIGltcG9ydHMKIAlvbmx5IGEgc2luZ2xlIGNvbW1pdCBmcm9tIHRoZSBzdWJwcm9qZWN0LCByYXRoZXIgdGhhbiBpdHMKQEAgLTkwLDEzICs5MCwxMyBAQAogCQogcHVsbDo6CiAJRXhhY3RseSBsaWtlICdtZXJnZScsIGJ1dCBwYXJhbGxlbHMgJ2dpdCBwdWxsJyBpbiB0aGF0Ci0JaXQgZmV0Y2hlcyB0aGUgZ2l2ZW4gY29tbWl0IGZyb20gdGhlIHNwZWNpZmllZCByZW1vdGUKKwlpdCBmZXRjaGVzIHRoZSBnaXZlbiByZWYgZnJvbSB0aGUgc3BlY2lmaWVkIHJlbW90ZQogCXJlcG9zaXRvcnkuCiAJCiBwdXNoOjoKIAlEb2VzIGEgJ3NwbGl0JyAoc2VlIGJlbG93KSB1c2luZyB0aGUgPHByZWZpeD4gc3VwcGxpZWQKIAlhbmQgdGhlbiBkb2VzIGEgJ2dpdCBwdXNoJyB0byBwdXNoIHRoZSByZXN1bHQgdG8gdGhlIAotCXJlcG9zaXRvcnkgYW5kIHJlZnNwZWMuIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHVzaCB5b3VyCisJcmVwb3NpdG9yeSBhbmQgcmVmLiBUaGlzIGNhbiBiZSB1c2VkIHRvIHB1c2ggeW91cgogCXN1YnRyZWUgdG8gZGlmZmVyZW50IGJyYW5jaGVzIG9mIHRoZSByZW1vdGUgcmVwb3NpdG9yeS4KIAogc3BsaXQ6OgpkaWZmIC0tZ2l0IGEvY29udmVydC5jIGIvY29udmVydC5jCmluZGV4IDExYTk1ZmMuLmFiODBiNzIgMTAwNjQ0Ci0tLSBhL2NvbnZlcnQuYworKysgYi9jb252ZXJ0LmMKQEAgLTExMjEsNyArMTEyMSw3IEBACiB7CiAJaW50IGk7CiAKLQlpZiAocHJlZml4Y21wKHN0ciwgIiRJZDogIikpCisJaWYgKCFzdGFydHNfd2l0aChzdHIsICIkSWQ6ICIpKQogCQlyZXR1cm4gMDsKIAlmb3IgKGkgPSA1OyBzdHJbaV07IGkrKykgewogCQlpZiAoaXNzcGFjZShzdHJbaV0pICYmIHN0cltpKzFdICE9ICckJykKZGlmZiAtLWdpdCBhL2NzdW0tZmlsZS5jIGIvY3N1bS1maWxlLmMKaW5kZXggNTNmNTM3NS4uYjAwYjIxNSAxMDA2NDQKLS0tIGEvY3N1bS1maWxlLmMKKysrIGIvY3N1bS1maWxlLmMKQEAgLTExLDcgKzExLDcgQEAKICNpbmNsdWRlICJwcm9ncmVzcy5oIgogI2luY2x1ZGUgImNzdW0tZmlsZS5oIgogCi1zdGF0aWMgdm9pZCBmbHVzaChzdHJ1Y3Qgc2hhMWZpbGUgKmYsIHZvaWQgKmJ1ZiwgdW5zaWduZWQgaW50IGNvdW50KQorc3RhdGljIHZvaWQgZmx1c2goc3RydWN0IHNoYTFmaWxlICpmLCBjb25zdCB2b2lkICpidWYsIHVuc2lnbmVkIGludCBjb3VudCkKIHsKIAlpZiAoMCA8PSBmLT5jaGVja19mZCAmJiBjb3VudCkgIHsKIAkJdW5zaWduZWQgY2hhciBjaGVja19idWZmZXJbODE5Ml07CkBAIC04NiwxMyArODYsMTMgQEAKIAlyZXR1cm4gZmQ7CiB9CiAKLWludCBzaGExd3JpdGUoc3RydWN0IHNoYTFmaWxlICpmLCB2b2lkICpidWYsIHVuc2lnbmVkIGludCBjb3VudCkKK3ZvaWQgc2hhMXdyaXRlKHN0cnVjdCBzaGExZmlsZSAqZiwgY29uc3Qgdm9pZCAqYnVmLCB1bnNpZ25lZCBpbnQgY291bnQpCiB7CiAJd2hpbGUgKGNvdW50KSB7CiAJCXVuc2lnbmVkIG9mZnNldCA9IGYtPm9mZnNldDsKIAkJdW5zaWduZWQgbGVmdCA9IHNpemVvZihmLT5idWZmZXIpIC0gb2Zmc2V0OwogCQl1bnNpZ25lZCBuciA9IGNvdW50ID4gbGVmdCA/IGxlZnQgOiBjb3VudDsKLQkJdm9pZCAqZGF0YTsKKwkJY29uc3Qgdm9pZCAqZGF0YTsKIAogCQlpZiAoZi0+ZG9fY3JjKQogCQkJZi0+Y3JjMzIgPSBjcmMzMihmLT5jcmMzMiwgYnVmLCBucik7CkBAIC0xMTYsNyArMTE2LDYgQEAKIAkJfQogCQlmLT5vZmZzZXQgPSBvZmZzZXQ7CiAJfQotCXJldHVybiAwOwogfQogCiBzdHJ1Y3Qgc2hhMWZpbGUgKnNoYTFmZChpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUpCmRpZmYgLS1naXQgYS9jc3VtLWZpbGUuaCBiL2NzdW0tZmlsZS5oCmluZGV4IDNiNTQwYmQuLmJiNTQzZDUgMTAwNjQ0Ci0tLSBhL2NzdW0tZmlsZS5oCisrKyBiL2NzdW0tZmlsZS5oCkBAIC0zNCw3ICszNCw3IEBACiBleHRlcm4gc3RydWN0IHNoYTFmaWxlICpzaGExZmRfY2hlY2soY29uc3QgY2hhciAqbmFtZSk7CiBleHRlcm4gc3RydWN0IHNoYTFmaWxlICpzaGExZmRfdGhyb3VnaHB1dChpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBwcm9ncmVzcyAqdHApOwogZXh0ZXJuIGludCBzaGExY2xvc2Uoc3RydWN0IHNoYTFmaWxlICosIHVuc2lnbmVkIGNoYXIgKiwgdW5zaWduZWQgaW50KTsKLWV4dGVybiBpbnQgc2hhMXdyaXRlKHN0cnVjdCBzaGExZmlsZSAqLCB2b2lkICosIHVuc2lnbmVkIGludCk7CitleHRlcm4gdm9pZCBzaGExd3JpdGUoc3RydWN0IHNoYTFmaWxlICosIGNvbnN0IHZvaWQgKiwgdW5zaWduZWQgaW50KTsKIGV4dGVybiB2b2lkIHNoYTFmbHVzaChzdHJ1Y3Qgc2hhMWZpbGUgKmYpOwogZXh0ZXJuIHZvaWQgY3JjMzJfYmVnaW4oc3RydWN0IHNoYTFmaWxlICopOwogZXh0ZXJuIHVpbnQzMl90IGNyYzMyX2VuZChzdHJ1Y3Qgc2hhMWZpbGUgKik7CmRpZmYgLS1naXQgYS9kYWVtb24uYyBiL2RhZW1vbi5jCmluZGV4IDM0OTE2YzUuLjUwM2UwMzkgMTAwNjQ0Ci0tLSBhL2RhZW1vbi5jCisrKyBiL2RhZW1vbi5jCkBAIC0yMzUsNyArMjM1LDcgQEAKIAogc3RhdGljIGludCBnaXRfZGFlbW9uX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYikKIHsKLQlpZiAoIXByZWZpeGNtcCh2YXIsICJkYWVtb24uIikgJiYKKwlpZiAoc3RhcnRzX3dpdGgodmFyLCAiZGFlbW9uLiIpICYmCiAJICAgICFzdHJjbXAodmFyICsgNywgc2VydmljZV9sb29raW5nX2F0LT5jb25maWdfbmFtZSkpIHsKIAkJc2VydmljZV9lbmFibGVkID0gZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpOwogCQlyZXR1cm4gMDsKQEAgLTYzMyw3ICs2MzMsNyBAQAogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGRhZW1vbl9zZXJ2aWNlKTsgaSsrKSB7CiAJCXN0cnVjdCBkYWVtb25fc2VydmljZSAqcyA9ICYoZGFlbW9uX3NlcnZpY2VbaV0pOwogCQlpbnQgbmFtZWxlbiA9IHN0cmxlbihzLT5uYW1lKTsKLQkJaWYgKCFwcmVmaXhjbXAobGluZSwgImdpdC0iKSAmJgorCQlpZiAoc3RhcnRzX3dpdGgobGluZSwgImdpdC0iKSAmJgogCQkgICAgIXN0cm5jbXAocy0+bmFtZSwgbGluZSArIDQsIG5hbWVsZW4pICYmCiAJCSAgICBsaW5lW25hbWVsZW4gKyA0XSA9PSAnICcpIHsKIAkJCS8qCkBAIC0xMTY1LDExICsxMTY1LDExIEBACiAJZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKykgewogCQljaGFyICphcmcgPSBhcmd2W2ldOwogCi0JCWlmICghcHJlZml4Y21wKGFyZywgIi0tbGlzdGVuPSIpKSB7CisJCWlmIChzdGFydHNfd2l0aChhcmcsICItLWxpc3Rlbj0iKSkgewogCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZsaXN0ZW5fYWRkciwgeHN0cmR1cF90b2xvd2VyKGFyZyArIDkpKTsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWlmICghcHJlZml4Y21wKGFyZywgIi0tcG9ydD0iKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1wb3J0PSIpKSB7CiAJCQljaGFyICplbmQ7CiAJCQl1bnNpZ25lZCBsb25nIG47CiAJCQluID0gc3RydG91bChhcmcrNywgJmVuZCwgMCk7CkBAIC0xMTk5LDE5ICsxMTk5LDE5IEBACiAJCQlleHBvcnRfYWxsX3RyZWVzID0gMTsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWlmICghcHJlZml4Y21wKGFyZywgIi0tYWNjZXNzLWhvb2s9IikpIHsKKwkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tYWNjZXNzLWhvb2s9IikpIHsKIAkJCWFjY2Vzc19ob29rID0gYXJnICsgMTQ7CiAJCQljb250aW51ZTsKIAkJfQotCQlpZiAoIXByZWZpeGNtcChhcmcsICItLXRpbWVvdXQ9IikpIHsKKwkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tdGltZW91dD0iKSkgewogCQkJdGltZW91dCA9IGF0b2koYXJnKzEwKTsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWlmICghcHJlZml4Y21wKGFyZywgIi0taW5pdC10aW1lb3V0PSIpKSB7CisJCWlmIChzdGFydHNfd2l0aChhcmcsICItLWluaXQtdGltZW91dD0iKSkgewogCQkJaW5pdF90aW1lb3V0ID0gYXRvaShhcmcrMTUpOwogCQkJY29udGludWU7CiAJCX0KLQkJaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1tYXgtY29ubmVjdGlvbnM9IikpIHsKKwkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tbWF4LWNvbm5lY3Rpb25zPSIpKSB7CiAJCQltYXhfY29ubmVjdGlvbnMgPSBhdG9pKGFyZysxOCk7CiAJCQlpZiAobWF4X2Nvbm5lY3Rpb25zIDwgMCkKIAkJCQltYXhfY29ubmVjdGlvbnMgPSAwOwkgICAgICAgIC8qIHVubGltaXRlZCAqLwpAQCAtMTIyMSw3ICsxMjIxLDcgQEAKIAkJCXN0cmljdF9wYXRocyA9IDE7CiAJCQljb250aW51ZTsKIAkJfQotCQlpZiAoIXByZWZpeGNtcChhcmcsICItLWJhc2UtcGF0aD0iKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1iYXNlLXBhdGg9IikpIHsKIAkJCWJhc2VfcGF0aCA9IGFyZysxMjsKIAkJCWNvbnRpbnVlOwogCQl9CkBAIC0xMjI5LDcgKzEyMjksNyBAQAogCQkJYmFzZV9wYXRoX3JlbGF4ZWQgPSAxOwogCQkJY29udGludWU7CiAJCX0KLQkJaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1pbnRlcnBvbGF0ZWQtcGF0aD0iKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1pbnRlcnBvbGF0ZWQtcGF0aD0iKSkgewogCQkJaW50ZXJwb2xhdGVkX3BhdGggPSBhcmcrMjA7CiAJCQljb250aW51ZTsKIAkJfQpAQCAtMTI0MSwxMSArMTI0MSwxMSBAQAogCQkJdXNlcl9wYXRoID0gIiI7CiAJCQljb250aW51ZTsKIAkJfQotCQlpZiAoIXByZWZpeGNtcChhcmcsICItLXVzZXItcGF0aD0iKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS11c2VyLXBhdGg9IikpIHsKIAkJCXVzZXJfcGF0aCA9IGFyZyArIDEyOwogCQkJY29udGludWU7CiAJCX0KLQkJaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1waWQtZmlsZT0iKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1waWQtZmlsZT0iKSkgewogCQkJcGlkX2ZpbGUgPSBhcmcgKyAxMTsKIAkJCWNvbnRpbnVlOwogCQl9CkBAIC0xMjU0LDM1ICsxMjU0LDM1IEBACiAJCQlsb2dfc3lzbG9nID0gMTsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWlmICghcHJlZml4Y21wKGFyZywgIi0tdXNlcj0iKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS11c2VyPSIpKSB7CiAJCQl1c2VyX25hbWUgPSBhcmcgKyA3OwogCQkJY29udGludWU7CiAJCX0KLQkJaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1ncm91cD0iKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1ncm91cD0iKSkgewogCQkJZ3JvdXBfbmFtZSA9IGFyZyArIDg7CiAJCQljb250aW51ZTsKIAkJfQotCQlpZiAoIXByZWZpeGNtcChhcmcsICItLWVuYWJsZT0iKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1lbmFibGU9IikpIHsKIAkJCWVuYWJsZV9zZXJ2aWNlKGFyZyArIDksIDEpOwogCQkJY29udGludWU7CiAJCX0KLQkJaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1kaXNhYmxlPSIpKSB7CisJCWlmIChzdGFydHNfd2l0aChhcmcsICItLWRpc2FibGU9IikpIHsKIAkJCWVuYWJsZV9zZXJ2aWNlKGFyZyArIDEwLCAwKTsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWlmICghcHJlZml4Y21wKGFyZywgIi0tYWxsb3ctb3ZlcnJpZGU9IikpIHsKKwkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tYWxsb3ctb3ZlcnJpZGU9IikpIHsKIAkJCW1ha2Vfc2VydmljZV9vdmVycmlkYWJsZShhcmcgKyAxNywgMSk7CiAJCQljb250aW51ZTsKIAkJfQotCQlpZiAoIXByZWZpeGNtcChhcmcsICItLWZvcmJpZC1vdmVycmlkZT0iKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1mb3JiaWQtb3ZlcnJpZGU9IikpIHsKIAkJCW1ha2Vfc2VydmljZV9vdmVycmlkYWJsZShhcmcgKyAxOCwgMCk7CiAJCQljb250aW51ZTsKIAkJfQotCQlpZiAoIXByZWZpeGNtcChhcmcsICItLWluZm9ybWF0aXZlLWVycm9ycyIpKSB7CisJCWlmICghc3RyY21wKGFyZywgIi0taW5mb3JtYXRpdmUtZXJyb3JzIikpIHsKIAkJCWluZm9ybWF0aXZlX2Vycm9ycyA9IDE7CiAJCQljb250aW51ZTsKIAkJfQotCQlpZiAoIXByZWZpeGNtcChhcmcsICItLW5vLWluZm9ybWF0aXZlLWVycm9ycyIpKSB7CisJCWlmICghc3RyY21wKGFyZywgIi0tbm8taW5mb3JtYXRpdmUtZXJyb3JzIikpIHsKIAkJCWluZm9ybWF0aXZlX2Vycm9ycyA9IDA7CiAJCQljb250aW51ZTsKIAkJfQpkaWZmIC0tZ2l0IGEvZGF0ZS5jIGIvZGF0ZS5jCmluZGV4IDI5ZjE1NDAuLjgzYjQxNjYgMTAwNjQ0Ci0tLSBhL2RhdGUuYworKysgYi9kYXRlLmMKQEAgLTkwNyw3ICs5MDcsNyBAQAogCWNvbnN0IGNoYXIgKmVuZCA9IGRhdGU7CiAJaW50IGk7CiAKLQl3aGlsZSAoaXNhbHBoYSgqKytlbmQpKTsKKwl3aGlsZSAoaXNhbHBoYSgqKytlbmQpKQogCQk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgMTI7IGkrKykgewpkaWZmIC0tZ2l0IGEvZGlmZi1kZWx0YS5jIGIvZGlmZi1kZWx0YS5jCmluZGV4IDkzMzg1ZTEuLjM3OTdjZTYgMTAwNjQ0Ci0tLSBhL2RpZmYtZGVsdGEuYworKysgYi9kaWZmLWRlbHRhLmMKQEAgLTE1NSw3ICsxNTUsNyBAQAogCQllbnRyaWVzID0gMHhmZmZmZmZmZVUgLyBSQUJJTl9XSU5ET1c7CiAJfQogCWhzaXplID0gZW50cmllcyAvIDQ7Ci0JZm9yIChpID0gNDsgKDF1IDw8IGkpIDwgaHNpemUgJiYgaSA8IDMxOyBpKyspOworCWZvciAoaSA9IDQ7ICgxdSA8PCBpKSA8IGhzaXplOyBpKyspOwogCWhzaXplID0gMSA8PCBpOwogCWhtYXNrID0gaHNpemUgLSAxOwogCmRpZmYgLS1naXQgYS9kaWZmLWxpYi5jIGIvZGlmZi1saWIuYwppbmRleCBiNmY0YjIxLi4zNDZjYWM2IDEwMDY0NAotLS0gYS9kaWZmLWxpYi5jCisrKyBiL2RpZmYtbGliLmMKQEAgLTg3LDEwICs4NywxMiBAQAogewogCWludCBlbnRyaWVzLCBpOwogCWludCBkaWZmX3VubWVyZ2VkX3N0YWdlID0gcmV2cy0+bWF4X2NvdW50OwotCWludCBzaWxlbnRfb25fcmVtb3ZlZCA9IG9wdGlvbiAmIERJRkZfU0lMRU5UX09OX1JFTU9WRUQ7CiAJdW5zaWduZWQgY2Vfb3B0aW9uID0gKChvcHRpb24gJiBESUZGX1JBQ1lfSVNfTU9ESUZJRUQpCiAJCQkgICAgICA/IENFX01BVENIX1JBQ1lfSVNfRElSVFkgOiAwKTsKIAorCWlmIChvcHRpb24gJiBESUZGX1NJTEVOVF9PTl9SRU1PVkVEKQorCQloYW5kbGVfZGVwcmVjYXRlZF9zaG93X2RpZmZfcSgmcmV2cy0+ZGlmZm9wdCk7CisKIAlkaWZmX3NldF9tbmVtb25pY19wcmVmaXgoJnJldnMtPmRpZmZvcHQsICJpLyIsICJ3LyIpOwogCiAJaWYgKGRpZmZfdW5tZXJnZWRfc3RhZ2UgPCAwKQpAQCAtMTM3LDggKzEzOSw2IEBACiAJCQkJCXBlcnJvcihjZS0+bmFtZSk7CiAJCQkJCWNvbnRpbnVlOwogCQkJCX0KLQkJCQlpZiAoc2lsZW50X29uX3JlbW92ZWQpCi0JCQkJCWNvbnRpbnVlOwogCQkJCXd0X21vZGUgPSAwOwogCQkJfQogCQkJZHBhdGgtPm1vZGUgPSB3dF9tb2RlOwpAQCAtMjA0LDggKzIwNCw2IEBACiAJCQkJcGVycm9yKGNlLT5uYW1lKTsKIAkJCQljb250aW51ZTsKIAkJCX0KLQkJCWlmIChzaWxlbnRfb25fcmVtb3ZlZCkKLQkJCQljb250aW51ZTsKIAkJCWRpZmZfYWRkcmVtb3ZlKCZyZXZzLT5kaWZmb3B0LCAnLScsIGNlLT5jZV9tb2RlLAogCQkJCSAgICAgICBjZS0+c2hhMSwgIWlzX251bGxfc2hhMShjZS0+c2hhMSksCiAJCQkJICAgICAgIGNlLT5uYW1lLCAwKTsKQEAgLTQ3Niw3ICs0NzQsNiBAQAogCW9wdHMuZHN0X2luZGV4ID0gTlVMTDsKIAlvcHRzLnBhdGhzcGVjID0gJnJldnMtPmRpZmZvcHQucGF0aHNwZWM7CiAJb3B0cy5wYXRoc3BlYy0+cmVjdXJzaXZlID0gMTsKLQlvcHRzLnBhdGhzcGVjLT5tYXhfZGVwdGggPSAtMTsKIAogCWluaXRfdHJlZV9kZXNjKCZ0LCB0cmVlLT5idWZmZXIsIHRyZWUtPnNpemUpOwogCXJldHVybiB1bnBhY2tfdHJlZXMoMSwgJnQsICZvcHRzKTsKQEAgLTUwMiw3ICs0OTksNyBAQAogCXN0cnVjdCByZXZfaW5mbyByZXZzOwogCiAJaW5pdF9yZXZpc2lvbnMoJnJldnMsIE5VTEwpOwotCWluaXRfcGF0aHNwZWMoJnJldnMucHJ1bmVfZGF0YSwgb3B0LT5wYXRoc3BlYy5yYXcpOworCWNvcHlfcGF0aHNwZWMoJnJldnMucHJ1bmVfZGF0YSwgJm9wdC0+cGF0aHNwZWMpOwogCXJldnMuZGlmZm9wdCA9ICpvcHQ7CiAKIAlpZiAoZGlmZl9jYWNoZSgmcmV2cywgdHJlZV9zaGExLCBOVUxMLCAxKSkKZGlmZiAtLWdpdCBhL2RpZmYtbm8taW5kZXguYyBiL2RpZmYtbm8taW5kZXguYwppbmRleCBlNjZmZGYzLi4zM2U1OTgyIDEwMDY0NAotLS0gYS9kaWZmLW5vLWluZGV4LmMKKysrIGIvZGlmZi1uby1pbmRleC5jCkBAIC0xODMsNDkgKzE4MywxOSBAQAogCiB2b2lkIGRpZmZfbm9faW5kZXgoc3RydWN0IHJldl9pbmZvICpyZXZzLAogCQkgICBpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsCi0JCSAgIGludCBub25naXQsIGNvbnN0IGNoYXIgKnByZWZpeCkKKwkJICAgY29uc3QgY2hhciAqcHJlZml4KQogewogCWludCBpLCBwcmVmaXhsZW47Ci0JaW50IG5vX2luZGV4ID0gMDsKLQl1bnNpZ25lZCBvcHRpb25zID0gMDsKKwl1bnNpZ25lZCBkZXByZWNhdGVkX3Nob3dfZGlmZl9xX29wdGlvbl91c2VkID0gMDsKIAljb25zdCBjaGFyICpwYXRoc1syXTsKIAotCS8qIFdlcmUgd2UgYXNrZWQgdG8gZG8gLS1uby1pbmRleCBleHBsaWNpdGx5PyAqLwotCWZvciAoaSA9IDE7IGkgPCBhcmdjOyBpKyspIHsKLQkJaWYgKCFzdHJjbXAoYXJndltpXSwgIi0tIikpIHsKLQkJCWkrKzsKLQkJCWJyZWFrOwotCQl9Ci0JCWlmICghc3RyY21wKGFyZ3ZbaV0sICItLW5vLWluZGV4IikpCi0JCQlub19pbmRleCA9IDE7Ci0JCWlmIChhcmd2W2ldWzBdICE9ICctJykKLQkJCWJyZWFrOwotCX0KLQotCWlmICghbm9faW5kZXggJiYgIW5vbmdpdCkgewotCQkvKgotCQkgKiBJbnNpZGUgYSBnaXQgcmVwb3NpdG9yeSwgd2l0aG91dCAtLW5vLWluZGV4LiAgT25seQotCQkgKiB3aGVuIGEgcGF0aCBvdXRzaWRlIHRoZSByZXBvc2l0b3J5IGlzIGdpdmVuLAotCQkgKiBlLmcuICJnaXQgZGlmZiAvdmFyL3RtcC9bMTJdIiwgb3IgImdpdCBkaWZmCi0JCSAqIE1ha2VmaWxlIC92YXIvdG1wL01ha2VmaWxlIiwgYWxsb3cgaXQgdG8gYmUgdXNlZCBhcwotCQkgKiBhIGNvbG91cmZ1bCAiZGlmZiIgcmVwbGFjZW1lbnQuCi0JCSAqLwotCQlpZiAoKGFyZ2MgIT0gaSArIDIpIHx8Ci0JCSAgICAocGF0aF9pbnNpZGVfcmVwbyhwcmVmaXgsIGFyZ3ZbaV0pICYmCi0JCSAgICAgcGF0aF9pbnNpZGVfcmVwbyhwcmVmaXgsIGFyZ3ZbaSsxXSkpKQotCQkJcmV0dXJuOwotCX0KLQlpZiAoYXJnYyAhPSBpICsgMikKLQkJdXNhZ2VmKCJnaXQgZGlmZiAlcyA8cGF0aD4gPHBhdGg+IiwKLQkJICAgICAgIG5vX2luZGV4ID8gIi0tbm8taW5kZXgiIDogIlstLW5vLWluZGV4XSIpOwotCiAJZGlmZl9zZXR1cCgmcmV2cy0+ZGlmZm9wdCk7CiAJZm9yIChpID0gMTsgaSA8IGFyZ2MgLSAyOyApIHsKIAkJaW50IGo7CiAJCWlmICghc3RyY21wKGFyZ3ZbaV0sICItLW5vLWluZGV4IikpCiAJCQlpKys7CiAJCWVsc2UgaWYgKCFzdHJjbXAoYXJndltpXSwgIi1xIikpIHsKLQkJCW9wdGlvbnMgfD0gRElGRl9TSUxFTlRfT05fUkVNT1ZFRDsKKwkJCWRlcHJlY2F0ZWRfc2hvd19kaWZmX3Ffb3B0aW9uX3VzZWQgPSAxOwogCQkJaSsrOwogCQl9CiAJCWVsc2UgaWYgKCFzdHJjbXAoYXJndltpXSwgIi0tIikpCkBAIC0yNjAsNiArMjMwLDkgQEAKIAlyZXZzLT5tYXhfY291bnQgPSAtMjsKIAlkaWZmX3NldHVwX2RvbmUoJnJldnMtPmRpZmZvcHQpOwogCisJaWYgKGRlcHJlY2F0ZWRfc2hvd19kaWZmX3Ffb3B0aW9uX3VzZWQpCisJCWhhbmRsZV9kZXByZWNhdGVkX3Nob3dfZGlmZl9xKCZyZXZzLT5kaWZmb3B0KTsKKwogCXNldHVwX2RpZmZfcGFnZXIoJnJldnMtPmRpZmZvcHQpOwogCURJRkZfT1BUX1NFVCgmcmV2cy0+ZGlmZm9wdCwgRVhJVF9XSVRIX1NUQVRVUyk7CiAKZGlmZiAtLWdpdCBhL2RpZmYuYyBiL2RpZmYuYwppbmRleCAyNjYxMTJjLi44ZTRhNmE5IDEwMDY0NAotLS0gYS9kaWZmLmMKKysrIGIvZGlmZi5jCkBAIC0zMCw2ICszMCw3IEBACiBzdGF0aWMgaW50IGRpZmZfY29udGV4dF9kZWZhdWx0ID0gMzsKIHN0YXRpYyBjb25zdCBjaGFyICpkaWZmX3dvcmRfcmVnZXhfY2ZnOwogc3RhdGljIGNvbnN0IGNoYXIgKmV4dGVybmFsX2RpZmZfY21kX2NmZzsKK3N0YXRpYyBjb25zdCBjaGFyICpkaWZmX29yZGVyX2ZpbGVfY2ZnOwogaW50IGRpZmZfYXV0b19yZWZyZXNoX2luZGV4ID0gMTsKIHN0YXRpYyBpbnQgZGlmZl9tbmVtb25pY19wcmVmaXg7CiBzdGF0aWMgaW50IGRpZmZfbm9fcHJlZml4OwpAQCAtMjAxLDYgKzIwMiw4IEBACiAJCXJldHVybiBnaXRfY29uZmlnX3N0cmluZygmZXh0ZXJuYWxfZGlmZl9jbWRfY2ZnLCB2YXIsIHZhbHVlKTsKIAlpZiAoIXN0cmNtcCh2YXIsICJkaWZmLndvcmRyZWdleCIpKQogCQlyZXR1cm4gZ2l0X2NvbmZpZ19zdHJpbmcoJmRpZmZfd29yZF9yZWdleF9jZmcsIHZhciwgdmFsdWUpOworCWlmICghc3RyY21wKHZhciwgImRpZmYub3JkZXJmaWxlIikpCisJCXJldHVybiBnaXRfY29uZmlnX3BhdGhuYW1lKCZkaWZmX29yZGVyX2ZpbGVfY2ZnLCB2YXIsIHZhbHVlKTsKIAogCWlmICghc3RyY21wKHZhciwgImRpZmYuaWdub3Jlc3VibW9kdWxlcyIpKQogCQloYW5kbGVfaWdub3JlX3N1Ym1vZHVsZXNfYXJnKCZkZWZhdWx0X2RpZmZfb3B0aW9ucywgdmFsdWUpOwpAQCAtMjM1LDcgKzIzOCw3IEBACiAJaWYgKHVzZXJkaWZmX2NvbmZpZyh2YXIsIHZhbHVlKSA8IDApCiAJCXJldHVybiAtMTsKIAotCWlmICghcHJlZml4Y21wKHZhciwgImRpZmYuY29sb3IuIikgfHwgIXByZWZpeGNtcCh2YXIsICJjb2xvci5kaWZmLiIpKSB7CisJaWYgKHN0YXJ0c193aXRoKHZhciwgImRpZmYuY29sb3IuIikgfHwgc3RhcnRzX3dpdGgodmFyLCAiY29sb3IuZGlmZi4iKSkgewogCQlpbnQgc2xvdCA9IHBhcnNlX2RpZmZfY29sb3Jfc2xvdCh2YXIsIDExKTsKIAkJaWYgKHNsb3QgPCAwKQogCQkJcmV0dXJuIDA7CkBAIC0yNjQsNyArMjY3LDcgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JaWYgKCFwcmVmaXhjbXAodmFyLCAic3VibW9kdWxlLiIpKQorCWlmIChzdGFydHNfd2l0aCh2YXIsICJzdWJtb2R1bGUuIikpCiAJCXJldHVybiBwYXJzZV9zdWJtb2R1bGVfY29uZmlnX29wdGlvbih2YXIsIHZhbHVlKTsKIAogCXJldHVybiBnaXRfZGVmYXVsdF9jb25maWcodmFyLCB2YWx1ZSwgY2IpOwpAQCAtNjY5LDcgKzY3Miw3IEBACiAJbWVtc2V0KCZlY2JkYXRhLCAwLCBzaXplb2YoZWNiZGF0YSkpOwogCWVjYmRhdGEuY29sb3JfZGlmZiA9IHdhbnRfY29sb3Ioby0+dXNlX2NvbG9yKTsKIAllY2JkYXRhLmZvdW5kX2NoYW5nZXNwID0gJm8tPmZvdW5kX2NoYW5nZXM7Ci0JZWNiZGF0YS53c19ydWxlID0gd2hpdGVzcGFjZV9ydWxlKG5hbWVfYiA/IG5hbWVfYiA6IG5hbWVfYSk7CisJZWNiZGF0YS53c19ydWxlID0gd2hpdGVzcGFjZV9ydWxlKG5hbWVfYik7CiAJZWNiZGF0YS5vcHQgPSBvOwogCWlmIChlY2JkYXRhLndzX3J1bGUgJiBXU19CTEFOS19BVF9FT0YpIHsKIAkJbW1maWxlX3QgbWYxLCBtZjI7CkBAIC0xMjE1LDcgKzEyMTgsNyBAQAogCQkJZGlmZl93b3Jkc19hcHBlbmQobGluZSwgbGVuLAogCQkJCQkgICZlY2JkYXRhLT5kaWZmX3dvcmRzLT5wbHVzKTsKIAkJCXJldHVybjsKLQkJfSBlbHNlIGlmICghcHJlZml4Y21wKGxpbmUsICJcXCAiKSkgeworCQl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGxpbmUsICJcXCAiKSkgewogCQkJLyoKIAkJCSAqIEVhdCB0aGUgIm5vIG5ld2xpbmUgYXQgZW9mIiBtYXJrZXIgYXMgaWYgd2UKIAkJCSAqIHNhdyBhICIrIiBvciAiLSIgbGluZSB3aXRoIG5vdGhpbmcgb24gaXQsCkBAIC0yMjUyLDcgKzIyNTUsNyBAQAogCQkJKCF0d28tPm1vZGUgfHwgU19JU0dJVExJTksodHdvLT5tb2RlKSkpIHsKIAkJY29uc3QgY2hhciAqZGVsID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfRklMRV9PTEQpOwogCQljb25zdCBjaGFyICphZGQgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9GSUxFX05FVyk7Ci0JCXNob3dfc3VibW9kdWxlX3N1bW1hcnkoby0+ZmlsZSwgb25lID8gb25lLT5wYXRoIDogdHdvLT5wYXRoLAorCQlzaG93X3N1Ym1vZHVsZV9zdW1tYXJ5KG8tPmZpbGUsIG9uZS0+cGF0aCA/IG9uZS0+cGF0aCA6IHR3by0+cGF0aCwKIAkJCQlsaW5lX3ByZWZpeCwKIAkJCQlvbmUtPnNoYTEsIHR3by0+c2hhMSwgdHdvLT5kaXJ0eV9zdWJtb2R1bGUsCiAJCQkJbWV0YSwgZGVsLCBhZGQsIHJlc2V0KTsKQEAgLTIzNzIsNyArMjM3NSw3IEBACiAJCWVjYmRhdGEubGFiZWxfcGF0aCA9IGxibDsKIAkJZWNiZGF0YS5jb2xvcl9kaWZmID0gd2FudF9jb2xvcihvLT51c2VfY29sb3IpOwogCQllY2JkYXRhLmZvdW5kX2NoYW5nZXNwID0gJm8tPmZvdW5kX2NoYW5nZXM7Ci0JCWVjYmRhdGEud3NfcnVsZSA9IHdoaXRlc3BhY2VfcnVsZShuYW1lX2IgPyBuYW1lX2IgOiBuYW1lX2EpOworCQllY2JkYXRhLndzX3J1bGUgPSB3aGl0ZXNwYWNlX3J1bGUobmFtZV9iKTsKIAkJaWYgKGVjYmRhdGEud3NfcnVsZSAmIFdTX0JMQU5LX0FUX0VPRikKIAkJCWNoZWNrX2JsYW5rX2F0X2VvZigmbWYxLCAmbWYyLCAmZWNiZGF0YSk7CiAJCWVjYmRhdGEub3B0ID0gbzsKQEAgLTIzODcsOSArMjM5MCw5IEBACiAJCQl4ZGlmZl9zZXRfZmluZF9mdW5jKCZ4ZWNmZywgcGUtPnBhdHRlcm4sIHBlLT5jZmxhZ3MpOwogCQlpZiAoIWRpZmZvcHRzKQogCQkJOwotCQllbHNlIGlmICghcHJlZml4Y21wKGRpZmZvcHRzLCAiLS11bmlmaWVkPSIpKQorCQllbHNlIGlmIChzdGFydHNfd2l0aChkaWZmb3B0cywgIi0tdW5pZmllZD0iKSkKIAkJCXhlY2ZnLmN0eGxlbiA9IHN0cnRvdWwoZGlmZm9wdHMgKyAxMCwgTlVMTCwgMTApOwotCQllbHNlIGlmICghcHJlZml4Y21wKGRpZmZvcHRzLCAiLXUiKSkKKwkJZWxzZSBpZiAoc3RhcnRzX3dpdGgoZGlmZm9wdHMsICItdSIpKQogCQkJeGVjZmcuY3R4bGVuID0gc3RydG91bChkaWZmb3B0cyArIDIsIE5VTEwsIDEwKTsKIAkJaWYgKG8tPndvcmRfZGlmZikKIAkJCWluaXRfZGlmZl93b3Jkc19kYXRhKCZlY2JkYXRhLCBvLCBvbmUsIHR3byk7CkBAIC0yODk5LDExICsyOTAyLDE2IEBACiAJCQkgICAgICBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqb25lLAogCQkJICAgICAgc3RydWN0IGRpZmZfZmlsZXNwZWMgKnR3bywKIAkJCSAgICAgIGNvbnN0IGNoYXIgKnhmcm1fbXNnLAotCQkJICAgICAgaW50IGNvbXBsZXRlX3Jld3JpdGUpCisJCQkgICAgICBpbnQgY29tcGxldGVfcmV3cml0ZSwKKwkJCSAgICAgIHN0cnVjdCBkaWZmX29wdGlvbnMgKm8pCiB7CiAJY29uc3QgY2hhciAqc3Bhd25fYXJnWzEwXTsKIAlpbnQgcmV0dmFsOwogCWNvbnN0IGNoYXIgKiphcmcgPSAmc3Bhd25fYXJnWzBdOworCXN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCAqcSA9ICZkaWZmX3F1ZXVlZF9kaWZmOworCWNvbnN0IGNoYXIgKmVudlszXSA9IHsgTlVMTCB9OworCWNoYXIgZW52X2NvdW50ZXJbNTBdOworCWNoYXIgZW52X3RvdGFsWzUwXTsKIAogCWlmIChvbmUgJiYgdHdvKSB7CiAJCXN0cnVjdCBkaWZmX3RlbXBmaWxlICp0ZW1wX29uZSwgKnRlbXBfdHdvOwpAQCAtMjkyOCw3ICsyOTM2LDE0IEBACiAJfQogCSphcmcgPSBOVUxMOwogCWZmbHVzaChOVUxMKTsKLQlyZXR2YWwgPSBydW5fY29tbWFuZF92X29wdChzcGF3bl9hcmcsIFJVTl9VU0lOR19TSEVMTCk7CisKKwllbnZbMF0gPSBlbnZfY291bnRlcjsKKwlzbnByaW50ZihlbnZfY291bnRlciwgc2l6ZW9mKGVudl9jb3VudGVyKSwgIkdJVF9ESUZGX1BBVEhfQ09VTlRFUj0lZCIsCisJCSArK28tPmRpZmZfcGF0aF9jb3VudGVyKTsKKwllbnZbMV0gPSBlbnZfdG90YWw7CisJc25wcmludGYoZW52X3RvdGFsLCBzaXplb2YoZW52X3RvdGFsKSwgIkdJVF9ESUZGX1BBVEhfVE9UQUw9JWQiLCBxLT5ucik7CisKKwlyZXR2YWwgPSBydW5fY29tbWFuZF92X29wdF9jZF9lbnYoc3Bhd25fYXJnLCBSVU5fVVNJTkdfU0hFTEwsIE5VTEwsIGVudik7CiAJcmVtb3ZlX3RlbXBmaWxlKCk7CiAJaWYgKHJldHZhbCkgewogCQlmcHJpbnRmKHN0ZGVyciwgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMuXG4iLCBuYW1lKTsKQEAgLTMwNDIsNyArMzA1Nyw3IEBACiAKIAlpZiAocGdtKSB7CiAJCXJ1bl9leHRlcm5hbF9kaWZmKHBnbSwgbmFtZSwgb3RoZXIsIG9uZSwgdHdvLCB4ZnJtX21zZywKLQkJCQkgIGNvbXBsZXRlX3Jld3JpdGUpOworCQkJCSAgY29tcGxldGVfcmV3cml0ZSwgbyk7CiAJCXJldHVybjsKIAl9CiAJaWYgKG9uZSAmJiB0d28pCkBAIC0zMjA3LDYgKzMyMjIsOCBAQAogCW9wdGlvbnMtPmRldGVjdF9yZW5hbWUgPSBkaWZmX2RldGVjdF9yZW5hbWVfZGVmYXVsdDsKIAlvcHRpb25zLT54ZGxfb3B0cyB8PSBkaWZmX2FsZ29yaXRobTsKIAorCW9wdGlvbnMtPm9yZGVyZmlsZSA9IGRpZmZfb3JkZXJfZmlsZV9jZmc7CisKIAlpZiAoZGlmZl9ub19wcmVmaXgpIHsKIAkJb3B0aW9ucy0+YV9wcmVmaXggPSBvcHRpb25zLT5iX3ByZWZpeCA9ICIiOwogCX0gZWxzZSBpZiAoIWRpZmZfbW5lbW9uaWNfcHJlZml4KSB7CkBAIC0zMjE5LDYgKzMyMzYsOSBAQAogewogCWludCBjb3VudCA9IDA7CiAKKwlpZiAob3B0aW9ucy0+c2V0X2RlZmF1bHQpCisJCW9wdGlvbnMtPnNldF9kZWZhdWx0KG9wdGlvbnMpOworCiAJaWYgKG9wdGlvbnMtPm91dHB1dF9mb3JtYXQgJiBESUZGX0ZPUk1BVF9OQU1FKQogCQljb3VudCsrOwogCWlmIChvcHRpb25zLT5vdXRwdXRfZm9ybWF0ICYgRElGRl9GT1JNQVRfTkFNRV9TVEFUVVMpCkBAIC0zMzE0LDYgKzMzMzQsOCBAQAogCQlvcHRpb25zLT5vdXRwdXRfZm9ybWF0ID0gRElGRl9GT1JNQVRfTk9fT1VUUFVUOwogCQlESUZGX09QVF9TRVQob3B0aW9ucywgRVhJVF9XSVRIX1NUQVRVUyk7CiAJfQorCisJb3B0aW9ucy0+ZGlmZl9wYXRoX2NvdW50ZXIgPSAwOwogfQogCiBzdGF0aWMgaW50IG9wdF9hcmcoY29uc3QgY2hhciAqYXJnLCBpbnQgYXJnX3Nob3J0LCBjb25zdCBjaGFyICphcmdfbG9uZywgaW50ICp2YWwpCkBAIC0zMzg4LDEwICszNDEwLDEwIEBACiAJaWYgKGFyZ1swXSAhPSAnLScgfHwgYXJnWzFdICE9ICctJykKIAkJcmV0dXJuIDA7CiAJYXJnICs9IHN0cmxlbigiLS0iKTsKLQlpZiAocHJlZml4Y21wKGFyZywgb3B0KSkKKwlpZiAoIXN0YXJ0c193aXRoKGFyZywgb3B0KSkKIAkJcmV0dXJuIDA7CiAJYXJnICs9IHN0cmxlbihvcHQpOwotCWlmICgqYXJnID09ICc9JykgeyAvKiBzdGlja2VkIGZvcm06IC0tb3B0aW9uPXZhbHVlICovCisJaWYgKCphcmcgPT0gJz0nKSB7IC8qIHN0dWNrIGZvcm06IC0tb3B0aW9uPXZhbHVlICovCiAJCSpvcHRhcmcgPSBhcmcgKyAxOwogCQlyZXR1cm4gMTsKIAl9CkBAIC0zNDE5LDcgKzM0NDEsNyBAQAogCiAJc3dpdGNoICgqYXJnKSB7CiAJY2FzZSAnLSc6Ci0JCWlmICghcHJlZml4Y21wKGFyZywgIi13aWR0aCIpKSB7CisJCWlmIChzdGFydHNfd2l0aChhcmcsICItd2lkdGgiKSkgewogCQkJYXJnICs9IHN0cmxlbigiLXdpZHRoIik7CiAJCQlpZiAoKmFyZyA9PSAnPScpCiAJCQkJd2lkdGggPSBzdHJ0b3VsKGFyZyArIDEsICZlbmQsIDEwKTsKQEAgLTM0MjksNyArMzQ1MSw3IEBACiAJCQkJd2lkdGggPSBzdHJ0b3VsKGF2WzFdLCAmZW5kLCAxMCk7CiAJCQkJYXJnY291bnQgPSAyOwogCQkJfQotCQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAoYXJnLCAiLW5hbWUtd2lkdGgiKSkgeworCQl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi1uYW1lLXdpZHRoIikpIHsKIAkJCWFyZyArPSBzdHJsZW4oIi1uYW1lLXdpZHRoIik7CiAJCQlpZiAoKmFyZyA9PSAnPScpCiAJCQkJbmFtZV93aWR0aCA9IHN0cnRvdWwoYXJnICsgMSwgJmVuZCwgMTApOwpAQCAtMzQzOSw3ICszNDYxLDcgQEAKIAkJCQluYW1lX3dpZHRoID0gc3RydG91bChhdlsxXSwgJmVuZCwgMTApOwogCQkJCWFyZ2NvdW50ID0gMjsKIAkJCX0KLQkJfSBlbHNlIGlmICghcHJlZml4Y21wKGFyZywgIi1ncmFwaC13aWR0aCIpKSB7CisJCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLWdyYXBoLXdpZHRoIikpIHsKIAkJCWFyZyArPSBzdHJsZW4oIi1ncmFwaC13aWR0aCIpOwogCQkJaWYgKCphcmcgPT0gJz0nKQogCQkJCWdyYXBoX3dpZHRoID0gc3RydG91bChhcmcgKyAxLCAmZW5kLCAxMCk7CkBAIC0zNDQ5LDcgKzM0NzEsNyBAQAogCQkJCWdyYXBoX3dpZHRoID0gc3RydG91bChhdlsxXSwgJmVuZCwgMTApOwogCQkJCWFyZ2NvdW50ID0gMjsKIAkJCX0KLQkJfSBlbHNlIGlmICghcHJlZml4Y21wKGFyZywgIi1jb3VudCIpKSB7CisJCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLWNvdW50IikpIHsKIAkJCWFyZyArPSBzdHJsZW4oIi1jb3VudCIpOwogCQkJaWYgKCphcmcgPT0gJz0nKQogCQkJCWNvdW50ID0gc3RydG91bChhcmcgKyAxLCAmZW5kLCAxMCk7CkBAIC0zNTAzLDYgKzM1MjUsODggQEAKIAlyZXR1cm4gMTsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIgZGlmZl9zdGF0dXNfbGV0dGVyc1tdID0geworCURJRkZfU1RBVFVTX0FEREVELAorCURJRkZfU1RBVFVTX0NPUElFRCwKKwlESUZGX1NUQVRVU19ERUxFVEVELAorCURJRkZfU1RBVFVTX01PRElGSUVELAorCURJRkZfU1RBVFVTX1JFTkFNRUQsCisJRElGRl9TVEFUVVNfVFlQRV9DSEFOR0VELAorCURJRkZfU1RBVFVTX1VOS05PV04sCisJRElGRl9TVEFUVVNfVU5NRVJHRUQsCisJRElGRl9TVEFUVVNfRklMVEVSX0FPTiwKKwlESUZGX1NUQVRVU19GSUxURVJfQlJPS0VOLAorCSdcMCcsCit9OworCitzdGF0aWMgdW5zaWduZWQgaW50IGZpbHRlcl9iaXRbJ1onICsgMV07CisKK3N0YXRpYyB2b2lkIHByZXBhcmVfZmlsdGVyX2JpdHModm9pZCkKK3sKKwlpbnQgaTsKKworCWlmICghZmlsdGVyX2JpdFtESUZGX1NUQVRVU19BRERFRF0pIHsKKwkJZm9yIChpID0gMDsgZGlmZl9zdGF0dXNfbGV0dGVyc1tpXTsgaSsrKQorCQkJZmlsdGVyX2JpdFsoaW50KSBkaWZmX3N0YXR1c19sZXR0ZXJzW2ldXSA9ICgxIDw8IGkpOworCX0KK30KKworc3RhdGljIHVuc2lnbmVkIGZpbHRlcl9iaXRfdHN0KGNoYXIgc3RhdHVzLCBjb25zdCBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQpCit7CisJcmV0dXJuIG9wdC0+ZmlsdGVyICYgZmlsdGVyX2JpdFsoaW50KSBzdGF0dXNdOworfQorCitzdGF0aWMgaW50IHBhcnNlX2RpZmZfZmlsdGVyX29wdChjb25zdCBjaGFyICpvcHRhcmcsIHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCkKK3sKKwlpbnQgaSwgb3B0Y2g7CisKKwlwcmVwYXJlX2ZpbHRlcl9iaXRzKCk7CisKKwkvKgorCSAqIElmIHRoZXJlIGlzIGEgbmVnYXRpb24gZS5nLiAnZCcgaW4gdGhlIGlucHV0LCBhbmQgd2UgaGF2ZW4ndAorCSAqIGluaXRpYWxpemVkIHRoZSBmaWx0ZXIgZmllbGQgd2l0aCBhbm90aGVyIC0tZGlmZi1maWx0ZXIsIHN0YXJ0CisJICogZnJvbSBmdWxsIHNldCBvZiBiaXRzLCBleGNlcHQgZm9yIEFPTi4KKwkgKi8KKwlpZiAoIW9wdC0+ZmlsdGVyKSB7CisJCWZvciAoaSA9IDA7IChvcHRjaCA9IG9wdGFyZ1tpXSkgIT0gJ1wwJzsgaSsrKSB7CisJCQlpZiAob3B0Y2ggPCAnYScgfHwgJ3onIDwgb3B0Y2gpCisJCQkJY29udGludWU7CisJCQlvcHQtPmZpbHRlciA9ICgxIDw8IChBUlJBWV9TSVpFKGRpZmZfc3RhdHVzX2xldHRlcnMpIC0gMSkpIC0gMTsKKwkJCW9wdC0+ZmlsdGVyICY9IH5maWx0ZXJfYml0W0RJRkZfU1RBVFVTX0ZJTFRFUl9BT05dOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlmb3IgKGkgPSAwOyAob3B0Y2ggPSBvcHRhcmdbaV0pICE9ICdcMCc7IGkrKykgeworCQl1bnNpZ25lZCBpbnQgYml0OworCQlpbnQgbmVnYXRlOworCisJCWlmICgnYScgPD0gb3B0Y2ggJiYgb3B0Y2ggPD0gJ3onKSB7CisJCQluZWdhdGUgPSAxOworCQkJb3B0Y2ggPSB0b3VwcGVyKG9wdGNoKTsKKwkJfSBlbHNlIHsKKwkJCW5lZ2F0ZSA9IDA7CisJCX0KKworCQliaXQgPSAoMCA8PSBvcHRjaCAmJiBvcHRjaCA8PSAnWicpID8gZmlsdGVyX2JpdFtvcHRjaF0gOiAwOworCQlpZiAoIWJpdCkKKwkJCXJldHVybiBvcHRhcmdbaV07CisJCWlmIChuZWdhdGUpCisJCQlvcHQtPmZpbHRlciAmPSB+Yml0OworCQllbHNlCisJCQlvcHQtPmZpbHRlciB8PSBiaXQ7CisJfQorCXJldHVybiAwOworfQorCisvKiBVc2VkIG9ubHkgYnkgImRpZmYtZmlsZXMiIGFuZCAiZGlmZiAtLW5vLWluZGV4IiAqLwordm9pZCBoYW5kbGVfZGVwcmVjYXRlZF9zaG93X2RpZmZfcShzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQpCit7CisJd2FybmluZygiJ2RpZmYgLXEnIGFuZCAnZGlmZi1maWxlcyAtcScgYXJlIGRlcHJlY2F0ZWQuIik7CisJd2FybmluZygiVXNlICdkaWZmIC0tZGlmZi1maWx0ZXI9ZCcgaW5zdGVhZCB0byBpZ25vcmUgZGVsZXRlZCBmaWxlcGFpcnMuIik7CisJcGFyc2VfZGlmZl9maWx0ZXJfb3B0KCJkIiwgb3B0KTsKK30KKwogc3RhdGljIHZvaWQgZW5hYmxlX3BhdGNoX291dHB1dChpbnQgKmZtdCkgewogCSpmbXQgJj0gfkRJRkZfRk9STUFUX05PX09VVFBVVDsKIAkqZm10IHw9IERJRkZfRk9STUFUX1BBVENIOwpAQCAtMzUyOSwxNSArMzYzMywxNSBAQAogCQlvcHRpb25zLT5vdXRwdXRfZm9ybWF0IHw9IERJRkZfRk9STUFUX1NIT1JUU1RBVDsKIAllbHNlIGlmICghc3RyY21wKGFyZywgIi1YIikgfHwgIXN0cmNtcChhcmcsICItLWRpcnN0YXQiKSkKIAkJcmV0dXJuIHBhcnNlX2RpcnN0YXRfb3B0KG9wdGlvbnMsICIiKTsKLQllbHNlIGlmICghcHJlZml4Y21wKGFyZywgIi1YIikpCisJZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLVgiKSkKIAkJcmV0dXJuIHBhcnNlX2RpcnN0YXRfb3B0KG9wdGlvbnMsIGFyZyArIDIpOwotCWVsc2UgaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1kaXJzdGF0PSIpKQorCWVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tZGlyc3RhdD0iKSkKIAkJcmV0dXJuIHBhcnNlX2RpcnN0YXRfb3B0KG9wdGlvbnMsIGFyZyArIDEwKTsKIAllbHNlIGlmICghc3RyY21wKGFyZywgIi0tY3VtdWxhdGl2ZSIpKQogCQlyZXR1cm4gcGFyc2VfZGlyc3RhdF9vcHQob3B0aW9ucywgImN1bXVsYXRpdmUiKTsKIAllbHNlIGlmICghc3RyY21wKGFyZywgIi0tZGlyc3RhdC1ieS1maWxlIikpCiAJCXJldHVybiBwYXJzZV9kaXJzdGF0X29wdChvcHRpb25zLCAiZmlsZXMiKTsKLQllbHNlIGlmICghcHJlZml4Y21wKGFyZywgIi0tZGlyc3RhdC1ieS1maWxlPSIpKSB7CisJZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1kaXJzdGF0LWJ5LWZpbGU9IikpIHsKIAkJcGFyc2VfZGlyc3RhdF9vcHQob3B0aW9ucywgImZpbGVzIik7CiAJCXJldHVybiBwYXJzZV9kaXJzdGF0X29wdChvcHRpb25zLCBhcmcgKyAxOCk7CiAJfQpAQCAtMzU1NCwxNyArMzY1OCwxNyBAQAogCQlvcHRpb25zLT5vdXRwdXRfZm9ybWF0IHw9IERJRkZfRk9STUFUX05BTUVfU1RBVFVTOwogCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLXMiKSB8fCAhc3RyY21wKGFyZywgIi0tbm8tcGF0Y2giKSkKIAkJb3B0aW9ucy0+b3V0cHV0X2Zvcm1hdCB8PSBESUZGX0ZPUk1BVF9OT19PVVRQVVQ7Ci0JZWxzZSBpZiAoIXByZWZpeGNtcChhcmcsICItLXN0YXQiKSkKKwllbHNlIGlmIChzdGFydHNfd2l0aChhcmcsICItLXN0YXQiKSkKIAkJLyogLS1zdGF0LCAtLXN0YXQtd2lkdGgsIC0tc3RhdC1uYW1lLXdpZHRoLCBvciAtLXN0YXQtY291bnQgKi8KIAkJcmV0dXJuIHN0YXRfb3B0KG9wdGlvbnMsIGF2KTsKIAogCS8qIHJlbmFtZXMgb3B0aW9ucyAqLwotCWVsc2UgaWYgKCFwcmVmaXhjbXAoYXJnLCAiLUIiKSB8fCAhcHJlZml4Y21wKGFyZywgIi0tYnJlYWstcmV3cml0ZXM9IikgfHwKKwllbHNlIGlmIChzdGFydHNfd2l0aChhcmcsICItQiIpIHx8IHN0YXJ0c193aXRoKGFyZywgIi0tYnJlYWstcmV3cml0ZXM9IikgfHwKIAkJICFzdHJjbXAoYXJnLCAiLS1icmVhay1yZXdyaXRlcyIpKSB7CiAJCWlmICgob3B0aW9ucy0+YnJlYWtfb3B0ID0gZGlmZl9zY29yZW9wdF9wYXJzZShhcmcpKSA9PSAtMSkKIAkJCXJldHVybiBlcnJvcigiaW52YWxpZCBhcmd1bWVudCB0byAtQjogJXMiLCBhcmcrMik7CiAJfQotCWVsc2UgaWYgKCFwcmVmaXhjbXAoYXJnLCAiLU0iKSB8fCAhcHJlZml4Y21wKGFyZywgIi0tZmluZC1yZW5hbWVzPSIpIHx8CisJZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLU0iKSB8fCBzdGFydHNfd2l0aChhcmcsICItLWZpbmQtcmVuYW1lcz0iKSB8fAogCQkgIXN0cmNtcChhcmcsICItLWZpbmQtcmVuYW1lcyIpKSB7CiAJCWlmICgob3B0aW9ucy0+cmVuYW1lX3Njb3JlID0gZGlmZl9zY29yZW9wdF9wYXJzZShhcmcpKSA9PSAtMSkKIAkJCXJldHVybiBlcnJvcigiaW52YWxpZCBhcmd1bWVudCB0byAtTTogJXMiLCBhcmcrMik7CkBAIC0zNTczLDcgKzM2NzcsNyBAQAogCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLUQiKSB8fCAhc3RyY21wKGFyZywgIi0taXJyZXZlcnNpYmxlLWRlbGV0ZSIpKSB7CiAJCW9wdGlvbnMtPmlycmV2ZXJzaWJsZV9kZWxldGUgPSAxOwogCX0KLQllbHNlIGlmICghcHJlZml4Y21wKGFyZywgIi1DIikgfHwgIXByZWZpeGNtcChhcmcsICItLWZpbmQtY29waWVzPSIpIHx8CisJZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLUMiKSB8fCBzdGFydHNfd2l0aChhcmcsICItLWZpbmQtY29waWVzPSIpIHx8CiAJCSAhc3RyY21wKGFyZywgIi0tZmluZC1jb3BpZXMiKSkgewogCQlpZiAob3B0aW9ucy0+ZGV0ZWN0X3JlbmFtZSA9PSBESUZGX0RFVEVDVF9DT1BZKQogCQkJRElGRl9PUFRfU0VUKG9wdGlvbnMsIEZJTkRfQ09QSUVTX0hBUkRFUik7CkBAIC0zNTg5LDcgKzM2OTMsNyBAQAogCQlESUZGX09QVF9DTFIob3B0aW9ucywgUkVOQU1FX0VNUFRZKTsKIAllbHNlIGlmICghc3RyY21wKGFyZywgIi0tcmVsYXRpdmUiKSkKIAkJRElGRl9PUFRfU0VUKG9wdGlvbnMsIFJFTEFUSVZFX05BTUUpOwotCWVsc2UgaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1yZWxhdGl2ZT0iKSkgeworCWVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tcmVsYXRpdmU9IikpIHsKIAkJRElGRl9PUFRfU0VUKG9wdGlvbnMsIFJFTEFUSVZFX05BTUUpOwogCQlvcHRpb25zLT5wcmVmaXggPSBhcmcgKyAxMTsKIAl9CkBAIC0zNjQyLDcgKzM3NDYsNyBAQAogCQlESUZGX09QVF9DTFIob3B0aW9ucywgRk9MTE9XX1JFTkFNRVMpOwogCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1jb2xvciIpKQogCQlvcHRpb25zLT51c2VfY29sb3IgPSAxOwotCWVsc2UgaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1jb2xvcj0iKSkgeworCWVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tY29sb3I9IikpIHsKIAkJaW50IHZhbHVlID0gZ2l0X2NvbmZpZ19jb2xvcmJvb2woTlVMTCwgYXJnKzgpOwogCQlpZiAodmFsdWUgPCAwKQogCQkJcmV0dXJuIGVycm9yKCJvcHRpb24gYGNvbG9yJyBleHBlY3RzIFwiYWx3YXlzXCIsIFwiYXV0b1wiLCBvciBcIm5ldmVyXCIiKTsKQEAgLTM2NTQsNyArMzc1OCw3IEBACiAJCW9wdGlvbnMtPnVzZV9jb2xvciA9IDE7CiAJCW9wdGlvbnMtPndvcmRfZGlmZiA9IERJRkZfV09SRFNfQ09MT1I7CiAJfQotCWVsc2UgaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1jb2xvci13b3Jkcz0iKSkgeworCWVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tY29sb3Itd29yZHM9IikpIHsKIAkJb3B0aW9ucy0+dXNlX2NvbG9yID0gMTsKIAkJb3B0aW9ucy0+d29yZF9kaWZmID0gRElGRl9XT1JEU19DT0xPUjsKIAkJb3B0aW9ucy0+d29yZF9yZWdleCA9IGFyZyArIDE0OwpAQCAtMzY2Myw3ICszNzY3LDcgQEAKIAkJaWYgKG9wdGlvbnMtPndvcmRfZGlmZiA9PSBESUZGX1dPUkRTX05PTkUpCiAJCQlvcHRpb25zLT53b3JkX2RpZmYgPSBESUZGX1dPUkRTX1BMQUlOOwogCX0KLQllbHNlIGlmICghcHJlZml4Y21wKGFyZywgIi0td29yZC1kaWZmPSIpKSB7CisJZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS13b3JkLWRpZmY9IikpIHsKIAkJY29uc3QgY2hhciAqdHlwZSA9IGFyZyArIDEyOwogCQlpZiAoIXN0cmNtcCh0eXBlLCAicGxhaW4iKSkKIAkJCW9wdGlvbnMtPndvcmRfZGlmZiA9IERJRkZfV09SRFNfUExBSU47CkBAIC0zNjk5LDEyICszODAzLDEyIEBACiAJZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLWlnbm9yZS1zdWJtb2R1bGVzIikpIHsKIAkJRElGRl9PUFRfU0VUKG9wdGlvbnMsIE9WRVJSSURFX1NVQk1PRFVMRV9DT05GSUcpOwogCQloYW5kbGVfaWdub3JlX3N1Ym1vZHVsZXNfYXJnKG9wdGlvbnMsICJhbGwiKTsKLQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1pZ25vcmUtc3VibW9kdWxlcz0iKSkgeworCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1pZ25vcmUtc3VibW9kdWxlcz0iKSkgewogCQlESUZGX09QVF9TRVQob3B0aW9ucywgT1ZFUlJJREVfU1VCTU9EVUxFX0NPTkZJRyk7CiAJCWhhbmRsZV9pZ25vcmVfc3VibW9kdWxlc19hcmcob3B0aW9ucywgYXJnICsgMjApOwogCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLXN1Ym1vZHVsZSIpKQogCQlESUZGX09QVF9TRVQob3B0aW9ucywgU1VCTU9EVUxFX0xPRyk7Ci0JZWxzZSBpZiAoIXByZWZpeGNtcChhcmcsICItLXN1Ym1vZHVsZT0iKSkKKwllbHNlIGlmIChzdGFydHNfd2l0aChhcmcsICItLXN1Ym1vZHVsZT0iKSkKIAkJcmV0dXJuIHBhcnNlX3N1Ym1vZHVsZV9vcHQob3B0aW9ucywgYXJnICsgMTIpOwogCiAJLyogbWlzYyBvcHRpb25zICovCkBAIC0zNzMyLDEyICszODM2LDE1IEBACiAJCXJldHVybiBhcmdjb3VudDsKIAl9CiAJZWxzZSBpZiAoKGFyZ2NvdW50ID0gcGFyc2VfbG9uZ19vcHQoImRpZmYtZmlsdGVyIiwgYXYsICZvcHRhcmcpKSkgewotCQlvcHRpb25zLT5maWx0ZXIgPSBvcHRhcmc7CisJCWludCBvZmZlbmRpbmcgPSBwYXJzZV9kaWZmX2ZpbHRlcl9vcHQob3B0YXJnLCBvcHRpb25zKTsKKwkJaWYgKG9mZmVuZGluZykKKwkJCWRpZSgidW5rbm93biBjaGFuZ2UgY2xhc3MgJyVjJyBpbiAtLWRpZmYtZmlsdGVyPSVzIiwKKwkJCSAgICBvZmZlbmRpbmcsIG9wdGFyZyk7CiAJCXJldHVybiBhcmdjb3VudDsKIAl9CiAJZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLWFiYnJldiIpKQogCQlvcHRpb25zLT5hYmJyZXYgPSBERUZBVUxUX0FCQlJFVjsKLQllbHNlIGlmICghcHJlZml4Y21wKGFyZywgIi0tYWJicmV2PSIpKSB7CisJZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1hYmJyZXY9IikpIHsKIAkJb3B0aW9ucy0+YWJicmV2ID0gc3RydG91bChhcmcgKyA5LCBOVUxMLCAxMCk7CiAJCWlmIChvcHRpb25zLT5hYmJyZXYgPCBNSU5JTVVNX0FCQlJFVikKIAkJCW9wdGlvbnMtPmFiYnJldiA9IE1JTklNVU1fQUJCUkVWOwpAQCAtMzgxOSwxNSArMzkyNiwxNSBAQAogCWNtZCA9ICpvcHQrKzsKIAlpZiAoY21kID09ICctJykgewogCQkvKiBjb252ZXJ0IHRoZSBsb25nLWZvcm0gYXJndW1lbnRzIGludG8gc2hvcnQtZm9ybSB2ZXJzaW9ucyAqLwotCQlpZiAoIXByZWZpeGNtcChvcHQsICJicmVhay1yZXdyaXRlcyIpKSB7CisJCWlmIChzdGFydHNfd2l0aChvcHQsICJicmVhay1yZXdyaXRlcyIpKSB7CiAJCQlvcHQgKz0gc3RybGVuKCJicmVhay1yZXdyaXRlcyIpOwogCQkJaWYgKCpvcHQgPT0gMCB8fCAqb3B0KysgPT0gJz0nKQogCQkJCWNtZCA9ICdCJzsKLQkJfSBlbHNlIGlmICghcHJlZml4Y21wKG9wdCwgImZpbmQtY29waWVzIikpIHsKKwkJfSBlbHNlIGlmIChzdGFydHNfd2l0aChvcHQsICJmaW5kLWNvcGllcyIpKSB7CiAJCQlvcHQgKz0gc3RybGVuKCJmaW5kLWNvcGllcyIpOwogCQkJaWYgKCpvcHQgPT0gMCB8fCAqb3B0KysgPT0gJz0nKQogCQkJCWNtZCA9ICdDJzsKLQkJfSBlbHNlIGlmICghcHJlZml4Y21wKG9wdCwgImZpbmQtcmVuYW1lcyIpKSB7CisJCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgob3B0LCAiZmluZC1yZW5hbWVzIikpIHsKIAkJCW9wdCArPSBzdHJsZW4oImZpbmQtcmVuYW1lcyIpOwogCQkJaWYgKCpvcHQgPT0gMCB8fCAqb3B0KysgPT0gJz0nKQogCQkJCWNtZCA9ICdNJzsKQEAgLTQwMzIsOSArNDEzOSw5IEBACiAJCURJRkZfRklMRV9WQUxJRChzKSA/ICJ2YWxpZCIgOiAiaW52YWxpZCIsCiAJCXMtPm1vZGUsCiAJCXMtPnNoYTFfdmFsaWQgPyBzaGExX3RvX2hleChzLT5zaGExKSA6ICIiKTsKLQlmcHJpbnRmKHN0ZGVyciwgInF1ZXVlWyVkXSAlcyBzaXplICVsdSBmbGFncyAlZFxuIiwKKwlmcHJpbnRmKHN0ZGVyciwgInF1ZXVlWyVkXSAlcyBzaXplICVsdVxuIiwKIAkJeCwgb25lID8gb25lIDogIiIsCi0JCXMtPnNpemUsIHMtPnhmcm1fZmxhZ3MpOworCQlzLT5zaXplKTsKIH0KIAogdm9pZCBkaWZmX2RlYnVnX2ZpbGVwYWlyKGNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwLCBpbnQgaSkKQEAgLTQyMzcsNyArNDM0NCw3IEBACiAJaW50IG5ld19sZW47CiAKIAkvKiBJZ25vcmUgbGluZSBudW1iZXJzIHdoZW4gY29tcHV0aW5nIHRoZSBTSEExIG9mIHRoZSBwYXRjaCAqLwotCWlmICghcHJlZml4Y21wKGxpbmUsICJAQCAtIikpCisJaWYgKHN0YXJ0c193aXRoKGxpbmUsICJAQCAtIikpCiAJCXJldHVybjsKIAogCW5ld19sZW4gPSByZW1vdmVfc3BhY2UobGluZSwgbGVuKTsKQEAgLTQ1MjQsMjcgKzQ2MzEsMzIgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIGRpZmZjb3JlX2FwcGx5X2ZpbHRlcihjb25zdCBjaGFyICpmaWx0ZXIpCitzdGF0aWMgaW50IG1hdGNoX2ZpbHRlcihjb25zdCBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zLCBjb25zdCBzdHJ1Y3QgZGlmZl9maWxlcGFpciAqcCkKK3sKKwlyZXR1cm4gKCgocC0+c3RhdHVzID09IERJRkZfU1RBVFVTX01PRElGSUVEKSAmJgorCQkgKChwLT5zY29yZSAmJgorCQkgICBmaWx0ZXJfYml0X3RzdChESUZGX1NUQVRVU19GSUxURVJfQlJPS0VOLCBvcHRpb25zKSkgfHwKKwkJICAoIXAtPnNjb3JlICYmCisJCSAgIGZpbHRlcl9iaXRfdHN0KERJRkZfU1RBVFVTX01PRElGSUVELCBvcHRpb25zKSkpKSB8fAorCQkoKHAtPnN0YXR1cyAhPSBESUZGX1NUQVRVU19NT0RJRklFRCkgJiYKKwkJIGZpbHRlcl9iaXRfdHN0KHAtPnN0YXR1cywgb3B0aW9ucykpKTsKK30KKworc3RhdGljIHZvaWQgZGlmZmNvcmVfYXBwbHlfZmlsdGVyKHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMpCiB7CiAJaW50IGk7CiAJc3RydWN0IGRpZmZfcXVldWVfc3RydWN0ICpxID0gJmRpZmZfcXVldWVkX2RpZmY7CiAJc3RydWN0IGRpZmZfcXVldWVfc3RydWN0IG91dHE7CisKIAlESUZGX1FVRVVFX0NMRUFSKCZvdXRxKTsKIAotCWlmICghZmlsdGVyKQorCWlmICghb3B0aW9ucy0+ZmlsdGVyKQogCQlyZXR1cm47CiAKLQlpZiAoc3RyY2hyKGZpbHRlciwgRElGRl9TVEFUVVNfRklMVEVSX0FPTikpIHsKKwlpZiAoZmlsdGVyX2JpdF90c3QoRElGRl9TVEFUVVNfRklMVEVSX0FPTiwgb3B0aW9ucykpIHsKIAkJaW50IGZvdW5kOwogCQlmb3IgKGkgPSBmb3VuZCA9IDA7ICFmb3VuZCAmJiBpIDwgcS0+bnI7IGkrKykgewotCQkJc3RydWN0IGRpZmZfZmlsZXBhaXIgKnAgPSBxLT5xdWV1ZVtpXTsKLQkJCWlmICgoKHAtPnN0YXR1cyA9PSBESUZGX1NUQVRVU19NT0RJRklFRCkgJiYKLQkJCSAgICAgKChwLT5zY29yZSAmJgotCQkJICAgICAgIHN0cmNocihmaWx0ZXIsIERJRkZfU1RBVFVTX0ZJTFRFUl9CUk9LRU4pKSB8fAotCQkJICAgICAgKCFwLT5zY29yZSAmJgotCQkJICAgICAgIHN0cmNocihmaWx0ZXIsIERJRkZfU1RBVFVTX01PRElGSUVEKSkpKSB8fAotCQkJICAgICgocC0+c3RhdHVzICE9IERJRkZfU1RBVFVTX01PRElGSUVEKSAmJgotCQkJICAgICBzdHJjaHIoZmlsdGVyLCBwLT5zdGF0dXMpKSkKKwkJCWlmIChtYXRjaF9maWx0ZXIob3B0aW9ucywgcS0+cXVldWVbaV0pKQogCQkJCWZvdW5kKys7CiAJCX0KIAkJaWYgKGZvdW5kKQpAQCAtNDU2MiwxNCArNDY3NCw3IEBACiAJCS8qIE9ubHkgdGhlIG1hdGNoaW5nIG9uZXMgKi8KIAkJZm9yIChpID0gMDsgaSA8IHEtPm5yOyBpKyspIHsKIAkJCXN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwID0gcS0+cXVldWVbaV07Ci0KLQkJCWlmICgoKHAtPnN0YXR1cyA9PSBESUZGX1NUQVRVU19NT0RJRklFRCkgJiYKLQkJCSAgICAgKChwLT5zY29yZSAmJgotCQkJICAgICAgIHN0cmNocihmaWx0ZXIsIERJRkZfU1RBVFVTX0ZJTFRFUl9CUk9LRU4pKSB8fAotCQkJICAgICAgKCFwLT5zY29yZSAmJgotCQkJICAgICAgIHN0cmNocihmaWx0ZXIsIERJRkZfU1RBVFVTX01PRElGSUVEKSkpKSB8fAotCQkJICAgICgocC0+c3RhdHVzICE9IERJRkZfU1RBVFVTX01PRElGSUVEKSAmJgotCQkJICAgICBzdHJjaHIoZmlsdGVyLCBwLT5zdGF0dXMpKSkKKwkJCWlmIChtYXRjaF9maWx0ZXIob3B0aW9ucywgcCkpCiAJCQkJZGlmZl9xKCZvdXRxLCBwKTsKIAkJCWVsc2UKIAkJCQlkaWZmX2ZyZWVfZmlsZXBhaXIocCk7CkBAIC00Njc2LDcgKzQ3ODEsNyBAQAogCWlmICghb3B0aW9ucy0+Zm91bmRfZm9sbG93KQogCQkvKiBTZWUgdHJ5X3RvX2ZvbGxvd19yZW5hbWVzKCkgaW4gdHJlZS1kaWZmLmMgKi8KIAkJZGlmZl9yZXNvbHZlX3JlbmFtZV9jb3B5KCk7Ci0JZGlmZmNvcmVfYXBwbHlfZmlsdGVyKG9wdGlvbnMtPmZpbHRlcik7CisJZGlmZmNvcmVfYXBwbHlfZmlsdGVyKG9wdGlvbnMpOwogCiAJaWYgKGRpZmZfcXVldWVkX2RpZmYubnIgJiYgIURJRkZfT1BUX1RTVChvcHRpb25zLCBESUZGX0ZST01fQ09OVEVOVFMpKQogCQlESUZGX09QVF9TRVQob3B0aW9ucywgSEFTX0NIQU5HRVMpOwpkaWZmIC0tZ2l0IGEvZGlmZi5oIGIvZGlmZi5oCmluZGV4IDc4YjQwOTEuLmNlMTIzZmEgMTAwNjQ0Ci0tLSBhL2RpZmYuaAorKysgYi9kaWZmLmgKQEAgLTUsNiArNSw3IEBACiAjZGVmaW5lIERJRkZfSAogCiAjaW5jbHVkZSAidHJlZS13YWxrLmgiCisjaW5jbHVkZSAicGF0aHNwZWMuaCIKIAogc3RydWN0IHJldl9pbmZvOwogc3RydWN0IGRpZmZfb3B0aW9uczsKQEAgLTg3LDggKzg4LDkgQEAKICNkZWZpbmUgRElGRl9PUFRfUElDS0FYRV9JR05PUkVfQ0FTRSAoMSA8PCAzMCkKIAogI2RlZmluZSBESUZGX09QVF9UU1Qob3B0cywgZmxhZykgICAgKChvcHRzKS0+ZmxhZ3MgJiBESUZGX09QVF8jI2ZsYWcpCi0jZGVmaW5lIERJRkZfT1BUX1NFVChvcHRzLCBmbGFnKSAgICAoKG9wdHMpLT5mbGFncyB8PSBESUZGX09QVF8jI2ZsYWcpCi0jZGVmaW5lIERJRkZfT1BUX0NMUihvcHRzLCBmbGFnKSAgICAoKG9wdHMpLT5mbGFncyAmPSB+RElGRl9PUFRfIyNmbGFnKQorI2RlZmluZSBESUZGX09QVF9UT1VDSEVEKG9wdHMsIGZsYWcpICAgICgob3B0cyktPnRvdWNoZWRfZmxhZ3MgJiBESUZGX09QVF8jI2ZsYWcpCisjZGVmaW5lIERJRkZfT1BUX1NFVChvcHRzLCBmbGFnKSAgICAoKChvcHRzKS0+ZmxhZ3MgfD0gRElGRl9PUFRfIyNmbGFnKSwoKG9wdHMpLT50b3VjaGVkX2ZsYWdzIHw9IERJRkZfT1BUXyMjZmxhZykpCisjZGVmaW5lIERJRkZfT1BUX0NMUihvcHRzLCBmbGFnKSAgICAoKChvcHRzKS0+ZmxhZ3MgJj0gfkRJRkZfT1BUXyMjZmxhZyksKChvcHRzKS0+dG91Y2hlZF9mbGFncyB8PSBESUZGX09QVF8jI2ZsYWcpKQogI2RlZmluZSBESUZGX1hETF9UU1Qob3B0cywgZmxhZykgICAgKChvcHRzKS0+eGRsX29wdHMgJiBYREZfIyNmbGFnKQogI2RlZmluZSBESUZGX1hETF9TRVQob3B0cywgZmxhZykgICAgKChvcHRzKS0+eGRsX29wdHMgfD0gWERGXyMjZmxhZykKICNkZWZpbmUgRElGRl9YRExfQ0xSKG9wdHMsIGZsYWcpICAgICgob3B0cyktPnhkbF9vcHRzICY9IH5YREZfIyNmbGFnKQpAQCAtMTAzLDEyICsxMDUsMTYgQEAKIH07CiAKIHN0cnVjdCBkaWZmX29wdGlvbnMgewotCWNvbnN0IGNoYXIgKmZpbHRlcjsKIAljb25zdCBjaGFyICpvcmRlcmZpbGU7CiAJY29uc3QgY2hhciAqcGlja2F4ZTsKIAljb25zdCBjaGFyICpzaW5nbGVfZm9sbG93OwogCWNvbnN0IGNoYXIgKmFfcHJlZml4LCAqYl9wcmVmaXg7CiAJdW5zaWduZWQgZmxhZ3M7CisJdW5zaWduZWQgdG91Y2hlZF9mbGFnczsKKworCS8qIGRpZmYtZmlsdGVyIGJpdHMgKi8KKwl1bnNpZ25lZCBpbnQgZmlsdGVyOworCiAJaW50IHVzZV9jb2xvcjsKIAlpbnQgY29udGV4dDsKIAlpbnQgaW50ZXJodW5rY29udGV4dDsKQEAgLTE0NSw2ICsxNTEsOCBAQAogCS8qIHRvIHN1cHBvcnQgaW50ZXJuYWwgZGlmZiByZWN1cnNpb24gYnkgLS1mb2xsb3cgaGFjayovCiAJaW50IGZvdW5kX2ZvbGxvdzsKIAorCXZvaWQgKCpzZXRfZGVmYXVsdCkoc3RydWN0IGRpZmZfb3B0aW9ucyAqKTsKKwogCUZJTEUgKmZpbGU7CiAJaW50IGNsb3NlX2ZpbGU7CiAKQEAgLTE1Niw2ICsxNjQsOCBAQAogCWRpZmZfcHJlZml4X2ZuX3Qgb3V0cHV0X3ByZWZpeDsKIAlpbnQgb3V0cHV0X3ByZWZpeF9sZW5ndGg7CiAJdm9pZCAqb3V0cHV0X3ByZWZpeF9kYXRhOworCisJaW50IGRpZmZfcGF0aF9jb3VudGVyOwogfTsKIAogZW51bSBjb2xvcl9kaWZmIHsKQEAgLTE3OSw4ICsxODksNiBAQAogCiBleHRlcm4gY29uc3QgY2hhciBtaW1lX2JvdW5kYXJ5X2xlYWRlcltdOwogCi1leHRlcm4gdm9pZCBkaWZmX3RyZWVfc2V0dXBfcGF0aHMoY29uc3QgY2hhciAqKnBhdGhzLCBzdHJ1Y3QgZGlmZl9vcHRpb25zICopOwotZXh0ZXJuIHZvaWQgZGlmZl90cmVlX3JlbGVhc2VfcGF0aHMoc3RydWN0IGRpZmZfb3B0aW9ucyAqKTsKIGV4dGVybiBpbnQgZGlmZl90cmVlKHN0cnVjdCB0cmVlX2Rlc2MgKnQxLCBzdHJ1Y3QgdHJlZV9kZXNjICp0MiwKIAkJICAgICBjb25zdCBjaGFyICpiYXNlLCBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQpOwogZXh0ZXJuIGludCBkaWZmX3RyZWVfc2hhMShjb25zdCB1bnNpZ25lZCBjaGFyICpvbGQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm5ldywKQEAgLTIzOCw3ICsyNDYsNyBAQAogI2RlZmluZSBESUZGX1NFVFVQX1VTRV9TSVpFX0NBQ0hFCTQKIAogLyoKLSAqIFBvb3IgbWFuJ3MgYWx0ZXJuYXRpdmUgdG8gcGFyc2Utb3B0aW9uLCB0byBhbGxvdyBib3RoIHN0aWNrZWQgZm9ybQorICogUG9vciBtYW4ncyBhbHRlcm5hdGl2ZSB0byBwYXJzZS1vcHRpb24sIHRvIGFsbG93IGJvdGggc3R1Y2sgZm9ybQogICogKC0tb3B0aW9uPXZhbHVlKSBhbmQgc2VwYXJhdGUgZm9ybSAoLS1vcHRpb24gdmFsdWUpLgogICovCiBleHRlcm4gaW50IHBhcnNlX2xvbmdfb3B0KGNvbnN0IGNoYXIgKm9wdCwgY29uc3QgY2hhciAqKmFyZ3YsCkBAIC0zMjQsNyArMzMyLDcgQEAKIAogZXh0ZXJuIGludCBkaWZmX3Jlc3VsdF9jb2RlKHN0cnVjdCBkaWZmX29wdGlvbnMgKiwgaW50KTsKIAotZXh0ZXJuIHZvaWQgZGlmZl9ub19pbmRleChzdHJ1Y3QgcmV2X2luZm8gKiwgaW50LCBjb25zdCBjaGFyICoqLCBpbnQsIGNvbnN0IGNoYXIgKik7CitleHRlcm4gdm9pZCBkaWZmX25vX2luZGV4KHN0cnVjdCByZXZfaW5mbyAqLCBpbnQsIGNvbnN0IGNoYXIgKiosIGNvbnN0IGNoYXIgKik7CiAKIGV4dGVybiBpbnQgaW5kZXhfZGlmZmVyc19mcm9tKGNvbnN0IGNoYXIgKmRlZiwgaW50IGRpZmZfZmxhZ3MpOwogCkBAIC0zMzgsNiArMzQ2LDggQEAKIAogZXh0ZXJuIGxvbmcgcGFyc2VfYWxnb3JpdGhtX3ZhbHVlKGNvbnN0IGNoYXIgKnZhbHVlKTsKIAorZXh0ZXJuIHZvaWQgaGFuZGxlX2RlcHJlY2F0ZWRfc2hvd19kaWZmX3Eoc3RydWN0IGRpZmZfb3B0aW9ucyAqKTsKKwogZXh0ZXJuIGludCBwcmludF9zdGF0X3N1bW1hcnkoRklMRSAqZnAsIGludCBmaWxlcywKIAkJCSAgICAgIGludCBpbnNlcnRpb25zLCBpbnQgZGVsZXRpb25zKTsKIGV4dGVybiB2b2lkIHNldHVwX2RpZmZfcGFnZXIoc3RydWN0IGRpZmZfb3B0aW9ucyAqKTsKZGlmZiAtLWdpdCBhL2RpZmZjb3JlLW9yZGVyLmMgYi9kaWZmY29yZS1vcmRlci5jCmluZGV4IDIzZTkzODUuLmZlN2YxZjQgMTAwNjQ0Ci0tLSBhL2RpZmZjb3JlLW9yZGVyLmMKKysrIGIvZGlmZmNvcmUtb3JkZXIuYwpAQCAtMTAsMjggKzEwLDIxIEBACiAKIHN0YXRpYyB2b2lkIHByZXBhcmVfb3JkZXIoY29uc3QgY2hhciAqb3JkZXJmaWxlKQogewotCWludCBmZCwgY250LCBwYXNzOworCWludCBjbnQsIHBhc3M7CisJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCXZvaWQgKm1hcDsKIAljaGFyICpjcCwgKmVuZHA7Ci0Jc3RydWN0IHN0YXQgc3Q7Ci0Jc2l6ZV90IHN6OworCXNzaXplX3Qgc3o7CiAKIAlpZiAob3JkZXIpCiAJCXJldHVybjsKIAotCWZkID0gb3BlbihvcmRlcmZpbGUsIE9fUkRPTkxZKTsKLQlpZiAoZmQgPCAwKQotCQlyZXR1cm47Ci0JaWYgKGZzdGF0KGZkLCAmc3QpKSB7Ci0JCWNsb3NlKGZkKTsKLQkJcmV0dXJuOwotCX0KLQlzeiA9IHhzaXplX3Qoc3Quc3Rfc2l6ZSk7Ci0JbWFwID0gbW1hcChOVUxMLCBzeiwgUFJPVF9SRUFEfFBST1RfV1JJVEUsIE1BUF9QUklWQVRFLCBmZCwgMCk7Ci0JY2xvc2UoZmQpOwotCWlmIChtYXAgPT0gTUFQX0ZBSUxFRCkKLQkJcmV0dXJuOworCXN6ID0gc3RyYnVmX3JlYWRfZmlsZSgmc2IsIG9yZGVyZmlsZSwgMCk7CisJaWYgKHN6IDwgMCkKKwkJZGllX2Vycm5vKF8oImZhaWxlZCB0byByZWFkIG9yZGVyZmlsZSAnJXMnIiksIG9yZGVyZmlsZSk7CisJbWFwID0gc3RyYnVmX2RldGFjaCgmc2IsIE5VTEwpOwogCWVuZHAgPSAoY2hhciAqKSBtYXAgKyBzejsKKwogCWZvciAocGFzcyA9IDA7IHBhc3MgPCAyOyBwYXNzKyspIHsKIAkJY250ID0gMDsKIAkJY3AgPSBtYXA7CkBAIC03MywxNSArNjYsMTYgQEAKIHN0YXRpYyBpbnQgbWF0Y2hfb3JkZXIoY29uc3QgY2hhciAqcGF0aCkKIHsKIAlpbnQgaTsKLQljaGFyIHBbUEFUSF9NQVhdOworCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIHAgPSBTVFJCVUZfSU5JVDsKIAogCWZvciAoaSA9IDA7IGkgPCBvcmRlcl9jbnQ7IGkrKykgewotCQlzdHJjcHkocCwgcGF0aCk7Ci0JCXdoaWxlIChwWzBdKSB7CisJCXN0cmJ1Zl9yZXNldCgmcCk7CisJCXN0cmJ1Zl9hZGRzdHIoJnAsIHBhdGgpOworCQl3aGlsZSAocC5idWZbMF0pIHsKIAkJCWNoYXIgKmNwOwotCQkJaWYgKCFmbm1hdGNoKG9yZGVyW2ldLCBwLCAwKSkKKwkJCWlmICghZm5tYXRjaChvcmRlcltpXSwgcC5idWYsIDApKQogCQkJCXJldHVybiBpOwotCQkJY3AgPSBzdHJyY2hyKHAsICcvJyk7CisJCQljcCA9IHN0cnJjaHIocC5idWYsICcvJyk7CiAJCQlpZiAoIWNwKQogCQkJCWJyZWFrOwogCQkJKmNwID0gMDsKZGlmZiAtLWdpdCBhL2RpZmZjb3JlLmggYi9kaWZmY29yZS5oCmluZGV4IDFjMTZjODUuLjc5ZGU4Y2YgMTAwNjQ0Ci0tLSBhL2RpZmZjb3JlLmgKKysrIGIvZGlmZmNvcmUuaApAQCAtMjksMTAgKzI5LDggQEAKIAljaGFyICpwYXRoOwogCXZvaWQgKmRhdGE7CiAJdm9pZCAqY250X2RhdGE7Ci0JY29uc3QgY2hhciAqZnVuY25hbWVfcGF0dGVybl9pZGVudDsKIAl1bnNpZ25lZCBsb25nIHNpemU7CiAJaW50IGNvdW50OyAgICAgICAgICAgICAgIC8qIFJlZmVyZW5jZSBjb3VudCAqLwotCWludCB4ZnJtX2ZsYWdzOwkJIC8qIGZvciB1c2UgYnkgdGhlIHhmcm0gKi8KIAlpbnQgcmVuYW1lX3VzZWQ7ICAgICAgICAgLyogQ291bnQgb2YgcmVuYW1lIHVzZXJzICovCiAJdW5zaWduZWQgc2hvcnQgbW9kZTsJIC8qIGZpbGUgbW9kZSAqLwogCXVuc2lnbmVkIHNoYTFfdmFsaWQgOiAxOyAvKiBpZiB0cnVlLCB1c2Ugc2hhMSBhbmQgdHJ1c3QgbW9kZTsKQEAgLTQzLDEzICs0MSwxMyBAQAogCXVuc2lnbmVkIHNob3VsZF9mcmVlIDogMTsgLyogZGF0YSBzaG91bGQgYmUgZnJlZSgpJ2VkICovCiAJdW5zaWduZWQgc2hvdWxkX211bm1hcCA6IDE7IC8qIGRhdGEgc2hvdWxkIGJlIG11bm1hcCgpJ2VkICovCiAJdW5zaWduZWQgZGlydHlfc3VibW9kdWxlIDogMjsgIC8qIEZvciBzdWJtb2R1bGVzOiBpdHMgd29yayB0cmVlIGlzIGRpcnR5ICovCi0JdW5zaWduZWQgaXNfc3RkaW4gOiAxOwogI2RlZmluZSBESVJUWV9TVUJNT0RVTEVfVU5UUkFDS0VEIDEKICNkZWZpbmUgRElSVFlfU1VCTU9EVUxFX01PRElGSUVEICAyCisJdW5zaWduZWQgaXNfc3RkaW4gOiAxOwogCXVuc2lnbmVkIGhhc19tb3JlX2VudHJpZXMgOiAxOyAvKiBvbmx5IGFwcGVhciBpbiBjb21iaW5lZCBkaWZmICovCi0Jc3RydWN0IHVzZXJkaWZmX2RyaXZlciAqZHJpdmVyOwogCS8qIGRhdGEgc2hvdWxkIGJlIGNvbnNpZGVyZWQgImJpbmFyeSI7IC0xIG1lYW5zICJkb24ndCBrbm93IHlldCIgKi8KLQlpbnQgaXNfYmluYXJ5OworCWludCBpc19iaW5hcnkgOiAyOworCXN0cnVjdCB1c2VyZGlmZl9kcml2ZXIgKmRyaXZlcjsKIH07CiAKIGV4dGVybiBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYWxsb2NfZmlsZXNwZWMoY29uc3QgY2hhciAqKTsKZGlmZiAtLWdpdCBhL2Rpci5jIGIvZGlyLmMKaW5kZXggMWQ2M2U5OC4uYjM1YjYzMyAxMDA2NDQKLS0tIGEvZGlyLmMKKysrIGIvZGlyLmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlICJkaXIuaCIKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAid2lsZG1hdGNoLmgiCisjaW5jbHVkZSAicGF0aHNwZWMuaCIKIAogc3RydWN0IHBhdGhfc2ltcGxpZnkgewogCWludCBsZW47CkBAIC01MSwyNiArNTIsMzIgQEAKIAlyZXR1cm4gZm5tYXRjaChwYXR0ZXJuLCBzdHJpbmcsIGZsYWdzIHwgKGlnbm9yZV9jYXNlID8gRk5NX0NBU0VGT0xEIDogMCkpOwogfQogCi1pbmxpbmUgaW50IGdpdF9mbm1hdGNoKGNvbnN0IGNoYXIgKnBhdHRlcm4sIGNvbnN0IGNoYXIgKnN0cmluZywKLQkJICAgICAgIGludCBmbGFncywgaW50IHByZWZpeCkKK2lubGluZSBpbnQgZ2l0X2ZubWF0Y2goY29uc3Qgc3RydWN0IHBhdGhzcGVjX2l0ZW0gKml0ZW0sCisJCSAgICAgICBjb25zdCBjaGFyICpwYXR0ZXJuLCBjb25zdCBjaGFyICpzdHJpbmcsCisJCSAgICAgICBpbnQgcHJlZml4KQogewotCWludCBmbm1fZmxhZ3MgPSAwOwotCWlmIChmbGFncyAmIEdGTk1fUEFUSE5BTUUpCi0JCWZubV9mbGFncyB8PSBGTk1fUEFUSE5BTUU7CiAJaWYgKHByZWZpeCA+IDApIHsKLQkJaWYgKHN0cm5jbXAocGF0dGVybiwgc3RyaW5nLCBwcmVmaXgpKQorCQlpZiAocHNfc3RybmNtcChpdGVtLCBwYXR0ZXJuLCBzdHJpbmcsIHByZWZpeCkpCiAJCQlyZXR1cm4gRk5NX05PTUFUQ0g7CiAJCXBhdHRlcm4gKz0gcHJlZml4OwogCQlzdHJpbmcgKz0gcHJlZml4OwogCX0KLQlpZiAoZmxhZ3MgJiBHRk5NX09ORVNUQVIpIHsKKwlpZiAoaXRlbS0+ZmxhZ3MgJiBQQVRIU1BFQ19PTkVTVEFSKSB7CiAJCWludCBwYXR0ZXJuX2xlbiA9IHN0cmxlbigrK3BhdHRlcm4pOwogCQlpbnQgc3RyaW5nX2xlbiA9IHN0cmxlbihzdHJpbmcpOwogCQlyZXR1cm4gc3RyaW5nX2xlbiA8IHBhdHRlcm5fbGVuIHx8Ci0JCSAgICAgICBzdHJjbXAocGF0dGVybiwKLQkJCSAgICAgIHN0cmluZyArIHN0cmluZ19sZW4gLSBwYXR0ZXJuX2xlbik7CisJCQlwc19zdHJjbXAoaXRlbSwgcGF0dGVybiwKKwkJCQkgIHN0cmluZyArIHN0cmluZ19sZW4gLSBwYXR0ZXJuX2xlbik7CiAJfQotCXJldHVybiBmbm1hdGNoKHBhdHRlcm4sIHN0cmluZywgZm5tX2ZsYWdzKTsKKwlpZiAoaXRlbS0+bWFnaWMgJiBQQVRIU1BFQ19HTE9CKQorCQlyZXR1cm4gd2lsZG1hdGNoKHBhdHRlcm4sIHN0cmluZywKKwkJCQkgV01fUEFUSE5BTUUgfAorCQkJCSAoaXRlbS0+bWFnaWMgJiBQQVRIU1BFQ19JQ0FTRSA/IFdNX0NBU0VGT0xEIDogMCksCisJCQkJIE5VTEwpOworCWVsc2UKKwkJLyogd2lsZG1hdGNoIGhhcyBub3QgbGVhcm5lZCBubyBGTk1fUEFUSE5BTUUgbW9kZSB5ZXQgKi8KKwkJcmV0dXJuIGZubWF0Y2gocGF0dGVybiwgc3RyaW5nLAorCQkJICAgICAgIGl0ZW0tPm1hZ2ljICYgUEFUSFNQRUNfSUNBU0UgPyBGTk1fQ0FTRUZPTEQgOiAwKTsKIH0KIAogc3RhdGljIGludCBmbm1hdGNoX2ljYXNlX21lbShjb25zdCBjaGFyICpwYXR0ZXJuLCBpbnQgcGF0dGVybmxlbiwKQEAgLTEwMiwyNiArMTA5LDQzIEBACiAJcmV0dXJuIG1hdGNoX3N0YXR1czsKIH0KIAotc3RhdGljIHNpemVfdCBjb21tb25fcHJlZml4X2xlbihjb25zdCBjaGFyICoqcGF0aHNwZWMpCitzdGF0aWMgc2l6ZV90IGNvbW1vbl9wcmVmaXhfbGVuKGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCiB7Ci0JY29uc3QgY2hhciAqbiwgKmZpcnN0OworCWludCBuOwogCXNpemVfdCBtYXggPSAwOwotCWludCBsaXRlcmFsID0gbGltaXRfcGF0aHNwZWNfdG9fbGl0ZXJhbCgpOwogCi0JaWYgKCFwYXRoc3BlYykKLQkJcmV0dXJuIG1heDsKKwkvKgorCSAqICI6KGljYXNlKXBhdGgiIGlzIHRyZWF0ZWQgYXMgYSBwYXRoc3BlYyBmdWxsIG9mCisJICogd2lsZGNhcmQuIEluIG90aGVyIHdvcmRzLCBvbmx5IHByZWZpeCBpcyBjb25zaWRlcmVkIGNvbW1vbgorCSAqIHByZWZpeC4gSWYgdGhlIHBhdGhzcGVjIGlzIGFiYy9mb28gYWJjL2JhciwgcnVubmluZyBpbgorCSAqIHN1YmRpciB4eXosIHRoZSBjb21tb24gcHJlZml4IGlzIHN0aWxsIHh5eiwgbm90IHh1ei9hYmMgYXMKKwkgKiBpbiBub24tOihpY2FzZSkuCisJICovCisJR1VBUkRfUEFUSFNQRUMocGF0aHNwZWMsCisJCSAgICAgICBQQVRIU1BFQ19GUk9NVE9QIHwKKwkJICAgICAgIFBBVEhTUEVDX01BWERFUFRIIHwKKwkJICAgICAgIFBBVEhTUEVDX0xJVEVSQUwgfAorCQkgICAgICAgUEFUSFNQRUNfR0xPQiB8CisJCSAgICAgICBQQVRIU1BFQ19JQ0FTRSB8CisJCSAgICAgICBQQVRIU1BFQ19FWENMVURFKTsKIAotCWZpcnN0ID0gKnBhdGhzcGVjOwotCXdoaWxlICgobiA9ICpwYXRoc3BlYysrKSkgewotCQlzaXplX3QgaSwgbGVuID0gMDsKLQkJZm9yIChpID0gMDsgZmlyc3QgPT0gbiB8fCBpIDwgbWF4OyBpKyspIHsKLQkJCWNoYXIgYyA9IG5baV07Ci0JCQlpZiAoIWMgfHwgYyAhPSBmaXJzdFtpXSB8fCAoIWxpdGVyYWwgJiYgaXNfZ2xvYl9zcGVjaWFsKGMpKSkKKwlmb3IgKG4gPSAwOyBuIDwgcGF0aHNwZWMtPm5yOyBuKyspIHsKKwkJc2l6ZV90IGkgPSAwLCBsZW4gPSAwLCBpdGVtX2xlbjsKKwkJaWYgKHBhdGhzcGVjLT5pdGVtc1tuXS5tYWdpYyAmIFBBVEhTUEVDX0VYQ0xVREUpCisJCQljb250aW51ZTsKKwkJaWYgKHBhdGhzcGVjLT5pdGVtc1tuXS5tYWdpYyAmIFBBVEhTUEVDX0lDQVNFKQorCQkJaXRlbV9sZW4gPSBwYXRoc3BlYy0+aXRlbXNbbl0ucHJlZml4OworCQllbHNlCisJCQlpdGVtX2xlbiA9IHBhdGhzcGVjLT5pdGVtc1tuXS5ub3dpbGRjYXJkX2xlbjsKKwkJd2hpbGUgKGkgPCBpdGVtX2xlbiAmJiAobiA9PSAwIHx8IGkgPCBtYXgpKSB7CisJCQljaGFyIGMgPSBwYXRoc3BlYy0+aXRlbXNbbl0ubWF0Y2hbaV07CisJCQlpZiAoYyAhPSBwYXRoc3BlYy0+aXRlbXNbMF0ubWF0Y2hbaV0pCiAJCQkJYnJlYWs7CiAJCQlpZiAoYyA9PSAnLycpCiAJCQkJbGVuID0gaSArIDE7CisJCQlpKys7CiAJCX0KLQkJaWYgKGZpcnN0ID09IG4gfHwgbGVuIDwgbWF4KSB7CisJCWlmIChuID09IDAgfHwgbGVuIDwgbWF4KSB7CiAJCQltYXggPSBsZW47CiAJCQlpZiAoIW1heCkKIAkJCQlicmVhazsKQEAgLTEzNCwxNCArMTU4LDE0IEBACiAgKiBSZXR1cm5zIGEgY29weSBvZiB0aGUgbG9uZ2VzdCBsZWFkaW5nIHBhdGggY29tbW9uIGFtb25nIGFsbAogICogcGF0aHNwZWNzLgogICovCi1jaGFyICpjb21tb25fcHJlZml4KGNvbnN0IGNoYXIgKipwYXRoc3BlYykKK2NoYXIgKmNvbW1vbl9wcmVmaXgoY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYykKIHsKIAl1bnNpZ25lZCBsb25nIGxlbiA9IGNvbW1vbl9wcmVmaXhfbGVuKHBhdGhzcGVjKTsKIAotCXJldHVybiBsZW4gPyB4bWVtZHVweigqcGF0aHNwZWMsIGxlbikgOiBOVUxMOworCXJldHVybiBsZW4gPyB4bWVtZHVweihwYXRoc3BlYy0+aXRlbXNbMF0ubWF0Y2gsIGxlbikgOiBOVUxMOwogfQogCi1pbnQgZmlsbF9kaXJlY3Rvcnkoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwgY29uc3QgY2hhciAqKnBhdGhzcGVjKQoraW50IGZpbGxfZGlyZWN0b3J5KHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCiB7CiAJc2l6ZV90IGxlbjsKIApAQCAtMTUyLDcgKzE3Niw3IEBACiAJbGVuID0gY29tbW9uX3ByZWZpeF9sZW4ocGF0aHNwZWMpOwogCiAJLyogUmVhZCB0aGUgZGlyZWN0b3J5IGFuZCBwcnVuZSBpdCAqLwotCXJlYWRfZGlyZWN0b3J5KGRpciwgcGF0aHNwZWMgPyAqcGF0aHNwZWMgOiAiIiwgbGVuLCBwYXRoc3BlYyk7CisJcmVhZF9kaXJlY3RvcnkoZGlyLCBwYXRoc3BlYy0+bnIgPyBwYXRoc3BlYy0+X3Jhd1swXSA6ICIiLCBsZW4sIHBhdGhzcGVjKTsKIAlyZXR1cm4gbGVuOwogfQogCkBAIC0xODMsMTEzICsyMDcsNiBAQAogICoKICAqIEl0IHJldHVybnMgMCB3aGVuIHRoZXJlIGlzIG5vIG1hdGNoLgogICovCi1zdGF0aWMgaW50IG1hdGNoX29uZShjb25zdCBjaGFyICptYXRjaCwgY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4pCi17Ci0JaW50IG1hdGNobGVuOwotCWludCBsaXRlcmFsID0gbGltaXRfcGF0aHNwZWNfdG9fbGl0ZXJhbCgpOwotCi0JLyogSWYgdGhlIG1hdGNoIHdhcyBqdXN0IHRoZSBwcmVmaXgsIHdlIG1hdGNoZWQgKi8KLQlpZiAoISptYXRjaCkKLQkJcmV0dXJuIE1BVENIRURfUkVDVVJTSVZFTFk7Ci0KLQlpZiAoaWdub3JlX2Nhc2UpIHsKLQkJZm9yICg7OykgewotCQkJdW5zaWduZWQgY2hhciBjMSA9IHRvbG93ZXIoKm1hdGNoKTsKLQkJCXVuc2lnbmVkIGNoYXIgYzIgPSB0b2xvd2VyKCpuYW1lKTsKLQkJCWlmIChjMSA9PSAnXDAnIHx8ICghbGl0ZXJhbCAmJiBpc19nbG9iX3NwZWNpYWwoYzEpKSkKLQkJCQlicmVhazsKLQkJCWlmIChjMSAhPSBjMikKLQkJCQlyZXR1cm4gMDsKLQkJCW1hdGNoKys7Ci0JCQluYW1lKys7Ci0JCQluYW1lbGVuLS07Ci0JCX0KLQl9IGVsc2UgewotCQlmb3IgKDs7KSB7Ci0JCQl1bnNpZ25lZCBjaGFyIGMxID0gKm1hdGNoOwotCQkJdW5zaWduZWQgY2hhciBjMiA9ICpuYW1lOwotCQkJaWYgKGMxID09ICdcMCcgfHwgKCFsaXRlcmFsICYmIGlzX2dsb2Jfc3BlY2lhbChjMSkpKQotCQkJCWJyZWFrOwotCQkJaWYgKGMxICE9IGMyKQotCQkJCXJldHVybiAwOwotCQkJbWF0Y2grKzsKLQkJCW5hbWUrKzsKLQkJCW5hbWVsZW4tLTsKLQkJfQotCX0KLQotCS8qCi0JICogSWYgd2UgZG9uJ3QgbWF0Y2ggdGhlIG1hdGNoc3RyaW5nIGV4YWN0bHksCi0JICogd2UgbmVlZCB0byBtYXRjaCBieSBmbm1hdGNoCi0JICovCi0JbWF0Y2hsZW4gPSBzdHJsZW4obWF0Y2gpOwotCWlmIChzdHJuY21wX2ljYXNlKG1hdGNoLCBuYW1lLCBtYXRjaGxlbikpIHsKLQkJaWYgKGxpdGVyYWwpCi0JCQlyZXR1cm4gMDsKLQkJcmV0dXJuICFmbm1hdGNoX2ljYXNlKG1hdGNoLCBuYW1lLCAwKSA/IE1BVENIRURfRk5NQVRDSCA6IDA7Ci0JfQotCi0JaWYgKG5hbWVsZW4gPT0gbWF0Y2hsZW4pCi0JCXJldHVybiBNQVRDSEVEX0VYQUNUTFk7Ci0JaWYgKG1hdGNoW21hdGNobGVuLTFdID09ICcvJyB8fCBuYW1lW21hdGNobGVuXSA9PSAnLycpCi0JCXJldHVybiBNQVRDSEVEX1JFQ1VSU0lWRUxZOwotCXJldHVybiAwOwotfQotCi0vKgotICogR2l2ZW4gYSBuYW1lIGFuZCBhIGxpc3Qgb2YgcGF0aHNwZWNzLCByZXR1cm5zIHRoZSBuYXR1cmUgb2YgdGhlCi0gKiBjbG9zZXN0IChpLmUuIG1vc3Qgc3BlY2lmaWMpIG1hdGNoIG9mIHRoZSBuYW1lIHRvIGFueSBvZiB0aGUKLSAqIHBhdGhzcGVjcy4KLSAqCi0gKiBUaGUgY2FsbGVyIHR5cGljYWxseSBjYWxscyB0aGlzIG11bHRpcGxlIHRpbWVzIHdpdGggdGhlIHNhbWUKLSAqIHBhdGhzcGVjIGFuZCBzZWVuW10gYXJyYXkgYnV0IHdpdGggZGlmZmVyZW50IG5hbWUvbmFtZWxlbgotICogKGUuZy4gZW50cmllcyBmcm9tIHRoZSBpbmRleCkgYW5kIGlzIGludGVyZXN0ZWQgaW4gc2VlaW5nIGlmIGFuZAotICogaG93IGVhY2ggcGF0aHNwZWMgbWF0Y2hlcyBhbGwgdGhlIG5hbWVzIGl0IGNhbGxzIHRoaXMgZnVuY3Rpb24KLSAqIHdpdGguICBBIG1hcmsgaXMgbGVmdCBpbiB0aGUgc2VlbltdIGFycmF5IGZvciBlYWNoIHBhdGhzcGVjIGVsZW1lbnQKLSAqIGluZGljYXRpbmcgdGhlIGNsb3Nlc3QgdHlwZSBvZiBtYXRjaCB0aGF0IGVsZW1lbnQgYWNoaWV2ZWQsIHNvIGlmCi0gKiBzZWVuW25dIHJlbWFpbnMgemVybyBhZnRlciBtdWx0aXBsZSBpbnZvY2F0aW9ucywgdGhhdCBtZWFucyB0aGUgbnRoCi0gKiBwYXRoc3BlYyBkaWQgbm90IG1hdGNoIGFueSBuYW1lcywgd2hpY2ggY291bGQgaW5kaWNhdGUgdGhhdCB0aGUKLSAqIHVzZXIgbWlzdHlwZWQgdGhlIG50aCBwYXRoc3BlYy4KLSAqLwotaW50IG1hdGNoX3BhdGhzcGVjKGNvbnN0IGNoYXIgKipwYXRoc3BlYywgY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4sCi0JCWludCBwcmVmaXgsIGNoYXIgKnNlZW4pCi17Ci0JaW50IGksIHJldHZhbCA9IDA7Ci0KLQlpZiAoIXBhdGhzcGVjKQotCQlyZXR1cm4gMTsKLQotCW5hbWUgKz0gcHJlZml4OwotCW5hbWVsZW4gLT0gcHJlZml4OwotCi0JZm9yIChpID0gMDsgcGF0aHNwZWNbaV0gIT0gTlVMTDsgaSsrKSB7Ci0JCWludCBob3c7Ci0JCWNvbnN0IGNoYXIgKm1hdGNoID0gcGF0aHNwZWNbaV0gKyBwcmVmaXg7Ci0JCWlmIChzZWVuICYmIHNlZW5baV0gPT0gTUFUQ0hFRF9FWEFDVExZKQotCQkJY29udGludWU7Ci0JCWhvdyA9IG1hdGNoX29uZShtYXRjaCwgbmFtZSwgbmFtZWxlbik7Ci0JCWlmIChob3cpIHsKLQkJCWlmIChyZXR2YWwgPCBob3cpCi0JCQkJcmV0dmFsID0gaG93OwotCQkJaWYgKHNlZW4gJiYgc2VlbltpXSA8IGhvdykKLQkJCQlzZWVuW2ldID0gaG93OwotCQl9Ci0JfQotCXJldHVybiByZXR2YWw7Ci19Ci0KLS8qCi0gKiBEb2VzICdtYXRjaCcgbWF0Y2ggdGhlIGdpdmVuIG5hbWU/Ci0gKiBBIG1hdGNoIGlzIGZvdW5kIGlmCi0gKgotICogKDEpIHRoZSAnbWF0Y2gnIHN0cmluZyBpcyBsZWFkaW5nIGRpcmVjdG9yeSBvZiAnbmFtZScsIG9yCi0gKiAoMikgdGhlICdtYXRjaCcgc3RyaW5nIGlzIGEgd2lsZGNhcmQgYW5kIG1hdGNoZXMgJ25hbWUnLCBvcgotICogKDMpIHRoZSAnbWF0Y2gnIHN0cmluZyBpcyBleGFjdGx5IHRoZSBzYW1lIGFzICduYW1lJy4KLSAqCi0gKiBhbmQgdGhlIHJldHVybiB2YWx1ZSB0ZWxscyB3aGljaCBjYXNlIGl0IHdhcy4KLSAqCi0gKiBJdCByZXR1cm5zIDAgd2hlbiB0aGVyZSBpcyBubyBtYXRjaC4KLSAqLwogc3RhdGljIGludCBtYXRjaF9wYXRoc3BlY19pdGVtKGNvbnN0IHN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtLCBpbnQgcHJlZml4LAogCQkJICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuKQogewpAQCAtMjk3LDExICsyMTQsNDQgQEAKIAljb25zdCBjaGFyICptYXRjaCA9IGl0ZW0tPm1hdGNoICsgcHJlZml4OwogCWludCBtYXRjaGxlbiA9IGl0ZW0tPmxlbiAtIHByZWZpeDsKIAorCS8qCisJICogVGhlIG5vcm1hbCBjYWxsIHBhdHRlcm4gaXM6CisJICogMS4gcHJlZml4ID0gY29tbW9uX3ByZWZpeF9sZW4ocHMpOworCSAqIDIuIHBydW5lIHNvbWV0aGluZywgb3IgZmlsbF9kaXJlY3RvcnkKKwkgKiAzLiBtYXRjaF9wYXRoc3BlY19kZXB0aCgpCisJICoKKwkgKiAncHJlZml4JyBhdCAjMSBtYXkgYmUgc2hvcnRlciB0aGFuIHRoZSBjb21tYW5kJ3MgcHJlZml4IGFuZAorCSAqIGl0J3Mgb2sgZm9yICMyIHRvIG1hdGNoIGV4dHJhIGZpbGVzLiBUaG9zZSBleHRyYXMgd2lsbCBiZQorCSAqIHRyaW1tZWQgYXQgIzMuCisJICoKKwkgKiBTdXBwb3NlIHRoZSBwYXRoc3BlYyBpcyAnZm9vJyBhbmQgJy4uL2JhcicgcnVubmluZyBmcm9tCisJICogc3ViZGlyICd4eXonLiBUaGUgY29tbW9uIHByZWZpeCBhdCAjMSB3aWxsIGJlIGVtcHR5LCB0aGFua3MKKwkgKiB0byAiLi4vIi4gV2UgbWF5IGhhdmUgeHl6L2ZvbyBfYW5kXyBYWVovZm9vIGFmdGVyICMyLiBUaGUKKwkgKiB1c2VyIGRvZXMgbm90IHdhbnQgWFlaL2Zvbywgb25seSB0aGUgImZvbyIgcGFydCBzaG91bGQgYmUKKwkgKiBjYXNlLWluc2Vuc2l0aXZlLiBXZSBuZWVkIHRvIGZpbHRlciBvdXQgWFlaL2ZvbyBoZXJlLiBJbgorCSAqIG90aGVyIHdvcmRzLCB3ZSBkbyBub3QgdHJ1c3QgdGhlIGNhbGxlciBvbiBjb21wYXJpbmcgdGhlCisJICogcHJlZml4IHBhcnQgd2hlbiA6KGljYXNlKSBpcyBpbnZvbHZlZC4gV2UgZG8gZXhhY3QKKwkgKiBjb21wYXJpc29uIG91cnNlbHZlcy4KKwkgKgorCSAqIE5vcm1hbGx5IHRoZSBjYWxsZXIgKGNvbW1vbl9wcmVmaXhfbGVuKCkgaW4gZmFjdCkgZG9lcworCSAqIF9leGFjdF8gbWF0Y2hpbmcgb24gbmFtZVstcHJlZml4KzEuLi0xXSBhbmQgd2UgZG8gbm90IG5lZWQKKwkgKiB0byBjaGVjayB0aGF0IHBhcnQuIEJlIGRlZmVuc2l2ZSBhbmQgY2hlY2sgaXQgYW55d2F5LCBpbgorCSAqIGNhc2UgY29tbW9uX3ByZWZpeF9sZW4gaXMgY2hhbmdlZCwgb3IgYSBuZXcgY2FsbGVyIGlzCisJICogaW50cm9kdWNlZCB0aGF0IGRvZXMgbm90IHVzZSBjb21tb25fcHJlZml4X2xlbi4KKwkgKgorCSAqIElmIHRoZSBwZW5hbHR5IHR1cm5zIG91dCB0b28gaGlnaCB3aGVuIHByZWZpeCBpcyByZWFsbHkKKwkgKiBsb25nLCBtYXliZSBjaGFuZ2UgaXQgdG8KKwkgKiBzdHJuY21wKG1hdGNoLCBuYW1lLCBpdGVtLT5wcmVmaXggLSBwcmVmaXgpCisJICovCisJaWYgKGl0ZW0tPnByZWZpeCAmJiAoaXRlbS0+bWFnaWMgJiBQQVRIU1BFQ19JQ0FTRSkgJiYKKwkgICAgc3RybmNtcChpdGVtLT5tYXRjaCwgbmFtZSAtIHByZWZpeCwgaXRlbS0+cHJlZml4KSkKKwkJcmV0dXJuIDA7CisKIAkvKiBJZiB0aGUgbWF0Y2ggd2FzIGp1c3QgdGhlIHByZWZpeCwgd2UgbWF0Y2hlZCAqLwogCWlmICghKm1hdGNoKQogCQlyZXR1cm4gTUFUQ0hFRF9SRUNVUlNJVkVMWTsKIAotCWlmIChtYXRjaGxlbiA8PSBuYW1lbGVuICYmICFzdHJuY21wKG1hdGNoLCBuYW1lLCBtYXRjaGxlbikpIHsKKwlpZiAobWF0Y2hsZW4gPD0gbmFtZWxlbiAmJiAhcHNfc3RybmNtcChpdGVtLCBtYXRjaCwgbmFtZSwgbWF0Y2hsZW4pKSB7CiAJCWlmIChtYXRjaGxlbiA9PSBuYW1lbGVuKQogCQkJcmV0dXJuIE1BVENIRURfRVhBQ1RMWTsKIApAQCAtMzEwLDggKzI2MCw3IEBACiAJfQogCiAJaWYgKGl0ZW0tPm5vd2lsZGNhcmRfbGVuIDwgaXRlbS0+bGVuICYmCi0JICAgICFnaXRfZm5tYXRjaChtYXRjaCwgbmFtZSwKLQkJCSBpdGVtLT5mbGFncyAmIFBBVEhTUEVDX09ORVNUQVIgPyBHRk5NX09ORVNUQVIgOiAwLAorCSAgICAhZ2l0X2ZubWF0Y2goaXRlbSwgbWF0Y2gsIG5hbWUsCiAJCQkgaXRlbS0+bm93aWxkY2FyZF9sZW4gLSBwcmVmaXgpKQogCQlyZXR1cm4gTUFUQ0hFRF9GTk1BVENIOwogCkBAIC0zMzMsMTQgKzI4MiwyNSBAQAogICogcGF0aHNwZWMgZGlkIG5vdCBtYXRjaCBhbnkgbmFtZXMsIHdoaWNoIGNvdWxkIGluZGljYXRlIHRoYXQgdGhlCiAgKiB1c2VyIG1pc3R5cGVkIHRoZSBudGggcGF0aHNwZWMuCiAgKi8KLWludCBtYXRjaF9wYXRoc3BlY19kZXB0aChjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBzLAotCQkJIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLAotCQkJIGludCBwcmVmaXgsIGNoYXIgKnNlZW4pCitzdGF0aWMgaW50IG1hdGNoX3BhdGhzcGVjX2RlcHRoXzEoY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwcywKKwkJCQkgIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLAorCQkJCSAgaW50IHByZWZpeCwgY2hhciAqc2VlbiwKKwkJCQkgIGludCBleGNsdWRlKQogewogCWludCBpLCByZXR2YWwgPSAwOwogCisJR1VBUkRfUEFUSFNQRUMocHMsCisJCSAgICAgICBQQVRIU1BFQ19GUk9NVE9QIHwKKwkJICAgICAgIFBBVEhTUEVDX01BWERFUFRIIHwKKwkJICAgICAgIFBBVEhTUEVDX0xJVEVSQUwgfAorCQkgICAgICAgUEFUSFNQRUNfR0xPQiB8CisJCSAgICAgICBQQVRIU1BFQ19JQ0FTRSB8CisJCSAgICAgICBQQVRIU1BFQ19FWENMVURFKTsKKwogCWlmICghcHMtPm5yKSB7Ci0JCWlmICghcHMtPnJlY3Vyc2l2ZSB8fCBwcy0+bWF4X2RlcHRoID09IC0xKQorCQlpZiAoIXBzLT5yZWN1cnNpdmUgfHwKKwkJICAgICEocHMtPm1hZ2ljICYgUEFUSFNQRUNfTUFYREVQVEgpIHx8CisJCSAgICBwcy0+bWF4X2RlcHRoID09IC0xKQogCQkJcmV0dXJuIE1BVENIRURfUkVDVVJTSVZFTFk7CiAKIAkJaWYgKHdpdGhpbl9kZXB0aChuYW1lLCBuYW1lbGVuLCAwLCBwcy0+bWF4X2RlcHRoKSkKQEAgLTM1NCwxMCArMzE0LDIzIEBACiAKIAlmb3IgKGkgPSBwcy0+bnIgLSAxOyBpID49IDA7IGktLSkgewogCQlpbnQgaG93OworCisJCWlmICgoIWV4Y2x1ZGUgJiYgICBwcy0+aXRlbXNbaV0ubWFnaWMgJiBQQVRIU1BFQ19FWENMVURFKSB8fAorCQkgICAgKCBleGNsdWRlICYmICEocHMtPml0ZW1zW2ldLm1hZ2ljICYgUEFUSFNQRUNfRVhDTFVERSkpKQorCQkJY29udGludWU7CisKIAkJaWYgKHNlZW4gJiYgc2VlbltpXSA9PSBNQVRDSEVEX0VYQUNUTFkpCiAJCQljb250aW51ZTsKKwkJLyoKKwkJICogTWFrZSBleGNsdWRlIHBhdHRlcm5zIG9wdGlvbmFsIGFuZCBuZXZlciByZXBvcnQKKwkJICogInBhdGhzcGVjICc6KGV4Y2x1ZGUpZm9vJyBtYXRjaGVzIG5vIGZpbGVzIgorCQkgKi8KKwkJaWYgKHNlZW4gJiYgcHMtPml0ZW1zW2ldLm1hZ2ljICYgUEFUSFNQRUNfRVhDTFVERSkKKwkJCXNlZW5baV0gPSBNQVRDSEVEX0ZOTUFUQ0g7CiAJCWhvdyA9IG1hdGNoX3BhdGhzcGVjX2l0ZW0ocHMtPml0ZW1zK2ksIHByZWZpeCwgbmFtZSwgbmFtZWxlbik7Ci0JCWlmIChwcy0+cmVjdXJzaXZlICYmIHBzLT5tYXhfZGVwdGggIT0gLTEgJiYKKwkJaWYgKHBzLT5yZWN1cnNpdmUgJiYKKwkJICAgIChwcy0+bWFnaWMgJiBQQVRIU1BFQ19NQVhERVBUSCkgJiYKKwkJICAgIHBzLT5tYXhfZGVwdGggIT0gLTEgJiYKIAkJICAgIGhvdyAmJiBob3cgIT0gTUFUQ0hFRF9GTk1BVENIKSB7CiAJCQlpbnQgbGVuID0gcHMtPml0ZW1zW2ldLmxlbjsKIAkJCWlmIChuYW1lW2xlbl0gPT0gJy8nKQpAQCAtMzc3LDEwICszNTAsMjIgQEAKIAlyZXR1cm4gcmV0dmFsOwogfQogCitpbnQgbWF0Y2hfcGF0aHNwZWNfZGVwdGgoY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwcywKKwkJCSBjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwKKwkJCSBpbnQgcHJlZml4LCBjaGFyICpzZWVuKQoreworCWludCBwb3NpdGl2ZSwgbmVnYXRpdmU7CisJcG9zaXRpdmUgPSBtYXRjaF9wYXRoc3BlY19kZXB0aF8xKHBzLCBuYW1lLCBuYW1lbGVuLCBwcmVmaXgsIHNlZW4sIDApOworCWlmICghKHBzLT5tYWdpYyAmIFBBVEhTUEVDX0VYQ0xVREUpIHx8ICFwb3NpdGl2ZSkKKwkJcmV0dXJuIHBvc2l0aXZlOworCW5lZ2F0aXZlID0gbWF0Y2hfcGF0aHNwZWNfZGVwdGhfMShwcywgbmFtZSwgbmFtZWxlbiwgcHJlZml4LCBzZWVuLCAxKTsKKwlyZXR1cm4gbmVnYXRpdmUgPyAwIDogcG9zaXRpdmU7Cit9CisKIC8qCiAgKiBSZXR1cm4gdGhlIGxlbmd0aCBvZiB0aGUgInNpbXBsZSIgcGFydCBvZiBhIHBhdGggbWF0Y2ggbGltaXRlci4KICAqLwotc3RhdGljIGludCBzaW1wbGVfbGVuZ3RoKGNvbnN0IGNoYXIgKm1hdGNoKQoraW50IHNpbXBsZV9sZW5ndGgoY29uc3QgY2hhciAqbWF0Y2gpCiB7CiAJaW50IGxlbiA9IC0xOwogCkBAIC0zOTIsNyArMzc3LDcgQEAKIAl9CiB9CiAKLXN0YXRpYyBpbnQgbm9fd2lsZGNhcmQoY29uc3QgY2hhciAqc3RyaW5nKQoraW50IG5vX3dpbGRjYXJkKGNvbnN0IGNoYXIgKnN0cmluZykKIHsKIAlyZXR1cm4gc3RyaW5nW3NpbXBsZV9sZW5ndGgoc3RyaW5nKV0gPT0gJ1wwJzsKIH0KQEAgLTkwMyw3ICs4ODgsNyBAQAogCiBzdGF0aWMgc3RydWN0IGRpcl9lbnRyeSAqZGlyX2FkZF9uYW1lKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsIGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBpbnQgbGVuKQogewotCWlmIChjYWNoZV9uYW1lX2V4aXN0cyhwYXRobmFtZSwgbGVuLCBpZ25vcmVfY2FzZSkpCisJaWYgKGNhY2hlX2ZpbGVfZXhpc3RzKHBhdGhuYW1lLCBsZW4sIGlnbm9yZV9jYXNlKSkKIAkJcmV0dXJuIE5VTEw7CiAKIAlBTExPQ19HUk9XKGRpci0+ZW50cmllcywgZGlyLT5ucisxLCBkaXItPmFsbG9jKTsKQEAgLTkyOCwxMSArOTEzLDExIEBACiAvKgogICogRG8gbm90IHVzZSB0aGUgYWxwaGFiZXRpY2FsbHkgc29ydGVkIGluZGV4IHRvIGxvb2sgdXAKICAqIHRoZSBkaXJlY3RvcnkgbmFtZTsgaW5zdGVhZCwgdXNlIHRoZSBjYXNlIGluc2Vuc2l0aXZlCi0gKiBuYW1lIGhhc2guCisgKiBkaXJlY3RvcnkgaGFzaC4KICAqLwogc3RhdGljIGVudW0gZXhpc3Rfc3RhdHVzIGRpcmVjdG9yeV9leGlzdHNfaW5faW5kZXhfaWNhc2UoY29uc3QgY2hhciAqZGlybmFtZSwgaW50IGxlbikKIHsKLQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gY2FjaGVfbmFtZV9leGlzdHMoZGlybmFtZSwgbGVuICsgMSwgaWdub3JlX2Nhc2UpOworCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBjYWNoZV9kaXJfZXhpc3RzKGRpcm5hbWUsIGxlbik7CiAJdW5zaWduZWQgY2hhciBlbmRjaGFyOwogCiAJaWYgKCFjZSkKQEAgLTExMTQsNyArMTA5OSw3IEBACiAJaW50IHBvczsKIAljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOwogCi0JY2UgPSBjYWNoZV9uYW1lX2V4aXN0cyhwYXRoLCBsZW4sIDApOworCWNlID0gY2FjaGVfZmlsZV9leGlzdHMocGF0aCwgbGVuLCAwKTsKIAlpZiAoY2UpIHsKIAkJaWYgKCFjZV91cHRvZGF0ZShjZSkpCiAJCQlyZXR1cm4gRFRfVU5LTk9XTjsKQEAgLTExNzQsNyArMTE1OSw3IEBACiAJCQkJCSAgaW50IGR0eXBlLCBzdHJ1Y3QgZGlyZW50ICpkZSkKIHsKIAlpbnQgZXhjbHVkZTsKLQlpbnQgaGFzX3BhdGhfaW5faW5kZXggPSAhIWNhY2hlX25hbWVfZXhpc3RzKHBhdGgtPmJ1ZiwgcGF0aC0+bGVuLCBpZ25vcmVfY2FzZSk7CisJaW50IGhhc19wYXRoX2luX2luZGV4ID0gISFjYWNoZV9maWxlX2V4aXN0cyhwYXRoLT5idWYsIHBhdGgtPmxlbiwgaWdub3JlX2Nhc2UpOwogCiAJaWYgKGR0eXBlID09IERUX1VOS05PV04pCiAJCWR0eXBlID0gZ2V0X2R0eXBlKGRlLCBwYXRoLT5idWYsIHBhdGgtPmxlbik7CkBAIC0xMjAzLDIxICsxMTg4LDkgQEAKIAkgKi8KIAlpZiAoKGRpci0+ZmxhZ3MgJiBESVJfQ09MTEVDVF9LSUxMRURfT05MWSkgJiYKIAkgICAgKGR0eXBlID09IERUX0RJUikgJiYKLQkgICAgIWhhc19wYXRoX2luX2luZGV4KSB7Ci0JCS8qCi0JCSAqIE5FRURTV09SSzogZGlyZWN0b3J5X2V4aXN0c19pbl9pbmRleF9pY2FzZSgpCi0JCSAqIGFzc3VtZXMgdGhhdCBvbmUgYnl0ZSBwYXN0IHRoZSBnaXZlbiBwYXRoIGlzCi0JCSAqIHJlYWRhYmxlIGFuZCBoYXMgJy8nLCB3aGljaCBuZWVkcyB0byBiZSBmaXhlZCwgYnV0Ci0JCSAqIHVudGlsIHRoZW4sIHdvcmsgaXQgYXJvdW5kIGluIHRoZSBjYWxsZXIuCi0JCSAqLwotCQlzdHJidWZfYWRkY2gocGF0aCwgJy8nKTsKLQkJaWYgKGRpcmVjdG9yeV9leGlzdHNfaW5faW5kZXgocGF0aC0+YnVmLCBwYXRoLT5sZW4gLSAxKSA9PQotCQkgICAgaW5kZXhfbm9uZXhpc3RlbnQpIHsKLQkJCXN0cmJ1Zl9zZXRsZW4ocGF0aCwgcGF0aC0+bGVuIC0gMSk7Ci0JCQlyZXR1cm4gcGF0aF9ub25lOwotCQl9Ci0JCXN0cmJ1Zl9zZXRsZW4ocGF0aCwgcGF0aC0+bGVuIC0gMSk7Ci0JfQorCSAgICAhaGFzX3BhdGhfaW5faW5kZXggJiYKKwkgICAgKGRpcmVjdG9yeV9leGlzdHNfaW5faW5kZXgocGF0aC0+YnVmLCBwYXRoLT5sZW4pID09IGluZGV4X25vbmV4aXN0ZW50KSkKKwkJcmV0dXJuIHBhdGhfbm9uZTsKIAogCWV4Y2x1ZGUgPSBpc19leGNsdWRlZChkaXIsIHBhdGgtPmJ1ZiwgJmR0eXBlKTsKIApAQCAtMTQxNywxNCArMTM5MCwzMiBAQAogCXJldHVybiByYzsKIH0KIAotaW50IHJlYWRfZGlyZWN0b3J5KHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsIGNvbnN0IGNoYXIgKnBhdGgsIGludCBsZW4sIGNvbnN0IGNoYXIgKipwYXRoc3BlYykKK2ludCByZWFkX2RpcmVjdG9yeShzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBjb25zdCBjaGFyICpwYXRoLCBpbnQgbGVuLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewogCXN0cnVjdCBwYXRoX3NpbXBsaWZ5ICpzaW1wbGlmeTsKIAorCS8qCisJICogQ2hlY2sgb3V0IGNyZWF0ZV9zaW1wbGlmeSgpCisJICovCisJaWYgKHBhdGhzcGVjKQorCQlHVUFSRF9QQVRIU1BFQyhwYXRoc3BlYywKKwkJCSAgICAgICBQQVRIU1BFQ19GUk9NVE9QIHwKKwkJCSAgICAgICBQQVRIU1BFQ19NQVhERVBUSCB8CisJCQkgICAgICAgUEFUSFNQRUNfTElURVJBTCB8CisJCQkgICAgICAgUEFUSFNQRUNfR0xPQiB8CisJCQkgICAgICAgUEFUSFNQRUNfSUNBU0UgfAorCQkJICAgICAgIFBBVEhTUEVDX0VYQ0xVREUpOworCiAJaWYgKGhhc19zeW1saW5rX2xlYWRpbmdfcGF0aChwYXRoLCBsZW4pKQogCQlyZXR1cm4gZGlyLT5ucjsKIAotCXNpbXBsaWZ5ID0gY3JlYXRlX3NpbXBsaWZ5KHBhdGhzcGVjKTsKKwkvKgorCSAqIGV4Y2x1ZGUgcGF0dGVybnMgYXJlIHRyZWF0ZWQgbGlrZSBwb3NpdGl2ZSBvbmVzIGluCisJICogY3JlYXRlX3NpbXBsaWZ5LiBVc3VhbGx5IGV4Y2x1ZGUgcGF0dGVybnMgc2hvdWxkIGJlIGEKKwkgKiBzdWJzZXQgb2YgcG9zaXRpdmUgb25lcywgd2hpY2ggaGFzIG5vIGltcGFjdHMgb24KKwkgKiBjcmVhdGVfc2ltcGxpZnkoKS4KKwkgKi8KKwlzaW1wbGlmeSA9IGNyZWF0ZV9zaW1wbGlmeShwYXRoc3BlYyA/IHBhdGhzcGVjLT5fcmF3IDogTlVMTCk7CiAJaWYgKCFsZW4gfHwgdHJlYXRfbGVhZGluZ19wYXRoKGRpciwgcGF0aCwgbGVuLCBzaW1wbGlmeSkpCiAJCXJlYWRfZGlyZWN0b3J5X3JlY3Vyc2l2ZShkaXIsIHBhdGgsIGxlbiwgMCwgc2ltcGxpZnkpOwogCWZyZWVfc2ltcGxpZnkoc2ltcGxpZnkpOwpAQCAtMTUyMCw4ICsxNTExLDEzIEBACiAJZmxhZyAmPSB+UkVNT1ZFX0RJUl9LRUVQX1RPUExFVkVMOwogCWRpciA9IG9wZW5kaXIocGF0aC0+YnVmKTsKIAlpZiAoIWRpcikgewotCQkvKiBhbiBlbXB0eSBkaXIgY291bGQgYmUgcmVtb3ZlZCBldmVuIGlmIGl0IGlzIHVucmVhZGJsZSAqLwotCQlpZiAoIWtlZXBfdG9wbGV2ZWwpCisJCWlmIChlcnJubyA9PSBFTk9FTlQpCisJCQlyZXR1cm4ga2VlcF90b3BsZXZlbCA/IC0xIDogMDsKKwkJZWxzZSBpZiAoZXJybm8gPT0gRUFDQ0VTICYmICFrZWVwX3RvcGxldmVsKQorCQkJLyoKKwkJCSAqIEFuIGVtcHR5IGRpciBjb3VsZCBiZSByZW1vdmFibGUgZXZlbiBpZiBpdAorCQkJICogaXMgdW5yZWFkYWJsZToKKwkJCSAqLwogCQkJcmV0dXJuIHJtZGlyKHBhdGgtPmJ1Zik7CiAJCWVsc2UKIAkJCXJldHVybiAtMTsKQEAgLTE1MzcsMTMgKzE1MzMsMjEgQEAKIAogCQlzdHJidWZfc2V0bGVuKHBhdGgsIGxlbik7CiAJCXN0cmJ1Zl9hZGRzdHIocGF0aCwgZS0+ZF9uYW1lKTsKLQkJaWYgKGxzdGF0KHBhdGgtPmJ1ZiwgJnN0KSkKLQkJCTsgLyogZmFsbCB0aHJ1ICovCi0JCWVsc2UgaWYgKFNfSVNESVIoc3Quc3RfbW9kZSkpIHsKKwkJaWYgKGxzdGF0KHBhdGgtPmJ1ZiwgJnN0KSkgeworCQkJaWYgKGVycm5vID09IEVOT0VOVCkKKwkJCQkvKgorCQkJCSAqIGZpbGUgZGlzYXBwZWFyZWQsIHdoaWNoIGlzIHdoYXQgd2UKKwkJCQkgKiB3YW50ZWQgYW55d2F5CisJCQkJICovCisJCQkJY29udGludWU7CisJCQkvKiBmYWxsIHRocnUgKi8KKwkJfSBlbHNlIGlmIChTX0lTRElSKHN0LnN0X21vZGUpKSB7CiAJCQlpZiAoIXJlbW92ZV9kaXJfcmVjdXJzZShwYXRoLCBmbGFnLCAma2VwdF9kb3duKSkKIAkJCQljb250aW51ZTsgLyogaGFwcHkgKi8KLQkJfSBlbHNlIGlmICghb25seV9lbXB0eSAmJiAhdW5saW5rKHBhdGgtPmJ1ZikpCisJCX0gZWxzZSBpZiAoIW9ubHlfZW1wdHkgJiYKKwkJCSAgICghdW5saW5rKHBhdGgtPmJ1ZikgfHwgZXJybm8gPT0gRU5PRU5UKSkgewogCQkJY29udGludWU7IC8qIGhhcHB5LCB0b28gKi8KKwkJfQogCiAJCS8qIHBhdGggdG9vIGxvbmcsIHN0YXQgZmFpbHMsIG9yIG5vbi1kaXJlY3Rvcnkgc3RpbGwgZXhpc3RzICovCiAJCXJldCA9IC0xOwpAQCAtMTU1Myw3ICsxNTU3LDcgQEAKIAogCXN0cmJ1Zl9zZXRsZW4ocGF0aCwgb3JpZ2luYWxfbGVuKTsKIAlpZiAoIXJldCAmJiAha2VlcF90b3BsZXZlbCAmJiAha2VwdF9kb3duKQotCQlyZXQgPSBybWRpcihwYXRoLT5idWYpOworCQlyZXQgPSAoIXJtZGlyKHBhdGgtPmJ1ZikgfHwgZXJybm8gPT0gRU5PRU5UKSA/IDAgOiAtMTsKIAllbHNlIGlmIChrZXB0X3VwKQogCQkvKgogCQkgKiByZXBvcnQgdGhlIHVwbGV2ZWwgdGhhdCBpdCBpcyBub3QgYW4gZXJyb3IgdGhhdCB3ZQpAQCAtMTYwNCw3MSArMTYwOCw2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcGF0aHNwZWNfaXRlbV9jbXAoY29uc3Qgdm9pZCAqYV8sIGNvbnN0IHZvaWQgKmJfKQotewotCXN0cnVjdCBwYXRoc3BlY19pdGVtICphLCAqYjsKLQotCWEgPSAoc3RydWN0IHBhdGhzcGVjX2l0ZW0gKilhXzsKLQliID0gKHN0cnVjdCBwYXRoc3BlY19pdGVtICopYl87Ci0JcmV0dXJuIHN0cmNtcChhLT5tYXRjaCwgYi0+bWF0Y2gpOwotfQotCi1pbnQgaW5pdF9wYXRoc3BlYyhzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLCBjb25zdCBjaGFyICoqcGF0aHMpCi17Ci0JY29uc3QgY2hhciAqKnAgPSBwYXRoczsKLQlpbnQgaTsKLQotCW1lbXNldChwYXRoc3BlYywgMCwgc2l6ZW9mKCpwYXRoc3BlYykpOwotCWlmICghcCkKLQkJcmV0dXJuIDA7Ci0Jd2hpbGUgKCpwKQotCQlwKys7Ci0JcGF0aHNwZWMtPnJhdyA9IHBhdGhzOwotCXBhdGhzcGVjLT5uciA9IHAgLSBwYXRoczsKLQlpZiAoIXBhdGhzcGVjLT5ucikKLQkJcmV0dXJuIDA7Ci0KLQlwYXRoc3BlYy0+aXRlbXMgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgcGF0aHNwZWNfaXRlbSkqcGF0aHNwZWMtPm5yKTsKLQlmb3IgKGkgPSAwOyBpIDwgcGF0aHNwZWMtPm5yOyBpKyspIHsKLQkJc3RydWN0IHBhdGhzcGVjX2l0ZW0gKml0ZW0gPSBwYXRoc3BlYy0+aXRlbXMraTsKLQkJY29uc3QgY2hhciAqcGF0aCA9IHBhdGhzW2ldOwotCi0JCWl0ZW0tPm1hdGNoID0gcGF0aDsKLQkJaXRlbS0+bGVuID0gc3RybGVuKHBhdGgpOwotCQlpdGVtLT5mbGFncyA9IDA7Ci0JCWlmIChsaW1pdF9wYXRoc3BlY190b19saXRlcmFsKCkpIHsKLQkJCWl0ZW0tPm5vd2lsZGNhcmRfbGVuID0gaXRlbS0+bGVuOwotCQl9IGVsc2UgewotCQkJaXRlbS0+bm93aWxkY2FyZF9sZW4gPSBzaW1wbGVfbGVuZ3RoKHBhdGgpOwotCQkJaWYgKGl0ZW0tPm5vd2lsZGNhcmRfbGVuIDwgaXRlbS0+bGVuKSB7Ci0JCQkJcGF0aHNwZWMtPmhhc193aWxkY2FyZCA9IDE7Ci0JCQkJaWYgKHBhdGhbaXRlbS0+bm93aWxkY2FyZF9sZW5dID09ICcqJyAmJgotCQkJCSAgICBub193aWxkY2FyZChwYXRoICsgaXRlbS0+bm93aWxkY2FyZF9sZW4gKyAxKSkKLQkJCQkJaXRlbS0+ZmxhZ3MgfD0gUEFUSFNQRUNfT05FU1RBUjsKLQkJCX0KLQkJfQotCX0KLQotCXFzb3J0KHBhdGhzcGVjLT5pdGVtcywgcGF0aHNwZWMtPm5yLAotCSAgICAgIHNpemVvZihzdHJ1Y3QgcGF0aHNwZWNfaXRlbSksIHBhdGhzcGVjX2l0ZW1fY21wKTsKLQotCXJldHVybiAwOwotfQotCi12b2lkIGZyZWVfcGF0aHNwZWMoc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYykKLXsKLQlmcmVlKHBhdGhzcGVjLT5pdGVtcyk7Ci0JcGF0aHNwZWMtPml0ZW1zID0gTlVMTDsKLX0KLQotaW50IGxpbWl0X3BhdGhzcGVjX3RvX2xpdGVyYWwodm9pZCkKLXsKLQlzdGF0aWMgaW50IGZsYWcgPSAtMTsKLQlpZiAoZmxhZyA8IDApCi0JCWZsYWcgPSBnaXRfZW52X2Jvb2woR0lUX0xJVEVSQUxfUEFUSFNQRUNTX0VOVklST05NRU5ULCAwKTsKLQlyZXR1cm4gZmxhZzsKLX0KLQogLyoKICAqIEZyZWVzIG1lbW9yeSB3aXRoaW4gZGlyIHdoaWNoIHdhcyBhbGxvY2F0ZWQgZm9yIGV4Y2x1ZGUgbGlzdHMgYW5kCiAgKiB0aGUgZXhjbHVkZV9zdGFjay4gIERvZXMgbm90IGZyZWUgZGlyIGl0c2VsZi4KZGlmZiAtLWdpdCBhL2Rpci5oIGIvZGlyLmgKaW5kZXggNDY3N2I4Ni4uOWI3ZTRlNyAxMDA2NDQKLS0tIGEvZGlyLmgKKysrIGIvZGlyLmgKQEAgLTEyOSwxNSArMTI5LDE2IEBACiAjZGVmaW5lIE1BVENIRURfUkVDVVJTSVZFTFkgMQogI2RlZmluZSBNQVRDSEVEX0ZOTUFUQ0ggMgogI2RlZmluZSBNQVRDSEVEX0VYQUNUTFkgMwotZXh0ZXJuIGNoYXIgKmNvbW1vbl9wcmVmaXgoY29uc3QgY2hhciAqKnBhdGhzcGVjKTsKLWV4dGVybiBpbnQgbWF0Y2hfcGF0aHNwZWMoY29uc3QgY2hhciAqKnBhdGhzcGVjLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwgaW50IHByZWZpeCwgY2hhciAqc2Vlbik7CitleHRlcm4gaW50IHNpbXBsZV9sZW5ndGgoY29uc3QgY2hhciAqbWF0Y2gpOworZXh0ZXJuIGludCBub193aWxkY2FyZChjb25zdCBjaGFyICpzdHJpbmcpOworZXh0ZXJuIGNoYXIgKmNvbW1vbl9wcmVmaXgoY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYyk7CiBleHRlcm4gaW50IG1hdGNoX3BhdGhzcGVjX2RlcHRoKGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCiAJCQkJY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4sCiAJCQkJaW50IHByZWZpeCwgY2hhciAqc2Vlbik7CiBleHRlcm4gaW50IHdpdGhpbl9kZXB0aChjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwgaW50IGRlcHRoLCBpbnQgbWF4X2RlcHRoKTsKIAotZXh0ZXJuIGludCBmaWxsX2RpcmVjdG9yeShzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBjb25zdCBjaGFyICoqcGF0aHNwZWMpOwotZXh0ZXJuIGludCByZWFkX2RpcmVjdG9yeShzdHJ1Y3QgZGlyX3N0cnVjdCAqLCBjb25zdCBjaGFyICpwYXRoLCBpbnQgbGVuLCBjb25zdCBjaGFyICoqcGF0aHNwZWMpOworZXh0ZXJuIGludCBmaWxsX2RpcmVjdG9yeShzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKTsKK2V4dGVybiBpbnQgcmVhZF9kaXJlY3Rvcnkoc3RydWN0IGRpcl9zdHJ1Y3QgKiwgY29uc3QgY2hhciAqcGF0aCwgaW50IGxlbiwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYyk7CiAKIGV4dGVybiBpbnQgaXNfZXhjbHVkZWRfZnJvbV9saXN0KGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBpbnQgcGF0aGxlbiwgY29uc3QgY2hhciAqYmFzZW5hbWUsCiAJCQkJIGludCAqZHR5cGUsIHN0cnVjdCBleGNsdWRlX2xpc3QgKmVsKTsKQEAgLTE5OSwxMCArMjAwLDkgQEAKIC8qCiAgKiBUaGUgcHJlZml4IHBhcnQgb2YgcGF0dGVybiBtdXN0IG5vdCBjb250YWlucyB3aWxkY2FyZHMuCiAgKi8KLSNkZWZpbmUgR0ZOTV9QQVRITkFNRSAxCQkvKiBzaW1pbGFyIHRvIEZOTV9QQVRITkFNRSAqLwotI2RlZmluZSBHRk5NX09ORVNUQVIgIDIJCS8qIHRoZXJlIGlzIG9ubHkgX29uZV8gd2lsZGNhcmQsIGEgc3RhciAqLwotCi1leHRlcm4gaW50IGdpdF9mbm1hdGNoKGNvbnN0IGNoYXIgKnBhdHRlcm4sIGNvbnN0IGNoYXIgKnN0cmluZywKLQkJICAgICAgIGludCBmbGFncywgaW50IHByZWZpeCk7CitzdHJ1Y3QgcGF0aHNwZWNfaXRlbTsKK2V4dGVybiBpbnQgZ2l0X2ZubWF0Y2goY29uc3Qgc3RydWN0IHBhdGhzcGVjX2l0ZW0gKml0ZW0sCisJCSAgICAgICBjb25zdCBjaGFyICpwYXR0ZXJuLCBjb25zdCBjaGFyICpzdHJpbmcsCisJCSAgICAgICBpbnQgcHJlZml4KTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9lZGl0b3IuYyBiL2VkaXRvci5jCmluZGV4IDI3YmRlY2QuLjBhYmJkOGQgMTAwNjQ0Ci0tLSBhL2VkaXRvci5jCisrKyBiL2VkaXRvci5jCkBAIC0zNyw3ICszNyw3IEBACiAJCXJldHVybiBlcnJvcigiVGVybWluYWwgaXMgZHVtYiwgYnV0IEVESVRPUiB1bnNldCIpOwogCiAJaWYgKHN0cmNtcChlZGl0b3IsICI6IikpIHsKLQkJY29uc3QgY2hhciAqYXJnc1tdID0geyBlZGl0b3IsIHBhdGgsIE5VTEwgfTsKKwkJY29uc3QgY2hhciAqYXJnc1tdID0geyBlZGl0b3IsIHJlYWxfcGF0aChwYXRoKSwgTlVMTCB9OwogCQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBwOwogCQlpbnQgcmV0LCBzaWc7CiAKZGlmZiAtLWdpdCBhL2VudHJ5LmMgYi9lbnRyeS5jCmluZGV4IGFjYzg5MmYuLjdiN2FhODEgMTAwNjQ0Ci0tLSBhL2VudHJ5LmMKKysrIGIvZW50cnkuYwpAQCAtMjM0LDE5ICsyMzQsMzAgQEAKIAlyZXR1cm4gbHN0YXQocGF0aCwgc3QpOwogfQogCisvKgorICogV3JpdGUgdGhlIGNvbnRlbnRzIGZyb20gY2Ugb3V0IHRvIHRoZSB3b3JraW5nIHRyZWUuCisgKgorICogV2hlbiB0b3BhdGhbXSBpcyBub3QgTlVMTCwgaW5zdGVhZCBvZiB3cml0aW5nIHRvIHRoZSB3b3JraW5nIHRyZWUKKyAqIGZpbGUgbmFtZWQgYnkgY2UsIGEgdGVtcG9yYXJ5IGZpbGUgaXMgY3JlYXRlZCBieSB0aGlzIGZ1bmN0aW9uIGFuZAorICogaXRzIG5hbWUgaXMgcmV0dXJuZWQgaW4gdG9wYXRoW10sIHdoaWNoIG11c3QgYmUgYWJsZSB0byBob2xkIGF0CisgKiBsZWFzdCBURU1QT1JBUllfRklMRU5BTUVfTEVOR1RIIGJ5dGVzIGxvbmcuCisgKi8KIGludCBjaGVja291dF9lbnRyeShzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLAogCQkgICBjb25zdCBzdHJ1Y3QgY2hlY2tvdXQgKnN0YXRlLCBjaGFyICp0b3BhdGgpCiB7Ci0Jc3RhdGljIGNoYXIgcGF0aFtQQVRIX01BWCArIDFdOworCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIHBhdGhfYnVmID0gU1RSQlVGX0lOSVQ7CisJY2hhciAqcGF0aDsKIAlzdHJ1Y3Qgc3RhdCBzdDsKLQlpbnQgbGVuID0gc3RhdGUtPmJhc2VfZGlyX2xlbjsKKwlpbnQgbGVuOwogCiAJaWYgKHRvcGF0aCkKIAkJcmV0dXJuIHdyaXRlX2VudHJ5KGNlLCB0b3BhdGgsIHN0YXRlLCAxKTsKIAotCW1lbWNweShwYXRoLCBzdGF0ZS0+YmFzZV9kaXIsIGxlbik7Ci0Jc3RyY3B5KHBhdGggKyBsZW4sIGNlLT5uYW1lKTsKLQlsZW4gKz0gY2VfbmFtZWxlbihjZSk7CisJc3RyYnVmX3Jlc2V0KCZwYXRoX2J1Zik7CisJc3RyYnVmX2FkZCgmcGF0aF9idWYsIHN0YXRlLT5iYXNlX2Rpciwgc3RhdGUtPmJhc2VfZGlyX2xlbik7CisJc3RyYnVmX2FkZCgmcGF0aF9idWYsIGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSk7CisJcGF0aCA9IHBhdGhfYnVmLmJ1ZjsKKwlsZW4gPSBwYXRoX2J1Zi5sZW47CiAKIAlpZiAoIWNoZWNrX3BhdGgocGF0aCwgbGVuLCAmc3QsIHN0YXRlLT5iYXNlX2Rpcl9sZW4pKSB7CiAJCXVuc2lnbmVkIGNoYW5nZWQgPSBjZV9tYXRjaF9zdGF0KGNlLCAmc3QsIENFX01BVENIX0lHTk9SRV9WQUxJRHxDRV9NQVRDSF9JR05PUkVfU0tJUF9XT1JLVFJFRSk7CmRpZmYgLS1naXQgYS9lbnZpcm9ubWVudC5jIGIvZW52aXJvbm1lbnQuYwppbmRleCAzNzgyNTRjLi40YTM0MzdkIDEwMDY0NAotLS0gYS9lbnZpcm9ubWVudC5jCisrKyBiL2Vudmlyb25tZW50LmMKQEAgLTEwLDYgKzEwLDcgQEAKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJmbXQtbWVyZ2UtbXNnLmgiCisjaW5jbHVkZSAiY29tbWl0LmgiCiAKIGludCB0cnVzdF9leGVjdXRhYmxlX2JpdCA9IDE7CiBpbnQgdHJ1c3RfY3RpbWUgPSAxOwpAQCAtOTcsNiArOTgsNyBAQAogCUlOREVYX0VOVklST05NRU5ULAogCU5PX1JFUExBQ0VfT0JKRUNUU19FTlZJUk9OTUVOVCwKIAlHSVRfUFJFRklYX0VOVklST05NRU5ULAorCUdJVF9TSEFMTE9XX0ZJTEVfRU5WSVJPTk1FTlQsCiAJTlVMTAogfTsKIApAQCAtMTI0LDYgKzEyNiw3IEBACiBzdGF0aWMgdm9pZCBzZXR1cF9naXRfZW52KHZvaWQpCiB7CiAJY29uc3QgY2hhciAqZ2l0ZmlsZTsKKwljb25zdCBjaGFyICpzaGFsbG93X2ZpbGU7CiAKIAlnaXRfZGlyID0gZ2V0ZW52KEdJVF9ESVJfRU5WSVJPTk1FTlQpOwogCWlmICghZ2l0X2RpcikKQEAgLTE0Nyw2ICsxNTAsOSBAQAogCQlyZWFkX3JlcGxhY2VfcmVmcyA9IDA7CiAJbmFtZXNwYWNlID0gZXhwYW5kX25hbWVzcGFjZShnZXRlbnYoR0lUX05BTUVTUEFDRV9FTlZJUk9OTUVOVCkpOwogCW5hbWVzcGFjZV9sZW4gPSBzdHJsZW4obmFtZXNwYWNlKTsKKwlzaGFsbG93X2ZpbGUgPSBnZXRlbnYoR0lUX1NIQUxMT1dfRklMRV9FTlZJUk9OTUVOVCk7CisJaWYgKHNoYWxsb3dfZmlsZSkKKwkJc2V0X2FsdGVybmF0ZV9zaGFsbG93X2ZpbGUoc2hhbGxvd19maWxlLCAwKTsKIH0KIAogaW50IGlzX2JhcmVfcmVwb3NpdG9yeSh2b2lkKQpAQCAtMTU1LDExICsxNjEsNiBAQAogCXJldHVybiBpc19iYXJlX3JlcG9zaXRvcnlfY2ZnICYmICFnZXRfZ2l0X3dvcmtfdHJlZSgpOwogfQogCi1pbnQgaGF2ZV9naXRfZGlyKHZvaWQpCi17Ci0JcmV0dXJuICEhZ2l0X2RpcjsKLX0KLQogY29uc3QgY2hhciAqZ2V0X2dpdF9kaXIodm9pZCkKIHsKIAlpZiAoIWdpdF9kaXIpCkBAIC0xNzYsNyArMTc3LDcgQEAKIAogY29uc3QgY2hhciAqc3RyaXBfbmFtZXNwYWNlKGNvbnN0IGNoYXIgKm5hbWVzcGFjZWRfcmVmKQogewotCWlmIChwcmVmaXhjbXAobmFtZXNwYWNlZF9yZWYsIGdldF9naXRfbmFtZXNwYWNlKCkpICE9IDApCisJaWYgKCFzdGFydHNfd2l0aChuYW1lc3BhY2VkX3JlZiwgZ2V0X2dpdF9uYW1lc3BhY2UoKSkpCiAJCXJldHVybiBOVUxMOwogCXJldHVybiBuYW1lc3BhY2VkX3JlZiArIG5hbWVzcGFjZV9sZW47CiB9CmRpZmYgLS1naXQgYS9mYXN0LWltcG9ydC5jIGIvZmFzdC1pbXBvcnQuYwppbmRleCAyM2Y2MjVmLi40ZmQxOGEzIDEwMDY0NAotLS0gYS9mYXN0LWltcG9ydC5jCisrKyBiL2Zhc3QtaW1wb3J0LmMKQEAgLTIyLDggKzIyLDggQEAKICAgICAoJ2F1dGhvcicgKHNwIG5hbWUpPyBzcCAnPCcgZW1haWwgJz4nIHNwIHdoZW4gbGYpPwogICAgICdjb21taXR0ZXInIChzcCBuYW1lKT8gc3AgJzwnIGVtYWlsICc+JyBzcCB3aGVuIGxmCiAgICAgY29tbWl0X21zZwotICAgICgnZnJvbScgc3AgY29tbWl0dGlzaCBsZik/Ci0gICAgKCdtZXJnZScgc3AgY29tbWl0dGlzaCBsZikqCisgICAgKCdmcm9tJyBzcCBjb21taXQtaXNoIGxmKT8KKyAgICAoJ21lcmdlJyBzcCBjb21taXQtaXNoIGxmKSoKICAgICAoZmlsZV9jaGFuZ2UgfCBscykqCiAgICAgbGY/OwogICBjb21taXRfbXNnIDo6PSBkYXRhOwpAQCAtNDMsMTggKzQzLDE4IEBACiAgIGZpbGVfb2JtIDo6PSAnTScgc3AgbW9kZSBzcCAoaGV4c2hhMSB8IGlkbnVtKSBzcCBwYXRoX3N0ciBsZjsKICAgZmlsZV9pbm0gOjo9ICdNJyBzcCBtb2RlIHNwICdpbmxpbmUnIHNwIHBhdGhfc3RyIGxmCiAgICAgZGF0YTsKLSAgbm90ZV9vYm0gOjo9ICdOJyBzcCAoaGV4c2hhMSB8IGlkbnVtKSBzcCBjb21taXR0aXNoIGxmOwotICBub3RlX2lubSA6Oj0gJ04nIHNwICdpbmxpbmUnIHNwIGNvbW1pdHRpc2ggbGYKKyAgbm90ZV9vYm0gOjo9ICdOJyBzcCAoaGV4c2hhMSB8IGlkbnVtKSBzcCBjb21taXQtaXNoIGxmOworICBub3RlX2lubSA6Oj0gJ04nIHNwICdpbmxpbmUnIHNwIGNvbW1pdC1pc2ggbGYKICAgICBkYXRhOwogCiAgIG5ld190YWcgOjo9ICd0YWcnIHNwIHRhZ19zdHIgbGYKLSAgICAnZnJvbScgc3AgY29tbWl0dGlzaCBsZgorICAgICdmcm9tJyBzcCBjb21taXQtaXNoIGxmCiAgICAgKCd0YWdnZXInIChzcCBuYW1lKT8gc3AgJzwnIGVtYWlsICc+JyBzcCB3aGVuIGxmKT8KICAgICB0YWdfbXNnOwogICB0YWdfbXNnIDo6PSBkYXRhOwogCiAgIHJlc2V0X2JyYW5jaCA6Oj0gJ3Jlc2V0JyBzcCByZWZfc3RyIGxmCi0gICAgKCdmcm9tJyBzcCBjb21taXR0aXNoIGxmKT8KKyAgICAoJ2Zyb20nIHNwIGNvbW1pdC1pc2ggbGYpPwogICAgIGxmPzsKIAogICBjaGVja3BvaW50IDo6PSAnY2hlY2twb2ludCcgbGYKQEAgLTkzLDcgKzkzLDcgQEAKICAgICAgIyBzdHJlYW0gZm9ybWF0dGluZyBpczogXCwgIiBhbmQgTEYuICBPdGhlcndpc2UgdGhlc2UgdmFsdWVzCiAgICAgICMgYXJlIFVURjguCiAgICAgICMKLSAgY29tbWl0dGlzaCAgOjo9IChyZWZfc3RyIHwgaGV4c2hhMSB8IHNoYTFleHBfc3RyIHwgaWRudW0pOworICBjb21taXQtaXNoICA6Oj0gKHJlZl9zdHIgfCBoZXhzaGExIHwgc2hhMWV4cF9zdHIgfCBpZG51bSk7CiAgIHJlZl9zdHIgICAgIDo6PSByZWY7CiAgIHNoYTFleHBfc3RyIDo6PSBzaGExZXhwOwogICB0YWdfc3RyICAgICA6Oj0gdGFnOwpAQCAtMTU2OCw3ICsxNTY4LDggQEAKIHN0YXRpYyBpbnQgdHJlZV9jb250ZW50X3JlbW92ZSgKIAlzdHJ1Y3QgdHJlZV9lbnRyeSAqcm9vdCwKIAljb25zdCBjaGFyICpwLAotCXN0cnVjdCB0cmVlX2VudHJ5ICpiYWNrdXBfbGVhZikKKwlzdHJ1Y3QgdHJlZV9lbnRyeSAqYmFja3VwX2xlYWYsCisJaW50IGFsbG93X3Jvb3QpCiB7CiAJc3RydWN0IHRyZWVfY29udGVudCAqdDsKIAljb25zdCBjaGFyICpzbGFzaDE7CkBAIC0xNTgzLDYgKzE1ODQsMTIgQEAKIAogCWlmICghcm9vdC0+dHJlZSkKIAkJbG9hZF90cmVlKHJvb3QpOworCisJaWYgKCEqcCAmJiBhbGxvd19yb290KSB7CisJCWUgPSByb290OworCQlnb3RvIGRlbF9lbnRyeTsKKwl9CisKIAl0ID0gcm9vdC0+dHJlZTsKIAlmb3IgKGkgPSAwOyBpIDwgdC0+ZW50cnlfY291bnQ7IGkrKykgewogCQllID0gdC0+ZW50cmllc1tpXTsKQEAgLTE1OTksNyArMTYwNiw3IEBACiAJCQkJZ290byBkZWxfZW50cnk7CiAJCQlpZiAoIWUtPnRyZWUpCiAJCQkJbG9hZF90cmVlKGUpOwotCQkJaWYgKHRyZWVfY29udGVudF9yZW1vdmUoZSwgc2xhc2gxICsgMSwgYmFja3VwX2xlYWYpKSB7CisJCQlpZiAodHJlZV9jb250ZW50X3JlbW92ZShlLCBzbGFzaDEgKyAxLCBiYWNrdXBfbGVhZiwgMCkpIHsKIAkJCQlmb3IgKG4gPSAwOyBuIDwgZS0+dHJlZS0+ZW50cnlfY291bnQ7IG4rKykgewogCQkJCQlpZiAoZS0+dHJlZS0+ZW50cmllc1tuXS0+dmVyc2lvbnNbMV0ubW9kZSkgewogCQkJCQkJaGFzaGNscihyb290LT52ZXJzaW9uc1sxXS5zaGExKTsKQEAgLTE2MjksNyArMTYzNiw4IEBACiBzdGF0aWMgaW50IHRyZWVfY29udGVudF9nZXQoCiAJc3RydWN0IHRyZWVfZW50cnkgKnJvb3QsCiAJY29uc3QgY2hhciAqcCwKLQlzdHJ1Y3QgdHJlZV9lbnRyeSAqbGVhZikKKwlzdHJ1Y3QgdHJlZV9lbnRyeSAqbGVhZiwKKwlpbnQgYWxsb3dfcm9vdCkKIHsKIAlzdHJ1Y3QgdHJlZV9jb250ZW50ICp0OwogCWNvbnN0IGNoYXIgKnNsYXNoMTsKQEAgLTE2NDEsMzEgKzE2NDksMzkgQEAKIAkJbiA9IHNsYXNoMSAtIHA7CiAJZWxzZQogCQluID0gc3RybGVuKHApOwotCWlmICghbikKKwlpZiAoIW4gJiYgIWFsbG93X3Jvb3QpCiAJCWRpZSgiRW1wdHkgcGF0aCBjb21wb25lbnQgZm91bmQgaW4gaW5wdXQiKTsKIAogCWlmICghcm9vdC0+dHJlZSkKIAkJbG9hZF90cmVlKHJvb3QpOworCisJaWYgKCFuKSB7CisJCWUgPSByb290OworCQlnb3RvIGZvdW5kX2VudHJ5OworCX0KKwogCXQgPSByb290LT50cmVlOwogCWZvciAoaSA9IDA7IGkgPCB0LT5lbnRyeV9jb3VudDsgaSsrKSB7CiAJCWUgPSB0LT5lbnRyaWVzW2ldOwogCQlpZiAoZS0+bmFtZS0+c3RyX2xlbiA9PSBuICYmICFzdHJuY21wX2ljYXNlKHAsIGUtPm5hbWUtPnN0cl9kYXQsIG4pKSB7Ci0JCQlpZiAoIXNsYXNoMSkgewotCQkJCW1lbWNweShsZWFmLCBlLCBzaXplb2YoKmxlYWYpKTsKLQkJCQlpZiAoZS0+dHJlZSAmJiBpc19udWxsX3NoYTEoZS0+dmVyc2lvbnNbMV0uc2hhMSkpCi0JCQkJCWxlYWYtPnRyZWUgPSBkdXBfdHJlZV9jb250ZW50KGUtPnRyZWUpOwotCQkJCWVsc2UKLQkJCQkJbGVhZi0+dHJlZSA9IE5VTEw7Ci0JCQkJcmV0dXJuIDE7Ci0JCQl9CisJCQlpZiAoIXNsYXNoMSkKKwkJCQlnb3RvIGZvdW5kX2VudHJ5OwogCQkJaWYgKCFTX0lTRElSKGUtPnZlcnNpb25zWzFdLm1vZGUpKQogCQkJCXJldHVybiAwOwogCQkJaWYgKCFlLT50cmVlKQogCQkJCWxvYWRfdHJlZShlKTsKLQkJCXJldHVybiB0cmVlX2NvbnRlbnRfZ2V0KGUsIHNsYXNoMSArIDEsIGxlYWYpOworCQkJcmV0dXJuIHRyZWVfY29udGVudF9nZXQoZSwgc2xhc2gxICsgMSwgbGVhZiwgMCk7CiAJCX0KIAl9CiAJcmV0dXJuIDA7CisKK2ZvdW5kX2VudHJ5OgorCW1lbWNweShsZWFmLCBlLCBzaXplb2YoKmxlYWYpKTsKKwlpZiAoZS0+dHJlZSAmJiBpc19udWxsX3NoYTEoZS0+dmVyc2lvbnNbMV0uc2hhMSkpCisJCWxlYWYtPnRyZWUgPSBkdXBfdHJlZV9jb250ZW50KGUtPnRyZWUpOworCWVsc2UKKwkJbGVhZi0+dHJlZSA9IE5VTEw7CisJcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyBpbnQgdXBkYXRlX2JyYW5jaChzdHJ1Y3QgYnJhbmNoICpiKQpAQCAtMTY3OCw3ICsxNjk0LDcgQEAKIAkJcmV0dXJuIDA7CiAJaWYgKHJlYWRfcmVmKGItPm5hbWUsIG9sZF9zaGExKSkKIAkJaGFzaGNscihvbGRfc2hhMSk7Ci0JbG9jayA9IGxvY2tfYW55X3JlZl9mb3JfdXBkYXRlKGItPm5hbWUsIG9sZF9zaGExLCAwKTsKKwlsb2NrID0gbG9ja19hbnlfcmVmX2Zvcl91cGRhdGUoYi0+bmFtZSwgb2xkX3NoYTEsIDAsIE5VTEwpOwogCWlmICghbG9jaykKIAkJcmV0dXJuIGVycm9yKCJVbmFibGUgdG8gbG9jayAlcyIsIGItPm5hbWUpOwogCWlmICghZm9yY2VfdXBkYXRlICYmICFpc19udWxsX3NoYTEob2xkX3NoYTEpKSB7CkBAIC0xODYxLDggKzE4NzcsOCBAQAogCQkJCXJldHVybiBFT0Y7CiAKIAkJCWlmICghc2Vlbl9kYXRhX2NvbW1hbmQKLQkJCQkmJiBwcmVmaXhjbXAoY29tbWFuZF9idWYuYnVmLCAiZmVhdHVyZSAiKQotCQkJCSYmIHByZWZpeGNtcChjb21tYW5kX2J1Zi5idWYsICJvcHRpb24gIikpIHsKKwkJCQkmJiAhc3RhcnRzX3dpdGgoY29tbWFuZF9idWYuYnVmLCAiZmVhdHVyZSAiKQorCQkJCSYmICFzdGFydHNfd2l0aChjb21tYW5kX2J1Zi5idWYsICJvcHRpb24gIikpIHsKIAkJCQlwYXJzZV9hcmd2KCk7CiAJCQl9CiAKQEAgLTE4ODIsNyArMTg5OCw3IEBACiAJCQlyYy0+cHJldi0+bmV4dCA9IHJjOwogCQkJY21kX3RhaWwgPSByYzsKIAkJfQotCQlpZiAoIXByZWZpeGNtcChjb21tYW5kX2J1Zi5idWYsICJjYXQtYmxvYiAiKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoY29tbWFuZF9idWYuYnVmLCAiY2F0LWJsb2IgIikpIHsKIAkJCXBhcnNlX2NhdF9ibG9iKCk7CiAJCQljb250aW51ZTsKIAkJfQpAQCAtMTkwMSw3ICsxOTE3LDcgQEAKIAogc3RhdGljIHZvaWQgcGFyc2VfbWFyayh2b2lkKQogewotCWlmICghcHJlZml4Y21wKGNvbW1hbmRfYnVmLmJ1ZiwgIm1hcmsgOiIpKSB7CisJaWYgKHN0YXJ0c193aXRoKGNvbW1hbmRfYnVmLmJ1ZiwgIm1hcmsgOiIpKSB7CiAJCW5leHRfbWFyayA9IHN0cnRvdW1heChjb21tYW5kX2J1Zi5idWYgKyA2LCBOVUxMLCAxMCk7CiAJCXJlYWRfbmV4dF9jb21tYW5kKCk7CiAJfQpAQCAtMTkxMywxMCArMTkyOSwxMCBAQAogewogCXN0cmJ1Zl9yZXNldChzYik7CiAKLQlpZiAocHJlZml4Y21wKGNvbW1hbmRfYnVmLmJ1ZiwgImRhdGEgIikpCisJaWYgKCFzdGFydHNfd2l0aChjb21tYW5kX2J1Zi5idWYsICJkYXRhICIpKQogCQlkaWUoIkV4cGVjdGVkICdkYXRhIG4nIGNvbW1hbmQsIGZvdW5kOiAlcyIsIGNvbW1hbmRfYnVmLmJ1Zik7CiAKLQlpZiAoIXByZWZpeGNtcChjb21tYW5kX2J1Zi5idWYgKyA1LCAiPDwiKSkgeworCWlmIChzdGFydHNfd2l0aChjb21tYW5kX2J1Zi5idWYgKyA1LCAiPDwiKSkgewogCQljaGFyICp0ZXJtID0geHN0cmR1cChjb21tYW5kX2J1Zi5idWYgKyA1ICsgMik7CiAJCXNpemVfdCB0ZXJtX2xlbiA9IGNvbW1hbmRfYnVmLmxlbiAtIDUgLSAyOwogCkBAIC0yMTc5LDcgKzIxOTUsNyBAQAogCQkJfQogCiAJCQkvKiBSZW5hbWUgZnVsbHBhdGggdG8gcmVhbHBhdGggKi8KLQkJCWlmICghdHJlZV9jb250ZW50X3JlbW92ZShvcmlnX3Jvb3QsIGZ1bGxwYXRoLCAmbGVhZikpCisJCQlpZiAoIXRyZWVfY29udGVudF9yZW1vdmUob3JpZ19yb290LCBmdWxscGF0aCwgJmxlYWYsIDApKQogCQkJCWRpZSgiRmFpbGVkIHRvIHJlbW92ZSBwYXRoICVzIiwgZnVsbHBhdGgpOwogCQkJdHJlZV9jb250ZW50X3NldChvcmlnX3Jvb3QsIHJlYWxwYXRoLAogCQkJCWxlYWYudmVyc2lvbnNbMV0uc2hhMSwKQEAgLTIyOTAsNyArMjMwNiw3IEBACiAJaWYgKCpwID09ICc6JykgewogCQlvZSA9IGZpbmRfbWFyayhwYXJzZV9tYXJrX3JlZl9zcGFjZSgmcCkpOwogCQloYXNoY3B5KHNoYTEsIG9lLT5pZHguc2hhMSk7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKHAsICJpbmxpbmUgIikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKHAsICJpbmxpbmUgIikpIHsKIAkJaW5saW5lX2RhdGEgPSAxOwogCQlvZSA9IE5VTEw7IC8qIG5vdCB1c2VkIHdpdGggaW5saW5lX2RhdGEsIGJ1dCBtYWtlcyBnY2MgaGFwcHkgKi8KIAkJcCArPSBzdHJsZW4oImlubGluZSIpOyAgLyogYWR2YW5jZSB0byBzcGFjZSAqLwpAQCAtMjMxNCw3ICsyMzMwLDcgQEAKIAogCS8qIEdpdCBkb2VzIG5vdCB0cmFjayBlbXB0eSwgbm9uLXRvcGxldmVsIGRpcmVjdG9yaWVzLiAqLwogCWlmIChTX0lTRElSKG1vZGUpICYmICFtZW1jbXAoc2hhMSwgRU1QVFlfVFJFRV9TSEExX0JJTiwgMjApICYmICpwKSB7Ci0JCXRyZWVfY29udGVudF9yZW1vdmUoJmItPmJyYW5jaF90cmVlLCBwLCBOVUxMKTsKKwkJdHJlZV9jb250ZW50X3JlbW92ZSgmYi0+YnJhbmNoX3RyZWUsIHAsIE5VTEwsIDApOwogCQlyZXR1cm47CiAJfQogCkBAIC0yMzc1LDcgKzIzOTEsNyBAQAogCQkJZGllKCJHYXJiYWdlIGFmdGVyIHBhdGggaW46ICVzIiwgY29tbWFuZF9idWYuYnVmKTsKIAkJcCA9IHVxLmJ1ZjsKIAl9Ci0JdHJlZV9jb250ZW50X3JlbW92ZSgmYi0+YnJhbmNoX3RyZWUsIHAsIE5VTEwpOworCXRyZWVfY29udGVudF9yZW1vdmUoJmItPmJyYW5jaF90cmVlLCBwLCBOVUxMLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgZmlsZV9jaGFuZ2VfY3Ioc3RydWN0IGJyYW5jaCAqYiwgaW50IHJlbmFtZSkKQEAgLTI0MTMsOSArMjQyOSw5IEBACiAKIAltZW1zZXQoJmxlYWYsIDAsIHNpemVvZihsZWFmKSk7CiAJaWYgKHJlbmFtZSkKLQkJdHJlZV9jb250ZW50X3JlbW92ZSgmYi0+YnJhbmNoX3RyZWUsIHMsICZsZWFmKTsKKwkJdHJlZV9jb250ZW50X3JlbW92ZSgmYi0+YnJhbmNoX3RyZWUsIHMsICZsZWFmLCAxKTsKIAllbHNlCi0JCXRyZWVfY29udGVudF9nZXQoJmItPmJyYW5jaF90cmVlLCBzLCAmbGVhZik7CisJCXRyZWVfY29udGVudF9nZXQoJmItPmJyYW5jaF90cmVlLCBzLCAmbGVhZiwgMSk7CiAJaWYgKCFsZWFmLnZlcnNpb25zWzFdLm1vZGUpCiAJCWRpZSgiUGF0aCAlcyBub3QgaW4gYnJhbmNoIiwgcyk7CiAJaWYgKCEqZCkgewkvKiBDICJwYXRoL3RvL3N1YmRpciIgIiIgKi8KQEAgLTI0NjMsNyArMjQ3OSw3IEBACiAJaWYgKCpwID09ICc6JykgewogCQlvZSA9IGZpbmRfbWFyayhwYXJzZV9tYXJrX3JlZl9zcGFjZSgmcCkpOwogCQloYXNoY3B5KHNoYTEsIG9lLT5pZHguc2hhMSk7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKHAsICJpbmxpbmUgIikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKHAsICJpbmxpbmUgIikpIHsKIAkJaW5saW5lX2RhdGEgPSAxOwogCQlvZSA9IE5VTEw7IC8qIG5vdCB1c2VkIHdpdGggaW5saW5lX2RhdGEsIGJ1dCBtYWtlcyBnY2MgaGFwcHkgKi8KIAkJcCArPSBzdHJsZW4oImlubGluZSIpOyAgLyogYWR2YW5jZSB0byBzcGFjZSAqLwpAQCAtMjQ3OCw3ICsyNDk0LDcgQEAKIAlhc3NlcnQoKnAgPT0gJyAnKTsKIAlwKys7ICAvKiBza2lwIHNwYWNlICovCiAKLQkvKiA8Y29tbWl0dGlzaD4gKi8KKwkvKiA8Y29tbWl0LWlzaD4gKi8KIAlzID0gbG9va3VwX2JyYW5jaChwKTsKIAlpZiAocykgewogCQlpZiAoaXNfbnVsbF9zaGExKHMtPnNoYTEpKQpAQCAtMjUyMSw3ICsyNTM3LDcgQEAKIAl9CiAKIAljb25zdHJ1Y3RfcGF0aF93aXRoX2Zhbm91dChzaGExX3RvX2hleChjb21taXRfc2hhMSksICpvbGRfZmFub3V0LCBwYXRoKTsKLQlpZiAodHJlZV9jb250ZW50X3JlbW92ZSgmYi0+YnJhbmNoX3RyZWUsIHBhdGgsIE5VTEwpKQorCWlmICh0cmVlX2NvbnRlbnRfcmVtb3ZlKCZiLT5icmFuY2hfdHJlZSwgcGF0aCwgTlVMTCwgMCkpCiAJCWItPm51bV9ub3Rlcy0tOwogCiAJaWYgKGlzX251bGxfc2hhMShzaGExKSkKQEAgLTI1NzQsNyArMjU5MCw3IEBACiAJY29uc3QgY2hhciAqZnJvbTsKIAlzdHJ1Y3QgYnJhbmNoICpzOwogCi0JaWYgKHByZWZpeGNtcChjb21tYW5kX2J1Zi5idWYsICJmcm9tICIpKQorCWlmICghc3RhcnRzX3dpdGgoY29tbWFuZF9idWYuYnVmLCAiZnJvbSAiKSkKIAkJcmV0dXJuIDA7CiAKIAlpZiAoYi0+YnJhbmNoX3RyZWUudHJlZSkgewpAQCAtMjYyMCw3ICsyNjM2LDcgQEAKIAlzdHJ1Y3QgYnJhbmNoICpzOwogCiAJKmNvdW50ID0gMDsKLQl3aGlsZSAoIXByZWZpeGNtcChjb21tYW5kX2J1Zi5idWYsICJtZXJnZSAiKSkgeworCXdoaWxlIChzdGFydHNfd2l0aChjb21tYW5kX2J1Zi5idWYsICJtZXJnZSAiKSkgewogCQlmcm9tID0gc3RyY2hyKGNvbW1hbmRfYnVmLmJ1ZiwgJyAnKSArIDE7CiAJCW4gPSB4bWFsbG9jKHNpemVvZigqbikpOwogCQlzID0gbG9va3VwX2JyYW5jaChmcm9tKTsKQEAgLTI2NzEsMTEgKzI2ODcsMTEgQEAKIAogCXJlYWRfbmV4dF9jb21tYW5kKCk7CiAJcGFyc2VfbWFyaygpOwotCWlmICghcHJlZml4Y21wKGNvbW1hbmRfYnVmLmJ1ZiwgImF1dGhvciAiKSkgeworCWlmIChzdGFydHNfd2l0aChjb21tYW5kX2J1Zi5idWYsICJhdXRob3IgIikpIHsKIAkJYXV0aG9yID0gcGFyc2VfaWRlbnQoY29tbWFuZF9idWYuYnVmICsgNyk7CiAJCXJlYWRfbmV4dF9jb21tYW5kKCk7CiAJfQotCWlmICghcHJlZml4Y21wKGNvbW1hbmRfYnVmLmJ1ZiwgImNvbW1pdHRlciAiKSkgeworCWlmIChzdGFydHNfd2l0aChjb21tYW5kX2J1Zi5idWYsICJjb21taXR0ZXIgIikpIHsKIAkJY29tbWl0dGVyID0gcGFyc2VfaWRlbnQoY29tbWFuZF9idWYuYnVmICsgMTApOwogCQlyZWFkX25leHRfY29tbWFuZCgpOwogCX0KQEAgLTI2OTYsMTkgKzI3MTIsMTkgQEAKIAogCS8qIGZpbGVfY2hhbmdlKiAqLwogCXdoaWxlIChjb21tYW5kX2J1Zi5sZW4gPiAwKSB7Ci0JCWlmICghcHJlZml4Y21wKGNvbW1hbmRfYnVmLmJ1ZiwgIk0gIikpCisJCWlmIChzdGFydHNfd2l0aChjb21tYW5kX2J1Zi5idWYsICJNICIpKQogCQkJZmlsZV9jaGFuZ2VfbShiKTsKLQkJZWxzZSBpZiAoIXByZWZpeGNtcChjb21tYW5kX2J1Zi5idWYsICJEICIpKQorCQllbHNlIGlmIChzdGFydHNfd2l0aChjb21tYW5kX2J1Zi5idWYsICJEICIpKQogCQkJZmlsZV9jaGFuZ2VfZChiKTsKLQkJZWxzZSBpZiAoIXByZWZpeGNtcChjb21tYW5kX2J1Zi5idWYsICJSICIpKQorCQllbHNlIGlmIChzdGFydHNfd2l0aChjb21tYW5kX2J1Zi5idWYsICJSICIpKQogCQkJZmlsZV9jaGFuZ2VfY3IoYiwgMSk7Ci0JCWVsc2UgaWYgKCFwcmVmaXhjbXAoY29tbWFuZF9idWYuYnVmLCAiQyAiKSkKKwkJZWxzZSBpZiAoc3RhcnRzX3dpdGgoY29tbWFuZF9idWYuYnVmLCAiQyAiKSkKIAkJCWZpbGVfY2hhbmdlX2NyKGIsIDApOwotCQllbHNlIGlmICghcHJlZml4Y21wKGNvbW1hbmRfYnVmLmJ1ZiwgIk4gIikpCisJCWVsc2UgaWYgKHN0YXJ0c193aXRoKGNvbW1hbmRfYnVmLmJ1ZiwgIk4gIikpCiAJCQlub3RlX2NoYW5nZV9uKGIsICZwcmV2X2Zhbm91dCk7CiAJCWVsc2UgaWYgKCFzdHJjbXAoImRlbGV0ZWFsbCIsIGNvbW1hbmRfYnVmLmJ1ZikpCiAJCQlmaWxlX2NoYW5nZV9kZWxldGVhbGwoYik7Ci0JCWVsc2UgaWYgKCFwcmVmaXhjbXAoY29tbWFuZF9idWYuYnVmLCAibHMgIikpCisJCWVsc2UgaWYgKHN0YXJ0c193aXRoKGNvbW1hbmRfYnVmLmJ1ZiwgImxzICIpKQogCQkJcGFyc2VfbHMoYik7CiAJCWVsc2UgewogCQkJdW5yZWFkX2NvbW1hbmRfYnVmID0gMTsKQEAgLTI3NzcsNyArMjc5Myw3IEBACiAJcmVhZF9uZXh0X2NvbW1hbmQoKTsKIAogCS8qIGZyb20gLi4uICovCi0JaWYgKHByZWZpeGNtcChjb21tYW5kX2J1Zi5idWYsICJmcm9tICIpKQorCWlmICghc3RhcnRzX3dpdGgoY29tbWFuZF9idWYuYnVmLCAiZnJvbSAiKSkKIAkJZGllKCJFeHBlY3RlZCBmcm9tIGNvbW1hbmQsIGdvdCAlcyIsIGNvbW1hbmRfYnVmLmJ1Zik7CiAJZnJvbSA9IHN0cmNocihjb21tYW5kX2J1Zi5idWYsICcgJykgKyAxOwogCXMgPSBsb29rdXBfYnJhbmNoKGZyb20pOwpAQCAtMjgwNSw3ICsyODIxLDcgQEAKIAlyZWFkX25leHRfY29tbWFuZCgpOwogCiAJLyogdGFnZ2VyIC4uLiAqLwotCWlmICghcHJlZml4Y21wKGNvbW1hbmRfYnVmLmJ1ZiwgInRhZ2dlciAiKSkgeworCWlmIChzdGFydHNfd2l0aChjb21tYW5kX2J1Zi5idWYsICJ0YWdnZXIgIikpIHsKIAkJdGFnZ2VyID0gcGFyc2VfaWRlbnQoY29tbWFuZF9idWYuYnVmICsgNyk7CiAJCXJlYWRfbmV4dF9jb21tYW5kKCk7CiAJfSBlbHNlCkBAIC0yOTU3LDcgKzI5NzMsNyBAQAogCWNhc2UgT0JKX1RBRzoKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJZGllKCJOb3QgYSB0cmVlaXNoOiAlcyIsIGNvbW1hbmRfYnVmLmJ1Zik7CisJCWRpZSgiTm90IGEgdHJlZS1pc2g6ICVzIiwgY29tbWFuZF9idWYuYnVmKTsKIAl9CiAKIAlpZiAob2UtPnBhY2tfaWQgIT0gTUFYX1BBQ0tfSUQpIHsJLyogaW4gYSBwYWNrIGJlaW5nIHdyaXR0ZW4gKi8KQEAgLTMwNDEsNyArMzA1Nyw3IEBACiAJc3RydWN0IHRyZWVfZW50cnkgKnJvb3QgPSBOVUxMOwogCXN0cnVjdCB0cmVlX2VudHJ5IGxlYWYgPSB7TlVMTH07CiAKLQkvKiBscyBTUCAoPHRyZWVpc2g+IFNQKT8gPHBhdGg+ICovCisJLyogbHMgU1AgKDx0cmVlLWlzaD4gU1ApPyA8cGF0aD4gKi8KIAlwID0gY29tbWFuZF9idWYuYnVmICsgc3RybGVuKCJscyAiKTsKIAlpZiAoKnAgPT0gJyInKSB7CiAJCWlmICghYikKQEAgLTMwNTEsNiArMzA2Nyw4IEBACiAJCXN0cnVjdCBvYmplY3RfZW50cnkgKmUgPSBwYXJzZV90cmVlaXNoX2RhdGFyZWYoJnApOwogCQlyb290ID0gbmV3X3RyZWVfZW50cnkoKTsKIAkJaGFzaGNweShyb290LT52ZXJzaW9uc1sxXS5zaGExLCBlLT5pZHguc2hhMSk7CisJCWlmICghaXNfbnVsbF9zaGExKHJvb3QtPnZlcnNpb25zWzFdLnNoYTEpKQorCQkJcm9vdC0+dmVyc2lvbnNbMV0ubW9kZSA9IFNfSUZESVI7CiAJCWxvYWRfdHJlZShyb290KTsKIAkJaWYgKCpwKysgIT0gJyAnKQogCQkJZGllKCJNaXNzaW5nIHNwYWNlIGFmdGVyIHRyZWUtaXNoOiAlcyIsIGNvbW1hbmRfYnVmLmJ1Zik7CkBAIC0zMDY1LDcgKzMwODMsNyBAQAogCQkJZGllKCJHYXJiYWdlIGFmdGVyIHBhdGggaW46ICVzIiwgY29tbWFuZF9idWYuYnVmKTsKIAkJcCA9IHVxLmJ1ZjsKIAl9Ci0JdHJlZV9jb250ZW50X2dldChyb290LCBwLCAmbGVhZik7CisJdHJlZV9jb250ZW50X2dldChyb290LCBwLCAmbGVhZiwgMSk7CiAJLyoKIAkgKiBBIGRpcmVjdG9yeSBpbiBwcmVwYXJhdGlvbiB3b3VsZCBoYXZlIGEgc2hhMSBvZiB6ZXJvCiAJICogdW50aWwgaXQgaXMgc2F2ZWQuICBTYXZlLCBmb3Igc2ltcGxpY2l0eS4KQEAgLTMxOTEsNyArMzIwOSw3IEBACiAKIHN0YXRpYyBpbnQgcGFyc2Vfb25lX29wdGlvbihjb25zdCBjaGFyICpvcHRpb24pCiB7Ci0JaWYgKCFwcmVmaXhjbXAob3B0aW9uLCAibWF4LXBhY2stc2l6ZT0iKSkgeworCWlmIChzdGFydHNfd2l0aChvcHRpb24sICJtYXgtcGFjay1zaXplPSIpKSB7CiAJCXVuc2lnbmVkIGxvbmcgdjsKIAkJaWYgKCFnaXRfcGFyc2VfdWxvbmcob3B0aW9uICsgMTQsICZ2KSkKIAkJCXJldHVybiAwOwpAQCAtMzIwMywyMCArMzIyMSwyMCBAQAogCQkJdiA9IDEwMjQgKiAxMDI0OwogCQl9CiAJCW1heF9wYWNrc2l6ZSA9IHY7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKG9wdGlvbiwgImJpZy1maWxlLXRocmVzaG9sZD0iKSkgeworCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgob3B0aW9uLCAiYmlnLWZpbGUtdGhyZXNob2xkPSIpKSB7CiAJCXVuc2lnbmVkIGxvbmcgdjsKIAkJaWYgKCFnaXRfcGFyc2VfdWxvbmcob3B0aW9uICsgMTksICZ2KSkKIAkJCXJldHVybiAwOwogCQliaWdfZmlsZV90aHJlc2hvbGQgPSB2OwotCX0gZWxzZSBpZiAoIXByZWZpeGNtcChvcHRpb24sICJkZXB0aD0iKSkgeworCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgob3B0aW9uLCAiZGVwdGg9IikpIHsKIAkJb3B0aW9uX2RlcHRoKG9wdGlvbiArIDYpOwotCX0gZWxzZSBpZiAoIXByZWZpeGNtcChvcHRpb24sICJhY3RpdmUtYnJhbmNoZXM9IikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKG9wdGlvbiwgImFjdGl2ZS1icmFuY2hlcz0iKSkgewogCQlvcHRpb25fYWN0aXZlX2JyYW5jaGVzKG9wdGlvbiArIDE2KTsKLQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAob3B0aW9uLCAiZXhwb3J0LXBhY2stZWRnZXM9IikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKG9wdGlvbiwgImV4cG9ydC1wYWNrLWVkZ2VzPSIpKSB7CiAJCW9wdGlvbl9leHBvcnRfcGFja19lZGdlcyhvcHRpb24gKyAxOCk7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKG9wdGlvbiwgInF1aWV0IikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKG9wdGlvbiwgInF1aWV0IikpIHsKIAkJc2hvd19zdGF0cyA9IDA7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKG9wdGlvbiwgInN0YXRzIikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKG9wdGlvbiwgInN0YXRzIikpIHsKIAkJc2hvd19zdGF0cyA9IDE7CiAJfSBlbHNlIHsKIAkJcmV0dXJuIDA7CkBAIC0zMjI3LDE0ICszMjQ1LDE0IEBACiAKIHN0YXRpYyBpbnQgcGFyc2Vfb25lX2ZlYXR1cmUoY29uc3QgY2hhciAqZmVhdHVyZSwgaW50IGZyb21fc3RyZWFtKQogewotCWlmICghcHJlZml4Y21wKGZlYXR1cmUsICJkYXRlLWZvcm1hdD0iKSkgeworCWlmIChzdGFydHNfd2l0aChmZWF0dXJlLCAiZGF0ZS1mb3JtYXQ9IikpIHsKIAkJb3B0aW9uX2RhdGVfZm9ybWF0KGZlYXR1cmUgKyAxMik7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKGZlYXR1cmUsICJpbXBvcnQtbWFya3M9IikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGZlYXR1cmUsICJpbXBvcnQtbWFya3M9IikpIHsKIAkJb3B0aW9uX2ltcG9ydF9tYXJrcyhmZWF0dXJlICsgMTMsIGZyb21fc3RyZWFtLCAwKTsKLQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAoZmVhdHVyZSwgImltcG9ydC1tYXJrcy1pZi1leGlzdHM9IikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGZlYXR1cmUsICJpbXBvcnQtbWFya3MtaWYtZXhpc3RzPSIpKSB7CiAJCW9wdGlvbl9pbXBvcnRfbWFya3MoZmVhdHVyZSArIHN0cmxlbigiaW1wb3J0LW1hcmtzLWlmLWV4aXN0cz0iKSwKIAkJCQkJZnJvbV9zdHJlYW0sIDEpOwotCX0gZWxzZSBpZiAoIXByZWZpeGNtcChmZWF0dXJlLCAiZXhwb3J0LW1hcmtzPSIpKSB7CisJfSBlbHNlIGlmIChzdGFydHNfd2l0aChmZWF0dXJlLCAiZXhwb3J0LW1hcmtzPSIpKSB7CiAJCW9wdGlvbl9leHBvcnRfbWFya3MoZmVhdHVyZSArIDEzKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoZmVhdHVyZSwgImNhdC1ibG9iIikpIHsKIAkJOyAvKiBEb24ndCBkaWUgLSB0aGlzIGZlYXR1cmUgaXMgc3VwcG9ydGVkICovCkBAIC0zMzMyLDcgKzMzNTAsNyBAQAogCQlpZiAocGFyc2Vfb25lX2ZlYXR1cmUoYSArIDIsIDApKQogCQkJY29udGludWU7CiAKLQkJaWYgKCFwcmVmaXhjbXAoYSArIDIsICJjYXQtYmxvYi1mZD0iKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoYSArIDIsICJjYXQtYmxvYi1mZD0iKSkgewogCQkJb3B0aW9uX2NhdF9ibG9iX2ZkKGEgKyAyICsgc3RybGVuKCJjYXQtYmxvYi1mZD0iKSk7CiAJCQljb250aW51ZTsKIAkJfQpAQCAtMzM4NiwyNSArMzQwNCwyNSBAQAogCXdoaWxlIChyZWFkX25leHRfY29tbWFuZCgpICE9IEVPRikgewogCQlpZiAoIXN0cmNtcCgiYmxvYiIsIGNvbW1hbmRfYnVmLmJ1ZikpCiAJCQlwYXJzZV9uZXdfYmxvYigpOwotCQllbHNlIGlmICghcHJlZml4Y21wKGNvbW1hbmRfYnVmLmJ1ZiwgImxzICIpKQorCQllbHNlIGlmIChzdGFydHNfd2l0aChjb21tYW5kX2J1Zi5idWYsICJscyAiKSkKIAkJCXBhcnNlX2xzKE5VTEwpOwotCQllbHNlIGlmICghcHJlZml4Y21wKGNvbW1hbmRfYnVmLmJ1ZiwgImNvbW1pdCAiKSkKKwkJZWxzZSBpZiAoc3RhcnRzX3dpdGgoY29tbWFuZF9idWYuYnVmLCAiY29tbWl0ICIpKQogCQkJcGFyc2VfbmV3X2NvbW1pdCgpOwotCQllbHNlIGlmICghcHJlZml4Y21wKGNvbW1hbmRfYnVmLmJ1ZiwgInRhZyAiKSkKKwkJZWxzZSBpZiAoc3RhcnRzX3dpdGgoY29tbWFuZF9idWYuYnVmLCAidGFnICIpKQogCQkJcGFyc2VfbmV3X3RhZygpOwotCQllbHNlIGlmICghcHJlZml4Y21wKGNvbW1hbmRfYnVmLmJ1ZiwgInJlc2V0ICIpKQorCQllbHNlIGlmIChzdGFydHNfd2l0aChjb21tYW5kX2J1Zi5idWYsICJyZXNldCAiKSkKIAkJCXBhcnNlX3Jlc2V0X2JyYW5jaCgpOwogCQllbHNlIGlmICghc3RyY21wKCJjaGVja3BvaW50IiwgY29tbWFuZF9idWYuYnVmKSkKIAkJCXBhcnNlX2NoZWNrcG9pbnQoKTsKIAkJZWxzZSBpZiAoIXN0cmNtcCgiZG9uZSIsIGNvbW1hbmRfYnVmLmJ1ZikpCiAJCQlicmVhazsKLQkJZWxzZSBpZiAoIXByZWZpeGNtcChjb21tYW5kX2J1Zi5idWYsICJwcm9ncmVzcyAiKSkKKwkJZWxzZSBpZiAoc3RhcnRzX3dpdGgoY29tbWFuZF9idWYuYnVmLCAicHJvZ3Jlc3MgIikpCiAJCQlwYXJzZV9wcm9ncmVzcygpOwotCQllbHNlIGlmICghcHJlZml4Y21wKGNvbW1hbmRfYnVmLmJ1ZiwgImZlYXR1cmUgIikpCisJCWVsc2UgaWYgKHN0YXJ0c193aXRoKGNvbW1hbmRfYnVmLmJ1ZiwgImZlYXR1cmUgIikpCiAJCQlwYXJzZV9mZWF0dXJlKCk7Ci0JCWVsc2UgaWYgKCFwcmVmaXhjbXAoY29tbWFuZF9idWYuYnVmLCAib3B0aW9uIGdpdCAiKSkKKwkJZWxzZSBpZiAoc3RhcnRzX3dpdGgoY29tbWFuZF9idWYuYnVmLCAib3B0aW9uIGdpdCAiKSkKIAkJCXBhcnNlX29wdGlvbigpOwotCQllbHNlIGlmICghcHJlZml4Y21wKGNvbW1hbmRfYnVmLmJ1ZiwgIm9wdGlvbiAiKSkKKwkJZWxzZSBpZiAoc3RhcnRzX3dpdGgoY29tbWFuZF9idWYuYnVmLCAib3B0aW9uICIpKQogCQkJLyogaWdub3JlIG5vbi1naXQgb3B0aW9ucyovOwogCQllbHNlCiAJCQlkaWUoIlVuc3VwcG9ydGVkIGNvbW1hbmQ6ICVzIiwgY29tbWFuZF9idWYuYnVmKTsKZGlmZiAtLWdpdCBhL2ZldGNoLXBhY2suYyBiL2ZldGNoLXBhY2suYwppbmRleCBhZmY0ZjVhLi45MGZkZDQ5IDEwMDY0NAotLS0gYS9mZXRjaC1wYWNrLmMKKysrIGIvZmV0Y2gtcGFjay5jCkBAIC05LDkgKzksMTEgQEAKICNpbmNsdWRlICJmZXRjaC1wYWNrLmgiCiAjaW5jbHVkZSAicmVtb3RlLmgiCiAjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKKyNpbmNsdWRlICJjb25uZWN0LmgiCiAjaW5jbHVkZSAidHJhbnNwb3J0LmgiCiAjaW5jbHVkZSAidmVyc2lvbi5oIgogI2luY2x1ZGUgInByaW8tcXVldWUuaCIKKyNpbmNsdWRlICJzaGExLWFycmF5LmgiCiAKIHN0YXRpYyBpbnQgdHJhbnNmZXJfdW5wYWNrX2xpbWl0ID0gLTE7CiBzdGF0aWMgaW50IGZldGNoX3VucGFja19saW1pdCA9IC0xOwpAQCAtNDYsOSArNDgsOCBAQAogCWlmICghKGNvbW1pdC0+b2JqZWN0LmZsYWdzICYgbWFyaykpIHsKIAkJY29tbWl0LT5vYmplY3QuZmxhZ3MgfD0gbWFyazsKIAotCQlpZiAoIShjb21taXQtPm9iamVjdC5wYXJzZWQpKQotCQkJaWYgKHBhcnNlX2NvbW1pdChjb21taXQpKQotCQkJCXJldHVybjsKKwkJaWYgKHBhcnNlX2NvbW1pdChjb21taXQpKQorCQkJcmV0dXJuOwogCiAJCXByaW9fcXVldWVfcHV0KCZyZXZfbGlzdCwgY29tbWl0KTsKIApAQCAtMTI3LDggKzEyOCw3IEBACiAJCQlyZXR1cm4gTlVMTDsKIAogCQljb21taXQgPSBwcmlvX3F1ZXVlX2dldCgmcmV2X2xpc3QpOwotCQlpZiAoIWNvbW1pdC0+b2JqZWN0LnBhcnNlZCkKLQkJCXBhcnNlX2NvbW1pdChjb21taXQpOworCQlwYXJzZV9jb21taXQoY29tbWl0KTsKIAkJcGFyZW50cyA9IGNvbW1pdC0+cGFyZW50czsKIAogCQljb21taXQtPm9iamVjdC5mbGFncyB8PSBQT1BQRUQ7CkBAIC0xNzUsOSArMTc1LDkgQEAKIAkJICovCiAJCWNoYXIgKmxpbmU7CiAJCXdoaWxlICgobGluZSA9IHBhY2tldF9yZWFkX2xpbmUoZmQsIE5VTEwpKSkgewotCQkJaWYgKCFwcmVmaXhjbXAobGluZSwgInNoYWxsb3cgIikpCisJCQlpZiAoc3RhcnRzX3dpdGgobGluZSwgInNoYWxsb3cgIikpCiAJCQkJY29udGludWU7Ci0JCQlpZiAoIXByZWZpeGNtcChsaW5lLCAidW5zaGFsbG93ICIpKQorCQkJaWYgKHN0YXJ0c193aXRoKGxpbmUsICJ1bnNoYWxsb3cgIikpCiAJCQkJY29udGludWU7CiAJCQlkaWUoImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBzaGFsbG93IGxpc3QiKTsKIAkJfQpAQCAtMTkzLDcgKzE5Myw3IEBACiAJCWRpZSgiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBFT0YiKTsKIAlpZiAoIXN0cmNtcChsaW5lLCAiTkFLIikpCiAJCXJldHVybiBOQUs7Ci0JaWYgKCFwcmVmaXhjbXAobGluZSwgIkFDSyAiKSkgeworCWlmIChzdGFydHNfd2l0aChsaW5lLCAiQUNLICIpKSB7CiAJCWlmICghZ2V0X3NoYTFfaGV4KGxpbmUrNCwgcmVzdWx0X3NoYTEpKSB7CiAJCQlpZiAobGVuIDwgNDUpCiAJCQkJcmV0dXJuIEFDSzsKQEAgLTMxMCw3ICszMTAsNyBAQAogCX0KIAogCWlmIChpc19yZXBvc2l0b3J5X3NoYWxsb3coKSkKLQkJd3JpdGVfc2hhbGxvd19jb21taXRzKCZyZXFfYnVmLCAxKTsKKwkJd3JpdGVfc2hhbGxvd19jb21taXRzKCZyZXFfYnVmLCAxLCBOVUxMKTsKIAlpZiAoYXJncy0+ZGVwdGggPiAwKQogCQlwYWNrZXRfYnVmX3dyaXRlKCZyZXFfYnVmLCAiZGVlcGVuICVkIiwgYXJncy0+ZGVwdGgpOwogCXBhY2tldF9idWZfZmx1c2goJnJlcV9idWYpOwpAQCAtMzIyLDEzICszMjIsMTMgQEAKIAogCQlzZW5kX3JlcXVlc3QoYXJncywgZmRbMV0sICZyZXFfYnVmKTsKIAkJd2hpbGUgKChsaW5lID0gcGFja2V0X3JlYWRfbGluZShmZFswXSwgTlVMTCkpKSB7Ci0JCQlpZiAoIXByZWZpeGNtcChsaW5lLCAic2hhbGxvdyAiKSkgeworCQkJaWYgKHN0YXJ0c193aXRoKGxpbmUsICJzaGFsbG93ICIpKSB7CiAJCQkJaWYgKGdldF9zaGExX2hleChsaW5lICsgOCwgc2hhMSkpCiAJCQkJCWRpZSgiaW52YWxpZCBzaGFsbG93IGxpbmU6ICVzIiwgbGluZSk7CiAJCQkJcmVnaXN0ZXJfc2hhbGxvdyhzaGExKTsKIAkJCQljb250aW51ZTsKIAkJCX0KLQkJCWlmICghcHJlZml4Y21wKGxpbmUsICJ1bnNoYWxsb3cgIikpIHsKKwkJCWlmIChzdGFydHNfd2l0aChsaW5lLCAidW5zaGFsbG93ICIpKSB7CiAJCQkJaWYgKGdldF9zaGExX2hleChsaW5lICsgMTAsIHNoYTEpKQogCQkJCQlkaWUoImludmFsaWQgdW5zaGFsbG93IGxpbmU6ICVzIiwgbGluZSk7CiAJCQkJaWYgKCFsb29rdXBfb2JqZWN0KHNoYTEpKQpAQCAtNTA2LDcgKzUwNiw3IEBACiAJCW5leHQgPSByZWYtPm5leHQ7CiAKIAkJaWYgKCFtZW1jbXAocmVmLT5uYW1lLCAicmVmcy8iLCA1KSAmJgotCQkgICAgY2hlY2tfcmVmbmFtZV9mb3JtYXQocmVmLT5uYW1lICsgNSwgMCkpCisJCSAgICBjaGVja19yZWZuYW1lX2Zvcm1hdChyZWYtPm5hbWUsIDApKQogCQkJOyAvKiB0cmFzaCAqLwogCQllbHNlIHsKIAkJCXdoaWxlIChpIDwgbnJfc291Z2h0KSB7CkBAIC01MjIsNyArNTIyLDcgQEAKIAkJfQogCiAJCWlmICgha2VlcCAmJiBhcmdzLT5mZXRjaF9hbGwgJiYKLQkJICAgICghYXJncy0+ZGVwdGggfHwgcHJlZml4Y21wKHJlZi0+bmFtZSwgInJlZnMvdGFncy8iKSkpCisJCSAgICAoIWFyZ3MtPmRlcHRoIHx8ICFzdGFydHNfd2l0aChyZWYtPm5hbWUsICJyZWZzL3RhZ3MvIikpKQogCQkJa2VlcCA9IDE7CiAKIAkJaWYgKGtlZXApIHsKQEAgLTY1OCw3ICs2NTgsNyBAQAogCWNvbnN0IGNoYXIgKmFyZ3ZbMjJdOwogCWNoYXIga2VlcF9hcmdbMjU2XTsKIAljaGFyIGhkcl9hcmdbMjU2XTsKLQljb25zdCBjaGFyICoqYXY7CisJY29uc3QgY2hhciAqKmF2LCAqY21kX25hbWU7CiAJaW50IGRvX2tlZXAgPSBhcmdzLT5rZWVwX3BhY2s7CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY21kOwogCWludCByZXQ7CkBAIC03MDUsNyArNzA1LDcgQEAKIAlpZiAoZG9fa2VlcCkgewogCQlpZiAocGFja19sb2NrZmlsZSkKIAkJCWNtZC5vdXQgPSAtMTsKLQkJKmF2KysgPSAiaW5kZXgtcGFjayI7CisJCSphdisrID0gY21kX25hbWUgPSAiaW5kZXgtcGFjayI7CiAJCSphdisrID0gIi0tc3RkaW4iOwogCQlpZiAoIWFyZ3MtPnF1aWV0ICYmICFhcmdzLT5ub19wcm9ncmVzcykKIAkJCSphdisrID0gIi12IjsKQEAgLTcyMiw3ICs3MjIsNyBAQAogCQkJKmF2KysgPSAiLS1jaGVjay1zZWxmLWNvbnRhaW5lZC1hbmQtY29ubmVjdGVkIjsKIAl9CiAJZWxzZSB7Ci0JCSphdisrID0gInVucGFjay1vYmplY3RzIjsKKwkJKmF2KysgPSBjbWRfbmFtZSA9ICJ1bnBhY2stb2JqZWN0cyI7CiAJCWlmIChhcmdzLT5xdWlldCB8fCBhcmdzLT5ub19wcm9ncmVzcykKIAkJCSphdisrID0gIi1xIjsKIAkJYXJncy0+Y2hlY2tfc2VsZl9jb250YWluZWRfYW5kX2Nvbm5lY3RlZCA9IDA7CkBAIC03NDAsMTkgKzc0MCwyMyBAQAogCWNtZC5pbiA9IGRlbXV4Lm91dDsKIAljbWQuZ2l0X2NtZCA9IDE7CiAJaWYgKHN0YXJ0X2NvbW1hbmQoJmNtZCkpCi0JCWRpZSgiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmICVzIiwgYXJndlswXSk7CisJCWRpZSgiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmICVzIiwgY21kX25hbWUpOwogCWlmIChkb19rZWVwICYmIHBhY2tfbG9ja2ZpbGUpIHsKIAkJKnBhY2tfbG9ja2ZpbGUgPSBpbmRleF9wYWNrX2xvY2tmaWxlKGNtZC5vdXQpOwogCQljbG9zZShjbWQub3V0KTsKIAl9CiAKKwlpZiAoIXVzZV9zaWRlYmFuZCkKKwkJLyogQ2xvc2VkIGJ5IHN0YXJ0X2NvbW1hbmQoKSAqLworCQl4ZFswXSA9IC0xOworCiAJcmV0ID0gZmluaXNoX2NvbW1hbmQoJmNtZCk7CiAJaWYgKCFyZXQgfHwgKGFyZ3MtPmNoZWNrX3NlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQgJiYgcmV0ID09IDEpKQogCQlhcmdzLT5zZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkID0KIAkJCWFyZ3MtPmNoZWNrX3NlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQgJiYKIAkJCXJldCA9PSAwOwogCWVsc2UKLQkJZGllKCIlcyBmYWlsZWQiLCBhcmd2WzBdKTsKKwkJZGllKCIlcyBmYWlsZWQiLCBjbWRfbmFtZSk7CiAJaWYgKHVzZV9zaWRlYmFuZCAmJiBmaW5pc2hfYXN5bmMoJmRlbXV4KSkKIAkJZGllKCJlcnJvciBpbiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIik7CiAJcmV0dXJuIDA7CkBAIC03NjksNiArNzczLDcgQEAKIAkJCQkgaW50IGZkWzJdLAogCQkJCSBjb25zdCBzdHJ1Y3QgcmVmICpvcmlnX3JlZiwKIAkJCQkgc3RydWN0IHJlZiAqKnNvdWdodCwgaW50IG5yX3NvdWdodCwKKwkJCQkgc3RydWN0IHNoYWxsb3dfaW5mbyAqc2ksCiAJCQkJIGNoYXIgKipwYWNrX2xvY2tmaWxlKQogewogCXN0cnVjdCByZWYgKnJlZiA9IGNvcHlfcmVmX2xpc3Qob3JpZ19yZWYpOwpAQCAtODQ1LDcgKzg1MCwxMCBAQAogCWlmIChhcmdzLT5zdGF0ZWxlc3NfcnBjKQogCQlwYWNrZXRfZmx1c2goZmRbMV0pOwogCWlmIChhcmdzLT5kZXB0aCA+IDApCi0JCXNldHVwX2FsdGVybmF0ZV9zaGFsbG93KCZzaGFsbG93X2xvY2ssICZhbHRlcm5hdGVfc2hhbGxvd19maWxlKTsKKwkJc2V0dXBfYWx0ZXJuYXRlX3NoYWxsb3coJnNoYWxsb3dfbG9jaywgJmFsdGVybmF0ZV9zaGFsbG93X2ZpbGUsCisJCQkJCU5VTEwpOworCWVsc2UgaWYgKHNpLT5ucl9vdXJzIHx8IHNpLT5ucl90aGVpcnMpCisJCWFsdGVybmF0ZV9zaGFsbG93X2ZpbGUgPSBzZXR1cF90ZW1wb3Jhcnlfc2hhbGxvdyhzaS0+c2hhbGxvdyk7CiAJZWxzZQogCQlhbHRlcm5hdGVfc2hhbGxvd19maWxlID0gTlVMTDsKIAlpZiAoZ2V0X3BhY2soYXJncywgZmQsIHBhY2tfbG9ja2ZpbGUpKQpAQCAtOTE5LDE0ICs5MjcsMTIxIEBACiAJcmV0dXJuIGRzdDsKIH0KIAorc3RhdGljIHZvaWQgdXBkYXRlX3NoYWxsb3coc3RydWN0IGZldGNoX3BhY2tfYXJncyAqYXJncywKKwkJCSAgIHN0cnVjdCByZWYgKipzb3VnaHQsIGludCBucl9zb3VnaHQsCisJCQkgICBzdHJ1Y3Qgc2hhbGxvd19pbmZvICpzaSkKK3sKKwlzdHJ1Y3Qgc2hhMV9hcnJheSByZWYgPSBTSEExX0FSUkFZX0lOSVQ7CisJaW50ICpzdGF0dXM7CisJaW50IGk7CisKKwlpZiAoYXJncy0+ZGVwdGggPiAwICYmIGFsdGVybmF0ZV9zaGFsbG93X2ZpbGUpIHsKKwkJaWYgKCphbHRlcm5hdGVfc2hhbGxvd19maWxlID09ICdcMCcpIHsgLyogLS11bnNoYWxsb3cgKi8KKwkJCXVubGlua19vcl93YXJuKGdpdF9wYXRoKCJzaGFsbG93IikpOworCQkJcm9sbGJhY2tfbG9ja19maWxlKCZzaGFsbG93X2xvY2spOworCQl9IGVsc2UKKwkJCWNvbW1pdF9sb2NrX2ZpbGUoJnNoYWxsb3dfbG9jayk7CisJCXJldHVybjsKKwl9CisKKwlpZiAoIXNpLT5zaGFsbG93IHx8ICFzaS0+c2hhbGxvdy0+bnIpCisJCXJldHVybjsKKworCWlmIChhbHRlcm5hdGVfc2hhbGxvd19maWxlKSB7CisJCS8qCisJCSAqIFRoZSB0ZW1wb3Jhcnkgc2hhbGxvdyBmaWxlIGlzIG9ubHkgdXNlZnVsIGZvcgorCQkgKiBpbmRleC1wYWNrIGFuZCB1bnBhY2stb2JqZWN0cyBiZWNhdXNlIGl0IG1heQorCQkgKiBjb250YWluIG1vcmUgcm9vdHMgdGhhbiB3ZSB3YW50LiBEZWxldGUgaXQuCisJCSAqLworCQlpZiAoKmFsdGVybmF0ZV9zaGFsbG93X2ZpbGUpCisJCQl1bmxpbmsoYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZSk7CisJCWZyZWUoKGNoYXIgKilhbHRlcm5hdGVfc2hhbGxvd19maWxlKTsKKwl9CisKKwlpZiAoYXJncy0+Y2xvbmluZykgeworCQkvKgorCQkgKiByZW1vdGUgaXMgc2hhbGxvdywgYnV0IHRoaXMgaXMgYSBjbG9uZSwgdGhlcmUgYXJlCisJCSAqIG5vIG9iamVjdHMgaW4gcmVwbyB0byB3b3JyeSBhYm91dC4gQWNjZXB0IGFueQorCQkgKiBzaGFsbG93IHBvaW50cyB0aGF0IGV4aXN0IGluIHRoZSBwYWNrIChpb3cgaW4gcmVwbworCQkgKiBhZnRlciBnZXRfcGFjaygpIGFuZCByZXByZXBhcmVfcGFja2VkX2dpdCgpKQorCQkgKi8KKwkJc3RydWN0IHNoYTFfYXJyYXkgZXh0cmEgPSBTSEExX0FSUkFZX0lOSVQ7CisJCXVuc2lnbmVkIGNoYXIgKCpzaGExKVsyMF0gPSBzaS0+c2hhbGxvdy0+c2hhMTsKKwkJZm9yIChpID0gMDsgaSA8IHNpLT5zaGFsbG93LT5ucjsgaSsrKQorCQkJaWYgKGhhc19zaGExX2ZpbGUoc2hhMVtpXSkpCisJCQkJc2hhMV9hcnJheV9hcHBlbmQoJmV4dHJhLCBzaGExW2ldKTsKKwkJaWYgKGV4dHJhLm5yKSB7CisJCQlzZXR1cF9hbHRlcm5hdGVfc2hhbGxvdygmc2hhbGxvd19sb2NrLAorCQkJCQkJJmFsdGVybmF0ZV9zaGFsbG93X2ZpbGUsCisJCQkJCQkmZXh0cmEpOworCQkJY29tbWl0X2xvY2tfZmlsZSgmc2hhbGxvd19sb2NrKTsKKwkJfQorCQlzaGExX2FycmF5X2NsZWFyKCZleHRyYSk7CisJCXJldHVybjsKKwl9CisKKwlpZiAoIXNpLT5ucl9vdXJzICYmICFzaS0+bnJfdGhlaXJzKQorCQlyZXR1cm47CisKKwlyZW1vdmVfbm9uZXhpc3RlbnRfdGhlaXJzX3NoYWxsb3coc2kpOworCWlmICghc2ktPm5yX291cnMgJiYgIXNpLT5ucl90aGVpcnMpCisJCXJldHVybjsKKwlmb3IgKGkgPSAwOyBpIDwgbnJfc291Z2h0OyBpKyspCisJCXNoYTFfYXJyYXlfYXBwZW5kKCZyZWYsIHNvdWdodFtpXS0+b2xkX3NoYTEpOworCXNpLT5yZWYgPSAmcmVmOworCisJaWYgKGFyZ3MtPnVwZGF0ZV9zaGFsbG93KSB7CisJCS8qCisJCSAqIHJlbW90ZSBpcyBhbHNvIHNoYWxsb3csIC5naXQvc2hhbGxvdyBtYXkgYmUgdXBkYXRlZAorCQkgKiBzbyBhbGwgcmVmcyBjYW4gYmUgYWNjZXB0ZWQuIE1ha2Ugc3VyZSB3ZSBvbmx5IGFkZAorCQkgKiBzaGFsbG93IHJvb3RzIHRoYXQgYXJlIGFjdHVhbGx5IHJlYWNoYWJsZSBmcm9tIG5ldworCQkgKiByZWZzLgorCQkgKi8KKwkJc3RydWN0IHNoYTFfYXJyYXkgZXh0cmEgPSBTSEExX0FSUkFZX0lOSVQ7CisJCXVuc2lnbmVkIGNoYXIgKCpzaGExKVsyMF0gPSBzaS0+c2hhbGxvdy0+c2hhMTsKKwkJYXNzaWduX3NoYWxsb3dfY29tbWl0c190b19yZWZzKHNpLCBOVUxMLCBOVUxMKTsKKwkJaWYgKCFzaS0+bnJfb3VycyAmJiAhc2ktPm5yX3RoZWlycykgeworCQkJc2hhMV9hcnJheV9jbGVhcigmcmVmKTsKKwkJCXJldHVybjsKKwkJfQorCQlmb3IgKGkgPSAwOyBpIDwgc2ktPm5yX291cnM7IGkrKykKKwkJCXNoYTFfYXJyYXlfYXBwZW5kKCZleHRyYSwgc2hhMVtzaS0+b3Vyc1tpXV0pOworCQlmb3IgKGkgPSAwOyBpIDwgc2ktPm5yX3RoZWlyczsgaSsrKQorCQkJc2hhMV9hcnJheV9hcHBlbmQoJmV4dHJhLCBzaGExW3NpLT50aGVpcnNbaV1dKTsKKwkJc2V0dXBfYWx0ZXJuYXRlX3NoYWxsb3coJnNoYWxsb3dfbG9jaywKKwkJCQkJJmFsdGVybmF0ZV9zaGFsbG93X2ZpbGUsCisJCQkJCSZleHRyYSk7CisJCWNvbW1pdF9sb2NrX2ZpbGUoJnNoYWxsb3dfbG9jayk7CisJCXNoYTFfYXJyYXlfY2xlYXIoJmV4dHJhKTsKKwkJc2hhMV9hcnJheV9jbGVhcigmcmVmKTsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogcmVtb3RlIGlzIGFsc28gc2hhbGxvdywgY2hlY2sgd2hhdCByZWYgaXMgc2FmZSB0byB1cGRhdGUKKwkgKiB3aXRob3V0IHVwZGF0aW5nIC5naXQvc2hhbGxvdworCSAqLworCXN0YXR1cyA9IHhjYWxsb2MobnJfc291Z2h0LCBzaXplb2YoKnN0YXR1cykpOworCWFzc2lnbl9zaGFsbG93X2NvbW1pdHNfdG9fcmVmcyhzaSwgTlVMTCwgc3RhdHVzKTsKKwlpZiAoc2ktPm5yX291cnMgfHwgc2ktPm5yX3RoZWlycykgeworCQlmb3IgKGkgPSAwOyBpIDwgbnJfc291Z2h0OyBpKyspCisJCQlpZiAoc3RhdHVzW2ldKQorCQkJCXNvdWdodFtpXS0+c3RhdHVzID0gUkVGX1NUQVRVU19SRUpFQ1RfU0hBTExPVzsKKwl9CisJZnJlZShzdGF0dXMpOworCXNoYTFfYXJyYXlfY2xlYXIoJnJlZik7Cit9CisKIHN0cnVjdCByZWYgKmZldGNoX3BhY2soc3RydWN0IGZldGNoX3BhY2tfYXJncyAqYXJncywKIAkJICAgICAgIGludCBmZFtdLCBzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY29ubiwKIAkJICAgICAgIGNvbnN0IHN0cnVjdCByZWYgKnJlZiwKIAkJICAgICAgIGNvbnN0IGNoYXIgKmRlc3QsCiAJCSAgICAgICBzdHJ1Y3QgcmVmICoqc291Z2h0LCBpbnQgbnJfc291Z2h0LAorCQkgICAgICAgc3RydWN0IHNoYTFfYXJyYXkgKnNoYWxsb3csCiAJCSAgICAgICBjaGFyICoqcGFja19sb2NrZmlsZSkKIHsKIAlzdHJ1Y3QgcmVmICpyZWZfY3B5OworCXN0cnVjdCBzaGFsbG93X2luZm8gc2k7CiAKIAlmZXRjaF9wYWNrX3NldHVwKCk7CiAJaWYgKG5yX3NvdWdodCkKQEAgLTkzNiwxNiArMTA1MSwxMSBAQAogCQlwYWNrZXRfZmx1c2goZmRbMV0pOwogCQlkaWUoIm5vIG1hdGNoaW5nIHJlbW90ZSBoZWFkIik7CiAJfQotCXJlZl9jcHkgPSBkb19mZXRjaF9wYWNrKGFyZ3MsIGZkLCByZWYsIHNvdWdodCwgbnJfc291Z2h0LCBwYWNrX2xvY2tmaWxlKTsKLQotCWlmIChhcmdzLT5kZXB0aCA+IDAgJiYgYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZSkgewotCQlpZiAoKmFsdGVybmF0ZV9zaGFsbG93X2ZpbGUgPT0gJ1wwJykgeyAvKiAtLXVuc2hhbGxvdyAqLwotCQkJdW5saW5rX29yX3dhcm4oZ2l0X3BhdGgoInNoYWxsb3ciKSk7Ci0JCQlyb2xsYmFja19sb2NrX2ZpbGUoJnNoYWxsb3dfbG9jayk7Ci0JCX0gZWxzZQotCQkJY29tbWl0X2xvY2tfZmlsZSgmc2hhbGxvd19sb2NrKTsKLQl9Ci0KKwlwcmVwYXJlX3NoYWxsb3dfaW5mbygmc2ksIHNoYWxsb3cpOworCXJlZl9jcHkgPSBkb19mZXRjaF9wYWNrKGFyZ3MsIGZkLCByZWYsIHNvdWdodCwgbnJfc291Z2h0LAorCQkJCSZzaSwgcGFja19sb2NrZmlsZSk7CiAJcmVwcmVwYXJlX3BhY2tlZF9naXQoKTsKKwl1cGRhdGVfc2hhbGxvdyhhcmdzLCBzb3VnaHQsIG5yX3NvdWdodCwgJnNpKTsKKwljbGVhcl9zaGFsbG93X2luZm8oJnNpKTsKIAlyZXR1cm4gcmVmX2NweTsKIH0KZGlmZiAtLWdpdCBhL2ZldGNoLXBhY2suaCBiL2ZldGNoLXBhY2suaAppbmRleCA0MGYwOGJhLi5iYjdmZDc2IDEwMDY0NAotLS0gYS9mZXRjaC1wYWNrLmgKKysrIGIvZmV0Y2gtcGFjay5oCkBAIC0yLDIzICsyLDI5IEBACiAjZGVmaW5lIEZFVENIX1BBQ0tfSAogCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKKyNpbmNsdWRlICJydW4tY29tbWFuZC5oIgorCitzdHJ1Y3Qgc2hhMV9hcnJheTsKIAogc3RydWN0IGZldGNoX3BhY2tfYXJncyB7CiAJY29uc3QgY2hhciAqdXBsb2FkcGFjazsKIAlpbnQgdW5wYWNrbGltaXQ7CiAJaW50IGRlcHRoOwotCXVuc2lnbmVkIHF1aWV0OjEsCi0JCWtlZXBfcGFjazoxLAotCQlsb2NrX3BhY2s6MSwKLQkJdXNlX3RoaW5fcGFjazoxLAotCQlmZXRjaF9hbGw6MSwKLQkJc3RkaW5fcmVmczoxLAotCQl2ZXJib3NlOjEsCi0JCW5vX3Byb2dyZXNzOjEsCi0JCWluY2x1ZGVfdGFnOjEsCi0JCXN0YXRlbGVzc19ycGM6MSwKLQkJY2hlY2tfc2VsZl9jb250YWluZWRfYW5kX2Nvbm5lY3RlZDoxLAotCQlzZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkOjE7CisJdW5zaWduZWQgcXVpZXQ6MTsKKwl1bnNpZ25lZCBrZWVwX3BhY2s6MTsKKwl1bnNpZ25lZCBsb2NrX3BhY2s6MTsKKwl1bnNpZ25lZCB1c2VfdGhpbl9wYWNrOjE7CisJdW5zaWduZWQgZmV0Y2hfYWxsOjE7CisJdW5zaWduZWQgc3RkaW5fcmVmczoxOworCXVuc2lnbmVkIGRpYWdfdXJsOjE7CisJdW5zaWduZWQgdmVyYm9zZToxOworCXVuc2lnbmVkIG5vX3Byb2dyZXNzOjE7CisJdW5zaWduZWQgaW5jbHVkZV90YWc6MTsKKwl1bnNpZ25lZCBzdGF0ZWxlc3NfcnBjOjE7CisJdW5zaWduZWQgY2hlY2tfc2VsZl9jb250YWluZWRfYW5kX2Nvbm5lY3RlZDoxOworCXVuc2lnbmVkIHNlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQ6MTsKKwl1bnNpZ25lZCBjbG9uaW5nOjE7CisJdW5zaWduZWQgdXBkYXRlX3NoYWxsb3c6MTsKIH07CiAKIC8qCkBAIC0zMiw2ICszOCw3IEBACiAJCSAgICAgICBjb25zdCBjaGFyICpkZXN0LAogCQkgICAgICAgc3RydWN0IHJlZiAqKnNvdWdodCwKIAkJICAgICAgIGludCBucl9zb3VnaHQsCisJCSAgICAgICBzdHJ1Y3Qgc2hhMV9hcnJheSAqc2hhbGxvdywKIAkJICAgICAgIGNoYXIgKipwYWNrX2xvY2tmaWxlKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9nZXR0ZXh0LmMgYi9nZXR0ZXh0LmMKaW5kZXggNzFlOTU0NS4uOGIyZGE0NiAxMDA2NDQKLS0tIGEvZ2V0dGV4dC5jCisrKyBiL2dldHRleHQuYwpAQCAtMjksNiArMjksMTcgQEAKICNlbmRpZgogCiAjaWZuZGVmIE5PX0dFVFRFWFQKK3N0YXRpYyBpbnQgdGVzdF92c25wcmludGYoY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJY2hhciBidWZbMjZdOworCWludCByZXQ7CisJdmFfbGlzdCBhcDsKKwl2YV9zdGFydChhcCwgZm10KTsKKwlyZXQgPSB2c25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgZm10LCBhcCk7CisJdmFfZW5kKGFwKTsKKwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMgY29uc3QgY2hhciAqY2hhcnNldDsKIHN0YXRpYyB2b2lkIGluaXRfZ2V0dGV4dF9jaGFyc2V0KGNvbnN0IGNoYXIgKmRvbWFpbikKIHsKQEAgLTk5LDkgKzExMCw3IEBACiAJICAgJCBMQU5HVUFHRT0gTEFORz1kZV9ERS51dGY4IC4vdGVzdAogCSAgIHRlc3Q6IEtlaW4gcGFzc2VuZGVzIEdlcj90IGdlZnVuZGVuCiAKLQkgICBJbiB0aGUgbG9uZyB0ZXJtIHdlIHNob3VsZCBwcm9iYWJseSBzZWUgYWJvdXQgZ2V0dGluZyB0aGF0Ci0JICAgdnNucHJpbnRmIGJ1ZyBpbiBnbGliYyBmaXhlZCwgYW5kIGF1ZGl0IG91ciBjb2RlIHNvIGl0IHdvbid0Ci0JICAgZmFsbCBhcGFydCB1bmRlciBhIG5vbi1DIGxvY2FsZS4KKwkgICBUaGUgdnNucHJpbnRmIGJ1ZyBoYXMgYmVlbiBmaXhlZCBzaW5jZSBnbGliYyAyLjE3LgogCiAJICAgVGhlbiB3ZSBjb3VsZCBzaW1wbHkgc2V0IExDX0NUWVBFIGZyb20gdGhlIGVudmlyb25tZW50LCB3aGljaCB3b3VsZAogCSAgIG1ha2UgdGhpbmdzIGxpa2UgdGhlIGV4dGVybmFsIHBlcnJvcigzKSBtZXNzYWdlcyB3b3JrLgpAQCAtMTE1LDcgKzEyNCw5IEBACiAJc2V0bG9jYWxlKExDX0NUWVBFLCAiIik7CiAJY2hhcnNldCA9IGxvY2FsZV9jaGFyc2V0KCk7CiAJYmluZF90ZXh0ZG9tYWluX2NvZGVzZXQoZG9tYWluLCBjaGFyc2V0KTsKLQlzZXRsb2NhbGUoTENfQ1RZUEUsICJDIik7CisJLyogdGhlIHN0cmluZyBpcyB0YWtlbiBmcm9tIHYwLjk5LjZ+MSAqLworCWlmICh0ZXN0X3ZzbnByaW50ZigiJS4qcyIsIDEzLCAiRGF2aWRfS1wzNDVnZWRhbCIpIDwgMCkKKwkJc2V0bG9jYWxlKExDX0NUWVBFLCAiQyIpOwogfQogCiB2b2lkIGdpdF9zZXR1cF9nZXR0ZXh0KHZvaWQpCmRpZmYgLS1naXQgYS9naXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsIGIvZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybAppbmRleCA1MTU2Mzg0Li4yNGJiMWFiIDEwMDc1NQotLS0gYS9naXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsCisrKyBiL2dpdC1hZGQtLWludGVyYWN0aXZlLnBlcmwKQEAgLTI2Myw2ICsyNjMsMTcgQEAKIAlyZXR1cm4gJzRiODI1ZGM2NDJjYjZlYjlhMDYwZTU0YmY4ZDY5Mjg4ZmJlZTQ5MDQnOwogfQogCitzdWIgZ2V0X2RpZmZfcmVmZXJlbmNlIHsKKwlteSAkcmVmID0gc2hpZnQ7CisJaWYgKGRlZmluZWQgJHJlZiBhbmQgJHJlZiBuZSAnSEVBRCcpIHsKKwkJcmV0dXJuICRyZWY7CisJfSBlbHNpZiAoaXNfaW5pdGlhbF9jb21taXQoKSkgeworCQlyZXR1cm4gZ2V0X2VtcHR5X3RyZWUoKTsKKwl9IGVsc2UgeworCQlyZXR1cm4gJ0hFQUQnOworCX0KK30KKwogIyBSZXR1cm5zIGxpc3Qgb2YgaGFzaGVzLCBjb250ZW50cyBvZiBlYWNoIG9mIHdoaWNoIGFyZToKICMgVkFMVUU6CXBhdGhuYW1lCiAjIEJJTkFSWToJaXMgYSBiaW5hcnkgcGF0aApAQCAtMjg2LDE0ICsyOTcsNyBAQAogCQlyZXR1cm4gaWYgKCFAdHJhY2tlZCk7CiAJfQogCi0JbXkgJHJlZmVyZW5jZTsKLQlpZiAoZGVmaW5lZCAkcGF0Y2hfbW9kZV9yZXZpc2lvbiBhbmQgJHBhdGNoX21vZGVfcmV2aXNpb24gbmUgJ0hFQUQnKSB7Ci0JCSRyZWZlcmVuY2UgPSAkcGF0Y2hfbW9kZV9yZXZpc2lvbjsKLQl9IGVsc2lmIChpc19pbml0aWFsX2NvbW1pdCgpKSB7Ci0JCSRyZWZlcmVuY2UgPSBnZXRfZW1wdHlfdHJlZSgpOwotCX0gZWxzZSB7Ci0JCSRyZWZlcmVuY2UgPSAnSEVBRCc7Ci0JfQorCW15ICRyZWZlcmVuY2UgPSBnZXRfZGlmZl9yZWZlcmVuY2UoJHBhdGNoX21vZGVfcmV2aXNpb24pOwogCWZvciAocnVuX2NtZF9waXBlKHF3KGdpdCBkaWZmLWluZGV4IC0tY2FjaGVkCiAJCQkgICAgIC0tbnVtc3RhdCAtLXN1bW1hcnkpLCAkcmVmZXJlbmNlLAogCQkJICAgICAnLS0nLCBAdHJhY2tlZCkpIHsKQEAgLTczNyw3ICs3NDEsNyBAQAogCQlzcGxpY2UgQGRpZmZfY21kLCAxLCAwLCAiLS1kaWZmLWFsZ29yaXRobT0ke2RpZmZfYWxnb3JpdGhtfSI7CiAJfQogCWlmIChkZWZpbmVkICRwYXRjaF9tb2RlX3JldmlzaW9uKSB7Ci0JCXB1c2ggQGRpZmZfY21kLCAkcGF0Y2hfbW9kZV9yZXZpc2lvbjsKKwkJcHVzaCBAZGlmZl9jbWQsIGdldF9kaWZmX3JlZmVyZW5jZSgkcGF0Y2hfbW9kZV9yZXZpc2lvbik7CiAJfQogCW15IEBkaWZmID0gcnVuX2NtZF9waXBlKCJnaXQiLCBAZGlmZl9jbWQsICItLSIsICRwYXRoKTsKIAlteSBAY29sb3JlZCA9ICgpOwpkaWZmIC0tZ2l0IGEvZ2l0LWFtLnNoIGIvZ2l0LWFtLnNoCmluZGV4IDdlYTQwZmUuLmJiZWE0MzAgMTAwNzU1Ci0tLSBhL2dpdC1hbS5zaAorKysgYi9naXQtYW0uc2gKQEAgLTMwMiw3ICszMDIsNyBAQAogCQkJIyBub3Qgc3RhcnRpbmcgd2l0aCBBdXRob3IsIEZyb20gb3IgRGF0ZSBpcyB0aGUKIAkJCSMgc3ViamVjdCwgYW5kIHRoZSBib2R5IHN0YXJ0cyB3aXRoIHRoZSBuZXh0IG5vbmVtcHR5CiAJCQkjIGxpbmUgbm90IHN0YXJ0aW5nIHdpdGggQXV0aG9yLCBGcm9tIG9yIERhdGUKLQkJCXBlcmwgLW5lICdCRUdJTiB7ICRzdWJqZWN0ID0gMCB9CisJCQlAQFBFUkxAQCAtbmUgJ0JFR0lOIHsgJHN1YmplY3QgPSAwIH0KIAkJCQlpZiAoJHN1YmplY3QgPiAxKSB7IHByaW50IDsgfQogCQkJCWVsc2lmICgvXlxzKyQvKSB7IG5leHQgOyB9CiAJCQkJZWxzaWYgKC9eQXV0aG9yOi8pIHsgcy9BdXRob3IvRnJvbS8gOyBwcmludCA7fQpAQCAtMzM0LDcgKzMzNCw3IEBACiAJCQkjIFNpbmNlIHdlIGNhbm5vdCBndWFyYW50ZWUgdGhhdCB0aGUgY29tbWl0IG1lc3NhZ2UgaXMgaW4KIAkJCSMgZ2l0LWZyaWVuZGx5IGZvcm1hdCwgd2UgcHV0IG5vIFN1YmplY3Q6IGxpbmUgYW5kIGp1c3QgY29uc3VtZQogCQkJIyBhbGwgb2YgdGhlIG1lc3NhZ2UgYXMgdGhlIGJvZHkKLQkJCUxBTkc9QyBMQ19BTEw9QyBwZXJsIC1NJ1BPU0lYIHF3KHN0cmZ0aW1lKScgLW5lICdCRUdJTiB7ICRzdWJqZWN0ID0gMCB9CisJCQlMQU5HPUMgTENfQUxMPUMgQEBQRVJMQEAgLU0nUE9TSVggcXcoc3RyZnRpbWUpJyAtbmUgJ0JFR0lOIHsgJHN1YmplY3QgPSAwIH0KIAkJCQlpZiAoJHN1YmplY3QpIHsgcHJpbnQgOyB9CiAJCQkJZWxzaWYgKC9eXCMgVXNlciAvKSB7IHMvXCMgVXNlci9Gcm9tOi8gOyBwcmludCA7IH0KIAkJCQllbHNpZiAoL15cIyBEYXRlIC8pIHsKZGlmZiAtLWdpdCBhL2dpdC1iaXNlY3Quc2ggYi9naXQtYmlzZWN0LnNoCmluZGV4IDlmMDY0YjYuLjczYjRjMTQgMTAwNzU1Ci0tLSBhL2dpdC1iaXNlY3Quc2gKKysrIGIvZ2l0LWJpc2VjdC5zaApAQCAtMTM3LDcgKzEzNyw3IEBACiAJCQkjIGNvZ2l0byB1c2FnZSwgYW5kIGNvZ2l0byB1c2VycyBzaG91bGQgdW5kZXJzdGFuZAogCQkJIyBpdCByZWxhdGVzIHRvIGNnLXNlZWsuCiAJCQlbIC1zICIkR0lUX0RJUi9oZWFkLW5hbWUiIF0gJiYKLQkJCQlkaWUgIiQoZ2V0dGV4dCAid29uJ3QgYmlzZWN0IG9uIHNlZWtlZCB0cmVlIikiCisJCQkJZGllICIkKGdldHRleHQgIndvbid0IGJpc2VjdCBvbiBjZy1zZWVrJ2VkIHRyZWUiKSIKIAkJCXN0YXJ0X2hlYWQ9IiR7aGVhZCNyZWZzL2hlYWRzL30iCiAJCQk7OwogCQkqKQpkaWZmIC0tZ2l0IGEvZ2l0LWNvbXBhdC11dGlsLmggYi9naXQtY29tcGF0LXV0aWwuaAppbmRleCA5NmQ4ODgxLi5jYmQ4NmMzIDEwMDY0NAotLS0gYS9naXQtY29tcGF0LXV0aWwuaAorKysgYi9naXQtY29tcGF0LXV0aWwuaApAQCAtNzUsNyArNzUsNyBAQAogIyBlbmRpZgogI2VsaWYgIWRlZmluZWQoX19BUFBMRV9fKSAmJiAhZGVmaW5lZChfX0ZyZWVCU0RfXykgJiYgIWRlZmluZWQoX19VU0xDX18pICYmIFwKICAgICAgICFkZWZpbmVkKF9NX1VOSVgpICYmICFkZWZpbmVkKF9fc2dpKSAmJiAhZGVmaW5lZChfX0RyYWdvbkZseV9fKSAmJiBcCi0gICAgICAhZGVmaW5lZChfX1RBTkRFTSkgJiYgIWRlZmluZWQoX19RTlhfXykKKyAgICAgICFkZWZpbmVkKF9fVEFOREVNKSAmJiAhZGVmaW5lZChfX1FOWF9fKSAmJiAhZGVmaW5lZChfX01pckJTRF9fKQogI2RlZmluZSBfWE9QRU5fU09VUkNFIDYwMCAvKiBnbGliYzIgYW5kIEFJWCA1LjNMIG5lZWQgNTAwLCBPcGVuQlNEIG5lZWRzIDYwMCBmb3IgU19JU0xOSygpICovCiAjZGVmaW5lIF9YT1BFTl9TT1VSQ0VfRVhURU5ERUQgMSAvKiBBSVggNS4zTCBuZWVkcyB0aGlzICovCiAjZW5kaWYKQEAgLTg2LDcgKzg2LDcgQEAKICNkZWZpbmUgX1NHSV9TT1VSQ0UgMQogCiAjaWYgZGVmaW5lZChXSU4zMikgJiYgIWRlZmluZWQoX19DWUdXSU5fXykgLyogQm90aCBNaW5HVyBhbmQgTVNWQyAqLwotIyBpZiBkZWZpbmVkIChfTVNDX1ZFUikKKyMgaWYgZGVmaW5lZCAoX01TQ19WRVIpICYmICFkZWZpbmVkKF9XSU4zMl9XSU5OVCkKICMgIGRlZmluZSBfV0lOMzJfV0lOTlQgMHgwNTAyCiAjIGVuZGlmCiAjZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01FQU4gIC8qIHN0b3BzIHdpbmRvd3MuaCBpbmNsdWRpbmcgd2luc29jay5oICovCkBAIC0zMjUsNiArMzI1LDE2IEBACiBleHRlcm4gaW50IGVycm9yKGNvbnN0IGNoYXIgKmVyciwgLi4uKSBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKTsKIGV4dGVybiB2b2lkIHdhcm5pbmcoY29uc3QgY2hhciAqZXJyLCAuLi4pIF9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAxLCAyKSkpOwogCisjaWZuZGVmIE5PX09QRU5TU0wKKyNpZmRlZiBBUFBMRV9DT01NT05fQ1JZUFRPCisjaW5jbHVkZSAiY29tcGF0L2FwcGxlLWNvbW1vbi1jcnlwdG8uaCIKKyNlbHNlCisjaW5jbHVkZSA8b3BlbnNzbC9ldnAuaD4KKyNpbmNsdWRlIDxvcGVuc3NsL2htYWMuaD4KKyNlbmRpZiAvKiBBUFBMRV9DT01NT05fQ1JZUFRPICovCisjaW5jbHVkZSA8b3BlbnNzbC94NTA5djMuaD4KKyNlbmRpZiAvKiBOT19PUEVOU1NMICovCisKIC8qCiAgKiBMZXQgY2FsbGVycyBiZSBhd2FyZSBvZiB0aGUgY29uc3RhbnQgcmV0dXJuIHZhbHVlOyB0aGlzIGNhbiBoZWxwCiAgKiBnY2Mgd2l0aCAtV3VuaW5pdGlhbGl6ZWQgYW5hbHlzaXMuIFdlIHJlc3RyaWN0IHRoaXMgdHJpY2sgdG8gZ2NjLCB0aG91Z2gsCkBAIC0zNDAsNyArMzUwLDkgQEAKIGV4dGVybiB2b2lkIHNldF9lcnJvcl9yb3V0aW5lKHZvaWQgKCpyb3V0aW5lKShjb25zdCBjaGFyICplcnIsIHZhX2xpc3QgcGFyYW1zKSk7CiBleHRlcm4gdm9pZCBzZXRfZGllX2lzX3JlY3Vyc2luZ19yb3V0aW5lKGludCAoKnJvdXRpbmUpKHZvaWQpKTsKIAorZXh0ZXJuIGludCBzdGFydHNfd2l0aChjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKnByZWZpeCk7CiBleHRlcm4gaW50IHByZWZpeGNtcChjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitleHRlcm4gaW50IGVuZHNfd2l0aChjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKnN1ZmZpeCk7CiBleHRlcm4gaW50IHN1ZmZpeGNtcChjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKnN1ZmZpeCk7CiAKIHN0YXRpYyBpbmxpbmUgY29uc3QgY2hhciAqc2tpcF9wcmVmaXgoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpwcmVmaXgpCkBAIC01MDksNyArNTIxLDcgQEAKIGNvbnN0IGNoYXIgKmluZXRfbnRvcChpbnQgYWYsIGNvbnN0IHZvaWQgKnNyYywgY2hhciAqZHN0LCBzaXplX3Qgc2l6ZSk7CiAjZW5kaWYKIAotZXh0ZXJuIHZvaWQgcmVsZWFzZV9wYWNrX21lbW9yeShzaXplX3QsIGludCk7CitleHRlcm4gdm9pZCByZWxlYXNlX3BhY2tfbWVtb3J5KHNpemVfdCk7CiAKIHR5cGVkZWYgdm9pZCAoKnRyeV90b19mcmVlX3QpKHNpemVfdCk7CiBleHRlcm4gdHJ5X3RvX2ZyZWVfdCBzZXRfdHJ5X3RvX2ZyZWVfcm91dGluZSh0cnlfdG9fZnJlZV90KTsKZGlmZiAtLWdpdCBhL2dpdC1jdnNzZXJ2ZXIucGVybCBiL2dpdC1jdnNzZXJ2ZXIucGVybAppbmRleCA2N2IxZTdiLi45NWU2OWIxIDEwMDc1NQotLS0gYS9naXQtY3Zzc2VydmVyLnBlcmwKKysrIGIvZ2l0LWN2c3NlcnZlci5wZXJsCkBAIC00MzAsMTAgKzQzMCwxMCBAQAogCiAgICAgJGxvZy0+ZGVidWcoInJlcV92YWxpZHJlcXVlc3RzIik7CiAKLSAgICAkbG9nLT5kZWJ1ZygiU0VORCA6IFZhbGlkLXJlcXVlc3RzICIgLiBqb2luKCIgIixrZXlzICUkbWV0aG9kcykpOworICAgICRsb2ctPmRlYnVnKCJTRU5EIDogVmFsaWQtcmVxdWVzdHMgIiAuIGpvaW4oIiAiLHNvcnQga2V5cyAlJG1ldGhvZHMpKTsKICAgICAkbG9nLT5kZWJ1ZygiU0VORCA6IG9rIik7CiAKLSAgICBwcmludCAiVmFsaWQtcmVxdWVzdHMgIiAuIGpvaW4oIiAiLGtleXMgJSRtZXRob2RzKSAuICJcbiI7CisgICAgcHJpbnQgIlZhbGlkLXJlcXVlc3RzICIgLiBqb2luKCIgIixzb3J0IGtleXMgJSRtZXRob2RzKSAuICJcbiI7CiAgICAgcHJpbnQgIm9rXG4iOwogfQogCkBAIC0yMTI0LDcgKzIxMjQsNyBAQAogICAgICAgICAgICAgcHJpbnQgIk0gcmV0cmlldmluZyByZXZpc2lvbiAkbWV0YTItPntyZXZpc2lvbn1cbiIKICAgICAgICAgfQogICAgICAgICBwcmludCAiTSBkaWZmICI7Ci0gICAgICAgIGZvcmVhY2ggbXkgJG9wdCAoIGtleXMgJXskc3RhdGUtPntvcHR9fSApCisgICAgICAgIGZvcmVhY2ggbXkgJG9wdCAoIHNvcnQga2V5cyAleyRzdGF0ZS0+e29wdH19ICkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCByZWYgJHN0YXRlLT57b3B0fXskb3B0fSBlcSAiQVJSQVkiICkKICAgICAgICAgICAgIHsKQEAgLTQwNTAsNyArNDA1MCw3IEBACiAgICAgICAgICAgICBjbG9zZSBGSUxFTElTVDsKIAogICAgICAgICAgICAgIyBEZXRlY3QgZGVsZXRlZCBmaWxlcwotICAgICAgICAgICAgZm9yZWFjaCBteSAkZmlsZSAoIGtleXMgJSRoZWFkICkKKyAgICAgICAgICAgIGZvcmVhY2ggbXkgJGZpbGUgKCBzb3J0IGtleXMgJSRoZWFkICkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB1bmxlc3MgKCBleGlzdHMgJHNlZW5fZmlsZXMtPnskZmlsZX0gb3IgJGhlYWQtPnskZmlsZX17ZmlsZWhhc2h9IGVxICJkZWxldGVkIiApCiAgICAgICAgICAgICAgICAgewpAQCAtNDA3OCw3ICs0MDc4LDcgQEAKICAgICB9CiAKICAgICAkc2VsZi0+ZGVsZXRlX2hlYWQoKTsKLSAgICBmb3JlYWNoIG15ICRmaWxlICgga2V5cyAlJGhlYWQgKQorICAgIGZvcmVhY2ggbXkgJGZpbGUgKCBzb3J0IGtleXMgJSRoZWFkICkKICAgICB7CiAgICAgICAgICRzZWxmLT5pbnNlcnRfaGVhZCgKICAgICAgICAgICAgICRmaWxlLApAQCAtNDMzOCw3ICs0MzM4LDcgQEAKID1oZWFkMiBnZXRSZXZpc2lvbkRpck1hcAogCiBBICJyZXZpc2lvbiBkaXIgbWFwIiBjb250YWlucyBhbGwgdGhlIHBsYWluLWZpbGUgZmlsZW5hbWVzIGFzc29jaWF0ZWQKLXdpdGggYSBwYXJ0aWN1bGFyIHJldmlzaW9uICh0cmVlaXNoKSwgb3JnYW5pemVkIGJ5IGRpcmVjdG9yeToKK3dpdGggYSBwYXJ0aWN1bGFyIHJldmlzaW9uICh0cmVlLWlzaCksIG9yZ2FuaXplZCBieSBkaXJlY3Rvcnk6CiAKICAgJHR5cGUgPSAkb3V0LT57JGRpcn17JGZ1bGxOYW1lfQogCmRpZmYgLS1naXQgYS9naXQtZGlmZnRvb2wtLWhlbHBlci5zaCBiL2dpdC1kaWZmdG9vbC0taGVscGVyLnNoCmluZGV4IGIwMGVkOTUuLjdlZjM2YjkgMTAwNzU1Ci0tLSBhL2dpdC1kaWZmdG9vbC0taGVscGVyLnNoCisrKyBiL2dpdC1kaWZmdG9vbC0taGVscGVyLnNoCkBAIC00MCw3ICs0MCw4IEBACiAJIyB0aGUgdXNlciB3aXRoIHRoZSByZWFsICRNRVJHRUQgbmFtZSBiZWZvcmUgbGF1bmNoaW5nICRtZXJnZV90b29sLgogCWlmIHNob3VsZF9wcm9tcHQKIAl0aGVuCi0JCXByaW50ZiAiXG5WaWV3aW5nOiAnJXMnXG4iICIkTUVSR0VEIgorCQlwcmludGYgIlxuVmlld2luZyAoJXMvJXMpOiAnJXMnXG4iICIkR0lUX0RJRkZfUEFUSF9DT1VOVEVSIiBcCisJCQkiJEdJVF9ESUZGX1BBVEhfVE9UQUwiICIkTUVSR0VEIgogCQlpZiB1c2VfZXh0X2NtZAogCQl0aGVuCiAJCQlwcmludGYgIkxhdW5jaCAnJXMnIFtZL25dOiAiIFwKZGlmZiAtLWdpdCBhL2dpdC1maWx0ZXItYnJhbmNoLnNoIGIvZ2l0LWZpbHRlci1icmFuY2guc2gKaW5kZXggYWMyYTAwNS4uODZkNjk5NCAxMDA3NTUKLS0tIGEvZ2l0LWZpbHRlci1icmFuY2guc2gKKysrIGIvZ2l0LWZpbHRlci1icmFuY2guc2gKQEAgLTI1NSw3ICsyNTUsNyBAQAogCXJlbWFwX3RvX2FuY2VzdG9yPXQKIGZpCiAKLXJldl9hcmdzPSQoZ2l0IHJldi1wYXJzZSAtLXJldnMtb25seSAiJEAiKQorZ2l0IHJldi1wYXJzZSAtLXJldnMtb25seSAiJEAiID4uLi9wYXJzZQogCiBjYXNlICIkZmlsdGVyX3N1YmRpciIgaW4KICIiKQpAQCAtMjY4LDcgKzI2OCw3IEBACiBlc2FjCiAKIGdpdCByZXYtbGlzdCAtLXJldmVyc2UgLS10b3BvLW9yZGVyIC0tZGVmYXVsdCBIRUFEIFwKLQktLXBhcmVudHMgLS1zaW1wbGlmeS1tZXJnZXMgJHJldl9hcmdzICIkQCIgPiAuLi9yZXZzIHx8CisJLS1wYXJlbnRzIC0tc2ltcGxpZnktbWVyZ2VzIC0tc3RkaW4gIiRAIiA8Li4vcGFyc2UgPi4uL3JldnMgfHwKIAlkaWUgIkNvdWxkIG5vdCBnZXQgdGhlIGNvbW1pdHMiCiBjb21taXRzPSQod2MgLWwgPC4uL3JldnMgfCB0ciAtZCAiICIpCiAKQEAgLTI4MywxMSArMjgzLDEyIEBACiAKIAljYXNlICIkZmlsdGVyX3N1YmRpciIgaW4KIAkiIikKLQkJZ2l0IHJlYWQtdHJlZSAtaSAtbSAkY29tbWl0CisJCUdJVF9BTExPV19OVUxMX1NIQTE9MSBnaXQgcmVhZC10cmVlIC1pIC1tICRjb21taXQKIAkJOzsKIAkqKQogCQkjIFRoZSBjb21taXQgbWF5IG5vdCBoYXZlIHRoZSBzdWJkaXJlY3RvcnkgYXQgYWxsCi0JCWVycj0kKGdpdCByZWFkLXRyZWUgLWkgLW0gJGNvbW1pdDoiJGZpbHRlcl9zdWJkaXIiIDI+JjEpIHx8IHsKKwkJZXJyPSQoR0lUX0FMTE9XX05VTExfU0hBMT0xIFwKKwkJICAgICAgZ2l0IHJlYWQtdHJlZSAtaSAtbSAkY29tbWl0OiIkZmlsdGVyX3N1YmRpciIgMj4mMSkgfHwgewogCQkJaWYgISBnaXQgcmV2LXBhcnNlIC1xIC0tdmVyaWZ5ICRjb21taXQ6IiRmaWx0ZXJfc3ViZGlyIgogCQkJdGhlbgogCQkJCXJtIC1mICIkR0lUX0lOREVYX0ZJTEUiCmRpZmYgLS1naXQgYS9naXQtZ3VpL0dJVC1WRVJTSU9OLUdFTiBiL2dpdC1ndWkvR0lULVZFUlNJT04tR0VOCmluZGV4IDBhMWY4ZDQuLmE5ZWEyMTggMTAwNzU1Ci0tLSBhL2dpdC1ndWkvR0lULVZFUlNJT04tR0VOCisrKyBiL2dpdC1ndWkvR0lULVZFUlNJT04tR0VOCkBAIC0xLDcgKzEsNyBAQAogIyEvYmluL3NoCiAKIEdWRj1HSVQtVkVSU0lPTi1GSUxFCi1ERUZfVkVSPTAuMTguR0lUR1VJCitERUZfVkVSPTAuMTkuR0lUR1VJCiAKIExGPScKICcKZGlmZiAtLWdpdCBhL2dpdC1ndWkvTWFrZWZpbGUgYi9naXQtZ3VpL01ha2VmaWxlCmluZGV4IGU5YzJiYzMuLmNkZThiMmUgMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvTWFrZWZpbGUKKysrIGIvZ2l0LWd1aS9NYWtlZmlsZQpAQCAtNCw3ICs0LDcgQEAKICMKICMgRGVmaW5lIE5PX01TR0ZNVCBpZiB5b3UgZG8gbm90IGhhdmUgbXNnZm10IGZyb20gdGhlIEdOVSBnZXR0ZXh0CiAjIHBhY2thZ2UgYW5kIHdhbnQgdG8gdXNlIG91ciByb3VnaCBwdXJlIFRjbCBwby0+bXNnIHRyYW5zbGF0b3IuCi0jIFRDTF9QQVRIIG11c3QgYmUgdmFpbGQgZm9yIHRoaXMgdG8gd29yay4KKyMgVENMX1BBVEggbXVzdCBiZSB2YWxpZCBmb3IgdGhpcyB0byB3b3JrLgogIwogCiBHSVQtVkVSU0lPTi1GSUxFOiBGT1JDRQpkaWZmIC0tZ2l0IGEvZ2l0LWd1aS9naXQtZ3VpLnNoIGIvZ2l0LWd1aS9naXQtZ3VpLnNoCmluZGV4IDE1M2Y4NWQuLmNmMjIwOWIgMTAwNzU1Ci0tLSBhL2dpdC1ndWkvZ2l0LWd1aS5zaAorKysgYi9naXQtZ3VpL2dpdC1ndWkuc2gKQEAgLTg5NCw2ICs4OTQsNyBAQAogc2V0IGRlZmF1bHRfY29uZmlnKGd1aS5wcnVuZWR1cmluZ2ZldGNoKSBmYWxzZQogc2V0IGRlZmF1bHRfY29uZmlnKGd1aS50cnVzdG10aW1lKSBmYWxzZQogc2V0IGRlZmF1bHRfY29uZmlnKGd1aS5mYXN0Y29weWJsYW1lKSBmYWxzZQorc2V0IGRlZmF1bHRfY29uZmlnKGd1aS5tYXhyZWNlbnRyZXBvKSAxMAogc2V0IGRlZmF1bHRfY29uZmlnKGd1aS5jb3B5YmxhbWV0aHJlc2hvbGQpIDQwCiBzZXQgZGVmYXVsdF9jb25maWcoZ3VpLmJsYW1laGlzdG9yeWN0eCkgNwogc2V0IGRlZmF1bHRfY29uZmlnKGd1aS5kaWZmY29udGV4dCkgNQpAQCAtOTEyLDYgKzkxMyw3IEBACiAJe2ZvbnRkaWZmIGZvbnRfZGlmZiB7bWMgIkRpZmYvQ29uc29sZSBGb250In19CiB9CiBzZXQgZGVmYXVsdF9jb25maWcoZ3VpLnN0YWdldW50cmFja2VkKSBhc2sKK3NldCBkZWZhdWx0X2NvbmZpZyhndWkuZGlzcGxheXVudHJhY2tlZCkgdHJ1ZQogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIwpAQCAtMTI4Miw3ICsxMjg0LDExIEBACiAKICMgdjEuNy4wIGludHJvZHVjZWQgLS1zaG93LXRvcGxldmVsIHRvIHJldHVybiB0aGUgY2Fub25pY2FsIHdvcmstdHJlZQogaWYge1twYWNrYWdlIHZzYXRpc2ZpZXMgJF9naXRfdmVyc2lvbiAxLjcuMF19IHsKLQlzZXQgX2dpdHdvcmt0cmVlIFtnaXQgcmV2LXBhcnNlIC0tc2hvdy10b3BsZXZlbF0KKwlpZiB7IFtpc19DeWd3aW5dIH0geworCQljYXRjaCB7c2V0IF9naXR3b3JrdHJlZSBbZXhlYyBjeWdwYXRoIC0td2luZG93cyBbZ2l0IHJldi1wYXJzZSAtLXNob3ctdG9wbGV2ZWxdXX0KKwl9IGVsc2UgeworCQlzZXQgX2dpdHdvcmt0cmVlIFtnaXQgcmV2LXBhcnNlIC0tc2hvdy10b3BsZXZlbF0KKwl9CiB9IGVsc2UgewogCSMgdHJ5IHRvIHNldCB3b3JrIHRyZWUgZnJvbSBlbnZpcm9ubWVudCwgY29yZS53b3JrdHJlZSBvciB1c2UKIAkjIGNkdXAgdG8gb2J0YWluIGEgcmVsYXRpdmUgcGF0aCB0byB0aGUgdG9wIG9mIHRoZSB3b3JrdHJlZS4gSWYKQEAgLTE1NTAsMTggKzE1NTYsMjMgQEAKIAlzZXQgYnVmX3JkZiB7fQogCXNldCBidWZfcmxvIHt9CiAKLQlzZXQgcmVzY2FuX2FjdGl2ZSAzCisJc2V0IHJlc2Nhbl9hY3RpdmUgMgogCXVpX3N0YXR1cyBbbWMgIlNjYW5uaW5nIGZvciBtb2RpZmllZCBmaWxlcyAuLi4iXQogCXNldCBmZF9kaSBbZ2l0X3JlYWQgZGlmZi1pbmRleCAtLWNhY2hlZCAteiBbUEFSRU5UXV0KIAlzZXQgZmRfZGYgW2dpdF9yZWFkIGRpZmYtZmlsZXMgLXpdCi0Jc2V0IGZkX2xvIFtldmFsIGdpdF9yZWFkIGxzLWZpbGVzIC0tb3RoZXJzIC16ICRsc19vdGhlcnNdCiAKIAlmY29uZmlndXJlICRmZF9kaSAtYmxvY2tpbmcgMCAtdHJhbnNsYXRpb24gYmluYXJ5IC1lbmNvZGluZyBiaW5hcnkKIAlmY29uZmlndXJlICRmZF9kZiAtYmxvY2tpbmcgMCAtdHJhbnNsYXRpb24gYmluYXJ5IC1lbmNvZGluZyBiaW5hcnkKLQlmY29uZmlndXJlICRmZF9sbyAtYmxvY2tpbmcgMCAtdHJhbnNsYXRpb24gYmluYXJ5IC1lbmNvZGluZyBiaW5hcnkKKwogCWZpbGVldmVudCAkZmRfZGkgcmVhZGFibGUgW2xpc3QgcmVhZF9kaWZmX2luZGV4ICRmZF9kaSAkYWZ0ZXJdCiAJZmlsZWV2ZW50ICRmZF9kZiByZWFkYWJsZSBbbGlzdCByZWFkX2RpZmZfZmlsZXMgJGZkX2RmICRhZnRlcl0KLQlmaWxlZXZlbnQgJGZkX2xvIHJlYWRhYmxlIFtsaXN0IHJlYWRfbHNfb3RoZXJzICRmZF9sbyAkYWZ0ZXJdCisKKwlpZiB7W2lzX2NvbmZpZ190cnVlIGd1aS5kaXNwbGF5dW50cmFja2VkXX0geworCQlzZXQgZmRfbG8gW2V2YWwgZ2l0X3JlYWQgbHMtZmlsZXMgLS1vdGhlcnMgLXogJGxzX290aGVyc10KKwkJZmNvbmZpZ3VyZSAkZmRfbG8gLWJsb2NraW5nIDAgLXRyYW5zbGF0aW9uIGJpbmFyeSAtZW5jb2RpbmcgYmluYXJ5CisJCWZpbGVldmVudCAkZmRfbG8gcmVhZGFibGUgW2xpc3QgcmVhZF9sc19vdGhlcnMgJGZkX2xvICRhZnRlcl0KKwkJaW5jciByZXNjYW5fYWN0aXZlCisJfQogfQogCiBwcm9jIGxvYWRfbWVzc2FnZSB7ZmlsZSB7ZW5jb2Rpbmcge319fSB7CkBAIC0yNjU0LDYgKzI2NjUsMTYgQEAKIAkubWJhci5yZXBvc2l0b3J5IGFkZCBjb21tYW5kIFwKIAkJLWxhYmVsIFttYyAiRXhwbG9yZSBXb3JraW5nIENvcHkiXSBcCiAJCS1jb21tYW5kIHtkb19leHBsb3JlfQorfQorCitpZiB7W2lzX1dpbmRvd3NdfSB7CisJLm1iYXIucmVwb3NpdG9yeSBhZGQgY29tbWFuZCBcCisJCS1sYWJlbCBbbWMgIkdpdCBCYXNoIl0gXAorCQktY29tbWFuZCB7ZXZhbCBleGVjIFthdXRvX2V4ZWNvayBzdGFydF0gXAorCQkJCQkgIFtsaXN0ICJHaXQgQmFzaCIgYmFzaCAtLWxvZ2luIC1sICZdfQorfQorCitpZiB7W2lzX1dpbmRvd3NdIHx8ICFbaXNfYmFyZV19IHsKIAkubWJhci5yZXBvc2l0b3J5IGFkZCBzZXBhcmF0b3IKIH0KIApAQCAtMzIwMywxMyArMzIyNCwyOSBAQAogCiAjIC0tIERpZmYgYW5kIENvbW1pdCBBcmVhCiAjCi0ke05TfTo6ZnJhbWUgLnZwYW5lLmxvd2VyIC1oZWlnaHQgMzAwIC13aWR0aCA0MDAKLSR7TlN9OjpmcmFtZSAudnBhbmUubG93ZXIuY29tbWFyZWEKLSR7TlN9OjpmcmFtZSAudnBhbmUubG93ZXIuZGlmZiAtcmVsaWVmIHN1bmtlbiAtYm9yZGVyd2lkdGggMQotcGFjayAudnBhbmUubG93ZXIuZGlmZiAtZmlsbCBib3RoIC1leHBhbmQgMQotcGFjayAudnBhbmUubG93ZXIuY29tbWFyZWEgLXNpZGUgYm90dG9tIC1maWxsIHgKLS52cGFuZSBhZGQgLnZwYW5lLmxvd2VyCi1pZiB7ISR1c2VfdHRrfSB7LnZwYW5lIHBhbmVjb25maWd1cmUgLnZwYW5lLmxvd2VyIC1zdGlja3kgbnNld30KK2lmIHskaGF2ZV90azg1fSB7CisJJHtOU306OnBhbmVkd2luZG93IC52cGFuZS5sb3dlciAtb3JpZW50IHZlcnRpY2FsCisJJHtOU306OmZyYW1lIC52cGFuZS5sb3dlci5jb21tYXJlYQorCSR7TlN9OjpmcmFtZSAudnBhbmUubG93ZXIuZGlmZiAtcmVsaWVmIHN1bmtlbiAtYm9yZGVyd2lkdGggMSAtaGVpZ2h0IDUwMAorCS52cGFuZS5sb3dlciBhZGQgLnZwYW5lLmxvd2VyLmRpZmYKKwkudnBhbmUubG93ZXIgYWRkIC52cGFuZS5sb3dlci5jb21tYXJlYQorCS52cGFuZSBhZGQgLnZwYW5lLmxvd2VyCisJaWYgeyR1c2VfdHRrfSB7CisJCS52cGFuZS5sb3dlciBwYW5lIC52cGFuZS5sb3dlci5kaWZmIC13ZWlnaHQgMQorCQkudnBhbmUubG93ZXIgcGFuZSAudnBhbmUubG93ZXIuY29tbWFyZWEgLXdlaWdodCAwCisJfSBlbHNlIHsKKwkJLnZwYW5lLmxvd2VyIHBhbmVjb25maWd1cmUgLnZwYW5lLmxvd2VyLmRpZmYgLXN0cmV0Y2ggYWx3YXlzCisJCS52cGFuZS5sb3dlciBwYW5lY29uZmlndXJlIC52cGFuZS5sb3dlci5jb21tYXJlYSAtc3RyZXRjaCBuZXZlcgorCX0KK30gZWxzZSB7CisJZnJhbWUgLnZwYW5lLmxvd2VyIC1oZWlnaHQgMzAwIC13aWR0aCA0MDAKKwlmcmFtZSAudnBhbmUubG93ZXIuY29tbWFyZWEKKwlmcmFtZSAudnBhbmUubG93ZXIuZGlmZiAtcmVsaWVmIHN1bmtlbiAtYm9yZGVyd2lkdGggMQorCXBhY2sgLnZwYW5lLmxvd2VyLmRpZmYgLWZpbGwgYm90aCAtZXhwYW5kIDEKKwlwYWNrIC52cGFuZS5sb3dlci5jb21tYXJlYSAtc2lkZSBib3R0b20gLWZpbGwgeAorCS52cGFuZSBhZGQgLnZwYW5lLmxvd2VyCisJLnZwYW5lIHBhbmVjb25maWd1cmUgLnZwYW5lLmxvd2VyIC1zdGlja3kgbnNldworfQogCiAjIC0tIENvbW1pdCBBcmVhIEJ1dHRvbnMKICMKZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL2JsYW1lLnRjbCBiL2dpdC1ndWkvbGliL2JsYW1lLnRjbAppbmRleCAzMjRmNzc0Li5iMWQxNWY0IDEwMDY0NAotLS0gYS9naXQtZ3VpL2xpYi9ibGFtZS50Y2wKKysrIGIvZ2l0LWd1aS9saWIvYmxhbWUudGNsCkBAIC01LDcgKzUsNyBAQAogCiBpbWFnZSBjcmVhdGUgcGhvdG8gOjpibGFtZTo6aW1nX2JhY2tfYXJyb3cgLWRhdGEge1IwbEdPRGxoR0FBWUFJVUFBUHdDQkV6S1hGVFNaSXorbkd6bWhHenFmR1RpZElUK25FekdYSFRxaEd6bWZHemlmRnphZEVUQ1ZFUytWQVJXREZ6V2JIenlqQVJlREdUYWRGVE9aRFN5UkR5eVRDeW1QQVJhRkdUZWRGelNiRHkyVEN5cVJDeXFQQVJhREF5Q0hFUzZWRHk2VkN5aVBBUjZIQ1NlTkJ5V0xBUnlGQVJpREFScUZHVGlmQVJpRkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNINUJBRUFBQUFBTEFBQUFBQVlBQmdBQUFhalFJQndTQ3dhajhpa2NzazBCcHBKd1JQcUhFeXBRd0hCaXMwV0RBZEVGeUJJS0JhTUFLTEJkalFlU2tGQllUQkFJdmdFb1M2Sm1oVVRFd0lVRFE0VkZoY01HRWh5Q2dvWkV4b1VheHNXSEIwVEhrZ2ZBWFVHQWhvQkRTQVZGUjBYQm5DYkRSbWdvZzBocFNJaURKcEpJeUVRaEJVY0pDSWx3QTIyU1NZVm9na25FZzhlRDgycVNpZ2REU2tuWTBJcUpRWFBZeElsMWRaQ0dOdld3K0RtNTEwR1FRQWgvbWhEY21WaGRHVmtJR0o1SUVKTlVGUnZSMGxHSUZCeWJ5QjJaWEp6YVc5dUlESXVOUTBLcVNCRVpYWmxiRU52Y2lBeE9UazNMREU1T1RndUlFRnNiQ0J5YVdkb2RITWdjbVZ6WlhKMlpXUXVEUXBvZEhSd09pOHZkM2QzTG1SbGRtVnNZMjl5TG1OdmJRQTd9CiAKLSMgUGVyc2lzdGFudCBkYXRhIChzdXJ2aXZlcyBsb2FkcykKKyMgUGVyc2lzdGVudCBkYXRhIChzdXJ2aXZlcyBsb2FkcykKICMKIGZpZWxkIGhpc3Rvcnkge307ICMgdmlld2VyIGhpc3Rvcnk6IHtjb21taXQgcGF0aH0KIGZpZWxkIGhlYWRlciAgICA7ICMgYXJyYXkgY29tbWl0LGtleSAtPiBoZWFkZXIgZmllbGQKZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbCBiL2dpdC1ndWkvbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbAppbmRleCBlZTU4OTgxLi4zYzEwYmM2IDEwMDY0NAotLS0gYS9naXQtZ3VpL2xpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2wKKysrIGIvZ2l0LWd1aS9saWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsCkBAIC0yNCw2ICsyNCwxMCBAQAogY29uc3RydWN0b3IgcGljayB7fSB7CiAJZ2xvYmFsIE0xVCBNMUIgdXNlX3R0ayBOUwogCisJaWYge1tzZXQgbWF4cmVjZW50IFtnZXRfY29uZmlnIGd1aS5tYXhyZWNlbnRyZXBvXV0gZXEge319IHsKKwkJc2V0IG1heHJlY2VudCAxMAorCX0KKwogCW1ha2VfZGlhbG9nIHRvcCB3CiAJd20gdGl0bGUgJHRvcCBbbWMgIkdpdCBHdWkiXQogCkBAIC0xNDgsNyArMTUyLDcgQEAKIAkJCS1iYWNrZ3JvdW5kIFtnZXRfYmdfY29sb3IgJHdfYm9keS5yZWNlbnRsYWJlbF0gXAogCQkJLXdyYXAgbm9uZSBcCiAJCQktd2lkdGggNTAgXAotCQkJLWhlaWdodCAxMAorCQkJLWhlaWdodCAkbWF4cmVjZW50CiAJCSR3X3JlY2VudGxpc3QgdGFnIGNvbmYgbGluayBcCiAJCQktZm9yZWdyb3VuZCBibHVlIFwKIAkJCS11bmRlcmxpbmUgMQpAQCAtMjY0LDcgKzI2OCwxMSBAQAogCWdpdCBjb25maWcgLS1nbG9iYWwgLS1hZGQgZ3VpLnJlY2VudHJlcG8gJHBhdGgKIAlsb2FkX2NvbmZpZyAxCiAKLQl3aGlsZSB7W2xsZW5ndGggJHJlY2VudF0gPiAxMH0geworCWlmIHtbc2V0IG1heHJlY2VudCBbZ2V0X2NvbmZpZyBndWkubWF4cmVjZW50cmVwb11dIGVxIHt9fSB7CisJCXNldCBtYXhyZWNlbnQgMTAKKwl9CisKKwl3aGlsZSB7W2xsZW5ndGggJHJlY2VudF0gPiAkbWF4cmVjZW50fSB7CiAJCV91bnNldF9yZWNlbnRyZXBvIFtsaW5kZXggJHJlY2VudCAwXQogCQlzZXQgcmVjZW50IFtscmFuZ2UgJHJlY2VudCAxIGVuZF0KIAl9CmRpZmYgLS1naXQgYS9naXQtZ3VpL2xpYi9pbmRleC50Y2wgYi9naXQtZ3VpL2xpYi9pbmRleC50Y2wKaW5kZXggOGVmYmJkZC4uNzRhODFhNyAxMDA2NDQKLS0tIGEvZ2l0LWd1aS9saWIvaW5kZXgudGNsCisrKyBiL2dpdC1ndWkvbGliL2luZGV4LnRjbApAQCAtNDE0LDcgKzQxNCw3IEBACiAJIyBzdWNoIGRpc3RpbmN0aW9uIGlzIG5lZWRlZCBpbiBzb21lIGxhbmd1YWdlcy4gUHJldmlvdXNseSwgdGhlCiAJIyBjb2RlIHVzZWQgIlJldmVydCBjaGFuZ2VzIGluIiBmb3IgYm90aCwgYnV0IHRoYXQgY2FuJ3Qgd29yawogCSMgaW4gbGFuZ3VhZ2VzIHdoZXJlICdpbicgbXVzdCBiZSBjb21iaW5lZCB3aXRoIHdvcmQgZnJvbQotCSMgcmVzdCBvZiBzdHJpbmcgKGluIGRpZmZyZW50IHdheSBmb3IgYm90aCBjYXNlcyBvZiBjb3Vyc2UpLgorCSMgcmVzdCBvZiBzdHJpbmcgKGluIGRpZmZlcmVudCB3YXkgZm9yIGJvdGggY2FzZXMgb2YgY291cnNlKS4KIAkjCiAJIyBGSVhNRTogVW5mb3J0dW5hdGVseSwgZXZlbiB0aGF0IGlzbid0IGVub3VnaCBpbiBzb21lIGxhbmd1YWdlcwogCSMgYXMgdGhleSBoYXZlIHF1aXRlIGNvbXBsZXggcGx1cmFsLWZvcm0gcnVsZXMuIFVuZm9ydHVuYXRlbHksCmRpZmYgLS1naXQgYS9naXQtZ3VpL2xpYi9vcHRpb24udGNsIGIvZ2l0LWd1aS9saWIvb3B0aW9uLnRjbAppbmRleCAwY2YxZGExLi4yM2M5YWU3IDEwMDY0NAotLS0gYS9naXQtZ3VpL2xpYi9vcHRpb24udGNsCisrKyBiL2dpdC1ndWkvbGliL29wdGlvbi50Y2wKQEAgLTE1MCw2ICsxNTAsNyBAQAogCQl7YiBndWkubWF0Y2h0cmFja2luZ2JyYW5jaCB7bWMgIk1hdGNoIFRyYWNraW5nIEJyYW5jaGVzIn19CiAJCXtiIGd1aS50ZXh0Y29udiB7bWMgIlVzZSBUZXh0Y29udiBGb3IgRGlmZnMgYW5kIEJsYW1lcyJ9fQogCQl7YiBndWkuZmFzdGNvcHlibGFtZSB7bWMgIkJsYW1lIENvcHkgT25seSBPbiBDaGFuZ2VkIEZpbGVzIn19CisJCXtpLTAuLjEwMCBndWkubWF4cmVjZW50cmVwbyB7bWMgIk1heGltdW0gTGVuZ3RoIG9mIFJlY2VudCBSZXBvc2l0b3JpZXMgTGlzdCJ9fQogCQl7aS0yMC4uMjAwIGd1aS5jb3B5YmxhbWV0aHJlc2hvbGQge21jICJNaW5pbXVtIExldHRlcnMgVG8gQmxhbWUgQ29weSBPbiJ9fQogCQl7aS0wLi4zMDAgZ3VpLmJsYW1laGlzdG9yeWN0eCB7bWMgIkJsYW1lIEhpc3RvcnkgQ29udGV4dCBSYWRpdXMgKGRheXMpIn19CiAJCXtpLTEuLjk5IGd1aS5kaWZmY29udGV4dCB7bWMgIk51bWJlciBvZiBEaWZmIENvbnRleHQgTGluZXMifX0KQEAgLTE1OSw2ICsxNjAsNyBAQAogCQl7YyBndWkuZW5jb2Rpbmcge21jICJEZWZhdWx0IEZpbGUgQ29udGVudHMgRW5jb2RpbmcifX0KIAkJe2IgZ3VpLndhcm5kZXRhY2hlZGNvbW1pdCB7bWMgIldhcm4gYmVmb3JlIGNvbW1pdHRpbmcgdG8gYSBkZXRhY2hlZCBoZWFkIn19CiAJCXtzIGd1aS5zdGFnZXVudHJhY2tlZCB7bWMgIlN0YWdpbmcgb2YgdW50cmFja2VkIGZpbGVzIn0ge2xpc3QgInllcyIgIm5vIiAiYXNrIn19CisJCXtiIGd1aS5kaXNwbGF5dW50cmFja2VkIHttYyAiU2hvdyB1bnRyYWNrZWQgZmlsZXMifX0KIAkJfSB7CiAJCXNldCB0eXBlIFtsaW5kZXggJG9wdGlvbiAwXQogCQlzZXQgbmFtZSBbbGluZGV4ICRvcHRpb24gMV0KZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL3NwZWxsY2hlY2sudGNsIGIvZ2l0LWd1aS9saWIvc3BlbGxjaGVjay50Y2wKaW5kZXggZTYxMjAzMC4uNTM4ZDYxYyAxMDA2NDQKLS0tIGEvZ2l0LWd1aS9saWIvc3BlbGxjaGVjay50Y2wKKysrIGIvZ2l0LWd1aS9saWIvc3BlbGxjaGVjay50Y2wKQEAgLTE0LDcgKzE0LDcgQEAKIGZpZWxkIHNfbWVudWlkeCAwIDsgIyBsYXN0IGluZGV4IG9mIGluc2VydGlvbiBpbnRvICR3X21lbnUKIAogZmllbGQgc19pICAgICAgICAgICB7fSA7ICMgdGltZXIgcmVnaXN0cmF0aW9uIGZvciBfcnVuIGNhbGxiYWNrcwotZmllbGQgc19jbGVhciAgICAgICAgMCA7ICMgZGlkIHdlIGVyYXNlIG1pc3BlbGxlZCB0YWdzIHlldD8KK2ZpZWxkIHNfY2xlYXIgICAgICAgIDAgOyAjIGRpZCB3ZSBlcmFzZSBtaXNzcGVsbGVkIHRhZ3MgeWV0PwogZmllbGQgc19zZWVuICAgIFtsaXN0XSA7ICMgbGluZXMgbGFzdCBzZWVuIGZyb20gJHdfdGV4dCBpbiBfcnVuCiBmaWVsZCBzX2NoZWNrZWQgW2xpc3RdIDsgIyBsaW5lcyBhbHJlYWR5IGNoZWNrZWQKIGZpZWxkIHNfcGVuZGluZyBbbGlzdF0gOyAjIFskbGluZSAkZGF0YV0gc2VudCB0byBpc3BlbGwvYXNwZWxsCkBAIC0yNTksNyArMjU5LDcgQEAKIAkJaWYgeyRuID09ICRjdXJfbGluZQogCQkgJiYgIVtyZWdleHAge15cVyR9IFskd190ZXh0IGdldCAkY3VyX3BvcyBpbnNlcnRdXX0gewogCi0JCQkjIElmIHRoZSBjdXJyZW50IHdvcmQgaXMgbWlzcGVsbGVkIHJlbW92ZSB0aGUgdGFnCisJCQkjIElmIHRoZSBjdXJyZW50IHdvcmQgaXMgbWlzc3BlbGxlZCByZW1vdmUgdGhlIHRhZwogCQkJIyBidXQgZm9yY2UgYSBzcGVsbGNoZWNrIGxhdGVyLgogCQkJIwogCQkJc2V0IHRhZ3MgWyR3X3RleHQgdGFnIG5hbWVzICRjdXJfcG9zXQpkaWZmIC0tZ2l0IGEvZ2l0LWd1aS9tYWNvc3gvSW5mby5wbGlzdCBiL2dpdC1ndWkvbWFjb3N4L0luZm8ucGxpc3QKaW5kZXggYjNiZjE1Zi4uMWFkZTEyMSAxMDA2NDQKLS0tIGEvZ2l0LWd1aS9tYWNvc3gvSW5mby5wbGlzdAorKysgYi9naXQtZ3VpL21hY29zeC9JbmZvLnBsaXN0CkBAIC0yNCw1ICsyNCw3IEBACiAJPHN0cmluZz5HSVRnPC9zdHJpbmc+CiAJPGtleT5DRkJ1bmRsZVZlcnNpb248L2tleT4KIAk8c3RyaW5nPkBAR0lUR1VJX1ZFUlNJT05AQDwvc3RyaW5nPgorCTxrZXk+TlNIaWdoUmVzb2x1dGlvbkNhcGFibGU8L2tleT4KKwk8dHJ1ZS8+CiA8L2RpY3Q+CiA8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvZ2l0LWd1aS9wby9iZy5wbyBiL2dpdC1ndWkvcG8vYmcucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODliM2E0ZQotLS0gL2Rldi9udWxsCisrKyBiL2dpdC1ndWkvcG8vYmcucG8KQEAgLTAsMCArMSwyNjk0IEBACisjIEJ1bGdhcmlhbiB0cmFuc2xhdGlvbiBvZiBnaXQtZ3VpIHBvLWZpbGUuCisjIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMywgMjAxNCBBbGV4YW5kZXIgU2hvcG92IDxhc2hAa2FtYmFuYXJpYS5vcmc+LgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgZ2l0IHBhY2thZ2UuCisjIEFsZXhhbmRlciBTaG9wb3YgPGFzaEBrYW1iYW5hcmlhLm9yZz4sIDIwMTIsIDIwMTMsIDIwMTQuCisjCisjCittc2dpZCAiIgorbXNnc3RyICIiCisiUHJvamVjdC1JZC1WZXJzaW9uOiBnaXQtZ3VpIG1hc3RlclxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNC0wMS0xMyAyMDo0NSswMjAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxNC0wMS0xMyAyMTozMSswMjAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBBbGV4YW5kZXIgU2hvcG92IDxhc2hAa2FtYmFuYXJpYS5vcmc+XG4iCisiTGFuZ3VhZ2UtVGVhbTogQnVsZ2FyaWFuIDxkaWN0QGZzYS1iZy5vcmc+XG4iCisiTGFuZ3VhZ2U6IGJnXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCisKKyM6IGdpdC1ndWkuc2g6ODU5CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmb250IHNwZWNpZmllZCBpbiAlczoiCittc2dzdHIgItCj0LrQsNC30LDQvSDQtSDQvdC10L/RgNCw0LLQuNC70LXQvSDRiNGA0LjRhNGCINCyICVzOiIKKworIzogZ2l0LWd1aS5zaDo5MTIKK21zZ2lkICJNYWluIEZvbnQiCittc2dzdHIgItCe0YHQvdC+0LLQtdC9INGI0YDQuNGE0YIiCisKKyM6IGdpdC1ndWkuc2g6OTEzCittc2dpZCAiRGlmZi9Db25zb2xlIEZvbnQiCittc2dzdHIgItCo0YDQuNGE0YIg0LfQsCDRgNCw0LfQu9C40LrQuNGC0LUv0LrQvtC90LfQvtC70LDRgtCwIgorCisjOiBnaXQtZ3VpLnNoOjkyOCBnaXQtZ3VpLnNoOjk0MiBnaXQtZ3VpLnNoOjk1NSBnaXQtZ3VpLnNoOjEwNDUKKyM6IGdpdC1ndWkuc2g6MTA2NCBnaXQtZ3VpLnNoOjMxMTUKK21zZ2lkICJnaXQtZ3VpOiBmYXRhbCBlcnJvciIKK21zZ3N0ciAiZ2l0LWd1aTog0YTQsNGC0LDQu9C90LAg0LPRgNC10YjQutCwIgorCisjOiBnaXQtZ3VpLnNoOjkyOQorbXNnaWQgIkNhbm5vdCBmaW5kIGdpdCBpbiBQQVRILiIKK21zZ3N0ciAi0JrQvtC80LDQvdC00LDRgtCwIGdpdCDQu9C40L/RgdCy0LAg0LIg0L/RitGC0Y8gKFBBVEgpLiIKKworIzogZ2l0LWd1aS5zaDo5NTYKK21zZ2lkICJDYW5ub3QgcGFyc2UgR2l0IHZlcnNpb24gc3RyaW5nOiIKK21zZ3N0ciAi0J3QuNC30YrRgiDRgSDQstC10YDRgdC40Y/RgtCwINC90LAgR2l0INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC90YLQtdGA0L/RgNC10YLQuNGA0LDQvToiCisKKyM6IGdpdC1ndWkuc2g6OTgxCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIkdpdCB2ZXJzaW9uIGNhbm5vdCBiZSBkZXRlcm1pbmVkLlxuIgorIlxuIgorIiVzIGNsYWltcyBpdCBpcyB2ZXJzaW9uICclcycuXG4iCisiXG4iCisiJXMgcmVxdWlyZXMgYXQgbGVhc3QgR2l0IDEuNS4wIG9yIGxhdGVyLlxuIgorIlxuIgorIkFzc3VtZSAnJXMnIGlzIHZlcnNpb24gMS41LjA/XG4iCittc2dzdHIgIiIKKyLQktC10YDRgdC40Y/RgtCwINC90LAgR2l0INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtC/0YDQtdC00LXQu9C10L3QsC5cbiIKKyJcbiIKKyLQktC10YDRgdC40Y/RgtCwINC90LAgJXMg0LjQt9Cz0LvQtdC20LTQsCwg0YfQtSDQtSDigJ4lc+KAnC5cbiIKKyJcbiIKKyIlcyDQuNC30LjRgdC60LLQsCBHaXQsINCy0LXRgNGB0LjRjyDQv9C+0L3QtSAxLjUuMC5cbiIKKyJcbiIKKyLQlNCwINGB0LUg0L/RgNC40LXQvNC1INC70LgsINGH0LUg4oCeJXPigJwg0LUg0LLQtdGA0YHQuNGPIDEuNS4wP1xuIgorCisjOiBnaXQtZ3VpLnNoOjEyNzgKK21zZ2lkICJHaXQgZGlyZWN0b3J5IG5vdCBmb3VuZDoiCittc2dzdHIgItCU0LjRgNC10LrRgtC+0YDQuNGP0YLQsCDQvdCwIEdpdCDQvdC1INC1INC+0YLQutGA0LjRgtCwOiIKKworIzogZ2l0LWd1aS5zaDoxMzEyCittc2dpZCAiQ2Fubm90IG1vdmUgdG8gdG9wIG9mIHdvcmtpbmcgZGlyZWN0b3J5OiIKK21zZ3N0ciAi0J3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC10LzQuNC90LUg0LrRitC8INGA0L7QtNC40YLQtdC70YHQutCw0YLQsCAg0LTQuNGA0LXQutGC0L7RgNC40Y8uIgorCisjOiBnaXQtZ3VpLnNoOjEzMjAKK21zZ2lkICJDYW5ub3QgdXNlIGJhcmUgcmVwb3NpdG9yeToiCittc2dzdHIgItCT0L7Qu9C+INGF0YDQsNC90LjQu9C40YnQtSDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/QvtC70LfQstCwOiIKKworIzogZ2l0LWd1aS5zaDoxMzI4Cittc2dpZCAiTm8gd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgItCg0LDQsdC+0YLQvdCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDQu9C40L/RgdCy0LAiCisKKyM6IGdpdC1ndWkuc2g6MTUwMCBsaWIvY2hlY2tvdXRfb3AudGNsOjMwNgorbXNnaWQgIlJlZnJlc2hpbmcgZmlsZSBzdGF0dXMuLi4iCittc2dzdHIgItCe0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg0YHRitGB0YLQvtGP0L3QuNC10YLQviDQvdCwINGE0LDQudC70LDigKYiCisKKyM6IGdpdC1ndWkuc2g6MTU2MAorbXNnaWQgIlNjYW5uaW5nIGZvciBtb2RpZmllZCBmaWxlcyAuLi4iCittc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0LfQsCDQv9GA0L7QvNC10L3QtdC90Lgg0YTQsNC50LvQvtCy0LXigKYiCisKKyM6IGdpdC1ndWkuc2g6MTYzMgorbXNnaWQgIkNhbGxpbmcgcHJlcGFyZS1jb21taXQtbXNnIGhvb2suLi4iCittc2dzdHIgItCa0YPQutCw0YLQsCBwcmVwYXJlLWNvbW1pdC1tc2cg0YHQtSDQuNC30L/RitC70L3Rj9Cy0LAg0LIg0LzQvtC80LXQvdGC0LDigKYiCisKKyM6IGdpdC1ndWkuc2g6MTY0OQorbXNnaWQgIkNvbW1pdCBkZWNsaW5lZCBieSBwcmVwYXJlLWNvbW1pdC1tc2cgaG9vay4iCittc2dzdHIgItCf0L7QtNCw0LLQsNC90LXRgtC+INC1INC+0YLRhdCy0YrRgNC70LXQvdC+INC+0YIg0LrRg9C60LDRgtCwIHByZXBhcmUtY29tbWl0LW1zZy4iCisKKyM6IGdpdC1ndWkuc2g6MTgwNyBsaWIvYnJvd3Nlci50Y2w6MjUyCittc2dpZCAiUmVhZHkuIgorbXNnc3RyICLQk9C+0YLQvtCy0L4uIgorCisjOiBnaXQtZ3VpLnNoOjE5NjUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJEaXNwbGF5aW5nIG9ubHkgJXMgb2YgJXMgZmlsZXMuIgorbXNnc3RyICLQn9C+0LrQsNC30LLQsNC90LUg0L3QsCDRgdCw0LzQviAlcyDQvtGCICVzINGE0LDQudC70LAuIgorCisjOiBnaXQtZ3VpLnNoOjIwOTEKK21zZ2lkICJVbm1vZGlmaWVkIgorbXNnc3RyICLQndC10L/RgNC+0LzQtdC90LXQvSIKKworIzogZ2l0LWd1aS5zaDoyMDkzCittc2dpZCAiTW9kaWZpZWQsIG5vdCBzdGFnZWQiCittc2dzdHIgItCf0YDQvtC80LXQvdC10L0sINC90L4g0L3QtSDQtSDQsiDQuNC90LTQtdC60YHQsCIKKworIzogZ2l0LWd1aS5zaDoyMDk0IGdpdC1ndWkuc2g6MjEwNgorbXNnaWQgIlN0YWdlZCBmb3IgY29tbWl0IgorbXNnc3RyICLQkiDQuNC90LTQtdC60YHQsCDQt9CwINC/0L7QtNCw0LLQsNC90LUiCisKKyM6IGdpdC1ndWkuc2g6MjA5NSBnaXQtZ3VpLnNoOjIxMDcKK21zZ2lkICJQb3J0aW9ucyBzdGFnZWQgZm9yIGNvbW1pdCIKK21zZ3N0ciAi0KfQsNGB0YLQuCDRgdCwINCyINC40L3QtNC10LrRgdCwINC30LAg0L/QvtC00LDQstCw0L3QtSIKKworIzogZ2l0LWd1aS5zaDoyMDk2IGdpdC1ndWkuc2g6MjEwOAorbXNnaWQgIlN0YWdlZCBmb3IgY29tbWl0LCBtaXNzaW5nIgorbXNnc3RyICLQkiDQuNC90LTQtdC60YHQsCDQt9CwINC/0L7QtNCw0LLQsNC90LUsINC90L4g0LvQuNC/0YHQstCwIgorCisjOiBnaXQtZ3VpLnNoOjIwOTgKK21zZ2lkICJGaWxlIHR5cGUgY2hhbmdlZCwgbm90IHN0YWdlZCIKK21zZ3N0ciAi0JLQuNC00YrRgiDQvdCwINGE0LDQudC70LAg0LUg0YHQvNC10L3QtdC9LCDQvdC+INC90LUg0LUg0LIg0LjQvdC00LXQutGB0LAiCisKKyM6IGdpdC1ndWkuc2g6MjA5OSBnaXQtZ3VpLnNoOjIxMDAKK21zZ2lkICJGaWxlIHR5cGUgY2hhbmdlZCwgb2xkIHR5cGUgc3RhZ2VkIGZvciBjb21taXQiCittc2dzdHIgItCS0LjQtNGK0YIg0L3QsCDRhNCw0LnQu9CwINC1INGB0LzQtdC90LXQvSwg0LIg0LjQvdC00LXQutGB0LAg0LUg0YHRgtCw0YDQuNGP0YIiCisKKyM6IGdpdC1ndWkuc2g6MjEwMQorbXNnaWQgIkZpbGUgdHlwZSBjaGFuZ2VkLCBzdGFnZWQiCittc2dzdHIgItCS0LjQtNGK0YIg0L3QsCDRhNCw0LnQu9CwINC1INGB0LzQtdC90LXQvSDQuCDQtSDQsiDQuNC90LTQtdC60YHQsCIKKworIzogZ2l0LWd1aS5zaDoyMTAyCittc2dpZCAiRmlsZSB0eXBlIGNoYW5nZSBzdGFnZWQsIG1vZGlmaWNhdGlvbiBub3Qgc3RhZ2VkIgorbXNnc3RyICLQktC40LTRitGCINC90LAg0YTQsNC50LvQsCDQtSDRgdC80LXQvdC10L0sINC/0YDQvtC80Y/QvdCw0YLQsCDQvdC1INC1INCyINC40L3QtNC10LrRgdCwIgorCisjOiBnaXQtZ3VpLnNoOjIxMDMKK21zZ2lkICJGaWxlIHR5cGUgY2hhbmdlIHN0YWdlZCwgZmlsZSBtaXNzaW5nIgorbXNnc3RyICLQktC40LTRitGCINC90LAg0YTQsNC50LvQsCDQtSDRgdC80LXQvdC10L0sINGE0LDQudC70YrRgiDQu9C40L/RgdCy0LAiCisKKyM6IGdpdC1ndWkuc2g6MjEwNQorbXNnaWQgIlVudHJhY2tlZCwgbm90IHN0YWdlZCIKK21zZ3N0ciAi0J3QtdGB0LvQtdC00LXQvSIKKworIzogZ2l0LWd1aS5zaDoyMTEwCittc2dpZCAiTWlzc2luZyIKK21zZ3N0ciAi0JvQuNC/0YHQstCw0YkiCisKKyM6IGdpdC1ndWkuc2g6MjExMQorbXNnaWQgIlN0YWdlZCBmb3IgcmVtb3ZhbCIKK21zZ3N0ciAi0JIg0LjQvdC00LXQutGB0LAg0LfQsCDQuNC30YLRgNC40LLQsNC90LUiCisKKyM6IGdpdC1ndWkuc2g6MjExMgorbXNnaWQgIlN0YWdlZCBmb3IgcmVtb3ZhbCwgc3RpbGwgcHJlc2VudCIKK21zZ3N0ciAi0JIg0LjQvdC00LXQutGB0LAg0LfQsCDQuNC30YLRgNC40LLQsNC90LUsINC90L4g0L7RidC1INCz0L4g0LjQvNCwIgorCisjOiBnaXQtZ3VpLnNoOjIxMTQgZ2l0LWd1aS5zaDoyMTE1IGdpdC1ndWkuc2g6MjExNiBnaXQtZ3VpLnNoOjIxMTcKKyM6IGdpdC1ndWkuc2g6MjExOCBnaXQtZ3VpLnNoOjIxMTkKK21zZ2lkICJSZXF1aXJlcyBtZXJnZSByZXNvbHV0aW9uIgorbXNnc3RyICLQmNC30LjRgdC60LLQsCDQutC+0YDQuNCz0LjRgNCw0L3QtSDQv9GA0Lgg0YHQu9C40LLQsNC90LUiCisKKyM6IGdpdC1ndWkuc2g6MjE1NAorbXNnaWQgIlN0YXJ0aW5nIGdpdGsuLi4gcGxlYXNlIHdhaXQuLi4iCittc2dzdHIgItCh0YLQsNGA0YLQuNGA0LDQvdC1INC90LAgZ2l0a+KApiwg0LjQt9GH0LDQutCw0LnRgtC14oCmIgorCisjOiBnaXQtZ3VpLnNoOjIxNjYKK21zZ2lkICJDb3VsZG4ndCBmaW5kIGdpdGsgaW4gUEFUSCIKK21zZ3N0ciAi0JIg0L/RitGC0LjRidCw0YLQsCwg0L7Qv9GA0LXQtNC10LvQtdC90Lgg0L7RgiDQv9GA0L7QvNC10L3Qu9C40LLQsNGC0LAgUEFUSCwg0LvQuNC/0YHQstCwINC40LfQv9GK0LvQvdC40LwgZ2l0ayIKKworIzogZ2l0LWd1aS5zaDoyMjI1Cittc2dpZCAiQ291bGRuJ3QgZmluZCBnaXQgZ3VpIGluIFBBVEgiCittc2dzdHIgItCSINC/0YrRgtC40YnQsNGC0LAsINC+0L/RgNC10LTQtdC70LXQvdC4INC+0YIg0L/RgNC+0LzQtdC90LvQuNCy0LDRgtCwIFBBVEgsINC70LjQv9GB0LLQsCDQuNC30L/RitC70L3QuNC8IGdpdCBndWkiCisKKyM6IGdpdC1ndWkuc2g6MjY0NCBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQwCittc2dpZCAiUmVwb3NpdG9yeSIKK21zZ3N0ciAi0KXRgNCw0L3QuNC70LjRidC1IgorCisjOiBnaXQtZ3VpLnNoOjI2NDUKK21zZ2lkICJFZGl0IgorbXNnc3RyICLQoNC10LTQsNC60YLQuNGA0LDQvdC1IgorCisjOiBnaXQtZ3VpLnNoOjI2NDcgbGliL2Nob29zZV9yZXYudGNsOjU2NworbXNnaWQgIkJyYW5jaCIKK21zZ3N0ciAi0JrQu9C+0L0iCisKKyM6IGdpdC1ndWkuc2g6MjY1MCBsaWIvY2hvb3NlX3Jldi50Y2w6NTU0Cittc2dpZCAiQ29tbWl0QEBub3VuIgorbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC1IgorCisjOiBnaXQtZ3VpLnNoOjI2NTMgbGliL21lcmdlLnRjbDoxMjMgbGliL21lcmdlLnRjbDoxNTIgbGliL21lcmdlLnRjbDoxNzAKK21zZ2lkICJNZXJnZSIKK21zZ3N0ciAi0KHQu9C40LLQsNC90LUiCisKKyM6IGdpdC1ndWkuc2g6MjY1NCBsaWIvY2hvb3NlX3Jldi50Y2w6NTYzCittc2dpZCAiUmVtb3RlIgorbXNnc3RyICLQntGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUiCisKKyM6IGdpdC1ndWkuc2g6MjY1NworbXNnaWQgIlRvb2xzIgorbXNnc3RyICLQmtC+0LzQsNC90LTQuCIKKworIzogZ2l0LWd1aS5zaDoyNjY2Cittc2dpZCAiRXhwbG9yZSBXb3JraW5nIENvcHkiCittc2dzdHIgItCg0LDQt9Cz0LvQtdC20LTQsNC90LUg0L3QsCDRgNCw0LHQvtGC0L3QvtGC0L4g0LrQvtC/0LjQtSIKKworIzogZ2l0LWd1aS5zaDoyNjcyCittc2dpZCAiR2l0IEJhc2giCittc2dzdHIgIkJhc2gg0L3QsCBHaXQiCisKKyM6IGdpdC1ndWkuc2g6MjY4MgorbXNnaWQgIkJyb3dzZSBDdXJyZW50IEJyYW5jaCdzIEZpbGVzIgorbXNnc3RyICLQoNCw0LfQs9C70LXQttC00LDQvdC1INC90LAg0YTQsNC50LvQvtCy0LXRgtC1INCyINGC0LXQutGD0YnQuNGPINC60LvQvtC9IgorCisjOiBnaXQtZ3VpLnNoOjI2ODYKK21zZ2lkICJCcm93c2UgQnJhbmNoIEZpbGVzLi4uIgorbXNnc3RyICLQoNCw0LfQs9C70LXQttC00LDQvdC1INC90LAg0YLQtdC60YPRidC40Y8g0LrQu9C+0L0iCisKKyM6IGdpdC1ndWkuc2g6MjY5MQorbXNnaWQgIlZpc3VhbGl6ZSBDdXJyZW50IEJyYW5jaCdzIEhpc3RvcnkiCittc2dzdHIgItCS0LjQt9GD0LDQu9C40LfQsNGG0LjRjyDQvdCwINC40YHRgtC+0YDQuNGP0YLQsCDQvdCwINGC0LXQutGD0YnQuNGPINC60LvQvtC9IgorCisjOiBnaXQtZ3VpLnNoOjI2OTUKK21zZ2lkICJWaXN1YWxpemUgQWxsIEJyYW5jaCBIaXN0b3J5IgorbXNnc3RyICLQktC40LfRg9Cw0LvQuNC30LDRhtC40Y8g0L3QsCDQuNGB0YLQvtGA0LjRj9GC0LAg0L3QsCDQstGB0LjRh9C60Lgg0LrQu9C+0L3QvtCy0LUiCisKKyM6IGdpdC1ndWkuc2g6MjcwMgorIywgdGNsLWZvcm1hdAorbXNnaWQgIkJyb3dzZSAlcydzIEZpbGVzIgorbXNnc3RyICLQoNCw0LfQs9C70LXQttC00LDQvdC1INC90LAg0YTQsNC50LvQvtCy0LXRgtC1INCyICVzIgorCisjOiBnaXQtZ3VpLnNoOjI3MDQKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJWaXN1YWxpemUgJXMncyBIaXN0b3J5IgorbXNnc3RyICLQktC40LfRg9Cw0LvQuNC30LDRhtC40Y8g0L3QsCDQuNGB0YLQvtGA0LjRj9GC0LAg0L3QsCAlcyIKKworIzogZ2l0LWd1aS5zaDoyNzA5IGxpYi9kYXRhYmFzZS50Y2w6NDAgbGliL2RhdGFiYXNlLnRjbDo2NgorbXNnaWQgIkRhdGFiYXNlIFN0YXRpc3RpY3MiCittc2dzdHIgItCh0YLQsNGC0LjRgdGC0LjQutCwINC90LAg0LHQsNC30LDRgtCwINC+0YIg0LTQsNC90L3QuCIKKworIzogZ2l0LWd1aS5zaDoyNzEyIGxpYi9kYXRhYmFzZS50Y2w6MzMKK21zZ2lkICJDb21wcmVzcyBEYXRhYmFzZSIKK21zZ3N0ciAi0JrQvtC80L/RgNC10YHQuNGA0LDQvdC1INC90LAg0LHQsNC30LDRgtCwINC+0YIg0LTQsNC90L3QuCIKKworIzogZ2l0LWd1aS5zaDoyNzE1Cittc2dpZCAiVmVyaWZ5IERhdGFiYXNlIgorbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC90LAg0LHQsNC30LDRgtCwINC+0YIg0LTQsNC90L3QuCIKKworIzogZ2l0LWd1aS5zaDoyNzIyIGdpdC1ndWkuc2g6MjcyNiBnaXQtZ3VpLnNoOjI3MzAgbGliL3Nob3J0Y3V0LnRjbDo4CisjOiBsaWIvc2hvcnRjdXQudGNsOjQwIGxpYi9zaG9ydGN1dC50Y2w6NzIKK21zZ2lkICJDcmVhdGUgRGVza3RvcCBJY29uIgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0LjQutC+0L3QsCDQvdCwINGA0LDQsdC+0YLQvdC40Y8g0L/Qu9C+0YIiCisKKyM6IGdpdC1ndWkuc2g6MjczOCBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjE5MiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjIwMAorbXNnaWQgIlF1aXQiCittc2dzdHIgItCh0L/QuNGA0LDQvdC1INC90LAg0L/RgNC+0LPRgNCw0LzQsNGC0LAiCisKKyM6IGdpdC1ndWkuc2g6Mjc0NgorbXNnaWQgIlVuZG8iCittc2dzdHIgItCe0YLQvNGP0L3QsCIKKworIzogZ2l0LWd1aS5zaDoyNzQ5Cittc2dpZCAiUmVkbyIKK21zZ3N0ciAi0J/QvtCy0YLQvtGA0LXQvdC40LUiCisKKyM6IGdpdC1ndWkuc2g6Mjc1MyBnaXQtZ3VpLnNoOjMzNDgKK21zZ2lkICJDdXQiCittc2dzdHIgItCe0YLRgNGP0LfQstCw0L3QtSIKKworIzogZ2l0LWd1aS5zaDoyNzU2IGdpdC1ndWkuc2g6MzM1MSBnaXQtZ3VpLnNoOjM0MjUgZ2l0LWd1aS5zaDozNTEwCisjOiBsaWIvY29uc29sZS50Y2w6NjkKK21zZ2lkICJDb3B5IgorbXNnc3RyICLQmtC+0L/QuNGA0LDQvdC1IgorCisjOiBnaXQtZ3VpLnNoOjI3NTkgZ2l0LWd1aS5zaDozMzU0Cittc2dpZCAiUGFzdGUiCittc2dzdHIgItCf0L7RgdGC0LDQstGP0L3QtSIKKworIzogZ2l0LWd1aS5zaDoyNzYyIGdpdC1ndWkuc2g6MzM1NyBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjM5CisjOiBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6MjgKK21zZ2lkICJEZWxldGUiCittc2dzdHIgItCY0LfRgtGA0LjQstCw0L3QtSIKKworIzogZ2l0LWd1aS5zaDoyNzY2IGdpdC1ndWkuc2g6MzM2MSBnaXQtZ3VpLnNoOjM1MTQgbGliL2NvbnNvbGUudGNsOjcxCittc2dpZCAiU2VsZWN0IEFsbCIKK21zZ3N0ciAi0JjQt9Cx0LjRgNCw0L3QtSDQvdCwINCy0YHQuNGH0LrQviIKKworIzogZ2l0LWd1aS5zaDoyNzc1Cittc2dpZCAiQ3JlYXRlLi4uIgorbXNnc3RyICLQodGK0LfQtNCw0LLQsNC90LXigKYiCisKKyM6IGdpdC1ndWkuc2g6Mjc4MQorbXNnaWQgIkNoZWNrb3V0Li4uIgorbXNnc3RyICLQmNC30YLQtdCz0LvRj9C90LXigKYiCisKKyM6IGdpdC1ndWkuc2g6Mjc4NworbXNnaWQgIlJlbmFtZS4uLiIKK21zZ3N0ciAi0J/RgNC10LjQvNC10L3Rg9Cy0LDQvdC14oCmIgorCisjOiBnaXQtZ3VpLnNoOjI3OTIKK21zZ2lkICJEZWxldGUuLi4iCittc2dzdHIgItCY0LfRgtGA0LjQstCw0L3QteKApiIKKworIzogZ2l0LWd1aS5zaDoyNzk3Cittc2dpZCAiUmVzZXQuLi4iCittc2dzdHIgItCe0YLQvNGP0L3QsCDQvdCwINC/0YDQvtC80LXQvdC40YLQteKApiIKKworIzogZ2l0LWd1aS5zaDoyODA3Cittc2dpZCAiRG9uZSIKK21zZ3N0ciAi0JPQvtGC0L7QstC+IgorCisjOiBnaXQtZ3VpLnNoOjI4MDkKK21zZ2lkICJDb21taXRAQHZlcmIiCittc2dzdHIgItCf0L7QtNCw0LLQsNC90LUiCisKKyM6IGdpdC1ndWkuc2g6MjgxOCBnaXQtZ3VpLnNoOjMyODkKK21zZ2lkICJOZXcgQ29tbWl0IgorbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC1IgorCisjOiBnaXQtZ3VpLnNoOjI4MjYgZ2l0LWd1aS5zaDozMjk2Cittc2dpZCAiQW1lbmQgTGFzdCBDb21taXQiCittc2dzdHIgItCf0L7Qv9GA0LDQstGP0L3QtSDQvdCwINC/0L7RgdC70LXQtNC90L7RgtC+INC/0L7QtNCw0LLQsNC90LUiCisKKyM6IGdpdC1ndWkuc2g6MjgzNiBnaXQtZ3VpLnNoOjMyNTAgbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxMDEKK21zZ2lkICJSZXNjYW4iCittc2dzdHIgItCe0LHQvdC+0LLRj9Cy0LDQvdC1IgorCisjOiBnaXQtZ3VpLnNoOjI4NDIKK21zZ2lkICJTdGFnZSBUbyBDb21taXQiCittc2dzdHIgItCa0YrQvCDQuNC90LTQtdC60YHQsCDQt9CwINC/0L7QtNCw0LLQsNC90LUiCisKKyM6IGdpdC1ndWkuc2g6Mjg0OAorbXNnaWQgIlN0YWdlIENoYW5nZWQgRmlsZXMgVG8gQ29tbWl0IgorbXNnc3RyICLQktGB0LjRh9C60Lgg0L/RgNC+0LzQtdC90LXQvdC4INGE0LDQudC70L7QstC1INC60YrQvCDQuNC90LTQtdC60YHQsCDQt9CwINC/0L7QtNCw0LLQsNC90LUiCisKKyM6IGdpdC1ndWkuc2g6Mjg1NAorbXNnaWQgIlVuc3RhZ2UgRnJvbSBDb21taXQiCittc2dzdHIgItCY0LfQstCw0LbQtNCw0L3QtSDQvtGCINC40L3QtNC10LrRgdCwINC30LAg0L/QvtC00LDQstCw0L3QtSIKKworIzogZ2l0LWd1aS5zaDoyODYwIGxpYi9pbmRleC50Y2w6NDQyCittc2dpZCAiUmV2ZXJ0IENoYW5nZXMiCittc2dzdHIgItCS0YDRitGJ0LDQvdC1INC90LAg0L7RgNC40LPQuNC90LDQu9CwIgorCisjOiBnaXQtZ3VpLnNoOjI4NjggZ2l0LWd1aS5zaDozNTYxIGdpdC1ndWkuc2g6MzU5MgorbXNnaWQgIlNob3cgTGVzcyBDb250ZXh0IgorbXNnc3RyICLQn9C+LdC80LDQu9C60L4g0LrQvtC90YLQtdC60YHRgiIKKworIzogZ2l0LWd1aS5zaDoyODcyIGdpdC1ndWkuc2g6MzU2NSBnaXQtZ3VpLnNoOjM1OTYKK21zZ2lkICJTaG93IE1vcmUgQ29udGV4dCIKK21zZ3N0ciAi0J/QvtCy0LXRh9C1INC60L7QvdGC0LXQutGB0YIiCisKKyM6IGdpdC1ndWkuc2g6Mjg3OSBnaXQtZ3VpLnNoOjMyNjMgZ2l0LWd1aS5zaDozMzcyCittc2dpZCAiU2lnbiBPZmYiCittc2dzdHIgItCf0L7QtNC/0LjRgdCy0LDQvdC1IgorCisjOiBnaXQtZ3VpLnNoOjI4OTUKK21zZ2lkICJMb2NhbCBNZXJnZS4uLiIKK21zZ3N0ciAi0JvQvtC60LDQu9C90L4g0YHQu9C40LLQsNC90LXigKYiCisKKyM6IGdpdC1ndWkuc2g6MjkwMAorbXNnaWQgIkFib3J0IE1lcmdlLi4uIgorbXNnc3RyICLQn9GA0LXRg9GB0YLQsNC90L7QstGP0LLQsNC90LUg0L3QsCDRgdC70LjQstCw0L3QteKApiIKKworIzogZ2l0LWd1aS5zaDoyOTEyIGdpdC1ndWkuc2g6Mjk0MAorbXNnaWQgIkFkZC4uLiIKK21zZ3N0ciAi0JTQvtCx0LDQstGP0L3QteKApiIKKworIzogZ2l0LWd1aS5zaDoyOTE2Cittc2dpZCAiUHVzaC4uLiIKK21zZ3N0ciAi0JjQt9Cx0YPRgtCy0LDQvdC14oCmIgorCisjOiBnaXQtZ3VpLnNoOjI5MjAKK21zZ2lkICJEZWxldGUgQnJhbmNoLi4uIgorbXNnc3RyICLQmNC30YLRgNC40LLQsNC90LUg0L3QsCDQutC70L7QveKApiIKKworIzogZ2l0LWd1aS5zaDoyOTMwIGdpdC1ndWkuc2g6MzU0MworbXNnaWQgIk9wdGlvbnMuLi4iCittc2dzdHIgItCe0L/RhtC40LjigKYiCisKKyM6IGdpdC1ndWkuc2g6Mjk0MQorbXNnaWQgIlJlbW92ZS4uLiIKK21zZ3N0ciAi0J/RgNC10LzQsNGF0LLQsNC90LXigKYiCisKKyM6IGdpdC1ndWkuc2g6Mjk1MCBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjU0Cittc2dpZCAiSGVscCIKK21zZ3N0ciAi0J/QvtC80L7RiSIKKworIzogZ2l0LWd1aS5zaDoyOTU0IGdpdC1ndWkuc2g6Mjk1OCBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQ4CisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjU3IGxpYi9hYm91dC50Y2w6MTQKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJBYm91dCAlcyIKK21zZ3N0ciAi0J7RgtC90L7RgdC90L4gJXMiCisKKyM6IGdpdC1ndWkuc2g6Mjk4MgorbXNnaWQgIk9ubGluZSBEb2N1bWVudGF0aW9uIgorbXNnc3RyICLQlNC+0LrRg9C80LXQvdGC0LDRhtC40Y8g0LIg0JjQvdGC0LXRgNC90LXRgiIKKworIzogZ2l0LWd1aS5zaDoyOTg1IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTEgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo2MAorbXNnaWQgIlNob3cgU1NIIEtleSIKK21zZ3N0ciAi0J/QvtC60LDQt9Cy0LDQvdC1INC90LAg0LrQu9GO0YfQsCDQt9CwIFNTSCIKKworIzogZ2l0LWd1aS5zaDozMDA0IGdpdC1ndWkuc2g6MzEzNgorbXNnaWQgIlVzYWdlIgorbXNnc3RyICLQo9C/0L7RgtGA0LXQsdCwIgorCisjOiBnaXQtZ3VpLnNoOjMwODUgbGliL2JsYW1lLnRjbDo1NzMKK21zZ2lkICJFcnJvciIKK21zZ3N0ciAi0JPRgNC10YjQutCwIgorCisjOiBnaXQtZ3VpLnNoOjMxMTYKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJmYXRhbDogY2Fubm90IHN0YXQgcGF0aCAlczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorItGE0LDRgtCw0LvQvdC+OiDQv9GK0YLRj9GCICVzINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LrRgNC40YI6INGC0LDQutGK0LIg0YTQsNC50Lsg0LjQu9C4INC00LjRgNC10LrRgtC+0YDQuNGPINC90Y/QvNCwIgorCisjOiBnaXQtZ3VpLnNoOjMxNDkKK21zZ2lkICJDdXJyZW50IEJyYW5jaDoiCittc2dzdHIgItCi0LXQutGD0Ykg0LrQu9C+0L06IgorCisjOiBnaXQtZ3VpLnNoOjMxNzUKK21zZ2lkICJTdGFnZWQgQ2hhbmdlcyAoV2lsbCBDb21taXQpIgorbXNnc3RyICLQn9GA0L7QvNC10L3QuCDQsiDQuNC90LTQtdC60YHQsCAo0LfQsCDQv9C+0LTQsNCy0LDQvdC1KSIKKworIzogZ2l0LWd1aS5zaDozMTk1Cittc2dpZCAiVW5zdGFnZWQgQ2hhbmdlcyIKK21zZ3N0ciAi0J/RgNC+0LzQtdC90Lgg0LjQt9Cy0YrQvSDQuNC90LTQtdC60YHQsCIKKworIzogZ2l0LWd1aS5zaDozMjU2Cittc2dpZCAiU3RhZ2UgQ2hhbmdlZCIKK21zZ3N0ciAi0JjQvdC00LXQutGB0YrRgiDQtSDQv9GA0L7QvNC10L3QtdC9IgorCisjOiBnaXQtZ3VpLnNoOjMyNzUgbGliL3RyYW5zcG9ydC50Y2w6MTM3IGxpYi90cmFuc3BvcnQudGNsOjIyOQorbXNnaWQgIlB1c2giCittc2dzdHIgItCY0LfRgtC70LDRgdC60LLQsNC90LUiCisKKyM6IGdpdC1ndWkuc2g6MzMxMAorbXNnaWQgIkluaXRpYWwgQ29tbWl0IE1lc3NhZ2U6IgorbXNnc3RyICLQn9GK0YDQstC+0L3QsNGH0LDQu9C90L4g0YHRitC+0LHRidC10L3QuNC1INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1OiIKKworIzogZ2l0LWd1aS5zaDozMzExCittc2dpZCAiQW1lbmRlZCBDb21taXQgTWVzc2FnZToiCittc2dzdHIgItCf0L7Qv9GA0LDQstC10L3QviDRgdGK0L7QsdGJ0LXQvdC40LUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LU6IgorCisjOiBnaXQtZ3VpLnNoOjMzMTIKK21zZ2lkICJBbWVuZGVkIEluaXRpYWwgQ29tbWl0IE1lc3NhZ2U6IgorbXNnc3RyICLQn9C+0L/RgNCw0LLQtdC90L4g0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC+INGB0YrQvtCx0YnQtdC90LjQtSDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtToiCisKKyM6IGdpdC1ndWkuc2g6MzMxMworbXNnaWQgIkFtZW5kZWQgTWVyZ2UgQ29tbWl0IE1lc3NhZ2U6IgorbXNnc3RyICLQn9C+0L/RgNCw0LLQtdC90L4g0YHRitC+0LHRidC10L3QuNC1INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1INGB0YrRgSDRgdC70LjQstCw0L3QtToiCisKKyM6IGdpdC1ndWkuc2g6MzMxNAorbXNnaWQgIk1lcmdlIENvbW1pdCBNZXNzYWdlOiIKK21zZ3N0ciAi0KHRitC+0LHRidC10L3QuNC1INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1INGB0YrRgSDRgdC70LjQstCw0L3QtToiCisKKyM6IGdpdC1ndWkuc2g6MzMxNQorbXNnaWQgIkNvbW1pdCBNZXNzYWdlOiIKK21zZ3N0ciAi0KHRitC+0LHRidC10L3QuNC1INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1OiIKKworIzogZ2l0LWd1aS5zaDozMzY0IGdpdC1ndWkuc2g6MzUxOCBsaWIvY29uc29sZS50Y2w6NzMKK21zZ2lkICJDb3B5IEFsbCIKK21zZ3N0ciAi0JrQvtC/0LjRgNCw0L3QtSDQvdCwINCy0YHQuNGH0LrQviIKKworIzogZ2l0LWd1aS5zaDozMzg4IGxpYi9ibGFtZS50Y2w6MTA1Cittc2dpZCAiRmlsZToiCittc2dzdHIgItCk0LDQudC7OiIKKworIzogZ2l0LWd1aS5zaDozNTA2Cittc2dpZCAiUmVmcmVzaCIKK21zZ3N0ciAi0J7QsdC90L7QstGP0LLQsNC90LUiCisKKyM6IGdpdC1ndWkuc2g6MzUyNworbXNnaWQgIkRlY3JlYXNlIEZvbnQgU2l6ZSIKK21zZ3N0ciAi0J/Qvi3QtdC00YrRgCDRiNGA0LjRhNGCIgorCisjOiBnaXQtZ3VpLnNoOjM1MzEKK21zZ2lkICJJbmNyZWFzZSBGb250IFNpemUiCittc2dzdHIgItCf0L4t0LTRgNC10LHQtdC9INGI0YDQuNGE0YIiCisKKyM6IGdpdC1ndWkuc2g6MzUzOSBsaWIvYmxhbWUudGNsOjI5NAorbXNnaWQgIkVuY29kaW5nIgorbXNnc3RyICLQmtC+0LTQuNGA0LDQvdC1IgorCisjOiBnaXQtZ3VpLnNoOjM1NTAKK21zZ2lkICJBcHBseS9SZXZlcnNlIEh1bmsiCittc2dzdHIgItCf0YDQuNC70LDQs9Cw0L3QtS/QstGA0YrRidCw0L3QtSDQvdCwINC/0LDRgNGH0LUiCisKKyM6IGdpdC1ndWkuc2g6MzU1NQorbXNnaWQgIkFwcGx5L1JldmVyc2UgTGluZSIKK21zZ3N0ciAi0J/RgNC40LvQsNCz0LDQvdC1L9Cy0YDRitGJ0LDQvdC1INC90LAg0YDQtdC0IgorCisjOiBnaXQtZ3VpLnNoOjM1NzQKK21zZ2lkICJSdW4gTWVyZ2UgVG9vbCIKK21zZ3N0ciAi0JjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDQv9GA0L7Qs9GA0LDQvNCw0YLQsCDQt9CwINGB0LvQuNCy0LDQvdC1IgorCisjOiBnaXQtZ3VpLnNoOjM1NzkKK21zZ2lkICJVc2UgUmVtb3RlIFZlcnNpb24iCittc2dzdHIgItCS0LXRgNGB0LjRjyDQvtGCINC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUiCisKKyM6IGdpdC1ndWkuc2g6MzU4MworbXNnaWQgIlVzZSBMb2NhbCBWZXJzaW9uIgorbXNnc3RyICLQm9C+0LrQsNC70L3QsCDQstC10YDRgdC40Y8iCisKKyM6IGdpdC1ndWkuc2g6MzU4NworbXNnaWQgIlJldmVydCBUbyBCYXNlIgorbXNnc3RyICLQktGA0YrRidCw0L3QtSDQutGK0Lwg0YDQvtC00LjRgtC10LvRgdC60LDRgtCwINCy0LXRgNGB0LjRjyIKKworIzogZ2l0LWd1aS5zaDozNjA1Cittc2dpZCAiVmlzdWFsaXplIFRoZXNlIENoYW5nZXMgSW4gVGhlIFN1Ym1vZHVsZSIKK21zZ3N0ciAi0JLQuNC30YPQsNC70LjQt9C40YDQsNC90LUg0L3QsCDQv9GA0L7QvNC10L3QuNGC0LUg0LIg0L/QvtC00LzQvtC00YPQu9CwIgorCisjOiBnaXQtZ3VpLnNoOjM2MDkKK21zZ2lkICJWaXN1YWxpemUgQ3VycmVudCBCcmFuY2ggSGlzdG9yeSBJbiBUaGUgU3VibW9kdWxlIgorbXNnc3RyICLQktC40LfRg9Cw0LvQuNC30LDRhtC40Y8g0L3QsCDQuNGB0YLQvtGA0LjRj9GC0LAg0L3QsCDRgtC10LrRg9GJ0LjRjyDQutC70L7QvSDQsiDQuNGB0YLQvtGA0LjRj9GC0LAg0LfQsCDQv9C+0LTQvNC+0LTRg9C70LAiCisKKyM6IGdpdC1ndWkuc2g6MzYxMworbXNnaWQgIlZpc3VhbGl6ZSBBbGwgQnJhbmNoIEhpc3RvcnkgSW4gVGhlIFN1Ym1vZHVsZSIKK21zZ3N0ciAi0JLQuNC30YPQsNC70LjQt9Cw0YbQuNGPINC90LAg0LjRgdGC0L7RgNC40Y/RgtCwINC90LAg0LLRgdC40YfQutC4INC60LvQvtC90Lgg0LIg0LjRgdGC0L7RgNC40Y/RgtCwINC30LAg0L/QvtC00LzQvtC00YPQu9CwIgorCisjOiBnaXQtZ3VpLnNoOjM2MTgKK21zZ2lkICJTdGFydCBnaXQgZ3VpIEluIFRoZSBTdWJtb2R1bGUiCittc2dzdHIgItCh0YLQsNGA0YLQuNGA0LDQvdC1INC90LAg4oCeZ2l0IGd1aeKAnCDQt9CwINC/0L7QtNC80L7QtNGD0LvQsCIKKworIzogZ2l0LWd1aS5zaDozNjUzCittc2dpZCAiVW5zdGFnZSBIdW5rIEZyb20gQ29tbWl0IgorbXNnc3RyICLQmNC30LLQsNC20LTQsNC90LUg0L3QsCDQv9Cw0YDRh9C10YLQviDQvtGCINC/0L7QtNCw0LLQsNC90LXRgtC+IgorCisjOiBnaXQtZ3VpLnNoOjM2NTUKK21zZ2lkICJVbnN0YWdlIExpbmVzIEZyb20gQ29tbWl0IgorbXNnc3RyICLQmNC30LLQsNC20LTQsNC90LUg0L3QsCDRgNC10LTQvtCy0LXRgtC1INC+0YIg0L/QvtC00LDQstCw0L3QtdGC0L4iCisKKyM6IGdpdC1ndWkuc2g6MzY1NworbXNnaWQgIlVuc3RhZ2UgTGluZSBGcm9tIENvbW1pdCIKK21zZ3N0ciAi0JjQt9Cy0LDQttC00LDQvdC1INC90LAg0YDQtdC00LAg0L7RgiDQv9C+0LTQsNCy0LDQvdC10YLQviIKKworIzogZ2l0LWd1aS5zaDozNjYwCittc2dpZCAiU3RhZ2UgSHVuayBGb3IgQ29tbWl0IgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0L/QsNGA0YfQtdGC0L4g0LfQsCDQv9C+0LTQsNCy0LDQvdC1IgorCisjOiBnaXQtZ3VpLnNoOjM2NjIKK21zZ2lkICJTdGFnZSBMaW5lcyBGb3IgQ29tbWl0IgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0YDQtdC00L7QstC10YLQtSDQt9CwINC/0L7QtNCw0LLQsNC90LUiCisKKyM6IGdpdC1ndWkuc2g6MzY2NAorbXNnaWQgIlN0YWdlIExpbmUgRm9yIENvbW1pdCIKK21zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQvdCwINGA0LXQtNCwINC30LAg0L/QvtC00LDQstCw0L3QtSIKKworIzogZ2l0LWd1aS5zaDozNjg5Cittc2dpZCAiSW5pdGlhbGl6aW5nLi4uIgorbXNnc3RyICLQmNC90LjRhtC40LDQu9C40LfQuNGA0LDQvdC14oCmIgorCisjOiBnaXQtZ3VpLnNoOjM4MzIKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiUG9zc2libGUgZW52aXJvbm1lbnQgaXNzdWVzIGV4aXN0LlxuIgorIlxuIgorIlRoZSBmb2xsb3dpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBwcm9iYWJseVxuIgorImdvaW5nIHRvIGJlIGlnbm9yZWQgYnkgYW55IEdpdCBzdWJwcm9jZXNzIHJ1blxuIgorImJ5ICVzOlxuIgorIlxuIgorbXNnc3RyICIiCisi0JLRitC30LzQvtC20L3QviDQtSDQtNCwINC40LzQsCDQv9GA0L7QsdC70LXQvCDRgdGK0YEg0YHRgNC10LTQsNGC0LAuXG4iCisiXG4iCisi0J3QsNC5LdCy0LXRgNC+0Y/RgtC90L4g0YHQu9C10LTQvdC40YLQtSDQv9GA0L7QvNC10L3Qu9C40LLQuCDQvdGP0LzQsCDQtNCwINCx0YrQtNCw0YJcbiIKKyLQstC30LXRgtC4INC/0L7QtCDQstC90LjQvNCw0L3QuNC1INC+0YIg0L/QvtC00L/RgNC+0YbQtdGB0LjRgtC1IEdpdCDQuNC30L/RitC70L3QtdC90LhcbiIKKyLQvtGCICVzOlxuIgorIlxuIgorCisjOiBnaXQtZ3VpLnNoOjM4NjEKK21zZ2lkICIiCisiXG4iCisiVGhpcyBpcyBkdWUgdG8gYSBrbm93biBpc3N1ZSB3aXRoIHRoZVxuIgorIlRjbCBiaW5hcnkgZGlzdHJpYnV0ZWQgYnkgQ3lnd2luLiIKK21zZ3N0ciAiIgorIlxuIgorItCi0L7QstCwINC1INC/0L7Qt9C90LDRgiDQv9GA0L7QsdC70LXQvCDQuCDRgdC1INC00YrQu9C20Lgg0L3QsFxuIgorItCy0LXRgNGB0LjRj9GC0LAg0L3QsCBUY2wg0LLQutC70Y7Rh9C10L3QsCDQsiBDeWd3aW4uIgorCisjOiBnaXQtZ3VpLnNoOjM4NjYKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiXG4iCisiQSBnb29kIHJlcGxhY2VtZW50IGZvciAlc1xuIgorImlzIHBsYWNpbmcgdmFsdWVzIGZvciB0aGUgdXNlci5uYW1lIGFuZFxuIgorInVzZXIuZW1haWwgc2V0dGluZ3MgaW50byB5b3VyIHBlcnNvbmFsXG4iCisifi8uZ2l0Y29uZmlnIGZpbGUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJcbiIKKyLQlNC+0LHRitGAINC30LDQvNC10YHRgtC40YLQtdC7INC90LAgJXNcbiIKKyLQtSDQtNCwINC/0L7RgdGC0LDQstC40YLQtSDQvdCw0YHRgtGA0L7QudC60LjRgtC1IHVzZXIubmFtZSDQuFxuIgorInVzZXIuZW1haWwg0LIg0LvQuNGH0L3QuNGPINGB0Lgg0YTQsNC50Lsgfi8uZ2l0Y29uZmlnLlxuIgorCisjOiBsaWIvc3BlbGxjaGVjay50Y2w6NTcKK21zZ2lkICJVbnN1cHBvcnRlZCBzcGVsbCBjaGVja2VyIgorbXNnc3RyICLQotCw0LfQuCDQv9GA0L7Qs9GA0LDQvNCwINC30LAg0L/RgNC+0LLQtdGA0LrQsCDQvdCwINC/0YDQsNCy0L7Qv9C40YHQsCDQvdC1INGB0LUg0L/QvtC00LTRitGA0LbQsCIKKworIzogbGliL3NwZWxsY2hlY2sudGNsOjY1Cittc2dpZCAiU3BlbGwgY2hlY2tpbmcgaXMgdW5hdmFpbGFibGUiCittc2dzdHIgItCb0LjQv9GB0LLQsCDQv9GA0L7Qs9GA0LDQvNCwINC30LAg0L/RgNC+0LLQtdGA0LrQsCDQvdCwINC/0YDQsNCy0L7Qv9C40YHQsCIKKworIzogbGliL3NwZWxsY2hlY2sudGNsOjY4Cittc2dpZCAiSW52YWxpZCBzcGVsbCBjaGVja2luZyBjb25maWd1cmF0aW9uIgorbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QuCDQvdCw0YHRgtGA0L7QudC60Lgg0L3QsCDQv9GA0L7QstC10YDQutCw0YLQsCDQvdCwINC/0YDQsNCy0L7Qv9C40YHQsCIKKworIzogbGliL3NwZWxsY2hlY2sudGNsOjcwCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUmV2ZXJ0aW5nIGRpY3Rpb25hcnkgdG8gJXMuIgorbXNnc3RyICLQn9C+0LvQt9Cy0LDQvdC1INC90LAg0YDQtdGH0L3QuNC6INC30LAg0LXQt9C40Log4oCeJXPigJwuIgorCisjOiBsaWIvc3BlbGxjaGVjay50Y2w6NzMKK21zZ2lkICJTcGVsbCBjaGVja2VyIHNpbGVudGx5IGZhaWxlZCBvbiBzdGFydHVwIgorbXNnc3RyICLQn9GA0L7Qs9GA0LDQvNCw0YLQsCDQt9CwINC/0YDQsNCy0L7Qv9C40YEg0LTQsNC20LUg0L3QtSDRgdGC0LDRgNGC0LjRgNCwINGD0YHQv9C10YjQvdC+LiIKKworIzogbGliL3NwZWxsY2hlY2sudGNsOjgwCittc2dpZCAiVW5yZWNvZ25pemVkIHNwZWxsIGNoZWNrZXIiCittc2dzdHIgItCd0LXQv9C+0LfQvdCw0YLQsCDQv9GA0L7Qs9GA0LDQvNCwINC30LAg0L/RgNC+0LLQtdGA0LrQsCDQvdCwINC/0YDQsNCy0L7Qv9C40YHQsCIKKworIzogbGliL3NwZWxsY2hlY2sudGNsOjE4NgorbXNnaWQgIk5vIFN1Z2dlc3Rpb25zIgorbXNnc3RyICLQndGP0LzQsCDQv9GA0LXQtNC70L7QttC10L3QuNGPIgorCisjOiBsaWIvc3BlbGxjaGVjay50Y2w6Mzg4Cittc2dpZCAiVW5leHBlY3RlZCBFT0YgZnJvbSBzcGVsbCBjaGVja2VyIgorbXNnc3RyICLQndC10L7Rh9Cw0LrQstCw0L0g0LrRgNCw0Lkg0L3QsCDRhNCw0LnQuyDQvtGCINC/0YDQvtCz0YDQsNC80LDRgtCwINC30LAg0L/RgNC+0LLQtdGA0LrQsCDQvdCwINC/0YDQsNCy0L7Qv9C40YHQsCIKKworIzogbGliL3NwZWxsY2hlY2sudGNsOjM5MgorbXNnaWQgIlNwZWxsIENoZWNrZXIgRmFpbGVkIgorbXNnc3RyICLQk9GA0LXRiNC60LAg0LIg0L/RgNC+0LPRgNCw0LzQsNGC0LAg0LfQsCDQv9GA0L7QstC10YDQutCwINC90LAg0L/RgNCw0LLQvtC/0LjRgdCwIgorCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6MjAKK21zZ2lkICJBZGQgUmVtb3RlIgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0L7RgtC00LDQu9C10YfQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1IgorCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6MjUKK21zZ2lkICJBZGQgTmV3IFJlbW90ZSIKK21zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQvdCwINC+0YLQtNCw0LvQtdGH0LXQvdC+INGF0YDQsNC90LjQu9C40YnQtSIKKworIzogbGliL3JlbW90ZV9hZGQudGNsOjMwIGxpYi90b29sc19kbGcudGNsOjM3Cittc2dpZCAiQWRkIgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1IgorCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6MzQgbGliL2Jyb3dzZXIudGNsOjI5MiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDozMAorIzogbGliL3RyYW5zcG9ydC50Y2w6MTQxIGxpYi9icmFuY2hfcmVuYW1lLnRjbDozMiBsaWIvY2hvb3NlX2ZvbnQudGNsOjQ1CisjOiBsaWIvb3B0aW9uLnRjbDoxMjcgbGliL3Rvb2xzX2RsZy50Y2w6NDEgbGliL3Rvb2xzX2RsZy50Y2w6MjAyCisjOiBsaWIvdG9vbHNfZGxnLnRjbDozNDUgbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDo0MworIzogbGliL2NoZWNrb3V0X29wLnRjbDo1NzkgbGliL2JyYW5jaF9jcmVhdGUudGNsOjM3IGxpYi9icmFuY2hfZGVsZXRlLnRjbDozNAorIzogbGliL21lcmdlLnRjbDoxNzQKK21zZ2lkICJDYW5jZWwiCittc2dzdHIgItCe0YLQutCw0LfQstCw0L3QtSIKKworIzogbGliL3JlbW90ZV9hZGQudGNsOjM5Cittc2dpZCAiUmVtb3RlIERldGFpbHMiCittc2dzdHIgItCU0LDQvdC90Lgg0LfQsCDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1IgorCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6NDEgbGliL3Rvb2xzX2RsZy50Y2w6NTEgbGliL2JyYW5jaF9jcmVhdGUudGNsOjQ0Cittc2dpZCAiTmFtZToiCittc2dzdHIgItCY0LzQtToiCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDo1MAorbXNnaWQgIkxvY2F0aW9uOiIKK21zZ3N0ciAi0JzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjQtToiCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDo2MAorbXNnaWQgIkZ1cnRoZXIgQWN0aW9uIgorbXNnc3RyICLQodC70LXQtNCy0LDRidC+INC00LXQudGB0YLQstC40LUiCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDo2MworbXNnaWQgIkZldGNoIEltbWVkaWF0ZWx5IgorbXNnc3RyICLQndC10LfQsNCx0LDQstC90L4g0LTQvtGB0YLQsNCy0Y/QvdC1IgorCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6NjkKK21zZ2lkICJJbml0aWFsaXplIFJlbW90ZSBSZXBvc2l0b3J5IGFuZCBQdXNoIgorbXNnc3RyICLQmNC90LjRhtC40LDQu9C40LfQuNGA0LDQvdC1INC90LAg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSDQuCDQuNC30YLQu9Cw0YHQutCy0LDQvdC1INC90LAg0L/RgNC+0LzQtdC90LjRgtC1IgorCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6NzUKK21zZ2lkICJEbyBOb3RoaW5nIEVsc2UgTm93IgorbXNnc3RyICLQlNCwINC90LUg0YHQtSDQv9GA0LDQstC4INC90LjRidC+IgorCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6MTAwCittc2dpZCAiUGxlYXNlIHN1cHBseSBhIHJlbW90ZSBuYW1lLiIKK21zZ3N0ciAi0JfQsNC00LDQudGC0LUg0LjQvNC1INC30LAg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtS4iCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMTMKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhbiBhY2NlcHRhYmxlIHJlbW90ZSBuYW1lLiIKK21zZ3N0ciAi0J7RgtC00LDQu9C10YfQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC60LDQt9Cy0LAg4oCeJXPigJwuIgorCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6MTI0CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCByZW1vdGUgJyVzJyBvZiBsb2NhdGlvbiAnJXMnLiIKK21zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC00L7QsdCw0LLRj9C90LUg0L3QsCDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1IOKAniVz4oCcINC+0YIg0LDQtNGA0LXRgSDigJ4lc+KAnC4iCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMzIgbGliL3RyYW5zcG9ydC50Y2w6NgorIywgdGNsLWZvcm1hdAorbXNnaWQgImZldGNoICVzIgorbXNnc3RyICLQtNC+0YHRgtCw0LLRj9C90LUg0L3QsCDigJ4lc+KAnCIKKworIzogbGliL3JlbW90ZV9hZGQudGNsOjEzMworIywgdGNsLWZvcm1hdAorbXNnaWQgIkZldGNoaW5nIHRoZSAlcyIKK21zZ3N0ciAi0JTQvtGB0YLQsNCy0Y/QvdC1INC90LAg4oCeJXPigJwiCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxNTYKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJEbyBub3Qga25vdyBob3cgdG8gaW5pdGlhbGl6ZSByZXBvc2l0b3J5IGF0IGxvY2F0aW9uICclcycuIgorbXNnc3RyICLQpdGA0LDQvdC40LvQuNGJ0LXRgtC+INGBINC80LXRgdGC0L7Qv9C+0LvQvtC20LXQvdC40LUg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40L3QuNGG0LjQsNC70LjQt9C40YDQsNC90L4uIgorCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6MTYyIGxpYi90cmFuc3BvcnQudGNsOjU0IGxpYi90cmFuc3BvcnQudGNsOjkyCisjOiBsaWIvdHJhbnNwb3J0LnRjbDoxMTAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJwdXNoICVzIgorbXNnc3RyICLQuNC30YLQu9Cw0YHQutCy0LDQvdC1INC90LAg4oCeJXPigJwiCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxNjMKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHRoZSAlcyAoYXQgJXMpIgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0YXRgNCw0L3QuNC70LjRidC1IOKAniVz4oCcICjRgSDQsNC00YDQtdGBIOKAniVz4oCcKSIKKworIzogbGliL2Jyb3dzZXIudGNsOjE3Cittc2dpZCAiU3RhcnRpbmcuLi4iCittc2dzdHIgItCh0YLQsNGA0YLQuNGA0LDQvdC14oCmIgorCisjOiBsaWIvYnJvd3Nlci50Y2w6MjcKK21zZ2lkICJGaWxlIEJyb3dzZXIiCittc2dzdHIgItCk0LDQudC70L7QsiDQsdGA0LDRg9C30YrRgCIKKworIzogbGliL2Jyb3dzZXIudGNsOjEzMiBsaWIvYnJvd3Nlci50Y2w6MTQ5CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiTG9hZGluZyAlcy4uLiIKK21zZ3N0ciAi0JfQsNGA0LXQttC00LDQvdC1INC90LAg4oCeJXPigJzigKYiCisKKyM6IGxpYi9icm93c2VyLnRjbDoxOTMKK21zZ2lkICJbVXAgVG8gUGFyZW50XSIKK21zZ3N0ciAiW9Ca0YrQvCDRgNC+0LTQuNGC0LXQu9GPXSIKKworIzogbGliL2Jyb3dzZXIudGNsOjI3NSBsaWIvYnJvd3Nlci50Y2w6MjgyCittc2dpZCAiQnJvd3NlIEJyYW5jaCBGaWxlcyIKK21zZ3N0ciAi0KDQsNC30LPQu9C10LbQtNCw0L3QtSDQvdCwINGE0LDQudC70L7QstC10YLQtSDQsiDQutC70L7QvdCwIgorCisjOiBsaWIvYnJvd3Nlci50Y2w6Mjg4IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDA2CisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQ5MyBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjUwMgorIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMDI5Cittc2dpZCAiQnJvd3NlIgorbXNnc3RyICLQoNCw0LfQs9C70LXQttC00LDQvdC1IgorCisjOiBsaWIvYnJvd3Nlci50Y2w6Mjk3IGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjM1IGxpYi90b29sc19kbGcudGNsOjMyMQorbXNnaWQgIlJldmlzaW9uIgorbXNnc3RyICLQktC10YDRgdC40Y8iCisKKyM6IGxpYi90b29scy50Y2w6NzUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJSdW5uaW5nICVzIHJlcXVpcmVzIGEgc2VsZWN0ZWQgZmlsZS4iCittc2dzdHIgItCX0LAg0LjQt9C/0YrQu9C90LXQvdC40LXRgtC+INC90LAg4oCeJXPigJwg0YLRgNGP0LHQstCwINC00LAg0LjQt9Cx0LXRgNC10YLQtSDRhNCw0LnQuy4iCisKKyM6IGxpYi90b29scy50Y2w6OTEKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcnVuICUxJHMgb24gZmlsZSBcIiUyJHNcIj8iCittc2dzdHIgItCh0LjQs9GD0YDQvdC4INC70Lgg0YHRgtC1LCDRh9C1INC40YHQutCw0YLQtSDQtNCwINGB0YLQsNGA0YLQuNGA0LDRgtC1IOKAniUxJHPigJwg0LLRitGA0YXRgyDigJ4lMiRz4oCcPyIKKworIzogbGliL3Rvb2xzLnRjbDo5NQorIywgdGNsLWZvcm1hdAorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBydW4gJXM/IgorbXNnc3RyICLQodC40LPRg9GA0L3QuCDQu9C4INGB0YLQtSwg0YfQtSDQuNGB0LrQsNGC0LUg0LTQsCDRgdGC0LDRgNGC0LjRgNCw0YLQtSDigJ4lc+KAnD8iCisKKyM6IGxpYi90b29scy50Y2w6MTE2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVG9vbDogJXMiCittc2dzdHIgItCa0L7QvNCw0L3QtNCwOiAlcyIKKworIzogbGliL3Rvb2xzLnRjbDoxMTcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJSdW5uaW5nOiAlcyIKK21zZ3N0ciAi0JjQt9C/0YrQu9C90LXQvdC40LU6ICVzIgorCisjOiBsaWIvdG9vbHMudGNsOjE1NQorIywgdGNsLWZvcm1hdAorbXNnaWQgIlRvb2wgY29tcGxldGVkIHN1Y2Nlc3NmdWxseTogJXMiCittc2dzdHIgItCa0L7QvNCw0L3QtNCw0YLQsCDQt9Cw0LLRitGA0YjQuCDRg9GB0L/QtdGI0L3QvjogJXMiCisKKyM6IGxpYi90b29scy50Y2w6MTU3CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVG9vbCBmYWlsZWQ6ICVzIgorbXNnc3RyICLQmtC+0LzQsNC90LTQsNGC0LAg0LLRitGA0L3QsCDQs9GA0LXRiNC60LA6ICVzIgorCisjOiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDoxNiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDoyMQorbXNnaWQgIkNoZWNrb3V0IEJyYW5jaCIKK21zZ3N0ciAi0JrQu9C+0L0g0LfQsCDQuNC30YLQtdCz0LvRj9C90LUiCisKKyM6IGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjI2Cittc2dpZCAiQ2hlY2tvdXQiCittc2dzdHIgItCY0LfRgtC10LPQu9GP0L3QtSIKKworIzogbGliL2JyYW5jaF9jaGVja291dC50Y2w6MzkgbGliL29wdGlvbi50Y2w6MzA5IGxpYi9icmFuY2hfY3JlYXRlLnRjbDo2OQorbXNnaWQgIk9wdGlvbnMiCittc2dzdHIgItCe0L/RhtC40LgiCisKKyM6IGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjQyIGxpYi9icmFuY2hfY3JlYXRlLnRjbDo5MgorbXNnaWQgIkZldGNoIFRyYWNraW5nIEJyYW5jaCIKK21zZ3N0ciAi0JjQt9GC0LXQs9C70Y/QvdC1INC90LAg0L/RgNC+0LzQtdC90LjRgtC1INC+0YIg0YHQu9C10LTQtdC90LjRjyDQutC70L7QvSIKKworIzogbGliL2JyYW5jaF9jaGVja291dC50Y2w6NDcKK21zZ2lkICJEZXRhY2ggRnJvbSBMb2NhbCBCcmFuY2giCittc2dzdHIgItCY0LfRgtGA0LjQstCw0L3QtSDQvtGCINC70L7QutCw0LvQvdC40Y8g0LrQu9C+0L0iCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJGZXRjaGluZyBuZXcgY2hhbmdlcyBmcm9tICVzIgorbXNnc3RyICLQlNC+0YHRgtCw0LLRj9C90LUg0L3QsCDQv9GA0L7QvNC10L3QuNGC0LUg0L7RgiAlcyIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MTgKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJyZW1vdGUgcHJ1bmUgJXMiCittc2dzdHIgItC+0LrQsNGB0YLRgNGP0L3QtSDQvdCwINGB0LvQtdC00Y/RidC40YLQtSDQutC70L7QvdC4INC60YrQvCDigJ4lc+KAnCIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MTkKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJQcnVuaW5nIHRyYWNraW5nIGJyYW5jaGVzIGRlbGV0ZWQgZnJvbSAlcyIKK21zZ3N0ciAi0J7QutCw0YHRgtGA0Y/QvdC1INC90LAg0YHQu9C10LTRj9GJ0LjRgtC1INC60LvQvtC90Lgg0L3QsCDQuNC30YLRgNC40YLQuNGC0LUg0LrQu9C+0L3QuCDQvtGCIOKAniVz4oCcIgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDoyNQorbXNnaWQgImZldGNoIGFsbCByZW1vdGVzIgorbXNnc3RyICLQtNC+0YHRgtCw0LLRj9C90LUg0L3QsCDQstGB0LjRh9C60Lgg0YXRgNCw0L3QuNC70LjRidCwIgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDoyNgorbXNnaWQgIkZldGNoaW5nIG5ldyBjaGFuZ2VzIGZyb20gYWxsIHJlbW90ZXMiCittc2dzdHIgItCU0L7RgdGC0LDQstGP0L3QtSDQvdCwINC/0YDQvtC80LXQvdC40YLQtSDQvtGCINCy0YHQuNGH0LrQuCDQvtGC0LTQsNC70LXRh9C10L3QuCDRhdGA0LDQvdC40LvQuNGJ0LAiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjQwCittc2dpZCAicmVtb3RlIHBydW5lIGFsbCByZW1vdGVzIgorbXNnc3RyICLQvtC60LDRgdGC0YDRj9C90LUg0L3QsCDQstGB0LjRh9C60Lgg0LrQu9C+0L3QuCDRgdC70LXQtNGP0YnQuCDQuNC30YLRgNC40YLQuCDQutC70L7QvdC4IgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDo0MQorbXNnaWQgIlBydW5pbmcgdHJhY2tpbmcgYnJhbmNoZXMgZGVsZXRlZCBmcm9tIGFsbCByZW1vdGVzIgorbXNnc3RyICIiCisi0J7QutCw0YHRgtGA0Y/QvdC1INC90LAg0YHQu9C10LTRj9GJ0LjRgtC1INC60LvQvtC90Lgg0L3QsCDQuNC30YLRgNC40YLQuNGC0LUg0LrQu9C+0L3QuCDQvtGCINCy0YHQuNGH0LrQuCDQvtGC0LTQsNC70LXRh9C10L3QuCAiCisi0YXRgNCw0L3QuNC70LjRidCwIgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDo1NQorIywgdGNsLWZvcm1hdAorbXNnaWQgIlB1c2hpbmcgY2hhbmdlcyB0byAlcyIKK21zZ3N0ciAi0JjQt9GC0LvQsNGB0LrQstCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC40YLQtSDQutGK0LwgJXMiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjkzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiTWlycm9yaW5nIHRvICVzIgorbXNnc3RyICLQmNC30YLQu9Cw0YHQutCy0LDQvdC1INC90LAg0LLRgdC40YfQutC+INC60YrQvCDigJ4lc+KAnCIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MTExCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUHVzaGluZyAlcyAlcyB0byAlcyIKK21zZ3N0ciAi0JjQt9GC0LvQsNGB0LrQstCw0L3QtSDQvdCwICVzICVzINC60YrQvCAlcyIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MTMyCittc2dpZCAiUHVzaCBCcmFuY2hlcyIKK21zZ3N0ciAi0JrQu9C+0L3QuCDQt9CwINC40LfRgtC70LDRgdC60LLQsNC90LUiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjE0NworbXNnaWQgIlNvdXJjZSBCcmFuY2hlcyIKK21zZ3N0ciAi0JrQu9C+0L3QuC3QuNC30YLQvtGH0L3QuNGG0LgiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjE2MgorbXNnaWQgIkRlc3RpbmF0aW9uIFJlcG9zaXRvcnkiCittc2dzdHIgItCm0LXQu9C10LLQviDRhdGA0LDQvdC40LvQuNGJ0LUiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjE2NSBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjUxCittc2dpZCAiUmVtb3RlOiIKK21zZ3N0ciAi0J7RgtC00LDQu9C10YfQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1OiIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MTg3IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6NzIKK21zZ2lkICJBcmJpdHJhcnkgTG9jYXRpb246IgorbXNnc3RyICLQn9GA0L7QuNC30LLQvtC70L3QviDQvNC10YHRgtC+0L/QvtC70L7QttC10L3QuNC1OiIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MjA1Cittc2dpZCAiVHJhbnNmZXIgT3B0aW9ucyIKK21zZ3N0ciAi0J3QsNGB0YLRgNC+0LnQutC4INC/0YDQuCDQv9GA0LXQvdCw0YHRj9C90LXRgtC+IgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDoyMDcKK21zZ2lkICJGb3JjZSBvdmVyd3JpdGUgZXhpc3RpbmcgYnJhbmNoIChtYXkgZGlzY2FyZCBjaGFuZ2VzKSIKK21zZ3N0ciAiIgorItCY0LfRgNC40YfQvdC+INC/0YDQtdC30LDQv9C40YHQstCw0L3QtSDQvdCwINGB0YrRidC10YHRgtCy0YPQstCw0Ykg0LrQu9C+0L0gKNC90Y/QutC+0Lgg0L/RgNC+0LzQtdC90Lgg0LzQvtC20LUg0LTQsCDQsdGK0LTQsNGCICIKKyLQt9Cw0LPRg9Cx0LXQvdC4KSIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MjExCittc2dpZCAiVXNlIHRoaW4gcGFjayAoZm9yIHNsb3cgbmV0d29yayBjb25uZWN0aW9ucykiCittc2dzdHIgItCc0LDQutGB0LjQvNCw0LvQvdCwINC60L7QvNC/0YDQtdGB0LjRjyAo0LfQsCDQsdCw0LLQvdC4INC80YDQtdC20L7QstC4INCy0YDRitC30LrQuCkiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjIxNQorbXNnaWQgIkluY2x1ZGUgdGFncyIKK21zZ3N0ciAi0JLQutC70Y7Rh9Cy0LDQvdC1INC90LAg0LXRgtC40LrQtdGC0LjRgtC1IgorCisjOiBsaWIvc3RhdHVzX2Jhci50Y2w6ODcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIlcyAuLi4gJSppIG9mICUqaSAlcyAoJTNpJSUpIgorbXNnc3RyICIlc+KApiAlKmkg0L7RgiDQvtCx0YnQviAlKmkgJXMgKCUzaSUlKSIKKworIzogbGliL3JlbW90ZS50Y2w6MjAwCittc2dpZCAiUHVzaCB0byIKK21zZ3N0ciAi0JjQt9GC0LvQsNGB0LrQstCw0L3QtSDQutGK0LwiCisKKyM6IGxpYi9yZW1vdGUudGNsOjIxOAorbXNnaWQgIlJlbW92ZSBSZW1vdGUiCittc2dzdHIgItCf0YDQtdC80LDRhdCy0LDQvdC1INC90LAg0L7RgtC00LDQu9C10YfQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1IgorCisjOiBsaWIvcmVtb3RlLnRjbDoyMjMKK21zZ2lkICJQcnVuZSBmcm9tIgorbXNnc3RyICLQntC60LDRgdGC0YDRj9C90LUg0L7RgiIKKworIzogbGliL3JlbW90ZS50Y2w6MjI4Cittc2dpZCAiRmV0Y2ggZnJvbSIKK21zZ3N0ciAi0JTQvtGB0YLQsNCy0Y/QvdC1INC+0YIiCisKKyM6IGxpYi9zc2hrZXkudGNsOjMxCittc2dpZCAiTm8ga2V5cyBmb3VuZC4iCittc2dzdHIgItCd0LUg0YHQsCDQvtGC0LrRgNC40YLQuCDQutC70Y7Rh9C+0LLQtS4iCisKKyM6IGxpYi9zc2hrZXkudGNsOjM0CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRm91bmQgYSBwdWJsaWMga2V5IGluOiAlcyIKK21zZ3N0ciAi0J7RgtC60YDQuNGCINC1INC/0YPQsdC70LjRh9C10L0g0LrQu9GO0Ycg0LIg4oCeJXPigJwiCisKKyM6IGxpYi9zc2hrZXkudGNsOjQwCittc2dpZCAiR2VuZXJhdGUgS2V5IgorbXNnc3RyICLQk9C10L3QtdGA0LjRgNCw0L3QtSDQvdCwINC60LvRjtGHIgorCisjOiBsaWIvc3Noa2V5LnRjbDo1NSBsaWIvY2hlY2tvdXRfb3AudGNsOjE0NiBsaWIvY29uc29sZS50Y2w6ODEKKyM6IGxpYi9kYXRhYmFzZS50Y2w6MzAKK21zZ2lkICJDbG9zZSIKK21zZ3N0ciAi0JfQsNGC0LLQsNGA0Y/QvdC1IgorCisjOiBsaWIvc3Noa2V5LnRjbDo1OAorbXNnaWQgIkNvcHkgVG8gQ2xpcGJvYXJkIgorbXNnc3RyICLQmtC+0L/QuNGA0LDQvdC1INC60YrQvCDRgdC40YHRgtC10LzQvdC40Y8g0LHRg9GE0LXRgCIKKworIzogbGliL3NzaGtleS50Y2w6NzIKK21zZ2lkICJZb3VyIE9wZW5TU0ggUHVibGljIEtleSIKK21zZ3N0ciAi0J/Rg9Cx0LvQuNGH0L3QuNGP0YIg0LLQuCDQutC70Y7RhyDQt9CwIE9wZW5TU0giCisKKyM6IGxpYi9zc2hrZXkudGNsOjgwCittc2dpZCAiR2VuZXJhdGluZy4uLiIKK21zZ3N0ciAi0JPQtdC90LXRgNC40YDQsNC90LXigKYiCisKKyM6IGxpYi9zc2hrZXkudGNsOjg2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIkNvdWxkIG5vdCBzdGFydCBzc2gta2V5Z2VuOlxuIgorIlxuIgorIiVzIgorbXNnc3RyICIiCisi0J/RgNC+0LPRgNCw0LzQsNGC0LAg4oCec3NoLWtleWdlbuKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRgtCw0YDRgtC40YDQsNC90LA6XG4iCisiXG4iCisiJXMiCisKKyM6IGxpYi9zc2hrZXkudGNsOjExMworbXNnaWQgIkdlbmVyYXRpb24gZmFpbGVkLiIKK21zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INCz0LXQvdC10YDQuNGA0LDQvdC1LiIKKworIzogbGliL3NzaGtleS50Y2w6MTIwCittc2dpZCAiR2VuZXJhdGlvbiBzdWNjZWVkZWQsIGJ1dCBubyBrZXlzIGZvdW5kLiIKK21zZ3N0ciAi0JPQtdC90LXRgNC40YDQsNC90LXRgtC+INC30LDQstGK0YDRiNC4INGD0YHQv9C10YjQvdC+LCDQsCDQvdC1INGB0LAg0L3QsNC80LXRgNC10L3QuCDQutC70Y7Rh9C+0LLQtS4iCisKKyM6IGxpYi9zc2hrZXkudGNsOjEyMworIywgdGNsLWZvcm1hdAorbXNnaWQgIllvdXIga2V5IGlzIGluOiAlcyIKK21zZ3N0ciAi0JrQu9GO0YfRitGCINCy0Lgg0LUg0LIg4oCeJXPigJwiCisKKyM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoxNSBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6MjMKK21zZ2lkICJSZW5hbWUgQnJhbmNoIgorbXNnc3RyICLQn9GA0LXQuNC80LXQvdGD0LLQsNC90LUg0L3QsCDQutC70L7QvSIKKworIzogbGliL2JyYW5jaF9yZW5hbWUudGNsOjI4Cittc2dpZCAiUmVuYW1lIgorbXNnc3RyICLQn9GA0LXQuNC80LXQvdGD0LLQsNC90LUiCisKKyM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDozOAorbXNnaWQgIkJyYW5jaDoiCittc2dzdHIgItCa0LvQvtC9OiIKKworIzogbGliL2JyYW5jaF9yZW5hbWUudGNsOjQ2Cittc2dpZCAiTmV3IE5hbWU6IgorbXNnc3RyICLQndC+0LLQviDQuNC80LU6IgorCisjOiBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6ODEKK21zZ2lkICJQbGVhc2Ugc2VsZWN0IGEgYnJhbmNoIHRvIHJlbmFtZS4iCittc2dzdHIgItCY0LfQsdC10YDQtdGC0LUg0LrQu9C+0L0g0LfQsCDQv9GA0LXQuNC80LXQvdGD0LLQsNC90LUuIgorCisjOiBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6OTIgbGliL2JyYW5jaF9jcmVhdGUudGNsOjE1NAorbXNnaWQgIlBsZWFzZSBzdXBwbHkgYSBicmFuY2ggbmFtZS4iCittc2dzdHIgItCU0LDQudGC0LUg0LjQvNC1INC90LAg0LrQu9C+0L3QsC4iCisKKyM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoxMDIgbGliL2NoZWNrb3V0X29wLnRjbDoyMDIKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJCcmFuY2ggJyVzJyBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgItCa0LvQvtC90YrRgiDigJ4lc+KAnCDQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsC4iCisKKyM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoxMTIgbGliL2JyYW5jaF9jcmVhdGUudGNsOjE2NQorIywgdGNsLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGFuIGFjY2VwdGFibGUgYnJhbmNoIG5hbWUuIgorbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/QvtC70LfQstCwINC30LAg0LjQvNC1INC90LAg0LrQu9C+0L0uIgorCisjOiBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6MTIzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlbmFtZSAnJXMnLiIKK21zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC/0YDQtdC40LzQtdC90YPQstCw0L3QtSDQvdCwIOKAniVz4oCcLiIKKworIzogbGliL2Nob29zZV9mb250LnRjbDo0MQorbXNnaWQgIlNlbGVjdCIKK21zZ3N0ciAi0JjQt9Cx0L7RgCIKKworIzogbGliL2Nob29zZV9mb250LnRjbDo1NQorbXNnaWQgIkZvbnQgRmFtaWx5IgorbXNnc3RyICLQqNGA0LjRhNGCIgorCisjOiBsaWIvY2hvb3NlX2ZvbnQudGNsOjc2Cittc2dpZCAiRm9udCBTaXplIgorbXNnc3RyICLQoNCw0LfQvNC10YAiCisKKyM6IGxpYi9jaG9vc2VfZm9udC50Y2w6OTMKK21zZ2lkICJGb250IEV4YW1wbGUiCittc2dzdHIgItCc0L7RgdGC0YDQsCIKKworIzogbGliL2Nob29zZV9mb250LnRjbDoxMDUKK21zZ2lkICIiCisiVGhpcyBpcyBleGFtcGxlIHRleHQuXG4iCisiSWYgeW91IGxpa2UgdGhpcyB0ZXh0LCBpdCBjYW4gYmUgeW91ciBmb250LiIKK21zZ3N0ciAiIgorItCi0L7QstCwINC1INC/0YDQuNC80LXRgNC10L0g0YLQtdC60YHRgi5cbiIKKyLQkNC60L4g0LLQuCDRhdCw0YDQtdGB0LLQsCDQutCw0Log0LjQt9Cz0LvQtdC20LTQsCwg0LjQt9Cx0LXRgNC10YLQtSDRgtC+0LfQuCDRiNGA0LjRhNGCLiIKKworIzogbGliL29wdGlvbi50Y2w6MTEKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGdsb2JhbCBlbmNvZGluZyAnJXMnIgorbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QviDQs9C70L7QsdCw0LvQvdC+INC60L7QtNC40YDQsNC90LUg4oCeJXPigJwiCisKKyM6IGxpYi9vcHRpb24udGNsOjE5CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiSW52YWxpZCByZXBvIGVuY29kaW5nICclcyciCittc2dzdHIgItCd0LXQv9GA0LDQstC40LvQvdC+INC60L7QtNC40YDQsNC90LUg4oCeJXPigJwg0L3QsCDRhdGA0LDQvdC40LvQuNGJ0LXRgtC+IgorCisjOiBsaWIvb3B0aW9uLnRjbDoxMTkKK21zZ2lkICJSZXN0b3JlIERlZmF1bHRzIgorbXNnc3RyICLQodGC0LDQvdC00LDRgNGC0L3QuCDQvdCw0YHRgtGA0L7QudC60LgiCisKKyM6IGxpYi9vcHRpb24udGNsOjEyMworbXNnaWQgIlNhdmUiCittc2dzdHIgItCX0LDQv9Cw0LfQstCw0L3QtSIKKworIzogbGliL29wdGlvbi50Y2w6MTMzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiJXMgUmVwb3NpdG9yeSIKK21zZ3N0ciAi0KXRgNCw0L3QuNC70LjRidC1IOKAniVz4oCcIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxMzQKK21zZ2lkICJHbG9iYWwgKEFsbCBSZXBvc2l0b3JpZXMpIgorbXNnc3RyICLQk9C70L7QsdCw0LvQvdC+ICjQt9CwINCy0YHQuNGH0LrQuCDRhdGA0LDQvdC40LvQuNGJ0LApIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNDAKK21zZ2lkICJVc2VyIE5hbWUiCittc2dzdHIgItCf0L7RgtGA0LXQsdC40YLQtdC70YHQutC+INC40LzQtSIKKworIzogbGliL29wdGlvbi50Y2w6MTQxCittc2dpZCAiRW1haWwgQWRkcmVzcyIKK21zZ3N0ciAi0JDQtNGA0LXRgSDQvdCwINC1LdC/0L7RidCwIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNDMKK21zZ2lkICJTdW1tYXJpemUgTWVyZ2UgQ29tbWl0cyIKK21zZ3N0ciAi0J7QsdC+0LHRidCw0LLQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINC/0YDQuCDRgdC70LjQstCw0L3QtSIKKworIzogbGliL29wdGlvbi50Y2w6MTQ0Cittc2dpZCAiTWVyZ2UgVmVyYm9zaXR5IgorbXNnc3RyICLQn9C+0LTRgNC+0LHQvdC+0YHRgtC4INC/0YDQuCDRgdC70LjQstCw0L3QuNGP0YLQsCIKKworIzogbGliL29wdGlvbi50Y2w6MTQ1Cittc2dpZCAiU2hvdyBEaWZmc3RhdCBBZnRlciBNZXJnZSIKK21zZ3N0ciAi0JjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHRgtCw0YLQuNGB0YLQuNC60LAg0YHQu9C10LQg0YHQu9C40LLQsNC90LjRj9GC0LAiCisKKyM6IGxpYi9vcHRpb24udGNsOjE0NgorbXNnaWQgIlVzZSBNZXJnZSBUb29sIgorbXNnc3RyICLQmNC30L/QvtC70LfQstCw0L3QtSDQvdCwINC/0YDQvtCz0YDQsNC80LAg0LfQsCDRgdC70LjQstCw0L3QtSIKKworIzogbGliL29wdGlvbi50Y2w6MTQ4Cittc2dpZCAiVHJ1c3QgRmlsZSBNb2RpZmljYXRpb24gVGltZXN0YW1wcyIKK21zZ3N0ciAi0JTQvtCy0LXRgNC40LUg0LLRitCyINCy0YDQtdC80LXRgtC+INC90LAg0L/RgNC+0LzRj9C90LAg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUiCisKKyM6IGxpYi9vcHRpb24udGNsOjE0OQorbXNnaWQgIlBydW5lIFRyYWNraW5nIEJyYW5jaGVzIER1cmluZyBGZXRjaCIKK21zZ3N0ciAi0J7QutCw0YHRgtGA0Y/QvdC1INC90LAg0YHQu9C10LTRj9GJ0LjRgtC1INC60LvQvtC90L7QstC1INC/0YDQuCDQtNC+0YHRgtCw0LLRj9C90LUiCisKKyM6IGxpYi9vcHRpb24udGNsOjE1MAorbXNnaWQgIk1hdGNoIFRyYWNraW5nIEJyYW5jaGVzIgorbXNnc3RyICLQndCw0L/QsNGB0LLQsNC90LUg0L3QsCDRgdC70LXQtNGP0YnQuNGC0LUg0LrQu9C+0L3QvtCy0LUiCisKKyM6IGxpYi9vcHRpb24udGNsOjE1MQorbXNnaWQgIlVzZSBUZXh0Y29udiBGb3IgRGlmZnMgYW5kIEJsYW1lcyIKK21zZ3N0ciAi0JjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDigJ50ZXh0Y29uduKAnCDQt9CwINGA0LDQt9C70LjQutC40YLQtSDQuCDQsNC90L7RgtCw0YbQuNC40YLQtSIKKworIzogbGliL29wdGlvbi50Y2w6MTUyCittc2dpZCAiQmxhbWUgQ29weSBPbmx5IE9uIENoYW5nZWQgRmlsZXMiCittc2dzdHIgItCQ0L3QvtGC0LjRgNCw0L3QtSDQvdCwINC60L7Qv9C40LXRgtC+INGB0LDQvNC+INC/0L4g0L/RgNC+0LzQtdC90LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKKworIzogbGliL29wdGlvbi50Y2w6MTUzCittc2dpZCAiTWF4aW11bSBMZW5ndGggb2YgUmVjZW50IFJlcG9zaXRvcmllcyBMaXN0IgorbXNnc3RyICLQnNCw0LrRgdC40LzQsNC70LXQvSDQsdGA0L7QuSDRgdC60L7RgNC+INC/0L7Qu9C30LLQsNC90Lgg0YXRgNCw0L3QuNC70LjRidCwIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNTQKK21zZ2lkICJNaW5pbXVtIExldHRlcnMgVG8gQmxhbWUgQ29weSBPbiIKK21zZ3N0ciAi0JzQuNC90LjQvNCw0LvQtdC9INCx0YDQvtC5INC30L3QsNGG0Lgg0LfQsCDQsNC90L7RgtC40YDQsNC90LUg0L3QsCDQutC+0L/QuNC10YLQviIKKworIzogbGliL29wdGlvbi50Y2w6MTU1Cittc2dpZCAiQmxhbWUgSGlzdG9yeSBDb250ZXh0IFJhZGl1cyAoZGF5cykiCittc2dzdHIgItCY0YHRgtC+0YDQuNGH0LXRgdC60Lgg0L7QsdGF0LLQsNGCINC30LAg0LDQvdC+0YLQuNGA0LDQvdC1INCyINC00L3QuCIKKworIzogbGliL29wdGlvbi50Y2w6MTU2Cittc2dpZCAiTnVtYmVyIG9mIERpZmYgQ29udGV4dCBMaW5lcyIKK21zZ3N0ciAi0JHRgNC+0Lkg0YDQtdC00L7QstC1INC30LAg0LrQvtC90YLQtdC60YHRgtCwINC/0YDQuCDQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgNCw0LfQu9C40LrQuNGC0LUiCisKKyM6IGxpYi9vcHRpb24udGNsOjE1NworbXNnaWQgIkFkZGl0aW9uYWwgRGlmZiBQYXJhbWV0ZXJzIgorbXNnc3RyICLQlNC+0L/RitC70L3QuNGC0LXQu9C90Lgg0L/QsNGA0LDQvNC10YLRgNC4INC30LAg0YDQsNC30LvQuNC60LjRgtC1IgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNTgKK21zZ2lkICJDb21taXQgTWVzc2FnZSBUZXh0IFdpZHRoIgorbXNnc3RyICLQqNC40YDQvtGH0LjQvdCwINC90LAg0YLQtdC60YHRgtCwINC90LAg0YHRitC+0LHRidC10L3QuNC10YLQviDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtSIKKworIzogbGliL29wdGlvbi50Y2w6MTU5Cittc2dpZCAiTmV3IEJyYW5jaCBOYW1lIFRlbXBsYXRlIgorbXNnc3RyICLQqNCw0LHQu9C+0L0g0LfQsCDQuNC80LXRgtC+INC90LAg0L3QvtCy0LjRgtC1INC60LvQvtC90LgiCisKKyM6IGxpYi9vcHRpb24udGNsOjE2MAorbXNnaWQgIkRlZmF1bHQgRmlsZSBDb250ZW50cyBFbmNvZGluZyIKK21zZ3N0ciAi0KHRgtCw0L3QtNCw0YDRgtC90L4g0LrQvtC00LjRgNCw0L3QtSDQvdCwINGE0LDQudC70L7QstC10YLQtSIKKworIzogbGliL29wdGlvbi50Y2w6MTYxCittc2dpZCAiV2FybiBiZWZvcmUgY29tbWl0dGluZyB0byBhIGRldGFjaGVkIGhlYWQiCittc2dzdHIgItCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LUg0LrRitC8INC90LXRgdCy0YrRgNC30LDQvSDQstGA0YrRhSIKKworIzogbGliL29wdGlvbi50Y2w6MTYyCittc2dpZCAiU3RhZ2luZyBvZiB1bnRyYWNrZWQgZmlsZXMiCittc2dzdHIgItCU0L7QsdCw0LLRj9C90LUg0L3QsCDQvdC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1INC60YrQvCDQuNC90LTQtdC60YHQsCIKKworIzogbGliL29wdGlvbi50Y2w6MTYzCittc2dpZCAiU2hvdyB1bnRyYWNrZWQgZmlsZXMiCittc2dzdHIgItCf0L7QutCw0LfQstCw0L3QtSDQvdCwINC90LXRgdC70LXQtNC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUiCisKKyM6IGxpYi9vcHRpb24udGNsOjIwOQorbXNnaWQgIkNoYW5nZSIKK21zZ3N0ciAi0KHQvNGP0L3QsCIKKworIzogbGliL29wdGlvbi50Y2w6MjUzCittc2dpZCAiU3BlbGxpbmcgRGljdGlvbmFyeToiCittc2dzdHIgItCf0YDQsNCy0L7Qv9C40YHQtdC9INGA0LXRh9C90LjQujoiCisKKyM6IGxpYi9vcHRpb24udGNsOjI4MworbXNnaWQgIkNoYW5nZSBGb250IgorbXNnc3RyICLQodC80Y/QvdCwINC90LAg0YjRgNC40YTRgtCwIgorCisjOiBsaWIvb3B0aW9uLnRjbDoyODcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJDaG9vc2UgJXMiCittc2dzdHIgItCY0LfQsdC+0YAg0L3QsCDigJ4lc+KAnCIKKworIzogbGliL29wdGlvbi50Y2w6MjkzCittc2dpZCAicHQuIgorbXNnc3RyICLRgtGH0LouIgorCisjOiBsaWIvb3B0aW9uLnRjbDozMDcKK21zZ2lkICJQcmVmZXJlbmNlcyIKK21zZ3N0ciAi0J3QsNGB0YLRgNC+0LnQutC4IgorCisjOiBsaWIvb3B0aW9uLnRjbDozNDQKK21zZ2lkICJGYWlsZWQgdG8gY29tcGxldGVseSBzYXZlIG9wdGlvbnM6IgorbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0L3QsNGB0YLRgNC+0LnQutC40YLQtToiCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjgKK21zZ2lkICJGb3JjZSByZXNvbHV0aW9uIHRvIHRoZSBiYXNlIHZlcnNpb24/IgorbXNnc3RyICLQlNCwINGB0LUg0LjQt9C/0L7Qu9C30LLQsCDQsdCw0LfQvtCy0LDRgtCwINCy0LXRgNGB0LjRjyIKKworIzogbGliL21lcmdldG9vbC50Y2w6OQorbXNnaWQgIkZvcmNlIHJlc29sdXRpb24gdG8gdGhpcyBicmFuY2g/IgorbXNnc3RyICLQlNCwINGB0LUg0LjQt9C/0L7Qu9C30LLQsCDQstC10YDRgdC40Y/RgtCwINC+0YIg0YLQvtC30Lgg0LrQu9C+0L0iCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjEwCittc2dpZCAiRm9yY2UgcmVzb2x1dGlvbiB0byB0aGUgb3RoZXIgYnJhbmNoPyIKK21zZ3N0ciAi0JTQsCDRgdC1INC40LfQv9C+0LvQt9Cy0LAg0LLQtdGA0YHQuNGP0YLQsCDQvtGCINC00YDRg9Cz0LjRjyDQutC70L7QvSIKKworIzogbGliL21lcmdldG9vbC50Y2w6MTQKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiTm90ZSB0aGF0IHRoZSBkaWZmIHNob3dzIG9ubHkgY29uZmxpY3RpbmcgY2hhbmdlcy5cbiIKKyJcbiIKKyIlcyB3aWxsIGJlIG92ZXJ3cml0dGVuLlxuIgorIlxuIgorIlRoaXMgb3BlcmF0aW9uIGNhbiBiZSB1bmRvbmUgb25seSBieSByZXN0YXJ0aW5nIHRoZSBtZXJnZS4iCittc2dzdHIgIiIKKyLQoNCw0LfQu9C40LrQsNGC0LAg0L/QvtC60LDQt9Cy0LAg0YHQsNC80L4g0YDQsNC30LvQuNC60LjRgtC1INGBINC60L7QvdGE0LvQuNC60YIuXG4iCisiXG4iCisi0KTQsNC50LvRitGCIOKAniVz4oCcINGJ0LUg0LHRitC00LUg0L/RgNC10LfQsNC/0LjRgdCw0L0uXG4iCisiXG4iCisi0KLQsNC30Lgg0L7Qv9C10YDQsNGG0LjRjyDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQvNC10L3QtdC90LAg0YHQsNC80L4g0YfRgNC10Lcg0LfQsNC/0L7Rh9Cy0LDQvdC1INC90LAg0YHQu9C40LLQsNC90LXRgtC+INC90LDQvdC+0LLQvi4iCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjQ1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRmlsZSAlcyBzZWVtcyB0byBoYXZlIHVucmVzb2x2ZWQgY29uZmxpY3RzLCBzdGlsbCBzdGFnZT8iCittc2dzdHIgIiIKKyLQmNC30LPQu9C10LbQtNCwLCDRh9C1INCy0YrQsiDRhNCw0LnQu9CwIOKAniVz4oCcINCy0YHQtSDQvtGJ0LUg0LjQvNCwINC90LXQutC+0YDQuNCz0LjRgNCw0L3QuCDQutC+0L3RhNC70LjQutGC0LguINCU0LAg0YHQtSDQtNC+0LHQsNCy0LggIgorItC70Lgg0YTQsNC50LvRitGCINC60YrQvCDQuNC90LTQtdC60YHQsD8iCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjYwCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiQWRkaW5nIHJlc29sdXRpb24gZm9yICVzIgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0LrQvtGA0LXQutGG0LjRjyDQvdCwINC60L7QvdGE0LvQuNC60YLQuNGC0LUg0LIg4oCeJXPigJwiCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjE0MQorbXNnaWQgIkNhbm5vdCByZXNvbHZlIGRlbGV0aW9uIG9yIGxpbmsgY29uZmxpY3RzIHVzaW5nIGEgdG9vbCIKK21zZ3N0ciAiIgorItCa0L7QvdGE0LvQuNC60YLQuNGC0LUg0L/RgNC4INGB0LjQvNCy0L7Qu9C90Lgg0LLRgNGK0LfQutC4INC40LvQuCDQuNC30YLRgNC40LLQsNC90LUg0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDQutC+0YDQuNCz0LjRgNCw0L3QuCDRgSAiCisi0LLRitC90YjQvdCwINC/0YDQvtCz0YDQsNC80LAuIgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDoxNDYKK21zZ2lkICJDb25mbGljdCBmaWxlIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLQpNCw0LnQu9GK0YIsINCyINC60L7QudGC0L4g0LUg0LrQvtC90YTQu9C40LrRgtGK0YIsINC90LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAiCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjI0NgorIywgdGNsLWZvcm1hdAorbXNnaWQgIk5vdCBhIEdVSSBtZXJnZSB0b29sOiAnJXMnIgorbXNnc3RyICLQotC+0LLQsCDQvdC1INC1INCz0YDQsNGE0LjRh9C90LAg0L/RgNC+0LPRgNCw0LzQsCDQt9CwINGB0LvQuNCy0LDQvdC1OiDigJ4lc+KAnCIKKworIzogbGliL21lcmdldG9vbC50Y2w6Mjc1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVW5zdXBwb3J0ZWQgbWVyZ2UgdG9vbCAnJXMnIgorbXNnc3RyICLQndC10L/QvtC00LTRitGA0LbQsNC90LAg0L/RgNC+0LPRgNCw0LzQsCDQt9CwINGB0LvQuNCy0LDQvdC1OiDigJ4lc+KAnCIKKworIzogbGliL21lcmdldG9vbC50Y2w6MzEwCittc2dpZCAiTWVyZ2UgdG9vbCBpcyBhbHJlYWR5IHJ1bm5pbmcsIHRlcm1pbmF0ZSBpdD8iCittc2dzdHIgItCf0YDQvtCz0YDQsNC80LDRgtCwINC30LAg0YHQu9C40LLQsNC90LUg0LLQtdGH0LUg0LUg0YHRgtCw0YDRgtC40YDQsNC90LAuINCU0LAg0LHRitC00LUg0LvQuCDQuNC30LrQu9GO0YfQtdC90LA/IgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDozMzAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiRXJyb3IgcmV0cmlldmluZyB2ZXJzaW9uczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorItCT0YDQtdGI0LrQsCDQv9GA0Lgg0LjQt9GC0LXQs9C70Y/QvdC10YLQviDQvdCwINCy0LXRgNGB0LjQuDpcbiIKKyIlcyIKKworIzogbGliL21lcmdldG9vbC50Y2w6MzUwCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIkNvdWxkIG5vdCBzdGFydCB0aGUgbWVyZ2UgdG9vbDpcbiIKKyJcbiIKKyIlcyIKK21zZ3N0ciAiIgorItCf0YDQvtCz0YDQsNC80LDRgtCwINC30LAg0YHQu9C40LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YLQsNGA0YLQuNGA0LDQvdCwOlxuIgorIlxuIgorIiVzIgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDozNTQKK21zZ2lkICJSdW5uaW5nIG1lcmdlIHRvb2wuLi4iCittc2dzdHIgItCh0YLQsNGA0YLQuNGA0LDQvdC1INC90LAg0L/RgNC+0LPRgNCw0LzQsNGC0LAg0LfQsCDRgdC70LjQstCw0L3QteKApiIKKworIzogbGliL21lcmdldG9vbC50Y2w6MzgyIGxpYi9tZXJnZXRvb2wudGNsOjM5MAorbXNnaWQgIk1lcmdlIHRvb2wgZmFpbGVkLiIKK21zZ3N0ciAi0JPRgNC10YjQutCwINCyINC/0YDQvtCz0YDQsNC80LDRgtCwINC30LAg0YHQu9C40LLQsNC90LUuIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoyMgorbXNnaWQgIkFkZCBUb29sIgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0LrQvtC80LDQvdC00LAiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjI4Cittc2dpZCAiQWRkIE5ldyBUb29sIENvbW1hbmQiCittc2dzdHIgItCU0L7QsdCw0LLRj9C90LUg0L3QsCDQutC+0LzQsNC90LTQsCIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MzQKK21zZ2lkICJBZGQgZ2xvYmFsbHkiCittc2dzdHIgItCT0LvQvtCx0LDQu9C90L4g0LTQvtCx0LDQstGP0L3QtSIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6NDYKK21zZ2lkICJUb29sIERldGFpbHMiCittc2dzdHIgItCf0L7QtNGA0L7QsdC90L7RgdGC0Lgg0LfQsCDQutC+0LzQsNC90LTQsNGC0LAiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjQ5Cittc2dpZCAiVXNlICcvJyBzZXBhcmF0b3JzIHRvIGNyZWF0ZSBhIHN1Ym1lbnUgdHJlZToiCittc2dzdHIgItCX0LAg0YHRitC30LTQsNCy0LDQvdC1INC90LAg0L/QvtC00LzQtdC90Y7RgtCwINC40LfQv9C+0LvQt9Cy0LDQudGC0LUg0LfQsCDRgNCw0LfQtNC10LvQuNGC0LXQuyDQt9C90LDQutCwIOKAni/igJw6IgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDo2MAorbXNnaWQgIkNvbW1hbmQ6IgorbXNnc3RyICLQmtC+0LzQsNC90LTQsDoiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjcxCittc2dpZCAiU2hvdyBhIGRpYWxvZyBiZWZvcmUgcnVubmluZyIKK21zZ3N0ciAi0J/RgNC10LTQuCDQuNC30L/RitC70L3QtdC90LjQtSDQtNCwINGB0LUg0LjQt9Cy0LXQttC00LAg0LTQuNCw0LvQvtCz0L7QsiDQv9GA0L7Qt9C+0YDQtdGGIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDo3NworbXNnaWQgIkFzayB0aGUgdXNlciB0byBzZWxlY3QgYSByZXZpc2lvbiAoc2V0cyAkUkVWSVNJT04pIgorbXNnc3RyICLQn9C+0YLRgNC10LHQuNGC0LXQu9GP0YIg0LTQsCDRg9C60LDQttC1INCy0LXRgNGB0LjRjyAo0LfQsNC00LDQstCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC70LjQstCw0YLQsCAkUkVWSVNJT04pIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDo4MgorbXNnaWQgIkFzayB0aGUgdXNlciBmb3IgYWRkaXRpb25hbCBhcmd1bWVudHMgKHNldHMgJEFSR1MpIgorbXNnc3RyICIiCisi0J/QvtGC0YDQtdCx0LjRgtC10LvRj9GCINC00LAg0YPQutCw0LbQtSDQtNC+0L/RitC70L3QuNGC0LXQu9C90Lgg0LDRgNCz0YPQvNC10L3RgtC4ICjQt9Cw0LTQsNCy0LDQvdC1INC90LAg0L/RgNC+0LzQtdC90LvQuNCy0LDRgtCwICRBUkdTKSIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6ODkKK21zZ2lkICJEb24ndCBzaG93IHRoZSBjb21tYW5kIG91dHB1dCB3aW5kb3ciCittc2dzdHIgItCR0LXQtyDQv9C+0LrQsNC30LLQsNC90LUg0L3QsCDQv9GA0L7Qt9C+0YDQtdGGINGBINC40LfRhdC+0LTQsCDQvtGCINC60L7QvNCw0L3QtNCw0YLQsCIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6OTQKK21zZ2lkICJSdW4gb25seSBpZiBhIGRpZmYgaXMgc2VsZWN0ZWQgKCRGSUxFTkFNRSBub3QgZW1wdHkpIgorbXNnc3RyICIiCisi0KHRgtCw0YDRgtC40YDQsNC90LUg0YHQsNC80L4g0YHQu9C10LQg0LjQt9Cx0L7RgCDQvdCwINGA0LDQt9C70LjQutCwICjQv9GA0L7QvNC10L3Qu9C40LLQsNGC0LAgJEZJTEVOQU1FINC90LUg0LUg0L/RgNCw0LfQvdCwKSIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MTE4Cittc2dpZCAiUGxlYXNlIHN1cHBseSBhIG5hbWUgZm9yIHRoZSB0b29sLiIKK21zZ3N0ciAi0JfQsNC00LDQudGC0LUg0LjQvNC1INC30LAg0LrQvtC80LDQvdC00LDRgtCwLiIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MTI2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVG9vbCAnJXMnIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAi0JrQvtC80LDQvdC00LDRgtCwIOKAniVz4oCcINCy0LXRh9C1INGB0YrRidC10YHRgtCy0YPQstCwLiIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MTQ4CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIkNvdWxkIG5vdCBhZGQgdG9vbDpcbiIKKyIlcyIKK21zZ3N0ciAiIgorItCa0L7QvNCw0L3QtNCw0YLQsCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LTQvtCx0LDQstC10L3QsDpcbiIKKyIlcyIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MTg3Cittc2dpZCAiUmVtb3ZlIFRvb2wiCittc2dzdHIgItCf0YDQtdC80LDRhdCy0LDQvdC1INC90LAg0LrQvtC80LDQvdC00LAiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjE5MworbXNnaWQgIlJlbW92ZSBUb29sIENvbW1hbmRzIgorbXNnc3RyICLQn9GA0LXQvNCw0YXQstCw0L3QtSDQvdCwINC60L7QvNCw0L3QtNC4IgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoxOTgKK21zZ2lkICJSZW1vdmUiCittc2dzdHIgItCf0YDQtdC80LDRhdCy0LDQvdC1IgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoyMzEKK21zZ2lkICIoQmx1ZSBkZW5vdGVzIHJlcG9zaXRvcnktbG9jYWwgdG9vbHMpIgorbXNnc3RyICIo0LrQvtC80LDQvdC00Lgg0LrRitC8INC70L7QutCw0LvQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg0YHQsCDQvtCx0L7Qt9C90LDRh9C10L3QuCDQsiDRgdC40L3RjNC+KSIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MjkyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUnVuIENvbW1hbmQ6ICVzIgorbXNnc3RyICLQmNC30L/RitC70L3QtdC90LjQtSDQvdCwINC60L7QvNCw0L3QtNCw0YLQsCDigJ4lc+KAnCIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MzA2Cittc2dpZCAiQXJndW1lbnRzIgorbXNnc3RyICLQkNGA0LPRg9C80LXQvdGC0LgiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjMzNiBsaWIvY2hlY2tvdXRfb3AudGNsOjU2NyBsaWIvbWVyZ2UudGNsOjE2NgorbXNnaWQgIlZpc3VhbGl6ZSIKK21zZ3N0ciAi0JLQuNC30YPQsNC70LjQt9Cw0YbQuNGPIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDozNDEKK21zZ2lkICJPSyIKK21zZ3N0ciAi0JTQvtCx0YDQtSIKKworIzogbGliL3NlYXJjaC50Y2w6NDgKK21zZ2lkICJGaW5kOiIKK21zZ3N0ciAi0KLRitGA0YHQtdC90LU6IgorCisjOiBsaWIvc2VhcmNoLnRjbDo1MAorbXNnaWQgIk5leHQiCittc2dzdHIgItCh0LvQtdC00LLQsNGJ0LAg0L/QvtGP0LLQsCIKKworIzogbGliL3NlYXJjaC50Y2w6NTEKK21zZ2lkICJQcmV2IgorbXNnc3RyICLQn9GA0LXQtNC40YjQvdCwINC/0L7Rj9Cy0LAiCisKKyM6IGxpYi9zZWFyY2gudGNsOjUyCittc2dpZCAiUmVnRXhwIgorbXNnc3RyICLQoNC10LMuINC40LfRgC4iCisKKyM6IGxpYi9zZWFyY2gudGNsOjU0Cittc2dpZCAiQ2FzZSIKK21zZ3N0ciAi0KDQtdCz0LjRgdGC0YrRgCIKKworIzogbGliL3Nob3J0Y3V0LnRjbDoyMSBsaWIvc2hvcnRjdXQudGNsOjYyCittc2dpZCAiQ2Fubm90IHdyaXRlIHNob3J0Y3V0OiIKK21zZ3N0ciAi0JrQu9Cw0LLQuNGI0L3QsNGC0LAg0LrQvtC80LHQuNC90LDRhtC40Y8g0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9Cw0LfQtdC90LA6IgorCisjOiBsaWIvc2hvcnRjdXQudGNsOjEzNworbXNnaWQgIkNhbm5vdCB3cml0ZSBpY29uOiIKK21zZ3N0ciAi0JjQutC+0L3QsNGC0LAg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9Cw0LfQtdC90LA6IgorCisjOiBsaWIvZGlmZi50Y2w6NjQKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiTm8gZGlmZmVyZW5jZXMgZGV0ZWN0ZWQuXG4iCisiXG4iCisiJXMgaGFzIG5vIGNoYW5nZXMuXG4iCisiXG4iCisiVGhlIG1vZGlmaWNhdGlvbiBkYXRlIG9mIHRoaXMgZmlsZSB3YXMgdXBkYXRlZCBieSBhbm90aGVyIGFwcGxpY2F0aW9uLCBidXQgIgorInRoZSBjb250ZW50IHdpdGhpbiB0aGUgZmlsZSB3YXMgbm90IGNoYW5nZWQuXG4iCisiXG4iCisiQSByZXNjYW4gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHN0YXJ0ZWQgdG8gZmluZCBvdGhlciBmaWxlcyB3aGljaCBtYXkgaGF2ZSAiCisidGhlIHNhbWUgc3RhdGUuIgorbXNnc3RyICIiCisi0J3QtSDRgdCwINC+0YLQutGA0LjRgtC4INGA0LDQt9C70LjQutC4LlxuIgorIlxuIgorItCd0Y/QvNCwINC/0YDQvtC80LXQvdC4INCyIOKAniVz4oCcLlxuIgorIlxuIgorItCS0YDQtdC80LXRgtC+INC90LAg0L/RgNC+0LzRj9C90LAg0L3QsCDRhNCw0LnQu9CwINC1INCx0LjQuyDQt9Cw0LTQsNC00LXQvSDQvtGCINC00YDRg9Cz0LAg0L/RgNC+0LPRgNCw0LzQsCwg0L3QviDRgdGK0LTRitGA0LbQsNC90LjQtdGC0L4gIgorItC80YMg0L3QtSDQtSDQv9GA0L7QvNC10L3QtdC90L4uXG4iCisiXG4iCisi0JDQstGC0L7QvNCw0YLQuNGH0L3QviDRidC1INC30LDQv9C+0YfQvdC1INC90L7QstCwINC/0YDQvtCy0LXRgNC60LAg0LTQsNC70Lgg0L3Rj9C80LAg0LTRgNGD0LPQuCDRhNCw0LnQu9C+0LLQtSDQsiDRgtC+0LLQsCAiCisi0YHRitGB0YLQvtGP0L3QuNC1LiIKKworIzogbGliL2RpZmYudGNsOjEwNAorIywgdGNsLWZvcm1hdAorbXNnaWQgIkxvYWRpbmcgZGlmZiBvZiAlcy4uLiIKK21zZ3N0ciAi0JfQsNGA0LXQttC00LDQvdC1INC90LAg0YDQsNC30LvQuNC60LjRgtC1INCyIOKAniVz4oCc4oCmIgorCisjOiBsaWIvZGlmZi50Y2w6MTI1Cittc2dpZCAiIgorIkxPQ0FMOiBkZWxldGVkXG4iCisiUkVNT1RFOlxuIgorbXNnc3RyICIiCisi0JvQntCa0JDQm9Cd0J46INC40LfRgtGA0LjRglxuIgorItCe0KLQlNCQ0JvQldCn0JXQndCeOlxuIgorCisjOiBsaWIvZGlmZi50Y2w6MTMwCittc2dpZCAiIgorIlJFTU9URTogZGVsZXRlZFxuIgorIkxPQ0FMOlxuIgorbXNnc3RyICIiCisi0J7QotCU0JDQm9CV0KfQldCd0J46INC40LfRgtGA0LjRglxuIgorItCb0J7QmtCQ0JvQndCeOlxuIgorCisjOiBsaWIvZGlmZi50Y2w6MTM3Cittc2dpZCAiTE9DQUw6XG4iCittc2dzdHIgItCb0J7QmtCQ0JvQndCeOlxuIgorCisjOiBsaWIvZGlmZi50Y2w6MTQwCittc2dpZCAiUkVNT1RFOlxuIgorbXNnc3RyICLQntCi0JTQkNCb0JXQp9CV0J3QnjpcbiIKKworIzogbGliL2RpZmYudGNsOjIwMiBsaWIvZGlmZi50Y2w6MzM3CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGRpc3BsYXkgJXMiCittc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LrQsNC30LDQvSDRhNCw0LnQu9GK0YIg4oCeJXPigJwiCisKKyM6IGxpYi9kaWZmLnRjbDoyMDMKK21zZ2lkICJFcnJvciBsb2FkaW5nIGZpbGU6IgorbXNnc3RyICLQk9GA0LXRiNC60LAg0L/RgNC4INC30LDRgNC10LbQtNCw0L3QtSDQvdCwINGE0LDQudC7OiIKKworIzogbGliL2RpZmYudGNsOjIxMAorbXNnaWQgIkdpdCBSZXBvc2l0b3J5IChzdWJwcm9qZWN0KSIKK21zZ3N0ciAi0KXRgNCw0L3QuNC70LjRidC1INC90LAgR2l0ICjQv9C+0LTQv9GA0L7QtdC60YIpIgorCisjOiBsaWIvZGlmZi50Y2w6MjIyCittc2dpZCAiKiBCaW5hcnkgZmlsZSAobm90IHNob3dpbmcgY29udGVudCkuIgorbXNnc3RyICLigYMg0JTQstC+0LjRh9C10L0g0YTQsNC50LsgKNGB0YrQtNGK0YDQttCw0L3QuNC10YLQviDQvdC1INGB0LUg0L/QvtC60LDQt9Cy0LApLiIKKworIzogbGliL2RpZmYudGNsOjIyNworIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyIqIFVudHJhY2tlZCBmaWxlIGlzICVkIGJ5dGVzLlxuIgorIiogU2hvd2luZyBvbmx5IGZpcnN0ICVkIGJ5dGVzLlxuIgorbXNnc3RyICIiCisi4oGDINCd0LXRgdC70LXQtNC10L3QuNGP0YIg0YTQsNC50Lsg0LUgJWQg0LHQsNC50YLQsC5cbiIKKyLigYMg0J/QvtC60LDQt9Cy0LDRgiDRgdC1INGB0LDQvNC+INC/0YrRgNCy0LjRgtC1ICVkINCx0LDQudGC0LAuXG4iCisKKyM6IGxpYi9kaWZmLnRjbDoyMzMKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKiBVbnRyYWNrZWQgZmlsZSBjbGlwcGVkIGhlcmUgYnkgJXMuXG4iCisiKiBUbyBzZWUgdGhlIGVudGlyZSBmaWxlLCB1c2UgYW4gZXh0ZXJuYWwgZWRpdG9yLlxuIgorbXNnc3RyICIiCisiXG4iCisi4oGDINCd0LXRgdC70LXQtNC10L3QuNGP0YIg0YTQsNC50Lsg0LUg0L7RgtGA0Y/Qt9Cw0L0g0LTQvtGC0YPQuiAlcy5cbiIKKyLigYMg0JjQt9C/0L7Qu9C30LLQsNC50YLQtSDQstGK0L3RiNC10L0g0YDQtdC00LDQutGC0L7RgCwg0LfQsCDQtNCwINCy0LjQtNC40YLQtSDRhtC10LvQuNGPINGE0LDQudC7LlxuIgorCisjOiBsaWIvZGlmZi50Y2w6MzM4IGxpYi9ibGFtZS50Y2w6MTEyOAorbXNnaWQgIkVycm9yIGxvYWRpbmcgZGlmZjoiCittc2dzdHIgItCT0YDQtdGI0LrQsCDQv9GA0Lgg0LfQsNGA0LXQttC00LDQvdC1INC90LAg0YDQsNC30LvQuNC60LA6IgorCisjOiBsaWIvZGlmZi50Y2w6NTU3Cittc2dpZCAiRmFpbGVkIHRvIHVuc3RhZ2Ugc2VsZWN0ZWQgaHVuay4iCittc2dzdHIgItCY0LfQsdGA0LDQvdC+0YLQviDQv9Cw0YDRh9C1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30LLQsNC00LXQvdC+INC+0YIg0LjQvdC00LXQutGB0LAuIgorCisjOiBsaWIvZGlmZi50Y2w6NTY0Cittc2dpZCAiRmFpbGVkIHRvIHN0YWdlIHNlbGVjdGVkIGh1bmsuIgorbXNnc3RyICLQmNC30LHRgNCw0L3QvtGC0L4g0L/QsNGA0YfQtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LTQvtCx0LDQstC10L0g0LrRitC8INC40L3QtNC10LrRgdCwLiIKKworIzogbGliL2RpZmYudGNsOjY0MworbXNnaWQgIkZhaWxlZCB0byB1bnN0YWdlIHNlbGVjdGVkIGxpbmUuIgorbXNnc3RyICLQmNC30LHRgNCw0L3QuNGP0YIg0YDQtdC0INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30LLQsNC00LXQvSDQvtGCINC40L3QtNC10LrRgdCwLiIKKworIzogbGliL2RpZmYudGNsOjY1MQorbXNnaWQgIkZhaWxlZCB0byBzdGFnZSBzZWxlY3RlZCBsaW5lLiIKK21zZ3N0ciAi0JjQt9Cx0YDQsNC90LjRj9GCINGA0LXQtCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LTQvtCx0LDQstC10L0g0LrRitC8INC40L3QtNC10LrRgdCwLiIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoyOSBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjM0Cittc2dpZCAiRGVsZXRlIEJyYW5jaCBSZW1vdGVseSIKK21zZ3N0ciAi0JjQt9GC0YDQuNCy0LDQvdC1INC90LAg0L7RgtC00LDQu9C10YfQtdC90LjRjyDQutC70L7QvSIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDo0OAorbXNnaWQgIkZyb20gUmVwb3NpdG9yeSIKK21zZ3N0ciAi0J7RgiDRhdGA0LDQvdC40LvQuNGJ0LUiCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6ODgKK21zZ2lkICJCcmFuY2hlcyIKK21zZ3N0ciAi0JrQu9C+0L3QvtCy0LUiCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MTEwCittc2dpZCAiRGVsZXRlIE9ubHkgSWYiCittc2dzdHIgItCY0LfRgtGA0LjQstCw0L3QtSwg0YHQsNC80L4g0LDQutC+IgorCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjExMgorbXNnaWQgIk1lcmdlZCBJbnRvOiIKK21zZ3N0ciAi0KHQu9GP0YIg0LI6IgorCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjEyMCBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6NTMKK21zZ2lkICJBbHdheXMgKERvIG5vdCBwZXJmb3JtIG1lcmdlIGNoZWNrcykiCittc2dzdHIgItCS0LjQvdCw0LPQuCAo0LHQtdC3INC/0YDQvtCy0LXRgNC60LAg0LfQsCDRgdC70LjQstCw0L3QtSkiCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MTUzCittc2dpZCAiQSBicmFuY2ggaXMgcmVxdWlyZWQgZm9yICdNZXJnZWQgSW50bycuIgorbXNnc3RyICLQl9CwINC00LDQvdC90LjRgtC1IOKAntCh0LvRj9GCINCy4oCcINC1INC90LXQvtCx0YXQvtC00LjQvNC+INC00LAg0LfQsNC00LDQtNC10YLQtSDQutC70L7QvS4iCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MTg1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgYnJhbmNoZXMgYXJlIG5vdCBjb21wbGV0ZWx5IG1lcmdlZCBpbnRvICVzOlxuIgorIlxuIgorIiAtICVzIgorbXNnc3RyICIiCisi0KHQu9C10LTQvdC40YLQtSDQutC70L7QvdC4INC90LUg0YHQsCDRgdC70LXRgtC4INC90LDQv9GK0LvQvdC+INCyIOKAniVz4oCcOlxuIgorIlxuIgorIiDigYMgJXMiCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MTkwCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIk9uZSBvciBtb3JlIG9mIHRoZSBtZXJnZSB0ZXN0cyBmYWlsZWQgYmVjYXVzZSB5b3UgaGF2ZSBub3QgZmV0Y2hlZCB0aGUgIgorIm5lY2Vzc2FyeSBjb21taXRzLiAgVHJ5IGZldGNoaW5nIGZyb20gJXMgZmlyc3QuIgorbXNnc3RyICIiCisi0J/QvtC90LUg0LXQtNC90LAg0L7RgiDQv9GA0L7QsdC40YLQtSDQt9CwINGB0LvQuNCy0LDQvdC1INC1INC90LXRg9GB0L/QtdGI0L3QsCwg0LfQsNGJ0L7RgtC+INC90LUg0YHRgtC1INC00L7RgdGC0LDQstC40LvQuCDQstGB0LjRh9C60LggIgorItC90LXQvtCx0YXQvtC00LjQvNC4INC/0L7QtNCw0LLQsNC90LjRjy4g0J/RgNC+0LHQstCw0LnRgtC1INC/0YrRgNCy0L4g0LTQsCDQtNC+0YHRgtCw0LLQuNGC0LUg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQvtGCIOKAniVz4oCcLiIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoyMDgKK21zZ2lkICJQbGVhc2Ugc2VsZWN0IG9uZSBvciBtb3JlIGJyYW5jaGVzIHRvIGRlbGV0ZS4iCittc2dzdHIgItCY0LfQsdC10YDQtdGC0LUg0L/QvtC90LUg0LXQtNC40L0g0LrQu9C+0L0g0LfQsCDQuNC30YLRgNC40LLQsNC90LUuIgorCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjIxOCBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6MTE1Cittc2dpZCAiIgorIlJlY292ZXJpbmcgZGVsZXRlZCBicmFuY2hlcyBpcyBkaWZmaWN1bHQuXG4iCisiXG4iCisiRGVsZXRlIHRoZSBzZWxlY3RlZCBicmFuY2hlcz8iCittc2dzdHIgIiIKKyLQktGK0LfRgdGC0LDQvdC+0LLRj9Cy0LDQvdC10YLQviDQvdCwINC40LfRgtGA0LjRgtC4INC60LvQvtC90Lgg0LzQvtC20LUg0LTQsCDQtSDRgtGA0YPQtNC90L4uXG4iCisiXG4iCisi0KHQuNCz0YPRgNC90Lgg0LvQuCDRgdGC0LUsINGH0LUg0LjRgdC60LDRgtC1INC00LAg0YLRgNC40LXRgtC1PyIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoyMjcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJEZWxldGluZyBicmFuY2hlcyBmcm9tICVzIgorbXNnc3RyICLQmNC30YLRgNC40LLQsNC90LUg0L3QsCDQutC70L7QvdC4INC+0YIg4oCeJXPigJwiCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MzAwCittc2dpZCAiTm8gcmVwb3NpdG9yeSBzZWxlY3RlZC4iCittc2dzdHIgItCd0LUg0LUg0LjQt9Cx0YDQsNC90L4g0YXRgNCw0L3QuNC70LjRidC1LiIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDozMDUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJTY2FubmluZyAlcy4uLiIKK21zZ3N0ciAi0J/RgNC10YLRitGA0YHQstCw0L3QtSDQvdCwIOKAniVz4oCc4oCmIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjMyCittc2dpZCAiR2l0IEd1aSIKK21zZ3N0ciAi0JPQn9CYINC90LAgR2l0IgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjkxIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6Mzk2Cittc2dpZCAiQ3JlYXRlIE5ldyBSZXBvc2l0b3J5IgorbXNnc3RyICLQodGK0LfQtNCw0LLQsNC90LUg0L3QsCDQvdC+0LLQviDRhdGA0LDQvdC40LvQuNGJ0LUiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTcKK21zZ2lkICJOZXcuLi4iCittc2dzdHIgItCd0L7QstC+4oCmIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEwNCBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQ4MAorbXNnaWQgIkNsb25lIEV4aXN0aW5nIFJlcG9zaXRvcnkiCittc2dzdHIgItCa0LvQvtC90LjRgNCw0L3QtSDQvdCwINGB0YrRidC10YHRgtCy0YPQstCw0YnQviDRhdGA0LDQvdC40LvQuNGJ0LUiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTE1Cittc2dpZCAiQ2xvbmUuLi4iCittc2dzdHIgItCa0LvQvtC90LjRgNCw0L3QteKApiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMjIgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMDE5Cittc2dpZCAiT3BlbiBFeGlzdGluZyBSZXBvc2l0b3J5IgorbXNnc3RyICLQntGC0LLQsNGA0Y/QvdC1INC90LAg0YHRitGJ0LXRgdGC0LLRg9Cy0LDRidC+INGF0YDQsNC90LjQu9C40YnQtSIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMjgKK21zZ2lkICJPcGVuLi4uIgorbXNnc3RyICLQntGC0LLQsNGA0Y/QvdC14oCmIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjE0MQorbXNnaWQgIlJlY2VudCBSZXBvc2l0b3JpZXMiCittc2dzdHIgItCh0LrQvtGA0L4g0L/QvtC70LfQstCw0L3QuCIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxNDcKK21zZ2lkICJPcGVuIFJlY2VudCBSZXBvc2l0b3J5OiIKK21zZ3N0ciAi0J7RgtCy0LDRgNGP0L3QtSDQvdCwINGF0YDQsNC90LjQu9C40YnQtSDQv9C+0LvQt9Cy0LDQvdC+INC90LDRgdC60L7RgNC+OiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDozMTUgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDozMjIKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MzI5CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGNyZWF0ZSByZXBvc2l0b3J5ICVzOiIKK21zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INGB0YrQt9C00LDQstCw0L3QtSDQvdCwINGF0YDQsNC90LjQu9C40YnQtdGC0L4g4oCeJXPigJw6IgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjM5MSBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MzMKK21zZ2lkICJDcmVhdGUiCittc2dzdHIgItCh0YrQt9C00LDQstCw0L3QtSIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo0MDEKK21zZ2lkICJEaXJlY3Rvcnk6IgorbXNnc3RyICLQlNC40YDQtdC60YLQvtGA0LjRjzoiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDMxIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTUyCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEwNTMKK21zZ2lkICJHaXQgUmVwb3NpdG9yeSIKK21zZ3N0ciAi0KXRgNCw0L3QuNC70LjRidC1INC90LAgR2l0IgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQ1NgorIywgdGNsLWZvcm1hdAorbXNnaWQgIkRpcmVjdG9yeSAlcyBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgItCS0LXRh9C1INGB0YrRidC10YHRgtCy0YPQstCwINC00LjRgNC10LrRgtC+0YDQuNGPIOKAniVz4oCcLiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo0NjAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJGaWxlICVzIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAi0JLQtdGH0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAg0YTQsNC50Lsg4oCeJXPigJwuIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQ3NQorbXNnaWQgIkNsb25lIgorbXNnc3RyICLQmtC70L7QvdC40YDQsNC90LUiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDg4Cittc2dpZCAiU291cmNlIExvY2F0aW9uOiIKK21zZ3N0ciAi0JDQtNGA0LXRgSDQvdCwINC40LfRgtC+0YfQvdC40LrQsDoiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDk3Cittc2dpZCAiVGFyZ2V0IERpcmVjdG9yeToiCittc2dzdHIgItCm0LXQu9C10LLQsCDQtNC40YDQtdC60YLQvtGA0LjRjzoiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTA3Cittc2dpZCAiQ2xvbmUgVHlwZToiCittc2dzdHIgItCS0LjQtCDQutC70L7QvdC40YDQsNC90LU6IgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjUxMgorbXNnaWQgIlN0YW5kYXJkIChGYXN0LCBTZW1pLVJlZHVuZGFudCwgSGFyZGxpbmtzKSIKK21zZ3N0ciAi0KHRgtCw0L3QtNCw0YDRgtC90L4gKNCx0YrRgNC30L4sINGH0LDRgdGC0LjRh9C90L4g0YHQv9C+0LTQtdC70Y/QvdC1INC90LAg0YTQsNC50LvQvtCy0LUsINGC0LLRitGA0LTQuCDQstGA0YrQt9C60LgpIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjUxNworbXNnaWQgIkZ1bGwgQ29weSAoU2xvd2VyLCBSZWR1bmRhbnQgQmFja3VwKSIKK21zZ3N0ciAi0J/RitC70L3QviAo0LHQsNCy0L3Qviwg0L/RitC70L3QvtGG0LXQvdC90L4g0YDQtdC30LXRgNCy0L3QviDQutC+0L/QuNC1KSIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1MjIKK21zZ2lkICJTaGFyZWQgKEZhc3Rlc3QsIE5vdCBSZWNvbW1lbmRlZCwgTm8gQmFja3VwKSIKK21zZ3N0ciAi0KHQv9C+0LTQtdC70LXQvdC+ICjQvdCw0Lkt0LHRitGA0LfQviwg0L3QtSDRgdC1INC/0YDQtdC/0L7RgNGK0YfQstCwLCDQvdC1INC/0YDQsNCy0Lgg0YDQtdC30LXRgNCy0L3QviDQutC+0L/QuNC1KSIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1NTggbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo2MDUKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NzUxIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6ODIxCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEwNTkgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMDY3CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiTm90IGEgR2l0IHJlcG9zaXRvcnk6ICVzIgorbXNnc3RyICLQotC+0LLQsCDQvdC1INC1INGF0YDQsNC90LjQu9C40YnQtSDQvdCwIEdpdDogJXMiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTk0Cittc2dpZCAiU3RhbmRhcmQgb25seSBhdmFpbGFibGUgZm9yIGxvY2FsIHJlcG9zaXRvcnkuIgorbXNnc3RyICLQodCw0LzQviDQu9C+0LrQsNC70L3QuCDRhdGA0LDQvdC40LvQuNGJ0LAg0LzQvtCz0LDRgiDQtNCwINGB0LUg0LrQu9C+0L3QuNGA0LDRgiDRgdGC0LDQvdC00LDRgNGC0L3QviIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1OTgKK21zZ2lkICJTaGFyZWQgb25seSBhdmFpbGFibGUgZm9yIGxvY2FsIHJlcG9zaXRvcnkuIgorbXNnc3RyICLQodCw0LzQviDQu9C+0LrQsNC70L3QuCDRhdGA0LDQvdC40LvQuNGJ0LAg0LzQvtCz0LDRgiDQtNCwINGB0LUg0LrQu9C+0L3QuNGA0LDRgiDRgdC/0L7QtNC10LvQtdC90L4iCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NjE5CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiTG9jYXRpb24gJXMgYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICLQktC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCDQvNC10YHRgtC+0L/QvtC70L7QttC10L3QuNC10YLQviDigJ4lc+KAnC4iCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NjMwCittc2dpZCAiRmFpbGVkIHRvIGNvbmZpZ3VyZSBvcmlnaW4iCittc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDQvdCw0YHRgtGA0L7QudCy0LDQvdC1INC90LAg0YXRgNCw0L3QuNC70LjRidC10YLQvi3QuNC30YLQvtGH0L3QuNC6IgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjY0MgorbXNnaWQgIkNvdW50aW5nIG9iamVjdHMiCittc2dzdHIgItCf0YDQtdCx0YDQvtGP0LLQsNC90LUg0L3QsCDQvtCx0LXQutGC0LgiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NjQzCittc2dpZCAiYnVja2V0cyIKK21zZ3N0ciAi0LrQu9C10YLQutC4IgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjY2NworIywgdGNsLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBjb3B5IG9iamVjdHMvaW5mby9hbHRlcm5hdGVzOiAlcyIKK21zZ3N0ciAi0J7QsdC10LrRgtC40YLQtS/QuNC90YTQvtGA0LzQsNGG0LjRj9GC0LAv0YHQuNC90L7QvdC40LzQuNGC0LUg0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDQutC+0L/QuNGA0LDQvdC4OiAlcyIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo3MDMKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJOb3RoaW5nIHRvIGNsb25lIGZyb20gJXMuIgorbXNnc3RyICLQndGP0LzQsCDQutCw0LrQstC+INC00LAg0YHQtSDQutC70L7QvdC40YDQsCDQvtGCIOKAniVz4oCcLiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo3MDUgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo5MTkKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTMxCittc2dpZCAiVGhlICdtYXN0ZXInIGJyYW5jaCBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQuIgorbXNnc3RyICLQntGB0L3QvtCy0L3QuNGP0YIg0LrQu9C+0L0g4oCUIOKAnm1hc3RlcuKAnCDQvdC1INC1INC40L3QuNGG0LjQsNC70LjQt9C40YDQsNC9LiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo3MTgKK21zZ2lkICJIYXJkbGlua3MgYXJlIHVuYXZhaWxhYmxlLiAgRmFsbGluZyBiYWNrIHRvIGNvcHlpbmcuIgorbXNnc3RyICLQndC1INGB0LUg0L/QvtC00LTRitGA0LbQsNGCINGC0LLRitGA0LTQuCDQstGA0YrQt9C60LguINCf0YDQtdC80LjQvdCw0LLQsCDRgdC1INC60YrQvCDQutC+0L/QuNGA0LDQvdC1LiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo3MzAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJDbG9uaW5nIGZyb20gJXMiCittc2dzdHIgItCa0LvQvtC90LjRgNCw0L3QtSDQvdCwIOKAniVz4oCcIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjc2MQorbXNnaWQgIkNvcHlpbmcgb2JqZWN0cyIKK21zZ3N0ciAi0JrQvtC/0LjRgNCw0L3QtSDQvdCwINC+0LHQtdC60YLQuCIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo3NjIKK21zZ2lkICJLaUIiCittc2dzdHIgIktpQiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo3ODYKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gY29weSBvYmplY3Q6ICVzIgorbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0LrQvtC/0LjRgNCw0L3QtSDQvdCwINC+0LHQtdC60YI6ICVzIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjc5NgorbXNnaWQgIkxpbmtpbmcgb2JqZWN0cyIKK21zZ3N0ciAi0KHRitC30LTQsNCy0LDQvdC1INC90LAg0LLRgNGK0LfQutC4INC60YrQvCDQvtCx0LXQutGC0LjRgtC1IgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjc5NworbXNnaWQgIm9iamVjdHMiCittc2dzdHIgItC+0LHQtdC60YLQuCIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo4MDUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gaGFyZGxpbmsgb2JqZWN0OiAlcyIKK21zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INGB0YrQt9C00LDQstCw0L3QtSDQvdCwINGC0LLRitGA0LTQsCDQstGA0YrQt9C60LAg0LrRitC8INC+0LHQtdC60YI6ICVzIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjg2MAorbXNnaWQgIkNhbm5vdCBmZXRjaCBicmFuY2hlcyBhbmQgb2JqZWN0cy4gIFNlZSBjb25zb2xlIG91dHB1dCBmb3IgZGV0YWlscy4iCittc2dzdHIgIiIKKyLQmtC70L7QvdC40YLQtSDQuCDQvtCx0LXQutGC0LjRgtC1INC90LUg0LzQvtCz0LDRgiDQtNCwINCx0YrQtNCw0YIg0LjQt9GC0LXQs9C70LXQvdC4LiDQl9CwINC/0L7QstC10YfQtSDQuNC90YTQvtGA0LzQsNGG0LjRjyAiCisi0L/QvtCz0LvQtdC00L3QtdGC0LUg0LjQt9GF0L7QtNCwINC90LAg0LrQvtC90LfQvtC70LDRgtCwLiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo4NzEKK21zZ2lkICJDYW5ub3QgZmV0Y2ggdGFncy4gIFNlZSBjb25zb2xlIG91dHB1dCBmb3IgZGV0YWlscy4iCittc2dzdHIgIiIKKyLQldGC0LjQutC10YLQuNGC0LUg0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDQuNC30YLQtdCz0LvQtdC90LguINCX0LAg0L/QvtCy0LXRh9C1INC40L3RhNC+0YDQvNCw0YbQuNGPINC/0L7Qs9C70LXQtNC90LXRgtC1ICIKKyLQuNC30YXQvtC00LAg0L3QsCDQutC+0L3Qt9C+0LvQsNGC0LAuIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjg5NQorbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgSEVBRC4gIFNlZSBjb25zb2xlIG91dHB1dCBmb3IgZGV0YWlscy4iCittc2dzdHIgIiIKKyLQktGK0YDRhdGK0YIgSEVBRCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7Qv9GA0LXQtNC10LvQtdC9LiDQl9CwINC/0L7QstC10YfQtSDQuNC90YTQvtGA0LzQsNGG0LjRjyDQv9C+0LPQu9C10LTQvdC10YLQtSAiCisi0LjQt9GF0L7QtNCwINC90LAg0LrQvtC90LfQvtC70LDRgtCwLiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo5MDQKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gY2xlYW51cCAlcyIKK21zZ3N0ciAi0J3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNGH0LjRgdGC0Lgg4oCeJXPigJwiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTEwCittc2dpZCAiQ2xvbmUgZmFpbGVkLiIKK21zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC60LvQvtC90LjRgNCw0L3QtS4iCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTE3Cittc2dpZCAiTm8gZGVmYXVsdCBicmFuY2ggb2J0YWluZWQuIgorbXNnc3RyICLQndC1INC1INC/0L7Qu9GD0YfQtdC9INC60LvQvtC9INC/0L4g0L/QvtC00YDQsNC30LHQuNGA0LDQvdC1LiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo5MjgKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgcmVzb2x2ZSAlcyBhcyBhIGNvbW1pdC4iCittc2dzdHIgItCd0Y/QvNCwINC/0L7QtNCw0LLQsNC90LUg0L7RgtCz0L7QstCw0YDRj9GJ0L4g0L3QsCDigJ4lc+KAnC4iCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTQwCittc2dpZCAiQ3JlYXRpbmcgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgItCh0YrQt9C00LDQstCw0L3QtSDQvdCwINGA0LDQsdC+0YLQvdCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo5NDEgbGliL2luZGV4LnRjbDo3MCBsaWIvaW5kZXgudGNsOjEzNgorIzogbGliL2luZGV4LnRjbDoyMDcKK21zZ2lkICJmaWxlcyIKK21zZ3N0ciAi0YTQsNC50LvQvtCy0LUiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTcwCittc2dpZCAiSW5pdGlhbCBmaWxlIGNoZWNrb3V0IGZhaWxlZC4iCittc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDQv9GK0YDQstC+0L3QsNGH0LDQu9C90L4g0LjQt9GC0LXQs9C70Y/QvdC1LiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMDE0Cittc2dpZCAiT3BlbiIKK21zZ3N0ciAi0J7RgtCy0LDRgNGP0L3QtSIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMDI0Cittc2dpZCAiUmVwb3NpdG9yeToiCittc2dzdHIgItCl0YDQsNC90LjQu9C40YnQtToiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTA3MworIywgdGNsLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBvcGVuIHJlcG9zaXRvcnkgJXM6IgorbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0L7RgtCy0LDRgNGP0L3QtSDQvdCwINGF0YDQsNC90LjQu9C40YnQtdGC0L4g4oCeJXPigJw6IgorCisjOiBsaWIvYWJvdXQudGNsOjI2Cittc2dpZCAiZ2l0LWd1aSAtIGEgZ3JhcGhpY2FsIHVzZXIgaW50ZXJmYWNlIGZvciBHaXQuIgorbXNnc3RyICJnaXQtZ3VpIOKAlCDQs9GA0LDRhNC40YfQtdC9INC40L3RgtC10YDRhNC10LnRgSDQt9CwIEdpdC4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6ODUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJGZXRjaGluZyAlcyBmcm9tICVzIgorbXNnc3RyICLQlNC+0YHRgtCw0LLRj9C90LUg0L3QsCDigJ4lc+KAnCDQvtGCIOKAniVz4oCcIgorCisjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjEzMworIywgdGNsLWZvcm1hdAorbXNnaWQgImZhdGFsOiBDYW5ub3QgcmVzb2x2ZSAlcyIKK21zZ3N0ciAi0YTQsNGC0LDQu9C90LAg0LPRgNC10YjQutCwOiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LrRgNC40LUiCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6MTc1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiQnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICLQmtC70L7QvdGK0YIg4oCeJXPigJwg0L3QtSDRgdGK0YnQtdGB0YLQstGD0LLQsC4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6MTk0CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGNvbmZpZ3VyZSBzaW1wbGlmaWVkIGdpdC1wdWxsIGZvciAnJXMnLiIKK21zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC90LDRgdGC0YDQvtC50LLQsNC90LUg0L3QsCDQvtC/0YDQvtGB0YLQtdC9IGdpdC1wdWxsINC30LAg4oCeJXPigJwuIgorCisjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjIyOQorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJCcmFuY2ggJyVzJyBhbHJlYWR5IGV4aXN0cy5cbiIKKyJcbiIKKyJJdCBjYW5ub3QgZmFzdC1mb3J3YXJkIHRvICVzLlxuIgorIkEgbWVyZ2UgaXMgcmVxdWlyZWQuIgorbXNnc3RyICIiCisi0JrQu9C+0L3RitGCIOKAniVz4oCcINGB0YrRidC10YHRgtCy0YPQstCwLlxuIgorIlxuIgorItCi0L7QuSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YLRgNC40LLQuNCw0LvQvdC+INC/0YDQtdCy0YrRgNGC0Y/QvSDQtNC+ICVzLlxuIgorItCd0LXQvtCx0YXQvtC00LjQvNC+INC1INGB0LvQuNCy0LDQvdC1LiIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDoyNDMKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJNZXJnZSBzdHJhdGVneSAnJXMnIG5vdCBzdXBwb3J0ZWQuIgorbXNnc3RyICLQodGC0YDQsNGC0LXQs9C40Y8g0LfQsCDRgdC70LjQstCw0L3QtSAg4oCeJXPigJwg0L3QtSDRgdC1INC/0L7QtNC00YrRgNC20LAuIgorCisjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjI2MgorIywgdGNsLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgJyVzJy4iCittc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDQvtCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwIOKAniVz4oCcLiIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDoyNzQKK21zZ2lkICJTdGFnaW5nIGFyZWEgKGluZGV4KSBpcyBhbHJlYWR5IGxvY2tlZC4iCittc2dzdHIgItCY0L3QtNC10LrRgdGK0YIg0LLQtdGH0LUg0LUg0LfQsNC60LvRjtGH0LXQvS4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6Mjg5Cittc2dpZCAiIgorIkxhc3Qgc2Nhbm5lZCBzdGF0ZSBkb2VzIG5vdCBtYXRjaCByZXBvc2l0b3J5IHN0YXRlLlxuIgorIlxuIgorIkFub3RoZXIgR2l0IHByb2dyYW0gaGFzIG1vZGlmaWVkIHRoaXMgcmVwb3NpdG9yeSBzaW5jZSB0aGUgbGFzdCBzY2FuLiAgQSAiCisicmVzY2FuIG11c3QgYmUgcGVyZm9ybWVkIGJlZm9yZSB0aGUgY3VycmVudCBicmFuY2ggY2FuIGJlIGNoYW5nZWQuXG4iCisiXG4iCisiVGhlIHJlc2NhbiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc3RhcnRlZCBub3cuXG4iCittc2dzdHIgIiIKKyLQodGK0YHRgtC+0Y/QvdC40LXRgtC+INC/0YDQuCDQv9C+0YHQu9C10LTQvdCw0YLQsCDQv9GA0L7QstC10YDQutCwINC90LUg0L7RgtCz0L7QstCw0YDRjyDQvdCwINGB0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L3QsCAiCisi0YXRgNCw0L3QuNC70LjRidC10YLQvi5cbiIKKyJcbiIKKyLQndGP0LrQvtC5INC00YDRg9CzINC/0YDQvtGG0LXRgSDQt9CwIEdpdCDQtSDQv9GA0L7QvNC10L3QuNC7INGF0YDQsNC90LjQu9C40YnQtdGC0L4g0LzQtdC20LTRg9Cy0YDQtdC80LXQvdC90L4uINCh0YrRgdGC0L7Rj9C90LjQtdGC0L4gIgorItGC0YDRj9Cx0LLQsCDQtNCwINCx0YrQtNC1INC/0YDQvtCy0LXRgNC10L3Qviwg0L/RgNC10LTQuCDQtNCwINGB0LUg0L/RgNC10LzQuNC90LUg0LrRitC8INC90L7QsiDQutC70L7QvS5cbiIKKyJcbiIKKyLQkNCy0YLQvtC80LDRgtC40YfQvdC+INGJ0LUg0LfQsNC/0L7Rh9C90LUg0L3QvtCy0LAg0L/RgNC+0LLQtdGA0LrQsC5cbiIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDozNDUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJVcGRhdGluZyB3b3JraW5nIGRpcmVjdG9yeSB0byAnJXMnLi4uIgorbXNnc3RyICLQoNCw0LHQvtGC0L3QsNGC0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0YHQtSDQv9GA0LjQstC10LbQtNCwINC60YrQvCDigJ4lc+KAnOKApiIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDozNDYKK21zZ2lkICJmaWxlcyBjaGVja2VkIG91dCIKK21zZ3N0ciAi0YTQsNC50LvQsCDRgdCwINC40LfRgtC10LPQu9C10L3QuCIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDozNzYKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJBYm9ydGVkIGNoZWNrb3V0IG9mICclcycgKGZpbGUgbGV2ZWwgbWVyZ2luZyBpcyByZXF1aXJlZCkuIgorbXNnc3RyICIiCisi0J/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LjQt9GC0LXQs9C70Y/QvdC10YLQviDQvdCwIOKAniVz4oCcICjQvdC10L7QsdGF0L7QtNC40LzQviDQtSDQv9C+0YTQsNC50LvQvtCy0L4g0YHQu9C40LLQsNC90LUpLiIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDozNzcKK21zZ2lkICJGaWxlIGxldmVsIG1lcmdlIHJlcXVpcmVkLiIKK21zZ3N0ciAi0J3QtdC+0LHRhdC+0LTQuNC80L4g0LUg0L/QvtGE0LDQudC70L7QstC+INGB0LvQuNCy0LDQvdC1LiIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDozODEKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJTdGF5aW5nIG9uIGJyYW5jaCAnJXMnLiIKK21zZ3N0ciAi0J7RgdGC0LDQstCw0L3QtSDQstGK0YDRhdGDINC60LvQvtC90LAg4oCeJXPigJwuIgorCisjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjQ1MgorbXNnaWQgIiIKKyJZb3UgYXJlIG5vIGxvbmdlciBvbiBhIGxvY2FsIGJyYW5jaC5cbiIKKyJcbiIKKyJJZiB5b3Ugd2FudGVkIHRvIGJlIG9uIGEgYnJhbmNoLCBjcmVhdGUgb25lIG5vdyBzdGFydGluZyBmcm9tICdUaGlzIERldGFjaGVkICIKKyJDaGVja291dCcuIgorbXNnc3RyICIiCisi0JLQtdGH0LUg0L3QtSDRgdGC0LUg0L3QsCDQu9C+0LrQsNC70LXQvSDQutC70L7QvS5cbiIKKyJcbiIKKyLQkNC60L4g0LjRgdC60LDRgtC1INC00LAg0YHRgtC1INC90LAg0LrQu9C+0L0sINGB0YrQt9C00LDQudGC0LUg0LHQsNC30LjRgNCw0L0g0L3QsCDigJ7QotC+0LLQsCDQvdC10YHQstGK0YDQt9Cw0L3QviDQuNC30YLQtdCz0LvRj9C90LXigJwuIgorCisjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjUwMyBsaWIvY2hlY2tvdXRfb3AudGNsOjUwNworIywgdGNsLWZvcm1hdAorbXNnaWQgIkNoZWNrZWQgb3V0ICclcycuIgorbXNnc3RyICLigJ4lc+KAnCDQtSDQuNC30YLQtdCz0LvQtdC9LiIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDo1MzUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJSZXNldHRpbmcgJyVzJyB0byAnJXMnIHdpbGwgbG9zZSB0aGUgZm9sbG93aW5nIGNvbW1pdHM6IgorbXNnc3RyICIiCisi0JfQsNC90YPQu9GP0LLQsNC90LXRgtC+INC90LAg4oCeJXPigJwg0LrRitC8IOKAniVz4oCcINGJ0LUg0LTQvtCy0LXQtNC1INC00L4g0LfQsNCz0YPQsdCy0LDQvdC10YLQviDQvdCwINGB0LvQtdC00L3QuNGC0LUg0L/QvtC00LDQstCw0L3QuNGPOiIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDo1NTcKK21zZ2lkICJSZWNvdmVyaW5nIGxvc3QgY29tbWl0cyBtYXkgbm90IGJlIGVhc3kuIgorbXNnc3RyICLQktGK0LfRgdGC0LDQvdC+0LLRj9Cy0LDQvdC10YLQviDQvdCwINC30LDQs9GD0LHQtdC90LjRgtC1INC/0L7QtNCw0LLQsNC90LjRjyDQvNC+0LbQtSDQtNCwINC1INGC0YDRg9C00L3Qvi4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6NTYyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUmVzZXQgJyVzJz8iCittc2dzdHIgItCX0LDQvdGD0LvRj9Cy0LDQvdC1INC90LAg4oCeJXPigJw/IgorCisjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjU3MSBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6ODUKK21zZ2lkICJSZXNldCIKK21zZ3N0ciAi0J7RgtC90LDRh9Cw0LvQviIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDo2MzUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiRmFpbGVkIHRvIHNldCBjdXJyZW50IGJyYW5jaC5cbiIKKyJcbiIKKyJUaGlzIHdvcmtpbmcgZGlyZWN0b3J5IGlzIG9ubHkgcGFydGlhbGx5IHN3aXRjaGVkLiAgV2Ugc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQgIgorInlvdXIgZmlsZXMsIGJ1dCBmYWlsZWQgdG8gdXBkYXRlIGFuIGludGVybmFsIEdpdCBmaWxlLlxuIgorIlxuIgorIlRoaXMgc2hvdWxkIG5vdCBoYXZlIG9jY3VycmVkLiAgJXMgd2lsbCBub3cgY2xvc2UgYW5kIGdpdmUgdXAuIgorbXNnc3RyICIiCisi0J3QtdGD0YHQv9C10YjQvdC+INC30LDQtNCw0LLQsNC90LUg0L3QsCDRgtC10LrRg9GJ0LjRjyDQutC70L7QvS5cbiIKKyJcbiIKKyLQoNCw0LHQvtGC0L3QsNGC0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0LUg0YHQsNC80L4g0YfQsNGB0YLQuNGH0L3QviDQvtCx0L3QvtCy0LXQvdCwOiDRhNCw0LnQu9C+0LLQtdGC0LUg0YHQsCDQvtCx0L3QvtCy0LXQvdC4ICIKKyLRg9GB0L/QtdGI0L3Qviwg0L3QviDQvdGP0LrQvtC5INC+0YIg0LLRitGC0YDQtdGI0L3QuNGC0LUsINGB0LvRg9C20LXQsdC90Lgg0YTQsNC50LvQvtCy0LUg0L3QsCBHaXQg0L3QtSDQtSDQsdC40LsuXG4iCisiXG4iCisi0KLQvtCy0LAg0YHRitGB0YLQvtGP0L3QuNC1INC1INCw0LLQsNGA0LjQudC90L4g0Lgg0L3QtSDRgtGA0Y/QsdCy0LAg0LTQsCDRgdC1INGB0LvRg9GH0LLQsC4g0J/RgNC+0LPRgNCw0LzQsNGC0LAg4oCeJXPigJwg0YnQtSAiCisi0L/RgNC10YPRgdGC0LDQvdC+0LLQuCDRgNCw0LHQvtGC0LAuIgorCisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MjMKK21zZ2lkICJDcmVhdGUgQnJhbmNoIgorbXNnc3RyICLQodGK0LfQtNCw0LLQsNC90LUg0L3QsCDQutC70L7QvSIKKworIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjI4Cittc2dpZCAiQ3JlYXRlIE5ldyBCcmFuY2giCittc2dzdHIgItCh0YrQt9C00LDQstCw0L3QtSDQvdCwINC90L7QsiDQutC70L7QvSIKKworIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjQyCittc2dpZCAiQnJhbmNoIE5hbWUiCittc2dzdHIgItCY0LzQtSDQvdCwINC60LvQvtC90LAiCisKKyM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDo1NworbXNnaWQgIk1hdGNoIFRyYWNraW5nIEJyYW5jaCBOYW1lIgorbXNnc3RyICLQodGK0LLQv9Cw0LTQsNC90LUg0L/QviDQuNC80LXRgtC+INC90LAg0YHQu9C10LTQtdC90LjRjyDQutC70L7QvSIKKworIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjY2Cittc2dpZCAiU3RhcnRpbmcgUmV2aXNpb24iCittc2dzdHIgItCd0LDRh9Cw0LvQvdCwINCy0LXRgNGB0LjRjyIKKworIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjcyCittc2dpZCAiVXBkYXRlIEV4aXN0aW5nIEJyYW5jaDoiCittc2dzdHIgItCe0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg0YHRitGJ0LXRgdGC0LLRg9Cy0LDRiSDQutC70L7QvToiCisKKyM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDo3NQorbXNnaWQgIk5vIgorbXNnc3RyICLQndC1IgorCisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6ODAKK21zZ2lkICJGYXN0IEZvcndhcmQgT25seSIKK21zZ3N0ciAi0KHQsNC80L4g0YLRgNC40LLQuNCw0LvQvdC+INC/0YDQtdCy0YrRgNGC0LDRidC+INGB0LvQuNCy0LDQvdC1IgorCisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6OTcKK21zZ2lkICJDaGVja291dCBBZnRlciBDcmVhdGlvbiIKK21zZ3N0ciAi0J/RgNC10LzQuNC90LDQstCw0L3QtSDQutGK0Lwg0LrQu9C+0L3QsCDRgdC70LXQtCDRgdGK0LfQtNCw0LLQsNC90LXRgtC+INC80YMiCisKKyM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDoxMzIKK21zZ2lkICJQbGVhc2Ugc2VsZWN0IGEgdHJhY2tpbmcgYnJhbmNoLiIKK21zZ3N0ciAi0JjQt9Cx0LXRgNC10YLQtSDQutC70L7QvSDQt9CwINGB0LvQtdC00LXQvdC4LiIKKworIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjE0MQorIywgdGNsLWZvcm1hdAorbXNnaWQgIlRyYWNraW5nIGJyYW5jaCAlcyBpcyBub3QgYSBicmFuY2ggaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5LiIKK21zZ3N0ciAi0JrQu9C+0L3RitGCLCDQutC+0LnRgtC+INGB0LUg0YHQu9C10LTQuCDigJ4lc+KAnCDQvdC1INGB0YrRidC10YHRgtCy0YPQstCwINCyINC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUuIgorCisjOiBsaWIvY29uc29sZS50Y2w6NTkKK21zZ2lkICJXb3JraW5nLi4uIHBsZWFzZSB3YWl0Li4uIgorbXNnc3RyICLQkiDQvNC+0LzQtdC90YLQsCDRgdC1INC40LfQstGK0YDRiNCy0LAg0LTQtdC50YHRgtCy0LjQtSwg0LjQt9GH0LDQutCw0LnRgtC14oCmIgorCisjOiBsaWIvY29uc29sZS50Y2w6MTg2Cittc2dpZCAiU3VjY2VzcyIKK21zZ3N0ciAi0KPRgdC/0LXRhSIKKworIzogbGliL2NvbnNvbGUudGNsOjIwMAorbXNnaWQgIkVycm9yOiBDb21tYW5kIEZhaWxlZCIKK21zZ3N0ciAi0JPRgNC10YjQutCwOiDQvdC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDQutC+0LzQsNC90LTQsCIKKworIzogbGliL2Nob29zZV9yZXYudGNsOjUyCittc2dpZCAiVGhpcyBEZXRhY2hlZCBDaGVja291dCIKK21zZ3N0ciAi0KLQvtCy0LAg0L3QtdGB0LLRitGA0LfQsNC90L4g0LjQt9GC0LXQs9C70Y/QvdC1IgorCisjOiBsaWIvY2hvb3NlX3Jldi50Y2w6NjAKK21zZ2lkICJSZXZpc2lvbiBFeHByZXNzaW9uOiIKK21zZ3N0ciAi0JjQt9GA0LDQtyDQt9CwINCy0LXRgNGB0LjRjyIKKworIzogbGliL2Nob29zZV9yZXYudGNsOjcyCittc2dpZCAiTG9jYWwgQnJhbmNoIgorbXNnc3RyICLQm9C+0LrQsNC70LXQvSDQutC70L7QvSIKKworIzogbGliL2Nob29zZV9yZXYudGNsOjc3Cittc2dpZCAiVHJhY2tpbmcgQnJhbmNoIgorbXNnc3RyICLQodC70LXQtNGP0Ykg0LrQu9C+0L0iCisKKyM6IGxpYi9jaG9vc2VfcmV2LnRjbDo4MiBsaWIvY2hvb3NlX3Jldi50Y2w6NTQ0Cittc2dpZCAiVGFnIgorbXNnc3RyICLQldGC0LjQutC10YIiCisKKyM6IGxpYi9jaG9vc2VfcmV2LnRjbDozMjEKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHJldmlzaW9uOiAlcyIKK21zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90LAg0LLQtdGA0YHQuNGPOiAlcyIKKworIzogbGliL2Nob29zZV9yZXYudGNsOjM0MgorbXNnaWQgIk5vIHJldmlzaW9uIHNlbGVjdGVkLiIKK21zZ3N0ciAi0J3QtSDQtSDQuNC30LHRgNCw0L3QsCDQstC10YDRgdC40Y8uIgorCisjOiBsaWIvY2hvb3NlX3Jldi50Y2w6MzUwCittc2dpZCAiUmV2aXNpb24gZXhwcmVzc2lvbiBpcyBlbXB0eS4iCittc2dzdHIgItCY0LfRgNCw0LfRitGCINC30LAg0LLQtdGA0YHQuNGPINC1INC/0YDQsNC30LXQvS4iCisKKyM6IGxpYi9jaG9vc2VfcmV2LnRjbDo1MzcKK21zZ2lkICJVcGRhdGVkIgorbXNnc3RyICLQntCx0L3QvtCy0LXQvSIKKworIzogbGliL2Nob29zZV9yZXYudGNsOjU2NQorbXNnaWQgIlVSTCIKK21zZ3N0ciAi0JDQtNGA0LXRgSIKKworIzogbGliL2xpbmUudGNsOjE3Cittc2dpZCAiR290byBMaW5lOiIKK21zZ3N0ciAi0JrRitC8INGA0LXQtDoiCisKKyM6IGxpYi9saW5lLnRjbDoyMworbXNnaWQgIkdvIgorbXNnc3RyICLQn9GA0LjQtNCy0LjQttCy0LDQvdC1IgorCisjOiBsaWIvY29tbWl0LnRjbDo5Cittc2dpZCAiIgorIlRoZXJlIGlzIG5vdGhpbmcgdG8gYW1lbmQuXG4iCisiXG4iCisiWW91IGFyZSBhYm91dCB0byBjcmVhdGUgdGhlIGluaXRpYWwgY29tbWl0LiAgVGhlcmUgaXMgbm8gY29tbWl0IGJlZm9yZSB0aGlzICIKKyJ0byBhbWVuZC5cbiIKK21zZ3N0ciAiIgorItCd0Y/QvNCwINC60LDQutCy0L4g0LTQsCDRgdC1INC/0L7Qv9GA0LDQstC4LlxuIgorIlxuIgorItCp0LUg0YHRitC30LTQsNC00LXRgtC1INC/0YrRgNCy0L7QvdCw0YfQsNC70L3QvtGC0L4g0L/QvtC00LDQstCw0L3QtS4g0J/RgNC10LTQuCDQvdC10LPQviDQvdGP0LzQsCDQtNGA0YPQs9C4INC/0L7QtNCw0LLQsNC90LjRjywg0LrQvtC40YLQviAiCisi0LTQsCDQv9C+0L/RgNCw0LLQuNGC0LUuXG4iCisKKyM6IGxpYi9jb21taXQudGNsOjE4Cittc2dpZCAiIgorIkNhbm5vdCBhbWVuZCB3aGlsZSBtZXJnaW5nLlxuIgorIlxuIgorIllvdSBhcmUgY3VycmVudGx5IGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSB0aGF0IGhhcyBub3QgYmVlbiBmdWxseSAiCisiY29tcGxldGVkLiAgWW91IGNhbm5vdCBhbWVuZCB0aGUgcHJpb3IgY29tbWl0IHVubGVzcyB5b3UgZmlyc3QgYWJvcnQgdGhlICIKKyJjdXJyZW50IG1lcmdlIGFjdGl2aXR5LlxuIgorbXNnc3RyICIiCisi0J/QviDQstGA0LXQvNC1INC90LAg0YHQu9C40LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINC/0L7Qv9GA0LDQstGP0YLQtS5cbiIKKyJcbiIKKyLQkiDQvNC+0LzQtdC90YLQsCDQstGB0LUg0L7RidC1INC90LUg0YHRgtC1INC30LDQstGK0YDRiNC40LvQuCDQvtC/0LXRgNCw0YbQuNGPINC/0L4g0YHQu9C40LLQsNC90LUuINCd0LUg0LzQvtC20LUg0LTQsCDQv9C+0L/RgNCw0LLQuNGC0LUgIgorItC/0YDQtdC00LjRiNC90L7RgtC+INC/0L7QtNCw0LLQsNC90LUsINC+0YHQstC10L0g0LDQutC+INC/0YrRgNCy0L4g0L3QtSDQv9GA0LXRg9GB0YLQsNC90L7QstC40YLQtSDRgtC10LrRg9GJ0L7RgtC+INGB0LvQuNCy0LDQvdC1LlxuIgorCisjOiBsaWIvY29tbWl0LnRjbDo0OAorbXNnaWQgIkVycm9yIGxvYWRpbmcgY29tbWl0IGRhdGEgZm9yIGFtZW5kOiIKK21zZ3N0ciAi0JPRgNC10YjQutCwINC/0YDQuCDQt9Cw0YDQtdC20LTQsNC90LUg0L3QsCDQtNCw0L3QvdC40YLQtSDQvtGCINC/0L7QtNCw0LLQsNC90LUsINC60L7QuNGC0L4g0LTQsCDRgdC1INC/0L7Qv9GA0LDQstGP0YI6IgorCisjOiBsaWIvY29tbWl0LnRjbDo3NQorbXNnaWQgIlVuYWJsZSB0byBvYnRhaW4geW91ciBpZGVudGl0eToiCittc2dzdHIgItCY0LTQtdC90YLQuNGE0LjQutCw0YbQuNGP0YLQsCDQstC4INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtC/0YDQtdC00LXQu9C10L3QsDoiCisKKyM6IGxpYi9jb21taXQudGNsOjgwCittc2dpZCAiSW52YWxpZCBHSVRfQ09NTUlUVEVSX0lERU5UOiIKK21zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90L4g0L/QvtC70LUgR0lUX0NPTU1JVFRFUl9JREVOVDoiCisKKyM6IGxpYi9jb21taXQudGNsOjEyOQorIywgdGNsLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IFRjbCBkb2VzIG5vdCBzdXBwb3J0IGVuY29kaW5nICclcycuIgorbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiBUY2wg0L3QtSDQv9C+0LTQtNGK0YDQttCwINC60L7QtNC40YDQsNC90LXRgtC+IOKAniVz4oCcLiIKKworIzogbGliL2NvbW1pdC50Y2w6MTQ5Cittc2dpZCAiIgorIkxhc3Qgc2Nhbm5lZCBzdGF0ZSBkb2VzIG5vdCBtYXRjaCByZXBvc2l0b3J5IHN0YXRlLlxuIgorIlxuIgorIkFub3RoZXIgR2l0IHByb2dyYW0gaGFzIG1vZGlmaWVkIHRoaXMgcmVwb3NpdG9yeSBzaW5jZSB0aGUgbGFzdCBzY2FuLiAgQSAiCisicmVzY2FuIG11c3QgYmUgcGVyZm9ybWVkIGJlZm9yZSBhbm90aGVyIGNvbW1pdCBjYW4gYmUgY3JlYXRlZC5cbiIKKyJcbiIKKyJUaGUgcmVzY2FuIHdpbGwgYmUgYXV0b21hdGljYWxseSBzdGFydGVkIG5vdy5cbiIKK21zZ3N0ciAiIgorItCh0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L/RgNC4INC/0L7RgdC70LXQtNC90LDRgtCwINC/0YDQvtCy0LXRgNC60LAg0L3QtSDQvtGC0LPQvtCy0LDRgNGPINC90LAg0YHRitGB0YLQvtGP0L3QuNC10YLQviDQvdCwICIKKyLRhdGA0LDQvdC40LvQuNGJ0LXRgtC+LlxuIgorIlxuIgorItCd0Y/QutC+0Lkg0LTRgNGD0LMg0L/RgNC+0YbQtdGBINC30LAgR2l0INC1INC/0YDQvtC80LXQvdC40Lsg0YXRgNCw0L3QuNC70LjRidC10YLQviDQvNC10LbQtNGD0LLRgNC10LzQtdC90L3Qvi4g0KHRitGB0YLQvtGP0L3QuNC10YLQviAiCisi0YLRgNGP0LHQstCwINC00LAg0LHRitC00LUg0L/RgNC+0LLQtdGA0LXQvdC+INC/0YDQtdC00Lgg0L3QvtCy0L4g0L/QvtC00LDQstCw0L3QtS5cbiIKKyJcbiIKKyLQkNCy0YLQvtC80LDRgtC40YfQvdC+INGJ0LUg0LfQsNC/0L7Rh9C90LUg0L3QvtCy0LAg0L/RgNC+0LLQtdGA0LrQsC5cbiIKKworIzogbGliL2NvbW1pdC50Y2w6MTczCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIlVubWVyZ2VkIGZpbGVzIGNhbm5vdCBiZSBjb21taXR0ZWQuXG4iCisiXG4iCisiRmlsZSAlcyBoYXMgbWVyZ2UgY29uZmxpY3RzLiAgWW91IG11c3QgcmVzb2x2ZSB0aGVtIGFuZCBzdGFnZSB0aGUgZmlsZSAiCisiYmVmb3JlIGNvbW1pdHRpbmcuXG4iCittc2dzdHIgIiIKKyLQndC10YHQu9C10YLQuNGC0LUg0YTQsNC50LvQvtCy0LUg0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDQv9C+0LTQsNCy0LDQvdC4LlxuIgorIlxuIgorItCS0YrQsiDRhNCw0LnQu9CwIOKAniVz4oCcINC40LzQsCDQutC+0L3RhNC70LjQutGC0Lgg0L/RgNC4INGB0LvQuNCy0LDQvdC1LiDQl9CwINC00LAg0LPQviDQv9C+0LTQsNC00LXRgtC1LCDRgtGA0Y/QsdCy0LAg0L/RitGA0LLQviDQtNCwICIKKyLQutC+0YDQuNCz0LjRgNCw0YLQtSDQutC+0L3RhNC70LjQutGC0LjRgtC1INC4INC00LAg0LTQvtCx0LDQstC40YLQtSDRhNCw0LnQu9CwINC60YrQvCDQuNC90LTQtdC60YHQsCDQt9CwINC/0L7QtNCw0LLQsNC90LUuXG4iCisKKyM6IGxpYi9jb21taXQudGNsOjE4MQorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJVbmtub3duIGZpbGUgc3RhdGUgJXMgZGV0ZWN0ZWQuXG4iCisiXG4iCisiRmlsZSAlcyBjYW5ub3QgYmUgY29tbWl0dGVkIGJ5IHRoaXMgcHJvZ3JhbS5cbiIKK21zZ3N0ciAiIgorItCd0LXQv9C+0LfQvdCw0YLQviDRgdGK0YHRgtC+0Y/QvdC40LUg0L3QsCDRhNCw0LnQuyDigJ4lc+KAnC5cbiIKKyJcbiIKKyLQpNCw0LnQu9GK0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0L7QtNCw0LTQtdC9INGH0YDQtdC3INGC0LXQutGD0YnQsNGC0LAg0L/RgNC+0LPRgNCw0LzQsC5cbiIKKworIzogbGliL2NvbW1pdC50Y2w6MTg5Cittc2dpZCAiIgorIk5vIGNoYW5nZXMgdG8gY29tbWl0LlxuIgorIlxuIgorIllvdSBtdXN0IHN0YWdlIGF0IGxlYXN0IDEgZmlsZSBiZWZvcmUgeW91IGNhbiBjb21taXQuXG4iCittc2dzdHIgIiIKKyLQndGP0LzQsCDQv9GA0L7QvNC10L3QuCDQt9CwINC/0L7QtNCw0LLQsNC90LUuXG4iCisiXG4iCisi0KLRgNGP0LHQstCwINC00LAg0LTQvtCx0LDQstC40YLQtSDQv9C+0L3QtSAxINGE0LDQudC7INC60YrQvCDQuNC90LTQtdC60YHQsCwg0L/RgNC10LTQuCDQtNCwINC/0L7QtNCw0LTQtdGC0LUuXG4iCisKKyM6IGxpYi9jb21taXQudGNsOjIwNAorbXNnaWQgIiIKKyJQbGVhc2Ugc3VwcGx5IGEgY29tbWl0IG1lc3NhZ2UuXG4iCisiXG4iCisiQSBnb29kIGNvbW1pdCBtZXNzYWdlIGhhcyB0aGUgZm9sbG93aW5nIGZvcm1hdDpcbiIKKyJcbiIKKyItIEZpcnN0IGxpbmU6IERlc2NyaWJlIGluIG9uZSBzZW50ZW5jZSB3aGF0IHlvdSBkaWQuXG4iCisiLSBTZWNvbmQgbGluZTogQmxhbmtcbiIKKyItIFJlbWFpbmluZyBsaW5lczogRGVzY3JpYmUgd2h5IHRoaXMgY2hhbmdlIGlzIGdvb2QuXG4iCittc2dzdHIgIiIKKyLQl9Cw0LTQsNC50YLQtSDQtNC+0LHRgNC+INGB0YrQvtCx0YnQtdC90LjQtSDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtS5cbiIKKyJcbiIKKyLQmNC30L/QvtC70LfQstCw0LnRgtC1INGB0LvQtdC00L3QuNGPINGE0L7RgNC80LDRgjpcbiIKKyJcbiIKKyLigYMg0J/RitGA0LLQuCDRgNC10LQ6INC+0L/QuNGB0LDQvdC40LUg0LIg0LXQtNC90L4g0LjQt9GA0LXRh9C10L3QuNC1INC90LAg0L/RgNC+0LzRj9C90LDRgtCwLlxuIgorIuKBgyDQktGC0L7RgNC4INGA0LXQtDog0L/RgNCw0LfQtdC9LlxuIgorIuKBgyDQntGB0YLQsNC90LDQu9C40YLQtSDRgNC10LTQvtCy0LU6INC+0L/QuNGI0LXRgtC1INC30LDRidC+INGB0LUg0L3QsNC70LDQs9CwINGC0LDQt9C4INC/0YDQvtC80Y/QvdCwLlxuIgorCisjOiBsaWIvY29tbWl0LnRjbDoyMzUKK21zZ2lkICJDYWxsaW5nIHByZS1jb21taXQgaG9vay4uLiIKK21zZ3N0ciAi0JjQt9C/0YrQu9C90Y/QstCw0L3QtSDQvdCwINC60YPQutCw0YLQsCDQv9GA0LXQtNC4INC/0L7QtNCw0LLQsNC90LXigKYiCisKKyM6IGxpYi9jb21taXQudGNsOjI1MAorbXNnaWQgIkNvbW1pdCBkZWNsaW5lZCBieSBwcmUtY29tbWl0IGhvb2suIgorbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC10YLQviDQtSDQvtGC0YXQstGK0YDQu9C10L3QviDQvtGCINC60YPQutCw0YLQsCDQv9GA0LXQtNC4INC/0L7QtNCw0LLQsNC90LUuIgorCisjOiBsaWIvY29tbWl0LnRjbDoyNjkKK21zZ2lkICIiCisiWW91IGFyZSBhYm91dCB0byBjb21taXQgb24gYSBkZXRhY2hlZCBoZWFkLiBUaGlzIGlzIGEgcG90ZW50aWFsbHkgZGFuZ2Vyb3VzICIKKyJ0aGluZyB0byBkbyBiZWNhdXNlIGlmIHlvdSBzd2l0Y2ggdG8gYW5vdGhlciBicmFuY2ggeW91IHdpbGwgbG9zZSB5b3VyICIKKyJjaGFuZ2VzIGFuZCBpdCBjYW4gYmUgZGlmZmljdWx0IHRvIHJldHJpZXZlIHRoZW0gbGF0ZXIgZnJvbSB0aGUgcmVmbG9nLiBZb3UgIgorInNob3VsZCBwcm9iYWJseSBjYW5jZWwgdGhpcyBjb21taXQgYW5kIGNyZWF0ZSBhIG5ldyBicmFuY2ggdG8gY29udGludWUuXG4iCisiIFxuIgorIiBEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcHJvY2VlZCB3aXRoIHlvdXIgQ29tbWl0PyIKK21zZ3N0ciAiIgorItCp0LUg0L/QvtC00LDQtNC10YLQtSDQutGK0Lwg0L3QtdGB0LLRitGA0LfQsNC9INCy0YDRitGFLiDQotC+0LLQsCDQtNC10LnRgdGC0LLQuNC1INC1INC+0L/QsNGB0L3Qviwg0LfQsNGJ0L7RgtC+INC/0YDQuCAiCisi0L/RgNC10LzQuNC90LDQstCw0L3QtdGC0L4g0LrRitC8INC60L7QudGC0L4g0Lgg0LTQsCDQtSDQutC70L7QvSDRidC1INC30LDQs9GD0LHQuNGC0LUg0L/RgNC+0LzQtdC90LjRgtC1INGB0Lgg0Lgg0L3QtSDQtSDRgdC40LPRg9GA0L3QviwgIgorItGH0LUg0YnQtSDQvNC+0LbQtdGC0LUg0L/Qvi3QutGK0YHQvdC+INC00LAg0LPQuCDQstGK0LfRgdGC0LDQvdC+0LLQuNGC0LUg0YfRgNC10Lcg0LbRg9GA0L3QsNC70LAg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1LiDQndCw0LktIgorItCy0LXRgNC+0Y/RgtC90L4g0YLRgNGP0LHQstCwINC/0YrRgNCy0L4g0LTQsCDRgdGK0LfQtNCw0LTQtdGC0LUg0LrQu9C+0L0g0LHQsNC30LjRgNCw0L0g0L3QsCDRgtC10LrRg9GJ0L7RgtC+INGB0YrRgdGC0L7Rj9C90LjQtSDQuCDQtNCwICIKKyLQv9C+0LTQsNC00LXRgtC1INC60YrQvCDQvdC10LPQvi5cbiIKKyIgXG4iCisi0KHQuNCz0YPRgNC90Lgg0LvQuCDRgdGC0LUsINGH0LUg0LjRgdC60LDRgtC1INC00LAg0L/QvtC00LDQtNC10YLQtSDRgtC+0YfQvdC+INGB0LXQs9CwPyIKKworIzogbGliL2NvbW1pdC50Y2w6MjkwCittc2dpZCAiQ2FsbGluZyBjb21taXQtbXNnIGhvb2suLi4iCittc2dzdHIgItCY0LfQv9GK0LvQvdGP0LLQsNC90LUg0L3QsCDQutGD0LrQsNGC0LAg0LfQsCDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC14oCmIgorCisjOiBsaWIvY29tbWl0LnRjbDozMDUKK21zZ2lkICJDb21taXQgZGVjbGluZWQgYnkgY29tbWl0LW1zZyBob29rLiIKK21zZ3N0ciAi0J/QvtC00LDQstCw0L3QtdGC0L4g0LUg0L7RgtGF0LLRitGA0LvQtdC90L4g0L7RgiDQutGD0LrQsNGC0LAg0LfQsCDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1LiIKKworIzogbGliL2NvbW1pdC50Y2w6MzE4Cittc2dpZCAiQ29tbWl0dGluZyBjaGFuZ2VzLi4uIgorbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC1INC90LAg0L/RgNC+0LzQtdC90LjRgtC1LiIKKworIzogbGliL2NvbW1pdC50Y2w6MzM0Cittc2dpZCAid3JpdGUtdHJlZSBmYWlsZWQ6IgorbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0LTRitGA0LLQvtGC0L4gKHdyaXRlLXRyZWUpOiIKKworIzogbGliL2NvbW1pdC50Y2w6MzM1IGxpYi9jb21taXQudGNsOjM3OSBsaWIvY29tbWl0LnRjbDo0MDAKK21zZ2lkICJDb21taXQgZmFpbGVkLiIKK21zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC/0L7QtNCw0LLQsNC90LUuIgorCisjOiBsaWIvY29tbWl0LnRjbDozNTIKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJDb21taXQgJXMgYXBwZWFycyB0byBiZSBjb3JydXB0IgorbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnCDQuNC30LPQu9C10LbQtNCwINC/0L7QstGA0LXQtNC10L3QviIKKworIzogbGliL2NvbW1pdC50Y2w6MzU3Cittc2dpZCAiIgorIk5vIGNoYW5nZXMgdG8gY29tbWl0LlxuIgorIlxuIgorIk5vIGZpbGVzIHdlcmUgbW9kaWZpZWQgYnkgdGhpcyBjb21taXQgYW5kIGl0IHdhcyBub3QgYSBtZXJnZSBjb21taXQuXG4iCisiXG4iCisiQSByZXNjYW4gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHN0YXJ0ZWQgbm93LlxuIgorbXNnc3RyICIiCisi0J3Rj9C80LAg0L/RgNC+0LzQtdC90Lgg0LfQsCDQv9C+0LTQsNCy0LDQvdC1LlxuIgorIlxuIgorItCSINGC0L7QstCwINC/0L7QtNCw0LLQsNC90LUg0L3QtSDRgdCwINC/0YDQvtC80LXQvdGP0L3QuCDQvdC40LrQsNC60LLQuCDRhNCw0LnQu9C+0LLQtSwg0LAg0Lgg0L3QtSDQtSDQv9C+0LTQsNCy0LDQvdC1INGB0YrRgSAiCisi0YHQu9C40LLQsNC90LUuXG4iCisiXG4iCisi0JDQstGC0L7QvNCw0YLQuNGH0L3QviDRidC1INC30LDQv9C+0YfQvdC1INC90L7QstCwINC/0YDQvtCy0LXRgNC60LAuXG4iCisKKyM6IGxpYi9jb21taXQudGNsOjM2NAorbXNnaWQgIk5vIGNoYW5nZXMgdG8gY29tbWl0LiIKK21zZ3N0ciAi0J3Rj9C80LAg0L/RgNC+0LzQtdC90Lgg0LfQsCDQv9C+0LTQsNCy0LDQvdC1LiIKKworIzogbGliL2NvbW1pdC50Y2w6Mzc4Cittc2dpZCAiY29tbWl0LXRyZWUgZmFpbGVkOiIKK21zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC/0L7QtNCw0LLQsNC90LUg0L3QsCDQtNGK0YDQstC+0YLQviAoY29tbWl0LXRyZWUpOiIKKworIzogbGliL2NvbW1pdC50Y2w6Mzk5Cittc2dpZCAidXBkYXRlLXJlZiBmYWlsZWQ6IgorbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0L7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1ICh1cGRhdGUtcmVmKToiCisKKyM6IGxpYi9jb21taXQudGNsOjQ5MgorIywgdGNsLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgY29tbWl0ICVzOiAlcyIKK21zZ3N0ciAi0KPRgdC/0LXRiNC90L4g0L/QvtC00LDQstCw0L3QtSAlczogJXMiCisKKyM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDoxNgorbXNnaWQgIkRlbGV0ZSBCcmFuY2giCittc2dzdHIgItCY0LfRgtGA0LjQstCw0L3QtSDQvdCwINC60LvQvtC9IgorCisjOiBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6MjEKK21zZ2lkICJEZWxldGUgTG9jYWwgQnJhbmNoIgorbXNnc3RyICLQmNC30YLRgNC40LLQsNC90LUg0L3QsCDQu9C+0LrQsNC70LXQvSDQutC70L7QvSIKKworIzogbGliL2JyYW5jaF9kZWxldGUudGNsOjM5Cittc2dpZCAiTG9jYWwgQnJhbmNoZXMiCittc2dzdHIgItCb0L7QutCw0LvQvdC4INC60LvQvtC90LgiCisKKyM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDo1MQorbXNnaWQgIkRlbGV0ZSBPbmx5IElmIE1lcmdlZCBJbnRvIgorbXNnc3RyICLQmNC30YLRgNC40LLQsNC90LUsINGB0LDQvNC+INCw0LrQviDQv9GA0L7QvNC10L3QuNGC0LUg0YHQsCDRgdC70LXRgtC4INC4INC00YDRg9Cz0LDQtNC1IgorCisjOiBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6MTAzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVGhlIGZvbGxvd2luZyBicmFuY2hlcyBhcmUgbm90IGNvbXBsZXRlbHkgbWVyZ2VkIGludG8gJXM6IgorbXNnc3RyICLQndC1INCy0YHQuNGH0LrQuCDQv9GA0L7QvNC10L3QuCDQsiDQutC70L7QvdC40YLQtSDRgdCwINGB0LvQtdGC0Lgg0LIgJXM6IgorCisjOiBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6MTQxCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIkZhaWxlZCB0byBkZWxldGUgYnJhbmNoZXM6XG4iCisiJXMiCittc2dzdHIgIiIKKyLQndC10YPRgdC/0LXRiNC90L4g0YLRgNC40LXQvdC1INC90LAg0LrQu9C+0L3QuDpcbiIKKyIlcyIKKworIzogbGliL2JsYW1lLnRjbDo3MworbXNnaWQgIkZpbGUgVmlld2VyIgorbXNnc3RyICLQn9GA0LXQs9C70LXQtCDQvdCwINGE0LDQudC70L7QstC1IgorCisjOiBsaWIvYmxhbWUudGNsOjc5Cittc2dpZCAiQ29tbWl0OiIKK21zZ3N0ciAi0J/QvtC00LDQstCw0L3QtToiCisKKyM6IGxpYi9ibGFtZS50Y2w6MjgwCittc2dpZCAiQ29weSBDb21taXQiCittc2dzdHIgItCa0L7Qv9C40YDQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC1IgorCisjOiBsaWIvYmxhbWUudGNsOjI4NAorbXNnaWQgIkZpbmQgVGV4dC4uLiIKK21zZ3N0ciAi0KLRitGA0YHQtdC90LUg0L3QsCDRgtC10LrRgdGC4oCmIgorCisjOiBsaWIvYmxhbWUudGNsOjI4OAorbXNnaWQgIkdvdG8gTGluZS4uLiIKK21zZ3N0ciAi0JrRitC8INGA0LXQtOKApiIKKworIzogbGliL2JsYW1lLnRjbDoyOTcKK21zZ2lkICJEbyBGdWxsIENvcHkgRGV0ZWN0aW9uIgorbXNnc3RyICLQn9GK0LvQvdC+INGC0YrRgNGB0LXQvdC1INC90LAg0LrQvtC/0LjRgNCw0L3QtSIKKworIzogbGliL2JsYW1lLnRjbDozMDEKK21zZ2lkICJTaG93IEhpc3RvcnkgQ29udGV4dCIKK21zZ3N0ciAi0J/QvtC60LDQt9Cy0LDQvdC1INC90LAg0LrQvtC90YLQtdC60YHRgtCwINC+0YIg0LjRgdGC0L7RgNC40Y/RgtCwIgorCisjOiBsaWIvYmxhbWUudGNsOjMwNAorbXNnaWQgIkJsYW1lIFBhcmVudCBDb21taXQiCittc2dzdHIgItCQ0L3QvtGC0LjRgNCw0L3QtSDQvdCwINGA0L7QtNC40YLQtdC70YHQutC+0YLQviDQv9C+0LTQsNCy0LDQvdC1IgorCisjOiBsaWIvYmxhbWUudGNsOjQ2NgorIywgdGNsLWZvcm1hdAorbXNnaWQgIlJlYWRpbmcgJXMuLi4iCittc2dzdHIgIiVzINGB0LUg0YfQtdGC0LXigKYiCisKKyM6IGxpYi9ibGFtZS50Y2w6NTk0Cittc2dpZCAiTG9hZGluZyBjb3B5L21vdmUgdHJhY2tpbmcgYW5ub3RhdGlvbnMuLi4iCittc2dzdHIgItCX0LDRgNC10LbQtNCw0L3QtSDQvdCwINCw0L3QvtGC0LDRhtC40LjRgtC1INC30LAg0L/RgNC+0YHQu9C10LTRj9Cy0LDQvdC1INC90LAg0LrQvtC/0LjRgNCw0L3QtdGC0L4v0L/RgNC10LzQtdGB0YLQstCw0L3QtdGC0L7igKYiCisKKyM6IGxpYi9ibGFtZS50Y2w6NjE0Cittc2dpZCAibGluZXMgYW5ub3RhdGVkIgorbXNnc3RyICLRgNC10LTQsCDQsNC90L7RgtC40YDQsNC90LgiCisKKyM6IGxpYi9ibGFtZS50Y2w6ODA2Cittc2dpZCAiTG9hZGluZyBvcmlnaW5hbCBsb2NhdGlvbiBhbm5vdGF0aW9ucy4uLiIKK21zZ3N0ciAi0JfQsNGA0LXQttC00LDQvdC1INC90LAg0LDQvdC+0YLQsNGG0LjQuNGC0LUg0LfQsCDQv9GK0YDQstC+0L3QsNGH0LDQu9C90L7RgtC+INC80LXRgdGC0L7Qv9C+0LvQvtC20LXQvdC40LXigKYiCisKKyM6IGxpYi9ibGFtZS50Y2w6ODA5Cittc2dpZCAiQW5ub3RhdGlvbiBjb21wbGV0ZS4iCittc2dzdHIgItCQ0L3QvtGC0LjRgNCw0L3QtdGC0L4g0LfQsNCy0YrRgNGI0LguIgorCisjOiBsaWIvYmxhbWUudGNsOjgzOQorbXNnaWQgIkJ1c3kiCittc2dzdHIgItCe0L/QtdGA0LDRhtC40Y/RgtCwINC90LUg0LUg0LfQsNCy0YrRgNGI0LjQu9CwIgorCisjOiBsaWIvYmxhbWUudGNsOjg0MAorbXNnaWQgIkFubm90YXRpb24gcHJvY2VzcyBpcyBhbHJlYWR5IHJ1bm5pbmcuIgorbXNnc3RyICLQkiDQvNC+0LzQtdC90YLQsCDRgtC10YfQtSDQv9GA0L7RhtC10YEg0L3QsCDQsNC90L7RgtC40YDQsNC90LUuIgorCisjOiBsaWIvYmxhbWUudGNsOjg3OQorbXNnaWQgIlJ1bm5pbmcgdGhvcm91Z2ggY29weSBkZXRlY3Rpb24uLi4iCittc2dzdHIgItCY0LfQv9GK0LvQvdGP0LLQsCDRgdC1INGG0Y/Qu9C+0YHRgtC10L0g0L/RgNC+0YbQtdGBINC90LAg0L7RgtC60YDQuNCy0LDQvdC1INC90LAg0LrQvtC/0LjRgNCw0L3QteKApiIKKworIzogbGliL2JsYW1lLnRjbDo5NDcKK21zZ2lkICJMb2FkaW5nIGFubm90YXRpb24uLi4iCittc2dzdHIgItCX0LDRgNC10LbQtNCw0L3QtSDQvdCwINCw0L3QvtGC0LDRhtC40LjigKYiCisKKyM6IGxpYi9ibGFtZS50Y2w6MTAwMAorbXNnaWQgIkF1dGhvcjoiCittc2dzdHIgItCQ0LLRgtC+0YA6IgorCisjOiBsaWIvYmxhbWUudGNsOjEwMDQKK21zZ2lkICJDb21taXR0ZXI6IgorbXNnc3RyICLQn9C+0LTQsNC7OiIKKworIzogbGliL2JsYW1lLnRjbDoxMDA5Cittc2dpZCAiT3JpZ2luYWwgRmlsZToiCittc2dzdHIgItCf0YrRgNCy0L7QvdCw0YfQsNC70LXQvSDRhNCw0LnQuzoiCisKKyM6IGxpYi9ibGFtZS50Y2w6MTA1NworbXNnaWQgIkNhbm5vdCBmaW5kIEhFQUQgY29tbWl0OiIKK21zZ3N0ciAi0J/QvtC00LDQstCw0L3QtdGC0L4g0LfQsCDQstGA0YrRhSBIRUFEINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQutGA0LjQtToiCisKKyM6IGxpYi9ibGFtZS50Y2w6MTExMgorbXNnaWQgIkNhbm5vdCBmaW5kIHBhcmVudCBjb21taXQ6IgorbXNnc3RyICLQoNC+0LTQuNGC0LXQu9GB0LrQvtGC0L4g0L/QvtC00LDQstCw0L3QtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC60YDQuNGC0L4iCisKKyM6IGxpYi9ibGFtZS50Y2w6MTEyNworbXNnaWQgIlVuYWJsZSB0byBkaXNwbGF5IHBhcmVudCIKK21zZ3N0ciAi0KDQvtC00LjRgtC10LvRj9GCINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LrQsNC30LDQvSIKKworIzogbGliL2JsYW1lLnRjbDoxMjY5Cittc2dpZCAiT3JpZ2luYWxseSBCeToiCittc2dzdHIgItCf0YrRgNCy0L7QvdCw0YfQsNC70L3QviDQvtGCOiIKKworIzogbGliL2JsYW1lLnRjbDoxMjc1Cittc2dpZCAiSW4gRmlsZToiCittc2dzdHIgItCS0YrQsiDRhNCw0LnQuzoiCisKKyM6IGxpYi9ibGFtZS50Y2w6MTI4MAorbXNnaWQgIkNvcGllZCBPciBNb3ZlZCBIZXJlIEJ5OiIKK21zZ3N0ciAi0JrQvtC/0LjRgNCw0L3QviDQuNC70Lgg0L/RgNC10LzQtdGB0YLQtdC90L4g0YLRg9C6INC+0YI6IgorCisjOiBsaWIvaW5kZXgudGNsOjYKK21zZ2lkICJVbmFibGUgdG8gdW5sb2NrIHRoZSBpbmRleC4iCittc2dzdHIgItCY0L3QtNC10LrRgdGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutC70Y7Rh9C10L0uIgorCisjOiBsaWIvaW5kZXgudGNsOjE3Cittc2dpZCAiSW5kZXggRXJyb3IiCittc2dzdHIgItCT0YDQtdGI0LrQsCDQsiDQuNC90LTQtdC60YHQsCIKKworIzogbGliL2luZGV4LnRjbDoxOQorbXNnaWQgIiIKKyJVcGRhdGluZyB0aGUgR2l0IGluZGV4IGZhaWxlZC4gIEEgcmVzY2FuIHdpbGwgYmUgYXV0b21hdGljYWxseSBzdGFydGVkIHRvICIKKyJyZXN5bmNocm9uaXplIGdpdC1ndWkuIgorbXNnc3RyICIiCisi0J3QtdGD0YHQv9C10YjQvdC+INC+0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LjQvdC00LXQutGB0LAg0L3QsCBHaXQuINCQ0LLRgtC+0LzQsNGC0LjRh9C90L4g0YnQtSDQt9Cw0L/QvtGH0L3QtSDQvdC+0LLQsCDQv9GA0L7QstC10YDQutCwICIKKyLQt9CwINGB0LjQvdGF0YDQvtC90LjQt9C40YDQsNC90LXRgtC+INC90LAgZ2l0LWd1aS4iCisKKyM6IGxpYi9pbmRleC50Y2w6MzAKK21zZ2lkICJDb250aW51ZSIKK21zZ3N0ciAi0J/RgNC+0LTRitC70LbQsNCy0LDQvdC1IgorCisjOiBsaWIvaW5kZXgudGNsOjMzCittc2dpZCAiVW5sb2NrIEluZGV4IgorbXNnc3RyICLQntGC0LrQu9GO0YfQstCw0L3QtSDQvdCwINC40L3QtNC10LrRgdCwIgorCisjOiBsaWIvaW5kZXgudGNsOjI5OAorIywgdGNsLWZvcm1hdAorbXNnaWQgIlVuc3RhZ2luZyAlcyBmcm9tIGNvbW1pdCIKK21zZ3N0ciAi0JjQt9Cy0LDQttC00LDQvdC1INC90LAgJXMg0L7RgiDQv9C+0LTQsNCy0LDQvdC10YLQviIKKworIzogbGliL2luZGV4LnRjbDozMzcKK21zZ2lkICJSZWFkeSB0byBjb21taXQuIgorbXNnc3RyICLQk9C+0YLQvtCy0L3QvtGB0YIg0LfQsCDQv9C+0LTQsNCy0LDQvdC1LiIKKworIzogbGliL2luZGV4LnRjbDozNTAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJBZGRpbmcgJXMiCittc2dzdHIgItCU0L7QsdCw0LLRj9C90LUg0L3QsCDigJ4lc+KAnCIKKworIzogbGliL2luZGV4LnRjbDozODAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJTdGFnZSAlZCB1bnRyYWNrZWQgZmlsZXM/IgorbXNnc3RyICLQlNCwINGB0LUg0LTQvtCx0LDQstGP0YIg0LvQuCAlZCDQvdCwINCx0YDQvtC5INC90LXRgdC70LXQtNC10L3QuCDRhNCw0LnQu9CwINC60YrQvCDQuNC90LTQtdC60YHQsD8iCisKKyM6IGxpYi9pbmRleC50Y2w6NDI4CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUmV2ZXJ0IGNoYW5nZXMgaW4gZmlsZSAlcz8iCittc2dzdHIgItCU0LAg0YHQtSDQvNCw0YXQvdCw0YIg0LvQuCDQv9GA0L7QvNC10L3QuNGC0LUg0LLRitCyINGE0LDQudC70LAg4oCeJXPigJw/IgorCisjOiBsaWIvaW5kZXgudGNsOjQzMAorIywgdGNsLWZvcm1hdAorbXNnaWQgIlJldmVydCBjaGFuZ2VzIGluIHRoZXNlICVpIGZpbGVzPyIKK21zZ3N0ciAi0JTQsCDRgdC1INC80LDRhdC90LDRgiDQu9C4INC/0YDQvtC80LXQvdC40YLQtSDQsiDRgtC10LfQuCAlaSDRhNCw0LnQu9CwPyIKKworIzogbGliL2luZGV4LnRjbDo0MzgKK21zZ2lkICJBbnkgdW5zdGFnZWQgY2hhbmdlcyB3aWxsIGJlIHBlcm1hbmVudGx5IGxvc3QgYnkgdGhlIHJldmVydC4iCittc2dzdHIgIiIKKyLQktGB0LjRh9C60Lgg0L/RgNC+0LzQtdC90LgsINC60L7QuNGC0L4g0L3QtSDRgdCwINCx0LjQu9C4INCy0LrQsNGA0LDQvdC4INCyINC40L3QtNC10LrRgdCwLCDRidC1INCx0YrQtNCw0YIg0LHQtdC30LLRitC30LLRgNCw0YLQvdC+ICIKKyLQt9Cw0LPRg9Cx0LXQvdC4LiIKKworIzogbGliL2luZGV4LnRjbDo0NDEKK21zZ2lkICJEbyBOb3RoaW5nIgorbXNnc3RyICLQndC40YnQviDQtNCwINC90LUg0YHQtSDQv9GA0LDQstC4IgorCisjOiBsaWIvaW5kZXgudGNsOjQ1OQorbXNnaWQgIlJldmVydGluZyBzZWxlY3RlZCBmaWxlcyIKK21zZ3N0ciAi0JzQsNGF0LDQvdC1INC90LAg0L/RgNC+0LzQtdC90LjRgtC1INCyINC40LfQsdGA0LDQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKKworIzogbGliL2luZGV4LnRjbDo0NjMKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJSZXZlcnRpbmcgJXMiCittc2dzdHIgItCc0LDRhdCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC40YLQtSDQsiDigJ4lc+KAnCIKKworIzogbGliL2VuY29kaW5nLnRjbDo0NDMKK21zZ2lkICJEZWZhdWx0IgorbXNnc3RyICLQodGC0LDQvdC00LDRgNGC0L3QvtGC0L4iCisKKyM6IGxpYi9lbmNvZGluZy50Y2w6NDQ4CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiU3lzdGVtICglcykiCittc2dzdHIgItCh0LjRgdGC0LXQvNC90L7RgtC+ICglcykiCisKKyM6IGxpYi9lbmNvZGluZy50Y2w6NDU5IGxpYi9lbmNvZGluZy50Y2w6NDY1Cittc2dpZCAiT3RoZXIiCittc2dzdHIgItCU0YDRg9Cz0L4iCisKKyM6IGxpYi9kYXRlLnRjbDoyNQorIywgdGNsLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZGF0ZSBmcm9tIEdpdDogJXMiCittc2dzdHIgItCd0LXQv9GA0LDQstC40LvQvdC4INC00LDQvdC90Lgg0L7RgiBHaXQ6ICVzIgorCisjOiBsaWIvZGF0YWJhc2UudGNsOjQyCittc2dpZCAiTnVtYmVyIG9mIGxvb3NlIG9iamVjdHMiCittc2dzdHIgItCR0YDQvtC5INC90LXQv9Cw0LrQtdGC0LjRgNCw0L3QuCDQvtCx0LXQutGC0LgiCisKKyM6IGxpYi9kYXRhYmFzZS50Y2w6NDMKK21zZ2lkICJEaXNrIHNwYWNlIHVzZWQgYnkgbG9vc2Ugb2JqZWN0cyIKK21zZ3N0ciAi0JTQuNGB0LrQvtCy0L4g0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC+INC30LDQtdGC0L4g0L7RgiDQvdC10L/QsNC60LXRgtC40YDQsNC90Lgg0L7QsdC10LrRgtC4IgorCisjOiBsaWIvZGF0YWJhc2UudGNsOjQ0Cittc2dpZCAiTnVtYmVyIG9mIHBhY2tlZCBvYmplY3RzIgorbXNnc3RyICLQkdGA0L7QuSDQv9Cw0LrQtdGC0LjRgNCw0L3QuCDQvtCx0LXQutGC0LgiCisKKyM6IGxpYi9kYXRhYmFzZS50Y2w6NDUKK21zZ2lkICJOdW1iZXIgb2YgcGFja3MiCittc2dzdHIgItCR0YDQvtC5INC/0LDQutC10YLQuCIKKworIzogbGliL2RhdGFiYXNlLnRjbDo0NgorbXNnaWQgIkRpc2sgc3BhY2UgdXNlZCBieSBwYWNrZWQgb2JqZWN0cyIKK21zZ3N0ciAi0JTQuNGB0LrQvtCy0L4g0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC+INC30LDQtdGC0L4g0L7RgiDQv9Cw0LrQtdGC0LjRgNCw0L3QuCDQvtCx0LXQutGC0LgiCisKKyM6IGxpYi9kYXRhYmFzZS50Y2w6NDcKK21zZ2lkICJQYWNrZWQgb2JqZWN0cyB3YWl0aW5nIGZvciBwcnVuaW5nIgorbXNnc3RyICLQn9Cw0LrQtdGC0LjRgNCw0L3QuCDQvtCx0LXQutGC0Lgg0LfQsCDQvtC60LDRgdGC0YDRj9C90LUiCisKKyM6IGxpYi9kYXRhYmFzZS50Y2w6NDgKK21zZ2lkICJHYXJiYWdlIGZpbGVzIgorbXNnc3RyICLQpNCw0LnQu9C+0LLQtSDQt9CwINCx0L7QutC70YPQutCwIgorCisjOiBsaWIvZGF0YWJhc2UudGNsOjcyCittc2dpZCAiQ29tcHJlc3NpbmcgdGhlIG9iamVjdCBkYXRhYmFzZSIKK21zZ3N0ciAi0JrQvtC80L/RgNC10YHQuNGA0LDQvdC1INC90LAg0LHQsNC30LDRgtCwINGBINC00LDQvdC90Lgg0LfQsCDQvtCx0LXQutGC0LjRgtC1IgorCisjOiBsaWIvZGF0YWJhc2UudGNsOjgzCittc2dpZCAiVmVyaWZ5aW5nIHRoZSBvYmplY3QgZGF0YWJhc2Ugd2l0aCBmc2NrLW9iamVjdHMiCittc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0L3QsCDQsdCw0LfQsNGC0LAg0YEg0LTQsNC90L3QuCDQt9CwINC+0LHQtdC60YLQuNGC0LUg0YEg0L/RgNC+0LPRgNCw0LzQsNGC0LAgZnNjay1vYmplY3RzIgorCisjOiBsaWIvZGF0YWJhc2UudGNsOjEwNworIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJUaGlzIHJlcG9zaXRvcnkgY3VycmVudGx5IGhhcyBhcHByb3hpbWF0ZWx5ICVpIGxvb3NlIG9iamVjdHMuXG4iCisiXG4iCisiVG8gbWFpbnRhaW4gb3B0aW1hbCBwZXJmb3JtYW5jZSBpdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0aGF0IHlvdSBjb21wcmVzcyAiCisidGhlIGRhdGFiYXNlLlxuIgorIlxuIgorIkNvbXByZXNzIHRoZSBkYXRhYmFzZSBub3c/IgorbXNnc3RyICIiCisi0JIg0YLQvtCy0LAg0YXRgNCw0L3QuNC70LjRidC1INCyINC80L7QvNC10L3RgtCwINC40LzQsCDQutGK0LwgJWkg0L3QtdC/0LDQutC10YLQuNGA0LDQvdC4INC+0LHQtdC60YLQuC5cbiIKKyJcbiIKKyLQl2Qg0LTQvtCx0YDQsCDQv9GA0L7QuNC30LLQvtC00LjRgtC10LvQvdC+0YHRgiDRgdC1INC/0YDQtdC/0L7RgNGK0YfQstCwINC00LAg0LrQvtC80L/RgNC10YHQuNGA0LDRgtC1INCx0LDQt9Cw0YLQsCDRgSDQtNCw0L3QvdC4INC30LAgIgorItC+0LHQtdC60YLQuNGC0LUuXG4iCisiXG4iCisi0JTQsCDRgdC1INC30LDQv9C+0YfQvdC1INC70Lgg0LrQvtC80L/RgNC10YHQuNGA0LDQvdC10YLQvj8iCisKKyM6IGxpYi9lcnJvci50Y2w6MjAgbGliL2Vycm9yLnRjbDoxMTYKK21zZ2lkICJlcnJvciIKK21zZ3N0ciAi0LPRgNC10YjQutCwIgorCisjOiBsaWIvZXJyb3IudGNsOjM2Cittc2dpZCAid2FybmluZyIKK21zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtSIKKworIzogbGliL2Vycm9yLnRjbDo5NgorbXNnaWQgIllvdSBtdXN0IGNvcnJlY3QgdGhlIGFib3ZlIGVycm9ycyBiZWZvcmUgY29tbWl0dGluZy4iCittc2dzdHIgItCf0YDQtdC00Lgg0LTQsCDQvNC+0LbQtdGC0LUg0LTQsCDQv9C+0LTQsNC00LXRgtC1LCDQvtC/0YDQsNCy0LXRgtC1INCz0L7RgNC90LjRgtC1INCz0YDQtdGI0LrQuC4iCisKKyM6IGxpYi9tZXJnZS50Y2w6MTMKK21zZ2lkICIiCisiQ2Fubm90IG1lcmdlIHdoaWxlIGFtZW5kaW5nLlxuIgorIlxuIgorIllvdSBtdXN0IGZpbmlzaCBhbWVuZGluZyB0aGlzIGNvbW1pdCBiZWZvcmUgc3RhcnRpbmcgYW55IHR5cGUgb2YgbWVyZ2UuXG4iCittc2dzdHIgIiIKKyLQn9C+INCy0YDQtdC80LUg0L3QsCDQv9C+0L/RgNCw0LLRj9C90LUg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LvQuNCy0LDQvdC1LlxuIgorIlxuIgorItCi0YDRj9Cx0LLQsCDQtNCwINC30LDQstGK0YDRiNC40YLQtSDQv9C+0L/RgNCw0LLRj9C90LXRgtC+INC90LAg0YLQtdC60YPRidC+0YLQviDQv9C+0LTQsNCy0LDQvdC1LCDQv9GA0LXQtNC4INC00LAg0LfQsNC/0L7Rh9C90LXRgtC1ICIKKyLRgdC70LjQstCw0L3QtS5cbiIKKworIzogbGliL21lcmdlLnRjbDoyNworbXNnaWQgIiIKKyJMYXN0IHNjYW5uZWQgc3RhdGUgZG9lcyBub3QgbWF0Y2ggcmVwb3NpdG9yeSBzdGF0ZS5cbiIKKyJcbiIKKyJBbm90aGVyIEdpdCBwcm9ncmFtIGhhcyBtb2RpZmllZCB0aGlzIHJlcG9zaXRvcnkgc2luY2UgdGhlIGxhc3Qgc2Nhbi4gIEEgIgorInJlc2NhbiBtdXN0IGJlIHBlcmZvcm1lZCBiZWZvcmUgYSBtZXJnZSBjYW4gYmUgcGVyZm9ybWVkLlxuIgorIlxuIgorIlRoZSByZXNjYW4gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHN0YXJ0ZWQgbm93LlxuIgorbXNnc3RyICIiCisi0J/QvtGB0LvQtdC00L3QviDRg9GB0YLQsNC90L7QstC10L3QvtGC0L4g0YHRitGB0YLQvtGP0L3QuNC1INC90LUg0L7RgtCz0L7QstCw0YDRjyDQvdCwINGC0L7QstCwINCyINGF0YDQsNC90LjQu9C40YnQtdGC0L4uXG4iCisiXG4iCisi0J3Rj9C60L7QuSDQtNGA0YPQsyDQv9GA0L7RhtC10YEg0LfQsCBHaXQg0LUg0L/RgNC+0LzQtdC90LjQuyDRhdGA0LDQvdC40LvQuNGJ0LXRgtC+INC80LXQttC00YPQstGA0LXQvNC10L3QvdC+LiDQodGK0YHRgtC+0Y/QvdC40LXRgtC+ICIKKyLRgtGA0Y/QsdCy0LAg0LTQsCDQsdGK0LTQtSDQv9GA0L7QstC10YDQtdC90L4sINC/0YDQtdC00Lgg0LTQsCDRgdC1INC40LfQstGK0YDRiNC4INGB0LvQuNCy0LDQvdC1LlxuIgorIlxuIgorItCQ0LLRgtC+0LzQsNGC0LjRh9C90L4g0YnQtSDQt9Cw0L/QvtGH0L3QtSDQvdC+0LLQsCDQv9GA0L7QstC10YDQutCwLlxuIgorIlxuIgorCisjOiBsaWIvbWVyZ2UudGNsOjQ1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIGNvbmZsaWN0ZWQgbWVyZ2UuXG4iCisiXG4iCisiRmlsZSAlcyBoYXMgbWVyZ2UgY29uZmxpY3RzLlxuIgorIlxuIgorIllvdSBtdXN0IHJlc29sdmUgdGhlbSwgc3RhZ2UgdGhlIGZpbGUsIGFuZCBjb21taXQgdG8gY29tcGxldGUgdGhlIGN1cnJlbnQgIgorIm1lcmdlLiAgT25seSB0aGVuIGNhbiB5b3UgYmVnaW4gYW5vdGhlciBtZXJnZS5cbiIKK21zZ3N0ciAiIgorItCSINC80L7QvNC10L3RgtCwINGC0LXRh9C1INGB0LvQuNCy0LDQvdC1LCDQvdC+INC40LzQsCDQutC+0L3RhNC70LjQutGC0LguXG4iCisiXG4iCisi0J/QvtCz0LvQtdC00L3QtdGC0LUg0YTQsNC50LvQsCDigJ4lc+KAnC5cbiIKKyJcbiIKKyLQotGA0Y/QsdCy0LAg0LTQsCDQutC+0YDQuNCz0LjRgNCw0YLQtSDQutC+0L3RhNC70LjQutGC0LjRgtC1INCyINC90LXQs9C+LCDQtNCwINCz0L4g0LTQvtCx0LDQstC40YLQtSDQutGK0Lwg0LjQvdC00LXQutGB0LAg0Lgg0LTQsCAiCisi0LfQsNCy0YrRgNGI0LjRgtC1INGC0LXQutGD0YnQvtGC0L4g0YHQu9C40LLQsNC90LUg0YfRgNC10Lcg0L/QvtC00LDQstCw0L3QtS4g0KfQsNC6INGC0L7Qs9Cw0LLQsCDQvNC+0LbQtSDQtNCwINC30LDQv9C+0YfQvdC10YLQtSDQvdC+0LLQviAiCisi0YHQu9C40LLQsNC90LUuXG4iCisKKyM6IGxpYi9tZXJnZS50Y2w6NTUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgY2hhbmdlLlxuIgorIlxuIgorIkZpbGUgJXMgaXMgbW9kaWZpZWQuXG4iCisiXG4iCisiWW91IHNob3VsZCBjb21wbGV0ZSB0aGUgY3VycmVudCBjb21taXQgYmVmb3JlIHN0YXJ0aW5nIGEgbWVyZ2UuICBEb2luZyBzbyAiCisid2lsbCBoZWxwIHlvdSBhYm9ydCBhIGZhaWxlZCBtZXJnZSwgc2hvdWxkIHRoZSBuZWVkIGFyaXNlLlxuIgorbXNnc3RyICIiCisi0JIg0LzQvtC80LXQvdGC0LAg0YLQtdGH0LUg0L/QvtC00LDQstCw0L3QtS5cbiIKKyJcbiIKKyLQpNCw0LnQu9GK0YIg4oCeJXPigJwg0LUg0L/RgNC+0LzQtdC90LXQvS5cbiIKKyJcbiIKKyLQotGA0Y/QsdCy0LAg0LTQsCDQt9Cw0LLRitGA0YjQuNGC0LUg0YLQtdC60YPRidC+0YLQviDQv9C+0LTQsNCy0LDQvdC1LCDQv9GA0LXQtNC4INC00LAg0LfQsNC/0L7Rh9C90LXRgtC1INGB0LvQuNCy0LDQvdC1LiDQotCw0LrQsCDRidC1ICIKKyLQvNC+0LbQtdGC0LUg0LvQtdGB0L3QviDQtNCwINC/0YDQtdGD0YHRgtCw0L3QvtCy0LjRgtC1INGB0LvQuNCy0LDQvdC10YLQviwg0LDQutC+INCy0YrQt9C90LjQutC90LUg0L3Rg9C20LTQsC5cbiIKKworIzogbGliL21lcmdlLnRjbDoxMDgKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIlcyBvZiAlcyIKK21zZ3N0ciAiJXMg0L7RgiDQvtCx0YnQviAlcyIKKworIzogbGliL21lcmdlLnRjbDoxMjIKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJNZXJnaW5nICVzIGFuZCAlcy4uLiIKK21zZ3N0ciAi0KHQu9C40LLQsNC90LUg0L3QsCDigJ4lc+KAnCDQuCDigJ4lc+KAnOKApiIKKworIzogbGliL21lcmdlLnRjbDoxMzMKK21zZ2lkICJNZXJnZSBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LiIKK21zZ3N0ciAi0KHQu9C40LLQsNC90LXRgtC+INC30LDQstGK0YDRiNC4INGD0YHQv9C10YjQvdC+LiIKKworIzogbGliL21lcmdlLnRjbDoxMzUKK21zZ2lkICJNZXJnZSBmYWlsZWQuICBDb25mbGljdCByZXNvbHV0aW9uIGlzIHJlcXVpcmVkLiIKK21zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INGB0LvQuNCy0LDQvdC1IOKAlCDQuNC80LAg0LrQvtC90YTQu9C40LrRgtC4INC30LAg0LrQvtGA0LjQs9C40YDQsNC90LUuIgorCisjOiBsaWIvbWVyZ2UudGNsOjE2MAorIywgdGNsLWZvcm1hdAorbXNnaWQgIk1lcmdlIEludG8gJXMiCittc2dzdHIgItCh0LvQuNCy0LDQvdC1INCyIOKAniVz4oCcIgorCisjOiBsaWIvbWVyZ2UudGNsOjE3OQorbXNnaWQgIlJldmlzaW9uIFRvIE1lcmdlIgorbXNnc3RyICLQktC10YDRgdC40Y8g0LfQsCDRgdC70LjQstCw0L3QtSIKKworIzogbGliL21lcmdlLnRjbDoyMTQKK21zZ2lkICIiCisiQ2Fubm90IGFib3J0IHdoaWxlIGFtZW5kaW5nLlxuIgorIlxuIgorIllvdSBtdXN0IGZpbmlzaCBhbWVuZGluZyB0aGlzIGNvbW1pdC5cbiIKK21zZ3N0ciAiIgorItCf0L7Qv9GA0LDQstGP0L3QtdGC0L4g0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQtdGD0YHRgtCw0L3QvtCy0LXQvdC+LlxuIgorIlxuIgorItCi0YDRj9Cx0LLQsCDQtNCwINC30LDQstGK0YDRiNC40YLQtSDQv9C+0L/RgNCw0LLQutCw0YLQsCDQvdCwINGC0L7QstCwINC/0L7QtNCw0LLQsNC90LUuXG4iCisKKyM6IGxpYi9tZXJnZS50Y2w6MjI0Cittc2dpZCAiIgorIkFib3J0IG1lcmdlP1xuIgorIlxuIgorIkFib3J0aW5nIHRoZSBjdXJyZW50IG1lcmdlIHdpbGwgY2F1c2UgKkFMTCogdW5jb21taXR0ZWQgY2hhbmdlcyB0byBiZSBsb3N0LlxuIgorIlxuIgorIkNvbnRpbnVlIHdpdGggYWJvcnRpbmcgdGhlIGN1cnJlbnQgbWVyZ2U/IgorbXNnc3RyICIiCisi0JTQsCDRgdC1INC/0YDQtdGD0YHRgtCw0L3QvtCy0Lgg0LvQuCDRgdC70LjQstCw0L3QtdGC0L4/XG4iCisiXG4iCisi0JIg0YLQsNC60YrQsiDRgdC70YPRh9Cw0LkgKtCS0KHQmNCn0JrQmCog0L3QtdC/0L7QtNCw0LTQtdC90Lgg0L/RgNC+0LzQtdC90Lgg0YnQtSDQsdGK0LTQsNGCINCx0LXQt9Cy0YrQt9Cy0YDQsNGC0L3QviDQt9Cw0LPRg9Cx0LXQvdC4LlxuIgorIlxuIgorItCd0LDQuNGB0YLQuNC90LAg0LvQuCDQtNCwINGB0LUg0L/RgNC10YPRgdGC0LDQvdC+0LLQuCDRgdC70LjQstCw0L3QtdGC0L4/IgorCisjOiBsaWIvbWVyZ2UudGNsOjIzMAorbXNnaWQgIiIKKyJSZXNldCBjaGFuZ2VzP1xuIgorIlxuIgorIlJlc2V0dGluZyB0aGUgY2hhbmdlcyB3aWxsIGNhdXNlICpBTEwqIHVuY29tbWl0dGVkIGNoYW5nZXMgdG8gYmUgbG9zdC5cbiIKKyJcbiIKKyJDb250aW51ZSB3aXRoIHJlc2V0dGluZyB0aGUgY3VycmVudCBjaGFuZ2VzPyIKK21zZ3N0ciAiIgorItCU0LAg0YHQtSDQt9Cw0L3Rg9C70Y/RgiDQu9C4INC/0YDQvtC80LXQvdC40YLQtT9cbiIKKyJcbiIKKyLQkiDRgtCw0LrRitCyINGB0LvRg9GH0LDQuSAq0JLQodCY0KfQmtCYKiDQvdC10L/QvtC00LDQtNC10L3QuCDQv9GA0L7QvNC10L3QuCDRidC1INCx0YrQtNCw0YIg0LHQtdC30LLRitC30LLRgNCw0YLQvdC+INC30LDQs9GD0LHQtdC90LguXG4iCisiXG4iCisi0J3QsNC40YHRgtC40L3QsCDQu9C4INC00LAg0YHQtSDQt9Cw0L3Rg9C70Y/RgiDQv9GA0L7QvNC10L3QuNGC0LU/IgorCisjOiBsaWIvbWVyZ2UudGNsOjI0MQorbXNnaWQgIkFib3J0aW5nIgorbXNnc3RyICLQn9GA0LXRg9GB0YLQsNC90L7QstGP0LLQsNC90LUiCisKKyM6IGxpYi9tZXJnZS50Y2w6MjQxCittc2dpZCAiZmlsZXMgcmVzZXQiCittc2dzdHIgItGE0LDQudC70LAg0YHRitGBINC30LDQvdGD0LvQtdC90Lgg0L/RgNC+0LzQtdC90LgiCisKKyM6IGxpYi9tZXJnZS50Y2w6MjY5Cittc2dpZCAiQWJvcnQgZmFpbGVkLiIKK21zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtS4iCisKKyM6IGxpYi9tZXJnZS50Y2w6MjcxCittc2dpZCAiQWJvcnQgY29tcGxldGVkLiAgUmVhZHkuIgorbXNnc3RyICLQo9GB0L/QtdGI0L3QviDQv9GA0LXRg9GB0YLQsNC90L7QstGP0LLQsNC90LUuINCT0L7RgtC+0LLQvdC+0YHRgiDQt9CwINGB0LvQtdC00LLQsNGJ0L4g0LTQtdC50YHRgtCy0LjQtS4iCmRpZmYgLS1naXQgYS9naXQtZ3VpL3BvL2dsb3NzYXJ5L2JnLnBvIGIvZ2l0LWd1aS9wby9nbG9zc2FyeS9iZy5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjcxZmFkCi0tLSAvZGV2L251bGwKKysrIGIvZ2l0LWd1aS9wby9nbG9zc2FyeS9iZy5wbwpAQCAtMCwwICsxLDI4NyBAQAorIyBCdWxnYXJpYW4gdHJhbnNsYXRpb24gb2YgZ2l0LWd1aS1nbG9zc2FyeSBwby1maWxlLgorIyBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMsIDIwMTQgQWxleGFuZGVyIFNob3BvdiA8YXNoQGthbWJhbmFyaWEub3JnPi4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGdpdCBwYWNrYWdlLgorIyBBbGV4YW5kZXIgU2hvcG92IDxhc2hAa2FtYmFuYXJpYS5vcmc+LCAyMDEyLCAyMDEzLCAyMDE0LgorIworIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogZ2l0LWd1aS1nbG9zc2FyeSBtYXN0ZXJcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNC0wMS0xMyAyMTozOSswMjAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxNC0wMS0xMyAyMTozOSswMjAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBBbGV4YW5kZXIgU2hvcG92IDxhc2hAa2FtYmFuYXJpYS5vcmc+XG4iCisiTGFuZ3VhZ2UtVGVhbTogQnVsZ2FyaWFuIDxkaWN0QGZzYS1iZy5vcmc+XG4iCisiTGFuZ3VhZ2U6IGJnXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCisKKyMuICJFbmdsaXNoIERlZmluaXRpb24gKERlYXIgdHJhbnNsYXRvcjogVGhpcyBmaWxlIHdpbGwgbmV2ZXIgYmUgdmlzaWJsZSB0byB0aGUgdXNlciEgSXQgc2hvdWxkIG9ubHkgc2VydmUgYXMgYSB0b29sIGZvciB5b3UsIHRoZSB0cmFuc2xhdG9yLiBOb3RoaW5nIG1vcmUuKSIKK21zZ2lkICIiCisiRW5nbGlzaCBUZXJtIChEZWFyIHRyYW5zbGF0b3I6IFRoaXMgZmlsZSB3aWxsIG5ldmVyIGJlIHZpc2libGUgdG8gdGhlIHVzZXIhKSIKK21zZ3N0ciAi0KLQtdGA0LzQuNC9IgorCisjLiAiIgorbXNnaWQgImFtZW5kIgorbXNnc3RyICLQv9C+0L/RgNCw0LLRj9C8IgorCisjLiAiIgorbXNnaWQgImFubm90YXRlIgorbXNnc3RyICLQsNC90L7RgtC40YDQsNC8IgorCisjLiAiQSAnYnJhbmNoJyBpcyBhbiBhY3RpdmUgbGluZSBvZiBkZXZlbG9wbWVudC4iCittc2dpZCAiYnJhbmNoIFtub3VuXSIKK21zZ3N0ciAi0LrQu9C+0L0sINGA0LDQt9C60LvQvtC90LXQvdC40LUgW9GB0YrRidC10YHRgtCy0LjRgtC10LvQvdC+XSIKKworIy4gIiIKK21zZ2lkICJicmFuY2ggW3ZlcmJdIgorbXNnc3RyICLRgNCw0LfQutC70L7QvdGP0LLQsNC8IFvQs9C70LDQs9C+0LtdIgorCisjLiAiIgorbXNnaWQgImNoZWNrb3V0IFtub3VuXSIKK21zZ3N0ciAi0LjQt9GC0LXQs9C70Y/QvdC1IFvRgdGK0YnQtdGB0YLQstC40YLQtdC70L3Qvl0iCisKKyMuICJUaGUgYWN0aW9uIG9mIHVwZGF0aW5nIHRoZSB3b3JraW5nIHRyZWUgdG8gYSByZXZpc2lvbiB3aGljaCB3YXMgc3RvcmVkIGluIHRoZSBvYmplY3QgZGF0YWJhc2UuIgorbXNnaWQgImNoZWNrb3V0IFt2ZXJiXSIKK21zZ3N0ciAi0LjQt9GC0LXQs9C70Y/QvdC1IFvQs9C70LDQs9C+0LtdIgorCisjLiAiIgorbXNnaWQgImNsb25lIFt2ZXJiXSIKK21zZ3N0ciAi0LrQu9C+0L3QuNGA0LDQvCBb0LPQu9Cw0LPQvtC7XSIKKworIy4gIkEgc2luZ2xlIHBvaW50IGluIHRoZSBnaXQgaGlzdG9yeS4iCittc2dpZCAiY29tbWl0IFtub3VuXSIKK21zZ3N0ciAi0L/QvtC00LDQstCw0L3QtSBb0YHRitGJ0LXRgdGC0LLQuNGC0LXQu9C90L5dIgorCisjLiAiVGhlIGFjdGlvbiBvZiBzdG9yaW5nIGEgbmV3IHNuYXBzaG90IG9mIHRoZSBwcm9qZWN0J3Mgc3RhdGUgaW4gdGhlIGdpdCBoaXN0b3J5LiIKK21zZ2lkICJjb21taXQgW3ZlcmJdIgorbXNnc3RyICLQv9C+0LTQsNCy0LDQvCBb0YHRitGJ0LXRgdGC0LLQuNGC0LXQu9C90L5dIgorCisjLiAiIgorbXNnaWQgImRpZmYgW25vdW5dIgorbXNnc3RyICLRgNCw0LfQu9C40LrQsC/Qv9GA0L7QvNC10L3QuCBb0YHRitGJ0LXRgdGC0LLQuNGC0LXQu9C90L5dIgorCisjLiAiIgorbXNnaWQgImRpZmYgW3ZlcmJdIgorbXNnc3RyICLQuNC30YfQuNGB0LvRj9Cy0LDQvCDRgNCw0LfQu9C40LrQsC/Qv9GA0L7QvNC10L3QuCBb0LPQu9Cw0LPQvtC7XSIKKworIy4gIkEgZmFzdC1mb3J3YXJkIGlzIGEgc3BlY2lhbCB0eXBlIG9mIG1lcmdlIHdoZXJlIHlvdSBoYXZlIGEgcmV2aXNpb24gYW5kIHlvdSBhcmUgbWVyZ2luZyBhbm90aGVyIGJyYW5jaCdzIGNoYW5nZXMgdGhhdCBoYXBwZW4gdG8gYmUgYSBkZXNjZW5kYW50IG9mIHdoYXQgeW91IGhhdmUuIgorbXNnaWQgImZhc3QgZm9yd2FyZCBtZXJnZSIKK21zZ3N0ciAi0L/RgNC10LLRitGA0YLQsNGJ0L4v0LTQuNGA0LXQutGC0L3Qvi/RgtGA0LjQstC40LDQu9C90L4g0YHQu9C40LLQsNC90LUiCisKKyMuICJGZXRjaGluZyBhIGJyYW5jaCBtZWFucyB0byBnZXQgdGhlIGJyYW5jaCdzIGhlYWQgZnJvbSBhIHJlbW90ZSByZXBvc2l0b3J5LCB0byBmaW5kIG91dCB3aGljaCBvYmplY3RzIGFyZSBtaXNzaW5nIGZyb20gdGhlIGxvY2FsIG9iamVjdCBkYXRhYmFzZSwgYW5kIHRvIGdldCB0aGVtLCB0b28uIgorbXNnaWQgImZldGNoIgorbXNnc3RyICLQtNC+0YHRgtCw0LLRj9C90LUiCisKKyMuICJPbmUgY29udGV4dCBvZiBjb25zZWN1dGl2ZSBsaW5lcyBpbiBhIHdob2xlIHBhdGNoLCB3aGljaCBjb25zaXN0cyBvZiBtYW55IHN1Y2ggaHVua3MiCittc2dpZCAiaHVuayIKK21zZ3N0ciAi0L/QsNGA0YfQtSIKKworIy4gIkEgY29sbGVjdGlvbiBvZiBmaWxlcy4gVGhlIGluZGV4IGlzIGEgc3RvcmVkIHZlcnNpb24gb2YgeW91ciB3b3JraW5nIHRyZWUuIgorbXNnaWQgImluZGV4IChpbiBnaXQtZ3VpOiBzdGFnaW5nIGFyZWEpIgorbXNnc3RyICLRgdC60LXQu9C1L9C40L3QtNC10LrRgS/QuNC30LHQsCIKKworIy4gIkEgc3VjY2Vzc2Z1bCBtZXJnZSByZXN1bHRzIGluIHRoZSBjcmVhdGlvbiBvZiBhIG5ldyBjb21taXQgcmVwcmVzZW50aW5nIHRoZSByZXN1bHQgb2YgdGhlIG1lcmdlLiIKK21zZ2lkICJtZXJnZSBbbm91bl0iCittc2dzdHIgItGB0LvQuNCy0LDQvdC1L9C+0LHQtdC00LjQvdGP0LLQsNC90LUgW9GB0YrRidC10YHRgtCy0LjRgtC10LvQvdC+XSIKKworIy4gIlRvIGJyaW5nIHRoZSBjb250ZW50cyBvZiBhbm90aGVyIGJyYW5jaCBpbnRvIHRoZSBjdXJyZW50IGJyYW5jaC4iCittc2dpZCAibWVyZ2UgW3ZlcmJdIgorbXNnc3RyICLRgdC70LjQstCw0Lwv0L7QsdC10LTQuNC90Y/QstCw0LwgW9Cz0LvQsNCz0L7Qu10iCisKKyMuICIiCittc2dpZCAibWVzc2FnZSIKK21zZ3N0ciAi0YHRitC+0LHRidC10L3QuNC1IgorCisjLiAiRGVsZXRlcyBhbGwgc3RhbGUgdHJhY2tpbmcgYnJhbmNoZXMgdW5kZXIgPG5hbWU+LiBUaGVzZSBzdGFsZSBicmFuY2hlcyBoYXZlIGFscmVhZHkgYmVlbiByZW1vdmVkIGZyb20gdGhlIHJlbW90ZSByZXBvc2l0b3J5IHJlZmVyZW5jZWQgYnkgPG5hbWU+LCBidXQgYXJlIHN0aWxsIGxvY2FsbHkgYXZhaWxhYmxlIGluICdyZW1vdGVzLzxuYW1lPicuIgorbXNnaWQgInBydW5lIgorbXNnc3RyICLQvtC60LDRgdGC0YDRj9C8IgorCisjLiAiUHVsbGluZyBhIGJyYW5jaCBtZWFucyB0byBmZXRjaCBpdCBhbmQgbWVyZ2UgaXQuIgorbXNnaWQgInB1bGwiCittc2dzdHIgItC40LfQtNGK0YDQv9Cy0LDQvCIKKworIy4gIlB1c2hpbmcgYSBicmFuY2ggbWVhbnMgdG8gZ2V0IHRoZSBicmFuY2gncyBoZWFkIHJlZiBmcm9tIGEgcmVtb3RlIHJlcG9zaXRvcnksIGFuZCAuLi4gKHdlbGwsIGNhbiBzb21lb25lIHBsZWFzZSBleHBsYWluIGl0IGZvciBtZXJlIG1vcnRhbHM/KSIKK21zZ2lkICJwdXNoIgorbXNnc3RyICLQuNC30YLQu9Cw0YHQutCy0LDQvCIKKworIy4gIiIKK21zZ2lkICJyZWRvIgorbXNnc3RyICLQv9C+0LLRgtCw0YDRj9C8L9C/0YDQsNCy0Y8g0L3QsNC90L7QstC+IgorCisjLiAiQW4gb3RoZXIgcmVwb3NpdG9yeSAoJ3JlbW90ZScpLiBPbmUgbWlnaHQgaGF2ZSBhIHNldCBvZiByZW1vdGVzIHdob3NlIGJyYW5jaGVzIG9uZSB0cmFja3MuIgorbXNnaWQgInJlbW90ZSIKK21zZ3N0ciAi0L7RgtC00LDQu9C10YfQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1IgorCisjLiAiQSBjb2xsZWN0aW9uIG9mIHJlZnMgKD8pIHRvZ2V0aGVyIHdpdGggYW4gb2JqZWN0IGRhdGFiYXNlIGNvbnRhaW5pbmcgYWxsIG9iamVjdHMgd2hpY2ggYXJlIHJlYWNoYWJsZSBmcm9tIHRoZSByZWZzLi4uIChvb3BzLCB5b3UndmUgbG9zdCBtZSBoZXJlLiBBZ2FpbiwgcGxlYXNlIGFuIGV4cGxhbmF0aW9uIGZvciBtZXJlIG1vcnRhbHM/KSIKK21zZ2lkICJyZXBvc2l0b3J5IgorbXNnc3RyICLRhdGA0LDQvdC40LvQuNGJ0LUiCisKKyMuICIiCittc2dpZCAicmVzZXQiCittc2dzdHIgItC30LDQvdGD0LvRj9Cy0LDQvC/QvtGC0LzQtdC90Y/QvCIKKworIy4gIiIKK21zZ2lkICJyZXZlcnQiCittc2dzdHIgItCy0YDRitGJ0LDQvC/QvtGC0LzQtdC90Y/QvCIKKworIy4gIkEgcGFydGljdWxhciBzdGF0ZSBvZiBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgd2hpY2ggd2FzIHN0b3JlZCBpbiB0aGUgb2JqZWN0IGRhdGFiYXNlLiIKK21zZ2lkICJyZXZpc2lvbiIKK21zZ3N0ciAi0LLQtdGA0YHQuNGPIgorCisjLiAiIgorbXNnaWQgInNpZ24gb2ZmIgorbXNnc3RyICLQv9C+0LTQv9C40YHQstCw0LwiCisKKyMuICIiCittc2dpZCAic3RhZ2luZyBhcmVhIgorbXNnc3RyICLRgdC60LXQu9C1L9C40L3QtNC10LrRgS/QuNC30LHQsCIKKworIy4gIiIKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgItGB0YrRgdGC0L7Rj9C90LjQtSIKKworIy4gIkEgcmVmIHBvaW50aW5nIHRvIGEgdGFnIG9yIGNvbW1pdCBvYmplY3QiCittc2dpZCAidGFnIFtub3VuXSIKK21zZ3N0ciAi0LXRgtC40LrQtdGCIFvRgdGK0YnQtdGB0YLQstC40YLQtdC70L3Qvl0iCisKKyMuICIiCittc2dpZCAidGFnIFt2ZXJiXSIKK21zZ3N0ciAi0LfQsNC00LDQstCw0Lwg0LXRgtC40LrQtdGCIFvQs9C70LDQs9C+0LtdIgorCisjLiAiQSByZWd1bGFyIGdpdCBicmFuY2ggdGhhdCBpcyB1c2VkIHRvIGZvbGxvdyBjaGFuZ2VzIGZyb20gYW5vdGhlciByZXBvc2l0b3J5LiIKK21zZ2lkICJ0cmFja2luZyBicmFuY2giCittc2dzdHIgItGB0LvQtdC00Y/RiSDQutC70L7QvSIKKworIy4gIiIKK21zZ2lkICJ1bmRvIgorbXNnc3RyICLQvtGC0LzQtdC90Y/QvCIKKworIy4gIiIKK21zZ2lkICJ1cGRhdGUiCittc2dzdHIgItC+0LHQvdC+0LLRj9Cy0LDQvCIKKworIy4gIiIKK21zZ2lkICJ2ZXJpZnkiCittc2dzdHIgItC/0YDQvtCy0LXRgNGP0LLQsNC8IgorCisjLiAiVGhlIHRyZWUgb2YgYWN0dWFsIGNoZWNrZWQgb3V0IGZpbGVzLiIKK21zZ2lkICJ3b3JraW5nIGNvcHksIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAi0YDQsNCx0L7RgtC90L4g0LrQvtC/0LjQtS/RgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+IgorCisjLiAiYSBjb21taXQgdGhhdCBzdWNjZWVkcyB0aGUgY3VycmVudCBvbmUgaW4gZ2l0J3MgZ3JhcGggb2YgY29tbWl0cyAobm90IG5lY2Vzc2FyaWx5IGRpcmVjdGx5KSIKK21zZ2lkICJhbmNlc3RvciIKK21zZ3N0ciAi0L/RgNC10LTRiNC10YHRgtCy0LXQvdC40LoiCisKKyMuICJwcmVtYXR1cmVseSBzdG9wIGFuZCBhYmFuZG9uIGFuIG9wZXJhdGlvbiIKK21zZ2lkICJhYm9ydCIKK21zZ3N0ciAi0L/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LDQvCIKKworIy4gImEgcmVwb3NpdG9yeSB3aXRoIG9ubHkgLmdpdCBkaXJlY3RvcnksIHdpdGhvdXQgd29ya2luZyBkaXJlY3RvcnkiCittc2dpZCAiYmFyZSByZXBvc2l0b3J5IgorbXNnc3RyICLQs9C+0LvQviDRhdGA0LDQvdC40LvQuNGJ0LUiCisKKyMuICJhIHBhcmVudCB2ZXJzaW9uIG9mIHRoZSBjdXJyZW50IGZpbGUiCittc2dpZCAiYmFzZSIKK21zZ3N0ciAi0YDQvtC00LjRgtC10LvRgdC60LAg0LLQtdGA0YHQuNGPIgorCisjLiAiZ2V0IHRoZSBhdXRob3JzIHJlc3BvbnNpYmxlIGZvciBlYWNoIGxpbmUgaW4gYSBmaWxlIgorbXNnaWQgImJsYW1lIgorbXNnc3RyICLQsNC90L7RgtC40YDQsNC8L9Cw0L3QvtGC0LjRgNCw0L3QtSIKKworIy4gInRvIHNlbGVjdCBhbmQgYXBwbHkgYSBzaW5nbGUgY29tbWl0IHdpdGhvdXQgbWVyZ2luZyIKK21zZ2lkICJjaGVycnktcGljayIKK21zZ3N0ciAi0L7RgtCx0LjRgNCw0LwiCisKKyMuICJhIGNvbW1pdCB0aGF0IGRpcmVjdGx5IHN1Y2NlZWRzIHRoZSBjdXJyZW50IG9uZSBpbiBnaXQncyBncmFwaCBvZiBjb21taXRzIgorbXNnaWQgImNoaWxkIgorbXNnc3RyICLQtNC10YLQtSIKKworIy4gImNsZWFuIHRoZSBzdGF0ZSBvZiB0aGUgZ2l0IHJlcG9zaXRvcnksIG9mdGVuIGFmdGVyIG1hbnVhbGx5IHN0b3BwZWQgb3BlcmF0aW9uIgorbXNnaWQgImNsZWFudXAiCittc2dzdHIgItC30LDRh9C40YHRgtCy0LDQvCIKKworIy4gImEgbWVzc2FnZSB0aGF0IGdldHMgYXR0YWNoZWQgd2l0aCBhbnkgY29tbWl0IgorbXNnaWQgImNvbW1pdCBtZXNzYWdlIgorbXNnc3RyICLRgdGK0L7QsdGJ0LXQvdC40LUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LUiCisKKyMuICJhIGNvbW1pdCB0aGF0IHByZWNlZGVzIHRoZSBjdXJyZW50IG9uZSBpbiBnaXQncyBncmFwaCBvZiBjb21taXRzIChub3QgbmVjZXNzYXJpbHkgZGlyZWN0bHkpIgorbXNnaWQgImRlc2NlbmRhbnQiCittc2dzdHIgItC90LDRgdC70LXQtNC90LjQuiIKKworIy4gImNoZWNrb3V0IG9mIGEgcmV2aXNpb24gcmF0aGVyIHRoYW4gYSBzb21lIGhlYWQiCittc2dpZCAiZGV0YWNoZWQgY2hlY2tvdXQiCittc2dzdHIgItC90LXRgdCy0YrRgNC30LDQvdC+INC40LfRgtC10LPQu9GP0L3QtSIKKworIy4gImFueSBtZXJnZSBzdHJhdGVneSB0aGF0IHdvcmtzIG9uIGEgZmlsZSBieSBmaWxlIGJhc2lzIgorbXNnaWQgImZpbGUgbGV2ZWwgbWVyZ2luZyIKK21zZ3N0ciAi0L/QvtGE0LDQudC70L7QstC+INGB0LvQuNCy0LDQvdC1IgorCisjLiAidGhlIGxhc3QgcmV2aXNpb24gaW4gYSBicmFuY2giCittc2dpZCAiaGVhZCIKK21zZ3N0ciAi0LPQu9Cw0LLQsC/QstGA0YrRhSAo0L3QsCDQutC70L7QvSwg0YDQsNC30YDQsNCx0L7RgtC60LApIgorCisjLiAic2NyaXB0IHRoYXQgZ2V0cyBleGVjdXRlZCBhdXRvbWF0aWNhbGx5IG9uIHNvbWUgZXZlbnQiCittc2dpZCAiaG9vayIKK21zZ3N0ciAi0LrRg9C60LAv0LDQstGC0L7QvNCw0YLQuNGH0LXQvSDRgdC60YDQuNC/0YIiCisKKyMuICJ0aGUgZmlyc3QgY2hlY2tvdXQgZHVyaW5nIGEgY2xvbmUgb3BlcmF0aW9uIgorbXNnaWQgImluaXRpYWwgY2hlY2tvdXQiCittc2dzdHIgItC/0YrRgNCy0L7QvdCw0YfQsNC70L3QviDQuNC30YLQtdCz0LvRj9C90LUiCisKKyMuICJhIGJyYW5jaCB0aGF0IHJlc2lkZXMgaW4gdGhlIGxvY2FsIGdpdCByZXBvc2l0b3J5IgorbXNnaWQgImxvY2FsIGJyYW5jaCIKK21zZ3N0ciAi0LvQvtC60LDQu9C10L0g0LrQu9C+0L0iCisKKyMuICJhIEdpdCBvYmplY3QgdGhhdCBpcyBub3QgcGFydCBvZiBhbnkgcGFjayIKK21zZ2lkICJsb29zZSBvYmplY3QiCittc2dzdHIgItC90LXQv9Cw0LrQtdGC0LjRgNCw0L0g0L7QsdC10LrRgiIKKworIy4gImEgYnJhbmNoIGNhbGxlZCBieSBjb252ZW50aW9uICdtYXN0ZXInIHRoYXQgZXhpc3RzIGluIGEgbmV3bHkgY3JlYXRlZCBnaXQgcmVwb3NpdG9yeSIKK21zZ2lkICJtYXN0ZXIgYnJhbmNoIgorbXNnc3RyICLQvtGB0L3QvtCy0LXQvSDQutC70L7QvSIKKworIy4gImEgcmVtb3RlIGNhbGxlZCBieSBjb252ZW50aW9uICdvcmlnaW4nIHRoYXQgdGhlIGN1cnJlbnQgZ2l0IHJlcG9zaXRvcnkgaGFzIGJlZW4gY2xvbmVkIGZyb20iCittc2dpZCAib3JpZ2luIgorbXNnc3RyICLRhdGA0LDQvdC40LvQuNGJ0LUt0LjQt9GC0L7Rh9C90LjQuiIKKworIy4gImEgZmlsZSBjb250YWluaW5nIG1hbnkgZ2l0IG9iamVjdHMgcGFja2VkIHRvZ2V0aGVyIgorbXNnaWQgInBhY2sgW25vdW5dIgorbXNnc3RyICLQtdGC0LjQutC10YIiCisKKyMuICJhIEdpdCBvYmplY3QgcGFydCBvZiBzb21lIHBhY2siCittc2dpZCAicGFja2VkIG9iamVjdCIKK21zZ3N0ciAi0L/QsNC60LXRgtC40YDQsNC9INC+0LHQtdC60YIiCisKKyMuICJhIGNvbW1pdCB0aGF0IGRpcmVjdGx5IHByZWNlZGVzIHRoZSBjdXJyZW50IG9uZSBpbiBnaXQncyBncmFwaCBvZiBjb21taXRzIgorbXNnaWQgInBhcmVudCIKK21zZ3N0ciAi0YDQvtC00LjRgtC10LsiCisKKyMuICJ0aGUgbG9nIGZpbGUgY29udGFpbmluZyBhbGwgc3RhdGVzIG9mIHRoZSBIRUFEIHJlZmVyZW5jZSAoaW4gb3RoZXIgd29yZHMgcGFzdCBwcmlzdGluZSBzdGF0ZXMgb2YgdGhlIHdvcmtpbmcgY29weSkiCittc2dpZCAicmVmbG9nIgorbXNnc3RyICLQttGD0YDQvdCw0Lsg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1IgorCisjLiAiZGVjaWRlIHdoaWNoIGNoYW5nZXMgZnJvbSBhbHRlcm5hdGl2ZSB2ZXJzaW9ucyBvZiBhIGZpbGUgc2hvdWxkIHBlcnNpc3QgaW4gR2l0IgorbXNnaWQgInJlc29sdmUgKGEgY29uZmxpY3QpIgorbXNnc3RyICLQutC+0YDQuNCz0LjRgNCw0LwgKNC60L7QvdGE0LvQuNC60YIpIgorCisjLiAiYWJhbmRvbiBjaGFuZ2VzIGFuZCBnbyB0byBwcmlzdGluZSB2ZXJzaW9uIgorbXNnaWQgInJldmVydCBjaGFuZ2VzIgorbXNnc3RyICLQstGA0YrRidCw0L3QtSDQvdCwINC+0YDQuNCz0LjQvdCw0LvQsCIKKworIy4gImV4cHJlc3Npb24gdGhhdCBzaWduaWZpZXMgYSByZXZpc2lvbiBpbiBnaXQiCittc2dpZCAicmV2aXNpb24gZXhwcmVzc2lvbiIKK21zZ3N0ciAi0LjQt9GA0LDQtyDQt9CwINCy0LXRgNGB0LjRjyIKKworIy4gImFkZCBzb21lIGNvbnRlbnQgb2YgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHRvIHRoZSBzdGFnaW5nIGFyZWEgaW4gcHJlcGFyYXRpb24gZm9yIGEgY29tbWl0IgorbXNnaWQgInN0YWdlL3Vuc3RhZ2UiCittc2dzdHIgIijQtNC+0LHQsNCy0Y/QvdC1KSDQutGK0Lwg0YHQutC10LvQtdGC0L4g0LfQsCDQv9C+0LTQsNCy0LDQvdC1L9C40LfQstCw0LbQtNCw0L3QtSDQvtGCINGB0LrQtdC70LXRgtC+INC30LAg0L/QvtC00LDQstCw0L3QtSIKKworIy4gInRlbXBvcmFyaWx5IHNhdmUgY2hhbmdlcyBpbiBhIHN0YWNrIHdpdGhvdXQgY29tbWl0dGluZyIKK21zZ2lkICJzdGFzaCIKK21zZ3N0ciAi0YHQutCw0YLQsNCy0LDQvCDQv9GA0L7QvNC10L3QuCIKKworIy4gImZpbGUgd2hvc2UgY29udGVudCBpcyB0cmFja2VkL25vdCB0cmFja2VkIGJ5IGdpdCIKK21zZ2lkICJ0cmFja2VkL3VudHJhY2tlZCIKK21zZ3N0ciAi0YHQu9C10LTQtdC9L9C90LXRgdC70LXQtNC10L0iCmRpZmYgLS1naXQgYS9naXQtZ3VpL3BvL2dsb3NzYXJ5L2dpdC1ndWktZ2xvc3NhcnkudHh0IGIvZ2l0LWd1aS9wby9nbG9zc2FyeS9naXQtZ3VpLWdsb3NzYXJ5LnR4dAppbmRleCA5YjMxZjY5Li40MDkzMDQ2IDEwMDY0NAotLS0gYS9naXQtZ3VpL3BvL2dsb3NzYXJ5L2dpdC1ndWktZ2xvc3NhcnkudHh0CisrKyBiL2dpdC1ndWkvcG8vZ2xvc3NhcnkvZ2l0LWd1aS1nbG9zc2FyeS50eHQKQEAgLTM2LDMgKzM2LDMyIEBACiAidXBkYXRlIgkiIgogInZlcmlmeSIJIiIKICJ3b3JraW5nIGNvcHksIHdvcmtpbmcgdHJlZSIJIlRoZSB0cmVlIG9mIGFjdHVhbCBjaGVja2VkIG91dCBmaWxlcy4iCisiYW5jZXN0b3IiCSJhIGNvbW1pdCB0aGF0IHN1Y2NlZWRzIHRoZSBjdXJyZW50IG9uZSBpbiBnaXQncyBncmFwaCBvZiBjb21taXRzIChub3QgbmVjZXNzYXJpbHkgZGlyZWN0bHkpIgorImFib3J0IgkicHJlbWF0dXJlbHkgc3RvcCBhbmQgYWJhbmRvbiBhbiBvcGVyYXRpb24iCisiYmFyZSByZXBvc2l0b3J5IgkiYSByZXBvc2l0b3J5IHdpdGggb25seSAuZ2l0IGRpcmVjdG9yeSwgd2l0aG91dCB3b3JraW5nIGRpcmVjdG9yeSIKKyJiYXNlIgkiYSBwYXJlbnQgdmVyc2lvbiBvZiB0aGUgY3VycmVudCBmaWxlIgorImJsYW1lIgkiZ2V0IHRoZSBhdXRob3JzIHJlc3BvbnNpYmxlIGZvciBlYWNoIGxpbmUgaW4gYSBmaWxlIgorImNoZXJyeS1waWNrIgkidG8gc2VsZWN0IGFuZCBhcHBseSBhIHNpbmdsZSBjb21taXQgd2l0aG91dCBtZXJnaW5nIgorImNoaWxkIgkiYSBjb21taXQgdGhhdCBkaXJlY3RseSBzdWNjZWVkcyB0aGUgY3VycmVudCBvbmUgaW4gZ2l0J3MgZ3JhcGggb2YgY29tbWl0cyIKKyJjbGVhbnVwIgkiY2xlYW4gdGhlIHN0YXRlIG9mIHRoZSBnaXQgcmVwb3NpdG9yeSwgb2Z0ZW4gYWZ0ZXIgbWFudWFsbHkgc3RvcHBlZCBvcGVyYXRpb24iCisiY29tbWl0IG1lc3NhZ2UiCSJhIG1lc3NhZ2UgdGhhdCBnZXRzIGF0dGFjaGVkIHdpdGggYW55IGNvbW1pdCIKKyJkZXNjZW5kYW50IgkiYSBjb21taXQgdGhhdCBwcmVjZWRlcyB0aGUgY3VycmVudCBvbmUgaW4gZ2l0J3MgZ3JhcGggb2YgY29tbWl0cyAobm90IG5lY2Vzc2FyaWx5IGRpcmVjdGx5KSIKKyJkZXRhY2hlZCBjaGVja291dCIJImNoZWNrb3V0IG9mIGEgcmV2aXNpb24gcmF0aGVyIHRoYW4gYSBzb21lIGhlYWQiCisiZmlsZSBsZXZlbCBtZXJnaW5nIgkiYW55IG1lcmdlIHN0cmF0ZWd5IHRoYXQgd29ya3Mgb24gYSBmaWxlIGJ5IGZpbGUgYmFzaXMiCisiaGVhZCIJInRoZSBsYXN0IHJldmlzaW9uIGluIGEgYnJhbmNoIgorImhvb2siCSJzY3JpcHQgdGhhdCBnZXRzIGV4ZWN1dGVkIGF1dG9tYXRpY2FsbHkgb24gc29tZSBldmVudCIKKyJpbml0aWFsIGNoZWNrb3V0IgkidGhlIGZpcnN0IGNoZWNrb3V0IGR1cmluZyBhIGNsb25lIG9wZXJhdGlvbiIKKyJsb2NhbCBicmFuY2giCSJhIGJyYW5jaCB0aGF0IHJlc2lkZXMgaW4gdGhlIGxvY2FsIGdpdCByZXBvc2l0b3J5IgorImxvb3NlIG9iamVjdCIJImEgR2l0IG9iamVjdCB0aGF0IGlzIG5vdCBwYXJ0IG9mIGFueSBwYWNrIgorIm1hc3RlciBicmFuY2giCSJhIGJyYW5jaCBjYWxsZWQgYnkgY29udmVudGlvbiAnbWFzdGVyJyB0aGF0IGV4aXN0cyBpbiBhIG5ld2x5IGNyZWF0ZWQgZ2l0IHJlcG9zaXRvcnkiCisib3JpZ2luIgkiYSByZW1vdGUgY2FsbGVkIGJ5IGNvbnZlbnRpb24gJ29yaWdpbicgdGhhdCB0aGUgY3VycmVudCBnaXQgcmVwb3NpdG9yeSBoYXMgYmVlbiBjbG9uZWQgZnJvbSIKKyJwYWNrIFtub3VuXSIJImEgZmlsZSBjb250YWluaW5nIG1hbnkgZ2l0IG9iamVjdHMgcGFja2VkIHRvZ2V0aGVyIgorInBhY2tlZCBvYmplY3QiCSJhIEdpdCBvYmplY3QgcGFydCBvZiBzb21lIHBhY2siCisicGFyZW50IgkiYSBjb21taXQgdGhhdCBkaXJlY3RseSBwcmVjZWRlcyB0aGUgY3VycmVudCBvbmUgaW4gZ2l0J3MgZ3JhcGggb2YgY29tbWl0cyIKKyJyZWZsb2ciCSJ0aGUgbG9nIGZpbGUgY29udGFpbmluZyBhbGwgc3RhdGVzIG9mIHRoZSBIRUFEIHJlZmVyZW5jZSAoaW4gb3RoZXIgd29yZHMgcGFzdCBwcmlzdGluZSBzdGF0ZXMgb2YgdGhlIHdvcmtpbmcgY29weSkiCisicmVzb2x2ZSAoYSBjb25mbGljdCkiCSJkZWNpZGUgd2hpY2ggY2hhbmdlcyBmcm9tIGFsdGVybmF0aXZlIHZlcnNpb25zIG9mIGEgZmlsZSBzaG91bGQgcGVyc2lzdCBpbiBHaXQiCisicmV2ZXJ0IGNoYW5nZXMiCSJhYmFuZG9uIGNoYW5nZXMgYW5kIGdvIHRvIHByaXN0aW5lIHZlcnNpb24iCisicmV2aXNpb24gZXhwcmVzc2lvbiIJImV4cHJlc3Npb24gdGhhdCBzaWduaWZpZXMgYSByZXZpc2lvbiBpbiBnaXQiCisic3RhZ2UvdW5zdGFnZSIJImFkZCBzb21lIGNvbnRlbnQgb2YgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHRvIHRoZSBzdGFnaW5nIGFyZWEgaW4gcHJlcGFyYXRpb24gZm9yIGEgY29tbWl0IgorInN0YXNoIgkidGVtcG9yYXJpbHkgc2F2ZSBjaGFuZ2VzIGluIGEgc3RhY2sgd2l0aG91dCBjb21taXR0aW5nIgorInRyYWNrZWQvdW50cmFja2VkIgkiZmlsZSB3aG9zZSBjb250ZW50IGlzIHRyYWNrZWQvbm90IHRyYWNrZWQgYnkgZ2l0IgpkaWZmIC0tZ2l0IGEvZ2l0LWd1aS9wby9wbzJtc2cuc2ggYi9naXQtZ3VpL3BvL3BvMm1zZy5zaApvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmRpZmYgLS1naXQgYS9naXQtZ3VpL3dpbmRvd3MvZ2l0LWd1aS5zaCBiL2dpdC1ndWkvd2luZG93cy9naXQtZ3VpLnNoCm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBhL2dpdC1pbnN0YXdlYi5zaCBiL2dpdC1pbnN0YXdlYi5zaAppbmRleCAwMWExYjA1Li5lOTNhMjM4IDEwMDc1NQotLS0gYS9naXQtaW5zdGF3ZWIuc2gKKysrIGIvZ2l0LWluc3Rhd2ViLnNoCkBAIC01ODEsNyArNTgxLDcgQEAKIAogZ2l0d2ViX2NvbmYoKSB7CiAJY2F0ID4gIiRmcWdpdGRpci9naXR3ZWIvZ2l0d2ViX2NvbmZpZy5wZXJsIiA8PEVPRgotIyEvdXNyL2Jpbi9wZXJsCisjIUBAUEVSTEBACiBvdXIgXCRwcm9qZWN0cm9vdCA9ICIkKGRpcm5hbWUgIiRmcWdpdGRpciIpIjsKIG91ciBcJGdpdF90ZW1wID0gIiRmcWdpdGRpci9naXR3ZWIvdG1wIjsKIG91ciBcJHByb2plY3RzX2xpc3QgPSBcJHByb2plY3Ryb290OwpkaWZmIC0tZ2l0IGEvZ2l0LWxvc3QtZm91bmQuc2ggYi9naXQtbG9zdC1mb3VuZC5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMGIzZThjNy4uMDAwMDAwMAotLS0gYS9naXQtbG9zdC1mb3VuZC5zaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLSMhL2Jpbi9zaAotCi1VU0FHRT0nJwotU1VCRElSRUNUT1JZX09LPSdZZXMnCi1PUFRJT05TX1NQRUM9Ci0uIGdpdC1zaC1zZXR1cAotCi1lY2hvICJXQVJOSU5HOiAnJDAnIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgJ2dpdCBmc2NrIC0tbG9zdC1mb3VuZCciID4mMgotCi1pZiBbICIkIyIgIT0gIjAiIF0KLXRoZW4KLSAgICB1c2FnZQotZmkKLQotbGFmPSIkR0lUX0RJUi9sb3N0LWZvdW5kIgotcm0gLWZyICIkbGFmIiAmJiBta2RpciAtcCAiJGxhZi9jb21taXQiICIkbGFmL290aGVyIiB8fCBleGl0Ci0KLWdpdCBmc2NrIC0tZnVsbCAtLW5vLXJlZmxvZ3MgfAotd2hpbGUgcmVhZCBkYW5nbGluZyB0eXBlIHNoYTEKLWRvCi0JY2FzZSAiJGRhbmdsaW5nIiBpbgotCWRhbmdsaW5nKQotCQlpZiBnaXQgcmV2LXBhcnNlIC1xIC0tdmVyaWZ5ICIkc2hhMV4wIiA+L2Rldi9udWxsCi0JCXRoZW4KLQkJCWRpcj0iJGxhZi9jb21taXQiCi0JCQlnaXQgc2hvdy1icmFuY2ggIiRzaGExIgotCQllbHNlCi0JCQlkaXI9IiRsYWYvb3RoZXIiCi0JCWZpCi0JCWVjaG8gIiRzaGExIiA+IiRkaXIvJHNoYTEiCi0JCTs7Ci0JZXNhYwotZG9uZQpkaWZmIC0tZ2l0IGEvZ2l0LW1lcmdldG9vbC0tbGliLnNoIGIvZ2l0LW1lcmdldG9vbC0tbGliLnNoCmluZGV4IGZlZWU2YTQuLmM0NWEwMjAgMTAwNjQ0Ci0tLSBhL2dpdC1tZXJnZXRvb2wtLWxpYi5zaAorKysgYi9naXQtbWVyZ2V0b29sLS1saWIuc2gKQEAgLTEsNSArMSw0IEBACi0jIS9iaW4vc2gKLSMgZ2l0LW1lcmdldG9vbC0tbGliIGlzIGEgbGlicmFyeSBmb3IgY29tbW9uIG1lcmdlIHRvb2wgZnVuY3Rpb25zCisjIGdpdC1tZXJnZXRvb2wtLWxpYiBpcyBhIHNoZWxsIGxpYnJhcnkgZm9yIGNvbW1vbiBtZXJnZSB0b29sIGZ1bmN0aW9ucwogCiA6ICR7TUVSR0VfVE9PTFNfRElSPSQoZ2l0IC0tZXhlYy1wYXRoKS9tZXJnZXRvb2xzfQogCkBAIC0yNTAsNyArMjQ5LDggQEAKIAkJZWxzZQogCQkJdG9vbHM9Im9wZW5kaWZmIGtkaWZmMyB0a2RpZmYgeHhkaWZmIG1lbGQgJHRvb2xzIgogCQlmaQotCQl0b29scz0iJHRvb2xzIGd2aW1kaWZmIGRpZmZ1c2UgZWNtZXJnZSBwNG1lcmdlIGFyYXhpcyBiYzMgY29kZWNvbXBhcmUiCisJCXRvb2xzPSIkdG9vbHMgZ3ZpbWRpZmYgZGlmZnVzZSBkaWZmbWVyZ2UgZWNtZXJnZSIKKwkJdG9vbHM9IiR0b29scyBwNG1lcmdlIGFyYXhpcyBiYzMgY29kZWNvbXBhcmUiCiAJZmkKIAljYXNlICIke1ZJU1VBTDotJEVESVRPUn0iIGluCiAJKnZpbSopCkBAIC0yNjMsNyArMjYzLDcgQEAKIH0KIAogc2hvd190b29sX2hlbHAgKCkgewotCXRvb2xfb3B0PSInZ2l0ICR7VE9PTF9NT0RFfXRvb2wgLS10b29sLTx0b29sPiciCisJdG9vbF9vcHQ9IidnaXQgJHtUT09MX01PREV9dG9vbCAtLXRvb2w9PHRvb2w+JyIKIAogCXRhYj0nCScKIAlMRj0nCmRpZmYgLS1naXQgYS9naXQtcDQucHkgYi9naXQtcDQucHkKaW5kZXggMzFlNzFmZi4uY2RmYTJkZiAxMDA3NTUKLS0tIGEvZ2l0LXA0LnB5CisrKyBiL2dpdC1wNC5weQpAQCAtMzEwLDggKzMxMCw4IEBACiAjCiAjIHJldHVybiB0aGUgcmF3IHA0IHR5cGUgb2YgYSBmaWxlICh0ZXh0LCB0ZXh0K2tvLCBldGMpCiAjCi1kZWYgcDRfdHlwZShmaWxlKToKLSAgICByZXN1bHRzID0gcDRDbWRMaXN0KFsiZnN0YXQiLCAiLVQiLCAiaGVhZFR5cGUiLCBmaWxlXSkKK2RlZiBwNF90eXBlKGYpOgorICAgIHJlc3VsdHMgPSBwNENtZExpc3QoWyJmc3RhdCIsICItVCIsICJoZWFkVHlwZSIsIHdpbGRjYXJkX2VuY29kZShmKV0pCiAgICAgcmV0dXJuIHJlc3VsdHNbMF1bJ2hlYWRUeXBlJ10KIAogIwpAQCAtNzgwLDExICs3ODAsMTQgQEAKICAgICAjIGRpY3Rpb25hcnkgb2YgYWxsIGNsaWVudCBwYXJhbWV0ZXJzCiAgICAgZW50cnkgPSBzcGVjTGlzdFswXQogCisgICAgIyB0aGUgLy9jbGllbnQvIG5hbWUKKyAgICBjbGllbnRfbmFtZSA9IGVudHJ5WyJDbGllbnQiXQorCiAgICAgIyBqdXN0IHRoZSBrZXlzIHRoYXQgc3RhcnQgd2l0aCAiVmlldyIKICAgICB2aWV3X2tleXMgPSBbIGsgZm9yIGsgaW4gZW50cnkua2V5cygpIGlmIGsuc3RhcnRzd2l0aCgiVmlldyIpIF0KIAogICAgICMgaG9sZCB0aGlzIG5ldyBWaWV3Ci0gICAgdmlldyA9IFZpZXcoKQorICAgIHZpZXcgPSBWaWV3KGNsaWVudF9uYW1lKQogCiAgICAgIyBhcHBlbmQgdGhlIGxpbmVzLCBpbiBvcmRlciwgdG8gdGhlIHZpZXcKICAgICBmb3Igdmlld19udW0gaW4gcmFuZ2UobGVuKHZpZXdfa2V5cykpOgpAQCAtMTIxNyw3ICsxMjIwLDcgQEAKICAgICAgICAgICAgIGVkaXRvciA9IG9zLmVudmlyb24uZ2V0KCJQNEVESVRPUiIpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBlZGl0b3IgPSByZWFkX3BpcGUoImdpdCB2YXIgR0lUX0VESVRPUiIpLnN0cmlwKCkKLSAgICAgICAgc3lzdGVtKGVkaXRvciArICIgIiArIHRlbXBsYXRlX2ZpbGUpCisgICAgICAgIHN5c3RlbShbZWRpdG9yLCB0ZW1wbGF0ZV9maWxlXSkKIAogICAgICAgICAjIElmIHRoZSBmaWxlIHdhcyBub3Qgc2F2ZWQsIHByb21wdCB0byBzZWUgaWYgdGhpcyBwYXRjaCBzaG91bGQKICAgICAgICAgIyBiZSBza2lwcGVkLiAgQnV0IHNraXAgdGhpcyB2ZXJpZmljYXRpb24gc3RlcCBpZiBjb25maWd1cmVkIHNvLgpAQCAtMTMwOCw3ICsxMzExLDcgQEAKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgZGllKCJ1bmtub3duIG1vZGlmaWVyICVzIGZvciAlcyIgJSAobW9kaWZpZXIsIHBhdGgpKQogCi0gICAgICAgIGRpZmZjbWQgPSAiZ2l0IGZvcm1hdC1wYXRjaCAtayAtLXN0ZG91dCBcIiVzXlwiLi5cIiVzXCIiICUgKGlkLCBpZCkKKyAgICAgICAgZGlmZmNtZCA9ICJnaXQgZGlmZi10cmVlIC1wIFwiJXNcIiIgJSAoaWQpCiAgICAgICAgIHBhdGNoY21kID0gZGlmZmNtZCArICIgfCBnaXQgYXBwbHkgIgogICAgICAgICB0cnlQYXRjaENtZCA9IHBhdGNoY21kICsgIi0tY2hlY2sgLSIKICAgICAgICAgYXBwbHlQYXRjaENtZCA9IHBhdGNoY21kICsgIi0tY2hlY2sgLS1hcHBseSAtIgpAQCAtMTU1NSw4ICsxNTU4LDggQEAKICAgICAgICAgICAgIGZvciBiIGluIGJvZHk6CiAgICAgICAgICAgICAgICAgbGFiZWxUZW1wbGF0ZSArPSAiXHQiICsgYiArICJcbiIKICAgICAgICAgICAgIGxhYmVsVGVtcGxhdGUgKz0gIlZpZXc6XG4iCi0gICAgICAgICAgICBmb3IgbWFwcGluZyBpbiBjbGllbnRTcGVjLm1hcHBpbmdzOgotICAgICAgICAgICAgICAgIGxhYmVsVGVtcGxhdGUgKz0gIlx0JXNcbiIgJSBtYXBwaW5nLmRlcG90X3NpZGUucGF0aAorICAgICAgICAgICAgZm9yIGRlcG90X3NpZGUgaW4gY2xpZW50U3BlYy5tYXBwaW5nczoKKyAgICAgICAgICAgICAgICBsYWJlbFRlbXBsYXRlICs9ICJcdCVzXG4iICUgZGVwb3Rfc2lkZQogCiAgICAgICAgICAgICBpZiBzZWxmLmRyeV9ydW46CiAgICAgICAgICAgICAgICAgcHJpbnQgIldvdWxkIGNyZWF0ZSBwNCBsYWJlbCAlcyBmb3IgdGFnIiAlIG5hbWUKQEAgLTE1NjgsNyArMTU3MSw3IEBACiAKICAgICAgICAgICAgICAgICAjIFVzZSB0aGUgbGFiZWwKICAgICAgICAgICAgICAgICBwNF9zeXN0ZW0oWyJ0YWciLCAiLWwiLCBuYW1lXSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFsiJXNAJXMiICUgKG1hcHBpbmcuZGVwb3Rfc2lkZS5wYXRoLCBjaGFuZ2VsaXN0KSBmb3IgbWFwcGluZyBpbiBjbGllbnRTcGVjLm1hcHBpbmdzXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgWyIlc0AlcyIgJSAoZGVwb3Rfc2lkZSwgY2hhbmdlbGlzdCkgZm9yIGRlcG90X3NpZGUgaW4gY2xpZW50U3BlYy5tYXBwaW5nc10pCiAKICAgICAgICAgICAgICAgICBpZiB2ZXJib3NlOgogICAgICAgICAgICAgICAgICAgICBwcmludCAiY3JlYXRlZCBwNCBsYWJlbCBmb3IgdGFnICVzIiAlIG5hbWUKQEAgLTE3OTYsMTE3ICsxNzk5LDE2IEBACiAgICAgIiIiUmVwcmVzZW50IGEgcDQgdmlldyAoInA0IGhlbHAgdmlld3MiKSwgYW5kIG1hcCBmaWxlcyBpbiBhCiAgICAgICAgcmVwbyBhY2NvcmRpbmcgdG8gdGhlIHZpZXcuIiIiCiAKLSAgICBjbGFzcyBQYXRoKG9iamVjdCk6Ci0gICAgICAgICIiIkEgZGVwb3Qgb3IgY2xpZW50IHBhdGgsIHBvc3NpYmx5IGNvbnRhaW5pbmcgd2lsZGNhcmRzLgotICAgICAgICAgICBUaGUgb25seSBvbmUgc3VwcG9ydGVkIGlzIC4uLiBhdCB0aGUgZW5kLCBjdXJyZW50bHkuCi0gICAgICAgICAgIEluaXRpYWxpemUgd2l0aCB0aGUgZnVsbCBwYXRoLCB3aXRoIC8vZGVwb3Qgb3IgLy9jbGllbnQuIiIiCi0KLSAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGgsIGlzX2RlcG90KToKLSAgICAgICAgICAgIHNlbGYucGF0aCA9IHBhdGgKLSAgICAgICAgICAgIHNlbGYuaXNfZGVwb3QgPSBpc19kZXBvdAotICAgICAgICAgICAgc2VsZi5maW5kX3dpbGRjYXJkcygpCi0gICAgICAgICAgICAjIHJlbWVtYmVyIHRoZSBwcmVmaXggYml0LCB1c2VmdWwgZm9yIHJlbGF0aXZlIG1hcHBpbmdzCi0gICAgICAgICAgICBtID0gcmUubWF0Y2goIigvL1teL10rLykiLCBzZWxmLnBhdGgpCi0gICAgICAgICAgICBpZiBub3QgbToKLSAgICAgICAgICAgICAgICBkaWUoIlBhdGggJXMgZG9lcyBub3Qgc3RhcnQgd2l0aCAvL3ByZWZpeC8iICUgc2VsZi5wYXRoKQotICAgICAgICAgICAgcHJlZml4ID0gbS5ncm91cCgxKQotICAgICAgICAgICAgaWYgbm90IHNlbGYuaXNfZGVwb3Q6Ci0gICAgICAgICAgICAgICAgIyBzdHJpcCAvL2NsaWVudC8gb24gY2xpZW50IHBhdGhzCi0gICAgICAgICAgICAgICAgc2VsZi5wYXRoID0gc2VsZi5wYXRoW2xlbihwcmVmaXgpOl0KLQotICAgICAgICBkZWYgZmluZF93aWxkY2FyZHMoc2VsZik6Ci0gICAgICAgICAgICAiIiJNYWtlIHN1cmUgd2lsZGNhcmRzIGFyZSB2YWxpZCwgYW5kIHNldCB1cCBpbnRlcm5hbAotICAgICAgICAgICAgICAgdmFyaWFibGVzLiIiIgotCi0gICAgICAgICAgICBzZWxmLmVuZHNfdHJpcGxlX2RvdCA9IEZhbHNlCi0gICAgICAgICAgICAjIFRoZXJlIGFyZSB0aHJlZSB3aWxkY2FyZHMgYWxsb3dlZCBpbiBwNCB2aWV3cwotICAgICAgICAgICAgIyAoc2VlICJwNCBoZWxwIHZpZXdzIikuICBUaGlzIGNvZGUga25vd3MgaG93IHRvCi0gICAgICAgICAgICAjIGhhbmRsZSAiLi4uIiAob25seSBhdCB0aGUgZW5kKSwgYnV0IGNhbm5vdCBkZWFsIHdpdGgKLSAgICAgICAgICAgICMgIiUlbiIgb3IgIioiLiAgT25seSBjaGVjayB0aGUgZGVwb3Rfc2lkZSwgYXMgcDQgc2hvdWxkCi0gICAgICAgICAgICAjIHZhbGlkYXRlIHRoYXQgdGhlIGNsaWVudF9zaWRlIG1hdGNoZXMgdG9vLgotICAgICAgICAgICAgaWYgcmUuc2VhcmNoKHInJSVbMS05XScsIHNlbGYucGF0aCk6Ci0gICAgICAgICAgICAgICAgZGllKCJDYW4ndCBoYW5kbGUgJSVuIHdpbGRjYXJkcyBpbiB2aWV3OiAlcyIgJSBzZWxmLnBhdGgpCi0gICAgICAgICAgICBpZiBzZWxmLnBhdGguZmluZCgiKiIpID49IDA6Ci0gICAgICAgICAgICAgICAgZGllKCJDYW4ndCBoYW5kbGUgKiB3aWxkY2FyZHMgaW4gdmlldzogJXMiICUgc2VsZi5wYXRoKQotICAgICAgICAgICAgdHJpcGxlX2RvdF9pbmRleCA9IHNlbGYucGF0aC5maW5kKCIuLi4iKQotICAgICAgICAgICAgaWYgdHJpcGxlX2RvdF9pbmRleCA+PSAwOgotICAgICAgICAgICAgICAgIGlmIHRyaXBsZV9kb3RfaW5kZXggIT0gbGVuKHNlbGYucGF0aCkgLSAzOgotICAgICAgICAgICAgICAgICAgICBkaWUoIkNhbiBoYW5kbGUgb25seSBzaW5nbGUgLi4uIHdpbGRjYXJkLCBhdCBlbmQ6ICVzIiAlCi0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnBhdGgpCi0gICAgICAgICAgICAgICAgc2VsZi5lbmRzX3RyaXBsZV9kb3QgPSBUcnVlCi0KLSAgICAgICAgZGVmIGVuc3VyZV9jb21wYXRpYmxlKHNlbGYsIG90aGVyX3BhdGgpOgotICAgICAgICAgICAgIiIiTWFrZSBzdXJlIHRoZSB3aWxkY2FyZHMgYWdyZWUuIiIiCi0gICAgICAgICAgICBpZiBzZWxmLmVuZHNfdHJpcGxlX2RvdCAhPSBvdGhlcl9wYXRoLmVuZHNfdHJpcGxlX2RvdDoKLSAgICAgICAgICAgICAgICAgZGllKCJCb3RoIHBhdGhzIG11c3QgZW5kIHdpdGggLi4uIGlmIGVpdGhlciBkb2VzO1xuIiArCi0gICAgICAgICAgICAgICAgICAgICAicGF0aHM6ICVzICVzIiAlIChzZWxmLnBhdGgsIG90aGVyX3BhdGgucGF0aCkpCi0KLSAgICAgICAgZGVmIG1hdGNoX3dpbGRjYXJkcyhzZWxmLCB0ZXN0X3BhdGgpOgotICAgICAgICAgICAgIiIiU2VlIGlmIHRoaXMgdGVzdF9wYXRoIG1hdGNoZXMgdXMsIGFuZCBmaWxsIGluIHRoZSB2YWx1ZQotICAgICAgICAgICAgICAgb2YgdGhlIHdpbGRjYXJkcyBpZiBzby4gIFJldHVybnMgYSB0dXBsZSBvZgotICAgICAgICAgICAgICAgKFRydWV8RmFsc2UsIHdpbGRjYXJkc1tdKS4gIEZvciBub3csIG9ubHkgdGhlIC4uLiBhdCBlbmQKLSAgICAgICAgICAgICAgIGlzIHN1cHBvcnRlZCwgc28gYXQgbW9zdCBvbmUgd2lsZGNhcmQuIiIiCi0gICAgICAgICAgICBpZiBzZWxmLmVuZHNfdHJpcGxlX2RvdDoKLSAgICAgICAgICAgICAgICBkb3RsZXNzID0gc2VsZi5wYXRoWzotM10KLSAgICAgICAgICAgICAgICBpZiB0ZXN0X3BhdGguc3RhcnRzd2l0aChkb3RsZXNzKToKLSAgICAgICAgICAgICAgICAgICAgd2lsZGNhcmQgPSB0ZXN0X3BhdGhbbGVuKGRvdGxlc3MpOl0KLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChUcnVlLCBbIHdpbGRjYXJkIF0pCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGlmIHRlc3RfcGF0aCA9PSBzZWxmLnBhdGg6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiAoVHJ1ZSwgW10pCi0gICAgICAgICAgICByZXR1cm4gKEZhbHNlLCBbXSkKLQotICAgICAgICBkZWYgbWF0Y2goc2VsZiwgdGVzdF9wYXRoKToKLSAgICAgICAgICAgICIiIkp1c3QgcmV0dXJuIGlmIGl0IG1hdGNoZXM7IGRvbid0IGJvdGhlciB3aXRoIHRoZSB3aWxkY2FyZHMuIiIiCi0gICAgICAgICAgICBiLCBfID0gc2VsZi5tYXRjaF93aWxkY2FyZHModGVzdF9wYXRoKQotICAgICAgICAgICAgcmV0dXJuIGIKLQotICAgICAgICBkZWYgZmlsbF9pbl93aWxkY2FyZHMoc2VsZiwgd2lsZGNhcmRzKToKLSAgICAgICAgICAgICIiIlJldHVybiB0aGUgcmVsYXRpdmUgcGF0aCwgd2l0aCB0aGUgd2lsZGNhcmRzIGZpbGxlZCBpbgotICAgICAgICAgICAgICAgaWYgdGhlcmUgYXJlIGFueS4iIiIKLSAgICAgICAgICAgIGlmIHNlbGYuZW5kc190cmlwbGVfZG90OgotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnBhdGhbOi0zXSArIHdpbGRjYXJkc1swXQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXRoCi0KLSAgICBjbGFzcyBNYXBwaW5nKG9iamVjdCk6Ci0gICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkZXBvdF9zaWRlLCBjbGllbnRfc2lkZSwgb3ZlcmxheSwgZXhjbHVkZSk6Ci0gICAgICAgICAgICAjIGRlcG90X3NpZGUgaXMgd2l0aG91dCB0aGUgdHJhaWxpbmcgLy4uLiBpZiBpdCBoYWQgb25lCi0gICAgICAgICAgICBzZWxmLmRlcG90X3NpZGUgPSBWaWV3LlBhdGgoZGVwb3Rfc2lkZSwgaXNfZGVwb3Q9VHJ1ZSkKLSAgICAgICAgICAgIHNlbGYuY2xpZW50X3NpZGUgPSBWaWV3LlBhdGgoY2xpZW50X3NpZGUsIGlzX2RlcG90PUZhbHNlKQotICAgICAgICAgICAgc2VsZi5vdmVybGF5ID0gb3ZlcmxheSAgIyBzdGFydGVkIHdpdGggIisiCi0gICAgICAgICAgICBzZWxmLmV4Y2x1ZGUgPSBleGNsdWRlICAjIHN0YXJ0ZWQgd2l0aCAiLSIKLSAgICAgICAgICAgIGFzc2VydCBub3QgKHNlbGYub3ZlcmxheSBhbmQgc2VsZi5leGNsdWRlKQotICAgICAgICAgICAgc2VsZi5kZXBvdF9zaWRlLmVuc3VyZV9jb21wYXRpYmxlKHNlbGYuY2xpZW50X3NpZGUpCi0KLSAgICAgICAgZGVmIF9fc3RyX18oc2VsZik6Ci0gICAgICAgICAgICBjID0gIiAiCi0gICAgICAgICAgICBpZiBzZWxmLm92ZXJsYXk6Ci0gICAgICAgICAgICAgICAgYyA9ICIrIgotICAgICAgICAgICAgaWYgc2VsZi5leGNsdWRlOgotICAgICAgICAgICAgICAgIGMgPSAiLSIKLSAgICAgICAgICAgIHJldHVybiAiVmlldy5NYXBwaW5nOiAlcyVzIC0+ICVzIiAlIFwKLSAgICAgICAgICAgICAgICAgICAoYywgc2VsZi5kZXBvdF9zaWRlLnBhdGgsIHNlbGYuY2xpZW50X3NpZGUucGF0aCkKLQotICAgICAgICBkZWYgbWFwX2RlcG90X3RvX2NsaWVudChzZWxmLCBkZXBvdF9wYXRoKToKLSAgICAgICAgICAgICIiIkNhbGN1bGF0ZSB0aGUgY2xpZW50IHBhdGggaWYgdXNpbmcgdGhpcyBtYXBwaW5nIG9uIHRoZQotICAgICAgICAgICAgICAgZ2l2ZW4gZGVwb3QgcGF0aDsgZG9lcyBub3QgY29uc2lkZXIgdGhlIGVmZmVjdCBvZiBvdGhlcgotICAgICAgICAgICAgICAgbWFwcGluZ3MgaW4gYSB2aWV3LiAgRXZlbiBleGNsdWRlZCBtYXBwaW5ncyBhcmUgcmV0dXJuZWQuIiIiCi0gICAgICAgICAgICBtYXRjaGVzLCB3aWxkY2FyZHMgPSBzZWxmLmRlcG90X3NpZGUubWF0Y2hfd2lsZGNhcmRzKGRlcG90X3BhdGgpCi0gICAgICAgICAgICBpZiBub3QgbWF0Y2hlczoKLSAgICAgICAgICAgICAgICByZXR1cm4gIiIKLSAgICAgICAgICAgIGNsaWVudF9wYXRoID0gc2VsZi5jbGllbnRfc2lkZS5maWxsX2luX3dpbGRjYXJkcyh3aWxkY2FyZHMpCi0gICAgICAgICAgICByZXR1cm4gY2xpZW50X3BhdGgKLQotICAgICMKLSAgICAjIFZpZXcgbWV0aG9kcwotICAgICMKLSAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNsaWVudF9uYW1lKToKICAgICAgICAgc2VsZi5tYXBwaW5ncyA9IFtdCisgICAgICAgIHNlbGYuY2xpZW50X3ByZWZpeCA9ICIvLyVzLyIgJSBjbGllbnRfbmFtZQorICAgICAgICAjIGNhY2hlIHJlc3VsdHMgb2YgInA0IHdoZXJlIiB0byBsb29rdXAgY2xpZW50IGZpbGUgbG9jYXRpb25zCisgICAgICAgIHNlbGYuY2xpZW50X3NwZWNfcGF0aF9jYWNoZSA9IHt9CiAKICAgICBkZWYgYXBwZW5kKHNlbGYsIHZpZXdfbGluZSk6CiAgICAgICAgICIiIlBhcnNlIGEgdmlldyBsaW5lLCBzcGxpdHRpbmcgaXQgaW50byBkZXBvdCBhbmQgY2xpZW50Ci0gICAgICAgICAgIHNpZGVzLiAgQXBwZW5kIHRvIHNlbGYubWFwcGluZ3MsIHByZXNlcnZpbmcgb3JkZXIuIiIiCisgICAgICAgICAgIHNpZGVzLiAgQXBwZW5kIHRvIHNlbGYubWFwcGluZ3MsIHByZXNlcnZpbmcgb3JkZXIuICBUaGlzCisgICAgICAgICAgIGlzIG9ubHkgbmVlZGVkIGZvciB0YWcgY3JlYXRpb24uIiIiCiAKICAgICAgICAgIyBTcGxpdCB0aGUgdmlldyBsaW5lIGludG8gZXhhY3RseSB0d28gd29yZHMuICBQNCBlbmZvcmNlcwogICAgICAgICAjIHN0cnVjdHVyZSBvbiB0aGVzZSBsaW5lcyB0aGF0IHNpbXBsaWZpZXMgdGhpcyBxdWl0ZSBhIGJpdC4KQEAgLTE5MzQsNzYgKzE4MzYsNjIgQEAKICAgICAgICAgICAgIGRlcG90X3NpZGUgPSB2aWV3X2xpbmVbMDpzcGFjZV9pbmRleF0KICAgICAgICAgICAgIHJoc19pbmRleCA9IHNwYWNlX2luZGV4ICsgMQogCi0gICAgICAgIGlmIHZpZXdfbGluZVtyaHNfaW5kZXhdID09ICciJzoKLSAgICAgICAgICAgICMgU2Vjb25kIHdvcmQgaXMgZG91YmxlIHF1b3RlZC4gIE1ha2Ugc3VyZSB0aGVyZSBpcyBhCi0gICAgICAgICAgICAjIGRvdWJsZSBxdW90ZSBhdCB0aGUgZW5kIHRvby4KLSAgICAgICAgICAgIGlmIG5vdCB2aWV3X2xpbmUuZW5kc3dpdGgoJyInKToKLSAgICAgICAgICAgICAgICBkaWUoIlZpZXcgbGluZSB3aXRoIHJocyBxdW90ZSBzaG91bGQgZW5kIHdpdGggb25lOiAlcyIgJQotICAgICAgICAgICAgICAgICAgICB2aWV3X2xpbmUpCi0gICAgICAgICAgICAjIHNraXAgdGhlIHF1b3RlcwotICAgICAgICAgICAgY2xpZW50X3NpZGUgPSB2aWV3X2xpbmVbcmhzX2luZGV4KzE6LTFdCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjbGllbnRfc2lkZSA9IHZpZXdfbGluZVtyaHNfaW5kZXg6XQotCiAgICAgICAgICMgcHJlZml4ICsgbWVhbnMgb3ZlcmxheSBvbiBwcmV2aW91cyBtYXBwaW5nCi0gICAgICAgIG92ZXJsYXkgPSBGYWxzZQogICAgICAgICBpZiBkZXBvdF9zaWRlLnN0YXJ0c3dpdGgoIisiKToKLSAgICAgICAgICAgIG92ZXJsYXkgPSBUcnVlCiAgICAgICAgICAgICBkZXBvdF9zaWRlID0gZGVwb3Rfc2lkZVsxOl0KIAotICAgICAgICAjIHByZWZpeCAtIG1lYW5zIGV4Y2x1ZGUgdGhpcyBwYXRoCisgICAgICAgICMgcHJlZml4IC0gbWVhbnMgZXhjbHVkZSB0aGlzIHBhdGgsIGxlYXZlIG91dCBvZiBtYXBwaW5ncwogICAgICAgICBleGNsdWRlID0gRmFsc2UKICAgICAgICAgaWYgZGVwb3Rfc2lkZS5zdGFydHN3aXRoKCItIik6CiAgICAgICAgICAgICBleGNsdWRlID0gVHJ1ZQogICAgICAgICAgICAgZGVwb3Rfc2lkZSA9IGRlcG90X3NpZGVbMTpdCiAKLSAgICAgICAgbSA9IFZpZXcuTWFwcGluZyhkZXBvdF9zaWRlLCBjbGllbnRfc2lkZSwgb3ZlcmxheSwgZXhjbHVkZSkKLSAgICAgICAgc2VsZi5tYXBwaW5ncy5hcHBlbmQobSkKKyAgICAgICAgaWYgbm90IGV4Y2x1ZGU6CisgICAgICAgICAgICBzZWxmLm1hcHBpbmdzLmFwcGVuZChkZXBvdF9zaWRlKQorCisgICAgZGVmIGNvbnZlcnRfY2xpZW50X3BhdGgoc2VsZiwgY2xpZW50RmlsZSk6CisgICAgICAgICMgY2hvcCBvZmYgLy9jbGllbnQvIHBhcnQgdG8gbWFrZSBpdCByZWxhdGl2ZQorICAgICAgICBpZiBub3QgY2xpZW50RmlsZS5zdGFydHN3aXRoKHNlbGYuY2xpZW50X3ByZWZpeCk6CisgICAgICAgICAgICBkaWUoIk5vIHByZWZpeCAnJXMnIG9uIGNsaWVudEZpbGUgJyVzJyIgJQorICAgICAgICAgICAgICAgIChzZWxmLmNsaWVudF9wcmVmaXgsIGNsaWVudEZpbGUpKQorICAgICAgICByZXR1cm4gY2xpZW50RmlsZVtsZW4oc2VsZi5jbGllbnRfcHJlZml4KTpdCisKKyAgICBkZWYgdXBkYXRlX2NsaWVudF9zcGVjX3BhdGhfY2FjaGUoc2VsZiwgZmlsZXMpOgorICAgICAgICAiIiIgQ2FjaGluZyBmaWxlIHBhdGhzIGJ5ICJwNCB3aGVyZSIgYmF0Y2ggcXVlcnkgIiIiCisKKyAgICAgICAgIyBMaXN0IGRlcG90IGZpbGUgcGF0aHMgZXhjbHVkZSB0aGF0IGFscmVhZHkgY2FjaGVkCisgICAgICAgIGZpbGVBcmdzID0gW2ZbJ3BhdGgnXSBmb3IgZiBpbiBmaWxlcyBpZiBmWydwYXRoJ10gbm90IGluIHNlbGYuY2xpZW50X3NwZWNfcGF0aF9jYWNoZV0KKworICAgICAgICBpZiBsZW4oZmlsZUFyZ3MpID09IDA6CisgICAgICAgICAgICByZXR1cm4gICMgQWxsIGZpbGVzIGluIGNhY2hlCisKKyAgICAgICAgd2hlcmVfcmVzdWx0ID0gcDRDbWRMaXN0KFsiLXgiLCAiLSIsICJ3aGVyZSJdLCBzdGRpbj1maWxlQXJncykKKyAgICAgICAgZm9yIHJlcyBpbiB3aGVyZV9yZXN1bHQ6CisgICAgICAgICAgICBpZiAiY29kZSIgaW4gcmVzIGFuZCByZXNbImNvZGUiXSA9PSAiZXJyb3IiOgorICAgICAgICAgICAgICAgICMgYXNzdW1lIGVycm9yIGlzICIuLi4gZmlsZShzKSBub3QgaW4gY2xpZW50IHZpZXciCisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGlmICJjbGllbnRGaWxlIiBub3QgaW4gcmVzOgorICAgICAgICAgICAgICAgIGRpZSgiTm8gY2xpZW50RmlsZSBpbiAncDQgd2hlcmUnIG91dHB1dCIpCisgICAgICAgICAgICBpZiAidW5tYXAiIGluIHJlczoKKyAgICAgICAgICAgICAgICAjIGl0IHdpbGwgbGlzdCBhbGwgb2YgdGhlbSwgYnV0IG9ubHkgb25lIG5vdCB1bm1hcC1wZWQKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgc2VsZi5jbGllbnRfc3BlY19wYXRoX2NhY2hlW3Jlc1snZGVwb3RGaWxlJ11dID0gc2VsZi5jb252ZXJ0X2NsaWVudF9wYXRoKHJlc1siY2xpZW50RmlsZSJdKQorCisgICAgICAgICMgbm90IGZvdW5kIGZpbGVzIG9yIHVubWFwIGZpbGVzIHNldCB0byAiIgorICAgICAgICBmb3IgZGVwb3RGaWxlIGluIGZpbGVBcmdzOgorICAgICAgICAgICAgaWYgZGVwb3RGaWxlIG5vdCBpbiBzZWxmLmNsaWVudF9zcGVjX3BhdGhfY2FjaGU6CisgICAgICAgICAgICAgICAgc2VsZi5jbGllbnRfc3BlY19wYXRoX2NhY2hlW2RlcG90RmlsZV0gPSAiIgogCiAgICAgZGVmIG1hcF9pbl9jbGllbnQoc2VsZiwgZGVwb3RfcGF0aCk6CiAgICAgICAgICIiIlJldHVybiB0aGUgcmVsYXRpdmUgbG9jYXRpb24gaW4gdGhlIGNsaWVudCB3aGVyZSB0aGlzCiAgICAgICAgICAgIGRlcG90IGZpbGUgc2hvdWxkIGxpdmUuICBSZXR1cm5zICIiIGlmIHRoZSBmaWxlIHNob3VsZAogICAgICAgICAgICBub3QgYmUgbWFwcGVkIGluIHRoZSBjbGllbnQuIiIiCiAKLSAgICAgICAgcGF0aHNfZmlsbGVkID0gW10KLSAgICAgICAgY2xpZW50X3BhdGggPSAiIgorICAgICAgICBpZiBkZXBvdF9wYXRoIGluIHNlbGYuY2xpZW50X3NwZWNfcGF0aF9jYWNoZToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLmNsaWVudF9zcGVjX3BhdGhfY2FjaGVbZGVwb3RfcGF0aF0KIAotICAgICAgICAjIGxvb2sgYXQgbGF0ZXIgZW50cmllcyBmaXJzdAotICAgICAgICBmb3IgbSBpbiBzZWxmLm1hcHBpbmdzWzo6LTFdOgotCi0gICAgICAgICAgICAjIHNlZSB3aGVyZSB3aWxsIHRoaXMgcGF0aCBlbmQgdXAgaW4gdGhlIGNsaWVudAotICAgICAgICAgICAgcCA9IG0ubWFwX2RlcG90X3RvX2NsaWVudChkZXBvdF9wYXRoKQotCi0gICAgICAgICAgICBpZiBwID09ICIiOgotICAgICAgICAgICAgICAgICMgRGVwb3QgcGF0aCBkb2VzIG5vdCBiZWxvbmcgaW4gY2xpZW50LiAgTXVzdCByZW1lbWJlcgotICAgICAgICAgICAgICAgICMgdGhpcywgYXMgcHJldmlvdXMgaXRlbXMgc2hvdWxkIG5vdCBjYXVzZSBmaWxlcyB0bwotICAgICAgICAgICAgICAgICMgZXhpc3QgaW4gdGhpcyBwYXRoIGVpdGhlci4gIFJlbWVtYmVyIHRoYXQgdGhlIGxpc3QgaXMKLSAgICAgICAgICAgICAgICAjIGJlaW5nIHdhbGtlZCBmcm9tIHRoZSBlbmQsIHdoaWNoIGhhcyBoaWdoZXIgcHJlY2VkZW5jZS4KLSAgICAgICAgICAgICAgICAjIE92ZXJsYXAgbWFwcGluZ3MgZG8gbm90IGV4Y2x1ZGUgcHJldmlvdXMgbWFwcGluZ3MuCi0gICAgICAgICAgICAgICAgaWYgbm90IG0ub3ZlcmxheToKLSAgICAgICAgICAgICAgICAgICAgcGF0aHNfZmlsbGVkLmFwcGVuZChtLmNsaWVudF9zaWRlKQotCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICMgVGhpcyBtYXBwaW5nIG1hdGNoZWQ7IG5vIG5lZWQgdG8gc2VhcmNoIGFueSBmdXJ0aGVyLgotICAgICAgICAgICAgICAgICMgQnV0LCB0aGUgbWFwcGluZyBjb3VsZCBiZSByZWplY3RlZCBpZiB0aGUgY2xpZW50IHBhdGgKLSAgICAgICAgICAgICAgICAjIGhhcyBhbHJlYWR5IGJlZW4gY2xhaW1lZCBieSBhbiBlYXJsaWVyIG1hcHBpbmcgKGkuZS4KLSAgICAgICAgICAgICAgICAjIG9uZSBsYXRlciBpbiB0aGUgbGlzdCwgd2hpY2ggd2UgYXJlIHdhbGtpbmcgYmFja3dhcmRzKS4KLSAgICAgICAgICAgICAgICBhbHJlYWR5X21hcHBlZF9pbl9jbGllbnQgPSBGYWxzZQotICAgICAgICAgICAgICAgIGZvciBmIGluIHBhdGhzX2ZpbGxlZDoKLSAgICAgICAgICAgICAgICAgICAgIyB0aGlzIGlzIFZpZXcuUGF0aC5tYXRjaAotICAgICAgICAgICAgICAgICAgICBpZiBmLm1hdGNoKHApOgotICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeV9tYXBwZWRfaW5fY2xpZW50ID0gVHJ1ZQotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBpZiBub3QgYWxyZWFkeV9tYXBwZWRfaW5fY2xpZW50OgotICAgICAgICAgICAgICAgICAgICAjIEluY2x1ZGUgdGhpcyBmaWxlLCB1bmxlc3MgaXQgaXMgZnJvbSBhIGxpbmUgdGhhdAotICAgICAgICAgICAgICAgICAgICAjIGV4cGxpY2l0bHkgc2FpZCB0byBleGNsdWRlIGl0LgotICAgICAgICAgICAgICAgICAgICBpZiBub3QgbS5leGNsdWRlOgotICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50X3BhdGggPSBwCi0KLSAgICAgICAgICAgICAgICAjIGEgbWF0Y2gsIGV2ZW4gaWYgcmVqZWN0ZWQsIGFsd2F5cyBzdG9wcyB0aGUgc2VhcmNoCi0gICAgICAgICAgICAgICAgYnJlYWsKLQotICAgICAgICByZXR1cm4gY2xpZW50X3BhdGgKKyAgICAgICAgZGllKCAiRXJyb3I6ICVzIGlzIG5vdCBmb3VuZCBpbiBjbGllbnQgc3BlYyBwYXRoIiAlIGRlcG90X3BhdGggKQorICAgICAgICByZXR1cm4gIiIKIAogY2xhc3MgUDRTeW5jKENvbW1hbmQsIFA0VXNlck1hcCk6CiAgICAgZGVsZXRlX2FjdGlvbnMgPSAoICJkZWxldGUiLCAibW92ZS9kZWxldGUiLCAicHVyZ2UiICkKQEAgLTIxMzAsNiArMjAxOCwxMCBAQAogICAgICAgICAiIiJMb29rIGF0IGVhY2ggZGVwb3RGaWxlIGluIHRoZSBjb21taXQgdG8gZmlndXJlIG91dCB0byB3aGF0CiAgICAgICAgICAgIGJyYW5jaCBpdCBiZWxvbmdzLiIiIgogCisgICAgICAgIGlmIHNlbGYuY2xpZW50U3BlY0RpcnM6CisgICAgICAgICAgICBmaWxlcyA9IHNlbGYuZXh0cmFjdEZpbGVzRnJvbUNvbW1pdChjb21taXQpCisgICAgICAgICAgICBzZWxmLmNsaWVudFNwZWNEaXJzLnVwZGF0ZV9jbGllbnRfc3BlY19wYXRoX2NhY2hlKGZpbGVzKQorCiAgICAgICAgIGJyYW5jaGVzID0ge30KICAgICAgICAgZm51bSA9IDAKICAgICAgICAgd2hpbGUgY29tbWl0Lmhhc19rZXkoImRlcG90RmlsZSVzIiAlIGZudW0pOgpAQCAtMjE4MCw5ICsyMDcyLDIwIEBACiAgICAgICAgICAgICBnaXRfbW9kZSA9ICIxMDA3NTUiCiAgICAgICAgIGlmIHR5cGVfYmFzZSA9PSAic3ltbGluayI6CiAgICAgICAgICAgICBnaXRfbW9kZSA9ICIxMjAwMDAiCi0gICAgICAgICAgICAjIHA0IHByaW50IG9uIGEgc3ltbGluayBjb250YWlucyAidGFyZ2V0XG4iOyByZW1vdmUgdGhlIG5ld2xpbmUKKyAgICAgICAgICAgICMgcDQgcHJpbnQgb24gYSBzeW1saW5rIHNvbWV0aW1lcyBjb250YWlucyAidGFyZ2V0XG4iOworICAgICAgICAgICAgIyBpZiBpdCBkb2VzLCByZW1vdmUgdGhlIG5ld2xpbmUKICAgICAgICAgICAgIGRhdGEgPSAnJy5qb2luKGNvbnRlbnRzKQotICAgICAgICAgICAgY29udGVudHMgPSBbZGF0YVs6LTFdXQorICAgICAgICAgICAgaWYgbm90IGRhdGE6CisgICAgICAgICAgICAgICAgIyBTb21lIHZlcnNpb24gb2YgcDQgYWxsb3dlZCBjcmVhdGluZyBhIHN5bWxpbmsgdGhhdCBwb2ludGVkCisgICAgICAgICAgICAgICAgIyB0byBub3RoaW5nLiAgVGhpcyBjYXVzZXMgcDQgZXJyb3JzIHdoZW4gY2hlY2tpbmcgb3V0IHN1Y2gKKyAgICAgICAgICAgICAgICAjIGEgY2hhbmdlLCBhbmQgZXJyb3JzIGhlcmUgdG9vLiAgV29yayBhcm91bmQgaXQgYnkgaWdub3JpbmcKKyAgICAgICAgICAgICAgICAjIHRoZSBiYWQgc3ltbGluazsgaG9wZWZ1bGx5IGEgZnV0dXJlIGNoYW5nZSBmaXhlcyBpdC4KKyAgICAgICAgICAgICAgICBwcmludCAiXG5JZ25vcmluZyBlbXB0eSBzeW1saW5rIGluICVzIiAlIGZpbGVbJ2RlcG90RmlsZSddCisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICBlbGlmIGRhdGFbLTFdID09ICdcbic6CisgICAgICAgICAgICAgICAgY29udGVudHMgPSBbZGF0YVs6LTFdXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBjb250ZW50cyA9IFtkYXRhXQogCiAgICAgICAgIGlmIHR5cGVfYmFzZSA9PSAidXRmMTYiOgogICAgICAgICAgICAgIyBwNCBkZWxpdmVycyBkaWZmZXJlbnQgdGV4dCBpbiB0aGUgcHl0aG9uIG91dHB1dCB0byAtRwpAQCAtMjM3OSw2ICsyMjgyLDkgQEAKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiSWdub3JpbmcgZmlsZSBvdXRzaWRlIG9mIHByZWZpeDogJXNcbiIgJSBmWydwYXRoJ10pCiAKKyAgICAgICAgaWYgc2VsZi5jbGllbnRTcGVjRGlyczoKKyAgICAgICAgICAgIHNlbGYuY2xpZW50U3BlY0RpcnMudXBkYXRlX2NsaWVudF9zcGVjX3BhdGhfY2FjaGUoZmlsZXMpCisKICAgICAgICAgc2VsZi5naXRTdHJlYW0ud3JpdGUoImNvbW1pdCAlc1xuIiAlIGJyYW5jaCkKICMgICAgICAgIGdpdFN0cmVhbS53cml0ZSgibWFyayA6JXNcbiIgJSBkZXRhaWxzWyJjaGFuZ2UiXSkKICAgICAgICAgc2VsZi5jb21taXR0ZWRDaGFuZ2VzLmFkZChpbnQoZGV0YWlsc1siY2hhbmdlIl0pKQpkaWZmIC0tZ2l0IGEvZ2l0LXBhcnNlLXJlbW90ZS5zaCBiL2dpdC1wYXJzZS1yZW1vdGUuc2gKaW5kZXggMGU4N2UwOS4uNTVmZThkNSAxMDA2NDQKLS0tIGEvZ2l0LXBhcnNlLXJlbW90ZS5zaAorKysgYi9naXQtcGFyc2UtcmVtb3RlLnNoCkBAIC0xLDQgKzEsNiBAQAotIyEvYmluL3NoCisjIFRoaXMgaXMgYSBzaGVsbCBsaWJyYXJ5IHRvIGNhbGN1bGF0ZSB0aGUgcmVtb3RlIHJlcG9zaXRvcnkgYW5kCisjIHVwc3RyZWFtIGJyYW5jaCB0aGF0IHNob3VsZCBiZSBwdWxsZWQgYnkgImdpdCBwdWxsIiBmcm9tIHRoZSBjdXJyZW50CisjIGJyYW5jaC4KIAogIyBnaXQtbHMtcmVtb3RlIGNvdWxkIGJlIGNhbGxlZCBmcm9tIG91dHNpZGUgYSBnaXQgbWFuYWdlZCByZXBvc2l0b3J5OwogIyB0aGlzIHdvdWxkIGZhaWwgaW4gdGhhdCBjYXNlIGFuZCB3b3VsZCBpc3N1ZSBhbiBlcnJvciBtZXNzYWdlLgpkaWZmIC0tZ2l0IGEvZ2l0LXB1bGwuc2ggYi9naXQtcHVsbC5zaAppbmRleCBmMGRmNDFjLi4wYTVhYTJjIDEwMDc1NQotLS0gYS9naXQtcHVsbC5zaAorKysgYi9naXQtcHVsbC5zaApAQCAtNCw3ICs0LDcgQEAKICMKICMgRmV0Y2ggb25lIG9yIG1vcmUgcmVtb3RlIHJlZnMgYW5kIG1lcmdlIGl0L3RoZW0gaW50byB0aGUgY3VycmVudCBIRUFELgogCi1VU0FHRT0nWy1uIHwgLS1uby1zdGF0XSBbLS1bbm8tXWNvbW1pdF0gWy0tW25vLV1zcXVhc2hdIFstLVtuby1dZmZdIFstcyBzdHJhdGVneV0uLi4gWzxmZXRjaC1vcHRpb25zPl0gPHJlcG8+IDxoZWFkPi4uLicKK1VTQUdFPSdbLW4gfCAtLW5vLXN0YXRdIFstLVtuby1dY29tbWl0XSBbLS1bbm8tXXNxdWFzaF0gWy0tW25vLV1mZl0gWy0tW25vLV1yZWJhc2V8LS1yZWJhc2U9cHJlc2VydmVdIFstcyBzdHJhdGVneV0uLi4gWzxmZXRjaC1vcHRpb25zPl0gPHJlcG8+IDxoZWFkPi4uLicKIExPTkdfVVNBR0U9J0ZldGNoIG9uZSBvciBtb3JlIHJlbW90ZSByZWZzIGFuZCBpbnRlZ3JhdGUgaXQvdGhlbSB3aXRoIHRoZSBjdXJyZW50IEhFQUQuJwogU1VCRElSRUNUT1JZX09LPVllcwogT1BUSU9OU19TUEVDPQpAQCAtMzgsMTUgKzM4LDE5IEBACiB0ZXN0IC16ICIkKGdpdCBscy1maWxlcyAtdSkiIHx8IGRpZV9jb25mbGljdAogdGVzdCAtZiAiJEdJVF9ESVIvTUVSR0VfSEVBRCIgJiYgZGllX21lcmdlCiAKK2Jvb2xfb3Jfc3RyaW5nX2NvbmZpZyAoKSB7CisJZ2l0IGNvbmZpZyAtLWJvb2wgIiQxIiAyPi9kZXYvbnVsbCB8fCBnaXQgY29uZmlnICIkMSIKK30KKwogc3RyYXRlZ3lfYXJncz0gZGlmZnN0YXQ9IG5vX2NvbW1pdD0gc3F1YXNoPSBub19mZj0gZmZfb25seT0KIGxvZ19hcmc9IHZlcmJvc2l0eT0gcHJvZ3Jlc3M9IHJlY3Vyc2Vfc3VibW9kdWxlcz0gdmVyaWZ5X3NpZ25hdHVyZXM9Ci1tZXJnZV9hcmdzPSBlZGl0PQorbWVyZ2VfYXJncz0gZWRpdD0gcmViYXNlX2FyZ3M9CiBjdXJyX2JyYW5jaD0kKGdpdCBzeW1ib2xpYy1yZWYgLXEgSEVBRCkKIGN1cnJfYnJhbmNoX3Nob3J0PSIke2N1cnJfYnJhbmNoI3JlZnMvaGVhZHMvfSIKLXJlYmFzZT0kKGdpdCBjb25maWcgLS1ib29sIGJyYW5jaC4kY3Vycl9icmFuY2hfc2hvcnQucmViYXNlKQorcmViYXNlPSQoYm9vbF9vcl9zdHJpbmdfY29uZmlnIGJyYW5jaC4kY3Vycl9icmFuY2hfc2hvcnQucmViYXNlKQogaWYgdGVzdCAteiAiJHJlYmFzZSIKIHRoZW4KLQlyZWJhc2U9JChnaXQgY29uZmlnIC0tYm9vbCBwdWxsLnJlYmFzZSkKKwlyZWJhc2U9JChib29sX29yX3N0cmluZ19jb25maWcgcHVsbC5yZWJhc2UpCiBmaQogZHJ5X3J1bj0KIHdoaWxlIDoKQEAgLTExMCw2ICsxMTQsOSBAQAogCQllc2FjCiAJCW1lcmdlX2FyZ3M9IiRtZXJnZV9hcmdzJHh4ICIKIAkJOzsKKwktcj0qfC0tcj0qfC0tcmU9KnwtLXJlYj0qfC0tcmViYT0qfC0tcmViYXM9KnwtLXJlYmFzZT0qKQorCQlyZWJhc2U9IiR7MSMqPX0iCisJCTs7CiAJLXJ8LS1yfC0tcmV8LS1yZWJ8LS1yZWJhfC0tcmViYXN8LS1yZWJhc2UpCiAJCXJlYmFzZT10cnVlCiAJCTs7CkBAIC0xNDUsMTMgKzE1MiwyNyBAQAogCXNoaWZ0CiBkb25lCiAKK2Nhc2UgIiRyZWJhc2UiIGluCitwcmVzZXJ2ZSkKKwlyZWJhc2U9dHJ1ZQorCXJlYmFzZV9hcmdzPS0tcHJlc2VydmUtbWVyZ2VzCisJOzsKK3RydWV8ZmFsc2V8JycpCisJOzsKKyopCisJZWNobyAiSW52YWxpZCB2YWx1ZSBmb3IgLS1yZWJhc2UsIHNob3VsZCBiZSB0cnVlLCBmYWxzZSwgb3IgcHJlc2VydmUiCisJdXNhZ2UKKwlleGl0IDEKKwk7OworZXNhYworCiBlcnJvcl9vbl9ub19tZXJnZV9jYW5kaWRhdGVzICgpIHsKIAlleGVjID4mMgogCWZvciBvcHQKIAlkbwogCQljYXNlICIkb3B0IiBpbgogCQktdHwtLXR8LS10YXwtLXRhZ3wtLXRhZ3MpCi0JCQllY2hvICJGZXRjaGluZyB0YWdzIG9ubHksIHlvdSBwcm9iYWJseSBtZWFudDoiCisJCQllY2hvICJJdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcHVsbCBhbGwgdGFnczsgeW91IHByb2JhYmx5IG1lYW50OiIKIAkJCWVjaG8gIiAgZ2l0IGZldGNoIC0tdGFncyIKIAkJCWV4aXQgMQogCQllc2FjCkBAIC0xNjYsOSArMTg3LDggQEAKIAkJb3BfcHJlcD13aXRoCiAJZmkKIAotCWN1cnJfYnJhbmNoPSR7Y3Vycl9icmFuY2gjcmVmcy9oZWFkcy99Ci0JdXBzdHJlYW09JChnaXQgY29uZmlnICJicmFuY2guJGN1cnJfYnJhbmNoLm1lcmdlIikKLQlyZW1vdGU9JChnaXQgY29uZmlnICJicmFuY2guJGN1cnJfYnJhbmNoLnJlbW90ZSIpCisJdXBzdHJlYW09JChnaXQgY29uZmlnICJicmFuY2guJGN1cnJfYnJhbmNoX3Nob3J0Lm1lcmdlIikKKwlyZW1vdGU9JChnaXQgY29uZmlnICJicmFuY2guJGN1cnJfYnJhbmNoX3Nob3J0LnJlbW90ZSIpCiAKIAlpZiBbICQjIC1ndCAxIF07IHRoZW4KIAkJaWYgWyAiJHJlYmFzZSIgPSB0cnVlIF07IHRoZW4KQEAgLTIwOSwxNSArMjI5LDcgQEAKIAl0ZXN0IC1uICIkY3Vycl9icmFuY2giICYmCiAJLiBnaXQtcGFyc2UtcmVtb3RlICYmCiAJcmVtb3RlcmVmPSIkKGdldF9yZW1vdGVfbWVyZ2VfYnJhbmNoICIkQCIgMj4vZGV2L251bGwpIiAmJgotCW9sZHJlbW90ZXJlZj0iJChnaXQgcmV2LXBhcnNlIC1xIC0tdmVyaWZ5ICIkcmVtb3RlcmVmIikiICYmCi0JZm9yIHJlZmxvZyBpbiAkKGdpdCByZXYtbGlzdCAtZyAkcmVtb3RlcmVmIDI+L2Rldi9udWxsKQotCWRvCi0JCWlmIHRlc3QgIiRyZWZsb2ciID0gIiQoZ2l0IG1lcmdlLWJhc2UgJHJlZmxvZyAkY3Vycl9icmFuY2gpIgotCQl0aGVuCi0JCQlvbGRyZW1vdGVyZWY9IiRyZWZsb2ciCi0JCQlicmVhawotCQlmaQotCWRvbmUKKwlvbGRyZW1vdGVyZWY9JChnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgIiRyZW1vdGVyZWYiICRjdXJyX2JyYW5jaCAyPi9kZXYvbnVsbCkKIH0KIG9yaWdfaGVhZD0kKGdpdCByZXYtcGFyc2UgLXEgLS12ZXJpZnkgSEVBRCkKIGdpdCBmZXRjaCAkdmVyYm9zaXR5ICRwcm9ncmVzcyAkZHJ5X3J1biAkcmVjdXJzZV9zdWJtb2R1bGVzIC0tdXBkYXRlLWhlYWQtb2sgIiRAIiB8fCBleGl0IDEKQEAgLTI5Miw3ICszMDQsNyBAQAogbWVyZ2VfbmFtZT0kKGdpdCBmbXQtbWVyZ2UtbXNnICRsb2dfYXJnIDwiJEdJVF9ESVIvRkVUQ0hfSEVBRCIpIHx8IGV4aXQKIGNhc2UgIiRyZWJhc2UiIGluCiB0cnVlKQotCWV2YWw9ImdpdC1yZWJhc2UgJGRpZmZzdGF0ICRzdHJhdGVneV9hcmdzICRtZXJnZV9hcmdzICR2ZXJib3NpdHkiCisJZXZhbD0iZ2l0LXJlYmFzZSAkZGlmZnN0YXQgJHN0cmF0ZWd5X2FyZ3MgJG1lcmdlX2FyZ3MgJHJlYmFzZV9hcmdzICR2ZXJib3NpdHkiCiAJZXZhbD0iJGV2YWwgLS1vbnRvICRtZXJnZV9oZWFkICR7b2xkcmVtb3RlcmVmOi0kbWVyZ2VfaGVhZH0iCiAJOzsKICopCmRpZmYgLS1naXQgYS9naXQtcmViYXNlLS1hbS5zaCBiL2dpdC1yZWJhc2UtLWFtLnNoCmluZGV4IDM0ZTMxMDIuLmE0ZjY4M2EgMTAwNjQ0Ci0tLSBhL2dpdC1yZWJhc2UtLWFtLnNoCisrKyBiL2dpdC1yZWJhc2UtLWFtLnNoCkBAIC0xLDQgKzEsNSBAQAotIyEvYmluL3NoCisjIFRoaXMgc2hlbGwgc2NyaXB0IGZyYWdtZW50IGlzIHNvdXJjZWQgYnkgZ2l0LXJlYmFzZSB0byBpbXBsZW1lbnQKKyMgaXRzIGRlZmF1bHQsIGZhc3QsIHBhdGNoLWJhc2VkLCBub24taW50ZXJhY3RpdmUgbW9kZS4KICMKICMgQ29weXJpZ2h0IChjKSAyMDEwIEp1bmlvIEMgSGFtYW5vLgogIwpkaWZmIC0tZ2l0IGEvZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2ggYi9naXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaAppbmRleCAxMGJmMzE4Li40M2MxOWUwIDEwMDY0NAotLS0gYS9naXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaAorKysgYi9naXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaApAQCAtMSwxMSArMSw4IEBACi0jIS9iaW4vc2gKKyMgVGhpcyBzaGVsbCBzY3JpcHQgZnJhZ21lbnQgaXMgc291cmNlZCBieSBnaXQtcmViYXNlIHRvIGltcGxlbWVudAorIyBpdHMgaW50ZXJhY3RpdmUgbW9kZS4gICJnaXQgcmViYXNlIC0taW50ZXJhY3RpdmUiIG1ha2VzIGl0IGVhc3kKKyMgdG8gZml4IHVwIGNvbW1pdHMgaW4gdGhlIG1pZGRsZSBvZiBhIHNlcmllcyBhbmQgcmVhcnJhbmdlIGNvbW1pdHMuCiAjCiAjIENvcHlyaWdodCAoYykgMjAwNiBKb2hhbm5lcyBFLiBTY2hpbmRlbGluCi0KLSMgU0hPUlQgREVTQ1JJUFRJT04KLSMKLSMgVGhpcyBzY3JpcHQgbWFrZXMgaXQgZWFzeSB0byBmaXggdXAgY29tbWl0cyBpbiB0aGUgbWlkZGxlIG9mIGEgc2VyaWVzLAotIyBhbmQgcmVhcnJhbmdlIGNvbW1pdHMuCiAjCiAjIFRoZSBvcmlnaW5hbCBpZGVhIGNvbWVzIGZyb20gRXJpYyBXLiBCaWVkZXJtYW4sIGluCiAjIGh0dHA6Ly9hcnRpY2xlLmdtYW5lLm9yZy9nbWFuZS5jb21wLnZlcnNpb24tY29udHJvbC5naXQvMjI0MDcKQEAgLTcxMyw3ICs3MTAsNyBAQAogfQogCiBjb2xsYXBzZV90b2RvX2lkcygpIHsKLQl0cmFuc2Zvcm1fdG9kb19pZHMgLS1zaG9ydD03CisJdHJhbnNmb3JtX3RvZG9faWRzIC0tc2hvcnQKIH0KIAogIyBSZWFycmFuZ2UgdGhlIHRvZG8gbGlzdCB0aGF0IGhhcyBib3RoICJwaWNrIHNoYTEgbXNnIiBhbmQKZGlmZiAtLWdpdCBhL2dpdC1yZWJhc2UtLW1lcmdlLnNoIGIvZ2l0LXJlYmFzZS0tbWVyZ2Uuc2gKaW5kZXggMTZkMTgxNy4uZTdkOTZkZSAxMDA2NDQKLS0tIGEvZ2l0LXJlYmFzZS0tbWVyZ2Uuc2gKKysrIGIvZ2l0LXJlYmFzZS0tbWVyZ2Uuc2gKQEAgLTEsNCArMSw2IEBACi0jIS9iaW4vc2gKKyMgVGhpcyBzaGVsbCBzY3JpcHQgZnJhZ21lbnQgaXMgc291cmNlZCBieSBnaXQtcmViYXNlIHRvIGltcGxlbWVudAorIyBpdHMgbWVyZ2UtYmFzZWQgbm9uLWludGVyYWN0aXZlIG1vZGUgdGhhdCBjb3BlcyB3ZWxsIHdpdGggcmVuYW1lZAorIyBmaWxlcy4KICMKICMgQ29weXJpZ2h0IChjKSAyMDEwIEp1bmlvIEMgSGFtYW5vLgogIwpkaWZmIC0tZ2l0IGEvZ2l0LXJlYmFzZS5zaCBiL2dpdC1yZWJhc2Uuc2gKaW5kZXggMjI2NzUyZi4uOGEzZWZhMiAxMDA3NTUKLS0tIGEvZ2l0LXJlYmFzZS5zaAorKysgYi9naXQtcmViYXNlLnNoCkBAIC0xNCw2ICsxNCw3IEBACiB2LHZlcmJvc2UhICAgICAgICAgZGlzcGxheSBhIGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbQogcSxxdWlldCEgICAgICAgICAgIGJlIHF1aWV0LiBpbXBsaWVzIC0tbm8tc3RhdAogYXV0b3N0YXNoISAgICAgICAgIGF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIKK2ZvcmstcG9pbnQgICAgICAgICB1c2UgJ21lcmdlLWJhc2UgLS1mb3JrLXBvaW50JyB0byByZWZpbmUgdXBzdHJlYW0KIG9udG89ISAgICAgICAgICAgICByZWJhc2Ugb250byBnaXZlbiBicmFuY2ggaW5zdGVhZCBvZiB1cHN0cmVhbQogcCxwcmVzZXJ2ZS1tZXJnZXMhIHRyeSB0byByZWNyZWF0ZSBtZXJnZXMgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGVtCiBzLHN0cmF0ZWd5PSEgICAgICAgdXNlIHRoZSBnaXZlbiBtZXJnZSBzdHJhdGVneQpAQCAtNjYsNiArNjcsNyBAQAogZGlmZnN0YXQ9CiB0ZXN0ICIkKGdpdCBjb25maWcgLS1ib29sIHJlYmFzZS5zdGF0KSIgPSB0cnVlICYmIGRpZmZzdGF0PXQKIGF1dG9zdGFzaD0iJChnaXQgY29uZmlnIC0tYm9vbCByZWJhc2UuYXV0b3N0YXNoIHx8IGVjaG8gZmFsc2UpIgorZm9ya19wb2ludD1hdXRvCiBnaXRfYW1fb3B0PQogcmViYXNlX3Jvb3Q9CiBmb3JjZV9yZWJhc2U9CkBAIC0yNjAsNiArMjYyLDEyIEBACiAJLS1uby1hdXRvc3F1YXNoKQogCQlhdXRvc3F1YXNoPQogCQk7OworCS0tZm9yay1wb2ludCkKKwkJZm9ya19wb2ludD10CisJCTs7CisJLS1uby1mb3JrLXBvaW50KQorCQlmb3JrX3BvaW50PQorCQk7OwogCS1NfC1tKQogCQlkb19tZXJnZT10CiAJCTs7CkBAIC00MzcsNiArNDQ1LDggQEAKIAkJCWVycm9yX29uX21pc3NpbmdfZGVmYXVsdF91cHN0cmVhbSAicmViYXNlIiAicmViYXNlIiBcCiAJCQkJImFnYWluc3QiICJnaXQgcmViYXNlIDxicmFuY2g+IgogCQlmaQorCisJCXRlc3QgIiRmb3JrX3BvaW50IiA9IGF1dG8gJiYgZm9ya19wb2ludD10CiAJCTs7CiAJKikJdXBzdHJlYW1fbmFtZT0iJDEiCiAJCXNoaWZ0CkBAIC01MjIsNiArNTMyLDE2IEBACiAJOzsKIGVzYWMKIAoraWYgdGVzdCAiJGZvcmtfcG9pbnQiID0gdAordGhlbgorCW5ld191cHN0cmVhbT0kKGdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCAiJHVwc3RyZWFtX25hbWUiIFwKKwkJCSIke3N3aXRjaF90bzotSEVBRH0iKQorCWlmIHRlc3QgLW4gIiRuZXdfdXBzdHJlYW0iCisJdGhlbgorCQl1cHN0cmVhbT0kbmV3X3Vwc3RyZWFtCisJZmkKK2ZpCisKIGlmIHRlc3QgIiRhdXRvc3Rhc2giID0gdHJ1ZSAmJiAhIChyZXF1aXJlX2NsZWFuX3dvcmtfdHJlZSkgMj4vZGV2L251bGwKIHRoZW4KIAlzdGFzaF9zaGExPSQoZ2l0IHN0YXNoIGNyZWF0ZSAiYXV0b3N0YXNoIikgfHwKZGlmZiAtLWdpdCBhL2dpdC1yZW1vdGUtdGVzdGdpdC5zaCBiL2dpdC1yZW1vdGUtdGVzdGdpdC5zaAppbmRleCAyMTA5MDcwLi42ZDJmMjgyIDEwMDc1NQotLS0gYS9naXQtcmVtb3RlLXRlc3RnaXQuc2gKKysrIGIvZ2l0LXJlbW90ZS10ZXN0Z2l0LnNoCkBAIC0zOCw2ICszOCw3IEBACiAJCQllY2hvICIqZXhwb3J0LW1hcmtzICRnaXRtYXJrcyIKIAkJZmkKIAkJdGVzdCAtbiAiJEdJVF9SRU1PVEVfVEVTVEdJVF9TSUdORURfVEFHUyIgJiYgZWNobyAic2lnbmVkLXRhZ3MiCisJCXRlc3QgLW4gIiRHSVRfUkVNT1RFX1RFU1RHSVRfTk9fUFJJVkFURV9VUERBVEUiICYmIGVjaG8gIm5vLXByaXZhdGUtdXBkYXRlIgogCQllY2hvCiAJCTs7CiAJbGlzdCkKZGlmZiAtLWdpdCBhL2dpdC1yZW1vdGUtdGVzdHB5LnB5IGIvZ2l0LXJlbW90ZS10ZXN0cHkucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNhNjc4OTkuLjAwMDAwMDAKLS0tIGEvZ2l0LXJlbW90ZS10ZXN0cHkucHkKKysrIC9kZXYvbnVsbApAQCAtMSwzMDUgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0KLSMgVGhpcyBjb21tYW5kIGlzIGEgc2ltcGxlIHJlbW90ZS1oZWxwZXIsIHRoYXQgaXMgdXNlZCBib3RoIGFzIGEKLSMgdGVzdGNhc2UgZm9yIHRoZSByZW1vdGUtaGVscGVyIGZ1bmN0aW9uYWxpdHksIGFuZCBhcyBhbiBleGFtcGxlIHRvCi0jIHNob3cgcmVtb3RlLWhlbHBlciBhdXRob3JzIG9uZSBwb3NzaWJsZSBpbXBsZW1lbnRhdGlvbi4KLSMKLSMgVGhpcyBpcyBhIEdpdCA8LT4gR2l0IGltcG9ydGVyL2V4cG9ydGVyLCB0aGF0IHNpbXBseSB1c2VzIGdpdAotIyBmYXN0LWltcG9ydCBhbmQgZ2l0IGZhc3QtZXhwb3J0IHRvIGNvbnN1bWUgYW5kIHByb2R1Y2UgZmFzdC1pbXBvcnQKLSMgc3RyZWFtcy4KLSMKLSMgVG8gdW5kZXJzdGFuZCBiZXR0ZXIgdGhlIHdheSB0aGluZ3Mgd29yaywgb25lIGNhbiBhY3RpdmF0ZSBkZWJ1ZwotIyB0cmFjZXMgYnkgc2V0dGluZyAodG8gYW55IHZhbHVlKSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzCi0jIEdJVF9UUkFOU1BPUlRfSEVMUEVSX0RFQlVHIGFuZCBHSVRfREVCVUdfVEVTVEdJVCwgdG8gc2VlIG1lc3NhZ2VzCi0jIGZyb20gdGhlIHRyYW5zcG9ydC1oZWxwZXIgc2lkZSwgb3IgZnJvbSB0aGlzIGV4YW1wbGUgcmVtb3RlLWhlbHBlci4KLQotIyBoYXNobGliIGlzIG9ubHkgYXZhaWxhYmxlIGluIHB5dGhvbiA+PSAyLjUKLXRyeToKLSAgICBpbXBvcnQgaGFzaGxpYgotICAgIF9kaWdlc3QgPSBoYXNobGliLnNoYTEKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBpbXBvcnQgc2hhCi0gICAgX2RpZ2VzdCA9IHNoYS5uZXcKLWltcG9ydCBzeXMKLWltcG9ydCBvcwotaW1wb3J0IHRpbWUKLXN5cy5wYXRoLmluc2VydCgwLCBvcy5nZXRlbnYoIkdJVFBZVEhPTkxJQiIsIi4iKSkKLQotZnJvbSBnaXRfcmVtb3RlX2hlbHBlcnMudXRpbCBpbXBvcnQgZGllLCBkZWJ1Zywgd2FybgotZnJvbSBnaXRfcmVtb3RlX2hlbHBlcnMuZ2l0LnJlcG8gaW1wb3J0IEdpdFJlcG8KLWZyb20gZ2l0X3JlbW90ZV9oZWxwZXJzLmdpdC5leHBvcnRlciBpbXBvcnQgR2l0RXhwb3J0ZXIKLWZyb20gZ2l0X3JlbW90ZV9oZWxwZXJzLmdpdC5pbXBvcnRlciBpbXBvcnQgR2l0SW1wb3J0ZXIKLWZyb20gZ2l0X3JlbW90ZV9oZWxwZXJzLmdpdC5ub25fbG9jYWwgaW1wb3J0IE5vbkxvY2FsR2l0Ci0KLWlmIHN5cy5oZXh2ZXJzaW9uIDwgMHgwMjAwMDAwMDoKLSAgICAjIHN0cmluZy5lbmNvZGUoKSBpcyB0aGUgbGltaXRlcgotICAgIHN5cy5zdGRlcnIud3JpdGUoImdpdC1yZW1vdGUtdGVzdGdpdDogcmVxdWlyZXMgUHl0aG9uIDIuMCBvciBsYXRlci5cbiIpCi0gICAgc3lzLmV4aXQoMSkKLQotCi1kZWYgZW5jb2RlX2ZpbGVwYXRoKHBhdGgpOgotICAgICIiIkVuY29kZXMgYSBVbmljb2RlIGZpbGUgcGF0aCB0byBhIGJ5dGUgc3RyaW5nLgotCi0gICAgT24gUHl0aG9uIDIgdGhpcyBpcyBhIG5vLW9wOyBvbiBQeXRob24gMyB3ZSBlbmNvZGUgdGhlIHN0cmluZyBhcwotICAgIHN1Z2dlc3RlZCBieSBbMV0gd2hpY2ggYWxsb3dzIGFuIGV4YWN0IHJvdW5kLXRyaXAgZnJvbSB0aGUgY29tbWFuZCBsaW5lCi0gICAgdG8gdGhlIGZpbGVzeXN0ZW0uCi0KLSAgICBbMV0gaHR0cDovL2RvY3MucHl0aG9uLm9yZy8zL2MtYXBpL3VuaWNvZGUuaHRtbCNmaWxlLXN5c3RlbS1lbmNvZGluZwotCi0gICAgIiIiCi0gICAgaWYgc3lzLmhleHZlcnNpb24gPCAweDAzMDAwMDAwOgotICAgICAgICByZXR1cm4gcGF0aAotICAgIHJldHVybiBwYXRoLmVuY29kZShzeXMuZ2V0ZmlsZXN5c3RlbWVuY29kaW5nKCksICdzdXJyb2dhdGVlc2NhcGUnKQotCi0KLWRlZiBnZXRfcmVwbyhhbGlhcywgdXJsKToKLSAgICAiIiJSZXR1cm5zIGEgZ2l0IHJlcG9zaXRvcnkgb2JqZWN0IGluaXRpYWxpemVkIGZvciB1c2FnZS4KLSAgICAiIiIKLQotICAgIHJlcG8gPSBHaXRSZXBvKHVybCkKLSAgICByZXBvLmdldF9yZXZzKCkKLSAgICByZXBvLmdldF9oZWFkKCkKLQotICAgIGhhc2hlciA9IF9kaWdlc3QoKQotICAgIGhhc2hlci51cGRhdGUoZW5jb2RlX2ZpbGVwYXRoKHJlcG8ucGF0aCkpCi0gICAgcmVwby5oYXNoID0gaGFzaGVyLmhleGRpZ2VzdCgpCi0KLSAgICByZXBvLmdldF9iYXNlX3BhdGggPSBsYW1iZGEgYmFzZTogb3MucGF0aC5qb2luKAotICAgICAgICBiYXNlLCAnaW5mbycsICdmYXN0LWltcG9ydCcsIHJlcG8uaGFzaCkKLQotICAgIHByZWZpeCA9ICdyZWZzL3Rlc3RnaXQvJXMvJyAlIGFsaWFzCi0gICAgZGVidWcoInByZWZpeDogJyVzJyIsIHByZWZpeCkKLQotICAgIHJlcG8uZ2l0ZGlyID0gb3MuZW52aXJvblsiR0lUX0RJUiJdCi0gICAgcmVwby5hbGlhcyA9IGFsaWFzCi0gICAgcmVwby5wcmVmaXggPSBwcmVmaXgKLQotICAgIHJlcG8uZXhwb3J0ZXIgPSBHaXRFeHBvcnRlcihyZXBvKQotICAgIHJlcG8uaW1wb3J0ZXIgPSBHaXRJbXBvcnRlcihyZXBvKQotICAgIHJlcG8ubm9uX2xvY2FsID0gTm9uTG9jYWxHaXQocmVwbykKLQotICAgIHJldHVybiByZXBvCi0KLQotZGVmIGxvY2FsX3JlcG8ocmVwbywgcGF0aCk6Ci0gICAgIiIiUmV0dXJucyBhIGdpdCByZXBvc2l0b3J5IG9iamVjdCBpbml0YWxpemVkIGZvciB1c2FnZS4KLSAgICAiIiIKLQotICAgIGxvY2FsID0gR2l0UmVwbyhwYXRoKQotCi0gICAgbG9jYWwubm9uX2xvY2FsID0gTm9uZQotICAgIGxvY2FsLmdpdGRpciA9IHJlcG8uZ2l0ZGlyCi0gICAgbG9jYWwuYWxpYXMgPSByZXBvLmFsaWFzCi0gICAgbG9jYWwucHJlZml4ID0gcmVwby5wcmVmaXgKLSAgICBsb2NhbC5oYXNoID0gcmVwby5oYXNoCi0gICAgbG9jYWwuZ2V0X2Jhc2VfcGF0aCA9IHJlcG8uZ2V0X2Jhc2VfcGF0aAotICAgIGxvY2FsLmV4cG9ydGVyID0gR2l0RXhwb3J0ZXIobG9jYWwpCi0gICAgbG9jYWwuaW1wb3J0ZXIgPSBHaXRJbXBvcnRlcihsb2NhbCkKLQotICAgIHJldHVybiBsb2NhbAotCi0KLWRlZiBkb19jYXBhYmlsaXRpZXMocmVwbywgYXJncyk6Ci0gICAgIiIiUHJpbnRzIHRoZSBzdXBwb3J0ZWQgY2FwYWJpbGl0aWVzLgotICAgICIiIgotCi0gICAgcHJpbnQoImltcG9ydCIpCi0gICAgcHJpbnQoImV4cG9ydCIpCi0gICAgcHJpbnQoInJlZnNwZWMgcmVmcy9oZWFkcy8qOiVzKiIgJSByZXBvLnByZWZpeCkKLQotICAgIGRpcm5hbWUgPSByZXBvLmdldF9iYXNlX3BhdGgocmVwby5naXRkaXIpCi0KLSAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZGlybmFtZSk6Ci0gICAgICAgIG9zLm1ha2VkaXJzKGRpcm5hbWUpCi0KLSAgICBwYXRoID0gb3MucGF0aC5qb2luKGRpcm5hbWUsICdnaXQubWFya3MnKQotCi0gICAgcHJpbnQoIipleHBvcnQtbWFya3MgJXMiICUgcGF0aCkKLSAgICBpZiBvcy5wYXRoLmV4aXN0cyhwYXRoKToKLSAgICAgICAgcHJpbnQoIippbXBvcnQtbWFya3MgJXMiICUgcGF0aCkKLQotICAgIHByaW50KCcnKSAjIGVuZCBjYXBhYmlsaXRpZXMKLQotCi1kZWYgZG9fbGlzdChyZXBvLCBhcmdzKToKLSAgICAiIiJMaXN0cyBhbGwga25vd24gcmVmZXJlbmNlcy4KLQotICAgIEJ1ZzogVGhpcyB3aWxsIGFsd2F5cyBzZXQgdGhlIHJlbW90ZSBoZWFkIHRvIG1hc3RlciBmb3Igbm9uLWxvY2FsCi0gICAgcmVwb3NpdG9yaWVzLCBzaW5jZSB3ZSBoYXZlIG5vIHdheSBvZiBkZXRlcm1pbmluZyB3aGF0IHRoZSByZW1vdGUKLSAgICBoZWFkIGlzIGF0IGNsb25lIHRpbWUuCi0gICAgIiIiCi0KLSAgICBmb3IgcmVmIGluIHJlcG8ucmV2czoKLSAgICAgICAgZGVidWcoIj8gcmVmcy9oZWFkcy8lcyIsIHJlZikKLSAgICAgICAgcHJpbnQoIj8gcmVmcy9oZWFkcy8lcyIgJSByZWYpCi0KLSAgICBpZiByZXBvLmhlYWQ6Ci0gICAgICAgIGRlYnVnKCJAcmVmcy9oZWFkcy8lcyBIRUFEIiAlIHJlcG8uaGVhZCkKLSAgICAgICAgcHJpbnQoIkByZWZzL2hlYWRzLyVzIEhFQUQiICUgcmVwby5oZWFkKQotICAgIGVsc2U6Ci0gICAgICAgIGRlYnVnKCJAcmVmcy9oZWFkcy9tYXN0ZXIgSEVBRCIpCi0gICAgICAgIHByaW50KCJAcmVmcy9oZWFkcy9tYXN0ZXIgSEVBRCIpCi0KLSAgICBwcmludCgnJykgIyBlbmQgbGlzdAotCi0KLWRlZiB1cGRhdGVfbG9jYWxfcmVwbyhyZXBvKToKLSAgICAiIiJVcGRhdGVzIChvciBjbG9uZXMpIGEgbG9jYWwgcmVwby4KLSAgICAiIiIKLQotICAgIGlmIHJlcG8ubG9jYWw6Ci0gICAgICAgIHJldHVybiByZXBvCi0KLSAgICBwYXRoID0gcmVwby5ub25fbG9jYWwuY2xvbmUocmVwby5naXRkaXIpCi0gICAgcmVwby5ub25fbG9jYWwudXBkYXRlKHJlcG8uZ2l0ZGlyKQotICAgIHJlcG8gPSBsb2NhbF9yZXBvKHJlcG8sIHBhdGgpCi0gICAgcmV0dXJuIHJlcG8KLQotCi1kZWYgZG9faW1wb3J0KHJlcG8sIGFyZ3MpOgotICAgICIiIkV4cG9ydHMgYSBmYXN0LWltcG9ydCBzdHJlYW0gZnJvbSB0ZXN0Z2l0IGZvciBnaXQgdG8gaW1wb3J0LgotICAgICIiIgotCi0gICAgaWYgbGVuKGFyZ3MpICE9IDE6Ci0gICAgICAgIGRpZSgiSW1wb3J0IG5lZWRzIGV4YWN0bHkgb25lIHJlZiIpCi0KLSAgICBpZiBub3QgcmVwby5naXRkaXI6Ci0gICAgICAgIGRpZSgiTmVlZCBnaXRkaXIgdG8gaW1wb3J0IikKLQotICAgIHJlZiA9IGFyZ3NbMF0KLSAgICByZWZzID0gW3JlZl0KLQotICAgIHdoaWxlIFRydWU6Ci0gICAgICAgIGxpbmUgPSBzeXMuc3RkaW4ucmVhZGxpbmUoKS5kZWNvZGUoKQotICAgICAgICBpZiBsaW5lID09ICdcbic6Ci0gICAgICAgICAgICBicmVhawotICAgICAgICBpZiBub3QgbGluZS5zdGFydHN3aXRoKCdpbXBvcnQgJyk6Ci0gICAgICAgICAgICBkaWUoIkV4cGVjdGVkIGltcG9ydCBsaW5lLiIpCi0KLSAgICAgICAgIyBzdHJpcCBvZiBsZWFkaW5nICdpbXBvcnQgJwotICAgICAgICByZWYgPSBsaW5lWzc6XS5zdHJpcCgpCi0gICAgICAgIHJlZnMuYXBwZW5kKHJlZikKLQotICAgIHByaW50KCJmZWF0dXJlIGRvbmUiKQotCi0gICAgaWYgb3MuZW52aXJvbi5nZXQoIkdJVF9SRU1PVEVfVEVTVEdJVF9GQUlMVVJFIik6Ci0gICAgICAgIGRpZSgnVG9sZCB0byBmYWlsJykKLQotICAgIHJlcG8gPSB1cGRhdGVfbG9jYWxfcmVwbyhyZXBvKQotICAgIHJlcG8uZXhwb3J0ZXIuZXhwb3J0X3JlcG8ocmVwby5naXRkaXIsIHJlZnMpCi0KLSAgICBwcmludCgiZG9uZSIpCi0KLQotZGVmIGRvX2V4cG9ydChyZXBvLCBhcmdzKToKLSAgICAiIiJJbXBvcnRzIGEgZmFzdC1pbXBvcnQgc3RyZWFtIGZyb20gZ2l0IHRvIHRlc3RnaXQuCi0gICAgIiIiCi0KLSAgICBpZiBub3QgcmVwby5naXRkaXI6Ci0gICAgICAgIGRpZSgiTmVlZCBnaXRkaXIgdG8gZXhwb3J0IikKLQotICAgIGlmIG9zLmVudmlyb24uZ2V0KCJHSVRfUkVNT1RFX1RFU1RHSVRfRkFJTFVSRSIpOgotICAgICAgICBkaWUoJ1RvbGQgdG8gZmFpbCcpCi0KLSAgICB1cGRhdGVfbG9jYWxfcmVwbyhyZXBvKQotICAgIGNoYW5nZWQgPSByZXBvLmltcG9ydGVyLmRvX2ltcG9ydChyZXBvLmdpdGRpcikKLQotICAgIGlmIG5vdCByZXBvLmxvY2FsOgotICAgICAgICByZXBvLm5vbl9sb2NhbC5wdXNoKHJlcG8uZ2l0ZGlyKQotCi0gICAgZm9yIHJlZiBpbiBjaGFuZ2VkOgotICAgICAgICBwcmludCgib2sgJXMiICUgcmVmKQotICAgIHByaW50KCcnKQotCi0KLUNPTU1BTkRTID0gewotICAgICdjYXBhYmlsaXRpZXMnOiBkb19jYXBhYmlsaXRpZXMsCi0gICAgJ2xpc3QnOiBkb19saXN0LAotICAgICdpbXBvcnQnOiBkb19pbXBvcnQsCi0gICAgJ2V4cG9ydCc6IGRvX2V4cG9ydCwKLX0KLQotCi1kZWYgc2FuaXRpemUodmFsdWUpOgotICAgICIiIkNsZWFucyB1cCB0aGUgdXJsLgotICAgICIiIgotCi0gICAgaWYgdmFsdWUuc3RhcnRzd2l0aCgndGVzdGdpdDo6Jyk6Ci0gICAgICAgIHZhbHVlID0gdmFsdWVbOTpdCi0KLSAgICByZXR1cm4gdmFsdWUKLQotCi1kZWYgcmVhZF9vbmVfbGluZShyZXBvKToKLSAgICAiIiJSZWFkcyBhbmQgcHJvY2Vzc2VzIG9uZSBjb21tYW5kLgotICAgICIiIgotCi0gICAgc2xlZXB5ID0gb3MuZW52aXJvbi5nZXQoIkdJVF9SRU1PVEVfVEVTVEdJVF9TTEVFUFkiKQotICAgIGlmIHNsZWVweToKLSAgICAgICAgZGVidWcoIlNsZWVwaW5nICVkIHNlYyBiZWZvcmUgcmVhZGxpbmUiICUgaW50KHNsZWVweSkpCi0gICAgICAgIHRpbWUuc2xlZXAoaW50KHNsZWVweSkpCi0KLSAgICBsaW5lID0gc3lzLnN0ZGluLnJlYWRsaW5lKCkKLQotICAgIGNtZGxpbmUgPSBsaW5lLmRlY29kZSgpCi0KLSAgICBpZiBub3QgY21kbGluZToKLSAgICAgICAgd2FybigiVW5leHBlY3RlZCBFT0YiKQotICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgIGNtZGxpbmUgPSBjbWRsaW5lLnN0cmlwKCkuc3BsaXQoKQotICAgIGlmIG5vdCBjbWRsaW5lOgotICAgICAgICAjIEJsYW5rIGxpbmUgbWVhbnMgd2UncmUgYWJvdXQgdG8gcXVpdAotICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgIGNtZCA9IGNtZGxpbmUucG9wKDApCi0gICAgZGVidWcoIkdvdCBjb21tYW5kICclcycgd2l0aCBhcmdzICclcyciLCBjbWQsICcgJy5qb2luKGNtZGxpbmUpKQotCi0gICAgaWYgY21kIG5vdCBpbiBDT01NQU5EUzoKLSAgICAgICAgZGllKCJVbmtub3duIGNvbW1hbmQsICVzIiwgY21kKQotCi0gICAgZnVuYyA9IENPTU1BTkRTW2NtZF0KLSAgICBmdW5jKHJlcG8sIGNtZGxpbmUpCi0gICAgc3lzLnN0ZG91dC5mbHVzaCgpCi0KLSAgICByZXR1cm4gVHJ1ZQotCi0KLWRlZiBtYWluKGFyZ3MpOgotICAgICIiIlN0YXJ0cyBhIG5ldyByZW1vdGUgaGVscGVyIGZvciB0aGUgc3BlY2lmaWVkIHJlcG9zaXRvcnkuCi0gICAgIiIiCi0KLSAgICBpZiBsZW4oYXJncykgIT0gMzoKLSAgICAgICAgZGllKCJFeHBlY3RpbmcgZXhhY3RseSB0aHJlZSBhcmd1bWVudHMuIikKLSAgICAgICAgc3lzLmV4aXQoMSkKLQotICAgIGlmIG9zLmdldGVudigiR0lUX0RFQlVHX1RFU1RHSVQiKToKLSAgICAgICAgaW1wb3J0IGdpdF9yZW1vdGVfaGVscGVycy51dGlsCi0gICAgICAgIGdpdF9yZW1vdGVfaGVscGVycy51dGlsLkRFQlVHID0gVHJ1ZQotCi0gICAgYWxpYXMgPSBzYW5pdGl6ZShhcmdzWzFdKQotICAgIHVybCA9IHNhbml0aXplKGFyZ3NbMl0pCi0KLSAgICBpZiBub3QgYWxpYXMuaXNhbG51bSgpOgotICAgICAgICB3YXJuKCJub24tYWxudW0gYWxpYXMgJyVzJyIsIGFsaWFzKQotICAgICAgICBhbGlhcyA9ICJ0bXAiCi0KLSAgICBhcmdzWzFdID0gYWxpYXMKLSAgICBhcmdzWzJdID0gdXJsCi0KLSAgICByZXBvID0gZ2V0X3JlcG8oYWxpYXMsIHVybCkKLQotICAgIGRlYnVnKCJHb3QgYXJndW1lbnRzICVzIiwgYXJnc1sxOl0pCi0KLSAgICBtb3JlID0gVHJ1ZQotCi0gICAgIyBVc2UgYmluYXJ5IG1vZGUgc2luY2UgUHl0aG9uIDMgZG9lcyBub3QgcGVybWl0IHVuYnVmZmVyZWQgSS9PIGluIHRleHQKLSAgICAjIG1vZGUuICBVbmJ1ZmZlcmVkIEkvTyBpcyByZXF1aXJlZCB0byBhdm9pZCBkYXRhIHRoYXQgc2hvdWxkIGJlIGdvaW5nCi0gICAgIyB0byBnaXQtZmFzdC1pbXBvcnQgYWZ0ZXIgYW4gImV4cG9ydCIgY29tbWFuZCBnZXR0aW5nIGNhdWdodCBpbiBvdXIKLSAgICAjIHN0ZGluIGJ1ZmZlciBpbnN0ZWFkLgotICAgIHN5cy5zdGRpbiA9IG9zLmZkb3BlbihzeXMuc3RkaW4uZmlsZW5vKCksICdyYicsIDApCi0gICAgd2hpbGUgKG1vcmUpOgotICAgICAgICBtb3JlID0gcmVhZF9vbmVfbGluZShyZXBvKQotCi1pZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIHN5cy5leGl0KG1haW4oc3lzLmFyZ3YpKQpkaWZmIC0tZ2l0IGEvZ2l0LXJlcXVlc3QtcHVsbC5zaCBiL2dpdC1yZXF1ZXN0LXB1bGwuc2gKaW5kZXggZWJmMTI2OS4uZmUyMWQ1ZCAxMDA3NTUKLS0tIGEvZ2l0LXJlcXVlc3QtcHVsbC5zaAorKysgYi9naXQtcmVxdWVzdC1wdWxsLnNoCkBAIC0xMDYsNyArMTA2LDcgQEAKIAl9CiAnCiAKLXJlZj0kKGdpdCBscy1yZW1vdGUgIiR1cmwiIHwgcGVybCAtZSAiJGZpbmRfbWF0Y2hpbmdfcmVmIiAiJGhlYWQiICIkaGVhZHJldiIgIiR0YWdfbmFtZSIpCityZWY9JChnaXQgbHMtcmVtb3RlICIkdXJsIiB8IEBAUEVSTEBAIC1lICIkZmluZF9tYXRjaGluZ19yZWYiICIkaGVhZCIgIiRoZWFkcmV2IiAiJHRhZ19uYW1lIikKIAogdXJsPSQoZ2l0IGxzLXJlbW90ZSAtLWdldC11cmwgIiR1cmwiKQogCmRpZmYgLS1naXQgYS9naXQtc2VuZC1lbWFpbC5wZXJsIGIvZ2l0LXNlbmQtZW1haWwucGVybAppbmRleCAzNzgyYzNiLi5mZGIwMDI5IDEwMDc1NQotLS0gYS9naXQtc2VuZC1lbWFpbC5wZXJsCisrKyBiL2dpdC1zZW5kLWVtYWlsLnBlcmwKQEAgLTI5MSw3ICsyOTEsNyBAQAogCQkgICAgInNtdHAtcGFzczpzIiA9PiBcJHNtdHBfYXV0aHBhc3MsCiAJCSAgICAic210cC1zc2wiID0+IHN1YiB7ICRzbXRwX2VuY3J5cHRpb24gPSAnc3NsJyB9LAogCQkgICAgInNtdHAtZW5jcnlwdGlvbj1zIiA9PiBcJHNtdHBfZW5jcnlwdGlvbiwKLQkJICAgICJzbXRwLXNzbC1jZXJ0LXBhdGgiID0+IFwkc210cF9zc2xfY2VydF9wYXRoLAorCQkgICAgInNtdHAtc3NsLWNlcnQtcGF0aD1zIiA9PiBcJHNtdHBfc3NsX2NlcnRfcGF0aCwKIAkJICAgICJzbXRwLWRlYnVnOmkiID0+IFwkZGVidWdfbmV0X3NtdHAsCiAJCSAgICAic210cC1kb21haW46cyIgPT4gXCRzbXRwX2RvbWFpbiwKIAkJICAgICJpZGVudGl0eT1zIiA9PiBcJGlkZW50aXR5LApAQCAtMTA5NSw3ICsxMDk1LDggQEAKIAl9CiAKIAlpZiAoIWRlZmluZWQgJHNtdHBfc3NsX2NlcnRfcGF0aCkgewotCQkkc210cF9zc2xfY2VydF9wYXRoID0gIi9ldGMvc3NsL2NlcnRzIjsKKwkJIyB1c2UgdGhlIE9wZW5TU0wgZGVmYXVsdHMKKwkJcmV0dXJuIChTU0xfdmVyaWZ5X21vZGUgPT4gU1NMX1ZFUklGWV9QRUVSKCkpOwogCX0KIAogCWlmICgkc210cF9zc2xfY2VydF9wYXRoIGVxICIiKSB7CkBAIC0xMjE0LDEwICsxMjE1LDE0IEBACiAJCQkkc210cF9zZXJ2ZXJfcG9ydCB8fD0gNDY1OyAjIHNzbXRwCiAJCQlyZXF1aXJlIE5ldDo6U01UUDo6U1NMOwogCQkJJHNtdHBfZG9tYWluIHx8PSBtYWlsZG9tYWluKCk7CisJCQlyZXF1aXJlIElPOjpTb2NrZXQ6OlNTTDsKKwkJCSMgTmV0OjpTTVRQOjpTU0wtPm5ldygpIGRvZXMgbm90IGZvcndhcmQgYW55IFNTTCBvcHRpb25zCisJCQlJTzo6U29ja2V0OjpTU0w6OnNldF9jbGllbnRfZGVmYXVsdHMoCisJCQkJc3NsX3ZlcmlmeV9wYXJhbXMoKSk7CiAJCQkkc210cCB8fD0gTmV0OjpTTVRQOjpTU0wtPm5ldygkc210cF9zZXJ2ZXIsCiAJCQkJCQkgICAgICBIZWxsbyA9PiAkc210cF9kb21haW4sCiAJCQkJCQkgICAgICBQb3J0ID0+ICRzbXRwX3NlcnZlcl9wb3J0LAotCQkJCQkJICAgICAgc3NsX3ZlcmlmeV9wYXJhbXMoKSk7CisJCQkJCQkgICAgICBEZWJ1ZyA9PiAkZGVidWdfbmV0X3NtdHApOwogCQl9CiAJCWVsc2UgewogCQkJcmVxdWlyZSBOZXQ6OlNNVFA7CmRpZmYgLS1naXQgYS9naXQtc2gtaTE4bi5zaCBiL2dpdC1zaC1pMThuLnNoCmluZGV4IDZhMjdmNjguLmU2YzMxMTYgMTAwNjQ0Ci0tLSBhL2dpdC1zaC1pMThuLnNoCisrKyBiL2dpdC1zaC1pMThuLnNoCkBAIC0xLDkgKzEsOCBAQAotIyEvYmluL3NoCisjIFRoaXMgc2hlbGwgbGlicmFyeSBpcyBHaXQncyBpbnRlcmZhY2UgdG8gZ2V0dGV4dC5zaC4gU2VlIHBvL1JFQURNRQorIyBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zLgogIwogIyBDb3B5cmlnaHQgKGMpIDIwMTAgw4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24KICMKLSMgVGhpcyBpcyBHaXQncyBpbnRlcmZhY2UgdG8gZ2V0dGV4dC5zaC4gU2VlIHBvL1JFQURNRSBmb3IgdXNhZ2UKLSMgaW5zdHJ1Y3Rpb25zLgogCiAjIEV4cG9ydCB0aGUgVEVYVERPTUFJTiogZGF0YSB0aGF0IHdlIG5lZWQgZm9yIEdpdAogVEVYVERPTUFJTj1naXQKZGlmZiAtLWdpdCBhL2dpdC1zaC1zZXR1cC5zaCBiL2dpdC1zaC1zZXR1cC5zaAppbmRleCBlMTViZTUxLi5mZmZhM2M3IDEwMDY0NAotLS0gYS9naXQtc2gtc2V0dXAuc2gKKysrIGIvZ2l0LXNoLXNldHVwLnNoCkBAIC0xLDkgKzEsNiBAQAotIyEvYmluL3NoCi0jCi0jIFRoaXMgaXMgaW5jbHVkZWQgaW4gY29tbWFuZHMgdGhhdCBlaXRoZXIgaGF2ZSB0byBiZSBydW4gZnJvbSB0aGUgdG9wbGV2ZWwKLSMgb2YgdGhlIHJlcG9zaXRvcnksIG9yIHdpdGggR0lUX0RJUiBlbnZpcm9ubWVudCB2YXJpYWJsZSBwcm9wZXJseS4KLSMgSWYgdGhlIEdJVF9ESVIgZG9lcyBub3QgbG9vayBsaWtlIHRoZSByaWdodCBjb3JyZWN0IGdpdC1yZXBvc2l0b3J5LAotIyBpdCBkaWVzLgorIyBUaGlzIHNoZWxsIHNjcmlwbGV0IGlzIG1lYW50IHRvIGJlIGluY2x1ZGVkIGJ5IG90aGVyIHNoZWxsIHNjcmlwdHMKKyMgdG8gc2V0IHVwIHNvbWUgdmFyaWFibGVzIHBvaW50aW5nIGF0IHRoZSBub3JtYWwgZ2l0IGRpcmVjdG9yaWVzIGFuZAorIyBhIGZldyBoZWxwZXIgc2hlbGwgZnVuY3Rpb25zLgogCiAjIEhhdmluZyB0aGlzIHZhcmlhYmxlIGluIHlvdXIgZW52aXJvbm1lbnQgd291bGQgYnJlYWsgc2NyaXB0cyBiZWNhdXNlCiAjIHlvdSB3b3VsZCBjYXVzZSAiY2QiIHRvIGJlIHRha2VuIHRvIHVuZXhwZWN0ZWQgcGxhY2VzLiAgSWYgeW91CkBAIC0xMDMsNiArMTAwLDQwIEBACiAJZXNhYwogZmkKIAorIyBTZXQgdGhlIG5hbWUgb2YgdGhlIGVuZC11c2VyIGZhY2luZyBjb21tYW5kIGluIHRoZSByZWZsb2cgd2hlbiB0aGUKKyMgc2NyaXB0IG1heSB1cGRhdGUgcmVmcy4gIFdoZW4gR0lUX1JFRkxPR19BQ1RJT04gaXMgYWxyZWFkeSBzZXQsIHRoaXMKKyMgd2lsbCBub3Qgb3ZlcndyaXRlIGl0LCBzbyB0aGF0IGEgc2NyaXB0ZWQgUG9yY2VsYWluIChlLmcuICJnaXQKKyMgcmViYXNlIikgY2FuIHNldCBpdCB0byBpdHMgb3duIG5hbWUgKGUuZy4gInJlYmFzZSIpIGFuZCB0aGVuIGNhbGwKKyMgYW5vdGhlciBzY3JpcHRlZCBQb3JjZWxhaW4gKGUuZy4gImdpdCBhbSIpIGFuZCBhIGNhbGwgdG8gdGhpcworIyBmdW5jdGlvbiBpbiB0aGUgbGF0dGVyIHdpbGwga2VlcCB0aGUgbmFtZSBvZiB0aGUgZW5kLXVzZXIgZmFjaW5nCisjIHByb2dyYW0gKGUuZy4gInJlYmFzZSIpIGluIEdJVF9SRUZMT0dfQUNUSU9OLCBlbnN1cmluZyB3aGF0ZXZlciBpdAorIyBkb2VzIHdpbGwgYmUgcmVjb3JkIGFzIGFjdGlvbnMgZG9uZSBhcyBwYXJ0IG9mIHRoZSBlbmQtdXNlciBmYWNpbmcKKyMgb3BlcmF0aW9uIChlLmcuICJyZWJhc2UiKS4KKyMKKyMgTk9URSBOT1RFIE5PVEU6IGNvbnNlcXVlbnRseSwgYWZ0ZXIgYXNzaWduaW5nIGEgc3BlY2lmaWMgbWVzc2FnZSB0bworIyBHSVRfUkVGTE9HX0FDVElPTiB3aGVuIGNhbGxpbmcgYSAiZ2l0IiBjb21tYW5kIHRvIHJlY29yZCBhIGN1c3RvbQorIyByZWZsb2cgbWVzc2FnZSwgZG8gbm90IGxlYXZlIHRoYXQgY3VzdG9tIHZhbHVlIGluIEdJVF9SRUZMT0dfQUNUSU9OLAorIyBhZnRlciB5b3UgYXJlIGRvbmUuICBPdGhlciBjYWxsZXJzIG9mICJnaXQiIGNvbW1hbmRzIHRoYXQgcmVseSBvbgorIyB3cml0aW5nIHRoZSBkZWZhdWx0ICJwcm9ncmFtIG5hbWUiIGluIHJlZmxvZyBleHBlY3QgdGhlIHZhcmlhYmxlIHRvCisjIGNvbnRhaW4gdGhlIHZhbHVlIHNldCBieSB0aGlzIGZ1bmN0aW9uLgorIworIyBUbyB1c2UgYSBjdXN0b20gcmVmbG9nIG1lc3NhZ2UsIGRvIGVpdGhlciBvbmUgb2YgdGhlc2UgdGhyZWU6CisjCisjIChhKSB1c2UgYSBzaW5nbGUtc2hvdCBleHBvcnQgZm9ybToKKyMgICAgIEdJVF9SRUZMT0dfQUNUSU9OPSIkR0lUX1JFRkxPR19BQ1RJT046IHByZXBhcmluZyBmcm90eiIgXAorIyAgICAgICAgIGdpdCBjb21tYW5kLXRoYXQtdXBkYXRlcy1hLXJlZgorIworIyAoYikgc2F2ZSB0aGUgb3JpZ2luYWwgYXdheSBhbmQgcmVzdG9yZToKKyMgICAgIFNBVkVEX0FDVElPTj0kR0lUX1JFRkxPR19BQ1RJT04KKyMgICAgIEdJVF9SRUZMT0dfQUNUSU9OPSIkR0lUX1JFRkxPR19BQ1RJT046IHByZXBhcmluZyBmcm90eiIKKyMgICAgIGdpdCBjb21tYW5kLXRoYXQtdXBkYXRlcy1hLXJlZgorIyAgICAgR0lUX1JFRkxPR19BQ0lUT049JFNBVkVEX0FDVElPTgorIworIyAoYykgYXNzaWduIHRoZSB2YXJpYWJsZSBpbiBhIHN1YnNoZWxsOgorIyAgICAgKAorIyAgICAgICAgIEdJVF9SRUZMT0dfQUNUSU9OPSIkR0lUX1JFRkxPR19BQ1RJT046IHByZXBhcmluZyBmcm90eiIKKyMgICAgICAgICBnaXQgY29tbWFuZC10aGF0LXVwZGF0ZXMtYS1yZWYKKyMgICAgICkKIHNldF9yZWZsb2dfYWN0aW9uKCkgewogCWlmIFsgLXogIiR7R0lUX1JFRkxPR19BQ1RJT046K3NldH0iIF0KIAl0aGVuCkBAIC0xMjgsNyArMTU5LDggQEAKIAkJR0lUX1BBR0VSPWNhdAogCWZpCiAJOiAke0xFU1M9LUZSU1h9Ci0JZXhwb3J0IExFU1MKKwk6ICR7TFY9LWN9CisJZXhwb3J0IExFU1MgTFYKIAogCWV2YWwgIiRHSVRfUEFHRVIiICciJEAiJwogfQpkaWZmIC0tZ2l0IGEvZ2l0LXN0YXNoLnNoIGIvZ2l0LXN0YXNoLnNoCmluZGV4IDFlNTQxYTIuLmYwYTk0YWIgMTAwNzU1Ci0tLSBhL2dpdC1zdGFzaC5zaAorKysgYi9naXQtc3Rhc2guc2gKQEAgLTM1OCw3ICszNTgsNyBAQAogCWlfdHJlZT0KIAl1X3RyZWU9CiAKLQlSRVY9JChnaXQgcmV2LXBhcnNlIC0tbm8tZmxhZ3MgLS1zeW1ib2xpYyAiJEAiKSB8fCBleGl0IDEKKwlSRVY9JChnaXQgcmV2LXBhcnNlIC0tbm8tZmxhZ3MgLS1zeW1ib2xpYyAtLXNxICIkQCIpIHx8IGV4aXQgMQogCiAJRkxBR1M9CiAJZm9yIG9wdApAQCAtMzc2LDcgKzM3Niw3IEBACiAJCWVzYWMKIAlkb25lCiAKLQlzZXQgLS0gJFJFVgorCWV2YWwgc2V0IC0tICRSRVYKIAogCWNhc2UgJCMgaW4KIAkJMCkKQEAgLTM5MSwxMyArMzkxLDEzIEBACiAJCTs7CiAJZXNhYwogCi0JUkVWPSQoZ2l0IHJldi1wYXJzZSAtLXF1aWV0IC0tc3ltYm9saWMgLS12ZXJpZnkgJDEgMj4vZGV2L251bGwpIHx8IHsKKwlSRVY9JChnaXQgcmV2LXBhcnNlIC0tcXVpZXQgLS1zeW1ib2xpYyAtLXZlcmlmeSAiJDEiIDI+L2Rldi9udWxsKSB8fCB7CiAJCXJlZmVyZW5jZT0iJDEiCiAJCWRpZSAiJChldmFsX2dldHRleHQgIlwkcmVmZXJlbmNlIGlzIG5vdCB2YWxpZCByZWZlcmVuY2UiKSIKIAl9CiAKLQlpX2NvbW1pdD0kKGdpdCByZXYtcGFyc2UgLS1xdWlldCAtLXZlcmlmeSAkUkVWXjIgMj4vZGV2L251bGwpICYmCi0Jc2V0IC0tICQoZ2l0IHJldi1wYXJzZSAkUkVWICRSRVZeMSAkUkVWOiAkUkVWXjE6ICRSRVZeMjogMj4vZGV2L251bGwpICYmCisJaV9jb21taXQ9JChnaXQgcmV2LXBhcnNlIC0tcXVpZXQgLS12ZXJpZnkgIiRSRVZeMiIgMj4vZGV2L251bGwpICYmCisJc2V0IC0tICQoZ2l0IHJldi1wYXJzZSAiJFJFViIgIiRSRVZeMSIgIiRSRVY6IiAiJFJFVl4xOiIgIiRSRVZeMjoiIDI+L2Rldi9udWxsKSAmJgogCXM9JDEgJiYKIAl3X2NvbW1pdD0kMSAmJgogCWJfY29tbWl0PSQyICYmCkBAIC00MDgsOCArNDA4LDggQEAKIAl0ZXN0ICIkcmVmX3N0YXNoIiA9ICIkKGdpdCByZXYtcGFyc2UgLS1zeW1ib2xpYy1mdWxsLW5hbWUgIiR7UkVWJUAqfSIpIiAmJgogCUlTX1NUQVNIX1JFRj10CiAKLQl1X2NvbW1pdD0kKGdpdCByZXYtcGFyc2UgLS1xdWlldCAtLXZlcmlmeSAkUkVWXjMgMj4vZGV2L251bGwpICYmCi0JdV90cmVlPSQoZ2l0IHJldi1wYXJzZSAkUkVWXjM6IDI+L2Rldi9udWxsKQorCXVfY29tbWl0PSQoZ2l0IHJldi1wYXJzZSAtLXF1aWV0IC0tdmVyaWZ5ICIkUkVWXjMiIDI+L2Rldi9udWxsKSAmJgorCXVfdHJlZT0kKGdpdCByZXYtcGFyc2UgIiRSRVZeMzoiIDI+L2Rldi9udWxsKQogfQogCiBpc19zdGFzaF9saWtlKCkKZGlmZiAtLWdpdCBhL2dpdC1zdWJtb2R1bGUuc2ggYi9naXQtc3VibW9kdWxlLnNoCmluZGV4IDgzOTE3ZDguLjRhMzAwODcgMTAwNzU1Ci0tLSBhL2dpdC1zdWJtb2R1bGUuc2gKKysrIGIvZ2l0LXN1Ym1vZHVsZS5zaApAQCAtMTU2LDcgKzE1Niw3IEBACiAJCWdpdCBscy1maWxlcyAteiAtLWVycm9yLXVubWF0Y2ggLS1zdGFnZSAtLSAiJEAiIHx8CiAJCWVjaG8gInVubWF0Y2hlZCBwYXRoc3BlYyBleGlzdHMiCiAJKSB8Ci0JcGVybCAtZSAnCisJQEBQRVJMQEAgLWUgJwogCW15ICV1bm1lcmdlZCA9ICgpOwogCW15ICgkbnVsbF9zaGExKSA9ICgiMCIgeCA0MCk7CiAJbXkgQG91dCA9ICgpOwpAQCAtNTQ1LDcgKzU0NSwxMiBAQAogCQkJCXNtX3BhdGg9JChyZWxhdGl2ZV9wYXRoICIkc21fcGF0aCIpICYmCiAJCQkJIyB3ZSBtYWtlICRwYXRoIGF2YWlsYWJsZSB0byBzY3JpcHRzIC4uLgogCQkJCXBhdGg9JHNtX3BhdGggJiYKLQkJCQlldmFsICIkQCIgJiYKKwkJCQlpZiB0ZXN0ICQjIC1lcSAxCisJCQkJdGhlbgorCQkJCQlldmFsICIkMSIKKwkJCQllbHNlCisJCQkJCSIkQCIKKwkJCQlmaSAmJgogCQkJCWlmIHRlc3QgLW4gIiRyZWN1cnNpdmUiCiAJCQkJdGhlbgogCQkJCQljbWRfZm9yZWFjaCAiLS1yZWN1cnNpdmUiICIkQCIKQEAgLTYxNyw3ICs2MjIsNyBAQAogCQkgICB0ZXN0IC16ICIkKGdpdCBjb25maWcgc3VibW9kdWxlLiIkbmFtZSIudXBkYXRlKSIKIAkJdGhlbgogCQkJY2FzZSAiJHVwZCIgaW4KLQkJCXJlYmFzZSB8IG1lcmdlIHwgbm9uZSkKKwkJCWNoZWNrb3V0IHwgcmViYXNlIHwgbWVyZ2UgfCBub25lKQogCQkJCTs7ICMga25vd24gbW9kZXMgb2YgdXBkYXRpbmcKIAkJCSopCiAJCQkJZWNobyA+JjIgIndhcm5pbmc6IHVua25vd24gdXBkYXRlIG1vZGUgJyR1cGQnIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICckbmFtZSciCkBAIC03MTYsNyArNzIxLDYgQEAKIGNtZF91cGRhdGUoKQogewogCSMgcGFyc2UgJGFyZ3MgYWZ0ZXIgInN1Ym1vZHVsZSAuLi4gdXBkYXRlIi4KLQlvcmlnX2ZsYWdzPQogCXdoaWxlIHRlc3QgJCMgLW5lIDAKIAlkbwogCQljYXNlICIkMSIgaW4KQEAgLTc0MSw3ICs3NDUsNiBAQAogCQktLXJlZmVyZW5jZSkKIAkJCWNhc2UgIiQyIiBpbiAnJykgdXNhZ2UgOzsgZXNhYwogCQkJcmVmZXJlbmNlPSItLXJlZmVyZW5jZT0kMiIKLQkJCW9yaWdfZmxhZ3M9IiRvcmlnX2ZsYWdzICQoZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlICIkMSIpIgogCQkJc2hpZnQKIAkJCTs7CiAJCS0tcmVmZXJlbmNlPSopCkBAIC03NzUsNyArNzc4LDYgQEAKIAkJCWJyZWFrCiAJCQk7OwogCQllc2FjCi0JCW9yaWdfZmxhZ3M9IiRvcmlnX2ZsYWdzICQoZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlICIkMSIpIgogCQlzaGlmdAogCWRvbmUKIApAQCAtODAzLDYgKzgwNSwxNyBAQAogCQkJdXBkYXRlX21vZHVsZT0kdXBkYXRlCiAJCWVsc2UKIAkJCXVwZGF0ZV9tb2R1bGU9JChnaXQgY29uZmlnIHN1Ym1vZHVsZS4iJG5hbWUiLnVwZGF0ZSkKKwkJCWNhc2UgIiR1cGRhdGVfbW9kdWxlIiBpbgorCQkJJycpCisJCQkJOzsgIyBVbnNldCB1cGRhdGUgbW9kZQorCQkJY2hlY2tvdXQgfCByZWJhc2UgfCBtZXJnZSB8IG5vbmUpCisJCQkJOzsgIyBLbm93biB1cGRhdGUgbW9kZXMKKwkJCSEqKQorCQkJCTs7ICMgQ3VzdG9tIHVwZGF0ZSBjb21tYW5kCisJCQkqKQorCQkJCWRpZSAiJChldmFsX2dldHRleHQgIkludmFsaWQgdXBkYXRlIG1vZGUgJyR1cGRhdGVfbW9kdWxlJyBmb3Igc3VibW9kdWxlICckbmFtZSciKSIKKwkJCQk7OworCQkJZXNhYwogCQlmaQogCiAJCWRpc3BsYXlwYXRoPSQocmVsYXRpdmVfcGF0aCAiJHByZWZpeCRzbV9wYXRoIikKQEAgLTkxOSw3ICs5MzIsNyBAQAogCQkJCXByZWZpeD0iJHByZWZpeCRzbV9wYXRoLyIKIAkJCQljbGVhcl9sb2NhbF9naXRfZW52CiAJCQkJY2QgIiRzbV9wYXRoIiAmJgotCQkJCWV2YWwgY21kX3VwZGF0ZSAiJG9yaWdfZmxhZ3MiCisJCQkJZXZhbCBjbWRfdXBkYXRlCiAJCQkpCiAJCQlyZXM9JD8KIAkJCWlmIHRlc3QgJHJlcyAtZ3QgMApAQCAtMTA0MiwxMyArMTA1NSwyMCBAQAogCSMgR2V0IG1vZGlmaWVkIG1vZHVsZXMgY2FyZWQgYnkgdXNlcgogCW1vZHVsZXM9JChnaXQgJGRpZmZfY21kICRjYWNoZWQgLS1pZ25vcmUtc3VibW9kdWxlcz1kaXJ0eSAtLXJhdyAkaGVhZCAtLSAiJEAiIHwKIAkJc2FuZV9lZ3JlcCAnXjooWzAtN10qICk/MTYwMDAwJyB8Ci0JCXdoaWxlIHJlYWQgbW9kX3NyYyBtb2RfZHN0IHNoYTFfc3JjIHNoYTFfZHN0IHN0YXR1cyBuYW1lCisJCXdoaWxlIHJlYWQgbW9kX3NyYyBtb2RfZHN0IHNoYTFfc3JjIHNoYTFfZHN0IHN0YXR1cyBzbV9wYXRoCiAJCWRvCiAJCQkjIEFsd2F5cyBzaG93IG1vZHVsZXMgZGVsZXRlZCBvciB0eXBlLWNoYW5nZWQgKGJsb2I8LT5tb2R1bGUpCi0JCQl0ZXN0ICRzdGF0dXMgPSBEIC1vICRzdGF0dXMgPSBUICYmIGVjaG8gIiRuYW1lIiAmJiBjb250aW51ZQorCQkJdGVzdCAkc3RhdHVzID0gRCAtbyAkc3RhdHVzID0gVCAmJiBlY2hvICIkc21fcGF0aCIgJiYgY29udGludWUKKwkJCSMgUmVzcGVjdCB0aGUgaWdub3JlIHNldHRpbmcgZm9yIC0tZm9yLXN0YXR1cy4KKwkJCWlmIHRlc3QgLW4gIiRmb3Jfc3RhdHVzIgorCQkJdGhlbgorCQkJCW5hbWU9JChtb2R1bGVfbmFtZSAiJHNtX3BhdGgiKQorCQkJCWlnbm9yZV9jb25maWc9JChnZXRfc3VibW9kdWxlX2NvbmZpZyAiJG5hbWUiIGlnbm9yZSBub25lKQorCQkJCXRlc3QgJHN0YXR1cyAhPSBBIC1hICRpZ25vcmVfY29uZmlnID0gYWxsICYmIGNvbnRpbnVlCisJCQlmaQogCQkJIyBBbHNvIHNob3cgYWRkZWQgb3IgbW9kaWZpZWQgbW9kdWxlcyB3aGljaCBhcmUgY2hlY2tlZCBvdXQKLQkJCUdJVF9ESVI9IiRuYW1lLy5naXQiIGdpdC1yZXYtcGFyc2UgLS1naXQtZGlyID4vZGV2L251bGwgMj4mMSAmJgotCQkJZWNobyAiJG5hbWUiCisJCQlHSVRfRElSPSIkc21fcGF0aC8uZ2l0IiBnaXQtcmV2LXBhcnNlIC0tZ2l0LWRpciA+L2Rldi9udWxsIDI+JjEgJiYKKwkJCWVjaG8gIiRzbV9wYXRoIgogCQlkb25lCiAJKQogCkBAIC0xMTU5LDE4ICsxMTc5LDcgQEAKIAkJCWVjaG8KIAkJZmkKIAkJZWNobwotCWRvbmUgfAotCWlmIHRlc3QgLW4gIiRmb3Jfc3RhdHVzIjsgdGhlbgotCQlpZiBbIC1uICIkZmlsZXMiIF07IHRoZW4KLQkJCWdldHRleHRsbiAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiIHwgZ2l0IHN0cmlwc3BhY2UgLWMKLQkJZWxzZQotCQkJZ2V0dGV4dGxuICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IiB8IGdpdCBzdHJpcHNwYWNlIC1jCi0JCWZpCi0JCXByaW50ZiAiXG4iIHwgZ2l0IHN0cmlwc3BhY2UgLWMKLQkJZ2l0IHN0cmlwc3BhY2UgLWMKLQllbHNlCi0JCWNhdAotCWZpCisJZG9uZQogfQogIwogIyBMaXN0IGFsbCBzdWJtb2R1bGVzLCBwcmVmaXhlZCB3aXRoOgpkaWZmIC0tZ2l0IGEvZ2l0LXN2bi5wZXJsIGIvZ2l0LXN2bi5wZXJsCmluZGV4IGZmMWNlM2QuLjczNDlmZmUgMTAwNzU1Ci0tLSBhL2dpdC1zdm4ucGVybAorKysgYi9naXQtc3ZuLnBlcmwKQEAgLTEzODksNyArMTM4OSwxNyBAQAogCQl1c2FnZSgxKTsKIAl9CiAKLQkkX3ByZWZpeCA9ICcnIHVubGVzcyBkZWZpbmVkICRfcHJlZml4OworCXVubGVzcyAoZGVmaW5lZCAkX3ByZWZpeCkgeworCQkkX3ByZWZpeCA9ICcnOworCQl3YXJuIDw8RU9GCitXQVJOSU5HOiAtLXByZWZpeCBpcyBub3QgZ2l2ZW4sIGRlZmF1bHRpbmcgdG8gZW1wdHkgcHJlZml4LgorICAgICAgICAgVGhpcyBpcyBwcm9iYWJseSBub3Qgd2hhdCB5b3Ugd2FudCEgSW4gb3JkZXIgdG8gc3RheSBjb21wYXRpYmxlCisgICAgICAgICB3aXRoIHJlZ3VsYXIgcmVtb3RlLXRyYWNraW5nIHJlZnMsIHByb3ZpZGUgYSBwcmVmaXggbGlrZQorICAgICAgICAgLS1wcmVmaXg9b3JpZ2luLyAocmVtZW1iZXIgdGhlIHRyYWlsaW5nIHNsYXNoKSwgd2hpY2ggd2lsbCBjYXVzZQorICAgICAgICAgdGhlIFNWTi10cmFja2luZyByZWZzIHRvIGJlIHBsYWNlZCBhdCByZWZzL3JlbW90ZXMvb3JpZ2luLyouCitOT1RFOiBJbiBHaXQgdjIuMCwgdGhlIGRlZmF1bHQgcHJlZml4IHdpbGwgY2hhbmdlIGZyb20gZW1wdHkgdG8gJ29yaWdpbi8nLgorRU9GCisJfQogCWlmIChkZWZpbmVkICR1cmwpIHsKIAkJJHVybCA9IGNhbm9uaWNhbGl6ZV91cmwoJHVybCk7CiAJCWluaXRfc3ViZGlyKEBfKTsKQEAgLTE3NTksNyArMTc2OSw3IEBACiAJCW15ICRtc2didWYgPSAiIjsKIAkJd2hpbGUgKDwkbXNnX2ZoPikgewogCQkJaWYgKCEkaW5fbXNnKSB7Ci0JCQkJJGluX21zZyA9IDEgaWYgKC9eXHMqJC8pOworCQkJCSRpbl9tc2cgPSAxIGlmICgvXiQvKTsKIAkJCQkkYXV0aG9yID0gJDEgaWYgKC9eYXV0aG9yICguKj4pLyk7CiAJCQl9IGVsc2lmICgvXmdpdC1zdm4taWQ6IC8pIHsKIAkJCQkjIHNraXAgdGhpcyBmb3Igbm93LCB3ZSByZWdlbmVyYXRlIHRoZQpkaWZmIC0tZ2l0IGEvZ2l0LXdlYi0tYnJvd3NlLnNoIGIvZ2l0LXdlYi0tYnJvd3NlLnNoCmluZGV4IDFkNzJlYzcuLmViZGZiYTYgMTAwNzU1Ci0tLSBhL2dpdC13ZWItLWJyb3dzZS5zaAorKysgYi9naXQtd2ViLS1icm93c2Uuc2gKQEAgLTM0LDcgKzM0LDcgQEAKIAlmaXJlZm94IHwgaWNld2Vhc2VsIHwgc2VhbW9ua2V5IHwgaWNlYXBlIHwgXAogCWNocm9tZSB8IGdvb2dsZS1jaHJvbWUgfCBjaHJvbWl1bSB8IGNocm9taXVtLWJyb3dzZXIgfCBcCiAJa29ucXVlcm9yIHwgb3BlcmEgfCB3M20gfCBlbGlua3MgfCBsaW5rcyB8IGx5bnggfCBkaWxsbyB8IG9wZW4gfCBcCi0Jc3RhcnQgfCBjeWdzdGFydCkKKwlzdGFydCB8IGN5Z3N0YXJ0IHwgeGRnLW9wZW4pCiAJCTs7ICMgaGFwcHkKIAkqKQogCQl2YWxpZF9jdXN0b21fdG9vbCAiJDEiIHx8IHJldHVybiAxCkBAIC0xMTIsNyArMTEyLDcgQEAKIAogaWYgdGVzdCAteiAiJGJyb3dzZXIiIDsgdGhlbgogCWlmIHRlc3QgLW4gIiRESVNQTEFZIjsgdGhlbgotCQlicm93c2VyX2NhbmRpZGF0ZXM9ImZpcmVmb3ggaWNld2Vhc2VsIGdvb2dsZS1jaHJvbWUgY2hyb21lIGNocm9taXVtIGNocm9taXVtLWJyb3dzZXIga29ucXVlcm9yIG9wZXJhIHNlYW1vbmtleSBpY2VhcGUgdzNtIGVsaW5rcyBsaW5rcyBseW54IGRpbGxvIgorCQlicm93c2VyX2NhbmRpZGF0ZXM9ImZpcmVmb3ggaWNld2Vhc2VsIGdvb2dsZS1jaHJvbWUgY2hyb21lIGNocm9taXVtIGNocm9taXVtLWJyb3dzZXIga29ucXVlcm9yIG9wZXJhIHNlYW1vbmtleSBpY2VhcGUgdzNtIGVsaW5rcyBsaW5rcyBseW54IGRpbGxvIHhkZy1vcGVuIgogCQlpZiB0ZXN0ICIkS0RFX0ZVTExfU0VTU0lPTiIgPSAidHJ1ZSI7IHRoZW4KIAkJCWJyb3dzZXJfY2FuZGlkYXRlcz0ia29ucXVlcm9yICRicm93c2VyX2NhbmRpZGF0ZXMiCiAJCWZpCkBAIC0xNzksNyArMTc5LDcgQEAKIAkJOzsKIAllc2FjCiAJOzsKLXczbXxlbGlua3N8bGlua3N8bHlueHxvcGVufGN5Z3N0YXJ0KQordzNtfGVsaW5rc3xsaW5rc3xseW54fG9wZW58Y3lnc3RhcnR8eGRnLW9wZW4pCiAJIiRicm93c2VyX3BhdGgiICIkQCIKIAk7Owogc3RhcnQpCmRpZmYgLS1naXQgYS9naXQuYyBiL2dpdC5jCmluZGV4IDIwMjVmNzcuLjdjZjI5NTMgMTAwNjQ0Ci0tLSBhL2dpdC5jCisrKyBiL2dpdC5jCkBAIC03LDcgKzcsNyBAQAogI2luY2x1ZGUgImNvbW1pdC5oIgogCiBjb25zdCBjaGFyIGdpdF91c2FnZV9zdHJpbmdbXSA9Ci0JImdpdCBbLS12ZXJzaW9uXSBbLS1oZWxwXSBbLWMgbmFtZT12YWx1ZV1cbiIKKwkiZ2l0IFstLXZlcnNpb25dIFstLWhlbHBdIFstQyA8cGF0aD5dIFstYyBuYW1lPXZhbHVlXVxuIgogCSIgICAgICAgICAgIFstLWV4ZWMtcGF0aFs9PHBhdGg+XV0gWy0taHRtbC1wYXRoXSBbLS1tYW4tcGF0aF0gWy0taW5mby1wYXRoXVxuIgogCSIgICAgICAgICAgIFstcHwtLXBhZ2luYXRlfC0tbm8tcGFnZXJdIFstLW5vLXJlcGxhY2Utb2JqZWN0c10gWy0tYmFyZV1cbiIKIAkiICAgICAgICAgICBbLS1naXQtZGlyPTxwYXRoPl0gWy0td29yay10cmVlPTxwYXRoPl0gWy0tbmFtZXNwYWNlPTxuYW1lPl1cbiIKQEAgLTU0LDcgKzU0LDcgQEAKIAkJLyoKIAkJICogQ2hlY2sgcmVtYWluaW5nIGZsYWdzLgogCQkgKi8KLQkJaWYgKCFwcmVmaXhjbXAoY21kLCAiLS1leGVjLXBhdGgiKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoY21kLCAiLS1leGVjLXBhdGgiKSkgewogCQkJY21kICs9IDExOwogCQkJaWYgKCpjbWQgPT0gJz0nKQogCQkJCWdpdF9zZXRfYXJndl9leGVjX3BhdGgoY21kICsgMSk7CkBAIC05Miw3ICs5Miw3IEBACiAJCQkJKmVudmNoYW5nZWQgPSAxOwogCQkJKCphcmd2KSsrOwogCQkJKCphcmdjKS0tOwotCQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAoY21kLCAiLS1naXQtZGlyPSIpKSB7CisJCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoY21kLCAiLS1naXQtZGlyPSIpKSB7CiAJCQlzZXRlbnYoR0lUX0RJUl9FTlZJUk9OTUVOVCwgY21kICsgMTAsIDEpOwogCQkJaWYgKGVudmNoYW5nZWQpCiAJCQkJKmVudmNoYW5nZWQgPSAxOwpAQCAtMTA2LDcgKzEwNiw3IEBACiAJCQkJKmVudmNoYW5nZWQgPSAxOwogCQkJKCphcmd2KSsrOwogCQkJKCphcmdjKS0tOwotCQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAoY21kLCAiLS1uYW1lc3BhY2U9IikpIHsKKwkJfSBlbHNlIGlmIChzdGFydHNfd2l0aChjbWQsICItLW5hbWVzcGFjZT0iKSkgewogCQkJc2V0ZW52KEdJVF9OQU1FU1BBQ0VfRU5WSVJPTk1FTlQsIGNtZCArIDEyLCAxKTsKIAkJCWlmIChlbnZjaGFuZ2VkKQogCQkJCSplbnZjaGFuZ2VkID0gMTsKQEAgLTEyMCw3ICsxMjAsNyBAQAogCQkJCSplbnZjaGFuZ2VkID0gMTsKIAkJCSgqYXJndikrKzsKIAkJCSgqYXJnYyktLTsKLQkJfSBlbHNlIGlmICghcHJlZml4Y21wKGNtZCwgIi0td29yay10cmVlPSIpKSB7CisJCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoY21kLCAiLS13b3JrLXRyZWU9IikpIHsKIAkJCXNldGVudihHSVRfV09SS19UUkVFX0VOVklST05NRU5ULCBjbWQgKyAxMiwgMSk7CiAJCQlpZiAoZW52Y2hhbmdlZCkKIAkJCQkqZW52Y2hhbmdlZCA9IDE7CkBAIC0xNDcsMTIgKzE0NywzNSBAQAogCQkJc2V0ZW52KEdJVF9MSVRFUkFMX1BBVEhTUEVDU19FTlZJUk9OTUVOVCwgIjAiLCAxKTsKIAkJCWlmIChlbnZjaGFuZ2VkKQogCQkJCSplbnZjaGFuZ2VkID0gMTsKKwkJfSBlbHNlIGlmICghc3RyY21wKGNtZCwgIi0tZ2xvYi1wYXRoc3BlY3MiKSkgeworCQkJc2V0ZW52KEdJVF9HTE9CX1BBVEhTUEVDU19FTlZJUk9OTUVOVCwgIjEiLCAxKTsKKwkJCWlmIChlbnZjaGFuZ2VkKQorCQkJCSplbnZjaGFuZ2VkID0gMTsKKwkJfSBlbHNlIGlmICghc3RyY21wKGNtZCwgIi0tbm9nbG9iLXBhdGhzcGVjcyIpKSB7CisJCQlzZXRlbnYoR0lUX05PR0xPQl9QQVRIU1BFQ1NfRU5WSVJPTk1FTlQsICIxIiwgMSk7CisJCQlpZiAoZW52Y2hhbmdlZCkKKwkJCQkqZW52Y2hhbmdlZCA9IDE7CisJCX0gZWxzZSBpZiAoIXN0cmNtcChjbWQsICItLWljYXNlLXBhdGhzcGVjcyIpKSB7CisJCQlzZXRlbnYoR0lUX0lDQVNFX1BBVEhTUEVDU19FTlZJUk9OTUVOVCwgIjEiLCAxKTsKKwkJCWlmIChlbnZjaGFuZ2VkKQorCQkJCSplbnZjaGFuZ2VkID0gMTsKIAkJfSBlbHNlIGlmICghc3RyY21wKGNtZCwgIi0tc2hhbGxvdy1maWxlIikpIHsKIAkJCSgqYXJndikrKzsKIAkJCSgqYXJnYyktLTsKLQkJCXNldF9hbHRlcm5hdGVfc2hhbGxvd19maWxlKCgqYXJndilbMF0pOworCQkJc2V0X2FsdGVybmF0ZV9zaGFsbG93X2ZpbGUoKCphcmd2KVswXSwgMSk7CiAJCQlpZiAoZW52Y2hhbmdlZCkKIAkJCQkqZW52Y2hhbmdlZCA9IDE7CisJCX0gZWxzZSBpZiAoIXN0cmNtcChjbWQsICItQyIpKSB7CisJCQlpZiAoKmFyZ2MgPCAyKSB7CisJCQkJZnByaW50ZihzdGRlcnIsICJObyBkaXJlY3RvcnkgZ2l2ZW4gZm9yIC1DLlxuIiApOworCQkJCXVzYWdlKGdpdF91c2FnZV9zdHJpbmcpOworCQkJfQorCQkJaWYgKGNoZGlyKCgqYXJndilbMV0pKQorCQkJCWRpZV9lcnJubygiQ2Fubm90IGNoYW5nZSB0byAnJXMnIiwgKCphcmd2KVsxXSk7CisJCQlpZiAoZW52Y2hhbmdlZCkKKwkJCQkqZW52Y2hhbmdlZCA9IDE7CisJCQkoKmFyZ3YpKys7CisJCQkoKmFyZ2MpLS07CiAJCX0gZWxzZSB7CiAJCQlmcHJpbnRmKHN0ZGVyciwgIlVua25vd24gb3B0aW9uOiAlc1xuIiwgY21kKTsKIAkJCXVzYWdlKGdpdF91c2FnZV9zdHJpbmcpOwpAQCAtMzA5LDEyNiArMzMyLDEzNiBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBoYW5kbGVfaW50ZXJuYWxfY29tbWFuZChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCitzdGF0aWMgc3RydWN0IGNtZF9zdHJ1Y3QgY29tbWFuZHNbXSA9IHsKKwl7ICJhZGQiLCBjbWRfYWRkLCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAorCXsgImFubm90YXRlIiwgY21kX2Fubm90YXRlLCBSVU5fU0VUVVAgfSwKKwl7ICJhcHBseSIsIGNtZF9hcHBseSwgUlVOX1NFVFVQX0dFTlRMWSB9LAorCXsgImFyY2hpdmUiLCBjbWRfYXJjaGl2ZSB9LAorCXsgImJpc2VjdC0taGVscGVyIiwgY21kX2Jpc2VjdF9faGVscGVyLCBSVU5fU0VUVVAgfSwKKwl7ICJibGFtZSIsIGNtZF9ibGFtZSwgUlVOX1NFVFVQIH0sCisJeyAiYnJhbmNoIiwgY21kX2JyYW5jaCwgUlVOX1NFVFVQIH0sCisJeyAiYnVuZGxlIiwgY21kX2J1bmRsZSwgUlVOX1NFVFVQX0dFTlRMWSB9LAorCXsgImNhdC1maWxlIiwgY21kX2NhdF9maWxlLCBSVU5fU0VUVVAgfSwKKwl7ICJjaGVjay1hdHRyIiwgY21kX2NoZWNrX2F0dHIsIFJVTl9TRVRVUCB9LAorCXsgImNoZWNrLWlnbm9yZSIsIGNtZF9jaGVja19pZ25vcmUsIFJVTl9TRVRVUCB8IE5FRURfV09SS19UUkVFIH0sCisJeyAiY2hlY2stbWFpbG1hcCIsIGNtZF9jaGVja19tYWlsbWFwLCBSVU5fU0VUVVAgfSwKKwl7ICJjaGVjay1yZWYtZm9ybWF0IiwgY21kX2NoZWNrX3JlZl9mb3JtYXQgfSwKKwl7ICJjaGVja291dCIsIGNtZF9jaGVja291dCwgUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUUgfSwKKwl7ICJjaGVja291dC1pbmRleCIsIGNtZF9jaGVja291dF9pbmRleCwKKwkJUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUV9LAorCXsgImNoZXJyeSIsIGNtZF9jaGVycnksIFJVTl9TRVRVUCB9LAorCXsgImNoZXJyeS1waWNrIiwgY21kX2NoZXJyeV9waWNrLCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAorCXsgImNsZWFuIiwgY21kX2NsZWFuLCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAorCXsgImNsb25lIiwgY21kX2Nsb25lIH0sCisJeyAiY29sdW1uIiwgY21kX2NvbHVtbiwgUlVOX1NFVFVQX0dFTlRMWSB9LAorCXsgImNvbW1pdCIsIGNtZF9jb21taXQsIFJVTl9TRVRVUCB8IE5FRURfV09SS19UUkVFIH0sCisJeyAiY29tbWl0LXRyZWUiLCBjbWRfY29tbWl0X3RyZWUsIFJVTl9TRVRVUCB9LAorCXsgImNvbmZpZyIsIGNtZF9jb25maWcsIFJVTl9TRVRVUF9HRU5UTFkgfSwKKwl7ICJjb3VudC1vYmplY3RzIiwgY21kX2NvdW50X29iamVjdHMsIFJVTl9TRVRVUCB9LAorCXsgImNyZWRlbnRpYWwiLCBjbWRfY3JlZGVudGlhbCwgUlVOX1NFVFVQX0dFTlRMWSB9LAorCXsgImRlc2NyaWJlIiwgY21kX2Rlc2NyaWJlLCBSVU5fU0VUVVAgfSwKKwl7ICJkaWZmIiwgY21kX2RpZmYgfSwKKwl7ICJkaWZmLWZpbGVzIiwgY21kX2RpZmZfZmlsZXMsIFJVTl9TRVRVUCB8IE5FRURfV09SS19UUkVFIH0sCisJeyAiZGlmZi1pbmRleCIsIGNtZF9kaWZmX2luZGV4LCBSVU5fU0VUVVAgfSwKKwl7ICJkaWZmLXRyZWUiLCBjbWRfZGlmZl90cmVlLCBSVU5fU0VUVVAgfSwKKwl7ICJmYXN0LWV4cG9ydCIsIGNtZF9mYXN0X2V4cG9ydCwgUlVOX1NFVFVQIH0sCisJeyAiZmV0Y2giLCBjbWRfZmV0Y2gsIFJVTl9TRVRVUCB9LAorCXsgImZldGNoLXBhY2siLCBjbWRfZmV0Y2hfcGFjaywgUlVOX1NFVFVQIH0sCisJeyAiZm10LW1lcmdlLW1zZyIsIGNtZF9mbXRfbWVyZ2VfbXNnLCBSVU5fU0VUVVAgfSwKKwl7ICJmb3ItZWFjaC1yZWYiLCBjbWRfZm9yX2VhY2hfcmVmLCBSVU5fU0VUVVAgfSwKKwl7ICJmb3JtYXQtcGF0Y2giLCBjbWRfZm9ybWF0X3BhdGNoLCBSVU5fU0VUVVAgfSwKKwl7ICJmc2NrIiwgY21kX2ZzY2ssIFJVTl9TRVRVUCB9LAorCXsgImZzY2stb2JqZWN0cyIsIGNtZF9mc2NrLCBSVU5fU0VUVVAgfSwKKwl7ICJnYyIsIGNtZF9nYywgUlVOX1NFVFVQIH0sCisJeyAiZ2V0LXRhci1jb21taXQtaWQiLCBjbWRfZ2V0X3Rhcl9jb21taXRfaWQgfSwKKwl7ICJncmVwIiwgY21kX2dyZXAsIFJVTl9TRVRVUF9HRU5UTFkgfSwKKwl7ICJoYXNoLW9iamVjdCIsIGNtZF9oYXNoX29iamVjdCB9LAorCXsgImhlbHAiLCBjbWRfaGVscCB9LAorCXsgImluZGV4LXBhY2siLCBjbWRfaW5kZXhfcGFjaywgUlVOX1NFVFVQX0dFTlRMWSB9LAorCXsgImluaXQiLCBjbWRfaW5pdF9kYiB9LAorCXsgImluaXQtZGIiLCBjbWRfaW5pdF9kYiB9LAorCXsgImxvZyIsIGNtZF9sb2csIFJVTl9TRVRVUCB9LAorCXsgImxzLWZpbGVzIiwgY21kX2xzX2ZpbGVzLCBSVU5fU0VUVVAgfSwKKwl7ICJscy1yZW1vdGUiLCBjbWRfbHNfcmVtb3RlLCBSVU5fU0VUVVBfR0VOVExZIH0sCisJeyAibHMtdHJlZSIsIGNtZF9sc190cmVlLCBSVU5fU0VUVVAgfSwKKwl7ICJtYWlsaW5mbyIsIGNtZF9tYWlsaW5mbyB9LAorCXsgIm1haWxzcGxpdCIsIGNtZF9tYWlsc3BsaXQgfSwKKwl7ICJtZXJnZSIsIGNtZF9tZXJnZSwgUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUUgfSwKKwl7ICJtZXJnZS1iYXNlIiwgY21kX21lcmdlX2Jhc2UsIFJVTl9TRVRVUCB9LAorCXsgIm1lcmdlLWZpbGUiLCBjbWRfbWVyZ2VfZmlsZSwgUlVOX1NFVFVQX0dFTlRMWSB9LAorCXsgIm1lcmdlLWluZGV4IiwgY21kX21lcmdlX2luZGV4LCBSVU5fU0VUVVAgfSwKKwl7ICJtZXJnZS1vdXJzIiwgY21kX21lcmdlX291cnMsIFJVTl9TRVRVUCB9LAorCXsgIm1lcmdlLXJlY3Vyc2l2ZSIsIGNtZF9tZXJnZV9yZWN1cnNpdmUsIFJVTl9TRVRVUCB8IE5FRURfV09SS19UUkVFIH0sCisJeyAibWVyZ2UtcmVjdXJzaXZlLW91cnMiLCBjbWRfbWVyZ2VfcmVjdXJzaXZlLCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAorCXsgIm1lcmdlLXJlY3Vyc2l2ZS10aGVpcnMiLCBjbWRfbWVyZ2VfcmVjdXJzaXZlLCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAorCXsgIm1lcmdlLXN1YnRyZWUiLCBjbWRfbWVyZ2VfcmVjdXJzaXZlLCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAorCXsgIm1lcmdlLXRyZWUiLCBjbWRfbWVyZ2VfdHJlZSwgUlVOX1NFVFVQIH0sCisJeyAibWt0YWciLCBjbWRfbWt0YWcsIFJVTl9TRVRVUCB9LAorCXsgIm1rdHJlZSIsIGNtZF9ta3RyZWUsIFJVTl9TRVRVUCB9LAorCXsgIm12IiwgY21kX212LCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAorCXsgIm5hbWUtcmV2IiwgY21kX25hbWVfcmV2LCBSVU5fU0VUVVAgfSwKKwl7ICJub3RlcyIsIGNtZF9ub3RlcywgUlVOX1NFVFVQIH0sCisJeyAicGFjay1vYmplY3RzIiwgY21kX3BhY2tfb2JqZWN0cywgUlVOX1NFVFVQIH0sCisJeyAicGFjay1yZWR1bmRhbnQiLCBjbWRfcGFja19yZWR1bmRhbnQsIFJVTl9TRVRVUCB9LAorCXsgInBhY2stcmVmcyIsIGNtZF9wYWNrX3JlZnMsIFJVTl9TRVRVUCB9LAorCXsgInBhdGNoLWlkIiwgY21kX3BhdGNoX2lkIH0sCisJeyAicGlja2F4ZSIsIGNtZF9ibGFtZSwgUlVOX1NFVFVQIH0sCisJeyAicHJ1bmUiLCBjbWRfcHJ1bmUsIFJVTl9TRVRVUCB9LAorCXsgInBydW5lLXBhY2tlZCIsIGNtZF9wcnVuZV9wYWNrZWQsIFJVTl9TRVRVUCB9LAorCXsgInB1c2giLCBjbWRfcHVzaCwgUlVOX1NFVFVQIH0sCisJeyAicmVhZC10cmVlIiwgY21kX3JlYWRfdHJlZSwgUlVOX1NFVFVQIH0sCisJeyAicmVjZWl2ZS1wYWNrIiwgY21kX3JlY2VpdmVfcGFjayB9LAorCXsgInJlZmxvZyIsIGNtZF9yZWZsb2csIFJVTl9TRVRVUCB9LAorCXsgInJlbW90ZSIsIGNtZF9yZW1vdGUsIFJVTl9TRVRVUCB9LAorCXsgInJlbW90ZS1leHQiLCBjbWRfcmVtb3RlX2V4dCB9LAorCXsgInJlbW90ZS1mZCIsIGNtZF9yZW1vdGVfZmQgfSwKKwl7ICJyZXBhY2siLCBjbWRfcmVwYWNrLCBSVU5fU0VUVVAgfSwKKwl7ICJyZXBsYWNlIiwgY21kX3JlcGxhY2UsIFJVTl9TRVRVUCB9LAorCXsgInJlcmVyZSIsIGNtZF9yZXJlcmUsIFJVTl9TRVRVUCB9LAorCXsgInJlc2V0IiwgY21kX3Jlc2V0LCBSVU5fU0VUVVAgfSwKKwl7ICJyZXYtbGlzdCIsIGNtZF9yZXZfbGlzdCwgUlVOX1NFVFVQIH0sCisJeyAicmV2LXBhcnNlIiwgY21kX3Jldl9wYXJzZSB9LAorCXsgInJldmVydCIsIGNtZF9yZXZlcnQsIFJVTl9TRVRVUCB8IE5FRURfV09SS19UUkVFIH0sCisJeyAicm0iLCBjbWRfcm0sIFJVTl9TRVRVUCB9LAorCXsgInNlbmQtcGFjayIsIGNtZF9zZW5kX3BhY2ssIFJVTl9TRVRVUCB9LAorCXsgInNob3J0bG9nIiwgY21kX3Nob3J0bG9nLCBSVU5fU0VUVVBfR0VOVExZIHwgVVNFX1BBR0VSIH0sCisJeyAic2hvdyIsIGNtZF9zaG93LCBSVU5fU0VUVVAgfSwKKwl7ICJzaG93LWJyYW5jaCIsIGNtZF9zaG93X2JyYW5jaCwgUlVOX1NFVFVQIH0sCisJeyAic2hvdy1yZWYiLCBjbWRfc2hvd19yZWYsIFJVTl9TRVRVUCB9LAorCXsgInN0YWdlIiwgY21kX2FkZCwgUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUUgfSwKKwl7ICJzdGF0dXMiLCBjbWRfc3RhdHVzLCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAorCXsgInN0cmlwc3BhY2UiLCBjbWRfc3RyaXBzcGFjZSB9LAorCXsgInN5bWJvbGljLXJlZiIsIGNtZF9zeW1ib2xpY19yZWYsIFJVTl9TRVRVUCB9LAorCXsgInRhZyIsIGNtZF90YWcsIFJVTl9TRVRVUCB9LAorCXsgInVucGFjay1maWxlIiwgY21kX3VucGFja19maWxlLCBSVU5fU0VUVVAgfSwKKwl7ICJ1bnBhY2stb2JqZWN0cyIsIGNtZF91bnBhY2tfb2JqZWN0cywgUlVOX1NFVFVQIH0sCisJeyAidXBkYXRlLWluZGV4IiwgY21kX3VwZGF0ZV9pbmRleCwgUlVOX1NFVFVQIH0sCisJeyAidXBkYXRlLXJlZiIsIGNtZF91cGRhdGVfcmVmLCBSVU5fU0VUVVAgfSwKKwl7ICJ1cGRhdGUtc2VydmVyLWluZm8iLCBjbWRfdXBkYXRlX3NlcnZlcl9pbmZvLCBSVU5fU0VUVVAgfSwKKwl7ICJ1cGxvYWQtYXJjaGl2ZSIsIGNtZF91cGxvYWRfYXJjaGl2ZSB9LAorCXsgInVwbG9hZC1hcmNoaXZlLS13cml0ZXIiLCBjbWRfdXBsb2FkX2FyY2hpdmVfd3JpdGVyIH0sCisJeyAidmFyIiwgY21kX3ZhciwgUlVOX1NFVFVQX0dFTlRMWSB9LAorCXsgInZlcmlmeS1wYWNrIiwgY21kX3ZlcmlmeV9wYWNrIH0sCisJeyAidmVyaWZ5LXRhZyIsIGNtZF92ZXJpZnlfdGFnLCBSVU5fU0VUVVAgfSwKKwl7ICJ2ZXJzaW9uIiwgY21kX3ZlcnNpb24gfSwKKwl7ICJ3aGF0Y2hhbmdlZCIsIGNtZF93aGF0Y2hhbmdlZCwgUlVOX1NFVFVQIH0sCisJeyAid3JpdGUtdHJlZSIsIGNtZF93cml0ZV90cmVlLCBSVU5fU0VUVVAgfSwKK307CisKK2ludCBpc19idWlsdGluKGNvbnN0IGNoYXIgKnMpCit7CisJaW50IGk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY29tbWFuZHMpOyBpKyspIHsKKwkJc3RydWN0IGNtZF9zdHJ1Y3QgKnAgPSBjb21tYW5kcytpOworCQlpZiAoIXN0cmNtcChzLCBwLT5jbWQpKQorCQkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBoYW5kbGVfYnVpbHRpbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCiB7CiAJY29uc3QgY2hhciAqY21kID0gYXJndlswXTsKLQlzdGF0aWMgc3RydWN0IGNtZF9zdHJ1Y3QgY29tbWFuZHNbXSA9IHsKLQkJeyAiYWRkIiwgY21kX2FkZCwgUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUUgfSwKLQkJeyAiYW5ub3RhdGUiLCBjbWRfYW5ub3RhdGUsIFJVTl9TRVRVUCB9LAotCQl7ICJhcHBseSIsIGNtZF9hcHBseSwgUlVOX1NFVFVQX0dFTlRMWSB9LAotCQl7ICJhcmNoaXZlIiwgY21kX2FyY2hpdmUgfSwKLQkJeyAiYmlzZWN0LS1oZWxwZXIiLCBjbWRfYmlzZWN0X19oZWxwZXIsIFJVTl9TRVRVUCB9LAotCQl7ICJibGFtZSIsIGNtZF9ibGFtZSwgUlVOX1NFVFVQIH0sCi0JCXsgImJyYW5jaCIsIGNtZF9icmFuY2gsIFJVTl9TRVRVUCB9LAotCQl7ICJidW5kbGUiLCBjbWRfYnVuZGxlLCBSVU5fU0VUVVBfR0VOVExZIH0sCi0JCXsgImNhdC1maWxlIiwgY21kX2NhdF9maWxlLCBSVU5fU0VUVVAgfSwKLQkJeyAiY2hlY2stYXR0ciIsIGNtZF9jaGVja19hdHRyLCBSVU5fU0VUVVAgfSwKLQkJeyAiY2hlY2staWdub3JlIiwgY21kX2NoZWNrX2lnbm9yZSwgUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUUgfSwKLQkJeyAiY2hlY2stbWFpbG1hcCIsIGNtZF9jaGVja19tYWlsbWFwLCBSVU5fU0VUVVAgfSwKLQkJeyAiY2hlY2stcmVmLWZvcm1hdCIsIGNtZF9jaGVja19yZWZfZm9ybWF0IH0sCi0JCXsgImNoZWNrb3V0IiwgY21kX2NoZWNrb3V0LCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAotCQl7ICJjaGVja291dC1pbmRleCIsIGNtZF9jaGVja291dF9pbmRleCwKLQkJCVJVTl9TRVRVUCB8IE5FRURfV09SS19UUkVFfSwKLQkJeyAiY2hlcnJ5IiwgY21kX2NoZXJyeSwgUlVOX1NFVFVQIH0sCi0JCXsgImNoZXJyeS1waWNrIiwgY21kX2NoZXJyeV9waWNrLCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAotCQl7ICJjbGVhbiIsIGNtZF9jbGVhbiwgUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUUgfSwKLQkJeyAiY2xvbmUiLCBjbWRfY2xvbmUgfSwKLQkJeyAiY29sdW1uIiwgY21kX2NvbHVtbiwgUlVOX1NFVFVQX0dFTlRMWSB9LAotCQl7ICJjb21taXQiLCBjbWRfY29tbWl0LCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAotCQl7ICJjb21taXQtdHJlZSIsIGNtZF9jb21taXRfdHJlZSwgUlVOX1NFVFVQIH0sCi0JCXsgImNvbmZpZyIsIGNtZF9jb25maWcsIFJVTl9TRVRVUF9HRU5UTFkgfSwKLQkJeyAiY291bnQtb2JqZWN0cyIsIGNtZF9jb3VudF9vYmplY3RzLCBSVU5fU0VUVVAgfSwKLQkJeyAiY3JlZGVudGlhbCIsIGNtZF9jcmVkZW50aWFsLCBSVU5fU0VUVVBfR0VOVExZIH0sCi0JCXsgImRlc2NyaWJlIiwgY21kX2Rlc2NyaWJlLCBSVU5fU0VUVVAgfSwKLQkJeyAiZGlmZiIsIGNtZF9kaWZmIH0sCi0JCXsgImRpZmYtZmlsZXMiLCBjbWRfZGlmZl9maWxlcywgUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUUgfSwKLQkJeyAiZGlmZi1pbmRleCIsIGNtZF9kaWZmX2luZGV4LCBSVU5fU0VUVVAgfSwKLQkJeyAiZGlmZi10cmVlIiwgY21kX2RpZmZfdHJlZSwgUlVOX1NFVFVQIH0sCi0JCXsgImZhc3QtZXhwb3J0IiwgY21kX2Zhc3RfZXhwb3J0LCBSVU5fU0VUVVAgfSwKLQkJeyAiZmV0Y2giLCBjbWRfZmV0Y2gsIFJVTl9TRVRVUCB9LAotCQl7ICJmZXRjaC1wYWNrIiwgY21kX2ZldGNoX3BhY2ssIFJVTl9TRVRVUCB9LAotCQl7ICJmbXQtbWVyZ2UtbXNnIiwgY21kX2ZtdF9tZXJnZV9tc2csIFJVTl9TRVRVUCB9LAotCQl7ICJmb3ItZWFjaC1yZWYiLCBjbWRfZm9yX2VhY2hfcmVmLCBSVU5fU0VUVVAgfSwKLQkJeyAiZm9ybWF0LXBhdGNoIiwgY21kX2Zvcm1hdF9wYXRjaCwgUlVOX1NFVFVQIH0sCi0JCXsgImZzY2siLCBjbWRfZnNjaywgUlVOX1NFVFVQIH0sCi0JCXsgImZzY2stb2JqZWN0cyIsIGNtZF9mc2NrLCBSVU5fU0VUVVAgfSwKLQkJeyAiZ2MiLCBjbWRfZ2MsIFJVTl9TRVRVUCB9LAotCQl7ICJnZXQtdGFyLWNvbW1pdC1pZCIsIGNtZF9nZXRfdGFyX2NvbW1pdF9pZCB9LAotCQl7ICJncmVwIiwgY21kX2dyZXAsIFJVTl9TRVRVUF9HRU5UTFkgfSwKLQkJeyAiaGFzaC1vYmplY3QiLCBjbWRfaGFzaF9vYmplY3QgfSwKLQkJeyAiaGVscCIsIGNtZF9oZWxwIH0sCi0JCXsgImluZGV4LXBhY2siLCBjbWRfaW5kZXhfcGFjaywgUlVOX1NFVFVQX0dFTlRMWSB9LAotCQl7ICJpbml0IiwgY21kX2luaXRfZGIgfSwKLQkJeyAiaW5pdC1kYiIsIGNtZF9pbml0X2RiIH0sCi0JCXsgImxvZyIsIGNtZF9sb2csIFJVTl9TRVRVUCB9LAotCQl7ICJscy1maWxlcyIsIGNtZF9sc19maWxlcywgUlVOX1NFVFVQIH0sCi0JCXsgImxzLXJlbW90ZSIsIGNtZF9sc19yZW1vdGUsIFJVTl9TRVRVUF9HRU5UTFkgfSwKLQkJeyAibHMtdHJlZSIsIGNtZF9sc190cmVlLCBSVU5fU0VUVVAgfSwKLQkJeyAibWFpbGluZm8iLCBjbWRfbWFpbGluZm8gfSwKLQkJeyAibWFpbHNwbGl0IiwgY21kX21haWxzcGxpdCB9LAotCQl7ICJtZXJnZSIsIGNtZF9tZXJnZSwgUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUUgfSwKLQkJeyAibWVyZ2UtYmFzZSIsIGNtZF9tZXJnZV9iYXNlLCBSVU5fU0VUVVAgfSwKLQkJeyAibWVyZ2UtZmlsZSIsIGNtZF9tZXJnZV9maWxlLCBSVU5fU0VUVVBfR0VOVExZIH0sCi0JCXsgIm1lcmdlLWluZGV4IiwgY21kX21lcmdlX2luZGV4LCBSVU5fU0VUVVAgfSwKLQkJeyAibWVyZ2Utb3VycyIsIGNtZF9tZXJnZV9vdXJzLCBSVU5fU0VUVVAgfSwKLQkJeyAibWVyZ2UtcmVjdXJzaXZlIiwgY21kX21lcmdlX3JlY3Vyc2l2ZSwgUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUUgfSwKLQkJeyAibWVyZ2UtcmVjdXJzaXZlLW91cnMiLCBjbWRfbWVyZ2VfcmVjdXJzaXZlLCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAotCQl7ICJtZXJnZS1yZWN1cnNpdmUtdGhlaXJzIiwgY21kX21lcmdlX3JlY3Vyc2l2ZSwgUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUUgfSwKLQkJeyAibWVyZ2Utc3VidHJlZSIsIGNtZF9tZXJnZV9yZWN1cnNpdmUsIFJVTl9TRVRVUCB8IE5FRURfV09SS19UUkVFIH0sCi0JCXsgIm1lcmdlLXRyZWUiLCBjbWRfbWVyZ2VfdHJlZSwgUlVOX1NFVFVQIH0sCi0JCXsgIm1rdGFnIiwgY21kX21rdGFnLCBSVU5fU0VUVVAgfSwKLQkJeyAibWt0cmVlIiwgY21kX21rdHJlZSwgUlVOX1NFVFVQIH0sCi0JCXsgIm12IiwgY21kX212LCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAotCQl7ICJuYW1lLXJldiIsIGNtZF9uYW1lX3JldiwgUlVOX1NFVFVQIH0sCi0JCXsgIm5vdGVzIiwgY21kX25vdGVzLCBSVU5fU0VUVVAgfSwKLQkJeyAicGFjay1vYmplY3RzIiwgY21kX3BhY2tfb2JqZWN0cywgUlVOX1NFVFVQIH0sCi0JCXsgInBhY2stcmVkdW5kYW50IiwgY21kX3BhY2tfcmVkdW5kYW50LCBSVU5fU0VUVVAgfSwKLQkJeyAicGFjay1yZWZzIiwgY21kX3BhY2tfcmVmcywgUlVOX1NFVFVQIH0sCi0JCXsgInBhdGNoLWlkIiwgY21kX3BhdGNoX2lkIH0sCi0JCXsgInBlZWstcmVtb3RlIiwgY21kX2xzX3JlbW90ZSwgUlVOX1NFVFVQX0dFTlRMWSB9LAotCQl7ICJwaWNrYXhlIiwgY21kX2JsYW1lLCBSVU5fU0VUVVAgfSwKLQkJeyAicHJ1bmUiLCBjbWRfcHJ1bmUsIFJVTl9TRVRVUCB9LAotCQl7ICJwcnVuZS1wYWNrZWQiLCBjbWRfcHJ1bmVfcGFja2VkLCBSVU5fU0VUVVAgfSwKLQkJeyAicHVzaCIsIGNtZF9wdXNoLCBSVU5fU0VUVVAgfSwKLQkJeyAicmVhZC10cmVlIiwgY21kX3JlYWRfdHJlZSwgUlVOX1NFVFVQIH0sCi0JCXsgInJlY2VpdmUtcGFjayIsIGNtZF9yZWNlaXZlX3BhY2sgfSwKLQkJeyAicmVmbG9nIiwgY21kX3JlZmxvZywgUlVOX1NFVFVQIH0sCi0JCXsgInJlbW90ZSIsIGNtZF9yZW1vdGUsIFJVTl9TRVRVUCB9LAotCQl7ICJyZW1vdGUtZXh0IiwgY21kX3JlbW90ZV9leHQgfSwKLQkJeyAicmVtb3RlLWZkIiwgY21kX3JlbW90ZV9mZCB9LAotCQl7ICJyZXBsYWNlIiwgY21kX3JlcGxhY2UsIFJVTl9TRVRVUCB9LAotCQl7ICJyZXBvLWNvbmZpZyIsIGNtZF9yZXBvX2NvbmZpZywgUlVOX1NFVFVQX0dFTlRMWSB9LAotCQl7ICJyZXJlcmUiLCBjbWRfcmVyZXJlLCBSVU5fU0VUVVAgfSwKLQkJeyAicmVzZXQiLCBjbWRfcmVzZXQsIFJVTl9TRVRVUCB9LAotCQl7ICJyZXYtbGlzdCIsIGNtZF9yZXZfbGlzdCwgUlVOX1NFVFVQIH0sCi0JCXsgInJldi1wYXJzZSIsIGNtZF9yZXZfcGFyc2UgfSwKLQkJeyAicmV2ZXJ0IiwgY21kX3JldmVydCwgUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUUgfSwKLQkJeyAicm0iLCBjbWRfcm0sIFJVTl9TRVRVUCB9LAotCQl7ICJzZW5kLXBhY2siLCBjbWRfc2VuZF9wYWNrLCBSVU5fU0VUVVAgfSwKLQkJeyAic2hvcnRsb2ciLCBjbWRfc2hvcnRsb2csIFJVTl9TRVRVUF9HRU5UTFkgfCBVU0VfUEFHRVIgfSwKLQkJeyAic2hvdyIsIGNtZF9zaG93LCBSVU5fU0VUVVAgfSwKLQkJeyAic2hvdy1icmFuY2giLCBjbWRfc2hvd19icmFuY2gsIFJVTl9TRVRVUCB9LAotCQl7ICJzaG93LXJlZiIsIGNtZF9zaG93X3JlZiwgUlVOX1NFVFVQIH0sCi0JCXsgInN0YWdlIiwgY21kX2FkZCwgUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUUgfSwKLQkJeyAic3RhdHVzIiwgY21kX3N0YXR1cywgUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUUgfSwKLQkJeyAic3RyaXBzcGFjZSIsIGNtZF9zdHJpcHNwYWNlIH0sCi0JCXsgInN5bWJvbGljLXJlZiIsIGNtZF9zeW1ib2xpY19yZWYsIFJVTl9TRVRVUCB9LAotCQl7ICJ0YWciLCBjbWRfdGFnLCBSVU5fU0VUVVAgfSwKLQkJeyAidGFyLXRyZWUiLCBjbWRfdGFyX3RyZWUgfSwKLQkJeyAidW5wYWNrLWZpbGUiLCBjbWRfdW5wYWNrX2ZpbGUsIFJVTl9TRVRVUCB9LAotCQl7ICJ1bnBhY2stb2JqZWN0cyIsIGNtZF91bnBhY2tfb2JqZWN0cywgUlVOX1NFVFVQIH0sCi0JCXsgInVwZGF0ZS1pbmRleCIsIGNtZF91cGRhdGVfaW5kZXgsIFJVTl9TRVRVUCB9LAotCQl7ICJ1cGRhdGUtcmVmIiwgY21kX3VwZGF0ZV9yZWYsIFJVTl9TRVRVUCB9LAotCQl7ICJ1cGRhdGUtc2VydmVyLWluZm8iLCBjbWRfdXBkYXRlX3NlcnZlcl9pbmZvLCBSVU5fU0VUVVAgfSwKLQkJeyAidXBsb2FkLWFyY2hpdmUiLCBjbWRfdXBsb2FkX2FyY2hpdmUgfSwKLQkJeyAidXBsb2FkLWFyY2hpdmUtLXdyaXRlciIsIGNtZF91cGxvYWRfYXJjaGl2ZV93cml0ZXIgfSwKLQkJeyAidmFyIiwgY21kX3ZhciwgUlVOX1NFVFVQX0dFTlRMWSB9LAotCQl7ICJ2ZXJpZnktcGFjayIsIGNtZF92ZXJpZnlfcGFjayB9LAotCQl7ICJ2ZXJpZnktdGFnIiwgY21kX3ZlcmlmeV90YWcsIFJVTl9TRVRVUCB9LAotCQl7ICJ2ZXJzaW9uIiwgY21kX3ZlcnNpb24gfSwKLQkJeyAid2hhdGNoYW5nZWQiLCBjbWRfd2hhdGNoYW5nZWQsIFJVTl9TRVRVUCB9LAotCQl7ICJ3cml0ZS10cmVlIiwgY21kX3dyaXRlX3RyZWUsIFJVTl9TRVRVUCB9LAotCX07CiAJaW50IGk7CiAJc3RhdGljIGNvbnN0IGNoYXIgZXh0W10gPSBTVFJJUF9FWFRFTlNJT047CiAKQEAgLTQ5Niw4ICs1MjksOCBAQAogCWludCBkb25lX2FsaWFzID0gMDsKIAogCXdoaWxlICgxKSB7Ci0JCS8qIFNlZSBpZiBpdCdzIGFuIGludGVybmFsIGNvbW1hbmQgKi8KLQkJaGFuZGxlX2ludGVybmFsX2NvbW1hbmQoKmFyZ2NwLCAqYXJndik7CisJCS8qIFNlZSBpZiBpdCdzIGEgYnVpbHRpbiAqLworCQloYW5kbGVfYnVpbHRpbigqYXJnY3AsICphcmd2KTsKIAogCQkvKiAuLiB0aGVuIHRyeSB0aGUgZXh0ZXJuYWwgb25lcyAqLwogCQlleGVjdl9kYXNoZWRfZXh0ZXJuYWwoKmFyZ3YpOwpAQCAtNTQyLDE0ICs1NzUsMTQgQEAKIAkgKiAgLSBjYW5ub3QgZXhlY3V0ZSBpdCBleHRlcm5hbGx5IChzaW5jZSBpdCB3b3VsZCBqdXN0IGRvCiAJICogICAgdGhlIHNhbWUgdGhpbmcgb3ZlciBhZ2FpbikKIAkgKgotCSAqIFNvIHdlIGp1c3QgZGlyZWN0bHkgY2FsbCB0aGUgaW50ZXJuYWwgY29tbWFuZCBoYW5kbGVyLCBhbmQKLQkgKiBkaWUgaWYgdGhhdCBvbmUgY2Fubm90IGhhbmRsZSBpdC4KKwkgKiBTbyB3ZSBqdXN0IGRpcmVjdGx5IGNhbGwgdGhlIGJ1aWx0aW4gaGFuZGxlciwgYW5kIGRpZSBpZgorCSAqIHRoYXQgb25lIGNhbm5vdCBoYW5kbGUgaXQuCiAJICovCi0JaWYgKCFwcmVmaXhjbXAoY21kLCAiZ2l0LSIpKSB7CisJaWYgKHN0YXJ0c193aXRoKGNtZCwgImdpdC0iKSkgewogCQljbWQgKz0gNDsKIAkJYXJndlswXSA9IGNtZDsKLQkJaGFuZGxlX2ludGVybmFsX2NvbW1hbmQoYXJnYywgYXJndik7Ci0JCWRpZSgiY2Fubm90IGhhbmRsZSAlcyBpbnRlcm5hbGx5IiwgY21kKTsKKwkJaGFuZGxlX2J1aWx0aW4oYXJnYywgYXJndik7CisJCWRpZSgiY2Fubm90IGhhbmRsZSAlcyBhcyBhIGJ1aWx0aW4iLCBjbWQpOwogCX0KIAogCS8qIExvb2sgZm9yIGZsYWdzLi4gKi8KQEAgLTU1Nyw3ICs1OTAsNyBAQAogCWFyZ2MtLTsKIAloYW5kbGVfb3B0aW9ucygmYXJndiwgJmFyZ2MsIE5VTEwpOwogCWlmIChhcmdjID4gMCkgewotCQlpZiAoIXByZWZpeGNtcChhcmd2WzBdLCAiLS0iKSkKKwkJaWYgKHN0YXJ0c193aXRoKGFyZ3ZbMF0sICItLSIpKQogCQkJYXJndlswXSArPSAyOwogCX0gZWxzZSB7CiAJCS8qIFRoZSB1c2VyIGRpZG4ndCBzcGVjaWZ5IGEgY29tbWFuZDsgZ2l2ZSB0aGVtIGhlbHAgKi8KZGlmZiAtLWdpdCBhL2dpdC5yYyBiL2dpdC5yYwppbmRleCBiY2U2ZGI5Li4zM2FhZmI3IDEwMDY0NAotLS0gYS9naXQucmMKKysrIGIvZ2l0LnJjCkBAIC0xLDYgKzEsNiBAQAogMSBWRVJTSU9OSU5GTwotRklMRVZFUlNJT04gICAgIE1BSk9SLE1JTk9SLFBBVENILDAKLVBST0RVQ1RWRVJTSU9OICBNQUpPUixNSU5PUixQQVRDSCwwCitGSUxFVkVSU0lPTiAgICAgTUFKT1IsTUlOT1IsMCwwCitQUk9EVUNUVkVSU0lPTiAgTUFKT1IsTUlOT1IsMCwwCiBCRUdJTgogICBCTE9DSyAiU3RyaW5nRmlsZUluZm8iCiAgIEJFR0lOCmRpZmYgLS1naXQgYS9naXRfcmVtb3RlX2hlbHBlcnMvLmdpdGlnbm9yZSBiL2dpdF9yZW1vdGVfaGVscGVycy8uZ2l0aWdub3JlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZjA0MGFmLi4wMDAwMDAwCi0tLSBhL2dpdF9yZW1vdGVfaGVscGVycy8uZ2l0aWdub3JlCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi0vR0lULVBZVEhPTi1WRVJTSU9OCi0vYnVpbGQKLS9kaXN0CmRpZmYgLS1naXQgYS9naXRfcmVtb3RlX2hlbHBlcnMvTWFrZWZpbGUgYi9naXRfcmVtb3RlX2hlbHBlcnMvTWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNkMTIyMzIuLjAwMDAwMDAKLS0tIGEvZ2l0X3JlbW90ZV9oZWxwZXJzL01ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotIwotIyBNYWtlZmlsZSBmb3IgdGhlIGdpdF9yZW1vdGVfaGVscGVycyBweXRob24gc3VwcG9ydCBtb2R1bGVzCi0jCi1weXNldHVwZmlsZTo9c2V0dXAucHkKLQotIyBTaGVsbCBxdW90ZSAoZG8gbm90IHVzZSAkKGNhbGwpIHRvIGFjY29tbW9kYXRlIGFuY2llbnQgc2V0dXBzKTsKLURFU1RESVJfU1EgPSAkKHN1YnN0ICcsJ1wnJywkKERFU1RESVIpKQotCi1pZm5kZWYgUFlUSE9OX1BBVEgKLQlpZmVxICgkKHVuYW1lX1MpLEZyZWVCU0QpCi0JCVBZVEhPTl9QQVRIID0gL3Vzci9sb2NhbC9iaW4vcHl0aG9uCi0JZWxzZQotCQlQWVRIT05fUEFUSCA9IC91c3IvYmluL3B5dGhvbgotCWVuZGlmCi1lbmRpZgotaWZuZGVmIHByZWZpeAotCXByZWZpeCA9ICQoSE9NRSkKLWVuZGlmCi1pZm5kZWYgVgotCVFVSUVUID0gQAotCVFVSUVUU0VUVVAgPSAtLXF1aWV0Ci1lbmRpZgotCi1QWUxJQkRJUj0kKHNoZWxsICQoUFlUSE9OX1BBVEgpIC1jIFwKLQkgImltcG9ydCBzeXM7IFwKLQkgcHJpbnQoJ2xpYi9weXRob24laS4laS9zaXRlLXBhY2thZ2VzJyAlIHN5cy52ZXJzaW9uX2luZm9bOjJdKSIpCi0KLXB5X3ZlcnNpb249JChzaGVsbCAkKFBZVEhPTl9QQVRIKSAtYyBcCi0JJ2ltcG9ydCBzeXM7IHByaW50KCIlaS4laSIgJSBzeXMudmVyc2lvbl9pbmZvWzoyXSknKQotCi1hbGw6ICQocHlzZXR1cGZpbGUpCi0JJChRVUlFVCl0ZXN0ICIkJChjYXQgR0lULVBZVEhPTi1WRVJTSU9OIDI+L2Rldi9udWxsKSIgPSAiJChweV92ZXJzaW9uKSIgfHwgXAotCWZsYWdzPS0tZm9yY2U7IFwKLQkkKFBZVEhPTl9QQVRIKSAkKHB5c2V0dXBmaWxlKSAkKFFVSUVUU0VUVVApIGJ1aWxkICQkZmxhZ3MKLQkkKFFVSUVUKWVjaG8gIiQocHlfdmVyc2lvbikiID5HSVQtUFlUSE9OLVZFUlNJT04KLQotaW5zdGFsbDogJChweXNldHVwZmlsZSkKLQkkKFBZVEhPTl9QQVRIKSAkKHB5c2V0dXBmaWxlKSBpbnN0YWxsIC0tcHJlZml4ICQoREVTVERJUl9TUSkkKHByZWZpeCkKLQotaW5zdGxpYmRpcjogJChweXNldHVwZmlsZSkKLQlAZWNobyAiJChERVNURElSX1NRKSQocHJlZml4KS8kKFBZTElCRElSKSIKLQotY2xlYW46Ci0JJChRVUlFVCkkKFBZVEhPTl9QQVRIKSAkKHB5c2V0dXBmaWxlKSAkKFFVSUVUU0VUVVApIGNsZWFuIC1hCi0JJChSTSkgKi5weW8gKi5weWMgR0lULVBZVEhPTi1WRVJTSU9OCmRpZmYgLS1naXQgYS9naXRfcmVtb3RlX2hlbHBlcnMvX19pbml0X18ucHkgYi9naXRfcmVtb3RlX2hlbHBlcnMvX19pbml0X18ucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwZjY5Y2IuLjAwMDAwMDAKLS0tIGEvZ2l0X3JlbW90ZV9oZWxwZXJzL19faW5pdF9fLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0KLSIiIlN1cHBvcnQgbGlicmFyeSBwYWNrYWdlIGZvciBnaXQgcmVtb3RlIGhlbHBlcnMuCi0KLUdpdCByZW1vdGUgaGVscGVycyBhcmUgaGVscGVyIGNvbW1hbmRzIHRoYXQgaW50ZXJmYWNlcyB3aXRoIGEgbm9uLWdpdAotcmVwb3NpdG9yeSB0byBwcm92aWRlIGF1dG9tYXRpYyBpbXBvcnQgb2Ygbm9uLWdpdCBoaXN0b3J5IGludG8gYSBHaXQKLXJlcG9zaXRvcnkuCi0KLVRoaXMgcGFja2FnZSBwcm92aWRlcyB0aGUgc3VwcG9ydCBsaWJyYXJ5IG5lZWRlZCBieSB0aGVzZSBoZWxwZXJzLi4KLVRoZSBmb2xsb3dpbmcgbW9kdWxlcyBhcmUgaW5jbHVkZWQ6Ci0KLS0gZ2l0LmdpdCAtIEludGVyYWN0aW9uIHdpdGggR2l0IHJlcG9zaXRvcmllcwotCi0tIHV0aWwgLSBHZW5lcmFsIHV0aWxpdHkgZnVuY3Rpb25hbGl0eSB1c2UgYnkgdGhlIG90aGVyIG1vZHVsZXMgaW4KLSAgICAgICAgIHRoaXMgcGFja2FnZSwgYW5kIGFsc28gdXNlZCBkaXJlY3RseSBieSB0aGUgaGVscGVycy4KLSIiIgpkaWZmIC0tZ2l0IGEvZ2l0X3JlbW90ZV9oZWxwZXJzL2dpdC9fX2luaXRfXy5weSBiL2dpdF9yZW1vdGVfaGVscGVycy9naXQvX19pbml0X18ucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkYmIxYjAuLjAwMDAwMDAKLS0tIGEvZ2l0X3JlbW90ZV9oZWxwZXJzL2dpdC9fX2luaXRfXy5weQorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotaW1wb3J0IHN5cwotaWYgc3lzLmhleHZlcnNpb24gPCAweDAyMDQwMDAwOgotICAgICMgVGhlIGxpbWl0ZXIgaXMgdGhlIHN1YnByb2Nlc3MgbW9kdWxlCi0gICAgc3lzLnN0ZGVyci53cml0ZSgiZ2l0X3JlbW90ZV9oZWxwZXJzOiByZXF1aXJlcyBQeXRob24gMi40IG9yIGxhdGVyLlxuIikKLSAgICBzeXMuZXhpdCgxKQpkaWZmIC0tZ2l0IGEvZ2l0X3JlbW90ZV9oZWxwZXJzL2dpdC9leHBvcnRlci5weSBiL2dpdF9yZW1vdGVfaGVscGVycy9naXQvZXhwb3J0ZXIucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllZTVmOTYuLjAwMDAwMDAKLS0tIGEvZ2l0X3JlbW90ZV9oZWxwZXJzL2dpdC9leHBvcnRlci5weQorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLWltcG9ydCBvcwotaW1wb3J0IHN1YnByb2Nlc3MKLWltcG9ydCBzeXMKLQotZnJvbSBnaXRfcmVtb3RlX2hlbHBlcnMudXRpbCBpbXBvcnQgY2hlY2tfY2FsbAotCi0KLWNsYXNzIEdpdEV4cG9ydGVyKG9iamVjdCk6Ci0gICAgIiIiQW4gZXhwb3J0ZXIgZm9yIHRlc3RnaXQgcmVwb3NpdG9yaWVzLgotCi0gICAgVGhlIGV4cG9ydGVyIHNpbXBseSBkZWxlZ2F0ZXMgdG8gZ2l0IGZhc3QtZXhwb3J0LgotICAgICIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHJlcG8pOgotICAgICAgICAiIiJDcmVhdGVzIGEgbmV3IGV4cG9ydGVyIGZvciB0aGUgc3BlY2lmaWVkIHJlcG8uCi0gICAgICAgICIiIgotCi0gICAgICAgIHNlbGYucmVwbyA9IHJlcG8KLQotICAgIGRlZiBleHBvcnRfcmVwbyhzZWxmLCBiYXNlLCByZWZzPU5vbmUpOgotICAgICAgICAiIiJFeHBvcnRzIGEgZmFzdC1leHBvcnQgc3RyZWFtIGZvciB0aGUgZ2l2ZW4gZGlyZWN0b3J5LgotCi0gICAgICAgIFNpbXBseSBkZWxlZ2F0ZXMgdG8gZ2l0IGZhc3QtZXB4b3J0IGFuZCBwaXBlcyBpdCB0aHJvdWdoIHNlZAotICAgICAgICB0byBtYWtlIHRoZSByZWZzIHNob3cgdXAgdW5kZXIgdGhlIHByZWZpeCByYXRoZXIgdGhhbiB0aGUKLSAgICAgICAgZGVmYXVsdCByZWZzL2hlYWRzLiBUaGlzIGlzIHRvIGRlbW9uc3RyYXRlIGhvdyB0aGUgZXhwb3J0Ci0gICAgICAgIGRhdGEgY2FuIGJlIHN0b3JlZCB1bmRlciBpdCdzIG93biByZWYgKHVzaW5nIHRoZSByZWZzcGVjCi0gICAgICAgIGNhcGFiaWxpdHkpLgotCi0gICAgICAgIElmIE5vbmUsIHJlZnMgZGVmYXVsdHMgdG8gWyJIRUFEIl0uCi0gICAgICAgICIiIgotCi0gICAgICAgIGlmIG5vdCByZWZzOgotICAgICAgICAgICAgcmVmcyA9IFsiSEVBRCJdCi0KLSAgICAgICAgZGlybmFtZSA9IHNlbGYucmVwby5nZXRfYmFzZV9wYXRoKGJhc2UpCi0gICAgICAgIHBhdGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGRpcm5hbWUsICd0ZXN0Z2l0Lm1hcmtzJykpCi0KLSAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGRpcm5hbWUpOgotICAgICAgICAgICAgb3MubWFrZWRpcnMoZGlybmFtZSkKLQotICAgICAgICBwcmludCAiZmVhdHVyZSByZWxhdGl2ZS1tYXJrcyIKLSAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGRpcm5hbWUsICdnaXQubWFya3MnKSk6Ci0gICAgICAgICAgICBwcmludCAiZmVhdHVyZSBpbXBvcnQtbWFya3M9JXMvZ2l0Lm1hcmtzIiAlIHNlbGYucmVwby5oYXNoCi0gICAgICAgIHByaW50ICJmZWF0dXJlIGV4cG9ydC1tYXJrcz0lcy9naXQubWFya3MiICUgc2VsZi5yZXBvLmhhc2gKLSAgICAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCi0KLSAgICAgICAgYXJncyA9IFsiZ2l0IiwgIi0tZ2l0LWRpcj0iICsgc2VsZi5yZXBvLmdpdHBhdGgsICJmYXN0LWV4cG9ydCIsICItLWV4cG9ydC1tYXJrcz0iICsgcGF0aF0KLQotICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhwYXRoKToKLSAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCItLWltcG9ydC1tYXJrcz0iICsgcGF0aCkKLQotICAgICAgICBhcmdzLmV4dGVuZChyZWZzKQotCi0gICAgICAgIHAxID0gc3VicHJvY2Vzcy5Qb3BlbihhcmdzLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFKQotCi0gICAgICAgIGFyZ3MgPSBbInNlZCIsICJzX3JlZnMvaGVhZHMvXyIgKyBzZWxmLnJlcG8ucHJlZml4ICsgIl9nIl0KLQotICAgICAgICBjaGVja19jYWxsKGFyZ3MsIHN0ZGluPXAxLnN0ZG91dCkKZGlmZiAtLWdpdCBhL2dpdF9yZW1vdGVfaGVscGVycy9naXQvZ2l0LnB5IGIvZ2l0X3JlbW90ZV9oZWxwZXJzL2dpdC9naXQucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwN2ExYmYuLjAwMDAwMDAKLS0tIGEvZ2l0X3JlbW90ZV9oZWxwZXJzL2dpdC9naXQucHkKKysrIC9kZXYvbnVsbApAQCAtMSw2NzggKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0KLSIiIkZ1bmN0aW9uYWxpdHkgZm9yIGludGVyYWN0aW5nIHdpdGggR2l0IHJlcG9zaXRvcmllcy4KLQotVGhpcyBtb2R1bGUgcHJvdmlkZXMgY2xhc3NlcyBmb3IgaW50ZXJmYWNpbmcgd2l0aCBhIEdpdCByZXBvc2l0b3J5LgotIiIiCi0KLWltcG9ydCBvcwotaW1wb3J0IHJlCi1pbXBvcnQgdGltZQotZnJvbSBiaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQotZnJvbSBjU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lPCi1pbXBvcnQgdW5pdHRlc3QKLQotZnJvbSBnaXRfcmVtb3RlX2hlbHBlcnMudXRpbCBpbXBvcnQgZGVidWcsIGVycm9yLCBkaWUsIHN0YXJ0X2NvbW1hbmQsIHJ1bl9jb21tYW5kCi0KLQotZGVmIGdldF9naXRfZGlyICgpOgotICAgICIiIlJldHVybiB0aGUgcGF0aCB0byB0aGUgR0lUX0RJUiBmb3IgdGhpcyByZXBvLiIiIgotICAgIGFyZ3MgPSAoImdpdCIsICJyZXYtcGFyc2UiLCAiLS1naXQtZGlyIikKLSAgICBleGl0X2NvZGUsIG91dHB1dCwgZXJyb3JzID0gcnVuX2NvbW1hbmQoYXJncykKLSAgICBpZiBleGl0X2NvZGU6Ci0gICAgICAgIGRpZSgiRmFpbGVkIHRvIHJldHJpZXZlIGdpdCBkaXIiKQotICAgIGFzc2VydCBub3QgZXJyb3JzCi0gICAgcmV0dXJuIG91dHB1dC5zdHJpcCgpCi0KLQotZGVmIHBhcnNlX2dpdF9jb25maWcgKCk6Ci0gICAgIiIiUmV0dXJuIGEgZGljdCBjb250YWluaW5nIHRoZSBwYXJzZWQgdmVyc2lvbiBvZiAnZ2l0IGNvbmZpZyAtbCcuIiIiCi0gICAgZXhpdF9jb2RlLCBvdXRwdXQsIGVycm9ycyA9IHJ1bl9jb21tYW5kKCgiZ2l0IiwgImNvbmZpZyIsICIteiIsICItbCIpKQotICAgIGlmIGV4aXRfY29kZToKLSAgICAgICAgZGllKCJGYWlsZWQgdG8gcmV0cmlldmUgZ2l0IGNvbmZpZ3VyYXRpb24iKQotICAgIGFzc2VydCBub3QgZXJyb3JzCi0gICAgcmV0dXJuIGRpY3QoW2Uuc3BsaXQoJ1xuJywgMSkgZm9yIGUgaW4gb3V0cHV0LnNwbGl0KCJcMCIpIGlmIGVdKQotCi0KLWRlZiBnaXRfY29uZmlnX2Jvb2wgKHZhbHVlKToKLSAgICAiIiJDb252ZXJ0IHRoZSBnaXZlbiBnaXQgY29uZmlnIHN0cmluZyB2YWx1ZSB0byBUcnVlIG9yIEZhbHNlLgotCi0gICAgUmFpc2UgVmFsdWVFcnJvciBpZiB0aGUgZ2l2ZW4gc3RyaW5nIHdhcyBub3QgcmVjb2duaXplZCBhcyBhCi0gICAgYm9vbGVhbiB2YWx1ZS4KLQotICAgICIiIgotICAgIG5vcm1fdmFsdWUgPSBzdHIodmFsdWUpLnN0cmlwKCkubG93ZXIoKQotICAgIGlmIG5vcm1fdmFsdWUgaW4gKCJ0cnVlIiwgIjEiLCAieWVzIiwgIm9uIiwgIiIpOgotICAgICAgICByZXR1cm4gVHJ1ZQotICAgIGlmIG5vcm1fdmFsdWUgaW4gKCJmYWxzZSIsICIwIiwgIm5vIiwgIm9mZiIsICJub25lIik6Ci0gICAgICAgIHJldHVybiBGYWxzZQotICAgIHJhaXNlIFZhbHVlRXJyb3IoIkZhaWxlZCB0byBwYXJzZSAnJXMnIGludG8gYSBib29sZWFuIHZhbHVlIiAlICh2YWx1ZSkpCi0KLQotZGVmIHZhbGlkX2dpdF9yZWYgKHJlZl9uYW1lKToKLSAgICAiIiJSZXR1cm4gVHJ1ZSBpZmYgdGhlIGdpdmVuIHJlZiBuYW1lIGlzIGEgdmFsaWQgZ2l0IHJlZiBuYW1lLiIiIgotICAgICMgVGhlIGZvbGxvd2luZyBpcyBhIHJlaW1wbGVtZW50YXRpb24gb2YgdGhlIGdpdCBjaGVjay1yZWYtZm9ybWF0Ci0gICAgIyBjb21tYW5kLiAgVGhlIHJ1bGVzIHdlcmUgZGVyaXZlZCBmcm9tIHRoZSBnaXQgY2hlY2stcmVmLWZvcm1hdCgxKQotICAgICMgbWFudWFsIHBhZ2UuICBUaGlzIGNvZGUgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5IGEgY2FsbCB0bwotICAgICMgY2hlY2tfcmVmbmFtZV9mb3JtYXQoKSBpbiB0aGUgZ2l0IGxpYnJhcnksIHdoZW4gc3VjaCBpcyBhdmFpbGFibGUuCi0gICAgaWYgcmVmX25hbWUuZW5kc3dpdGgoJy8nKSBvciBcCi0gICAgICAgcmVmX25hbWUuc3RhcnRzd2l0aCgnLicpIG9yIFwKLSAgICAgICByZWZfbmFtZS5jb3VudCgnLy4nKSBvciBcCi0gICAgICAgcmVmX25hbWUuY291bnQoJy4uJykgb3IgXAotICAgICAgIHJlZl9uYW1lLmVuZHN3aXRoKCcubG9jaycpOgotICAgICAgICByZXR1cm4gRmFsc2UKLSAgICBmb3IgYyBpbiByZWZfbmFtZToKLSAgICAgICAgaWYgb3JkKGMpIDwgMHgyMCBvciBvcmQoYykgPT0gMHg3ZiBvciBjIGluICIgfl46PypbIjoKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgIHJldHVybiBUcnVlCi0KLQotY2xhc3MgR2l0T2JqZWN0RmV0Y2hlcihvYmplY3QpOgotCi0gICAgIiIiUHJvdmlkZSBwYXJzZWQgYWNjZXNzIHRvICdnaXQgY2F0LWZpbGUgLS1iYXRjaCcuCi0KLSAgICBUaGlzIHByb3ZpZGVzIGEgcmVhZC1vbmx5IGludGVyZmFjZSB0byB0aGUgR2l0IG9iamVjdCBkYXRhYmFzZS4KLQotICAgICIiIgotCi0gICAgZGVmIF9faW5pdF9fIChzZWxmKToKLSAgICAgICAgIiIiSW5pdGlhdGUgYSAnZ2l0IGNhdC1maWxlIC0tYmF0Y2gnIHNlc3Npb24uIiIiCi0gICAgICAgIHNlbGYucXVldWUgPSBbXSAgIyBMaXN0IG9mIG9iamVjdCBuYW1lcyB0byBiZSBzdWJtaXR0ZWQKLSAgICAgICAgc2VsZi5pbl90cmFuc2l0ID0gTm9uZSAgIyBPYmplY3QgbmFtZSBjdXJyZW50bHkgaW4gdHJhbnNpdAotCi0gICAgICAgICMgJ2dpdCBjYXQtZmlsZSAtLWJhdGNoJyBwcm9kdWNlcyBiaW5hcnkgb3V0cHV0IHdoaWNoIGlzIGxpa2VseQotICAgICAgICAjIHRvIGJlIGNvcnJ1cHRlZCBieSB0aGUgZGVmYXVsdCAiclUiLW1vZGUgcGlwZSBvcGVuZWQgYnkKLSAgICAgICAgIyBzdGFydF9jb21tYW5kLiAgKE1vZGUgPT0gInJVIiBkb2VzIHVuaXZlcnNhbCBuZXctbGluZQotICAgICAgICAjIGNvbnZlcnNpb24sIHdoaWNoIG1hbmdsZXMgY2FycmlhZ2UgcmV0dXJucy4pIFRoZXJlZm9yZSwgd2UKLSAgICAgICAgIyBvcGVuIGFuIGV4cGxpY2l0bHkgYmluYXJ5LXNhZmUgcGlwZSBmb3IgdHJhbnNmZXJyaW5nIHRoZQotICAgICAgICAjIG91dHB1dCBmcm9tICdnaXQgY2F0LWZpbGUgLS1iYXRjaCcuCi0gICAgICAgIHBpcGVfcl9mZCwgcGlwZV93X2ZkID0gb3MucGlwZSgpCi0gICAgICAgIHBpcGVfciA9IG9zLmZkb3BlbihwaXBlX3JfZmQsICJyYiIpCi0gICAgICAgIHBpcGVfdyA9IG9zLmZkb3BlbihwaXBlX3dfZmQsICJ3YiIpCi0gICAgICAgIHNlbGYucHJvYyA9IHN0YXJ0X2NvbW1hbmQoKCJnaXQiLCAiY2F0LWZpbGUiLCAiLS1iYXRjaCIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dCA9IHBpcGVfdykKLSAgICAgICAgc2VsZi5mID0gcGlwZV9yCi0KLSAgICBkZWYgX19kZWxfXyAoc2VsZik6Ci0gICAgICAgICIiIlZlcmlmeSBjb21wbGV0ZWQgY29tbXVuaWNhdGlvbiB3aXRoICdnaXQgY2F0LWZpbGUgLS1iYXRjaCcuIiIiCi0gICAgICAgIGFzc2VydCBub3Qgc2VsZi5xdWV1ZQotICAgICAgICBhc3NlcnQgc2VsZi5pbl90cmFuc2l0IGlzIE5vbmUKLSAgICAgICAgc2VsZi5wcm9jLnN0ZGluLmNsb3NlKCkKLSAgICAgICAgYXNzZXJ0IHNlbGYucHJvYy53YWl0KCkgPT0gMCAgIyBaZXJvIGV4aXQgY29kZQotICAgICAgICBhc3NlcnQgc2VsZi5mLnJlYWQoKSA9PSAiIiAgIyBObyByZW1haW5pbmcgb3V0cHV0Ci0KLSAgICBkZWYgX3N1Ym1pdF9uZXh0X29iamVjdCAoc2VsZik6Ci0gICAgICAgICIiIlN1Ym1pdCBxdWV1ZSBpdGVtcyB0byB0aGUgJ2dpdCBjYXQtZmlsZSAtLWJhdGNoJyBwcm9jZXNzLgotCi0gICAgICAgIElmIHRoZXJlIGFyZSBpdGVtcyBpbiB0aGUgcXVldWUsIGFuZCB0aGVyZSBpcyBjdXJyZW50bHkgbm8gaXRlbQotICAgICAgICBjdXJyZW50bHkgaW4gJ3RyYW5zaXQnLCB0aGVuIHBvcCB0aGUgZmlyc3QgaXRlbSBvZmYgdGhlIHF1ZXVlLAotICAgICAgICBhbmQgc3VibWl0IGl0LgotCi0gICAgICAgICIiIgotICAgICAgICBpZiBzZWxmLnF1ZXVlIGFuZCBzZWxmLmluX3RyYW5zaXQgaXMgTm9uZToKLSAgICAgICAgICAgIHNlbGYuaW5fdHJhbnNpdCA9IHNlbGYucXVldWUucG9wKDApCi0gICAgICAgICAgICBwcmludCA+PiBzZWxmLnByb2Muc3RkaW4sIHNlbGYuaW5fdHJhbnNpdFswXQotCi0gICAgZGVmIHB1c2ggKHNlbGYsIG9iaiwgY2FsbGJhY2spOgotICAgICAgICAiIiJQdXNoIHRoZSBnaXZlbiBvYmplY3QgbmFtZSBvbnRvIHRoZSBxdWV1ZS4KLQotICAgICAgICBUaGUgZ2l2ZW4gY2FsbGJhY2sgZnVuY3Rpb24gd2lsbCBhdCBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUKLSAgICAgICAgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSB3aXRoIHRoZSBmb2xsb3dpbmcgYXJndW1lbnRzOgotICAgICAgICAtIHNlbGYgLSB0aGlzIEdpdE9iamVjdEZldGNoZXIgaW5zdGFuY2UKLSAgICAgICAgLSBvYmogIC0gdGhlIG9iamVjdCBuYW1lIHByb3ZpZGVkIHRvIHB1c2goKQotICAgICAgICAtIHNoYTEgLSB0aGUgU0hBMSBvZiB0aGUgb2JqZWN0LCBpZiAnTm9uZScgb2JqIGlzIG1pc3NpbmcKLSAgICAgICAgLSB0ICAgIC0gdGhlIHR5cGUgb2YgdGhlIG9iamVjdCAodGFnL2NvbW1pdC90cmVlL2Jsb2IpCi0gICAgICAgIC0gc2l6ZSAtIHRoZSBzaXplIG9mIHRoZSBvYmplY3QgaW4gYnl0ZXMKLSAgICAgICAgLSBkYXRhIC0gdGhlIG9iamVjdCBjb250ZW50cwotCi0gICAgICAgICIiIgotICAgICAgICBzZWxmLnF1ZXVlLmFwcGVuZCgob2JqLCBjYWxsYmFjaykpCi0gICAgICAgIHNlbGYuX3N1Ym1pdF9uZXh0X29iamVjdCgpICAjIChSZSlzdGFydCBxdWV1ZSBwcm9jZXNzaW5nCi0KLSAgICBkZWYgcHJvY2Vzc19uZXh0X2VudHJ5IChzZWxmKToKLSAgICAgICAgIiIiUmVhZCB0aGUgbmV4dCBlbnRyeSBvZmYgdGhlIHF1ZXVlIGFuZCBpbnZva2UgY2FsbGJhY2suIiIiCi0gICAgICAgIG9iaiwgY2IgPSBzZWxmLmluX3RyYW5zaXQKLSAgICAgICAgc2VsZi5pbl90cmFuc2l0ID0gTm9uZQotICAgICAgICBoZWFkZXIgPSBzZWxmLmYucmVhZGxpbmUoKQotICAgICAgICBpZiBoZWFkZXIgPT0gIiVzIG1pc3NpbmdcbiIgJSAob2JqKToKLSAgICAgICAgICAgIGNiKHNlbGYsIG9iaiwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSkKLSAgICAgICAgICAgIHJldHVybgotICAgICAgICBzaGExLCB0LCBzaXplID0gaGVhZGVyLnNwbGl0KCIgIikKLSAgICAgICAgYXNzZXJ0IGxlbihzaGExKSA9PSA0MAotICAgICAgICBhc3NlcnQgdCBpbiAoInRhZyIsICJjb21taXQiLCAidHJlZSIsICJibG9iIikKLSAgICAgICAgYXNzZXJ0IHNpemUuZW5kc3dpdGgoIlxuIikKLSAgICAgICAgc2l6ZSA9IGludChzaXplLnN0cmlwKCkpCi0gICAgICAgIGRhdGEgPSBzZWxmLmYucmVhZChzaXplKQotICAgICAgICBhc3NlcnQgc2VsZi5mLnJlYWQoMSkgPT0gIlxuIgotICAgICAgICBjYihzZWxmLCBvYmosIHNoYTEsIHQsIHNpemUsIGRhdGEpCi0gICAgICAgIHNlbGYuX3N1Ym1pdF9uZXh0X29iamVjdCgpCi0KLSAgICBkZWYgcHJvY2VzcyAoc2VsZik6Ci0gICAgICAgICIiIlByb2Nlc3MgdGhlIGN1cnJlbnQgcXVldWUgdW50aWwgZW1wdHkuIiIiCi0gICAgICAgIHdoaWxlIHNlbGYuaW5fdHJhbnNpdCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHNlbGYucHJvY2Vzc19uZXh0X2VudHJ5KCkKLQotICAgICMgSGlnaC1sZXZlbCBjb252ZW5pZW5jZSBtZXRob2RzOgotCi0gICAgZGVmIGdldF9zaGExIChzZWxmLCBvYmpzcGVjKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBTSEExIG9mIHRoZSBvYmplY3Qgc3BlY2lmaWVkIGJ5ICdvYmpzcGVjJy4KLQotICAgICAgICBSZXR1cm4gTm9uZSBpZiAnb2Jqc3BlYycgZG9lcyBub3Qgc3BlY2lmeSBhbiBleGlzdGluZyBvYmplY3QuCi0KLSAgICAgICAgIiIiCi0gICAgICAgIGNsYXNzIF9PYmpIYW5kbGVyKG9iamVjdCk6Ci0gICAgICAgICAgICAiIiJIZWxwZXIgY2xhc3MgZm9yIGdldHRpbmcgdGhlIHJldHVybmVkIFNIQTEuIiIiCi0gICAgICAgICAgICBkZWYgX19pbml0X18gKHNlbGYsIHBhcnNlcik6Ci0gICAgICAgICAgICAgICAgc2VsZi5wYXJzZXIgPSBwYXJzZXIKLSAgICAgICAgICAgICAgICBzZWxmLnNoYTEgPSBOb25lCi0KLSAgICAgICAgICAgIGRlZiBfX2NhbGxfXyAoc2VsZiwgcGFyc2VyLCBvYmosIHNoYTEsIHQsIHNpemUsIGRhdGEpOgotICAgICAgICAgICAgICAgICMgRklYTUU6IE1hbnkgdW51c2VkIGFyZ3VtZW50cy4gQ291bGQgdGhpcyBiZSBjaGVhcGVyPwotICAgICAgICAgICAgICAgIGFzc2VydCBwYXJzZXIgPT0gc2VsZi5wYXJzZXIKLSAgICAgICAgICAgICAgICBzZWxmLnNoYTEgPSBzaGExCi0KLSAgICAgICAgaGFuZGxlciA9IF9PYmpIYW5kbGVyKHNlbGYpCi0gICAgICAgIHNlbGYucHVzaChvYmpzcGVjLCBoYW5kbGVyKQotICAgICAgICBzZWxmLnByb2Nlc3MoKQotICAgICAgICByZXR1cm4gaGFuZGxlci5zaGExCi0KLSAgICBkZWYgb3Blbl9vYmogKHNlbGYsIG9ianNwZWMpOgotICAgICAgICAiIiJSZXR1cm4gYSBmaWxlIG9iamVjdCB3cmFwcGluZyB0aGUgY29udGVudHMgb2YgYSBuYW1lZCBvYmplY3QuCi0KLSAgICAgICAgVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSBmb3IgY2FsbGluZyAuY2xvc2UoKSBvbiB0aGUgcmV0dXJuZWQKLSAgICAgICAgZmlsZSBvYmplY3QuCi0KLSAgICAgICAgUmFpc2UgS2V5RXJyb3IgaWYgJ29ianNwZWMnIGRvZXMgbm90IGV4aXN0IGluIHRoZSByZXBvLgotCi0gICAgICAgICIiIgotICAgICAgICBjbGFzcyBfT2JqSGFuZGxlcihvYmplY3QpOgotICAgICAgICAgICAgIiIiSGVscGVyIGNsYXNzIGZvciBwYXJzaW5nIHRoZSByZXR1cm5lZCBnaXQgb2JqZWN0LiIiIgotICAgICAgICAgICAgZGVmIF9faW5pdF9fIChzZWxmLCBwYXJzZXIpOgotICAgICAgICAgICAgICAgICIiIlNldCB1cCBoZWxwZXIuIiIiCi0gICAgICAgICAgICAgICAgc2VsZi5wYXJzZXIgPSBwYXJzZXIKLSAgICAgICAgICAgICAgICBzZWxmLmNvbnRlbnRzID0gU3RyaW5nSU8oKQotICAgICAgICAgICAgICAgIHNlbGYuZXJyID0gTm9uZQotCi0gICAgICAgICAgICBkZWYgX19jYWxsX18gKHNlbGYsIHBhcnNlciwgb2JqLCBzaGExLCB0LCBzaXplLCBkYXRhKToKLSAgICAgICAgICAgICAgICAiIiJHaXQgb2JqZWN0IGNhbGxiYWNrIChzZWUgR2l0T2JqZWN0RmV0Y2hlciBkb2N1bWVudGF0aW9uKS4iIiIKLSAgICAgICAgICAgICAgICBhc3NlcnQgcGFyc2VyID09IHNlbGYucGFyc2VyCi0gICAgICAgICAgICAgICAgaWYgbm90IHNoYTE6ICAjIE1pc3Npbmcgb2JqZWN0Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyID0gIk1pc3Npbmcgb2JqZWN0ICclcyciICUgb2JqCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IHNpemUgPT0gbGVuKGRhdGEpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuY29udGVudHMud3JpdGUoZGF0YSkKLQotICAgICAgICBoYW5kbGVyID0gX09iakhhbmRsZXIoc2VsZikKLSAgICAgICAgc2VsZi5wdXNoKG9ianNwZWMsIGhhbmRsZXIpCi0gICAgICAgIHNlbGYucHJvY2VzcygpCi0gICAgICAgIGlmIGhhbmRsZXIuZXJyOgotICAgICAgICAgICAgcmFpc2UgS2V5RXJyb3IoaGFuZGxlci5lcnIpCi0gICAgICAgIGhhbmRsZXIuY29udGVudHMuc2VlaygwKQotICAgICAgICByZXR1cm4gaGFuZGxlci5jb250ZW50cwotCi0gICAgZGVmIHdhbGtfdHJlZSAoc2VsZiwgdHJlZV9vYmpzcGVjLCBjYWxsYmFjaywgcHJlZml4ID0gIiIpOgotICAgICAgICAiIiJSZWN1cnNpdmVseSB3YWxrIHRoZSBnaXZlbiBHaXQgdHJlZSBvYmplY3QuCi0KLSAgICAgICAgUmVjdXJzaXZlbHkgd2FsayBhbGwgc3VidHJlZXMgb2YgdGhlIGdpdmVuIHRyZWUgb2JqZWN0LCBhbmQKLSAgICAgICAgaW52b2tlIHRoZSBnaXZlbiBjYWxsYmFjayBwYXNzaW5nIHRocmVlIGFyZ3VtZW50czoKLSAgICAgICAgKHBhdGgsIG1vZGUsIGRhdGEpIHdpdGggdGhlIHBhdGgsIHBlcm1pc3Npb24gYml0cywgYW5kIGNvbnRlbnRzCi0gICAgICAgIG9mIGFsbCB0aGUgYmxvYnMgZm91bmQgaW4gdGhlIGVudGlyZSB0cmVlIHN0cnVjdHVyZS4KLQotICAgICAgICAiIiIKLSAgICAgICAgY2xhc3MgX09iakhhbmRsZXIob2JqZWN0KToKLSAgICAgICAgICAgICIiIkhlbHBlciBjbGFzcyBmb3Igd2Fsa2luZyBhIGdpdCB0cmVlIHN0cnVjdHVyZS4iIiIKLSAgICAgICAgICAgIGRlZiBfX2luaXRfXyAoc2VsZiwgcGFyc2VyLCBjYiwgcGF0aCwgbW9kZSA9IE5vbmUpOgotICAgICAgICAgICAgICAgICIiIlNldCB1cCBoZWxwZXIuIiIiCi0gICAgICAgICAgICAgICAgc2VsZi5wYXJzZXIgPSBwYXJzZXIKLSAgICAgICAgICAgICAgICBzZWxmLmNiID0gY2IKLSAgICAgICAgICAgICAgICBzZWxmLnBhdGggPSBwYXRoCi0gICAgICAgICAgICAgICAgc2VsZi5tb2RlID0gbW9kZQotICAgICAgICAgICAgICAgIHNlbGYuZXJyID0gTm9uZQotCi0gICAgICAgICAgICBkZWYgcGFyc2VfdHJlZSAoc2VsZiwgdHJlZWRhdGEpOgotICAgICAgICAgICAgICAgICIiIlBhcnNlIHRyZWUgb2JqZWN0IGRhdGEsIHlpZWxkIHRyZWUgZW50cmllcy4KLQotICAgICAgICAgICAgICAgIEVhY2ggdHJlZSBlbnRyeSBpcyBhIDMtdHVwbGUgKG1vZGUsIHNoYTEsIHBhdGgpCi0KLSAgICAgICAgICAgICAgICBzZWxmLnBhdGggaXMgcHJlcGVuZGVkIHRvIGFsbCBwYXRocyB5aWVsZGVkCi0gICAgICAgICAgICAgICAgZnJvbSB0aGlzIG1ldGhvZC4KLQotICAgICAgICAgICAgICAgICIiIgotICAgICAgICAgICAgICAgIHdoaWxlIHRyZWVkYXRhOgotICAgICAgICAgICAgICAgICAgICBtb2RlID0gaW50KHRyZWVkYXRhWzo2XSwgMTApCi0gICAgICAgICAgICAgICAgICAgICMgVHVybiAxMDB4eHggaW50byB4eHgKLSAgICAgICAgICAgICAgICAgICAgaWYgbW9kZSA+IDEwMDAwMDoKLSAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgLT0gMTAwMDAwCi0gICAgICAgICAgICAgICAgICAgIGFzc2VydCB0cmVlZGF0YVs2XSA9PSAiICIKLSAgICAgICAgICAgICAgICAgICAgaSA9IHRyZWVkYXRhLmZpbmQoIlwwIiwgNykKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IGkgPiAwCi0gICAgICAgICAgICAgICAgICAgIHBhdGggPSB0cmVlZGF0YVs3OmldCi0gICAgICAgICAgICAgICAgICAgIHNoYTEgPSBoZXhsaWZ5KHRyZWVkYXRhW2kgKyAxOiBpICsgMjFdKQotICAgICAgICAgICAgICAgICAgICB5aWVsZCAobW9kZSwgc2hhMSwgc2VsZi5wYXRoICsgcGF0aCkKLSAgICAgICAgICAgICAgICAgICAgdHJlZWRhdGEgPSB0cmVlZGF0YVtpICsgMjE6XQotCi0gICAgICAgICAgICBkZWYgX19jYWxsX18gKHNlbGYsIHBhcnNlciwgb2JqLCBzaGExLCB0LCBzaXplLCBkYXRhKToKLSAgICAgICAgICAgICAgICAiIiJHaXQgb2JqZWN0IGNhbGxiYWNrIChzZWUgR2l0T2JqZWN0RmV0Y2hlciBkb2N1bWVudGF0aW9uKS4iIiIKLSAgICAgICAgICAgICAgICBhc3NlcnQgcGFyc2VyID09IHNlbGYucGFyc2VyCi0gICAgICAgICAgICAgICAgaWYgbm90IHNoYTE6ICAjIE1pc3Npbmcgb2JqZWN0Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyID0gIk1pc3Npbmcgb2JqZWN0ICclcyciICUgKG9iaikKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgICAgICAgICAgYXNzZXJ0IHNpemUgPT0gbGVuKGRhdGEpCi0gICAgICAgICAgICAgICAgaWYgdCA9PSAidHJlZSI6Ci0gICAgICAgICAgICAgICAgICAgIGlmIHNlbGYucGF0aDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGF0aCArPSAiLyIKLSAgICAgICAgICAgICAgICAgICAgIyBSZWN1cnNlIGludG8gYWxsIGJsb2JzIGFuZCBzdWJ0cmVlcwotICAgICAgICAgICAgICAgICAgICBmb3IgbSwgcywgcCBpbiBzZWxmLnBhcnNlX3RyZWUoZGF0YSk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXIucHVzaChzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18oc2VsZi5wYXJzZXIsIHNlbGYuY2IsIHAsIG0pKQotICAgICAgICAgICAgICAgIGVsaWYgdCA9PSAiYmxvYiI6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuY2Ioc2VsZi5wYXRoLCBzZWxmLm1vZGUsIGRhdGEpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5rbm93biBvYmplY3QgdHlwZSAnJXMnIiAlICh0KSkKLQotICAgICAgICBzZWxmLnB1c2godHJlZV9vYmpzcGVjLCBfT2JqSGFuZGxlcihzZWxmLCBjYWxsYmFjaywgcHJlZml4KSkKLSAgICAgICAgc2VsZi5wcm9jZXNzKCkKLQotCi1jbGFzcyBHaXRSZWZNYXAob2JqZWN0KToKLQotICAgICIiIk1hcCBHaXQgcmVmIG5hbWVzIHRvIHRoZSBHaXQgb2JqZWN0IG5hbWVzIHRoZXkgY3VycmVudGx5IHBvaW50IHRvLgotCi0gICAgQmVoYXZlcyBsaWtlIGEgZGljdGlvbmFyeSBvZiBHaXQgcmVmIG5hbWVzIC0+IEdpdCBvYmplY3QgbmFtZXMuCi0KLSAgICAiIiIKLQotICAgIGRlZiBfX2luaXRfXyAoc2VsZiwgb2JqX2ZldGNoZXIpOgotICAgICAgICAiIiJDcmVhdGUgYSBuZXcgR2l0IHJlZiAtPiBvYmplY3QgbWFwLiIiIgotICAgICAgICBzZWxmLm9ial9mZXRjaGVyID0gb2JqX2ZldGNoZXIKLSAgICAgICAgc2VsZi5fY2FjaGUgPSB7fSAgIyBkaWN0OiByZWZuYW1lIC0+IG9iam5hbWUKLQotICAgIGRlZiBfbG9hZCAoc2VsZiwgcmVmKToKLSAgICAgICAgIiIiUmV0cmlldmUgdGhlIG9iamVjdCBjdXJyZW50bHkgYm91bmQgdG8gdGhlIGdpdmVuIHJlZi4KLQotICAgICAgICBUaGUgbmFtZSBvZiB0aGUgb2JqZWN0IHBvaW50ZWQgdG8gYnkgdGhlIGdpdmVuIHJlZiBpcyBzdG9yZWQKLSAgICAgICAgaW50byB0aGlzIG1hcHBpbmcsIGFuZCBhbHNvIHJldHVybmVkLgotCi0gICAgICAgICIiIgotICAgICAgICBpZiByZWYgbm90IGluIHNlbGYuX2NhY2hlOgotICAgICAgICAgICAgc2VsZi5fY2FjaGVbcmVmXSA9IHNlbGYub2JqX2ZldGNoZXIuZ2V0X3NoYTEocmVmKQotICAgICAgICByZXR1cm4gc2VsZi5fY2FjaGVbcmVmXQotCi0gICAgZGVmIF9fY29udGFpbnNfXyAoc2VsZiwgcmVmbmFtZSk6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBnaXZlbiByZWZuYW1lIGlzIHByZXNlbnQgaW4gdGhpcyBjYWNoZS4iIiIKLSAgICAgICAgcmV0dXJuIGJvb2woc2VsZi5fbG9hZChyZWZuYW1lKSkKLQotICAgIGRlZiBfX2dldGl0ZW1fXyAoc2VsZiwgcmVmbmFtZSk6Ci0gICAgICAgICIiIlJldHVybiB0aGUgZ2l0IG9iamVjdCBuYW1lIHBvaW50ZWQgdG8gYnkgdGhlIGdpdmVuIHJlZm5hbWUuIiIiCi0gICAgICAgIGNvbW1pdCA9IHNlbGYuX2xvYWQocmVmbmFtZSkKLSAgICAgICAgaWYgY29tbWl0IGlzIE5vbmU6Ci0gICAgICAgICAgICByYWlzZSBLZXlFcnJvcigiVW5rbm93biByZWYgJyVzJyIgJSAocmVmbmFtZSkpCi0gICAgICAgIHJldHVybiBjb21taXQKLQotICAgIGRlZiBnZXQgKHNlbGYsIHJlZm5hbWUsIGRlZmF1bHQgPSBOb25lKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBnaXQgb2JqZWN0IG5hbWUgcG9pbnRlZCB0byBieSB0aGUgZ2l2ZW4gcmVmbmFtZS4iIiIKLSAgICAgICAgY29tbWl0ID0gc2VsZi5fbG9hZChyZWZuYW1lKQotICAgICAgICBpZiBjb21taXQgaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiBkZWZhdWx0Ci0gICAgICAgIHJldHVybiBjb21taXQKLQotCi1jbGFzcyBHaXRGSUNvbW1pdChvYmplY3QpOgotCi0gICAgIiIiRW5jYXBzdWxhdGUgdGhlIGRhdGEgaW4gYSBHaXQgZmFzdC1pbXBvcnQgY29tbWl0IGNvbW1hbmQuIiIiCi0KLSAgICBTSEExUkUgPSByZS5jb21waWxlKHInXlswLTlhLWZdezQwfSQnKQotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHBhcnNlX21vZGUgKGNscywgbW9kZSk6Ci0gICAgICAgICIiIlZlcmlmeSB0aGUgZ2l2ZW4gZ2l0IGZpbGUgbW9kZSwgYW5kIHJldHVybiBpdCBhcyBhIHN0cmluZy4iIiIKLSAgICAgICAgYXNzZXJ0IG1vZGUgaW4gKDY0NCwgNzU1LCAxMDA2NDQsIDEwMDc1NSwgMTIwMDAwKQotICAgICAgICByZXR1cm4gIiVpIiAlIChtb2RlKQotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHBhcnNlX29iam5hbWUgKGNscywgb2JqbmFtZSk6Ci0gICAgICAgICIiIlJldHVybiB0aGUgZ2l2ZW4gb2JqZWN0IG5hbWUgKG9yIG1hcmsgbnVtYmVyKSBhcyBhIHN0cmluZy4iIiIKLSAgICAgICAgaWYgaXNpbnN0YW5jZShvYmpuYW1lLCBpbnQpOiAgIyBPYmplY3QgbmFtZSBpcyBhIG1hcmsgbnVtYmVyCi0gICAgICAgICAgICBhc3NlcnQgb2JqbmFtZSA+IDAKLSAgICAgICAgICAgIHJldHVybiAiOiVpIiAlIChvYmpuYW1lKQotCi0gICAgICAgICMgTm8gZXhpc3RlbmNlIGNoZWNrIGlzIGRvbmUsIG9ubHkgY2hlY2tzIGZvciB2YWxpZCBmb3JtYXQKLSAgICAgICAgYXNzZXJ0IGNscy5TSEExUkUubWF0Y2gob2JqbmFtZSkgICMgT2JqZWN0IG5hbWUgaXMgdmFsaWQgU0hBMQotICAgICAgICByZXR1cm4gb2JqbmFtZQotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHF1b3RlX3BhdGggKGNscywgcGF0aCk6Ci0gICAgICAgICIiIlJldHVybiBhIHF1b3RlZCB2ZXJzaW9uIG9mIHRoZSBnaXZlbiBwYXRoLiIiIgotICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKCJcXCIsICJcXFxcIikKLSAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSgiXG4iLCAiXFxuIikKLSAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSgnIicsICdcXCInKQotICAgICAgICByZXR1cm4gJyIlcyInICUgKHBhdGgpCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgcGFyc2VfcGF0aCAoY2xzLCBwYXRoKToKLSAgICAgICAgIiIiVmVyaWZ5IHRoYXQgdGhlIGdpdmVuIHBhdGggaXMgdmFsaWQsIGFuZCBxdW90ZSBpdCwgaWYgbmVlZGVkLiIiIgotICAgICAgICBhc3NlcnQgbm90IGlzaW5zdGFuY2UocGF0aCwgaW50KSAgIyBDYW5ub3QgYmUgYSBtYXJrIG51bWJlcgotCi0gICAgICAgICMgVGhlc2UgY2hlY2tzIHZlcmlmeSB0aGUgcnVsZXMgb24gdGhlIGZhc3QtaW1wb3J0IG1hbiBwYWdlCi0gICAgICAgIGFzc2VydCBub3QgcGF0aC5jb3VudCgiLy8iKQotICAgICAgICBhc3NlcnQgbm90IHBhdGguZW5kc3dpdGgoIi8iKQotICAgICAgICBhc3NlcnQgbm90IHBhdGguc3RhcnRzd2l0aCgiLyIpCi0gICAgICAgIGFzc2VydCBub3QgcGF0aC5jb3VudCgiLy4vIikKLSAgICAgICAgYXNzZXJ0IG5vdCBwYXRoLmNvdW50KCIvLi4vIikKLSAgICAgICAgYXNzZXJ0IG5vdCBwYXRoLmVuZHN3aXRoKCIvLiIpCi0gICAgICAgIGFzc2VydCBub3QgcGF0aC5lbmRzd2l0aCgiLy4uIikKLSAgICAgICAgYXNzZXJ0IG5vdCBwYXRoLnN0YXJ0c3dpdGgoIi4vIikKLSAgICAgICAgYXNzZXJ0IG5vdCBwYXRoLnN0YXJ0c3dpdGgoIi4uLyIpCi0KLSAgICAgICAgaWYgcGF0aC5jb3VudCgnIicpICsgcGF0aC5jb3VudCgnXG4nKSArIHBhdGguY291bnQoJ1xcJyk6Ci0gICAgICAgICAgICByZXR1cm4gY2xzLnF1b3RlX3BhdGgocGF0aCkKLSAgICAgICAgcmV0dXJuIHBhdGgKLQotICAgIGRlZiBfX2luaXRfXyAoc2VsZiwgbmFtZSwgZW1haWwsIHRpbWVzdGFtcCwgdGltZXpvbmUsIG1lc3NhZ2UpOgotICAgICAgICAiIiJDcmVhdGUgYSBuZXcgR2l0IGZhc3QtaW1wb3J0IGNvbW1pdCwgd2l0aCB0aGUgZ2l2ZW4gbWV0YWRhdGEuIiIiCi0gICAgICAgIHNlbGYubmFtZSA9IG5hbWUKLSAgICAgICAgc2VsZi5lbWFpbCA9IGVtYWlsCi0gICAgICAgIHNlbGYudGltZXN0YW1wID0gdGltZXN0YW1wCi0gICAgICAgIHNlbGYudGltZXpvbmUgPSB0aW1lem9uZQotICAgICAgICBzZWxmLm1lc3NhZ2UgPSBtZXNzYWdlCi0gICAgICAgIHNlbGYucGF0aG9wcyA9IFtdICAjIExpc3Qgb2YgcGF0aCBvcGVyYXRpb25zIGluIHRoaXMgY29tbWl0Ci0KLSAgICBkZWYgbW9kaWZ5IChzZWxmLCBtb2RlLCBibG9ibmFtZSwgcGF0aCk6Ci0gICAgICAgICIiIkFkZCBhIGZpbGUgbW9kaWZpY2F0aW9uIHRvIHRoaXMgR2l0IGZhc3QtaW1wb3J0IGNvbW1pdC4iIiIKLSAgICAgICAgc2VsZi5wYXRob3BzLmFwcGVuZCgoIk0iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnBhcnNlX21vZGUobW9kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGFyc2Vfb2JqbmFtZShibG9ibmFtZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGFyc2VfcGF0aChwYXRoKSkpCi0KLSAgICBkZWYgZGVsZXRlIChzZWxmLCBwYXRoKToKLSAgICAgICAgIiIiQWRkIGEgZmlsZSBkZWxldGlvbiB0byB0aGlzIEdpdCBmYXN0LWltcG9ydCBjb21taXQuIiIiCi0gICAgICAgIHNlbGYucGF0aG9wcy5hcHBlbmQoKCJEIiwgc2VsZi5wYXJzZV9wYXRoKHBhdGgpKSkKLQotICAgIGRlZiBjb3B5IChzZWxmLCBwYXRoLCBuZXdwYXRoKToKLSAgICAgICAgIiIiQWRkIGEgZmlsZSBjb3B5IHRvIHRoaXMgR2l0IGZhc3QtaW1wb3J0IGNvbW1pdC4iIiIKLSAgICAgICAgc2VsZi5wYXRob3BzLmFwcGVuZCgoIkMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnBhcnNlX3BhdGgocGF0aCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGFyc2VfcGF0aChuZXdwYXRoKSkpCi0KLSAgICBkZWYgcmVuYW1lIChzZWxmLCBwYXRoLCBuZXdwYXRoKToKLSAgICAgICAgIiIiQWRkIGEgZmlsZSByZW5hbWUgdG8gdGhpcyBHaXQgZmFzdC1pbXBvcnQgY29tbWl0LiIiIgotICAgICAgICBzZWxmLnBhdGhvcHMuYXBwZW5kKCgiUiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGFyc2VfcGF0aChwYXRoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wYXJzZV9wYXRoKG5ld3BhdGgpKSkKLQotICAgIGRlZiBub3RlIChzZWxmLCBibG9ibmFtZSwgY29tbWl0KToKLSAgICAgICAgIiIiQWRkIGEgbm90ZSBvYmplY3QgdG8gdGhpcyBHaXQgZmFzdC1pbXBvcnQgY29tbWl0LiIiIgotICAgICAgICBzZWxmLnBhdGhvcHMuYXBwZW5kKCgiTiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGFyc2Vfb2JqbmFtZShibG9ibmFtZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGFyc2Vfb2JqbmFtZShjb21taXQpKSkKLQotICAgIGRlZiBkZWxldGVhbGwgKHNlbGYpOgotICAgICAgICAiIiJEZWxldGUgYWxsIGZpbGVzIGluIHRoaXMgR2l0IGZhc3QtaW1wb3J0IGNvbW1pdC4iIiIKLSAgICAgICAgc2VsZi5wYXRob3BzLmFwcGVuZCgiZGVsZXRlYWxsIikKLQotCi1jbGFzcyBUZXN0R2l0RklDb21taXQodW5pdHRlc3QuVGVzdENhc2UpOgotCi0gICAgIiIiR2l0RklDb21taXQgc2VsZnRlc3RzLiIiIgotCi0gICAgZGVmIHRlc3RfYmFzaWMgKHNlbGYpOgotICAgICAgICAiIiJHaXRGSUNvbW1pdCBiYXNpYyBzZWxmdGVzdHMuIiIiCi0KLSAgICAgICAgZGVmIGV4cGVjdF9mYWlsIChtZXRob2QsIGRhdGEpOgotICAgICAgICAgICAgIiIiVmVyaWZ5IHRoYXQgdGhlIG1ldGhvZChkYXRhKSByYWlzZXMgYW4gQXNzZXJ0aW9uRXJyb3IuIiIiCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgbWV0aG9kKGRhdGEpCi0gICAgICAgICAgICBleGNlcHQgQXNzZXJ0aW9uRXJyb3I6Ci0gICAgICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgICAgICByYWlzZSBBc3NlcnRpb25FcnJvcigiRmFpbGVkIHRlc3QgZm9yIGludmFsaWQgZGF0YSAnJXMoJXMpJyIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1ldGhvZC5fX25hbWVfXywgcmVwcihkYXRhKSkpCi0KLSAgICBkZWYgdGVzdF9wYXJzZV9tb2RlIChzZWxmKToKLSAgICAgICAgIiIiR2l0RklDb21taXQucGFyc2VfbW9kZSgpIHNlbGZ0ZXN0cy4iIiIKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChHaXRGSUNvbW1pdC5wYXJzZV9tb2RlKDY0NCksICI2NDQiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEdpdEZJQ29tbWl0LnBhcnNlX21vZGUoNzU1KSwgIjc1NSIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoR2l0RklDb21taXQucGFyc2VfbW9kZSgxMDA2NDQpLCAiMTAwNjQ0IikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChHaXRGSUNvbW1pdC5wYXJzZV9tb2RlKDEwMDc1NSksICIxMDA3NTUiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEdpdEZJQ29tbWl0LnBhcnNlX21vZGUoMTIwMDAwKSwgIjEyMDAwMCIpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBHaXRGSUNvbW1pdC5wYXJzZV9tb2RlLCAwKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgR2l0RklDb21taXQucGFyc2VfbW9kZSwgMTIzKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgR2l0RklDb21taXQucGFyc2VfbW9kZSwgNjAwKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgR2l0RklDb21taXQucGFyc2VfbW9kZSwgIjY0NCIpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBHaXRGSUNvbW1pdC5wYXJzZV9tb2RlLCAiYWJjIikKLQotICAgIGRlZiB0ZXN0X3BhcnNlX29iam5hbWUgKHNlbGYpOgotICAgICAgICAiIiJHaXRGSUNvbW1pdC5wYXJzZV9vYmpuYW1lKCkgc2VsZnRlc3RzLiIiIgotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEdpdEZJQ29tbWl0LnBhcnNlX29iam5hbWUoMSksICI6MSIpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBHaXRGSUNvbW1pdC5wYXJzZV9vYmpuYW1lLCAwKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgR2l0RklDb21taXQucGFyc2Vfb2JqbmFtZSwgLTEpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoR2l0RklDb21taXQucGFyc2Vfb2JqbmFtZSgiMDEyMzQ1Njc4OSIgKiA0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiMDEyMzQ1Njc4OSIgKiA0KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEdpdEZJQ29tbWl0LnBhcnNlX29iam5hbWUoIjI0NjhhYmNkZWYiICogNCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIjI0NjhhYmNkZWYiICogNCkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIEdpdEZJQ29tbWl0LnBhcnNlX29iam5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJhYmNkZWZnaGlqIiAqIDQpCi0KLSAgICBkZWYgdGVzdF9wYXJzZV9wYXRoIChzZWxmKToKLSAgICAgICAgIiIiR2l0RklDb21taXQucGFyc2VfcGF0aCgpIHNlbGZ0ZXN0cy4iIiIKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChHaXRGSUNvbW1pdC5wYXJzZV9wYXRoKCJmb28vYmFyIiksICJmb28vYmFyIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChHaXRGSUNvbW1pdC5wYXJzZV9wYXRoKCJwYXRoL3dpdGhcbiBhbmQgXCIgaW4gaXQiKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAnInBhdGgvd2l0aFxcbiBhbmQgXFwiIGluIGl0IicpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBHaXRGSUNvbW1pdC5wYXJzZV9wYXRoLCAxKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgR2l0RklDb21taXQucGFyc2VfcGF0aCwgMCkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIEdpdEZJQ29tbWl0LnBhcnNlX3BhdGgsIC0xKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgR2l0RklDb21taXQucGFyc2VfcGF0aCwgImZvby8vYmFyIikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIEdpdEZJQ29tbWl0LnBhcnNlX3BhdGgsICJmb28vYmFyLyIpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBHaXRGSUNvbW1pdC5wYXJzZV9wYXRoLCAiL2Zvby9iYXIiKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgR2l0RklDb21taXQucGFyc2VfcGF0aCwgImZvby8uL2JhciIpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBHaXRGSUNvbW1pdC5wYXJzZV9wYXRoLCAiZm9vLy4uL2JhciIpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBHaXRGSUNvbW1pdC5wYXJzZV9wYXRoLCAiZm9vL2Jhci8uIikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIEdpdEZJQ29tbWl0LnBhcnNlX3BhdGgsICJmb28vYmFyLy4uIikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIEdpdEZJQ29tbWl0LnBhcnNlX3BhdGgsICIuL2Zvby9iYXIiKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgR2l0RklDb21taXQucGFyc2VfcGF0aCwgIi4uL2Zvby9iYXIiKQotCi0KLWNsYXNzIEdpdEZhc3RJbXBvcnQob2JqZWN0KToKLQotICAgICIiIkVuY2Fwc3VsYXRlIGNvbW11bmljYXRpb24gd2l0aCBnaXQgZmFzdC1pbXBvcnQuIiIiCi0KLSAgICBkZWYgX19pbml0X18gKHNlbGYsIGYsIG9ial9mZXRjaGVyLCBsYXN0X21hcmsgPSAwKToKLSAgICAgICAgIiIiU2V0IHVwIHNlbGYgdG8gY29tbXVuaWNhdGUgd2l0aCBhIGZhc3QtaW1wb3J0IHByb2Nlc3MgdGhyb3VnaCBmLiIiIgotICAgICAgICBzZWxmLmYgPSBmICAjIEZpbGUgb2JqZWN0IHdoZXJlIGZhc3QtaW1wb3J0IHN0cmVhbSBpcyB3cml0dGVuCi0gICAgICAgIHNlbGYub2JqX2ZldGNoZXIgPSBvYmpfZmV0Y2hlciAgIyBHaXRPYmplY3RGZXRjaGVyIGluc3RhbmNlCi0gICAgICAgIHNlbGYubmV4dF9tYXJrID0gbGFzdF9tYXJrICsgMSAgIyBOZXh0IG1hcmsgbnVtYmVyCi0gICAgICAgIHNlbGYucmVmcyA9IHNldCgpICAjIEtlZXAgdHJhY2sgb2YgdGhlIHJlZm5hbWVzIHdlJ3ZlIHNlZW4KLQotICAgIGRlZiBjb21tZW50IChzZWxmLCBzKToKLSAgICAgICAgIiIiV3JpdGUgdGhlIGdpdmVuIGNvbW1lbnQgaW4gdGhlIGZhc3QtaW1wb3J0IHN0cmVhbS4iIiIKLSAgICAgICAgYXNzZXJ0ICJcbiIgbm90IGluIHMsICJNYWxmb3JtZWQgY29tbWVudDogJyVzJyIgJSAocykKLSAgICAgICAgc2VsZi5mLndyaXRlKCIjICVzXG4iICUgKHMpKQotCi0gICAgZGVmIGNvbW1pdCAoc2VsZiwgcmVmLCBjb21taXRkYXRhKToKLSAgICAgICAgIiIiTWFrZSBhIGNvbW1pdCBvbiB0aGUgZ2l2ZW4gcmVmLCB3aXRoIHRoZSBnaXZlbiBHaXRGSUNvbW1pdC4KLQotICAgICAgICBSZXR1cm4gdGhlIG1hcmsgbnVtYmVyIGlkZW50aWZ5aW5nIHRoaXMgY29tbWl0LgotCi0gICAgICAgICIiIgotICAgICAgICBzZWxmLmYud3JpdGUoIiIiXAotY29tbWl0ICUocmVmKXMKLW1hcmsgOiUobWFyaylpCi1jb21taXR0ZXIgJShuYW1lKXMgPCUoZW1haWwpcz4gJSh0aW1lc3RhbXApaSAlKHRpbWV6b25lKXMKLWRhdGEgJShtc2dMZW5ndGgpaQotJShtc2cpcwotIiIiICUgewotICAgICdyZWYnOiByZWYsCi0gICAgJ21hcmsnOiBzZWxmLm5leHRfbWFyaywKLSAgICAnbmFtZSc6IGNvbW1pdGRhdGEubmFtZSwKLSAgICAnZW1haWwnOiBjb21taXRkYXRhLmVtYWlsLAotICAgICd0aW1lc3RhbXAnOiBjb21taXRkYXRhLnRpbWVzdGFtcCwKLSAgICAndGltZXpvbmUnOiBjb21taXRkYXRhLnRpbWV6b25lLAotICAgICdtc2dMZW5ndGgnOiBsZW4oY29tbWl0ZGF0YS5tZXNzYWdlKSwKLSAgICAnbXNnJzogY29tbWl0ZGF0YS5tZXNzYWdlLAotfSkKLQotICAgICAgICBpZiByZWYgbm90IGluIHNlbGYucmVmczoKLSAgICAgICAgICAgIHNlbGYucmVmcy5hZGQocmVmKQotICAgICAgICAgICAgcGFyZW50ID0gcmVmICsgIl4wIgotICAgICAgICAgICAgaWYgc2VsZi5vYmpfZmV0Y2hlci5nZXRfc2hhMShwYXJlbnQpOgotICAgICAgICAgICAgICAgIHNlbGYuZi53cml0ZSgiZnJvbSAlc1xuIiAlIChwYXJlbnQpKQotCi0gICAgICAgIGZvciBvcCBpbiBjb21taXRkYXRhLnBhdGhvcHM6Ci0gICAgICAgICAgICBzZWxmLmYud3JpdGUoIiAiLmpvaW4ob3ApKQotICAgICAgICAgICAgc2VsZi5mLndyaXRlKCJcbiIpCi0gICAgICAgIHNlbGYuZi53cml0ZSgiXG4iKQotICAgICAgICByZXR2YWwgPSBzZWxmLm5leHRfbWFyawotICAgICAgICBzZWxmLm5leHRfbWFyayArPSAxCi0gICAgICAgIHJldHVybiByZXR2YWwKLQotICAgIGRlZiBibG9iIChzZWxmLCBkYXRhKToKLSAgICAgICAgIiIiSW1wb3J0IHRoZSBnaXZlbiBibG9iLgotCi0gICAgICAgIFJldHVybiB0aGUgbWFyayBudW1iZXIgaWRlbnRpZnlpbmcgdGhpcyBibG9iLgotCi0gICAgICAgICIiIgotICAgICAgICBzZWxmLmYud3JpdGUoImJsb2Jcbm1hcmsgOiVpXG5kYXRhICVpXG4lc1xuIiAlCi0gICAgICAgICAgICAgICAgICAgICAoc2VsZi5uZXh0X21hcmssIGxlbihkYXRhKSwgZGF0YSkpCi0gICAgICAgIHJldHZhbCA9IHNlbGYubmV4dF9tYXJrCi0gICAgICAgIHNlbGYubmV4dF9tYXJrICs9IDEKLSAgICAgICAgcmV0dXJuIHJldHZhbAotCi0gICAgZGVmIHJlc2V0IChzZWxmLCByZWYsIG9iam5hbWUpOgotICAgICAgICAiIiJSZXNldCB0aGUgZ2l2ZW4gcmVmIHRvIHBvaW50IGF0IHRoZSBnaXZlbiBHaXQgb2JqZWN0LiIiIgotICAgICAgICBzZWxmLmYud3JpdGUoInJlc2V0ICVzXG5mcm9tICVzXG5cbiIgJQotICAgICAgICAgICAgICAgICAgICAgKHJlZiwgR2l0RklDb21taXQucGFyc2Vfb2JqbmFtZShvYmpuYW1lKSkpCi0gICAgICAgIGlmIHJlZiBub3QgaW4gc2VsZi5yZWZzOgotICAgICAgICAgICAgc2VsZi5yZWZzLmFkZChyZWYpCi0KLQotY2xhc3MgR2l0Tm90ZXMob2JqZWN0KToKLQotICAgICIiIkVuY2Fwc3VsYXRlIGFjY2VzcyB0byBHaXQgbm90ZXMuCi0KLSAgICBTaW11bGF0ZXMgYSBkaWN0aW9uYXJ5IG9mIG9iamVjdCBuYW1lIChTSEExKSAtPiBHaXQgbm90ZSBtYXBwaW5ncy4KLQotICAgICIiIgotCi0gICAgZGVmIF9faW5pdF9fIChzZWxmLCBub3Rlc19yZWYsIG9ial9mZXRjaGVyKToKLSAgICAgICAgIiIiQ3JlYXRlIGEgbmV3IEdpdCBub3RlcyBpbnRlcmZhY2UsIGJvdW5kIHRvIHRoZSBnaXZlbiBub3RlcyByZWYuIiIiCi0gICAgICAgIHNlbGYubm90ZXNfcmVmID0gbm90ZXNfcmVmCi0gICAgICAgIHNlbGYub2JqX2ZldGNoZXIgPSBvYmpfZmV0Y2hlciAgIyBVc2VkIHRvIGdldCBvYmplY3RzIGZyb20gcmVwbwotICAgICAgICBzZWxmLmltcG9ydHMgPSBbXSAgIyBsaXN0OiAob2JqbmFtZSwgbm90ZSBkYXRhIGJsb2IgbmFtZSkgdHVwbGVzCi0KLSAgICBkZWYgX19kZWxfXyAoc2VsZik6Ci0gICAgICAgICIiIlZlcmlmeSB0aGF0IHNlbGYuY29tbWl0X25vdGVzKCkgd2FzIGNhbGxlZCBiZWZvcmUgZGVzdHJ1Y3Rpb24uIiIiCi0gICAgICAgIGlmIHNlbGYuaW1wb3J0czoKLSAgICAgICAgICAgIGVycm9yKCJNaXNzaW5nIGNhbGwgdG8gc2VsZi5jb21taXRfbm90ZXMoKS4iKQotICAgICAgICAgICAgZXJyb3IoIiVpIG5vdGVzIGFyZSBub3QgY29tbWl0dGVkISIsIGxlbihzZWxmLmltcG9ydHMpKQotCi0gICAgZGVmIF9sb2FkIChzZWxmLCBvYmpuYW1lKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBub3RlIGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBnaXQgb2JqZWN0LgotCi0gICAgICAgIFRoZSBub3RlIGRhdGEgaXMgcmV0dXJuZWQgaW4gc3RyaW5nIGZvcm0uIElmIG5vIG5vdGUgaXMgZm91bmQKLSAgICAgICAgZm9yIHRoZSBnaXZlbiBvYmplY3QsIE5vbmUgaXMgcmV0dXJuZWQuCi0KLSAgICAgICAgIiIiCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGYgPSBzZWxmLm9ial9mZXRjaGVyLm9wZW5fb2JqKCIlczolcyIgJSAoc2VsZi5ub3Rlc19yZWYsIG9iam5hbWUpKQotICAgICAgICAgICAgcmV0ID0gZi5yZWFkKCkKLSAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICBleGNlcHQgS2V5RXJyb3I6Ci0gICAgICAgICAgICByZXQgPSBOb25lCi0gICAgICAgIHJldHVybiByZXQKLQotICAgIGRlZiBfX2dldGl0ZW1fXyAoc2VsZiwgb2JqbmFtZSk6Ci0gICAgICAgICIiIlJldHVybiB0aGUgbm90ZSBjb250ZW50cyBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIG9iamVjdC4KLQotICAgICAgICBSYWlzZSBLZXlFcnJvciBpZiBnaXZlbiBvYmplY3QgaGFzIG5vIGFzc29jaWF0ZWQgbm90ZS4KLQotICAgICAgICAiIiIKLSAgICAgICAgYmxvYmRhdGEgPSBzZWxmLl9sb2FkKG9iam5hbWUpCi0gICAgICAgIGlmIGJsb2JkYXRhIGlzIE5vbmU6Ci0gICAgICAgICAgICByYWlzZSBLZXlFcnJvcigiT2JqZWN0ICclcycgaGFzIG5vIG5vdGUiICUgKG9iam5hbWUpKQotICAgICAgICByZXR1cm4gYmxvYmRhdGEKLQotICAgIGRlZiBnZXQgKHNlbGYsIG9iam5hbWUsIGRlZmF1bHQgPSBOb25lKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBub3RlIGNvbnRlbnRzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gb2JqZWN0LgotCi0gICAgICAgIFJldHVybiBnaXZlbiBkZWZhdWx0IGlmIGdpdmVuIG9iamVjdCBoYXMgbm8gYXNzb2NpYXRlZCBub3RlLgotCi0gICAgICAgICIiIgotICAgICAgICBibG9iZGF0YSA9IHNlbGYuX2xvYWQob2JqbmFtZSkKLSAgICAgICAgaWYgYmxvYmRhdGEgaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiBkZWZhdWx0Ci0gICAgICAgIHJldHVybiBibG9iZGF0YQotCi0gICAgZGVmIGltcG9ydF9ub3RlIChzZWxmLCBvYmpuYW1lLCBkYXRhLCBnZmkpOgotICAgICAgICAiIiJUZWxsIGdpdCBmYXN0LWltcG9ydCB0byBzdG9yZSBkYXRhIGFzIGEgbm90ZSBmb3Igb2JqbmFtZS4KLQotICAgICAgICBUaGlzIG1ldGhvZCB1c2VzIHRoZSBnaXZlbiBHaXRGYXN0SW1wb3J0IG9iamVjdCB0byBjcmVhdGUgYQotICAgICAgICBibG9iIGNvbnRhaW5pbmcgdGhlIGdpdmVuIG5vdGUgZGF0YS4gIEFsc28gYW4gZW50cnkgbWFwcGluZyB0aGUKLSAgICAgICAgZ2l2ZW4gb2JqZWN0IG5hbWUgdG8gdGhlIGNyZWF0ZWQgYmxvYiBpcyBzdG9yZWQgdW50aWwKLSAgICAgICAgY29tbWl0X25vdGVzKCkgaXMgY2FsbGVkLgotCi0gICAgICAgIE5vdGUgdGhhdCB0aGlzIG1ldGhvZCBvbmx5IHdvcmtzIGlmIGl0IGlzIGxhdGVyIGZvbGxvd2VkIGJ5IGEKLSAgICAgICAgY2FsbCB0byBzZWxmLmNvbW1pdF9ub3RlcygpICh3aGljaCBwcm9kdWNlcyB0aGUgbm90ZSBjb21taXQKLSAgICAgICAgdGhhdCByZWZlcnMgdG8gdGhlIGJsb2IgcHJvZHVjZWQgaGVyZSkuCi0KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIG5vdCBkYXRhLmVuZHN3aXRoKCJcbiIpOgotICAgICAgICAgICAgZGF0YSArPSAiXG4iCi0gICAgICAgIGdmaS5jb21tZW50KCJJbXBvcnRpbmcgbm90ZSBmb3Igb2JqZWN0ICVzIiAlIChvYmpuYW1lKSkKLSAgICAgICAgbWFyayA9IGdmaS5ibG9iKGRhdGEpCi0gICAgICAgIHNlbGYuaW1wb3J0cy5hcHBlbmQoKG9iam5hbWUsIG1hcmspKQotCi0gICAgZGVmIGNvbW1pdF9ub3RlcyAoc2VsZiwgZ2ZpLCBhdXRob3IsIG1lc3NhZ2UpOgotICAgICAgICAiIiJQcm9kdWNlIGEgZ2l0IGZhc3QtaW1wb3J0IG5vdGUgY29tbWl0IGZvciB0aGUgaW1wb3J0ZWQgbm90ZXMuCi0KLSAgICAgICAgVGhpcyBtZXRob2QgdXNlcyB0aGUgZ2l2ZW4gR2l0RmFzdEltcG9ydCBvYmplY3QgdG8gY3JlYXRlIGEKLSAgICAgICAgY29tbWl0IG9uIHRoZSBub3RlcyByZWYsIGludHJvZHVjaW5nIHRoZSBub3RlcyBwcmV2aW91c2x5Ci0gICAgICAgIHN1Ym1pdHRlZCB0byBpbXBvcnRfbm90ZSgpLgotCi0gICAgICAgICIiIgotICAgICAgICBpZiBub3Qgc2VsZi5pbXBvcnRzOgotICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIGNvbW1pdGRhdGEgPSBHaXRGSUNvbW1pdChhdXRob3JbMF0sIGF1dGhvclsxXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWUudGltZSgpLCAiMDAwMCIsIG1lc3NhZ2UpCi0gICAgICAgIGZvciBvYmpuYW1lLCBibG9ibmFtZSBpbiBzZWxmLmltcG9ydHM6Ci0gICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShvYmpuYW1lLCBpbnQpIGFuZCBvYmpuYW1lID4gMAotICAgICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UoYmxvYm5hbWUsIGludCkgYW5kIGJsb2JuYW1lID4gMAotICAgICAgICAgICAgY29tbWl0ZGF0YS5ub3RlKGJsb2JuYW1lLCBvYmpuYW1lKQotICAgICAgICBnZmkuY29tbWl0KHNlbGYubm90ZXNfcmVmLCBjb21taXRkYXRhKQotICAgICAgICBzZWxmLmltcG9ydHMgPSBbXQotCi0KLWNsYXNzIEdpdENhY2hlZE5vdGVzKEdpdE5vdGVzKToKLQotICAgICIiIkVuY2Fwc3VsYXRlIGFjY2VzcyB0byBHaXQgbm90ZXMgKGNhY2hlZCB2ZXJzaW9uKS4KLQotICAgIE9ubHkgdXNlIHRoaXMgY2xhc3MgaWYgbm8gY2FjaGluZyBpcyBkb25lIGF0IGEgaGlnaGVyIGxldmVsLgotCi0gICAgU2ltdWxhdGVzIGEgZGljdGlvbmFyeSBvZiBvYmplY3QgbmFtZSAoU0hBMSkgLT4gR2l0IG5vdGUgbWFwcGluZ3MuCi0KLSAgICAiIiIKLQotICAgIGRlZiBfX2luaXRfXyAoc2VsZiwgbm90ZXNfcmVmLCBvYmpfZmV0Y2hlcik6Ci0gICAgICAgICIiIlNldCB1cCBhIGNhY2hpbmcgd3JhcHBlciBhcm91bmQgR2l0Tm90ZXMuIiIiCi0gICAgICAgIEdpdE5vdGVzLl9faW5pdF9fKHNlbGYsIG5vdGVzX3JlZiwgb2JqX2ZldGNoZXIpCi0gICAgICAgIHNlbGYuX2NhY2hlID0ge30gICMgQ2FjaGU6IG9iamVjdCBuYW1lIC0+IG5vdGUgZGF0YQotCi0gICAgZGVmIF9fZGVsX18gKHNlbGYpOgotICAgICAgICAiIiJWZXJpZnkgdGhhdCBHaXROb3RlcycgZGVzdHJ1Y3RvciBpcyBjYWxsZWQuIiIiCi0gICAgICAgIEdpdE5vdGVzLl9fZGVsX18oc2VsZikKLQotICAgIGRlZiBfbG9hZCAoc2VsZiwgb2JqbmFtZSk6Ci0gICAgICAgICIiIkV4dGVuZCBHaXROb3Rlcy5fbG9hZCgpIHdpdGggYSBsb2NhbCBvYmpuYW1lIC0+IG5vdGUgY2FjaGUuIiIiCi0gICAgICAgIGlmIG9iam5hbWUgbm90IGluIHNlbGYuX2NhY2hlOgotICAgICAgICAgICAgc2VsZi5fY2FjaGVbb2JqbmFtZV0gPSBHaXROb3Rlcy5fbG9hZChzZWxmLCBvYmpuYW1lKQotICAgICAgICByZXR1cm4gc2VsZi5fY2FjaGVbb2JqbmFtZV0KLQotICAgIGRlZiBpbXBvcnRfbm90ZSAoc2VsZiwgb2JqbmFtZSwgZGF0YSwgZ2ZpKToKLSAgICAgICAgIiIiRXh0ZW5kIEdpdE5vdGVzLmltcG9ydF9ub3RlKCkgd2l0aCBhIGxvY2FsIG9iam5hbWUgLT4gbm90ZSBjYWNoZS4iIiIKLSAgICAgICAgaWYgbm90IGRhdGEuZW5kc3dpdGgoIlxuIik6Ci0gICAgICAgICAgICBkYXRhICs9ICJcbiIKLSAgICAgICAgYXNzZXJ0IG9iam5hbWUgbm90IGluIHNlbGYuX2NhY2hlCi0gICAgICAgIHNlbGYuX2NhY2hlW29iam5hbWVdID0gZGF0YQotICAgICAgICBHaXROb3Rlcy5pbXBvcnRfbm90ZShzZWxmLCBvYmpuYW1lLCBkYXRhLCBnZmkpCi0KLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL2dpdF9yZW1vdGVfaGVscGVycy9naXQvaW1wb3J0ZXIucHkgYi9naXRfcmVtb3RlX2hlbHBlcnMvZ2l0L2ltcG9ydGVyLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkM2Y5MGUxLi4wMDAwMDAwCi0tLSBhL2dpdF9yZW1vdGVfaGVscGVycy9naXQvaW1wb3J0ZXIucHkKKysrIC9kZXYvbnVsbApAQCAtMSw2OSArMCwwIEBACi1pbXBvcnQgb3MKLWltcG9ydCBzdWJwcm9jZXNzCi0KLWZyb20gZ2l0X3JlbW90ZV9oZWxwZXJzLnV0aWwgaW1wb3J0IGNoZWNrX2NhbGwsIGNoZWNrX291dHB1dAotCi0KLWNsYXNzIEdpdEltcG9ydGVyKG9iamVjdCk6Ci0gICAgIiIiQW4gaW1wb3J0ZXIgZm9yIHRlc3RnaXQgcmVwb3NpdG9yaWVzLgotCi0gICAgVGhpcyBpbXBvcnRlciBzaW1wbHkgZGVsZWdhdGVzIHRvIGdpdCBmYXN0LWltcG9ydC4KLSAgICAiIiIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCByZXBvKToKLSAgICAgICAgIiIiQ3JlYXRlcyBhIG5ldyBpbXBvcnRlciBmb3IgdGhlIHNwZWNpZmllZCByZXBvLgotICAgICAgICAiIiIKLQotICAgICAgICBzZWxmLnJlcG8gPSByZXBvCi0KLSAgICBkZWYgZ2V0X3JlZnMoc2VsZiwgZ2l0ZGlyKToKLSAgICAgICAgIiIiUmV0dXJucyBhIGRpY3Rpb25hcnkgd2l0aCByZWZzLgotCi0gICAgICAgIE5vdGUgdGhhdCB0aGUga2V5cyBpbiB0aGUgcmV0dXJuZWQgZGljdGlvbmFyeSBhcmUgYnl0ZSBzdHJpbmdzIGFzCi0gICAgICAgIHJlYWQgZnJvbSBnaXQuCi0gICAgICAgICIiIgotICAgICAgICBhcmdzID0gWyJnaXQiLCAiLS1naXQtZGlyPSIgKyBnaXRkaXIsICJmb3ItZWFjaC1yZWYiLCAicmVmcy9oZWFkcyJdCi0gICAgICAgIGxpbmVzID0gY2hlY2tfb3V0cHV0KGFyZ3MpLnN0cmlwKCkuc3BsaXQoJ1xuJy5lbmNvZGUoJ2FzY2lpJykpCi0gICAgICAgIHJlZnMgPSB7fQotICAgICAgICBmb3IgbGluZSBpbiBsaW5lczoKLSAgICAgICAgICAgIHZhbHVlLCBuYW1lID0gbGluZS5zcGxpdCgnICcuZW5jb2RlKCdhc2NpaScpKQotICAgICAgICAgICAgbmFtZSA9IG5hbWUuc3RyaXAoJ2NvbW1pdFx0Jy5lbmNvZGUoJ2FzY2lpJykpCi0gICAgICAgICAgICByZWZzW25hbWVdID0gdmFsdWUKLSAgICAgICAgcmV0dXJuIHJlZnMKLQotICAgIGRlZiBkb19pbXBvcnQoc2VsZiwgYmFzZSk6Ci0gICAgICAgICIiIkltcG9ydHMgYSBmYXN0LWltcG9ydCBzdHJlYW0gdG8gdGhlIGdpdmVuIGRpcmVjdG9yeS4KLQotICAgICAgICBTaW1wbHkgZGVsZWdhdGVzIHRvIGdpdCBmYXN0LWltcG9ydC4KLSAgICAgICAgIiIiCi0KLSAgICAgICAgZGlybmFtZSA9IHNlbGYucmVwby5nZXRfYmFzZV9wYXRoKGJhc2UpCi0gICAgICAgIGlmIHNlbGYucmVwby5sb2NhbDoKLSAgICAgICAgICAgIGdpdGRpciA9IHNlbGYucmVwby5naXRwYXRoCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBnaXRkaXIgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGRpcm5hbWUsICcuZ2l0JykpCi0gICAgICAgIHBhdGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGRpcm5hbWUsICd0ZXN0Z2l0Lm1hcmtzJykpCi0KLSAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGRpcm5hbWUpOgotICAgICAgICAgICAgb3MubWFrZWRpcnMoZGlybmFtZSkKLQotICAgICAgICByZWZzX2JlZm9yZSA9IHNlbGYuZ2V0X3JlZnMoZ2l0ZGlyKQotCi0gICAgICAgIGFyZ3MgPSBbImdpdCIsICItLWdpdC1kaXI9IiArIGdpdGRpciwgImZhc3QtaW1wb3J0IiwgIi0tcXVpZXQiLCAiLS1leHBvcnQtbWFya3M9IiArIHBhdGhdCi0KLSAgICAgICAgaWYgb3MucGF0aC5leGlzdHMocGF0aCk6Ci0gICAgICAgICAgICBhcmdzLmFwcGVuZCgiLS1pbXBvcnQtbWFya3M9IiArIHBhdGgpCi0KLSAgICAgICAgY2hlY2tfY2FsbChhcmdzKQotCi0gICAgICAgIHJlZnNfYWZ0ZXIgPSBzZWxmLmdldF9yZWZzKGdpdGRpcikKLQotICAgICAgICBjaGFuZ2VkID0ge30KLQotICAgICAgICBmb3IgbmFtZSwgdmFsdWUgaW4gcmVmc19hZnRlci5pdGVyaXRlbXMoKToKLSAgICAgICAgICAgIGlmIHJlZnNfYmVmb3JlLmdldChuYW1lKSA9PSB2YWx1ZToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICBjaGFuZ2VkW25hbWVdID0gdmFsdWUKLQotICAgICAgICByZXR1cm4gY2hhbmdlZApkaWZmIC0tZ2l0IGEvZ2l0X3JlbW90ZV9oZWxwZXJzL2dpdC9ub25fbG9jYWwucHkgYi9naXRfcmVtb3RlX2hlbHBlcnMvZ2l0L25vbl9sb2NhbC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTcwMDI1MC4uMDAwMDAwMAotLS0gYS9naXRfcmVtb3RlX2hlbHBlcnMvZ2l0L25vbl9sb2NhbC5weQorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLWltcG9ydCBvcwotaW1wb3J0IHN1YnByb2Nlc3MKLQotZnJvbSBnaXRfcmVtb3RlX2hlbHBlcnMudXRpbCBpbXBvcnQgY2hlY2tfY2FsbCwgZGllLCB3YXJuCi0KLQotY2xhc3MgTm9uTG9jYWxHaXQob2JqZWN0KToKLSAgICAiIiJIYW5kbGVyIHRvIGludGVyYWN0IHdpdGggbm9uLWxvY2FsIHJlcG9zLgotICAgICIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHJlcG8pOgotICAgICAgICAiIiJDcmVhdGVzIGEgbmV3IG5vbi1sb2NhbCBoYW5kbGVyIGZvciB0aGUgc3BlY2lmaWVkIHJlcG8uCi0gICAgICAgICIiIgotCi0gICAgICAgIHNlbGYucmVwbyA9IHJlcG8KLQotICAgIGRlZiBjbG9uZShzZWxmLCBiYXNlKToKLSAgICAgICAgIiIiQ2xvbmVzIHRoZSBub24tbG9jYWwgcmVwbyB0byBiYXNlLgotCi0gICAgICAgIERvZXMgbm90aGluZyBpZiBhIGNsb25lIGFscmVhZHkgZXhpc3RzLgotICAgICAgICAiIiIKLQotICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHNlbGYucmVwby5nZXRfYmFzZV9wYXRoKGJhc2UpLCAnLmdpdCcpCi0KLSAgICAgICAgIyBhbHJlYWR5IGNsb25lZAotICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhwYXRoKToKLSAgICAgICAgICAgIHJldHVybiBwYXRoCi0KLSAgICAgICAgb3MubWFrZWRpcnMocGF0aCkKLSAgICAgICAgYXJncyA9IFsiZ2l0IiwgImNsb25lIiwgIi0tYmFyZSIsICItLXF1aWV0Iiwgc2VsZi5yZXBvLmdpdHBhdGgsIHBhdGhdCi0KLSAgICAgICAgY2hlY2tfY2FsbChhcmdzKQotCi0gICAgICAgIHJldHVybiBwYXRoCi0KLSAgICBkZWYgdXBkYXRlKHNlbGYsIGJhc2UpOgotICAgICAgICAiIiJVcGRhdGVzIGNoZWNrb3V0IG9mIHRoZSBub24tbG9jYWwgcmVwbyBpbiBiYXNlLgotICAgICAgICAiIiIKLQotICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHNlbGYucmVwby5nZXRfYmFzZV9wYXRoKGJhc2UpLCAnLmdpdCcpCi0KLSAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHBhdGgpOgotICAgICAgICAgICAgZGllKCJjb3VsZCBub3QgZmluZCByZXBvIGF0ICVzIiwgcGF0aCkKLQotICAgICAgICBhcmdzID0gWyJnaXQiLCAiLS1naXQtZGlyPSIgKyBwYXRoLCAiZmV0Y2giLCAiLS1xdWlldCIsIHNlbGYucmVwby5naXRwYXRoXQotICAgICAgICBjaGVja19jYWxsKGFyZ3MpCi0KLSAgICAgICAgYXJncyA9IFsiZ2l0IiwgIi0tZ2l0LWRpcj0iICsgcGF0aCwgInVwZGF0ZS1yZWYiLCAicmVmcy9oZWFkcy9tYXN0ZXIiLCAiRkVUQ0hfSEVBRCJdCi0gICAgICAgIGNoaWxkID0gY2hlY2tfY2FsbChhcmdzKQotCi0gICAgZGVmIHB1c2goc2VsZiwgYmFzZSk6Ci0gICAgICAgICIiIlB1c2hlcyBmcm9tIHRoZSBub24tbG9jYWwgcmVwbyB0byBiYXNlLgotICAgICAgICAiIiIKLQotICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHNlbGYucmVwby5nZXRfYmFzZV9wYXRoKGJhc2UpLCAnLmdpdCcpCi0KLSAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHBhdGgpOgotICAgICAgICAgICAgZGllKCJjb3VsZCBub3QgZmluZCByZXBvIGF0ICVzIiwgcGF0aCkKLQotICAgICAgICBhcmdzID0gWyJnaXQiLCAiLS1naXQtZGlyPSIgKyBwYXRoLCAicHVzaCIsICItLXF1aWV0Iiwgc2VsZi5yZXBvLmdpdHBhdGgsICItLWFsbCJdCi0gICAgICAgIGNoaWxkID0gY2hlY2tfY2FsbChhcmdzKQpkaWZmIC0tZ2l0IGEvZ2l0X3JlbW90ZV9oZWxwZXJzL2dpdC9yZXBvLnB5IGIvZ2l0X3JlbW90ZV9oZWxwZXJzL2dpdC9yZXBvLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhY2JmOGQ3Li4wMDAwMDAwCi0tLSBhL2dpdF9yZW1vdGVfaGVscGVycy9naXQvcmVwby5weQorKysgL2Rldi9udWxsCkBAIC0xLDc2ICswLDAgQEAKLWltcG9ydCBvcwotaW1wb3J0IHN1YnByb2Nlc3MKLQotZnJvbSBnaXRfcmVtb3RlX2hlbHBlcnMudXRpbCBpbXBvcnQgY2hlY2tfY2FsbAotCi0KLWRlZiBzYW5pdGl6ZShyZXYsIHNlcD0nXHQnKToKLSAgICAiIiJDb252ZXJ0cyBhIGZvci1lYWNoLXJlZiBsaW5lIHRvIGEgbmFtZS92YWx1ZSBwYWlyLgotICAgICIiIgotCi0gICAgc3BsaXRyZXYgPSByZXYuc3BsaXQoc2VwKQotICAgIGJyYW5jaHZhbCA9IHNwbGl0cmV2WzBdCi0gICAgYnJhbmNobmFtZSA9IHNwbGl0cmV2WzFdLnN0cmlwKCkKLSAgICBpZiBicmFuY2huYW1lLnN0YXJ0c3dpdGgoInJlZnMvaGVhZHMvIik6Ci0gICAgICAgIGJyYW5jaG5hbWUgPSBicmFuY2huYW1lWzExOl0KLQotICAgIHJldHVybiBicmFuY2huYW1lLCBicmFuY2h2YWwKLQotZGVmIGlzX3JlbW90ZSh1cmwpOgotICAgICIiIkNoZWNrcyB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgdmFsdWUgaXMgYSByZW1vdGUgdXJsLgotICAgICIiIgotCi0gICAgcHJlZml4ZXMgPSBbImh0dHAiLCAiZmlsZSIsICJnaXQiXQotCi0gICAgZm9yIHByZWZpeCBpbiBwcmVmaXhlczoKLSAgICAgICAgaWYgdXJsLnN0YXJ0c3dpdGgocHJlZml4KToKLSAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgcmV0dXJuIEZhbHNlCi0KLWNsYXNzIEdpdFJlcG8ob2JqZWN0KToKLSAgICAiIiJSZXBvIG9iamVjdCByZXByZXNlbnRpbmcgYSByZXBvLgotICAgICIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGgpOgotICAgICAgICAiIiJJbml0aWFsaXplcyBhIG5ldyByZXBvIGF0IHRoZSBnaXZlbiBwYXRoLgotICAgICAgICAiIiIKLQotICAgICAgICBzZWxmLnBhdGggPSBwYXRoCi0gICAgICAgIHNlbGYuaGVhZCA9IE5vbmUKLSAgICAgICAgc2VsZi5yZXZtYXAgPSB7fQotICAgICAgICBzZWxmLmxvY2FsID0gbm90IGlzX3JlbW90ZShzZWxmLnBhdGgpCi0KLSAgICAgICAgaWYoc2VsZi5wYXRoLmVuZHN3aXRoKCcuZ2l0JykpOgotICAgICAgICAgICAgc2VsZi5naXRwYXRoID0gc2VsZi5wYXRoCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmdpdHBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5wYXRoLCAnLmdpdCcpCi0KLSAgICAgICAgaWYgc2VsZi5sb2NhbCBhbmQgbm90IG9zLnBhdGguZXhpc3RzKHNlbGYuZ2l0cGF0aCk6Ci0gICAgICAgICAgICBvcy5tYWtlZGlycyhzZWxmLmdpdHBhdGgpCi0KLSAgICBkZWYgZ2V0X3JldnMoc2VsZik6Ci0gICAgICAgICIiIkZldGNoZXMgYWxsIHJldnMgZnJvbSB0aGUgcmVtb3RlLgotICAgICAgICAiIiIKLQotICAgICAgICBhcmdzID0gWyJnaXQiLCAibHMtcmVtb3RlIiwgc2VsZi5naXRwYXRoXQotICAgICAgICBwYXRoID0gIi5jYWNoZWRfcmV2cyIKLSAgICAgICAgb2ZpbGUgPSBvcGVuKHBhdGgsICJ3IikKLQotICAgICAgICBjaGVja19jYWxsKGFyZ3MsIHN0ZG91dD1vZmlsZSkKLSAgICAgICAgb3V0cHV0ID0gb3BlbihwYXRoKS5yZWFkbGluZXMoKQotICAgICAgICBzZWxmLnJldm1hcCA9IGRpY3Qoc2FuaXRpemUoaSkgZm9yIGkgaW4gb3V0cHV0KQotICAgICAgICBpZiAiSEVBRCIgaW4gc2VsZi5yZXZtYXA6Ci0gICAgICAgICAgICBkZWwgc2VsZi5yZXZtYXBbIkhFQUQiXQotICAgICAgICBzZWxmLnJldnMgPSBzZWxmLnJldm1hcC5rZXlzKCkKLSAgICAgICAgb2ZpbGUuY2xvc2UoKQotCi0gICAgZGVmIGdldF9oZWFkKHNlbGYpOgotICAgICAgICAiIiJEZXRlcm1pbmVzIHRoZSBoZWFkIG9mIGEgbG9jYWwgcmVwby4KLSAgICAgICAgIiIiCi0KLSAgICAgICAgaWYgbm90IHNlbGYubG9jYWw6Ci0gICAgICAgICAgICByZXR1cm4KLQotICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHNlbGYuZ2l0cGF0aCwgIkhFQUQiKQotICAgICAgICBoZWFkID0gb3BlbihwYXRoKS5yZWFkbGluZSgpCi0gICAgICAgIHNlbGYuaGVhZCwgXyA9IHNhbml0aXplKGhlYWQsICcgJykKZGlmZiAtLWdpdCBhL2dpdF9yZW1vdGVfaGVscGVycy9zZXR1cC5jZmcgYi9naXRfcmVtb3RlX2hlbHBlcnMvc2V0dXAuY2ZnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YmZmODg3Li4wMDAwMDAwCi0tLSBhL2dpdF9yZW1vdGVfaGVscGVycy9zZXR1cC5jZmcKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLVtidWlsZF0KLWJ1aWxkX3B1cmVsaWIgPSBidWlsZC9saWIKLWJ1aWxkX3BsYXRsaWIgPSBidWlsZC9saWIKZGlmZiAtLWdpdCBhL2dpdF9yZW1vdGVfaGVscGVycy9zZXR1cC5weSBiL2dpdF9yZW1vdGVfaGVscGVycy9zZXR1cC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmRlNDFkZS4uMDAwMDAwMAotLS0gYS9naXRfcmVtb3RlX2hlbHBlcnMvc2V0dXAucHkKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24KLQotIiIiRGlzdHV0aWxzIGJ1aWxkL2luc3RhbGwgc2NyaXB0IGZvciB0aGUgZ2l0X3JlbW90ZV9oZWxwZXJzIHBhY2thZ2UuIiIiCi0KLWZyb20gZGlzdHV0aWxzLmNvcmUgaW1wb3J0IHNldHVwCi0KLSMgSWYgYnVpbGRpbmcgdW5kZXIgUHl0aG9uMyB3ZSBuZWVkIHRvIHJ1biAydG8zIG9uIHRoZSBjb2RlLCBkbyB0aGlzIGJ5Ci0jIHRyeWluZyB0byBpbXBvcnQgZGlzdHV0aWxzJyAydG8zIGJ1aWxkZXIsIHdoaWNoIGlzIG9ubHkgYXZhaWxhYmxlIGluCi0jIFB5dGhvbjMuCi10cnk6Ci0gICAgZnJvbSBkaXN0dXRpbHMuY29tbWFuZC5idWlsZF9weSBpbXBvcnQgYnVpbGRfcHlfMnRvMyBhcyBidWlsZF9weQotZXhjZXB0IEltcG9ydEVycm9yOgotICAgICMgMi54Ci0gICAgZnJvbSBkaXN0dXRpbHMuY29tbWFuZC5idWlsZF9weSBpbXBvcnQgYnVpbGRfcHkKLQotc2V0dXAoCi0gICAgbmFtZSA9ICdnaXRfcmVtb3RlX2hlbHBlcnMnLAotICAgIHZlcnNpb24gPSAnMC4xLjAnLAotICAgIGRlc2NyaXB0aW9uID0gJ0dpdCByZW1vdGUgaGVscGVyIHByb2dyYW0gZm9yIG5vbi1naXQgcmVwb3NpdG9yaWVzJywKLSAgICBsaWNlbnNlID0gJ0dQTHYyJywKLSAgICBhdXRob3IgPSAnVGhlIEdpdCBDb21tdW5pdHknLAotICAgIGF1dGhvcl9lbWFpbCA9ICdnaXRAdmdlci5rZXJuZWwub3JnJywKLSAgICB1cmwgPSAnaHR0cDovL3d3dy5naXQtc2NtLmNvbS8nLAotICAgIHBhY2thZ2VfZGlyID0geydnaXRfcmVtb3RlX2hlbHBlcnMnOiAnJ30sCi0gICAgcGFja2FnZXMgPSBbJ2dpdF9yZW1vdGVfaGVscGVycycsICdnaXRfcmVtb3RlX2hlbHBlcnMuZ2l0J10sCi0gICAgY21kY2xhc3MgPSB7J2J1aWxkX3B5JzogYnVpbGRfcHl9LAotKQpkaWZmIC0tZ2l0IGEvZ2l0X3JlbW90ZV9oZWxwZXJzL3V0aWwucHkgYi9naXRfcmVtb3RlX2hlbHBlcnMvdXRpbC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmJiYjAxYi4uMDAwMDAwMAotLS0gYS9naXRfcmVtb3RlX2hlbHBlcnMvdXRpbC5weQorKysgL2Rldi9udWxsCkBAIC0xLDI3NSArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24KLQotIiIiTWlzYy4gdXNlZnVsIGZ1bmN0aW9uYWxpdHkgdXNlZCBieSB0aGUgcmVzdCBvZiB0aGlzIHBhY2thZ2UuCi0KLVRoaXMgbW9kdWxlIHByb3ZpZGVzIGNvbW1vbiBmdW5jdGlvbmFsaXR5IHVzZWQgYnkgdGhlIG90aGVyIG1vZHVsZXMgaW4KLXRoaXMgcGFja2FnZS4KLQotIiIiCi0KLWltcG9ydCBzeXMKLWltcG9ydCBvcwotaW1wb3J0IHN1YnByb2Nlc3MKLQotdHJ5OgotICAgIGZyb20gc3VicHJvY2VzcyBpbXBvcnQgQ2FsbGVkUHJvY2Vzc0Vycm9yCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgIyBmcm9tIHB5dGhvbjIuNzpzdWJwcm9jZXNzLnB5Ci0gICAgIyBFeGNlcHRpb24gY2xhc3NlcyB1c2VkIGJ5IHRoaXMgbW9kdWxlLgotICAgIGNsYXNzIENhbGxlZFByb2Nlc3NFcnJvcihFeGNlcHRpb24pOgotICAgICAgICAiIiJUaGlzIGV4Y2VwdGlvbiBpcyByYWlzZWQgd2hlbiBhIHByb2Nlc3MgcnVuIGJ5IGNoZWNrX2NhbGwoKSByZXR1cm5zCi0gICAgICAgIGEgbm9uLXplcm8gZXhpdCBzdGF0dXMuICBUaGUgZXhpdCBzdGF0dXMgd2lsbCBiZSBzdG9yZWQgaW4gdGhlCi0gICAgICAgIHJldHVybmNvZGUgYXR0cmlidXRlLiIiIgotICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgcmV0dXJuY29kZSwgY21kKToKLSAgICAgICAgICAgIHNlbGYucmV0dXJuY29kZSA9IHJldHVybmNvZGUKLSAgICAgICAgICAgIHNlbGYuY21kID0gY21kCi0gICAgICAgIGRlZiBfX3N0cl9fKHNlbGYpOgotICAgICAgICAgICAgcmV0dXJuICJDb21tYW5kICclcycgcmV0dXJuZWQgbm9uLXplcm8gZXhpdCBzdGF0dXMgJWQiICUgKHNlbGYuY21kLCBzZWxmLnJldHVybmNvZGUpCi0KLQotIyBXaGV0aGVyIG9yIG5vdCB0byBzaG93IGRlYnVnIG1lc3NhZ2VzCi1ERUJVRyA9IEZhbHNlCi0KLWRlZiBub3RpZnkobXNnLCAqYXJncyk6Ci0gICAgIiIiUHJpbnQgYSBtZXNzYWdlIHRvIHN0ZGVyci4iIiIKLSAgICBwcmludCA+PiBzeXMuc3RkZXJyLCBtc2cgJSBhcmdzCi0KLWRlZiBkZWJ1ZyAobXNnLCAqYXJncyk6Ci0gICAgIiIiUHJpbnQgYSBkZWJ1ZyBtZXNzYWdlIHRvIHN0ZGVyciB3aGVuIERFQlVHIGlzIGVuYWJsZWQuIiIiCi0gICAgaWYgREVCVUc6Ci0gICAgICAgIHByaW50ID4+IHN5cy5zdGRlcnIsIG1zZyAlIGFyZ3MKLQotZGVmIGVycm9yIChtc2csICphcmdzKToKLSAgICAiIiJQcmludCBhbiBlcnJvciBtZXNzYWdlIHRvIHN0ZGVyci4iIiIKLSAgICBwcmludCA+PiBzeXMuc3RkZXJyLCAiRVJST1I6IiwgbXNnICUgYXJncwotCi1kZWYgd2Fybihtc2csICphcmdzKToKLSAgICAiIiJQcmludCBhIHdhcm5pbmcgbWVzc2FnZSB0byBzdGRlcnIuIiIiCi0gICAgcHJpbnQgPj4gc3lzLnN0ZGVyciwgIndhcm5pbmc6IiwgbXNnICUgYXJncwotCi1kZWYgZGllIChtc2csICphcmdzKToKLSAgICAiIiJQcmludCBhcyBlcnJvciBtZXNzYWdlIHRvIHN0ZGVyciBhbmQgZXhpdCB0aGUgcHJvZ3JhbS4iIiIKLSAgICBlcnJvcihtc2csICphcmdzKQotICAgIHN5cy5leGl0KDEpCi0KLQotY2xhc3MgUHJvZ3Jlc3NJbmRpY2F0b3Iob2JqZWN0KToKLQotICAgICIiIlNpbXBsZSBwcm9ncmVzcyBpbmRpY2F0b3IuCi0KLSAgICBEaXNwbGF5ZWQgYXMgYSBzcGlubmluZyBjaGFyYWN0ZXIgYnkgZGVmYXVsdCwgYnV0IGNhbiBiZSBjdXN0b21pemVkCi0gICAgYnkgcGFzc2luZyBjdXN0b20gbWVzc2FnZXMgdGhhdCBvdmVycmlkZXMgdGhlIHNwaW5uaW5nIGNoYXJhY3Rlci4KLQotICAgICIiIgotCi0gICAgU3RhdGVzID0gKCJ8IiwgIi8iLCAiLSIsICJcXCIpCi0KLSAgICBkZWYgX19pbml0X18gKHNlbGYsIHByZWZpeCA9ICIiLCBmID0gc3lzLnN0ZG91dCk6Ci0gICAgICAgICIiIkNyZWF0ZSBhIG5ldyBQcm9ncmVzc0luZGljYXRvciwgYm91bmQgdG8gdGhlIGdpdmVuIGZpbGUgb2JqZWN0LiIiIgotICAgICAgICBzZWxmLm4gPSAwICAjIFNpbXBsZSBwcm9ncmVzcyBjb3VudGVyCi0gICAgICAgIHNlbGYuZiA9IGYgICMgUHJvZ3Jlc3MgaXMgd3JpdHRlbiB0byB0aGlzIGZpbGUgb2JqZWN0Ci0gICAgICAgIHNlbGYucHJldl9sZW4gPSAwICAjIExlbmd0aCBvZiBwcmV2aW91cyBtc2cgKHRvIGJlIG92ZXJ3cml0dGVuKQotICAgICAgICBzZWxmLnByZWZpeCA9IHByZWZpeCAgIyBQcmVmaXggcHJlcGVuZGVkIHRvIGVhY2ggcHJvZ3Jlc3MgbWVzc2FnZQotICAgICAgICBzZWxmLnByZWZpeF9sZW5zID0gW10gIyBTdGFjayBvZiBwcmVmaXggc3RyaW5nIGxlbmd0aHMKLQotICAgIGRlZiBwdXNocHJlZml4IChzZWxmLCBwcmVmaXgpOgotICAgICAgICAiIiJBcHBlbmQgdGhlIGdpdmVuIHByZWZpeCBvbnRvIHRoZSBwcmVmaXggc3RhY2suIiIiCi0gICAgICAgIHNlbGYucHJlZml4X2xlbnMuYXBwZW5kKGxlbihzZWxmLnByZWZpeCkpCi0gICAgICAgIHNlbGYucHJlZml4ICs9IHByZWZpeAotCi0gICAgZGVmIHBvcHByZWZpeCAoc2VsZik6Ci0gICAgICAgICIiIlJlbW92ZSB0aGUgbGFzdCBwcmVmaXggZnJvbSB0aGUgcHJlZml4IHN0YWNrLiIiIgotICAgICAgICBwcmV2X2xlbiA9IHNlbGYucHJlZml4X2xlbnMucG9wKCkKLSAgICAgICAgc2VsZi5wcmVmaXggPSBzZWxmLnByZWZpeFs6cHJldl9sZW5dCi0KLSAgICBkZWYgX19jYWxsX18gKHNlbGYsIG1zZyA9IE5vbmUsIGxmID0gRmFsc2UpOgotICAgICAgICAiIiJJbmRpY2F0ZSBwcm9ncmVzcywgcG9zc2libHkgd2l0aCBhIGN1c3RvbSBtZXNzYWdlLiIiIgotICAgICAgICBpZiBtc2cgaXMgTm9uZToKLSAgICAgICAgICAgIG1zZyA9IHNlbGYuU3RhdGVzW3NlbGYubiAlIGxlbihzZWxmLlN0YXRlcyldCi0gICAgICAgIG1zZyA9IHNlbGYucHJlZml4ICsgbXNnCi0gICAgICAgIHByaW50ID4+IHNlbGYuZiwgIlxyJS0qcyIgJSAoc2VsZi5wcmV2X2xlbiwgbXNnKSwKLSAgICAgICAgc2VsZi5wcmV2X2xlbiA9IGxlbihtc2cuZXhwYW5kdGFicygpKQotICAgICAgICBpZiBsZjoKLSAgICAgICAgICAgIHByaW50ID4+IHNlbGYuZgotICAgICAgICAgICAgc2VsZi5wcmV2X2xlbiA9IDAKLSAgICAgICAgc2VsZi5uICs9IDEKLQotICAgIGRlZiBmaW5pc2ggKHNlbGYsIG1zZyA9ICJkb25lIiwgbm9wcmVmaXggPSBGYWxzZSk6Ci0gICAgICAgICIiIkZpbmFsaXplIHByb2dyZXNzIGluZGljYXRpb24gd2l0aCB0aGUgZ2l2ZW4gbWVzc2FnZS4iIiIKLSAgICAgICAgaWYgbm9wcmVmaXg6Ci0gICAgICAgICAgICBzZWxmLnByZWZpeCA9ICIiCi0gICAgICAgIHNlbGYobXNnLCBUcnVlKQotCi0KLWRlZiBzdGFydF9jb21tYW5kIChhcmdzLCBjd2QgPSBOb25lLCBzaGVsbCA9IEZhbHNlLCBhZGRfZW52ID0gTm9uZSwKLSAgICAgICAgICAgICAgICAgICBzdGRpbiA9IHN1YnByb2Nlc3MuUElQRSwgc3Rkb3V0ID0gc3VicHJvY2Vzcy5QSVBFLAotICAgICAgICAgICAgICAgICAgIHN0ZGVyciA9IHN1YnByb2Nlc3MuUElQRSk6Ci0gICAgIiIiU3RhcnQgdGhlIGdpdmVuIGNvbW1hbmQsIGFuZCByZXR1cm4gYSBzdWJwcm9jZXNzIG9iamVjdC4KLQotICAgIFRoaXMgcHJvdmlkZXMgYSBzaW1wbGVyIGludGVyZmFjZSB0byB0aGUgc3VicHJvY2VzcyBtb2R1bGUuCi0KLSAgICAiIiIKLSAgICBlbnYgPSBOb25lCi0gICAgaWYgYWRkX2VudiBpcyBub3QgTm9uZToKLSAgICAgICAgZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKLSAgICAgICAgZW52LnVwZGF0ZShhZGRfZW52KQotICAgIHJldHVybiBzdWJwcm9jZXNzLlBvcGVuKGFyZ3MsIGJ1ZnNpemUgPSAxLCBzdGRpbiA9IHN0ZGluLCBzdGRvdXQgPSBzdGRvdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyID0gc3RkZXJyLCBjd2QgPSBjd2QsIHNoZWxsID0gc2hlbGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52ID0gZW52LCB1bml2ZXJzYWxfbmV3bGluZXMgPSBUcnVlKQotCi0KLWRlZiBydW5fY29tbWFuZCAoYXJncywgY3dkID0gTm9uZSwgc2hlbGwgPSBGYWxzZSwgYWRkX2VudiA9IE5vbmUsCi0gICAgICAgICAgICAgICAgIGZsYWdfZXJyb3IgPSBUcnVlKToKLSAgICAiIiJSdW4gdGhlIGdpdmVuIGNvbW1hbmQgdG8gY29tcGxldGlvbiwgYW5kIHJldHVybiBpdHMgcmVzdWx0cy4KLQotICAgIFRoaXMgcHJvdmlkZXMgYSBzaW1wbGVyIGludGVyZmFjZSB0byB0aGUgc3VicHJvY2VzcyBtb2R1bGUuCi0KLSAgICBUaGUgcmVzdWx0cyBhcmUgZm9ybWF0dGVkIGFzIGEgMy10dXBsZTogKGV4aXRfY29kZSwgb3V0cHV0LCBlcnJvcnMpCi0KLSAgICBJZiBmbGFnX2Vycm9yIGlzIGVuYWJsZWQsIEVycm9yIG1lc3NhZ2VzIHdpbGwgYmUgcHJvZHVjZWQgaWYgdGhlCi0gICAgc3VicHJvY2VzcyB0ZXJtaW5hdGVkIHdpdGggYSBub24temVybyBleGl0IGNvZGUgYW5kL29yIHN0ZGVycgotICAgIG91dHB1dC4KLQotICAgIFRoZSBvdGhlciBhcmd1bWVudHMgYXJlIHBhc3NlZCBvbiB0byBzdGFydF9jb21tYW5kKCkuCi0KLSAgICAiIiIKLSAgICBwcm9jZXNzID0gc3RhcnRfY29tbWFuZChhcmdzLCBjd2QsIHNoZWxsLCBhZGRfZW52KQotICAgIChvdXRwdXQsIGVycm9ycykgPSBwcm9jZXNzLmNvbW11bmljYXRlKCkKLSAgICBleGl0X2NvZGUgPSBwcm9jZXNzLnJldHVybmNvZGUKLSAgICBpZiBmbGFnX2Vycm9yIGFuZCBlcnJvcnM6Ci0gICAgICAgIGVycm9yKCInJXMnIHJldHVybmVkIGVycm9yczpcbi0tLVxuJXMtLS0iLCAiICIuam9pbihhcmdzKSwgZXJyb3JzKQotICAgIGlmIGZsYWdfZXJyb3IgYW5kIGV4aXRfY29kZToKLSAgICAgICAgZXJyb3IoIiclcycgcmV0dXJuZWQgZXhpdCBjb2RlICVpIiwgIiAiLmpvaW4oYXJncyksIGV4aXRfY29kZSkKLSAgICByZXR1cm4gKGV4aXRfY29kZSwgb3V0cHV0LCBlcnJvcnMpCi0KLQotIyBmcm9tIHB5dGhvbjIuNzpzdWJwcm9jZXNzLnB5Ci1kZWYgY2FsbCgqcG9wZW5hcmdzLCAqKmt3YXJncyk6Ci0gICAgIiIiUnVuIGNvbW1hbmQgd2l0aCBhcmd1bWVudHMuICBXYWl0IGZvciBjb21tYW5kIHRvIGNvbXBsZXRlLCB0aGVuCi0gICAgcmV0dXJuIHRoZSByZXR1cm5jb2RlIGF0dHJpYnV0ZS4KLQotICAgIFRoZSBhcmd1bWVudHMgYXJlIHRoZSBzYW1lIGFzIGZvciB0aGUgUG9wZW4gY29uc3RydWN0b3IuICBFeGFtcGxlOgotCi0gICAgcmV0Y29kZSA9IGNhbGwoWyJscyIsICItbCJdKQotICAgICIiIgotICAgIHJldHVybiBzdWJwcm9jZXNzLlBvcGVuKCpwb3BlbmFyZ3MsICoqa3dhcmdzKS53YWl0KCkKLQotCi0jIGZyb20gcHl0aG9uMi43OnN1YnByb2Nlc3MucHkKLWRlZiBjaGVja19jYWxsKCpwb3BlbmFyZ3MsICoqa3dhcmdzKToKLSAgICAiIiJSdW4gY29tbWFuZCB3aXRoIGFyZ3VtZW50cy4gIFdhaXQgZm9yIGNvbW1hbmQgdG8gY29tcGxldGUuICBJZgotICAgIHRoZSBleGl0IGNvZGUgd2FzIHplcm8gdGhlbiByZXR1cm4sIG90aGVyd2lzZSByYWlzZQotICAgIENhbGxlZFByb2Nlc3NFcnJvci4gIFRoZSBDYWxsZWRQcm9jZXNzRXJyb3Igb2JqZWN0IHdpbGwgaGF2ZSB0aGUKLSAgICByZXR1cm4gY29kZSBpbiB0aGUgcmV0dXJuY29kZSBhdHRyaWJ1dGUuCi0KLSAgICBUaGUgYXJndW1lbnRzIGFyZSB0aGUgc2FtZSBhcyBmb3IgdGhlIFBvcGVuIGNvbnN0cnVjdG9yLiAgRXhhbXBsZToKLQotICAgIGNoZWNrX2NhbGwoWyJscyIsICItbCJdKQotICAgICIiIgotICAgIHJldGNvZGUgPSBjYWxsKCpwb3BlbmFyZ3MsICoqa3dhcmdzKQotICAgIGlmIHJldGNvZGU6Ci0gICAgICAgIGNtZCA9IGt3YXJncy5nZXQoImFyZ3MiKQotICAgICAgICBpZiBjbWQgaXMgTm9uZToKLSAgICAgICAgICAgIGNtZCA9IHBvcGVuYXJnc1swXQotICAgICAgICByYWlzZSBDYWxsZWRQcm9jZXNzRXJyb3IocmV0Y29kZSwgY21kKQotICAgIHJldHVybiAwCi0KLQotIyBmcm9tIHB5dGhvbjIuNzpzdWJwcm9jZXNzLnB5Ci1kZWYgY2hlY2tfb3V0cHV0KCpwb3BlbmFyZ3MsICoqa3dhcmdzKToKLSAgICByIiIiUnVuIGNvbW1hbmQgd2l0aCBhcmd1bWVudHMgYW5kIHJldHVybiBpdHMgb3V0cHV0IGFzIGEgYnl0ZSBzdHJpbmcuCi0KLSAgICBJZiB0aGUgZXhpdCBjb2RlIHdhcyBub24temVybyBpdCByYWlzZXMgYSBDYWxsZWRQcm9jZXNzRXJyb3IuICBUaGUKLSAgICBDYWxsZWRQcm9jZXNzRXJyb3Igb2JqZWN0IHdpbGwgaGF2ZSB0aGUgcmV0dXJuIGNvZGUgaW4gdGhlIHJldHVybmNvZGUKLSAgICBhdHRyaWJ1dGUgYW5kIG91dHB1dCBpbiB0aGUgb3V0cHV0IGF0dHJpYnV0ZS4KLQotICAgIFRoZSBhcmd1bWVudHMgYXJlIHRoZSBzYW1lIGFzIGZvciB0aGUgUG9wZW4gY29uc3RydWN0b3IuICBFeGFtcGxlOgotCi0gICAgPj4+IGNoZWNrX291dHB1dChbImxzIiwgIi1sIiwgIi9kZXYvbnVsbCJdKQotICAgICdjcnctcnctcnctIDEgcm9vdCByb290IDEsIDMgT2N0IDE4ICAyMDA3IC9kZXYvbnVsbFxuJwotCi0gICAgVGhlIHN0ZG91dCBhcmd1bWVudCBpcyBub3QgYWxsb3dlZCBhcyBpdCBpcyB1c2VkIGludGVybmFsbHkuCi0gICAgVG8gY2FwdHVyZSBzdGFuZGFyZCBlcnJvciBpbiB0aGUgcmVzdWx0LCB1c2Ugc3RkZXJyPVNURE9VVC4KLQotICAgID4+PiBjaGVja19vdXRwdXQoWyIvYmluL3NoIiwgIi1jIiwKLSAgICAuLi4gICAgICAgICAgICAgICAibHMgLWwgbm9uX2V4aXN0ZW50X2ZpbGUgOyBleGl0IDAiXSwKLSAgICAuLi4gICAgICAgICAgICAgIHN0ZGVycj1TVERPVVQpCi0gICAgJ2xzOiBub25fZXhpc3RlbnRfZmlsZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuJwotICAgICIiIgotICAgIGlmICdzdGRvdXQnIGluIGt3YXJnczoKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignc3Rkb3V0IGFyZ3VtZW50IG5vdCBhbGxvd2VkLCBpdCB3aWxsIGJlIG92ZXJyaWRkZW4uJykKLSAgICBwcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCAqcG9wZW5hcmdzLCAqKmt3YXJncykKLSAgICBvdXRwdXQsIHVudXNlZF9lcnIgPSBwcm9jZXNzLmNvbW11bmljYXRlKCkKLSAgICByZXRjb2RlID0gcHJvY2Vzcy5wb2xsKCkKLSAgICBpZiByZXRjb2RlOgotICAgICAgICBjbWQgPSBrd2FyZ3MuZ2V0KCJhcmdzIikKLSAgICAgICAgaWYgY21kIGlzIE5vbmU6Ci0gICAgICAgICAgICBjbWQgPSBwb3BlbmFyZ3NbMF0KLSAgICAgICAgcmFpc2Ugc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IocmV0Y29kZSwgY21kKQotICAgIHJldHVybiBvdXRwdXQKLQotCi1kZWYgZmlsZV9yZWFkZXJfbWV0aG9kIChtaXNzaW5nX29rID0gRmFsc2UpOgotICAgICIiIkRlY29yYXRvciBmb3Igc2ltcGxpZnlpbmcgcmVhZGluZyBvZiBmaWxlcy4KLQotICAgIElmIG1pc3Npbmdfb2sgaXMgVHJ1ZSwgYSBmYWlsdXJlIHRvIG9wZW4gYSBmaWxlIGZvciByZWFkaW5nIHdpbGwKLSAgICBub3QgcmFpc2UgdGhlIHVzdWFsIElPRXJyb3IsIGJ1dCBpbnN0ZWFkIHRoZSB3cmFwcGVkIG1ldGhvZCB3aWxsIGJlCi0gICAgY2FsbGVkIHdpdGggZiA9PSBOb25lLiAgVGhlIG1ldGhvZCBtdXN0IGluIHRoaXMgY2FzZSBwcm9wZXJseQotICAgIGhhbmRsZSBmID09IE5vbmUuCi0KLSAgICAiIiIKLSAgICBkZWYgX3dyYXAgKG1ldGhvZCk6Ci0gICAgICAgICIiIlRlYWNoIGdpdmVuIG1ldGhvZCB0byBoYW5kbGUgYm90aCBmaWxlbmFtZXMgYW5kIGZpbGUgb2JqZWN0cy4KLQotICAgICAgICBUaGUgZ2l2ZW4gbWV0aG9kIG11c3QgdGFrZSBhIGZpbGUgb2JqZWN0IGFzIGl0cyBzZWNvbmQgYXJndW1lbnQKLSAgICAgICAgKHRoZSBmaXJzdCBhcmd1bWVudCBiZWluZyAnc2VsZicsIG9mIGNvdXJzZSkuICBUaGlzIGRlY29yYXRvcgotICAgICAgICB3aWxsIHRha2UgYSBmaWxlbmFtZSBnaXZlbiBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IGFuZCBwcm9tb3RlCi0gICAgICAgIGl0IHRvIGEgZmlsZSBvYmplY3QuCi0KLSAgICAgICAgIiIiCi0gICAgICAgIGRlZiBfd3JhcHBlZF9tZXRob2QgKHNlbGYsIGZpbGVuYW1lLCAqYXJncywgKiprd2FyZ3MpOgotICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShmaWxlbmFtZSwgZmlsZSk6Ci0gICAgICAgICAgICAgICAgZiA9IGZpbGVuYW1lCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgZiA9IG9wZW4oZmlsZW5hbWUsICdyJykKLSAgICAgICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgaWYgbWlzc2luZ19vazoKLSAgICAgICAgICAgICAgICAgICAgICAgIGYgPSBOb25lCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHJldHVybiBtZXRob2Qoc2VsZiwgZiwgKmFyZ3MsICoqa3dhcmdzKQotICAgICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShmaWxlbmFtZSwgZmlsZSkgYW5kIGY6Ci0gICAgICAgICAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICByZXR1cm4gX3dyYXBwZWRfbWV0aG9kCi0gICAgcmV0dXJuIF93cmFwCi0KLQotZGVmIGZpbGVfd3JpdGVyX21ldGhvZCAobWV0aG9kKToKLSAgICAiIiJEZWNvcmF0b3IgZm9yIHNpbXBsaWZ5aW5nIHdyaXRpbmcgb2YgZmlsZXMuCi0KLSAgICBFbmFibGVzIHRoZSBnaXZlbiBtZXRob2QgdG8gaGFuZGxlIGJvdGggZmlsZW5hbWVzIGFuZCBmaWxlIG9iamVjdHMuCi0KLSAgICBUaGUgZ2l2ZW4gbWV0aG9kIG11c3QgdGFrZSBhIGZpbGUgb2JqZWN0IGFzIGl0cyBzZWNvbmQgYXJndW1lbnQKLSAgICAodGhlIGZpcnN0IGFyZ3VtZW50IGJlaW5nICdzZWxmJywgb2YgY291cnNlKS4gIFRoaXMgZGVjb3JhdG9yIHdpbGwKLSAgICB0YWtlIGEgZmlsZW5hbWUgZ2l2ZW4gYXMgdGhlIHNlY29uZCBhcmd1bWVudCBhbmQgcHJvbW90ZSBpdCB0byBhCi0gICAgZmlsZSBvYmplY3QuCi0KLSAgICAiIiIKLSAgICBkZWYgX25ld19tZXRob2QgKHNlbGYsIGZpbGVuYW1lLCAqYXJncywgKiprd2FyZ3MpOgotICAgICAgICBpZiBpc2luc3RhbmNlKGZpbGVuYW1lLCBmaWxlKToKLSAgICAgICAgICAgIGYgPSBmaWxlbmFtZQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgIyBNYWtlIHN1cmUgdGhlIGNvbnRhaW5pbmcgZGlyZWN0b3J5IGV4aXN0cwotICAgICAgICAgICAgcGFyZW50X2RpciA9IG9zLnBhdGguZGlybmFtZShmaWxlbmFtZSkKLSAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKHBhcmVudF9kaXIpOgotICAgICAgICAgICAgICAgIG9zLm1ha2VkaXJzKHBhcmVudF9kaXIpCi0gICAgICAgICAgICBmID0gb3BlbihmaWxlbmFtZSwgJ3cnKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gbWV0aG9kKHNlbGYsIGYsICphcmdzLCAqKmt3YXJncykKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGZpbGVuYW1lLCBmaWxlKToKLSAgICAgICAgICAgICAgICBmLmNsb3NlKCkKLSAgICByZXR1cm4gX25ld19tZXRob2QKZGlmZiAtLWdpdCBhL2dpdGstZ2l0L2dpdGsgYi9naXRrLWdpdC9naXRrCmluZGV4IDVjZDAwZDguLjkwNzY0ZTggMTAwNzU1Ci0tLSBhL2dpdGstZ2l0L2dpdGsKKysrIGIvZ2l0ay1naXQvZ2l0awpAQCAtMiw3ICsyLDcgQEAKICMgVGNsIGlnbm9yZXMgdGhlIG5leHQgbGluZSAtKi0gdGNsIC0qLSBcCiBleGVjIHdpc2ggIiQwIiAtLSAiJEAiCiAKLSMgQ29weXJpZ2h0IMKpIDIwMDUtMjAxMSBQYXVsIE1hY2tlcnJhcy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCDCqSAyMDA1LTIwMTQgUGF1bCBNYWNrZXJyYXMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgaXQgbWF5IGJlIHVzZWQsIGNvcGllZCwgbW9kaWZpZWQKICMgYW5kIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2VuY2UsCiAjIGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCkBAIC0xNTYsMTAgKzE1NiwxMiBAQAogCiBwcm9jIHBhcnNldmlld2FyZ3Mge24gYXJnbGlzdH0gewogICAgIGdsb2JhbCB2ZGF0ZW1vZGUgdm1lcmdlb25seSB2ZmxhZ3MgdmRmbGFncyB2cmV2cyB2ZmlsdGVyZWQgdm9yaWdhcmdzIGVudgorICAgIGdsb2JhbCB2aW5saW5lZGlmZgogICAgIGdsb2JhbCB3b3JkZGlmZiBnaXRfdmVyc2lvbgogCiAgICAgc2V0IHZkYXRlbW9kZSgkbikgMAogICAgIHNldCB2bWVyZ2Vvbmx5KCRuKSAwCisgICAgc2V0IHZpbmxpbmVkaWZmKCRuKSAwCiAgICAgc2V0IGdsZmxhZ3Mge30KICAgICBzZXQgZGlmZmFyZ3Mge30KICAgICBzZXQgbmV4dGlzdmFsIDAKQEAgLTIyNywxMiArMjI5LDIwIEBACiAJICAgICItLXVudGlsPSoiIC0gIi0tYmVmb3JlPSoiIC0gIi0tbWF4LWFnZT0qIiAtICItLW1pbi1hZ2U9KiIgLQogCSAgICAiLS1hdXRob3I9KiIgLSAiLS1jb21taXR0ZXI9KiIgLSAiLS1ncmVwPSoiIC0gIi1baUVdIiAtCiAJICAgICItLXJlbW92ZS1lbXB0eSIgLSAiLS1maXJzdC1wYXJlbnQiIC0gIi0tY2hlcnJ5LXBpY2siIC0KLQkgICAgIi1TKiIgLSAiLS1waWNrYXhlLWFsbCIgLSAiLS1waWNrYXhlLXJlZ2V4IiAtCisJICAgICItUyoiIC0gIi1HKiIgLSAiLS1waWNrYXhlLWFsbCIgLSAiLS1waWNrYXhlLXJlZ2V4IiAtCiAJICAgICItLXNpbXBsaWZ5LWJ5LWRlY29yYXRpb24iIHsKIAkJIyBUaGVzZSBtZWFuIHRoYXQgd2UgZ2V0IGEgc3Vic2V0IG9mIHRoZSBjb21taXRzCiAJCXNldCBmaWx0ZXJlZCAxCiAJCWxhcHBlbmQgZ2xmbGFncyAkYXJnCiAJICAgIH0KKwkgICAgIi1MKiIgeworCQkjIExpbmUtbG9nIHdpdGggJ3N0dWNrJyBhcmd1bWVudCAodW5zdHVjayBmb3JtIGlzCisJCSMgbm90IHN1cHBvcnRlZCkKKwkJc2V0IGZpbHRlcmVkIDEKKwkJc2V0IHZpbmxpbmVkaWZmKCRuKSAxCisJCXNldCBhbGxrbm93biAwCisJCWxhcHBlbmQgZ2xmbGFncyAkYXJnCisJICAgIH0KIAkgICAgIi1uIiB7CiAJCSMgVGhpcyBhcHBlYXJzIHRvIGJlIHRoZSBvbmx5IG9uZSB0aGF0IGhhcyBhIHZhbHVlIGFzIGEKIAkJIyBzZXBhcmF0ZSB3b3JkIGZvbGxvd2luZyBpdApAQCAtMTcwNCw4ICsxNzE0LDE3IEBACiAJc2V0IGNvbW1lbnQgJG5ld2NvbW1lbnQKICAgICB9CiAgICAgc2V0IGhhc25vdGUgW3N0cmluZyBmaXJzdCAiXG5Ob3RlczpcbiIgJGNvbnRlbnRzXQorICAgIHNldCBkaWZmICIiCisgICAgIyBJZiB0aGVyZSBpcyBkaWZmIG91dHB1dCBzaG93biBpbiB0aGUgZ2l0LWxvZyBzdHJlYW0sIHNwbGl0IGl0CisgICAgIyBvdXQuICBCdXQgZ2V0IHJpZCBvZiB0aGUgZW1wdHkgbGluZSB0aGF0IGFsd2F5cyBwcmVjZWRlcyB0aGUKKyAgICAjIGRpZmYuCisgICAgc2V0IGkgW3N0cmluZyBmaXJzdCAiXG5cbmRpZmYiICRjb21tZW50XQorICAgIGlmIHskaSA+PSAwfSB7CisJc2V0IGRpZmYgW3N0cmluZyByYW5nZSAkY29tbWVudCAkaSsxIGVuZF0KKwlzZXQgY29tbWVudCBbc3RyaW5nIHJhbmdlICRjb21tZW50IDAgJGktMV0KKyAgICB9CiAgICAgc2V0IGNvbW1pdGluZm8oJGlkKSBbbGlzdCAkaGVhZGxpbmUgJGF1bmFtZSAkYXVkYXRlIFwKLQkJCSAgICAgJGNvbW5hbWUgJGNvbWRhdGUgJGNvbW1lbnQgJGhhc25vdGVdCisJCQkgICAgICRjb21uYW1lICRjb21kYXRlICRjb21tZW50ICRoYXNub3RlICRkaWZmXQogfQogCiBwcm9jIGdldGNvbW1pdCB7aWR9IHsKQEAgLTIyNDQsOSArMjI2MywzNSBAQAogCiAgICAgIyBidWlsZCB1cCB0aGUgYm90dG9tIGJhciBvZiB1cHBlciB3aW5kb3cKICAgICAke05TfTo6bGFiZWwgLnRmLmxiYXIuZmxhYmVsIC10ZXh0ICJbbWMgIkZpbmQiXSAiCi0gICAgJHtOU306OmJ1dHRvbiAudGYubGJhci5mbmV4dCAtdGV4dCBbbWMgIm5leHQiXSAtY29tbWFuZCB7ZG9maW5kIDEgMX0KLSAgICAke05TfTo6YnV0dG9uIC50Zi5sYmFyLmZwcmV2IC10ZXh0IFttYyAicHJldiJdIC1jb21tYW5kIHtkb2ZpbmQgLTEgMX0KKworICAgIHNldCBibV9kb3duX2RhdGEgeworCSNkZWZpbmUgZG93bl93aWR0aCAxNgorCSNkZWZpbmUgZG93bl9oZWlnaHQgMTYKKwlzdGF0aWMgdW5zaWduZWQgY2hhciBkb3duX2JpdHNbXSA9IHsKKwkweDgwLCAweDAxLCAweDgwLCAweDAxLCAweDgwLCAweDAxLCAweDgwLCAweDAxLAorCTB4ODAsIDB4MDEsIDB4ODAsIDB4MDEsIDB4ODAsIDB4MDEsIDB4ODAsIDB4MDEsCisJMHg4NywgMHhlMSwgMHg4ZSwgMHg3MSwgMHg5YywgMHgzOSwgMHhiOCwgMHgxZCwKKwkweGYwLCAweDBmLCAweGUwLCAweDA3LCAweGMwLCAweDAzLCAweDgwLCAweDAxfTsKKyAgICB9CisgICAgaW1hZ2UgY3JlYXRlIGJpdG1hcCBibS1kb3duIC1kYXRhICRibV9kb3duX2RhdGEgLWZvcmVncm91bmQgJHVpZmdjb2xvcgorICAgICR7TlN9OjpidXR0b24gLnRmLmxiYXIuZm5leHQgLXdpZHRoIDI2IC1jb21tYW5kIHtkb2ZpbmQgMSAxfQorICAgIC50Zi5sYmFyLmZuZXh0IGNvbmZpZ3VyZSAtaW1hZ2UgYm0tZG93bgorCisgICAgc2V0IGJtX3VwX2RhdGEgeworCSNkZWZpbmUgdXBfd2lkdGggMTYKKwkjZGVmaW5lIHVwX2hlaWdodCAxNgorCXN0YXRpYyB1bnNpZ25lZCBjaGFyIHVwX2JpdHNbXSA9IHsKKwkweDgwLCAweDAxLCAweGMwLCAweDAzLCAweGUwLCAweDA3LCAweGYwLCAweDBmLAorCTB4YjgsIDB4MWQsIDB4OWMsIDB4MzksIDB4OGUsIDB4NzEsIDB4ODcsIDB4ZTEsCisJMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwKKwkweDgwLCAweDAxLCAweDgwLCAweDAxLCAweDgwLCAweDAxLCAweDgwLCAweDAxfTsKKyAgICB9CisgICAgaW1hZ2UgY3JlYXRlIGJpdG1hcCBibS11cCAtZGF0YSAkYm1fdXBfZGF0YSAtZm9yZWdyb3VuZCAkdWlmZ2NvbG9yCisgICAgJHtOU306OmJ1dHRvbiAudGYubGJhci5mcHJldiAtd2lkdGggMjYgLWNvbW1hbmQge2RvZmluZCAtMSAxfQorICAgIC50Zi5sYmFyLmZwcmV2IGNvbmZpZ3VyZSAtaW1hZ2UgYm0tdXAKKwogICAgICR7TlN9OjpsYWJlbCAudGYubGJhci5mbGFiMiAtdGV4dCAiIFttYyAiY29tbWl0Il0gIgorCiAgICAgcGFjayAudGYubGJhci5mbGFiZWwgLnRmLmxiYXIuZm5leHQgLnRmLmxiYXIuZnByZXYgLnRmLmxiYXIuZmxhYjIgXAogCS1zaWRlIGxlZnQgLWZpbGwgeQogICAgIHNldCBnZHR0eXBlIFttYyAiY29udGFpbmluZzoiXQpAQCAtMjM4NCw3ICsyNDI5LDggQEAKICAgICAkY3RleHQgdGFnIGNvbmYgbXNlcCAtZm9udCB0ZXh0Zm9udGJvbGQKICAgICAkY3RleHQgdGFnIGNvbmYgZm91bmQgLWJhY2sgJGZvdW5kYmdjb2xvcgogICAgICRjdGV4dCB0YWcgY29uZiBjdXJyZW50c2VhcmNoaGl0IC1iYWNrICRjdXJyZW50c2VhcmNoaGl0Ymdjb2xvcgotICAgICRjdGV4dCB0YWcgY29uZiB3d3JhcCAtd3JhcCB3b3JkCisgICAgJGN0ZXh0IHRhZyBjb25mIHd3cmFwIC13cmFwIHdvcmQgLWxtYXJnaW4yIDFjCisgICAgJGN0ZXh0IHRhZyBjb25mIGJvbGQgLWZvbnQgdGV4dGZvbnRib2xkCiAKICAgICAucHdib3R0b20gYWRkIC5ibGVmdAogICAgIGlmIHshJHVzZV90dGt9IHsKQEAgLTI3NDEsMTQgKzI3ODcsMTcgQEAKICAgICBnbG9iYWwgbGlua2ZnY29sb3IgY2lyY2xlb3V0bGluZWNvbG9yCiAgICAgZ2xvYmFsIGF1dG9zZWxlY3QgYXV0b3NlbGxlbiBleHRkaWZmdG9vbCBwZXJmaWxlX2F0dHJzIG1hcmtiZ2NvbG9yIHVzZV90dGsKICAgICBnbG9iYWwgaGlkZXJlbW90ZXMgd2FudF90dGsgbWF4cmVmcworICAgIGdsb2JhbCBjb25maWdfZmlsZSBjb25maWdfZmlsZV90bXAKIAogICAgIGlmIHskc3R1ZmZzYXZlZH0gcmV0dXJuCiAgICAgaWYgeyFbd2luZm8gdmlld2FibGUgLl19IHJldHVybgogICAgIGNhdGNoIHsKLQlpZiB7W2ZpbGUgZXhpc3RzIH4vLmdpdGstbmV3XX0ge2ZpbGUgZGVsZXRlIC1mb3JjZSB+Ly5naXRrLW5ld30KLQlzZXQgZiBbb3BlbiAifi8uZ2l0ay1uZXciIHddCisJaWYge1tmaWxlIGV4aXN0cyAkY29uZmlnX2ZpbGVfdG1wXX0geworCSAgICBmaWxlIGRlbGV0ZSAtZm9yY2UgJGNvbmZpZ19maWxlX3RtcAorCX0KKwlzZXQgZiBbb3BlbiAkY29uZmlnX2ZpbGVfdG1wIHddCiAJaWYgeyQ6OnRjbF9wbGF0Zm9ybShwbGF0Zm9ybSkgZXEge3dpbmRvd3N9fSB7Ci0JICAgIGZpbGUgYXR0cmlidXRlcyAifi8uZ2l0ay1uZXciIC1oaWRkZW4gdHJ1ZQorCSAgICBmaWxlIGF0dHJpYnV0ZXMgJGNvbmZpZ19maWxlX3RtcCAtaGlkZGVuIHRydWUKIAl9CiAJcHV0cyAkZiBbbGlzdCBzZXQgbWFpbmZvbnQgJG1haW5mb250XQogCXB1dHMgJGYgW2xpc3Qgc2V0IHRleHRmb250ICR0ZXh0Zm9udF0KQEAgLTI4MjUsNyArMjg3NCw3IEBACiAJfQogCXB1dHMgJGYgIn0iCiAJY2xvc2UgJGYKLQlmaWxlIHJlbmFtZSAtZm9yY2UgIn4vLmdpdGstbmV3IiAifi8uZ2l0ayIKKwlmaWxlIHJlbmFtZSAtZm9yY2UgJGNvbmZpZ19maWxlX3RtcCAkY29uZmlnX2ZpbGUKICAgICB9CiAgICAgc2V0IHN0dWZmc2F2ZWQgMQogfQpAQCAtMjkyNyw3ICsyOTc2LDcgQEAKICAgICBtZXNzYWdlICR3Lm0gLXRleHQgW21jICIKIEdpdGsgLSBhIGNvbW1pdCB2aWV3ZXIgZm9yIGdpdAogCi1Db3B5cmlnaHQgXHUwMGE5IDIwMDUtMjAxMSBQYXVsIE1hY2tlcnJhcworQ29weXJpZ2h0IFx1MDBhOSAyMDA1LTIwMTQgUGF1bCBNYWNrZXJyYXMKIAogVXNlIGFuZCByZWRpc3RyaWJ1dGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSJdIFwKIAkgICAgLWp1c3RpZnkgY2VudGVyIC1hc3BlY3QgNDAwIC1ib3JkZXIgMiAtYmcgd2hpdGUgLXJlbGllZiBncm9vdmUKQEAgLTYzODcsNiArNjQzNiwyNSBAQAogICAgICRjYW52IGJpbmQgJHQgPEJ1dHRvbi0xPiAibGluZWNsaWNrICV4ICV5ICRpZCAxIgogfQogCitwcm9jIGdyYXBoX3BhbmVfd2lkdGgge30geworICAgIGdsb2JhbCB1c2VfdHRrCisKKyAgICBpZiB7JHVzZV90dGt9IHsKKwlzZXQgZyBbLnRmLmhpc3RmcmFtZS5wd2NsaXN0IHNhc2hwb3MgMF0KKyAgICB9IGVsc2UgeworCXNldCBnIFsudGYuaGlzdGZyYW1lLnB3Y2xpc3Qgc2FzaCBjb29yZCAwXQorICAgIH0KKyAgICByZXR1cm4gW2xpbmRleCAkZyAwXQorfQorCitwcm9jIHRvdGFsd2lkdGgge2wgZm9udCBleHRyYX0geworICAgIHNldCB0b3QgMAorICAgIGZvcmVhY2ggc3RyICRsIHsKKwlzZXQgdG90IFtleHByIHskdG90ICsgW2ZvbnQgbWVhc3VyZSAkZm9udCAkc3RyXSArICRleHRyYX1dCisgICAgfQorICAgIHJldHVybiAkdG90Cit9CisKIHByb2MgZHJhd3RhZ3Mge2lkIHggeHQgeTF9IHsKICAgICBnbG9iYWwgaWR0YWdzIGlkaGVhZHMgaWRvdGhlcnJlZnMgbWFpbmhlYWQKICAgICBnbG9iYWwgbGluZXNwYyBsdGhpY2tuZXNzCkBAIC02Mzk4LDkgKzY0NjYsMjcgQEAKICAgICBzZXQgbWFya3Mge30KICAgICBzZXQgbnRhZ3MgMAogICAgIHNldCBuaGVhZHMgMAorICAgIHNldCBzaW5nbGV0YWcgMAorICAgIHNldCBtYXh0YWdzIDMKKyAgICBzZXQgbWF4dGFncGN0IDI1CisgICAgc2V0IG1heHdpZHRoIFtleHByIHtbZ3JhcGhfcGFuZV93aWR0aF0gKiAkbWF4dGFncGN0IC8gMTAwfV0KKyAgICBzZXQgZGVsdGEgW2V4cHIge2ludCgwLjUgKiAoJGxpbmVzcGMgLSAkbHRoaWNrbmVzcykpfV0KKyAgICBzZXQgZXh0cmEgW2V4cHIgeyRkZWx0YSArICRsdGhpY2tuZXNzICsgJGxpbmVzcGN9XQorCiAgICAgaWYge1tpbmZvIGV4aXN0cyBpZHRhZ3MoJGlkKV19IHsKIAlzZXQgbWFya3MgJGlkdGFncygkaWQpCiAJc2V0IG50YWdzIFtsbGVuZ3RoICRtYXJrc10KKwlpZiB7JG50YWdzID4gJG1heHRhZ3MgfHwKKwkgICAgW3RvdGFsd2lkdGggJG1hcmtzIG1haW5mb250ICRleHRyYV0gPiAkbWF4d2lkdGh9IHsKKwkgICAgIyBzaG93IGp1c3QgYSBzaW5nbGUgIm4gdGFncy4uLiIgdGFnCisJICAgIHNldCBzaW5nbGV0YWcgMQorCSAgICBpZiB7JG50YWdzID09IDF9IHsKKwkJc2V0IG1hcmtzIFtsaXN0ICJ0YWcuLi4iXQorCSAgICB9IGVsc2UgeworCQlzZXQgbWFya3MgW2xpc3QgW2Zvcm1hdCAiJWQgdGFncy4uLiIgJG50YWdzXV0KKwkgICAgfQorCSAgICBzZXQgbnRhZ3MgMQorCX0KICAgICB9CiAgICAgaWYge1tpbmZvIGV4aXN0cyBpZGhlYWRzKCRpZCldfSB7CiAJc2V0IG1hcmtzIFtjb25jYXQgJG1hcmtzICRpZGhlYWRzKCRpZCldCkBAIC02NDEzLDcgKzY0OTksNiBAQAogCXJldHVybiAkeHQKICAgICB9CiAKLSAgICBzZXQgZGVsdGEgW2V4cHIge2ludCgwLjUgKiAoJGxpbmVzcGMgLSAkbHRoaWNrbmVzcykpfV0KICAgICBzZXQgeXQgW2V4cHIgeyR5MSAtIDAuNSAqICRsaW5lc3BjfV0KICAgICBzZXQgeWIgW2V4cHIgeyR5dCArICRsaW5lc3BjIC0gMX1dCiAgICAgc2V0IHh2YWxzIHt9CkBAIC02NDI4LDcgKzY1MTMsNyBAQAogCX0KIAlsYXBwZW5kIHh2YWxzICR4dAogCWxhcHBlbmQgd3ZhbHMgJHdpZAotCXNldCB4dCBbZXhwciB7JHh0ICsgJGRlbHRhICsgJHdpZCArICRsdGhpY2tuZXNzICsgJGxpbmVzcGN9XQorCXNldCB4dCBbZXhwciB7JHh0ICsgJHdpZCArICRleHRyYX1dCiAgICAgfQogICAgIHNldCB0IFskY2FudiBjcmVhdGUgbGluZSAkeCAkeTEgW2xpbmRleCAkeHZhbHMgZW5kXSAkeTEgXAogCSAgICAgICAtd2lkdGggJGx0aGlja25lc3MgLWZpbGwgJHJlZmxpbmVjb2xvciAtdGFncyB0YWcuJGlkXQpAQCAtNjQ0NCw3ICs2NTI5LDEyIEBACiAJCSAgICAgICAkeHIgJHl0ICR4ciAkeWIgJHhsICR5YiAkeCBbZXhwciB7JHliIC0gJGRlbHRhfV0gXAogCQkgICAgICAgLXdpZHRoIDEgLW91dGxpbmUgJHRhZ291dGxpbmVjb2xvciAtZmlsbCAkdGFnYmdjb2xvciBcCiAJCSAgICAgICAtdGFncyB0YWcuJGlkXQotCSAgICAkY2FudiBiaW5kICR0IDwxPiBbbGlzdCBzaG93dGFnICR0YWdfcXVvdGVkIDFdCisJICAgIGlmIHskc2luZ2xldGFnfSB7CisJCXNldCB0YWdjbGljayBbbGlzdCBzaG93dGFncyAkaWQgMV0KKwkgICAgfSBlbHNlIHsKKwkJc2V0IHRhZ2NsaWNrIFtsaXN0IHNob3d0YWcgJHRhZ19xdW90ZWQgMV0KKwkgICAgfQorCSAgICAkY2FudiBiaW5kICR0IDwxPiAkdGFnY2xpY2sKIAkgICAgc2V0IHJvd3RleHR4KFtyb3dvZmNvbW1pdCAkaWRdKSBbZXhwciB7JHhyICsgJGxpbmVzcGN9XQogCX0gZWxzZSB7CiAJICAgICMgZHJhdyBhIGhlYWQgb3Igb3RoZXIgcmVmCkBAIC02NDcxLDcgKzY1NjEsNyBAQAogCXNldCB0IFskY2FudiBjcmVhdGUgdGV4dCAkeGwgJHkxIC1hbmNob3IgdyAtdGV4dCAkdGFnIC1maWxsICRoZWFkZmdjb2xvciBcCiAJCSAgIC1mb250ICRmb250IC10YWdzIFtsaXN0IHRhZy4kaWQgdGV4dF1dCiAJaWYgeyRudGFncyA+PSAwfSB7Ci0JICAgICRjYW52IGJpbmQgJHQgPDE+IFtsaXN0IHNob3d0YWcgJHRhZ19xdW90ZWQgMV0KKwkgICAgJGNhbnYgYmluZCAkdCA8MT4gJHRhZ2NsaWNrCiAJfSBlbHNlaWYgeyRuaGVhZHMgPj0gMH0gewogCSAgICAkY2FudiBiaW5kICR0ICRjdHhidXQgW2xpc3QgaGVhZG1lbnUgJVggJVkgJGlkICR0YWdfcXVvdGVkXQogCX0KQEAgLTcwODAsNiArNzE3MCw3IEBACiAgICAgZ2xvYmFsIGNtaXRtb2RlIHNob3duZWFydGFncyBhbGxjb21taXRzCiAgICAgZ2xvYmFsIHRhcmdldHJvdyB0YXJnZXRpZCBsYXN0c2Nyb2xscm93cwogICAgIGdsb2JhbCBhdXRvc2VsZWN0IGF1dG9zZWxsZW4ganVtcF90b19oZXJlCisgICAgZ2xvYmFsIHZpbmxpbmVkaWZmCiAKICAgICBjYXRjaCB7dW5zZXQgcGVuZGluZ19zZWxlY3R9CiAgICAgJGNhbnYgZGVsZXRlIGhvdmVyCkBAIC03MjIxLDYgKzczMTIsOCBAQAogICAgIGluaXRfZmxpc3QgW21jICJDb21tZW50cyJdCiAgICAgaWYgeyRjbWl0bW9kZSBlcSAidHJlZSJ9IHsKIAlnZXR0cmVlICRpZAorICAgIH0gZWxzZWlmIHskdmlubGluZWRpZmYoJGN1cnZpZXcpID09IDF9IHsKKwlzaG93aW5saW5lZGlmZiAkaWQKICAgICB9IGVsc2VpZiB7W2xsZW5ndGggJG9sZHNdIDw9IDF9IHsKIAlzdGFydGRpZmYgJGlkCiAgICAgfSBlbHNlIHsKQEAgLTc1NTcsNiArNzY1MCwzOSBAQAogICAgIH0KIH0KIAorcHJvYyBzaG93aW5saW5lZGlmZiB7aWRzfSB7CisgICAgZ2xvYmFsIGNvbW1pdGluZm8gY29tbWl0ZGF0YSBjdGV4dAorICAgIGdsb2JhbCB0cmVlZGlmZnMKKworICAgIHNldCBpbmZvICRjb21taXRpbmZvKCRpZHMpCisgICAgc2V0IGRpZmYgW2xpbmRleCAkaW5mbyA3XQorICAgIHNldCBkaWZmbGluZXMgW3NwbGl0ICRkaWZmICJcbiJdCisKKyAgICBpbml0YmxvYmRpZmZ2YXJzCisgICAgc2V0IHRyZWVkaWZmIHt9CisKKyAgICBzZXQgaW5oZHIgMAorICAgIGZvcmVhY2ggbGluZSAkZGlmZmxpbmVzIHsKKwlpZiB7IVtzdHJpbmcgY29tcGFyZSAtbGVuZ3RoIDUgImRpZmYgIiAkbGluZV19IHsKKwkgICAgc2V0IGluaGRyIDEKKwl9IGVsc2VpZiB7JGluaGRyICYmICFbc3RyaW5nIGNvbXBhcmUgLWxlbmd0aCA0ICIrKysgIiAkbGluZV19IHsKKwkgICAgIyBvZmZzZXQgYWxzbyBhY2NvdW50cyBmb3IgdGhlIGIvIHByZWZpeAorCSAgICBsYXBwZW5kIHRyZWVkaWZmIFtzdHJpbmcgcmFuZ2UgJGxpbmUgNiBlbmRdCisJICAgIHNldCBpbmhkciAwCisJfQorICAgIH0KKworICAgIHNldCB0cmVlZGlmZnMoJGlkcykgJHRyZWVkaWZmCisgICAgYWRkX2ZsaXN0ICR0cmVlZGlmZgorCisgICAgJGN0ZXh0IGNvbmYgLXN0YXRlIG5vcm1hbAorICAgIGZvcmVhY2ggbGluZSAkZGlmZmxpbmVzIHsKKwlwYXJzZWJsb2JkaWZmbGluZSAkaWRzICRsaW5lCisgICAgfQorICAgIG1heWJlX3Njcm9sbF9jdGV4dCAxCisgICAgJGN0ZXh0IGNvbmYgLXN0YXRlIGRpc2FibGVkCit9CisKICMgSWYgdGhlIGZpbGVuYW1lIChuYW1lKSBpcyB1bmRlciBhbnkgb2YgdGhlIHBhc3NlZCBmaWx0ZXIgcGF0aHMKICMgdGhlbiByZXR1cm4gdHJ1ZSB0byBpbmNsdWRlIHRoZSBmaWxlIGluIHRoZSBsaXN0aW5nLgogcHJvYyBwYXRoX2ZpbHRlciB7ZmlsdGVyIG5hbWV9IHsKQEAgLTc3MTAsMTUgKzc4MzYsMjUgQEAKICAgICByZXNlbGVjdGxpbmUKIH0KIAorcHJvYyBpbml0YmxvYmRpZmZ2YXJzIHt9IHsKKyAgICBnbG9iYWwgZGlmZmVuY29kaW5nIHRhcmdldGxpbmUgZGlmZm5wYXJlbnRzCisgICAgZ2xvYmFsIGRpZmZpbmhkciBjdXJyZGlmZnN1Ym1vZCBkaWZmc2VlaGVyZQorICAgIHNldCB0YXJnZXRsaW5lIHt9CisgICAgc2V0IGRpZmZucGFyZW50cyAwCisgICAgc2V0IGRpZmZpbmhkciAwCisgICAgc2V0IGRpZmZlbmNvZGluZyBbZ2V0X3BhdGhfZW5jb2Rpbmcge31dCisgICAgc2V0IGN1cnJkaWZmc3VibW9kICIiCisgICAgc2V0IGRpZmZzZWVoZXJlIC0xCit9CisKIHByb2MgZ2V0YmxvYmRpZmZzIHtpZHN9IHsKICAgICBnbG9iYWwgYmxvYmRpZmZmZCBkaWZmaWRzIGVudgotICAgIGdsb2JhbCBkaWZmaW5oZHIgdHJlZWRpZmZzCisgICAgZ2xvYmFsIHRyZWVkaWZmcwogICAgIGdsb2JhbCBkaWZmY29udGV4dAogICAgIGdsb2JhbCBpZ25vcmVzcGFjZQogICAgIGdsb2JhbCB3b3JkZGlmZgogICAgIGdsb2JhbCBsaW1pdGRpZmZzIHZmaWxlbGltaXQgY3VydmlldwotICAgIGdsb2JhbCBkaWZmZW5jb2RpbmcgdGFyZ2V0bGluZSBkaWZmbnBhcmVudHMKLSAgICBnbG9iYWwgZ2l0X3ZlcnNpb24gY3VycmRpZmZzdWJtb2QKKyAgICBnbG9iYWwgZ2l0X3ZlcnNpb24KIAogICAgIHNldCB0ZXh0Y29udiB7fQogICAgIGlmIHtbcGFja2FnZSB2Y29tcGFyZSAkZ2l0X3ZlcnNpb24gIjEuNi4xIl0gPj0gMH0gewpAQCAtNzc0MiwxMyArNzg3OCw5IEBACiAJZXJyb3JfcG9wdXAgW21jICJFcnJvciBnZXR0aW5nIGRpZmZzOiAlcyIgJGVycl0KIAlyZXR1cm4KICAgICB9Ci0gICAgc2V0IHRhcmdldGxpbmUge30KLSAgICBzZXQgZGlmZm5wYXJlbnRzIDAKLSAgICBzZXQgZGlmZmluaGRyIDAKLSAgICBzZXQgZGlmZmVuY29kaW5nIFtnZXRfcGF0aF9lbmNvZGluZyB7fV0KICAgICBmY29uZmlndXJlICRiZGYgLWJsb2NraW5nIDAgLWVuY29kaW5nIGJpbmFyeSAtZW9mY2hhciB7fQogICAgIHNldCBibG9iZGlmZmZkKCRpZHMpICRiZGYKLSAgICBzZXQgY3VycmRpZmZzdWJtb2QgIiIKKyAgICBpbml0YmxvYmRpZmZ2YXJzCiAgICAgZmlsZXJ1biAkYmRmIFtsaXN0IGdldGJsb2JkaWZmbGluZSAkYmRmICRkaWZmaWRzXQogfQogCkBAIC03ODE0LDEzICs3OTQ2LDE3IEBACiAgICAgc2V0IGRpZmZsaW5lIDAKIH0KIAorcHJvYyBibG9iZGlmZm1heWJlc2VlaGVyZSB7YXRlb2Z9IHsKKyAgICBnbG9iYWwgZGlmZnNlZWhlcmUKKyAgICBpZiB7JGRpZmZzZWVoZXJlID49IDB9IHsKKwltYXJrX2N0ZXh0X2xpbmUgW2xpbmRleCBbc3BsaXQgJGRpZmZzZWVoZXJlIC5dIDBdCisgICAgfQorICAgIG1heWJlX3Njcm9sbF9jdGV4dCAkYXRlb2YKK30KKwogcHJvYyBnZXRibG9iZGlmZmxpbmUge2JkZiBpZHN9IHsKLSAgICBnbG9iYWwgZGlmZmlkcyBibG9iZGlmZmZkIGN0ZXh0IGN1cmRpZmZzdGFydAotICAgIGdsb2JhbCBkaWZmbmV4dGhlYWQgZGlmZm5leHRub3RlIGRpZmZmaWxlc3RhcnQKLSAgICBnbG9iYWwgY3RleHRfZmlsZV9uYW1lcyBjdGV4dF9maWxlX2xpbmVzCi0gICAgZ2xvYmFsIGRpZmZpbmhkciB0cmVlZGlmZnMgbWVyZ2VtYXggZGlmZm5wYXJlbnRzCi0gICAgZ2xvYmFsIGRpZmZlbmNvZGluZyBqdW1wX3RvX2hlcmUgdGFyZ2V0bGluZSBkaWZmbGluZSBjdXJyZGlmZnN1Ym1vZAotICAgIGdsb2JhbCB3b3JkZGlmZgorICAgIGdsb2JhbCBkaWZmaWRzIGJsb2JkaWZmZmQKKyAgICBnbG9iYWwgY3RleHQKIAogICAgIHNldCBuciAwCiAgICAgJGN0ZXh0IGNvbmYgLXN0YXRlIG5vcm1hbApAQCAtNzgyOSwyMDcgKzc5NjUsMTAgQEAKIAkgICAgY2F0Y2gge2Nsb3NlICRiZGZ9CiAJICAgIHJldHVybiAwCiAJfQotCWlmIHshW3N0cmluZyBjb21wYXJlIC1sZW5ndGggNSAiZGlmZiAiICRsaW5lXX0gewotCSAgICBpZiB7IVtyZWdleHAge15kaWZmICgtLWNjfC0tZ2l0KSB9ICRsaW5lIG0gdHlwZV19IHsKLQkJc2V0IGxpbmUgW2VuY29kaW5nIGNvbnZlcnRmcm9tICRsaW5lXQotCQkkY3RleHQgaW5zZXJ0IGVuZCAiJGxpbmVcbiIgaHVua3NlcAotCQljb250aW51ZQotCSAgICB9Ci0JICAgICMgc3RhcnQgb2YgYSBuZXcgZmlsZQotCSAgICBzZXQgZGlmZmluaGRyIDEKLQkgICAgJGN0ZXh0IGluc2VydCBlbmQgIlxuIgotCSAgICBzZXQgY3VyZGlmZnN0YXJ0IFskY3RleHQgaW5kZXggImVuZCAtIDFjIl0KLQkgICAgbGFwcGVuZCBjdGV4dF9maWxlX25hbWVzICIiCi0JICAgIGxhcHBlbmQgY3RleHRfZmlsZV9saW5lcyBbbGluZGV4IFtzcGxpdCAkY3VyZGlmZnN0YXJ0ICIuIl0gMF0KLQkgICAgJGN0ZXh0IGluc2VydCBlbmQgIlxuIiBmaWxlc2VwCi0KLQkgICAgaWYgeyR0eXBlIGVxICItLWNjIn0gewotCQkjIHN0YXJ0IG9mIGEgbmV3IGZpbGUgaW4gYSBtZXJnZSBkaWZmCi0JCXNldCBmbmFtZSBbc3RyaW5nIHJhbmdlICRsaW5lIDEwIGVuZF0KLQkJaWYge1tsc2VhcmNoIC1leGFjdCAkdHJlZWRpZmZzKCRpZHMpICRmbmFtZV0gPCAwfSB7Ci0JCSAgICBsYXBwZW5kIHRyZWVkaWZmcygkaWRzKSAkZm5hbWUKLQkJICAgIGFkZF9mbGlzdCBbbGlzdCAkZm5hbWVdCi0JCX0KLQotCSAgICB9IGVsc2UgewotCQlzZXQgbGluZSBbc3RyaW5nIHJhbmdlICRsaW5lIDExIGVuZF0KLQkJIyBJZiB0aGUgbmFtZSBoYXNuJ3QgY2hhbmdlZCB0aGUgbGVuZ3RoIHdpbGwgYmUgb2RkLAotCQkjIHRoZSBtaWRkbGUgY2hhciB3aWxsIGJlIGEgc3BhY2UsIGFuZCB0aGUgdHdvIGJpdHMgZWl0aGVyCi0JCSMgc2lkZSB3aWxsIGJlIGEvbmFtZSBhbmQgYi9uYW1lLCBvciAiYS9uYW1lIiBhbmQgImIvbmFtZSIuCi0JCSMgSWYgdGhlIG5hbWUgaGFzIGNoYW5nZWQgd2UnbGwgZ2V0ICJyZW5hbWUgZnJvbSIgYW5kCi0JCSMgInJlbmFtZSB0byIgb3IgImNvcHkgZnJvbSIgYW5kICJjb3B5IHRvIiBsaW5lcyBmb2xsb3dpbmcKLQkJIyB0aGlzLCBhbmQgd2UnbGwgdXNlIHRoZW0gdG8gZ2V0IHRoZSBmaWxlbmFtZXMuCi0JCSMgVGhpcyBjb21wbGV4aXR5IGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHNwYWNlcyBpbiB0aGUKLQkJIyBmaWxlbmFtZShzKSBkb24ndCBnZXQgZXNjYXBlZC4KLQkJc2V0IGwgW3N0cmluZyBsZW5ndGggJGxpbmVdCi0JCXNldCBpIFtleHByIHskbCAvIDJ9XQotCQlpZiB7ISgoJGwgJiAxKSAmJiBbc3RyaW5nIGluZGV4ICRsaW5lICRpXSBlcSAiICIgJiYKLQkJICAgICAgW3N0cmluZyByYW5nZSAkbGluZSAyIFtleHByIHskaSAtIDF9XV0gZXEgXAotCQkJICBbc3RyaW5nIHJhbmdlICRsaW5lIFtleHByIHskaSArIDN9XSBlbmRdKX0gewotCQkgICAgY29udGludWUKLQkJfQotCQkjIHVuZXNjYXBlIGlmIHF1b3RlZCBhbmQgY2hvcCBvZmYgdGhlIGEvIGZyb20gdGhlIGZyb250Ci0JCWlmIHtbc3RyaW5nIGluZGV4ICRsaW5lIDBdIGVxICJcIiJ9IHsKLQkJICAgIHNldCBmbmFtZSBbc3RyaW5nIHJhbmdlIFtsaW5kZXggJGxpbmUgMF0gMiBlbmRdCi0JCX0gZWxzZSB7Ci0JCSAgICBzZXQgZm5hbWUgW3N0cmluZyByYW5nZSAkbGluZSAyIFtleHByIHskaSAtIDF9XV0KLQkJfQotCSAgICB9Ci0JICAgIG1ha2VkaWZmaGRyICRmbmFtZSAkaWRzCi0KLQl9IGVsc2VpZiB7IVtzdHJpbmcgY29tcGFyZSAtbGVuZ3RoIDE2ICIqIFVubWVyZ2VkIHBhdGggIiAkbGluZV19IHsKLQkgICAgc2V0IGZuYW1lIFtlbmNvZGluZyBjb252ZXJ0ZnJvbSBbc3RyaW5nIHJhbmdlICRsaW5lIDE2IGVuZF1dCi0JICAgICRjdGV4dCBpbnNlcnQgZW5kICJcbiIKLQkgICAgc2V0IGN1cmRpZmZzdGFydCBbJGN0ZXh0IGluZGV4ICJlbmQgLSAxYyJdCi0JICAgIGxhcHBlbmQgY3RleHRfZmlsZV9uYW1lcyAkZm5hbWUKLQkgICAgbGFwcGVuZCBjdGV4dF9maWxlX2xpbmVzIFtsaW5kZXggW3NwbGl0ICRjdXJkaWZmc3RhcnQgIi4iXSAwXQotCSAgICAkY3RleHQgaW5zZXJ0IGVuZCAiJGxpbmVcbiIgZmlsZXNlcAotCSAgICBzZXQgaSBbbHNlYXJjaCAtZXhhY3QgJHRyZWVkaWZmcygkaWRzKSAkZm5hbWVdCi0JICAgIGlmIHskaSA+PSAwfSB7Ci0JCXNldGlubGlzdCBkaWZmZmlsZXN0YXJ0ICRpICRjdXJkaWZmc3RhcnQKLQkgICAgfQotCi0JfSBlbHNlaWYgeyFbc3RyaW5nIGNvbXBhcmUgLWxlbmd0aCAyICJAQCIgJGxpbmVdfSB7Ci0JICAgIHJlZ2V4cCB7XkBAK30gJGxpbmUgYXRzCi0JICAgIHNldCBsaW5lIFtlbmNvZGluZyBjb252ZXJ0ZnJvbSAkZGlmZmVuY29kaW5nICRsaW5lXQotCSAgICAkY3RleHQgaW5zZXJ0IGVuZCAiJGxpbmVcbiIgaHVua3NlcAotCSAgICBpZiB7W3JlZ2V4cCB7IFwrKFxkKyksXGQrIEBAfSAkbGluZSBtIG5sXX0gewotCQlzZXQgZGlmZmxpbmUgJG5sCi0JICAgIH0KLQkgICAgc2V0IGRpZmZucGFyZW50cyBbZXhwciB7W3N0cmluZyBsZW5ndGggJGF0c10gLSAxfV0KLQkgICAgc2V0IGRpZmZpbmhkciAwCi0KLQl9IGVsc2VpZiB7IVtzdHJpbmcgY29tcGFyZSAtbGVuZ3RoIDEwICJTdWJtb2R1bGUgIiAkbGluZV19IHsKLQkgICAgIyBzdGFydCBvZiBhIG5ldyBzdWJtb2R1bGUKLQkgICAgaWYge1tyZWdleHAgLWluZGljZXMgIlxbMC05YS1mXF0rXFwuXFwuIiAkbGluZSBuYW1lZW5kXX0gewotCQlzZXQgZm5hbWUgW3N0cmluZyByYW5nZSAkbGluZSAxMCBbZXhwciBbbGluZGV4ICRuYW1lZW5kIDBdIC0gMl1dCi0JICAgIH0gZWxzZSB7Ci0JCXNldCBmbmFtZSBbc3RyaW5nIHJhbmdlICRsaW5lIDEwIFtleHByIFtzdHJpbmcgZmlyc3QgImNvbnRhaW5zICIgJGxpbmVdIC0gMl1dCi0JICAgIH0KLQkgICAgaWYgeyRjdXJyZGlmZnN1Ym1vZCAhPSAkZm5hbWV9IHsKLQkJJGN0ZXh0IGluc2VydCBlbmQgIlxuIjsgICAgICMgQWRkIG5ld2xpbmUgYWZ0ZXIgY29tbWl0IG1lc3NhZ2UKLQkgICAgfQotCSAgICBzZXQgY3VyZGlmZnN0YXJ0IFskY3RleHQgaW5kZXggImVuZCAtIDFjIl0KLQkgICAgbGFwcGVuZCBjdGV4dF9maWxlX25hbWVzICIiCi0JICAgIGlmIHskY3VycmRpZmZzdWJtb2QgIT0gJGZuYW1lfSB7Ci0JCWxhcHBlbmQgY3RleHRfZmlsZV9saW5lcyAkZm5hbWUKLQkJbWFrZWRpZmZoZHIgJGZuYW1lICRpZHMKLQkJc2V0IGN1cnJkaWZmc3VibW9kICRmbmFtZQotCQkkY3RleHQgaW5zZXJ0IGVuZCAiXG4kbGluZVxuIiBmaWxlc2VwCi0JICAgIH0gZWxzZSB7Ci0JCSRjdGV4dCBpbnNlcnQgZW5kICIkbGluZVxuIiBmaWxlc2VwCi0JICAgIH0KLQl9IGVsc2VpZiB7IVtzdHJpbmcgY29tcGFyZSAtbGVuZ3RoIDMgIiAgPiIgJGxpbmVdfSB7Ci0JICAgIHNldCAkY3VycmRpZmZzdWJtb2QgIiIKLQkgICAgc2V0IGxpbmUgW2VuY29kaW5nIGNvbnZlcnRmcm9tICRkaWZmZW5jb2RpbmcgJGxpbmVdCi0JICAgICRjdGV4dCBpbnNlcnQgZW5kICIkbGluZVxuIiBkcmVzdWx0Ci0JfSBlbHNlaWYgeyFbc3RyaW5nIGNvbXBhcmUgLWxlbmd0aCAzICIgIDwiICRsaW5lXX0gewotCSAgICBzZXQgJGN1cnJkaWZmc3VibW9kICIiCi0JICAgIHNldCBsaW5lIFtlbmNvZGluZyBjb252ZXJ0ZnJvbSAkZGlmZmVuY29kaW5nICRsaW5lXQotCSAgICAkY3RleHQgaW5zZXJ0IGVuZCAiJGxpbmVcbiIgZDAKLQl9IGVsc2VpZiB7JGRpZmZpbmhkcn0gewotCSAgICBpZiB7IVtzdHJpbmcgY29tcGFyZSAtbGVuZ3RoIDEyICJyZW5hbWUgZnJvbSAiICRsaW5lXX0gewotCQlzZXQgZm5hbWUgW3N0cmluZyByYW5nZSAkbGluZSBbZXhwciA2ICsgW3N0cmluZyBmaXJzdCAiIGZyb20gIiAkbGluZV0gXSBlbmRdCi0JCWlmIHtbc3RyaW5nIGluZGV4ICRmbmFtZSAwXSBlcSAiXCIifSB7Ci0JCSAgICBzZXQgZm5hbWUgW2xpbmRleCAkZm5hbWUgMF0KLQkJfQotCQlzZXQgZm5hbWUgW2VuY29kaW5nIGNvbnZlcnRmcm9tICRmbmFtZV0KLQkJc2V0IGkgW2xzZWFyY2ggLWV4YWN0ICR0cmVlZGlmZnMoJGlkcykgJGZuYW1lXQotCQlpZiB7JGkgPj0gMH0gewotCQkgICAgc2V0aW5saXN0IGRpZmZmaWxlc3RhcnQgJGkgJGN1cmRpZmZzdGFydAotCQl9Ci0JICAgIH0gZWxzZWlmIHshW3N0cmluZyBjb21wYXJlIC1sZW5ndGggMTAgJGxpbmUgInJlbmFtZSB0byAiXSB8fAotCQkgICAgICAhW3N0cmluZyBjb21wYXJlIC1sZW5ndGggOCAkbGluZSAiY29weSB0byAiXX0gewotCQlzZXQgZm5hbWUgW3N0cmluZyByYW5nZSAkbGluZSBbZXhwciA0ICsgW3N0cmluZyBmaXJzdCAiIHRvICIgJGxpbmVdIF0gZW5kXQotCQlpZiB7W3N0cmluZyBpbmRleCAkZm5hbWUgMF0gZXEgIlwiIn0gewotCQkgICAgc2V0IGZuYW1lIFtsaW5kZXggJGZuYW1lIDBdCi0JCX0KLQkJbWFrZWRpZmZoZHIgJGZuYW1lICRpZHMKLQkgICAgfSBlbHNlaWYge1tzdHJpbmcgY29tcGFyZSAtbGVuZ3RoIDMgJGxpbmUgIi0tLSJdID09IDB9IHsKLQkJIyBkbyBub3RoaW5nCi0JCWNvbnRpbnVlCi0JICAgIH0gZWxzZWlmIHtbc3RyaW5nIGNvbXBhcmUgLWxlbmd0aCAzICRsaW5lICIrKysiXSA9PSAwfSB7Ci0JCXNldCBkaWZmaW5oZHIgMAotCQljb250aW51ZQotCSAgICB9Ci0JICAgICRjdGV4dCBpbnNlcnQgZW5kICIkbGluZVxuIiBmaWxlc2VwCi0KLQl9IGVsc2UgewotCSAgICBzZXQgbGluZSBbc3RyaW5nIG1hcCB7XHgxQSBeWn0gXAotICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5jb2RpbmcgY29udmVydGZyb20gJGRpZmZlbmNvZGluZyAkbGluZV1dCi0JICAgICMgcGFyc2UgdGhlIHByZWZpeCAtIG9uZSAnICcsICctJyBvciAnKycgZm9yIGVhY2ggcGFyZW50Ci0JICAgIHNldCBwcmVmaXggW3N0cmluZyByYW5nZSAkbGluZSAwIFtleHByIHskZGlmZm5wYXJlbnRzIC0gMX1dXQotCSAgICBzZXQgdGFnIFtleHByIHskZGlmZm5wYXJlbnRzID4gMT8gIm0iOiAiZCJ9XQotCSAgICBzZXQgZG93b3JkcyBbZXhwciB7JHdvcmRkaWZmIG5lIFttYyAiTGluZSBkaWZmIl0gJiYgJGRpZmZucGFyZW50cyA9PSAxfV0KLQkgICAgc2V0IHdvcmRzX3ByZV9tYXJrdXAgIiIKLQkgICAgc2V0IHdvcmRzX3Bvc3RfbWFya3VwICIiCi0JICAgIGlmIHtbc3RyaW5nIHRyaW0gJHByZWZpeCAiIC0rIl0gZXEge319IHsKLQkJIyBwcmVmaXggb25seSBoYXMgIiAiLCAiLSIgYW5kICIrIiBpbiBpdDogbm9ybWFsIGRpZmYgbGluZQotCQlzZXQgbnVtIFtzdHJpbmcgZmlyc3QgIi0iICRwcmVmaXhdCi0JCWlmIHskZG93b3Jkc30gewotCQkgICAgc2V0IGxpbmUgW3N0cmluZyByYW5nZSAkbGluZSAxIGVuZF0KLQkJfQotCQlpZiB7JG51bSA+PSAwfSB7Ci0JCSAgICAjIHJlbW92ZWQgbGluZSwgZmlyc3QgcGFyZW50IHdpdGggbGluZSBpcyAkbnVtCi0JCSAgICBpZiB7JG51bSA+PSAkbWVyZ2VtYXh9IHsKLQkJCXNldCBudW0gIm1heCIKLQkJICAgIH0KLQkJICAgIGlmIHskZG93b3JkcyAmJiAkd29yZGRpZmYgZXEgW21jICJNYXJrdXAgd29yZHMiXX0gewotCQkJJGN0ZXh0IGluc2VydCBlbmQgIlxbLSRsaW5lLVxdIiAkdGFnJG51bQotCQkgICAgfSBlbHNlIHsKLQkJCSRjdGV4dCBpbnNlcnQgZW5kICIkbGluZSIgJHRhZyRudW0KLQkJICAgIH0KLQkJICAgIGlmIHshJGRvd29yZHN9IHsKLQkJCSRjdGV4dCBpbnNlcnQgZW5kICJcbiIgJHRhZyRudW0KLQkJICAgIH0KLQkJfSBlbHNlIHsKLQkJICAgIHNldCB0YWdzIHt9Ci0JCSAgICBpZiB7W3N0cmluZyBmaXJzdCAiKyIgJHByZWZpeF0gPj0gMH0gewotCQkJIyBhZGRlZCBsaW5lCi0JCQlsYXBwZW5kIHRhZ3MgJHt0YWd9cmVzdWx0Ci0JCQlpZiB7JGRpZmZucGFyZW50cyA+IDF9IHsKLQkJCSAgICBzZXQgbnVtIFtzdHJpbmcgZmlyc3QgIiAiICRwcmVmaXhdCi0JCQkgICAgaWYgeyRudW0gPj0gMH0gewotCQkJCWlmIHskbnVtID49ICRtZXJnZW1heH0gewotCQkJCSAgICBzZXQgbnVtICJtYXgiCi0JCQkJfQotCQkJCWxhcHBlbmQgdGFncyBtJG51bQotCQkJICAgIH0KLQkJCX0KLQkJCXNldCB3b3Jkc19wcmVfbWFya3VwICJ7KyIKLQkJCXNldCB3b3Jkc19wb3N0X21hcmt1cCAiK30iCi0JCSAgICB9Ci0JCSAgICBpZiB7JHRhcmdldGxpbmUgbmUge319IHsKLQkJCWlmIHskZGlmZmxpbmUgPT0gJHRhcmdldGxpbmV9IHsKLQkJCSAgICBzZXQgc2VlaGVyZSBbJGN0ZXh0IGluZGV4ICJlbmQgLSAxIGNoYXJzIl0KLQkJCSAgICBzZXQgdGFyZ2V0bGluZSB7fQotCQkJfSBlbHNlIHsKLQkJCSAgICBpbmNyIGRpZmZsaW5lCi0JCQl9Ci0JCSAgICB9Ci0JCSAgICBpZiB7JGRvd29yZHMgJiYgJHdvcmRkaWZmIGVxIFttYyAiTWFya3VwIHdvcmRzIl19IHsKLQkJCSRjdGV4dCBpbnNlcnQgZW5kICIkd29yZHNfcHJlX21hcmt1cCRsaW5lJHdvcmRzX3Bvc3RfbWFya3VwIiAkdGFncwotCQkgICAgfSBlbHNlIHsKLQkJCSRjdGV4dCBpbnNlcnQgZW5kICIkbGluZSIgJHRhZ3MKLQkJICAgIH0KLQkJICAgIGlmIHshJGRvd29yZHN9IHsKLQkJCSRjdGV4dCBpbnNlcnQgZW5kICJcbiIgJHRhZ3MKLQkJICAgIH0KLQkJfQotCSAgICB9IGVsc2VpZiB7JGRvd29yZHMgJiYgJHByZWZpeCBlcSAifiJ9IHsKLQkJJGN0ZXh0IGluc2VydCBlbmQgIlxuIiB7fQotCSAgICB9IGVsc2UgewotCQkjICJcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUiLAotCQkjIG9yIHNvbWV0aGluZyBlbHNlIHdlIGRvbid0IHJlY29nbml6ZQotCQkkY3RleHQgaW5zZXJ0IGVuZCAiJGxpbmVcbiIgaHVua3NlcAotCSAgICB9Ci0JfQorCXBhcnNlYmxvYmRpZmZsaW5lICRpZHMgJGxpbmUKICAgICB9Ci0gICAgaWYge1tpbmZvIGV4aXN0cyBzZWVoZXJlXX0gewotCW1hcmtfY3RleHRfbGluZSBbbGluZGV4IFtzcGxpdCAkc2VlaGVyZSAuXSAwXQotICAgIH0KLSAgICBtYXliZV9zY3JvbGxfY3RleHQgW2VvZiAkYmRmXQogICAgICRjdGV4dCBjb25mIC1zdGF0ZSBkaXNhYmxlZAorICAgIGJsb2JkaWZmbWF5YmVzZWVoZXJlIFtlb2YgJGJkZl0KICAgICBpZiB7W2VvZiAkYmRmXX0gewogCWNhdGNoIHtjbG9zZSAkYmRmfQogCXJldHVybiAwCkBAIC04MDM3LDYgKzc5NzYsMjExIEBACiAgICAgcmV0dXJuIFtleHByIHskbnIgPj0gMTAwMD8gMjogMX1dCiB9CiAKK3Byb2MgcGFyc2VibG9iZGlmZmxpbmUge2lkcyBsaW5lfSB7CisgICAgZ2xvYmFsIGN0ZXh0IGN1cmRpZmZzdGFydAorICAgIGdsb2JhbCBkaWZmbmV4dGhlYWQgZGlmZm5leHRub3RlIGRpZmZmaWxlc3RhcnQKKyAgICBnbG9iYWwgY3RleHRfZmlsZV9uYW1lcyBjdGV4dF9maWxlX2xpbmVzCisgICAgZ2xvYmFsIGRpZmZpbmhkciB0cmVlZGlmZnMgbWVyZ2VtYXggZGlmZm5wYXJlbnRzCisgICAgZ2xvYmFsIGRpZmZlbmNvZGluZyBqdW1wX3RvX2hlcmUgdGFyZ2V0bGluZSBkaWZmbGluZSBjdXJyZGlmZnN1Ym1vZAorICAgIGdsb2JhbCB3b3JkZGlmZiBkaWZmc2VlaGVyZQorCisgICAgaWYgeyFbc3RyaW5nIGNvbXBhcmUgLWxlbmd0aCA1ICJkaWZmICIgJGxpbmVdfSB7CisJaWYgeyFbcmVnZXhwIHteZGlmZiAoLS1jY3wtLWdpdCkgfSAkbGluZSBtIHR5cGVdfSB7CisJICAgIHNldCBsaW5lIFtlbmNvZGluZyBjb252ZXJ0ZnJvbSAkbGluZV0KKwkgICAgJGN0ZXh0IGluc2VydCBlbmQgIiRsaW5lXG4iIGh1bmtzZXAKKwkgICAgY29udGludWUKKwl9CisJIyBzdGFydCBvZiBhIG5ldyBmaWxlCisJc2V0IGRpZmZpbmhkciAxCisJJGN0ZXh0IGluc2VydCBlbmQgIlxuIgorCXNldCBjdXJkaWZmc3RhcnQgWyRjdGV4dCBpbmRleCAiZW5kIC0gMWMiXQorCWxhcHBlbmQgY3RleHRfZmlsZV9uYW1lcyAiIgorCWxhcHBlbmQgY3RleHRfZmlsZV9saW5lcyBbbGluZGV4IFtzcGxpdCAkY3VyZGlmZnN0YXJ0ICIuIl0gMF0KKwkkY3RleHQgaW5zZXJ0IGVuZCAiXG4iIGZpbGVzZXAKKworCWlmIHskdHlwZSBlcSAiLS1jYyJ9IHsKKwkgICAgIyBzdGFydCBvZiBhIG5ldyBmaWxlIGluIGEgbWVyZ2UgZGlmZgorCSAgICBzZXQgZm5hbWUgW3N0cmluZyByYW5nZSAkbGluZSAxMCBlbmRdCisJICAgIGlmIHtbbHNlYXJjaCAtZXhhY3QgJHRyZWVkaWZmcygkaWRzKSAkZm5hbWVdIDwgMH0geworCQlsYXBwZW5kIHRyZWVkaWZmcygkaWRzKSAkZm5hbWUKKwkJYWRkX2ZsaXN0IFtsaXN0ICRmbmFtZV0KKwkgICAgfQorCisJfSBlbHNlIHsKKwkgICAgc2V0IGxpbmUgW3N0cmluZyByYW5nZSAkbGluZSAxMSBlbmRdCisJICAgICMgSWYgdGhlIG5hbWUgaGFzbid0IGNoYW5nZWQgdGhlIGxlbmd0aCB3aWxsIGJlIG9kZCwKKwkgICAgIyB0aGUgbWlkZGxlIGNoYXIgd2lsbCBiZSBhIHNwYWNlLCBhbmQgdGhlIHR3byBiaXRzIGVpdGhlcgorCSAgICAjIHNpZGUgd2lsbCBiZSBhL25hbWUgYW5kIGIvbmFtZSwgb3IgImEvbmFtZSIgYW5kICJiL25hbWUiLgorCSAgICAjIElmIHRoZSBuYW1lIGhhcyBjaGFuZ2VkIHdlJ2xsIGdldCAicmVuYW1lIGZyb20iIGFuZAorCSAgICAjICJyZW5hbWUgdG8iIG9yICJjb3B5IGZyb20iIGFuZCAiY29weSB0byIgbGluZXMgZm9sbG93aW5nCisJICAgICMgdGhpcywgYW5kIHdlJ2xsIHVzZSB0aGVtIHRvIGdldCB0aGUgZmlsZW5hbWVzLgorCSAgICAjIFRoaXMgY29tcGxleGl0eSBpcyBuZWNlc3NhcnkgYmVjYXVzZSBzcGFjZXMgaW4gdGhlCisJICAgICMgZmlsZW5hbWUocykgZG9uJ3QgZ2V0IGVzY2FwZWQuCisJICAgIHNldCBsIFtzdHJpbmcgbGVuZ3RoICRsaW5lXQorCSAgICBzZXQgaSBbZXhwciB7JGwgLyAyfV0KKwkgICAgaWYgeyEoKCRsICYgMSkgJiYgW3N0cmluZyBpbmRleCAkbGluZSAkaV0gZXEgIiAiICYmCisJCSAgW3N0cmluZyByYW5nZSAkbGluZSAyIFtleHByIHskaSAtIDF9XV0gZXEgXAorCQkgICAgICBbc3RyaW5nIHJhbmdlICRsaW5lIFtleHByIHskaSArIDN9XSBlbmRdKX0geworCQlyZXR1cm4KKwkgICAgfQorCSAgICAjIHVuZXNjYXBlIGlmIHF1b3RlZCBhbmQgY2hvcCBvZmYgdGhlIGEvIGZyb20gdGhlIGZyb250CisJICAgIGlmIHtbc3RyaW5nIGluZGV4ICRsaW5lIDBdIGVxICJcIiJ9IHsKKwkJc2V0IGZuYW1lIFtzdHJpbmcgcmFuZ2UgW2xpbmRleCAkbGluZSAwXSAyIGVuZF0KKwkgICAgfSBlbHNlIHsKKwkJc2V0IGZuYW1lIFtzdHJpbmcgcmFuZ2UgJGxpbmUgMiBbZXhwciB7JGkgLSAxfV1dCisJICAgIH0KKwl9CisJbWFrZWRpZmZoZHIgJGZuYW1lICRpZHMKKworICAgIH0gZWxzZWlmIHshW3N0cmluZyBjb21wYXJlIC1sZW5ndGggMTYgIiogVW5tZXJnZWQgcGF0aCAiICRsaW5lXX0geworCXNldCBmbmFtZSBbZW5jb2RpbmcgY29udmVydGZyb20gW3N0cmluZyByYW5nZSAkbGluZSAxNiBlbmRdXQorCSRjdGV4dCBpbnNlcnQgZW5kICJcbiIKKwlzZXQgY3VyZGlmZnN0YXJ0IFskY3RleHQgaW5kZXggImVuZCAtIDFjIl0KKwlsYXBwZW5kIGN0ZXh0X2ZpbGVfbmFtZXMgJGZuYW1lCisJbGFwcGVuZCBjdGV4dF9maWxlX2xpbmVzIFtsaW5kZXggW3NwbGl0ICRjdXJkaWZmc3RhcnQgIi4iXSAwXQorCSRjdGV4dCBpbnNlcnQgZW5kICIkbGluZVxuIiBmaWxlc2VwCisJc2V0IGkgW2xzZWFyY2ggLWV4YWN0ICR0cmVlZGlmZnMoJGlkcykgJGZuYW1lXQorCWlmIHskaSA+PSAwfSB7CisJICAgIHNldGlubGlzdCBkaWZmZmlsZXN0YXJ0ICRpICRjdXJkaWZmc3RhcnQKKwl9CisKKyAgICB9IGVsc2VpZiB7IVtzdHJpbmcgY29tcGFyZSAtbGVuZ3RoIDIgIkBAIiAkbGluZV19IHsKKwlyZWdleHAge15AQCt9ICRsaW5lIGF0cworCXNldCBsaW5lIFtlbmNvZGluZyBjb252ZXJ0ZnJvbSAkZGlmZmVuY29kaW5nICRsaW5lXQorCSRjdGV4dCBpbnNlcnQgZW5kICIkbGluZVxuIiBodW5rc2VwCisJaWYge1tyZWdleHAgeyBcKyhcZCspLFxkKyBAQH0gJGxpbmUgbSBubF19IHsKKwkgICAgc2V0IGRpZmZsaW5lICRubAorCX0KKwlzZXQgZGlmZm5wYXJlbnRzIFtleHByIHtbc3RyaW5nIGxlbmd0aCAkYXRzXSAtIDF9XQorCXNldCBkaWZmaW5oZHIgMAorCisgICAgfSBlbHNlaWYgeyFbc3RyaW5nIGNvbXBhcmUgLWxlbmd0aCAxMCAiU3VibW9kdWxlICIgJGxpbmVdfSB7CisJIyBzdGFydCBvZiBhIG5ldyBzdWJtb2R1bGUKKwlpZiB7W3JlZ2V4cCAtaW5kaWNlcyAiXFswLTlhLWZcXStcXC5cXC4iICRsaW5lIG5hbWVlbmRdfSB7CisJICAgIHNldCBmbmFtZSBbc3RyaW5nIHJhbmdlICRsaW5lIDEwIFtleHByIFtsaW5kZXggJG5hbWVlbmQgMF0gLSAyXV0KKwl9IGVsc2UgeworCSAgICBzZXQgZm5hbWUgW3N0cmluZyByYW5nZSAkbGluZSAxMCBbZXhwciBbc3RyaW5nIGZpcnN0ICJjb250YWlucyAiICRsaW5lXSAtIDJdXQorCX0KKwlpZiB7JGN1cnJkaWZmc3VibW9kICE9ICRmbmFtZX0geworCSAgICAkY3RleHQgaW5zZXJ0IGVuZCAiXG4iOyAgICAgIyBBZGQgbmV3bGluZSBhZnRlciBjb21taXQgbWVzc2FnZQorCX0KKwlzZXQgY3VyZGlmZnN0YXJ0IFskY3RleHQgaW5kZXggImVuZCAtIDFjIl0KKwlsYXBwZW5kIGN0ZXh0X2ZpbGVfbmFtZXMgIiIKKwlpZiB7JGN1cnJkaWZmc3VibW9kICE9ICRmbmFtZX0geworCSAgICBsYXBwZW5kIGN0ZXh0X2ZpbGVfbGluZXMgJGZuYW1lCisJICAgIG1ha2VkaWZmaGRyICRmbmFtZSAkaWRzCisJICAgIHNldCBjdXJyZGlmZnN1Ym1vZCAkZm5hbWUKKwkgICAgJGN0ZXh0IGluc2VydCBlbmQgIlxuJGxpbmVcbiIgZmlsZXNlcAorCX0gZWxzZSB7CisJICAgICRjdGV4dCBpbnNlcnQgZW5kICIkbGluZVxuIiBmaWxlc2VwCisJfQorICAgIH0gZWxzZWlmIHshW3N0cmluZyBjb21wYXJlIC1sZW5ndGggMyAiICA+IiAkbGluZV19IHsKKwlzZXQgJGN1cnJkaWZmc3VibW9kICIiCisJc2V0IGxpbmUgW2VuY29kaW5nIGNvbnZlcnRmcm9tICRkaWZmZW5jb2RpbmcgJGxpbmVdCisJJGN0ZXh0IGluc2VydCBlbmQgIiRsaW5lXG4iIGRyZXN1bHQKKyAgICB9IGVsc2VpZiB7IVtzdHJpbmcgY29tcGFyZSAtbGVuZ3RoIDMgIiAgPCIgJGxpbmVdfSB7CisJc2V0ICRjdXJyZGlmZnN1Ym1vZCAiIgorCXNldCBsaW5lIFtlbmNvZGluZyBjb252ZXJ0ZnJvbSAkZGlmZmVuY29kaW5nICRsaW5lXQorCSRjdGV4dCBpbnNlcnQgZW5kICIkbGluZVxuIiBkMAorICAgIH0gZWxzZWlmIHskZGlmZmluaGRyfSB7CisJaWYgeyFbc3RyaW5nIGNvbXBhcmUgLWxlbmd0aCAxMiAicmVuYW1lIGZyb20gIiAkbGluZV19IHsKKwkgICAgc2V0IGZuYW1lIFtzdHJpbmcgcmFuZ2UgJGxpbmUgW2V4cHIgNiArIFtzdHJpbmcgZmlyc3QgIiBmcm9tICIgJGxpbmVdIF0gZW5kXQorCSAgICBpZiB7W3N0cmluZyBpbmRleCAkZm5hbWUgMF0gZXEgIlwiIn0geworCQlzZXQgZm5hbWUgW2xpbmRleCAkZm5hbWUgMF0KKwkgICAgfQorCSAgICBzZXQgZm5hbWUgW2VuY29kaW5nIGNvbnZlcnRmcm9tICRmbmFtZV0KKwkgICAgc2V0IGkgW2xzZWFyY2ggLWV4YWN0ICR0cmVlZGlmZnMoJGlkcykgJGZuYW1lXQorCSAgICBpZiB7JGkgPj0gMH0geworCQlzZXRpbmxpc3QgZGlmZmZpbGVzdGFydCAkaSAkY3VyZGlmZnN0YXJ0CisJICAgIH0KKwl9IGVsc2VpZiB7IVtzdHJpbmcgY29tcGFyZSAtbGVuZ3RoIDEwICRsaW5lICJyZW5hbWUgdG8gIl0gfHwKKwkJICAhW3N0cmluZyBjb21wYXJlIC1sZW5ndGggOCAkbGluZSAiY29weSB0byAiXX0geworCSAgICBzZXQgZm5hbWUgW3N0cmluZyByYW5nZSAkbGluZSBbZXhwciA0ICsgW3N0cmluZyBmaXJzdCAiIHRvICIgJGxpbmVdIF0gZW5kXQorCSAgICBpZiB7W3N0cmluZyBpbmRleCAkZm5hbWUgMF0gZXEgIlwiIn0geworCQlzZXQgZm5hbWUgW2xpbmRleCAkZm5hbWUgMF0KKwkgICAgfQorCSAgICBtYWtlZGlmZmhkciAkZm5hbWUgJGlkcworCX0gZWxzZWlmIHtbc3RyaW5nIGNvbXBhcmUgLWxlbmd0aCAzICRsaW5lICItLS0iXSA9PSAwfSB7CisJICAgICMgZG8gbm90aGluZworCSAgICByZXR1cm4KKwl9IGVsc2VpZiB7W3N0cmluZyBjb21wYXJlIC1sZW5ndGggMyAkbGluZSAiKysrIl0gPT0gMH0geworCSAgICBzZXQgZGlmZmluaGRyIDAKKwkgICAgcmV0dXJuCisJfQorCSRjdGV4dCBpbnNlcnQgZW5kICIkbGluZVxuIiBmaWxlc2VwCisKKyAgICB9IGVsc2UgeworCXNldCBsaW5lIFtzdHJpbmcgbWFwIHtceDFBIF5afSBcCisJCSAgICAgIFtlbmNvZGluZyBjb252ZXJ0ZnJvbSAkZGlmZmVuY29kaW5nICRsaW5lXV0KKwkjIHBhcnNlIHRoZSBwcmVmaXggLSBvbmUgJyAnLCAnLScgb3IgJysnIGZvciBlYWNoIHBhcmVudAorCXNldCBwcmVmaXggW3N0cmluZyByYW5nZSAkbGluZSAwIFtleHByIHskZGlmZm5wYXJlbnRzIC0gMX1dXQorCXNldCB0YWcgW2V4cHIgeyRkaWZmbnBhcmVudHMgPiAxPyAibSI6ICJkIn1dCisJc2V0IGRvd29yZHMgW2V4cHIgeyR3b3JkZGlmZiBuZSBbbWMgIkxpbmUgZGlmZiJdICYmICRkaWZmbnBhcmVudHMgPT0gMX1dCisJc2V0IHdvcmRzX3ByZV9tYXJrdXAgIiIKKwlzZXQgd29yZHNfcG9zdF9tYXJrdXAgIiIKKwlpZiB7W3N0cmluZyB0cmltICRwcmVmaXggIiAtKyJdIGVxIHt9fSB7CisJICAgICMgcHJlZml4IG9ubHkgaGFzICIgIiwgIi0iIGFuZCAiKyIgaW4gaXQ6IG5vcm1hbCBkaWZmIGxpbmUKKwkgICAgc2V0IG51bSBbc3RyaW5nIGZpcnN0ICItIiAkcHJlZml4XQorCSAgICBpZiB7JGRvd29yZHN9IHsKKwkJc2V0IGxpbmUgW3N0cmluZyByYW5nZSAkbGluZSAxIGVuZF0KKwkgICAgfQorCSAgICBpZiB7JG51bSA+PSAwfSB7CisJCSMgcmVtb3ZlZCBsaW5lLCBmaXJzdCBwYXJlbnQgd2l0aCBsaW5lIGlzICRudW0KKwkJaWYgeyRudW0gPj0gJG1lcmdlbWF4fSB7CisJCSAgICBzZXQgbnVtICJtYXgiCisJCX0KKwkJaWYgeyRkb3dvcmRzICYmICR3b3JkZGlmZiBlcSBbbWMgIk1hcmt1cCB3b3JkcyJdfSB7CisJCSAgICAkY3RleHQgaW5zZXJ0IGVuZCAiXFstJGxpbmUtXF0iICR0YWckbnVtCisJCX0gZWxzZSB7CisJCSAgICAkY3RleHQgaW5zZXJ0IGVuZCAiJGxpbmUiICR0YWckbnVtCisJCX0KKwkJaWYgeyEkZG93b3Jkc30geworCQkgICAgJGN0ZXh0IGluc2VydCBlbmQgIlxuIiAkdGFnJG51bQorCQl9CisJICAgIH0gZWxzZSB7CisJCXNldCB0YWdzIHt9CisJCWlmIHtbc3RyaW5nIGZpcnN0ICIrIiAkcHJlZml4XSA+PSAwfSB7CisJCSAgICAjIGFkZGVkIGxpbmUKKwkJICAgIGxhcHBlbmQgdGFncyAke3RhZ31yZXN1bHQKKwkJICAgIGlmIHskZGlmZm5wYXJlbnRzID4gMX0geworCQkJc2V0IG51bSBbc3RyaW5nIGZpcnN0ICIgIiAkcHJlZml4XQorCQkJaWYgeyRudW0gPj0gMH0geworCQkJICAgIGlmIHskbnVtID49ICRtZXJnZW1heH0geworCQkJCXNldCBudW0gIm1heCIKKwkJCSAgICB9CisJCQkgICAgbGFwcGVuZCB0YWdzIG0kbnVtCisJCQl9CisJCSAgICB9CisJCSAgICBzZXQgd29yZHNfcHJlX21hcmt1cCAieysiCisJCSAgICBzZXQgd29yZHNfcG9zdF9tYXJrdXAgIit9IgorCQl9CisJCWlmIHskdGFyZ2V0bGluZSBuZSB7fX0geworCQkgICAgaWYgeyRkaWZmbGluZSA9PSAkdGFyZ2V0bGluZX0geworCQkJc2V0IGRpZmZzZWVoZXJlIFskY3RleHQgaW5kZXggImVuZCAtIDEgY2hhcnMiXQorCQkJc2V0IHRhcmdldGxpbmUge30KKwkJICAgIH0gZWxzZSB7CisJCQlpbmNyIGRpZmZsaW5lCisJCSAgICB9CisJCX0KKwkJaWYgeyRkb3dvcmRzICYmICR3b3JkZGlmZiBlcSBbbWMgIk1hcmt1cCB3b3JkcyJdfSB7CisJCSAgICAkY3RleHQgaW5zZXJ0IGVuZCAiJHdvcmRzX3ByZV9tYXJrdXAkbGluZSR3b3Jkc19wb3N0X21hcmt1cCIgJHRhZ3MKKwkJfSBlbHNlIHsKKwkJICAgICRjdGV4dCBpbnNlcnQgZW5kICIkbGluZSIgJHRhZ3MKKwkJfQorCQlpZiB7ISRkb3dvcmRzfSB7CisJCSAgICAkY3RleHQgaW5zZXJ0IGVuZCAiXG4iICR0YWdzCisJCX0KKwkgICAgfQorCX0gZWxzZWlmIHskZG93b3JkcyAmJiAkcHJlZml4IGVxICJ+In0geworCSAgICAkY3RleHQgaW5zZXJ0IGVuZCAiXG4iIHt9CisJfSBlbHNlIHsKKwkgICAgIyAiXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlIiwKKwkgICAgIyBvciBzb21ldGhpbmcgZWxzZSB3ZSBkb24ndCByZWNvZ25pemUKKwkgICAgJGN0ZXh0IGluc2VydCBlbmQgIiRsaW5lXG4iIGh1bmtzZXAKKwl9CisgICAgfQorfQorCiBwcm9jIGNoYW5nZWRpZmZkaXNwIHt9IHsKICAgICBnbG9iYWwgY3RleHQgZGlmZmVsaWRlCiAKQEAgLTEwODc4LDYgKzExMDIyLDIzIEBACiAgICAgcmV0dXJuIFtsaXN0ICR4ICR5ICR6XQogfQogCitwcm9jIGFkZF90YWdfY3RleHQge3RhZ30geworICAgIGdsb2JhbCBjdGV4dCBjYWNoZWRfdGFnY29udGVudCB0YWdpZHMKKworICAgIGlmIHshW2luZm8gZXhpc3RzIGNhY2hlZF90YWdjb250ZW50KCR0YWcpXX0geworCWNhdGNoIHsKKwkgICAgc2V0IGNhY2hlZF90YWdjb250ZW50KCR0YWcpIFtleGVjIGdpdCBjYXQtZmlsZSAtcCAkdGFnXQorCX0KKyAgICB9CisgICAgJGN0ZXh0IGluc2VydCBlbmQgIlttYyAiVGFnIl06ICR0YWdcbiIgYm9sZAorICAgIGlmIHtbaW5mbyBleGlzdHMgY2FjaGVkX3RhZ2NvbnRlbnQoJHRhZyldfSB7CisJc2V0IHRleHQgJGNhY2hlZF90YWdjb250ZW50KCR0YWcpCisgICAgfSBlbHNlIHsKKwlzZXQgdGV4dCAiW21jICJJZCJdOiAgJHRhZ2lkcygkdGFnKSIKKyAgICB9CisgICAgYXBwZW5kd2l0aGxpbmtzICR0ZXh0IHt9Cit9CisKIHByb2Mgc2hvd3RhZyB7dGFnIGlzbmV3fSB7CiAgICAgZ2xvYmFsIGN0ZXh0IGNhY2hlZF90YWdjb250ZW50IHRhZ2lkcyBsaW5rbnVtIHRhZ29iamlkCiAKQEAgLTEwODg4LDE3ICsxMTA0OSwyOCBAQAogICAgIGNsZWFyX2N0ZXh0CiAgICAgc2V0dGFicyAwCiAgICAgc2V0IGxpbmtudW0gMAotICAgIGlmIHshW2luZm8gZXhpc3RzIGNhY2hlZF90YWdjb250ZW50KCR0YWcpXX0gewotCWNhdGNoIHsKLSAgICAgICAgICAgc2V0IGNhY2hlZF90YWdjb250ZW50KCR0YWcpIFtleGVjIGdpdCBjYXQtZmlsZSAtcCAkdGFnXQotCX0KKyAgICBhZGRfdGFnX2N0ZXh0ICR0YWcKKyAgICBtYXliZV9zY3JvbGxfY3RleHQgMQorICAgICRjdGV4dCBjb25mIC1zdGF0ZSBkaXNhYmxlZAorICAgIGluaXRfZmxpc3Qge30KK30KKworcHJvYyBzaG93dGFncyB7aWQgaXNuZXd9IHsKKyAgICBnbG9iYWwgaWR0YWdzIGN0ZXh0IGxpbmtudW0KKworICAgIGlmIHskaXNuZXd9IHsKKwlhZGR0b2hpc3RvcnkgW2xpc3Qgc2hvd3RhZ3MgJGlkIDBdIHNhdmVjdGV4dHBvcwogICAgIH0KLSAgICBpZiB7W2luZm8gZXhpc3RzIGNhY2hlZF90YWdjb250ZW50KCR0YWcpXX0gewotCXNldCB0ZXh0ICRjYWNoZWRfdGFnY29udGVudCgkdGFnKQotICAgIH0gZWxzZSB7Ci0Jc2V0IHRleHQgIlttYyAiVGFnIl06ICR0YWdcblttYyAiSWQiXTogICR0YWdpZHMoJHRhZykiCisgICAgJGN0ZXh0IGNvbmYgLXN0YXRlIG5vcm1hbAorICAgIGNsZWFyX2N0ZXh0CisgICAgc2V0dGFicyAwCisgICAgc2V0IGxpbmtudW0gMAorICAgIHNldCBzZXAge30KKyAgICBmb3JlYWNoIHRhZyAkaWR0YWdzKCRpZCkgeworCSRjdGV4dCBpbnNlcnQgZW5kICRzZXAKKwlhZGRfdGFnX2N0ZXh0ICR0YWcKKwlzZXQgc2VwICJcblxuIgogICAgIH0KLSAgICBhcHBlbmR3aXRobGlua3MgJHRleHQge30KICAgICBtYXliZV9zY3JvbGxfY3RleHQgMQogICAgICRjdGV4dCBjb25mIC1zdGF0ZSBkaXNhYmxlZAogICAgIGluaXRfZmxpc3Qge30KQEAgLTExOTE1LDcgKzEyMDg3LDI5IEBACiAjIyBBbmQgZXZlbnR1YWxseSBsb2FkIHRoZSBhY3R1YWwgbWVzc2FnZSBjYXRhbG9nCiA6Om1zZ2NhdDo6bWNsb2FkICRnaXRrX21zZ3NkaXIKIAotY2F0Y2gge3NvdXJjZSB+Ly5naXRrfQorY2F0Y2ggeworICAgICMgZm9sbG93IHRoZSBYREcgYmFzZSBkaXJlY3Rvcnkgc3BlY2lmaWNhdGlvbiBieSBkZWZhdWx0LiBTZWUKKyAgICAjIGh0dHA6Ly9zdGFuZGFyZHMuZnJlZWRlc2t0b3Aub3JnL2Jhc2VkaXItc3BlYy9iYXNlZGlyLXNwZWMtbGF0ZXN0Lmh0bWwKKyAgICBpZiB7W2luZm8gZXhpc3RzIGVudihYREdfQ09ORklHX0hPTUUpXSAmJiAkZW52KFhER19DT05GSUdfSE9NRSkgbmUgIiJ9IHsKKwkjIFhER19DT05GSUdfSE9NRSBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQKKwlzZXQgY29uZmlnX2ZpbGUgW2ZpbGUgam9pbiAkZW52KFhER19DT05GSUdfSE9NRSkgZ2l0IGdpdGtdCisJc2V0IGNvbmZpZ19maWxlX3RtcCBbZmlsZSBqb2luICRlbnYoWERHX0NPTkZJR19IT01FKSBnaXQgZ2l0ay10bXBdCisgICAgfSBlbHNlIHsKKwkjIGRlZmF1bHQgWERHX0NPTkZJR19IT01FCisJc2V0IGNvbmZpZ19maWxlICJ+Ly5jb25maWcvZ2l0L2dpdGsiCisJc2V0IGNvbmZpZ19maWxlX3RtcCAifi8uY29uZmlnL2dpdC9naXRrLXRtcCIKKyAgICB9CisgICAgaWYgeyFbZmlsZSBleGlzdHMgJGNvbmZpZ19maWxlXX0geworCSMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgdXNlIHRoZSBvbGQgY29uZmlnIGZpbGUgaWYgaXQgZXhpc3RzCisJaWYge1tmaWxlIGV4aXN0cyAifi8uZ2l0ayJdfSB7CisJICAgIHNldCBjb25maWdfZmlsZSAifi8uZ2l0ayIKKwkgICAgc2V0IGNvbmZpZ19maWxlX3RtcCAifi8uZ2l0ay10bXAiCisJfSBlbHNlaWYgeyFbZmlsZSBleGlzdHMgW2ZpbGUgZGlybmFtZSAkY29uZmlnX2ZpbGVdXX0geworCSAgICBmaWxlIG1rZGlyIFtmaWxlIGRpcm5hbWUgJGNvbmZpZ19maWxlXQorCX0KKyAgICB9CisgICAgc291cmNlICRjb25maWdfZmlsZQorfQogCiBwYXJzZWZvbnQgbWFpbmZvbnQgJG1haW5mb250CiBldmFsIGZvbnQgY3JlYXRlIG1haW5mb250IFtmb250ZmxhZ3MgbWFpbmZvbnRdCmRpZmYgLS1naXQgYS9naXRrLWdpdC9wby9iZy5wbyBiL2dpdGstZ2l0L3BvL2JnLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4MjM5N2UKLS0tIC9kZXYvbnVsbAorKysgYi9naXRrLWdpdC9wby9iZy5wbwpAQCAtMCwwICsxLDEzMzQgQEAKKyMgQnVsZ2FyaWFuIHRyYW5zbGF0aW9uIG9mIGdpdGsgcG8tZmlsZS4KKyMgQ29weXJpZ2h0IChDKSAyMDE0IEFsZXhhbmRlciBTaG9wb3YgPGFzaEBrYW1iYW5hcmlhLm9yZz4uCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBnaXQgcGFja2FnZS4KKyMgQWxleGFuZGVyIFNob3BvdiA8YXNoQGthbWJhbmFyaWEub3JnPiwgMjAxNC4KKyMKKyMKK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGdpdGsgbWFzdGVyXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDEwLTAxLTI2IDE1OjQ3LTA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE0LTAxLTA4IDA4OjAzKzAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IEFsZXhhbmRlciBTaG9wb3YgPGFzaEBrYW1iYW5hcmlhLm9yZz5cbiIKKyJMYW5ndWFnZS1UZWFtOiBCdWxnYXJpYW4gPGRpY3RAZnNhLWJnLm9yZz5cbiIKKyJMYW5ndWFnZTogYmdcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKKworIzogZ2l0azoxNDAKK21zZ2lkICJDb3VsZG4ndCBnZXQgbGlzdCBvZiB1bm1lcmdlZCBmaWxlczoiCittc2dzdHIgItCh0L/QuNGB0YrQutGK0YIg0YEg0L3QtdGB0LvQtdGC0Lgg0YTQsNC50LvQvtCy0LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0L7Qu9GD0YfQtdC9OiIKKworIzogZ2l0azoyMTIgZ2l0azoyMzUzCittc2dpZCAiQ29sb3Igd29yZHMiCittc2dzdHIgItCe0YbQstC10YLRj9Cy0LDQvdC1INC90LAg0LTRg9C80LjRgtC1IgorCisjOiBnaXRrOjIxNyBnaXRrOjIzNTMgZ2l0azo4MTAzIGdpdGs6ODEzNgorbXNnaWQgIk1hcmt1cCB3b3JkcyIKK21zZ3N0ciAi0J7RgtCx0LXQu9GP0LfQstCw0L3QtSDQvdCwINC00YPQvNC40YLQtSIKKworIzogZ2l0azozMjIKK21zZ2lkICJFcnJvciBwYXJzaW5nIHJldmlzaW9uczoiCittc2dzdHIgItCT0YDQtdGI0LrQsCDQv9GA0Lgg0YDQsNC30LHQvtGAINC90LAg0LLQtdGA0YHQuNC40YLQtToiCisKKyM6IGdpdGs6Mzc4Cittc2dpZCAiRXJyb3IgZXhlY3V0aW5nIC0tYXJnc2NtZCBjb21tYW5kOiIKK21zZ3N0ciAi0JPRgNC10YjQutCwINC/0YDQuCDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwINC60L7QvNCw0L3QtNCw0YLQsCDRgSDigJ4tLWFyZ3NjbWTigJwuIgorCisjOiBnaXRrOjM5MQorbXNnaWQgIk5vIGZpbGVzIHNlbGVjdGVkOiAtLW1lcmdlIHNwZWNpZmllZCBidXQgbm8gZmlsZXMgYXJlIHVubWVyZ2VkLiIKK21zZ3N0ciAi0J3QtSDRgdCwINC40LfQsdGA0LDQvdC4INGE0LDQudC70L7QstC1IOKAlCDRg9C60LDQt9Cw0L3QsCDQtSDQvtC/0YbQuNGP0YLQsCDigJ4tLW1lcmdl4oCcLCDQvdC+INC90Y/QvNCwINC90LXRgdC70LXRgtC4INGE0LDQudC70L7QstC1LiIKKworIzogZ2l0azozOTQKK21zZ2lkICIiCisiTm8gZmlsZXMgc2VsZWN0ZWQ6IC0tbWVyZ2Ugc3BlY2lmaWVkIGJ1dCBubyB1bm1lcmdlZCBmaWxlcyBhcmUgd2l0aGluIGZpbGUgIgorImxpbWl0LiIKK21zZ3N0ciAi0J3QtSDRgdCwINC40LfQsdGA0LDQvdC4INGE0LDQudC70L7QstC1IOKAlCDRg9C60LDQt9Cw0L3QsCDQtSDQvtC/0YbQuNGP0YLQsCDigJ4tLW1lcmdl4oCcLCDQvdC+INC90Y/QvNCwINC90LXRgdC70LXRgtC4INGE0LDQudC70L7QstC1INCyINC+0LPRgNCw0L3QuNGH0LXQvdC40Y/RgtCwLiIKKworIzogZ2l0azo0MTYgZ2l0azo1NjQKK21zZ2lkICJFcnJvciBleGVjdXRpbmcgZ2l0IGxvZzoiCittc2dzdHIgItCT0YDQtdGI0LrQsCDQv9GA0Lgg0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDigJ5naXQgbG9n4oCcOiIKKworIzogZ2l0azo0MzQgZ2l0azo1ODAKK21zZ2lkICJSZWFkaW5nIgorbXNnc3RyICLQn9GA0L7Rh9C40YLQsNC90LUiCisKKyM6IGdpdGs6NDk0IGdpdGs6NDQyOQorbXNnaWQgIlJlYWRpbmcgY29tbWl0cy4uLiIKK21zZ3N0ciAi0J/RgNC+0YfQuNGC0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsOKApiIKKworIzogZ2l0azo0OTcgZ2l0azoxNjM1IGdpdGs6NDQzMgorbXNnaWQgIk5vIGNvbW1pdHMgc2VsZWN0ZWQiCittc2dzdHIgItCd0LUg0YHQsCDQuNC30LHRgNCw0L3QuCDQv9C+0LTQsNCy0LDQvdC40Y8iCisKKyM6IGdpdGs6MTUwOQorbXNnaWQgIkNhbid0IHBhcnNlIGdpdCBsb2cgb3V0cHV0OiIKK21zZ3N0ciAi0JjQt9GF0L7QtNGK0YIg0L7RgiDigJ5naXQgbG9n4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCw0L3QsNC70LjQt9C40YDQsDoiCisKKyM6IGdpdGs6MTczOAorbXNnaWQgIk5vIGNvbW1pdCBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgItCb0LjQv9GB0LLQsCDQuNC90YTQvtGA0LzQsNGG0LjRjyDQt9CwINC/0L7QtNCw0LLQsNC90LjRjyIKKworIzogZ2l0azoxODk1Cittc2dpZCAibWMiCittc2dzdHIgIm1jIgorCisjOiBnaXRrOjE5MzAgZ2l0azo0MjIyIGdpdGs6OTU1MiBnaXRrOjExMTIyIGdpdGs6MTE0MDEKK21zZ2lkICJPSyIKK21zZ3N0ciAi0JTQvtCx0YDQtSIKKworIzogZ2l0azoxOTMyIGdpdGs6NDIyNCBnaXRrOjkwNzkgZ2l0azo5MTU4IGdpdGs6OTI3NCBnaXRrOjkzMjMgZ2l0azo5NTU0CisjOiBnaXRrOjExMTIzIGdpdGs6MTE0MDIKK21zZ2lkICJDYW5jZWwiCittc2dzdHIgItCe0YLQutCw0LciCisKKyM6IGdpdGs6MjA2NworbXNnaWQgIlVwZGF0ZSIKK21zZ3N0ciAi0J7QsdC90L7QstGP0LLQsNC90LUiCisKKyM6IGdpdGs6MjA2OAorbXNnaWQgIlJlbG9hZCIKK21zZ3N0ciAi0J/RgNC10LfQsNGA0LXQttC00LDQvdC1IgorCisjOiBnaXRrOjIwNjkKK21zZ2lkICJSZXJlYWQgcmVmZXJlbmNlcyIKK21zZ3N0ciAi0J3QsNC90L7QstC+INC/0YDQvtGH0LjRgtCw0L3QtSDQvdCwINC90LDRgdGC0YDQvtC50LrQuNGC0LUiCisKKyM6IGdpdGs6MjA3MAorbXNnaWQgIkxpc3QgcmVmZXJlbmNlcyIKK21zZ3N0ciAi0JjQt9Cx0YDQvtGP0LLQsNC90LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1IgorCisjOiBnaXRrOjIwNzIKK21zZ2lkICJTdGFydCBnaXQgZ3VpIgorbXNnc3RyICLQodGC0LDRgNGC0LjRgNCw0L3QtSDQvdCwIGdpdCBndWkiCisKKyM6IGdpdGs6MjA3NAorbXNnaWQgIlF1aXQiCittc2dzdHIgItCh0L/QuNGA0LDQvdC1INC90LAg0L/RgNC+0LPRgNCw0LzQsNGC0LAiCisKKyM6IGdpdGs6MjA2NgorbXNnaWQgIkZpbGUiCittc2dzdHIgItCk0LDQudC7IgorCisjOiBnaXRrOjIwNzgKK21zZ2lkICJQcmVmZXJlbmNlcyIKK21zZ3N0ciAi0J3QsNGB0YLRgNC+0LnQutC4IgorCisjOiBnaXRrOjIwNzcKK21zZ2lkICJFZGl0IgorbXNnc3RyICLQoNC10LTQsNC60YLQuNGA0LDQvdC1IgorCisjOiBnaXRrOjIwODIKK21zZ2lkICJOZXcgdmlldy4uLiIKK21zZ3N0ciAi0J3QvtCyINC40LfQs9C70LXQtOKApiIKKworIzogZ2l0azoyMDgzCittc2dpZCAiRWRpdCB2aWV3Li4uIgorbXNnc3RyICLQoNC10LTQsNC60YLQuNGA0LDQvdC1INC90LAg0LjQt9Cz0LvQtdC00LDigKYiCisKKyM6IGdpdGs6MjA4NAorbXNnaWQgIkRlbGV0ZSB2aWV3IgorbXNnc3RyICLQmNC30YLRgNC40LLQsNC90LUg0L3QsCDQuNC30LPQu9C10LTQsCIKKworIzogZ2l0azoyMDg2Cittc2dpZCAiQWxsIGZpbGVzIgorbXNnc3RyICLQktGB0LjRh9C60Lgg0YTQsNC50LvQvtCy0LUiCisKKyM6IGdpdGs6MjA4MSBnaXRrOjM5NzUKK21zZ2lkICJWaWV3IgorbXNnc3RyICLQmNC30LPQu9C10LQiCisKKyM6IGdpdGs6MjA5MSBnaXRrOjIxMDEgZ2l0azoyOTQ1Cittc2dpZCAiQWJvdXQgZ2l0ayIKK21zZ3N0ciAi0J7RgtC90L7RgdC90L4gZ2l0ayIKKworIzogZ2l0azoyMDkyIGdpdGs6MjEwNgorbXNnaWQgIktleSBiaW5kaW5ncyIKK21zZ3N0ciAi0JrQu9Cw0LLQuNGI0L3QuCDQutC+0LzQsdC40L3QsNGG0LjQuCIKKworIzogZ2l0azoyMDkwIGdpdGs6MjEwNQorbXNnaWQgIkhlbHAiCittc2dzdHIgItCf0L7QvNC+0YkiCisKKyM6IGdpdGs6MjE4MyBnaXRrOjg1MzUKK21zZ2lkICJTSEExIElEOiIKK21zZ3N0ciAiU0hBMToiCisKKyM6IGdpdGs6MjIyNworbXNnaWQgIlJvdyIKK21zZ3N0ciAi0KDQtdC0IgorCisjOiBnaXRrOjIyNjUKK21zZ2lkICJGaW5kIgorbXNnc3RyICLQotGK0YDRgdC10L3QtSIKKworIzogZ2l0azoyMjY2Cittc2dpZCAibmV4dCIKK21zZ3N0ciAi0YHQu9C10LTQstCw0YnQviIKKworIzogZ2l0azoyMjY3Cittc2dpZCAicHJldiIKK21zZ3N0ciAi0L/RgNC10LTQuNGI0L3QviIKKworIzogZ2l0azoyMjY4Cittc2dpZCAiY29tbWl0IgorbXNnc3RyICLQv9C+0LTQsNCy0LDQvdC1IgorCisjOiBnaXRrOjIyNzEgZ2l0azoyMjczIGdpdGs6NDU5MCBnaXRrOjQ2MTMgZ2l0azo0NjM3IGdpdGs6NjY1MyBnaXRrOjY3MjUKKyM6IGdpdGs6NjgxMAorbXNnaWQgImNvbnRhaW5pbmc6IgorbXNnc3RyICLRgdGK0LTRitGA0LbQsNGJ0L46IgorCisjOiBnaXRrOjIyNzQgZ2l0azozNDU3IGdpdGs6MzQ2MiBnaXRrOjQ2NjYKK21zZ2lkICJ0b3VjaGluZyBwYXRoczoiCittc2dzdHIgItC30LDRgdGP0LPQsNGJ0L4g0L/RitGC0LjRidCw0YLQsDoiCisKKyM6IGdpdGs6MjI3NSBnaXRrOjQ2ODAKK21zZ2lkICJhZGRpbmcvcmVtb3Zpbmcgc3RyaW5nOiIKK21zZ3N0ciAi0LTQvtCx0LDQstGP0YnQvi/Qv9GA0LXQvNCw0YXQstCw0YnQviDQvdC40LciCisKKyM6IGdpdGs6MjI3NiBnaXRrOjQ2ODIKK21zZ2lkICJjaGFuZ2luZyBsaW5lcyBtYXRjaGluZzoiCittc2dzdHIgItC/0YDQvtC80LXQvdGP0YnQviDRgNC10LTQvtCy0LUg0L3QsNC/0LDRgdCy0LDRidC4OiIKKworIzogZ2l0azoyMjg1IGdpdGs6MjI4NyBnaXRrOjQ2NjkKK21zZ2lkICJFeGFjdCIKK21zZ3N0ciAi0KLQvtGH0L3QviIKKworIzogZ2l0azoyMjg3IGdpdGs6NDc1NyBnaXRrOjY2MjEKK21zZ2lkICJJZ25DYXNlIgorbXNnc3RyICLQkdC10Lcg0YDQtdCz0LjRgdGC0YrRgCIKKworIzogZ2l0azoyMjg3IGdpdGs6NDYzOSBnaXRrOjQ3NTUgZ2l0azo2NjE3Cittc2dpZCAiUmVnZXhwIgorbXNnc3RyICLQoNC10LMuINC40LfRgC4iCisKKyM6IGdpdGs6MjI4OSBnaXRrOjIyOTAgZ2l0azo0Nzc3IGdpdGs6NDgwNyBnaXRrOjQ4MTQgZ2l0azo2NzQ2IGdpdGs6NjgxNAorbXNnaWQgIkFsbCBmaWVsZHMiCittc2dzdHIgItCS0YHQuNGH0LrQuCDQv9C+0LvQtdGC0LAiCisKKyM6IGdpdGs6MjI5MCBnaXRrOjQ3NzQgZ2l0azo0ODA3IGdpdGs6NjY4NAorbXNnaWQgIkhlYWRsaW5lIgorbXNnc3RyICLQn9GK0YDQstC4INGA0LXQtCIKKworIzogZ2l0azoyMjkxIGdpdGs6NDc3NCBnaXRrOjY2ODQgZ2l0azo2ODE0IGdpdGs6NzI4MworbXNnaWQgIkNvbW1lbnRzIgorbXNnc3RyICLQmtC+0LzQtdC90YLQsNGA0LgiCisKKyM6IGdpdGs6MjI5MSBnaXRrOjQ3NzQgZ2l0azo0Nzc5IGdpdGs6NDgxNCBnaXRrOjY2ODQgZ2l0azo3MjE4IGdpdGs6ODcxMworIzogZ2l0azo4NzI4Cittc2dpZCAiQXV0aG9yIgorbXNnc3RyICLQkNCy0YLQvtGAIgorCisjOiBnaXRrOjIyOTEgZ2l0azo0Nzc0IGdpdGs6NjY4NCBnaXRrOjcyMjAKK21zZ2lkICJDb21taXR0ZXIiCittc2dzdHIgItCf0L7QtNCw0LLQsNGJIgorCisjOiBnaXRrOjIzMjIKK21zZ2lkICJTZWFyY2giCittc2dzdHIgItCi0YrRgNGB0LXQvdC1IgorCisjOiBnaXRrOjIzMzAKK21zZ2lkICJEaWZmIgorbXNnc3RyICLQoNCw0LfQu9C40LrQuCIKKworIzogZ2l0azoyMzMyCittc2dpZCAiT2xkIHZlcnNpb24iCittc2dzdHIgItCh0YLQsNGA0LAg0LLQtdGA0YHQuNGPIgorCisjOiBnaXRrOjIzMzQKK21zZ2lkICJOZXcgdmVyc2lvbiIKK21zZ3N0ciAi0J3QvtCy0LAg0LLQtdGA0YHQuNGPIgorCisjOiBnaXRrOjIzMzYKK21zZ2lkICJMaW5lcyBvZiBjb250ZXh0IgorbXNnc3RyICLQmtC+0L3RgtC10LrRgdGCINCyINGA0LXQtNC+0LLQtSIKKworIzogZ2l0azoyMzQ2Cittc2dpZCAiSWdub3JlIHNwYWNlIGNoYW5nZSIKK21zZ3N0ciAi0J/RgNCw0LfQvdC40YLQtSDQt9C90LDRhtC4INCx0LXQtyDQt9C90LDRh9C10L3QuNC1IgorCisjOiBnaXRrOjIzNTAgZ2l0azoyMzUyIGdpdGs6Nzg0MiBnaXRrOjgwODkKK21zZ2lkICJMaW5lIGRpZmYiCittc2dzdHIgItCf0L7RgNC10LTQvtCy0Lgg0YDQsNC30LvQuNC60LgiCisKKyM6IGdpdGs6MjQxNworbXNnaWQgIlBhdGNoIgorbXNnc3RyICLQmtGA0YrQv9C60LAiCisKKyM6IGdpdGs6MjQxOQorbXNnaWQgIlRyZWUiCittc2dzdHIgItCU0YrRgNCy0L4iCisKKyM6IGdpdGs6MjU3NyBnaXRrOjI1OTcKK21zZ2lkICJEaWZmIHRoaXMgLT4gc2VsZWN0ZWQiCittc2dzdHIgItCg0LDQt9C70LjQutC4INC80LXQttC00YMg0YLQvtCy0LAg0Lgg0LjQt9Cx0YDQsNC90L7RgtC+IgorCisjOiBnaXRrOjI1NzggZ2l0azoyNTk4Cittc2dpZCAiRGlmZiBzZWxlY3RlZCAtPiB0aGlzIgorbXNnc3RyICLQoNCw0LfQu9C40LrQuCDQvNC10LbQtNGDINC40LfQsdGA0LDQvdC+0YLQviDQuCDRgtC+0LLQsCIKKworIzogZ2l0azoyNTc5IGdpdGs6MjU5OQorbXNnaWQgIk1ha2UgcGF0Y2giCittc2dzdHIgItCh0YrQt9C00LDQstCw0L3QtSDQvdCwINC60YDRitC/0LrQsCIKKworIzogZ2l0azoyNTgwIGdpdGs6OTEzNworbXNnaWQgIkNyZWF0ZSB0YWciCittc2dzdHIgItCh0YrQt9C00LDQstCw0L3QtSDQvdCwINC10YLQuNC60LXRgiIKKworIzogZ2l0azoyNTgxIGdpdGs6OTI1NAorbXNnaWQgIldyaXRlIGNvbW1pdCB0byBmaWxlIgorbXNnc3RyICLQl9Cw0L/QsNC30LLQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC10YLQviDQstGK0LIg0YTQsNC50LsiCisKKyM6IGdpdGs6MjU4MiBnaXRrOjkzMTEKK21zZ2lkICJDcmVhdGUgbmV3IGJyYW5jaCIKK21zZ3N0ciAi0KHRitC30LTQsNCy0LDQvdC1INC90LAg0L3QvtCyINC60LvQvtC9IgorCisjOiBnaXRrOjI1ODMKK21zZ2lkICJDaGVycnktcGljayB0aGlzIGNvbW1pdCIKK21zZ3N0ciAi0J7RgtCx0LjRgNCw0L3QtSDQvdCwINGC0L7QstCwINC/0L7QtNCw0LLQsNC90LUiCisKKyM6IGdpdGs6MjU4NAorbXNnaWQgIlJlc2V0IEhFQUQgYnJhbmNoIHRvIGhlcmUiCittc2dzdHIgItCf0YDQuNCy0LXQttC00LDQvdC1INC90LAg0LLRitGA0YXQsCDQvdCwINC60LvQvtC90LAg0LrRitC8INGC0LXQutGD0YnQvtGC0L4g0L/QvtC00LDQstCw0L3QtSIKKworIzogZ2l0azoyNTg1Cittc2dpZCAiTWFyayB0aGlzIGNvbW1pdCIKK21zZ3N0ciAi0J7RgtCx0LXQu9GP0LfQstCw0L3QtSDQvdCwINGC0L7QstCwINC/0L7QtNCw0LLQsNC90LUiCisKKyM6IGdpdGs6MjU4NgorbXNnaWQgIlJldHVybiB0byBtYXJrIgorbXNnc3RyICLQktGA0YrRidCw0L3QtSDQutGK0Lwg0L7RgtCx0LXQu9GP0LfQsNC90L7RgtC+INC/0L7QtNCw0LLQsNC90LUiCisKKyM6IGdpdGs6MjU4NworbXNnaWQgIkZpbmQgZGVzY2VuZGFudCBvZiB0aGlzIGFuZCBtYXJrIgorbXNnc3RyICLQntGC0LrRgNC40LLQsNC90LUg0Lgg0L7RgtCx0LXQu9GP0LfQstCw0L3QtSDQvdCwINC90LDRgdC70LXQtNC90LjRhtC40YLQtSIKKworIzogZ2l0azoyNTg4Cittc2dpZCAiQ29tcGFyZSB3aXRoIG1hcmtlZCBjb21taXQiCittc2dzdHIgItCh0YDQsNCy0L3QtdC90LjQtSDRgSDQvtGC0LHQtdC70Y/Qt9Cw0L3QvtGC0L4g0L/QvtC00LDQstCw0L3QtSIKKworIzogZ2l0azoyNTg5IGdpdGs6MjYwMAorbXNnaWQgIkRpZmYgdGhpcyAtPiBtYXJrZWQgY29tbWl0IgorbXNnc3RyICLQoNCw0LfQu9C40LrQuCDQvNC10LbQtNGDINGC0L7QstCwINC4INC+0YLQsdC10LvRj9C30LDQvdC+0YLQviIKKworIzogZ2l0azoyNTkwIGdpdGs6MjYwMQorbXNnaWQgIkRpZmYgbWFya2VkIGNvbW1pdCAtPiB0aGlzIgorbXNnc3RyICLQoNCw0LfQu9C40LrQuCDQvNC10LbQtNGDINC+0YLQsdC10LvRj9C30LDQvdC+0YLQviDQuCDRgtC+0LLQsCIKKworIzogZ2l0azoyNTkxCittc2dpZCAiUmV2ZXJ0IHRoaXMgY29tbWl0IgorbXNnc3RyICLQntGC0LzRj9C90LAg0L3QsCDRgtC+0LLQsCDQv9C+0LTQsNCy0LDQvdC1IgorCisjOiBnaXRrOjI2MDcKK21zZ2lkICJDaGVjayBvdXQgdGhpcyBicmFuY2giCittc2dzdHIgItCY0LfRgtC10LPQu9GP0L3QtSDQvdCwINGC0L7Qt9C4INC60LvQvtC9IgorCisjOiBnaXRrOjI2MDgKK21zZ2lkICJSZW1vdmUgdGhpcyBicmFuY2giCittc2dzdHIgItCY0LfRgtGA0LjQstCw0L3QtSDQvdCwINGC0L7Qt9C4INC60LvQvtC9IgorCisjOiBnaXRrOjI2MTUKK21zZ2lkICJIaWdobGlnaHQgdGhpcyB0b28iCittc2dzdHIgItCe0YLQsdC10LvRj9C30LLQsNC90LUg0Lgg0L3QsCDRgtC+0LLQsCIKKworIzogZ2l0azoyNjE2Cittc2dpZCAiSGlnaGxpZ2h0IHRoaXMgb25seSIKK21zZ3N0ciAi0J7RgtCx0LXQu9GP0LfQstCw0L3QtSDRgdCw0LzQviDQvdCwINGC0L7QstCwIgorCisjOiBnaXRrOjI2MTcKK21zZ2lkICJFeHRlcm5hbCBkaWZmIgorbXNnc3RyICLQktGK0L3RiNC90LAg0L/RgNC+0LPRgNCw0LzQsCDQt9CwINGA0LDQt9C70LjQutC4IgorCisjOiBnaXRrOjI2MTgKK21zZ2lkICJCbGFtZSBwYXJlbnQgY29tbWl0IgorbXNnc3RyICLQkNC90L7RgtC40YDQsNC90LUg0L3QsCDRgNC+0LTQuNGC0LXQu9GB0LrQvtGC0L4g0L/QvtC00LDQstCw0L3QtSIKKworIzogZ2l0azoyNjI1Cittc2dpZCAiU2hvdyBvcmlnaW4gb2YgdGhpcyBsaW5lIgorbXNnc3RyICLQn9C+0LrQsNC30LLQsNC90LUg0L3QsCDQv9GA0L7QuNC30YXQvtC00LAg0L3QsCDRgtC+0LfQuCDRgNC10LQiCisKKyM6IGdpdGs6MjYyNgorbXNnaWQgIlJ1biBnaXQgZ3VpIGJsYW1lIG9uIHRoaXMgbGluZSIKK21zZ3N0ciAi0JjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDigJ5naXQgZ3VpIGJsYW1l4oCcINCy0YrRgNGF0YMg0YLQvtC30Lgg0YDQtdC0IgorCisjOiBnaXRrOjI5NDcKK21zZ2lkICIiCisiXG4iCisiR2l0ayAtIGEgY29tbWl0IHZpZXdlciBmb3IgZ2l0XG4iCisiXG4iCisiQ29weXJpZ2h0IMKpIDIwMDUtMjAxMSBQYXVsIE1hY2tlcnJhc1xuIgorIlxuIgorIlVzZSBhbmQgcmVkaXN0cmlidXRlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UiCittc2dzdHIgIiIKKyJcbiIKKyJHaXRrIOKAlCDQstC40LfRg9Cw0LvQuNC30LDRhtC40Y8g0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINCyIEdpdFxuIgorIlxuIgorItCQ0LLRgtC+0YDRgdC60Lgg0L/RgNCw0LLQsDogwqkgMjAwNS0yMDExIFBhdWwgTWFja2VycmFzXG4iCisiXG4iCisi0JjQt9C/0L7Qu9C30LLQsNC50YLQtSDQuCDRgNCw0LfQv9GA0L7RgdGC0YDQsNC90Y/QstCw0LnRgtC1INC/0YDQuCDRg9GB0LvQvtCy0LjRj9GC0LAg0L3QsCDQntCf0Jsg0L3QsCDQk9Cd0KMiCisKKyM6IGdpdGs6Mjk1NSBnaXRrOjMwMjAgZ2l0azo5NzM4Cittc2dpZCAiQ2xvc2UiCittc2dzdHIgItCX0LDRgtCy0LDRgNGP0L3QtSIKKworIzogZ2l0azoyOTc2Cittc2dpZCAiR2l0ayBrZXkgYmluZGluZ3MiCittc2dzdHIgItCa0LvQsNCy0LjRiNC90Lgg0LrQvtC80LHQuNC90LDRhtC40LgiCisKKyM6IGdpdGs6Mjk3OQorbXNnaWQgIkdpdGsga2V5IGJpbmRpbmdzOiIKK21zZ3N0ciAi0JrQu9Cw0LLQuNGI0L3QuCDQutC+0LzQsdC40L3QsNGG0LjQuDoiCisKKyM6IGdpdGs6Mjk4MQorIywgdGNsLWZvcm1hdAorbXNnaWQgIjwlcy1RPlx0XHRRdWl0IgorbXNnc3RyICI8JXMtUT5cdFx00KHQv9C40YDQsNC90LUg0L3QsCDQv9GA0L7Qs9GA0LDQvNCw0YLQsCIKKworIzogZ2l0azoyOTgyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiPCVzLVc+XHRcdENsb3NlIHdpbmRvdyIKK21zZ3N0ciAiPCVzLVc+XHRcdNCX0LDRgtCy0LDRgNGP0L3QtSDQvdCwINC/0YDQvtC30L7RgNC10YbQsCIKKworIzogZ2l0azoyOTgzCittc2dpZCAiPEhvbWU+XHRcdE1vdmUgdG8gZmlyc3QgY29tbWl0IgorbXNnc3RyICI8SG9tZT5cdFx00JrRitC8INC/0YrRgNCy0L7RgtC+INC/0L7QtNCw0LLQsNC90LUiCisKKyM6IGdpdGs6Mjk4NAorbXNnaWQgIjxFbmQ+XHRcdE1vdmUgdG8gbGFzdCBjb21taXQiCittc2dzdHIgIjxFbmQ+XHRcdNCa0YrQvCDQv9C+0YHQu9C10LTQvdC+0YLQviDQv9C+0LTQsNCy0LDQvdC1IgorCisjOiBnaXRrOjI5ODUKK21zZ2lkICI8VXA+LCBwLCBrXHRNb3ZlIHVwIG9uZSBjb21taXQiCittc2dzdHIgIjxVcD4sIHAsIGtcdNCV0LTQvdC+INC/0L7QtNCw0LLQsNC90LUg0L3QsNCz0L7RgNC1IgorCisjOiBnaXRrOjI5ODYKK21zZ2lkICI8RG93bj4sIG4sIGpcdE1vdmUgZG93biBvbmUgY29tbWl0IgorbXNnc3RyICI8RG93bj4sIG4sIGpcdNCV0LTQvdC+INC/0L7QtNCw0LLQsNC90LUg0L3QsNC00L7Qu9GDIgorCisjOiBnaXRrOjI5ODcKK21zZ2lkICI8TGVmdD4sIHosIGhcdEdvIGJhY2sgaW4gaGlzdG9yeSBsaXN0IgorbXNnc3RyICI8TGVmdD4sIHosIGhcdNCd0LDQt9Cw0LQg0LIg0LjRgdGC0L7RgNC40Y/RgtCwIgorCisjOiBnaXRrOjI5ODgKK21zZ2lkICI8UmlnaHQ+LCB4LCBsXHRHbyBmb3J3YXJkIGluIGhpc3RvcnkgbGlzdCIKK21zZ3N0ciAiPFJpZ2h0PiwgeCwgbFx00J3QsNC/0YDQtdC0INCyINC40YHRgtC+0YDQuNGP0YLQsCIKKworIzogZ2l0azoyOTg5Cittc2dpZCAiPFBhZ2VVcD5cdE1vdmUgdXAgb25lIHBhZ2UgaW4gY29tbWl0IGxpc3QiCittc2dzdHIgIjxQYWdlVXA+XHTQldC00L3QsCDRgdGC0YDQsNC90LjRhtCwINC90LDQs9C+0YDQtSDQsiDRgdC/0LjRgdGK0LrQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwIgorCisjOiBnaXRrOjI5OTAKK21zZ2lkICI8UGFnZURvd24+XHRNb3ZlIGRvd24gb25lIHBhZ2UgaW4gY29tbWl0IGxpc3QiCittc2dzdHIgIjxQYWdlRG93bj5cdNCV0LTQvdCwINGB0YLRgNCw0L3QuNGG0LAg0L3QsNC00L7Qu9GDINCyINGB0L/QuNGB0YrQutCwINGBINC/0L7QtNCw0LLQsNC90LjRj9GC0LAiCisKKyM6IGdpdGs6Mjk5MQorIywgdGNsLWZvcm1hdAorbXNnaWQgIjwlcy1Ib21lPlx0U2Nyb2xsIHRvIHRvcCBvZiBjb21taXQgbGlzdCIKK21zZ3N0ciAiPCVzLUhvbWU+XHTQmtGK0Lwg0L3QsNGH0LDQu9C+0YLQviDQvdCwINGB0L/QuNGB0YrQutCwINGBINC/0L7QtNCw0LLQsNC90LjRj9GC0LAiCisKKyM6IGdpdGs6Mjk5MgorIywgdGNsLWZvcm1hdAorbXNnaWQgIjwlcy1FbmQ+XHRTY3JvbGwgdG8gYm90dG9tIG9mIGNvbW1pdCBsaXN0IgorbXNnc3RyICI8JXMtRW5kPlx00JrRitC8INC60YDQsNGPINC90LAg0YHQv9C40YHRitC60LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCIKKworIzogZ2l0azoyOTkzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiPCVzLVVwPlx0U2Nyb2xsIGNvbW1pdCBsaXN0IHVwIG9uZSBsaW5lIgorbXNnc3RyICI8JXMtVXA+XHTQn9GA0LjQtNCy0LjQttCy0LDQvdC1INC90LAg0YHQv9C40YHRitC60LAg0YEg0L/QvtC00LDQstCw0L3QuNGPINGBINC10LTQuNC9INGA0LXQtCDQvdCw0LPQvtGA0LUiCisKKyM6IGdpdGs6Mjk5NAorIywgdGNsLWZvcm1hdAorbXNnaWQgIjwlcy1Eb3duPlx0U2Nyb2xsIGNvbW1pdCBsaXN0IGRvd24gb25lIGxpbmUiCittc2dzdHIgIjwlcy1Eb3duPlx00J/RgNC40LTQstC40LbQstCw0L3QtSDQvdCwINGB0L/QuNGB0YrQutCwINGBINC/0L7QtNCw0LLQsNC90LjRjyDRgSDQtdC00LjQvSDRgNC10LQg0L3QsNC00L7Qu9GDIgorCisjOiBnaXRrOjI5OTUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICI8JXMtUGFnZVVwPlx0U2Nyb2xsIGNvbW1pdCBsaXN0IHVwIG9uZSBwYWdlIgorbXNnc3RyICI8JXMtUGFnZVVwPlx00J/RgNC40LTQstC40LbQstCw0L3QtSDQvdCwINGB0L/QuNGB0YrQutCwINGBINC/0L7QtNCw0LLQsNC90LjRjyDRgSDQtdC00L3QsCDRgdGC0YDQsNC90LjRhtCwINC90LDQs9C+0YDQtSIKKworIzogZ2l0azoyOTk2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiPCVzLVBhZ2VEb3duPlx0U2Nyb2xsIGNvbW1pdCBsaXN0IGRvd24gb25lIHBhZ2UiCittc2dzdHIgIjwlcy1QYWdlRG93bj5cdNCf0YDQuNC00LLQuNC20LLQsNC90LUg0L3QsCDRgdC/0LjRgdGK0LrQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y8g0YEg0LXQtNC90LAg0YHRgtGA0LDQvdC40YbQsCDQvdCw0LTQvtC70YMiCisKKyM6IGdpdGs6Mjk5NworbXNnaWQgIjxTaGlmdC1VcD5cdEZpbmQgYmFja3dhcmRzICh1cHdhcmRzLCBsYXRlciBjb21taXRzKSIKK21zZ3N0ciAiPFNoaWZ0LVVwPlx00KLRitGA0YHQtdC90LUg0L3QsNC30LDQtCAo0LLQuNC30YPQsNC70L3QviDQvdCw0LPQvtGA0LUsINC40YHRgtC+0YDQuNGH0LXRgdC60Lgg4oCUINC/0L7RgdC70LXQtNCy0LDRidC4KSIKKworIzogZ2l0azoyOTk4Cittc2dpZCAiPFNoaWZ0LURvd24+XHRGaW5kIGZvcndhcmRzIChkb3dud2FyZHMsIGVhcmxpZXIgY29tbWl0cykiCittc2dzdHIgIjxTaGlmdC1Eb3duPlx00KLRitGA0YHQtdC90LUg0L3QsNC/0YDQtdC0ICjQstC40LfRg9Cw0LvQvdC+INC90LDQtNC+0LvRgywg0LjRgdGC0L7RgNC40YfQtdGB0LrQuCDigJQg0L/RgNC10LTRhdC+0LbQtNCw0YnQuCkiCisKKyM6IGdpdGs6Mjk5OQorbXNnaWQgIjxEZWxldGU+LCBiXHRTY3JvbGwgZGlmZiB2aWV3IHVwIG9uZSBwYWdlIgorbXNnc3RyICI8RGVsZXRlPiwgYlx00J/RgNC40LTQstC40LbQstCw0L3QtSDQvdCwINC40LfQs9C70LXQtNCwINC30LAg0YDQsNC30LvQuNC60Lgg0LXQtNC90LAg0YHRgtGA0LDQvdC40YbQsCDQvdCw0LPQvtGA0LUiCisKKyM6IGdpdGs6MzAwMAorbXNnaWQgIjxCYWNrc3BhY2U+XHRTY3JvbGwgZGlmZiB2aWV3IHVwIG9uZSBwYWdlIgorbXNnc3RyICI8QmFja3NwYWNlPlx00J/RgNC40LTQstC40LbQstCw0L3QtSDQvdCwINC40LfQs9C70LXQtNCwINC30LAg0YDQsNC30LvQuNC60Lgg0LXQtNC90LAg0YHRgtGA0LDQvdC40YbQsCDQvdCw0LPQvtGA0LUiCisKKyM6IGdpdGs6MzAwMQorbXNnaWQgIjxTcGFjZT5cdFx0U2Nyb2xsIGRpZmYgdmlldyBkb3duIG9uZSBwYWdlIgorbXNnc3RyICI8U3BhY2U+XHRcdNCf0YDQuNC00LLQuNC20LLQsNC90LUg0L3QsCDQuNC30LPQu9C10LTQsCDQt9CwINGA0LDQt9C70LjQutC4INC10LTQvdCwINGB0YLRgNCw0L3QuNGG0LAg0L3QsNC00L7Qu9GDIgorCisjOiBnaXRrOjMwMDIKK21zZ2lkICJ1XHRcdFNjcm9sbCBkaWZmIHZpZXcgdXAgMTggbGluZXMiCittc2dzdHIgInVcdFx00J/RgNC40LTQstC40LbQstCw0L3QtSDQvdCwINC40LfQs9C70LXQtNCwINC30LAg0YDQsNC30LvQuNC60LggMTgg0YDQtdC00LAg0L3QsNCz0L7RgNC1IgorCisjOiBnaXRrOjMwMDMKK21zZ2lkICJkXHRcdFNjcm9sbCBkaWZmIHZpZXcgZG93biAxOCBsaW5lcyIKK21zZ3N0ciAiZFx0XHTQn9GA0LjQtNCy0LjQttCy0LDQvdC1INC90LAg0LjQt9Cz0LvQtdC00LAg0LfQsCDRgNCw0LfQu9C40LrQuCAxOCDRgNC10LTQsCDQvdCw0LTQvtC70YMiCisKKyM6IGdpdGs6MzAwNAorIywgdGNsLWZvcm1hdAorbXNnaWQgIjwlcy1GPlx0XHRGaW5kIgorbXNnc3RyICI8JXMtRj5cdFx00KLRitGA0YHQtdC90LUiCisKKyM6IGdpdGs6MzAwNQorIywgdGNsLWZvcm1hdAorbXNnaWQgIjwlcy1HPlx0XHRNb3ZlIHRvIG5leHQgZmluZCBoaXQiCittc2dzdHIgIjwlcy1HPlx0XHTQmtGK0Lwg0YHQu9C10LTQstCw0YnQsNGC0LAg0L/QvtGP0LLQsCIKKworIzogZ2l0azozMDA2Cittc2dpZCAiPFJldHVybj5cdE1vdmUgdG8gbmV4dCBmaW5kIGhpdCIKK21zZ3N0ciAiPFJldHVybj5cdNCa0YrQvCDRgdC70LXQtNCy0LDRidCw0YLQsCDQv9C+0Y/QstCwIgorCisjOiBnaXRrOjMwMDcKK21zZ2lkICIvXHRcdEZvY3VzIHRoZSBzZWFyY2ggYm94IgorbXNnc3RyICIvXHRcdNCk0L7QutGD0YEg0LLRitGA0YXRgyDQv9C+0LvQtdGC0L4g0LfQsCDRgtGK0YDRgdC10L3QtSIKKworIzogZ2l0azozMDA4Cittc2dpZCAiP1x0XHRNb3ZlIHRvIHByZXZpb3VzIGZpbmQgaGl0IgorbXNnc3RyICI/XHRcdNCa0YrQvCDQv9GA0LXQtNC40YjQvdCw0YLQsCDQv9C+0Y/QstCwIgorCisjOiBnaXRrOjMwMDkKK21zZ2lkICJmXHRcdFNjcm9sbCBkaWZmIHZpZXcgdG8gbmV4dCBmaWxlIgorbXNnc3RyICJmXHRcdNCf0YDQuNC00LLQuNC20LLQsNC90LUg0L3QsCDQuNC30LPQu9C10LTQsCDQt9CwINGA0LDQt9C70LjQutC4INC60YrQvCDRgdC70LXQtNCy0LDRidC40Y8g0YDQtdC0IgorCisjOiBnaXRrOjMwMTAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICI8JXMtUz5cdFx0U2VhcmNoIGZvciBuZXh0IGhpdCBpbiBkaWZmIHZpZXciCittc2dzdHIgIjwlcy1TPlx0XHTQotGK0YDRgdC10L3QtSDQvdCwINGB0LvQtdC00LLQsNGJ0LDRgtCwINC/0L7Rj9Cy0LAg0LIg0LjQt9Cz0LvQtdC00LAg0LfQsCDRgNCw0LfQu9C40LrQuCIKKworIzogZ2l0azozMDExCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiPCVzLVI+XHRcdFNlYXJjaCBmb3IgcHJldmlvdXMgaGl0IGluIGRpZmYgdmlldyIKK21zZ3N0ciAiPCVzLVI+XHRcdNCi0YrRgNGB0LXQvdC1INC90LAg0L/RgNC10LTQuNGI0L3QsNGC0LAg0L/QvtGP0LLQsCDQsiDQuNC30LPQu9C10LTQsCDQt9CwINGA0LDQt9C70LjQutC4IgorCisjOiBnaXRrOjMwMTIKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICI8JXMtS1ArPlx0SW5jcmVhc2UgZm9udCBzaXplIgorbXNnc3RyICI8JXMtS1ArPlx00J/Qvi3Qs9C+0LvRj9C8INGA0LDQt9C80LXRgCDQvdCwINGI0YDQuNGE0YLQsCIKKworIzogZ2l0azozMDEzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiPCVzLXBsdXM+XHRJbmNyZWFzZSBmb250IHNpemUiCittc2dzdHIgIjwlcy1wbHVzPlx00J/Qvi3Qs9C+0LvRj9C8INGA0LDQt9C80LXRgCDQvdCwINGI0YDQuNGE0YLQsCIKKworIzogZ2l0azozMDE0CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiPCVzLUtQLT5cdERlY3JlYXNlIGZvbnQgc2l6ZSIKK21zZ3N0ciAiPCVzLUtQLT5cdNCf0L4t0LzQsNC70YrQuiDRgNCw0LfQvNC10YAg0L3QsCDRiNGA0LjRhNGC0LAiCisKKyM6IGdpdGs6MzAxNQorIywgdGNsLWZvcm1hdAorbXNnaWQgIjwlcy1taW51cz5cdERlY3JlYXNlIGZvbnQgc2l6ZSIKK21zZ3N0ciAiPCVzLW1pbnVzPlx00J/Qvi3QvNCw0LvRitC6INGA0LDQt9C80LXRgCDQvdCwINGI0YDQuNGE0YLQsCIKKworIzogZ2l0azozMDE2Cittc2dpZCAiPEY1Plx0XHRVcGRhdGUiCittc2dzdHIgIjxGNT5cdFx00J7QsdC90L7QstGP0LLQsNC90LUiCisKKyM6IGdpdGs6MzQ3MSBnaXRrOjM0ODAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJFcnJvciBjcmVhdGluZyB0ZW1wb3JhcnkgZGlyZWN0b3J5ICVzOiIKK21zZ3N0ciAi0JPRgNC10YjQutCwINC/0YDQuCDRgdGK0LfQtNCw0LLQsNC90LXRgtC+INC90LAg0LLRgNC10LzQtdC90L3QsNGC0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g4oCeJXPigJw6IgorCisjOiBnaXRrOjM0OTMKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJFcnJvciBnZXR0aW5nIFwiJXNcIiBmcm9tICVzOiIKK21zZ3N0ciAi0JPRgNC10YjQutCwINC/0YDQuCDQv9C+0LvRg9GH0LDQstCw0L3QtdGC0L4g0L3QsCDigJ4lc+KAnCDQvtGCICVzOiIKKworIzogZ2l0azozNTU2Cittc2dpZCAiY29tbWFuZCBmYWlsZWQ6IgorbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDQutC+0LzQsNC90LTQsDoiCisKKyM6IGdpdGs6MzcwNQorbXNnaWQgIk5vIHN1Y2ggY29tbWl0IgorbXNnc3RyICLQotCw0LrQvtCy0LAg0L/QvtC00LDQstCw0L3QtSDQvdGP0LzQsCIKKworIzogZ2l0azozNzE5Cittc2dpZCAiZ2l0IGd1aSBibGFtZTogY29tbWFuZCBmYWlsZWQ6IgorbXNnc3RyICJnaXQgZ3VpIGJsYW1lOiDQvdC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDQutC+0LzQsNC90LTQsDoiCisKKyM6IGdpdGs6Mzc1MAorIywgdGNsLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IHJlYWQgbWVyZ2UgaGVhZDogJXMiCittc2dzdHIgItCS0YrRgNGF0YrRgiDQt9CwINGB0LvQuNCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC9OiAlcyIKKworIzogZ2l0azozNzU4CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRXJyb3IgcmVhZGluZyBpbmRleDogJXMiCittc2dzdHIgItCT0YDQtdGI0LrQsCDQv9GA0Lgg0L/RgNC+0YfQuNGC0LDQvdC1INC90LAg0LjQvdC00LXQutGB0LA6ICVzIgorCisjOiBnaXRrOjM3ODMKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCBzdGFydCBnaXQgYmxhbWU6ICVzIgorbXNnc3RyICLQmtC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0IGJsYW1l4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdGC0LDRgNGC0LjRgNCw0L3QsDogJXMiCisKKyM6IGdpdGs6Mzc4NiBnaXRrOjY2NTIKK21zZ2lkICJTZWFyY2hpbmciCittc2dzdHIgItCi0YrRgNGB0LXQvdC1IgorCisjOiBnaXRrOjM4MTgKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJFcnJvciBydW5uaW5nIGdpdCBibGFtZTogJXMiCittc2dzdHIgItCT0YDQtdGI0LrQsCDQv9GA0Lgg0LjQt9C/0YrQu9C90LXQvdC40LXRgtC+INC90LAg4oCeZ2l0IGJsYW1l4oCcOiAlcyIKKworIzogZ2l0azozODQ2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVGhhdCBsaW5lIGNvbWVzIGZyb20gY29tbWl0ICVzLCAgd2hpY2ggaXMgbm90IGluIHRoaXMgdmlldyIKK21zZ3N0ciAi0KLQvtC30Lgg0YDQtdC0INC40LTQstCwINC+0YIg0L/QvtC00LDQstCw0L3QtdGC0L4gJXMsICDQutC+0LXRgtC+INC90LUg0LUg0LIg0LjQt9Cz0LvQtdC00LAiCisKKyM6IGdpdGs6Mzg2MAorbXNnaWQgIkV4dGVybmFsIGRpZmYgdmlld2VyIGZhaWxlZDoiCittc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwINCy0YrQvdGI0L3QsNGC0LAg0L/RgNC+0LPRgNCw0LzQsCDQt9CwINGA0LDQt9C70LjQutC4OiIKKworIzogZ2l0azozOTc4Cittc2dpZCAiR2l0ayB2aWV3IGRlZmluaXRpb24iCittc2dzdHIgItCU0LXRhNC40L3QuNGG0LjRjyDQvdCwINC40LfQs9C70LXQtCDQsiBHaXRrIgorCisjOiBnaXRrOjM5ODIKK21zZ2lkICJSZW1lbWJlciB0aGlzIHZpZXciCittc2dzdHIgItCX0LDQv9Cw0LfQstCw0L3QtSDQvdCwINGC0L7Qt9C4INC40LfQs9C70LXQtCIKKworIzogZ2l0azozOTgzCittc2dpZCAiUmVmZXJlbmNlcyAoc3BhY2Ugc2VwYXJhdGVkIGxpc3QpOiIKK21zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9C4ICjRgdC/0LjRgdGK0Log0YEg0YDQsNC30LTQtdC70LjRgtC10Lsg0LjQvdGC0LXRgNCy0LDQuyk6IgorCisjOiBnaXRrOjM5ODQKK21zZ2lkICJCcmFuY2hlcyAmIHRhZ3M6IgorbXNnc3RyICLQmtC70L7QvdC4INC4INC10YLQuNC60LXRgtC4OiIKKworIzogZ2l0azozOTg1Cittc2dpZCAiQWxsIHJlZnMiCittc2dzdHIgItCS0YHQuNGH0LrQuCDRg9C60LDQt9Cw0YLQtdC70LgiCisKKyM6IGdpdGs6Mzk4NgorbXNnaWQgIkFsbCAobG9jYWwpIGJyYW5jaGVzIgorbXNnc3RyICLQktGB0LjRh9C60LggKNC70L7QutCw0LvQvdC4KSDQutC70L7QvdC4IgorCisjOiBnaXRrOjM5ODcKK21zZ2lkICJBbGwgdGFncyIKK21zZ3N0ciAi0JLRgdC40YfQutC4INC10YLQuNC60LXRgtC4IgorCisjOiBnaXRrOjM5ODgKK21zZ2lkICJBbGwgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgorbXNnc3RyICLQktGB0LjRh9C60Lgg0YHQu9C10LTRj9GJ0Lgg0LrQu9C+0L3QuCIKKworIzogZ2l0azozOTg5Cittc2dpZCAiQ29tbWl0IEluZm8gKHJlZ3VsYXIgZXhwcmVzc2lvbnMpOiIKK21zZ3N0ciAi0JjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQv9C+0LTQsNCy0LDQvdC1ICjRgNC10LMuINC40LfRgC4pOiIKKworIzogZ2l0azozOTkwCittc2dpZCAiQXV0aG9yOiIKK21zZ3N0ciAi0JDQstGC0L7RgDoiCisKKyM6IGdpdGs6Mzk5MQorbXNnaWQgIkNvbW1pdHRlcjoiCittc2dzdHIgItCf0L7QtNCw0Ls6IgorCisjOiBnaXRrOjM5OTIKK21zZ2lkICJDb21taXQgTWVzc2FnZToiCittc2dzdHIgItCh0YrQvtCx0YnQtdC90LjQtSDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtToiCisKKyM6IGdpdGs6Mzk5MworbXNnaWQgIk1hdGNoZXMgYWxsIENvbW1pdCBJbmZvIGNyaXRlcmlhIgorbXNnc3RyICLQodGK0LLQv9Cw0LTQtdC90LjQtSDQv9C+INC60L7RjyDQtNCwINC1INC40L3RhNC+0YDQvNCw0YbQuNGPINC30LAg0L/QvtC00LDQstCw0L3QtdGC0L4iCisKKyM6IGdpdGs6Mzk5NAorbXNnaWQgIkNoYW5nZXMgdG8gRmlsZXM6IgorbXNnc3RyICLQn9GA0L7QvNC10L3QuCDQv9C+INGE0LDQudC70L7QstC10YLQtToiCisKKyM6IGdpdGs6Mzk5NQorbXNnaWQgIkZpeGVkIFN0cmluZyIKK21zZ3N0ciAi0JTQvtGB0LvQvtCy0LXQvSDQvdC40LciCisKKyM6IGdpdGs6Mzk5NgorbXNnaWQgIlJlZ3VsYXIgRXhwcmVzc2lvbiIKK21zZ3N0ciAi0KDQtdCz0YPQu9GP0YDQtdC9INC40LfRgNCw0LciCisKKyM6IGdpdGs6Mzk5NworbXNnaWQgIlNlYXJjaCBzdHJpbmc6IgorbXNnc3RyICLQndC40Lcg0LfQsCDRgtGK0YDRgdC10L3QtToiCisKKyM6IGdpdGs6Mzk5OAorbXNnaWQgIiIKKyJDb21taXQgRGF0ZXMgKFwiMiB3ZWVrcyBhZ29cIiwgXCIyMDA5LTAzLTE3IDE1OjI3OjM4XCIsIFwiTWFyY2ggMTcsIDIwMDkgIgorIjE1OjI3OjM4XCIpOiIKK21zZ3N0ciAi0JTQsNGC0LAg0L3QsCDQv9C+0LTQsNCy0LDQvdC1ICjigJ4yIHdlZWtzIGFnb+KAnCAo0L/RgNC10LTQuCAyINGB0LXQtNC80LjRhtC4KSwg4oCeMjAwOS0wMy0xNyAxNToyNzozOOKAnCwg4oCeTWFyY2ggMTcsIDIwMDkgMTU6Mjc6MzjigJwpOiIKKworIzogZ2l0azozOTk5Cittc2dpZCAiU2luY2U6IgorbXNnc3RyICLQntGCOiIKKworIzogZ2l0azo0MDAwCittc2dpZCAiVW50aWw6IgorbXNnc3RyICLQlNC+OiIKKworIzogZ2l0azo0MDAxCittc2dpZCAiTGltaXQgYW5kL29yIHNraXAgYSBudW1iZXIgb2YgcmV2aXNpb25zIChwb3NpdGl2ZSBpbnRlZ2VyKToiCittc2dzdHIgItCe0LPRgNCw0L3QuNGH0LDQstCw0L3QtSDQuC/QuNC70Lgg0L/RgNC10YHQutCw0YfQsNC90LUg0L3QsCDQvtC/0YDQtdC00LXQu9C10L0g0LHRgNC+0Lkg0LLQtdGA0YHQuNC4ICjQvdC10L7RgtGA0LjRhtCw0YLQtdC70L3QviDRhtGP0LvQviDRh9C40YHQu9C+KToiCisKKyM6IGdpdGs6NDAwMgorbXNnaWQgIk51bWJlciB0byBzaG93OiIKK21zZ3N0ciAi0JHRgNC+0Lkg0L/QvtC60LDQt9Cw0L3QuDoiCisKKyM6IGdpdGs6NDAwMworbXNnaWQgIk51bWJlciB0byBza2lwOiIKK21zZ3N0ciAi0JHRgNC+0Lkg0L/RgNC10YHQutC+0YfQtdC90Lg6IgorCisjOiBnaXRrOjQwMDQKK21zZ2lkICJNaXNjZWxsYW5lb3VzIG9wdGlvbnM6IgorbXNnc3RyICLQoNCw0LfQvdC4OiIKKworIzogZ2l0azo0MDA1Cittc2dpZCAiU3RyaWN0bHkgc29ydCBieSBkYXRlIgorbXNnc3RyICLQn9C+0LTRgNC10LbQtNCw0L3QtSDQv9C+INC00LDRgtCwIgorCisjOiBnaXRrOjQwMDYKK21zZ2lkICJNYXJrIGJyYW5jaCBzaWRlcyIKK21zZ3N0ciAi0J7RgtCx0LXQu9GP0LfQstCw0L3QtSDQvdCwINGB0YLRgNCw0L3QuNGC0LUg0L/QviDQutC70L7QvdCwIgorCisjOiBnaXRrOjQwMDcKK21zZ2lkICJMaW1pdCB0byBmaXJzdCBwYXJlbnQiCittc2dzdHIgItCh0LDQvNC+INC/0YrRgNCy0LjRj9GCINGA0L7QtNC40YLQtdC7IgorCisjOiBnaXRrOjQwMDgKK21zZ2lkICJTaW1wbGUgaGlzdG9yeSIKK21zZ3N0ciAi0J7Qv9GA0L7RgdGC0LXQvdCwINC40YHRgtC+0YDQuNGPIgorCisjOiBnaXRrOjQwMDkKK21zZ2lkICJBZGRpdGlvbmFsIGFyZ3VtZW50cyB0byBnaXQgbG9nOiIKK21zZ3N0ciAi0JTQvtC/0YrQu9C90LjRgtC10LvQvdC4INCw0YDQs9GD0LzQtdC90YLQuCDQutGK0Lwg4oCeZ2l0IGxvZ+KAnDoiCisKKyM6IGdpdGs6NDAxMAorbXNnaWQgIkVudGVyIGZpbGVzIGFuZCBkaXJlY3RvcmllcyB0byBpbmNsdWRlLCBvbmUgcGVyIGxpbmU6IgorbXNnc3RyICLQktGK0LLQtdC00LXRgtC1INGE0LDQudC70L7QstC10YLQtSDQuCDQtNC40YDQtdC60YLQvtGA0LjQuNGC0LUg0LfQsCDQstC60LvRjtGH0LLQsNC90LUsINC/0L4g0LXQu9C10LzQtdC90YIg0L3QsCDRgNC10LQiCisKKyM6IGdpdGs6NDAxMQorbXNnaWQgIkNvbW1hbmQgdG8gZ2VuZXJhdGUgbW9yZSBjb21taXRzIHRvIGluY2x1ZGU6IgorbXNnc3RyICLQmtC+0LzQsNC90LTQsCDQt9CwINCz0LXQvdC10YDQuNGA0LDQvdC10YLQviDQvdCwINC00L7Qv9GK0LvQvdC40YLQtdC70L3QuCDQv9C+0LTQsNCy0LDQvdC40Y8sINC60L7QuNGC0L4g0LTQsCDQsdGK0LTQsNGCINCy0LrQu9GO0YfQtdC90Lg6IgorCisjOiBnaXRrOjQxMzUKK21zZ2lkICJHaXRrOiBlZGl0IHZpZXciCittc2dzdHIgIkdpdGs6INGA0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDQuNC30LPQu9C10LQiCisKKyM6IGdpdGs6NDE0MworbXNnaWQgIi0tIGNyaXRlcmlhIGZvciBzZWxlY3RpbmcgcmV2aXNpb25zIgorbXNnc3RyICLigJQg0LrRgNC40YLQtdGA0LjQuCDQt9CwINC40LfQsdC+0YAg0L3QsCDQstC10YDRgdC40LgiCisKKyM6IGdpdGs6NDE0OAorbXNnaWQgIlZpZXcgTmFtZSIKK21zZ3N0ciAi0JjQvNC1INC90LAg0LjQt9Cz0LvQtdC0IgorCisjOiBnaXRrOjQyMjMKK21zZ2lkICJBcHBseSAoRjUpIgorbXNnc3RyICLQn9GA0LjQu9Cw0LPQsNC90LUgKEY1KSIKKworIzogZ2l0azo0MjYxCittc2dpZCAiRXJyb3IgaW4gY29tbWl0IHNlbGVjdGlvbiBhcmd1bWVudHM6IgorbXNnc3RyICLQk9GA0LXRiNC60LAg0LIg0LDRgNCz0YPQvNC10L3RgtC40YLQtSDQt9CwINC40LfQsdC+0YAg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y86IgorCisjOiBnaXRrOjQzMTQgZ2l0azo0MzY2IGdpdGs6NDgyNyBnaXRrOjQ4NDEgZ2l0azo2MTA3IGdpdGs6MTIxODQgZ2l0azoxMjE4NQorbXNnaWQgIk5vbmUiCittc2dzdHIgItCd0Y/QvNCwIgorCisjOiBnaXRrOjQ5MjQgZ2l0azo0OTI5Cittc2dpZCAiRGVzY2VuZGFudCIKK21zZ3N0ciAi0J3QsNGB0LvQtdC00L3QuNC6IgorCisjOiBnaXRrOjQ5MjUKK21zZ2lkICJOb3QgZGVzY2VuZGFudCIKK21zZ3N0ciAi0J3QtSDQtSDQvdCw0YHQu9C10LTQvdC40LoiCisKKyM6IGdpdGs6NDkzMiBnaXRrOjQ5MzcKK21zZ2lkICJBbmNlc3RvciIKK21zZ3N0ciAi0J/RgNC10LTRiNC10YHRgtCy0LXQvdC40LoiCisKKyM6IGdpdGs6NDkzMworbXNnaWQgIk5vdCBhbmNlc3RvciIKK21zZ3N0ciAi0J3QtSDQtSDQv9GA0LXQtNGI0LXRgdGC0LLQtdC90LjQuiIKKworIzogZ2l0azo1MjIzCittc2dpZCAiTG9jYWwgY2hhbmdlcyBjaGVja2VkIGluIHRvIGluZGV4IGJ1dCBub3QgY29tbWl0dGVkIgorbXNnc3RyICLQm9C+0LrQsNC70L3QuCDQv9GA0L7QvNC10L3QuCDQtNC+0LHQsNCy0LXQvdC4INC60YrQvCDQuNC90LTQtdC60YHQsCwg0L3QviDQvdC10L/QvtC00LDQtNC10L3QuCIKKworIzogZ2l0azo1MjU5Cittc2dpZCAiTG9jYWwgdW5jb21taXR0ZWQgY2hhbmdlcywgbm90IGNoZWNrZWQgaW4gdG8gaW5kZXgiCittc2dzdHIgItCb0L7QutCw0LvQvdC4INC/0YDQvtC80LXQvdC4INC40LfQstGK0L0g0LjQvdC00LXQutGB0LAiCisKKyM6IGdpdGs6NzAzMgorbXNnaWQgImFuZCBtYW55IG1vcmUiCittc2dzdHIgItC4INC+0YnQtSDQvNC90L7Qs9C+IgorCisjOiBnaXRrOjcwMzUKK21zZ2lkICJtYW55IgorbXNnc3RyICLQvNC90L7Qs9C+IgorCisjOiBnaXRrOjcyMjIKK21zZ2lkICJUYWdzOiIKK21zZ3N0ciAi0JXRgtC40LrQtdGC0Lg6IgorCisjOiBnaXRrOjcyMzkgZ2l0azo3MjQ1IGdpdGs6ODcwOAorbXNnaWQgIlBhcmVudCIKK21zZ3N0ciAi0KDQvtC00LjRgtC10LsiCisKKyM6IGdpdGs6NzI1MAorbXNnaWQgIkNoaWxkIgorbXNnc3RyICLQlNC10YLQtSIKKworIzogZ2l0azo3MjU5Cittc2dpZCAiQnJhbmNoIgorbXNnc3RyICLQmtC70L7QvSIKKworIzogZ2l0azo3MjYyCittc2dpZCAiRm9sbG93cyIKK21zZ3N0ciAi0KHQu9C10LTQstCwIgorCisjOiBnaXRrOjcyNjUKK21zZ2lkICJQcmVjZWRlcyIKK21zZ3N0ciAi0J/RgNC10LTRiNC10YHRgtCy0LAiCisKKyM6IGdpdGs6Nzg0OQorIywgdGNsLWZvcm1hdAorbXNnaWQgIkVycm9yIGdldHRpbmcgZGlmZnM6ICVzIgorbXNnc3RyICLQk9GA0LXRiNC60LAg0L/RgNC4INC/0L7Qu9GD0YfQsNCy0LDQvdC10YLQviDQvdCwINGA0LDQt9C70LjQutC40YLQtTogJXMiCisKKyM6IGdpdGs6ODUzMworbXNnaWQgIkdvdG86IgorbXNnc3RyICLQmtGK0Lwg0YDQtdC0OiIKKworIzogZ2l0azo4NTU0CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiU2hvcnQgU0hBMSBpZCAlcyBpcyBhbWJpZ3VvdXMiCittc2dzdHIgItCh0YrQutGA0LDRgtC10L3QsNGC0LAgU0hBMSAlcyDQvdC1INC1INC10LTQvdC+0LfQvdCw0YfQvdCwIgorCisjOiBnaXRrOjg1NjEKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJSZXZpc2lvbiAlcyBpcyBub3Qga25vd24iCittc2dzdHIgItCd0LXQv9C+0LfQvdCw0YLQsCDQstC10YDRgdC40Y8gJXMiCisKKyM6IGdpdGs6ODU3MQorIywgdGNsLWZvcm1hdAorbXNnaWQgIlNIQTEgaWQgJXMgaXMgbm90IGtub3duIgorbXNnc3RyICLQndC10L/QvtC30L3QsNGC0LAgU0hBMSAlcyIKKworIzogZ2l0azo4NTczCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUmV2aXNpb24gJXMgaXMgbm90IGluIHRoZSBjdXJyZW50IHZpZXciCittc2dzdHIgItCS0LXRgNGB0LjRjyAlcyDQvdC1INC1INCyINGC0LXQutGD0YnQuNGPINC40LfQs9C70LXQtCIKKworIzogZ2l0azo4NzE1IGdpdGs6ODczMAorbXNnaWQgIkRhdGUiCittc2dzdHIgItCU0LDRgtCwIgorCisjOiBnaXRrOjg3MTgKK21zZ2lkICJDaGlsZHJlbiIKK21zZ3N0ciAi0JTQtdGG0LAiCisKKyM6IGdpdGs6ODc4MQorIywgdGNsLWZvcm1hdAorbXNnaWQgIlJlc2V0ICVzIGJyYW5jaCB0byBoZXJlIgorbXNnc3RyICLQl9Cw0L3Rg9C70Y/QstCw0L3QtSDQvdCwINC60LvQvtC90LAg4oCeJXPigJwg0LrRitC8INGC0LXQutGD0YnQvtGC0L4g0L/QvtC00LDQstCw0L3QtSIKKworIzogZ2l0azo4NzgzCittc2dpZCAiRGV0YWNoZWQgaGVhZDogY2FuJ3QgcmVzZXQiCittc2dzdHIgItCd0LXRgdCy0YrRgNC30LDQvSDQstGA0YrRhTog0L3QtdCy0YrQt9C80L7QttC90L4g0LfQsNC90YPQu9GP0LLQsNC90LUiCisKKyM6IGdpdGs6ODg4OCBnaXRrOjg4OTQKK21zZ2lkICJTa2lwcGluZyBtZXJnZSBjb21taXQgIgorbXNnc3RyICLQn9GA0L7Qv9GD0YHQutCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LXRgtC+INC90LAg0YHQu9C40LLQsNC90LXRgtC+IgorCisjOiBnaXRrOjg5MDMgZ2l0azo4OTA4Cittc2dpZCAiRXJyb3IgZ2V0dGluZyBwYXRjaCBJRCBmb3IgIgorbXNnc3RyICLQk9GA0LXRiNC60LAg0L/RgNC4INC/0L7Qu9GD0YfQsNCy0LDQvdC10YLQviDQvdCwINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0LAg0L3QsCAiCisKKyM6IGdpdGs6ODkwNCBnaXRrOjg5MDkKK21zZ2lkICIgLSBzdG9wcGluZ1xuIgorbXNnc3RyICIg4oCUINGB0L/QuNGA0LDQvdC1XG4iCisKKyM6IGdpdGs6ODkxNCBnaXRrOjg5MTcgZ2l0azo4OTI1IGdpdGs6ODkzOSBnaXRrOjg5NDgKK21zZ2lkICJDb21taXQgIgorbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC1IgorCisjOiBnaXRrOjg5MTgKK21zZ2lkICIiCisiIGlzIHRoZSBzYW1lIHBhdGNoIGFzXG4iCisiICAgICAgICIKK21zZ3N0ciAiIgorIiDQtSDRgdGK0YnQsNGC0LAg0LrRgNGK0L/QutCwINC60LDRgtC+XG4iCisiICAgICAgICIKKworIzogZ2l0azo4OTI2Cittc2dpZCAiIgorIiBkaWZmZXJzIGZyb21cbiIKKyIgICAgICAgIgorbXNnc3RyICIiCisiINGB0LUg0YDQsNC30LvQuNGH0LDQstCwINC+0YJcbiIKKyIgICAgICAgIgorCisjOiBnaXRrOjg5MjgKK21zZ2lkICIiCisiRGlmZiBvZiBjb21taXRzOlxuIgorIlxuIgorbXNnc3RyICLQoNCw0LfQu9C40LrQsCDQvNC10LbQtNGDINC/0L7QtNCw0LLQsNC90LjRj9GC0LA6XG5cbiIKKworIzogZ2l0azo4OTQwIGdpdGs6ODk0OQorIywgdGNsLWZvcm1hdAorbXNnaWQgIiBoYXMgJXMgY2hpbGRyZW4gLSBzdG9wcGluZ1xuIgorbXNnc3RyICIg0LjQvNCwICVzINC00LXRhtCwIOKAlCDRgdC/0LjRgNCw0L3QtVxuIgorCisjOiBnaXRrOjg5NjgKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJFcnJvciB3cml0aW5nIGNvbW1pdCB0byBmaWxlOiAlcyIKK21zZ3N0ciAi0JPRgNC10YjQutCwINC/0YDQuCDQt9Cw0L/QsNC30LLQsNC90LXRgtC+INC90LAg0L/QvtC00LDQstCw0L3QtdGC0L4g0LLRitCyINGE0LDQudC7OiAlcyIKKworIzogZ2l0azo4OTc0CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRXJyb3IgZGlmZmluZyBjb21taXRzOiAlcyIKK21zZ3N0ciAi0JPRgNC10YjQutCwINC/0YDQuCDQuNC30YfQuNGB0LvRj9Cy0LDQvdC10YLQviDQvdCwINGA0LDQt9C70LjQutC40YLQtSDQvNC10LbQtNGDINC/0L7QtNCw0LLQsNC90LjRj9GC0LA6ICVzIgorCisjOiBnaXRrOjkwMjAKK21zZ2lkICJUb3AiCittc2dzdHIgItCd0LDQuS3Qs9C+0YDQtSIKKworIzogZ2l0azo5MDIxCittc2dpZCAiRnJvbSIKK21zZ3N0ciAi0J7RgiIKKworIzogZ2l0azo5MDI2Cittc2dpZCAiVG8iCittc2dzdHIgItCU0L4iCisKKyM6IGdpdGs6OTA1MAorbXNnaWQgIkdlbmVyYXRlIHBhdGNoIgorbXNnc3RyICLQk9C10L3QtdGA0LjRgNCw0L3QtSDQvdCwINC60YDRitC/0LrQsCIKKworIzogZ2l0azo5MDUyCittc2dpZCAiRnJvbToiCittc2dzdHIgItCe0YI6IgorCisjOiBnaXRrOjkwNjEKK21zZ2lkICJUbzoiCittc2dzdHIgItCU0L46IgorCisjOiBnaXRrOjkwNzAKK21zZ2lkICJSZXZlcnNlIgorbXNnc3RyICLQntCx0YDRitGJ0LDQvdC1IgorCisjOiBnaXRrOjkwNzIgZ2l0azo5MjY4Cittc2dpZCAiT3V0cHV0IGZpbGU6IgorbXNnc3RyICLQl9Cw0L/QsNC30LLQsNC90LUg0LLRitCyINGE0LDQudC70LA6IgorCisjOiBnaXRrOjkwNzgKK21zZ2lkICJHZW5lcmF0ZSIKK21zZ3N0ciAi0JPQtdC90LXRgNC40YDQsNC90LUiCisKKyM6IGdpdGs6OTExNgorbXNnaWQgIkVycm9yIGNyZWF0aW5nIHBhdGNoOiIKK21zZ3N0ciAi0JPRgNC10YjQutCwINC/0YDQuCDRgdGK0LfQtNCw0LLQsNC90LXRgtC+INC90LAg0LrRgNGK0L/QutCwOiIKKworIzogZ2l0azo5MTM5IGdpdGs6OTI1NiBnaXRrOjkzMTMKK21zZ2lkICJJRDoiCittc2dzdHIgItCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAOiIKKworIzogZ2l0azo5MTQ4Cittc2dpZCAiVGFnIG5hbWU6IgorbXNnc3RyICLQmNC80LUg0L3QsCDQtdGC0LjQutC10YI6IgorCisjOiBnaXRrOjkxNTEKK21zZ2lkICJUYWcgbWVzc2FnZSBpcyBvcHRpb25hbCIKK21zZ3N0ciAi0KHRitC+0LHRidC10L3QuNC10YLQviDQt9CwINC10YLQuNC60LXRgiDQtSDQvdC10LfQsNC00YrQu9C20LjRgtC10LvQvdC+IgorCisjOiBnaXRrOjkxNTMKK21zZ2lkICJUYWcgbWVzc2FnZToiCittc2dzdHIgItCh0YrQvtCx0YnQtdC90LjQtSDQt9CwINC10YLQuNC60LXRgjoiCisKKyM6IGdpdGs6OTE1NyBnaXRrOjkzMjIKK21zZ2lkICJDcmVhdGUiCittc2dzdHIgItCh0YrQt9C00LDQstCw0L3QtSIKKworIzogZ2l0azo5MTc1Cittc2dpZCAiTm8gdGFnIG5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICLQm9C40L/RgdCy0LAg0LjQvNC1INC90LAg0LXRgtC40LrQtdGCIgorCisjOiBnaXRrOjkxNzkKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJUYWcgXCIlc1wiIGFscmVhZHkgZXhpc3RzIgorbXNnc3RyICLQldGC0LjQutC10YLRitGCIOKAniVz4oCcINCy0LXRh9C1INGB0YrRidC10YHRgtCy0YPQstCwIgorCisjOiBnaXRrOjkxODkKK21zZ2lkICJFcnJvciBjcmVhdGluZyB0YWc6IgorbXNnc3RyICLQk9GA0LXRiNC60LAg0L/RgNC4INGB0YrQt9C00LDQstCw0L3QtdGC0L4g0L3QsCDQtdGC0LjQutC10YI6IgorCisjOiBnaXRrOjkyNjUKK21zZ2lkICJDb21tYW5kOiIKK21zZ3N0ciAi0JrQvtC80LDQvdC00LA6IgorCisjOiBnaXRrOjkyNzMKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAiUGRtZHBsZGtlIgorCisjOiBnaXRrOjkyOTEKK21zZ2lkICJFcnJvciB3cml0aW5nIGNvbW1pdDoiCittc2dzdHIgItCT0YDQtdGI0LrQsCDQv9GA0Lgg0LfQsNC/0LDQt9Cy0LDQvdC10YLQviDQvdCwINC/0L7QtNCw0LLQsNC90LXRgtC+OiIKKworIzogZ2l0azo5MzE4Cittc2dpZCAiTmFtZToiCittc2dzdHIgItCY0LzQtToiCisKKyM6IGdpdGs6OTM0MQorbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IGEgbmFtZSBmb3IgdGhlIG5ldyBicmFuY2giCittc2dzdHIgItCj0LrQsNC20LXRgtC1INC40LzQtSDQt9CwINC90L7QstC40Y8g0LrQu9C+0L0iCisKKyM6IGdpdGs6OTM0NgorIywgdGNsLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIGFscmVhZHkgZXhpc3RzLiBPdmVyd3JpdGU/IgorbXNnc3RyICLQmtC70L7QvdGK0YIg4oCeJXPigJwg0LLQtdGH0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAuINCU0LAg0LHRitC00LUg0LvQuCDQv9GA0LXQt9Cw0L/QuNGB0LDQvT8iCisKKyM6IGdpdGs6OTQxMworIywgdGNsLWZvcm1hdAorbXNnaWQgIkNvbW1pdCAlcyBpcyBhbHJlYWR5IGluY2x1ZGVkIGluIGJyYW5jaCAlcyAtLSByZWFsbHkgcmUtYXBwbHkgaXQ/IgorbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnCDQstC10YfQtSDQtSDQstC60LvRjtGH0LXQvdC+INCyINC60LvQvtC90LAg4oCeJXPigJwg4oCUINC00LAg0LHRitC00LUg0LvQuCDQv9GA0LjQu9C+0LbQtdC90L4g0L7RgtC90L7QstC+PyIKKworIzogZ2l0azo5NDE4Cittc2dpZCAiQ2hlcnJ5LXBpY2tpbmciCittc2dzdHIgItCe0YLQsdC40YDQsNC90LUiCisKKyM6IGdpdGs6OTQyNworIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJDaGVycnktcGljayBmYWlsZWQgYmVjYXVzZSBvZiBsb2NhbCBjaGFuZ2VzIHRvIGZpbGUgJyVzJy5cbiIKKyJQbGVhc2UgY29tbWl0LCByZXNldCBvciBzdGFzaCB5b3VyIGNoYW5nZXMgYW5kIHRyeSBhZ2Fpbi4iCittc2dzdHIgIiIKKyLQndC10YPRgdC/0LXRiNC90L4g0L7RgtCx0LjRgNCw0L3QtSwg0LfQsNGJ0L7RgtC+INCy0YrQsiDRhNCw0LnQu9CwIOKAniVz4oCcINC40LzQsCDQu9C+0LrQsNC70L3QuCDQv9GA0L7QvNC10L3QuC5cbiIKKyLQn9C+0LTQsNC50YLQtSwg0LfQsNC90YPQu9C10YLQtSDQuNC70Lgg0LPQuCDRgdC60LDRgtCw0LnRgtC1INC4INC/0YDQvtCx0LLQsNC50YLQtSDQvtGC0L3QvtCy0L4uIgorCisjOiBnaXRrOjk0MzMKK21zZ2lkICIiCisiQ2hlcnJ5LXBpY2sgZmFpbGVkIGJlY2F1c2Ugb2YgbWVyZ2UgY29uZmxpY3QuXG4iCisiRG8geW91IHdpc2ggdG8gcnVuIGdpdCBjaXRvb2wgdG8gcmVzb2x2ZSBpdD8iCittc2dzdHIgIiIKKyLQndC10YPRgdC/0LXRiNC90L4g0L7RgtCx0LjRgNCw0L3QtSDQv9C+0YDQsNC00Lgg0LrQvtC90YTQu9C40LrRgtC4INC/0YDQuCDRgdC70LjQstCw0L3QtS5cbiIKKyLQmNGB0LrQsNGC0LUg0LvQuCDQtNCwINCz0Lgg0LrQvtGA0LjQs9C40YDQsNGC0LUg0YfRgNC10Lcg4oCeZ2l0IGNpdG9vbOKAnD8iCisKKyM6IGdpdGs6OTQ0OSBnaXRrOjk1MDcKK21zZ2lkICJObyBjaGFuZ2VzIGNvbW1pdHRlZCIKK21zZ3N0ciAi0J3QtSDRgdCwINC/0L7QtNCw0LTQtdC90Lgg0L/RgNC+0LzQtdC90LgiCisKKyM6IGdpdGs6OTQ3NgorIywgdGNsLWZvcm1hdAorbXNnaWQgIkNvbW1pdCAlcyBpcyBub3QgaW5jbHVkZWQgaW4gYnJhbmNoICVzIC0tIHJlYWxseSByZXZlcnQgaXQ/IgorbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnCDQvdC1INC1INCy0LrQu9GO0YfQtdC90L4g0LIg0LrQu9C+0L3QsCDigJ4lc+KAnC4g0JTQsCDQsdGK0LTQtSDQu9C4INC+0YLQvNC10L3QtdC90L4/IgorCisjOiBnaXRrOjk0ODEKK21zZ2lkICJSZXZlcnRpbmciCittc2dzdHIgItCe0YLQvNGP0L3QsCIKKworIzogZ2l0azo5NDg5CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIlJldmVydCBmYWlsZWQgYmVjYXVzZSBvZiBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXM6JXMgUGxlYXNlICIKKyJjb21taXQsIHJlc2V0IG9yIHN0YXNoICB5b3VyIGNoYW5nZXMgYW5kIHRyeSBhZ2Fpbi4iCittc2dzdHIgIiIKKyLQndC10YPRgdC/0LXRiNC90LAg0L7RgtC80Y/QvdCwLCDQt9Cw0YnQvtGC0L4g0LLRitCyINGE0LDQudC70LAg4oCeJXPigJwg0LjQvNCwINC70L7QutCw0LvQvdC4INC/0YDQvtC80LXQvdC4LlxuIgorItCf0L7QtNCw0LnRgtC1LCDQt9Cw0L3Rg9C70LXRgtC1INC40LvQuCDQs9C4INGB0LrQsNGC0LDQudGC0LUg0Lgg0L/RgNC+0LHQstCw0LnRgtC1INC+0YLQvdC+0LLQvi48IgorCisjOiBnaXRrOjk0OTMKK21zZ2lkICIiCisiUmV2ZXJ0IGZhaWxlZCBiZWNhdXNlIG9mIG1lcmdlIGNvbmZsaWN0LlxuIgorIiBEbyB5b3Ugd2lzaCB0byBydW4gZ2l0IGNpdG9vbCB0byByZXNvbHZlIGl0PyIKK21zZ3N0ciAiIgorItCd0LXRg9GB0L/QtdGI0L3QviDQvtGC0LzRj9C90LAg0L/QvtGA0LDQtNC4INC60L7QvdGE0LvQuNC60YLQuCDQv9GA0Lgg0YHQu9C40LLQsNC90LUuXG4iCisi0JjRgdC60LDRgtC1INC70Lgg0LTQsCDQs9C4INC60L7RgNC40LPQuNGA0LDRgtC1INGH0YDQtdC3IOKAnmdpdCBjaXRvb2zigJw/IgorCisjOiBnaXRrOjk1MzYKK21zZ2lkICJDb25maXJtIHJlc2V0IgorbXNnc3RyICLQn9C+0YLQstGK0YDQttC00LDQstCw0L3QtSDQvdCwINC30LDQvdGD0LvRj9Cy0LDQvdC10YLQviIKKworIzogZ2l0azo5NTM4CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUmVzZXQgYnJhbmNoICVzIHRvICVzPyIKK21zZ3N0ciAi0JTQsCDRgdC1INC30LDQvdGD0LvQuCDQu9C4INC60LvQvtC90LAg4oCeJXPigJwg0LrRitC8IOKAniVz4oCcPyIKKworIzogZ2l0azo5NTQwCittc2dpZCAiUmVzZXQgdHlwZToiCittc2dzdHIgItCS0LjQtCDQt9Cw0L3Rg9C70Y/QstCw0L3QtToiCisKKyM6IGdpdGs6OTU0MworbXNnaWQgIlNvZnQ6IExlYXZlIHdvcmtpbmcgdHJlZSBhbmQgaW5kZXggdW50b3VjaGVkIgorbXNnc3RyICLQodC70LDQsdC+OiDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDQuCDQuNC90LTQtdC60YHQsCDQvtGB0YLQsNCy0LDRgiDRgdGK0YnQuNGC0LUiCisKKyM6IGdpdGs6OTU0NgorbXNnaWQgIk1peGVkOiBMZWF2ZSB3b3JraW5nIHRyZWUgdW50b3VjaGVkLCByZXNldCBpbmRleCIKK21zZ3N0ciAi0KHQvNC10YHQtdC90L46INGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+INC+0YHRgtCw0LLQsCDRgdGK0YnQvtGC0L4sINC40L3QtNC10LrRgdGK0YIg0YHQtSDQt9Cw0L3Rg9C70Y/QstCwIgorCisjOiBnaXRrOjk1NDkKK21zZ2lkICIiCisiSGFyZDogUmVzZXQgd29ya2luZyB0cmVlIGFuZCBpbmRleFxuIgorIihkaXNjYXJkIEFMTCBsb2NhbCBjaGFuZ2VzKSIKK21zZ3N0ciAiIgorItCh0LjQu9C90L46INC30LDQvdGD0LvRj9Cy0LDQvdC1INC4INC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4sINC4INC90LAg0LjQvdC00LXQutGB0LBcbiIKKyIoKtCS0KHQmNCn0JrQmCog0LvQvtC60LDQu9C90Lgg0L/RgNC+0LzQtdC90Lgg0YnQtSDQsdGK0LTQsNGCINCx0LXQt9Cy0YrQt9Cy0YDQsNGC0L3QviDQt9Cw0LPRg9Cx0LXQvdC4KSIKKworIzogZ2l0azo5NTY2Cittc2dpZCAiUmVzZXR0aW5nIgorbXNnc3RyICLQl9Cw0L3Rg9C70Y/QstCw0L3QtSIKKworIzogZ2l0azo5NjI2Cittc2dpZCAiQ2hlY2tpbmcgb3V0IgorbXNnc3RyICLQmNC30YLQtdCz0LvRj9C90LUiCisKKyM6IGdpdGs6OTY3OQorbXNnaWQgIkNhbm5vdCBkZWxldGUgdGhlIGN1cnJlbnRseSBjaGVja2VkLW91dCBicmFuY2giCittc2dzdHIgItCi0LXQutGD0YnQviDQuNC30YLQtdCz0LvQtdC90LjRj9GCINC60LvQvtC9INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YIiCisKKyM6IGdpdGs6OTY4NQorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgY29tbWl0cyBvbiBicmFuY2ggJXMgYXJlbid0IG9uIGFueSBvdGhlciBicmFuY2guXG4iCisiUmVhbGx5IGRlbGV0ZSBicmFuY2ggJXM/IgorbXNnc3RyICIiCisi0J/QvtC00LDQstCw0L3QuNGP0YLQsCDQvdCwINC60LvQvtC90LAg4oCeJXPigJwg0L3QtSDRgdCwINC90LAg0L3QuNC60L7QuSDQtNGA0YPQsyDQutC70L7QvS5cbiIKKyLQndCw0LjRgdGC0LjQvdCwINC70Lgg0LTQsCDRgdC1INC40LfRgtGA0LjQtSDQutC70L7QvdCwIOKAniVz4oCcPyIKKworIzogZ2l0azo5NzE2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVGFncyBhbmQgaGVhZHM6ICVzIgorbXNnc3RyICLQldGC0LjQutC10YLQuCDQuCDQstGK0YDRhdC+0LLQtTogJXMiCisKKyM6IGdpdGs6OTczMQorbXNnaWQgIkZpbHRlciIKK21zZ3N0ciAi0KTQuNC70YLRgNC40YDQsNC90LUiCisKKyM6IGdpdGs6MTAwMjcKK21zZ2lkICIiCisiRXJyb3IgcmVhZGluZyBjb21taXQgdG9wb2xvZ3kgaW5mb3JtYXRpb247IGJyYW5jaCBhbmQgcHJlY2VkaW5nL2ZvbGxvd2luZyAiCisidGFnIGluZm9ybWF0aW9uIHdpbGwgYmUgaW5jb21wbGV0ZS4iCittc2dzdHIgItCT0YDQtdGI0LrQsCDQv9GA0Lgg0L/RgNC+0YfQuNGC0LDQvdC10YLQviDQvdCwINGC0L7Qv9C+0LvQvtCz0LjRj9GC0LAg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwLiDQmNC90YTQvtGA0LzQsNGG0LjRj9GC0LAg0LfQsCDQutC70L7QvdCwINC4INC/0YDQtdC00YjQtdGB0YLQstCw0YnQuNGC0LUv0YHQu9C10LTQstCw0YnQuNGC0LUg0LXRgtC40LrQtdGC0Lgg0YnQtSDQtSDQvdC10L/RitC70L3QsC4iCisKKyM6IGdpdGs6MTEwMDQKK21zZ2lkICJUYWciCittc2dzdHIgItCV0YLQuNC60LXRgiIKKworIzogZ2l0azoxMTAwOAorbXNnaWQgIklkIgorbXNnc3RyICLQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCIKKworIzogZ2l0azoxMTA5MQorbXNnaWQgIkdpdGsgZm9udCBjaG9vc2VyIgorbXNnc3RyICLQmNC30LHQvtGAINC90LAg0YjRgNC40YTRgiDQt9CwIEdpdGsiCisKKyM6IGdpdGs6MTExMDgKK21zZ2lkICJCIgorbXNnc3RyICLQpyIKKworIzogZ2l0azoxMTExMQorbXNnaWQgIkkiCittc2dzdHIgItCaIgorCisjOiBnaXRrOjExMjI5Cittc2dpZCAiQ29tbWl0IGxpc3QgZGlzcGxheSBvcHRpb25zIgorbXNnc3RyICLQndCw0YHRgtGA0L7QudC60Lgg0L3QsCDRgdC/0LjRgdGK0LrQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y8iCisKKyM6IGdpdGs6MTEyMzIKK21zZ2lkICJNYXhpbXVtIGdyYXBoIHdpZHRoIChsaW5lcykiCittc2dzdHIgItCc0LDQutGB0LjQvNCw0LvQvdCwINGI0LjRgNC+0YfQuNC90LAg0L3QsCDQs9GA0LDRhNCwICjQsiDRgNC10LTQvtCy0LUpIgorCisjOiBnaXRrOjExMjM1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBncmFwaCB3aWR0aCAoJSBvZiBwYW5lKSIKK21zZ3N0ciAi0JzQsNC60YHQuNC80LDQu9C90LAg0YjQuNGA0L7Rh9C40L3QsCDQvdCwINCz0YDQsNGE0LAgKCUg0L7RgiDQv9Cw0L3QtdC70LApIgorCisjOiBnaXRrOjExMjM4Cittc2dpZCAiU2hvdyBsb2NhbCBjaGFuZ2VzIgorbXNnc3RyICLQn9C+0LrQsNC30LLQsNC90LUg0L3QsCDQu9C+0LrQsNC70L3QuNGC0LUg0L/RgNC+0LzQtdC90LgiCisKKyM6IGdpdGs6MTEyNDEKK21zZ2lkICJBdXRvLXNlbGVjdCBTSEExIChsZW5ndGgpIgorbXNnc3RyICLQkNCy0YLQvtC80LDRgtC40YfQvdC+INC40LfQsdC40YDQsNC90LUg0L3QsCBTSEExICjQtNGK0LvQttC40L3QsCkiCisKKyM6IGdpdGs6MTEyNDUKK21zZ2lkICJIaWRlIHJlbW90ZSByZWZzIgorbXNnc3RyICLQodC60YDQuNCy0LDQvdC1INC90LAg0L7RgtC00LDQu9C10YfQtdC90LjRgtC1INGD0LrQsNC30LDRgtC10LvQuCIKKworIzogZ2l0azoxMTI0OQorbXNnaWQgIkRpZmYgZGlzcGxheSBvcHRpb25zIgorbXNnc3RyICLQndCw0YHRgtGA0L7QudC60Lgg0L3QsCDQv9C+0LrQsNC30LLQsNC90LXRgtC+INC90LAg0YDQsNC30LvQuNC60LjRgtC1IgorCisjOiBnaXRrOjExMjUxCittc2dpZCAiVGFiIHNwYWNpbmciCittc2dzdHIgItCo0LjRgNC+0YfQuNC90LAg0L3QsCDRgtCw0LHRg9C70LDRgtC+0YDQsCIKKworIzogZ2l0azoxMTI1NAorbXNnaWQgIkRpc3BsYXkgbmVhcmJ5IHRhZ3MvaGVhZHMiCittc2dzdHIgItCY0LfQstC10LbQtNCw0L3QtSDQvdCwINCx0LvQuNC30LrQuNGC0LUg0LXRgtC40LrQtdGC0Lgg0Lgg0LLRitGA0YXQvtCy0LUiCisKKyM6IGdpdGs6MTEyNTcKK21zZ2lkICJNYXhpbXVtICMgdGFncy9oZWFkcyB0byBzaG93IgorbXNnc3RyICLQnNCw0LrRgdC40LzQsNC70LXQvSDQsdGA0L7QuSDQtdGC0LjQutC10YLQuC/QstGK0YDRhdC+0LLQtSDQt9CwINC/0L7QutCw0LfQstCw0L3QtSIKKworIzogZ2l0azoxMTI2MAorbXNnaWQgIkxpbWl0IGRpZmZzIHRvIGxpc3RlZCBwYXRocyIKK21zZ3N0ciAi0KDQsNC30LvQuNC60LAg0YHQsNC80L4g0LIg0LjQt9Cx0YDQsNC90LjRgtC1INC/0YrRgtC40YnQsCIKKworIzogZ2l0azoxMTI2MworbXNnaWQgIlN1cHBvcnQgcGVyLWZpbGUgZW5jb2RpbmdzIgorbXNnc3RyICLQn9C+0LTQtNGA0YrQttC60LAg0L3QsCDRgNCw0LfQu9C40YfQvdC4INC60L7QtNC40YDQsNC90LjRjyDQt9CwINCy0YHQtdC60Lgg0YTQsNC50LsiCisKKyM6IGdpdGs6MTEyNjkgZ2l0azoxMTQxNgorbXNnaWQgIkV4dGVybmFsIGRpZmYgdG9vbCIKK21zZ3N0ciAi0JLRitC90YjQtdC9INC40L3RgdGC0YDRg9C80LXQvdGCINC30LAg0YDQsNC30LvQuNC60LgiCisKKyM6IGdpdGs6MTEyNzAKK21zZ2lkICJDaG9vc2UuLi4iCittc2dzdHIgItCY0LfQsdC+0YDigKYiCisKKyM6IGdpdGs6MTEyNzUKK21zZ2lkICJHZW5lcmFsIG9wdGlvbnMiCittc2dzdHIgItCe0LHRidC4INC90LDRgdGC0YDQvtC50LrQuCIKKworIzogZ2l0azoxMTI3OAorbXNnaWQgIlVzZSB0aGVtZWQgd2lkZ2V0cyIKK21zZ3N0ciAi0JjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRgtC10LzQsCDQt9CwINCz0YDQsNGE0LjRh9C90LjRgtC1INC+0LHQtdC60YLQuCIKKworIzogZ2l0azoxMTI4MAorbXNnaWQgIihjaGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkiCittc2dzdHIgIijQv9GA0L7QvNGP0L3QsNGC0LAg0LjQt9C40YHQutCy0LAg0YDQtdGB0YLQsNGA0YLQuNGA0LDQvdC1INC90LAgR2l0aykiCisKKyM6IGdpdGs6MTEyODIKK21zZ2lkICIoY3VycmVudGx5IHVuYXZhaWxhYmxlKSIKK21zZ3N0ciAiKNCyINC80L7QvNC10L3RgtCwINC90LXQtNC+0YHRgtGK0L/QvdC+KSIKKworIzogZ2l0azoxMTI5MworbXNnaWQgIkNvbG9yczogcHJlc3MgdG8gY2hvb3NlIgorbXNnc3RyICLQptCy0LXRgtC+0LLQtTog0LjQt9Cx0LjRgNCwINGB0LUg0YEg0L3QsNGC0LjRgdC60LDQvdC1IgorCisjOiBnaXRrOjExMjk2Cittc2dpZCAiSW50ZXJmYWNlIgorbXNnc3RyICLQmNC90YLQtdGA0YTQtdC50YEiCisKKyM6IGdpdGs6MTEyOTcKK21zZ2lkICJpbnRlcmZhY2UiCittc2dzdHIgItC40L3RgtC10YDRhNC10LnRgSIKKworIzogZ2l0azoxMTMwMAorbXNnaWQgIkJhY2tncm91bmQiCittc2dzdHIgItCk0L7QvSIKKworIzogZ2l0azoxMTMwMSBnaXRrOjExMzMxCittc2dpZCAiYmFja2dyb3VuZCIKK21zZ3N0ciAi0KTQvtC9IgorCisjOiBnaXRrOjExMzA0Cittc2dpZCAiRm9yZWdyb3VuZCIKK21zZ3N0ciAi0JfQvdCw0YbQuCIKKworIzogZ2l0azoxMTMwNQorbXNnaWQgImZvcmVncm91bmQiCittc2dzdHIgItC30L3QsNGG0LgiCisKKyM6IGdpdGs6MTEzMDgKK21zZ2lkICJEaWZmOiBvbGQgbGluZXMiCittc2dzdHIgItCg0LDQt9C70LjQutCwOiDRgdGC0LDRgNC4INGA0LXQtNC+0LLQtSIKKworIzogZ2l0azoxMTMwOQorbXNnaWQgImRpZmYgb2xkIGxpbmVzIgorbXNnc3RyICLRgNCw0LfQu9C40LrQsCwg0YHRgtCw0YDQuCDRgNC10LTQvtCy0LUiCisKKyM6IGdpdGs6MTEzMTMKK21zZ2lkICJEaWZmOiBuZXcgbGluZXMiCittc2dzdHIgItCg0LDQt9C70LjQutCwOiDQvdC+0LLQuCDRgNC10LTQvtCy0LUiCisKKyM6IGdpdGs6MTEzMTQKK21zZ2lkICJkaWZmIG5ldyBsaW5lcyIKK21zZ3N0ciAi0YDQsNC30LvQuNC60LAsINC90L7QstC4INGA0LXQtNC+0LLQtSIKKworIzogZ2l0azoxMTMxOAorbXNnaWQgIkRpZmY6IGh1bmsgaGVhZGVyIgorbXNnc3RyICLQoNCw0LfQu9C40LrQsDog0L3QsNGH0LDQu9C+INC90LAg0L/QsNGA0YfQtSIKKworIzogZ2l0azoxMTMyMAorbXNnaWQgImRpZmYgaHVuayBoZWFkZXIiCittc2dzdHIgItGA0LDQt9C70LjQutCwLCDQvdCw0YfQsNC70L4g0L3QsCDQv9Cw0YDRh9C1IgorCisjOiBnaXRrOjExMzI0Cittc2dpZCAiTWFya2VkIGxpbmUgYmciCittc2dzdHIgItCk0L7QvSDQvdCwINC+0YLQsdC10LvRj9C30LDQvSDRgNC10LQiCisKKyM6IGdpdGs6MTEzMjYKK21zZ2lkICJtYXJrZWQgbGluZSBiYWNrZ3JvdW5kIgorbXNnc3RyICLQpNC+0L0g0L3QsCDQvtGC0LHQtdC70Y/Qt9Cw0L0g0YDQtdC0IgorCisjOiBnaXRrOjExMzMwCittc2dpZCAiU2VsZWN0IGJnIgorbXNnc3RyICLQmNC30LHQvtGAINC90LAg0YTQvtC9IgorCisjOiBnaXRrOjExMzM5Cittc2dpZCAiRm9udHM6IHByZXNzIHRvIGNob29zZSIKK21zZ3N0ciAi0KjRgNC40YTRgtC+0LLQtTog0LjQt9Cx0LjRgNCwINGB0LUg0YEg0L3QsNGC0LjRgdC60LDQvdC1IgorCisjOiBnaXRrOjExMzQxCittc2dpZCAiTWFpbiBmb250IgorbXNnc3RyICLQntGB0L3QvtCy0LXQvSDRiNGA0LjRhNGCIgorCisjOiBnaXRrOjExMzQyCittc2dpZCAiRGlmZiBkaXNwbGF5IGZvbnQiCittc2dzdHIgItCo0YDQuNGE0YIg0LfQsCDRgNCw0LfQu9C40LrQuNGC0LUiCisKKyM6IGdpdGs6MTEzNDMKK21zZ2lkICJVc2VyIGludGVyZmFjZSBmb250IgorbXNnc3RyICLQqNGA0LjRhNGCINC90LAg0LjQvdGC0LXRgNGE0LXQudGB0LAiCisKKyM6IGdpdGs6MTEzNjUKK21zZ2lkICJHaXRrIHByZWZlcmVuY2VzIgorbXNnc3RyICLQndCw0YHRgtGA0L7QudC60Lgg0L3QsCBHaXRrIgorCisjOiBnaXRrOjExMzc0Cittc2dpZCAiR2VuZXJhbCIKK21zZ3N0ciAi0J7QsdGJ0LgiCisKKyM6IGdpdGs6MTEzNzUKK21zZ2lkICJDb2xvcnMiCittc2dzdHIgItCm0LLQtdGC0L7QstC1IgorCisjOiBnaXRrOjExMzc2Cittc2dpZCAiRm9udHMiCittc2dzdHIgItCo0YDQuNGE0YLQvtCy0LUiCisKKyM6IGdpdGs6MTE0MjYKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJHaXRrOiBjaG9vc2UgY29sb3IgZm9yICVzIgorbXNnc3RyICJHaXRrOiDQuNC30LHQvtGAINC90LAg0YbQstGP0YIg0L3QsCAlcyIKKworIzogZ2l0azoxMjA4MAorbXNnaWQgIkNhbm5vdCBmaW5kIGEgZ2l0IHJlcG9zaXRvcnkgaGVyZS4iCittc2dzdHIgItCi0YPQuiDQu9C40L/RgdCy0LAg0YXRgNCw0L3QuNC70LjRidC1INC90LAgR2l0LiIKKworIzogZ2l0azoxMjEyNworIywgdGNsLWZvcm1hdAorbXNnaWQgIkFtYmlndW91cyBhcmd1bWVudCAnJXMnOiBib3RoIHJldmlzaW9uIGFuZCBmaWxlbmFtZSIKK21zZ3N0ciAi0J3QtdC10LTQvdC+0LfQvdCw0YfQtdC9INCw0YDQs9GD0LzQtdC90YIg4oCeJXPigJw6INC40LzQsCDQuCDRgtCw0LrQsNCy0LAg0LLQtdGA0YHQuNGPLCDQuCDRgtCw0LrRitCyINGE0LDQudC7IgorCisjOiBnaXRrOjEyMTM5Cittc2dpZCAiQmFkIGFyZ3VtZW50cyB0byBnaXRrOiIKK21zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90Lgg0LDRgNCz0YPQvNC10L3RgtC4INC90LAgZ2l0azoiCisKKyM6IGdpdGs6MTIyNDIKK21zZ2lkICJDb21tYW5kIGxpbmUiCittc2dzdHIgItCa0L7QvNCw0L3QtNC10L0g0YDQtdC0IgpkaWZmIC0tZ2l0IGEvZ2l0ay1naXQvcG8vcG8ybXNnLnNoIGIvZ2l0ay1naXQvcG8vcG8ybXNnLnNoCm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBhL2dpdHdlYi9naXR3ZWIucGVybCBiL2dpdHdlYi9naXR3ZWIucGVybAppbmRleCBmNDI5Zjc1Li4zYmMwZjBiIDEwMDc1NQotLS0gYS9naXR3ZWIvZ2l0d2ViLnBlcmwKKysrIGIvZ2l0d2ViL2dpdHdlYi5wZXJsCkBAIC01NDgsNiArNTQ4LDIwIEBACiAJCSdzdWInID0+IHN1YiB7IGZlYXR1cmVfYm9vbCgncmVtb3RlX2hlYWRzJywgQF8pIH0sCiAJCSdvdmVycmlkZScgPT4gMCwKIAkJJ2RlZmF1bHQnID0+IFswXX0sCisKKwkjIEVuYWJsZSBzaG93aW5nIGJyYW5jaGVzIHVuZGVyIG90aGVyIHJlZnMgaW4gYWRkaXRpb24gdG8gaGVhZHMKKworCSMgVG8gc2V0IHN5c3RlbSB3aWRlIGV4dHJhIGJyYW5jaCByZWZzIGhhdmUgaW4gJEdJVFdFQl9DT05GSUcKKwkjICRmZWF0dXJleydleHRyYS1icmFuY2gtcmVmcyd9eydkZWZhdWx0J30gPSBbJ2RpcnMnLCAnb2YnLCAnY2hvaWNlJ107CisJIyBUbyBoYXZlIHByb2plY3Qgc3BlY2lmaWMgY29uZmlnIGVuYWJsZSBvdmVycmlkZSBpbiAkR0lUV0VCX0NPTkZJRworCSMgJGZlYXR1cmV7J2V4dHJhLWJyYW5jaC1yZWZzJ317J292ZXJyaWRlJ30gPSAxOworCSMgYW5kIGluIHByb2plY3QgY29uZmlnIGdpdHdlYi5leHRyYWJyYW5jaHJlZnMgPSBkaXJzIG9mIGNob2ljZQorCSMgRXZlcnkgZGlyZWN0b3J5IGlzIHNlcGFyYXRlZCB3aXRoIHdoaXRlc3BhY2UuCisKKwknZXh0cmEtYnJhbmNoLXJlZnMnID0+IHsKKwkJJ3N1YicgPT4gXCZmZWF0dXJlX2V4dHJhX2JyYW5jaF9yZWZzLAorCQknb3ZlcnJpZGUnID0+IDAsCisJCSdkZWZhdWx0JyA9PiBbXX0sCiApOwogCiBzdWIgZ2l0d2ViX2dldF9mZWF0dXJlIHsKQEAgLTYyNiw2ICs2NDAsMjEgQEAKIAlyZXR1cm4gQHZhbCA/IEB2YWwgOiBAXzsKIH0KIAorc3ViIGZlYXR1cmVfZXh0cmFfYnJhbmNoX3JlZnMgeworCW15IChAYnJhbmNoX3JlZnMpID0gQF87CisJbXkgJHZhbHVlcyA9IGdpdF9nZXRfcHJvamVjdF9jb25maWcoJ2V4dHJhYnJhbmNocmVmcycpOworCisJaWYgKCR2YWx1ZXMpIHsKKwkJJHZhbHVlcyA9IGNvbmZpZ190b19tdWx0aSAoJHZhbHVlcyk7CisJCUBicmFuY2hfcmVmcyA9ICgpOworCQlmb3JlYWNoIG15ICR2YWx1ZSAoQHskdmFsdWVzfSkgeworCQkJcHVzaCBAYnJhbmNoX3JlZnMsIHNwbGl0IC9ccysvLCAkdmFsdWU7CisJCX0KKwl9CisKKwlyZXR1cm4gQGJyYW5jaF9yZWZzOworfQorCiAjIGNoZWNraW5nIEhFQUQgZmlsZSB3aXRoIC1lIGlzIGZyYWdpbGUgaWYgdGhlIHJlcG9zaXRvcnkgd2FzCiAjIGluaXRpYWxpemVkIGxvbmcgdGltZSBhZ28gKGkuZS4gc3ltbGluayBIRUFEKSBhbmQgd2FzIHBhY2stcmVmJ2VkCiAjIGFuZCB0aGVuIHBydW5lZC4KQEAgLTY1Niw2ICs2ODUsMTggQEAKIAkJISRrbm93bl9zbmFwc2hvdF9mb3JtYXRzeyRffXsnZGlzYWJsZWQnfX0gQGZtdHM7CiB9CiAKK3N1YiBmaWx0ZXJfYW5kX3ZhbGlkYXRlX3JlZnMgeworCW15IEByZWZzID0gQF87CisJbXkgJXVuaXF1ZV9yZWZzID0gKCk7CisKKwlmb3JlYWNoIG15ICRyZWYgKEByZWZzKSB7CisJCWRpZV9lcnJvcig1MDAsICJJbnZhbGlkIHJlZiAnJHJlZicgaW4gJ2V4dHJhLWJyYW5jaC1yZWZzJyBmZWF0dXJlIikgdW5sZXNzIChpc192YWxpZF9yZWZfZm9ybWF0KCRyZWYpKTsKKwkJIyAnaGVhZHMnIGFyZSBhZGRlZCBpbXBsaWNpdGx5IGluIGdldF9icmFuY2hfcmVmcygpLgorCQkkdW5pcXVlX3JlZnN7JHJlZn0gPSAxIGlmICgkcmVmIG5lICdoZWFkcycpOworCX0KKwlyZXR1cm4gc29ydCBrZXlzICV1bmlxdWVfcmVmczsKK30KKwogIyBJZiBpdCBpcyBzZXQgdG8gY29kZSByZWZlcmVuY2UsIGl0IGlzIGNvZGUgdGhhdCBpdCBpcyB0byBiZSBydW4gb25jZSBwZXIKICMgcmVxdWVzdCwgYWxsb3dpbmcgdXBkYXRpbmcgY29uZmlndXJhdGlvbnMgdGhhdCBjaGFuZ2Ugd2l0aCBlYWNoIHJlcXVlc3QsCiAjIHdoaWxlIHJ1bm5pbmcgb3RoZXIgY29kZSBpbiBjb25maWcgZmlsZSBvbmx5IG9uY2UuCkBAIC05OTQsNyArMTAzNSw3IEBACiBzdWIgZXZhbHVhdGVfYW5kX3ZhbGlkYXRlX3BhcmFtcyB7CiAJb3VyICRhY3Rpb24gPSAkaW5wdXRfcGFyYW1zeydhY3Rpb24nfTsKIAlpZiAoZGVmaW5lZCAkYWN0aW9uKSB7Ci0JCWlmICghdmFsaWRhdGVfYWN0aW9uKCRhY3Rpb24pKSB7CisJCWlmICghaXNfdmFsaWRfYWN0aW9uKCRhY3Rpb24pKSB7CiAJCQlkaWVfZXJyb3IoNDAwLCAiSW52YWxpZCBhY3Rpb24gcGFyYW1ldGVyIik7CiAJCX0KIAl9CkBAIC0xMDAyLDcgKzEwNDMsNyBAQAogCSMgcGFyYW1ldGVycyB3aGljaCBhcmUgcGF0aG5hbWVzCiAJb3VyICRwcm9qZWN0ID0gJGlucHV0X3BhcmFtc3sncHJvamVjdCd9OwogCWlmIChkZWZpbmVkICRwcm9qZWN0KSB7Ci0JCWlmICghdmFsaWRhdGVfcHJvamVjdCgkcHJvamVjdCkpIHsKKwkJaWYgKCFpc192YWxpZF9wcm9qZWN0KCRwcm9qZWN0KSkgewogCQkJdW5kZWYgJHByb2plY3Q7CiAJCQlkaWVfZXJyb3IoNDA0LCAiTm8gc3VjaCBwcm9qZWN0Iik7CiAJCX0KQEAgLTEwMTAsMjEgKzEwNTEsMjEgQEAKIAogCW91ciAkcHJvamVjdF9maWx0ZXIgPSAkaW5wdXRfcGFyYW1zeydwcm9qZWN0X2ZpbHRlcid9OwogCWlmIChkZWZpbmVkICRwcm9qZWN0X2ZpbHRlcikgewotCQlpZiAoIXZhbGlkYXRlX3BhdGhuYW1lKCRwcm9qZWN0X2ZpbHRlcikpIHsKKwkJaWYgKCFpc192YWxpZF9wYXRobmFtZSgkcHJvamVjdF9maWx0ZXIpKSB7CiAJCQlkaWVfZXJyb3IoNDA0LCAiSW52YWxpZCBwcm9qZWN0X2ZpbHRlciBwYXJhbWV0ZXIiKTsKIAkJfQogCX0KIAogCW91ciAkZmlsZV9uYW1lID0gJGlucHV0X3BhcmFtc3snZmlsZV9uYW1lJ307CiAJaWYgKGRlZmluZWQgJGZpbGVfbmFtZSkgewotCQlpZiAoIXZhbGlkYXRlX3BhdGhuYW1lKCRmaWxlX25hbWUpKSB7CisJCWlmICghaXNfdmFsaWRfcGF0aG5hbWUoJGZpbGVfbmFtZSkpIHsKIAkJCWRpZV9lcnJvcig0MDAsICJJbnZhbGlkIGZpbGUgcGFyYW1ldGVyIik7CiAJCX0KIAl9CiAKIAlvdXIgJGZpbGVfcGFyZW50ID0gJGlucHV0X3BhcmFtc3snZmlsZV9wYXJlbnQnfTsKIAlpZiAoZGVmaW5lZCAkZmlsZV9wYXJlbnQpIHsKLQkJaWYgKCF2YWxpZGF0ZV9wYXRobmFtZSgkZmlsZV9wYXJlbnQpKSB7CisJCWlmICghaXNfdmFsaWRfcGF0aG5hbWUoJGZpbGVfcGFyZW50KSkgewogCQkJZGllX2Vycm9yKDQwMCwgIkludmFsaWQgZmlsZSBwYXJlbnQgcGFyYW1ldGVyIik7CiAJCX0KIAl9CkBAIC0xMDMyLDIxICsxMDczLDIxIEBACiAJIyBwYXJhbWV0ZXJzIHdoaWNoIGFyZSByZWZuYW1lcwogCW91ciAkaGFzaCA9ICRpbnB1dF9wYXJhbXN7J2hhc2gnfTsKIAlpZiAoZGVmaW5lZCAkaGFzaCkgewotCQlpZiAoIXZhbGlkYXRlX3JlZm5hbWUoJGhhc2gpKSB7CisJCWlmICghaXNfdmFsaWRfcmVmbmFtZSgkaGFzaCkpIHsKIAkJCWRpZV9lcnJvcig0MDAsICJJbnZhbGlkIGhhc2ggcGFyYW1ldGVyIik7CiAJCX0KIAl9CiAKIAlvdXIgJGhhc2hfcGFyZW50ID0gJGlucHV0X3BhcmFtc3snaGFzaF9wYXJlbnQnfTsKIAlpZiAoZGVmaW5lZCAkaGFzaF9wYXJlbnQpIHsKLQkJaWYgKCF2YWxpZGF0ZV9yZWZuYW1lKCRoYXNoX3BhcmVudCkpIHsKKwkJaWYgKCFpc192YWxpZF9yZWZuYW1lKCRoYXNoX3BhcmVudCkpIHsKIAkJCWRpZV9lcnJvcig0MDAsICJJbnZhbGlkIGhhc2ggcGFyZW50IHBhcmFtZXRlciIpOwogCQl9CiAJfQogCiAJb3VyICRoYXNoX2Jhc2UgPSAkaW5wdXRfcGFyYW1zeydoYXNoX2Jhc2UnfTsKIAlpZiAoZGVmaW5lZCAkaGFzaF9iYXNlKSB7Ci0JCWlmICghdmFsaWRhdGVfcmVmbmFtZSgkaGFzaF9iYXNlKSkgeworCQlpZiAoIWlzX3ZhbGlkX3JlZm5hbWUoJGhhc2hfYmFzZSkpIHsKIAkJCWRpZV9lcnJvcig0MDAsICJJbnZhbGlkIGhhc2ggYmFzZSBwYXJhbWV0ZXIiKTsKIAkJfQogCX0KQEAgLTEwNjYsNyArMTEwNyw3IEBACiAKIAlvdXIgJGhhc2hfcGFyZW50X2Jhc2UgPSAkaW5wdXRfcGFyYW1zeydoYXNoX3BhcmVudF9iYXNlJ307CiAJaWYgKGRlZmluZWQgJGhhc2hfcGFyZW50X2Jhc2UpIHsKLQkJaWYgKCF2YWxpZGF0ZV9yZWZuYW1lKCRoYXNoX3BhcmVudF9iYXNlKSkgeworCQlpZiAoIWlzX3ZhbGlkX3JlZm5hbWUoJGhhc2hfcGFyZW50X2Jhc2UpKSB7CiAJCQlkaWVfZXJyb3IoNDAwLCAiSW52YWxpZCBoYXNoIHBhcmVudCBiYXNlIHBhcmFtZXRlciIpOwogCQl9CiAJfQpAQCAtMTExMyw3ICsxMTU0LDcgQEAKIAlvdXIgJGdpdF9kaXIgPSAiJHByb2plY3Ryb290LyRwcm9qZWN0IiBpZiAkcHJvamVjdDsKIH0KIAotb3VyIChAc25hcHNob3RfZm10cywgJGdpdF9hdmF0YXIpOworb3VyIChAc25hcHNob3RfZm10cywgJGdpdF9hdmF0YXIsIEBleHRyYV9icmFuY2hfcmVmcyk7CiBzdWIgY29uZmlndXJlX2dpdHdlYl9mZWF0dXJlcyB7CiAJIyBsaXN0IG9mIHN1cHBvcnRlZCBzbmFwc2hvdCBmb3JtYXRzCiAJb3VyIEBzbmFwc2hvdF9mbXRzID0gZ2l0d2ViX2dldF9mZWF0dXJlKCdzbmFwc2hvdCcpOwpAQCAtMTEzMSw2ICsxMTcyLDEzIEBACiAJfSBlbHNlIHsKIAkJJGdpdF9hdmF0YXIgPSAnJzsKIAl9CisKKwlvdXIgQGV4dHJhX2JyYW5jaF9yZWZzID0gZ2l0d2ViX2dldF9mZWF0dXJlKCdleHRyYS1icmFuY2gtcmVmcycpOworCUBleHRyYV9icmFuY2hfcmVmcyA9IGZpbHRlcl9hbmRfdmFsaWRhdGVfcmVmcyAoQGV4dHJhX2JyYW5jaF9yZWZzKTsKK30KKworc3ViIGdldF9icmFuY2hfcmVmcyB7CisJcmV0dXJuICgnaGVhZHMnLCBAZXh0cmFfYnJhbmNoX3JlZnMpOwogfQogCiAjIGN1c3RvbSBlcnJvciBoYW5kbGVyOiAnZGllIDxtZXNzYWdlPicgaXMgSW50ZXJuYWwgU2VydmVyIEVycm9yCkBAIC0xNDE4LDI3ICsxNDY2LDMwIEBACiAjIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAjIyB2YWxpZGF0aW9uLCBxdW90aW5nL3VucXVvdGluZyBhbmQgZXNjYXBpbmcKIAotc3ViIHZhbGlkYXRlX2FjdGlvbiB7Ci0JbXkgJGlucHV0ID0gc2hpZnQgfHwgcmV0dXJuIHVuZGVmOworc3ViIGlzX3ZhbGlkX2FjdGlvbiB7CisJbXkgJGlucHV0ID0gc2hpZnQ7CiAJcmV0dXJuIHVuZGVmIHVubGVzcyBleGlzdHMgJGFjdGlvbnN7JGlucHV0fTsKLQlyZXR1cm4gJGlucHV0OworCXJldHVybiAxOwogfQogCi1zdWIgdmFsaWRhdGVfcHJvamVjdCB7Ci0JbXkgJGlucHV0ID0gc2hpZnQgfHwgcmV0dXJuIHVuZGVmOwotCWlmICghdmFsaWRhdGVfcGF0aG5hbWUoJGlucHV0KSB8fAorc3ViIGlzX3ZhbGlkX3Byb2plY3QgeworCW15ICRpbnB1dCA9IHNoaWZ0OworCisJcmV0dXJuIHVubGVzcyBkZWZpbmVkICRpbnB1dDsKKwlpZiAoIWlzX3ZhbGlkX3BhdGhuYW1lKCRpbnB1dCkgfHwKIAkJISgtZCAiJHByb2plY3Ryb290LyRpbnB1dCIpIHx8CiAJCSFjaGVja19leHBvcnRfb2soIiRwcm9qZWN0cm9vdC8kaW5wdXQiKSB8fAogCQkoJHN0cmljdF9leHBvcnQgJiYgIXByb2plY3RfaW5fbGlzdCgkaW5wdXQpKSkgewogCQlyZXR1cm4gdW5kZWY7CiAJfSBlbHNlIHsKLQkJcmV0dXJuICRpbnB1dDsKKwkJcmV0dXJuIDE7CiAJfQogfQogCi1zdWIgdmFsaWRhdGVfcGF0aG5hbWUgewotCW15ICRpbnB1dCA9IHNoaWZ0IHx8IHJldHVybiB1bmRlZjsKK3N1YiBpc192YWxpZF9wYXRobmFtZSB7CisJbXkgJGlucHV0ID0gc2hpZnQ7CiAKKwlyZXR1cm4gdW5kZWYgdW5sZXNzIGRlZmluZWQgJGlucHV0OwogCSMgbm8gJy4nIG9yICcuLicgYXMgZWxlbWVudHMgb2YgcGF0aCwgaS5lLiBubyAnLicgbm9yICcuLicKIAkjIGF0IHRoZSBiZWdpbm5pbmcsIGF0IHRoZSBlbmQsIGFuZCBiZXR3ZWVuIHNsYXNoZXMuCiAJIyBhbHNvIHRoaXMgY2F0Y2hlcyBkb3VibGVkIHNsYXNoZXMKQEAgLTE0NDksMjQgKzE1MDAsMzMgQEAKIAlpZiAoJGlucHV0ID1+IG0hXDAhKSB7CiAJCXJldHVybiB1bmRlZjsKIAl9Ci0JcmV0dXJuICRpbnB1dDsKKwlyZXR1cm4gMTsKIH0KIAotc3ViIHZhbGlkYXRlX3JlZm5hbWUgewotCW15ICRpbnB1dCA9IHNoaWZ0IHx8IHJldHVybiB1bmRlZjsKK3N1YiBpc192YWxpZF9yZWZfZm9ybWF0IHsKKwlteSAkaW5wdXQgPSBzaGlmdDsKIAotCSMgdGV4dHVhbCBoYXNoZXMgYXJlIE8uSy4KLQlpZiAoJGlucHV0ID1+IG0vXlswLTlhLWZBLUZdezQwfSQvKSB7Ci0JCXJldHVybiAkaW5wdXQ7Ci0JfQotCSMgaXQgbXVzdCBiZSBjb3JyZWN0IHBhdGhuYW1lCi0JJGlucHV0ID0gdmFsaWRhdGVfcGF0aG5hbWUoJGlucHV0KQotCQlvciByZXR1cm4gdW5kZWY7CisJcmV0dXJuIHVuZGVmIHVubGVzcyBkZWZpbmVkICRpbnB1dDsKIAkjIHJlc3RyaWN0aW9ucyBvbiByZWYgbmFtZSBhY2NvcmRpbmcgdG8gZ2l0LWNoZWNrLXJlZi1mb3JtYXQKIAlpZiAoJGlucHV0ID1+IG0hKC9cLnxcLlwufFtcMDAwLVwwNDBcMTc3IH5eOj8qXFtdfC8kKSEpIHsKIAkJcmV0dXJuIHVuZGVmOwogCX0KLQlyZXR1cm4gJGlucHV0OworCXJldHVybiAxOworfQorCitzdWIgaXNfdmFsaWRfcmVmbmFtZSB7CisJbXkgJGlucHV0ID0gc2hpZnQ7CisKKwlyZXR1cm4gdW5kZWYgdW5sZXNzIGRlZmluZWQgJGlucHV0OworCSMgdGV4dHVhbCBoYXNoZXMgYXJlIE8uSy4KKwlpZiAoJGlucHV0ID1+IG0vXlswLTlhLWZBLUZdezQwfSQvKSB7CisJCXJldHVybiAxOworCX0KKwkjIGl0IG11c3QgYmUgY29ycmVjdCBwYXRobmFtZQorCWlzX3ZhbGlkX3BhdGhuYW1lKCRpbnB1dCkgb3IgcmV0dXJuIHVuZGVmOworCSMgY2hlY2sgZ2l0LWNoZWNrLXJlZi1mb3JtYXQgcmVzdHJpY3Rpb25zCisJaXNfdmFsaWRfcmVmX2Zvcm1hdCgkaW5wdXQpIG9yIHJldHVybiB1bmRlZjsKKwlyZXR1cm4gMTsKIH0KIAogIyBkZWNvZGUgc2VxdWVuY2VzIG9mIG9jdGV0cyBpbiB1dGY4IGludG8gUGVybCdzIGludGVybmFsIGZvcm0sCkBAIC0yNTE1LDYgKzI1NzUsNyBAQAogc3ViIGdldF9mZWVkX2luZm8gewogCW15ICRmb3JtYXQgPSBzaGlmdCB8fCAnQXRvbSc7CiAJbXkgJXJlcyA9IChhY3Rpb24gPT4gbGMoJGZvcm1hdCkpOworCW15ICRtYXRjaGVkX3JlZiA9IDA7CiAKIAkjIGZlZWQgbGlua3MgYXJlIHBvc3NpYmxlIG9ubHkgZm9yIHByb2plY3Qgdmlld3MKIAlyZXR1cm4gdW5sZXNzIChkZWZpbmVkICRwcm9qZWN0KTsKQEAgLTI1MjIsMTIgKzI1ODMsMTcgQEAKIAkjIG9yIGRvbid0IGhhdmUgc3BlY2lmaWMgZmVlZCB5ZXQgKHNvIHRoZXkgc2hvdWxkIHVzZSBnZW5lcmljKQogCXJldHVybiBpZiAoISRhY3Rpb24gfHwgJGFjdGlvbiA9fiAvXig/OnRhZ3N8aGVhZHN8Zm9ya3N8dGFnfHNlYXJjaCkkL3gpOwogCi0JbXkgJGJyYW5jaDsKLQkjIGJyYW5jaGVzIHJlZnMgdXNlcyAncmVmcy9oZWFkcy8nIHByZWZpeCAoZnVsbG5hbWUpIHRvIGRpZmZlcmVudGlhdGUKLQkjIGZyb20gdGFnIGxpbmtzOyB0aGlzIGFsc28gbWFrZXMgcG9zc2libGUgdG8gZGV0ZWN0IGJyYW5jaCBsaW5rcwotCWlmICgoZGVmaW5lZCAkaGFzaF9iYXNlICYmICRoYXNoX2Jhc2UgPX4gbSFecmVmcy9oZWFkcy8oLiopJCEpIHx8Ci0JICAgIChkZWZpbmVkICRoYXNoICAgICAgJiYgJGhhc2ggICAgICA9fiBtIV5yZWZzL2hlYWRzLyguKikkISkpIHsKLQkJJGJyYW5jaCA9ICQxOworCW15ICRicmFuY2ggPSB1bmRlZjsKKwkjIGJyYW5jaGVzIHJlZnMgdXNlcyAncmVmcy8nICsgJGdldF9icmFuY2hfcmVmcygpW3hdICsgJy8nIHByZWZpeAorCSMgKGZ1bGxuYW1lKSB0byBkaWZmZXJlbnRpYXRlIGZyb20gdGFnIGxpbmtzOyB0aGlzIGFsc28gbWFrZXMKKwkjIHBvc3NpYmxlIHRvIGRldGVjdCBicmFuY2ggbGlua3MKKwlmb3IgbXkgJHJlZiAoZ2V0X2JyYW5jaF9yZWZzKCkpIHsKKwkJaWYgKChkZWZpbmVkICRoYXNoX2Jhc2UgJiYgJGhhc2hfYmFzZSA9fiBtIV5yZWZzL1xRJHJlZlxFLyguKikkISkgfHwKKwkJICAgIChkZWZpbmVkICRoYXNoICAgICAgJiYgJGhhc2ggICAgICA9fiBtIV5yZWZzL1xRJHJlZlxFLyguKikkISkpIHsKKwkJCSRicmFuY2ggPSAkMTsKKwkJCSRtYXRjaGVkX3JlZiA9ICRyZWY7CisJCQlsYXN0OworCQl9CiAJfQogCSMgZmluZCBsb2cgdHlwZSBmb3IgZmVlZCBkZXNjcmlwdGlvbiAodGl0bGUpCiAJbXkgJHR5cGUgPSAnbG9nJzsKQEAgLTI1NDAsNyArMjYwNiw3IEBACiAJfQogCiAJJHJlc3stdGl0bGV9ID0gJHR5cGU7Ci0JJHJlc3snaGFzaCd9ID0gKGRlZmluZWQgJGJyYW5jaCA/ICJyZWZzL2hlYWRzLyRicmFuY2giIDogdW5kZWYpOworCSRyZXN7J2hhc2gnfSA9IChkZWZpbmVkICRicmFuY2ggPyAicmVmcy8kbWF0Y2hlZF9yZWYvJGJyYW5jaCIgOiB1bmRlZik7CiAJJHJlc3snZmlsZV9uYW1lJ30gPSAkZmlsZV9uYW1lOwogCiAJcmV0dXJuICVyZXM7CkBAIC0zMTkzLDcgKzMyNTksNyBAQAogCSAgICAgJy0tZm9ybWF0PSUoY29tbWl0dGVyKScsCiAJICAgICAnLS1zb3J0PS1jb21taXR0ZXJkYXRlJywKIAkgICAgICctLWNvdW50PTEnLAotCSAgICAgJ3JlZnMvaGVhZHMnKSBvciByZXR1cm47CisJICAgICBtYXAgeyAicmVmcy8kXyIgfSBnZXRfYnJhbmNoX3JlZnMgKCkpIG9yIHJldHVybjsKIAlteSAkbW9zdF9yZWNlbnQgPSA8JGZkPjsKIAljbG9zZSAkZmQgb3IgcmV0dXJuOwogCWlmIChkZWZpbmVkICRtb3N0X3JlY2VudCAmJgpAQCAtMzY0NCw3ICszNzEwLDcgQEAKIAogc3ViIGdpdF9nZXRfaGVhZHNfbGlzdCB7CiAJbXkgKCRsaW1pdCwgQGNsYXNzZXMpID0gQF87Ci0JQGNsYXNzZXMgPSAoJ2hlYWRzJykgdW5sZXNzIEBjbGFzc2VzOworCUBjbGFzc2VzID0gZ2V0X2JyYW5jaF9yZWZzKCkgdW5sZXNzIEBjbGFzc2VzOwogCW15IEBwYXR0ZXJucyA9IG1hcCB7ICJyZWZzLyRfIiB9IEBjbGFzc2VzOwogCW15IEBoZWFkc2xpc3Q7CiAKQEAgLTM2NjIsOSArMzcyOCwxNiBAQAogCQlteSAoJGNvbW1pdHRlciwgJGVwb2NoLCAkdHopID0KIAkJCSgkY29tbWl0dGVyaW5mbyA9fiAvXiguKikgKFswLTldKykgKC4qKSQvKTsKIAkJJHJlZl9pdGVteydmdWxsbmFtZSd9ICA9ICRuYW1lOwotCQkkbmFtZSA9fiBzIV5yZWZzLyg/OmhlYWR8cmVtb3RlKXMvISE7CisJCW15ICRzdHJpcF9yZWZzID0gam9pbiAnfCcsIG1hcCB7IHF1b3RlbWV0YSB9IGdldF9icmFuY2hfcmVmcygpOworCQkkbmFtZSA9fiBzIV5yZWZzLygkc3RyaXBfcmVmc3xyZW1vdGVzKS8hITsKKwkJJHJlZl9pdGVteyduYW1lJ30gPSAkbmFtZTsKKwkJIyBmb3IgcmVmcyBuZWl0aGVyIGluICdoZWFkcycgbm9yICdyZW1vdGVzJyB3ZSB3YW50IHRvCisJCSMgc2hvdyB0aGVpciByZWYgZGlyCisJCW15ICRyZWZfZGlyID0gKGRlZmluZWQgJDEpID8gJDEgOiAnJzsKKwkJaWYgKCRyZWZfZGlyIG5lICcnIGFuZCAkcmVmX2RpciBuZSAnaGVhZHMnIGFuZCAkcmVmX2RpciBuZSAncmVtb3RlcycpIHsKKwkJICAgICRyZWZfaXRlbXsnbmFtZSd9IC49ICcgKCcgLiAkcmVmX2RpciAuICcpJzsKKwkJfQogCi0JCSRyZWZfaXRlbXsnbmFtZSd9ICA9ICRuYW1lOwogCQkkcmVmX2l0ZW17J2lkJ30gICAgPSAkaGFzaDsKIAkJJHJlZl9pdGVteyd0aXRsZSd9ID0gJHRpdGxlIHx8ICcobm8gY29tbWl0IG1lc3NhZ2UpJzsKIAkJJHJlZl9pdGVteydlcG9jaCd9ID0gJGVwb2NoOwpAQCAtNDAzNSw4ICs0MTA4LDggQEAKIAkgICAgICAkY2dpLT5pbnB1dCh7LW5hbWU9PiJoIiwgLXZhbHVlPT4kc2VhcmNoX2hhc2gsIC10eXBlPT4iaGlkZGVuIn0pIC4gIlxuIiAuCiAJICAgICAgJGNnaS0+cG9wdXBfbWVudSgtbmFtZSA9PiAnc3QnLCAtZGVmYXVsdCA9PiAnY29tbWl0JywKIAkgICAgICAgICAgICAgICAgICAgICAgIC12YWx1ZXMgPT4gWydjb21taXQnLCAnZ3JlcCcsICdhdXRob3InLCAnY29tbWl0dGVyJywgJ3BpY2theGUnXSkgLgotCSAgICAgICRjZ2ktPnN1cCgkY2dpLT5hKHstaHJlZiA9PiBocmVmKGFjdGlvbj0+InNlYXJjaF9oZWxwIil9LCAiPyIpKSAuCi0JICAgICAgIiBzZWFyY2g6XG4iLAorCSAgICAgICIgIiAuICRjZ2ktPmEoey1ocmVmID0+IGhyZWYoYWN0aW9uPT4ic2VhcmNoX2hlbHAiKSwKKwkJCSAgICAgLXRpdGxlID0+ICJzZWFyY2ggaGVscCIgfSwgIj8iKSAuICIgc2VhcmNoOlxuIiwKIAkgICAgICAkY2dpLT50ZXh0ZmllbGQoLW5hbWUgPT4gInMiLCAtdmFsdWUgPT4gJHNlYXJjaHRleHQsIC1vdmVycmlkZSA9PiAxKSAuICJcbiIgLgogCSAgICAgICI8c3BhbiB0aXRsZT1cIkV4dGVuZGVkIHJlZ3VsYXIgZXhwcmVzc2lvblwiPiIgLgogCSAgICAgICRjZ2ktPmNoZWNrYm94KC1uYW1lID0+ICdzcicsIC12YWx1ZSA9PiAxLCAtbGFiZWwgPT4gJ3JlJywKQEAgLTY0NjgsNyArNjU0MSw3IEBACiAJcHJpbnQgIjxkaXYgY2xhc3M9XCJ0aXRsZVwiPiZuYnNwOzwvZGl2PlxuIjsKIAlwcmludCAiPHRhYmxlIGNsYXNzPVwicHJvamVjdHNfbGlzdFwiPlxuIiAuCiAJICAgICAgIjx0ciBpZD1cIm1ldGFkYXRhX2Rlc2NcIj48dGQ+ZGVzY3JpcHRpb248L3RkPjx0ZD4iIC4gZXNjX2h0bWwoJGRlc2NyKSAuICI8L3RkPjwvdHI+XG4iOwotICAgICAgICB1bmxlc3MgKCRvbWl0X293bmVyKSB7CisgICAgICAgIGlmICgkb3duZXIgYW5kIG5vdCAkb21pdF9vd25lcikgewogCSAgICAgICAgcHJpbnQgICI8dHIgaWQ9XCJtZXRhZGF0YV9vd25lclwiPjx0ZD5vd25lcjwvdGQ+PHRkPiIgLiBlc2NfaHRtbCgkb3duZXIpIC4gIjwvdGQ+PC90cj5cbiI7CiAgICAgICAgIH0KIAlpZiAoZGVmaW5lZCAkY2R7J3JmYzI4MjInfSkgewpAQCAtNjYzMSw2ICs2NzA0LDcgQEAKIAkJCSRoYXNoX2Jhc2UsICctLScsICRmaWxlX25hbWUKIAkJCW9yIGRpZV9lcnJvcig1MDAsICJPcGVuIGdpdC1ibGFtZSAtLXBvcmNlbGFpbiBmYWlsZWQiKTsKIAl9CisJYmlubW9kZSAkZmQsICc6dXRmOCc7CiAKIAkjIGluY3JlbWVudGFsIGJsYW1lIGRhdGEgcmV0dXJucyBlYXJseQogCWlmICgkZm9ybWF0IGVxICdkYXRhJykgewpAQCAtNzE1NSw2ICs3MjI5LDE1IEBACiAJZ2l0X2Zvb3Rlcl9odG1sKCk7CiB9CiAKK3N1YiBzYW5pdGl6ZV9mb3JfZmlsZW5hbWUgeworICAgIG15ICRuYW1lID0gc2hpZnQ7CisKKyAgICAkbmFtZSA9fiBzIS8hLSFnOworICAgICRuYW1lID1+IHMvW15bOmFsbnVtOl1fLi1dLy9nOworCisgICAgcmV0dXJuICRuYW1lOworfQorCiBzdWIgc25hcHNob3RfbmFtZSB7CiAJbXkgKCRwcm9qZWN0LCAkaGFzaCkgPSBAXzsKIApAQCAtNzE2Miw5ICs3MjQ1LDcgQEAKIAkjIHBhdGgvdG8vcHJvamVjdC8uZ2l0IC0+IHByb2plY3QKIAlteSAkbmFtZSA9IHRvX3V0ZjgoJHByb2plY3QpOwogCSRuYW1lID1+IHMsKFteL10pLypcLmdpdCQsJDEsOwotCSRuYW1lID0gYmFzZW5hbWUoJG5hbWUpOwotCSMgc2FuaXRpemUgbmFtZQotCSRuYW1lID1+IHMvW1s6Y250cmw6XV0vPy9nOworCSRuYW1lID0gc2FuaXRpemVfZm9yX2ZpbGVuYW1lKGJhc2VuYW1lKCRuYW1lKSk7CiAKIAlteSAkdmVyID0gJGhhc2g7CiAJaWYgKCRoYXNoID1+IC9eWzAtOWEtZkEtRl0rJC8pIHsKQEAgLTcxNzgsMTMgKzcyNTksMjUgQEAKIAkJJHZlciA9ICQxOwogCX0gZWxzZSB7CiAJCSMgYnJhbmNoZXMgYW5kIG90aGVyIG5lZWQgc2hvcnRlbmVkIFNIQS0xIGhhc2gKLQkJaWYgKCRoYXNoID1+IG0hXnJlZnMvKD86aGVhZHN8cmVtb3RlcykvKC4qKSQhKSB7Ci0JCQkkdmVyID0gJDE7CisJCW15ICRzdHJpcF9yZWZzID0gam9pbiAnfCcsIG1hcCB7IHF1b3RlbWV0YSB9IGdldF9icmFuY2hfcmVmcygpOworCQlpZiAoJGhhc2ggPX4gbSFecmVmcy8oJHN0cmlwX3JlZnN8cmVtb3RlcykvKC4qKSQhKSB7CisJCQlteSAkcmVmX2RpciA9IChkZWZpbmVkICQxKSA/ICQxIDogJyc7CisJCQkkdmVyID0gJDI7CisKKwkJCSRyZWZfZGlyID0gc2FuaXRpemVfZm9yX2ZpbGVuYW1lKCRyZWZfZGlyKTsKKwkJCSMgZm9yIHJlZnMgbmVpdGhlciBpbiBoZWFkcyBub3IgcmVtb3RlcyB3ZSB3YW50IHRvCisJCQkjIGFkZCBhIHJlZiBkaXIgdG8gYXJjaGl2ZSBuYW1lCisJCQlpZiAoJHJlZl9kaXIgbmUgJycgYW5kICRyZWZfZGlyIG5lICdoZWFkcycgYW5kICRyZWZfZGlyIG5lICdyZW1vdGVzJykgeworCQkJCSR2ZXIgPSAkcmVmX2RpciAuICctJyAuICR2ZXI7CisJCQl9CiAJCX0KIAkJJHZlciAuPSAnLScgLiBnaXRfZ2V0X3Nob3J0X2hhc2goJHByb2plY3QsICRoYXNoKTsKIAl9CisJIyBzcGVjaWFsIGNhc2Ugb2Ygc2FuaXRpemF0aW9uIGZvciBmaWxlbmFtZSAtIHdlIGNoYW5nZQorCSMgc2xhc2hlcyB0byBkb3RzIGluc3RlYWQgb2YgZGFzaGVzCiAJIyBpbiBjYXNlIG9mIGhpZXJhcmNoaWNhbCBicmFuY2ggbmFtZXMKIAkkdmVyID1+IHMhLyEuIWc7CisJJHZlciA9fiBzL1teWzphbG51bTpdXy4tXS8vZzsKIAogCSMgbmFtZSA9IHByb2plY3QtdmVyc2lvbl9zdHJpbmcKIAkkbmFtZSA9ICIkbmFtZS0kdmVyIjsKZGlmZiAtLWdpdCBhL2dpdHdlYi9zdGF0aWMvZ2l0d2ViLmNzcyBiL2dpdHdlYi9zdGF0aWMvZ2l0d2ViLmNzcwppbmRleCBjYjg2ZDJkLi4zYjRkODMzIDEwMDY0NAotLS0gYS9naXR3ZWIvc3RhdGljL2dpdHdlYi5jc3MKKysrIGIvZ2l0d2ViL3N0YXRpYy9naXR3ZWIuY3NzCkBAIC02OCwxMiArNjgsMTMgQEAKIH0KIAogZGl2LnBhZ2VfZm9vdGVyIHsKLQloZWlnaHQ6IDE3cHg7CisJaGVpZ2h0OiAyMnB4OwogCXBhZGRpbmc6IDRweCA4cHg7CiAJYmFja2dyb3VuZC1jb2xvcjogI2Q5ZDhkMTsKIH0KIAogZGl2LnBhZ2VfZm9vdGVyX3RleHQgeworCWxpbmUtaGVpZ2h0OiAyMnB4OwogCWZsb2F0OiBsZWZ0OwogCWNvbG9yOiAjNTU1NTU1OwogCWZvbnQtc3R5bGU6IGl0YWxpYzsKQEAgLTU0OCw4ICs1NDksNyBAQAogCiBhLnJzc19sb2dvIHsKIAlmbG9hdDogcmlnaHQ7Ci0JcGFkZGluZzogM3B4IDBweDsKLQl3aWR0aDogMzVweDsKKwlwYWRkaW5nOiAzcHggNXB4OwogCWxpbmUtaGVpZ2h0OiAxMHB4OwogCWJvcmRlcjogMXB4IHNvbGlkOwogCWJvcmRlci1jb2xvcjogI2ZjYzdhNSAjN2QzMzAyICMzZTFhMDEgI2ZmOTU0ZTsKZGlmZiAtLWdpdCBhL2dyZXAuYyBiL2dyZXAuYwppbmRleCBiYjU0OGNhLi5jNjY4MDM0IDEwMDY0NAotLS0gYS9ncmVwLmMKKysrIGIvZ3JlcC5jCkBAIC0yLDYgKzIsOCBAQAogI2luY2x1ZGUgImdyZXAuaCIKICNpbmNsdWRlICJ1c2VyZGlmZi5oIgogI2luY2x1ZGUgInhkaWZmLWludGVyZmFjZS5oIgorI2luY2x1ZGUgImRpZmYuaCIKKyNpbmNsdWRlICJkaWZmY29yZS5oIgogCiBzdGF0aWMgaW50IGdyZXBfc291cmNlX2xvYWQoc3RydWN0IGdyZXBfc291cmNlICpncyk7CiBzdGF0aWMgaW50IGdyZXBfc291cmNlX2lzX2JpbmFyeShzdHJ1Y3QgZ3JlcF9zb3VyY2UgKmdzKTsKQEAgLTEzMjIsNiArMTMyNCw1OCBAQAogCWZ3cml0ZShidWYsIHNpemUsIDEsIHN0ZG91dCk7CiB9CiAKK3N0YXRpYyBpbnQgZmlsbF90ZXh0Y29udl9ncmVwKHN0cnVjdCB1c2VyZGlmZl9kcml2ZXIgKmRyaXZlciwKKwkJCSAgICAgIHN0cnVjdCBncmVwX3NvdXJjZSAqZ3MpCit7CisJc3RydWN0IGRpZmZfZmlsZXNwZWMgKmRmOworCWNoYXIgKmJ1ZjsKKwlzaXplX3Qgc2l6ZTsKKworCWlmICghZHJpdmVyIHx8ICFkcml2ZXItPnRleHRjb252KQorCQlyZXR1cm4gZ3JlcF9zb3VyY2VfbG9hZChncyk7CisKKwkvKgorCSAqIFRoZSB0ZXh0Y29udiBpbnRlcmZhY2UgaXMgaW50aW1hdGVseSB0aWVkIHRvIGRpZmZfZmlsZXNwZWNzLCBzbyB3ZQorCSAqIGhhdmUgdG8gcHJldGVuZCB0byBiZSBvbmUuIElmIHdlIGNvdWxkIHVuaWZ5IHRoZSBncmVwX3NvdXJjZQorCSAqIGFuZCBkaWZmX2ZpbGVzcGVjIHN0cnVjdHMsIHRoaXMgbWVzcyBjb3VsZCBqdXN0IGdvIGF3YXkuCisJICovCisJZGYgPSBhbGxvY19maWxlc3BlYyhncy0+cGF0aCk7CisJc3dpdGNoIChncy0+dHlwZSkgeworCWNhc2UgR1JFUF9TT1VSQ0VfU0hBMToKKwkJZmlsbF9maWxlc3BlYyhkZiwgZ3MtPmlkZW50aWZpZXIsIDEsIDAxMDA2NDQpOworCQlicmVhazsKKwljYXNlIEdSRVBfU09VUkNFX0ZJTEU6CisJCWZpbGxfZmlsZXNwZWMoZGYsIG51bGxfc2hhMSwgMCwgMDEwMDY0NCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRpZSgiQlVHOiBhdHRlbXB0IHRvIHRleHRjb252IHNvbWV0aGluZyB3aXRob3V0IGEgcGF0aD8iKTsKKwl9CisKKwkvKgorCSAqIGZpbGxfdGV4dGNvbnYgaXMgbm90IHJlbW90ZWx5IHRocmVhZC1zYWZlOyBpdCBtYXkgbG9hZCBvYmplY3RzCisJICogYmVoaW5kIHRoZSBzY2VuZXMsIGFuZCBpdCBtb2RpZmllcyB0aGUgZ2xvYmFsIGRpZmYgdGVtcGZpbGUKKwkgKiBzdHJ1Y3R1cmUuCisJICovCisJZ3JlcF9yZWFkX2xvY2soKTsKKwlzaXplID0gZmlsbF90ZXh0Y29udihkcml2ZXIsIGRmLCAmYnVmKTsKKwlncmVwX3JlYWRfdW5sb2NrKCk7CisJZnJlZV9maWxlc3BlYyhkZik7CisKKwkvKgorCSAqIFRoZSBub3JtYWwgZmlsbF90ZXh0Y29udiB1c2FnZSBieSB0aGUgZGlmZiBtYWNoaW5lcnkgd291bGQganVzdCBrZWVwCisJICogdGhlIHRleHRjb252J2QgYnVmIHNlcGFyYXRlIGZyb20gdGhlIGRpZmZfZmlsZXNwZWMuIEJ1dCBtdWNoIG9mIHRoZQorCSAqIGdyZXAgY29kZSBwYXNzZXMgYXJvdW5kIGEgZ3JlcF9zb3VyY2UgYW5kIGFzc3VtZXMgdGhhdCBpdHMgImJ1ZiIKKwkgKiBwb2ludGVyIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRoaW5nIHdlIGFyZSBzZWFyY2hpbmcuIFNvIGxldCdzCisJICogaW5zdGFsbCBvdXIgdGV4dGNvbnYnZCB2ZXJzaW9uIGludG8gdGhlIGdyZXBfc291cmNlLCB0YWtpbmcgY2FyZSBub3QKKwkgKiB0byBsZWFrIGFueSBleGlzdGluZyBidWZmZXIuCisJICovCisJZ3JlcF9zb3VyY2VfY2xlYXJfZGF0YShncyk7CisJZ3MtPmJ1ZiA9IGJ1ZjsKKwlncy0+c2l6ZSA9IHNpemU7CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBncmVwX3NvdXJjZV8xKHN0cnVjdCBncmVwX29wdCAqb3B0LCBzdHJ1Y3QgZ3JlcF9zb3VyY2UgKmdzLCBpbnQgY29sbGVjdF9oaXRzKQogewogCWNoYXIgKmJvbDsKQEAgLTEzMzIsNiArMTM4Niw3IEBACiAJdW5zaWduZWQgY291bnQgPSAwOwogCWludCB0cnlfbG9va2FoZWFkID0gMDsKIAlpbnQgc2hvd19mdW5jdGlvbiA9IDA7CisJc3RydWN0IHVzZXJkaWZmX2RyaXZlciAqdGV4dGNvbnYgPSBOVUxMOwogCWVudW0gZ3JlcF9jb250ZXh0IGN0eCA9IEdSRVBfQ09OVEVYVF9IRUFEOwogCXhkZW1pdGNvbmZfdCB4ZWNmZzsKIApAQCAtMTM1MywxOSArMTQwOCwzNiBAQAogCX0KIAlvcHQtPmxhc3Rfc2hvd24gPSAwOwogCi0Jc3dpdGNoIChvcHQtPmJpbmFyeSkgewotCWNhc2UgR1JFUF9CSU5BUllfREVGQVVMVDoKLQkJaWYgKGdyZXBfc291cmNlX2lzX2JpbmFyeShncykpCi0JCQliaW5hcnlfbWF0Y2hfb25seSA9IDE7Ci0JCWJyZWFrOwotCWNhc2UgR1JFUF9CSU5BUllfTk9NQVRDSDoKLQkJaWYgKGdyZXBfc291cmNlX2lzX2JpbmFyeShncykpCi0JCQlyZXR1cm4gMDsgLyogQXNzdW1lIHVubWF0Y2ggKi8KLQkJYnJlYWs7Ci0JY2FzZSBHUkVQX0JJTkFSWV9URVhUOgotCQlicmVhazsKLQlkZWZhdWx0OgotCQlkaWUoImJ1ZzogdW5rbm93biBiaW5hcnkgaGFuZGxpbmcgbW9kZSIpOworCWlmIChvcHQtPmFsbG93X3RleHRjb252KSB7CisJCWdyZXBfc291cmNlX2xvYWRfZHJpdmVyKGdzKTsKKwkJLyoKKwkJICogV2UgbWlnaHQgc2V0IHVwIHRoZSBzaGFyZWQgdGV4dGNvbnYgY2FjaGUgZGF0YSBoZXJlLCB3aGljaAorCQkgKiBpcyBub3QgdGhyZWFkLXNhZmUuCisJCSAqLworCQlncmVwX2F0dHJfbG9jaygpOworCQl0ZXh0Y29udiA9IHVzZXJkaWZmX2dldF90ZXh0Y29udihncy0+ZHJpdmVyKTsKKwkJZ3JlcF9hdHRyX3VubG9jaygpOworCX0KKworCS8qCisJICogV2Uga25vdyB0aGUgcmVzdWx0IG9mIGEgdGV4dGNvbnYgaXMgdGV4dCwgc28gd2Ugb25seSBoYXZlIHRvIGNhcmUKKwkgKiBhYm91dCBiaW5hcnkgaGFuZGxpbmcgaWYgd2UgYXJlIG5vdCB1c2luZyBpdC4KKwkgKi8KKwlpZiAoIXRleHRjb252KSB7CisJCXN3aXRjaCAob3B0LT5iaW5hcnkpIHsKKwkJY2FzZSBHUkVQX0JJTkFSWV9ERUZBVUxUOgorCQkJaWYgKGdyZXBfc291cmNlX2lzX2JpbmFyeShncykpCisJCQkJYmluYXJ5X21hdGNoX29ubHkgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgR1JFUF9CSU5BUllfTk9NQVRDSDoKKwkJCWlmIChncmVwX3NvdXJjZV9pc19iaW5hcnkoZ3MpKQorCQkJCXJldHVybiAwOyAvKiBBc3N1bWUgdW5tYXRjaCAqLworCQkJYnJlYWs7CisJCWNhc2UgR1JFUF9CSU5BUllfVEVYVDoKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZGllKCJidWc6IHVua25vd24gYmluYXJ5IGhhbmRsaW5nIG1vZGUiKTsKKwkJfQogCX0KIAogCW1lbXNldCgmeGVjZmcsIDAsIHNpemVvZih4ZWNmZykpOwpAQCAtMTM3Myw3ICsxNDQ1LDcgQEAKIAogCXRyeV9sb29rYWhlYWQgPSBzaG91bGRfbG9va2FoZWFkKG9wdCk7CiAKLQlpZiAoZ3JlcF9zb3VyY2VfbG9hZChncykgPCAwKQorCWlmIChmaWxsX3RleHRjb252X2dyZXAodGV4dGNvbnYsIGdzKSA8IDApCiAJCXJldHVybiAwOwogCiAJYm9sID0gZ3MtPmJ1ZjsKZGlmZiAtLWdpdCBhL2dyZXAuaCBiL2dyZXAuaAppbmRleCBlNGExZGY1Li5lYWFjZWQxIDEwMDY0NAotLS0gYS9ncmVwLmgKKysrIGIvZ3JlcC5oCkBAIC0xMDcsNiArMTA3LDcgQEAKICNkZWZpbmUgR1JFUF9CSU5BUllfTk9NQVRDSAkxCiAjZGVmaW5lIEdSRVBfQklOQVJZX1RFWFQJMgogCWludCBiaW5hcnk7CisJaW50IGFsbG93X3RleHRjb252OwogCWludCBleHRlbmRlZDsKIAlpbnQgdXNlX3JlZmxvZ19maWx0ZXI7CiAJaW50IHBjcmU7CmRpZmYgLS1naXQgYS9oZWxwLmMgYi9oZWxwLmMKaW5kZXggZjA2ODkyNS4uZGY3ZDE2ZCAxMDA2NDQKLS0tIGEvaGVscC5jCisrKyBiL2hlbHAuYwpAQCAtMTQ4LDcgKzE0OCw3IEBACiAJd2hpbGUgKChkZSA9IHJlYWRkaXIoZGlyKSkgIT0gTlVMTCkgewogCQlpbnQgZW50bGVuOwogCi0JCWlmIChwcmVmaXhjbXAoZGUtPmRfbmFtZSwgcHJlZml4KSkKKwkJaWYgKCFzdGFydHNfd2l0aChkZS0+ZF9uYW1lLCBwcmVmaXgpKQogCQkJY29udGludWU7CiAKIAkJc3RyYnVmX3NldGxlbigmYnVmLCBsZW4pOwpAQCAtMjU1LDcgKzI1NSw3IEBACiAJaWYgKCFzdHJjbXAodmFyLCAiaGVscC5hdXRvY29ycmVjdCIpKQogCQlhdXRvY29ycmVjdCA9IGdpdF9jb25maWdfaW50KHZhcix2YWx1ZSk7CiAJLyogQWxzbyB1c2UgYWxpYXNlcyBmb3IgY29tbWFuZCBsb29rdXAgKi8KLQlpZiAoIXByZWZpeGNtcCh2YXIsICJhbGlhcy4iKSkKKwlpZiAoc3RhcnRzX3dpdGgodmFyLCAiYWxpYXMuIikpCiAJCWFkZF9jbWRuYW1lKCZhbGlhc2VzLCB2YXIgKyA2LCBzdHJsZW4odmFyICsgNikpOwogCiAJcmV0dXJuIGdpdF9kZWZhdWx0X2NvbmZpZyh2YXIsIHZhbHVlLCBjYik7CkBAIC0zMjksNyArMzI5LDcgQEAKIAkJaWYgKChuIDwgQVJSQVlfU0laRShjb21tb25fY21kcykpICYmICFjbXApIHsKIAkJCS8qIFllcywgdGhpcyBpcyBvbmUgb2YgdGhlIGNvbW1vbiBjb21tYW5kcyAqLwogCQkJbisrOyAvKiB1c2UgdGhlIGVudHJ5IGZyb20gY29tbW9uX2NtZHNbXSAqLwotCQkJaWYgKCFwcmVmaXhjbXAoY2FuZGlkYXRlLCBjbWQpKSB7CisJCQlpZiAoc3RhcnRzX3dpdGgoY2FuZGlkYXRlLCBjbWQpKSB7CiAJCQkJLyogR2l2ZSBwcmVmaXggbWF0Y2ggYSB2ZXJ5IGdvb2Qgc2NvcmUgKi8KIAkJCQltYWluX2NtZHMubmFtZXNbaV0tPmxlbiA9IDA7CiAJCQkJY29udGludWU7CkBAIC00MTQsNyArNDE0LDcgQEAKIAlzdHJ1Y3Qgc2ltaWxhcl9yZWZfY2IgKmNiID0gKHN0cnVjdCBzaW1pbGFyX3JlZl9jYiAqKShjYl9kYXRhKTsKIAljaGFyICpicmFuY2ggPSBzdHJyY2hyKHJlZm5hbWUsICcvJykgKyAxOwogCS8qIEEgcmVtb3RlIGJyYW5jaCBvZiB0aGUgc2FtZSBuYW1lIGlzIGRlZW1lZCBzaW1pbGFyICovCi0JaWYgKCFwcmVmaXhjbXAocmVmbmFtZSwgInJlZnMvcmVtb3Rlcy8iKSAmJgorCWlmIChzdGFydHNfd2l0aChyZWZuYW1lLCAicmVmcy9yZW1vdGVzLyIpICYmCiAJICAgICFzdHJjbXAoYnJhbmNoLCBjYi0+YmFzZV9yZWYpKQogCQlzdHJpbmdfbGlzdF9hcHBlbmQoY2ItPnNpbWlsYXJfcmVmcywKIAkJCQkgICByZWZuYW1lICsgc3RybGVuKCJyZWZzL3JlbW90ZXMvIikpOwpkaWZmIC0tZ2l0IGEvaHR0cC1iYWNrZW5kLmMgYi9odHRwLWJhY2tlbmQuYwppbmRleCA4YzQ2NGJkLi5kMmMwYTYyIDEwMDY0NAotLS0gYS9odHRwLWJhY2tlbmQuYworKysgYi9odHRwLWJhY2tlbmQuYwpAQCAtMjI2LDcgKzIyNiw3IEBACiAJCXJldHVybiAwOwogCX0KIAotCWlmICghcHJlZml4Y21wKHZhciwgImh0dHAuIikpIHsKKwlpZiAoc3RhcnRzX3dpdGgodmFyLCAiaHR0cC4iKSkgewogCQlpbnQgaTsKIAogCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShycGNfc2VydmljZSk7IGkrKykgewpAQCAtMjQ3LDcgKzI0Nyw3IEBACiAJc3RydWN0IHJwY19zZXJ2aWNlICpzdmMgPSBOVUxMOwogCWludCBpOwogCi0JaWYgKHByZWZpeGNtcChuYW1lLCAiZ2l0LSIpKQorCWlmICghc3RhcnRzX3dpdGgobmFtZSwgImdpdC0iKSkKIAkJZm9yYmlkZGVuKCJVbnN1cHBvcnRlZCBzZXJ2aWNlOiAnJXMnIiwgbmFtZSk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShycGNfc2VydmljZSk7IGkrKykgewpkaWZmIC0tZ2l0IGEvaHR0cC1wdXNoLmMgYi9odHRwLXB1c2guYwppbmRleCBiMWU3NGQyLi5kNGI0MGM5IDEwMDY0NAotLS0gYS9odHRwLXB1c2guYworKysgYi9odHRwLXB1c2guYwpAQCAtNzcxLDcgKzc3MSw3IEBACiAJCQlsb2NrLT5vd25lciA9IHhtYWxsb2Moc3RybGVuKGN0eC0+Y2RhdGEpICsgMSk7CiAJCQlzdHJjcHkobG9jay0+b3duZXIsIGN0eC0+Y2RhdGEpOwogCQl9IGVsc2UgaWYgKCFzdHJjbXAoY3R4LT5uYW1lLCBEQVZfQUNUSVZFTE9DS19USU1FT1VUKSkgewotCQkJaWYgKCFwcmVmaXhjbXAoY3R4LT5jZGF0YSwgIlNlY29uZC0iKSkKKwkJCWlmIChzdGFydHNfd2l0aChjdHgtPmNkYXRhLCAiU2Vjb25kLSIpKQogCQkJCWxvY2stPnRpbWVvdXQgPQogCQkJCQlzdHJ0b2woY3R4LT5jZGF0YSArIDcsIE5VTEwsIDEwKTsKIAkJfSBlbHNlIGlmICghc3RyY21wKGN0eC0+bmFtZSwgREFWX0FDVElWRUxPQ0tfVE9LRU4pKSB7CkBAIC0xMzMwLDggKzEzMzAsNyBAQAogCQkJYnJlYWs7CiAJCX0KIAotCWZyZWUodHJlZS0+YnVmZmVyKTsKLQl0cmVlLT5idWZmZXIgPSBOVUxMOworCWZyZWVfdHJlZV9idWZmZXIodHJlZSk7CiAJcmV0dXJuIHA7CiB9CiAKQEAgLTE1ODAsNyArMTU3OSw3IEBACiAJCXJldHVybjsKIAogCS8qIElmIGl0J3MgYSBzeW1yZWYsIHNldCB0aGUgcmVmbmFtZTsgb3RoZXJ3aXNlIHRyeSBmb3IgYSBzaGExICovCi0JaWYgKCFwcmVmaXhjbXAoKGNoYXIgKilidWZmZXIuYnVmLCAicmVmOiAiKSkgeworCWlmIChzdGFydHNfd2l0aCgoY2hhciAqKWJ1ZmZlci5idWYsICJyZWY6ICIpKSB7CiAJCSpzeW1yZWYgPSB4bWVtZHVweigoY2hhciAqKWJ1ZmZlci5idWYgKyA1LCBidWZmZXIubGVuIC0gNik7CiAJfSBlbHNlIHsKIAkJZ2V0X3NoYTFfaGV4KGJ1ZmZlci5idWYsIHNoYTEpOwpkaWZmIC0tZ2l0IGEvaHR0cC5jIGIvaHR0cC5jCmluZGV4IDM0NDc5NDUuLjcwZWFhMjYgMTAwNjQ0Ci0tLSBhL2h0dHAuYworKysgYi9odHRwLmMKQEAgLTMsNiArMyw3IEBACiAjaW5jbHVkZSAic2lkZWJhbmQuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgogI2luY2x1ZGUgInVybC5oIgorI2luY2x1ZGUgInVybG1hdGNoLmgiCiAjaW5jbHVkZSAiY3JlZGVudGlhbC5oIgogI2luY2x1ZGUgInZlcnNpb24uaCIKICNpbmNsdWRlICJwa3QtbGluZS5oIgpAQCAtNDUsNiArNDYsNyBAQAogc3RhdGljIGludCBjdXJsX2Z0cF9ub19lcHN2Owogc3RhdGljIGNvbnN0IGNoYXIgKmN1cmxfaHR0cF9wcm94eTsKIHN0YXRpYyBjb25zdCBjaGFyICpjdXJsX2Nvb2tpZV9maWxlOworc3RhdGljIGludCBjdXJsX3NhdmVfY29va2llczsKIHN0cnVjdCBjcmVkZW50aWFsIGh0dHBfYXV0aCA9IENSRURFTlRJQUxfSU5JVDsKIHN0YXRpYyBpbnQgaHR0cF9wcm9hY3RpdmVfYXV0aDsKIHN0YXRpYyBjb25zdCBjaGFyICp1c2VyX2FnZW50OwpAQCAtMTYwLDggKzE2Miw3IEBACiAJaWYgKCFzdHJjbXAoImh0dHAuc3NsY2FpbmZvIiwgdmFyKSkKIAkJcmV0dXJuIGdpdF9jb25maWdfc3RyaW5nKCZzc2xfY2FpbmZvLCB2YXIsIHZhbHVlKTsKIAlpZiAoIXN0cmNtcCgiaHR0cC5zc2xjZXJ0cGFzc3dvcmRwcm90ZWN0ZWQiLCB2YXIpKSB7Ci0JCWlmIChnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSkpCi0JCQlzc2xfY2VydF9wYXNzd29yZF9yZXF1aXJlZCA9IDE7CisJCXNzbF9jZXJ0X3Bhc3N3b3JkX3JlcXVpcmVkID0gZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpOwogCQlyZXR1cm4gMDsKIAl9CiAJaWYgKCFzdHJjbXAoImh0dHAuc3NsdHJ5IiwgdmFyKSkgewpAQCAtMjAwLDYgKzIwMSwxMCBAQAogCiAJaWYgKCFzdHJjbXAoImh0dHAuY29va2llZmlsZSIsIHZhcikpCiAJCXJldHVybiBnaXRfY29uZmlnX3N0cmluZygmY3VybF9jb29raWVfZmlsZSwgdmFyLCB2YWx1ZSk7CisJaWYgKCFzdHJjbXAoImh0dHAuc2F2ZWNvb2tpZXMiLCB2YXIpKSB7CisJCWN1cmxfc2F2ZV9jb29raWVzID0gZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpOworCQlyZXR1cm4gMDsKKwl9CiAKIAlpZiAoIXN0cmNtcCgiaHR0cC5wb3N0YnVmZmVyIiwgdmFyKSkgewogCQlodHRwX3Bvc3RfYnVmZmVyID0gZ2l0X2NvbmZpZ19pbnQodmFyLCB2YWx1ZSk7CkBAIC0yNTUsNiArMjYwLDQyIEBACiAJcmV0dXJuIDE7CiB9CiAKKyNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNID49IDB4MDcxOTAwCitzdGF0aWMgdm9pZCBzZXRfY3VybF9rZWVwYWxpdmUoQ1VSTCAqYykKK3sKKwljdXJsX2Vhc3lfc2V0b3B0KGMsIENVUkxPUFRfVENQX0tFRVBBTElWRSwgMSk7Cit9CisKKyNlbGlmIExJQkNVUkxfVkVSU0lPTl9OVU0gPj0gMHgwNzEwMDAKK3N0YXRpYyBpbnQgc29ja29wdF9jYWxsYmFjayh2b2lkICpjbGllbnQsIGN1cmxfc29ja2V0X3QgZmQsIGN1cmxzb2NrdHlwZSB0eXBlKQoreworCWludCBrYSA9IDE7CisJaW50IHJjOworCXNvY2tsZW5fdCBsZW4gPSAoc29ja2xlbl90KXNpemVvZihrYSk7CisKKwlpZiAodHlwZSAhPSBDVVJMU09DS1RZUEVfSVBDWE4pCisJCXJldHVybiAwOworCisJcmMgPSBzZXRzb2Nrb3B0KGZkLCBTT0xfU09DS0VULCBTT19LRUVQQUxJVkUsICh2b2lkICopJmthLCBsZW4pOworCWlmIChyYyA8IDApCisJCXdhcm5pbmcoInVuYWJsZSB0byBzZXQgU09fS0VFUEFMSVZFIG9uIHNvY2tldCAlcyIsCisJCQlzdHJlcnJvcihlcnJubykpOworCisJcmV0dXJuIDA7IC8qIENVUkxfU09DS09QVF9PSyBvbmx5IGV4aXN0cyBzaW5jZSBjdXJsIDcuMjEuNSAqLworfQorCitzdGF0aWMgdm9pZCBzZXRfY3VybF9rZWVwYWxpdmUoQ1VSTCAqYykKK3sKKwljdXJsX2Vhc3lfc2V0b3B0KGMsIENVUkxPUFRfU09DS09QVEZVTkNUSU9OLCBzb2Nrb3B0X2NhbGxiYWNrKTsKK30KKworI2Vsc2UKK3N0YXRpYyB2b2lkIHNldF9jdXJsX2tlZXBhbGl2ZShDVVJMICpjKQoreworCS8qIG5vdCBzdXBwb3J0ZWQgb24gb2xkZXIgY3VybCB2ZXJzaW9ucyAqLworfQorI2VuZGlmCisKIHN0YXRpYyBDVVJMICpnZXRfY3VybF9oYW5kbGUodm9pZCkKIHsKIAlDVVJMICpyZXN1bHQgPSBjdXJsX2Vhc3lfaW5pdCgpOwpAQCAtMzI3LDYgKzM2OCw4IEBACiAJCWN1cmxfZWFzeV9zZXRvcHQocmVzdWx0LCBDVVJMT1BUX1BST1hZQVVUSCwgQ1VSTEFVVEhfQU5ZKTsKIAl9CiAKKwlzZXRfY3VybF9rZWVwYWxpdmUocmVzdWx0KTsKKwogCXJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTM0MSwxMCArMzg0LDIwIEBACiB7CiAJY2hhciAqbG93X3NwZWVkX2xpbWl0OwogCWNoYXIgKmxvd19zcGVlZF90aW1lOworCWNoYXIgKm5vcm1hbGl6ZWRfdXJsOworCXN0cnVjdCB1cmxtYXRjaF9jb25maWcgY29uZmlnID0geyBTVFJJTkdfTElTVF9JTklUX0RVUCB9OworCisJY29uZmlnLnNlY3Rpb24gPSAiaHR0cCI7CisJY29uZmlnLmtleSA9IE5VTEw7CisJY29uZmlnLmNvbGxlY3RfZm4gPSBodHRwX29wdGlvbnM7CisJY29uZmlnLmNhc2NhZGVfZm4gPSBnaXRfZGVmYXVsdF9jb25maWc7CisJY29uZmlnLmNiID0gTlVMTDsKIAogCWh0dHBfaXNfdmVyYm9zZSA9IDA7CisJbm9ybWFsaXplZF91cmwgPSB1cmxfbm9ybWFsaXplKHVybCwgJmNvbmZpZy51cmwpOwogCi0JZ2l0X2NvbmZpZyhodHRwX29wdGlvbnMsIE5VTEwpOworCWdpdF9jb25maWcodXJsbWF0Y2hfY29uZmlnX2VudHJ5LCAmY29uZmlnKTsKKwlmcmVlKG5vcm1hbGl6ZWRfdXJsKTsKIAogCWN1cmxfZ2xvYmFsX2luaXQoQ1VSTF9HTE9CQUxfQUxMKTsKIApAQCAtNDA3LDcgKzQ2MCw3IEBACiAJCWNyZWRlbnRpYWxfZnJvbV91cmwoJmh0dHBfYXV0aCwgdXJsKTsKIAkJaWYgKCFzc2xfY2VydF9wYXNzd29yZF9yZXF1aXJlZCAmJgogCQkgICAgZ2V0ZW52KCJHSVRfU1NMX0NFUlRfUEFTU1dPUkRfUFJPVEVDVEVEIikgJiYKLQkJICAgICFwcmVmaXhjbXAodXJsLCAiaHR0cHM6Ly8iKSkKKwkJICAgIHN0YXJ0c193aXRoKHVybCwgImh0dHBzOi8vIikpCiAJCQlzc2xfY2VydF9wYXNzd29yZF9yZXF1aXJlZCA9IDE7CiAJfQogCkBAIC01MTMsNiArNTY2LDggQEAKIAlzbG90LT5jYWxsYmFja19kYXRhID0gTlVMTDsKIAlzbG90LT5jYWxsYmFja19mdW5jID0gTlVMTDsKIAljdXJsX2Vhc3lfc2V0b3B0KHNsb3QtPmN1cmwsIENVUkxPUFRfQ09PS0lFRklMRSwgY3VybF9jb29raWVfZmlsZSk7CisJaWYgKGN1cmxfc2F2ZV9jb29raWVzKQorCQljdXJsX2Vhc3lfc2V0b3B0KHNsb3QtPmN1cmwsIENVUkxPUFRfQ09PS0lFSkFSLCBjdXJsX2Nvb2tpZV9maWxlKTsKIAljdXJsX2Vhc3lfc2V0b3B0KHNsb3QtPmN1cmwsIENVUkxPUFRfSFRUUEhFQURFUiwgcHJhZ21hX2hlYWRlcik7CiAJY3VybF9lYXN5X3NldG9wdChzbG90LT5jdXJsLCBDVVJMT1BUX0VSUk9SQlVGRkVSLCBjdXJsX2Vycm9yc3RyKTsKIAljdXJsX2Vhc3lfc2V0b3B0KHNsb3QtPmN1cmwsIENVUkxPUFRfQ1VTVE9NUkVRVUVTVCwgTlVMTCk7CkBAIC03MDYsNiArNzYxLDEyIEBACiAJaWYgKHNsb3QtPnJlc3VsdHMgIT0gTlVMTCkgewogCQlzbG90LT5yZXN1bHRzLT5jdXJsX3Jlc3VsdCA9IHNsb3QtPmN1cmxfcmVzdWx0OwogCQlzbG90LT5yZXN1bHRzLT5odHRwX2NvZGUgPSBzbG90LT5odHRwX2NvZGU7CisjaWYgTElCQ1VSTF9WRVJTSU9OX05VTSA+PSAweDA3MGEwOAorCQljdXJsX2Vhc3lfZ2V0aW5mbyhzbG90LT5jdXJsLCBDVVJMSU5GT19IVFRQQVVUSF9BVkFJTCwKKwkJCQkgICZzbG90LT5yZXN1bHRzLT5hdXRoX2F2YWlsKTsKKyNlbHNlCisJCXNsb3QtPnJlc3VsdHMtPmF1dGhfYXZhaWwgPSAwOworI2VuZGlmCiAJfQogCiAJLyogUnVuIGNhbGxiYWNrIGlmIGFwcHJvcHJpYXRlICovCkBAIC05MzksNyArMTAwMCw3IEBACiAJaWYgKCFzdHJjbXAoYXNrZWQsIGdvdC0+YnVmKSkKIAkJcmV0dXJuIDA7CiAKLQlpZiAocHJlZml4Y21wKGFza2VkLCBiYXNlLT5idWYpKQorCWlmICghc3RhcnRzX3dpdGgoYXNrZWQsIGJhc2UtPmJ1ZikpCiAJCWRpZSgiQlVHOiB1cGRhdGVfdXJsX2Zyb21fcmVkaXJlY3Q6ICVzIGlzIG5vdCBhIHN1cGVyc2V0IG9mICVzIiwKIAkJICAgIGFza2VkLCBiYXNlLT5idWYpOwogCkBAIC0xMDQ1LDcgKzExMDYsNyBAQAogCQlzdHJidWZfcnRyaW0oJmJ1ZmZlcik7CiAJCWlmIChidWZmZXIubGVuID09IDQwKQogCQkJcmV0ID0gZ2V0X3NoYTFfaGV4KGJ1ZmZlci5idWYsIHJlZi0+b2xkX3NoYTEpOwotCQllbHNlIGlmICghcHJlZml4Y21wKGJ1ZmZlci5idWYsICJyZWY6ICIpKSB7CisJCWVsc2UgaWYgKHN0YXJ0c193aXRoKGJ1ZmZlci5idWYsICJyZWY6ICIpKSB7CiAJCQlyZWYtPnN5bXJlZiA9IHhzdHJkdXAoYnVmZmVyLmJ1ZiArIDUpOwogCQkJcmV0ID0gMDsKIAkJfQpAQCAtMTE0Niw4ICsxMjA3LDggQEAKIAkJY2FzZSAnUCc6CiAJCQlpKys7CiAJCQlpZiAoaSArIDUyIDw9IGJ1Zi5sZW4gJiYKLQkJCSAgICAhcHJlZml4Y21wKGRhdGEgKyBpLCAiIHBhY2stIikgJiYKLQkJCSAgICAhcHJlZml4Y21wKGRhdGEgKyBpICsgNDYsICIucGFja1xuIikpIHsKKwkJCSAgICBzdGFydHNfd2l0aChkYXRhICsgaSwgIiBwYWNrLSIpICYmCisJCQkgICAgc3RhcnRzX3dpdGgoZGF0YSArIGkgKyA0NiwgIi5wYWNrXG4iKSkgewogCQkJCWdldF9zaGExX2hleChkYXRhICsgaSArIDYsIHNoYTEpOwogCQkJCWZldGNoX2FuZF9zZXR1cF9wYWNrX2luZGV4KHBhY2tzX2hlYWQsIHNoYTEsCiAJCQkJCQkgICAgICBiYXNlX3VybCk7CmRpZmYgLS1naXQgYS9odHRwLmggYi9odHRwLmgKaW5kZXggMTJjYTVjOC4uY2QzN2Q1OCAxMDA2NDQKLS0tIGEvaHR0cC5oCisrKyBiL2h0dHAuaApAQCAtNTQsNiArNTQsNyBAQAogc3RydWN0IHNsb3RfcmVzdWx0cyB7CiAJQ1VSTGNvZGUgY3VybF9yZXN1bHQ7CiAJbG9uZyBodHRwX2NvZGU7CisJbG9uZyBhdXRoX2F2YWlsOwogfTsKIAogc3RydWN0IGFjdGl2ZV9yZXF1ZXN0X3Nsb3QgewpkaWZmIC0tZ2l0IGEvaW1hcC1zZW5kLmMgYi9pbWFwLXNlbmQuYwppbmRleCBkNmI2NWUyLi4wYmM2ZjdmIDEwMDY0NAotLS0gYS9pbWFwLXNlbmQuYworKysgYi9pbWFwLXNlbmQuYwpAQCAtMjgsMjAgKzI4LDYgQEAKICNpbmNsdWRlICJwcm9tcHQuaCIKICNpZmRlZiBOT19PUEVOU1NMCiB0eXBlZGVmIHZvaWQgKlNTTDsKLSNlbHNlCi0jaWZkZWYgQVBQTEVfQ09NTU9OX0NSWVBUTwotI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25ITUFDLmg+Ci0jZGVmaW5lIEhNQUNfQ1RYIENDSG1hY0NvbnRleHQKLSNkZWZpbmUgSE1BQ19Jbml0KGhtYWMsIGtleSwgbGVuLCBhbGdvKSBDQ0htYWNJbml0KGhtYWMsIGFsZ28sIGtleSwgbGVuKQotI2RlZmluZSBITUFDX1VwZGF0ZSBDQ0htYWNVcGRhdGUKLSNkZWZpbmUgSE1BQ19GaW5hbChobWFjLCBoYXNoLCBwdHIpIENDSG1hY0ZpbmFsKGhtYWMsIGhhc2gpCi0jZGVmaW5lIEhNQUNfQ1RYX2NsZWFudXAoaWdub3JlKQotI2RlZmluZSBFVlBfbWQ1KCkga0NDSG1hY0FsZ01ENQotI2Vsc2UKLSNpbmNsdWRlIDxvcGVuc3NsL2V2cC5oPgotI2luY2x1ZGUgPG9wZW5zc2wvaG1hYy5oPgotI2VuZGlmCi0jaW5jbHVkZSA8b3BlbnNzbC94NTA5djMuaD4KICNlbmRpZgogCiBzdGF0aWMgY29uc3QgY2hhciBpbWFwX3NlbmRfdXNhZ2VbXSA9ICJnaXQgaW1hcC1zZW5kIDwgPG1ib3g+IjsKQEAgLTEyNzcsNyArMTI2Myw3IEBACiAJY2hhciAqcCA9IGFsbF9tc2dzLT5idWY7CiAKIAl3aGlsZSAoMSkgewotCQlpZiAoIXByZWZpeGNtcChwLCAiRnJvbSAiKSkgeworCQlpZiAoc3RhcnRzX3dpdGgocCwgIkZyb20gIikpIHsKIAkJCXAgPSBzdHJzdHIocCs1LCAiXG5Gcm9tOiAiKTsKIAkJCWlmICghcCkgYnJlYWs7CiAJCQlwID0gc3Ryc3RyKHArNywgIlxuRGF0ZTogIik7CkBAIC0xMzExLDcgKzEyOTcsNyBAQAogCWRhdGEgPSAmYWxsX21zZ3MtPmJ1Zlsqb2ZzXTsKIAlsZW4gPSBhbGxfbXNncy0+bGVuIC0gKm9mczsKIAotCWlmIChsZW4gPCA1IHx8IHByZWZpeGNtcChkYXRhLCAiRnJvbSAiKSkKKwlpZiAobGVuIDwgNSB8fCAhc3RhcnRzX3dpdGgoZGF0YSwgIkZyb20gIikpCiAJCXJldHVybiAwOwogCiAJcCA9IHN0cmNocihkYXRhLCAnXG4nKTsKQEAgLTEzNTMsMTMgKzEzMzksMTMgQEAKIAlpZiAoIXN0cmNtcCgiZm9sZGVyIiwga2V5KSkgewogCQlpbWFwX2ZvbGRlciA9IHhzdHJkdXAodmFsKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoImhvc3QiLCBrZXkpKSB7Ci0JCWlmICghcHJlZml4Y21wKHZhbCwgImltYXA6IikpCisJCWlmIChzdGFydHNfd2l0aCh2YWwsICJpbWFwOiIpKQogCQkJdmFsICs9IDU7Ci0JCWVsc2UgaWYgKCFwcmVmaXhjbXAodmFsLCAiaW1hcHM6IikpIHsKKwkJZWxzZSBpZiAoc3RhcnRzX3dpdGgodmFsLCAiaW1hcHM6IikpIHsKIAkJCXZhbCArPSA2OwogCQkJc2VydmVyLnVzZV9zc2wgPSAxOwogCQl9Ci0JCWlmICghcHJlZml4Y21wKHZhbCwgIi8vIikpCisJCWlmIChzdGFydHNfd2l0aCh2YWwsICIvLyIpKQogCQkJdmFsICs9IDI7CiAJCXNlcnZlci5ob3N0ID0geHN0cmR1cCh2YWwpOwogCX0gZWxzZSBpZiAoIXN0cmNtcCgidXNlciIsIGtleSkpCmRpZmYgLS1naXQgYS9saW5lLWxvZy5jIGIvbGluZS1sb2cuYwppbmRleCBjMmQwMWRjLi43MTc2MzhiIDEwMDY0NAotLS0gYS9saW5lLWxvZy5jCisrKyBiL2xpbmUtbG9nLmMKQEAgLTIzLDcgKzIzLDcgQEAKIC8qIEVpdGhlciBpbml0aWFsaXphdGlvbiB3b3VsZCBiZSBmaW5lICovCiAjZGVmaW5lIFJBTkdFX1NFVF9JTklUIHswfQogCi1zdGF0aWMgdm9pZCByYW5nZV9zZXRfaW5pdChzdHJ1Y3QgcmFuZ2Vfc2V0ICpycywgc2l6ZV90IHByZWFsbG9jKQordm9pZCByYW5nZV9zZXRfaW5pdChzdHJ1Y3QgcmFuZ2Vfc2V0ICpycywgc2l6ZV90IHByZWFsbG9jKQogewogCXJzLT5hbGxvYyA9IHJzLT5uciA9IDA7CiAJcnMtPnJhbmdlcyA9IE5VTEw7CkBAIC0zMSw3ICszMSw3IEBACiAJCXJhbmdlX3NldF9ncm93KHJzLCBwcmVhbGxvYyk7CiB9CiAKLXN0YXRpYyB2b2lkIHJhbmdlX3NldF9yZWxlYXNlKHN0cnVjdCByYW5nZV9zZXQgKnJzKQordm9pZCByYW5nZV9zZXRfcmVsZWFzZShzdHJ1Y3QgcmFuZ2Vfc2V0ICpycykKIHsKIAlmcmVlKHJzLT5yYW5nZXMpOwogCXJzLT5hbGxvYyA9IHJzLT5uciA9IDA7CkBAIC01Niw3ICs1Niw3IEBACiB9CiAKIC8qIHRhY2sgb24gYSBfbmV3XyByYW5nZSBfYXQgdGhlIGVuZF8gKi8KLXN0YXRpYyB2b2lkIHJhbmdlX3NldF9hcHBlbmRfdW5zYWZlKHN0cnVjdCByYW5nZV9zZXQgKnJzLCBsb25nIGEsIGxvbmcgYikKK3ZvaWQgcmFuZ2Vfc2V0X2FwcGVuZF91bnNhZmUoc3RydWN0IHJhbmdlX3NldCAqcnMsIGxvbmcgYSwgbG9uZyBiKQogewogCWFzc2VydChhIDw9IGIpOwogCXJhbmdlX3NldF9ncm93KHJzLCAxKTsKQEAgLTY1LDcgKzY1LDcgQEAKIAlycy0+bnIrKzsKIH0KIAotc3RhdGljIHZvaWQgcmFuZ2Vfc2V0X2FwcGVuZChzdHJ1Y3QgcmFuZ2Vfc2V0ICpycywgbG9uZyBhLCBsb25nIGIpCit2b2lkIHJhbmdlX3NldF9hcHBlbmQoc3RydWN0IHJhbmdlX3NldCAqcnMsIGxvbmcgYSwgbG9uZyBiKQogewogCWFzc2VydChycy0+bnIgPT0gMCB8fCBycy0+cmFuZ2VzW3JzLT5uci0xXS5lbmQgPD0gYSk7CiAJcmFuZ2Vfc2V0X2FwcGVuZF91bnNhZmUocnMsIGEsIGIpOwpAQCAtMTA3LDcgKzEwNyw3IEBACiAgKiBJbi1wbGFjZSBwYXNzIG9mIHNvcnRpbmcgYW5kIG1lcmdpbmcgdGhlIHJhbmdlcyBpbiB0aGUgcmFuZ2Ugc2V0LAogICogdG8gZXN0YWJsaXNoIHRoZSBpbnZhcmlhbnRzIHdoZW4gd2UgZ2V0IHRoZSByYW5nZXMgZnJvbSB0aGUgdXNlcgogICovCi1zdGF0aWMgdm9pZCBzb3J0X2FuZF9tZXJnZV9yYW5nZV9zZXQoc3RydWN0IHJhbmdlX3NldCAqcnMpCit2b2lkIHNvcnRfYW5kX21lcmdlX3JhbmdlX3NldChzdHJ1Y3QgcmFuZ2Vfc2V0ICpycykKIHsKIAlpbnQgaTsKIAlpbnQgbyA9IDA7IC8qIG91dHB1dCBjdXJzb3IgKi8KQEAgLTI5MSw3ICsyOTEsNiBAQAogCiAJaWYgKHApIHsKIAkJcmFuZ2Vfc2V0X2FwcGVuZF91bnNhZmUoJnAtPnJhbmdlcywgYmVnaW4sIGVuZCk7Ci0JCXNvcnRfYW5kX21lcmdlX3JhbmdlX3NldCgmcC0+cmFuZ2VzKTsKIAkJZnJlZShwYXRoKTsKIAkJcmV0dXJuOwogCX0KQEAgLTI5OSw3ICsyOTgsNiBAQAogCXAgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbGluZV9sb2dfZGF0YSkpOwogCXAtPnBhdGggPSBwYXRoOwogCXJhbmdlX3NldF9hcHBlbmQoJnAtPnJhbmdlcywgYmVnaW4sIGVuZCk7Ci0Jc29ydF9hbmRfbWVyZ2VfcmFuZ2Vfc2V0KCZwLT5yYW5nZXMpOwogCWlmIChpcCkgewogCQlwLT5uZXh0ID0gaXAtPm5leHQ7CiAJCWlwLT5uZXh0ID0gcDsKQEAgLTU2NiwxMiArNTY0LDE0IEBACiAJc3RydWN0IG50aF9saW5lX2NiIGNiX2RhdGE7CiAJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CiAJc3RydWN0IGxpbmVfbG9nX2RhdGEgKnJhbmdlcyA9IE5VTEw7CisJc3RydWN0IGxpbmVfbG9nX2RhdGEgKnA7CiAKIAlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sIGFyZ3MpIHsKIAkJY29uc3QgY2hhciAqbmFtZV9wYXJ0LCAqcmFuZ2VfcGFydDsKIAkJY2hhciAqZnVsbF9uYW1lOwogCQlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqc3BlYzsKIAkJbG9uZyBiZWdpbiA9IDAsIGVuZCA9IDA7CisJCWxvbmcgYW5jaG9yOwogCiAJCW5hbWVfcGFydCA9IHNraXBfcmFuZ2VfYXJnKGl0ZW0tPnN0cmluZyk7CiAJCWlmICghbmFtZV9wYXJ0IHx8ICpuYW1lX3BhcnQgIT0gJzonIHx8ICFuYW1lX3BhcnRbMV0pCkBAIC01OTAsMTcgKzU5MCwyMyBAQAogCQljYl9kYXRhLmxpbmVzID0gbGluZXM7CiAJCWNiX2RhdGEubGluZV9lbmRzID0gZW5kczsKIAorCQlwID0gc2VhcmNoX2xpbmVfbG9nX2RhdGEocmFuZ2VzLCBmdWxsX25hbWUsIE5VTEwpOworCQlpZiAocCAmJiBwLT5yYW5nZXMubnIpCisJCQlhbmNob3IgPSBwLT5yYW5nZXMucmFuZ2VzW3AtPnJhbmdlcy5uciAtIDFdLmVuZCArIDE7CisJCWVsc2UKKwkJCWFuY2hvciA9IDE7CisKIAkJaWYgKHBhcnNlX3JhbmdlX2FyZyhyYW5nZV9wYXJ0LCBudGhfbGluZSwgJmNiX2RhdGEsCi0JCQkJICAgIGxpbmVzLCAmYmVnaW4sICZlbmQsCisJCQkJICAgIGxpbmVzLCBhbmNob3IsICZiZWdpbiwgJmVuZCwKIAkJCQkgICAgZnVsbF9uYW1lKSkKIAkJCWRpZSgibWFsZm9ybWVkIC1MIGFyZ3VtZW50ICclcyciLCByYW5nZV9wYXJ0KTsKKwkJaWYgKGxpbmVzIDwgZW5kIHx8ICgobGluZXMgfHwgYmVnaW4pICYmIGxpbmVzIDwgYmVnaW4pKQorCQkJZGllKCJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lcyIsIG5hbWVfcGFydCwgbGluZXMpOwogCQlpZiAoYmVnaW4gPCAxKQogCQkJYmVnaW4gPSAxOwogCQlpZiAoZW5kIDwgMSkKIAkJCWVuZCA9IGxpbmVzOwogCQliZWdpbi0tOwotCQlpZiAobGluZXMgPCBlbmQgfHwgbGluZXMgPCBiZWdpbikKLQkJCWRpZSgiZmlsZSAlcyBoYXMgb25seSAlbGQgbGluZXMiLCBuYW1lX3BhcnQsIGxpbmVzKTsKIAkJbGluZV9sb2dfZGF0YV9pbnNlcnQoJnJhbmdlcywgZnVsbF9uYW1lLCBiZWdpbiwgZW5kKTsKIAogCQlmcmVlX2ZpbGVzcGVjKHNwZWMpOwpAQCAtNjA4LDYgKzYxNCw5IEBACiAJCWVuZHMgPSBOVUxMOwogCX0KIAorCWZvciAocCA9IHJhbmdlczsgcDsgcCA9IHAtPm5leHQpCisJCXNvcnRfYW5kX21lcmdlX3JhbmdlX3NldCgmcC0+cmFuZ2VzKTsKKwogCXJldHVybiByYW5nZXM7CiB9CiAKQEAgLTc1MSw3ICs3NjAsOCBAQAogCQkJciA9IHItPm5leHQ7CiAJCX0KIAkJcGF0aHNbY291bnRdID0gTlVMTDsKLQkJaW5pdF9wYXRoc3BlYygmcmV2LT5kaWZmb3B0LnBhdGhzcGVjLCBwYXRocyk7CisJCXBhcnNlX3BhdGhzcGVjKCZyZXYtPmRpZmZvcHQucGF0aHNwZWMsIDAsCisJCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0ZVTEwsICIiLCBwYXRocyk7CiAJCWZyZWUocGF0aHMpOwogCX0KIH0KZGlmZiAtLWdpdCBhL2xpbmUtbG9nLmggYi9saW5lLWxvZy5oCmluZGV4IDhiZWE0NWYuLmE5MjEyZDggMTAwNjQ0Ci0tLSBhL2xpbmUtbG9nLmgKKysrIGIvbGluZS1sb2cuaApAQCAtMjUsNiArMjUsMTggQEAKIAlzdHJ1Y3QgcmFuZ2Vfc2V0IHRhcmdldDsKIH07CiAKK2V4dGVybiB2b2lkIHJhbmdlX3NldF9pbml0KHN0cnVjdCByYW5nZV9zZXQgKiwgc2l6ZV90IHByZWFsbG9jKTsKK2V4dGVybiB2b2lkIHJhbmdlX3NldF9yZWxlYXNlKHN0cnVjdCByYW5nZV9zZXQgKik7CisvKiBSYW5nZSBpbmNsdWRlcyBzdGFydDsgZXhjbHVkZXMgZW5kICovCitleHRlcm4gdm9pZCByYW5nZV9zZXRfYXBwZW5kX3Vuc2FmZShzdHJ1Y3QgcmFuZ2Vfc2V0ICosIGxvbmcgc3RhcnQsIGxvbmcgZW5kKTsKKy8qIE5ldyByYW5nZSBtdXN0IGJlZ2luIGF0IG9yIGFmdGVyIGVuZCBvZiBsYXN0IGFkZGVkIHJhbmdlICovCitleHRlcm4gdm9pZCByYW5nZV9zZXRfYXBwZW5kKHN0cnVjdCByYW5nZV9zZXQgKiwgbG9uZyBzdGFydCwgbG9uZyBlbmQpOworLyoKKyAqIEluLXBsYWNlIHBhc3Mgb2Ygc29ydGluZyBhbmQgbWVyZ2luZyB0aGUgcmFuZ2VzIGluIHRoZSByYW5nZSBzZXQsCisgKiB0byBzb3J0IGFuZCBtYWtlIHRoZSByYW5nZXMgZGlzam9pbnQuCisgKi8KK2V4dGVybiB2b2lkIHNvcnRfYW5kX21lcmdlX3JhbmdlX3NldChzdHJ1Y3QgcmFuZ2Vfc2V0ICopOworCiAvKiBMaW5rZWQgbGlzdCBvZiBpbnRlcmVzdGluZyBmaWxlcyBhbmQgdGhlaXIgYXNzb2NpYXRlZCByYW5nZXMuICBUaGUKICAqIGxpc3QgbXVzdCBiZSBrZXB0IHNvcnRlZCBieSBwYXRoLgogICoKZGlmZiAtLWdpdCBhL2xpbmUtcmFuZ2UuYyBiL2xpbmUtcmFuZ2UuYwppbmRleCAzOTQyNDc1Li5kZTRlMzJmIDEwMDY0NAotLS0gYS9saW5lLXJhbmdlLmMKKysrIGIvbGluZS1yYW5nZS5jCkBAIC02LDYgKzYsMTggQEAKIAogLyoKICAqIFBhcnNlIG9uZSBpdGVtIGluIHRoZSAtTCBvcHRpb24KKyAqCisgKiAnYmVnaW4nIGlzIGFwcGxpY2FibGUgb25seSB0byByZWxhdGl2ZSByYW5nZSBhbmNob3JzLiBBYnNvbHV0ZSBhbmNob3JzCisgKiBpZ25vcmUgdGhpcyB2YWx1ZS4KKyAqCisgKiBXaGVuIHBhcnNpbmcgIi1MIEEsQiIsIHBhcnNlX2xvYygpIGlzIGNhbGxlZCBvbmNlIGZvciBBIGFuZCBvbmNlIGZvciBCLgorICoKKyAqIFdoZW4gcGFyc2luZyBBLCAnYmVnaW4nIG11c3QgYmUgYSBuZWdhdGl2ZSBudW1iZXIsIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZgorICogd2hpY2ggaXMgdGhlIGxpbmUgYXQgd2hpY2ggcmVsYXRpdmUgc3RhcnQtb2YtcmFuZ2UgYW5jaG9ycyBzaG91bGQgYmUKKyAqIGJhc2VkLiBCZWdpbm5pbmcgb2YgZmlsZSBpcyByZXByZXNlbnRlZCBieSAtMS4KKyAqCisgKiBXaGVuIHBhcnNpbmcgQiwgJ2JlZ2luJyBtdXN0IGJlIHRoZSBwb3NpdGl2ZSBsaW5lIG51bWJlciBpbW1lZGlhdGVseQorICogZm9sbG93aW5nIHRoZSBsaW5lIGNvbXB1dGVkIGZvciAnQScuCiAgKi8KIHN0YXRpYyBjb25zdCBjaGFyICpwYXJzZV9sb2MoY29uc3QgY2hhciAqc3BlYywgbnRoX2xpbmVfZm5fdCBudGhfbGluZSwKIAkJCSAgICAgdm9pZCAqZGF0YSwgbG9uZyBsaW5lcywgbG9uZyBiZWdpbiwgbG9uZyAqcmV0KQpAQCAtMjEsMTEgKzMzLDEzIEBACiAJICogZm9yIDIwIGxpbmVzLCBvciAiLUwgPHNvbWV0aGluZz4sLTUiIGZvciA1IGxpbmVzIGVuZGluZyBhdAogCSAqIDxzb21ldGhpbmc+LgogCSAqLwotCWlmICgxIDwgYmVnaW4gJiYgKHNwZWNbMF0gPT0gJysnIHx8IHNwZWNbMF0gPT0gJy0nKSkgeworCWlmICgxIDw9IGJlZ2luICYmIChzcGVjWzBdID09ICcrJyB8fCBzcGVjWzBdID09ICctJykpIHsKIAkJbnVtID0gc3RydG9sKHNwZWMgKyAxLCAmdGVybSwgMTApOwogCQlpZiAodGVybSAhPSBzcGVjICsgMSkgewogCQkJaWYgKCFyZXQpCiAJCQkJcmV0dXJuIHRlcm07CisJCQlpZiAobnVtID09IDApCisJCQkJZGllKCItTCBpbnZhbGlkIGVtcHR5IHJhbmdlIik7CiAJCQlpZiAoc3BlY1swXSA9PSAnLScpCiAJCQkJbnVtID0gMCAtIG51bTsKIAkJCWlmICgwIDwgbnVtKQpAQCAtNDAsMTAgKzU0LDIzIEBACiAJfQogCW51bSA9IHN0cnRvbChzcGVjLCAmdGVybSwgMTApOwogCWlmICh0ZXJtICE9IHNwZWMpIHsKLQkJaWYgKHJldCkKKwkJaWYgKHJldCkgeworCQkJaWYgKG51bSA8PSAwKQorCQkJCWRpZSgiLUwgaW52YWxpZCBsaW5lIG51bWJlcjogJWxkIiwgbnVtKTsKIAkJCSpyZXQgPSBudW07CisJCX0KIAkJcmV0dXJuIHRlcm07CiAJfQorCisJaWYgKGJlZ2luIDwgMCkgeworCQlpZiAoc3BlY1swXSAhPSAnXicpCisJCQliZWdpbiA9IC1iZWdpbjsKKwkJZWxzZSB7CisJCQliZWdpbiA9IDE7CisJCQlzcGVjKys7CisJCX0KKwl9CisKIAlpZiAoc3BlY1swXSAhPSAnLycpCiAJCXJldHVybiBzcGVjOwogCkBAIC04Myw3ICsxMTAsOCBAQAogCWVsc2UgewogCQljaGFyIGVycmJ1ZlsxMDI0XTsKIAkJcmVnZXJyb3IocmVnX2Vycm9yLCAmcmVnZXhwLCBlcnJidWYsIDEwMjQpOwotCQlkaWUoIi1MIHBhcmFtZXRlciAnJXMnOiAlcyIsIHNwZWMgKyAxLCBlcnJidWYpOworCQlkaWUoIi1MIHBhcmFtZXRlciAnJXMnIHN0YXJ0aW5nIGF0IGxpbmUgJWxkOiAlcyIsCisJCSAgICBzcGVjICsgMSwgYmVnaW4gKyAxLCBlcnJidWYpOwogCX0KIH0KIApAQCAtMTM2LDcgKzE2NCw3IEBACiB9CiAKIHN0YXRpYyBjb25zdCBjaGFyICpwYXJzZV9yYW5nZV9mdW5jbmFtZShjb25zdCBjaGFyICphcmcsIG50aF9saW5lX2ZuX3QgbnRoX2xpbmVfY2IsCi0JCQkJCXZvaWQgKmNiX2RhdGEsIGxvbmcgbGluZXMsIGxvbmcgKmJlZ2luLCBsb25nICplbmQsCisJCQkJCXZvaWQgKmNiX2RhdGEsIGxvbmcgbGluZXMsIGxvbmcgYW5jaG9yLCBsb25nICpiZWdpbiwgbG9uZyAqZW5kLAogCQkJCQljb25zdCBjaGFyICpwYXRoKQogewogCWNoYXIgKnBhdHRlcm47CkBAIC0xNDgsNiArMTc2LDExIEBACiAJaW50IHJlZ19lcnJvcjsKIAlyZWdleF90IHJlZ2V4cDsKIAorCWlmICgqYXJnID09ICdeJykgeworCQlhbmNob3IgPSAxOworCQlhcmcrKzsKKwl9CisKIAlhc3NlcnQoKmFyZyA9PSAnOicpOwogCXRlcm0gPSBhcmcrMTsKIAl3aGlsZSAoKnRlcm0gJiYgKnRlcm0gIT0gJzonKSB7CkBAIC0xNjIsNyArMTk1LDggQEAKIAogCXBhdHRlcm4gPSB4c3RybmR1cChhcmcrMSwgdGVybS0oYXJnKzEpKTsKIAotCXN0YXJ0ID0gbnRoX2xpbmVfY2IoY2JfZGF0YSwgMCk7CisJYW5jaG9yLS07IC8qIGlucHV0IGlzIGluIGh1bWFuIHRlcm1zICovCisJc3RhcnQgPSBudGhfbGluZV9jYihjYl9kYXRhLCBhbmNob3IpOwogCiAJZHJ2ID0gdXNlcmRpZmZfZmluZF9ieV9wYXRoKHBhdGgpOwogCWlmIChkcnYgJiYgZHJ2LT5mdW5jbmFtZS5wYXR0ZXJuKSB7CkBAIC0xODAsNyArMjE0LDggQEAKIAogCXAgPSBmaW5kX2Z1bmNuYW1lX21hdGNoaW5nX3JlZ2V4cCh4ZWNmZywgKGNoYXIqKSBzdGFydCwgJnJlZ2V4cCk7CiAJaWYgKCFwKQotCQlkaWUoIi1MIHBhcmFtZXRlciAnJXMnOiBubyBtYXRjaCIsIHBhdHRlcm4pOworCQlkaWUoIi1MIHBhcmFtZXRlciAnJXMnIHN0YXJ0aW5nIGF0IGxpbmUgJWxkOiBubyBtYXRjaCIsCisJCSAgICBwYXR0ZXJuLCBhbmNob3IgKyAxKTsKIAkqYmVnaW4gPSAwOwogCXdoaWxlIChwID4gbnRoX2xpbmVfY2IoY2JfZGF0YSwgKmJlZ2luKSkKIAkJKCpiZWdpbikrKzsKQEAgLTIwOCwxOSArMjQzLDI0IEBACiB9CiAKIGludCBwYXJzZV9yYW5nZV9hcmcoY29uc3QgY2hhciAqYXJnLCBudGhfbGluZV9mbl90IG50aF9saW5lX2NiLAotCQkgICAgdm9pZCAqY2JfZGF0YSwgbG9uZyBsaW5lcywgbG9uZyAqYmVnaW4sIGxvbmcgKmVuZCwKLQkJICAgIGNvbnN0IGNoYXIgKnBhdGgpCisJCSAgICB2b2lkICpjYl9kYXRhLCBsb25nIGxpbmVzLCBsb25nIGFuY2hvciwKKwkJICAgIGxvbmcgKmJlZ2luLCBsb25nICplbmQsIGNvbnN0IGNoYXIgKnBhdGgpCiB7CiAJKmJlZ2luID0gKmVuZCA9IDA7CiAKLQlpZiAoKmFyZyA9PSAnOicpIHsKLQkJYXJnID0gcGFyc2VfcmFuZ2VfZnVuY25hbWUoYXJnLCBudGhfbGluZV9jYiwgY2JfZGF0YSwgbGluZXMsIGJlZ2luLCBlbmQsIHBhdGgpOworCWlmIChhbmNob3IgPCAxKQorCQlhbmNob3IgPSAxOworCWlmIChhbmNob3IgPiBsaW5lcykKKwkJYW5jaG9yID0gbGluZXMgKyAxOworCisJaWYgKCphcmcgPT0gJzonIHx8ICgqYXJnID09ICdeJyAmJiAqKGFyZyArIDEpID09ICc6JykpIHsKKwkJYXJnID0gcGFyc2VfcmFuZ2VfZnVuY25hbWUoYXJnLCBudGhfbGluZV9jYiwgY2JfZGF0YSwgbGluZXMsIGFuY2hvciwgYmVnaW4sIGVuZCwgcGF0aCk7CiAJCWlmICghYXJnIHx8ICphcmcpCiAJCQlyZXR1cm4gLTE7CiAJCXJldHVybiAwOwogCX0KIAotCWFyZyA9IHBhcnNlX2xvYyhhcmcsIG50aF9saW5lX2NiLCBjYl9kYXRhLCBsaW5lcywgMSwgYmVnaW4pOworCWFyZyA9IHBhcnNlX2xvYyhhcmcsIG50aF9saW5lX2NiLCBjYl9kYXRhLCBsaW5lcywgLWFuY2hvciwgYmVnaW4pOwogCiAJaWYgKCphcmcgPT0gJywnKQogCQlhcmcgPSBwYXJzZV9sb2MoYXJnICsgMSwgbnRoX2xpbmVfY2IsIGNiX2RhdGEsIGxpbmVzLCAqYmVnaW4gKyAxLCBlbmQpOwpAQCAtMjM4LDggKzI3OCw4IEBACiAKIGNvbnN0IGNoYXIgKnNraXBfcmFuZ2VfYXJnKGNvbnN0IGNoYXIgKmFyZykKIHsKLQlpZiAoKmFyZyA9PSAnOicpCi0JCXJldHVybiBwYXJzZV9yYW5nZV9mdW5jbmFtZShhcmcsIE5VTEwsIE5VTEwsIDAsIE5VTEwsIE5VTEwsIE5VTEwpOworCWlmICgqYXJnID09ICc6JyB8fCAoKmFyZyA9PSAnXicgJiYgKihhcmcgKyAxKSA9PSAnOicpKQorCQlyZXR1cm4gcGFyc2VfcmFuZ2VfZnVuY25hbWUoYXJnLCBOVUxMLCBOVUxMLCAwLCAwLCBOVUxMLCBOVUxMLCBOVUxMKTsKIAogCWFyZyA9IHBhcnNlX2xvYyhhcmcsIE5VTEwsIE5VTEwsIDAsIC0xLCBOVUxMKTsKIApkaWZmIC0tZ2l0IGEvbGluZS1yYW5nZS5oIGIvbGluZS1yYW5nZS5oCmluZGV4IGFlM2QwMTIuLjgzYmEzYzIgMTAwNjQ0Ci0tLSBhL2xpbmUtcmFuZ2UuaAorKysgYi9saW5lLXJhbmdlLmgKQEAgLTksNiArOSw5IEBACiAgKiBsaW5lICdsbm8nIGluc2lkZSB0aGUgJ2NiX2RhdGEnLiAgVGhlIGNhbGxlciBpcyBleHBlY3RlZCB0byBhbHJlYWR5CiAgKiBoYXZlIGEgc3VpdGFibGUgbWFwIGF0IGhhbmQgdG8gbWFrZSB0aGlzIGEgY29uc3RhbnQtdGltZSBsb29rdXAuCiAgKgorICogJ2FuY2hvcicgaXMgdGhlIDEtYmFzZWQgbGluZSBhdCB3aGljaCByZWxhdGl2ZSByYW5nZSBzcGVjaWZpY2F0aW9ucworICogc2hvdWxkIGJlIGFuY2hvcmVkLiBBYnNvbHV0ZSByYW5nZXMgYXJlIHVuYWZmZWN0ZWQgYnkgdGhpcyB2YWx1ZS4KKyAqCiAgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpZiB0aGVyZSB3YXMgYW4gZXJyb3IuICBUaGUKICAqIGFjdHVhbCByYW5nZSBpcyBzdG9yZWQgaW4gKmJlZ2luIGFuZCAqZW5kLiAgVGhlIGNvdW50aW5nIHN0YXJ0cwogICogYXQgMSEgIEluIGNhc2Ugb2YgZXJyb3IsIHRoZSBjYWxsZXIgc2hvdWxkIHNob3cgdXNhZ2UgbWVzc2FnZS4KQEAgLTE4LDcgKzIxLDcgQEAKIAogZXh0ZXJuIGludCBwYXJzZV9yYW5nZV9hcmcoY29uc3QgY2hhciAqYXJnLAogCQkJICAgbnRoX2xpbmVfZm5fdCBudGhfbGluZV9jYiwKLQkJCSAgIHZvaWQgKmNiX2RhdGEsIGxvbmcgbGluZXMsCisJCQkgICB2b2lkICpjYl9kYXRhLCBsb25nIGxpbmVzLCBsb25nIGFuY2hvciwKIAkJCSAgIGxvbmcgKmJlZ2luLCBsb25nICplbmQsCiAJCQkgICBjb25zdCBjaGFyICpwYXRoKTsKIApkaWZmIC0tZ2l0IGEvbGlzdC1vYmplY3RzLmMgYi9saXN0LW9iamVjdHMuYwppbmRleCAwNWM4YzVjLi4yMDY4MTZmIDEwMDY0NAotLS0gYS9saXN0LW9iamVjdHMuYworKysgYi9saXN0LW9iamVjdHMuYwpAQCAtMTIzLDggKzEyMyw3IEBACiAJCQkJICAgICBjYl9kYXRhKTsKIAl9CiAJc3RyYnVmX3NldGxlbihiYXNlLCBiYXNlbGVuKTsKLQlmcmVlKHRyZWUtPmJ1ZmZlcik7Ci0JdHJlZS0+YnVmZmVyID0gTlVMTDsKKwlmcmVlX3RyZWVfYnVmZmVyKHRyZWUpOwogfQogCiBzdGF0aWMgdm9pZCBtYXJrX2VkZ2VfcGFyZW50c191bmludGVyZXN0aW5nKHN0cnVjdCBjb21taXQgKmNvbW1pdCwKQEAgLTE2MywxNSArMTYyLDE3IEBACiAJCX0KIAkJbWFya19lZGdlX3BhcmVudHNfdW5pbnRlcmVzdGluZyhjb21taXQsIHJldnMsIHNob3dfZWRnZSk7CiAJfQotCWZvciAoaSA9IDA7IGkgPCByZXZzLT5jbWRsaW5lLm5yOyBpKyspIHsKLQkJc3RydWN0IG9iamVjdCAqb2JqID0gcmV2cy0+Y21kbGluZS5yZXZbaV0uaXRlbTsKLQkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gKHN0cnVjdCBjb21taXQgKilvYmo7Ci0JCWlmIChvYmotPnR5cGUgIT0gT0JKX0NPTU1JVCB8fCAhKG9iai0+ZmxhZ3MgJiBVTklOVEVSRVNUSU5HKSkKLQkJCWNvbnRpbnVlOwotCQltYXJrX3RyZWVfdW5pbnRlcmVzdGluZyhjb21taXQtPnRyZWUpOwotCQlpZiAocmV2cy0+ZWRnZV9oaW50ICYmICEob2JqLT5mbGFncyAmIFNIT1dOKSkgewotCQkJb2JqLT5mbGFncyB8PSBTSE9XTjsKLQkJCXNob3dfZWRnZShjb21taXQpOworCWlmIChyZXZzLT5lZGdlX2hpbnQpIHsKKwkJZm9yIChpID0gMDsgaSA8IHJldnMtPmNtZGxpbmUubnI7IGkrKykgeworCQkJc3RydWN0IG9iamVjdCAqb2JqID0gcmV2cy0+Y21kbGluZS5yZXZbaV0uaXRlbTsKKwkJCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IChzdHJ1Y3QgY29tbWl0ICopb2JqOworCQkJaWYgKG9iai0+dHlwZSAhPSBPQkpfQ09NTUlUIHx8ICEob2JqLT5mbGFncyAmIFVOSU5URVJFU1RJTkcpKQorCQkJCWNvbnRpbnVlOworCQkJbWFya190cmVlX3VuaW50ZXJlc3RpbmcoY29tbWl0LT50cmVlKTsKKwkJCWlmICghKG9iai0+ZmxhZ3MgJiBTSE9XTikpIHsKKwkJCQlvYmotPmZsYWdzIHw9IFNIT1dOOworCQkJCXNob3dfZWRnZShjb21taXQpOworCQkJfQogCQl9CiAJfQogfQpkaWZmIC0tZ2l0IGEvbG9nLXRyZWUuYyBiL2xvZy10cmVlLmMKaW5kZXggODUzNGQ5MS4uMDg5NzBiZiAxMDA2NDQKLS0tIGEvbG9nLXRyZWUuYworKysgYi9sb2ctdHJlZS5jCkBAIC05OCw3ICs5OCw3IEBACiAJc3RydWN0IG9iamVjdCAqb2JqOwogCWVudW0gZGVjb3JhdGlvbl90eXBlIHR5cGUgPSBERUNPUkFUSU9OX05PTkU7CiAKLQlpZiAoIXByZWZpeGNtcChyZWZuYW1lLCAicmVmcy9yZXBsYWNlLyIpKSB7CisJaWYgKHN0YXJ0c193aXRoKHJlZm5hbWUsICJyZWZzL3JlcGxhY2UvIikpIHsKIAkJdW5zaWduZWQgY2hhciBvcmlnaW5hbF9zaGExWzIwXTsKIAkJaWYgKCFyZWFkX3JlcGxhY2VfcmVmcykKIAkJCXJldHVybiAwOwpAQCAtMTE2LDExICsxMTYsMTEgQEAKIAlpZiAoIW9iaikKIAkJcmV0dXJuIDA7CiAKLQlpZiAoIXByZWZpeGNtcChyZWZuYW1lLCAicmVmcy9oZWFkcy8iKSkKKwlpZiAoc3RhcnRzX3dpdGgocmVmbmFtZSwgInJlZnMvaGVhZHMvIikpCiAJCXR5cGUgPSBERUNPUkFUSU9OX1JFRl9MT0NBTDsKLQllbHNlIGlmICghcHJlZml4Y21wKHJlZm5hbWUsICJyZWZzL3JlbW90ZXMvIikpCisJZWxzZSBpZiAoc3RhcnRzX3dpdGgocmVmbmFtZSwgInJlZnMvcmVtb3Rlcy8iKSkKIAkJdHlwZSA9IERFQ09SQVRJT05fUkVGX1JFTU9URTsKLQllbHNlIGlmICghcHJlZml4Y21wKHJlZm5hbWUsICJyZWZzL3RhZ3MvIikpCisJZWxzZSBpZiAoc3RhcnRzX3dpdGgocmVmbmFtZSwgInJlZnMvdGFncy8iKSkKIAkJdHlwZSA9IERFQ09SQVRJT05fUkVGX1RBRzsKIAllbHNlIGlmICghc3RyY21wKHJlZm5hbWUsICJyZWZzL3N0YXNoIikpCiAJCXR5cGUgPSBERUNPUkFUSU9OX1JFRl9TVEFTSDsKQEAgLTEzNCw2ICsxMzQsOCBAQAogCQlvYmogPSAoKHN0cnVjdCB0YWcgKilvYmopLT50YWdnZWQ7CiAJCWlmICghb2JqKQogCQkJYnJlYWs7CisJCWlmICghb2JqLT5wYXJzZWQpCisJCQlwYXJzZV9vYmplY3Qob2JqLT5zaGExKTsKIAkJYWRkX25hbWVfZGVjb3JhdGlvbihERUNPUkFUSU9OX1JFRl9UQUcsIHJlZm5hbWUsIG9iaik7CiAJfQogCXJldHVybiAwOwpAQCAtNzM0LDcgKzczNiw3IEBACiAJaWYgKCFvcHQtPmRpZmYgJiYgIURJRkZfT1BUX1RTVCgmb3B0LT5kaWZmb3B0LCBFWElUX1dJVEhfU1RBVFVTKSkKIAkJcmV0dXJuIDA7CiAKLQlwYXJzZV9jb21taXQoY29tbWl0KTsKKwlwYXJzZV9jb21taXRfb3JfZGllKGNvbW1pdCk7CiAJc2hhMSA9IGNvbW1pdC0+dHJlZS0+b2JqZWN0LnNoYTE7CiAKIAkvKiBSb290IGNvbW1pdD8gKi8KQEAgLTc1OSw3ICs3NjEsNyBAQAogCQkJICogcGFyZW50LCBzaG93aW5nIHN1bW1hcnkgZGlmZiBvZiB0aGUgb3RoZXJzCiAJCQkgKiB3ZSBtZXJnZWQgX2luXy4KIAkJCSAqLwotCQkJcGFyc2VfY29tbWl0KHBhcmVudHMtPml0ZW0pOworCQkJcGFyc2VfY29tbWl0X29yX2RpZShwYXJlbnRzLT5pdGVtKTsKIAkJCWRpZmZfdHJlZV9zaGExKHBhcmVudHMtPml0ZW0tPnRyZWUtPm9iamVjdC5zaGExLAogCQkJCSAgICAgICBzaGExLCAiIiwgJm9wdC0+ZGlmZm9wdCk7CiAJCQlsb2dfdHJlZV9kaWZmX2ZsdXNoKG9wdCk7CkBAIC03NzQsNyArNzc2LDcgQEAKIAlmb3IgKDs7KSB7CiAJCXN0cnVjdCBjb21taXQgKnBhcmVudCA9IHBhcmVudHMtPml0ZW07CiAKLQkJcGFyc2VfY29tbWl0KHBhcmVudCk7CisJCXBhcnNlX2NvbW1pdF9vcl9kaWUocGFyZW50KTsKIAkJZGlmZl90cmVlX3NoYTEocGFyZW50LT50cmVlLT5vYmplY3Quc2hhMSwKIAkJCSAgICAgICBzaGExLCAiIiwgJm9wdC0+ZGlmZm9wdCk7CiAJCWxvZ190cmVlX2RpZmZfZmx1c2gob3B0KTsKZGlmZiAtLWdpdCBhL21haWxtYXAuYyBiL21haWxtYXAuYwppbmRleCAzMDYxNDM0Li44MTg5MGE2IDEwMDY0NAotLS0gYS9tYWlsbWFwLmMKKysrIGIvbWFpbG1hcC5jCkBAIC01Miw2ICs1MiwyMCBAQAogCXN0cmluZ19saXN0X2NsZWFyX2Z1bmMoJm1lLT5uYW1lbWFwLCBmcmVlX21haWxtYXBfaW5mbyk7CiB9CiAKKy8qCisgKiBPbiBzb21lIHN5c3RlbXMgKGUuZy4gTWluR1cgNC4wKSwgc3RyaW5nLmggaGFzIF9vbmx5XyBpbmxpbmUKKyAqIGRlZmluaXRpb24gb2Ygc3RyY2FzZWNtcCBhbmQgbm8gbm9uLWlubGluZSBpbXBsZW1lbnRhdGlvbiBpcworICogc3VwcGxpZWQgYW55d2hlcmUsIHdoaWNoIGlzLCBlaCwgInVudXN1YWwiOyB3ZSBjYW5ub3QgdGFrZSBhbgorICogYWRkcmVzcyBvZiBzdWNoIGEgZnVuY3Rpb24gdG8gc3RvcmUgaXQgaW4gbmFtZW1hcC5jbXAuICBUaGlzIGlzCisgKiBoZXJlIGFzIGEgd29ya2Fyb3VuZC0tLWRvIG5vdCBhc3NpZ24gc3RyY2FzZWNtcCBkaXJlY3RseSB0bworICogbmFtZW1hcC5jbXAgdW50aWwgd2Uga25vdyBubyBzeXN0ZW1zIHRoYXQgbWF0dGVyIGhhdmUgc3VjaCBhbgorICogInVudXN1YWwiIHN0cmluZy5oLgorICovCitzdGF0aWMgaW50IG5hbWVtYXBfY21wKGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIpCit7CisJcmV0dXJuIHN0cmNhc2VjbXAoYSwgYik7Cit9CisKIHN0YXRpYyB2b2lkIGFkZF9tYXBwaW5nKHN0cnVjdCBzdHJpbmdfbGlzdCAqbWFwLAogCQkJY2hhciAqbmV3X25hbWUsIGNoYXIgKm5ld19lbWFpbCwKIAkJCWNoYXIgKm9sZF9uYW1lLCBjaGFyICpvbGRfZW1haWwpCkBAIC03NSw3ICs4OSw3IEBACiAJCWl0ZW0gPSBzdHJpbmdfbGlzdF9pbnNlcnRfYXRfaW5kZXgobWFwLCBpbmRleCwgb2xkX2VtYWlsKTsKIAkJbWUgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbWFpbG1hcF9lbnRyeSkpOwogCQltZS0+bmFtZW1hcC5zdHJkdXBfc3RyaW5ncyA9IDE7Ci0JCW1lLT5uYW1lbWFwLmNtcCA9IHN0cmNhc2VjbXA7CisJCW1lLT5uYW1lbWFwLmNtcCA9IG5hbWVtYXBfY21wOwogCQlpdGVtLT51dGlsID0gbWU7CiAJfQogCkBAIC0xNTMsOCArMTY3LDcgQEAKIAkJaWYgKCFzdHJuY21wKGJ1ZmZlciwgYWJicmV2LCBhYmJsZW4pKSB7CiAJCQljaGFyICpjcDsKIAotCQkJaWYgKHJlcG9fYWJicmV2KQotCQkJCWZyZWUoKnJlcG9fYWJicmV2KTsKKwkJCWZyZWUoKnJlcG9fYWJicmV2KTsKIAkJCSpyZXBvX2FiYnJldiA9IHhtYWxsb2MobGVuKTsKIAogCQkJZm9yIChjcCA9IGJ1ZmZlciArIGFiYmxlbjsgaXNzcGFjZSgqY3ApOyBjcCsrKQpAQCAtMjM4LDcgKzI1MSw3IEBACiAJaW50IGVyciA9IDA7CiAKIAltYXAtPnN0cmR1cF9zdHJpbmdzID0gMTsKLQltYXAtPmNtcCA9IHN0cmNhc2VjbXA7CisJbWFwLT5jbXAgPSBuYW1lbWFwX2NtcDsKIAogCWlmICghZ2l0X21haWxtYXBfYmxvYiAmJiBpc19iYXJlX3JlcG9zaXRvcnkoKSkKIAkJZ2l0X21haWxtYXBfYmxvYiA9ICJIRUFEOi5tYWlsbWFwIjsKZGlmZiAtLWdpdCBhL21lcmdlLXJlY3Vyc2l2ZS5jIGIvbWVyZ2UtcmVjdXJzaXZlLmMKaW5kZXggZmMyZjAwMS4uODQwMGE4ZSAxMDA2NDQKLS0tIGEvbWVyZ2UtcmVjdXJzaXZlLmMKKysrIGIvbWVyZ2UtcmVjdXJzaXZlLmMKQEAgLTI5OCw3ICsyOTgsNyBAQAogewogCWludCBuOwogCXN0cnVjdCBwYXRoc3BlYyBtYXRjaF9hbGw7Ci0JaW5pdF9wYXRoc3BlYygmbWF0Y2hfYWxsLCBOVUxMKTsKKwltZW1zZXQoJm1hdGNoX2FsbCwgMCwgc2l6ZW9mKG1hdGNoX2FsbCkpOwogCWlmIChyZWFkX3RyZWVfcmVjdXJzaXZlKHRyZWUsICIiLCAwLCAwLCAmbWF0Y2hfYWxsLCBzYXZlX2ZpbGVzX2RpcnMsIG8pKQogCQlyZXR1cm4gMDsKIAluID0gby0+Y3VycmVudF9maWxlX3NldC5uciArIG8tPmN1cnJlbnRfZGlyZWN0b3J5X3NldC5ucjsKQEAgLTY5Myw3ICs2OTMsNyBAQAogCS8qIE1ha2Ugc3VyZSBsZWFkaW5nIGRpcmVjdG9yaWVzIGFyZSBjcmVhdGVkICovCiAJc3RhdHVzID0gc2FmZV9jcmVhdGVfbGVhZGluZ19kaXJlY3Rvcmllc19jb25zdChwYXRoKTsKIAlpZiAoc3RhdHVzKSB7Ci0JCWlmIChzdGF0dXMgPT0gLTMpIHsKKwkJaWYgKHN0YXR1cyA9PSBTQ0xEX0VYSVNUUykgewogCQkJLyogc29tZXRoaW5nIGVsc2UgZXhpc3RzICovCiAJCQllcnJvcihtc2csIHBhdGgsIF8oIjogcGVyaGFwcyBhIEQvRiBjb25mbGljdD8iKSk7CiAJCQlyZXR1cm4gLTE7CkBAIC0yMDYzLDEzICsyMDYzLDEzIEBACiAJCW8tPnJlY3Vyc2l2ZV92YXJpYW50ID0gTUVSR0VfUkVDVVJTSVZFX1RIRUlSUzsKIAllbHNlIGlmICghc3RyY21wKHMsICJzdWJ0cmVlIikpCiAJCW8tPnN1YnRyZWVfc2hpZnQgPSAiIjsKLQllbHNlIGlmICghcHJlZml4Y21wKHMsICJzdWJ0cmVlPSIpKQorCWVsc2UgaWYgKHN0YXJ0c193aXRoKHMsICJzdWJ0cmVlPSIpKQogCQlvLT5zdWJ0cmVlX3NoaWZ0ID0gcyArIHN0cmxlbigic3VidHJlZT0iKTsKIAllbHNlIGlmICghc3RyY21wKHMsICJwYXRpZW5jZSIpKQogCQlvLT54ZGxfb3B0cyA9IERJRkZfV0lUSF9BTEcobywgUEFUSUVOQ0VfRElGRik7CiAJZWxzZSBpZiAoIXN0cmNtcChzLCAiaGlzdG9ncmFtIikpCiAJCW8tPnhkbF9vcHRzID0gRElGRl9XSVRIX0FMRyhvLCBISVNUT0dSQU1fRElGRik7Ci0JZWxzZSBpZiAoIXByZWZpeGNtcChzLCAiZGlmZi1hbGdvcml0aG09IikpIHsKKwllbHNlIGlmIChzdGFydHNfd2l0aChzLCAiZGlmZi1hbGdvcml0aG09IikpIHsKIAkJbG9uZyB2YWx1ZSA9IHBhcnNlX2FsZ29yaXRobV92YWx1ZShzICsgc3RybGVuKCJkaWZmLWFsZ29yaXRobT0iKSk7CiAJCWlmICh2YWx1ZSA8IDApCiAJCQlyZXR1cm4gLTE7CkBAIC0yMDg4LDcgKzIwODgsNyBAQAogCQlvLT5yZW5vcm1hbGl6ZSA9IDE7CiAJZWxzZSBpZiAoIXN0cmNtcChzLCAibm8tcmVub3JtYWxpemUiKSkKIAkJby0+cmVub3JtYWxpemUgPSAwOwotCWVsc2UgaWYgKCFwcmVmaXhjbXAocywgInJlbmFtZS10aHJlc2hvbGQ9IikpIHsKKwllbHNlIGlmIChzdGFydHNfd2l0aChzLCAicmVuYW1lLXRocmVzaG9sZD0iKSkgewogCQljb25zdCBjaGFyICpzY29yZSA9IHMgKyBzdHJsZW4oInJlbmFtZS10aHJlc2hvbGQ9Iik7CiAJCWlmICgoby0+cmVuYW1lX3Njb3JlID0gcGFyc2VfcmVuYW1lX3Njb3JlKCZzY29yZSkpID09IC0xIHx8ICpzY29yZSAhPSAwKQogCQkJcmV0dXJuIC0xOwpkaWZmIC0tZ2l0IGEvbWVyZ2V0b29scy9kaWZmbWVyZ2UgYi9tZXJnZXRvb2xzL2RpZmZtZXJnZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NWFjNzIwCi0tLSAvZGV2L251bGwKKysrIGIvbWVyZ2V0b29scy9kaWZmbWVyZ2UKQEAgLTAsMCArMSwxNSBAQAorZGlmZl9jbWQgKCkgeworCSIkbWVyZ2VfdG9vbF9wYXRoIiAiJExPQ0FMIiAiJFJFTU9URSIgPi9kZXYvbnVsbCAyPiYxCit9CisKK21lcmdlX2NtZCAoKSB7CisJaWYgJGJhc2VfcHJlc2VudAorCXRoZW4KKwkJIiRtZXJnZV90b29sX3BhdGgiIC0tbWVyZ2UgLS1yZXN1bHQ9IiRNRVJHRUQiIFwKKwkJCSIkTE9DQUwiICIkQkFTRSIgIiRSRU1PVEUiCisJZWxzZQorCQkiJG1lcmdlX3Rvb2xfcGF0aCIgLS1tZXJnZSBcCisJCQktLXJlc3VsdD0iJE1FUkdFRCIgIiRMT0NBTCIgIiRSRU1PVEUiCisJZmkKKwlzdGF0dXM9JD8KK30KZGlmZiAtLWdpdCBhL25hbWUtaGFzaC5jIGIvbmFtZS1oYXNoLmMKaW5kZXggNjE3Yzg2Yy4uZTViNmUxYSAxMDA2NDQKLS0tIGEvbmFtZS1oYXNoLmMKKysrIGIvbmFtZS1oYXNoLmMKQEAgLTU4LDkgKzU4LDkgQEAKIHsKIAkvKgogCSAqIFRocm93IGVhY2ggZGlyZWN0b3J5IGNvbXBvbmVudCBpbiB0aGUgaGFzaCBmb3IgcXVpY2sgbG9va3VwCi0JICogZHVyaW5nIGEgZ2l0IHN0YXR1cy4gRGlyZWN0b3J5IGNvbXBvbmVudHMgYXJlIHN0b3JlZCB3aXRoIHRoZWlyCisJICogZHVyaW5nIGEgZ2l0IHN0YXR1cy4gRGlyZWN0b3J5IGNvbXBvbmVudHMgYXJlIHN0b3JlZCB3aXRob3V0IHRoZWlyCiAJICogY2xvc2luZyBzbGFzaC4gIERlc3BpdGUgc3VibW9kdWxlcyBiZWluZyBhIGRpcmVjdG9yeSwgdGhleSBuZXZlcgotCSAqIHJlYWNoIHRoaXMgcG9pbnQsIGJlY2F1c2UgdGhleSBhcmUgc3RvcmVkIHdpdGhvdXQgYSBjbG9zaW5nIHNsYXNoCisJICogcmVhY2ggdGhpcyBwb2ludCwgYmVjYXVzZSB0aGV5IGFyZSBzdG9yZWQKIAkgKiBpbiBpbmRleF9zdGF0ZS5uYW1lX2hhc2ggKGFzIG9yZGluYXJ5IGNhY2hlX2VudHJpZXMpLgogCSAqCiAJICogTm90ZSB0aGF0IHRoZSBjYWNoZV9lbnRyeSBzdG9yZWQgd2l0aCB0aGUgZGlyX2VudHJ5IG1lcmVseQpAQCAtNzgsNiArNzgsNyBAQAogCQluYW1lbGVuLS07CiAJaWYgKG5hbWVsZW4gPD0gMCkKIAkJcmV0dXJuIE5VTEw7CisJbmFtZWxlbi0tOwogCiAJLyogbG9va3VwIGV4aXN0aW5nIGVudHJ5IGZvciB0aGF0IGRpcmVjdG9yeSAqLwogCWRpciA9IGZpbmRfZGlyX2VudHJ5KGlzdGF0ZSwgY2UtPm5hbWUsIG5hbWVsZW4pOwpAQCAtOTcsNyArOTgsNyBAQAogCQl9CiAKIAkJLyogcmVjdXJzaXZlbHkgYWRkIG1pc3NpbmcgcGFyZW50IGRpcmVjdG9yaWVzICovCi0JCWRpci0+cGFyZW50ID0gaGFzaF9kaXJfZW50cnkoaXN0YXRlLCBjZSwgbmFtZWxlbiAtIDEpOworCQlkaXItPnBhcmVudCA9IGhhc2hfZGlyX2VudHJ5KGlzdGF0ZSwgY2UsIG5hbWVsZW4pOwogCX0KIAlyZXR1cm4gZGlyOwogfQpAQCAtMjIyLDcgKzIyMywyOSBAQAogCXJldHVybiBzbG93X3NhbWVfbmFtZShuYW1lLCBuYW1lbGVuLCBjZS0+bmFtZSwgbGVuKTsKIH0KIAotc3RydWN0IGNhY2hlX2VudHJ5ICppbmRleF9uYW1lX2V4aXN0cyhzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4sIGludCBpY2FzZSkKK3N0cnVjdCBjYWNoZV9lbnRyeSAqaW5kZXhfZGlyX2V4aXN0cyhzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4pCit7CisJc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKKwlzdHJ1Y3QgZGlyX2VudHJ5ICpkaXI7CisKKwlsYXp5X2luaXRfbmFtZV9oYXNoKGlzdGF0ZSk7CisJZGlyID0gZmluZF9kaXJfZW50cnkoaXN0YXRlLCBuYW1lLCBuYW1lbGVuKTsKKwlpZiAoZGlyICYmIGRpci0+bnIpCisJCXJldHVybiBkaXItPmNlOworCisJLyoKKwkgKiBJdCBtaWdodCBiZSBhIHN1Ym1vZHVsZS4gVW5saWtlIHBsYWluIGRpcmVjdG9yaWVzLCB3aGljaCBhcmUgc3RvcmVkCisJICogaW4gdGhlIGRpci1oYXNoLCBzdWJtb2R1bGVzIGFyZSBzdG9yZWQgaW4gdGhlIG5hbWUtaGFzaCwgc28gY2hlY2sKKwkgKiB0aGVyZSwgYXMgd2VsbC4KKwkgKi8KKwljZSA9IGluZGV4X2ZpbGVfZXhpc3RzKGlzdGF0ZSwgbmFtZSwgbmFtZWxlbiwgMSk7CisJaWYgKGNlICYmIFNfSVNHSVRMSU5LKGNlLT5jZV9tb2RlKSkKKwkJcmV0dXJuIGNlOworCisJcmV0dXJuIE5VTEw7Cit9CisKK3N0cnVjdCBjYWNoZV9lbnRyeSAqaW5kZXhfZmlsZV9leGlzdHMoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLCBpbnQgaWNhc2UpCiB7CiAJdW5zaWduZWQgaW50IGhhc2ggPSBoYXNoX25hbWUobmFtZSwgbmFtZWxlbik7CiAJc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKQEAgLTIzNywzMiArMjYwLDE2IEBACiAJCX0KIAkJY2UgPSBjZS0+bmV4dDsKIAl9Ci0KLQkvKgotCSAqIFdoZW4gbG9va2luZyBmb3IgYSBkaXJlY3RvcnkgKHRyYWlsaW5nICcvJyksIGl0IG1pZ2h0IGJlIGEKLQkgKiBzdWJtb2R1bGUgb3IgYSBkaXJlY3RvcnkuIERlc3BpdGUgc3VibW9kdWxlcyBiZWluZyBkaXJlY3RvcmllcywKLQkgKiB0aGV5IGFyZSBzdG9yZWQgaW4gdGhlIG5hbWUgaGFzaCB3aXRob3V0IGEgY2xvc2luZyBzbGFzaC4KLQkgKiBXaGVuIGlnbm9yZV9jYXNlIGlzIDEsIGRpcmVjdG9yaWVzIGFyZSBzdG9yZWQgaW4gYSBzZXBhcmF0ZSBoYXNoCi0JICogdGFibGUgKndpdGgqIHRoZWlyIGNsb3Npbmcgc2xhc2guCi0JICoKLQkgKiBUaGUgc2lkZSBlZmZlY3Qgb2YgdGhpcyBzdG9yYWdlIHRlY2huaXF1ZSBpcyB3ZSBoYXZlIG5lZWQgdG8KLQkgKiBsb29rdXAgdGhlIGRpcmVjdG9yeSBpbiBhIHNlcGFyYXRlIGhhc2ggdGFibGUsIGFuZCBpZiBub3QgZm91bmQKLQkgKiByZW1vdmUgdGhlIHNsYXNoIGZyb20gbmFtZSBhbmQgcGVyZm9ybSB0aGUgbG9va3VwIGFnYWluIHdpdGhvdXQKLQkgKiB0aGUgc2xhc2guICBJZiBhIG1hdGNoIGlzIG1hZGUsIFNfSVNHSVRMSU5LKGNlLT5tb2RlKSB3aWxsIGJlCi0JICogdHJ1ZS4KLQkgKi8KLQlpZiAoaWNhc2UgJiYgbmFtZVtuYW1lbGVuIC0gMV0gPT0gJy8nKSB7Ci0JCXN0cnVjdCBkaXJfZW50cnkgKmRpciA9IGZpbmRfZGlyX2VudHJ5KGlzdGF0ZSwgbmFtZSwgbmFtZWxlbik7Ci0JCWlmIChkaXIgJiYgZGlyLT5ucikKLQkJCXJldHVybiBkaXItPmNlOwotCi0JCWNlID0gaW5kZXhfbmFtZV9leGlzdHMoaXN0YXRlLCBuYW1lLCBuYW1lbGVuIC0gMSwgaWNhc2UpOwotCQlpZiAoY2UgJiYgU19JU0dJVExJTksoY2UtPmNlX21vZGUpKQotCQkJcmV0dXJuIGNlOwotCX0KIAlyZXR1cm4gTlVMTDsKIH0KIAorc3RydWN0IGNhY2hlX2VudHJ5ICppbmRleF9uYW1lX2V4aXN0cyhzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4sIGludCBpY2FzZSkKK3sKKwlpZiAobmFtZWxlbiA+IDAgJiYgbmFtZVtuYW1lbGVuIC0gMV0gPT0gJy8nKQorCQlyZXR1cm4gaW5kZXhfZGlyX2V4aXN0cyhpc3RhdGUsIG5hbWUsIG5hbWVsZW4gLSAxKTsKKwlyZXR1cm4gaW5kZXhfZmlsZV9leGlzdHMoaXN0YXRlLCBuYW1lLCBuYW1lbGVuLCBpY2FzZSk7Cit9CisKIHN0YXRpYyBpbnQgZnJlZV9kaXJfZW50cnkodm9pZCAqZW50cnksIHZvaWQgKnVudXNlZCkKIHsKIAlzdHJ1Y3QgZGlyX2VudHJ5ICpkaXIgPSBlbnRyeTsKZGlmZiAtLWdpdCBhL25vdGVzLW1lcmdlLmMgYi9ub3Rlcy1tZXJnZS5jCmluZGV4IGFiMTg4NTcuLjk0YTFhOGEgMTAwNjQ0Ci0tLSBhL25vdGVzLW1lcmdlLmMKKysrIGIvbm90ZXMtbWVyZ2UuYwpAQCAtMTcwLDcgKzE3MCw3IEBACiAJCSAgICAgICBzaGExX3RvX2hleChtcC0+cmVtb3RlKSk7CiAJfQogCWRpZmZfZmx1c2goJm9wdCk7Ci0JZGlmZl90cmVlX3JlbGVhc2VfcGF0aHMoJm9wdCk7CisJZnJlZV9wYXRoc3BlYygmb3B0LnBhdGhzcGVjKTsKIAogCSpudW1fY2hhbmdlcyA9IGxlbjsKIAlyZXR1cm4gY2hhbmdlczsKQEAgLTI1Niw3ICsyNTYsNyBAQAogCQkgICAgICAgc2hhMV90b19oZXgobXAtPmxvY2FsKSk7CiAJfQogCWRpZmZfZmx1c2goJm9wdCk7Ci0JZGlmZl90cmVlX3JlbGVhc2VfcGF0aHMoJm9wdCk7CisJZnJlZV9wYXRoc3BlYygmb3B0LnBhdGhzcGVjKTsKIH0KIAogc3RhdGljIHZvaWQgY2hlY2tfbm90ZXNfbWVyZ2Vfd29ya3RyZWUoc3RydWN0IG5vdGVzX21lcmdlX29wdGlvbnMgKm8pCmRpZmYgLS1naXQgYS9ub3Rlcy11dGlscy5jIGIvbm90ZXMtdXRpbHMuYwppbmRleCA5MTA3YzM3Li4yOTc1ZGNkIDEwMDY0NAotLS0gYS9ub3Rlcy11dGlscy5jCisrKyBiL25vdGVzLXV0aWxzLmMKQEAgLTE4LDcgKzE4LDcgQEAKIAkJdW5zaWduZWQgY2hhciBwYXJlbnRfc2hhMVsyMF07CiAJCWlmICghcmVhZF9yZWYodC0+cmVmLCBwYXJlbnRfc2hhMSkpIHsKIAkJCXN0cnVjdCBjb21taXQgKnBhcmVudCA9IGxvb2t1cF9jb21taXQocGFyZW50X3NoYTEpOwotCQkJaWYgKCFwYXJlbnQgfHwgcGFyc2VfY29tbWl0KHBhcmVudCkpCisJCQlpZiAocGFyc2VfY29tbWl0KHBhcmVudCkpCiAJCQkJZGllKCJGYWlsZWQgdG8gZmluZC9wYXJzZSBjb21taXQgJXMiLCB0LT5yZWYpOwogCQkJY29tbWl0X2xpc3RfaW5zZXJ0KHBhcmVudCwgJnBhcmVudHMpOwogCQl9CkBAIC03MCw3ICs3MCw3IEBACiBzdGF0aWMgaW50IG5vdGVzX3Jld3JpdGVfY29uZmlnKGNvbnN0IGNoYXIgKmssIGNvbnN0IGNoYXIgKnYsIHZvaWQgKmNiKQogewogCXN0cnVjdCBub3Rlc19yZXdyaXRlX2NmZyAqYyA9IGNiOwotCWlmICghcHJlZml4Y21wKGssICJub3Rlcy5yZXdyaXRlLiIpICYmICFzdHJjbXAoaysxNCwgYy0+Y21kKSkgeworCWlmIChzdGFydHNfd2l0aChrLCAibm90ZXMucmV3cml0ZS4iKSAmJiAhc3RyY21wKGsrMTQsIGMtPmNtZCkpIHsKIAkJYy0+ZW5hYmxlZCA9IGdpdF9jb25maWdfYm9vbChrLCB2KTsKIAkJcmV0dXJuIDA7CiAJfSBlbHNlIGlmICghYy0+bW9kZV9mcm9tX2VudiAmJiAhc3RyY21wKGssICJub3Rlcy5yZXdyaXRlbW9kZSIpKSB7CkBAIC04NSw3ICs4NSw3IEBACiAJfSBlbHNlIGlmICghYy0+cmVmc19mcm9tX2VudiAmJiAhc3RyY21wKGssICJub3Rlcy5yZXdyaXRlcmVmIikpIHsKIAkJLyogbm90ZSB0aGF0IGEgcmVmcy8gcHJlZml4IGlzIGltcGxpZWQgaW4gdGhlCiAJCSAqIHVuZGVybHlpbmcgZm9yX2VhY2hfZ2xvYl9yZWYgKi8KLQkJaWYgKCFwcmVmaXhjbXAodiwgInJlZnMvbm90ZXMvIikpCisJCWlmIChzdGFydHNfd2l0aCh2LCAicmVmcy9ub3Rlcy8iKSkKIAkJCXN0cmluZ19saXN0X2FkZF9yZWZzX2J5X2dsb2IoYy0+cmVmcywgdik7CiAJCWVsc2UKIAkJCXdhcm5pbmcoXygiUmVmdXNpbmcgdG8gcmV3cml0ZSBub3RlcyBpbiAlcyIKZGlmZiAtLWdpdCBhL25vdGVzLXV0aWxzLmggYi9ub3Rlcy11dGlscy5oCmluZGV4IGI0Y2IxYmYuLjU2NGUzMGMgMTAwNjQ0Ci0tLSBhL25vdGVzLXV0aWxzLmgKKysrIGIvbm90ZXMtdXRpbHMuaApAQCAtOSw3ICs5LDcgQEAKICAqIFByb3BlcnRpZXMgb2YgdGhlIGNyZWF0ZWQgY29tbWl0OgogICogLSB0cmVlOiB0aGUgcmVzdWx0IG9mIGNvbnZlcnRpbmcgdCB0byBhIHRyZWUgb2JqZWN0IHdpdGggd3JpdGVfbm90ZXNfdHJlZSgpLgogICogLSBwYXJlbnRzOiB0aGUgZ2l2ZW4gcGFyZW50cyBPUiAoaWYgTlVMTCkgdGhlIGNvbW1pdCByZWZlcmVuY2VkIGJ5IHQtPnJlZi4KLSAqIC0gYXV0aG9yL2NvbW1pdHRlcjogdGhlIGRlZmF1bHQgZGV0ZXJtaW5lZCBieSBjb21tbWl0X3RyZWUoKS4KKyAqIC0gYXV0aG9yL2NvbW1pdHRlcjogdGhlIGRlZmF1bHQgZGV0ZXJtaW5lZCBieSBjb21taXRfdHJlZSgpLgogICogLSBjb21taXQgbWVzc2FnZTogbXNnCiAgKgogICogVGhlIHJlc3VsdGluZyBjb21taXQgU0hBMSBpcyBzdG9yZWQgaW4gcmVzdWx0X3NoYTEuCmRpZmYgLS1naXQgYS9ub3Rlcy5jIGIvbm90ZXMuYwppbmRleCBiNjljMGI4Li41ZjA3YzBiIDEwMDY0NAotLS0gYS9ub3Rlcy5jCisrKyBiL25vdGVzLmMKQEAgLTEyNDMsOSArMTI0Myw5IEBACiAJCWlmICghcmVmIHx8ICFzdHJjbXAocmVmLCBHSVRfTk9URVNfREVGQVVMVF9SRUYpKSB7CiAJCQlzdHJidWZfYWRkc3RyKHNiLCAiXG5Ob3RlczpcbiIpOwogCQl9IGVsc2UgewotCQkJaWYgKCFwcmVmaXhjbXAocmVmLCAicmVmcy8iKSkKKwkJCWlmIChzdGFydHNfd2l0aChyZWYsICJyZWZzLyIpKQogCQkJCXJlZiArPSA1OwotCQkJaWYgKCFwcmVmaXhjbXAocmVmLCAibm90ZXMvIikpCisJCQlpZiAoc3RhcnRzX3dpdGgocmVmLCAibm90ZXMvIikpCiAJCQkJcmVmICs9IDY7CiAJCQlzdHJidWZfYWRkZihzYiwgIlxuTm90ZXMgKCVzKTpcbiIsIHJlZik7CiAJCX0KQEAgLTEyOTMsOSArMTI5Myw5IEBACiAKIHZvaWQgZXhwYW5kX25vdGVzX3JlZihzdHJ1Y3Qgc3RyYnVmICpzYikKIHsKLQlpZiAoIXByZWZpeGNtcChzYi0+YnVmLCAicmVmcy9ub3Rlcy8iKSkKKwlpZiAoc3RhcnRzX3dpdGgoc2ItPmJ1ZiwgInJlZnMvbm90ZXMvIikpCiAJCXJldHVybjsgLyogd2UncmUgaGFwcHkgKi8KLQllbHNlIGlmICghcHJlZml4Y21wKHNiLT5idWYsICJub3Rlcy8iKSkKKwllbHNlIGlmIChzdGFydHNfd2l0aChzYi0+YnVmLCAibm90ZXMvIikpCiAJCXN0cmJ1Zl9pbnNlcnQoc2IsIDAsICJyZWZzLyIsIDUpOwogCWVsc2UKIAkJc3RyYnVmX2luc2VydChzYiwgMCwgInJlZnMvbm90ZXMvIiwgMTEpOwpkaWZmIC0tZ2l0IGEvb2JqZWN0LmMgYi9vYmplY3QuYwppbmRleCBkOGE0YjFmLi41ODRmN2FjIDEwMDY0NAotLS0gYS9vYmplY3QuYworKysgYi9vYmplY3QuYwpAQCAtNDMsMTYgKzQzLDE3IEBACiAJZGllKCJpbnZhbGlkIG9iamVjdCB0eXBlIFwiJXNcIiIsIHN0cik7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBpbnQgaGFzaF9vYmooc3RydWN0IG9iamVjdCAqb2JqLCB1bnNpZ25lZCBpbnQgbikKK3N0YXRpYyB1bnNpZ25lZCBpbnQgaGFzaF9vYmooY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgdW5zaWduZWQgaW50IG4pCiB7CiAJdW5zaWduZWQgaW50IGhhc2g7Ci0JbWVtY3B5KCZoYXNoLCBvYmotPnNoYTEsIHNpemVvZih1bnNpZ25lZCBpbnQpKTsKLQlyZXR1cm4gaGFzaCAlIG47CisJbWVtY3B5KCZoYXNoLCBzaGExLCBzaXplb2YodW5zaWduZWQgaW50KSk7CisJLyogQXNzdW1lcyBwb3dlci1vZi0yIGhhc2ggc2l6ZXMgaW4gZ3Jvd19vYmplY3RfaGFzaCAqLworCXJldHVybiBoYXNoICYgKG4gLSAxKTsKIH0KIAogc3RhdGljIHZvaWQgaW5zZXJ0X29ial9oYXNoKHN0cnVjdCBvYmplY3QgKm9iaiwgc3RydWN0IG9iamVjdCAqKmhhc2gsIHVuc2lnbmVkIGludCBzaXplKQogewotCXVuc2lnbmVkIGludCBqID0gaGFzaF9vYmoob2JqLCBzaXplKTsKKwl1bnNpZ25lZCBpbnQgaiA9IGhhc2hfb2JqKG9iai0+c2hhMSwgc2l6ZSk7CiAKIAl3aGlsZSAoaGFzaFtqXSkgewogCQlqKys7CkBAIC02MiwxMyArNjMsNiBAQAogCWhhc2hbal0gPSBvYmo7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBpbnQgaGFzaHRhYmxlX2luZGV4KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCi17Ci0JdW5zaWduZWQgaW50IGk7Ci0JbWVtY3B5KCZpLCBzaGExLCBzaXplb2YodW5zaWduZWQgaW50KSk7Ci0JcmV0dXJuIGkgJSBvYmpfaGFzaF9zaXplOwotfQotCiBzdHJ1Y3Qgb2JqZWN0ICpsb29rdXBfb2JqZWN0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCiB7CiAJdW5zaWduZWQgaW50IGksIGZpcnN0OwpAQCAtNzcsNyArNzEsNyBAQAogCWlmICghb2JqX2hhc2gpCiAJCXJldHVybiBOVUxMOwogCi0JZmlyc3QgPSBpID0gaGFzaHRhYmxlX2luZGV4KHNoYTEpOworCWZpcnN0ID0gaSA9IGhhc2hfb2JqKHNoYTEsIG9ial9oYXNoX3NpemUpOwogCXdoaWxlICgob2JqID0gb2JqX2hhc2hbaV0pICE9IE5VTEwpIHsKIAkJaWYgKCFoYXNoY21wKHNoYTEsIG9iai0+c2hhMSkpCiAJCQlicmVhazsKQEAgLTEwMSw2ICs5NSwxMCBAQAogc3RhdGljIHZvaWQgZ3Jvd19vYmplY3RfaGFzaCh2b2lkKQogewogCWludCBpOworCS8qCisJICogTm90ZSB0aGF0IHRoaXMgc2l6ZSBtdXN0IGFsd2F5cyBiZSBwb3dlci1vZi0yIHRvIG1hdGNoIGhhc2hfb2JqCisJICogYWJvdmUuCisJICovCiAJaW50IG5ld19oYXNoX3NpemUgPSBvYmpfaGFzaF9zaXplIDwgMzIgPyAzMiA6IDIgKiBvYmpfaGFzaF9zaXplOwogCXN0cnVjdCBvYmplY3QgKipuZXdfaGFzaDsKIApAQCAtMjY0LDE4ICsyNjIsMTYgQEAKIAlyZXR1cm4gMDsKIH0KIAotdm9pZCBhZGRfb2JqZWN0X2FycmF5KHN0cnVjdCBvYmplY3QgKm9iaiwgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9hcnJheSAqYXJyYXkpCi17Ci0JYWRkX29iamVjdF9hcnJheV93aXRoX21vZGUob2JqLCBuYW1lLCBhcnJheSwgU19JRklOVkFMSUQpOwotfQotCiAvKgogICogQSB6ZXJvLWxlbmd0aCBzdHJpbmcgdG8gd2hpY2ggb2JqZWN0X2FycmF5X2VudHJ5OjpuYW1lIGNhbiBiZQogICogaW5pdGlhbGl6ZWQgd2l0aG91dCByZXF1aXJpbmcgYSBtYWxsb2MvZnJlZS4KICAqLwogc3RhdGljIGNoYXIgb2JqZWN0X2FycmF5X3Nsb3BidWZbMV07CiAKLXZvaWQgYWRkX29iamVjdF9hcnJheV93aXRoX21vZGUoc3RydWN0IG9iamVjdCAqb2JqLCBjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgb2JqZWN0X2FycmF5ICphcnJheSwgdW5zaWduZWQgbW9kZSkKK3N0YXRpYyB2b2lkIGFkZF9vYmplY3RfYXJyYXlfd2l0aF9tb2RlX2NvbnRleHQoc3RydWN0IG9iamVjdCAqb2JqLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCQkgICAgICAgc3RydWN0IG9iamVjdF9hcnJheSAqYXJyYXksCisJCQkJCSAgICAgICB1bnNpZ25lZCBtb2RlLAorCQkJCQkgICAgICAgc3RydWN0IG9iamVjdF9jb250ZXh0ICpjb250ZXh0KQogewogCXVuc2lnbmVkIG5yID0gYXJyYXktPm5yOwogCXVuc2lnbmVkIGFsbG9jID0gYXJyYXktPmFsbG9jOwpAQCAtMjk4LDkgKzI5NCwyOCBAQAogCWVsc2UKIAkJZW50cnktPm5hbWUgPSB4c3RyZHVwKG5hbWUpOwogCWVudHJ5LT5tb2RlID0gbW9kZTsKKwllbnRyeS0+Y29udGV4dCA9IGNvbnRleHQ7CiAJYXJyYXktPm5yID0gKytucjsKIH0KIAordm9pZCBhZGRfb2JqZWN0X2FycmF5KHN0cnVjdCBvYmplY3QgKm9iaiwgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9hcnJheSAqYXJyYXkpCit7CisJYWRkX29iamVjdF9hcnJheV93aXRoX21vZGUob2JqLCBuYW1lLCBhcnJheSwgU19JRklOVkFMSUQpOworfQorCit2b2lkIGFkZF9vYmplY3RfYXJyYXlfd2l0aF9tb2RlKHN0cnVjdCBvYmplY3QgKm9iaiwgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9hcnJheSAqYXJyYXksIHVuc2lnbmVkIG1vZGUpCit7CisJYWRkX29iamVjdF9hcnJheV93aXRoX21vZGVfY29udGV4dChvYmosIG5hbWUsIGFycmF5LCBtb2RlLCBOVUxMKTsKK30KKwordm9pZCBhZGRfb2JqZWN0X2FycmF5X3dpdGhfY29udGV4dChzdHJ1Y3Qgb2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3RfYXJyYXkgKmFycmF5LCBzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgKmNvbnRleHQpCit7CisJaWYgKGNvbnRleHQpCisJCWFkZF9vYmplY3RfYXJyYXlfd2l0aF9tb2RlX2NvbnRleHQob2JqLCBuYW1lLCBhcnJheSwgY29udGV4dC0+bW9kZSwgY29udGV4dCk7CisJZWxzZQorCQlhZGRfb2JqZWN0X2FycmF5X3dpdGhfbW9kZV9jb250ZXh0KG9iaiwgbmFtZSwgYXJyYXksIFNfSUZJTlZBTElELCBjb250ZXh0KTsKK30KKwogdm9pZCBvYmplY3RfYXJyYXlfZmlsdGVyKHN0cnVjdCBvYmplY3RfYXJyYXkgKmFycmF5LAogCQkJIG9iamVjdF9hcnJheV9lYWNoX2Z1bmNfdCB3YW50LCB2b2lkICpjYl9kYXRhKQogewpkaWZmIC0tZ2l0IGEvb2JqZWN0LmggYi9vYmplY3QuaAppbmRleCAyZmY2OGM1Li5kYzVkZjhjIDEwMDY0NAotLS0gYS9vYmplY3QuaAorKysgYi9vYmplY3QuaApAQCAtMTksNiArMTksNyBAQAogCQkgKi8KIAkJY2hhciAqbmFtZTsKIAkJdW5zaWduZWQgbW9kZTsKKwkJc3RydWN0IG9iamVjdF9jb250ZXh0ICpjb250ZXh0OwogCX0gKm9iamVjdHM7CiB9OwogCkBAIC05MSw2ICs5Miw3IEBACiAvKiBPYmplY3QgYXJyYXkgaGFuZGxpbmcgLi4gKi8KIHZvaWQgYWRkX29iamVjdF9hcnJheShzdHJ1Y3Qgb2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3RfYXJyYXkgKmFycmF5KTsKIHZvaWQgYWRkX29iamVjdF9hcnJheV93aXRoX21vZGUoc3RydWN0IG9iamVjdCAqb2JqLCBjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgb2JqZWN0X2FycmF5ICphcnJheSwgdW5zaWduZWQgbW9kZSk7Cit2b2lkIGFkZF9vYmplY3RfYXJyYXlfd2l0aF9jb250ZXh0KHN0cnVjdCBvYmplY3QgKm9iaiwgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9hcnJheSAqYXJyYXksIHN0cnVjdCBvYmplY3RfY29udGV4dCAqY29udGV4dCk7CiAKIHR5cGVkZWYgaW50ICgqb2JqZWN0X2FycmF5X2VhY2hfZnVuY190KShzdHJ1Y3Qgb2JqZWN0X2FycmF5X2VudHJ5ICosIHZvaWQgKik7CiAKZGlmZiAtLWdpdCBhL3BhY2std3JpdGUuYyBiL3BhY2std3JpdGUuYwppbmRleCBjYTllNjNiLi42MDVkMDFiIDEwMDY0NAotLS0gYS9wYWNrLXdyaXRlLmMKKysrIGIvcGFjay13cml0ZS5jCkBAIC00NCwxNCArNDQsMTMgQEAKICAqLwogY29uc3QgY2hhciAqd3JpdGVfaWR4X2ZpbGUoY29uc3QgY2hhciAqaW5kZXhfbmFtZSwgc3RydWN0IHBhY2tfaWR4X2VudHJ5ICoqb2JqZWN0cywKIAkJCSAgIGludCBucl9vYmplY3RzLCBjb25zdCBzdHJ1Y3QgcGFja19pZHhfb3B0aW9uICpvcHRzLAotCQkJICAgdW5zaWduZWQgY2hhciAqc2hhMSkKKwkJCSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCiB7CiAJc3RydWN0IHNoYTFmaWxlICpmOwogCXN0cnVjdCBwYWNrX2lkeF9lbnRyeSAqKnNvcnRlZF9ieV9zaGEsICoqbGlzdCwgKipsYXN0OwogCW9mZl90IGxhc3Rfb2JqX29mZnNldCA9IDA7CiAJdWludDMyX3QgYXJyYXlbMjU2XTsKIAlpbnQgaSwgZmQ7Ci0JZ2l0X1NIQV9DVFggY3R4OwogCXVpbnQzMl90IGluZGV4X3ZlcnNpb247CiAKIAlpZiAobnJfb2JqZWN0cykgewpAQCAtMTE0LDkgKzExMyw2IEBACiAJfQogCXNoYTF3cml0ZShmLCBhcnJheSwgMjU2ICogNCk7CiAKLQkvKiBjb21wdXRlIHRoZSBTSEExIGhhc2ggb2Ygc29ydGVkIG9iamVjdCBuYW1lcy4gKi8KLQlnaXRfU0hBMV9Jbml0KCZjdHgpOwotCiAJLyoKIAkgKiBXcml0ZSB0aGUgYWN0dWFsIFNIQTEgZW50cmllcy4uCiAJICovCkBAIC0xMjgsNyArMTI0LDYgQEAKIAkJCXNoYTF3cml0ZShmLCAmb2Zmc2V0LCA0KTsKIAkJfQogCQlzaGExd3JpdGUoZiwgb2JqLT5zaGExLCAyMCk7Ci0JCWdpdF9TSEExX1VwZGF0ZSgmY3R4LCBvYmotPnNoYTEsIDIwKTsKIAkJaWYgKChvcHRzLT5mbGFncyAmIFdSSVRFX0lEWF9TVFJJQ1QpICYmCiAJCSAgICAoaSAmJiAhaGFzaGNtcChsaXN0Wy0yXS0+c2hhMSwgb2JqLT5zaGExKSkpCiAJCQlkaWUoIlRoZSBzYW1lIG9iamVjdCAlcyBhcHBlYXJzIHR3aWNlIGluIHRoZSBwYWNrIiwKQEAgLTE3OCw3ICsxNzMsNiBAQAogCXNoYTF3cml0ZShmLCBzaGExLCAyMCk7CiAJc2hhMWNsb3NlKGYsIE5VTEwsICgob3B0cy0+ZmxhZ3MgJiBXUklURV9JRFhfVkVSSUZZKQogCQkJICAgID8gQ1NVTV9DTE9TRSA6IENTVU1fRlNZTkMpKTsKLQlnaXRfU0hBMV9GaW5hbChzaGExLCAmY3R4KTsKIAlyZXR1cm4gaW5kZXhfbmFtZTsKIH0KIApAQCAtMTg5LDggKzE4Myw3IEBACiAJaGRyLmhkcl9zaWduYXR1cmUgPSBodG9ubChQQUNLX1NJR05BVFVSRSk7CiAJaGRyLmhkcl92ZXJzaW9uID0gaHRvbmwoUEFDS19WRVJTSU9OKTsKIAloZHIuaGRyX2VudHJpZXMgPSBodG9ubChucl9lbnRyaWVzKTsKLQlpZiAoc2hhMXdyaXRlKGYsICZoZHIsIHNpemVvZihoZHIpKSkKLQkJcmV0dXJuIDA7CisJc2hhMXdyaXRlKGYsICZoZHIsIHNpemVvZihoZHIpKTsKIAlyZXR1cm4gc2l6ZW9mKGhkcik7CiB9CiAKZGlmZiAtLWdpdCBhL3BhY2suaCBiL3BhY2suaAppbmRleCBhYTZlZTdkLi4xMmQ5NTE2IDEwMDY0NAotLS0gYS9wYWNrLmgKKysrIGIvcGFjay5oCkBAIC03Niw3ICs3Niw3IEBACiBzdHJ1Y3QgcHJvZ3Jlc3M7CiB0eXBlZGVmIGludCAoKnZlcmlmeV9mbikoY29uc3QgdW5zaWduZWQgY2hhciosIGVudW0gb2JqZWN0X3R5cGUsIHVuc2lnbmVkIGxvbmcsIHZvaWQqLCBpbnQqKTsKIAotZXh0ZXJuIGNvbnN0IGNoYXIgKndyaXRlX2lkeF9maWxlKGNvbnN0IGNoYXIgKmluZGV4X25hbWUsIHN0cnVjdCBwYWNrX2lkeF9lbnRyeSAqKm9iamVjdHMsIGludCBucl9vYmplY3RzLCBjb25zdCBzdHJ1Y3QgcGFja19pZHhfb3B0aW9uICosIHVuc2lnbmVkIGNoYXIgKnNoYTEpOworZXh0ZXJuIGNvbnN0IGNoYXIgKndyaXRlX2lkeF9maWxlKGNvbnN0IGNoYXIgKmluZGV4X25hbWUsIHN0cnVjdCBwYWNrX2lkeF9lbnRyeSAqKm9iamVjdHMsIGludCBucl9vYmplY3RzLCBjb25zdCBzdHJ1Y3QgcGFja19pZHhfb3B0aW9uICosIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOwogZXh0ZXJuIGludCBjaGVja19wYWNrX2NyYyhzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgc3RydWN0IHBhY2tfd2luZG93ICoqd19jdXJzLCBvZmZfdCBvZmZzZXQsIG9mZl90IGxlbiwgdW5zaWduZWQgaW50IG5yKTsKIGV4dGVybiBpbnQgdmVyaWZ5X3BhY2tfaW5kZXgoc3RydWN0IHBhY2tlZF9naXQgKik7CiBleHRlcm4gaW50IHZlcmlmeV9wYWNrKHN0cnVjdCBwYWNrZWRfZ2l0ICosIHZlcmlmeV9mbiBmbiwgc3RydWN0IHByb2dyZXNzICosIHVpbnQzMl90KTsKZGlmZiAtLWdpdCBhL3BhZ2VyLmMgYi9wYWdlci5jCmluZGV4IGMxZWNmNjUuLjBjYzc1YTggMTAwNjQ0Ci0tLSBhL3BhZ2VyLmMKKysrIGIvcGFnZXIuYwpAQCAtNTQsNyArNTQsNyBAQAogCQlwYWdlciA9IGdldGVudigiUEFHRVIiKTsKIAlpZiAoIXBhZ2VyKQogCQlwYWdlciA9IERFRkFVTFRfUEFHRVI7Ci0JZWxzZSBpZiAoISpwYWdlciB8fCAhc3RyY21wKHBhZ2VyLCAiY2F0IikpCisJaWYgKCEqcGFnZXIgfHwgIXN0cmNtcChwYWdlciwgImNhdCIpKQogCQlwYWdlciA9IE5VTEw7CiAKIAlyZXR1cm4gcGFnZXI7CkBAIC04MCw4ICs4MCwxNSBAQAogCXBhZ2VyX3Byb2Nlc3MudXNlX3NoZWxsID0gMTsKIAlwYWdlcl9wcm9jZXNzLmFyZ3YgPSBwYWdlcl9hcmd2OwogCXBhZ2VyX3Byb2Nlc3MuaW4gPSAtMTsKLQlpZiAoIWdldGVudigiTEVTUyIpKSB7Ci0JCXN0YXRpYyBjb25zdCBjaGFyICplbnZbXSA9IHsgIkxFU1M9RlJTWCIsIE5VTEwgfTsKKwlpZiAoIWdldGVudigiTEVTUyIpIHx8ICFnZXRlbnYoIkxWIikpIHsKKwkJc3RhdGljIGNvbnN0IGNoYXIgKmVudlszXTsKKwkJaW50IGkgPSAwOworCisJCWlmICghZ2V0ZW52KCJMRVNTIikpCisJCQllbnZbaSsrXSA9ICJMRVNTPUZSU1giOworCQlpZiAoIWdldGVudigiTFYiKSkKKwkJCWVudltpKytdID0gIkxWPS1jIjsKKwkJZW52W2ldID0gTlVMTDsKIAkJcGFnZXJfcHJvY2Vzcy5lbnYgPSBlbnY7CiAJfQogCWlmIChzdGFydF9jb21tYW5kKCZwYWdlcl9wcm9jZXNzKSkKQEAgLTE1MSw3ICsxNTgsNyBAQAogc3RhdGljIGludCBwYWdlcl9jb21tYW5kX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpkYXRhKQogewogCXN0cnVjdCBwYWdlcl9jb25maWcgKmMgPSBkYXRhOwotCWlmICghcHJlZml4Y21wKHZhciwgInBhZ2VyLiIpICYmICFzdHJjbXAodmFyICsgNiwgYy0+Y21kKSkgeworCWlmIChzdGFydHNfd2l0aCh2YXIsICJwYWdlci4iKSAmJiAhc3RyY21wKHZhciArIDYsIGMtPmNtZCkpIHsKIAkJaW50IGIgPSBnaXRfY29uZmlnX21heWJlX2Jvb2wodmFyLCB2YWx1ZSk7CiAJCWlmIChiID49IDApCiAJCQljLT53YW50ID0gYjsKZGlmZiAtLWdpdCBhL3BhcnNlLW9wdGlvbnMuYyBiL3BhcnNlLW9wdGlvbnMuYwppbmRleCBjMmNiY2EyLi43YjhkM2ZhIDEwMDY0NAotLS0gYS9wYXJzZS1vcHRpb25zLmMKKysrIGIvcGFyc2Utb3B0aW9ucy5jCkBAIC00Myw4ICs0Myw0MiBAQAogCSpmaWxlID0geHN0cmR1cChwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBzdHJsZW4ocHJlZml4KSwgKmZpbGUpKTsKIH0KIAorc3RhdGljIGludCBvcHRfY29tbWFuZF9tb2RlX2Vycm9yKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCQkgIGNvbnN0IHN0cnVjdCBvcHRpb24gKmFsbF9vcHRzLAorCQkJCSAgaW50IGZsYWdzKQoreworCWNvbnN0IHN0cnVjdCBvcHRpb24gKnRoYXQ7CisJc3RydWN0IHN0cmJ1ZiBtZXNzYWdlID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiB0aGF0X25hbWUgPSBTVFJCVUZfSU5JVDsKKworCS8qCisJICogRmluZCB0aGUgb3RoZXIgb3B0aW9uIHRoYXQgd2FzIHVzZWQgdG8gc2V0IHRoZSB2YXJpYWJsZQorCSAqIGFscmVhZHksIGFuZCByZXBvcnQgdGhhdCB0aGlzIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggaXQuCisJICovCisJZm9yICh0aGF0ID0gYWxsX29wdHM7IHRoYXQtPnR5cGUgIT0gT1BUSU9OX0VORDsgdGhhdCsrKSB7CisJCWlmICh0aGF0ID09IG9wdCB8fAorCQkgICAgdGhhdC0+dHlwZSAhPSBPUFRJT05fQ01ETU9ERSB8fAorCQkgICAgdGhhdC0+dmFsdWUgIT0gb3B0LT52YWx1ZSB8fAorCQkgICAgdGhhdC0+ZGVmdmFsICE9ICooaW50ICopb3B0LT52YWx1ZSkKKwkJCWNvbnRpbnVlOworCisJCWlmICh0aGF0LT5sb25nX25hbWUpCisJCQlzdHJidWZfYWRkZigmdGhhdF9uYW1lLCAiLS0lcyIsIHRoYXQtPmxvbmdfbmFtZSk7CisJCWVsc2UKKwkJCXN0cmJ1Zl9hZGRmKCZ0aGF0X25hbWUsICItJWMiLCB0aGF0LT5zaG9ydF9uYW1lKTsKKwkJc3RyYnVmX2FkZGYoJm1lc3NhZ2UsICI6IGluY29tcGF0aWJsZSB3aXRoICVzIiwgdGhhdF9uYW1lLmJ1Zik7CisJCXN0cmJ1Zl9yZWxlYXNlKCZ0aGF0X25hbWUpOworCQlvcHRlcnJvcihvcHQsIG1lc3NhZ2UuYnVmLCBmbGFncyk7CisJCXN0cmJ1Zl9yZWxlYXNlKCZtZXNzYWdlKTsKKwkJcmV0dXJuIC0xOworCX0KKwlyZXR1cm4gb3B0ZXJyb3Iob3B0LCAiOiBpbmNvbXBhdGlibGUgd2l0aCBzb21ldGhpbmcgZWxzZSIsIGZsYWdzKTsKK30KKwogc3RhdGljIGludCBnZXRfdmFsdWUoc3RydWN0IHBhcnNlX29wdF9jdHhfdCAqcCwKLQkJICAgICBjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGludCBmbGFncykKKwkJICAgICBjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCSAgICAgY29uc3Qgc3RydWN0IG9wdGlvbiAqYWxsX29wdHMsCisJCSAgICAgaW50IGZsYWdzKQogewogCWNvbnN0IGNoYXIgKnMsICphcmc7CiAJY29uc3QgaW50IHVuc2V0ID0gZmxhZ3MgJiBPUFRfVU5TRVQ7CkBAIC04Myw2ICsxMTcsMTYgQEAKIAkJKihpbnQgKilvcHQtPnZhbHVlID0gdW5zZXQgPyAwIDogb3B0LT5kZWZ2YWw7CiAJCXJldHVybiAwOwogCisJY2FzZSBPUFRJT05fQ01ETU9ERToKKwkJLyoKKwkJICogR2l2aW5nIHRoZSBzYW1lIG1vZGUgb3B0aW9uIHR3aWNlLCBhbHRob3VnaCBpcyB1bm5lY2Vzc2FyeSwKKwkJICogaXMgbm90IGEgZ3JhdmUgZXJyb3IsIHNvIGxldCBpdCBwYXNzLgorCQkgKi8KKwkJaWYgKCooaW50ICopb3B0LT52YWx1ZSAmJiAqKGludCAqKW9wdC0+dmFsdWUgIT0gb3B0LT5kZWZ2YWwpCisJCQlyZXR1cm4gb3B0X2NvbW1hbmRfbW9kZV9lcnJvcihvcHQsIGFsbF9vcHRzLCBmbGFncyk7CisJCSooaW50ICopb3B0LT52YWx1ZSA9IG9wdC0+ZGVmdmFsOworCQlyZXR1cm4gMDsKKwogCWNhc2UgT1BUSU9OX1NFVF9QVFI6CiAJCSoodm9pZCAqKilvcHQtPnZhbHVlID0gdW5zZXQgPyBOVUxMIDogKHZvaWQgKilvcHQtPmRlZnZhbDsKIAkJcmV0dXJuIDA7CkBAIC0xNDMsMTIgKzE4NywxMyBAQAogCiBzdGF0aWMgaW50IHBhcnNlX3Nob3J0X29wdChzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90ICpwLCBjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHRpb25zKQogeworCWNvbnN0IHN0cnVjdCBvcHRpb24gKmFsbF9vcHRzID0gb3B0aW9uczsKIAljb25zdCBzdHJ1Y3Qgb3B0aW9uICpudW1vcHQgPSBOVUxMOwogCiAJZm9yICg7IG9wdGlvbnMtPnR5cGUgIT0gT1BUSU9OX0VORDsgb3B0aW9ucysrKSB7CiAJCWlmIChvcHRpb25zLT5zaG9ydF9uYW1lID09ICpwLT5vcHQpIHsKIAkJCXAtPm9wdCA9IHAtPm9wdFsxXSA/IHAtPm9wdCArIDEgOiBOVUxMOwotCQkJcmV0dXJuIGdldF92YWx1ZShwLCBvcHRpb25zLCBPUFRfU0hPUlQpOworCQkJcmV0dXJuIGdldF92YWx1ZShwLCBvcHRpb25zLCBhbGxfb3B0cywgT1BUX1NIT1JUKTsKIAkJfQogCiAJCS8qCkBAIC0xNzcsNiArMjIyLDcgQEAKIHN0YXRpYyBpbnQgcGFyc2VfbG9uZ19vcHQoc3RydWN0IHBhcnNlX29wdF9jdHhfdCAqcCwgY29uc3QgY2hhciAqYXJnLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHRpb25zKQogeworCWNvbnN0IHN0cnVjdCBvcHRpb24gKmFsbF9vcHRzID0gb3B0aW9uczsKIAljb25zdCBjaGFyICphcmdfZW5kID0gc3RyY2hyKGFyZywgJz0nKTsKIAljb25zdCBzdHJ1Y3Qgb3B0aW9uICphYmJyZXZfb3B0aW9uID0gTlVMTCwgKmFtYmlndW91c19vcHRpb24gPSBOVUxMOwogCWludCBhYmJyZXZfZmxhZ3MgPSAwLCBhbWJpZ3VvdXNfZmxhZ3MgPSAwOwpAQCAtMjI3LDEzICsyNzMsMTMgQEAKIAkJCWlmIChvcHRpb25zLT5mbGFncyAmIFBBUlNFX09QVF9OT05FRykKIAkJCQljb250aW51ZTsKIAkJCS8qIG5lZ2F0ZWQgYW5kIGFiYnJldmlhdGVkIHZlcnkgbXVjaD8gKi8KLQkJCWlmICghcHJlZml4Y21wKCJuby0iLCBhcmcpKSB7CisJCQlpZiAoc3RhcnRzX3dpdGgoIm5vLSIsIGFyZykpIHsKIAkJCQlmbGFncyB8PSBPUFRfVU5TRVQ7CiAJCQkJZ290byBpc19hYmJyZXZpYXRlZDsKIAkJCX0KIAkJCS8qIG5lZ2F0ZWQ/ICovCi0JCQlpZiAocHJlZml4Y21wKGFyZywgIm5vLSIpKSB7Ci0JCQkJaWYgKCFwcmVmaXhjbXAobG9uZ19uYW1lLCAibm8tIikpIHsKKwkJCWlmICghc3RhcnRzX3dpdGgoYXJnLCAibm8tIikpIHsKKwkJCQlpZiAoc3RhcnRzX3dpdGgobG9uZ19uYW1lLCAibm8tIikpIHsKIAkJCQkJbG9uZ19uYW1lICs9IDM7CiAJCQkJCW9wdF9mbGFncyB8PSBPUFRfVU5TRVQ7CiAJCQkJCWdvdG8gYWdhaW47CkBAIC0yNDMsNyArMjg5LDcgQEAKIAkJCWZsYWdzIHw9IE9QVF9VTlNFVDsKIAkJCXJlc3QgPSBza2lwX3ByZWZpeChhcmcgKyAzLCBsb25nX25hbWUpOwogCQkJLyogYWJicmV2aWF0ZWQgYW5kIG5lZ2F0ZWQ/ICovCi0JCQlpZiAoIXJlc3QgJiYgIXByZWZpeGNtcChsb25nX25hbWUsIGFyZyArIDMpKQorCQkJaWYgKCFyZXN0ICYmIHN0YXJ0c193aXRoKGxvbmdfbmFtZSwgYXJnICsgMykpCiAJCQkJZ290byBpc19hYmJyZXZpYXRlZDsKIAkJCWlmICghcmVzdCkKIAkJCQljb250aW51ZTsKQEAgLTI1Myw3ICsyOTksNyBAQAogCQkJCWNvbnRpbnVlOwogCQkJcC0+b3B0ID0gcmVzdCArIDE7CiAJCX0KLQkJcmV0dXJuIGdldF92YWx1ZShwLCBvcHRpb25zLCBmbGFncyBeIG9wdF9mbGFncyk7CisJCXJldHVybiBnZXRfdmFsdWUocCwgb3B0aW9ucywgYWxsX29wdHMsIGZsYWdzIF4gb3B0X2ZsYWdzKTsKIAl9CiAKIAlpZiAoYW1iaWd1b3VzX29wdGlvbikKQEAgLTI2NSwxOCArMzExLDIwIEBACiAJCQkoYWJicmV2X2ZsYWdzICYgT1BUX1VOU0VUKSA/ICAibm8tIiA6ICIiLAogCQkJYWJicmV2X29wdGlvbi0+bG9uZ19uYW1lKTsKIAlpZiAoYWJicmV2X29wdGlvbikKLQkJcmV0dXJuIGdldF92YWx1ZShwLCBhYmJyZXZfb3B0aW9uLCBhYmJyZXZfZmxhZ3MpOworCQlyZXR1cm4gZ2V0X3ZhbHVlKHAsIGFiYnJldl9vcHRpb24sIGFsbF9vcHRzLCBhYmJyZXZfZmxhZ3MpOwogCXJldHVybiAtMjsKIH0KIAogc3RhdGljIGludCBwYXJzZV9ub2Rhc2hfb3B0KHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKnAsIGNvbnN0IGNoYXIgKmFyZywKIAkJCSAgICBjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHRpb25zKQogeworCWNvbnN0IHN0cnVjdCBvcHRpb24gKmFsbF9vcHRzID0gb3B0aW9uczsKKwogCWZvciAoOyBvcHRpb25zLT50eXBlICE9IE9QVElPTl9FTkQ7IG9wdGlvbnMrKykgewogCQlpZiAoIShvcHRpb25zLT5mbGFncyAmIFBBUlNFX09QVF9OT0RBU0gpKQogCQkJY29udGludWU7CiAJCWlmIChvcHRpb25zLT5zaG9ydF9uYW1lID09IGFyZ1swXSAmJiBhcmdbMV0gPT0gJ1wwJykKLQkJCXJldHVybiBnZXRfdmFsdWUocCwgb3B0aW9ucywgT1BUX1NIT1JUKTsKKwkJCXJldHVybiBnZXRfdmFsdWUocCwgb3B0aW9ucywgYWxsX29wdHMsIE9QVF9TSE9SVCk7CiAJfQogCXJldHVybiAtMjsKIH0KQEAgLTI4Niw3ICszMzQsNyBAQAogCWlmIChzdHJsZW4oYXJnKSA8IDMpCiAJCXJldHVybjsKIAotCWlmICghcHJlZml4Y21wKGFyZywgIm5vLSIpKSB7CisJaWYgKHN0YXJ0c193aXRoKGFyZywgIm5vLSIpKSB7CiAJCWVycm9yICgiZGlkIHlvdSBtZWFuIGAtLSVzYCAod2l0aCB0d28gZGFzaGVzID8pIiwgYXJnKTsKIAkJZXhpdCgxMjkpOwogCX0KQEAgLTI5NCw3ICszNDIsNyBAQAogCWZvciAoOyBvcHRpb25zLT50eXBlICE9IE9QVElPTl9FTkQ7IG9wdGlvbnMrKykgewogCQlpZiAoIW9wdGlvbnMtPmxvbmdfbmFtZSkKIAkJCWNvbnRpbnVlOwotCQlpZiAoIXByZWZpeGNtcChvcHRpb25zLT5sb25nX25hbWUsIGFyZykpIHsKKwkJaWYgKHN0YXJ0c193aXRoKG9wdGlvbnMtPmxvbmdfbmFtZSwgYXJnKSkgewogCQkJZXJyb3IgKCJkaWQgeW91IG1lYW4gYC0tJXNgICh3aXRoIHR3byBkYXNoZXMgPykiLCBhcmcpOwogCQkJZXhpdCgxMjkpOwogCQl9CmRpZmYgLS1naXQgYS9wYXJzZS1vcHRpb25zLmggYi9wYXJzZS1vcHRpb25zLmgKaW5kZXggOWI5NDU5Ni4uZDY3MGNiOSAxMDA2NDQKLS0tIGEvcGFyc2Utb3B0aW9ucy5oCisrKyBiL3BhcnNlLW9wdGlvbnMuaApAQCAtMTMsNiArMTMsNyBAQAogCU9QVElPTl9DT1VOVFVQLAogCU9QVElPTl9TRVRfSU5ULAogCU9QVElPTl9TRVRfUFRSLAorCU9QVElPTl9DTURNT0RFLAogCS8qIG9wdGlvbnMgd2l0aCBhcmd1bWVudHMgKHVzdWFsbHkpICovCiAJT1BUSU9OX1NUUklORywKIAlPUFRJT05fSU5URUdFUiwKQEAgLTIxLDkgKzIyLDYgQEAKIAlPUFRJT05fRklMRU5BTUUKIH07CiAKLS8qIERlcHJlY2F0ZWQgc3lub255bSAqLwotI2RlZmluZSBPUFRJT05fQk9PTEVBTiBPUFRJT05fQ09VTlRVUAotCiBlbnVtIHBhcnNlX29wdF9mbGFncyB7CiAJUEFSU0VfT1BUX0tFRVBfREFTSERBU0ggPSAxLAogCVBBUlNFX09QVF9TVE9QX0FUX05PTl9PUFRJT04gPSAyLApAQCAtMTI4LDggKzEyNiwxMiBAQAogI2RlZmluZSBPUFRfU0VUX0lOVChzLCBsLCB2LCBoLCBpKSAgeyBPUFRJT05fU0VUX0lOVCwgKHMpLCAobCksICh2KSwgTlVMTCwgXAogCQkJCSAgICAgIChoKSwgUEFSU0VfT1BUX05PQVJHLCBOVUxMLCAoaSkgfQogI2RlZmluZSBPUFRfQk9PTChzLCBsLCB2LCBoKSAgICAgICAgT1BUX1NFVF9JTlQocywgbCwgdiwgaCwgMSkKKyNkZWZpbmUgT1BUX0hJRERFTl9CT09MKHMsIGwsIHYsIGgpIHsgT1BUSU9OX1NFVF9JTlQsIChzKSwgKGwpLCAodiksIE5VTEwsIFwKKwkJCQkgICAgICAoaCksIFBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9ISURERU4sIE5VTEwsIDF9CiAjZGVmaW5lIE9QVF9TRVRfUFRSKHMsIGwsIHYsIGgsIHApICB7IE9QVElPTl9TRVRfUFRSLCAocyksIChsKSwgKHYpLCBOVUxMLCBcCiAJCQkJICAgICAgKGgpLCBQQVJTRV9PUFRfTk9BUkcsIE5VTEwsIChwKSB9CisjZGVmaW5lIE9QVF9DTURNT0RFKHMsIGwsIHYsIGgsIGkpIHsgT1BUSU9OX0NNRE1PREUsIChzKSwgKGwpLCAodiksIE5VTEwsIFwKKwkJCQkgICAgICAoaCksIFBBUlNFX09QVF9OT0FSR3xQQVJTRV9PUFRfTk9ORUcsIE5VTEwsIChpKSB9CiAjZGVmaW5lIE9QVF9JTlRFR0VSKHMsIGwsIHYsIGgpICAgICB7IE9QVElPTl9JTlRFR0VSLCAocyksIChsKSwgKHYpLCBOXygibiIpLCAoaCkgfQogI2RlZmluZSBPUFRfU1RSSU5HKHMsIGwsIHYsIGEsIGgpICAgeyBPUFRJT05fU1RSSU5HLCAgKHMpLCAobCksICh2KSwgKGEpLCAoaCkgfQogI2RlZmluZSBPUFRfU1RSSU5HX0xJU1QocywgbCwgdiwgYSwgaCkgXApAQCAtMTU5LDkgKzE2MSw2IEBACiAJICBOXygibm8tb3AgKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpIiksCQlcCiAJICBQQVJTRV9PUFRfSElEREVOIHwgUEFSU0VfT1BUX05PQVJHLCBwYXJzZV9vcHRfbm9vcF9jYiB9CiAKLS8qIERlcHJlY2F0ZWQgc3lub255bSAqLwotI2RlZmluZSBPUFRfQk9PTEVBTiBPUFRfQ09VTlRVUAotCiAvKiBwYXJzZV9vcHRpb25zKCkgd2lsbCBmaWx0ZXIgb3V0IHRoZSBwcm9jZXNzZWQgb3B0aW9ucyBhbmQgbGVhdmUgdGhlCiAgKiBub24tb3B0aW9uIGFyZ3VtZW50cyBpbiBhcmd2W10uIHVzYWdlc3RyIHN0cmluZ3Mgc2hvdWxkIGJlIG1hcmtlZAogICogZm9yIHRyYW5zbGF0aW9uIHdpdGggTl8oKS4KQEAgLTIzMCwxNSArMjI5LDE1IEBACiBleHRlcm4gaW50IHBhcnNlX29wdF9zdHJpbmdfbGlzdChjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKiwgaW50KTsKIGV4dGVybiBpbnQgcGFyc2Vfb3B0X25vb3BfY2IoY29uc3Qgc3RydWN0IG9wdGlvbiAqLCBjb25zdCBjaGFyICosIGludCk7CiAKLSNkZWZpbmUgT1BUX19WRVJCT1NFKHZhciwgaCkgIE9QVF9CT09MRUFOKCd2JywgInZlcmJvc2UiLCAodmFyKSwgKGgpKQotI2RlZmluZSBPUFRfX1FVSUVUKHZhciwgaCkgICAgT1BUX0JPT0xFQU4oJ3EnLCAicXVpZXQiLCAgICh2YXIpLCAoaCkpCisjZGVmaW5lIE9QVF9fVkVSQk9TRSh2YXIsIGgpICBPUFRfQ09VTlRVUCgndicsICJ2ZXJib3NlIiwgKHZhciksIChoKSkKKyNkZWZpbmUgT1BUX19RVUlFVCh2YXIsIGgpICAgIE9QVF9DT1VOVFVQKCdxJywgInF1aWV0IiwgICAodmFyKSwgKGgpKQogI2RlZmluZSBPUFRfX1ZFUkJPU0lUWSh2YXIpIFwKIAl7IE9QVElPTl9DQUxMQkFDSywgJ3YnLCAidmVyYm9zZSIsICh2YXIpLCBOVUxMLCBOXygiYmUgbW9yZSB2ZXJib3NlIiksIFwKIAkgIFBBUlNFX09QVF9OT0FSRywgJnBhcnNlX29wdF92ZXJib3NpdHlfY2IsIDAgfSwgXAogCXsgT1BUSU9OX0NBTExCQUNLLCAncScsICJxdWlldCIsICh2YXIpLCBOVUxMLCBOXygiYmUgbW9yZSBxdWlldCIpLCBcCiAJICBQQVJTRV9PUFRfTk9BUkcsICZwYXJzZV9vcHRfdmVyYm9zaXR5X2NiLCAwIH0KLSNkZWZpbmUgT1BUX19EUllfUlVOKHZhciwgaCkgIE9QVF9CT09MRUFOKCduJywgImRyeS1ydW4iLCAodmFyKSwgKGgpKQotI2RlZmluZSBPUFRfX0ZPUkNFKHZhciwgaCkgICAgT1BUX0JPT0xFQU4oJ2YnLCAiZm9yY2UiLCAgICh2YXIpLCAoaCkpCisjZGVmaW5lIE9QVF9fRFJZX1JVTih2YXIsIGgpICBPUFRfQk9PTCgnbicsICJkcnktcnVuIiwgKHZhciksIChoKSkKKyNkZWZpbmUgT1BUX19GT1JDRSh2YXIsIGgpICAgIE9QVF9DT1VOVFVQKCdmJywgImZvcmNlIiwgICAodmFyKSwgKGgpKQogI2RlZmluZSBPUFRfX0FCQlJFVih2YXIpICBcCiAJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJhYmJyZXYiLCAodmFyKSwgTl8oIm4iKSwJXAogCSAgTl8oInVzZSA8bj4gZGlnaXRzIHRvIGRpc3BsYXkgU0hBLTFzIiksCVwKZGlmZiAtLWdpdCBhL3BhdGguYyBiL3BhdGguYwppbmRleCAzZDI0NGQzLi4yNDU5NGM0IDEwMDY0NAotLS0gYS9wYXRoLmMKKysrIGIvcGF0aC5jCkBAIC00MzQsNiArNDM0LDE2IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgaGF2ZV9zYW1lX3Jvb3QoY29uc3QgY2hhciAqcGF0aDEsIGNvbnN0IGNoYXIgKnBhdGgyKQoreworCWludCBpc19hYnMxLCBpc19hYnMyOworCisJaXNfYWJzMSA9IGlzX2Fic29sdXRlX3BhdGgocGF0aDEpOworCWlzX2FiczIgPSBpc19hYnNvbHV0ZV9wYXRoKHBhdGgyKTsKKwlyZXR1cm4gKGlzX2FiczEgJiYgaXNfYWJzMiAmJiB0b2xvd2VyKHBhdGgxWzBdKSA9PSB0b2xvd2VyKHBhdGgyWzBdKSkgfHwKKwkgICAgICAgKCFpc19hYnMxICYmICFpc19hYnMyKTsKK30KKwogLyoKICAqIEdpdmUgcGF0aCBhcyByZWxhdGl2ZSB0byBwcmVmaXguCiAgKgpAQCAtNDU0LDYgKzQ2NCwxNiBAQAogCWVsc2UgaWYgKCFwcmVmaXhfbGVuKQogCQlyZXR1cm4gaW47CiAKKwlpZiAoaGF2ZV9zYW1lX3Jvb3QoaW4sIHByZWZpeCkpIHsKKwkJLyogYnlwYXNzIGRvc19kcml2ZSwgZm9yICJjOiIgaXMgaWRlbnRpY2FsIHRvICJDOiIgKi8KKwkJaWYgKGhhc19kb3NfZHJpdmVfcHJlZml4KGluKSkgeworCQkJaSA9IDI7CisJCQlqID0gMjsKKwkJfQorCX0gZWxzZSB7CisJCXJldHVybiBpbjsKKwl9CisKIAl3aGlsZSAoaSA8IHByZWZpeF9sZW4gJiYgaiA8IGluX2xlbiAmJiBwcmVmaXhbaV0gPT0gaW5bal0pIHsKIAkJaWYgKGlzX2Rpcl9zZXAocHJlZml4W2ldKSkgewogCQkJd2hpbGUgKGlzX2Rpcl9zZXAocHJlZml4W2ldKSkKQEAgLTUzMSw2ICs1NTEsNTEgQEAKIH0KIAogLyoKKyAqIEEgc2ltcGxlciBpbXBsZW1lbnRhdGlvbiBvZiByZWxhdGl2ZV9wYXRoCisgKgorICogR2V0IHJlbGF0aXZlIHBhdGggYnkgcmVtb3ZpbmcgInByZWZpeCIgZnJvbSAiaW4iLiBUaGlzIGZ1bmN0aW9uCisgKiBmaXJzdCBhcHBlYXJzIGluIHYxLjUuNi0xLWcwNDRiYmJjLCBhbmQgbWFrZXMgZ2l0X2RpciBzaG9ydGVyCisgKiB0byBpbmNyZWFzZSBwZXJmb3JtYW5jZSB3aGVuIHRyYXZlcnNpbmcgdGhlIHBhdGggdG8gd29ya190cmVlLgorICovCitjb25zdCBjaGFyICpyZW1vdmVfbGVhZGluZ19wYXRoKGNvbnN0IGNoYXIgKmluLCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJc3RhdGljIGNoYXIgYnVmW1BBVEhfTUFYICsgMV07CisJaW50IGkgPSAwLCBqID0gMDsKKworCWlmICghcHJlZml4IHx8ICFwcmVmaXhbMF0pCisJCXJldHVybiBpbjsKKwl3aGlsZSAocHJlZml4W2ldKSB7CisJCWlmIChpc19kaXJfc2VwKHByZWZpeFtpXSkpIHsKKwkJCWlmICghaXNfZGlyX3NlcChpbltqXSkpCisJCQkJcmV0dXJuIGluOworCQkJd2hpbGUgKGlzX2Rpcl9zZXAocHJlZml4W2ldKSkKKwkJCQlpKys7CisJCQl3aGlsZSAoaXNfZGlyX3NlcChpbltqXSkpCisJCQkJaisrOworCQkJY29udGludWU7CisJCX0gZWxzZSBpZiAoaW5bal0gIT0gcHJlZml4W2ldKSB7CisJCQlyZXR1cm4gaW47CisJCX0KKwkJaSsrOworCQlqKys7CisJfQorCWlmICgKKwkgICAgLyogIi9mb28iIGlzIGEgcHJlZml4IG9mICIvZm9vIiAqLworCSAgICBpbltqXSAmJgorCSAgICAvKiAiL2ZvbyIgaXMgbm90IGEgcHJlZml4IG9mICIvZm9vYmFyIiAqLworCSAgICAhaXNfZGlyX3NlcChwcmVmaXhbaS0xXSkgJiYgIWlzX2Rpcl9zZXAoaW5bal0pCisJICAgKQorCQlyZXR1cm4gaW47CisJd2hpbGUgKGlzX2Rpcl9zZXAoaW5bal0pKQorCQlqKys7CisJaWYgKCFpbltqXSkKKwkJc3RyY3B5KGJ1ZiwgIi4iKTsKKwllbHNlCisJCXN0cmNweShidWYsIGluICsgaik7CisJcmV0dXJuIGJ1ZjsKK30KKworLyoKICAqIEl0IGlzIG9rYXkgaWYgZHN0ID09IHNyYywgYnV0IHRoZXkgc2hvdWxkIG5vdCBvdmVybGFwIG90aGVyd2lzZS4KICAqCiAgKiBQZXJmb3JtcyB0aGUgZm9sbG93aW5nIG5vcm1hbGl6YXRpb25zIG9uIHNyYywgc3RvcmluZyB0aGUgcmVzdWx0IGluIGRzdDoKQEAgLTU0Myw4ICs2MDgsMTQgQEAKICAqCiAgKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBpcyBwdXJlbHkgdGV4dHVhbC4gIEl0IGRvZXMgbm90IGZvbGxvdyBzeW1saW5rcywKICAqIHZlcmlmeSB0aGUgZXhpc3RlbmNlIG9mIHRoZSBwYXRoLCBvciBtYWtlIGFueSBzeXN0ZW0gY2FsbHMuCisgKgorICogcHJlZml4X2xlbiAhPSBOVUxMIGlzIGZvciBhIHNwZWNpZmljIGNhc2Ugb2YgcHJlZml4X3BhdGhzcGVjKCk6CisgKiBhc3N1bWUgdGhhdCBzcmMgPT0gZHN0IGFuZCBzcmNbMC4ucHJlZml4X2xlbi0xXSBpcyBhbHJlYWR5CisgKiBub3JtYWxpemVkLCBhbnkgdGltZSAiLi4vIiBlYXRzIHVwIHRvIHRoZSBwcmVmaXhfbGVuIHBhcnQsCisgKiBwcmVmaXhfbGVuIGlzIHJlZHVjZWQuIEluIHRoZSBlbmQgcHJlZml4X2xlbiBpcyB0aGUgcmVtYWluaW5nCisgKiBwcmVmaXggdGhhdCBoYXMgbm90IGJlZW4gb3ZlcnJpZGRlbiBieSB1c2VyIHBhdGhzcGVjLgogICovCi1pbnQgbm9ybWFsaXplX3BhdGhfY29weShjaGFyICpkc3QsIGNvbnN0IGNoYXIgKnNyYykKK2ludCBub3JtYWxpemVfcGF0aF9jb3B5X2xlbihjaGFyICpkc3QsIGNvbnN0IGNoYXIgKnNyYywgaW50ICpwcmVmaXhfbGVuKQogewogCWNoYXIgKmRzdDA7CiAKQEAgLTYxOSwxMSArNjkwLDE4IEBACiAJCS8qIFdpbmRvd3M6IGRzdFstMV0gY2Fubm90IGJlIGJhY2tzbGFzaCBhbnltb3JlICovCiAJCXdoaWxlIChkc3QwIDwgZHN0ICYmIGRzdFstMV0gIT0gJy8nKQogCQkJZHN0LS07CisJCWlmIChwcmVmaXhfbGVuICYmICpwcmVmaXhfbGVuID4gZHN0IC0gZHN0MCkKKwkJCSpwcmVmaXhfbGVuID0gZHN0IC0gZHN0MDsKIAl9CiAJKmRzdCA9ICdcMCc7CiAJcmV0dXJuIDA7CiB9CiAKK2ludCBub3JtYWxpemVfcGF0aF9jb3B5KGNoYXIgKmRzdCwgY29uc3QgY2hhciAqc3JjKQoreworCXJldHVybiBub3JtYWxpemVfcGF0aF9jb3B5X2xlbihkc3QsIHNyYywgTlVMTCk7Cit9CisKIC8qCiAgKiBwYXRoID0gQ2Fub25pY2FsIGFic29sdXRlIHBhdGgKICAqIHByZWZpeGVzID0gc3RyaW5nX2xpc3QgY29udGFpbmluZyBub3JtYWxpemVkLCBhYnNvbHV0ZSBwYXRocyB3aXRob3V0CmRpZmYgLS1naXQgYS9wYXRoc3BlYy5jIGIvcGF0aHNwZWMuYwppbmRleCA2ZWEwODY3Li42Y2I5ZmQzIDEwMDY0NAotLS0gYS9wYXRoc3BlYy5jCisrKyBiL3BhdGhzcGVjLmMKQEAgLTE1LDggKzE1LDggQEAKICAqIElmIHNlZW5bXSBoYXMgbm90IGFscmVhZHkgYmVlbiB3cml0dGVuIHRvLCBpdCBtYXkgbWFrZSBzZW5zZQogICogdG8gdXNlIGZpbmRfcGF0aHNwZWNzX21hdGNoaW5nX2FnYWluc3RfaW5kZXgoKSBpbnN0ZWFkLgogICovCi12b2lkIGFkZF9wYXRoc3BlY19tYXRjaGVzX2FnYWluc3RfaW5kZXgoY29uc3QgY2hhciAqKnBhdGhzcGVjLAotCQkJCQljaGFyICpzZWVuLCBpbnQgc3BlY3MpCit2b2lkIGFkZF9wYXRoc3BlY19tYXRjaGVzX2FnYWluc3RfaW5kZXgoY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJCQkJY2hhciAqc2VlbikKIHsKIAlpbnQgbnVtX3VubWF0Y2hlZCA9IDAsIGk7CiAKQEAgLTI2LDE0ICsyNiwxNCBAQAogCSAqIG1pc3Rha2VubHkgdGhpbmsgdGhhdCB0aGUgdXNlciBnYXZlIGEgcGF0aHNwZWMgdGhhdCBkaWQgbm90IG1hdGNoCiAJICogYW55dGhpbmcuCiAJICovCi0JZm9yIChpID0gMDsgaSA8IHNwZWNzOyBpKyspCisJZm9yIChpID0gMDsgaSA8IHBhdGhzcGVjLT5ucjsgaSsrKQogCQlpZiAoIXNlZW5baV0pCiAJCQludW1fdW5tYXRjaGVkKys7CiAJaWYgKCFudW1fdW5tYXRjaGVkKQogCQlyZXR1cm47CiAJZm9yIChpID0gMDsgaSA8IGFjdGl2ZV9ucjsgaSsrKSB7CiAJCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBhY3RpdmVfY2FjaGVbaV07Ci0JCW1hdGNoX3BhdGhzcGVjKHBhdGhzcGVjLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSksIDAsIHNlZW4pOworCQltYXRjaF9wYXRoc3BlY19kZXB0aChwYXRoc3BlYywgY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpLCAwLCBzZWVuKTsKIAl9CiB9CiAKQEAgLTQ1LDU3ICs0NSw0NTIgQEAKICAqIG5hdHVyZSBvZiB0aGUgImNsb3Nlc3QiIChpLmUuIG1vc3Qgc3BlY2lmaWMpIG1hdGNoZXMgd2hpY2ggZWFjaCBvZiB0aGUKICAqIGdpdmVuIHBhdGhzcGVjcyBhY2hpZXZlcyBhZ2FpbnN0IGFsbCBpdGVtcyBpbiB0aGUgaW5kZXguCiAgKi8KLWNoYXIgKmZpbmRfcGF0aHNwZWNzX21hdGNoaW5nX2FnYWluc3RfaW5kZXgoY29uc3QgY2hhciAqKnBhdGhzcGVjKQorY2hhciAqZmluZF9wYXRoc3BlY3NfbWF0Y2hpbmdfYWdhaW5zdF9pbmRleChjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewotCWNoYXIgKnNlZW47Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBwYXRoc3BlY1tpXTsgIGkrKykKLQkJOyAvKiBqdXN0IGNvdW50aW5nICovCi0Jc2VlbiA9IHhjYWxsb2MoaSwgMSk7Ci0JYWRkX3BhdGhzcGVjX21hdGNoZXNfYWdhaW5zdF9pbmRleChwYXRoc3BlYywgc2VlbiwgaSk7CisJY2hhciAqc2VlbiA9IHhjYWxsb2MocGF0aHNwZWMtPm5yLCAxKTsKKwlhZGRfcGF0aHNwZWNfbWF0Y2hlc19hZ2FpbnN0X2luZGV4KHBhdGhzcGVjLCBzZWVuKTsKIAlyZXR1cm4gc2VlbjsKIH0KIAogLyoKLSAqIENoZWNrIHRoZSBpbmRleCB0byBzZWUgd2hldGhlciBwYXRoIHJlZmVycyB0byBhIHN1Ym1vZHVsZSwgb3IKLSAqIHNvbWV0aGluZyBpbnNpZGUgYSBzdWJtb2R1bGUuICBJZiB0aGUgZm9ybWVyLCByZXR1cm5zIHRoZSBwYXRoIHdpdGgKLSAqIGFueSB0cmFpbGluZyBzbGFzaCBzdHJpcHBlZC4gIElmIHRoZSBsYXR0ZXIsIGRpZXMgd2l0aCBhbiBlcnJvcgotICogbWVzc2FnZS4KKyAqIE1hZ2ljIHBhdGhzcGVjCisgKgorICogUG9zc2libGUgZnV0dXJlIG1hZ2ljIHNlbWFudGljcyBpbmNsdWRlIHN0dWZmIGxpa2U6CisgKgorICoJeyBQQVRIU1BFQ19SRUNVUlNJVkUsICcqJywgInJlY3Vyc2l2ZSIgfSwKKyAqCXsgUEFUSFNQRUNfUkVHRVhQLCAnXDAnLCAicmVnZXhwIiB9LAorICoKICAqLwotY29uc3QgY2hhciAqY2hlY2tfcGF0aF9mb3JfZ2l0bGluayhjb25zdCBjaGFyICpwYXRoKQorCitzdGF0aWMgc3RydWN0IHBhdGhzcGVjX21hZ2ljIHsKKwl1bnNpZ25lZCBiaXQ7CisJY2hhciBtbmVtb25pYzsgLyogdGhpcyBjYW5ub3QgYmUgJzonISAqLworCWNvbnN0IGNoYXIgKm5hbWU7Cit9IHBhdGhzcGVjX21hZ2ljW10gPSB7CisJeyBQQVRIU1BFQ19GUk9NVE9QLCAnLycsICJ0b3AiIH0sCisJeyBQQVRIU1BFQ19MSVRFUkFMLCAgIDAsICJsaXRlcmFsIiB9LAorCXsgUEFUSFNQRUNfR0xPQiwgICAnXDAnLCAiZ2xvYiIgfSwKKwl7IFBBVEhTUEVDX0lDQVNFLCAgJ1wwJywgImljYXNlIiB9LAorCXsgUEFUSFNQRUNfRVhDTFVERSwgJyEnLCAiZXhjbHVkZSIgfSwKK307CisKK3N0YXRpYyB2b2lkIHByZWZpeF9zaG9ydF9tYWdpYyhzdHJ1Y3Qgc3RyYnVmICpzYiwgaW50IHByZWZpeGxlbiwKKwkJCSAgICAgICB1bnNpZ25lZCBzaG9ydF9tYWdpYykKIHsKLQlpbnQgaSwgcGF0aF9sZW4gPSBzdHJsZW4ocGF0aCk7Ci0JZm9yIChpID0gMDsgaSA8IGFjdGl2ZV9ucjsgaSsrKSB7Ci0JCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBhY3RpdmVfY2FjaGVbaV07Ci0JCWlmIChTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSkpIHsKLQkJCWludCBjZV9sZW4gPSBjZV9uYW1lbGVuKGNlKTsKLQkJCWlmIChwYXRoX2xlbiA8PSBjZV9sZW4gfHwgcGF0aFtjZV9sZW5dICE9ICcvJyB8fAotCQkJICAgIG1lbWNtcChjZS0+bmFtZSwgcGF0aCwgY2VfbGVuKSkKLQkJCQkvKiBwYXRoIGRvZXMgbm90IHJlZmVyIHRvIHRoaXMKLQkJCQkgKiBzdWJtb2R1bGUgb3IgYW55dGhpbmcgaW5zaWRlIGl0ICovCi0JCQkJY29udGludWU7Ci0JCQlpZiAocGF0aF9sZW4gPT0gY2VfbGVuICsgMSkgewotCQkJCS8qIHBhdGggcmVmZXJzIHRvIHN1Ym1vZHVsZTsKLQkJCQkgKiBzdHJpcCB0cmFpbGluZyBzbGFzaCAqLwotCQkJCXJldHVybiB4c3RybmR1cChjZS0+bmFtZSwgY2VfbGVuKTsKLQkJCX0gZWxzZSB7Ci0JCQkJZGllIChfKCJQYXRoICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIpLAotCQkJCSAgICAgcGF0aCwgY2VfbGVuLCBjZS0+bmFtZSk7Ci0JCQl9CisJaW50IGk7CisJc3RyYnVmX2FkZHN0cihzYiwgIjooIik7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocGF0aHNwZWNfbWFnaWMpOyBpKyspCisJCWlmIChzaG9ydF9tYWdpYyAmIHBhdGhzcGVjX21hZ2ljW2ldLmJpdCkgeworCQkJaWYgKHNiLT5idWZbc2ItPmxlbiAtIDFdICE9ICcoJykKKwkJCQlzdHJidWZfYWRkY2goc2IsICcsJyk7CisJCQlzdHJidWZfYWRkc3RyKHNiLCBwYXRoc3BlY19tYWdpY1tpXS5uYW1lKTsKIAkJfQotCX0KLQlyZXR1cm4gcGF0aDsKKwlzdHJidWZfYWRkZihzYiwgIixwcmVmaXg6JWQpIiwgcHJlZml4bGVuKTsKIH0KIAogLyoKLSAqIERpZXMgaWYgdGhlIGdpdmVuIHBhdGggcmVmZXJzIHRvIGEgZmlsZSBpbnNpZGUgYSBzeW1saW5rZWQKLSAqIGRpcmVjdG9yeSBpbiB0aGUgaW5kZXguCisgKiBUYWtlIGFuIGVsZW1lbnQgb2YgYSBwYXRoc3BlYyBhbmQgY2hlY2sgZm9yIG1hZ2ljIHNpZ25hdHVyZXMuCisgKiBBcHBlbmQgdGhlIHJlc3VsdCB0byB0aGUgcHJlZml4LiBSZXR1cm4gdGhlIG1hZ2ljIGJpdG1hcC4KKyAqCisgKiBGb3Igbm93LCB3ZSBvbmx5IHBhcnNlIHRoZSBzeW50YXggYW5kIHRocm93IG91dCBhbnl0aGluZyBvdGhlciB0aGFuCisgKiAidG9wIiBtYWdpYy4KKyAqCisgKiBORUVEU1dPUks6IFRoaXMgbmVlZHMgdG8gYmUgcmV3cml0dGVuIHdoZW4gd2Ugc3RhcnQgbWlncmF0aW5nCisgKiBnZXRfcGF0aHNwZWMoKSB1c2VycyB0byB1c2UgdGhlICJzdHJ1Y3QgcGF0aHNwZWMiIGludGVyZmFjZS4gIEZvcgorICogZXhhbXBsZSwgYSBwYXRoc3BlYyBlbGVtZW50IG1heSBiZSBtYXJrZWQgYXMgY2FzZS1pbnNlbnNpdGl2ZSwgYnV0CisgKiB0aGUgcHJlZml4IHBhcnQgbXVzdCBhbHdheXMgbWF0Y2ggbGl0ZXJhbGx5LCBhbmQgYSBzaW5nbGUgc3R1cGlkCisgKiBzdHJpbmcgY2Fubm90IGV4cHJlc3Mgc3VjaCBhIGNhc2UuCiAgKi8KLXZvaWQgZGllX2lmX3BhdGhfYmV5b25kX3N5bWxpbmsoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqcHJlZml4KQorc3RhdGljIHVuc2lnbmVkIHByZWZpeF9wYXRoc3BlYyhzdHJ1Y3QgcGF0aHNwZWNfaXRlbSAqaXRlbSwKKwkJCQl1bnNpZ25lZCAqcF9zaG9ydF9tYWdpYywKKwkJCQljb25zdCBjaGFyICoqcmF3LCB1bnNpZ25lZCBmbGFncywKKwkJCQljb25zdCBjaGFyICpwcmVmaXgsIGludCBwcmVmaXhsZW4sCisJCQkJY29uc3QgY2hhciAqZWx0KQogewotCWlmIChoYXNfc3ltbGlua19sZWFkaW5nX3BhdGgocGF0aCwgc3RybGVuKHBhdGgpKSkgewotCQlpbnQgbGVuID0gcHJlZml4ID8gc3RybGVuKHByZWZpeCkgOiAwOwotCQlkaWUoXygiJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIiksIHBhdGggKyBsZW4pOworCXN0YXRpYyBpbnQgbGl0ZXJhbF9nbG9iYWwgPSAtMTsKKwlzdGF0aWMgaW50IGdsb2JfZ2xvYmFsID0gLTE7CisJc3RhdGljIGludCBub2dsb2JfZ2xvYmFsID0gLTE7CisJc3RhdGljIGludCBpY2FzZV9nbG9iYWwgPSAtMTsKKwl1bnNpZ25lZCBtYWdpYyA9IDAsIHNob3J0X21hZ2ljID0gMCwgZ2xvYmFsX21hZ2ljID0gMDsKKwljb25zdCBjaGFyICpjb3B5ZnJvbSA9IGVsdCwgKmxvbmdfbWFnaWNfZW5kID0gTlVMTDsKKwljaGFyICptYXRjaDsKKwlpbnQgaSwgcGF0aHNwZWNfcHJlZml4ID0gLTE7CisKKwlpZiAobGl0ZXJhbF9nbG9iYWwgPCAwKQorCQlsaXRlcmFsX2dsb2JhbCA9IGdpdF9lbnZfYm9vbChHSVRfTElURVJBTF9QQVRIU1BFQ1NfRU5WSVJPTk1FTlQsIDApOworCWlmIChsaXRlcmFsX2dsb2JhbCkKKwkJZ2xvYmFsX21hZ2ljIHw9IFBBVEhTUEVDX0xJVEVSQUw7CisKKwlpZiAoZ2xvYl9nbG9iYWwgPCAwKQorCQlnbG9iX2dsb2JhbCA9IGdpdF9lbnZfYm9vbChHSVRfR0xPQl9QQVRIU1BFQ1NfRU5WSVJPTk1FTlQsIDApOworCWlmIChnbG9iX2dsb2JhbCkKKwkJZ2xvYmFsX21hZ2ljIHw9IFBBVEhTUEVDX0dMT0I7CisKKwlpZiAobm9nbG9iX2dsb2JhbCA8IDApCisJCW5vZ2xvYl9nbG9iYWwgPSBnaXRfZW52X2Jvb2woR0lUX05PR0xPQl9QQVRIU1BFQ1NfRU5WSVJPTk1FTlQsIDApOworCisJaWYgKGdsb2JfZ2xvYmFsICYmIG5vZ2xvYl9nbG9iYWwpCisJCWRpZShfKCJnbG9iYWwgJ2dsb2InIGFuZCAnbm9nbG9iJyBwYXRoc3BlYyBzZXR0aW5ncyBhcmUgaW5jb21wYXRpYmxlIikpOworCisKKwlpZiAoaWNhc2VfZ2xvYmFsIDwgMCkKKwkJaWNhc2VfZ2xvYmFsID0gZ2l0X2Vudl9ib29sKEdJVF9JQ0FTRV9QQVRIU1BFQ1NfRU5WSVJPTk1FTlQsIDApOworCWlmIChpY2FzZV9nbG9iYWwpCisJCWdsb2JhbF9tYWdpYyB8PSBQQVRIU1BFQ19JQ0FTRTsKKworCWlmICgoZ2xvYmFsX21hZ2ljICYgUEFUSFNQRUNfTElURVJBTCkgJiYKKwkgICAgKGdsb2JhbF9tYWdpYyAmIH5QQVRIU1BFQ19MSVRFUkFMKSkKKwkJZGllKF8oImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgIgorCQkgICAgICAid2l0aCBhbGwgb3RoZXIgZ2xvYmFsIHBhdGhzcGVjIHNldHRpbmdzIikpOworCisJaWYgKGZsYWdzICYgUEFUSFNQRUNfTElURVJBTF9QQVRIKQorCQlnbG9iYWxfbWFnaWMgPSAwOworCisJaWYgKGVsdFswXSAhPSAnOicgfHwgbGl0ZXJhbF9nbG9iYWwgfHwKKwkgICAgKGZsYWdzICYgUEFUSFNQRUNfTElURVJBTF9QQVRIKSkgeworCQk7IC8qIG5vdGhpbmcgdG8gZG8gKi8KKwl9IGVsc2UgaWYgKGVsdFsxXSA9PSAnKCcpIHsKKwkJLyogbG9uZ2hhbmQgKi8KKwkJY29uc3QgY2hhciAqbmV4dGF0OworCQlmb3IgKGNvcHlmcm9tID0gZWx0ICsgMjsKKwkJICAgICAqY29weWZyb20gJiYgKmNvcHlmcm9tICE9ICcpJzsKKwkJICAgICBjb3B5ZnJvbSA9IG5leHRhdCkgeworCQkJc2l6ZV90IGxlbiA9IHN0cmNzcG4oY29weWZyb20sICIsKSIpOworCQkJaWYgKGNvcHlmcm9tW2xlbl0gPT0gJywnKQorCQkJCW5leHRhdCA9IGNvcHlmcm9tICsgbGVuICsgMTsKKwkJCWVsc2UKKwkJCQkvKiBoYW5kbGUgJyknIGFuZCAnXDAnICovCisJCQkJbmV4dGF0ID0gY29weWZyb20gKyBsZW47CisJCQlpZiAoIWxlbikKKwkJCQljb250aW51ZTsKKwkJCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHBhdGhzcGVjX21hZ2ljKTsgaSsrKSB7CisJCQkJaWYgKHN0cmxlbihwYXRoc3BlY19tYWdpY1tpXS5uYW1lKSA9PSBsZW4gJiYKKwkJCQkgICAgIXN0cm5jbXAocGF0aHNwZWNfbWFnaWNbaV0ubmFtZSwgY29weWZyb20sIGxlbikpIHsKKwkJCQkJbWFnaWMgfD0gcGF0aHNwZWNfbWFnaWNbaV0uYml0OworCQkJCQlicmVhazsKKwkJCQl9CisJCQkJaWYgKHN0YXJ0c193aXRoKGNvcHlmcm9tLCAicHJlZml4OiIpKSB7CisJCQkJCWNoYXIgKmVuZHB0cjsKKwkJCQkJcGF0aHNwZWNfcHJlZml4ID0gc3RydG9sKGNvcHlmcm9tICsgNywKKwkJCQkJCQkJICZlbmRwdHIsIDEwKTsKKwkJCQkJaWYgKGVuZHB0ciAtIGNvcHlmcm9tICE9IGxlbikKKwkJCQkJCWRpZShfKCJpbnZhbGlkIHBhcmFtZXRlciBmb3IgcGF0aHNwZWMgbWFnaWMgJ3ByZWZpeCciKSk7CisJCQkJCS8qICJpIiB3b3VsZCBiZSB3cm9uZywgYnV0IGl0IGRvZXMgbm90IG1hdHRlciAqLworCQkJCQlicmVhazsKKwkJCQl9CisJCQl9CisJCQlpZiAoQVJSQVlfU0laRShwYXRoc3BlY19tYWdpYykgPD0gaSkKKwkJCQlkaWUoXygiSW52YWxpZCBwYXRoc3BlYyBtYWdpYyAnJS4qcycgaW4gJyVzJyIpLAorCQkJCSAgICAoaW50KSBsZW4sIGNvcHlmcm9tLCBlbHQpOworCQl9CisJCWlmICgqY29weWZyb20gIT0gJyknKQorCQkJZGllKF8oIk1pc3NpbmcgJyknIGF0IHRoZSBlbmQgb2YgcGF0aHNwZWMgbWFnaWMgaW4gJyVzJyIpLCBlbHQpOworCQlsb25nX21hZ2ljX2VuZCA9IGNvcHlmcm9tOworCQljb3B5ZnJvbSsrOworCX0gZWxzZSB7CisJCS8qIHNob3J0aGFuZCAqLworCQlmb3IgKGNvcHlmcm9tID0gZWx0ICsgMTsKKwkJICAgICAqY29weWZyb20gJiYgKmNvcHlmcm9tICE9ICc6JzsKKwkJICAgICBjb3B5ZnJvbSsrKSB7CisJCQljaGFyIGNoID0gKmNvcHlmcm9tOworCisJCQlpZiAoIWlzX3BhdGhzcGVjX21hZ2ljKGNoKSkKKwkJCQlicmVhazsKKwkJCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHBhdGhzcGVjX21hZ2ljKTsgaSsrKQorCQkJCWlmIChwYXRoc3BlY19tYWdpY1tpXS5tbmVtb25pYyA9PSBjaCkgeworCQkJCQlzaG9ydF9tYWdpYyB8PSBwYXRoc3BlY19tYWdpY1tpXS5iaXQ7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCWlmIChBUlJBWV9TSVpFKHBhdGhzcGVjX21hZ2ljKSA8PSBpKQorCQkJCWRpZShfKCJVbmltcGxlbWVudGVkIHBhdGhzcGVjIG1hZ2ljICclYycgaW4gJyVzJyIpLAorCQkJCSAgICBjaCwgZWx0KTsKKwkJfQorCQlpZiAoKmNvcHlmcm9tID09ICc6JykKKwkJCWNvcHlmcm9tKys7CiAJfQorCisJbWFnaWMgfD0gc2hvcnRfbWFnaWM7CisJKnBfc2hvcnRfbWFnaWMgPSBzaG9ydF9tYWdpYzsKKworCS8qIC0tbm9nbG9iLXBhdGhzcGVjIGFkZHMgOihsaXRlcmFsKSBfdW5sZXNzXyA6KGdsb2IpIGlzIHNwZWNpZmllZCAqLworCWlmIChub2dsb2JfZ2xvYmFsICYmICEobWFnaWMgJiBQQVRIU1BFQ19HTE9CKSkKKwkJZ2xvYmFsX21hZ2ljIHw9IFBBVEhTUEVDX0xJVEVSQUw7CisKKwkvKiAtLWdsb2ItcGF0aHNwZWMgaXMgb3ZlcnJpZGRlbiBieSA6KGxpdGVyYWwpICovCisJaWYgKChnbG9iYWxfbWFnaWMgJiBQQVRIU1BFQ19HTE9CKSAmJiAobWFnaWMgJiBQQVRIU1BFQ19MSVRFUkFMKSkKKwkJZ2xvYmFsX21hZ2ljICY9IH5QQVRIU1BFQ19HTE9COworCisJbWFnaWMgfD0gZ2xvYmFsX21hZ2ljOworCisJaWYgKHBhdGhzcGVjX3ByZWZpeCA+PSAwICYmCisJICAgIChwcmVmaXhsZW4gfHwgKHByZWZpeCAmJiAqcHJlZml4KSkpCisJCWRpZSgiQlVHOiAncHJlZml4JyBtYWdpYyBpcyBzdXBwb3NlZCB0byBiZSB1c2VkIGF0IHdvcmt0cmVlJ3Mgcm9vdCIpOworCisJaWYgKChtYWdpYyAmIFBBVEhTUEVDX0xJVEVSQUwpICYmIChtYWdpYyAmIFBBVEhTUEVDX0dMT0IpKQorCQlkaWUoXygiJXM6ICdsaXRlcmFsJyBhbmQgJ2dsb2InIGFyZSBpbmNvbXBhdGlibGUiKSwgZWx0KTsKKworCWlmIChwYXRoc3BlY19wcmVmaXggPj0gMCkgeworCQltYXRjaCA9IHhzdHJkdXAoY29weWZyb20pOworCQlwcmVmaXhsZW4gPSBwYXRoc3BlY19wcmVmaXg7CisJfSBlbHNlIGlmIChtYWdpYyAmIFBBVEhTUEVDX0ZST01UT1ApIHsKKwkJbWF0Y2ggPSB4c3RyZHVwKGNvcHlmcm9tKTsKKwkJcHJlZml4bGVuID0gMDsKKwl9IGVsc2UgeworCQltYXRjaCA9IHByZWZpeF9wYXRoX2dlbnRseShwcmVmaXgsIHByZWZpeGxlbiwgJnByZWZpeGxlbiwgY29weWZyb20pOworCQlpZiAoIW1hdGNoKQorCQkJZGllKF8oIiVzOiAnJXMnIGlzIG91dHNpZGUgcmVwb3NpdG9yeSIpLCBlbHQsIGNvcHlmcm9tKTsKKwl9CisJKnJhdyA9IGl0ZW0tPm1hdGNoID0gbWF0Y2g7CisJLyoKKwkgKiBQcmVmaXggdGhlIHBhdGhzcGVjIChrZWVwIGFsbCBtYWdpYykgYW5kIGFzc2lnbiB0bworCSAqIG9yaWdpbmFsLiBVc2VmdWwgZm9yIHBhc3NpbmcgdG8gYW5vdGhlciBjb21tYW5kLgorCSAqLworCWlmIChmbGFncyAmIFBBVEhTUEVDX1BSRUZJWF9PUklHSU4pIHsKKwkJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOworCQlpZiAocHJlZml4bGVuICYmICFsaXRlcmFsX2dsb2JhbCkgeworCQkJLyogUHJlc2VydmUgdGhlIGFjdHVhbCBwcmVmaXggbGVuZ3RoIG9mIGVhY2ggcGF0dGVybiAqLworCQkJaWYgKHNob3J0X21hZ2ljKQorCQkJCXByZWZpeF9zaG9ydF9tYWdpYygmc2IsIHByZWZpeGxlbiwgc2hvcnRfbWFnaWMpOworCQkJZWxzZSBpZiAobG9uZ19tYWdpY19lbmQpIHsKKwkJCQlzdHJidWZfYWRkKCZzYiwgZWx0LCBsb25nX21hZ2ljX2VuZCAtIGVsdCk7CisJCQkJc3RyYnVmX2FkZGYoJnNiLCAiLHByZWZpeDolZCkiLCBwcmVmaXhsZW4pOworCQkJfSBlbHNlCisJCQkJc3RyYnVmX2FkZGYoJnNiLCAiOihwcmVmaXg6JWQpIiwgcHJlZml4bGVuKTsKKwkJfQorCQlzdHJidWZfYWRkc3RyKCZzYiwgbWF0Y2gpOworCQlpdGVtLT5vcmlnaW5hbCA9IHN0cmJ1Zl9kZXRhY2goJnNiLCBOVUxMKTsKKwl9IGVsc2UKKwkJaXRlbS0+b3JpZ2luYWwgPSBlbHQ7CisJaXRlbS0+bGVuID0gc3RybGVuKGl0ZW0tPm1hdGNoKTsKKwlpdGVtLT5wcmVmaXggPSBwcmVmaXhsZW47CisKKwlpZiAoKGZsYWdzICYgUEFUSFNQRUNfU1RSSVBfU1VCTU9EVUxFX1NMQVNIX0NIRUFQKSAmJgorCSAgICAoaXRlbS0+bGVuID49IDEgJiYgaXRlbS0+bWF0Y2hbaXRlbS0+bGVuIC0gMV0gPT0gJy8nKSAmJgorCSAgICAoaSA9IGNhY2hlX25hbWVfcG9zKGl0ZW0tPm1hdGNoLCBpdGVtLT5sZW4gLSAxKSkgPj0gMCAmJgorCSAgICBTX0lTR0lUTElOSyhhY3RpdmVfY2FjaGVbaV0tPmNlX21vZGUpKSB7CisJCWl0ZW0tPmxlbi0tOworCQltYXRjaFtpdGVtLT5sZW5dID0gJ1wwJzsKKwl9CisKKwlpZiAoZmxhZ3MgJiBQQVRIU1BFQ19TVFJJUF9TVUJNT0RVTEVfU0xBU0hfRVhQRU5TSVZFKQorCQlmb3IgKGkgPSAwOyBpIDwgYWN0aXZlX25yOyBpKyspIHsKKwkJCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBhY3RpdmVfY2FjaGVbaV07CisJCQlpbnQgY2VfbGVuID0gY2VfbmFtZWxlbihjZSk7CisKKwkJCWlmICghU19JU0dJVExJTksoY2UtPmNlX21vZGUpKQorCQkJCWNvbnRpbnVlOworCisJCQlpZiAoaXRlbS0+bGVuIDw9IGNlX2xlbiB8fCBtYXRjaFtjZV9sZW5dICE9ICcvJyB8fAorCQkJICAgIG1lbWNtcChjZS0+bmFtZSwgbWF0Y2gsIGNlX2xlbikpCisJCQkJY29udGludWU7CisJCQlpZiAoaXRlbS0+bGVuID09IGNlX2xlbiArIDEpIHsKKwkJCQkvKiBzdHJpcCB0cmFpbGluZyBzbGFzaCAqLworCQkJCWl0ZW0tPmxlbi0tOworCQkJCW1hdGNoW2l0ZW0tPmxlbl0gPSAnXDAnOworCQkJfSBlbHNlCisJCQkJZGllIChfKCJQYXRoc3BlYyAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciKSwKKwkJCQkgICAgIGVsdCwgY2VfbGVuLCBjZS0+bmFtZSk7CisJCX0KKworCWlmIChtYWdpYyAmIFBBVEhTUEVDX0xJVEVSQUwpCisJCWl0ZW0tPm5vd2lsZGNhcmRfbGVuID0gaXRlbS0+bGVuOworCWVsc2UgeworCQlpdGVtLT5ub3dpbGRjYXJkX2xlbiA9IHNpbXBsZV9sZW5ndGgoaXRlbS0+bWF0Y2gpOworCQlpZiAoaXRlbS0+bm93aWxkY2FyZF9sZW4gPCBwcmVmaXhsZW4pCisJCQlpdGVtLT5ub3dpbGRjYXJkX2xlbiA9IHByZWZpeGxlbjsKKwl9CisJaXRlbS0+ZmxhZ3MgPSAwOworCWlmIChtYWdpYyAmIFBBVEhTUEVDX0dMT0IpIHsKKwkJLyoKKwkJICogRklYTUU6IHNob3VsZCB3ZSBlbmFibGUgT05FU1RBUiBpbiBfR0xPQiBmb3IKKwkJICogcGF0dGVybiAiKiAqIC8gKiAuIGMiPworCQkgKi8KKwl9IGVsc2UgeworCQlpZiAoaXRlbS0+bm93aWxkY2FyZF9sZW4gPCBpdGVtLT5sZW4gJiYKKwkJICAgIGl0ZW0tPm1hdGNoW2l0ZW0tPm5vd2lsZGNhcmRfbGVuXSA9PSAnKicgJiYKKwkJICAgIG5vX3dpbGRjYXJkKGl0ZW0tPm1hdGNoICsgaXRlbS0+bm93aWxkY2FyZF9sZW4gKyAxKSkKKwkJCWl0ZW0tPmZsYWdzIHw9IFBBVEhTUEVDX09ORVNUQVI7CisJfQorCisJLyogc2FuaXR5IGNoZWNrcywgcGF0aHNwZWMgbWF0Y2hlcnMgYXNzdW1lIHRoZXNlIGFyZSBzYW5lICovCisJYXNzZXJ0KGl0ZW0tPm5vd2lsZGNhcmRfbGVuIDw9IGl0ZW0tPmxlbiAmJgorCSAgICAgICBpdGVtLT5wcmVmaXggICAgICAgICA8PSBpdGVtLT5sZW4pOworCXJldHVybiBtYWdpYzsKK30KKworc3RhdGljIGludCBwYXRoc3BlY19pdGVtX2NtcChjb25zdCB2b2lkICphXywgY29uc3Qgdm9pZCAqYl8pCit7CisJc3RydWN0IHBhdGhzcGVjX2l0ZW0gKmEsICpiOworCisJYSA9IChzdHJ1Y3QgcGF0aHNwZWNfaXRlbSAqKWFfOworCWIgPSAoc3RydWN0IHBhdGhzcGVjX2l0ZW0gKiliXzsKKwlyZXR1cm4gc3RyY21wKGEtPm1hdGNoLCBiLT5tYXRjaCk7Cit9CisKK3N0YXRpYyB2b2lkIE5PUkVUVVJOIHVuc3VwcG9ydGVkX21hZ2ljKGNvbnN0IGNoYXIgKnBhdHRlcm4sCisJCQkJICAgICAgIHVuc2lnbmVkIG1hZ2ljLAorCQkJCSAgICAgICB1bnNpZ25lZCBzaG9ydF9tYWdpYykKK3sKKwlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisJaW50IGksIG47CisJZm9yIChuID0gaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHBhdGhzcGVjX21hZ2ljKTsgaSsrKSB7CisJCWNvbnN0IHN0cnVjdCBwYXRoc3BlY19tYWdpYyAqbSA9IHBhdGhzcGVjX21hZ2ljICsgaTsKKwkJaWYgKCEobWFnaWMgJiBtLT5iaXQpKQorCQkJY29udGludWU7CisJCWlmIChzYi5sZW4pCisJCQlzdHJidWZfYWRkc3RyKCZzYiwgIiAiKTsKKwkJaWYgKHNob3J0X21hZ2ljICYgbS0+Yml0KQorCQkJc3RyYnVmX2FkZGYoJnNiLCAiJyVjJyIsIG0tPm1uZW1vbmljKTsKKwkJZWxzZQorCQkJc3RyYnVmX2FkZGYoJnNiLCAiJyVzJyIsIG0tPm5hbWUpOworCQluKys7CisJfQorCS8qCisJICogV2UgbWF5IHdhbnQgdG8gc3Vic3RpdHV0ZSAidGhpcyBjb21tYW5kIiB3aXRoIGEgY29tbWFuZAorCSAqIG5hbWUuIEUuZy4gd2hlbiBhZGQtLWludGVyYWN0aXZlIGRpZXMgd2hlbiBydW5uaW5nCisJICogImNoZWNrb3V0IC1wIgorCSAqLworCWRpZShfKCIlczogcGF0aHNwZWMgbWFnaWMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvbW1hbmQ6ICVzIiksCisJICAgIHBhdHRlcm4sIHNiLmJ1Zik7Cit9CisKKy8qCisgKiBHaXZlbiBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGFuZCBhIHByZWZpeCwgY29udmVydCB0aGUgaW5wdXQgdG8KKyAqIHBhdGhzcGVjLiBkaWUoKSBpZiBhbnkgbWFnaWMgaW4gbWFnaWNfbWFzayBpcyB1c2VkLgorICovCit2b2lkIHBhcnNlX3BhdGhzcGVjKHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCisJCSAgICB1bnNpZ25lZCBtYWdpY19tYXNrLCB1bnNpZ25lZCBmbGFncywKKwkJICAgIGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IHBhdGhzcGVjX2l0ZW0gKml0ZW07CisJY29uc3QgY2hhciAqZW50cnkgPSBhcmd2ID8gKmFyZ3YgOiBOVUxMOworCWludCBpLCBuLCBwcmVmaXhsZW4sIG5yX2V4Y2x1ZGUgPSAwOworCisJbWVtc2V0KHBhdGhzcGVjLCAwLCBzaXplb2YoKnBhdGhzcGVjKSk7CisKKwlpZiAoZmxhZ3MgJiBQQVRIU1BFQ19NQVhERVBUSF9WQUxJRCkKKwkJcGF0aHNwZWMtPm1hZ2ljIHw9IFBBVEhTUEVDX01BWERFUFRIOworCisJLyogTm8gYXJndW1lbnRzLCBubyBwcmVmaXggLT4gbm8gcGF0aHNwZWMgKi8KKwlpZiAoIWVudHJ5ICYmICFwcmVmaXgpCisJCXJldHVybjsKKworCWlmICgoZmxhZ3MgJiBQQVRIU1BFQ19QUkVGRVJfQ1dEKSAmJgorCSAgICAoZmxhZ3MgJiBQQVRIU1BFQ19QUkVGRVJfRlVMTCkpCisJCWRpZSgiQlVHOiBQQVRIU1BFQ19QUkVGRVJfQ1dEIGFuZCBQQVRIU1BFQ19QUkVGRVJfRlVMTCBhcmUgaW5jb21wYXRpYmxlIik7CisKKwkvKiBObyBhcmd1bWVudHMgd2l0aCBwcmVmaXggLT4gcHJlZml4IHBhdGhzcGVjICovCisJaWYgKCFlbnRyeSkgeworCQlzdGF0aWMgY29uc3QgY2hhciAqcmF3WzJdOworCisJCWlmIChmbGFncyAmIFBBVEhTUEVDX1BSRUZFUl9GVUxMKQorCQkJcmV0dXJuOworCisJCWlmICghKGZsYWdzICYgUEFUSFNQRUNfUFJFRkVSX0NXRCkpCisJCQlkaWUoIkJVRzogUEFUSFNQRUNfUFJFRkVSX0NXRCByZXF1aXJlcyBhcmd1bWVudHMiKTsKKworCQlwYXRoc3BlYy0+aXRlbXMgPSBpdGVtID0geG1hbGxvYyhzaXplb2YoKml0ZW0pKTsKKwkJbWVtc2V0KGl0ZW0sIDAsIHNpemVvZigqaXRlbSkpOworCQlpdGVtLT5tYXRjaCA9IHByZWZpeDsKKwkJaXRlbS0+b3JpZ2luYWwgPSBwcmVmaXg7CisJCWl0ZW0tPm5vd2lsZGNhcmRfbGVuID0gaXRlbS0+bGVuID0gc3RybGVuKHByZWZpeCk7CisJCWl0ZW0tPnByZWZpeCA9IGl0ZW0tPmxlbjsKKwkJcmF3WzBdID0gcHJlZml4OworCQlyYXdbMV0gPSBOVUxMOworCQlwYXRoc3BlYy0+bnIgPSAxOworCQlwYXRoc3BlYy0+X3JhdyA9IHJhdzsKKwkJcmV0dXJuOworCX0KKworCW4gPSAwOworCXdoaWxlIChhcmd2W25dKQorCQluKys7CisKKwlwYXRoc3BlYy0+bnIgPSBuOworCXBhdGhzcGVjLT5pdGVtcyA9IGl0ZW0gPSB4bWFsbG9jKHNpemVvZigqaXRlbSkgKiBuKTsKKwlwYXRoc3BlYy0+X3JhdyA9IGFyZ3Y7CisJcHJlZml4bGVuID0gcHJlZml4ID8gc3RybGVuKHByZWZpeCkgOiAwOworCisJZm9yIChpID0gMDsgaSA8IG47IGkrKykgeworCQl1bnNpZ25lZCBzaG9ydF9tYWdpYzsKKwkJZW50cnkgPSBhcmd2W2ldOworCisJCWl0ZW1baV0ubWFnaWMgPSBwcmVmaXhfcGF0aHNwZWMoaXRlbSArIGksICZzaG9ydF9tYWdpYywKKwkJCQkJCWFyZ3YgKyBpLCBmbGFncywKKwkJCQkJCXByZWZpeCwgcHJlZml4bGVuLCBlbnRyeSk7CisJCWlmICgoZmxhZ3MgJiBQQVRIU1BFQ19MSVRFUkFMX1BBVEgpICYmCisJCSAgICAhKG1hZ2ljX21hc2sgJiBQQVRIU1BFQ19MSVRFUkFMKSkKKwkJCWl0ZW1baV0ubWFnaWMgfD0gUEFUSFNQRUNfTElURVJBTDsKKwkJaWYgKGl0ZW1baV0ubWFnaWMgJiBQQVRIU1BFQ19FWENMVURFKQorCQkJbnJfZXhjbHVkZSsrOworCQlpZiAoaXRlbVtpXS5tYWdpYyAmIG1hZ2ljX21hc2spCisJCQl1bnN1cHBvcnRlZF9tYWdpYyhlbnRyeSwKKwkJCQkJICBpdGVtW2ldLm1hZ2ljICYgbWFnaWNfbWFzaywKKwkJCQkJICBzaG9ydF9tYWdpYyk7CisKKwkJaWYgKChmbGFncyAmIFBBVEhTUEVDX1NZTUxJTktfTEVBRElOR19QQVRIKSAmJgorCQkgICAgaGFzX3N5bWxpbmtfbGVhZGluZ19wYXRoKGl0ZW1baV0ubWF0Y2gsIGl0ZW1baV0ubGVuKSkgeworCQkJZGllKF8oInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIpLCBlbnRyeSk7CisJCX0KKworCQlpZiAoaXRlbVtpXS5ub3dpbGRjYXJkX2xlbiA8IGl0ZW1baV0ubGVuKQorCQkJcGF0aHNwZWMtPmhhc193aWxkY2FyZCA9IDE7CisJCXBhdGhzcGVjLT5tYWdpYyB8PSBpdGVtW2ldLm1hZ2ljOworCX0KKworCWlmIChucl9leGNsdWRlID09IG4pCisJCWRpZShfKCJUaGVyZSBpcyBub3RoaW5nIHRvIGV4Y2x1ZGUgZnJvbSBieSA6KGV4Y2x1ZGUpIHBhdHRlcm5zLlxuIgorCQkgICAgICAiUGVyaGFwcyB5b3UgZm9yZ290IHRvIGFkZCBlaXRoZXIgJzovJyBvciAnLicgPyIpKTsKKworCisJaWYgKHBhdGhzcGVjLT5tYWdpYyAmIFBBVEhTUEVDX01BWERFUFRIKSB7CisJCWlmIChmbGFncyAmIFBBVEhTUEVDX0tFRVBfT1JERVIpCisJCQlkaWUoIkJVRzogUEFUSFNQRUNfTUFYREVQVEhfVkFMSUQgYW5kIFBBVEhTUEVDX0tFRVBfT1JERVIgYXJlIGluY29tcGF0aWJsZSIpOworCQlxc29ydChwYXRoc3BlYy0+aXRlbXMsIHBhdGhzcGVjLT5uciwKKwkJICAgICAgc2l6ZW9mKHN0cnVjdCBwYXRoc3BlY19pdGVtKSwgcGF0aHNwZWNfaXRlbV9jbXApOworCX0KK30KKworLyoKKyAqIE4uQi4gZ2V0X3BhdGhzcGVjKCkgaXMgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiB0aGUgInN0cnVjdCBwYXRoc3BlYyIKKyAqIGJhc2VkIGludGVyZmFjZSAtIHNlZSBwYXRoc3BlYy5jOnBhcnNlX3BhdGhzcGVjKCkuCisgKgorICogQXJndW1lbnRzOgorICogIC0gcHJlZml4IC0gYSBwYXRoIHJlbGF0aXZlIHRvIHRoZSByb290IG9mIHRoZSB3b3JraW5nIHRyZWUKKyAqICAtIHBhdGhzcGVjIC0gYSBsaXN0IG9mIHBhdGhzIHVuZGVybmVhdGggdGhlIHByZWZpeCBwYXRoCisgKgorICogSXRlcmF0ZXMgb3ZlciBwYXRoc3BlYywgcHJlcGVuZGluZyBlYWNoIHBhdGggd2l0aCBwcmVmaXgsCisgKiBhbmQgcmV0dXJuIHRoZSByZXN1bHRpbmcgbGlzdC4KKyAqCisgKiBJZiBwYXRoc3BlYyBpcyBlbXB0eSwgcmV0dXJuIGEgc2luZ2xldG9uIGxpc3QgY29udGFpbmluZyBwcmVmaXguCisgKgorICogSWYgcGF0aHNwZWMgYW5kIHByZWZpeCBhcmUgYm90aCBlbXB0eSwgcmV0dXJuIGFuIGVtcHR5IGxpc3QuCisgKgorICogVGhpcyBpcyB0eXBpY2FsbHkgdXNlZCBieSBidWlsdC1pbiBjb21tYW5kcyBzdWNoIGFzIGFkZC5jLCBpbiBvcmRlcgorICogdG8gbm9ybWFsaXplIGFyZ3YgYXJndW1lbnRzIHByb3ZpZGVkIHRvIHRoZSBidWlsdC1pbiBpbnRvIGEgbGlzdCBvZgorICogcGF0aHMgdG8gcHJvY2VzcywgYWxsIHJlbGF0aXZlIHRvIHRoZSByb290IG9mIHRoZSB3b3JraW5nIHRyZWUuCisgKi8KK2NvbnN0IGNoYXIgKipnZXRfcGF0aHNwZWMoY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICoqcGF0aHNwZWMpCit7CisJc3RydWN0IHBhdGhzcGVjIHBzOworCXBhcnNlX3BhdGhzcGVjKCZwcywKKwkJICAgICAgIFBBVEhTUEVDX0FMTF9NQUdJQyAmCisJCSAgICAgICB+KFBBVEhTUEVDX0ZST01UT1AgfCBQQVRIU1BFQ19MSVRFUkFMKSwKKwkJICAgICAgIFBBVEhTUEVDX1BSRUZFUl9DV0QsCisJCSAgICAgICBwcmVmaXgsIHBhdGhzcGVjKTsKKwlyZXR1cm4gcHMuX3JhdzsKK30KKwordm9pZCBjb3B5X3BhdGhzcGVjKHN0cnVjdCBwYXRoc3BlYyAqZHN0LCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnNyYykKK3sKKwkqZHN0ID0gKnNyYzsKKwlkc3QtPml0ZW1zID0geG1hbGxvYyhzaXplb2Yoc3RydWN0IHBhdGhzcGVjX2l0ZW0pICogZHN0LT5ucik7CisJbWVtY3B5KGRzdC0+aXRlbXMsIHNyYy0+aXRlbXMsCisJICAgICAgIHNpemVvZihzdHJ1Y3QgcGF0aHNwZWNfaXRlbSkgKiBkc3QtPm5yKTsKK30KKwordm9pZCBmcmVlX3BhdGhzcGVjKHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCit7CisJZnJlZShwYXRoc3BlYy0+aXRlbXMpOworCXBhdGhzcGVjLT5pdGVtcyA9IE5VTEw7CiB9CmRpZmYgLS1naXQgYS9wYXRoc3BlYy5oIGIvcGF0aHNwZWMuaAppbmRleCBkYjAxODRhLi4wYzExMjYyIDEwMDY0NAotLS0gYS9wYXRoc3BlYy5oCisrKyBiL3BhdGhzcGVjLmgKQEAgLTEsOCArMSwxMDEgQEAKICNpZm5kZWYgUEFUSFNQRUNfSAogI2RlZmluZSBQQVRIU1BFQ19ICiAKLWV4dGVybiBjaGFyICpmaW5kX3BhdGhzcGVjc19tYXRjaGluZ19hZ2FpbnN0X2luZGV4KGNvbnN0IGNoYXIgKipwYXRoc3BlYyk7Ci1leHRlcm4gdm9pZCBhZGRfcGF0aHNwZWNfbWF0Y2hlc19hZ2FpbnN0X2luZGV4KGNvbnN0IGNoYXIgKipwYXRoc3BlYywgY2hhciAqc2VlbiwgaW50IHNwZWNzKTsKKy8qIFBhdGhzcGVjIG1hZ2ljICovCisjZGVmaW5lIFBBVEhTUEVDX0ZST01UT1AJKDE8PDApCisjZGVmaW5lIFBBVEhTUEVDX01BWERFUFRICSgxPDwxKQorI2RlZmluZSBQQVRIU1BFQ19MSVRFUkFMCSgxPDwyKQorI2RlZmluZSBQQVRIU1BFQ19HTE9CCQkoMTw8MykKKyNkZWZpbmUgUEFUSFNQRUNfSUNBU0UJCSgxPDw0KQorI2RlZmluZSBQQVRIU1BFQ19FWENMVURFCSgxPDw1KQorI2RlZmluZSBQQVRIU1BFQ19BTExfTUFHSUMJICBcCisJKFBBVEhTUEVDX0ZST01UT1AJfCBcCisJIFBBVEhTUEVDX01BWERFUFRICXwgXAorCSBQQVRIU1BFQ19MSVRFUkFMCXwgXAorCSBQQVRIU1BFQ19HTE9CCQl8IFwKKwkgUEFUSFNQRUNfSUNBU0UJCXwgXAorCSBQQVRIU1BFQ19FWENMVURFKQorCisjZGVmaW5lIFBBVEhTUEVDX09ORVNUQVIgMQkvKiB0aGUgcGF0aHNwZWMgcGF0dGVybiBzYXRpc2ZpZXMgR0ZOTV9PTkVTVEFSICovCisKK3N0cnVjdCBwYXRoc3BlYyB7CisJY29uc3QgY2hhciAqKl9yYXc7IC8qIGdldF9wYXRoc3BlYygpIHJlc3VsdCwgbm90IGZyZWVkIGJ5IGZyZWVfcGF0aHNwZWMoKSAqLworCWludCBucjsKKwl1bnNpZ25lZCBpbnQgaGFzX3dpbGRjYXJkOjE7CisJdW5zaWduZWQgaW50IHJlY3Vyc2l2ZToxOworCXVuc2lnbmVkIG1hZ2ljOworCWludCBtYXhfZGVwdGg7CisJc3RydWN0IHBhdGhzcGVjX2l0ZW0geworCQljb25zdCBjaGFyICptYXRjaDsKKwkJY29uc3QgY2hhciAqb3JpZ2luYWw7CisJCXVuc2lnbmVkIG1hZ2ljOworCQlpbnQgbGVuLCBwcmVmaXg7CisJCWludCBub3dpbGRjYXJkX2xlbjsKKwkJaW50IGZsYWdzOworCX0gKml0ZW1zOworfTsKKworI2RlZmluZSBHVUFSRF9QQVRIU1BFQyhwcywgbWFzaykgXAorCWRvIHsgXAorCQlpZiAoKHBzKS0+bWFnaWMgJiB+KG1hc2spKQkgICAgICAgXAorCQkJZGllKCJCVUc6JXM6JWQ6IHVuc3VwcG9ydGVkIG1hZ2ljICV4IiwJXAorCQkJICAgIF9fRklMRV9fLCBfX0xJTkVfXywgKHBzKS0+bWFnaWMgJiB+KG1hc2spKTsgXAorCX0gd2hpbGUgKDApCisKKy8qIHBhcnNlX3BhdGhzcGVjIGZsYWdzICovCisjZGVmaW5lIFBBVEhTUEVDX1BSRUZFUl9DV0QgKDE8PDApIC8qIE5vIGFyZ3MgbWVhbnMgbWF0Y2ggY3dkICovCisjZGVmaW5lIFBBVEhTUEVDX1BSRUZFUl9GVUxMICgxPDwxKSAvKiBObyBhcmdzIG1lYW5zIG1hdGNoIGV2ZXJ5dGhpbmcgKi8KKyNkZWZpbmUgUEFUSFNQRUNfTUFYREVQVEhfVkFMSUQgKDE8PDIpIC8qIG1heF9kZXB0aCBmaWVsZCBpcyB2YWxpZCAqLworLyogc3RyaXAgdGhlIHRyYWlsaW5nIHNsYXNoIGlmIHRoZSBnaXZlbiBwYXRoIGlzIGEgZ2l0bGluayAqLworI2RlZmluZSBQQVRIU1BFQ19TVFJJUF9TVUJNT0RVTEVfU0xBU0hfQ0hFQVAgKDE8PDMpCisvKiBkaWUgaWYgYSBzeW1saW5rIGlzIHBhcnQgb2YgdGhlIGdpdmVuIHBhdGgncyBkaXJlY3RvcnkgKi8KKyNkZWZpbmUgUEFUSFNQRUNfU1lNTElOS19MRUFESU5HX1BBVEggKDE8PDQpCisvKgorICogVGhpcyBpcyBsaWtlIGEgY29tYmluYXRpb24gb2YgLi5MRUFESU5HX1BBVEggYW5kIC4uX1NMQVNIX0NIRUFQCisgKiAoYnV0IG5vdCB0aGUgc2FtZSk6IGl0IHN0cmlwcyB0aGUgdHJhaWxpbmcgc2xhc2ggaWYgdGhlIGdpdmVuIHBhdGgKKyAqIGlzIGEgZ2l0bGluayBidXQgYWxzbyBjaGVja3MgYW5kIGRpZXMgaWYgZ2l0bGluayBpcyBwYXJ0IG9mIHRoZQorICogbGVhZGluZyBwYXRoIChpLmUuIHRoZSBnaXZlbiBwYXRoIGdvZXMgYmV5b25kIGEgc3VibW9kdWxlKS4gSXQncworICogc2FmZXIgdGhhbiBfU0xBU0hfQ0hFQVAgYW5kIGFsc28gbW9yZSBleHBlbnNpdmUuCisgKi8KKyNkZWZpbmUgUEFUSFNQRUNfU1RSSVBfU1VCTU9EVUxFX1NMQVNIX0VYUEVOU0lWRSAoMTw8NSkKKyNkZWZpbmUgUEFUSFNQRUNfUFJFRklYX09SSUdJTiAoMTw8NikKKyNkZWZpbmUgUEFUSFNQRUNfS0VFUF9PUkRFUiAoMTw8NykKKy8qCisgKiBGb3IgdGhlIGNhbGxlcnMgdGhhdCBqdXN0IG5lZWQgcHVyZSBwYXRocyBmcm9tIHNvbWV3aGVyZSBlbHNlLCBub3QKKyAqIGZyb20gY29tbWFuZCBsaW5lLiBHbG9iYWwgLS0qLXBhdGhzcGVjcyBvcHRpb25zIGFyZSBpZ25vcmVkLiBObworICogbWFnaWMgaXMgcGFyc2VkIGluIGVhY2ggcGF0aHNwZWMgZWl0aGVyLiBJZiBQQVRIU1BFQ19MSVRFUkFMIGlzCisgKiBhbGxvd2VkLCB0aGVuIGl0IHdpbGwgYXV0b21hdGljYWxseSBzZXQgZm9yIGV2ZXJ5IHBhdGhzcGVjLgorICovCisjZGVmaW5lIFBBVEhTUEVDX0xJVEVSQUxfUEFUSCAoMTw8OCkKKworZXh0ZXJuIHZvaWQgcGFyc2VfcGF0aHNwZWMoc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJCSAgIHVuc2lnbmVkIG1hZ2ljX21hc2ssCisJCQkgICB1bnNpZ25lZCBmbGFncywKKwkJCSAgIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCSAgIGNvbnN0IGNoYXIgKiphcmdzKTsKK2V4dGVybiB2b2lkIGNvcHlfcGF0aHNwZWMoc3RydWN0IHBhdGhzcGVjICpkc3QsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqc3JjKTsKK2V4dGVybiB2b2lkIGZyZWVfcGF0aHNwZWMoc3RydWN0IHBhdGhzcGVjICopOworCitzdGF0aWMgaW5saW5lIGludCBwc19zdHJuY21wKGNvbnN0IHN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtLAorCQkJICAgICBjb25zdCBjaGFyICpzMSwgY29uc3QgY2hhciAqczIsIHNpemVfdCBuKQoreworCWlmIChpdGVtLT5tYWdpYyAmIFBBVEhTUEVDX0lDQVNFKQorCQlyZXR1cm4gc3RybmNhc2VjbXAoczEsIHMyLCBuKTsKKwllbHNlCisJCXJldHVybiBzdHJuY21wKHMxLCBzMiwgbik7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHBzX3N0cmNtcChjb25zdCBzdHJ1Y3QgcGF0aHNwZWNfaXRlbSAqaXRlbSwKKwkJCSAgICBjb25zdCBjaGFyICpzMSwgY29uc3QgY2hhciAqczIpCit7CisJaWYgKGl0ZW0tPm1hZ2ljICYgUEFUSFNQRUNfSUNBU0UpCisJCXJldHVybiBzdHJjYXNlY21wKHMxLCBzMik7CisJZWxzZQorCQlyZXR1cm4gc3RyY21wKHMxLCBzMik7Cit9CisKK2V4dGVybiBjaGFyICpmaW5kX3BhdGhzcGVjc19tYXRjaGluZ19hZ2FpbnN0X2luZGV4KGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpOworZXh0ZXJuIHZvaWQgYWRkX3BhdGhzcGVjX21hdGNoZXNfYWdhaW5zdF9pbmRleChjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLCBjaGFyICpzZWVuKTsKIGV4dGVybiBjb25zdCBjaGFyICpjaGVja19wYXRoX2Zvcl9naXRsaW5rKGNvbnN0IGNoYXIgKnBhdGgpOwogZXh0ZXJuIHZvaWQgZGllX2lmX3BhdGhfYmV5b25kX3N5bWxpbmsoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqcHJlZml4KTsKIApkaWZmIC0tZ2l0IGEvcGVybC9HaXQvU1ZOLnBtIGIvcGVybC9HaXQvU1ZOLnBtCmluZGV4IDUyNzNlZTguLjZlODA0YTIgMTAwNjQ0Ci0tLSBhL3BlcmwvR2l0L1NWTi5wbQorKysgYi9wZXJsL0dpdC9TVk4ucG0KQEAgLTE1OTksNiArMTU5OSw3IEBACiAJCW15ICVsb29rdXBfc3ZuX21lcmdlX2NhY2hlOwogCQlteSAlY2hlY2tfY2hlcnJ5X3BpY2tfY2FjaGU7CiAJCW15ICVoYXNfbm9fY2hhbmdlc19jYWNoZTsKKwkJbXkgJV9yZXZfbGlzdF9jYWNoZTsKIAogCQl0aWVfZm9yX3BlcnNpc3RlbnRfbWVtb2l6YXRpb24oXCVsb29rdXBfc3ZuX21lcmdlX2NhY2hlLAogCQkgICAgIiRjYWNoZV9wYXRoL2xvb2t1cF9zdm5fbWVyZ2UiKTsKQEAgLTE2MjAsNiArMTYyMSwxNCBAQAogCQkJU0NBTEFSX0NBQ0hFID0+IFsnSEFTSCcgPT4gXCVoYXNfbm9fY2hhbmdlc19jYWNoZV0sCiAJCQlMSVNUX0NBQ0hFID0+ICdGQVVMVCcsCiAJCTsKKworCQl0aWVfZm9yX3BlcnNpc3RlbnRfbWVtb2l6YXRpb24oXCVfcmV2X2xpc3RfY2FjaGUsCisJCSAgICAiJGNhY2hlX3BhdGgvX3Jldl9saXN0Iik7CisJCW1lbW9pemUgJ19yZXZfbGlzdCcsCisJCQlTQ0FMQVJfQ0FDSEUgPT4gJ0ZBVUxUJywKKwkJCUxJU1RfQ0FDSEUgPT4gWydIQVNIJyA9PiBcJV9yZXZfbGlzdF9jYWNoZV0sCisJCTsKKwogCX0KIAogCXN1YiB1bm1lbW9pemVfc3ZuX21lcmdlaW5mb19mdW5jdGlvbnMgewpAQCAtMTYyOSw2ICsxNjM4LDcgQEAKIAkJTWVtb2l6ZTo6dW5tZW1vaXplICdsb29rdXBfc3ZuX21lcmdlJzsKIAkJTWVtb2l6ZTo6dW5tZW1vaXplICdjaGVja19jaGVycnlfcGljayc7CiAJCU1lbW9pemU6OnVubWVtb2l6ZSAnaGFzX25vX2NoYW5nZXMnOworCQlNZW1vaXplOjp1bm1lbW9pemUgJ19yZXZfbGlzdCc7CiAJfQogCiAJc3ViIGNsZWFyX21lbW9pemVkX21lcmdlaW5mb19jYWNoZXMgewpAQCAtMTk1OSwxMSArMTk2OSwyNSBAQAogCXVubGluayAkcGF0aCBvciBjcm9hayAidW5saW5rOiAkISI7CiB9CiAKKyNkZWZpbmUgYSBnbG9iYWwgYXNzb2NpYXRlIG1hcCB0byByZWNvcmQgcmVidWlsZCBzdGF0dXMKK215ICVyZWJ1aWxkX3N0YXR1czsKKyNkZWZpbmUgYSBnbG9iYWwgYXNzb2NpYXRlIG1hcCB0byByZWNvcmQgcmVidWlsZCB2ZXJpZnkgc3RhdHVzCitteSAlcmVidWlsZF92ZXJpZnlfc3RhdHVzOworCiBzdWIgcmVidWlsZCB7CiAJbXkgKCRzZWxmKSA9IEBfOwogCW15ICRtYXBfcGF0aCA9ICRzZWxmLT5tYXBfcGF0aDsKIAlteSAkcGFydGlhbCA9ICgtZSAkbWFwX3BhdGggJiYgISAteiAkbWFwX3BhdGgpOwotCXJldHVybiB1bmxlc3MgOjp2ZXJpZnlfcmVmKCRzZWxmLT5yZWZuYW1lLideMCcpOworCW15ICR2ZXJpZnlfa2V5ID0gJHNlbGYtPnJlZm5hbWUuJ14wJzsKKwlpZiAoISRyZWJ1aWxkX3ZlcmlmeV9zdGF0dXN7JHZlcmlmeV9rZXl9KSB7CisJCW15ICR2ZXJpZnlfcmVzdWx0ID0gOjp2ZXJpZnlfcmVmKCR2ZXJpZnlfa2V5KTsKKwkJaWYgKCR2ZXJpZnlfcmVzdWx0KSB7CisJCQkkcmVidWlsZF92ZXJpZnlfc3RhdHVzeyR2ZXJpZnlfa2V5fSA9IDE7CisJCX0KKwl9CisJaWYgKCEkcmVidWlsZF92ZXJpZnlfc3RhdHVzeyR2ZXJpZnlfa2V5fSkgeworCQlyZXR1cm47CisJfQogCWlmICghJHBhcnRpYWwgJiYgKCRzZWxmLT51c2Vfc3ZtX3Byb3BzIHx8ICRzZWxmLT5ub19tZXRhZGF0YSkpIHsKIAkJbXkgJHJldl9kYiA9ICRzZWxmLT5yZXZfZGJfcGF0aDsKIAkJJHNlbGYtPnJlYnVpbGRfZnJvbV9yZXZfZGIoJHJldl9kYik7CkBAIC0xOTc3LDEwICsyMDAxLDIxIEBACiAJcHJpbnQgIlJlYnVpbGRpbmcgJG1hcF9wYXRoIC4uLlxuIiBpZiAoISRwYXJ0aWFsKTsKIAlteSAoJGJhc2VfcmV2LCAkaGVhZCkgPSAoJHBhcnRpYWwgPyAkc2VsZi0+cmV2X21hcF9tYXhfbm9yZWJ1aWxkKDEpIDoKIAkJKHVuZGVmLCB1bmRlZikpOworCW15ICRrZXlfdmFsdWUgPSAoJGhlYWQgPyAiJGhlYWQuLiIgOiAiIikgLiAkc2VsZi0+cmVmbmFtZTsKKwlpZiAoZXhpc3RzICRyZWJ1aWxkX3N0YXR1c3ska2V5X3ZhbHVlfSkgeworCQlwcmludCAiRG9uZSByZWJ1aWxkaW5nICRtYXBfcGF0aFxuIiBpZiAoISRwYXJ0aWFsIHx8ICEkaGVhZCk7CisJCW15ICRyZXZfZGJfcGF0aCA9ICRzZWxmLT5yZXZfZGJfcGF0aDsKKwkJaWYgKC1mICRzZWxmLT5yZXZfZGJfcGF0aCkgeworCQkJdW5saW5rICRzZWxmLT5yZXZfZGJfcGF0aCBvciBjcm9hayAidW5saW5rOiAkISI7CisJCX0KKwkJJHNlbGYtPnVubGlua19yZXZfZGJfc3ltbGluazsKKwkJcmV0dXJuOworCX0KIAlteSAoJGxvZywgJGN0eCkgPQotCSAgICBjb21tYW5kX291dHB1dF9waXBlKHF3L3Jldi1saXN0IC0tcHJldHR5PXJhdyAtLXJldmVyc2UvLAotCQkJCSgkaGVhZCA/ICIkaGVhZC4uIiA6ICIiKSAuICRzZWxmLT5yZWZuYW1lLAorCQljb21tYW5kX291dHB1dF9waXBlKHF3L3Jldi1saXN0IC0tcHJldHR5PXJhdyAtLXJldmVyc2UvLAorCQkJCSRrZXlfdmFsdWUsCiAJCQkJJy0tJyk7CisJJHJlYnVpbGRfc3RhdHVzeyRrZXlfdmFsdWV9ID0gMTsKIAlteSAkbWV0YWRhdGFfdXJsID0gJHNlbGYtPm1ldGFkYXRhX3VybDsKIAlyZW1vdmVfdXNlcm5hbWUoJG1ldGFkYXRhX3VybCk7CiAJbXkgJHN2bl91dWlkID0gJHNlbGYtPnJld3JpdGVfdXVpZCB8fCAkc2VsZi0+cmFfdXVpZDsKZGlmZiAtLWdpdCBhL3BlcmwvR2l0L1NWTi9FZGl0b3IucG0gYi9wZXJsL0dpdC9TVk4vRWRpdG9yLnBtCmluZGV4IGIzYmNkNDcuLjM0ZThhZjkgMTAwNjQ0Ci0tLSBhL3BlcmwvR2l0L1NWTi9FZGl0b3IucG0KKysrIGIvcGVybC9HaXQvU1ZOL0VkaXRvci5wbQpAQCAtMzA0LDggKzMwNCwxMiBAQAogCW15ICgkc2VsZiwgJG0sICRkZWxldGlvbnMpID0gQF87CiAJbXkgKCRkaXIsICRmaWxlKSA9IHNwbGl0X3BhdGgoJG0tPntmaWxlX2J9KTsKIAlteSAkcGJhdCA9ICRzZWxmLT5lbnN1cmVfcGF0aCgkZGlyLCAkZGVsZXRpb25zKTsKKwkjIHdvcmthcm91bmQgZm9yIGEgYnVnIGluIHN2biBzZXJmIGJhY2tlbmQgKHYxLjguNSBhbmQgYmVsb3cpOgorCSMgc3RvcmUgdGhpcmQgYXJndW1lbnQgdG8gLT5hZGRfZmlsZSgpIGluIGEgbG9jYWwgdmFyaWFibGUsIHRvIG1ha2UgaXQKKwkjIGhhdmUgdGhlIHNhbWUgbGlmZXRpbWUgYXMgJGZiYXQKKwlteSAkdXBhID0gJHNlbGYtPnVybF9wYXRoKCRtLT57ZmlsZV9hfSk7CiAJbXkgJGZiYXQgPSAkc2VsZi0+YWRkX2ZpbGUoJHNlbGYtPnJlcG9fcGF0aCgkbS0+e2ZpbGVfYn0pLCAkcGJhdCwKLQkJCQkkc2VsZi0+dXJsX3BhdGgoJG0tPntmaWxlX2F9KSwgJHNlbGYtPntyfSk7CisJCQkJJHVwYSwgJHNlbGYtPntyfSk7CiAJcHJpbnQgIlx0Q1x0JG0tPntmaWxlX2F9ID0+ICRtLT57ZmlsZV9ifVxuIiB1bmxlc3MgJDo6X3E7CiAJJHNlbGYtPmNoZ19maWxlKCRmYmF0LCAkbSk7CiAJJHNlbGYtPmNsb3NlX2ZpbGUoJGZiYXQsdW5kZWYsJHNlbGYtPntwb29sfSk7CkBAIC0zMjMsOCArMzI3LDEwIEBACiAJbXkgKCRzZWxmLCAkbSwgJGRlbGV0aW9ucykgPSBAXzsKIAlteSAoJGRpciwgJGZpbGUpID0gc3BsaXRfcGF0aCgkbS0+e2ZpbGVfYn0pOwogCW15ICRwYmF0ID0gJHNlbGYtPmVuc3VyZV9wYXRoKCRkaXIsICRkZWxldGlvbnMpOworCSMgd29ya2Fyb3VuZCBmb3IgYSBidWcgaW4gc3ZuIHNlcmYgYmFja2VuZCwgc2VlIGNvbW1lbnQgaW4gQygpIGFib3ZlCisJbXkgJHVwYSA9ICRzZWxmLT51cmxfcGF0aCgkbS0+e2ZpbGVfYX0pOwogCW15ICRmYmF0ID0gJHNlbGYtPmFkZF9maWxlKCRzZWxmLT5yZXBvX3BhdGgoJG0tPntmaWxlX2J9KSwgJHBiYXQsCi0JCQkJJHNlbGYtPnVybF9wYXRoKCRtLT57ZmlsZV9hfSksICRzZWxmLT57cn0pOworCQkJCSR1cGEsICRzZWxmLT57cn0pOwogCXByaW50ICJcdFJcdCRtLT57ZmlsZV9hfSA9PiAkbS0+e2ZpbGVfYn1cbiIgdW5sZXNzICQ6Ol9xOwogCSRzZWxmLT5hcHBseV9hdXRvcHJvcHMoJGZpbGUsICRmYmF0KTsKIAkkc2VsZi0+Y2hnX2ZpbGUoJGZiYXQsICRtKTsKZGlmZiAtLWdpdCBhL3BlcmwvR2l0L1NWTi9Mb2cucG0gYi9wZXJsL0dpdC9TVk4vTG9nLnBtCmluZGV4IDNmODM1MGEuLjM0ZjI4NjkgMTAwNjQ0Ci0tLSBhL3BlcmwvR2l0L1NWTi9Mb2cucG0KKysrIGIvcGVybC9HaXQvU1ZOL0xvZy5wbQpAQCAtMTE3LDYgKzExNyw3IEBACiAJfQogCW9wZW4gU1RESU4sICc8JicsICRyZmQgb3IgZmF0YWwgIkNhbid0IHJlZGlyZWN0IHN0ZGluOiAkISI7CiAJJEVOVntMRVNTfSB8fD0gJ0ZSU1gnOworCSRFTlZ7TFZ9IHx8PSAnLWMnOwogCWV4ZWMgJHBhZ2VyIG9yIGZhdGFsICJDYW4ndCBydW4gcGFnZXI6ICQhICgkcGFnZXIpIjsKIH0KIApkaWZmIC0tZ2l0IGEvcGVybC9HaXQvU1ZOL1JhLnBtIGIvcGVybC9HaXQvU1ZOL1JhLnBtCmluZGV4IDc1ZWNjNDIuLmE3YjAxMTkgMTAwNjQ0Ci0tLSBhL3BlcmwvR2l0L1NWTi9SYS5wbQorKysgYi9wZXJsL0dpdC9TVk4vUmEucG0KQEAgLTMyLDYgKzMyLDE0IEBACiAJfQogfQogCisjIHNlcmYgaGFzIGEgYnVnIHRoYXQgbGVhZHMgdG8gYSBjb3JlZHVtcCB1cG9uIHRlcm1pbmF0aW9uIGlmIHRoZQorIyByZW1vdGUgYWNjZXNzIG9iamVjdCBpcyBsZWZ0IGFyb3VuZCAobm90IGZpeGVkIHlldCBpbiBzZXJmIDEuMy4xKS4KKyMgRXhwbGljaXRseSBmcmVlIGl0IHRvIHdvcmsgYXJvdW5kIHRoZSBpc3N1ZS4KK0VORCB7CisJJFJBID0gdW5kZWY7CisJJHJhX2ludmFsaWQgPSAxOworfQorCiBzdWIgX2F1dGhfcHJvdmlkZXJzICgpIHsKIAlteSBAcnYgPSAoCiAJICBTVk46OkNsaWVudDo6Z2V0X3NpbXBsZV9wcm92aWRlcigpLApkaWZmIC0tZ2l0IGEvcGt0LWxpbmUuYyBiL3BrdC1saW5lLmMKaW5kZXggNzBmMTk1MC4uYmM2M2IzYiAxMDA2NDQKLS0tIGEvcGt0LWxpbmUuYworKysgYi9wa3QtbGluZS5jCkBAIC0yNCw4ICsyNCw4IEBACiAJc3RyYnVmX2FkZGYoJm91dCwgInBhY2tldDogJTEycyVjICIsCiAJCSAgICBwYWNrZXRfdHJhY2VfcHJlZml4LCB3cml0ZSA/ICc+JyA6ICc8Jyk7CiAKLQlpZiAoKGxlbiA+PSA0ICYmICFwcmVmaXhjbXAoYnVmLCAiUEFDSyIpKSB8fAotCSAgICAobGVuID49IDUgJiYgIXByZWZpeGNtcChidWYrMSwgIlBBQ0siKSkpIHsKKwlpZiAoKGxlbiA+PSA0ICYmIHN0YXJ0c193aXRoKGJ1ZiwgIlBBQ0siKSkgfHwKKwkgICAgKGxlbiA+PSA1ICYmIHN0YXJ0c193aXRoKGJ1ZisxLCAiUEFDSyIpKSkgewogCQlzdHJidWZfYWRkc3RyKCZvdXQsICJQQUNLIC4uLiIpOwogCQl1bnNldGVudih0cmFjZV9rZXkpOwogCX0KZGlmZiAtLWdpdCBhL3BvL1RFQU1TIGIvcG8vVEVBTVMKaW5kZXggMTA3YWE1OS4uZjc1YTE3NCAxMDA2NDQKLS0tIGEvcG8vVEVBTVMKKysrIGIvcG8vVEVBTVMKQEAgLTEsMTQgKzEsMTQgQEAKIENvcmUgR2l0IHRyYW5zbGF0aW9uIGxhbmd1YWdlIHRlYW1zCiAocGxlYXNlIGtlZXAgdGhlIGxpc3Qgc29ydGVkIGFscGhhYmV0aWNhbGx5IG9uIGxhbmd1YWdlIGZpZWxkKQogCi1MYW5ndWFnZToJZGEgKERhbmlzaCkKLVJlcG9zaXRvcnk6CWh0dHBzOi8vZ2l0aHViLmNvbS9naXQtZGEvZ2l0LXBvLwotTGVhZGVyOgkJQnlyaWFsIEplbnNlbiA8YnlyaWFsQHZpcC5jeWJlcmNpdHkuZGs+CitMYW5ndWFnZToJYmcgKEJ1bGdhcmlhbikKK1JlcG9zaXRvcnk6CWh0dHBzOi8vZ2l0aHViLmNvbS9naXQtbDEwbi9naXQtcG8KK0xlYWRlcjoJCUFsZXhhbmRlciBTaG9wb3YgPGFzaEBrYW1iYW5hcmlhLm9yZz4KIAogTGFuZ3VhZ2U6CWRlIChHZXJtYW4pCiBSZXBvc2l0b3J5OglodHRwczovL2dpdGh1Yi5jb20vcmFsZnRoL2dpdC1wby1kZQogTGVhZGVyOgkJUmFsZiBUaGllbG93IDxyYWxmLnRoaWVsb3dAZ29vZ2xlbWFpbC5jb20+Ci1NZW1iZXJzOglUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorTWVtYmVyczoJVGhvbWFzIFJhc3QgPHRyQHRob21hc3Jhc3QuY2g+CiAJCUphbiBLcsO8Z2VyIDxqa0Bqay5ncz4KIAkJQ2hyaXN0aWFuIFN0aW1taW5nIDxzdGltbWluZ0B0dWhoLmRlPgogCkBAIC0yNSwxMCArMjUsNiBAQAogTGVhZGVyOgkJTWFyY28gUGFvbG9uZSA8bWFyY29wYW9sb25lIEFUIGdtYWlsLmNvbT4KIE1lbWJlcnM6CVN0ZWZhbm8gTGF0dGFyaW5pIDxzdGVmYW5vLmxhdHRhcmluaSBBVCBnbWFpbC5jb20+CiAKLUxhbmd1YWdlOglubCAoRHV0Y2gpCi1SZXBvc2l0b3J5OglodHRwczovL2dpdGh1Yi5jb20vdmZyLW5sL2dpdC1wby8KLUxlYWRlcjoJCVZpbmNlbnQgdmFuIFJhdmVzdGVpam4gPHZmckBseXgub3JnPgotCiBMYW5ndWFnZToJcHRfUFQgKFBvcnR1Z3Vlc2UgLSBQb3J0dWdhbCkKIFJlcG9zaXRvcnk6CWh0dHBzOi8vZ2l0aHViLmNvbS9tYXJjb21zb3VzYS9naXQtbDEwbi1wdF9QVC8KIExlYWRlcjoJCU1hcmNvIFNvdXNhIDxtYXJjb21zb3VzYSBBVCBnbWFpbC5jb20+CmRpZmYgLS1naXQgYS9wby9iZy5wbyBiL3BvL2JnLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiNDUwYjIKLS0tIC9kZXYvbnVsbAorKysgYi9wby9iZy5wbwpAQCAtMCwwICsxLDEwNDA0IEBACisjIEJ1bGdhcmlhbiB0cmFuc2xhdGlvbiBvZiBnaXQgcG8tZmlsZS4KKyMgQ29weXJpZ2h0IChDKSAyMDE0IEFsZXhhbmRlciBTaG9wb3YgPGFzaEBrYW1iYW5hcmlhLm9yZz4uCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBnaXQgcGFja2FnZS4KKyMgQWxleGFuZGVyIFNob3BvdiA8YXNoQGthbWJhbmFyaWEub3JnPiwgMjAxNC4KKyMKKyMgPT09PT09PT09PT09PT09PT09PT09PT09CisjIERJQ1RJT05BUlkgVE8gTUVSR0UgSU4gR0lUIEdVSQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgcmFuZ2Ug0LjQvdGC0LXRgNCy0LDQuworIyB1bnJlYWNoYWJsZSBvYmplY3Qg0L3QtdC00L7RgdGC0LjQttC40Lwg0L7QsdC10LrRggorIyBkYW5nbGluZyBvYmplY3RzINC+0LHQtdC60YIg0LjQt9Cy0YrQvSDQutC70L7QvQorIyBmYXN0LWZvcndhcmQg0YLRgNC40LLQuNCw0LvQvdC+INGB0LvQuNCy0LDQvdC1CisjIHN0YWxlIHJlbW90ZSDRgdGC0LDRgNC+INGF0YDQsNC90LjQu9C40YnQtQorIyByZWJhc2Ug0L/RgNC10LHQsNC30LjRgNCw0LwKKyMgZm9yY2UgKHB1c2gpINC/0YDQuNC90YPQtNC40YLQtdC70L3QviDQuNC30YLQu9Cw0YHQutCy0LDQvAorIyBzdGFzaC9pbmRleCDQuNC90LTQtdC60YEKKyMgPT09PT09PT09PT09PT09PT09PT09PT09CisjIFJFQ0hFQ0sKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEhFQUQgYXMgYSByZWZlcmVuY2UgdnMgaGVhZCBvZiBhIGJyYW5jaAorIworIyA9PT09PT09PT09PT09PT09PT09PT09PT0KKyMgR0VORVJBVEUgU1RBVFMKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGdyZXAgXiM6IGJnLnBvIHwgY3V0IC1jNC0gfHRyICcgJyAnXG4nfCBzZWQgLWUgJ3MvOlswLTldWzAtOV0qLy8nICAtZSAncyUuKi8lJScgLWUgJ3MvWy5dW14uXSokLy8nID4gT1VUCisjIHNvcnQgLXUgT1VUID4gVU5JUVVFCisjIGZvciBpIGluIGBjYXQgVU5JUVVFYDsgZG8gZWNobyAgIGBncmVwICJeJGkkIiBPVVQgfCB3YyAtbGAgJGkgOyBkb25lIHwgc29ydCAtbnIgPiBTVEFUUworIyA9PT09PT09PT09PT09PT09PT09PT09PT0KKyMgRE9ORSBzdHJpbmdzCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAyMjIKKyMgPT09PT09PT09PT09PT09PT09PT09PT09CisjIFJFTUFJTklORyBzdHJpbmdzCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAxOTg4CisjID09PT09PT09PT09PT09PT09PT09PT09PQorIyBET05FIGFscGhhYmV0aWNhbCBvcmRlcmluZworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMKKyMgYWR2aWNlLCBmc2NrLCBnYywgaGVscCwgcGFyc2Utb3B0aW9ucywgcmVmbG9nLCByZW1vdGUsIHJtLCBydW4tY29tbWFuZAorIworIyA9PT09PT09PT09PT09PT09PT09PT09PT0KKyMgUkVNQUlOSU5HIGFscGhhYmV0aWNhbCBvcmRlcmluZworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMKKyMgYWRkLCBhcHBseSwgYXJjaGl2ZSwgYXR0ciwgYmlzZWN0LS1oZWxwZXIsIGJsYW1lLCBicmFuY2gsIGJ1bmRsZSwgY2F0LWZpbGUsIGNoZWNrLWF0dHIsIGNoZWNrLWlnbm9yZSwgY2hlY2stbWFpbG1hcCwKKyMgY2hlY2tvdXQsIGNoZWNrb3V0LWluZGV4LCBjbGVhbiwgY2xvbmUsIGNvbHVtbiwgY29tbWl0LCBjb21tb24tY21kcywgY29uZmlnLCBjb25uZWN0ZWQsIGNvdW50LW9iamVjdHMsIGRhdGUsIGRlc2NyaWJlLAorIyBkaWZmLCBkaWZmY29yZS1vcmRlciwgZmFzdC1leHBvcnQsIGZldGNoLCBmbXQtbWVyZ2UtbXNnLCBmb3ItZWFjaC1yZWYsIGdpdCwgZ2l0LWFtLCBnaXQtYmlzZWN0LCBnaXQtcHVsbCwgZ2l0LXJlYmFzZSwKKyMgZ2l0LXN0YXNoLCBnaXQtc3VibW9kdWxlLCBncGctaW50ZXJmYWNlLCBncmVwLCBoYXNoLW9iamVjdCwgaW5kZXgtcGFjaywgaW5pdC1kYiwgbG9nLCBscy1maWxlcywgbHMtdHJlZSwgbWVyZ2UsCisjIG1lcmdlLWJhc2UsIG1lcmdlLWZpbGUsIG1lcmdlLXJlY3Vyc2l2ZSwgbWt0cmVlLCBtdiwgbmFtZS1yZXYsIG5vdGVzLCBub3Rlcy11dGlscywgb2JqZWN0LCBvYnN0YWNrLCBwYWNrLW9iamVjdHMsCisjIHBhY2stcmVmcywgcGF0aHNwZWMsIHByZWNvbXBvc2VfdXRmOCwgcHJ1bmUsIHBydW5lLXBhY2tlZCwgcHVzaCwgcmVhZC10cmVlLCByZXBhY2ssIHJlcGxhY2UsIHJlcmVyZSwgcmVzZXQsIHJldmVydCwKKyMgcmV2LXBhcnNlLCBzZXF1ZW5jZXIsIHNoYTFfbmFtZSwgc2hvcnRsb2csIHNob3ctYnJhbmNoLCBzaG93LXJlZiwgc3VibW9kdWxlLCBzeW1ib2xpYy1yZWYsIHRhZywgdXBkYXRlLWluZGV4LAorIyB1cGRhdGUtcmVmLCB1cGRhdGUtc2VydmVyLWluZm8sIHVybG1hdGNoLCB2ZXJpZnktcGFjaywgdmVyaWZ5LXRhZywgd3JhcHBlciwgd3JpdGUtdHJlZSwgd3Qtc3RhdHVzCisjCisjCisjID09PT09PT09PT09PT09PT09PT09PT09PQorIyBNT1NUIElNUE9SVEFOVCBzdHJpbmdzIG9yZGVyaW5nCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAxNDQgW3JlbW90ZV0gICAgNjggZmV0Y2ggICAgICAgMjggYmxhbWUgICAgICAgICAxNiBbcGFyc2Utb3B0aW9uc10KKyMgMTM3IGNvbW1pdCAgICAgIDY0IGdyZXAgICAgICAgIDI3IGdpdC1yZWJhc2UgICAgMTIgW2djXQorIyAxMTUgYnJhbmNoICAgICAgNDYgcHVzaCAgICAgICAgMjQgcmV2ZXJ0ICAgICAgICAxMiBbZnNja10KKyMgMTAyIHd0LXN0YXR1cyAgIDM4IGFkZCAgICAgICAgIDIxIGNvbW1vbi1jbWRzICAgMyByZWZsb2cKKyMgIDc4IGNoZWNrb3V0ICAgIDM0IGNvbmZpZyAgICAgIDIxIFtybV0KKyMgIDc3IGxvZyAgICAgICAgIDMzIHJlc2V0ICAgICAgIDIxIG12CisjICA2OSBjbG9uZSAgICAgICAyOSBnaXQtc3Rhc2ggICAxMyBkaWZmCisjCisjID09PT09PT09PT09PT09PT09PT09PT09PQorIyBXSE9MRSBTVEFUSVNUSUNTIHN0cmluZ3Mgb3JkZXJpbmcKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIDE0NCByZW1vdGUgICAgICAgICAgIDU0IGdpdC1zdWJtb2R1bGUgIDI3IGxzLWZpbGVzICAgICAgICAxMiBwYXRoc3BlYyAgICAgICAgIDggcmVwbGFjZSAgICAgICAgIDMgcHJ1bmUtcGFja2VkCisjIDEzNyBjb21taXQgICAgICAgICAgIDQ4IHB1c2ggICAgICAgICAgIDI3IGdpdC1yZWJhc2UgICAgICAxMiBuYW1lLXJldiAgICAgICAgIDggZ2l0LXB1bGwgICAgICAgIDMgcGFjay1yZWZzCisjIDExNSBicmFuY2ggICAgICAgICAgIDQxIGhlbHAgICAgICAgICAgIDI0IHJldmVydCAgICAgICAgICAxMiBnYyAgICAgICAgICAgICAgIDggZm10LW1lcmdlLW1zZyAgIDMgY291bnQtb2JqZWN0cworIyAxMTEgYXBwbHkgICAgICAgICAgICA0MCBwYWNrLW9iamVjdHMgICAyNCBtdiAgICAgICAgICAgICAgMTIgZnNjayAgICAgICAgICAgICA3IHN5bWJvbGljLXJlZiAgICAzIGNvbm5lY3RlZAorIyAxMDIgd3Qtc3RhdHVzICAgICAgICAzOSBpbml0LWRiICAgICAgICAyMSBybSAgICAgICAgICAgICAgMTIgY2hlY2tvdXQtaW5kZXggICA2IGdwZy1pbnRlcmZhY2UgICAzIGJpc2VjdC0taGVscGVyCisjIDEwMCBub3RlcyAgICAgICAgICAgIDM4IGFkZCAgICAgICAgICAgIDIxIGNvbW1vbi1jbWRzICAgICAxMSBkYXRlICAgICAgICAgICAgIDYgY2hlY2stYXR0ciAgICAgIDIgdmVyaWZ5LXRhZworIyAgOTcgbWVyZ2UgICAgICAgICAgICAzNSBhcmNoaXZlICAgICAgICAxOSBzaG93LWJyYW5jaCAgICAgMTEgY29sdW1uICAgICAgICAgICA1IHdyaXRlLXRyZWUgICAgICAyIHVwZGF0ZS1zZXJ2ZXItaW5mbworIyAgNzggY2hlY2tvdXQgICAgICAgICAzNCBjb25maWcgICAgICAgICAxOSByZWFkLXRyZWUgICAgICAgMTAgdXJsbWF0Y2ggICAgICAgICA1IHNoYTFfbmFtZSAgICAgICAyIHJ1bi1jb21tYW5kCisjICA3NyBsb2cgICAgICAgICAgICAgIDMzIHJlc2V0ICAgICAgICAgIDE5IGJ1bmRsZSAgICAgICAgICAxMCBzaG9ydGxvZyAgICAgICAgIDUgcmV2LXBhcnNlICAgICAgIDIgcmVyZXJlCisjICA2OSBjbG9uZSAgICAgICAgICAgIDMyIGNsZWFuICAgICAgICAgIDE3IHJlcGFjayAgICAgICAgICAxMCBtZXJnZS1maWxlICAgICAgIDUgcHJ1bmUgICAgICAgICAgIDIgb2JzdGFjaworIyAgNjggaW5kZXgtcGFjayAgICAgICAzMCBnaXQtYW0gICAgICAgICAxNiBwYXJzZS1vcHRpb25zICAgMTAgbWVyZ2UtYmFzZSAgICAgICA0IHdyYXBwZXIgICAgICAgICAyIGFkdmljZQorIyAgNjggZmV0Y2ggICAgICAgICAgICAzMCBkZXNjcmliZSAgICAgICAxNCBzdWJtb2R1bGUgICAgICAgMTAgbHMtdHJlZSAgICAgICAgICA0IG5vdGVzLXV0aWxzICAgICAxIHByZWNvbXBvc2VfdXRmOAorIyAgNjQgZ3JlcCAgICAgICAgICAgICAyOSBnaXQtc3Rhc2ggICAgICAxNCBzaG93LXJlZiAgICAgICAgMTAgaGFzaC1vYmplY3QgICAgICA0IG1rdHJlZSAgICAgICAgICAxIG9iamVjdAorIyAgNTggdGFnICAgICAgICAgICAgICAyOSBnaXQtYmlzZWN0ICAgICAxNCBmYXN0LWV4cG9ydCAgICAgMTAgZm9yLWVhY2gtcmVmICAgICA0IGNoZWNrLW1haWxtYXAgICAxIGdpdAorIyAgNTYgc2VxdWVuY2VyICAgICAgICAyOCB1cGRhdGUtaW5kZXggICAxMyBkaWZmICAgICAgICAgICAgMTAgY2F0LWZpbGUgICAgICAgICAzIHZlcmlmeS1wYWNrICAgICAxIGRpZmZjb3JlLW9yZGVyCisjICA1NSBtZXJnZS1yZWN1cnNpdmUgIDI4IGJsYW1lICAgICAgICAgIDEzIGNoZWNrLWlnbm9yZSAgICAgOSB1cGRhdGUtcmVmICAgICAgIDMgcmVmbG9nICAgICAgICAgIDEgYXR0cgorbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogZ2l0IG1hc3RlclxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE0LTAxLTE4IDA3OjQyKzA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE0LTAxLTI4IDE5OjA1KzAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IEFsZXhhbmRlciBTaG9wb3YgPGFzaEBrYW1iYW5hcmlhLm9yZz5cbiIKKyJMYW5ndWFnZS1UZWFtOiBCdWxnYXJpYW4gPGRpY3RAZnNhLWJnLm9yZz5cbiIKKyJMYW5ndWFnZTogYmdcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKKworIzogYWR2aWNlLmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaGludDogJS4qc1xuIgorbXNnc3RyICLQn9C+0LTRgdC60LDQt9C60LA6ICUuKnNcbiIKKworIy4KKyMuICogTWVzc2FnZSB1c2VkIGJvdGggd2hlbiAnZ2l0IGNvbW1pdCcgZmFpbHMgYW5kIHdoZW4KKyMuICogb3RoZXIgY29tbWFuZHMgZG9pbmcgYSBtZXJnZSBkby4KKyMuCisjOiBhZHZpY2UuYzo4NworbXNnaWQgIiIKKyJGaXggdGhlbSB1cCBpbiB0aGUgd29yayB0cmVlLFxuIgorImFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nIGFzXG4iCisiYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uIGFuZCBtYWtlIGEgY29tbWl0LFxuIgorIm9yIHVzZSAnZ2l0IGNvbW1pdCAtYScuIgorbXNnc3RyICIiCisi0KDQtdC00LDQutGC0LjRgNCw0LnRgtC1INCz0Lgg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4sXG4iCisi0Lgg0YLQvtCz0LDQstCwINC/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgYWRkL3JtIDxmaWxlPuKAnCxcbiIKKyLQt9CwINC00LAg0L7RgtCx0LXQu9C10LbQuNGC0LUg0LrQvtGA0LjQs9C40YDQsNC90LXRgtC+INC40Lwg0Lgg0LPQuFxuIgorItC/0L7QtNCw0LTQtdGC0LUg0LjQu9C4INC/0YDQvtGB0YLQviDQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IGNvbW1pdCAtYeKAnC4iCisKKyM6IGFyY2hpdmUuYzoxMAorbXNnaWQgImdpdCBhcmNoaXZlIFtvcHRpb25zXSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgorbXNnc3RyICIiCisKKyM6IGFyY2hpdmUuYzoxMQorbXNnaWQgImdpdCBhcmNoaXZlIC0tbGlzdCIKK21zZ3N0ciAiIgorCisjOiBhcmNoaXZlLmM6MTIKK21zZ2lkICIiCisiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIFtvcHRpb25zXSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgorbXNnc3RyICIiCisKKyM6IGFyY2hpdmUuYzoxMworbXNnaWQgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSAtLWxpc3QiCittc2dzdHIgIiIKKworIzogYXJjaGl2ZS5jOjI0MiBidWlsdGluL2FkZC5jOjI0MCBidWlsdGluL2FkZC5jOjU1OSBidWlsdGluL3JtLmM6MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiCittc2dzdHIgItC/0YrRgtGP0YIg4oCeJXPigJwg0L3QtSDRgdGK0LLQv9Cw0LTQsCDRgSDQvdC40LrQvtC5INGE0LDQudC7IgorCisjOiBhcmNoaXZlLmM6MzI3Cittc2dpZCAiZm10IgorbXNnc3RyICIiCisKKyM6IGFyY2hpdmUuYzozMjcKK21zZ2lkICJhcmNoaXZlIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBhcmNoaXZlLmM6MzI4IGJ1aWx0aW4vbG9nLmM6MTE5MworbXNnaWQgInByZWZpeCIKK21zZ3N0ciAiIgorCisjOiBhcmNoaXZlLmM6MzI5Cittc2dpZCAicHJlcGVuZCBwcmVmaXggdG8gZWFjaCBwYXRobmFtZSBpbiB0aGUgYXJjaGl2ZSIKK21zZ3N0ciAiIgorCisjOiBhcmNoaXZlLmM6MzMwIGJ1aWx0aW4vYXJjaGl2ZS5jOjg4IGJ1aWx0aW4vYmxhbWUuYzoyMjY1CisjOiBidWlsdGluL2JsYW1lLmM6MjI2NiBidWlsdGluL2NvbmZpZy5jOjU4IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODIgYnVpbHRpbi9ncmVwLmM6NzE2IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3NworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NiBidWlsdGluL2xzLWZpbGVzLmM6NDg5IGJ1aWx0aW4vbm90ZXMuYzo0MDgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDggcGFyc2Utb3B0aW9ucy5oOjE1NAorbXNnaWQgImZpbGUiCittc2dzdHIgItGE0LDQudC7IgorCisjOiBhcmNoaXZlLmM6MzMxIGJ1aWx0aW4vYXJjaGl2ZS5jOjg5Cittc2dpZCAid3JpdGUgdGhlIGFyY2hpdmUgdG8gdGhpcyBmaWxlIgorbXNnc3RyICIiCisKKyM6IGFyY2hpdmUuYzozMzMKK21zZ2lkICJyZWFkIC5naXRhdHRyaWJ1dGVzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IGFyY2hpdmUuYzozMzQKK21zZ2lkICJyZXBvcnQgYXJjaGl2ZWQgZmlsZXMgb24gc3RkZXJyIgorbXNnc3RyICIiCisKKyM6IGFyY2hpdmUuYzozMzUKK21zZ2lkICJzdG9yZSBvbmx5IgorbXNnc3RyICIiCisKKyM6IGFyY2hpdmUuYzozMzYKK21zZ2lkICJjb21wcmVzcyBmYXN0ZXIiCittc2dzdHIgIiIKKworIzogYXJjaGl2ZS5jOjM0NAorbXNnaWQgImNvbXByZXNzIGJldHRlciIKK21zZ3N0ciAiIgorCisjOiBhcmNoaXZlLmM6MzQ3Cittc2dpZCAibGlzdCBzdXBwb3J0ZWQgYXJjaGl2ZSBmb3JtYXRzIgorbXNnc3RyICIiCisKKyM6IGFyY2hpdmUuYzozNDkgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjg0Cittc2dpZCAicmVwbyIKK21zZ3N0ciAiIgorCisjOiBhcmNoaXZlLmM6MzUwIGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCittc2dpZCAicmV0cmlldmUgdGhlIGFyY2hpdmUgZnJvbSByZW1vdGUgcmVwb3NpdG9yeSA8cmVwbz4iCittc2dzdHIgIiIKKworIzogYXJjaGl2ZS5jOjM1MSBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDg3Cittc2dpZCAiY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBhcmNoaXZlLmM6MzUyIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCittc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IGF0dHIuYzoyNTkKK21zZ2lkICIiCisiTmVnYXRpdmUgcGF0dGVybnMgYXJlIGlnbm9yZWQgaW4gZ2l0IGF0dHJpYnV0ZXNcbiIKKyJVc2UgJ1xcIScgZm9yIGxpdGVyYWwgbGVhZGluZyBleGNsYW1hdGlvbi4iCittc2dzdHIgIiIKKworIzogYnJhbmNoLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgYnJhbmNoICVzIGFzIGl0cyBvd24gdXBzdHJlYW0uIgorbXNnc3RyICIiCisKKyM6IGJyYW5jaC5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAlcyBzZXQgdXAgdG8gdHJhY2sgcmVtb3RlIGJyYW5jaCAlcyBmcm9tICVzIGJ5IHJlYmFzaW5nLiIKK21zZ3N0ciAiIgorCisjOiBicmFuY2guYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJCcmFuY2ggJXMgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJXMgZnJvbSAlcy4iCittc2dzdHIgIiIKKworIzogYnJhbmNoLmM6ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayBsb2NhbCBicmFuY2ggJXMgYnkgcmViYXNpbmcuIgorbXNnc3RyICIiCisKKyM6IGJyYW5jaC5jOjg4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAlcyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgYnJhbmNoICVzLiIKK21zZ3N0ciAiIgorCisjOiBicmFuY2guYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJCcmFuY2ggJXMgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSByZWYgJXMgYnkgcmViYXNpbmcuIgorbXNnc3RyICIiCisKKyM6IGJyYW5jaC5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAlcyBzZXQgdXAgdG8gdHJhY2sgcmVtb3RlIHJlZiAlcy4iCittc2dzdHIgIiIKKworIzogYnJhbmNoLmM6OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayBsb2NhbCByZWYgJXMgYnkgcmViYXNpbmcuIgorbXNnc3RyICIiCisKKyM6IGJyYW5jaC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAlcyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgcmVmICVzLiIKK21zZ3N0ciAiIgorCisjOiBicmFuY2guYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJhY2tpbmcgbm90IHNldCB1cDogbmFtZSB0b28gbG9uZzogJXMiCittc2dzdHIgIiIKKworIzogYnJhbmNoLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCB0cmFja2luZzogYW1iaWd1b3VzIGluZm9ybWF0aW9uIGZvciByZWYgJXMiCittc2dzdHIgIiIKKworIzogYnJhbmNoLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgYnJhbmNoIG5hbWUuIgorbXNnc3RyICIiCisKKyM6IGJyYW5jaC5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJBIGJyYW5jaCBuYW1lZCAnJXMnIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiIgorCisjOiBicmFuY2guYzoxOTUKK21zZ2lkICJDYW5ub3QgZm9yY2UgdXBkYXRlIHRoZSBjdXJyZW50IGJyYW5jaC4iCittc2dzdHIgIiIKKworIzogYnJhbmNoLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBzZXR1cCB0cmFja2luZyBpbmZvcm1hdGlvbjsgc3RhcnRpbmcgcG9pbnQgJyVzJyBpcyBub3QgYSBicmFuY2guIgorbXNnc3RyICIiCisKKyM6IGJyYW5jaC5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcmVxdWVzdGVkIHVwc3RyZWFtIGJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIiCisKKyM6IGJyYW5jaC5jOjIxOQorbXNnaWQgIiIKKyJcbiIKKyJJZiB5b3UgYXJlIHBsYW5uaW5nIG9uIGJhc2luZyB5b3VyIHdvcmsgb24gYW4gdXBzdHJlYW1cbiIKKyJicmFuY2ggdGhhdCBhbHJlYWR5IGV4aXN0cyBhdCB0aGUgcmVtb3RlLCB5b3UgbWF5IG5lZWQgdG9cbiIKKyJydW4gXCJnaXQgZmV0Y2hcIiB0byByZXRyaWV2ZSBpdC5cbiIKKyJcbiIKKyJJZiB5b3UgYXJlIHBsYW5uaW5nIHRvIHB1c2ggb3V0IGEgbmV3IGxvY2FsIGJyYW5jaCB0aGF0XG4iCisid2lsbCB0cmFjayBpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LCB5b3UgbWF5IHdhbnQgdG8gdXNlXG4iCisiXCJnaXQgcHVzaCAtdVwiIHRvIHNldCB0aGUgdXBzdHJlYW0gY29uZmlnIGFzIHlvdSBwdXNoLiIKK21zZ3N0ciAiIgorCisjOiBicmFuY2guYzoyNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcycuIgorbXNnc3RyICIiCisKKyM6IGJyYW5jaC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJBbWJpZ3VvdXMgb2JqZWN0IG5hbWU6ICclcycuIgorbXNnc3RyICIiCisKKyM6IGJyYW5jaC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgorbXNnc3RyICIiCisKKyM6IGJyYW5jaC5jOjI5NQorbXNnaWQgIkZhaWxlZCB0byBsb2NrIHJlZiBmb3IgdXBkYXRlIgorbXNnc3RyICIiCisKKyM6IGJyYW5jaC5jOjMxMworbXNnaWQgIkZhaWxlZCB0byB3cml0ZSByZWYiCittc2dzdHIgIiIKKworIzogYnVuZGxlLmM6MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBkb2VzIG5vdCBsb29rIGxpa2UgYSB2MiBidW5kbGUgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidW5kbGUuYzo2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgaGVhZGVyOiAlcyVzICglZCkiCittc2dzdHIgIiIKKworIzogYnVuZGxlLmM6OTAgYnVpbHRpbi9jb21taXQuYzo3MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidW5kbGUuYzoxNDEKK21zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIHRoZXNlIHByZXJlcXVpc2l0ZSBjb21taXRzOiIKK21zZ3N0ciAiIgorCisjOiBidW5kbGUuYzoxNjUgc2VxdWVuY2VyLmM6NjYyIHNlcXVlbmNlci5jOjExMTIgYnVpbHRpbi9sb2cuYzozMzIKKyM6IGJ1aWx0aW4vbG9nLmM6ODIxIGJ1aWx0aW4vbG9nLmM6MTQxOCBidWlsdGluL2xvZy5jOjE2NDQgYnVpbHRpbi9tZXJnZS5jOjM1NworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE1OAorbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGJ1bmRsZS5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoaXMgcmVmOiIKK21zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGVzZSAlZCByZWZzOiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1bmRsZS5jOjE5NAorbXNnaWQgIlRoZSBidW5kbGUgcmVjb3JkcyBhIGNvbXBsZXRlIGhpc3RvcnkuIgorbXNnc3RyICIiCisKKyM6IGJ1bmRsZS5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoaXMgcmVmOiIKK21zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGVzZSAlZCByZWZzOiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1bmRsZS5jOjI5NgorbXNnaWQgInJldi1saXN0IGRpZWQiCittc2dzdHIgIiIKKworIzogYnVuZGxlLmM6MzAyIGJ1aWx0aW4vbG9nLmM6MTMyOSBidWlsdGluL3Nob3J0bG9nLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCittc2dzdHIgIiIKKworIzogYnVuZGxlLmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZiAnJXMnIGlzIGV4Y2x1ZGVkIGJ5IHRoZSByZXYtbGlzdCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IGJ1bmRsZS5jOjM4MgorbXNnaWQgIlJlZnVzaW5nIHRvIGNyZWF0ZSBlbXB0eSBidW5kbGUuIgorbXNnc3RyICIiCisKKyM6IGJ1bmRsZS5jOjM5OAorbXNnaWQgIkNvdWxkIG5vdCBzcGF3biBwYWNrLW9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVuZGxlLmM6NDE2Cittc2dpZCAicGFjay1vYmplY3RzIGRpZWQiCittc2dzdHIgIiIKKworIzogYnVuZGxlLmM6NDE5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidW5kbGUuYzo0NDEKK21zZ2lkICJpbmRleC1wYWNrIGRpZWQiCittc2dzdHIgIiIKKworIzogY29tbWl0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlICVzIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIGlzIG5vdCBhIGNvbW1pdCEiCittc2dzdHIgIiIKKworIzogY29tcGF0L29ic3RhY2suYzo0MDYgY29tcGF0L29ic3RhY2suYzo0MDgKK21zZ2lkICJtZW1vcnkgZXhoYXVzdGVkIgorbXNnc3RyICIiCisKKyM6IGNvbm5lY3RlZC5jOjcwCittc2dpZCAiQ291bGQgbm90IHJ1biAnZ2l0IHJldi1saXN0JyIKK21zZ3N0ciAiIgorCisjOiBjb25uZWN0ZWQuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgd3JpdGUgdG8gcmV2LWxpc3Q6ICVzIgorbXNnc3RyICIiCisKKyM6IGNvbm5lY3RlZC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjbG9zZSByZXYtbGlzdCdzIHN0ZGluOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkYXRlLmM6OTUKK21zZ2lkICJpbiB0aGUgZnV0dXJlIgorbXNnc3RyICIiCisKKyM6IGRhdGUuYzoxMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IHNlY29uZCBhZ28iCittc2dpZF9wbHVyYWwgIiVsdSBzZWNvbmRzIGFnbyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGRhdGUuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IG1pbnV0ZSBhZ28iCittc2dpZF9wbHVyYWwgIiVsdSBtaW51dGVzIGFnbyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGRhdGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGhvdXIgYWdvIgorbXNnaWRfcGx1cmFsICIlbHUgaG91cnMgYWdvIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGF0ZS5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgZGF5IGFnbyIKK21zZ2lkX3BsdXJhbCAiJWx1IGRheXMgYWdvIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGF0ZS5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgd2VlayBhZ28iCittc2dpZF9wbHVyYWwgIiVsdSB3ZWVrcyBhZ28iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBkYXRlLmM6MTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBtb250aCBhZ28iCittc2dpZF9wbHVyYWwgIiVsdSBtb250aHMgYWdvIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGF0ZS5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgeWVhciIKK21zZ2lkX3BsdXJhbCAiJWx1IHllYXJzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGF0ZS5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcywgJWx1IG1vbnRoIGFnbyIKK21zZ2lkX3BsdXJhbCAiJXMsICVsdSBtb250aHMgYWdvIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGF0ZS5jOjE1NCBkYXRlLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSB5ZWFyIGFnbyIKK21zZ2lkX3BsdXJhbCAiJWx1IHllYXJzIGFnbyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGRpZmZjb3JlLW9yZGVyLmM6MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgb3JkZXJmaWxlICclcyciCittc2dzdHIgIiIKKworIzogZGlmZi5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyVzJ1xuIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biB2YWx1ZSBmb3IgJ2RpZmYuc3VibW9kdWxlJyBjb25maWcgdmFyaWFibGU6ICclcyciCittc2dzdHIgIiIKKworIzogZGlmZi5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6MzUwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmFpbGVkIHRvIHBhcnNlIC0tZGlyc3RhdC8tWCBvcHRpb24gcGFyYW1ldGVyOlxuIgorIiVzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzozNTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGdwZy1pbnRlcmZhY2UuYzo1OSBncGctaW50ZXJmYWNlLmM6MTMxCittc2dpZCAiY291bGQgbm90IHJ1biBncGcuIgorbXNnc3RyICIiCisKKyM6IGdwZy1pbnRlcmZhY2UuYzo3MQorbXNnaWQgImdwZyBkaWQgbm90IGFjY2VwdCB0aGUgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBncGctaW50ZXJmYWNlLmM6ODIKK21zZ2lkICJncGcgZmFpbGVkIHRvIHNpZ24gdGhlIGRhdGEiCittc2dzdHIgIiIKKworIzogZ3BnLWludGVyZmFjZS5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlICclcyc6ICVzIgorbXNnc3RyICIiCisKKyM6IGdwZy1pbnRlcmZhY2UuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHdyaXRpbmcgZGV0YWNoZWQgc2lnbmF0dXJlIHRvICclcyc6ICVzIgorbXNnc3RyICIiCisKKyM6IGdyZXAuYzoxNjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcyc6IHVuYWJsZSB0byByZWFkICVzIgorbXNnc3RyICIiCisKKyM6IGdyZXAuYzoxNzEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcyc6ICVzIgorbXNnc3RyICIiCisKKyM6IGdyZXAuYzoxNzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcyc6IHNob3J0IHJlYWQgJXMiCittc2dzdHIgIiIKKworIzogaGVscC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJhdmFpbGFibGUgZ2l0IGNvbW1hbmRzIGluICclcyciCittc2dzdHIgItC90LDQu9C40YfQvdC4INC60L7QvNCw0L3QtNC4INC90LAgZ2l0INC+0YIg4oCeJXPigJwiCisKKyM6IGhlbHAuYzoyMTcKK21zZ2lkICJnaXQgY29tbWFuZHMgYXZhaWxhYmxlIGZyb20gZWxzZXdoZXJlIG9uIHlvdXIgJFBBVEgiCittc2dzdHIgItC60L7QvNCw0L3QtNC4INC90LAgZ2l0INC+0YIg0LTRgNGD0LPQuCDQtNC40YDQtdC60YLQvtGA0LjQuCDQvtGCINC/0YrRgtGPIOKAniRQQVRI4oCcIgorCisjOiBoZWxwLmM6MjMzCittc2dpZCAiVGhlIG1vc3QgY29tbW9ubHkgdXNlZCBnaXQgY29tbWFuZHMgYXJlOiIKK21zZ3N0ciAi0J3QsNC5LdGH0LXRgdGC0L4g0YPQv9C+0YLRgNC10LHRj9Cy0LDQvdC40YLQtSDQutC+0LzQsNC90LTQuCDQvdCwIGdpdCDRgdCwOiIKKworIzogaGVscC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJyVzJyBhcHBlYXJzIHRvIGJlIGEgZ2l0IGNvbW1hbmQsIGJ1dCB3ZSB3ZXJlIG5vdFxuIgorImFibGUgdG8gZXhlY3V0ZSBpdC4gTWF5YmUgZ2l0LSVzIGlzIGJyb2tlbj8iCittc2dzdHIgIiIKKyLQmNC30LPQu9C10LbQtNCwLCDRh9C1IOKAniVz4oCcINC1INC60L7QvNCw0L3QtNCwINC90LAgZ2l0LCDQvdC+INGC0Y8g0L3QtSDQvNC+0LbQtSDQtNCwXG4iCisi0LHRitC00LUg0LjQt9C/0YrQu9C90LXQvdCwLiDQktC10YDQvtGP0YLQvdC+INC/0LDQutC10YLRitGCIOKAnmdpdC0lc+KAnCDQtSDQv9C+0LLRgNC10LTQtdC9LiIKKworIzogaGVscC5jOjM0NworbXNnaWQgIlVoIG9oLiBZb3VyIHN5c3RlbSByZXBvcnRzIG5vIEdpdCBjb21tYW5kcyBhdCBhbGwuIgorbXNnc3RyICLQodGC0YDQsNC90L3Qviwg0LjQt9Cz0LvQtdC20LTQsCwg0YfQtSDQvdCwINGB0LjRgdGC0LXQvNCw0YLQsCDQstC4INC90Y/QvNCwINC90LjRgtC+INC10LTQvdCwINC60L7QvNCw0L3QtNCwINC90LAgZ2l0LiIKKworIzogaGVscC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogWW91IGNhbGxlZCBhIEdpdCBjb21tYW5kIG5hbWVkICclcycsIHdoaWNoIGRvZXMgbm90IGV4aXN0LlxuIgorIkNvbnRpbnVpbmcgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB5b3UgbWVhbnQgJyVzJyIKK21zZ3N0ciAiIgorItCf0KDQldCU0KPQn9Cg0JXQltCU0JXQndCY0JU6INCf0YDQvtCx0LLQsNGF0YLQtSDQtNCwINC40LfQv9GK0LvQvdC40YLQtSDQutC+0LzQsNC90LTQsCDQvdCwIEdpdCDQvdCwINC40LzQtSDigJ4lc+KAnCwg0LAg0YLQsNC60LDQstCwICIKKyLQvdC1XG4iCisi0YHRitGJ0LXRgdGC0LLRg9Cy0LAuINCY0LfQv9GK0LvQvdC10L3QuNC10YLQviDQsNCy0YLQvtC80LDRgtC40YfQvdC+INC/0YDQvtC00YrQu9C20LDQstCwLCDQutCw0YLQviDRgdC1INGB0YfQuNGC0LAsINGH0LUg0LjQvNCw0YLQtSAiCisi0L/RgNC10LTQstC40LQg4oCeJXPigJwiCisKKyM6IGhlbHAuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW4gJTAuMWYgc2Vjb25kcyBhdXRvbWF0aWNhbGx5Li4uIgorbXNnc3RyICLRgdC70LXQtCAlMC4xZiDRgdC10LrRg9C90LTQuOKApiIKKworIzogaGVscC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQ6ICclcycgaXMgbm90IGEgZ2l0IGNvbW1hbmQuIFNlZSAnZ2l0IC0taGVscCcuIgorbXNnc3RyICJnaXQ6IOKAniVz4oCcINC90LUg0LUg0LrQvtC80LDQvdC00LAg0L3QsCBnaXQuINCS0LjQttGC0LUg0LjQt9GF0L7QtNCwINC+0YIg4oCeZ2l0IC0taGVscOKAnC4iCisKKyM6IGhlbHAuYzozODUgaGVscC5jOjQ0NAorbXNnaWQgIiIKKyJcbiIKKyJEaWQgeW91IG1lYW4gdGhpcz8iCittc2dpZF9wbHVyYWwgIiIKKyJcbiIKKyJEaWQgeW91IG1lYW4gb25lIG9mIHRoZXNlPyIKK21zZ3N0clswXSAiIgorIlxuIgorItCa0L7QvNCw0L3QtNCwINGBINC/0L7QtNC+0LHQvdC+INC40LzQtSDQtToiCittc2dzdHJbMV0gIiIKKyJcbiIKKyLQmtC+0LzQsNC90LTQuCDRgSDQv9C+0LTQvtCx0L3QviDQuNC80LUg0YHQsDoiCisKKyM6IGhlbHAuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIC0gJXMiCittc2dzdHIgIiVzOiAlcyDigJQgJXMiCisKKyM6IG1lcmdlLmM6NTYKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCittc2dzdHIgIiIKKworIzogbWVyZ2UuYzoxMTAgYnVpbHRpbi9jaGVja291dC5jOjM1OCBidWlsdGluL2NoZWNrb3V0LmM6NTU5CisjOiBidWlsdGluL2Nsb25lLmM6NjYxCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIoYmFkIGNvbW1pdClcbiIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWRkaW5mb19jYWNoZSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyNjkKK21zZ2lkICJlcnJvciBidWlsZGluZyB0cmVlcyIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo2NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwYXRoICclcyclcyIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo2ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtb3ZpbmcgJXMgdG8gbWFrZSByb29tIGZvciBzdWJkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjLiBzb21ldGhpbmcgZWxzZSBleGlzdHMKKyMuIC4uIGJ1dCBub3Qgc29tZSBvdGhlciBlcnJvciAod2hvIHJlYWxseSBjYXJlcyB3aGF0PykKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjY5OCBtZXJnZS1yZWN1cnNpdmUuYzo3MTkKK21zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcwOQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICclcyciCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyAnJXMnIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc1MQorIywgYy1mb3JtYXQKK21zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc3NCBidWlsdGluL2Nsb25lLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzgyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzeW1saW5rICclcyciCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBrbm93IHdoYXQgdG8gZG8gd2l0aCAlMDZvICVzICclcyciCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTIzCittc2dpZCAiRmFpbGVkIHRvIGV4ZWN1dGUgaW50ZXJuYWwgbWVyZ2UiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBhZGQgJXMgdG8gZGF0YWJhc2UiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTQzCittc2dpZCAidW5zdXBwb3J0ZWQgb2JqZWN0IHR5cGUgaW4gdGhlIHRyZWUiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAyMiBtZXJnZS1yZWN1cnNpdmUuYzoxMDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCisiaW4gdHJlZS4iCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAyOCBtZXJnZS1yZWN1cnNpdmUuYzoxMDQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCisiaW4gdHJlZSBhdCAlcy4iCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA4MgorbXNnaWQgInJlbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgyIHd0LXN0YXR1cy5jOjI4MworbXNnaWQgInJlbmFtZWQiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhIGRpcmVjdG9yeSBpbiAlcyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSBcIiVzXCItPlwiJXNcIiBpbiBicmFuY2ggXCIlc1wiIHJlbmFtZSBcIiVzIgorIlwiLT5cIiVzXCIgaW4gXCIlc1wiJXMiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE2NQorbXNnaWQgIiAobGVmdCB1bnJlc29sdmVkKSIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzIGFuZCAlcyB0byAlcyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAlcyBhZGRlZCBpbiAlcyIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDU4CisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBtZXJnZWQgJXMiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ2MyBtZXJnZS1yZWN1cnNpdmUuYzoxNjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBhcyAlcyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0ICVzIGlzIG5vdCBhIGJsb2IiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU2NQorbXNnaWQgIm1vZGlmeSIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTY1IHd0LXN0YXR1cy5jOjI4MQorbXNnaWQgIm1vZGlmaWVkIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NzUKK21zZ2lkICJjb250ZW50IgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1ODIKK21zZ2lkICJhZGQvYWRkIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBlZCAlcyAobWVyZ2VkIHNhbWUgYXMgZXhpc3RpbmcpIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXV0by1tZXJnaW5nICVzIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzQgZ2l0LXN1Ym1vZHVsZS5zaDoxMTQ4Cittc2dpZCAic3VibW9kdWxlIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcyNQorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1vdmluZyAlcyIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzUwCittc2dpZCAiZmlsZS9kaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc1NgorbXNnaWQgImRpcmVjdG9yeS9maWxlIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKCVzKTogVGhlcmUgaXMgYSBkaXJlY3Rvcnkgd2l0aCBuYW1lICVzIGluICVzLiBBZGRpbmcgJXMgYXMgJXMiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgJXMiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc4OAorbXNnaWQgIkZhdGFsIG1lcmdlIGZhaWx1cmUsIHNob3VsZG4ndCBoYXBwZW4uIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MDcKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUhIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAibWVyZ2luZyBvZiB0cmVlcyAlcyBhbmQgJXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5wcm9jZXNzZWQgcGF0aD8/PyAlcyIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODkxCittc2dpZCAiTWVyZ2luZzoiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkwNAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3I6IgorbXNnaWRfcGx1cmFsICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3JzOiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5NDEKK21zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTk5OAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAxMCBidWlsdGluL21lcmdlLmM6NjY1Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGluZGV4LiIKK21zZ3N0ciAiIgorCisjOiBub3Rlcy11dGlscy5jOjQwCittc2dpZCAiQ2Fubm90IGNvbW1pdCB1bmluaXRpYWxpemVkL3VucmVmZXJlbmNlZCBub3RlcyB0cmVlIgorbXNnc3RyICIiCisKKyM6IG5vdGVzLXV0aWxzLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIG5vdGVzLnJld3JpdGVNb2RlIHZhbHVlOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IG5vdGVzLXV0aWxzLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gcmV3cml0ZSBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyB0aGUgbmFtZSBvZiB0aGUKKyMuIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgc2Vjb25kICVzIGlzIGl0cyB2YWx1ZQorIzogbm90ZXMtdXRpbHMuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkICVzIHZhbHVlOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IG9iamVjdC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2Ugb2JqZWN0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBwYXJzZS1vcHRpb25zLmM6NTM3Cittc2dpZCAiLi4uIgorbXNnc3RyICLigKYiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNhZ2U6ICVzIgorbXNnc3RyICLRg9C/0L7RgtGA0LXQsdCwOiAlcyIKKworIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiBoZXJlIHNob3VsZCBhbGlnbiB3aXRoIHRoZQorIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uCisjOiBwYXJzZS1vcHRpb25zLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIG9yOiAlcyIKK21zZ3N0ciAiICAgICDQuNC70Lg6ICVzIgorCisjOiBwYXJzZS1vcHRpb25zLmM6NTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAlcyIKK21zZ3N0ciAiICAgICVzIgorCisjOiBwYXJzZS1vcHRpb25zLmM6NTk2Cittc2dpZCAiLU5VTSIKK21zZ3N0ciAiLdCn0JjQodCb0J4iCisKKyM6IHBhdGhzcGVjLmM6MTMzCittc2dpZCAiZ2xvYmFsICdnbG9iJyBhbmQgJ25vZ2xvYicgcGF0aHNwZWMgc2V0dGluZ3MgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjE0MworbXNnaWQgIiIKKyJnbG9iYWwgJ2xpdGVyYWwnIHBhdGhzcGVjIHNldHRpbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIGdsb2JhbCAiCisicGF0aHNwZWMgc2V0dGluZ3MiCittc2dzdHIgIiIKKworIzogcGF0aHNwZWMuYzoxNzcKK21zZ2lkICJpbnZhbGlkIHBhcmFtZXRlciBmb3IgcGF0aHNwZWMgbWFnaWMgJ3ByZWZpeCciCittc2dzdHIgIiIKKworIzogcGF0aHNwZWMuYzoxODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXRoc3BlYyBtYWdpYyAnJS4qcycgaW4gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJNaXNzaW5nICcpJyBhdCB0aGUgZW5kIG9mIHBhdGhzcGVjIG1hZ2ljIGluICclcyciCittc2dzdHIgIiIKKworIzogcGF0aHNwZWMuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pbXBsZW1lbnRlZCBwYXRoc3BlYyBtYWdpYyAnJWMnIGluICclcyciCittc2dzdHIgIiIKKworIzogcGF0aHNwZWMuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICdsaXRlcmFsJyBhbmQgJ2dsb2InIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKworIzogcGF0aHNwZWMuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgorbXNnc3RyICIiCisKKyM6IHBhdGhzcGVjLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKK21zZ3N0ciAiIgorCisjLgorIy4gKiBXZSBtYXkgd2FudCB0byBzdWJzdGl0dXRlICJ0aGlzIGNvbW1hbmQiIHdpdGggYSBjb21tYW5kCisjLiAqIG5hbWUuIEUuZy4gd2hlbiBhZGQtLWludGVyYWN0aXZlIGRpZXMgd2hlbiBydW5uaW5nCisjLiAqICJjaGVja291dCAtcCIKKyMuCisjOiBwYXRoc3BlYy5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGF0aHNwZWMgbWFnaWMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvbW1hbmQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHBhdGhzcGVjLmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjQ0MgorbXNnaWQgIiIKKyJUaGVyZSBpcyBub3RoaW5nIHRvIGV4Y2x1ZGUgZnJvbSBieSA6KGV4Y2x1ZGUpIHBhdHRlcm5zLlxuIgorIlBlcmhhcHMgeW91IGZvcmdvdCB0byBhZGQgZWl0aGVyICc6Lycgb3IgJy4nID8iCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6NzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBmZXRjaCBib3RoICVzIGFuZCAlcyB0byAlcyIKK21zZ3N0ciAi0J3QtdCy0YrQt9C80L7QttC90L4g0LUg0LTQsCDRgdC1INC00L7RgdGC0LDQstGP0YIg0LXQtNC90L7QstGA0LXQvNC10L3QvdC+INC4IOKAniVz4oCcLCDQuCDigJ4lc+KAnCDQutGK0Lwg4oCeJXPigJwiCisKKyM6IHJlbW90ZS5jOjc1NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c3VhbGx5IHRyYWNrcyAlcywgbm90ICVzIgorbXNnc3RyICLigJ4lc+KAnCDQvtCx0LjQutC90L7QstC10L3QviDRgdC70LXQtNC4IOKAniVz4oCcLCDQsCDQvdC1IOKAniVz4oCcIgorCisjOiByZW1vdGUuYzo3NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdHJhY2tzIGJvdGggJXMgYW5kICVzIgorbXNnc3RyICLigJ4lc+KAnCDRgdC70LXQtNC4INC60LDQutGC0L4g4oCeJXPigJwsINGC0LDQutCwINC4IOKAniVz4oCcIgorCisjLgorIy4gKiBUaGlzIGxhc3QgcG9zc2liaWxpdHkgZG9lc24ndCBvY2N1ciBiZWNhdXNlCisjLiAqIEZFVENIX0hFQURfSUdOT1JFIGVudHJpZXMgYWx3YXlzIGFwcGVhciBhdAorIy4gKiB0aGUgZW5kIG9mIHRoZSBsaXN0LgorIy4KKyM6IHJlbW90ZS5jOjc2OQorbXNnaWQgIkludGVybmFsIGVycm9yIgorbXNnc3RyICLQktGK0YLRgNC10YjQvdCwINCz0YDQtdGI0LrQsCIKKworIzogcmVtb3RlLmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIGJyYW5jaCBpcyBiYXNlZCBvbiAnJXMnLCBidXQgdGhlIHVwc3RyZWFtIGlzIGdvbmUuXG4iCittc2dzdHIgItCi0L7Qt9C4INC60LvQvtC9INGB0LvQtdC00Lgg4oCeJXPigJwsINC90L4g0YHQu9C10LTQtdC90LjRj9GCINC60LvQvtC9INC1INC40LfRgtGA0LjRgi5cbiIKKworIzogcmVtb3RlLmM6MTg3NQorbXNnaWQgIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIgorbXNnc3RyICIgICjQt9CwINC00LAg0LrQvtGA0LjQs9C40YDQsNGC0LUg0YLQvtCy0LAg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW3igJwpXG4iCisKKyM6IHJlbW90ZS5jOjE4NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91ciBicmFuY2ggaXMgdXAtdG8tZGF0ZSB3aXRoICclcycuXG4iCittc2dzdHIgItCa0LvQvtC90YrRgiDQtSDQsNC60YLRg9Cw0LvQuNC30LjRgNCw0L0g0LrQsNC60YLQviDigJ4lc+KAnC5cbiIKKworIzogcmVtb3RlLmM6MTg4MgorIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdC5cbiIKK21zZ2lkX3BsdXJhbCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXRzLlxuIgorbXNnc3RyWzBdICLQmtC70L7QvdGK0YIg0LLQuCDQtSDRgSAlMiRkINC/0L7QtNCw0LLQsNC90LUg0L/RgNC10LQg4oCeJTEkc+KAnC5cbiIKK21zZ3N0clsxXSAi0JrQu9C+0L3RitGCINCy0Lgg0LUg0YEgJTIkZCDQv9C+0LTQsNCy0LDQvdC40Y8g0L/RgNC10LQg4oCeJTEkc+KAnC5cbiIKKworIzogcmVtb3RlLmM6MTg4OAorbXNnaWQgIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iCittc2dzdHIgIiAgKNC/0YPQsdC70LjQutGD0LLQsNC50YLQtSDQu9C+0LrQsNC70L3QuNGC0LUg0YHQuCDQv9GA0L7QvNC10L3QuCDRh9GA0LXQtyDigJ5naXQgcHVzaOKAnClcbiIKKworIzogcmVtb3RlLmM6MTg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIGJyYW5jaCBpcyBiZWhpbmQgJyVzJyBieSAlZCBjb21taXQsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCittc2dpZF9wbHVyYWwgIiIKKyJZb3VyIGJyYW5jaCBpcyBiZWhpbmQgJyVzJyBieSAlZCBjb21taXRzLCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgorbXNnc3RyWzBdICIiCisi0JrQu9C+0L3RitGCINCy0Lgg0LUg0YEgJTIkZCDQv9C+0LTQsNCy0LDQvdC1INGB0LvQtdC0IOKAniUxJHPigJwg0Lgg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgtGA0LjQstC40LDQu9C90L4g0YHQu9GP0YIuXG4iCittc2dzdHJbMV0gIiIKKyLQmtC70L7QvdGK0YIg0LLQuCDQtSDRgSAlMiRkINC/0L7QtNCw0LLQsNC90LjRjyDRgdC70LXQtCDigJ4lMSRz4oCcINC4INC80L7QttC1INC00LAg0LHRitC00LUg0YLRgNC40LLQuNCw0LvQvdC+INGB0LvRj9GCLlxuIgorCisjOiByZW1vdGUuYzoxODk5Cittc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byB1cGRhdGUgeW91ciBsb2NhbCBicmFuY2gpXG4iCittc2dzdHIgIiAgKNC+0LHQvdC+0LLQtdGC0LUg0LvQvtC60LDQu9C90LjRjyDRgdC4INC60LvQvtC9INGH0YDQtdC3IOKAnmdpdCBwdWxs4oCcKVxuIgorCisjOiByZW1vdGUuYzoxOTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgorImFuZCBoYXZlICVkIGFuZCAlZCBkaWZmZXJlbnQgY29tbWl0IGVhY2gsIHJlc3BlY3RpdmVseS5cbiIKK21zZ2lkX3BsdXJhbCAiIgorIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCisiYW5kIGhhdmUgJWQgYW5kICVkIGRpZmZlcmVudCBjb21taXRzIGVhY2gsIHJlc3BlY3RpdmVseS5cbiIKK21zZ3N0clswXSAiIgorItCi0LXQutGD0YnQuNGP0YIg0LrQu9C+0L0g0YHQtSDQtSDQvtGC0LTQtdC70LjQuyDQvtGCIOKAniVz4oCcLFxuIgorItC00LLQsNGC0LAg0LjQvNCw0YIg0YHRitC+0YLQstC10YLQvdC+INC/0L4gJWQg0LggJWQg0L3QtdGB0YrQstC/0LDQtNCw0YnQuCDQv9C+0LTQsNCy0LDQvdC40Y8uXG4iCittc2dzdHJbMV0gIiIKKyLQotC10LrRg9GJ0LjRj9GCINC60LvQvtC9INGB0LUg0LUg0L7RgtC00LXQu9C40Lsg0L7RgiDigJ4lc+KAnCxcbiIKKyLQtNCy0LDRgtCwINC40LzQsNGCINGB0YrQvtGC0LLQtdGC0L3QviDQv9C+ICVkINC4ICVkINC90LXRgdGK0LLQv9Cw0LTQsNGJ0Lgg0L/QvtC00LDQstCw0L3QuNGPLlxuIgorCisjOiByZW1vdGUuYzoxOTEyCittc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgorbXNnc3RyICIgICjRgdC70LXQudGC0LUg0L7RgtC00LDQu9C10YfQtdC90LjRjyDQutC70L7QvSDQsiDQu9C+0LrQsNC70L3QuNGPINGH0YDQtdC3IOKAnmdpdCBwdWxs4oCcKVxuIgorCisjOiBydW4tY29tbWFuZC5jOjgwCittc2dpZCAib3BlbiAvZGV2L251bGwgZmFpbGVkIgorbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0L7RgtCy0LDRgNGP0L3QtSDQvdCwIOKAni9kZXYvbnVsbOKAnCIKKworIzogcnVuLWNvbW1hbmQuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICJkdXAyKCVkLCVkKSBmYWlsZWQiCittc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwIGR1cDIoJWQsJWQpIgorCisjOiBzZXF1ZW5jZXIuYzoyMDYgYnVpbHRpbi9tZXJnZS5jOjc4MyBidWlsdGluL21lcmdlLmM6ODk2CisjOiBidWlsdGluL21lcmdlLmM6MTAwNiBidWlsdGluL21lcmdlLmM6MTAxNgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjIwOCBidWlsdGluL21lcmdlLmM6MzQzIGJ1aWx0aW4vbWVyZ2UuYzo3ODYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDA4IGJ1aWx0aW4vbWVyZ2UuYzoxMDIxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjIyOQorbXNnaWQgIiIKKyJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCisid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjIzMgorbXNnaWQgIiIKKyJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCisid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nXG4iCisiYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggJ2dpdCBjb21taXQnIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjI0NSBzZXF1ZW5jZXIuYzo4NzAgc2VxdWVuY2VyLmM6OTUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXJyb3Igd3JhcHBpbmcgdXAgJXMiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MjYzCittc2dpZCAiWW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZXJyeS1waWNrLiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyNjUKK21zZ2lkICJZb3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgcmV2ZXJ0LiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyNjgKK21zZ2lkICJDb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIgb3IgImNoZXJyeS1waWNrIgorIzogc2VxdWVuY2VyLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MzU2Cittc2dpZCAiQ291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXRcbiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozNzgKK21zZ2lkICJVbmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWVcbiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo0MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjQyOAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjQ5NAorbXNnaWQgIllvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJNYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSAicmV2ZXJ0IiBvcgorIy4gImNoZXJyeS1waWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEKKyM6IHNlcXVlbmNlci5jOjUzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6NTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmV2ZXJ0ICVzLi4uICVzIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjYyOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6NjY1Cittc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjY3OAorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90ICVzIGR1cmluZyBhICVzIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjc1OAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcGFyc2UgbGluZSAlZC4iCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6NzYzCittc2dpZCAiTm8gY29tbWl0cyBwYXJzZWQuIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiAlcyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo3ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHJlYWQgJXMuIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjc4NworIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJXMiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6ODE1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQga2V5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjgzMAorIywgYy1mb3JtYXQKK21zZ2lkICJNYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJXMiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6ODUxCittc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo4NTIKK21zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJXMiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6ODcyIHNlcXVlbmNlci5jOjk1NworIywgYy1mb3JtYXQKK21zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcy4iCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6ODkxIHNlcXVlbmNlci5jOjEwMjUKK21zZ2lkICJubyBjaGVycnktcGljayBvciByZXZlcnQgaW4gcHJvZ3Jlc3MiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6ODkzCittc2dpZCAiY2Fubm90IHJlc29sdmUgSEVBRCIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo4OTUKK21zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo5MTcgYnVpbHRpbi9hcHBseS5jOjQwNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjkyMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlczogJXMiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6OTIxCittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjk1MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZm9ybWF0ICVzLiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoxMDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjEwOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoxMTMwCittc2dpZCAiQ2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjExMzEKK21zZ2lkICJDYW4ndCBjaGVycnktcGljayBpbnRvIGVtcHR5IGhlYWQiCittc2dzdHIgIiIKKworIzogc2hhMV9uYW1lLmM6NDM5Cittc2dpZCAiIgorIkdpdCBub3JtYWxseSBuZXZlciBjcmVhdGVzIGEgcmVmIHRoYXQgZW5kcyB3aXRoIDQwIGhleCBjaGFyYWN0ZXJzXG4iCisiYmVjYXVzZSBpdCB3aWxsIGJlIGlnbm9yZWQgd2hlbiB5b3UganVzdCBzcGVjaWZ5IDQwLWhleC4gVGhlc2UgcmVmc1xuIgorIm1heSBiZSBjcmVhdGVkIGJ5IG1pc3Rha2UuIEZvciBleGFtcGxlLFxuIgorIlxuIgorIiAgZ2l0IGNoZWNrb3V0IC1iICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgorIlxuIgorIndoZXJlIFwiJGJyXCIgaXMgc29tZWhvdyBlbXB0eSBhbmQgYSA0MC1oZXggcmVmIGlzIGNyZWF0ZWQuIFBsZWFzZVxuIgorImV4YW1pbmUgdGhlc2UgcmVmcyBhbmQgbWF5YmUgZGVsZXRlIHRoZW0uIFR1cm4gdGhpcyBtZXNzYWdlIG9mZiBieVxuIgorInJ1bm5pbmcgXCJnaXQgY29uZmlnIGFkdmljZS5vYmplY3ROYW1lV2FybmluZyBmYWxzZVwiIgorbXNnc3RyICIiCisKKyM6IHNoYTFfbmFtZS5jOjExMDkKK21zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IHNoYTFfbmFtZS5jOjExMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gc3VjaCBicmFuY2g6ICclcyciCittc2dzdHIgIiIKKworIzogc2hhMV9uYW1lLmM6MTExNAorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzaGExX25hbWUuYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjY0IHN1Ym1vZHVsZS5jOjk4Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB1bm1lcmdlZCAuZ2l0bW9kdWxlcywgcmVzb2x2ZSBtZXJnZSBjb25mbGljdHMgZmlyc3QiCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6Njggc3VibW9kdWxlLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKK21zZ3N0ciAiIgorCisjLiBNYXliZSB0aGUgdXNlciBhbHJlYWR5IGRpZCB0aGF0LCBkb24ndCBlcnJvciBvdXQgaGVyZQorIzogc3VibW9kdWxlLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKK21zZ3N0ciAiIgorCisjLiBNYXliZSB0aGUgdXNlciBhbHJlYWR5IGRpZCB0aGF0LCBkb24ndCBlcnJvciBvdXQgaGVyZQorIzogc3VibW9kdWxlLmM6MTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgLmdpdG1vZHVsZXMgZW50cnkgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjEyNworbXNnaWQgImNvdWxkIG5vdCBmaW5kIC5naXRtb2R1bGVzIGluIGluZGV4IgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjEzMworbXNnaWQgInJlYWRpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MTM1Cittc2dpZCAidW5hYmxlIHRvIHN0YXQgdXBkYXRlZCAuZ2l0bW9kdWxlcyIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoxMzkKK21zZ2lkICJ1bmFibGUgdG8gcmVtb3ZlIC5naXRtb2R1bGVzIGZyb20gaW5kZXgiCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MTQxCittc2dpZCAiYWRkaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjE0MworbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MTE0NCBidWlsdGluL2luaXQtZGIuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBnaXQgbGluayAlcyIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBzZXQgY29yZS53b3JrdHJlZSBpbiAlcyIKK21zZ3N0ciAiIgorCisjOiB1cmxtYXRjaC5jOjEyMAorbXNnaWQgImludmFsaWQgVVJMIHNjaGVtZSBuYW1lIG9yIG1pc3NpbmcgJzovLycgc3VmZml4IgorbXNnc3RyICIiCisKKyM6IHVybG1hdGNoLmM6MTQ0IHVybG1hdGNoLmM6Mjk3IHVybG1hdGNoLmM6MzU2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgJVhYIGVzY2FwZSBzZXF1ZW5jZSIKK21zZ3N0ciAiIgorCisjOiB1cmxtYXRjaC5jOjE3MgorbXNnaWQgIm1pc3NpbmcgaG9zdCBhbmQgc2NoZW1lIGlzIG5vdCAnZmlsZTonIgorbXNnc3RyICIiCisKKyM6IHVybG1hdGNoLmM6MTg5Cittc2dpZCAiYSAnZmlsZTonIFVSTCBtYXkgbm90IGhhdmUgYSBwb3J0IG51bWJlciIKK21zZ3N0ciAiIgorCisjOiB1cmxtYXRjaC5jOjE5OQorbXNnaWQgImludmFsaWQgY2hhcmFjdGVycyBpbiBob3N0IG5hbWUiCittc2dzdHIgIiIKKworIzogdXJsbWF0Y2guYzoyNDQgdXJsbWF0Y2guYzoyNTUKK21zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHVybG1hdGNoLmM6MzIyCittc2dpZCAiaW52YWxpZCAnLi4nIHBhdGggc2VnbWVudCIKK21zZ3N0ciAiIgorCisjOiB3cmFwcGVyLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJzogJXMiCittc2dzdHIgIiIKKworIzogd3JhcHBlci5jOjQ0MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyciCittc2dzdHIgIiIKKworIzogd3JhcHBlci5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gbG9vayB1cCBjdXJyZW50IHVzZXIgaW4gdGhlIHBhc3N3ZCBmaWxlOiAlcyIKK21zZ3N0ciAiIgorCisjOiB3cmFwcGVyLmM6NDU1Cittc2dpZCAibm8gc3VjaCB1c2VyIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjE1MAorbXNnaWQgIlVubWVyZ2VkIHBhdGhzOiIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxNzcgd3Qtc3RhdHVzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgKHVzZSBcImdpdCByZXNldCAlcyA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxNzkgd3Qtc3RhdHVzLmM6MjA2Cittc2dpZCAiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjE4MworbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxODUgd3Qtc3RhdHVzLmM6MTg5Cittc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjE4NworbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjE5OAorbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoyMTYKK21zZ2lkICJDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MjIwCittc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MjIyCittc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MjIzCittc2dpZCAiIgorIiAgKHVzZSBcImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjIyNQorbXNnaWQgIiAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MjU0Cittc2dpZCAiYnVnIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjI1OQorbXNnaWQgImJvdGggZGVsZXRlZDoiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MjYwCittc2dpZCAiYWRkZWQgYnkgdXM6IgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjI2MQorbXNnaWQgImRlbGV0ZWQgYnkgdGhlbToiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MjYyCittc2dpZCAiYWRkZWQgYnkgdGhlbToiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MjYzCittc2dpZCAiZGVsZXRlZCBieSB1czoiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MjY0Cittc2dpZCAiYm90aCBhZGRlZDoiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MjY1Cittc2dpZCAiYm90aCBtb2RpZmllZDoiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6Mjc1Cittc2dpZCAibmV3IGZpbGUiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6Mjc3Cittc2dpZCAiY29waWVkIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjI3OQorbXNnaWQgImRlbGV0ZWQiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6Mjg1Cittc2dpZCAidHlwZWNoYW5nZSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoyODcKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjI4OQorbXNnaWQgInVubWVyZ2VkIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjMzNgorbXNnaWQgIm5ldyBjb21taXRzLCAiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MzM4Cittc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjM0MAorbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MzU3CisjLCBjLWZvcm1hdAorbXNnaWQgImJ1ZzogdW5oYW5kbGVkIGRpZmYgc3RhdHVzICVjIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjczMgorbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjczNAorbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6ODM2Cittc2dpZCAiIgorIkRvIG5vdCB0b3VjaCB0aGUgbGluZSBhYm92ZS5cbiIKKyJFdmVyeXRoaW5nIGJlbG93IHdpbGwgYmUgcmVtb3ZlZC4iCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6ODk5Cittc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjkwMgorbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjb21taXRcIikiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6OTA1Cittc2dpZCAiQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLiIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzo5MDgKK21zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0XCIgdG8gY29uY2x1ZGUgbWVyZ2UpIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjkxOAorbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLiIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzo5MjEKK21zZ2lkICJUaGUgY3VycmVudCBwYXRjaCBpcyBlbXB0eS4iCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6OTI1Cittc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzo5MjcKK21zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzo5MjkKK21zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6OTg5IHd0LXN0YXR1cy5jOjEwMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6OTk0IHd0LXN0YXR1cy5jOjEwMTEKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6OTk3Cittc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6OTk5Cittc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjEwMDEKK21zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiB0byBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTAxNAorbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMDE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTAyMworbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjEwMjYKK21zZ2lkICIgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTAzNQorbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMDM4Cittc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMDQwCittc2dpZCAiIgorIiAgKHVzZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjEwNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICVzLiIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMDU1Cittc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTA1OAorbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjEwNjAKK21zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJldmVydGluZyBjb21taXQgJXMuIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjEwNzQKK21zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTA3NworbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMDc5Cittc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMDkwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMDk0Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMDk3Cittc2dpZCAiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjEyNzIKK21zZ2lkICJPbiBicmFuY2ggIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjEyNzkKK21zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjEyODYKK21zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMjg4Cittc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMjkxCittc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMzA4Cittc2dpZCAiSW5pdGlhbCBjb21taXQiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTMyMgorbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMzI0Cittc2dpZCAiSWdub3JlZCBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCisibWF5IHNwZWVkIGl0IHVwLCBidXQgeW91IGhhdmUgdG8gYmUgY2FyZWZ1bCBub3QgdG8gZm9yZ2V0IHRvIGFkZFxuIgorIm5ldyBmaWxlcyB5b3Vyc2VsZiAoc2VlICdnaXQgaGVscCBzdGF0dXMnKS4iCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjEzMzYKK21zZ2lkICIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjEzNDIKK21zZ2lkICJObyBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjEzNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTM1MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdFxuIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjEzNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKKyJ0cmFjaylcbiIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMzU2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjEzNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTM2MiB3dC1zdGF0dXMuYzoxMzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0XG4iCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKVxuIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjEzNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgZGlyZWN0b3J5IGNsZWFuXG4iCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTQ3OAorbXNnaWQgIkhFQUQgKG5vIGJyYW5jaCkiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTQ4NAorbXNnaWQgIkluaXRpYWwgY29tbWl0IG9uICIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxNTE0Cittc2dpZCAiZ29uZSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxNTE2Cittc2dpZCAiYmVoaW5kICIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxNTE5IHd0LXN0YXR1cy5jOjE1MjIKK21zZ2lkICJhaGVhZCAiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTUyNAorbXNnaWQgIiwgYmVoaW5kICIKK21zZ3N0ciAiIgorCisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTUgYnVpbHRpbi9jbG9uZS5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzoyMAorbXNnaWQgImdpdCBhZGQgW29wdGlvbnNdIFstLV0gPHBhdGhzcGVjPi4uLiIKK21zZ3N0ciAiIgorCisjLgorIy4gKiBUbyBiZSBjb25zaXN0ZW50IHdpdGggImdpdCBhZGQgLXAiIGFuZCBtb3N0IEdpdAorIy4gKiBjb21tYW5kcywgd2Ugc2hvdWxkIGRlZmF1bHQgdG8gYmVpbmcgdHJlZS13aWRlLCBidXQKKyMuICogdGhpcyBpcyBub3QgdGhlIG9yaWdpbmFsIGJlaGF2aW9yIGFuZCBjYW4ndCBiZQorIy4gKiBjaGFuZ2VkIHVudGlsIHVzZXJzIHRyYWluZWQgdGhlbXNlbHZlcyBub3QgdG8gdHlwZQorIy4gKiAiZ2l0IGFkZCAtdSIgb3IgImdpdCBhZGQgLUEiLiBGb3Igbm93LCB3ZSB3YXJuIGFuZAorIy4gKiBrZWVwIHRoZSBvbGQgYmVoYXZpb3IuIExhdGVyLCB0aGUgYmVoYXZpb3IgY2FuIGJlIGNoYW5nZWQKKyMuICogdG8gdHJlZS13aWRlLCBrZWVwaW5nIHRoZSB3YXJuaW5nIGZvciBhIHdoaWxlLCBhbmQKKyMuICogZXZlbnR1YWxseSB3ZSBjYW4gZHJvcCB0aGUgd2FybmluZy4KKyMuCisjOiBidWlsdGluL2FkZC5jOjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgYmVoYXZpb3Igb2YgJ2dpdCBhZGQgJXMgKG9yICVzKScgd2l0aCBubyBwYXRoIGFyZ3VtZW50IGZyb20gYVxuIgorInN1YmRpcmVjdG9yeSBvZiB0aGUgdHJlZSB3aWxsIGNoYW5nZSBpbiBHaXQgMi4wIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgIgorImFueW1vcmUuXG4iCisiVG8gYWRkIGNvbnRlbnQgZm9yIHRoZSB3aG9sZSB0cmVlLCBydW46XG4iCisiXG4iCisiICBnaXQgYWRkICVzIDovXG4iCisiICAob3IgZ2l0IGFkZCAlcyA6LylcbiIKKyJcbiIKKyJUbyByZXN0cmljdCB0aGUgY29tbWFuZCB0byB0aGUgY3VycmVudCBkaXJlY3RvcnksIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBhZGQgJXMgLlxuIgorIiAgKG9yIGdpdCBhZGQgJXMgLilcbiIKKyJcbiIKKyJXaXRoIHRoZSBjdXJyZW50IEdpdCB2ZXJzaW9uLCB0aGUgY29tbWFuZCBpcyByZXN0cmljdGVkIHRvIHRoZSBjdXJyZW50ICIKKyJkaXJlY3RvcnkuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSByYW4gJ2dpdCBhZGQnIHdpdGggbmVpdGhlciAnLUEgKC0tYWxsKScgb3IgJy0taWdub3JlLXJlbW92YWwnLFxuIgorIndob3NlIGJlaGF2aW91ciB3aWxsIGNoYW5nZSBpbiBHaXQgMi4wIHdpdGggcmVzcGVjdCB0byBwYXRocyB5b3UgcmVtb3ZlZC5cbiIKKyJQYXRocyBsaWtlICclcycgdGhhdCBhcmVcbiIKKyJyZW1vdmVkIGZyb20geW91ciB3b3JraW5nIHRyZWUgYXJlIGlnbm9yZWQgd2l0aCB0aGlzIHZlcnNpb24gb2YgR2l0LlxuIgorIlxuIgorIiogJ2dpdCBhZGQgLS1pZ25vcmUtcmVtb3ZhbCA8cGF0aHNwZWM+Jywgd2hpY2ggaXMgdGhlIGN1cnJlbnQgZGVmYXVsdCxcbiIKKyIgIGlnbm9yZXMgcGF0aHMgeW91IHJlbW92ZWQgZnJvbSB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKKyJcbiIKKyIqICdnaXQgYWRkIC0tYWxsIDxwYXRoc3BlYz4nIHdpbGwgbGV0IHlvdSBhbHNvIHJlY29yZCB0aGUgcmVtb3ZhbHMuXG4iCisiXG4iCisiUnVuICdnaXQgc3RhdHVzJyB0byBjaGVjayB0aGUgcGF0aHMgeW91IHJlbW92ZWQgZnJvbSB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGRpZmYgc3RhdHVzICVjIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MTQ5IGJ1aWx0aW4vY29tbWl0LmM6MjYwCittc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92ZSAnJXMnXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzoyMzcKK21zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjI5OQorbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjMxNAorbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzIxCittc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzM3Cittc2dpZCAiVGhlIGZvbGxvd2luZyBwYXRocyBhcmUgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzU0IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9mZXRjaC5jOjkzIGJ1aWx0aW4vbXYuYzo3MAorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3NyBidWlsdGluL3B1c2guYzo1MDYgYnVpbHRpbi9yZW1vdGUuYzoxMzQ0CisjOiBidWlsdGluL3JtLmM6MjY5Cittc2dpZCAiZHJ5IHJ1biIKK21zZ3N0ciAi0L/RgNC+0LHQvdC+INC40LfQv9GK0LvQvWXQvdC40LUiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzU1IGJ1aWx0aW4vYXBwbHkuYzo0NDEwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI0OSBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NSBidWlsdGluL2ZzY2suYzo2MTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5MiBidWlsdGluL212LmM6NjkgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTMKK21zZ2lkICJiZSB2ZXJib3NlIgorbXNnc3RyICLQv9C+0LLQtdGH0LUg0L/QvtC00YDQvtCx0L3QvtGB0YLQuCIKKworIzogYnVpbHRpbi9hZGQuYzozNTcKK21zZ2lkICJpbnRlcmFjdGl2ZSBwaWNraW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzU4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA5IGJ1aWx0aW4vcmVzZXQuYzoyNzIKK21zZ2lkICJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjM1OQorbXNnaWQgImVkaXQgY3VycmVudCBkaWZmIGFuZCBhcHBseSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjM2MAorbXNnaWQgImFsbG93IGFkZGluZyBvdGhlcndpc2UgaWdub3JlZCBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjM2MQorbXNnaWQgInVwZGF0ZSB0cmFja2VkIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzYyCittc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzYzCittc2dpZCAiYWRkIGNoYW5nZXMgZnJvbSBhbGwgdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgorbXNnc3RyICIiCisKKyMuIHRha2VzIG5vIGFyZ3VtZW50cworIzogYnVpbHRpbi9hZGQuYzozNjYKK21zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjM2OAorbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjM2OQorbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzozNzAKK21zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzozOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjM5MworbXNnaWQgIm5vIGZpbGVzIGFkZGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6Mzk5Cittc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjQzOAorbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDU2Cittc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3RoaW5nIHNwZWNpZmllZCwgbm90aGluZyBhZGRlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjQ5MiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NsZWFuLmM6OTE5CisjOiBidWlsdGluL2NvbW1pdC5jOjMyMCBidWlsdGluL212LmM6OTAgYnVpbHRpbi9yZXNldC5jOjIyNCBidWlsdGluL3JtLmM6Mjk5Cittc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgorbXNnc3RyICLRhNCw0LnQu9GK0YIg0YEg0LjQvdC00LXQutGB0LAg0LUg0L/QvtCy0YDQtdC00LXQvSIKKworIzogYnVpbHRpbi9hZGQuYzo1OTIgYnVpbHRpbi9hcHBseS5jOjQ1MDYgYnVpbHRpbi9tdi5jOjI3MCBidWlsdGluL3JtLmM6NDMyCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgorbXNnc3RyICLQndC+0LLQuNGP0YIg0YTQsNC50Lsg0YEg0LjQvdC00LXQutGB0LAg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9C40YHQsNC9IgorCisjOiBidWlsdGluL2FwcGx5LmM6NTcKK21zZ2lkICJnaXQgYXBwbHkgW29wdGlvbnNdIFs8cGF0Y2g+Li4uXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo4MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHByZXBhcmUgdGltZXN0YW1wIHJlZ2V4cCAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6ODMyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZ2V4ZWMgcmV0dXJuZWQgJWQgZm9yIGlucHV0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6OTEzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjk0NQorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjk0OQorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6OTUwCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo5NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwgb24gbGluZSAlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6MTQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvdW50OiB1bmV4cGVjdGVkIGxpbmU6ICUuKnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjE0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6MTQ5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCisiY29tcG9uZW50IChsaW5lICVkKSIKK21zZ2lkX3BsdXJhbCAiIgorImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgorImNvbXBvbmVudHMgKGxpbmUgJWQpIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjE2NTYKK21zZ2lkICJuZXcgZmlsZSBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6MTY1OAorbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjE2ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29ycnVwdCBwYXRjaCBhdCBsaW5lICVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzoxNzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzoxNzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjE3MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiKiogd2FybmluZzogZmlsZSAlcyBiZWNvbWVzIGVtcHR5IGJ1dCBpcyBub3QgZGVsZXRlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkOiAlLipzIgorbXNnc3RyICIiCisKKyMuIHRoZXJlIGhhcyB0byBiZSBvbmUgaHVuayAoZm9yd2FyZCBodW5rKQorIzogYnVpbHRpbi9hcHBseS5jOjE5MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzoxOTg2CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIHdpdGggb25seSBnYXJiYWdlIGF0IGxpbmUgJWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjIwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6MjA4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBvciByZWFkICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzoyNjg4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RhcnQgb2YgbGluZTogJyVjJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6MjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCittc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6MjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzoyODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgorIiUuKnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjI4NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6Mjk0NgorIywgYy1mb3JtYXQKK21zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6Mjk1MgorIywgYy1mb3JtYXQKK21zZ2lkICJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6Mjk3MworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6MzA5NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjMxNDAgYnVpbHRpbi9hcHBseS5jOjMxNDkgYnVpbHRpbi9hcHBseS5jOjMxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZCBvZiAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjMxNzQgYnVpbHRpbi9hcHBseS5jOjMzOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCAlcyBoYXMgYmVlbiByZW5hbWVkL2RlbGV0ZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjMyNTUgYnVpbHRpbi9hcHBseS5jOjM0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzozMjU5IGJ1aWx0aW4vYXBwbHkuYzozNDAyIGJ1aWx0aW4vYXBwbHkuYzozNDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6MzI2NCBidWlsdGluL2FwcGx5LmM6MzQxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgbWF0Y2ggaW5kZXgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjMzNjYKK21zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNDM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNDM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyB0eXBlICVvLCBleHBlY3RlZCAlbyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6MzUzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjM1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6MzU2NgorIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjM1NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNjgwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTMgYnVpbHRpbi9yZXNldC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzozODIzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6Mzg1MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjM4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjM4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjM4NjMgYnVpbHRpbi9hcHBseS5jOjM5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjM4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2luZyBmaWxlICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjM5NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJyVzJyBtb2RlICVvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgcGF0Y2ggJXMgY2xlYW5seS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjQwNDAKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiIgorCisjLiBTYXkgdGhpcyBldmVuIHdpdGhvdXQgLS12ZXJib3NlCisjOiBidWlsdGluL2FwcGx5LmM6NDA0MworIywgYy1mb3JtYXQKK21zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCittc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6NDA1MworIywgYy1mb3JtYXQKK21zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjQwNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6NDA3NworIywgYy1mb3JtYXQKK21zZ2lkICJSZWplY3RlZCBodW5rICMlZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjQyMjcKK21zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjQyMzgKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzU3IGJ1aWx0aW4vYXBwbHkuYzo0MzYwIGJ1aWx0aW4vY2xvbmUuYzo5MAorIzogYnVpbHRpbi9mZXRjaC5jOjc4Cittc2dpZCAicGF0aCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6NDM1OAorbXNnaWQgImRvbid0IGFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjQzNjEKK21zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzYzCittc2dpZCAibnVtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzY0Cittc2dpZCAicmVtb3ZlIDxudW0+IGxlYWRpbmcgc2xhc2hlcyBmcm9tIHRyYWRpdGlvbmFsIGRpZmYgcGF0aHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjQzNjcKK21zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzY5Cittc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBkaWZmc3RhdCBmb3IgdGhlIGlucHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzczCittc2dpZCAic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6NDM3NQorbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgYSBzdW1tYXJ5IGZvciB0aGUgaW5wdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjQzNzcKK21zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzc5Cittc2dpZCAibWFrZSBzdXJlIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBjdXJyZW50IGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzgxCittc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjQzODMKK21zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6NDM4NQorbXNnaWQgImF0dGVtcHQgdGhyZWUtd2F5IG1lcmdlIGlmIGEgcGF0Y2ggZG9lcyBub3QgYXBwbHkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjQzODcKK21zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6NDM4OSBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTk3IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTIKK21zZ2lkICJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6NDM5MgorIywgZnV6enkKK21zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCittc2dzdHIgIjzQsdGA0L7QuT4iCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzkzCittc2dpZCAiYWN0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzk0Cittc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjQzOTcgYnVpbHRpbi9hcHBseS5jOjQ0MDAKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0NDAzCittc2dpZCAiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjQ0MDUKK21zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6NDQwNworbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0NDA5Cittc2dpZCAiYWxsb3cgb3ZlcmxhcHBpbmcgaHVua3MiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjQ0MTIKK21zZ2lkICJ0b2xlcmF0ZSBpbmNvcnJlY3RseSBkZXRlY3RlZCBtaXNzaW5nIG5ldy1saW5lIGF0IHRoZSBlbmQgb2YgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6NDQxNQorbXNnaWQgImRvIG5vdCB0cnVzdCB0aGUgbGluZSBjb3VudHMgaW4gdGhlIGh1bmsgaGVhZGVycyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6NDQxNworbXNnaWQgInJvb3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjQ0MTgKK21zZ2lkICJwcmVwZW5kIDxyb290PiB0byBhbGwgZmlsZW5hbWVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0NDQwCittc2dpZCAiLS0zd2F5IG91dHNpZGUgYSByZXBvc2l0b3J5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0NDQ4Cittc2dpZCAiLS1pbmRleCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6NDQ1MQorbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0NDY3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FwcGx5LmM6NDQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3JzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYnVpbHRpbi9hcHBseS5jOjQ0ODcgYnVpbHRpbi9hcHBseS5jOjQ0OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgbGluZSBhZGRzIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYWRkIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjE3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgYXJjaGl2ZSBmaWxlICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcmNoaXZlLmM6MjAKK21zZ2lkICJjb3VsZCBub3QgcmVkaXJlY3Qgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjM3Cittc2dpZCAiZ2l0IGFyY2hpdmU6IFJlbW90ZSB3aXRoIG5vIFVSTCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FyY2hpdmUuYzo1OAorbXNnaWQgImdpdCBhcmNoaXZlOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgRU9GIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjYxCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcmNoaXZlOiBOQUNLICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjYzCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW90ZSBlcnJvcjogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcmNoaXZlLmM6NjQKK21zZ2lkICJnaXQgYXJjaGl2ZTogcHJvdG9jb2wgZXJyb3IiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcmNoaXZlLmM6NjgKK21zZ2lkICJnaXQgYXJjaGl2ZTogZXhwZWN0ZWQgYSBmbHVzaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NworbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLW5leHQtYWxsIFstLW5vLWNoZWNrb3V0XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTcKK21zZ2lkICJwZXJmb3JtICdnaXQgYmlzZWN0IG5leHQnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxOQorbXNnaWQgInVwZGF0ZSBCSVNFQ1RfSEVBRCBpbnN0ZWFkIG9mIGNoZWNraW5nIG91dCB0aGUgY3VycmVudCBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI3Cittc2dpZCAiZ2l0IGJsYW1lIFtvcHRpb25zXSBbcmV2LW9wdHNdIFtyZXZdIFstLV0gZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6MzIKK21zZ2lkICJbcmV2LW9wdHNdIGFyZSBkb2N1bWVudGVkIGluIGdpdC1yZXYtbGlzdCgxKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjI0OQorbXNnaWQgIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiCittc2dzdHIgIiIKKworIyBGSVhNRQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTAKK21zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjUxCittc2dpZCAiRG8gbm90IHRyZWF0IHJvb3QgY29tbWl0cyBhcyBib3VuZGFyaWVzIChEZWZhdWx0OiBvZmYpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjUyCittc2dpZCAiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjI1MworbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU0Cittc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjIyNTUKK21zZ2lkICJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjIyNTYKK21zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU3Cittc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU4Cittc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjI1OQorbXNnaWQgIlNob3cgcmF3IHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjI2MAorbXNnaWQgIlNob3cgbG9uZyBjb21taXQgU0hBMSAoRGVmYXVsdDogb2ZmKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjI2MQorbXNnaWQgIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjIyNjIKK21zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjIyNjMKK21zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjI2NAorbXNnaWQgIlNwZW5kIGV4dHJhIGN5Y2xlcyB0byBmaW5kIGJldHRlciBtYXRjaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjI2NQorbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjI2NgorbXNnaWQgIlVzZSA8ZmlsZT4ncyBjb250ZW50cyBhcyB0aGUgZmluYWwgaW1hZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjIyNjcgYnVpbHRpbi9ibGFtZS5jOjIyNjgKK21zZ2lkICJzY29yZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjI2NworbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjIyNjgKK21zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY5Cittc2dpZCAibixtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY5Cittc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzoyNAorbXNnaWQgImdpdCBicmFuY2ggW29wdGlvbnNdIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzoyNQorbXNnaWQgImdpdCBicmFuY2ggW29wdGlvbnNdIFstbF0gWy1mXSA8YnJhbmNobmFtZT4gWzxzdGFydC1wb2ludD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjYKK21zZ2lkICJnaXQgYnJhbmNoIFtvcHRpb25zXSBbLXJdICgtZCB8IC1EKSA8YnJhbmNobmFtZT4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzoyNworbXNnaWQgImdpdCBicmFuY2ggW29wdGlvbnNdICgtbSB8IC1NKSBbPG9sZGJyYW5jaD5dIDxuZXdicmFuY2g+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGhhcyBiZWVuIG1lcmdlZCB0b1xuIgorIiAgICAgICAgICclcycsIGJ1dCBub3QgeWV0IG1lcmdlZCB0byBIRUFELiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjE1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibm90IGRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaXMgbm90IHlldCBtZXJnZWQgdG9cbiIKKyIgICAgICAgICAnJXMnLCBldmVuIHRob3VnaCBpdCBpcyBtZXJnZWQgdG8gSEVBRC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgYnJhbmNoICclcycgaXMgbm90IGZ1bGx5IG1lcmdlZC5cbiIKKyJJZiB5b3UgYXJlIHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGl0LCBydW4gJ2dpdCBicmFuY2ggLUQgJXMnLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjE4NQorbXNnaWQgIlVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzoyMTMKK21zZ2lkICJjYW5ub3QgdXNlIC1hIHdpdGggLWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzoyMTkKK21zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yIEhFQUQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGRlbGV0ZSB0aGUgYnJhbmNoICclcycgd2hpY2ggeW91IGFyZSBjdXJyZW50bHkgb24uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW90ZSBicmFuY2ggJyVzJyBub3QgZm91bmQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgImJyYW5jaCAnJXMnIG5vdCBmb3VuZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXJyb3IgZGVsZXRpbmcgcmVtb3RlIGJyYW5jaCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkVycm9yIGRlbGV0aW5nIGJyYW5jaCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRlbGV0ZWQgcmVtb3RlIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjI2NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZWxldGVkIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBwb2ludCBhdCBhIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICJbJXM6IGdvbmVdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlslc10iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiWyVzOiBiZWhpbmQgJWRdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIltiZWhpbmQgJWRdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlslczogYWhlYWQgJWRdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlthaGVhZCAlZF0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiWyVzOiBhaGVhZCAlZCwgYmVoaW5kICVkXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ3OAorIywgYy1mb3JtYXQKK21zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo1MDIKK21zZ2lkICIgKioqKiBpbnZhbGlkIHJlZiAqKioqIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiKGRldGFjaGVkIGZyb20gJXMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAzCittc2dpZCAiKG5vIGJyYW5jaCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0ICclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2ODEKK21zZ2lkICJzb21lIHJlZnMgY291bGQgbm90IGJlIHJlYWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2OTQKK21zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjcwNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGJyYW5jaCBuYW1lOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzE5Cittc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo3MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVuYW1lZCBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIGF3YXkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJhbmNoIHJlbmFtZWQgdG8gJXMsIGJ1dCBIRUFEIGlzIG5vdCB1cGRhdGVkISIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjczNAorbXNnaWQgIkJyYW5jaCBpcyByZW5hbWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo3NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlIGJyYW5jaCBkZXNjcmlwdGlvbiB0ZW1wbGF0ZTogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo4MDMKK21zZ2lkICJHZW5lcmljIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo4MDUKK21zZ2lkICJzaG93IGhhc2ggYW5kIHN1YmplY3QsIGdpdmUgdHdpY2UgZm9yIHVwc3RyZWFtIGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjgwNgorbXNnaWQgInN1cHByZXNzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo4MDcKK21zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjgwOQorbXNnaWQgImNoYW5nZSB1cHN0cmVhbSBpbmZvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODEzCittc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE0Cittc2dpZCAiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjgxNyBidWlsdGluL2JyYW5jaC5jOjgyMyBidWlsdGluL2JyYW5jaC5jOjg0NAorIzogYnVpbHRpbi9icmFuY2guYzo4NTAgYnVpbHRpbi9jb21taXQuYzoxNDYwIGJ1aWx0aW4vY29tbWl0LmM6MTQ2MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDYyIGJ1aWx0aW4vY29tbWl0LmM6MTQ2MyBidWlsdGluL3RhZy5jOjQ2OAorbXNnaWQgImNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjgxOCBidWlsdGluL2JyYW5jaC5jOjgyNAorbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo4MzAKK21zZ2lkICJTcGVjaWZpYyBnaXQtYnJhbmNoIGFjdGlvbnM6IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMxCittc2dpZCAibGlzdCBib3RoIHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo4MzMKK21zZ2lkICJkZWxldGUgZnVsbHkgbWVyZ2VkIGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjgzNAorbXNnaWQgImRlbGV0ZSBicmFuY2ggKGV2ZW4gaWYgbm90IG1lcmdlZCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo4MzUKK21zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjgzNgorbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo4MzcKK21zZ2lkICJsaXN0IGJyYW5jaCBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjgzOAorbXNnaWQgImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQwCittc2dpZCAiZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo4NDEKK21zZ2lkICJmb3JjZSBjcmVhdGlvbiAod2hlbiBhbHJlYWR5IGV4aXN0cykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo4NDQKK21zZ2lkICJwcmludCBvbmx5IG5vdCBtZXJnZWQgYnJhbmNoZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo4NTAKK21zZ2lkICJwcmludCBvbmx5IG1lcmdlZCBicmFuY2hlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjg1NAorbXNnaWQgImxpc3QgYnJhbmNoZXMgaW4gY29sdW1ucyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjg2NworbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODcyIGJ1aWx0aW4vY2xvbmUuYzo2MzUKK21zZ2lkICJIRUFEIG5vdCBmb3VuZCBiZWxvdyByZWZzL2hlYWRzISIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjg5NgorbXNnaWQgIi0tY29sdW1uIGFuZCAtLXZlcmJvc2UgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjkwMiBidWlsdGluL2JyYW5jaC5jOjk0MQorbXNnaWQgImJyYW5jaCBuYW1lIHJlcXVpcmVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTE3Cittc2dpZCAiQ2Fubm90IGdpdmUgZGVzY3JpcHRpb24gdG8gZGV0YWNoZWQgSEVBRCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjkyMgorbXNnaWQgImNhbm5vdCBlZGl0IGRlc2NyaXB0aW9uIG9mIG1vcmUgdGhhbiBvbmUgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIGNvbW1pdCBvbiBicmFuY2ggJyVzJyB5ZXQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIGJyYW5jaCBuYW1lZCAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjk0NworbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIGZvciBhIHJlbmFtZSBvcGVyYXRpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo5NTIKK21zZ2lkICJ0b28gbWFueSBicmFuY2hlcyB0byBzZXQgbmV3IHVwc3RyZWFtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb3VsZCBub3Qgc2V0IHVwc3RyZWFtIG9mIEhFQUQgdG8gJXMgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjk1OSBidWlsdGluL2JyYW5jaC5jOjk4MSBidWlsdGluL2JyYW5jaC5jOjEwMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCBicmFuY2ggJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjk2MworIywgYy1mb3JtYXQKK21zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjk3NQorbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHVuc2V0IHVwc3RyZWFtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTc5Cittc2dpZCAiY291bGQgbm90IHVuc2V0IHVwc3RyZWFtIG9mIEhFQUQgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjk4NQorIywgYy1mb3JtYXQKK21zZ2lkICJCcmFuY2ggJyVzJyBoYXMgbm8gdXBzdHJlYW0gaW5mb3JtYXRpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo5OTkKK21zZ2lkICJpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNyZWF0ZSAnSEVBRCcgbWFudWFsbHkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzoxMDA1Cittc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSAtLXNldC11cHN0cmVhbSBmbGFnIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gQ29uc2lkZXIgdXNpbmcgLS0iCisidHJhY2sgb3IgLS1zZXQtdXBzdHJlYW0tdG9cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjEwMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIklmIHlvdSB3YW50ZWQgdG8gbWFrZSAnJXMnIHRyYWNrICclcycsIGRvIHRoaXM6XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzoxMDI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICBnaXQgYnJhbmNoIC1kICVzXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzoxMDI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvICVzXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9idW5kbGUuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBva2F5XG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9idW5kbGUuYzo1NgorbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIGNyZWF0ZSBhIGJ1bmRsZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9idW5kbGUuYzo2MAorbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6MzI4Cittc2dpZCAiZ2l0IGNhdC1maWxlICgtdHwtc3wtZXwtcHw8dHlwZT58LS10ZXh0Y29udikgPG9iamVjdD4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyOQorbXNnaWQgImdpdCBjYXQtZmlsZSAoLS1iYXRjaHwtLWJhdGNoLWNoZWNrKSA8IDxsaXN0X29mX29iamVjdHM+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNjYKK21zZ2lkICI8dHlwZT4gY2FuIGJlIG9uZSBvZjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM2NworbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM2OAorbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM3MAorbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6MzcxCittc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM3MworbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biB0ZXh0Y29udiBvbiBvYmplY3QncyBjb250ZW50IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNzUKK21zZ2lkICJzaG93IGluZm8gYW5kIGNvbnRlbnQgb2Ygb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM3OAorbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMQorbXNnaWQgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgYXR0ci4uLl0gWy0tXSBwYXRobmFtZS4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMgorbXNnaWQgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IGF0dHIuLi5dIDwgPGxpc3Qtb2YtcGF0aHM+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjE5Cittc2dpZCAicmVwb3J0IGFsbCBhdHRyaWJ1dGVzIHNldCBvbiBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIwCittc2dpZCAidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6NzUKK21zZ2lkICJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI0Cittc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTA5MCBidWlsdGluL2djLmM6MjYwCittc2dpZCAic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIgorbXNnc3RyICLQsdC10Lcg0L/QvtC60LDQt9Cy0LDQvdC1INC90LAg0L3QsNC/0YDQtdC00YrQutCwIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI2Cittc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOAorbXNnaWQgImlnbm9yZSBpbmRleCB3aGVuIGNoZWNraW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU0Cittc2dpZCAiY2Fubm90IHNwZWNpZnkgcGF0aG5hbWVzIHdpdGggLS1zdGRpbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NworbXNnaWQgIi16IG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCAtLXN0ZGluIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU5Cittc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjMKK21zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NQorbXNnaWQgImNhbm5vdCBoYXZlIGJvdGggLS1xdWlldCBhbmQgLS12ZXJib3NlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY4Cittc2dpZCAiLS1ub24tbWF0Y2hpbmcgaXMgb25seSB2YWxpZCB3aXRoIC0tdmVyYm9zZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo4Cittc2dpZCAiZ2l0IGNoZWNrLW1haWxtYXAgW29wdGlvbnNdIDxjb250YWN0Pi4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoxMworbXNnaWQgImFsc28gcmVhZCBjb250YWN0cyBmcm9tIHN0ZGluIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjI0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb250YWN0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo0NworbXNnaWQgIm5vIGNvbnRhY3RzIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTI2Cittc2dpZCAiZ2l0IGNoZWNrb3V0LWluZGV4IFtvcHRpb25zXSBbLS1dIFs8ZmlsZT4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxODcKK21zZ2lkICJjaGVjayBvdXQgYWxsIGZpbGVzIGluIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTg4Cittc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGV4aXN0aW5nIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxOTAKK21zZ2lkICJubyB3YXJuaW5nIGZvciBleGlzdGluZyBmaWxlcyBhbmQgZmlsZXMgbm90IGluIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxOTIKK21zZ2lkICJkb24ndCBjaGVja291dCBuZXcgZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE5NAorbXNnaWQgInVwZGF0ZSBzdGF0IGluZm9ybWF0aW9uIGluIHRoZSBpbmRleCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoyMDAKK21zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjIwMgorbXNnaWQgIndyaXRlIHRoZSBjb250ZW50IHRvIHRlbXBvcmFyeSBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MjAzIGJ1aWx0aW4vY29sdW1uLmM6MzAKK21zZ2lkICJzdHJpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjIwNAorbXNnaWQgIndoZW4gY3JlYXRpbmcgZmlsZXMsIHByZXBlbmQgPHN0cmluZz4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjIwNworbXNnaWQgImNvcHkgb3V0IHRoZSBmaWxlcyBmcm9tIG5hbWVkIHN0YWdlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNQorbXNnaWQgImdpdCBjaGVja291dCBbb3B0aW9uc10gPGJyYW5jaD4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjI2Cittc2dpZCAiZ2l0IGNoZWNrb3V0IFtvcHRpb25zXSBbPGJyYW5jaD5dIC0tIDxmaWxlPi4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjExNiBidWlsdGluL2NoZWNrb3V0LmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIHRoZWlyIHZlcnNpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBhbGwgbmVjZXNzYXJ5IHZlcnNpb25zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgbmVjZXNzYXJ5IHZlcnNpb25zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCAnJXMnOiBjYW5ub3QgbWVyZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjMyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzUgYnVpbHRpbi9jaGVja291dC5jOjIzOAorIzogYnVpbHRpbi9jaGVja291dC5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggdXBkYXRpbmcgcGF0aHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjI0NCBidWlsdGluL2NoZWNrb3V0LmM6MjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYxIGJ1aWx0aW4vY2hlY2tvdXQuYzo0NTEKK21zZ2lkICJjb3JydXB0IGluZGV4IGZpbGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjMyMiBidWlsdGluL2NoZWNrb3V0LmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJyBpcyB1bm1lcmdlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDczCittc2dpZCAieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjU5NAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJ1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MzIKK21zZ2lkICJIRUFEIGlzIG5vdyBhdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICJBbHJlYWR5IG9uICclcydcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDggYnVpbHRpbi9jaGVja291dC5jOjEwMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICclcydcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGVkIHRvIGJyYW5jaCAnJXMnXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjcwNgorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4uIGFuZCAlZCBtb3JlLlxuIgorbXNnc3RyICIiCisKKyMuIFRoZSBzaW5ndWxhciB2ZXJzaW9uCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgorImFueSBvZiB5b3VyIGJyYW5jaGVzOlxuIgorIlxuIgorIiVzXG4iCittc2dpZF9wbHVyYWwgIiIKKyJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0cyBiZWhpbmQsIG5vdCBjb25uZWN0ZWQgdG9cbiIKKyJhbnkgb2YgeW91ciBicmFuY2hlczpcbiIKKyJcbiIKKyIlc1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSWYgeW91IHdhbnQgdG8ga2VlcCB0aGVtIGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKKyJ0byBkbyBzbyB3aXRoOlxuIgorIlxuIgorIiBnaXQgYnJhbmNoIG5ld19icmFuY2hfbmFtZSAlc1xuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjAKK21zZ2lkICJpbnRlcm5hbCBlcnJvciBpbiByZXZpc2lvbiB3YWxrIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjQKK21zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzkxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDI4Cittc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCByZWZlcmVuY2U6ICVzIgorbXNnc3RyICIiCisKKyMuIGNhc2UgKDEpOiB3YW50IGEgdHJlZQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQyCittc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEwNDUgYnVpbHRpbi9jaGVja291dC5jOjEwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1MyBidWlsdGluL2NoZWNrb3V0LmM6MTA1NiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHN3aXRjaCBicmFuY2ggdG8gYSBub24tY29tbWl0ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTEgYnVpbHRpbi9jaGVja291dC5jOjEwOTMgYnVpbHRpbi9jbG9uZS5jOjg4CisjOiBidWlsdGluL3JlbW90ZS5jOjE1OSBidWlsdGluL3JlbW90ZS5jOjE2MQorbXNnaWQgImJyYW5jaCIKK21zZ3N0ciAi0LrQu9C+0L0iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkyCittc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTQKK21zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1Cittc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NgorbXNnaWQgImRldGFjaCB0aGUgSEVBRCBhdCBuYW1lZCBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTcKK21zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5OQorbXNnaWQgIm5ldyBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTkKK21zZ2lkICJuZXcgdW5wYXJlbnRlZCBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjExMDAKK21zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjExMDIKK21zZ2lkICJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNAorbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA1Cittc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjExMDYgYnVpbHRpbi9tZXJnZS5jOjIyNQorbXNnaWQgInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNyBidWlsdGluL2xvZy5jOjEyMjggcGFyc2Utb3B0aW9ucy5oOjI0OAorbXNnaWQgInN0eWxlIgorbXNnc3RyICLRgdGC0LjQuyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjExMDgKK21zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTExCittc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTEzCittc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgbm8tc3VjaC1icmFuY2gnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM2Cittc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUzCittc2dpZCAiLS10cmFjayBuZWVkcyBhIGJyYW5jaCBuYW1lIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYwCittc2dpZCAiTWlzc2luZyBicmFuY2ggbmFtZTsgdHJ5IC1iIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk3Cittc2dpZCAiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLlxuIgorIkRpZCB5b3UgaW50ZW5kIHRvIGNoZWNrb3V0ICclcycgd2hpY2ggY2FuIG5vdCBiZSByZXNvbHZlZCBhcyBjb21taXQ/IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjA5CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxMworbXNnaWQgIiIKKyJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKKyJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6MjYKK21zZ2lkICIiCisiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPHBhdHRlcm4+XSBbLXggfCAtWF0gWy0tXSA8cGF0aHM+Li4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1vdmluZyAlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCByZW1vdmUgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgcmVwb3NpdG9yeSAlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMworIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCBza2lwIHJlcG9zaXRvcnkgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6Mjk0Cittc2dpZCAiIgorIlByb21wdCBoZWxwOlxuIgorIjEgICAgICAgICAgLSBzZWxlY3QgYSBudW1iZXJlZCBpdGVtXG4iCisiZm9vICAgICAgICAtIHNlbGVjdCBpdGVtIGJhc2VkIG9uIHVuaXF1ZSBwcmVmaXhcbiIKKyIgICAgICAgICAgIC0gKGVtcHR5KSBzZWxlY3Qgbm90aGluZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6Mjk4Cittc2dpZCAiIgorIlByb21wdCBoZWxwOlxuIgorIjEgICAgICAgICAgLSBzZWxlY3QgYSBzaW5nbGUgaXRlbVxuIgorIjMtNSAgICAgICAgLSBzZWxlY3QgYSByYW5nZSBvZiBpdGVtc1xuIgorIjItMyw2LTkgICAgLSBzZWxlY3QgbXVsdGlwbGUgcmFuZ2VzXG4iCisiZm9vICAgICAgICAtIHNlbGVjdCBpdGVtIGJhc2VkIG9uIHVuaXF1ZSBwcmVmaXhcbiIKKyItLi4uICAgICAgIC0gdW5zZWxlY3Qgc3BlY2lmaWVkIGl0ZW1zXG4iCisiKiAgICAgICAgICAtIGNob29zZSBhbGwgaXRlbXNcbiIKKyIgICAgICAgICAgIC0gKGVtcHR5KSBmaW5pc2ggc2VsZWN0aW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVoICglcyk/IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo2NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5wdXQgaWdub3JlIHBhdHRlcm5zPj4gIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogQ2Fubm90IGZpbmQgaXRlbXMgbWF0Y2hlZCBieTogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjcxNworbXNnaWQgIlNlbGVjdCBpdGVtcyB0byBkZWxldGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjc1NworIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmUgJXM/ICIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6NzgyCittc2dpZCAiQnllLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6NzkwCittc2dpZCAiIgorImNsZWFuICAgICAgICAgICAgICAgLSBzdGFydCBjbGVhbmluZ1xuIgorImZpbHRlciBieSBwYXR0ZXJuICAgLSBleGNsdWRlIGl0ZW1zIGZyb20gZGVsZXRpb25cbiIKKyJzZWxlY3QgYnkgbnVtYmVycyAgIC0gc2VsZWN0IGl0ZW1zIHRvIGJlIGRlbGV0ZWQgYnkgbnVtYmVyc1xuIgorImFzayBlYWNoICAgICAgICAgICAgLSBjb25maXJtIGVhY2ggZGVsZXRpb24gKGxpa2UgXCJybSAtaVwiKVxuIgorInF1aXQgICAgICAgICAgICAgICAgLSBzdG9wIGNsZWFuaW5nXG4iCisiaGVscCAgICAgICAgICAgICAgICAtIHRoaXMgc2NyZWVuXG4iCisiPyAgICAgICAgICAgICAgICAgICAtIGhlbHAgZm9yIHByb21wdCBzZWxlY3Rpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjgxNworbXNnaWQgIioqKiBDb21tYW5kcyAqKioiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjgxOAorbXNnaWQgIldoYXQgbm93IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjYKK21zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKK21zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjg0MworbXNnaWQgIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NzQKK21zZ2lkICJkbyBub3QgcHJpbnQgbmFtZXMgb2YgZmlsZXMgcmVtb3ZlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6ODc2Cittc2dpZCAiZm9yY2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjg3NworbXNnaWQgImludGVyYWN0aXZlIGNsZWFuaW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NzkKK21zZ2lkICJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjg4MCBidWlsdGluL2Rlc2NyaWJlLmM6NDIwIGJ1aWx0aW4vZ3JlcC5jOjcxOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MyBidWlsdGluL25hbWUtcmV2LmM6MzE0IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODUKK21zZ2lkICJwYXR0ZXJuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4ODEKK21zZ2lkICJhZGQgPHBhdHRlcm4+IHRvIGlnbm9yZSBydWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6ODgyCittc2dpZCAicmVtb3ZlIGlnbm9yZWQgZmlsZXMsIHRvbyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6ODg0Cittc2dpZCAicmVtb3ZlIG9ubHkgaWdub3JlZCBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6OTAyCittc2dpZCAiLXggYW5kIC1YIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDYKK21zZ2lkICIiCisiY2xlYW4ucmVxdWlyZUZvcmNlIHNldCB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiBub3IgLWYgZ2l2ZW47IHJlZnVzaW5nIHRvICIKKyJjbGVhbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6OTA5Cittc2dpZCAiIgorImNsZWFuLnJlcXVpcmVGb3JjZSBkZWZhdWx0cyB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiBub3IgLWYgZ2l2ZW47ICIKKyJyZWZ1c2luZyB0byBjbGVhbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6MzYKK21zZ2lkICJnaXQgY2xvbmUgW29wdGlvbnNdIFstLV0gPHJlcG8+IFs8ZGlyPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjY0IGJ1aWx0aW4vZmV0Y2guYzo5NyBidWlsdGluL21lcmdlLmM6MjIyCisjOiBidWlsdGluL3B1c2guYzo1MjEKK21zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjY2Cittc2dpZCAiZG9uJ3QgY3JlYXRlIGEgY2hlY2tvdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjY3IGJ1aWx0aW4vY2xvbmUuYzo2OSBidWlsdGluL2luaXQtZGIuYzo0ODgKK21zZ2lkICJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjcxCittc2dpZCAiY3JlYXRlIGEgbWlycm9yIHJlcG9zaXRvcnkgKGltcGxpZXMgYmFyZSkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjczCittc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjc1Cittc2dpZCAiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjc3Cittc2dpZCAic2V0dXAgYXMgc2hhcmVkIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjc5IGJ1aWx0aW4vY2xvbmUuYzo4MQorbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjgyIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NQorbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDg2Cittc2dpZCAiZGlyZWN0b3J5IGZyb20gd2hpY2ggdGVtcGxhdGVzIHdpbGwgYmUgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6ODUKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAorbXNnaWQgIm5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjg3Cittc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4OQorbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGluc3RlYWQgb2YgdGhlIHJlbW90ZSdzIEhFQUQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjkxCittc2dpZCAicGF0aCB0byBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTIgYnVpbHRpbi9mZXRjaC5jOjk4IGJ1aWx0aW4vZ3JlcC5jOjY2MworbXNnaWQgImRlcHRoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MworbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgb2YgdGhhdCBkZXB0aCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTUKK21zZ2lkICJjbG9uZSBvbmx5IG9uZSBicmFuY2gsIEhFQUQgb3IgLS1icmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjk2IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NAorbXNnaWQgImdpdGRpciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTcgYnVpbHRpbi9pbml0LWRiLmM6NDk1Cittc2dpZCAic2VwYXJhdGUgZ2l0IGRpciBmcm9tIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTgKK21zZ2lkICJrZXk9dmFsdWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjk5Cittc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjMyMyBidWlsdGluL2RpZmYuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjMzOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjM4OCBidWlsdGluL2Nsb25lLmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmUuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjQwMQorbXNnaWQgIiIKKyJDbG9uZSBzdWNjZWVkZWQsIGJ1dCBjaGVja291dCBmYWlsZWQuXG4iCisiWW91IGNhbiBpbnNwZWN0IHdoYXQgd2FzIGNoZWNrZWQgb3V0IHdpdGggJ2dpdCBzdGF0dXMnXG4iCisiYW5kIHJldHJ5IHRoZSBjaGVja291dCB3aXRoICdnaXQgY2hlY2tvdXQgLWYgSEVBRCdcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5Li4uICIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6NTYzCittc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjYyNgorbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6NjU3Cittc2dpZCAidW5hYmxlIHRvIGNoZWNrb3V0IHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6NzY1Cittc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6NzY5Cittc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1iYXJlIGFuZCAtLW9yaWdpbiAlcyBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3ODMKK21zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6Nzk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6ODAyCittc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjgwNQorbXNnaWQgInNvdXJjZSByZXBvc2l0b3J5IGlzIHNoYWxsb3csIGlnbm9yaW5nIC0tbG9jYWwiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjgxMAorbXNnaWQgIi0tbG9jYWwgaXMgaWdub3JlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6ODE0IGJ1aWx0aW4vZmV0Y2guYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjgzNAorIywgYy1mb3JtYXQKK21zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjg0NyBidWlsdGluL2Nsb25lLmM6ODU5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcycuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjg3MQorIywgYy1mb3JtYXQKK21zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gY2xvbmUgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjk1NyBidWlsdGluL2Nsb25lLmM6OTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjgKK21zZ2lkICJZb3UgYXBwZWFyIHRvIGhhdmUgY2xvbmVkIGFuIGVtcHR5IHJlcG9zaXRvcnkuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29sdW1uLmM6OQorbXNnaWQgImdpdCBjb2x1bW4gW29wdGlvbnNdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MjYKK21zZ2lkICJsb29rdXAgY29uZmlnIHZhcnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL2NvbHVtbi5jOjI4Cittc2dpZCAibGF5b3V0IHRvIHVzZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbHVtbi5jOjI5Cittc2dpZCAiTWF4aW11bSB3aWR0aCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbHVtbi5jOjMwCittc2dpZCAiUGFkZGluZyBzcGFjZSBvbiBsZWZ0IGJvcmRlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbHVtbi5jOjMxCittc2dpZCAiUGFkZGluZyBzcGFjZSBvbiByaWdodCBib3JkZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb2x1bW4uYzozMgorbXNnaWQgIlBhZGRpbmcgc3BhY2UgYmV0d2VlbiBjb2x1bW5zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29sdW1uLmM6NTEKK21zZ2lkICItLWNvbW1hbmQgbXVzdCBiZSB0aGUgZmlyc3QgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzozNgorbXNnaWQgImdpdCBjb21taXQgW29wdGlvbnNdIFstLV0gPHBhdGhzcGVjPi4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQxCittc2dpZCAiZ2l0IHN0YXR1cyBbb3B0aW9uc10gWy0tXSA8cGF0aHNwZWM+Li4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDYKK21zZ2lkICIiCisiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCisib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgorIllvdSBjYW4gc3VwcHJlc3MgdGhpcyBtZXNzYWdlIGJ5IHNldHRpbmcgdGhlbSBleHBsaWNpdGx5OlxuIgorIlxuIgorIiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSBcIllvdXIgTmFtZVwiXG4iCisiICAgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCB5b3VAZXhhbXBsZS5jb21cbiIKKyJcbiIKKyJBZnRlciBkb2luZyB0aGlzLCB5b3UgbWF5IGZpeCB0aGUgaWRlbnRpdHkgdXNlZCBmb3IgdGhpcyBjb21taXQgd2l0aDpcbiIKKyJcbiIKKyIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo1OAorbXNnaWQgIiIKKyJZb3UgYXNrZWQgdG8gYW1lbmQgdGhlIG1vc3QgcmVjZW50IGNvbW1pdCwgYnV0IGRvaW5nIHNvIHdvdWxkIG1ha2VcbiIKKyJpdCBlbXB0eS4gWW91IGNhbiByZXBlYXQgeW91ciBjb21tYW5kIHdpdGggLS1hbGxvdy1lbXB0eSwgb3IgeW91IGNhblxuIgorInJlbW92ZSB0aGUgY29tbWl0IGVudGlyZWx5IHdpdGggXCJnaXQgcmVzZXQgSEVBRF5cIi5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjYzCittc2dpZCAiIgorIlRoZSBwcmV2aW91cyBjaGVycnktcGljayBpcyBub3cgZW1wdHksIHBvc3NpYmx5IGR1ZSB0byBjb25mbGljdCByZXNvbHV0aW9uLlxuIgorIklmIHlvdSB3aXNoIHRvIGNvbW1pdCBpdCBhbnl3YXksIHVzZTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo3MAorbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzMKK21zZ2lkICIiCisiSWYgeW91IHdpc2ggdG8gc2tpcCB0aGlzIGNvbW1pdCwgdXNlOlxuIgorIlxuIgorIiAgICBnaXQgcmVzZXRcbiIKKyJcbiIKKyJUaGVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiB3aWxsIHJlc3VtZSBjaGVycnktcGlja2luZ1xuIgorInRoZSByZW1haW5pbmcgY29tbWl0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjI4NworbXNnaWQgImZhaWxlZCB0byB1bnBhY2sgSEVBRCB0cmVlIG9iamVjdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjMyOQorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzM1Cittc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjM2OCBidWlsdGluL2NvbW1pdC5jOjM4OSBidWlsdGluL2NvbW1pdC5jOjQzOQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXdfaW5kZXggZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQyMAorbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQyMgorbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQzMgorbXNnaWQgImNhbm5vdCByZWFkIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQ1MgorbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjU0MyBidWlsdGluL2NvbW1pdC5jOjU0OQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdDogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo1NzEKK21zZ2lkICJtYWxmb3JtZWQgLS1hdXRob3IgcGFyYW1ldGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIk1hbGZvcm1lZCBpZGVudCBzdHJpbmc6ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo2MzAgYnVpbHRpbi9jb21taXQuYzo2NjMgYnVpbHRpbi9jb21taXQuYzoxMDA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgY29tbWl0ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjQyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjY0NAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmcm9tIHN0YW5kYXJkIGlucHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmaWxlICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo2NTQKK21zZ2lkICJjb21taXQgaGFzIGVtcHR5IG1lc3NhZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo2NzAKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NU0ciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo2NzQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBTUVVBU0hfTVNHIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Njc4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo3NDkKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgY29tbWl0IHRlbXBsYXRlIgorbXNnc3RyICIiCisKKyMgRklYTUUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJJdCBsb29rcyBsaWtlIHlvdSBtYXkgYmUgY29tbWl0dGluZyBhIG1lcmdlLlxuIgorIklmIHRoaXMgaXMgbm90IGNvcnJlY3QsIHBsZWFzZSByZW1vdmUgdGhlIGZpbGVcbiIKKyJcdCVzXG4iCisiYW5kIHRyeSBhZ2Fpbi5cbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FCisjOiBidWlsdGluL2NvbW1pdC5jOjc2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSXQgbG9va3MgbGlrZSB5b3UgbWF5IGJlIGNvbW1pdHRpbmcgYSBjaGVycnktcGljay5cbiIKKyJJZiB0aGlzIGlzIG5vdCBjb3JyZWN0LCBwbGVhc2UgcmVtb3ZlIHRoZSBmaWxlXG4iCisiXHQlc1xuIgorImFuZCB0cnkgYWdhaW4uXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKKyJ3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLCBhbmQgYW4gZW1wdHkgbWVzc2FnZSBhYm9ydHMgdGhlIGNvbW1pdC5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjc4MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgorIndpdGggJyVjJyB3aWxsIGJlIGtlcHQ7IHlvdSBtYXkgcmVtb3ZlIHRoZW0geW91cnNlbGYgaWYgeW91IHdhbnQgdG8uXG4iCisiQW4gZW1wdHkgbWVzc2FnZSBhYm9ydHMgdGhlIGNvbW1pdC5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjc5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlc0F1dGhvcjogICAgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo4MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNDb21taXR0ZXI6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODIyCittc2dpZCAiQ2Fubm90IHJlYWQgaW5kZXgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo4NjUKK21zZ2lkICJFcnJvciBidWlsZGluZyB0cmVlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjg4MCBidWlsdGluL3RhZy5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gZXhpc3RpbmcgYXV0aG9yIGZvdW5kIHdpdGggJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjk5NyBidWlsdGluL2NvbW1pdC5jOjEyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1bnRyYWNrZWQgZmlsZXMgbW9kZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTAzNAorbXNnaWQgIi0tbG9uZyBhbmQgLXogYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNjQKK21zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3NQorbXNnaWQgIllvdSBoYXZlIG5vdGhpbmcgdG8gYW1lbmQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3OAorbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMDgwCittc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgY2hlcnJ5LXBpY2sgLS0gY2Fubm90IGFtZW5kLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEwODMKK21zZ2lkICJPcHRpb25zIC0tc3F1YXNoIGFuZCAtLWZpeHVwIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5MworbXNnaWQgIk9ubHkgb25lIG9mIC1jLy1DLy1GLy0tZml4dXAgY2FuIGJlIHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5NQorbXNnaWQgIk9wdGlvbiAtbSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtYy8tQy8tRi8tLWZpeHVwLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExMDMKK21zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyMAorbXNnaWQgIk9ubHkgb25lIG9mIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGNhbiBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExMjIKK21zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMTI0Cittc2dpZCAiQ2xldmVyLi4uIGFtZW5kaW5nIHRoZSBsYXN0IG9uZSB3aXRoIGRpcnR5IGluZGV4LiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExMjYKK21zZ2lkICJFeHBsaWNpdCBwYXRocyBzcGVjaWZpZWQgd2l0aG91dCAtaSBub3IgLW87IGFzc3VtaW5nIC0tb25seSBwYXRocy4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExMzYgYnVpbHRpbi90YWcuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMTQxCittc2dpZCAiUGF0aHMgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTEgYnVpbHRpbi9jb21taXQuYzoxNDgyCittc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1MyBidWlsdGluL2NvbW1pdC5jOjE0ODQKK21zZ2lkICJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTUgYnVpbHRpbi9jb21taXQuYzoxNDg2IGJ1aWx0aW4vcHVzaC5jOjUwNworbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1OCBidWlsdGluL2NvbW1pdC5jOjE0ODgKK21zZ2lkICJzaG93IHN0YXR1cyBpbiBsb25nIGZvcm1hdCAoZGVmYXVsdCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMjYxIGJ1aWx0aW4vY29tbWl0LmM6MTQ5MQorbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2MyBidWlsdGluL2NvbW1pdC5jOjE0OTQgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NyBidWlsdGluL3RhZy5jOjQ1OQorbXNnaWQgIm1vZGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMjY0IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAorbXNnaWQgInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjcKK21zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMjY4IHBhcnNlLW9wdGlvbnMuaDoxNTYKK21zZ2lkICJ3aGVuIgorbXNnc3RyICLQutC+0LPQsCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMjY5Cittc2dpZCAiIgorImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgorIihEZWZhdWx0OiBhbGwpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI3MQorbXNnaWQgImxpc3QgdW50cmFja2VkIGZpbGVzIGluIGNvbHVtbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzQwCittc2dpZCAiY291bGRuJ3QgbG9vayB1cCBuZXdseSBjcmVhdGVkIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDIKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgbmV3bHkgY3JlYXRlZCBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzgzCittc2dpZCAiZGV0YWNoZWQgSEVBRCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzODUKK21zZ2lkICIgKHJvb3QtY29tbWl0KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTIKK21zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MworbXNnaWQgInNob3cgZGlmZiBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTUKK21zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NiBidWlsdGluL3RhZy5jOjQ1NworbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDU3Cittc2dpZCAiYXV0aG9yIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NworbXNnaWQgIm92ZXJyaWRlIGF1dGhvciBmb3IgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OCBidWlsdGluL2djLmM6MjYxCittc2dpZCAiZGF0ZSIKK21zZ3N0ciAi0LTQsNGC0LAiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OAorbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTkgYnVpbHRpbi9tZXJnZS5jOjIxNiBidWlsdGluL25vdGVzLmM6NDA1CisjOiBidWlsdGluL25vdGVzLmM6NTYyIGJ1aWx0aW4vdGFnLmM6NDU1Cittc2dpZCAibWVzc2FnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTkKK21zZ2lkICJjb21taXQgbWVzc2FnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjAKK21zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjEKK21zZ2lkICJyZXVzZSBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjIKK21zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MworbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIHNxdWFzaCBzcGVjaWZpZWQgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NAorbXNnaWQgInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDY1IGJ1aWx0aW4vbG9nLmM6MTE4MCBidWlsdGluL3JldmVydC5jOjg2Cittc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NgorbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjcKK21zZ2lkICJmb3JjZSBlZGl0IG9mIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjgKK21zZ2lkICJkZWZhdWx0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OCBidWlsdGluL3RhZy5jOjQ2MAorbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDY5Cittc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDcwIGJ1aWx0aW4vbWVyZ2UuYzoyMjMgYnVpbHRpbi90YWcuYzo0NjEKK21zZ2lkICJrZXkgaWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDcxIGJ1aWx0aW4vbWVyZ2UuYzoyMjQKK21zZ2lkICJHUEcgc2lnbiBjb21taXQiCittc2dzdHIgIiIKKworIy4gZW5kIGNvbW1pdCBtZXNzYWdlIG9wdGlvbnMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NAorbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NQorbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzYKK21zZ2lkICJhZGQgc3BlY2lmaWVkIGZpbGVzIHRvIGluZGV4IGZvciBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDc3Cittc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDc4Cittc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzkKK21zZ2lkICJjb21taXQgb25seSBzcGVjaWZpZWQgZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDgwCittc2dpZCAiYnlwYXNzIHByZS1jb21taXQgaG9vayIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODEKK21zZ2lkICJzaG93IHdoYXQgd291bGQgYmUgY29tbWl0dGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MgorbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTMKK21zZ2lkICJieXBhc3MgcG9zdC1yZXdyaXRlIGhvb2siCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDk4Cittc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDAKK21zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUyOQorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1NjcgYnVpbHRpbi9tZXJnZS5jOjUxOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MQorbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWJvcnRpbmcgY29tbWl0OyB5b3UgZGlkIG5vdCBlZGl0IHRoZSBtZXNzYWdlLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNgorIywgYy1mb3JtYXQKK21zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMSBidWlsdGluL21lcmdlLmM6ODU0IGJ1aWx0aW4vbWVyZ2UuYzo4NzkKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE2NTIKK21zZ2lkICJjYW5ub3QgbG9jayBIRUFEIHJlZiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE2NTYKK21zZ2lkICJjYW5ub3QgdXBkYXRlIEhFQUQgcmVmIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NworbXNnaWQgIiIKKyJSZXBvc2l0b3J5IGhhcyBiZWVuIHVwZGF0ZWQsIGJ1dCB1bmFibGUgdG8gd3JpdGVcbiIKKyJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIG9yIHF1b3RhIGlzXG4iCisibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXNldCBIRUFEXCIgdG8gcmVjb3Zlci4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo4Cittc2dpZCAiZ2l0IGNvbmZpZyBbb3B0aW9uc10iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo1NAorbXNnaWQgIkNvbmZpZyBmaWxlIGxvY2F0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTUKK21zZ2lkICJ1c2UgZ2xvYmFsIGNvbmZpZyBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKK21zZ2lkICJ1c2Ugc3lzdGVtIGNvbmZpZyBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTcKK21zZ2lkICJ1c2UgcmVwb3NpdG9yeSBjb25maWcgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjU4Cittc2dpZCAidXNlIGdpdmVuIGNvbmZpZyBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKK21zZ2lkICJibG9iLWlkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKK21zZ2lkICJyZWFkIGNvbmZpZyBmcm9tIGdpdmVuIGJsb2Igb2JqZWN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKK21zZ2lkICJBY3Rpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo2MQorbXNnaWQgImdldCB2YWx1ZTogbmFtZSBbdmFsdWUtcmVnZXhdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKK21zZ2lkICJnZXQgYWxsIHZhbHVlczoga2V5IFt2YWx1ZS1yZWdleF0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo2MworbXNnaWQgImdldCB2YWx1ZXMgZm9yIHJlZ2V4cDogbmFtZS1yZWdleCBbdmFsdWUtcmVnZXhdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjQKK21zZ2lkICJnZXQgdmFsdWUgc3BlY2lmaWMgZm9yIHRoZSBVUkw6IHNlY3Rpb25bLnZhcl0gVVJMIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjUKK21zZ2lkICJyZXBsYWNlIGFsbCBtYXRjaGluZyB2YXJpYWJsZXM6IG5hbWUgdmFsdWUgW3ZhbHVlX3JlZ2V4XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjY2Cittc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKK21zZ2lkICJyZW1vdmUgYSB2YXJpYWJsZTogbmFtZSBbdmFsdWUtcmVnZXhdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjgKK21zZ2lkICJyZW1vdmUgYWxsIG1hdGNoZXM6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjY5Cittc2dpZCAicmVuYW1lIHNlY3Rpb246IG9sZC1uYW1lIG5ldy1uYW1lIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKK21zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKK21zZ2lkICJsaXN0IGFsbCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjcyCittc2dpZCAib3BlbiBhbiBlZGl0b3IiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo3MyBidWlsdGluL2NvbmZpZy5jOjc0Cittc2dpZCAic2xvdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjczCittc2dpZCAiZmluZCB0aGUgY29sb3IgY29uZmlndXJlZDogW2RlZmF1bHRdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKK21zZ2lkICJmaW5kIHRoZSBjb2xvciBzZXR0aW5nOiBbc3Rkb3V0LWlzLXR0eV0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo3NQorbXNnaWQgIlR5cGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo3NgorbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjc3Cittc2dpZCAidmFsdWUgaXMgZGVjaW1hbCBudW1iZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo3OAorbXNnaWQgInZhbHVlIGlzIC0tYm9vbCBvciAtLWludCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjc5Cittc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjgwCittc2dpZCAiT3RoZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo4MQorbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjgyCittc2dpZCAicmVzcGVjdCBpbmNsdWRlIGRpcmVjdGl2ZXMgb24gbG9va3VwIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjgyCittc2dpZCAiZ2l0IGNvdW50LW9iamVjdHMgWy12XSBbLUggfCAtLWh1bWFuLXJlYWRhYmxlXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NworbXNnaWQgInByaW50IHNpemVzIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MTYKK21zZ2lkICJnaXQgZGVzY3JpYmUgW29wdGlvbnNdIDxjb21taXQtaXNoPioiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjE3Cittc2dpZCAiZ2l0IGRlc2NyaWJlIFtvcHRpb25zXSAtLWRpcnR5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBub3QgYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBoYXMgbm8gZW1iZWRkZWQgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgInRhZyAnJXMnIGlzIHJlYWxseSAnJXMnIGhlcmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkICclcycgb2JqZWN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdGFnIGV4YWN0bHkgbWF0Y2hlcyAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VhcmNoaW5nIHRvIGRlc2NyaWJlICVzXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmaW5pc2hlZCBzZWFyY2ggYXQgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJObyBhbm5vdGF0ZWQgdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKKyJIb3dldmVyLCB0aGVyZSB3ZXJlIHVuYW5ub3RhdGVkIHRhZ3M6IHRyeSAtLXRhZ3MuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCisiVHJ5IC0tYWx3YXlzLCBvciBjcmVhdGUgc29tZSB0YWdzLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInRyYXZlcnNlZCAlbHUgY29tbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vcmUgdGhhbiAlaSB0YWdzIGZvdW5kOyBsaXN0ZWQgJWkgbW9zdCByZWNlbnRcbiIKKyJnYXZlIHVwIHNlYXJjaCBhdCAlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDkKK21zZ2lkICJmaW5kIHRoZSB0YWcgdGhhdCBjb21lcyBhZnRlciB0aGUgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTAKK21zZ2lkICJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTEKK21zZ2lkICJ1c2UgYW55IHJlZiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEyCittc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMworbXNnaWQgImFsd2F5cyB1c2UgbG9uZyBmb3JtYXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxNAorbXNnaWQgIm9ubHkgZm9sbG93IGZpcnN0IHBhcmVudCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDE3Cittc2dpZCAib25seSBvdXRwdXQgZXhhY3QgbWF0Y2hlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDE5CisjLCBmdXp6eQorbXNnaWQgImNvbnNpZGVyIDxuPiBtb3N0IHJlY2VudCB0YWdzIChkZWZhdWx0OiAxMCkiCittc2dzdHIgIjzQsdGA0L7QuT4iCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MjEKK21zZ2lkICJvbmx5IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MjMgYnVpbHRpbi9uYW1lLXJldi5jOjMyMQorbXNnaWQgInNob3cgYWJicmV2aWF0ZWQgY29tbWl0IG9iamVjdCBhcyBmYWxsYmFjayIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDI0Cittc2dpZCAibWFyayIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDI1Cittc2dpZCAiYXBwZW5kIDxtYXJrPiBvbiBkaXJ0eSB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWRpcnR5XCIpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDMKK21zZ2lkICItLWxvbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hYmJyZXY9MCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDY5Cittc2dpZCAiTm8gbmFtZXMgZm91bmQsIGNhbm5vdCBkZXNjcmliZSBhbnl0aGluZy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ4OQorbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZi5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcyc6IG5vdCBhIHJlZ3VsYXIgZmlsZSBvciBzeW1saW5rIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZi5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG9wdGlvbjogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kaWZmLmM6MzU3Cittc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kaWZmLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgb2JqZWN0ICclcycgZ2l2ZW4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZi5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmhhbmRsZWQgb2JqZWN0ICclcycgZ2l2ZW4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoyMgorbXNnaWQgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MworIywgZnV6enkKK21zZ2lkICJzaG93IHByb2dyZXNzIGFmdGVyIDxuPiBvYmplY3RzIgorbXNnc3RyICI80LHRgNC+0Lk+IgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc1Cittc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHNpZ25lZCB0YWdzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzgKK21zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODEKK21zZ2lkICJEdW1wIG1hcmtzIHRvIHRoaXMgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgzCittc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODUKK21zZ2lkICJGYWtlIGEgdGFnZ2VyIHdoZW4gdGFncyBsYWNrIG9uZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njg3Cittc2dpZCAiT3V0cHV0IGZ1bGwgdHJlZSBmb3IgZWFjaCBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4OQorbXNnaWQgIlVzZSB0aGUgZG9uZSBmZWF0dXJlIHRvIHRlcm1pbmF0ZSB0aGUgc3RyZWFtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2OTAKK21zZ2lkICJTa2lwIG91dHB1dCBvZiBibG9iIGRhdGEiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjIwCittc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMQorbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXA+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMgorbXNnaWQgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPHJlcG9zaXRvcnk+IHwgPGdyb3VwPikuLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMworbXNnaWQgImdpdCBmZXRjaCAtLWFsbCBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6NzUKK21zZ2lkICJmZXRjaCBmcm9tIGFsbCByZW1vdGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NworbXNnaWQgImFwcGVuZCB0byAuZ2l0L0ZFVENIX0hFQUQgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6NzkKK21zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjgwCittc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6ODIKK21zZ2lkICJmZXRjaCBmcm9tIG11bHRpcGxlIHJlbW90ZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjg0Cittc2dpZCAiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6ODYKK21zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjg4Cittc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjg5Cittc2dpZCAib24tZGVtYW5kIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MAorbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjk0Cittc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjk2Cittc2dpZCAiYWxsb3cgdXBkYXRpbmcgb2YgSEVBRCByZWYiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjk5Cittc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTAxCittc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEwMyBidWlsdGluL2xvZy5jOjExOTcKK21zZ2lkICJkaXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEwNAorbXNnaWQgInByZXBlbmQgdGhpcyB0byBzdWJtb2R1bGUgcGF0aCBvdXRwdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEwNworbXNnaWQgImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDkKK21zZ2lkICJhY2NlcHQgcmVmcyB0aGF0IHVwZGF0ZSAuZ2l0L3NoYWxsb3ciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjM0NworbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6NDE2Cittc2dpZCAiW3VwIHRvIGRhdGVdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiISAlLSpzICUtKnMgLT4gJXMgIChjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjQzMSBidWlsdGluL2ZldGNoLmM6NTE3Cittc2dpZCAiW3JlamVjdGVkXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6NDQyCittc2dpZCAiW3RhZyB1cGRhdGVdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0NDQgYnVpbHRpbi9mZXRjaC5jOjQ3OSBidWlsdGluL2ZldGNoLmM6NDk3Cittc2dpZCAiICAodW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0NjIKK21zZ2lkICJbbmV3IHRhZ10iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjQ2NQorbXNnaWQgIltuZXcgYnJhbmNoXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6NDY4Cittc2dpZCAiW25ldyByZWZdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MTMKK21zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6NTEzCittc2dpZCAiZm9yY2VkIHVwZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6NTE5Cittc2dpZCAiKG5vbi1mYXN0LWZvcndhcmQpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1NTIgYnVpbHRpbi9mZXRjaC5jOjc4NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6NTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlamVjdCAlcyBiZWNhdXNlIHNoYWxsb3cgcm9vdHMgYXJlIG5vdCBhbGxvd2VkIHRvIGJlIHVwZGF0ZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjY2NyBidWlsdGluL2ZldGNoLmM6NzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZyb20gJS4qc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKKyIgJ2dpdCByZW1vdGUgcHJ1bmUgJXMnIHRvIHJlbW92ZSBhbnkgb2xkLCBjb25mbGljdGluZyBicmFuY2hlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAoJXMgaGFzIGJlY29tZSBkYW5nbGluZykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjc1NQorbXNnaWQgIltkZWxldGVkXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6NzU2IGJ1aWx0aW4vcmVtb3RlLmM6MTA1MAorbXNnaWQgIihub25lKSIKK21zZ3N0ciAiKNC90LjRidC+KSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWZ1c2luZyB0byBmZXRjaCBpbnRvIGN1cnJlbnQgYnJhbmNoICVzIG9mIG5vbi1iYXJlIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjc5NAorIywgYy1mb3JtYXQKK21zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZmV0Y2ggZnJvbSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTAxNQorIywgYy1mb3JtYXQKK21zZ2lkICJGZXRjaGluZyAlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE3IGJ1aWx0aW4vcmVtb3RlLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgorbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQtNC+0YHRgtCw0LLQuCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEwMzYKK21zZ2lkICIiCisiTm8gcmVtb3RlIHJlcG9zaXRvcnkgc3BlY2lmaWVkLiAgUGxlYXNlLCBzcGVjaWZ5IGVpdGhlciBhIFVSTCBvciBhXG4iCisicmVtb3RlIG5hbWUgZnJvbSB3aGljaCBuZXcgcmV2aXNpb25zIHNob3VsZCBiZSBmZXRjaGVkLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTA1OQorbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjExMDcKK21zZ2lkICItLWRlcHRoIGFuZCAtLXVuc2hhbGxvdyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTEwOQorbXNnaWQgIi0tdW5zaGFsbG93IG9uIGEgY29tcGxldGUgcmVwb3NpdG9yeSBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTMyCittc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjExMzQKK21zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjExNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTE1MworbXNnaWQgIkZldGNoaW5nIGEgZ3JvdXAgYW5kIHNwZWNpZnlpbmcgcmVmc3BlY3MgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxMworIywgZnV6enkKK21zZ2lkICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPG1lc3NhZ2U+XSBbLS1sb2dbPTxuPl18LS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKK21zZ3N0ciAiPNCx0YDQvtC5PiIKKworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NiBidWlsdGluL2dyZXAuYzo3MDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTYgYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NCBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL3RhZy5jOjQ0NiBwYXJzZS1vcHRpb25zLmg6MTM1IHBhcnNlLW9wdGlvbnMuaDoyNDIKK21zZ2lkICJuIgorbXNnc3RyICLQsdGA0L7QuSIKKworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY0CisjLCBmdXp6eQorbXNnaWQgInBvcHVsYXRlIGxvZyB3aXRoIGF0IG1vc3QgPG4+IGVudHJpZXMgZnJvbSBzaG9ydGxvZyIKK21zZ3N0ciAiPNCx0YDQvtC5PiIKKworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY3Cittc2dpZCAiYWxpYXMgZm9yIC0tbG9nIChkZXByZWNhdGVkKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKK21zZ2lkICJ0ZXh0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MQorbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzIKK21zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwNjMKK21zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFtvcHRpb25zXSBbPHBhdHRlcm4+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwNzgKK21zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHNoZWxscyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwODAKK21zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHBlcmwiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDgyCittc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBweXRob24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDg0Cittc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciB0Y2wiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDg3CisjLCBmdXp6eQorbXNnaWQgInNob3cgb25seSA8bj4gbWF0Y2hlZCByZWZzIgorbXNnc3RyICI80LHRgNC+0Lk+IgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwODggYnVpbHRpbi9yZXBsYWNlLmM6MTc3Cittc2dpZCAiZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTA4OAorbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDg5Cittc2dpZCAia2V5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTA5MAorbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo2MDcKK21zZ2lkICJnaXQgZnNjayBbb3B0aW9uc10gWzxvYmplY3Q+Li4uXSIKK21zZ3N0ciAiZ2l0IGZzY2sgW9Ce0J/QptCY0JhdIFs80J7QkdCV0JrQoj7igKZdIgorCisjOiBidWlsdGluL2ZzY2suYzo2MTMKK21zZ2lkICJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiCittc2dzdHIgItC/0L7QutCw0LfQstCw0L3QtSDQvdCwINC90LXQtNC+0YHRgtC40LbQuNC80LjRgtC1INC+0LHQtdC60YLQuCIKKworIzogYnVpbHRpbi9mc2NrLmM6NjE0Cittc2dpZCAic2hvdyBkYW5nbGluZyBvYmplY3RzIgorbXNnc3RyICLQv9C+0LrQsNC30LLQsNC90LUg0L3QsCDQvtCx0LXQutGC0LjRgtC1INC40LfQstGK0L0g0LrQu9C+0L3QuNGC0LUiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNQorbXNnaWQgInJlcG9ydCB0YWdzIgorbXNnc3RyICLQv9C+0LrQsNC30LLQsNC90LUg0L3QsCDQtdGC0LjQutC10YLQuNGC0LUiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNgorbXNnaWQgInJlcG9ydCByb290IG5vZGVzIgorbXNnc3RyICLQv9C+0LrQsNC30LLQsNC90LUg0L3QsCDQutC+0YDQtdC90L7QstC40YLQtSDQstGK0LfQu9C4IgorCisjOiBidWlsdGluL2ZzY2suYzo2MTcKK21zZ2lkICJtYWtlIGluZGV4IG9iamVjdHMgaGVhZCBub2RlcyIKK21zZ3N0ciAi0LfQsNC00LDQstCw0L3QtSDQvdCwINC+0LHQtdC60YLQuCDQvtGCINC40L3QtNC10LrRgdCwINC00LAg0YHQsCDQutC+0YDQtdC90L7QstC4IgorCisjOiBidWlsdGluL2ZzY2suYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgorbXNnc3RyICLQv9GA0L7RgdC70LXQtNGP0LLQsNC90LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1INC+0YIg0LbRg9GA0L3QsNC70LAg0LrQsNGC0L4g0LPQu9Cw0LLQuCAo0YHRgtCw0L3QtNCw0YDRgtC90L4pIgorCisjOiBidWlsdGluL2ZzY2suYzo2MTkKKyMsIGZ1enp5Cittc2dpZCAiYWxzbyBjb25zaWRlciBwYWNrcyBhbmQgYWx0ZXJuYXRlIG9iamVjdHMiCittc2dzdHIgItC00L7Qv9GK0LvQvdC40YLQtdC70L3QviDQtNCwINGB0LUg0L/RgNC+0LLQtdGA0Y/QstCw0YIg0L/QsNC60LXRgtC40YLQtSDQuCDQsNC70YLQtdGA0L3QsNGC0LjQstC90LjRgtC1INC+0LHQtdC60YLQuCIKKworIzogYnVpbHRpbi9mc2NrLmM6NjIwCittc2dpZCAiZW5hYmxlIG1vcmUgc3RyaWN0IGNoZWNraW5nIgorbXNnc3RyICLQv9C+LdGB0YLRgNC+0LPQuCDQv9GA0L7QstC10YDQutC4IgorCisjOiBidWlsdGluL2ZzY2suYzo2MjIKK21zZ2lkICJ3cml0ZSBkYW5nbGluZyBvYmplY3RzIGluIC5naXQvbG9zdC1mb3VuZCIKK21zZ3N0ciAi0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0L7QsdC10LrRgtC40YLQtSDQuNC30LLRitC9INC60LvQvtC90LjRgtC1INCyINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4uZ2l0L2xvc3QtZm91bmTigJwiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYyMyBidWlsdGluL3BydW5lLmM6MTQ0Cittc2dpZCAic2hvdyBwcm9ncmVzcyIKK21zZ3N0ciAi0L/QvtC60LDQt9Cy0LDQvdC1INC90LAg0L3QsNC/0YDQtdC00YrQutCwIgorCisjOiBidWlsdGluL2djLmM6MjQKK21zZ2lkICJnaXQgZ2MgW29wdGlvbnNdIgorbXNnc3RyICJnaXQgZ2MgW9Ce0J/QptCY0JhdIgorCisjOiBidWlsdGluL2djLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCAlczogJyVzJyIKK21zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwIOKAniVz4oCcOiDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9nYy5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnNhbmVseSBsb25nIG9iamVjdCBkaXJlY3RvcnkgJS4qcyIKK21zZ3N0ciAi0L/RgNC10LrQsNC70LXQvdC+INC00YrQu9Cz0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0YEg0L7QsdC10LrRgtC4IOKAniUuKnPigJwiCisKKyM6IGJ1aWx0aW4vZ2MuYzoyNjIKK21zZ2lkICJwcnVuZSB1bnJlZmVyZW5jZWQgb2JqZWN0cyIKK21zZ3N0ciAi0L7QutCw0YHRgtGA0Y/QvdC1INC90LAg0L7QsdC10LrRgtC40YLQtSwg0LrRitC8INC60L7QuNGC0L4g0L3QuNGJ0L4g0L3QtSDRgdC+0YfQuCIKKworIzogYnVpbHRpbi9nYy5jOjI2NAorbXNnaWQgImJlIG1vcmUgdGhvcm91Z2ggKGluY3JlYXNlZCBydW50aW1lKSIKK21zZ3N0ciAi0LjQt9GH0LXRgNC/0LDRgtC10LvQvdC+INGC0YrRgNGB0LXQvdC1INC90LAg0LHQvtC60LvRg9C60LAgKNC30LAg0YHQvNC10YLQutCwINC90LAg0L/QvtCy0LXRh9C1INCy0YDQtdC80LUg0YDQsNCx0L7RgtCwKSIKKworIzogYnVpbHRpbi9nYy5jOjI2NQorbXNnaWQgImVuYWJsZSBhdXRvLWdjIG1vZGUiCittc2dzdHIgItCy0LrQu9GO0YfQstCw0L3QtSDQvdCwINCw0LLRgtC+0LzQsNGC0LjRh9C90L7RgtC+INGB0YrQsdC40YDQsNC90LUg0L3QsCDQsdC+0LrQu9GD0LrQsCAoYXV0by1nYykiCisKKyM6IGJ1aWx0aW4vZ2MuYzoyNjYKK21zZ2lkICJmb3JjZSBydW5uaW5nIGdjIGV2ZW4gaWYgdGhlcmUgbWF5IGJlIGFub3RoZXIgZ2MgcnVubmluZyIKK21zZ3N0ciAiIgorItC40LfRgNC40YfQvdC+INGB0YLQsNGA0YLQuNGA0LDQvdC1INC90LAg0YHRitCx0LjRgNCw0L3QtdGC0L4g0L3QsCDQsdC+0LrQu9GD0LrQsCwg0LTQvtGA0Lgg0Lgg0LDQutC+INCy0LXRh9C1INGA0LDQsdC+0YLQuCDQtNGA0YPQs9C+ICIKKyLRgdGK0LHQuNGA0LDQvdC1IgorCisjOiBidWlsdGluL2djLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuIFlvdSBtYXkgYWxzb1xuIgorInJ1biBcImdpdCBnY1wiIG1hbnVhbGx5LiBTZWUgXCJnaXQgaGVscCBnY1wiIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisi0JDQstGC0L7QvNCw0YLQuNGH0L3QviDQv9Cw0LrQtdGC0LjRgNCw0L3QtSDQvdCwINGF0YDQsNC90LjQu9C40YnQtdGC0L4g0LfQsCDQvdCw0Lkt0LTQvtCx0YDQsCDQv9GA0L7QuNC30LLQvtC00LjRgtC10LvQvdC+0YHRgi4g0JzQvtC20LXRgtC1ICIKKyLQuFxuIgorItGA0YrRh9C90L4g0LTQsCDRgdGC0LDRgNGC0LjRgNCw0YLQtSDigJ5naXQgZ2PigJwuINCX0LAg0L/QvtC00YDQvtCx0L3QvtGB0YLQuCDQv9C+0LPQu9C10LTQvdC10YLQtSDQv9C+0LzQvtGJ0YLQsDog4oCeZ2l0IGhlbHAgIgorImdj4oCcLlxuIgorCisjLiBiZSBxdWlldCBvbiAtLWF1dG8KKyM6IGJ1aWx0aW4vZ2MuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImdjIGlzIGFscmVhZHkgcnVubmluZyBvbiBtYWNoaW5lICclcycgcGlkICU8UFJJdU1BWD4gKHVzZSAtLWZvcmNlIGlmIG5vdCkiCittc2dzdHIgIiIKKyLRgdGK0LHQuNGA0LDQvdC10YLQviDQvdCwINCx0L7QutC70YPQutCwINCy0LXRh9C1INC1INGB0YLQsNGA0YLQuNGA0LDQvdC+INC90LAg0LzQsNGI0LjQvdCw0YLQsCDigJ4lc+KAnCDRgSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQvdCwXG4iCisi0L/RgNC+0YbQtdGB0LA6ICU8UFJJdU1BWD4gKNCw0LrQviDRgdGC0LUg0YHQuNCz0YPRgNC90LgsINGH0LUg0YLQvtCy0LAg0L3QtSDQtSDQstGP0YDQvdC+LCDRgtC+0LLQsCDQuNC30L/QvtC70LfQstCw0LnRgtC1XG4iCisi0L7Qv9GG0LjRj9GC0LAg4oCeLS1mb3JjZeKAnCkiCisKKyM6IGJ1aWx0aW4vZ2MuYzozNDEKK21zZ2lkICIiCisiVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgdGhlbS4iCittc2dzdHIgIiIKKyLQmNC80LAg0L/RgNC10LrQsNC70LXQvdC+INC80L3QvtCz0L4g0L3QtdC00L7RgdGC0LjQttC40LzQuCwg0L3QtdC/0LDQutC10YLQuNGA0LDQvdC4INC+0LHQtdC60YLQuC4g0JjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgIgorInBydW5l4oCcLCDQt9CwINC00LBcbiIKKyLQs9C4INC+0LrQsNGB0YLRgNC40YLQtS4iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIzCittc2dpZCAiZ2l0IGdyZXAgW29wdGlvbnNdIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JlcDogZmFpbGVkIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gY2hkaXI6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ0MyBidWlsdGluL2dyZXAuYzo0NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZ3JlcCBmcm9tIG9iamVjdCBvZiB0eXBlICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjU1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY0MgorbXNnaWQgInNlYXJjaCBpbiBpbmRleCBpbnN0ZWFkIG9mIGluIHRoZSB3b3JrIHRyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6NjQ0Cittc2dpZCAiZmluZCBpbiBjb250ZW50cyBub3QgbWFuYWdlZCBieSBnaXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6NjQ2Cittc2dpZCAic2VhcmNoIGluIGJvdGggdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY0OAorbXNnaWQgInNlYXJjaCBhbHNvIGluIGlnbm9yZWQgZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6NjUxCittc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgbGluZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6NjUzCittc2dpZCAiY2FzZSBpbnNlbnNpdGl2ZSBtYXRjaGluZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo2NTUKK21zZ2lkICJtYXRjaCBwYXR0ZXJucyBvbmx5IGF0IHdvcmQgYm91bmRhcmllcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo2NTcKK21zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyB0ZXh0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1OQorbXNnaWQgImRvbid0IG1hdGNoIHBhdHRlcm5zIGluIGJpbmFyeSBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo2NjIKK21zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6NjY0Cittc2dpZCAiZGVzY2VuZCBhdCBtb3N0IDxkZXB0aD4gbGV2ZWxzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2OAorbXNnaWQgInVzZSBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3MQorbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo2NzQKK21zZ2lkICJpbnRlcnByZXQgcGF0dGVybnMgYXMgZml4ZWQgc3RyaW5ncyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo2NzcKK21zZ2lkICJ1c2UgUGVybC1jb21wYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6NjgwCittc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6NjgxCittc2dpZCAiZG9uJ3Qgc2hvdyBmaWxlbmFtZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6NjgyCittc2dpZCAic2hvdyBmaWxlbmFtZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6Njg0Cittc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo2ODYKK21zZ2lkICJzaG93IG9ubHkgZmlsZW5hbWVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6Njg4Cittc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6NjkxCittc2dpZCAic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MworbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6Njk1Cittc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo2OTYKK21zZ2lkICJoaWdobGlnaHQgbWF0Y2hlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo2OTgKK21zZ2lkICJwcmludCBlbXB0eSBsaW5lIGJldHdlZW4gbWF0Y2hlcyBmcm9tIGRpZmZlcmVudCBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo3MDAKK21zZ2lkICJzaG93IGZpbGVuYW1lIG9ubHkgb25jZSBhYm92ZSBtYXRjaGVzIGZyb20gc2FtZSBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMworIywgZnV6enkKK21zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBhbmQgYWZ0ZXIgbWF0Y2hlcyIKK21zZ3N0ciAiPNCx0YDQvtC5PiIKKworIzogYnVpbHRpbi9ncmVwLmM6NzA2CisjLCBmdXp6eQorbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIG1hdGNoZXMiCittc2dzdHIgIjzQsdGA0L7QuT4iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwOAorIywgZnV6enkKK21zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCittc2dzdHIgIjzQsdGA0L7QuT4iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwOQorbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6NzEyCittc2dpZCAic2hvdyBhIGxpbmUgd2l0aCB0aGUgZnVuY3Rpb24gbmFtZSBiZWZvcmUgbWF0Y2hlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo3MTQKK21zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo3MTcKK21zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo3MTkKK21zZ2lkICJtYXRjaCA8cGF0dGVybj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6NzIxCittc2dpZCAiY29tYmluZSBwYXR0ZXJucyBzcGVjaWZpZWQgd2l0aCAtZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo3MzMKK21zZ2lkICJpbmRpY2F0ZSBoaXQgd2l0aCBleGl0IHN0YXR1cyB3aXRob3V0IG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo3MzUKK21zZ2lkICJzaG93IG9ubHkgbWF0Y2hlcyBmcm9tIGZpbGVzIHRoYXQgbWF0Y2ggYWxsIHBhdHRlcm5zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczNworbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQorbXNnaWQgInBhZ2VyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQorbXNnaWQgInNob3cgbWF0Y2hpbmcgZmlsZXMgaW4gdGhlIHBhZ2VyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0NAorbXNnaWQgImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo3NDUgYnVpbHRpbi9zaG93LXJlZi5jOjE4NworbXNnaWQgInNob3cgdXNhZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODEyCittc2dpZCAibm8gcGF0dGVybiBnaXZlbi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODcwCittc2dpZCAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIG9ubHkgd29ya3Mgb24gdGhlIHdvcmt0cmVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5MworbXNnaWQgIi0tY2FjaGVkIG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1uby1pbmRleC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODk4Cittc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMQorbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo5MDkKK21zZ2lkICJib3RoIC0tY2FjaGVkIGFuZCB0cmVlcyBhcmUgZ2l2ZW4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo2MAorbXNnaWQgIiIKKyJnaXQgaGFzaC1vYmplY3QgWy10IDx0eXBlPl0gWy13XSBbLS1wYXRoPTxmaWxlPnwtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSBbLS1dICIKKyI8ZmlsZT4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjYxCittc2dpZCAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIDwgPGxpc3Qtb2YtcGF0aHM+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3MgorbXNnaWQgInR5cGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjcyCittc2dpZCAib2JqZWN0IHR5cGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjczCittc2dpZCAid3JpdGUgdGhlIG9iamVjdCBpbnRvIHRoZSBvYmplY3QgZGF0YWJhc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjc0Cittc2dpZCAicmVhZCB0aGUgb2JqZWN0IGZyb20gc3RkaW4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjc2Cittc2dpZCAic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjc3Cittc2dpZCAicHJvY2VzcyBmaWxlIGFzIGl0IHdlcmUgZnJvbSB0aGlzIHBhdGgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9oZWxwLmM6NDEKK21zZ2lkICJwcmludCBhbGwgYXZhaWxhYmxlIGNvbW1hbmRzIgorbXNnc3RyICLQv9C+0LrQsNC30LLQsNC90LUg0L3QsCDQstGB0LjRh9C60Lgg0L3QsNC70LjRh9C90Lgg0LrQvtC80LDQvdC00LgiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQyCittc2dpZCAicHJpbnQgbGlzdCBvZiB1c2VmdWwgZ3VpZGVzIgorbXNnc3RyICLQv9C+0LrQsNC30LLQsNC90LUg0L3QsCDRgdC/0LjRgdGK0Log0YEg0L/RitGC0LXQstC+0LTQuNGC0LXQu9C4IgorCisjOiBidWlsdGluL2hlbHAuYzo0MworbXNnaWQgInNob3cgbWFuIHBhZ2UiCittc2dzdHIgItC/0L7QutCw0LfQstCw0L3QtSDQvdCwINGB0YLRgNCw0L3QuNGG0LAg0L7RgiDRgNGK0LrQvtCy0L7QtNGB0YLQstC+0YLQviIKKworIzogYnVpbHRpbi9oZWxwLmM6NDQKK21zZ2lkICJzaG93IG1hbnVhbCBpbiB3ZWIgYnJvd3NlciIKK21zZ3N0ciAi0L/QvtC60LDQt9Cy0LDQvdC1INC90LAg0YHRgtGA0LDQvdC40YbQsCDQvtGCINGA0YrQutC+0LLQvtC00YHRgtCy0L7RgtC+INCyINGD0LXQsSDQsdGA0LDRg9C30YrRgCIKKworIzogYnVpbHRpbi9oZWxwLmM6NDYKK21zZ2lkICJzaG93IGluZm8gcGFnZSIKK21zZ3N0ciAi0L/QvtC60LDQt9Cy0LDQvdC1INC90LAg0LjQvdGE0L7RgNC80LDRhtC40L7QvdC90LAg0YHRgtGA0LDQvdC40YbQsCIKKworIzogYnVpbHRpbi9oZWxwLmM6NTIKK21zZ2lkICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFufC0td2VifC0taW5mb10gW2NvbW1hbmRdIgorbXNnc3RyICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFufC0td2VifC0taW5mb10gW9Ca0J7QnNCQ0J3QlNCQXSIKKworIzogYnVpbHRpbi9oZWxwLmM6NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIGhlbHAgZm9ybWF0ICclcyciCittc2dzdHIgItC90LXQv9C+0LfQvdCw0YIg0YTQvtGA0LzQsNGCINC90LAg0L/QvtC80L7RidGC0LAg4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjkyCittc2dpZCAiRmFpbGVkIHRvIHN0YXJ0IGVtYWNzY2xpZW50LiIKK21zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INGB0YLQsNGA0YLQuNGA0LDQvdC1INC90LAg4oCeZW1hY3NjbGllbnTigJwuIgorCisjOiBidWlsdGluL2hlbHAuYzoxMDUKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW1hY3NjbGllbnQgdmVyc2lvbi4iCittc2dzdHIgItCS0LXRgNGB0LjRj9GC0LAg0L3QsCDigJ5lbWFjc2NsaWVudOKAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQsNC90LDQu9C40LfQuNGA0LAuIgorCisjOiBidWlsdGluL2hlbHAuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1hY3NjbGllbnQgdmVyc2lvbiAnJWQnIHRvbyBvbGQgKDwgMjIpLiIKK21zZ3N0ciAi0J/RgNC10LrQsNC70LXQvdC+INGB0YLQsNGA0LAg0LLQtdGA0YHQuNGPINC90LAg4oCeZW1hY3NjbGllbnTigJwg4oCUICVkICg8IDIyKS4iCisKKyM6IGJ1aWx0aW4vaGVscC5jOjEzMSBidWlsdGluL2hlbHAuYzoxNTkgYnVpbHRpbi9oZWxwLmM6MTY4IGJ1aWx0aW4vaGVscC5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnOiAlcyIKK21zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg4oCeJXPigJw6ICVzIgorCisjOiBidWlsdGluL2hlbHAuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiclcyc6IHBhdGggZm9yIHVuc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCisiUGxlYXNlIGNvbnNpZGVyIHVzaW5nICdtYW4uPHRvb2w+LmNtZCcgaW5zdGVhZC4iCittc2dzdHIgIiIKKyLigJ4lc+KAnDog0L/RitGCINC60YrQvCDQvdC10L/QvtC00LTRitGA0LbQsNC90LAg0L/RgNC+0LPRgNCw0LzQsCDQt9CwINGA0LDQt9Cz0LvQtdC20LTQsNC90LUg0L3QsFxuIgorIiDRgNGK0LrQvtCy0L7QtNGB0YLQstC+0YLQvi4g0JLQvNC10YHRgtC+INC90LXRjyDQv9GA0L7QsdCy0LDQudGC0LUg4oCebWFuLjx0b29sPi5jbWTigJwuIgorCisjOiBidWlsdGluL2hlbHAuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiclcyc6IGNtZCBmb3Igc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCisiUGxlYXNlIGNvbnNpZGVyIHVzaW5nICdtYW4uPHRvb2w+LnBhdGgnIGluc3RlYWQuIgorbXNnc3RyICIiCisi4oCeJXPigJw6INC60L7QvNCw0L3QtNCwINC30LAg0L/QvtC00LTRitGA0LbQsNC90LAg0L/RgNC+0LPRgNCw0LzQsCDQt9CwINGA0LDQt9Cz0LvQtdC20LTQsNC90LUg0L3QsFxuIgorIiDRgNGK0LrQvtCy0L7QtNGB0YLQstC+0YLQvi4g0JLQvNC10YHRgtC+INC90LXRjyDQv9GA0L7QsdCy0LDQudGC0LUg4oCebWFuLjx0b29sPi5wYXRo4oCcLiIKKworIzogYnVpbHRpbi9oZWxwLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcyc6IHVua25vd24gbWFuIHZpZXdlci4iCittc2dzdHIgIuKAniVz4oCcOiDQvdC10L/QvtC30L3QsNGC0LAg0L/RgNC+0LPRgNCw0LzQsCDQt9CwINC/0YDQtdCz0LvQtdC0INC90LAg0YDRitC60L7QstC+0LTRgdGC0LLQvtGC0L4uIgorCisjOiBidWlsdGluL2hlbHAuYzozNzAKK21zZ2lkICJubyBtYW4gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCittc2dzdHIgItC90LjQutC+0Y8g0L/RgNC+0LPRgNCw0LzQsCDQt9CwINGA0YrQutC+0LLQvtC00YHRgtCy0L4g0L3QtSDRg9GB0L/RjyDQtNCwINC+0LHRgNCw0LHQvtGC0Lgg0LfQsNGP0LLQutCw0YLQsCIKKworIzogYnVpbHRpbi9oZWxwLmM6Mzc4Cittc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKK21zZ3N0ciAi0L3QuNC60L7RjyDQv9GA0L7Qs9GA0LDQvNCwINC30LAg0LjQvdGE0L7RgNC80LDRhtC40L7QvdC90Lgg0YHRgtGA0LDQvdC40YbQuCDQvdC1INGD0YHQv9GPINC00LAg0L7QsdGA0LDQsdC+0YLQuCDQt9Cw0Y/QstC60LDRgtCwIgorCisjOiBidWlsdGluL2hlbHAuYzo0MjQKK21zZ2lkICJEZWZpbmluZyBhdHRyaWJ1dGVzIHBlciBwYXRoIgorbXNnc3RyICLQo9C60LDQt9Cy0LDQvdC1INC90LAg0LDRgtGA0LjQsdGD0YLQuCDQutGK0Lwg0L/RitGCIgorCisjOiBidWlsdGluL2hlbHAuYzo0MjUKK21zZ2lkICJBIEdpdCBnbG9zc2FyeSIKK21zZ3N0ciAi0KDQtdGH0L3QuNC6INGBINGC0LXRgNC80LjQvdC40YLQtSDQvdCwIEdpdCIKKworIzogYnVpbHRpbi9oZWxwLmM6NDI2Cittc2dpZCAiU3BlY2lmaWVzIGludGVudGlvbmFsbHkgdW50cmFja2VkIGZpbGVzIHRvIGlnbm9yZSIKK21zZ3N0ciAi0KPQutCw0LfQstCw0L3QtSDQvdCwINC90LXRgdC70LXQtNC10L3QuCDRhNCw0LnQu9C+0LLQtSwg0LrQvtC40YLQviDQtNCwINCx0YrQtNCw0YIg0L3QsNGA0L7Rh9C90L4g0L/RgNC10L3QtdCx0YDQtdCz0LLQsNC90LgiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQyNworbXNnaWQgIkRlZmluaW5nIHN1Ym1vZHVsZSBwcm9wZXJ0aWVzIgorbXNnc3RyICLQlNC10YTQuNC90LjRgNCw0L3QtSDQvdCwINGB0LLQvtC50YHRgtCy0LDRgtCwINC90LAg0L/QvtC00LzQvtC00YPQu9C40YLQtSIKKworIzogYnVpbHRpbi9oZWxwLmM6NDI4Cittc2dpZCAiU3BlY2lmeWluZyByZXZpc2lvbnMgYW5kIHJhbmdlcyBmb3IgR2l0IgorbXNnc3RyICLQo9C60LDQt9Cy0LDQvdC1INC90LAg0LLQtdGA0YHQuNC4INC4INC40L3RgtC10YDQstCw0LvQuCDQsiBHaXQiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQyOQorbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdCAoZm9yIHZlcnNpb24gMS41LjEgb3IgbmV3ZXIpIgorbXNnc3RyICLQktGK0LLQtdC20LTQsNGJINGD0YDQvtC6INC30LAgR2l0ICjQstC10YDRgdC40Lgg0L/QvtC90LUgMS41LjEpIgorCisjOiBidWlsdGluL2hlbHAuYzo0MzAKK21zZ2lkICJBbiBvdmVydmlldyBvZiByZWNvbW1lbmRlZCB3b3JrZmxvd3Mgd2l0aCBHaXQiCittc2dzdHIgItCe0LHRiSDQv9GA0LXQs9C70LXQtCDQvdCwINC/0YDQtdC/0L7RgNGK0YfQstCw0L3QuNGC0LUg0L3QsNGH0LjQvdC4INC30LAg0YDQsNCx0L7RgtCwINGBIEdpdCIKKworIzogYnVpbHRpbi9oZWxwLmM6NDQyCittc2dpZCAiVGhlIGNvbW1vbiBHaXQgZ3VpZGVzIGFyZTpcbiIKK21zZ3N0ciAi0J/QvtC/0YPQu9GP0YDQvdC40YLQtSDQv9GK0YLQtdCy0L7QtNC40YLQtdC70Lgg0LIgR2l0INGB0LA6XG4iCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQ2MyBidWlsdGluL2hlbHAuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNhZ2U6ICVzJXMiCittc2dzdHIgItGD0L/QvtGC0YDQtdCx0LA6ICVzJXMiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQ5NgorIywgYy1mb3JtYXQKK21zZ2lkICJgZ2l0ICVzJyBpcyBhbGlhc2VkIHRvIGAlcyciCittc2dzdHIgIuKAnmdpdCAlc+KAnCDQtSDRgdC40L3QvtC90LjQvCDQvdCwIOKAniVz4oCcIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0IHR5cGUgbWlzbWF0Y2ggYXQgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA0Cittc2dpZCAib2JqZWN0IG9mIHVuZXhwZWN0ZWQgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKK21zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTQKK21zZ2lkICJlYXJseSBFT0YiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjU1Cittc2dpZCAicmVhZCBlcnJvciBvbiBpbnB1dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjcKK21zZ2lkICJ1c2VkIG1vcmUgYnl0ZXMgdGhhbiB3ZXJlIGF2YWlsYWJsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzQKK21zZ2lkICJwYWNrIHRvbyBsYXJnZSBmb3IgY3VycmVudCBkZWZpbml0aW9uIG9mIG9mZl90IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzA5Cittc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgInBhY2sgdmVyc2lvbiAlPFBSSXUzMj4gdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICVsdTogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDUxCisjLCBjLWZvcm1hdAorbXNnaWQgImluZmxhdGUgcmV0dXJuZWQgJWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTAwCittc2dpZCAib2Zmc2V0IHZhbHVlIG92ZXJmbG93IGZvciBkZWx0YSBiYXNlIG9iamVjdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MDgKK21zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBpcyBvdXQgb2YgYm91bmQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTE2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb2JqZWN0IHR5cGUgJWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTQ3Cittc2dpZCAiY2Fubm90IHByZWFkIHBhY2sgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICVsdSBieXRlIG1pc3NpbmciCittc2dpZF9wbHVyYWwgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlbHUgYnl0ZXMgbWlzc2luZyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NQorbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjY2NiBidWlsdGluL2luZGV4LXBhY2suYzo2NzIgYnVpbHRpbi9pbmRleC1wYWNrLmM6Njk1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3MjkgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzM4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo2NjkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjczNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYmxvYiBvYmplY3QgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzYzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzY2Cittc2dpZCAiRXJyb3IgaW4gb2JqZWN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc2OAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzkgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODY5Cittc2dpZCAiZmFpbGVkIHRvIGFwcGx5IGRlbHRhIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMTAKK21zZ2lkICJSZWNlaXZpbmcgb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDEwCittc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM2Cittc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNDEKK21zZ2lkICJjYW5ub3QgZnN0YXQgcGFja2ZpbGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA0NAorbXNnaWQgInBhY2sgaGFzIGp1bmsgYXQgdGhlIGVuZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDU1Cittc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDc4Cittc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDg4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTMwCittc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0OAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHRhaWwgY2hlY2tzdW0gZm9yICVzIChkaXNrIGNvcnJ1cHRpb24/KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTUyCisjLCBjLWZvcm1hdAorbXNnaWQgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGEiCittc2dpZF9wbHVyYWwgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGFzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImxvY2FsIG9iamVjdCAlcyBpcyBjb3JydXB0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyODAKK21zZ2lkICJlcnJvciB3aGlsZSBjbG9zaW5nIHBhY2sgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBrZWVwIGZpbGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzAxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjbG9zZSB3cml0dGVuIGtlZXAgZmlsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMTQKK21zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMjUKK21zZ2lkICJjYW5ub3Qgc3RvcmUgaW5kZXggZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzU4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyOAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGlkeCBmaWxlIGZvciAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCittc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCittc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MTAKK21zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTU4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NjEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NzMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3NworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MQorbXNnaWQgIi0tZml4LXRoaW4gY2Fubm90IGJlIHVzZWQgd2l0aG91dCAtLXN0ZGluIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjE0Cittc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBtYWtlICVzIHdyaXRhYmxlIGJ5IGdyb3VwIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgImluc2FuZWx5IGxvbmcgdGVtcGxhdGUgbmFtZSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luaXQtZGIuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdGF0IHRlbXBsYXRlICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW5kaXIgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luaXQtZGIuYzo5NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZGxpbmsgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luaXQtZGIuYzo5OQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnNhbmVseSBsb25nIHN5bWxpbmsgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzeW1saW5rICclcycgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luaXQtZGIuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNvcHkgJyVzJyB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB0ZW1wbGF0ZSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luaXQtZGIuYzoxMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5zYW5lbHkgbG9uZyB0ZW1wbGF0ZSBwYXRoICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjE0MQorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZW1wbGF0ZXMgbm90IGZvdW5kICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjE1NAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgY29weWluZyB0ZW1wbGF0ZXMgb2YgYSB3cm9uZyBmb3JtYXQgdmVyc2lvbiAlZCBmcm9tICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgImluc2FuZSBnaXQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMyMyBidWlsdGluL2luaXQtZGIuYzozMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBoYW5kbGUgZmlsZSB0eXBlICVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gbW92ZSAlcyB0byAlcyIKK21zZ3N0ciAiIgorCisjLgorIy4gKiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICclcycgaXMgZWl0aGVyICJSZWluaXRpYWxpemVkCisjLiAqIGV4aXN0aW5nIiBvciAiSW5pdGlhbGl6ZWQgZW1wdHkiLCB0aGUgc2Vjb25kICIgc2hhcmVkIiBvcgorIy4gKiAiIiwgYW5kIHRoZSBsYXN0ICclcyVzJyBpcyB0aGUgdmVyYmF0aW0gZGlyZWN0b3J5IG5hbWUuCisjLgorIzogYnVpbHRpbi9pbml0LWRiLmM6NDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQyMQorbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NDIxCittc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NDIyCittc2dpZCAiIHNoYXJlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luaXQtZGIuYzo0NDEKK21zZ2lkICJjYW5ub3QgdGVsbCBjd2QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NDY3Cittc2dpZCAiIgorImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTx0ZW1wbGF0ZS1kaXJlY3Rvcnk+XSBbLS0iCisic2hhcmVkWz08cGVybWlzc2lvbnM+XV0gW2RpcmVjdG9yeV0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NDkwCittc2dpZCAicGVybWlzc2lvbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NDkxCittc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5MyBidWlsdGluL3BydW5lLXBhY2tlZC5jOjc5IGJ1aWx0aW4vcmVwYWNrLmM6MTU1Cittc2dpZCAiYmUgcXVpZXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NTIyIGJ1aWx0aW4vaW5pdC1kYi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NTMzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGRpciB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luaXQtZGIuYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIChvciAtLXdvcmstdHJlZT08ZGlyZWN0b3J5Pikgbm90IGFsbG93ZWQgd2l0aG91dCBzcGVjaWZ5aW5nICVzIChvciAtLWdpdC0iCisiZGlyPTxkaXJlY3Rvcnk+KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luaXQtZGIuYzo1NzkKK21zZ2lkICJDYW5ub3QgYWNjZXNzIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBhY2Nlc3Mgd29yayB0cmVlICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzo0MQorbXNnaWQgImdpdCBsb2cgWzxvcHRpb25zPl0gWzxyZXZpc2lvbiByYW5nZT5dIFtbLS1dIDxwYXRoPi4uLl1cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjQyCittc2dpZCAiICAgb3I6IGdpdCBzaG93IFtvcHRpb25zXSA8b2JqZWN0Pi4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjEyNQorbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2Cittc2dpZCAic2hvdyBzb3VyY2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMjcKK21zZ2lkICJVc2UgbWFpbCBtYXAgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjEyOAorbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluYWwgb3V0cHV0OiAlZCAlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6NDczIGJ1aWx0aW4vbG9nLmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIHR5cGU6ICVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6Njg5Cittc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjc3MQorbXNnaWQgIm5hbWUgb2Ygb3V0cHV0IGRpcmVjdG9yeSBpcyB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjc4NworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6ODAxCittc2dpZCAiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzo4MDkKK21zZ2lkICJOb3QgYSByYW5nZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzo5MTEKK21zZ2lkICJDb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6OTg3CisjLCBjLWZvcm1hdAorbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMDE1Cittc2dpZCAiZ2l0IGZvcm1hdC1wYXRjaCBbb3B0aW9uc10gWzxzaW5jZT4gfCA8cmV2aXNpb24gcmFuZ2U+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjEwNjAKK21zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjExNzUKK21zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTE3OAorbXNnaWQgInVzZSBbUEFUQ0hdIGV2ZW4gd2l0aCBtdWx0aXBsZSBwYXRjaGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4MgorbXNnaWQgInByaW50IHBhdGNoZXMgdG8gc3RhbmRhcmQgb3V0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4NAorbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4NgorbXNnaWQgInVzZSBzaW1wbGUgbnVtYmVyIHNlcXVlbmNlIGZvciBvdXRwdXQgZmlsZSBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjExODcKK21zZ2lkICJzZngiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMTg4Cittc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMTkwCisjLCBmdXp6eQorbXNnaWQgInN0YXJ0IG51bWJlcmluZyBwYXRjaGVzIGF0IDxuPiBpbnN0ZWFkIG9mIDEiCittc2dzdHIgIjzQsdGA0L7QuT4iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTE5MgorbXNnaWQgIm1hcmsgdGhlIHNlcmllcyBhcyBOdGggcmUtcm9sbCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjExOTQKK21zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMTk3Cittc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwMAorbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwMworbXNnaWQgImRvbid0IG91dHB1dCBiaW5hcnkgZGlmZnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMjA1Cittc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwNworbXNnaWQgInNob3cgcGF0Y2ggZm9ybWF0IGluc3RlYWQgb2YgZGVmYXVsdCAocGF0Y2ggKyBzdGF0KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjEyMDkKK21zZ2lkICJNZXNzYWdpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMjEwCittc2dpZCAiaGVhZGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxMQorbXNnaWQgImFkZCBlbWFpbCBoZWFkZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMjEyIGJ1aWx0aW4vbG9nLmM6MTIxNAorbXNnaWQgImVtYWlsIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxMgorbXNnaWQgImFkZCBUbzogaGVhZGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNAorbXNnaWQgImFkZCBDYzogaGVhZGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNgorbXNnaWQgImlkZW50IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNworbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMjE5Cittc2dpZCAibWVzc2FnZS1pZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjEyMjAKK21zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMjIxIGJ1aWx0aW4vbG9nLmM6MTIyNAorbXNnaWQgImJvdW5kYXJ5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTIyMgorbXNnaWQgImF0dGFjaCB0aGUgcGF0Y2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMjI1Cittc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjEyMjkKK21zZ2lkICJlbmFibGUgbWVzc2FnZSB0aHJlYWRpbmcsIHN0eWxlczogc2hhbGxvdywgZGVlcCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjEyMzEKK21zZ2lkICJzaWduYXR1cmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMjMyCittc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTIzMworbXNnaWQgImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMzA3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMzIyCittc2dpZCAiLW4gYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTMyNAorbXNnaWQgIi0tc3ViamVjdC1wcmVmaXggYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTMzMgorbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMzM0Cittc2dpZCAiLS1uYW1lLXN0YXR1cyBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTMzNgorbXNnaWQgIi0tY2hlY2sgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjEzNTkKK21zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjEzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE1MDkKK21zZ2lkICJGYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE1NTgKK21zZ2lkICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGxpbWl0Pl1dXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE2MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNvdWxkIG5vdCBmaW5kIGEgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBwbGVhc2Ugc3BlY2lmeSA8dXBzdHJlYW0+IG1hbnVhbGx5LlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTYyNiBidWlsdGluL2xvZy5jOjE2MjggYnVpbHRpbi9sb2cuYzoxNjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWl0ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzozOTgKK21zZ2lkICJnaXQgbHMtZmlsZXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTUKK21zZ2lkICJpZGVudGlmeSB0aGUgZmlsZSBzdGF0dXMgd2l0aCB0YWdzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTcKK21zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdhc3N1bWUgdW5jaGFuZ2VkJyBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU5Cittc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MQorbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjMKK21zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NQorbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDY3Cittc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MAorbXNnaWQgInNob3cgc3RhZ2VkIGNvbnRlbnRzJyBvYmplY3QgbmFtZSBpbiB0aGUgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzIKK21zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzQKK21zZ2lkICJzaG93ICdvdGhlcicgZGlyZWN0b3JpZXMnIG5hbWUgb25seSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDc3Cittc2dpZCAiZG9uJ3Qgc2hvdyBlbXB0eSBkaXJlY3RvcmllcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDgwCittc2dpZCAic2hvdyB1bm1lcmdlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODIKK21zZ2lkICJzaG93IHJlc29sdmUtdW5kbyBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDg0Cittc2dpZCAic2tpcCBmaWxlcyBtYXRjaGluZyBwYXR0ZXJuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODcKK21zZ2lkICJleGNsdWRlIHBhdHRlcm5zIGFyZSByZWFkIGZyb20gPGZpbGU+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTAKK21zZ2lkICJyZWFkIGFkZGl0aW9uYWwgcGVyLWRpcmVjdG9yeSBleGNsdWRlIHBhdHRlcm5zIGluIDxmaWxlPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDkyCittc2dpZCAiYWRkIHRoZSBzdGFuZGFyZCBnaXQgZXhjbHVzaW9ucyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDk1Cittc2dpZCAibWFrZSB0aGUgb3V0cHV0IHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHRvcCBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5OAorbXNnaWQgImlmIGFueSA8ZmlsZT4gaXMgbm90IGluIHRoZSBpbmRleCwgdHJlYXQgdGhpcyBhcyBhbiBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDk5Cittc2dpZCAidHJlZS1pc2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjUwMAorbXNnaWQgInByZXRlbmQgdGhhdCBwYXRocyByZW1vdmVkIHNpbmNlIDx0cmVlLWlzaD4gYXJlIHN0aWxsIHByZXNlbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjUwMgorbXNnaWQgInNob3cgZGVidWdnaW5nIGRhdGEiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy10cmVlLmM6MjgKK21zZ2lkICJnaXQgbHMtdHJlZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyNgorbXNnaWQgIm9ubHkgc2hvdyB0cmVlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLXRyZWUuYzoxMjgKK21zZ2lkICJyZWN1cnNlIGludG8gc3VidHJlZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy10cmVlLmM6MTMwCittc2dpZCAic2hvdyB0cmVlcyB3aGVuIHJlY3Vyc2luZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzMKK21zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCBieXRlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNAorbXNnaWQgImluY2x1ZGUgb2JqZWN0IHNpemUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy10cmVlLmM6MTM2IGJ1aWx0aW4vbHMtdHJlZS5jOjEzOAorbXNnaWQgImxpc3Qgb25seSBmaWxlbmFtZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy10cmVlLmM6MTQxCittc2dpZCAidXNlIGZ1bGwgcGF0aCBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDMKK21zZ2lkICJsaXN0IGVudGlyZSB0cmVlOyBub3QganVzdCBjdXJyZW50IGRpcmVjdG9yeSAoaW1wbGllcyAtLWZ1bGwtbmFtZSkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjQzCittc2dpZCAiZ2l0IG1lcmdlIFtvcHRpb25zXSBbPGNvbW1pdD4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0NAorbXNnaWQgImdpdCBtZXJnZSBbb3B0aW9uc10gPG1zZz4gSEVBRCA8Y29tbWl0PiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6NDUKK21zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6OTgKK21zZ2lkICJzd2l0Y2ggYG0nIHJlcXVpcmVzIGEgdmFsdWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZmluZCBtZXJnZSBzdHJhdGVneSAnJXMnLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXZhaWxhYmxlIHN0cmF0ZWdpZXMgYXJlOiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkF2YWlsYWJsZSBjdXN0b20gc3RyYXRlZ2llcyBhcmU6IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTEKK21zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTQKK21zZ2lkICJzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE5NQorbXNnaWQgIihzeW5vbnltIHRvIC0tc3RhdCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE5NworIywgZnV6enkKK21zZ2lkICJhZGQgKGF0IG1vc3QgPG4+KSBlbnRyaWVzIGZyb20gc2hvcnRsb2cgdG8gbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgIjzQsdGA0L7QuT4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDAKK21zZ2lkICJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MjAyCittc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDQKK21zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjIwNQorbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCAoZGVmYXVsdCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjIwNworbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjIxMQorbXNnaWQgIlZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MjEyIGJ1aWx0aW4vbm90ZXMuYzo3MzggYnVpbHRpbi9yZXZlcnQuYzo4OQorbXNnaWQgInN0cmF0ZWd5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTMKK21zZ2lkICJtZXJnZSBzdHJhdGVneSB0byB1c2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjIxNAorbXNnaWQgIm9wdGlvbj12YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MjE1Cittc2dpZCAib3B0aW9uIGZvciBzZWxlY3RlZCBtZXJnZSBzdHJhdGVneSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MjE3Cittc2dpZCAibWVyZ2UgY29tbWl0IG1lc3NhZ2UgKGZvciBhIG5vbi1mYXN0LWZvcndhcmQgbWVyZ2UpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjEKK21zZ2lkICJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MjUwCittc2dpZCAiY291bGQgbm90IHJ1biBzdGFzaC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI1NQorbXNnaWQgInN0YXNoIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdDogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI3OSBidWlsdGluL21lcmdlLmM6Mjk2Cittc2dpZCAicmVhZC10cmVlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MzI2Cittc2dpZCAiIChub3RoaW5nIHRvIHNxdWFzaCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjMzOQorIywgYy1mb3JtYXQKK21zZ2lkICJTcXVhc2ggY29tbWl0IC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjM3MQorbXNnaWQgIldyaXRpbmcgU1FVQVNIX01TRyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MzczCittc2dpZCAiRmluaXNoaW5nIFNRVUFTSF9NU0ciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJObyBtZXJnZSBtZXNzYWdlIC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6NjUwCittc2dpZCAiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6Njc4Cittc2dpZCAiTm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6NjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gb3B0aW9uIGZvciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjcwNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjc5NQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcmVhZCBmcm9tICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjgwNAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgY29tbWl0dGluZyBtZXJnZTsgdXNlICdnaXQgY29tbWl0JyB0byBjb21wbGV0ZSB0aGUgbWVyZ2UuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjgxMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCisiZXNwZWNpYWxseSBpZiBpdCBtZXJnZXMgYW4gdXBkYXRlZCB1cHN0cmVhbSBpbnRvIGEgdG9waWMgYnJhbmNoLlxuIgorIlxuIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSBtZXNzYWdlIGFib3J0c1xuIgorInRoZSBjb21taXQuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjgzNAorbXNnaWQgIkVtcHR5IGNvbW1pdCBtZXNzYWdlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6ODQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIldvbmRlcmZ1bC5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6OTExCisjLCBjLWZvcm1hdAorbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSBmYWlsZWQ7IGZpeCBjb25mbGljdHMgYW5kIHRoZW4gY29tbWl0IHRoZSByZXN1bHQuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6OTY4Cittc2dpZCAiTm8gY3VycmVudCBicmFuY2guIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzAKK21zZ2lkICJObyByZW1vdGUgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjk3MgorbXNnaWQgIk5vIGRlZmF1bHQgdXBzdHJlYW0gZGVmaW5lZCBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6OTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHJlbW90ZS10cmFja2luZyBicmFuY2ggZm9yICVzIGZyb20gJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjExMzMKK21zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSB0byBhYm9ydCAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjExNDkgZ2l0LXB1bGwuc2g6MzEKK21zZ2lkICIiCisiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCisiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgY2FuIG1lcmdlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTE1MiBnaXQtcHVsbC5zaDozNAorbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTE1NgorbXNnaWQgIiIKKyJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS5cbiIKKyJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTU5Cittc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTY4Cittc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tc3F1YXNoIHdpdGggLS1uby1mZi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjExNzcKK21zZ2lkICJObyBjb21taXQgc3BlY2lmaWVkIGFuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub3Qgc2V0LiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTIwOQorbXNnaWQgIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEyMTIKK21zZ2lkICJTcXVhc2ggY29tbWl0IGludG8gZW1wdHkgaGVhZCBub3Qgc3VwcG9ydGVkIHlldCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTIxNAorbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gbm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29tbWl0ICVzIGhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSwgYWxsZWdlZGx5IGJ5ICVzLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTI3MworIywgYy1mb3JtYXQKK21zZ2lkICJDb21taXQgJXMgaGFzIGEgYmFkIEdQRyBzaWduYXR1cmUgYWxsZWdlZGx5IGJ5ICVzLiIKK21zZ3N0ciAiIgorCisjLiAnTicKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIGEgR1BHIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGdvb2QgR1BHIHNpZ25hdHVyZSBieSAlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVwZGF0aW5nICVzLi4lc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vcGUuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE0NDEKK21zZ2lkICJOb3QgcG9zc2libGUgdG8gZmFzdC1mb3J3YXJkLCBhYm9ydGluZy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE0NjQgYnVpbHRpbi9tZXJnZS5jOjE1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIG1lcmdlIHN0cmF0ZWd5ICVzLi4uXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gbWVyZ2Ugc3RyYXRlZ3kgaGFuZGxlZCB0aGUgbWVyZ2UuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE1MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdGhlICVzIHRvIHByZXBhcmUgcmVzb2x2aW5nIGJ5IGhhbmQuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXV0b21hdGljIG1lcmdlIHdlbnQgd2VsbDsgc3RvcHBlZCBiZWZvcmUgY29tbWl0dGluZyBhcyByZXF1ZXN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyOQorbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYXwtLWFsbF0gPGNvbW1pdD4gPGNvbW1pdD4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzAKK21zZ2lkICJnaXQgbWVyZ2UtYmFzZSBbLWF8LS1hbGxdIC0tb2N0b3B1cyA8Y29tbWl0Pi4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMQorbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGNvbW1pdD4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzIKK21zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWlzLWFuY2VzdG9yIDxjb21taXQ+IDxjb21taXQ+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMzCittc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IDxyZWY+IFs8Y29tbWl0Pl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE0Cittc2dpZCAib3V0cHV0IGFsbCBjb21tb24gYW5jZXN0b3JzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxNgorbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTgKK21zZ2lkICJsaXN0IHJldnMgbm90IHJlYWNoYWJsZSBmcm9tIG90aGVycyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjAKK21zZ2lkICJpcyB0aGUgZmlyc3Qgb25lIGFuY2VzdG9yIG9mIHRoZSBvdGhlcj8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIyCittc2dpZCAiZmluZCB3aGVyZSA8Y29tbWl0PiBmb3JrZWQgZnJvbSByZWZsb2cgb2YgPHJlZj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OAorbXNnaWQgIiIKKyJnaXQgbWVyZ2UtZmlsZSBbb3B0aW9uc10gWy1MIG5hbWUxIFstTCBvcmlnIFstTCBuYW1lMl1dXSBmaWxlMSBvcmlnX2ZpbGUgIgorImZpbGUyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjMzCittc2dpZCAic2VuZCByZXN1bHRzIHRvIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLWZpbGUuYzozNAorbXNnaWQgInVzZSBhIGRpZmYzIGJhc2VkIG1lcmdlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjM1Cittc2dpZCAiZm9yIGNvbmZsaWN0cywgdXNlIG91ciB2ZXJzaW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjM3Cittc2dpZCAiZm9yIGNvbmZsaWN0cywgdXNlIHRoZWlyIHZlcnNpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzkKK21zZ2lkICJmb3IgY29uZmxpY3RzLCB1c2UgYSB1bmlvbiB2ZXJzaW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQyCittc2dpZCAiZm9yIGNvbmZsaWN0cywgdXNlIHRoaXMgbWFya2VyIHNpemUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6NDMKK21zZ2lkICJkbyBub3Qgd2FybiBhYm91dCBjb25mbGljdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6NDUKK21zZ2lkICJzZXQgbGFiZWxzIGZvciBmaWxlMS9vcmlnX2ZpbGUvZmlsZTIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ta3RyZWUuYzo2NworbXNnaWQgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ta3RyZWUuYzoxNTMKK21zZ2lkICJpbnB1dCBpcyBOVUwgdGVybWluYXRlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21rdHJlZS5jOjE1NCBidWlsdGluL3dyaXRlLXRyZWUuYzoyNAorbXNnaWQgImFsbG93IG1pc3Npbmcgb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21rdHJlZS5jOjE1NQorbXNnaWQgImFsbG93IGNyZWF0aW9uIG9mIG1vcmUgdGhhbiBvbmUgdHJlZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL212LmM6MTUKK21zZ2lkICJnaXQgbXYgW29wdGlvbnNdIDxzb3VyY2U+Li4uIDxkZXN0aW5hdGlvbj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjcxCittc2dpZCAiZm9yY2UgbW92ZS9yZW5hbWUgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXYuYzo3MgorbXNnaWQgInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXYuYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXYuYzoxMjYKK21zZ2lkICJiYWQgc291cmNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXYuYzoxMjkKK21zZ2lkICJjYW4gbm90IG1vdmUgZGlyZWN0b3J5IGludG8gaXRzZWxmIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXYuYzoxMzIKK21zZ2lkICJjYW5ub3QgbW92ZSBkaXJlY3Rvcnkgb3ZlciBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXYuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVoPyBEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjE0MCBidWlsdGluL3JtLmM6MzE4Cittc2dpZCAiUGxlYXNlLCBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgorbXNnc3RyICIiCisi0JfQsCDQtNCwINC/0YDQvtC00YrQu9C20LjRgtC1INC40LvQuCDQstC60LDRgNCw0LnRgtC1INC/0YDQvtC80LXQvdC40YLQtSDQv9C+INGE0LDQudC70LAg4oCeLmdpdG1vZHVsZXPigJwg0LIg0LjQvdC00LXQutGB0LAsICIKKyLQuNC70LhcbiIKKyLQs9C4INGB0LrRitGC0LDQudGC0LUiCisKKyM6IGJ1aWx0aW4vbXYuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVoPyAlLipzIGlzIGluIGluZGV4PyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL212LmM6MTY4Cittc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL212LmM6MjAwCittc2dpZCAibm90IHVuZGVyIHZlcnNpb24gY29udHJvbCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL212LmM6MjAyCittc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXYuYzoyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3ZlcndyaXRpbmcgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL212LmM6MjEzCittc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL212LmM6MjE2Cittc2dpZCAibXVsdGlwbGUgc291cmNlcyBmb3IgdGhlIHNhbWUgdGFyZ2V0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXYuYzoyMTgKK21zZ2lkICJkZXN0aW5hdGlvbiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL212LmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjI0NiBidWlsdGluL3JlbW90ZS5jOjcyNiBidWlsdGluL3JlcGFjay5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJyZW5hbWluZyAnJXMnIGZhaWxlZCIKK21zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC/0YDQtdC40LzQtdC90YPQstCw0L3QtSDQvdCwIOKAniVz4oCcIgorCisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU4Cittc2dpZCAiZ2l0IG5hbWUtcmV2IFtvcHRpb25zXSA8Y29tbWl0Pi4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU5Cittc2dpZCAiZ2l0IG5hbWUtcmV2IFtvcHRpb25zXSAtLWFsbCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25hbWUtcmV2LmM6MjYwCittc2dpZCAiZ2l0IG5hbWUtcmV2IFtvcHRpb25zXSAtLXN0ZGluIgorbXNnc3RyICIiCisKKyMgRklYTUUKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKK21zZ2lkICJwcmludCBvbmx5IG5hbWVzIChubyBTSEEtMSkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMworbXNnaWQgIm9ubHkgdXNlIHRhZ3MgdG8gbmFtZSB0aGUgY29tbWl0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE1Cittc2dpZCAib25seSB1c2UgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNworbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOAorbXNnaWQgInJlYWQgZnJvbSBzdGRpbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE5Cittc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMgKGRlZmF1bHQpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjUKK21zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MjQKK21zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlc19yZWY+XSBbbGlzdCBbPG9iamVjdD5dXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MjUKK21zZ2lkICIiCisiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXNfcmVmPl0gYWRkIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+IHwgKC1jIHwgLUMpICIKKyI8b2JqZWN0Pl0gWzxvYmplY3Q+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MjYKK21zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlc19yZWY+XSBjb3B5IFstZl0gPGZyb20tb2JqZWN0PiA8dG8tb2JqZWN0PiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MjcKK21zZ2lkICIiCisiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXNfcmVmPl0gYXBwZW5kIFstbSA8bXNnPiB8IC1GIDxmaWxlPiB8ICgtYyB8IC1DKSAiCisiPG9iamVjdD5dIFs8b2JqZWN0Pl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjI4Cittc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXNfcmVmPl0gZWRpdCBbPG9iamVjdD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyOQorbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzX3JlZj5dIHNob3cgWzxvYmplY3Q+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MzAKK21zZ2lkICIiCisiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXNfcmVmPl0gbWVyZ2UgWy12IHwgLXFdIFstcyA8c3RyYXRlZ3k+IF0gPG5vdGVzX3JlZj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjMxCittc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFstdiB8IC1xXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MzIKK21zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbLXYgfCAtcV0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjMzCittc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXNfcmVmPl0gcmVtb3ZlIFs8b2JqZWN0Pi4uLl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjM0Cittc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXNfcmVmPl0gcHJ1bmUgWy1uIHwgLXZdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNQorbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzX3JlZj5dIGdldC1yZWYiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjQwCittc2dpZCAiZ2l0IG5vdGVzIFtsaXN0IFs8b2JqZWN0Pl1dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NQorbXNnaWQgImdpdCBub3RlcyBhZGQgWzxvcHRpb25zPl0gWzxvYmplY3Q+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NTAKK21zZ2lkICJnaXQgbm90ZXMgY29weSBbPG9wdGlvbnM+XSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MQorbXNnaWQgImdpdCBub3RlcyBjb3B5IC0tc3RkaW4gWzxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD5dLi4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NgorbXNnaWQgImdpdCBub3RlcyBhcHBlbmQgWzxvcHRpb25zPl0gWzxvYmplY3Q+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NjEKK21zZ2lkICJnaXQgbm90ZXMgZWRpdCBbPG9iamVjdD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2NgorbXNnaWQgImdpdCBub3RlcyBzaG93IFs8b2JqZWN0Pl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcxCittc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIFs8b3B0aW9ucz5dIDxub3Rlc19yZWY+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MgorbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NzMKK21zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NzgKK21zZ2lkICJnaXQgbm90ZXMgcmVtb3ZlIFs8b2JqZWN0Pl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjgzCittc2dpZCAiZ2l0IG5vdGVzIHBydW5lIFs8b3B0aW9ucz5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4OAorbXNnaWQgImdpdCBub3RlcyBnZXQtcmVmIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICdzaG93JyBmb3Igb2JqZWN0ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjE0MQorbXNnaWQgImNvdWxkIG5vdCByZWFkICdzaG93JyBvdXRwdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZmluaXNoICdzaG93JyBmb3Igb2JqZWN0ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjE2NyBidWlsdGluL3RhZy5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MTg2Cittc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbm90ZSBjb250ZW50cyB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDcgYnVpbHRpbi9ub3Rlcy5jOjg0NAorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1vdmluZyBub3RlIGZvciBvYmplY3QgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MjEyCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5vdGUgb2JqZWN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG5vdGUgY29udGVudHMgaGFzIGJlZW4gbGVmdCBpbiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MjQ4IGJ1aWx0aW4vdGFnLmM6NTM3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjI1MCBidWlsdGluL3RhZy5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjI2OSBidWlsdGluL25vdGVzLmM6MzE2IGJ1aWx0aW4vbm90ZXMuYzozMTgKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzggYnVpbHRpbi9ub3Rlcy5jOjQzMiBidWlsdGluL25vdGVzLmM6NTE1CisjOiBidWlsdGluL25vdGVzLmM6NTIwIGJ1aWx0aW4vbm90ZXMuYzo1OTUgYnVpbHRpbi9ub3Rlcy5jOjYzNworIzogYnVpbHRpbi9ub3Rlcy5jOjgzOSBidWlsdGluL3RhZy5jOjU1MworIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MzEyCisjLCBjLWZvcm1hdAorbXNnaWQgIk1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzEgYnVpbHRpbi9ub3Rlcy5jOjQyNSBidWlsdGluL25vdGVzLmM6NDk4CisjOiBidWlsdGluL25vdGVzLmM6NTEwIGJ1aWx0aW4vbm90ZXMuYzo1ODMgYnVpbHRpbi9ub3Rlcy5jOjYzMAorIzogYnVpbHRpbi9ub3Rlcy5jOjkwNAorbXNnaWQgInRvbyBtYW55IHBhcmFtZXRlcnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjM4NCBidWlsdGluL25vdGVzLmM6NjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjQwNiBidWlsdGluL25vdGVzLmM6NTYzCittc2dpZCAibm90ZSBjb250ZW50cyBhcyBhIHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NDA5IGJ1aWx0aW4vbm90ZXMuYzo1NjYKK21zZ2lkICJub3RlIGNvbnRlbnRzIGluIGEgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NDExIGJ1aWx0aW4vbm90ZXMuYzo0MTQgYnVpbHRpbi9ub3Rlcy5jOjU2OAorIzogYnVpbHRpbi9ub3Rlcy5jOjU3MSBidWlsdGluL3RhZy5jOjQ3NAorbXNnaWQgIm9iamVjdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NDEyIGJ1aWx0aW4vbm90ZXMuYzo1NjkKK21zZ2lkICJyZXVzZSBhbmQgZWRpdCBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjQxNSBidWlsdGluL25vdGVzLmM6NTcyCittc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTcgYnVpbHRpbi9ub3Rlcy5jOjQ4NQorbXNnaWQgInJlcGxhY2UgZXhpc3Rpbmcgbm90ZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2Fubm90IGFkZCBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKKyJleGlzdGluZyBub3RlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NDU2IGJ1aWx0aW4vbm90ZXMuYzo1MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0ODYKK21zZ2lkICJyZWFkIG9iamVjdHMgZnJvbSBzdGRpbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NDg4Cittc2dpZCAibG9hZCByZXdyaXRpbmcgY29uZmlnIGZvciA8Y29tbWFuZD4gKGltcGxpZXMgLS1zdGRpbikiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjUwNgorbXNnaWQgInRvbyBmZXcgcGFyYW1ldGVycyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW5ub3QgY29weSBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKKyJleGlzdGluZyBub3RlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pc3Npbmcgbm90ZXMgb24gc291cmNlIG9iamVjdCAlcy4gQ2Fubm90IGNvcHkuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCisiUGxlYXNlIHVzZSAnZ2l0IG5vdGVzIGFkZCAtZiAtbS8tRi8tYy8tQycgaW5zdGVhZC5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NzM1Cittc2dpZCAiR2VuZXJhbCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MzcKK21zZ2lkICJNZXJnZSBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MzkKK21zZ2lkICIiCisicmVzb2x2ZSBub3RlcyBjb25mbGljdHMgdXNpbmcgdGhlIGdpdmVuIHN0cmF0ZWd5IChtYW51YWwvb3Vycy90aGVpcnMvdW5pb24vIgorImNhdF9zb3J0X3VuaXEpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NDEKK21zZ2lkICJDb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NDMKK21zZ2lkICJmaW5hbGl6ZSBub3RlcyBtZXJnZSBieSBjb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NDUKK21zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NDcKK21zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6ODQyCisjLCBjLWZvcm1hdAorbXNnaWQgIk9iamVjdCAlcyBoYXMgbm8gbm90ZVxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NTQKK21zZ2lkICJhdHRlbXB0IHRvIHJlbW92ZSBub24tZXhpc3RlbnQgbm90ZSBpcyBub3QgYW4gZXJyb3IiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg1NworbXNnaWQgInJlYWQgb2JqZWN0IG5hbWVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MzgKK21zZ2lkICJub3Rlc19yZWYiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjkzOQorbXNnaWQgInVzZSBub3RlcyBmcm9tIDxub3Rlc19yZWY+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NzQgYnVpbHRpbi9yZW1vdGUuYzoxNTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCittc2dzdHIgItCd0LXQv9C+0LfQvdCw0YLQsCDQv9C+0LTQutC+0LzQsNC90LTQsDogJXMiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjMKK21zZ2lkICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFtvcHRpb25zLi4uXSBbPCByZWYtbGlzdCB8IDwgb2JqZWN0LWxpc3RdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQKK21zZ2lkICJnaXQgcGFjay1vYmplY3RzIFtvcHRpb25zLi4uXSBiYXNlLW5hbWUgWzwgcmVmLWxpc3QgfCA8IG9iamVjdC1saXN0XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJkZWZsYXRlIGVycm9yICglZCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzk2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDAwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAlcyBkb2VzIG5vdCBhY2NlcHQgbmVnYXRpdmUgZm9ybSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIHZhbHVlICclcycgZm9yIG9wdGlvbiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NDYKK21zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NDgKK21zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1MAorbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1MworbXNnaWQgInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTQKK21zZ2lkICJ2ZXJzaW9uWyxvZmZzZXRdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NQorbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU4Cittc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjAKK21zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYyCittc2dpZCAiaWdub3JlIHBhY2tlZCBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NAorbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY2Cittc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgbWVtb3J5IGluIGFkZGl0aW9uIHRvIG9iamVjdCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjgKK21zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzAKK21zZ2lkICJyZXVzZSBleGlzdGluZyBkZWx0YXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDcyCittc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzQKK21zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc2Cittc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzgKK21zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MAorbXNnaWQgInJlYWQgcmV2aXNpb24gYXJndW1lbnRzIGZyb20gc3RhbmRhcmQgaW5wdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgyCittc2dpZCAibGltaXQgdGhlIG9iamVjdHMgdG8gdGhvc2UgdGhhdCBhcmUgbm90IHlldCBwYWNrZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg1Cittc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIGFueSByZWZlcmVuY2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg4Cittc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIGJ5IHJlZmxvZyBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5MQorbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTMKK21zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk1Cittc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NiBwYXJzZS1vcHRpb25zLmg6MTQzCittc2dpZCAidGltZSIKK21zZ3N0ciAi0LLRgNC10LzQtSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk3Cittc2dpZCAidW5wYWNrIHVucmVhY2hhYmxlIG9iamVjdHMgbmV3ZXIgdGhhbiA8dGltZT4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTAwCittc2dpZCAiY3JlYXRlIHRoaW4gcGFja3MiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTAyCittc2dpZCAiaWdub3JlIHBhY2tzIHRoYXQgaGF2ZSBjb21wYW5pb24gLmtlZXAgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDQKK21zZ2lkICJwYWNrIGNvbXByZXNzaW9uIGxldmVsIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNgorbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6NgorbXNnaWQgImdpdCBwYWNrLXJlZnMgW29wdGlvbnNdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTQKK21zZ2lkICJwYWNrIGV2ZXJ5dGhpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLXJlZnMuYzoxNQorbXNnaWQgInBydW5lIGxvb3NlIHJlZnMgKGRlZmF1bHQpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NworbXNnaWQgImdpdCBwcnVuZS1wYWNrZWQgWy1ufC0tZHJ5LXJ1bl0gWy1xfC0tcXVpZXRdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMgorbXNnaWQgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tZXhwaXJlIDx0aW1lPl0gWy0tXSBbPGhlYWQ+Li4uXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BydW5lLmM6MTQyCittc2dpZCAiZG8gbm90IHJlbW92ZSwgc2hvdyBvbmx5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxNDMKK21zZ2lkICJyZXBvcnQgcHJ1bmVkIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wcnVuZS5jOjE0NgorbXNnaWQgImV4cGlyZSBvYmplY3RzIG9sZGVyIHRoYW4gPHRpbWU+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjE0Cittc2dpZCAiZ2l0IHB1c2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6ODYKK21zZ2lkICJ0YWcgc2hvcnRoYW5kIHdpdGhvdXQgPHRhZz4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6OTYKK21zZ2lkICItLWRlbGV0ZSBvbmx5IGFjY2VwdHMgcGxhaW4gdGFyZ2V0IHJlZiBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzoxNDEKK21zZ2lkICIiCisiXG4iCisiVG8gY2hvb3NlIGVpdGhlciBvcHRpb24gcGVybWFuZW50bHksIHNlZSBwdXNoLmRlZmF1bHQgaW4gJ2dpdCBoZWxwIGNvbmZpZycuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIHVwc3RyZWFtIGJyYW5jaCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGRvZXMgbm90IG1hdGNoXG4iCisidGhlIG5hbWUgb2YgeW91ciBjdXJyZW50IGJyYW5jaC4gIFRvIHB1c2ggdG8gdGhlIHVwc3RyZWFtIGJyYW5jaFxuIgorIm9uIHRoZSByZW1vdGUsIHVzZVxuIgorIlxuIgorIiAgICBnaXQgcHVzaCAlcyBIRUFEOiVzXG4iCisiXG4iCisiVG8gcHVzaCB0byB0aGUgYnJhbmNoIG9mIHRoZSBzYW1lIG5hbWUgb24gdGhlIHJlbW90ZSwgdXNlXG4iCisiXG4iCisiICAgIGdpdCBwdXNoICVzICVzXG4iCisiJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guXG4iCisiVG8gcHVzaCB0aGUgaGlzdG9yeSBsZWFkaW5nIHRvIHRoZSBjdXJyZW50IChkZXRhY2hlZCBIRUFEKVxuIgorInN0YXRlIG5vdywgdXNlXG4iCisiXG4iCisiICAgIGdpdCBwdXNoICVzIEhFQUQ6PG5hbWUtb2YtcmVtb3RlLWJyYW5jaD5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbm8gdXBzdHJlYW0gYnJhbmNoLlxuIgorIlRvIHB1c2ggdGhlIGN1cnJlbnQgYnJhbmNoIGFuZCBzZXQgdGhlIHJlbW90ZSBhcyB1cHN0cmVhbSwgdXNlXG4iCisiXG4iCisiICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6MTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbXVsdGlwbGUgdXBzdHJlYW0gYnJhbmNoZXMsIHJlZnVzaW5nIHRvIHB1c2guIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGFyZSBwdXNoaW5nIHRvIHJlbW90ZSAnJXMnLCB3aGljaCBpcyBub3QgdGhlIHVwc3RyZWFtIG9mXG4iCisieW91ciBjdXJyZW50IGJyYW5jaCAnJXMnLCB3aXRob3V0IHRlbGxpbmcgbWUgd2hhdCB0byBwdXNoXG4iCisidG8gdXBkYXRlIHdoaWNoIHJlbW90ZSBicmFuY2guIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjIwNworbXNnaWQgIiIKKyJwdXNoLmRlZmF1bHQgaXMgdW5zZXQ7IGl0cyBpbXBsaWNpdCB2YWx1ZSBpcyBjaGFuZ2luZyBpblxuIgorIkdpdCAyLjAgZnJvbSAnbWF0Y2hpbmcnIHRvICdzaW1wbGUnLiBUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZVxuIgorImFuZCBtYWludGFpbiB0aGUgY3VycmVudCBiZWhhdmlvciBhZnRlciB0aGUgZGVmYXVsdCBjaGFuZ2VzLCB1c2U6XG4iCisiXG4iCisiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHB1c2guZGVmYXVsdCBtYXRjaGluZ1xuIgorIlxuIgorIlRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlIGFuZCBhZG9wdCB0aGUgbmV3IGJlaGF2aW9yIG5vdywgdXNlOlxuIgorIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCBwdXNoLmRlZmF1bHQgc2ltcGxlXG4iCisiXG4iCisiV2hlbiBwdXNoLmRlZmF1bHQgaXMgc2V0IHRvICdtYXRjaGluZycsIGdpdCB3aWxsIHB1c2ggbG9jYWwgYnJhbmNoZXNcbiIKKyJ0byB0aGUgcmVtb3RlIGJyYW5jaGVzIHRoYXQgYWxyZWFkeSBleGlzdCB3aXRoIHRoZSBzYW1lIG5hbWUuXG4iCisiXG4iCisiSW4gR2l0IDIuMCwgR2l0IHdpbGwgZGVmYXVsdCB0byB0aGUgbW9yZSBjb25zZXJ2YXRpdmUgJ3NpbXBsZSdcbiIKKyJiZWhhdmlvciwgd2hpY2ggb25seSBwdXNoZXMgdGhlIGN1cnJlbnQgYnJhbmNoIHRvIHRoZSBjb3JyZXNwb25kaW5nXG4iCisicmVtb3RlIGJyYW5jaCB0aGF0ICdnaXQgcHVsbCcgdXNlcyB0byB1cGRhdGUgdGhlIGN1cnJlbnQgYnJhbmNoLlxuIgorIlxuIgorIlNlZSAnZ2l0IGhlbHAgY29uZmlnJyBhbmQgc2VhcmNoIGZvciAncHVzaC5kZWZhdWx0JyBmb3IgZnVydGhlciAiCisiaW5mb3JtYXRpb24uXG4iCisiKHRoZSAnc2ltcGxlJyBtb2RlIHdhcyBpbnRyb2R1Y2VkIGluIEdpdCAxLjcuMTEuIFVzZSB0aGUgc2ltaWxhciBtb2RlXG4iCisiJ2N1cnJlbnQnIGluc3RlYWQgb2YgJ3NpbXBsZScgaWYgeW91IHNvbWV0aW1lcyB1c2Ugb2xkZXIgdmVyc2lvbnMgb2YgR2l0KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzoyNzQKK21zZ2lkICIiCisiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzoyODEKK21zZ2lkICIiCisiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRpcCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGlzIGJlaGluZFxuIgorIml0cyByZW1vdGUgY291bnRlcnBhcnQuIEludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXMgKGUuZy5cbiIKKyInZ2l0IHB1bGwgLi4uJykgYmVmb3JlIHB1c2hpbmcgYWdhaW4uXG4iCisiU2VlIHRoZSAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJyBmb3IgZGV0YWlscy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6Mjg3Cittc2dpZCAiIgorIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIGEgcHVzaGVkIGJyYW5jaCB0aXAgaXMgYmVoaW5kIGl0cyByZW1vdGVcbiIKKyJjb3VudGVycGFydC4gSWYgeW91IGRpZCBub3QgaW50ZW5kIHRvIHB1c2ggdGhhdCBicmFuY2gsIHlvdSBtYXkgd2FudCB0b1xuIgorInNwZWNpZnkgYnJhbmNoZXMgdG8gcHVzaCBvciBzZXQgdGhlICdwdXNoLmRlZmF1bHQnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVcbiIKKyJ0byAnc2ltcGxlJywgJ2N1cnJlbnQnIG9yICd1cHN0cmVhbScgdG8gcHVzaCBvbmx5IHRoZSBjdXJyZW50IGJyYW5jaC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6MjkzCittc2dpZCAiIgorIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIGEgcHVzaGVkIGJyYW5jaCB0aXAgaXMgYmVoaW5kIGl0cyByZW1vdGVcbiIKKyJjb3VudGVycGFydC4gQ2hlY2sgb3V0IHRoaXMgYnJhbmNoIGFuZCBpbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzXG4iCisiKGUuZy4gJ2dpdCBwdWxsIC4uLicpIGJlZm9yZSBwdXNoaW5nIGFnYWluLlxuIgorIlNlZSB0aGUgJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCcgZm9yIGRldGFpbHMuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjI5OQorbXNnaWQgIiIKKyJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGNvbnRhaW5zIHdvcmsgdGhhdCB5b3UgZG9cbiIKKyJub3QgaGF2ZSBsb2NhbGx5LiBUaGlzIGlzIHVzdWFsbHkgY2F1c2VkIGJ5IGFub3RoZXIgcmVwb3NpdG9yeSBwdXNoaW5nXG4iCisidG8gdGhlIHNhbWUgcmVmLiBZb3UgbWF5IHdhbnQgdG8gZmlyc3QgaW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlc1xuIgorIihlLmcuLCAnZ2l0IHB1bGwgLi4uJykgYmVmb3JlIHB1c2hpbmcgYWdhaW4uXG4iCisiU2VlIHRoZSAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJyBmb3IgZGV0YWlscy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6MzA2Cittc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzozMDkKK21zZ2lkICIiCisiWW91IGNhbm5vdCB1cGRhdGUgYSByZW1vdGUgcmVmIHRoYXQgcG9pbnRzIGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCisib3IgdXBkYXRlIGEgcmVtb3RlIHJlZiB0byBtYWtlIGl0IHBvaW50IGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCisid2l0aG91dCB1c2luZyB0aGUgJy0tZm9yY2UnIG9wdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHVzaGluZyB0byAlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzo0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzo0MTMKK21zZ2lkICIiCisiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgorIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCisicmVwb3NpdG9yeSB1c2luZ1xuIgorIlxuIgorIiAgICBnaXQgcmVtb3RlIGFkZCA8bmFtZT4gPHVybD5cbiIKKyJcbiIKKyJhbmQgdGhlbiBwdXNoIHVzaW5nIHRoZSByZW1vdGUgbmFtZVxuIgorIlxuIgorIiAgICBnaXQgcHVzaCA8bmFtZT5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzo0MjgKK21zZ2lkICItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NDI5Cittc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzo0MzQKK21zZ2lkICItLW1pcnJvciBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NDM1Cittc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzo0NDAKK21zZ2lkICItLWFsbCBhbmQgLS1taXJyb3IgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzo1MDAKK21zZ2lkICJyZXBvc2l0b3J5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUwMQorbXNnaWQgInB1c2ggYWxsIHJlZnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTAyCittc2dpZCAibWlycm9yIGFsbCByZWZzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUwNAorbXNnaWQgImRlbGV0ZSByZWZzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUwNQorbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzo1MDgKK21zZ2lkICJmb3JjZSB1cGRhdGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxMAorbXNnaWQgInJlZm5hbWU+OjxleHBlY3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTExCittc2dpZCAicmVxdWlyZSBvbGQgdmFsdWUgb2YgcmVmIHRvIGJlIGF0IHRoaXMgdmFsdWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTEzCittc2dpZCAiY2hlY2siCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTE0Cittc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNgorbXNnaWQgInVzZSB0aGluIHBhY2siCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTE3IGJ1aWx0aW4vcHVzaC5jOjUxOAorbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxOQorbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyMgorbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNAorbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNQorbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzo1MzUKK21zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzo1MzcKK21zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjM2Cittc2dpZCAiIgorImdpdCByZWFkLXRyZWUgW1stbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD08cHJlZml4Pl0gIgorIlstdSBbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGdpdGlnbm9yZT5dIHwgLWldXSBbLS1uby1zcGFyc2UtY2hlY2tvdXRdIFstLSIKKyJpbmRleC1vdXRwdXQ9PGZpbGU+XSAoLS1lbXB0eSB8IDx0cmVlLWlzaDE+IFs8dHJlZS1pc2gyPiBbPHRyZWUtaXNoMz5dXSkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDkKK21zZ2lkICJ3cml0ZSByZXN1bHRpbmcgaW5kZXggdG8gPGZpbGU+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEyCittc2dpZCAib25seSBlbXB0eSB0aGUgaW5kZXgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKK21zZ2lkICJNZXJnaW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE2Cittc2dpZCAicGVyZm9ybSBhIG1lcmdlIGluIGFkZGl0aW9uIHRvIGEgcmVhZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjExOAorbXNnaWQgIjMtd2F5IG1lcmdlIGlmIG5vIGZpbGUgbGV2ZWwgbWVyZ2luZyByZXF1aXJlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMAorbXNnaWQgIjMtd2F5IG1lcmdlIGluIHByZXNlbmNlIG9mIGFkZHMgYW5kIHJlbW92ZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjIKK21zZ2lkICJzYW1lIGFzIC1tLCBidXQgZGlzY2FyZCB1bm1lcmdlZCBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIzCittc2dpZCAiPHN1YmRpcmVjdG9yeT4vIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI0Cittc2dpZCAicmVhZCB0aGUgdHJlZSBpbnRvIHRoZSBpbmRleCB1bmRlciA8c3ViZGlyZWN0b3J5Pi8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjcKK21zZ2lkICJ1cGRhdGUgd29ya2luZyB0cmVlIHdpdGggbWVyZ2UgcmVzdWx0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI5Cittc2dpZCAiZ2l0aWdub3JlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMwCittc2dpZCAiYWxsb3cgZXhwbGljaXRseSBpZ25vcmVkIGZpbGVzIHRvIGJlIG92ZXJ3cml0dGVuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMzCittc2dpZCAiZG9uJ3QgY2hlY2sgdGhlIHdvcmtpbmcgdHJlZSBhZnRlciBtZXJnaW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM0Cittc2dpZCAiZG9uJ3QgdXBkYXRlIHRoZSBpbmRleCBvciB0aGUgd29yayB0cmVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM2Cittc2dpZCAic2tpcCBhcHBseWluZyBzcGFyc2UgY2hlY2tvdXQgZmlsdGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM4Cittc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgorbXNnc3RyICIiCisKKyMgRklYTUUKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJyBmb3IgJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCittc2dzdHIgIuKAniVz4oCcINC90LUg0LUg0L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg0LLRgNC10LzQtSDQt9CwIOKAniVz4oCcIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjYxNSBidWlsdGluL3JlZmxvZy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQtSDQv9GA0LDQstC40LvQvdCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCDQstGA0LXQvNC1IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEyCittc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIgorbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMKK21zZ2lkICIiCisiZ2l0IHJlbW90ZSBhZGQgWy10IDxicmFuY2g+XSBbLW0gPG1hc3Rlcj5dIFstZl0gWy0tdGFnc3wtLW5vLXRhZ3NdIFstLSIKKyJtaXJyb3I9PGZldGNofHB1c2g+XSA8bmFtZT4gPHVybD4iCittc2dzdHIgIiIKKyJnaXQgcmVtb3RlIGFkZCBbLXQgPNCa0JvQntCdPl0gWy1tIDzQntCh0J3QntCS0JXQnV/QmtCb0J7QnT5dIFstZl0gWy0tdGFnc3wtLW5vLXRhZ3NdIFstLSIKKyJtaXJyb3I9PGZldGNofHB1c2g+XSA80JjQnNCVPiA80JDQlNCg0JXQoT4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQgYnVpbHRpbi9yZW1vdGUuYzozMworbXNnaWQgImdpdCByZW1vdGUgcmVuYW1lIDxvbGQ+IDxuZXc+IgorbXNnc3RyICJnaXQgcmVtb3RlIHJlbmFtZSA80KHQotCQ0KDQnl/QmNCc0JU+IDzQndCe0JLQnl/QmNCc0JU+IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE1IGJ1aWx0aW4vcmVtb3RlLmM6MzgKK21zZ2lkICJnaXQgcmVtb3RlIHJlbW92ZSA8bmFtZT4iCittc2dzdHIgImdpdCByZW1vdGUgcmVtb3ZlIDzQmNCc0JU+IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE2Cittc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8PGJyYW5jaD4pIgorbXNnc3RyICJnaXQgcmVtb3RlIHNldC1oZWFkIDzQmNCc0JU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfDzQmtCb0J7QnT4pIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE3Cittc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHNob3cgWy1uXSA8bmFtZT4iCittc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSBzaG93IFstbl0gPNCY0JzQlT4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgKK21zZ2lkICJnaXQgcmVtb3RlIHBydW5lIFstbiB8IC0tZHJ5LXJ1bl0gPG5hbWU+IgorbXNnc3RyICJnaXQgcmVtb3RlIHBydW5lIFstbiB8IC0tZHJ5LXJ1bl0gPNCY0JzQlT4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkKK21zZ2lkICIiCisiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDxncm91cD4gfCA8cmVtb3RlPikuLi5dIgorbXNnc3RyICIiCisiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDzQk9Cg0KPQn9CQPiB8ICIKKyI80J7QotCU0JDQm9CV0KfQldCd0J5f0KXQoNCQ0J3QmNCb0JjQqdCVPinigKZdIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjIwCittc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgWy0tYWRkXSA8bmFtZT4gPGJyYW5jaD4uLi4iCittc2dzdHIgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIFstLWFkZF0gPNCY0JzQlT4gPNCa0JvQntCdPuKApiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoyMSBidWlsdGluL3JlbW90ZS5jOjY5Cittc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIFstLXB1c2hdIDxuYW1lPiA8bmV3dXJsPiBbPG9sZHVybD5dIgorbXNnc3RyICJnaXQgcmVtb3RlIHNldC11cmwgWy0tcHVzaF0gPNCY0JzQlT4gPNCd0J7Qkl/QkNCU0KDQldChPiBbPNCh0KLQkNCgX9CQ0JTQoNCV0KE+XSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoyMiBidWlsdGluL3JlbW90ZS5jOjcwCittc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tYWRkIDxuYW1lPiA8bmV3dXJsPiIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tYWRkIDzQmNCc0JU+IDzQndCe0JJf0JDQlNCg0JXQoT4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjMgYnVpbHRpbi9yZW1vdGUuYzo3MQorbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA8bmFtZT4gPHVybD4iCittc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA80JjQnNCVPiA80JDQlNCg0JXQoT4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjgKK21zZ2lkICJnaXQgcmVtb3RlIGFkZCBbPG9wdGlvbnM+XSA8bmFtZT4gPHVybD4iCittc2dzdHIgImdpdCByZW1vdGUgYWRkIFs80J7Qn9Cm0JjQmD5dIDzQmNCc0JU+IDzQkNCU0KDQldChPiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo0MworbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8YnJhbmNoPikiCittc2dzdHIgImdpdCByZW1vdGUgc2V0LWhlYWQgPNCY0JzQlT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDzQmtCb0J7QnT4pIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjQ4Cittc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPG5hbWU+IDxicmFuY2g+Li4uIgorbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyA80JjQnNCVPiA80JrQm9Ce0J0+4oCmIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjQ5Cittc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgLS1hZGQgPG5hbWU+IDxicmFuY2g+Li4uIgorbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyAtLWFkZCA80JjQnNCVPiA80JrQm9Ce0J0+4oCmIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjU0Cittc2dpZCAiZ2l0IHJlbW90ZSBzaG93IFs8b3B0aW9ucz5dIDxuYW1lPiIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzaG93IFs80J7Qn9Cm0JjQmD5dIDzQmNCc0JU+IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjU5Cittc2dpZCAiZ2l0IHJlbW90ZSBwcnVuZSBbPG9wdGlvbnM+XSA8bmFtZT4iCittc2dzdHIgImdpdCByZW1vdGUgcHJ1bmUgWzzQntCf0KbQmNCYPl0gPNCY0JzQlT4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjQKK21zZ2lkICJnaXQgcmVtb3RlIHVwZGF0ZSBbPG9wdGlvbnM+XSBbPGdyb3VwPiB8IDxyZW1vdGU+XS4uLiIKK21zZ3N0ciAiZ2l0IHJlbW90ZSB1cGRhdGUgWzzQntCf0KbQmNCYPl0gWzzQk9Cg0KPQn9CQPiB8IDzQntCi0JTQkNCb0JXQp9CV0J3Qnl/QpdCg0JDQndCY0JvQmNCp0JU+XeKApiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo4OAorIywgYy1mb3JtYXQKK21zZ2lkICJVcGRhdGluZyAlcyIKK21zZ3N0ciAi0J7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAKK21zZ2lkICIiCisiLS1taXJyb3IgaXMgZGFuZ2Vyb3VzIGFuZCBkZXByZWNhdGVkOyBwbGVhc2VcbiIKKyJcdCB1c2UgLS1taXJyb3I9ZmV0Y2ggb3IgLS1taXJyb3I9cHVzaCBpbnN0ZWFkIgorbXNnc3RyICIiCisi0JjQt9C/0L7Qu9C30LLQsNC90LXRgtC+INGB0LDQvNC+INC90LAg4oCeLS1taXJyb3LigJwg0LUg0L7Qv9Cw0YHQvdC+LiDQktC80LXRgdGC0L4g0YLQvtCy0LBcbiIKKyJcdNC/0L7Qu9C30LLQsNC50YLQtSDigJ4tLW1pcnJvcj1mZXRjaOKAnCDQuNC70Lgg4oCeLS1taXJyb3I9cHVzaOKAnCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtaXJyb3IgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg4oCeLS1taXJyb3LigJw6ICVzIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MworbXNnaWQgImZldGNoIHRoZSByZW1vdGUgYnJhbmNoZXMiCittc2dzdHIgItC+0YLQtNCw0LvQtdGH0LXQvdC40YLQtSDQutC70L7QvdC4INC90LUg0LzQvtCz0LDRgiDQtNCwINCx0YrQtNCw0YIg0LTQvtGB0YLQsNCy0LXQvdC4IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE1NQorbXNnaWQgImltcG9ydCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIHdoZW4gZmV0Y2hpbmciCittc2dzdHIgItCy0L3QsNGB0Y/QvdC1INC90LAg0LLRgdC40YfQutC4INC10YLQuNC60LXRgtC4INC4INC/0YDQuNC90LDQtNC70LXQttCw0YnQuNGC0LUg0LjQvCDQvtCx0LXQutGC0Lgg0L/RgNC4INC00L7RgdGC0LDQstGP0L3QtSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgKK21zZ2lkICJvciBkbyBub3QgZmV0Y2ggYW55IHRhZyBhdCBhbGwgKC0tbm8tdGFncykiCittc2dzdHIgItC80L7QttC1INC4INC00LAg0L3QtSDRgdC1INC00L7RgdGC0LDQstGP0YIg0L3QuNC60LDQutCy0Lgg0LXRgtC40LrQtdGC0LggKNGH0YDQtdC3INC+0L/RhtC40Y/RgtCwIOKAni0tbm8tdGFnc+KAnCkiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYwCittc2dpZCAiYnJhbmNoKGVzKSB0byB0cmFjayIKK21zZ3N0ciAi0LrQu9C+0L0v0Lgg0LfQsCDRgdC70LXQtNC10L3QtSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjEKK21zZ2lkICJtYXN0ZXIgYnJhbmNoIgorbXNnc3RyICLQvtGB0L3QvtCy0LXQvSDQutC70L7QvSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjIKK21zZ2lkICJwdXNofGZldGNoIgorbXNnc3RyICLQuNC30LTRitGA0L/QstCw0L3QtXzQtNC+0YHRgtCw0LLRj9C90LUiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYzCittc2dpZCAic2V0IHVwIHJlbW90ZSBhcyBhIG1pcnJvciB0byBwdXNoIHRvIG9yIGZldGNoIGZyb20iCittc2dzdHIgIiIKKyLQvdCw0YHRgtGA0L7QudCy0LDQvdC1INC90LAg0L7RgtC00LDQu9C10YfQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1LCDQvtGCINC60L7QtdGC0L4g0LTQsCDRgdC1INC40LfQtNGK0YDQv9Cy0LAg0LjQu9C4INC00L7RgdGC0LDQstGPIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE3NQorbXNnaWQgInNwZWNpZnlpbmcgYSBtYXN0ZXIgYnJhbmNoIG1ha2VzIG5vIHNlbnNlIHdpdGggLS1taXJyb3IiCittc2dzdHIgIiIKKyLQvdGP0LzQsCDRgdC80LjRgdGK0Lsg0LTQsCDRgdC1INGD0LrQsNC30LLQsCDQvtGB0L3QvtCy0LXQvSDQutC70L7QvSDQv9GA0Lgg0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDQvtC/0YbQuNGP0YLQsCDigJ4tLW1pcnJvcuKAnCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNzcKK21zZ2lkICJzcGVjaWZ5aW5nIGJyYW5jaGVzIHRvIHRyYWNrIG1ha2VzIHNlbnNlIG9ubHkgd2l0aCBmZXRjaCBtaXJyb3JzIgorbXNnc3RyICIiCisi0YPQutCw0LfQstCw0L3QtdGC0L4g0L3QsCDRgdC70LXQtNC10L3QuCDQutC70L7QvdC4INC1INGB0LzQuNGB0LvQtdC90L4g0YHQsNC80L4g0LfQsCDQvtGC0LTQsNC70LXRh9C10L3QuCDRhdGA0LDQvdC40LvQuNGJ0LAsINC+0YIgIgorItC60L7QuNGC0L4g0YHQtSDQtNC+0YHRgtCw0LLRjyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxODUgYnVpbHRpbi9yZW1vdGUuYzo2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlICVzIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAi0LLQtdGH0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAg0L7RgtC00LDQu9C10YfQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1INGBINC40LzQtSDigJ4lc+KAnC4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg5IGJ1aWx0aW4vcmVtb3RlLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVtb3RlIG5hbWUiCittc2dzdHIgIuKAniVz4oCcINC1INC90LXQv9GA0LDQstC40LvQvdC+INC40LzQtSDQt9CwINC+0YLQtNCw0LvQtdGH0LXQvdC+INGF0YDQsNC90LjQu9C40YnQtSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHNldHVwIG1hc3RlciAnJXMnIgorbXNnc3RyICLQntGB0L3QvtCy0L3QuNGP0YIg0LrQu9C+0L0g4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC90LDRgdGC0YDQvtC10L0iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgdGhhbiBvbmUgJXMiCittc2dzdHIgItC/0L7QstC10YfQtSDQvtGCINC10LTQvdC+INC+0YLQtNCw0LvQtdGH0LXQvdC+INGF0YDQsNC90LjQu9C40YnQtSDQvdCwINC40LzQtSDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGdldCBmZXRjaCBtYXAgZm9yIHJlZnNwZWMgJXMiCittc2dzdHIgItCe0LHQtdC60YLQuNGC0LUg0LfQsCDQtNC+0YHRgtCw0LLRj9C90LUg0LfQsCDRg9C60LDQt9Cw0YLQtdC70Y8g4oCeJXPigJwg0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDQv9C+0LvRg9GH0LXQvdC4IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjQzNSBidWlsdGluL3JlbW90ZS5jOjQ0MworbXNnaWQgIihtYXRjaGluZykiCittc2dzdHIgIijRgdGK0LLQv9Cw0LTQsNGJ0LgpIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjQ0NworbXNnaWQgIihkZWxldGUpIgorbXNnc3RyICIo0LfQsCDQuNC30YLRgNC40LLQsNC90LUpIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjU5MCBidWlsdGluL3JlbW90ZS5jOjU5NiBidWlsdGluL3JlbW90ZS5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgYXBwZW5kICclcycgdG8gJyVzJyIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LTQvtCx0LDQstC4INC60YrQvCDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo2MzQgYnVpbHRpbi9yZW1vdGUuYzo3ODcgYnVpbHRpbi9yZW1vdGUuYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gc3VjaCByZW1vdGU6ICVzIgorbXNnc3RyICLQotCw0LrQvtCy0LAg0L7RgtC00LDQu9C10YfQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1INC90Y/QvNCwOiAlcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHJlbmFtZSBjb25maWcgc2VjdGlvbiAnJXMnIHRvICclcyciCittc2dzdHIgItCh0LXQutGG0LjRj9GC0LAg0LIg0L3QsNGB0YLRgNC+0LnQutC40YLQtSDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdCwINC90LAg4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU3IGJ1aWx0aW4vcmVtb3RlLmM6Nzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgY29uZmlnIHNlY3Rpb24gJyVzJyIKK21zZ3N0ciAi0KHQtdC60YbQuNGP0YLQsCDQsiDQvdCw0YHRgtGA0L7QudC60LjRgtC1IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YLQsCIKKworIyBGSVhNRQorIzogYnVpbHRpbi9yZW1vdGUuYzo2NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCB1cGRhdGluZyBub24tZGVmYXVsdCBmZXRjaCByZWZzcGVjXG4iCisiXHQlc1xuIgorIlx0UGxlYXNlIHVwZGF0ZSB0aGUgY29uZmlndXJhdGlvbiBtYW51YWxseSBpZiBuZWNlc3NhcnkuIgorbXNnc3RyICIiCisi0J3QtdGB0YLQsNC90LTQsNGA0YLQvdC40YLQtSDRg9C60LDQt9Cw0YLQtdC70Lgg0LfQsCDQtNC+0YHRgtCw0LLRj9C90LUg0L3Rj9C80LAg0LTQsCDQsdGK0LTQsNGCINC+0LHQvdC+0LLQtdC90LhcbiIKKyIgICAgJXNcbiIKKyIgINCf0YDQvtC80LXQvdC10YLQtSDQvdCw0YHRgtGA0L7QudC60LjRgtC1INGA0YrRh9C90L4sINCw0LrQviDQtSDQvdC10L7QsdGF0L7QtNC40LzQvi4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6Njc4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhcHBlbmQgJyVzJyIKK21zZ3N0ciAi0KHQtdC60YbQuNGP0YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LTQvtCx0LDQstC10L3QsCDQsiDQvdCw0YHRgtGA0L7QudC60LjRgtC1IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjY4OQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgc2V0ICclcyciCittc2dzdHIgItCh0LXQutGG0LjRj9GC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQtNCw0LTQtdC90LAg0LIg0L3QsNGB0YLRgNC+0LnQutC40YLQtSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo3MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVsZXRpbmcgJyVzJyBmYWlsZWQiCittc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30YLRgNC40LLQsNC90LUg0L3QsCDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JlYXRpbmcgJyVzJyBmYWlsZWQiCittc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo3NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHJlbW92ZSBicmFuY2ggJXMiCittc2dzdHIgItCa0LvQvtC90YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0YDQuNGCIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjgyOQorbXNnaWQgIiIKKyJOb3RlOiBBIGJyYW5jaCBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3YXMgbm90IHJlbW92ZWQ7XG4iCisidG8gZGVsZXRlIGl0LCB1c2U6IgorbXNnaWRfcGx1cmFsICIiCisiTm90ZTogU29tZSBicmFuY2hlcyBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3ZXJlIG5vdCByZW1vdmVkO1xuIgorInRvIGRlbGV0ZSB0aGVtLCB1c2U6IgorbXNnc3RyWzBdICIiCisi0JHQtdC70LXQttC60LA6INCa0LvQvtC9INC40LfQstGK0L0g0LnQtdGA0LDRgNGF0LjRj9GC0LAg4oCecmVmcy9yZW1vdGVzL+KAnCDQvdC1INCx0LUg0LjQt9GC0YDQuNGCLlxuIgorItCY0LfRgtGA0LjQudGC0LUg0LPQviDRh9GA0LXQtyDQutC+0LzQsNC90LTQsNGC0LA6IgorbXNnc3RyWzFdICIiCisi0JHQtdC70LXQttC60LA6INCd0Y/QutC+0LvQutC+INC60LvQvtC90LAg0LjQt9Cy0YrQvSDQudC10YDQsNGA0YXQuNGP0YLQsCDigJ5yZWZzL3JlbW90ZXMv4oCcINC90LUg0LHRj9GF0LAg0LjQt9GC0YDQuNGC0LguXG4iCisi0JjQt9GC0YDQuNC50YLQtSDQs9C4INGH0YDQtdC3INC60L7QvNCw0L3QtNCw0YLQsDoiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiBuZXcgKG5leHQgZmV0Y2ggd2lsbCBzdG9yZSBpbiByZW1vdGVzLyVzKSIKK21zZ3N0ciAiINC90L7QsiAo0YHQu9C10LTQstCw0YnQvtGC0L4g0LTQvtGB0YLQsNCy0Y/QvdC1INGJ0LUg0LPQviDRgNCw0LfQv9C+0LvQvtC20Lgg0LIg4oCecmVtb3Rlcy8lc+KAnCkiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQxCittc2dpZCAiIHRyYWNrZWQiCittc2dzdHIgIiDRgdC70LXQtNC10L0iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQzCittc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCittc2dzdHIgIiDRgdGC0LDRgCAo0LjQt9GC0YDQuNC50YLQtSDRh9GA0LXQtyDigJ5naXQgcmVtb3RlIHBydW5l4oCcKSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5NDUKK21zZ2lkICIgPz8/IgorbXNnc3RyICIg0L3QtdGP0YHQvdC+IgorCisjIENIRUNLCisjOiBidWlsdGluL3JlbW90ZS5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGJyYW5jaC4lcy5tZXJnZTsgY2Fubm90IHJlYmFzZSBvbnRvID4gMSBicmFuY2giCittc2dzdHIgIiIKKyLQvdC10L/RgNCw0LLQuNC70LXQvSDQutC70L7QvSDQt9CwINGB0LvQuNCy0LDQvdC1IOKAniVz4oCcLiDQndC10LLRitC30LzQvtC20L3QviDQtSDQtNCwINC/0YDQtdCx0LDQt9C40YDQsNGC0LUg0LLRitGA0YXRgyDQv9C+0LLQtdGH0LUg0L7RgiAiCisiMSDQutC70L7QvSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmViYXNlcyBvbnRvIHJlbW90ZSAlcyIKK21zZ3N0ciAi0L/RgNC10LHQsNC30LjRgNCw0L3QtSDQstGK0YDRhdGDINC+0YLQtNCw0LvQtdGH0LXQvdC40Y8g0LrQu9C+0L0g4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiBtZXJnZXMgd2l0aCByZW1vdGUgJXMiCittc2dzdHIgIiDRgdC70LjQstCw0L3QtSDRgSDQvtGC0LTQsNC70LXRh9C10L3QuNGPINC60LvQvtC9IOKAniVz4oCcIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjk5NworbXNnaWQgIiAgICBhbmQgd2l0aCByZW1vdGUiCittc2dzdHIgIiAgICDQuCDRgSDQvtGC0LTQsNC70LXRh9C10L3QuNGPINC60LvQvtC9IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjk5OQorIywgYy1mb3JtYXQKK21zZ2lkICJtZXJnZXMgd2l0aCByZW1vdGUgJXMiCittc2dzdHIgItGB0LvQuNCy0LDQvdC1INGBINC+0YLQtNCw0LvQtdGH0LXQvdC40Y8g0LrQu9C+0L0g4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAwMAorbXNnaWQgIiAgIGFuZCB3aXRoIHJlbW90ZSIKK21zZ3N0ciAiICAg0Lgg0YEg0L7RgtC00LDQu9C10YfQtdC90LjRjyDQutC70L7QvSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ2Cittc2dpZCAiY3JlYXRlIgorbXNnc3RyICLRgdGK0LfQtNCw0LTQtdC9IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDkKK21zZ2lkICJkZWxldGUiCittc2dzdHIgItC40LfRgtGA0LjRgiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUzCittc2dpZCAidXAgdG8gZGF0ZSIKK21zZ3N0ciAi0LDQutGC0YPQsNC70LXQvSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU2Cittc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKK21zZ3N0ciAi0LzQvtC20LUg0LTQsCDRgdC1INGB0LvQtdC1INGC0YDQuNCy0LjQsNC70L3QviIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU5Cittc2dpZCAibG9jYWwgb3V0IG9mIGRhdGUiCittc2dzdHIgItC70L7QutCw0LvQvdC40Y/RgiDQtSDQvtGB0YLQsNGA0Y/QuyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlLSpzICglcykiCittc2dzdHIgIiAgICAlLSpzINC/0YDQuNC90YPQtNC40YLQtdC70L3QviDQuNC30YLQu9Cw0YHQutCy0LAg0LrRitC8ICUtKnMgKCVzKSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlLSpzICglcykiCittc2dzdHIgIiAgICAlLSpzINC40LfRgtC70LDRgdC60LLQsCDQutGK0LwgJS0qcyAoJXMpIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgorbXNnc3RyICIgICAgJS0qcyDQv9GA0LjQvdGD0LTQuNGC0LXQu9C90L4g0LjQt9GC0LvQsNGB0LrQstCwINC60YrQvCAlcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlcyIKK21zZ3N0ciAiICAgICUtKnMg0LjQt9GC0LvQsNGB0LrQstCwINC60YrQvCAlcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ0Cittc2dpZCAiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiCittc2dzdHIgItCx0LXQtyDQt9Cw0Y/QstC60Lgg0LrRitC8INC+0YLQtNCw0LvQtdGH0LXQvdC40YLQtSDRhdGA0LDQvdC40LvQuNGJ0LAiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MQorIywgYy1mb3JtYXQKK21zZ2lkICIqIHJlbW90ZSAlcyIKK21zZ3N0ciAiKiDQvtGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUg4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIEZldGNoIFVSTDogJXMiCittc2dzdHIgIiAg0JDQtNGA0LXRgSDQt9CwINC00L7RgdGC0LDQstGP0L3QtTogJXMiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MyBidWlsdGluL3JlbW90ZS5jOjEzMTgKK21zZ2lkICIobm8gVVJMKSIKK21zZ3N0ciAiKNCx0LXQtyDQsNC00YDQtdGBKSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgyIGJ1aWx0aW4vcmVtb3RlLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIgIFB1c2ggIFVSTDogJXMiCittc2dzdHIgIiAg0JDQtNGA0LXRgSDQt9CwINC40LfRgtC70LDRgdC60LLQsNC90LU6ICVzIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjExODYgYnVpbHRpbi9yZW1vdGUuYzoxMTg4IGJ1aWx0aW4vcmVtb3RlLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKK21zZ3N0ciAiICDQutC70L7QvSDQsiBIRUFEOiAlcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgIEhFQUQgYnJhbmNoIChyZW1vdGUgSEVBRCBpcyBhbWJpZ3VvdXMsIG1heSBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyk6XG4iCittc2dzdHIgIiIKKyIgINC60LvQvtC9INCyIEhFQUQgKNC60LvQvtC90YrRgiDRg9C60LDQt9Cw0L0g0LLRitCyINGE0LDQudC70LAgSEVBRCDQvtGCINC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg0LVcbiIKKyIgINC90LXQtdC00L3QvtC30L3QsNGH0LXQvSDQuCDQtSDQvdGP0LrQvtC5INC+0YIg0YHQu9C10LTQvdC40YLQtSk6XG4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNAorIywgYy1mb3JtYXQKK21zZ2lkICIgIFJlbW90ZSBicmFuY2g6JXMiCittc2dpZF9wbHVyYWwgIiAgUmVtb3RlIGJyYW5jaGVzOiVzIgorbXNnc3RyWzBdICIgINCe0YLQtNCw0LvQtdGH0LXQvSDQutC70L7QvTogJXMiCittc2dzdHJbMV0gIiAg0J7RgtC00LDQu9C10YfQtdC90Lgg0LrQu9C+0L3QuDogJXMiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNyBidWlsdGluL3JlbW90ZS5jOjEyMzQKK21zZ2lkICIgKHN0YXR1cyBub3QgcXVlcmllZCkiCittc2dzdHIgIiAo0YHRitGB0YLQvtGP0L3QuNC10YLQviDQvdC1INCx0LUg0L/RgNC+0LLQtdGA0LXQvdC+KSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjE2Cittc2dpZCAiICBMb2NhbCBicmFuY2ggY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCittc2dpZF9wbHVyYWwgIiAgTG9jYWwgYnJhbmNoZXMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCittc2dzdHJbMF0gIiAg0JvQvtC60LDQu9C10L0g0LrQu9C+0L0g0L3QsNGB0YLRgNC+0LXQvSDQt9CwINC40LfQtNGK0YDQv9Cy0LDQvdC1INGH0YDQtdC3IOKAnmdpdCBwdWxs4oCcOiIKK21zZ3N0clsxXSAiICDQm9C+0LrQsNC70L3QuCDQutC70L7QvdC4INC90LDRgdGC0YDQvtC10L3QuCDQt9CwINC40LfQtNGK0YDQv9Cy0LDQvdC1INGH0YDQtdC3IOKAnmdpdCBwdWxs4oCcOiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI0Cittc2dpZCAiICBMb2NhbCByZWZzIHdpbGwgYmUgbWlycm9yZWQgYnkgJ2dpdCBwdXNoJyIKK21zZ3N0ciAiICDQm9C+0LrQsNC70L3QuNGC0LUg0YPQutCw0LfQsNGC0LXQu9C4INGJ0LUg0LHRitC00LDRgiDQv9GA0LXQvdC10YHQtdC90Lgg0YfRgNC10Lcg4oCeIHB1c2jigJwiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIgIExvY2FsIHJlZiBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgorbXNnaWRfcGx1cmFsICIgIExvY2FsIHJlZnMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKK21zZ3N0clswXSAiICDQm9C+0LrQsNC70L3QuNGP0YIg0YPQutCw0LfQsNGC0LXQuywg0L3QsNGB0YLRgNC+0LXQvSDQt9CwIOKAnmdpdCBwdXNo4oCcJXM6IgorbXNnc3RyWzFdICIgINCb0L7QutCw0LvQvdC40YLQtSDRg9C60LDQt9Cw0YLQtdC70LgsINC90LDRgdGC0YDQvtC10L3QuCDQt9CwIOKAnmdpdCBwdXNo4oCcJXM6IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNTIKK21zZ2lkICJzZXQgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIGFjY29yZGluZyB0byByZW1vdGUiCittc2dzdHIgItC30LDQtNCw0LLQsNC90LUg0L3QsCByZWZzL3JlbW90ZXMvPNCY0JzQlT4vSEVBRCDRgdC/0L7RgNC10LQg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjU0Cittc2dpZCAiZGVsZXRlIHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCIKK21zZ3N0ciAi0LjQt9GC0YDQuNCy0LDQvdC1INC90LAgcmVmcy9yZW1vdGVzLzzQmNCc0JU+L0hFQUQiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2OQorbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgcmVtb3RlIEhFQUQiCittc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INGD0YHRgtCw0L3QvtCy0Lgg0L7RgtC00LDQu9C10YfQtdC90LjRj9GCINCy0YDRitGFIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNzEKK21zZ2lkICJNdWx0aXBsZSByZW1vdGUgSEVBRCBicmFuY2hlcy4gUGxlYXNlIGNob29zZSBvbmUgZXhwbGljaXRseSB3aXRoOiIKK21zZ3N0ciAiIgorItCc0L3QvtC20LXRgdGC0LLQviDQutC70L7QvdC4INGBINCy0YrRgNGF0L7QstC1LiDQmNC30LHQtdGA0LXRgtC1INC40LfRgNC40YfQvdC+INC90Y/QutC+0Lkg0L7RgiDRgtGP0YUg0YfRgNC10Lcg0LrQvtC80LDQvdC00LDRgtCwOiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgJXMiCittc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgorbXNnc3RyICLQndC10L/RgNCw0LLQuNC70LXQvSDRg9C60LDQt9Cw0YLQtdC7OiAlcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCAlcyIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L3QsNGB0YLRgNC+0LgiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmchIgorbXNnc3RyICLigJ4lc+KAnCDRidC1INGB0LUg0L/RgNC10LLRitGA0L3QtSDQsiDQvtCx0LXQutGCINC40LfQstGK0L0g0LrQu9C+0L3QuNGC0LUhIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcyBiZWNvbWUgZGFuZ2xpbmchIgorbXNnc3RyICLigJ4lc+KAnCDRgdC1INC/0YDQtdCy0YrRgNC90LAg0LIg0L7QsdC10LrRgiDQuNC30LLRitC9INC60LvQvtC90LjRgtC1ISIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBydW5pbmcgJXMiCittc2dzdHIgItCe0LrQsNGB0YLRgNGP0L3QtSDQvdCwIOKAniVz4oCcIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVVJMOiAlcyIKK21zZ3N0ciAi0LDQtNGA0LXRgTogJXMiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgKiBbd291bGQgcHJ1bmVdICVzIgorbXNnc3RyICIgKiBb0YnQtSDQsdGK0LTQtSDQvtC60LDRgdGC0YDQtdC90L5dICVzIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICogW3BydW5lZF0gJXMiCittc2dzdHIgIiAqIFvQvtC60LDRgdGC0YDQtdC90L5dICVzIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEzNzQKK21zZ2lkICJwcnVuZSByZW1vdGVzIGFmdGVyIGZldGNoaW5nIgorbXNnc3RyICLQvtC60LDRgdGC0YDRj9C90LUg0L3QsCDQvtCz0LvQtdC00LDQu9Cw0YLQsCDQvdCwINC+0YLQtNCw0LvQtdGH0LXQvdC40YLQtSDRhdGA0LDQvdC40LvQuNGJ0LAg0YHQu9C10LQg0LTQvtGB0YLQsNCy0Y/QvdC1IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NDAgYnVpbHRpbi9yZW1vdGUuYzoxNTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCittc2dzdHIgItCd0Y/QvNCwINC+0YLQtNCw0LvQtdGH0LXQvdC+INGF0YDQsNC90LjQu9C40YnQtSDQvdCwINC40LzQtSDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYwCittc2dpZCAiYWRkIGJyYW5jaCIKK21zZ3N0ciAi0LTQvtCx0LDQstGP0L3QtSDQvdCwINC60LvQvtC9IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjcKK21zZ2lkICJubyByZW1vdGUgc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INC1INGD0LrQsNC30LDQvdC+INC+0YLQtNCw0LvQtdGH0LXQvdC+INGF0YDQsNC90LjQu9C40YnQtSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDg5Cittc2dpZCAibWFuaXB1bGF0ZSBwdXNoIFVSTHMiCittc2dzdHIgItC/0YDQvtC80Y/QvdCwINC90LAg0LDQtNGA0LXRgdC40YLQtSDQt9CwINC40LfRgtC70LDRgdC60LLQsNC90LUiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5MQorbXNnaWQgImFkZCBVUkwiCittc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDQsNC00YDQtdGB0LgiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5MworbXNnaWQgImRlbGV0ZSBVUkxzIgorbXNnc3RyICLQuNC30YLRgNC40LLQsNC90LUg0L3QsCDQsNC00YDQtdGB0LgiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUwMAorbXNnaWQgIi0tYWRkIC0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1hZGTigJwg0Lgg4oCeLS1kZWxldGXigJwg0L3QtSDQvNC+0LPQsNGCINC00LAg0YHQtSDQuNC30L/QvtC70LfQstCw0YIg0LfQsNC10LTQvdC+IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvbGQgVVJMIHBhdHRlcm46ICVzIgorbXNnc3RyICLQndC10L/RgNCw0LLQuNC70LXQvSAo0YHRgtCw0YApINGE0L7RgNC80LDRgiDQt9CwINCw0LTRgNC10YE6ICVzIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgorbXNnc3RyICLQotCw0LrRitCyINCw0LTRgNC10YEg0L3QtSDQtSDQvtGC0LrRgNC40YI6ICVzIgorCisjIE1FQU5JTkcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU1MAorbXNnaWQgIldpbGwgbm90IGRlbGV0ZSBhbGwgbm9uLXB1c2ggVVJMcyIKK21zZ3N0ciAi0J3QuNC60L7QuSDQvtGCINCw0LTRgNC10YHQuNGC0LUsINC60L7QuNGC0L4g0L3QtSDRgdCwINC30LAg0LjQt9GC0LvQsNGB0LrQstCw0L3QtSwg0L3Rj9C80LAg0LTQsCDRgdC1INC40LfRgtGA0LjQtSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTY0Cittc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKK21zZ3N0ciAi0L/QvtCy0LXRh9C1INC/0L7QtNGA0L7QsdC90L7RgdGC0LguINCf0L7RgdGC0LDQstGPINGB0LUg0L/RgNC10LQg0L/QvtC00LrQvtC80LDQvdC00LAiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTUKK21zZ2lkICJnaXQgcmVwYWNrIFtvcHRpb25zXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE0MworbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTQ1Cittc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE0OAorbXNnaWQgInJlbW92ZSByZWR1bmRhbnQgcGFja3MsIGFuZCBydW4gZ2l0LXBydW5lLXBhY2tlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1MAorbXNnaWQgInBhc3MgLS1uby1yZXVzZS1kZWx0YSB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTUyCittc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU0Cittc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU3Cittc2dpZCAicGFzcyAtLWxvY2FsIHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTgKK21zZ2lkICJhcHByb3hpZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1OQorbXNnaWQgIndpdGggLUEsIGRvIG5vdCBsb29zZW4gb2JqZWN0cyBvbGRlciB0aGFuIHRoaXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjEKK21zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjMKK21zZ2lkICJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2NQorbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2NworbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nICclcycgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3Cittc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZWN0PiA8cmVwbGFjZW1lbnQ+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE4Cittc2dpZCAiZ2l0IHJlcGxhY2UgLWQgPG9iamVjdD4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MTkKK21zZ2lkICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PGZvcm1hdD5dIFstbCBbPHBhdHRlcm4+XV0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MTc0Cittc2dpZCAibGlzdCByZXBsYWNlIHJlZnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MTc1Cittc2dpZCAiZGVsZXRlIHJlcGxhY2UgcmVmcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoxNzYKK21zZ2lkICJyZXBsYWNlIHRoZSByZWYgaWYgaXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3NworbXNnaWQgInVzZSB0aGlzIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcmVyZS5jOjEyCittc2dpZCAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgcGF0aC4uLiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXJlcmUuYzo1NworbXNnaWQgInJlZ2lzdGVyIGNsZWFuIHJlc29sdXRpb25zIGluIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNQorbXNnaWQgIiIKKyJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXNldC5jOjI2Cittc2dpZCAiZ2l0IHJlc2V0IFstcV0gPHRyZWUtaXNoPiBbLS1dIDxwYXRocz4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXNldC5jOjI3Cittc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMworbXNnaWQgIm1peGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMworbXNnaWQgInNvZnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXNldC5jOjMzCittc2dpZCAiaGFyZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzMKK21zZ2lkICJtZXJnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzMKK21zZ2lkICJrZWVwIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzo3MworbXNnaWQgIllvdSBkbyBub3QgaGF2ZSBhIHZhbGlkIEhFQUQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzo3NQorbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgSEVBRC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXNldC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzo5OQorIywgYy1mb3JtYXQKK21zZ2lkICJIRUFEIGlzIG5vdyBhdCAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBkbyBhICVzIHJlc2V0IGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXNldC5jOjI2MgorbXNnaWQgImJlIHF1aWV0LCBvbmx5IHJlcG9ydCBlcnJvcnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXNldC5jOjI2NAorbXNnaWQgInJlc2V0IEhFQUQgYW5kIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNjUKK21zZ2lkICJyZXNldCBvbmx5IEhFQUQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXNldC5jOjI2NyBidWlsdGluL3Jlc2V0LmM6MjY5Cittc2dpZCAicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MjcxCittc2dpZCAicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJldmlzaW9uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MjkyIGJ1aWx0aW4vcmVzZXQuYzozMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Jlc2V0LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCB0cmVlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzA2Cittc2dpZCAiLS1wYXRjaCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXtoYXJkLG1peGVkLHNvZnR9IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMTUKK21zZ2lkICItLW1peGVkIHdpdGggcGF0aHMgaXMgZGVwcmVjYXRlZDsgdXNlICdnaXQgcmVzZXQgLS0gPHBhdGhzPicgaW5zdGVhZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXNldC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZG8gJXMgcmVzZXQgd2l0aCBwYXRocy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXNldC5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXNldCBpcyBub3QgYWxsb3dlZCBpbiBhIGJhcmUgcmVwb3NpdG9yeSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzQ0Cittc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZXNldDoiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXNldC5jOjM1MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcmVzZXQgaW5kZXggZmlsZSB0byByZXZpc2lvbiAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzU1Cittc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM1OQorbXNnaWQgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbb3B0aW9uc10gLS0gWzxhcmdzPi4uLl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjQKK21zZ2lkICJrZWVwIHRoZSBgLS1gIHBhc3NlZCBhcyBhbiBhcmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjYKK21zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjkKK21zZ2lkICJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDg2Cittc2dpZCAiIgorImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbb3B0aW9uc10gLS0gWzxhcmdzPi4uLl1cbiIKKyIgICBvcjogZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs8YXJnPi4uLl1cbiIKKyIgICBvcjogZ2l0IHJldi1wYXJzZSBbb3B0aW9uc10gWzxhcmc+Li4uXVxuIgorIlxuIgorIlJ1biBcImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCAtaFwiIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSBmaXJzdCB1c2FnZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoyMgorbXNnaWQgImdpdCByZXZlcnQgW29wdGlvbnNdIDxjb21taXQtaXNoPi4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JldmVydC5jOjIzCittc2dpZCAiZ2l0IHJldmVydCA8c3ViY29tbWFuZD4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoyOAorbXNnaWQgImdpdCBjaGVycnktcGljayBbb3B0aW9uc10gPGNvbW1pdC1pc2g+Li4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjkKK21zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgPHN1YmNvbW1hbmQ+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzo4MAorbXNnaWQgImVuZCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzo4MQorbXNnaWQgInJlc3VtZSByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzo4MgorbXNnaWQgImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzo4MworbXNnaWQgImRvbid0IGF1dG9tYXRpY2FsbHkgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODQKK21zZ2lkICJlZGl0IHRoZSBjb21taXQgbWVzc2FnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JldmVydC5jOjg3Cittc2dpZCAicGFyZW50IG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JldmVydC5jOjg5Cittc2dpZCAibWVyZ2Ugc3RyYXRlZ3kiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzo5MAorbXNnaWQgIm9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JldmVydC5jOjkxCittc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JldmVydC5jOjEwMgorbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JldmVydC5jOjEwMworbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JldmVydC5jOjEwNAorbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1Cittc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2Cittc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMTAKK21zZ2lkICJwcm9ncmFtIGVycm9yIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTk1Cittc2dpZCAicmV2ZXJ0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JldmVydC5jOjIxMAorbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JtLmM6MTcKK21zZ2lkICJnaXQgcm0gW29wdGlvbnNdIFstLV0gPGZpbGU+Li4uIgorbXNnc3RyICJnaXQgcm0gW9Ce0J/QptCY0JhdIFstLV0gPNCk0JDQmdCbPuKApiIKKworIzogYnVpbHRpbi9ybS5jOjY1Cittc2dpZCAiIgorInRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIChvciBvbmUgb2YgaXRzIG5lc3RlZCBzdWJtb2R1bGVzKVxuIgorInVzZXMgYSAuZ2l0IGRpcmVjdG9yeToiCittc2dpZF9wbHVyYWwgIiIKKyJ0aGUgZm9sbG93aW5nIHN1Ym1vZHVsZXMgKG9yIG9uZSBvZiBpdHMgbmVzdGVkIHN1Ym1vZHVsZXMpXG4iCisidXNlIGEgLmdpdCBkaXJlY3Rvcnk6IgorbXNnc3RyWzBdICIiCisi0YHQu9C10LTQvdC40Y/RgiDQv9C+0LTQvNC+0LTRg9C7INC40LvQuCDQvdGP0LrQvtC5INC+0YIg0L3QtdCz0L7QstC40YLQtSDQv9C+0LTQvNC+0LTRg9C70LhcbiIKKyLQuNC30L/QvtC70LfQstCw0YIg0LTQuNGA0LXQutGC0L7RgNC40Y8g0L3QsCDQuNC80LUg4oCeLmdpdOKAnDoiCittc2dzdHJbMV0gIiIKKyLRgdC70LXQtNC90LjRgtC1INC/0L7QtNC80L7QtNGD0LvQuCDQuNC70Lgg0L3Rj9C60L7QuCDQvtGCINGC0LXRhdC90LjRgtC1INC/0L7QtNC80L7QtNGD0LvQuFxuIgorItC40LfQv9C+0LvQt9Cy0LDRgiDQtNC40YDQtdC60YLQvtGA0LjRjyDQvdCwINC40LzQtSDigJ4uZ2l04oCcOiIKKworIzogYnVpbHRpbi9ybS5jOjcxCittc2dpZCAiIgorIlxuIgorIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKK21zZ3N0ciAiIgorIlxuIgorIijQsNC60L4g0LjRgdC60LDRgtC1INC00LAg0LPQuCDQuNC30YLRgNC40LXRgtC1INC30LDQtdC00L3QviDRgSDRhtGP0LvQsNGC0LAg0LjQvCDQuNGB0YLQvtGA0LjRjywg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5ybSAtcmbigJwpIgorCisjOiBidWlsdGluL3JtLmM6MjMxCittc2dpZCAiIgorInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKKyJmaWxlIGFuZCB0aGUgSEVBRDoiCittc2dpZF9wbHVyYWwgIiIKKyJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKKyJmaWxlIGFuZCB0aGUgSEVBRDoiCittc2dzdHJbMF0gIiIKKyLRgdC70LXQtNC90LjRj9GCINGE0LDQudC7INC1INGB0YrRgSDRgdGK0LTRitGA0LbQsNC90LjQtSDQsiDQuNC90LTQtdC60YHQsCDRgNCw0LfQu9C40YfQvdC+INC+0YIg0YLQtdC60YPRidC+0YLQviDQvNGDINGB0YrQtNGK0YDQttCw0L3QuNC1ICIKKyLQuFxuIgorItGA0LDQt9C70LjRh9C90L4g0L7RgiDRgdGK0L7RgtCy0LXRgtGB0YLQstCw0YnQvtGC0L4g0L3QsCBIRUFEOiIKK21zZ3N0clsxXSAiIgorItGB0LvQtdC00L3QuNGC0LUg0YTQsNC50LvQvtCy0LUg0YHQsCDRgdGK0YEg0YHRitC00YrRgNC20LDQvdC40LUg0LIg0LjQvdC00LXQutGB0LAg0YDQsNC30LvQuNGH0L3QviDQvtGCINGC0LXQutGD0YnQvtGC0L4g0LjQvCAiCisi0YHRitC00YrRgNC20LDQvdC40LUg0LhcbiIKKyLRgNCw0LfQu9C40YfQvdC+INC+0YIg0YHRitC+0YLQstC10YLRgdGC0LLQsNGJ0L7RgtC+INC90LAgSEVBRDoiCisKKyM6IGJ1aWx0aW4vcm0uYzoyMzYKK21zZ2lkICIiCisiXG4iCisiKHVzZSAtZiB0byBmb3JjZSByZW1vdmFsKSIKK21zZ3N0ciAiIgorIlxuIgorIijQt9CwINC/0YDQuNC90YPQtNC40YLQtdC70L3QviDQuNC30YLRgNC40LLQsNC90LUg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDQvtC/0YbQuNGP0YLQsCDigJ4tZuKAnCkiCisKKyM6IGJ1aWx0aW4vcm0uYzoyNDAKK21zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCittc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgorbXNnc3RyWzBdICLRgdC70LXQtNC90LjRj9GCINGE0LDQudC7INC1INGBINC/0YDQvtC80LXQvdC10L3QviDRgdGK0LTRitGA0LbQsNC90LjQtSDQsiDQuNC90LTQtdC60YHQsDoiCittc2dzdHJbMV0gItGB0LvQtdC00L3QuNGC0LUg0YTQsNC50LvQvtCy0LUg0YHQsCDRgSDQv9GA0L7QvNC10L3QtdC90L4g0YHRitC00YrRgNC20LDQvdC40LUg0LIg0LjQvdC00LXQutGB0LA6IgorCisjOiBidWlsdGluL3JtLmM6MjQ0IGJ1aWx0aW4vcm0uYzoyNTUKK21zZ2lkICIiCisiXG4iCisiKHVzZSAtLWNhY2hlZCB0byBrZWVwIHRoZSBmaWxlLCBvciAtZiB0byBmb3JjZSByZW1vdmFsKSIKK21zZ3N0ciAiIgorIlxuIgorIijQt9CwINC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINGE0LDQudC70LAg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDQvtC/0YbQuNGP0YLQsCDigJ4tLWNhY2hlZOKAnCwg0LAg0LfQsCDQv9GA0LjQvdGD0LTQuNGC0LXQu9C90L5cbiIKKyLQuNC30YLRgNC40LLQsNC90LUg4oCUIOKAni1m4oCcKSIKKworIzogYnVpbHRpbi9ybS5jOjI1MgorbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCittc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKK21zZ3N0clswXSAi0YHQu9C10LTQvdC40Y/RgiDRhNCw0LnQuyDQtSDRgSDQv9GA0L7QvNC10L3QtdC90L4g0YHRitC00YrRgNC20LDQvdC40LUiCittc2dzdHJbMV0gItGB0LvQtdC00L3QuNGC0LUg0YTQsNC50LvQvtCy0LUg0YHQsCDRgSDQv9GA0L7QvNC10L3QtdC90L4g0YHRitC00YrRgNC20LDQvdC40LUiCisKKyM6IGJ1aWx0aW4vcm0uYzoyNzAKK21zZ2lkICJkbyBub3QgbGlzdCByZW1vdmVkIGZpbGVzIgorbXNnc3RyICLQtNCwINC90LUg0YHQtSDQuNC30LLQtdC20LTQsNGCINC40LfRgtGA0LjRgtC40YLQtSDRhNCw0LnQu9C+0LLQtSIKKworIzogYnVpbHRpbi9ybS5jOjI3MQorbXNnaWQgIm9ubHkgcmVtb3ZlIGZyb20gdGhlIGluZGV4IgorbXNnc3RyICLQuNC30YLRgNC40LLQsNC90LUg0YHQsNC80L4g0L7RgiDQuNC90LTQtdC60YHQsCIKKworIzogYnVpbHRpbi9ybS5jOjI3MgorbXNnaWQgIm92ZXJyaWRlIHRoZSB1cC10by1kYXRlIGNoZWNrIgorbXNnc3RyICLQstGK0L/RgNC10LrQuCDQv9GA0L7QstC10YDQutCw0YLQsCDQt9CwINCw0LrRgtGD0LDQu9C90L7RgdGC0YLQsCDQvdCwINGB0YrQtNGK0YDQttCw0L3QuNC10YLQviIKKworIzogYnVpbHRpbi9ybS5jOjI3MworbXNnaWQgImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIgorbXNnc3RyICLRgNC10LrRg9GA0YHQuNCy0L3QviDQuNC30YLRgNC40LLQsNC90LUiCisKKyM6IGJ1aWx0aW4vcm0uYzoyNzUKK21zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKK21zZ3N0ciAiIgorItC40LfRhdC+0LTQvdC40Y/RgiDQutC+0LQg0LTQsCDQtSAwLCDQtNC+0YDQuCDQsNC60L4g0L3QuNC60L7QuSDRhNCw0LnQuyDQvWUgZSDQvdCw0L/QsNGB0L3QsNC7INGBINGI0LDQsdC70L7QvdCwINC30LAgIgorItC40LfRgtGA0LjQstCw0L3QtSIKKworIzogYnVpbHRpbi9ybS5jOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgcmVtb3ZpbmcgJyVzJyByZWN1cnNpdmVseSB3aXRob3V0IC1yIgorbXNnc3RyICLQsdC10Lcg0LjQt9C/0L7Qu9C30LLQsNC90LXRgtC+INC90LAg0L7Qv9GG0LjRj9GC0LAg4oCeLXLigJwg4oCeJXPigJwg0L3Rj9C80LAg0LTQsCDRgdC1INC40LfRgtGA0LjQtSDRgNC10LrRg9GA0YHQuNCy0L3QviIKKworIzogYnVpbHRpbi9ybS5jOjM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgcm06IHVuYWJsZSB0byByZW1vdmUgJXMiCittc2dzdHIgImdpdCBybTog4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9GC0YDQuNC1IgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTMKK21zZ2lkICJnaXQgc2hvcnRsb2cgWzxvcHRpb25zPl0gWzxyZXZpc2lvbiByYW5nZT5dIFtbLS1dIFs8cGF0aD4uLi5dXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIk1pc3NpbmcgYXV0aG9yOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjMwCittc2dpZCAic29ydCBvdXRwdXQgYWNjb3JkaW5nIHRvIHRoZSBudW1iZXIgb2YgY29tbWl0cyBwZXIgYXV0aG9yIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzIKK21zZ2lkICJTdXBwcmVzcyBjb21taXQgZGVzY3JpcHRpb25zLCBvbmx5IHByb3ZpZGVzIGNvbW1pdCBjb3VudCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjM0Cittc2dpZCAiU2hvdyB0aGUgZW1haWwgYWRkcmVzcyBvZiBlYWNoIGF1dGhvciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjM1Cittc2dpZCAid1ssaTFbLGkyXV0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzNgorbXNnaWQgIkxpbmV3cmFwIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6OQorIywgZnV6enkKK21zZ2lkICIiCisiZ2l0IHNob3ctYnJhbmNoIFstYXwtLWFsbF0gWy1yfC0tcmVtb3Rlc10gWy0tdG9wby1vcmRlciB8IC0tZGF0ZS1vcmRlcl0gWy0tIgorImN1cnJlbnRdIFstLWNvbG9yWz08d2hlbj5dIHwgLS1uby1jb2xvcl0gWy0tc3BhcnNlXSBbLS1tb3JlPTxuPiB8IC0tbGlzdCB8IC0tIgorImluZGVwZW5kZW50IHwgLS1tZXJnZS1iYXNlXSBbLS1uby1uYW1lIHwgLS1zaGExLW5hbWVdIFstLXRvcGljc10gWyg8cmV2PiB8ICIKKyI8Z2xvYj4pLi4uXSIKK21zZ3N0ciAiPNCx0YDQvtC5PiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjEwCisjLCBmdXp6eQorbXNnaWQgImdpdCBzaG93LWJyYW5jaCAoLWd8LS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmVmPl0iCittc2dzdHIgIjzQsdGA0L7QuT4iCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDkKK21zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MQorbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTMKK21zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUKKyMsIGZ1enp5Cittc2dpZCAic2hvdyA8bj4gbW9yZSBjb21taXRzIGFmdGVyIHRoZSBjb21tb24gYW5jZXN0b3IiCittc2dzdHIgIjzQsdGA0L7QuT4iCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTcKK21zZ2lkICJzeW5vbnltIHRvIG1vcmU9LTEiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OAorbXNnaWQgInN1cHByZXNzIG5hbWluZyBzdHJpbmdzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjAKK21zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYyCittc2dpZCAibmFtZSBjb21taXRzIHdpdGggdGhlaXIgb2JqZWN0IG5hbWVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjQKK21zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjYKK21zZ2lkICJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKK21zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MQorbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzMKK21zZ2lkICJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NQorbXNnaWQgInRvcG9sb2dpY2FsbHkgc29ydCwgbWFpbnRhaW5pbmcgZGF0ZSBvcmRlciB3aGVyZSBwb3NzaWJsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc4CisjLCBmdXp6eQorbXNnaWQgIjxuPlssPGJhc2U+XSIKK21zZ3N0ciAiPNCx0YDQvtC5PiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3OQorIywgZnV6enkKK21zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKK21zZ3N0ciAiPNCx0YDQvtC5PiIKKworIzogYnVpbHRpbi9zaG93LXJlZi5jOjEwCisjLCBmdXp6eQorbXNnaWQgIiIKKyJnaXQgc2hvdy1yZWYgWy1xfC0tcXVpZXRdIFstLXZlcmlmeV0gWy0taGVhZF0gWy1kfC0tZGVyZWZlcmVuY2VdIFstc3wtLSIKKyJoYXNoWz08bj5dXSBbLS1hYmJyZXZbPTxuPl1dIFstLXRhZ3NdIFstLWhlYWRzXSBbLS1dIFtwYXR0ZXJuKl0gIgorbXNnc3RyICI80LHRgNC+0Lk+IgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTEKK21zZ2lkICJnaXQgc2hvdy1yZWYgLS1leGNsdWRlLWV4aXN0aW5nWz1wYXR0ZXJuXSA8IHJlZi1saXN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjgKK21zZ2lkICJvbmx5IHNob3cgdGFncyAoY2FuIGJlIGNvbWJpbmVkIHdpdGggaGVhZHMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjkKK21zZ2lkICJvbmx5IHNob3cgaGVhZHMgKGNhbiBiZSBjb21iaW5lZCB3aXRoIHRhZ3MpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzAKK21zZ2lkICJzdHJpY3RlciByZWZlcmVuY2UgY2hlY2tpbmcsIHJlcXVpcmVzIGV4YWN0IHJlZiBwYXRoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzMgYnVpbHRpbi9zaG93LXJlZi5jOjE3NQorbXNnaWQgInNob3cgdGhlIEhFQUQgcmVmZXJlbmNlLCBldmVuIGlmIGl0IHdvdWxkIGJlIGZpbHRlcmVkIG91dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc3Cittc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbnRvIG9iamVjdCBJRHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OQorIywgZnV6enkKK21zZ2lkICJvbmx5IHNob3cgU0hBMSBoYXNoIHVzaW5nIDxuPiBkaWdpdHMiCittc2dzdHIgIjzQsdGA0L7QuT4iCisKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODMKK21zZ2lkICJkbyBub3QgcHJpbnQgcmVzdWx0cyB0byBzdGRvdXQgKHVzZWZ1bCB3aXRoIC0tdmVyaWZ5KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTg1Cittc2dpZCAic2hvdyByZWZzIGZyb20gc3RkaW4gdGhhdCBhcmVuJ3QgaW4gbG9jYWwgcmVwb3NpdG9yeSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjcKK21zZ2lkICJnaXQgc3ltYm9saWMtcmVmIFtvcHRpb25zXSBuYW1lIFtyZWZdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OAorbXNnaWQgImdpdCBzeW1ib2xpYy1yZWYgLWQgWy1xXSBuYW1lIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDAKK21zZ2lkICJzdXBwcmVzcyBlcnJvciBtZXNzYWdlIGZvciBub24tc3ltYm9saWMgKGRldGFjaGVkKSByZWZzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDEKK21zZ2lkICJkZWxldGUgc3ltYm9saWMgcmVmIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDIKK21zZ2lkICJzaG9ydGVuIHJlZiBvdXRwdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTQKK21zZ2lkICJyZWFzb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTQKK21zZ2lkICJyZWFzb24gb2YgdGhlIHVwZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjIyCittc2dpZCAiIgorImdpdCB0YWcgWy1hfC1zfC11IDxrZXktaWQ+XSBbLWZdIFstbSA8bXNnPnwtRiA8ZmlsZT5dIDx0YWduYW1lPiBbPGhlYWQ+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjIzCittc2dpZCAiZ2l0IHRhZyAtZCA8dGFnbmFtZT4uLi4iCittc2dzdHIgIiIKKworIyBGSVhNRQorIzogYnVpbHRpbi90YWcuYzoyNAorbXNnaWQgIiIKKyJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1wb2ludHMtYXQgPG9iamVjdD5dIFxuIgorIlx0XHRbPHBhdHRlcm4+Li4uXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjI2Cittc2dpZCAiZ2l0IHRhZyAtdiA8dGFnbmFtZT4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IGF0ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzoyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnIG5hbWUgdG9vIGxvbmc6ICUuKnMuLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgbm90IGZvdW5kLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICJEZWxldGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHZlcmlmeSB0aGUgdGFnICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldyaXRlIGEgdGFnIG1lc3NhZ2VcbiIKKyJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6MjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXcml0ZSBhIHRhZyBtZXNzYWdlXG4iCisiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUga2VwdDsgeW91IG1heSByZW1vdmUgdGhlbSB5b3Vyc2VsZiBpZiB5b3UgIgorIndhbnQgdG8uXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzoyOTIKK21zZ2lkICJ1bmFibGUgdG8gc2lnbiB0aGUgdGFnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6Mjk0Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRhZyBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6MzE5Cittc2dpZCAiYmFkIG9iamVjdCB0eXBlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjMzMgorbXNnaWQgInRhZyBoZWFkZXIgdG9vIGJpZy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzozNjgKK21zZ2lkICJubyB0YWcgbWVzc2FnZT8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHRhZyBtZXNzYWdlIGhhcyBiZWVuIGxlZnQgaW4gJXNcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjQyMworbXNnaWQgInN3aXRjaCAncG9pbnRzLWF0JyByZXF1aXJlcyBhbiBvYmplY3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo0MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo0NDUKK21zZ2lkICJsaXN0IHRhZyBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjQ0NworIywgZnV6enkKK21zZ2lkICJwcmludCA8bj4gbGluZXMgb2YgZWFjaCB0YWcgbWVzc2FnZSIKK21zZ3N0ciAiPNCx0YDQvtC5PiIKKworIzogYnVpbHRpbi90YWcuYzo0NDkKK21zZ2lkICJkZWxldGUgdGFncyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjQ1MAorbXNnaWQgInZlcmlmeSB0YWdzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDUyCittc2dpZCAiVGFnIGNyZWF0aW9uIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo0NTQKK21zZ2lkICJhbm5vdGF0ZWQgdGFnLCBuZWVkcyBhIG1lc3NhZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo0NTYKK21zZ2lkICJ0YWcgbWVzc2FnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjQ1OAorbXNnaWQgImFubm90YXRlZCBhbmQgR1BHLXNpZ25lZCB0YWciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo0NjIKK21zZ2lkICJ1c2UgYW5vdGhlciBrZXkgdG8gc2lnbiB0aGUgdGFnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDYzCittc2dpZCAicmVwbGFjZSB0aGUgdGFnIGlmIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjQ2NAorbXNnaWQgInNob3cgdGFnIGxpc3QgaW4gY29sdW1ucyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjQ2NgorbXNnaWQgIlRhZyBsaXN0aW5nIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo0NjkKK21zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo0NzUKK21zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjUwMQorbXNnaWQgIi0tY29sdW1uIGFuZCAtbiBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NTE4Cittc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjUyMAorbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjUyMgorbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo1MzAKK21zZ2lkICJvbmx5IG9uZSAtRiBvciAtbSBvcHRpb24gaXMgYWxsb3dlZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo1NTAKK21zZ2lkICJ0b28gbWFueSBwYXJhbXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0YWcgbmFtZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo1NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgYWxyZWFkeSBleGlzdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBsb2NrIHRoZSByZWYiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCB1cGRhdGUgdGhlIHJlZiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjU4MworIywgYy1mb3JtYXQKK21zZ2lkICJVcGRhdGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo0MDIKK21zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFtvcHRpb25zXSBbLS1dIFs8ZmlsZT4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzIwCittc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzIzCittc2dpZCAicmVmcmVzaDogaWdub3JlIHN1Ym1vZHVsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjYKK21zZ2lkICJkbyBub3QgaWdub3JlIG5ldyBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyOAorbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMwCittc2dpZCAibm90aWNlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczMgorbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzM1Cittc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzM5Cittc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQzCittc2dpZCAiPG1vZGU+IDxvYmplY3Q+IDxwYXRoPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0NAorbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0OAorbXNnaWQgIigrLy0peCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0OQorbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzUzCittc2dpZCAibWFyayBmaWxlcyBhcyBcIm5vdCBjaGFuZ2luZ1wiIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU2Cittc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU5Cittc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2MgorbXNnaWQgImNsZWFyIHNraXAtd29ya3RyZWUgYml0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY1Cittc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjcKK21zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY5Cittc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzcxCittc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3NQorbXNnaWQgImFkZCBlbnRyaWVzIGZyb20gc3RhbmRhcmQgaW5wdXQgdG8gdGhlIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzc5Cittc2dpZCAicmVwb3B1bGF0ZSBzdGFnZXMgIzIgYW5kICMzIGZvciB0aGUgbGlzdGVkIHBhdGhzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzgzCittc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODcKK21zZ2lkICJpZ25vcmUgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkwCittc2dpZCAicmVwb3J0IGFjdGlvbnMgdG8gc3RhbmRhcmQgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkyCittc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTYKK21zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzo5Cittc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdIC1kIDxyZWZuYW1lPiBbPG9sZHZhbD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEwCittc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdICAgIDxyZWZuYW1lPiA8bmV3dmFsPiBbPG9sZHZhbD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjExCittc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdIC0tc3RkaW4gWy16XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTUKK21zZ2lkICJkZWxldGUgdGhlIHJlZmVyZW5jZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTcKK21zZ2lkICJ1cGRhdGUgPHJlZm5hbWU+IG5vdCB0aGUgb25lIGl0IHBvaW50cyB0byIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTgKK21zZ2lkICJzdGRpbiBoYXMgTlVMLXRlcm1pbmF0ZWQgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1OQorbXNnaWQgInJlYWQgdXBkYXRlcyBmcm9tIHN0ZGluIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6NgorbXNnaWQgImdpdCB1cGRhdGUtc2VydmVyLWluZm8gWy0tZm9yY2VdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6MTQKK21zZ2lkICJ1cGRhdGUgdGhlIGluZm8gZmlsZXMgZnJvbSBzY3JhdGNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo1NgorbXNnaWQgImdpdCB2ZXJpZnktcGFjayBbLXZ8LS12ZXJib3NlXSBbLXN8LS1zdGF0LW9ubHldIDxwYWNrPi4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NjYKK21zZ2lkICJ2ZXJib3NlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo2OAorbXNnaWQgInNob3cgc3RhdGlzdGljcyBvbmx5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE3Cittc2dpZCAiZ2l0IHZlcmlmeS10YWcgWy12fC0tdmVyYm9zZV0gPHRhZz4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6NzMKK21zZ2lkICJwcmludCB0YWcgY29udGVudHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MTMKK21zZ2lkICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PHByZWZpeD4vXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyNgorbXNnaWQgIjxwcmVmaXg+LyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyNworbXNnaWQgIndyaXRlIHRyZWUgb2JqZWN0IGZvciBhIHN1YmRpcmVjdG9yeSA8cHJlZml4PiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMAorbXNnaWQgIm9ubHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmciCittc2dzdHIgIiIKKworIzogZ2l0LmM6MTcKK21zZ2lkICIiCisiJ2dpdCBoZWxwIC1hJyBhbmQgJ2dpdCBoZWxwIC1nJyBsaXN0cyBhdmFpbGFibGUgc3ViY29tbWFuZHMgYW5kIHNvbWVcbiIKKyJjb25jZXB0IGd1aWRlcy4gU2VlICdnaXQgaGVscCA8Y29tbWFuZD4nIG9yICdnaXQgaGVscCA8Y29uY2VwdD4nXG4iCisidG8gcmVhZCBhYm91dCBhIHNwZWNpZmljIHN1YmNvbW1hbmQgb3IgY29uY2VwdC4iCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy5oOjE0NgorbXNnaWQgImV4cGlyeSBkYXRlIgorbXNnc3RyICLQv9C10YDQuNC+0LQg0L3QsCDQstCw0LvQuNC00L3QvtGB0YIiCisKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNjEKK21zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCittc2dzdHIgItC90YPQu9C10LLQsCDQvtC/0LXRgNCw0YbQuNGPICjQt9CwINGB0YrQstC80LXRgdGC0LjQvNC+0YHRgiDRgSDQv9GA0LXQtNC40YjQvdC4INCy0LXRgNGB0LjQuCkiCisKKyM6IHBhcnNlLW9wdGlvbnMuaDoyMzUKK21zZ2lkICJiZSBtb3JlIHZlcmJvc2UiCittc2dzdHIgItC/0L7QstC10YfQtSDQv9C+0LTRgNC+0LHQvdC+0YHRgtC4IgorCisjOiBwYXJzZS1vcHRpb25zLmg6MjM3Cittc2dpZCAiYmUgbW9yZSBxdWlldCIKK21zZ3N0ciAi0L/Qvi3QvNCw0LvQutC+INC/0L7QtNGA0L7QsdC90L7RgdGC0LgiCisKKyMgRklYTUUKKyM6IHBhcnNlLW9wdGlvbnMuaDoyNDMKK21zZ2lkICJ1c2UgPG4+IGRpZ2l0cyB0byBkaXNwbGF5IFNIQS0xcyIKK21zZ3N0ciAi0LTQsCDRgdC1INC/0L7QutCw0LfQstCw0YIg0YLQsNC60YrQsiA80LHRgNC+0Lk+INGG0LjRhNGA0Lgg0L7RgiDRgdGD0LzQuNGC0LUg0L/QviBTSEExIgorCisjOiBjb21tb24tY21kcy5oOjgKK21zZ2lkICJBZGQgZmlsZSBjb250ZW50cyB0byB0aGUgaW5kZXgiCittc2dzdHIgIiIKKworIzogY29tbW9uLWNtZHMuaDo5Cittc2dpZCAiRmluZCBieSBiaW5hcnkgc2VhcmNoIHRoZSBjaGFuZ2UgdGhhdCBpbnRyb2R1Y2VkIGEgYnVnIgorbXNnc3RyICIiCisKKyM6IGNvbW1vbi1jbWRzLmg6MTAKK21zZ2lkICJMaXN0LCBjcmVhdGUsIG9yIGRlbGV0ZSBicmFuY2hlcyIKK21zZ3N0ciAiIgorCisjOiBjb21tb24tY21kcy5oOjExCittc2dpZCAiQ2hlY2tvdXQgYSBicmFuY2ggb3IgcGF0aHMgdG8gdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiIgorCisjOiBjb21tb24tY21kcy5oOjEyCittc2dpZCAiQ2xvbmUgYSByZXBvc2l0b3J5IGludG8gYSBuZXcgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IGNvbW1vbi1jbWRzLmg6MTMKK21zZ2lkICJSZWNvcmQgY2hhbmdlcyB0byB0aGUgcmVwb3NpdG9yeSIKK21zZ3N0ciAiIgorCisjOiBjb21tb24tY21kcy5oOjE0Cittc2dpZCAiU2hvdyBjaGFuZ2VzIGJldHdlZW4gY29tbWl0cywgY29tbWl0IGFuZCB3b3JraW5nIHRyZWUsIGV0YyIKK21zZ3N0ciAiIgorCisjOiBjb21tb24tY21kcy5oOjE1Cittc2dpZCAiRG93bmxvYWQgb2JqZWN0cyBhbmQgcmVmcyBmcm9tIGFub3RoZXIgcmVwb3NpdG9yeSIKK21zZ3N0ciAiIgorCisjOiBjb21tb24tY21kcy5oOjE2Cittc2dpZCAiUHJpbnQgbGluZXMgbWF0Y2hpbmcgYSBwYXR0ZXJuIgorbXNnc3RyICIiCisKKyM6IGNvbW1vbi1jbWRzLmg6MTcKK21zZ2lkICJDcmVhdGUgYW4gZW1wdHkgR2l0IHJlcG9zaXRvcnkgb3IgcmVpbml0aWFsaXplIGFuIGV4aXN0aW5nIG9uZSIKK21zZ3N0ciAiIgorCisjOiBjb21tb24tY21kcy5oOjE4Cittc2dpZCAiU2hvdyBjb21taXQgbG9ncyIKK21zZ3N0ciAiIgorCisjOiBjb21tb24tY21kcy5oOjE5Cittc2dpZCAiSm9pbiB0d28gb3IgbW9yZSBkZXZlbG9wbWVudCBoaXN0b3JpZXMgdG9nZXRoZXIiCittc2dzdHIgIiIKKworIzogY29tbW9uLWNtZHMuaDoyMAorbXNnaWQgIk1vdmUgb3IgcmVuYW1lIGEgZmlsZSwgYSBkaXJlY3RvcnksIG9yIGEgc3ltbGluayIKK21zZ3N0ciAiIgorCisjOiBjb21tb24tY21kcy5oOjIxCittc2dpZCAiRmV0Y2ggZnJvbSBhbmQgaW50ZWdyYXRlIHdpdGggYW5vdGhlciByZXBvc2l0b3J5IG9yIGEgbG9jYWwgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGNvbW1vbi1jbWRzLmg6MjIKK21zZ2lkICJVcGRhdGUgcmVtb3RlIHJlZnMgYWxvbmcgd2l0aCBhc3NvY2lhdGVkIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogY29tbW9uLWNtZHMuaDoyMworbXNnaWQgIkZvcndhcmQtcG9ydCBsb2NhbCBjb21taXRzIHRvIHRoZSB1cGRhdGVkIHVwc3RyZWFtIGhlYWQiCittc2dzdHIgIiIKKworIzogY29tbW9uLWNtZHMuaDoyNAorbXNnaWQgIlJlc2V0IGN1cnJlbnQgSEVBRCB0byB0aGUgc3BlY2lmaWVkIHN0YXRlIgorbXNnc3RyICIiCisKKyM6IGNvbW1vbi1jbWRzLmg6MjUKK21zZ2lkICJSZW1vdmUgZmlsZXMgZnJvbSB0aGUgd29ya2luZyB0cmVlIGFuZCBmcm9tIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBjb21tb24tY21kcy5oOjI2Cittc2dpZCAiU2hvdyB2YXJpb3VzIHR5cGVzIG9mIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogY29tbW9uLWNtZHMuaDoyNworbXNnaWQgIlNob3cgdGhlIHdvcmtpbmcgdHJlZSBzdGF0dXMiCittc2dzdHIgIiIKKworIzogY29tbW9uLWNtZHMuaDoyOAorbXNnaWQgIkNyZWF0ZSwgbGlzdCwgZGVsZXRlIG9yIHZlcmlmeSBhIHRhZyBvYmplY3Qgc2lnbmVkIHdpdGggR1BHIgorbXNnc3RyICIiCisKKyM6IGdpdC1hbS5zaDo1MAorbXNnaWQgIllvdSBuZWVkIHRvIHNldCB5b3VyIGNvbW1pdHRlciBpbmZvIGZpcnN0IgorbXNnc3RyICIiCisKKyM6IGdpdC1hbS5zaDo5NQorbXNnaWQgIiIKKyJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQgc2luY2UgdGhlIGxhc3QgJ2FtJyBmYWlsdXJlLlxuIgorIk5vdCByZXdpbmRpbmcgdG8gT1JJR19IRUFEIgorbXNnc3RyICIiCisKKyM6IGdpdC1hbS5zaDoxMDUKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJGNtZGxpbmUgLS1jb250aW51ZVwiLlxuIgorIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCIkY21kbGluZSAtLXNraXBcIiBpbnN0ZWFkLlxuIgorIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJGNtZGxpbmUgLS1hYm9ydFwiLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYW0uc2g6MTIxCittc2dpZCAiQ2Fubm90IGZhbGwgYmFjayB0byB0aHJlZS13YXkgbWVyZ2UuIgorbXNnc3RyICIiCisKKyM6IGdpdC1hbS5zaDoxMzcKK21zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIG5lY2Vzc2FyeSBibG9icyB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgorbXNnc3RyICIiCisKKyM6IGdpdC1hbS5zaDoxMzkKK21zZ2lkICJVc2luZyBpbmRleCBpbmZvIHRvIHJlY29uc3RydWN0IGEgYmFzZSB0cmVlLi4uIgorbXNnc3RyICIiCisKKyM6IGdpdC1hbS5zaDoxNTQKK21zZ2lkICIiCisiRGlkIHlvdSBoYW5kIGVkaXQgeW91ciBwYXRjaD9cbiIKKyJJdCBkb2VzIG5vdCBhcHBseSB0byBibG9icyByZWNvcmRlZCBpbiBpdHMgaW5kZXguIgorbXNnc3RyICIiCisKKyM6IGdpdC1hbS5zaDoxNjMKK21zZ2lkICJGYWxsaW5nIGJhY2sgdG8gcGF0Y2hpbmcgYmFzZSBhbmQgMy13YXkgbWVyZ2UuLi4iCittc2dzdHIgIiIKKworIzogZ2l0LWFtLnNoOjE3OQorbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iCittc2dzdHIgIiIKKworIzogZ2l0LWFtLnNoOjI3NAorbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgorbXNnc3RyICIiCisKKyM6IGdpdC1hbS5zaDozNjEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlBhdGNoIGZvcm1hdCAkcGF0Y2hfZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQuIgorbXNnc3RyICIiCisKKyM6IGdpdC1hbS5zaDozNjMKK21zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCittc2dzdHIgIiIKKworIzogZ2l0LWFtLnNoOjM4OQorbXNnaWQgIiIKKyJUaGUgLWIvLS1iaW5hcnkgb3B0aW9uIGhhcyBiZWVuIGEgbm8tb3AgZm9yIGxvbmcgdGltZSwgYW5kXG4iCisiaXQgd2lsbCBiZSByZW1vdmVkLiBQbGVhc2UgZG8gbm90IHVzZSBpdCBhbnltb3JlLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYW0uc2g6NDc5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJwcmV2aW91cyByZWJhc2UgZGlyZWN0b3J5ICRkb3Rlc3Qgc3RpbGwgZXhpc3RzIGJ1dCBtYm94IGdpdmVuLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYW0uc2g6NDg0Cittc2dpZCAiUGxlYXNlIG1ha2UgdXAgeW91ciBtaW5kLiAtLXNraXAgb3IgLS1hYm9ydD8iCittc2dzdHIgIiIKKworIzogZ2l0LWFtLnNoOjUyMAorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIlN0cmF5ICRkb3Rlc3QgZGlyZWN0b3J5IGZvdW5kLlxuIgorIlVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVtb3ZlIGl0LiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYW0uc2g6NTI4Cittc2dpZCAiUmVzb2x2ZSBvcGVyYXRpb24gbm90IGluIHByb2dyZXNzLCB3ZSBhcmUgbm90IHJlc3VtaW5nLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYW0uc2g6NTk0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAkZmlsZXMpIgorbXNnc3RyICIiCisKKyM6IGdpdC1hbS5zaDo2OTgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJQYXRjaCBpcyBlbXB0eS4gIFdhcyBpdCBzcGxpdCB3cm9uZz9cbiIKKyJJZiB5b3Ugd291bGQgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgaW5zdGVhZCBydW4gXCIkY21kbGluZSAtLXNraXBcIi5cbiIKKyJUbyByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIHN0b3AgcGF0Y2hpbmcgcnVuIFwiJGNtZGxpbmUgLS1hYm9ydFwiLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYW0uc2g6NzI1Cittc2dpZCAiUGF0Y2ggZG9lcyBub3QgaGF2ZSBhIHZhbGlkIGUtbWFpbCBhZGRyZXNzLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYW0uc2g6NzcyCittc2dpZCAiY2Fubm90IGJlIGludGVyYWN0aXZlIHdpdGhvdXQgc3RkaW4gY29ubmVjdGVkIHRvIGEgdGVybWluYWwuIgorbXNnc3RyICIiCisKKyM6IGdpdC1hbS5zaDo3NzYKK21zZ2lkICJDb21taXQgQm9keSBpczoiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFt5XSwgW25dLCBbZV0sIFt2XSBhbmQgW2FdCisjLiBpbiB5b3VyIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2gKKyMuIGlucHV0IGF0IHRoaXMgcG9pbnQuCisjOiBnaXQtYW0uc2g6NzgzCittc2dpZCAiQXBwbHk/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGwgIgorbXNnc3RyICIiCisKKyM6IGdpdC1hbS5zaDo4MTkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkFwcGx5aW5nOiAkRklSU1RMSU5FIgorbXNnc3RyICIiCisKKyM6IGdpdC1hbS5zaDo4NDAKK21zZ2lkICIiCisiTm8gY2hhbmdlcyAtIGRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/XG4iCisiSWYgdGhlcmUgaXMgbm90aGluZyBsZWZ0IHRvIHN0YWdlLCBjaGFuY2VzIGFyZSB0aGF0IHNvbWV0aGluZyBlbHNlXG4iCisiYWxyZWFkeSBpbnRyb2R1Y2VkIHRoZSBzYW1lIGNoYW5nZXM7IHlvdSBtaWdodCB3YW50IHRvIHNraXAgdGhpcyBwYXRjaC4iCittc2dzdHIgIiIKKworIzogZ2l0LWFtLnNoOjg0OAorbXNnaWQgIiIKKyJZb3Ugc3RpbGwgaGF2ZSB1bm1lcmdlZCBwYXRocyBpbiB5b3VyIGluZGV4XG4iCisiZGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz8iCittc2dzdHIgIiIKKworIzogZ2l0LWFtLnNoOjg2NAorbXNnaWQgIk5vIGNoYW5nZXMgLS0gUGF0Y2ggYWxyZWFkeSBhcHBsaWVkLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYW0uc2g6ODc0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJG1zZ251bSAkRklSU1RMSU5FIgorbXNnc3RyICIiCisKKyM6IGdpdC1hbS5zaDo4NzcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgY29weSBvZiB0aGUgcGF0Y2ggdGhhdCBmYWlsZWQgaXMgZm91bmQgaW46XG4iCisiICAgJGRvdGVzdC9wYXRjaCIKK21zZ3N0ciAiIgorCisjOiBnaXQtYW0uc2g6ODk1Cittc2dpZCAiYXBwbHlpbmcgdG8gYW4gZW1wdHkgaGlzdG9yeSIKK21zZ3N0ciAiIgorCisjOiBnaXQtYmlzZWN0LnNoOjQ4Cittc2dpZCAiWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKKyMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKKyMuIGF0IHRoaXMgcG9pbnQuCisjOiBnaXQtYmlzZWN0LnNoOjU0Cittc2dpZCAiRG8geW91IHdhbnQgbWUgdG8gZG8gaXQgZm9yIHlvdSBbWS9uXT8gIgorbXNnc3RyICIiCisKKyM6IGdpdC1iaXNlY3Quc2g6OTUKKyMsIHNoLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXNlZCBvcHRpb246ICckYXJnJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtYmlzZWN0LnNoOjk5CisjLCBzaC1mb3JtYXQKK21zZ2lkICInJGFyZycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgdmFsaWQgcmV2aXNpb24iCittc2dzdHIgIiIKKworIzogZ2l0LWJpc2VjdC5zaDoxMTcKK21zZ2lkICJCYWQgSEVBRCAtIEkgbmVlZCBhIEhFQUQiCittc2dzdHIgIiIKKworIzogZ2l0LWJpc2VjdC5zaDoxMzAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJDaGVja2luZyBvdXQgJyRzdGFydF9oZWFkJyBmYWlsZWQuIFRyeSAnZ2l0IGJpc2VjdCByZXNldCA8dmFsaWRicmFuY2g+Jy4iCittc2dzdHIgIiIKKworIzogZ2l0LWJpc2VjdC5zaDoxNDAKK21zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgorbXNnc3RyICIiCisKKyM6IGdpdC1iaXNlY3Quc2g6MTQ0Cittc2dpZCAiQmFkIEhFQUQgLSBzdHJhbmdlIHN5bWJvbGljIHJlZiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYmlzZWN0LnNoOjE4OQorIywgc2gtZm9ybWF0Cittc2dpZCAiQmFkIGJpc2VjdF93cml0ZSBhcmd1bWVudDogJHN0YXRlIgorbXNnc3RyICIiCisKKyM6IGdpdC1iaXNlY3Quc2g6MjE4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJCYWQgcmV2IGlucHV0OiAkYXJnIgorbXNnc3RyICIiCisKKyM6IGdpdC1iaXNlY3Quc2g6MjMyCittc2dpZCAiUGxlYXNlIGNhbGwgJ2Jpc2VjdF9zdGF0ZScgd2l0aCBhdCBsZWFzdCBvbmUgYXJndW1lbnQuIgorbXNnc3RyICIiCisKKyM6IGdpdC1iaXNlY3Quc2g6MjQ0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJCYWQgcmV2IGlucHV0OiAkcmV2IgorbXNnc3RyICIiCisKKyM6IGdpdC1iaXNlY3Quc2g6MjUwCittc2dpZCAiJ2dpdCBiaXNlY3QgYmFkJyBjYW4gdGFrZSBvbmx5IG9uZSBhcmd1bWVudC4iCittc2dzdHIgIiIKKworIy4gaGF2ZSBiYWQgYnV0IG5vdCBnb29kLiAgd2UgY291bGQgYmlzZWN0IGFsdGhvdWdoCisjLiB0aGlzIGlzIGxlc3Mgb3B0aW11bS4KKyM6IGdpdC1iaXNlY3Quc2g6MjczCittc2dpZCAiV2FybmluZzogYmlzZWN0aW5nIG9ubHkgd2l0aCBhIGJhZCBjb21taXQuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCisjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CisjLiBhdCB0aGlzIHBvaW50LgorIzogZ2l0LWJpc2VjdC5zaDoyNzkKK21zZ2lkICJBcmUgeW91IHN1cmUgW1kvbl0/ICIKK21zZ3N0ciAiIgorCisjOiBnaXQtYmlzZWN0LnNoOjI4OQorbXNnaWQgIiIKKyJZb3UgbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSBnb29kIGFuZCBvbmUgYmFkIHJldmlzaW9ucy5cbiIKKyIoWW91IGNhbiB1c2UgXCJnaXQgYmlzZWN0IGJhZFwiIGFuZCBcImdpdCBiaXNlY3QgZ29vZFwiIGZvciB0aGF0LikiCittc2dzdHIgIiIKKworIzogZ2l0LWJpc2VjdC5zaDoyOTIKK21zZ2lkICIiCisiWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIuXG4iCisiWW91IHRoZW4gbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSBnb29kIGFuZCBvbmUgYmFkIHJldmlzaW9ucy5cbiIKKyIoWW91IGNhbiB1c2UgXCJnaXQgYmlzZWN0IGJhZFwiIGFuZCBcImdpdCBiaXNlY3QgZ29vZFwiIGZvciB0aGF0LikiCittc2dzdHIgIiIKKworIzogZ2l0LWJpc2VjdC5zaDozNjMgZ2l0LWJpc2VjdC5zaDo0OTAKK21zZ2lkICJXZSBhcmUgbm90IGJpc2VjdGluZy4iCittc2dzdHIgIiIKKworIzogZ2l0LWJpc2VjdC5zaDozNzAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIickaW52YWxpZCcgaXMgbm90IGEgdmFsaWQgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGdpdC1iaXNlY3Quc2g6Mzc5CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiQ291bGQgbm90IGNoZWNrIG91dCBvcmlnaW5hbCBIRUFEICckYnJhbmNoJy5cbiIKKyJUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPGNvbW1pdD4nLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYmlzZWN0LnNoOjQwNgorbXNnaWQgIk5vIGxvZ2ZpbGUgZ2l2ZW4iCittc2dzdHIgIiIKKworIzogZ2l0LWJpc2VjdC5zaDo0MDcKKyMsIHNoLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICRmaWxlIGZvciByZXBsYXlpbmciCittc2dzdHIgIiIKKworIzogZ2l0LWJpc2VjdC5zaDo0MjQKK21zZ2lkICI/PyB3aGF0IGFyZSB5b3UgdGFsa2luZyBhYm91dD8iCittc2dzdHIgIiIKKworIzogZ2l0LWJpc2VjdC5zaDo0MzYKKyMsIHNoLWZvcm1hdAorbXNnaWQgInJ1bm5pbmcgJGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogZ2l0LWJpc2VjdC5zaDo0NDMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJiaXNlY3QgcnVuIGZhaWxlZDpcbiIKKyJleGl0IGNvZGUgJHJlcyBmcm9tICckY29tbWFuZCcgaXMgPCAwIG9yID49IDEyOCIKK21zZ3N0ciAiIgorCisjOiBnaXQtYmlzZWN0LnNoOjQ2OQorbXNnaWQgImJpc2VjdCBydW4gY2Fubm90IGNvbnRpbnVlIGFueSBtb3JlIgorbXNnc3RyICIiCisKKyM6IGdpdC1iaXNlY3Quc2g6NDc1CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiYmlzZWN0IHJ1biBmYWlsZWQ6XG4iCisiJ2Jpc2VjdF9zdGF0ZSAkc3RhdGUnIGV4aXRlZCB3aXRoIGVycm9yIGNvZGUgJHJlcyIKK21zZ3N0ciAiIgorCisjOiBnaXQtYmlzZWN0LnNoOjQ4MgorbXNnaWQgImJpc2VjdCBydW4gc3VjY2VzcyIKK21zZ3N0ciAiIgorCisjOiBnaXQtcHVsbC5zaDoyMQorbXNnaWQgIiIKKyJQdWxsIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLlxuIgorIlBsZWFzZSwgZml4IHRoZW0gdXAgaW4gdGhlIHdvcmsgdHJlZSwgYW5kIHRoZW4gdXNlICdnaXQgYWRkL3JtIDxmaWxlPidcbiIKKyJhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24sIG9yIHVzZSAnZ2l0IGNvbW1pdCAtYScuIgorbXNnc3RyICIiCisKKyM6IGdpdC1wdWxsLnNoOjI1Cittc2dpZCAiUHVsbCBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIiIKKworIzogZ2l0LXB1bGwuc2g6MjIzCittc2dpZCAidXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4IgorbXNnc3RyICIiCisKKyMuIFRoZSBmZXRjaCBpbnZvbHZlZCB1cGRhdGluZyB0aGUgY3VycmVudCBicmFuY2guCisjLiBUaGUgd29ya2luZyB0cmVlIGFuZCB0aGUgaW5kZXggZmlsZSBpcyBzdGlsbCBiYXNlZCBvbiB0aGUKKyMuICRvcmlnX2hlYWQgY29tbWl0LCBidXQgd2UgYXJlIG1lcmdpbmcgaW50byAkY3Vycl9oZWFkLgorIy4gRmlyc3QgdXBkYXRlIHRoZSB3b3JraW5nIHRyZWUgdG8gbWF0Y2ggJGN1cnJfaGVhZC4KKyM6IGdpdC1wdWxsLnNoOjI0NworIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIldhcm5pbmc6IGZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCisiV2FybmluZzogZmFzdC1mb3J3YXJkaW5nIHlvdXIgd29ya2luZyB0cmVlIGZyb21cbiIKKyJXYXJuaW5nOiBjb21taXQgJG9yaWdfaGVhZC4iCittc2dzdHIgIiIKKworIzogZ2l0LXB1bGwuc2g6MjcyCittc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZCIKK21zZ3N0ciAiIgorCisjOiBnaXQtcHVsbC5zaDoyNzYKK21zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS5zaDo1NQorbXNnaWQgIiIKKyJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIuXG4iCisiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcImdpdCByZWJhc2UgLS1za2lwXCIgaW5zdGVhZC5cbiIKKyJUbyBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCByZWJhc2luZywgcnVuIFwiZ2l0IHJlYmFzZSAtLWFib3J0IgorIlwiLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLnNoOjE1OAorbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLnNoOjE2MQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2Uuc2g6MTYyCittc2dpZCAiIgorIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCisiWW91ciBjaGFuZ2VzIGFyZSBzYWZlIGluIHRoZSBzdGFzaC5cbiIKKyJZb3UgY2FuIHJ1biBcImdpdCBzdGFzaCBwb3BcIiBvciBcImdpdCBzdGFzaCBkcm9wXCIgYXQgYW55IHRpbWUuXG4iCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS5zaDoyMDEKK21zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLnNoOjIwNgorbXNnaWQgIkl0IGxvb2tzIGxpa2UgZ2l0LWFtIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLnNoOjM0NgorbXNnaWQgIlRoZSAtLWV4ZWMgb3B0aW9uIG11c3QgYmUgdXNlZCB3aXRoIHRoZSAtLWludGVyYWN0aXZlIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLnNoOjM1MQorbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS5zaDozNjIKK21zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS5zaDozNjkKK21zZ2lkICJDYW5ub3QgcmVhZCBIRUFEIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2Uuc2g6MzcyCittc2dpZCAiIgorIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlblxuIgorIm1hcmsgdGhlbSBhcyByZXNvbHZlZCB1c2luZyBnaXQgYWRkIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2Uuc2g6MzkwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCittc2dzdHIgIiIKKworIyBGSVhNRQorIzogZ2l0LXJlYmFzZS5zaDo0MDkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKKyJJIHdvbmRlciBpZiB5b3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW5vdGhlciByZWJhc2UuICBJZiB0aGF0IGlzIHRoZVxuIgorImNhc2UsIHBsZWFzZSB0cnlcbiIKKyJcdCRjbWRfbGl2ZV9yZWJhc2VcbiIKKyJJZiB0aGF0IGlzIG5vdCB0aGUgY2FzZSwgcGxlYXNlXG4iCisiXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxuIgorImFuZCBydW4gbWUgYWdhaW4uICBJIGFtIHN0b3BwaW5nIGluIGNhc2UgeW91IHN0aWxsIGhhdmUgc29tZXRoaW5nXG4iCisidmFsdWFibGUgdGhlcmUuIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2Uuc2g6NDU2CisjLCBzaC1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICR1cHN0cmVhbV9uYW1lIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2Uuc2g6NDgwCisjLCBzaC1mb3JtYXQKK21zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLnNoOjQ4MyBnaXQtcmViYXNlLnNoOjQ4NworIywgc2gtZm9ybWF0Cittc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLnNoOjQ5MgorIywgc2gtZm9ybWF0Cittc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS5zaDo1MTUKKyMsIHNoLWZvcm1hdAorbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaDogJGJyYW5jaF9uYW1lIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2Uuc2g6NTQ4Cittc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLnNoOjU1MworIywgc2gtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS5zaDo1NTcKK21zZ2lkICJQbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2Uuc2g6NTc3CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZS4iCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS5zaDo1ODEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLnNoOjU5MgorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2hhbmdlcyBmcm9tICRtYiB0byAkb250bzoiCittc2dzdHIgIiIKKworIy4gRGV0YWNoIEhFQUQgYW5kIHJlc2V0IHRoZSB0cmVlCisjOiBnaXQtcmViYXNlLnNoOjYwMQorbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLnNoOjYxMQorIywgc2gtZm9ybWF0Cittc2dpZCAiRmFzdC1mb3J3YXJkZWQgJGJyYW5jaF9uYW1lIHRvICRvbnRvX25hbWUuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDo1MQorbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6NzQKK21zZ2lkICJZb3UgZG8gbm90IGhhdmUgdGhlIGluaXRpYWwgY29tbWl0IHlldCIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6ODkKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6MTIzIGdpdC1zdGFzaC5zaDoxMzYKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCB3b3JrdHJlZSBzdGF0ZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6MTQwCittc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6MTQzCittc2dpZCAiQ2Fubm90IHJlbW92ZSB0ZW1wb3JhcnkgaW5kZXggKGNhbid0IGhhcHBlbikiCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjE1NgorbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDoxOTAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB1cGRhdGUgJHJlZl9zdGFzaCB3aXRoICR3X2NvbW1pdCIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogJG9wdGlvbiBpcyBhbiBpbnZhbGlkIG9wdGlvbiwgbGlrZQorIy4gYC0tYmxhaC1ibGFoJy4gVGhlIDcgc3BhY2VzIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlCisjLiBzZWNvbmQgbGluZSBjb3JyZXNwb25kIHRvICJlcnJvcjogIi4gU28geW91IHNob3VsZCBsaW5lCisjLiB1cCB0aGUgc2Vjb25kIGxpbmUgd2l0aCBob3dldmVyIG1hbnkgY2hhcmFjdGVycyB0aGUKKyMuIHRyYW5zbGF0aW9uIG9mICJlcnJvcjogIiB0YWtlcyBpbiB5b3VyIGxhbmd1YWdlLiBFLmcuIGluCisjLiBFbmdsaXNoIHRoaXMgaXM6CisjLgorIy4gJCBnaXQgc3Rhc2ggc2F2ZSAtLWJsYWgtYmxhaCAyPiYxIHwgaGVhZCAtbiAyCisjLiBlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogLS1ibGFoLWJsYWgKKyMuIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJy0tYmxhaC1ibGFoJworIzogZ2l0LXN0YXNoLnNoOjIzNworIywgc2gtZm9ybWF0Cittc2dpZCAiIgorImVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCisiICAgICAgIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJyRvcHRpb24nIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDoyNTgKK21zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjI2MgorbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDoyNjYKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjI4NAorbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6MzgzCittc2dpZCAiTm8gc3Rhc2ggZm91bmQuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDozOTAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjM5NgorIywgc2gtZm9ybWF0Cittc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgdmFsaWQgcmVmZXJlbmNlIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDo0MjQKKyMsIHNoLWZvcm1hdAorbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjQzNQorIywgc2gtZm9ybWF0Cittc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjQ0MworbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDo0NDcKK21zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjQ1NQorbXNnaWQgIkNvbmZsaWN0cyBpbiBpbmRleC4gVHJ5IHdpdGhvdXQgLS1pbmRleC4iCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjQ1NworbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjQ5MQorbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDo1MDYKK21zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjUyMworIywgc2gtZm9ybWF0Cittc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6NTI0CisjLCBzaC1mb3JtYXQKK21zZ2lkICIke1JFVn06IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDo1MzEKK21zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjYwMworbXNnaWQgIihUbyByZXN0b3JlIHRoZW0gdHlwZSBcImdpdCBzdGFzaCBhcHBseVwiKSIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjk1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RyaXAgb25lIGNvbXBvbmVudCBvZmYgdXJsICckcmVtb3RldXJsJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjIzNworIywgc2gtZm9ybWF0Cittc2dpZCAiTm8gc3VibW9kdWxlIG1hcHBpbmcgZm91bmQgaW4gLmdpdG1vZHVsZXMgZm9yIHBhdGggJyRzbV9wYXRoJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjI4MQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2xvbmUgb2YgJyR1cmwnIGludG8gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyOTMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkdpdGRpciAnJGEnIGlzIHBhcnQgb2YgdGhlIHN1Ym1vZHVsZSBwYXRoICckYicgb3IgdmljZSB2ZXJzYSIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjQwMworbXNnaWQgIlJlbGF0aXZlIHBhdGggY2FuIG9ubHkgYmUgdXNlZCBmcm9tIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDEzCisjLCBzaC1mb3JtYXQKK21zZ2lkICJyZXBvIFVSTDogJyRyZXBvJyBtdXN0IGJlIGFic29sdXRlIG9yIGJlZ2luIHdpdGggLi98Li4vIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDMwCisjLCBzaC1mb3JtYXQKK21zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjQzNAorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgcGF0aCBpcyBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCisiJHNtX3BhdGhcbiIKKyJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCBpdC4iCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDU0CisjLCBzaC1mb3JtYXQKK21zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYSB2YWxpZCBnaXQgcmVwbyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ2MgorIywgc2gtZm9ybWF0Cittc2dpZCAiQSBnaXQgZGlyZWN0b3J5IGZvciAnJHNtX25hbWUnIGlzIGZvdW5kIGxvY2FsbHkgd2l0aCByZW1vdGUocyk6IgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDY0CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDY2CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisidXNlIHRoZSAnLS1mb3JjZScgb3B0aW9uLiBJZiB0aGUgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpcyBub3QgdGhlIGNvcnJlY3QgcmVwbyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ2NworIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIm9yIHlvdSBhcmUgdW5zdXJlIHdoYXQgdGhpcyBtZWFucyBjaG9vc2UgYW5vdGhlciBuYW1lIHdpdGggdGhlICctLW5hbWUnICIKKyJvcHRpb24uIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDY5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJSZWFjdGl2YXRpbmcgbG9jYWwgZ2l0IGRpcmVjdG9yeSBmb3Igc3VibW9kdWxlICckc21fbmFtZScuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDgxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0ODYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgc3VibW9kdWxlICckc21fcGF0aCciCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0OTUKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjUzOQorIywgc2gtZm9ybWF0Cittc2dpZCAiRW50ZXJpbmcgJyRwcmVmaXgkZGlzcGxheXBhdGgnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTU5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdG9wcGluZyBhdCAnJHByZWZpeCRkaXNwbGF5cGF0aCc7IHNjcmlwdCByZXR1cm5lZCBub24temVybyBzdGF0dXMuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjA1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIGluIC5naXRtb2R1bGVzIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjE0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjYxNgorIywgc2gtZm9ybWF0Cittc2dpZCAiU3VibW9kdWxlICckbmFtZScgKCR1cmwpIHJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cGRhdGUgbW9kZSBmb3Igc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVzZSAnLicgaWYgeW91IHJlYWxseSB3YW50IHRvIGRlaW5pdGlhbGl6ZSBhbGwgc3VibW9kdWxlcyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjY4OAorIywgc2gtZm9ybWF0Cittc2dpZCAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njg5CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiKHVzZSAncm0gLXJmJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gcmVtb3ZlIGl0IGluY2x1ZGluZyBhbGwgb2YgaXRzIGhpc3RvcnkpIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njk1CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byAiCisiZGlzY2FyZCB0aGVtIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njk4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDbGVhcmVkIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjY5OQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHJlbW92ZSBzdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzAyCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGVtcHR5IHN1Ym1vZHVsZSBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MTEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlN1Ym1vZHVsZSAnJG5hbWUnICgkdXJsKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MzQKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyBub3QgaW5pdGlhbGl6ZWRcbiIKKyJNYXliZSB5b3Ugd2FudCB0byB1c2UgJ3VwZGF0ZSAtLWluaXQnPyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjg0NworIywgc2gtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjg1NgorIywgc2gtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo4ODAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjg5NAorIywgc2gtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODk1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBtZXJnZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTAxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogbWVyZ2VkIGluICckc2hhMSciCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlICBwYXRoICckcHJlZml4JHNtX3BhdGgnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTA3CisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJHByZWZpeCRzbV9wYXRoJzogJyRjb21tYW5kICRzaGExJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjkxMgorIywgc2gtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0ICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBjaGVja2VkIG91dCAnJHNoYTEnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTQwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTA0OAorbXNnaWQgIlRoZSAtLWNhY2hlZCBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgLS1maWxlcyBvcHRpb24iCittc2dzdHIgIiIKKworIy4gdW5leHBlY3RlZCB0eXBlCisjOiBnaXQtc3VibW9kdWxlLnNoOjEwOTYKKyMsIHNoLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgbW9kZSAkbW9kX2RzdCIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjExMTYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX3NyYyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjExMTkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjExMjIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0cyAkc2hhMV9zcmMgYW5kICRzaGExX2RzdCIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjExNDcKK21zZ2lkICJibG9iIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTI2MQorIywgc2gtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTMyNQorIywgc2gtZm9ybWF0Cittc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiIgpkaWZmIC0tZ2l0IGEvcG8vZGEucG8gYi9wby9kYS5wbwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjBhODhlYS4uMDAwMDAwMAotLS0gYS9wby9kYS5wbworKysgL2Rldi9udWxsCkBAIC0xLDM1MDMgKzAsMCBAQAotIyBEYW5pc2ggdHJhbnNsYXRpb25zIGZvciBHaXQuCi0jIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBQQUNLQUdFIHBhY2thZ2UuCi0jIEJ5cmlhbCBKZW5zZW4gPGJ5cmlhbEB2aXAuY3liZXJjaXR5LmRrPiwgMjAxMi4KLSMKLW1zZ2lkICIiCi1tc2dzdHIgIiIKLSJQcm9qZWN0LUlkLVZlcnNpb246IEdpdFxuIgotIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDEyLTAzLTE2IDIwOjE4KzA4MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDEyLTA0LTEwIDE4OjQxKzAyMDBcbiIKLSJMYXN0LVRyYW5zbGF0b3I6IEJ5cmlhbCBKZW5zZW4gPGJ5cmlhbEB2aXAuY3liZXJjaXR5LmRrPlxuIgotIkxhbmd1YWdlLVRlYW06IERhbmlzaCA8ZGFuc2tAZGFuc2stZ3J1cHBlbi5kaz5cbiIKLSJMYW5ndWFnZTogZGFcbiIKLSJNSU1FLVZlcnNpb246IDEuMFxuIgotIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgotIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKLSJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKLQotIzogYWR2aWNlLmM6MzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaGludDogJS4qc1xuIgotbXNnc3RyICIiCi0KLSMuCi0jLiAqIE1lc3NhZ2UgdXNlZCBib3RoIHdoZW4gJ2dpdCBjb21taXQnIGZhaWxzIGFuZCB3aGVuCi0jLiAqIG90aGVyIGNvbW1hbmRzIGRvaW5nIGEgbWVyZ2UgZG8uCi0jLgotIzogYWR2aWNlLmM6NjQKLW1zZ2lkICIiCi0iRml4IHRoZW0gdXAgaW4gdGhlIHdvcmsgdHJlZSxcbiIKLSJhbmQgdGhlbiB1c2UgJ2dpdCBhZGQvcm0gPGZpbGU+JyBhc1xuIgotImFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbiBhbmQgbWFrZSBhIGNvbW1pdCxcbiIKLSJvciB1c2UgJ2dpdCBjb21taXQgLWEnLiIKLW1zZ3N0ciAiIgotCi0jOiBjb21taXQuYzo0NwotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMiCi1tc2dzdHIgIiIKLQotIzogY29tbWl0LmM6NDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgJXMgaXMgbm90IGEgY29tbWl0ISIKLW1zZ3N0ciAiIgotCi0jOiBjb21wYXQvb2JzdGFjay5jOjQwNiBjb21wYXQvb2JzdGFjay5jOjQwOAotbXNnaWQgIm1lbW9yeSBleGhhdXN0ZWQiCi1tc2dzdHIgIiIKLQotIzogY29ubmVjdGVkLmM6MzkKLW1zZ2lkICJDb3VsZCBub3QgcnVuICdnaXQgcmV2LWxpc3QnIgotbXNnc3RyICIiCi0KLSM6IGNvbm5lY3RlZC5jOjQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB3cml0ZSB0byByZXYtbGlzdDogJXMiCi1tc2dzdHIgIiIKLQotIzogY29ubmVjdGVkLmM6NTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW46ICVzIgotbXNnc3RyICIiCi0KLSM6IGRpZmYuYzoxMDUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyUuKnMnXG4iCi1tc2dzdHIgIiIKLQotIzogZGlmZi5jOjExMAotIywgYy1mb3JtYXQKLW1zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyUuKnMnXG4iCi1tc2dzdHIgIiIKLQotIzogZGlmZi5jOjIxMAotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKLSIlcyIKLW1zZ3N0ciAiIgotCi0jOiBkaWZmLmM6MTMzNgotbXNnaWQgIiAwIGZpbGVzIGNoYW5nZWRcbiIKLW1zZ3N0ciAiIgotCi0jOiBkaWZmLmM6MTM0MAotIywgYy1mb3JtYXQKLW1zZ2lkICIgJWQgZmlsZSBjaGFuZ2VkIgotbXNnaWRfcGx1cmFsICIgJWQgZmlsZXMgY2hhbmdlZCIKLW1zZ3N0clswXSAiIgotbXNnc3RyWzFdICIiCi0KLSM6IGRpZmYuYzoxMzU3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiwgJWQgaW5zZXJ0aW9uKCspIgotbXNnaWRfcGx1cmFsICIsICVkIGluc2VydGlvbnMoKykiCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgotCi0jOiBkaWZmLmM6MTM2OAotIywgYy1mb3JtYXQKLW1zZ2lkICIsICVkIGRlbGV0aW9uKC0pIgotbXNnaWRfcGx1cmFsICIsICVkIGRlbGV0aW9ucygtKSIKLW1zZ3N0clswXSAiIgotbXNnc3RyWzFdICIiCi0KLSM6IGRpZmYuYzozNDI0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCi0iJXMiCi1tc2dzdHIgIiIKLQotIzogZ3BnLWludGVyZmFjZS5jOjU5Ci1tc2dpZCAiY291bGQgbm90IHJ1biBncGcuIgotbXNnc3RyICIiCi0KLSM6IGdwZy1pbnRlcmZhY2UuYzo3MQotbXNnaWQgImdwZyBkaWQgbm90IGFjY2VwdCB0aGUgZGF0YSIKLW1zZ3N0ciAiIgotCi0jOiBncGctaW50ZXJmYWNlLmM6ODIKLW1zZ2lkICJncGcgZmFpbGVkIHRvIHNpZ24gdGhlIGRhdGEiCi1tc2dzdHIgIiIKLQotIzogZ3JlcC5jOjEyODAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCi1tc2dzdHIgIiIKLQotIzogZ3JlcC5jOjEyOTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJzogJXMiCi1tc2dzdHIgIiIKLQotIzogZ3JlcC5jOjEzMDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJzogc2hvcnQgcmVhZCAlcyIKLW1zZ3N0ciAiIgotCi0jOiBoZWxwLmM6Mjg3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSInJXMnIGFwcGVhcnMgdG8gYmUgYSBnaXQgY29tbWFuZCwgYnV0IHdlIHdlcmUgbm90XG4iCi0iYWJsZSB0byBleGVjdXRlIGl0LiBNYXliZSBnaXQtJXMgaXMgYnJva2VuPyIKLW1zZ3N0ciAiIgotCi0jOiByZW1vdGUuYzoxNjA3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIgotbXNnaWRfcGx1cmFsICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgotCi0jOiByZW1vdGUuYzoxNjEzCi0jLCBjLWZvcm1hdAotbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdCwgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKLW1zZ2lkX3BsdXJhbCAiIgotIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdHMsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgotCi0jOiByZW1vdGUuYzoxNjIxCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgotImFuZCBoYXZlICVkIGFuZCAlZCBkaWZmZXJlbnQgY29tbWl0IGVhY2gsIHJlc3BlY3RpdmVseS5cbiIKLW1zZ2lkX3BsdXJhbCAiIgotIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCi0iYW5kIGhhdmUgJWQgYW5kICVkIGRpZmZlcmVudCBjb21taXRzIGVhY2gsIHJlc3BlY3RpdmVseS5cbiIKLW1zZ3N0clswXSAiIgotbXNnc3RyWzFdICIiCi0KLSM6IHNlcXVlbmNlci5jOjEyMCBidWlsdGluL21lcmdlLmM6ODY0IGJ1aWx0aW4vbWVyZ2UuYzo5ODUKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDk1IGJ1aWx0aW4vbWVyZ2UuYzoxMTA1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6MTIyIGJ1aWx0aW4vbWVyZ2UuYzozMzQgYnVpbHRpbi9tZXJnZS5jOjg2NwotIzogYnVpbHRpbi9tZXJnZS5jOjEwOTcgYnVpbHRpbi9tZXJnZS5jOjExMTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICclcyciCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6MTQzCi1tc2dpZCAiIgotImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKLSJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPiciCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6MTQ2Ci1tc2dpZCAiIgotImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKLSJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPidcbiIKLSJhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCAnZ2l0IGNvbW1pdCciCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6MTU5IHNlcXVlbmNlci5jOjY4NSBzZXF1ZW5jZXIuYzo3NjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICVzIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjE2MgotIywgYy1mb3JtYXQKLW1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzoxNzcKLW1zZ2lkICJZb3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlcnJ5LXBpY2suIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjE3OQotbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSByZXZlcnQuIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjE4MgotbXNnaWQgIkNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKLW1zZ3N0ciAiIgotCi0jLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiBvciAiY2hlcnJ5LXBpY2siCi0jOiBzZXF1ZW5jZXIuYzoyMzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzoyOTgKLW1zZ2lkICJZb3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjMwMQotbXNnaWQgIllvdSBkbyBub3QgaGF2ZSBhIHZhbGlkIEhFQUQiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6MzE2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzozMjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjMyOAotIywgYy1mb3JtYXQKLW1zZ2lkICJNYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgotbXNnc3RyICIiCi0KLSMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSAicmV2ZXJ0IiBvcgotIy4gImNoZXJyeS1waWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEKLSM6IHNlcXVlbmNlci5jOjMzOQotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6MzQzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjQyNwotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgcmV2ZXJ0ICVzLi4uICVzIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjQyOAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NDUwIHNlcXVlbmNlci5jOjkwOSBidWlsdGluL2xvZy5jOjI4OCBidWlsdGluL2xvZy5jOjcxMwotIzogYnVpbHRpbi9sb2cuYzoxMzI5IGJ1aWx0aW4vbG9nLmM6MTU0OCBidWlsdGluL21lcmdlLmM6MzQ4Ci0jOiBidWlsdGluL3Nob3J0bG9nLmM6MTgxCi1tc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NDUzCi1tc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NDYxCi0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjQ2NgotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo1NTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90ICVzIGR1cmluZyBhICVzIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjU3MwotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2UgbGluZSAlZC4iCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NTc4Ci1tc2dpZCAiTm8gY29tbWl0cyBwYXJzZWQuIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjU5MQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3Qgb3BlbiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo1OTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHJlYWQgJXMuIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjYwMgotIywgYy1mb3JtYXQKLW1zZ2lkICJVbnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJXMiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NjMwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQga2V5OiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo2MzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjY0NQotIywgYy1mb3JtYXQKLW1zZ2lkICJNYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJXMiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NjY2Ci1tc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo2NjcKLW1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjY3MQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJXMiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6Njg3IHNlcXVlbmNlci5jOjc3MgotIywgYy1mb3JtYXQKLW1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcy4iCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NzA2IHNlcXVlbmNlci5jOjg0MAotbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo3MDgKLW1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjcxMAotbXNnaWQgImNhbm5vdCBhYm9ydCBmcm9tIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjczMgotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NzM1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkICVzOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo3MzYKLW1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjc0MgotIywgYy1mb3JtYXQKLW1zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NzY1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBmb3JtYXQgJXMuIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjkyNwotbXNnaWQgIkNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo5MjgKLW1zZ2lkICJDYW4ndCBjaGVycnktcGljayBpbnRvIGVtcHR5IGhlYWQiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MTM0Ci1tc2dpZCAiVW5tZXJnZWQgcGF0aHM6IgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjE0MCB3dC1zdGF0dXMuYzoxNTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjE0MiB3dC1zdGF0dXMuYzoxNTkKLW1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MTQzCi1tc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjE1MQotbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoxNjkKLW1zZ2lkICJDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MTczCi1tc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MTc1Ci1tc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MTc2Ci1tc2dpZCAiIgotIiAgKHVzZSBcImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjE3OAotbXNnaWQgIiAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKSIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoxODcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgZmlsZXM6IgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjE5MAotIywgYy1mb3JtYXQKLW1zZ2lkICIgICh1c2UgXCJnaXQgJXMgPGZpbGU+Li4uXCIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyMDcKLW1zZ2lkICJidWciCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MjEyCi1tc2dpZCAiYm90aCBkZWxldGVkOiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyMTMKLW1zZ2lkICJhZGRlZCBieSB1czoiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MjE0Ci1tc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyMTUKLW1zZ2lkICJhZGRlZCBieSB0aGVtOiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyMTYKLW1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyMTcKLW1zZ2lkICJib3RoIGFkZGVkOiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyMTgKLW1zZ2lkICJib3RoIG1vZGlmaWVkOiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyNDgKLW1zZ2lkICJuZXcgY29tbWl0cywgIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjI1MAotbXNnaWQgIm1vZGlmaWVkIGNvbnRlbnQsICIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyNTIKLW1zZ2lkICJ1bnRyYWNrZWQgY29udGVudCwgIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjI2NgotIywgYy1mb3JtYXQKLW1zZ2lkICJuZXcgZmlsZTogICAlcyIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyNjkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY29waWVkOiAgICAgJXMgLT4gJXMiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MjcyCi0jLCBjLWZvcm1hdAotbXNnaWQgImRlbGV0ZWQ6ICAgICVzIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjI3NQotIywgYy1mb3JtYXQKLW1zZ2lkICJtb2RpZmllZDogICAlcyIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyNzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVuYW1lZDogICAgJXMgLT4gJXMiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MjgxCi0jLCBjLWZvcm1hdAotbXNnaWQgInR5cGVjaGFuZ2U6ICVzIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjI4NAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duOiAgICAlcyIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyODcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5tZXJnZWQ6ICAgJXMiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MjkwCi0jLCBjLWZvcm1hdAotbXNnaWQgImJ1ZzogdW5oYW5kbGVkIGRpZmYgc3RhdHVzICVjIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjcxMwotbXNnaWQgIk9uIGJyYW5jaCAiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6NzIwCi1tc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3MzEKLW1zZ2lkICJJbml0aWFsIGNvbW1pdCIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3NDUKLW1zZ2lkICJVbnRyYWNrZWQiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6NzQ3Ci1tc2dpZCAiSWdub3JlZCIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3NDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3NTEKLW1zZ2lkICIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjc1NwotbXNnaWQgIk5vIGNoYW5nZXMiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6NzYxCi0jLCBjLWZvcm1hdAotbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0JXNcbiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3NjMKLW1zZ2lkICIgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjc2NQotIywgYy1mb3JtYXQKLW1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnQlc1xuIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjc2NwotbXNnaWQgIiAodXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKSIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3Njkgd3Qtc3RhdHVzLmM6NzcyIHd0LXN0YXR1cy5jOjc3NQotIywgYy1mb3JtYXQKLW1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCVzXG4iCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6NzcwCi1tc2dpZCAiIChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKSIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3NzMKLW1zZ2lkICIgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6Nzc2Ci1tc2dpZCAiICh3b3JraW5nIGRpcmVjdG9yeSBjbGVhbikiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6ODg0Ci1tc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo4OTAKLW1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6OTA1Ci1tc2dpZCAiYmVoaW5kICIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo5MDggd3Qtc3RhdHVzLmM6OTExCi1tc2dpZCAiYWhlYWQgIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjkxMwotbXNnaWQgIiwgYmVoaW5kICIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjYyCi0jLCBjLWZvcm1hdAotbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hZGQuYzo2NyBidWlsdGluL2NvbW1pdC5jOjI5OAotbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjc3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlbW92ZSAnJXMnXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hZGQuYzoxNzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUGF0aCAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hZGQuYzoxOTIKLW1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjE5NSBidWlsdGluL2FkZC5jOjQ1NiBidWlsdGluL3JtLmM6MTg2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hZGQuYzoyMDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6Mjc2Ci1tc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6Mjg2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmcuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6MjkwCi1tc2dpZCAiQ291bGQgbm90IHdyaXRlIHBhdGNoIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6Mjk1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hZGQuYzoyOTcKLW1zZ2lkICJFbXB0eSBwYXRjaC4gQWJvcnRlZC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hZGQuYzozMDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hZGQuYzozMTIKLW1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hZGQuYzozNTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjM1MwotbXNnaWQgIm5vIGZpbGVzIGFkZGVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6MzU5Ci1tc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjM5MQotbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6MzkzCi1tc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjQxMwotIywgYy1mb3JtYXQKLW1zZ2lkICJOb3RoaW5nIHNwZWNpZmllZCwgbm90aGluZyBhZGRlZC5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjQxNAotIywgYy1mb3JtYXQKLW1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjQyMCBidWlsdGluL2NsZWFuLmM6OTUgYnVpbHRpbi9jb21taXQuYzozNTggYnVpbHRpbi9tdi5jOjgyCi0jOiBidWlsdGluL3JtLmM6MTYyCi1tc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6NDc2IGJ1aWx0aW4vbXYuYzoyMjkgYnVpbHRpbi9ybS5jOjI2MAotbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FyY2hpdmUuYzoxNwotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGFyY2hpdmUgZmlsZSAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjIwCi1tc2dpZCAiY291bGQgbm90IHJlZGlyZWN0IG91dHB1dCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FyY2hpdmUuYzozNwotbXNnaWQgImdpdCBhcmNoaXZlOiBSZW1vdGUgd2l0aCBubyBVUkwiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcmNoaXZlLmM6NTgKLW1zZ2lkICJnaXQgYXJjaGl2ZTogZXhwZWN0ZWQgQUNLL05BSywgZ290IEVPRiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2MwotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgYXJjaGl2ZTogTkFDSyAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2NQotIywgYy1mb3JtYXQKLW1zZ2lkICJyZW1vdGUgZXJyb3I6ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY2Ci1tc2dpZCAiZ2l0IGFyY2hpdmU6IHByb3RvY29sIGVycm9yIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjcxCi1tc2dpZCAiZ2l0IGFyY2hpdmU6IGV4cGVjdGVkIGEgZmx1c2giCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzoxMzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotImRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaGFzIGJlZW4gbWVyZ2VkIHRvXG4iCi0iICAgICAgICAgJyVzJywgYnV0IG5vdCB5ZXQgbWVyZ2VkIHRvIEhFQUQuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQxCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJub3QgZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBpcyBub3QgeWV0IG1lcmdlZCB0b1xuIgotIiAgICAgICAgICclcycsIGV2ZW4gdGhvdWdoIGl0IGlzIG1lcmdlZCB0byBIRUFELiIKLW1zZ3N0ciAiIgotCi0jLiBUUkFOU0xBVE9SUzogVGhpcyBpcyAicmVtb3RlICIgaW4gInJlbW90ZSBicmFuY2ggJyVzJyBub3QgZm91bmQiCi0jOiBidWlsdGluL2JyYW5jaC5jOjE2MwotbXNnaWQgInJlbW90ZSAiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzoxNzEKLW1zZ2lkICJjYW5ub3QgdXNlIC1hIHdpdGggLWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzoxNzcKLW1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yIEhFQUQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzoxODIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGRlbGV0ZSB0aGUgYnJhbmNoICclcycgd2hpY2ggeW91IGFyZSBjdXJyZW50bHkgb24uIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTkyCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzYnJhbmNoICclcycgbm90IGZvdW5kLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjIwMAotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzoyMDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIlRoZSBicmFuY2ggJyVzJyBpcyBub3QgZnVsbHkgbWVyZ2VkLlxuIgotIklmIHlvdSBhcmUgc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgaXQsIHJ1biAnZ2l0IGJyYW5jaCAtRCAlcycuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjE0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkVycm9yIGRlbGV0aW5nICVzYnJhbmNoICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzoyMTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRGVsZXRlZCAlc2JyYW5jaCAlcyAod2FzICVzKS5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjIyNAotbXNnaWQgIlVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgcG9pbnQgYXQgYSBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzozOTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmVoaW5kICVkXSAiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzozOTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYWhlYWQgJWRdICIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjM5OAotIywgYy1mb3JtYXQKLW1zZ2lkICJhaGVhZCAlZCwgYmVoaW5kICVkXSAiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzo1MDEKLW1zZ2lkICIobm8gYnJhbmNoKSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjU2NgotbXNnaWQgInNvbWUgcmVmcyBjb3VsZCBub3QgYmUgcmVhZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjU3OQotbXNnaWQgImNhbm5vdCByZW5hbWUgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzo2MDQKLW1zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwOAotIywgYy1mb3JtYXQKLW1zZ2lkICJSZW5hbWVkIGEgbWlzbmFtZWQgYnJhbmNoICclcycgYXdheSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxMgotIywgYy1mb3JtYXQKLW1zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE5Ci1tc2dpZCAiQnJhbmNoIGlzIHJlbmFtZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1OAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgYnJhbmNoIGRlc2NyaXB0aW9uIHRlbXBsYXRlOiAlc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQ2Ci1tc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzo3NTEgYnVpbHRpbi9jbG9uZS5jOjU1OAotbXNnaWQgIkhFQUQgbm90IGZvdW5kIGJlbG93IHJlZnMvaGVhZHMhIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA5Ci1tc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2J1bmRsZS5jOjQ3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzIGlzIG9rYXlcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2J1bmRsZS5jOjU2Ci1tc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gY3JlYXRlIGEgYnVuZGxlLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2J1bmRsZS5jOjYwCi1tc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gdW5idW5kbGUuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTMgYnVpbHRpbi9jaGVja291dC5jOjE0NgotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBvdXIgdmVyc2lvbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgdGhlaXIgdmVyc2lvbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTMxCi0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIGFsbCBuZWNlc3NhcnkgdmVyc2lvbnMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjE3NQotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBuZWNlc3NhcnkgdmVyc2lvbnMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjE5MgotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoICclcyc6IGNhbm5vdCBtZXJnZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjA5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlVuYWJsZSB0byBhZGQgbWVyZ2UgcmVzdWx0IGZvciAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTIgYnVpbHRpbi9yZXNldC5jOjE1OAotIywgYy1mb3JtYXQKLW1zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzQgYnVpbHRpbi9jaGVja291dC5jOjM5MgotbXNnaWQgImNvcnJ1cHQgaW5kZXggZmlsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY0IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0aCAnJXMnIGlzIHVubWVyZ2VkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMDIgYnVpbHRpbi9jaGVja291dC5jOjQ5OCBidWlsdGluL2Nsb25lLmM6NTgzCi0jOiBidWlsdGluL21lcmdlLmM6ODExCi1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMTkgYnVpbHRpbi9kaWZmLmM6MzAyIGJ1aWx0aW4vbWVyZ2UuYzo0MDgKLW1zZ2lkICJkaWZmX3NldHVwX2RvbmUgZmFpbGVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MTQKLW1zZ2lkICJ5b3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NTMzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjU2NQotbXNnaWQgIkhFQUQgaXMgbm93IGF0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1NzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVzZXQgYnJhbmNoICclcydcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NTc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1NzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiU3dpdGNoZWQgdG8gYW5kIHJlc2V0IGJyYW5jaCAnJXMnXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjU4MQotIywgYy1mb3JtYXQKLW1zZ2lkICJTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJyVzJ1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1ODMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjM5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiAuLi4gYW5kICVkIG1vcmUuXG4iCi1tc2dzdHIgIiIKLQotIy4gVGhlIHNpbmd1bGFyIHZlcnNpb24KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXQgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCi0iYW55IG9mIHlvdXIgYnJhbmNoZXM6XG4iCi0iXG4iCi0iJXNcbiIKLW1zZ2lkX3BsdXJhbCAiIgotIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXRzIGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgotImFueSBvZiB5b3VyIGJyYW5jaGVzOlxuIgotIlxuIgotIiVzXG4iCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjYzCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJJZiB5b3Ugd2FudCB0byBrZWVwIHRoZW0gYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgotInRvIGRvIHNvIHdpdGg6XG4iCi0iXG4iCi0iIGdpdCBicmFuY2ggbmV3X2JyYW5jaF9uYW1lICVzXG4iCi0iXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjY5MgotbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjY5NgotbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MjIKLW1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgotbXNnc3RyICIiCi0KLSMuIGNhc2UgKDEpCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODUzCi0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKLW1zZ3N0ciAiIgotCi0jLiBjYXNlICgxKTogd2FudCBhIHRyZWUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4OTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzIKLW1zZ2lkICItQiBjYW5ub3QgYmUgdXNlZCB3aXRoIC1iIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5ODEKLW1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5ODQKLW1zZ2lkICItLWRldGFjaCBjYW5ub3QgYmUgdXNlZCB3aXRoIC1iLy1CLy0tb3JwaGFuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5ODYKLW1zZ2lkICItLWRldGFjaCBjYW5ub3QgYmUgdXNlZCB3aXRoIC10IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5OTIKLW1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjk5OQotbXNnaWQgIk1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwNQotbXNnaWQgIi0tb3JwaGFuIGFuZCAtYnwtQiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA3Ci1tc2dpZCAiLS1vcnBoYW4gY2Fubm90IGJlIHVzZWQgd2l0aCAtdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxNwotbXNnaWQgImdpdCBjaGVja291dDogLWYgYW5kIC1tIGFyZSBpbmNvbXBhdGlibGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTEKLW1zZ2lkICJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1OQotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iZ2l0IGNoZWNrb3V0OiB1cGRhdGluZyBwYXRocyBpcyBpbmNvbXBhdGlibGUgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMuXG4iCi0iRGlkIHlvdSBpbnRlbmQgdG8gY2hlY2tvdXQgJyVzJyB3aGljaCBjYW4gbm90IGJlIHJlc29sdmVkIGFzIGNvbW1pdD8iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjEKLW1zZ2lkICJnaXQgY2hlY2tvdXQ6IHVwZGF0aW5nIHBhdGhzIGlzIGluY29tcGF0aWJsZSB3aXRoIHN3aXRjaGluZyBicmFuY2hlcy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjYKLW1zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5Ci1tc2dpZCAiIgotImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgotImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg4Ci1tc2dpZCAiQ2Fubm90IHN3aXRjaCBicmFuY2ggdG8gYSBub24tY29tbWl0LiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5MQotbXNnaWQgIi0tb3Vycy8tLXRoZWlycyBpcyBpbmNvbXBhdGlibGUgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzo3OAotbXNnaWQgIi14IGFuZCAtWCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NsZWFuLmM6ODIKLW1zZ2lkICIiCi0iY2xlYW4ucmVxdWlyZUZvcmNlIHNldCB0byB0cnVlIGFuZCBuZWl0aGVyIC1uIG5vciAtZiBnaXZlbjsgcmVmdXNpbmcgdG8gY2xlYW4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbGVhbi5jOjg1Ci1tc2dpZCAiIgotImNsZWFuLnJlcXVpcmVGb3JjZSBkZWZhdWx0cyB0byB0cnVlIGFuZCBuZWl0aGVyIC1uIG5vciAtZiBnaXZlbjsgcmVmdXNpbmcgdG8gIgotImNsZWFuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzoxNTUgYnVpbHRpbi9jbGVhbi5jOjE3NgotIywgYy1mb3JtYXQKLW1zZ2lkICJXb3VsZCByZW1vdmUgJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NsZWFuLmM6MTU5IGJ1aWx0aW4vY2xlYW4uYzoxNzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVtb3ZpbmcgJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NsZWFuLmM6MTYyIGJ1aWx0aW4vY2xlYW4uYzoxODIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NsZWFuLmM6MTY2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIldvdWxkIG5vdCByZW1vdmUgJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NsZWFuLmM6MTY4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIk5vdCByZW1vdmluZyAlc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzoyNDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCBkaXJlY3RvcnkuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzozMDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6MzA2Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjMwOCBidWlsdGluL2RpZmYuYzo3NQotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjMyNAotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzozNDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHVubGluayAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzozNDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjM1MAotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjM3MwotIywgYy1mb3JtYXQKLW1zZ2lkICJkb25lLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjU0OQotbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NjM5Ci1tc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NjQzCi1tc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiLS1iYXJlIGFuZCAtLW9yaWdpbiAlcyBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVwb3NpdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NzMKLW1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NjgzCi0jLCBjLWZvcm1hdAotbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjY5MwotIywgYy1mb3JtYXQKLW1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjcwNiBidWlsdGluL2Nsb25lLmM6NzIwCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcycuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjczMAotIywgYy1mb3JtYXQKLW1zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo3ODYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gY2xvbmUgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjgzNQotIywgYy1mb3JtYXQKLW1zZ2lkICJSZW1vdGUgYnJhbmNoICVzIG5vdCBmb3VuZCBpbiB1cHN0cmVhbSAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6ODQyCi1tc2dpZCAiWW91IGFwcGVhciB0byBoYXZlIGNsb25lZCBhbiBlbXB0eSByZXBvc2l0b3J5LiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjQyCi1tc2dpZCAiIgotIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgotIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKLSJZb3UgY2FuIHN1cHByZXNzIHRoaXMgbWVzc2FnZSBieSBzZXR0aW5nIHRoZW0gZXhwbGljaXRseTpcbiIKLSJcbiIKLSIgICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJZb3VyIE5hbWVcIlxuIgotIiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgeW91QGV4YW1wbGUuY29tXG4iCi0iXG4iCi0iQWZ0ZXIgZG9pbmcgdGhpcywgeW91IG1heSBmaXggdGhlIGlkZW50aXR5IHVzZWQgZm9yIHRoaXMgY29tbWl0IHdpdGg6XG4iCi0iXG4iCi0iICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTQKLW1zZ2lkICIiCi0iWW91IGFza2VkIHRvIGFtZW5kIHRoZSBtb3N0IHJlY2VudCBjb21taXQsIGJ1dCBkb2luZyBzbyB3b3VsZCBtYWtlXG4iCi0iaXQgZW1wdHkuIFlvdSBjYW4gcmVwZWF0IHlvdXIgY29tbWFuZCB3aXRoIC0tYWxsb3ctZW1wdHksIG9yIHlvdSBjYW5cbiIKLSJyZW1vdmUgdGhlIGNvbW1pdCBlbnRpcmVseSB3aXRoIFwiZ2l0IHJlc2V0IEhFQUReXCIuXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo1OQotbXNnaWQgIiIKLSJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKLSJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCi0iXG4iCi0iICAgIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eVxuIgotIlxuIgotIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MjA1IGJ1aWx0aW4vcmVzZXQuYzozMwotbXNnaWQgIm1lcmdlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MjA4Ci1tc2dpZCAiY2hlcnJ5LXBpY2siCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzozMjUKLW1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzozNjcKLW1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjM3MwotbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo0MDYgYnVpbHRpbi9jb21taXQuYzo0MjcgYnVpbHRpbi9jb21taXQuYzo0NzMKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3X2luZGV4IGZpbGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo0NTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgJXMuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDY2Ci1tc2dpZCAiY2Fubm90IHJlYWQgdGhlIGluZGV4IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDg2Ci1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRlbXBvcmFyeSBpbmRleCBmaWxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTUwIGJ1aWx0aW4vY29tbWl0LmM6NTU2Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgY29tbWl0OiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjU3OQotbXNnaWQgIm1hbGZvcm1lZCAtLWF1dGhvciBwYXJhbWV0ZXIiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo2MzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiTWFsZm9ybWVkIGlkZW50IHN0cmluZzogJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjY3MCBidWlsdGluL2NvbW1pdC5jOjcwMyBidWlsdGluL2NvbW1pdC5jOjEwMDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo2ODIgYnVpbHRpbi9zaG9ydGxvZy5jOjI5NgotIywgYy1mb3JtYXQKLW1zZ2lkICIocmVhZGluZyBsb2cgbWVzc2FnZSBmcm9tIHN0YW5kYXJkIGlucHV0KVxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6Njg0Ci1tc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZyb20gc3RhbmRhcmQgaW5wdXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo2ODgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5NAotbXNnaWQgImNvbW1pdCBoYXMgZW1wdHkgbWVzc2FnZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjcxMAotbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01TRyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjcxNAotbXNnaWQgImNvdWxkIG5vdCByZWFkIFNRVUFTSF9NU0ciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo3MTgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjc0NgotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzcwCi1tc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjc4MwotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iXG4iCi0iSXQgbG9va3MgbGlrZSB5b3UgbWF5IGJlIGNvbW1pdHRpbmcgYSAlcy5cbiIKLSJJZiB0aGlzIGlzIG5vdCBjb3JyZWN0LCBwbGVhc2UgcmVtb3ZlIHRoZSBmaWxlXG4iCi0iXHQlc1xuIgotImFuZCB0cnkgYWdhaW4uXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo3OTYKLW1zZ2lkICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6Nzk5Ci1tc2dpZCAiIgotIiBMaW5lcyBzdGFydGluZ1xuIgotIndpdGggJyMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo4MDQKLW1zZ2lkICIiCi0iIExpbmVzIHN0YXJ0aW5nXG4iCi0id2l0aCAnIycgd2lsbCBiZSBrZXB0OyB5b3UgbWF5IHJlbW92ZSB0aGVtIHlvdXJzZWxmIGlmIHlvdSB3YW50IHRvLlxuIgotIkFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo4MTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXNBdXRob3I6ICAgICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODIzCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzQ29tbWl0dGVyOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjg0MwotbXNnaWQgIkNhbm5vdCByZWFkIGluZGV4IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODgwCi1tc2dpZCAiRXJyb3IgYnVpbGRpbmcgdHJlZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo4OTUgYnVpbHRpbi90YWcuYzozNTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIk5vIGV4aXN0aW5nIGF1dGhvciBmb3VuZCB3aXRoICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo5OTAgYnVpbHRpbi9jb21taXQuYzoxMTgyCi0jLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMzAKLW1zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA0MQotbXNnaWQgIllvdSBoYXZlIG5vdGhpbmcgdG8gYW1lbmQuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA0MwotIywgYy1mb3JtYXQKLW1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSAlcyAtLSBjYW5ub3QgYW1lbmQuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA0NQotbXNnaWQgIk9wdGlvbnMgLS1zcXVhc2ggYW5kIC0tZml4dXAgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMDU1Ci1tc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMDU3Ci1tc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLy0tZml4dXAuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2MwotbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMDgwCi1tc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4MgotbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwODQKLW1zZ2lkICJDbGV2ZXIuLi4gYW1lbmRpbmcgdGhlIGxhc3Qgb25lIHdpdGggZGlydHkgaW5kZXguIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4NgotbXNnaWQgIkV4cGxpY2l0IHBhdGhzIHNwZWNpZmllZCB3aXRob3V0IC1pIG5vciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5NiBidWlsdGluL3RhZy5jOjU1NgotIywgYy1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMDEKLW1zZ2lkICJQYXRocyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTI4MAotbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMjgyCi1tc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyMwotbXNnaWQgImRldGFjaGVkIEhFQUQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzI1Ci1tc2dpZCAiIChyb290LWNvbW1pdCkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDE1Ci1tc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MiBidWlsdGluL21lcmdlLmM6NTA5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDU5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvcnJ1cHQgTUVSR0VfSEVBRCBmaWxlICglcykiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDY2Ci1tc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OQotIywgYy1mb3JtYXQKLW1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNCBidWlsdGluL21lcmdlLmM6OTM1IGJ1aWx0aW4vbWVyZ2UuYzo5NjgKLW1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MzUKLW1zZ2lkICJjYW5ub3QgbG9jayBIRUFEIHJlZiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MzkKLW1zZ2lkICJjYW5ub3QgdXBkYXRlIEhFQUQgcmVmIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU1MAotbXNnaWQgIiIKLSJSZXBvc2l0b3J5IGhhcyBiZWVuIHVwZGF0ZWQsIGJ1dCB1bmFibGUgdG8gd3JpdGVcbiIKLSJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIG9yIHF1b3RhIGlzXG4iCi0ibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXNldCBIRUFEXCIgdG8gcmVjb3Zlci4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjIzNAotIywgYy1mb3JtYXQKLW1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIG5vdCBhdmFpbGFibGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjIzOAotIywgYy1mb3JtYXQKLW1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIGhhcyBubyBlbWJlZGRlZCBuYW1lIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidGFnICclcycgaXMgcmVhbGx5ICclcycgaGVyZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgJyVzJyBvYmplY3QiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4NwotIywgYy1mb3JtYXQKLW1zZ2lkICJubyB0YWcgZXhhY3RseSBtYXRjaGVzICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4OQotIywgYy1mb3JtYXQKLW1zZ2lkICJzZWFyY2hpbmcgdG8gZGVzY3JpYmUgJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIk5vIGFubm90YXRlZCB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgotIkhvd2V2ZXIsIHRoZXJlIHdlcmUgdW5hbm5vdGF0ZWQgdGFnczogdHJ5IC0tdGFncy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM1NwotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iTm8gdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKLSJUcnkgLS1hbHdheXMsIG9yIGNyZWF0ZSBzb21lIHRhZ3MuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidHJhdmVyc2VkICVsdSBjb21taXRzXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4MQotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0ibW9yZSB0aGFuICVpIHRhZ3MgZm91bmQ7IGxpc3RlZCAlaSBtb3N0IHJlY2VudFxuIgotImdhdmUgdXAgc2VhcmNoIGF0ICVzXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQzNgotbXNnaWQgIi0tbG9uZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFiYnJldj0wIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NjIKLW1zZ2lkICJObyBuYW1lcyBmb3VuZCwgY2Fubm90IGRlc2NyaWJlIGFueXRoaW5nLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDgyCi1tc2dpZCAiLS1kaXJ0eSBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXR0aXNoZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kaWZmLmM6NzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJzogbm90IGEgcmVndWxhciBmaWxlIG9yIHN5bWxpbmsiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kaWZmLmM6MjIwCi0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2RpZmYuYzoyOTcKLW1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2RpZmYuYzozNDcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBvYmplY3QgJyVzJyBnaXZlbi4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kaWZmLmM6MzUyCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1vcmUgdGhhbiAlZCB0cmVlcyBnaXZlbjogJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2RpZmYuYzozNjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2RpZmYuYzozNzAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5oYW5kbGVkIG9iamVjdCAnJXMnIGdpdmVuLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MjAwCi1tc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjI1MgotIywgYy1mb3JtYXQKLW1zZ2lkICJvYmplY3QgJXMgbm90IGZvdW5kIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzoyNTgKLW1zZ2lkICJbdXAgdG8gZGF0ZV0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjI3MgotIywgYy1mb3JtYXQKLW1zZ2lkICIhICUtKnMgJS0qcyAtPiAlcyAgKGNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoKSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MjczIGJ1aWx0aW4vZmV0Y2guYzozNTEKLW1zZ2lkICJbcmVqZWN0ZWRdIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzoyODQKLW1zZ2lkICJbdGFnIHVwZGF0ZV0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjI4NiBidWlsdGluL2ZldGNoLmM6MzEzIGJ1aWx0aW4vZmV0Y2guYzozMzEKLW1zZ2lkICIgICh1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZikiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjI5OAotbXNnaWQgIltuZXcgdGFnXSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MzAyCi1tc2dpZCAiW25ldyBicmFuY2hdIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzozNDcKLW1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MzQ3Ci1tc2dpZCAiZm9yY2VkIHVwZGF0ZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MzUzCi1tc2dpZCAiKG5vbi1mYXN0LWZvcndhcmQpIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzozODQgYnVpbHRpbi9mZXRjaC5jOjY3NgotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MzkzCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NDc5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkZyb20gJS4qc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo0OTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKLSIgJ2dpdCByZW1vdGUgcHJ1bmUgJXMnIHRvIHJlbW92ZSBhbnkgb2xkLCBjb25mbGljdGluZyBicmFuY2hlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NTQwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZylcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NTQxCi0jLCBjLWZvcm1hdAotbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKVxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1NDgKLW1zZ2lkICJbZGVsZXRlZF0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjU0OQotbXNnaWQgIihub25lKSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NjY2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NzAwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjc3NwotIywgYy1mb3JtYXQKLW1zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo3ODAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRmV0Y2hpbmcgJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6ODgxCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBmZXRjaCAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6ODk4Ci1tc2dpZCAiIgotIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgotInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjkxOAotbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjk3MAotbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NzIKLW1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjk4MwotIywgYy1mb3JtYXQKLW1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo5OTEKLW1zZ2lkICJGZXRjaGluZyBhIGdyb3VwIGFuZCBzcGVjaWZ5aW5nIHJlZnNwZWNzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9nYy5jOjYzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgJXM6ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9nYy5jOjc4Ci1tc2dpZCAiVG9vIG1hbnkgb3B0aW9ucyBzcGVjaWZpZWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9nYy5jOjEwMwotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnNhbmVseSBsb25nIG9iamVjdCBkaXJlY3RvcnkgJS4qcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2djLmM6MjIzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2djLmM6MjI2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuIFlvdSBtYXkgYWxzb1xuIgotInJ1biBcImdpdCBnY1wiIG1hbnVhbGx5LiBTZWUgXCJnaXQgaGVscCBnY1wiIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZ2MuYzoyNTYKLW1zZ2lkICIiCi0iVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgdGhlbS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ncmVwLmM6MjE2Ci0jLCBjLWZvcm1hdAotbXNnaWQgImdyZXA6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo0MDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIGNoZGlyOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo0NzggYnVpbHRpbi9ncmVwLmM6NTEyCi0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo1MjYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo1ODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo2MDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo4ODgKLW1zZ2lkICJubyBwYXR0ZXJuIGdpdmVuLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo5MDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmFkIG9iamVjdCAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo5NDMKLW1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ncmVwLmM6OTY2Ci1tc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo5NzEKLW1zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ncmVwLmM6OTc0Ci1tc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZ3JlcC5jOjk4MgotbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IG1ha2UgJXMgd3JpdGFibGUgYnkgZ3JvdXAiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6NjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW5zYW5lbHkgbG9uZyB0ZW1wbGF0ZSBuYW1lICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBzdGF0ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6NzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHN0YXQgdGVtcGxhdGUgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzo4MAotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbmRpciAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjk3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkbGluayAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjk5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImluc2FuZWx5IGxvbmcgc3ltbGluayAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHN5bWxpbmsgJyVzJyAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgY29weSAnJXMnIHRvICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MTEwCi0jLCBjLWZvcm1hdAotbXNnaWQgImlnbm9yaW5nIHRlbXBsYXRlICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzMwotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnNhbmVseSBsb25nIHRlbXBsYXRlIHBhdGggJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MTQxCi0jLCBjLWZvcm1hdAotbXNnaWQgInRlbXBsYXRlcyBub3QgZm91bmQgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MTU0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm5vdCBjb3B5aW5nIHRlbXBsYXRlcyBvZiBhIHdyb25nIGZvcm1hdCB2ZXJzaW9uICVkIGZyb20gJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzoxOTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW5zYW5lIGdpdCBkaXJlY3RvcnkgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MzIyIGJ1aWx0aW4vaW5pdC1kYi5jOjMyNQotIywgYy1mb3JtYXQKLW1zZ2lkICIlcyBhbHJlYWR5IGV4aXN0cyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzozNTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGhhbmRsZSBmaWxlIHR5cGUgJWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MzU3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBtb3ZlICVzIHRvICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM2MgotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGdpdCBsaW5rICVzIgotbXNnc3RyICIiCi0KLSMuCi0jLiAqIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJyVzJyBpcyBlaXRoZXIgIlJlaW5pdGlhbGl6ZWQKLSMuICogZXhpc3RpbmciIG9yICJJbml0aWFsaXplZCBlbXB0eSIsIHRoZSBzZWNvbmQgIiBzaGFyZWQiIG9yCi0jLiAqICIiLCBhbmQgdGhlIGxhc3QgJyVzJXMnIGlzIHRoZSB2ZXJiYXRpbSBkaXJlY3RvcnkgbmFtZS4KLSMuCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMlcyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6NDIwCi1tc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MjAKLW1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MjEKLW1zZ2lkICIgc2hhcmVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ0MAotbXNnaWQgImNhbm5vdCB0ZWxsIGN3ZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MjEgYnVpbHRpbi9pbml0LWRiLmM6NTI4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBta2RpciAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IGNoZGlyIHRvICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1NAotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0IHNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LSIKLSJkaXI9PGRpcmVjdG9yeT4pIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3OAotbXNnaWQgIkNhbm5vdCBhY2Nlc3MgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzo1ODUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGFjY2VzcyB3b3JrIHRyZWUgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjE4NwotIywgYy1mb3JtYXQKLW1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzozOTUgYnVpbHRpbi9sb2cuYzo0ODMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6NTA3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlVua25vd24gdHlwZTogJWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzo1OTYKLW1zZ2lkICJmb3JtYXQuaGVhZGVycyB3aXRob3V0IHZhbHVlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6NjY5Ci1tc2dpZCAibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6NjgwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBvcGVuIHBhdGNoIGZpbGUgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzo2OTQKLW1zZ2lkICJOZWVkIGV4YWN0bHkgb25lIHJhbmdlLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjcwMgotbXNnaWQgIk5vdCBhIHJhbmdlLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjczOQotbXNnaWQgIkNvdWxkIG5vdCBleHRyYWN0IGVtYWlsIGZyb20gY29tbWl0dGVyIGlkZW50aXR5LiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjc4NQotbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzo4NzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW5zYW5lIGluLXJlcGx5LXRvOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjk1MgotbXNnaWQgIlR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6MTE3MwotIywgYy1mb3JtYXQKLW1zZ2lkICJib2d1cyBjb21taXR0ZXIgaW5mbyAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjEyMTgKLW1zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzoxMjIwCi1tc2dpZCAiLS1zdWJqZWN0LXByZWZpeCBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzoxMjI1IGJ1aWx0aW4vc2hvcnRsb2cuYzoyODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIGFyZ3VtZW50OiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjEyMjgKLW1zZ2lkICItLW5hbWUtb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6MTIzMAotbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjEyMzIKLW1zZ2lkICItLWNoZWNrIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzoxMjU1Ci1tc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzoxMjU3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzoxNDEwCi1tc2dpZCAiRmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzoxNTE0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJDb3VsZCBub3QgZmluZCBhIHRyYWNrZWQgcmVtb3RlIGJyYW5jaCwgcGxlYXNlIHNwZWNpZnkgPHVwc3RyZWFtPiBtYW51YWxseS5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjE1MzAgYnVpbHRpbi9sb2cuYzoxNTMyIGJ1aWx0aW4vbG9nLmM6MTU0NAotIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6OTEKLW1zZ2lkICJzd2l0Y2ggYG0nIHJlcXVpcmVzIGEgdmFsdWUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEyOAotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgZmluZCBtZXJnZSBzdHJhdGVneSAnJXMnLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQXZhaWxhYmxlIHN0cmF0ZWdpZXMgYXJlOiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTM0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkF2YWlsYWJsZSBjdXN0b20gc3RyYXRlZ2llcyBhcmU6IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDEKLW1zZ2lkICJjb3VsZCBub3QgcnVuIHN0YXNoLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MjQ2Ci1tc2dpZCAic3Rhc2ggZmFpbGVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0OiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MjcwIGJ1aWx0aW4vbWVyZ2UuYzoyODcKLW1zZ2lkICJyZWFkLXRyZWUgZmFpbGVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzozMTcKLW1zZ2lkICIgKG5vdGhpbmcgdG8gc3F1YXNoKSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MzMwCi0jLCBjLWZvcm1hdAotbXNnaWQgIlNxdWFzaCBjb21taXQgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MzYyCi1tc2dpZCAiV3JpdGluZyBTUVVBU0hfTVNHIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNjQKLW1zZ2lkICJGaW5pc2hpbmcgU1FVQVNIX01TRyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6Mzg2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIk5vIG1lcmdlIG1lc3NhZ2UgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6NDM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjUzNgotIywgYy1mb3JtYXQKLW1zZ2lkICJCYWQgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBzdHJpbmc6ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2MjkKLW1zZ2lkICJnaXQgd3JpdGUtdHJlZSBmYWlsZWQgdG8gd3JpdGUgYSB0cmVlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NzkKLW1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjY5NgotbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjcwOQotbXNnaWQgIk5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjcyMwotIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3MzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHJlYWQgZnJvbSAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4ODUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiTm90IGNvbW1pdHRpbmcgbWVyZ2U7IHVzZSAnZ2l0IGNvbW1pdCcgdG8gY29tcGxldGUgdGhlIG1lcmdlLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4OTEKLW1zZ2lkICIiCi0iUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCi0iZXNwZWNpYWxseSBpZiBpdCBtZXJnZXMgYW4gdXBkYXRlZCB1cHN0cmVhbSBpbnRvIGEgdG9waWMgYnJhbmNoLlxuIgotIlxuIgotIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzXG4iCi0idGhlIGNvbW1pdC5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6OTE1Ci1tc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiV29uZGVyZnVsLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDAwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSBmYWlsZWQ7IGZpeCBjb25mbGljdHMgYW5kIHRoZW4gY29tbWl0IHRoZSByZXN1bHQuXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEwMTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEwNTcKLW1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEwNTkKLW1zZ2lkICJObyByZW1vdGUgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEwNjEKLW1zZ2lkICJObyBkZWZhdWx0IHVwc3RyZWFtIGRlZmluZWQgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEwNjYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiTm8gcmVtb3RlIHRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTE4OAotbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIHRvIGFib3J0IChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTIwNCBnaXQtcHVsbC5zaDozMQotbXNnaWQgIiIKLSJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS5cbiIKLSJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjA3IGdpdC1wdWxsLnNoOjM0Ci1tc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjExCi1tc2dpZCAiIgotIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLlxuIgotIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IGNhbiBtZXJnZS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEyMTQKLW1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEyMjMKLW1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTIyOAotbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLW5vLWZmIHdpdGggLS1mZi1vbmx5LiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTIzNQotbXNnaWQgIk5vIGNvbW1pdCBzcGVjaWZpZWQgYW5kIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG5vdCBzZXQuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjY2Ci1tc2dpZCAiQ2FuIG1lcmdlIG9ubHkgZXhhY3RseSBvbmUgY29tbWl0IGludG8gZW1wdHkgaGVhZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTI2OQotbXNnaWQgIlNxdWFzaCBjb21taXQgaW50byBlbXB0eSBoZWFkIG5vdCBzdXBwb3J0ZWQgeWV0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjcxCi1tc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEyNzUgYnVpbHRpbi9tZXJnZS5jOjEzMTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgLSBub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTM4NQotIywgYy1mb3JtYXQKLW1zZ2lkICJVcGRhdGluZyAlcy4uJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTQyMwotIywgYy1mb3JtYXQKLW1zZ2lkICJUcnlpbmcgcmVhbGx5IHRyaXZpYWwgaW4taW5kZXggbWVyZ2UuLi5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTQzMAotIywgYy1mb3JtYXQKLW1zZ2lkICJOb3BlLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDYyCi1tc2dpZCAiTm90IHBvc3NpYmxlIHRvIGZhc3QtZm9yd2FyZCwgYWJvcnRpbmcuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDg1IGJ1aWx0aW4vbWVyZ2UuYzoxNTYyCi0jLCBjLWZvcm1hdAotbXNnaWQgIlJld2luZGluZyB0aGUgdHJlZSB0byBwcmlzdGluZS4uLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDg5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTUzCi0jLCBjLWZvcm1hdAotbXNnaWQgIk5vIG1lcmdlIHN0cmF0ZWd5IGhhbmRsZWQgdGhlIG1lcmdlLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTU1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIk1lcmdlIHdpdGggc3RyYXRlZ3kgJXMgZmFpbGVkLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTY0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlVzaW5nIHRoZSAlcyB0byBwcmVwYXJlIHJlc29sdmluZyBieSBoYW5kLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSB3ZW50IHdlbGw7IHN0b3BwZWQgYmVmb3JlIGNvbW1pdHRpbmcgYXMgcmVxdWVzdGVkXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tdi5jOjEwOAotIywgYy1mb3JtYXQKLW1zZ2lkICJDaGVja2luZyByZW5hbWUgb2YgJyVzJyB0byAnJXMnXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tdi5jOjExMgotbXNnaWQgImJhZCBzb3VyY2UiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tdi5jOjExNQotbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tdi5jOjExOAotbXNnaWQgImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tdi5jOjEyOAotIywgYy1mb3JtYXQKLW1zZ2lkICJIdWg/ICUuKnMgaXMgaW4gaW5kZXg/IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbXYuYzoxNDAKLW1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbXYuYzoxNzEKLW1zZ2lkICJub3QgdW5kZXIgdmVyc2lvbiBjb250cm9sIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbXYuYzoxNzMKLW1zZ2lkICJkZXN0aW5hdGlvbiBleGlzdHMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tdi5jOjE4MQotIywgYy1mb3JtYXQKLW1zZ2lkICJvdmVyd3JpdGluZyAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbXYuYzoxODQKLW1zZ2lkICJDYW5ub3Qgb3ZlcndyaXRlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbXYuYzoxODcKLW1zZ2lkICJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tdi5jOjIwMgotIywgYy1mb3JtYXQKLW1zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL212LmM6MjEyCi0jLCBjLWZvcm1hdAotbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tdi5jOjIxNQotIywgYy1mb3JtYXQKLW1zZ2lkICJyZW5hbWluZyAnJXMnIGZhaWxlZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MTM5Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBzdGFydCAnc2hvdycgZm9yIG9iamVjdCAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNDUKLW1zZ2lkICJjYW4ndCBmZG9wZW4gJ3Nob3cnIG91dHB1dCBmZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MTU1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBjbG9zZSBwaXBlIHRvICdzaG93JyBmb3Igb2JqZWN0ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjE1OAotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gZmluaXNoICdzaG93JyBmb3Igb2JqZWN0ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjE3NSBidWlsdGluL3RhZy5jOjM0MwotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MTg5Ci1tc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbm90ZSBjb250ZW50cyB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMTAgYnVpbHRpbi9ub3Rlcy5jOjk3MwotIywgYy1mb3JtYXQKLW1zZ2lkICJSZW1vdmluZyBub3RlIGZvciBvYmplY3QgJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MjE1Ci1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5vdGUgb2JqZWN0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVGhlIG5vdGUgY29udGVudHMgaGFzIGJlZW4gbGVmdCBpbiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MjUxIGJ1aWx0aW4vdGFnLmM6NTIxCi0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjI1MyBidWlsdGluL3RhZy5jOjUyNAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjI3MiBidWlsdGluL25vdGVzLmM6NDQ1IGJ1aWx0aW4vbm90ZXMuYzo0NDcKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDcgYnVpbHRpbi9ub3Rlcy5jOjU2MSBidWlsdGluL25vdGVzLmM6NjQ0Ci0jOiBidWlsdGluL25vdGVzLmM6NjQ5IGJ1aWx0aW4vbm90ZXMuYzo3MjQgYnVpbHRpbi9ub3Rlcy5jOjc2NgotIzogYnVpbHRpbi9ub3Rlcy5jOjk2OCBidWlsdGluL3Jlc2V0LmM6MjkzIGJ1aWx0aW4vdGFnLmM6NTM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlYWQgb2JqZWN0ICclcycuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzoyOTkKLW1zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjM0MAotIywgYy1mb3JtYXQKLW1zZ2lkICJCYWQgbm90ZXMucmV3cml0ZU1vZGUgdmFsdWU6ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjM1MAotIywgYy1mb3JtYXQKLW1zZ2lkICJSZWZ1c2luZyB0byByZXdyaXRlIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKLW1zZ3N0ciAiIgotCi0jLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIHRoZSBuYW1lIG9mIHRoZQotIy4gZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZSBzZWNvbmQgJXMgaXMgaXRzIHZhbHVlCi0jOiBidWlsdGluL25vdGVzLmM6Mzc3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkJhZCAlcyB2YWx1ZTogJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6NDQxCi0jLCBjLWZvcm1hdAotbXNnaWQgIk1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6NDU2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDAgYnVpbHRpbi9ub3Rlcy5jOjU1NCBidWlsdGluL25vdGVzLmM6NjI3Ci0jOiBidWlsdGluL25vdGVzLmM6NjM5IGJ1aWx0aW4vbm90ZXMuYzo3MTIgYnVpbHRpbi9ub3Rlcy5jOjc1OQotIzogYnVpbHRpbi9ub3Rlcy5jOjEwMzMKLW1zZ2lkICJ0b28gbWFueSBwYXJhbWV0ZXJzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTMgYnVpbHRpbi9ub3Rlcy5jOjc3MgotIywgYy1mb3JtYXQKLW1zZ2lkICJObyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzo1ODAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIkNhbm5vdCBhZGQgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCi0iZXhpc3Rpbmcgbm90ZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjU4NSBidWlsdGluL25vdGVzLmM6NjYyCi0jLCBjLWZvcm1hdAotbXNnaWQgIk92ZXJ3cml0aW5nIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6NjM1Ci1tc2dpZCAidG9vIGZldyBwYXJhbWV0ZXJzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzo2NTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgotImV4aXN0aW5nIG5vdGVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzo2NjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiTWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgY29weS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjcxNwotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iVGhlIC1tLy1GLy1jLy1DIG9wdGlvbnMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZSAnZWRpdCcgc3ViY29tbWFuZC5cbiIKLSJQbGVhc2UgdXNlICdnaXQgbm90ZXMgYWRkIC1mIC1tLy1GLy1jLy1DJyBpbnN0ZWFkLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NzEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiT2JqZWN0ICVzIGhhcyBubyBub3RlXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjExMDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzMTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzMTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzMjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAib3B0aW9uICVzIGRvZXMgbm90IGFjY2VwdCBuZWdhdGl2ZSBmb3JtIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjMyNgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgdmFsdWUgJyVzJyBmb3Igb3B0aW9uICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjQ0Ci1tc2dpZCAidGFnIHNob3J0aGFuZCB3aXRob3V0IDx0YWc+IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjYzCi1tc2dpZCAiLS1kZWxldGUgb25seSBhY2NlcHRzIHBsYWluIHRhcmdldCByZWYgbmFtZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC5cbiIKLSJUbyBwdXNoIHRoZSBoaXN0b3J5IGxlYWRpbmcgdG8gdGhlIGN1cnJlbnQgKGRldGFjaGVkIEhFQUQpXG4iCi0ic3RhdGUgbm93LCB1c2VcbiIKLSJcbiIKLSIgICAgZ2l0IHB1c2ggJXMgSEVBRDo8bmFtZS1vZi1yZW1vdGUtYnJhbmNoPlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjgwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG5vIHVwc3RyZWFtIGJyYW5jaC5cbiIKLSJUbyBwdXNoIHRoZSBjdXJyZW50IGJyYW5jaCBhbmQgc2V0IHRoZSByZW1vdGUgYXMgdXBzdHJlYW0sIHVzZVxuIgotIlxuIgotIiAgICBnaXQgcHVzaCAtLXNldC11cHN0cmVhbSAlcyAlc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjg4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbXVsdGlwbGUgdXBzdHJlYW0gYnJhbmNoZXMsIHJlZnVzaW5nIHRvIHB1c2guIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjExMQotbXNnaWQgIiIKLSJZb3UgZGlkbid0IHNwZWNpZnkgYW55IHJlZnNwZWNzIHRvIHB1c2gsIGFuZCBwdXNoLmRlZmF1bHQgaXMgXCJub3RoaW5nXCIuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjEzMQotIywgYy1mb3JtYXQKLW1zZ2lkICJQdXNoaW5nIHRvICVzXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6MTM1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBwdXNoIHNvbWUgcmVmcyB0byAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjE0MwotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iVG8gcHJldmVudCB5b3UgZnJvbSBsb3NpbmcgaGlzdG9yeSwgbm9uLWZhc3QtZm9yd2FyZCB1cGRhdGVzIHdlcmUgcmVqZWN0ZWRcbiIKLSJNZXJnZSB0aGUgcmVtb3RlIGNoYW5nZXMgKGUuZy4gJ2dpdCBwdWxsJykgYmVmb3JlIHB1c2hpbmcgYWdhaW4uICBTZWUgdGhlXG4iCi0iJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgc2VjdGlvbiBvZiAnZ2l0IHB1c2ggLS1oZWxwJyBmb3IgZGV0YWlscy5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzoxNjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzoxNjEKLW1zZ2lkICIiCi0iTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgotIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCi0icmVwb3NpdG9yeSB1c2luZ1xuIgotIlxuIgotIiAgICBnaXQgcmVtb3RlIGFkZCA8bmFtZT4gPHVybD5cbiIKLSJcbiIKLSJhbmQgdGhlbiBwdXNoIHVzaW5nIHRoZSByZW1vdGUgbmFtZVxuIgotIlxuIgotIiAgICBnaXQgcHVzaCA8bmFtZT5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzoxNzYKLW1zZ2lkICItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6MTc3Ci1tc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzoxODIKLW1zZ2lkICItLW1pcnJvciBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6MTgzCi1tc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzoxODgKLW1zZ2lkICItLWFsbCBhbmQgLS1taXJyb3IgYXJlIGluY29tcGF0aWJsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzoyNzQKLW1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzoyNzYKLW1zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMKLW1zZ2lkICJtaXhlZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMKLW1zZ2lkICJzb2Z0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzozMwotbXNnaWQgImhhcmQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXNldC5jOjMzCi1tc2dpZCAia2VlcCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3Jlc2V0LmM6NzcKLW1zZ2lkICJZb3UgZG8gbm90IGhhdmUgYSB2YWxpZCBIRUFELiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3Jlc2V0LmM6NzkKLW1zZ2lkICJGYWlsZWQgdG8gZmluZCB0cmVlIG9mIEhFQUQuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzo4NQotIywgYy1mb3JtYXQKLW1zZ2lkICJGYWlsZWQgdG8gZmluZCB0cmVlIG9mICVzLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3Jlc2V0LmM6OTYKLW1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgbmV3IGluZGV4IGZpbGUuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzoxMDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSEVBRCBpcyBub3cgYXQgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXNldC5jOjEzMAotbXNnaWQgIkNvdWxkIG5vdCByZWFkIGluZGV4IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzoxMzMKLW1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3Jlc2V0LmM6MjIzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBkbyBhICVzIHJlc2V0IGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXNldC5jOjI5NwotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDIKLW1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIC0te2hhcmQsbWl4ZWQsc29mdH0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXNldC5jOjMxMQotbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3Jlc2V0LmM6MzEzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBkbyAlcyByZXNldCB3aXRoIHBhdGhzLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3Jlc2V0LmM6MzI1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzIHJlc2V0IGlzIG5vdCBhbGxvd2VkIGluIGEgYmFyZSByZXBvc2l0b3J5IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHJlc2V0IGluZGV4IGZpbGUgdG8gcmV2aXNpb24gJyVzJy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXZlcnQuYzo3MCBidWlsdGluL3JldmVydC5jOjkxCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiAlcyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI2Ci1tc2dpZCAicHJvZ3JhbSBlcnJvciIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JldmVydC5jOjIwOQotbXNnaWQgInJldmVydCBmYWlsZWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXZlcnQuYzoyMjQKLW1zZ2lkICJjaGVycnktcGljayBmYWlsZWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ybS5jOjEwOQotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iJyVzJyBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGUgZmlsZSBhbmQgdGhlIEhFQURcbiIKLSIodXNlIC1mIHRvIGZvcmNlIHJlbW92YWwpIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcm0uYzoxMTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIiclcycgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleFxuIgotIih1c2UgLS1jYWNoZWQgdG8ga2VlcCB0aGUgZmlsZSwgb3IgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ybS5jOjExOQotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iJyVzJyBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uc1xuIgotIih1c2UgLS1jYWNoZWQgdG8ga2VlcCB0aGUgZmlsZSwgb3IgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ybS5jOjE5NAotIywgYy1mb3JtYXQKLW1zZ2lkICJub3QgcmVtb3ZpbmcgJyVzJyByZWN1cnNpdmVseSB3aXRob3V0IC1yIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcm0uYzoyMzAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IHJtOiB1bmFibGUgdG8gcmVtb3ZlICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiTWlzc2luZyBhdXRob3I6ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6NTgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWFsZm9ybWVkIG9iamVjdCBhdCAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6MjA1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInRhZyBuYW1lIHRvbyBsb25nOiAlLipzLi4uIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6MjEwCi0jLCBjLWZvcm1hdAotbXNnaWQgInRhZyAnJXMnIG5vdCBmb3VuZC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzoyMjUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRGVsZXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6MjM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCB2ZXJpZnkgdGhlIHRhZyAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6MjQ3Ci1tc2dpZCAiIgotIlxuIgotIiNcbiIKLSIjIFdyaXRlIGEgdGFnIG1lc3NhZ2VcbiIKLSIjIExpbmVzIHN0YXJ0aW5nIHdpdGggJyMnIHdpbGwgYmUgaWdub3JlZC5cbiIKLSIjXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzoyNTQKLW1zZ2lkICIiCi0iXG4iCi0iI1xuIgotIiMgV3JpdGUgYSB0YWcgbWVzc2FnZVxuIgotIiMgTGluZXMgc3RhcnRpbmcgd2l0aCAnIycgd2lsbCBiZSBrZXB0OyB5b3UgbWF5IHJlbW92ZSB0aGVtIHlvdXJzZWxmIGlmIHlvdSAiCi0id2FudCB0by5cbiIKLSIjXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzoyOTQKLW1zZ2lkICJ1bmFibGUgdG8gc2lnbiB0aGUgdGFnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6Mjk2Ci1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRhZyBmaWxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6MzIxCi1tc2dpZCAiYmFkIG9iamVjdCB0eXBlLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3RhZy5jOjMzNAotbXNnaWQgInRhZyBoZWFkZXIgdG9vIGJpZy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzozNjYKLW1zZ2lkICJubyB0YWcgbWVzc2FnZT8iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzozNzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVGhlIHRhZyBtZXNzYWdlIGhhcyBiZWVuIGxlZnQgaW4gJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3RhZy5jOjQyMQotbXNnaWQgInN3aXRjaCAncG9pbnRzLWF0JyByZXF1aXJlcyBhbiBvYmplY3QiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzo0MjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzo1MDIKLW1zZ2lkICItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6NTA0Ci1tc2dpZCAiLS1jb250YWlucyBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6NTA2Ci1tc2dpZCAiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3RhZy5jOjUxNAotbXNnaWQgIm9ubHkgb25lIC1GIG9yIC1tIG9wdGlvbiBpcyBhbGxvd2VkLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3RhZy5jOjUzNAotbXNnaWQgInRvbyBtYW55IHBhcmFtcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3RhZy5jOjU0MAotIywgYy1mb3JtYXQKLW1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRhZyBuYW1lLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3RhZy5jOjU0NQotIywgYy1mb3JtYXQKLW1zZ2lkICJ0YWcgJyVzJyBhbHJlYWR5IGV4aXN0cyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3RhZy5jOjU2MwotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogY2Fubm90IGxvY2sgdGhlIHJlZiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3RhZy5jOjU2NQotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogY2Fubm90IHVwZGF0ZSB0aGUgcmVmIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6NTY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYW0uc2g6NDkKLW1zZ2lkICJZb3UgbmVlZCB0byBzZXQgeW91ciBjb21taXR0ZXIgaW5mbyBmaXJzdCIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYW0uc2g6MTM2Ci1tc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYW0uc2g6MTQ3Ci1tc2dpZCAiIgotIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCi0iSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYW0uc2g6MTU2Ci1tc2dpZCAiRmFsbGluZyBiYWNrIHRvIHBhdGNoaW5nIGJhc2UgYW5kIDMtd2F5IG1lcmdlLi4uIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDoyNjgKLW1zZ2lkICJPbmx5IG9uZSBTdEdJVCBwYXRjaCBzZXJpZXMgY2FuIGJlIGFwcGxpZWQgYXQgb25jZSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYW0uc2g6MzU1Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJQYXRjaCBmb3JtYXQgJHBhdGNoX2Zvcm1hdCBpcyBub3Qgc3VwcG9ydGVkLiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYW0uc2g6MzU3Ci1tc2dpZCAiUGF0Y2ggZm9ybWF0IGRldGVjdGlvbiBmYWlsZWQuIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDo0MTEKLW1zZ2lkICItZCBvcHRpb24gaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gIERvIG5vdCB1c2UuIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDo0NzQKLSMsIHNoLWZvcm1hdAotbXNnaWQgInByZXZpb3VzIHJlYmFzZSBkaXJlY3RvcnkgJGRvdGVzdCBzdGlsbCBleGlzdHMgYnV0IG1ib3ggZ2l2ZW4uIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDo0NzkKLW1zZ2lkICJQbGVhc2UgbWFrZSB1cCB5b3VyIG1pbmQuIC0tc2tpcCBvciAtLWFib3J0PyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYW0uc2g6NTA2Ci1tc2dpZCAiUmVzb2x2ZSBvcGVyYXRpb24gbm90IGluIHByb2dyZXNzLCB3ZSBhcmUgbm90IHJlc3VtaW5nLiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYW0uc2g6NTcyCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAkZmlsZXMpIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDo3NDgKLW1zZ2lkICJjYW5ub3QgYmUgaW50ZXJhY3RpdmUgd2l0aG91dCBzdGRpbiBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4iCi1tc2dzdHIgIiIKLQotIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFt5XSwgW25dLCBbZV0sIFt2XSBhbmQgW2FdCi0jLiBpbiB5b3VyIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2gKLSMuIGlucHV0IGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtYW0uc2g6NzU5Ci1tc2dpZCAiQXBwbHk/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGwgIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDo3OTUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkFwcGx5aW5nOiAkRklSU1RMSU5FIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDo4NDAKLW1zZ2lkICJObyBjaGFuZ2VzIC0tIFBhdGNoIGFscmVhZHkgYXBwbGllZC4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFtLnNoOjg2NgotbXNnaWQgImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiCi1tc2dzdHIgIiIKLQotIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKLSMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKLSMuIGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtYmlzZWN0LnNoOjU0Ci1tc2dpZCAiRG8geW91IHdhbnQgbWUgdG8gZG8gaXQgZm9yIHlvdSBbWS9uXT8gIgotbXNnc3RyICIiCi0KLSM6IGdpdC1iaXNlY3Quc2g6OTUKLSMsIHNoLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXNlZCBvcHRpb246ICckYXJnJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjk5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICInJGFyZycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgdmFsaWQgcmV2aXNpb24iCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDoxMTcKLW1zZ2lkICJCYWQgSEVBRCAtIEkgbmVlZCBhIEhFQUQiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDoxMzAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJDaGVja2luZyBvdXQgJyRzdGFydF9oZWFkJyBmYWlsZWQuIFRyeSAnZ2l0IGJpc2VjdCByZXNldCA8dmFsaWRicmFuY2g+Jy4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDoxNDAKLW1zZ2lkICJ3b24ndCBiaXNlY3Qgb24gc2Vla2VkIHRyZWUiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDoxNDQKLW1zZ2lkICJCYWQgSEVBRCAtIHN0cmFuZ2Ugc3ltYm9saWMgcmVmIgotbXNnc3RyICIiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTg5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJCYWQgYmlzZWN0X3dyaXRlIGFyZ3VtZW50OiAkc3RhdGUiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDoyMTgKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRhcmciCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDoyMzIKLW1zZ2lkICJQbGVhc2UgY2FsbCAnYmlzZWN0X3N0YXRlJyB3aXRoIGF0IGxlYXN0IG9uZSBhcmd1bWVudC4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDoyNDQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRyZXYiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDoyNTAKLW1zZ2lkICInZ2l0IGJpc2VjdCBiYWQnIGNhbiB0YWtlIG9ubHkgb25lIGFyZ3VtZW50LiIKLW1zZ3N0ciAiIgotCi0jLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW1ldIGFuZCBbbl0gaW4geW91cgotIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAotIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1iaXNlY3Quc2g6Mjc5Ci1tc2dpZCAiQXJlIHlvdSBzdXJlIFtZL25dPyAiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDozNTQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIickaW52YWxpZCcgaXMgbm90IGEgdmFsaWQgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MzYzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iQ291bGQgbm90IGNoZWNrIG91dCBvcmlnaW5hbCBIRUFEICckYnJhbmNoJy5cbiIKLSJUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPGNvbW1pdD4nLiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjM5MAotbXNnaWQgIk5vIGxvZ2ZpbGUgZ2l2ZW4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDozOTEKLSMsIHNoLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkICRmaWxlIGZvciByZXBsYXlpbmciCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDo0MDgKLW1zZ2lkICI/PyB3aGF0IGFyZSB5b3UgdGFsa2luZyBhYm91dD8iCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDo0NzQKLW1zZ2lkICJXZSBhcmUgbm90IGJpc2VjdGluZy4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LXB1bGwuc2g6MjEKLW1zZ2lkICIiCi0iUHVsbCBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy5cbiIKLSJQbGVhc2UsIGZpeCB0aGVtIHVwIGluIHRoZSB3b3JrIHRyZWUsIGFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nXG4iCi0iYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uLCBvciB1c2UgJ2dpdCBjb21taXQgLWEnLiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtcHVsbC5zaDoyNQotbXNnaWQgIlB1bGwgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgotbXNnc3RyICIiCi0KLSM6IGdpdC1wdWxsLnNoOjE5NwotbXNnaWQgInVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleCIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtcHVsbC5zaDoyNTMKLW1zZ2lkICJDYW5ub3QgbWVyZ2UgbXVsdGlwbGUgYnJhbmNoZXMgaW50byBlbXB0eSBoZWFkIgotbXNnc3RyICIiCi0KLSM6IGdpdC1wdWxsLnNoOjI1NwotbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6NTEKLW1zZ2lkICJnaXQgc3Rhc2ggY2xlYXIgd2l0aCBwYXJhbWV0ZXJzIGlzIHVuaW1wbGVtZW50ZWQiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjc0Ci1tc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjg5Ci1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjEyMyBnaXQtc3Rhc2guc2g6MTM2Ci1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjE0MAotbXNnaWQgIk5vIGNoYW5nZXMgc2VsZWN0ZWQiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjE0MwotbXNnaWQgIkNhbm5vdCByZW1vdmUgdGVtcG9yYXJ5IGluZGV4IChjYW4ndCBoYXBwZW4pIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDoxNTYKLW1zZ2lkICJDYW5ub3QgcmVjb3JkIHdvcmtpbmcgdHJlZSBzdGF0ZSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6MjIzCi1tc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDoyMjcKLW1zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6MjM1Ci1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDoyNTMKLW1zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjM1MgotbXNnaWQgIk5vIHN0YXNoIGZvdW5kLiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6MzU5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDozNjUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IHZhbGlkIHJlZmVyZW5jZSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6MzkzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDo0MDQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2ggcmVmZXJlbmNlIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDo0MTIKLW1zZ2lkICJ1bmFibGUgdG8gcmVmcmVzaCBpbmRleCIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6NDE2Ci1tc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDo0MjQKLW1zZ2lkICJDb25mbGljdHMgaW4gaW5kZXguIFRyeSB3aXRob3V0IC0taW5kZXguIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDo0MjYKLW1zZ2lkICJDb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDo0NjAKLW1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6NDkxCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJEcm9wcGVkICR7UkVWfSAoJHMpIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDo0OTIKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjQ5OQotbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6NTcwCi1tc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTYKLSMsIHNoLWZvcm1hdAotbXNnaWQgImNhbm5vdCBzdHJpcCBvbmUgY29tcG9uZW50IG9mZiB1cmwgJyRyZW1vdGV1cmwnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA4Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJObyBzdWJtb2R1bGUgbWFwcGluZyBmb3VuZCBpbiAuZ2l0bW9kdWxlcyBmb3IgcGF0aCAnJHBhdGgnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTQ5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDbG9uZSBvZiAnJHVybCcgaW50byBzdWJtb2R1bGUgcGF0aCAnJHBhdGgnIGZhaWxlZCIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjE1OQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiR2l0ZGlyICckYScgaXMgcGFydCBvZiB0aGUgc3VibW9kdWxlIHBhdGggJyRiJyBvciB2aWNlIHZlcnNhIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ3Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJyZXBvIFVSTDogJyRyZXBvJyBtdXN0IGJlIGFic29sdXRlIG9yIGJlZ2luIHdpdGggLi98Li4vIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjY0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICInJHBhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4MQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJyRwYXRoJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGEgdmFsaWQgZ2l0IHJlcG8iCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyOTUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCBzdWJtb2R1bGUgJyRwYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwMAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIGFkZCBzdWJtb2R1bGUgJyRwYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwNQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHN1Ym1vZHVsZSAnJHBhdGgnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzQ3Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJFbnRlcmluZyAnJHByZWZpeCRwYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM1OQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiU3RvcHBpbmcgYXQgJyRwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MDEKLSMsIHNoLWZvcm1hdAotbXNnaWQgIk5vIHVybCBmb3VuZCBmb3Igc3VibW9kdWxlIHBhdGggJyRwYXRoJyBpbiAuZ2l0bW9kdWxlcyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQxMAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyRwYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQxOAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJHBhdGgnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDIwCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJTdWJtb2R1bGUgJyRuYW1lJyAoJHVybCkgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJHBhdGgnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTE5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iU3VibW9kdWxlIHBhdGggJyRwYXRoJyBub3QgaW5pdGlhbGl6ZWRcbiIKLSJNYXliZSB5b3Ugd2FudCB0byB1c2UgJ3VwZGF0ZSAtLWluaXQnPyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjUzMgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAnJHBhdGgnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTUxCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRwYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU2NQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckcGF0aCciCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NjYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckcGF0aCc6IHJlYmFzZWQgaW50byAnJHNoYTEnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTcxCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gbWVyZ2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJHBhdGgnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTcyCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJHBhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU3NwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0ICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRwYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU3OAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiU3VibW9kdWxlIHBhdGggJyRwYXRoJzogY2hlY2tlZCBvdXQgJyRzaGExJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwMCBnaXQtc3VibW9kdWxlLnNoOjkyMwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJHBhdGgnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzA4Ci1tc2dpZCAiLS0iCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3NjYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiAgV2FybjogJG5hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3NjkKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiAgV2FybjogJG5hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3NzIKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiAgV2FybjogJG5hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3OTcKLW1zZ2lkICJibG9iIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6Nzk4Ci1tc2dpZCAic3VibW9kdWxlIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTY5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckbmFtZSciCi1tc2dzdHIgIiIKZGlmZiAtLWdpdCBhL3BvL2RlLnBvIGIvcG8vZGUucG8KaW5kZXggZjQwNzZmYi4uYzBiYmI2NSAxMDA2NDQKLS0tIGEvcG8vZGUucG8KKysrIGIvcG8vZGUucG8KQEAgLTUsOSArNSw5IEBACiAjCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBnaXQgMS44LjRcbiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGdpdCAxLjguNVxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDEzLTA4LTA2IDE0OjEwKzA4MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMy0xMS0wMiAwODowNiswODAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAxMy0wNy0yOCAxODo0MiswMjAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBSYWxmIFRoaWVsb3cgPHJhbGYudGhpZWxvd0BnbWFpbC5jb20+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogR2VybWFuIDw+XG4iCkBAIC01Nyw3MSArNTcsNzYgQEAKIG1zZ2lkICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8cmVwbz4gWy0tZXhlYyA8Y21kPl0gLS1saXN0IgogbXNnc3RyICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8UmVwb3NpdG9yeT4gWy0tZXhlYyA8UHJvZ3JhbW0+XSAtLWxpc3QiCiAKLSM6IGFyY2hpdmUuYzozMjMKKyM6IGFyY2hpdmUuYzoyNDIgYnVpbHRpbi9hZGQuYzoyNDAgYnVpbHRpbi9hZGQuYzo1NTYgYnVpbHRpbi9ybS5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgorbXNnc3RyICJQZmFkc3BlemlmaWthdGlvbiAnJXMnIHN0aW1tdCBtaXQga2VpbmVuIERhdGVpZW4gw7xiZXJlaW4iCisKKyM6IGFyY2hpdmUuYzozMjcKIG1zZ2lkICJmbXQiCiBtc2dzdHIgIkZvcm1hdCIKIAotIzogYXJjaGl2ZS5jOjMyMworIzogYXJjaGl2ZS5jOjMyNwogbXNnaWQgImFyY2hpdmUgZm9ybWF0IgogbXNnc3RyICJBcmNoaXZmb3JtYXQiCiAKLSM6IGFyY2hpdmUuYzozMjQgYnVpbHRpbi9sb2cuYzoxMTczCisjOiBhcmNoaXZlLmM6MzI4IGJ1aWx0aW4vbG9nLmM6MTE5MwogbXNnaWQgInByZWZpeCIKLW1zZ3N0ciAiUHJlZml4IgorbXNnc3RyICJQcsOkZml4IgogCi0jOiBhcmNoaXZlLmM6MzI1CisjOiBhcmNoaXZlLmM6MzI5CiBtc2dpZCAicHJlcGVuZCBwcmVmaXggdG8gZWFjaCBwYXRobmFtZSBpbiB0aGUgYXJjaGl2ZSIKIG1zZ3N0ciAic3RlbGx0IGVpbmVuIFByw6RmaXggdm9yIGplZGVuIFBmYWRuYW1lbiBpbiBkZW0gQXJjaGl2IgogCi0jOiBhcmNoaXZlLmM6MzI2IGJ1aWx0aW4vYXJjaGl2ZS5jOjg4IGJ1aWx0aW4vYmxhbWUuYzoyMjkyCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5MyBidWlsdGluL2NvbmZpZy5jOjU2IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzMKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzUgYnVpbHRpbi9ncmVwLmM6NzE0IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3NwotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5NiBidWlsdGluL2xzLWZpbGVzLmM6NDk5IGJ1aWx0aW4vbm90ZXMuYzo0MDgKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NjUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDggcGFyc2Utb3B0aW9ucy5oOjE1MgorIzogYXJjaGl2ZS5jOjMzMCBidWlsdGluL2FyY2hpdmUuYzo4OCBidWlsdGluL2JsYW1lLmM6MjI2NAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjUgYnVpbHRpbi9jb25maWcuYzo1OCBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgyIGJ1aWx0aW4vZ3JlcC5jOjcxNiBidWlsdGluL2hhc2gtb2JqZWN0LmM6NzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODYgYnVpbHRpbi9scy1maWxlcy5jOjQ4OSBidWlsdGluL25vdGVzLmM6NDA4CisjOiBidWlsdGluL25vdGVzLmM6NTY1IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA4IHBhcnNlLW9wdGlvbnMuaDoxNTQKIG1zZ2lkICJmaWxlIgogbXNnc3RyICJEYXRlaSIKIAotIzogYXJjaGl2ZS5jOjMyNyBidWlsdGluL2FyY2hpdmUuYzo4OQorIzogYXJjaGl2ZS5jOjMzMSBidWlsdGluL2FyY2hpdmUuYzo4OQogbXNnaWQgIndyaXRlIHRoZSBhcmNoaXZlIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAic2NocmVpYnQgZGFzIEFyY2hpdiBpbiBkaWVzZSBEYXRlaSIKIAotIzogYXJjaGl2ZS5jOjMyOQorIzogYXJjaGl2ZS5jOjMzMwogbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgImxpZXN0IC5naXRhdHRyaWJ1dGVzIGF1cyBkZW0gQXJiZWl0c3ZlcnplaWNobmlzIgogCi0jOiBhcmNoaXZlLmM6MzMwCisjOiBhcmNoaXZlLmM6MzM0CiBtc2dpZCAicmVwb3J0IGFyY2hpdmVkIGZpbGVzIG9uIHN0ZGVyciIKIG1zZ3N0ciAiZ2lidCBhcmNoaXZpZXJ0ZSBEYXRlaWVuIGluIGRlciBTdGFuZGFyZC1GZWhsZXJhdXNnYWJlIGF1cyIKIAotIzogYXJjaGl2ZS5jOjMzMQorIzogYXJjaGl2ZS5jOjMzNQogbXNnaWQgInN0b3JlIG9ubHkiCiBtc2dzdHIgIm51ciBzcGVpY2hlcm4iCiAKLSM6IGFyY2hpdmUuYzozMzIKKyM6IGFyY2hpdmUuYzozMzYKIG1zZ2lkICJjb21wcmVzcyBmYXN0ZXIiCiBtc2dzdHIgInNjaG5lbGxlciBrb21wcmltaWVyZW4iCiAKLSM6IGFyY2hpdmUuYzozNDAKKyM6IGFyY2hpdmUuYzozNDQKIG1zZ2lkICJjb21wcmVzcyBiZXR0ZXIiCiBtc2dzdHIgImJlc3NlciBrb21wcmltaWVyZW4iCiAKLSM6IGFyY2hpdmUuYzozNDMKKyM6IGFyY2hpdmUuYzozNDcKIG1zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCiBtc2dzdHIgImxpc3RldCB1bnRlcnN0w7x0enRlIEFyY2hpdmZvcm1hdGUgYXVmIgogCi0jOiBhcmNoaXZlLmM6MzQ1IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4NQorIzogYXJjaGl2ZS5jOjM0OSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODQKIG1zZ2lkICJyZXBvIgogbXNnc3RyICJSZXBvc2l0b3J5IgogCi0jOiBhcmNoaXZlLmM6MzQ2IGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCisjOiBhcmNoaXZlLmM6MzUwIGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCiBtc2dpZCAicmV0cmlldmUgdGhlIGFyY2hpdmUgZnJvbSByZW1vdGUgcmVwb3NpdG9yeSA8cmVwbz4iCiBtc2dzdHIgInJ1ZnQgZGFzIEFyY2hpdiB2b24gUmVtb3RlLVJlcG9zaXRvcnkgPFJlcG9zaXRvcnk+IGFiIgogCi0jOiBhcmNoaXZlLmM6MzQ3IGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODcKKyM6IGFyY2hpdmUuYzozNTEgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4NwogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgIlByb2dyYW1tIgogCi0jOiBhcmNoaXZlLmM6MzQ4IGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCisjOiBhcmNoaXZlLmM6MzUyIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICJQZmFkIHp1bSBleHRlcm5lbiBcImdpdC11cGxvYWQtYXJjaGl2ZVwiLVByb2dyYW1tIgogCkBAIC0yMDcsMTkgKzIxMiwxOSBAQAogbXNnaWQgIkNhbm5vdCBmb3JjZSB1cGRhdGUgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiS2FubiBBa3R1YWxpc2llcnVuZyBkZXMgYWt0dWVsbGVuIEJyYW5jaGVzIG5pY2h0IGVyendpbmdlbi4iCiAKLSM6IGJyYW5jaC5jOjIxNgorIzogYnJhbmNoLmM6MjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzZXR1cCB0cmFja2luZyBpbmZvcm1hdGlvbjsgc3RhcnRpbmcgcG9pbnQgJyVzJyBpcyBub3QgYSBicmFuY2guIgogbXNnc3RyICIiCiAiS2FubiBUcmFja2luZy1JbmZvcm1hdGlvbmVuIG5pY2h0IGVpbnJpY2h0ZW47IFN0YXJ0cHVua3QgJyVzJyBpc3Qga2VpbiAiCiAiQnJhbmNoLiIKIAotIzogYnJhbmNoLmM6MjE4CisjOiBicmFuY2guYzoyMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHJlcXVlc3RlZCB1cHN0cmVhbSBicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiZGVyIGFuZ2Vmb3JkZXJ0ZSBVcHN0cmVhbS1CcmFuY2ggJyVzJyBleGlzdGllcnQgbmljaHQiCiAKLSM6IGJyYW5jaC5jOjIyMAorIzogYnJhbmNoLmM6MjE5CiBtc2dpZCAiIgogIlxuIgogIklmIHlvdSBhcmUgcGxhbm5pbmcgb24gYmFzaW5nIHlvdXIgd29yayBvbiBhbiB1cHN0cmVhbVxuIgpAQCAtMjQwLDI2ICsyNDUsMjYgQEAKICJcImdpdCBwdXNoIC11XCIgdmVyd2VuZGVuLCB1bSBkZW4gVXBzdHJlYW0tQnJhbmNoIGJlaW0gXCJwdXNoXCJcbiIKICJ6dSBrb25maWd1cmllcmVuLiIKIAotIzogYnJhbmNoLmM6MjY1CisjOiBicmFuY2guYzoyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICJVbmfDvGx0aWdlciBPYmpla3QtTmFtZTogJyVzJyIKIAotIzogYnJhbmNoLmM6Mjg1CisjOiBicmFuY2guYzoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQW1iaWd1b3VzIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAibWVocmRldXRpZ2VyIE9iamVrdC1OYW1lOiAnJXMnIgogCi0jOiBicmFuY2guYzoyOTAKKyM6IGJyYW5jaC5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgogbXNnc3RyICJVbmfDvGx0aWdlciBCcmFuY2hwdW5rdDogJyVzJyIKIAotIzogYnJhbmNoLmM6Mjk2CisjOiBicmFuY2guYzoyOTUKIG1zZ2lkICJGYWlsZWQgdG8gbG9jayByZWYgZm9yIHVwZGF0ZSIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gU3BlcnJlbiBkZXIgUmVmZXJlbnogenVyIEFrdHVhbGlzaWVydW5nLiIKIAotIzogYnJhbmNoLmM6MzE0CisjOiBicmFuY2guYzozMTMKIG1zZ2lkICJGYWlsZWQgdG8gd3JpdGUgcmVmIgogbXNnc3RyICJGZWhsZXIgYmVpbSBTY2hyZWliZW4gZGVyIFJlZmVyZW56LiIKIApAQCAtMjczLDcgKzI3OCw3IEBACiBtc2dpZCAidW5yZWNvZ25pemVkIGhlYWRlcjogJXMlcyAoJWQpIgogbXNnc3RyICJuaWNodCBlcmthbm50ZXIgS29wZmJlcmVpY2g6ICVzJXMgKCVkKSIKIAotIzogYnVuZGxlLmM6ODkgYnVpbHRpbi9jb21taXQuYzo2OTcKKyM6IGJ1bmRsZS5jOjg5IGJ1aWx0aW4vY29tbWl0LmM6NzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IMO2ZmZuZW4iCkBAIC0yODIsOSArMjg3LDkgQEAKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIHRoZXNlIHByZXJlcXVpc2l0ZSBjb21taXRzOiIKIG1zZ3N0ciAiRGVtIFJlcG9zaXRvcnkgZmVobGVuIGZvbGdlbmRlIHZvcmF1c2dlc2V0enRlIENvbW1pdHM6IgogCi0jOiBidW5kbGUuYzoxNjQgc2VxdWVuY2VyLmM6NjYxIHNlcXVlbmNlci5jOjExMTEgYnVpbHRpbi9sb2cuYzozMzEKLSM6IGJ1aWx0aW4vbG9nLmM6ODAxIGJ1aWx0aW4vbG9nLmM6MTM5OSBidWlsdGluL2xvZy5jOjE2MjUgYnVpbHRpbi9tZXJnZS5jOjM2NAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE1NgorIzogYnVuZGxlLmM6MTY0IHNlcXVlbmNlci5jOjY2MiBzZXF1ZW5jZXIuYzoxMTEyIGJ1aWx0aW4vbG9nLmM6MzMyCisjOiBidWlsdGluL2xvZy5jOjgyMSBidWlsdGluL2xvZy5jOjE0MTggYnVpbHRpbi9sb2cuYzoxNjQ0IGJ1aWx0aW4vbWVyZ2UuYzozNjQKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNTgKIG1zZ2lkICJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIKIG1zZ3N0ciAiRWlucmljaHR1bmcgZGVzIFJldmlzaW9uc2dhbmdzIGZlaGxnZXNjaGxhZ2VuIgogCkBAIC0zMTAsNyArMzE1LDcgQEAKIG1zZ2lkICJyZXYtbGlzdCBkaWVkIgogbXNnc3RyICJcInJldi1saXN0XCIgYWJnZWJyb2NoZW4iCiAKLSM6IGJ1bmRsZS5jOjMwMCBidWlsdGluL2xvZy5jOjEzMTAgYnVpbHRpbi9zaG9ydGxvZy5jOjI1OQorIzogYnVuZGxlLmM6MzAwIGJ1aWx0aW4vbG9nLmM6MTMyOSBidWlsdGluL3Nob3J0bG9nLmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgIm5pY2h0IGVya2FubnRlcyBBcmd1bWVudDogJXMiCkBAIC00NjEsNyArNDY2LDcgQEAKICJGZWhsZXIgaW4gJ2RpZmYuZGlyc3RhdCcgS29uZmlndXJhdGlvbnN2YXJpYWJsZSBnZWZ1bmRlbjpcbiIKICIlcyIKIAotIzogZGlmZi5jOjM0ODcKKyM6IGRpZmYuYzozNDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCkBAIC00NzAsNyArNDc1LDcgQEAKICJGZWhsZXIgYmVpbSBQYXJzZW4gZGVzIC0tZGlyc3RhdC8tWCBPcHRpb25zcGFyYW1ldGVyczpcbiIKICIlcyIKIAotIzogZGlmZi5jOjM1MDEKKyM6IGRpZmYuYzozNTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBQYXJzZW4gZGVzIC0tc3VibW9kdWxlIE9wdGlvbnNwYXJhbWV0ZXJzOiAnJXMnIgpAQCAtNDk3LDE3ICs1MDIsMTcgQEAKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJzogJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIFNjaHJlaWJlbiBkZXIgU2lnbmF0dXIgbmFjaCAnJXMnOiAlcyIKIAotIzogZ3JlcC5jOjE2MjMKKyM6IGdyZXAuYzoxNjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICInJXMnOiBrb25udGUgbmljaHQgbGVzZW4gJXMiCiAKLSM6IGdyZXAuYzoxNjQwCisjOiBncmVwLmM6MTcxMgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiAlcyIKIG1zZ3N0ciAiJyVzJzogJXMiCiAKLSM6IGdyZXAuYzoxNjUxCisjOiBncmVwLmM6MTcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBzaG9ydCByZWFkICVzIgogbXNnc3RyICInJXMnOiByZWFkKCkgenUga3VyeiAlcyIKQEAgLTU4MCw4ICs1ODUsOCBAQAogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBjYWNoZSIKIG1zZ3N0ciAiTGVzZW4gZGVzIFp3aXNjaGVuc3BlaWNoZXJzIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBtZXJnZS5jOjExMCBidWlsdGluL2NoZWNrb3V0LmM6MzY1IGJ1aWx0aW4vY2hlY2tvdXQuYzo1NjYKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NTYKKyM6IG1lcmdlLmM6MTEwIGJ1aWx0aW4vY2hlY2tvdXQuYzozNTggYnVpbHRpbi9jaGVja291dC5jOjU1OQorIzogYnVpbHRpbi9jbG9uZS5jOjY1NQogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiS29ubnRlIG5ldWUgU3RhZ2luZy1BcmVhLURhdGVpIG5pY2h0IHNjaHJlaWJlbi4iCiAKQEAgLTYzMCw3ICs2MzUsNyBAQAogbXNnaWQgImJsb2IgZXhwZWN0ZWQgZm9yICVzICclcyciCiBtc2dzdHIgIkJsb2IgZXJ3YXJ0ZXQgZsO8ciAlcyAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NzQgYnVpbHRpbi9jbG9uZS5jOjMxMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzc0IGJ1aWx0aW4vY2xvbmUuYzozMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gw5ZmZm5lbiB2b24gJyVzJyIKQEAgLTc2Nyw3ICs3NzIsNyBAQAogbXNnaWQgIkF1dG8tbWVyZ2luZyAlcyIKIG1zZ3N0ciAiYXV0b21hdGlzY2hlciBNZXJnZSB2b24gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzQgZ2l0LXN1Ym1vZHVsZS5zaDoxMTE4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjM0IGdpdC1zdWJtb2R1bGUuc2g6MTEyNQogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAiU3VibW9kdWwiCiAKQEAgLTg2Niw1OCArODcxLDEyMiBAQAogbXNnaWQgIkJhZCAlcyB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgJXMgV2VydDogJyVzJyIKIAotIzogb2JqZWN0LmM6MjA0CisjOiBvYmplY3QuYzoyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIG9iamVjdDogJXMiCiBtc2dzdHIgIktvbm50ZSBPYmpla3QgJyVzJyBuaWNodCBwYXJzZW4uIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NDg5CisjOiBwYXJzZS1vcHRpb25zLmM6NTM3CiBtc2dpZCAiLi4uIgogbXNnc3RyICIuLi4iCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1MDcKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzIgogbXNnc3RyICJWZXJ3ZW5kdW5nOiAlcyIKIAogIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiBoZXJlIHNob3VsZCBhbGlnbiB3aXRoIHRoZQogIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uCi0jOiBwYXJzZS1vcHRpb25zLmM6NTExCisjOiBwYXJzZS1vcHRpb25zLmM6NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgIG9yOiAlcyIKIG1zZ3N0ciAiICAgICAgb2RlcjogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1MTQKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICVzIgogbXNnc3RyICIgICAgJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1NDgKKyM6IHBhcnNlLW9wdGlvbnMuYzo1OTYKIG1zZ2lkICItTlVNIgogbXNnc3RyICItTlVNIgogCi0jOiBwYXRoc3BlYy5jOjgzCi0jLCBjLWZvcm1hdAotbXNnaWQgIlBhdGggJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgotbXNnc3RyICJQZmFkICclcycgYmVmaW5kZXQgc2ljaCBpbiBTdWJtb2R1bCAnJS4qcyciCisjOiBwYXRoc3BlYy5jOjExOAorbXNnaWQgImdsb2JhbCAnZ2xvYicgYW5kICdub2dsb2InIHBhdGhzcGVjIHNldHRpbmdzIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIkdsb2JhbGUgRWluc3RlbGx1bmdlbiB6dXIgUGZhZHNwZXppZmlrYXRpb24gJ2dsb2InIHVuZCAnbm9nbG9iJyBzaW5kIGlua29tcGF0aWJlbC4iCiAKLSM6IHBhdGhzcGVjLmM6OTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgotbXNnc3RyICInJXMnIGlzdCBoaW50ZXIgZWluZW0gc3ltYm9saXNjaGVuIFZlcndlaXMiCisjOiBwYXRoc3BlYy5jOjEyOAorbXNnaWQgIiIKKyJnbG9iYWwgJ2xpdGVyYWwnIHBhdGhzcGVjIHNldHRpbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIGdsb2JhbCAiCisicGF0aHNwZWMgc2V0dGluZ3MiCittc2dzdHIgIkdsb2JhbGUgRWluc3RlbGx1bmcgenVyIFBmYWRzcGV6aWZpa2F0aW9uICdsaXRlcmFsJyBpc3QgaW5rb21wYXRpYmVsXG4iCisibWl0IGFsbGVuIGFuZGVyZW4gT3B0aW9uZW4uIgogCi0jOiByZW1vdGUuYzoxNzg4CisjOiBwYXRoc3BlYy5jOjE1OAorbXNnaWQgImludmFsaWQgcGFyYW1ldGVyIGZvciBwYXRoc3BlYyBtYWdpYyAncHJlZml4JyIKK21zZ3N0ciAidW5nw7xsdGlnZXIgUGFyYW1ldGVyIGbDvHIgUGZhZHNwZXppZmlrYXRpb25zYW5nYWJlICdwcmVmaXgnIgorCisjOiBwYXRoc3BlYy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhdGhzcGVjIG1hZ2ljICclLipzJyBpbiAnJXMnIgorbXNnc3RyICJ1bmfDvGx0aWdlIFBmYWRzcGV6aWZpa2F0aW9uc2FuZ2FiZSAnJS4qcycgaW4gJyVzJyIKKworIzogcGF0aHNwZWMuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWlzc2luZyAnKScgYXQgdGhlIGVuZCBvZiBwYXRoc3BlYyBtYWdpYyBpbiAnJXMnIgorbXNnc3RyICJGZWhsZW5kZXMgJyknIGFtIEVuZGUgZGVyIFBmYWRzcGV6aWZpa2F0aW9uc2FuZ2FiZSBpbiAnJXMnIgorCisjOiBwYXRoc3BlYy5jOjE4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmltcGxlbWVudGVkIHBhdGhzcGVjIG1hZ2ljICclYycgaW4gJyVzJyIKK21zZ3N0ciAibmljaHQgdW50ZXJzdMO8dHp0ZSBQZmFkc3BlemlmaWthdGlvbnNhbmdhYmUgJyVjJyBpbiAnJXMnIgorCisjOiBwYXRoc3BlYy5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJ2xpdGVyYWwnIGFuZCAnZ2xvYicgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiJXM6ICdsaXRlcmFsJyB1bmQgJ2dsb2InIHNpbmQgaW5rb21wYXRpYmVsIgorCisjOiBwYXRoc3BlYy5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCittc2dzdHIgIiVzOiAnJXMnIGxpZWd0IGF1w59lcmhhbGIgZGVzIFJlcG9zaXRvcmllcyIKKworIzogcGF0aHNwZWMuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgorbXNnc3RyICJQZmFkc3BlemlmaWthdGlvbiAnJXMnIGJlZmluZGV0IHNpY2ggaW4gU3VibW9kdWwgJyUuKnMnIgorCisjLgorIy4gKiBXZSBtYXkgd2FudCB0byBzdWJzdGl0dXRlICJ0aGlzIGNvbW1hbmQiIHdpdGggYSBjb21tYW5kCisjLiAqIG5hbWUuIEUuZy4gd2hlbiBhZGQtLWludGVyYWN0aXZlIGRpZXMgd2hlbiBydW5uaW5nCisjLiAqICJjaGVja291dCAtcCIKKyMuCisjOiBwYXRoc3BlYy5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGF0aHNwZWMgbWFnaWMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvbW1hbmQ6ICVzIgorbXNnc3RyICIlczogUGZhZHNwZXppZmlrYXRpb25zYW5nYWJlIHdpcmQgdm9uIGRpZXNlbSBLb21tYW5kbyBuaWNodCB1bnRlcnN0w7x0enQ6ICVzIgorCisjOiBwYXRoc3BlYy5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoc3BlYyAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIlBmYWRzcGV6aWZpa2F0aW9uICclcycgaXN0IGhpbnRlciBlaW5lbSBzeW1ib2xpc2NoZW4gVmVyd2VpcyIKKworIzogcmVtb3RlLmM6MTgzMworIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIGJyYW5jaCBpcyBiYXNlZCBvbiAnJXMnLCBidXQgdGhlIHVwc3RyZWFtIGlzIGdvbmUuXG4iCittc2dzdHIgIklociBCcmFuY2ggYmFzaWVydCBhdWYgJyVzJywgYWJlciBVcHN0cmVhbS1CcmFuY2ggd3VyZGUgZW50ZmVybnQuXG4iCisKKyM6IHJlbW90ZS5jOjE4MzcKK21zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKK21zZ3N0ciAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgenVtIEJlaGViZW4pXG4iCisKKyM6IHJlbW90ZS5jOjE4NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91ciBicmFuY2ggaXMgdXAtdG8tZGF0ZSB3aXRoICclcycuXG4iCittc2dzdHIgIklociBCcmFuY2ggaXN0IGF1ZiBkZW0gc2VsYmVuIFN0YW5kIHdpZSAnJXMnLlxuIgorCisjOiByZW1vdGUuYzoxODQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIgogbXNnaWRfcGx1cmFsICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iCiBtc2dzdHJbMF0gIklociBCcmFuY2ggaXN0IHZvciAnJXMnIHVtICVkIENvbW1pdC5cbiIKIG1zZ3N0clsxXSAiSWhyIEJyYW5jaCBpc3Qgdm9yICclcycgdW0gJWQgQ29tbWl0cy5cbiIKIAotIzogcmVtb3RlLmM6MTc5NAorIzogcmVtb3RlLmM6MTg1MAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iCiBtc2dzdHIgIiAgKGJlbnV0emVuIFNpZSBcImdpdCBwdXNoXCIgdW0gbG9rYWxlIENvbW1pdHMgenUgcHVibGl6aWVyZW4pXG4iCiAKLSM6IHJlbW90ZS5jOjE3OTcKKyM6IHJlbW90ZS5jOjE4NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCkBAIC05MjcsMTIgKzk5NiwxMiBAQAogbXNnc3RyWzFdICIiCiAiSWhyIEJyYW5jaCBpc3QgenUgJyVzJyB1bSAlZCBDb21taXRzIGhpbnRlcmhlciwgdW5kIGthbm4gdm9yZ2VzcHVsdCB3ZXJkZW4uXG4iCiAKLSM6IHJlbW90ZS5jOjE4MDUKKyM6IHJlbW90ZS5jOjE4NjEKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIHVwZGF0ZSB5b3VyIGxvY2FsIGJyYW5jaClcbiIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBwdWxsXCIgdW0gSWhyZW4gbG9rYWxlbiBCcmFuY2ggenUgYWt0dWFsaXNpZXJlbilcbiIKIAotIzogcmVtb3RlLmM6MTgwOAorIzogcmVtb3RlLmM6MTg2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTk0Nyw3ICsxMDE2LDcgQEAKICJJaHIgQnJhbmNoIHVuZCAnJXMnIHNpbmQgZGl2ZXJnaWVydCxcbiIKICJ1bmQgaGFiZW4gamV3ZWlscyAlZCB1bmQgJWQgdW50ZXJzY2hpZWRsaWNoZSBDb21taXRzLlxuIgogCi0jOiByZW1vdGUuYzoxODE4CisjOiByZW1vdGUuYzoxODc0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHB1bGxcIiB1bSBJaHJlbiBCcmFuY2ggbWl0IGRlbSBSZW1vdGUtQnJhbmNoICIKQEAgLTk5Miw3ICsxMDYxLDcgQEAKICJtaXQgJ2dpdCBhZGQgPFBmYWRlPicgb2RlciAnZ2l0IHJtIDxQZmFkZT4ndW5kIHRyYWdlbiBTaWUgZGFzIEVyZ2VibmlzIG1pdFxuIgogIidnaXQgY29tbWl0JyBlaW4iCiAKLSM6IHNlcXVlbmNlci5jOjI0NSBzZXF1ZW5jZXIuYzo4Njkgc2VxdWVuY2VyLmM6OTUyCisjOiBzZXF1ZW5jZXIuYzoyNDUgc2VxdWVuY2VyLmM6ODcwIHNlcXVlbmNlci5jOjk1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgdG8gJXMiCiBtc2dzdHIgIktvbm50ZSBuaWNodCBuYWNoICVzIHNjaHJlaWJlbiIKQEAgLTEwMTcsMTk3ICsxMDg2LDE5NyBAQAogIlRyYWdlbiBTaWUgSWhyZSDDhG5kZXJ1bmdlbiBlaW4gb2RlciBiZW51dHplbiBTaWUgXCJzdGFzaFwiIHVtIGZvcnR6dWZhaHJlbi4iCiAKICMuIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiIG9yICJjaGVycnktcGljayIKLSM6IHNlcXVlbmNlci5jOjMyNAorIzogc2VxdWVuY2VyLmM6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIiVzOiBLb25udGUgbmV1ZSBTdGFnaW5nLUFyZWEtRGF0ZWkgbmljaHQgc2NocmVpYmVuIgogCi0jOiBzZXF1ZW5jZXIuYzozNTUKKyM6IHNlcXVlbmNlci5jOjM1NgogbXNnaWQgIkNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCiBtc2dzdHIgIktvbm50ZSBDb21taXQgdm9uIEhFQUQgbmljaHQgYXVmbMO2c2VuXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM3NworIzogc2VxdWVuY2VyLmM6Mzc4CiBtc2dpZCAiVW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlXG4iCiBtc2dzdHIgIktvbm50ZSBDYWNoZS1WZXJ6ZWljaG5pcyBuaWNodCBha3R1YWxpc2llcmVuXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQyMgorIzogc2VxdWVuY2VyLmM6NDIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXNcbiIKIG1zZ3N0ciAiS29ubnRlIENvbW1pdCAlcyBuaWNodCBwYXJzZW5cbiIKIAotIzogc2VxdWVuY2VyLmM6NDI3CisjOiBzZXF1ZW5jZXIuYzo0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIHBhcmVudCBjb21taXQgJXNcbiIKIG1zZ3N0ciAiS29ubnRlIEVsdGVybi1Db21taXQgJXMgbmljaHQgcGFyc2VuXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQ5MworIzogc2VxdWVuY2VyLmM6NDk0CiBtc2dpZCAiWW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKIG1zZ3N0ciAiSWhyZSBTdGFnaW5nLUFyZWEtRGF0ZWkgaXN0IG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnQuIgogCi0jOiBzZXF1ZW5jZXIuYzo1MTIKKyM6IHNlcXVlbmNlci5jOjUxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaXMgYSBtZXJnZSBidXQgbm8gLW0gb3B0aW9uIHdhcyBnaXZlbi4iCiBtc2dzdHIgIkNvbW1pdCAlcyBpc3QgZWluIE1lcmdlLCBhYmVyIGRpZSBPcHRpb24gLW0gd3VyZGUgbmljaHQgYW5nZWdlYmVuLiIKIAotIzogc2VxdWVuY2VyLmM6NTIwCisjOiBzZXF1ZW5jZXIuYzo1MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgogbXNnc3RyICJDb21taXQgJXMgaGF0IGtlaW5lbiBFbHRlcm50ZWlsICVkIgogCi0jOiBzZXF1ZW5jZXIuYzo1MjQKKyM6IHNlcXVlbmNlci5jOjUyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgogbXNnc3RyICJIYXVwdGxpbmllIHd1cmRlIHNwZXppZml6aWVydCwgYWJlciBDb21taXQgJXMgaXN0IGtlaW4gTWVyZ2UuIgogCiAjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgInJldmVydCIgb3IKICMuICJjaGVycnktcGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExCi0jOiBzZXF1ZW5jZXIuYzo1MzcKKyM6IHNlcXVlbmNlci5jOjUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCiBtc2dzdHIgIiVzOiBrYW5uIEVsdGVybi1Db21taXQgJXMgbmljaHQgcGFyc2VuIgogCi0jOiBzZXF1ZW5jZXIuYzo1NDEKKyM6IHNlcXVlbmNlci5jOjU0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIGZvciAlcyIKIG1zZ3N0ciAiS2FubiBrZWluZSBDb21taXQtQmVzY2hyZWlidW5nIGbDvHIgJXMgYmVrb21tZW4iCiAKLSM6IHNlcXVlbmNlci5jOjYyNworIzogc2VxdWVuY2VyLmM6NjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCiBtc2dzdHIgIktvbm50ZSBcInJldmVydFwiIG5pY2h0IGF1ZiAlcyBhdXNmw7xocmVuLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo2MjgKKyM6IHNlcXVlbmNlci5jOjYyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgIktvbm50ZSAlcyBuaWNodCBhbndlbmRlbi4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6NjY0CisjOiBzZXF1ZW5jZXIuYzo2NjUKIG1zZ2lkICJlbXB0eSBjb21taXQgc2V0IHBhc3NlZCIKIG1zZ3N0ciAibGVlcmUgTWVuZ2Ugdm9uIENvbW1pdHMgw7xiZXJnZWJlbiIKIAotIzogc2VxdWVuY2VyLmM6NjcyCisjOiBzZXF1ZW5jZXIuYzo2NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczogRmVobGVyIGJlaW0gTGVzZW4gZGVyIFN0YWdpbmctQXJlYSIKIAotIzogc2VxdWVuY2VyLmM6Njc3CisjOiBzZXF1ZW5jZXIuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczogRmVobGVyIGJlaW0gQWt0dWFsaXNpZXJlbiBkZXIgU3RhZ2luZy1BcmVhIgogCi0jOiBzZXF1ZW5jZXIuYzo3MzUKKyM6IHNlcXVlbmNlci5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgJXMgZHVyaW5nIGEgJXMiCiBtc2dzdHIgIkthbm4gJXMgbmljaHQgd8OkaHJlbmQgZWluZXMgJXMgZHVyY2hmw7xocmVuIgogCi0jOiBzZXF1ZW5jZXIuYzo3NTcKKyM6IHNlcXVlbmNlci5jOjc1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2UgbGluZSAlZC4iCiBtc2dzdHIgIktvbm50ZSBaZWlsZSAlZCBuaWNodCBwYXJzZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzo3NjIKKyM6IHNlcXVlbmNlci5jOjc2MwogbXNnaWQgIk5vIGNvbW1pdHMgcGFyc2VkLiIKIG1zZ3N0ciAiS2VpbmUgQ29tbWl0cyBnZXBhcnN0LiIKIAotIzogc2VxdWVuY2VyLmM6Nzc1CisjOiBzZXF1ZW5jZXIuYzo3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJXMiCiBtc2dzdHIgIktvbm50ZSAlcyBuaWNodCDDtmZmbmVuIgogCi0jOiBzZXF1ZW5jZXIuYzo3NzkKKyM6IHNlcXVlbmNlci5jOjc4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCAlcy4iCiBtc2dzdHIgIktvbm50ZSAlcyBuaWNodCBsZXNlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjc4NgorIzogc2VxdWVuY2VyLmM6Nzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAlcyIKIG1zZ3N0ciAiVW5iZW51dHpiYXJlcyBJbnN0cnVrdGlvbnNibGF0dDogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjgxNAorIzogc2VxdWVuY2VyLmM6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQga2V5OiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgU2NobMO8c3NlbDogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjgxNworIzogc2VxdWVuY2VyLmM6ODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgV2VydCBmw7xyICVzOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODI5CisjOiBzZXF1ZW5jZXIuYzo4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIG9wdGlvbnMgc2hlZXQ6ICVzIgogbXNnc3RyICJGZWhsZXJoYWZ0ZXMgT3B0aW9uc2JsYXR0OiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODUwCisjOiBzZXF1ZW5jZXIuYzo4NTEKIG1zZ2lkICJhIGNoZXJyeS1waWNrIG9yIHJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgogbXNnc3RyICJcImNoZXJyeS1waWNrXCIgb2RlciBcInJldmVydFwiIGlzdCBiZXJlaXRzIGltIEdhbmciCiAKLSM6IHNlcXVlbmNlci5jOjg1MQorIzogc2VxdWVuY2VyLmM6ODUyCiBtc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIG1zZ3N0ciAidmVyc3VjaGVuIFNpZSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCiAKLSM6IHNlcXVlbmNlci5jOjg1NQorIzogc2VxdWVuY2VyLmM6ODU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAiS29ubnRlIFwic2VxdWVuY2VyXCItVmVyemVpY2huaXMgJXMgbmljaHQgZXJzdGVsbGVuIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzEgc2VxdWVuY2VyLmM6OTU2CisjOiBzZXF1ZW5jZXIuYzo4NzIgc2VxdWVuY2VyLmM6OTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIHdyYXBwaW5nIHVwICVzLiIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRWlucGFja2VuIHZvbiAlcy4iCiAKLSM6IHNlcXVlbmNlci5jOjg5MCBzZXF1ZW5jZXIuYzoxMDI0CisjOiBzZXF1ZW5jZXIuYzo4OTEgc2VxdWVuY2VyLmM6MTAyNQogbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAia2VpbiBcImNoZXJyeS1waWNrXCIgb2RlciBcInJldmVydFwiIGltIEdhbmciCiAKLSM6IHNlcXVlbmNlci5jOjg5MgorIzogc2VxdWVuY2VyLmM6ODkzCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgSEVBRCIKIG1zZ3N0ciAia2FubiBIRUFEIG5pY2h0IGF1ZmzDtnNlbiIKIAotIzogc2VxdWVuY2VyLmM6ODk0CisjOiBzZXF1ZW5jZXIuYzo4OTUKIG1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAia2FubiBuaWNodCBhYmJyZWNoZW46IGJpbiBhdWYgZWluZW0gQnJhbmNoLCBkZXIgbm9jaCBnZWJvcmVuIHdpcmQiCiAKLSM6IHNlcXVlbmNlci5jOjkxNiBidWlsdGluL2FwcGx5LmM6NDA2MQorIzogc2VxdWVuY2VyLmM6OTE3IGJ1aWx0aW4vYXBwbHkuYzo0MDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKIG1zZ3N0ciAiS2FubiAlcyBuaWNodCDDtmZmbmVuOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6OTE5CisjOiBzZXF1ZW5jZXIuYzo5MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJXM6ICVzIgogbXNnc3RyICJLYW5uICVzIG5pY2h0IGxlc2VuOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6OTIwCisjOiBzZXF1ZW5jZXIuYzo5MjEKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJVbmVyd2FydGV0ZXMgRGF0ZWllbmRlIgogCi0jOiBzZXF1ZW5jZXIuYzo5MjYKKyM6IHNlcXVlbmNlci5jOjkyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCiBtc2dzdHIgImdlc3BlaWNoZXJ0ZSBcInByZS1jaGVycnktcGlja1wiIEhFQUQgRGF0ZWkgJyVzJyBpc3QgYmVzY2jDpGRpZ3QiCiAKLSM6IHNlcXVlbmNlci5jOjk0OQorIzogc2VxdWVuY2VyLmM6OTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmb3JtYXQgJXMuIgogbXNnc3RyICJLb25udGUgJXMgbmljaHQgZm9ybWF0aWVyZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDkyCisjOiBzZXF1ZW5jZXIuYzoxMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgogbXNnc3RyICIlczogJXMga2FubiBuaWNodCBpbiBcImNoZXJyeS1waWNrXCIgYmVudXR6dCB3ZXJkZW4iCiAKLSM6IHNlcXVlbmNlci5jOjEwOTUKKyM6IHNlcXVlbmNlci5jOjEwOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKIG1zZ3N0ciAiJXM6IHVuZ8O8bHRpZ2VyIENvbW1pdCIKIAotIzogc2VxdWVuY2VyLmM6MTEyOQorIzogc2VxdWVuY2VyLmM6MTEzMAogbXNnaWQgIkNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAiS2FubiBuaWNodCBhbHMgYWxsZXJlcnN0ZW4gQ29tbWl0IGVpbmVuIFJldmVydCBhdXNmw7xocmVuLiIKIAotIzogc2VxdWVuY2VyLmM6MTEzMAorIzogc2VxdWVuY2VyLmM6MTEzMQogbXNnaWQgIkNhbid0IGNoZXJyeS1waWNrIGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiS2FubiBuaWNodCBhbHMgYWxsZXJlcnN0ZW4gQ29tbWl0IGVpbmVuIENoZXJyeS1QaWNrIGF1c2bDvGhyZW4uIgogCkBAIC0xMjM2LDI3NSArMTMwNSwzNjggQEAKICJpbmRlbSBTaWUgXCJnaXQgY29uZmlnIGFkdmljZS5vYmplY3ROYW1lV2FybmluZyBmYWxzZVwiXG4iCiAiYXVzZsO8aHJlbi4iCiAKLSM6IHNoYTFfbmFtZS5jOjEwOTcKKyM6IHNoYTFfbmFtZS5jOjExMTIKIG1zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgogbXNnc3RyICJIRUFEIHplaWd0IGF1ZiBrZWluZW4gQnJhbmNoIgogCi0jOiBzaGExX25hbWUuYzoxMTAwCisjOiBzaGExX25hbWUuYzoxMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggYnJhbmNoOiAnJXMnIgogbXNnc3RyICJLZWluIHNvbGNoZXIgQnJhbmNoICclcyciCiAKLSM6IHNoYTFfbmFtZS5jOjExMDIKKyM6IHNoYTFfbmFtZS5jOjExMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciCiBtc2dzdHIgIktlaW4gVXBzdHJlYW0tQnJhbmNoIGbDvHIgQnJhbmNoICclcycga29uZmlndXJpZXJ0LiIKIAotIzogc2hhMV9uYW1lLmM6MTEwNgorIzogc2hhMV9uYW1lLmM6MTEyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJVcHN0cmVhbSBicmFuY2ggJyVzJyBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiVXBzdHJlYW0tQnJhbmNoICclcycgaXN0IG5pY2h0IGFscyBSZW1vdGUtVHJhY2tpbmctQnJhbmNoIGdlc3BlaWNoZXJ0IgogCi0jOiB3cmFwcGVyLmM6NDA4CisjOiBzdWJtb2R1bGUuYzo2NCBzdWJtb2R1bGUuYzo5OAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgorbXNnc3RyICJLYW5uIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIC5naXRtb2R1bGVzLURhdGVpIG5pY2h0IMOkbmRlcm4sIGzDtnNlblxuIgorIlNpZSB6dWVyc3QgZGllIEtvbmZsaWt0ZSBhdWYiCisKKyM6IHN1Ym1vZHVsZS5jOjY4IHN1Ym1vZHVsZS5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZmluZCBzZWN0aW9uIGluIC5naXRtb2R1bGVzIHdoZXJlIHBhdGg9JXMiCittc2dzdHIgIktvbm50ZSBrZWluZSBTZWt0aW9uIGluIC5naXRtb2R1bGVzIG1pdCBQZmFkIFwiJXNcIiBmaW5kZW4iCisKKyMuIE1heWJlIHRoZSB1c2VyIGFscmVhZHkgZGlkIHRoYXQsIGRvbid0IGVycm9yIG91dCBoZXJlCisjOiBzdWJtb2R1bGUuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgdXBkYXRlIC5naXRtb2R1bGVzIGVudHJ5ICVzIgorbXNnc3RyICJLb25udGUgRWludHJhZyAnJXMnIGluIC5naXRtb2R1bGVzIG5pY2h0IGFrdHVhbGlzaWVyZW4iCisKKyMuIE1heWJlIHRoZSB1c2VyIGFscmVhZHkgZGlkIHRoYXQsIGRvbid0IGVycm9yIG91dCBoZXJlCisjOiBzdWJtb2R1bGUuYzoxMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHJlbW92ZSAuZ2l0bW9kdWxlcyBlbnRyeSBmb3IgJXMiCittc2dzdHIgIktvbm50ZSBFaW50cmFnICclcycgbmljaHQgYXVzIC5naXRtb2R1bGVzIGVudGZlcm5lbiIKKworIzogc3VibW9kdWxlLmM6MTI3Cittc2dpZCAiY291bGQgbm90IGZpbmQgLmdpdG1vZHVsZXMgaW4gaW5kZXgiCittc2dzdHIgIktvbm50ZSAuZ2l0bW9kdWxlcyBuaWNodCBpbiBkZXIgU3RhZ2luZy1BcmVhIGZpbmRlbiIKKworIzogc3VibW9kdWxlLmM6MTMzCittc2dpZCAicmVhZGluZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKK21zZ3N0ciAiTGVzZW4gZGVyIGFrdHVhbGlzaWVydGVuIC5naXRtb2R1bGVzLURhdGVpIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzdWJtb2R1bGUuYzoxMzUKK21zZ2lkICJ1bmFibGUgdG8gc3RhdCB1cGRhdGVkIC5naXRtb2R1bGVzIgorbXNnc3RyICJLb25udGUgYWt0dWFsaXNpZXJ0ZSAuZ2l0bW9kdWxlcy1EYXRlaSBuaWNodCBsZXNlbiIKKworIzogc3VibW9kdWxlLmM6MTM5Cittc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAuZ2l0bW9kdWxlcyBmcm9tIGluZGV4IgorbXNnc3RyICJLb25udGUgLmdpdG1vZHVsZXMgbmljaHQgYXVzIGRlciBTdGFnaW5nLUFyZWEgZW50ZmVybmVuIgorCisjOiBzdWJtb2R1bGUuYzoxNDEKK21zZ2lkICJhZGRpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCittc2dzdHIgIktvbm50ZSBha3R1YWxpc2llcnRlIC5naXRtb2R1bGVzLURhdGVpIG5pY2h0IGhpbnp1ZsO8Z2VuIgorCisjOiBzdWJtb2R1bGUuYzoxNDMKK21zZ2lkICJzdGFnaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgorbXNnc3RyICJLb25udGUgYWt0dWFsaXNpZXJ0ZSAuZ2l0bW9kdWxlcy1EYXRlaSBuaWNodCB6dW0gQ29tbWl0IHZvcm1lcmtlbiIKKworIzogc3VibW9kdWxlLmM6MTE0NCBidWlsdGluL2luaXQtZGIuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBnaXQgbGluayAlcyIKK21zZ3N0ciAiS29ubnRlIGdpdC1WZXJ3ZWlzICVzIG5pY2h0IGVyc3RlbGxlbiIKKworIzogc3VibW9kdWxlLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgc2V0IGNvcmUud29ya3RyZWUgaW4gJXMiCittc2dzdHIgIktvbm50ZSBjb3JlLndvcmt0cmVlIGluICclcycgbmljaHQgc2V0emVuLiIKKworIzogdXJsbWF0Y2guYzoxMjAKK21zZ2lkICJpbnZhbGlkIFVSTCBzY2hlbWUgbmFtZSBvciBtaXNzaW5nICc6Ly8nIHN1ZmZpeCIKK21zZ3N0ciAiVW5nw7xsdGlnZXMgVVJMLVNjaGVtYSBvZGVyIFN1ZmZpeCAnOi8vJyBmZWhsdCIKKworIzogdXJsbWF0Y2guYzoxNDQgdXJsbWF0Y2guYzoyOTcgdXJsbWF0Y2guYzozNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCAlWFggZXNjYXBlIHNlcXVlbmNlIgorbXNnc3RyICJ1bmfDvGx0aWdlIEVzY2FwZS1TZXF1ZW56ICVYWCIKKworIzogdXJsbWF0Y2guYzoxNzIKK21zZ2lkICJtaXNzaW5nIGhvc3QgYW5kIHNjaGVtZSBpcyBub3QgJ2ZpbGU6JyIKK21zZ3N0ciAiZmVobGVuZGVyIEhvc3QgdW5kIFNjaGVtYSBpc3QgbmljaHQgJ2ZpbGU6JyIKKworIzogdXJsbWF0Y2guYzoxODkKK21zZ2lkICJhICdmaWxlOicgVVJMIG1heSBub3QgaGF2ZSBhIHBvcnQgbnVtYmVyIgorbXNnc3RyICJlaW5lICdmaWxlOicgVVJMIGRhcmYga2VpbmUgUG9ydG51bW1lciBlbnRoYWx0ZW4iCisKKyM6IHVybG1hdGNoLmM6MTk5Cittc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXJzIGluIGhvc3QgbmFtZSIKK21zZ3N0ciAiSG9zdG5hbWUgZW50aMOkbHQgdW5nw7xsdGlnZSBaZWljaGVuIgorCisjOiB1cmxtYXRjaC5jOjI0NCB1cmxtYXRjaC5jOjI1NQorbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIiCittc2dzdHIgInVuZ8O8bHRpZ2UgUG9ydG51bW1lciIKKworIzogdXJsbWF0Y2guYzozMjIKK21zZ2lkICJpbnZhbGlkICcuLicgcGF0aCBzZWdtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyAnLi4nIFBmYWRzZWdtZW50IgorCisjOiB3cmFwcGVyLmM6NDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJzogJXMiCiBtc2dzdHIgImtvbm50ZSBuaWNodCBhdWYgJyVzJyB6dWdyZWlmZW46ICVzIgogCi0jOiB3cmFwcGVyLmM6NDI5CisjOiB3cmFwcGVyLmM6NDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJyIKIG1zZ3N0ciAia29ubnRlIG5pY2h0IGF1ZiAnJXMnIHp1Z3JlaWZlbiIKIAotIzogd3JhcHBlci5jOjQ0MAorIzogd3JhcHBlci5jOjQ1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9vayB1cCBjdXJyZW50IHVzZXIgaW4gdGhlIHBhc3N3ZCBmaWxlOiAlcyIKIG1zZ3N0ciAia29ubnRlIGFrdHVlbGxlbiBCZW51dHplciBuaWNodCBpbiBQYXNzd29ydC1EYXRlaSBmaW5kZW46ICVzIgogCi0jOiB3cmFwcGVyLmM6NDQxCisjOiB3cmFwcGVyLmM6NDU1CiBtc2dpZCAibm8gc3VjaCB1c2VyIgogbXNnc3RyICJrZWluIHNvbGNoZXIgQmVudXR6ZXIiCiAKLSM6IHd0LXN0YXR1cy5jOjE0MQorIzogd3Qtc3RhdHVzLmM6MTQ2CiBtc2dpZCAiVW5tZXJnZWQgcGF0aHM6IgogbXNnc3RyICJOaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBQZmFkZToiCiAKLSM6IHd0LXN0YXR1cy5jOjE2OCB3dC1zdGF0dXMuYzoxOTUKKyM6IHd0LXN0YXR1cy5jOjE3MyB3dC1zdGF0dXMuYzoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHJlc2V0ICVzIDxEYXRlaT4uLi5cIiB6dW0gRW50ZmVybmVuIGF1cyBkZXIgU3RhZ2luZy0iCiAiQXJlYSkiCiAKLSM6IHd0LXN0YXR1cy5jOjE3MCB3dC1zdGF0dXMuYzoxOTcKKyM6IHd0LXN0YXR1cy5jOjE3NSB3dC1zdGF0dXMuYzoyMDIKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgcm0gLS1jYWNoZWQgPERhdGVpPi4uLlwiIHp1bSBFbnRmZXJuZW4gYXVzIGRlciBTdGFnaW5nLSIKICJBcmVhKSIKIAotIzogd3Qtc3RhdHVzLmM6MTc0CisjOiB3dC1zdGF0dXMuYzoxNzkKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgYWRkL3JtIDxEYXRlaT4uLi5cIiB1bSBkaWUgQXVmbMO2c3VuZyB6dSBtYXJraWVyZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxNzYgd3Qtc3RhdHVzLmM6MTgwCisjOiB3dC1zdGF0dXMuYzoxODEgd3Qtc3RhdHVzLmM6MTg1CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGFkZC9ybSA8RGF0ZWk+Li4uXCIgdW0gZGllIEF1ZmzDtnN1bmcgZW50c3ByZWNoZW5kIHp1ICIKICJtYXJraWVyZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxNzgKKyM6IHd0LXN0YXR1cy5jOjE4MwogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGFkZC9ybSA8RGF0ZWk+Li4uXCIgdW0gZGllIEF1ZmzDtnN1bmcgenUgbWFya2llcmVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTg5CisjOiB3dC1zdGF0dXMuYzoxOTQKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgInp1bSBDb21taXQgdm9yZ2VtZXJrdGUgw4RuZGVydW5nZW46IgogCi0jOiB3dC1zdGF0dXMuYzoyMDcKKyM6IHd0LXN0YXR1cy5jOjIxMgogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAiw4RuZGVydW5nZW4sIGRpZSBuaWNodCB6dW0gQ29tbWl0IHZvcmdlbWVya3Qgc2luZDoiCiAKLSM6IHd0LXN0YXR1cy5jOjIxMQorIzogd3Qtc3RhdHVzLmM6MjE2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgYWRkIDxEYXRlaT4uLi5cIiB1bSBkaWUgw4RuZGVydW5nZW4genVtIENvbW1pdCAiCiAidm9yenVtZXJrZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoyMTMKKyM6IHd0LXN0YXR1cy5jOjIxOAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGFkZC9ybSA8RGF0ZWk+Li4uXCIgdW0gZGllIMOEbmRlcnVuZ2VuIHp1bSBDb21taXQgIgogInZvcnp1bWVya2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6MjE0CisjOiB3dC1zdGF0dXMuYzoyMTkKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgY2hlY2tvdXQgLS0gPERhdGVpPi4uLlwiIHVtIGRpZSDDhG5kZXJ1bmdlbiBpbSAiCiAiQXJiZWl0c3ZlcnplaWNobmlzIHp1IHZlcndlcmZlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjIxNgorIzogd3Qtc3RhdHVzLmM6MjIxCiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIiCiAiICAoY29tbWl0dGVuIG9kZXIgdmVyd2VyZmVuIFNpZSBkZW4gdW5iZW9iYWNodGV0ZW4gb2RlciBnZcOkbmRlcnRlbiBJbmhhbHQgaW4gIgogImRlbiBTdWJtb2R1bGVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MjI4CisjOiB3dC1zdGF0dXMuYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgJXMgPERhdGVpPi4uLlwiIHVtIGRpZSDDhG5kZXJ1bmdlbiB6dW0gQ29tbWl0ICIKICJ2b3J6dW1lcmtlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjI0NQorIzogd3Qtc3RhdHVzLmM6MjUwCiBtc2dpZCAiYnVnIgogbXNnc3RyICJGZWhsZXIiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MAorIzogd3Qtc3RhdHVzLmM6MjU1CiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAiYmVpZGUgZ2Vsw7ZzY2h0OiIKIAotIzogd3Qtc3RhdHVzLmM6MjUxCisjOiB3dC1zdGF0dXMuYzoyNTYKIG1zZ2lkICJhZGRlZCBieSB1czoiCiBtc2dzdHIgInZvbiB1bnMgaGluenVnZWbDvGd0OiIKIAotIzogd3Qtc3RhdHVzLmM6MjUyCisjOiB3dC1zdGF0dXMuYzoyNTcKIG1zZ2lkICJkZWxldGVkIGJ5IHRoZW06IgogbXNnc3RyICJ2b24gZGVuZW4gZ2Vsw7ZzY2h0OiIKIAotIzogd3Qtc3RhdHVzLmM6MjUzCisjOiB3dC1zdGF0dXMuYzoyNTgKIG1zZ2lkICJhZGRlZCBieSB0aGVtOiIKIG1zZ3N0ciAidm9uIGRlbmVuIGhpbnp1Z2Vmw7xndDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NAorIzogd3Qtc3RhdHVzLmM6MjU5CiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgInZvbiB1bnMgZ2Vsw7ZzY2h0OiIKIAotIzogd3Qtc3RhdHVzLmM6MjU1CisjOiB3dC1zdGF0dXMuYzoyNjAKIG1zZ2lkICJib3RoIGFkZGVkOiIKIG1zZ3N0ciAidm9uIGJlaWRlbiBoaW56dWdlZsO8Z3Q6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTYKKyM6IHd0LXN0YXR1cy5jOjI2MQogbXNnaWQgImJvdGggbW9kaWZpZWQ6IgogbXNnc3RyICJ2b24gYmVpZGVuIGdlw6RuZGVydDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NgorIzogd3Qtc3RhdHVzLmM6MjkxCiBtc2dpZCAibmV3IGNvbW1pdHMsICIKIG1zZ3N0ciAibmV1ZSBDb21taXRzLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjI4OAorIzogd3Qtc3RhdHVzLmM6MjkzCiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICJnZcOkbmRlcnRlciBJbmhhbHQsICIKIAotIzogd3Qtc3RhdHVzLmM6MjkwCisjOiB3dC1zdGF0dXMuYzoyOTUKIG1zZ2lkICJ1bnRyYWNrZWQgY29udGVudCwgIgogbXNnc3RyICJ1bmJlb2JhY2h0ZXRlciBJbmhhbHQsICIKIAotIzogd3Qtc3RhdHVzLmM6MzA3CisjOiB3dC1zdGF0dXMuYzozMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IGZpbGU6ICAgJXMiCiBtc2dzdHIgIm5ldWUgRGF0ZWk6ICAgJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjMxMAorIzogd3Qtc3RhdHVzLmM6MzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcGllZDogICAgICVzIC0+ICVzIgogbXNnc3RyICJrb3BpZXJ0OiAgICAgJXMgLT4gJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjMxMworIzogd3Qtc3RhdHVzLmM6MzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0ZWQ6ICAgICVzIgogbXNnc3RyICJnZWzDtnNjaHQ6ICAgICVzIgogCi0jOiB3dC1zdGF0dXMuYzozMTYKKyM6IHd0LXN0YXR1cy5jOjMyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb2RpZmllZDogICAlcyIKIG1zZ3N0ciAiZ2XDpG5kZXJ0OiAgICVzIgogCi0jOiB3dC1zdGF0dXMuYzozMTkKKyM6IHd0LXN0YXR1cy5jOjMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW5hbWVkOiAgICAlcyAtPiAlcyIKIG1zZ3N0ciAidW1iZW5hbm50OiAgICAlcyAtPiAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MzIyCisjOiB3dC1zdGF0dXMuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidHlwZWNoYW5nZTogJXMiCiBtc2dzdHIgIlR5cMOkbmRlcnVuZzogJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjMyNQorIzogd3Qtc3RhdHVzLmM6MzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd246ICAgICVzIgogbXNnc3RyICJ1bmJla2FubnQ6ICAgICVzIgogCi0jOiB3dC1zdGF0dXMuYzozMjgKKyM6IHd0LXN0YXR1cy5jOjMzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bm1lcmdlZDogICAlcyIKIG1zZ3N0ciAibmljaHQgenVzYW1tZW5nZWbDvGhydDogICAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MzMxCisjOiB3dC1zdGF0dXMuYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnVnOiB1bmhhbmRsZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgIkZlaGxlcjogdW5iZWhhbmRlbHRlciBEaWZmZXJlbnotU3RhdHVzICVjIgogCi0jOiB3dC1zdGF0dXMuYzo4MDMKKyM6IHd0LXN0YXR1cy5jOjcwMworbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgorbXNnc3RyICJTdWJtb2R1bGUgZ2XDpG5kZXJ0LCBhYmVyIG5pY2h0IGFrdHVhbGlzaWVydDoiCisKKyM6IHd0LXN0YXR1cy5jOjcwNQorbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCittc2dzdHIgIsOEbmRlcnVuZ2VuIGluIFN1Ym1vZHVsIHp1bSBDb21taXR0ZW46IgorCisjOiB3dC1zdGF0dXMuYzo4NDgKIG1zZ2lkICJZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4iCiBtc2dzdHIgIlNpZSBoYWJlbiBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBQZmFkZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjgwNgorIzogd3Qtc3RhdHVzLmM6ODUxCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKIG1zZ3N0ciAiIChiZWhlYmVuIFNpZSBkaWUgS29uZmxpa3RlIHVuZCBmw7xocmVuIFNpZSBcImdpdCBjb21taXRcIiBhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzo4MDkKKyM6IHd0LXN0YXR1cy5jOjg1NAogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgIkFsbGUgS29uZmxpa3RlIHNpbmQgYmVob2JlbiwgYWJlciBTaWUgc2luZCBpbW1lciBub2NoIGJlaW0gTWVyZ2UuIgogCi0jOiB3dC1zdGF0dXMuYzo4MTIKKyM6IHd0LXN0YXR1cy5jOjg1NwogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXRcIiB0byBjb25jbHVkZSBtZXJnZSkiCiBtc2dzdHIgIiAgKGJlbnV0emVuIFNpZSBcImdpdCBjb21taXRcIiB1bSBkZW4gTWVyZ2UgYWJ6dXNjaGxpZcOfZW4pIgogCi0jOiB3dC1zdGF0dXMuYzo4MjIKKyM6IHd0LXN0YXR1cy5jOjg2NwogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLiIKIG1zZ3N0ciAiRWluZSBcImFtXCItU2l0enVuZyBpc3QgaW0gR2FuZ2UuIgogCi0jOiB3dC1zdGF0dXMuYzo4MjUKKyM6IHd0LXN0YXR1cy5jOjg3MAogbXNnaWQgIlRoZSBjdXJyZW50IHBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAiRGVyIGFrdHVlbGxlIFBhdGNoIGlzdCBsZWVyLiIKIAotIzogd3Qtc3RhdHVzLmM6ODI5CisjOiB3dC1zdGF0dXMuYzo4NzQKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoYmVoZWJlbiBTaWUgZGllIEtvbmZsaWt0ZSB1bmQgZsO8aHJlbiBTaWUgZGFubiBcImdpdCBhbSAtLWNvbnRpbnVlXCIgYXVzKSIKIAotIzogd3Qtc3RhdHVzLmM6ODMxCisjOiB3dC1zdGF0dXMuYzo4NzYKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGFtIC0tc2tpcFwiIHVtIGRpZXNlbiBQYXRjaCBhdXN6dWxhc3NlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjgzMworIzogd3Qtc3RhdHVzLmM6ODc4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGFtIC0tYWJvcnRcIiB1bSBkZW4gdXJzcHLDvG5nbGljaGVuIEJyYW5jaCAiCiAid2llZGVyaGVyenVzdGVsbGVuKSIKIAotIzogd3Qtc3RhdHVzLmM6ODkzIHd0LXN0YXR1cy5jOjkxMAorIzogd3Qtc3RhdHVzLmM6OTM4IHd0LXN0YXR1cy5jOjk1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiU2llIHNpbmQgZ2VyYWRlIGJlaW0gUmViYXNlIHZvbiBCcmFuY2ggJyVzJyBhdWYgJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjg5OCB3dC1zdGF0dXMuYzo5MTUKKyM6IHd0LXN0YXR1cy5jOjk0MyB3dC1zdGF0dXMuYzo5NjAKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iCiBtc2dzdHIgIlNpZSBzaW5kIGdlcmFkZSBiZWltIFJlYmFzZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjkwMQorIzogd3Qtc3RhdHVzLmM6OTQ2CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChiZWhlYmVuIFNpZSBkaWUgS29uZmxpa3RlIHVuZCBmw7xocmVuIFNpZSBkYW5uIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgIgogImF1cykiCiAKLSM6IHd0LXN0YXR1cy5jOjkwMworIzogd3Qtc3RhdHVzLmM6OTQ4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgIChiZW51dHplbiBTaWUgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHVtIGRpZXNlbiBQYXRjaCBhdXN6dWxhc3NlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjkwNQorIzogd3Qtc3RhdHVzLmM6OTUwCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdW0gZGVuIHVyc3Byw7xuZ2xpY2hlbiBCcmFuY2ggIgogImF1c3p1Y2hlY2tlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjkxOAorIzogd3Qtc3RhdHVzLmM6OTYzCiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChhbGxlIEtvbmZsaWt0ZSBiZWhvYmVuOiBmw7xocmVuIFNpZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIGF1cykiCiAKLSM6IHd0LXN0YXR1cy5jOjkyMgorIzogd3Qtc3RhdHVzLmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCkBAIC0xNTEyLDEyOCArMTY3NCwxMjkgQEAKICJTaWUgdGVpbGVuIGdlcmFkZSBlaW5lbiBDb21taXQgYXVmLCB3w6RocmVuZCBlaW4gUmViYXNlIHZvbiBCcmFuY2ggJyVzJyBhdWYgIgogIiclcycgaW0gR2FuZ2UgaXN0LiIKIAotIzogd3Qtc3RhdHVzLmM6OTI3CisjOiB3dC1zdGF0dXMuYzo5NzIKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiU2llIHRlaWxlbiBnZXJhZGUgZWluZW4gQ29tbWl0IHfDpGhyZW5kIGVpbmVzIFJlYmFzZSBhdWYuIgogCi0jOiB3dC1zdGF0dXMuYzo5MzAKKyM6IHd0LXN0YXR1cy5jOjk3NQogbXNnaWQgIiAgKE9uY2UgeW91ciB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVhbiwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoU29iYWxkIElociBBcmJlaXRzdmVyemVpY2huaXMgdW52ZXLDpG5kZXJ0IGlzdCwgZsO8aHJlbiBTaWUgXCJnaXQgcmViYXNlIC0tIgogImNvbnRpbnVlXCIgYXVzKSIKIAotIzogd3Qtc3RhdHVzLmM6OTM0CisjOiB3dC1zdGF0dXMuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiIgogIlNpZSBlZGl0aWVyZW4gZ2VyYWRlIGVpbmVuIENvbW1pdCB3w6RocmVuZCBlaW5lcyBSZWJhc2Ugdm9uIEJyYW5jaCAnJXMnIGF1ZiAiCiAiJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjkzOQorIzogd3Qtc3RhdHVzLmM6OTg0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICJTaWUgZWRpdGllcmVuIGdlcmFkZSBlaW5lbiBDb21taXQgd8OkaHJlbmQgZWluZXMgUmViYXNlLiIKIAotIzogd3Qtc3RhdHVzLmM6OTQyCisjOiB3dC1zdGF0dXMuYzo5ODcKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdW0gZGVuIGFrdHVlbGxlbiBDb21taXQgbmFjaHp1YmVzc2VybikiCiAKLSM6IHd0LXN0YXR1cy5jOjk0NAorIzogd3Qtc3RhdHVzLmM6OTg5CiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgc29iYWxkIElocmUgw4RuZGVydW5nZW4gIgogImFiZ2VzY2hsb3NzZW4gc2luZCkiCiAKLSM6IHd0LXN0YXR1cy5jOjk1NAotbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nLiIKLW1zZ3N0ciAiU2llIGbDvGhyZW4gZ2VyYWRlIFwiY2hlcnJ5LXBpY2tcIiBhdXMuIgorIzogd3Qtc3RhdHVzLmM6OTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nIGNvbW1pdCAlcy4iCittc2dzdHIgIlNpZSBmw7xocmVuIGdlcmFkZSBcImNoZXJyeS1waWNrXCIgdm9uIENvbW1pdCAlcyBhdXMuIgogCi0jOiB3dC1zdGF0dXMuYzo5NTgKKyM6IHd0LXN0YXR1cy5jOjEwMDQKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKGJlaGViZW4gU2llIGRpZSBLb25mbGlrdGUgdW5kIGbDvGhyZW4gU2llIGRhbm4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZSIKICJcIiBhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzo5NjEKKyM6IHd0LXN0YXR1cy5jOjEwMDcKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKGFsbGUgS29uZmxpa3RlIGJlaG9iZW46IGbDvGhyZW4gU2llIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiBhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzo5NjMKKyM6IHd0LXN0YXR1cy5jOjEwMDkKIG1zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgdW0gZGllIENoZXJyeS1QaWNrLU9wZXJhdGlvbiAiCiAiYWJ6dWJyZWNoZW4pIgogCi0jOiB3dC1zdGF0dXMuYzo5NzIKKyM6IHd0LXN0YXR1cy5jOjEwMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIlNpZSBzaW5kIGdlcmFkZSBhbiBlaW5lbSBSZXZlcnQgdm9uIENvbW1pdCAnJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6OTc3CisjOiB3dC1zdGF0dXMuYzoxMDIzCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoYmVoZWJlbiBTaWUgZGllIEtvbmZsaWt0ZSB1bmQgZsO8aHJlbiBTaWUgZGFubiBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiICIKICJhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzo5ODAKKyM6IHd0LXN0YXR1cy5jOjEwMjYKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGFsbGUgS29uZmxpa3RlIGJlaG9iZW46IGbDvGhyZW4gU2llIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIgYXVzKSIKIAotIzogd3Qtc3RhdHVzLmM6OTgyCisjOiB3dC1zdGF0dXMuYzoxMDI4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHVtIGRpZSBSZXZlcnQtT3BlcmF0aW9uIGFienVicmVjaGVuKSIKIAotIzogd3Qtc3RhdHVzLmM6OTkzCisjOiB3dC1zdGF0dXMuYzoxMDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiU2llIHNpbmQgZ2VyYWRlIGJlaSBlaW5lciBiaW7DpHJlbiBTdWNoZSwgZ2VzdGFydGV0IHZvbiBCcmFuY2ggJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjk5NworIzogd3Qtc3RhdHVzLmM6MTA0MwogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgIlNpZSBzaW5kIGdlcmFkZSBiZWkgZWluZXIgYmluw6RyZW4gU3VjaGUuIgogCi0jOiB3dC1zdGF0dXMuYzoxMDAwCisjOiB3dC1zdGF0dXMuYzoxMDQ2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGJpc2VjdCByZXNldFwiIHVtIHp1bSB1cnNwcsO8bmdsaWNoZW4gQnJhbmNoICIKICJ6dXLDvGNrenVrZWhyZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMTczCisjOiB3dC1zdGF0dXMuYzoxMjIxCiBtc2dpZCAiT24gYnJhbmNoICIKIG1zZ3N0ciAiQXVmIEJyYW5jaCAiCiAKLSM6IHd0LXN0YXR1cy5jOjExODAKKyM6IHd0LXN0YXR1cy5jOjEyMjgKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICJSZWJhc2UgaW0gR2FuZ2U7IGF1ZiAiCiAKLSM6IHd0LXN0YXR1cy5jOjExODcKKyM6IHd0LXN0YXR1cy5jOjEyMzUKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKIG1zZ3N0ciAiSEVBRCBsb3NnZWzDtnN0IGJlaSAiCiAKLSM6IHd0LXN0YXR1cy5jOjExODkKKyM6IHd0LXN0YXR1cy5jOjEyMzcKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgogbXNnc3RyICJIRUFEIGxvc2dlbMO2c3Qgdm9uICIKIAotIzogd3Qtc3RhdHVzLmM6MTE5MgorIzogd3Qtc3RhdHVzLmM6MTI0MAogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIkltIE1vbWVudCBhdWYga2VpbmVtIEJyYW5jaC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDkKKyM6IHd0LXN0YXR1cy5jOjEyNTcKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAiSW5pdGlhbGVyIENvbW1pdCIKIAotIzogd3Qtc3RhdHVzLmM6MTIyMworIzogd3Qtc3RhdHVzLmM6MTI3MQogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiVW5iZW9iYWNodGV0ZSBEYXRlaWVuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjI1CisjOiB3dC1zdGF0dXMuYzoxMjczCiBtc2dpZCAiSWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiSWdub3JpZXJ0ZSBEYXRlaWVuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjI5CisjOiB3dC1zdGF0dXMuYzoxMjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCkBAIC0xNjQ0LDMyICsxODA3LDMyIEBACiAiJ3N0YXR1cyAtdW5vJyBrw7ZubnRlIGRhcyBiZXNjaGxldW5pZ2VuLCBhYmVyIFNpZSBtw7xzc2VuIGRhcmF1ZiBhY2h0ZW4sXG4iCiAibmV1ZSBEYXRlaWVuIHNlbGJzdHN0w6RuZGlnIGhpbnp1enVmw7xnZW4gKHNpZWhlICdnaXQgaGVscCBzdGF0dXMnKS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMzUKKyM6IHd0LXN0YXR1cy5jOjEyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKIG1zZ3N0ciAiVW5iZW9iYWNodGV0ZSBEYXRlaWVuIG5pY2h0IGF1ZmdlbGlzdGV0JXMiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMzcKKyM6IHd0LXN0YXR1cy5jOjEyODUKIG1zZ2lkICIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIgogbXNnc3RyICIgKGJlbnV0emVuIFNpZSBkaWUgT3B0aW9uIC11IHVtIHVuYmVvYmFjaHRldGVuIERhdGVpZW4gYW56dXplaWdlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDMKKyM6IHd0LXN0YXR1cy5jOjEyOTEKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICJLZWluZSDDhG5kZXJ1bmdlbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI0OAorIzogd3Qtc3RhdHVzLmM6MTI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAiIgogImtlaW5lIMOEbmRlcnVuZ2VuIHp1bSBDb21taXQgdm9yZ2VtZXJrdCAoYmVudXR6ZW4gU2llIFwiZ2l0IGFkZFwiIHVuZC9vZGVyICIKICJcImdpdCBjb21taXQgLWFcIilcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1MQorIzogd3Qtc3RhdHVzLmM6MTI5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdFxuIgogbXNnc3RyICJrZWluZSDDhG5kZXJ1bmdlbiB6dW0gQ29tbWl0IHZvcmdlbWVya3RcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NAorIzogd3Qtc3RhdHVzLmM6MTMwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgpAQCAtMTY3OCw1NiArMTg0MSw2MCBAQAogIm5pY2h0cyB6dW0gQ29tbWl0IHZvcmdlbWVya3QsIGFiZXIgZXMgZ2lidCB1bmJlb2JhY2h0ZXRlIERhdGVpZW4gKGJlbnV0emVuICIKICJTaWUgXCJnaXQgYWRkXCIgenVtIEJlb2JhY2h0ZW4pXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTcKKyM6IHd0LXN0YXR1cy5jOjEzMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50XG4iCiBtc2dzdHIgIm5pY2h0cyB6dW0gQ29tbWl0IHZvcmdlbWVya3QsIGFiZXIgZXMgZ2lidCB1bmJlb2JhY2h0ZXRlIERhdGVpZW5cbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MAorIzogd3Qtc3RhdHVzLmM6MTMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAoY3JlYXRlL2NvcHkgZmlsZXMgYW5kIHVzZSBcImdpdCBhZGRcIiB0byB0cmFjaylcbiIKIG1zZ3N0ciAiIgogIm5pY2h0cyB6dSBjb21taXR0ZW4gKEVyc3RlbGxlbi9Lb3BpZXJlbiBTaWUgRGF0ZWllbiB1bmQgYmVudXR6ZW4gU2llIFwiZ2l0ICIKICJhZGRcIiB6dW0gQmVvYmFjaHRlbilcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MyB3dC1zdGF0dXMuYzoxMjY4CisjOiB3dC1zdGF0dXMuYzoxMzExIHd0LXN0YXR1cy5jOjEzMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXRcbiIKIG1zZ3N0ciAibmljaHRzIHp1IGNvbW1pdHRlblxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjY2CisjOiB3dC1zdGF0dXMuYzoxMzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpXG4iCiBtc2dzdHIgIiIKICJuaWNodHMgenUgY29tbWl0dGVuIChiZW51dHplbiBTaWUgZGllIE9wdGlvbiAtdSwgdW0gdW5iZW9iYWNodGV0ZSBEYXRlaWVuICIKICJhbnp1emVpZ2VuKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjcwCisjOiB3dC1zdGF0dXMuYzoxMzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIGRpcmVjdG9yeSBjbGVhblxuIgogbXNnc3RyICJuaWNodHMgenUgY29tbWl0dGVuLCBBcmJlaXRzdmVyemVpY2huaXMgdW52ZXLDpG5kZXJ0XG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNzgKKyM6IHd0LXN0YXR1cy5jOjE0MjcKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFEIChrZWluIEJyYW5jaCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEzODQKKyM6IHd0LXN0YXR1cy5jOjE0MzMKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCiBtc2dzdHIgIkluaXRpYWxlciBDb21taXQgYXVmICIKIAotIzogd3Qtc3RhdHVzLmM6MTM5OQorIzogd3Qtc3RhdHVzLmM6MTQ2MworbXNnaWQgImdvbmUiCittc2dzdHIgImVudGZlcm50IgorCisjOiB3dC1zdGF0dXMuYzoxNDY1CiBtc2dpZCAiYmVoaW5kICIKIG1zZ3N0ciAiaGludGVyaGVyICIKIAotIzogd3Qtc3RhdHVzLmM6MTQwMiB3dC1zdGF0dXMuYzoxNDA1CisjOiB3dC1zdGF0dXMuYzoxNDY4IHd0LXN0YXR1cy5jOjE0NzEKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgInZvcmF1cyAiCiAKLSM6IHd0LXN0YXR1cy5jOjE0MDcKKyM6IHd0LXN0YXR1cy5jOjE0NzMKIG1zZ2lkICIsIGJlaGluZCAiCiBtc2dzdHIgIiwgaGludGVyaGVyICIKIAotIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU4IGJ1aWx0aW4vY2xvbmUuYzozNTEKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1NSBidWlsdGluL2Nsb25lLmM6MzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgZW50ZmVybmVuLiIKQEAgLTE4MTMsNyArMTk4MCw3IEBACiBtc2dpZCAidW5leHBlY3RlZCBkaWZmIHN0YXR1cyAlYyIKIG1zZ3N0ciAidW5lcndhcnRldGVyIERpZmZlcmVuei1TdGF0dXMgJWMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTQ5IGJ1aWx0aW4vY29tbWl0LmM6MjUyCisjOiBidWlsdGluL2FkZC5jOjE0OSBidWlsdGluL2NvbW1pdC5jOjI2MAogbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAiQWt0dWFsaXNpZXJ1bmcgZGVyIERhdGVpZW4gZmVobGdlc2NobGFnZW4iCiAKQEAgLTE4MjIsMTQ3ICsxOTg5LDE0MiBAQAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgImzDtnNjaGUgJyVzJ1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjI1MworIzogYnVpbHRpbi9hZGQuYzoyMzcKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKIG1zZ3N0ciAiIgogIk5pY2h0IHp1bSBDb21taXQgdm9yZ2VtZXJrdGUgw4RuZGVydW5nZW4gbmFjaCBBa3R1YWxpc2llcnVuZyBkZXIgU3RhZ2luZy1BcmVhOiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYgYnVpbHRpbi9hZGQuYzo1NzMgYnVpbHRpbi9ybS5jOjMzNwotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgotbXNnc3RyICJQZmFkc3BlemlmaWthdGlvbiAnJXMnIHN0aW1tdCBtaXQga2VpbmVuIERhdGVpZW4gw7xiZXJlaW4iCi0KLSM6IGJ1aWx0aW4vYWRkLmM6MzM5CisjOiBidWlsdGluL2FkZC5jOjI5OQogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiS29ubnRlIGRpZSBTdGFnaW5nLUFyZWEgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUwCisjOiBidWlsdGluL2FkZC5jOjMxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgenVtIFNjaHJlaWJlbiDDtmZmbmVuLiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTQKKyM6IGJ1aWx0aW4vYWRkLmM6MzE0CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHBhdGNoIgogbXNnc3RyICJLb25udGUgUGF0Y2ggbmljaHQgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2FkZC5jOjM1OQorIzogYnVpbHRpbi9hZGQuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIFZlcnplaWNobmlzICclcycgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzYxCisjOiBidWlsdGluL2FkZC5jOjMyMQogbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKIG1zZ3N0ciAiTGVlcmVyIFBhdGNoLiBBYmdlYnJvY2hlbi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzY3CisjOiBidWlsdGluL2FkZC5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgYW53ZW5kZW4uIgogCi0jOiBidWlsdGluL2FkZC5jOjM3NworIzogYnVpbHRpbi9hZGQuYzozMzcKIG1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCiBtc2dzdHIgIiIKICJEaWUgZm9sZ2VuZGVuIFBmYWRlIHdlcmRlbiBkdXJjaCBlaW5lIElocmVyIFwiLmdpdGlnbm9yZVwiIERhdGVpZW4gIgogImlnbm9yaWVydDpcbiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTQgYnVpbHRpbi9jbGVhbi5jOjg3NSBidWlsdGluL2ZldGNoLmM6NzggYnVpbHRpbi9tdi5jOjYzCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjczIGJ1aWx0aW4vcHVzaC5jOjQ1MSBidWlsdGluL3JlbW90ZS5jOjEyNTMKLSM6IGJ1aWx0aW4vcm0uYzoyNjgKKyM6IGJ1aWx0aW4vYWRkLmM6MzU0IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9mZXRjaC5jOjkyIGJ1aWx0aW4vbXYuYzo2NgorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3MyBidWlsdGluL3B1c2guYzo0NTkgYnVpbHRpbi9yZW1vdGUuYzoxMjUzCisjOiBidWlsdGluL3JtLmM6MjY5CiBtc2dpZCAiZHJ5IHJ1biIKIG1zZ3N0ciAiUHJvYmVsYXVmIgogCi0jOiBidWlsdGluL2FkZC5jOjM5NSBidWlsdGluL2FwcGx5LmM6NDQxMCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5Ci0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjAgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTUgYnVpbHRpbi9mc2NrLmM6NjEzCi0jOiBidWlsdGluL2xvZy5jOjE1NzMgYnVpbHRpbi9tdi5jOjYyIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEzCisjOiBidWlsdGluL2FkZC5jOjM1NSBidWlsdGluL2FwcGx5LmM6NDQxMCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNDkgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTUgYnVpbHRpbi9mc2NrLmM6NjEyCisjOiBidWlsdGluL2xvZy5jOjE1OTIgYnVpbHRpbi9tdi5jOjY1IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEzCiBtc2dpZCAiYmUgdmVyYm9zZSIKIG1zZ3N0ciAiZXJ3ZWl0ZXJ0ZSBBdXNnYWJlbiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTcKKyM6IGJ1aWx0aW4vYWRkLmM6MzU3CiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAiaW50ZXJha3RpdmVzIEF1c3fDpGhsZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzk4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDczIGJ1aWx0aW4vcmVzZXQuYzoyNjEKKyM6IGJ1aWx0aW4vYWRkLmM6MzU4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA5IGJ1aWx0aW4vcmVzZXQuYzoyNzIKIG1zZ2lkICJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAiQmzDtmNrZSBpbnRlcmFrdGl2IGF1c3fDpGhsZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzk5CisjOiBidWlsdGluL2FkZC5jOjM1OQogbXNnaWQgImVkaXQgY3VycmVudCBkaWZmIGFuZCBhcHBseSIKIG1zZ3N0ciAiYWt0dWVsbGUgVW50ZXJzY2hpZWRlIGVkaXRpZXJlbiB1bmQgYW53ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAwCisjOiBidWlsdGluL2FkZC5jOjM2MAogbXNnaWQgImFsbG93IGFkZGluZyBvdGhlcndpc2UgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiZXJsYXVidCBkYXMgSGluenVmw7xnZW4gYW5kZXJuZmFsbHMgaWdub3JpZXJ0ZXIgRGF0ZWllbiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDEKKyM6IGJ1aWx0aW4vYWRkLmM6MzYxCiBtc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgImFrdHVhbGlzaWVydCBiZW9iYWNodGV0ZSBEYXRlaWVuIgogCi0jOiBidWlsdGluL2FkZC5jOjQwMgorIzogYnVpbHRpbi9hZGQuYzozNjIKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgInNwZWljaGVydCBudXIsIGRhc3MgZGVyIFBmYWQgc3DDpHRlciBoaW56dWdlZsO8Z3Qgd2VyZGVuIHNvbGwiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAzCisjOiBidWlsdGluL2FkZC5jOjM2MwogbXNnaWQgImFkZCBjaGFuZ2VzIGZyb20gYWxsIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiIgogImbDvGd0IMOEbmRlcnVuZ2VuIHZvbiBhbGxlbiBiZW9iYWNodGV0ZW4gdW5kIHVuYmVvYmFjaHRldGVuIERhdGVpZW4gaGluenUiCiAKICMuIHRha2VzIG5vIGFyZ3VtZW50cwotIzogYnVpbHRpbi9hZGQuYzo0MDYKKyM6IGJ1aWx0aW4vYWRkLmM6MzY2CiBtc2dpZCAiaWdub3JlIHBhdGhzIHJlbW92ZWQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoc2FtZSBhcyAtLW5vLWFsbCkiCiBtc2dzdHIgImlnbm9yaWVydCBnZWzDtnNjaHRlIFBmYWRlIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyAoZ2VuYXUgd2llIC0tbm8tYWxsKSIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDgKKyM6IGJ1aWx0aW4vYWRkLmM6MzY4CiBtc2dpZCAiZG9uJ3QgYWRkLCBvbmx5IHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJmw7xndCBuaWNodHMgaGluenUsIGFrdHVhbGlzaWVydCBudXIgZGllIFN0YWdpbmctQXJlYSIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDkKKyM6IGJ1aWx0aW4vYWRkLmM6MzY5CiBtc2dpZCAianVzdCBza2lwIGZpbGVzIHdoaWNoIGNhbm5vdCBiZSBhZGRlZCBiZWNhdXNlIG9mIGVycm9ycyIKIG1zZ3N0ciAiIgogIsO8YmVyc3ByaW5ndCBEYXRlaWVuLCBkaWUgYXVmZ3J1bmQgdm9uIEZlaGxlcm4gbmljaHQgaGluenVnZWbDvGd0IHdlcmRlbiAiCiAia29ubnRlbiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MTAKKyM6IGJ1aWx0aW4vYWRkLmM6MzcwCiBtc2dpZCAiY2hlY2sgaWYgLSBldmVuIG1pc3NpbmcgLSBmaWxlcyBhcmUgaWdub3JlZCBpbiBkcnkgcnVuIgogbXNnc3RyICJwcsO8ZnQgb2IgLSBhdWNoIGZlaGxlbmRlIC0gRGF0ZWllbiBpbSBQcm9iZWxhdWYgaWdub3JpZXJ0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzIKKyM6IGJ1aWx0aW4vYWRkLmM6MzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIHRoZW0uXG4iCiBtc2dzdHIgIlZlcndlbmRlbiBTaWUgLWYgd2VubiBTaWUgZGllc2Ugd2lya2xpY2ggaGluenVmw7xnZW4gbcO2Y2h0ZW4uXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDMzCisjOiBidWlsdGluL2FkZC5jOjM5MwogbXNnaWQgIm5vIGZpbGVzIGFkZGVkIgogbXNnc3RyICJrZWluZSBEYXRlaWVuIGhpbnp1Z2Vmw7xndCIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzkKKyM6IGJ1aWx0aW4vYWRkLmM6Mzk5CiBtc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAiSGluenVmw7xnZW4gdm9uIERhdGVpZW4gZmVobGdlc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDc4CisjOiBidWlsdGluL2FkZC5jOjQzOAogbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLUEgdW5kIC11IHNpbmQgenVlaW5hbmRlciBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL2FkZC5jOjQ5NgorIzogYnVpbHRpbi9hZGQuYzo0NTYKIG1zZ2lkICJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGthbm4gbnVyIHp1c2FtbWVuIG1pdCAtLWRyeS1ydW4gdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NTI2CisjOiBidWlsdGluL2FkZC5jOjQ4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3RoaW5nIHNwZWNpZmllZCwgbm90aGluZyBhZGRlZC5cbiIKIG1zZ3N0ciAiTmljaHRzIHNwZXppZml6aWVydCwgbmljaHRzIGhpbnp1Z2Vmw7xndC5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzo1MjcKKyM6IGJ1aWx0aW4vYWRkLmM6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgogbXNnc3RyICJXb2xsdGVuIFNpZSB2aWVsbGVpY2h0ICdnaXQgYWRkIC4nIHNhZ2VuP1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjUzMyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MSBidWlsdGluL2NsZWFuLmM6OTE5Ci0jOiBidWlsdGluL2NvbW1pdC5jOjMxMiBidWlsdGluL212LmM6ODIgYnVpbHRpbi9ybS5jOjI5NworIzogYnVpbHRpbi9hZGQuYzo0OTIgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIgYnVpbHRpbi9jbGVhbi5jOjkxOQorIzogYnVpbHRpbi9jb21taXQuYzozMjAgYnVpbHRpbi9tdi5jOjg2IGJ1aWx0aW4vcmVzZXQuYzoyMjQgYnVpbHRpbi9ybS5jOjI5OQogbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCIKIG1zZ3N0ciAiU3RhZ2luZy1BcmVhLURhdGVpIGJlc2Now6RkaWd0IgogCi0jOiBidWlsdGluL2FkZC5jOjYwNSBidWlsdGluL2FwcGx5LmM6NDUwNiBidWlsdGluL212LmM6MjI5IGJ1aWx0aW4vcm0uYzo0MzIKKyM6IGJ1aWx0aW4vYWRkLmM6NTg5IGJ1aWx0aW4vYXBwbHkuYzo0NTA2IGJ1aWx0aW4vbXYuYzoyNTkgYnVpbHRpbi9ybS5jOjQzMgogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiS29ubnRlIG5ldWUgU3RhZ2luZy1BcmVhLURhdGVpIG5pY2h0IHNjaHJlaWJlbi4iCiAKQEAgLTIyMjAsNyArMjM4Miw3IEBACiBtc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCiBtc2dzdHIgIlByw7xmZSBQYXRjaCAlcy4uLiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM2ODAgYnVpbHRpbi9jaGVja291dC5jOjIxNiBidWlsdGluL3Jlc2V0LmM6MTI3CisjOiBidWlsdGluL2FwcGx5LmM6MzY4MCBidWlsdGluL2NoZWNrb3V0LmM6MjEzIGJ1aWx0aW4vcmVzZXQuYzoxMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAibWFrZV9jYWNoZV9lbnRyeSBmw7xyIFBmYWQgJyVzJyBmZWhsZ2VzY2hsYWdlbiIKQEAgLTIzMDAsOCArMjQ2Miw4IEBACiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKIG1zZ3N0ciAiS29ubnRlIFN0YWdpbmctQXJlYS1EYXRlaSBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzNTcgYnVpbHRpbi9hcHBseS5jOjQzNjAgYnVpbHRpbi9jbG9uZS5jOjkxCi0jOiBidWlsdGluL2ZldGNoLmM6NjMKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzU3IGJ1aWx0aW4vYXBwbHkuYzo0MzYwIGJ1aWx0aW4vY2xvbmUuYzo5MAorIzogYnVpbHRpbi9mZXRjaC5jOjc3CiBtc2dpZCAicGF0aCIKIG1zZ3N0ciAiUGZhZCIKIApAQCAtMjM3NCw3ICsyNTM2LDcgQEAKICJlcnN0ZWxsdCBlaW5lIHRlbXBvcsOkcmUgU3RhZ2luZy1BcmVhIGJhc2llcmVuZCBhdWYgZGVuIGludGVncmllcnRlbiBTdGFnaW5nLSIKICJBcmVhLUluZm9ybWF0aW9uZW4iCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzg5IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxOTcgYnVpbHRpbi9scy1maWxlcy5jOjQ2MgorIzogYnVpbHRpbi9hcHBseS5jOjQzODkgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE5NyBidWlsdGluL2xzLWZpbGVzLmM6NDUyCiBtc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgIlBmYWRlIHNpbmQgZ2V0cmVubnQgZHVyY2ggTlVMIFplaWNoZW4iCiAKQEAgLTI1MDgsMTA0ICsyNjcwLDEwNCBAQAogbXNnaWQgInVwZGF0ZSBCSVNFQ1RfSEVBRCBpbnN0ZWFkIG9mIGNoZWNraW5nIG91dCB0aGUgY3VycmVudCBjb21taXQiCiBtc2dzdHIgImFrdHVhbGlzaWVydCBCSVNFQ1RfSEVBRCwgYW5zdGF0dCBkZW4gYWt0dWVsbGVuIENvbW1pdCBhdXN6dWNoZWNrZW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNgorIzogYnVpbHRpbi9ibGFtZS5jOjI3CiBtc2dpZCAiZ2l0IGJsYW1lIFtvcHRpb25zXSBbcmV2LW9wdHNdIFtyZXZdIFstLV0gZmlsZSIKIG1zZ3N0ciAiZ2l0IGJsYW1lIFtPcHRpb25lbl0gW3Jldi1vcHRzXSBbcmV2XSBbLS1dIERhdGVpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MzEKKyM6IGJ1aWx0aW4vYmxhbWUuYzozMgogbXNnaWQgIltyZXYtb3B0c10gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgogbXNnc3RyICJbcmV2LW9wdHNdIHNpbmQgZG9rdW1lbnRpZXJ0IGluIGdpdC1yZXYtbGlzdCgxKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyNzYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjQ4CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAiWmVpZ3QgXCJibGFtZVwiLUVpbnRyw6RnZSBzY2hyaXR0d2Vpc2UsIHfDpGhyZW5kIHdpciBzaWUgZ2VuZXJpZXJlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyNzcKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjQ5CiBtc2dpZCAiU2hvdyBibGFuayBTSEEtMSBmb3IgYm91bmRhcnkgY29tbWl0cyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiWmVpZ3QgbGVlcmUgU0hBLTEgZsO8ciBHcmVuei1Db21taXRzIChTdGFuZGFyZDogYXVzKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyNzgKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjUwCiBtc2dpZCAiRG8gbm90IHRyZWF0IHJvb3QgY29tbWl0cyBhcyBib3VuZGFyaWVzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJCZWhhbmRlbHQgVXJzcHJ1bmdzLUNvbW1pdCBuaWNodCBhbHMgR3JlbnplbiAoU3RhbmRhcmQ6IGF1cykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjc5CisjOiBidWlsdGluL2JsYW1lLmM6MjI1MQogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgIlplaWd0IFN0YXRpc3Rpa2VuIHp1bSBBcmJlaXRzYXVmd2FuZCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjUyCiBtc2dpZCAiU2hvdyBvdXRwdXQgc2NvcmUgZm9yIGJsYW1lIGVudHJpZXMiCiBtc2dzdHIgIlplaWd0IEF1c2dhYmViZXdlcnR1bmcgZsO8ciBcImJsYW1lXCItRWludHLDpGdlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4MQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTMKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGZpbGVuYW1lIChEZWZhdWx0OiBhdXRvKSIKIG1zZ3N0ciAiWmVpZ3QgdXJzcHLDvG5nbGljaGVuIERhdGVpbmFtZW4gKFN0YW5kYXJkOiBhdXRvKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU0CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBsaW5lbnVtYmVyIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJaZWlndCB1cnNwcsO8bmdsaWNoZSBaZWlsZW5udW1tZXIgKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4MworIzogYnVpbHRpbi9ibGFtZS5jOjIyNTUKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICJBbnplaWdlIGluIGVpbmVtIEZvcm1hdCBmw7xyIG1hc2NoaW5lbGxlIEF1c3dlcnR1bmciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg0CisjOiBidWlsdGluL2JsYW1lLmM6MjI1NgogbXNnaWQgIlNob3cgcG9yY2VsYWluIGZvcm1hdCB3aXRoIHBlci1saW5lIGNvbW1pdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogIkFuemVpZ2UgaW4gRm9ybWF0IGbDvHIgRnJlbWRwcm9ncmFtbWUgbWl0IENvbW1pdC1JbmZvcm1hdGlvbmVuIHBybyBaZWlsZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU3CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiQmVudXR6dCBkZW4gZ2xlaWNoZW4gQXVzZ2FiZW1vZHVzIHdpZSBcImdpdC1hbm5vdGF0ZVwiIChTdGFuZGFyZDogYXVzKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU4CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJaZWlndCB1bmJlYXJiZWl0ZXRlbiBaZWl0c3RlbXBlbCAoU3RhbmRhcmQ6IGF1cykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg3CisjOiBidWlsdGluL2JsYW1lLmM6MjI1OQogbXNnaWQgIlNob3cgbG9uZyBjb21taXQgU0hBMSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiWmVpZ3QgbGFuZ2VuIENvbW1pdC1TSEExIChTdGFuZGFyZDogYXVzKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODgKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYwCiBtc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiVW50ZXJkcsO8Y2t0IGRlbiBOYW1lbiBkZXMgQXV0b3JzIHVuZCBkZW4gWmVpdHN0ZW1wZWwgKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4OQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjEKIG1zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlplaWd0IGFuc3RhdHQgZGVzIE5hbWVucyBkaWUgRW1haWwtQWRyZXNzZSBkZXMgQXV0b3JzIChTdGFuZGFyZDogYXVzKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYyCiBtc2dpZCAiSWdub3JlIHdoaXRlc3BhY2UgZGlmZmVyZW5jZXMiCiBtc2dzdHIgIklnbm9yaWVydCBVbnRlcnNjaGllZGUgaW0gV2hpdGVzcGFjZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYzCiBtc2dpZCAiU3BlbmQgZXh0cmEgY3ljbGVzIHRvIGZpbmQgYmV0dGVyIG1hdGNoIgogbXNnc3RyICJhcmJlaXRlIGzDpG5nZXIsIHVtIGJlc3NlcmUgw5xiZXJlaW5zdGltbXVuZ2VuIHp1IGZpbmRlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY0CiBtc2dpZCAiVXNlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIGNhbGxpbmcgZ2l0LXJldi1saXN0IgogbXNnc3RyICJCZW51dHp0IENvbW1pdHMgdm9uIDxEYXRlaT4gYW5zdGF0dCBcImdpdC1yZXYtbGlzdFwiIGF1Znp1cnVmZW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkzCisjOiBidWlsdGluL2JsYW1lLmM6MjI2NQogbXNnaWQgIlVzZSA8ZmlsZT4ncyBjb250ZW50cyBhcyB0aGUgZmluYWwgaW1hZ2UiCiBtc2dzdHIgIkJlbnV0enQgSW5oYWx0ZSBkZXIgPERhdGVpPmVuIGFscyBlbnRnw7xsdGlnZXMgQWJiaWxkIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NCBidWlsdGluL2JsYW1lLmM6MjI5NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjYgYnVpbHRpbi9ibGFtZS5jOjIyNjcKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAiQmV3ZXJ0dW5nIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjYKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICJGaW5kZXQga29waWVydGUgWmVpbGVuIGlubmVyaGFsYiBvZGVyIHp3aXNjaGVuIERhdGVpZW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjk1CisjOiBidWlsdGluL2JsYW1lLmM6MjI2NwogbXNnaWQgIkZpbmQgbGluZSBtb3ZlbWVudHMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIkZpbmRldCB2ZXJzY2hvYmVuZSBaZWlsZW4gaW5uZXJoYWxiIG9kZXIgendpc2NoZW4gRGF0ZWllbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY4CiBtc2dpZCAibixtIgogbXNnc3RyICJuLG0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjk2CisjOiBidWlsdGluL2JsYW1lLmM6MjI2OAogbXNnaWQgIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJWZXJhcmJlaXRldCBudXIgWmVpbGVuIGltIEJlcmVpY2ggbixtLCBnZXrDpGhsdCB2b24gMSIKIApAQCAtMjcxMywyNDAgKzI4NzUsMjUwIEBACiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6NDUzCiAjLCBjLWZvcm1hdAorbXNnaWQgIlslczogZ29uZV0iCittc2dzdHIgIlslczogZW50ZmVybnRdIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJbJXNdIgorbXNnc3RyICJbJXNdIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ1OQorIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCiBtc2dzdHIgIlslczogJWQgaGludGVyaGVyXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIltiZWhpbmQgJWRdIgogbXNnc3RyICJbJWQgaGludGVyaGVyXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYWhlYWQgJWRdIgogbXNnc3RyICJbJXM6ICVkIHZvcmF1c10iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYxCisjOiBidWlsdGluL2JyYW5jaC5jOjQ2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWRdIgogbXNnc3RyICJbJWQgdm9yYXVzXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIlslczogJWQgdm9yYXVzLCAlZCBoaW50ZXJoZXJdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ2NworIzogYnVpbHRpbi9icmFuY2guYzo0NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2FoZWFkICVkLCBiZWhpbmQgJWRdIgogbXNnc3RyICJbJWQgdm9yYXVzLCAlZCBoaW50ZXJoZXJdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ5MAorIzogYnVpbHRpbi9icmFuY2guYzo0OTYKIG1zZ2lkICIgKioqKiBpbnZhbGlkIHJlZiAqKioqIgogbXNnc3RyICIgKioqKiB1bmfDvGx0aWdlIFJlZmVyZW56ICoqKioiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgyCisjOiBidWlsdGluL2JyYW5jaC5jOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyAlcykiCiBtc2dzdHIgIihrZWluIEJyYW5jaCwgUmViYXNlIHZvbiBCcmFuY2ggJXMgaW0gR2FuZ2UpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4NQorIzogYnVpbHRpbi9icmFuY2guYzo1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgogbXNnc3RyICIoa2VpbiBCcmFuY2gsIGJpbsOkcmUgU3VjaGUgYmVnb25uZW4gYmVpICVzKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIihkZXRhY2hlZCBmcm9tICVzKSIKIG1zZ3N0ciAiKGxvc2dlbMO2c3Qgdm9uICVzKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk3CiBtc2dpZCAiKG5vIGJyYW5jaCkiCiBtc2dzdHIgIihrZWluIEJyYW5jaCkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM3CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGNvbW1pdCIKIG1zZ3N0ciAiT2JqZWt0ICclcycgemVpZ3QgYXVmIGtlaW5lbiBDb21taXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY5CisjOiBidWlsdGluL2JyYW5jaC5jOjY3NQogbXNnaWQgInNvbWUgcmVmcyBjb3VsZCBub3QgYmUgcmVhZCIKIG1zZ3N0ciAiS29ubnRlIGVpbmlnZSBSZWZlcmVuemVuIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MgorIzogYnVpbHRpbi9icmFuY2guYzo2ODgKIG1zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAiIgogIkthbm4gYWt0dWVsbGVuIEJyYW5jaCBuaWNodCB1bWJlbmVubmVuLCBzb2xhbmdlIFNpZSBzaWNoIGF1ZiBrZWluZW0gYmVmaW5kZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY5MgorIzogYnVpbHRpbi9icmFuY2guYzo2OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgQnJhbmNobmFtZTogJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MDcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzEzCiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCiBtc2dzdHIgIlVtYmVuZW5udW5nIGRlcyBCcmFuY2hlcyBmZWhsZ2VzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICJmYWxzY2ggYmVuYW5udGVuIEJyYW5jaCAnJXMnIHVtYmVuYW5udCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgIkJyYW5jaCB1bWJlbmFubnQgenUgJXMsIGFiZXIgSEVBRCBpc3QgbmljaHQgYWt0dWFsaXNpZXJ0ISIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzI4CiBtc2dpZCAiQnJhbmNoIGlzIHJlbmFtZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICIiCiAiQnJhbmNoIGlzdCB1bWJlbmFubnQsIGFiZXIgZGllIEFrdHVhbGlzaWVydW5nIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIGlzdCAiCiAiZmVobGdlc2NobGFnZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjczNworIzogYnVpbHRpbi9icmFuY2guYzo3NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICJNaXNzZ2ViaWxkZXRlciBPYmpla3RuYW1lICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2MQorIzogYnVpbHRpbi9icmFuY2guYzo3NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGJyYW5jaCBkZXNjcmlwdGlvbiB0ZW1wbGF0ZTogJXMiCiBtc2dzdHIgIktvbm50ZSBCZXNjaHJlaWJ1bmdzdm9ybGFnZSBmw7xyIEJyYW5jaCBuaWNodCBzY2hyZWliZW46ICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5MQorIzogYnVpbHRpbi9icmFuY2guYzo3OTcKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCiBtc2dzdHIgIkFsbGdlbWVpbmUgT3B0aW9uZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkzCisjOiBidWlsdGluL2JyYW5jaC5jOjc5OQogbXNnaWQgInNob3cgaGFzaCBhbmQgc3ViamVjdCwgZ2l2ZSB0d2ljZSBmb3IgdXBzdHJlYW0gYnJhbmNoIgogbXNnc3RyICJaZWlndCBIYXNoIHVuZCBCZXRyZWZmOyAtdnY6IHp1c8OkdHpsaWNoIFVwc3RyZWFtLUJyYW5jaCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAwCiBtc2dpZCAic3VwcHJlc3MgaW5mb3JtYXRpb25hbCBtZXNzYWdlcyIKIG1zZ3N0ciAidW50ZXJkcsO8Y2t0IEluZm9ybWF0aW9uc21lbGR1bmdlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAxCiBtc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtcHVsbCgxKSkiCiBtc2dzdHIgInN0ZWxsdCBkZW4gw5xiZXJuYWhtZW1vZHVzIGVpbiAoc2llaGUgZ2l0LXB1bGwoMSkpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NworIzogYnVpbHRpbi9icmFuY2guYzo4MDMKIG1zZ2lkICJjaGFuZ2UgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAiw6RuZGVydCBJbmZvcm1hdGlvbmVuIHp1bSBVcHN0cmVhbS1CcmFuY2giCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAxCisjOiBidWlsdGluL2JyYW5jaC5jOjgwNwogbXNnaWQgInVzZSBjb2xvcmVkIG91dHB1dCIKIG1zZ3N0ciAidmVyd2VuZGV0IGZhcmJsaWNoZSBBdXNnYWJlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA4CiBtc2dpZCAiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAid2lya3QgYXVmIFJlbW90ZS1UcmFja2luZy1CcmFuY2hlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDUgYnVpbHRpbi9icmFuY2guYzo4MTEgYnVpbHRpbi9icmFuY2guYzo4MzIKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM4IGJ1aWx0aW4vY29tbWl0LmM6MTQzMyBidWlsdGluL2NvbW1pdC5jOjE0MzQKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNSBidWlsdGluL2NvbW1pdC5jOjE0MzYgYnVpbHRpbi90YWcuYzo0NjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODExIGJ1aWx0aW4vYnJhbmNoLmM6ODE3IGJ1aWx0aW4vYnJhbmNoLmM6ODM4CisjOiBidWlsdGluL2JyYW5jaC5jOjg0NCBidWlsdGluL2NvbW1pdC5jOjE0NjAgYnVpbHRpbi9jb21taXQuYzoxNDYxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjIgYnVpbHRpbi9jb21taXQuYzoxNDYzIGJ1aWx0aW4vdGFnLmM6NDY4CiBtc2dpZCAiY29tbWl0IgogbXNnc3RyICJDb21taXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA2IGJ1aWx0aW4vYnJhbmNoLmM6ODEyCisjOiBidWlsdGluL2JyYW5jaC5jOjgxMiBidWlsdGluL2JyYW5jaC5jOjgxOAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgImdpYnQgbnVyIEJyYW5jaGVzIGF1cywgd2VsY2hlIGRpZXNlbiBDb21taXQgYmVpbmhhbHRlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI0CiBtc2dpZCAiU3BlY2lmaWMgZ2l0LWJyYW5jaCBhY3Rpb25zOiIKIG1zZ3N0ciAic3BlemlmaXNjaGUgQWt0aW9uZW4gZsO8ciBcImdpdC1icmFuY2hcIjoiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE5CisjOiBidWlsdGluL2JyYW5jaC5jOjgyNQogbXNnaWQgImxpc3QgYm90aCByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICJsaXN0ZXQgUmVtb3RlLVRyYWNraW5nIHVuZCBsb2thbGUgQnJhbmNoZXMgYXVmIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyMQorIzogYnVpbHRpbi9icmFuY2guYzo4MjcKIG1zZ2lkICJkZWxldGUgZnVsbHkgbWVyZ2VkIGJyYW5jaCIKIG1zZ3N0ciAiZW50ZmVybnQgdm9sbHN0w6RuZGlnIHp1c2FtbWVuZ2Vmw7xocnRlbiBCcmFuY2giCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIyCisjOiBidWlsdGluL2JyYW5jaC5jOjgyOAogbXNnaWQgImRlbGV0ZSBicmFuY2ggKGV2ZW4gaWYgbm90IG1lcmdlZCkiCiBtc2dzdHIgImzDtnNjaHQgQnJhbmNoIChhdWNoIHdlbm4gbmljaHQgenVzYW1tZW5nZWbDvGhydCkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIzCisjOiBidWlsdGluL2JyYW5jaC5jOjgyOQogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIgogbXNnc3RyICJ2ZXJzY2hpZWJ0L2JlbmVubnQgZWluZW4gQnJhbmNoIHVuZCBkZXNzZW4gUmVmbG9nIHVtIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyNAorIzogYnVpbHRpbi9icmFuY2guYzo4MzAKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICIiCiAidmVyc2NoaWVidC9iZW5lbm50IGVpbmVuIEJyYW5jaCB1bSwgYXVjaCB3ZW5uIGRhcyBaaWVsIGJlcmVpdHMgZXhpc3RpZXJ0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyNQorIzogYnVpbHRpbi9icmFuY2guYzo4MzEKIG1zZ2lkICJsaXN0IGJyYW5jaCBuYW1lcyIKIG1zZ3N0ciAibGlzdGV0IEJyYW5jaG5hbWVuIGF1ZiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMyCiBtc2dpZCAiY3JlYXRlIHRoZSBicmFuY2gncyByZWZsb2ciCiBtc2dzdHIgImVyemV1Z3QgZGFzIFJlZmxvZyBkZXMgQnJhbmNoZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI4CisjOiBidWlsdGluL2JyYW5jaC5jOjgzNAogbXNnaWQgImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIgogbXNnc3RyICJiZWFyYmVpdGV0IGRpZSBCZXNjaHJlaWJ1bmcgZsO8ciBkZW4gQnJhbmNoIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyOQorIzogYnVpbHRpbi9icmFuY2guYzo4MzUKIG1zZ2lkICJmb3JjZSBjcmVhdGlvbiAod2hlbiBhbHJlYWR5IGV4aXN0cykiCiBtc2dzdHIgImVyemV1Z2UgYXVjaCwgd2VubiBkZXIgQnJhbmNoIGJlcmVpdHMgZXhpc3RpZXJ0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzMgorIzogYnVpbHRpbi9icmFuY2guYzo4MzgKIG1zZ2lkICJwcmludCBvbmx5IG5vdCBtZXJnZWQgYnJhbmNoZXMiCiBtc2dzdHIgImdpYnQgbnVyIEJyYW5jaGVzIGF1cywgZGllIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnQgc2luZCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ0CiBtc2dpZCAicHJpbnQgb25seSBtZXJnZWQgYnJhbmNoZXMiCiBtc2dzdHIgImdpYnQgbnVyIEJyYW5jaGVzIGF1cywgZGllIHp1c2FtbWVuZ2Vmw7xocnQgc2luZCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ4CiBtc2dpZCAibGlzdCBicmFuY2hlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJsaXN0ZXQgQnJhbmNoZXMgaW4gU3BhbHRlbiBhdWYiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODU1CisjOiBidWlsdGluL2JyYW5jaC5jOjg2MQogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJLb25udGUgSEVBRCBuaWNodCBhbHMgZ8O8bHRpZ2UgUmVmZXJlbnogYXVmbMO2c2VuLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NjAgYnVpbHRpbi9jbG9uZS5jOjYzMAorIzogYnVpbHRpbi9icmFuY2guYzo4NjYgYnVpbHRpbi9jbG9uZS5jOjYyOQogbXNnaWQgIkhFQUQgbm90IGZvdW5kIGJlbG93IHJlZnMvaGVhZHMhIgogbXNnc3RyICJIRUFEIHd1cmRlIG5pY2h0IHVudGVyIFwicmVmcy9oZWFkc1wiIGdlZnVuZGVuISIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4ODMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODkwCiBtc2dpZCAiLS1jb2x1bW4gYW5kIC0tdmVyYm9zZSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1jb2x1bW4gdW5kIC0tdmVyYm9zZSBzaW5kIGlua29tcGF0aWJlbC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODg5IGJ1aWx0aW4vYnJhbmNoLmM6OTI4CisjOiBidWlsdGluL2JyYW5jaC5jOjg5NiBidWlsdGluL2JyYW5jaC5jOjkzNQogbXNnaWQgImJyYW5jaCBuYW1lIHJlcXVpcmVkIgogbXNnc3RyICJCcmFuY2huYW1lIGVyZm9yZGVybGljaCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MDQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTExCiBtc2dpZCAiQ2Fubm90IGdpdmUgZGVzY3JpcHRpb24gdG8gZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAienUgbG9zZ2Vsw7ZzdGVtIEhFQUQga2FubiBrZWluZSBCZXNjaHJlaWJ1bmcgaGludGVybGVndCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTA5CisjOiBidWlsdGluL2JyYW5jaC5jOjkxNgogbXNnaWQgImNhbm5vdCBlZGl0IGRlc2NyaXB0aW9uIG9mIG1vcmUgdGhhbiBvbmUgYnJhbmNoIgogbXNnc3RyICJCZXNjaHJlaWJ1bmcgdm9uIG1laHIgYWxzIGVpbmVtIEJyYW5jaCBrYW5uIG5pY2h0IGJlYXJiZWl0ZXQgd2VyZGVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkxNgorIzogYnVpbHRpbi9icmFuY2guYzo5MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gY29tbWl0IG9uIGJyYW5jaCAnJXMnIHlldC4iCiBtc2dzdHIgIk5vY2gga2VpbiBDb21taXQgaW4gQnJhbmNoICclcycuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkxOQorIzogYnVpbHRpbi9icmFuY2guYzo5MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gYnJhbmNoIG5hbWVkICclcycuIgogbXNnc3RyICJCcmFuY2ggJyVzJyBuaWNodCB2b3JoYW5kZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkzNAorIzogYnVpbHRpbi9icmFuY2guYzo5NDEKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyBmb3IgYSByZW5hbWUgb3BlcmF0aW9uIgogbXNnc3RyICJ6dSB2aWVsZSBCcmFuY2hlcyBmw7xyIGVpbmUgVW1iZW5lbm5lbi1PcGVyYXRpb24gYW5nZWdlYmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkzOQorIzogYnVpbHRpbi9icmFuY2guYzo5NDYKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyB0byBzZXQgbmV3IHVwc3RyZWFtIgogbXNnc3RyICJ6dSB2aWVsZSBCcmFuY2hlcyBhbmdlZ2ViZW4gdW0gVXBzdHJlYW0tQnJhbmNoIHp1IHNldHplbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjb3VsZCBub3Qgc2V0IHVwc3RyZWFtIG9mIEhFQUQgdG8gJXMgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKQEAgLTI5NTQsNDMgKzMxMjYsNDMgQEAKICJLb25udGUga2VpbmVuIG5ldWVuIFVwc3RyZWFtLUJyYW5jaCB2b24gSEVBRCB6dSAlcyBzZXR6ZW4sIGRhIGRpZXNlciBhdWZcbiIKICJrZWluZW4gQnJhbmNoIHplaWd0LiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NDYgYnVpbHRpbi9icmFuY2guYzo5NjggYnVpbHRpbi9icmFuY2guYzo5OTAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTUzIGJ1aWx0aW4vYnJhbmNoLmM6OTc1IGJ1aWx0aW4vYnJhbmNoLmM6OTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoICclcyciCiBtc2dzdHIgIktlaW4gc29sY2hlciBCcmFuY2ggJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NTAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJCcmFuY2ggJyVzJyBleGlzdGllcnQgbmljaHQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTYyCisjOiBidWlsdGluL2JyYW5jaC5jOjk2OQogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHVuc2V0IHVwc3RyZWFtIgogbXNnc3RyICIiCiAienUgdmllbGUgQnJhbmNoZXMgYW5nZWdlYmVuIHVtIEtvbmZpZ3VyYXRpb24genUgVXBzdHJlYW0tQnJhbmNoIHp1IGVudGZlcm5lbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTczCiBtc2dpZCAiY291bGQgbm90IHVuc2V0IHVwc3RyZWFtIG9mIEhFQUQgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiIgogIktvbm50ZSBLb25maWd1cmF0aW9uIHp1IFVwc3RyZWFtLUJyYW5jaCB2b24gSEVBRCBuaWNodCBlbnRmZXJuZW4sIGRhIGRpZXNlclxuIgogImF1ZiBrZWluZW4gQnJhbmNoIHplaWd0LiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NzIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIGhhcyBubyB1cHN0cmVhbSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiQnJhbmNoICclcycgaGF0IGtlaW5lbiBVcHN0cmVhbS1CcmFuY2ggZ2VzZXR6dCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5ODcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTk0CiBtc2dpZCAiaXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBjcmVhdGUgJ0hFQUQnIG1hbnVhbGx5IgogbXNnc3RyICInSEVBRCcgZGFyZiBuaWNodCBtYW51ZWxsIGVyc3RlbGx0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5OTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAwMAogbXNnaWQgIi1hIGFuZCAtciBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgbWFrZSBzZW5zZSB3aXRoIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uZW4gLWEgdW5kIC1yIGJlaSAnZ2l0IGJyYW5jaCcga8O2bm5lbiBuaWNodCBnZW1laW1zYW0gbWl0IGVpbmVtICIKICJCcmFuY2huYW1lbiB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5OTYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC0tc2V0LXVwc3RyZWFtIGZsYWcgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBDb25zaWRlciB1c2luZyAtLSIKQEAgLTI5OTksNyArMzE3MSw3IEBACiAiRGllIC0tc2V0LXVwc3RyZWFtIE9wdGlvbiBpc3QgdmVyYWx0ZXQgdW5kIHdpcmQgZW50ZmVybnQuIEJlbnV0emVuIFNpZSAtLSIKICJ0cmFjayBvZGVyIC0tc2V0LXVwc3RyZWFtLXRvXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAxMworIzogYnVpbHRpbi9icmFuY2guYzoxMDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTMwMTAsMTIgKzMxODIsMTIgQEAKICJXZW5uIFNpZSB3b2xsdGVuLCBkYXNzICclcycgZGVuIEJyYW5jaCAnJXMnIGFscyBVcHN0cmVhbS1CcmFuY2ggaGF0LCBmw7xocmVuICIKICJTaWUgYXVzOlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjEwMTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgZ2l0IGJyYW5jaCAtZCAlc1xuIgogbXNnc3RyICIgICAgZ2l0IGJyYW5jaCAtZCAlc1xuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjEwMTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byAlc1xuIgogbXNnc3RyICIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byAlc1xuIgpAQCAtMzAzMyw0NSArMzIwNSw0NSBAQAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAiWnVtIEVudHBhY2tlbiB3aXJkIGVpbiBSZXBvc2l0b3J5IGJlbsO2dGlndC4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzoyODUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMTIKIG1zZ2lkICJnaXQgY2F0LWZpbGUgKC10fC1zfC1lfC1wfDx0eXBlPnwtLXRleHRjb252KSA8b2JqZWN0PiIKIG1zZ3N0ciAiZ2l0IGNhdC1maWxlICgtdHwtc3wtZXwtcHw8QXJ0PnwtLXRleHRjb252KSA8T2JqZWt0PiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjI4NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMxMwogbXNnaWQgImdpdCBjYXQtZmlsZSAoLS1iYXRjaHwtLWJhdGNoLWNoZWNrKSA8IDxsaXN0X29mX29iamVjdHM+IgogbXNnc3RyICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2h8LS1iYXRjaC1jaGVjaykgPCA8TGlzdGVfdm9uX09iamVrdGVuPiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyMworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM1MAogbXNnaWQgIjx0eXBlPiBjYW4gYmUgb25lIG9mOiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKIG1zZ3N0ciAiPEFydD4ga2FubiBzZWluOiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyNAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM1MQogbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCiBtc2dzdHIgInplaWd0IE9iamVrdGFydCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyNQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM1MgogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgInplaWd0IE9iamVrdGdyw7bDn2UiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNTQKIG1zZ2lkICJleGl0IHdpdGggemVybyB3aGVuIHRoZXJlJ3Mgbm8gZXJyb3IiCiBtc2dzdHIgImJlZW5kZXQgbWl0IFLDvGNrZ2FiZXdlcnQgMCwgd2VubiBrZWluIEZlaGxlciBhdWZnZXRyZXRlbiBpc3QiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNTUKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiYW5zcHJlY2hlbmRlIEFuemVpZ2UgZGVzIE9iamVrdGluaGFsdGVzIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzMwCisjOiBidWlsdGluL2NhdC1maWxlLmM6MzU3CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgImbDvGhydCBlaW5lIFRleHRrb252ZXJ0aWVydW5nIGF1ZiBkZW4gSW5oYWx0IHZvbiBCbG9iLU9iamVrdGVuIGF1cyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMzMgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM1OQogbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogIkFuemVpZ2Ugdm9uIEluZm9ybWF0aW9uZW4gdW5kIEluaGFsdCB2b24gT2JqZWt0ZW4sIGdlbGVzZW4gdm9uIGRlciBTdGFuZGFyZC0iCiAiRWluZ2FiZSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMzNQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM2MgogbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogIkFuemVpZ2Ugdm9uIEluZm9ybWF0aW9uZW4gw7xiZXIgT2JqZWt0ZSwgZ2VsZXNlbiB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUiCkBAIC0zMDk4LDEwICszMjcwLDEwIEBACiBtc2dzdHIgImxpZXN0IERhdGVpbmFtZW4gdm9uIGRlciBTdGFuZGFyZC1FaW5nYWJlIgogCiAjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI0Ci1tc2dpZCAiaW5wdXQgcGF0aHMgYXJlIHRlcm1pbmF0ZWQgYnkgYSBudWxsIGNoYXJhY3RlciIKLW1zZ3N0ciAiRWluZ2FiZXBmYWRlIHNpbmQgZHVyY2ggZWluIE5VTCBaZWljaGVuIGFiZ2VzY2hsb3NzZW4iCittc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgInNjaGxpZcOfdCBFaW50csOkZ2Ugdm9uIEVpbi0gdW5kIEF1c2dhYmUgbWl0IE5VTC1aZWljaGVuIGFiIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU0IGJ1aWx0aW4vZ2MuYzoxNzcKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjEwOTAgYnVpbHRpbi9nYy5jOjI1OQogbXNnaWQgInN1cHByZXNzIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAidW50ZXJkcsO8Y2t0IEZvcnRzY2hyaXR0c2FuemVpZ2UiCiAKQEAgLTMxMDksMjggKzMyODEsMzIgQEAKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBpbnB1dCBwYXRocyIKIG1zZ3N0ciAiemVpZ3QgRWluZ2FiZS1QZmFkZSBvaG5lIMOcYmVyZWluc3RpbW11bmdlbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNDMKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjgKK21zZ2lkICJpZ25vcmUgaW5kZXggd2hlbiBjaGVja2luZyIKK21zZ3N0ciAiaWdub3JpZXJ0IFN0YWdpbmctQXJlYSBiZWkgZGVyIFByw7xmdW5nIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NAogbXNnaWQgImNhbm5vdCBzcGVjaWZ5IHBhdGhuYW1lcyB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIkFuZ2FiZSB2b24gUGZhZG5hbWVuIGthbm4gbmljaHQgZ2VtZWluc2FtIG1pdCAtLXN0ZGluIHZlcndlbmRldCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTQ2CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NwogbXNnaWQgIi16IG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCAtLXN0ZGluIgogbXNnc3RyICJEaWUgT3B0aW9uIC16IGthbm4gbnVyIG1pdCAtLXN0ZGluIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE0OAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTkKIG1zZ2lkICJubyBwYXRoIHNwZWNpZmllZCIKIG1zZ3N0ciAia2VpbiBQZmFkIGFuZ2VnZWJlbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTIKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYzCiBtc2dpZCAiLS1xdWlldCBpcyBvbmx5IHZhbGlkIHdpdGggYSBzaW5nbGUgcGF0aG5hbWUiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1xdWlldCBpc3QgbnVyIG1pdCBlaW5lbSBlaW56ZWxuZW4gUGZhZG5hbWVuIGfDvGx0aWcuIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjUKIG1zZ2lkICJjYW5ub3QgaGF2ZSBib3RoIC0tcXVpZXQgYW5kIC0tdmVyYm9zZSIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb25lbiAtLXF1aWV0IHVuZCAtLXZlcmJvc2Uga8O2bm5lbiBuaWNodCBnZW1laW5zYW0gdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU3CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2OAogbXNnaWQgIi0tbm9uLW1hdGNoaW5nIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXZlcmJvc2UiCiBtc2dzdHIgIi0tbm9uLW1hdGNoaW5nIGlzdCBudXIgbWl0IC0tdmVyYm9zZSB6dWzDpHNzaWciCiAKQEAgLTMyMDYsMTA3ICszMzgyLDEwNyBAQAogbXNnaWQgImdpdCBjaGVja291dCBbb3B0aW9uc10gWzxicmFuY2g+XSAtLSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVja291dCBbT3B0aW9uZW5dIFs8QnJhbmNoPl0gLS0gPERhdGVpPi4uLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNyBidWlsdGluL2NoZWNrb3V0LmM6MTUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCiBtc2dzdHIgIlBmYWQgJyVzJyBoYXQgbmljaHQgdW5zZXJlIFZlcnNpb24uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYgYnVpbHRpbi9jaGVja291dC5jOjE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSB0aGVpciB2ZXJzaW9uIgogbXNnc3RyICJQZmFkICclcycgaGF0IG5pY2h0IGRlcmVuIFZlcnNpb24uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIGFsbCBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgIlBmYWQgJyVzJyBoYXQgbmljaHQgYWxsZSBub3R3ZW5kaWdlbiBWZXJzaW9uZW4uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTc5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAiUGZhZCAnJXMnIGhhdCBuaWNodCBkaWUgbm90d2VuZGlnZW4gVmVyc2lvbmVuLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE5NgorIzogYnVpbHRpbi9jaGVja291dC5jOjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcyc6IGNhbm5vdCBtZXJnZSIKIG1zZ3N0ciAiUGZhZCAnJXMnOiBrYW5uIG5pY2h0IHp1c2FtbWVuZsO8aHJlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIxMworIzogYnVpbHRpbi9jaGVja291dC5jOjIxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIE1lcmdlLUVyZ2VibmlzIHZvbiAnJXMnIG5pY2h0IGhpbnp1ZsO8Z2VuLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIzNyBidWlsdGluL2NoZWNrb3V0LmM6MjQwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDMKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzIgYnVpbHRpbi9jaGVja291dC5jOjIzNSBidWlsdGluL2NoZWNrb3V0LmM6MjM4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAiJyVzJyBrYW5uIG5pY2h0IG1pdCBQZmFkZW4gdmVyd2VuZGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI0OSBidWlsdGluL2NoZWNrb3V0LmM6MjUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjQ0IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICInJXMnIGthbm4gbmljaHQgbWl0ICclcycgdmVyd2VuZGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1NQorIzogYnVpbHRpbi9jaGVja291dC5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS4iCiBtc2dzdHIgIiIKICJLYW5uIG5pY2h0IGdsZWljaHplaXRpZyBQZmFkZSBha3R1YWxpc2llcmVuIHVuZCB6dSBCcmFuY2ggJyVzJyB3ZWNoc2VsbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2NiBidWlsdGluL2NoZWNrb3V0LmM6NDU4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYxIGJ1aWx0aW4vY2hlY2tvdXQuYzo0NTEKIG1zZ2lkICJjb3JydXB0IGluZGV4IGZpbGUiCiBtc2dzdHIgImJlc2Now6RkaWd0ZSBTdGFnaW5nLUFyZWEtRGF0ZWkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMjkgYnVpbHRpbi9jaGVja291dC5jOjMzNgorIzogYnVpbHRpbi9jaGVja291dC5jOjMyMiBidWlsdGluL2NoZWNrb3V0LmM6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBpcyB1bm1lcmdlZCIKIG1zZ3N0ciAiUGZhZCAnJXMnIGlzdCBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0LiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjQ4MAorIzogYnVpbHRpbi9jaGVja291dC5jOjQ3MwogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICJTaWUgbcO8c3NlbiB6dWVyc3QgSWhyZSBha3R1ZWxsZSBTdGFnaW5nLUFyZWEgYXVmbMO2c2VuLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYwMQorIzogYnVpbHRpbi9jaGVja291dC5jOjU5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJ1xuIgogbXNnc3RyICJLb25udGUgXCJyZWZsb2dcIiBmw7xyICclcycgbmljaHQgZHVyY2hmw7xocmVuXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MzIKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCIKIG1zZ3N0ciAiSEVBRCBpc3QgamV0enQgYmVpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlNldHplIEJyYW5jaCAnJXMnIG5ldVxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICJCZXJlaXRzIGF1ZiAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYW5kIHJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIkdld2VjaHNlbHQgenUgdW1nZXNldHp0ZW4gQnJhbmNoICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY1NSBidWlsdGluL2NoZWNrb3V0LmM6OTk3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIkdld2VjaHNlbHQgenUgZWluZW0gbmV1ZW0gQnJhbmNoICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY1NworIzogYnVpbHRpbi9jaGVja291dC5jOjY1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJHZXdlY2hzZWx0IHp1IEJyYW5jaCAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIC4uLiB1bmQgJWQgd2VpdGVyZS5cbiIKIAogIy4gVGhlIHNpbmd1bGFyIHZlcnNpb24KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MTkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXQgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCkBAIC0zMzI5LDcgKzM1MDUsNyBAQAogIlxuIgogIiVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIGtlZXAgdGhlbSBieSBjcmVhdGluZyBhIG5ldyBicmFuY2gsIHRoaXMgbWF5IGJlIGEgZ29vZCB0aW1lXG4iCkBAIC0zMzQ0LDEzNiArMzUyMCwxNDAgQEAKICIgZ2l0IGJyYW5jaCBuZXVlcl9icmFuY2hfbmFtZSAlc1xuIgogIlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzYwCiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IgaW4gcmV2aXNpb24gd2FsayIKIG1zZ3N0ciAiaW50ZXJuZXIgRmVobGVyIGltIFJldmlzaW9uc2dhbmciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjQKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAiVm9yaGVyaWdlIFBvc2l0aW9uIHZvbiBIRUFEIHdhciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5OCBidWlsdGluL2NoZWNrb3V0LmM6OTkyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzkxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDI4CiBtc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAiU2llIHNpbmQgYXVmIGVpbmVtIEJyYW5jaCwgZGVyIG5vY2ggZ2Vib3JlbiB3aXJkIgogCi0jLiBjYXNlICgxKQotIzogYnVpbHRpbi9jaGVja291dC5jOjkyOAorIzogYnVpbHRpbi9jaGVja291dC5jOjkzNQorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQsICVkIGdpdmVuLiIKK21zZ3N0ciAibnVyIGVpbmUgUmVmZXJlbnogZXJ3YXJ0ZXQsICVkIGdlZ2ViZW4uIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBSZWZlcmVuejogJXMiCiAKICMuIGNhc2UgKDEpOiB3YW50IGEgdHJlZQotIzogYnVpbHRpbi9jaGVja291dC5jOjk2NworIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICJSZWZlcmVueiBpc3Qga2VpbiBcIlRyZWVcIi1PYmpla3Q6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwNgorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNDIKIG1zZ2lkICJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiUGZhZGUga8O2bm5lbiBuaWNodCBiZWltIFdlY2hzZWxuIHZvbiBCcmFuY2hlcyB2ZXJ3ZW5kZXQgd2VyZGVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwOSBidWlsdGluL2NoZWNrb3V0LmM6MTAxMworIzogYnVpbHRpbi9jaGVja291dC5jOjEwNDUgYnVpbHRpbi9jaGVja291dC5jOjEwNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiJyVzJyBrYW5uIG5pY2h0IGJlaW0gV2VjaHNlbG4gdm9uIEJyYW5jaGVzIHZlcndlbmRldCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDE3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDIwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDI1Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAyOAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTMgYnVpbHRpbi9jaGVja291dC5jOjEwNTYgYnVpbHRpbi9jaGVja291dC5jOjEwNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICInJXMnIGthbm4gbmljaHQgbWl0ICclcycgdmVyd2VuZGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMzMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICJLYW5uIEJyYW5jaCBuaWNodCB6dSBOaWNodC1Db21taXQgJyVzJyB3ZWNoc2VsbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTUgYnVpbHRpbi9jaGVja291dC5jOjEwNTcgYnVpbHRpbi9jbG9uZS5jOjg5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5MSBidWlsdGluL2NoZWNrb3V0LmM6MTA5MyBidWlsdGluL2Nsb25lLmM6ODgKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY5IGJ1aWx0aW4vcmVtb3RlLmM6MTcxCiBtc2dpZCAiYnJhbmNoIgogbXNnc3RyICJCcmFuY2giCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5MgogbXNnaWQgImNyZWF0ZSBhbmQgY2hlY2tvdXQgYSBuZXcgYnJhbmNoIgogbXNnc3RyICJlcnpldWd0IHVuZCBjaGVja3QgZWluZW4gbmV1ZW4gQnJhbmNoIGF1cyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk0CiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAiZXJ6ZXVndC9zZXR6dCB1bSB1bmQgY2hlY2t0IGVpbmVuIEJyYW5jaCBhdXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NQogbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgImVyemV1Z3QgZGFzIFJlZmxvZyBmw7xyIGRlbiBuZXVlbiBCcmFuY2giCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NgogbXNnaWQgImRldGFjaCB0aGUgSEVBRCBhdCBuYW1lZCBjb21taXQiCiBtc2dzdHIgInNldHp0IEhFQUQgenUgYmVuYW5udGVtIENvbW1pdCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk3CiBtc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgInNldHp0IEluZm9ybWF0aW9uZW4genVtIFVwc3RyZWFtLUJyYW5jaCBmw7xyIGRlbiBuZXVlbiBCcmFuY2giCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5OQogbXNnaWQgIm5ldyBicmFuY2giCiBtc2dzdHIgIm5ldWVyIEJyYW5jaCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk5CiBtc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgogbXNnc3RyICJuZXVlciBCcmFuY2ggb2huZSBFbHRlcm4tQ29tbWl0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NAorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDAKIG1zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgImNoZWNrdCB1bnNlcmUgVmFyaWFudGUgZsO8ciBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBEYXRlaWVuIGF1cyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAyCiBtc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgImNoZWNrdCBpaHJlIFZhcmlhbnRlIGbDvHIgbmljaHQgenVzYW1tZW5nZWbDvGhydGUgRGF0ZWllbiBhdXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNAogbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgogbXNnc3RyICJlcnp3aW5ndCBBdXNjaGVja2VuICh2ZXJ3aXJmdCBsb2thbGUgw4RuZGVydW5nZW4pIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDUKIG1zZ2lkICJwZXJmb3JtIGEgMy13YXkgbWVyZ2Ugd2l0aCB0aGUgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiZsO8aHJ0IGVpbmVuIDMtV2VnZS1NZXJnZSBtaXQgZGVtIG5ldWVuIEJyYW5jaCBhdXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDcwIGJ1aWx0aW4vbWVyZ2UuYzoyMzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA2IGJ1aWx0aW4vbWVyZ2UuYzoyMzIKIG1zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCiBtc2dzdHIgImFrdHVhbGlzaWVydCBpZ25vcmllcnRlIERhdGVpZW4gKFN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzEgYnVpbHRpbi9sb2cuYzoxMjA4IHBhcnNlLW9wdGlvbnMuaDoyNDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA3IGJ1aWx0aW4vbG9nLmM6MTIyOCBwYXJzZS1vcHRpb25zLmg6MjUxCiBtc2dpZCAic3R5bGUiCiBtc2dzdHIgIlN0aWwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDcyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwOAogbXNnaWQgImNvbmZsaWN0IHN0eWxlIChtZXJnZSBvciBkaWZmMykiCiBtc2dzdHIgIktvbmZsaWt0c3RpbCAobWVyZ2Ugb2RlciBkaWZmMykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTExMQogbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKIG1zZ3N0ciAiUGZhZHNwZXppZmlrYXRpb25lbiBpZ25vcmllcmVuIEVpbnN0ZWxsdW5nZW4genVtIHBhcnRpZWxsZW4gQXVzY2hlY2tlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTEzCiBtc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgbm8tc3VjaC1icmFuY2gnIgogbXNnc3RyICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCBuby1zdWNoLWJyYW5jaCciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNgogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC1iLCAtQiB1bmQgLS1vcnBoYW4gc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1cy4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTE4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MwogbXNnaWQgIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiQmVpIGRlciBPcHRpb24gLS10cmFjayBtdXNzIGVpbiBCcmFuY2huYW1lIGFuZ2VnZWJlbiB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEyNQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKIG1zZ2lkICJNaXNzaW5nIGJyYW5jaCBuYW1lOyB0cnkgLWIiCiBtc2dzdHIgIlZlcm1pc3NlIEJyYW5jaG5hbWVuOyB2ZXJzdWNoZW4gU2llIC1iIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExOTcKIG1zZ2lkICJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAidW5nw7xsdGlnZSBQZmFkc3BlemlmaWthdGlvbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS5cbiIKQEAgLTM0ODMsMTIgKzM2NjMsMTIgQEAKICJIYWJlbiBTaWUgYmVhYnNpY2h0aWd0ICclcycgYXVzenVjaGVja2VuLCB3ZWxjaGVyIG5pY2h0IGFscyBDb21taXQgYXVmZ2Vsw7ZzdCAiCiAid2VyZGVuIGthbm4/IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3MgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBkb2VzIG5vdCB0YWtlIGEgcGF0aCBhcmd1bWVudCAnJXMnIgogbXNnc3RyICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIG5pbW10IGtlaW4gUGZhZC1Bcmd1bWVudCAnJXMnIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3NgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTMKIG1zZ2lkICIiCiAiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2UgYW5kIC0tbWVyZ2UgYXJlIGluY29tcGF0aWJsZSB3aGVuXG4iCiAiY2hlY2tpbmcgb3V0IG9mIHRoZSBpbmRleC4iCkBAIC0zNDk2LDM4ICszNjc2LDM4IEBACiAiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2UgdW5kIC0tbWVyZ2Ugc2luZCBpbmtvbXBhdGliZWwgd2VublxuIgogIlNpZSBhdXMgZGVyIFN0YWdpbmctQXJlYSBhdXNjaGVja2VuLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI1CisjOiBidWlsdGluL2NsZWFuLmM6MjYKIG1zZ2lkICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPHBhdHRlcm4+XSBbLXggfCAtWF0gWy0tXSA8cGF0aHM+Li4uIgogbXNnc3RyICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPE11c3Rlcj5dIFsteCB8IC1YXSBbLS1dIDxQZmFkZT4uLi4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOQorIzogYnVpbHRpbi9jbGVhbi5jOjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzXG4iCiBtc2dzdHIgIkzDtnNjaGUgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMwCisjOiBidWlsdGluL2NsZWFuLmM6MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgcmVtb3ZlICVzXG4iCiBtc2dzdHIgIlfDvHJkZSAlcyBsw7ZzY2hlblxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzEKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMgogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIsOcYmVyc3ByaW5nZSBSZXBvc2l0b3J5ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMgorIzogYnVpbHRpbi9jbGVhbi5jOjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHNraXAgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICJXw7xyZGUgUmVwb3NpdG9yeSAlcyDDvGJlcnNwcmluZ2VuXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMworIzogYnVpbHRpbi9jbGVhbi5jOjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIEzDtnNjaGVuIHZvbiAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5MworIzogYnVpbHRpbi9jbGVhbi5jOjI5NAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKICIxICAgICAgICAgIC0gc2VsZWN0IGEgbnVtYmVyZWQgaXRlbVxuIgpAQCAtMzUzNiwxMCArMzcxNiwxMCBAQAogbXNnc3RyICIiCiAiRWluZ2FiZWhpbGZlOlxuIgogIjEgICAgICAgICAgLSBudW1tZXJpZXJ0ZXMgRWxlbWVudCBhdXN3w6RobGVuXG4iCi0iZm9vICAgICAgICAtIEVsZW1lbnQgYW5oYW5kIGVpbmVzIGVpbmRldXRpZ2VuIFByZWZpeCBhdXN3w6RobGVuXG4iCisiZm9vICAgICAgICAtIEVsZW1lbnQgYW5oYW5kIGVpbmVzIGVpbmRldXRpZ2VuIFByw6RmaXggYXVzd8OkaGxlblxuIgogIiAgICAgICAgICAgLSAobGVlcikgbmljaHRzIGF1c3fDpGhsZW4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTcKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyOTgKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCiAiMSAgICAgICAgICAtIHNlbGVjdCBhIHNpbmdsZSBpdGVtXG4iCkBAIC0zNTU0LDQwICszNzM0LDQwIEBACiAiMSAgICAgICAgICAtIGVpbnplbG5lcyBFbGVtZW50IGF1c3fDpGhsZW5cbiIKICIzLTUgICAgICAgIC0gQmVyZWljaCB2b24gRWxlbWVudGVuIGF1c3fDpGhsZW5cbiIKICIyLTMsNi05ICAgIC0gbWVocmVyZSBCZXJlaWNoZSBhdXN3w6RobGVuXG4iCi0iZm9vICAgICAgICAtIEVsZW1lbnQgYW5oYW5kIGVpbmVzIGVpbmRldXRpZ2VuIFByZWZpeCBhdXN3w6RobGVuXG4iCisiZm9vICAgICAgICAtIEVsZW1lbnQgYW5oYW5kIGVpbmVzIGVpbmRldXRpZ2VuIFByw6RmaXggYXVzd8OkaGxlblxuIgogIi0uLi4gICAgICAgLSBhbmdlZ2ViZW5lcyBFbGVtZW50IGFid8OkaGxlblxuIgogIiogICAgICAgICAgLSBhbGxlIEVsZW1lbnRlIGF1c3fDpGhsZW5cbiIKICIgICAgICAgICAgIC0gKGxlZXIpIEF1c3dhaGwgYmVlbmRlbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjUxNQorIzogYnVpbHRpbi9jbGVhbi5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJIdWggKCVzKT8iCiBtc2dzdHIgIldpZSBiaXR0ZSAoJXMpPyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY1OAorIzogYnVpbHRpbi9jbGVhbi5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCiBtc2dzdHIgIklnbm9yaWVyLU11c3RlciBlaW5nZWJlbj4+ICIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY5NQorIzogYnVpbHRpbi9jbGVhbi5jOjY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJXQVJOSU5HOiBDYW5ub3QgZmluZCBpdGVtcyBtYXRjaGVkIGJ5OiAlcyIKIG1zZ3N0ciAiV0FSTlVORzogS2FubiBrZWluZSBFaW50csOkZ2UgZmluZGVuIGRpZSBNdXN0ZXIgZW50c3ByZWNoZW46ICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzE2CisjOiBidWlsdGluL2NsZWFuLmM6NzE3CiBtc2dpZCAiU2VsZWN0IGl0ZW1zIHRvIGRlbGV0ZSIKIG1zZ3N0ciAiV8OkaGxlbiBTaWUgRWludHLDpGdlIHp1bSBMw7ZzY2hlbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjc1NgorIzogYnVpbHRpbi9jbGVhbi5jOjc1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdmUgJXM/ICIKIG1zZ3N0ciAiJyVzJyBsw7ZzY2hlbj8gIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzgxCisjOiBidWlsdGluL2NsZWFuLmM6NzgyCiBtc2dpZCAiQnllLiIKIG1zZ3N0ciAiVHNjaMO8c3MuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Nzg5CisjOiBidWlsdGluL2NsZWFuLmM6NzkwCiBtc2dpZCAiIgogImNsZWFuICAgICAgICAgICAgICAgLSBzdGFydCBjbGVhbmluZ1xuIgogImZpbHRlciBieSBwYXR0ZXJuICAgLSBleGNsdWRlIGl0ZW1zIGZyb20gZGVsZXRpb25cbiIKQEAgLTM2MDUsMjEgKzM3ODUsMjEgQEAKICJoZWxwICAgICAgICAgICAgICAgIC0gZGllc2UgTWVsZHVuZyBhbnplaWdlblxuIgogIj8gICAgICAgICAgICAgICAgICAgLSBIaWxmZSB6dXIgQXVzd2FobCBtaXR0ZWxzIEVpbmdhYmUgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MTcKIG1zZ2lkICIqKiogQ29tbWFuZHMgKioqIgogbXNnc3RyICIqKiogS29tbWFuZG9zICoqKiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxNworIzogYnVpbHRpbi9jbGVhbi5jOjgxOAogbXNnaWQgIldoYXQgbm93IgogbXNnc3RyICJXYXMgbnVuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODI1CisjOiBidWlsdGluL2NsZWFuLmM6ODI2CiBtc2dpZCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbToiCiBtc2dpZF9wbHVyYWwgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW1zOiIKIG1zZ3N0clswXSAiV8O8cmRlIGRhcyBmb2xnZW5kZSBFbGVtZW50IGVudGZlcm5lbjoiCiBtc2dzdHJbMV0gIlfDvHJkZSBkaWUgZm9sZ2VuZGVuIEVsZW1lbnRlIGVudGZlcm5lbjoiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NDIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NDMKIG1zZ2lkICJObyBtb3JlIGZpbGVzIHRvIGNsZWFuLCBleGl0aW5nLiIKIG1zZ3N0ciAiS2VpbmUgRGF0ZWllbiBtZWhyIHp1bSBMw7ZzY2hlbiwgYmVlbmRlLiIKIApAQCAtMzYzOSw4ICszODE5LDggQEAKIG1zZ2lkICJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImzDtnNjaHQgZ2FuemUgVmVyemVpY2huaXNzZSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg4MCBidWlsdGluL2Rlc2NyaWJlLmM6NDIwIGJ1aWx0aW4vZ3JlcC5jOjcxNgotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MyBidWlsdGluL25hbWUtcmV2LmM6MzE1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4ODAgYnVpbHRpbi9kZXNjcmliZS5jOjQyMCBidWlsdGluL2dyZXAuYzo3MTgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODMgYnVpbHRpbi9uYW1lLXJldi5jOjMxNSBidWlsdGluL3Nob3ctcmVmLmM6MTg1CiBtc2dpZCAicGF0dGVybiIKIG1zZ3N0ciAiTXVzdGVyIgogCkBAIC0zNjgwLDggKzM4NjAsOCBAQAogbXNnaWQgImdpdCBjbG9uZSBbb3B0aW9uc10gWy0tXSA8cmVwbz4gWzxkaXI+XSIKIG1zZ3N0ciAiZ2l0IGNsb25lIFtPcHRpb25lbl0gWy0tXSA8UmVwb3NpdG9yeT4gWzxWZXJ6ZWljaG5pcz5dIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjQgYnVpbHRpbi9mZXRjaC5jOjgyIGJ1aWx0aW4vbWVyZ2UuYzoyMjkKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2MgorIzogYnVpbHRpbi9jbG9uZS5jOjY0IGJ1aWx0aW4vZmV0Y2guYzo5NiBidWlsdGluL21lcmdlLmM6MjI5CisjOiBidWlsdGluL3B1c2guYzo0NzQKIG1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgImVyendpbmd0IEZvcnRzY2hyaXR0c2FuemVpZ2UiCiAKQEAgLTM2OTMsMTIzICszODczLDEyMyBAQAogbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiZXJzdGVsbHQgZWluIEJhcmUtUmVwb3NpdG9yeSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcyCisjOiBidWlsdGluL2Nsb25lLmM6NzEKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAiZXJzdGVsbHQgZWluIFNwaWVnZWxhcmNoaXYgKGltcGxpemllcnQgLS1iYXJlKSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc0CisjOiBidWlsdGluL2Nsb25lLmM6NzMKIG1zZ2lkICJ0byBjbG9uZSBmcm9tIGEgbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAidW0gdm9uIGVpbmVtIGxva2FsZW4gUmVwb3NpdG9yeSB6dSBrbG9uZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NgorIzogYnVpbHRpbi9jbG9uZS5jOjc1CiBtc2dpZCAiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiCiBtc2dzdHIgInZlcndlbmRldCBsb2thbCBrZWluZSBoYXJ0ZW4gVmVyd2Vpc2UsIGltbWVyIEtvcGllbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc4CisjOiBidWlsdGluL2Nsb25lLmM6NzcKIG1zZ2lkICJzZXR1cCBhcyBzaGFyZWQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiRWlucmljaHR1bmcgYWxzIHZlcnRlaWx0ZXMgUmVwb3NpdG9yeSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgwIGJ1aWx0aW4vY2xvbmUuYzo4MgorIzogYnVpbHRpbi9jbG9uZS5jOjc5IGJ1aWx0aW4vY2xvbmUuYzo4MQogbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCiBtc2dzdHIgImluaXRpYWxpc2llcnQgU3VibW9kdWxlIGltIEtsb24iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MyBidWlsdGluL2luaXQtZGIuYzo0ODUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MiBidWlsdGluL2luaXQtZGIuYzo0ODUKIG1zZ2lkICJ0ZW1wbGF0ZS1kaXJlY3RvcnkiCiBtc2dzdHIgIlZvcmxhZ2VudmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NCBidWlsdGluL2luaXQtZGIuYzo0ODYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MyBidWlsdGluL2luaXQtZGIuYzo0ODYKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICJWZXJ6ZWljaG5pcywgdm9uIHdlbGNoZW0gZGllIFZvcmxhZ2VuIHZlcndlbmRldCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NgorIzogYnVpbHRpbi9jbG9uZS5jOjg1CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkiCiBtc2dzdHIgInJlZmVyZW56aWVydCBSZXBvc2l0b3J5IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcgYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAorIzogYnVpbHRpbi9jbG9uZS5jOjg2IGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKIG1zZ2lkICJuYW1lIgogbXNnc3RyICJOYW1lIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NwogbXNnaWQgInVzZSA8bmFtZT4gaW5zdGVhZCBvZiAnb3JpZ2luJyB0byB0cmFjayB1cHN0cmVhbSIKIG1zZ3N0ciAidmVyd2VuZGV0IDxOYW1lPiBzdGF0dCAnb3JpZ2luJyBmw7xyIFVwc3RyZWFtLVJlcG9zaXRvcnkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MAorIzogYnVpbHRpbi9jbG9uZS5jOjg5CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKIG1zZ3N0ciAiY2hlY2t0IDxCcmFuY2g+IGF1cywgYW5zdGF0dCBIRUFEIGRlcyBSZW1vdGUtUmVwb3NpdG9yaWVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MQogbXNnaWQgInBhdGggdG8gZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUiCiBtc2dzdHIgIlBmYWQgenUgXCJnaXQtdXBsb2FkLXBhY2tcIiBhdWYgZGVyIEdlZ2Vuc2VpdGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MyBidWlsdGluL2ZldGNoLmM6ODMgYnVpbHRpbi9ncmVwLmM6NjYxCisjOiBidWlsdGluL2Nsb25lLmM6OTIgYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vZ3JlcC5jOjY2MwogbXNnaWQgImRlcHRoIgogbXNnc3RyICJUaWVmZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0CisjOiBidWlsdGluL2Nsb25lLmM6OTMKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIG9mIHRoYXQgZGVwdGgiCiBtc2dzdHIgImVyc3RlbGx0IGVpbmVuIGZsYWNoZW4gS2xvbiBtaXQgZGllc2VyIFRpZWZlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NQogbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKIG1zZ3N0ciAia2xvbnQgbnVyIGVpbmVuIEJyYW5jaCwgSEVBRCBvZGVyIC0tYnJhbmNoIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcgYnVpbHRpbi9pbml0LWRiLmM6NDk0CisjOiBidWlsdGluL2Nsb25lLmM6OTYgYnVpbHRpbi9pbml0LWRiLmM6NDk0CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICIuZ2l0LVZlcnplaWNobmlzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTggYnVpbHRpbi9pbml0LWRiLmM6NDk1CisjOiBidWlsdGluL2Nsb25lLmM6OTcgYnVpbHRpbi9pbml0LWRiLmM6NDk1CiBtc2dpZCAic2VwYXJhdGUgZ2l0IGRpciBmcm9tIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAic2VwYXJpZXJ0IEdpdC1WZXJ6ZWljaG5pcyB2b20gQXJiZWl0c3ZlcnplaWNobmlzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OAogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAiU2NobMO8c3NlbD1XZXJ0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwCisjOiBidWlsdGluL2Nsb25lLmM6OTkKIG1zZ2lkICJzZXQgY29uZmlnIGluc2lkZSB0aGUgbmV3IHJlcG9zaXRvcnkiCiBtc2dzdHIgInNldHp0IEtvbmZpZ3VyYXRpb24gaW5uZXJoYWxiIGRlcyBuZXVlbiBSZXBvc2l0b3JpZXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoyNTMKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKIG1zZ3N0ciAiUmVmZXJlbnppZXJ0ZXMgUmVwb3NpdG9yeSAnJXMnIGlzdCBrZWluIGxva2FsZXMgUmVwb3NpdG9yeS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRXJzdGVsbGVuIHZvbiBWZXJ6ZWljaG5pcyAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzE4IGJ1aWx0aW4vZGlmZi5jOjc3CisjOiBidWlsdGluL2Nsb25lLmM6MzE3IGJ1aWx0aW4vZGlmZi5jOjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzIwCisjOiBidWlsdGluL2Nsb25lLmM6MzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGV4aXN0cyBhbmQgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICIlcyBleGlzdGllcnQgdW5kIGlzdCBrZWluIFZlcnplaWNobmlzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzM0CisjOiBidWlsdGluL2Nsb25lLmM6MzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCiBtc2dzdHIgIktvbm50ZSAlcyBuaWNodCBsZXNlblxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzU2CisjOiBidWlsdGluL2Nsb25lLmM6MzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgbGluayAnJXMnIgogbXNnc3RyICJLb25udGUgVmVyd2VpcyAnJXMnIG5pY2h0IGVyc3RlbGxlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM2MAorIzogYnVpbHRpbi9jbG9uZS5jOjM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgIktvbm50ZSBEYXRlaSBuaWNodCBuYWNoICclcycga29waWVyZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozODMKKyM6IGJ1aWx0aW4vY2xvbmUuYzozODIgYnVpbHRpbi9jbG9uZS5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJkb25lLlxuIgogbXNnc3RyICJGZXJ0aWcuXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozOTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzozOTUKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgpAQCAtMzgxOSwxMDggKzM5OTksMTAzIEBACiAiU2llIGvDtm5uZW4gbWl0ICdnaXQgc3RhdHVzJyBwcsO8ZmVuLCB3YXMgYXVzZ2VjaGVja3Qgd29yZGVuIGlzdFxuIgogInVuZCBkYXMgQXVzY2hlY2tlbiBtaXQgJ2dpdCBjaGVja291dCAtZiBIRUFEJyBlcm5ldXQgdmVyc3VjaGVuLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDc1CisjOiBidWlsdGluL2Nsb25lLmM6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgogbXNnc3RyICJLb25udGUgenUga2xvbmVuZGVuIFJlbW90ZS1CcmFuY2ggJXMgbmljaHQgZmluZGVuLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjU1NQorIzogYnVpbHRpbi9jbG9uZS5jOjU1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkuLi4gIgogbXNnc3RyICJQcsO8ZmUgS29ubmVrdGl2aXTDpHQuLi4gIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTU4CisjOiBidWlsdGluL2Nsb25lLmM6NTU3CiBtc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCiBtc2dzdHIgIlJlbW90ZS1SZXBvc2l0b3J5IGhhdCBuaWNodCBhbGxlIGVyZm9yZGVybGljaGVuIE9iamVrdGUgZ2VzZW5kZXQuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTYwCi0jLCBjLWZvcm1hdAotbXNnaWQgImRvbmVcbiIKLW1zZ3N0ciAiRmVydGlnXG4iCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MjEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2MjAKIG1zZ2lkICJyZW1vdGUgSEVBRCByZWZlcnMgdG8gbm9uZXhpc3RlbnQgcmVmLCB1bmFibGUgdG8gY2hlY2tvdXQuXG4iCiBtc2dzdHIgIiIKICJFeHRlcm5lciBIRUFEIGJlemllaHQgc2ljaCBhdWYgZWluZSBuaWNodCBleGlzdGllcmVuZGUgUmVmZXJlbnogdW5kIGthbm4gIgogIm5pY2h0IGF1c2dlY2hlY2t0IHdlcmRlbi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY1MgorIzogYnVpbHRpbi9jbG9uZS5jOjY1MQogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIkFyYmVpdHN2ZXJ6ZWljaG5pcyBrb25udGUgbmljaHQgYXVzZ2VjaGVja3Qgd2VyZGVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzYwCisjOiBidWlsdGluL2Nsb25lLmM6NzU5CiBtc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKIG1zZ3N0ciAiWnUgdmllbGUgQXJndW1lbnRlLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2NAorIzogYnVpbHRpbi9jbG9uZS5jOjc2MwogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKIG1zZ3N0ciAiU2llIG3DvHNzZW4gZWluIFJlcG9zaXRvcnkgenVtIEtsb25lbiBhbmdlYmVuLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc3NQorIzogYnVpbHRpbi9jbG9uZS5jOjc3NAogIywgYy1mb3JtYXQKIG1zZ2lkICItLWJhcmUgYW5kIC0tb3JpZ2luICVzIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgIkRpZSBPcHRpb25lbiAtLWJhcmUgdW5kIC0tb3JpZ2luICVzIHNpbmQgaW5rb21wYXRpYmVsLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc3OAorIzogYnVpbHRpbi9jbG9uZS5jOjc3NwogbXNnaWQgIi0tYmFyZSBhbmQgLS1zZXBhcmF0ZS1naXQtZGlyIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1iYXJlIHVuZCAtLXNlcGFyYXRlLWdpdC1kaXIgc2luZCBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzkxCisjOiBidWlsdGluL2Nsb25lLmM6NzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiUmVwb3NpdG9yeSAnJXMnIGV4aXN0aWVydCBuaWNodC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3OTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3OTUKIG1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb24gLS1kZXB0aCB3aXJkIGluIGxva2FsZW4gS2xvbmVuIGlnbm9yaWVydDsgYmVudXR6ZW4gU2llICIKICJzdGF0dGRlc3NlbiBmaWxlOi8vIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzk4CisjOiBidWlsdGluL2Nsb25lLmM6Nzk3CiBtc2dpZCAiLS1sb2NhbCBpcyBpZ25vcmVkIgogbXNnc3RyICItLWxvY2FsIHdpcmQgaWdub3JpZXJ0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODA4CisjOiBidWlsdGluL2Nsb25lLmM6ODA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgIlppZWxwZmFkICclcycgZXhpc3RpZXJ0IGJlcmVpdHMgdW5kIGlzdCBrZWluIGxlZXJlcyBWZXJ6ZWljaG5pcy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAid29ya2luZyB0cmVlICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICJBcmJlaXRzdmVyemVpY2huaXMgJyVzJyBleGlzdGllcnQgYmVyZWl0cy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzEgYnVpbHRpbi9jbG9uZS5jOjg0MworIzogYnVpbHRpbi9jbG9uZS5jOjgzMCBidWlsdGluL2Nsb25lLmM6ODQyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAnJXMnIgogbXNnc3RyICJLb25udGUgZsO8aHJlbmRlIFZlcnplaWNobmlzc2Ugdm9uICclcycgbmljaHQgZXJzdGVsbGVuLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzNAorIzogYnVpbHRpbi9jbG9uZS5jOjgzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJy4iCiBtc2dzdHIgIktvbm50ZSBBcmJlaXRzdmVyemVpY2huaXMgJyVzJyBuaWNodCBlcnN0ZWxsZW4uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODUzCisjOiBidWlsdGluL2Nsb25lLmM6ODUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byBiYXJlIHJlcG9zaXRvcnkgJyVzJy4uLlxuIgogbXNnc3RyICJLbG9uZSBpbiBCYXJlLVJlcG9zaXRvcnkgJyVzJy4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODU1CisjOiBidWlsdGluL2Nsb25lLmM6ODU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byAnJXMnLi4uXG4iCiBtc2dzdHIgIktsb25lIG5hY2ggJyVzJy4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODkwCisjOiBidWlsdGluL2Nsb25lLmM6ODg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGNsb25lICVzIgogbXNnc3RyICJXZWnDnyBuaWNodCB3aWUgJXMgenUga2xvbmVuIGlzdC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NDIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MzkgYnVpbHRpbi9jbG9uZS5jOjk0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdGUgYnJhbmNoICVzIG5vdCBmb3VuZCBpbiB1cHN0cmVhbSAlcyIKIG1zZ3N0ciAiUmVtb3RlLUJyYW5jaCAlcyBuaWNodCBpbSBVcHN0cmVhbS1SZXBvc2l0b3J5ICVzIGdlZnVuZGVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQ5CisjOiBidWlsdGluL2Nsb25lLmM6OTUwCiBtc2dpZCAiWW91IGFwcGVhciB0byBoYXZlIGNsb25lZCBhbiBlbXB0eSByZXBvc2l0b3J5LiIKIG1zZ3N0ciAiU2llIHNjaGVpbmVuIGVpbiBsZWVyZXMgUmVwb3NpdG9yeSBnZWtsb250IHp1IGhhYmVuLiIKIApAQCAtMzk1NiwxNSArNDEzMSwxNSBAQAogbXNnaWQgIi0tY29tbWFuZCBtdXN0IGJlIHRoZSBmaXJzdCBhcmd1bWVudCIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLWNvbW1hbmQgbXVzcyBhbiBlcnN0ZXIgU3RlbGxlIHN0ZWhlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzYKIG1zZ2lkICJnaXQgY29tbWl0IFtvcHRpb25zXSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBjb21taXQgW09wdGlvbmVuXSBbLS1dIDxQZmFkc3BlemlmaWthdGlvbj4uLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDEKIG1zZ2lkICJnaXQgc3RhdHVzIFtvcHRpb25zXSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBzdGF0dXMgW09wdGlvbmVuXSBbLS1dIDxQZmFkc3BlemlmaWthdGlvbj4uLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDYKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtMzk5MCw3ICs0MTY1LDcgQEAKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTgKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIGFtZW5kIHRoZSBtb3N0IHJlY2VudCBjb21taXQsIGJ1dCBkb2luZyBzbyB3b3VsZCBtYWtlXG4iCiAiaXQgZW1wdHkuIFlvdSBjYW4gcmVwZWF0IHlvdXIgY29tbWFuZCB3aXRoIC0tYWxsb3ctZW1wdHksIG9yIHlvdSBjYW5cbiIKQEAgLTQwMDAsNyArNDE3NSw3IEBACiAibWFjaGVuLiBTaWUga8O2bm5lbiBJaHIgS29tbWFuZG8gbWl0IC0tYWxsb3ctZW1wdHkgd2llZGVyaG9sZW4sIG9kZXIgZGllc2VuXG4iCiAiQ29tbWl0IG1pdCBcImdpdCByZXNldCBIRUFEXlwiIHZvbGxzdMOkbmRpZyBlbnRmZXJuZW4uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjMKIG1zZ2lkICIiCiAiVGhlIHByZXZpb3VzIGNoZXJyeS1waWNrIGlzIG5vdyBlbXB0eSwgcG9zc2libHkgZHVlIHRvIGNvbmZsaWN0IHJlc29sdXRpb24uXG4iCiAiSWYgeW91IHdpc2ggdG8gY29tbWl0IGl0IGFueXdheSwgdXNlOlxuIgpAQCAtNDAxNSwxMSArNDE5MCwxMSBAQAogIiAgICBnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHlcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2OQorIzogYnVpbHRpbi9jb21taXQuYzo3MAogbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgogbXNnc3RyICJBbmRlcm5mYWxscyBiZW51dHplbiBTaWUgYml0dGUgJ2dpdCByZXNldCdcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MgorIzogYnVpbHRpbi9jb21taXQuYzo3MwogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBza2lwIHRoaXMgY29tbWl0LCB1c2U6XG4iCiAiXG4iCkBAIC00MDM1LDk0ICs0MjEwLDk0IEBACiAiQmVudXR6ZW4gU2llIGFuc2NobGllw59lbmQgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiLCB1bSBkaWVcbiIKICJDaGVycnktUGljay1PcGVyYXRpb24gbWl0IGRlbiB2ZXJibGVpYmVuZGVuIENvbW1pdHMgZm9ydHp1c2V0emVuLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjI3OQorIzogYnVpbHRpbi9jb21taXQuYzoyODcKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCiBtc2dzdHIgIkZlaGxlciBiZWltIEVudHBhY2tlbiBkZXMgXCJUcmVlXCItT2JqZWt0ZXMgdm9uIEhFQUQuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjMyMQorIzogYnVpbHRpbi9jb21taXQuYzozMjkKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAiS29ubnRlIHRlbXBvcsOkcmUgU3RhZ2luZy1BcmVhIG5pY2h0IGVyc3RlbGxlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzI3CisjOiBidWlsdGluL2NvbW1pdC5jOjMzNQogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgImludGVyYWt0aXZlcyBIaW56dWbDvGdlbiBmZWhsZ2VzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNjAgYnVpbHRpbi9jb21taXQuYzozODEgYnVpbHRpbi9jb21taXQuYzo0MzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzY4IGJ1aWx0aW4vY29tbWl0LmM6Mzg5IGJ1aWx0aW4vY29tbWl0LmM6NDM5CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgogbXNnc3RyICJLb25udGUgbmV3X2luZGV4IERhdGVpIG5pY2h0IHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDIwCiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgbWVyZ2UuIgogbXNnc3RyICJLYW5uIGtlaW5lbiBUZWlsLUNvbW1pdCBkdXJjaGbDvGhyZW4sIHfDpGhyZW5kIGVpbiBNZXJnZSBpbSBHYW5nZSBpc3QuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQxNAorIzogYnVpbHRpbi9jb21taXQuYzo0MjIKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIiIKICJLYW5uIGtlaW5lbiBUZWlsLUNvbW1pdCBkdXJjaGbDvGhyZW4sIHfDpGhyZW5kIFwiY2hlcnJ5LXBpY2tcIiBpbSBHYW5nZSBpc3QuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQyNAorIzogYnVpbHRpbi9jb21taXQuYzo0MzIKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIkthbm4gU3RhZ2luZy1BcmVhIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ0NAorIzogYnVpbHRpbi9jb21taXQuYzo0NTIKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgIktvbm50ZSB0ZW1wb3LDpHJlIFN0YWdpbmctQXJlYS1EYXRlaSBuaWNodCBzY2hyZWliZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjUzNSBidWlsdGluL2NvbW1pdC5jOjU0MQorIzogYnVpbHRpbi9jb21taXQuYzo1NDMgYnVpbHRpbi9jb21taXQuYzo1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb21taXQ6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBDb21taXQ6ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU2MworIzogYnVpbHRpbi9jb21taXQuYzo1NzEKIG1zZ2lkICJtYWxmb3JtZWQgLS1hdXRob3IgcGFyYW1ldGVyIgogbXNnc3RyICJGZWhsZXJoYWZ0ZXIgLS1hdXRob3IgUGFyYW1ldGVyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU4MworIzogYnVpbHRpbi9jb21taXQuYzo1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIGlkZW50IHN0cmluZzogJyVzJyIKIG1zZ3N0ciAiRmVobGVyaGFmdGVyIElkZW50LVN0cmluZzogJyVzJyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MjEgYnVpbHRpbi9jb21taXQuYzo2NTQgYnVpbHRpbi9jb21taXQuYzo5ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjMwIGJ1aWx0aW4vY29tbWl0LmM6NjYzIGJ1aWx0aW4vY29tbWl0LmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIGNvbW1pdCAlcyIKIG1zZ3N0ciAiS29ubnRlIENvbW1pdCAlcyBuaWNodCBuYWNoc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjMzIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjQyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAiKGxlc2UgTG9nLU5hY2hyaWNodCB2b24gU3RhbmRhcmQtRWluZ2FiZSlcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjQ0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIktvbm50ZSBMb2cgbmljaHQgdm9uIFN0YW5kYXJkLUVpbmdhYmUgbGVzZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYzOQorIzogYnVpbHRpbi9jb21taXQuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIExvZy1EYXRlaSAnJXMnIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY0NQorIzogYnVpbHRpbi9jb21taXQuYzo2NTQKIG1zZ2lkICJjb21taXQgaGFzIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgIkNvbW1pdCBoYXQgZWluZSBsZWVyZSBCZXNjaHJlaWJ1bmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjYxCisjOiBidWlsdGluL2NvbW1pdC5jOjY3MAogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01TRyIKIG1zZ3N0ciAiS29ubnRlIE1FUkdFX01TRyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Njc0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgU1FVQVNIX01TRyIKIG1zZ3N0ciAiS29ubnRlIFNRVUFTSF9NU0cgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjY5CisjOiBidWlsdGluL2NvbW1pdC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ5CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKIG1zZ3N0ciAiS29ubnRlIENvbW1pdC1Wb3JsYWdlIG5pY2h0IHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTQxMzcsNyArNDMxMiw3IEBACiAiXHQlc1xuIgogInVuZCB2ZXJzdWNoZW4gU2llIGVzIGVybmV1dC5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTQxNTIsNyArNDMyNyw3IEBACiAiXHQlc1xuIgogInVuZCB2ZXJzdWNoZW4gU2llIGVzIGVybmV1dC5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC00MTYyLDcgKzQzMzcsNyBAQAogImRpZSBtaXQgJyVjJyBiZWdpbm5lbiwgd2VyZGVuIGlnbm9yaWVydCwgdW5kIGVpbmUgbGVlcmUgQmVzY2hyZWlidW5nXG4iCiAiYnJpY2h0IGRlbiBDb21taXQgYWIuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzYzCisjOiBidWlsdGluL2NvbW1pdC5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtNDE3NSwxNTIgKzQzNTAsMTUyIEBACiAiZW50ZmVybmVuLlxuIgogIkVpbmUgbGVlcmUgQmVzY2hyZWlidW5nIGJyaWNodCBkZW4gQ29tbWl0IGFiLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc3NgorIzogYnVpbHRpbi9jb21taXQuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNBdXRob3I6ICAgICVzIgogbXNnc3RyICIlc0F1dG9yOiAgICAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3ODMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQ29tbWl0dGVyOiAlcyIKIG1zZ3N0ciAiJXNDb21taXQtRXJzdGVsbGVyOiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODIyCiBtc2dpZCAiQ2Fubm90IHJlYWQgaW5kZXgiCiBtc2dzdHIgIkthbm4gU3RhZ2luZy1BcmVhIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg0NQorIzogYnVpbHRpbi9jb21taXQuYzo4NjUKIG1zZ2lkICJFcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRXJ6ZXVnZW4gZGVyIFwiVHJlZVwiLU9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODYwIGJ1aWx0aW4vdGFnLmM6MzU5CisjOiBidWlsdGluL2NvbW1pdC5jOjg4MCBidWlsdGluL3RhZy5jOjM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgIiIKICJCaXR0ZSBsaWVmZXJuIFNpZSBlaW5lIEJlc2NocmVpYnVuZyBlbnR3ZWRlciBtaXQgZGVyIE9wdGlvbiAtbSBvZGVyIC1GLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk1NworIzogYnVpbHRpbi9jb21taXQuYzo5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gZXhpc3RpbmcgYXV0aG9yIGZvdW5kIHdpdGggJyVzJyIKIG1zZ3N0ciAiS2VpbiBleGlzdGllcmVuZGVyIEF1dG9yIG1pdCAnJXMnIGdlZnVuZGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NzIgYnVpbHRpbi9jb21taXQuYzoxMjA4CisjOiBidWlsdGluL2NvbW1pdC5jOjk5NyBidWlsdGluL2NvbW1pdC5jOjEyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB1bnRyYWNrZWQgZmlsZXMgbW9kZSAnJXMnIgogbXNnc3RyICJVbmfDvGx0aWdlciBNb2R1cyAnJXMnIGbDvHIgdW5iZW9iYWNodGV0ZSBEYXRlaWVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTAzNAogbXNnaWQgIi0tbG9uZyBhbmQgLXogYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC0tbG9uZyB1bmQgLXogc2luZCBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2NAogbXNnaWQgIlVzaW5nIGJvdGggLS1yZXNldC1hdXRob3IgYW5kIC0tYXV0aG9yIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uZW4gLS1yZXNldC1hdXRob3IgdW5kIC0tYXV0aG9yIGvDtm5uZW4gbmljaHQgZ2VtZWluc2FtIHZlcndlbmRldCAiCiAid2VyZGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDUwCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNzUKIG1zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKIG1zZ3N0ciAiU2llIGhhYmVuIG5pY2h0cyBmw7xyIFwiLS1hbWVuZFwiLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDUzCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNzgKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJFaW4gTWVyZ2UgaXN0IGltIEdhbmdlIC0tIGthbm4gXCItLWFtZW5kXCIgbmljaHQgYXVzZsO8aHJlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA1NQorIzogYnVpbHRpbi9jb21taXQuYzoxMDgwCiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgY2hlcnJ5LXBpY2sgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiXCJjaGVycnktcGlja1wiIGlzdCBpbSBHYW5nZSAtLSBrYW5uIFwiLS1hbWVuZFwiIG5pY2h0IGF1c2bDvGhyZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4MwogbXNnaWQgIk9wdGlvbnMgLS1zcXVhc2ggYW5kIC0tZml4dXAgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uZW4gLS1zcXVhc2ggdW5kIC0tZml4dXAga8O2bm5lbiBuaWNodCBnZW1laW5zYW0gdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2OAorIzogYnVpbHRpbi9jb21taXQuYzoxMDkzCiBtc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIkVzIGthbm4gbnVyIGVpbmUgT3B0aW9uIHZvbiAtYy8tQy8tRi8tLWZpeHVwIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5NQogbXNnaWQgIk9wdGlvbiAtbSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtYy8tQy8tRi8tLWZpeHVwLiIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtbSBrYW5uIG5pY2h0IG1pdCAtYy8tQy8tRi8tLWZpeHVwIGtvbWJpbmllcnQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDc4CisjOiBidWlsdGluL2NvbW1pdC5jOjExMDMKIG1zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbiAtLXJlc2V0LS1hdXRob3Iga2FubiBudXIgbWl0IC1DLCAtYyBvZGVyIC0tYW1lbmQgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTIwCiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICIiCiAiRXMga2FubiBudXIgZWluZSBPcHRpb24gdm9uIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoICIKICJ2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDk3CisjOiBidWlsdGluL2NvbW1pdC5jOjExMjIKIG1zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uZW4gLS1pbmNsdWRlIHVuZCAtLW9ubHkga8O2bm5lbiBudXIgbWl0IGRlciBBbmdhYmUgdm9uIFBmYWRlbiAiCiAidmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5OQorIzogYnVpbHRpbi9jb21taXQuYzoxMTI0CiBtc2dpZCAiQ2xldmVyLi4uIGFtZW5kaW5nIHRoZSBsYXN0IG9uZSB3aXRoIGRpcnR5IGluZGV4LiIKIG1zZ3N0ciAiIgogIktsdWcuLi4gZGVuIGxldHp0ZW4gQ29tbWl0IG1pdCBlaW5lciBnZcOkbmRlcnRlbiBTdGFnaW5nLUFyZWEgbmFjaGJlc3Nlcm4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNgogbXNnaWQgIkV4cGxpY2l0IHBhdGhzIHNwZWNpZmllZCB3aXRob3V0IC1pIG5vciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgogbXNnc3RyICIiCiAiRXhwbGl6aXRlIFBmYWRlIG9obmUgLWkgb2RlciAtbyBhbmdlZ2ViZW47IHVudGVyIGRlciBBbm5haG1lIHZvbiAtLW9ubHkgIgogIlBmYWRlbi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTExIGJ1aWx0aW4vdGFnLmM6NTc1CisjOiBidWlsdGluL2NvbW1pdC5jOjExMzYgYnVpbHRpbi90YWcuYzo1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIFwiY2xlYW51cFwiIE1vZHVzICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE0MQogbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIkRpZSBPcHRpb24gLWEga2FubiBudXIgbWl0IGRlciBBbmdhYmUgdm9uIFBmYWRlbiB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjIyIGJ1aWx0aW4vY29tbWl0LmM6MTQ1NQorIzogYnVpbHRpbi9jb21taXQuYzoxMjUxIGJ1aWx0aW4vY29tbWl0LmM6MTQ4MgogbXNnaWQgInNob3cgc3RhdHVzIGNvbmNpc2VseSIKIG1zZ3N0ciAiemVpZ3QgU3RhdHVzIGltIEt1cnpmb3JtYXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNCBidWlsdGluL2NvbW1pdC5jOjE0NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1MyBidWlsdGluL2NvbW1pdC5jOjE0ODQKIG1zZ2lkICJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiemVpZ3QgQnJhbmNoaW5mb3JtYXRpb25lbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjI2IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OSBidWlsdGluL3B1c2guYzo0NTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1NSBidWlsdGluL2NvbW1pdC5jOjE0ODYgYnVpbHRpbi9wdXNoLmM6NDYwCiBtc2dpZCAibWFjaGluZS1yZWFkYWJsZSBvdXRwdXQiCiBtc2dzdHIgIm1hc2NoaW5lbmxlc2JhcmUgQXVzZ2FiZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjI5IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MQorIzogYnVpbHRpbi9jb21taXQuYzoxMjU4IGJ1aWx0aW4vY29tbWl0LmM6MTQ4OAogbXNnaWQgInNob3cgc3RhdHVzIGluIGxvbmcgZm9ybWF0IChkZWZhdWx0KSIKIG1zZ3N0ciAiemVpZ3QgU3RhdHVzIGltIExhbmdmb3JtYXQgKFN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjMyIGJ1aWx0aW4vY29tbWl0LmM6MTQ2NAorIzogYnVpbHRpbi9jb21taXQuYzoxMjYxIGJ1aWx0aW4vY29tbWl0LmM6MTQ5MQogbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIgogbXNnc3RyICJzY2hsaWXDn3QgRWludHLDpGdlIG1pdCBOVUwtWmVpY2hlbiBhYiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjM0IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjY3Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjcwIGJ1aWx0aW4vdGFnLmM6NDU5CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjMgYnVpbHRpbi9jb21taXQuYzoxNDk0IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzQKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzcgYnVpbHRpbi90YWcuYzo0NTkKIG1zZ2lkICJtb2RlIgogbXNnc3RyICJNb2R1cyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjM1IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NworIzogYnVpbHRpbi9jb21taXQuYzoxMjY0IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAogbXNnaWQgInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAiIgogInplaWd0IG5pY2h0IGJlb2JhY2h0ZXRlIERhdGVpZW4sIG9wdGlvbmFsZSBNb2RpOiBhbGwsIG5vcm1hbCwgbm8uIChTdGFuZGFyZDogIgogImFsbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIzOAorIzogYnVpbHRpbi9jb21taXQuYzoxMjY3CiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJ6ZWlndCBpZ25vcmllcnRlIERhdGVpZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIzOSBwYXJzZS1vcHRpb25zLmg6MTU0CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjggcGFyc2Utb3B0aW9ucy5oOjE1NgogbXNnaWQgIndoZW4iCiBtc2dzdHIgIndhbm4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTI0MAorIzogYnVpbHRpbi9jb21taXQuYzoxMjY5CiBtc2dpZCAiIgogImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihEZWZhdWx0OiBhbGwpIgpAQCAtNDMyOCwyMTkgKzQ1MDMsMjE5IEBACiAiaWdub3JpZXJ0IMOEbmRlcnVuZ2VuIGluIFN1Ym1vZHVsZW4sIG9wdGlvbmFsIHdlbm46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihTdGFuZGFyZDogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjQyCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNzEKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJsaXN0ZXQgdW5iZW9iYWNodGV0ZSBEYXRlaWVuIGluIFNwYWx0ZW4gYXVmIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MAogbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgIktvbm50ZSBuZXUgZXJzdGVsbHRlbiBDb21taXQgbmljaHQgbmFjaHNjaGxhZ2VuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzE1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDIKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgIktvbm50ZSBuZXVsaWNoIGVyc3RlbGx0ZW4gQ29tbWl0IG5pY2h0IGFuYWx5c2llcmVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU2CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODMKIG1zZ2lkICJkZXRhY2hlZCBIRUFEIgogbXNnc3RyICJsb3NnZWzDtnN0ZXIgSEVBRCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU4CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODUKIG1zZ2lkICIgKHJvb3QtY29tbWl0KSIKIG1zZ3N0ciAiIChCYXNpcy1Db21taXQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MgogbXNnaWQgInN1cHByZXNzIHN1bW1hcnkgYWZ0ZXIgc3VjY2Vzc2Z1bCBjb21taXQiCiBtc2dzdHIgInVudGVyZHLDvGNrdCBadXNhbW1lbmZhc3N1bmcgbmFjaCBlcmZvbGdyZWljaGVtIENvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDI2CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTMKIG1zZ2lkICJzaG93IGRpZmYgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgInplaWd0IFVudGVyc2NoaWVkZSBpbiBDb21taXQtQmVzY2hyZWlidW5nc3ZvcmxhZ2UgYW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQyOAorIzogYnVpbHRpbi9jb21taXQuYzoxNDU1CiBtc2dpZCAiQ29tbWl0IG1lc3NhZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiT3B0aW9uZW4gZsO8ciBDb21taXQtQmVzY2hyZWlidW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjkgYnVpbHRpbi90YWcuYzo0NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NiBidWlsdGluL3RhZy5jOjQ1NwogbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCiBtc2dzdHIgImxpZXN0IEJlc2NocmVpYnVuZyB2b24gRGF0ZWkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMAorIzogYnVpbHRpbi9jb21taXQuYzoxNDU3CiBtc2dpZCAiYXV0aG9yIgogbXNnc3RyICJBdXRvciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTcKIG1zZ2lkICJvdmVycmlkZSBhdXRob3IgZm9yIGNvbW1pdCIKIG1zZ3N0ciAiw7xiZXJzY2hyZWlidCBBdXRvciBlaW5lcyBDb21taXRzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzEgYnVpbHRpbi9nYy5jOjE3OAorIzogYnVpbHRpbi9jb21taXQuYzoxNDU4IGJ1aWx0aW4vZ2MuYzoyNjAKIG1zZ2lkICJkYXRlIgogbXNnc3RyICJEYXR1bSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTgKIG1zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCiBtc2dzdHIgIsO8YmVyc2NocmVpYnQgRGF0dW0gZWluZXMgQ29tbWl0cyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMyIGJ1aWx0aW4vbWVyZ2UuYzoyMjMgYnVpbHRpbi9ub3Rlcy5jOjQwNQorIzogYnVpbHRpbi9jb21taXQuYzoxNDU5IGJ1aWx0aW4vbWVyZ2UuYzoyMjMgYnVpbHRpbi9ub3Rlcy5jOjQwNQogIzogYnVpbHRpbi9ub3Rlcy5jOjU2MiBidWlsdGluL3RhZy5jOjQ1NQogbXNnaWQgIm1lc3NhZ2UiCiBtc2dzdHIgIkJlc2NocmVpYnVuZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMyCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTkKIG1zZ2lkICJjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiQ29tbWl0LUJlc2NocmVpYnVuZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMzCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjAKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAidmVyd2VuZGV0IHdpZWRlciB1bmQgZWRpdGllcnQgQmVzY2hyZWlidW5nIGRlcyBhbmdlZ2ViZW5lbiBDb21taXRzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MQogbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICJ2ZXJ3ZW5kZXQgQmVzY2hyZWlidW5nIGRlcyBhbmdlZ2ViZW5lbiBDb21taXRzIHdpZWRlciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjIKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAidmVyd2VuZGV0IGVpbmUgYXV0b21hdGlzY2ggenVzYW1tZW5nZXNldHp0ZSBCZXNjaHJlaWJ1bmcgenVtIE5hY2hiZXNzZXJuIGRlcyAiCiAiYW5nZWdlYmVuZW4gQ29tbWl0cyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM2CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjMKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogInZlcndlbmRldCBlaW5lIGF1dG9tYXRpc2NoIHp1c2FtbWVuZ2VzZXR6dGUgQmVzY2hyZWlidW5nIGJlaW0gXCJzcXVhc2hcIiBkZXMgIgogImFuZ2VnZWJlbmVuIENvbW1pdHMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNworIzogYnVpbHRpbi9jb21taXQuYzoxNDY0CiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAiU2V0enQgU2llIGFscyBBdXRvciBkZXMgQ29tbWl0cyAodmVyd2VuZGV0IG1pdCAtQy8tYy8tLWFtZW5kKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM4IGJ1aWx0aW4vbG9nLmM6MTE2MCBidWlsdGluL3JldmVydC5jOjExMQorIzogYnVpbHRpbi9jb21taXQuYzoxNDY1IGJ1aWx0aW4vbG9nLmM6MTE4MCBidWlsdGluL3JldmVydC5jOjg2CiBtc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgogbXNnc3RyICJmw7xndCAnU2lnbmVkLW9mZi1ieTonLVplaWxlIGhpbnp1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NgogbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKIG1zZ3N0ciAidmVyd2VuZGV0IGFuZ2VnZWJlbmUgVm9ybGFnZW5kYXRlaSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjcKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIGNvbW1pdCIKIG1zZ3N0ciAiZXJ6d2luZ3QgQmVhcmJlaXR1bmcgZGVzIENvbW1pdHMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDY4CiBtc2dpZCAiZGVmYXVsdCIKIG1zZ3N0ciAiU3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MSBidWlsdGluL3RhZy5jOjQ2MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDY4IGJ1aWx0aW4vdGFnLmM6NDYwCiBtc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKIG1zZ3N0ciAiIgogIndpZSBMZWVyemVpY2hlbiB1bmQgI0tvbW1lbnRhcmUgdm9uIGRlciBCZXNjaHJlaWJ1bmcgZ2V0cmVubnQgd2VyZGVuIHNvbGxlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQyCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjkKIG1zZ2lkICJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAiZsO8Z3QgU3RhdHVzIGluIGRpZSBDb21taXQtQmVzY2hyZWlidW5nc3ZvcmxhZ2UgZWluIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDMgYnVpbHRpbi9tZXJnZS5jOjIzMCBidWlsdGluL3RhZy5jOjQ2MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDcwIGJ1aWx0aW4vbWVyZ2UuYzoyMzAgYnVpbHRpbi90YWcuYzo0NjEKIG1zZ2lkICJrZXkgaWQiCiBtc2dzdHIgIlNjaGzDvHNzZWwtSUQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0NCBidWlsdGluL21lcmdlLmM6MjMxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzEgYnVpbHRpbi9tZXJnZS5jOjIzMQogbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKIG1zZ3N0ciAic2lnbmllcnQgQ29tbWl0IG1pdCBHUEciCiAKICMuIGVuZCBjb21taXQgbWVzc2FnZSBvcHRpb25zCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NAogbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgogbXNnc3RyICJPcHRpb25lbiBmw7xyIENvbW1pdC1JbmhhbHQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0OAorIzogYnVpbHRpbi9jb21taXQuYzoxNDc1CiBtc2dpZCAiY29tbWl0IGFsbCBjaGFuZ2VkIGZpbGVzIgogbXNnc3RyICJjb21taXR0ZXQgYWxsZSBnZcOkbmRlcnRlbiBEYXRlaWVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NgogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAibWVya3QgZGllIGFuZ2VnZWJlbmVuIERhdGVpZW4genVzw6R0emxpY2ggenVtIENvbW1pdCB2b3IiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDc3CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCiBtc2dzdHIgImludGVyYWt0aXZlcyBIaW56dWbDvGdlbiB2b24gRGF0ZWllbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDUxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzgKIG1zZ2lkICJpbnRlcmFjdGl2ZWx5IGFkZCBjaGFuZ2VzIgogbXNnc3RyICJpbnRlcmFrdGl2ZXMgSGluenVmw7xnZW4gdm9uIMOEbmRlcnVuZ2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OQogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAiY29tbWl0dGV0IG51ciBkaWUgYW5nZWdlYmVuZW4gRGF0ZWllbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDUzCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODAKIG1zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBob29rIgogbXNnc3RyICJ1bWdlaHQgXCJwcmUtY29tbWl0IGhvb2tcIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDU0CisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODEKIG1zZ2lkICJzaG93IHdoYXQgd291bGQgYmUgY29tbWl0dGVkIgogbXNnc3RyICJ6ZWlndCBhbiwgd2FzIGNvbW1pdHRldCB3ZXJkZW4gd8O8cmRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MgogbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAiw6RuZGVydCB2b3JoZXJpZ2VuIENvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY2CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTMKIG1zZ2lkICJieXBhc3MgcG9zdC1yZXdyaXRlIGhvb2siCiBtc2dzdHIgInVtZ2VodCBcInBvc3QtcmV3cml0ZSBob29rXCIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDk4CiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAiZXJsYXVidCBBdWZ6ZWljaG51bmcgZWluZXIgbGVlcmVuIMOEbmRlcnVuZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc0CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDAKIG1zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICJlcmxhdWJ0IEF1ZnplaWNobnVuZyBlaW5lciDDhG5kZXJ1bmcgbWl0IGVpbmVyIGxlZXJlbiBCZXNjaHJlaWJ1bmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwNworIzogYnVpbHRpbi9jb21taXQuYzoxNTI5CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgogbXNnc3RyICJLb25udGUgQ29tbWl0IHZvbiBIRUFEIG5pY2h0IGFuYWx5c2llcmVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTQ1IGJ1aWx0aW4vbWVyZ2UuYzo1MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU2NyBidWlsdGluL21lcmdlLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IHp1bSBMZXNlbiDDtmZmbmVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTUyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAiQmVzY2jDpGRpZ3RlIE1FUkdFX0hFQUQtRGF0ZWkgKCVzKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTU5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1ODEKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NT0RFIgogbXNnc3RyICJLb25udGUgTUVSR0VfTU9ERSBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTc4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICJLb25udGUgQ29tbWl0LUJlc2NocmVpYnVuZyBuaWNodCBsZXNlbjogJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgorIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiQ29tbWl0IGFiZ2Vicm9jaGVuOyBTaWUgaGFiZW4gZGllIEJlc2NocmVpYnVuZyBuaWNodCBlZGl0aWVydC5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0IGR1ZSB0byBlbXB0eSBjb21taXQgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiQ29tbWl0IGF1ZmdydW5kIGxlZXJlciBCZXNjaHJlaWJ1bmcgYWJnZWJyb2NoZW4uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMiBidWlsdGluL21lcmdlLmM6ODYxIGJ1aWx0aW4vbWVyZ2UuYzo4ODYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNCBidWlsdGluL21lcmdlLmM6ODYxIGJ1aWx0aW4vbWVyZ2UuYzo4ODYKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gU2NocmVpYmVuIGRlcyBDb21taXQtT2JqZWt0ZXMuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY1NQogbXNnaWQgImNhbm5vdCBsb2NrIEhFQUQgcmVmIgogbXNnc3RyICJLYW5uIFJlZmVyZW56IHZvbiBIRUFEIG5pY2h0IHNwZXJyZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY1OQogbXNnaWQgImNhbm5vdCB1cGRhdGUgSEVBRCByZWYiCiBtc2dzdHIgIkthbm4gUmVmZXJlbnogdm9uIEhFQUQgbmljaHQgYWt0dWFsaXNpZXJlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY0OAorIzogYnVpbHRpbi9jb21taXQuYzoxNjcwCiBtc2dpZCAiIgogIlJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgb3IgcXVvdGEgaXNcbiIKQEAgLTQ1NTEsMTI3ICs0NzI2LDEzMSBAQAogInZvbGwgdW5kIElociBLb250aW5nZW50IG5pY2h0IGF1ZmdlYnJhdWNodCBpc3QgdW5kIGbDvGhyZW4gU2llXG4iCiAiYW5zY2hsaWXDn2VuZCBcImdpdCByZXNldCBIRUFEXCIgenUgV2llZGVyaGVyc3RlbGx1bmcgYXVzLiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3CisjOiBidWlsdGluL2NvbmZpZy5jOjgKIG1zZ2lkICJnaXQgY29uZmlnIFtvcHRpb25zXSIKIG1zZ3N0ciAiZ2l0IGNvbmZpZyBbT3B0aW9uZW5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjUyCisjOiBidWlsdGluL2NvbmZpZy5jOjU0CiBtc2dpZCAiQ29uZmlnIGZpbGUgbG9jYXRpb24iCiBtc2dzdHIgIk9ydCBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1MworIzogYnVpbHRpbi9jb25maWcuYzo1NQogbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCiBtc2dzdHIgInZlcndlbmRldCBnbG9iYWxlIEtvbmZpZ3VyYXRpb25zZGF0ZWkiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKIG1zZ2lkICJ1c2Ugc3lzdGVtIGNvbmZpZyBmaWxlIgogbXNnc3RyICJ2ZXJ3ZW5kZXQgc3lzdGVtd2VpdGUgS29uZmlndXJhdGlvbnNkYXRlaSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NQorIzogYnVpbHRpbi9jb25maWcuYzo1NwogbXNnaWQgInVzZSByZXBvc2l0b3J5IGNvbmZpZyBmaWxlIgogbXNnc3RyICJ2ZXJ3ZW5kZXQgS29uZmlndXJhdGlvbnNkYXRlaSBkZXMgUmVwb3NpdG9yaWVzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU2CisjOiBidWlsdGluL2NvbmZpZy5jOjU4CiBtc2dpZCAidXNlIGdpdmVuIGNvbmZpZyBmaWxlIgogbXNnc3RyICJ2ZXJ3ZW5kZXQgZGllIGFuZ2VnZWJlbmUgS29uZmlndXJhdGlvbnNkYXRlaSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgImJsb2ItaWQiCiBtc2dzdHIgIkJsb2ItSWQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKIG1zZ2lkICJyZWFkIGNvbmZpZyBmcm9tIGdpdmVuIGJsb2Igb2JqZWN0IgogbXNnc3RyICJsaWVzdCBLb25maWd1cmF0aW9uIHZvbiBhbmdlZ2ViZW5lbSBCbG9iLU9iamVrdCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OAorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgIkFjdGlvbiIKIG1zZ3N0ciAiQWt0aW9uIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU5CisjOiBidWlsdGluL2NvbmZpZy5jOjYxCiBtc2dpZCAiZ2V0IHZhbHVlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImdpYnQgV2VydCB6dXLDvGNrOiBOYW1lIFtXZXJ0LXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo2MgogbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiZ2lidCBhbGxlIFdlcnRlIHp1csO8Y2s6IFNjaGzDvHNzZWwgW1dlcnQtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxCisjOiBidWlsdGluL2NvbmZpZy5jOjYzCiBtc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImdpYnQgV2VydGUgZsO8ciBkZW4gcmVndWzDpHJlbiBBdXNkcnVjayB6dXLDvGNrOiBOYW1lLXJlZ2V4IFtXZXJ0LXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MgorIzogYnVpbHRpbi9jb25maWcuYzo2NAorbXNnaWQgImdldCB2YWx1ZSBzcGVjaWZpYyBmb3IgdGhlIFVSTDogc2VjdGlvblsudmFyXSBVUkwiCittc2dzdHIgImdpYnQgV2VydCBzcGV6aWZpc2NoIGbDvHIgZWluZSBVUkwgenVyw7xjazogc2VjdGlvblsudmFyXSBVUkwiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjUKIG1zZ2lkICJyZXBsYWNlIGFsbCBtYXRjaGluZyB2YXJpYWJsZXM6IG5hbWUgdmFsdWUgW3ZhbHVlX3JlZ2V4XSIKIG1zZ3N0ciAiZXJzZXR6dCBhbGxlIHBhc3NlbmRlbiBWYXJpYWJsZW46IE5hbWUgV2VydCBbV2VydC1yZWdleF0gIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYzCisjOiBidWlsdGluL2NvbmZpZy5jOjY2CiBtc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgogbXNnc3RyICJmw7xndCBuZXVlIFZhcmlhYmxlIGhpbnp1OiBOYW1lIFdlcnQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKIG1zZ2lkICJyZW1vdmUgYSB2YXJpYWJsZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJlbnRmZXJudCBlaW5lIFZhcmlhYmxlOiBOYW1lIFtXZXJ0LXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NQorIzogYnVpbHRpbi9jb25maWcuYzo2OAogbXNnaWQgInJlbW92ZSBhbGwgbWF0Y2hlczogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJlbnRmZXJudCBhbGxlIMOcYmVyZWluc3RpbW11bmdlbjogTmFtZSBbV2VydC1yZWdleF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjkKIG1zZ2lkICJyZW5hbWUgc2VjdGlvbjogb2xkLW5hbWUgbmV3LW5hbWUiCiBtc2dzdHIgImJlbmVubnQgZWluZSBTZWt0aW9uIHVtOiBhbHRlci1OYW1lIG5ldWVyLU5hbWUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKIG1zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgogbXNnc3RyICJlbnRmZXJudCBlaW5lIFNla3Rpb246IE5hbWUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKIG1zZ2lkICJsaXN0IGFsbCIKIG1zZ3N0ciAibGlzdGV0IGFsbGVzIGF1ZiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OQorIzogYnVpbHRpbi9jb25maWcuYzo3MgogbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgogbXNnc3RyICLDtmZmbmV0IGVpbmVuIEVkaXRvciIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MCBidWlsdGluL2NvbmZpZy5jOjcxCisjOiBidWlsdGluL2NvbmZpZy5jOjczIGJ1aWx0aW4vY29uZmlnLmM6NzQKIG1zZ2lkICJzbG90IgogbXNnc3RyICJTbG90IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwCisjOiBidWlsdGluL2NvbmZpZy5jOjczCiBtc2dpZCAiZmluZCB0aGUgY29sb3IgY29uZmlndXJlZDogW2RlZmF1bHRdIgogbXNnc3RyICJmaW5kZXQgZGllIGtvbmZpZ3VyaWVydGUgRmFyYmU6IFtTdGFuZGFyZF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBzZXR0aW5nOiBbc3Rkb3V0LWlzLXR0eV0iCiBtc2dzdHIgImZpbmRldCBkaWUgRmFyYmVpbnN0ZWxsdW5nOiBbU3RhbmRhcmQtQXVzZ2FiZS1pc3QtVGVybWluYWxdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcyCisjOiBidWlsdGluL2NvbmZpZy5jOjc1CiBtc2dpZCAiVHlwZSIKIG1zZ3N0ciAiVHlwIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjczCisjOiBidWlsdGluL2NvbmZpZy5jOjc2CiBtc2dpZCAidmFsdWUgaXMgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiIgogbXNnc3RyICJXZXJ0IGlzdCBcInRydWVcIiBvZGVyIFwiZmFsc2VcIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NAorIzogYnVpbHRpbi9jb25maWcuYzo3NwogbXNnaWQgInZhbHVlIGlzIGRlY2ltYWwgbnVtYmVyIgogbXNnc3RyICJXZXJ0IGlzdCBlaW5lIERlemltYWx6YWhsIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc1CisjOiBidWlsdGluL2NvbmZpZy5jOjc4CiBtc2dpZCAidmFsdWUgaXMgLS1ib29sIG9yIC0taW50IgogbXNnc3RyICJXZXJ0IGlzdCAtLWJvb2wgb2RlciAtLWludCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NgorIzogYnVpbHRpbi9jb25maWcuYzo3OQogbXNnaWQgInZhbHVlIGlzIGEgcGF0aCAoZmlsZSBvciBkaXJlY3RvcnkgbmFtZSkiCiBtc2dzdHIgIldlcnQgaXN0IGVpbiBQZmFkIChEYXRlaSBvZGVyIFZlcnplaWNobmlzbmFtZSkiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODAKIG1zZ2lkICJPdGhlciIKIG1zZ3N0ciAiU29uc3RpZ2VzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc4CisjOiBidWlsdGluL2NvbmZpZy5jOjgxCiBtc2dpZCAidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIgogbXNnc3RyICJzY2hsaWXDn3QgV2VydGUgbWl0IE5VTC1CeXRlIGFiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc5CisjOiBidWlsdGluL2NvbmZpZy5jOjgyCiBtc2dpZCAicmVzcGVjdCBpbmNsdWRlIGRpcmVjdGl2ZXMgb24gbG9va3VwIgogbXNnc3RyICJiZWFjaHRldCBcImluY2x1ZGVcIi1EaXJla3RpdmVuIGJlaW0gTmFjaHNjaGxhZ2VuIgogCkBAIC00Njg0LDggKzQ4NjMsOCBAQAogbXNnc3RyICJnaWJ0IEdyw7bDn2VuYW5nYWJlbiBpbiBtZW5zY2hlbmxlc2JhcmVuIEZvcm1hdCBhdXMiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxNgotbXNnaWQgImdpdCBkZXNjcmliZSBbb3B0aW9uc10gPGNvbW1pdHRpc2g+KiIKLW1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFtPcHRpb25lbl0gPGNvbW1pdHRpc2g+KiIKK21zZ2lkICJnaXQgZGVzY3JpYmUgW29wdGlvbnNdIDxjb21taXQtaXNoPioiCittc2dzdHIgImdpdCBkZXNjcmliZSBbT3B0aW9uZW5dIDxjb21taXQtaXNoPioiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxNwogbXNnaWQgImdpdCBkZXNjcmliZSBbb3B0aW9uc10gLS1kaXJ0eSIKQEAgLTQ4MjIsNyArNTAwMSw3IEBACiBtc2dzdHIgIktlaW5lIE5hbWVuIGdlZnVuZGVuLCBrYW5uIG5pY2h0cyBiZXNjaHJlaWJlbi4iCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0ODkKLW1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdHRpc2hlcyIKK21zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLWRpcnR5IGthbm4gbmljaHQgbWl0IENvbW1pdHMgdmVyd2VuZGV0IHdlcmRlbi4iCiAKICM6IGJ1aWx0aW4vZGlmZi5jOjc5CkBAIC00ODU4LDM5ICs1MDM3LDM5IEBACiBtc2dpZCAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1vcHRzXSIKIG1zZ3N0ciAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1vcHRzXSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY2NgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MwogbXNnaWQgInNob3cgcHJvZ3Jlc3MgYWZ0ZXIgPG4+IG9iamVjdHMiCiBtc2dzdHIgInplaWd0IEZvcnRzY2hyaXR0IG5hY2ggPG4+IE9iamVrdGVuIGFuIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjY4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc1CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHNpZ25lZCB0YWdzIgogbXNnc3RyICJ3w6RobHQgQmVoYW5kbHVuZyB2b24gc2lnbmllcnRlbiBUYWdzIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjcxCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc4CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHRhZ3MgdGhhdCB0YWcgZmlsdGVyZWQgb2JqZWN0cyIKIG1zZ3N0ciAid8OkaGx0IEJlaGFuZGx1bmcgdm9uIFRhZ3MsIGRpZSBnZWZpbHRlcnRlIE9iamVrdGUgbWFya2llcmVuIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc0CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgxCiBtc2dpZCAiRHVtcCBtYXJrcyB0byB0aGlzIGZpbGUiCiBtc2dzdHIgIlNjaHJlaWJ0IEtlbm56ZWljaGVuIGluIGRpZXNlIERhdGVpIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgzCiBtc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIgogbXNnc3RyICJJbXBvcnRpZXJ0IEtlbm56ZWljaGVuIHZvbiBkaWVzZXIgRGF0ZWkiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODUKIG1zZ2lkICJGYWtlIGEgdGFnZ2VyIHdoZW4gdGFncyBsYWNrIG9uZSIKIG1zZ3N0ciAiZXJ6ZXVndCBrw7xuc3RsaWNoIGVpbmVuIFRhZy1FcnN0ZWxsZXIsIHdlbm4gZGFzIFRhZyBrZWluZW4gaGF0IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njg3CiBtc2dpZCAiT3V0cHV0IGZ1bGwgdHJlZSBmb3IgZWFjaCBjb21taXQiCiBtc2dzdHIgImdpYnQgZsO8ciBqZWRlbiBDb21taXQgZGFzIGdlc2FtdGUgVmVyemVpY2huaXMgYXVzIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njg5CiBtc2dpZCAiVXNlIHRoZSBkb25lIGZlYXR1cmUgdG8gdGVybWluYXRlIHRoZSBzdHJlYW0iCiBtc2dzdHIgIkJlbnV0enQgZGllIFwiZG9uZVwiLUZ1bmt0aW9uIHVtIGRlbiBTdHJvbSBhYnp1c2NobGllw59lbiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY5MAogbXNnaWQgIlNraXAgb3V0cHV0IG9mIGJsb2IgZGF0YSIKIG1zZ3N0ciAiw5xiZXJzcHJpbmd0IEF1c2dhYmUgdm9uIEJsb2ItRGF0ZW4iCiAKQEAgLTQ5MTAsMTQ3ICs1MDg5LDE0NyBAQAogbXNnaWQgImdpdCBmZXRjaCAtLWFsbCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tYWxsIFs8T3B0aW9uZW4+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwCisjOiBidWlsdGluL2ZldGNoLmM6NzQKIG1zZ2lkICJmZXRjaCBmcm9tIGFsbCByZW1vdGVzIgogbXNnc3RyICJmb3JkZXJ0IHZvbiBhbGxlbiBSZW1vdGUtUmVwb3NpdG9yaWVzIGFuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NgogbXNnaWQgImFwcGVuZCB0byAuZ2l0L0ZFVENIX0hFQUQgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyIKIG1zZ3N0ciAiaMOkbmd0IGFuIC5naXQvRkVUQ0hfSEVBRCBhbiwgYW5zdGF0dCB6dSDDvGJlcnNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY0CisjOiBidWlsdGluL2ZldGNoLmM6NzgKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgIlBmYWQgZGVzIFByb2dyYW1tcyB6dW0gSG9jaGxhZGVuIHZvbiBQYWtldGVuIGF1ZiBkZXIgR2VnZW5zZWl0ZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY1CisjOiBidWlsdGluL2ZldGNoLmM6NzkKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgbG9jYWwgYnJhbmNoIgogbXNnc3RyICJlcnp3aW5ndCBkYXMgw5xiZXJzY2hyZWliZW4gdm9uIGxva2FsZW4gQnJhbmNoZXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NworIzogYnVpbHRpbi9mZXRjaC5jOjgxCiBtc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgogbXNnc3RyICJmb3JkZXJ0IHZvbiBtZWhyZXJlbiBSZW1vdGUtUmVwb3NpdG9yaWVzIGFuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4MwogbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCiBtc2dzdHIgImZvcmRlcnQgYWxsZSBUYWdzIHVuZCB2ZXJidW5kZW5lIE9iamVrdGUgYW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MQorIzogYnVpbHRpbi9mZXRjaC5jOjg1CiBtc2dpZCAiZG8gbm90IGZldGNoIGFsbCB0YWdzICgtLW5vLXRhZ3MpIgogbXNnc3RyICJmb3JkZXJ0IG5pY2h0IGFsbGUgVGFncyBhbiAoLS1uby10YWdzKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjczCisjOiBidWlsdGluL2ZldGNoLmM6ODcKIG1zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKIG1zZ3N0ciAiIgogImVudGZlcm50IFJlbW90ZS1UcmFja2luZy1CcmFuY2hlcywgZGllIHNpY2ggbmljaHQgbWVociBpbSBSZW1vdGUtUmVwb3NpdG9yeSAiCiAiYmVmaW5kZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NAorIzogYnVpbHRpbi9mZXRjaC5jOjg4CiBtc2dpZCAib24tZGVtYW5kIgogbXNnc3RyICJiZWktQmVkYXJmIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4OQogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgImtvbnRyb2xsaWVydCByZWt1cnNpdmUgQW5mb3JkZXJ1bmdlbiB2b24gU3VibW9kdWxlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc5CisjOiBidWlsdGluL2ZldGNoLmM6OTMKIG1zZ2lkICJrZWVwIGRvd25sb2FkZWQgcGFjayIKIG1zZ3N0ciAiYmVow6RsdCBoZXJ1bnRlcmdlbGFkZW5lcyBQYWtldCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgxCisjOiBidWlsdGluL2ZldGNoLmM6OTUKIG1zZ2lkICJhbGxvdyB1cGRhdGluZyBvZiBIRUFEIHJlZiIKIG1zZ3N0ciAiZXJsYXVidCBBa3R1YWxpc2llcnVuZyBkZXIgXCJIRUFEXCItUmVmZXJlbnoiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NAorIzogYnVpbHRpbi9mZXRjaC5jOjk4CiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSIKIG1zZ3N0ciAidmVydGllZnQgZGllIEhpc3RvcmllIGVpbmVzIGZsYWNoZW4gS2xvbnMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NgorIzogYnVpbHRpbi9mZXRjaC5jOjEwMAogbXNnaWQgImNvbnZlcnQgdG8gYSBjb21wbGV0ZSByZXBvc2l0b3J5IgogbXNnc3RyICJrb252ZXJ0aWVydCB6dSBlaW5lbSB2b2xsc3TDpG5kaWdlbiBSZXBvc2l0b3J5IgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODggYnVpbHRpbi9sb2cuYzoxMTc3CisjOiBidWlsdGluL2ZldGNoLmM6MTAyIGJ1aWx0aW4vbG9nLmM6MTE5NwogbXNnaWQgImRpciIKIG1zZ3N0ciAiVmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4OQorIzogYnVpbHRpbi9mZXRjaC5jOjEwMwogbXNnaWQgInByZXBlbmQgdGhpcyB0byBzdWJtb2R1bGUgcGF0aCBvdXRwdXQiCiBtc2dzdHIgInN0ZWxsdCBkaWVzIGFuIGRpZSBBdXNnYWJlIGRlciBTdWJtb2R1bC1QZmFkZSB2b3JhbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkyCisjOiBidWlsdGluL2ZldGNoLmM6MTA2CiBtc2dpZCAiZGVmYXVsdCBtb2RlIGZvciByZWN1cnNpb24iCiBtc2dzdHIgIlN0YW5kYXJkLU1vZHVzIGbDvHIgUmVrdXJzaW9uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIwCisjOiBidWlsdGluL2ZldGNoLmM6MjM2CiBtc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCiBtc2dzdHIgIktvbm50ZSBSZW1vdGUtUmVmZXJlbnogdm9uIEhFQUQgbmljaHQgZmluZGVuLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI3MworIzogYnVpbHRpbi9mZXRjaC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgbm90IGZvdW5kIgogbXNnc3RyICJPYmpla3QgJXMgbmljaHQgZ2VmdW5kZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyNzgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyOTUKIG1zZ2lkICJbdXAgdG8gZGF0ZV0iCiBtc2dzdHIgIltha3R1ZWxsXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI5MgorIzogYnVpbHRpbi9mZXRjaC5jOjMwOQogIywgYy1mb3JtYXQKIG1zZ2lkICIhICUtKnMgJS0qcyAtPiAlcyAgKGNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoKSIKIG1zZ3N0ciAiIgogIiEgJS0qcyAlLSpzIC0+ICVzICAoa2FubiBcImZldGNoXCIgaW0gYWt0dWVsbGVuIEJyYW5jaCBuaWNodCBhdXNmw7xocmVuKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI5MyBidWlsdGluL2ZldGNoLmM6Mzc5CisjOiBidWlsdGluL2ZldGNoLmM6MzEwIGJ1aWx0aW4vZmV0Y2guYzozOTYKIG1zZ2lkICJbcmVqZWN0ZWRdIgogbXNnc3RyICJbenVyw7xja2dld2llc2VuXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMwNAorIzogYnVpbHRpbi9mZXRjaC5jOjMyMQogbXNnaWQgIlt0YWcgdXBkYXRlXSIKIG1zZ3N0ciAiW1RhZyBBa3R1YWxpc2llcnVuZ10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMDYgYnVpbHRpbi9mZXRjaC5jOjM0MSBidWlsdGluL2ZldGNoLmM6MzU5CisjOiBidWlsdGluL2ZldGNoLmM6MzIzIGJ1aWx0aW4vZmV0Y2guYzozNTggYnVpbHRpbi9mZXRjaC5jOjM3NgogbXNnaWQgIiAgKHVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmKSIKIG1zZ3N0ciAiICAoa2FubiBsb2thbGUgUmVmZXJlbnogbmljaHQgYWt0dWFsaXNpZXJlbikiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNDEKIG1zZ2lkICJbbmV3IHRhZ10iCiBtc2dzdHIgIltuZXVlcyBUYWddIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzI3CisjOiBidWlsdGluL2ZldGNoLmM6MzQ0CiBtc2dpZCAiW25ldyBicmFuY2hdIgogbXNnc3RyICJbbmV1ZXIgQnJhbmNoXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMzMAorIzogYnVpbHRpbi9mZXRjaC5jOjM0NwogbXNnaWQgIltuZXcgcmVmXSIKIG1zZ3N0ciAiW25ldWUgUmVmZXJlbnpdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mzc1CisjOiBidWlsdGluL2ZldGNoLmM6MzkyCiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiCiBtc2dzdHIgImthbm4gbG9rYWxlIFJlZmVyZW56IG5pY2h0IGFrdHVhbGlzaWVyZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozNzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzozOTIKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICJBa3R1YWxpc2llcnVuZyBlcnp3dW5nZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozODEKKyM6IGJ1aWx0aW4vZmV0Y2guYzozOTgKIG1zZ2lkICIobm9uLWZhc3QtZm9yd2FyZCkiCiBtc2dzdHIgIihrZWluIFZvcnNwdWxlbikiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0MTIgYnVpbHRpbi9mZXRjaC5jOjcxOAorIzogYnVpbHRpbi9mZXRjaC5jOjQyOSBidWlsdGluL2ZldGNoLmM6NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlc1xuIgogbXNnc3RyICJrYW5uICVzIG5pY2h0IMO2ZmZuZW46ICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0MjEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIgogbXNnc3RyICIlcyBoYXQgbmljaHQgYWxsZSBlcmZvcmRlcmxpY2hlbiBPYmpla3RlIGdlc2VuZGV0XG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRnJvbSAlLipzXG4iCiBtc2dzdHIgIlZvbiAlLipzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKQEAgLTUwNTksNTcgKzUyMzgsNTcgQEAKICJFaW5pZ2UgbG9rYWxlIFJlZmVyZW56ZW4ga29ubnRlbiBuaWNodCBha3R1YWxpc2llcnQgd2VyZGVuOyB2ZXJzdWNoZW4gU2llXG4iCiAiJ2dpdCByZW1vdGUgcHJ1bmUgJXMnIHVtIGplZGVuIMOkbHRlcmVuLCB3aWRlcnNwcsO8Y2hsaWNoZW4gQnJhbmNoIHp1IGzDtnNjaGVuLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU4MQorIzogYnVpbHRpbi9mZXRjaC5jOjU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMgd2lyZCB1bnJlZmVyZW56aWVydCkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1ODIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMgd3VyZGUgdW5yZWZlcmVuemllcnQpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTg5CisjOiBidWlsdGluL2ZldGNoLmM6NjA2CiBtc2dpZCAiW2RlbGV0ZWRdIgogbXNnc3RyICJbZ2Vsw7ZzY2h0XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU5MCBidWlsdGluL3JlbW90ZS5jOjEwNTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MDcgYnVpbHRpbi9yZW1vdGUuYzoxMDU1CiBtc2dpZCAiKG5vbmUpIgogbXNnc3RyICIobmljaHRzKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcwOAorIzogYnVpbHRpbi9mZXRjaC5jOjcyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBmZXRjaCBpbnRvIGN1cnJlbnQgYnJhbmNoICVzIG9mIG5vbi1iYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKICJEZXIgXCJmZXRjaFwiIGluIGRlbiBha3R1ZWxsZW4gQnJhbmNoICVzIHZvbiBlaW5lbSBuaWNodC1CYXJlLVJlcG9zaXRvcnkgIgogInd1cmRlIHZlcndlaWdlcnQuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzQyCi0jLCBjLWZvcm1hdAotbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCi1tc2dzdHIgIldlacOfIG5pY2h0IHdpZSB2b24gJXMgYW5nZWZvcmRlcnQgd2lyZC4iCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAiT3B0aW9uIFwiJXNcIiBXZXJ0IFwiJXNcIiBpc3QgbmljaHQgZ8O8bHRpZyBmw7xyICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODI2CisjOiBidWlsdGluL2ZldGNoLmM6NzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgaXMgaWdub3JlZCBmb3IgJXNcbiIKIG1zZ3N0ciAiT3B0aW9uIFwiJXNcIiB3aXJkIGlnbm9yaWVydCBmw7xyICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MjgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZmV0Y2ggZnJvbSAlcyIKK21zZ3N0ciAiV2Vpw58gbmljaHQgd2llIHZvbiAlcyBhbmdlZm9yZGVydCB3aXJkLiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyAlc1xuIgogbXNnc3RyICJGb3JkZXJlIGFuIHZvbiAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTMwIGJ1aWx0aW4vcmVtb3RlLmM6MTAwCisjOiBidWlsdGluL2ZldGNoLmM6OTc4IGJ1aWx0aW4vcmVtb3RlLmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmZXRjaCAlcyIKIG1zZ3N0ciAiS29ubnRlIG5pY2h0IHZvbiAlcyBhbmZvcmRlcm4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NDkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OTcKIG1zZ2lkICIiCiAiTm8gcmVtb3RlIHJlcG9zaXRvcnkgc3BlY2lmaWVkLiAgUGxlYXNlLCBzcGVjaWZ5IGVpdGhlciBhIFVSTCBvciBhXG4iCiAicmVtb3RlIG5hbWUgZnJvbSB3aGljaCBuZXcgcmV2aXNpb25zIHNob3VsZCBiZSBmZXRjaGVkLiIKQEAgLTUxMTgsMzUgKzUyOTcsMzUgQEAKICJvZGVyIGRlbiBOYW1lbiBkZXMgUmVtb3RlLVJlcG9zaXRvcmllcyBhbiwgdm9uIHdlbGNoZW0gbmV1ZVxuIgogIkNvbW1pdHMgYW5nZWZvcmRlcnQgd2VyZGVuIHNvbGxlbi4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDIwCiBtc2dpZCAiWW91IG5lZWQgdG8gc3BlY2lmeSBhIHRhZyBuYW1lLiIKIG1zZ3N0ciAiU2llIG3DvHNzZW4gZGVuIE5hbWVuIGRlcyBUYWdzIGFuZ2ViZW4uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAxNQorIzogYnVpbHRpbi9mZXRjaC5jOjEwNjgKIG1zZ2lkICItLWRlcHRoIGFuZCAtLXVuc2hhbGxvdyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb25lbiAtLWRlcHRoIHVuZCAtLXVuc2hhbGxvdyBrw7ZubmVuIG5pY2h0IGdlbWVpbnNhbSB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDcwCiBtc2dpZCAiLS11bnNoYWxsb3cgb24gYSBjb21wbGV0ZSByZXBvc2l0b3J5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uIC0tdW5zaGFsbG93IGthbm4gbmljaHQgaW4gZWluZW0gdm9sbHN0w6RuZGlnZW4gUmVwb3NpdG9yeSAiCiAidmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDM2CisjOiBidWlsdGluL2ZldGNoLmM6MTA4OQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICJmZXRjaCAtLWFsbCBha3plcHRpZXJ0IGtlaW4gUmVwb3NpdG9yeSBhbHMgQXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDM4CisjOiBidWlsdGluL2ZldGNoLmM6MTA5MQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiZmV0Y2ggLS1hbGwga2FubiBuaWNodCBtaXQgUmVmc3BlY3MgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDQ5CisjOiBidWlsdGluL2ZldGNoLmM6MTEwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgogbXNnc3RyICJLZWluIFJlbW90ZS1SZXBvc2l0b3J5IChlaW56ZWxuIG9kZXIgR3J1cHBlKTogJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDU3CisjOiBidWlsdGluL2ZldGNoLmM6MTExMAogbXNnaWQgIkZldGNoaW5nIGEgZ3JvdXAgYW5kIHNwZWNpZnlpbmcgcmVmc3BlY3MgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogIkRhcyBBYmhvbGVuIGVpbmVyIEdydXBwZSB2b24gUmVtb3RlLVJlcG9zaXRvcmllcyBrYW5uIG5pY2h0IG1pdCBkZXIgQW5nYWJlXG4iCkBAIC01MTU3LDkgKzUzMzYsOSBAQAogbXNnc3RyICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxCZXNjaHJlaWJ1bmc+XSBbLS1sb2dbPTxuPl18LS1uby1sb2ddIFstLWZpbGUgPERhdGVpPl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYgYnVpbHRpbi9ncmVwLmM6NzAwCi0jOiBidWlsdGluL21lcmdlLmM6MjAzIGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUgYnVpbHRpbi9zaG93LXJlZi5jOjE3OQotIzogYnVpbHRpbi90YWcuYzo0NDYgcGFyc2Utb3B0aW9ucy5oOjEzMyBwYXJzZS1vcHRpb25zLmg6MjQzCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2IGJ1aWx0aW4vZ3JlcC5jOjcwMgorIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzgKKyM6IGJ1aWx0aW4vdGFnLmM6NDQ2IHBhcnNlLW9wdGlvbnMuaDoxMzUgcGFyc2Utb3B0aW9ucy5oOjI0NQogbXNnaWQgIm4iCiBtc2dzdHIgIkFuemFobCIKIApAQCAtNTE4MywxMTcgKzUzNjIsMTIyIEBACiBtc2dpZCAiZmlsZSB0byByZWFkIGZyb20iCiBtc2dzdHIgIkRhdGVpIHp1bSBFaW5sZXNlbiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5NzkKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTk1CiBtc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbb3B0aW9uc10gWzxwYXR0ZXJuPl0iCiBtc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgW09wdGlvbmVuXSBbPE11c3Rlcj5dIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5NAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDEwCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBzaGVsbHMiCiBtc2dzdHIgImZvcm1hdGllcnQgUGxhdHpoYWx0ZXIgYWxzIFNoZWxsLVN0cmluZyIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5OTYKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAxMgogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgcGVybCIKIG1zZ3N0ciAiZm9ybWF0aWVydCBQbGF0emhhbHRlciBhbHMgUGVybC1TdHJpbmciCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTk4CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMTQKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHB5dGhvbiIKIG1zZ3N0ciAiZm9ybWF0aWVydCBQbGF0emhhbHRlciBhbHMgUHl0aG9uLVN0cmluZyIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDAwCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMTYKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHRjbCIKIG1zZ3N0ciAiZm9ybWF0aWVydCBQbGF0emhhbHRlciBhbHMgVENMLVN0cmluZyIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDAzCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMTkKIG1zZ2lkICJzaG93IG9ubHkgPG4+IG1hdGNoZWQgcmVmcyIKIG1zZ3N0ciAiemVpZ3QgbnVyIDxuPiBwYXNzZW5kZSBSZWZlcmVuemVuIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAyMAogbXNnaWQgImZvcm1hdCIKIG1zZ3N0ciAiRm9ybWF0IgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAyMAogbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCiBtc2dzdHIgImbDvHIgZGllIEF1c2dhYmUgenUgdmVyd2VuZGVuZGVzIEZvcm1hdCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDA1CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMjEKIG1zZ2lkICJrZXkiCiBtc2dzdHIgIlNjaMO8c3NlbCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDA2CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMjIKIG1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCiBtc2dzdHIgInNvcnRpZXJlIG5hY2ggZGllc2VtIEZlbGQiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYwOAorIzogYnVpbHRpbi9mc2NrLmM6NjA3CiBtc2dpZCAiZ2l0IGZzY2sgW29wdGlvbnNdIFs8b2JqZWN0Pi4uLl0iCiBtc2dzdHIgImdpdCBmc2NrIFtPcHRpb25lbl0gWzxPYmpla3Q+Li4uXSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE0CisjOiBidWlsdGluL2ZzY2suYzo2MTMKIG1zZ2lkICJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgInplaWd0IHVuZXJyZWljaGJhcmUgT2JqZWt0ZSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE1CisjOiBidWlsdGluL2ZzY2suYzo2MTQKIG1zZ2lkICJzaG93IGRhbmdsaW5nIG9iamVjdHMiCiBtc2dzdHIgInplaWd0IHVucmVmZXJlbnppZXJ0ZSBPYmpla3RlIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTYKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNQogbXNnaWQgInJlcG9ydCB0YWdzIgogbXNnc3RyICJtZWxkZXQgVGFncyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE3CisjOiBidWlsdGluL2ZzY2suYzo2MTYKIG1zZ2lkICJyZXBvcnQgcm9vdCBub2RlcyIKIG1zZ3N0ciAibWVsZGV0IEhhdXB0d3VyemVsbiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE4CisjOiBidWlsdGluL2ZzY2suYzo2MTcKIG1zZ2lkICJtYWtlIGluZGV4IG9iamVjdHMgaGVhZCBub2RlcyIKIG1zZ3N0ciAicHLDvGZ0IE9iamVrdGUgaW4gZGVyIFN0YWdpbmctQXJlYSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE5CisjOiBidWlsdGluL2ZzY2suYzo2MTgKIG1zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCiBtc2dzdHIgInByw7xmdCBkaWUgUmVmbG9ncyAoU3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MjAKKyM6IGJ1aWx0aW4vZnNjay5jOjYxOQogbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYyMQorIzogYnVpbHRpbi9mc2NrLmM6NjIwCiBtc2dpZCAiZW5hYmxlIG1vcmUgc3RyaWN0IGNoZWNraW5nIgogbXNnc3RyICJha3RpdmllcnQgZ2VuYXVlcmUgUHLDvGZ1bmciCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYyMworIzogYnVpbHRpbi9mc2NrLmM6NjIyCiBtc2dpZCAid3JpdGUgZGFuZ2xpbmcgb2JqZWN0cyBpbiAuZ2l0L2xvc3QtZm91bmQiCiBtc2dzdHIgInNjaHJlaWJ0IHVucmVmZXJlbnppZXJ0ZSBPYmpla3RlIG5hY2ggLmdpdC9sb3N0LWZvdW5kIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MjQgYnVpbHRpbi9wcnVuZS5jOjEzNAorIzogYnVpbHRpbi9mc2NrLmM6NjIzIGJ1aWx0aW4vcHJ1bmUuYzoxMzQKIG1zZ2lkICJzaG93IHByb2dyZXNzIgogbXNnc3RyICJ6ZWlndCBGb3J0c2Nocml0dHNhbnplaWdlIgogCi0jOiBidWlsdGluL2djLmM6MjIKKyM6IGJ1aWx0aW4vZ2MuYzoyMwogbXNnaWQgImdpdCBnYyBbb3B0aW9uc10iCiBtc2dzdHIgImdpdCBnYyBbT3B0aW9uZW5dIgogCi0jOiBidWlsdGluL2djLmM6NjMKKyM6IGJ1aWx0aW4vZ2MuYzo3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgogbXNnc3RyICJVbmfDvGx0aWdlciAlczogJyVzJyIKIAotIzogYnVpbHRpbi9nYy5jOjkwCisjOiBidWlsdGluL2djLmM6MTA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZWx5IGxvbmcgb2JqZWN0IGRpcmVjdG9yeSAlLipzIgogbXNnc3RyICJ6dSBsYW5nZXMgT2JqZWt0LVZlcnplaWNobmlzICUuKnMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxNzkKKyM6IGJ1aWx0aW4vZ2MuYzoyNjEKIG1zZ2lkICJwcnVuZSB1bnJlZmVyZW5jZWQgb2JqZWN0cyIKIG1zZ3N0ciAiZW50ZmVybnQgdW5yZWZlcmVuemllcnRlIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxODEKKyM6IGJ1aWx0aW4vZ2MuYzoyNjMKIG1zZ2lkICJiZSBtb3JlIHRob3JvdWdoIChpbmNyZWFzZWQgcnVudGltZSkiCiBtc2dzdHIgIm1laHIgR3LDvG5kbGljaGtlaXQgKGVyaMO2aHQgTGF1ZnplaXQpIgogCi0jOiBidWlsdGluL2djLmM6MTgyCisjOiBidWlsdGluL2djLmM6MjY0CiBtc2dpZCAiZW5hYmxlIGF1dG8tZ2MgbW9kZSIKIG1zZ3N0ciAiYWt0aXZpZXJ0IFwiYXV0by1nY1wiIE1vZHVzIgogCi0jOiBidWlsdGluL2djLmM6MjIyCisjOiBidWlsdGluL2djLmM6MjY1Cittc2dpZCAiZm9yY2UgcnVubmluZyBnYyBldmVuIGlmIHRoZXJlIG1heSBiZSBhbm90aGVyIGdjIHJ1bm5pbmciCittc2dzdHIgImVyendpbmd0IEF1c2bDvGhydW5nIHZvbiBcImdpdCBnY1wiIHNlbGJzdCB3ZW5uIGVpbiBhbmRlcmVzXG4iCisiXCJnaXQgZ2NcIiBiZXJlaXRzIGF1c2dlZsO8aHJ0IHdpcmQiCisKKyM6IGJ1aWx0aW4vZ2MuYzozMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS4gWW91IG1heSBhbHNvXG4iCkBAIC01MzAzLDQzICs1NDg3LDUyIEBACiAia29tcHJpbWllcnQuIFNpZSBrw7ZubmVuIGF1Y2ggXCJnaXQgZ2NcIiBtYW51ZWxsIGF1c2bDvGhyZW4uXG4iCiAiU2llaGUgXCJnaXQgaGVscCBnY1wiIGbDvHIgd2VpdGVyZSBJbmZvcm1hdGlvbmVuLlxuIgogCi0jOiBidWlsdGluL2djLmM6MjQ5CisjLiBiZSBxdWlldCBvbiAtLWF1dG8KKyM6IGJ1aWx0aW4vZ2MuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImdjIGlzIGFscmVhZHkgcnVubmluZyBvbiBtYWNoaW5lICclcycgcGlkICU8UFJJdU1BWD4gKHVzZSAtLWZvcmNlIGlmIG5vdCkiCittc2dzdHIgIiIKKyJcImdpdCBnY1wiIHdpcmQgYmVyZWl0cyBhdWYgTWFzY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiBhdXNnZWbDvGhydFxuIgorIihiZW51dHplbiBTaWUgLS1mb3JjZSBmYWxscyBuaWNodCkiCisKKyM6IGJ1aWx0aW4vZ2MuYzozNDAKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgdGhlbS4iCiBtc2dzdHIgIiIKICJFcyBnaWJ0IHp1IHZpZWxlIHVuZXJyZWljaGJhcmUgbG9zZSBPYmpla3RlOyBmw7xocmVuIFNpZSAnZ2l0IHBydW5lJyBhdXMsIHVtICIKICJkaWVzZSB6dSBsw7ZzY2hlbi4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIyCisjOiBidWlsdGluL2dyZXAuYzoyMwogbXNnaWQgImdpdCBncmVwIFtvcHRpb25zXSBbLWVdIDxwYXR0ZXJuPiBbPHJldj4uLi5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBncmVwIFtPcHRpb25lbl0gWy1lXSA8TXVzdGVyPiBbPENvbW1pdD4uLi5dIFtbLS1dIDxQZmFkPi4uLl0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIxNworIzogYnVpbHRpbi9ncmVwLmM6MjE4CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyZXA6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiZ3JlcDogRmVobGVyIGJlaW0gRXJ6ZXVnZW4gZWluZXMgVGhyZWFkOiAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MzY0CisjOiBidWlsdGluL2dyZXAuYzozNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNoZGlyOiAlcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gVmVyemVpY2huaXN3ZWNoc2VsOiAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NDQyIGJ1aWx0aW4vZ3JlcC5jOjQ3NworIzogYnVpbHRpbi9ncmVwLmM6NDQzIGJ1aWx0aW4vZ3JlcC5jOjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCB0cmVlICglcykiCiBtc2dzdHIgImtvbm50ZSBcIlRyZWVcIi1PYmpla3QgKCVzKSBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NDkyCisjOiBidWlsdGluL2dyZXAuYzo0OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKIG1zZ3N0ciAia2FubiBcImdyZXBcIiBuaWNodCBtaXQgT2JqZWt0ZW4gZGVzIFR5cHMgJXMgZHVyY2hmw7xocmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo1NTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICJTY2hhbHRlciAnJWMnIGVyd2FydGV0IGVpbmVuIG51bWVyaXNjaGVuIFdlcnQiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjU2NworIzogYnVpbHRpbi9ncmVwLmM6NTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICclcyciCiBtc2dzdHIgImthbm4gJyVzJyBuaWNodCDDtmZmbmVuIgpAQCAtNTM4MSwxNjkgKzU1NzQsMTczIEBACiBtc2dzdHIgImZpbmRldCBrZWluZSBNdXN0ZXIgaW4gQmluw6RyZGF0ZWllbiIKIAogIzogYnVpbHRpbi9ncmVwLmM6NjYyCittc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgd2l0aCB0ZXh0Y29udiBmaWx0ZXJzIgorbXNnc3RyICJ2ZXJhcmJlaXRldCBiaW7DpHJlIERhdGVpZW4gbWl0IFwidGV4dGNvbnZcIi1GaWx0ZXJuIgorCisjOiBidWlsdGluL2dyZXAuYzo2NjQKIG1zZ2lkICJkZXNjZW5kIGF0IG1vc3QgPGRlcHRoPiBsZXZlbHMiCiBtc2dzdHIgImR1cmNobMOkdWZ0IGjDtmNoc3RlbnMgPFRpZWZlPiBFYmVuZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2NgorIzogYnVpbHRpbi9ncmVwLmM6NjY4CiBtc2dpZCAidXNlIGV4dGVuZGVkIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgInZlcndlbmRldCBlcndlaXRlcnRlIHJlZ3Vsw6RyZSBBdXNkcsO8Y2tlIGF1cyBQT1NJWCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjY5CisjOiBidWlsdGluL2dyZXAuYzo2NzEKIG1zZ2lkICJ1c2UgYmFzaWMgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyAoZGVmYXVsdCkiCiBtc2dzdHIgInZlcndlbmRldCBncnVuZGxlZ2VuZGUgcmVndWzDpHJlIEF1c2Ryw7xja2UgYXVzIFBPU0lYIChTdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3MgorIzogYnVpbHRpbi9ncmVwLmM6Njc0CiBtc2dpZCAiaW50ZXJwcmV0IHBhdHRlcm5zIGFzIGZpeGVkIHN0cmluZ3MiCiBtc2dzdHIgImludGVycHJldGllcnQgTXVzdGVyIGFscyBmZXN0ZSBaZWljaGVua2V0dGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3NwogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAidmVyd2VuZGV0IFBlcmwta29tcGF0aWJsZSByZWd1bMOkcmUgQXVzZHLDvGNrZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc4CisjOiBidWlsdGluL2dyZXAuYzo2ODAKIG1zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKIG1zZ3N0ciAiemVpZ3QgWmVpbGVubnVtbWVybiIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc5CisjOiBidWlsdGluL2dyZXAuYzo2ODEKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAiemVpZ3Qga2VpbmUgRGF0ZWluYW1lbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjgwCisjOiBidWlsdGluL2dyZXAuYzo2ODIKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAiemVpZ3QgRGF0ZWluYW1lbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjgyCisjOiBidWlsdGluL2dyZXAuYzo2ODQKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJ6ZWlndCBEYXRlaW5hbWVuIHJlbGF0aXYgenVtIFByb2pla3R2ZXJ6ZWljaG5pcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg0CisjOiBidWlsdGluL2dyZXAuYzo2ODYKIG1zZ2lkICJzaG93IG9ubHkgZmlsZW5hbWVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgInplaWd0IG51ciBEYXRlaW5hbWVuIGFuc3RhdHQgw7xiZXJlaW5zdGltbWVuZGUgWmVpbGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4OAogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICJTeW5vbnltIGbDvHIgLS1maWxlcy13aXRoLW1hdGNoZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4OQorIzogYnVpbHRpbi9ncmVwLmM6NjkxCiBtc2dpZCAic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIgogbXNnc3RyICJ6ZWlndCBudXIgZGllIERhdGVpbmFtZW4gb2huZSDDnGJlcmVpbnN0aW1tdW5nZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5MQorIzogYnVpbHRpbi9ncmVwLmM6NjkzCiBtc2dpZCAicHJpbnQgTlVMIGFmdGVyIGZpbGVuYW1lcyIKIG1zZ3N0ciAiZ2lidCBOVUwtWmVpY2hlbiBuYWNoIERhdGVpbmFtZW4gYXVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5NQogbXNnaWQgInNob3cgdGhlIG51bWJlciBvZiBtYXRjaGVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgInplaWd0LCBhbnN0YXR0IGRlciBaZWlsZW4sIGRpZSBBbnphaGwgZGVyIMO8YmVyZWluc3RpbW1lbmRlbiBaZWlsZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5NAorIzogYnVpbHRpbi9ncmVwLmM6Njk2CiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgImhlYnQgw5xiZXJlaW5zdGltbXVuZ2VuIGhlcnZvciIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk2CisjOiBidWlsdGluL2dyZXAuYzo2OTgKIG1zZ2lkICJwcmludCBlbXB0eSBsaW5lIGJldHdlZW4gbWF0Y2hlcyBmcm9tIGRpZmZlcmVudCBmaWxlcyIKIG1zZ3N0ciAiIgogImdpYnQgZWluZSBMZWVyemVpbGUgendpc2NoZW4gw5xiZXJlaW5zdGltbXVuZ2VuIGluIHZlcnNjaGllZGVuZW4gRGF0ZWllbiBhdXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5OAorIzogYnVpbHRpbi9ncmVwLmM6NzAwCiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAiIgogInplaWd0IGRlbiBEYXRlaW5hbWVuIG51ciBlaW5tYWwgb2JlcmhhbGIgZGVyIMOcYmVyZWluc3RpbW11bmdlbiBhdXMgZGllc2VyICIKICJEYXRlaSBhbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAxCisjOiBidWlsdGluL2dyZXAuYzo3MDMKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBhbmQgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAiemVpZ3QgPG4+IFplaWxlbiB2b3IgdW5kIG5hY2ggZGVuIMOcYmVyZWluc3RpbW11bmdlbiBhbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA0CisjOiBidWlsdGluL2dyZXAuYzo3MDYKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICJ6ZWlndCA8bj4gWmVpbGVuIHZvciBkZW4gw5xiZXJlaW5zdGltbXVuZ2VuIGFuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwOAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAiemVpZ3QgPG4+IFplaWxlbiBuYWNoIGRlbiDDnGJlcmVpbnN0aW1tdW5nZW4gYW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNworIzogYnVpbHRpbi9ncmVwLmM6NzA5CiBtc2dpZCAic2hvcnRjdXQgZm9yIC1DIE5VTSIKIG1zZ3N0ciAiS3VyemZvcm0gZsO8ciAtQyBOVU0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxMAorIzogYnVpbHRpbi9ncmVwLmM6NzEyCiBtc2dpZCAic2hvdyBhIGxpbmUgd2l0aCB0aGUgZnVuY3Rpb24gbmFtZSBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAiemVpZ3QgZWluZSBaZWlsZSBtaXQgZGVtIEZ1bmt0aW9uc25hbWVuIHZvciDDnGJlcmVpbnN0aW1tdW5nZW4gYW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxMgorIzogYnVpbHRpbi9ncmVwLmM6NzE0CiBtc2dpZCAic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iCiBtc2dzdHIgInplaWd0IGRpZSB1bWdlYmVuZGUgRnVua3Rpb24gYW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxNQorIzogYnVpbHRpbi9ncmVwLmM6NzE3CiBtc2dpZCAicmVhZCBwYXR0ZXJucyBmcm9tIGZpbGUiCiBtc2dzdHIgImxpZXN0IE11c3RlciB2b24gZWluZXIgRGF0ZWkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxNworIzogYnVpbHRpbi9ncmVwLmM6NzE5CiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICJmaW5kZXQgPE11c3Rlcj4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxOQorIzogYnVpbHRpbi9ncmVwLmM6NzIxCiBtc2dpZCAiY29tYmluZSBwYXR0ZXJucyBzcGVjaWZpZWQgd2l0aCAtZSIKIG1zZ3N0ciAia29tYmluaWVydCBNdXN0ZXIsIGRpZSBtaXQgLWUgYW5nZWdlYmVuIHd1cmRlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzMxCisjOiBidWlsdGluL2dyZXAuYzo3MzMKIG1zZ2lkICJpbmRpY2F0ZSBoaXQgd2l0aCBleGl0IHN0YXR1cyB3aXRob3V0IG91dHB1dCIKIG1zZ3N0ciAiemVpZ3Qgw5xiZXJlaW5zdGltbXVuZ2VuIG51ciBkdXJjaCBCZWVuZGlndW5nc3N0YXR1cyBhbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzMzCisjOiBidWlsdGluL2dyZXAuYzo3MzUKIG1zZ2lkICJzaG93IG9ubHkgbWF0Y2hlcyBmcm9tIGZpbGVzIHRoYXQgbWF0Y2ggYWxsIHBhdHRlcm5zIgogbXNnc3RyICJ6ZWlndCBudXIgw5xiZXJlaW5zdGltbXVuZ2VuIHZvbiBEYXRlaWVuLCBkaWUgYWxsZW4gTXVzdGVybiBlbnRzcHJlY2hlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzM1CisjOiBidWlsdGluL2dyZXAuYzo3MzcKIG1zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiemVpZ3QgZ2VwYXJzdGVzIFZlcnplaWNobmlzIGbDvHIgXCJncmVwXCItQXVzZHJ1Y2siCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczOQorIzogYnVpbHRpbi9ncmVwLmM6NzQxCiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgIkFuemVpZ2Vwcm9ncmFtbSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzM5CisjOiBidWlsdGluL2dyZXAuYzo3NDEKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAiemVpZ3QgRGF0ZWllbiBtaXQgw5xiZXJlaW5zdGltbXVuZ2VuIGltIEFuemVpZ2Vwcm9ncmFtbSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQyCisjOiBidWlsdGluL2dyZXAuYzo3NDQKIG1zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCiBtc2dzdHIgImVybGF1YnQgZGVuIEF1ZnJ1ZiB2b24gZ3JlcCgxKSAodm9uIGRpZXNlciBQcm9ncmFtbXZlcnNpb24gaWdub3JpZXJ0KSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQzIGJ1aWx0aW4vc2hvdy1yZWYuYzoxODgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0NSBidWlsdGluL3Nob3ctcmVmLmM6MTg3CiBtc2dpZCAic2hvdyB1c2FnZSIKIG1zZ3N0ciAiemVpZ3QgVmVyd2VuZHVuZyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODEwCisjOiBidWlsdGluL2dyZXAuYzo4MTIKIG1zZ2lkICJubyBwYXR0ZXJuIGdpdmVuLiIKIG1zZ3N0ciAia2VpbmUgTXVzdGVyIGFuZ2VnZWJlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODY1CisjOiBidWlsdGluL2dyZXAuYzo4NzAKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uIC0tb3Blbi1maWxlcy1pbi1wYWdlciBrYW5uIG51ciBpbm5lcmhhbGIgZGVzICIKICJBcmJlaXRzdmVyemVpY2huaXNzZXMgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4OAorIzogYnVpbHRpbi9ncmVwLmM6ODkzCiBtc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb25lbiAtLWNhY2hlZCB1bmQgLS11bnRyYWNrZWQga8O2bm5lbiBuaWNodCBtaXQgLS1uby1pbmRleCB2ZXJ3ZW5kZXQgIgogIndlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg5MworIzogYnVpbHRpbi9ncmVwLmM6ODk4CiBtc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMuIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbmVuIC0tbm8taW5kZXggdW5kIC0tdW50cmFja2VkIGvDtm5uZW4gbmljaHQgbWl0IENvbW1pdHMgdmVyd2VuZGV0ICIKICJ3ZXJkZW4uIgogCi0jOiBidWlsdGluL2dyZXAuYzo4OTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMQogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzLiIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb24gLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQga2FubiBuaWNodCBtaXQgYmVvYmFjaHRldGVuIEluaGFsdGVuICIKICJ2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTA0CisjOiBidWlsdGluL2dyZXAuYzo5MDkKIG1zZ2lkICJib3RoIC0tY2FjaGVkIGFuZCB0cmVlcyBhcmUgZ2l2ZW4uIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tY2FjaGVkIGthbm4gbmljaHQgbWl0IFwiVHJlZVwiLU9iamVrdGVuIHZlcndlbmRldCB3ZXJkZW4uIgogCkBAIC01Nzk5LDggKzU5OTYsOCBAQAogbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKIG1zZ3N0ciAiU0hBMSBLT0xMSVNJT04gTUlUICVzIEdFRlVOREVOICEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjY2OSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3MAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjY2OSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgImthbm4gJXMgbmljaHQgbGVzZW4iCkBAIC01ODI5LDE1NSArNjAyNiwxNTUgQEAKIG1zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKIG1zZ3N0ciAiTmljaHQgYWxsZSBLaW5kLU9iamVrdGUgdm9uICVzIHNpbmQgZXJyZWljaGJhciIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODM4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg2OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODM5IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg2OQogbXNnaWQgImZhaWxlZCB0byBhcHBseSBkZWx0YSIKIG1zZ3N0ciAiS29ubnRlIERhdGVpdW50ZXJzY2hpZWQgbmljaHQgYW53ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMTAKIG1zZ2lkICJSZWNlaXZpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiRW1wZmFuZ2UgT2JqZWt0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTAwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTAxMAogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgIkluZGl6aWVyZSBPYmpla3RlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM2CiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICJQYWtldCBpc3QgYmVzY2jDpGRpZ3QgKFNIQTEgdW50ZXJzY2hpZWRsaWNoKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA0MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA0MQogbXNnaWQgImNhbm5vdCBmc3RhdCBwYWNrZmlsZSIKIG1zZ3N0ciAia2FubiBQYWtldGRhdGVpIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQ0CiBtc2dpZCAicGFjayBoYXMganVuayBhdCB0aGUgZW5kIgogbXNnc3RyICJQYWtldGVuZGUgZW50aMOkbHQgbmljaHQgdmVyd2VuZGJhcmVuIEluaGFsdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA1NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA1NQogbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkgaW4gcGFyc2VfcGFja19vYmplY3RzKCkiCiBtc2dzdHIgIkZlaGxlciBiZWltIEF1c2bDvGhyZW4gdm9uIFwicGFyc2VfcGFja19vYmplY3RzKClcIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA3NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA3OAogbXNnaWQgIlJlc29sdmluZyBkZWx0YXMiCiBtc2dzdHIgIkzDtnNlIFVudGVyc2NoaWVkZSBhdWYiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwODcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwODgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJrYW5uIFRocmVhZCBuaWNodCBlcnpldWdlbjogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMzAKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICJGZWhsZXIgYmVpbSBBdWZsw7ZzZW4gZGVyIFVudGVyc2NoaWVkZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgogbXNnc3RyICJ2ZXJ2b2xsc3TDpG5kaWd0IG1pdCAlZCBsb2thbGVuIE9iamVrdGVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICJVbmVyd2FydGV0ZSBQcsO8ZnN1bW1lIGbDvHIgJXMgKEZlc3RwbGF0dGVuZmVobGVyPykiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YSIKIG1zZ2lkX3BsdXJhbCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YXMiCiBtc2dzdHJbMF0gIlBha2V0IGhhdCAlZCB1bmF1ZmdlbMO2c3RlIFVudGVyc2NoaWVkIgogbXNnc3RyWzFdICJQYWtldCBoYXQgJWQgdW5hdWZnZWzDtnN0ZSBVbnRlcnNjaGllZGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgYXBwZW5kZWQgb2JqZWN0ICglZCkiCiBtc2dzdHIgIktvbm50ZSBhbmdlaMOkbmd0ZXMgT2JqZWt0ICglZCkgbmljaHQga29tcHJpbWllcmVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvY2FsIG9iamVjdCAlcyBpcyBjb3JydXB0IgogbXNnc3RyICJsb2thbGVzIE9iamVrdCAlcyBpc3QgYmVzY2jDpGRpZ3QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNzkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyODAKIG1zZ2lkICJlcnJvciB3aGlsZSBjbG9zaW5nIHBhY2sgZmlsZSIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gU2NobGllw59lbiBkZXIgUGFrZXRkYXRlaSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUga2VlcCBmaWxlICclcyciCiBtc2dzdHIgIkthbm4gUGFrZXRiZXNjaHJlaWJ1bmdzZGF0ZWkgJyVzJyBuaWNodCBzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNsb3NlIHdyaXR0ZW4ga2VlcCBmaWxlICclcyciCiBtc2dzdHIgIkthbm4gZWJlbiBlcnN0ZWxsdGUgUGFrZXRiZXNjaHJlaWJ1bmdzZGF0ZWkgJyVzJyBuaWNodCBzY2hsaWXDn2VuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzEzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzE0CiBtc2dpZCAiY2Fubm90IHN0b3JlIHBhY2sgZmlsZSIKIG1zZ3N0ciAiS2FubiBQYWtldGRhdGVpIG5pY2h0IHNwZWljaGVybiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMyNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMyNQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICJLYW5uIEluZGV4ZGF0ZWkgbmljaHQgc3BlaWNoZXJuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzU3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiBtc2dzdHIgIlwicGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+XCIgaXN0IHVuZ8O8bHRpZyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIgogbXNnc3RyICJ1bmfDvGx0aWdlIEFuemFobCB2b24gVGhyZWFkcyBhbmdlZ2ViZW4gKCVkKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2NyBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzY4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAlcyIKIG1zZ3N0ciAia2VpbmUgVW50ZXJzdMO8dHp1bmcgdm9uIFRocmVhZHMsICclcycgd2lyZCBpZ25vcmllcnQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIkthbm4gZXhpc3RpZXJlbmRlIFBha2V0ZGF0ZWkgJyVzJyBuaWNodCDDtmZmbmVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgIkthbm4gZXhpc3RpZXJlbmRlIEluZGV4ZGF0ZWkgZsO8ciBQYWtldCAnJXMnIG5pY2h0IMO2ZmZuZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKIG1zZ3N0clswXSAia2VpbiBVbnRlcnNjaGllZDogJWQgT2JqZWt0IgogbXNnc3RyWzFdICJrZWluIFVudGVyc2NoaWVkOiAlZCBPYmpla3RlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCiBtc2dzdHJbMF0gIkzDpG5nZSBkZXIgT2JqZWt0LUxpc3RlID0gJWQ6ICVsdSBPYmpla3QiCiBtc2dzdHJbMV0gIkzDpG5nZSBkZXIgT2JqZWt0LUxpc3RlID0gJWQ6ICVsdSBPYmpla3RlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTEwCiBtc2dpZCAiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiCiBtc2dzdHIgIkthbm4gbmljaHQgenVyw7xjayB6dSBBcmJlaXRzdmVyemVpY2huaXMgd2VjaHNlbG4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2MAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3MiBidWlsdGluL2luZGV4LXBhY2suYzoxNTc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTU4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NjEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NzMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgIiVzIGlzdCB1bmfDvGx0aWciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTEKIG1zZ2lkICItLWZpeC10aGluIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgLS1zdGRpbiIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLWZpeC10aGluIGthbm4gbmljaHQgb2huZSAtLXN0ZGluIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKIG1zZ3N0ciAiTmFtZSBkZXIgUGFrZXRkYXRlaSAnJXMnIGVuZGV0IG5pY2h0IG1pdCAnLnBhY2snIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjEzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjE0CiBtc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tdmVyaWZ5IHd1cmRlIG9obmUgTmFtZW4gZGVyIFBha2V0ZGF0ZWkgYW5nZWdlYmVuLiIKIApAQCAtNjA2NiwxMSArNjI2Myw2IEBACiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgIktvbm50ZSAlcyBuaWNodCBuYWNoICVzIHZlcnNjaGllYmVuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBnaXQgbGluayAlcyIKLW1zZ3N0ciAiS29ubnRlIGdpdC1WZXJ3ZWlzICVzIG5pY2h0IGVyc3RlbGxlbiIKLQogIy4KICMuICogVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAnJXMnIGlzIGVpdGhlciAiUmVpbml0aWFsaXplZAogIy4gKiBleGlzdGluZyIgb3IgIkluaXRpYWxpemVkIGVtcHR5IiwgdGhlIHNlY29uZCAiIHNoYXJlZCIgb3IKQEAgLTYxMTMsNyArNjMwNSw3IEBACiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgogbXNnc3RyICJnaWJ0IGFuLCBkYXNzIGRhcyBHaXQtUmVwb3NpdG9yeSBtaXQgbWVocmVyZW4gQmVudXR6ZXJuIGdldGVpbHQgd2lyZCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDkzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5MyBidWlsdGluL3BydW5lLXBhY2tlZC5jOjc1IGJ1aWx0aW4vcmVwYWNrLmM6MTU1CiBtc2dpZCAiYmUgcXVpZXQiCiBtc2dzdHIgIndlbmlnZXIgQXVzZ2FiZW4iCiAKQEAgLTYxNTMsMjQ5ICs2MzQ1LDI0OSBAQAogbXNnaWQgIiAgIG9yOiBnaXQgc2hvdyBbb3B0aW9uc10gPG9iamVjdD4uLi4iCiBtc2dzdHIgIiAgIG9kZXI6IGdpdCBzaG93IFtPcHRpb25lbl0gPE9iamVrdD4uLi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI0CisjOiBidWlsdGluL2xvZy5jOjEyNQogbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgogbXNnc3RyICJ1bnRlcmRyw7xja3QgQXVzZ2FiZSBkZXIgVW50ZXJzY2hpZWRlIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNQorIzogYnVpbHRpbi9sb2cuYzoxMjYKIG1zZ2lkICJzaG93IHNvdXJjZSIKIG1zZ3N0ciAiemVpZ3QgUXVlbGxlIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNgorIzogYnVpbHRpbi9sb2cuYzoxMjcKIG1zZ2lkICJVc2UgbWFpbCBtYXAgZmlsZSIKIG1zZ3N0ciAidmVyd2VuZGV0IFwibWFpbG1hcFwiLURhdGVpIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNworIzogYnVpbHRpbi9sb2cuYzoxMjgKIG1zZ2lkICJkZWNvcmF0ZSBvcHRpb25zIgogbXNnc3RyICJkZWNvcmF0ZS1PcHRpb25lbiIKIAotIzogYnVpbHRpbi9sb2cuYzoyMzAKKyM6IGJ1aWx0aW4vbG9nLmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpbmFsIG91dHB1dDogJWQgJXNcbiIKIG1zZ3N0ciAibGV0enRlIEF1c2dhYmU6ICVkICVzXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDUzIGJ1aWx0aW4vbG9nLmM6NTQ1CisjOiBidWlsdGluL2xvZy5jOjQ3MyBidWlsdGluL2xvZy5jOjU2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIkthbm4gT2JqZWt0ICVzIG5pY2h0IGxlc2VuLiIKIAotIzogYnVpbHRpbi9sb2cuYzo1NjkKKyM6IGJ1aWx0aW4vbG9nLmM6NTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdHlwZTogJWQiCiBtc2dzdHIgIlVuYmVrYW5udGVyIFR5cDogJWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NjY5CisjOiBidWlsdGluL2xvZy5jOjY4OQogbXNnaWQgImZvcm1hdC5oZWFkZXJzIHdpdGhvdXQgdmFsdWUiCiBtc2dzdHIgImZvcm1hdC5oZWFkZXJzIG9obmUgV2VydCIKIAotIzogYnVpbHRpbi9sb2cuYzo3NTEKKyM6IGJ1aWx0aW4vbG9nLmM6NzcxCiBtc2dpZCAibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIgogbXNnc3RyICJOYW1lIGRlcyBBdXNnYWJldmVyemVpY2huaXNzZXMgaXN0IHp1IGxhbmcuIgogCi0jOiBidWlsdGluL2xvZy5jOjc2NworIzogYnVpbHRpbi9sb2cuYzo3ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKIG1zZ3N0ciAiS2FubiBQYXRjaC1EYXRlaSAlcyBuaWNodCDDtmZmbmVuIgogCi0jOiBidWlsdGluL2xvZy5jOjc4MQorIzogYnVpbHRpbi9sb2cuYzo4MDEKIG1zZ2lkICJOZWVkIGV4YWN0bHkgb25lIHJhbmdlLiIKIG1zZ3N0ciAiQnJhdWNoZSBnZW5hdSBlaW5lbiBDb21taXQtQmVyZWljaC4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6Nzg5CisjOiBidWlsdGluL2xvZy5jOjgwOQogbXNnaWQgIk5vdCBhIHJhbmdlLiIKIG1zZ3N0ciAiS2VpbiBDb21taXQtQmVyZWljaC4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODkxCisjOiBidWlsdGluL2xvZy5jOjkxMQogbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCiBtc2dzdHIgIkFuc2NocmVpYmVuIGJlbsO2dGlndCBFLU1haWwtRm9ybWF0IgogCi0jOiBidWlsdGluL2xvZy5jOjk2NworIzogYnVpbHRpbi9sb2cuYzo5ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5zYW5lIGluLXJlcGx5LXRvOiAlcyIKIG1zZ3N0ciAidW5nw7xsdGlnZXMgaW4tcmVwbHktdG86ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjk5NQorIzogYnVpbHRpbi9sb2cuYzoxMDE1CiBtc2dpZCAiZ2l0IGZvcm1hdC1wYXRjaCBbb3B0aW9uc10gWzxzaW5jZT4gfCA8cmV2aXNpb24gcmFuZ2U+XSIKIG1zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBbT3B0aW9uZW5dIFs8c2VpdD4gfCA8Q29tbWl0YmVyZWljaD5dIgogCi0jOiBidWlsdGluL2xvZy5jOjEwNDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTA2MAogbXNnaWQgIlR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgogbXNnc3RyICJad2VpIEF1c2dhYmV2ZXJ6ZWljaG5pc3NlPyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTU1CisjOiBidWlsdGluL2xvZy5jOjExNzUKIG1zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgogbXNnc3RyICJ2ZXJ3ZW5kZXQgW1BBVENIIG4vbV0gYXVjaCBtaXQgZWluemVsbmVtIFBhdGNoIgogCi0jOiBidWlsdGluL2xvZy5jOjExNTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTE3OAogbXNnaWQgInVzZSBbUEFUQ0hdIGV2ZW4gd2l0aCBtdWx0aXBsZSBwYXRjaGVzIgogbXNnc3RyICJ2ZXJ3ZW5kZXQgW1BBVENIXSBhdWNoIG1pdCBtZWhyZXJlbiBQYXRjaGVzIgogCi0jOiBidWlsdGluL2xvZy5jOjExNjIKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4MgogbXNnaWQgInByaW50IHBhdGNoZXMgdG8gc3RhbmRhcmQgb3V0IgogbXNnc3RyICJBdXNnYWJlIGRlciBQYXRjaGVzIGluIFN0YW5kYXJkLUF1c2dhYmUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2NAorIzogYnVpbHRpbi9sb2cuYzoxMTg0CiBtc2dpZCAiZ2VuZXJhdGUgYSBjb3ZlciBsZXR0ZXIiCiBtc2dzdHIgImVyemV1Z3QgZWluIERlY2tibGF0dCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTY2CisjOiBidWlsdGluL2xvZy5jOjExODYKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgInZlcndlbmRldCBlaW5mYWNoZSBOdW1tZXJuZm9sZ2UgZsO8ciBkaWUgTmFtZW4gZGVyIEF1c2dhYmVkYXRlaWVuIgogCi0jOiBidWlsdGluL2xvZy5jOjExNjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4NwogbXNnaWQgInNmeCIKIG1zZ3N0ciAiRGF0ZWllbmR1bmciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2OAorIzogYnVpbHRpbi9sb2cuYzoxMTg4CiBtc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCiBtc2dzdHIgInZlcndlbmRldCA8RGF0ZWllbmR1bmc+IGFuc3RhdHQgJy5wYXRjaCciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE3MAorIzogYnVpbHRpbi9sb2cuYzoxMTkwCiBtc2dpZCAic3RhcnQgbnVtYmVyaW5nIHBhdGNoZXMgYXQgPG4+IGluc3RlYWQgb2YgMSIKIG1zZ3N0ciAiYmVnaW5udCBkaWUgTnVtbWVyaWVydW5nIGRlciBQYXRjaGVzIGJlaSA8bj4gYW5zdGF0dCBiZWkgMSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTcyCisjOiBidWlsdGluL2xvZy5jOjExOTIKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgImtlbm56ZWljaG5ldCBkaWUgU2VyaWUgYWxzIG4tdGUgRmFzc3VuZyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTc0CisjOiBidWlsdGluL2xvZy5jOjExOTQKIG1zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCi1tc2dzdHIgInZlcndlbmRldCBbPFByZWZpeD5dIGFuc3RhdHQgW1BBVENIXSIKK21zZ3N0ciAidmVyd2VuZGV0IFs8UHLDpGZpeD5dIGFuc3RhdHQgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTc3CisjOiBidWlsdGluL2xvZy5jOjExOTcKIG1zZ2lkICJzdG9yZSByZXN1bHRpbmcgZmlsZXMgaW4gPGRpcj4iCiBtc2dzdHIgInNwZWljaGVydCBlcnpldWd0ZSBEYXRlaWVuIGluIDxWZXJ6ZWljaG5pcz4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE4MAorIzogYnVpbHRpbi9sb2cuYzoxMjAwCiBtc2dpZCAiZG9uJ3Qgc3RyaXAvYWRkIFtQQVRDSF0iCiBtc2dzdHIgIltQQVRDSF0gd2lyZCBuaWNodCBlbnRmZXJudC9oaW56dWdlZsO8Z3QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE4MworIzogYnVpbHRpbi9sb2cuYzoxMjAzCiBtc2dpZCAiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIKIG1zZ3N0ciAiZ2lidCBrZWluZSBiaW7DpHJlbiBVbnRlcnNjaGllZGUgYXVzIgogCi0jOiBidWlsdGluL2xvZy5jOjExODUKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwNQogbXNnaWQgImRvbid0IGluY2x1ZGUgYSBwYXRjaCBtYXRjaGluZyBhIGNvbW1pdCB1cHN0cmVhbSIKIG1zZ3N0ciAiIgogInNjaGxpZcOfdCBrZWluZSBQYXRjaGVzIGVpbiwgZGllIGVpbmVtIENvbW1pdCBpbSBVcHN0cmVhbS1CcmFuY2ggZW50c3ByZWNoZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE4NworIzogYnVpbHRpbi9sb2cuYzoxMjA3CiBtc2dpZCAic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIgogbXNnc3RyICJ6ZWlndCBQYXRjaGZvcm1hdCBhbnN0YXR0IGRlcyBTdGFuZGFyZHMgKFBhdGNoICsgWnVzYW1tZW5mYXNzdW5nKSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTg5CisjOiBidWlsdGluL2xvZy5jOjEyMDkKIG1zZ2lkICJNZXNzYWdpbmciCiBtc2dzdHIgIkVtYWlsLUVpbnN0ZWxsdW5nZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5MAorIzogYnVpbHRpbi9sb2cuYzoxMjEwCiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICJIZWFkZXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5MQorIzogYnVpbHRpbi9sb2cuYzoxMjExCiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKIG1zZ3N0ciAiZsO8Z3QgRW1haWwtSGVhZGVyIGhpbnp1IgogCi0jOiBidWlsdGluL2xvZy5jOjExOTIgYnVpbHRpbi9sb2cuYzoxMTk0CisjOiBidWlsdGluL2xvZy5jOjEyMTIgYnVpbHRpbi9sb2cuYzoxMjE0CiBtc2dpZCAiZW1haWwiCiBtc2dzdHIgIkVtYWlsIgogCi0jOiBidWlsdGluL2xvZy5jOjExOTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxMgogbXNnaWQgImFkZCBUbzogaGVhZGVyIgogbXNnc3RyICJmw7xndCAgXCJUbzpcIi1IZWFkZXIgaGluenUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5NAorIzogYnVpbHRpbi9sb2cuYzoxMjE0CiBtc2dpZCAiYWRkIENjOiBoZWFkZXIiCiBtc2dzdHIgImbDvGd0IFwiQ2M6XCItSGVhZGVyIGhpbnp1IgogCi0jOiBidWlsdGluL2xvZy5jOjExOTYKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNgogbXNnaWQgImlkZW50IgogbXNnc3RyICJJZGVudCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTk3CisjOiBidWlsdGluL2xvZy5jOjEyMTcKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICIiCiAic2V0enQgXCJGcm9tXCItQWRyZXNzZSBhdWYgPElkZW50PiAob2RlciBJZGVudCBkZXMgQ29tbWl0LUVyc3RlbGxlcnMsd2VubiAiCiAiZmVobGVuZCkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5OQorIzogYnVpbHRpbi9sb2cuYzoxMjE5CiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAibWVzc2FnZS1pZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjAwCisjOiBidWlsdGluL2xvZy5jOjEyMjAKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgIm1hY2h0IGF1cyBlcnN0ZXIgRW1haWwgZWluZSBBbnR3b3J0IHp1IDxtZXNzYWdlLWlkPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjAxIGJ1aWx0aW4vbG9nLmM6MTIwNAorIzogYnVpbHRpbi9sb2cuYzoxMjIxIGJ1aWx0aW4vbG9nLmM6MTIyNAogbXNnaWQgImJvdW5kYXJ5IgogbXNnc3RyICJHcmVuemUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwMgorIzogYnVpbHRpbi9sb2cuYzoxMjIyCiBtc2dpZCAiYXR0YWNoIHRoZSBwYXRjaCIKIG1zZ3N0ciAiaMOkbmd0IGVpbmVuIFBhdGNoIGFuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTIyNQogbXNnaWQgImlubGluZSB0aGUgcGF0Y2giCiBtc2dzdHIgImbDvGd0IGRlbiBQYXRjaCBkaXJla3QgaW4gZGllIE5hY2hyaWNodCBlaW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwOQorIzogYnVpbHRpbi9sb2cuYzoxMjI5CiBtc2dpZCAiZW5hYmxlIG1lc3NhZ2UgdGhyZWFkaW5nLCBzdHlsZXM6IHNoYWxsb3csIGRlZXAiCiBtc2dzdHIgImFrdGl2aWVydCBOYWNocmljaHRlbnZlcmtldHR1bmcsIFN0aWxlOiBzaGFsbG93LCBkZWVwIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTIzMQogbXNnaWQgInNpZ25hdHVyZSIKIG1zZ3N0ciAiU2lnbmF0dXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIxMgorIzogYnVpbHRpbi9sb2cuYzoxMjMyCiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgogbXNnc3RyICJmw7xndCBlaW5lIFNpZ25hdHVyIGhpbnp1IgogCi0jOiBidWlsdGluL2xvZy5jOjEyMTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTIzMwogbXNnaWQgImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiCiBtc2dzdHIgInplaWd0IGtlaW5lIERhdGVpbmFtZW4gZGVyIFBhdGNoZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI4OAorIzogYnVpbHRpbi9sb2cuYzoxMzA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgSWRlbnRpZmlrYXRpb25zemVpbGU6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTMyMgogbXNnaWQgIi1uIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC1uIHVuZCAtayBzY2hsaWXDn2VuIHNpY2ggZ2VnZW5zZWl0aWcgYXVzLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzA1CisjOiBidWlsdGluL2xvZy5jOjEzMjQKIG1zZ2lkICItLXN1YmplY3QtcHJlZml4IGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC0tc3ViamVjdC1wcmVmaXggdW5kIC1rIHNjaGxpZcOfZW4gc2ljaCBnZWdlbnNlaXRpZyBhdXMuIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMTMKKyM6IGJ1aWx0aW4vbG9nLmM6MTMzMgogbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1uYW1lLW9ubHkga2FubiBuaWNodCB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzE1CisjOiBidWlsdGluL2xvZy5jOjEzMzQKIG1zZ2lkICItLW5hbWUtc3RhdHVzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1uYW1lLXN0YXR1cyBrYW5uIG5pY2h0IHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMTcKKyM6IGJ1aWx0aW4vbG9nLmM6MTMzNgogbXNnaWQgIi0tY2hlY2sgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLWNoZWNrIGthbm4gbmljaHQgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM0MAorIzogYnVpbHRpbi9sb2cuYzoxMzU5CiBtc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCiBtc2dzdHIgIlN0YW5kYXJkLUF1c2dhYmUgb2RlciBWZXJ6ZWljaG5pcywgd2VsY2hlcyB2b24gYmVpZGVtPyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzQyCisjOiBidWlsdGluL2xvZy5jOjEzNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIFZlcnplaWNobmlzICclcycgbmljaHQgZXJzdGVsbGVuLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDkwCisjOiBidWlsdGluL2xvZy5jOjE1MDkKIG1zZ2lkICJGYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBmaWxlcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRXJzdGVsbGVuIGRlciBBdXNnYWJlZGF0ZWllbi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzOQorIzogYnVpbHRpbi9sb2cuYzoxNTU4CiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPFVwc3RyZWFtPiBbPEJyYW5jaD4gWzxMaW1pdD5dXV0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU5NAorIzogYnVpbHRpbi9sb2cuYzoxNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgZmluZCBhIHRyYWNrZWQgcmVtb3RlIGJyYW5jaCwgcGxlYXNlIHNwZWNpZnkgPHVwc3RyZWFtPiBtYW51YWxseS5cbiIKQEAgLTY0MDMsMTQzICs2NTk1LDE0MyBAQAogIktvbm50ZSBnZWZvbGd0ZW4gUmVtb3RlLUJyYW5jaCBuaWNodCBmaW5kZW4sIGJpdHRlIGdlYmVuIFNpZSA8VXBzdHJlYW0+ICIKICJtYW51ZWxsIGFuLlxuIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MDcgYnVpbHRpbi9sb2cuYzoxNjA5IGJ1aWx0aW4vbG9nLmM6MTYyMQorIzogYnVpbHRpbi9sb2cuYzoxNjI2IGJ1aWx0aW4vbG9nLmM6MTYyOCBidWlsdGluL2xvZy5jOjE2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBjb21taXQgJXMiCiBtc2dzdHIgIlVuYmVrYW5udGVyIENvbW1pdCAlcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQwOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjM5OAogbXNnaWQgImdpdCBscy1maWxlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCBscy1maWxlcyBbT3B0aW9uZW5dIFs8RGF0ZWk+Li4uXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1NQogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgInplaWd0IGRlbiBEYXRlaXN0YXR1cyBtaXQgVGFncyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1NwogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgogbXNnc3RyICIiCiAidmVyd2VuZGV0IEtsZWluYnVjaHN0YWJlbiBmw7xyIERhdGVpZW4gbWl0ICdhc3N1bWUgdW5jaGFuZ2VkJyBNYXJraWVydW5nIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU5CiBtc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCiBtc2dzdHIgInplaWd0IHp3aXNjaGVuZ2VzcGVpY2hlcnRlbiBEYXRlaWVuIGluIGRlciBBdXNnYWJlIGFuIChTdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjEKIG1zZ2lkICJzaG93IGRlbGV0ZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiemVpZ3QgZW50ZmVybnRlIERhdGVpZW4gaW4gZGVyIEF1c2dhYmUgYW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjMKIG1zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgInplaWd0IGdlw6RuZGVydGUgRGF0ZWllbiBpbiBkZXIgQXVzZ2FiZSBhbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NQogbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiemVpZ3Qgc29uc3RpZ2UgRGF0ZWllbiBpbiBkZXIgQXVzZ2FiZSBhbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NwogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJ6ZWlndCBpZ25vcmllcnRlIERhdGVpZW4gaW4gZGVyIEF1c2dhYmUgYW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzAKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiIgogInplaWd0IE9iamVrdG5hbWVuIHZvbiBJbmhhbHRlbiwgZGllIHp1bSBDb21taXQgdm9yZ2VtZXJrdCBzaW5kLCBpbiBkZXIgIgogIkF1c2dhYmUgYW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzIKIG1zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgogbXNnc3RyICJ6ZWlndCBEYXRlaWVuIGltIERhdGVpc3lzdGVtLCBkaWUgZ2Vsw7ZzY2h0IHdlcmRlbiBtw7xzc2VuLCBhbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NAogbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZSBvbmx5IgogbXNnc3RyICJ6ZWlndCBudXIgTmFtZW4gdm9uICdzb25zdGlnZW4nIFZlcnplaWNobmlzc2VuIGFuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDg3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDc3CiBtc2dpZCAiZG9uJ3Qgc2hvdyBlbXB0eSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiemVpZ3Qga2VpbmUgbGVlcmVuIFZlcnplaWNobmlzc2UgYW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODAKIG1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgInplaWd0IG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gaW4gZGVyIEF1c2dhYmUgYW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODIKIG1zZ2lkICJzaG93IHJlc29sdmUtdW5kbyBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiemVpZ3QgJ3Jlc29sdmUtdW5kbycgSW5mb3JtYXRpb25lbiBhbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NAogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAibMOkc3N0IERhdGVpZW4gYXVzLCBkaWUgZWluZW0gTXVzdGVyIGVudHNwcmVjaGVuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDk3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDg3CiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAic2NobGllw590IE11c3RlciwgZ2VsZXNlbiB2b24gPERhdGVpPiwgYXVzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTAwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDkwCiBtc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCiBtc2dzdHIgImxpZXN0IHp1c8OkdHpsaWNoZSBwcm8tVmVyemVpY2huaXMgQXVzY2hsdXNzbXVzdGVyIGF1cyA8RGF0ZWk+IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTAyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDkyCiBtc2dpZCAiYWRkIHRoZSBzdGFuZGFyZCBnaXQgZXhjbHVzaW9ucyIKIG1zZ3N0ciAiZsO8Z3QgZGllIHN0YW5kYXJkbcOkw59pZ2VuIEdpdC1BdXNzY2hsw7xzc2UgaGluenUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTUKIG1zZ2lkICJtYWtlIHRoZSBvdXRwdXQgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAiQXVzZ2FiZSByZWxhdGl2IHp1bSBQcm9qZWt0dmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTgKIG1zZ2lkICJpZiBhbnkgPGZpbGU+IGlzIG5vdCBpbiB0aGUgaW5kZXgsIHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IiCiBtc2dzdHIgIiIKICJiZWhhbmRsZSBlcyBhbHMgRmVobGVyLCB3ZW5uIHNpY2ggZWluZSA8RGF0ZWk+IG5pY2h0IGluIGRlciBTdGFnaW5nLUFyZWEgIgogImJlZmluZGV0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTA5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDk5CiBtc2dpZCAidHJlZS1pc2giCiBtc2dzdHIgIkNvbW1pdC1SZWZlcmVueiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUwMAogbXNnaWQgInByZXRlbmQgdGhhdCBwYXRocyByZW1vdmVkIHNpbmNlIDx0cmVlLWlzaD4gYXJlIHN0aWxsIHByZXNlbnQiCiBtc2dzdHIgIiIKICJnaWJ0IHZvciwgZGFzcyBQZmFkZSwgZGllIHNlaXQgPENvbW1pdC1SZWZlcmVuej4gZ2Vsw7ZzY2h0IHd1cmRlbiwgaW1tZXIgbm9jaCAiCiAidm9yaGFuZGVuIHNpbmQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDIKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICJ6ZWlndCBBdXNnYWJlbiB6dXIgRmVobGVyc3VjaGUgYW4iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjI3CisjOiBidWlsdGluL2xzLXRyZWUuYzoyOAogbXNnaWQgImdpdCBscy10cmVlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBscy10cmVlIFs8T3B0aW9uZW4+XSA8Q29tbWl0LVJlZmVyZW56PiBbPFBmYWQ+Li4uXSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI1CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMjYKIG1zZ2lkICJvbmx5IHNob3cgdHJlZXMiCiBtc2dzdHIgInplaWd0IG51ciBWZXJ6ZWljaG5pc3NlIGFuIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjcKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyOAogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJ0cmVlcyIKIG1zZ3N0ciAiZsO8aHJ0IFJla3Vyc2lvbiBpbiBVbnRlcnZlcnplaWNobmlzc2VuIGR1cmNoIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjkKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMAogbXNnaWQgInNob3cgdHJlZXMgd2hlbiByZWN1cnNpbmciCiBtc2dzdHIgInplaWd0IFZlcnplaWNobmlzc2UgYmVpIFJla3Vyc2lvbiBhbiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTMyCisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzMKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCBieXRlIgogbXNnc3RyICJzY2hsaWXDn3QgRWludHLDpGdlIG1pdCBOVUwtQnl0ZSBhYiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTMzCisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzQKIG1zZ2lkICJpbmNsdWRlIG9iamVjdCBzaXplIgogbXNnc3RyICJzY2hsaWXDn3QgT2JqZWt0Z3LDtsOfZSBlaW4iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNSBidWlsdGluL2xzLXRyZWUuYzoxMzcKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNiBidWlsdGluL2xzLXRyZWUuYzoxMzgKIG1zZ2lkICJsaXN0IG9ubHkgZmlsZW5hbWVzIgogbXNnc3RyICJsaXN0ZXQgbnVyIERhdGVpbmFtZW4gYXVmIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxNDAKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MQogbXNnaWQgInVzZSBmdWxsIHBhdGggbmFtZXMiCiBtc2dzdHIgInZlcndlbmRldCB2b2xsc3TDpG5kaWdlIFBmYWRuYW1lbiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTQyCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDMKIG1zZ2lkICJsaXN0IGVudGlyZSB0cmVlOyBub3QganVzdCBjdXJyZW50IGRpcmVjdG9yeSAoaW1wbGllcyAtLWZ1bGwtbmFtZSkiCiBtc2dzdHIgIiIKICJsaXN0ZXQgZGFzIGdlc2FtdGUgVmVyemVpY2huaXMgYXVmOyBuaWNodCBudXIgZGFzIGFrdHVlbGxlIFZlcnplaWNobmlzICIKQEAgLTY2MTgsNyArNjgxMCw3IEBACiBtc2dpZCAiVmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgogbXNnc3RyICLDvGJlcnByw7xmdCBkZW4gZ2VuYW5udGVuIENvbW1pdCBhdWYgZWluZSBnw7xsdGlnZSBHUEctU2lnbmF0dXIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTkgYnVpbHRpbi9ub3Rlcy5jOjczOCBidWlsdGluL3JldmVydC5jOjExNAorIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL25vdGVzLmM6NzM4IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKIG1zZ2lkICJzdHJhdGVneSIKIG1zZ3N0ciAiU3RyYXRlZ2llIgogCkBAIC02OTk0LDc2ICs3MTg2LDg3IEBACiBtc2dpZCAiYWxsb3cgY3JlYXRpb24gb2YgbW9yZSB0aGFuIG9uZSB0cmVlIgogbXNnc3RyICJlcmxhdWJ0IGRpZSBFcnN0ZWxsdW5nIHZvbiBtZWhyIGFscyBlaW5lbSBcIlRyZWVcIi1PYmpla3QiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNAorIzogYnVpbHRpbi9tdi5jOjE1CiBtc2dpZCAiZ2l0IG12IFtvcHRpb25zXSA8c291cmNlPi4uLiA8ZGVzdGluYXRpb24+IgogbXNnc3RyICJnaXQgbXYgW09wdGlvbmVuXSA8UXVlbGxlPi4uLiA8WmllbD4iCiAKLSM6IGJ1aWx0aW4vbXYuYzo2NAorIzogYnVpbHRpbi9tdi5jOjY3CiBtc2dpZCAiZm9yY2UgbW92ZS9yZW5hbWUgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICJlcnp3aW5ndCBWZXJzY2hpZWJlbi9VbWJlbmVubmVuLCBhdWNoIHdlbm4gZGFzIFppZWwgZXhpc3RpZXJ0IgogCi0jOiBidWlsdGluL212LmM6NjUKKyM6IGJ1aWx0aW4vbXYuYzo2OAogbXNnaWQgInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIgogbXNnc3RyICLDvGJlcnNwcmluZ3QgRmVobGVyIGJlaW0gVmVyc2NoaWViZW4gb2RlciBVbWJlbmVubmVuIgogCi0jOiBidWlsdGluL212LmM6MTA4CisjOiBidWlsdGluL212LmM6MTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHJlbmFtZSBvZiAnJXMnIHRvICclcydcbiIKIG1zZ3N0ciAiUHLDvGZlIFVtYmVuZW5udW5nIHZvbiAnJXMnIG5hY2ggJyVzJ1xuIgogCi0jOiBidWlsdGluL212LmM6MTEyCisjOiBidWlsdGluL212LmM6MTE3CiBtc2dpZCAiYmFkIHNvdXJjZSIKIG1zZ3N0ciAidW5nw7xsdGlnZSBRdWVsbGUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTUKKyM6IGJ1aWx0aW4vbXYuYzoxMjAKIG1zZ2lkICJjYW4gbm90IG1vdmUgZGlyZWN0b3J5IGludG8gaXRzZWxmIgogbXNnc3RyICJrYW5uIFZlcnplaWNobmlzIG5pY2h0IGluIHNpY2ggc2VsYnN0IHZlcnNjaGllYmVuIgogCi0jOiBidWlsdGluL212LmM6MTE4CisjOiBidWlsdGluL212LmM6MTIzCiBtc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKIG1zZ3N0ciAia2FubiBWZXJ6ZWljaG5pcyBuaWNodCDDvGJlciBEYXRlaSB2ZXJzY2hpZWJlbiIKIAotIzogYnVpbHRpbi9tdi5jOjEyOAorIzogYnVpbHRpbi9tdi5jOjEyOQorIywgYy1mb3JtYXQKK21zZ2lkICJIdWg/IERpcmVjdG9yeSAlcyBpcyBpbiBpbmRleCBhbmQgbm8gc3VibW9kdWxlPyIKK21zZ3N0ciAiSHVoPyBWZXJ6ZWljaG5pcyAlcyBpc3QgenVtIENvbW1pdCB2b3JnZW1lcmt0IHVuZCBrZWluIFN1Ym1vZHVsPyIKKworIzogYnVpbHRpbi9tdi5jOjEzMSBidWlsdGluL3JtLmM6MzE4Cittc2dpZCAiUGxlYXNlLCBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgorbXNnc3RyICIiCisiQml0dGUgbWVya2VuIFNpZSBJaHJlIMOEbmRlcnVuZ2VuIGluIC5naXRtb2R1bGVzIHp1bSBDb21taXQgdm9yIG9kZXIgYmVudXR6ZW5cbiIKKyJTaWUgXCJzdGFzaFwiIHVtIGZvcnR6dWZhaHJlbi4iCisKKyM6IGJ1aWx0aW4vbXYuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVoPyAlLipzIGlzIGluIGluZGV4PyIKIG1zZ3N0ciAiSHVoPyAlLipzIGlzdCB6dW0gQ29tbWl0IHZvcmdlbWVya3Q/IgogCi0jOiBidWlsdGluL212LmM6MTQwCisjOiBidWlsdGluL212LmM6MTU5CiBtc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKIG1zZ3N0ciAiUXVlbGx2ZXJ6ZWljaG5pcyBpc3QgbGVlciIKIAotIzogYnVpbHRpbi9tdi5jOjE3MQorIzogYnVpbHRpbi9tdi5jOjE5MQogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCiBtc2dzdHIgIm5pY2h0IHVudGVyIFZlcnNpb25za29udHJvbGxlIgogCi0jOiBidWlsdGluL212LmM6MTczCisjOiBidWlsdGluL212LmM6MTkzCiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICJaaWVsIGV4aXN0aWVydCBiZXJlaXRzIgogCi0jOiBidWlsdGluL212LmM6MTgxCisjOiBidWlsdGluL212LmM6MjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgIsO8YmVyc2NocmVpYmUgJyVzJyIKIAotIzogYnVpbHRpbi9tdi5jOjE4NAorIzogYnVpbHRpbi9tdi5jOjIwNAogbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCiBtc2dzdHIgIkthbm4gbmljaHQgw7xiZXJzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODcKKyM6IGJ1aWx0aW4vbXYuYzoyMDcKIG1zZ2lkICJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiCiBtc2dzdHIgIm1laHJlcmUgUXVlbGxlbiBmw7xyIGRhcyBzZWxiZSBaaWVsIgogCi0jOiBidWlsdGluL212LmM6MjAyCisjOiBidWlsdGluL212LmM6MjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgogbXNnc3RyICIlcywgUXVlbGxlPSVzLCBaaWVsPSVzIgogCi0jOiBidWlsdGluL212LmM6MjEyCisjOiBidWlsdGluL212LmM6MjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzXG4iCiBtc2dzdHIgIkJlbmVubmUgJXMgbmFjaCAlcyB1bVxuIgogCi0jOiBidWlsdGluL212LmM6MjE1IGJ1aWx0aW4vcmVtb3RlLmM6NzMxCisjOiBidWlsdGluL212LmM6MjM1IGJ1aWx0aW4vcmVtb3RlLmM6NzMxIGJ1aWx0aW4vcmVwYWNrLmM6MzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICJVbWJlbmVubnVuZyB2b24gJyVzJyBmZWhsZ2VzY2hsYWdlbiIKQEAgLTcxMDEsOCArNzMwNCw4IEBACiBtc2dzdHIgImxpZXN0IHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSIKIAogIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyMAotbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIgotbXNnc3RyICJlcmxhdWJ0IEF1c2dhYmUgdm9uIGB1bmRlZmluaWVydGVuYCBOYW1lbiIKK21zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCittc2dzdHIgImVybGF1YnQgQXVzZ2FiZSB2b24gYHVuZGVmaW5pZXJ0ZW5gIE5hbWVuIChTdGFuZGFyZCkiCiAKICM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjYKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKQEAgLTcyNTgsMTIgKzc0NjEsMTIgQEAKIG1zZ2lkICJUaGUgbm90ZSBjb250ZW50cyBoYXMgYmVlbiBsZWZ0IGluICVzIgogbXNnc3RyICJEaWUgTm90aXotSW5oYWx0ZSB3dXJkZW4gaW4gJXMgYmVsYXNzZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNDggYnVpbHRpbi90YWcuYzo1NDAKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNDggYnVpbHRpbi90YWcuYzo1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAia2FubiAnJXMnIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjUwIGJ1aWx0aW4vdGFnLmM6NTQzCisjOiBidWlsdGluL25vdGVzLmM6MjUwIGJ1aWx0aW4vdGFnLmM6NTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIG9yIHJlYWQgJyVzJyIKIG1zZ3N0ciAia29ubnRlICclcycgbmljaHQgw7ZmZm5lbiBvZGVyIGxlc2VuIgpAQCAtNzI3MSw3ICs3NDc0LDcgQEAKICM6IGJ1aWx0aW4vbm90ZXMuYzoyNjkgYnVpbHRpbi9ub3Rlcy5jOjMxNiBidWlsdGluL25vdGVzLmM6MzE4CiAjOiBidWlsdGluL25vdGVzLmM6Mzc4IGJ1aWx0aW4vbm90ZXMuYzo0MzIgYnVpbHRpbi9ub3Rlcy5jOjUxNQogIzogYnVpbHRpbi9ub3Rlcy5jOjUyMCBidWlsdGluL25vdGVzLmM6NTk1IGJ1aWx0aW4vbm90ZXMuYzo2MzcKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MzkgYnVpbHRpbi90YWcuYzo1NTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MzkgYnVpbHRpbi90YWcuYzo1NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGFscyBnw7xsdGlnZSBSZWZlcmVueiBhdWZsw7ZzZW4uIgpAQCAtNzQ0OCwxNTMgKzc2NTEsMTUzIEBACiBtc2dzdHIgIiIKICJnaXQgcGFjay1vYmplY3RzIFtPcHRpb25lbi4uLl0gQmFzaXMtTmFtZSBbPCBSZWZlcmVuemxpc3RlIHwgPCBPYmpla3RsaXN0ZV0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTgzIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWZsYXRlIGVycm9yICglZCkiCiBtc2dzdHIgIkZlaGxlciBiZWltIEtvbXByaW1pZXJlbiAoJWQpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzOTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjM5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBpbmRleCB2ZXJzaW9uICVzIgogbXNnc3RyICJOaWNodCB1bnRlcnN0w7x0enRlIFN0YWdpbmctQXJlYS1WZXJzaW9uICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgogbXNnc3RyICJVbmfDvGx0aWdlIFN0YWdpbmctQXJlYS1WZXJzaW9uICclcyciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQyNAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9wdGlvbiAlcyBkb2VzIG5vdCBhY2NlcHQgbmVnYXRpdmUgZm9ybSIKIG1zZ3N0ciAiT3B0aW9uICVzIGFremVwdGllcnQga2VpbmUgbmVnYXRpdmUgRm9ybSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDI4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIHZhbHVlICclcycgZm9yIG9wdGlvbiAlcyIKIG1zZ3N0ciAia29ubnRlIFdlcnQgJyVzJyBmw7xyIE9wdGlvbiAlcyBuaWNodCBwYXJzZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQ4CiBtc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgInplaWd0IGtlaW5lIEZvcnRzY2hyaXR0c2FuemVpZ2UiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDUwCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAiemVpZ3QgRm9ydHNjaHJpdHRzYW56ZWlnZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTIKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIGR1cmluZyBvYmplY3Qgd3JpdGluZyBwaGFzZSIKIG1zZ3N0ciAiemVpZ3QgRm9yc2Nocml0dHNhbnplaWdlIHfDpGhyZW5kIGRlciBQaGFzZSBkZXMgU2NocmVpYmVucyBkZXIgT2JqZWt0ZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTUKIG1zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCiBtc2dzdHIgIsOkaG5saWNoIHp1IC0tYWxsLXByb2dyZXNzIHdlbm4gRm9ydHNjaHJpdHRzYW56ZWlnZSBkYXJzdGVsbHQgd2lyZCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTYKIG1zZ2lkICJ2ZXJzaW9uWyxvZmZzZXRdIgogbXNnc3RyICJ2ZXJzaW9uWyxvZmZzZXRdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NwogbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCiBtc2dzdHIgIiIKICJzY2hyZWlidCBkaWUgSW5kZXgtRGF0ZWkgZGVzIFBha2V0ZXMgaW4gZGVyIGFuZ2VnZWJlbmVuIEluZGV4Zm9ybWF0LVZlcnNpb24iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYwCiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKIG1zZ3N0ciAibWF4aW1hbGUgR3LDtsOfZSBmw7xyIGplZGUgYXVzZ2VnZWJlbmUgUGFrZXRkYXRlaSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjIKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgImlnbm9yaWVydCBnZWxpZWhlbmUgT2JqZWt0ZSB2b24gYWx0ZXJuYXRpdmVtIE9iamVrdHNwZWljaGVyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NAogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAiaWdub3JpZXJ0IGdlcGFja3RlIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY2CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAiYmVncmVuenQgUGFrZXRmZW5zdGVyIGR1cmNoIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY4CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgbWVtb3J5IGluIGFkZGl0aW9uIHRvIG9iamVjdCBsaW1pdCIKIG1zZ3N0ciAiYmVncmVuenQgUGFrZXRmZW5zdGVyLCB6dXPDpHR6bGljaCB6dXIgT2JqZWt0YmVncmVuenVuZywgZHVyY2ggU3BlaWNoZXIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDcwCiBtc2dpZCAibWF4aW11bSBsZW5ndGggb2YgZGVsdGEgY2hhaW4gYWxsb3dlZCBpbiB0aGUgcmVzdWx0aW5nIHBhY2siCiBtc2dzdHIgIiIKICJtYXhpbWFsZSBMw6RuZ2UgZGVyIGVybGF1YnRlbiBEaWZmZXJlbnp2ZXJrZXR0dW5nIGltIHJlc3VsdGllcmVuZGVuIFBha2V0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MgogbXNnaWQgInJldXNlIGV4aXN0aW5nIGRlbHRhcyIKIG1zZ3N0ciAidmVyd2VuZGV0IGV4aXN0aWVyZW5kZSBVbnRlcnNjaGllZGUgd2llZGVyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3NAogbXNnaWQgInJldXNlIGV4aXN0aW5nIG9iamVjdHMiCiBtc2dzdHIgInZlcndlbmRldCBleGlzdGllcmVuZGUgT2JqZWt0ZSB3aWVkZXIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc2CiBtc2dpZCAidXNlIE9GU19ERUxUQSBvYmplY3RzIgogbXNnc3RyICJ2ZXJ3ZW5kZXQgT0ZTX0RFTFRBIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc4CiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogInZlcndlbmRldCBUaHJlYWRzIGJlaSBkZXIgU3VjaGUgbmFjaCBkZW4gYmVzdGVuIMOcYmVyZWluc3RpbW11bmdlbiBiZWkgIgogIlVudGVyc2NoaWVkZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgwCiBtc2dpZCAiZG8gbm90IGNyZWF0ZSBhbiBlbXB0eSBwYWNrIG91dHB1dCIKIG1zZ3N0ciAiZXJ6ZXVndCBrZWluZSBsZWVyZW4gUGFrZXRlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MgogbXNnaWQgInJlYWQgcmV2aXNpb24gYXJndW1lbnRzIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxpZXN0IEFyZ3VtZW50ZSBiZXrDvGdsaWNoIENvbW1pdHMgdm9uIGRlciBTdGFuZGFyZC1FaW5nYWJlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4NAogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICJiZWdyZW56dCBkaWUgT2JqZWt0ZSB6dSBzb2xjaGVuLCBkaWUgbm9jaCBuaWNodCBnZXBhY2t0IHd1cmRlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODcKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKIG1zZ3N0ciAic2NobGllw590IE9iamVrdGUgZWluLCBkaWUgdm9uIGplZGVyIFJlZmVyZW56IGVycmVpY2hiYXIgc2luZCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTAKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgYnkgcmVmbG9nIGVudHJpZXMiCiBtc2dzdHIgIiIKICJzY2hsaWXDn3QgT2JqZWt0ZSBlaW4sIGRpZSB2b24gRWludHLDpGdlbiBkZXMgUmVmbG9ncyByZWZlcmVuemllcnQgd2VyZGVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5MwogbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKIG1zZ3N0ciAic2NocmVpYnQgUGFrZXQgaW4gZGllIFN0YW5kYXJkLUF1c2dhYmUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk1CiBtc2dpZCAiaW5jbHVkZSB0YWcgb2JqZWN0cyB0aGF0IHJlZmVyIHRvIG9iamVjdHMgdG8gYmUgcGFja2VkIgogbXNnc3RyICJzY2hsaWXDn3QgVGFnLU9iamVrdGUgZWluLCBkaWUgYXVmIGdlcGFja3RlIE9iamVrdGUgcmVmZXJlbnppZXJlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTcKIG1zZ2lkICJrZWVwIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgImJlaMOkbHQgbmljaHQgZXJyZWljaGJhcmUgT2JqZWt0ZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk3IHBhcnNlLW9wdGlvbnMuaDoxNDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5OCBwYXJzZS1vcHRpb25zLmg6MTQzCiBtc2dpZCAidGltZSIKIG1zZ3N0ciAiWmVpdCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTkKIG1zZ2lkICJ1bnBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyBuZXdlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAiZW50cGFja3QgbmljaHQgZXJyZWljaGJhcmUgT2JqZWt0ZSwgZGllIG5ldWVyIGFscyA8WmVpdD4gc2luZCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDIKIG1zZ2lkICJjcmVhdGUgdGhpbiBwYWNrcyIKIG1zZ3N0ciAiZXJ6ZXVndCBkw7xubmVyZSBQYWtldGUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA0CiBtc2dpZCAiaWdub3JlIHBhY2tzIHRoYXQgaGF2ZSBjb21wYW5pb24gLmtlZXAgZmlsZSIKIG1zZ3N0ciAiaWdub3JpZXJ0IFBha2V0ZSBkaWUgLmtlZXAgRGF0ZWllbiBoYWJlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDYKIG1zZ2lkICJwYWNrIGNvbXByZXNzaW9uIGxldmVsIgogbXNnc3RyICJLb21wcmltaWVydW5nc2dyYWQgZsO8ciBQYWtldGllcnVuZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDgKIG1zZ2lkICJkbyBub3QgaGlkZSBjb21taXRzIGJ5IGdyYWZ0cyIKIG1zZ3N0ciAidmVyYmlyZ3Qga2VpbmUgQ29tbWl0cyBtaXQga8O8bnN0bGljaGVuIFZvcmfDpG5nZXJuIChcImdyYWZ0c1wiKSIKIApAQCAtNzYzNCwxNSArNzgzNywxNSBAQAogbXNnaWQgImdpdCBwdXNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgcHVzaCBbPE9wdGlvbmVuPl0gWzxSZXBvc2l0b3J5PiBbPFJlZnNwZWM+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1CisjOiBidWlsdGluL3B1c2guYzo0NwogbXNnaWQgInRhZyBzaG9ydGhhbmQgd2l0aG91dCA8dGFnPiIKIG1zZ3N0ciAiS3VyenNjaHJpZnQgZsO8ciBUYWcgb2huZSA8VGFnPiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjY2CiBtc2dpZCAiLS1kZWxldGUgb25seSBhY2NlcHRzIHBsYWluIHRhcmdldCByZWYgbmFtZXMiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1kZWxldGUgYWt6ZXB0aWVydCBudXIgcmVpbmUgUmVmZXJlbnpuYW1lbiBhbHMgWmllbC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjk5CisjOiBidWlsdGluL3B1c2guYzoxMDEKIG1zZ2lkICIiCiAiXG4iCiAiVG8gY2hvb3NlIGVpdGhlciBvcHRpb24gcGVybWFuZW50bHksIHNlZSBwdXNoLmRlZmF1bHQgaW4gJ2dpdCBoZWxwIGNvbmZpZycuIgpAQCAtNzY1MSw3ICs3ODU0LDcgQEAKICJVbSBlaW5lIFZhcmlhbnRlIHBlcm1hbmVudCB6dSB2ZXJ3ZW5kZW4sIHNpZWhlIHB1c2guZGVmYXVsdCBpbiAnZ2l0IGhlbHAgIgogImNvbmZpZycuIgogCi0jOiBidWlsdGluL3B1c2guYzoxMDIKKyM6IGJ1aWx0aW4vcHVzaC5jOjEwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHVwc3RyZWFtIGJyYW5jaCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGRvZXMgbm90IG1hdGNoXG4iCkBAIC03Njc3LDcgKzc4ODAsNyBAQAogIiAgICBnaXQgcHVzaCAlcyAlc1xuIgogIiVzIgogCi0jOiBidWlsdGluL3B1c2guYzoxMTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjExOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLlxuIgpAQCAtNzY5Miw3ICs3ODk1LDcgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggJXMgSEVBRDo8TmFtZS1kZXMtUmVtb3RlLUJyYW5jaGVzPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzoxMzEKKyM6IGJ1aWx0aW4vcHVzaC5jOjEzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBubyB1cHN0cmVhbSBicmFuY2guXG4iCkBAIC03NzA2LDEzICs3OTA5LDEzIEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEzOQorIzogYnVpbHRpbi9wdXNoLmM6MTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbXVsdGlwbGUgdXBzdHJlYW0gYnJhbmNoZXMsIHJlZnVzaW5nIHRvIHB1c2guIgogbXNnc3RyICIiCiAiRGVyIGFrdHVlbGxlIEJyYW5jaCAlcyBoYXQgbWVocmVyZSBVcHN0cmVhbS1CcmFuY2hlcywgXCJwdXNoXCIgdmVyd2VpZ2VydC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE0MgorIzogYnVpbHRpbi9wdXNoLmM6MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIHB1c2hpbmcgdG8gcmVtb3RlICclcycsIHdoaWNoIGlzIG5vdCB0aGUgdXBzdHJlYW0gb2ZcbiIKQEAgLTc3MjAsMTAgKzc5MjMsMTAgQEAKICJ0byB1cGRhdGUgd2hpY2ggcmVtb3RlIGJyYW5jaC4iCiBtc2dzdHIgIiIKICJTaWUgdmVyc2VuZGVuIG5hY2ggJyVzJywgd2VsY2hlcyBrZWluIFVwc3RyZWFtLVJlcG9zaXRvcnkgSWhyZXMgYWt0dWVsbGVuXG4iCi0iQnJhbmNoZXMgJyVzJyBpc3QsIG9obmUgbWlyIG1pdHp1dGVpbGVuLCB3YXMgaWNoIHZlcnNlbmRlbiBzb2xsLCB1bSB3ZWxjaGVuXG4iCisiQnJhbmNoZXMgJyVzJyBpc3QsIG9obmUgYW56dWdlYmVuLCB3YXMgdmVyc2VuZGV0IHdlcmRlbiBzb2xsLCB1bSB3ZWxjaGVuXG4iCiAiUmVtb3RlLUJyYW5jaCB6dSBha3R1YWxpc2llcmVuLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTY1CisjOiBidWlsdGluL3B1c2guYzoxNjcKIG1zZ2lkICIiCiAicHVzaC5kZWZhdWx0IGlzIHVuc2V0OyBpdHMgaW1wbGljaXQgdmFsdWUgaXMgY2hhbmdpbmcgaW5cbiIKICJHaXQgMi4wIGZyb20gJ21hdGNoaW5nJyB0byAnc2ltcGxlJy4gVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2VcbiIKQEAgLTc3NTgsMTQgKzc5NjEsMTQgQEAKICJNb2R1cyAnY3VycmVudCcgYW5zdGF0dCAnc2ltcGxlJywgZmFsbHMgU2llIGdlbGVnZW50bGljaCDDpGx0ZXJlIFZlcnNpb25lbiAiCiAidm9uIEdpdCBiZW51dHplbi4pIgogCi0jOiBidWlsdGluL3B1c2guYzoyMjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjIyNwogbXNnaWQgIiIKICJZb3UgZGlkbid0IHNwZWNpZnkgYW55IHJlZnNwZWNzIHRvIHB1c2gsIGFuZCBwdXNoLmRlZmF1bHQgaXMgXCJub3RoaW5nXCIuIgogbXNnc3RyICIiCiAiU2llIGhhYmVuIGtlaW5lIFJlZnNwZWMgZsO8ciBcInB1c2hcIiBhbmdlZ2ViZW4sIHVuZCBwdXNoLmRlZmF1bHQgaXN0ICIKICJcIm5vdGhpbmdcIi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIzMgorIzogYnVpbHRpbi9wdXNoLmM6MjM0CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0aXAgb2YgeW91ciBjdXJyZW50IGJyYW5jaCBpcyBiZWhpbmRcbiIKICJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBJbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzIChlLmcuXG4iCkBAIC03Nzc5LDcgKzc5ODIsNyBAQAogIlNpZWhlIGF1Y2ggZGllIFNla3Rpb24gJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCdcbiIKICJmw7xyIHdlaXRlcmUgRGV0YWlscy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIzOAorIzogYnVpbHRpbi9wdXNoLmM6MjQwCiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIGEgcHVzaGVkIGJyYW5jaCB0aXAgaXMgYmVoaW5kIGl0cyByZW1vdGVcbiIKICJjb3VudGVycGFydC4gSWYgeW91IGRpZCBub3QgaW50ZW5kIHRvIHB1c2ggdGhhdCBicmFuY2gsIHlvdSBtYXkgd2FudCB0b1xuIgpAQCAtNzc5NSw3ICs3OTk4LDcgQEAKICInc2ltcGxlJywgJ2N1cnJlbnQnXG4iCiAib2RlciAndXBzdHJlYW0nIHNldHplbiwgdW0gbnVyIGRlbiBha3R1ZWxsZW4gQnJhbmNoIHp1IHZlcnNlbmRlbi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI0NAorIzogYnVpbHRpbi9wdXNoLmM6MjQ2CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIGEgcHVzaGVkIGJyYW5jaCB0aXAgaXMgYmVoaW5kIGl0cyByZW1vdGVcbiIKICJjb3VudGVycGFydC4gQ2hlY2sgb3V0IHRoaXMgYnJhbmNoIGFuZCBpbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzXG4iCkBAIC03ODA5LDcgKzgwMTIsNyBAQAogIlNpZWhlIGF1Y2ggZGllIFNla3Rpb24gJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCdcbiIKICJmw7xyIHdlaXRlcmUgRGV0YWlscy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI1MAorIzogYnVpbHRpbi9wdXNoLmM6MjUyCiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgogIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKQEAgLTc4MjgsMTMgKzgwMzEsMTMgQEAKICJTaWVoZSBhdWNoIGRpZSBTZWt0aW9uICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGluICdnaXQgcHVzaCAtLWhlbHAnXG4iCiAiZsO8ciB3ZWl0ZXJlIERldGFpbHMuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjI1OQogbXNnaWQgIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0YWcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIHJlbW90ZS4iCiBtc2dzdHIgIiIKICJBa3R1YWxpc2llcnVuZ2VuIHd1cmRlbiB6dXLDvGNrZ2V3aWVzZW4sIHdlaWwgZGFzIFRhZyBiZXJlaXRzXG4iCiAiaW0gUmVtb3RlLVJlcG9zaXRvcnkgZXhpc3RpZXJ0LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjYwCisjOiBidWlsdGluL3B1c2guYzoyNjIKIG1zZ2lkICIiCiAiWW91IGNhbm5vdCB1cGRhdGUgYSByZW1vdGUgcmVmIHRoYXQgcG9pbnRzIGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCiAib3IgdXBkYXRlIGEgcmVtb3RlIHJlZiB0byBtYWtlIGl0IHBvaW50IGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCkBAIC03ODQ0LDIyICs4MDQ3LDIyIEBACiAiZGFzIGtlaW4gQ29tbWl0IGlzdCwgb2RlciBlcyBhdWYgZWluIHNvbGNoZXMgT2JqZWt0IHplaWdlbiBsYXNzZW4sIG9obmVcbiIKICJkaWUgT3B0aW9uICctLWZvcmNlJyB6dSB2ZXJ3ZW5kZW4uXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjMyMAorIzogYnVpbHRpbi9wdXNoLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlB1c2hpbmcgdG8gJXNcbiIKIG1zZ3N0ciAiVmVyc2VuZGUgbmFjaCAlc1xuIgogCi0jOiBidWlsdGluL3B1c2guYzozMjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjMzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gVmVyc2VuZGVuIGVpbmlnZXIgUmVmZXJlbnplbiBuYWNoICclcyciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM1NworIzogYnVpbHRpbi9wdXNoLmM6MzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCByZXBvc2l0b3J5ICclcyciCiBtc2dzdHIgInVuZ8O8bHRpZ2VzIFJlcG9zaXRvcnkgJyVzJyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzU4CisjOiBidWlsdGluL3B1c2guYzozNjYKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCkBAIC03ODgxLDg3ICs4MDg0LDk1IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIDxOYW1lPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozNzMKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4MQogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC0tYWxsIHVuZCAtLXRhZ3Mgc2luZCBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL3B1c2guYzozNzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4MgogbXNnaWQgIi0tYWxsIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1hbGwga2FubiBuaWNodCBtaXQgUmVmc3BlY3Mga29tYmluaWVydCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL3B1c2guYzozNzkKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4NwogbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC0tbWlycm9yIHVuZCAtLXRhZ3Mgc2luZCBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL3B1c2guYzozODAKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4OAogbXNnaWQgIi0tbWlycm9yIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1taXJyb3Iga2FubiBuaWNodCBtaXQgUmVmc3BlY3Mga29tYmluaWVydCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL3B1c2guYzozODUKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5MwogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1hbGwgdW5kIC0tbWlycm9yIHNpbmQgaW5rb21wYXRpYmVsLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDQ1CisjOiBidWlsdGluL3B1c2guYzo0NTMKIG1zZ2lkICJyZXBvc2l0b3J5IgogbXNnc3RyICJSZXBvc2l0b3J5IgogCi0jOiBidWlsdGluL3B1c2guYzo0NDYKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ1NAogbXNnaWQgInB1c2ggYWxsIHJlZnMiCiBtc2dzdHIgInZlcnNlbmRldCBhbGxlIFJlZmVyZW56ZW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ0NworIzogYnVpbHRpbi9wdXNoLmM6NDU1CiBtc2dpZCAibWlycm9yIGFsbCByZWZzIgogbXNnc3RyICJzcGllZ2VsdCBhbGxlIFJlZmVyZW56ZW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ0OQorIzogYnVpbHRpbi9wdXNoLmM6NDU3CiBtc2dpZCAiZGVsZXRlIHJlZnMiCiBtc2dzdHIgImzDtnNjaHQgUmVmZXJlbnplbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDUwCisjOiBidWlsdGluL3B1c2guYzo0NTgKIG1zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCiBtc2dzdHIgInZlcnNlbmRldCBUYWdzIChrYW5uIG5pY2h0IG1pdCAtLWFsbCBvZGVyIC0tbWlycm9yIHZlcndlbmRldCB3ZXJkZW4pIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTMKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ2MQogbXNnaWQgImZvcmNlIHVwZGF0ZXMiCiBtc2dzdHIgImVyendpbmd0IEFrdHVhbGlzaWVydW5nIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTQKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ2MworbXNnaWQgInJlZm5hbWU+OjxleHBlY3QiCittc2dzdHIgIlJlZmVyZW56bmFtZT46PEVyd2FydHVuZ3N3ZXJ0IgorCisjOiBidWlsdGluL3B1c2guYzo0NjQKK21zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKK21zZ3N0ciAiUmVmZXJlbnogbXVzcyBzaWNoIGF1ZiBkZW0gYW5nZWdlYmVuZW4gV2VydCBiZWZpbmRlbiIKKworIzogYnVpbHRpbi9wdXNoLmM6NDY2CiBtc2dpZCAiY2hlY2siCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDU1CisjOiBidWlsdGluL3B1c2guYzo0NjcKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInN0ZXVlcnQgcmVrdXJzaXZlbiBcInB1c2hcIiB2b24gU3VibW9kdWxlbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDU3CisjOiBidWlsdGluL3B1c2guYzo0NjkKIG1zZ2lkICJ1c2UgdGhpbiBwYWNrIgogbXNnc3RyICJ2ZXJ3ZW5kZXQga2xlaW5lcmUgUGFrZXRlIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTggYnVpbHRpbi9wdXNoLmM6NDU5CisjOiBidWlsdGluL3B1c2guYzo0NzAgYnVpbHRpbi9wdXNoLmM6NDcxCiBtc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCiBtc2dzdHIgIidyZWNlaXZlIHBhY2snIFByb2dyYW1tIgogCi0jOiBidWlsdGluL3B1c2guYzo0NjAKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3MgogbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgogbXNnc3RyICJzZXR6dCBVcHN0cmVhbSBmw7xyIFwiZ2l0IHB1bGwvc3RhdHVzXCIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2MworIzogYnVpbHRpbi9wdXNoLmM6NDc1CiBtc2dpZCAicHJ1bmUgbG9jYWxseSByZW1vdmVkIHJlZnMiCiBtc2dzdHIgImVudGZlcm50IGxva2FsIGdlbMO2c2NodGUgUmVmZXJlbnplbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDY1CisjOiBidWlsdGluL3B1c2guYzo0NzcKIG1zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKIG1zZ3N0ciAidW1nZWh0IFwicHJlLXB1c2ggaG9va1wiIgogCi0jOiBidWlsdGluL3B1c2guYzo0NjYKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3OAogbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKIG1zZ3N0ciAidmVyc2VuZGV0IGZlaGxlbmRlLCBhYmVyIHJlbGV2YW50ZSBUYWdzIgogCi0jOiBidWlsdGluL3B1c2guYzo0NzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ4OAogbXNnaWQgIi0tZGVsZXRlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLW1pcnJvciBhbmQgLS10YWdzIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tZGVsZXRlIGlzdCBpbmtvbXBhdGliZWwgbWl0IC0tYWxsLCAtLW1pcnJvciB1bmQgLS10YWdzLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDc4CisjOiBidWlsdGluL3B1c2guYzo0OTAKIG1zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLWRlbGV0ZSBrYW5uIG51ciBtaXQgUmVmZXJlbnplbiB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIApAQCAtNzk3MSw3ICs4MTgyLDcgQEAKICJbLXUgWy0tZXhjbHVkZS1wZXItZGlyZWN0b3J5PTxnaXRpZ25vcmU+XSB8IC1pXV0gWy0tbm8tc3BhcnNlLWNoZWNrb3V0XSBbLS0iCiAiaW5kZXgtb3V0cHV0PTxmaWxlPl0gKC0tZW1wdHkgfCA8dHJlZS1pc2gxPiBbPHRyZWUtaXNoMj4gWzx0cmVlLWlzaDM+XV0pIgogbXNnc3RyICIiCi0iZ2l0IHJlYWQtdHJlZSBbWy1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxQcmVmaXg+XSAiCisiZ2l0IHJlYWQtdHJlZSBbWy1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxQcsOkZml4Pl0gIgogIlstdSBbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGdpdGlnbm9yZT5dIHwgLWldXSBbLS1uby1zcGFyc2UtY2hlY2tvdXRdIFstLSIKICJpbmRleC1vdXRwdXQ9PERhdGVpPl0gKC0tZW1wdHkgfCA8Q29tbWl0LVJlZmVyZW56MT4gWzxDb21taXQtUmVmZXJlbnoyPiAiCiAiWzxDb21taXQtUmVmZXJlbnozPl1dKSIKQEAgLTgwNDAsMTIgKzgyNTEsMTIgQEAKIG1zZ2lkICJkZWJ1ZyB1bnBhY2stdHJlZXMiCiBtc2dzdHIgInByb3Rva29sbGllcnQgRW50cGFja2VuIGRlciBCw6R1bWUiCiAKLSM6IGJ1aWx0aW4vcmVmbG9nLmM6NTAwCisjOiBidWlsdGluL3JlZmxvZy5jOjQ5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcycgZm9yICclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICInJXMnIGbDvHIgJyVzJyBpc3Qga2VpbiBnw7xsdGlnZXIgWmVpdHN0ZW1wZWwiCiAKLSM6IGJ1aWx0aW4vcmVmbG9nLmM6NjE2IGJ1aWx0aW4vcmVmbG9nLmM6NjIxCisjOiBidWlsdGluL3JlZmxvZy5jOjYxNSBidWlsdGluL3JlZmxvZy5jOjYyMAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAiJyVzJyBpc3Qga2VpbiBnw7xsdGlnZXIgWmVpdHN0ZW1wZWwiCkBAIC04MDcwLDkgKzgyODEsOSBAQAogbXNnaWQgImdpdCByZW1vdGUgcmVtb3ZlIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSByZW1vdmUgPE5hbWU+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1IGJ1aWx0aW4vcmVtb3RlLmM6NDIKLW1zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtZCB8IDxicmFuY2g+KSIKLW1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8TmFtZT4gKC1hIHwgLWQgfCA8QnJhbmNoPikiCisjOiBidWlsdGluL3JlbW90ZS5jOjE1Cittc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8PGJyYW5jaD4pIgorbXNnc3RyICJnaXQgcmVtb3RlIHNldC1oZWFkIDxOYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPEJyYW5jaD4pIgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjE2CiBtc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHNob3cgWy1uXSA8bmFtZT4iCkBAIC04MTA4LDYgKzgzMTksMTAgQEAKIG1zZ2lkICJnaXQgcmVtb3RlIGFkZCBbPG9wdGlvbnM+XSA8bmFtZT4gPHVybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgYWRkIFs8T3B0aW9uZW4+XSA8TmFtZT4gPFVSTD4iCiAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDIKK21zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPGJyYW5jaD4pIgorbXNnc3RyICJnaXQgcmVtb3RlIHNldC1oZWFkIDxOYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPEJyYW5jaD4pIgorCiAjOiBidWlsdGluL3JlbW90ZS5jOjQ3CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyA8TmFtZT4gPEJyYW5jaD4uLi4iCkBAIC04NTU3LDYgKzg3NzIsNjggQEAKIG1zZ2lkICJiZSB2ZXJib3NlOyBtdXN0IGJlIHBsYWNlZCBiZWZvcmUgYSBzdWJjb21tYW5kIgogbXNnc3RyICJlcndlaXRlcnRlIEF1c2dhYmVuOyBtdXNzIHZvciBlaW5lbSBVbnRlcmtvbW1hbmRvIGFuZ2VnZWJlbiB3ZXJkZW4iCiAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTUKK21zZ2lkICJnaXQgcmVwYWNrIFtvcHRpb25zXSIKK21zZ3N0ciAiZ2l0IHJlcGFjayBbT3B0aW9uZW5dIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE0MworbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgorbXNnc3RyICJwYWNrdCBhbGxlcyBpbiBlaW5lIGVpbnppZ2UgUGFjay1EYXRlaSIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNDUKK21zZ2lkICJzYW1lIGFzIC1hLCBhbmQgdHVybiB1bnJlYWNoYWJsZSBvYmplY3RzIGxvb3NlIgorbXNnc3RyICJnZW5hdSB3aWUgLWEsIHVuZXJyZWljaGJhcmUgT2JqZWt0ZSB3ZXJkZW4gYWJlciBuaWNodCBnZWzDtnNjaHQiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTQ4Cittc2dpZCAicmVtb3ZlIHJlZHVuZGFudCBwYWNrcywgYW5kIHJ1biBnaXQtcHJ1bmUtcGFja2VkIgorbXNnc3RyICJlbnRmZXJudCByZWR1bmRhbnRlIFBha2V0ZSB1bmQgZsO8aHJ0IFwiZ2l0LXBydW5lLXBhY2tlZFwiIGF1cyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTAKK21zZ2lkICJwYXNzIC0tbm8tcmV1c2UtZGVsdGEgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAiw7xiZXJnaWJ0IC0tbm8tcmV1c2UtZGVsdGEgYW4gZ2l0LXBhY2stb2JqZWN0cyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTIKK21zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgIsO8YmVyZ2lidCAtLW5vLXJldXNlLW9iamVjdCBhbiBnaXQtcGFjay1vYmplY3RzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1NAorbXNnaWQgImRvIG5vdCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKK21zZ3N0ciAiZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyBuaWNodCBhdXNmw7xocmVuIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1NworbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICLDvGJlcmdpYnQgLS1sb2NhbCBhbiBnaXQtcGFjay1vYmplY3RzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1OAorbXNnaWQgImFwcHJveGlkYXRlIgorbXNnc3RyICJEYXR1bXNhbmdhYmUiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU5Cittc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKK21zZ3N0ciAibWl0IC1BLCBsw7ZzY2h0IGtlaW5lIE9iamVrdGUgw6RsdGVyIGFscyBkaWVzZXMgRGF0dW0iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYxCittc2dpZCAic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIgorbXNnc3RyICJHcsO2w59lIGRlcyBGZW5zdGVycyBmw7xyIGRpZSBEZWx0YS1Lb21wcmVzc2lvbiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjMKK21zZ2lkICJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIKK21zZ3N0ciAiZ2xlaWNoZXMgd2llIG9iZW4sIGxpbWl0aWVydCBhYmVyIGRpZSBTcGVpY2hlcmdyw7bDn2UgYW5zdGF0dCBkZXJcbiIKKyJBbnphaGwgZGVyIEVpbnRyw6RnZSIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjUKK21zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCittc2dzdHIgImxpbWl0aWVydCBkaWUgbWF4aW1hbGUgRGVsdGEtVGllZmUiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY3Cittc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggcGFja2ZpbGUiCittc2dzdHIgIm1heGltYWxlIEdyw7bDn2UgZsO8ciBqZWRlIFBha2V0ZGF0ZWkiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nICclcycgZmFpbGVkIgorbXNnc3RyICJMw7ZzY2hlbiB2b24gJyVzJyBmZWhsZ2VzY2hsYWdlbiIKKwogIzogYnVpbHRpbi9yZXBsYWNlLmM6MTcKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIDxvYmplY3Q+IDxyZXBsYWNlbWVudD4iCiBtc2dzdHIgImdpdCByZXBsYWNlIFstZl0gPE9iamVrdD4gPEVyc2V0enVuZz4iCkBAIC04NTY5LDIzICs4ODQ2LDIzIEBACiBtc2dpZCAiZ2l0IHJlcGxhY2UgLWwgWzxwYXR0ZXJuPl0iCiBtc2dzdHIgImdpdCByZXBsYWNlIC1sIFs8TXVzdGVyPl0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEyMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTMxCiBtc2dpZCAibGlzdCByZXBsYWNlIHJlZnMiCiBtc2dzdHIgImxpc3RldCBlcnNldHplbmRlIFJlZmVyZW56ZW4gYXVmIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMjIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEzMgogbXNnaWQgImRlbGV0ZSByZXBsYWNlIHJlZnMiCiBtc2dzdHIgImzDtnNjaHQgZXJzZXR6ZW5kZSBSZWZlcmVuemVuIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMjMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEzMwogbXNnaWQgInJlcGxhY2UgdGhlIHJlZiBpZiBpdCBleGlzdHMiCiBtc2dzdHIgImVyc2V0enQgZGllIFJlZmVyZW56LCB3ZW5uIHNpZSBleGlzdGllcnQiCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6MTEKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6MTIKIG1zZ2lkICJnaXQgcmVyZXJlIFtjbGVhciB8IGZvcmdldCBwYXRoLi4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKIG1zZ3N0ciAiZ2l0IHJlcmVyZSBbY2xlYW4gfCBmb3JnZXQgcGF0aC4uLiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6NTYKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6NTcKIG1zZ2lkICJyZWdpc3RlciBjbGVhbiByZXNvbHV0aW9ucyBpbiBpbmRleCIKIG1zZ3N0ciAicmVnaXN0cmllcnQgc2F1YmVyZSBBdWZsw7ZzdW5nZW4gaW4gZGVyIFN0YWdpbmctQXJlYSIKIApAQCAtODY0Niw3MSArODkyMyw3MSBAQAogbXNnaWQgIkNhbm5vdCBkbyBhICVzIHJlc2V0IGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZS4iCiBtc2dzdHIgIkthbm4ga2VpbmVuICclcyctUmVzZXQgZHVyY2hmw7xocmVuLCB3w6RocmVuZCBlaW4gTWVyZ2UgaW0gR2FuZ2UgaXN0LiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI1MQorIzogYnVpbHRpbi9yZXNldC5jOjI2MgogbXNnaWQgImJlIHF1aWV0LCBvbmx5IHJlcG9ydCBlcnJvcnMiCiBtc2dzdHIgIndlbmlnZXIgQXVzZ2FiZW4sIG1lbGRldCBudXIgRmVobGVyIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjUzCisjOiBidWlsdGluL3Jlc2V0LmM6MjY0CiBtc2dpZCAicmVzZXQgSEVBRCBhbmQgaW5kZXgiCiBtc2dzdHIgInNldHp0IEhFQUQgdW5kIFN0YWdpbmctQXJlYSB1bSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI1NAorIzogYnVpbHRpbi9yZXNldC5jOjI2NQogbXNnaWQgInJlc2V0IG9ubHkgSEVBRCIKIG1zZ3N0ciAic2V0enQgbnVyIEhFQUQgdW0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTYgYnVpbHRpbi9yZXNldC5jOjI1OAorIzogYnVpbHRpbi9yZXNldC5jOjI2NyBidWlsdGluL3Jlc2V0LmM6MjY5CiBtc2dpZCAicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAic2V0enQgSEVBRCwgU3RhZ2luZy1BcmVhIHVuZCBBcmJlaXRzdmVyemVpY2huaXMgdW0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNjAKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNzEKIG1zZ2lkICJyZXNldCBIRUFEIGJ1dCBrZWVwIGxvY2FsIGNoYW5nZXMiCiBtc2dzdHIgInNldHp0IEhFQUQgdW0sIGJlaMOkbHQgYWJlciBsb2thbGUgw4RuZGVydW5nZW4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNzgKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJldmlzaW9uLiIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgYWxzIGfDvGx0aWdlbiBDb21taXQgYXVmbMO2c2VuLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4MSBidWlsdGluL3Jlc2V0LmM6Mjg5CisjOiBidWlsdGluL3Jlc2V0LmM6MjkyIGJ1aWx0aW4vcmVzZXQuYzozMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAiS29ubnRlIE9iamVrdCAnJXMnIG5pY2h0IHBhcnNlbi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODYKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHRyZWUuIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBhbHMgZ8O8bHRpZ2VzIFwiVHJlZVwiLU9iamVrdCBhdWZsw7ZzZW4uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjk1CisjOiBidWlsdGluL3Jlc2V0LmM6MzA2CiBtc2dpZCAiLS1wYXRjaCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXtoYXJkLG1peGVkLHNvZnR9IgogbXNnc3RyICItLXBhdGNoIGlzdCBpbmtvbXBhdGliZWwgbWl0IC0te2hhcmQsbWl4ZWQsc29mdH0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMTUKIG1zZ2lkICItLW1peGVkIHdpdGggcGF0aHMgaXMgZGVwcmVjYXRlZDsgdXNlICdnaXQgcmVzZXQgLS0gPHBhdGhzPicgaW5zdGVhZC4iCiBtc2dzdHIgIiIKICItLW1peGVkIG1pdCBQZmFkZW4gaXN0IHZlcmFsdGV0OyBiZW51dHplbiBTaWUgc3RhdHRkZXNzZW4gJ2dpdCByZXNldCAtLSAiCiAiPFBmYWRlPicuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzA2CisjOiBidWlsdGluL3Jlc2V0LmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyAlcyByZXNldCB3aXRoIHBhdGhzLiIKIG1zZ3N0ciAiRWluICclcyctUmVzZXQgbWl0IFBmYWRlbiBpc3QgbmljaHQgbcO2Z2xpY2guIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzE2CisjOiBidWlsdGluL3Jlc2V0LmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHJlc2V0IGlzIG5vdCBhbGxvd2VkIGluIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICInJXMnLVJlc2V0IGlzdCBpbiBlaW5lbSBCYXJlLVJlcG9zaXRvcnkgbmljaHQgZXJsYXVidCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzNgorIzogYnVpbHRpbi9yZXNldC5jOjM0NAorbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IgorbXNnc3RyICJOaWNodCB6dW0gQ29tbWl0IHZvcmdlbWVya3RlIMOEbmRlcnVuZ2VuIG5hY2ggWnVyw7xja3NldHp1bmc6IgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIgogbXNnc3RyICJLb25udGUgU3RhZ2luZy1BcmVhLURhdGVpIG5pY2h0IHp1IENvbW1pdCAnJXMnIHNldHplbi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDIKLW1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKLW1zZ3N0ciAiTmljaHQgenVtIENvbW1pdCB2b3JnZW1lcmt0ZSDDhG5kZXJ1bmdlbiBuYWNoIFp1csO8Y2tzZXR6dW5nOiIKLQotIzogYnVpbHRpbi9yZXNldC5jOjM0NworIzogYnVpbHRpbi9yZXNldC5jOjM1NQogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iCiBtc2dzdHIgIktvbm50ZSBuZXVlIFN0YWdpbmctQXJlYS1EYXRlaSBuaWNodCBzY2hyZWliZW4uIgogCkBAIC04NzU3LDg0ICs5MDM0LDg0IEBACiBtc2dpZCAiZ2l0IGNoZXJyeS1waWNrIDxzdWJjb21tYW5kPiIKIG1zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIDxVbnRlcmtvbW1hbmRvPiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo3MSBidWlsdGluL3JldmVydC5jOjk0CisjOiBidWlsdGluL3JldmVydC5jOjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICIlczogJXMga2FubiBuaWNodCBtaXQgJXMgdmVyd2VuZGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODAKIG1zZ2lkICJlbmQgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJiZWVuZGV0IFwicmV2ZXJ0XCIgb2RlciBcImNoZXJyeS1waWNrXCIgQWJsYXVmIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNgorIzogYnVpbHRpbi9yZXZlcnQuYzo4MQogbXNnaWQgInJlc3VtZSByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgInNldHp0IFwicmV2ZXJ0XCIgb2RlciBcImNoZXJyeS1waWNrXCIgQWJsYXVmIGZvcnQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3CisjOiBidWlsdGluL3JldmVydC5jOjgyCiBtc2dpZCAiY2FuY2VsIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiYnJpY2h0IFwicmV2ZXJ0XCIgb2RlciBcImNoZXJyeS1waWNrXCIgQWJsYXVmIGFiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwOAorIzogYnVpbHRpbi9yZXZlcnQuYzo4MwogbXNnaWQgImRvbid0IGF1dG9tYXRpY2FsbHkgY29tbWl0IgogbXNnc3RyICJjb21taXR0ZXQgbmljaHQgYXV0b21hdGlzY2giCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA5CisjOiBidWlsdGluL3JldmVydC5jOjg0CiBtc2dpZCAiZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIkJlYXJiZWl0dW5nIGRlciBDb21taXQtQmVzY2hyZWlidW5nIgogCi0jOiBidWlsdGluL3JldmVydC5jOjExMgorIzogYnVpbHRpbi9yZXZlcnQuYzo4NwogbXNnaWQgInBhcmVudCBudW1iZXIiCiBtc2dzdHIgIk51bW1lciBkZXMgRWx0ZXJudGVpbHMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE0CisjOiBidWlsdGluL3JldmVydC5jOjg5CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIk1lcmdlLVN0cmF0ZWdpZSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTAKIG1zZ2lkICJvcHRpb24iCiBtc2dzdHIgIk9wdGlvbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTYKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTEKIG1zZ2lkICJvcHRpb24gZm9yIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJPcHRpb24gZsO8ciBNZXJnZS1TdHJhdGVnaWUiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI3CisjOiBidWlsdGluL3JldmVydC5jOjEwMgogbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKIG1zZ3N0ciAiaMOkbmd0IENvbW1pdC1OYW1lbiBhbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIgogbXNnc3RyICJlcmxhdWJ0IFZvcnNwdWxlbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjkKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CiBtc2dpZCAicHJlc2VydmUgaW5pdGlhbGx5IGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgImVyaMOkbHQgdXJzcHLDvG5nbGljaGUsIGxlZXJlIENvbW1pdHMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTMwCisjOiBidWlsdGluL3JldmVydC5jOjEwNQogbXNnaWQgImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKIG1zZ3N0ciAiZXJsYXVidCBDb21taXRzIG1pdCBsZWVyZXIgQmVzY2hyZWlidW5nIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEzMQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDYKIG1zZ2lkICJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAiYmVow6RsdCByZWR1bmRhbnRlLCBsZWVyZSBDb21taXRzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEzNQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTAKIG1zZ2lkICJwcm9ncmFtIGVycm9yIgogbXNnc3RyICJQcm9ncmFtbWZlaGxlciIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMjUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTk1CiBtc2dpZCAicmV2ZXJ0IGZhaWxlZCIKIG1zZ3N0ciAiXCJyZXZlcnRcIiBmZWhsZ2VzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyNDAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjEwCiBtc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgogbXNnc3RyICJcImNoZXJyeS1waWNrXCIgZmVobGdlc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vcm0uYzoxNgorIzogYnVpbHRpbi9ybS5jOjE3CiBtc2dpZCAiZ2l0IHJtIFtvcHRpb25zXSBbLS1dIDxmaWxlPi4uLiIKIG1zZ3N0ciAiZ2l0IHJtIFtPcHRpb25lbl0gWy0tXSBbPERhdGVpPi4uLl0iCiAKLSM6IGJ1aWx0aW4vcm0uYzo2NAorIzogYnVpbHRpbi9ybS5jOjY1CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIChvciBvbmUgb2YgaXRzIG5lc3RlZCBzdWJtb2R1bGVzKVxuIgogInVzZXMgYSAuZ2l0IGRpcmVjdG9yeToiCkBAIC04ODQ4LDcgKzkxMjUsNyBAQAogImRpZSBmb2xnZW5kZW4gU3VibW9kdWxlIChvZGVyIGVpbiBnZXNjaGFjaHRlbHRlcyBTdWJtb2R1bCBoaWVydm9uKVxuIgogImJlbnV0emVuIGVpbiAuZ2l0LVZlcnplaWNobmlzOiIKIAotIzogYnVpbHRpbi9ybS5jOjcwCisjOiBidWlsdGluL3JtLmM6NzEKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAncm0gLXJmJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gcmVtb3ZlIGl0IGluY2x1ZGluZyBhbGwgb2YgaXRzIGhpc3RvcnkpIgpAQCAtODg1Nyw3ICs5MTM0LDcgQEAKICIoYmVudXR6ZW4gU2llICdybSAtcmYnIHdlbm4gU2llIGRpZXNlcyBTdWJtb2R1bCB3aXJrbGljaCBtaXRzYW10XG4iCiAic2VpbmVyIEhpc3RvcmllIGzDtnNjaGVuIG3DtmNodGVuKSIKIAotIzogYnVpbHRpbi9ybS5jOjIzMAorIzogYnVpbHRpbi9ybS5jOjIzMQogbXNnaWQgIiIKICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIHN0YWdlZCBjb250ZW50IGRpZmZlcmVudCBmcm9tIGJvdGggdGhlXG4iCiAiZmlsZSBhbmQgdGhlIEhFQUQ6IgpAQCAtODg3Miw3ICs5MTQ5LDcgQEAKICJ1bnRlcnNjaGllZGxpY2hcbiIKICJ6dSBkZXIgRGF0ZWkgdW5kIEhFQUQ6IgogCi0jOiBidWlsdGluL3JtLmM6MjM1CisjOiBidWlsdGluL3JtLmM6MjM2CiBtc2dpZCAiIgogIlxuIgogIih1c2UgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCkBAIC04ODgwLDEzICs5MTU3LDEzIEBACiAiXG4iCiAiKGJlbnV0emVuIFNpZSAtZiB1bSBkaWUgTMO2c2NodW5nIHp1IGVyendpbmdlbikiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMzkKKyM6IGJ1aWx0aW4vcm0uYzoyNDAKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnc3RyWzBdICJkaWUgZm9sZ2VuZGUgRGF0ZWkgaGF0IHp1bSBDb21taXQgdm9yZ2VtZXJrdGUgw4RuZGVydW5nZW46IgogbXNnc3RyWzFdICJkaWUgZm9sZ2VuZGVuIERhdGVpZW4gaGFiZW4genVtIENvbW1pdCB2b3JnZW1lcmt0ZSDDhG5kZXJ1bmdlbjoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDMgYnVpbHRpbi9ybS5jOjI1NAorIzogYnVpbHRpbi9ybS5jOjI0NCBidWlsdGluL3JtLmM6MjU1CiBtc2dpZCAiIgogIlxuIgogIih1c2UgLS1jYWNoZWQgdG8ga2VlcCB0aGUgZmlsZSwgb3IgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCkBAIC04ODk1LDM4ICs5MTcyLDM4IEBACiAiKGJlbnV0emVuIFNpZSAtLWNhY2hlZCB1bSBkaWUgRGF0ZWkgenUgYmVoYWx0ZW4sIG9kZXIgLWYgdW0gZGllIEVudGZlcm51bmcgIgogInp1IGVyendpbmdlbikiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNTEKKyM6IGJ1aWx0aW4vcm0uYzoyNTIKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgogbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dzdHJbMF0gImRpZSBmb2xnZW5kZSBEYXRlaSBoYXQgbG9rYWxlIMOEbmRlcnVuZ2VuOiIKIG1zZ3N0clsxXSAiZGllIGZvbGdlbmRlbiBEYXRlaWVuIGhhYmVuIGxva2FsZSDDhG5kZXJ1bmdlbjoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNjkKKyM6IGJ1aWx0aW4vcm0uYzoyNzAKIG1zZ2lkICJkbyBub3QgbGlzdCByZW1vdmVkIGZpbGVzIgogbXNnc3RyICJsaXN0ZXQga2VpbmUgZ2Vsw7ZzY2h0ZW4gRGF0ZWllbiBhdWYiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNzAKKyM6IGJ1aWx0aW4vcm0uYzoyNzEKIG1zZ2lkICJvbmx5IHJlbW92ZSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAiZW50ZmVybnQgbnVyIGF1cyBkZXIgU3RhZ2luZy1BcmVhIgogCi0jOiBidWlsdGluL3JtLmM6MjcxCisjOiBidWlsdGluL3JtLmM6MjcyCiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgIsO8YmVyc2NocmVpYnQgZGllIFwidXAtdG8tZGF0ZVwiIFByw7xmdW5nIgogCi0jOiBidWlsdGluL3JtLmM6MjcyCisjOiBidWlsdGluL3JtLmM6MjczCiBtc2dpZCAiYWxsb3cgcmVjdXJzaXZlIHJlbW92YWwiCiBtc2dzdHIgImVybGF1YnQgcmVrdXJzaXZlIEVudGZlcm51bmciCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNzQKKyM6IGJ1aWx0aW4vcm0uYzoyNzUKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAiYmVlbmRldCBtaXQgUsO8Y2tnYWJld2VydCAwLCB3ZW5uIGtlaW5lIMOcYmVyZWluc3RpbW11bmcgZ2VmdW5kZW4gd3VyZGUiCiAKLSM6IGJ1aWx0aW4vcm0uYzozNDUKKyM6IGJ1aWx0aW4vcm0uYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IHJlbW92aW5nICclcycgcmVjdXJzaXZlbHkgd2l0aG91dCAtciIKIG1zZ3N0ciAiJyVzJyB3aXJkIG5pY2h0IG9obmUgLXIgcmVrdXJzaXYgZW50ZmVybnQiCiAKLSM6IGJ1aWx0aW4vcm0uYzozODQKKyM6IGJ1aWx0aW4vcm0uYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHJtOiB1bmFibGUgdG8gcmVtb3ZlICVzIgogbXNnc3RyICJnaXQgcm06IGtvbm50ZSAlcyBuaWNodCBsw7ZzY2hlbiIKQEAgLTg5NDAsMjMgKzkyMTcsMjMgQEAKIG1zZ2lkICJNaXNzaW5nIGF1dGhvcjogJXMiCiBtc2dzdHIgImZlaGxlbmRlciBBdXRvcjogJXMiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMjgKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzAKIG1zZ2lkICJzb3J0IG91dHB1dCBhY2NvcmRpbmcgdG8gdGhlIG51bWJlciBvZiBjb21taXRzIHBlciBhdXRob3IiCiBtc2dzdHIgInNvcnRpZXJ0IGRpZSBBdXNnYWJlIGVudHNwcmVjaGVuZCBkZXIgQW56YWhsIHZvbiBDb21taXRzIHBybyBBdXRvciIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMAorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMgogbXNnaWQgIlN1cHByZXNzIGNvbW1pdCBkZXNjcmlwdGlvbnMsIG9ubHkgcHJvdmlkZXMgY29tbWl0IGNvdW50IgogbXNnc3RyICJVbnRlcmRyw7xja3QgQ29tbWl0LUJlc2NocmVpYnVuZ2VuLCBsaWVmZXJ0IG51ciBBbnphaGwgZGVyIENvbW1pdHMiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzIKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzQKIG1zZ2lkICJTaG93IHRoZSBlbWFpbCBhZGRyZXNzIG9mIGVhY2ggYXV0aG9yIgogbXNnc3RyICJaZWlndCBkaWUgRW1haWwtQWRyZXNzZSB2b24gamVkZW0gQXV0b3IiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzMKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzUKIG1zZ2lkICJ3WyxpMVssaTJdXSIKIG1zZ3N0ciAid1ssaTFbLGkyXV0iCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzQKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzYKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgIkF1c2dhYmUgbWl0IFplaWxlbnVtYnLDvGNoZW4iCiAKQEAgLTkwNjQsMjQgKzkzNDEsMjQgQEAKIG1zZ2lkICJzdHJpY3RlciByZWZlcmVuY2UgY2hlY2tpbmcsIHJlcXVpcmVzIGV4YWN0IHJlZiBwYXRoIgogbXNnc3RyICJzdHJlbmdlcmUgUmVmZXJlbnpwcsO8ZnVuZywgZXJmb3JkZXJ0IGV4YWt0ZW4gUmVmZXJlbnpwZmFkIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTczIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzYKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzMgYnVpbHRpbi9zaG93LXJlZi5jOjE3NQogbXNnaWQgInNob3cgdGhlIEhFQUQgcmVmZXJlbmNlLCBldmVuIGlmIGl0IHdvdWxkIGJlIGZpbHRlcmVkIG91dCIKIG1zZ3N0ciAiemVpZ3QgZGllIEhFQUQtUmVmZXJlbnosIHNlbGJzdCB3ZW5uIGRpZXNlIGF1c2dlZmlsdGVydCB3ZXJkZW4gd8O8cmRlIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc3CiBtc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbnRvIG9iamVjdCBJRHMiCiBtc2dzdHIgImRlcmVmZXJlbnppZXJ0IFRhZ3MgaW4gT2JqZWt0LUlkZW50aWZpa2F0aW9uZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODAKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKIG1zZ2lkICJvbmx5IHNob3cgU0hBMSBoYXNoIHVzaW5nIDxuPiBkaWdpdHMiCiBtc2dzdHIgInplaWd0IG51ciBTSEExIEhhc2ggbWl0IDxuPiBaaWZmZXJuIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTg0CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTgzCiBtc2dpZCAiZG8gbm90IHByaW50IHJlc3VsdHMgdG8gc3Rkb3V0ICh1c2VmdWwgd2l0aCAtLXZlcmlmeSkiCiBtc2dzdHIgIiIKICJrZWluZSBBdXNnYWJlIGRlciBFcmdlYm5pc3NlIGluIGRpZSBTdGFuZGFyZC1BdXNnYWJlIChuw7x0emxpY2ggbWl0IC0tdmVyaWZ5KSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4NQogbXNnaWQgInNob3cgcmVmcyBmcm9tIHN0ZGluIHRoYXQgYXJlbid0IGluIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKICJ6ZWlndCBSZWZlcmVuemVuIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSwgZGllIHNpY2ggbmljaHQgaW0gbG9rYWxlbiAiCkBAIC05MTA4LDExICs5Mzg1LDExIEBACiBtc2dpZCAic2hvcnRlbiByZWYgb3V0cHV0IgogbXNnc3RyICJ2ZXJrw7xyenRlIEF1c2dhYmUgZGVyIFJlZmVyZW56ZW4iCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MTgKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU0CiBtc2dpZCAicmVhc29uIgogbXNnc3RyICJHcnVuZCIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoxOAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTQKIG1zZ2lkICJyZWFzb24gb2YgdGhlIHVwZGF0ZSIKIG1zZ3N0ciAiR3J1bmQgZsO8ciBkaWUgQWt0dWFsaXNpZXJ1bmciCiAKQEAgLTkyNzgsMTkxICs5NTU1LDIwMyBAQAogbXNnaWQgInByaW50IG9ubHkgdGFncyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICJnaWJ0IG51ciBUYWdzIHZvbiBkZW0gT2JqZWt0IGF1cyIKIAotIzogYnVpbHRpbi90YWcuYzo1MDQKKyM6IGJ1aWx0aW4vdGFnLmM6NTAxCiBtc2dpZCAiLS1jb2x1bW4gYW5kIC1uIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tY29sdW1uIHVuZCAtbiBzaW5kIGlua29tcGF0aWJlbCIKIAotIzogYnVpbHRpbi90YWcuYzo1MjEKKyM6IGJ1aWx0aW4vdGFnLmM6NTE4CiBtc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKIG1zZ3N0ciAiLW4gT3B0aW9uIGlzdCBudXIgZXJsYXVidCBtaXQgLWwuIgogCi0jOiBidWlsdGluL3RhZy5jOjUyMworIzogYnVpbHRpbi90YWcuYzo1MjAKIG1zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCiBtc2dzdHIgIi0tY29udGFpbnMgT3B0aW9uIGlzdCBudXIgZXJsYXVidCBtaXQgLWwuIgogCi0jOiBidWlsdGluL3RhZy5jOjUyNQorIzogYnVpbHRpbi90YWcuYzo1MjIKIG1zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgogbXNnc3RyICItLXBvaW50cy1hdCBPcHRpb24gaXN0IG51ciBlcmxhdWJ0IG1pdCAtbC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTMzCisjOiBidWlsdGluL3RhZy5jOjUzMAogbXNnaWQgIm9ubHkgb25lIC1GIG9yIC1tIG9wdGlvbiBpcyBhbGxvd2VkLiIKIG1zZ3N0ciAibnVyIGVpbmUgLUYgb2RlciAtbSBPcHRpb24gaXN0IGVybGF1YnQuIgogCi0jOiBidWlsdGluL3RhZy5jOjU1MworIzogYnVpbHRpbi90YWcuYzo1NTAKIG1zZ2lkICJ0b28gbWFueSBwYXJhbXMiCiBtc2dzdHIgInp1IHZpZWxlIFBhcmFtZXRlciIKIAotIzogYnVpbHRpbi90YWcuYzo1NTkKKyM6IGJ1aWx0aW4vdGFnLmM6NTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGFnIG5hbWUuIgogbXNnc3RyICInJXMnIGlzdCBrZWluIGfDvGx0aWdlciBUYWduYW1lLiIKIAotIzogYnVpbHRpbi90YWcuYzo1NjQKKyM6IGJ1aWx0aW4vdGFnLmM6NTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJUYWcgJyVzJyBleGlzdGllcnQgYmVyZWl0cyIKIAotIzogYnVpbHRpbi90YWcuYzo1ODIKKyM6IGJ1aWx0aW4vdGFnLmM6NTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbG9jayB0aGUgcmVmIgogbXNnc3RyICIlczoga2FubiBSZWZlcmVueiBuaWNodCBzcGVycmVuIgogCi0jOiBidWlsdGluL3RhZy5jOjU4NAorIzogYnVpbHRpbi90YWcuYzo1ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1cGRhdGUgdGhlIHJlZiIKIG1zZ3N0ciAiJXM6IGthbm4gUmVmZXJlbnogbmljaHQgYWt0dWFsaXNpZXJlbiIKIAotIzogYnVpbHRpbi90YWcuYzo1ODYKKyM6IGJ1aWx0aW4vdGFnLmM6NTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiVGFnICclcycgYWt0dWFsaXNpZXJ0ICh3YXIgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NDAxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjQwMgogbXNnaWQgImdpdCB1cGRhdGUtaW5kZXggW29wdGlvbnNdIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggW09wdGlvbmVuXSBbLS1dIFs8RGF0ZWk+Li4uXSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MTgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzIwCiBtc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgogbXNnc3RyICIiCiAiQWt0dWFsaXNpZXJ1bmcgZm9ydHNldHplbiwgYXVjaCB3ZW5uIGRpZSBTdGFnaW5nLUFyZWEgYWt0dWFsaXNpZXJ0IHdlcmRlbiAiCiAibXVzcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzIzCiBtc2dpZCAicmVmcmVzaDogaWdub3JlIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIkFrdHVhbGlzaWVydW5nOiBpZ25vcmllcnQgU3VibW9kdWxlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjYKIG1zZ2lkICJkbyBub3QgaWdub3JlIG5ldyBmaWxlcyIKIG1zZ3N0ciAiaWdub3JpZXJ0IGtlaW5lIG5ldWVuIERhdGVpZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyOAogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICJsw6Rzc3QgRGF0ZWllbiBWZXJ6ZWljaG5pc3NlIGVyc2V0emVuLCB1bmQgdW1nZWRyZWh0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzAKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJiZWFjaHRldCBmZWhsZW5kZSBEYXRlaWVuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMyCiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgIiIKICJha3R1YWxpc2llcnQsIGF1Y2ggd2VubiBkaWUgU3RhZ2luZy1BcmVhIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIEVpbnRyw6RnZSAiCiAiYmVpbmhhbHRldCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzM1CiBtc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgogbXNnc3RyICJha3R1YWxpc2llcnQgRGF0ZWlpbmZvcm1hdGlvbmVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczNworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzkKIG1zZ2lkICJsaWtlIC0tcmVmcmVzaCwgYnV0IGlnbm9yZSBhc3N1bWUtdW5jaGFuZ2VkIHNldHRpbmciCiBtc2dzdHIgIndpZSAtLXJlZnJlc2gsIGlnbm9yaWVydCBhYmVyIFwiYXNzdW1lLXVuY2hhbmdlZFwiIEVpbnN0ZWxsdW5nIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDMKIG1zZ2lkICI8bW9kZT4gPG9iamVjdD4gPHBhdGg+IgogbXNnc3RyICI8TW9kdXM+IDxPYmpla3Q+IDxQZmFkPiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ0CiBtc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgogbXNnc3RyICJtZXJrdCBkZW4gYW5nZWdlYmVuZW4gRWludHJhZyB6dW0gQ29tbWl0IHZvciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ4CiBtc2dpZCAiKCsvLSl4IgogbXNnc3RyICIoKy8tKXgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0OQogbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgogbXNnc3RyICLDvGJlcnNjaHJlaWJ0IGRhcyBcImF1c2bDvGhyYmFyXCItQml0IGRlciBhdWZnZWxpc3RldGVuIERhdGVpZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzUxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1MwogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJub3QgY2hhbmdpbmdcIiIKIG1zZ3N0ciAiYmV0cmFjaHRlIGRpZXNlIERhdGVpIGltbWVyIGFscyB1bnZlcsOkbmRlcnQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1NgogbXNnaWQgImNsZWFyIGFzc3VtZWQtdW5jaGFuZ2VkIGJpdCIKIG1zZ3N0ciAibMO2c2NodCBcImFzc3VtZWQtdW5jaGFuZ2VkXCItQml0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTkKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwiaW5kZXgtb25seVwiIgogbXNnc3RyICJtYXJraWVydCBEYXRlaWVuIGFscyBcImluZGV4LW9ubHlcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzYyCiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgImzDtnNjaHQgXCJza2lwLXdvcmt0cmVlXCItQml0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjUKIG1zZ2lkICJhZGQgdG8gaW5kZXggb25seTsgZG8gbm90IGFkZCBjb250ZW50IHRvIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAiIgogIm1lcmt0IGRpZSDDhG5kZXJ1bmdlbiBudXIgenVtIENvbW1pdCB2b3I7IEluaGFsdCB3aXJkIG5pY2h0IGRlciBPYmpla3QtIgogIkRhdGVuYmFuayBoaW56dWdlZsO8Z3QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2NwogbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCiBtc2dzdHIgIiIKICJsw7ZzY2h0IGJlbmFubnRlIFBmYWRlLCBhdWNoIHdlbm4gc2llIHNpY2ggaW0gQXJiZWl0c3ZlcnplaWNobmlzIGJlZmluZGVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjkKIG1zZ2lkICJ3aXRoIC0tc3RkaW46IGlucHV0IGxpbmVzIGFyZSB0ZXJtaW5hdGVkIGJ5IG51bGwgYnl0ZXMiCiBtc2dzdHIgIm1pdCAtLXN0ZGluOiBlaW5nZWdlYmVuZSBaZWlsZW4gc2luZCBkdXJjaCBOVUwtQnl0ZXMgYWJnZXNjaGxvc3NlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzcxCiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibGllc3QgTGlzdGUgZGVyIHp1IGFrdHVhbGlzaWVyZW5kZW4gUGZhZGUgdm9uIGRlciBTdGFuZGFyZC1FaW5nYWJlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzUKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAibWVya3QgRWludHLDpGdlIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSB6dW0gQ29tbWl0IHZvciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzc5CiBtc2dpZCAicmVwb3B1bGF0ZSBzdGFnZXMgIzIgYW5kICMzIGZvciB0aGUgbGlzdGVkIHBhdGhzIgogbXNnc3RyICIiCiAid2llZGVyaG9sdGVzIEVpbnBmbGVnZW4gZGVyIFp1c3TDpG5kZSAjMiB1bmQgIzMgZsO8ciBkaWUgYXVmZ2VsaXN0ZXRlbiBQZmFkZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzgzCiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCiBtc2dzdHIgImFrdHVhbGlzaWVydCBudXIgRWludHLDpGdlLCBkaWUgdW50ZXJzY2hpZWRsaWNoIHp1IEhFQUQgc2luZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzg3CiBtc2dpZCAiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAiaWdub3JpZXJ0IGZlaGxlbmRlIERhdGVpZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTAKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgImdpYnQgZGllIEFrdGlvbmVuIGluIGRlciBTdGFuZGFyZC1BdXNnYWJlIGF1cyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkyCiBtc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCiBtc2dzdHIgIihmw7xyIEZyZW1kcHJvZ3JhbW1lKSBrZWluZSBnZXNwZWljaGVydGVuLCBuaWNodCBhdWZnZWzDtnN0ZSBLb25mbGlrdGUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzk0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5NgogbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgogbXNnc3RyICJzY2hyZWlidCBTdGFnaW5nLUFyZWEtRGF0ZWkgaW4gZGllc2VtIEZvcm1hdCIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6NworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6OQogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAtZCA8cmVmbmFtZT4gWzxvbGR2YWw+XSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgW09wdGlvbmVuXSAtZCA8UmVmZXJlbnpuYW1lPiBbPGFsdGVyV2VydD5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzo4CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMAogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAgICA8cmVmbmFtZT4gPG5ld3ZhbD4gWzxvbGR2YWw+XSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgW09wdGlvbmVuXSAgICA8UmVmZXJlbnpuYW1lPiA8bmV1ZXJXZXJ0PiBbPGFsdGVyV2VydD5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxOQorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTEKK21zZ2lkICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gLS1zdGRpbiBbLXpdIgorbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbT3B0aW9uZW5dIC0tc3RkaW4gWy16XSIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU1CiBtc2dpZCAiZGVsZXRlIHRoZSByZWZlcmVuY2UiCiBtc2dzdHIgImzDtnNjaHQgZGllc2UgUmVmZXJlbnoiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjIxCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTcKIG1zZ2lkICJ1cGRhdGUgPHJlZm5hbWU+IG5vdCB0aGUgb25lIGl0IHBvaW50cyB0byIKIG1zZ3N0ciAiYWt0dWFsaXNpZXJ0IDxSZWZlcmVuem5hbWU+LCBuaWNodCBkZW4gVmVyd2VpcyIKIAorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU4Cittc2dpZCAic3RkaW4gaGFzIE5VTC10ZXJtaW5hdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAiU3RhbmRhcmQtRWluZ2FiZSBoYXQgZHVyY2ggTlVMLVplaWNoZW4gYWJnZXNjaGxvc3NlbmUgQXJndW1lbnRlIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTkKK21zZ2lkICJyZWFkIHVwZGF0ZXMgZnJvbSBzdGRpbiIKK21zZ3N0ciAibGllc3QgQWt0dWFsaXNpZXJ1bmdlbiB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUiCisKICM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6NgogbXNnaWQgImdpdCB1cGRhdGUtc2VydmVyLWluZm8gWy0tZm9yY2VdIgogbXNnc3RyICJnaXQgdXBkYXRlLXNlcnZlci1pbmZvIFstLWZvcmNlXSIKQEAgLTk0OTMsMTUgKzk3ODIsMTUgQEAKIAogIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MTMKIG1zZ2lkICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PHByZWZpeD4vXSIKLW1zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxQcmVmaXg+L10iCittc2dzdHIgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08UHLDpGZpeD4vXSIKIAogIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjYKIG1zZ2lkICI8cHJlZml4Pi8iCi1tc2dzdHIgIjxQcmVmaXg+LyIKK21zZ3N0ciAiPFByw6RmaXg+LyIKIAogIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjcKIG1zZ2lkICJ3cml0ZSB0cmVlIG9iamVjdCBmb3IgYSBzdWJkaXJlY3RvcnkgPHByZWZpeD4iCi1tc2dzdHIgInNjaHJlaWJ0IGRhcyBcIlRyZWVcIi1PYmpla3QgZsO8ciBlaW4gVW50ZXJ2ZXJ6ZWljaG5pcyA8UHJlZml4PiIKK21zZ3N0ciAic2NocmVpYnQgZGFzIFwiVHJlZVwiLU9iamVrdCBmw7xyIGVpbiBVbnRlcnZlcnplaWNobmlzIDxQcsOkZml4PiIKIAogIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MzAKIG1zZ2lkICJvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nIgpAQCAtOTUxOCwyMyArOTgwNywyMyBAQAogIm9kZXIgJ2dpdCBoZWxwIDxLb256ZXB0PicgdW0gbWVociDDvGJlciBlaW4gc3BlemlmaXNjaGVzIEtvbW1hbmRvIG9kZXJcbiIKICJLb256ZXB0IHp1IGVyZmFocmVuLiIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjE0NAorIzogcGFyc2Utb3B0aW9ucy5oOjE0NgogbXNnaWQgImV4cGlyeSBkYXRlIgogbXNnc3RyICJWZXJmYWxsc2RhdHVtIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MTU5CisjOiBwYXJzZS1vcHRpb25zLmg6MTYxCiBtc2dpZCAibm8tb3AgKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpIgogbXNnc3RyICJLZWluIEVmZmVrdCAoUsO8Y2t3w6RydHNrb21wYXRpYmlsaXTDpHQpIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjM2CisjOiBwYXJzZS1vcHRpb25zLmg6MjM4CiBtc2dpZCAiYmUgbW9yZSB2ZXJib3NlIgogbXNnc3RyICJlcndlaXRlcnRlIEF1c2dhYmVuIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjM4CisjOiBwYXJzZS1vcHRpb25zLmg6MjQwCiBtc2dpZCAiYmUgbW9yZSBxdWlldCIKIG1zZ3N0ciAid2VuaWdlciBBdXNnYWJlbiIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI0NAorIzogcGFyc2Utb3B0aW9ucy5oOjI0NgogbXNnaWQgInVzZSA8bj4gZGlnaXRzIHRvIGRpc3BsYXkgU0hBLTFzIgogbXNnc3RyICJiZW51dHplIDxuPiBaaWZmZXJuIHp1ciBBbnplaWdlIHZvbiBTSEEtMXMiCiAKQEAgLTk5OTMsNyArMTAyODIsNyBAQAogbXNnc3RyICIiCiAiXCJwdWxsXCIgaXN0IG5pY2h0IG3DtmdsaWNoLCB3ZWlsIFNpZSBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBEYXRlaWVuIGhhYmVuLiIKIAotIzogZ2l0LXB1bGwuc2g6MjAzCisjOiBnaXQtcHVsbC5zaDoyMjMKIG1zZ2lkICJ1cGRhdGluZyBhbiB1bmJvcm4gYnJhbmNoIHdpdGggY2hhbmdlcyBhZGRlZCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKICJBa3R1YWxpc2llcmUgZWluZW4gdW5nZWJvcmVuZW4gQnJhbmNoIG1pdCDDhG5kZXJ1bmdlbiwgZGllIHp1bSBDb21taXQgIgpAQCAtMTAwMDMsNyArMTAyOTIsNyBAQAogIy4gVGhlIHdvcmtpbmcgdHJlZSBhbmQgdGhlIGluZGV4IGZpbGUgaXMgc3RpbGwgYmFzZWQgb24gdGhlCiAjLiAkb3JpZ19oZWFkIGNvbW1pdCwgYnV0IHdlIGFyZSBtZXJnaW5nIGludG8gJGN1cnJfaGVhZC4KICMuIEZpcnN0IHVwZGF0ZSB0aGUgd29ya2luZyB0cmVlIHRvIG1hdGNoICRjdXJyX2hlYWQuCi0jOiBnaXQtcHVsbC5zaDoyMzUKKyM6IGdpdC1wdWxsLnNoOjI1NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IGZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC0xMDAxMywxMSArMTAzMDIsMTEgQEAKICJXYXJudW5nOiBcImZldGNoXCIgYWt0dWFsaXNpZXJ0ZSBkaWUgU3BpdHplIGRlcyBha3R1ZWxsZW4gQnJhbmNoZXMuXG4iCiAiV2FybnVuZzogU3B1bGUgSWhyIEFyYmVpdHN2ZXJ6ZWljaG5pcyB2b24gQ29tbWl0ICRvcmlnX2hlYWQgdm9yLiIKIAotIzogZ2l0LXB1bGwuc2g6MjYwCisjOiBnaXQtcHVsbC5zaDoyODAKIG1zZ2lkICJDYW5ub3QgbWVyZ2UgbXVsdGlwbGUgYnJhbmNoZXMgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICJLYW5uIG5pY2h0IG1laHJlcmUgQnJhbmNoZXMgaW4gZWluZW4gdW5nZWJvcmVuZW4gQnJhbmNoIHp1c2FtbWVuZsO8aHJlbiIKIAotIzogZ2l0LXB1bGwuc2g6MjY0CisjOiBnaXQtcHVsbC5zaDoyODQKIG1zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMiCiBtc2dzdHIgImthbm4gUmViYXNlIG5pY2h0IGF1ZiBtZWhyZXJlIEJyYW5jaGVzIGF1c2bDvGhyZW4iCiAKQEAgLTEwMDU0LDMzICsxMDM0MywzMyBAQAogIklocmUgw4RuZGVydW5nZW4gc2luZCBpbSBTdGFzaCBzaWNoZXIuXG4iCiAiU2llIGvDtm5uZW4gamVkZXJ6ZWl0IFwiZ2l0IHN0YXNoIHBvcFwiIG9kZXIgXCJnaXQgc3Rhc2ggZHJvcFwiIGF1c2bDvGhyZW4uXG4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTkwCisjOiBnaXQtcmViYXNlLnNoOjE5OQogbXNnaWQgIlRoZSBwcmUtcmViYXNlIGhvb2sgcmVmdXNlZCB0byByZWJhc2UuIgogbXNnc3RyICJEZXIgXCJwcmUtcmViYXNlIGhvb2tcIiBoYXQgZGVuIFJlYmFzZSB6dXLDvGNrZ2V3aWVzZW4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjE5NQorIzogZ2l0LXJlYmFzZS5zaDoyMDQKIG1zZ2lkICJJdCBsb29rcyBsaWtlIGdpdC1hbSBpcyBpbiBwcm9ncmVzcy4gQ2Fubm90IHJlYmFzZS4iCiBtc2dzdHIgIlwiZ2l0LWFtXCIgc2NoZWludCBpbSBHYW5nZSB6dSBzZWluLiBLYW5uIFJlYmFzZSBuaWNodCBkdXJjaGbDvGhyZW4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjMyOQorIzogZ2l0LXJlYmFzZS5zaDozMzgKIG1zZ2lkICJUaGUgLS1leGVjIG9wdGlvbiBtdXN0IGJlIHVzZWQgd2l0aCB0aGUgLS1pbnRlcmFjdGl2ZSBvcHRpb24iCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1leGVjIG11c3MgbWl0IC0taW50ZXJhY3RpdmUgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzM0CisjOiBnaXQtcmViYXNlLnNoOjM0MwogbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCiBtc2dzdHIgIktlaW4gUmViYXNlIGltIEdhbmdlPyIKIAotIzogZ2l0LXJlYmFzZS5zaDozNDUKKyM6IGdpdC1yZWJhc2Uuc2g6MzU0CiBtc2dpZCAiVGhlIC0tZWRpdC10b2RvIGFjdGlvbiBjYW4gb25seSBiZSB1c2VkIGR1cmluZyBpbnRlcmFjdGl2ZSByZWJhc2UuIgogbXNnc3RyICIiCiAiRGllIC0tZWRpdC10b2RvIEFrdGlvbiBrYW5uIG51ciB3w6RocmVuZCBlaW5lcyBpbnRlcmFrdGl2ZW4gUmViYXNlIHZlcndlbmRldCAiCiAid2VyZGVuLiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNTIKKyM6IGdpdC1yZWJhc2Uuc2g6MzYxCiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiS2FubiBIRUFEIG5pY2h0IGxlc2VuIgogCi0jOiBnaXQtcmViYXNlLnNoOjM1NQorIzogZ2l0LXJlYmFzZS5zaDozNjQKIG1zZ2lkICIiCiAiWW91IG11c3QgZWRpdCBhbGwgbWVyZ2UgY29uZmxpY3RzIGFuZCB0aGVuXG4iCiAibWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiCkBAIC0xMDA4OCwxMiArMTAzNzcsMTIgQEAKICJTaWUgbcO8c3NlbiBhbGxlIE1lcmdlLUtvbmZsaWt0ZSBlZGl0aWVyZW4gdW5kIGRpZXNlIGRhbm5cbiIKICJtaXR0ZWxzIFwiZ2l0IGFkZFwiIGFscyBhdWZnZWzDtnN0IG1hcmtpZXJlbiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNzMKKyM6IGdpdC1yZWJhc2Uuc2g6MzgyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCiBtc2dzdHIgIktvbm50ZSBuaWNodCB6dSAkaGVhZF9uYW1lIHp1csO8Y2tnZWhlbiIKIAotIzogZ2l0LXJlYmFzZS5zaDozOTIKKyM6IGdpdC1yZWJhc2Uuc2g6NDAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJHN0YXRlX2Rpcl9iYXNlIGRpcmVjdG9yeSwgYW5kXG4iCkBAIC0xMDExNCw2OCArMTA0MDMsNjggQEAKICJ1bmQgZsO8aHJlbiBTaWUgZGllc2VzIEtvbW1hbmRvIG5vY2htYWwgYXVzLiBFcyB3aXJkIGFuZ2VoYWx0ZW4sIGZhbGxzIG5vY2hcbiIKICJldHdhcyBTY2jDvHR6ZW5zd2VydGVzIHZvcmhhbmRlbiBpc3QuIgogCi0jOiBnaXQtcmViYXNlLnNoOjQzNworIzogZ2l0LXJlYmFzZS5zaDo0NDYKICMsIHNoLWZvcm1hdAogbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJHVwc3RyZWFtX25hbWUiCiBtc2dzdHIgInVuZ8O8bHRpZ2VyIFVwc3RyZWFtLUJyYW5jaCAkdXBzdHJlYW1fbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NjEKKyM6IGdpdC1yZWJhc2Uuc2g6NDcwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiJG9udG9fbmFtZTogZXMgZ2lidCBtZWhyIGFscyBlaW5lIE1lcmdlLUJhc2lzIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ2NCBnaXQtcmViYXNlLnNoOjQ2OAorIzogZ2l0LXJlYmFzZS5zaDo0NzMgZ2l0LXJlYmFzZS5zaDo0NzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGlzIG5vIG1lcmdlIGJhc2UiCiBtc2dzdHIgIiRvbnRvX25hbWU6IGVzIGdpYnQga2VpbmUgTWVyZ2UtQmFzaXMiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDczCisjOiBnaXQtcmViYXNlLnNoOjQ4MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCiBtc2dzdHIgIiRvbnRvX25hbWUgemVpZ3QgYXVmIGtlaW5lbiBnw7xsdGlnZW4gQ29tbWl0IgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5NgorIzogZ2l0LXJlYmFzZS5zaDo1MDUKICMsIHNoLWZvcm1hdAogbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaDogJGJyYW5jaF9uYW1lIgogbXNnc3RyICJmYXRhbDogQnJhbmNoICRicmFuY2hfbmFtZSBuaWNodCBnZWZ1bmRlbiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MTkKKyM6IGdpdC1yZWJhc2Uuc2g6NTI4CiBtc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKIG1zZ3N0ciAiS2FubiBcImF1dG9zdGFzaFwiIG5pY2h0IGF1c2bDvGhyZW4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjUyNAorIzogZ2l0LXJlYmFzZS5zaDo1MzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgogbXNnc3RyICJcImF1dG9zdGFzaFwiIGVyemV1Z3Q6ICRzdGFzaF9hYmJyZXYiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTI4CisjOiBnaXQtcmViYXNlLnNoOjUzNwogbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgIkJpdHRlIGNvbW1pdHRlbiBTaWUgZGllIMOEbmRlcnVuZ2VuIG9kZXIgYmVudXR6ZW4gU2llIFwic3Rhc2hcIi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTQ4CisjOiBnaXQtcmViYXNlLnNoOjU1NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUuIgogbXNnc3RyICJBa3R1ZWxsZXIgQnJhbmNoICRicmFuY2hfbmFtZSBpc3QgYXVmIGRlbSBuZXVzdGVuIFN0YW5kLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NTIKKyM6IGdpdC1yZWJhc2Uuc2g6NTYxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCiBtc2dzdHIgIiIKICJBa3R1ZWxsZXIgQnJhbmNoICRicmFuY2hfbmFtZSBpc3QgYXVmIGRlbSBuZXVzdGVuIFN0YW5kLCBSZWJhc2UgZXJ6d3VuZ2VuLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjMKKyM6IGdpdC1yZWJhc2Uuc2g6NTcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDaGFuZ2VzIGZyb20gJG1iIHRvICRvbnRvOiIKIG1zZ3N0ciAiw4RuZGVydW5nZW4gdm9uICRtYiB6dSAkb250bzoiCiAKICMuIERldGFjaCBIRUFEIGFuZCByZXNldCB0aGUgdHJlZQotIzogZ2l0LXJlYmFzZS5zaDo1NzIKKyM6IGdpdC1yZWJhc2Uuc2g6NTgxCiBtc2dpZCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uIgogbXNnc3RyICIiCiAiWnVuw6RjaHN0IHdpcmQgZGVyIEJyYW5jaCB6dXLDvGNrZ2VzcHVsdCwgdW0gSWhyZSDDhG5kZXJ1bmdlblxuIgogImRhcmF1ZiBuZXUgYW56dXdlbmRlbi4uLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1ODIKKyM6IGdpdC1yZWJhc2Uuc2g6NTkxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRlZCAkYnJhbmNoX25hbWUgdG8gJG9udG9fbmFtZS4iCiBtc2dzdHIgIiRicmFuY2hfbmFtZSB6dSAkb250b19uYW1lIHZvcmdlc3B1bHQuIgpAQCAtMTAyMjMsNyArMTA1MTIsNyBAQAogIy4gJCBnaXQgc3Rhc2ggc2F2ZSAtLWJsYWgtYmxhaCAyPiYxIHwgaGVhZCAtbiAyCiAjLiBlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogLS1ibGFoLWJsYWgKICMuIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJy0tYmxhaC1ibGFoJwotIzogZ2l0LXN0YXNoLnNoOjI0MQorIzogZ2l0LXN0YXNoLnNoOjIzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCkBAIC0xMDIzMywxMDAgKzEwNTIyLDg1IEBACiAiICAgICAgICBVbSBlaW5lIEJlc2NocmVpYnVuZyBhbnp1Z2ViZW4sIGJlbnV0emVuIFNpZSBcImdpdCBzdGFzaCBzYXZlIC0tICIKICInJG9wdGlvbidcIiIKIAotIzogZ2l0LXN0YXNoLnNoOjI2MgorIzogZ2l0LXN0YXNoLnNoOjI1OAogbXNnaWQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIKIG1zZ3N0ciAiS2VpbmUgbG9rYWxlbiDDhG5kZXJ1bmdlbiB6dW0gU3BlaWNoZXJuIgogCi0jOiBnaXQtc3Rhc2guc2g6MjY4Ci1tc2dpZCAiIgotIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIGZpbGVzIHdvdWxkIE5PVCBiZSBzYXZlZCBidXQgbmVlZCB0byBiZSByZW1vdmVkIGJ5ICIKLSJzdGFzaCBzYXZlOiIKLW1zZ3N0ciAiIgotIkRpZSBmb2xnZW5kZW4gdW5iZW9iYWNodGV0ZW4gRGF0ZWllbiB3w7xyZGVuIE5JQ0hUIGdlc3BlaWNoZXJ0IHdlcmRlbixcbiIKLSJtw7xzc2VuIGFiZXIgZHVyY2ggXCJzdGFzaCBzYXZlXCIgZW50ZmVybnQgd2VyZGVuOiIKLQotIzogZ2l0LXN0YXNoLnNoOjI3MAotbXNnaWQgIiIKLSJBYm9ydGluZy4gQ29uc2lkZXIgdXNpbmcgZWl0aGVyIHRoZSAtLWZvcmNlIG9yIC0taW5jbHVkZS11bnRyYWNrZWQgb3B0aW9uLiIKLW1zZ3N0ciAiIgotIkFiZ2Vicm9jaGVuLiBCZW51dHplbiBTaWUgZW50d2VkZXIgZGllIE9wdGlvbiAtLWZvcmNlIG9kZXIgLS1pbmNsdWRlLSIKLSJ1bnRyYWNrZWQuIgotCi0jOiBnaXQtc3Rhc2guc2g6Mjc0CisjOiBnaXQtc3Rhc2guc2g6MjYyCiBtc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCiBtc2dzdHIgIkthbm4gXCJzdGFzaFwiIG5pY2h0IGluaXRpYWxpc2llcmVuIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjc4CisjOiBnaXQtc3Rhc2guc2g6MjY2CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgogbXNnc3RyICJLYW5uIGRlbiBha3R1ZWxsZW4gU3RhdHVzIG5pY2h0IHNwZWljaGVybiIKIAotIzogZ2l0LXN0YXNoLnNoOjI5NgorIzogZ2l0LXN0YXNoLnNoOjI4NAogbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKIG1zZ3N0ciAiS2FubiDDhG5kZXJ1bmdlbiBpbSBBcmJlaXRzdmVyemVpY2huaXMgbmljaHQgbMO2c2NoZW4iCiAKLSM6IGdpdC1zdGFzaC5zaDozOTUKKyM6IGdpdC1zdGFzaC5zaDozODMKIG1zZ2lkICJObyBzdGFzaCBmb3VuZC4iCiBtc2dzdHIgIktlaW4gXCJzdGFzaFwiIGdlZnVuZGVuLiIKIAotIzogZ2l0LXN0YXNoLnNoOjQwMgorIzogZ2l0LXN0YXNoLnNoOjM5MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDogJFJFViIKIG1zZ3N0ciAiWnUgdmllbGUgQ29tbWl0cyBhbmdlZ2ViZW46ICRSRVYiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MDgKKyM6IGdpdC1zdGFzaC5zaDozOTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IHZhbGlkIHJlZmVyZW5jZSIKIG1zZ3N0ciAiJHJlZmVyZW5jZSBpc3Qga2VpbmUgZ8O8bHRpZ2UgUmVmZXJlbnoiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MzYKKyM6IGdpdC1zdGFzaC5zaDo0MjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCiBtc2dzdHIgIickYXJncycgaXN0IGtlaW4gXCJzdGFzaFwiLWFydGlnZXIgQ29tbWl0IgogCi0jOiBnaXQtc3Rhc2guc2g6NDQ3CisjOiBnaXQtc3Rhc2guc2g6NDM1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKIG1zZ3N0ciAiJyRhcmdzJyBpc3Qga2VpbmUgXCJzdGFzaFwiLVJlZmVyZW56IgogCi0jOiBnaXQtc3Rhc2guc2g6NDU1CisjOiBnaXQtc3Rhc2guc2g6NDQzCiBtc2dpZCAidW5hYmxlIHRvIHJlZnJlc2ggaW5kZXgiCiBtc2dzdHIgInVuZsOkaGlnIGRpZSBTdGFnaW5nLUFyZWEgenUgYWt0dWFsaXNpZXJlbiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ1OQorIzogZ2l0LXN0YXNoLnNoOjQ0NwogbXNnaWQgIkNhbm5vdCBhcHBseSBhIHN0YXNoIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSIKIG1zZ3N0ciAiS2FubiBcInN0YXNoXCIgbmljaHQgYW53ZW5kZW4sIHNvbGFuZyBlaW4gTWVyZ2UgaW0gR2FuZ2UgaXN0IgogCi0jOiBnaXQtc3Rhc2guc2g6NDY3CisjOiBnaXQtc3Rhc2guc2g6NDU1CiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAiS29uZmxpa3RlIGluIGRlciBTdGFnaW5nLUFyZWEuIFZlcnN1Y2hlbiBTaWUgZXMgb2huZSAtLWluZGV4LiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ2OQorIzogZ2l0LXN0YXNoLnNoOjQ1NwogbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCiBtc2dzdHIgIktvbm50ZSBTdGFnaW5nLUFyZWEtVmVyemVpY2huaXMgbmljaHQgc3BlaWNoZXJuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTAzCisjOiBnaXQtc3Rhc2guc2g6NDkxCiBtc2dpZCAiQ2Fubm90IHVuc3RhZ2UgbW9kaWZpZWQgZmlsZXMiCiBtc2dzdHIgIkthbm4gZ2XDpG5kZXJ0ZSBEYXRlaWVuIG5pY2h0IGF1cyBkZXIgU3RhZ2luZy1BcmVhIGVudGZlcm5lbiIKIAotIzogZ2l0LXN0YXNoLnNoOjUxOAorIzogZ2l0LXN0YXNoLnNoOjUwNgogbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKIG1zZ3N0ciAiU3RhZ2luZy1BcmVhIHd1cmRlIG5pY2h0IGF1cyBkZW0gU3Rhc2ggenVyw7xja2dlbGFkZW4uIgogCi0jOiBnaXQtc3Rhc2guc2g6NTM1CisjOiBnaXQtc3Rhc2guc2g6NTIzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEcm9wcGVkICR7UkVWfSAoJHMpIgogbXNnc3RyICJHZWzDtnNjaHQgJHtSRVZ9ICgkcykiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MzYKKyM6IGdpdC1zdGFzaC5zaDo1MjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiR7UkVWfTogS29ubnRlIFwic3Rhc2hcIi1FaW50cmFnIG5pY2h0IGzDtnNjaGVuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTQzCisjOiBnaXQtc3Rhc2guc2g6NTMxCiBtc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgogbXNnc3RyICJLZWluIEJyYW5jaG5hbWUgc3BlemlmaXppZXJ0IgogCi0jOiBnaXQtc3Rhc2guc2g6NjE1CisjOiBnaXQtc3Rhc2guc2g6NjAzCiBtc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogbXNnc3RyICIoWnVyIFdpZWRlcmhlcnN0ZWxsdW5nIGdlYmVuIFNpZSBcImdpdCBzdGFzaCBhcHBseVwiIGVpbikiCiAKQEAgLTEwNjA4LDQ5ICsxMDg4Miw2MCBAQAogIkRpZSBPcHRpb25lbiAtLWNhY2hlZCB1bmQgLS1maWxlcyBrw7ZubmVuIG5pY2h0IGdlbWVpbnNhbSB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAogIy4gdW5leHBlY3RlZCB0eXBlCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwNjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTA3MwogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBtb2RlICRtb2RfZHN0IgogbXNnc3RyICJ1bmVyd2FydGV0ZXIgTW9kdXMgJG1vZF9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA4NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDkzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCiBtc2dzdHIgIiAgV2FybnVuZzogJGRpc3BsYXlfbmFtZSBiZWluaGFsdGV0IG5pY2h0IENvbW1pdCAkc2hhMV9zcmMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA4OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDk2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAgV2FybnVuZzogJGRpc3BsYXlfbmFtZSBiZWluaGFsdGV0IG5pY2h0IENvbW1pdCAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA5MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDk5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCiBtc2dzdHIgIiIKICIgIFdhcm51bmc6ICRkaXNwbGF5X25hbWUgYmVpbmhhbHRldCBuaWNodCBkaWUgQ29tbWl0cyAkc2hhMV9zcmMgdW5kICRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTE3CisjOiBnaXQtc3VibW9kdWxlLnNoOjExMjQKIG1zZ2lkICJibG9iIgogbXNnc3RyICJCbG9iIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExNTUKLW1zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKLW1zZ3N0ciAiU3VibW9kdWxlIGdlw6RuZGVydCwgYWJlciBuaWNodCBha3R1YWxpc2llcnQ6IgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExNTcKLW1zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgotbXNnc3RyICLDhG5kZXJ1bmdlbiBpbiBTdWJtb2R1bCB6dW0gQ29tbWl0dGVuOiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMjQyCisjOiBnaXQtc3VibW9kdWxlLnNoOjEyMzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiRmVobGVyIGJlaSBSZWt1cnNpb24gaW4gU3VibW9kdWwtUGZhZCAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEzMDYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTMwMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiU3luY2hyb25pc2llcmUgU3VibW9kdWwtVVJMIGbDvHIgJyRkaXNwbGF5cGF0aCciCiAKKyN+IG1zZ2lkICJpbnB1dCBwYXRocyBhcmUgdGVybWluYXRlZCBieSBhIG51bGwgY2hhcmFjdGVyIgorI34gbXNnc3RyICJFaW5nYWJlcGZhZGUgc2luZCBkdXJjaCBlaW4gTlVMIFplaWNoZW4gYWJnZXNjaGxvc3NlbiIKKworI34gbXNnaWQgImRvbmVcbiIKKyN+IG1zZ3N0ciAiRmVydGlnXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgZmlsZXMgd291bGQgTk9UIGJlIHNhdmVkIGJ1dCBuZWVkIHRvIGJlIHJlbW92ZWQgIgorI34gImJ5IHN0YXNoIHNhdmU6IgorI34gbXNnc3RyICIiCisjfiAiRGllIGZvbGdlbmRlbiB1bmJlb2JhY2h0ZXRlbiBEYXRlaWVuIHfDvHJkZW4gTklDSFQgZ2VzcGVpY2hlcnQgd2VyZGVuLFxuIgorI34gIm3DvHNzZW4gYWJlciBkdXJjaCBcInN0YXNoIHNhdmVcIiBlbnRmZXJudCB3ZXJkZW46IgorCisjfiBtc2dpZCAiIgorI34gIkFib3J0aW5nLiBDb25zaWRlciB1c2luZyBlaXRoZXIgdGhlIC0tZm9yY2Ugb3IgLS1pbmNsdWRlLXVudHJhY2tlZCBvcHRpb24uIgorI34gbXNnc3RyICIiCisjfiAiQWJnZWJyb2NoZW4uIEJlbnV0emVuIFNpZSBlbnR3ZWRlciBkaWUgT3B0aW9uIC0tZm9yY2Ugb2RlciAtLWluY2x1ZGUtIgorI34gInVudHJhY2tlZC4iCisKICN+IG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLXJlc29sdmVkXCIpIgogI34gbXNnc3RyICIiCiAjfiAiICAoYmVoZWJlbiBTaWUgZGllIEtvbmZsaWt0ZSB1bmQgZsO8aHJlbiBTaWUgZGFubiBcImdpdCBhbSAtLXJlc29sdmVkXCIgIgpAQCAtMTA3ODMsOSArMTEwNjgsNiBAQAogI34gbXNnaWQgIi1CIGNhbm5vdCBiZSB1c2VkIHdpdGggLWIiCiAjfiBtc2dzdHIgIi1CIGthbm4gbmljaHQgbWl0IC1iIGJlbnV0enQgd2VyZGVuIgogCi0jfiBtc2dpZCAiLS1wYXRjaCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucyIKLSN+IG1zZ3N0ciAiLS1wYXRjaCBpc3QgaW5rb21wYXRpYmVsIG1pdCBhbGxlbiBhbmRlcmVuIE9wdGlvbmVuIgotCiAjfiBtc2dpZCAiLS1kZXRhY2ggY2Fubm90IGJlIHVzZWQgd2l0aCAtYi8tQi8tLW9ycGhhbiIKICN+IG1zZ3N0ciAiLS1kZXRhY2gga2FubiBuaWNodCBtaXQgLWIvLUIvLS1vcnBoYW4gYmVudXR6dCB3ZXJkZW4iCiAKZGlmZiAtLWdpdCBhL3BvL2ZyLnBvIGIvcG8vZnIucG8KaW5kZXggMmNkYjZmOS4uMmFjZDVjNCAxMDA2NDQKLS0tIGEvcG8vZnIucG8KKysrIGIvcG8vZnIucG8KQEAgLTgsNiArOCw3IEBACiAjCiAjICAgRW5nbGlzaCAgICAgICAgICB8ICBGcmVuY2gKICMgICAtLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgICAzLXdheSBtZXJnZSAgICAgIHwgIGZ1c2lvbiDDoCAzIHBvaW50cwogIyAgICNOTiAgICAgICAgICAgICAgfCAgbsKwTk4KICMgICBhIGNvbW1pdCAgICAgICAgIHwgIHVuIGNvbW1pdAogIyAgIGJhY2t3YXJkICAgICAgICAgfApAQCAtMTcsMzUgKzE4LDU0IEBACiAjICAgYmxvYiAgICAgICAgICAgICB8ICBibG9iCiAjICAgYnVnICAgICAgICAgICAgICB8ICBib2d1ZQogIyAgIGJ1bmRsZSAgICAgICAgICAgfCAgY29saXMKKyMgICBieXBhc3MgICAgICAgICAgIHwgIMOpdml0ZXIgZCd1dGlsaXNlcgorIyAgIHRvIGNoZWNrb3V0ICAgICAgfCAgZXh0cmFpcmUKICMgICBjaGVycnktcGljayAgICAgIHwgIHBpY29yZXIKKyMgICB0byBjb21taXQgICAgICAgIHwgIHZhbGlkZXIKKyMgICBjb21taXQtaXNoICAgICAgIHwgIGNvbW1pdCBvdSBhcHBhcmVudMOpCisjICAgY29uZmlnIGZpbGUgICAgICB8ICBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24KICMgICBkYW5nbGluZyAgICAgICAgIHwgIGVuIHN1c3BlbnMKKyMgICB0byBkZWJ1ZyAgICAgICAgIHwgIGTDqWJvZ3VlcgogIyAgIGRlYnVnZ2luZyAgICAgICAgfCAgZMOpYm9nYWdlCisjICAgdG8gZGVmbGF0ZSAgICAgICB8ICBjb21wcmVzc2VyCisjICAgZW1haWwgICAgICAgICAgICB8ICBlLW1haWwKKyMgICBlbnRyeSAgICAgICAgICAgIHwgIMOpbMOpbWVudAogIyAgIGZhc3QtZm9yd2FyZCAgICAgfCAgYXZhbmNlIHJhcGlkZQogIyAgIGZhc3QtZm9yd2FyZGVkICAgfCAgbWlzIMOgIGpvdXIgZW4gYXZhbmNlIHJhcGlkZQorIyAgIHRvIGZldGNoICAgICAgICAgfCAgcmFwYXRyaWVyCisjICAgZml4IGNvbmZsaWN0cyAgICB8ICByw6lnbGV6IGxlcyBjb25mbGl0cworIyAgIHRvIGZvcm1hdCAgICAgICAgfCAgZm9ybWF0ZXIKICMgICBnbG9iICAgICAgICAgICAgIHwgIGdsb2IKICMgICBoYXNoICAgICAgICAgICAgIHwgIGhhY2hhZ2UKICMgICBIRUFEICAgICAgICAgICAgIHwgIEhFQUQgKGdlbnJlIGbDqW1pbmluKQotIyAgIGhvb2sgICAgICAgICAgICAgfCAgaG9vaworIyAgIGhvb2sgICAgICAgICAgICAgfCAgY3JvY2hldAogIyAgIGh1bmsgICAgICAgICAgICAgfCAgc2VjdGlvbgorIyAgIHRvIGluZmxhdGUgICAgICAgfCAgZMOpY29tcHJlc3NlcgorIyAgIHRvIGxpc3QgICAgICAgICAgfCAgYWZmaWNoZXIKKyMgICBtYXBwaW5nICAgICAgICAgIHwgIG1pc2UgZW4gY29ycmVzcG9uZGFuY2UKICMgICBtZXJnZSAgICAgICAgICAgIHwgIGZ1c2lvbgorIyAgIHBhY2sgICAgICAgICAgICAgfCAgcGFxdWV0CisjICAgcGF0Y2hlcyAgICAgICAgICB8ICBwYXRjaHMKICMgICBwYXR0ZXJuICAgICAgICAgIHwgIG1vdGlmCisjICAgdG8gcHJ1bmUgICAgICAgICB8ICDDqWxpbWluZXIKKyMgICB0byBwdXNoICAgICAgICAgIHwgIHBvdXNzZXIKKyMgICB0byByZWJhc2UgICAgICAgIHwgIHJlYmFzZXIKICMgICByZXBvc2l0b3J5ICAgICAgIHwgIGTDqXDDtHQKICMgICByZW1vdGUgICAgICAgICAgIHwgIGRpc3RhbnRlIChvdSBzZXJ2ZXVyIGRpc3RhbnQpCiAjICAgcmV2aXNpb24gICAgICAgICB8ICByw6l2aXNpb24KKyMgICBzaGFsbG93ICAgICAgICAgIHwgIHN1cGVyZmljaWVsCisjICAgc2hlbGwgICAgICAgICAgICB8ICBpbnRlcnByw6l0ZXVyIGRlIGNvbW1hbmRlcwogIyAgIHN0YXNoICAgICAgICAgICAgfCAgcmVtaXNhZ2UKKyMgICB0byBzdGFzaCAgICAgICAgIHwgIHJlbWlzZXIKICMgICB0YWcgICAgICAgICAgICAgIHwgIMOpdGlxdWV0dGUKICMgICB0ZW1wbGF0ZSAgICAgICAgIHwgIG1vZMOobGUKLSMgICB0byBjaGVja291dCAgICAgIHwgIGV4dHJhaXJlCi0jICAgdG8gY29tbWl0ICAgICAgICB8ICB2YWxpZGVyCi0jICAgdG8gZmV0Y2ggICAgICAgICB8ICByYXBhdHJpZXIKLSMgICB0byBwcnVuZSAgICAgICAgIHwgIMOpbGFndWVyCi0jICAgdG8gcHVzaCAgICAgICAgICB8ICBwb3Vzc2VyCi0jICAgdG8gcmViYXNlICAgICAgICB8ICByZWJhc2VyCi0jICAgdG8gc3Rhc2ggICAgICAgICB8ICByZW1pc2VyCisjICAgdGhyZWFkICAgICAgICAgICB8ICBmaWwKICMgICB0byB0cmFjayAgICAgICAgIHwgIHN1aXZyZQorIyAgIHRyZWUgICAgICAgICAgICAgfCAgYXJicmUKKyMgICB0cmVlLWlzaCAgICAgICAgIHwgIGFyYnJlIG91IGFwcGFyZW50w6kKICMgICB0byB1bnN0YWdlICAgICAgIHwgIGTDqXNpbmRleGVyCi0jICAgdHJlZS1pc2ggICAgICAgICB8ICBhcmJyZQogIyAgIHVwc3RyZWFtICAgICAgICAgfCAgYW1vbnQKKyMgICB2aWV3ZXIgICAgICAgICAgIHwgIHZpc3VhbGlzZXVyCiAjICAgd29ya3RyZWUgLyAgICAgICB8CiAjICAgd29yayhpbmcpIHRyZWUgICB8ICBjb3BpZSBkZSB0cmF2YWlsCiAjCkBAIC01MywxOCArNzMsMTcgQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogZ2l0XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTMtMDQtMzAgMDg6MjUrMDgwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTMtMDgtMjcgMTk6NDMrMDIwMFxuIgotIkxhc3QtVHJhbnNsYXRvcjogU8OpYmFzdGllbiBIZWxsZXUgPGZsYXNoY29kZUBmbGFzaHR1eC5vcmc+XG4iCi0iTGFuZ3VhZ2UtVGVhbTogSmVhbi1Ob8OrbCBBdmlsYSA8am4uYXZpbGFAZnJlZS5mcj5cbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMy0xMS0wMiAwODowNiswODAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxMy0xMS0wNyAyMTo0MSswMTAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBT6WJhc3RpZW4gSGVsbGV1IDxmbGFzaGNvZGVAZmxhc2h0dXgub3JnPlxuIgorIkxhbmd1YWdlLVRlYW06IEplYW4tTm/rbCBBdmlsYSA8am4uYXZpbGFAZnJlZS5mcj5cbiIKICJMYW5ndWFnZTogZnJcbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKICJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD1uPD0xID8wIDogMTtcbiIKLSJYLUdlbmVyYXRvcjogUG9lZGl0IDEuNS40XG4iCiAKLSM6IGFkdmljZS5jOjUzCisjOiBhZHZpY2UuYzo1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJoaW50OiAlLipzXG4iCiBtc2dzdHIgImFzdHVjZTogJS4qc1xuIgpAQCAtNzMsNyArOTIsNyBAQAogIy4gKiBNZXNzYWdlIHVzZWQgYm90aCB3aGVuICdnaXQgY29tbWl0JyBmYWlscyBhbmQgd2hlbgogIy4gKiBvdGhlciBjb21tYW5kcyBkb2luZyBhIG1lcmdlIGRvLgogIy4KLSM6IGFkdmljZS5jOjgzCisjOiBhZHZpY2UuYzo4NwogbXNnaWQgIiIKICJGaXggdGhlbSB1cCBpbiB0aGUgd29yayB0cmVlLFxuIgogImFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nIGFzXG4iCkBAIC04Nyw3ICsxMDYsNyBAQAogCiAjOiBhcmNoaXZlLmM6MTAKIG1zZ2lkICJnaXQgYXJjaGl2ZSBbb3B0aW9uc10gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKLW1zZ3N0ciAiZ2l0IGFyY2hpdmUgW29wdGlvbnNdIDxhcmJyZT4gWzxjaGVtaW4+Li4uXSIKK21zZ3N0ciAiZ2l0IGFyY2hpdmUgW29wdGlvbnNdIDxhcmJyZSBvdSBhcHBhcmVudMOpPiBbPGNoZW1pbj4uLi5dIgogCiAjOiBhcmNoaXZlLmM6MTEKIG1zZ2lkICJnaXQgYXJjaGl2ZSAtLWxpc3QiCkBAIC05Niw3NyArMTE1LDg0IEBACiAjOiBhcmNoaXZlLmM6MTIKIG1zZ2lkICIiCiAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIFtvcHRpb25zXSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgotbXNnc3RyICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8ZMOpcMO0dD4gWy0tZXhlYyA8Y29tbWFuZGU+XSBbb3B0aW9uc10gPGFyYnJlPiBbPGNoZW1pbj4uLi5dIgorbXNnc3RyICIiCisiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPGTDqXDDtHQ+IFstLWV4ZWMgPGNvbW1hbmRlPl0gW29wdGlvbnNdIDxhcmJyZSBvdSAiCisiYXBwYXJlbnTDqT4gWzxjaGVtaW4+Li4uXSIKIAogIzogYXJjaGl2ZS5jOjEzCiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPGTDqXDDtHQ+IFstLWV4ZWMgPGNvbW1hbmRlPl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzIzCisjOiBhcmNoaXZlLmM6MjQyIGJ1aWx0aW4vYWRkLmM6MjQwIGJ1aWx0aW4vYWRkLmM6NTU5IGJ1aWx0aW4vcm0uYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKK21zZ3N0ciAibGUgY2hlbWluICclcycgbmUgY29ycmVzcG9uZCDDoCBhdWN1biBmaWNoaWVyIgorCisjOiBhcmNoaXZlLmM6MzI3CiBtc2dpZCAiZm10IgogbXNnc3RyICJmbXQiCiAKLSM6IGFyY2hpdmUuYzozMjMKKyM6IGFyY2hpdmUuYzozMjcKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAiZm9ybWF0IGQnYXJjaGl2ZSIKIAotIzogYXJjaGl2ZS5jOjMyNCBidWlsdGluL2xvZy5jOjExMjYKKyM6IGFyY2hpdmUuYzozMjggYnVpbHRpbi9sb2cuYzoxMTkzCiBtc2dpZCAicHJlZml4IgogbXNnc3RyICJwcsOpZml4ZSIKIAotIzogYXJjaGl2ZS5jOjMyNQorIzogYXJjaGl2ZS5jOjMyOQogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgInByw6lmaXhlciBjaGFxdWUgY2hlbWluIGRlIGZpY2hpZXIgZGFucyBsJ2FyY2hpdmUiCiAKLSM6IGFyY2hpdmUuYzozMjYgYnVpbHRpbi9hcmNoaXZlLmM6ODggYnVpbHRpbi9ibGFtZS5jOjIzNzEKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMzcyIGJ1aWx0aW4vY29uZmlnLmM6NTUgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY2NQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY2NyBidWlsdGluL2dyZXAuYzo3MTUgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjc3Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDkwIGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTMgYnVpbHRpbi9ub3Rlcy5jOjUzNgotIzogYnVpbHRpbi9ub3Rlcy5jOjY5MyBidWlsdGluL3JlYWQtdHJlZS5jOjEwNyBwYXJzZS1vcHRpb25zLmg6MTQ5CisjOiBhcmNoaXZlLmM6MzMwIGJ1aWx0aW4vYXJjaGl2ZS5jOjg4IGJ1aWx0aW4vYmxhbWUuYzoyMjY1CisjOiBidWlsdGluL2JsYW1lLmM6MjI2NiBidWlsdGluL2NvbmZpZy5jOjU4IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODIgYnVpbHRpbi9ncmVwLmM6NzE2IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3NworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NiBidWlsdGluL2xzLWZpbGVzLmM6NDg5IGJ1aWx0aW4vbm90ZXMuYzo0MDgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDggcGFyc2Utb3B0aW9ucy5oOjE1NAogbXNnaWQgImZpbGUiCiBtc2dzdHIgImZpY2hpZXIiCiAKLSM6IGFyY2hpdmUuYzozMjcgYnVpbHRpbi9hcmNoaXZlLmM6ODkKKyM6IGFyY2hpdmUuYzozMzEgYnVpbHRpbi9hcmNoaXZlLmM6ODkKIG1zZ2lkICJ3cml0ZSB0aGUgYXJjaGl2ZSB0byB0aGlzIGZpbGUiCiBtc2dzdHIgIsOpY3JpcmUgbCdhcmNoaXZlIGRhbnMgY2UgZmljaGllciIKIAotIzogYXJjaGl2ZS5jOjMyOQorIzogYXJjaGl2ZS5jOjMzMwogbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgImxpcmUgLmdpdGF0dHJpYnV0ZXMgZGFucyBsZSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsIgogCi0jOiBhcmNoaXZlLmM6MzMwCisjOiBhcmNoaXZlLmM6MzM0CiBtc2dpZCAicmVwb3J0IGFyY2hpdmVkIGZpbGVzIG9uIHN0ZGVyciIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIGFyY2hpdsOpcyBzdXIgc3RkZXJyIgogCi0jOiBhcmNoaXZlLmM6MzMxCisjOiBhcmNoaXZlLmM6MzM1CiBtc2dpZCAic3RvcmUgb25seSIKIG1zZ3N0ciAic3RvY2thZ2Ugc2V1bGVtZW50IgogCi0jOiBhcmNoaXZlLmM6MzMyCisjOiBhcmNoaXZlLmM6MzM2CiBtc2dpZCAiY29tcHJlc3MgZmFzdGVyIgogbXNnc3RyICJjb21wcmVzc2lvbiByYXBpZGUiCiAKLSM6IGFyY2hpdmUuYzozNDAKKyM6IGFyY2hpdmUuYzozNDQKIG1zZ2lkICJjb21wcmVzcyBiZXR0ZXIiCiBtc2dzdHIgImNvbXByZXNzaW9uIGVmZmljYWNlIgogCi0jOiBhcmNoaXZlLmM6MzQzCisjOiBhcmNoaXZlLmM6MzQ3CiBtc2dpZCAibGlzdCBzdXBwb3J0ZWQgYXJjaGl2ZSBmb3JtYXRzIgotbXNnc3RyICJsaXN0ZXIgbGVzIGZvcm1hdHMgZCdhcmNoaXZlIHN1cHBvcnTDqXMiCittc2dzdHIgImFmZmljaGVyIGxlcyBmb3JtYXRzIGQnYXJjaGl2ZSBzdXBwb3J0w6lzIgogCi0jOiBhcmNoaXZlLmM6MzQ1IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4NgorIzogYXJjaGl2ZS5jOjM0OSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODQKIG1zZ2lkICJyZXBvIgogbXNnc3RyICJkw6lww7R0IgogCi0jOiBhcmNoaXZlLmM6MzQ2IGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCisjOiBhcmNoaXZlLmM6MzUwIGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCiBtc2dpZCAicmV0cmlldmUgdGhlIGFyY2hpdmUgZnJvbSByZW1vdGUgcmVwb3NpdG9yeSA8cmVwbz4iCiBtc2dzdHIgInLDqWN1cMOpcmVyIGwnYXJjaGl2ZSBkZXB1aXMgbGUgZMOpcMO0dCBkaXN0YW50IDxkw6lww7R0PiIKIAotIzogYXJjaGl2ZS5jOjM0NyBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NjE1CisjOiBhcmNoaXZlLmM6MzUxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODcKIG1zZ2lkICJjb21tYW5kIgogbXNnc3RyICJjb21tYW5kZSIKIAotIzogYXJjaGl2ZS5jOjM0OCBidWlsdGluL2FyY2hpdmUuYzo5MworIzogYXJjaGl2ZS5jOjM1MiBidWlsdGluL2FyY2hpdmUuYzo5MwogbXNnaWQgInBhdGggdG8gdGhlIHJlbW90ZSBnaXQtdXBsb2FkLWFyY2hpdmUgY29tbWFuZCIKIG1zZ3N0ciAiY2hlbWluIHZlcnMgbGEgY29tbWFuZGUgZGlzdGFudGUgZ2l0LXVwbG9hZC1hcmNoaXZlIgogCkBAIC0xODYsMTcgKzIxMiwyMSBAQAogIzogYnJhbmNoLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayByZW1vdGUgYnJhbmNoICVzIGZyb20gJXMgYnkgcmViYXNpbmcuIgotbXNnc3RyICJMYSBicmFuY2hlICVzIGVzdCBwYXJhbcOpdHLDqWUgcG91ciBzdWl2cmUgbGEgYnJhbmNoZSBkaXN0YW50ZSAlcyBkZSAlcyBlbiByZWJhc2FudC4iCittc2dzdHIgIiIKKyJMYSBicmFuY2hlICVzIGVzdCBwYXJhbcOpdHLDqWUgcG91ciBzdWl2cmUgbGEgYnJhbmNoZSBkaXN0YW50ZSAlcyBkZSAlcyBlbiAiCisicmViYXNhbnQuIgogCiAjOiBicmFuY2guYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJXMgZnJvbSAlcy4iCi1tc2dzdHIgIkxhIGJyYW5jaGUgJXMgZXN0IHBhcmFtw6l0csOpZSBwb3VyIHN1aXZyZSBsYSBicmFuY2hlIGRpc3RhbnRlICVzIGRlcHVpcyAlcy4iCittc2dzdHIgIiIKKyJMYSBicmFuY2hlICVzIGVzdCBwYXJhbcOpdHLDqWUgcG91ciBzdWl2cmUgbGEgYnJhbmNoZSBkaXN0YW50ZSAlcyBkZXB1aXMgJXMuIgogCiAjOiBicmFuY2guYzo4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIGJyYW5jaCAlcyBieSByZWJhc2luZy4iCi1tc2dzdHIgIkxhIGJyYW5jaGUgJXMgZXN0IHBhcmFtw6l0csOpZSBwb3VyIHN1aXZyZSBsYSBicmFuY2hlIGxvY2FsZSAlcyBlbiByZWJhc2FudC4iCittc2dzdHIgIiIKKyJMYSBicmFuY2hlICVzIGVzdCBwYXJhbcOpdHLDqWUgcG91ciBzdWl2cmUgbGEgYnJhbmNoZSBsb2NhbGUgJXMgZW4gcmViYXNhbnQuIgogCiAjOiBicmFuY2guYzo4OAogIywgYy1mb3JtYXQKQEAgLTIwNiw3ICsyMzYsOSBAQAogIzogYnJhbmNoLmM6OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICVzIGJ5IHJlYmFzaW5nLiIKLW1zZ3N0ciAiTGEgYnJhbmNoZSAlcyBlc3QgcGFyYW3DqXRyw6llIHBvdXIgc3VpdnJlIGxhIHLDqWbDqXJlbmNlIGRpc3RhbnRlICVzIGVuIHJlYmFzYW50LiIKK21zZ3N0ciAiIgorIkxhIGJyYW5jaGUgJXMgZXN0IHBhcmFtw6l0csOpZSBwb3VyIHN1aXZyZSBsYSByw6lmw6lyZW5jZSBkaXN0YW50ZSAlcyBlbiAiCisicmViYXNhbnQuIgogCiAjOiBicmFuY2guYzo5MwogIywgYy1mb3JtYXQKQEAgLTIxNiw3ICsyNDgsOCBAQAogIzogYnJhbmNoLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayBsb2NhbCByZWYgJXMgYnkgcmViYXNpbmcuIgotbXNnc3RyICJMYSBicmFuY2hlICVzIGVzdCBwYXJhbcOpdHLDqWUgcG91ciBzdWl2cmUgbGEgcsOpZsOpcmVuY2UgbG9jYWxlICVzIGVuIHJlYmFzYW50LiIKK21zZ3N0ciAiIgorIkxhIGJyYW5jaGUgJXMgZXN0IHBhcmFtw6l0csOpZSBwb3VyIHN1aXZyZSBsYSByw6lmw6lyZW5jZSBsb2NhbGUgJXMgZW4gcmViYXNhbnQuIgogCiAjOiBicmFuY2guYzo5OAogIywgYy1mb3JtYXQKQEAgLTI0NywxNyArMjgwLDE5IEBACiBtc2dpZCAiQ2Fubm90IGZvcmNlIHVwZGF0ZSB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGZvcmNlciBsYSBtaXNlIMOgIGpvdXIgZGUgbGEgYnJhbmNoZSBjb3VyYW50ZS4iCiAKLSM6IGJyYW5jaC5jOjIwMQorIzogYnJhbmNoLmM6MjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzZXR1cCB0cmFja2luZyBpbmZvcm1hdGlvbjsgc3RhcnRpbmcgcG9pbnQgJyVzJyBpcyBub3QgYSBicmFuY2guIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIHBhcmFtw6l0cmVyIGxlIHN1aXZpIGRlIGJyYW5jaGUgOyBsZSBwb2ludCBkZSBkw6lwYXJ0ICclcycgbidlc3QgcGFzIHVuZSBicmFuY2hlLiIKK21zZ3N0ciAiIgorIkltcG9zc2libGUgZGUgcGFyYW3DqXRyZXIgbGUgc3VpdmkgZGUgYnJhbmNoZSA7IGxlIHBvaW50IGRlIGTDqXBhcnQgJyVzJyBuJ2VzdCAiCisicGFzIHVuZSBicmFuY2hlLiIKIAotIzogYnJhbmNoLmM6MjAzCisjOiBicmFuY2guYzoyMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHJlcXVlc3RlZCB1cHN0cmVhbSBicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAibGEgYnJhbmNoZSBhbW9udCBkZW1hbmTDqWUgJyVzJyBuJ2V4aXN0ZSBwYXMiCiAKLSM6IGJyYW5jaC5jOjIwNQorIzogYnJhbmNoLmM6MjE5CiBtc2dpZCAiIgogIlxuIgogIklmIHlvdSBhcmUgcGxhbm5pbmcgb24gYmFzaW5nIHlvdXIgd29yayBvbiBhbiB1cHN0cmVhbVxuIgpAQCAtMjc3LDg3ICszMTIsODcgQEAKICJzYSBqdW1lbGxlIGRpc3RhbnRlLCB2b3VzIHNvdWhhaXRlcmV6IHV0aWxpc2VyIFwiZ2l0IHB1c2ggLXVcIlxuIgogInBvdXIgcGFyYW3DqXRyZXIgbGUgc3VpdmkgZGlzdGFudCBlbiBtw6ptZSB0ZW1wcyBxdWUgdm91cyBwb3Vzc2V6LiIKIAotIzogYnJhbmNoLmM6MjUwCisjOiBicmFuY2guYzoyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICJOb20gZCdvYmpldCBpbnZhbGlkZSA6ICclcycuIgogCi0jOiBicmFuY2guYzoyNzAKKyM6IGJyYW5jaC5jOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBbWJpZ3VvdXMgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICJOb20gZCdvYmpldCBhbWJpZ3UgOiAnJXMnLiIKIAotIzogYnJhbmNoLmM6Mjc1CisjOiBicmFuY2guYzoyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgYnJhbmNoIHBvaW50OiAnJXMnLiIKIG1zZ3N0ciAiUG9pbnQgZCdlbWJyYW5jaGVtZW50IGludmFsaWRlIDogJyVzJy4iCiAKLSM6IGJyYW5jaC5jOjI4MQorIzogYnJhbmNoLmM6Mjk1CiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgcmVmIGZvciB1cGRhdGUiCiBtc2dzdHIgIsOJY2hlYyBkdSB2ZXJyb3VpbGxhZ2UgZGUgbGEgcsOpZsOpcmVuY2UgcG91ciBtaXNlIMOgIGpvdXIiCiAKLSM6IGJyYW5jaC5jOjI5OQorIzogYnJhbmNoLmM6MzEzCiBtc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHJlZiIKIG1zZ3N0ciAiw4ljaGVjIGRlIGwnw6ljcml0dXJlIGRlIGxhIHLDqWbDqXJlbmNlIgogCi0jOiBidW5kbGUuYzozNgorIzogYnVuZGxlLmM6MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBsb29rIGxpa2UgYSB2MiBidW5kbGUgZmlsZSIKIG1zZ3N0ciAiJyVzJyBuZSBzZW1ibGUgcGFzIMOqdHJlIHVuIGZpY2hpZXIgYnVuZGxlIHYyIgogCi0jOiBidW5kbGUuYzo2MworIzogYnVuZGxlLmM6NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGhlYWRlcjogJXMlcyAoJWQpIgogbXNnc3RyICJlbi10w6p0ZSBub24gcmVjb25udSA6ICVzJXMgKCVkKSIKIAotIzogYnVuZGxlLmM6ODkgYnVpbHRpbi9jb21taXQuYzo2NzYKKyM6IGJ1bmRsZS5jOjkwIGJ1aWx0aW4vY29tbWl0LmM6NzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJyVzJyIKIAotIzogYnVuZGxlLmM6MTQwCisjOiBidW5kbGUuYzoxNDEKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIHRoZXNlIHByZXJlcXVpc2l0ZSBjb21taXRzOiIKIG1zZ3N0ciAiTGUgZMOpcMO0dCBuZSBkaXNwb3NlIHBhcyBkZXMgY29tbWl0cyBwcsOpcmVxdWlzIDoiCiAKLSM6IGJ1bmRsZS5jOjE2NCBzZXF1ZW5jZXIuYzo2NTEgc2VxdWVuY2VyLmM6MTEwMSBidWlsdGluL2xvZy5jOjMwMAotIzogYnVpbHRpbi9sb2cuYzo3NzAgYnVpbHRpbi9sb2cuYzoxMzQ0IGJ1aWx0aW4vbG9nLmM6MTU3MCBidWlsdGluL21lcmdlLmM6MzQ5Ci0jOiBidWlsdGluL3Nob3J0bG9nLmM6MTU1CisjOiBidW5kbGUuYzoxNjUgc2VxdWVuY2VyLmM6NjYyIHNlcXVlbmNlci5jOjExMTIgYnVpbHRpbi9sb2cuYzozMzIKKyM6IGJ1aWx0aW4vbG9nLmM6ODIxIGJ1aWx0aW4vbG9nLmM6MTQxOCBidWlsdGluL2xvZy5jOjE2NDQgYnVpbHRpbi9tZXJnZS5jOjM1NworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE1OAogbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgcHLDqXBhcmF0aW9uIGR1IHBhcmNvdXJzIGRlcyByw6l2aXNpb25zIgogCi0jOiBidW5kbGUuYzoxODYKKyM6IGJ1bmRsZS5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoaXMgcmVmOiIKIG1zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGVzZSAlZCByZWZzOiIKIG1zZ3N0clswXSAiTGUgY29saXMgY29udGllbnQgY2V0dGUgcsOpZsOpcmVuY2UgOiIKIG1zZ3N0clsxXSAiTGUgY29saXMgY29udGllbnQgY2VzICVkIHLDqWbDqXJlbmNlcyA6IgogCi0jOiBidW5kbGUuYzoxOTMKKyM6IGJ1bmRsZS5jOjE5NAogbXNnaWQgIlRoZSBidW5kbGUgcmVjb3JkcyBhIGNvbXBsZXRlIGhpc3RvcnkuIgogbXNnc3RyICJMZSBjb2xpcyBlbnJlZ2lzdHJlIGwnaGlzdG9yaXF1ZSBjb21wbGV0LiIKIAotIzogYnVuZGxlLmM6MTk1CisjOiBidW5kbGUuYzoxOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhlc2UgJWQgcmVmczoiCiBtc2dzdHJbMF0gIkxlIGNvbGlzIGV4aWdlIGNldHRlIHLDqWbDqXJlbmNlIDoiCiBtc2dzdHJbMV0gIkxlIGNvbGlzIGV4aWdlIGNlcyAlZCByw6lmw6lyZW5jZXMgOiIKIAotIzogYnVuZGxlLmM6Mjk0CisjOiBidW5kbGUuYzoyOTYKIG1zZ2lkICJyZXYtbGlzdCBkaWVkIgogbXNnc3RyICJyZXYtbGlzdCBhIGRpc3BhcnUiCiAKLSM6IGJ1bmRsZS5jOjMwMCBidWlsdGluL2xvZy5jOjEyNTUgYnVpbHRpbi9zaG9ydGxvZy5jOjI1OAorIzogYnVuZGxlLmM6MzAyIGJ1aWx0aW4vbG9nLmM6MTMyOSBidWlsdGluL3Nob3J0bG9nLmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgImFyZ3VtZW50IG5vbiByZWNvbm51IDogJXMiCiAKLSM6IGJ1bmRsZS5jOjMzNQorIzogYnVuZGxlLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZiAnJXMnIGlzIGV4Y2x1ZGVkIGJ5IHRoZSByZXYtbGlzdCBvcHRpb25zIgogbXNnc3RyICJsYSByw6lmw6lyZW5jZSAnJXMnIGVzdCBleGNsdWUgcGFyIGxlcyBvcHRpb25zIGRlIHJldi1saXN0IgogCi0jOiBidW5kbGUuYzozODAKKyM6IGJ1bmRsZS5jOjM4MgogbXNnaWQgIlJlZnVzaW5nIHRvIGNyZWF0ZSBlbXB0eSBidW5kbGUuIgogbXNnc3RyICJSZWZ1cyBkZSBjcsOpZXIgdW4gY29saXMgdmlkZS4iCiAKQEAgLTM3OCwxMiArNDEzLDEyIEBACiBtc2dpZCAiaW5kZXgtcGFjayBkaWVkIgogbXNnc3RyICJsJ2luZGV4IGRlIGdyb3VwZSBhIGRpc3BhcnUiCiAKLSM6IGNvbW1pdC5jOjUwCisjOiBjb21taXQuYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciAlcyIKIAotIzogY29tbWl0LmM6NTIKKyM6IGNvbW1pdC5jOjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzICVzIGlzIG5vdCBhIGNvbW1pdCEiCiBtc2dzdHIgIiVzICVzIG4nZXN0IHBhcyB1biBjb21taXQgISIKQEAgLTM5MiwxOSArNDI3LDE5IEBACiBtc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKIG1zZ3N0ciAicGx1cyBkZSBtw6ltb2lyZSIKIAotIzogY29ubmVjdGVkLmM6MzkKKyM6IGNvbm5lY3RlZC5jOjcwCiBtc2dpZCAiQ291bGQgbm90IHJ1biAnZ2l0IHJldi1saXN0JyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsYW5jZXIgJ2dpdCByZXYtbGlzdCciCiAKLSM6IGNvbm5lY3RlZC5jOjQ4CisjOiBjb25uZWN0ZWQuYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgd3JpdGUgdG8gcmV2LWxpc3Q6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBkYW5zIGxhIHJldi1saXN0IDogJXMiCiAKLSM6IGNvbm5lY3RlZC5jOjU2CisjOiBjb25uZWN0ZWQuYzo5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY2xvc2UgcmV2LWxpc3QncyBzdGRpbjogJXMiCi1tc2dzdHIgImltcG9zc2libGUgZGUgZmVybWVyIGxlIHN0ZGluIGR1IHJldi1saXN0IDogJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgZmVybWVyIGwnZW50csOpZSBzdGFuZGFyZCBkdSByZXYtbGlzdCA6ICVzIgogCiAjOiBkYXRlLmM6OTUKIG1zZ2lkICJpbiB0aGUgZnV0dXJlIgpAQCAtNDczLDM4ICs1MDgsNDcgQEAKIG1zZ3N0clswXSAiaWwgeSBhICVsdSBhbiIKIG1zZ3N0clsxXSAiaWwgeSBhICVsdSBhbnMiCiAKLSM6IGRpZmYuYzoxMTIKKyM6IGRpZmZjb3JlLW9yZGVyLmM6MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgb3JkZXJmaWxlICclcyciCittc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsZSBmaWNoaWVyIGRlIGNvbW1hbmRlICclcyciCisKKyM6IGRpZmYuYzoxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyVzJ1xuIgotbXNnc3RyICIgIEltcG9zc2libGUgZCdhbmFseXNlciBsZSBwb3VyY2VudGFnZSBkZSBtb2RpZmljYXRpb24gZGUgZGlyc3RhdCAnJXMnXG4iCittc2dzdHIgIiIKKyIgIEltcG9zc2libGUgZCdhbmFseXNlciBsZSBwb3VyY2VudGFnZSBkZSBtb2RpZmljYXRpb24gZGUgZGlyc3RhdCAnJXMnXG4iCiAKLSM6IGRpZmYuYzoxMTcKKyM6IGRpZmYuYzoxMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBVbmtub3duIGRpcnN0YXQgcGFyYW1ldGVyICclcydcbiIKIG1zZ3N0ciAiICBQYXJhbcOodHJlIGRpcnN0YXQgaW5jb25udSAnJXMnXG4iCiAKLSM6IGRpZmYuYzoyMTAKKyM6IGRpZmYuYzoyMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB2YWx1ZSBmb3IgJ2RpZmYuc3VibW9kdWxlJyBjb25maWcgdmFyaWFibGU6ICclcyciCi1tc2dzdHIgIlZhbGV1ciBpbmNvbm51ZSBwb3VyIGxhIHZhcmlhYmxlIGRlIGNvbmZpZ3VyYXRpb24gJ2RpZmYuc3VibW9kdWxlJyA6ICclcyciCittc2dzdHIgIiIKKyJWYWxldXIgaW5jb25udWUgcG91ciBsYSB2YXJpYWJsZSBkZSBjb25maWd1cmF0aW9uICdkaWZmLnN1Ym1vZHVsZScgOiAnJXMnIgogCi0jOiBkaWZmLmM6MjYwCisjOiBkaWZmLmM6MjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGb3VuZCBlcnJvcnMgaW4gJ2RpZmYuZGlyc3RhdCcgY29uZmlnIHZhcmlhYmxlOlxuIgogIiVzIgotbXNnc3RyICJFcnJldXJzIGRhbnMgbGEgdmFyaWFibGUgZGUgY29uZmlndXJhdGlvbiAnZGlmZi5kaXJzdGF0JyA6XG4iCittc2dzdHIgIiIKKyJFcnJldXJzIGRhbnMgbGEgdmFyaWFibGUgZGUgY29uZmlndXJhdGlvbiAnZGlmZi5kaXJzdGF0JyA6XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzozNDgxCisjOiBkaWZmLmM6MzUwOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIHBhcnNlIC0tZGlyc3RhdC8tWCBvcHRpb24gcGFyYW1ldGVyOlxuIgogIiVzIgotbXNnc3RyICJJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgcGFyYW3DqHRyZSBkZSBsJ29wdGlvbiAtLWRpcnN0YXQvLVggOlxuIgorbXNnc3RyICIiCisiSW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIHBhcmFtw6h0cmUgZGUgbCdvcHRpb24gLS1kaXJzdGF0Ly1YIDpcbiIKICIlcyIKIAotIzogZGlmZi5jOjM0OTUKKyM6IGRpZmYuYzozNTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgcGFyYW3DqHRyZSBkZSBsJ29wdGlvbiAtLXN1Ym1vZHVsZSA6ICclcyciCkBAIC01MzEsMzUgKzU3NSwzNSBAQAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnOiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGEgc2lnbmF0dXJlIGTDqXRhY2jDqWUgZGFucyAnJXMnIDogJXMiCiAKLSM6IGdyZXAuYzoxNjIzCisjOiBncmVwLmM6MTY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAiJyVzJyA6IGxlY3R1cmUgZGUgJXMgaW1wb3NzaWJsZSIKIAotIzogZ3JlcC5jOjE2NDAKKyM6IGdyZXAuYzoxNzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6ICVzIgogbXNnc3RyICInJXMnIDogJXMiCiAKLSM6IGdyZXAuYzoxNjUxCisjOiBncmVwLmM6MTcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBzaG9ydCByZWFkICVzIgogbXNnc3RyICInJXMnIDogbGVjdHVyZSB0cm9ucXXDqWUgJXMiCiAKLSM6IGhlbHAuYzoyMTIKKyM6IGhlbHAuYzoyMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYXZhaWxhYmxlIGdpdCBjb21tYW5kcyBpbiAnJXMnIgogbXNnc3RyICJjb21tYW5kZXMgZ2l0IGRpc3BvbmlibGVzIGRhbnMgJyVzJyIKIAotIzogaGVscC5jOjIxOQorIzogaGVscC5jOjIxNwogbXNnaWQgImdpdCBjb21tYW5kcyBhdmFpbGFibGUgZnJvbSBlbHNld2hlcmUgb24geW91ciAkUEFUSCIKIG1zZ3N0ciAiY29tbWFuZGVzIGdpdCBkaXNwb25pYmxlcyBkZXB1aXMgdW4gYXV0cmUgZW5kcm9pdCBkZSB2b3RyZSAkUEFUSCIKIAotIzogaGVscC5jOjIzNQorIzogaGVscC5jOjIzMwogbXNnaWQgIlRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgZ2l0IGNvbW1hbmRzIGFyZToiCiBtc2dzdHIgIkxlcyBjb21tYW5kZXMgZ2l0IGxlcyBwbHVzIHV0aWxpc8OpZXMgc29udCA6IgogCi0jOiBoZWxwLmM6MjkyCisjOiBoZWxwLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnIGFwcGVhcnMgdG8gYmUgYSBnaXQgY29tbWFuZCwgYnV0IHdlIHdlcmUgbm90XG4iCkBAIC01NjgsNDUgKzYxMiw1NSBAQAogIiclcycgc2VtYmxlIMOqdHJlIHVuZSBjb21tYW5kZSBnaXQsIG1haXMgZWxsZSBuJ2EgcGFzIHB1XG4iCiAiw6p0cmUgZXjDqWN1dMOpZS4gUGV1dC3DqnRyZSBnaXQtJXMgZXN0LWVsbGUgY2Fzc8OpZSA/IgogCi0jOiBoZWxwLmM6MzQ5CisjOiBoZWxwLmM6MzQ3CiBtc2dpZCAiVWggb2guIFlvdXIgc3lzdGVtIHJlcG9ydHMgbm8gR2l0IGNvbW1hbmRzIGF0IGFsbC4iCiBtc2dzdHIgIkFoZW0uIFZvdHJlIHN5c3TDqG1lIG4naW5kaXF1ZSBhdWN1bmUgY29tbWFuZGUgR2l0LiIKIAotIzogaGVscC5jOjM3MQorIzogaGVscC5jOjM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV0FSTklORzogWW91IGNhbGxlZCBhIEdpdCBjb21tYW5kIG5hbWVkICclcycsIHdoaWNoIGRvZXMgbm90IGV4aXN0LlxuIgogIkNvbnRpbnVpbmcgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB5b3UgbWVhbnQgJyVzJyIKLW1zZ3N0ciAiQVRURU5USU9OIDogdm91cyBhdmV6IGludm9xdcOpIHVuZSBjb21tYW5kZSBHaXQgbm9tbcOpZSAnJXMnIHF1aSBuJ2V4aXN0ZSBwYXMuXG4iCittc2dzdHIgIiIKKyJBVFRFTlRJT04gOiB2b3VzIGF2ZXogaW52b3F1w6kgdW5lIGNvbW1hbmRlIEdpdCBub21tw6llICclcycgcXVpIG4nZXhpc3RlICIKKyJwYXMuXG4iCiAiUG91cnN1aXRlIGVuIHN1cHBvc2FudCBxdWUgdm91cyBhdmV6IHZvdWx1IGRpcmUgJyVzJyIKIAotIzogaGVscC5jOjM3NgorIzogaGVscC5jOjM3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbiAlMC4xZiBzZWNvbmRzIGF1dG9tYXRpY2FsbHkuLi4iCiBtc2dzdHIgImRhbnMgJTAuMWYgc2Vjb25kZXMgYXV0b21hdGlxdWVtZW50Li4uIgogCi0jOiBoZWxwLmM6MzgzCisjOiBoZWxwLmM6MzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdDogJyVzJyBpcyBub3QgYSBnaXQgY29tbWFuZC4gU2VlICdnaXQgLS1oZWxwJy4iCiBtc2dzdHIgImdpdCA6ICclcycgbidlc3QgcGFzIHVuZSBjb21tYW5kZSBnaXQuIFZvaXIgJ2dpdCAtLWhlbHAnLiIKIAotIzogaGVscC5jOjM4NworIzogaGVscC5jOjM4NSBoZWxwLmM6NDQ0CiBtc2dpZCAiIgogIlxuIgogIkRpZCB5b3UgbWVhbiB0aGlzPyIKIG1zZ2lkX3BsdXJhbCAiIgogIlxuIgogIkRpZCB5b3UgbWVhbiBvbmUgb2YgdGhlc2U/IgotbXNnc3RyWzBdICJcbiIKK21zZ3N0clswXSAiIgorIlxuIgogIlZvdWxpZXotdm91cyBkaXJlIGNlbGEgPyIKLW1zZ3N0clsxXSAiXG5Wb3VsaWV6LXZvdXMgZGlyZSB1biBkZSBjZXV4LWzDoCA/IgorbXNnc3RyWzFdICIiCisiXG4iCisiVm91bGllei12b3VzIGRpcmUgdW4gZGUgY2V1eC1sw6AgPyIKKworIzogaGVscC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgLSAlcyIKK21zZ3N0ciAiJXM6ICVzIC0gJXMiCiAKICM6IG1lcmdlLmM6NTYKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsZSBjYWNoZSIKIAotIzogbWVyZ2UuYzoxMTAgYnVpbHRpbi9jaGVja291dC5jOjM2NSBidWlsdGluL2NoZWNrb3V0LmM6NTY2Ci0jOiBidWlsdGluL2Nsb25lLmM6NjQ1CisjOiBtZXJnZS5jOjExMCBidWlsdGluL2NoZWNrb3V0LmM6MzU4IGJ1aWx0aW4vY2hlY2tvdXQuYzo1NTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NjEKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIG5vdXZlYXUgZmljaGllciBkJ2luZGV4IgogCkBAIC02MjAsMzA2ICs2NzQsNDQyIEBACiBtc2dpZCAiYWRkaW5mb19jYWNoZSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIGRlIGFkZGluZm9fY2FjaGUgcG91ciBsZSBjaGVtaW4gJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjY4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyNjkKIG1zZ2lkICJlcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAiZXJyZXVyIGRlIGNvbnN0cnVjdGlvbiBkZXMgYXJicmVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo2NzIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjY3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBhdGggJyVzJyVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciBsZSBjaGVtaW4gJyVzJyAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NjgzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo2ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMgdG8gbWFrZSByb29tIGZvciBzdWJkaXJlY3RvcnlcbiIKIG1zZ3N0ciAiU3VwcHJlc3Npb24gZGUgJXMgcG91ciBmYWlyZSBkZSBsYSBwbGFjZSBwb3VyIGxlIHNvdXMtcsOpcGVydG9pcmVcbiIKIAogIy4gc29tZXRoaW5nIGVsc2UgZXhpc3RzCiAjLiAuLiBidXQgbm90IHNvbWUgb3RoZXIgZXJyb3IgKHdobyByZWFsbHkgY2FyZXMgd2hhdD8pCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo2OTcgbWVyZ2UtcmVjdXJzaXZlLmM6NzE4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo2OTggbWVyZ2UtcmVjdXJzaXZlLmM6NzE5CiBtc2dpZCAiOiBwZXJoYXBzIGEgRC9GIGNvbmZsaWN0PyIKIG1zZ3N0ciAiOiBwZXV0LcOqdHJlIHVuIGNvbmZsaXQgRC9GID8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcwOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzA5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJyVzJyIKIG1zZ3N0ciAicmVmdXMgZGUgcGVyZHJlIGxlIGZpY2hpZXIgbm9uIHN1aXZpICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc0OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbCdvYmpldCAlcyAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgogbXNnc3RyICJibG9iIGF0dGVuZHUgcG91ciAlcyAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NzMgYnVpbHRpbi9jbG9uZS5jOjMxMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzc0IGJ1aWx0aW4vY2xvbmUuYzozMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIMOgIGwnb3V2ZXJ0dXJlIGRlICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc4MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzeW1saW5rICclcyciCiBtc2dzdHIgIsOpY2hlYyDDoCBsYSBjcsOpYXRpb24gZHUgbGllbiBzeW1ib2xpcXVlICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc4NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvIG5vdCBrbm93IHdoYXQgdG8gZG8gd2l0aCAlMDZvICVzICclcyciCiBtc2dzdHIgIm5lIHNhaXQgcGFzIHRyYWl0ZXIgJTA2byAlcyAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5MjIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkyMwogbXNnaWQgIkZhaWxlZCB0byBleGVjdXRlIGludGVybmFsIG1lcmdlIgogbXNnc3RyICLDiWNoZWMgw6AgbCdleMOpY3V0aW9uIGRlIGxhIGZ1c2lvbiBpbnRlcm5lIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5MjYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkICVzIHRvIGRhdGFiYXNlIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYWpvdXRlciAlcyDDoCBsYSBiYXNlIGRlIGRvbm7DqWVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5NDIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk0MwogbXNnaWQgInVuc3VwcG9ydGVkIG9iamVjdCB0eXBlIGluIHRoZSB0cmVlIgogbXNnc3RyICJ0eXBlIGQnb2JqZXQgbm9uIHN1cHBvcnTDqSBkYW5zIGwnYXJicmUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwMjEgbWVyZ2UtcmVjdXJzaXZlLmM6MTAzNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAyMiBtZXJnZS1yZWN1cnNpdmUuYzoxMDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCiAiaW4gdHJlZS4iCi1tc2dzdHIgIkNPTkZMSVQgKCVzL3N1cHByZXNzaW9uKSA6ICVzIHN1cHByaW3DqSBkYW5zICVzIGV0ICVzIGRhbnMgJXMuIFZlcnNpb24gJXMgZGUgJXMgbGFpc3PDqWUgZGFucyBsJ2FyYnJlLiIKK21zZ3N0ciAiIgorIkNPTkZMSVQgKCVzL3N1cHByZXNzaW9uKSA6ICVzIHN1cHByaW3DqSBkYW5zICVzIGV0ICVzIGRhbnMgJXMuIFZlcnNpb24gJXMgZGUgIgorIiVzIGxhaXNzw6llIGRhbnMgbCdhcmJyZS4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwMjcgbWVyZ2UtcmVjdXJzaXZlLmM6MTA0MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAyOCBtZXJnZS1yZWN1cnNpdmUuYzoxMDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCiAiaW4gdHJlZSBhdCAlcy4iCi1tc2dzdHIgIkNPTkZMSVQgKCVzL3N1cHByZXNzaW9uKSA6ICVzIHN1cHByaW3DqSBkYW5zICVzIGV0ICVzIGRhbnMgJXMuIFZlcnNpb24gJXMgZGUgJXMgbGFpc3PDqWUgZGFucyBsJ2FyYnJlIGRhbnMgbGUgZmljaGllciAlcy4iCittc2dzdHIgIiIKKyJDT05GTElUICglcy9zdXBwcmVzc2lvbikgOiAlcyBzdXBwcmltw6kgZGFucyAlcyBldCAlcyBkYW5zICVzLiBWZXJzaW9uICVzIGRlICIKKyIlcyBsYWlzc8OpZSBkYW5zIGwnYXJicmUgZGFucyBsZSBmaWNoaWVyICVzLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA4MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA4MgogbXNnaWQgInJlbmFtZSIKIG1zZ3N0ciAicmVub21tYWdlIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgyIHd0LXN0YXR1cy5jOjI4MwogbXNnaWQgInJlbmFtZWQiCiBtc2dzdHIgInJlbm9tbcOpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTM3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIGEgZGlyZWN0b3J5IGluICVzIGFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICIlcyBlc3QgdW4gcsOpcGVydG9pcmUgZGFucyAlcyBham91dMOpIHBsdXTDtHQgY29tbWUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIFwiJXNcIi0+XCIlc1wiIGluIGJyYW5jaCBcIiVzXCIgcmVuYW1lIFwiJXMiCiAiXCItPlwiJXNcIiBpbiBcIiVzXCIlcyIKLW1zZ3N0ciAiQ09ORkxJVCAocmVub21tYWdlL3Jlbm9tbWFnZSkgOiBSZW5vbW1hZ2UgZGUgXCIlc1wiLT5cIiVzXCIgZGFucyBsYSBicmFuY2hlIFwiJXNcIiBldCByZW5vbW1hZ2UgXCIlc1wiLT5cIiVzXCIgZGFucyBcIiVzXCIlcyIKK21zZ3N0ciAiIgorIkNPTkZMSVQgKHJlbm9tbWFnZS9yZW5vbW1hZ2UpIDogUmVub21tYWdlIGRlIFwiJXNcIi0+XCIlc1wiIGRhbnMgbGEgYnJhbmNoZSAiCisiXCIlc1wiIGV0IHJlbm9tbWFnZSBcIiVzXCItPlwiJXNcIiBkYW5zIFwiJXNcIiVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTY0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTY1CiBtc2dpZCAiIChsZWZ0IHVucmVzb2x2ZWQpIgogbXNnc3RyICIgKGxhaXNzw6kgbm9uIHLDqXNvbHUpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjE4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKLW1zZ3N0ciAiQ09ORkxJVCAocmVub21tYWdlL3Jlbm9tbWFnZSkgOiByZW5vbW1hZ2UgJyVzJy0+JyVzJyBkYW5zICVzLiBSZW5vbW1hZ2UgJyVzJy0+JyVzJyBkYW5zICVzIgorbXNnc3RyICIiCisiQ09ORkxJVCAocmVub21tYWdlL3Jlbm9tbWFnZSkgOiByZW5vbW1hZ2UgJyVzJy0+JyVzJyBkYW5zICVzLiBSZW5vbW1hZ2UgJyVzJy0iCisiPiclcycgZGFucyAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI0OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlcyBhbmQgJXMgdG8gJXMgaW5zdGVhZCIKIG1zZ3N0ciAiUmVub21tYWdlIGRlICVzIGVuICVzIGV0IGRlICVzIGVuICVzIMOgIGxhIHBsYWNlIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDQ3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvYWRkKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gJXMgYWRkZWQgaW4gJXMiCi1tc2dzdHIgIkNPTkZMSVQgKHJlbm9tbWFnZS9ham91dCkgOiBSZW5vbW1hZ2UgZGUgJXMtPiVzIGRhbnMgJXMuICVzIGFqb3V0w6kgZGFucyAlcyIKK21zZ3N0ciAiIgorIkNPTkZMSVQgKHJlbm9tbWFnZS9ham91dCkgOiBSZW5vbW1hZ2UgZGUgJXMtPiVzIGRhbnMgJXMuICVzIGFqb3V0w6kgZGFucyAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ1NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgbWVyZ2VkICVzIgogbXNnc3RyICJBam91dCBkZSAlcyBmdXNpb25uw6kiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0NjIgbWVyZ2UtcmVjdXJzaXZlLmM6MTY2MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ2MyBtZXJnZS1yZWN1cnNpdmUuYzoxNjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICJBam91dCBwbHV0w7R0IGNvbW1lICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTEzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGwnb2JqZXQgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MTYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGlzIG5vdCBhIGJsb2IiCiBtc2dzdHIgImwnb2JqZXQgJXMgbidlc3QgcGFzIHVuIGJsb2IiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NjQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NjUKIG1zZ2lkICJtb2RpZnkiCiBtc2dzdHIgIm1vZGlmaWNhdGlvbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU2NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU2NSB3dC1zdGF0dXMuYzoyODEKIG1zZ2lkICJtb2RpZmllZCIKIG1zZ3N0ciAibW9kaWZpw6kiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NzQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NzUKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICJjb250ZW51IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTgxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTgyCiBtc2dpZCAiYWRkL2FkZCIKIG1zZ3N0ciAiYWpvdXQvYWpvdXQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBlZCAlcyAobWVyZ2VkIHNhbWUgYXMgZXhpc3RpbmcpIgotbXNnc3RyICIlcyBpZ25vcsOpIChmdXNpb24gaWRlbnRpcXVlIMOgIGwnZXhpc3RhbnQpIgorbXNnc3RyICIlcyBzYXV0w6kgKGZ1c2lvbiBpZGVudGlxdWUgw6AgbCdleGlzdGFudCkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MjkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0by1tZXJnaW5nICVzIgogbXNnc3RyICJGdXNpb24gYXV0b21hdGlxdWUgZGUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzMgZ2l0LXN1Ym1vZHVsZS5zaDoxMDI5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjM0IGdpdC1zdWJtb2R1bGUuc2g6MTE0OAogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAic291cy1tb2R1bGUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCiBtc2dzdHIgIkNPTkZMSVQgKCVzKSA6IENvbmZsaXQgZGUgZnVzaW9uIGRhbnMgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MjQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMiCiBtc2dzdHIgIlN1cHByZXNzaW9uIGRlICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQ5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzUwCiBtc2dpZCAiZmlsZS9kaXJlY3RvcnkiCiBtc2dzdHIgImZpY2hpZXIvcsOpcGVydG9pcmUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NTUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NTYKIG1zZ2lkICJkaXJlY3RvcnkvZmlsZSIKIG1zZ3N0ciAicsOpcGVydG9pcmUvZmljaGllciIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc2MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBUaGVyZSBpcyBhIGRpcmVjdG9yeSB3aXRoIG5hbWUgJXMgaW4gJXMuIEFkZGluZyAlcyBhcyAlcyIKLW1zZ3N0ciAiQ09ORkxJVCAoJXMpIDogSWwgeSBhIHVuIHLDqXBlcnRvaXJlIG5vbW3DqSAlcyBkYW5zICVzLiBBam91dCBkZSAlcyBjb21tZSAlcyIKK21zZ3N0ciAiIgorIkNPTkZMSVQgKCVzKSA6IElsIHkgYSB1biByw6lwZXJ0b2lyZSBub21tw6kgJXMgZGFucyAlcy4gQWpvdXQgZGUgJXMgY29tbWUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NzAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nICVzIgogbXNnc3RyICJBam91dCBkZSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc4NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc4OAogbXNnaWQgIkZhdGFsIG1lcmdlIGZhaWx1cmUsIHNob3VsZG4ndCBoYXBwZW4uIgogbXNnc3RyICLDiWNoZWMgZmF0YWwgZGUgZnVzaW9uLCBxdWkgbmUgZGV2cmFpdCBqYW1haXMgYXJyaXZlci4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MDcKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUhIgogbXNnc3RyICJEw6lqw6Agw6Agam91ciAhIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODE1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdpbmcgb2YgdHJlZXMgJXMgYW5kICVzIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGZ1c2lvbiBkZXMgYXJicmVzICVzIGV0ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODQ1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVucHJvY2Vzc2VkIHBhdGg/Pz8gJXMiCiBtc2dzdHIgIkNoZW1pbiBub24gdHJhaXTDqSA/Pz8gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4OTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4OTEKIG1zZ2lkICJNZXJnaW5nOiIKIG1zZ3N0ciAiRnVzaW9uIDoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MDMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yOiIKIG1zZ2lkX3BsdXJhbCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yczoiCiBtc2dzdHJbMF0gIiV1IGFuY8OqdHJlIGNvbW11biB0cm91dsOpIDoiCiBtc2dzdHJbMV0gIiV1IGFuY8OqdHJlcyBjb21tdW5zIHRyb3V2w6lzIDoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5NDAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5NDEKIG1zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCiBtc2dzdHIgImxhIGZ1c2lvbiBuJ2EgcGFzIHJldG91cm7DqSBkZSBjb21taXQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5OTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbCdvYmpldCAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDA5IGJ1aWx0aW4vbWVyZ2UuYzo2NTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMTAgYnVpbHRpbi9tZXJnZS5jOjY2NQogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCiBtc2dzdHIgIkltcG9zc2libGUgZCfDqWNyaXJlIGwnaW5kZXguIgogCi0jOiBvYmplY3QuYzoxOTUKKyM6IG5vdGVzLXV0aWxzLmM6NDAKK21zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCittc2dzdHIgIkltcG9zc2libGUgZGUgdmFsaWRlciB1biBhcmJyZSBkZSBub3RlcyBub24gaW5pdGlhbGlzw6kvcsOpZsOpcmVuY8OpIgorCisjOiBub3Rlcy11dGlscy5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCBub3Rlcy5yZXdyaXRlTW9kZSB2YWx1ZTogJyVzJyIKK21zZ3N0ciAiTWF1dmFpc2UgdmFsZXVyIGRlIG5vdGVzLnJld3JpdGVNb2RlIDogJyVzJyIKKworIzogbm90ZXMtdXRpbHMuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWZ1c2luZyB0byByZXdyaXRlIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKK21zZ3N0ciAiUmVmdXMgZGUgcsOpw6ljcmlyZSBkZXMgbm90ZXMgZGFucyAlcyAoaG9ycyBkZSByZWZzL25vdGVzLykiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgdGhlIG5hbWUgb2YgdGhlCisjLiBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcyBpdHMgdmFsdWUKKyM6IG5vdGVzLXV0aWxzLmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCAlcyB2YWx1ZTogJyVzJyIKK21zZ3N0ciAiTWF1dmFpc2UgdmFsZXVyIGRlICVzIDogJyVzJyIKKworIzogb2JqZWN0LmM6MjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBvYmplY3Q6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbCdvYmpldCA6ICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NDg5CisjOiBwYXJzZS1vcHRpb25zLmM6NTM3CiBtc2dpZCAiLi4uIgogbXNnc3RyICIuLi4iCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1MDcKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzIgogbXNnc3RyICJ1c2FnZSA6ICVzIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uIGhlcmUgc2hvdWxkIGFsaWduIHdpdGggdGhlCiAjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24KLSM6IHBhcnNlLW9wdGlvbnMuYzo1MTEKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgb3I6ICVzIgogbXNnc3RyICIgICBvdSA6ICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTE0CisjOiBwYXJzZS1vcHRpb25zLmM6NTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlcyIKIG1zZ3N0ciAiICAgICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTQ4CisjOiBwYXJzZS1vcHRpb25zLmM6NTk2CiBtc2dpZCAiLU5VTSIKIG1zZ3N0ciAiLU5VTSIKIAotIzogcGF0aHNwZWMuYzo4MworIzogcGF0aHNwZWMuYzoxMzMKK21zZ2lkICJnbG9iYWwgJ2dsb2InIGFuZCAnbm9nbG9iJyBwYXRoc3BlYyBzZXR0aW5ncyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisibGVzIHLDqWdsYWdlcyBkZSBzcMOpY2lmaWNhdGV1cnMgZGUgY2hlbWluIGfDqW7DqXJhdXggJ2dsb2InIGV0ICdub2dsb2InIHNvbnQgIgorImluY29tcGF0aWJsZXMiCisKKyM6IHBhdGhzcGVjLmM6MTQzCittc2dpZCAiIgorImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgZ2xvYmFsICIKKyJwYXRoc3BlYyBzZXR0aW5ncyIKK21zZ3N0ciAiIgorImxlIHLDqWdsYWdlIGdsb2JhbCBkZSBzcMOpY2lmaWNhdGV1ciBkZSBjaGVtaW4gJ2xpdGVyYWwnIGVzdCBpbmNvbXBhdGlibGUgYXZlYyAiCisidG91cyBsZXMgYXV0cmVzIHLDqWdsYWdlcyBnbG9iYXV4IGRlIHNww6ljaWZpY2F0ZXVyIGRlIGNoZW1pbiIKKworIzogcGF0aHNwZWMuYzoxNzcKK21zZ2lkICJpbnZhbGlkIHBhcmFtZXRlciBmb3IgcGF0aHNwZWMgbWFnaWMgJ3ByZWZpeCciCittc2dzdHIgInBhcmFtw6h0cmUgaW52YWxpZGUgcG91ciBsZSBzcMOpY2lmaWNhdGV1ciBtYWdpcXVlIGRlIGNoZW1pbiAncHJlZml4JyIKKworIzogcGF0aHNwZWMuYzoxODMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiUGF0aCAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCittc2dpZCAiSW52YWxpZCBwYXRoc3BlYyBtYWdpYyAnJS4qcycgaW4gJyVzJyIKK21zZ3N0ciAiTGEgc3DDqWNpZmljYXRpb24gbWFnaXF1ZSBkZSBjaGVtaW4gJyUuKnMnIGVzdCBpbnZhbGlkZSBkYW5zICclcyciCisKKyM6IHBhdGhzcGVjLmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pc3NpbmcgJyknIGF0IHRoZSBlbmQgb2YgcGF0aHNwZWMgbWFnaWMgaW4gJyVzJyIKK21zZ3N0ciAiJyknIG1hbnF1YW50ZSDDoCBsYSBmaW4gZHUgc3DDqWNpZmljYXRldXIgbWFnaXF1ZSBkZSBjaGVtaW4gZGFucyAnJXMnIgorCisjOiBwYXRoc3BlYy5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmltcGxlbWVudGVkIHBhdGhzcGVjIG1hZ2ljICclYycgaW4gJyVzJyIKK21zZ3N0ciAiU3DDqWNpZmljYXRldXIgbWFnaXF1ZSAnJWMnIG5vbiBpbXBsw6ltZW50w6kgZGFucyAnJXMnIgorCisjOiBwYXRoc3BlYy5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJ2xpdGVyYWwnIGFuZCAnZ2xvYicgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiJXMgOiAnbGl0ZXJhbCcgZXQgJ2dsb2InIHNvbnQgaW5jb21wYXRpYmxlcyIKKworIzogcGF0aHNwZWMuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgorbXNnc3RyICIlcyA6ICclcycgZXN0IGhvcnMgZHUgZMOpcMO0dCIKKworIzogcGF0aHNwZWMuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgogbXNnc3RyICJMZSBjaGVtaW4gJyVzJyBlc3QgZGFucyBsZSBzb3VzLW1vZHVsZSAnJS4qcyciCiAKLSM6IHBhdGhzcGVjLmM6OTkKKyMuCisjLiAqIFdlIG1heSB3YW50IHRvIHN1YnN0aXR1dGUgInRoaXMgY29tbWFuZCIgd2l0aCBhIGNvbW1hbmQKKyMuICogbmFtZS4gRS5nLiB3aGVuIGFkZC0taW50ZXJhY3RpdmUgZGllcyB3aGVuIHJ1bm5pbmcKKyMuICogImNoZWNrb3V0IC1wIgorIy4KKyM6IHBhdGhzcGVjLmM6MzUzCiAjLCBjLWZvcm1hdAotbXNnaWQgIiclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKLW1zZ3N0ciAiJyVzJyBlc3QgYXUgZGVsw6AgZCd1biBsaWVuIHN5bWJvbGlxdWUiCittc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKK21zZ3N0ciAiIgorIiVzIDogbGUgc3DDqWNpZmljYXRldXIgbWFnaXF1ZSBkZSBjaGVtaW4gbidlc3QgcGFzIHN1cHBvcnTDqSBwYXIgY2V0dGUgIgorImNvbW1hbmRlIDogJXMiCiAKLSM6IHJlbW90ZS5jOjE3ODEKKyM6IHBhdGhzcGVjLmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAibGUgY2hlbWluICclcycgZXN0IGF1LWRlbMOgIGQndW4gbGllbiBzeW1ib2xpcXVlIgorCisjOiBwYXRoc3BlYy5jOjQ0MgorbXNnaWQgIiIKKyJUaGVyZSBpcyBub3RoaW5nIHRvIGV4Y2x1ZGUgZnJvbSBieSA6KGV4Y2x1ZGUpIHBhdHRlcm5zLlxuIgorIlBlcmhhcHMgeW91IGZvcmdvdCB0byBhZGQgZWl0aGVyICc6Lycgb3IgJy4nID8iCittc2dzdHIgIiIKKyJJbCBuJ3kgYSByaWVuIGRvbnQgaWwgZmF1dCBleGNsdXJlIHBhciBkZXMgbW90aWZzIDooZXhjbHVyZSkuXG4iCisiUGV1dC3DqnRyZSBhdmV6LXZvdXMgb3VibGnDqSBkJ2Fqb3V0ZXIgJzovJyBvdSAnLicgPyIKKworIzogcmVtb3RlLmM6NzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBmZXRjaCBib3RoICVzIGFuZCAlcyB0byAlcyIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSByw6ljdXDDqXJlciDDoCBsYSBmb2lzICVzIGV0ICVzIHBvdXIgJXMiCisKKyM6IHJlbW90ZS5jOjc1NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c3VhbGx5IHRyYWNrcyAlcywgbm90ICVzIgorbXNnc3RyICIlcyBzdWl0IGhhYml0dWVsbGVtZW50ICVzLCBwYXMgJXMiCisKKyM6IHJlbW90ZS5jOjc2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0cmFja3MgYm90aCAlcyBhbmQgJXMiCittc2dzdHIgIiVzIHN1aXQgw6AgbGEgZm9pcyAlcyBldCAlcyIKKworIy4KKyMuICogVGhpcyBsYXN0IHBvc3NpYmlsaXR5IGRvZXNuJ3Qgb2NjdXIgYmVjYXVzZQorIy4gKiBGRVRDSF9IRUFEX0lHTk9SRSBlbnRyaWVzIGFsd2F5cyBhcHBlYXIgYXQKKyMuICogdGhlIGVuZCBvZiB0aGUgbGlzdC4KKyMuCisjOiByZW1vdGUuYzo3NjkKK21zZ2lkICJJbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiRXJyZXVyIGludGVybmUiCisKKyM6IHJlbW90ZS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgorbXNnc3RyICJWb3RyZSBicmFuY2hlIGVzdCBiYXPDqWUgc3VyICclcycsIG1haXMgbGEgYnJhbmNoZSBhbW9udCBhIGRpc3BhcnUuXG4iCisKKyM6IHJlbW90ZS5jOjE4NzUKK21zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKK21zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgYnJhbmNoIC11bnNldC11cHN0cmVhbVwiIHBvdXIgY29ycmlnZXIpXG4iCisKKyM6IHJlbW90ZS5jOjE4NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91ciBicmFuY2ggaXMgdXAtdG8tZGF0ZSB3aXRoICclcycuXG4iCittc2dzdHIgIlZvdHJlIGJyYW5jaGUgZXN0IMOgIGpvdXIgYXZlYyAnJXMnLlxuIgorCisjOiByZW1vdGUuYzoxODgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIgogbXNnaWRfcGx1cmFsICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iCiBtc2dzdHJbMF0gIlZvdHJlIGJyYW5jaGUgZXN0IGVuIGF2YW5jZSBzdXIgJyVzJyBkZSAlZCBjb21taXQuXG4iCiBtc2dzdHJbMV0gIlZvdHJlIGJyYW5jaGUgZXN0IGVuIGF2YW5jZSBzdXIgJyVzJyBkZSAlZCBjb21taXRzLlxuIgogCi0jOiByZW1vdGUuYzoxNzg3CisjOiByZW1vdGUuYzoxODg4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1c2hcIiB0byBwdWJsaXNoIHlvdXIgbG9jYWwgY29tbWl0cylcbiIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgcHVzaFwiIHBvdXIgcHVibGllciB2b3MgY29tbWl0cyBsb2NhdXgpXG4iCiAKLSM6IHJlbW90ZS5jOjE3OTAKKyM6IHJlbW90ZS5jOjE4OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCiAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0cywgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKLW1zZ3N0clswXSAiVm90cmUgYnJhbmNoZSBlc3QgZW4gcmV0YXJkIHN1ciAnJXMnIGRlICVkIGNvbW1pdCwgZXQgcGV1dCDDqnRyZSBtaXNlIMOgIGpvdXIgZW4gYXZhbmNlIHJhcGlkZS5cbiIKLW1zZ3N0clsxXSAiVm90cmUgYnJhbmNoZSBlc3QgZW4gcmV0YXJkIHN1ciAnJXMnIGRlICVkIGNvbW1pdHMsIGV0IHBldXQgw6p0cmUgbWlzZSDDoCBqb3VyIGVuIGF2YW5jZSByYXBpZGUuXG4iCittc2dzdHJbMF0gIiIKKyJWb3RyZSBicmFuY2hlIGVzdCBlbiByZXRhcmQgc3VyICclcycgZGUgJWQgY29tbWl0LCBldCBwZXV0IMOqdHJlIG1pc2Ugw6Agam91ciAiCisiZW4gYXZhbmNlIHJhcGlkZS5cbiIKK21zZ3N0clsxXSAiIgorIlZvdHJlIGJyYW5jaGUgZXN0IGVuIHJldGFyZCBzdXIgJyVzJyBkZSAlZCBjb21taXRzLCBldCBwZXV0IMOqdHJlIG1pc2Ugw6Agam91ciAiCisiZW4gYXZhbmNlIHJhcGlkZS5cbiIKIAotIzogcmVtb3RlLmM6MTc5OAorIzogcmVtb3RlLmM6MTg5OQogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBwdWxsXCIgcG91ciBtZXR0cmUgw6Agam91ciB2b3RyZSBicmFuY2hlIGxvY2FsZSlcbiIKIAotIzogcmVtb3RlLmM6MTgwMQorIzogcmVtb3RlLmM6MTkwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTkyNywyMyArMTExNywzNSBAQAogbXNnaWRfcGx1cmFsICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKICJhbmQgaGF2ZSAlZCBhbmQgJWQgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LlxuIgotbXNnc3RyWzBdICJWb3RyZSBicmFuY2hlIGV0ICclcycgb250IGRpdmVyZ8OpLFxuIgorbXNnc3RyWzBdICIiCisiVm90cmUgYnJhbmNoZSBldCAnJXMnIG9udCBkaXZlcmfDqSxcbiIKICJldCBvbnQgJWQgZXQgJWQgY29tbWl0IGRpZmbDqXJlbnQgY2hhY3VuZSByZXNwZWN0aXZlbWVudC5cbiIKLW1zZ3N0clsxXSAiVm90cmUgYnJhbmNoZSBldCAnJXMnIG9udCBkaXZlcmfDqSxcbiIKK21zZ3N0clsxXSAiIgorIlZvdHJlIGJyYW5jaGUgZXQgJyVzJyBvbnQgZGl2ZXJnw6ksXG4iCiAiZXQgb250ICVkIGV0ICVkIGNvbW1pdHMgZGlmZsOpcmVudHMgY2hhY3VuZSByZXNwZWN0aXZlbWVudC5cbiIKIAotIzogcmVtb3RlLmM6MTgxMQorIzogcmVtb3RlLmM6MTkxMgogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycylcbiIKLW1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgcHVsbFwiIHBvdXIgZnVzaW9ubmVyIGxhIGJyYW5jaGUgZGlzdGFudGUgZGFucyBsYSB2w7R0cmUpXG4iCittc2dzdHIgIiIKKyIgICh1dGlsaXNleiBcImdpdCBwdWxsXCIgcG91ciBmdXNpb25uZXIgbGEgYnJhbmNoZSBkaXN0YW50ZSBkYW5zIGxhIHbDtHRyZSlcbiIKIAotIzogc2VxdWVuY2VyLmM6MjA2IGJ1aWx0aW4vbWVyZ2UuYzo3NzYgYnVpbHRpbi9tZXJnZS5jOjg4OSBidWlsdGluL21lcmdlLmM6OTk5Ci0jOiBidWlsdGluL21lcmdlLmM6MTAwOQorIzogcnVuLWNvbW1hbmQuYzo4MAorbXNnaWQgIm9wZW4gL2Rldi9udWxsIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGwnb3V2ZXJ0dXJlIGRlIC9kZXYvbnVsbCIKKworIzogcnVuLWNvbW1hbmQuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICJkdXAyKCVkLCVkKSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBkdXAyKCVkLCVkKSIKKworIzogc2VxdWVuY2VyLmM6MjA2IGJ1aWx0aW4vbWVyZ2UuYzo3ODMgYnVpbHRpbi9tZXJnZS5jOjg5NgorIzogYnVpbHRpbi9tZXJnZS5jOjEwMDYgYnVpbHRpbi9tZXJnZS5jOjEwMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciAnJXMnIGVuIMOpY3JpdHVyZSIKIAotIzogc2VxdWVuY2VyLmM6MjA4IGJ1aWx0aW4vbWVyZ2UuYzozMzUgYnVpbHRpbi9tZXJnZS5jOjc3OQotIzogYnVpbHRpbi9tZXJnZS5jOjEwMDEgYnVpbHRpbi9tZXJnZS5jOjEwMTQKKyM6IHNlcXVlbmNlci5jOjIwOCBidWlsdGluL21lcmdlLmM6MzQzIGJ1aWx0aW4vbWVyZ2UuYzo3ODYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDA4IGJ1aWx0aW4vbWVyZ2UuYzoxMDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmlyZSBkYW5zICclcyciCkBAIC05NTIsNyArMTE1NCw4IEBACiBtc2dpZCAiIgogImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKICJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPiciCi1tc2dzdHIgImFwcsOocyByw6lzb2x1dGlvbiBkZXMgY29uZmxpdHMsIG1hcnF1ZXogbGVzIGNoZW1pbnMgY29ycmlnw6lzXG4iCittc2dzdHIgIiIKKyJhcHLDqHMgcsOpc29sdXRpb24gZGVzIGNvbmZsaXRzLCBtYXJxdWV6IGxlcyBjaGVtaW5zIGNvcnJpZ8Opc1xuIgogImF2ZWMgJ2dpdCBhZGQgPGNoZW1pbnM+JyBvdSAnZ2l0IHJtIDxjaGVtaW5zPiciCiAKICM6IHNlcXVlbmNlci5jOjIzMgpAQCAtOTY1LDcgKzExNjgsNyBAQAogImF2ZWMgJ2dpdCBhZGQgPGNoZW1pbnM+JyBvdSAnZ2l0IHJtIDxjaGVtaW5zPidcbiIKICJwdWlzIHZhbGlkZXogbGUgcsOpc3VsdGF0IGF2ZWMgJ2dpdCBjb21taXQnIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDUgc2VxdWVuY2VyLmM6ODU5IHNlcXVlbmNlci5jOjk0MgorIzogc2VxdWVuY2VyLmM6MjQ1IHNlcXVlbmNlci5jOjg3MCBzZXF1ZW5jZXIuYzo5NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmlyZSBkYW5zICVzIgpAQCAtOTg1LDYzMyArMTE4OCw3OTYgQEAKIAogIzogc2VxdWVuY2VyLmM6MjY4CiBtc2dpZCAiQ29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQuIgotbXNnc3RyICJWYWxpZGV6IHZvcyBtb2RpZmljYXRpb25zIG91IHJlbWlzZXotbGVzIHBvdXIgY29udGludWVyLiIKK21zZ3N0ciAiVmFsaWRleiB2b3MgbW9kaWZpY2F0aW9ucyBvdSBsZXMgcmVtaXNlciBwb3VyIGNvbnRpbnVlci4iCiAKICMuIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiIG9yICJjaGVycnktcGljayIKLSM6IHNlcXVlbmNlci5jOjMxOQorIzogc2VxdWVuY2VyLmM6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIiVzOiBJbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBub3V2ZWF1IGZpY2hpZXIgaW5kZXgiCiAKLSM6IHNlcXVlbmNlci5jOjM1MAorIzogc2VxdWVuY2VyLmM6MzU2CiBtc2dpZCAiQ291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXRcbiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByw6lzb3VkcmUgbGUgY29tbWl0IEhFQURcbiIKIAotIzogc2VxdWVuY2VyLmM6MzcxCisjOiBzZXF1ZW5jZXIuYzozNzgKIG1zZ2lkICJVbmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWVcbiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBtZXR0cmUgw6Agam91ciBsJ2FyYnJlIGRlIGNhY2hlXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQxNgorIzogc2VxdWVuY2VyLmM6NDIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXNcbiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGNvbW1pdCAlc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzo0MjEKKyM6IHNlcXVlbmNlci5jOjQyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgY29tbWl0IHBhcmVudCAlc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzo0ODcKKyM6IHNlcXVlbmNlci5jOjQ5NAogbXNnaWQgIllvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCiBtc2dzdHIgIlZvdHJlIGZpY2hpZXIgZCdpbmRleCBuJ2VzdCBwYXMgZnVzaW9ubsOpLiIKIAotIzogc2VxdWVuY2VyLmM6NTA2CisjOiBzZXF1ZW5jZXIuYzo1MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICJMZSBjb21taXQgJXMgZXN0IHVuZSBmdXNpb24gbWFpcyBsJ29wdGlvbiAtbSBuJ2EgcGFzIMOpdMOpIHNww6ljaWZpw6llLiIKIAotIzogc2VxdWVuY2VyLmM6NTE0CisjOiBzZXF1ZW5jZXIuYzo1MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgogbXNnc3RyICJMZSBjb21taXQgJXMgbidhIHBhcyBsZSBwYXJlbnQgJWQiCiAKLSM6IHNlcXVlbmNlci5jOjUxOAorIzogc2VxdWVuY2VyLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCi1tc2dzdHIgIlVuZSBicmFuY2hlIHByaW5jaXBhbGUgYSDDqXTDqSBzcMOpY2lmacOpZSBtYWlzIGxlIGNvbW1pdCAlcyBuJ2VzdCBwYXMgdW5lIGZ1c2lvbi4iCittc2dzdHIgIiIKKyJVbmUgYnJhbmNoZSBwcmluY2lwYWxlIGEgw6l0w6kgc3DDqWNpZmnDqWUgbWFpcyBsZSBjb21taXQgJXMgbidlc3QgcGFzIHVuZSAiCisiZnVzaW9uLiIKIAogIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyB3aWxsIGJlICJyZXZlcnQiIG9yCiAjLiAiY2hlcnJ5LXBpY2siLCB0aGUgc2Vjb25kICVzIGEgU0hBMQotIzogc2VxdWVuY2VyLmM6NTMxCisjOiBzZXF1ZW5jZXIuYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzIgogbXNnc3RyICIlcyA6IGltcG9zc2libGUgZCdhbmFseXNlciBsZSBjb21taXQgcGFyZW50ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo1MzUKKyM6IHNlcXVlbmNlci5jOjU0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIGZvciAlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ29idGVuaXIgdW4gbWVzc2FnZSBkZSB2YWxpZGF0aW9uIHBvdXIgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjYyMQorIzogc2VxdWVuY2VyLmM6NjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCdhbm51bGVyICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo2MjIKKyM6IHNlcXVlbmNlci5jOjYyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCdhcHBsaXF1ZXIgJXMuLi4gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjY1NAorIzogc2VxdWVuY2VyLmM6NjY1CiBtc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCi1tc2dzdHIgImwnZW5zZW1ibGUgZGUgY29tbWl0cyBzcMOpZmljaWZpw6kgZXN0IHZpZGUiCittc2dzdHIgImwnZW5zZW1ibGUgZGUgY29tbWl0cyBzcMOpY2lmacOpIGVzdCB2aWRlIgogCi0jOiBzZXF1ZW5jZXIuYzo2NjIKKyM6IHNlcXVlbmNlci5jOjY3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzIDogw6ljaGVjIMOgIGxhIGxlY3R1cmUgZGUgbCdpbmRleCIKIAotIzogc2VxdWVuY2VyLmM6NjY3CisjOiBzZXF1ZW5jZXIuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXgiCi1tc2dzdHIgImdpdCAlcyA6IMOpY2hlYyBkdSByYWZmcmHDrmNoaXNzZW1lbnQgZGUgbCdpbmRleCIKK21zZ3N0ciAiZ2l0ICVzIDogw6ljaGVjIGR1IHJhZnJhw65jaGlzc2VtZW50IGRlIGwnaW5kZXgiCiAKLSM6IHNlcXVlbmNlci5jOjcyNQorIzogc2VxdWVuY2VyLmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCAlcyBkdXJpbmcgYSAlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSAlcyBwZW5kYW50IHVuICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo3NDcKKyM6IHNlcXVlbmNlci5jOjc1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2UgbGluZSAlZC4iCiBtc2dzdHIgIkltcG9zc2libGUgZCdhbmFseXNlciBsYSBsaWduZSAlZC4iCiAKLSM6IHNlcXVlbmNlci5jOjc1MgorIzogc2VxdWVuY2VyLmM6NzYzCiBtc2dpZCAiTm8gY29tbWl0cyBwYXJzZWQuIgogbXNnc3RyICJBdWN1biBjb21taXQgYW5hbHlzw6kuIgogCi0jOiBzZXF1ZW5jZXIuYzo3NjUKKyM6IHNlcXVlbmNlci5jOjc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciAlcyIKIAotIzogc2VxdWVuY2VyLmM6NzY5CisjOiBzZXF1ZW5jZXIuYzo3ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgJXMuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxpcmUgJXMuIgogCi0jOiBzZXF1ZW5jZXIuYzo3NzYKKyM6IHNlcXVlbmNlci5jOjc4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJXMiCiBtc2dzdHIgIkZldWlsbGUgZCdpbnN0cnVjdGlvbiBpbnV0aWxpc2FibGUgOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODA0CisjOiBzZXF1ZW5jZXIuYzo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBrZXk6ICVzIgogbXNnc3RyICJDbMOpIGludmFsaWRlOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODA3CisjOiBzZXF1ZW5jZXIuYzo4MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJWYWxldXIgaW52YWxpZGUgcG91ciAlcyA6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4MTkKKyM6IHNlcXVlbmNlci5jOjgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJXMiCiBtc2dzdHIgIkZldWlsbGUgZCdvcHRpb25zIG1hbGZvcm3DqWUgOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODQwCisjOiBzZXF1ZW5jZXIuYzo4NTEKIG1zZ2lkICJhIGNoZXJyeS1waWNrIG9yIHJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgogbXNnc3RyICJ1biBwaWNvcmFnZSBvdSB1biByZXRvdXIgZXN0IGTDqWrDoCBlbiBjb3VycyIKIAotIzogc2VxdWVuY2VyLmM6ODQxCisjOiBzZXF1ZW5jZXIuYzo4NTIKIG1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogbXNnc3RyICJlc3NheWV6IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlfC0tcXVpdHwtLSBhYm9ydClcIiIKIAotIzogc2VxdWVuY2VyLmM6ODQ1CisjOiBzZXF1ZW5jZXIuYzo4NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNyw6llciBsZSByw6lwZXJ0b2lyZSBkZSBzw6lxdWVuY2V1ciAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODYxIHNlcXVlbmNlci5jOjk0NgorIzogc2VxdWVuY2VyLmM6ODcyIHNlcXVlbmNlci5jOjk1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcy4iCiBtc2dzdHIgIkVycmV1ciBsb3JzIGRlIGwnZW1iYWxsYWdlIGRlICVzLiIKIAotIzogc2VxdWVuY2VyLmM6ODgwIHNlcXVlbmNlci5jOjEwMTQKKyM6IHNlcXVlbmNlci5jOjg5MSBzZXF1ZW5jZXIuYzoxMDI1CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICJhdWN1biBwaWNvcmFnZSBvdSByZXRvdXIgZW4gY291cnMiCiAKLSM6IHNlcXVlbmNlci5jOjg4MgorIzogc2VxdWVuY2VyLmM6ODkzCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgSEVBRCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByw6lzb3VkcmUgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6ODg0CisjOiBzZXF1ZW5jZXIuYzo4OTUKIG1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FiYW5kb25uZXIgZGVwdWlzIHVuZSBicmFuY2hlIG5vbiBlbmNvcmUgY3LDqcOpZSIKIAotIzogc2VxdWVuY2VyLmM6OTA2IGJ1aWx0aW4vYXBwbHkuYzo0MDYwCisjOiBzZXF1ZW5jZXIuYzo5MTcgYnVpbHRpbi9hcHBseS5jOjQwNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICVzIDogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjkwOQorIzogc2VxdWVuY2VyLmM6OTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICVzOiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlICVzIDogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjkxMAorIzogc2VxdWVuY2VyLmM6OTIxCiBtc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiZmluIGRlIGZpY2hpZXIgaW5hdHRlbmR1ZSIKIAotIzogc2VxdWVuY2VyLmM6OTE2CisjOiBzZXF1ZW5jZXIuYzo5MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IgogbXNnc3RyICJsZSBmaWNoaWVyIEhFQUQgZGUgcHLDqXBhcmF0aW9uIGRlIHBpY29yYWdlICclcycgZXN0IGNvcnJvbXB1IgogCi0jOiBzZXF1ZW5jZXIuYzo5MzkKKyM6IHNlcXVlbmNlci5jOjk1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZm9ybWF0ICVzLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBmb3JtYXRlciAlcy4iCiAKLSM6IHNlcXVlbmNlci5jOjEwODMKKyM6IHNlcXVlbmNlci5jOjEwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiVzIDogaW1wb3NzaWJsZSBkZSBwaWNvcmVyIHVuICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDg1CisjOiBzZXF1ZW5jZXIuYzoxMDk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgcmV2aXNpb24iCiBtc2dzdHIgIiVzIDogbWF1dmFpc2UgcsOpdmlzaW9uIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTE5CisjOiBzZXF1ZW5jZXIuYzoxMTMwCiBtc2dpZCAiQ2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYW5udWxlciBlbiB0YW50IHF1ZSBjb21taXQgaW5pdGlhbCIKIAotIzogc2VxdWVuY2VyLmM6MTEyMAorIzogc2VxdWVuY2VyLmM6MTEzMQogbXNnaWQgIkNhbid0IGNoZXJyeS1waWNrIGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBwaWNvcmVyIHZlcnMgdW5lIEhFQUQgdmlkZSIKIAotIzogc2hhMV9uYW1lLmM6MTAzNgorIzogc2hhMV9uYW1lLmM6NDM5Cittc2dpZCAiIgorIkdpdCBub3JtYWxseSBuZXZlciBjcmVhdGVzIGEgcmVmIHRoYXQgZW5kcyB3aXRoIDQwIGhleCBjaGFyYWN0ZXJzXG4iCisiYmVjYXVzZSBpdCB3aWxsIGJlIGlnbm9yZWQgd2hlbiB5b3UganVzdCBzcGVjaWZ5IDQwLWhleC4gVGhlc2UgcmVmc1xuIgorIm1heSBiZSBjcmVhdGVkIGJ5IG1pc3Rha2UuIEZvciBleGFtcGxlLFxuIgorIlxuIgorIiAgZ2l0IGNoZWNrb3V0IC1iICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgorIlxuIgorIndoZXJlIFwiJGJyXCIgaXMgc29tZWhvdyBlbXB0eSBhbmQgYSA0MC1oZXggcmVmIGlzIGNyZWF0ZWQuIFBsZWFzZVxuIgorImV4YW1pbmUgdGhlc2UgcmVmcyBhbmQgbWF5YmUgZGVsZXRlIHRoZW0uIFR1cm4gdGhpcyBtZXNzYWdlIG9mZiBieVxuIgorInJ1bm5pbmcgXCJnaXQgY29uZmlnIGFkdmljZS5vYmplY3ROYW1lV2FybmluZyBmYWxzZVwiIgorbXNnc3RyICIiCisiR2l0IG5lIGNyw6nDqSBub3JtYWxlbWVudCBqYW1haXMgZGUgcsOpZsOpcmVuY2UgcXVpIHNlIHRlcm1pbmUgcGFyIDQwIGNhcmFjdMOocmVzICIKKyJoZXhhXG4iCisiY2FyIGVsbGUgc2VyYWl0IGlnbm9yw6llIHNpIHZvdXMgc3DDqWNpZmlpZXogNDAtaGV4YS4gQ2VzIHLDqWbDqXJlbmNlc1xuIgorInBldXZlbnQgw6p0cmUgY3LDqcOpZXMgcGFyIGVycmV1ci4gUGFyIGV4ZW1wbGUsXG4iCisiXG4iCisiICBnaXQgY2hlY2tvdXQgLWIgJGJyICQoZ2l0IHJldi1wYXJzZSAuLi4pXG4iCisiXG4iCisib8O5IFwiJGJyXCIgZXN0IGQndW5lIG1hbmnDqHJlIG91IGQndW5lIGF1dHJlIHZpZGUgZXQgdW5lIHLDqWbDqXJlbmNlIDQwLWhleGEgIgorImVzdCBjcsOpw6llLlxuIgorIlZldWlsbGV6IGV4YW1pbmVyIGNlcyByw6lmw6lyZW5jZXMgZXQgcGV1dC3DqnRyZSBsZXMgc3VwcHJpbWVyLiBEw6lzYWN0aXZleiBjZSAiCisibWVzc2FnZVxuIgorImVuIGxhbsOnYW50IFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIiIKKworIzogc2hhMV9uYW1lLmM6MTEwOQogbXNnaWQgIkhFQUQgZG9lcyBub3QgcG9pbnQgdG8gYSBicmFuY2giCiBtc2dzdHIgIkhFQUQgbmUgcG9pbnRlIHBhcyBzdXIgdW5lIGJyYW5jaGUiCiAKLSM6IHNoYTFfbmFtZS5jOjEwMzkKKyM6IHNoYTFfbmFtZS5jOjExMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBicmFuY2g6ICclcyciCiBtc2dzdHIgIkJyYW5jaGUgaW5jb25udWUgOiAnJXMnIgogCi0jOiBzaGExX25hbWUuYzoxMDQxCisjOiBzaGExX25hbWUuYzoxMTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHVwc3RyZWFtIGNvbmZpZ3VyZWQgZm9yIGJyYW5jaCAnJXMnIgogbXNnc3RyICJBdWN1bmUgYnJhbmNoZSBhbW9udCBjb25maWd1csOpZSBwb3VyIGxhIGJyYW5jaGUgJyVzJyIKIAotIzogc2hhMV9uYW1lLmM6MTA0NAorIzogc2hhMV9uYW1lLmM6MTExOAogIywgYy1mb3JtYXQKIG1zZ2lkICJVcHN0cmVhbSBicmFuY2ggJyVzJyBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiTGEgYnJhbmNoZSBhbW9udCAnJXMnIG4nZXN0IHBhcyBzdG9ja8OpZSBjb21tZSBicmFuY2hlIGRlIHN1aXZpIgogCi0jOiB3cmFwcGVyLmM6NDA4CisjOiBzdWJtb2R1bGUuYzo2NCBzdWJtb2R1bGUuYzo5OAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgorbXNnc3RyICIiCisiTW9kaWZpY2F0aW9uIGltcG9zc2libGUgZGUgLmdpdG1vZHVsZXMgbm9uIGZ1c2lvbm7DqSwgcsOpc29sdmV6IGxlcyBjb25mbGl0cyAiCisiZCdhYm9yZCIKKworIzogc3VibW9kdWxlLmM6Njggc3VibW9kdWxlLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSB0cm91dmVyIHVuZSBzZWN0aW9uIG/DuSBwYXRoPSVzIGRhbnMgLmdpdG1vZHVsZXMiCisKKyMuIE1heWJlIHRoZSB1c2VyIGFscmVhZHkgZGlkIHRoYXQsIGRvbid0IGVycm9yIG91dCBoZXJlCisjOiBzdWJtb2R1bGUuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgdXBkYXRlIC5naXRtb2R1bGVzIGVudHJ5ICVzIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIGwnw6lsw6ltZW50ICVzIGRlIC5naXRtb2R1bGVzIgorCisjIGljaSAlcyBlc3QgdW4gY2hlbWluCisjLiBNYXliZSB0aGUgdXNlciBhbHJlYWR5IGRpZCB0aGF0LCBkb24ndCBlcnJvciBvdXQgaGVyZQorIzogc3VibW9kdWxlLmM6MTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgLmdpdG1vZHVsZXMgZW50cnkgZm9yICVzIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHN1cHByaW1lciBsJ8OpbMOpbWVudCBkZSAuZ2l0bW9kdWxlcyBwb3VyICVzIgorCisjOiBzdWJtb2R1bGUuYzoxMjcKK21zZ2lkICJjb3VsZCBub3QgZmluZCAuZ2l0bW9kdWxlcyBpbiBpbmRleCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSB0cm91dmVyIC5naXRtb2R1bGVzIGRhbnMgbCdpbmRleCIKKworIzogc3VibW9kdWxlLmM6MTMzCittc2dpZCAicmVhZGluZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGxlY3R1cmUgZHUgLmdpdG1vZHVsZXMgbWlzIMOgIGpvdXIiCisKKyM6IHN1Ym1vZHVsZS5jOjEzNQorbXNnaWQgInVuYWJsZSB0byBzdGF0IHVwZGF0ZWQgLmdpdG1vZHVsZXMiCittc2dzdHIgIsOpY2hlYyBkZSBzdGF0IGR1IC5naXRtb2R1bGVzIG1pcyDDoCBqb3VyIgorCisjOiBzdWJtb2R1bGUuYzoxMzkKK21zZ2lkICJ1bmFibGUgdG8gcmVtb3ZlIC5naXRtb2R1bGVzIGZyb20gaW5kZXgiCittc2dzdHIgInN1cHByZXNzaW9uIGR1IC5naXRtb2R1bGVzIGRhbnMgbCdpbmRleCBpbXBvc3NpYmxlIgorCisjOiBzdWJtb2R1bGUuYzoxNDEKK21zZ2lkICJhZGRpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsJ2Fqb3V0IGR1IC5naXRtb2R1bGVzIG1pcyDDoCBqb3VyIgorCisjOiBzdWJtb2R1bGUuYzoxNDMKK21zZ2lkICJzdGFnaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgbWlzZSBlbiBpbmRleCBkdSAuZ2l0bW9kdWxlcyBtaXMgw6Agam91ciIKKworIzogc3VibW9kdWxlLmM6MTE0NCBidWlsdGluL2luaXQtZGIuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBnaXQgbGluayAlcyIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgbGllbiBnaXQgJXMiCisKKyM6IHN1Ym1vZHVsZS5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHNldCBjb3JlLndvcmt0cmVlIGluICVzIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHBhcmFtw6l0cmVyIGNvcmUud29ya3RyZWUgZGFucyAlcyIKKworIzogdXJsbWF0Y2guYzoxMjAKK21zZ2lkICJpbnZhbGlkIFVSTCBzY2hlbWUgbmFtZSBvciBtaXNzaW5nICc6Ly8nIHN1ZmZpeCIKK21zZ3N0ciAibm9tIGRlIHNjaMOpbWEgZCdVUkwgaW52YWxpZGUgb3Ugc3VmZml4ZSAnOi8vJyBtYW5xdWFudCIKKworIzogdXJsbWF0Y2guYzoxNDQgdXJsbWF0Y2guYzoyOTcgdXJsbWF0Y2guYzozNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCAlWFggZXNjYXBlIHNlcXVlbmNlIgorbXNnc3RyICJzw6lxdWVuY2UgZCfDqWNoYXBwZW1lbnQgJVhYIGludmFsaWRlIgorCisjOiB1cmxtYXRjaC5jOjE3MgorbXNnaWQgIm1pc3NpbmcgaG9zdCBhbmQgc2NoZW1lIGlzIG5vdCAnZmlsZTonIgorbXNnc3RyICJow7R0ZSBtYW5xdWFudCBldCBsZSBzY2jDqW1hIG4nZXN0IHBhcyAnZmlsZTonIgorCisjOiB1cmxtYXRjaC5jOjE4OQorbXNnaWQgImEgJ2ZpbGU6JyBVUkwgbWF5IG5vdCBoYXZlIGEgcG9ydCBudW1iZXIiCittc2dzdHIgInVuZSBVUkwgJ2ZpbGU6JyBuZSBwZXV0IHBhcyBjb250ZW5pciBkZSBudW3DqXJvIGRlIHBvcnQiCisKKyM6IHVybG1hdGNoLmM6MTk5Cittc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXJzIGluIGhvc3QgbmFtZSIKK21zZ3N0ciAiY2FyYWN0w6hyZXMgaW52YWxpZGVzIGRhbnMgbGUgbm9tIGQnaMO0dGUiCisKKyM6IHVybG1hdGNoLmM6MjQ0IHVybG1hdGNoLmM6MjU1Cittc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciIKK21zZ3N0ciAibnVtw6lybyBkZSBwb3J0IGludmFsaWRlIgorCisjOiB1cmxtYXRjaC5jOjMyMgorbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCittc2dzdHIgInNlZ21lbnQgZGUgY2hlbWluICcuLicgaW52YWxpZGUiCisKKyM6IHdyYXBwZXIuYzo0MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnOiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FjY8OpZGVyIMOgICclcycgOiAlcyIKIAotIzogd3JhcHBlci5jOjQyMworIzogd3JhcHBlci5jOjQ0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCdhY2PDqWRlciDDoCAnJXMnIgogCi0jOiB3cmFwcGVyLmM6NDM0CisjOiB3cmFwcGVyLmM6NDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBsb29rIHVwIGN1cnJlbnQgdXNlciBpbiB0aGUgcGFzc3dkIGZpbGU6ICVzIgotbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJlY2hlcmNoZXIgbCd1dGlsaXNhdGV1ciBhY3R1ZWwgZGFucyBsZSBmaWNoaWVyIGRlIG1vdHMgZGUgcGFzc2UgOiAlcyIKK21zZ3N0ciAiIgorImltcG9zc2libGUgZGUgcmVjaGVyY2hlciBsJ3V0aWxpc2F0ZXVyIGFjdHVlbCBkYW5zIGxlIGZpY2hpZXIgZGUgbW90cyBkZSAiCisicGFzc2UgOiAlcyIKIAotIzogd3JhcHBlci5jOjQzNQorIzogd3JhcHBlci5jOjQ1NQogbXNnaWQgIm5vIHN1Y2ggdXNlciIKIG1zZ3N0ciAidXRpbGlzYXRldXIgaW5jb25udSIKIAotIzogd3Qtc3RhdHVzLmM6MTQwCisjOiB3dC1zdGF0dXMuYzoxNTAKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgIkNoZW1pbnMgbm9uIGZ1c2lvbm7DqXMgOiIKIAotIzogd3Qtc3RhdHVzLmM6MTY3IHd0LXN0YXR1cy5jOjE5NAorIzogd3Qtc3RhdHVzLmM6MTc3IHd0LXN0YXR1cy5jOjIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmVzZXQgJXMgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHJlc2V0ICVzIDxmaWNoaWVyPi4uLlwiIHBvdXIgZMOpc2luZGV4ZXIpIgogCi0jOiB3dC1zdGF0dXMuYzoxNjkgd3Qtc3RhdHVzLmM6MTk2CisjOiB3dC1zdGF0dXMuYzoxNzkgd3Qtc3RhdHVzLmM6MjA2CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBybSAtLWNhY2hlZCA8ZmljaGllcj4uLi5cIiBwb3VyIGTDqXNpbmRleGVyKSIKIAotIzogd3Qtc3RhdHVzLmM6MTczCisjOiB3dC1zdGF0dXMuYzoxODMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IGFkZCA8ZmljaGllcj4uLi5cIiBwb3VyIG1hcnF1ZXIgY29tbWUgcsOpc29sdSkiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NSB3dC1zdGF0dXMuYzoxNzkKKyM6IHd0LXN0YXR1cy5jOjE4NSB3dC1zdGF0dXMuYzoxODkKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikiCi1tc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IGFkZC9ybSA8ZmljaGllcj4uLi5cIiBzaSBuw6ljZXNzYWlyZSBwb3VyIG1hcnF1ZXIgY29tbWUgcsOpc29sdSkiCittc2dzdHIgIiIKKyIgICh1dGlsaXNleiBcImdpdCBhZGQvcm0gPGZpY2hpZXI+Li4uXCIgc2kgbsOpY2Vzc2FpcmUgcG91ciBtYXJxdWVyIGNvbW1lICIKKyJyw6lzb2x1KSIKIAotIzogd3Qtc3RhdHVzLmM6MTc3CisjOiB3dC1zdGF0dXMuYzoxODcKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgcm0gPGZpY2hpZXI+Li4uXCIgcG91ciBtYXJxdWVyIGNvbW1lIHLDqXNvbHUpIgogCi0jOiB3dC1zdGF0dXMuYzoxODgKKyM6IHd0LXN0YXR1cy5jOjE5OAogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiTW9kaWZpY2F0aW9ucyBxdWkgc2Vyb250IHZhbGlkw6llcyA6IgogCi0jOiB3dC1zdGF0dXMuYzoyMDYKKyM6IHd0LXN0YXR1cy5jOjIxNgogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAiTW9kaWZpY2F0aW9ucyBxdWkgbmUgc2Vyb250IHBhcyB2YWxpZMOpZXMgOiIKIAotIzogd3Qtc3RhdHVzLmM6MjEwCisjOiB3dC1zdGF0dXMuYzoyMjAKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKLW1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgYWRkIDxmaWNoaWVyPi4uLlwiIHBvdXIgbWV0dHJlIMOgIGpvdXIgY2UgcXVpIHNlcmEgdmFsaWTDqSkiCittc2dzdHIgIiIKKyIgICh1dGlsaXNleiBcImdpdCBhZGQgPGZpY2hpZXI+Li4uXCIgcG91ciBtZXR0cmUgw6Agam91ciBjZSBxdWkgc2VyYSB2YWxpZMOpKSIKIAotIzogd3Qtc3RhdHVzLmM6MjEyCisjOiB3dC1zdGF0dXMuYzoyMjIKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKLW1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgYWRkL3JtIDxmaWNoaWVyPi4uLlwiIHBvdXIgbWV0dHJlIMOgIGpvdXIgY2UgcXVpIHNlcmEgdmFsaWTDqSkiCittc2dzdHIgIiIKKyIgICh1dGlsaXNleiBcImdpdCBhZGQvcm0gPGZpY2hpZXI+Li4uXCIgcG91ciBtZXR0cmUgw6Agam91ciBjZSBxdWkgc2VyYSAiCisidmFsaWTDqSkiCiAKLSM6IHd0LXN0YXR1cy5jOjIxMworIzogd3Qtc3RhdHVzLmM6MjIzCiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpIgotbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBjaGVja291dCAtLSA8ZmljaGllcj4uLi5cIiBwb3VyIGFubnVsZXIgbGVzIG1vZGlmaWNhdGlvbnMgZGFucyBsYSBjb3BpZSBkZSB0cmF2YWlsKSIKK21zZ3N0ciAiIgorIiAgKHV0aWxpc2V6IFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWNoaWVyPi4uLlwiIHBvdXIgYW5udWxlciBsZXMgbW9kaWZpY2F0aW9ucyAiCisiZGFucyBsYSBjb3BpZSBkZSB0cmF2YWlsKSIKIAotIzogd3Qtc3RhdHVzLmM6MjE1CisjOiB3dC1zdGF0dXMuYzoyMjUKIG1zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCi1tc2dzdHIgIiAgKHZhbGlkZXIgb3UgYW5udWxlciBsZSBjb250ZW51IG5vbiBzdWl2aSBvdSBtb2RpZmnDqSBkYW5zIGxlcyBzb3VzLW1vZHVsZXMpIgorbXNnc3RyICIiCisiICAodmFsaWRlciBvdSBhbm51bGVyIGxlIGNvbnRlbnUgbm9uIHN1aXZpIG91IG1vZGlmacOpIGRhbnMgbGVzIHNvdXMtbW9kdWxlcykiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNworIzogd3Qtc3RhdHVzLmM6MjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgotbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCAlcyA8ZmljaGllcj4uLi5cIiBwb3VyIGluY2x1cmUgZGFucyBjZSBxdWkgc2VyYSB2YWxpZMOpKSIKK21zZ3N0ciAiIgorIiAgKHV0aWxpc2V6IFwiZ2l0ICVzIDxmaWNoaWVyPi4uLlwiIHBvdXIgaW5jbHVyZSBkYW5zIGNlIHF1aSBzZXJhIHZhbGlkw6kpIgogCi0jOiB3dC1zdGF0dXMuYzoyNDQKKyM6IHd0LXN0YXR1cy5jOjI1NAogbXNnaWQgImJ1ZyIKIG1zZ3N0ciAiYm9ndWUiCiAKLSM6IHd0LXN0YXR1cy5jOjI0OQorIzogd3Qtc3RhdHVzLmM6MjU5CiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAic3VwcHJpbcOpIGRlcyBkZXV4IGPDtHTDqXMgOiIKIAotIzogd3Qtc3RhdHVzLmM6MjUwCisjOiB3dC1zdGF0dXMuYzoyNjAKIG1zZ2lkICJhZGRlZCBieSB1czoiCiBtc2dzdHIgImFqb3V0w6kgcGFyIG5vdXMgOiIKIAotIzogd3Qtc3RhdHVzLmM6MjUxCisjOiB3dC1zdGF0dXMuYzoyNjEKIG1zZ2lkICJkZWxldGVkIGJ5IHRoZW06IgogbXNnc3RyICJzdXBwcmltw6kgcGFyIGV1eCA6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTIKKyM6IHd0LXN0YXR1cy5jOjI2MgogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICJham91dMOpIHBhciBldXggOiIKIAotIzogd3Qtc3RhdHVzLmM6MjUzCisjOiB3dC1zdGF0dXMuYzoyNjMKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAic3VwcHJpbcOpIHBhciBub3VzIDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NAorIzogd3Qtc3RhdHVzLmM6MjY0CiBtc2dpZCAiYm90aCBhZGRlZDoiCiBtc2dzdHIgImFqb3V0w6kgZGUgZGV1eCBjw7R0w6lzIDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NQorIzogd3Qtc3RhdHVzLmM6MjY1CiBtc2dpZCAiYm90aCBtb2RpZmllZDoiCiBtc2dzdHIgIm1vZGlmacOpIGRlcyBkZXV4IGPDtHTDqXMgOiIKIAorIzogd3Qtc3RhdHVzLmM6Mjc1Cittc2dpZCAibmV3IGZpbGUiCittc2dzdHIgIm5vdXZlYXUgZmljaGllciIKKworIzogd3Qtc3RhdHVzLmM6Mjc3Cittc2dpZCAiY29waWVkIgorbXNnc3RyICJjb3Bpw6kiCisKKyM6IHd0LXN0YXR1cy5jOjI3OQorbXNnaWQgImRlbGV0ZWQiCittc2dzdHIgInN1cHByaW3DqSIKKwogIzogd3Qtc3RhdHVzLmM6Mjg1Cittc2dpZCAidHlwZWNoYW5nZSIKK21zZ3N0ciAibW9kaWYuIHR5cGUiCisKKyM6IHd0LXN0YXR1cy5jOjI4NworbXNnaWQgInVua25vd24iCittc2dzdHIgImluY29ubnUiCisKKyM6IHd0LXN0YXR1cy5jOjI4OQorbXNnaWQgInVubWVyZ2VkIgorbXNnc3RyICJub24gZnVzaW9ubsOpIgorCisjOiB3dC1zdGF0dXMuYzozMzYKIG1zZ2lkICJuZXcgY29tbWl0cywgIgogbXNnc3RyICJub3V2ZWF1eCBjb21taXRzLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NworIzogd3Qtc3RhdHVzLmM6MzM4CiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICJjb250ZW51IG1vZGlmacOpLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjI4OQorIzogd3Qtc3RhdHVzLmM6MzQwCiBtc2dpZCAidW50cmFja2VkIGNvbnRlbnQsICIKIG1zZ3N0ciAiY29udGVudSBub24gc3VpdmksICIKIAotIzogd3Qtc3RhdHVzLmM6MzA2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm5ldyBmaWxlOiAgICVzIgotbXNnc3RyICJub3V2ZWF1IDogICAlcyIKLQotIzogd3Qtc3RhdHVzLmM6MzA5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvcGllZDogICAgICVzIC0+ICVzIgotbXNnc3RyICJjb3Bpw6kgOiAgICAgJXMgLT4gJXMiCi0KLSM6IHd0LXN0YXR1cy5jOjMxMgotIywgYy1mb3JtYXQKLW1zZ2lkICJkZWxldGVkOiAgICAlcyIKLW1zZ3N0ciAic3VwcHJpbcOpIDogICVzIgotCi0jOiB3dC1zdGF0dXMuYzozMTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibW9kaWZpZWQ6ICAgJXMiCi1tc2dzdHIgIm1vZGlmacOpIDogICAlcyIKLQotIzogd3Qtc3RhdHVzLmM6MzE4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlbmFtZWQ6ICAgICVzIC0+ICVzIgotbXNnc3RyICJyZW5vbW3DqSA6ICAgJXMgLT4gJXMiCi0KLSM6IHd0LXN0YXR1cy5jOjMyMQotIywgYy1mb3JtYXQKLW1zZ2lkICJ0eXBlY2hhbmdlOiAlcyIKLW1zZ3N0ciAibnYgdHlwZSA6ICAgJXMiCi0KLSM6IHd0LXN0YXR1cy5jOjMyNAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duOiAgICAlcyIKLW1zZ3N0ciAiaW5jb25udSA6ICAgJXMiCi0KLSM6IHd0LXN0YXR1cy5jOjMyNwotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bm1lcmdlZDogICAlcyIKLW1zZ3N0ciAibm9uIGZ1cy4gOiAgJXMiCi0KLSM6IHd0LXN0YXR1cy5jOjMzMAorIzogd3Qtc3RhdHVzLmM6MzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJ1ZzogdW5oYW5kbGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICJib2d1ZSA6IMOpdGF0IGRlIGRpZmYgbm9uIGfDqXLDqSAlYyIKIAotIzogd3Qtc3RhdHVzLmM6ODAzCisjOiB3dC1zdGF0dXMuYzo3MzIKK21zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKK21zZ3N0ciAiU291cy1tb2R1bGVzIG1vZGlmacOpcyBtYWlzIG5vbiBtaXMgw6Agam91ciA6IgorCisjOiB3dC1zdGF0dXMuYzo3MzQKK21zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgorbXNnc3RyICJDaGFuZ2VtZW50cyBkdSBzb3VzLW1vZHVsZSDDoCB2YWxpZGVyIDoiCisKKyM6IHd0LXN0YXR1cy5jOjgzNgorbXNnaWQgIiIKKyJEbyBub3QgdG91Y2ggdGhlIGxpbmUgYWJvdmUuXG4iCisiRXZlcnl0aGluZyBiZWxvdyB3aWxsIGJlIHJlbW92ZWQuIgorbXNnc3RyICIiCisiTmUgdG91Y2hleiBwYXMgw6AgbGEgbGlnbmUgY2ktZGVzc3VzXG4iCisiVG91dCBzZSBxdWkgc3VpdCBzZXJhIMOpbGltaW7DqS4iCisKKyM6IHd0LXN0YXR1cy5jOjg5OQogbXNnaWQgIllvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLiIKIG1zZ3N0ciAiVm91cyBhdmV6IGRlcyBjaGVtaW5zIG5vbiBmdXNpb25uw6lzLiIKIAotIzogd3Qtc3RhdHVzLmM6ODA2IHd0LXN0YXR1cy5jOjk1OAorIzogd3Qtc3RhdHVzLmM6OTAyCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKLW1zZ3N0ciAiICAocsOpZ2xleiBsZXMgY29uZmxpdHMgZXQgbGFuY2V6IFwiZ2l0IGNvbW1pdFwiKSIKK21zZ3N0ciAiICAocsOpZ2xleiBsZXMgY29uZmxpdHMgcHVpcyBsYW5jZXogXCJnaXQgY29tbWl0XCIpIgogCi0jOiB3dC1zdGF0dXMuYzo4MDkKKyM6IHd0LXN0YXR1cy5jOjkwNQogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgIlRvdXMgbGVzIGNvbmZsaXRzIHNvbnQgcsOpZ2zDqXMgbWFpcyBsYSBmdXNpb24gbidlc3QgcGFzIHRlcm1pbsOpZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjgxMgorIzogd3Qtc3RhdHVzLmM6OTA4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgY29tbWl0XCIgcG91ciB0ZXJtaW5lciBsYSBmdXNpb24pIgogCi0jOiB3dC1zdGF0dXMuYzo4MjIKKyM6IHd0LXN0YXR1cy5jOjkxOAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLiIKIG1zZ3N0ciAiVm91cyDDqnRlcyBhdSBtaWxpZXUgZCd1bmUgc2Vzc2lvbiBhbS4iCiAKLSM6IHd0LXN0YXR1cy5jOjgyNQorIzogd3Qtc3RhdHVzLmM6OTIxCiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICJMZSBwYXRjaCBhY3R1ZWwgZXN0IHZpZGUuIgogCi0jOiB3dC1zdGF0dXMuYzo4MjkKLW1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLXJlc29sdmVkXCIpIgotbXNnc3RyICIgIChyw6lnbGV6IGxlcyBjb25mbGl0cyBwdWlzIGxhbmNleiBcImdpdCBhbSAtLXJlc29sdmVkXCIpIgorIzogd3Qtc3RhdHVzLmM6OTI1Cittc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiICAocsOpZ2xleiBsZXMgY29uZmxpdHMgcHVpcyBsYW5jZXogXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6ODMxCisjOiB3dC1zdGF0dXMuYzo5MjcKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgYW0gLS1za2lwXCIgcG91ciBzYXV0ZXIgY2UgcGF0Y2gpIgogCi0jOiB3dC1zdGF0dXMuYzo4MzMKKyM6IHd0LXN0YXR1cy5jOjkyOQogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgYW0gLS1hYm9ydFwiIHBvdXIgcmVzdGF1cmVyIGxhIGJyYW5jaGUgZCdvcmlnaW5lKSIKIAotIzogd3Qtc3RhdHVzLmM6ODkzIHd0LXN0YXR1cy5jOjkxMAorIzogd3Qtc3RhdHVzLmM6OTg5IHd0LXN0YXR1cy5jOjEwMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgZW4gdHJhaW4gZGUgcmViYXNlciBsYSBicmFuY2hlICclcycgc3VyICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzo4OTggd3Qtc3RhdHVzLmM6OTE1CisjOiB3dC1zdGF0dXMuYzo5OTQgd3Qtc3RhdHVzLmM6MTAxMQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiVm91cyDDqnRlcyBlbiB0cmFpbiBkZSByZWJhc2VyLiIKIAotIzogd3Qtc3RhdHVzLmM6OTAxCisjOiB3dC1zdGF0dXMuYzo5OTcKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKLW1zZ3N0ciAiICAocsOpc29sdmV6IGxlcyBjb25mbGl0cyBwdWlzIGxhbmNleiBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiICAocsOpZ2xleiBsZXMgY29uZmxpdHMgcHVpcyBsYW5jZXogXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjkwMworIzogd3Qtc3RhdHVzLmM6OTk5CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCByZWJhc2UgLS1za2lwXCIgcG91ciBzYXV0ZXIgY2UgcGF0Y2gpIgogCi0jOiB3dC1zdGF0dXMuYzo5MDUKKyM6IHd0LXN0YXR1cy5jOjEwMDEKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiB0byBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgcG91ciBleHRyYWlyZSBsYSBicmFuY2hlIGQnb3JpZ2luZSkiCiAKLSM6IHd0LXN0YXR1cy5jOjkxOAorIzogd3Qtc3RhdHVzLmM6MTAxNAogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKLW1zZ3N0ciAiICAodG91cyBsZXMgY29uZmxpdHMgc29udCByw6lzb2x1cyA6IGxhbmNleiBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiICAodG91cyBsZXMgY29uZmxpdHMgc29udCByw6lnbMOpcyA6IGxhbmNleiBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6OTIyCisjOiB3dC1zdGF0dXMuYzoxMDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCi1tc2dzdHIgIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGRlIGZyYWN0aW9ubmVyIHVuIGNvbW1pdCBwZW5kYW50IHVuIHJlYmFzYWdlIGRlIGxhIGJyYW5jaGUgJyVzJyBzdXIgJyVzJy4iCittc2dzdHIgIiIKKyJWb3VzIMOqdGVzIGFjdHVlbGxlbWVudCBlbiB0cmFpbiBkZSBmcmFjdGlvbm5lciB1biBjb21taXQgcGVuZGFudCB1biByZWJhc2FnZSAiCisiZGUgbGEgYnJhbmNoZSAnJXMnIHN1ciAnJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6OTI3CisjOiB3dC1zdGF0dXMuYzoxMDIzCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCi1tc2dzdHIgIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGRlIGZyYWN0aW9ubmVyIHVuIGNvbW1pdCBwZW5kYW50IHVuIHJlYmFzYWdlLiIKK21zZ3N0ciAiIgorIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGRlIGZyYWN0aW9ubmVyIHVuIGNvbW1pdCBwZW5kYW50IHVuIHJlYmFzYWdlLiIKIAotIzogd3Qtc3RhdHVzLmM6OTMwCisjOiB3dC1zdGF0dXMuYzoxMDI2CiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCi1tc2dzdHIgIiAgKFVuZSBmb2lzIGxhIGNvcGllIGRlIHRyYXZhaWwgbmV0dG95w6llLCBsYW5jZXogXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCittc2dzdHIgIiIKKyIgIChVbmUgZm9pcyBsYSBjb3BpZSBkZSB0cmF2YWlsIG5ldHRvecOpZSwgbGFuY2V6IFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5MzQKKyM6IHd0LXN0YXR1cy5jOjEwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKLW1zZ3N0ciAiVm91cyDDqnRlcyBhY3R1ZWxsZW1lbnQgZW4gdHJhaW4gZCfDqWRpdGVyIHVuIGNvbW1pdCBwZW5kYW50IHVuIHJlYmFzYWdlIGRlIGxhIGJyYW5jaGUgJyVzJyBzdXIgJyVzJy4iCittc2dzdHIgIiIKKyJWb3VzIMOqdGVzIGFjdHVlbGxlbWVudCBlbiB0cmFpbiBkJ8OpZGl0ZXIgdW4gY29tbWl0IHBlbmRhbnQgdW4gcmViYXNhZ2UgZGUgbGEgIgorImJyYW5jaGUgJyVzJyBzdXIgJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjkzOQorIzogd3Qtc3RhdHVzLmM6MTAzNQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKLW1zZ3N0ciAiVm91cyDDqnRlcyBhY3R1ZWxsZW1lbnQgZW4gdHJhaW4gZCfDqWRpdGVyIHVuIGNvbW1pdCBwZW5kYW50IHVuIHJlYmFzYWdlLiIKK21zZ3N0ciAiIgorIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGQnw6lkaXRlciB1biBjb21taXQgcGVuZGFudCB1biByZWJhc2FnZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjk0MgorIzogd3Qtc3RhdHVzLmM6MTAzOAogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgcG91ciBjb3JyaWdlciBsZSBjb21taXQgYWN0dWVsKSIKIAotIzogd3Qtc3RhdHVzLmM6OTQ0CisjOiB3dC1zdGF0dXMuYzoxMDQwCiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpIgotbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIHF1YW5kIHZvdXMgw6p0ZXMgc2F0aXNmYWl0IGRlIHZvcyBtb2RpZmljYXRpb25zKSIKK21zZ3N0ciAiIgorIiAgKHV0aWxpc2V6IFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgcXVhbmQgdm91cyDDqnRlcyBzYXRpc2ZhaXQgZGUgdm9zICIKKyJtb2RpZmljYXRpb25zKSIKIAotIzogd3Qtc3RhdHVzLmM6OTU0Ci1tc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcuIgotbXNnc3RyICJWb3VzIMOqdGVzIGFjdHVlbGxlbWVudCBlbiB0cmFpbiBkZSBwaWNvcmVyLiIKKyM6IHd0LXN0YXR1cy5jOjEwNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICVzLiIKK21zZ3N0ciAiVm91cyDDqnRlcyBhY3R1ZWxsZW1lbnQgZW4gdHJhaW4gZGUgcGljb3JlciBsZSBjb21taXQgJXMuIgogCi0jOiB3dC1zdGF0dXMuYzo5NjEKLW1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY29tbWl0XCIpIgotbXNnc3RyICIgICh0b3VzIGxlcyBjb25mbGl0cyBzb250IHLDqXNvbHVzIDogbGFuY2V6IFwiZ2l0IGNvbW1pdFwiKSIKKyM6IHd0LXN0YXR1cy5jOjEwNTUKK21zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiICAocsOpZ2xleiBsZXMgY29uZmxpdHMgcHVpcyBsYW5jZXogXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6OTcwCisjOiB3dC1zdGF0dXMuYzoxMDU4Cittc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCittc2dzdHIgIiIKKyIgICh0b3VzIGxlcyBjb25mbGl0cyBzb250IHLDqWdsw6lzIDogbGFuY2V6IFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCisKKyM6IHd0LXN0YXR1cy5jOjEwNjAKK21zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIKK21zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHBvdXIgYW5udWxlciBsZSBwaWNvcmFnZSkiCisKKyM6IHd0LXN0YXR1cy5jOjEwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGRlIHLDqXRhYmxpciBsZSBjb21taXQgJXMuIgogCi0jOiB3dC1zdGF0dXMuYzo5NzUKKyM6IHd0LXN0YXR1cy5jOjEwNzQKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCi1tc2dzdHIgIiAgKHLDqXNvbHZleiBsZXMgY29uZmxpdHMgZXQgbGFuY2V6IFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgorbXNnc3RyICIgIChyw6lnbGV6IGxlcyBjb25mbGl0cyBwdWlzIGxhbmNleiBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6OTc4CisjOiB3dC1zdGF0dXMuYzoxMDc3CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgotbXNnc3RyICIgICh0b3VzIGxlcyBjb25mbGl0cyBzb250IHLDqXNvbHVzIDogbGFuY2V6IFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgorbXNnc3RyICIgICh0b3VzIGxlcyBjb25mbGl0cyBzb250IHLDqWdsw6lzIDogbGFuY2V6IFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5ODAKKyM6IHd0LXN0YXR1cy5jOjEwNzkKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHBvdXIgYW5udWxlciBsZSByw6l0YWJsaXNzZW1lbnQpIgogCi0jOiB3dC1zdGF0dXMuYzo5OTEKKyM6IHd0LXN0YXR1cy5jOjEwOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLCBzdGFydGVkIGZyb20gYnJhbmNoICclcycuIgogbXNnc3RyICJWb3VzIMOqdGVzIGVuIGNvdXJzIGRlIGJpc3NlY3Rpb24sIGRlcHVpcyBsYSBicmFuY2hlICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzo5OTUKKyM6IHd0LXN0YXR1cy5jOjEwOTQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcuIgogbXNnc3RyICJWb3VzIMOqdGVzIGVuIGNvdXJzIGRlIGJpc3NlY3Rpb24uIgogCi0jOiB3dC1zdGF0dXMuYzo5OTgKKyM6IHd0LXN0YXR1cy5jOjEwOTcKIG1zZ2lkICIgICh1c2UgXCJnaXQgYmlzZWN0IHJlc2V0XCIgdG8gZ2V0IGJhY2sgdG8gdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IGJpc2VjdCByZXNldFwiIHBvdXIgcmV2ZW5pciDDoCBsYSBicmFuY2hlIGQnb3JpZ2luZSkiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzMKKyM6IHd0LXN0YXR1cy5jOjEyNzIKIG1zZ2lkICJPbiBicmFuY2ggIgogbXNnc3RyICJTdXIgbGEgYnJhbmNoZSAiCiAKLSM6IHd0LXN0YXR1cy5jOjExODQKKyM6IHd0LXN0YXR1cy5jOjEyNzkKK21zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgorbXNnc3RyICJyZWJhc2FnZSBlbiBjb3VycyA7IHN1ciAiCisKKyM6IHd0LXN0YXR1cy5jOjEyODYKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKIG1zZ3N0ciAiSEVBRCBkw6l0YWNow6llIHN1ciAiCiAKLSM6IHd0LXN0YXR1cy5jOjExODYKKyM6IHd0LXN0YXR1cy5jOjEyODgKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgogbXNnc3RyICJIRUFEIGTDqXRhY2jDqWUgZGVwdWlzICIKIAotIzogd3Qtc3RhdHVzLmM6MTE4OQorIzogd3Qtc3RhdHVzLmM6MTI5MQogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIkFjdHVlbGxlbWVudCBzdXIgYXVjdW4gYnJhbmNoZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDYKKyM6IHd0LXN0YXR1cy5jOjEzMDgKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAiVmFsaWRhdGlvbiBpbml0aWFsZSIKIAotIzogd3Qtc3RhdHVzLmM6MTIyMAorIzogd3Qtc3RhdHVzLmM6MTMyMgogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiRmljaGllcnMgbm9uIHN1aXZpcyIKIAotIzogd3Qtc3RhdHVzLmM6MTIyMgorIzogd3Qtc3RhdHVzLmM6MTMyNAogbXNnaWQgIklnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIkZpY2hpZXJzIGlnbm9yw6lzIgogCi0jOiB3dC1zdGF0dXMuYzoxMjI2CisjOiB3dC1zdGF0dXMuYzoxMzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCiAibWF5IHNwZWVkIGl0IHVwLCBidXQgeW91IGhhdmUgdG8gYmUgY2FyZWZ1bCBub3QgdG8gZm9yZ2V0IHRvIGFkZFxuIgogIm5ldyBmaWxlcyB5b3Vyc2VsZiAoc2VlICdnaXQgaGVscCBzdGF0dXMnKS4iCi1tc2dzdHIgIkwnw6ludW3DqXJhdGlvbiBkZXMgZmljaGllcnMgbm9uIHN1aXZpcyBhIGR1csOpICUuMmYgc2Vjb25kZXMuICdzdGF0dXMgLXVubydcbiIKLSJwZXV0IGwnYWNjw6lsZXJlciwgbWFpcyB2b3VzIGRldmV6IGFsb3JzIGZhaXJlIGF0dGVudGlvbiDDoCBuZSBwYXNcbiIKLSJvdWJsaWVyIGQnYWpvdXRlciBsZXMgbm91dmVhdXggZmljaGllcnMgcGFyIHZvdXMtbcOqbWUgKHZvaXIgJ2dpdCBoZWxwIHN0YXR1cycpLiIKK21zZ3N0ciAiIgorIkwnw6ludW3DqXJhdGlvbiBkZXMgZmljaGllcnMgbm9uIHN1aXZpcyBhIGR1csOpICUuMmYgc2Vjb25kZXMuICdzdGF0dXMgLXVubydcbiIKKyJwZXV0IGwnYWNjw6lsw6lyZXIsIG1haXMgdm91cyBkZXZleiBhbG9ycyBmYWlyZSBhdHRlbnRpb24gw6AgbmUgcGFzXG4iCisib3VibGllciBkJ2Fqb3V0ZXIgbGVzIG5vdXZlYXV4IGZpY2hpZXJzIHBhciB2b3VzLW3Dqm1lICh2b2lyICdnaXQgaGVscCAiCisic3RhdHVzJykuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjMyCisjOiB3dC1zdGF0dXMuYzoxMzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkJXMiCi1tc2dzdHIgIkZpY2hpZXJzIG5vbiBzdWl2aXMgbm9uIGxpc3TDqXMlcyIKK21zZ3N0ciAiRmljaGllcnMgbm9uIHN1aXZpcyBub24gYWZmaWNow6lzJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMzQKKyM6IHd0LXN0YXR1cy5jOjEzMzYKIG1zZ2lkICIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIgogbXNnc3RyICIgKHV0aWxpc2V6IC11IHBvdXIgYWZmaWNoZXIgbGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQwCisjOiB3dC1zdGF0dXMuYzoxMzQyCiBtc2dpZCAiTm8gY2hhbmdlcyIKIG1zZ3N0ciAiQXVjdW5lIG1vZGlmaWNhdGlvbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI0NQorIzogd3Qtc3RhdHVzLmM6MTM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKLW1zZ3N0ciAiYXVjdW5lIG1vZGlmaWNhdGlvbiBuJ2Egw6l0w6kgYWpvdXTDqWUgw6AgbGEgdmFsaWRhdGlvbiAodXRpbGlzZXogXCJnaXQgYWRkXCIgb3UgXCJnaXQgY29tbWl0IC1hXCIpXG4iCittc2dzdHIgIiIKKyJhdWN1bmUgbW9kaWZpY2F0aW9uIG4nYSDDqXTDqSBham91dMOpZSDDoCBsYSB2YWxpZGF0aW9uICh1dGlsaXNleiBcImdpdCBhZGRcIiBvdSAiCisiXCJnaXQgY29tbWl0IC1hXCIpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDgKKyM6IHd0LXN0YXR1cy5jOjEzNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXRcbiIKIG1zZ3N0ciAiYXVjdW5lIG1vZGlmaWNhdGlvbiBham91dMOpZSDDoCBsYSB2YWxpZGF0aW9uXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTEKKyM6IHd0LXN0YXR1cy5jOjEzNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKICJ0cmFjaylcbiIKLW1zZ3N0ciAiYXVjdW5lIG1vZGlmaWNhdGlvbiBham91dMOpZSDDoCBsYSB2YWxpZGF0aW9uIG1haXMgZGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMgc29udCBwcsOpc2VudHMgKHV0aWxpc2V6IFwiZ2l0IGFkZFwiIHBvdXIgbGVzIHN1aXZyZSlcbiIKK21zZ3N0ciAiIgorImF1Y3VuZSBtb2RpZmljYXRpb24gYWpvdXTDqWUgw6AgbGEgdmFsaWRhdGlvbiBtYWlzIGRlcyBmaWNoaWVycyBub24gc3VpdmlzICIKKyJzb250IHByw6lzZW50cyAodXRpbGlzZXogXCJnaXQgYWRkXCIgcG91ciBsZXMgc3VpdnJlKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjU0CisjOiB3dC1zdGF0dXMuYzoxMzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgotbXNnc3RyICJhdWN1bmUgbW9kaWZpY2F0aW9uIGFqb3V0w6llIMOgIGxhIHZhbGlkYXRpb24gbWFpcyBkZXMgZmljaGllcnMgbm9uIHN1aXZpcyBzb250IHByw6lzZW50c1xuIgorbXNnc3RyICIiCisiYXVjdW5lIG1vZGlmaWNhdGlvbiBham91dMOpZSDDoCBsYSB2YWxpZGF0aW9uIG1haXMgZGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMgIgorInNvbnQgcHLDqXNlbnRzXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTcKKyM6IHd0LXN0YXR1cy5jOjEzNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCi1tc2dzdHIgInJpZW4gw6AgdmFsaWRlciAoY3LDqWV6L2NvcGlleiBkZXMgZmljaGllcnMgZXQgdXRpbGlzZXogXCJnaXQgYWRkXCIgcG91ciBsZXMgc3VpdnJlKVxuIgorbXNnc3RyICIiCisicmllbiDDoCB2YWxpZGVyIChjcsOpZXovY29waWV6IGRlcyBmaWNoaWVycyBldCB1dGlsaXNleiBcImdpdCBhZGRcIiBwb3VyIGxlcyAiCisic3VpdnJlKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYwIHd0LXN0YXR1cy5jOjEyNjUKKyM6IHd0LXN0YXR1cy5jOjEzNjIgd3Qtc3RhdHVzLmM6MTM2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICJyaWVuIMOgIHZhbGlkZXJcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MworIzogd3Qtc3RhdHVzLmM6MTM2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKVxuIgogbXNnc3RyICJyaWVuIMOgIHZhbGlkZXIgKHV0aWxpc2V6IC11IHBvdXIgYWZmaWNoZXIgbGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjcKKyM6IHd0LXN0YXR1cy5jOjEzNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgZGlyZWN0b3J5IGNsZWFuXG4iCiBtc2dzdHIgInJpZW4gw6AgdmFsaWRlciwgbGEgY29waWUgZGUgdHJhdmFpbCBlc3QgcHJvcHJlXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNzUKKyM6IHd0LXN0YXR1cy5jOjE0NzgKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFEIChhdWN1bmUgYnJhbmNoZSkiCiAKLSM6IHd0LXN0YXR1cy5jOjEzODEKKyM6IHd0LXN0YXR1cy5jOjE0ODQKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCiBtc2dzdHIgIlZhbGlkYXRpb24gaW5pdGlhbGUgc3VyICIKIAotIzogd3Qtc3RhdHVzLmM6MTM5NgorIyDDoCBwcmlvcmkgb24gcGFybGUgZCd1bmUgYnJhbmNoZSBpY2kKKyM6IHd0LXN0YXR1cy5jOjE1MTQKK21zZ2lkICJnb25lIgorbXNnc3RyICJkaXNwYXJ1ZSIKKworIzogd3Qtc3RhdHVzLmM6MTUxNgogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgImRlcnJpw6hyZSAiCiAKLSM6IHd0LXN0YXR1cy5jOjEzOTkgd3Qtc3RhdHVzLmM6MTQwMgorIzogd3Qtc3RhdHVzLmM6MTUxOSB3dC1zdGF0dXMuYzoxNTIyCiBtc2dpZCAiYWhlYWQgIgogbXNnc3RyICJkZXZhbnQgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDA0CisjOiB3dC1zdGF0dXMuYzoxNTI0CiBtc2dpZCAiLCBiZWhpbmQgIgogbXNnc3RyICIsIGRlcnJpw6hyZSAiCiAKLSM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1OCBidWlsdGluL2Nsb25lLmM6MzUyCisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTUgYnVpbHRpbi9jbG9uZS5jOjM1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCi1tc2dzdHIgImVjaGVjIGxvcnMgZGUgbCd1bmxpbmsgZGUgJyVzJyIKK21zZ3N0ciAiw6ljaGVjIGxvcnMgZGUgbCd1bmxpbmsgZGUgJyVzJyIKIAogIzogYnVpbHRpbi9hZGQuYzoyMAogbXNnaWQgImdpdCBhZGQgW29wdGlvbnNdIFstLV0gPHBhdGhzcGVjPi4uLiIKQEAgLTE2NDcsNyArMjAxMyw4IEBACiAiZGlyZWN0b3J5LlxuIgogbXNnc3RyICIiCiAiTGUgY29tcG9ydGVtZW50IGRlICdnaXQgYWRkICVzIChvdSAlcyknIHNhbnMgYXJndW1lbnQgZGUgY2hlbWluIGRlcHVpcyB1blxuIgotInNvdXMtcsOpcGVydG9pcmUgZHUgcHJvamV0IHZhIGNoYW5nZXIgZGFucyBHaXQgMi4wIGV0IG5lIGRvaXQgcGx1cyDDqnRyZSB1dGlsaXPDqS5cbiIKKyJzb3VzLXLDqXBlcnRvaXJlIGR1IHByb2pldCB2YSBjaGFuZ2VyIGRhbnMgR2l0IDIuMCBldCBuZSBkb2l0IHBsdXMgw6p0cmUgIgorInV0aWxpc8OpLlxuIgogIlBvdXIgYWpvdXRlciBsZSBjb250ZW51IGRlIHRvdXRlIGwnYXJib3Jlc2NlbmNlLCBsYW5jZXogOlxuIgogIlxuIgogIiAgZ2l0IGFkZCAlcyA6L1xuIgpAQCAtMTY1OCw3ICsyMDI1LDggQEAKICIgIGdpdCBhZGQgJXMgLlxuIgogIiAgKG91IGdpdCBhZGQgJXMgLilcbiIKICJcbiIKLSJBdmVjIGxhIHZlcnNpb24gYWN0dWVsbGUgZGUgR2l0LCBsYSBjb21tYW5kZSBlc3QgcmVzdHJlaW50ZSBhdSByw6lwZXJ0b2lyZSBjb3VyYW50LlxuIgorIkF2ZWMgbGEgdmVyc2lvbiBhY3R1ZWxsZSBkZSBHaXQsIGxhIGNvbW1hbmRlIGVzdCByZXN0cmVpbnRlIGF1IHLDqXBlcnRvaXJlICIKKyJjb3VyYW50LlxuIgogCiAjOiBidWlsdGluL2FkZC5jOjEwMAogIywgYy1mb3JtYXQKQEAgLTE2NzYsMjMgKzIwNDQsMjYgQEAKICJSdW4gJ2dpdCBzdGF0dXMnIHRvIGNoZWNrIHRoZSBwYXRocyB5b3UgcmVtb3ZlZCBmcm9tIHlvdXIgd29ya2luZyB0cmVlLlxuIgogbXNnc3RyICIiCiAiVm91cyBhdmV6IGxhbmPDqSAnZ2l0IGFkZCcgc2FucyAnLUEgKC0tYWxsKScgbmkgJy0taWdub3JlLXJlbW92YWwnLFxuIgotImRvbnQgbGUgY29tcG9ydGVtZW50IHZhIGNoYW5nZXIgZGFucyBHaXQgMi4wIGF2ZWMgbGUgcmVzcGVjdCBkZXMgY2hlbWlucyBxdWUgdm91cyBzdXBwcmltZXouXG4iCisiZG9udCBsZSBjb21wb3J0ZW1lbnQgdmEgY2hhbmdlciBkYW5zIEdpdCAyLjAgYXZlYyBsZSByZXNwZWN0IGRlcyBjaGVtaW5zIHF1ZSAiCisidm91cyBzdXBwcmltZXouXG4iCiAiTGVzIGNoZW1pbnMgdGVscyBxdWUgJyVzJyBxdWkgb250IMOpdMOpXG4iCiAicmV0aXLDqXMgZGUgdm90cmUgY29waWUgZGUgdHJhdmFpbCBzb250IGlnbm9yw6lzIGF2ZWMgY2V0dGUgdmVyc2lvbiBkZSBHaXQuXG4iCiAiXG4iCi0iKiAnZ2l0IGFkZCAtLWlnbm9yZS1yZW1vdmFsIDxjaGVtaW4+JywgcXVpIGVzdCBsJ29wdGlvbiBwYXIgZMOpZmF1dCBhY3R1ZWxsZSxcbiIKKyIqICdnaXQgYWRkIC0taWdub3JlLXJlbW92YWwgPGNoZW1pbj4nLCBxdWkgZXN0IGwnb3B0aW9uIHBhciBkw6lmYXV0ICIKKyJhY3R1ZWxsZSxcbiIKICIgIGlnbm9yZSBsZXMgY2hlbWlucyBxdWUgdm91cyBhdmV6IHN1cHByaW3DqXMgZGUgdm90cmUgY29waWUgZGUgdHJhdmFpbC5cbiIKICJcbiIKICIqICdnaXQgYWRkIC0tYWxsIDxjaGVtaW4+JyBwZXJtZXQgZCdlbnJlZ2lzdHJlciBhdXNzaSBsZXMgc3VwcHJlc3Npb25zLlxuIgogIlxuIgotIkxhbmNleiAnZ2l0IHN0YXR1cycgcG91ciB2w6lyaWZpZXIgbGVzIGNoZW1pbnMgcXVlIHZvdXMgYXZleiBzdXBwcmltw6lzIGRlIHZvdHJlIGNvcGllIGRlIHRyYXZhaWwuXG4iCisiTGFuY2V6ICdnaXQgc3RhdHVzJyBwb3VyIHbDqXJpZmllciBsZXMgY2hlbWlucyBxdWUgdm91cyBhdmV6IHN1cHByaW3DqXMgZGUgIgorInZvdHJlIGNvcGllIGRlIHRyYXZhaWwuXG4iCiAKICM6IGJ1aWx0aW4vYWRkLmM6MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgInN0YXR1cyBkZSBkaWZmIGluYXR0ZW5kdSAlYyIKIAotIzogYnVpbHRpbi9hZGQuYzoxNDkgYnVpbHRpbi9jb21taXQuYzoyMzMKKyM6IGJ1aWx0aW4vYWRkLmM6MTQ5IGJ1aWx0aW4vY29tbWl0LmM6MjYwCiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgbWlzZSDDoCBqb3VyIGRlcyBmaWNoaWVycyIKIApAQCAtMTcwMSwxNDAgKzIwNzIsMTQwIEBACiBtc2dpZCAicmVtb3ZlICclcydcbiIKIG1zZ3N0ciAic3VwcHJlc3Npb24gZGUgJyVzJ1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjI1MworIzogYnVpbHRpbi9hZGQuYzoyMzcKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKIG1zZ3N0ciAiTW9kaWZpY2F0aW9ucyBub24gaW5kZXjDqWVzIGFwcsOocyByYWZyYcOuY2hpc3NlbWVudCBkZSBsJ2luZGV4IDoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU2IGJ1aWx0aW4vYWRkLmM6NTcyIGJ1aWx0aW4vcm0uYzoyNzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKLW1zZ3N0ciAibGUgY2hlbWluICclcycgbmUgY29ycmVzcG9uZCDDoCBhdWN1biBmaWNoaWVyIgotCi0jOiBidWlsdGluL2FkZC5jOjMzOQorIzogYnVpbHRpbi9hZGQuYzoyOTkKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZSBsJ2luZGV4IgogCi0jOiBidWlsdGluL2FkZC5jOjM0OQorIzogYnVpbHRpbi9hZGQuYzozMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iCiBtc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgJyVzJyBlbiDDqWNyaXR1cmUuIgogCi0jOiBidWlsdGluL2FkZC5jOjM1MworIzogYnVpbHRpbi9hZGQuYzozMTQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgIkltcG9zc2libGUgZCfDqWNyaXJlIGxlIHBhdGNoIgogCi0jOiBidWlsdGluL2FkZC5jOjM1OAorIzogYnVpbHRpbi9hZGQuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAiU3RhdCBkZSAnJXMnIGltcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzYwCisjOiBidWlsdGluL2FkZC5jOjMyMQogbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKIG1zZ3N0ciAiUGF0Y2ggdmlkZS4gQWJhbmRvbi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzY2CisjOiBidWlsdGluL2FkZC5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FwcGxpcXVlciAnJXMnIgogCi0jOiBidWlsdGluL2FkZC5jOjM3NgorIzogYnVpbHRpbi9hZGQuYzozMzcKIG1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCi1tc2dzdHIgIkxlcyBjaGVtaW5zIHN1aXZhbnRzIHNvbnQgaWdub3LDqXMgcGFyIHVuIGRlIHZvcyBmaWNoaWVycyAuZ2l0aWdub3JlIDpcbiIKK21zZ3N0ciAiIgorIkxlcyBjaGVtaW5zIHN1aXZhbnRzIHNvbnQgaWdub3LDqXMgcGFyIHVuIGRlIHZvcyBmaWNoaWVycyAuZ2l0aWdub3JlIDpcbiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTMgYnVpbHRpbi9jbGVhbi5jOjE2MSBidWlsdGluL2ZldGNoLmM6NzggYnVpbHRpbi9tdi5jOjYzCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjc2IGJ1aWx0aW4vcHVzaC5jOjQyNSBidWlsdGluL3JlbW90ZS5jOjEyNTMKLSM6IGJ1aWx0aW4vcm0uYzoyMDYKKyM6IGJ1aWx0aW4vYWRkLmM6MzU0IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9mZXRjaC5jOjkzIGJ1aWx0aW4vbXYuYzo3MAorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3NyBidWlsdGluL3B1c2guYzo1MDYgYnVpbHRpbi9yZW1vdGUuYzoxMzQ0CisjOiBidWlsdGluL3JtLmM6MjY5CiBtc2dpZCAiZHJ5IHJ1biIKLW1zZ3N0ciAiw6AgdmlkZSIKK21zZ3N0ciAic2ltdWxlciBsJ2FjdGlvbiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTQgYnVpbHRpbi9hcHBseS5jOjQ0MDkgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMTUyIGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk1IGJ1aWx0aW4vZnNjay5jOjYxMwotIzogYnVpbHRpbi9sb2cuYzoxNTE4IGJ1aWx0aW4vbXYuYzo2MiBidWlsdGluL3JlYWQtdHJlZS5jOjExMgorIzogYnVpbHRpbi9hZGQuYzozNTUgYnVpbHRpbi9hcHBseS5jOjQ0MTAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQorIzogYnVpbHRpbi9jb21taXQuYzoxMjQ5IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk1IGJ1aWx0aW4vZnNjay5jOjYxMgorIzogYnVpbHRpbi9sb2cuYzoxNTkyIGJ1aWx0aW4vbXYuYzo2OSBidWlsdGluL3JlYWQtdHJlZS5jOjExMwogbXNnaWQgImJlIHZlcmJvc2UiCiBtc2dzdHIgIm1vZGUgdmVyYmV1eCIKIAotIzogYnVpbHRpbi9hZGQuYzozOTYKKyM6IGJ1aWx0aW4vYWRkLmM6MzU3CiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAic8OpbGVjdGlvbiBpbnRlcmFjdGl2ZSIKIAotIzogYnVpbHRpbi9hZGQuYzozOTcgYnVpbHRpbi9jaGVja291dC5jOjEwNjMgYnVpbHRpbi9yZXNldC5jOjI1OAorIzogYnVpbHRpbi9hZGQuYzozNTggYnVpbHRpbi9jaGVja291dC5jOjExMDkgYnVpbHRpbi9yZXNldC5jOjI3MgogbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICJzw6lsZWN0aW9uIGludGVyYWN0aXZlIGRlcyBzZWN0aW9ucyIKIAotIzogYnVpbHRpbi9hZGQuYzozOTgKKyM6IGJ1aWx0aW4vYWRkLmM6MzU5CiBtc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgogbXNnc3RyICLDqWRpdGlvbiBkdSBkaWZmIGFjdHVlbCBldCBhcHBsaWNhdGlvbiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTkKKyM6IGJ1aWx0aW4vYWRkLmM6MzYwCiBtc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJwZXJtZXR0cmUgbCdham91dCBkZSBmaWNoaWVycyBpZ25vcsOpcyIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDAKKyM6IGJ1aWx0aW4vYWRkLmM6MzYxCiBtc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIm1ldHRyZSDDoCBqb3VyIGxlcyBmaWNoaWVycyBzdWl2aXMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAxCisjOiBidWlsdGluL2FkZC5jOjM2MgogbXNnaWQgInJlY29yZCBvbmx5IHRoZSBmYWN0IHRoYXQgdGhlIHBhdGggd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAiZW5yZWdpc3RyZXIgc2V1bGVtZW50IGxlIGZhaXQgcXVlIGxlIGNoZW1pbiBzZXJhIGFqb3V0w6kgcGx1cyB0YXJkIgogCi0jOiBidWlsdGluL2FkZC5jOjQwMgorIzogYnVpbHRpbi9hZGQuYzozNjMKIG1zZ2lkICJhZGQgY2hhbmdlcyBmcm9tIGFsbCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgImFqb3V0ZXIgbGVzIG1vZGlmaWNhdGlvbnMgZGUgdG91cyBsZXMgZmljaGllcnMgc3VpdmlzIGV0IG5vbiBzdWl2aXMiCiAKICMuIHRha2VzIG5vIGFyZ3VtZW50cwotIzogYnVpbHRpbi9hZGQuYzo0MDUKKyM6IGJ1aWx0aW4vYWRkLmM6MzY2CiBtc2dpZCAiaWdub3JlIHBhdGhzIHJlbW92ZWQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoc2FtZSBhcyAtLW5vLWFsbCkiCi1tc2dzdHIgImlnbm9yZXIgbGVzIGNoZW1pbnMgZWZmYWPDqXMgZGFucyBsYSBjb3BpZSBkZSB0cmF2YWlsIChpZGVudGlxdWUgw6AgLS1uby1hbGwpIgorbXNnc3RyICIiCisiaWdub3JlciBsZXMgY2hlbWlucyBlZmZhY8OpcyBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwgKGlkZW50aXF1ZSDDoCAtLW5vLWFsbCkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDA3CisjOiBidWlsdGluL2FkZC5jOjM2OAogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAibmUgcGFzIGFqb3V0ZXIsIGp1c3RlIHJhZnJhw65jaGlyIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDA4CisjOiBidWlsdGluL2FkZC5jOjM2OQogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCi1tc2dzdHIgInNhdXRlciBzZXVsZW1lbnQgbGVzIGZpY2hpZXJzIHF1aSBuZSBwZXV2ZW50IHBhcyDDqnRyZSBham91dMOpcyBkdSBmYWl0IGQnZXJyZXVycyIKK21zZ3N0ciAiIgorInNhdXRlciBzZXVsZW1lbnQgbGVzIGZpY2hpZXJzIHF1aSBuZSBwZXV2ZW50IHBhcyDDqnRyZSBham91dMOpcyBkdSBmYWl0ICIKKyJkJ2VycmV1cnMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDA5CisjOiBidWlsdGluL2FkZC5jOjM3MAogbXNnaWQgImNoZWNrIGlmIC0gZXZlbiBtaXNzaW5nIC0gZmlsZXMgYXJlIGlnbm9yZWQgaW4gZHJ5IHJ1biIKIG1zZ3N0ciAidsOpcmlmaWVyIHNpIGRlcyBmaWNoaWVycyAtIG3Dqm1lIG1hbnF1YW50cyAtIHNvbnQgaWdub3LDqXMsIMOgIHZpZGUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDMxCisjOiBidWlsdGluL2FkZC5jOjM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLlxuIgogbXNnc3RyICJVdGlsaXNleiAtZiBzaSB2b3VzIHZvdWxleiByw6llbGxlbWVudCBsZXMgYWpvdXRlci5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzIKKyM6IGJ1aWx0aW4vYWRkLmM6MzkzCiBtc2dpZCAibm8gZmlsZXMgYWRkZWQiCiBtc2dzdHIgImF1Y3VuIGZpY2hpZXIgYWpvdXTDqSIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzgKKyM6IGJ1aWx0aW4vYWRkLmM6Mzk5CiBtc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGwnYWpvdXQgZGUgZmljaGllcnMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDc3CisjOiBidWlsdGluL2FkZC5jOjQzOAogbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgogbXNnc3RyICItQSBldCAtdSBzb250IG11dHVlbGxlbWVudCBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL2FkZC5jOjQ5NQorIzogYnVpbHRpbi9hZGQuYzo0NTYKIG1zZ2lkICJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIgotbXNnc3RyICJMJ29wdGlvbiAtLWlnbm9yZS1taXNzaW5nIG5lIHBldXQgw6p0cmUgdXRpbGlzw6llIHF1J2VuIGNvbXBsw6ltZW50IGRlIC0tZHJ5LXJ1biIKK21zZ3N0ciAiIgorIkwnb3B0aW9uIC0taWdub3JlLW1pc3NpbmcgbmUgcGV1dCDDqnRyZSB1dGlsaXPDqWUgcXUnZW4gY29tcGzDqW1lbnQgZGUgLS1kcnktcnVuIgogCi0jOiBidWlsdGluL2FkZC5jOjUyNQorIzogYnVpbHRpbi9hZGQuYzo0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIlJpZW4gZGUgc3DDqWNpZmnDqSwgcmllbiBuJ2Egw6l0w6kgYWpvdXTDqS5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzo1MjYKKyM6IGJ1aWx0aW4vYWRkLmM6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgogbXNnc3RyICJWb3VzIHZvdWxpZXogc8O7cmVtZW50IGRpcmUgJ2dpdCBhZGQgLicgP1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjUzMiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjY2IGJ1aWx0aW4vY2xlYW4uYzoyMDQKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MjkzIGJ1aWx0aW4vbXYuYzo4MiBidWlsdGluL3JtLmM6MjM1CisjOiBidWlsdGluL2FkZC5jOjQ5MiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NsZWFuLmM6OTE5CisjOiBidWlsdGluL2NvbW1pdC5jOjMyMCBidWlsdGluL212LmM6OTAgYnVpbHRpbi9yZXNldC5jOjIyNCBidWlsdGluL3JtLmM6Mjk5CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICJmaWNoaWVyIGQnaW5kZXggY29ycm9tcHUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NjA0IGJ1aWx0aW4vYXBwbHkuYzo0NTA1IGJ1aWx0aW4vbXYuYzoyMjkgYnVpbHRpbi9ybS5jOjM3MAorIzogYnVpbHRpbi9hZGQuYzo1OTIgYnVpbHRpbi9hcHBseS5jOjQ1MDYgYnVpbHRpbi9tdi5jOjI3MCBidWlsdGluL3JtLmM6NDMyCiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBub3V2ZWF1IGZpY2hpZXIgZCdpbmRleCIKIApAQCAtMTg1MCw3ICsyMjIxLDcgQEAKICM6IGJ1aWx0aW4vYXBwbHkuYzoxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgotbXNnc3RyICJvcHRpb24gZCdpZ25vcmFuY2UgZCdlc3BjZSBub24gcmVjb25udWUgJyVzJyIKK21zZ3N0ciAib3B0aW9uIGQnaWdub3JhbmNlIGQnZXNwYWNlIG5vbiByZWNvbm51ZSAnJXMnIgogCiAjOiBidWlsdGluL2FwcGx5LmM6ODIzCiAjLCBjLWZvcm1hdApAQCAtMTg3MCwyNyArMjI0MSwzNCBAQAogIzogYnVpbHRpbi9hcHBseS5jOjk0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCi1tc2dzdHIgImdpdCBhcHBseSA6IG1hdXZhaXMgZm9ybWF0IGRlIGdpdC1kaWZmIC0gL2Rldi9udWxsIGF0dGVuZHUsICVzIHRyb3V2w6kgw6AgbGEgbGlnbmUgJWQiCittc2dzdHIgIiIKKyJnaXQgYXBwbHkgOiBtYXV2YWlzIGZvcm1hdCBkZSBnaXQtZGlmZiAtIC9kZXYvbnVsbCBhdHRlbmR1LCAlcyB0cm91dsOpIMOgIGxhICIKKyJsaWduZSAlZCIKIAogIzogYnVpbHRpbi9hcHBseS5jOjk0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKLW1zZ3N0ciAiZ2l0IGFwcGx5IDogbWF1dmFpcyBmb3JtYXQgZGUgZ2l0LWRpZmYgLSBub3V2ZWF1IG5vbSBkZSBmaWNoaWVyIGluY29uc2lzdGFudCDDoCBsYSBsaWduZSAlZCIKK21zZ3N0ciAiIgorImdpdCBhcHBseSA6IG1hdXZhaXMgZm9ybWF0IGRlIGdpdC1kaWZmIC0gbm91dmVhdSBub20gZGUgZmljaGllciBpbmNvbnNpc3RhbnQgIgorIsOgIGxhIGxpZ25lICVkIgogCiAjOiBidWlsdGluL2FwcGx5LmM6OTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgotbXNnc3RyICJnaXQgYXBwbHkgOiBtYXV2YWlzIGZvcm1hdCBkZSBnaXQtZGlmZiAtIGFuY2llbiBub20gZGUgZmljaGllciBpbmNvbnNpc3RhbnQgw6AgbGEgbGlnbmUgJWQiCittc2dzdHIgIiIKKyJnaXQgYXBwbHkgOiBtYXV2YWlzIGZvcm1hdCBkZSBnaXQtZGlmZiAtIGFuY2llbiBub20gZGUgZmljaGllciBpbmNvbnNpc3RhbnQgIgorIsOgIGxhIGxpZ25lICVkIgogCiAjOiBidWlsdGluL2FwcGx5LmM6OTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCi1tc2dzdHIgImdpdCBhcHBseSA6IG1hdXZhaXMgZm9ybWF0IGRlIGdpdC1kaWZmIC0gL2Rldi9udWxsIGF0dGVuZHUgw6AgbGEgbGlnbmUgJWQiCittc2dzdHIgIiIKKyJnaXQgYXBwbHkgOiBtYXV2YWlzIGZvcm1hdCBkZSBnaXQtZGlmZiAtIC9kZXYvbnVsbCBhdHRlbmR1IMOgIGxhIGxpZ25lICVkIgogCiAjOiBidWlsdGluL2FwcGx5LmM6MTQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWNvdW50OiB1bmV4cGVjdGVkIGxpbmU6ICUuKnMiCi1tc2dzdHIgInJlY291bnQgOiBsaWduZSBpbmF0dGVuZHVlIDogJS4qcyIKK21zZ3N0ciAicmVjb21wdGFnZSA6IGxpZ25lIGluYXR0ZW5kdWUgOiAlLipzIgogCiAjOiBidWlsdGluL2FwcGx5LmM6MTQ3OQogIywgYy1mb3JtYXQKQEAgLTE5MDUsOCArMjI4MywxMiBAQAogbXNnaWRfcGx1cmFsICIiCiAiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCiAiY29tcG9uZW50cyAobGluZSAlZCkiCi1tc2dzdHJbMF0gImluZm9ybWF0aW9uIGRlIG5vbSBkZSBmaWNoaWVyIG1hbnF1YW50ZSBkYW5zIGwnZW4tdMOqdGUgZGUgZ2l0IGRpZmYgbG9ycyBkZSBsYSBzdXBwcmVzc2lvbiBkZSAlZCBjb21wb3NhbnQgZGUgcHLDqWZpeGUgZGUgY2hlbWluIChsaWduZSAlZCkiCi1tc2dzdHJbMV0gImluZm9ybWF0aW9uIGRlIG5vbSBkZSBmaWNoaWVyIG1hbnF1YW50ZSBkYW5zIGwnZW4tdMOqdGUgZGUgZ2l0IGRpZmYgbG9ycyBkZSBsYSBzdXBwcmVzc2lvbiBkZSAlZCBjb21wb3NhbnRzIGRlIHByw6lmaXhlIGRlIGNoZW1pbiAobGlnbmUgJWQpIgorbXNnc3RyWzBdICIiCisiaW5mb3JtYXRpb24gZGUgbm9tIGRlIGZpY2hpZXIgbWFucXVhbnRlIGRhbnMgbCdlbi10w6p0ZSBkZSBnaXQgZGlmZiBsb3JzIGRlICIKKyJsYSBzdXBwcmVzc2lvbiBkZSAlZCBjb21wb3NhbnQgZGUgcHLDqWZpeGUgZGUgY2hlbWluIChsaWduZSAlZCkiCittc2dzdHJbMV0gIiIKKyJpbmZvcm1hdGlvbiBkZSBub20gZGUgZmljaGllciBtYW5xdWFudGUgZGFucyBsJ2VuLXTDqnRlIGRlIGdpdCBkaWZmIGxvcnMgZGUgIgorImxhIHN1cHByZXNzaW9uIGRlICVkIGNvbXBvc2FudHMgZGUgcHLDqWZpeGUgZGUgY2hlbWluIChsaWduZSAlZCkiCiAKICM6IGJ1aWx0aW4vYXBwbHkuYzoxNjU2CiBtc2dpZCAibmV3IGZpbGUgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCkBAIC0xOTg0LDcgKzIzNjYsOCBAQAogbXNnaWQgIiIKICJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgogIiUuKnMiCi1tc2dzdHIgInBlbmRhbnQgbGEgcmVjaGVyY2hlIGRlIDpcbiIKK21zZ3N0ciAiIgorInBlbmRhbnQgbGEgcmVjaGVyY2hlIGRlIDpcbiIKICIlLipzIgogCiAjOiBidWlsdGluL2FwcGx5LmM6Mjg0MwpAQCAtMjAwMCw3ICsyMzgzLDkgQEAKICM6IGJ1aWx0aW4vYXBwbHkuYzoyOTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgotbXNnc3RyICJsZSBwYXRjaCBiaW5haXJlIHN1ciAnJXMnIGNyw6llIHVuIHLDqXN1bHRhdCBpbmNvcnJlY3QgKCVzIGF0dGVuZHUsIG1haXMgJXMgdHJvdXbDqSkiCittc2dzdHIgIiIKKyJsZSBwYXRjaCBiaW5haXJlIHN1ciAnJXMnIGNyw6llIHVuIHLDqXN1bHRhdCBpbmNvcnJlY3QgKCVzIGF0dGVuZHUsIG1haXMgJXMgIgorInRyb3V2w6kpIgogCiAjOiBidWlsdGluL2FwcGx5LmM6Mjk3MwogIywgYy1mb3JtYXQKQEAgLTIwMTIsMjkzICsyMzk3LDMwMiBAQAogbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKIG1zZ3N0ciAiZXh0cmFjdGlvbiBkZSAlcyBpbXBvc3NpYmxlIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MzE0MCBidWlsdGluL2FwcGx5LmM6MzE0OSBidWlsdGluL2FwcGx5LmM6MzE5MworIzogYnVpbHRpbi9hcHBseS5jOjMxNDAgYnVpbHRpbi9hcHBseS5jOjMxNDkgYnVpbHRpbi9hcHBseS5jOjMxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCBvZiAlcyBmYWlsZWQiCi1tc2dzdHIgImVjaGVjIGRlIGxhIGxlY3R1cmUgZGUgJXMiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBsZWN0dXJlIGRlICVzIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MzE3MyBidWlsdGluL2FwcGx5LmM6MzM5NQorIzogYnVpbHRpbi9hcHBseS5jOjMxNzQgYnVpbHRpbi9hcHBseS5jOjMzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAlcyBoYXMgYmVlbiByZW5hbWVkL2RlbGV0ZWQiCiBtc2dzdHIgImxlIGNoZW1pbiAlcyBhIMOpdMOpIHJlbm9tbcOpL3N1cHByaW3DqSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjMyNTQgYnVpbHRpbi9hcHBseS5jOjM0MDkKKyM6IGJ1aWx0aW4vYXBwbHkuYzozMjU1IGJ1aWx0aW4vYXBwbHkuYzozNDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKIG1zZ3N0ciAiJXMgOiBuJ2V4aXN0ZSBwYXMgZGFucyBsJ2luZGV4IgogCi0jOiBidWlsdGluL2FwcGx5LmM6MzI1OCBidWlsdGluL2FwcGx5LmM6MzQwMSBidWlsdGluL2FwcGx5LmM6MzQyMworIzogYnVpbHRpbi9hcHBseS5jOjMyNTkgYnVpbHRpbi9hcHBseS5jOjM0MDIgYnVpbHRpbi9hcHBseS5jOjM0MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIgogbXNnc3RyICIlcyA6ICVzIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MzI2MyBidWlsdGluL2FwcGx5LmM6MzQxNworIzogYnVpbHRpbi9hcHBseS5jOjMyNjQgYnVpbHRpbi9hcHBseS5jOjM0MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IgogbXNnc3RyICIlcyA6IG5lIGNvcnJlc3BvbmQgcGFzIMOgIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzozMzY1CisjOiBidWlsdGluL2FwcGx5LmM6MzM2NgogbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCiBtc2dzdHIgImxlIHBhdGNoIGRlIHN1cHByZXNzaW9uIGxhaXNzZSB1biBjb250ZW51IGRhbnMgbGUgZmljaGllciIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM0MzQKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgogbXNnc3RyICIlcyA6IHR5cGUgZXJyb27DqSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM0MzYKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyB0eXBlICVvLCBleHBlY3RlZCAlbyIKIG1zZ3N0ciAiJXMgZXN0IGRlIHR5cGUgJW8sIG1haXMgJW8gYXR0ZW5kdSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM1MzcKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKIG1zZ3N0ciAiJXMgOiBleGlzdGUgZMOpasOgIGRhbnMgbCdpbmRleCIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM1NDAKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgOiBleGlzdGUgZMOpasOgIGRhbnMgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM1NjAKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSIKIG1zZ3N0ciAibGUgbm91dmVhdSBtb2RlICglbykgZGUgJXMgbmUgY29ycmVzcG9uZCBwYXMgw6AgbCdhbmNpZW4gbW9kZSAoJW8pIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MzU2NQorIzogYnVpbHRpbi9hcHBseS5jOjM1NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIG9mICVzIgotbXNnc3RyICJsZSBub3V2ZWF1IG1vZGUgKCVvKSBkZSAlcyBuZSBjb3JyZXNwb25kIHBhcyDDoCBsJ2FuY2llbiBtb2RlICglbykgZGUgJXMiCittc2dzdHIgIiIKKyJsZSBub3V2ZWF1IG1vZGUgKCVvKSBkZSAlcyBuZSBjb3JyZXNwb25kIHBhcyDDoCBsJ2FuY2llbiBtb2RlICglbykgZGUgJXMiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzozNTczCisjOiBidWlsdGluL2FwcGx5LmM6MzU3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgIiVzIDogbGUgcGF0Y2ggbmUgcydhcHBsaXF1ZSBwYXMiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzozNTg2CisjOiBidWlsdGluL2FwcGx5LmM6MzU4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKIG1zZ3N0ciAiVsOpcmlmaWNhdGlvbiBkdSBwYXRjaCAlcy4uLiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM2NzkgYnVpbHRpbi9jaGVja291dC5jOjIxNiBidWlsdGluL3Jlc2V0LmM6MTI0CisjOiBidWlsdGluL2FwcGx5LmM6MzY4MCBidWlsdGluL2NoZWNrb3V0LmM6MjEzIGJ1aWx0aW4vcmVzZXQuYzoxMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKLW1zZ3N0ciAiZWNoZWMgZGUgbWFrZV9jYWNoZV9lbnRyeSBwb3VyIGxlIGNoZW1pbiAnJXMnIgorbXNnc3RyICLDqWNoZWMgZGUgbWFrZV9jYWNoZV9lbnRyeSBwb3VyIGxlIGNoZW1pbiAnJXMnIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MzgyMgorIzogYnVpbHRpbi9hcHBseS5jOjM4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgogbXNnc3RyICJzdXBwcmVzc2lvbiBkZSAlcyBkYW5zIGwnaW5kZXggaW1wb3NzaWJsZSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM4NTAKKyM6IGJ1aWx0aW4vYXBwbHkuYzozODUxCiAjLCBjLWZvcm1hdAotbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1YnByb2plY3QgJXMiCi1tc2dzdHIgInBhdGNoIGNvcnJvbXB1IHBvdXIgbGUgc291cy1wcm9qZXQgJXMiCittc2dpZCAiY29ycnVwdCBwYXRjaCBmb3Igc3VibW9kdWxlICVzIgorbXNnc3RyICJwYXRjaCBjb3Jyb21wdSBwb3VyIGxlIHNvdXMtbW9kdWxlICVzIgogCi0jOiBidWlsdGluL2FwcGx5LmM6Mzg1NAorIzogYnVpbHRpbi9hcHBseS5jOjM4NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCiBtc2dzdHIgInN0YXQgZHUgZmljaGllciBub3V2ZWxsZW1lbnQgY3LDqcOpICclcycgaW1wb3NzaWJsZSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM4NTkKKyM6IGJ1aWx0aW4vYXBwbHkuYzozODYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgotbXNnc3RyICJjcsOpYXRpb24gZHUgbWFnYXNpbiBkZSBzdG9ja2FnZSBwb3VyIGxlIGZpY2hpZXIgbm91dmVsbGVtZW50IGNyw6nDqSAlcyBpbXBvc3NpYmxlIgorbXNnc3RyICIiCisiY3LDqWF0aW9uIGR1IG1hZ2FzaW4gZGUgc3RvY2thZ2UgcG91ciBsZSBmaWNoaWVyIG5vdXZlbGxlbWVudCBjcsOpw6kgJXMgIgorImltcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzozODYyIGJ1aWx0aW4vYXBwbHkuYzozOTcwCisjOiBidWlsdGluL2FwcGx5LmM6Mzg2MyBidWlsdGluL2FwcGx5LmM6Mzk3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKLW1zZ3N0ciAiYWpvdXQgZGUgbCdlbnRyw6llIGRlIGNhY2hlICVzIGltcG9zc2libGUiCittc2dzdHIgImFqb3V0IGRlIGwnw6lsw6ltZW50IGRlIGNhY2hlICVzIGltcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzozODk1CisjOiBidWlsdGluL2FwcGx5LmM6Mzg5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKIG1zZ3N0ciAiZmVybWV0dXJlIGR1IGZpY2hpZXIgJyVzJyIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM5NDQKKyM6IGJ1aWx0aW4vYXBwbHkuYzozOTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKIG1zZ3N0ciAiw6ljcml0dXJlIGR1IGZpY2hpZXIgJyVzJyBtb2RlICVvIGltcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDMxCisjOiBidWlsdGluL2FwcGx5LmM6NDAzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgogbXNnc3RyICJQYXRjaCAlcyBhcHBsaXF1w6kgcHJvcHJlbWVudC4iCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDM5CisjOiBidWlsdGluL2FwcGx5LmM6NDA0MAogbXNnaWQgImludGVybmFsIGVycm9yIgogbXNnc3RyICJlcnJldXIgaW50ZXJuZSIKIAogIy4gU2F5IHRoaXMgZXZlbiB3aXRob3V0IC0tdmVyYm9zZQotIzogYnVpbHRpbi9hcHBseS5jOjQwNDIKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdC4uLiIKIG1zZ2lkX3BsdXJhbCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0cy4uLiIKIG1zZ3N0clswXSAiQXBwbGljYXRpb24gZHUgcGF0Y2ggJSVzIGF2ZWMgJWQgcmVqZXQuLi4iCiBtc2dzdHJbMV0gIkFwcGxpY2F0aW9uIGR1IHBhdGNoICUlcyBhdmVjICVkIHJlamV0cy4uLiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQwNTIKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKIG1zZ3N0ciAidHJvbmNhdHVyZSBkdSBub20gZGUgZmljaGllciAucmVqIGVuICUuKnMucmVqIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDA3MworIzogYnVpbHRpbi9hcHBseS5jOjQwNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKIG1zZ3N0ciAiU2VjdGlvbiBuwrAlZCBhcHBsaXF1w6llIHByb3ByZW1lbnQuIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDA3NgorIzogYnVpbHRpbi9hcHBseS5jOjQwNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVqZWN0ZWQgaHVuayAjJWQuIgogbXNnc3RyICJTZWN0aW9uIG7CsCVkIHJlamV0w6llLiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQyMjYKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MjI3CiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgogbXNnc3RyICJlbnRyw6llIG5vbiByZWNvbm51ZSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQyMzcKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MjM4CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKIG1zZ3N0ciAibGVjdHVyZSBkdSBmaWNoaWVyIGQnaW5kZXggaW1wb3NzaWJsZSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzNTYgYnVpbHRpbi9hcHBseS5jOjQzNTkgYnVpbHRpbi9jbG9uZS5jOjkyCi0jOiBidWlsdGluL2ZldGNoLmM6NjMKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzU3IGJ1aWx0aW4vYXBwbHkuYzo0MzYwIGJ1aWx0aW4vY2xvbmUuYzo5MAorIzogYnVpbHRpbi9mZXRjaC5jOjc4CiBtc2dpZCAicGF0aCIKIG1zZ3N0ciAiY2hlbWluIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM1NworIzogYnVpbHRpbi9hcHBseS5jOjQzNTgKIG1zZ2lkICJkb24ndCBhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgogbXNnc3RyICJuZSBwYXMgYXBwbGlxdWVyIGxlcyBtb2RpZmljYXRpb25zIHF1aSBjb3JyZXNwb25kZW50IGF1IGNoZW1pbiBkb25uw6kiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MzYwCisjOiBidWlsdGluL2FwcGx5LmM6NDM2MQogbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgImFwcGxpcXVlciBsZXMgbW9kaWZpY2F0aW9ucyBxdWkgY29ycmVzcG9uZGVudCBhdSBjaGVtaW4gZG9ubsOpIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM2MgorIzogYnVpbHRpbi9hcHBseS5jOjQzNjMKIG1zZ2lkICJudW0iCiBtc2dzdHIgIm51bSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzNjMKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzY0CiBtc2dpZCAicmVtb3ZlIDxudW0+IGxlYWRpbmcgc2xhc2hlcyBmcm9tIHRyYWRpdGlvbmFsIGRpZmYgcGF0aHMiCiBtc2dzdHIgInN1cHByaW1lciA8bnVtPiBiYXJyZXMgb2JsaXF1ZXMgZGVzIGNoZW1pbnMgdHJhZGl0aW9ubmVscyBkZSBkaWZmIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM2NgorIzogYnVpbHRpbi9hcHBseS5jOjQzNjcKIG1zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgogbXNnc3RyICJpZ25vcmVyIGxlcyBhZGRpdGlvbnMgcsOpYWxpc8OpZXMgcGFyIGxlIHBhdGNoIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM2OAorIzogYnVpbHRpbi9hcHBseS5jOjQzNjkKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgImF1IGxpZXUgZCdhcHBsaXF1ZXIgbGUgcGF0Y2gsIGFmZmljaGVyIGxlIGRpZmZzdGF0IGRlIGwnZW50csOpZSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzNzIKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzczCiBtc2dpZCAic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIKLW1zZ3N0ciAiYWZmaWNoZXIgbGUgbm9tYnJlIGRlIGxpZ25lcyBham91dMOpZXMgZXQgc3VwcHJpbcOpZXMgZW4gbm90YXRpb24gZMOpY2ltYWxlIgorbXNnc3RyICIiCisiYWZmaWNoZXIgbGUgbm9tYnJlIGRlIGxpZ25lcyBham91dMOpZXMgZXQgc3VwcHJpbcOpZXMgZW4gbm90YXRpb24gZMOpY2ltYWxlIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM3NAorIzogYnVpbHRpbi9hcHBseS5jOjQzNzUKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgogbXNnc3RyICJhdSBsaWV1IGQnYXBwbGlxdWVyIGxlIHBhdGNoLCBhZmZpY2hlciB1biByw6lzdW1lciBkZSBsJ2VudHLDqWUiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzc2CisjOiBidWlsdGluL2FwcGx5LmM6NDM3NwogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCiBtc2dzdHIgImF1IGxpZXUgZCdhcHBsaXF1ZXIgbGUgcGF0Y2gsIHZvaXIgc2kgbGUgcGF0Y2ggZXN0IGFwcGxpY2FibGUiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzc4CisjOiBidWlsdGluL2FwcGx5LmM6NDM3OQogbXNnaWQgIm1ha2Ugc3VyZSB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSB0byB0aGUgY3VycmVudCBpbmRleCIKIG1zZ3N0ciAicydhc3N1cmVyIHF1ZSBsZSBwYXRjaCBlc3QgYXBwbGljYWJsZSBzdXIgbCdpbmRleCBhY3R1ZWwiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MzgwCisjOiBidWlsdGluL2FwcGx5LmM6NDM4MQogbXNnaWQgImFwcGx5IGEgcGF0Y2ggd2l0aG91dCB0b3VjaGluZyB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICJhcHBsaXF1ZXIgbGVzIHBhdGNoIHNhbnMgdG91Y2hlciDDoCBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM4MgorIzogYnVpbHRpbi9hcHBseS5jOjQzODMKIG1zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKIG1zZ3N0ciAiYXBwbGlxdWVyIGF1c3NpIGxlIHBhdGNoICjDoCB1dGlsaXNlciBhdmVjIC0tLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM4NAorIzogYnVpbHRpbi9hcHBseS5jOjQzODUKIG1zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgogbXNnc3RyICJ0ZW50ZXIgdW5lIGZ1c2lvbiDDoCAzIHBvaW50cyBzaSBsZSBwYXRjaCBuZSBzJ2FwcGxpcXVlIHBhcyBwcm9wcmVtZW50IgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM4NgorIzogYnVpbHRpbi9hcHBseS5jOjQzODcKIG1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKLW1zZ3N0ciAiY29uc3RydWlyZSB1biBpbmRleCB0ZW1wb3JhaXJlIGZvbmTDqSBzdXIgbCdpbmZvcm1hdGlvbiBkZSBsJ2luZGV4IGVtYmFycXXDqSIKK21zZ3N0ciAiIgorImNvbnN0cnVpcmUgdW4gaW5kZXggdGVtcG9yYWlyZSBmb25kw6kgc3VyIGwnaW5mb3JtYXRpb24gZGUgbCdpbmRleCBlbWJhcnF1w6kiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzg4IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxOTcgYnVpbHRpbi9scy1maWxlcy5jOjQ1NgorIzogYnVpbHRpbi9hcHBseS5jOjQzODkgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE5NyBidWlsdGluL2xzLWZpbGVzLmM6NDUyCiBtc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgImxlcyBjaGVtaW5zIHNvbnQgc8OpcGFyw6lzIHBhciB1biBjYXJhY3TDqHJlIE5VTCIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzOTEKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzkyCiBtc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgogbXNnc3RyICJzJ2Fzc3VyZXIgZCdhdSBtb2lucyA8bj4gbGlnbmVzIGRlIGNvcnJlc3BvbmRhbmNlIGRlIGNvbnRleHRlIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM5MgorIzogYnVpbHRpbi9hcHBseS5jOjQzOTMKIG1zZ2lkICJhY3Rpb24iCiBtc2dzdHIgImFjdGlvbiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzOTMKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzk0CiBtc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCi1tc2dzdHIgImTDqXRlY3RlciBkZXMgbGlnbmVzIG5vdXZlbGxlcyBvdSBtb2RpZmnDqWVzIHF1aSBjb250aWVubmVudCBkZXMgZXJyZXVycyBkJ2VzcGFjZSIKK21zZ3N0ciAiIgorImTDqXRlY3RlciBkZXMgbGlnbmVzIG5vdXZlbGxlcyBvdSBtb2RpZmnDqWVzIHF1aSBjb250aWVubmVudCBkZXMgZXJyZXVycyAiCisiZCdlc3BhY2UiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzk2IGJ1aWx0aW4vYXBwbHkuYzo0Mzk5CisjOiBidWlsdGluL2FwcGx5LmM6NDM5NyBidWlsdGluL2FwcGx5LmM6NDQwMAogbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2Ugd2hlbiBmaW5kaW5nIGNvbnRleHQiCiBtc2dzdHIgImlnbm9yZXIgZGVzIG1vZGlmaWNhdGlvbnMgZCdlc3BhY2UgbG9ycyBkZSBsYSByZWNoZXJjaGUgZGUgY29udGV4dGUiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NDAyCisjOiBidWlsdGluL2FwcGx5LmM6NDQwMwogbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgogbXNnc3RyICJhcHBsaXF1ZXIgbGUgcGF0Y2ggZW4gc2VucyBpbnZlcnNlIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDQwNAorIzogYnVpbHRpbi9hcHBseS5jOjQ0MDUKIG1zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKIG1zZ3N0ciAibmUgcGFzIHMnYXR0ZW5kcmUgw6AgYXUgbW9pbnMgdW5lIGxpZ25lIGRlIGNvbnRleHRlIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDQwNgorIzogYnVpbHRpbi9hcHBseS5jOjQ0MDcKIG1zZ2lkICJsZWF2ZSB0aGUgcmVqZWN0ZWQgaHVua3MgaW4gY29ycmVzcG9uZGluZyAqLnJlaiBmaWxlcyIKIG1zZ3N0ciAibGFpc3NlciBsZXMgc2VjdGlvbnMgcmVqZXTDqWVzIGRhbnMgbGVzIGZpY2hpZXJzICoucmVqIGNvcnJlc3BvbmRhbnRzIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDQwOAorIzogYnVpbHRpbi9hcHBseS5jOjQ0MDkKIG1zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKIG1zZ3N0ciAiYWNjZXB0ZXIgbGVzIHJlY291dnJlbWVudHMgZGUgc2VjdGlvbnMiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NDExCisjOiBidWlsdGluL2FwcGx5LmM6NDQxMgogbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgotbXNnc3RyICJ0b2zDqXJlciBkZXMgZXJyZXVycyBkZSBkw6l0ZWN0aW9uIGRlIHJldG91cnMgY2hhcmlvdCBtYW5xdWFudHMgZW4gZmluIGRlIGZpY2hpZXIiCittc2dzdHIgIiIKKyJ0b2zDqXJlciBkZXMgZXJyZXVycyBkZSBkw6l0ZWN0aW9uIGRlIHJldG91cnMgY2hhcmlvdCBtYW5xdWFudHMgZW4gZmluIGRlICIKKyJmaWNoaWVyIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDQxNAorIzogYnVpbHRpbi9hcHBseS5jOjQ0MTUKIG1zZ2lkICJkbyBub3QgdHJ1c3QgdGhlIGxpbmUgY291bnRzIGluIHRoZSBodW5rIGhlYWRlcnMiCiBtc2dzdHIgIm5lIHBhcyBzZSBmaWVyIGF1IGNvbXB0ZSBkZSBsaWduZXMgZGFucyBsZXMgZW4tdMOqdGVzIGRlIHNlY3Rpb24iCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NDE2CisjOiBidWlsdGluL2FwcGx5LmM6NDQxNwogbXNnaWQgInJvb3QiCiBtc2dzdHIgInJhY2luZSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQ0MTcKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0NDE4CiBtc2dpZCAicHJlcGVuZCA8cm9vdD4gdG8gYWxsIGZpbGVuYW1lcyIKIG1zZ3N0ciAicHLDqWZpeGVyIHRvdXMgbGVzIG5vbXMgZGUgZmljaGllciBhdmVjIDxyb290PiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQ0MzkKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0NDQwCiBtc2dpZCAiLS0zd2F5IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLTN3YXkgaG9ycyBkJ3VuIGTDqXDDtHQiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NDQ3CisjOiBidWlsdGluL2FwcGx5LmM6NDQ0OAogbXNnaWQgIi0taW5kZXggb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0taW5kZXggaG9ycyBkJ3VuIGTDqXDDtHQiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NDUwCisjOiBidWlsdGluL2FwcGx5LmM6NDQ1MQogbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLWNhY2hlZCBob3JzIGQndW4gZMOpcMO0dCIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQ0NjYKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0NDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJyIKIG1zZ3N0ciAib3V2ZXJ0dXJlIGltcG9zc2libGUgZHUgcGF0Y2ggJyVzJyIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQ0ODAKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgogbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCiBtc2dzdHJbMF0gIiVkIGVycmV1ciBkJ2VzcGFjZSBpZ25vcsOpZSIKIG1zZ3N0clsxXSAiJWQgZXJyZXVycyBkJ2VzcGFjZSBpZ25vcsOpZXMiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NDg2IGJ1aWx0aW4vYXBwbHkuYzo0NDk2CisjOiBidWlsdGluL2FwcGx5LmM6NDQ4NyBidWlsdGluL2FwcGx5LmM6NDQ5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgpAQCAtMjM1MiwxMDUgKzI3NDYsMTExIEBACiBtc2dpZCAidXBkYXRlIEJJU0VDVF9IRUFEIGluc3RlYWQgb2YgY2hlY2tpbmcgb3V0IHRoZSBjdXJyZW50IGNvbW1pdCIKIG1zZ3N0ciAibWV0dHJlIMOgIGpvdXIgQklTRUNUX0hFQUQgYXUgbGlldSBkJ2V4dHJhaXJlIGxlIGNvbW1pdCBhY3R1ZWwiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNQorIzogYnVpbHRpbi9ibGFtZS5jOjI3CiBtc2dpZCAiZ2l0IGJsYW1lIFtvcHRpb25zXSBbcmV2LW9wdHNdIFtyZXZdIFstLV0gZmlsZSIKIG1zZ3N0ciAiZ2l0IGJsYW1lIFtvcHRpb25zXSBbb3B0aW9ucy1kZS1yw6l2aXNpb25dIFtyZXZdIFstLV0gZmljaGllciIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjMwCisjOiBidWlsdGluL2JsYW1lLmM6MzIKIG1zZ2lkICJbcmV2LW9wdHNdIGFyZSBkb2N1bWVudGVkIGluIGdpdC1yZXYtbGlzdCgxKSIKIG1zZ3N0ciAiW29wdGlvbnMtZGUtcsOpdmlzaW9uXSBzb250IGRvY3VtZW50w6lzIGRhbnMgZ2l0LXJldi1saXN0KDEpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM1NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNDkKIG1zZ2lkICJTaG93IGJsYW1lIGVudHJpZXMgYXMgd2UgZmluZCB0aGVtLCBpbmNyZW1lbnRhbGx5IgotbXNnc3RyICJNb250cmVyIGxlcyBlbnRyw6llIGRlIGJsw6JtZSBhdSBmdXIgZXQgw6AgbWVzdXJlIGRlIGxldXIgZMOpY291dmVydGUsIGRlIG1hbmnDqHJlIGluY3LDqW1lbnRhbGUiCittc2dzdHIgIiIKKyJNb250cmVyIGxlcyDDqWzDqW1lbnRzIGRlIGJsw6JtZSBhdSBmdXIgZXQgw6AgbWVzdXJlIGRlIGxldXIgZMOpY291dmVydGUsIGRlICIKKyJtYW5pw6hyZSBpbmNyw6ltZW50YWxlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM1NgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTAKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJNb250cmVyIHVuIFNIQS0xIGJsYW5jIHBvdXIgbGVzIGNvbW1pdHMgZGUgbGltaXRlIChEw6lmYXV0IDogZMOpc2FjdGl2w6kpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM1NworIzogYnVpbHRpbi9ibGFtZS5jOjIyNTEKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCi1tc2dzdHIgIk5lIHBhcyB0cmFpdGVyIGxlcyBjb21taXRzIHJhY2luZSBjb21tZSBkZXMgbGltaXRlcyAoRMOpZmF1dCA6IGTDqXNhY3RpdsOpKSIKK21zZ3N0ciAiIgorIk5lIHBhcyB0cmFpdGVyIGxlcyBjb21taXRzIHJhY2luZSBjb21tZSBkZXMgbGltaXRlcyAoRMOpZmF1dCA6IGTDqXNhY3RpdsOpKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNTgKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjUyCiBtc2dpZCAiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIKIG1zZ3N0ciAiTW9udHJlciBsZXMgc3RhdGlzdGlxdWVzIGRlIGNvw7t0IGQnYWN0aXZpdMOpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM1OQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTMKIG1zZ2lkICJTaG93IG91dHB1dCBzY29yZSBmb3IgYmxhbWUgZW50cmllcyIKLW1zZ3N0ciAiTW9udHJlciBsZSBzY29yZSBkZSBzb3J0aWUgcG91ciBsZXMgZW50csOpZXMgZGUgYmzDom1lIgorbXNnc3RyICJNb250cmVyIGxlIHNjb3JlIGRlIHNvcnRpZSBwb3VyIGxlcyDDqWzDqW1lbnRzIGRlIGJsw6JtZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNjAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU0CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIk1vbnRyZXIgbGVzIG5vbXMgZGUgZmljaGllciBvcmlnaW5hdXggKETDqWZhdXQgOiBhdXRvKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNjEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU1CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBsaW5lbnVtYmVyIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJNb250cmVyIGxlcyBudW3DqXJvcyBkZSBsaWduZXMgb3JpZ2luYXV4IChEw6lmYXV0IDogZMOpc2FjdGl2w6kpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM2MgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTYKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICJBZmZpY2hlciBkYW5zIHVuIGZvcm1hdCBwcm9waWNlIMOgIGxhIGNvbnNvbW1hdGlvbiBwYXIgbWFjaGluZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNjMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU3CiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICJBZmZpY2hlciBlbiBmb3JtYXQgcG9yY2VsYWluZSBhdmVjIGwnaW5mb3JtYXRpb24gZGUgY29tbWl0IHBhciBsaWduZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNjQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU4CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiVXRpbGlzZXIgbGUgbcOqbWUgbW9kZSBkZSBzb3J0aWUgcXVlIGdpdC1hbm5vdGF0ZSAoRMOpZmF1dCA6IGTDqXNhY3RpdsOpKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNjUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU5CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgotbXNnc3RyICJBZmZpY2hlciBsZXMgaG9yb2RhdGFnZXMgYnJ1dHMgKETDqWZhdXQ6IGTDqXNhY3RpdsOpKSIKK21zZ3N0ciAiQWZmaWNoZXIgbGVzIGhvcm9kYXRhZ2VzIGJydXRzIChEw6lmYXV0IDogZMOpc2FjdGl2w6kpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM2NgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjAKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkFmZmljaGVyIGxlcyBsb25ncyBTSEExIGRlIGNvbW1pdHMgKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMzY3CisjOiBidWlsdGluL2JsYW1lLmM6MjI2MQogbXNnaWQgIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlN1cHByaW1lciBsZSBub20gZGUgbCdhdXRldXIgZXQgbCdob3JvZGF0YWdlIChEw6lmYXV0IDogZMOpc2FjdGl2w6kpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM2OAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjIKIG1zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkFmZmljaGVyIGwnZS1tYWlsIGRlIGwnYXV0ZXVyIGF1IGxpZXUgZHUgbm9tIChEw6lmYXV0IDogZMOpc2FjdGl2w6kpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM2OQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjMKIG1zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKIG1zZ3N0ciAiSWdub3JlciBsZXMgZGlmZsOpcmVuY2VzIGQnZXNwYWNlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM3MAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjQKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCi1tc2dzdHIgIkTDqXBlbnNlciBkZXMgY3ljbGVzIHN1cHBsw6ltZW50YWlyZXMgcG91ciB0cm91dmVyIHVuZSBtZWlsbGV1cmUgY29ycmVzcG9uZGFuY2UiCittc2dzdHIgIiIKKyJEw6lwZW5zZXIgZGVzIGN5Y2xlcyBzdXBwbMOpbWVudGFpcmVzIHBvdXIgdHJvdXZlciB1bmUgbWVpbGxldXJlIGNvcnJlc3BvbmRhbmNlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM3MQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjUKIG1zZ2lkICJVc2UgcmV2aXNpb25zIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgY2FsbGluZyBnaXQtcmV2LWxpc3QiCi1tc2dzdHIgIlV0aWxpc2VyIGxlcyByw6l2aXNpb25zIGR1IGZpY2hpZXIgPGZpY2hpZXI+IGF1IGxpZXUgZCdhcHBlbGVyIGdpdC1yZXYtbGlzdCIKK21zZ3N0ciAiIgorIlV0aWxpc2VyIGxlcyByw6l2aXNpb25zIGR1IGZpY2hpZXIgPGZpY2hpZXI+IGF1IGxpZXUgZCdhcHBlbGVyIGdpdC1yZXYtbGlzdCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNzIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY2CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAiVXRpbGlzZXIgbGUgY29udGVudSBkZSA8ZmljaGllcj4gY29tbWUgaW1hZ2UgZmluYWxlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM3MyBidWlsdGluL2JsYW1lLmM6MjM3NAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjcgYnVpbHRpbi9ibGFtZS5jOjIyNjgKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAic2NvcmUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMzczCisjOiBidWlsdGluL2JsYW1lLmM6MjI2NwogbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIlRyb3V2ZXIgbGVzIGNvcGllcyBkZSBsaWduZSBkYW5zIGV0IGVudHJlIGxlcyBmaWNoaWVycyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNzQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY4CiBtc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiVHJvdXZlciBsZXMgbW91dmVtZW50cyBkZSBsaWduZSBkYW5zIGV0IGVudHJlIGxlcyBmaWNoaWVycyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNzUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY5CiBtc2dpZCAibixtIgogbXNnc3RyICJuLG0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMzc1CisjOiBidWlsdGluL2JsYW1lLmM6MjI2OQogbXNnaWQgIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIgotbXNnc3RyICJUcmFpdGVyIHNldWxlbWVudCBsJ2ludGVydmFsbGUgZGUgbGlnbmUgbixtIGVuIGNvbW1lbsOnYW50IGxlIGNvbXB0ZSDDoCAxIgorbXNnc3RyICIiCisiVHJhaXRlciBzZXVsZW1lbnQgbCdpbnRlcnZhbGxlIGRlIGxpZ25lIG4sbSBlbiBjb21tZW7Dp2FudCBsZSBjb21wdGUgw6AgMSIKIAogIzogYnVpbHRpbi9icmFuY2guYzoyNAogbXNnaWQgImdpdCBicmFuY2ggW29wdGlvbnNdIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCkBAIC0yNDU4LDcgKzI4NTgsNyBAQAogCiAjOiBidWlsdGluL2JyYW5jaC5jOjI1CiBtc2dpZCAiZ2l0IGJyYW5jaCBbb3B0aW9uc10gWy1sXSBbLWZdIDxicmFuY2huYW1lPiBbPHN0YXJ0LXBvaW50Pl0iCi1tc2dzdHIgImdpdCBicmFuY2ggW29wdGlvbnNdIFstbF0gWy1mXSA8bm9tZGVicmFuY2g+IFs8cG9pbnQtZGUtZMOpcGFydD5dIgorbXNnc3RyICJnaXQgYnJhbmNoIFtvcHRpb25zXSBbLWxdIFstZl0gPG5vbWRlYnJhbmNoZT4gWzxwb2ludC1kZS1kw6lwYXJ0Pl0iCiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6MjYKIG1zZ2lkICJnaXQgYnJhbmNoIFtvcHRpb25zXSBbLXJdICgtZCB8IC1EKSA8YnJhbmNobmFtZT4uLi4iCkBAIC0yNTAyLDcgKzI5MDIsNyBAQAogCiAjOiBidWlsdGluL2JyYW5jaC5jOjE4NQogbXNnaWQgIlVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCi1tc2dzdHIgIsOJY2hlYyBkZSBsYSBtaXNlIMOgIGpvdXIgZHUgZmljaGllciBkZSBjb25maWciCittc2dzdHIgIsOJY2hlYyBkZSBsYSBtaXNlIMOgIGpvdXIgZHUgZmljaGllciBkZSBjb25maWd1cmF0aW9uIgogCiAjOiBidWlsdGluL2JyYW5jaC5jOjIxMwogbXNnaWQgImNhbm5vdCB1c2UgLWEgd2l0aCAtZCIKQEAgLTI1NTIsMjk3ICsyOTUyLDMxOCBAQAogbXNnaWQgImJyYW5jaCAnJXMnIGRvZXMgbm90IHBvaW50IGF0IGEgY29tbWl0IgogbXNnc3RyICJsYSBicmFuY2hlICclcycgbmUgcG9pbnRlIHBhcyBzdXIgdW4gY29tbWl0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ1MworIyBmw6ltaW5pbiBwb3VyIHVuZSBicmFuY2hlCisjOiBidWlsdGluL2JyYW5jaC5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICJbJXM6IGdvbmVdIgorbXNnc3RyICJbJXM6IGRpc3BhcnVlXSIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWyVzXSIKK21zZ3N0ciAiWyVzXSIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBiZWhpbmQgJWRdIgogbXNnc3RyICJbJXM6IGVuIHJldGFyZCBkZSAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU1CisjOiBidWlsdGluL2JyYW5jaC5jOjQ2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJbYmVoaW5kICVkXSIKIG1zZ3N0ciAiW2VuIHJldGFyZCBkZSAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU5CisjOiBidWlsdGluL2JyYW5jaC5jOjQ3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGFoZWFkICVkXSIKIG1zZ3N0ciAiWyVzIDogZW4gYXZhbmNlIGRlICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlthaGVhZCAlZF0iCiBtc2dzdHIgIltlbiBhdmFuY2UgZGUgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ2NAorIzogYnVpbHRpbi9icmFuY2guYzo0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBhaGVhZCAlZCwgYmVoaW5kICVkXSIKIG1zZ3N0ciAiWyVzIDogZW4gYXZhbmNlIGRlICVkLCBlbiByZXRhcmQgZGUgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ2NworIzogYnVpbHRpbi9icmFuY2guYzo0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2FoZWFkICVkLCBiZWhpbmQgJWRdIgogbXNnc3RyICJbZW4gYXZhbmNlIGRlICVkLCBlbiByZXRhcmQgZGUgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ5MAorIzogYnVpbHRpbi9icmFuY2guYzo1MDIKIG1zZ2lkICIgKioqKiBpbnZhbGlkIHJlZiAqKioqIgogbXNnc3RyICIgKioqKiByw6lmw6lyZW5jZSBpbnZhbGlkZSAqKioqIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4MgorIzogYnVpbHRpbi9icmFuY2guYzo1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgogbXNnc3RyICIoYXVjdW5lIGJyYW5jaGUsIHJlYmFzYWdlIGRlICVzKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKIG1zZ3N0ciAiKGF1Y3VuZSBicmFuY2hlLCBiaXNlY3QgYSBkw6ltYXJyw6kgc3VyICVzKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIihkZXRhY2hlZCBmcm9tICVzKSIKIG1zZ3N0ciAiKGTDqXRhY2jDqSBkZSAlcykiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkxCisjOiBidWlsdGluL2JyYW5jaC5jOjYwMwogbXNnaWQgIihubyBicmFuY2gpIgogbXNnc3RyICIoYXVjdW5lIGJyYW5jaGUpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzNworIzogYnVpbHRpbi9icmFuY2guYzo2NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgImwnb2JqZXQgJyVzJyBuZSBwb2ludGUgcGFzIHN1ciB1biBjb21taXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY5CisjOiBidWlsdGluL2JyYW5jaC5jOjY4MQogbXNnaWQgInNvbWUgcmVmcyBjb3VsZCBub3QgYmUgcmVhZCIKIG1zZ3N0ciAiZGVzIHLDqWbDqXJlbmNlcyBuJ29udCBwYXMgcHUgw6p0cmUgbHVlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk0CiBtc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmVub21tZXIgbGEgYnJhbmNoZSBhY3R1ZWxsZSwgaWwgbid5IGVuIGEgcGFzLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2OTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCiBtc2dzdHIgIk5vbSBkZSBicmFuY2hlIGludmFsaWRlIDogJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MDcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzE5CiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCi1tc2dzdHIgIkVjaGVjIGRlIHJlbm9tbWFnZSBkZSBsYSBicmFuY2hlIgorbXNnc3RyICLDiWNoZWMgZGUgcmVub21tYWdlIGRlIGxhIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzExCisjOiBidWlsdGluL2JyYW5jaC5jOjcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWVkIGEgbWlzbmFtZWQgYnJhbmNoICclcycgYXdheSIKIG1zZ3N0ciAiUmVub21tYWdlIGQndW4gYnJhbmNoZSBtYWwgbm9tbcOpZSAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcxNQorIzogYnVpbHRpbi9icmFuY2guYzo3MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoIHJlbmFtZWQgdG8gJXMsIGJ1dCBIRUFEIGlzIG5vdCB1cGRhdGVkISIKIG1zZ3N0ciAiTGEgYnJhbmNoZSBhIMOpdMOpIHJlbm9tbcOpZSBlbiAlcywgbWFpcyBIRUFEIG4nZXN0IHBhcyBtaXNlIMOgIGpvdXIgISIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzM0CiBtc2dpZCAiQnJhbmNoIGlzIHJlbmFtZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgotbXNnc3RyICJMYSBicmFuY2hlIGVzdCByZW5vbW3DqWUsIG1haXMgbGEgbWlzZSDDoCBqb3VyIGR1IGZpY2hpZXIgZGUgY29uZmlnIGEgw6ljaG91w6kiCittc2dzdHIgIiIKKyJMYSBicmFuY2hlIGVzdCByZW5vbW3DqWUsIG1haXMgbGEgbWlzZSDDoCBqb3VyIGR1IGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiBhICIKKyLDqWNob3XDqSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAibm9tIGQnb2JqZXQgbWFsZm9ybcOpICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2MQorIzogYnVpbHRpbi9icmFuY2guYzo3NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGJyYW5jaCBkZXNjcmlwdGlvbiB0ZW1wbGF0ZTogJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIG1vZMOobGUgZGUgZGVzY3JpcHRpb24gZGUgYnJhbmNoZSA6ICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5MQorIzogYnVpbHRpbi9icmFuY2guYzo4MDMKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCiBtc2dzdHIgIk9wdGlvbnMgZ8OpbsOpcmlxdWVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5MworIzogYnVpbHRpbi9icmFuY2guYzo4MDUKIG1zZ2lkICJzaG93IGhhc2ggYW5kIHN1YmplY3QsIGdpdmUgdHdpY2UgZm9yIHVwc3RyZWFtIGJyYW5jaCIKIG1zZ3N0ciAiYWZmaWNoZXIgbGUgaGFjaGFnZSBldCBsZSBzdWpldCwgZG91YmzDqSBwb3VyIGxhIGJyYW5jaGUgYW1vbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk0CisjOiBidWlsdGluL2JyYW5jaC5jOjgwNgogbXNnaWQgInN1cHByZXNzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMiCiBtc2dzdHIgInN1cHByaW1lciBsZXMgbWVzc2FnZXMgZCdpbmZvcm1hdGlvbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA3CiBtc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtcHVsbCgxKSkiCiBtc2dzdHIgInLDqWdsZXIgbGUgbW9kZSBkZSBzdWl2aSAodm9pciBnaXQtcHVsbCgxKSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk3CisjOiBidWlsdGluL2JyYW5jaC5jOjgwOQogbXNnaWQgImNoYW5nZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICJtb2RpZmllciBsJ2luZm9ybWF0aW9uIGFtb250IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwMQorIzogYnVpbHRpbi9icmFuY2guYzo4MTMKIG1zZ2lkICJ1c2UgY29sb3JlZCBvdXRwdXQiCiBtc2dzdHIgInV0aWxpc2VyIGxhIGNvbG9yYXRpb24gZGFucyBsYSBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAyCisjOiBidWlsdGluL2JyYW5jaC5jOjgxNAogbXNnaWQgImFjdCBvbiByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgImFnaXIgc3VyIGxlcyBicmFuY2hlcyBkZSBzdWl2aSBkaXN0YW50ZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA1IGJ1aWx0aW4vYnJhbmNoLmM6ODExIGJ1aWx0aW4vYnJhbmNoLmM6ODMyCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzOCBidWlsdGluL2NvbW1pdC5jOjEzNjggYnVpbHRpbi9jb21taXQuYzoxMzY5Ci0jOiBidWlsdGluL2NvbW1pdC5jOjEzNzAgYnVpbHRpbi9jb21taXQuYzoxMzcxIGJ1aWx0aW4vdGFnLmM6NDY4CisjOiBidWlsdGluL2JyYW5jaC5jOjgxNyBidWlsdGluL2JyYW5jaC5jOjgyMyBidWlsdGluL2JyYW5jaC5jOjg0NAorIzogYnVpbHRpbi9icmFuY2guYzo4NTAgYnVpbHRpbi9jb21taXQuYzoxNDYwIGJ1aWx0aW4vY29tbWl0LmM6MTQ2MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDYyIGJ1aWx0aW4vY29tbWl0LmM6MTQ2MyBidWlsdGluL3RhZy5jOjQ2OAogbXNnaWQgImNvbW1pdCIKLW1zZ3N0ciAidmFsaWRlciIKK21zZ3N0ciAiY29tbWl0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwNiBidWlsdGluL2JyYW5jaC5jOjgxMgorIzogYnVpbHRpbi9icmFuY2guYzo4MTggYnVpbHRpbi9icmFuY2guYzo4MjQKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIGJyYW5jaGVzIHF1aSBjb250aWVubmVudCBsZSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE4CisjOiBidWlsdGluL2JyYW5jaC5jOjgzMAogbXNnaWQgIlNwZWNpZmljIGdpdC1icmFuY2ggYWN0aW9uczoiCiBtc2dzdHIgIkFjdGlvbnMgc3DDqWNpZmlxdWVzIMOgIGdpdC1icmFuY2ggOiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMxCiBtc2dpZCAibGlzdCBib3RoIHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgImFmZmljaGVyIMOgIGxhIGZvaXMgbGVzIGJyYW5jaGVzIGRlIHN1aXZpIGV0IGxlcyBicmFuY2hlcyBsb2NhbGVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyMQorIzogYnVpbHRpbi9icmFuY2guYzo4MzMKIG1zZ2lkICJkZWxldGUgZnVsbHkgbWVyZ2VkIGJyYW5jaCIKIG1zZ3N0ciAic3VwcHJpbWVyIHVuZSBicmFuY2hlIHRvdGFsZW1lbnQgZnVzaW9ubsOpZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM0CiBtc2dpZCAiZGVsZXRlIGJyYW5jaCAoZXZlbiBpZiBub3QgbWVyZ2VkKSIKIG1zZ3N0ciAic3VwcHJpbWVyIHVuZSBicmFuY2hlIChtw6ptZSBub24gZnVzaW9ubsOpZSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIzCisjOiBidWlsdGluL2JyYW5jaC5jOjgzNQogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIgogbXNnc3RyICJkw6lwbGFjZXIvcmVub21tZXIgdW5lIGJyYW5jaGUgZXQgc29uIHJlZmxvZyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM2CiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAiZMOpcGxhY2VyL3Jlbm9tbWVyIHVuZSBicmFuY2hlLCBtw6ptZSBzaSBsYSBjaWJsZSBleGlzdGUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI1CisjOiBidWlsdGluL2JyYW5jaC5jOjgzNwogbXNnaWQgImxpc3QgYnJhbmNoIG5hbWVzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgbm9tcyBkZXMgYnJhbmNoZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI2CisjOiBidWlsdGluL2JyYW5jaC5jOjgzOAogbXNnaWQgImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIgogbXNnc3RyICJjcsOpZXIgbGUgcmVmbG9nIGRlIGxhIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI4CisjOiBidWlsdGluL2JyYW5jaC5jOjg0MAogbXNnaWQgImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIgogbXNnc3RyICLDqWRpdGVyIGxhIGRlc2NyaXB0aW9uIGRlIGxhIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI5CisjOiBidWlsdGluL2JyYW5jaC5jOjg0MQogbXNnaWQgImZvcmNlIGNyZWF0aW9uICh3aGVuIGFscmVhZHkgZXhpc3RzKSIKIG1zZ3N0ciAiZm9yY2VyIGxhIGNyw6lhdGlvbiAobcOqbWUgc2kgbGEgY2libGUgZXhpc3RlKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MzIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ0CiBtc2dpZCAicHJpbnQgb25seSBub3QgbWVyZ2VkIGJyYW5jaGVzIgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIGJyYW5jaGVzIG5vbiBmdXNpb25uw6llcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODUwCiBtc2dpZCAicHJpbnQgb25seSBtZXJnZWQgYnJhbmNoZXMiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgYnJhbmNoZXMgZnVzaW9ubsOpZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQyCisjOiBidWlsdGluL2JyYW5jaC5jOjg1NAogbXNnaWQgImxpc3QgYnJhbmNoZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGJyYW5jaGVzIGVuIGNvbG9ubmVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg1NQorIzogYnVpbHRpbi9icmFuY2guYzo4NjcKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiw4ljaGVjIGRlIHLDqXNvbHV0aW9uIGRlIEhFQUQgY29tbWUgcsOpZsOpcmVuY2UgdmFsaWRlLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NjAgYnVpbHRpbi9jbG9uZS5jOjYxOQorIzogYnVpbHRpbi9icmFuY2guYzo4NzIgYnVpbHRpbi9jbG9uZS5jOjYzNQogbXNnaWQgIkhFQUQgbm90IGZvdW5kIGJlbG93IHJlZnMvaGVhZHMhIgogbXNnc3RyICJIRUFEIG5vbiB0cm91dsOpZSBzb3VzIHJlZnMvaGVhZHMgISIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4ODMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODk2CiBtc2dpZCAiLS1jb2x1bW4gYW5kIC0tdmVyYm9zZSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWNvbHVtbiBldCAtLXZlcmJvc2Ugc29udCBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg4OSBidWlsdGluL2JyYW5jaC5jOjkyOAorIzogYnVpbHRpbi9icmFuY2guYzo5MDIgYnVpbHRpbi9icmFuY2guYzo5NDEKIG1zZ2lkICJicmFuY2ggbmFtZSByZXF1aXJlZCIKIG1zZ3N0ciAibGUgbm9tIGRlIGJyYW5jaGUgZXN0IHJlcXVpcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MDQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTE3CiBtc2dpZCAiQ2Fubm90IGdpdmUgZGVzY3JpcHRpb24gdG8gZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBkw6ljcmlyZSB1bmUgSEVBRCBkw6l0YWNow6llIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkwOQorIzogYnVpbHRpbi9icmFuY2guYzo5MjIKIG1zZ2lkICJjYW5ub3QgZWRpdCBkZXNjcmlwdGlvbiBvZiBtb3JlIHRoYW4gb25lIGJyYW5jaCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpZGl0ZXIgbGEgZGVzY3JpcHRpb24gZGUgcGx1cyBkJ3VuZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkxNgorIzogYnVpbHRpbi9icmFuY2guYzo5MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gY29tbWl0IG9uIGJyYW5jaCAnJXMnIHlldC4iCiBtc2dzdHIgIkF1Y3VuIGNvbW1pdCBzdXIgbGEgYnJhbmNoZSAnJXMnLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGJyYW5jaCBuYW1lZCAnJXMnLiIKIG1zZ3N0ciAiQXVjdW5lIGJyYW5jaGUgbm9tbcOpZSAnJXMnLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MzQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTQ3CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIKIG1zZ3N0ciAidHJvcCBkZSBicmFuY2hlcyBwb3VyIHVuZSBvcMOpcmF0aW9uIGRlIHJlbm9tbWFnZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTUyCiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gc2V0IG5ldyB1cHN0cmVhbSIKIG1zZ3N0ciAidHJvcCBkZSBicmFuY2hlcyBwb3VyIHNww6ljaWZpZXIgdW5lIGJyYW5jaGUgYW1vbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTQzCisjOiBidWlsdGluL2JyYW5jaC5jOjk1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IHNldCB1cHN0cmVhbSBvZiBIRUFEIHRvICVzIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCi1tc2dzdHIgImltcG9zc2libGUgZGUgc3DDqWNpZmllciB1bmUgYnJhbmNoZSBhbW9udCBkZSBIRUFEIHBhciAlcyBxdWkgbmUgcG9pbnRlIHN1ciBhdWN1bmUgYnJhbmNoZS4iCittc2dzdHIgIiIKKyJpbXBvc3NpYmxlIGRlIHNww6ljaWZpZXIgdW5lIGJyYW5jaGUgYW1vbnQgZGUgSEVBRCBwYXIgJXMgcXVpIG5lIHBvaW50ZSBzdXIgIgorImF1Y3VuZSBicmFuY2hlLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NDYgYnVpbHRpbi9icmFuY2guYzo5NjggYnVpbHRpbi9icmFuY2guYzo5OTAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTU5IGJ1aWx0aW4vYnJhbmNoLmM6OTgxIGJ1aWx0aW4vYnJhbmNoLmM6MTAwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaCAnJXMnIgogbXNnc3RyICJwYXMgZGUgYnJhbmNoZSAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk1MAorIzogYnVpbHRpbi9icmFuY2guYzo5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImxhIGJyYW5jaGUgJyVzJyBuJ2V4aXN0ZSBwYXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTYyCisjOiBidWlsdGluL2JyYW5jaC5jOjk3NQogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHVuc2V0IHVwc3RyZWFtIgogbXNnc3RyICJ0cm9wIGRlIGJyYW5jaGVzIHBvdXIgZMOpc2FjdGl2ZXIgdW4gYW1vbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTY2CisjOiBidWlsdGluL2JyYW5jaC5jOjk3OQogbXNnaWQgImNvdWxkIG5vdCB1bnNldCB1cHN0cmVhbSBvZiBIRUFEIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCi1tc2dzdHIgImltcG9zc2libGUgZGUgZMOpc2FjdGl2ZXIgdW5lIGJyYW5jaGUgYW1vbnQgZGUgSEVBRCBxdWFuZCBlbGxlIG5lIHBvaW50ZSBzdXIgYXVjdW5lIGJyYW5jaGUuIgorbXNnc3RyICIiCisiaW1wb3NzaWJsZSBkZSBkw6lzYWN0aXZlciB1bmUgYnJhbmNoZSBhbW9udCBkZSBIRUFEIHF1YW5kIGVsbGUgbmUgcG9pbnRlIHN1ciAiCisiYXVjdW5lIGJyYW5jaGUuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk3MgorIzogYnVpbHRpbi9icmFuY2guYzo5ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgaGFzIG5vIHVwc3RyZWFtIGluZm9ybWF0aW9uIgogbXNnc3RyICJMYSBicmFuY2hlICclcycgbidhIGF1Y3VuZSBpbmZvcm1hdGlvbiBkZSBicmFuY2hlIGFtb250IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk4NworIzogYnVpbHRpbi9icmFuY2guYzo5OTkKIG1zZ2lkICJpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNyZWF0ZSAnSEVBRCcgbWFudWFsbHkiCi1tc2dzdHIgImNyw6llciBtYW51ZWxsZW1lbnQgJ0hFQUQnIG4nYSBhdWN1biBzZW5zIgorbXNnc3RyICJjcsOpZXIgbWFudWVsbGVtZW50ICdIRUFEJyBuJ2EgcGFzIGRlIHNlbnMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTkzCisjOiBidWlsdGluL2JyYW5jaC5jOjEwMDUKIG1zZ2lkICItYSBhbmQgLXIgb3B0aW9ucyB0byAnZ2l0IGJyYW5jaCcgZG8gbm90IG1ha2Ugc2Vuc2Ugd2l0aCBhIGJyYW5jaCBuYW1lIgotbXNnc3RyICJsZXMgb3B0aW9ucyAtYSBldCAtciBkZSAnZ2l0IGJyYW5jaCcgbidvbnQgcGFzIGRlIHNlbnMgYXZlYyB1biBub20gZGUgYnJhbmNoZSIKK21zZ3N0ciAiIgorImxlcyBvcHRpb25zIC1hIGV0IC1yIGRlICdnaXQgYnJhbmNoJyBuJ29udCBwYXMgZGUgc2VucyBhdmVjIHVuIG5vbSBkZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk5NgorIzogYnVpbHRpbi9icmFuY2guYzoxMDA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgLS1zZXQtdXBzdHJlYW0gZmxhZyBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIENvbnNpZGVyIHVzaW5nIC0tIgogInRyYWNrIG9yIC0tc2V0LXVwc3RyZWFtLXRvXG4iCi1tc2dzdHIgImwnb3B0aW9uIC0tc2V0LXVwc3RyZWFtIGVzdCBvYnNvbMOodGUgZXQgdmEgZGlzcGFyYcOudHJlLiBVdGlsaXNleiBwbHV0w7R0IC0tdHJhY2sgb3UgLS1zZXQtdXBzdHJlYW0tdG9cbiIKK21zZ3N0ciAiIgorImwnb3B0aW9uIC0tc2V0LXVwc3RyZWFtIGVzdCBvYnNvbMOodGUgZXQgdmEgZGlzcGFyYcOudHJlLiBVdGlsaXNleiBwbHV0w7R0IC0tIgorInRyYWNrIG91IC0tc2V0LXVwc3RyZWFtLXRvXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAxMworIzogYnVpbHRpbi9icmFuY2guYzoxMDI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKICJJZiB5b3Ugd2FudGVkIHRvIG1ha2UgJyVzJyB0cmFjayAnJXMnLCBkbyB0aGlzOlxuIgogIlxuIgotbXNnc3RyICJcbiIKK21zZ3N0ciAiIgorIlxuIgogIlNpIHZvdXMgdm91bGlleiBxdWUgJyVzJyBzdWl2ZSAnJXMnLCBmYcOudGVzIGNlY2kgOlxuIgogIlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjEwMTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgZ2l0IGJyYW5jaCAtZCAlc1xuIgogbXNnc3RyICIgICAgZ2l0IGJyYW5jaCAtZCAlc1xuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjEwMTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byAlc1xuIgogbXNnc3RyICIgICAgZ2l0IGJyYW5jaCAtc2V0LXVwc3RyZWFtLXRvICVzXG4iCkBAIC0yODYwLDQzICszMjgxLDQ0IEBACiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gdW5idW5kbGUuIgogbXNnc3RyICJMZSBkw6lwYXF1ZXRhZ2UgZCd1biBjb2xpcyByZXF1aWVydCB1biBkw6lww7R0LiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjE3NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyOAogbXNnaWQgImdpdCBjYXQtZmlsZSAoLXR8LXN8LWV8LXB8PHR5cGU+fC0tdGV4dGNvbnYpIDxvYmplY3Q+IgogbXNnc3RyICJnaXQgY2F0LWZpbGUgKC10fC1zfC1lfC1wfDx0eXBlPnwtLXRleHRjb252KSA8b2JqZXQ+IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MTc3CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzI5CiBtc2dpZCAiZ2l0IGNhdC1maWxlICgtLWJhdGNofC0tYmF0Y2gtY2hlY2spIDwgPGxpc3Rfb2Zfb2JqZWN0cz4iCiBtc2dzdHIgImdpdCBjYXQtZmlsZSAoLS1iYXRjaHwtLWJhdGNoLWNoZWNrKSA8IDxsaXN0ZV9kX29iamV0cz4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzoxOTUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNjYKIG1zZ2lkICI8dHlwZT4gY2FuIGJlIG9uZSBvZjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiBtc2dzdHIgIjx0eXBlPiBwZXV0IMOqdHJlIDogYmxvYiwgdHJlZSwgY29tbWl0IG91IHRhZyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjE5NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM2NwogbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCiBtc2dzdHIgImFmZmljaGVyIGxlIHR5cGUgZGUgbCdvYmpldCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjE5NworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM2OAogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgImFmZmljaGVyIGxhIHRhaWxsZSBkZSBsJ29iamV0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MTk5CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzcwCiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICJzb3J0aXIgYXZlYyB1biBjb2RlIGQnZXJyZXVyIG51bCBxdWFuZCBpbCBuJ3kgYSBhdWN1bmUgZXJyZXVyIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MjAwCisjOiBidWlsdGluL2NhdC1maWxlLmM6MzcxCiBtc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgImFmZmljaGVyIGF2ZWMgbWlzZSBlbiBmb3JtZSBsZSBjb250ZW51IGRlIGwnb2JqZXQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzoyMDIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNzMKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gdGV4dGNvbnYgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAicG91ciBsZXMgb2JqZXRzIGJsb2IsIGxhbmNlciB0ZXh0Y29udiBzdXIgbGUgY29udGVudSBkZSBsJ29iamV0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MjA0CisjOiBidWlsdGluL2NhdC1maWxlLmM6Mzc1CiBtc2dpZCAic2hvdyBpbmZvIGFuZCBjb250ZW50IG9mIG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgotbXNnc3RyICJhZmZpY2hlciBsJ2luZm9ybWF0aW9uIGV0IGxlIGNvbnRlbnUgZGVzIG9iamV0cyBwYXNzw6lzIGVuIGVudHLDqWUgc3RhbmRhcmQiCittc2dzdHIgIiIKKyJhZmZpY2hlciBsJ2luZm9ybWF0aW9uIGV0IGxlIGNvbnRlbnUgZGVzIG9iamV0cyBwYXNzw6lzIGVuIGVudHLDqWUgc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzoyMDcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNzgKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImFmZmljaGVyIGwnaW5mb3JtYXRpb24gZGVzIG9iamV0cyBwYXNzw6lzIGVuIGVudHLDqWUgc3RhbmRhcmQiCiAKQEAgLTI5MDYsNyArMzMyOCw4IEBACiAKICM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCiBtc2dpZCAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgYXR0ci4uLl0gPCA8bGlzdC1vZi1wYXRocz4iCi1tc2dzdHIgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IGF0dHIuLi5dIDwgPGxpc3RlLWRlLWNoZW1pbnM+IgorbXNnc3RyICIiCisiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgYXR0ci4uLl0gPCA8bGlzdGUtZGUtY2hlbWlucz4iCiAKICM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjE5CiBtc2dpZCAicmVwb3J0IGFsbCBhdHRyaWJ1dGVzIHNldCBvbiBmaWxlIgpAQCAtMjkxOCwzNiArMzM0MSw2NiBAQAogCiAjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIyIGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3NQogbXNnaWQgInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIgotbXNnc3RyICJsaXJlIGxlcyBub21zIGRlIGZpY2hpZXIgZGVwdWlzIHN0ZGluIgorbXNnc3RyICJsaXJlIGxlcyBub21zIGRlIGZpY2hpZXIgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCIKIAogIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNAotbXNnaWQgImlucHV0IHBhdGhzIGFyZSB0ZXJtaW5hdGVkIGJ5IGEgbnVsbCBjaGFyYWN0ZXIiCi1tc2dzdHIgImxlcyBjaGVtaW5zIGVuIGVudHLDqWUgc29udCB0ZXJtaW7DqXMgcGFyIGxlIGNhcmFjdMOocmUgbnVsIgorbXNnaWQgInRlcm1pbmF0ZSBpbnB1dCBhbmQgb3V0cHV0IHJlY29yZHMgYnkgYSBOVUwgY2hhcmFjdGVyIgorbXNnc3RyICIiCisidGVybWluZXIgbGVzIGVucmVnaXN0cmVtZW50cyBlbiBlbnRyw6llIGV0IGVuIHNvcnRpZSBwYXIgdW4gY2FyYWN0w6hyZSBOVUwiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjEwNDQgYnVpbHRpbi9nYy5jOjE3NworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTA5MCBidWlsdGluL2djLmM6MjYwCiBtc2dpZCAic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJzdXBwcmltZXIgbCfDqXRhdCBkJ2F2YW5jZW1lbnQiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTQ2CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI2Cittc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCittc2dzdHIgImFmZmljaGVyIGxlcyBjaGVtaW5zIGVuIGVudHLDqWUgcXVpIG5lIGNvcnJlc3BvbmRlbnQgcGFzIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI4Cittc2dpZCAiaWdub3JlIGluZGV4IHdoZW4gY2hlY2tpbmciCittc2dzdHIgImlnbm9yZXIgbCdpbmRleCBwZW5kYW50IGxhIHbDqXJpZmljYXRpb24iCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU0CiBtc2dpZCAiY2Fubm90IHNwZWNpZnkgcGF0aG5hbWVzIHdpdGggLS1zdGRpbiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzcMOpY2lmaWVyIGxlcyBjaGVtaW5zIGF2ZWMgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNDkKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU3CiBtc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIi16IG4nYSBkZSBzZW5zIHF1J2F2ZWMgbCdvcHRpb24gLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTEKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU5CiBtc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCiBtc2dzdHIgImF1Y3VuIGNoZW1pbiBzcMOpY2lmacOpIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjMKIG1zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKIG1zZ3N0ciAiLS1xdWlldCBuJ2VzdCB2YWxpZGUgcXUnYXZlYyB1biBzZXVsIGNoZW1pbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTcKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY1CiBtc2dpZCAiY2Fubm90IGhhdmUgYm90aCAtLXF1aWV0IGFuZCAtLXZlcmJvc2UiCiBtc2dzdHIgImltcG9zc2libGUgZCdhdm9pciAtLXF1aWV0IGV0IC0tdmVyYm9zZSIKIAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjgKK21zZ2lkICItLW5vbi1tYXRjaGluZyBpcyBvbmx5IHZhbGlkIHdpdGggLS12ZXJib3NlIgorbXNnc3RyICItLW5vbi1tYXRjaGluZyBuJ2VzdCB2YWxpZGUgcXUnYXZlYyAtLXZlcmJvc2UiCisKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjgKK21zZ2lkICJnaXQgY2hlY2stbWFpbG1hcCBbb3B0aW9uc10gPGNvbnRhY3Q+Li4uIgorbXNnc3RyICJnaXQgY2hlY2stbWFpbG1hcCBbb3B0aW9uc10gPGNvbnRhY3Q+Li4uIgorCisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoxMworbXNnaWQgImFsc28gcmVhZCBjb250YWN0cyBmcm9tIHN0ZGluIgorbXNnc3RyICJsaXJlIGF1c3NpIGxlcyBjb250YWN0cyBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgorCisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoyNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29udGFjdDogJXMiCittc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsZSBjb250YWN0IDogJXMiCisKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjQ3Cittc2dpZCAibm8gY29udGFjdHMgc3BlY2lmaWVkIgorbXNnc3RyICJhdWN1biBjb250YWN0IHNww6ljaWZpw6kiCisKICM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxMjYKIG1zZ2lkICJnaXQgY2hlY2tvdXQtaW5kZXggW29wdGlvbnNdIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCBjaGVja291dC1pbmRleCBbb3B0aW9uc10gWy0tXSBbPGZpY2hpZXI+Li4uXSIKQEAgLTI5NjIsNyArMzQxNSw5IEBACiAKICM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxOTAKIG1zZ2lkICJubyB3YXJuaW5nIGZvciBleGlzdGluZyBmaWxlcyBhbmQgZmlsZXMgbm90IGluIGluZGV4IgotbXNnc3RyICJwYXMgZCdhdmVydGlzc2VtZW50IHBvdXIgbGVzIGZpY2hpZXJzIGV4aXN0YW50cyBldCBsZXMgZmljaGllcnMgYWJzZW50cyBkZSBsJ2luZGV4IgorbXNnc3RyICIiCisicGFzIGQnYXZlcnRpc3NlbWVudCBwb3VyIGxlcyBmaWNoaWVycyBleGlzdGFudHMgZXQgbGVzIGZpY2hpZXJzIGFic2VudHMgZGUgIgorImwnaW5kZXgiCiAKICM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxOTIKIG1zZ2lkICJkb24ndCBjaGVja291dCBuZXcgZmlsZXMiCkBAIC0zMDAwLDEwNiArMzQ1NSwxMDggQEAKIG1zZ2lkICJnaXQgY2hlY2tvdXQgW29wdGlvbnNdIFs8YnJhbmNoPl0gLS0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgY2hlY2tvdXQgW29wdGlvbnNdIFs8YnJhbmNoZT5dIC0tIDxmaWNoaWVyPi4uLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNyBidWlsdGluL2NoZWNrb3V0LmM6MTUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCiBtc2dzdHIgImxlIGNoZW1pbiAnJXMnIG4nYSBwYXMgbm90cmUgdmVyc2lvbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOSBidWlsdGluL2NoZWNrb3V0LmM6MTUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgdGhlaXIgdmVyc2lvbiIKIG1zZ3N0ciAibGUgY2hlbWluICclcycgbidhIHBhcyBsZXVyIHZlcnNpb24iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgYWxsIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAibGUgY2hlbWluICclcycgbidhIGF1Y3VuZSBkZXMgdmVyc2lvbnMgbsOpY2Vzc2FpcmVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTc5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAibGUgY2hlbWluICclcycgbidhIHBhcyBsZXMgdmVyc2lvbnMgbsOpY2Vzc2FpcmVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJzogY2Fubm90IG1lcmdlIgogbXNnc3RyICJjaGVtaW4gJyVzJyA6IGltcG9zc2libGUgZGUgZnVzaW9ubmVyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjEzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgbWVyZ2UgcmVzdWx0IGZvciAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYWpvdXRlciBsZSByw6lzdWx0YXQgZGUgZnVzaW9uIHBvdXIgJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIzNyBidWlsdGluL2NoZWNrb3V0LmM6MjQwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDMKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzIgYnVpbHRpbi9jaGVja291dC5jOjIzNSBidWlsdGluL2NoZWNrb3V0LmM6MjM4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAiJyVzJyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjIGRlcyBtaXNlcyDDoCBqb3VyIGRlIGNoZW1pbnMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDkgYnVpbHRpbi9jaGVja291dC5jOjI1MgorIzogYnVpbHRpbi9jaGVja291dC5jOjI0NCBidWlsdGluL2NoZWNrb3V0LmM6MjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAiJyVzJyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjU1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLiIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBtZXR0cmUgw6Agam91ciBsZXMgY2hlbWlucyBldCBiYXNjdWxlciBzdXIgbGEgYnJhbmNoZSAnJXMnIGVuIG3Dqm1lIHRlbXBzLiIKK21zZ3N0ciAiIgorIkltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGVzIGNoZW1pbnMgZXQgYmFzY3VsZXIgc3VyIGxhIGJyYW5jaGUgJyVzJyBlbiAiCisibcOqbWUgdGVtcHMuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY2IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjEgYnVpbHRpbi9jaGVja291dC5jOjQ1MQogbXNnaWQgImNvcnJ1cHQgaW5kZXggZmlsZSIKIG1zZ3N0ciAiZmljaGllciBkJ2luZGV4IGNvcnJvbXB1IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MzI5IGJ1aWx0aW4vY2hlY2tvdXQuYzozMzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMjIgYnVpbHRpbi9jaGVja291dC5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgImxlIGNoZW1pbiAnJXMnIG4nZXN0IHBhcyBmdXNpb25uw6kiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0ODAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NzMKIG1zZ2lkICJ5b3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKIG1zZ3N0ciAidm91cyBkZXZleiBkJ2Fib3JkIHLDqXNvdWRyZSB2b3RyZSBpbmRleCBjb3VyYW50IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjAxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnXG4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZmFpcmUgdW4gcmVmbG9nIHBvdXIgJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjM0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjMyCiBtc2dpZCAiSEVBRCBpcyBub3cgYXQiCiBtc2dzdHIgIkhFQUQgZXN0IG1haW50ZW5hbnQgc3VyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjQxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlJlbWlzZSDDoCB6w6lybyBkZSBsYSBicmFuY2hlICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY0NAorIzogYnVpbHRpbi9jaGVja291dC5jOjY0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJBbHJlYWR5IG9uICclcydcbiIKIG1zZ3N0ciAiRMOpasOgIHN1ciAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYW5kIHJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIkJhc2N1bGVtZW50IGV0IHJlbWlzZSDDoCB6w6lybyBkZSBsYSBicmFuY2hlICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY1MCBidWlsdGluL2NoZWNrb3V0LmM6OTg3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIkJhc2N1bGVtZW50IHN1ciBsYSBub3V2ZWxsZSBicmFuY2hlICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY1MgorIzogYnVpbHRpbi9jaGVja291dC5jOjY1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJCYXNjdWxlbWVudCBzdXIgbGEgYnJhbmNoZSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MDgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIC4uLiBldCAlZCBlbiBwbHVzLlxuIgogCiAjLiBUaGUgc2luZ3VsYXIgdmVyc2lvbgotIzogYnVpbHRpbi9jaGVja291dC5jOjcxNAorIzogYnVpbHRpbi9jaGVja291dC5jOjcxMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV2FybmluZzogeW91IGFyZSBsZWF2aW5nICVkIGNvbW1pdCBiZWhpbmQsIG5vdCBjb25uZWN0ZWQgdG9cbiIKQEAgLTMxMjIsNyArMzU3OSw3IEBACiAiXG4iCiAiJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjczMgorIzogYnVpbHRpbi9jaGVja291dC5jOjczMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8ga2VlcCB0aGVtIGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTMxMzEsMTU2ICszNTg4LDE2MiBAQAogIiBnaXQgYnJhbmNoIG5ld19icmFuY2hfbmFtZSAlc1xuIgogIlxuIgogbXNnc3RyICIiCi0iU2kgdm91cyBzb3VoYWl0ZXogbGVzIGdhcmRlciBlbiBjcsOpYW50IHVuZSBub3V2ZWxsZSBicmFuY2hlLCBjJ2VzdCBsZSBib24gbW9tZW50XG4iCisiU2kgdm91cyBzb3VoYWl0ZXogbGVzIGdhcmRlciBlbiBjcsOpYW50IHVuZSBub3V2ZWxsZSBicmFuY2hlLCBjJ2VzdCBsZSBib24gIgorIm1vbWVudFxuIgogImRlIGxlIGZhaXJlIGF2ZWMgOlxuIgogIlxuIgogImdpdCBicmFuY2hlIG5vdXZlbGxlX2JyYW5jaGUgJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjc2MAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgImVycmV1ciBpbnRlcm5lIGxvcnMgZHUgcGFyY291cnMgZGVzIHLDqXZpc2lvbnMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjQKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAiTGEgcG9zaXRpb24gcHLDqWPDqWRlbnRlIGRlIEhFQUQgw6l0YWl0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzkzIGJ1aWx0aW4vY2hlY2tvdXQuYzo5ODIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTEgYnVpbHRpbi9jaGVja291dC5jOjEwMjgKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJWb3VzIMOqdGVzIHN1ciB1bmUgYnJhbmNoZSBxdWkgZG9pdCBlbmNvcmUgbmHDrnRyZSIKIAotIy4gY2FzZSAoMSkKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5MTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCittc2dzdHIgInVuZSBzZXVsZSByw6lmw6lyZW5jZSBhdHRlbmR1ZSwgJWQgZm91cm5pZXMuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAicsOpZsOpcmVuY2UgaW52YWxpZGUgOiAlcyIKIAogIy4gY2FzZSAoMSk6IHdhbnQgYSB0cmVlCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTU3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCiBtc2dzdHIgImxhIHLDqWbDqXJlbmNlIG4nZXN0IHBhcyB1biBhcmJyZSA6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0MgogbXNnaWQgInBhdGhzIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQndXRpbGlzZXIgZGVzIGNoZW1pbnMgYXZlYyB1biBiYXNjdWxlbWVudCBkZSBicmFuY2hlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjk5OSBidWlsdGluL2NoZWNrb3V0LmM6MTAwMworIzogYnVpbHRpbi9jaGVja291dC5jOjEwNDUgYnVpbHRpbi9jaGVja291dC5jOjEwNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiJyVzJyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjIHVuIGJhc2N1bGVtZW50IGRlIGJyYW5jaGVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwNyBidWlsdGluL2NoZWNrb3V0LmM6MTAxMCBidWlsdGluL2NoZWNrb3V0LmM6MTAxNQotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJyVzJyIKIG1zZ3N0ciAiJyVzJyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjICclcyciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDIzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3dpdGNoIGJyYW5jaCB0byBhIG5vbi1jb21taXQgJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBiYXNjdWxlciBkZSBicmFuY2hlIHZlcnMgJyVzJyBxdWkgbidlc3QgcGFzIHVuIGNvbW1pdCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNDUgYnVpbHRpbi9jaGVja291dC5jOjEwNDcgYnVpbHRpbi9jbG9uZS5jOjkwCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2OSBidWlsdGluL3JlbW90ZS5jOjE3MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTEgYnVpbHRpbi9jaGVja291dC5jOjEwOTMgYnVpbHRpbi9jbG9uZS5jOjg4CisjOiBidWlsdGluL3JlbW90ZS5jOjE1OSBidWlsdGluL3JlbW90ZS5jOjE2MQogbXNnaWQgImJyYW5jaCIKIG1zZ3N0ciAiYnJhbmNoZSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkyCiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgImNyw6llciBldCBleHRyYWlyZSB1bmUgbm91dmVsbGUgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNDgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk0CiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAiY3LDqWVyL3LDqWluaXRpYWxpc2VyIGV0IGV4dHJhaXJlIHVuZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0OQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTUKIG1zZ2lkICJjcmVhdGUgcmVmbG9nIGZvciBuZXcgYnJhbmNoIgotbXNnc3RyICJjcsOpZXIgdW4gcmVmb2cgcG91ciB1bmUgbm91dmVsbGUgYnJhbmNoZSIKK21zZ3N0ciAiY3LDqWVyIHVuIHJlZmxvZyBwb3VyIHVuZSBub3V2ZWxsZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTYKIG1zZ2lkICJkZXRhY2ggdGhlIEhFQUQgYXQgbmFtZWQgY29tbWl0IgogbXNnc3RyICJkw6l0YWNoZXIgbGEgSEVBRCDDoCBsYSB2YWxpZGF0aW9uIG5vbW3DqWUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDUxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NwogbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICJwYXJhbcOpdHJlciBsJ2luZm9ybWF0aW9uIGRlIGJyYW5jaGUgYW1vbnQgcG91ciB1bmUgbm91dmVsbGUgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk5CiBtc2dpZCAibmV3IGJyYW5jaCIKIG1zZ3N0ciAibm91dmVsbGUgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk5CiBtc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgogbXNnc3RyICJub3V2ZWxsZSBicmFuY2hlIHNhbnMgcGFyZW50IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1NAorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDAKIG1zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgImV4dHJhaXJlIG5vdHJlIHZlcnNpb24gcG91ciBsZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwMgogbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICJleHRyYWlyZSBsZXVyIHZlcnNpb24gcG91ciBsZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNAogbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgogbXNnc3RyICJmb3JjZXIgbCdleHRyYWN0aW9uIChsYWlzc2VyIHRvbWJlciBsZXMgbW9kaWZpY2F0aW9ucyBsb2NhbGVzKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA1CiBtc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCi1tc2dzdHIgInLDqWFsaXNlciB1bmUgZnVzaW9uIMOgIDMgcG9pbnRzIGF2ZWMgbGEgbm91dmVsbGUgYnJhbmNoZSIKK21zZ3N0ciAiZWZmZWN0dWVyIHVuZSBmdXNpb24gw6AgMyBwb2ludHMgYXZlYyBsYSBub3V2ZWxsZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MCBidWlsdGluL21lcmdlLmM6MjE3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNiBidWlsdGluL21lcmdlLmM6MjI1CiBtc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgogbXNnc3RyICJtZXR0cmUgw6Agam91ciBsZXMgZmljaGllcnMgaWdub3LDqXMgKHBhciBkw6lmYXV0KSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjEgYnVpbHRpbi9sb2cuYzoxMTU4IHBhcnNlLW9wdGlvbnMuaDoyNDUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA3IGJ1aWx0aW4vbG9nLmM6MTIyOCBwYXJzZS1vcHRpb25zLmg6MjQ4CiBtc2dpZCAic3R5bGUiCiBtc2dzdHIgInN0eWxlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDgKIG1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgogbXNnc3RyICJzdHlsZSBkZSBjb25mbGl0IChmdXNpb24gb3UgZGlmZjMpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMTEKIG1zZ2lkICJkbyBub3QgbGltaXQgcGF0aHNwZWNzIHRvIHNwYXJzZSBlbnRyaWVzIG9ubHkiCi1tc2dzdHIgIm5lIHBhcyBsaW1pdGVyIGxlcyBzcMOpY2lmaWNhdGV1cnMgZGUgY2hlbWlucyBhdXggc2V1bGVzIGVudHLDqWVzIGNyZXVzZXMiCittc2dzdHIgIm5lIHBhcyBsaW1pdGVyIGxlcyBzcMOpY2lmaWNhdGV1cnMgZGUgY2hlbWlucyBhdXggc2V1bHMgw6lsw6ltZW50cyBjcmV1eCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTEzCiBtc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgbm8tc3VjaC1icmFuY2gnIgogbXNnc3RyICJkZXV4acOobWUgY2hhbmNlICdnaXQgY2hlY2tvdXQgYnJhbmNoZS1pbmV4aXN0YW50ZSciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNgogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLWIsIC1CIGV0IC0tb3JwaGFuIHNvbnQgbXV0dWVsbGVtZW50IGV4Y2x1c2lmcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMDgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUzCiBtc2dpZCAiLS10cmFjayBuZWVkcyBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICItLXRyYWNrIHJlcXVpZXJ0IHVuIG5vbSBkZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTExNQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKIG1zZ2lkICJNaXNzaW5nIGJyYW5jaCBuYW1lOyB0cnkgLWIiCiBtc2dzdHIgIk5vbSBkZSBicmFuY2hlIG1hbnF1YW50IDsgZXNzYXlleiAtYiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk3CiBtc2dpZCAiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgInNww6ljaWZpY2F0aW9uIGRlIGNoZW1pbiBpbnZhbGlkZSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS5cbiIKICJEaWQgeW91IGludGVuZCB0byBjaGVja291dCAnJXMnIHdoaWNoIGNhbiBub3QgYmUgcmVzb2x2ZWQgYXMgY29tbWl0PyIKIG1zZ3N0ciAiIgotIkltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGVzIGNoZW1pbnMgZXQgZGUgYmFzY3VsZXIgc3VyIGxhIGJyYW5jaGUgJyVzJyBlbiBtw6ptZSB0ZW1wcy5cbiIKKyJJbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIGxlcyBjaGVtaW5zIGV0IGRlIGJhc2N1bGVyIHN1ciBsYSBicmFuY2hlICclcycgIgorImVuIG3Dqm1lIHRlbXBzLlxuIgogIlNvdWhhaXRpZXotdm91cyBleHRyYWlyZSAnJXMnIHF1aSBuZSBwZXV0IMOqdHJlIHLDqXNvbHUgY29tbWUgY29tbWl0ID8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50ICclcyciCiBtc2dzdHIgImdpdCBjaGVja291dDogLS1kZXRhY2ggbidhY2NlcHRlIHBhcyB1biBhcmd1bWVudCBkZSBjaGVtaW4gJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjEzCiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgpAQCAtMzI4OCwzMDUgKzM3NTEsNDQ1IEBACiAiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2UgZXQgLS1tZXJnZSBzb250IGluY29tcGF0aWJsZXMgbG9yc1xuIgogImRlIGwnZXh0cmFjdGlvbiBkZSBsJ2luZGV4LiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjIwCi1tc2dpZCAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLW5dIFstcV0gWy1lIDxwYXR0ZXJuPl0gWy14IHwgLVhdIFstLV0gPHBhdGhzPi4uLiIKLW1zZ3N0ciAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLW5dIFstcV0gWy1lIDxtb3RpZj5dIFsteCB8IC1YXSBbLS1dIDxjaGVtaW5zPi4uLiIKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyNgorbXNnaWQgIiIKKyJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA8cGF0dGVybj5dIFsteCB8IC1YXSBbLS1dIDxwYXRocz4uLi4iCittc2dzdHIgIiIKKyJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA8bW90aWY+XSBbLXggfCAtWF0gWy0tXSA8Y2hlbWlucz4uLi4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyNAorIzogYnVpbHRpbi9jbGVhbi5jOjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzXG4iCiBtc2dzdHIgIlN1cHByZXNzaW9uIGRlICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyNQorIzogYnVpbHRpbi9jbGVhbi5jOjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHJlbW92ZSAlc1xuIgogbXNnc3RyICJTdXBwcmltZXJhaXQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI2CisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICJJZ25vcmUgbGUgZMOpcMO0dCAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjcKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMwogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCBza2lwIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAiSWdub3JlcmFpdCBsZSBkw6lww7R0ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOAorIzogYnVpbHRpbi9jbGVhbi5jOjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJXMiCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBzdXBwcmVzc2lvbiBkZSAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjE2MAorIzogYnVpbHRpbi9jbGVhbi5jOjI5NAorbXNnaWQgIiIKKyJQcm9tcHQgaGVscDpcbiIKKyIxICAgICAgICAgIC0gc2VsZWN0IGEgbnVtYmVyZWQgaXRlbVxuIgorImZvbyAgICAgICAgLSBzZWxlY3QgaXRlbSBiYXNlZCBvbiB1bmlxdWUgcHJlZml4XG4iCisiICAgICAgICAgICAtIChlbXB0eSkgc2VsZWN0IG5vdGhpbmciCittc2dzdHIgIiIKKyJBaWRlIGVuIGxpZ25lIDpcbiIKKyIxICAgICAgICAgICAtIHPDqWxlY3Rpb25uZXIgdW4gw6lsw6ltZW50IG51bcOpcm90w6lcbiIKKyJmb28gICAgICAgICAtIHPDqWxlY3Rpb25uZXIgdW4gw6lsw6ltZW50IHBhciB1biBwcsOpZml4ZSB1bmlxdWVcbiIKKyIgICAgICAgICAgICAtICh2aWRlKSBuZSByaWVuIHPDqWxlY3Rpb25uZXIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyOTgKK21zZ2lkICIiCisiUHJvbXB0IGhlbHA6XG4iCisiMSAgICAgICAgICAtIHNlbGVjdCBhIHNpbmdsZSBpdGVtXG4iCisiMy01ICAgICAgICAtIHNlbGVjdCBhIHJhbmdlIG9mIGl0ZW1zXG4iCisiMi0zLDYtOSAgICAtIHNlbGVjdCBtdWx0aXBsZSByYW5nZXNcbiIKKyJmb28gICAgICAgIC0gc2VsZWN0IGl0ZW0gYmFzZWQgb24gdW5pcXVlIHByZWZpeFxuIgorIi0uLi4gICAgICAgLSB1bnNlbGVjdCBzcGVjaWZpZWQgaXRlbXNcbiIKKyIqICAgICAgICAgIC0gY2hvb3NlIGFsbCBpdGVtc1xuIgorIiAgICAgICAgICAgLSAoZW1wdHkpIGZpbmlzaCBzZWxlY3RpbmciCittc2dzdHIgIiIKKyJBaWRlIGVuIGxpZ25lIDpcbiIKKyIxICAgICAgICAgIC0gc8OpbGVjdGlvbm5lciB1biBzZXVsIMOpbMOpbWVudFxuIgorIjMtNSAgICAgICAgLSBzw6lsZWN0aW9ubmVyIHVuZSBwbGFnZSBkJ8OpbMOpbWVudHNcbiIKKyIyLTMsNi05ICAgIC0gc8OpbGVjdGlvbm5lciBwbHVzaWV1cnMgcGxhZ2VzXG4iCisiZm9vICAgICAgICAtIHPDqWxlY3Rpb25uZXIgdW4gw6lsw6ltZW50IHBhciB1biBwcsOpZml4ZSB1bmlxdWVcbiIKKyItLi4uICAgICAgIC0gZMOpc8OpbGVjdGlvbm5lciBsZXMgw6lsw6ltZW50cyBzcMOpY2lmacOpc1xuIgorIiogICAgICAgICAgLSBjaG9pc2lyIHRvdXMgbGVzIMOpbMOpbWVudHNcbiIKKyIgICAgICAgICAgIC0gKHZpZGUpIHRlcm1pbmVyIGxhIHPDqWxlY3Rpb24iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVoICglcyk/IgorbXNnc3RyICJIZWluICglcykgPyIKKworIzogYnVpbHRpbi9jbGVhbi5jOjY1OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCittc2dzdHIgIkVudHJleiBsZXMgbW90aWZzIMOgIGlnbm9yZXI+PiAiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogQ2Fubm90IGZpbmQgaXRlbXMgbWF0Y2hlZCBieTogJXMiCittc2dzdHIgIkFUVEVOVElPTiA6IEltcG9zc2libGUgZGUgdHJvdXZlciBsZXMgw6lsw6ltZW50cyBjb3JyZXNwb25kYW50IMOgIDogJXMiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3MTcKK21zZ2lkICJTZWxlY3QgaXRlbXMgdG8gZGVsZXRlIgorbXNnc3RyICJTw6lsZWN0aW9ubmVyIGxlcyDDqWzDqW1lbnRzIMOgIHN1cHByaW1lciIKKworIzogYnVpbHRpbi9jbGVhbi5jOjc1NworIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmUgJXM/ICIKK21zZ3N0ciAic3VwcHJpbWVyICVzID8gIgorCisjOiBidWlsdGluL2NsZWFuLmM6NzgyCittc2dpZCAiQnllLiIKK21zZ3N0ciAiQXUgcmV2b2lyLiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjc5MAorbXNnaWQgIiIKKyJjbGVhbiAgICAgICAgICAgICAgIC0gc3RhcnQgY2xlYW5pbmdcbiIKKyJmaWx0ZXIgYnkgcGF0dGVybiAgIC0gZXhjbHVkZSBpdGVtcyBmcm9tIGRlbGV0aW9uXG4iCisic2VsZWN0IGJ5IG51bWJlcnMgICAtIHNlbGVjdCBpdGVtcyB0byBiZSBkZWxldGVkIGJ5IG51bWJlcnNcbiIKKyJhc2sgZWFjaCAgICAgICAgICAgIC0gY29uZmlybSBlYWNoIGRlbGV0aW9uIChsaWtlIFwicm0gLWlcIilcbiIKKyJxdWl0ICAgICAgICAgICAgICAgIC0gc3RvcCBjbGVhbmluZ1xuIgorImhlbHAgICAgICAgICAgICAgICAgLSB0aGlzIHNjcmVlblxuIgorIj8gICAgICAgICAgICAgICAgICAgLSBoZWxwIGZvciBwcm9tcHQgc2VsZWN0aW9uIgorbXNnc3RyICIiCisiY2xlYW4gICAgICAgICAgICAgICAtIGTDqW1hcnJlciBsZSBuZXR0b3lhZ2VcbiIKKyJmaWx0ZXIgYnkgcGF0dGVybiAgIC0gZXhjbHVyZSBkZXMgw6lsw6ltZW50cyBwYXIgbW90aWZcbiIKKyJzZWxlY3QgYnkgbnVtYmVycyAgIC0gc8OpbGVjdGlvbm5lciBsZXMgw6lsw6ltZW50cyDDoCBzdXBwcmltZXIgcGFyIG51bcOpcm9zXG4iCisiYXNrIGVhY2ggICAgICAgICAgICAtIGNvbmZpcm1lciBjaGFxdWUgc3VwcHJlc3Npb24gKGNvbW1lIFwicm0gLWlcIilcbiIKKyJxdWl0ICAgICAgICAgICAgICAgIC0gYXJyw6p0ZXIgbGUgbmV0dG95YWdlXG4iCisiaGVscCAgICAgICAgICAgICAgICAtIGNldCDDqWNyYW5cbiIKKyI/ICAgICAgICAgICAgICAgICAgIC0gYWlkZSBwb3VyIGxhIHPDqWxlY3Rpb24gZW4gbGlnbmUiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MTcKK21zZ2lkICIqKiogQ29tbWFuZHMgKioqIgorbXNnc3RyICIqKiogQ29tbWFuZGVzICoqKiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjgxOAorbXNnaWQgIldoYXQgbm93IgorbXNnc3RyICJFdCBtYWludGVuYW50ID8iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjYKK21zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKK21zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgorbXNnc3RyWzBdICJTdXBwcmltZXJhaXQgbCfDqWzDqW1lbnQgc3VpdmFudCA6IgorbXNnc3RyWzFdICJTdXBwcmltZXJhaXQgbGVzIMOpbMOpbWVudHMgc3VpdmFudHMgOiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjg0MworbXNnaWQgIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIgorbXNnc3RyICJQbHVzIGRlIGZpY2hpZXIgw6AgbmV0dG95ZXIsIHNvcnRpZS4iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NzQKIG1zZ2lkICJkbyBub3QgcHJpbnQgbmFtZXMgb2YgZmlsZXMgcmVtb3ZlZCIKIG1zZ3N0ciAibmUgcGFzIGFmZmljaGVyIGxlcyBub21zIGRlcyBmaWNoaWVycyBzdXBwcmltw6lzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MTYyCisjOiBidWlsdGluL2NsZWFuLmM6ODc2CiBtc2dpZCAiZm9yY2UiCiBtc2dzdHIgImZvcmNlciIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjE2NAorIzogYnVpbHRpbi9jbGVhbi5jOjg3NworbXNnaWQgImludGVyYWN0aXZlIGNsZWFuaW5nIgorbXNnc3RyICJuZXR0b3lhZ2UgaW50ZXJhY3RpZiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjg3OQogbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAic3VwcHJpbWVyIGxlcyByw6lwZXJ0b2lyZXMgZW50aWVycyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjE2NSBidWlsdGluL2Rlc2NyaWJlLmM6NDEyIGJ1aWx0aW4vZ3JlcC5jOjcxNwotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NyBidWlsdGluL25hbWUtcmV2LmM6MjMxIGJ1aWx0aW4vc2hvdy1yZWYuYzoxODIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4ODAgYnVpbHRpbi9kZXNjcmliZS5jOjQyMCBidWlsdGluL2dyZXAuYzo3MTgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODMgYnVpbHRpbi9uYW1lLXJldi5jOjMxNCBidWlsdGluL3Nob3ctcmVmLmM6MTg1CiBtc2dpZCAicGF0dGVybiIKIG1zZ3N0ciAibW90aWYiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoxNjYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4ODEKIG1zZ2lkICJhZGQgPHBhdHRlcm4+IHRvIGlnbm9yZSBydWxlcyIKIG1zZ3N0ciAiYWpvdXRlciA8bW90aWY+IGF1eCByw6hnbGVzIGlnbm9yZSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjE2NworIzogYnVpbHRpbi9jbGVhbi5jOjg4MgogbXNnaWQgInJlbW92ZSBpZ25vcmVkIGZpbGVzLCB0b28iCiBtc2dzdHIgInN1cHByaW1lciBsZXMgZmljaGllcnMgaWdub3LDqXMsIGF1c3NpIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MTY5CisjOiBidWlsdGluL2NsZWFuLmM6ODg0CiBtc2dpZCAicmVtb3ZlIG9ubHkgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAic3VwcHJpbWVyIHNldWxlbWVudCBsZXMgZmljaGllcnMgaWdub3LDqXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoxODcKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDIKIG1zZ2lkICIteCBhbmQgLVggY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi14IGV0IC1YIG5lIHBldXZlbnQgcGFzIMOqdHJlIHV0aWxpc8OpcyBlbnNlbWJsZSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjE5MQorIzogYnVpbHRpbi9jbGVhbi5jOjkwNgogbXNnaWQgIiIKLSJjbGVhbi5yZXF1aXJlRm9yY2Ugc2V0IHRvIHRydWUgYW5kIG5laXRoZXIgLW4gbm9yIC1mIGdpdmVuOyByZWZ1c2luZyB0byBjbGVhbiIKLW1zZ3N0ciAiY2xlYW4ucmVxdWlyZUZvcmNlIHBvc2l0aW9ubsOpIMOgIHRydWUgZXQgbmkgLW4gbmkgLWYgZm91cm5pIDsgcmVmdXMgZGUgbmV0dG95ZXIiCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzoxOTQKLW1zZ2lkICIiCi0iY2xlYW4ucmVxdWlyZUZvcmNlIGRlZmF1bHRzIHRvIHRydWUgYW5kIG5laXRoZXIgLW4gbm9yIC1mIGdpdmVuOyByZWZ1c2luZyB0byAiCisiY2xlYW4ucmVxdWlyZUZvcmNlIHNldCB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiBub3IgLWYgZ2l2ZW47IHJlZnVzaW5nIHRvICIKICJjbGVhbiIKLW1zZ3N0ciAiY2xlYW4ucmVxdWlyZUZvcmNlIMOgIHRydWUgcGFyIGTDqWZhdXQgZXQgbmkgLW4gbmkgLWYgZm91cm5pIDsgcmVmdXMgZGUgbmV0dG95ZXIiCittc2dzdHIgIiIKKyJjbGVhbi5yZXF1aXJlRm9yY2UgcG9zaXRpb25uw6kgw6AgdHJ1ZSBldCBuaSAtaSwgLW4gb3UgLWYgZm91cm5pIDsgcmVmdXMgZGUgIgorIm5ldHRveWVyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzcKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDkKK21zZ2lkICIiCisiY2xlYW4ucmVxdWlyZUZvcmNlIGRlZmF1bHRzIHRvIHRydWUgYW5kIG5laXRoZXIgLWksIC1uIG5vciAtZiBnaXZlbjsgIgorInJlZnVzaW5nIHRvIGNsZWFuIgorbXNnc3RyICIiCisiY2xlYW4ucmVxdWlyZUZvcmNlIMOgIHRydWUgcGFyIGTDqWZhdXQgZXQgbmkgLWksIC1uIG91IC1mIGZvdXJuaSA7IHJlZnVzIGRlICIKKyJuZXR0b3llciIKKworIzogYnVpbHRpbi9jbG9uZS5jOjM2CiBtc2dpZCAiZ2l0IGNsb25lIFtvcHRpb25zXSBbLS1dIDxyZXBvPiBbPGRpcj5dIgogbXNnc3RyICJnaXQgY2xvbmUgW29wdGlvbnNdIFstLV0gPGTDqXDDtHQ+IFs8csOpcGVydG9pcmU+XSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY1IGJ1aWx0aW4vZmV0Y2guYzo4MiBidWlsdGluL21lcmdlLmM6MjE0Ci0jOiBidWlsdGluL3B1c2guYzo0MzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NCBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9tZXJnZS5jOjIyMgorIzogYnVpbHRpbi9wdXNoLmM6NTIxCiBtc2dpZCAiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJmb3JjZXIgbCfDqXRhdCBkJ2F2YW5jZW1lbnQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NworIzogYnVpbHRpbi9jbG9uZS5jOjY2CiBtc2dpZCAiZG9uJ3QgY3JlYXRlIGEgY2hlY2tvdXQiCiBtc2dzdHIgIm5lIHBhcyBjcsOpZXIgZCdleHRyYWN0aW9uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjggYnVpbHRpbi9jbG9uZS5jOjcwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4OAorIzogYnVpbHRpbi9jbG9uZS5jOjY3IGJ1aWx0aW4vY2xvbmUuYzo2OSBidWlsdGluL2luaXQtZGIuYzo0ODgKIG1zZ2lkICJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImNyw6llciB1biBkw6lww7R0IG51IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MQogbXNnaWQgImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIgogbXNnc3RyICJjcsOpZXIgdW4gZMOpcMO0dCBtaXJvaXIgKGltcGxpcXVlIGTDqXDDtHQgbnUpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MwogbXNnaWQgInRvIGNsb25lIGZyb20gYSBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICJwb3VyIGNsb25lciBkZXB1aXMgdW4gZMOpcMO0dCBsb2NhbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc3CisjOiBidWlsdGluL2Nsb25lLmM6NzUKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAibmUgcGFzIHV0aWxpc2VyIGRlIGxpZW5zIGR1cnMgbG9jYXV4LCB0b3Vqb3VycyBjb3BpZXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3OQorIzogYnVpbHRpbi9jbG9uZS5jOjc3CiBtc2dpZCAic2V0dXAgYXMgc2hhcmVkIHJlcG9zaXRvcnkiCiBtc2dzdHIgInLDqWdsZXIgY29tbWUgZMOpcMO0dCBwYXJ0YWfDqSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgxIGJ1aWx0aW4vY2xvbmUuYzo4MworIzogYnVpbHRpbi9jbG9uZS5jOjc5IGJ1aWx0aW4vY2xvbmUuYzo4MQogbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCiBtc2dzdHIgImluaXRpYWxpc2VyIGxlcyBzb3VzLW1vZHVsZXMgZGFucyBsZSBjbG9uZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NQorIzogYnVpbHRpbi9jbG9uZS5jOjgyIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NQogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAicsOpcGVydG9pcmUtbW9kw6hsZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgorIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgogbXNnaWQgImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiCiBtc2dzdHIgInLDqXBlcnRvaXJlIGRlcHVpcyBsZXF1ZWwgbGVzIG1vZMOobGVzIHZvbnQgw6p0cmUgdXRpbGlzw6lzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NQogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5IgogbXNnc3RyICJkw6lww7R0IGRlIHLDqWbDqXJlbmNlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODggYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAorIzogYnVpbHRpbi9jbG9uZS5jOjg2IGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKIG1zZ2lkICJuYW1lIgogbXNnc3RyICJub20iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OQorIzogYnVpbHRpbi9jbG9uZS5jOjg3CiBtc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgogbXNnc3RyICJ1dGlsaXNlciA8bm9tPiBhdSBsaWV1IGRlICdvcmlnaW4nIHBvdXIgc3VpdnJlIGxhIGJyYW5jaGUgYW1vbnQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MQorIzogYnVpbHRpbi9jbG9uZS5jOjg5CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKIG1zZ3N0ciAiZXh0cmFpcmUgPGJyYW5jaGU+IGF1IGxpZXUgZGUgbGEgSEVBRCBkdSByw6lwZXJ0b2lyZSBkaXN0YW50IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MQogbXNnaWQgInBhdGggdG8gZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUiCiBtc2dzdHIgImNoZW1pbiB2ZXJzIGdpdC11cGxvYWQtcGFjayBzdXIgbGUgc2VydmV1ciBkaXN0YW50IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQgYnVpbHRpbi9mZXRjaC5jOjgzIGJ1aWx0aW4vZ3JlcC5jOjY2MgorIzogYnVpbHRpbi9jbG9uZS5jOjkyIGJ1aWx0aW4vZmV0Y2guYzo5OCBidWlsdGluL2dyZXAuYzo2NjMKIG1zZ2lkICJkZXB0aCIKIG1zZ3N0ciAicHJvZm9uZGV1ciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1CisjOiBidWlsdGluL2Nsb25lLmM6OTMKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIG9mIHRoYXQgZGVwdGgiCiBtc2dzdHIgImNyw6llciB1biBjbG9uZSBzdXBlcmZpY2llbCBkZSBjZXR0ZSBwcm9mb25kZXVyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NQogbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKIG1zZ3N0ciAiY2xvbmVyIHNldWxlbWVudCB1bmUgYnJhbmNoZSwgSEVBRCBvdSAtLWJyYW5jaCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NAorIzogYnVpbHRpbi9jbG9uZS5jOjk2IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NAogbXNnaWQgImdpdGRpciIKIG1zZ3N0ciAiZ2l0ZGlyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkgYnVpbHRpbi9pbml0LWRiLmM6NDk1CisjOiBidWlsdGluL2Nsb25lLmM6OTcgYnVpbHRpbi9pbml0LWRiLmM6NDk1CiBtc2dpZCAic2VwYXJhdGUgZ2l0IGRpciBmcm9tIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAic8OpcGFyZXIgbGUgcsOpcGVydG9pcmUgZ2l0IGRlIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OAogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAiY2zDqT12YWxldXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OQogbXNnaWQgInNldCBjb25maWcgaW5zaWRlIHRoZSBuZXcgcmVwb3NpdG9yeSIKIG1zZ3N0ciAicsOpZ2xlciBsYSBjb25maWd1cmF0aW9uIGRhbnMgbGUgbm91dmVhdSBkw6lww7R0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MjU0CisjOiBidWlsdGluL2Nsb25lLmM6MjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCiBtc2dzdHIgImxlIGTDqXDDtHQgZGUgcsOpZsOpcmVuY2UgJyVzJyBuJ2VzdCBwYXMgdW4gZMOpcMO0dCBsb2NhbC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IgorbXNnc3RyICJsZSBkw6lww7R0IGRlIHLDqWbDqXJlbmNlICclcycgZXN0IHN1cGVyZmljaWVsIgorCisjOiBidWlsdGluL2Nsb25lLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKK21zZ3N0ciAibGUgZMOpcMO0dCBkZSByw6lmw6lyZW5jZSAnJXMnIGVzdCBncmVmZsOpIgorCisjOiBidWlsdGluL2Nsb25lLmM6MzIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBjcsOpYXRpb24gZHUgcsOpcGVydG9pcmUgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMxOSBidWlsdGluL2RpZmYuYzo3NworIzogYnVpbHRpbi9jbG9uZS5jOjMyMyBidWlsdGluL2RpZmYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgogbXNnc3RyICLDqWNoZWMgZHUgc3RhdCBkZSAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzIxCisjOiBidWlsdGluL2Nsb25lLmM6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGV4aXN0cyBhbmQgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICIlcyBleGlzdGUgZXQgbidlc3QgcGFzIHVuIHLDqXBlcnRvaXJlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzM1CisjOiBidWlsdGluL2Nsb25lLmM6MzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCiBtc2dzdHIgIsOpY2hlYyBkdSBzdGF0IGRlICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozNTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzozNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBjcsOpYXRpb24gZHUgbGllbiAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzYxCisjOiBidWlsdGluL2Nsb25lLmM6MzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IGZpbGUgdG8gJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIGNvcGllIHZlcnMgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM4NAorIzogYnVpbHRpbi9jbG9uZS5jOjM4OCBidWlsdGluL2Nsb25lLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvbmUuXG4iCiBtc2dzdHIgImZhaXQuXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozOTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MDEKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgogImFuZCByZXRyeSB0aGUgY2hlY2tvdXQgd2l0aCAnZ2l0IGNoZWNrb3V0IC1mIEhFQUQnXG4iCi1tc2dzdHIgIkxlIGNsb25lIGEgcsOpdXNzaSwgbWFpcyBsJ2V4dHJhY3Rpb24gYSDDqWNob3XDqS5cbiIKK21zZ3N0ciAiIgorIkxlIGNsb25lIGEgcsOpdXNzaSwgbWFpcyBsJ2V4dHJhY3Rpb24gYSDDqWNob3XDqS5cbiIKICJWb3VzIHBvdXZleiBpbnNwZWN0ZXIgY2UgcXVpIGEgw6l0w6kgZXh0cmFpdCBhdmVjICdnaXQgc3RhdHVzJ1xuIgogImV0IHLDqWVzc2F5ZXIgbCdleHRyYWN0aW9uIGF2ZWMgJ2dpdCBjaGVja291dCAtZiBIRUFEJ1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDc2CisjOiBidWlsdGluL2Nsb25lLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgYnJhbmNoZSBkaXN0YW50ZSAnJXMnIMOgIGNsb25lci4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1NTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5Li4uICIKK21zZ3N0ciAiVsOpcmlmaWNhdGlvbiBkZSBsYSBjb25uZWN0aXZpdMOpLi4uICIKKworIzogYnVpbHRpbi9jbG9uZS5jOjU2MwogbXNnaWQgInJlbW90ZSBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzIgogbXNnc3RyICJsZSBzZXJ2ZXVyIGRpc3RhbnQgbidhIHBhcyBlbnZvecOpIHRvdXMgbGVzIG9iamV0cyBuw6ljZXNzYWlyZXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2MjYKIG1zZ2lkICJyZW1vdGUgSEVBRCByZWZlcnMgdG8gbm9uZXhpc3RlbnQgcmVmLCB1bmFibGUgdG8gY2hlY2tvdXQuXG4iCi1tc2dzdHIgImxhIEhFQUQgZGlzdGFudGUgcsOpZsOocmUgw6AgdW5lIHLDqWbDqXJlbmNlIG5vbiBleGlzdGFudGUsIGltcG9zc2libGUgZGUgbCdleHRyYWlyZS5cbiIKK21zZ3N0ciAiIgorImxhIEhFQUQgZGlzdGFudGUgcsOpZsOocmUgw6AgdW5lIHLDqWbDqXJlbmNlIG5vbiBleGlzdGFudGUsIGltcG9zc2libGUgZGUgIgorImwnZXh0cmFpcmUuXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NTcKIG1zZ2lkICJ1bmFibGUgdG8gY2hlY2tvdXQgd29ya2luZyB0cmVlIgotbXNnc3RyICJpbnBvc3NpYmxlIGQnZXh0cmFpcmUgbGEgY29waWUgZGUgdHJhdmFpbCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2V4dHJhaXJlIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NjUKIG1zZ2lkICJUb28gbWFueSBhcmd1bWVudHMuIgogbXNnc3RyICJUcm9wIGQnYXJndW1lbnRzLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc1MworIzogYnVpbHRpbi9jbG9uZS5jOjc2OQogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKIG1zZ3N0ciAiVm91cyBkZXZleiBzcMOpY2lmaWVyIHVuIGTDqXDDtHQgw6AgY2xvbmVyLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2NAorIzogYnVpbHRpbi9jbG9uZS5jOjc4MAogIywgYy1mb3JtYXQKIG1zZ2lkICItLWJhcmUgYW5kIC0tb3JpZ2luICVzIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgImxlcyBvcHRpb25zIC0tYmFyZSBldCAtLW9yaWdpbiAlcyBzb250IGluY29tcGF0aWJsZXMuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzY3CisjOiBidWlsdGluL2Nsb25lLmM6NzgzCiBtc2dpZCAiLS1iYXJlIGFuZCAtLXNlcGFyYXRlLWdpdC1kaXIgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgIi0tYmFyZSBldCAtLXNlcGFyYXRlLWdpdC1kaXIgc29udCBpbmNvbXBhdGlibGVzLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc4MAorIzogYnVpbHRpbi9jbG9uZS5jOjc5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBvc2l0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImxlIGTDqXDDtHQgJyVzJyBuJ2V4aXN0ZSBwYXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3ODUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MDIKIG1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKLW1zZ3N0ciAiLS1kZXB0aCBlc3QgaWdub3LDqSBkYW5zIGxlcyBjbG9uZXMgbG9jYXV4IDogdXRpbGlzZXogcGx1dMO0dCBcImZpbGU6Ly9cIi4iCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo3OTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZGVzdGluYXRpb24gcGF0aCAnJXMnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYW4gZW1wdHkgZGlyZWN0b3J5LiIKLW1zZ3N0ciAibGUgY2hlbWluIGRlIGRlc3RpbmF0aW9uICclcycgZXhpc3RlIGTDqWrDoCBldCBuJ2VzdCBwYXMgdW4gcsOpcGVydG9pcmUgdmlkZS4iCittc2dzdHIgIiIKKyItLWRlcHRoIGVzdCBpZ25vcsOpIGRhbnMgbGVzIGNsb25lcyBsb2NhdXggOiB1dGlsaXNleiBwbHV0w7R0IFwiZmlsZTovL1wiLiIKIAogIzogYnVpbHRpbi9jbG9uZS5jOjgwNQorbXNnaWQgInNvdXJjZSByZXBvc2l0b3J5IGlzIHNoYWxsb3csIGlnbm9yaW5nIC0tbG9jYWwiCittc2dzdHIgImxlIGTDqXDDtHQgc291cmNlIGVzdCBzdXBlcmZpY2llbCwgb3B0aW9uIC0tbG9jYWwgaWdub3LDqWUiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MTAKK21zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCittc2dzdHIgIi0tbG9jYWwgZXN0IGlnbm9yw6kiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MTQgYnVpbHRpbi9mZXRjaC5jOjExMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVwdGggJXMgaXMgbm90IGEgcG9zaXRpdmUgbnVtYmVyIgorbXNnc3RyICJsYSBwcm9mb25kZXVyICVzIG4nZXN0IHBhcyB1biBlbnRpZXIgcG9zaXRpZiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjgyNAorIywgYy1mb3JtYXQKK21zZ2lkICJkZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhbiBlbXB0eSBkaXJlY3RvcnkuIgorbXNnc3RyICIiCisibGUgY2hlbWluIGRlIGRlc3RpbmF0aW9uICclcycgZXhpc3RlIGTDqWrDoCBldCBuJ2VzdCBwYXMgdW4gcsOpcGVydG9pcmUgdmlkZS4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAid29ya2luZyB0cmVlICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICJsYSBjb3BpZSBkZSB0cmF2YWlsICclcycgZXhpc3RlIGTDqWrDoC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MTggYnVpbHRpbi9jbG9uZS5jOjgzMAorIzogYnVpbHRpbi9jbG9uZS5jOjg0NyBidWlsdGluL2Nsb25lLmM6ODU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciBsZXMgcsOpcGVydG9pcmVzIGRlIHByZW1pZXIgbml2ZWF1IGRhbnMgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgyMQorIzogYnVpbHRpbi9jbG9uZS5jOjg1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJy4iCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlIGRlIGxhIGNvcGllIGRlIHRyYXZhaWwgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NDAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCiBtc2dzdHIgIkNsb25hZ2UgZGFucyBsZSBkw6lww7R0IG51ICclcydcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg0MgorIzogYnVpbHRpbi9jbG9uZS5jOjg3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgogbXNnc3RyICJDbG9uYWdlIGRhbnMgJyVzJy4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODc3CisjOiBidWlsdGluL2Nsb25lLmM6OTA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGNsb25lICVzIgogbXNnc3RyICJKZSBuZSBzYWlzIHBhcyBjbG9uZXIgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MjYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NTcgYnVpbHRpbi9jbG9uZS5jOjk2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdGUgYnJhbmNoICVzIG5vdCBmb3VuZCBpbiB1cHN0cmVhbSAlcyIKIG1zZ3N0ciAiTGEgYnJhbmNoZSBkaXN0YW50ZSAlcyBuJ2EgcGFzIMOpdMOpIHRyb3V2w6llIGRhbnMgbGUgZMOpcMO0dCBhbW9udCAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzMworIzogYnVpbHRpbi9jbG9uZS5jOjk2OAogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIlZvdXMgc2VtYmxleiBhdm9pciBjbG9uw6kgdW4gZMOpcMO0dCB2aWRlLiIKIApAQCAtMzYyMiwxNSArNDIyNSwxNSBAQAogbXNnaWQgIi0tY29tbWFuZCBtdXN0IGJlIHRoZSBmaXJzdCBhcmd1bWVudCIKIG1zZ3N0ciAiLS1jb21tYW5kIGRvaXQgw6p0cmUgbGUgcHJlbWllciBhcmd1bWVudCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNAorIzogYnVpbHRpbi9jb21taXQuYzozNgogbXNnaWQgImdpdCBjb21taXQgW29wdGlvbnNdIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IGNvbW1pdCBbb3B0aW9uc10gWy0tXSA8c3DDqWNpZmljYXRpb24tZGUtY2hlbWluPi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozOQorIzogYnVpbHRpbi9jb21taXQuYzo0MQogbXNnaWQgImdpdCBzdGF0dXMgW29wdGlvbnNdIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IHN0YXR1cyBbb3B0aW9uc10gWy0tXSA8c3DDqWNpZmljYXRpb24tZGUtY2hlbWluPi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NAorIzogYnVpbHRpbi9jb21taXQuYzo0NgogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC0zNjQzLDggKzQyNDYsMTAgQEAKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiBtc2dzdHIgIiIKLSJWb3RyZSBub20gZXQgdm90cmUgYWRyZXNzZSBlLW1haWwgb250IMOpdMOpIGNvbmZpZ3Vyw6lzIGF1dG9tYXRpcXVlbWVudCBlbiBzZSBmb25kYW50XG4iCi0ic3VyIHZvdHJlIG5vbSBkJ3V0aWxpc2F0ZXVyIGV0IHZvdHJlIG5vbSBkJ29yZGluYXRldXIuIFZldWlsbGV6IHbDqXJpZmllciBxdSdpbHMgc29udCBjb3JyZWN0cy5cbiIKKyJWb3RyZSBub20gZXQgdm90cmUgYWRyZXNzZSBlLW1haWwgb250IMOpdMOpIGNvbmZpZ3Vyw6lzIGF1dG9tYXRpcXVlbWVudCBlbiBzZSAiCisiZm9uZGFudFxuIgorInN1ciB2b3RyZSBub20gZCd1dGlsaXNhdGV1ciBldCB2b3RyZSBub20gZCdvcmRpbmF0ZXVyLiBWZXVpbGxleiB2w6lyaWZpZXIgIgorInF1J2lscyBzb250IGNvcnJlY3RzLlxuIgogIlZvdXMgcG91dmV6IHN1cHByaW1lciBjZSBtZXNzYWdlIGVuIGxlcyBwYXJhbcOpdHJhbnQgZXhwbGljaXRlbWVudCA6XG4iCiAiXG4iCiAiICAgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiVm90cmUgTm9tXCJcbiIKQEAgLTM2NTQsMTE4ICs0MjU5LDEzOSBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NgorIzogYnVpbHRpbi9jb21taXQuYzo1OAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gYW1lbmQgdGhlIG1vc3QgcmVjZW50IGNvbW1pdCwgYnV0IGRvaW5nIHNvIHdvdWxkIG1ha2VcbiIKICJpdCBlbXB0eS4gWW91IGNhbiByZXBlYXQgeW91ciBjb21tYW5kIHdpdGggLS1hbGxvdy1lbXB0eSwgb3IgeW91IGNhblxuIgogInJlbW92ZSB0aGUgY29tbWl0IGVudGlyZWx5IHdpdGggXCJnaXQgcmVzZXQgSEVBRF5cIi5cbiIKLW1zZ3N0ciAiVm91cyBhdmV6IGRlbWFuZMOpIGRlIGNvcnJpZ2VyIGxlIGNvbW1pdCBsZSBwbHVzIHLDqWNlbnQsIG1haXMgbGUgZmFpcmUgbGUgcmVuZHJhaXRcbiIKK21zZ3N0ciAiIgorIlZvdXMgYXZleiBkZW1hbmTDqSBkZSBjb3JyaWdlciBsZSBjb21taXQgbGUgcGx1cyByw6ljZW50LCBtYWlzIGxlIGZhaXJlIGxlICIKKyJyZW5kcmFpdFxuIgogInZpZGUuIFZvdXMgcG91dmV6IHLDqXDDqXRlciB2b3RyZSBjb21tYW5kZSBhdmVjIC0tYWxsb3ctZW1wdHksIG91IHZvdXMgcG91dmV6XG4iCiAic3VwcHJpbWVyIGNvbXBsw6h0ZW1lbnQgbGUgY29tbWl0IGF2ZWMgXCJnaXQgcmVzZXQgSEVBRF5cIi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MQorIzogYnVpbHRpbi9jb21taXQuYzo2MwogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eVxuIgogIlxuIgotIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgogbXNnc3RyICIiCi0iTGUgcGljb3JhZ2UgcHLDqWPDqWRlbnQgZXN0IMOgIHByw6lzZW50IHZpZGUsIHZyYWlzZW1ibGFibGVtZW50IGTDuyDDoCB1bmUgcsOpc29sdXRpb24gZGUgY29uZmxpdC5cbiIKKyJMZSBwaWNvcmFnZSBwcsOpY8OpZGVudCBlc3Qgw6AgcHLDqXNlbnQgdmlkZSwgdnJhaXNlbWJsYWJsZW1lbnQgZMO7IMOgIHVuZSAiCisicsOpc29sdXRpb24gZGUgY29uZmxpdC5cbiIKICJTaSB2b3VzIHNvdWhhaXRleiB0b3V0IGRlIG3Dqm1lIGxlIHZhbGlkZXIsIHV0aWxpc2V6IDpcbiIKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5XG4iCiAiXG4iCi0iU2lub24sIHV0aWxpc2V6ICdnaXQgcmVzZXQnXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MjYwCisjOiBidWlsdGluL2NvbW1pdC5jOjcwCittc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgcmVzZXQnXG4iCittc2dzdHIgIlNpbm9uLCB2ZXVpbGxleiB1dGlsaXNlciAnZ2l0IHJlc2V0J1xuIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjczCittc2dpZCAiIgorIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKKyJcbiIKKyIgICAgZ2l0IHJlc2V0XG4iCisiXG4iCisiVGhlbiBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgd2lsbCByZXN1bWUgY2hlcnJ5LXBpY2tpbmdcbiIKKyJ0aGUgcmVtYWluaW5nIGNvbW1pdHMuXG4iCittc2dzdHIgIiIKKyJTaSB2b3VzIHNvdWhhaXRleiBzYXV0ZXIgY2UgY29tbWl0LCB1dGlsaXNleiA6XG4iCisiXG4iCisiICAgIGdpdCByZXNldFxuIgorIlxuIgorIlB1aXMgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIGNvbnRpbnVlcmEgbGUgcGljb3JhZ2UgXG4iCisiZGVzIGNvbW1pdHMgcmVzdGFudHMuXG4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mjg3CiBtc2dpZCAiZmFpbGVkIHRvIHVucGFjayBIRUFEIHRyZWUgb2JqZWN0IgogbXNnc3RyICLDqWNoZWMgZHUgZMOpcGFxdWV0YWdlIGRlIGwnb2JqZXQgYXJicmUgSEVBRCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzI5CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGwnaW5kZXggdGVtcG9yYWlyZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzM1CiBtc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGwnYWpvdXQgaW50ZXJhY3RpZiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNDEgYnVpbHRpbi9jb21taXQuYzozNjIgYnVpbHRpbi9jb21taXQuYzo0MTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzY4IGJ1aWx0aW4vY29tbWl0LmM6Mzg5IGJ1aWx0aW4vY29tbWl0LmM6NDM5CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBmaWNoaWVyIG5ld19pbmRleCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozOTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDIwCiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgbWVyZ2UuIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZhaXJlIHVuZSB2YWxpZGF0aW9uIHBhcnRpZWxsZSBwZW5kYW50IHVuZSBmdXNpb24uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM5NQorIzogYnVpbHRpbi9jb21taXQuYzo0MjIKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgImltcG9zc2libGUgZGUgZmFpcmUgdW5lIHZhbGlkYXRpb24gcGFydGllbGxlIHBlbmRhbnQgdW4gcGljb3JhZ2UuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQwNQorIzogYnVpbHRpbi9jb21taXQuYzo0MzIKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsJ2luZGV4IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQyNQorIzogYnVpbHRpbi9jb21taXQuYzo0NTIKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIGZpY2hpZXIgZCdpbmRleCB0ZW1wb3JhaXJlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjUxMyBidWlsdGluL2NvbW1pdC5jOjUxOQorIzogYnVpbHRpbi9jb21taXQuYzo1NDMgYnVpbHRpbi9jb21taXQuYzo1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb21taXQ6ICVzIgogbXNnc3RyICJjb21taXQgaW52YWxpZGUgOiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTcxCiBtc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKIG1zZ3N0ciAicGFyYW3DqHRyZSAtLWF1dGhvciBtYWwgZm9ybcOpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU2MgorIzogYnVpbHRpbi9jb21taXQuYzo1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIGlkZW50IHN0cmluZzogJyVzJyIKIG1zZ3N0ciAiQ2hhw65uZSBpZGVudCBtYWwgZm9ybcOpZSA6ICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjAwIGJ1aWx0aW4vY29tbWl0LmM6NjMzIGJ1aWx0aW4vY29tbWl0LmM6OTU2CisjOiBidWlsdGluL2NvbW1pdC5jOjYzMCBidWlsdGluL2NvbW1pdC5jOjY2MyBidWlsdGluL2NvbW1pdC5jOjEwMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmVjaGVyY2hlciBsZSBjb21taXQgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjEyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjQyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAiKGxlY3R1cmUgZHUgbWVzc2FnZSBkZSBqb3VybmFsIGRlcHVpcyBsJ2VudHLDqWUgc3RhbmRhcmQpXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjE0CisjOiBidWlsdGluL2NvbW1pdC5jOjY0NAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgam91cm5hbCBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYxOAorIzogYnVpbHRpbi9jb21taXQuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxlIGZpY2hpZXIgZGUgam91cm5hbCAnJXMnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYyNAorIzogYnVpbHRpbi9jb21taXQuYzo2NTQKIG1zZ2lkICJjb21taXQgaGFzIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgImxlIGNvbW1pdCBhIHVuIG1lc3NhZ2UgdmlkZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjcwCiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTVNHIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgTUVSR0VfTVNHIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY0NAorIzogYnVpbHRpbi9jb21taXQuYzo2NzQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBTUVVBU0hfTVNHIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgU1FVQVNIX01TRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSAnJXMnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwOQorIzogYnVpbHRpbi9jb21taXQuYzo3NDkKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgY29tbWl0IHRlbXBsYXRlIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBtb2TDqGxlIGRlIGNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTM3ODAsNyArNDQwNiw3IEBACiAiXHQlc1xuIgogImV0IGVzc2F5ZXogw6Agbm91dmVhdS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTM3OTUsMTYgKzQ0MjEsMTcgQEAKICJcdCVzXG4iCiAiZXQgZXNzYXlleiDDoCBub3V2ZWF1LlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczNworIzogYnVpbHRpbi9jb21taXQuYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKICJ3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLCBhbmQgYW4gZW1wdHkgbWVzc2FnZSBhYm9ydHMgdGhlIGNvbW1pdC5cbiIKIG1zZ3N0ciAiIgogIlZldWlsbGV6IHNhaXNpciBsZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gcG91ciB2b3MgbW9kaWZpY2F0aW9ucy4gTGVzIGxpZ25lc1xuIgotImNvbW1lbsOnYW50IHBhciAnJWMnIHNlcm9udCBpZ25vcsOpZXMsIGV0IHVuIG1lc3NhZ2UgdmlkZSBhYmFuZG9ubmUgbGEgdmFsaWRhdGlvbi5cbiIKKyJjb21tZW7Dp2FudCBwYXIgJyVjJyBzZXJvbnQgaWdub3LDqWVzLCBldCB1biBtZXNzYWdlIHZpZGUgYWJhbmRvbm5lIGxhICIKKyJ2YWxpZGF0aW9uLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc0MgorIzogYnVpbHRpbi9jb21taXQuYzo3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTM4MTUsMTgwMiArNDQ0MiwxODk3IEBACiAiY29tbWVuw6dhbnQgcGFyICclYycgc2Vyb250IGNvbnNlcnbDqWVzIDsgdm91cyBwb3V2ZXogbGVzIHN1cHByaW1lciB2b3VzLW3Dqm1lXG4iCiAic2kgdm91cyBsZSBzb3VoYWl0ZXouIFVuIG1lc3NhZ2UgdmlkZSBhYmFuZG9ubmUgbGEgdmFsaWRhdGlvbi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Nzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQXV0aG9yOiAgICAlcyIKIG1zZ3N0ciAiJXNBdXRldXIgOiAgICAgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzYyCisjOiBidWlsdGluL2NvbW1pdC5jOjgwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0NvbW1pdHRlcjogJXMiCiBtc2dzdHIgIiVzVmFsaWRhdGV1ciA6ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc4MgorIzogYnVpbHRpbi9jb21taXQuYzo4MjIKIG1zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODE5CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NQogbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICJFcnJldXIgbG9ycyBkZSBsYSBjb25zdHJ1Y3Rpb24gZGVzIGFyYnJlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MzQgYnVpbHRpbi90YWcuYzozNTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODgwIGJ1aWx0aW4vdGFnLmM6MzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBsZWFzZSBzdXBwbHkgdGhlIG1lc3NhZ2UgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbi5cbiIKIG1zZ3N0ciAiVmV1aWxsZXogZm91cm5pciBsZSBtZXNzYWdlIGVuIHV0aWxpc2FudCBsJ29wdGlvbiAtbSBvdSAtRi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5MzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGV4aXN0aW5nIGF1dGhvciBmb3VuZCB3aXRoICclcyciCiBtc2dzdHIgIkF1Y3VuIGF1dGV1ciBleGlzdGFudCB0cm91dsOpIGF2ZWMgJyVzJyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NDYgYnVpbHRpbi9jb21taXQuYzoxMTQwCisjOiBidWlsdGluL2NvbW1pdC5jOjk5NyBidWlsdGluL2NvbW1pdC5jOjEyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB1bnRyYWNrZWQgZmlsZXMgbW9kZSAnJXMnIgogbXNnc3RyICJNb2RlIGRlIGZpY2hpZXIgbm9uIHN1aXZpIGludmFsaWRlICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTc2CisjOiBidWlsdGluL2NvbW1pdC5jOjEwMzQKK21zZ2lkICItLWxvbmcgYW5kIC16IGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIi0tbG9uZyBldCAteiBzb250IGluY29tcGF0aWJsZXMiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2NAogbXNnaWQgIlVzaW5nIGJvdGggLS1yZXNldC1hdXRob3IgYW5kIC0tYXV0aG9yIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIkwndXRpbGlzYXRpb24gc2ltdWx0YW7DqWUgZGUgLS1yZXNldC1hdXRob3IgZXQgLS1hdXRob3IgbidhIHBhcyBkZSBzZW5zIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk4NworIzogYnVpbHRpbi9jb21taXQuYzoxMDc1CiBtc2dpZCAiWW91IGhhdmUgbm90aGluZyB0byBhbWVuZC4iCiBtc2dzdHIgIklsIG4neSBhIHJpZW4gw6AgY29ycmlnZXIuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk5MAorIzogYnVpbHRpbi9jb21taXQuYzoxMDc4CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiVm91cyDDqnRlcyBlbiBwbGVpbmUgZnVzaW9uIC0tIGltcG9zc2libGUgZGUgY29ycmlnZXIgKGFtZW5kKS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTkyCisjOiBidWlsdGluL2NvbW1pdC5jOjEwODAKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJWb3VzIMOqdGVzIGVuIHBsZWluIHBpY29yYWdlIC0tIGltcG9zc2libGUgZGUgY29ycmlnZXIgKGFtZW5kKS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTk1CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODMKIG1zZ2lkICJPcHRpb25zIC0tc3F1YXNoIGFuZCAtLWZpeHVwIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICJMZXMgb3B0aW9ucyAtLXNxdWFzaCBldCAtLWZpeHVwIG5lIHBldXZlbnQgcGFzIMOqdHJlIHV0aWxpc8OpZXMgZW5zZW1ibGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAwNQorIzogYnVpbHRpbi9jb21taXQuYzoxMDkzCiBtc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIlVuZSBzZXVsZSBvcHRpb24gcGFybWkgLWMvLUMvLUYvLS1maXh1cCBwZXV0IMOqdHJlIHV0aWxpc8OpZS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAwNworIzogYnVpbHRpbi9jb21taXQuYzoxMDk1CiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLy0tZml4dXAuIgogbXNnc3RyICJMJ29wdGlvbiAtbSBuZSBwZXV0IHBhcyDDqnRyZSBjb21iaW7DqWUgYXZlYyAtYy8tQy8tRi8tLWZpeHVwLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDE1CisjOiBidWlsdGluL2NvbW1pdC5jOjExMDMKIG1zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgogbXNnc3RyICItLXJlc2V0LWF1dGhvciBuZSBwZXV0IMOqdHJlIHV0aWxpc8OpIHF1J2F2ZWMgLUMsIC1jIG91IC0tYW1lbmQuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyMAogbXNnaWQgIk9ubHkgb25lIG9mIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGNhbiBiZSB1c2VkLiIKLW1zZ3N0ciAiVW5lIHNldWxlIG9wdGlvbiBwYXJtaSAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBwZXV0IMOqdHJlIHV0aWxpc8OpZS4iCittc2dzdHIgIiIKKyJVbmUgc2V1bGUgb3B0aW9uIHBhcm1pIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIHBldXQgIgorIsOqdHJlIHV0aWxpc8OpZS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAzNAorIzogYnVpbHRpbi9jb21taXQuYzoxMTIyCiBtc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICJBdWN1biBjaGVtaW4gYXZlYyBsZXMgb3B0aW9ucyAtLWluY2x1ZGUvLS1vbmx5IG4nYSBwYXMgZGUgc2Vucy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAzNgorIzogYnVpbHRpbi9jb21taXQuYzoxMTI0CiBtc2dpZCAiQ2xldmVyLi4uIGFtZW5kaW5nIHRoZSBsYXN0IG9uZSB3aXRoIGRpcnR5IGluZGV4LiIKIG1zZ3N0ciAiTWFsaW4uLi4gY29ycmVjdGlvbiBkdSBkZXJuaWVyIGF2ZWMgdW4gaW5kZXggc2FsZS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAzOAorIzogYnVpbHRpbi9jb21taXQuYzoxMTI2CiBtc2dpZCAiRXhwbGljaXQgcGF0aHMgc3BlY2lmaWVkIHdpdGhvdXQgLWkgbm9yIC1vOyBhc3N1bWluZyAtLW9ubHkgcGF0aHMuLi4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiQ2hlbWlucyBleHBsaWNpdGVzIHNww6ljaWZpw6lzIHNhbnMgLWkgbmkgLW8gOyAtLW9ubHkgc3VwcG9zw6kuLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA0OCBidWlsdGluL3RhZy5jOjU3NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTM2IGJ1aWx0aW4vdGFnLmM6NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgotbXNnc3RyICIiCittc2dzdHIgIk1vZGUgZGUgbmV0dG95YWdlIGludmFsaWRlICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE0MQogbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiU3DDqWNpZmllciBkZXMgY2hlbWlucyBhdmVjIGwnb3B0aW9uIC1hIG4nYSBwYXMgZGUgc2Vucy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA1OSBidWlsdGluL2NvbW1pdC5jOjExOTQKLW1zZ2lkICItLWxvbmcgYW5kIC16IGFyZSBpbmNvbXBhdGlibGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMTU0IGJ1aWx0aW4vY29tbWl0LmM6MTM5MAorIzogYnVpbHRpbi9jb21taXQuYzoxMjUxIGJ1aWx0aW4vY29tbWl0LmM6MTQ4MgogbXNnaWQgInNob3cgc3RhdHVzIGNvbmNpc2VseSIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsZSBzdGF0dXQgYXZlYyBjb25jaXNpb24iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NiBidWlsdGluL2NvbW1pdC5jOjEzOTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1MyBidWlsdGluL2NvbW1pdC5jOjE0ODQKIG1zZ2lkICJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsJ2luZm9ybWF0aW9uIGRlIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1OCBidWlsdGluL2NvbW1pdC5jOjEzOTQgYnVpbHRpbi9wdXNoLmM6NDI2CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTUgYnVpbHRpbi9jb21taXQuYzoxNDg2IGJ1aWx0aW4vcHVzaC5jOjUwNwogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgotbXNnc3RyICIiCittc2dzdHIgInNvcnRpZSBwb3VyIHRyYWl0ZW1lbnQgYXV0b21hdGlxdWUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MSBidWlsdGluL2NvbW1pdC5jOjEzOTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1OCBidWlsdGluL2NvbW1pdC5jOjE0ODgKIG1zZ2lkICJzaG93IHN0YXR1cyBpbiBsb25nIGZvcm1hdCAoZGVmYXVsdCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGUgc3RhdHV0IGVuIGZvcm1hdCBsb25nIChwYXIgZMOpZmF1dCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NCBidWlsdGluL2NvbW1pdC5jOjEzOTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2MSBidWlsdGluL2NvbW1pdC5jOjE0OTEKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0ZXJtaW5lciBsZXMgw6lsw6ltZW50cyBwYXIgTlVMIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjYgYnVpbHRpbi9jb21taXQuYzoxNDAyIGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NTkKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NjIgYnVpbHRpbi90YWcuYzo0NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2MyBidWlsdGluL2NvbW1pdC5jOjE0OTQgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NyBidWlsdGluL3RhZy5jOjQ1OQogbXNnaWQgIm1vZGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAibW9kZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTY3IGJ1aWx0aW4vY29tbWl0LmM6MTQwMgorIzogYnVpbHRpbi9jb21taXQuYzoxMjY0IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAogbXNnaWQgInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAiIgorImFmZmljaGVyIGxlcyBmaWNoaWVycyBub24gc3VpdmlzLCBcIm1vZGVcIiBmYWN1bHRhdGlmIDogYWxsICh0b3VzKSwgbm9ybWFsLCAiCisibm8uIChEw6lmYXV0IDogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTcwCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjcKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIGlnbm9yw6lzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNzEgcGFyc2Utb3B0aW9ucy5oOjE1MQorIzogYnVpbHRpbi9jb21taXQuYzoxMjY4IHBhcnNlLW9wdGlvbnMuaDoxNTYKIG1zZ2lkICJ3aGVuIgotbXNnc3RyICIiCittc2dzdHIgInF1YW5kIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2OQogbXNnaWQgIiIKICJpZ25vcmUgY2hhbmdlcyB0byBzdWJtb2R1bGVzLCBvcHRpb25hbCB3aGVuOiBhbGwsIGRpcnR5LCB1bnRyYWNrZWQuICIKICIoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAiIgorImlnbm9yZXIgbGVzIG1vZGlmaWNhdGlvbnMgZGFucyBsZXMgc291cy1tb2R1bGVzLCBcInF1YW5kXCIgZmFjdWx0YXRpZiA6IGFsbCAiCisiKHRvdXMpLCBkaXJ0eSAoc2FsZSksIHVudHJhY2tlZCAobm9uIHN1aXZpKS4gKETDqWZhdXQgOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI3MQogbXNnaWQgImxpc3QgdW50cmFja2VkIGZpbGVzIGluIGNvbHVtbnMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMgZW4gY29sb25uZXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTI0OAorIzogYnVpbHRpbi9jb21taXQuYzoxMzQwCiBtc2dpZCAiY291bGRuJ3QgbG9vayB1cCBuZXdseSBjcmVhdGVkIGNvbW1pdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJldHJvdXZlciBsZSBjb21taXQgbm91dmVsbGVtZW50IGNyw6nDqSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjUwCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDIKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgbmV3bHkgY3JlYXRlZCBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMjkxCi1tc2dpZCAiZGV0YWNoZWQgSEVBRCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyOTMKLW1zZ2lkICIgKHJvb3QtY29tbWl0KSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNjAKLW1zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MQotbXNnaWQgInNob3cgZGlmZiBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNjMKLW1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2NCBidWlsdGluL3RhZy5jOjQ1NwotbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzY1Ci1tc2dpZCAiYXV0aG9yIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2NQotbXNnaWQgIm92ZXJyaWRlIGF1dGhvciBmb3IgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2NiBidWlsdGluL2djLmM6MTc4Ci1tc2dpZCAiZGF0ZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNjYKLW1zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzY3IGJ1aWx0aW4vbWVyZ2UuYzoyMDggYnVpbHRpbi9ub3Rlcy5jOjUzMwotIzogYnVpbHRpbi9ub3Rlcy5jOjY5MCBidWlsdGluL3RhZy5jOjQ1NQotbXNnaWQgIm1lc3NhZ2UiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzY3Ci1tc2dpZCAiY29tbWl0IG1lc3NhZ2UiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzY4Ci1tc2dpZCAicmV1c2UgYW5kIGVkaXQgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzY5Ci1tc2dpZCAicmV1c2UgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzcwCi1tc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gZml4dXAgc3BlY2lmaWVkIGNvbW1pdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNzEKLW1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNzIKLW1zZ2lkICJ0aGUgY29tbWl0IGlzIGF1dGhvcmVkIGJ5IG1lIG5vdyAodXNlZCB3aXRoIC1DLy1jLy0tYW1lbmQpIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3MyBidWlsdGluL2xvZy5jOjExMTMgYnVpbHRpbi9yZXZlcnQuYzoxMDkKLW1zZ2lkICJhZGQgU2lnbmVkLW9mZi1ieToiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzc0Ci1tc2dpZCAidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3NQotbXNnaWQgImZvcmNlIGVkaXQgb2YgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3NgotbXNnaWQgImRlZmF1bHQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzc2IGJ1aWx0aW4vdGFnLmM6NDYwCi1tc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNzcKLW1zZ2lkICJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNzggYnVpbHRpbi9tZXJnZS5jOjIxNSBidWlsdGluL3RhZy5jOjQ2MQotbXNnaWQgImtleSBpZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNzkgYnVpbHRpbi9tZXJnZS5jOjIxNgotbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKLW1zZ3N0ciAiIgotCi0jLiBlbmQgY29tbWl0IG1lc3NhZ2Ugb3B0aW9ucwotIzogYnVpbHRpbi9jb21taXQuYzoxMzgyCi1tc2dpZCAiQ29tbWl0IGNvbnRlbnRzIG9wdGlvbnMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGNvbW1pdCBub3V2ZWxsZW1lbnQgY3LDqcOpIgogCiAjOiBidWlsdGluL2NvbW1pdC5jOjEzODMKLW1zZ2lkICJjb21taXQgYWxsIGNoYW5nZWQgZmlsZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzg0Ci1tc2dpZCAiYWRkIHNwZWNpZmllZCBmaWxlcyB0byBpbmRleCBmb3IgY29tbWl0IgotbXNnc3RyICIiCittc2dpZCAiZGV0YWNoZWQgSEVBRCIKK21zZ3N0ciAiSEVBRCBkw6l0YWNow6llIgogCiAjOiBidWlsdGluL2NvbW1pdC5jOjEzODUKK21zZ2lkICIgKHJvb3QtY29tbWl0KSIKK21zZ3N0ciAiIChjb21taXQgcmFjaW5lKSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDUyCittc2dpZCAic3VwcHJlc3Mgc3VtbWFyeSBhZnRlciBzdWNjZXNzZnVsIGNvbW1pdCIKK21zZ3N0ciAic3VwcHJpbWVyIGxlIHLDqXN1bcOpIGFwcsOocyB1bmUgdmFsaWRhdGlvbiByw6l1c3NpZSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDUzCittc2dpZCAic2hvdyBkaWZmIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgorbXNnc3RyICJhZmZpY2hlciBsZXMgZGlmZiBkYW5zIGxlIG1vZMOobGUgZGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTUKK21zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgorbXNnc3RyICJPcHRpb25zIGR1IG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDU2IGJ1aWx0aW4vdGFnLmM6NDU3Cittc2dpZCAicmVhZCBtZXNzYWdlIGZyb20gZmlsZSIKK21zZ3N0ciAibGlyZSBsZSBtZXNzYWdlIGRlcHVpcyB1biBmaWNoaWVyIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTcKK21zZ2lkICJhdXRob3IiCittc2dzdHIgImF1dGV1ciIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDU3Cittc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCittc2dzdHIgInJlbXBsYWNlciBsJ2F1dGV1ciBwb3VyIGxhIHZhbGlkYXRpb24iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OCBidWlsdGluL2djLmM6MjYxCittc2dpZCAiZGF0ZSIKK21zZ3N0ciAiZGF0ZSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDU4Cittc2dpZCAib3ZlcnJpZGUgZGF0ZSBmb3IgY29tbWl0IgorbXNnc3RyICJyZW1wbGFjZXIgbGEgZGF0ZSBwb3VyIGxhIHZhbGlkYXRpb24iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OSBidWlsdGluL21lcmdlLmM6MjE2IGJ1aWx0aW4vbm90ZXMuYzo0MDUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjIgYnVpbHRpbi90YWcuYzo0NTUKK21zZ2lkICJtZXNzYWdlIgorbXNnc3RyICJtZXNzYWdlIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTkKK21zZ2lkICJjb21taXQgbWVzc2FnZSIKK21zZ3N0ciAibWVzc2FnZSBkZSB2YWxpZGF0aW9uIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjAKK21zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKK21zZ3N0ciAicsOpdXRpbGlzZXIgZXQgw6lkaXRlciBsZSBtZXNzYWdlIGR1IGNvbW1pdCBzcMOpY2lmacOpIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjEKK21zZ2lkICJyZXVzZSBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKK21zZ3N0ciAicsOpdXRpbGlzZXIgbGUgbWVzc2FnZSBkdSBjb21taXQgc3DDqWNpZmnDqSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDYyCittc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gZml4dXAgc3BlY2lmaWVkIGNvbW1pdCIKK21zZ3N0ciAiIgorInV0aWxpc2VyIHVuIG1lc3NhZ2UgZm9ybWF0w6kgcGFyIGF1dG9zcXVhc2ggcG91ciBjb3JyaWdlciBsZSBjb21taXQgc3DDqWNpZmnDqSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDYzCittc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gc3F1YXNoIHNwZWNpZmllZCBjb21taXQiCittc2dzdHIgIiIKKyJ1dGlsaXNlciB1biBtZXNzYWdlIGZvcm1hdMOpIHBhciBhdXRvc3F1YXNoIHBvdXIgY29tcHJlc3NlciBsZSBjb21taXQgc3DDqWNpZmnDqSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDY0Cittc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKK21zZ3N0ciAiIgorIsOgIHByw6lzZW50IGplIHN1aXMgbCdhdXRldXIgZGUgbGEgdmFsaWRhdGlvbiAodXRpbGlzw6kgYXZlYyAtQy8tYy8tLWFtZW5kKSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDY1IGJ1aWx0aW4vbG9nLmM6MTE4MCBidWlsdGluL3JldmVydC5jOjg2Cittc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgorbXNnc3RyICJham91dGVyIHVuZSBlbnRyw6llIFNpZ25lZC1vZmYtYnkgOiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDY2Cittc2dpZCAidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIgorbXNnc3RyICJ1dGlsaXNlciBsZSBmaWNoaWVyIGRlIG1vZMOobGUgc3DDqWNpZmnDqSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDY3Cittc2dpZCAiZm9yY2UgZWRpdCBvZiBjb21taXQiCittc2dzdHIgImZvcmNlciBsJ8OpZGl0aW9uIGR1IGNvbW1pdCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDY4Cittc2dpZCAiZGVmYXVsdCIKK21zZ3N0ciAiZMOpZmF1dCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDY4IGJ1aWx0aW4vdGFnLmM6NDYwCittc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKK21zZ3N0ciAiY29tbWVudCDDqWxpbWluZXIgbGVzIGVzcGFjZXMgZXQgbGVzIGNvbW1lbnRhaXJlcyAjIGR1IG1lc3NhZ2UiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OQorbXNnaWQgImluY2x1ZGUgc3RhdHVzIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgorbXNnc3RyICJpbmNsdXJlIGxlIHN0YXR1dCBkYW5zIGxlIG1vZMOobGUgZGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzAgYnVpbHRpbi9tZXJnZS5jOjIyMyBidWlsdGluL3RhZy5jOjQ2MQorbXNnaWQgImtleSBpZCIKK21zZ3N0ciAiaWRlbnRpZmlhbnQgZGUgY2zDqSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDcxIGJ1aWx0aW4vbWVyZ2UuYzoyMjQKK21zZ2lkICJHUEcgc2lnbiBjb21taXQiCittc2dzdHIgInNpZ25lciBsYSB2YWxpZGF0aW9uIGF2ZWMgR1BHIgorCisjLiBlbmQgY29tbWl0IG1lc3NhZ2Ugb3B0aW9ucworIzogYnVpbHRpbi9jb21taXQuYzoxNDc0Cittc2dpZCAiQ29tbWl0IGNvbnRlbnRzIG9wdGlvbnMiCittc2dzdHIgIlZhbGlkZXIgbGVzIG9wdGlvbnMgZGVzIGNvbnRlbnVzIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzUKK21zZ2lkICJjb21taXQgYWxsIGNoYW5nZWQgZmlsZXMiCittc2dzdHIgInZhbGlkZXIgdG91cyBsZXMgZmljaGllcnMgbW9kaWZpw6lzIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzYKK21zZ2lkICJhZGQgc3BlY2lmaWVkIGZpbGVzIHRvIGluZGV4IGZvciBjb21taXQiCittc2dzdHIgImFqb3V0ZXIgbGVzIGZpY2hpZXJzIHNww6ljaWZpw6lzIMOgIGwnaW5kZXggcG91ciBsYSB2YWxpZGF0aW9uIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzcKIG1zZ2lkICJpbnRlcmFjdGl2ZWx5IGFkZCBmaWxlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJham91dGVyIGRlcyBmaWNoaWVycyBlbiBtb2RlIGludGVyYWN0aWYiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4NgorIzogYnVpbHRpbi9jb21taXQuYzoxNDc4CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJham91dGVyIGxlcyBtb2RpZmljYXRpb25zIGVuIG1vZGUgaW50ZXJhY3RpZiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzg3CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzkKIG1zZ2lkICJjb21taXQgb25seSBzcGVjaWZpZWQgZmlsZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAidmFsaWRlciBzZXVsZW1lbnQgbGVzIGZpY2hpZXJzIHNww6ljaWZpw6lzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MAogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGhvb2siCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6l2aXRlciBkJ3V0aWxpc2VyIGxlIGNyb2NoZXQgcHJlLWNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzg5CisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODEKIG1zZ2lkICJzaG93IHdoYXQgd291bGQgYmUgY29tbWl0dGVkIgotbXNnc3RyICIiCittc2dzdHIgImFmZmljaGVyIGNlIHF1aSBzZXJhaXQgdmFsaWTDqSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDAwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTIKIG1zZ2lkICJhbWVuZCBwcmV2aW91cyBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDAxCi1tc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQwNgotbXNnaWQgIm9rIHRvIHJlY29yZCBhbiBlbXB0eSBjaGFuZ2UiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDA5Ci1tc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDEKLW1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDc5IGJ1aWx0aW4vbWVyZ2UuYzo1MTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJjb3JyaWdlciBsYSB2YWxpZGF0aW9uIHByw6ljw6lkZW50ZSIKIAogIzogYnVpbHRpbi9jb21taXQuYzoxNDkzCi1tc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKLW1zZ3N0ciAiIgorbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKK21zZ3N0ciAiw6l2aXRlciBkJ3V0aWxpc2VyIGxlIGNyb2NoZXQgcG9zdC1yZXdyaXRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OAorbXNnaWQgIm9rIHRvIHJlY29yZCBhbiBlbXB0eSBjaGFuZ2UiCittc2dzdHIgImFjY2VwdGVyIGQnZW5yZWdpc3RyZXIgdW5lIG1vZGlmaWNhdGlvbiB2aWRlIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDAKK21zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgorbXNnc3RyICJhY2NlcHRlciBkJ2VucmVnaXN0cmVyIHVuZSBtb2RpZmljYXRpb24gYXZlYyB1biBtZXNzYWdlIHZpZGUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUyOQorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGNvbW1pdCBIRUFEIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1NjcgYnVpbHRpbi9tZXJnZS5jOjUxOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICclcycgZW4gbGVjdHVyZSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvcnJ1cHQgTUVSR0VfSEVBRCBmaWxlICglcykiCittc2dzdHIgIkZpY2hpZXIgTUVSR0VfSEVBRCBjb3Jyb21wdSAoJXMpIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1ODEKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NT0RFIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgTUVSR0VfTU9ERSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIDogJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUyNgorIzogYnVpbHRpbi9jb21taXQuYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJBYmFuZG9uIGRlIGxhIHZhbGlkYXRpb24gOyB2b3VzIG4nYXZleiBwYXMgw6lkaXTDqSBsZSBtZXNzYWdlXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzMQorIzogYnVpbHRpbi9jb21taXQuYzoxNjE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdCBkdWUgdG8gZW1wdHkgY29tbWl0IG1lc3NhZ2UuXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiQWJhbmRvbiBkZSBsYSB2YWxpZGF0aW9uIGR1IMOgIHVuIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiB2aWRlXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU0NiBidWlsdGluL21lcmdlLmM6ODQ3IGJ1aWx0aW4vbWVyZ2UuYzo4NzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMSBidWlsdGluL21lcmdlLmM6ODU0IGJ1aWx0aW4vbWVyZ2UuYzo4NzkKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKLW1zZ3N0ciAiIgorbXNnc3RyICLDqWNoZWMgZGUgbCfDqWNyaXR1cmUgZGUgbCdvYmpldCBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU2NworIzogYnVpbHRpbi9jb21taXQuYzoxNjUyCiBtc2dpZCAiY2Fubm90IGxvY2sgSEVBRCByZWYiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSB2ZXJyb3VpbGxlciBsYSByw6lmw6lyZW5jZSBIRUFEIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY1NgogbXNnaWQgImNhbm5vdCB1cGRhdGUgSEVBRCByZWYiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBtZXR0cmUgw6Agam91ciBsYSByw6lmw6lyZW5jZSBIRUFEIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NwogbXNnaWQgIiIKICJSZXBvc2l0b3J5IGhhcyBiZWVuIHVwZGF0ZWQsIGJ1dCB1bmFibGUgdG8gd3JpdGVcbiIKICJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIG9yIHF1b3RhIGlzXG4iCiAibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXNldCBIRUFEXCIgdG8gcmVjb3Zlci4iCiBtc2dzdHIgIiIKKyJMZSBkw6lww7R0IGEgw6l0w6kgbWlzIMOgIGpvdXIsIG1haXMgaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgZmljaGllclxuIgorIm5ld19pbmRleC4gVsOpcmlmaWV6IHF1ZSBsZSBkaXNxdWUgbidlc3QgcGFzIHBsZWluIG91IHF1ZSBsZSBxdW90YVxuIgorIm4nYSBwYXMgw6l0w6kgZMOpcGFzc8OpLCBwdWlzIGxhbmNleiBcImdpdCByZXNldCBIRUFEXCIgcG91ciByw6lwYXJlci4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NworIzogYnVpbHRpbi9jb25maWcuYzo4CiBtc2dpZCAiZ2l0IGNvbmZpZyBbb3B0aW9uc10iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb25maWcuYzo1MQotbXNnaWQgIkNvbmZpZyBmaWxlIGxvY2F0aW9uIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTIKLW1zZ2lkICJ1c2UgZ2xvYmFsIGNvbmZpZyBmaWxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTMKLW1zZ2lkICJ1c2Ugc3lzdGVtIGNvbmZpZyBmaWxlIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBjb25maWcgW29wdGlvbnNdIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjU0Ci1tc2dpZCAidXNlIHJlcG9zaXRvcnkgY29uZmlnIGZpbGUiCi1tc2dzdHIgIiIKK21zZ2lkICJDb25maWcgZmlsZSBsb2NhdGlvbiIKK21zZ3N0ciAiRW1wbGFjZW1lbnQgZHUgZmljaGllciBkZSBjb25maWd1cmF0aW9uIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjU1Ci1tc2dpZCAidXNlIGdpdmVuIGNvbmZpZyBmaWxlIgotbXNnc3RyICIiCittc2dpZCAidXNlIGdsb2JhbCBjb25maWcgZmlsZSIKK21zZ3N0ciAidXRpbGlzZXIgbGVzIGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiBnbG9iYWwiCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKLW1zZ2lkICJBY3Rpb24iCi1tc2dzdHIgIiIKK21zZ2lkICJ1c2Ugc3lzdGVtIGNvbmZpZyBmaWxlIgorbXNnc3RyICJ1dGlsaXNlciBsZSBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gZHUgc3lzdMOobWUiCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NTcKLW1zZ2lkICJnZXQgdmFsdWU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKLW1zZ3N0ciAiIgorbXNnaWQgInVzZSByZXBvc2l0b3J5IGNvbmZpZyBmaWxlIgorbXNnc3RyICJ1dGlsaXNlciBsZSBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gZHUgZMOpcMO0dCIKIAogIzogYnVpbHRpbi9jb25maWcuYzo1OAotbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKLW1zZ3N0ciAiIgorbXNnaWQgInVzZSBnaXZlbiBjb25maWcgZmlsZSIKK21zZ3N0ciAidXRpbGlzZXIgbGUgZmljaGllciBkZSBjb25maWd1cmF0aW9uIHNww6ljaWZpw6kiCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKLW1zZ2lkICJnZXQgdmFsdWVzIGZvciByZWdleHA6IG5hbWUtcmVnZXggW3ZhbHVlLXJlZ2V4XSIKLW1zZ3N0ciAiIgorbXNnaWQgImJsb2ItaWQiCittc2dzdHIgImJsb2ItaWQiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKK21zZ2lkICJyZWFkIGNvbmZpZyBmcm9tIGdpdmVuIGJsb2Igb2JqZWN0IgorbXNnc3RyICJsaXJlIGxhIGNvbmZpZ3VyYXRpb24gZGVwdWlzIGwnb2JqZXQgYmxvYiBmb3VybmkiCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKLW1zZ2lkICJyZXBsYWNlIGFsbCBtYXRjaGluZyB2YXJpYWJsZXM6IG5hbWUgdmFsdWUgW3ZhbHVlX3JlZ2V4XSIKLW1zZ3N0ciAiIgorbXNnaWQgIkFjdGlvbiIKK21zZ3N0ciAiQWN0aW9uIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjYxCi1tc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgotbXNnc3RyICIiCittc2dpZCAiZ2V0IHZhbHVlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCittc2dzdHIgIm9idGVuaXIgbGEgdmFsZXVyIDogbm9tIFtyZWdleC1kZS12YWxldXJdIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjYyCi1tc2dpZCAicmVtb3ZlIGEgdmFyaWFibGU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKLW1zZ3N0ciAiIgorbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKK21zZ3N0ciAib2J0ZW5pciB0b3V0ZXMgbGUgdmFsZXVycyA6IGNsw6kgW3JlZ2V4LWRlLXZhbGV1cl0iCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKLW1zZ2lkICJyZW1vdmUgYWxsIG1hdGNoZXM6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKLW1zZ3N0ciAiIgorbXNnaWQgImdldCB2YWx1ZXMgZm9yIHJlZ2V4cDogbmFtZS1yZWdleCBbdmFsdWUtcmVnZXhdIgorbXNnc3RyICJvYnRlbmlyIGxlcyB2YWxldXIgcG91ciBsYSByZWdleHAgOiByZWdleC1kZS1ub20gW3JlZ2V4LWRlLXZhbGV1cl0iCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NjQKLW1zZ2lkICJyZW5hbWUgc2VjdGlvbjogb2xkLW5hbWUgbmV3LW5hbWUiCi1tc2dzdHIgIiIKK21zZ2lkICJnZXQgdmFsdWUgc3BlY2lmaWMgZm9yIHRoZSBVUkw6IHNlY3Rpb25bLnZhcl0gVVJMIgorbXNnc3RyICJvYnRlbmlyIGxhIHZhbGV1ciBzcMOpY2lmaXF1ZSBwb3VyIGwnVVJMIDogc2VjdGlvblsudmFyXSBVUkwiCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NjUKLW1zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgorbXNnaWQgInJlcGxhY2UgYWxsIG1hdGNoaW5nIHZhcmlhYmxlczogbmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgogbXNnc3RyICIiCisicmVtcGxhY2VyIHRvdXRlcyBsZXMgdmFyaWFibGVzIGNvcnJlc3BvbmRhbnQgOiBub20gdmFsZXVyIFtyZWdleC1kZS12YWxldXJdIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjY2Ci1tc2dpZCAibGlzdCBhbGwiCi1tc2dzdHIgIiIKK21zZ2lkICJhZGQgYSBuZXcgdmFyaWFibGU6IG5hbWUgdmFsdWUiCittc2dzdHIgImFqb3V0ZXIgdW5lIG5vdXZlbGxlIHZhcmlhYmxlIDogbm9tIHZhbGV1ciIKIAogIzogYnVpbHRpbi9jb25maWcuYzo2NwotbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjggYnVpbHRpbi9jb25maWcuYzo2OQotbXNnaWQgInNsb3QiCi1tc2dzdHIgIiIKK21zZ2lkICJyZW1vdmUgYSB2YXJpYWJsZTogbmFtZSBbdmFsdWUtcmVnZXhdIgorbXNnc3RyICJzdXBwcmltZXIgdW5lIHZhcmlhYmxlIDogbm9tIFtyZWdleC1kZS12YWxldXJdIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjY4Ci1tc2dpZCAiZmluZCB0aGUgY29sb3IgY29uZmlndXJlZDogW2RlZmF1bHRdIgotbXNnc3RyICIiCittc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCittc2dzdHIgInN1cHByaW1lciB0b3V0ZXMgbGVzIGNvcnJlc3BvbmRhbmNlcyBub20gW3JlZ2V4LWRlLXZhbGV1cl0iCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NjkKLW1zZ2lkICJmaW5kIHRoZSBjb2xvciBzZXR0aW5nOiBbc3Rkb3V0LWlzLXR0eV0iCi1tc2dzdHIgIiIKK21zZ2lkICJyZW5hbWUgc2VjdGlvbjogb2xkLW5hbWUgbmV3LW5hbWUiCittc2dzdHIgInJlbm9tbWVyIHVuZSBzZWN0aW9uIDogYW5jaWVuLW5vbSBub3V2ZWF1LW5vbSIKIAogIzogYnVpbHRpbi9jb25maWcuYzo3MAotbXNnaWQgIlR5cGUiCi1tc2dzdHIgIiIKK21zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgorbXNnc3RyICJzdXBwcmltZXIgdW5lIHNlY3Rpb24gOiBub20iCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKLW1zZ2lkICJ2YWx1ZSBpcyBcInRydWVcIiBvciBcImZhbHNlXCIiCi1tc2dzdHIgIiIKK21zZ2lkICJsaXN0IGFsbCIKK21zZ3N0ciAiYWZmaWNoZXIgdG91dCIKIAogIzogYnVpbHRpbi9jb25maWcuYzo3MgotbXNnaWQgInZhbHVlIGlzIGRlY2ltYWwgbnVtYmVyIgotbXNnc3RyICIiCittc2dpZCAib3BlbiBhbiBlZGl0b3IiCittc2dzdHIgIm91dnJpciB1biDDqWRpdGV1ciIKKworIzogYnVpbHRpbi9jb25maWcuYzo3MyBidWlsdGluL2NvbmZpZy5jOjc0Cittc2dpZCAic2xvdCIKK21zZ3N0ciAiZW1wbGFjZW1lbnQiCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NzMKLW1zZ2lkICJ2YWx1ZSBpcyAtLWJvb2wgb3IgLS1pbnQiCi1tc2dzdHIgIiIKK21zZ2lkICJmaW5kIHRoZSBjb2xvciBjb25maWd1cmVkOiBbZGVmYXVsdF0iCittc2dzdHIgInRyb3V2ZXIgbGEgY291bGV1ciBjb25maWd1csOpZSA6IFtwYXIgZMOpZmF1dF0iCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKLW1zZ2lkICJ2YWx1ZSBpcyBhIHBhdGggKGZpbGUgb3IgZGlyZWN0b3J5IG5hbWUpIgotbXNnc3RyICIiCittc2dpZCAiZmluZCB0aGUgY29sb3Igc2V0dGluZzogW3N0ZG91dC1pcy10dHldIgorbXNnc3RyICJ0cm91dmVyIGxlIHLDqWdsYWdlIGRlIGxhIGNvdWxldXIgOiBbc3Rkb3V0LWVzdC10dHldIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjc1Ci1tc2dpZCAiT3RoZXIiCi1tc2dzdHIgIiIKK21zZ2lkICJUeXBlIgorbXNnc3RyICJUeXBlIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjc2Ci1tc2dpZCAidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIgotbXNnc3RyICIiCittc2dpZCAidmFsdWUgaXMgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiIgorbXNnc3RyICJsYSB2YWxldXIgZXN0IFwidHJ1ZVwiICh2cmFpKSBvdXIgXCJmYWxzZVwiIChmYXV4KSIKIAogIzogYnVpbHRpbi9jb25maWcuYzo3NworbXNnaWQgInZhbHVlIGlzIGRlY2ltYWwgbnVtYmVyIgorbXNnc3RyICJsYSB2YWxldXIgZXN0IHVuIG5vbWJyZSBkw6ljaW1hbCIKKworIzogYnVpbHRpbi9jb25maWcuYzo3OAorbXNnaWQgInZhbHVlIGlzIC0tYm9vbCBvciAtLWludCIKK21zZ3N0ciAibGEgdmFsZXVyIGVzdCAtLWJvb2wgb3UgLS1pbnQiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKK21zZ2lkICJ2YWx1ZSBpcyBhIHBhdGggKGZpbGUgb3IgZGlyZWN0b3J5IG5hbWUpIgorbXNnc3RyICJsYSB2YWxldXIgZXN0IHVuIGNoZW1pbiAodmVycyB1biBmaWNoaWVyIG91IHVuIHLDqXBlcnRvaXJlKSIKKworIzogYnVpbHRpbi9jb25maWcuYzo4MAorbXNnaWQgIk90aGVyIgorbXNnc3RyICJBdXRyZSIKKworIzogYnVpbHRpbi9jb25maWcuYzo4MQorbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKK21zZ3N0ciAidGVybWluZXIgbGVzIHZhbGV1cnMgYXZlYyB1biBjYXJhY3TDqHJlIE5VTCIKKworIzogYnVpbHRpbi9jb25maWcuYzo4MgogbXNnaWQgInJlc3BlY3QgaW5jbHVkZSBkaXJlY3RpdmVzIG9uIGxvb2t1cCIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZXNwZWN0ZXIgbGVzIGRpcmVjdGl2ZXMgZCdpbmNsdXNpb24gbG9ycyBkZSBsYSByZWNoZXJjaGUiCiAKICM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjgyCiBtc2dpZCAiZ2l0IGNvdW50LW9iamVjdHMgWy12XSBbLUggfCAtLWh1bWFuLXJlYWRhYmxlXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgogCiAjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NwogbXNnaWQgInByaW50IHNpemVzIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MTUKLW1zZ2lkICJnaXQgZGVzY3JpYmUgW29wdGlvbnNdIDxjb21taXR0aXNoPioiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZSBsZXMgdGFpbGxlcyBkYW5zIHVuIGZvcm1hdCBodW1haW5lbWVudCBsaXNpYmxlIgogCiAjOiBidWlsdGluL2Rlc2NyaWJlLmM6MTYKLW1zZ2lkICJnaXQgZGVzY3JpYmUgW29wdGlvbnNdIC0tZGlydHkiCi1tc2dzdHIgIiIKK21zZ2lkICJnaXQgZGVzY3JpYmUgW29wdGlvbnNdIDxjb21taXQtaXNoPioiCittc2dzdHIgImdpdCBkZXNjcmliZSBbb3B0aW9uc10gPGNvbW1pdCBvdSBhcHBhcmVudMOpPioiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBub3QgYXZhaWxhYmxlIgotbXNnc3RyICIiCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MTcKK21zZ2lkICJnaXQgZGVzY3JpYmUgW29wdGlvbnNdIC0tZGlydHkiCittc2dzdHIgImdpdCBkZXNjcmliZSBbb3B0aW9uc10gLS1kaXJ0eSIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjIzNwogIywgYy1mb3JtYXQKLW1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIGhhcyBubyBlbWJlZGRlZCBuYW1lIgotbXNnc3RyICIiCittc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBub3QgYXZhaWxhYmxlIgorbXNnc3RyICJsJ8OpdGlxdWV0dGUgYW5ub3TDqWUgJXMgbidlc3QgcGFzIGRpc3BvbmlibGUiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMzkKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBoYXMgbm8gZW1iZWRkZWQgbmFtZSIKK21zZ3N0ciAibCfDqXRpcXVldHRlIGFubm90w6llICVzIG4nYSBwYXMgZGUgbm9tIGVtYmFycXXDqSIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBpcyByZWFsbHkgJyVzJyBoZXJlIgotbXNnc3RyICIiCittc2dzdHIgImwnw6l0aXF1ZXR0ZSAnJXMnIGVzdCBlbiBmYWl0ICclcyciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNjYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXMgbidlc3QgcGFzIHVuIG5vbSBkJ29iamV0IHZhbGlkZSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI2OQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCAnJXMnIG9iamVjdCIKIG1zZ3N0ciAiJXMgbidlc3QgcGFzIHVuIG9iamV0ICclcycgdmFsaWRlIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjg2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRhZyBleGFjdGx5IG1hdGNoZXMgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJhdWN1bmUgw6l0aXF1ZXR0ZSBuZSBjb3JyZXNwb25kIHBhcmZhaXRlbWVudCDDoCAnJXMnIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjg4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInNlYXJjaGluZyB0byBkZXNjcmliZSAlc1xuIgotbXNnc3RyICIiCittc2dzdHIgInJlY2hlcmNoZSBkZSBsYSBkZXNjcmlwdGlvbiBkZSAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIgotbXNnc3RyICIiCittc2dzdHIgInJlY2hlcmNoZSB0ZXJtaW7DqWUgw6AgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM1MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gYW5ub3RhdGVkIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCiAiSG93ZXZlciwgdGhlcmUgd2VyZSB1bmFubm90YXRlZCB0YWdzOiB0cnkgLS10YWdzLiIKIG1zZ3N0ciAiIgorIkF1Y3VuZSDDqXRpcXVldHRlIGFubm90w6llIG5lIHBldXQgZMOpY3JpcmUgJyVzJy5cbiIKKyJDZXBlbmRhbnQsIGlsIGV4aXN0ZSBkZXMgw6l0aXF1ZXR0ZXMgbm9uLWFubm90w6llcyA6IGVzc2F5ZXogYXZlYyAtLXRhZ3MuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzU2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgogIlRyeSAtLWFsd2F5cywgb3IgY3JlYXRlIHNvbWUgdGFncy4iCiBtc2dzdHIgIiIKKyJBdWN1bmUgw6l0aXF1ZXR0ZSBuZSBwZXV0IGTDqWNyaXJlICclcycuXG4iCisiRXNzYXlleiAtLWFsd2F5cywgb3UgY3LDqWV6IGRlcyDDqXRpcXVldHRlcy4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNzcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozODQKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhdmVyc2VkICVsdSBjb21taXRzXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiJWx1IGNvbW1pdHMgcGFyY291cnVzXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozODAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm1vcmUgdGhhbiAlaSB0YWdzIGZvdW5kOyBsaXN0ZWQgJWkgbW9zdCByZWNlbnRcbiIKICJnYXZlIHVwIHNlYXJjaCBhdCAlc1xuIgogbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDIKLW1zZ2lkICJmaW5kIHRoZSB0YWcgdGhhdCBjb21lcyBhZnRlciB0aGUgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDMKLW1zZ2lkICJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDQKLW1zZ2lkICJ1c2UgYW55IHJlZiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA1Ci1tc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwNgotbXNnaWQgImFsd2F5cyB1c2UgbG9uZyBmb3JtYXQiCi1tc2dzdHIgIiIKKyJwbHVzIGRlICVpIMOpdGlxdWV0dGVzIG9udCDDqXTDqSB0cm91dsOpZXM7IHNldWxlcyBsZXMgJWkgcGx1cyByw6ljZW50ZXMgc29udCAiCisiYWZmaWNow6llc1xuIgorImFiYW5kb24gZGUgbGEgcmVjaGVyY2hlIMOgICVzXG4iCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDkKLW1zZ2lkICJvbmx5IG91dHB1dCBleGFjdCBtYXRjaGVzIgotbXNnc3RyICIiCittc2dpZCAiZmluZCB0aGUgdGFnIHRoYXQgY29tZXMgYWZ0ZXIgdGhlIGNvbW1pdCIKK21zZ3N0ciAicmVjaGVyY2hlciBsJ8OpdGlxdWV0dGUgcXVpIHN1aXQgbGUgY29tbWl0IgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwCittc2dpZCAiZGVidWcgc2VhcmNoIHN0cmF0ZWd5IG9uIHN0ZGVyciIKK21zZ3N0ciAiZMOpYm9ndWVyIGxhIHN0cmF0w6lnaWUgZGUgcmVjaGVyY2hlIHN1ciBzdGRlcnIiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTEKLW1zZ2lkICJjb25zaWRlciA8bj4gbW9zdCByZWNlbnQgdGFncyAoZGVmYXVsdDogMTApIgotbXNnc3RyICIiCittc2dpZCAidXNlIGFueSByZWYiCittc2dzdHIgInV0aWxpc2VyIG4naW1wb3J0ZSBxdWVsbGUgcsOpZsOpcmVuY2UiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTIKK21zZ2lkICJ1c2UgYW55IHRhZywgZXZlbiB1bmFubm90YXRlZCIKK21zZ3N0ciAidXRpbGlzZXIgbidpbXBvcnRlIHF1ZWxsZSDDqXRpcXVldHRlLCBtw6ptZSBub24tYW5ub3TDqWUiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTMKLW1zZ2lkICJvbmx5IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgotbXNnc3RyICIiCittc2dpZCAiYWx3YXlzIHVzZSBsb25nIGZvcm1hdCIKK21zZ3N0ciAidG91am91cnMgdXRpbGlzZXIgbGUgZm9ybWF0IGxvbmciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTUgYnVpbHRpbi9uYW1lLXJldi5jOjIzOAotbXNnaWQgInNob3cgYWJicmV2aWF0ZWQgY29tbWl0IG9iamVjdCBhcyBmYWxsYmFjayIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDE2Ci1tc2dpZCAibWFyayIKLW1zZ3N0ciAiIgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxNAorbXNnaWQgIm9ubHkgZm9sbG93IGZpcnN0IHBhcmVudCIKK21zZ3N0ciAibmUgc3VpdnJlIHF1ZSBsZSBwcmVtaWVyIHBhcmVudCIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxNworbXNnaWQgIm9ubHkgb3V0cHV0IGV4YWN0IG1hdGNoZXMiCittc2dzdHIgIm4nYWZmaWNoZXIgcXVlIGxlcyBjb3JyZXNwb25kYW5jZXMgZXhhY3RlcyIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxOQorbXNnaWQgImNvbnNpZGVyIDxuPiBtb3N0IHJlY2VudCB0YWdzIChkZWZhdWx0OiAxMCkiCittc2dzdHIgIiIKKyJjb25zaWTDqXJlciB1bmlxdWVtZW50IGxlcyA8bj4gw6l0aXF1ZXR0ZXMgbGUgcGx1cyByw6ljZW50ZXMgKGTDqWZhdXQgOiAxMCkiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MjEKK21zZ2lkICJvbmx5IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgorbXNnc3RyICJuZSBjb25zaWTDqXJlciBxdWUgbGVzIMOpdGlxdWV0dGVzIGNvcnJlc3BvbmRhbnQgw6AgPG1vdGlmPiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQyMyBidWlsdGluL25hbWUtcmV2LmM6MzIxCittc2dpZCAic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIgorbXNnc3RyICJhZmZpY2hlciBsZXMgb2JqZXRzIGNvbW1pdHMgYWJyw6lnw6lzIGVuIGRlcm5pZXIgcmVjb3VycyIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQyNAorbXNnaWQgIm1hcmsiCittc2dzdHIgIm1hcnF1ZSIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQyNQogbXNnaWQgImFwcGVuZCA8bWFyaz4gb24gZGlydHkgd29ya2luZyB0cmVlIChkZWZhdWx0OiBcIi1kaXJ0eVwiKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJham91dGVyIDxtYXJxdWU+IHNpIGxhIGNvcGllIGRlIHRyYXZhaWwgZXN0IHNhbGUgKGTDqWZhdXQgOiBcIi1kaXJ0eVwiKSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQzNQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MwogbXNnaWQgIi0tbG9uZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFiYnJldj0wIgotbXNnc3RyICIiCittc2dzdHIgIi0tbG9uZyBldCAtLWFiYnJldj0wIHNvbnQgaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ2MQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ2OQogbXNnaWQgIk5vIG5hbWVzIGZvdW5kLCBjYW5ub3QgZGVzY3JpYmUgYW55dGhpbmcuIgotbXNnc3RyICIiCittc2dzdHIgImF1Y3VuIG5vbSB0cm91dsOpLCBpbXBvc3NpYmxlIGRlIGTDqWNyaXJlIHF1b2kgcXVlIGNlIHNvaXQuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDgxCi1tc2dpZCAiLS1kaXJ0eSBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXR0aXNoZXMiCi1tc2dzdHIgIiIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0ODkKK21zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKK21zZ3N0ciAiLS1kaXJ0eSBlc3QgaW5jb21wYXRpYmxlIGF2ZWMgbGEgc3DDqWNpZmljYXRpb24gZGUgY29tbWl0cyBvdSBhc3NpbWlsw6lzIgogCi0jOiBidWlsdGluL2RpZmYuYzo3OQorIzogYnVpbHRpbi9kaWZmLmM6ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogbm90IGEgcmVndWxhciBmaWxlIG9yIHN5bWxpbmsiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJyVzJyA6IG4nZXN0IHBhcyB1biBmaWNoaWVyIHLDqWd1bGllciBuaSB1biBsaWVuIHN5bWJvbGlxdWUiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjIyOAorIzogYnVpbHRpbi9kaWZmLmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJvcHRpb24gaW52YWxpZGUgOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzA1CisjOiBidWlsdGluL2RpZmYuYzozNTcKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiIgorbXNnc3RyICJDZSBuJ2VzdCBwYXMgdW4gZMOpcMO0dCBnaXQgISIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzQ4CisjOiBidWlsdGluL2RpZmYuYzo0MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvYmplY3QgJyVzJyBnaXZlbi4iCi1tc2dzdHIgIiIKK21zZ3N0ciAib2JqZXQgc3DDqWNpZmnDqSAnJXMnIGludmFsaWRlLiIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzUzCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1vcmUgdGhhbiAlZCB0cmVlcyBnaXZlbjogJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2RpZmYuYzozNjMKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgInBsdXMgZGUgZGV1eCBibG9icyBzcMOpY2lmacOpcyA6ICclcyciCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM3MQorIzogYnVpbHRpbi9kaWZmLmM6NDE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCi1tc2dzdHIgIiIKK21zZ3N0ciAib2JqZXQgbm9uIGfDqXLDqSAnJXMnIHNww6ljaWZpw6kuIgogCiAjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MjIKIG1zZ2lkICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBmYXN0LWV4cG9ydCBbb3B0aW9ucy1kZS1saXN0ZS1kZS1yw6l2aXNpb25zXSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY1OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MwogbXNnaWQgInNob3cgcHJvZ3Jlc3MgYWZ0ZXIgPG4+IG9iamVjdHMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY2MAotbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBzaWduZWQgdGFncyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjYzCi1tc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHRhZ3MgdGhhdCB0YWcgZmlsdGVyZWQgb2JqZWN0cyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjY2Ci1tc2dpZCAiRHVtcCBtYXJrcyB0byB0aGlzIGZpbGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY2OAotbXNnaWQgIkltcG9ydCBtYXJrcyBmcm9tIHRoaXMgZmlsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjcwCi1tc2dpZCAiRmFrZSBhIHRhZ2dlciB3aGVuIHRhZ3MgbGFjayBvbmUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MgotbXNnaWQgIk91dHB1dCBmdWxsIHRyZWUgZm9yIGVhY2ggY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzQKLW1zZ2lkICJVc2UgdGhlIGRvbmUgZmVhdHVyZSB0byB0ZXJtaW5hdGUgdGhlIHN0cmVhbSIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsYSBwcm9ncmVzc2lvbiBhcHLDqHMgPG4+IG9iamV0cyIKIAogIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NQotbXNnaWQgIlNraXAgb3V0cHV0IG9mIGJsb2IgZGF0YSIKK21zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2Ygc2lnbmVkIHRhZ3MiCittc2dzdHIgInPDqWxlY3Rpb25uZXIgbGEgZ2VzdGlvbiBkZXMgw6l0aXF1ZXR0ZXMgc2lnbsOpZXMiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzgKK21zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgogbXNnc3RyICIiCisic8OpbGVjdGlvbm5lciBsYSBnZXN0aW9uIGRlcyDDqXRpcXVldHRlcyBxdWkgcG9pbnRlbnQgc3VyIGRlcyBvYmpldHMgZmlsdHLDqXMiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODEKK21zZ2lkICJEdW1wIG1hcmtzIHRvIHRoaXMgZmlsZSIKK21zZ3N0ciAiRW5yZWdpc3RyZXIgbGVzIG1hcnF1ZXMgZGFucyBjZSBmaWNoaWVyIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgzCittc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIgorbXNnc3RyICJpbXBvcnRlciBsZXMgbWFycXVlcyBkZXB1aXMgY2UgZmljaGllciIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4NQorbXNnaWQgIkZha2UgYSB0YWdnZXIgd2hlbiB0YWdzIGxhY2sgb25lIgorbXNnc3RyICJmYWxzaWZpZXIgdW4gYXV0ZXVyIGQnw6l0aXF1ZXR0ZSBzaSBsJ8OpdGlxdWV0dGUgbidlbiBwcsOpc2VudGUgcGFzIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njg3Cittc2dpZCAiT3V0cHV0IGZ1bGwgdHJlZSBmb3IgZWFjaCBjb21taXQiCittc2dzdHIgIkFmZmljaGVyIGwnYXJicmUgY29tcGxldCBwb3VyIGNoYXF1ZSBjb21taXQiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODkKK21zZ2lkICJVc2UgdGhlIGRvbmUgZmVhdHVyZSB0byB0ZXJtaW5hdGUgdGhlIHN0cmVhbSIKK21zZ3N0ciAiVXRpbGlzZXIgbGEgZm9uY3Rpb24gXCJkb25lXCIgcG91ciB0ZXJtaW5lciBsZSBmbHV4IgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjkwCittc2dpZCAiU2tpcCBvdXRwdXQgb2YgYmxvYiBkYXRhIgorbXNnc3RyICJTYXV0ZXIgbCdhZmZpY2hhZ2UgZGUgZG9ubsOpZXMgZGUgYmxvYiIKIAogIzogYnVpbHRpbi9mZXRjaC5jOjIwCiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPGTDqXDDtHQ+IFs8c3DDqWNpZmljYXRpb24tZGUtcsOpZsOpcmVuY2U+Li4uXV0iCiAKICM6IGJ1aWx0aW4vZmV0Y2guYzoyMQogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXA+IgotbXNnc3RyICIiCittc2dzdHIgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXBlPiIKIAogIzogYnVpbHRpbi9mZXRjaC5jOjIyCiBtc2dpZCAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzxvcHRpb25zPl0gWyg8cmVwb3NpdG9yeT4gfCA8Z3JvdXA+KS4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzxvcHRpb25zPl0gWyg8ZMOpcMO0dD4gfCA8Z3JvdXBlPikuLi5dIgogCiAjOiBidWlsdGluL2ZldGNoLmM6MjMKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjYwCi1tc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NjIKLW1zZ2lkICJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjY0Ci1tc2dpZCAicGF0aCB0byB1cGxvYWQgcGFjayBvbiByZW1vdGUgZW5kIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NQotbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjY3Ci1tc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo2OQotbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjcxCi1tc2dpZCAiZG8gbm90IGZldGNoIGFsbCB0YWdzICgtLW5vLXRhZ3MpIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MwotbXNnaWQgInBydW5lIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyBubyBsb25nZXIgb24gcmVtb3RlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NAotbXNnaWQgIm9uLWRlbWFuZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiAKICM6IGJ1aWx0aW4vZmV0Y2guYzo3NQotbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCi1tc2dzdHIgIiIKK21zZ2lkICJmZXRjaCBmcm9tIGFsbCByZW1vdGVzIgorbXNnc3RyICJyw6ljdXDDqXJlciBkZXB1aXMgdG91cyBsZSBkw6lww7R0cyBkaXN0YW50cyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjc3Cittc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgorbXNnc3RyICJham91dGVyIMOgIC5naXQvRkVUQ0hfSEVBRCBhdSBsaWV1IGRlIGwnw6ljcmFzZXIiCiAKICM6IGJ1aWx0aW4vZmV0Y2guYzo3OQotbXNnaWQgImtlZXAgZG93bmxvYWRlZCBwYWNrIgotbXNnc3RyICIiCittc2dpZCAicGF0aCB0byB1cGxvYWQgcGFjayBvbiByZW1vdGUgZW5kIgorbXNnc3RyICJjaGVtaW4gdmVycyBsZXF1ZWwgdMOpbMOpY2hhcmdlciBsZSBwYXF1ZXQgc3VyIGxlIHBvc3RlIGRpc3RhbnQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MQotbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgotbXNnc3RyICIiCisjOiBidWlsdGluL2ZldGNoLmM6ODAKK21zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgbG9jYWwgYnJhbmNoIgorbXNnc3RyICJmb3JjZXIgbCfDqWNyYXNlbWVudCBkZSBsYSBicmFuY2hlIGxvY2FsZSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjgyCittc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgorbXNnc3RyICJyw6ljdXDDqXJlciBkZXB1aXMgcGx1c2lldXJzIGTDqXDDtHRzIGRpc3RhbnRzIgogCiAjOiBidWlsdGluL2ZldGNoLmM6ODQKLW1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgotbXNnc3RyICIiCittc2dpZCAiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIKK21zZ3N0ciAicsOpY3Vww6lyZXIgdG91dGVzIGxlcyDDqXRpcXVldHRlcyBldCBsZXVycyBvYmpldHMgYXNzb2Npw6lzIgogCiAjOiBidWlsdGluL2ZldGNoLmM6ODYKLW1zZ2lkICJjb252ZXJ0IHRvIGEgY29tcGxldGUgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiIgorbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKK21zZ3N0ciAibmUgcGFzIHLDqWN1cMOpcmVyIHRvdXRlcyBsZXMgw6l0aXF1ZXR0ZXMgKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4OCBidWlsdGluL2xvZy5jOjExMzAKLW1zZ2lkICJkaXIiCisjOiBidWlsdGluL2ZldGNoLmM6ODgKK21zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKIG1zZ3N0ciAiIgorIsOpbGltaW5lciBsZXMgYnJhbmNoZXMgZGUgc3VpdmkgZGlzdGFudCBzaSBsYSBicmFuY2hlIG4nZXhpc3RlIHBsdXMgZGFucyBsZSAiCisiZMOpcMO0dCBkaXN0YW50IgogCiAjOiBidWlsdGluL2ZldGNoLmM6ODkKK21zZ2lkICJvbi1kZW1hbmQiCittc2dzdHIgIsOgIGxhIGRlbWFuZGUiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MAorbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCittc2dzdHIgImNvbnRyw7RsZXIgbGEgcsOpY3Vww6lyYXRpb24gcsOpY3Vyc2l2ZSBkYW5zIGxlcyBzb3VzLW1vZHVsZXMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NAorbXNnaWQgImtlZXAgZG93bmxvYWRlZCBwYWNrIgorbXNnc3RyICJjb25zZXJ2ZXIgbGUgcGFxdWV0IHTDqWzDqWNoYXJnw6kiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NgorbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgorbXNnc3RyICJwZXJtZXR0cmUgbGEgbWlzZSDDoCBqb3VyIGRlIGxhIHLDqWbDqXJlbmNlIEhFQUQiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OQorbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCittc2dzdHIgImFwcHJvZm9uZGlyIGwnaGlzdG9yaXF1ZSBkJ3VuIGNsb25lIHN1cGVyZmljaWVsIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTAxCittc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCittc2dzdHIgImNvbnZlcnRpciBlbiB1biBkw6lww7R0IGNvbXBsZXQiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDMgYnVpbHRpbi9sb2cuYzoxMTk3Cittc2dpZCAiZGlyIgorbXNnc3RyICJkaXIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDQKIG1zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgotbXNnc3RyICIiCittc2dzdHIgInByw6lmaXhlciBjZWNpIMOgIGxhIHNvcnRpZSBkdSBjaGVtaW4gZHUgc291cy1tb2R1bGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MgorIzogYnVpbHRpbi9mZXRjaC5jOjEwNwogbXNnaWQgImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIgotbXNnc3RyICIiCittc2dzdHIgIm1vZGUgcGFyIGTDqWZhdXQgcG91ciBsYSByw6ljdXJzaW9uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjA0CisjOiBidWlsdGluL2ZldGNoLmM6MTA5Cittc2dpZCAiYWNjZXB0IHJlZnMgdGhhdCB1cGRhdGUgLmdpdC9zaGFsbG93IgorbXNnc3RyICJhY2NlcHRlciBsZXMgcsOpZsOpcmVuY2VzIHF1aSBtZXR0ZW50IMOgIGpvdXIgLmdpdC9zaGFsbG93IgorCisjOiBidWlsdGluL2ZldGNoLmM6MzQ3CiBtc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSB0cm91dmVyIGxhIHLDqWbDqXJlbmNlIEhFQUQgZGlzdGFudGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyNTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJvYmpldCAlcyBub24gdHJvdXbDqSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI2MgorIzogYnVpbHRpbi9mZXRjaC5jOjQxNgogbXNnaWQgIlt1cCB0byBkYXRlXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJbw6Agam91cl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyNzYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiISAlLSpzICUtKnMgLT4gJXMgIChjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiISAlLSpzICUtKnMgLT4gJXMgIChpbXBvc3NpYmxlIGRlIHLDqWN1cMOpcmVyIGxhIGJyYW5jaGUgYWN0dWVsbGUpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mjc3IGJ1aWx0aW4vZmV0Y2guYzozNjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0MzEgYnVpbHRpbi9mZXRjaC5jOjUxNwogbXNnaWQgIltyZWplY3RlZF0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiW3JlamV0w6ldIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mjg4CisjOiBidWlsdGluL2ZldGNoLmM6NDQyCiBtc2dpZCAiW3RhZyB1cGRhdGVdIgotbXNnc3RyICIiCittc2dzdHIgIlttaXNlIMOgIGpvdXIgZGUgbCfDqXRpcXVldHRlXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI5MCBidWlsdGluL2ZldGNoLmM6MzI1IGJ1aWx0aW4vZmV0Y2guYzozNDMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0NDQgYnVpbHRpbi9mZXRjaC5jOjQ3OSBidWlsdGluL2ZldGNoLmM6NDk3CiBtc2dpZCAiICAodW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYpIgotbXNnc3RyICIiCittc2dzdHIgIiAgKGltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGEgcsOpZsOpcmVuY2UgbG9jYWxlKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMwOAorIzogYnVpbHRpbi9mZXRjaC5jOjQ2MgogbXNnaWQgIltuZXcgdGFnXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJbbm91dmVsbGUgw6l0aXF1ZXR0ZV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0NjUKIG1zZ2lkICJbbmV3IGJyYW5jaF0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiW25vdXZlbGxlIGJyYW5jaGVdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzE0CisjOiBidWlsdGluL2ZldGNoLmM6NDY4CiBtc2dpZCAiW25ldyByZWZdIgotbXNnc3RyICIiCittc2dzdHIgIltub3V2ZWxsZSByw6lmw6lyZW5jZV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozNTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MTMKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIGxhIHLDqWbDqXJlbmNlIGxvY2FsZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM1OQorIzogYnVpbHRpbi9mZXRjaC5jOjUxMwogbXNnaWQgImZvcmNlZCB1cGRhdGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAibWlzZSDDoCBqb3VyIGZvcmPDqWUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozNjUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MTkKIG1zZ2lkICIobm9uLWZhc3QtZm9yd2FyZCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiKHBhcyBkJ2F2YW5jZSByYXBpZGUpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mzk2IGJ1aWx0aW4vZmV0Y2guYzo2ODgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1NTIgYnVpbHRpbi9mZXRjaC5jOjc4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXNcbiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAlcyA6ICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0MDUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIgogbXNnc3RyICIlcyBuJ2EgcGFzIGVudm95w6kgdG91cyBsZXMgb2JqZXRzIG7DqWNlc3NhaXJlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDkxCisjOiBidWlsdGluL2ZldGNoLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlamVjdCAlcyBiZWNhdXNlIHNoYWxsb3cgcm9vdHMgYXJlIG5vdCBhbGxvd2VkIHRvIGJlIHVwZGF0ZWQiCittc2dzdHIgIiVzIHJlamV0w6kgcGFyY2UgcXVlIGxlcyByYWNpbmVzIHN1cGVyZmljaWVsbGVzIG5lIHNvbnQgcGFzIG1pc2VzIMOgIGpvdXIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NjcgYnVpbHRpbi9mZXRjaC5jOjc1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJGcm9tICUuKnNcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJEZXB1aXMgJS4qc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTAyCisjOiBidWlsdGluL2ZldGNoLmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJzb21lIGxvY2FsIHJlZnMgY291bGQgbm90IGJlIHVwZGF0ZWQ7IHRyeSBydW5uaW5nXG4iCiAiICdnaXQgcmVtb3RlIHBydW5lICVzJyB0byByZW1vdmUgYW55IG9sZCwgY29uZmxpY3RpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIiIKKyJkZXMgcsOpZsOpcmVuY2VzIGxvY2FsZXMgbidvbnQgcGFzIHB1IMOqdHJlIG1pc2VzIMOgIGpvdXIgOyBlc3NheWV6IGRlIGxhbmNlclxuIgorIiAnZ2l0IHJlbW90ZSBwcnVuZSAlcycgcG91ciBzdXBwcmltZXIgZGVzIGJyYW5jaGVzIGFuY2llbm5lcyBlbiBjb25mbGl0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTUyCisjOiBidWlsdGluL2ZldGNoLmM6NzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiCi1tc2dzdHIgIiIKK21zZ3N0ciAiICAgKCVzIHNlcmEgZW4gc3VzcGVucykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1NTMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgotbXNnc3RyICIiCittc2dzdHIgIiAgICglcyBlc3QgZGV2ZW51IGVuIHN1c3BlbnMpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTYwCisjOiBidWlsdGluL2ZldGNoLmM6NzU1CiBtc2dpZCAiW2RlbGV0ZWRdIgotbXNnc3RyICIiCittc2dzdHIgIltzdXBwcmltw6ldIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTYxIGJ1aWx0aW4vcmVtb3RlLmM6MTA1NQorIzogYnVpbHRpbi9mZXRjaC5jOjc1NiBidWlsdGluL3JlbW90ZS5jOjEwNTAKIG1zZ2lkICIobm9uZSkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiKGF1Y3VuKGUpKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY3OAorIzogYnVpbHRpbi9mZXRjaC5jOjc3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBmZXRjaCBpbnRvIGN1cnJlbnQgYnJhbmNoICVzIG9mIG5vbi1iYXJlIHJlcG9zaXRvcnkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiUmVmdXMgZGUgcsOpY3Vww6lyZXIgZGFucyBsYSBicmFuY2hlIGNvdXJhbnQgJXMgZCd1biBkw6lww7R0IG5vbiBudSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcxMgotIywgYy1mb3JtYXQKLW1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo3ODkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJMYSB2YWxldXIgXCIlMiRzXCIgZGUgbCdvcHRpb24gXCIlMSRzXCIgZXN0IGludmFsaWRlIHBvdXIgJTMkcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc5MgorIzogYnVpbHRpbi9mZXRjaC5jOjc5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIGlzIGlnbm9yZWQgZm9yICVzXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiTCdvcHRpb24gXCIlc1wiIGVzdCBpZ25vcsOpZSBwb3VyICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4OTQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZmV0Y2ggZnJvbSAlcyIKK21zZ3N0ciAiSmUgbmUgc2FpcyBwYXMgcsOpY3Vww6lyZXIgZGVwdWlzICVzIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTAxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyAlc1xuIgotbXNnc3RyICIiCittc2dzdHIgIlLDqWN1cMOpcmF0aW9uIGRlICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4OTYgYnVpbHRpbi9yZW1vdGUuYzoxMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE3IGJ1aWx0aW4vcmVtb3RlLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgotbXNnc3RyICIiCittc2dzdHIgIkltcG9zc2libGUgZGUgcsOpY3Vww6lyZXIgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDM2CiBtc2dpZCAiIgogIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgogInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCiBtc2dzdHIgIiIKKyJBdWN1biBkw6lww7R0IGRpc3RhbnQgc3DDqWNpZmnDqS4gVmV1aWxsZXogc3DDqWNpZmllciB1bmUgVVJMIG91IHVuIG5vbVxuIgorImRpc3RhbnQgZGVwdWlzIGxlc3F1ZWxzIGxlcyBub3V2ZWxsZXMgcsOpdmlzaW9ucyBkZXZyYWllbnQgw6p0cmUgcsOpY3Vww6lyw6llcy4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDU5CiBtc2dpZCAiWW91IG5lZWQgdG8gc3BlY2lmeSBhIHRhZyBuYW1lLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJWb3VzIGRldmV6IHNww6ljaWZpZXIgdW4gbm9tIGQnw6l0aXF1ZXR0ZS4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5ODEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTA3CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCi1tc2dzdHIgIiIKK21zZ3N0ciAiLS1kZXB0aCBldCAtLXVuc2hhbGxvdyBuZSBwZXV2ZW50IHBhcyDDqnRyZSB1dGlsaXPDqXMgZW5zZW1ibGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5ODMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTA5CiBtc2dpZCAiLS11bnNoYWxsb3cgb24gYSBjb21wbGV0ZSByZXBvc2l0b3J5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiLS11bnNoYWxsb3cgc3VyIHVuIGTDqXDDtHQgY29tcGxldCBuJ2EgcGFzIGRlIHNlbnMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAyCisjOiBidWlsdGluL2ZldGNoLmM6MTEzMgogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgotbXNnc3RyICIiCittc2dzdHIgImZldGNoIC0tYWxsIG4nYWNjZXB0ZSBwYXMgZCdhcmd1bWVudCBkZSBkw6lww7R0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAwNAorIzogYnVpbHRpbi9mZXRjaC5jOjExMzQKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZmV0Y2ggLS1hbGwgbidhIHBhcyBkZSBzZW5zIGF2ZWMgZGVzIHNww6ljaWZpY2F0aW9ucyBkZSByw6lmw6lyZW5jZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlIG9yIHJlbW90ZSBncm91cDogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZGlzdGFudCBvdSBncm91cGUgZGlzdGFudCBpbmV4aXN0YW50IDogJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDIzCisjOiBidWlsdGluL2ZldGNoLmM6MTE1MwogbXNnaWQgIkZldGNoaW5nIGEgZ3JvdXAgYW5kIHNwZWNpZnlpbmcgcmVmc3BlY3MgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgorIkxhIHLDqWN1cMOpcmF0aW9uIGQndW4gZ3JvdXBlIGV0IGxlcyBzcMOpY2lmaWNhdGlvbnMgZGUgcsOpZsOpcmVuY2UgbidvbnQgcGFzIGRlICIKKyJzZW5zIgogCiAjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxMwogbXNnaWQgImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWVzc2FnZT5dIFstLWxvZ1s9PG4+XXwtLW5vLWxvZ10gWy0tZmlsZSA8ZmlsZT5dIgogbXNnc3RyICIiCisiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dfC0tbm8tbG9nXSBbLS1maWxlIDxmaWNoaWVyPl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYgYnVpbHRpbi9ncmVwLmM6NzAxCi0jOiBidWlsdGluL21lcmdlLmM6MTg4IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUgYnVpbHRpbi9zaG93LXJlZi5jOjE3NQotIzogYnVpbHRpbi90YWcuYzo0NDYgcGFyc2Utb3B0aW9ucy5oOjEzMyBwYXJzZS1vcHRpb25zLmg6MjM5CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2IGJ1aWx0aW4vZ3JlcC5jOjcwMgorIzogYnVpbHRpbi9tZXJnZS5jOjE5NiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzgKKyM6IGJ1aWx0aW4vdGFnLmM6NDQ2IHBhcnNlLW9wdGlvbnMuaDoxMzUgcGFyc2Utb3B0aW9ucy5oOjI0MgogbXNnaWQgIm4iCi1tc2dzdHIgIiIKK21zZ3N0ciAibiIKIAogIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY0CiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgotbXNnc3RyICIiCittc2dzdHIgInBldXBsZXIgbGUgam91cm5hbCBhdmVjIGF1IHBsdXMgPG4+IMOpbMOpbWVudHMgZGVwdWlzIGxlIGpvdXJuYWwgY291cnQiCiAKICM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NwogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWxpYXMgcG91ciAtLWxvZyAob2Jzb2zDqHRlKSIKIAogIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcwCiBtc2dpZCAidGV4dCIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0ZXh0ZSIKIAogIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCiBtc2dpZCAidXNlIDx0ZXh0PiBhcyBzdGFydCBvZiBtZXNzYWdlIgotbXNnc3RyICIiCittc2dzdHIgInV0aWxpc2VyIDx0ZXh0ZT4gY29tbWUgZMOpYnV0IGRlIG1lc3NhZ2UiCiAKICM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MgogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgotbXNnc3RyICIiCittc2dzdHIgImZpY2hpZXIgZCdvw7kgbGlyZSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5NzkKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTA2MwogbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgW29wdGlvbnNdIFs8cGF0dGVybj5dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgW29wdGlvbnNdIFs8bW90aWY+XSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5OTQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTA3OAogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3Igc2hlbGxzIgotbXNnc3RyICIiCittc2dzdHIgIsOpY2hhcHBlciBsZXMgY2hhbXBzIHLDqXNlcnbDqXMgcG91ciBsZXMgaW50ZXJwcsOpdGV1cnMgZGUgY29tbWFuZGVzIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5NgorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDgwCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBwZXJsIgotbXNnc3RyICIiCittc2dzdHIgIsOpY2hhcHBlciBsZXMgY2hhbXBzIHLDqXNlcnbDqXMgcG91ciBwZXJsIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5OAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDgyCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBweXRob24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6ljaGFwcGVyIGxlcyBjaGFtcHMgcsOpc2VydsOpcyBwb3VyIHB5dGhvbiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDAwCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwODQKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHRjbCIKLW1zZ3N0ciAiIgorbXNnc3RyICLDqWNoYXBwZXIgbGVzIGNoYW1wcyByw6lzZXJ2w6lzIHBvdXIgdGNsIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDMKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTA4NwogbXNnaWQgInNob3cgb25seSA8bj4gbWF0Y2hlZCByZWZzIgotbXNnc3RyICIiCittc2dzdHIgIm4nYWZmaWNoZXIgcXVlIDxuPiByw6lmw6lyZW5jZXMgY29ycmVzcG9uZGFudCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDA0CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwODggYnVpbHRpbi9yZXBsYWNlLmM6MTc3CiBtc2dpZCAiZm9ybWF0IgotbXNnc3RyICIiCittc2dzdHIgImZvcm1hdCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDA0CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwODgKIG1zZ2lkICJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IgotbXNnc3RyICIiCittc2dzdHIgImZvcm1hdCDDoCB1dGlsaXNlciBwb3VyIGxhIHNvcnRpZSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDA1CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwODkKIG1zZ2lkICJrZXkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiY2zDqSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDA2CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwOTAKIG1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAibm9tIGR1IGNoYW1wIHNlcnZhbnQgw6AgdHJpZXIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYwOAorIzogYnVpbHRpbi9mc2NrLmM6NjA3CiBtc2dpZCAiZ2l0IGZzY2sgW29wdGlvbnNdIFs8b2JqZWN0Pi4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IGZzY2sgW29wdGlvbnNdIFs8b2JqZXQ+Li4uXSIKKworIzogYnVpbHRpbi9mc2NrLmM6NjEzCittc2dpZCAic2hvdyB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICJhZmZpY2hlciBsZXMgb2JqZXRzIGluYWNjZXNzaWJsZXMiCiAKICM6IGJ1aWx0aW4vZnNjay5jOjYxNAotbXNnaWQgInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIKLW1zZ3N0ciAiIgorbXNnaWQgInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIG9iamV0cyBlbiBzdXNwZW5zIgogCiAjOiBidWlsdGluL2ZzY2suYzo2MTUKLW1zZ2lkICJzaG93IGRhbmdsaW5nIG9iamVjdHMiCi1tc2dzdHIgIiIKK21zZ2lkICJyZXBvcnQgdGFncyIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIMOpdGlxdWV0dGVzIgogCiAjOiBidWlsdGluL2ZzY2suYzo2MTYKLW1zZ2lkICJyZXBvcnQgdGFncyIKLW1zZ3N0ciAiIgorbXNnaWQgInJlcG9ydCByb290IG5vZGVzIgorbXNnc3RyICJzaWduYWxlciBsZXMgbsWTdWRzIHJhY2luZXMiCiAKICM6IGJ1aWx0aW4vZnNjay5jOjYxNwotbXNnaWQgInJlcG9ydCByb290IG5vZGVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZnNjay5jOjYxOAogbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgotbXNnc3RyICIiCittc2dzdHIgImNvbnNpZMOpcmVyIGxlcyBvYmpldHMgZGUgbCdpbmRleCBjb21tZSBuxZN1ZHMgdMOqdGUiCisKKyMgdHJhbnNsYXRlZCBmcm9tIG1hbiBwYWdlCisjOiBidWlsdGluL2ZzY2suYzo2MTgKK21zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCittc2dzdHIgImNvbnNpZMOpcmVyIGxlcyByZWZsb2dzIGNvbW1lIG7Fk3VkcyB0w6p0ZSAocGFyIGTDqWZhdXQpIgogCiAjOiBidWlsdGluL2ZzY2suYzo2MTkKLW1zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCi1tc2dzdHIgIiIKK21zZ2lkICJhbHNvIGNvbnNpZGVyIHBhY2tzIGFuZCBhbHRlcm5hdGUgb2JqZWN0cyIKK21zZ3N0ciAiaW5zcGVjdGVyIGF1c3NpIGxlcyBvYmpldHMgcGFjayBldCBhbHRlcm5hdGlmcyIKIAogIzogYnVpbHRpbi9mc2NrLmM6NjIwCi1tc2dpZCAiYWxzbyBjb25zaWRlciBwYWNrcyBhbmQgYWx0ZXJuYXRlIG9iamVjdHMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mc2NrLmM6NjIxCiBtc2dpZCAiZW5hYmxlIG1vcmUgc3RyaWN0IGNoZWNraW5nIgotbXNnc3RyICIiCittc2dzdHIgImFjdGl2ZXIgdW5lIHbDqXJpZmljYXRpb24gcGx1cyBzdHJpY3QiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYyMworIzogYnVpbHRpbi9mc2NrLmM6NjIyCiBtc2dpZCAid3JpdGUgZGFuZ2xpbmcgb2JqZWN0cyBpbiAuZ2l0L2xvc3QtZm91bmQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6ljcmlyZSBsZXMgb2JqZXRzIGVuIHN1c3BlbnMgZGFucyAuZ2l0L2xvc3QtZm91bmQiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYyNCBidWlsdGluL3BydW5lLmM6MTM0CisjOiBidWlsdGluL2ZzY2suYzo2MjMgYnVpbHRpbi9wcnVuZS5jOjE0NAogbXNnaWQgInNob3cgcHJvZ3Jlc3MiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgcHJvZ3Jlc3Npb24iCiAKLSM6IGJ1aWx0aW4vZ2MuYzoyMgorIzogYnVpbHRpbi9nYy5jOjI0CiBtc2dpZCAiZ2l0IGdjIFtvcHRpb25zXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgZ2MgW29wdGlvbnNdIgogCi0jOiBidWlsdGluL2djLmM6NjMKKyM6IGJ1aWx0aW4vZ2MuYzo4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgIiVzIGludmFsaWRlIDogJyVzJyIKIAotIzogYnVpbHRpbi9nYy5jOjkwCisjOiBidWlsdGluL2djLmM6MTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZWx5IGxvbmcgb2JqZWN0IGRpcmVjdG9yeSAlLipzIgotbXNnc3RyICIiCittc2dzdHIgIm9iamV0IHLDqXBlcnRvaXJlIGTDqW1lbnRpZWxsZW1lbnQgbG9uZyAlLipzIgogCi0jOiBidWlsdGluL2djLmM6MTc5CisjOiBidWlsdGluL2djLmM6MjYyCiBtc2dpZCAicHJ1bmUgdW5yZWZlcmVuY2VkIG9iamVjdHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6lsaW1pbmVyIGxlcyBvYmpldHMgbm9uIHLDqWbDqXJlbmPDqXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxODEKKyM6IGJ1aWx0aW4vZ2MuYzoyNjQKIG1zZ2lkICJiZSBtb3JlIHRob3JvdWdoIChpbmNyZWFzZWQgcnVudGltZSkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6p0cmUgcGx1cyBjb25zY2llbmNpZXV4IChkdXLDqWUgZGUgdHJhaXRlbWVudCBhbGxvbmfDqWUpIgogCi0jOiBidWlsdGluL2djLmM6MTgyCisjOiBidWlsdGluL2djLmM6MjY1CiBtc2dpZCAiZW5hYmxlIGF1dG8tZ2MgbW9kZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJhY3RpdmVyIGxlIG1vZGUgYXV0by1nYyIKIAotIzogYnVpbHRpbi9nYy5jOjIyMgorIzogYnVpbHRpbi9nYy5jOjI2NgorbXNnaWQgImZvcmNlIHJ1bm5pbmcgZ2MgZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBnYyBydW5uaW5nIgorbXNnc3RyICIiCisiZm9yY2VyIGxlIGxhbmNlbWVudCBkdSByYW1hc3NlLW1pZXR0ZXMgbcOqbWUgc2kgdW4gYXV0cmUgcmFtYXNzZS1taWV0dGVzICIKKyJ0b3VybmUgZMOpasOgIgorCisjOiBidWlsdGluL2djLmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuIFlvdSBtYXkgYWxzb1xuIgogInJ1biBcImdpdCBnY1wiIG1hbnVhbGx5LiBTZWUgXCJnaXQgaGVscCBnY1wiIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgogbXNnc3RyICIiCisiQ29tcHJlc3Npb24gYXV0b21hdGlxdWUgZHUgZMOpcMO0dCBwb3VyIHVuZSBwZXJmb3JtYW5jZSBvcHRpbXVtLiBWb3VzIHBvdXZleiAiCisiYXVzc2lcbiIKKyJsYW5jZXIgXCJnaXQgZ2NcIiBtYW51ZWxsZW1lbnQuIFZvaXIgXCJnaXQgaGVscCBnY1wiIHBvdXIgcGx1cyAiCisiZCdpbmZvcm1hdGlvbi5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjI0OQorIy4gYmUgcXVpZXQgb24gLS1hdXRvCisjOiBidWlsdGluL2djLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJnYyBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gbWFjaGluZSAnJXMnIHBpZCAlPFBSSXVNQVg+ICh1c2UgLS1mb3JjZSBpZiBub3QpIgorbXNnc3RyICIiCisidW4gcmFtYXNzZS1taWV0dGVzIGVzdCBkw6lqw6AgZW4gY291cnMgc3VyIGxhIG1hY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiAiCisiKHV0aWxpc2V6IC0tZm9yY2Ugc2kgY2Ugbidlc3QgcGFzIGxlIGNhcykiCisKKyM6IGJ1aWx0aW4vZ2MuYzozNDEKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgdGhlbS4iCiBtc2dzdHIgIiIKKyJJbCB5IGEgdHJvcCBkJ29iamV0cyBzZXVscyBpbmFjY2Vzc2libGVzIDsgbGFuY2V6ICdnaXQgcHJ1bmUnIHBvdXIgbGVzICIKKyJzdXBwcmltZXIuIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMgorIzogYnVpbHRpbi9ncmVwLmM6MjMKIG1zZ2lkICJnaXQgZ3JlcCBbb3B0aW9uc10gWy1lXSA8cGF0dGVybj4gWzxyZXY+Li4uXSBbWy0tXSA8cGF0aD4uLi5dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBncmVwIFtvcHRpb25zXSBbLWVdIDxtb3RpZj4gWzxyw6l2aXNpb24+Li4uXSBbWy0tXSA8Y2hlbWluPi4uLl0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIxNworIzogYnVpbHRpbi9ncmVwLmM6MjE4CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyZXA6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJncmVwIDogw6ljaGVjIGRlIGNyw6lhdGlvbiBkdSBmaWw6ICVzIgogCiAjOiBidWlsdGluL2dyZXAuYzozNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNoZGlyOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICLDiWNoZWMgZGUgY2hkaXI6ICVzIgogCiAjOiBidWlsdGluL2dyZXAuYzo0NDMgYnVpbHRpbi9ncmVwLmM6NDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbCdhcmJyZSAoJXMpIgogCiAjOiBidWlsdGluL2dyZXAuYzo0OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZhaXJlIHVuIGdyZXAgc3VyIHVuIG9iamV0IGRlIHR5cGUgJXMiCiAKICM6IGJ1aWx0aW4vZ3JlcC5jOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgotbXNnc3RyICIiCittc2dzdHIgImwnb3B0aW9uICclYycgYXR0ZW5kIHVuIHZhbGV1ciBudW3DqXJpcXVlIgogCiAjOiBidWlsdGluL2dyZXAuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICclcyciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY0MworIzogYnVpbHRpbi9ncmVwLmM6NjQyCiBtc2dpZCAic2VhcmNoIGluIGluZGV4IGluc3RlYWQgb2YgaW4gdGhlIHdvcmsgdHJlZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZWNoZXJjaGVyIGRhbnMgbCdpbmRleCBwbHV0w7R0IHF1ZSBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY0NQorIzogYnVpbHRpbi9ncmVwLmM6NjQ0CiBtc2dpZCAiZmluZCBpbiBjb250ZW50cyBub3QgbWFuYWdlZCBieSBnaXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVjaGVyY2hlciBkYW5zIGxlcyBjb250ZW51cyBub24gZ8OpcsOpcyBwYXIgZ2l0IgogCi0jOiBidWlsdGluL2dyZXAuYzo2NDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY0NgogbXNnaWQgInNlYXJjaCBpbiBib3RoIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZWNoZXJjaGVyIGRhbnMgbGVzIGZpY2hpZXJzIHN1aXZpcyBldCBub24tc3VpdmlzIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NDkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY0OAogbXNnaWQgInNlYXJjaCBhbHNvIGluIGlnbm9yZWQgZmlsZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVjaGVyY2hlciBhdXNzaSBkYW5zIGxlcyBmaWNoaWVycyBpZ25vcsOpcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjUyCisjOiBidWlsdGluL2dyZXAuYzo2NTEKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBsaW5lcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsZXMgbGlnbmVzIHF1aSBuZSBjb3JyZXNwb25kZW50IHBhcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU0CisjOiBidWlsdGluL2dyZXAuYzo2NTMKIG1zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgotbXNnc3RyICIiCittc2dzdHIgImNvcnJlc3BvbmRhbmNlIGluc2Vuc2libGUgw6AgbGEgY2Fzc2UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY1NgorIzogYnVpbHRpbi9ncmVwLmM6NjU1CiBtc2dpZCAibWF0Y2ggcGF0dGVybnMgb25seSBhdCB3b3JkIGJvdW5kYXJpZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVjaGVyY2hlciBsZXMgbW90aWZzIGF1eCBzw6lwYXJhdGV1cnMgZGUgbW90cyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU4CisjOiBidWlsdGluL2dyZXAuYzo2NTcKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyB0ZXh0IgotbXNnc3RyICIiCittc2dzdHIgInRyYWl0ZXIgbGVzIGZpY2hpZXJzIGJpbmFpcmVzIGNvbW1lIHRleHRlIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1OQogbXNnaWQgImRvbid0IG1hdGNoIHBhdHRlcm5zIGluIGJpbmFyeSBmaWxlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJuZSBwYXMgY2hlcmNoZXIgbGVzIG1vdGlmcyBkYW5zIGxlcyBmaWNoaWVycyBiaW5haXJlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjYzCisjOiBidWlsdGluL2dyZXAuYzo2NjIKK21zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCittc2dzdHIgInRyYWl0ZXIgbGVzIGZpY2hpZXJzIGJpbmFpcmVzIGF2ZWMgbGVzIGZpbHRyZXMgdGV4dGNvbnYiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2NAogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKLW1zZ3N0ciAiIgorbXNnc3RyICJkZXNjZW5kcmUgYXUgcGx1cyBkZSA8cHJvZm9uZGV1cj4gZGFucyBsJ2FyYm9yZXNjZW5jZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjY3CisjOiBidWlsdGluL2dyZXAuYzo2NjgKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1dGlsaXNlciBkZXMgZXhwcmVzc2lvbnMgcsOpZ3VsacOocmVzIMOpdGVuZHVlcyBQT1NJWCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjcwCisjOiBidWlsdGluL2dyZXAuYzo2NzEKIG1zZ2lkICJ1c2UgYmFzaWMgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyAoZGVmYXVsdCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAidXRpbGlzZXIgZGVzIGV4cHJlc3Npb25zIHLDqWd1bGnDqHJlcyBiYXNpcXVlcyBQT1NJWCAocGFyIGTDqWZhdXQpIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3NAogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgotbXNnc3RyICIiCittc2dzdHIgImludGVycHLDqXRlciBsZXMgbW90aWZzIGNvbW1lIGRlIGNoYcOubmVzIGZpeGVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3NwogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo2NzkKLW1zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1dGlsaXNlciBkZXMgZXhwcmVzc2lvbnMgcsOpZ3VsacOocmVzIGNvbXBhdGlibGVzIGF2ZWMgUGVybCIKIAogIzogYnVpbHRpbi9ncmVwLmM6NjgwCi1tc2dpZCAiZG9uJ3Qgc2hvdyBmaWxlbmFtZXMiCi1tc2dzdHIgIiIKK21zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIG51bcOpcm9zIGRlIGxpZ25lIgogCiAjOiBidWlsdGluL2dyZXAuYzo2ODEKK21zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKK21zZ3N0ciAibmUgcGFzIHBhcyBhZmZpY2hlciBsZXMgbm9tcyBkZSBmaWNoaWVyIgorCisjOiBidWlsdGluL2dyZXAuYzo2ODIKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsZXMgbm9tcyBkZSBmaWNoaWVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NAogbXNnaWQgInNob3cgZmlsZW5hbWVzIHJlbGF0aXZlIHRvIHRvcCBkaXJlY3RvcnkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIG5vbXMgZGUgZmljaGllcnMgcmVsYXRpdmVtZW50IGF1IHLDqXBlcnRvaXJlIGRlIGJhc2UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NQorIzogYnVpbHRpbi9ncmVwLmM6Njg2CiBtc2dpZCAic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgotbXNnc3RyICIiCittc2dzdHIgIm4nYWZmaWNoZXIgcXVlIGxlcyBub21zIGRlIGZpY2hpZXJzIGF1IGxpZXUgZGVzIGxpZ25lcyBjb3JyZXNwb25kYW50IgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4OAogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgotbXNnc3RyICIiCittc2dzdHIgInN5bm9ueW1lIHBvdXIgLS1maWxlcy13aXRoLW1hdGNoZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5MAorIzogYnVpbHRpbi9ncmVwLmM6NjkxCiBtc2dpZCAic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIgotbXNnc3RyICIiCittc2dzdHIgIm4nYWZmaWNoZXIgcXVlIGxlcyBub21zIGRlcyBmaWNoaWVycyBzYW5zIGNvcnJlc3BvbmRhbmNlIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MwogbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ncmVwLmM6Njk0Ci1tc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXByaW1lciB1bmUgY2FyYWN0w6hyZSBOVUwgYXByw6hzIGxlIG5vbXMgZGUgZmljaGllciIKIAogIzogYnVpbHRpbi9ncmVwLmM6Njk1Ci1tc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCi1tc2dzdHIgIiIKK21zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgorbXNnc3RyICJhZmZpY2hlciBsZSBub21icmUgZGUgY29ycmVzcG9uZGFuY2VzIGF1IGxpZXUgZGVzIGxpZ25lcyBjb3JyZXNwb25kYW50IgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5NgorbXNnaWQgImhpZ2hsaWdodCBtYXRjaGVzIgorbXNnc3RyICJtZXR0cmUgZW4gw6l2aWRlbmNlIGxlcyBjb3JyZXNwb25kYW5jZXMiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5OAogbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgogbXNnc3RyICIiCisiaW1wcmltZXIgdW5lIGxpZ25lIHZpZGUgZW50cmUgbGVzIGNvcnJlc3BvbmRhbmNlcyBkZSBmaWNoaWVycyBkaWZmw6lyZW50cyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk5CisjOiBidWlsdGluL2dyZXAuYzo3MDAKIG1zZ2lkICJzaG93IGZpbGVuYW1lIG9ubHkgb25jZSBhYm92ZSBtYXRjaGVzIGZyb20gc2FtZSBmaWxlIgogbXNnc3RyICIiCisiYWZmaWNoZXIgbGUgbm9tIGRlIGZpY2hpZXIgdW5lIGZvaXMgYXUgZGVzc3VzIGRlcyBjb3JyZXNwb25kYW5jZXMgZHUgbcOqbWUgIgorImZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwMgorIzogYnVpbHRpbi9ncmVwLmM6NzAzCiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgYW5kIGFmdGVyIG1hdGNoZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgPG4+IGxpZ25lcyBkZSBjb250ZXh0ZSBhdmFudCBldCBhcHLDqHMgbGVzIGNvcnJlc3BvbmRhbmNlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA1CisjOiBidWlsdGluL2dyZXAuYzo3MDYKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNwotbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYWZ0ZXIgbWF0Y2hlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciA8bj4gbGlnbmVzIGRlIGNvbnRleHRlIGF2YW50IGxlcyBjb3JyZXNwb25kYW5jZXMiCiAKICM6IGJ1aWx0aW4vZ3JlcC5jOjcwOAotbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCi1tc2dzdHIgIiIKK21zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCittc2dzdHIgImFmZmljaGVyIDxuPiBsaWduZXMgZGUgY29udGV4dGUgYXByw6hzIGxlcyBjb3JyZXNwb25kYW5jZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxMQorIzogYnVpbHRpbi9ncmVwLmM6NzA5Cittc2dpZCAic2hvcnRjdXQgZm9yIC1DIE5VTSIKK21zZ3N0ciAicmFjY291cmNpIHBvdXIgLUMgTlVNIgorCisjOiBidWlsdGluL2dyZXAuYzo3MTIKIG1zZ2lkICJzaG93IGEgbGluZSB3aXRoIHRoZSBmdW5jdGlvbiBuYW1lIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICIiCisiYWZmaWNoZXIgdW5lIGxpZ25lIGF2ZWMgbGUgbm9tIGRlIGxhIGZvbmN0aW9uIGF2YW50IGxlcyBjb3JyZXNwb25kYW5jZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxMworIzogYnVpbHRpbi9ncmVwLmM6NzE0CiBtc2dpZCAic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgZm9uY3Rpb24gY29udGVuYW50ZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE2CisjOiBidWlsdGluL2dyZXAuYzo3MTcKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJsaXJlIGxlcyBtb3RpZnMgZGVwdWlzIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxOAorIzogYnVpbHRpbi9ncmVwLmM6NzE5CiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgotbXNnc3RyICIiCittc2dzdHIgInJlY2hlcmNoZXIgPG1vdGlmPiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzIwCisjOiBidWlsdGluL2dyZXAuYzo3MjEKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgotbXNnc3RyICIiCittc2dzdHIgImNvbWJpbmVyIGxlcyBtb3RpZnMgc3DDqWNpZmnDqXMgcGFyIC1lIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczMwogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICIiCisiaW5kaXF1ZXIgZGVzIGNvcnJlc3BvbmRhbmNlcyBhdmVjIGxlIGNvZGUgZGUgc29ydGllIG1haXMgc2FucyByaWVuIGFmZmljaGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczNQogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgIiIKKyJuJ2FmZmljaGVyIHF1ZSBsZXMgY29ycmVzcG9uZGFuY2VzIGRlIGZpY2hpZXJzIHF1aSBjb3JyZXNwb25kZW50IMOgIHRvdXMgbGVzICIKKyJtb3RpZnMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczNgorIzogYnVpbHRpbi9ncmVwLmM6NzM3CiBtc2dpZCAic2hvdyBwYXJzZSB0cmVlIGZvciBncmVwIGV4cHJlc3Npb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbCdhcmJyZSBkJ2FuYWx5c2UgcG91ciBsZSBtb3RpZiBncmVwIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQogbXNnaWQgInBhZ2VyIgotbXNnc3RyICIiCittc2dzdHIgInBhZ2luZXVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQogbXNnaWQgInNob3cgbWF0Y2hpbmcgZmlsZXMgaW4gdGhlIHBhZ2VyIgotbXNnc3RyICIiCittc2dzdHIgImFmZmljaGVyIGxlcyBmaWNoaWVycyBjb3JyZXNwb25kYW50IGRhbnMgbGUgcGFnaW5ldXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0MworIzogYnVpbHRpbi9ncmVwLmM6NzQ0CiBtc2dpZCAiYWxsb3cgY2FsbGluZyBvZiBncmVwKDEpIChpZ25vcmVkIGJ5IHRoaXMgYnVpbGQpIgotbXNnc3RyICIiCittc2dzdHIgInBlcm1ldHRyZSBsJ2FwcGVsIGRlIGdyZXAoMSkgKGlnbm9yw6kgcGFyIGNlIGJ1aWxkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQ0IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0NSBidWlsdGluL3Nob3ctcmVmLmM6MTg3CiBtc2dpZCAic2hvdyB1c2FnZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsJ3VzYWdlIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxMgogbXNnaWQgIm5vIHBhdHRlcm4gZ2l2ZW4uIgotbXNnc3RyICIiCittc2dzdHIgImF1Y3VuIG1vdGlmIGZvdXJuaS4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2NgorIzogYnVpbHRpbi9ncmVwLmM6ODcwCiBtc2dpZCAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIG9ubHkgd29ya3Mgb24gdGhlIHdvcmt0cmVlIgotbXNnc3RyICIiCittc2dzdHIgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBuZSBmb25jdGlvbm5lIHF1ZSBzdXIgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg5CisjOiBidWlsdGluL2dyZXAuYzo4OTMKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXguIgotbXNnc3RyICIiCittc2dzdHIgIi0tY2FjaGVkIG91IC0tdW50cmFja2VkIG5lIHBldXZlbnQgcGFzIMOqdHJlIHV0aWxpc8OpcyBhdmVjIC0tbm8taW5kZXguIgogCi0jOiBidWlsdGluL2dyZXAuYzo4OTQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5OAogbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzLiIKIG1zZ3N0ciAiIgorIi0tbm8taW5kZXggb3UgLS11bnRyYWNrZWQgbmUgcGV1dmVudCBwYXMgw6p0cmUgdXRpbGlzw6lzIGF2ZWMgZGVzIHLDqXZpc2lvbnMuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4OTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMQogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzLiIKIG1zZ3N0ciAiIgorIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIGF2ZWMgZHUgY29udGVudSBzdWl2aS4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwNQorIzogYnVpbHRpbi9ncmVwLmM6OTA5CiBtc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuLiIKLW1zZ3N0ciAiIgorbXNnc3RyICItLWNhY2hlZCBldCBkZXMgYXJicmVzIHNvbnQgZm91cm5pcyBlbiBtw6ptZSB0ZW1wcy4iCiAKICM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo2MAogbXNnaWQgIiIKICJnaXQgaGFzaC1vYmplY3QgWy10IDx0eXBlPl0gWy13XSBbLS1wYXRoPTxmaWxlPnwtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSBbLS1dICIKICI8ZmlsZT4uLi4iCiBtc2dzdHIgIiIKKyJnaXQgaGFzaC1vYmplY3QgWy10IDx0eXBlPl0gWy13XSBbLS1wYXRoPTxmaWNoaWVyPnwtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCisiWy0tXSA8ZmljaGllcj4uLi4iCiAKICM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo2MQogbXNnaWQgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyA8IDxsaXN0LW9mLXBhdGhzPiIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMgPCA8bGlzdGUtZGUtY2hlbWlucz4iCiAKICM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3MgogbXNnaWQgInR5cGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAidHlwZSIKIAogIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjcyCiBtc2dpZCAib2JqZWN0IHR5cGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAidHlwZSBkJ29iamV0IgogCiAjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6NzMKIG1zZ2lkICJ3cml0ZSB0aGUgb2JqZWN0IGludG8gdGhlIG9iamVjdCBkYXRhYmFzZSIKLW1zZ3N0ciAiIgorbXNnc3RyICLDqWNyaXJlIGwnb2JqZXQgZGFucyBsYSBiYXNlIGRlIGRvbm7DqWUgZCdvYmpldHMiCiAKICM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3NAogbXNnaWQgInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIgotbXNnc3RyICIiCittc2dzdHIgImxpcmUgbCdvYmpldCBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCiAjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6NzYKIG1zZ2lkICJzdG9yZSBmaWxlIGFzIGlzIHdpdGhvdXQgZmlsdGVycyIKLW1zZ3N0ciAiIgorbXNnc3RyICJzdG9ja2VyIGxlIGZpY2hpZXIgdGVsIHF1ZWwgc2FucyBmaWx0cmFnZSIKIAogIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjc3CiBtc2dpZCAicHJvY2VzcyBmaWxlIGFzIGl0IHdlcmUgZnJvbSB0aGlzIHBhdGgiCi1tc2dzdHIgIiIKK21zZ3N0ciAidHJhaXRlciBsZSBmaWNoaWVyIGNvbW1lIHMnaWwgdmVuYWl0IGRlIGNlIGNoZW1pbiIKKworIzogYnVpbHRpbi9oZWxwLmM6NDEKK21zZ2lkICJwcmludCBhbGwgYXZhaWxhYmxlIGNvbW1hbmRzIgorbXNnc3RyICJhZmZpY2hlciB0b3V0ZXMgbGVzIGNvbW1hbmRlcyBkaXNwb25pYmxlcyIKKworIzogYnVpbHRpbi9oZWxwLmM6NDIKK21zZ2lkICJwcmludCBsaXN0IG9mIHVzZWZ1bCBndWlkZXMiCittc2dzdHIgImFmZmljaGVyIHVuZSBsaXN0ZSBkZSBndWlkZXMgdXRpbGVzIgogCiAjOiBidWlsdGluL2hlbHAuYzo0MwotbXNnaWQgInByaW50IGFsbCBhdmFpbGFibGUgY29tbWFuZHMiCi1tc2dzdHIgIiIKK21zZ2lkICJzaG93IG1hbiBwYWdlIgorbXNnc3RyICJhZmZpY2hlciBsYSBwYWdlIGRlIG1hbnVlbCIKIAogIzogYnVpbHRpbi9oZWxwLmM6NDQKLW1zZ2lkICJwcmludCBsaXN0IG9mIHVzZWZ1bCBndWlkZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9oZWxwLmM6NDUKLW1zZ2lkICJzaG93IG1hbiBwYWdlIgotbXNnc3RyICIiCittc2dpZCAic2hvdyBtYW51YWwgaW4gd2ViIGJyb3dzZXIiCittc2dzdHIgImFmZmljaGVyIGxlIG1hbnVlbCBkYW5zIHVuIG5hdmlnYXRldXIgd2ViIgogCiAjOiBidWlsdGluL2hlbHAuYzo0NgotbXNnaWQgInNob3cgbWFudWFsIGluIHdlYiBicm93c2VyIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaGVscC5jOjQ4CiBtc2dpZCAic2hvdyBpbmZvIHBhZ2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgcGFnZSBpbmZvIgogCi0jOiBidWlsdGluL2hlbHAuYzo1NAorIzogYnVpbHRpbi9oZWxwLmM6NTIKIG1zZ2lkICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFufC0td2VifC0taW5mb10gW2NvbW1hbmRdIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW58LS13ZWJ8LS1pbmZvXSBbY29tbWFuZGVdIgogCi0jOiBidWlsdGluL2hlbHAuYzo2NgorIzogYnVpbHRpbi9oZWxwLmM6NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGhlbHAgZm9ybWF0ICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiZm9ybWF0IGQnYWlkZSBub24gcmVjb25udSAnJXMnIgogCi0jOiBidWlsdGluL2hlbHAuYzo5NAorIzogYnVpbHRpbi9oZWxwLmM6OTIKIG1zZ2lkICJGYWlsZWQgdG8gc3RhcnQgZW1hY3NjbGllbnQuIgotbXNnc3RyICIiCittc2dzdHIgIsOpY2hlYyBkZSBkw6ltYXJyYWdlIGQnZW1hY3NjbGllbnQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMDcKKyM6IGJ1aWx0aW4vaGVscC5jOjEwNQogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbWFjc2NsaWVudCB2ZXJzaW9uLiIKLW1zZ3N0ciAiIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGxhIHZlcnNpb24gZCdlbWFjc2NsaWVudC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjExNQorIzogYnVpbHRpbi9oZWxwLmM6MTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImVtYWNzY2xpZW50IHZlcnNpb24gJyVkJyB0b28gb2xkICg8IDIyKS4iCi1tc2dzdHIgIiIKK21zZ3N0ciAibGEgdmVyc2lvbiBkJ2VtYWNzY2xpZW50ICclZCcgZXN0IHRyb3AgYW5jaWVubmUgKDwyMikuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMzMgYnVpbHRpbi9oZWxwLmM6MTYxIGJ1aWx0aW4vaGVscC5jOjE3MCBidWlsdGluL2hlbHAuYzoxNzgKKyM6IGJ1aWx0aW4vaGVscC5jOjEzMSBidWlsdGluL2hlbHAuYzoxNTkgYnVpbHRpbi9oZWxwLmM6MTY4IGJ1aWx0aW4vaGVscC5jOjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICLDqWNoZWMgZGUgbCdleMOpY3V0aW9uIGRlICclcycgOiAlcyIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjE4CisjOiBidWlsdGluL2hlbHAuYzoyMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IHBhdGggZm9yIHVuc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCiAiUGxlYXNlIGNvbnNpZGVyIHVzaW5nICdtYW4uPHRvb2w+LmNtZCcgaW5zdGVhZC4iCiBtc2dzdHIgIiIKKyInJXMnIDogY2hlbWluIHBvdXIgbCd1dGlsaXRhaXJlIGRlIHZpc3VhbGlzYXRpb24gZGUgbWFudWVsIG5vbiBzdXBwb3J0w6kuXG4iCisiVmV1aWxsZXogdXRpbGlzZXIgcGx1dMO0dCAnbWFuLjxvdXRpbD4uY21kJy4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIzMAorIzogYnVpbHRpbi9oZWxwLmM6MjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBjbWQgZm9yIHN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgogIlBsZWFzZSBjb25zaWRlciB1c2luZyAnbWFuLjx0b29sPi5wYXRoJyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgorIiclcycgOiBjaGVtaW4gcG91ciBsJ3V0aWxpdGFpcmUgZGUgdmlzdWFsaXNhdGlvbiBkZSBtYW51ZWwgc3VwcG9ydMOpLlxuIgorIlZldWlsbGV6IHV0aWxpc2VyIHBsdXTDtHQgJ21hbi48b3V0aWw+LmNtZCcuIgogCi0jOiBidWlsdGluL2hlbHAuYzozNTEKKyM6IGJ1aWx0aW4vaGVscC5jOjM1MwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmtub3duIG1hbiB2aWV3ZXIuIgotbXNnc3RyICIiCittc2dzdHIgIiclcycgOiB2aXN1YWxpc2V1ciBkZSBtYW51ZWwgaW5jb25udS4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM2OAorIzogYnVpbHRpbi9oZWxwLmM6MzcwCiBtc2dpZCAibm8gbWFuIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgotbXNnc3RyICIiCittc2dzdHIgImF1Y3VuIHZpc3VhbGlzZXVyIGRlIG1hbnVlbCBuJ2EgcHJpcyBlbiBjaGFyZ2UgbGEgZGVtYW5kZSIKIAotIzogYnVpbHRpbi9oZWxwLmM6Mzc2CisjOiBidWlsdGluL2hlbHAuYzozNzgKIG1zZ2lkICJubyBpbmZvIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaGVscC5jOjQyMgotbXNnaWQgIkRlZmluaW5nIGF0dHJpYnV0ZXMgcGVyIHBhdGgiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9oZWxwLmM6NDIzCi1tc2dpZCAiQSBHaXQgZ2xvc3NhcnkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYXVjdW4gdmlzdWFsaXNldXIgZGUgJ2luZm8nIG4nYSBwcmlzIGVuIGNoYXJnZSBsYSBkZW1hbmRlIgogCiAjOiBidWlsdGluL2hlbHAuYzo0MjQKLW1zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgotbXNnc3RyICIiCittc2dpZCAiRGVmaW5pbmcgYXR0cmlidXRlcyBwZXIgcGF0aCIKK21zZ3N0ciAiRMOpZmluaXRpb24gZGVzIGF0dHJpYnV0cyBwYXIgY2hlbWluIgogCiAjOiBidWlsdGluL2hlbHAuYzo0MjUKLW1zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKLW1zZ3N0ciAiIgorbXNnaWQgIkEgR2l0IGdsb3NzYXJ5IgorbXNnc3RyICJVbiBnbG9zc2FpcmUgR2l0IgogCiAjOiBidWlsdGluL2hlbHAuYzo0MjYKLW1zZ2lkICJTcGVjaWZ5aW5nIHJldmlzaW9ucyBhbmQgcmFuZ2VzIGZvciBHaXQiCi1tc2dzdHIgIiIKK21zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgorbXNnc3RyICJTcMOpY2lmaWUgbGVzIGZpY2hpZXJzIG5vbi1zdWl2aXMgw6AgaWdub3JlciBpbnRlbnRpb25uZWxsZW1lbnQiCiAKICM6IGJ1aWx0aW4vaGVscC5jOjQyNwotbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdCAoZm9yIHZlcnNpb24gMS41LjEgb3IgbmV3ZXIpIgotbXNnc3RyICIiCittc2dpZCAiRGVmaW5pbmcgc3VibW9kdWxlIHByb3BlcnRpZXMiCittc2dzdHIgIkTDqWZpbml0aW9uIGRlcyBwcm9wcmnDqXTDqXMgZGUgc291cy1tb2R1bGUiCiAKICM6IGJ1aWx0aW4vaGVscC5jOjQyOAorbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKK21zZ3N0ciAiU3DDqWNpZmljYXRpb24gZGVzIHLDqXZpc2lvbnMgZXQgcG9ydMOpZXMgcG91ciBHaXQiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQyOQorbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdCAoZm9yIHZlcnNpb24gMS41LjEgb3IgbmV3ZXIpIgorbXNnc3RyICIiCisiVW5lIGludHJvZHVjdGlvbiBwcmF0aXF1ZSDDoCBHaXQgKHBvdXIgbGVzIHZlcnNpb25zIDEuNS4xIGV0IHN1cMOpcmlldXJlcykiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQzMAogbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJVbiBhcGVyw6d1IGRlcyBmbHV4IGRlIHRyYXZhaWwgcmVjb21tYW5kw6lzIGF2ZWMgR2l0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0NDAKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0MgogbXNnaWQgIlRoZSBjb21tb24gR2l0IGd1aWRlcyBhcmU6XG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiTGVzIGd1aWRlcyBHaXQgcG9wdWxhaXJlcyBzb250IDogXG4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ2MiBidWlsdGluL2hlbHAuYzo0NzgKKyM6IGJ1aWx0aW4vaGVscC5jOjQ2MyBidWlsdGluL2hlbHAuYzo0ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAidXNhZ2UgOiAlcyVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0OTQKKyM6IGJ1aWx0aW4vaGVscC5jOjQ5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJgZ2l0ICVzJyBpcyBhbGlhc2VkIHRvIGAlcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiYGdpdCAlc1wiIGVzdCB1biBhbGlhcyBkZSBgJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxODIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgdHlwZSBtaXNtYXRjaCBhdCAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0eXBlIGQnb2JqZXQgbm9uIGNvcnJlc3BvbmRhbnQgw6AgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA0CiBtc2dpZCAib2JqZWN0IG9mIHVuZXhwZWN0ZWQgdHlwZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJvYmpldCBkZSB0eXBlIGluYXR0ZW5kdSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjM5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgorbXNnc3RyWzBdICJpbXBvc3NpYmxlIGRlIHJlbXBsaXIgJWQgb2N0ZXQiCittc2dzdHJbMV0gImltcG9zc2libGUgZGUgcmVtcGxpciAlZCBvY3RldHMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI0OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjU0CiBtc2dpZCAiZWFybHkgRU9GIgotbXNnc3RyICIiCittc2dzdHIgImZpbiBkZSBmaWNoaWVyIHByw6ltYXR1csOpZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjUwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTUKIG1zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgotbXNnc3RyICIiCittc2dzdHIgImVycmV1ciBkZSBsZWN0dXJlIHN1ciBsJ2VudHLDqWUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjY3CiBtc2dpZCAidXNlZCBtb3JlIGJ5dGVzIHRoYW4gd2VyZSBhdmFpbGFibGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAicGx1cyBkJ29jdGV0cyB1dGlsaXPDqXMgcXVlIGRpc3BvbmlibGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3NAogbXNnaWQgInBhY2sgdG9vIGxhcmdlIGZvciBjdXJyZW50IGRlZmluaXRpb24gb2Ygb2ZmX3QiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjg1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJsZSBwYXF1ZXQgZXN0IHRyb3AgZ3JhbmQgcG91ciBsYSBkw6lmaW5pdGlvbiBhY3R1ZWxsZSBkZSBvZmZfdCIKIAogIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkwCiAjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgJyVzJyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjk1CisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyIHBhcXVldCAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwOQogbXNnaWQgInBhY2sgc2lnbmF0dXJlIG1pc21hdGNoIgotbXNnc3RyICIiCittc2dzdHIgImxhIHNpZ25hdHVyZSBkdSBwYXF1ZXQgbmUgY29ycmVzcG9uZCBwYXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzExCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgdmVyc2lvbiAlPFBSSXUzMj4gdW5zdXBwb3J0ZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAibGEgdmVyc2lvbiBkZSBwYXF1ZXQgJTxQUkl1MzI+IG5vbiBzdXBwb3J0w6llIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMjQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyBiYWQgb2JqZWN0IGF0IG9mZnNldCAlbHU6ICVzIgotbXNnc3RyICIiCittc2dzdHIgImxlIHBhcXVldCBhIHVuIG1hdXZhaXMgb2JqZXQgw6AgbCdvZmZzZXQgJWx1OiAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDQ2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo0NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbGF0ZSByZXR1cm5lZCAlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJsYSBkw6ljb21wcmVzc2lvbiAoaW5mbGF0ZSkgYSByZXRvdXJuw6kgJWQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ5NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTAwCiBtc2dpZCAib2Zmc2V0IHZhbHVlIG92ZXJmbG93IGZvciBkZWx0YSBiYXNlIG9iamVjdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJkw6lwYXNzZW1lbnQgZGUgbGEgdmFsZXVyIGQnb2Zmc2V0IHBvdXIgbCdvYmpldCBkZWx0YSBkZSBiYXNlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUwOAogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IGlzIG91dCBvZiBib3VuZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJsJ29iamV0IGRlbHRhIGRlIGJhc2UgZXN0IGhvcnMgbGltaXRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MTEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9iamVjdCB0eXBlICVkIgotbXNnc3RyICIiCittc2dzdHIgInR5cGUgZCdvYmpldCBpbmNvbm51ICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NDIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0NwogbXNnaWQgImNhbm5vdCBwcmVhZCBwYWNrIGZpbGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIChwcmVhZCkgbGUgZmljaGllciBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlbHUgYnl0ZSBtaXNzaW5nIgogbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJWx1IGJ5dGVzIG1pc3NpbmciCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgorbXNnc3RyWzBdICJmaW4gcHLDqW1hdHVyw6llIGR1IGZpY2hpZXIgcGFxdWV0LCAlbHUgb2N0ZXQgbHUiCittc2dzdHJbMV0gImZpbiBwcsOpbWF0dXLDqWUgZHUgZmljaGllciBwYXF1ZXQsICVsdSBvY3RldHMgbHVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NQogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgotbXNnc3RyICIiCittc2dzdHIgImdyYXZlIGluY29ow6lyZW5jZSBkYW5zIGxhIGTDqWNvbXByZXNzaW9uIChpbmZsYXRlKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjYxIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjY2NyBidWlsdGluL2luZGV4LXBhY2suYzo2OTAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjcyNCBidWlsdGluL2luZGV4LXBhY2suYzo3MzMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjY2NiBidWlsdGluL2luZGV4LXBhY2suYzo2NzIgYnVpbHRpbi9pbmRleC1wYWNrLmM6Njk1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3MjkgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKLW1zZ3N0ciAiIgorbXNnc3RyICJDT0xMSVNJT04gU0hBMSBUUk9VVsOJRSBBVkVDICVzICEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjY2NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3MAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjY2OSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3MzAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGwnb2JqZXQgZXhpc3RhbnQgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYmxvYiBvYmplY3QgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzU5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzYxCi1tc2dpZCAiRXJyb3IgaW4gb2JqZWN0IgotbXNnc3RyICIiCittc2dzdHIgIm9iamV0IGJsb2IgaW52YWxpZGUgJXMiCiAKICM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc2MwogIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkICVzIgorbXNnc3RyICIlcyBpbnZhbGlkZSIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzY2Cittc2dpZCAiRXJyb3IgaW4gb2JqZWN0IgorbXNnc3RyICJFcnJldXIgZGFucyBsJ29iamV0IgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NjgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGFsbCBjaGlsZCBvYmplY3RzIG9mICVzIGFyZSByZWFjaGFibGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiVG91cyBsZXMgb2JqZXRzIGVuZmFudHMgZGUgJXMgbmUgc29udCBwYXMgYWNjZXNzaWJsZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzMyBidWlsdGluL2luZGV4LXBhY2suYzo4NjMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzOSBidWlsdGluL2luZGV4LXBhY2suYzo4NjkKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6ljaGVjIGQnYXBwbGljYXRpb24gZHUgZGVsdGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMTAKIG1zZ2lkICJSZWNlaXZpbmcgb2JqZWN0cyIKLW1zZ3N0ciAiIgorbXNnc3RyICJSw6ljZXB0aW9uIGQnb2JqZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDA0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDEwCiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbmRleGF0aW9uIGQnb2JqZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDMwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM2CiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgotbXNnc3RyICIiCittc2dzdHIgImxlIHBhcXVldCBlc3QgY29ycm9tcHUgKFNIQTEgbmUgY29ycmVzcG9uZCBwYXMpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQxCiBtc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGxlIHN0YXR1dCAoZnN0YXQpIGR1IGZpY2hpZXIgcGFxdWV0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQ0CiBtc2dpZCAicGFjayBoYXMganVuayBhdCB0aGUgZW5kIgotbXNnc3RyICIiCittc2dzdHIgImxlIHBhcXVldCBlc3QgaW52YWxpZGUgw6AgbGEgZmluIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQ5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDU1CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJjb25mdXNpb24gZXh0csOqbWUgZGFucyBwYXJzZV9wYWNrX29iamVjdHMoKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA3MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA3OAogbXNnaWQgIlJlc29sdmluZyBkZWx0YXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiUsOpc29sdXRpb24gZGVzIGRlbHRhcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA4MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRocmVhZDogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgZmlsIDogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMjQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMzAKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgotbXNnc3RyICIiCittc2dzdHIgImNvbmZ1c2lvbiBleHRyw6ptZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgotbXNnc3RyICIiCittc2dzdHIgImNvbXBsw6l0w6kgYXZlYyAlZCBvYmpldHMgbG9jYXV4IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICIiCisiU29tbWUgZGUgY29udHLDtGxlIGRlIGZpbiBpbmF0dGVuZHVlIHBvdXIgJXMgKGNvcnJ1cHRpb24gc3VyIGxlIGRpc3F1ZSA/KSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKLW1zZ3N0clswXSAiIgotbXNnc3RyWzFdICIiCittc2dzdHJbMF0gImxlIHBhcXVldCBhICVkIGRlbHRhIG5vbiByw6lzb2x1IgorbXNnc3RyWzFdICJsZSBwYXF1ZXQgYSAlZCBkZWx0YXMgbm9uIHLDqXNvbHVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTcxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIGFwcGVuZGVkIG9iamVjdCAoJWQpIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgY29tcHJlc3NlciBsJ29iamV0IGFqb3V0w6kgKCVkKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJsJ29iamV0IGxvY2FsICVzIGVzdCBjb3Jyb21wdSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI4MAogbXNnaWQgImVycm9yIHdoaWxlIGNsb3NpbmcgcGFjayBmaWxlIgotbXNnc3RyICIiCittc2dzdHIgImVycmV1ciBlbiBmZXJtZXR1cmUgZHUgZmljaGllciBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyODcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlIGtlZXAgZmlsZSAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIGZpY2hpZXIgXCJrZWVwXCIgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiBrZWVwIGZpbGUgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZlcm1lciBsZSBmaWNoaWVyIFwia2VlcFwiICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMDgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMTQKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgc3RvY2tlciBsZSBmaWNoaWVyIHBhcXVldCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMxOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMyNQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmFkIHBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPiIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHN0b2NrZXIgbGUgZmljaGllciBkJ2luZGV4IgogCiAjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzU4CiAjLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCi1tc2dzdHIgIiIKK21zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgorbXNnc3RyICJtYXV2YWlzIHBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2MiBidWlsdGluL2luZGV4LXBhY2suYzoxNTM1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCittc2dzdHIgIm5vbWJyZSBkZSBmaWxzIHNww6ljaWZpw6kgaW52YWxpZGUgKCVkKSIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2OCBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAicGFzIGRlIHN1cHBvcnQgZGVzIGZpbHMsIGlnbm9yZSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGZpbGUgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgcGFxdWV0IGV4aXN0YW50ICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBpZHggZmlsZSBmb3IgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgcGFxdWV0IGQnaW5kZXggZXhpc3RhbnQgcG91ciAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDY5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vbiBkZWx0YTogJWQgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJub24gZGVsdGE6ICVkIG9iamVjdHMiCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgorbXNnc3RyWzBdICJwYXMgdW4gZGVsdGEgOiAlZCBvYmpldCIKK21zZ3N0clsxXSAicGFzIHVuIGRlbHRhIDogJWQgb2JqZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgorbXNnc3RyWzBdICJsb25ndWV1ciBjaGHDrm7DqWUgPSAlZCA6ICVsdSBvYmpldCIKK21zZ3N0clsxXSAibG9uZ3VldXIgY2hhw65uw6llID0gJWQgOiAlbHUgb2JqZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTAzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTEwCiBtc2dpZCAiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZXZlbmlyIGF1IHLDqXBlcnRvaXJlIGRlIHRyYXZhaWwgY291cmFudCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NyBidWlsdGluL2luZGV4LXBhY2suYzoxNTUwCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTYyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NjYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3MyBidWlsdGluL2luZGV4LXBhY2suYzoxNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJtYXV2YWlzICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTgwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkxCiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiLS1maXgtdGhpbiBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBzYW5zIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1ODQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NSBidWlsdGluL2luZGV4LXBhY2suYzoxNjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgotbXNnc3RyICIiCittc2dzdHIgImxlIG5vbSBkZSBmaWNoaWVyIHBhcXVldCAnJXMnIG5lIHNlIHRlcm1pbmUgcGFzIHBhciAnLnBhY2snIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjAzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjE0CiBtc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgotbXNnc3RyICIiCittc2dzdHIgIi0tdmVyaWZ5IHNhbnMgbm9tIGRlIGZpY2hpZXIgcGFxdWV0IGRvbm7DqSIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1ha2UgJXMgd3JpdGFibGUgYnkgZ3JvdXAiCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZW5kcmUgJXMgaW5zY3JpcHRpYmxlIHBvdXIgbGUgZ3JvdXBlIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmVseSBsb25nIHRlbXBsYXRlIG5hbWUgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAibm9tIGRlIG1vZMOobGUgZMOpbWVudGllbGxlbWVudCBsb25nICVzIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhdCAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgZmFpcmUgdW4gc3RhdCBkZSAnJXMnIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhdCB0ZW1wbGF0ZSAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgZmFpcmUgdW4gc3RhdCBkdSBtb2TDqGxlICclcyciCiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuZGlyICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAob3BlbmRpcikgJyVzJyIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWRsaW5rICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSByZWFkbGluayAnJXMnIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmVseSBsb25nIHN5bWxpbmsgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAibGllbiBzeW1ib2xpcXVlIGTDqW1lbnRpZWxsZW1lbnQgbG9uZyAlcyIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6MTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzeW1saW5rICclcycgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciB1biBsaWVuIHN5bWJvbGlxdWUgZGUgJyVzJyAnJXMnIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzoxMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNvcHkgJyVzJyB0byAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgY29waWVyICclcycgdmVycyAnJXMnIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdGVtcGxhdGUgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAibW9kw6hsZSAlcyBpZ25vcsOpIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzoxMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5zYW5lbHkgbG9uZyB0ZW1wbGF0ZSBwYXRoICVzIgotbXNnc3RyICIiCittc2dzdHIgImNoZW1pbiBkZSBtb2TDqGxlICVzIGTDqW1lbnRpZWxsZW1lbnQgbG9uZyIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6MTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRlbXBsYXRlcyBub3QgZm91bmQgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAibW9kw6hsZXMgbm9uIHRyb3V2w6lzICVzIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzoxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGNvcHlpbmcgdGVtcGxhdGVzIG9mIGEgd3JvbmcgZm9ybWF0IHZlcnNpb24gJWQgZnJvbSAnJXMnIgogbXNnc3RyICIiCisicGFzIGRlIGNvcGllIGRlcyBtb2TDqGxlcyDDqXRhbnQgZGFucyB1bmUgbWF1dmFpc2UgdmVyc2lvbiBkdSBmb3JtYXQgJWQgZGUgJyVzJyIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBnaXQgZGlyZWN0b3J5ICVzIgotbXNnc3RyICIiCittc2dzdHIgInLDqXBlcnRvaXJlIGdpdCBkw6ltZW50aWVsICVzIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzozMjMgYnVpbHRpbi9pbml0LWRiLmM6MzI2CiAjLCBjLWZvcm1hdApAQCAtNTYyMCwxNyArNjM0MiwxMiBAQAogIzogYnVpbHRpbi9pbml0LWRiLmM6MzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBoYW5kbGUgZmlsZSB0eXBlICVkIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgdHJhaXRlciBsZSBmaWNoaWVyIGRlIHR5cGUgJWQiCiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbW92ZSAlcyB0byAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzozNjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBnaXQgbGluayAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqXBsYWNlciAlcyB2ZXJzICVzIgogCiAjLgogIy4gKiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICclcycgaXMgZWl0aGVyICJSZWluaXRpYWxpemVkCkBAIC01NjQwLDUxICs2MzU3LDUzIEBACiAjOiBidWlsdGluL2luaXQtZGIuYzo0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMlcyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCi1tc2dzdHIgIiVzJXMgRMOpcMO0dCBnaXQgZGFucyAlcyVzXG4iCittc2dzdHIgIkTDqXDDtHQgR2l0JTIkcyAlMSRzIGRhbnMgJTMkcyU0JHNcbiIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NDIxCiBtc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyIKLW1zZ3N0ciAiIgorbXNnc3RyICJleGlzdGFudCByw6lpbml0aWFsaXPDqSIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NDIxCiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkiCi1tc2dzdHIgIiIKK21zZ3N0ciAidmlkZSBpbml0aWFsaXPDqSIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NDIyCiBtc2dpZCAiIHNoYXJlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICIgcGFydGFnw6kiCiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ0MQogbXNnaWQgImNhbm5vdCB0ZWxsIGN3ZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqXRlcm1pbmVyIGxlIHLDqXBlcnRvaXJlIGRlIHRyYXZhaWwgY291cmFudCIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NDY3CiBtc2dpZCAiIgogImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTx0ZW1wbGF0ZS1kaXJlY3Rvcnk+XSBbLS0iCiAic2hhcmVkWz08cGVybWlzc2lvbnM+XV0gW2RpcmVjdG9yeV0iCiBtc2dzdHIgIiIKKyJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08csOpcGVydG9pcmUtbW9kw6hsZT5dIFstLSIKKyJzaGFyZWRbPTxwZXJtaXNzaW9ucz5dXSBbcsOpcGVydG9pcmVdIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo0OTAKIG1zZ2lkICJwZXJtaXNzaW9ucyIKLW1zZ3N0ciAiIgorbXNnc3RyICJwZXJtaXNzaW9ucyIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NDkxCiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgotbXNnc3RyICIiCittc2dzdHIgInNww6ljaWZpZXIgcXVlIGxlIGTDqXDDtHQgZ2l0IHNlcmEgcGFydGFnw6kgZW50cmUgcGx1c2lldXJzIHV0aWxpc2F0ZXVycyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDkzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5MyBidWlsdGluL3BydW5lLXBhY2tlZC5jOjc5IGJ1aWx0aW4vcmVwYWNrLmM6MTU1CiBtc2dpZCAiYmUgcXVpZXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6p0cmUgc2lsZW5jaWV1eCIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NTIyIGJ1aWx0aW4vaW5pdC1kYi5jOjUyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgcsOpcGVydG9pcmUgKG1rZGlyKSAlcyIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGRpciB0byAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHNlIGTDqXBsYWNlciB2ZXJzIGxlIHLDqXBlcnRvaXJlIChjaGRpcikgJXMiCiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1NQogIywgYy1mb3JtYXQKQEAgLTU2OTIsNTYyICs2NDExLDU5MiBAQAogIiVzIChvciAtLXdvcmstdHJlZT08ZGlyZWN0b3J5Pikgbm90IGFsbG93ZWQgd2l0aG91dCBzcGVjaWZ5aW5nICVzIChvciAtLWdpdC0iCiAiZGlyPTxkaXJlY3Rvcnk+KSIKIG1zZ3N0ciAiIgorIiVzIChvdSAtLXdvcmstdHJlZT08csOpcGVydG9pcmU+KSBuJ2VzdCBwYXMgYXV0b3Jpc8OpIHNhbnMgc3DDqWNpZmllciAlcyAob3UgLS0iCisiZ2l0LWRpcj08csOpcGVydG9pcmU+KSIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NTc5CiBtc2dpZCAiQ2Fubm90IGFjY2VzcyBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgotbXNnc3RyICIiCittc2dzdHIgIkltcG9zc2libGUgZCdhY2PDqWRlciBhdSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsIGNvdXJhbnQiCiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgYWNjZXNzIHdvcmsgdHJlZSAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6NDAKLW1zZ2lkICJnaXQgbG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24gcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FjY8OpZGVyIMOgIGwnYXJicmUgZGUgdHJhdmFpbCAnJXMnIgogCiAjOiBidWlsdGluL2xvZy5jOjQxCittc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uIHJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXVxuIgorbXNnc3RyICJnaXQgbG9nIFs8b3B0aW9ucz5dIFs8cGFnZSBkZSByw6l2aXNpb25zPl0gW1stLV0gPGNoZW1pbj4uLi5dXG4iCisKKyM6IGJ1aWx0aW4vbG9nLmM6NDIKIG1zZ2lkICIgICBvcjogZ2l0IHNob3cgW29wdGlvbnNdIDxvYmplY3Q+Li4uIgotbXNnc3RyICIiCittc2dzdHIgIiAgIG91IDogZ2l0IHNob3cgW29wdGlvbnNdIDxvYmpldD4uLi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTAzCisjOiBidWlsdGluL2xvZy5jOjEyNQogbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgotbXNnc3RyICIiCittc2dzdHIgInN1cHByaW1lciBsYSBzb3J0aWUgZGVzIGRpZmbDqXJlbmNlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDQKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2CiBtc2dpZCAic2hvdyBzb3VyY2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgc291cmNlIgogCi0jOiBidWlsdGluL2xvZy5jOjEwNQorIzogYnVpbHRpbi9sb2cuYzoxMjcKIG1zZ2lkICJVc2UgbWFpbCBtYXAgZmlsZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJVdGlsaXNlciBsZSBmaWNoaWVyIGRlIGNvcnJlc3BvbmRhbmNlIGRlIG1haWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA2CisjOiBidWlsdGluL2xvZy5jOjEyOAogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZMOpY29yZXIgbGVzIG9wdGlvbnMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTk5CisjOiBidWlsdGluL2xvZy5jOjIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiU29ydGllIGZpbmFsZSA6ICVkICVzXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDIyIGJ1aWx0aW4vbG9nLmM6NTE0CisjOiBidWlsdGluL2xvZy5jOjQ3MyBidWlsdGluL2xvZy5jOjU2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIGwnb2JqZXQgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTM4CisjOiBidWlsdGluL2xvZy5jOjU4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHR5cGU6ICVkIgotbXNnc3RyICIiCittc2dzdHIgIlR5cGUgaW5jb25udSA6ICVkIgogCi0jOiBidWlsdGluL2xvZy5jOjYzOAorIzogYnVpbHRpbi9sb2cuYzo2ODkKIG1zZ2lkICJmb3JtYXQuaGVhZGVycyB3aXRob3V0IHZhbHVlIgotbXNnc3RyICIiCittc2dzdHIgImZvcm1hdC5oZWFkZXJzIHNhbnMgdmFsZXVyIgogCi0jOiBidWlsdGluL2xvZy5jOjcyMAorIzogYnVpbHRpbi9sb2cuYzo3NzEKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCi1tc2dzdHIgIiIKK21zZ3N0ciAibGUgbm9tIGR1IHLDqXBlcnRvaXJlIGRlIHNvcnRpZSBlc3QgdHJvcCBsb25nIgogCi0jOiBidWlsdGluL2xvZy5jOjczNgorIzogYnVpbHRpbi9sb2cuYzo3ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgY29ycmVjdGlmICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjc1MAorIzogYnVpbHRpbi9sb2cuYzo4MDEKIG1zZ2lkICJOZWVkIGV4YWN0bHkgb25lIHJhbmdlLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJFeGFjdGVtZW50IHVuZSBwbGFnZSBuw6ljZXNzYWlyZS4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NzU4CisjOiBidWlsdGluL2xvZy5jOjgwOQogbXNnaWQgIk5vdCBhIHJhbmdlLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJQYXMgdW5lIHBsYWdlLiIKIAotIzogYnVpbHRpbi9sb2cuYzo4NjAKKyM6IGJ1aWx0aW4vbG9nLmM6OTExCiBtc2dpZCAiQ292ZXIgbGV0dGVyIG5lZWRzIGVtYWlsIGZvcm1hdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJMYSBsZXR0cmUgZGUgbW90aXZhdGlvbiBkb2l0IMOqdHJlIGF1IGZvcm1hdCBlLW1haWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTM2CisjOiBidWlsdGluL2xvZy5jOjk4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmUgaW4tcmVwbHktdG86ICVzIgotbXNnc3RyICIiCittc2dzdHIgImluLXJlcGx5LXRvIGFiZXJyYW50IDogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTY0CisjOiBidWlsdGluL2xvZy5jOjEwMTUKIG1zZ2lkICJnaXQgZm9ybWF0LXBhdGNoIFtvcHRpb25zXSBbPHNpbmNlPiB8IDxyZXZpc2lvbiByYW5nZT5dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBmb3JtYXQtcGF0Y2ggW29wdGlvbnNdIFs8ZGVwdWlzPiB8IDxwbGFnZSBkZSByw6l2aXNpb25zPl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTAwOQorIzogYnVpbHRpbi9sb2cuYzoxMDYwCiBtc2dpZCAiVHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCi1tc2dzdHIgIiIKK21zZ3N0ciAiRGV1eCByw6lwZXJ0b2lyZXMgZGUgc29ydGllID8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTEwOAorIzogYnVpbHRpbi9sb2cuYzoxMTc1CiBtc2dpZCAidXNlIFtQQVRDSCBuL21dIGV2ZW4gd2l0aCBhIHNpbmdsZSBwYXRjaCIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1dGlsaXNlciBbUEFUQ0ggbi9tXSBtw6ptZSBhdmVjIHVuIHBhdGNoIHVuaXF1ZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTExCisjOiBidWlsdGluL2xvZy5jOjExNzgKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1dGlsaXNlciBbUEFUQ0hdIG3Dqm1lIGF2ZWMgZGVzIHBhdGNocyBtdWx0aXBsZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTExNQorIzogYnVpbHRpbi9sb2cuYzoxMTgyCiBtc2dpZCAicHJpbnQgcGF0Y2hlcyB0byBzdGFuZGFyZCBvdXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIHBhdGNocyBzdXIgbGEgc29ydGllIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL2xvZy5jOjExMTcKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4NAogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgotbXNnc3RyICIiCittc2dzdHIgImfDqW7DqXJlciB1bmUgbGV0dHJlIGRlIG1vdGl2YXRpb24iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTExOQorIzogYnVpbHRpbi9sb2cuYzoxMTg2CiBtc2dpZCAidXNlIHNpbXBsZSBudW1iZXIgc2VxdWVuY2UgZm9yIG91dHB1dCBmaWxlIG5hbWVzIgogbXNnc3RyICIiCisidXRpbGlzZXIgdW5lIHPDqXF1ZW5jZSBzaW1wbGUgZGUgbm9tYnJlcyBwb3VyIGxlcyBub20gZGVzIGZpY2hpZXJzIGRlIHNvcnRpZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTIwCisjOiBidWlsdGluL2xvZy5jOjExODcKIG1zZ2lkICJzZngiCi1tc2dzdHIgIiIKK21zZ3N0ciAic2Z4IgogCi0jOiBidWlsdGluL2xvZy5jOjExMjEKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4OAogbXNnaWQgInVzZSA8c2Z4PiBpbnN0ZWFkIG9mICcucGF0Y2gnIgotbXNnc3RyICIiCittc2dzdHIgInV0aWxpc2VyIDxzZng+IGF1IGxpZXUgZGUgJy5wYXRjaCciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTEyMworIzogYnVpbHRpbi9sb2cuYzoxMTkwCiBtc2dpZCAic3RhcnQgbnVtYmVyaW5nIHBhdGNoZXMgYXQgPG4+IGluc3RlYWQgb2YgMSIKLW1zZ3N0ciAiIgorbXNnc3RyICJkw6ltYXJyZXIgbGEgbnVtw6lyb3RhdGlvbiBkZXMgcGF0Y2hzIMOgIDxuPiBhdSBsaWV1IGRlIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTEyNQorIzogYnVpbHRpbi9sb2cuYzoxMTkyCiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgotbXNnc3RyICIiCittc2dzdHIgIm1hcnF1ZXIgbGEgc8OpcmllIGNvbW1lIHVuZSBOacOobWUgcsOpw6lkaXRpb24iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTEyNworIzogYnVpbHRpbi9sb2cuYzoxMTk0CiBtc2dpZCAiVXNlIFs8cHJlZml4Pl0gaW5zdGVhZCBvZiBbUEFUQ0hdIgotbXNnc3RyICIiCittc2dzdHIgInV0aWxpc2VyIFs8cHLDqWZpeGU+XSBhdSBsaWV1IGRlIFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTEzMAorIzogYnVpbHRpbi9sb2cuYzoxMTk3CiBtc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgotbXNnc3RyICIiCittc2dzdHIgInN0b2NrZXIgbGVzIGZpY2hpZXJzIHLDqXN1bHRhdHMgZGFucyA8csOpcGVydG9pcmU+IgogCi0jOiBidWlsdGluL2xvZy5jOjExMzMKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwMAogbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgotbXNnc3RyICIiCittc2dzdHIgIm5lIHBhcyByZXRpcmVyL2Fqb3V0ZXIgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTM2CisjOiBidWlsdGluL2xvZy5jOjEyMDMKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgotbXNnc3RyICIiCittc2dzdHIgIm5lIHBhcyBpbXByaW1lciBsZXMgZGlmZnMgYmluYWlyZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTEzOAorIzogYnVpbHRpbi9sb2cuYzoxMjA1CiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgotbXNnc3RyICIiCittc2dzdHIgIm5lIHBhcyBpbmNsdXJlIHVuIHBhdGNoIGNvcnJlc3BvbmRhbnQgw6AgdW4gY29tbWl0IGFtb250IgogCi0jOiBidWlsdGluL2xvZy5jOjExNDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwNwogbXNnaWQgInNob3cgcGF0Y2ggZm9ybWF0IGluc3RlYWQgb2YgZGVmYXVsdCAocGF0Y2ggKyBzdGF0KSIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsZSBmb3JtYXQgZHUgcGF0Y2ggYXUgbGlldSBkdSBkw6lmYXV0IChwYXRjaCArIHN0YXQpIgogCi0jOiBidWlsdGluL2xvZy5jOjExNDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwOQogbXNnaWQgIk1lc3NhZ2luZyIKLW1zZ3N0ciAiIgorbXNnc3RyICJDb21tdW5pY2F0aW9uIgogCi0jOiBidWlsdGluL2xvZy5jOjExNDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxMAogbXNnaWQgImhlYWRlciIKLW1zZ3N0ciAiIgorbXNnc3RyICJlbi10w6p0ZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQ0CisjOiBidWlsdGluL2xvZy5jOjEyMTEKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgotbXNnc3RyICIiCittc2dzdHIgImFqb3V0ZXIgbCdlbi10w6p0ZSBkJ2UtbWFpbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQ1IGJ1aWx0aW4vbG9nLmM6MTE0NworIzogYnVpbHRpbi9sb2cuYzoxMjEyIGJ1aWx0aW4vbG9nLmM6MTIxNAogbXNnaWQgImVtYWlsIgotbXNnc3RyICIiCittc2dzdHIgImUtbWFpbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQ1CisjOiBidWlsdGluL2xvZy5jOjEyMTIKIG1zZ2lkICJhZGQgVG86IGhlYWRlciIKLW1zZ3N0ciAiIgorbXNnc3RyICJham91dGVyIGwnZW4tdMOqdGUgXCJUbzpcIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQ3CisjOiBidWlsdGluL2xvZy5jOjEyMTQKIG1zZ2lkICJhZGQgQ2M6IGhlYWRlciIKLW1zZ3N0ciAiIgorbXNnc3RyICJham91dGVyIGwnZW4tdMOqdGUgXCJDYzpcIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQ5CisjOiBidWlsdGluL2xvZy5jOjEyMTYKK21zZ2lkICJpZGVudCIKK21zZ3N0ciAiaWRlbnQiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNworbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCittc2dzdHIgIiIKKyJyZW5zZWlnbmVyIGwnYWRyZXNzZSBGcm9tIMOgIDxpZGVudD4gKG91IMOgIGwnaWRlbnQgZHUgdmFsaWRhdGV1ciBzaSBhYnNlbnQpIgorCisjOiBidWlsdGluL2xvZy5jOjEyMTkKIG1zZ2lkICJtZXNzYWdlLWlkIgotbXNnc3RyICIiCittc2dzdHIgImlkLW1lc3NhZ2UiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE1MAorIzogYnVpbHRpbi9sb2cuYzoxMjIwCiBtc2dpZCAibWFrZSBmaXJzdCBtYWlsIGEgcmVwbHkgdG8gPG1lc3NhZ2UtaWQ+IgotbXNnc3RyICIiCittc2dzdHIgInLDqXBvbmRyZSBkYW5zIGxlIHByZW1pZXIgbWVzc2FnZSDDoCA8aWQtbWVzc2FnZT4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE1MSBidWlsdGluL2xvZy5jOjExNTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTIyMSBidWlsdGluL2xvZy5jOjEyMjQKIG1zZ2lkICJib3VuZGFyeSIKLW1zZ3N0ciAiIgorbXNnc3RyICJmcm9udGnDqHJlIgogCi0jOiBidWlsdGluL2xvZy5jOjExNTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTIyMgogbXNnaWQgImF0dGFjaCB0aGUgcGF0Y2giCi1tc2dzdHIgIiIKK21zZ3N0ciAiYXR0YWNoZXIgbGUgcGF0Y2giCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE1NQorIzogYnVpbHRpbi9sb2cuYzoxMjI1CiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKLW1zZ3N0ciAiIgorbXNnc3RyICJwYXRjaCDDoCBsJ2ludMOpcmlldXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE1OQorIzogYnVpbHRpbi9sb2cuYzoxMjI5CiBtc2dpZCAiZW5hYmxlIG1lc3NhZ2UgdGhyZWFkaW5nLCBzdHlsZXM6IHNoYWxsb3csIGRlZXAiCiBtc2dzdHIgIiIKKyJhY3RpdmVyIGwnZW5maWxhZ2UgZGUgbWVzc2FnZSwgc3R5bGVzIDogc2hhbGxvdyAoc3VwZXJmaWNpZWwpLCBkZWVwIChwcm9mb25kKSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTYxCisjOiBidWlsdGluL2xvZy5jOjEyMzEKIG1zZ2lkICJzaWduYXR1cmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAic2lnbmF0dXJlIgogCi0jOiBidWlsdGluL2xvZy5jOjExNjIKKyM6IGJ1aWx0aW4vbG9nLmM6MTIzMgogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJham91dGVyIHVuZSBzaWduYXR1cmUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2NAorIzogYnVpbHRpbi9sb2cuYzoxMjMzCiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJuZSBwYXMgYWZmaWNoZXIgbGVzIG5vbXMgZGUgZmljaGllcnMgZGVzIHBhdGNocyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjQ4CisjOiBidWlsdGluL2xvZy5jOjEzMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKK21zZ3N0ciAibGlnbmUgZCdpZGVudGlmaWNhdGlvbiBpbnZhbGlkZSA6ICVzIgorCisjOiBidWlsdGluL2xvZy5jOjEzMjIKIG1zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiLW4gZXQgLWsgc29udCBtdXR1ZWxsZW1lbnQgZXhjbHVzaWZzLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjUwCisjOiBidWlsdGluL2xvZy5jOjEzMjQKIG1zZ2lkICItLXN1YmplY3QtcHJlZml4IGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKLW1zZ3N0ciAiIgorbXNnc3RyICItLXN1YmplY3QtcHJlZml4IGV0IC1rIHNvbnQgbXV0dWVsbGVtZW50IGV4Y2x1c2lmcy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1OAorIzogYnVpbHRpbi9sb2cuYzoxMzMyCiBtc2dpZCAiLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIKLW1zZ3N0ciAiIgorbXNnc3RyICItLW5hbWUtb25seSBuJ2EgcGFzIGRlIHNlbnMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI2MAorIzogYnVpbHRpbi9sb2cuYzoxMzM0CiBtc2dpZCAiLS1uYW1lLXN0YXR1cyBkb2VzIG5vdCBtYWtlIHNlbnNlIgotbXNnc3RyICIiCittc2dzdHIgIi0tbmFtZS1zdGF0dXMgbidhIHBhcyBkZSBzZW5zIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjIKKyM6IGJ1aWx0aW4vbG9nLmM6MTMzNgogbXNnaWQgIi0tY2hlY2sgZG9lcyBub3QgbWFrZSBzZW5zZSIKLW1zZ3N0ciAiIgorbXNnc3RyICItLWNoZWNrIG4nYSBwYXMgZGUgc2VucyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjg1CisjOiBidWlsdGluL2xvZy5jOjEzNTkKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKLW1zZ3N0ciAiIgorbXNnc3RyICJzb3J0aWUgc3RhbmRhcmQsIG91IHLDqXBlcnRvaXJlLCBsZXF1ZWwgPyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjg3CisjOiBidWlsdGluL2xvZy5jOjEzNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNyw6llciBsZSByw6lwZXJ0b2lyZSAnJXMnIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTUwOQogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgotbXNnc3RyICIiCittc2dzdHIgIsOJY2hlYyBkZSBjcsOpYXRpb24gZGVzIGZpY2hpZXJzIGVuIHNvcnRpZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDg0CisjOiBidWlsdGluL2xvZy5jOjE1NTgKIG1zZ2lkICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGxpbWl0Pl1dXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgY2hlcnJ5IFstdl0gWzxicmFuY2hlX2Ftb250PiBbPGhlYWQ+IFs8bGltaXRlPl1dXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTM5CisjOiBidWlsdGluL2xvZy5jOjE2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBmaW5kIGEgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBwbGVhc2Ugc3BlY2lmeSA8dXBzdHJlYW0+IG1hbnVhbGx5LlxuIgogbXNnc3RyICIiCisiSW1wb3NzaWJsZSBkZSB0cm91dmVyIHVuZSBicmFuY2hlIGRpc3RhbnRlIHN1aXZpZSwgbWVyY2kgZGUgc3DDqWNpZmllciAiCisiPGJyYW5jaGVfYW1vbnQ+IG1hbnVlbGxlbWVudC5cbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTUyIGJ1aWx0aW4vbG9nLmM6MTU1NCBidWlsdGluL2xvZy5jOjE1NjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTYyNiBidWlsdGluL2xvZy5jOjE2MjggYnVpbHRpbi9sb2cuYzoxNjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gY29tbWl0ICVzIgotbXNnc3RyICIiCittc2dzdHIgIkNvbW1pdCBpbmNvbm51ICVzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDAyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6Mzk4CiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgbHMtZmlsZXMgW29wdGlvbnNdIFs8ZmljaGllcj4uLi5dIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU1Cittc2dpZCAiaWRlbnRpZnkgdGhlIGZpbGUgc3RhdHVzIHdpdGggdGFncyIKK21zZ3N0ciAiaWRlbnRpZmllciBsZSBzdGF0dXQgZGUgZmljaGllciBhdmVjIGxlcyDDqXRpcXVldHRlcyIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1NworbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgorbXNnc3RyICJ1dGlsaXNlciBkZXMgbWludXNjdWxlcyBwb3VyIGxlcyBmaWNoaWVyICdhc3N1bcOpcyBpbmNoYW5nw6lzJyIKIAogIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1OQotbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCi1tc2dzdHIgIiIKK21zZ2lkICJzaG93IGNhY2hlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IChkZWZhdWx0KSIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIG1pcyBlbiBjYWNoZSBkYW5zIGxhIHNvcnRpZSAoZMOpZmF1dCkiCiAKICM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjEKLW1zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdhc3N1bWUgdW5jaGFuZ2VkJyBmaWxlcyIKLW1zZ3N0ciAiIgorbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgorbXNnc3RyICJhZmZpY2hlciBsZXMgZmljaGllcnMgc3VwcHJpbcOpcyBkYW5zIGxhIHNvcnRpZSIKIAogIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MwotbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgotbXNnc3RyICIiCittc2dpZCAic2hvdyBtb2RpZmllZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgorbXNnc3RyICJhZmZpY2hlciBsZXMgZmljaGllcnMgbW9kaWZpw6lzIGRhbnMgbGEgc29ydGllIgogCiAjOiBidWlsdGluL2xzLWZpbGVzLmM6NDY1Ci1tc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCi1tc2dzdHIgIiIKK21zZ2lkICJzaG93IG90aGVyIGZpbGVzIGluIHRoZSBvdXRwdXQiCittc2dzdHIgImFmZmljaGVyIGxlcyBhdXRyZXMgZmljaGllcnMgZGFucyBsYSBzb3J0aWUiCiAKICM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjcKLW1zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OQotbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDcxCiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIGlnbm9yw6lzIGRhbnMgbGEgc29ydGllIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDc0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDcwCiBtc2dpZCAic2hvdyBzdGFnZWQgY29udGVudHMnIG9iamVjdCBuYW1lIGluIHRoZSBvdXRwdXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIG5vbSBkZXMgb2JqZXRzIGluZGV4w6lzIGRhbnMgbGEgc29ydGllIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDc2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDcyCiBtc2dpZCAic2hvdyBmaWxlcyBvbiB0aGUgZmlsZXN5c3RlbSB0aGF0IG5lZWQgdG8gYmUgcmVtb3ZlZCIKIG1zZ3N0ciAiIgorImFmZmljaGVyIGxlcyBmaWNoaWVycyBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyBxdWkgb250IGJlc29pbiBkJ8OqdHJlIHN1cHByaW3DqXMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzQKIG1zZ2lkICJzaG93ICdvdGhlcicgZGlyZWN0b3JpZXMnIG5hbWUgb25seSIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIG5vbXMgZGVzIHLDqXBlcnRvaXJlcyAnb3RoZXInIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDgxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDc3CiBtc2dpZCAiZG9uJ3Qgc2hvdyBlbXB0eSBkaXJlY3RvcmllcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJuZSBwYXMgYWZmaWNoZXIgbGVzIHLDqXBlcnRvaXJlcyB2aWRlcyIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MAorbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIG5vbiBmdXNpb25uw6lzIGRhbnMgbGEgc29ydGllIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDgyCittc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCittc2dzdHIgImFmZmljaGVyIGwnaW5mb3JtYXRpb24gcmVzb2x2LXVuZG8iCiAKICM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODQKLW1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NgotbXNnaWQgInNob3cgcmVzb2x2ZS11bmRvIGluZm9ybWF0aW9uIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODgKIG1zZ2lkICJza2lwIGZpbGVzIG1hdGNoaW5nIHBhdHRlcm4iCi1tc2dzdHIgIiIKK21zZ3N0ciAic2F1dGVyIGxlcyBmaWNoaWVycyBjb3JyZXNwb25kYW50IGF1IG1vdGlmIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDkxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDg3CiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKLW1zZ3N0ciAiIgorbXNnc3RyICJsZXMgbW90aWZzIGQnZXhjbHVzaW9uIHNvbnQgbHVzIGRlcHVpcyA8ZmljaGllcj4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTQKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTAKIG1zZ2lkICJyZWFkIGFkZGl0aW9uYWwgcGVyLWRpcmVjdG9yeSBleGNsdWRlIHBhdHRlcm5zIGluIDxmaWxlPiIKLW1zZ3N0ciAiIgorbXNnc3RyICJsaXJlIGRlcyBtb3RpZnMgZCdleGNsdXNpb24gYWRkaXRpb25uZWxzIHBhciByw6lwZXJ0b2lyZSBkYW5zIDxmaWNoaWVyPiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5NgorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MgogbXNnaWQgImFkZCB0aGUgc3RhbmRhcmQgZ2l0IGV4Y2x1c2lvbnMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWpvdXRlciBsZXMgZXhjbHVzaW9ucyBnaXQgc3RhbmRhcmQiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTUKK21zZ2lkICJtYWtlIHRoZSBvdXRwdXQgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgdG9wIGRpcmVjdG9yeSIKK21zZ3N0ciAiYWZmaWNoZXIgZW4gcmVsYXRpZiBwYXIgcmFwcG9ydCBhdSByw6lwZXJ0b2lyZSByYWNpbmUgZHUgcHJvamV0IgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDk4Cittc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgorbXNnc3RyICJzaSB1biA8ZmljaGllcj4gbidlc3QgcGFzIGRhbnMgbCdpbmRleCwgdHJhaXRlciBjZWxhIGNvbW1lIHVuZSBlcnJldXIiCiAKICM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTkKLW1zZ2lkICJtYWtlIHRoZSBvdXRwdXQgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgdG9wIGRpcmVjdG9yeSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTAyCi1tc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDMKIG1zZ2lkICJ0cmVlLWlzaCIKLW1zZ3N0ciAiIgorbXNnc3RyICJhcmJyZSBvdSBhcHBhcmVudMOpIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTA0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTAwCiBtc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAiIgorImNvbnNpZMOpcmVyIHF1ZSBsZXMgY2hlbWlucyBzdXBwcmltw6lzIGRlcHVpcyA8YXJicmUgb3UgYXBwYXJlbnTDqT4gc29udCAiCisidG91am91cnMgcHLDqXNlbnRzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTA2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTAyCiBtc2dpZCAic2hvdyBkZWJ1Z2dpbmcgZGF0YSIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsZXMgZG9ubsOpZXMgZGUgZMOpYm9nYWdlIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoyNworIzogYnVpbHRpbi9scy10cmVlLmM6MjgKIG1zZ2lkICJnaXQgbHMtdHJlZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBscy10cmVlIFs8b3B0aW9ucz5dIDxhcmJyZSBvdSBhcHBhcmVudMOpPiBbPGNoZW1pbj4uLi5dIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjUKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyNgogbXNnaWQgIm9ubHkgc2hvdyB0cmVlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIGFyYnJlcyIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI3CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMjgKIG1zZ2lkICJyZWN1cnNlIGludG8gc3VidHJlZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAicGFyY291cmlyIGxlcyBzb3VzLWFyYnJlcyIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI5CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzAKIG1zZ2lkICJzaG93IHRyZWVzIHdoZW4gcmVjdXJzaW5nIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMgotbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIGJ5dGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIGFyYnJlcyBlbiBsZXMgcGFyY291cmFudCIKIAogIzogYnVpbHRpbi9scy10cmVlLmM6MTMzCittc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwgYnl0ZSIKK21zZ3N0ciAidGVybWluZXIgbGVzIMOpbMOpbWVudHMgYXZlYyB1biBvY3RldCBOVUwiCisKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNAogbXNnaWQgImluY2x1ZGUgb2JqZWN0IHNpemUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW5jbHVyZSBsYSB0YWlsbGUgZCdvYmpldCIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTM1IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNworIzogYnVpbHRpbi9scy10cmVlLmM6MTM2IGJ1aWx0aW4vbHMtdHJlZS5jOjEzOAogbXNnaWQgImxpc3Qgb25seSBmaWxlbmFtZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyBub21zIGRlIGZpY2hpZXJzIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxNDAKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MQogbXNnaWQgInVzZSBmdWxsIHBhdGggbmFtZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAidXRpbGlzZXIgbGVzIG5vbXMgZGUgY2hlbWlucyBjb21wbGV0cyIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTQyCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDMKIG1zZ2lkICJsaXN0IGVudGlyZSB0cmVlOyBub3QganVzdCBjdXJyZW50IGRpcmVjdG9yeSAoaW1wbGllcyAtLWZ1bGwtbmFtZSkiCiBtc2dzdHIgIiIKKyJhZmZpY2hlciBsJ2FyYnJlIGVudGllciA7IHBhcyBzZXVsZW1lbnQgbGUgcsOpcGVydG9pcmUgY291cmFudCAoaW1wbGlxdWUgLS0iCisiZnVsbC1uYW1lKSIKIAogIzogYnVpbHRpbi9tZXJnZS5jOjQzCiBtc2dpZCAiZ2l0IG1lcmdlIFtvcHRpb25zXSBbPGNvbW1pdD4uLi5dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBtZXJnZSBbb3B0aW9uc10gWzxjb21taXQ+Li4uXSIKIAogIzogYnVpbHRpbi9tZXJnZS5jOjQ0CiBtc2dpZCAiZ2l0IG1lcmdlIFtvcHRpb25zXSA8bXNnPiBIRUFEIDxjb21taXQ+IgotbXNnc3RyICIiCittc2dzdHIgImdpdCBtZXJnZSBbb3B0aW9uc10gPG1lc3NhZ2U+IEhFQUQgPGNvbW1pdD4iCiAKICM6IGJ1aWx0aW4vbWVyZ2UuYzo0NQogbXNnaWQgImdpdCBtZXJnZSAtLWFib3J0IgotbXNnc3RyICIiCittc2dzdHIgImdpdCBtZXJnZSAtLWFib3J0IgogCi0jOiBidWlsdGluL21lcmdlLmM6OTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5OAogbXNnaWQgInN3aXRjaCBgbScgcmVxdWlyZXMgYSB2YWx1ZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJsZSBjb21tdXRhdGV1ciBgbScgYSBiZXNvaW4gZCd1bmUgdmFsZXVyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI3CisjOiBidWlsdGluL21lcmdlLmM6MTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIG1lcmdlIHN0cmF0ZWd5ICclcycuXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSB0cm91dmVyIGxhIHN0cmF0w6lnaWUgZGUgZnVzaW9uICclcycuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIHN0cmF0ZWdpZXMgYXJlOiIKLW1zZ3N0ciAiIgorbXNnc3RyICJMZXMgc3RyYXTDqWdpZXMgZGlzcG9uaWJsZXMgc29udCA6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMzCisjOiBidWlsdGluL21lcmdlLmM6MTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF2YWlsYWJsZSBjdXN0b20gc3RyYXRlZ2llcyBhcmU6IgotbXNnc3RyICIiCittc2dzdHIgIkxlcyBzdHJhdMOpZ2llcyBwZXJzb25uYWxpc8OpZXMgc29udCA6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTgzCisjOiBidWlsdGluL21lcmdlLmM6MTkxCiBtc2dpZCAiZG8gbm90IHNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTg2Ci1tc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxODcKLW1zZ2lkICIoc3lub255bSB0byAtLXN0YXQpIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxODkKLW1zZ2lkICJhZGQgKGF0IG1vc3QgPG4+KSBlbnRyaWVzIGZyb20gc2hvcnRsb2cgdG8gbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjE5MgotbXNnaWQgImNyZWF0ZSBhIHNpbmdsZSBjb21taXQgaW5zdGVhZCBvZiBkb2luZyBhIG1lcmdlIgotbXNnc3RyICIiCittc2dzdHIgIm5lIHBhcyBhZmZpY2hlciB1biBkaWZmc3RhdCDDoCBsYSBmaW4gZGUgbGEgZnVzaW9uIgogCiAjOiBidWlsdGluL21lcmdlLmM6MTk0Ci1tc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgotbXNnc3RyICIiCittc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgorbXNnc3RyICJhZmZpY2hlciB1biBkaWZmc3RhdCDDoCBsYSBmaW4gZGUgbGEgZnVzaW9uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk2Ci1tc2dpZCAiZWRpdCBtZXNzYWdlIGJlZm9yZSBjb21taXR0aW5nIgotbXNnc3RyICIiCisjOiBidWlsdGluL21lcmdlLmM6MTk1Cittc2dpZCAiKHN5bm9ueW0gdG8gLS1zdGF0KSIKK21zZ3N0ciAiKHN5bm9ueW1lIGRlIC0tc3RhdCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTgKLW1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQgKGRlZmF1bHQpIgorIzogYnVpbHRpbi9tZXJnZS5jOjE5NworbXNnaWQgImFkZCAoYXQgbW9zdCA8bj4pIGVudHJpZXMgZnJvbSBzaG9ydGxvZyB0byBtZXJnZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiIgorImFqb3V0ZXIgKGF1IHBsdXMgPG4+KSDDqWzDqW1lbnRzIGR1IGpvdXJuYWwgY291cnQgYXUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIGRlICIKKyJsYSBmdXNpb24iCiAKICM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDAKLW1zZ2lkICJhYm9ydCBpZiBmYXN0LWZvcndhcmQgaXMgbm90IHBvc3NpYmxlIgotbXNnc3RyICIiCittc2dpZCAiY3JlYXRlIGEgc2luZ2xlIGNvbW1pdCBpbnN0ZWFkIG9mIGRvaW5nIGEgbWVyZ2UiCittc2dzdHIgImNyw6llciB1bmUgdmFsaWRhdGlvbiB1bmlxdWUgYXUgbGlldSBkZSBmYWlyZSB1bmUgZnVzaW9uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjAzCi1tc2dpZCAiVmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgotbXNnc3RyICIiCisjOiBidWlsdGluL21lcmdlLmM6MjAyCittc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgorbXNnc3RyICJlZmZlY3R1ZXIgdW5lIHZhbGlkYXRpb24gc2kgbGEgZnVzaW9uIHLDqXVzc2l0IChkw6lmYXV0KSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwNCBidWlsdGluL25vdGVzLmM6ODY2IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCi1tc2dpZCAic3RyYXRlZ3kiCi1tc2dzdHIgIiIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDQKK21zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCittc2dzdHIgIsOpZGl0ZXIgbGUgbWVzc2FnZSBhdmFudCBsYSB2YWxpZGF0aW9uIgogCiAjOiBidWlsdGluL21lcmdlLmM6MjA1Ci1tc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDYKLW1zZ2lkICJvcHRpb249dmFsdWUiCi1tc2dzdHIgIiIKK21zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQgKGRlZmF1bHQpIgorbXNnc3RyICJhdXRvcmlzZXIgbCdhdmFuY2UgcmFwaWRlIChkw6lmYXV0KSIKIAogIzogYnVpbHRpbi9tZXJnZS5jOjIwNwotbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCi1tc2dzdHIgIiIKK21zZ2lkICJhYm9ydCBpZiBmYXN0LWZvcndhcmQgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyICJhYmFuZG9ubmVyIHNpIGwnYXZhbmNlIHJhcGlkZSBuJ2VzdCBwYXMgcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDkKLW1zZ2lkICJtZXJnZSBjb21taXQgbWVzc2FnZSAoZm9yIGEgbm9uLWZhc3QtZm9yd2FyZCBtZXJnZSkiCi1tc2dzdHIgIiIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTEKK21zZ2lkICJWZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCittc2dzdHIgIlbDqXJpZmllciBxdWUgbGEgdmFsaWRhdGlvbiBhIHVuZSBzaWduYXR1cmUgR1BHIHZhbGlkZSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjIxMiBidWlsdGluL25vdGVzLmM6NzM4IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKK21zZ2lkICJzdHJhdGVneSIKK21zZ3N0ciAic3RyYXTDqWdpZSIKIAogIzogYnVpbHRpbi9tZXJnZS5jOjIxMworbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKK21zZ3N0ciAic3RyYXTDqWdpZSBkZSBmdXNpb24gw6AgdXRpbGlzZXIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTQKK21zZ2lkICJvcHRpb249dmFsdWUiCittc2dzdHIgIm9wdGlvbj12YWxldXIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTUKK21zZ2lkICJvcHRpb24gZm9yIHNlbGVjdGVkIG1lcmdlIHN0cmF0ZWd5IgorbXNnc3RyICJvcHRpb24gcG91ciBsYSBzdHJhdMOpZ2llIGRlIGZ1c2lvbiBzw6lsZWN0aW9ubsOpZSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjIxNworbXNnaWQgIm1lcmdlIGNvbW1pdCBtZXNzYWdlIChmb3IgYSBub24tZmFzdC1mb3J3YXJkIG1lcmdlKSIKK21zZ3N0ciAiIgorIm1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBkZSBsYSBmdXNpb24gKHBvdXIgdW5lIGZ1c2lvbiBzYW5zIGF2YW5jZSByYXBpZGUpIgorCisjOiBidWlsdGluL21lcmdlLmM6MjIxCiBtc2dpZCAiYWJvcnQgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWJhbmRvbm5lciBsYSBmdXNpb24gZW4gY291cnMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTAKIG1zZ2lkICJjb3VsZCBub3QgcnVuIHN0YXNoLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxhbmNlciBsZSByZW1pc2FnZS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTUKIG1zZ2lkICJzdGFzaCBmYWlsZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6ljaGVjIGR1IHJlbWlzYWdlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjUyCisjOiBidWlsdGluL21lcmdlLmM6MjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdDogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAicGFzIHVuIG9iamV0IHZhbGlkZSA6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjcxIGJ1aWx0aW4vbWVyZ2UuYzoyODgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzkgYnVpbHRpbi9tZXJnZS5jOjI5NgogbXNnaWQgInJlYWQtdHJlZSBmYWlsZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVhZC10cmVlIGEgw6ljaG91w6kiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozMTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMjYKIG1zZ2lkICIgKG5vdGhpbmcgdG8gc3F1YXNoKSIKIG1zZ3N0ciAiIChyaWVuIMOgIGNvbXByZXNzZXIpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzMxCisjOiBidWlsdGluL21lcmdlLmM6MzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNxdWFzaCBjb21taXQgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJWYWxpZGF0aW9uIGNvbXByZXNzw6llIC0tIEhFQUQgbm9uIG1pc2Ugw6Agam91clxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzYzCisjOiBidWlsdGluL21lcmdlLmM6MzcxCiBtc2dpZCAiV3JpdGluZyBTUVVBU0hfTVNHIgotbXNnc3RyICIiCittc2dzdHIgIsOJY3JpdHVyZSBkZSBTUVVBU0hfTVNHIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzY1CisjOiBidWlsdGluL21lcmdlLmM6MzczCiBtc2dpZCAiRmluaXNoaW5nIFNRVUFTSF9NU0ciCi1tc2dzdHIgIiIKK21zZ3N0ciAiRmluaXRpb24gZGUgU1FVQVNIX01TRyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM4OAorIzogYnVpbHRpbi9tZXJnZS5jOjM5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBtZXNzYWdlIC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiUGFzIGRlIG1lc3NhZ2UgZGUgZnVzaW9uIC0tIHBhcyBkZSBtaXNlIMOgIGpvdXIgZGUgSEVBRFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDM4CisjOiBidWlsdGluL21lcmdlLmM6NDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJyVzJyBuZSBwb2ludGUgcGFzIHN1ciB1biBjb21taXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1NTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJNYXV2YWlzZSBjaGHDrm5lIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY0MworIzogYnVpbHRpbi9tZXJnZS5jOjY1MAogbXNnaWQgImdpdCB3cml0ZS10cmVlIGZhaWxlZCB0byB3cml0ZSBhIHRyZWUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUgYSDDqWNob3XDqSDDoCDDqWNyaXJlIHVuIGFyYnJlIgogCi0jOiBidWlsdGluL21lcmdlLmM6NjcxCisjOiBidWlsdGluL21lcmdlLmM6Njc4CiBtc2dpZCAiTm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGfDqXJlciBhdXRyZSBjaG9zZSBxdWUgbGEgZnVzaW9uIGRlIGRldXggdMOqdGVzLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY4NQorIzogYnVpbHRpbi9tZXJnZS5jOjY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgotbXNnc3RyICIiCittc2dzdHIgIk9wdGlvbnMgaW5jb25udWUgcG91ciBtZXJnZS1yZWN1cnNpdmUgOiAtWCVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6Njk5CisjOiBidWlsdGluL21lcmdlLmM6NzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc4OAorIzogYnVpbHRpbi9tZXJnZS5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBmcm9tICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIGRlcHVpcyAnJXMnIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzk3CisjOiBidWlsdGluL21lcmdlLmM6ODA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBjb21taXR0aW5nIG1lcmdlOyB1c2UgJ2dpdCBjb21taXQnIHRvIGNvbXBsZXRlIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgorIlBhcyBkZSB2YWxpZGF0aW9uIGRlIGxhIGZ1c2lvbiA7IHV0aWxpc2V6ICdnaXQgY29tbWl0JyBwb3VyIHRlcm1pbmVyIGxhICIKKyJmdXNpb24uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgpAQCAtNjI1Niw4OTcgKzcwMDUsOTQ3IEBACiAiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzXG4iCiAidGhlIGNvbW1pdC5cbiIKIG1zZ3N0ciAiIgorIlZldWlsbGV6IGVudHJlciB1biBtZXNzYWdlIGRlIHZhbGlkYXRpb24gcG91ciBleHBsaXF1ZXIgZW4gcXVvaSBjZXR0ZSBmdXNpb24gIgorImVzdFxuIgorIm7DqWNlc3NhaXJlLCBzdXJ0b3V0IHNpIGNlbGEgZnVzaW9ubmUgdW5lIGJyYW5jaGUgYW1vbnQgbWlzZSDDoCBqb3VyIGRhbnMgdW5lICIKKyJicmFuY2hlIGRlIHN1amV0LlxuIgorIlxuIgorIkxlcyBsaWduZXMgY29tbWVuw6dhbnQgcGFyICclYycgc2Vyb250IGlnbm9yw6llcywgZXQgdW4gbWVzc2FnZSB2aWRlXG4iCisiYWJhbmRvbm5lIGxhIHZhbGlkYXRpb24uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MjcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MzQKIG1zZ2lkICJFbXB0eSBjb21taXQgbWVzc2FnZS4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiTWVzc2FnZSBkZSB2YWxpZGF0aW9uIHZpZGUuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODM5CisjOiBidWlsdGluL21lcmdlLmM6ODQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIldvbmRlcmZ1bC5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJNZXJ2ZWlsbGV1eC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkwNAorIzogYnVpbHRpbi9tZXJnZS5jOjkxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2UgZmFpbGVkOyBmaXggY29uZmxpY3RzIGFuZCB0aGVuIGNvbW1pdCB0aGUgcmVzdWx0LlxuIgogbXNnc3RyICIiCisiTGEgZnVzaW9uIGF1dG9tYXRpcXVlIGEgw6ljaG91w6kgOyByw6lnbGV6IGxlcyBjb25mbGl0cyBldCB2YWxpZGV6IGxlICIKKyJyw6lzdWx0YXQuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MjAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJyVzJyBuJ2VzdCBwYXMgdW5lIHZhbGlkYXRpb24iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NjEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NjgKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjk2MwotbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6OTY1Ci1tc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgotbXNnc3RyICIiCittc2dzdHIgIlBhcyBkZSBicmFuY2hlIGNvdXJhbnRlLiIKIAogIzogYnVpbHRpbi9tZXJnZS5jOjk3MAotIywgYy1mb3JtYXQKLW1zZ2lkICJObyByZW1vdGUgdHJhY2tpbmcgYnJhbmNoIGZvciAlcyBmcm9tICVzIgotbXNnc3RyICIiCittc2dpZCAiTm8gcmVtb3RlIGZvciB0aGUgY3VycmVudCBicmFuY2guIgorbXNnc3RyICJQYXMgZGUgYnJhbmNoZSBkaXN0YW50ZSBwb3VyIGxhIGJyYW5jaGUgY291cmFudGUuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTA1NyBidWlsdGluL21lcmdlLmM6MTIxNAotIywgYy1mb3JtYXQKLW1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgotbXNnc3RyICIiCisjOiBidWlsdGluL21lcmdlLmM6OTcyCittc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgorbXNnc3RyICJQYXMgZGUgYnJhbmNoZSBhbW9udCBwYXIgZMOpZmF1dCBkw6lmaW5pZSBwb3VyIGxhIGJyYW5jaGUgY291cmFudGUuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTEyNQorIzogYnVpbHRpbi9tZXJnZS5jOjk3NworIywgYy1mb3JtYXQKK21zZ2lkICJObyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIGZvciAlcyBmcm9tICVzIgorbXNnc3RyICJQYXMgZGUgYnJhbmNoZSBkZSBzdWl2aSBwb3VyICVzIGRlcHVpcyAlcyIKKworIzogYnVpbHRpbi9tZXJnZS5jOjExMzMKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSB0byBhYm9ydCAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiSWwgbid5IGEgcGFzIGRlIGZ1c2lvbiDDoCBhYmFuZG9ubmVyIChNRVJHRV9IRUFEIG1hbnF1YW50KS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQxIGdpdC1wdWxsLnNoOjMxCisjOiBidWlsdGluL21lcmdlLmM6MTE0OSBnaXQtcHVsbC5zaDozMQogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgogbXNnc3RyICIiCisiVm91cyBuJ2F2ZXogcGFzIHRlcm1pbsOpIHZvdHJlIGZ1c2lvbiAoTUVSR0VfSEVBRCBleGlzdGUpLlxuIgorIlZldWlsbGV6IHZhbGlkZXIgdm9zIGNoYW5nZW1lbnRzIGF2YW50IGRlIHBvdXZvaXIgZnVzaW9ubmVyLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNDQgZ2l0LXB1bGwuc2g6MzQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTUyIGdpdC1wdWxsLnNoOjM0CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuIgotbXNnc3RyICIiCittc2dzdHIgIlZvdXMgbidhdmV6IHBhcyB0ZXJtaW7DqSB2b3RyZSBmdXNpb24gKE1FUkdFX0hFQUQgZXhpc3RlKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ4CisjOiBidWlsdGluL21lcmdlLmM6MTE1NgogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgogbXNnc3RyICIiCisiVm91cyBuJ2F2ZXogcGFzIHRlcm1pbsOpIHZvdHJlIHBpY29yYWdlIChDSEVSUllfUElDS19IRUFEIGV4aXN0ZSkuXG4iCisiVmV1aWxsZXogdmFsaWRlciB2b3MgY2hhbmdlbWVudHMgYXZhbnQgZGUgcG91dm9pciBmdXNpb25uZXIuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE1MQorIzogYnVpbHRpbi9tZXJnZS5jOjExNTkKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiVm91cyBuJ2F2ZXogcGFzIHRlcm1pbsOpIHZvdHJlIHBpY29yYWdlIChDSEVSUllfUElDS19IRUFEIGV4aXN0ZSkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE2MAorIzogYnVpbHRpbi9tZXJnZS5jOjExNjgKIG1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJWb3VzIG5lIHBvdXZleiBwYXMgY29tYmluZXIgLS1zcXVhc2ggYXZlYyAtLW5vLWZmLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNjUKLW1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1uby1mZiB3aXRoIC0tZmYtb25seS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjExNzIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTc3CiBtc2dpZCAiTm8gY29tbWl0IHNwZWNpZmllZCBhbmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm90IHNldC4iCiBtc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEyMDQKLW1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjA3Ci1tc2dpZCAiU3F1YXNoIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQgbm90IHN1cHBvcnRlZCB5ZXQiCi1tc2dzdHIgIiIKKyJQYXMgZGUgdmFsaWRhdGlvbiBzcMOpY2lmacOpZSBldCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBuJ2VzdCBwYXMgZMOpZmluaS4iCiAKICM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjA5Ci1tc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCittc2dpZCAiQ2FuIG1lcmdlIG9ubHkgZXhhY3RseSBvbmUgY29tbWl0IGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiIgorIlBvc3NpYmxlIGRlIGZ1c2lvbm5lciBleGFjdGVtZW50IHVuZSBzZXVsZSB2YWxpZGF0aW9uIGRhbnMgdW5lIHTDqnRlIHZpZGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjY1CisjOiBidWlsdGluL21lcmdlLmM6MTIxMgorbXNnaWQgIlNxdWFzaCBjb21taXQgaW50byBlbXB0eSBoZWFkIG5vdCBzdXBwb3J0ZWQgeWV0IgorbXNnc3RyICJMYSB2YWxpZGF0aW9uIGNvbXByZXNzw6llIHZlcnMgdW5lIHTDqnRlIHZpZGUgbidlc3QgcGFzIGVuY29yZSBzdXBwb3J0w6llIgorCisjOiBidWlsdGluL21lcmdlLmM6MTIxNAorbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgorbXNnc3RyICJVbmUgdmFsaWRhdGlvbiBzYW5zIGF2YW5jZSByYXBpZGUgbidhIHBhcyBkZSBzZW5zIGRhbnMgdW5lIHTDqnRlIHZpZGUiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gbm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCittc2dzdHIgIiVzIC0gcGFzIHBvc3NpYmxlIGRlIGZ1c2lvbm5lciBjZWNpIgorCisjOiBidWlsdGluL21lcmdlLmM6MTI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgotbXNnc3RyICIiCittc2dzdHIgIkxhIHZhbGlkYXRpb24gJXMgYSB1bmUgc2lnbmF0dXJlIEdQRyBub24gZmlhYmxlLCBwcsOpdGVuZHVtZW50IHBhciAlcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjY4CisjOiBidWlsdGluL21lcmdlLmM6MTI3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgYmFkIEdQRyBzaWduYXR1cmUgYWxsZWdlZGx5IGJ5ICVzLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJMYSB2YWxpZGF0aW9uICVzIGEgdW5lIG1hdXZhaXNlIHNpZ25hdHVyZSBHUEcgcHLDqXRlbmR1bWVudCBwYXIgJXMuIgogCiAjLiAnTicKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjcxCisjOiBidWlsdGluL21lcmdlLmM6MTI3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBhIEdQRyBzaWduYXR1cmUuIgotbXNnc3RyICIiCittc2dzdHIgIkxhIHZhbGlkYXRpb24gJXMgbidhIHBhcyBkZSBzaWduYXR1cmUgR1BHLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNzQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBnb29kIEdQRyBzaWduYXR1cmUgYnkgJXNcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJMYSB2YWxpZGF0aW9uICVzIGEgdW5lIHNpZ25hdHVyZSBHUEcgY29ycmVjdGUgcGFyICVzXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzU4CisjOiBidWlsdGluL21lcmdlLmM6MTM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGluZyAlcy4uJXNcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJNaXNlIMOgIGpvdXIgJXMuLiVzXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzk3CisjOiBidWlsdGluL21lcmdlLmM6MTQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgcmVhbGx5IHRyaXZpYWwgaW4taW5kZXggbWVyZ2UuLi5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJFc3NhaSBkZSBmdXNpb24gdnJhaW1lbnQgdHJpdmlhbGUgZGFucyBsJ2luZGV4Li4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDA0CisjOiBidWlsdGluL21lcmdlLmM6MTQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3BlLlxuIgotbXNnc3RyICIiCittc2dzdHIgIk5vbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDQxCiBtc2dpZCAiTm90IHBvc3NpYmxlIHRvIGZhc3QtZm9yd2FyZCwgYWJvcnRpbmcuIgotbXNnc3RyICIiCittc2dzdHIgIlBhcyBwb3NzaWJsZSBkJ2F2YW5jZXIgcmFwaWRlbWVudCwgYWJhbmRvbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDU5IGJ1aWx0aW4vbWVyZ2UuYzoxNTM4CisjOiBidWlsdGluL21lcmdlLmM6MTQ2NCBidWlsdGluL21lcmdlLmM6MTU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXdpbmRpbmcgdGhlIHRyZWUgdG8gcHJpc3RpbmUuLi5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJSZXRvdXIgZGUgbCdhcmJyZSDDoCBsJ29yaWdpbmFsLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDYzCisjOiBidWlsdGluL21lcmdlLmM6MTQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgbWVyZ2Ugc3RyYXRlZ3kgJXMuLi5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJFc3NhaSBkZSBsYSBzdHJhdMOpZ2llIGRlIGZ1c2lvbiAlcy4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUyOQorIzogYnVpbHRpbi9tZXJnZS5jOjE1MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2Ugc3RyYXRlZ3kgaGFuZGxlZCB0aGUgbWVyZ2UuXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiQXVjdW5lIHN0cmF0w6lnaWUgZGUgZnVzaW9uIG4nYSBwcmlzIGVuIGNoYXJnZSBsYSBmdXNpb24uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTMxCisjOiBidWlsdGluL21lcmdlLmM6MTUzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJNZXJnZSB3aXRoIHN0cmF0ZWd5ICVzIGZhaWxlZC5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJMYSBmdXNpb24gYXZlYyBsYSBzdHJhdMOpZ2llICVzIGEgw6ljaG91w6kuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQwCisjOiBidWlsdGluL21lcmdlLmM6MTU0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJVdGlsaXNhdGlvbiBkZSAlcyBwb3VyIHByw6lwYXJlciBsYSByw6lzb2x1dGlvbiDDoCBsYSBtYWluLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU1MgorIzogYnVpbHRpbi9tZXJnZS5jOjE1NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIHdlbnQgd2VsbDsgc3RvcHBlZCBiZWZvcmUgY29tbWl0dGluZyBhcyByZXF1ZXN0ZWRcbiIKIG1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyNgotbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYXwtLWFsbF0gPGNvbW1pdD4gPGNvbW1pdD4uLi4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjcKLW1zZ2lkICJnaXQgbWVyZ2UtYmFzZSBbLWF8LS1hbGxdIC0tb2N0b3B1cyA8Y29tbWl0Pi4uLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyOAotbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGNvbW1pdD4uLi4iCi1tc2dzdHIgIiIKKyJMYSBmdXNpb24gYXV0b21hdGlxdWUgYSByw6l1c3NpIDsgc3RvcHDDqWUgYXZhbnQgbGEgdmFsaWRhdGlvbiBjb21tZSBkZW1hbmTDqVxuIgogCiAjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyOQorbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYXwtLWFsbF0gPGNvbW1pdD4gPGNvbW1pdD4uLi4iCittc2dzdHIgImdpdCBtZXJnZS1iYXNlIFstYXwtLWFsbF0gPHZhbGlkYXRpb24+IDx2YWxpZGF0aW9uPi4uLiIKKworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzAKK21zZ2lkICJnaXQgbWVyZ2UtYmFzZSBbLWF8LS1hbGxdIC0tb2N0b3B1cyA8Y29tbWl0Pi4uLiIKK21zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgWy1hfC0tYWxsXSAtLW9jdG9wdXMgPHZhbGlkYXRpb24+Li4uIgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMQorbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGNvbW1pdD4uLi4iCittc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPHZhbGlkYXRpb24+Li4uIgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMgogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPGNvbW1pdD4gPGNvbW1pdD4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgLS1pcy1hbmNlc3RvciA8dmFsaWRhdGlvbj4gPHZhbGlkYXRpb24+IgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzo5OAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzMKK21zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPHJlZj4gWzxjb21taXQ+XSIKK21zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IDxyw6lmw6lyZW5jZT4gWzx2YWxpZGF0aW9uPl0iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxNAogbXNnaWQgIm91dHB1dCBhbGwgY29tbW9uIGFuY2VzdG9ycyIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciB0b3VzIGxlcyBhbmPDqnRyZXMgY29tbXVucyIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6OTkKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxNgogbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0cm91dmVyIGxlcyBhbmPDqnRyZXMgcG91ciB1bmUgZnVzaW9uIHNpbXBsZSDDoCBuIHBvaW50cyIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MTAwCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTgKIG1zZ2lkICJsaXN0IHJldnMgbm90IHJlYWNoYWJsZSBmcm9tIG90aGVycyIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsZXMgcsOpdmlzaW9ucyBpbmFjY2Vzc2libGVzIGRlcHVpcyBsZXMgYXV0cmVzIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoxMDIKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMAogbXNnaWQgImlzIHRoZSBmaXJzdCBvbmUgYW5jZXN0b3Igb2YgdGhlIG90aGVyPyIKLW1zZ3N0ciAiIgorbXNnc3RyICJlc3QgbGUgcHJlbWllciBhbmPDqnRyZSBkZSBsJ2F1dHJlID8iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMgorbXNnaWQgImZpbmQgd2hlcmUgPGNvbW1pdD4gZm9ya2VkIGZyb20gcmVmbG9nIG9mIDxyZWY+IgorbXNnc3RyICJ0cm91dmVyIG/DuSA8dmFsaWRhdGlvbj4gYSBkaXZlcmfDqSBkdSByZWZsb2cgZGUgPHLDqWbDqXJlbmNlPiIKIAogIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OAogbXNnaWQgIiIKICJnaXQgbWVyZ2UtZmlsZSBbb3B0aW9uc10gWy1MIG5hbWUxIFstTCBvcmlnIFstTCBuYW1lMl1dXSBmaWxlMSBvcmlnX2ZpbGUgIgogImZpbGUyIgogbXNnc3RyICIiCisiZ2l0IG1lcmdlLWZpbGUgW29wdGlvbnNdIFstTCBub20xIFstTCBvcmlnIFstTCBub20yXV1dIGZpY2hpZXIxIG9yaWdfZmlsZSAiCisiZmljaGllcjIiCiAKICM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjMzCiBtc2dpZCAic2VuZCByZXN1bHRzIHRvIHN0YW5kYXJkIG91dHB1dCIKLW1zZ3N0ciAiIgorbXNnc3RyICJlbnZveWVyIGxlcyByw6lzdWx0YXRzIHN1ciBsYSBzb3J0aWUgc3RhbmRhcmQiCiAKICM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjM0CiBtc2dpZCAidXNlIGEgZGlmZjMgYmFzZWQgbWVyZ2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAidXRpbGlzZXIgdW5lIGZ1c2lvbiBiYXPDqWUgc3VyIGRpZmYzIgogCiAjOiBidWlsdGluL21lcmdlLWZpbGUuYzozNQogbXNnaWQgImZvciBjb25mbGljdHMsIHVzZSBvdXIgdmVyc2lvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJwb3VyIGxlcyBjb25mbGl0cywgdXRpbGlzZXIgbm90cmUgdmVyc2lvbiAob3VyKSIKIAogIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzcKIG1zZ2lkICJmb3IgY29uZmxpY3RzLCB1c2UgdGhlaXIgdmVyc2lvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJwb3VyIGxlcyBjb25mbGl0cywgdXRpbGlzZXIgbGV1ciB2ZXJzaW9uICh0aGVpcikiCiAKICM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjM5CiBtc2dpZCAiZm9yIGNvbmZsaWN0cywgdXNlIGEgdW5pb24gdmVyc2lvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJwb3VyIGxlcyBjb25mbGl0cywgdXRpbGlzZXIgbCdlbnNlbWJsZSBkZXMgdmVyc2lvbnMiCiAKICM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQyCiBtc2dpZCAiZm9yIGNvbmZsaWN0cywgdXNlIHRoaXMgbWFya2VyIHNpemUiCi1tc2dzdHIgIiIKK21zZ3N0ciAicG91ciBsZXMgY29uZmxpdHMsIHV0aWxpc2VyIGNldHRlIHRhaWxsZSBkZSBtYXJxdWV1ciIKIAogIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6NDMKIG1zZ2lkICJkbyBub3Qgd2FybiBhYm91dCBjb25mbGljdHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAibmUgcGFzIGF2ZXJ0aXIgw6AgcHJvcG9zIGRlcyBjb25mbGl0cyIKIAogIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6NDUKIG1zZ2lkICJzZXQgbGFiZWxzIGZvciBmaWxlMS9vcmlnX2ZpbGUvZmlsZTIiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZMOpZmluaXIgbGVzIGxhYmVscyBwb3VyIGZpY2hpZXIxL29yaWdfZmlsZS9maWNoaWVyMiIKIAogIzogYnVpbHRpbi9ta3RyZWUuYzo2NwogbXNnaWQgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG1rdHJlZSBbLXpdIFstLW1pc3NpbmddIFstLWJhdGNoXSIKIAogIzogYnVpbHRpbi9ta3RyZWUuYzoxNTMKIG1zZ2lkICJpbnB1dCBpcyBOVUwgdGVybWluYXRlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJsJ2VudHLDqWUgc2UgdGVybWluZSBwYXIgTlVMIgogCiAjOiBidWlsdGluL21rdHJlZS5jOjE1NCBidWlsdGluL3dyaXRlLXRyZWUuYzoyNAogbXNnaWQgImFsbG93IG1pc3Npbmcgb2JqZWN0cyIKLW1zZ3N0ciAiIgorbXNnc3RyICJhdXRvcmlzZXIgbGVzIG9iamV0cyBtYW5xdWFudHMiCiAKICM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU1CiBtc2dpZCAiYWxsb3cgY3JlYXRpb24gb2YgbW9yZSB0aGFuIG9uZSB0cmVlIgotbXNnc3RyICIiCittc2dzdHIgImF1dG9yaXNlciBsYSBjcsOpYXRpb24gZGUgcGx1cyBkJ3VuIGFyYnJlIgogCi0jOiBidWlsdGluL212LmM6MTQKKyM6IGJ1aWx0aW4vbXYuYzoxNQogbXNnaWQgImdpdCBtdiBbb3B0aW9uc10gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgbXYgW29wdGlvbnNdIDxzb3VyY2U+Li4uIDxkZXN0aW5hdGlvbj4iCiAKLSM6IGJ1aWx0aW4vbXYuYzo2NAorIzogYnVpbHRpbi9tdi5jOjcxCiBtc2dpZCAiZm9yY2UgbW92ZS9yZW5hbWUgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgotbXNnc3RyICIiCittc2dzdHIgImZvcmNlciBsZSBkw6lwbGFjZW1lbnQvcmVub21tYWdlIG3Dqm1lIHNpIGxhIGNpYmxlIGV4aXN0ZSIKIAotIzogYnVpbHRpbi9tdi5jOjY1CisjOiBidWlsdGluL212LmM6NzIKIG1zZ2lkICJza2lwIG1vdmUvcmVuYW1lIGVycm9ycyIKLW1zZ3N0ciAiIgorbXNnc3RyICJzYXV0ZXIgbGVzIGVycmV1cnMgZGUgZMOpcGxhY2VtZW50L3Jlbm9tbWFnZSIKIAotIzogYnVpbHRpbi9tdi5jOjEwOAorIzogYnVpbHRpbi9tdi5jOjEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyByZW5hbWUgb2YgJyVzJyB0byAnJXMnXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiVsOpcmlmaWNhdGlvbiBkdSByZW5vbW1hZ2UgZGUgJyVzJyBlbiAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTIKKyM6IGJ1aWx0aW4vbXYuYzoxMjYKIG1zZ2lkICJiYWQgc291cmNlIgotbXNnc3RyICIiCittc2dzdHIgIm1hdXZhaXNlIHNvdXJjZSIKIAotIzogYnVpbHRpbi9tdi5jOjExNQorIzogYnVpbHRpbi9tdi5jOjEyOQogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6lwbGFjZXIgdW4gcsOpcGVydG9pcmUgZGFucyBsdWktbcOqbWUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTgKKyM6IGJ1aWx0aW4vbXYuYzoxMzIKIG1zZ2lkICJjYW5ub3QgbW92ZSBkaXJlY3Rvcnkgb3ZlciBmaWxlIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgZMOpcGxhY2VyIHVuIHLDqXBlcnRvaXJlIHN1ciB1biBmaWNoaWVyIgogCi0jOiBidWlsdGluL212LmM6MTI4CisjOiBidWlsdGluL212LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkh1aD8gRGlyZWN0b3J5ICVzIGlzIGluIGluZGV4IGFuZCBubyBzdWJtb2R1bGU/IgorbXNnc3RyICIiCisiSGVpbiA/IExlIHLDqXBlcnRvaXJlICVzIGVzdCBkYW5zIGwnaW5kZXggZXQgcG91cnRhbnQgYXVjdW4gc291cy1tb2R1bGUgPyIKKworIzogYnVpbHRpbi9tdi5jOjE0MCBidWlsdGluL3JtLmM6MzE4Cittc2dpZCAiUGxlYXNlLCBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgorbXNnc3RyICIiCisiVmV1aWxsZXogaW5kZXhlciB2b3MgbW9kaWZpY2F0aW9ucyBkZSAuZ2l0bW9kdWxlcyBvdSByZW1pc2V6LWxlcyBwb3VyICIKKyJjb250aW51ZXIiCisKKyM6IGJ1aWx0aW4vbXYuYzoxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVoPyAlLipzIGlzIGluIGluZGV4PyIKLW1zZ3N0ciAiIgorbXNnc3RyICJIZWluID8gJS4qcyBlc3QgZGFucyBsJ2luZGV4ID8iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNDAKKyM6IGJ1aWx0aW4vbXYuYzoxNjgKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgotbXNnc3RyICIiCittc2dzdHIgImxlIHLDqXBlcnRvaXJlIHNvdXJjZSBlc3QgdmlkZSIKIAotIzogYnVpbHRpbi9tdi5jOjE3MQorIzogYnVpbHRpbi9tdi5jOjIwMAogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tdi5jOjE3MwotbXNnaWQgImRlc3RpbmF0aW9uIGV4aXN0cyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL212LmM6MTgxCi0jLCBjLWZvcm1hdAotbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tdi5jOjE4NAotbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tdi5jOjE4NwotbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKLW1zZ3N0ciAiIgorbXNnc3RyICJwYXMgc291cyBsZSBjb250csO0bGUgZGUgdmVyc2lvbiIKIAogIzogYnVpbHRpbi9tdi5jOjIwMgorbXNnaWQgImRlc3RpbmF0aW9uIGV4aXN0cyIKK21zZ3N0ciAibGEgZGVzdGluYXRpb24gZXhpc3RlIgorCisjOiBidWlsdGluL212LmM6MjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCittc2dzdHIgIsOpY3Jhc2VtZW50IGRlICclcyciCisKKyM6IGJ1aWx0aW4vbXYuYzoyMTMKK21zZ2lkICJDYW5ub3Qgb3ZlcndyaXRlIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmFzZXIiCisKKyM6IGJ1aWx0aW4vbXYuYzoyMTYKK21zZ2lkICJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiCittc2dzdHIgIm11bHRpcGxlcyBzb3VyY2VzIHBvdXIgbGEgbcOqbWUgZGVzdGluYXRpb24iCisKKyM6IGJ1aWx0aW4vbXYuYzoyMTgKK21zZ2lkICJkZXN0aW5hdGlvbiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImxlIHLDqXBlcnRvaXJlIGRlIGRlc3RpbmF0aW9uIG4nZXhpc3RlIHBhcyIKKworIzogYnVpbHRpbi9tdi5jOjIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIG1zZ3N0ciAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTIKKyM6IGJ1aWx0aW4vbXYuYzoyNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJSZW5vbW1hZ2UgZGUgJXMgZW4gJXNcbiIKIAotIzogYnVpbHRpbi9tdi5jOjIxNSBidWlsdGluL3JlbW90ZS5jOjczMQorIzogYnVpbHRpbi9tdi5jOjI0NiBidWlsdGluL3JlbW90ZS5jOjcyNiBidWlsdGluL3JlcGFjay5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW5hbWluZyAnJXMnIGZhaWxlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJsZSByZW5vbW1hZ2UgZGUgJyVzJyBhIMOpY2hvdcOpIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MTc1CisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU4CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFtvcHRpb25zXSA8Y29tbWl0Pi4uLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgbmFtZS1yZXYgW29wdGlvbnNdIDx2YWxpZGF0aW9uPi4uLiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjE3NgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OQogbXNnaWQgImdpdCBuYW1lLXJldiBbb3B0aW9uc10gLS1hbGwiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG5hbWUtcmV2IFtvcHRpb25zXSAtLWFsbCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjE3NworIzogYnVpbHRpbi9uYW1lLXJldi5jOjI2MAogbXNnaWQgImdpdCBuYW1lLXJldiBbb3B0aW9uc10gLS1zdGRpbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgbmFtZS1yZXYgW29wdGlvbnNdIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyMjkKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKIG1zZ2lkICJwcmludCBvbmx5IG5hbWVzIChubyBTSEEtMSkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyBub21zIChwYXMgZGUgU0hBLTEpIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjMwCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzEzCiBtc2dpZCAib25seSB1c2UgdGFncyB0byBuYW1lIHRoZSBjb21taXRzIgotbXNnc3RyICIiCittc2dzdHIgInV0aWxpc2VyIHNldWxlbWVudCBsZXMgw6l0aXF1ZXR0ZXMgcG91ciBub21tZXIgbGVzIHZhbGlkYXRpb25zIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjMyCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE1CiBtc2dpZCAib25seSB1c2UgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCi1tc2dzdHIgIiIKK21zZ3N0ciAidXRpbGlzZXIgc2V1bGVtZW50IGxlcyByw6lmw6lyZW5jZXMgY29ycmVzcG9uZGFudCDDoCA8bW90aWY+IgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjM0CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE3CiBtc2dpZCAibGlzdCBhbGwgY29tbWl0cyByZWFjaGFibGUgZnJvbSBhbGwgcmVmcyIKIG1zZ3N0ciAiIgorImFmZmljaGVyIHRvdXRlcyBsZXMgdmFsaWRhdGlvbnMgYWNjZXNzaWJsZXMgZGVwdWlzIHRvdXRlcyBsZXMgcsOpZsOpcmVuY2VzIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjM1CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE4CiBtc2dpZCAicmVhZCBmcm9tIHN0ZGluIgotbXNnc3RyICIiCittc2dzdHIgImxpcmUgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjIzNgotbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIgotbXNnc3RyICIiCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE5Cittc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMgKGRlZmF1bHQpIgorbXNnc3RyICJhdXRvcmlzZXIgbCdhZmZpY2hhZ2UgZGVzIG5vbXMgYG5vbiBkw6lmaW5pc2AgKHBhciBkw6lmYXV0KSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI2CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzI1Cittc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbiB0aGUgaW5wdXQgKGludGVybmFsIHVzZSkiCittc2dzdHIgImTDqXLDqWbDqXJlbmNlciBsZXMgw6l0aXF1ZXR0ZXMgZW4gZW50csOpZSAodXNhZ2UgaW50ZXJuZSkiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNAogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzX3JlZj5dIFtsaXN0IFs8b2JqZWN0Pl1dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPHLDqWbDqXJlbmNlc19ub3Rlcz5dIFtsaXN0IFs8b2JqZWN0Pl1dIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjcKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNQogbXNnaWQgIiIKICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlc19yZWY+XSBhZGQgWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT4gfCAoLWMgfCAtQykgIgogIjxvYmplY3Q+XSBbPG9iamVjdD5dIgogbXNnc3RyICIiCisiZ2l0IG5vdGVzIFstLXJlZiA8csOpZsOpcmVuY2VzX25vdGVzPl0gYWRkIFstZl0gWy1tIDxtZXNzYWdlPiB8IC1GIDxmaWNoaWVyPiB8ICIKKyIoLWMgfCAtQykgPG9iamV0Pl0gWzxvYmpldD5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNgogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzX3JlZj5dIGNvcHkgWy1mXSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgogbXNnc3RyICIiCisiZ2l0IG5vdGVzIFstLXJlZiA8csOpZsOpcmVuY2VzX25vdGVzPl0gY29weSBbLWZdIDxkZXB1aXMtb2JqZXQ+IDx2ZXJzLW9iamV0PiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI5CisjOiBidWlsdGluL25vdGVzLmM6MjcKIG1zZ2lkICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXNfcmVmPl0gYXBwZW5kIFstbSA8bXNnPiB8IC1GIDxmaWxlPiB8ICgtYyB8IC1DKSAiCiAiPG9iamVjdD5dIFs8b2JqZWN0Pl0iCiBtc2dzdHIgIiIKKyJnaXQgbm90ZXMgWy0tcmVmIDxyw6lmw6lyZW5jZXNfbm90ZXM+XSBhcHBlbmQgWy1tIDxtZXNzYWdlPiB8IC1GIDxmaWNoaWVyPiB8ICgtIgorImMgfCAtQykgPG9iamV0Pl0gWzxvYmpldD5dIgorCisjOiBidWlsdGluL25vdGVzLmM6MjgKK21zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlc19yZWY+XSBlZGl0IFs8b2JqZWN0Pl0iCittc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPHLDqWbDqXJlbmNlc19ub3Rlcz5dIGVkaXQgWzxvYmpldD5dIgorCisjOiBidWlsdGluL25vdGVzLmM6MjkKK21zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlc19yZWY+XSBzaG93IFs8b2JqZWN0Pl0iCittc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPHLDqWbDqXJlbmNlc19ub3Rlcz5dIHNob3cgWzxvYmpldD5dIgogCiAjOiBidWlsdGluL25vdGVzLmM6MzAKLW1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlc19yZWY+XSBlZGl0IFs8b2JqZWN0Pl0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjMxCi1tc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXNfcmVmPl0gc2hvdyBbPG9iamVjdD5dIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzozMgogbXNnaWQgIiIKICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlc19yZWY+XSBtZXJnZSBbLXYgfCAtcV0gWy1zIDxzdHJhdGVneT4gXSA8bm90ZXNfcmVmPiIKIG1zZ3N0ciAiIgorImdpdCBub3RlcyBbLS1yZWYgPHLDqWbDqXJlbmNlc19ub3Rlcz5dIG1lcmdlIFstdiB8IC1xXSBbLXMgPHN0cmF0w6lnaWU+IF0gIgorIjxyw6lmw6lyZW5jZXNfbm90ZXM+IgorCisjOiBidWlsdGluL25vdGVzLmM6MzEKK21zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWy12IHwgLXFdIgorbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWy12IHwgLXFdIgorCisjOiBidWlsdGluL25vdGVzLmM6MzIKK21zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbLXYgfCAtcV0iCittc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFstdiB8IC1xXSIKIAogIzogYnVpbHRpbi9ub3Rlcy5jOjMzCi1tc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFstdiB8IC1xXSIKLW1zZ3N0ciAiIgorbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzX3JlZj5dIHJlbW92ZSBbPG9iamVjdD4uLi5dIgorbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxyw6lmw6lyZW5jZXNfbm90ZXM+XSByZW1vdmUgWzxvYmpldD4uLi5dIgogCiAjOiBidWlsdGluL25vdGVzLmM6MzQKLW1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbLXYgfCAtcV0iCi1tc2dzdHIgIiIKK21zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlc19yZWY+XSBwcnVuZSBbLW4gfCAtdl0iCittc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPHLDqWbDqXJlbmNlc19ub3Rlcz5dIHBydW5lIFstbiB8IC12XSIKIAogIzogYnVpbHRpbi9ub3Rlcy5jOjM1Ci1tc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXNfcmVmPl0gcmVtb3ZlIFs8b2JqZWN0Pi4uLl0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjM2Ci1tc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXNfcmVmPl0gcHJ1bmUgWy1uIHwgLXZdIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzozNwogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzX3JlZj5dIGdldC1yZWYiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA8csOpZsOpcmVuY2VzX25vdGVzPl0gZ2V0LXJlZiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQyCisjOiBidWlsdGluL25vdGVzLmM6NDAKIG1zZ2lkICJnaXQgbm90ZXMgW2xpc3QgWzxvYmplY3Q+XV0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG5vdGVzIFtsaXN0IFs8b2JqZXQ+XV0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NworIzogYnVpbHRpbi9ub3Rlcy5jOjQ1CiBtc2dpZCAiZ2l0IG5vdGVzIGFkZCBbPG9wdGlvbnM+XSBbPG9iamVjdD5dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBub3RlcyBhZGQgWzxvcHRpb25zPl0gWzxvYmpldD5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MAogbXNnaWQgImdpdCBub3RlcyBjb3B5IFs8b3B0aW9ucz5dIDxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG5vdGVzIGNvcHkgWzxvcHRpb25zPl0gPGRlcHVpcy1vYmpldD4gPHZlcnMtb2JqZXQ+IgogCi0jOiBidWlsdGluL25vdGVzLmM6NTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MQogbXNnaWQgImdpdCBub3RlcyBjb3B5IC0tc3RkaW4gWzxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD5dLi4uIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBub3RlcyBjb3B5IC0tc3RkaW4gWzxkZXB1aXMtb2JqZXQ+IDx2ZXJzLW9iamV0Pl0uLi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1OAorIzogYnVpbHRpbi9ub3Rlcy5jOjU2CiBtc2dpZCAiZ2l0IG5vdGVzIGFwcGVuZCBbPG9wdGlvbnM+XSBbPG9iamVjdD5dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBub3RlcyBhcHBlbmQgWzxvcHRpb25zPl0gWzxvYmpldD5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2MQogbXNnaWQgImdpdCBub3RlcyBlZGl0IFs8b2JqZWN0Pl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG5vdGVzIGVkaXQgWzxvYmpldD5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2NgogbXNnaWQgImdpdCBub3RlcyBzaG93IFs8b2JqZWN0Pl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG5vdGVzIHNob3cgWzxvYmpldD5dIgorCisjOiBidWlsdGluL25vdGVzLmM6NzEKK21zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgWzxvcHRpb25zPl0gPG5vdGVzX3JlZj4iCittc2dzdHIgImdpdCBub3RlcyBtZXJnZSBbPG9wdGlvbnM+XSA8csOpZsOpcmVuY2VzX25vdGVzPiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcyCittc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWzxvcHRpb25zPl0iCiAKICM6IGJ1aWx0aW4vbm90ZXMuYzo3MwotbXNnaWQgImdpdCBub3RlcyBtZXJnZSBbPG9wdGlvbnM+XSA8bm90ZXNfcmVmPiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6NzQKLW1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWzxvcHRpb25zPl0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjc1CiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWzxvcHRpb25zPl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWzxvcHRpb25zPl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjc4CiBtc2dpZCAiZ2l0IG5vdGVzIHJlbW92ZSBbPG9iamVjdD5dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBub3RlcyByZW1vdmUgWzxvYmpldD5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MwogbXNnaWQgImdpdCBub3RlcyBwcnVuZSBbPG9wdGlvbnM+XSIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgbm90ZXMgcHJ1bmUgWzxvcHRpb25zPl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5MAorIzogYnVpbHRpbi9ub3Rlcy5jOjg4CiBtc2dpZCAiZ2l0IG5vdGVzIGdldC1yZWYiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG5vdGVzIGdldC1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxMzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICdzaG93JyBmb3Igb2JqZWN0ICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6ltYXJyZXIgJ3Nob3cnIHBvdXIgbCdvYmpldCAnJXMnIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTQzCisjOiBidWlsdGluL25vdGVzLmM6MTQxCiBtc2dpZCAiY291bGQgbm90IHJlYWQgJ3Nob3cnIG91dHB1dCIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGEgc29ydGllIGRlICdzaG93JyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE1MQorIzogYnVpbHRpbi9ub3Rlcy5jOjE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluaXNoICdzaG93JyBmb3Igb2JqZWN0ICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmaW5pciAnc2hvdycgcG91ciBsJ29iamV0ICclcyciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNjkgYnVpbHRpbi90YWcuYzozNDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNjcgYnVpbHRpbi90YWcuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBmaWxlICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgZmljaGllciAnJXMnIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTg4CisjOiBidWlsdGluL25vdGVzLmM6MTg2CiBtc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbm90ZSBjb250ZW50cyB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uIgotbXNnc3RyICIiCittc2dzdHIgIlZldWlsbGV6IGZvdXJuaXIgbGUgY29udGVudSBkZSBsYSBub3RlIGVuIHV0aWxpc2FudCBsJ29wdGlvbiAtbSBvdSAtRiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIwOSBidWlsdGluL25vdGVzLmM6OTcyCisjOiBidWlsdGluL25vdGVzLmM6MjA3IGJ1aWx0aW4vbm90ZXMuYzo4NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgbm90ZSBmb3Igb2JqZWN0ICVzXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiU3VwcHJlc3Npb24gZGUgbGEgbm90ZSBwb3VyIGwnb2JqZXQgJXNcbiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjIxMgorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBub3RlIG9iamVjdCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbCdvYmpldCBub3RlIgogCiAjOiBidWlsdGluL25vdGVzLmM6MjE0Ci1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5vdGUgb2JqZWN0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIG5vdGUgY29udGVudHMgaGFzIGJlZW4gbGVmdCBpbiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJMZSBjb250ZW51IGRlIGxhIG5vdGUgYSDDqXTDqSBsYWlzc8OpIGRhbnMgJXMiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNDggYnVpbHRpbi90YWcuYzo1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlICclcyciCiAKICM6IGJ1aWx0aW4vbm90ZXMuYzoyNTAgYnVpbHRpbi90YWcuYzo1NDAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MjUyIGJ1aWx0aW4vdGFnLmM6NTQzCi0jLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIG9yIHJlYWQgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIG91IGxpcmUgJyVzJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI3MSBidWlsdGluL25vdGVzLmM6NDQ0IGJ1aWx0aW4vbm90ZXMuYzo0NDYKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDYgYnVpbHRpbi9ub3Rlcy5jOjU2MCBidWlsdGluL25vdGVzLmM6NjQzCi0jOiBidWlsdGluL25vdGVzLmM6NjQ4IGJ1aWx0aW4vbm90ZXMuYzo3MjMgYnVpbHRpbi9ub3Rlcy5jOjc2NQotIzogYnVpbHRpbi9ub3Rlcy5jOjk2NyBidWlsdGluL3RhZy5jOjU1NgorIzogYnVpbHRpbi9ub3Rlcy5jOjI2OSBidWlsdGluL25vdGVzLmM6MzE2IGJ1aWx0aW4vbm90ZXMuYzozMTgKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzggYnVpbHRpbi9ub3Rlcy5jOjQzMiBidWlsdGluL25vdGVzLmM6NTE1CisjOiBidWlsdGluL25vdGVzLmM6NTIwIGJ1aWx0aW4vbm90ZXMuYzo1OTUgYnVpbHRpbi9ub3Rlcy5jOjYzNworIzogYnVpbHRpbi9ub3Rlcy5jOjgzOSBidWlsdGluL3RhZy5jOjU1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHLDqXNvdWRyZSAnJXMnIGNvbW1lIHVuZSByw6lmw6lyZW5jZSB2YWxpZGUuIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mjc0CisjOiBidWlsdGluL25vdGVzLmM6MjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxpcmUgbCdvYmpldCAnJXMnLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI5OAotbXNnaWQgIkNhbm5vdCBjb21taXQgdW5pbml0aWFsaXplZC91bnJlZmVyZW5jZWQgbm90ZXMgdHJlZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MzM5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkJhZCBub3Rlcy5yZXdyaXRlTW9kZSB2YWx1ZTogJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MzQ5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlJlZnVzaW5nIHRvIHJld3JpdGUgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgotbXNnc3RyICIiCi0KLSMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgdGhlIG5hbWUgb2YgdGhlCi0jLiBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcyBpdHMgdmFsdWUKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQmFkICVzIHZhbHVlOiAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NDAKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgotbXNnc3RyICIiCittc2dzdHIgIkxpZ25lIGVuIGVudHLDqWUgbWFsZm9ybcOpZSA6ICclcycuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDU1CisjOiBidWlsdGluL25vdGVzLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgIkltcG9zc2libGUgZGUgY29waWVyIGxlcyBub3RlcyBkZSAnJXMnIHZlcnMgJyVzJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ5OSBidWlsdGluL25vdGVzLmM6NTUzIGJ1aWx0aW4vbm90ZXMuYzo2MjYKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MzggYnVpbHRpbi9ub3Rlcy5jOjcxMSBidWlsdGluL25vdGVzLmM6NzU4Ci0jOiBidWlsdGluL25vdGVzLmM6MTAzMgorIzogYnVpbHRpbi9ub3Rlcy5jOjM3MSBidWlsdGluL25vdGVzLmM6NDI1IGJ1aWx0aW4vbm90ZXMuYzo0OTgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MTAgYnVpbHRpbi9ub3Rlcy5jOjU4MyBidWlsdGluL25vdGVzLmM6NjMwCisjOiBidWlsdGluL25vdGVzLmM6OTA0CiBtc2dpZCAidG9vIG1hbnkgcGFyYW1ldGVycyIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0cm9wIGRlIHBhcmFtw6h0cmVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTEyIGJ1aWx0aW4vbm90ZXMuYzo3NzEKKyM6IGJ1aWx0aW4vbm90ZXMuYzozODQgYnVpbHRpbi9ub3Rlcy5jOjY0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgotbXNnc3RyICIiCittc2dzdHIgIlBhcyBkZSBub3RlIHRyb3V2w6llIHBvdXIgbCdvYmpldCAlcy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MzQgYnVpbHRpbi9ub3Rlcy5jOjY5MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNiBidWlsdGluL25vdGVzLmM6NTYzCiBtc2dpZCAibm90ZSBjb250ZW50cyBhcyBhIHN0cmluZyIKLW1zZ3N0ciAiIgorbXNnc3RyICJjb250ZW51IGRlIGxhIG5vdGUgc291cyBmb3JtZSBkZSBjaGHDrm5lIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTM3IGJ1aWx0aW4vbm90ZXMuYzo2OTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDkgYnVpbHRpbi9ub3Rlcy5jOjU2NgogbXNnaWQgIm5vdGUgY29udGVudHMgaW4gYSBmaWxlIgotbXNnc3RyICIiCittc2dzdHIgImNvbnRlbnUgZGUgbGEgbm90ZSBkYW5zIHVuIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MzkgYnVpbHRpbi9ub3Rlcy5jOjU0MiBidWlsdGluL25vdGVzLmM6Njk2Ci0jOiBidWlsdGluL25vdGVzLmM6Njk5IGJ1aWx0aW4vdGFnLmM6NDc0CisjOiBidWlsdGluL25vdGVzLmM6NDExIGJ1aWx0aW4vbm90ZXMuYzo0MTQgYnVpbHRpbi9ub3Rlcy5jOjU2OAorIzogYnVpbHRpbi9ub3Rlcy5jOjU3MSBidWlsdGluL3RhZy5jOjQ3NAogbXNnaWQgIm9iamVjdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJvYmpldCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjU0MCBidWlsdGluL25vdGVzLmM6Njk3CisjOiBidWlsdGluL25vdGVzLmM6NDEyIGJ1aWx0aW4vbm90ZXMuYzo1NjkKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCi1tc2dzdHIgIiIKK21zZ3N0ciAicsOpdXRpbGlzZXIgZXQgw6lkaXRlciBsJ29iamV0IGRlIG5vdGUgc3DDqWNpZmnDqSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjU0MyBidWlsdGluL25vdGVzLmM6NzAwCisjOiBidWlsdGluL25vdGVzLmM6NDE1IGJ1aWx0aW4vbm90ZXMuYzo1NzIKIG1zZ2lkICJyZXVzZSBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCi1tc2dzdHIgIiIKK21zZ3N0ciAicsOpdXRpbGlzZXIgbCdvYmpldCBkZSBub3RlIHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NDUgYnVpbHRpbi9ub3Rlcy5jOjYxMworIzogYnVpbHRpbi9ub3Rlcy5jOjQxNyBidWlsdGluL25vdGVzLmM6NDg1CiBtc2dpZCAicmVwbGFjZSBleGlzdGluZyBub3RlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZW1wbGFjZXIgbGVzIG5vdGVzIGV4aXN0YW50ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBhZGQgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCiAiZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgIiIKKyJJbXBvc3NpYmxlIGQnYWpvdXRlciBkZXMgbm90ZXMuIERlcyBub3RlcyBvbnQgw6l0w6kgdHJvdXbDqWVzIHBvdXIgbCdvYmpldCAlcy4gIgorIlV0aWxpc2V6ICctZicgcG91ciDDqWNyYXNlciBsZXMgbm90ZXMgZXhpc3RhbnRlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjU4NCBidWlsdGluL25vdGVzLmM6NjYxCisjOiBidWlsdGluL25vdGVzLmM6NDU2IGJ1aWx0aW4vbm90ZXMuYzo1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIgotbXNnc3RyICIiCittc2dzdHIgIsOJY3Jhc2VtZW50IGRlcyBub3RlcyBleGlzdGFudGVzIHBvdXIgbCdvYmpldCAlc1xuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NjE0CisjOiBidWlsdGluL25vdGVzLmM6NDg2CiBtc2dpZCAicmVhZCBvYmplY3RzIGZyb20gc3RkaW4iCi1tc2dzdHIgIiIKK21zZ3N0ciAibGlyZSBsZXMgb2JqZXRzIGRlcHVpcyBsJ2VudHLDqWUgc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0ODgKIG1zZ2lkICJsb2FkIHJld3JpdGluZyBjb25maWcgZm9yIDxjb21tYW5kPiAoaW1wbGllcyAtLXN0ZGluKSIKIG1zZ3N0ciAiIgorImNoYXJnZXIgbGEgY29uZmlndXJhdGlvbiBkZSByw6nDqWNyaXR1cmUgcG91ciA8Y29tbWFuZGU+IChpbXBsaXF1ZSAtLXN0ZGluKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjYzNAorIzogYnVpbHRpbi9ub3Rlcy5jOjUwNgogbXNnaWQgInRvbyBmZXcgcGFyYW1ldGVycyIKLW1zZ3N0ciAiIgorbXNnc3RyICJwYXMgYXNzZXogZGUgcGFyYW3DqHRyZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2NTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgogImV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICIiCisiSW1wb3NzaWJsZSBkZSBjb3BpZXIgZGVzIG5vdGVzLiBEZXMgbm90ZXMgb250IMOpdMOpIHRyb3V2w6llcyBwb3VyIGwnb2JqZXQgJXMuICIKKyJVdGlsaXNleiAnLWYnIHBvdXIgw6ljcmFzZXIgbGVzIG5vdGVzIGV4aXN0YW50ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2NjcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgY29weS4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiTm90ZXMgbWFucXVhbnRlcyBzdXIgbCdvYmpldCBzb3VyY2UgJXMuIEltcG9zc2libGUgZGUgY29waWVyLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxNgorIzogYnVpbHRpbi9ub3Rlcy5jOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC1tLy1GLy1jLy1DIG9wdGlvbnMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZSAnZWRpdCcgc3ViY29tbWFuZC5cbiIKICJQbGVhc2UgdXNlICdnaXQgbm90ZXMgYWRkIC1mIC1tLy1GLy1jLy1DJyBpbnN0ZWFkLlxuIgogbXNnc3RyICIiCisiTGVzIG9wdGlvbnMgLW0vLUYvLWMvLUMgc29udCBvYnNvbMOodGVzIHBvdXIgbGEgc291cy1jb21tYW5kZSAnZWRpdCcuXG4iCisiVmV1aWxsZXogdXRpbGlzZXIgJ2dpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUMnIMOgIGxhIHBsYWNlLlxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODYzCisjOiBidWlsdGluL25vdGVzLmM6NzM1CiBtc2dpZCAiR2VuZXJhbCBvcHRpb25zIgotbXNnc3RyICIiCittc2dzdHIgIk9wdGlvbnMgZ8OpbsOpcmFsZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MzcKIG1zZ2lkICJNZXJnZSBvcHRpb25zIgotbXNnc3RyICIiCittc2dzdHIgIk9wdGlvbnMgZGUgZnVzaW9uIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODY3CisjOiBidWlsdGluL25vdGVzLmM6NzM5CiBtc2dpZCAiIgogInJlc29sdmUgbm90ZXMgY29uZmxpY3RzIHVzaW5nIHRoZSBnaXZlbiBzdHJhdGVneSAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uLyIKICJjYXRfc29ydF91bmlxKSIKIG1zZ3N0ciAiIgorInLDqXNvdWRyZSBsZXMgY29uZmxpdHMgZGUgbm90ZXMgZW4gdXRpbGlzYW50IGxhIHN0cmF0w6lnaWUgZG9ubsOpZSAobWFudWFsL291cnMvIgorInRoZWlycy91bmlvbi9jYXRfc29ydF91bmlxKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg2OQorIzogYnVpbHRpbi9ub3Rlcy5jOjc0MQogbXNnaWQgIkNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiVmFsaWRhdGlvbiBkZXMgbm90ZXMgbm9uIGZ1c2lvbm7DqWVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODcxCisjOiBidWlsdGluL25vdGVzLmM6NzQzCiBtc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJmaW5hbGlzZXIgbGEgZnVzaW9uIGRlIG5vdGVzIGVuIHZhbGlkYW50IGxlcyBub3RlcyBub24gZnVzaW9ubsOpZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NDUKIG1zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgotbXNnc3RyICIiCittc2dzdHIgIkFiYW5kb24gZGUgbGEgcsOpc29sdXRpb24gZGUgZnVzaW9uIGRlcyBub3RlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg3NQorIzogYnVpbHRpbi9ub3Rlcy5jOjc0NwogbXNnaWQgImFib3J0IG5vdGVzIG1lcmdlIgotbXNnc3RyICIiCittc2dzdHIgImFiYW5kb25uZXIgbGEgZnVzaW9uIGRlIG5vdGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTcwCisjOiBidWlsdGluL25vdGVzLmM6ODQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk9iamVjdCAlcyBoYXMgbm8gbm90ZVxuIgotbXNnc3RyICIiCittc2dzdHIgIkwnb2JqZXQgJXMgbidhIHBhcyBkZSBub3RlXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NTQKIG1zZ2lkICJhdHRlbXB0IHRvIHJlbW92ZSBub24tZXhpc3RlbnQgbm90ZSBpcyBub3QgYW4gZXJyb3IiCiBtc2dzdHIgIiIKKyJsYSB0ZW50YXRpdmUgZGUgc3VwcHJlc3Npb24gZCd1bmUgbm90ZSBub24gZXhpc3RhbnRlIG4nZXN0IHBhcyB1bmUgZXJyZXVyIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTg1CisjOiBidWlsdGluL25vdGVzLmM6ODU3CiBtc2dpZCAicmVhZCBvYmplY3QgbmFtZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAibGlyZSBsZXMgbm9tcyBkJ29iamV0IGRlcHVpcyBsJ2VudHLDqWUgc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxMDY2CisjOiBidWlsdGluL25vdGVzLmM6OTM4CiBtc2dpZCAibm90ZXNfcmVmIgotbXNnc3RyICIiCittc2dzdHIgInLDqWbDqXJlbmNlc19ub3RlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjEwNjcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MzkKIG1zZ2lkICJ1c2Ugbm90ZXMgZnJvbSA8bm90ZXNfcmVmPiIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1dGlsaXNlciBsZXMgbm90ZXMgZGVwdWlzIDxyw6lmw6lyZW5jZXNfbm90ZXM+IgogCi0jOiBidWlsdGluL25vdGVzLmM6MTEwMiBidWlsdGluL3JlbW90ZS5jOjE1OTgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NzQgYnVpbHRpbi9yZW1vdGUuYzoxNTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiU291cy1jb21tYW5kZSBpbmNvbm51ZSA6ICVzIgogCiAjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzCiBtc2dpZCAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbb3B0aW9ucy4uLl0gWzwgcmVmLWxpc3QgfCA8IG9iamVjdC1saXN0XSIKIG1zZ3N0ciAiIgorImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgW29wdGlvbnMuLi5dIFs8IGxpc3RlLXLDqWbDqXJlbmNlcyB8IDwgbGlzdGUtb2JqZXRzXSIKIAogIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNAogbXNnaWQgImdpdCBwYWNrLW9iamVjdHMgW29wdGlvbnMuLi5dIGJhc2UtbmFtZSBbPCByZWYtbGlzdCB8IDwgb2JqZWN0LWxpc3RdIgogbXNnc3RyICIiCisiZ2l0IHBhY2stb2JqZWN0cyBbb3B0aW9ucy4uLl0gYmFzZS1uYW1lIFs8IGxpc3RlLXLDqWbDqXJlbmNlcyB8IDwgbGlzdGUtb2JqZXRzXSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODMgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlZmxhdGUgZXJyb3IgKCVkKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJlcnJldXIgZGUgY29tcHJlc3Npb24gKCVkKSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzk3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJ2ZXJzaW9uIGQnaW5kZXggbm9uIHN1cHBvcnTDqWUgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAibWF1dmFpc2UgdmVyc2lvbiBkJ2luZGV4ICclcyciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQyNAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9wdGlvbiAlcyBkb2VzIG5vdCBhY2NlcHQgbmVnYXRpdmUgZm9ybSIKLW1zZ3N0ciAiIgorbXNnc3RyICJsJ29wdGlvbiAlcyBuJ2FjY2VwdGUgcGFzIGRlIHZhbGV1ciBuw6lnYXRpdmUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQyOAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSB2YWx1ZSAnJXMnIGZvciBvcHRpb24gJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxhIHZhbGV1ciAnJXMnIHBvdXIgbCdvcHRpb24gJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQ2CiBtc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCi1tc2dzdHIgIiIKK21zZ3N0ciAibmUgcGFzIGFmZmljaGVyIGxhIGJhcnJlIGRlIHByb2dyZXNzaW9uIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0OAogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgYmFycmUgZGUgcHJvZ3Jlc3Npb24iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDUwCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgYmFycmUgZGUgcHJvZ3Jlc3Npb24gZHVyYW50IGxhIHBoYXNlIGQnw6ljcml0ZSBkZXMgb2JqZXRzIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTMKK21zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCittc2dzdHIgInNpbWlsYWlyZSDDoCAtLWFsbC1wcm9ncmVzcyBxdWFuZCBsYSBiYXJyZSBkZSBwcm9ncmVzc2lvbiBlc3QgYWZmaWNow6llIgogCiAjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTQKLW1zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCi1tc2dzdHIgIiIKK21zZ2lkICJ2ZXJzaW9uWyxvZmZzZXRdIgorbXNnc3RyICJ2ZXJzaW9uWyxvZmZzZXRdIgogCiAjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTUKLW1zZ2lkICJ2ZXJzaW9uWyxvZmZzZXRdIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NgogbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCiBtc2dzdHIgIiIKKyLDqWNyaXJlIGxlIGZpY2hpZXIgZCdpbmRleCBkdSBwYXF1ZXQgZGFucyBsZSBmb3JtYXQgZCdpbmRleCBkZSB2ZXJzaW9uICIKKyJzcMOpY2lmacOpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1OAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIG91dHB1dCBwYWNrIGZpbGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAidGFpbGxlIG1heGltdW0gZGUgY2hhcXVlIGZpY2hpZXIgcGFxdWV0IGVuIHNvcnRpZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjAKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaWdub3JlciBsZXMgb2JqZXRzIGVtcHJ1bnTDqXMgw6AgdW4gYXV0cmUgbWFnYXNpbiBkJ29iamV0cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjIKIG1zZ2lkICJpZ25vcmUgcGFja2VkIG9iamVjdHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaWdub3JlciBsZXMgb2JqZXRzIGVtcGFxdWV0w6lzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NAogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG9iamVjdHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAibGltaXRlciBsYSBmZW7DqnRyZSBkJ2VtcGFxdWV0YWdlIHBhciBvYmpldHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY2CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgbWVtb3J5IGluIGFkZGl0aW9uIHRvIG9iamVjdCBsaW1pdCIKIG1zZ3N0ciAiIgorImxpbWl0ZXIgbGEgZmVuw6p0cmUgZCdlbXBhcXVldGFnZSBwYXIgbcOpbW9pcmUgZW4gcGx1cyBkZSBsYSBsaW1pdGUgZCdvYmpldHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY4CiBtc2dpZCAibWF4aW11bSBsZW5ndGggb2YgZGVsdGEgY2hhaW4gYWxsb3dlZCBpbiB0aGUgcmVzdWx0aW5nIHBhY2siCiBtc2dzdHIgIiIKKyJsb25ndWV1ciBtYXhpbXVtIGRlIGxhIGNoYcOubmUgZGUgZGVsdGEgYXV0b3Jpc8OpZSBkYW5zIGxlIHBhcXVldCByw6lzdWx0YW50IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MAogbXNnaWQgInJldXNlIGV4aXN0aW5nIGRlbHRhcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJyw6l1dGlsaXNlciBsZXMgZGVsdGFzIGV4aXN0YW50cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDczCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzIKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBvYmplY3RzIgotbXNnc3RyICIiCittc2dzdHIgInLDqXV0aWxpc2VyIGxlcyBvYmpldHMgZXhpc3RhbnRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3NAogbXNnaWQgInVzZSBPRlNfREVMVEEgb2JqZWN0cyIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1dGlsaXNlciBsZXMgb2JqZXRzIE9GU19ERUxUQSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzYKIG1zZ2lkICJ1c2UgdGhyZWFkcyB3aGVuIHNlYXJjaGluZyBmb3IgYmVzdCBkZWx0YSBtYXRjaGVzIgogbXNnc3RyICIiCisidXRpbGlzZXIgZGVzIGZpbHMgbG9ycyBkZSBsYSByZWNoZXJjaGUgcG91ciB1bmUgbWVpbGxldXJzIGNvcnJlc3BvbmRhbmNlIGRlcyAiCisiZGVsdGFzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3OAogbXNnaWQgImRvIG5vdCBjcmVhdGUgYW4gZW1wdHkgcGFjayBvdXRwdXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAibmUgcGFzIGNyw6llciB1biBwYXF1ZXQgdmlkZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODAKIG1zZ2lkICJyZWFkIHJldmlzaW9uIGFyZ3VtZW50cyBmcm9tIHN0YW5kYXJkIGlucHV0IgotbXNnc3RyICIiCittc2dzdHIgImxpcmUgbGVzIHBhcmFtw6h0cmVzIGRlIHLDqXZpc2lvbiBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MgogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgotbXNnc3RyICIiCittc2dzdHIgImxpbWl0ZXIgbGVzIG9iamV0cyDDoCBjZXV4IHF1aSBuZSBzb250IHBhcyBlbmNvcmUgZW1wYXF1ZXTDqXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg1CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIGFueSByZWZlcmVuY2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW5jbHVyZSBsZXMgb2JqZXRzIGFjY2Vzc2libGVzIGRlcHVpcyB0b3V0ZSByw6lmw6lyZW5jZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODgKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgYnkgcmVmbG9nIGVudHJpZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW5jbHVyZSBsZXMgb2JqZXRzIHLDqWbDqXJlbmPDqXMgcGFyIGxlcyDDqWzDqW1lbnRzIGRlIHJlZmxvZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDkyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTEKIG1zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbCdlbXBhcXVldGFnZSBzdXIgbGEgc29ydGllIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5MwogbXNnaWQgImluY2x1ZGUgdGFnIG9iamVjdHMgdGhhdCByZWZlciB0byBvYmplY3RzIHRvIGJlIHBhY2tlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbmNsdXJlIGxlcyBvYmpldHMgZCfDqXRpcXVldHRlcyBxdWkgcsOpZsOocmVudCDDoCBkZXMgb2JqZXRzIMOgIGVtcGFxdWV0ZXIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk1CiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgotbXNnc3RyICIiCittc2dzdHIgImdhcmRlciBsZXMgb2JqZXRzIGluYWNjZXNzaWJsZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NyBwYXJzZS1vcHRpb25zLmg6MTQxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTYgcGFyc2Utb3B0aW9ucy5oOjE0MwogbXNnaWQgInRpbWUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaGV1cmUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk3CiBtc2dpZCAidW5wYWNrIHVucmVhY2hhYmxlIG9iamVjdHMgbmV3ZXIgdGhhbiA8dGltZT4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZMOpcGFxdWV0ZXIgbGVzIG9iamV0cyBpbmFjY2Vzc2libGVzIHBsdXMgcsOpY2VudHMgcXVlIDxoZXVyZT4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTAwCiBtc2dpZCAiY3JlYXRlIHRoaW4gcGFja3MiCi1tc2dzdHIgIiIKK21zZ3N0ciAiY3LDqWVyIGRlcyBwYXF1ZXRzIGzDqWdlcnMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTAyCiBtc2dpZCAiaWdub3JlIHBhY2tzIHRoYXQgaGF2ZSBjb21wYW5pb24gLmtlZXAgZmlsZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJpZ25vcmVyIGxlcyBwYXF1ZXRzIHF1aSBvbnQgdW4gZmljaGllciAua2VlcCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDQKIG1zZ2lkICJwYWNrIGNvbXByZXNzaW9uIGxldmVsIgotbXNnc3RyICIiCittc2dzdHIgIm5pdmVhdSBkZSBjb21wcmVzc2lvbiBkdSBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA2CiBtc2dpZCAiZG8gbm90IGhpZGUgY29tbWl0cyBieSBncmFmdHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAibmUgcGFzIGNhY2hlciBsZXMgdmFsaWRhdGlvbnMgcGFyIGdyZWZmZXMiCiAKICM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6NgogbXNnaWQgImdpdCBwYWNrLXJlZnMgW29wdGlvbnNdIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBwYWNrLXJlZnMgW29wdGlvbnNdIgogCiAjOiBidWlsdGluL3BhY2stcmVmcy5jOjE0CiBtc2dpZCAicGFjayBldmVyeXRoaW5nIgotbXNnc3RyICIiCittc2dzdHIgImVtcGFxdWV0ZXIgdG91dCIKIAogIzogYnVpbHRpbi9wYWNrLXJlZnMuYzoxNQogbXNnaWQgInBydW5lIGxvb3NlIHJlZnMgKGRlZmF1bHQpIgotbXNnc3RyICIiCittc2dzdHIgIsOpbGltaW5lciBsZXMgcsOpZsOpcmVuY2VzIHBlcmR1ZXMgKGTDqWZhdXQpIgogCiAjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjcKIG1zZ2lkICJnaXQgcHJ1bmUtcGFja2VkIFstbnwtLWRyeS1ydW5dIFstcXwtLXF1aWV0XSIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgcHJ1bmUtcGFja2VkIFstbnwtLWRyeS1ydW5dIFstcXwtLXF1aWV0XSIKIAogIzogYnVpbHRpbi9wcnVuZS5jOjEyCiBtc2dpZCAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1leHBpcmUgPHRpbWU+XSBbLS1dIFs8aGVhZD4uLi5dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tZXhwaXJlIDxoZXVyZT5dIFstLV0gWzxoZWFkPi4uLl0iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzIKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxNDIKIG1zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCi1tc2dzdHIgIiIKK21zZ3N0ciAibmUgcGFzIHN1cHByaW1lciwgYWZmaWNoZXIgc2V1bGVtZW50IgogCi0jOiBidWlsdGluL3BydW5lLmM6MTMzCisjOiBidWlsdGluL3BydW5lLmM6MTQzCiBtc2dpZCAicmVwb3J0IHBydW5lZCBvYmplY3RzIgotbXNnc3RyICIiCittc2dzdHIgImFmZmljaGVyIGxlcyBvYmpldHMgw6lsaW1pbsOpcyIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjEzNgorIzogYnVpbHRpbi9wcnVuZS5jOjE0NgogbXNnaWQgImV4cGlyZSBvYmplY3RzIG9sZGVyIHRoYW4gPHRpbWU+IgotbXNnc3RyICIiCittc2dzdHIgImZhaXJlIGV4cGlyZXIgbGVzIG9iamV0cyBwbHVzIHZpZXV4IHF1ZSA8aGV1cmU+IgogCiAjOiBidWlsdGluL3B1c2guYzoxNAogbXNnaWQgImdpdCBwdXNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBwdXNoIFs8b3B0aW9ucz5dIFs8ZMOpcMO0dD4gWzxzcMOpY2lmaWNhdGlvbi1kZS1yw6lmw6lyZW5jZT4uLi5dXSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDUKKyM6IGJ1aWx0aW4vcHVzaC5jOjg2CiBtc2dpZCAidGFnIHNob3J0aGFuZCB3aXRob3V0IDx0YWc+IgotbXNnc3RyICIiCittc2dzdHIgInJhY2NvdXJjaSBkJ8OpdGlxdWV0dGUgc2FucyA8w6l0aXF1ZXR0ZT4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjY0CisjOiBidWlsdGluL3B1c2guYzo5NgogbXNnaWQgIi0tZGVsZXRlIG9ubHkgYWNjZXB0cyBwbGFpbiB0YXJnZXQgcmVmIG5hbWVzIgotbXNnc3RyICIiCittc2dzdHIgIi0tZGVsZXRlIGFjY2VwdGUgc2V1bGVtZW50IGRlcyBub21zIGVudGllcnMgZGUgcsOpZsOpcmVuY2VzIGNpYmxlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6OTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjE0MQogbXNnaWQgIiIKICJcbiIKICJUbyBjaG9vc2UgZWl0aGVyIG9wdGlvbiBwZXJtYW5lbnRseSwgc2VlIHB1c2guZGVmYXVsdCBpbiAnZ2l0IGhlbHAgY29uZmlnJy4iCiBtc2dzdHIgIiIKKyJcbiIKKyJQb3VyIGNob2lzaXIgbCdvcHRpb24gZGUgbWFuacOocmUgcGVybWFuZW50ZSwgdm9pciBwdXNoLmRlZmF1bHQgZGFucyAnZ2l0ICIKKyJoZWxwIGNvbmZpZycuIgogCi0jOiBidWlsdGluL3B1c2guYzoxMDIKKyM6IGJ1aWx0aW4vcHVzaC5jOjE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHVwc3RyZWFtIGJyYW5jaCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGRvZXMgbm90IG1hdGNoXG4iCkBAIC03MTYwLDggKzc5NTksMTggQEAKICIgICAgZ2l0IHB1c2ggJXMgJXNcbiIKICIlcyIKIG1zZ3N0ciAiIgorIkxhIGJyYW5jaGUgYW1vbnQgZGUgdm90cmUgYnJhbmNoZSBjb3VyYW50ZSBuZSBjb3JyZXNwb25kIHBhc1xuIgorImF1IG5vbSBkZSB2b3RyZSBicmFuY2hlIGNvdXJhbnRlLiAgUG91ciBwb3Vzc2VyIHZlcnMgbGEgYnJhbmNoZSBhbW9udFxuIgorInN1ciBsZSBzZXJ2ZXVyIGRpc3RhbnQsIHV0aWxpc2V6XG4iCisiXG4iCisiICAgIGdpdCBwdXNoICVzIEhFQUQ6JXNcbiIKKyJcbiIKKyJQb3VyIHBvdXNzZXIgdmVycyBsYSBicmFuY2hlIGR1IG3Dqm1lIG5vbSBzdXIgbGUgc2VydmV1ciBkaXN0YW50LCB1dGlsaXNlelxuIgorIlxuIgorIiAgICBnaXQgcHVzaCAlcyAlc1xuIgorIiVzIgogCi0jOiBidWlsdGluL3B1c2guYzoxMjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjE1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLlxuIgpAQCAtNzE3MCw4ICs3OTc5LDEzIEBACiAiXG4iCiAiICAgIGdpdCBwdXNoICVzIEhFQUQ6PG5hbWUtb2YtcmVtb3RlLWJyYW5jaD5cbiIKIG1zZ3N0ciAiIgorIlZvdXMgbifDqnRlcyBhY3R1ZWxsZW1lbnQgc3VyIGF1Y3VuZSBicmFuY2hlLlxuIgorIlBvdXIgcG91c3NlciBsJ2hpc3RvcmlxdWUgbWVuYW50IMOgIGwnw6l0YXQgYWN0dWVsIChIRUFEIGTDqXRhY2jDqWUpLFxuIgorInV0aWxpc2V6XG4iCisiXG4iCisiICAgIGdpdCBwdXNoICVzIEhFQUQ6PG5vbS1kZS1sYS1icmFuY2hlLWFtb250PlxuIgogCi0jOiBidWlsdGluL3B1c2guYzoxMjgKKyM6IGJ1aWx0aW4vcHVzaC5jOjE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBubyB1cHN0cmVhbSBicmFuY2guXG4iCkBAIC03MTc5LDIxICs3OTkzLDMwIEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCiBtc2dzdHIgIiIKKyJMYSBicmFuY2hlIGNvdXJhbnRlICVzIG4nYSBwYXMgZGUgYnJhbmNoZSBhbW9udC5cbiIKKyJQb3VyIHBvdXNzZXIgbGEgYnJhbmNoZSBjb3VyYW50ZSBldCBkw6lmaW5pciBsYSBkaXN0YW50ZSBjb21tZSBhbW9udCwgIgorInV0aWxpc2V6XG4iCisiXG4iCisiICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEzNgorIzogYnVpbHRpbi9wdXNoLmM6MTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbXVsdGlwbGUgdXBzdHJlYW0gYnJhbmNoZXMsIHJlZnVzaW5nIHRvIHB1c2guIgogbXNnc3RyICIiCisiTGEgYnJhbmNoZSBjb3VyYW50ZSAlcyBhIGRlIG11bHRpcGxlcyBicmFuY2hlcyBhbW9udCwgaW1wb3NzaWJsZSBkZSBwb3Vzc2VyLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTM5CisjOiBidWlsdGluL3B1c2guYzoxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgcHVzaGluZyB0byByZW1vdGUgJyVzJywgd2hpY2ggaXMgbm90IHRoZSB1cHN0cmVhbSBvZlxuIgogInlvdXIgY3VycmVudCBicmFuY2ggJyVzJywgd2l0aG91dCB0ZWxsaW5nIG1lIHdoYXQgdG8gcHVzaFxuIgogInRvIHVwZGF0ZSB3aGljaCByZW1vdGUgYnJhbmNoLiIKIG1zZ3N0ciAiIgorIlZvdXMgw6p0ZXMgZW4gdHJhaW4gZGUgcG91c3NlciB2ZXJzIGxhIGJyYW5jaGUgZGlzdGFudGUgJyVzJywgcXVpIG4nZXN0XG4iCisicGFzIHVuZSBicmFuY2hlIGFtb250IGRlIHZvdHJlIGJyYW5jaGUgY291cmFudGUgJyVzJywgc2FucyBtZSBkaXJlXG4iCisicXVvaSBwb3Vzc2VyIHBvdXIgbWV0dHJlIMOgIGpvdXIgcXVlbGxlIGJyYW5jaGUgYW1vbnQuIgogCi0jOiBidWlsdGluL3B1c2guYzoxNTEKKyM6IGJ1aWx0aW4vcHVzaC5jOjIwNwogbXNnaWQgIiIKICJwdXNoLmRlZmF1bHQgaXMgdW5zZXQ7IGl0cyBpbXBsaWNpdCB2YWx1ZSBpcyBjaGFuZ2luZyBpblxuIgogIkdpdCAyLjAgZnJvbSAnbWF0Y2hpbmcnIHRvICdzaW1wbGUnLiBUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZVxuIgpAQCAtNzIwNSw3NyArODAyOCwxNDQgQEAKICJcbiIKICIgIGdpdCBjb25maWcgLS1nbG9iYWwgcHVzaC5kZWZhdWx0IHNpbXBsZVxuIgogIlxuIgorIldoZW4gcHVzaC5kZWZhdWx0IGlzIHNldCB0byAnbWF0Y2hpbmcnLCBnaXQgd2lsbCBwdXNoIGxvY2FsIGJyYW5jaGVzXG4iCisidG8gdGhlIHJlbW90ZSBicmFuY2hlcyB0aGF0IGFscmVhZHkgZXhpc3Qgd2l0aCB0aGUgc2FtZSBuYW1lLlxuIgorIlxuIgorIkluIEdpdCAyLjAsIEdpdCB3aWxsIGRlZmF1bHQgdG8gdGhlIG1vcmUgY29uc2VydmF0aXZlICdzaW1wbGUnXG4iCisiYmVoYXZpb3IsIHdoaWNoIG9ubHkgcHVzaGVzIHRoZSBjdXJyZW50IGJyYW5jaCB0byB0aGUgY29ycmVzcG9uZGluZ1xuIgorInJlbW90ZSBicmFuY2ggdGhhdCAnZ2l0IHB1bGwnIHVzZXMgdG8gdXBkYXRlIHRoZSBjdXJyZW50IGJyYW5jaC5cbiIKKyJcbiIKICJTZWUgJ2dpdCBoZWxwIGNvbmZpZycgYW5kIHNlYXJjaCBmb3IgJ3B1c2guZGVmYXVsdCcgZm9yIGZ1cnRoZXIgIgogImluZm9ybWF0aW9uLlxuIgogIih0aGUgJ3NpbXBsZScgbW9kZSB3YXMgaW50cm9kdWNlZCBpbiBHaXQgMS43LjExLiBVc2UgdGhlIHNpbWlsYXIgbW9kZVxuIgogIidjdXJyZW50JyBpbnN0ZWFkIG9mICdzaW1wbGUnIGlmIHlvdSBzb21ldGltZXMgdXNlIG9sZGVyIHZlcnNpb25zIG9mIEdpdCkiCiBtc2dzdHIgIiIKKyJwdXNoLmRlZmF1bHQgbidlc3QgcGFzIGTDqWZpbmkgOyBzYSB2YWxldXIgaW1wbGljaXRlIGNoYW5nZSBkYW5zIEdpdCAyLjBcbiIKKyJkZSAnbWF0Y2hpbmcnIHZlcnMgJ3NpbXBsZScuIFBvdXIgc3VwcHJpbWVyIGNlIG1lc3NhZ2UgZXQgbWFpbnRlbmlyXG4iCisibGUgY29tcG9ydGVtZW50IGFjdHVlbCBhcHLDqHMgbGEgbW9kaWZpY2F0aW9uIGRlIGxhIHZhbGV1ciBkZSBkw6lmYXV0LCB1dGlsaXNleiA6XG4iCisiXG4iCisiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHB1c2guZGVmYXVsdCBtYXRjaGluZ1xuIgorIlxuIgorIlBvdXIgc3VwcHJpbWVyIGNlIG1lc3NhZ2UgZXQgYWRvcHRlciBsZSBub3V2ZWF1IGNvbXBvcnRlbWVudCBtYWludGVuYW50LCB1dGlsaXNleiA6XG4iCisiXG4iCisiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHB1c2guZGVmYXVsdCBzaW1wbGVcbiIKKyJcbiIKKyJRdWFuZCBwdXNoLmRlZmF1bHQgdmF1ZHJhICdtYXRjaGluZycsIGdpdCBwb3Vzc2VyYSBsZXMgYnJhbmNoZXMgbG9jYWxlc1xuIgorInN1ciBsZXMgYnJhbmNoZXMgZGlzdGFudGVzIHF1aSBleGlzdGVudCBkw6lqw6AgYXZlYyBsZSBtw6ptZSBub20uXG4iCisiXG4iCisiRGFucyBHaXQgMi4wIEdpdCB1dGlsaXNlcmEgcGFyIGTDqWZhdXQgbGUgY29tcG9ydGVtZW50IHBsdXMgY29uc2VydmF0aWYgJ3NpbXBsZSdcbiIKKyJxdWkgbmUgcG91c3NlIGxhIGJyYW5jaGUgY291cmFudGUgdmVycyBsYSBicmFuY2hlIGRpc3RhbnRlIHF1ZSAnZ2l0IHB1bGwnIHV0aWxpc2VcbiIKKyJwb3VyIG1ldHRyZSDDoCBqb3VyIGxhIGJyYW5jaGUgY291cmFudGUuXG4iCisiIFxuIgorIlZvaXIgJ2dpdCBoZWxwIGNvbmZpZycgZXQgY2hlcmNoZXIgJ3B1c2guZGVmYXVsdCcgcG91ciBwbHVzIGQnaW5mb3JtYXRpb24uXG4iCisiKGxlIG1vZGUgJ3NpbXBsZScgYSDDqXTDqSBpbnRyb2R1aXQgZGFucyBHaXQgMS43LjExLiBVdGlsaXNleiBsZSBtb2RlIHNpbWlsYWlyZVxuIgorIidjdXJyZW50JyBhdSBsaWV1IGRlICdzaW1wbGUnIHNpIHZvdXMgdXRpbGlzZXogZGUgdGVtcHMgZW4gdGVtcHMgZCdhbmNpZW5uZXMgdmVyc2lvbnMgZGUgR2l0KSIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTk5CisjOiBidWlsdGluL3B1c2guYzoyNzQKIG1zZ2lkICIiCiAiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKIG1zZ3N0ciAiIgorIlZvdXMgbidhdmV6IHBhcyBzcMOpY2lmacOpIGRlIHNww6ljaWZpY2F0aW9ucyBkZSByw6lmw6lyZW5jZSDDoCBwb3Vzc2VyLCBldCBwdXNoLiIKKyJkZWZhdWx0IGVzdCBcIm5vdGhpbmdcIi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIwNgorIzogYnVpbHRpbi9wdXNoLmM6MjgxCiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0aXAgb2YgeW91ciBjdXJyZW50IGJyYW5jaCBpcyBiZWhpbmRcbiIKLSJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBNZXJnZSB0aGUgcmVtb3RlIGNoYW5nZXMgKGUuZy4gJ2dpdCBwdWxsJylcbiIKLSJiZWZvcmUgcHVzaGluZyBhZ2Fpbi5cbiIKKyJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBJbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzIChlLmcuXG4iCisiJ2dpdCBwdWxsIC4uLicpIGJlZm9yZSBwdXNoaW5nIGFnYWluLlxuIgogIlNlZSB0aGUgJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCcgZm9yIGRldGFpbHMuIgogbXNnc3RyICIiCisiTGVzIG1pc2VzIMOgIGpvdXIgb250IMOpdMOpIHJlamV0w6llcyBjYXIgbGEgcG9pbnRlIGRlIGxhIGJyYW5jaGUgY291cmFudGUgZXN0ICIKKyJkZXJyacOocmVcbiIKKyJzb24gaG9tb2xvZ3VlIGRpc3RhbnQuIEludMOpZ3JleiBsZXMgY2hhbmdlbWVudHMgZGlzdGFudHMgKHBhciBleGVtcGxlICdnaXQgIgorInB1bGwgLi4uJylcbiIKKyJhdmFudCBkZSBwb3Vzc2VyIMOgIG5vdXZlYXUuXG4iCisiVm9pciBsYSAnTm90ZSDDoCBwcm9wb3MgZGVzIGF2YW5jZXMgcmFwaWRlcycgZGFucyAnZ2l0IHB1c2ggLS1oZWxwJyBwb3VyIHBsdXMgIgorImQnaW5mb3JtYXRpb24uIgogCi0jOiBidWlsdGluL3B1c2guYzoyMTIKKyM6IGJ1aWx0aW4vcHVzaC5jOjI4NwogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIElmIHlvdSBkaWQgbm90IGludGVuZCB0byBwdXNoIHRoYXQgYnJhbmNoLCB5b3UgbWF5IHdhbnQgdG9cbiIKICJzcGVjaWZ5IGJyYW5jaGVzIHRvIHB1c2ggb3Igc2V0IHRoZSAncHVzaC5kZWZhdWx0JyBjb25maWd1cmF0aW9uIHZhcmlhYmxlXG4iCiAidG8gJ3NpbXBsZScsICdjdXJyZW50JyBvciAndXBzdHJlYW0nIHRvIHB1c2ggb25seSB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICIiCisiTGVzIG1pc2VzIMOgIGpvdXIgb250IMOpdMOpIHJlamV0w6llcyBjYXIgbGEgcG9pbnRlIGRlIGxhIGJyYW5jaGUgcG91c3PDqWUgZXN0ICIKKyJkZXJyacOocmVcbiIKKyJzb24gaG9tb2xvZ3VlIGRpc3RhbnQuIFNpIHZvdXMgbmUgdm91bGlleiBwYXMgcG91c3NlciBjZXR0ZSBicmFuY2hlLCB2b3VzICIKKyJwb3VycmllelxuIgorInZvdWxvaXIgc3DDqWNpZmllciBsZXMgYnJhbmNoZXMgw6AgcG91c3NlciBvdSBkw6lmaW5pciBsYSB2YXJpYWJsZSBkZSAiCisiY29uZmlndXJhdGlvblxuIgorIidwdXNoLmRlZmF1bHQnIMOgICdzaW1wbGUnLCAnY3VycmVudCcgb3UgJ3Vwc3RyZWFtJyBwb3VyIHBvdXNzZXIgc2V1bGVtZW50IGxhICIKKyJicmFuY2hlIGNvdXJhbnRlLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjE4CisjOiBidWlsdGluL3B1c2guYzoyOTMKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgotImNvdW50ZXJwYXJ0LiBDaGVjayBvdXQgdGhpcyBicmFuY2ggYW5kIG1lcmdlIHRoZSByZW1vdGUgY2hhbmdlc1xuIgotIihlLmcuICdnaXQgcHVsbCcpIGJlZm9yZSBwdXNoaW5nIGFnYWluLlxuIgorImNvdW50ZXJwYXJ0LiBDaGVjayBvdXQgdGhpcyBicmFuY2ggYW5kIGludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXNcbiIKKyIoZS5nLiAnZ2l0IHB1bGwgLi4uJykgYmVmb3JlIHB1c2hpbmcgYWdhaW4uXG4iCiAiU2VlIHRoZSAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJyBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIiIKKyJMZXMgbWlzZXMgw6Agam91ciBvbnQgw6l0w6kgcmVqZXTDqWVzIGNhciBsYSBwb2ludGUgZGUgbGEgYnJhbmNoZSBjb3VyYW50ZSBlc3QgIgorImRlcnJpw6hyZVxuIgorInNvbiBob21vbG9ndWUgZGlzdGFudC4gRXh0cmF5ZXogY2V0dGUgYnJhbmNoZSBldCBJbnTDqWdyZXogbGVzIGNoYW5nZW1lbnRzICIKKyJkaXN0YW50c1xuIgorIihwYXIgZXhlbXBsZSAnZ2l0IHB1bGwgLi4uJykgYXZhbnQgZGUgcG91c3NlciDDoCBub3V2ZWF1LlxuIgorIlZvaXIgbGEgJ05vdGUgw6AgcHJvcG9zIGRlcyBhdmFuY2VzIHJhcGlkZXMnIGRhbnMgJ2dpdCBwdXNoIC0taGVscCcgcG91ciBwbHVzICIKKyJkJ2luZm9ybWF0aW9uLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjI0CisjOiBidWlsdGluL3B1c2guYzoyOTkKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHJlbW90ZSBjb250YWlucyB3b3JrIHRoYXQgeW91IGRvXG4iCiAibm90IGhhdmUgbG9jYWxseS4gVGhpcyBpcyB1c3VhbGx5IGNhdXNlZCBieSBhbm90aGVyIHJlcG9zaXRvcnkgcHVzaGluZ1xuIgotInRvIHRoZSBzYW1lIHJlZi4gWW91IG1heSB3YW50IHRvIGZpcnN0IG1lcmdlIHRoZSByZW1vdGUgY2hhbmdlcyAoZS5nLixcbiIKLSInZ2l0IHB1bGwnKSBiZWZvcmUgcHVzaGluZyBhZ2Fpbi5cbiIKKyJ0byB0aGUgc2FtZSByZWYuIFlvdSBtYXkgd2FudCB0byBmaXJzdCBpbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzXG4iCisiKGUuZy4sICdnaXQgcHVsbCAuLi4nKSBiZWZvcmUgcHVzaGluZyBhZ2Fpbi5cbiIKICJTZWUgdGhlICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGluICdnaXQgcHVzaCAtLWhlbHAnIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAiIgorIkxlcyBtaXNlcyDDoCBqb3VyIG9udCDDqXTDqSByZWpldMOpZXMgY2FyIGxhIGJyYW5jaGUgZGlzdGFudGUgY29udGllbnQgZHUgIgorInRyYXZhaWwgcXVlXG4iCisidm91cyBuJ2F2ZXogcGFzIGVuIGxvY2FsLiBDZWNpIGVzdCBnw6luw6lyYWxlbWVudCBjYXVzw6kgcGFyIHVuIGF1dHJlIGTDqXDDtHQgIgorInBvdXNzw6lcbiIKKyJ2ZXJzIGxhIG3Dqm1lIHLDqWbDqXJlbmNlLiBWb3VzIHBvdXJyaWV6IGludMOpZ3JlciBkJ2Fib3JkIGxlcyBjaGFuZ2VtZW50cyAiCisiZGlzdGFudHNcbiIKKyIocGFyIGV4ZW1wbGUgJ2dpdCBwdWxsIC4uLicpIGF2YW50IGRlIHBvdXNzZXIgw6Agbm91dmVhdS5cbiIKKyJWb2lyIGxhICdOb3RlIMOgIHByb3BvcyBkZXMgYXZhbmNlcyByYXBpZGVzJyBkYW5zICdnaXQgcHVzaCAtLWhlbHAnIHBvdXIgcGx1cyAiCisiZCdpbmZvcm1hdGlvbi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIzMQorIzogYnVpbHRpbi9wdXNoLmM6MzA2CiBtc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKIG1zZ3N0ciAiIgorIkxlcyBtaXNlcyDDoCBqb3VyIG9udCDDqXTDqSByZWpldMOpZXMgY2FyIGwnw6l0aXF1ZXR0ZSBleGlzdGUgZMOpasOgIGRhbnMgbGEgIgorImJyYW5jaGUgZGlzdGFudGUuIgogCi0jOiBidWlsdGluL3B1c2guYzoyMzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjMwOQogbXNnaWQgIiIKICJZb3UgY2Fubm90IHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBwb2ludHMgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJvciB1cGRhdGUgYSByZW1vdGUgcmVmIHRvIG1ha2UgaXQgcG9pbnQgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJ3aXRob3V0IHVzaW5nIHRoZSAnLS1mb3JjZScgb3B0aW9uLlxuIgogbXNnc3RyICIiCisiVm91cyBuZSBwb3V2ZXogcGFzIG1ldHRyZSDDoCBqb3VyIHVuZSByw6lmw6lyZW5jZSBkaXN0YW50ZSBxdWkgcG9pbnRlIHN1ciB1biAiCisib2JqZXQgcXVpXG4iCisibidlc3QgcGFzIHVuIGNvbW1pdCwgb3UgbWV0dHJlIMOgIGpvdXIgdW5lIHLDqWbDqXJlbmNlIGRpc3RhbnRlIHBvdXIgbGEgZmFpcmUgIgorInBvaW50ZXJcbiIKKyJ2ZXJzIHVuIG9iamV0IHF1aSBuJ2VzdCBwYXMgdW4gY29tbWl0LCBzYW5zIHV0aWxpc2VyIGwnb3B0aW9uICctLWZvcmNlJy5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mjk0CisjOiBidWlsdGluL3B1c2guYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHVzaGluZyB0byAlc1xuIgotbXNnc3RyICIiCittc2dzdHIgIlBvdXNzYWdlIHZlcnMgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mjk4CisjOiBidWlsdGluL3B1c2guYzozNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBwb3Vzc2VyIGRlcyByw6lmw6lyZW5jZXMgdmVycyAnJXMnIgogCi0jOiBidWlsdGluL3B1c2guYzozMzEKKyM6IGJ1aWx0aW4vcHVzaC5jOjQxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgIm1hdXZhaXMgZMOpcMO0dCAnJXMnIgogCi0jOiBidWlsdGluL3B1c2guYzozMzIKKyM6IGJ1aWx0aW4vcHVzaC5jOjQxMwogbXNnaWQgIiIKICJObyBjb25maWd1cmVkIHB1c2ggZGVzdGluYXRpb24uXG4iCiAiRWl0aGVyIHNwZWNpZnkgdGhlIFVSTCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJlIGEgcmVtb3RlICIKQEAgLTcyODcsOTAgKzgxNzcsMTA4IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIDxuYW1lPlxuIgogbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjM0NwotbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzozNDgKLW1zZ2lkICItLWFsbCBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjM1MwotbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzozNTQKLW1zZ2lkICItLW1pcnJvciBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjM1OQotbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjQxOQotbXNnaWQgInJlcG9zaXRvcnkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NDIwCi1tc2dpZCAicHVzaCBhbGwgcmVmcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzo0MjEKLW1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NDIzCi1tc2dpZCAiZGVsZXRlIHJlZnMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NDI0Ci1tc2dpZCAicHVzaCB0YWdzIChjYW4ndCBiZSB1c2VkIHdpdGggLS1hbGwgb3IgLS1taXJyb3IpIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjQyNwotbXNnaWQgImZvcmNlIHVwZGF0ZXMiCi1tc2dzdHIgIiIKKyJQYXMgZGUgZGVzdGluYXRpb24gcG91ciBwb3Vzc2VyLlxuIgorIlNww6ljaWZpZXogdW5lIFVSTCBkZXB1aXMgbGEgbGlnbmUgZGUgY29tbWFuZGUgb3UgY29uZmlndXJleiB1biBkw6lww7R0IGRpc3RhbnQgIgorImVuIHV0aWxpc2FudFxuIgorIlxuIgorIiAgICBnaXQgcmVtb3RlIGFkZCA8bm9tPiA8dXJsPlxuIgorIlxuIgorImV0IHBvdXNzZXogYWxvcnMgZW4gdXRpbGlzYW50IGxlIGTDqXDDtHQgZGlzdGFudFxuIgorIlxuIgorIiAgICBnaXQgcHVzaCA8bm9tPlxuIgogCiAjOiBidWlsdGluL3B1c2guYzo0MjgKLW1zZ2lkICJjaGVjayIKLW1zZ3N0ciAiIgorbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiLS1hbGwgZXQgLS10YWdzIHNvbnQgaW5jb21wYXRpYmxlcyIKIAogIzogYnVpbHRpbi9wdXNoLmM6NDI5Ci1tc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjQzMQotbXNnaWQgInVzZSB0aGluIHBhY2siCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NDMyIGJ1aWx0aW4vcHVzaC5jOjQzMwotbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgotbXNnc3RyICIiCittc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKK21zZ3N0ciAiLS1hbGwgbmUgcGV1dCBwYXMgw6p0cmUgY29tYmluw6kgYXZlYyBkZXMgc3DDqWNpZmljYXRpb25zIGRlIHLDqWbDqXJlbmNlIgogCiAjOiBidWlsdGluL3B1c2guYzo0MzQKLW1zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL3N0YXR1cyIKLW1zZ3N0ciAiIgorbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiLS1taXJyb3IgZXQgLS10YWdzIHNvbnQgaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDM3Ci1tc2dpZCAicHJ1bmUgbG9jYWxseSByZW1vdmVkIHJlZnMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NDM5Ci1tc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCi1tc2dzdHIgIiIKKyM6IGJ1aWx0aW4vcHVzaC5jOjQzNQorbXNnaWQgIi0tbWlycm9yIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCittc2dzdHIgIi0tbWlycm9yIG5lIHBldXQgcGFzIMOqdHJlIGNvbWJpbsOpIGF2ZWMgZGVzIHNww6ljaWZpY2F0aW9ucyBkZSByw6lmw6lyZW5jZSIKIAogIzogYnVpbHRpbi9wdXNoLmM6NDQwCittc2dpZCAiLS1hbGwgYW5kIC0tbWlycm9yIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIi0tYWxsIGV0IC0tbWlycm9yIHNvbnQgaW5jb21wYXRpYmxlcyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTAwCittc2dpZCAicmVwb3NpdG9yeSIKK21zZ3N0ciAiZMOpcMO0dCIKKworIzogYnVpbHRpbi9wdXNoLmM6NTAxCittc2dpZCAicHVzaCBhbGwgcmVmcyIKK21zZ3N0ciAicG91c3NlciB0b3V0ZXMgbGVzIHLDqWbDqXJlbmNlcyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTAyCittc2dpZCAibWlycm9yIGFsbCByZWZzIgorbXNnc3RyICJyZWZsw6l0ZXIgdG91dGVzIGxlcyByw6lmw6lyZW5jZXMiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUwNAorbXNnaWQgImRlbGV0ZSByZWZzIgorbXNnc3RyICJzdXBwcmltZXIgbGVzIHLDqWbDqXJlbmNlcyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTA1Cittc2dpZCAicHVzaCB0YWdzIChjYW4ndCBiZSB1c2VkIHdpdGggLS1hbGwgb3IgLS1taXJyb3IpIgorbXNnc3RyICIiCisicG91c3NlciBsZXMgw6l0aXF1ZXR0ZXMgKG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIGF2ZWMgLS1hbGwgb3UgLS1taXJyb3IpIgorCisjOiBidWlsdGluL3B1c2guYzo1MDgKK21zZ2lkICJmb3JjZSB1cGRhdGVzIgorbXNnc3RyICJmb3JjZXIgbGVzIG1pc2VzIMOgIGpvdXIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxMAorbXNnaWQgInJlZm5hbWU+OjxleHBlY3QiCittc2dzdHIgIm5vbSBkZSByw6lmw6lyZW5jZT46PGF0dGVuZHUiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxMQorbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgorbXNnc3RyICJleGlnZXIgcXVlIGwnYW5jaWVubmUgdmFsZXVyIGRlIGxhIHLDqWbDqXJlbmNlIHNvaXQgw6AgY2V0dGUgdmFsZXVyIgorCisjOiBidWlsdGluL3B1c2guYzo1MTMKK21zZ2lkICJjaGVjayIKK21zZ3N0ciAiY2hlY2siCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNAorbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKK21zZ3N0ciAiY29udHLDtGxlciBsZSBwb3Vzc2FnZSByw6ljdXJzaWYgZGVzIHNvdXMtbW9kdWxlcyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTE2Cittc2dpZCAidXNlIHRoaW4gcGFjayIKK21zZ3N0ciAidXRpbGlzZXIgdW4gZW1wYXF1ZXRhZ2UgbMOpZ2VyIgorCisjOiBidWlsdGluL3B1c2guYzo1MTcgYnVpbHRpbi9wdXNoLmM6NTE4Cittc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCittc2dzdHIgInJlY2V2b2lyIGxlIHByb2dyYW1tZSBkJ2VtcGFxdWV0YWdlIgorCisjOiBidWlsdGluL3B1c2guYzo1MTkKK21zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL3N0YXR1cyIKK21zZ3N0ciAiZMOpZmluaXIgbGEgYnJhbmNoZSBhbW9udCBwb3VyIGdpdCBwdWxsL3N0YXR1cyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTIyCittc2dpZCAicHJ1bmUgbG9jYWxseSByZW1vdmVkIHJlZnMiCittc2dzdHIgIsOpbGltaW5lciBsZXMgcsOpZsOpcmVuY2VzIGxvY2FsZXMgc3VwcHJpbcOpZXMiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNAorbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgorbXNnc3RyICLDqXZpdGVyIGQndXRpbGlzZXIgbGUgY3JvY2hldCBwcmUtcHVzaCIKKworIzogYnVpbHRpbi9wdXNoLmM6NTI1CiBtc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgotbXNnc3RyICIiCittc2dzdHIgInBvdXNzZXIgbGVzIMOpdGlxdWV0dGVzIG1hbnF1YW50ZXMgbWFpcyBwZXJ0aW5lbnRlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDUwCisjOiBidWlsdGluL3B1c2guYzo1MzUKIG1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKLW1zZ3N0ciAiIgorbXNnc3RyICItLWRlbGV0ZSBlc3QgaW5jb21wYXRpYmxlIGF2ZWMgLS1hbGwsIC0tbWlycm9yIGV0IC0tdGFncyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDUyCisjOiBidWlsdGluL3B1c2guYzo1MzcKIG1zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKLW1zZ3N0ciAiIgorbXNnc3RyICItLWRlbGV0ZSBuJ2EgcGFzIGRlIHNlbnMgc2FucyBhdWN1bmUgcsOpZsOpcmVuY2UiCiAKICM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MzYKIG1zZ2lkICIiCkBAIC03Mzc4LDE1MiArODI4NiwxNzQgQEAKICJbLXUgWy0tZXhjbHVkZS1wZXItZGlyZWN0b3J5PTxnaXRpZ25vcmU+XSB8IC1pXV0gWy0tbm8tc3BhcnNlLWNoZWNrb3V0XSBbLS0iCiAiaW5kZXgtb3V0cHV0PTxmaWxlPl0gKC0tZW1wdHkgfCA8dHJlZS1pc2gxPiBbPHRyZWUtaXNoMj4gWzx0cmVlLWlzaDM+XV0pIgogbXNnc3RyICIiCisiZ2l0IHJlYWQtdHJlZSBbWy1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tIgorInByZWZpeD08cHLDqWZpeGU+XSBbLXUgWy0tZXhjbHVkZS1wZXItZGlyZWN0b3J5PTxnaXRpZ25vcmU+XSB8IC1pXV0gWy0tbm8tIgorInNwYXJzZS1jaGVja291dF0gWy0taW5kZXgtb3V0cHV0PTxmaWNoaWVyPl0gKC0tZW1wdHkgfCA8YXJicmUgb3UgYXBwYXJlbnTDqSAiCisiMT4gWzxhcmJyZSBvdSBhcHBhcmVudMOpIDI+IFs8YXJicmUgb3UgYXBwYXJlbnTDqSAzPl1dKSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDgKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA5CiBtc2dpZCAid3JpdGUgcmVzdWx0aW5nIGluZGV4IHRvIDxmaWxlPiIKLW1zZ3N0ciAiIgorbXNnc3RyICLDqWNyaXJlIGwnaW5kZXggcsOpc3VsdGFudCBkYW5zIDxmaWNoaWVyPiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEyCiBtc2dpZCAib25seSBlbXB0eSB0aGUgaW5kZXgiCi1tc2dzdHIgIiIKK21zZ3N0ciAianVzdGUgdmlkZXIgbCdpbmRleCIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTMKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE0CiBtc2dpZCAiTWVyZ2luZyIKLW1zZ3N0ciAiIgorbXNnc3RyICJGdXNpb24iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjExNgogbXNnaWQgInBlcmZvcm0gYSBtZXJnZSBpbiBhZGRpdGlvbiB0byBhIHJlYWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZWZmZWN0dWVyIHVuZSBmdXNpb24gZW4gcGx1cyBkJ3VuZSBsZWN0dXJlIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExNworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTgKIG1zZ2lkICIzLXdheSBtZXJnZSBpZiBubyBmaWxlIGxldmVsIG1lcmdpbmcgcmVxdWlyZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZnVzaW9uIMOgIDMgcG9pbnRzIHNpIGF1Y3VuZSBmdXNpb24gZGUgbml2ZWF1IGZpY2hpZXIgbidlc3QgcmVxdWlzZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTkKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIwCiBtc2dpZCAiMy13YXkgbWVyZ2UgaW4gcHJlc2VuY2Ugb2YgYWRkcyBhbmQgcmVtb3ZlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMQotbXNnaWQgInNhbWUgYXMgLW0sIGJ1dCBkaXNjYXJkIHVubWVyZ2VkIGVudHJpZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZnVzaW9uIMOgIDMgcG9pbnRzIGVuIHByw6lzZW5jZSBkJ2Fqb3V0cyBldCBzdXBwcmVzc2lvbnMiCiAKICM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIyCi1tc2dpZCAiPHN1YmRpcmVjdG9yeT4vIgotbXNnc3RyICIiCittc2dpZCAic2FtZSBhcyAtbSwgYnV0IGRpc2NhcmQgdW5tZXJnZWQgZW50cmllcyIKK21zZ3N0ciAiY29tbWUgLW0sIG1haXMgYW5udWxlIGxlcyDDqWzDqW1lbnRzIG5vbiBmdXNpb25uw6lzIgogCiAjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMworbXNnaWQgIjxzdWJkaXJlY3Rvcnk+LyIKK21zZ3N0ciAiPHNvdXMtcsOpcGVydG9pcmU+LyIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjQKIG1zZ2lkICJyZWFkIHRoZSB0cmVlIGludG8gdGhlIGluZGV4IHVuZGVyIDxzdWJkaXJlY3Rvcnk+LyIKLW1zZ3N0ciAiIgorbXNnc3RyICJsaXJlIGwnYXJicmUgZGFucyBsJ2luZGV4IGRhbnMgPHNvdXMtcsOpcGVydG9pcmU+LyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjYKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI3CiBtc2dpZCAidXBkYXRlIHdvcmtpbmcgdHJlZSB3aXRoIG1lcmdlIHJlc3VsdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAotbXNnaWQgImdpdGlnbm9yZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJtZXR0cmUgw6Agam91ciBsYSBjb3BpZSBkZSB0cmF2YWlsIGF2ZWMgbGUgcsOpc3VsdGF0IGRlIGxhIGZ1c2lvbiIKIAogIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjkKLW1zZ2lkICJhbGxvdyBleHBsaWNpdGx5IGlnbm9yZWQgZmlsZXMgdG8gYmUgb3ZlcndyaXR0ZW4iCi1tc2dzdHIgIiIKK21zZ2lkICJnaXRpZ25vcmUiCittc2dzdHIgImdpdGlnbm9yZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzIKLW1zZ2lkICJkb24ndCBjaGVjayB0aGUgd29ya2luZyB0cmVlIGFmdGVyIG1lcmdpbmciCi1tc2dzdHIgIiIKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMwCittc2dpZCAiYWxsb3cgZXhwbGljaXRseSBpZ25vcmVkIGZpbGVzIHRvIGJlIG92ZXJ3cml0dGVuIgorbXNnc3RyICJhdXRvcmlzZXIgZXhwbGljaXRlbWVudCBsZXMgZmljaGllcnMgaWdub3LDqXMgw6Agw6p0cmUgw6ljcmFzw6lzIgogCiAjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMworbXNnaWQgImRvbid0IGNoZWNrIHRoZSB3b3JraW5nIHRyZWUgYWZ0ZXIgbWVyZ2luZyIKK21zZ3N0ciAibmUgcGFzIHbDqXJpZmllciBsYSBjb3BpZSBkZSB0cmF2YWlsIGFwcsOocyBsYSBmdXNpb24iCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM0CiBtc2dpZCAiZG9uJ3QgdXBkYXRlIHRoZSBpbmRleCBvciB0aGUgd29yayB0cmVlIgotbXNnc3RyICIiCittc2dzdHIgIm5lIHBhcyBtZXR0cmUgw6Agam91ciBsJ2luZGV4IG91IGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNgogbXNnaWQgInNraXAgYXBwbHlpbmcgc3BhcnNlIGNoZWNrb3V0IGZpbHRlciIKLW1zZ3N0ciAiIgorbXNnc3RyICJzYXV0ZXIgbCdhcHBsaWNhdGlvbiBkdSBmaWx0cmUgZCdleHRyYWN0aW9uIGNyZXVzZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM4CiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgotbXNnc3RyICIiCittc2dzdHIgImTDqWJvZ3VlciB1bnBhY2stdHJlZXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJyBmb3IgJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCittc2dzdHIgIiVzJyBwb3VyICclcycgbidlc3QgcGFzIHVuIGhvcm9kYXRhZ2UgdmFsaWRlIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjYxNSBidWlsdGluL3JlZmxvZy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKK21zZ3N0ciAiJyVzJyBuJ2VzdCBwYXMgdW4gaG9yb2RhdGFnZSB2YWxpZGUiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCiBtc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMwogbXNnaWQgIiIKICJnaXQgcmVtb3RlIGFkZCBbLXQgPGJyYW5jaD5dIFstbSA8bWFzdGVyPl0gWy1mXSBbLS10YWdzfC0tbm8tdGFnc10gWy0tIgogIm1pcnJvcj08ZmV0Y2h8cHVzaD5dIDxuYW1lPiA8dXJsPiIKLW1zZ3N0ciAiZ2l0IHJlbW90ZSBhZGQgWy10IDxicmFuY2hlPl0gWy1tIDxtYcOudHJlc3NlPl0gWy1mXSBbLS10YWdzfC0tbm8tdGFnc10gWy0tbWlycm9yPTxmZXRjaHxwdXNoPl0gPG5vbT4gPFVSTD4iCittc2dzdHIgIiIKKyJnaXQgcmVtb3RlIGFkZCBbLXQgPGJyYW5jaGU+XSBbLW0gPG1hw650cmVzc2U+XSBbLWZdIFstLXRhZ3N8LS1uby10YWdzXSBbLS0iCisibWlycm9yPTxmZXRjaHxwdXNoPl0gPG5vbT4gPFVSTD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMgYnVpbHRpbi9yZW1vdGUuYzozMgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNCBidWlsdGluL3JlbW90ZS5jOjMzCiBtc2dpZCAiZ2l0IHJlbW90ZSByZW5hbWUgPG9sZD4gPG5ldz4iCiBtc2dzdHIgImdpdCByZW1vdGUgcmVuYW1lIDxhbmNpZW5uZT4gPG5vdXZlbGxlPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNCBidWlsdGluL3JlbW90ZS5jOjM3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1IGJ1aWx0aW4vcmVtb3RlLmM6MzgKIG1zZ2lkICJnaXQgcmVtb3RlIHJlbW92ZSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgcmVtb3ZlIDxub20+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1IGJ1aWx0aW4vcmVtb3RlLmM6NDIKLW1zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtZCB8IDxicmFuY2g+KSIKLW1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bm9tPiAoLWEgfCAtZCB8IDxicmFuY2hlPikiCi0KICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYKK21zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHw8YnJhbmNoPikiCittc2dzdHIgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5vbT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8PGJyYW5jaGU+KSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNwogbXNnaWQgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSBzaG93IFstbl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDxub20+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE3CisjOiBidWlsdGluL3JlbW90ZS5jOjE4CiBtc2dpZCAiZ2l0IHJlbW90ZSBwcnVuZSBbLW4gfCAtLWRyeS1ydW5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbLW4gfCAtLWRyeS1ydW5dIDxub20+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4CisjOiBidWlsdGluL3JlbW90ZS5jOjE5CiBtc2dpZCAiIgogImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8Z3JvdXA+IHwgPHJlbW90ZT4pLi4uXSIKLW1zZ3N0ciAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDxncm91cGU+IHwgPGRpc3RhbnRlPikuLi5dIgorbXNnc3RyICIiCisiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDxncm91cGU+IHwgIgorIjxkaXN0YW50ZT4pLi4uXSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOQorIzogYnVpbHRpbi9yZW1vdGUuYzoyMAogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIFstLWFkZF0gPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDxub20+IDxicmFuY2hlPi4uLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMCBidWlsdGluL3JlbW90ZS5jOjY4CisjOiBidWlsdGluL3JlbW90ZS5jOjIxIGJ1aWx0aW4vcmVtb3RlLmM6NjkKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC11cmwgWy0tcHVzaF0gPG5hbWU+IDxuZXd1cmw+IFs8b2xkdXJsPl0iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCBbLS1wdXNoXSA8bm9tPiA8bm91dmVsbGUtVVJMPiBbPGFuY2llbm5lLVVSTD5dIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIxIGJ1aWx0aW4vcmVtb3RlLmM6NjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjIgYnVpbHRpbi9yZW1vdGUuYzo3MAogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWFkZCA8bmFtZT4gPG5ld3VybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWFkZCA8bm9tPiA8bm91dmVsbGUtVVJMPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMiBidWlsdGluL3JlbW90ZS5jOjcwCisjOiBidWlsdGluL3JlbW90ZS5jOjIzIGJ1aWx0aW4vcmVtb3RlLmM6NzEKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC11cmwgLS1kZWxldGUgPG5hbWU+IDx1cmw+IgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC11cmwgLS1kZWxldGUgPG5vbT4gPFVSTD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjgKIG1zZ2lkICJnaXQgcmVtb3RlIGFkZCBbPG9wdGlvbnM+XSA8bmFtZT4gPHVybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgYWRkIFs8b3B0aW9ucz5dIDxub20+IDxVUkw+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQ3CisjOiBidWlsdGluL3JlbW90ZS5jOjQzCittc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxicmFuY2g+KSIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bm9tPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPGJyYW5jaGU+KSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo0OAogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPG5vbT4gPGJyYW5jaGU+Li4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjQ5CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgLS1hZGQgPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyAtLWFkZCA8bm9tPiA8YnJhbmNoZT4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTQKIG1zZ2lkICJnaXQgcmVtb3RlIHNob3cgWzxvcHRpb25zPl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHNob3cgWzxvcHRpb25zPl0gPG5vbT4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTkKIG1zZ2lkICJnaXQgcmVtb3RlIHBydW5lIFs8b3B0aW9ucz5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbPG9wdGlvbnM+XSA8bm9tPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MworIzogYnVpbHRpbi9yZW1vdGUuYzo2NAogbXNnaWQgImdpdCByZW1vdGUgdXBkYXRlIFs8b3B0aW9ucz5dIFs8Z3JvdXA+IHwgPHJlbW90ZT5dLi4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHVwZGF0ZSBbPG9wdGlvbnM+XSBbPGdyb3VwZT4gfCA8ZGlzdGFudGU+XS4uLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5OAorIzogYnVpbHRpbi9yZW1vdGUuYzo4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGluZyAlcyIKIG1zZ3N0ciAiTWlzZSDDoCBqb3VyIGRlICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAKIG1zZ2lkICIiCiAiLS1taXJyb3IgaXMgZGFuZ2Vyb3VzIGFuZCBkZXByZWNhdGVkOyBwbGVhc2VcbiIKICJcdCB1c2UgLS1taXJyb3I9ZmV0Y2ggb3IgLS1taXJyb3I9cHVzaCBpbnN0ZWFkIgpAQCAtNzUzMSwxMDEgKzg0NjEsMTA3IEBACiAiLS1taXJyb3IgZXN0IGRhbmdlcmV1eCBldCBvYnNvbMOodGUgOyBtZXJjaVxuIgogIlx0IGQndXRpbGlzZXIgLS1taXJyb3I9ZmV0Y2ggb3UgLS1taXJyb3I9cHVzaCDDoCBsYSBwbGFjZSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gbWlycm9yIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAiYXJndW1lbnQgbWlyb2lyIGluY29ubnUgOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzCiBtc2dpZCAiZmV0Y2ggdGhlIHJlbW90ZSBicmFuY2hlcyIKIG1zZ3N0ciAicmFwYXRyaWVyIGxlcyBicmFuY2hlcyBkaXN0YW50ZXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NQogbXNnaWQgImltcG9ydCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIHdoZW4gZmV0Y2hpbmciCi1tc2dzdHIgImltcG9ydGVyIHRvdXRlcyBsZXMgw6l0aXF1ZXR0ZXMgZXQgbGVzIG9iamV0cyBhc3NvY2nDqXMgbG9ycyBkdSByYXBhdHJpZW1lbnQiCittc2dzdHIgIiIKKyJpbXBvcnRlciB0b3V0ZXMgbGVzIMOpdGlxdWV0dGVzIGV0IGxlcyBvYmpldHMgYXNzb2Npw6lzIGxvcnMgZHUgcmFwYXRyaWVtZW50IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgKIG1zZ2lkICJvciBkbyBub3QgZmV0Y2ggYW55IHRhZyBhdCBhbGwgKC0tbm8tdGFncykiCiBtc2dzdHIgIm91IG5lIHJhcGF0cmllciBhdWN1bmUgw6l0aXF1ZXR0ZSAoLS1uby10YWdzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYwCiBtc2dpZCAiYnJhbmNoKGVzKSB0byB0cmFjayIKIG1zZ3N0ciAiYnJhbmNoZShzKSDDoCBzdWl2cmUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTcxCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MQogbXNnaWQgIm1hc3RlciBicmFuY2giCiBtc2dzdHIgImJyYW5jaGUgbWHDrnRyZXNzZSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNzIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyCiBtc2dpZCAicHVzaHxmZXRjaCIKIG1zZ3N0ciAicHVzaHxmZXRjaCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYzCiBtc2dpZCAic2V0IHVwIHJlbW90ZSBhcyBhIG1pcnJvciB0byBwdXNoIHRvIG9yIGZldGNoIGZyb20iCi1tc2dzdHIgInBhcmFtw6l0cmVyIGxhIGRpc3RhbnRlIGNvbW1lIG1pcm9pciBwb3VyIHBvdXNzZXIgb3UgcG91ciByYXBhdHJpZXIgZGVwdWlzIgorbXNnc3RyICIiCisicGFyYW3DqXRyZXIgbGEgZGlzdGFudGUgY29tbWUgbWlyb2lyIHBvdXIgcG91c3NlciBvdSBwb3VyIHJhcGF0cmllciBkZXB1aXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg1CisjOiBidWlsdGluL3JlbW90ZS5jOjE3NQogbXNnaWQgInNwZWNpZnlpbmcgYSBtYXN0ZXIgYnJhbmNoIG1ha2VzIG5vIHNlbnNlIHdpdGggLS1taXJyb3IiCiBtc2dzdHIgInNww6ljaWZpZXIgdW5lIGJyYW5jaGUgbWHDrnRyZXNzZSBuJ2EgcGFzIGRlIHNlbnMgYXZlYyAtLW1pcnJvciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxODcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTc3CiBtc2dpZCAic3BlY2lmeWluZyBicmFuY2hlcyB0byB0cmFjayBtYWtlcyBzZW5zZSBvbmx5IHdpdGggZmV0Y2ggbWlycm9ycyIKLW1zZ3N0ciAic3DDqWNpZmllciBsZXMgYnJhbmNoZXMgw6Agc3VpdnJlIG4nYSBkZSBzZW5zIHF1J2F2ZWMgZGVzIG1pcm9pcnMgZGUgcmFwYXRyaWVtZW50IgorbXNnc3RyICIiCisic3DDqWNpZmllciBsZXMgYnJhbmNoZXMgw6Agc3VpdnJlIG4nYSBkZSBzZW5zIHF1J2F2ZWMgZGVzIG1pcm9pcnMgZGUgIgorInJhcGF0cmllbWVudCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOTUgYnVpbHRpbi9yZW1vdGUuYzo2NDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg1IGJ1aWx0aW4vcmVtb3RlLmM6NjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW90ZSAlcyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgImxhIGRpc3RhbnRlICVzIGV4aXN0ZSBkw6lqw6AuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5OSBidWlsdGluL3JlbW90ZS5jOjY1MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxODkgYnVpbHRpbi9yZW1vdGUuYzo2NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZW1vdGUgbmFtZSIKIG1zZ3N0ciAiJyVzJyBuJ2VzdCBwYXMgdW4gbm9tIHZhbGlkZSBkZSBkaXN0YW50ZSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyNDMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCBtYXN0ZXIgJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBwYXJhbcOpdHJlciBsYSBtYcOudHJlc3NlICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6Mjk5CisjOiBidWlsdGluL3JlbW90ZS5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gb25lICVzIgogbXNnc3RyICJwbHVzIGQndW4gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MzM5CisjOiBidWlsdGluL3JlbW90ZS5jOjMzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZ2V0IGZldGNoIG1hcCBmb3IgcmVmc3BlYyAlcyIKIG1zZ3N0ciAiIgorIkltcG9zc2libGUgZCdvYnRlbmlyIHVuZSBjb3JyZXNwb25kYW5jZSBkaXN0YW50ZSBwb3VyIGxhIHNww6ljaWZpY2F0aW9uIGRlICIKKyJyw6lmw6lyZW5jZSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0NDAgYnVpbHRpbi9yZW1vdGUuYzo0NDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDM1IGJ1aWx0aW4vcmVtb3RlLmM6NDQzCiBtc2dpZCAiKG1hdGNoaW5nKSIKIG1zZ3N0ciAiKGNvcnJlc3BvbmQpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQ1MgorIzogYnVpbHRpbi9yZW1vdGUuYzo0NDcKIG1zZ2lkICIoZGVsZXRlKSIKIG1zZ3N0ciAiKHN1cHByaW1lcikiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTk1IGJ1aWx0aW4vcmVtb3RlLmM6NjAxIGJ1aWx0aW4vcmVtb3RlLmM6NjA3CisjOiBidWlsdGluL3JlbW90ZS5jOjU5MCBidWlsdGluL3JlbW90ZS5jOjU5NiBidWlsdGluL3JlbW90ZS5jOjYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwZW5kICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2Fqb3V0ZXIgJyVzJyDDoCAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYzOSBidWlsdGluL3JlbW90ZS5jOjc5MiBidWlsdGluL3JlbW90ZS5jOjg5MAorIzogYnVpbHRpbi9yZW1vdGUuYzo2MzQgYnVpbHRpbi9yZW1vdGUuYzo3ODcgYnVpbHRpbi9yZW1vdGUuYzo4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGU6ICVzIgogbXNnc3RyICJEaXN0YW50ZSBpbmNvbm51ZSA6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY1NgorIzogYnVpbHRpbi9yZW1vdGUuYzo2NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbmFtZSBjb25maWcgc2VjdGlvbiAnJXMnIHRvICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcmVub21tZXIgbGEgc2VjdGlvbiBkZSBjb25maWd1cmF0aW9uICclcycgZW4gJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NjIgYnVpbHRpbi9yZW1vdGUuYzo3OTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU3IGJ1aWx0aW4vcmVtb3RlLmM6Nzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgY29uZmlnIHNlY3Rpb24gJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbGEgc2VjdGlvbiBkZSBjb25maWd1cmF0aW9uICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6Njc3CisjOiBidWlsdGluL3JlbW90ZS5jOjY3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm90IHVwZGF0aW5nIG5vbi1kZWZhdWx0IGZldGNoIHJlZnNwZWNcbiIKQEAgLTc2MzQsMzQgKzg1NzAsMzQgQEAKIG1zZ3N0ciAiIgogIlBhcyBkZSBtaXNlIMOgIGpvdXIgZHUgcmVmc3BlYyBkZSByYXBhdHJpZW1lbnQgcXVpIG4nZXN0IHBhcyBwYXIgZMOpZmF1dFxuIgogIlx0JXNcbiIKLSJcdE1lcmNpIGRlIG1ldHRyZSDDoCBqb3VyIGxhIGNvbmZpZ3VyYXRpb24gc2kgbsOpY2Vzc2FpcmUuIgorIlx0VmV1aWxsZXogbWV0dHJlIMOgIGpvdXIgbGEgY29uZmlndXJhdGlvbiBtYW51ZWxsZW1lbnQgc2kgbsOpY2Vzc2FpcmUuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY4MworIzogYnVpbHRpbi9yZW1vdGUuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGVuZCAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYWpvdXRlciAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY5NAorIzogYnVpbHRpbi9yZW1vdGUuYzo2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldCAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGTDqWZpbmlyICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzE2CisjOiBidWlsdGluL3JlbW90ZS5jOjcxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIHN1cHByZXNzaW9uIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzUwCisjOiBidWlsdGluL3JlbW90ZS5jOjc0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjcmVhdGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGNyw6lhdGlvbiBkZSAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjc2NAorIzogYnVpbHRpbi9yZW1vdGUuYzo3NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBicmFuY2ggJXMiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGxhIGJyYW5jaGUgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODM0CisjOiBidWlsdGluL3JlbW90ZS5jOjgyOQogbXNnaWQgIiIKICJOb3RlOiBBIGJyYW5jaCBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3YXMgbm90IHJlbW92ZWQ7XG4iCiAidG8gZGVsZXRlIGl0LCB1c2U6IgpAQCAtNzY3MiwyNjggKzg2MDgsMzM1IEBACiAiTm90ZSA6IFVuZSBicmFuY2hlIGVuIGRlaG9ycyBkZSByZWZzL3JlbW90ZXMvIG4nYSBwYXMgw6l0w6kgc3VwcHJpbcOpZSA7XG4iCiAicG91ciBsYSBzdXBwcmltZXIsIHV0aWxpc2V6IDoiCiBtc2dzdHJbMV0gIiIKLSJOb3RlIDogUGx1c2lldXJzIGJyYW5jaGVzIGVuIGRlaG9ycyBkZSByZWZzL3JlbW90ZXMvIG4nb250IHBhcyDDqXTDqSBzdXBwcmltw6llcyA7XG4iCisiTm90ZSA6IFBsdXNpZXVycyBicmFuY2hlcyBlbiBkZWhvcnMgZGUgcmVmcy9yZW1vdGVzLyBuJ29udCBwYXMgw6l0w6kgIgorInN1cHByaW3DqWVzIDtcbiIKICJwb3VyIGxlcyBzdXBwcmltZXIsIHV0aWxpc2V6IDoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQzCisjOiBidWlsdGluL3JlbW90ZS5jOjkzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgbmV3IChuZXh0IGZldGNoIHdpbGwgc3RvcmUgaW4gcmVtb3Rlcy8lcykiCiBtc2dzdHIgIiBub3V2ZWF1IChsZSBwcm9jaGFpbiByYXBhdHJpZW1lbnQgKGZldGNoKSBzdG9ja2VyYSBkYW5zIHJlbW90ZXMvJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk0NgorIzogYnVpbHRpbi9yZW1vdGUuYzo5NDEKIG1zZ2lkICIgdHJhY2tlZCIKIG1zZ3N0ciAiIHN1aXZpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk0OAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NDMKIG1zZ2lkICIgc3RhbGUgKHVzZSAnZ2l0IHJlbW90ZSBwcnVuZScgdG8gcmVtb3ZlKSIKIG1zZ3N0ciAiIGTDqXBhc3PDqSAodXRpbGlzZXogJ2dpdCByZW1vdGUgcHJ1bmUnIHBvdXIgc3VwcHJpbWVyKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQ1CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5OTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAiYnJhbmNoLiVzLm1lcmdlIGludmFsaWRlIDsgbmUgcGV1dCBwYXMgcmViYXNlciBzdXIgcGx1cyBkJ3VuZSBicmFuY2hlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk5OAorIzogYnVpbHRpbi9yZW1vdGUuYzo5OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAicmViYXNlIHN1ciBsYSBkaXN0YW50ZSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDAxCisjOiBidWlsdGluL3JlbW90ZS5jOjk5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgbWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICIgZnVzaW9ubmUgYXZlYyBsYSBkaXN0YW50ZSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDAyCisjOiBidWlsdGluL3JlbW90ZS5jOjk5NwogbXNnaWQgIiAgICBhbmQgd2l0aCByZW1vdGUiCiBtc2dzdHIgIiAgICBldCBhdmVjIGxhIGRpc3RhbnRlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMDQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiZnVzaW9ubmUgYXZlYyBsYSBkaXN0YW50ZSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDA1CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMDAKIG1zZ2lkICIgICBhbmQgd2l0aCByZW1vdGUiCiBtc2dzdHIgIiAgIGV0IGF2ZWMgbGEgZGlzdGFudGUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ2CiBtc2dpZCAiY3JlYXRlIgogbXNnc3RyICJjcsOpZXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ5CiBtc2dpZCAiZGVsZXRlIgogbXNnc3RyICJzdXBwcmltZXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUzCiBtc2dpZCAidXAgdG8gZGF0ZSIKIG1zZ3N0ciAiw6Agam91ciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDYxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTYKIG1zZ2lkICJmYXN0LWZvcndhcmRhYmxlIgogbXNnc3RyICJwZXV0IMOqdHJlIG1pcyDDoCBqb3VyIGVuIGF2YW5jZSByYXBpZGUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA2NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU5CiBtc2dpZCAibG9jYWwgb3V0IG9mIGRhdGUiCiBtc2dzdHIgImxlIGxvY2FsIG4nZXN0IHBhcyDDoCBqb3VyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyBmb3JjZSB2ZXJzICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDc0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgcG91c3NlIHZlcnMgJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzIGZvcmNlIHZlcnMgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnMgcG91c3NlIHZlcnMgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA5MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ0CiBtc2dpZCAiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiCiBtc2dzdHIgIm5lIHBhcyBpbnRlcnJvZ2VyIGxlcyBkaXN0YW50ZXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTExOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiogcmVtb3RlICVzIgogbXNnc3RyICIqIGRpc3RhbnRlICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZldGNoIFVSTDogJXMiCiBtc2dzdHIgIiAgVVJMIGRlIHJhcGF0cmllbWVudCA6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMjAgYnVpbHRpbi9yZW1vdGUuYzoxMjg1CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzMgYnVpbHRpbi9yZW1vdGUuYzoxMzE4CiBtc2dpZCAiKG5vIFVSTCkiCiBtc2dzdHIgIihwYXMgZCdVUkwpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMjkgYnVpbHRpbi9yZW1vdGUuYzoxMTMxCisjOiBidWlsdGluL3JlbW90ZS5jOjExODIgYnVpbHRpbi9yZW1vdGUuYzoxMTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUHVzaCAgVVJMOiAlcyIKIG1zZ3N0ciAiICBVUkwgcHVzaCA6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMzMgYnVpbHRpbi9yZW1vdGUuYzoxMTM1IGJ1aWx0aW4vcmVtb3RlLmM6MTEzNworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg2IGJ1aWx0aW4vcmVtb3RlLmM6MTE4OCBidWlsdGluL3JlbW90ZS5jOjExOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBIRUFEIGJyYW5jaDogJXMiCiBtc2dzdHIgIiAgQnJhbmNoZSBIRUFEIDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEzOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIEhFQUQgYnJhbmNoIChyZW1vdGUgSEVBRCBpcyBhbWJpZ3VvdXMsIG1heSBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyk6XG4iCi1tc2dzdHIgIiAgQnJhbmNoZSBIRUFEIChsYSBIRUFEIGRpc3RhbnRlIGVzdCBhbWJpZ3XDqywgcGV1dCDDqnRyZSBsJ3VuZSBkZXMgc3VpdmFudGVzKSA6XG4iCittc2dzdHIgIiIKKyIgIEJyYW5jaGUgSEVBRCAobGEgSEVBRCBkaXN0YW50ZSBlc3QgYW1iaWd1w6ssIHBldXQgw6p0cmUgbCd1bmUgZGVzICIKKyJzdWl2YW50ZXMpIDpcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTUxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBSZW1vdGUgYnJhbmNoOiVzIgogbXNnaWRfcGx1cmFsICIgIFJlbW90ZSBicmFuY2hlczolcyIKIG1zZ3N0clswXSAiICBCcmFuY2hlIGRpc3RhbnRlIDolcyIKIG1zZ3N0clsxXSAiICBCcmFuY2hlcyBkaXN0YW50ZXMgOiVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTQgYnVpbHRpbi9yZW1vdGUuYzoxMTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDcgYnVpbHRpbi9yZW1vdGUuYzoxMjM0CiBtc2dpZCAiIChzdGF0dXMgbm90IHF1ZXJpZWQpIgogbXNnc3RyICIgKHN0YXR1dCBub24gZGVtYW5kw6kpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxNgogbXNnaWQgIiAgTG9jYWwgYnJhbmNoIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIGJyYW5jaGVzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnc3RyWzBdICIgIEJyYW5jaGUgbG9jYWxlIGNvbmZpZ3Vyw6llIHBvdXIgJ2dpdCBwdWxsJyA6IgogbXNnc3RyWzFdICIgIEJyYW5jaGVzIGxvY2FsZXMgY29uZmlndXLDqWVzIHBvdXIgJ2dpdCBwdWxsJyA6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyNAogbXNnaWQgIiAgTG9jYWwgcmVmcyB3aWxsIGJlIG1pcnJvcmVkIGJ5ICdnaXQgcHVzaCciCiBtc2dzdHIgIiAgTGVzIHLDqWbDqXJlbmNlcyBsb2NhbGVzIHNlcm9udCByZWZsw6l0w6llcyBwYXIgJ2dpdCBwdXNoJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBMb2NhbCByZWYgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCByZWZzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dzdHJbMF0gIiAgUsOpZsOpcmVuY2UgbG9jYWxlIGNvbmZpZ3Vyw6llIHBvdXIgJ2dpdCBwdXNoJyVzIDoiCiBtc2dzdHJbMV0gIiAgUsOpZsOpcmVuY2VzIGxvY2FsZXMgY29uZmlndXLDqWVzIHBvdXIgJ2dpdCBwdXNoJyVzIDoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjUyCiBtc2dpZCAic2V0IHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCBhY2NvcmRpbmcgdG8gcmVtb3RlIgogbXNnc3RyICJkw6lmaW5pciByZWZzL3JlbW90ZXMvPG5vbT4vSEVBRCBzZWxvbiBsYSBkaXN0YW50ZSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNTQKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICJzdXBwcmltZXIgcmVmcy9yZW1vdGVzLzxub20+L0hFQUQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjY5CiBtc2dpZCAiQ2Fubm90IGRldGVybWluZSByZW1vdGUgSEVBRCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBkw6l0ZXJtaW5lciBsYSBIRUFEIGRpc3RhbnRlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3MQogbXNnaWQgIk11bHRpcGxlIHJlbW90ZSBIRUFEIGJyYW5jaGVzLiBQbGVhc2UgY2hvb3NlIG9uZSBleHBsaWNpdGx5IHdpdGg6IgotbXNnc3RyICJJbCB5IGEgZGUgbXVsdGlwbGVzIGJyYW5jaGVzIEhFQUQgZGlzdGFudGVzLiBNZXJjaSBkJ2VuIGNob2lzaXIgdW5lIGV4cGxpY2l0ZW1lbnQgYXZlYyA6IgorbXNnc3RyICIiCisiSWwgeSBhIGRlIG11bHRpcGxlcyBicmFuY2hlcyBIRUFEIGRpc3RhbnRlcy4gVmV1aWxsZXogZW4gY2hvaXNpciB1bmUgIgorImV4cGxpY2l0ZW1lbnQgYXZlYyA6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMjgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHN1cHByaW1lciAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjM2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgcmVmOiAlcyIKIG1zZ3N0ciAiUsOpZsOpcmVuY2Ugbm9uIHZhbGlkZSA6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgJXMiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcGFyYW3DqXRyZXIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyB3aWxsIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyBkZXZpZW5kcmEgZW4gc3VzcGVucyAhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgaGFzIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyBlc3QgZGV2ZW51IGVuIHN1c3BlbnMgISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKLW1zZ3N0ciAiw4lsYWdhZ2UgZGUgJXMiCittc2dzdHIgIsOJbGltaW5hdGlvbiBkZSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgyCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVVJMOiAlcyIKIG1zZ3N0ciAiVVJMIDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFt3b3VsZCBwcnVuZV0gJXMiCi1tc2dzdHIgIiAqIFtzZXJhaXQgw6lsYWd1w6ldICVzIgorbXNnc3RyICIgKiBbc2VyYWl0IMOpbGltaW7DqV0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFtwcnVuZWRdICVzIgotbXNnc3RyICIgKiBbw6lsYWd1w6ldICVzIgorbXNnc3RyICIgKiBbw6lsaW1pbsOpXSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzIxCisjOiBidWlsdGluL3JlbW90ZS5jOjEzNzQKIG1zZ2lkICJwcnVuZSByZW1vdGVzIGFmdGVyIGZldGNoaW5nIgotbXNnc3RyICLDqWxhZ3VlciBsZXMgZGlzdGFudHMgYXByw6hzIGxlIHJhcGF0cmllbWVudCIKK21zZ3N0ciAiw6lsaW1pbmVyIGxlcyBkaXN0YW50cyBhcHLDqHMgbGUgcmFwYXRyaWVtZW50IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzODcgYnVpbHRpbi9yZW1vdGUuYzoxNDYxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NDAgYnVpbHRpbi9yZW1vdGUuYzoxNTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCiBtc2dzdHIgIlBhcyBkZSBzZXJ2ZXVyIHJlbW90ZSAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MAogbXNnaWQgImFkZCBicmFuY2giCiBtc2dzdHIgImFqb3V0ZXIgdW5lIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQxNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDY3CiBtc2dpZCAibm8gcmVtb3RlIHNwZWNpZmllZCIKIG1zZ3N0ciAicGFzIGRlIHNlcnZldXIgZGlzdGFudCBzcMOpY2lmacOpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ4OQogbXNnaWQgIm1hbmlwdWxhdGUgcHVzaCBVUkxzIgogbXNnc3RyICJtYW5pcHVsZXIgbGVzIFVSTHMgcHVzaCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDM4CisjOiBidWlsdGluL3JlbW90ZS5jOjE0OTEKIG1zZ2lkICJhZGQgVVJMIgogbXNnc3RyICJham91dGVyIHVuZSBVUkwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDkzCiBtc2dpZCAiZGVsZXRlIFVSTHMiCiBtc2dzdHIgInN1cHByaW1lciBkZXMgVVJMcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQ3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MDAKIG1zZ2lkICItLWFkZCAtLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tYWRkIC0tZGVsZXRlIG4nYSBhdWN1biBzZW5zIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0ODcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCiBtc2dzdHIgIk1vdGlmIGQnVVJMIGFuY2llbiBpbnZhbGlkZSA6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0OTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIFVSTCBmb3VuZDogJXMiCiBtc2dzdHIgIlBhcyBkJ1VSTCB0cm91dsOpZSA6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0OTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU1MAogbXNnaWQgIldpbGwgbm90IGRlbGV0ZSBhbGwgbm9uLXB1c2ggVVJMcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJQYXMgZGUgc3VwcHJlc3Npb24gZGUgdG91dGVzIGxlcyBVUkxzIG5vbi1wdXNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU2NAogbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgIsOqdHJlIHZlcmJldXggOiBkb2l0IMOqdHJlIHBsYWPDqSBhdmFudCB1bmUgc291cy1jb21tYW5kZSIKIAorIzogYnVpbHRpbi9yZXBhY2suYzoxNQorbXNnaWQgImdpdCByZXBhY2sgW29wdGlvbnNdIgorbXNnc3RyICJnaXQgcmVwYWNrIFtvcHRpb25zXSIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNDMKK21zZ2lkICJwYWNrIGV2ZXJ5dGhpbmcgaW4gYSBzaW5nbGUgcGFjayIKK21zZ3N0ciAiZW1wYXF1ZXRlciB0b3V0IGRhbnMgdW4gc2V1bCBwYXF1ZXQiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTQ1Cittc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKK21zZ3N0ciAiaWRlbnRpcXVlIMOgIC1hIGV0IHRyYW5zZm9ybWVyIGxlcyBvYmpldHMgaW5hY2Nlc3NpYmxlcyBlbiBzdXNwZW5zIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE0OAorbXNnaWQgInJlbW92ZSByZWR1bmRhbnQgcGFja3MsIGFuZCBydW4gZ2l0LXBydW5lLXBhY2tlZCIKK21zZ3N0ciAic3VwcHJpbWVyIGxlcyBwYXF1ZXRzIHJlZG9uZGFudHMgZXQgbGFuY2VyIGdpdC1wcnVuZS1wYWNrZWQiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTUwCittc2dpZCAicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgInBhc3NlciAtLW5vLXJldXNlLWRlbHRhIMOgIGdpdC1wYWNrLW9iamVjdHMiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTUyCittc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICJwYXNzZXIgLS1uby1yZXVzZS1vYmplY3Qgw6AgZ2l0LXBhY2stb2JqZWN0cyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTQKK21zZ2lkICJkbyBub3QgcnVuIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCittc2dzdHIgIm5lIHBhcyBsYW5jZXIgZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTcKK21zZ2lkICJwYXNzIC0tbG9jYWwgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAicGFzc2VyIC0tbG9jYWwgw6AgZ2l0LXBhY2stb2JqZWN0cyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTgKK21zZ2lkICJhcHByb3hpZGF0ZSIKK21zZ3N0ciAiZGF0ZSBhcHByb3hpbWF0aXZlIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1OQorbXNnaWQgIndpdGggLUEsIGRvIG5vdCBsb29zZW4gb2JqZWN0cyBvbGRlciB0aGFuIHRoaXMiCittc2dzdHIgImF2ZWMgLUEsIG5lIHBhcyBzdXNwZW5kcmUgbGVzIG9iamV0cyBwbHVzIHZpZXV4IHF1ZSBjZWx1aS1jaSIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjEKK21zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCittc2dzdHIgInRhaWxsZSBkZSBsYSBmZW7DqnRyZSB1dGlsaXPDqWUgcG91ciBsYSBjb21wcmVzc2lvbiBkZXMgZGVsdGFzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2MworbXNnaWQgInNhbWUgYXMgdGhlIGFib3ZlLCBidXQgbGltaXQgbWVtb3J5IHNpemUgaW5zdGVhZCBvZiBlbnRyaWVzIGNvdW50IgorbXNnc3RyICIiCisiaWRlbSBjaS1kZXNzdXMsIG1haXMgbGltaXRlciBsYSB0YWlsbGUgbcOpbW9pcmUgYXUgbGlldSBkdSBub21icmUgZCfDqWzDqW1lbnRzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2NQorbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIKK21zZ3N0ciAibGltaXRlIGxhIHByb2ZvbmRldXIgbWF4aW1hbGUgZGVzIGRlbHRhcyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjcKK21zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBwYWNrZmlsZSIKK21zZ3N0ciAidGFpbGxlIG1heGltdW0gZGUgY2hhcXVlIGZpY2hpZXIgcGFxdWV0IgorCisjOiBidWlsdGluL3JlcGFjay5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyAnJXMnIGZhaWxlZCIKK21zZ3N0ciAibGEgc3VwcHJlc3Npb24gZGUgJyVzJyBhIMOpY2hvdcOpIgorCiAjOiBidWlsdGluL3JlcGxhY2UuYzoxNwogbXNnaWQgImdpdCByZXBsYWNlIFstZl0gPG9iamVjdD4gPHJlcGxhY2VtZW50PiIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZXQ+IDxyZW1wbGFjZW1lbnQ+IgpAQCAtNzk0Myw0MSArODk0Niw0NiBAQAogbXNnc3RyICJnaXQgcmVwbGFjZSAtZCA8b2JqZXQ+Li4uIgogCiAjOiBidWlsdGluL3JlcGxhY2UuYzoxOQotbXNnaWQgImdpdCByZXBsYWNlIC1sIFs8cGF0dGVybj5dIgotbXNnc3RyICJnaXQgcmVwbGFjZSAtbCBbPG1vdGlmPl0iCittc2dpZCAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTxmb3JtYXQ+XSBbLWwgWzxwYXR0ZXJuPl1dIgorbXNnc3RyICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PGZvcm1hdD5dIFstbCBbPG1vdGlmPl1dIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3NAogbXNnaWQgImxpc3QgcmVwbGFjZSByZWZzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgcsOpZsOpcmVuY2VzIGRlIHJlbXBsYWNlbWVudCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIyCisjOiBidWlsdGluL3JlcGxhY2UuYzoxNzUKIG1zZ2lkICJkZWxldGUgcmVwbGFjZSByZWZzIgogbXNnc3RyICJzdXBwcmltZXIgbGVzIHLDqWbDqXJlbmNlcyBkZSByZW1wbGFjZW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEyMworIzogYnVpbHRpbi9yZXBsYWNlLmM6MTc2CiBtc2dpZCAicmVwbGFjZSB0aGUgcmVmIGlmIGl0IGV4aXN0cyIKIG1zZ3N0ciAicmVtcGxhY2VyIGxhIHLDqWbDqXJlbmNlIHNpIGVsbGUgZXhpc3RlIgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjExCisjOiBidWlsdGluL3JlcGxhY2UuYzoxNzcKK21zZ2lkICJ1c2UgdGhpcyBmb3JtYXQiCittc2dzdHIgInV0aWxpc2VyIGNlIGZvcm1hdCIKKworIzogYnVpbHRpbi9yZXJlcmUuYzoxMgogbXNnaWQgImdpdCByZXJlcmUgW2NsZWFyIHwgZm9yZ2V0IHBhdGguLi4gfCBzdGF0dXMgfCByZW1haW5pbmcgfCBkaWZmIHwgZ2NdIgogbXNnc3RyICJnaXQgcmVyZXJlIFtjbGVhciB8IGZvcmdldCBjaGVtaW4uLi4gfCBzdGF0dXMgfCByZW1haW5pbmcgfCBkaWZmIHwgZ2NdIgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjU2CisjOiBidWlsdGluL3JlcmVyZS5jOjU3CiBtc2dpZCAicmVnaXN0ZXIgY2xlYW4gcmVzb2x1dGlvbnMgaW4gaW5kZXgiCiBtc2dzdHIgImVucmVnaXN0cmVyIGRlcyByw6lzb2x1dGlvbnMgcHJvcHJlcyBkYW5zIGwnaW5kZXgiCiAKICM6IGJ1aWx0aW4vcmVzZXQuYzoyNQogbXNnaWQgIiIKICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCi1tc2dzdHIgImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxjb21taXQ+XSIKK21zZ3N0ciAiIgorImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxjb21taXQ+XSIKIAogIzogYnVpbHRpbi9yZXNldC5jOjI2CiBtc2dpZCAiZ2l0IHJlc2V0IFstcV0gPHRyZWUtaXNoPiBbLS1dIDxwYXRocz4uLi4iCi1tc2dzdHIgImdpdCByZXNldCBbLXFdIDxhcmJyZT4gWy0tXSA8Y2hlbWlucz4uLi4iCittc2dzdHIgImdpdCByZXNldCBbLXFdIDxhcmJyZSBvdSBhcHBhcmVudMOpPiBbLS1dIDxjaGVtaW5zPi4uLiIKIAogIzogYnVpbHRpbi9yZXNldC5jOjI3CiBtc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIgotbXNnc3RyICJnaXQgcmVzZXQgLS1wYXRjaCBbPGFyYnJlPl0gWy0tXSBbPGNoZW1pbnM+Li4uXSIKK21zZ3N0ciAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzxhcmJyZSBvdSBhcHBhcmVudMOpPl0gWy0tXSBbPGNoZW1pbnM+Li4uXSIKIAogIzogYnVpbHRpbi9yZXNldC5jOjMzCiBtc2dpZCAibWl4ZWQiCkBAIC04MDEyLDk1ICs5MDIwLDEwMSBAQAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbCdhcmJyZSBwb3VyICVzLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjk4CisjOiBidWlsdGluL3Jlc2V0LmM6OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiSEVBRCBpcyBub3cgYXQgJXMiCiBtc2dzdHIgIkhFQUQgZXN0IG1haW50ZW5hbnQgw6AgJXMiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoxNjkKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvIGEgJXMgcmVzZXQgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBmYWlyZSB1biBcInJlc2V0ICVzXCIgYXUgbWlsaWV1IGQndW5lIGZ1c2lvbi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNDgKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNjIKIG1zZ2lkICJiZSBxdWlldCwgb25seSByZXBvcnQgZXJyb3JzIgogbXNnc3RyICLDqnRyZSBzaWxlbmNpZXV4LCBhZmZpY2hlciBzZXVsZW1lbnQgbGVzIGVycmV1cnMiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTAKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNjQKIG1zZ2lkICJyZXNldCBIRUFEIGFuZCBpbmRleCIKIG1zZ3N0ciAicsOpaW5pdGlhbGlzZXIgSEVBRCBldCBsJ2luZGV4IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjUxCisjOiBidWlsdGluL3Jlc2V0LmM6MjY1CiBtc2dpZCAicmVzZXQgb25seSBIRUFEIgogbXNnc3RyICJyw6lpbml0aWFsaXNlciBzZXVsZW1lbnQgSEVBRCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI1MyBidWlsdGluL3Jlc2V0LmM6MjU1CisjOiBidWlsdGluL3Jlc2V0LmM6MjY3IGJ1aWx0aW4vcmVzZXQuYzoyNjkKIG1zZ2lkICJyZXNldCBIRUFELCBpbmRleCBhbmQgd29ya2luZyB0cmVlIgogbXNnc3RyICJyw6lpbml0aWFsaXNlciBIRUFELCBsJ2luZGV4IGV0IGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTcKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNzEKIG1zZ2lkICJyZXNldCBIRUFEIGJ1dCBrZWVwIGxvY2FsIGNoYW5nZXMiCiBtc2dzdHIgInLDqWluaXRpYWxpc2VyIEhFQUQgbWFpcyBnYXJkZXIgbGVzIGNoYW5nZW1lbnRzIGxvY2F1eCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3NQorIzogYnVpbHRpbi9yZXNldC5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmV2aXNpb24uIgogbXNnc3RyICLDiWNoZWMgZGUgcsOpc29sdXRpb24gZGUgJyVzJyBjb21tZSB1bmUgcsOpdmlzaW9uIHZhbGlkZS4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNzggYnVpbHRpbi9yZXNldC5jOjI4NgorIzogYnVpbHRpbi9yZXNldC5jOjI5MiBidWlsdGluL3Jlc2V0LmM6MzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJy4iCiBtc2dzdHIgIkltcG9zc2libGUgZCdhbmFseXNlciBsJ29iamV0ICclcycuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjgzCisjOiBidWlsdGluL3Jlc2V0LmM6Mjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCB0cmVlLiIKIG1zZ3N0ciAiw4ljaGVjIGRlIHLDqXNvbHV0aW9uIGRlICclcycgY29tbWUgdW4gYXJicmUgdmFsaWRlLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5MgorIzogYnVpbHRpbi9yZXNldC5jOjMwNgogbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIKIG1zZ3N0ciAiLS1wYXRjaCBlc3QgaW5jb21wYXRpYmxlIGF2ZWMgLS17aGFyZCxtaXhlZCxzb2Z0fSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMwMQorIzogYnVpbHRpbi9yZXNldC5jOjMxNQogbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKLW1zZ3N0ciAiLS1taXhlZCBhdmVjIGRlcyBjaGVtaW5zIGVzdCBvYnNvbMOodGUgOyB1dGlsaXNleiAnZ2l0IHJlc2V0IC0tIDxwYXRocz4nIMOgIGxhIHBsYWNlLiIKK21zZ3N0ciAiIgorIi0tbWl4ZWQgYXZlYyBkZXMgY2hlbWlucyBlc3Qgb2Jzb2zDqHRlIDsgdXRpbGlzZXogJ2dpdCByZXNldCAtLSA8cGF0aHM+JyDDoCBsYSAiCisicGxhY2UuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzAzCisjOiBidWlsdGluL3Jlc2V0LmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyAlcyByZXNldCB3aXRoIHBhdGhzLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBmYWlyZSB1biBcIiVzIHJlc2V0XCIgYXZlYyBkZXMgY2hlbWlucy4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMTMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcmVzZXQgaXMgbm90IGFsbG93ZWQgaW4gYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIkxlIFwiJXMgcmVzZXRcIiBuJ2VzdCBwYXMgcGVybWlzIGRhbnMgdW4gZMOpcMO0dCBudSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzMworIzogYnVpbHRpbi9yZXNldC5jOjM0NAorbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IgorbXNnc3RyICJNb2RpZmljYXRpb25zIG5vbiBpbmRleMOpZXMgYXByw6hzIHJlc2V0IDoiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlc2V0IGluZGV4IGZpbGUgdG8gcmV2aXNpb24gJyVzJy4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcsOpaW5pdGlhbGlzZXIgbGUgZmljaGllciBkJ2luZGV4IMOgIGxhIHLDqXZpc2lvbiAnJXMnLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzOQotbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IgotbXNnc3RyICJNb2RpZmljYXRpb25zIG5vbiBpbmRleMOpZXMgYXByw6hzIHJlc2V0IDoiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTUKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgbmV3IGluZGV4IGZpbGUuIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBub3V2ZWF1IGZpY2hpZXIgZCdpbmRleC4iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzM5CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM1OQogbXNnaWQgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbb3B0aW9uc10gLS0gWzxhcmdzPi4uLl0iCiBtc2dzdHIgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbb3B0aW9uc10gLS0gWzxhcmd1bWVudHM+Li4uXSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNDQKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzY0CiBtc2dpZCAia2VlcCB0aGUgYC0tYCBwYXNzZWQgYXMgYW4gYXJnIgogbXNnc3RyICJnYXJkZXIgbGUgYC0tYCBwYXNzw6kgZW4gYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzQ2CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM2NgogbXNnaWQgInN0b3AgcGFyc2luZyBhZnRlciB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCIKIG1zZ3N0ciAiYXJyw6p0IGRlIGwnYW5hbHlzZSBhcHLDqHMgbGUgcHJlbWllciBhcmd1bWVudCBxdWkgbidlc3QgcGFzIHVuZSBvcHRpb24iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDY0CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM2OQorbXNnaWQgIm91dHB1dCBpbiBzdHVjayBsb25nIGZvcm0iCittc2dzdHIgInNvcnRpZSBlbiBmb3JtZSBsb25ndWUgZml4w6llIgorCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQ4NgogbXNnaWQgIiIKICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgW29wdGlvbnNdIC0tIFs8YXJncz4uLi5dXG4iCiAiICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPGFyZz4uLi5dXG4iCkBAIC04MTEyLDExICs5MTI2LDEyIEBACiAiICAgb3UgOiBnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgWzxhcmd1bWVudD4uLi5dXG4iCiAiICAgb3UgOiBnaXQgcmV2LXBhcnNlIFtvcHRpb25zXSBbPGFyZ3VtZW50Pi4uLl1cbiIKICJcbiIKLSJMYW5jZXogXCJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLWhcIiBwb3VyIHBsdXMgZCdpbmZvcm1hdGlvbiBzdXIgbCd1dGlsaXNhdGlvbiBwcmluY2lwYWxlLiIKKyJMYW5jZXogXCJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLWhcIiBwb3VyIHBsdXMgZCdpbmZvcm1hdGlvbiBzdXIgIgorImwndXRpbGlzYXRpb24gcHJpbmNpcGFsZS4iCiAKICM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjIKIG1zZ2lkICJnaXQgcmV2ZXJ0IFtvcHRpb25zXSA8Y29tbWl0LWlzaD4uLi4iCi1tc2dzdHIgImdpdCByZXZlcnQgW29wdGlvbnNdIDxjb21taXQ+Li4uIgorbXNnc3RyICJnaXQgcmV2ZXJ0IFtvcHRpb25zXSA8Y29tbWl0IG91IGFwcGFyZW50w6k+Li4uIgogCiAjOiBidWlsdGluL3JldmVydC5jOjIzCiBtc2dpZCAiZ2l0IHJldmVydCA8c3ViY29tbWFuZD4iCkBAIC04MTI0LDE1MSArOTEzOSwxODAgQEAKIAogIzogYnVpbHRpbi9yZXZlcnQuYzoyOAogbXNnaWQgImdpdCBjaGVycnktcGljayBbb3B0aW9uc10gPGNvbW1pdC1pc2g+Li4uIgotbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgW29wdGlvbnNdIDxjb21taXQ+Li4uIgorbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgW29wdGlvbnNdIDxjb21taXQgb3UgYXBwYXJlbnTDqT4uLi4iCiAKICM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjkKIG1zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgPHN1YmNvbW1hbmQ+IgogbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgPHNvdXMtY29tbWFuZGU+IgogCi0jOiBidWlsdGluL3JldmVydC5jOjcwIGJ1aWx0aW4vcmV2ZXJ0LmM6OTIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiVzIDogJXMgbmUgcGV1dCBwYXMgw6p0cmUgdXRpbGlzw6kgYXZlYyAlcyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODAKIG1zZ2lkICJlbmQgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJtZXR0cmUgZmluIGF1IHJldG91ciBvdSBwaWNvcmFnZSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODEKIG1zZ2lkICJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJyZXByZW5kcmUgbGUgcmV0b3VyIG91IHBpY29yYWdlIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNQorIzogYnVpbHRpbi9yZXZlcnQuYzo4MgogbXNnaWQgImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgImFubnVsZXIgbGUgcmV0b3VyIG91IHBpY29yYWdlIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNgorIzogYnVpbHRpbi9yZXZlcnQuYzo4MwogbXNnaWQgImRvbid0IGF1dG9tYXRpY2FsbHkgY29tbWl0IgogbXNnc3RyICJuZSBwYXMgdmFsaWRlciBhdXRvbWF0aXF1ZW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3CisjOiBidWlsdGluL3JldmVydC5jOjg0CiBtc2dpZCAiZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIsOpZGl0ZXIgbGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL3JldmVydC5jOjExMAorIzogYnVpbHRpbi9yZXZlcnQuYzo4NwogbXNnaWQgInBhcmVudCBudW1iZXIiCiBtc2dzdHIgIm51bcOpcm8gZGUgcGFyZW50IgogCi0jOiBidWlsdGluL3JldmVydC5jOjExMgorIzogYnVpbHRpbi9yZXZlcnQuYzo4OQogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJzdHJhdMOpZ2llIGRlIGZ1c2lvbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTAKIG1zZ2lkICJvcHRpb24iCiBtc2dzdHIgIm9wdGlvbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTQKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTEKIG1zZ2lkICJvcHRpb24gZm9yIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJvcHRpb24gcG91ciBsYSBzdHJhdMOpZ2llIGRlIGZ1c2lvbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCiBtc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgogbXNnc3RyICJham91dGVyIGxlIG5vbSBkZSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyNgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQiCiBtc2dzdHIgImF1dG9yaXNlciBsJ2F2YW5jZSByYXBpZGUiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI3CisjOiBidWlsdGluL3JldmVydC5jOjEwNAogbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgogbXNnc3RyICJwcsOpc2VydmVyIGxlcyB2YWxpZGF0aW9ucyB2aWRlcyBpbml0aWFsZW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI4CisjOiBidWlsdGluL3JldmVydC5jOjEwNQogbXNnaWQgImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKIG1zZ3N0ciAiYXV0b3Jpc2VyIGxlcyB2YWxpZGF0aW9ucyBhdmVjIGRlcyBtZXNzYWdlcyB2aWRlcyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjkKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CiBtc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgImdhcmRlciBsZXMgdmFsaWRhdGlvbnMgcmVkb25kYW50ZXMsIHZpZGVzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEzMworIzogYnVpbHRpbi9yZXZlcnQuYzoxMTAKIG1zZ2lkICJwcm9ncmFtIGVycm9yIgogbXNnc3RyICJlcnJldXIgZHUgcHJvZ3JhbW1lIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIyMworIzogYnVpbHRpbi9yZXZlcnQuYzoxOTUKIG1zZ2lkICJyZXZlcnQgZmFpbGVkIgogbXNnc3RyICJyZXZlcnQgYSDDqWNob3XDqSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMzgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjEwCiBtc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgogbXNnc3RyICJsZSBwaWNvcmFnZSBhIMOpY2hvdcOpIgogCi0jOiBidWlsdGluL3JtLmM6MTUKKyM6IGJ1aWx0aW4vcm0uYzoxNwogbXNnaWQgImdpdCBybSBbb3B0aW9uc10gWy0tXSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBybSBbb3B0aW9uc10gWy0tXSA8ZmljaGllcj4uLi4iCiAKLSM6IGJ1aWx0aW4vcm0uYzo2NCBidWlsdGluL3JtLmM6MTg2Ci0jLCBjLWZvcm1hdAorIzogYnVpbHRpbi9ybS5jOjY1CiBtc2dpZCAiIgotInN1Ym1vZHVsZSAnJXMnIChvciBvbmUgb2YgaXRzIG5lc3RlZCBzdWJtb2R1bGVzKSB1c2VzIGEgLmdpdCBkaXJlY3RvcnlcbiIKKyJ0aGUgZm9sbG93aW5nIHN1Ym1vZHVsZSAob3Igb25lIG9mIGl0cyBuZXN0ZWQgc3VibW9kdWxlcylcbiIKKyJ1c2VzIGEgLmdpdCBkaXJlY3Rvcnk6IgorbXNnaWRfcGx1cmFsICIiCisidGhlIGZvbGxvd2luZyBzdWJtb2R1bGVzIChvciBvbmUgb2YgaXRzIG5lc3RlZCBzdWJtb2R1bGVzKVxuIgorInVzZSBhIC5naXQgZGlyZWN0b3J5OiIKK21zZ3N0clswXSAiIgorImxlIHNvdXMtbW9kdWxlIHN1aXZhbnQgKG91IHVuIGRlIHNlcyBzb3VzLW1vZHVsZXMgaW1icmlxdcOpcylcbiIKKyJ1dGlsaXNlIHVuIHLDqXBlcnRvaXJlIC5naXQgOiIKK21zZ3N0clsxXSAiIgorImxlcyBzb3VzLW1vZHVsZXMgc3VpdmFudHMgKG91IHVuIGRlIHNlcyBzb3VzLW1vZHVsZXMgaW1icmlxdcOpcylcbiIKKyJ1dGlsaXNlbnQgdW4gcsOpcGVydG9pcmUgLmdpdCA6IgorCisjOiBidWlsdGluL3JtLmM6NzEKK21zZ2lkICIiCisiXG4iCiAiKHVzZSAncm0gLXJmJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gcmVtb3ZlIGl0IGluY2x1ZGluZyBhbGwgb2YgaXRzIGhpc3RvcnkpIgogbXNnc3RyICIiCi0ibGUgc291cy1tb2R1bGUgJyVzJyAob3UgdW4gZGVzIHNvdXMtbW9kdWxlcyBpbWJyaXF1w6lzKSB1dGlsaXNlIHVuIHLDqXBlcnRvaXJlIC5naXRcbiIKLSIodXRpbGlzZXogJ3JtIC1yZicgc2kgdm91cyBzb3VoYWl0ZXogdnJhaW1lbnQgbGUgc3VwcHJpbWVyIGF2ZWMgdG91dCBzb24gaGlzdG9yaXF1ZSkiCisiXG4iCisiKHV0aWxpc2V6ICdybSAtcmYnIHNpIHZvdXMgdm91bGV6IHZyYWltZW50IGxlIHN1cHByaW1lciBlbiBpbmNsdWFudCB0b3V0IHNvbiAiCisiaGlzdG9yaXF1ZSkiCiAKLSM6IGJ1aWx0aW4vcm0uYzoxNzQKLSMsIGMtZm9ybWF0CisjOiBidWlsdGluL3JtLmM6MjMxCiBtc2dpZCAiIgotIiclcycgaGFzIHN0YWdlZCBjb250ZW50IGRpZmZlcmVudCBmcm9tIGJvdGggdGhlIGZpbGUgYW5kIHRoZSBIRUFEXG4iCisidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBzdGFnZWQgY29udGVudCBkaWZmZXJlbnQgZnJvbSBib3RoIHRoZVxuIgorImZpbGUgYW5kIHRoZSBIRUFEOiIKK21zZ2lkX3BsdXJhbCAiIgorInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBzdGFnZWQgY29udGVudCBkaWZmZXJlbnQgZnJvbSBib3RoIHRoZVxuIgorImZpbGUgYW5kIHRoZSBIRUFEOiIKK21zZ3N0clswXSAiIgorImxlIGZpY2hpZXIgc3VpdmFudCBhIGR1IGNvbnRlbnUgaW5kZXjDqSBkaWZmw6lyZW50XG4iCisiZHUgZmljaGllciBldCBkZSBIRUFEIDoiCittc2dzdHJbMV0gIiIKKyJsZXMgZmljaGllcnMgc3VpdmFudHMgb250IGR1IGNvbnRlbnUgaW5kZXjDqSBkaWZmw6lyZW50XG4iCisiZHUgZmljaGllciBldCBkZSBIRUFEIDoiCisKKyM6IGJ1aWx0aW4vcm0uYzoyMzYKK21zZ2lkICIiCisiXG4iCiAiKHVzZSAtZiB0byBmb3JjZSByZW1vdmFsKSIKIG1zZ3N0ciAiIgotIiclcycgYSBkdSBjb250ZW51IGluZGV4w6kgZGlmZsOpcmVudCBkdSBmaWNoaWVyIGV0IGRlIEhFQURcbiIKKyJcbiIKICIodXRpbGlzZXogLWYgcG91ciBmb3JjZXIgbGEgc3VwcHJlc3Npb24pIgogCi0jOiBidWlsdGluL3JtLmM6MTgwCi0jLCBjLWZvcm1hdAorIzogYnVpbHRpbi9ybS5jOjI0MAorbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKK21zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCittc2dzdHJbMF0gImxlIGZpY2hpZXIgc3VpdmFudCBhIGRlcyBjaGFuZ2VtZW50cyBpbmRleMOpcyA6IgorbXNnc3RyWzFdICJsZXMgZmljaGllcnMgc3VpdmFudHMgb250IGRlcyBjaGFuZ2VtZW50cyBpbmRleMOpcyA6IgorCisjOiBidWlsdGluL3JtLmM6MjQ0IGJ1aWx0aW4vcm0uYzoyNTUKIG1zZ2lkICIiCi0iJyVzJyBoYXMgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4XG4iCisiXG4iCiAiKHVzZSAtLWNhY2hlZCB0byBrZWVwIHRoZSBmaWxlLCBvciAtZiB0byBmb3JjZSByZW1vdmFsKSIKIG1zZ3N0ciAiIgotIiclcycgYSBkZXMgY2hhbmdlbWVudHMgZGFucyBsJ2luZGV4XG4iCisiXG4iCiAiKHV0aWxpc2V6IC0tY2FjaGVkIHBvdXIgZ2FyZGVyIGxlIGZpY2hpZXIsIG91IC1mIHBvdXIgZm9yY2VyIGxhIHN1cHByZXNzaW9uKSIKIAotIzogYnVpbHRpbi9ybS5jOjE5MQotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iJyVzJyBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uc1xuIgotIih1c2UgLS1jYWNoZWQgdG8ga2VlcCB0aGUgZmlsZSwgb3IgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCi1tc2dzdHIgIiIKLSInJXMnIGEgZGVzIG1vZGlmaWNhdGlvbnMgbG9jYWxlc1xuIgotIih1dGlsaXNleiAtLWNhY2hlZCBwb3VyIGdhcmRlciBsZSBmaWNoaWVyLCBvdSAtZiBwb3VyIGZvcmNlciBsYSBzdXBwcmVzc2lvbikiCisjOiBidWlsdGluL3JtLmM6MjUyCittc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBsb2NhbCBtb2RpZmljYXRpb25zOiIKK21zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgorbXNnc3RyWzBdICJsZSBmaWNoaWVyIHN1aXZhbnQgYSBkZXMgbW9kaWZpY2F0aW9ucyBsb2NhbGVzIDoiCittc2dzdHJbMV0gImxlcyBmaWNoaWVycyBzdWl2YW50cyBvbnQgZGVzIG1vZGlmaWNhdGlvbnMgbG9jYWxlcyA6IgogCi0jOiBidWlsdGluL3JtLmM6MjA3CisjOiBidWlsdGluL3JtLmM6MjcwCiBtc2dpZCAiZG8gbm90IGxpc3QgcmVtb3ZlZCBmaWxlcyIKIG1zZ3N0ciAibmUgcGFzIGFmZmljaGVyIGxlcyBmaWNoaWVycyBzdXBwcmltw6lzIgogCi0jOiBidWlsdGluL3JtLmM6MjA4CisjOiBidWlsdGluL3JtLmM6MjcxCiBtc2dpZCAib25seSByZW1vdmUgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgInN1cHByaW1lciBzZXVsZW1lbnQgZGUgbCdpbmRleCIKIAotIzogYnVpbHRpbi9ybS5jOjIwOQorIzogYnVpbHRpbi9ybS5jOjI3MgogbXNnaWQgIm92ZXJyaWRlIHRoZSB1cC10by1kYXRlIGNoZWNrIgogbXNnc3RyICJvdXRyZXBhc3NlciBsYSB2w6lyaWZpY2F0aW9uIGRlcyBmaWNoaWVycyDDoCBqb3VyIgogCi0jOiBidWlsdGluL3JtLmM6MjEwCisjOiBidWlsdGluL3JtLmM6MjczCiBtc2dpZCAiYWxsb3cgcmVjdXJzaXZlIHJlbW92YWwiCiBtc2dzdHIgImF1dG9yaXNlciBsYSBzdXBwcmVzc2lvbiByw6ljdXJzaXZlIgogCi0jOiBidWlsdGluL3JtLmM6MjEyCisjOiBidWlsdGluL3JtLmM6Mjc1CiBtc2dpZCAiZXhpdCB3aXRoIGEgemVybyBzdGF0dXMgZXZlbiBpZiBub3RoaW5nIG1hdGNoZWQiCiBtc2dzdHIgInNvcnRpciBhdmVjIHVuIHN0YXR1dCB6w6lybyBtw6ptZSBzaSByaWVuIG5lIGNvcnJlc3BvbmRhaXQiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyODMKKyM6IGJ1aWx0aW4vcm0uYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IHJlbW92aW5nICclcycgcmVjdXJzaXZlbHkgd2l0aG91dCAtciIKIG1zZ3N0ciAicGFzIGRlIHN1cHByZXNzaW9uIHLDqWN1cnNpdmUgZGUgJyVzJyBzYW5zIC1yIgogCi0jOiBidWlsdGluL3JtLmM6MzIyCisjOiBidWlsdGluL3JtLmM6Mzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBybTogdW5hYmxlIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAiZ2l0IHJtIDogaW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgJXMiCkBAIC04MjgyLDIzICs5MzI2LDI1IEBACiBtc2dpZCAiTWlzc2luZyBhdXRob3I6ICVzIgogbXNnc3RyICJBdXRldXIgbWFucXVhbnQgOiAlcyIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIyNworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMAogbXNnaWQgInNvcnQgb3V0cHV0IGFjY29yZGluZyB0byB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgcGVyIGF1dGhvciIKIG1zZ3N0ciAidHJpZXIgbGEgc29ydGllIHN1ciBsZSBub21icmUgZGUgdmFsaWRhdGlvbnMgcGFyIGF1dGV1ciIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIyOQorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMgogbXNnaWQgIlN1cHByZXNzIGNvbW1pdCBkZXNjcmlwdGlvbnMsIG9ubHkgcHJvdmlkZXMgY29tbWl0IGNvdW50IgotbXNnc3RyICJTdXBwcmltZXIgbGVzIGRlc2NyaXB0aW9ucyBkZSB2YWxpZGF0aW9uLCBmb3Vybml0IHNldWxlbWVudCBsZSBub21icmUgZGUgdmFsaWRhdGlvbnMiCittc2dzdHIgIiIKKyJTdXBwcmltZXIgbGVzIGRlc2NyaXB0aW9ucyBkZSB2YWxpZGF0aW9uLCBmb3Vybml0IHNldWxlbWVudCBsZSBub21icmUgZGUgIgorInZhbGlkYXRpb25zIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjMxCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjM0CiBtc2dpZCAiU2hvdyB0aGUgZW1haWwgYWRkcmVzcyBvZiBlYWNoIGF1dGhvciIKIG1zZ3N0ciAiQWZmaWNoZXIgbCdhZHJlc3NlIGUtbWFpbCBkZSBjaGFxdWUgYXV0ZXVyIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjMyCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjM1CiBtc2dpZCAid1ssaTFbLGkyXV0iCiBtc2dzdHIgIndbLGkxWyxpMl1dIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjMzCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjM2CiBtc2dpZCAiTGluZXdyYXAgb3V0cHV0IgogbXNnc3RyICJDb3VwZXIgbGVzIGxpZ25lcyIKIApAQCAtODMwOCwxMTcgKzkzNTQsMTMwIEBACiAiY3VycmVudF0gWy0tY29sb3JbPTx3aGVuPl0gfCAtLW5vLWNvbG9yXSBbLS1zcGFyc2VdIFstLW1vcmU9PG4+IHwgLS1saXN0IHwgLS0iCiAiaW5kZXBlbmRlbnQgfCAtLW1lcmdlLWJhc2VdIFstLW5vLW5hbWUgfCAtLXNoYTEtbmFtZV0gWy0tdG9waWNzXSBbKDxyZXY+IHwgIgogIjxnbG9iPikuLi5dIgotbXNnc3RyICJnaXQgc2hvdy1icmFuY2ggWy1hfC0tYWxsXSBbLXJ8LS1yZW1vdGVzXSBbLS10b3BvLW9yZGVyIHwgLS1kYXRlLW9yZGVyXSBbLS1jdXJyZW50XSBbLS1jb2xvcls9PHF1YW5kPl0gfCAtLW5vLWNvbG9yXSBbLS1zcGFyc2VdIFstLW1vcmU9PG4+IHwgLS1saXN0IHwgLS1pbmRlcGVuZGVudCB8IC0tbWVyZ2UtYmFzZV0gWy0tbm8tbmFtZSB8IC0tc2hhMS1uYW1lXSBbLS10b3BpY3NdIFsoPHLDqXZpc2lvbj4gfCA8Z2xvYj4pLi4uXSIKK21zZ3N0ciAiIgorImdpdCBzaG93LWJyYW5jaCBbLWF8LS1hbGxdIFstcnwtLXJlbW90ZXNdIFstLXRvcG8tb3JkZXIgfCAtLWRhdGUtb3JkZXJdIFstLSIKKyJjdXJyZW50XSBbLS1jb2xvcls9PHF1YW5kPl0gfCAtLW5vLWNvbG9yXSBbLS1zcGFyc2VdIFstLW1vcmU9PG4+IHwgLS1saXN0IHwgIgorIi0taW5kZXBlbmRlbnQgfCAtLW1lcmdlLWJhc2VdIFstLW5vLW5hbWUgfCAtLXNoYTEtbmFtZV0gWy0tdG9waWNzXSAiCisiWyg8csOpdmlzaW9uPiB8IDxnbG9iPikuLi5dIgogCiAjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTAKIG1zZ2lkICJnaXQgc2hvdy1icmFuY2ggKC1nfC0tcmVmbG9nKVs9PG4+Wyw8YmFzZT5dXSBbLS1saXN0XSBbPHJlZj5dIgogbXNnc3RyICJnaXQgc2hvdy1icmFuY2ggKC1nfC0tcmVmbG9nKVs9PG4+Wyw8YmFzZT5dXSBbLS1saXN0XSBbPHLDqWbDqXJlbmNlPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDkKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBicmFuY2hlcyBkZSBzdWl2aSBkaXN0YW50ZXMgZXQgbGVzIGJyYW5jaGVzIGxvY2FsZXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTEKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGJyYW5jaGVzIGRlIHN1aXZpIGRpc3RhbnRlcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MwogbXNnaWQgImNvbG9yICcqISstJyBjb3JyZXNwb25kaW5nIHRvIHRoZSBicmFuY2giCiBtc2dzdHIgImNvdWxldXIgJyohKy0nIGNvcnJlc3BvbmRhbnQgw6AgbGEgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NQogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICJhZmZpY2hlciA8bj4gdmFsaWRhdGlvbnMgZGUgcGx1cyBhcHLDqHMgbCdhbmPDqnRyZSBjb21tdW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTcKIG1zZ2lkICJzeW5vbnltIHRvIG1vcmU9LTEiCiBtc2dzdHIgInN5bm9ueW1lIGRlIG1vcmU9LTEiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKIG1zZ2lkICJzdXBwcmVzcyBuYW1pbmcgc3RyaW5ncyIKLW1zZ3N0ciAiIgorbXNnc3RyICJzdXBwcmltZXIgbGVzIGNoYcOubmVzIGRlIG5vbW1hZ2UiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjAKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAiaW5jbHVyZSBsYSBicmFuY2hlIGNvdXJhbnRlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYyCiBtc2dpZCAibmFtZSBjb21taXRzIHdpdGggdGhlaXIgb2JqZWN0IG5hbWVzIgogbXNnc3RyICJub21tZXIgbGVzIHZhbGlkYXRpb25zIGF2ZWMgbGV1cnMgbm9tcyBkJ29iamV0IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY0CiBtc2dpZCAic2hvdyBwb3NzaWJsZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGJhc2VzIHBvc3NpYmxlcyBkZSBmdXNpb24iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjYKIG1zZ2lkICJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIgotbXNnc3RyICJhZmZpY2hlciBsZXMgcsOpZsOpcmVuY2VzIG5vbiBhY2Nlc3NpYmxlcyBkZXB1aXMgdG91dGUgYXV0cmUgcsOpZsOpcmVuY2UiCittc2dzdHIgImFmZmljaGVyIGxlcyByw6lmw6lyZW5jZXMgaW5hY2Nlc3NpYmxlcyBkZXB1aXMgdG91dGUgYXV0cmUgcsOpZsOpcmVuY2UiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgImFmZmljaGVyIGxlcyB2YWxpZGF0aW9ucyBkYW5zIGwnb3JkcmUgdG9wb2xvZ2lxdWUiCiAKICM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzEKIG1zZ2lkICJzaG93IG9ubHkgY29tbWl0cyBub3Qgb24gdGhlIGZpcnN0IGJyYW5jaCIKLW1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyB2YWxpZGF0aW9ucyBxdWkgbmUgc29udCBwYXMgc3VyIGxhIHByZW1pw6hyZSBicmFuY2hlIgorbXNnc3RyICIiCisiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyB2YWxpZGF0aW9ucyBxdWkgbmUgc29udCBwYXMgc3VyIGxhIHByZW1pw6hyZSBicmFuY2hlIgogCiAjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjczCiBtc2dpZCAic2hvdyBtZXJnZXMgcmVhY2hhYmxlIGZyb20gb25seSBvbmUgdGlwIgogbXNnc3RyICJhZmZpY2hlciBsZXMgZnVzaW9ucyBhY2Nlc3NpYmxlcyBkZXB1aXMgdW5lIHNldWxlIHBvaW50ZSIKIAogIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NQotbXNnaWQgInNob3cgY29tbWl0cyB3aGVyZSBubyBwYXJlbnQgY29tZXMgYmVmb3JlIGl0cyBjaGlsZHJlbiIKLW1zZ3N0ciAiYWZmaWNoZXIgbGVzIHZhbGlkYXRpb25zIG/DuSBhdWN1biBwYXJlbnQgbmUgdmllbnQgYXZhbnQgc2VzIGVuZmFudHMiCittc2dpZCAidG9wb2xvZ2ljYWxseSBzb3J0LCBtYWludGFpbmluZyBkYXRlIG9yZGVyIHdoZXJlIHBvc3NpYmxlIgorbXNnc3RyICJ0cmkgdG9wb2xvZ2lxdWUsIG1haW50ZW5hbnQgbCdvcmRyZSBwYXIgZGF0ZSBzaSBwb3NzaWJsZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3OAogbXNnaWQgIjxuPlssPGJhc2U+XSIKIG1zZ3N0ciAiPG4+Wyw8YmFzZT5dIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc5CiBtc2dpZCAic2hvdyA8bj4gbW9zdCByZWNlbnQgcmVmLWxvZyBlbnRyaWVzIHN0YXJ0aW5nIGF0IGJhc2UiCi1tc2dzdHIgImFmZmljaGVyIGxlcyA8bj4gcGx1cyByw6ljZW50ZXMgZW50csOpZXMgZGUgcmVmLWxvZyBlbiBjb21tZW7Dp2FudCDDoCBsYSBiYXNlIgorbXNnc3RyICIiCisiYWZmaWNoZXIgbGVzIDxuPiBwbHVzIHLDqWNlbnRzIMOpbMOpbWVudHMgZGUgcmVmLWxvZyBlbiBjb21tZW7Dp2FudCDDoCBsYSBiYXNlIgogCiAjOiBidWlsdGluL3Nob3ctcmVmLmM6MTAKIG1zZ2lkICIiCiAiZ2l0IHNob3ctcmVmIFstcXwtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZHwtLWRlcmVmZXJlbmNlXSBbLXN8LS0iCiAiaGFzaFs9PG4+XV0gWy0tYWJicmV2Wz08bj5dXSBbLS10YWdzXSBbLS1oZWFkc10gWy0tXSBbcGF0dGVybipdICIKLW1zZ3N0ciAiZ2l0IHNob3ctcmVmIFstcXwtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZHwtLWRlcmVmZXJlbmNlXSBbLXN8LS1oYXNoWz08bj5dXSBbLS1hYmJyZXZbPTxuPl1dIFstLXRhZ3NdIFstLWhlYWRzXSBbLS1dIFttb3RpZipdICIKK21zZ3N0ciAiIgorImdpdCBzaG93LXJlZiBbLXF8LS1xdWlldF0gWy0tdmVyaWZ5XSBbLS1oZWFkXSBbLWR8LS1kZXJlZmVyZW5jZV0gWy1zfC0tIgorImhhc2hbPTxuPl1dIFstLWFiYnJldls9PG4+XV0gWy0tdGFnc10gWy0taGVhZHNdIFstLV0gW21vdGlmKl0gIgogCiAjOiBidWlsdGluL3Nob3ctcmVmLmM6MTEKIG1zZ2lkICJnaXQgc2hvdy1yZWYgLS1leGNsdWRlLWV4aXN0aW5nWz1wYXR0ZXJuXSA8IHJlZi1saXN0IgogbXNnc3RyICJnaXQgc2hvdy1yZWYgLS1leGNsdWRlLWV4aXN0aW5nWz1tb3RpZl0gPCBsaXN0ZS1yw6lmw6lyZW5jZXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjUKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjgKIG1zZ2lkICJvbmx5IHNob3cgdGFncyAoY2FuIGJlIGNvbWJpbmVkIHdpdGggaGVhZHMpIgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIMOpdGlxdWV0dGVzIChwZXV0IMOqdHJlIGNvbWJpbsOpIGF2ZWMgZGVzIHTDqnRlcykiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjYKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjkKIG1zZ2lkICJvbmx5IHNob3cgaGVhZHMgKGNhbiBiZSBjb21iaW5lZCB3aXRoIHRhZ3MpIgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIHTDqnRlcyAocGV1dCDDqnRyZSBjb21iaW7DqSBhdmVjIGRlcyDDqXRpcXVldHRlcykiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjcKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzAKIG1zZ2lkICJzdHJpY3RlciByZWZlcmVuY2UgY2hlY2tpbmcsIHJlcXVpcmVzIGV4YWN0IHJlZiBwYXRoIgotbXNnc3RyICJ2w6lyaWZpY2F0aW9uIGRlIHLDqWbDqXJlbmNlIHBsdXMgc3RyaWN0ZSwgcmVxdWllcnQgdW4gY2hlbWluIGRlIHLDqWbDqXJlbmNlIGV4YWN0IgorbXNnc3RyICIiCisidsOpcmlmaWNhdGlvbiBkZSByw6lmw6lyZW5jZSBwbHVzIHN0cmljdGUsIG7DqWNlc3NpdGUgdW4gY2hlbWluIGRlIHLDqWbDqXJlbmNlICIKKyJleGFjdCIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MCBidWlsdGluL3Nob3ctcmVmLmM6MTcyCi1tc2dpZCAic2hvdyB0aGUgSEVBRCByZWZlcmVuY2UiCi1tc2dzdHIgImFmZmljaGVyIGxhIHLDqWbDqXJlbmNlIEhFQUQiCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTczIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzUKK21zZ2lkICJzaG93IHRoZSBIRUFEIHJlZmVyZW5jZSwgZXZlbiBpZiBpdCB3b3VsZCBiZSBmaWx0ZXJlZCBvdXQiCittc2dzdHIgImFmZmljaGVyIGxhIHLDqWbDqXJlbmNlIEhFQUQsIG3Dqm1lIHNpIGVsbGUgc2VyYWl0IGZpbHRyw6llIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc0CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc3CiBtc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbnRvIG9iamVjdCBJRHMiCiBtc2dzdHIgImTDqXLDqWbDqXJlbmNlciBsZXMgw6l0aXF1ZXR0ZXMgZW4gSURzIGQnb2JqZXQiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzYKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKIG1zZ2lkICJvbmx5IHNob3cgU0hBMSBoYXNoIHVzaW5nIDxuPiBkaWdpdHMiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZSBoYWNoYWdlIFNIQTEgZW4gdXRpbGlzYW50IDxuPiBjaGlmZnJlcyIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4MAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4MwogbXNnaWQgImRvIG5vdCBwcmludCByZXN1bHRzIHRvIHN0ZG91dCAodXNlZnVsIHdpdGggLS12ZXJpZnkpIgotbXNnc3RyICJuZSBwYXMgYWZmaWNoZXIgbGVzIHLDqXN1bHRhdHMgc3VyIGxhIHNvcnRpZSBzdGFuZGFyZCAocHJhdGlxdWUgYXZlYyAtLXZlcmlmeSkiCittc2dzdHIgIiIKKyJuZSBwYXMgYWZmaWNoZXIgbGVzIHLDqXN1bHRhdHMgc3VyIGxhIHNvcnRpZSBzdGFuZGFyZCAocHJhdGlxdWUgYXZlYyAtLXZlcmlmeSkiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODIKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODUKIG1zZ2lkICJzaG93IHJlZnMgZnJvbSBzdGRpbiB0aGF0IGFyZW4ndCBpbiBsb2NhbCByZXBvc2l0b3J5IgotbXNnc3RyICJhZmZpY2hlciBsZXMgcsOpZsOpcmVuY2VzIGRlIGwnZW50csOpZSBzdGFuZGFyZCBxdWkgbmUgc29udCBwYXMgZGFucyBsZSBkw6lww7R0IGxvY2FsIgorbXNnc3RyICIiCisiYWZmaWNoZXIgbGVzIHLDqWbDqXJlbmNlcyBkZSBsJ2VudHLDqWUgc3RhbmRhcmQgcXVpIG5lIHNvbnQgcGFzIGRhbnMgbGUgZMOpcMO0dCAiCisibG9jYWwiCiAKICM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NwogbXNnaWQgImdpdCBzeW1ib2xpYy1yZWYgW29wdGlvbnNdIG5hbWUgW3JlZl0iCkBAIC04NDMwLDcgKzk0ODksOCBAQAogCiAjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQwCiBtc2dpZCAic3VwcHJlc3MgZXJyb3IgbWVzc2FnZSBmb3Igbm9uLXN5bWJvbGljIChkZXRhY2hlZCkgcmVmcyIKLW1zZ3N0ciAic3VwcHJpbWVyIGxlIG1lc3NhZ2UgZCdlcnJldXIgcG91ciB1bmUgcsOpZsOpcmVuY2Ugbm9uIHN5bWJvbGlxdWUgKGTDqXRhY2jDqWUpIgorbXNnc3RyICIiCisic3VwcHJpbWVyIGxlIG1lc3NhZ2UgZCdlcnJldXIgcG91ciB1bmUgcsOpZsOpcmVuY2Ugbm9uIHN5bWJvbGlxdWUgKGTDqXRhY2jDqWUpIgogCiAjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQxCiBtc2dpZCAiZGVsZXRlIHN5bWJvbGljIHJlZiIKQEAgLTg0NDAsMTggKzk1MDAsMjAgQEAKIG1zZ2lkICJzaG9ydGVuIHJlZiBvdXRwdXQiCiBtc2dzdHIgInJhY2NvdXJjaXIgbCdhZmZpY2hhZ2UgZGUgbGEgcsOpZsOpcmVuY2UiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MTgKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU0CiBtc2dpZCAicmVhc29uIgogbXNnc3RyICJyYWlzb24iCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MTgKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU0CiBtc2dpZCAicmVhc29uIG9mIHRoZSB1cGRhdGUiCiBtc2dzdHIgInJhaXNvbiBkZSBsYSBtaXNlIMOgIGpvdXIiCiAKICM6IGJ1aWx0aW4vdGFnLmM6MjIKIG1zZ2lkICIiCiAiZ2l0IHRhZyBbLWF8LXN8LXUgPGtleS1pZD5dIFstZl0gWy1tIDxtc2c+fC1GIDxmaWxlPl0gPHRhZ25hbWU+IFs8aGVhZD5dIgotbXNnc3RyICJnaXQgdGFnIFstYXwtc3wtdSA8aWQtY2zDqT5dIFstZl0gWy1tIDxtc2c+fC1GIDxmaWxlPl0gPG5vbcOpdGlxdWV0dGU+IFs8aGVhZD5dIgorbXNnc3RyICIiCisiZ2l0IHRhZyBbLWF8LXN8LXUgPGlkLWNsw6k+XSBbLWZdIFstbSA8bWVzc2FnZT58LUYgPGZpbGU+XSA8bm9tw6l0aXF1ZXR0ZT4gIgorIls8aGVhZD5dIgogCiAjOiBidWlsdGluL3RhZy5jOjIzCiBtc2dpZCAiZ2l0IHRhZyAtZCA8dGFnbmFtZT4uLi4iCkBAIC04NTE1LDcgKzk1NzcsOCBAQAogbXNnc3RyICIiCiAiXG4iCiAiw4ljcmlyZSB1biBtZXNzYWdlIHBvdXIgbCfDqXRpcXVldHRlXG4iCi0iTGVzIGxpZ25lcyBjb21tZW7Dp2FudCBwYXIgJyVjJyBzZXJvbnQgZ2FyZMOpZXMgOyB2b3VzIHBvdXZleiBsZXMgcmV0aXJlciB2b3VzLW3Dqm1lIHNpIHZvdXMgbGUgc291aGFpdGV6LlxuIgorIkxlcyBsaWduZXMgY29tbWVuw6dhbnQgcGFyICclYycgc2Vyb250IGdhcmTDqWVzIDsgdm91cyBwb3V2ZXogbGVzIHJldGlyZXIgdm91cy0iCisibcOqbWUgc2kgdm91cyBsZSBzb3VoYWl0ZXouXG4iCiAKICM6IGJ1aWx0aW4vdGFnLmM6MjkyCiBtc2dpZCAidW5hYmxlIHRvIHNpZ24gdGhlIHRhZyIKQEAgLTg1NDQsNyArOTYwNyw3IEBACiAKICM6IGJ1aWx0aW4vdGFnLmM6NDIzCiBtc2dpZCAic3dpdGNoICdwb2ludHMtYXQnIHJlcXVpcmVzIGFuIG9iamVjdCIKLW1zZ3N0ciAibGUgY29tbXV0YXRldXIgJ3BvaW50cy1hdCcgcmVxdWllcnQgdW4gb2JqZXQiCittc2dzdHIgImxlIGNvbW11dGF0ZXVyICdwb2ludHMtYXQnIGEgYmVzb2luIGQndW4gb2JqZXQiCiAKICM6IGJ1aWx0aW4vdGFnLmM6NDI1CiAjLCBjLWZvcm1hdApAQCAtODYwNywxODIgKzk2NzAsMjAwIEBACiBtc2dpZCAicHJpbnQgb25seSB0YWdzIG9mIHRoZSBvYmplY3QiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgw6l0aXF1ZXR0ZXMgZGUgbCdvYmpldCIKIAotIzogYnVpbHRpbi90YWcuYzo1MDQKKyM6IGJ1aWx0aW4vdGFnLmM6NTAxCiBtc2dpZCAiLS1jb2x1bW4gYW5kIC1uIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tY29sdW1uIGV0IC1uIHNvbnQgaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi90YWcuYzo1MjEKKyM6IGJ1aWx0aW4vdGFnLmM6NTE4CiBtc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKIG1zZ3N0ciAibCdvcHRpb24gLW4gZXN0IGF1dG9yaXPDqWUgc2V1bGVtZW50IGF2ZWMgLWwuIgogCi0jOiBidWlsdGluL3RhZy5jOjUyMworIzogYnVpbHRpbi90YWcuYzo1MjAKIG1zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCiBtc2dzdHIgImwnb3B0aW9uIC0tY29udGFpbnMgZXN0IGF1dG9yaXPDqWUgc2V1bGVtZW50IGF2ZWMgLWwuIgogCi0jOiBidWlsdGluL3RhZy5jOjUyNQorIzogYnVpbHRpbi90YWcuYzo1MjIKIG1zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgogbXNnc3RyICJsJ29wdGlvbiAtLXBvaW50cy1hdCBlc3QgYXV0b3Jpc8OpZSBzZXVsZW1lbnQgYXZlYyAtbC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTMzCisjOiBidWlsdGluL3RhZy5jOjUzMAogbXNnaWQgIm9ubHkgb25lIC1GIG9yIC1tIG9wdGlvbiBpcyBhbGxvd2VkLiIKIG1zZ3N0ciAidW5lIHNldWxlIG9wdGlvbiAtRiBvdSAtbSBlc3QgYXV0b3Jpc8OpZS4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTUzCisjOiBidWlsdGluL3RhZy5jOjU1MAogbXNnaWQgInRvbyBtYW55IHBhcmFtcyIKIG1zZ3N0ciAidHJvcCBkZSBwYXJhbcOodHJlcyIKIAotIzogYnVpbHRpbi90YWcuYzo1NTkKKyM6IGJ1aWx0aW4vdGFnLmM6NTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGFnIG5hbWUuIgogbXNnc3RyICInJXMnIG4nZXN0IHBhcyB1biBub20gZCfDqXRpcXVldHRlIHZhbGlkZS4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTY0CisjOiBidWlsdGluL3RhZy5jOjU2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAibCfDqXRpcXVldHRlICclcycgZXhpc3RlIGTDqWrDoCIKIAotIzogYnVpbHRpbi90YWcuYzo1ODIKKyM6IGJ1aWx0aW4vdGFnLmM6NTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbG9jayB0aGUgcmVmIgogbXNnc3RyICIlcyA6IGltcG9zc2libGUgZGUgdmVycm91aWxsZXIgbGEgcsOpZsOpcmVuY2UiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTg0CisjOiBidWlsdGluL3RhZy5jOjU4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHVwZGF0ZSB0aGUgcmVmIgogbXNnc3RyICIlcyA6IGltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGEgcsOpZsOpcmVuY2UiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTg2CisjOiBidWlsdGluL3RhZy5jOjU4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIsOJdGlxdWV0dGUgJyVzJyBtaXNlIMOgIGpvdXIgKGVsbGUgw6l0YWl0ICVzKVxuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjQwMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo0MDIKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFtvcHRpb25zXSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgdXBkYXRlLWluZGV4IFtvcHRpb25zXSBbLS1dIFs8ZmljaGllcj4uLi5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcxOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjAKIG1zZ2lkICJjb250aW51ZSByZWZyZXNoIGV2ZW4gd2hlbiBpbmRleCBuZWVkcyB1cGRhdGUiCiBtc2dzdHIgImNvbnRpbnVlciBkZSByYWZyYcOuY2hpciBtw6ptZSBzaSBsJ2luZGV4IGEgYmVzb2luIGQndW5lIG1pc2Ugw6Agam91ciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzIzCiBtc2dpZCAicmVmcmVzaDogaWdub3JlIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInJhZnJhw65jaGlyIDogaWdub3JlciBsZXMgc291cy1tb2R1bGVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjYKIG1zZ2lkICJkbyBub3QgaWdub3JlIG5ldyBmaWxlcyIKIG1zZ3N0ciAibmUgcGFzIGlnbm9yZXIgbGVzIG5vdXZlYXV4IGZpY2hpZXJzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjgKIG1zZ2lkICJsZXQgZmlsZXMgcmVwbGFjZSBkaXJlY3RvcmllcyBhbmQgdmljZS12ZXJzYSIKIG1zZ3N0ciAibGFpc3NlciBsZXMgZmljaGllcnMgcmVtcGxhY2VyIGRlcyByw6lwZXJ0b2lyZXMgZXQgdmljZS12ZXJzYSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMwCiBtc2dpZCAibm90aWNlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAiYXZpc2VyIGRlcyBmaWNoaWVycyBtYW5xdWFudHMgZGFucyBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzIKIG1zZ2lkICJyZWZyZXNoIGV2ZW4gaWYgaW5kZXggY29udGFpbnMgdW5tZXJnZWQgZW50cmllcyIKLW1zZ3N0ciAicmFmcmHDrmNoaXIgbcOqbWUgc2kgbCdpbmRleCBjb250aWVudCBkZXMgZW50csOpZXMgbm9uIGZ1c2lvbm7DqWVzIgorbXNnc3RyICJyYWZyYcOuY2hpciBtw6ptZSBzaSBsJ2luZGV4IGNvbnRpZW50IGRlcyDDqWzDqW1lbnRzIG5vbiBmdXNpb25uw6lzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzUKIG1zZ2lkICJyZWZyZXNoIHN0YXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgInJhZnJhw65jaGlyIGwnaW5mb3JtYXRpb24gZGUgc3RhdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzM5CiBtc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgogbXNnc3RyICJjb21tZSAtLXJlZnJlc2gsIG1haXMgZW4gaWdub3JhbnQgbCdvcHRpb24gYXNzdW1lLXVuY2hhbmdlZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQzCiBtc2dpZCAiPG1vZGU+IDxvYmplY3Q+IDxwYXRoPiIKIG1zZ3N0ciAiPG1vZGU+IDxvYmpldD4gPGNoZW1pbj4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0NAogbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKLW1zZ3N0ciAiYWpvdXRlciBsJ2VudHLDqWUgc3DDqWNpZmnDqWUgZGFucyBsJ2luZGV4IgorbXNnc3RyICJham91dGVyIGwnw6lsw6ltZW50IHNww6ljaWZpw6kgZGFucyBsJ2luZGV4IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDgKIG1zZ2lkICIoKy8tKXgiCiBtc2dzdHIgIigrLy0peCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ5CiBtc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCiBtc2dzdHIgIm91dHJlcGFzc2VyIGxlIGJpdCBleMOpY3V0YWJsZSBwb3VyIGxlcyBmaWNoaWVycyBsaXN0w6lzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTMKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCiBtc2dzdHIgIm1hcnF1ZXIgbGVzIGZpY2hpZXJzIGNvbW1lIFwibm9uIGNoYW5nZWFudHNcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU2CiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgotbXNnc3RyICIiCittc2dzdHIgIm1ldHRyZSDDoCB6w6lybyBsZSBiaXQgc3VwcG9zw6ktbm9uLW1vZGlmacOpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTkKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwiaW5kZXgtb25seVwiIgogbXNnc3RyICJtYXJxdWVyIGxlcyBmaWNoaWVycyBjb21tZSBcImluZGV4IHNldWxlbWVudFwiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2MAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjIKIG1zZ2lkICJjbGVhciBza2lwLXdvcmt0cmVlIGJpdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2MwotbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgotbXNnc3RyICJham91dGVyIHNldWxlbWVudCDDoCBsJ2luZGV4IDsgbmUgcGFzIGFqb3V0ZXIgbGUgY29udGVudSBkYW5zIGxhIGJhc2UgZGUgZG9ubsOpZXMgZGVzIG9iamV0cyIKK21zZ3N0ciAibWV0dHJlIMOgIHrDqXJvIGxlIGJpdCBzYXV0ZXItbGEtY29waWUtZGUgdHJhdmFpbCIKIAogIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjUKLW1zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgotbXNnc3RyICJzdXBwcmltZXIgbGVzIGNoZW1pbnMgbm9tbcOpcyBtw6ptZSBzJ2lscyBzb250IHByw6lzZW50cyBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwiCittc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCittc2dzdHIgIiIKKyJham91dGVyIHNldWxlbWVudCDDoCBsJ2luZGV4IDsgbmUgcGFzIGFqb3V0ZXIgbGUgY29udGVudSBkYW5zIGxhIGJhc2UgZGUgIgorImRvbm7DqWVzIGRlcyBvYmpldHMiCiAKICM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY3Cittc2dpZCAicmVtb3ZlIG5hbWVkIHBhdGhzIGV2ZW4gaWYgcHJlc2VudCBpbiB3b3JrdHJlZSIKK21zZ3N0ciAiIgorInN1cHByaW1lciBsZXMgY2hlbWlucyBub21tw6lzIG3Dqm1lIHMnaWxzIHNvbnQgcHLDqXNlbnRzIGRhbnMgbGEgY29waWUgZGUgIgorInRyYXZhaWwiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY5CiBtc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgogbXNnc3RyICJhdmVjIC0tc3RkaW4gOiBsZXMgbGlnbmVzIGVuIGVudHLDqWUgc29udCB0ZXJtaW7DqWVzIHBhciBkZXMgb2N0ZXRzIG51bHMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3MQogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxpcmUgbGEgbGlzdGUgZGVzIGNoZW1pbnMgw6AgbWV0dHJlIMOgIGpvdXIgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzc1CiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCi1tc2dzdHIgImFqb3V0ZXIgbGVzIGVudHLDqWVzIGRlcHVpcyBsJ2VudHLDqWUgc3RhbmRhcmQgw6AgbCdpbmRleCIKK21zZ3N0ciAiYWpvdXRlciBsZXMgw6lsw6ltZW50cyBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIMOgIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzc3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3OQogbXNnaWQgInJlcG9wdWxhdGUgc3RhZ2VzICMyIGFuZCAjMyBmb3IgdGhlIGxpc3RlZCBwYXRocyIKIG1zZ3N0ciAicmVwZXVwbGVyIGxlcyDDqXRhcGVzIG7CsDIgZXQgbsKwMyBwb3VyIGxlcyBjaGVtaW5zIGxpc3TDqXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzgxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4MwogbXNnaWQgIm9ubHkgdXBkYXRlIGVudHJpZXMgdGhhdCBkaWZmZXIgZnJvbSBIRUFEIgotbXNnc3RyICJtZXR0cmUgw6Agam91ciBzZXVsZW1lbnQgbGVzIGVudHLDqWVzIHF1aSBkaWZmw6hyZW50IGRlIEhFQUQiCittc2dzdHIgIm1ldHRyZSDDoCBqb3VyIHNldWxlbWVudCBsZXMgw6lsw6ltZW50cyBxdWkgZGlmZsOocmVudCBkZSBIRUFEIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODcKIG1zZ2lkICJpZ25vcmUgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJpZ25vcmVyIGxlcyBmaWNoaWVycyBtYW5xdWFudHMgZGFucyBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTAKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBhY3Rpb25zIHN1ciBsYSBzb3J0aWUgc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5MgogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICIocG91ciBwb3JjZWxhaW5lcykgb3VibGllciBsZXMgY29uZmxpdHMgc2F1dsOpcyBldCBub24gcsOpc29sdXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzk0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5NgogbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgogbXNnc3RyICLDqWNyaXJlIGwnaW5kZXggZGFucyBjZSBmb3JtYXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjcKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjkKIG1zZ2lkICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gLWQgPHJlZm5hbWU+IFs8b2xkdmFsPl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAtZCA8bm9tcsOpZsOpcmVuY2U+IFs8YW5jaWVubmV2YWxldXI+XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6OAorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTAKIG1zZ2lkICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gICAgPHJlZm5hbWU+IDxuZXd2YWw+IFs8b2xkdmFsPl0iCi1tc2dzdHIgImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAgICA8bm9tcsOpZsOpcmVuY2U+IDxub3V2ZWxsZXZhbGV1cj4gWzxhbmNpZW5uZXZhbGV1cj5dIgorbXNnc3RyICIiCisiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdICAgIDxub21yw6lmw6lyZW5jZT4gPG5vdXZlbGxldmFsZXVyPiAiCisiWzxhbmNpZW5uZXZhbGV1cj5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxOQorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTEKK21zZ2lkICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gLS1zdGRpbiBbLXpdIgorbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gLS1zdGRpbiBbLXpdIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTUKIG1zZ2lkICJkZWxldGUgdGhlIHJlZmVyZW5jZSIKIG1zZ3N0ciAic3VwcHJpbWVyIGxhIHLDqWbDqXJlbmNlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyMQorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU3CiBtc2dpZCAidXBkYXRlIDxyZWZuYW1lPiBub3QgdGhlIG9uZSBpdCBwb2ludHMgdG8iCi1tc2dzdHIgIiIKK21zZ3N0ciAibWV0dHJlIMOgIGpvdXIgPG5vbXLDqWbDqXJlbmNlPiBldCBub24gbGEgcsOpZsOpcmVuY2UgcG9pbnTDqWUgcGFyIGx1aSIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU4Cittc2dpZCAic3RkaW4gaGFzIE5VTC10ZXJtaW5hdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAibCdlbnRyw6llIHN0YW5kYXJkIGEgZGVzIGFyZ3VtZW50cyBxdWkgc2UgdGVybWluZW50IHBhciBOVUwiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1OQorbXNnaWQgInJlYWQgdXBkYXRlcyBmcm9tIHN0ZGluIgorbXNnc3RyICJsaXJlIGxlcyBtaXNlcyDDoCBqb3VyIGRlcHVpcyBsJ2VudHLDqWUgc3RhbmRhcmQiCiAKICM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6NgogbXNnaWQgImdpdCB1cGRhdGUtc2VydmVyLWluZm8gWy0tZm9yY2VdIgpAQCAtODgyOCw3ICs5OTA5LDcgQEAKIG1zZ2lkICJvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nIgogbXNnc3RyICJzZXVsZW1lbnQgdXRpbGUgcG91ciBsZSBkw6lib2dhZ2UiCiAKLSM6IGdpdC5jOjE2CisjOiBnaXQuYzoxNwogbXNnaWQgIiIKICInZ2l0IGhlbHAgLWEnIGFuZCAnZ2l0IGhlbHAgLWcnIGxpc3RzIGF2YWlsYWJsZSBzdWJjb21tYW5kcyBhbmQgc29tZVxuIgogImNvbmNlcHQgZ3VpZGVzLiBTZWUgJ2dpdCBoZWxwIDxjb21tYW5kPicgb3IgJ2dpdCBoZWxwIDxjb25jZXB0PidcbiIKQEAgLTg4MzgsMjkgKzk5MTksMzMgQEAKICJxdWVscXVlcyBjb25jZXB0cy4gVm9pciAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyBvdSAnZ2l0IGhlbHAgPGNvbmNlcHQ+J1xuIgogInBvdXIgZW4gbGlyZSBwbHVzIMOgIHByb3BvcyBkJ3VuZSBjb21tYW5kZSBzcMOpY2lmaXF1ZSBvdSBkJ3VuIGNvbmNlcHQuIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MTU2CisjOiBwYXJzZS1vcHRpb25zLmg6MTQ2Cittc2dpZCAiZXhwaXJ5IGRhdGUiCittc2dzdHIgImRhdGUgZCdleHBpcmF0aW9uIgorCisjOiBwYXJzZS1vcHRpb25zLmg6MTYxCiBtc2dpZCAibm8tb3AgKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpIgogbXNnc3RyICJzYW5zIGFjdGlvbiAocsOpdHJvY29tcGF0aWJpbGl0w6kpIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjMyCisjOiBwYXJzZS1vcHRpb25zLmg6MjM1CiBtc2dpZCAiYmUgbW9yZSB2ZXJib3NlIgogbXNnc3RyICLDqnRyZSBwbHVzIHZlcmJldXgiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyMzQKKyM6IHBhcnNlLW9wdGlvbnMuaDoyMzcKIG1zZ2lkICJiZSBtb3JlIHF1aWV0IgogbXNnc3RyICLDqnRyZSBwbHVzIHNpbGVuY2lldXgiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNDAKKyM6IHBhcnNlLW9wdGlvbnMuaDoyNDMKIG1zZ2lkICJ1c2UgPG4+IGRpZ2l0cyB0byBkaXNwbGF5IFNIQS0xcyIKIG1zZ3N0ciAidXRpbGlzZXIgPG4+IGNoaWZmcmVzIHBvdXIgYWZmaWNoZXIgbGVzIFNIQS0xcyIKIAogIzogY29tbW9uLWNtZHMuaDo4CiBtc2dpZCAiQWRkIGZpbGUgY29udGVudHMgdG8gdGhlIGluZGV4IgotbXNnc3RyICJBam91dGVyIGxlIGNvbnRlbnUgZHUgZmljaGllciBkYW5zIGwnaW5kZXgiCittc2dzdHIgIkFqb3V0ZXIgbGUgY29udGVudSBkZSBmaWNoaWVycyBkYW5zIGwnaW5kZXgiCiAKICM6IGNvbW1vbi1jbWRzLmg6OQogbXNnaWQgIkZpbmQgYnkgYmluYXJ5IHNlYXJjaCB0aGUgY2hhbmdlIHRoYXQgaW50cm9kdWNlZCBhIGJ1ZyIKLW1zZ3N0ciAiUmVjaGVyY2hlciBkZSBtYW5pw6hyZSBiaW5haXJlIGxlIGNoYW5nZW1lbnQgcXVpIGEgaW50cm9kdWl0IHVuIGJvZ3VlIgorbXNnc3RyICJUcm91dmVyIHBhciByZWNoZXJjaGUgYmluYWlyZSBsYSBtb2RpZmljYXRpb24gcXVpIGEgaW50cm9kdWl0IHVuIGJvZ3VlIgogCiAjOiBjb21tb24tY21kcy5oOjEwCiBtc2dpZCAiTGlzdCwgY3JlYXRlLCBvciBkZWxldGUgYnJhbmNoZXMiCkBAIC04ODc2LDExICs5OTYxLDEzIEBACiAKICM6IGNvbW1vbi1jbWRzLmg6MTMKIG1zZ2lkICJSZWNvcmQgY2hhbmdlcyB0byB0aGUgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiRW5yZWdpc3RyZXIgbGVzIGNoYW5nZW1lbnRzIGRhbnMgbGUgZMOpcMO0dCIKK21zZ3N0ciAiRW5yZWdpc3RyZXIgbGVzIG1vZGlmaWNhdGlvbnMgZGFucyBsZSBkw6lww7R0IgogCiAjOiBjb21tb24tY21kcy5oOjE0CiBtc2dpZCAiU2hvdyBjaGFuZ2VzIGJldHdlZW4gY29tbWl0cywgY29tbWl0IGFuZCB3b3JraW5nIHRyZWUsIGV0YyIKLW1zZ3N0ciAiQWZmaWNoZXIgbGVzIGNoYW5nZW1lbnRzIGVudHJlIGxlcyB2YWxpZGF0aW9ucywgZW50cmUgdmFsaWRhdGlvbiBldCBjb3BpZSBkZSB0cmF2YWlsLCBldGMiCittc2dzdHIgIiIKKyJBZmZpY2hlciBsZXMgY2hhbmdlbWVudHMgZW50cmUgbGVzIHZhbGlkYXRpb25zLCBlbnRyZSB2YWxpZGF0aW9uIGV0IGNvcGllIGRlICIKKyJ0cmF2YWlsLCBldGMiCiAKICM6IGNvbW1vbi1jbWRzLmg6MTUKIG1zZ2lkICJEb3dubG9hZCBvYmplY3RzIGFuZCByZWZzIGZyb20gYW5vdGhlciByZXBvc2l0b3J5IgpAQCAtODkwMCwxNSArOTk4NywxNSBAQAogCiAjOiBjb21tb24tY21kcy5oOjE5CiBtc2dpZCAiSm9pbiB0d28gb3IgbW9yZSBkZXZlbG9wbWVudCBoaXN0b3JpZXMgdG9nZXRoZXIiCi1tc2dzdHIgIkpvaW5kcmUgZGV1eCBvdSBwbHVzaWV1cnMgaGlzdG9yaXF1ZXMgZGUgZMOpdmVsb3BwZW1lbnQgZW5zZW1ibGUiCittc2dzdHIgIkZ1c2lvbm5lciBkZXV4IG91IHBsdXNpZXVycyBoaXN0b3JpcXVlcyBkZSBkw6l2ZWxvcHBlbWVudCBlbnNlbWJsZSIKIAogIzogY29tbW9uLWNtZHMuaDoyMAogbXNnaWQgIk1vdmUgb3IgcmVuYW1lIGEgZmlsZSwgYSBkaXJlY3RvcnksIG9yIGEgc3ltbGluayIKIG1zZ3N0ciAiRMOpcGxhY2VyIG91IHJlbm9tbWVyIHVuIGZpY2hpZXIsIHVuIHLDqXBlcnRvaXJlLCBvdSB1biBsaWVuIHN5bWJvbGlxdWUiCiAKICM6IGNvbW1vbi1jbWRzLmg6MjEKLW1zZ2lkICJGZXRjaCBmcm9tIGFuZCBtZXJnZSB3aXRoIGFub3RoZXIgcmVwb3NpdG9yeSBvciBhIGxvY2FsIGJyYW5jaCIKLW1zZ3N0ciAiUmFwYXRyaWVyIGV0IGZ1c2lvbm5lciBhdmVjIHVuIGF1dHJlIGTDqXDDtHQgb3UgdW5lIGJyYW5jaGUgbG9jYWxlIgorbXNnaWQgIkZldGNoIGZyb20gYW5kIGludGVncmF0ZSB3aXRoIGFub3RoZXIgcmVwb3NpdG9yeSBvciBhIGxvY2FsIGJyYW5jaCIKK21zZ3N0ciAiUmFwYXRyaWVyIGV0IGludMOpZ3JlciB1biBhdXRyZSBkw6lww7R0IG91IHVuZSBicmFuY2hlIGxvY2FsZSIKIAogIzogY29tbW9uLWNtZHMuaDoyMgogbXNnaWQgIlVwZGF0ZSByZW1vdGUgcmVmcyBhbG9uZyB3aXRoIGFzc29jaWF0ZWQgb2JqZWN0cyIKQEAgLTg5MTYsNyArMTAwMDMsOCBAQAogCiAjOiBjb21tb24tY21kcy5oOjIzCiBtc2dpZCAiRm9yd2FyZC1wb3J0IGxvY2FsIGNvbW1pdHMgdG8gdGhlIHVwZGF0ZWQgdXBzdHJlYW0gaGVhZCIKLW1zZ3N0ciAiUmVwb3J0ZXIgZW4gYXZhbnQgbGVzIHZhbGlkYXRpb25zIGxvY2FsZXMgZGFucyBsYSB0w6p0ZSBlbiBhbW9udCBtaXNlIMOgIGpvdXIiCittc2dzdHIgIiIKKyJSZXBvcnRlciBsZXMgdmFsaWRhdGlvbnMgbG9jYWxlcyBzdXIgbGUgc29tbWV0IG1pcyDDoCBqb3VyIGQndW5lIGJyYW5jaGUgYW1vbnQiCiAKICM6IGNvbW1vbi1jbWRzLmg6MjQKIG1zZ2lkICJSZXNldCBjdXJyZW50IEhFQUQgdG8gdGhlIHNwZWNpZmllZCBzdGF0ZSIKQEAgLTg5MjQsMTEgKzEwMDEyLDExIEBACiAKICM6IGNvbW1vbi1jbWRzLmg6MjUKIG1zZ2lkICJSZW1vdmUgZmlsZXMgZnJvbSB0aGUgd29ya2luZyB0cmVlIGFuZCBmcm9tIHRoZSBpbmRleCIKLW1zZ3N0ciAiU3VwcHJpbWVyIGxlcyBmaWNoaWVycyBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsIGV0IGRlIGwnaW5kZXgiCittc2dzdHIgIlN1cHByaW1lciBkZXMgZmljaGllcnMgZGUgbGEgY29waWUgZGUgdHJhdmFpbCBldCBkZSBsJ2luZGV4IgogCiAjOiBjb21tb24tY21kcy5oOjI2CiBtc2dpZCAiU2hvdyB2YXJpb3VzIHR5cGVzIG9mIG9iamVjdHMiCi1tc2dzdHIgIkFmZmljaGVyIGRpZmbDqXJlbnRzIHR5cGVzIGQnb2JqZWN0cyIKK21zZ3N0ciAiQWZmaWNoZXIgZGlmZsOpcmVudHMgdHlwZXMgZCdvYmpldHMiCiAKICM6IGNvbW1vbi1jbWRzLmg6MjcKIG1zZ2lkICJTaG93IHRoZSB3b3JraW5nIHRyZWUgc3RhdHVzIgpAQCAtODkzNiw3ICsxMDAyNCw4IEBACiAKICM6IGNvbW1vbi1jbWRzLmg6MjgKIG1zZ2lkICJDcmVhdGUsIGxpc3QsIGRlbGV0ZSBvciB2ZXJpZnkgYSB0YWcgb2JqZWN0IHNpZ25lZCB3aXRoIEdQRyIKLW1zZ3N0ciAiQ3LDqWVyLCBsaXN0ZXIsIHN1cHByaW1lciBvdSB2w6lyaWZpZXIgdW4gb2JqZXQgZCfDqXRpcXVldHRlIHNpZ27DqSBhdmVjIEdQRyIKK21zZ3N0ciAiIgorIkNyw6llciwgbGlzdGVyLCBzdXBwcmltZXIgb3UgdsOpcmlmaWVyIHVuIG9iamV0IGQnw6l0aXF1ZXR0ZSBzaWduw6kgYXZlYyBHUEciCiAKICM6IGdpdC1hbS5zaDo1MAogbXNnaWQgIllvdSBuZWVkIHRvIHNldCB5b3VyIGNvbW1pdHRlciBpbmZvIGZpcnN0IgpAQCAtODk1MywyNSArMTAwNDIsMjkgQEAKICM6IGdpdC1hbS5zaDoxMDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKLSJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJGNtZGxpbmUgLS1yZXNvbHZlZFwiLlxuIgorIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCIkY21kbGluZSAtLWNvbnRpbnVlXCIuXG4iCiAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcIiRjbWRsaW5lIC0tc2tpcFwiIGluc3RlYWQuXG4iCiAiVG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBzdG9wIHBhdGNoaW5nLCBydW4gXCIkY21kbGluZSAtLWFib3J0XCIuIgogbXNnc3RyICIiCi0iTG9yc3F1ZSB2b3VzIGF1cmV6IHLDqXNvbHUgY2UgcHJvYmzDqG1lLCBsYW5jZXogXCIkY21kbGluZSAtLXJlc29sdmVkXCIuXG4iCisiTG9yc3F1ZSB2b3VzIGF1cmV6IHLDqXNvbHUgY2UgcHJvYmzDqG1lLCBsYW5jZXogXCIkY21kbGluZSAtLWNvbnRpbnVlXCIuXG4iCiAiU2kgdm91cyBwcsOpZsOpcmV6IHNhdXRlciBjZSBwYXRjaCwgbGFuY2V6IFwiJGNtZGxpbmUgLS1za2lwXCIgw6AgbGEgcGxhY2UuXG4iCi0iUG91ciByZXN0YXVyZXIgbGEgYnJhbmNoZSBkJ29yaWdpbmUgZXQgc3RvcHBlciBsZSBwYXRjaGFnZSwgbGFuY2V6IFwiJGNtZGxpbmUgLS1hYm9ydFwiLiIKKyJQb3VyIHJlc3RhdXJlciBsYSBicmFuY2hlIGQnb3JpZ2luZSBldCBzdG9wcGVyIGxlIHBhdGNoYWdlLCBsYW5jZXogIgorIlwiJGNtZGxpbmUgLS1hYm9ydFwiLiIKIAogIzogZ2l0LWFtLnNoOjEyMQogbXNnaWQgIkNhbm5vdCBmYWxsIGJhY2sgdG8gdGhyZWUtd2F5IG1lcmdlLiIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZXRvdXJuZXIgw6AgdW5lIGZ1c2lvbiAzLXdheS4iCittc2dzdHIgIkltcG9zc2libGUgZGUgcmV0b3VybmVyIMOgIHVuZSBmdXNpb24gw6AgMyBwb2ludHMuIgogCiAjOiBnaXQtYW0uc2g6MTM3CiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKLW1zZ3N0ciAiTGUgZMOpcMO0dCBuJ2EgcGFzIGxlcyBibG9icyBuw6ljZXNzYWlyZXMgcG91ciB1biByZXRvdXIgw6AgdW5lIGZ1c2lvbiAzLXdheS4iCittc2dzdHIgIiIKKyJMZSBkw6lww7R0IG4nYSBwYXMgbGVzIGJsb2JzIG7DqWNlc3NhaXJlcyBwb3VyIHVuIHJldG91ciDDoCB1bmUgZnVzaW9uIMOgIDMgIgorInBvaW50cy4iCiAKICM6IGdpdC1hbS5zaDoxMzkKIG1zZ2lkICJVc2luZyBpbmRleCBpbmZvIHRvIHJlY29uc3RydWN0IGEgYmFzZSB0cmVlLi4uIgotbXNnc3RyICJVdGlsaXNhdGlvbiBkZSBsJ2luZm9ybWF0aW9uIGRlIGwnaW5kZXggcG91ciByZWNvbnN0cnVpcmUgdW4gYXJicmUgZGUgYmFzZS4uLiIKK21zZ3N0ciAiIgorIlV0aWxpc2F0aW9uIGRlIGwnaW5mb3JtYXRpb24gZGUgbCdpbmRleCBwb3VyIHJlY29uc3RydWlyZSB1biBhcmJyZSBkZSBiYXNlLi4uIgogCiAjOiBnaXQtYW0uc2g6MTU0CiBtc2dpZCAiIgpAQCAtODk4MywxNSArMTAwNzYsMTUgQEAKIAogIzogZ2l0LWFtLnNoOjE2MwogbXNnaWQgIkZhbGxpbmcgYmFjayB0byBwYXRjaGluZyBiYXNlIGFuZCAzLXdheSBtZXJnZS4uLiIKLW1zZ3N0ciAiUmV0b3VyIMOgIHVuIHBhdGNoIGRlIGxhIGJhc2UgZXQgZnVzaW9uIDMtd2F5Li4uIgorbXNnc3RyICJSZXRvdXIgw6AgdW4gcGF0Y2ggZGUgbGEgYmFzZSBldCBmdXNpb24gw6AgMyBwb2ludHMuLi4iCiAKICM6IGdpdC1hbS5zaDoxNzkKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2UgaW4gdGhlIGNoYW5nZXMuIgotbXNnc3RyICLDiWNoZWMgZGUgZnVzaW9uIGRhbnMgbGVzIGNoYW5nZW1lbnRzLiIKK21zZ3N0ciAiw4ljaGVjIGQnaW50w6lncmF0aW9uIGRlcyBtb2RpZmljYXRpb25zLiIKIAogIzogZ2l0LWFtLnNoOjI3NAogbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgotbXNnc3RyICJTZXVsZW1lbnQgdW5lIHPDqXJpZSBkZSBwYXRjaGVzIFN0R0lUIHBldXQgw6p0cmUgYXBwbGlxdcOpZSDDoCBsYSBmb2lzIgorbXNnc3RyICJTZXVsZW1lbnQgdW5lIHPDqXJpZSBkZSBwYXRjaHMgU3RHSVQgcGV1dCDDqnRyZSBhcHBsaXF1w6llIMOgIGxhIGZvaXMiCiAKICM6IGdpdC1hbS5zaDozNjEKICMsIHNoLWZvcm1hdApAQCAtOTAwOCwyNyArMTAxMDEsMzkgQEAKICJpdCB3aWxsIGJlIHJlbW92ZWQuIFBsZWFzZSBkbyBub3QgdXNlIGl0IGFueW1vcmUuIgogbXNnc3RyICIiCiAiTCdvcHRpb24gLWIvLS1iaW5hcnkgbmUgZmFpdCBwbHVzIHJpZW4gZGVwdWlzIGxvbmd0ZW1wcyxcbiIKLSJldCBlbGxlIHNlcmEgc3VwcHJpbcOpZS4gTWVyY2kgZGUgbmUgcGx1cyBsJ3V0aWxpc2VyLiIKKyJldCBlbGxlIHNlcmEgc3VwcHJpbcOpZS4gVmV1aWxsZXogbmUgcGx1cyBsJ3V0aWxpc2VyLiIKIAotIzogZ2l0LWFtLnNoOjQ3NworIzogZ2l0LWFtLnNoOjQ3OQogIywgc2gtZm9ybWF0CiBtc2dpZCAicHJldmlvdXMgcmViYXNlIGRpcmVjdG9yeSAkZG90ZXN0IHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iCi1tc2dzdHIgImxlIHLDqXBlcnRvaXJlIHByw6ljw6lkZW50IGRlIHJlYmFzYWdlICRkb3Rlc3QgZXhpc3RlIHRvdWpvdXJzIG1haXMgbWJveCBkb25uw6llLiIKK21zZ3N0ciAiIgorImxlIHLDqXBlcnRvaXJlIHByw6ljw6lkZW50IGRlIHJlYmFzYWdlICRkb3Rlc3QgZXhpc3RlIHRvdWpvdXJzIG1haXMgbWJveCBkb25uw6llLiIKIAotIzogZ2l0LWFtLnNoOjQ4MgorIzogZ2l0LWFtLnNoOjQ4NAogbXNnaWQgIlBsZWFzZSBtYWtlIHVwIHlvdXIgbWluZC4gLS1za2lwIG9yIC0tYWJvcnQ/IgogbXNnc3RyICJEw6ljaWRlei12b3VzLiAtLXNraXAgb3UgLS1hYm9ydCA/IgogCi0jOiBnaXQtYW0uc2g6NTA5Ci1tc2dpZCAiUmVzb2x2ZSBvcGVyYXRpb24gbm90IGluIHByb2dyZXNzLCB3ZSBhcmUgbm90IHJlc3VtaW5nLiIKLW1zZ3N0ciAiUGFzIGRlIHLDqXNvbHV0aW9uIGRlIGwnb3DDqXJhdGlvbiBlbiBjb3Vycywgbm91cyBuZSBzb21tZXMgcGFzIGRhbnMgdW5lIHJlcHJpc2UuIgorIzogZ2l0LWFtLnNoOjUyMAorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIlN0cmF5ICRkb3Rlc3QgZGlyZWN0b3J5IGZvdW5kLlxuIgorIlVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVtb3ZlIGl0LiIKK21zZ3N0ciAiIgorIlLDqXBlcnRvaXJlIGFiYW5kb25uw6kgJGRvdGVzdCB0cm91dsOpLlxuIgorIlV0aWxpc2V6IFwiZ2l0IGFtIC0tYWJvcnRcIiBwb3VyIGxlIHN1cHByaW1lci4iCiAKLSM6IGdpdC1hbS5zaDo1NzUKKyM6IGdpdC1hbS5zaDo1MjgKK21zZ2lkICJSZXNvbHZlIG9wZXJhdGlvbiBub3QgaW4gcHJvZ3Jlc3MsIHdlIGFyZSBub3QgcmVzdW1pbmcuIgorbXNnc3RyICIiCisiUGFzIGRlIHLDqXNvbHV0aW9uIGRlIGwnb3DDqXJhdGlvbiBlbiBjb3Vycywgbm91cyBuZSBzb21tZXMgcGFzIGRhbnMgdW5lICIKKyJyZXByaXNlLiIKKworIzogZ2l0LWFtLnNoOjU5NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRGlydHkgaW5kZXg6IGNhbm5vdCBhcHBseSBwYXRjaGVzIChkaXJ0eTogJGZpbGVzKSIKLW1zZ3N0ciAiSW5kZXggc2FsZSA6IGltcG9zc2libGUgZCdhcHBsaXF1ZXIgZGVzIHBhdGNoZXMgKHNhbGVzIDogJGZpbGVzKSIKK21zZ3N0ciAiSW5kZXggc2FsZSA6IGltcG9zc2libGUgZCdhcHBsaXF1ZXIgZGVzIHBhdGNocyAoc2FsZXMgOiAkZmlsZXMpIgogCi0jOiBnaXQtYW0uc2g6Njc5CisjOiBnaXQtYW0uc2g6Njk4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiUGF0Y2ggaXMgZW1wdHkuICBXYXMgaXQgc3BsaXQgd3Jvbmc/XG4iCkBAIC05MDM3LDQwICsxMDE0Miw0NiBAQAogbXNnc3RyICIiCiAiTGUgcGF0Y2ggZXN0IHZpZGUuICDDiXRhaXQtaWwgbWFsIGTDqWNvdXDDqSA/XG4iCiAiU2kgdm91cyBwcsOpZsOpcmV6IHNhdXRlciBjZSBwYXRjaCwgbGFuY2V6IHBsdXTDtHQgXCIkY21kbGluZSAtLXNraXBcIi5cbiIKLSJQb3VyIHJlc3RhdXJlciBsYSBicmFuY2hlIGQnb3JpZ2luZSBldCBzdG9wcGVyIGxlIHBhdGNoYWdlLCBsYW5jZXogXCIkY21kbGluZSAtLWFib3J0XCIuIgorIlBvdXIgcmVzdGF1cmVyIGxhIGJyYW5jaGUgZCdvcmlnaW5lIGV0IHN0b3BwZXIgbGUgcGF0Y2hhZ2UsIGxhbmNleiAiCisiXCIkY21kbGluZSAtLWFib3J0XCIuIgogCi0jOiBnaXQtYW0uc2g6NzA2CisjOiBnaXQtYW0uc2g6NzI1CiBtc2dpZCAiUGF0Y2ggZG9lcyBub3QgaGF2ZSBhIHZhbGlkIGUtbWFpbCBhZGRyZXNzLiIKIG1zZ3N0ciAiTGUgcGF0Y2ggbidhIHBhcyBkJ2FkcmVzc2UgZS1tYWlsIHZhbGlkZS4iCiAKLSM6IGdpdC1hbS5zaDo3NTMKKyM6IGdpdC1hbS5zaDo3NzIKIG1zZ2lkICJjYW5ub3QgYmUgaW50ZXJhY3RpdmUgd2l0aG91dCBzdGRpbiBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4iCi1tc2dzdHIgImltcG9zc2libGUgZCfDqnRyZSBpbnRlcmFjdGlmIHNhbnMgZW50csOpZSBzdGFuZGFyZCBjb25uZWN0w6llIMOgIHVuIHRlcm1pbmFsLiIKK21zZ3N0ciAiIgorImltcG9zc2libGUgZCfDqnRyZSBpbnRlcmFjdGlmIHNhbnMgZW50csOpZSBzdGFuZGFyZCBjb25uZWN0w6llIMOgIHVuIHRlcm1pbmFsLiIKIAotIzogZ2l0LWFtLnNoOjc1NworIzogZ2l0LWFtLnNoOjc3NgogbXNnaWQgIkNvbW1pdCBCb2R5IGlzOiIKIG1zZ3N0ciAiTGUgY29ycHMgZGUgbGEgdmFsaWRhdGlvbiBlc3QgOiIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFt5XSwgW25dLCBbZV0sIFt2XSBhbmQgW2FdCiAjLiBpbiB5b3VyIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2gKICMuIGlucHV0IGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtYW0uc2g6NzY0CisjOiBnaXQtYW0uc2g6NzgzCiBtc2dpZCAiQXBwbHk/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGwgIgogbXNnc3RyICJBcHBsaXF1ZXIgPyBbeV1lcy9bbl1vL1tlXWRpdC9bdl1pZXcgcGF0Y2gvW2FdY2NlcHQgYWxsICIKIAotIzogZ2l0LWFtLnNoOjgwMAorIzogZ2l0LWFtLnNoOjgxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmc6ICRGSVJTVExJTkUiCiBtc2dzdHIgIkFwcGxpY2F0aW9uIDogJEZJUlNUTElORSIKIAotIzogZ2l0LWFtLnNoOjgyMQorIzogZ2l0LWFtLnNoOjg0MAogbXNnaWQgIiIKICJObyBjaGFuZ2VzIC0gZGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz9cbiIKICJJZiB0aGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gc3RhZ2UsIGNoYW5jZXMgYXJlIHRoYXQgc29tZXRoaW5nIGVsc2VcbiIKICJhbHJlYWR5IGludHJvZHVjZWQgdGhlIHNhbWUgY2hhbmdlczsgeW91IG1pZ2h0IHdhbnQgdG8gc2tpcCB0aGlzIHBhdGNoLiIKIG1zZ3N0ciAiIgorIkF1Y3VuIGNoYW5nZW1lbnQgLSBhdmV6LXZvdXMgb3VibGnDqSBkJ3V0aWxpc2VyICdnaXQgYWRkJyA/XG4iCisiUydpbCBuJ3kgYSBwbHVzIHJpZW4gw6AgaW5kZXhlciwgaWwgc2UgcGV1dCBxdSdhdXRyZSBjaG9zZSBhaXQgZMOpasOgXG4iCisiaW50cm9kdWl0IGxlcyBtw6ptZXMgY2hhbmdlbWVudHMgOyB2b3VzIHBvdXJyaWV6IGF2b2lyIGVudmllIGRlIHNhdXRlciBjZSAiCisicGF0Y2guIgogCi0jOiBnaXQtYW0uc2g6ODI5CisjOiBnaXQtYW0uc2g6ODQ4CiBtc2dpZCAiIgogIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXhcbiIKICJkaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnPyIKQEAgLTkwNzgsMTYgKzEwMTg5LDE2IEBACiAiVm91cyBhdmV6IHRvdWpvdXJzIGRlcyBjaGVtaW5zIG5vbiBmdXNpb25uw6lzIGRhbnMgdm90cmUgaW5kZXhcbiIKICJhdXJpZXotdm91cyBvdWJsacOpIGRlIGZhaXJlICdnaXQgYWRkJyA/IgogCi0jOiBnaXQtYW0uc2g6ODQ1CisjOiBnaXQtYW0uc2g6ODY0CiBtc2dpZCAiTm8gY2hhbmdlcyAtLSBQYXRjaCBhbHJlYWR5IGFwcGxpZWQuIgogbXNnc3RyICJQYXMgZGUgY2hhbmdlbWVudCAtLSBQYXRjaCBkw6lqw6AgYXBwbGlxdcOpLiIKIAotIzogZ2l0LWFtLnNoOjg1NQorIzogZ2l0LWFtLnNoOjg3NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiUGF0Y2ggZmFpbGVkIGF0ICRtc2dudW0gJEZJUlNUTElORSIKIG1zZ3N0ciAiTGUgcGF0Y2ggYSDDqWNob3XDqSDDoCAkbXNnbnVtICRGSVJTVExJTkUiCiAKLSM6IGdpdC1hbS5zaDo4NTgKKyM6IGdpdC1hbS5zaDo4NzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgY29weSBvZiB0aGUgcGF0Y2ggdGhhdCBmYWlsZWQgaXMgZm91bmQgaW46XG4iCkBAIC05MDk2LDcgKzEwMjA3LDcgQEAKICJMYSBjb3BpZSBkdSBwYXRjaCBxdWkgYSDDqWNob3XDqSBzZSB0cm91dmUgZGFucyA6XG4iCiAiICAgJGRvdGVzdC9wYXRjaCIKIAotIzogZ2l0LWFtLnNoOjg3NgorIzogZ2l0LWFtLnNoOjg5NQogbXNnaWQgImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiCiBtc2dzdHIgImFwcGxpY2F0aW9uIMOgIHVuIGhpc3RvcmlxdWUgdmlkZSIKIApAQCAtOTEyOSwxMSArMTAyNDAsMTMgQEAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJDaGVja2luZyBvdXQgJyRzdGFydF9oZWFkJyBmYWlsZWQuIFRyeSAnZ2l0IGJpc2VjdCByZXNldCA8dmFsaWRicmFuY2g+Jy4iCi1tc2dzdHIgIkwnZXh0cmFjdGlvbiBkZSAnJHN0YXJ0X2hlYWQnIGEgw6ljaG91w6kuIEVzc2F5ZXogJ2dpdCBiaXNlY3QgcmVzZXQgPGJyYW5jaGV2YWxpZGU+Jy4iCittc2dzdHIgIiIKKyJMJ2V4dHJhY3Rpb24gZGUgJyRzdGFydF9oZWFkJyBhIMOpY2hvdcOpLiBFc3NheWV6ICdnaXQgYmlzZWN0IHJlc2V0ICIKKyI8YnJhbmNoZXZhbGlkZT4nLiIKIAogIzogZ2l0LWJpc2VjdC5zaDoxNDAKLW1zZ2lkICJ3b24ndCBiaXNlY3Qgb24gc2Vla2VkIHRyZWUiCi1tc2dzdHIgIiIKK21zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgorbXNnc3RyICJyZWZ1cyBkZSBiaXNzZWN0ZXIgc3VyIHVuIGFyYnJlICdjZy1zZWVrZWQnIgogCiAjOiBnaXQtYmlzZWN0LnNoOjE0NAogbXNnaWQgIkJhZCBIRUFEIC0gc3RyYW5nZSBzeW1ib2xpYyByZWYiCkBAIC05MTUxLDcgKzEwMjY0LDcgQEAKIAogIzogZ2l0LWJpc2VjdC5zaDoyMzIKIG1zZ2lkICJQbGVhc2UgY2FsbCAnYmlzZWN0X3N0YXRlJyB3aXRoIGF0IGxlYXN0IG9uZSBhcmd1bWVudC4iCi1tc2dzdHIgIk1lcmNpIGQnYXBwZWxlciAnYmlzZWN0X3N0YXRlJyBhdmVjIGF1IG1vaW5zIHVuIGFyZ3VtZW50LiIKK21zZ3N0ciAiVmV1aWxsZXogYXBwZWxlciAnYmlzZWN0X3N0YXRlJyBhdmVjIGF1IG1vaW5zIHVuIGFyZ3VtZW50LiIKIAogIzogZ2l0LWJpc2VjdC5zaDoyNDQKICMsIHNoLWZvcm1hdApAQCAtOTI2MiwyMiArMTAzNzUsMjUgQEAKICJhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24sIG9yIHVzZSAnZ2l0IGNvbW1pdCAtYScuIgogbXNnc3RyICIiCiAiTGUgcHVsbCBuJ2VzdCBwYXMgcG9zc2libGUgY2FyIHZvdXMgYXZleiBkZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMuXG4iCi0iTWVyY2kgZGUgY29ycmlnZXIgZGFucyB2b3RyZSBjb3BpZSBkZSB0cmF2YWlsLCBldCB1dGlsaXNleiBhbG9ycyAnZ2l0IGFkZC9ybSA8ZmlsZT4nXG4iCisiVmV1aWxsZXogbGVzIGNvcnJpZ2VyIGRhbnMgdm90cmUgY29waWUgZGUgdHJhdmFpbCwgZXQgdXRpbGlzZXogYWxvcnMgJ2dpdCAiCisiYWRkL3JtIDxmaWxlPidcbiIKICJzaSBuw6ljZXNzYWlyZSBwb3VyIG1hcnF1ZXIgY29tbWUgcsOpc29sdSwgb3UgdXRpbGlzZXogJ2dpdCBjb21taXQgLWEnLiIKIAogIzogZ2l0LXB1bGwuc2g6MjUKIG1zZ2lkICJQdWxsIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiTGUgcHVsbCBuJ2VzdCBwYXMgcG9zc2libGUgY2FyIHZvdXMgYXZleiBkZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMuIgogCi0jOiBnaXQtcHVsbC5zaDoyMDMKKyM6IGdpdC1wdWxsLnNoOjIyMwogbXNnaWQgInVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleCIKLW1zZ3N0ciAibWlzZSDDoCBqb3VyIGQndW5lIGJyYW5jaGUgbm9uIGVuY29yZSBjcsOpw6llIGF2ZWMgbGVzIGNoYW5nZW1lbnRzIGFqb3V0w6lzIGRhbnMgbCdpbmRleCIKK21zZ3N0ciAiIgorIm1pc2Ugw6Agam91ciBkJ3VuZSBicmFuY2hlIG5vbiBlbmNvcmUgY3LDqcOpZSBhdmVjIGxlcyBjaGFuZ2VtZW50cyBham91dMOpcyBkYW5zICIKKyJsJ2luZGV4IgogCiAjLiBUaGUgZmV0Y2ggaW52b2x2ZWQgdXBkYXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoLgogIy4gVGhlIHdvcmtpbmcgdHJlZSBhbmQgdGhlIGluZGV4IGZpbGUgaXMgc3RpbGwgYmFzZWQgb24gdGhlCiAjLiAkb3JpZ19oZWFkIGNvbW1pdCwgYnV0IHdlIGFyZSBtZXJnaW5nIGludG8gJGN1cnJfaGVhZC4KICMuIEZpcnN0IHVwZGF0ZSB0aGUgd29ya2luZyB0cmVlIHRvIG1hdGNoICRjdXJyX2hlYWQuCi0jOiBnaXQtcHVsbC5zaDoyMzUKKyM6IGdpdC1wdWxsLnNoOjI0NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IGZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC05Mjg4LDE1ICsxMDQwNCwxNSBAQAogIkF0dGVudGlvbiA6IG1pc2Ugw6Agam91ciBlbiBhdmFuY2UgcmFwaWRlIGRlIHZvdHJlIGNvcGllIGRlIHRyYXZhaWxcbiIKICJBdHRlbnRpb24gOiBkZXB1aXMgbGEgdmFsaWRhdGlvbiAkb3JpZ19oZWFkLiIKIAotIzogZ2l0LXB1bGwuc2g6MjYwCisjOiBnaXQtcHVsbC5zaDoyNzIKIG1zZ2lkICJDYW5ub3QgbWVyZ2UgbXVsdGlwbGUgYnJhbmNoZXMgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGZ1c2lvbm5lciBkZSBtdWx0aXBsZXMgYnJhbmNoZXMgc3VyIHVuZSB0w6p0ZSB2aWRlIgogCi0jOiBnaXQtcHVsbC5zaDoyNjQKKyM6IGdpdC1wdWxsLnNoOjI3NgogbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZWJhc2VyIHN1ciBkZSBtdWx0aXBsZXMgYnJhbmNoZXMiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTMKKyM6IGdpdC1yZWJhc2Uuc2g6NTUKIG1zZ2lkICIiCiAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiLlxuIgogIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCJnaXQgcmViYXNlIC0tc2tpcFwiIGluc3RlYWQuXG4iCkBAIC05MzA1LDMzICsxMDQyMSw1NSBAQAogbXNnc3RyICIiCiAiTG9yc3F1ZSB2b3VzIGF1cmV6IHLDqXNvbHUgY2UgcHJvYmzDqG1lLCBsYW5jZXogXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKICJTaSB2b3VzIHByw6lmw6lyZXogc2F1dGVyIGNlIHBhdGNoLCBsYW5jZXogXCJnaXQgcmViYXNlIC0tc2tpcFwiIMOgIGxhIHBsYWNlLlxuIgotIlBvdXIgZXh0cmFpcmUgbGEgYnJhbmNoZSBkJ29yaWdpbmUgZXQgc3RvcHBlciBsZSByZWJhc2FnZSwgbGFuY2V6IFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIuIgorIlBvdXIgZXh0cmFpcmUgbGEgYnJhbmNoZSBkJ29yaWdpbmUgZXQgc3RvcHBlciBsZSByZWJhc2FnZSwgbGFuY2V6IFwiZ2l0ICIKKyJyZWJhc2UgLS1hYm9ydFwiLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNjAKKyM6IGdpdC1yZWJhc2Uuc2g6MTU4Cittc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guIgorbXNnc3RyICJBdXRvcmVtaXNhZ2UgYXBwbGlxdcOpLiIKKworIzogZ2l0LXJlYmFzZS5zaDoxNjEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzdG9ja2VyICRzdGFzaF9zaGExIgorCisjOiBnaXQtcmViYXNlLnNoOjE2MgorbXNnaWQgIiIKKyJBcHBseWluZyBhdXRvc3Rhc2ggcmVzdWx0ZWQgaW4gY29uZmxpY3RzLlxuIgorIllvdXIgY2hhbmdlcyBhcmUgc2FmZSBpbiB0aGUgc3Rhc2guXG4iCisiWW91IGNhbiBydW4gXCJnaXQgc3Rhc2ggcG9wXCIgb3IgXCJnaXQgc3Rhc2ggZHJvcFwiIGF0IGFueSB0aW1lLlxuIgorbXNnc3RyICIiCisiTCdhcHBsaWNhdGlvbiBkZSBsJ2F1dG9yZW1pc2FnZSBhIHByb3ZvcXXDqSBkZXMgY29uZmxpdHNcbiIKKyJWb3MgIG1vZGlmaWNhdGlvbnMgc29udCDDoCBsJ2FicmkgZGFucyBsYSByZW1pc2UuXG4iCisiVm91cyBwb3V2ZXogbGFuY2VyIFwiZ2l0IHN0YXNoIHBvcFwiIG91IFwiZ2l0IHN0YXNoIGRyb3BcIiDDoCB0b3V0IG1vbWVudC5cbiIKKworIzogZ2l0LXJlYmFzZS5zaDoyMDEKIG1zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKLW1zZ3N0ciAiTGUgaG9vayBwcmUtcmViYXNlIGEgcmVmdXPDqSBkZSByZWJhc2VyLiIKK21zZ3N0ciAiTGUgY3JvY2hldCBwcmUtcmViYXNlIGEgcmVmdXPDqSBkZSByZWJhc2VyLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNjUKKyM6IGdpdC1yZWJhc2Uuc2g6MjA2CiBtc2dpZCAiSXQgbG9va3MgbGlrZSBnaXQtYW0gaXMgaW4gcHJvZ3Jlc3MuIENhbm5vdCByZWJhc2UuIgogbXNnc3RyICJJbCBzZW1ibGUgcXVlIGdpdC1hbSBzb2l0IGVuIGNvdXJzLiBJbXBvc3NpYmxlIGRlIHJlYmFzZXIuIgogCi0jOiBnaXQtcmViYXNlLnNoOjI5NgorIzogZ2l0LXJlYmFzZS5zaDozNDYKIG1zZ2lkICJUaGUgLS1leGVjIG9wdGlvbiBtdXN0IGJlIHVzZWQgd2l0aCB0aGUgLS1pbnRlcmFjdGl2ZSBvcHRpb24iCiBtc2dzdHIgIkwnb3B0aW9uIC0tZXhlYyBkb2l0IMOqdHJlIHV0aWxpc8OpZSBhdmVjIGwnb3B0aW9uIC0taW50ZXJhY3RpdmUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzAxCisjOiBnaXQtcmViYXNlLnNoOjM1MQogbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCiBtc2dzdHIgIlBhcyBkZSByZWJhc2FnZSBlbiBjb3VycyA/IgogCi0jOiBnaXQtcmViYXNlLnNoOjMxMgorIzogZ2l0LXJlYmFzZS5zaDozNjIKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCi1tc2dzdHIgIkwnYWN0aW9uIC0tZWRpdC10b2RvIHBldXQgc2V1bGVtZW50IMOqdHJlIHV0aWxpc8OpZSBsb3JzIGQndW4gcmViYXNhZ2UgaW50ZXJhY3RpZi4iCittc2dzdHIgIiIKKyJMJ2FjdGlvbiAtLWVkaXQtdG9kbyBwZXV0IHNldWxlbWVudCDDqnRyZSB1dGlsaXPDqWUgbG9ycyBkJ3VuIHJlYmFzYWdlICIKKyJpbnRlcmFjdGlmLiIKIAotIzogZ2l0LXJlYmFzZS5zaDozMTkKKyM6IGdpdC1yZWJhc2Uuc2g6MzY5CiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIEhFQUQiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzIyCisjOiBnaXQtcmViYXNlLnNoOjM3MgogbXNnaWQgIiIKICJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKICJtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgdXNpbmcgZ2l0IGFkZCIKQEAgLTkzMzksMTIgKzEwNDc3LDEyIEBACiAiVm91cyBkZXZleiDDqWRpdGVyIHRvdXMgbGVzIGNvbmZsaXRzIGRlIGZ1c2lvbiBldFxuIgogImxlcyBtYXJxdWVyIGNvbW1lIHLDqXNvbHVzIGF2ZWMgZ2l0IGFkZCIKIAotIzogZ2l0LXJlYmFzZS5zaDozNDAKKyM6IGdpdC1yZWJhc2Uuc2g6MzkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcmV2ZW5pciDDoCAkaGVhZF9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjM1OQorIzogZ2l0LXJlYmFzZS5zaDo0MDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKQEAgLTkzNTcsNjQgKzEwNDk1LDc1IEBACiAidmFsdWFibGUgdGhlcmUuIgogbXNnc3RyICIiCiAiSWwgc2VtYmxlIHF1J2lsIHkgYWl0IGTDqWrDoCB1biByw6lwZXJ0b2lyZSAkc3RhdGVfZGlyX2Jhc2UsIGV0IGplIG1lIGRlbWFuZGVcbiIKLSJzaSB2b3VzIG4nw6p0ZXMgcGFzIGF1IG1pbGlldSBkJ3VuIGF1dHJlIHJlYmFzYWdlLiAgU2kgYydlc3QgbGUgY2FzLFxuIgotIm1lcmNpIGQnZXNzYXllclxuIgorInNpIHVuIGF1dHJlIHJlYmFzYWdlIG4nZXN0IHBhcyBkw6lqw6AgZW4gY291cnMuIFNpIGMnZXN0IGxlIGNhcyxcbiIKKyJlc3NheWV6XG4iCiAiXHQkY21kX2xpdmVfcmViYXNlXG4iCi0iU2kgw6dhIG4nZXN0IHBhcyBsZSBjYXMsIG1lcmNpIGRlXG4iCisiU2lub24sIGVzc2F5ZXpcbiIKICJcdCRjbWRfY2xlYXJfc3RhbGVfcmViYXNlXG4iCi0iZXQgcmVsYW5jZXIgw6Agbm91dmVhdS4gIEplIG0nYXJyw6p0ZSBhdSBjYXMgb8O5IHZvdXMgYXVyaWV6IHF1ZWxxdWUgY2hvc2VcbiIKKyJwdWlzIHJlbGFuY2V6LW1vaSDDoCBub3V2ZWF1LiAgSmUgbSdhcnLDqnRlIGF1IGNhcyBvw7kgdm91cyBhdXJpZXogcXVlbHF1ZSAiCisiY2hvc2VcbiIKICJkJ2ltcG9ydGFudCBpY2kuIgogCi0jOiBnaXQtcmViYXNlLnNoOjQwNAorIzogZ2l0LXJlYmFzZS5zaDo0NTYKICMsIHNoLWZvcm1hdAogbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJHVwc3RyZWFtX25hbWUiCiBtc2dzdHIgImludmFsaWRlICR1cHN0cmVhbV9uYW1lIGVuIGFtb250IgogCi0jOiBnaXQtcmViYXNlLnNoOjQyOAorIzogZ2l0LXJlYmFzZS5zaDo0ODAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgogbXNnc3RyICIkb250b19uYW1lIDogaWwgeSBhIHBsdXMgZCd1bmUgYmFzZSBkZSBmdXNpb24iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDMxIGdpdC1yZWJhc2Uuc2g6NDM1CisjOiBnaXQtcmViYXNlLnNoOjQ4MyBnaXQtcmViYXNlLnNoOjQ4NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiJG9udG9fbmFtZSA6IGlsIG4neSBhIHBhcyBkZSBiYXNlIGRlIGZ1c2lvbiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NDAKKyM6IGdpdC1yZWJhc2Uuc2g6NDkyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKIG1zZ3N0ciAiTmUgcG9pbnRlIHBhcyBzdXIgdW5lIHZhbGlkYXRpb24gdmFsaWRlIDogJG9udG9fbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NjMKKyM6IGdpdC1yZWJhc2Uuc2g6NTE1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2g6ICRicmFuY2hfbmFtZSIKIG1zZ3N0ciAiZmF0YWwgOiBwYXMgZGUgYnJhbmNoZSA6ICRicmFuY2hfbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo0ODMKLW1zZ2lkICJQbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgotbXNnc3RyICJNZXJjaSBkZSBsZXMgdmFsaWRlciBvdSBkZSBsZXMgcmVtaXNlci4iCisjOiBnaXQtcmViYXNlLnNoOjU0OAorbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCittc2dzdHIgIkF1dG9yZW1pc2FnZSBpbXBvc3NpYmxlIgogCi0jOiBnaXQtcmViYXNlLnNoOjUwMQorIzogZ2l0LXJlYmFzZS5zaDo1NTMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgorbXNnc3RyICJBdXRvcmVtaXNhZ2UgY3LDqcOpIDogJHN0YXNoX2FiYnJldiIKKworIzogZ2l0LXJlYmFzZS5zaDo1NTcKK21zZ2lkICJQbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgorbXNnc3RyICJWZXVpbGxleiBsZXMgdmFsaWRlciBvdSBsZXMgcmVtaXNlci4iCisKKyM6IGdpdC1yZWJhc2Uuc2g6NTc3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIkxhIGJyYW5jaGUgY291cmFudGUgJGJyYW5jaF9uYW1lIGVzdCDDoCBqb3VyLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MDQKKyM6IGdpdC1yZWJhc2Uuc2g6NTgxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCiBtc2dzdHIgIkxhIGJyYW5jaGUgY291cmFudGUgJGJyYW5jaF9uYW1lIGVzdCDDoCBqb3VyLCByZWJhc2FnZSBmb3Jjw6kuIgogCi0jOiBnaXQtcmViYXNlLnNoOjUxNQorIzogZ2l0LXJlYmFzZS5zaDo1OTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgogbXNnc3RyICJDaGFuZ2VtZW50cyBkZSAkbWIgc3VyICRvbnRvIDoiCiAKICMuIERldGFjaCBIRUFEIGFuZCByZXNldCB0aGUgdHJlZQotIzogZ2l0LXJlYmFzZS5zaDo1MjQKKyM6IGdpdC1yZWJhc2Uuc2g6NjAxCiBtc2dpZCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uIgotbXNnc3RyICJQcmVtacOocmVtZW50LCByZXRvdXIgZGUgaGVhZCBwb3VyIHJlam91ZXIgdm90cmUgdHJhdmFpbCBwYXItZGVzc3VzLi4uIgorbXNnc3RyICIiCisiUHJlbWnDqHJlbWVudCwgcmVtYm9iaW5vbnMgaGVhZCBwb3VyIHJlam91ZXIgdm90cmUgdHJhdmFpbCBwYXItZGVzc3VzLi4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjUzMgorIzogZ2l0LXJlYmFzZS5zaDo2MTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKIG1zZ3N0ciAiJGJyYW5jaF9uYW1lIG1pc2Ugw6Agam91ciBlbiBhdmFuY2UgcmFwaWRlIHN1ciAkb250b19uYW1lLiIKQEAgLTk0NDcsNiArMTA1OTYsMTEgQEAKIG1zZ2lkICJDYW5ub3QgcmVjb3JkIHdvcmtpbmcgdHJlZSBzdGF0ZSIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2VucmVnaXN0cmVyIGwnw6l0YXQgZGUgbGEgY29waWUgZGUgdHJhdmFpbCIKIAorIzogZ2l0LXN0YXNoLnNoOjE5MAorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHVwZGF0ZSAkcmVmX3N0YXNoIHdpdGggJHdfY29tbWl0IgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyICRyZWZfc3Rhc2ggYXZlYyAkd19jb21taXQiCisKICMuIFRSQU5TTEFUT1JTOiAkb3B0aW9uIGlzIGFuIGludmFsaWQgb3B0aW9uLCBsaWtlCiAjLiBgLS1ibGFoLWJsYWgnLiBUaGUgNyBzcGFjZXMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUKICMuIHNlY29uZCBsaW5lIGNvcnJlc3BvbmQgdG8gImVycm9yOiAiLiBTbyB5b3Ugc2hvdWxkIGxpbmUKQEAgLTk0NTcsNyArMTA2MTEsNyBAQAogIy4gJCBnaXQgc3Rhc2ggc2F2ZSAtLWJsYWgtYmxhaCAyPiYxIHwgaGVhZCAtbiAyCiAjLiBlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogLS1ibGFoLWJsYWgKICMuIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJy0tYmxhaC1ibGFoJwotIzogZ2l0LXN0YXNoLnNoOjIwMgorIzogZ2l0LXN0YXNoLnNoOjIzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCkBAIC05NDY2LDExOSArMTA2MjAsMTI5IEBACiAiZXJyZXVyOiBvcHRpb24gaW5jb25udWUgcG91ciAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKICIgICAgICAgIFBvdXIgZm91cm5pciB1biBtZXNzYWdlLCB1dGlsaXNleiBnaXQgc3Rhc2ggc2F2ZSAtLSAnJG9wdGlvbiciCiAKLSM6IGdpdC1zdGFzaC5zaDoyMjMKKyM6IGdpdC1zdGFzaC5zaDoyNTgKIG1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCi1tc2dzdHIgIlBhcyBkZSBjaGFuZ2VtZW50cyBlbiBsb2NhbCDDoCBzYXV2ZXIiCittc2dzdHIgIlBhcyBkZSBtb2RpZmljYXRpb25zIGxvY2FsZXMgw6Agc2F1dmVyIgogCi0jOiBnaXQtc3Rhc2guc2g6MjI3CisjOiBnaXQtc3Rhc2guc2g6MjYyCiBtc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCiBtc2dzdHIgIkltcG9zc2libGUgZCdpbml0aWFsaXNlciBsZSByZW1pc2FnZSIKIAotIzogZ2l0LXN0YXNoLnNoOjIzNQorIzogZ2l0LXN0YXNoLnNoOjI2NgogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzYXV2ZXIgbGUgc3RhdHV0IGNvdXJhbnQiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNTMKKyM6IGdpdC1zdGFzaC5zaDoyODQKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGxlcyBjaGFuZ2VtZW50cyBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBnaXQtc3Rhc2guc2g6MzUyCisjOiBnaXQtc3Rhc2guc2g6MzgzCiBtc2dpZCAiTm8gc3Rhc2ggZm91bmQuIgogbXNnc3RyICJQYXMgZGUgcmVtaXNhZ2UgdHJvdXbDqS4iCiAKLSM6IGdpdC1zdGFzaC5zaDozNTkKKyM6IGdpdC1zdGFzaC5zaDozOTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCiBtc2dzdHIgIlRyb3AgZGUgcsOpdmlzaW9ucyBzcMOpY2lmacOpZXMgOiAkUkVWIgogCi0jOiBnaXQtc3Rhc2guc2g6MzY1CisjOiBnaXQtc3Rhc2guc2g6Mzk2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkcmVmZXJlbmNlIGlzIG5vdCB2YWxpZCByZWZlcmVuY2UiCiBtc2dzdHIgIiRyZWZlcmVuY2Ugbidlc3QgcGFzIHVuZSByw6lmw6lyZW5jZSB2YWxpZGUiCiAKLSM6IGdpdC1zdGFzaC5zaDozOTMKKyM6IGdpdC1zdGFzaC5zaDo0MjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCiBtc2dzdHIgIickYXJncycgbidlc3QgcGFzIHVuZSB2YWxpZGF0aW9uIGRlIHR5cGUgcmVtaXNhZ2UiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MDQKKyM6IGdpdC1zdGFzaC5zaDo0MzUKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2ggcmVmZXJlbmNlIgogbXNnc3RyICInJGFyZ3MnIG4nZXN0IHBhcyB1bmUgcsOpZsOpcmVuY2UgZGUgcmVtaXNhZ2UiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MTIKKyM6IGdpdC1zdGFzaC5zaDo0NDMKIG1zZ2lkICJ1bmFibGUgdG8gcmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByYWZyYcOuY2hpciBsJ2luZGV4IgogCi0jOiBnaXQtc3Rhc2guc2g6NDE2CisjOiBnaXQtc3Rhc2guc2g6NDQ3CiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgotbXNnc3RyICJJbXBvc3NpYmxlIGQnYXBwbGlxdWVyIHVuIHJlbWlzYWdlIGF1IG1pbGlldSBkJ3VuZSBmdXNpb24iCittc2dzdHIgIkltcG9zc2libGUgZCdhcHBsaXF1ZXIgdW4gcmVtaXNhZ2UgZW4gY291cnMgZGUgZnVzaW9uIgogCi0jOiBnaXQtc3Rhc2guc2g6NDI0CisjOiBnaXQtc3Rhc2guc2g6NDU1CiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAiQ29uZmxpdHMgZGFucyBsJ2luZGV4LiBFc3NheWV6IHNhbnMgLS1pbmRleC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0MjYKKyM6IGdpdC1zdGFzaC5zaDo0NTcKIG1zZ2lkICJDb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHNhdXZlciBsJ2FyYnJlIGQnaW5kZXgiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NjAKKyM6IGdpdC1zdGFzaC5zaDo0OTEKIG1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBkw6lzaW5kZXhlciBsZXMgZmljaGllcnMgbW9kaWZpw6lzIgogCi0jOiBnaXQtc3Rhc2guc2g6NDc1CisjOiBnaXQtc3Rhc2guc2g6NTA2CiBtc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgotbXNnc3RyICIiCittc2dzdHIgIkwnaW5kZXggbidhIHBhcyDDqXTDqSBzb3J0aSBkZSByZW1pc2UuIgogCi0jOiBnaXQtc3Rhc2guc2g6NDkyCisjOiBnaXQtc3Rhc2guc2g6NTIzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEcm9wcGVkICR7UkVWfSAoJHMpIgogbXNnc3RyICIke1JFVn0gc3VwcHJpbcOpICgkcykiCiAKLSM6IGdpdC1zdGFzaC5zaDo0OTMKKyM6IGdpdC1zdGFzaC5zaDo1MjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCi1tc2dzdHIgIiR7UkVWfTogSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbCdlbnRyw6llIGRlIHN0YXNoIgorbXNnc3RyICIke1JFVn06IEltcG9zc2libGUgZGUgc3VwcHJpbWVyIGwnw6lsw6ltZW50IGRlIHN0YXNoIgogCi0jOiBnaXQtc3Rhc2guc2g6NTAwCisjOiBnaXQtc3Rhc2guc2g6NTMxCiBtc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgogbXNnc3RyICJBdWN1bmUgYnJhbmNoZSBzcMOpY2lmacOpZSIKIAotIzogZ2l0LXN0YXNoLnNoOjU3MQorIzogZ2l0LXN0YXNoLnNoOjYwMwogbXNnaWQgIihUbyByZXN0b3JlIHRoZW0gdHlwZSBcImdpdCBzdGFzaCBhcHBseVwiKSIKIG1zZ3N0ciAiKFBvdXIgbGVzIHJlc3RhdXJlciB0YXBleiBcImdpdCBzdGFzaCBhcHBseVwiKSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJHJlbW90ZXVybCciCiBtc2dzdHIgImltcG9zc2libGUgZGUgc3VwcHJpbWVyIHVuIGNvbXBvc2FudCBkZSBsJ1VSTCAnJHJlbW90ZXVybCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTk2CisjOiBnaXQtc3VibW9kdWxlLnNoOjIzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiTm8gc3VibW9kdWxlIG1hcHBpbmcgZm91bmQgaW4gLmdpdG1vZHVsZXMgZm9yIHBhdGggJyRzbV9wYXRoJyIKLW1zZ3N0ciAiUGFzIGRlIG1hcHBhZ2UgZHUgc291cy1tb2R1bGUgdHJvdXbDqSBkYW5zIC5naXRtb2R1bGVzIHBvdXIgbGUgY2hlbWluICckc21fcGF0aCciCittc2dzdHIgIiIKKyJQYXMgZGUgbWlzZSBlbiBjb3JyZXNwb25kYW5jZSBkdSBzb3VzLW1vZHVsZSB0cm91dsOpIGRhbnMgLmdpdG1vZHVsZXMgcG91ciBsZSAiCisiY2hlbWluICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjM5CisjOiBnaXQtc3VibW9kdWxlLnNoOjI4MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2xvbmUgb2YgJyR1cmwnIGludG8gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyBmYWlsZWQiCiBtc2dzdHIgIkxlIGNsb25hZ2UgZGUgJyR1cmwnIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckc21fcGF0aCcgYSDDqWNob3XDqSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjkzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJHaXRkaXIgJyRhJyBpcyBwYXJ0IG9mIHRoZSBzdWJtb2R1bGUgcGF0aCAnJGInIG9yIHZpY2UgdmVyc2EiCi1tc2dzdHIgIkxlIHLDqXBlcnRvaXJlIEdpdCAnJGEnIGZhaXQgcGFydGllIGR1IGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJGInIG91IHZpY2UtdmVyc2EiCittc2dzdHIgIiIKKyJMZSByw6lwZXJ0b2lyZSBHaXQgJyRhJyBmYWl0IHBhcnRpZSBkdSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRiJyBvdSB2aWNlLSIKKyJ2ZXJzYSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNDkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDAzCittc2dpZCAiUmVsYXRpdmUgcGF0aCBjYW4gb25seSBiZSB1c2VkIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIiIKKyJVbiBjaGVtaW4gcmVsYXRpZiBuZSBwZXV0IMOqdHJlIHV0aWxpc8OpIHF1ZSBkZXB1aXMgbGEgcmFjaW5lIGRlIGxhIGNvcGllIGRlICIKKyJ0cmF2YWlsIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjQxMwogIywgc2gtZm9ybWF0CiBtc2dpZCAicmVwbyBVUkw6ICckcmVwbycgbXVzdCBiZSBhYnNvbHV0ZSBvciBiZWdpbiB3aXRoIC4vfC4uLyIKIG1zZ3N0ciAiTCdVUkwgZGUgZMOpcMO0dCAnJHJlcG8nIGRvaXQgw6p0cmUgYWJzb2x1IG91IGNvbW1lbmNlciBwYXIgLi98Li4vIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM2NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGluZGV4IgogbXNnc3RyICInJHNtX3BhdGgnIGV4aXN0ZSBkw6lqw6AgZGFucyBsJ2luZGV4IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM3MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHBhdGggaXMgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgpAQCAtOTU4OSwyMzUgKzEwNzUzLDMwMSBAQAogIiRzbV9wYXRoXG4iCiAiVXRpbGlzZXogLWYgc2kgdm91cyB2b3VsZXogdnJhaW1lbnQgbCdham91dGVyLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozODgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDUyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgZXhpc3RpbmcgcmVwbyBhdCAnJHNtX3BhdGgnIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiQWpvdXQgZHUgZMOpcMO0dCBleGlzdGFudCDDoCAnJHNtX3BhdGgnIGRhbnMgbCdpbmRleCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozOTAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDU0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYSB2YWxpZCBnaXQgcmVwbyIKIG1zZ3N0ciAiJyRzbV9wYXRoJyBleGlzdGUgZMOpasOgIGV0IG4nZXN0IHBhcyB1biBkw6lww7R0IGdpdCB2YWxpZGUiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mzk4CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ2MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQSBnaXQgZGlyZWN0b3J5IGZvciAnJHNtX25hbWUnIGlzIGZvdW5kIGxvY2FsbHkgd2l0aCByZW1vdGUocyk6IgotbXNnc3RyICJVbiByw6lwZXJ0b2lyZSBnaXQgcG91ciAnJHNtX25hbWUnIGVzdCB0cm91dsOpIGVuIGxvY2FsIGF2ZWMgbGUocykgc2VydmV1cihzKSBkaXN0YW50KHMpIDoiCittc2dzdHIgIiIKKyJVbiByw6lwZXJ0b2lyZSBnaXQgcG91ciAnJHNtX25hbWUnIGVzdCB0cm91dsOpIGVuIGxvY2FsIGF2ZWMgbGUocykgc2VydmV1cihzKSAiCisiZGlzdGFudChzKSA6IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQwMAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb20iCi1tc2dzdHIgIlNpIHZvdXMgdm91bGV6IHLDqXV0aWxpc2VyIGNlIHLDqXBlcnRvaXJlIGdpdCBsb2NhbCBhdSBsaWV1IGRlIGNsb25lciDDoCBub3V2ZWF1IGRlcHVpcyIKK21zZ3N0ciAiIgorIlNpIHZvdXMgdm91bGV6IHLDqXV0aWxpc2VyIGNlIHLDqXBlcnRvaXJlIGdpdCBsb2NhbCBhdSBsaWV1IGRlIGNsb25lciDDoCAiCisibm91dmVhdSBkZXB1aXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDAyCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ2NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogInVzZSB0aGUgJy0tZm9yY2UnIG9wdGlvbi4gSWYgdGhlIGxvY2FsIGdpdCBkaXJlY3RvcnkgaXMgbm90IHRoZSBjb3JyZWN0IHJlcG8iCi1tc2dzdHIgInV0aWxpc2V6IGwnb3B0aW9uICctLWZvcmNlJy4gU2kgbGUgcsOpcGVydG9pcmUgbG9jYWwgZ2l0IG4nZXN0IHBhcyBsZSBkw6lww7R0IGNvcnJlY3QiCittc2dzdHIgIiIKKyJ1dGlsaXNleiBsJ29wdGlvbiAnLS1mb3JjZScuIFNpIGxlIHLDqXBlcnRvaXJlIGxvY2FsIGdpdCBuJ2VzdCBwYXMgbGUgZMOpcMO0dCAiCisiY29ycmVjdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MDMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAib3IgeW91IGFyZSB1bnN1cmUgd2hhdCB0aGlzIG1lYW5zIGNob29zZSBhbm90aGVyIG5hbWUgd2l0aCB0aGUgJy0tbmFtZScgIgogIm9wdGlvbi4iCi1tc2dzdHIgIm91IHZvdXMgbmUgc2F2ZXogcGFzIGNlIHF1ZSBjZWxhIHNpZ25pZmllIGRlIGNob2lzaXIgdW4gYXV0cmUgbm9tIGF2ZWMgbCdvcHRpb24gJy0tbmFtZScuIgorbXNnc3RyICIiCisib3Ugdm91cyBuZSBzYXZleiBwYXMgY2UgcXVlIGNlbGEgc2lnbmlmaWUgZGUgY2hvaXNpciB1biBhdXRyZSBub20gYXZlYyAiCisibCdvcHRpb24gJy0tbmFtZScuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQwNQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYWN0aXZhdGluZyBsb2NhbCBnaXQgZGlyZWN0b3J5IGZvciBzdWJtb2R1bGUgJyRzbV9uYW1lJy4iCiBtc2dzdHIgIlLDqWFjdGl2YXRpb24gZHUgcsOpcGVydG9pcmUgZ2l0IGxvY2FsIHBvdXIgbGUgc291cy1tb2R1bGUgJyRzbV9uYW1lJy4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDE3CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ4MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0IHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnZXh0cmFpcmUgbGUgc291cy1tb2R1bGUgJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MjIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDg2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gYWRkIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICLDiWNoZWMgZCdham91dCBkdSBzb3VzLW1vZHVsZSAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQzMQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiw4ljaGVjIGQnZW5yZWdpc3RyZW1lbnQgZHUgc291cy1tb2R1bGUgJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTM5CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJFbnRlcmluZyAnJHByZWZpeCRzbV9wYXRoJyIKLW1zZ3N0ciAiRW50csOpZSBkYW5zICckcHJlZml4JHNtX3BhdGgnIgorbXNnaWQgIkVudGVyaW5nICckcHJlZml4JGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiRW50csOpZSBkYW5zICckcHJlZml4JGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0ODgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTU5CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJTdG9wcGluZyBhdCAnJHNtX3BhdGgnOyBzY3JpcHQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzLiIKLW1zZ3N0ciAiQXJyw6p0IHN1ciAnJHNtX3BhdGgnIDsgbGUgc2NyaXB0IGEgcmV0b3VybsOpIHVuIHN0YXR1dCBub24gbnVsLiIKK21zZ2lkICJTdG9wcGluZyBhdCAnJHByZWZpeCRkaXNwbGF5cGF0aCc7IHNjcmlwdCByZXR1cm5lZCBub24temVybyBzdGF0dXMuIgorbXNnc3RyICIiCisiQXJyw6p0IHN1ciAnJHByZWZpeCRkaXNwbGF5cGF0aCcgOyBsZSBzY3JpcHQgYSByZXRvdXJuw6kgdW4gc3RhdHV0IG5vbiBudWwuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjUzMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MDUKICMsIHNoLWZvcm1hdAotbXNnaWQgIk5vIHVybCBmb3VuZCBmb3Igc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyBpbiAuZ2l0bW9kdWxlcyIKLW1zZ3N0ciAiVVJMIG5vbiB0cm91dsOpIHBvdXIgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckc21fcGF0aCcgZGFucyAuZ2l0bW9kdWxlcyIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NDEKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cmwgZm9yIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCi1tc2dzdHIgIsOJY2hlYyBkJ2VucmVnaXN0cmVtZW50IGRlIGwnVVJMIHBvdXIgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckc21fcGF0aCciCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTQzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJTdWJtb2R1bGUgJyRuYW1lJyAoJHVybCkgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJHNtX3BhdGgnIgotbXNnc3RyICJTb3VzLW1vZHVsZSAnJG5hbWUnICgkdXJsKSBlbnJlZ2lzdHLDqSBwb3VyIGxlIGNoZW1pbiAnJHNtX3BhdGgnIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU1MQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgotbXNnc3RyICLDiWNoZWMgZCdlbnJlZ2lzdHJlbWVudCBkdSBtb2RlIGRlIG1pc2Ugw6Agam91ciBwb3VyIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJHNtX3BhdGgnIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU4OAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiVXNlICcuJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgotbXNnc3RyICJVdGlsaXNleiAnLicgc2kgdm91cyB2b3VsZXogdnJhaW1lbnQgcsOpaW5pdGlhbGlzZXIgdG91cyBsZXMgc291cy1tb2R1bGVzIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwMwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJHNtX3BhdGgnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnkiCi1tc2dzdHIgIkxhIGNvcGllIGRlIHRyYXZhaWwgZHUgc291cy1tb2R1bGUgJyRzbV9wYXRoJyBjb250aWVudCB1biByw6lwZXJ0b2lyZSAuZ2l0IgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwNAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKLW1zZ3N0ciAiKHV0aWxpc2V6ICdybSAtcmYnIHNpIHZvdXMgdm91bGV6IHZyYWltZW50IGxlIHN1cHByaW1lciBlbiBpbmNsdWFudCB0b3V0IHNvbiBoaXN0b3JpcXVlKSIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJTdWJtb2R1bGUgd29yayB0cmVlICckc21fcGF0aCcgY29udGFpbnMgbG9jYWwgbW9kaWZpY2F0aW9uczsgdXNlICctZicgdG8gIgotImRpc2NhcmQgdGhlbSIKLW1zZ3N0ciAiTGEgY29waWUgZGUgdHJhdmFpbCBkdSBzb3VzLW1vZHVsZSAnJHNtX3BhdGgnIGNvbnRpZW50IGRlcyBtb2RpZmljYXRpb25zIGxvY2FsZXM7IHV0aWxpc2V6ICctZicgcG91ciBsZXMgYW5udWxlciIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTMKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNsZWFyZWQgZGlyZWN0b3J5ICckc21fcGF0aCciCi1tc2dzdHIgIlLDqXBlcnRvaXJlICckc21fcGF0aCcgbmV0dG95w6kiCittc2dpZCAiTm8gdXJsIGZvdW5kIGZvciBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyBpbiAuZ2l0bW9kdWxlcyIKK21zZ3N0ciAiIgorIlVSTCBub24gdHJvdXbDqSBwb3VyIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyBkYW5zIC5naXRtb2R1bGVzIgogCiAjOiBnaXQtc3VibW9kdWxlLnNoOjYxNAogIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHJlbW92ZSBzdWJtb2R1bGUgd29yayB0cmVlICckc21fcGF0aCciCi1tc2dzdHIgIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGxhIGNvcGllIGRlIHRyYXZhaWwgZHUgc291cy1tb2R1bGUgJyRzbV9wYXRoJyIKK21zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiIgorIsOJY2hlYyBkJ2VucmVnaXN0cmVtZW50IGRlIGwnVVJMIHBvdXIgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYxNworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTYKICMsIHNoLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAnJHNtX3BhdGgnIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNyw6llciBsZSByw6lwZXJ0b2lyZSB2aWRlIGR1IHNvdXMtbW9kdWxlICckc21fcGF0aCciCittc2dpZCAiU3VibW9kdWxlICckbmFtZScgKCR1cmwpIHJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIlNvdXMtbW9kdWxlICckbmFtZScgKCR1cmwpIGVucmVnaXN0csOpIHBvdXIgbGUgY2hlbWluICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYyNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzMKICMsIHNoLWZvcm1hdAotbXNnaWQgIlN1Ym1vZHVsZSAnJG5hbWUnICgkdXJsKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyRzbV9wYXRoJyIKLW1zZ3N0ciAiTGUgc291cy1tb2R1bGUgJyRuYW1lJyAoJHVybCkgbidlc3QgcGFzIGVucmVnaXN0csOpIHBvdXIgbGUgY2hlbWluICckc21fcGF0aCciCittc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiIgorIsOJY2hlYyBkJ2VucmVnaXN0cmVtZW50IGR1IG1vZGUgZGUgbWlzZSDDoCBqb3VyIHBvdXIgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICIKKyInJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MzEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjcxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJVc2UgJy4nIGlmIHlvdSByZWFsbHkgd2FudCB0byBkZWluaXRpYWxpemUgYWxsIHN1Ym1vZHVsZXMiCittc2dzdHIgIiIKKyJVdGlsaXNleiAnLicgc2kgdm91cyB2b3VsZXogdnJhaW1lbnQgcsOpaW5pdGlhbGlzZXIgdG91cyBsZXMgc291cy1tb2R1bGVzIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjY4OAorIywgc2gtZm9ybWF0Cittc2dpZCAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5IgorbXNnc3RyICIiCisiTGEgY29waWUgZGUgdHJhdmFpbCBkdSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyBjb250aWVudCB1biByw6lwZXJ0b2lyZSAuZ2l0IgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjY4OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgotIlN1Ym1vZHVsZSBwYXRoICckcHJlZml4JHNtX3BhdGgnIG5vdCBpbml0aWFsaXplZFxuIgorIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKK21zZ3N0ciAiIgorIih1dGlsaXNleiAncm0gLXJmJyBzaSB2b3VzIHZvdWxleiB2cmFpbWVudCBsZSBzdXBwcmltZXIgZW4gaW5jbHVhbnQgdG91dCBzb24gIgorImhpc3RvcmlxdWUpIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjY5NQorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgbG9jYWwgbW9kaWZpY2F0aW9uczsgdXNlICctZicgdG8gIgorImRpc2NhcmQgdGhlbSIKK21zZ3N0ciAiIgorIkxhIGNvcGllIGRlIHRyYXZhaWwgZHUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCcgY29udGllbnQgZGVzIG1vZGlmaWNhdGlvbnMgIgorImxvY2FsZXMgOyB1dGlsaXNleiAnLWYnIHBvdXIgbGVzIGFubnVsZXIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njk4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDbGVhcmVkIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiUsOpcGVydG9pcmUgJyRkaXNwbGF5cGF0aCcgbmV0dG95w6kiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njk5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIHN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIiIKKyJJbXBvc3NpYmxlIGRlIHN1cHByaW1lciBsYSBjb3BpZSBkZSB0cmF2YWlsIGR1IHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjcwMgorIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBlbXB0eSBzdWJtb2R1bGUgZGlyZWN0b3J5ICckZGlzcGxheXBhdGgnIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNyw6llciBsZSByw6lwZXJ0b2lyZSB2aWRlIGR1IHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjcxMQorIywgc2gtZm9ybWF0Cittc2dpZCAiU3VibW9kdWxlICckbmFtZScgKCR1cmwpIHVucmVnaXN0ZXJlZCBmb3IgcGF0aCAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiIgorIkxlIHNvdXMtbW9kdWxlICckbmFtZScgKCR1cmwpIG4nZXN0IHBhcyBlbnJlZ2lzdHLDqSBwb3VyIGxlIGNoZW1pbiAiCisiJyRkaXNwbGF5cGF0aCciCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODM0CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcgbm90IGluaXRpYWxpemVkXG4iCiAiTWF5YmUgeW91IHdhbnQgdG8gdXNlICd1cGRhdGUgLS1pbml0Jz8iCiBtc2dzdHIgIiIKLSJDaGVtaW4gZGUgc291cy1tb2R1bGUgJyRwcmVmaXgkc21fcGF0aCcgbm9uIGluaXRpYWxpc8OpXG4iCisiQ2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIG5vbiBpbml0aWFsaXPDqVxuIgogIlBldXQtw6p0cmUgc291aGFpdGV6LXZvdXMgdXRpbGlzZXIgJ3VwZGF0ZSAtLWluaXQnID8iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzQ0CisjOiBnaXQtc3VibW9kdWxlLnNoOjg0NwogIywgc2gtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAnJHByZWZpeCRzbV9wYXRoJyIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSB0cm91dmVyIGxhIHLDqXZpc2lvbiBjb3VyYW50ZSBkYW5zIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJHByZWZpeCRzbV9wYXRoJyIKK21zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICIiCisiSW1wb3NzaWJsZSBkZSB0cm91dmVyIGxhIHLDqXZpc2lvbiBjb3VyYW50ZSBkYW5zIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAiCisiJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzUzCisjOiBnaXQtc3VibW9kdWxlLnNoOjg1NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcmFwYXRyaWVyIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Nzc3CisjOiBnaXQtc3VibW9kdWxlLnNoOjg4MAogIywgc2gtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckcHJlZml4JHNtX3BhdGgnIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIHJhcGF0cmllciBkYW5zIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJHByZWZpeCRzbV9wYXRoJyIKK21zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIkltcG9zc2libGUgZGUgcmFwYXRyaWVyIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjc5MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTQKICMsIHNoLWZvcm1hdAotbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJHByZWZpeCRzbV9wYXRoJyIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZWJhc2VyICckc2hhMScgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRwcmVmaXgkc21fcGF0aCciCittc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICIiCisiSW1wb3NzaWJsZSBkZSByZWJhc2VyICckc2hhMScgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzkyCisjOiBnaXQtc3VibW9kdWxlLnNoOjg5NQogIywgc2gtZm9ybWF0Ci1tc2dpZCAiU3VibW9kdWxlIHBhdGggJyRwcmVmaXgkc21fcGF0aCc6IHJlYmFzZWQgaW50byAnJHNoYTEnIgotbXNnc3RyICJDaGVtaW4gZGUgc291cy1tb2R1bGUgJyRwcmVmaXgkc21fcGF0aCcgOiByZWJhc8OpIGRhbnMgJyRzaGExJyIKK21zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCittc2dzdHIgIkNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyA6IHJlYmFzw6kgZGFucyAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjc5NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDAKICMsIHNoLWZvcm1hdAotbXNnaWQgIlVuYWJsZSB0byBtZXJnZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckcHJlZml4JHNtX3BhdGgnIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIGZ1c2lvbm5lciAnJHNoYTEnIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckcHJlZml4JHNtX3BhdGgnIgorbXNnaWQgIlVuYWJsZSB0byBtZXJnZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICIiCisiSW1wb3NzaWJsZSBkZSBmdXNpb25uZXIgJyRzaGExJyBkYW5zIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3OTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTAxCiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJHByZWZpeCRzbV9wYXRoJzogbWVyZ2VkIGluICckc2hhMSciCi1tc2dzdHIgIkNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJHByZWZpeCRzbV9wYXRoJyA6IGZ1c2lvbm7DqSBkYW5zICckc2hhMSciCittc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgorbXNnc3RyICJDaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCcgOiBmdXNpb25uw6kgZGFucyAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgwMworIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDYKICMsIHNoLWZvcm1hdAotbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckcHJlZml4JHNtX3BhdGgnIgotbXNnc3RyICJJbXBvc3NpYmxlIGQnZXh0cmFpcmUgJyRzaGExJyBkYW5zIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJHByZWZpeCRzbV9wYXRoJyIKK21zZ2lkICIiCisiRXhlY3V0aW9uIG9mICckY29tbWFuZCAkc2hhMScgZmFpbGVkIGluIHN1Ym1vZHVsZSAgcGF0aCAnJHByZWZpeCRzbV9wYXRoJyIKK21zZ3N0ciAiIgorIkwnZXjDqWN1dGlvbiBkZSAnJGNvbW1hbmQgJHNoYTEnIGEgw6ljaG91w6kgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgIgorIickcHJlZml4JHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgwNAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDcKICMsIHNoLWZvcm1hdAotbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckcHJlZml4JHNtX3BhdGgnOiBjaGVja2VkIG91dCAnJHNoYTEnIgotbXNnc3RyICJDaGVtaW4gZGUgc291cy1tb2R1bGUgJyRwcmVmaXgkc21fcGF0aCcgOiAnJHNoYTEnIGV4dHJhaXQiCittc2dpZCAiU3VibW9kdWxlIHBhdGggJyRwcmVmaXgkc21fcGF0aCc6ICckY29tbWFuZCAkc2hhMSciCittc2dzdHIgIkNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJHByZWZpeCRzbV9wYXRoJyA6ICckY29tbWFuZCAkc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODMxCisjOiBnaXQtc3VibW9kdWxlLnNoOjkxMgogIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJHByZWZpeCRzbV9wYXRoJyIKLW1zZ3N0ciAiw4ljaGVjIGRlIHBhcmNvdXJzIGRhbnMgbGUgY2hlbWluIGR1IHNvdXMtbW9kdWxlICckcHJlZml4JHNtX3BhdGgnIgorbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICIiCisiSW1wb3NzaWJsZSBkJ2V4dHJhaXJlICckc2hhMScgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTM5CisjOiBnaXQtc3VibW9kdWxlLnNoOjkxMworIywgc2gtZm9ybWF0Cittc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCittc2dzdHIgIkNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyA6ICckc2hhMScgZXh0cmFpdCIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo5NDAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIsOJY2hlYyBkZSBwYXJjb3VycyBkYW5zIGxlIGNoZW1pbiBkdSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDQ4CiBtc2dpZCAiVGhlIC0tY2FjaGVkIG9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSAtLWZpbGVzIG9wdGlvbiIKIG1zZ3N0ciAiTCdvcHRpb24gLS1jYWNoZWQgbmUgcGV1dCBwYXMgw6p0cmUgdXRpbGlzw6llIGF2ZWMgbCdvcHRpb24gLS1maWxlcyIKIAogIy4gdW5leHBlY3RlZCB0eXBlCi0jOiBnaXQtc3VibW9kdWxlLnNoOjk3OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDk2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG1vZGUgJG1vZF9kc3QiCiBtc2dzdHIgIm1vZGUgJG1vZF9kc3QgaW5hdHRlbmR1IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjk5NworIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTE2CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICIgIFdhcm46ICRuYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgotbXNnc3RyICIgIEF0dGVudGlvbiA6ICRuYW1lIG5lIGNvbnRpZW50IHBhcyBsYSB2YWxpZGF0aW9uICRzaGExX3NyYyIKK21zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCittc2dzdHIgIiAgQXR0ZW50aW9uIDogJGRpc3BsYXlfbmFtZSBuZSBjb250aWVudCBwYXMgbGEgdmFsaWRhdGlvbiAkc2hhMV9zcmMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTAwMAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTE5CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICIgIFdhcm46ICRuYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfZHN0IgotbXNnc3RyICIgIEF0dGVudGlvbiA6ICRuYW1lIG5lIGNvbnRpZW50IHBhcyBsYSB2YWxpZGF0aW9uICRzaGExX2RzdCIKK21zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCittc2dzdHIgIiAgQXR0ZW50aW9uIDogJGRpc3BsYXlfbmFtZSBuZSBjb250aWVudCBwYXMgbGEgdmFsaWRhdGlvbiAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTAwMworIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTIyCiAjLCBzaC1mb3JtYXQKLW1zZ2lkICIgIFdhcm46ICRuYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXRzICRzaGExX3NyYyBhbmQgJHNoYTFfZHN0IgotbXNnc3RyICIgIEF0dGVudGlvbiA6ICRuYW1lIG5lIGNvbnRpZW50IHBhcyBsZXMgdmFsaWRhdGlvbnMgJHNoYTFfc3JjIGV0ICRzaGExX2RzdCIKK21zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCittc2dzdHIgIiIKKyIgIEF0dGVudGlvbiA6ICRkaXNwbGF5X25hbWUgbmUgY29udGllbnQgcGFzIGxlcyB2YWxpZGF0aW9ucyAkc2hhMV9zcmMgZXQgIgorIiRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDI4CisjOiBnaXQtc3VibW9kdWxlLnNoOjExNDcKIG1zZ2lkICJibG9iIgogbXNnc3RyICJibG9iIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwNjYKLW1zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKLW1zZ3N0ciAiU291cy1tb2R1bGVzIG1vZGlmacOpcyBtYWlzIG5vbiBtaXMgw6Agam91ciA6IgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwNjgKLW1zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgotbXNnc3RyICJDaGFuZ2VtZW50cyBkdSBzb3VzLW1vZHVsZSDDoCB2YWxpZGVyIDoiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTE1MworIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMjYxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIsOJY2hlYyBkZSBwYXJjb3VycyBkYW5zIGxlIGNoZW1pbiBkdSBzb3VzLW1vZHVsZSAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEyMTYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTMyNQogIywgc2gtZm9ybWF0Ci1tc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJHByZWZpeCRzbV9wYXRoJyIKLW1zZ3N0ciAiU3luY2hyb25pc2F0aW9uIGRlIGwnVVJMIHNvdXMtbW9kdWxlIHBvdXIgJyRwcmVmaXgkc21fcGF0aCciCittc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiU3luY2hyb25pc2F0aW9uIGRlIGwnVVJMIHNvdXMtbW9kdWxlIHBvdXIgJyRkaXNwbGF5cGF0aCciCisKKyN+IG1zZ2lkICJjb3BpZWQ6ICAgICAlcyAtPiAlcyIKKyN+IG1zZ3N0ciAiY29wacOpIDogICAgICVzIC0+ICVzIgorCisjfiBtc2dpZCAiZGVsZXRlZDogICAgJXMiCisjfiBtc2dzdHIgInN1cHByaW3DqSA6ICAlcyIKKworI34gbXNnaWQgIm1vZGlmaWVkOiAgICVzIgorI34gbXNnc3RyICJtb2RpZmnDqSA6ICAgJXMiCisKKyN+IG1zZ2lkICJyZW5hbWVkOiAgICAlcyAtPiAlcyIKKyN+IG1zZ3N0ciAicmVub21tw6kgOiAgICVzIC0+ICVzIgorCisjfiBtc2dpZCAidW5tZXJnZWQ6ICAgJXMiCisjfiBtc2dzdHIgIm5vbiBmdXMuIDogICVzIgorCisjfiBtc2dpZCAiaW5wdXQgcGF0aHMgYXJlIHRlcm1pbmF0ZWQgYnkgYSBudWxsIGNoYXJhY3RlciIKKyN+IG1zZ3N0ciAibGVzIGNoZW1pbnMgZW4gZW50csOpZSBzb250IHRlcm1pbsOpcyBwYXIgbGUgY2FyYWN0w6hyZSBudWwiCisKKyN+IG1zZ2lkICJkb25lXG4iCisjfiBtc2dzdHIgImZhaXRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCBmaWxlcyB3b3VsZCBOT1QgYmUgc2F2ZWQgYnV0IG5lZWQgdG8gYmUgcmVtb3ZlZCAiCisjfiAiYnkgc3Rhc2ggc2F2ZToiCisjfiBtc2dzdHIgIiIKKyN+ICJMZXMgZmljaGllcnMgc3VpdmFudHMgbm9uIHN1aXZpcyBuZSBzZXJvbnQgUEFTIHNhdXbDqXMgbWFpcyBkb2l2ZW50IMOqdHJlICIKKyN+ICJzdXBwcmltw6lzIHBhciBsZSByZW1pc2FnZSA6IgorCisjfiBtc2dpZCAiIgorI34gIkFib3J0aW5nLiBDb25zaWRlciB1c2luZyBlaXRoZXIgdGhlIC0tZm9yY2Ugb3IgLS1pbmNsdWRlLXVudHJhY2tlZCBvcHRpb24uIgorI34gbXNnc3RyICJBYmFuZG9uLiBVdGlsaXNleiBsJ29wdGlvbiAtLWZvcmNlIG91IC0taW5jbHVkZS11bnRyYWNrZWQuIgpkaWZmIC0tZ2l0IGEvcG8vZ2l0LnBvdCBiL3BvL2dpdC5wb3QKaW5kZXggY2YxZTQ0Ni4uMTNkZmE4NiAxMDA2NDQKLS0tIGEvcG8vZ2l0LnBvdAorKysgYi9wby9naXQucG90CkBAIC04LDcgKzgsNyBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBQQUNLQUdFIFZFUlNJT05cbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogR2l0IE1haWxpbmcgTGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz5cbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMy0wOC0wNiAxNDoxMCswODAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTQtMDEtMTggMDc6NDIrMDgwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IFlFQVItTU8tREEgSE86TUkrWk9ORVxuIgogIkxhc3QtVHJhbnNsYXRvcjogRlVMTCBOQU1FIDxFTUFJTEBBRERSRVNTPlxuIgogIkxhbmd1YWdlLVRlYW06IExBTkdVQUdFIDxMTEBsaS5vcmc+XG4iCkBAIC01Miw3MSArNTIsNzYgQEAKIG1zZ2lkICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8cmVwbz4gWy0tZXhlYyA8Y21kPl0gLS1saXN0IgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzozMjMKKyM6IGFyY2hpdmUuYzoyNDIgYnVpbHRpbi9hZGQuYzoyNDAgYnVpbHRpbi9hZGQuYzo1NTkgYnVpbHRpbi9ybS5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGFyY2hpdmUuYzozMjcKIG1zZ2lkICJmbXQiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjMyMworIzogYXJjaGl2ZS5jOjMyNwogbXNnaWQgImFyY2hpdmUgZm9ybWF0IgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzozMjQgYnVpbHRpbi9sb2cuYzoxMTczCisjOiBhcmNoaXZlLmM6MzI4IGJ1aWx0aW4vbG9nLmM6MTE5MwogbXNnaWQgInByZWZpeCIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6MzI1CisjOiBhcmNoaXZlLmM6MzI5CiBtc2dpZCAicHJlcGVuZCBwcmVmaXggdG8gZWFjaCBwYXRobmFtZSBpbiB0aGUgYXJjaGl2ZSIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6MzI2IGJ1aWx0aW4vYXJjaGl2ZS5jOjg4IGJ1aWx0aW4vYmxhbWUuYzoyMjkyCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5MyBidWlsdGluL2NvbmZpZy5jOjU2IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzMKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzUgYnVpbHRpbi9ncmVwLmM6NzE0IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3NwotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5NiBidWlsdGluL2xzLWZpbGVzLmM6NDk5IGJ1aWx0aW4vbm90ZXMuYzo0MDgKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NjUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDggcGFyc2Utb3B0aW9ucy5oOjE1MgorIzogYXJjaGl2ZS5jOjMzMCBidWlsdGluL2FyY2hpdmUuYzo4OCBidWlsdGluL2JsYW1lLmM6MjI2NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjYgYnVpbHRpbi9jb25maWcuYzo1OCBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgyIGJ1aWx0aW4vZ3JlcC5jOjcxNiBidWlsdGluL2hhc2gtb2JqZWN0LmM6NzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODYgYnVpbHRpbi9scy1maWxlcy5jOjQ4OSBidWlsdGluL25vdGVzLmM6NDA4CisjOiBidWlsdGluL25vdGVzLmM6NTY1IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA4IHBhcnNlLW9wdGlvbnMuaDoxNTQKIG1zZ2lkICJmaWxlIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzozMjcgYnVpbHRpbi9hcmNoaXZlLmM6ODkKKyM6IGFyY2hpdmUuYzozMzEgYnVpbHRpbi9hcmNoaXZlLmM6ODkKIG1zZ2lkICJ3cml0ZSB0aGUgYXJjaGl2ZSB0byB0aGlzIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjMyOQorIzogYXJjaGl2ZS5jOjMzMwogbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjMzMAorIzogYXJjaGl2ZS5jOjMzNAogbXNnaWQgInJlcG9ydCBhcmNoaXZlZCBmaWxlcyBvbiBzdGRlcnIiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjMzMQorIzogYXJjaGl2ZS5jOjMzNQogbXNnaWQgInN0b3JlIG9ubHkiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjMzMgorIzogYXJjaGl2ZS5jOjMzNgogbXNnaWQgImNvbXByZXNzIGZhc3RlciIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6MzQwCisjOiBhcmNoaXZlLmM6MzQ0CiBtc2dpZCAiY29tcHJlc3MgYmV0dGVyIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzozNDMKKyM6IGFyY2hpdmUuYzozNDcKIG1zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjM0NSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODUKKyM6IGFyY2hpdmUuYzozNDkgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjg0CiBtc2dpZCAicmVwbyIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6MzQ2IGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCisjOiBhcmNoaXZlLmM6MzUwIGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCiBtc2dpZCAicmV0cmlldmUgdGhlIGFyY2hpdmUgZnJvbSByZW1vdGUgcmVwb3NpdG9yeSA8cmVwbz4iCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjM0NyBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDg3CisjOiBhcmNoaXZlLmM6MzUxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODcKIG1zZ2lkICJjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzozNDggYnVpbHRpbi9hcmNoaXZlLmM6OTMKKyM6IGFyY2hpdmUuYzozNTIgYnVpbHRpbi9hcmNoaXZlLmM6OTMKIG1zZ2lkICJwYXRoIHRvIHRoZSByZW1vdGUgZ2l0LXVwbG9hZC1hcmNoaXZlIGNvbW1hbmQiCiBtc2dzdHIgIiIKIApAQCAtMTk1LDE3ICsyMDAsMTcgQEAKIG1zZ2lkICJDYW5ub3QgZm9yY2UgdXBkYXRlIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIiIKIAotIzogYnJhbmNoLmM6MjE2CisjOiBicmFuY2guYzoyMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHNldHVwIHRyYWNraW5nIGluZm9ybWF0aW9uOyBzdGFydGluZyBwb2ludCAnJXMnIGlzIG5vdCBhIGJyYW5jaC4iCiBtc2dzdHIgIiIKIAotIzogYnJhbmNoLmM6MjE4CisjOiBicmFuY2guYzoyMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHJlcXVlc3RlZCB1cHN0cmVhbSBicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBicmFuY2guYzoyMjAKKyM6IGJyYW5jaC5jOjIxOQogbXNnaWQgIiIKICJcbiIKICJJZiB5b3UgYXJlIHBsYW5uaW5nIG9uIGJhc2luZyB5b3VyIHdvcmsgb24gYW4gdXBzdHJlYW1cbiIKQEAgLTIxNyw4NyArMjIyLDg3IEBACiAiXCJnaXQgcHVzaCAtdVwiIHRvIHNldCB0aGUgdXBzdHJlYW0gY29uZmlnIGFzIHlvdSBwdXNoLiIKIG1zZ3N0ciAiIgogCi0jOiBicmFuY2guYzoyNjUKKyM6IGJyYW5jaC5jOjI2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogYnJhbmNoLmM6Mjg1CisjOiBicmFuY2guYzoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQW1iaWd1b3VzIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBicmFuY2guYzoyOTAKKyM6IGJyYW5jaC5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjI5NgorIzogYnJhbmNoLmM6Mjk1CiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgcmVmIGZvciB1cGRhdGUiCiBtc2dzdHIgIiIKIAotIzogYnJhbmNoLmM6MzE0CisjOiBicmFuY2guYzozMTMKIG1zZ2lkICJGYWlsZWQgdG8gd3JpdGUgcmVmIgogbXNnc3RyICIiCiAKLSM6IGJ1bmRsZS5jOjM2CisjOiBidW5kbGUuYzozNwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IGxvb2sgbGlrZSBhIHYyIGJ1bmRsZSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1bmRsZS5jOjYzCisjOiBidW5kbGUuYzo2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVhZGVyOiAlcyVzICglZCkiCiBtc2dzdHIgIiIKIAotIzogYnVuZGxlLmM6ODkgYnVpbHRpbi9jb21taXQuYzo2OTcKKyM6IGJ1bmRsZS5jOjkwIGJ1aWx0aW4vY29tbWl0LmM6NzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVuZGxlLmM6MTQwCisjOiBidW5kbGUuYzoxNDEKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIHRoZXNlIHByZXJlcXVpc2l0ZSBjb21taXRzOiIKIG1zZ3N0ciAiIgogCi0jOiBidW5kbGUuYzoxNjQgc2VxdWVuY2VyLmM6NjYxIHNlcXVlbmNlci5jOjExMTEgYnVpbHRpbi9sb2cuYzozMzEKLSM6IGJ1aWx0aW4vbG9nLmM6ODAxIGJ1aWx0aW4vbG9nLmM6MTM5OSBidWlsdGluL2xvZy5jOjE2MjUgYnVpbHRpbi9tZXJnZS5jOjM2NAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE1NgorIzogYnVuZGxlLmM6MTY1IHNlcXVlbmNlci5jOjY2MiBzZXF1ZW5jZXIuYzoxMTEyIGJ1aWx0aW4vbG9nLmM6MzMyCisjOiBidWlsdGluL2xvZy5jOjgyMSBidWlsdGluL2xvZy5jOjE0MTggYnVpbHRpbi9sb2cuYzoxNjQ0IGJ1aWx0aW4vbWVyZ2UuYzozNTcKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNTgKIG1zZ2lkICJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidW5kbGUuYzoxODYKKyM6IGJ1bmRsZS5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoaXMgcmVmOiIKIG1zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGVzZSAlZCByZWZzOiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1bmRsZS5jOjE5MworIzogYnVuZGxlLmM6MTk0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZWNvcmRzIGEgY29tcGxldGUgaGlzdG9yeS4iCiBtc2dzdHIgIiIKIAotIzogYnVuZGxlLmM6MTk1CisjOiBidW5kbGUuYzoxOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhlc2UgJWQgcmVmczoiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidW5kbGUuYzoyOTQKKyM6IGJ1bmRsZS5jOjI5NgogbXNnaWQgInJldi1saXN0IGRpZWQiCiBtc2dzdHIgIiIKIAotIzogYnVuZGxlLmM6MzAwIGJ1aWx0aW4vbG9nLmM6MTMxMCBidWlsdGluL3Nob3J0bG9nLmM6MjU5CisjOiBidW5kbGUuYzozMDIgYnVpbHRpbi9sb2cuYzoxMzI5IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidW5kbGUuYzozMzUKKyM6IGJ1bmRsZS5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidW5kbGUuYzozODAKKyM6IGJ1bmRsZS5jOjM4MgogbXNnaWQgIlJlZnVzaW5nIHRvIGNyZWF0ZSBlbXB0eSBidW5kbGUuIgogbXNnc3RyICIiCiAKQEAgLTMzMiwxNiArMzM3LDE2IEBACiBtc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0ZWQuYzo2MAorIzogY29ubmVjdGVkLmM6NzAKIG1zZ2lkICJDb3VsZCBub3QgcnVuICdnaXQgcmV2LWxpc3QnIgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3RlZC5jOjgwCisjOiBjb25uZWN0ZWQuYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgd3JpdGUgdG8gcmV2LWxpc3Q6ICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3RlZC5jOjg4CisjOiBjb25uZWN0ZWQuYzo5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY2xvc2UgcmV2LWxpc3QncyBzdGRpbjogJXMiCiBtc2dzdHIgIiIKQEAgLTQxMywzNiArNDE4LDQxIEBACiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBkaWZmLmM6MTEyCisjOiBkaWZmY29yZS1vcmRlci5jOjI0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIG9yZGVyZmlsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzoxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzoxMTcKKyM6IGRpZmYuYzoxMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBVbmtub3duIGRpcnN0YXQgcGFyYW1ldGVyICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBkaWZmLmM6MjEwCisjOiBkaWZmLmM6MjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdmFsdWUgZm9yICdkaWZmLnN1Ym1vZHVsZScgY29uZmlnIHZhcmlhYmxlOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzoyNjAKKyM6IGRpZmYuYzoyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZvdW5kIGVycm9ycyBpbiAnZGlmZi5kaXJzdGF0JyBjb25maWcgdmFyaWFibGU6XG4iCiAiJXMiCiBtc2dzdHIgIiIKIAotIzogZGlmZi5jOjM0ODcKKyM6IGRpZmYuYzozNTA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCiAiJXMiCiBtc2dzdHIgIiIKIAotIzogZGlmZi5jOjM1MDEKKyM6IGRpZmYuYzozNTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgogbXNnc3RyICIiCkBAIC00NjksMTcgKzQ3OSwxNyBAQAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBncmVwLmM6MTYyMworIzogZ3JlcC5jOjE2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIiIKIAotIzogZ3JlcC5jOjE2NDAKKyM6IGdyZXAuYzoxNzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6ICVzIgogbXNnc3RyICIiCiAKLSM6IGdyZXAuYzoxNjUxCisjOiBncmVwLmM6MTcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBzaG9ydCByZWFkICVzIgogbXNnc3RyICIiCkBAIC01NDQsOCArNTU0LDggQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UuYzoxMTAgYnVpbHRpbi9jaGVja291dC5jOjM2NSBidWlsdGluL2NoZWNrb3V0LmM6NTY2Ci0jOiBidWlsdGluL2Nsb25lLmM6NjU2CisjOiBtZXJnZS5jOjExMCBidWlsdGluL2NoZWNrb3V0LmM6MzU4IGJ1aWx0aW4vY2hlY2tvdXQuYzo1NTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NjEKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIiIKIApAQCAtNTk0LDcgKzYwNCw3IEBACiBtc2dpZCAiYmxvYiBleHBlY3RlZCBmb3IgJXMgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NzQgYnVpbHRpbi9jbG9uZS5jOjMxMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzc0IGJ1aWx0aW4vY2xvbmUuYzozMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKIG1zZ3N0ciAiIgpAQCAtNjQwLDcgKzY1MCw3IEBACiBtc2dpZCAicmVuYW1lIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwODIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwODIgd3Qtc3RhdHVzLmM6MjgzCiBtc2dpZCAicmVuYW1lZCIKIG1zZ3N0ciAiIgogCkBAIC02OTksNyArNzA5LDcgQEAKIG1zZ2lkICJtb2RpZnkiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU2NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU2NSB3dC1zdGF0dXMuYzoyODEKIG1zZ2lkICJtb2RpZmllZCIKIG1zZ3N0ciAiIgogCkBAIC03MjEsNyArNzMxLDcgQEAKIG1zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYzNCBnaXQtc3VibW9kdWxlLnNoOjExMTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzQgZ2l0LXN1Ym1vZHVsZS5zaDoxMTQ4CiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICIiCiAKQEAgLTc5MSw3ICs4MDEsNyBAQAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDEwIGJ1aWx0aW4vbWVyZ2UuYzo2NzIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMTAgYnVpbHRpbi9tZXJnZS5jOjY2NQogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCiBtc2dzdHIgIiIKIApAQCAtODE2LDU4ICs4MjYsMTUxIEBACiBtc2dpZCAiQmFkICVzIHZhbHVlOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IG9iamVjdC5jOjIwNAorIzogb2JqZWN0LmM6MjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBvYmplY3Q6ICVzIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo0ODkKKyM6IHBhcnNlLW9wdGlvbnMuYzo1MzcKIG1zZ2lkICIuLi4iCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjUwNworIzogcGFyc2Utb3B0aW9ucy5jOjU1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMiCiBtc2dzdHIgIiIKIAogIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiBoZXJlIHNob3VsZCBhbGlnbiB3aXRoIHRoZQogIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uCi0jOiBwYXJzZS1vcHRpb25zLmM6NTExCisjOiBwYXJzZS1vcHRpb25zLmM6NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgIG9yOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTE0CisjOiBwYXJzZS1vcHRpb25zLmM6NTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlcyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTQ4CisjOiBwYXJzZS1vcHRpb25zLmM6NTk2CiBtc2dpZCAiLU5VTSIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjgzCi0jLCBjLWZvcm1hdAotbXNnaWQgIlBhdGggJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgorIzogcGF0aHNwZWMuYzoxMzMKK21zZ2lkICJnbG9iYWwgJ2dsb2InIGFuZCAnbm9nbG9iJyBwYXRoc3BlYyBzZXR0aW5ncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IHBhdGhzcGVjLmM6OTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgorIzogcGF0aHNwZWMuYzoxNDMKK21zZ2lkICIiCisiZ2xvYmFsICdsaXRlcmFsJyBwYXRoc3BlYyBzZXR0aW5nIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBnbG9iYWwgIgorInBhdGhzcGVjIHNldHRpbmdzIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE3ODgKKyM6IHBhdGhzcGVjLmM6MTc3Cittc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXIgZm9yIHBhdGhzcGVjIG1hZ2ljICdwcmVmaXgnIgorbXNnc3RyICIiCisKKyM6IHBhdGhzcGVjLmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGF0aHNwZWMgbWFnaWMgJyUuKnMnIGluICclcyciCittc2dzdHIgIiIKKworIzogcGF0aHNwZWMuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWlzc2luZyAnKScgYXQgdGhlIGVuZCBvZiBwYXRoc3BlYyBtYWdpYyBpbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IHBhdGhzcGVjLmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaW1wbGVtZW50ZWQgcGF0aHNwZWMgbWFnaWMgJyVjJyBpbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IHBhdGhzcGVjLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAnbGl0ZXJhbCcgYW5kICdnbG9iJyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHBhdGhzcGVjLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAnJXMnIGlzIG91dHNpZGUgcmVwb3NpdG9yeSIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXRoc3BlYyAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCittc2dzdHIgIiIKKworIy4KKyMuICogV2UgbWF5IHdhbnQgdG8gc3Vic3RpdHV0ZSAidGhpcyBjb21tYW5kIiB3aXRoIGEgY29tbWFuZAorIy4gKiBuYW1lLiBFLmcuIHdoZW4gYWRkLS1pbnRlcmFjdGl2ZSBkaWVzIHdoZW4gcnVubmluZworIy4gKiAiY2hlY2tvdXQgLXAiCisjLgorIzogcGF0aHNwZWMuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoc3BlYyAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiIKKworIzogcGF0aHNwZWMuYzo0NDIKK21zZ2lkICIiCisiVGhlcmUgaXMgbm90aGluZyB0byBleGNsdWRlIGZyb20gYnkgOihleGNsdWRlKSBwYXR0ZXJucy5cbiIKKyJQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gYWRkIGVpdGhlciAnOi8nIG9yICcuJyA/IgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjc1MworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZmV0Y2ggYm90aCAlcyBhbmQgJXMgdG8gJXMiCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6NzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzdWFsbHkgdHJhY2tzICVzLCBub3QgJXMiCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6NzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHRyYWNrcyBib3RoICVzIGFuZCAlcyIKK21zZ3N0ciAiIgorCisjLgorIy4gKiBUaGlzIGxhc3QgcG9zc2liaWxpdHkgZG9lc24ndCBvY2N1ciBiZWNhdXNlCisjLiAqIEZFVENIX0hFQURfSUdOT1JFIGVudHJpZXMgYWx3YXlzIGFwcGVhciBhdAorIy4gKiB0aGUgZW5kIG9mIHRoZSBsaXN0LgorIy4KKyM6IHJlbW90ZS5jOjc2OQorbXNnaWQgIkludGVybmFsIGVycm9yIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjE4NzUKK21zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUuYzoxODc4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwLXRvLWRhdGUgd2l0aCAnJXMnLlxuIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjE4ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IHJlbW90ZS5jOjE3OTQKKyM6IHJlbW90ZS5jOjE4ODgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE3OTcKKyM6IHJlbW90ZS5jOjE4OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCkBAIC04NzUsMTEgKzk3OCwxMSBAQAogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogcmVtb3RlLmM6MTgwNQorIzogcmVtb3RlLmM6MTg5OQogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE4MDgKKyM6IHJlbW90ZS5jOjE5MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCkBAIC04OTAsNyArOTkzLDcgQEAKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IHJlbW90ZS5jOjE4MTgKKyM6IHJlbW90ZS5jOjE5MTIKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCiBtc2dzdHIgIiIKIApAQCAtOTAzLDE0ICsxMDA2LDE0IEBACiBtc2dpZCAiZHVwMiglZCwlZCkgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjIwNiBidWlsdGluL21lcmdlLmM6NzkwIGJ1aWx0aW4vbWVyZ2UuYzo5MDMKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDEzIGJ1aWx0aW4vbWVyZ2UuYzoxMDIzCisjOiBzZXF1ZW5jZXIuYzoyMDYgYnVpbHRpbi9tZXJnZS5jOjc4MyBidWlsdGluL21lcmdlLmM6ODk2CisjOiBidWlsdGluL21lcmdlLmM6MTAwNiBidWlsdGluL21lcmdlLmM6MTAxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjIwOCBidWlsdGluL21lcmdlLmM6MzUwIGJ1aWx0aW4vbWVyZ2UuYzo3OTMKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDE1IGJ1aWx0aW4vbWVyZ2UuYzoxMDI4CisjOiBzZXF1ZW5jZXIuYzoyMDggYnVpbHRpbi9tZXJnZS5jOjM0MyBidWlsdGluL21lcmdlLmM6Nzg2CisjOiBidWlsdGluL21lcmdlLmM6MTAwOCBidWlsdGluL21lcmdlLmM6MTAyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAiIgpAQCAtOTI4LDcgKzEwMzEsNyBAQAogImFuZCBjb21taXQgdGhlIHJlc3VsdCB3aXRoICdnaXQgY29tbWl0JyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDUgc2VxdWVuY2VyLmM6ODY5IHNlcXVlbmNlci5jOjk1MgorIzogc2VxdWVuY2VyLmM6MjQ1IHNlcXVlbmNlci5jOjg3MCBzZXF1ZW5jZXIuYzo5NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICVzIgogbXNnc3RyICIiCkBAIC05NTEsMjAxICsxMDU0LDIwMSBAQAogbXNnc3RyICIiCiAKICMuIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiIG9yICJjaGVycnktcGljayIKLSM6IHNlcXVlbmNlci5jOjMyNAorIzogc2VxdWVuY2VyLmM6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MzU1CisjOiBzZXF1ZW5jZXIuYzozNTYKIG1zZ2lkICJDb3VsZCBub3QgcmVzb2x2ZSBIRUFEIGNvbW1pdFxuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM3NworIzogc2VxdWVuY2VyLmM6Mzc4CiBtc2dpZCAiVW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlXG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NDIyCisjOiBzZXF1ZW5jZXIuYzo0MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjQyNworIzogc2VxdWVuY2VyLmM6NDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NDkzCisjOiBzZXF1ZW5jZXIuYzo0OTQKIG1zZ2lkICJZb3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjUxMgorIzogc2VxdWVuY2VyLmM6NTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo1MjAKKyM6IHNlcXVlbmNlci5jOjUyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NTI0CisjOiBzZXF1ZW5jZXIuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKIG1zZ3N0ciAiIgogCiAjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgInJldmVydCIgb3IKICMuICJjaGVycnktcGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExCi0jOiBzZXF1ZW5jZXIuYzo1MzcKKyM6IHNlcXVlbmNlci5jOjUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NTQxCisjOiBzZXF1ZW5jZXIuYzo1NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NjI3CisjOiBzZXF1ZW5jZXIuYzo2MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo2MjgKKyM6IHNlcXVlbmNlci5jOjYyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NjY0CisjOiBzZXF1ZW5jZXIuYzo2NjUKIG1zZ2lkICJlbXB0eSBjb21taXQgc2V0IHBhc3NlZCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo2NzIKKyM6IHNlcXVlbmNlci5jOjY3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo2NzcKKyM6IHNlcXVlbmNlci5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo3MzUKKyM6IHNlcXVlbmNlci5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgJXMgZHVyaW5nIGEgJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NzU3CisjOiBzZXF1ZW5jZXIuYzo3NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIGxpbmUgJWQuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjc2MgorIzogc2VxdWVuY2VyLmM6NzYzCiBtc2dpZCAiTm8gY29tbWl0cyBwYXJzZWQuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjc3NQorIzogc2VxdWVuY2VyLmM6Nzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICVzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjc3OQorIzogc2VxdWVuY2VyLmM6NzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkICVzLiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo3ODYKKyM6IHNlcXVlbmNlci5jOjc4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODE0CisjOiBzZXF1ZW5jZXIuYzo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBrZXk6ICVzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjgxNworIzogc2VxdWVuY2VyLmM6ODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo4MjkKKyM6IHNlcXVlbmNlci5jOjgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODUwCisjOiBzZXF1ZW5jZXIuYzo4NTEKIG1zZ2lkICJhIGNoZXJyeS1waWNrIG9yIHJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjg1MQorIzogc2VxdWVuY2VyLmM6ODUyCiBtc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTUKKyM6IHNlcXVlbmNlci5jOjg1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODcxIHNlcXVlbmNlci5jOjk1NgorIzogc2VxdWVuY2VyLmM6ODcyIHNlcXVlbmNlci5jOjk1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcy4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODkwIHNlcXVlbmNlci5jOjEwMjQKKyM6IHNlcXVlbmNlci5jOjg5MSBzZXF1ZW5jZXIuYzoxMDI1CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjg5MgorIzogc2VxdWVuY2VyLmM6ODkzCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo4OTQKKyM6IHNlcXVlbmNlci5jOjg5NQogbXNnaWQgImNhbm5vdCBhYm9ydCBmcm9tIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjkxNiBidWlsdGluL2FwcGx5LmM6NDA2MQorIzogc2VxdWVuY2VyLmM6OTE3IGJ1aWx0aW4vYXBwbHkuYzo0MDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo5MTkKKyM6IHNlcXVlbmNlci5jOjkyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6OTIwCisjOiBzZXF1ZW5jZXIuYzo5MjEKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjkyNgorIzogc2VxdWVuY2VyLmM6OTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo5NDkKKyM6IHNlcXVlbmNlci5jOjk1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZm9ybWF0ICVzLiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDkyCisjOiBzZXF1ZW5jZXIuYzoxMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjEwOTUKKyM6IHNlcXVlbmNlci5jOjEwOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTI5CisjOiBzZXF1ZW5jZXIuYzoxMTMwCiBtc2dpZCAiQ2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjExMzAKKyM6IHNlcXVlbmNlci5jOjExMzEKIG1zZ2lkICJDYW4ndCBjaGVycnktcGljayBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIiIKIAotIzogc2hhMV9uYW1lLmM6NDQwCisjOiBzaGExX25hbWUuYzo0MzkKIG1zZ2lkICIiCiAiR2l0IG5vcm1hbGx5IG5ldmVyIGNyZWF0ZXMgYSByZWYgdGhhdCBlbmRzIHdpdGggNDAgaGV4IGNoYXJhY3RlcnNcbiIKICJiZWNhdXNlIGl0IHdpbGwgYmUgaWdub3JlZCB3aGVuIHlvdSBqdXN0IHNwZWNpZnkgNDAtaGV4LiBUaGVzZSByZWZzXG4iCkBAIC0xMTU4LDM2MCArMTI2MSw0NDMgQEAKICJydW5uaW5nIFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIiIKIG1zZ3N0ciAiIgogCi0jOiBzaGExX25hbWUuYzoxMDk3CisjOiBzaGExX25hbWUuYzoxMTA5CiBtc2dpZCAiSEVBRCBkb2VzIG5vdCBwb2ludCB0byBhIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBzaGExX25hbWUuYzoxMTAwCisjOiBzaGExX25hbWUuYzoxMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggYnJhbmNoOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNoYTFfbmFtZS5jOjExMDIKKyM6IHNoYTFfbmFtZS5jOjExMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciCiBtc2dzdHIgIiIKIAotIzogc2hhMV9uYW1lLmM6MTEwNgorIzogc2hhMV9uYW1lLmM6MTExOAogIywgYy1mb3JtYXQKIG1zZ2lkICJVcHN0cmVhbSBicmFuY2ggJyVzJyBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiB3cmFwcGVyLmM6NDA4CisjOiBzdWJtb2R1bGUuYzo2NCBzdWJtb2R1bGUuYzo5OAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjY4IHN1Ym1vZHVsZS5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZmluZCBzZWN0aW9uIGluIC5naXRtb2R1bGVzIHdoZXJlIHBhdGg9JXMiCittc2dzdHIgIiIKKworIy4gTWF5YmUgdGhlIHVzZXIgYWxyZWFkeSBkaWQgdGhhdCwgZG9uJ3QgZXJyb3Igb3V0IGhlcmUKKyM6IHN1Ym1vZHVsZS5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgLmdpdG1vZHVsZXMgZW50cnkgJXMiCittc2dzdHIgIiIKKworIy4gTWF5YmUgdGhlIHVzZXIgYWxyZWFkeSBkaWQgdGhhdCwgZG9uJ3QgZXJyb3Igb3V0IGhlcmUKKyM6IHN1Ym1vZHVsZS5jOjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIC5naXRtb2R1bGVzIGVudHJ5IGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoxMjcKK21zZ2lkICJjb3VsZCBub3QgZmluZCAuZ2l0bW9kdWxlcyBpbiBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoxMzMKK21zZ2lkICJyZWFkaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjEzNQorbXNnaWQgInVuYWJsZSB0byBzdGF0IHVwZGF0ZWQgLmdpdG1vZHVsZXMiCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MTM5Cittc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAuZ2l0bW9kdWxlcyBmcm9tIGluZGV4IgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjE0MQorbXNnaWQgImFkZGluZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoxNDMKK21zZ2lkICJzdGFnaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjExNDQgYnVpbHRpbi9pbml0LWRiLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZ2l0IGxpbmsgJXMiCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgc2V0IGNvcmUud29ya3RyZWUgaW4gJXMiCittc2dzdHIgIiIKKworIzogdXJsbWF0Y2guYzoxMjAKK21zZ2lkICJpbnZhbGlkIFVSTCBzY2hlbWUgbmFtZSBvciBtaXNzaW5nICc6Ly8nIHN1ZmZpeCIKK21zZ3N0ciAiIgorCisjOiB1cmxtYXRjaC5jOjE0NCB1cmxtYXRjaC5jOjI5NyB1cmxtYXRjaC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkICVYWCBlc2NhcGUgc2VxdWVuY2UiCittc2dzdHIgIiIKKworIzogdXJsbWF0Y2guYzoxNzIKK21zZ2lkICJtaXNzaW5nIGhvc3QgYW5kIHNjaGVtZSBpcyBub3QgJ2ZpbGU6JyIKK21zZ3N0ciAiIgorCisjOiB1cmxtYXRjaC5jOjE4OQorbXNnaWQgImEgJ2ZpbGU6JyBVUkwgbWF5IG5vdCBoYXZlIGEgcG9ydCBudW1iZXIiCittc2dzdHIgIiIKKworIzogdXJsbWF0Y2guYzoxOTkKK21zZ2lkICJpbnZhbGlkIGNoYXJhY3RlcnMgaW4gaG9zdCBuYW1lIgorbXNnc3RyICIiCisKKyM6IHVybG1hdGNoLmM6MjQ0IHVybG1hdGNoLmM6MjU1Cittc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciIKK21zZ3N0ciAiIgorCisjOiB1cmxtYXRjaC5jOjMyMgorbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCittc2dzdHIgIiIKKworIzogd3JhcHBlci5jOjQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyc6ICVzIgogbXNnc3RyICIiCiAKLSM6IHdyYXBwZXIuYzo0MjkKKyM6IHdyYXBwZXIuYzo0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHdyYXBwZXIuYzo0NDAKKyM6IHdyYXBwZXIuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGxvb2sgdXAgY3VycmVudCB1c2VyIGluIHRoZSBwYXNzd2QgZmlsZTogJXMiCiBtc2dzdHIgIiIKIAotIzogd3JhcHBlci5jOjQ0MQorIzogd3JhcHBlci5jOjQ1NQogbXNnaWQgIm5vIHN1Y2ggdXNlciIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNDEKKyM6IHd0LXN0YXR1cy5jOjE1MAogbXNnaWQgIlVubWVyZ2VkIHBhdGhzOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNjggd3Qtc3RhdHVzLmM6MTk1CisjOiB3dC1zdGF0dXMuYzoxNzcgd3Qtc3RhdHVzLmM6MjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCByZXNldCAlcyA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNzAgd3Qtc3RhdHVzLmM6MTk3CisjOiB3dC1zdGF0dXMuYzoxNzkgd3Qtc3RhdHVzLmM6MjA2CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NAorIzogd3Qtc3RhdHVzLmM6MTgzCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NiB3dC1zdGF0dXMuYzoxODAKKyM6IHd0LXN0YXR1cy5jOjE4NSB3dC1zdGF0dXMuYzoxODkKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTc4CisjOiB3dC1zdGF0dXMuYzoxODcKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxODkKKyM6IHd0LXN0YXR1cy5jOjE5OAogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyMDcKKyM6IHd0LXN0YXR1cy5jOjIxNgogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyMTEKKyM6IHd0LXN0YXR1cy5jOjIyMAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjIxMworIzogd3Qtc3RhdHVzLmM6MjIyCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjE0CisjOiB3dC1zdGF0dXMuYzoyMjMKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjE2CisjOiB3dC1zdGF0dXMuYzoyMjUKIG1zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjI4CisjOiB3dC1zdGF0dXMuYzoyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjQ1CisjOiB3dC1zdGF0dXMuYzoyNTQKIG1zZ2lkICJidWciCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjUwCisjOiB3dC1zdGF0dXMuYzoyNTkKIG1zZ2lkICJib3RoIGRlbGV0ZWQ6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MQorIzogd3Qtc3RhdHVzLmM6MjYwCiBtc2dpZCAiYWRkZWQgYnkgdXM6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MgorIzogd3Qtc3RhdHVzLmM6MjYxCiBtc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyNTMKKyM6IHd0LXN0YXR1cy5jOjI2MgogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NAorIzogd3Qtc3RhdHVzLmM6MjYzCiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjU1CisjOiB3dC1zdGF0dXMuYzoyNjQKIG1zZ2lkICJib3RoIGFkZGVkOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyNTYKKyM6IHd0LXN0YXR1cy5jOjI2NQogbXNnaWQgImJvdGggbW9kaWZpZWQ6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NgorIzogd3Qtc3RhdHVzLmM6Mjc1Cittc2dpZCAibmV3IGZpbGUiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6Mjc3Cittc2dpZCAiY29waWVkIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjI3OQorbXNnaWQgImRlbGV0ZWQiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6Mjg1Cittc2dpZCAidHlwZWNoYW5nZSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoyODcKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjI4OQorbXNnaWQgInVubWVyZ2VkIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjMzNgogbXNnaWQgIm5ldyBjb21taXRzLCAiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg4CisjOiB3dC1zdGF0dXMuYzozMzgKIG1zZ2lkICJtb2RpZmllZCBjb250ZW50LCAiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjkwCisjOiB3dC1zdGF0dXMuYzozNDAKIG1zZ2lkICJ1bnRyYWNrZWQgY29udGVudCwgIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjMwNwotIywgYy1mb3JtYXQKLW1zZ2lkICJuZXcgZmlsZTogICAlcyIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzozMTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY29waWVkOiAgICAgJXMgLT4gJXMiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MzEzCi0jLCBjLWZvcm1hdAotbXNnaWQgImRlbGV0ZWQ6ICAgICVzIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjMxNgotIywgYy1mb3JtYXQKLW1zZ2lkICJtb2RpZmllZDogICAlcyIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzozMTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVuYW1lZDogICAgJXMgLT4gJXMiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MzIyCi0jLCBjLWZvcm1hdAotbXNnaWQgInR5cGVjaGFuZ2U6ICVzIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjMyNQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duOiAgICAlcyIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzozMjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5tZXJnZWQ6ICAgJXMiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MzMxCisjOiB3dC1zdGF0dXMuYzozNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnVnOiB1bmhhbmRsZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6ODAzCisjOiB3dC1zdGF0dXMuYzo3MzIKK21zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzo3MzQKK21zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjgzNgorbXNnaWQgIiIKKyJEbyBub3QgdG91Y2ggdGhlIGxpbmUgYWJvdmUuXG4iCisiRXZlcnl0aGluZyBiZWxvdyB3aWxsIGJlIHJlbW92ZWQuIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjg5OQogbXNnaWQgIllvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo4MDYKKyM6IHd0LXN0YXR1cy5jOjkwMgogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjb21taXRcIikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6ODA5CisjOiB3dC1zdGF0dXMuYzo5MDUKIG1zZ2lkICJBbGwgY29uZmxpY3RzIGZpeGVkIGJ1dCB5b3UgYXJlIHN0aWxsIG1lcmdpbmcuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjgxMgorIzogd3Qtc3RhdHVzLmM6OTA4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo4MjIKKyM6IHd0LXN0YXR1cy5jOjkxOAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo4MjUKKyM6IHd0LXN0YXR1cy5jOjkyMQogbXNnaWQgIlRoZSBjdXJyZW50IHBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo4MjkKKyM6IHd0LXN0YXR1cy5jOjkyNQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6ODMxCisjOiB3dC1zdGF0dXMuYzo5MjcKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo4MzMKKyM6IHd0LXN0YXR1cy5jOjkyOQogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo4OTMgd3Qtc3RhdHVzLmM6OTEwCisjOiB3dC1zdGF0dXMuYzo5ODkgd3Qtc3RhdHVzLmM6MTAwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo4OTggd3Qtc3RhdHVzLmM6OTE1CisjOiB3dC1zdGF0dXMuYzo5OTQgd3Qtc3RhdHVzLmM6MTAxMQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5MDEKKyM6IHd0LXN0YXR1cy5jOjk5NwogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjkwMworIzogd3Qtc3RhdHVzLmM6OTk5CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjkwNQorIzogd3Qtc3RhdHVzLmM6MTAwMQogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHRvIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5MTgKKyM6IHd0LXN0YXR1cy5jOjEwMTQKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTIyCisjOiB3dC1zdGF0dXMuYzoxMDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTI3CisjOiB3dC1zdGF0dXMuYzoxMDIzCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTMwCisjOiB3dC1zdGF0dXMuYzoxMDI2CiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTM0CisjOiB3dC1zdGF0dXMuYzoxMDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTM5CisjOiB3dC1zdGF0dXMuYzoxMDM1CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjk0MgorIzogd3Qtc3RhdHVzLmM6MTAzOAogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTQ0CisjOiB3dC1zdGF0dXMuYzoxMDQwCiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjk1NAotbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nLiIKKyM6IHd0LXN0YXR1cy5jOjEwNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5NTgKKyM6IHd0LXN0YXR1cy5jOjEwNTUKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5NjEKKyM6IHd0LXN0YXR1cy5jOjEwNTgKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5NjMKKyM6IHd0LXN0YXR1cy5jOjEwNjAKIG1zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5NzIKKyM6IHd0LXN0YXR1cy5jOjEwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTc3CisjOiB3dC1zdGF0dXMuYzoxMDc0CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjk4MAorIzogd3Qtc3RhdHVzLmM6MTA3NwogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5ODIKKyM6IHd0LXN0YXR1cy5jOjEwNzkKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjk5MworIzogd3Qtc3RhdHVzLmM6MTA5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcsIHN0YXJ0ZWQgZnJvbSBicmFuY2ggJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTk3CisjOiB3dC1zdGF0dXMuYzoxMDk0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMDAwCisjOiB3dC1zdGF0dXMuYzoxMDk3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzMKKyM6IHd0LXN0YXR1cy5jOjEyNzIKIG1zZ2lkICJPbiBicmFuY2ggIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExODAKKyM6IHd0LXN0YXR1cy5jOjEyNzkKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExODcKKyM6IHd0LXN0YXR1cy5jOjEyODYKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMTg5CisjOiB3dC1zdGF0dXMuYzoxMjg4CiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMTkyCisjOiB3dC1zdGF0dXMuYzoxMjkxCiBtc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjA5CisjOiB3dC1zdGF0dXMuYzoxMzA4CiBtc2dpZCAiSW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTIyMworIzogd3Qtc3RhdHVzLmM6MTMyMgogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjI1CisjOiB3dC1zdGF0dXMuYzoxMzI0CiBtc2dpZCAiSWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjI5CisjOiB3dC1zdGF0dXMuYzoxMzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCkBAIC0xNTE5LDgyICsxNzA1LDg2IEBACiAibmV3IGZpbGVzIHlvdXJzZWxmIChzZWUgJ2dpdCBoZWxwIHN0YXR1cycpLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjM1CisjOiB3dC1zdGF0dXMuYzoxMzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkJXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTIzNworIzogd3Qtc3RhdHVzLmM6MTMzNgogbXNnaWQgIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI0MworIzogd3Qtc3RhdHVzLmM6MTM0MgogbXNnaWQgIk5vIGNoYW5nZXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI0OAorIzogd3Qtc3RhdHVzLmM6MTM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjUxCisjOiB3dC1zdGF0dXMuYzoxMzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NAorIzogd3Qtc3RhdHVzLmM6MTM1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgogInRyYWNrKVxuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTcKKyM6IHd0LXN0YXR1cy5jOjEzNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50XG4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MAorIzogd3Qtc3RhdHVzLmM6MTM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAoY3JlYXRlL2NvcHkgZmlsZXMgYW5kIHVzZSBcImdpdCBhZGRcIiB0byB0cmFjaylcbiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYzIHd0LXN0YXR1cy5jOjEyNjgKKyM6IHd0LXN0YXR1cy5jOjEzNjIgd3Qtc3RhdHVzLmM6MTM2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjYKKyM6IHd0LXN0YXR1cy5jOjEzNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjcwCisjOiB3dC1zdGF0dXMuYzoxMzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIGRpcmVjdG9yeSBjbGVhblxuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNzgKKyM6IHd0LXN0YXR1cy5jOjE0NzgKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEzODQKKyM6IHd0LXN0YXR1cy5jOjE0ODQKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTM5OQorIzogd3Qtc3RhdHVzLmM6MTUxNAorbXNnaWQgImdvbmUiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTUxNgogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTQwMiB3dC1zdGF0dXMuYzoxNDA1CisjOiB3dC1zdGF0dXMuYzoxNTE5IHd0LXN0YXR1cy5jOjE1MjIKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTQwNworIzogd3Qtc3RhdHVzLmM6MTUyNAogbXNnaWQgIiwgYmVoaW5kICIKIG1zZ3N0ciAiIgogCi0jOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTggYnVpbHRpbi9jbG9uZS5jOjM1MQorIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU1IGJ1aWx0aW4vY2xvbmUuYzozNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHVubGluayAnJXMnIgogbXNnc3RyICIiCkBAIC0xNjU0LDcgKzE4NDQsNyBAQAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoxNDkgYnVpbHRpbi9jb21taXQuYzoyNTIKKyM6IGJ1aWx0aW4vYWRkLmM6MTQ5IGJ1aWx0aW4vY29tbWl0LmM6MjYwCiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICIiCiAKQEAgLTE2NjMsMTQwICsxODUzLDEzNSBAQAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTMKKyM6IGJ1aWx0aW4vYWRkLmM6MjM3CiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZWZyZXNoaW5nIHRoZSBpbmRleDoiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYgYnVpbHRpbi9hZGQuYzo1NzMgYnVpbHRpbi9ybS5jOjMzNwotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6MzM5CisjOiBidWlsdGluL2FkZC5jOjI5OQogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjM1MAorIzogYnVpbHRpbi9hZGQuYzozMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTQKKyM6IGJ1aWx0aW4vYWRkLmM6MzE0CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHBhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzU5CisjOiBidWlsdGluL2FkZC5jOjMxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzYxCisjOiBidWlsdGluL2FkZC5jOjMyMQogbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjM2NworIzogYnVpbHRpbi9hZGQuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzozNzcKKyM6IGJ1aWx0aW4vYWRkLmM6MzM3CiBtc2dpZCAiVGhlIGZvbGxvd2luZyBwYXRocyBhcmUgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzk0IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9mZXRjaC5jOjc4IGJ1aWx0aW4vbXYuYzo2MwotIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3MyBidWlsdGluL3B1c2guYzo0NTEgYnVpbHRpbi9yZW1vdGUuYzoxMjUzCi0jOiBidWlsdGluL3JtLmM6MjY4CisjOiBidWlsdGluL2FkZC5jOjM1NCBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZmV0Y2guYzo5MyBidWlsdGluL212LmM6NzAKKyM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzcgYnVpbHRpbi9wdXNoLmM6NTA2IGJ1aWx0aW4vcmVtb3RlLmM6MTM0NAorIzogYnVpbHRpbi9ybS5jOjI2OQogbXNnaWQgImRyeSBydW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTUgYnVpbHRpbi9hcHBseS5jOjQ0MTAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMjIwIGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk1IGJ1aWx0aW4vZnNjay5jOjYxMwotIzogYnVpbHRpbi9sb2cuYzoxNTczIGJ1aWx0aW4vbXYuYzo2MiBidWlsdGluL3JlYWQtdHJlZS5jOjExMworIzogYnVpbHRpbi9hZGQuYzozNTUgYnVpbHRpbi9hcHBseS5jOjQ0MTAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQorIzogYnVpbHRpbi9jb21taXQuYzoxMjQ5IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk1IGJ1aWx0aW4vZnNjay5jOjYxMgorIzogYnVpbHRpbi9sb2cuYzoxNTkyIGJ1aWx0aW4vbXYuYzo2OSBidWlsdGluL3JlYWQtdHJlZS5jOjExMwogbXNnaWQgImJlIHZlcmJvc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTcKKyM6IGJ1aWx0aW4vYWRkLmM6MzU3CiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjM5OCBidWlsdGluL2NoZWNrb3V0LmM6MTA3MyBidWlsdGluL3Jlc2V0LmM6MjYxCisjOiBidWlsdGluL2FkZC5jOjM1OCBidWlsdGluL2NoZWNrb3V0LmM6MTEwOSBidWlsdGluL3Jlc2V0LmM6MjcyCiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTkKKyM6IGJ1aWx0aW4vYWRkLmM6MzU5CiBtc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAwCisjOiBidWlsdGluL2FkZC5jOjM2MAogbXNnaWQgImFsbG93IGFkZGluZyBvdGhlcndpc2UgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjQwMQorIzogYnVpbHRpbi9hZGQuYzozNjEKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjQwMgorIzogYnVpbHRpbi9hZGQuYzozNjIKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDMKKyM6IGJ1aWx0aW4vYWRkLmM6MzYzCiBtc2dpZCAiYWRkIGNoYW5nZXMgZnJvbSBhbGwgdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICIiCiAKICMuIHRha2VzIG5vIGFyZ3VtZW50cwotIzogYnVpbHRpbi9hZGQuYzo0MDYKKyM6IGJ1aWx0aW4vYWRkLmM6MzY2CiBtc2dpZCAiaWdub3JlIHBhdGhzIHJlbW92ZWQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoc2FtZSBhcyAtLW5vLWFsbCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDgKKyM6IGJ1aWx0aW4vYWRkLmM6MzY4CiBtc2dpZCAiZG9uJ3QgYWRkLCBvbmx5IHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDA5CisjOiBidWlsdGluL2FkZC5jOjM2OQogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MTAKKyM6IGJ1aWx0aW4vYWRkLmM6MzcwCiBtc2dpZCAiY2hlY2sgaWYgLSBldmVuIG1pc3NpbmcgLSBmaWxlcyBhcmUgaWdub3JlZCBpbiBkcnkgcnVuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDMyCisjOiBidWlsdGluL2FkZC5jOjM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDMzCisjOiBidWlsdGluL2FkZC5jOjM5MwogbXNnaWQgIm5vIGZpbGVzIGFkZGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDM5CisjOiBidWlsdGluL2FkZC5jOjM5OQogbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo0NzgKKyM6IGJ1aWx0aW4vYWRkLmM6NDM4CiBtc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo0OTYKKyM6IGJ1aWx0aW4vYWRkLmM6NDU2CiBtc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjUyNgorIzogYnVpbHRpbi9hZGQuYzo0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo1MjcKKyM6IGJ1aWx0aW4vYWRkLmM6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NTMzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYxIGJ1aWx0aW4vY2xlYW4uYzo5MTkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzEyIGJ1aWx0aW4vbXYuYzo4MiBidWlsdGluL3JtLmM6Mjk3CisjOiBidWlsdGluL2FkZC5jOjQ5MiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NsZWFuLmM6OTE5CisjOiBidWlsdGluL2NvbW1pdC5jOjMyMCBidWlsdGluL212LmM6OTAgYnVpbHRpbi9yZXNldC5jOjIyNCBidWlsdGluL3JtLmM6Mjk5CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NjA1IGJ1aWx0aW4vYXBwbHkuYzo0NTA2IGJ1aWx0aW4vbXYuYzoyMjkgYnVpbHRpbi9ybS5jOjQzMgorIzogYnVpbHRpbi9hZGQuYzo1OTIgYnVpbHRpbi9hcHBseS5jOjQ1MDYgYnVpbHRpbi9tdi5jOjI3MCBidWlsdGluL3JtLmM6NDMyCiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIiCiAKQEAgLTIwNDIsNyArMjIyNyw3IEBACiBtc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM2ODAgYnVpbHRpbi9jaGVja291dC5jOjIxNiBidWlsdGluL3Jlc2V0LmM6MTI3CisjOiBidWlsdGluL2FwcGx5LmM6MzY4MCBidWlsdGluL2NoZWNrb3V0LmM6MjEzIGJ1aWx0aW4vcmVzZXQuYzoxMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiIgpAQCAtMjEyMiw4ICsyMzA3LDggQEAKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MzU3IGJ1aWx0aW4vYXBwbHkuYzo0MzYwIGJ1aWx0aW4vY2xvbmUuYzo5MQotIzogYnVpbHRpbi9mZXRjaC5jOjYzCisjOiBidWlsdGluL2FwcGx5LmM6NDM1NyBidWlsdGluL2FwcGx5LmM6NDM2MCBidWlsdGluL2Nsb25lLmM6OTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3OAogbXNnaWQgInBhdGgiCiBtc2dzdHIgIiIKIApAQCAtMjE4Myw3ICsyMzY4LDcgQEAKIG1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM4OSBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTk3IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjIKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzg5IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxOTcgYnVpbHRpbi9scy1maWxlcy5jOjQ1MgogbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKQEAgLTIzMTMsMTAzICsyNDk4LDEwMyBAQAogbXNnaWQgInVwZGF0ZSBCSVNFQ1RfSEVBRCBpbnN0ZWFkIG9mIGNoZWNraW5nIG91dCB0aGUgY3VycmVudCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2CisjOiBidWlsdGluL2JsYW1lLmM6MjcKIG1zZ2lkICJnaXQgYmxhbWUgW29wdGlvbnNdIFtyZXYtb3B0c10gW3Jldl0gWy0tXSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzozMQorIzogYnVpbHRpbi9ibGFtZS5jOjMyCiBtc2dpZCAiW3Jldi1vcHRzXSBhcmUgZG9jdW1lbnRlZCBpbiBnaXQtcmV2LWxpc3QoMSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyNzYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjQ5CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI3NworIzogYnVpbHRpbi9ibGFtZS5jOjIyNTAKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjc4CisjOiBidWlsdGluL2JsYW1lLmM6MjI1MQogbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI3OQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTIKIG1zZ2lkICJTaG93IHdvcmsgY29zdCBzdGF0aXN0aWNzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgwCisjOiBidWlsdGluL2JsYW1lLmM6MjI1MwogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgxCisjOiBidWlsdGluL2JsYW1lLmM6MjI1NAogbXNnaWQgIlNob3cgb3JpZ2luYWwgZmlsZW5hbWUgKERlZmF1bHQ6IGF1dG8pIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgyCisjOiBidWlsdGluL2JsYW1lLmM6MjI1NQogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4MworIzogYnVpbHRpbi9ibGFtZS5jOjIyNTYKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg0CisjOiBidWlsdGluL2JsYW1lLmM6MjI1NwogbXNnaWQgIlNob3cgcG9yY2VsYWluIGZvcm1hdCB3aXRoIHBlci1saW5lIGNvbW1pdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTgKIG1zZ2lkICJVc2UgdGhlIHNhbWUgb3V0cHV0IG1vZGUgYXMgZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg2CisjOiBidWlsdGluL2JsYW1lLmM6MjI1OQogbXNnaWQgIlNob3cgcmF3IHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4NworIzogYnVpbHRpbi9ibGFtZS5jOjIyNjAKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODgKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYxCiBtc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4OQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjIKIG1zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYzCiBtc2dpZCAiSWdub3JlIHdoaXRlc3BhY2UgZGlmZmVyZW5jZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY0CiBtc2dpZCAiU3BlbmQgZXh0cmEgY3ljbGVzIHRvIGZpbmQgYmV0dGVyIG1hdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkyCisjOiBidWlsdGluL2JsYW1lLmM6MjI2NQogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5MworIzogYnVpbHRpbi9ibGFtZS5jOjIyNjYKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjk0IGJ1aWx0aW4vYmxhbWUuYzoyMjk1CisjOiBidWlsdGluL2JsYW1lLmM6MjI2NyBidWlsdGluL2JsYW1lLmM6MjI2OAogbXNnaWQgInNjb3JlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjk0CisjOiBidWlsdGluL2JsYW1lLmM6MjI2NwogbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY4CiBtc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjkKIG1zZ2lkICJuLG0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY5CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIiIKIApAQCAtMjUwNywyODIgKzI2OTIsMjkyIEBACiBtc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgcG9pbnQgYXQgYSBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU0CiAjLCBjLWZvcm1hdAotbXNnaWQgIlslczogYmVoaW5kICVkXSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ1NQotIywgYy1mb3JtYXQKLW1zZ2lkICJbYmVoaW5kICVkXSIKK21zZ2lkICJbJXM6IGdvbmVdIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU5CiAjLCBjLWZvcm1hdAotbXNnaWQgIlslczogYWhlYWQgJWRdIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYxCi0jLCBjLWZvcm1hdAotbXNnaWQgIlthaGVhZCAlZF0iCittc2dpZCAiWyVzXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2JyYW5jaC5jOjQ2NAogIywgYy1mb3JtYXQKK21zZ2lkICJbJXM6IGJlaGluZCAlZF0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiW2JlaGluZCAlZF0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWyVzOiBhaGVhZCAlZF0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiW2FoZWFkICVkXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ3NQorIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY3CisjOiBidWlsdGluL2JyYW5jaC5jOjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0OTAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTAyCiBtc2dpZCAiICoqKiogaW52YWxpZCByZWYgKioqKiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4MgorIzogYnVpbHRpbi9icmFuY2guYzo1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg1CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIihkZXRhY2hlZCBmcm9tICVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5MQorIzogYnVpbHRpbi9icmFuY2guYzo2MDMKIG1zZ2lkICIobm8gYnJhbmNoKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzNworIzogYnVpbHRpbi9icmFuY2guYzo2NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjgxCiBtc2dpZCAic29tZSByZWZzIGNvdWxkIG5vdCBiZSByZWFkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjgyCisjOiBidWlsdGluL2JyYW5jaC5jOjY5NAogbXNnaWQgImNhbm5vdCByZW5hbWUgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjkyCisjOiBidWlsdGluL2JyYW5jaC5jOjcwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGJyYW5jaCBuYW1lOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzA3CisjOiBidWlsdGluL2JyYW5jaC5jOjcxOQogbXNnaWQgIkJyYW5jaCByZW5hbWUgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzExCisjOiBidWlsdGluL2JyYW5jaC5jOjcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWVkIGEgbWlzbmFtZWQgYnJhbmNoICclcycgYXdheSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcxNQorIzogYnVpbHRpbi9icmFuY2guYzo3MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoIHJlbmFtZWQgdG8gJXMsIGJ1dCBIRUFEIGlzIG5vdCB1cGRhdGVkISIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcyMgorIzogYnVpbHRpbi9icmFuY2guYzo3MzQKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2MQorIzogYnVpbHRpbi9icmFuY2guYzo3NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGJyYW5jaCBkZXNjcmlwdGlvbiB0ZW1wbGF0ZTogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAzCiBtc2dpZCAiR2VuZXJpYyBvcHRpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkzCisjOiBidWlsdGluL2JyYW5jaC5jOjgwNQogbXNnaWQgInNob3cgaGFzaCBhbmQgc3ViamVjdCwgZ2l2ZSB0d2ljZSBmb3IgdXBzdHJlYW0gYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk0CisjOiBidWlsdGluL2JyYW5jaC5jOjgwNgogbXNnaWQgInN1cHByZXNzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA3CiBtc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtcHVsbCgxKSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA5CiBtc2dpZCAiY2hhbmdlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODEzCiBtc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAyCisjOiBidWlsdGluL2JyYW5jaC5jOjgxNAogbXNnaWQgImFjdCBvbiByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDUgYnVpbHRpbi9icmFuY2guYzo4MTEgYnVpbHRpbi9icmFuY2guYzo4MzIKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM4IGJ1aWx0aW4vY29tbWl0LmM6MTQzMyBidWlsdGluL2NvbW1pdC5jOjE0MzQKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNSBidWlsdGluL2NvbW1pdC5jOjE0MzYgYnVpbHRpbi90YWcuYzo0NjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE3IGJ1aWx0aW4vYnJhbmNoLmM6ODIzIGJ1aWx0aW4vYnJhbmNoLmM6ODQ0CisjOiBidWlsdGluL2JyYW5jaC5jOjg1MCBidWlsdGluL2NvbW1pdC5jOjE0NjAgYnVpbHRpbi9jb21taXQuYzoxNDYxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjIgYnVpbHRpbi9jb21taXQuYzoxNDYzIGJ1aWx0aW4vdGFnLmM6NDY4CiBtc2dpZCAiY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA2IGJ1aWx0aW4vYnJhbmNoLmM6ODEyCisjOiBidWlsdGluL2JyYW5jaC5jOjgxOCBidWlsdGluL2JyYW5jaC5jOjgyNAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMwCiBtc2dpZCAiU3BlY2lmaWMgZ2l0LWJyYW5jaCBhY3Rpb25zOiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgxOQorIzogYnVpbHRpbi9icmFuY2guYzo4MzEKIG1zZ2lkICJsaXN0IGJvdGggcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyMQorIzogYnVpbHRpbi9icmFuY2guYzo4MzMKIG1zZ2lkICJkZWxldGUgZnVsbHkgbWVyZ2VkIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyMgorIzogYnVpbHRpbi9icmFuY2guYzo4MzQKIG1zZ2lkICJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIzCisjOiBidWlsdGluL2JyYW5jaC5jOjgzNQogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI0CisjOiBidWlsdGluL2JyYW5jaC5jOjgzNgogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM3CiBtc2dpZCAibGlzdCBicmFuY2ggbmFtZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM4CiBtc2dpZCAiY3JlYXRlIHRoZSBicmFuY2gncyByZWZsb2ciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQwCiBtc2dpZCAiZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQxCiBtc2dpZCAiZm9yY2UgY3JlYXRpb24gKHdoZW4gYWxyZWFkeSBleGlzdHMpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMyCisjOiBidWlsdGluL2JyYW5jaC5jOjg0NAogbXNnaWQgInByaW50IG9ubHkgbm90IG1lcmdlZCBicmFuY2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzOAorIzogYnVpbHRpbi9icmFuY2guYzo4NTAKIG1zZ2lkICJwcmludCBvbmx5IG1lcmdlZCBicmFuY2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg0MgorIzogYnVpbHRpbi9icmFuY2guYzo4NTQKIG1zZ2lkICJsaXN0IGJyYW5jaGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODY3CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NjAgYnVpbHRpbi9jbG9uZS5jOjYzMAorIzogYnVpbHRpbi9icmFuY2guYzo4NzIgYnVpbHRpbi9jbG9uZS5jOjYzNQogbXNnaWQgIkhFQUQgbm90IGZvdW5kIGJlbG93IHJlZnMvaGVhZHMhIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODgzCisjOiBidWlsdGluL2JyYW5jaC5jOjg5NgogbXNnaWQgIi0tY29sdW1uIGFuZCAtLXZlcmJvc2UgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg4OSBidWlsdGluL2JyYW5jaC5jOjkyOAorIzogYnVpbHRpbi9icmFuY2guYzo5MDIgYnVpbHRpbi9icmFuY2guYzo5NDEKIG1zZ2lkICJicmFuY2ggbmFtZSByZXF1aXJlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkwNAorIzogYnVpbHRpbi9icmFuY2guYzo5MTcKIG1zZ2lkICJDYW5ub3QgZ2l2ZSBkZXNjcmlwdGlvbiB0byBkZXRhY2hlZCBIRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTA5CisjOiBidWlsdGluL2JyYW5jaC5jOjkyMgogbXNnaWQgImNhbm5vdCBlZGl0IGRlc2NyaXB0aW9uIG9mIG1vcmUgdGhhbiBvbmUgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTE2CisjOiBidWlsdGluL2JyYW5jaC5jOjkyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBjb21taXQgb24gYnJhbmNoICclcycgeWV0LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkxOQorIzogYnVpbHRpbi9icmFuY2guYzo5MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gYnJhbmNoIG5hbWVkICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTM0CisjOiBidWlsdGluL2JyYW5jaC5jOjk0NwogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIGZvciBhIHJlbmFtZSBvcGVyYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTUyCiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gc2V0IG5ldyB1cHN0cmVhbSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk0MworIzogYnVpbHRpbi9icmFuY2guYzo5NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBzZXQgdXBzdHJlYW0gb2YgSEVBRCB0byAlcyB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTQ2IGJ1aWx0aW4vYnJhbmNoLmM6OTY4IGJ1aWx0aW4vYnJhbmNoLmM6OTkwCisjOiBidWlsdGluL2JyYW5jaC5jOjk1OSBidWlsdGluL2JyYW5jaC5jOjk4MSBidWlsdGluL2JyYW5jaC5jOjEwMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk1MAorIzogYnVpbHRpbi9icmFuY2guYzo5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTc1CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gdW5zZXQgdXBzdHJlYW0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTc5CiBtc2dpZCAiY291bGQgbm90IHVuc2V0IHVwc3RyZWFtIG9mIEhFQUQgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk3MgorIzogYnVpbHRpbi9icmFuY2guYzo5ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgaGFzIG5vIHVwc3RyZWFtIGluZm9ybWF0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTg3CisjOiBidWlsdGluL2JyYW5jaC5jOjk5OQogbXNnaWQgIml0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gY3JlYXRlICdIRUFEJyBtYW51YWxseSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk5MworIzogYnVpbHRpbi9icmFuY2guYzoxMDA1CiBtc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk5NgorIzogYnVpbHRpbi9icmFuY2guYzoxMDA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgLS1zZXQtdXBzdHJlYW0gZmxhZyBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIENvbnNpZGVyIHVzaW5nIC0tIgogInRyYWNrIG9yIC0tc2V0LXVwc3RyZWFtLXRvXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxMDEzCisjOiBidWlsdGluL2JyYW5jaC5jOjEwMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMjc5MCwxMiArMjk4NSwxMiBAQAogIlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAxNAorIzogYnVpbHRpbi9icmFuY2guYzoxMDI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICBnaXQgYnJhbmNoIC1kICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxMDE1CisjOiBidWlsdGluL2JyYW5jaC5jOjEwMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gJXNcbiIKIG1zZ3N0ciAiIgpAQCAtMjgxMyw0MyArMzAwOCw0MyBAQAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6Mjg1CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzI4CiBtc2dpZCAiZ2l0IGNhdC1maWxlICgtdHwtc3wtZXwtcHw8dHlwZT58LS10ZXh0Y29udikgPG9iamVjdD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjI4NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyOQogbXNnaWQgImdpdCBjYXQtZmlsZSAoLS1iYXRjaHwtLWJhdGNoLWNoZWNrKSA8IDxsaXN0X29mX29iamVjdHM+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNjYKIG1zZ2lkICI8dHlwZT4gY2FuIGJlIG9uZSBvZjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyNAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM2NwogbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyNQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM2OAogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyNworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM3MAogbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzI4CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzcxCiBtc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMzMAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM3MwogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biB0ZXh0Y29udiBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMzIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNzUKIG1zZ2lkICJzaG93IGluZm8gYW5kIGNvbnRlbnQgb2Ygb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMzNQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM3OAogbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogCkBAIC0yODc0LDEwICszMDY5LDEwIEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNAotbXNnaWQgImlucHV0IHBhdGhzIGFyZSB0ZXJtaW5hdGVkIGJ5IGEgbnVsbCBjaGFyYWN0ZXIiCittc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTA1NCBidWlsdGluL2djLmM6MTc3CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkwIGJ1aWx0aW4vZ2MuYzoyNjAKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIiIKIApAQCAtMjg4NSwyNyArMzA4MCwzMSBAQAogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGlucHV0IHBhdGhzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTQzCi1tc2dpZCAiY2Fubm90IHNwZWNpZnkgcGF0aG5hbWVzIHdpdGggLS1zdGRpbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE0NgotbXNnaWQgIi16IG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCAtLXN0ZGluIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTQ4Ci1tc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTIKLW1zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjgKK21zZ2lkICJpZ25vcmUgaW5kZXggd2hlbiBjaGVja2luZyIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NAotbXNnaWQgImNhbm5vdCBoYXZlIGJvdGggLS1xdWlldCBhbmQgLS12ZXJib3NlIgorbXNnaWQgImNhbm5vdCBzcGVjaWZ5IHBhdGhuYW1lcyB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTcKK21zZ2lkICIteiBvbmx5IG1ha2VzIHNlbnNlIHdpdGggLS1zdGRpbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1OQorbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYzCittc2dpZCAiLS1xdWlldCBpcyBvbmx5IHZhbGlkIHdpdGggYSBzaW5nbGUgcGF0aG5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjUKK21zZ2lkICJjYW5ub3QgaGF2ZSBib3RoIC0tcXVpZXQgYW5kIC0tdmVyYm9zZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2OAogbXNnaWQgIi0tbm9uLW1hdGNoaW5nIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXZlcmJvc2UiCiBtc2dzdHIgIiIKIApAQCAtMjk3OCwxMDYgKzMxNzcsMTA2IEBACiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFtvcHRpb25zXSBbPGJyYW5jaD5dIC0tIDxmaWxlPi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQgYnVpbHRpbi9jaGVja291dC5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBvdXIgdmVyc2lvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYgYnVpbHRpbi9jaGVja291dC5jOjE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSB0aGVpciB2ZXJzaW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgYWxsIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTc5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJzogY2Fubm90IG1lcmdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGFkZCBtZXJnZSByZXN1bHQgZm9yICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIzNyBidWlsdGluL2NoZWNrb3V0LmM6MjQwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDMKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzIgYnVpbHRpbi9jaGVja291dC5jOjIzNSBidWlsdGluL2NoZWNrb3V0LmM6MjM4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjQ5IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDQgYnVpbHRpbi9jaGVja291dC5jOjI0NwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1NQorIzogYnVpbHRpbi9jaGVja291dC5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2NiBidWlsdGluL2NoZWNrb3V0LmM6NDU4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYxIGJ1aWx0aW4vY2hlY2tvdXQuYzo0NTEKIG1zZ2lkICJjb3JydXB0IGluZGV4IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjMyOSBidWlsdGluL2NoZWNrb3V0LmM6MzM2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzIyIGJ1aWx0aW4vY2hlY2tvdXQuYzozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGlzIHVubWVyZ2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0ODAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NzMKIG1zZ2lkICJ5b3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjAxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYzOQorIzogYnVpbHRpbi9jaGVja291dC5jOjYzMgogbXNnaWQgIkhFQUQgaXMgbm93IGF0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYW5kIHJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY1NSBidWlsdGluL2NoZWNrb3V0LmM6OTk3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY1NworIzogYnVpbHRpbi9jaGVja291dC5jOjY1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIgogCiAjLiBUaGUgc2luZ3VsYXIgdmVyc2lvbgotIzogYnVpbHRpbi9jaGVja291dC5jOjcxOQorIzogYnVpbHRpbi9jaGVja291dC5jOjcxMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV2FybmluZzogeW91IGFyZSBsZWF2aW5nICVkIGNvbW1pdCBiZWhpbmQsIG5vdCBjb25uZWN0ZWQgdG9cbiIKQEAgLTMwOTIsNyArMzI5MSw3IEBACiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIHRoZW0gYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgpAQCAtMzEwMiwxODQgKzMzMDEsMTg4IEBACiAiXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc2NworIzogYnVpbHRpbi9jaGVja291dC5jOjc2MAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc3MQorIzogYnVpbHRpbi9jaGVja291dC5jOjc2NAogbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTggYnVpbHRpbi9jaGVja291dC5jOjk5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjc5MSBidWlsdGluL2NoZWNrb3V0LmM6MTAyOAogbXNnaWQgIllvdSBhcmUgb24gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgIiIKIAotIy4gY2FzZSAoMSkKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5MjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjk3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCiBtc2dzdHIgIiIKIAogIy4gY2FzZSAoMSk6IHdhbnQgYSB0cmVlCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQyCiBtc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDkgYnVpbHRpbi9jaGVja291dC5jOjEwMTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQ1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTcgYnVpbHRpbi9jaGVja291dC5jOjEwMjAgYnVpbHRpbi9jaGVja291dC5jOjEwMjUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDI4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1MyBidWlsdGluL2NoZWNrb3V0LmM6MTA1NiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMzMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU3IGJ1aWx0aW4vY2xvbmUuYzo4OQotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjkgYnVpbHRpbi9yZW1vdGUuYzoxNzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkzIGJ1aWx0aW4vY2xvbmUuYzo4OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkgYnVpbHRpbi9yZW1vdGUuYzoxNjEKIG1zZ2lkICJicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkyCiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk0CiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1OQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTUKIG1zZ2lkICJjcmVhdGUgcmVmbG9nIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NgogbXNnaWQgImRldGFjaCB0aGUgSEVBRCBhdCBuYW1lZCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk3CiBtc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk5CiBtc2dpZCAibmV3IGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MworIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTkKIG1zZ2lkICJuZXcgdW5wYXJlbnRlZCBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCiBtc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwMgogbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNAogbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNQogbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDcwIGJ1aWx0aW4vbWVyZ2UuYzoyMzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA2IGJ1aWx0aW4vbWVyZ2UuYzoyMjUKIG1zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzEgYnVpbHRpbi9sb2cuYzoxMjA4IHBhcnNlLW9wdGlvbnMuaDoyNDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA3IGJ1aWx0aW4vbG9nLmM6MTIyOCBwYXJzZS1vcHRpb25zLmg6MjQ4CiBtc2dpZCAic3R5bGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA4CiBtc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMTEKIG1zZ2lkICJkbyBub3QgbGltaXQgcGF0aHNwZWNzIHRvIHNwYXJzZSBlbnRyaWVzIG9ubHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTEzCiBtc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgbm8tc3VjaC1icmFuY2gnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNgogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTExOAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMjUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYwCiBtc2dpZCAiTWlzc2luZyBicmFuY2ggbmFtZTsgdHJ5IC1iIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5NwogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuXG4iCiAiRGlkIHlvdSBpbnRlbmQgdG8gY2hlY2tvdXQgJyVzJyB3aGljaCBjYW4gbm90IGJlIHJlc29sdmVkIGFzIGNvbW1pdD8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3NgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTMKIG1zZ2lkICIiCiAiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2UgYW5kIC0tbWVyZ2UgYXJlIGluY29tcGF0aWJsZSB3aGVuXG4iCiAiY2hlY2tpbmcgb3V0IG9mIHRoZSBpbmRleC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI1CisjOiBidWlsdGluL2NsZWFuLmM6MjYKIG1zZ2lkICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPHBhdHRlcm4+XSBbLXggfCAtWF0gWy0tXSA8cGF0aHM+Li4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOQorIzogYnVpbHRpbi9jbGVhbi5jOjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMwCisjOiBidWlsdGluL2NsZWFuLmM6MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgcmVtb3ZlICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMgorIzogYnVpbHRpbi9jbGVhbi5jOjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHNraXAgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMworIzogYnVpbHRpbi9jbGVhbi5jOjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5MworIzogYnVpbHRpbi9jbGVhbi5jOjI5NAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKICIxICAgICAgICAgIC0gc2VsZWN0IGEgbnVtYmVyZWQgaXRlbVxuIgpAQCAtMzI4Nyw3ICszNDkwLDcgQEAKICIgICAgICAgICAgIC0gKGVtcHR5KSBzZWxlY3Qgbm90aGluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Mjk3CisjOiBidWlsdGluL2NsZWFuLmM6Mjk4CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgogIjEgICAgICAgICAgLSBzZWxlY3QgYSBzaW5nbGUgaXRlbVxuIgpAQCAtMzI5OSwzNSArMzUwMiwzNSBAQAogIiAgICAgICAgICAgLSAoZW1wdHkpIGZpbmlzaCBzZWxlY3RpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjUxNQorIzogYnVpbHRpbi9jbGVhbi5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJIdWggKCVzKT8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY1OAorIzogYnVpbHRpbi9jbGVhbi5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY5NQorIzogYnVpbHRpbi9jbGVhbi5jOjY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJXQVJOSU5HOiBDYW5ub3QgZmluZCBpdGVtcyBtYXRjaGVkIGJ5OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzE2CisjOiBidWlsdGluL2NsZWFuLmM6NzE3CiBtc2dpZCAiU2VsZWN0IGl0ZW1zIHRvIGRlbGV0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzU2CisjOiBidWlsdGluL2NsZWFuLmM6NzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAlcz8gIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3ODIKIG1zZ2lkICJCeWUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3OTAKIG1zZ2lkICIiCiAiY2xlYW4gICAgICAgICAgICAgICAtIHN0YXJ0IGNsZWFuaW5nXG4iCiAiZmlsdGVyIGJ5IHBhdHRlcm4gICAtIGV4Y2x1ZGUgaXRlbXMgZnJvbSBkZWxldGlvblxuIgpAQCAtMzMzOCwyMSArMzU0MSwyMSBAQAogIj8gICAgICAgICAgICAgICAgICAgLSBoZWxwIGZvciBwcm9tcHQgc2VsZWN0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MTcKIG1zZ2lkICIqKiogQ29tbWFuZHMgKioqIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTcKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MTgKIG1zZ2lkICJXaGF0IG5vdyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODI1CisjOiBidWlsdGluL2NsZWFuLmM6ODI2CiBtc2dpZCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbToiCiBtc2dpZF9wbHVyYWwgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW1zOiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NDIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NDMKIG1zZ2lkICJObyBtb3JlIGZpbGVzIHRvIGNsZWFuLCBleGl0aW5nLiIKIG1zZ3N0ciAiIgogCkBAIC0zMzcyLDggKzM1NzUsOCBAQAogbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODgwIGJ1aWx0aW4vZGVzY3JpYmUuYzo0MjAgYnVpbHRpbi9ncmVwLmM6NzE2Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDkzIGJ1aWx0aW4vbmFtZS1yZXYuYzozMTUgYnVpbHRpbi9zaG93LXJlZi5jOjE4NgorIzogYnVpbHRpbi9jbGVhbi5jOjg4MCBidWlsdGluL2Rlc2NyaWJlLmM6NDIwIGJ1aWx0aW4vZ3JlcC5jOjcxOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MyBidWlsdGluL25hbWUtcmV2LmM6MzE0IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODUKIG1zZ2lkICJwYXR0ZXJuIgogbXNnc3RyICIiCiAKQEAgLTM0MDksOCArMzYxMiw4IEBACiBtc2dpZCAiZ2l0IGNsb25lIFtvcHRpb25zXSBbLS1dIDxyZXBvPiBbPGRpcj5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NCBidWlsdGluL2ZldGNoLmM6ODIgYnVpbHRpbi9tZXJnZS5jOjIyOQotIzogYnVpbHRpbi9wdXNoLmM6NDYyCisjOiBidWlsdGluL2Nsb25lLmM6NjQgYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vbWVyZ2UuYzoyMjIKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyMQogbXNnaWQgImZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiIgogCkBAIC0zNDIyLDIyNyArMzYyNSwyNDEgQEAKIG1zZ2lkICJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcyCisjOiBidWlsdGluL2Nsb25lLmM6NzEKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MwogbXNnaWQgInRvIGNsb25lIGZyb20gYSBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NgorIzogYnVpbHRpbi9jbG9uZS5jOjc1CiBtc2dpZCAiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc4CisjOiBidWlsdGluL2Nsb25lLmM6NzcKIG1zZ2lkICJzZXR1cCBhcyBzaGFyZWQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODAgYnVpbHRpbi9jbG9uZS5jOjgyCisjOiBidWlsdGluL2Nsb25lLmM6NzkgYnVpbHRpbi9jbG9uZS5jOjgxCiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDg1CisjOiBidWlsdGluL2Nsb25lLmM6ODIgYnVpbHRpbi9pbml0LWRiLmM6NDg1CiBtc2dpZCAidGVtcGxhdGUtZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NCBidWlsdGluL2luaXQtZGIuYzo0ODYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MyBidWlsdGluL2luaXQtZGIuYzo0ODYKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NgorIzogYnVpbHRpbi9jbG9uZS5jOjg1CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg3IGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CiBtc2dpZCAibmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NwogbXNnaWQgInVzZSA8bmFtZT4gaW5zdGVhZCBvZiAnb3JpZ2luJyB0byB0cmFjayB1cHN0cmVhbSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4OQogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGluc3RlYWQgb2YgdGhlIHJlbW90ZSdzIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyCisjOiBidWlsdGluL2Nsb25lLmM6OTEKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MyBidWlsdGluL2ZldGNoLmM6ODMgYnVpbHRpbi9ncmVwLmM6NjYxCisjOiBidWlsdGluL2Nsb25lLmM6OTIgYnVpbHRpbi9mZXRjaC5jOjk4IGJ1aWx0aW4vZ3JlcC5jOjY2MwogbXNnaWQgImRlcHRoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NAorIzogYnVpbHRpbi9jbG9uZS5jOjkzCiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NgorIzogYnVpbHRpbi9jbG9uZS5jOjk1CiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NyBidWlsdGluL2luaXQtZGIuYzo0OTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NiBidWlsdGluL2luaXQtZGIuYzo0OTQKIG1zZ2lkICJnaXRkaXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NQorIzogYnVpbHRpbi9jbG9uZS5jOjk3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NQogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5CisjOiBidWlsdGluL2Nsb25lLmM6OTgKIG1zZ2lkICJrZXk9dmFsdWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMAorIzogYnVpbHRpbi9jbG9uZS5jOjk5CiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoyNTMKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzE2CisjOiBidWlsdGluL2Nsb25lLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6MzIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMxOCBidWlsdGluL2RpZmYuYzo3NworIzogYnVpbHRpbi9jbG9uZS5jOjMyMyBidWlsdGluL2RpZmYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMzNAorIzogYnVpbHRpbi9jbG9uZS5jOjMzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozNTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzozNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM2MAorIzogYnVpbHRpbi9jbG9uZS5jOjM2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM4MworIzogYnVpbHRpbi9jbG9uZS5jOjM4OCBidWlsdGluL2Nsb25lLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvbmUuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM5NgorIzogYnVpbHRpbi9jbG9uZS5jOjQwMQogbXNnaWQgIiIKICJDbG9uZSBzdWNjZWVkZWQsIGJ1dCBjaGVja291dCBmYWlsZWQuXG4iCiAiWW91IGNhbiBpbnNwZWN0IHdoYXQgd2FzIGNoZWNrZWQgb3V0IHdpdGggJ2dpdCBzdGF0dXMnXG4iCiAiYW5kIHJldHJ5IHRoZSBjaGVja291dCB3aXRoICdnaXQgY2hlY2tvdXQgLWYgSEVBRCdcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDc1CisjOiBidWlsdGluL2Nsb25lLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1NTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5Li4uICIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTU4CisjOiBidWlsdGluL2Nsb25lLmM6NTYzCiBtc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjU2MAotIywgYy1mb3JtYXQKLW1zZ2lkICJkb25lXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjYyMQorIzogYnVpbHRpbi9jbG9uZS5jOjYyNgogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjUyCisjOiBidWlsdGluL2Nsb25lLmM6NjU3CiBtc2dpZCAidW5hYmxlIHRvIGNoZWNrb3V0IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzYwCisjOiBidWlsdGluL2Nsb25lLmM6NzY1CiBtc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzY0CisjOiBidWlsdGluL2Nsb25lLmM6NzY5CiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1iYXJlIGFuZCAtLW9yaWdpbiAlcyBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3ODMKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzkxCisjOiBidWlsdGluL2Nsb25lLmM6Nzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzk2CisjOiBidWlsdGluL2Nsb25lLmM6ODAyCiBtc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc5OAorIzogYnVpbHRpbi9jbG9uZS5jOjgwNQorbXNnaWQgInNvdXJjZSByZXBvc2l0b3J5IGlzIHNoYWxsb3csIGlnbm9yaW5nIC0tbG9jYWwiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjgxMAogbXNnaWQgIi0tbG9jYWwgaXMgaWdub3JlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODA4CisjOiBidWlsdGluL2Nsb25lLmM6ODE0IGJ1aWx0aW4vZmV0Y2guYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6ODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgxOAorIzogYnVpbHRpbi9jbG9uZS5jOjgzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzMSBidWlsdGluL2Nsb25lLmM6ODQzCisjOiBidWlsdGluL2Nsb25lLmM6ODQ3IGJ1aWx0aW4vY2xvbmUuYzo4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzNAorIzogYnVpbHRpbi9jbG9uZS5jOjg1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg1MworIzogYnVpbHRpbi9jbG9uZS5jOjg2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODU1CisjOiBidWlsdGluL2Nsb25lLmM6ODcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byAnJXMnLi4uXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5MAorIzogYnVpbHRpbi9jbG9uZS5jOjkwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBjbG9uZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQyCisjOiBidWlsdGluL2Nsb25lLmM6OTU3IGJ1aWx0aW4vY2xvbmUuYzo5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0OQorIzogYnVpbHRpbi9jbG9uZS5jOjk2OAogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIiIKIApAQCAtMzY3OCwxNSArMzg5NSwxNSBAQAogbXNnaWQgIi0tY29tbWFuZCBtdXN0IGJlIHRoZSBmaXJzdCBhcmd1bWVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1CisjOiBidWlsdGluL2NvbW1pdC5jOjM2CiBtc2dpZCAiZ2l0IGNvbW1pdCBbb3B0aW9uc10gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDEKIG1zZ2lkICJnaXQgc3RhdHVzIFtvcHRpb25zXSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NQorIzogYnVpbHRpbi9jb21taXQuYzo0NgogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC0zNzAwLDE0ICszOTE3LDE0IEBACiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTgKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIGFtZW5kIHRoZSBtb3N0IHJlY2VudCBjb21taXQsIGJ1dCBkb2luZyBzbyB3b3VsZCBtYWtlXG4iCiAiaXQgZW1wdHkuIFlvdSBjYW4gcmVwZWF0IHlvdXIgY29tbWFuZCB3aXRoIC0tYWxsb3ctZW1wdHksIG9yIHlvdSBjYW5cbiIKICJyZW1vdmUgdGhlIGNvbW1pdCBlbnRpcmVseSB3aXRoIFwiZ2l0IHJlc2V0IEhFQUReXCIuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MgorIzogYnVpbHRpbi9jb21taXQuYzo2MwogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCkBAIC0zNzE2LDExICszOTMzLDExIEBACiAiXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2OQorIzogYnVpbHRpbi9jb21taXQuYzo3MAogbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzMKIG1zZ2lkICIiCiAiSWYgeW91IHdpc2ggdG8gc2tpcCB0aGlzIGNvbW1pdCwgdXNlOlxuIgogIlxuIgpAQCAtMzczMCw5MyArMzk0Nyw5MyBAQAogInRoZSByZW1haW5pbmcgY29tbWl0cy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjI3OQorIzogYnVpbHRpbi9jb21taXQuYzoyODcKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzI5CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzM1CiBtc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM2MCBidWlsdGluL2NvbW1pdC5jOjM4MSBidWlsdGluL2NvbW1pdC5jOjQzMQorIzogYnVpbHRpbi9jb21taXQuYzozNjggYnVpbHRpbi9jb21taXQuYzozODkgYnVpbHRpbi9jb21taXQuYzo0MzkKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3X2luZGV4IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDIwCiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDE0CisjOiBidWlsdGluL2NvbW1pdC5jOjQyMgogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQyNAorIzogYnVpbHRpbi9jb21taXQuYzo0MzIKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDUyCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRlbXBvcmFyeSBpbmRleCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTM1IGJ1aWx0aW4vY29tbWl0LmM6NTQxCisjOiBidWlsdGluL2NvbW1pdC5jOjU0MyBidWlsdGluL2NvbW1pdC5jOjU0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbW1pdDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTcxCiBtc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU4MworIzogYnVpbHRpbi9jb21taXQuYzo1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIGlkZW50IHN0cmluZzogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYyMSBidWlsdGluL2NvbW1pdC5jOjY1NCBidWlsdGluL2NvbW1pdC5jOjk4MgorIzogYnVpbHRpbi9jb21taXQuYzo2MzAgYnVpbHRpbi9jb21taXQuYzo2NjMgYnVpbHRpbi9jb21taXQuYzoxMDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgY29tbWl0ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjMzIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjQyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYzNQorIzogYnVpbHRpbi9jb21taXQuYzo2NDQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYzOQorIzogYnVpbHRpbi9jb21taXQuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY0NQorIzogYnVpbHRpbi9jb21taXQuYzo2NTQKIG1zZ2lkICJjb21taXQgaGFzIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjcwCiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTVNHIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjY1CisjOiBidWlsdGluL2NvbW1pdC5jOjY3NAogbXNnaWQgImNvdWxkIG5vdCByZWFkIFNRVUFTSF9NU0ciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ5CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc0MQorIzogYnVpbHRpbi9jb21taXQuYzo3NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMzgyNiw3ICs0MDQzLDcgQEAKICJhbmQgdHJ5IGFnYWluLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ2CisjOiBidWlsdGluL2NvbW1pdC5jOjc2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0zODM2LDE0ICs0MDUzLDE0IEBACiAiYW5kIHRyeSBhZ2Fpbi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc1OAorIzogYnVpbHRpbi9jb21taXQuYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKICJ3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLCBhbmQgYW4gZW1wdHkgbWVzc2FnZSBhYm9ydHMgdGhlIGNvbW1pdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc2MworIzogYnVpbHRpbi9jb21taXQuYzo3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTM4NTEsNDc4ICs0MDY4LDQ4MiBAQAogIkFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NzYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Nzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQXV0aG9yOiAgICAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc4MworIzogYnVpbHRpbi9jb21taXQuYzo4MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNDb21taXR0ZXI6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODAzCisjOiBidWlsdGluL2NvbW1pdC5jOjgyMgogbXNnaWQgIkNhbm5vdCByZWFkIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NQogbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODYwIGJ1aWx0aW4vdGFnLmM6MzU5CisjOiBidWlsdGluL2NvbW1pdC5jOjg4MCBidWlsdGluL3RhZy5jOjM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGV4aXN0aW5nIGF1dGhvciBmb3VuZCB3aXRoICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NzIgYnVpbHRpbi9jb21taXQuYzoxMjA4CisjOiBidWlsdGluL2NvbW1pdC5jOjk5NyBidWlsdGluL2NvbW1pdC5jOjEyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB1bnRyYWNrZWQgZmlsZXMgbW9kZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAwOQorIzogYnVpbHRpbi9jb21taXQuYzoxMDM0CiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAzOQorIzogYnVpbHRpbi9jb21taXQuYzoxMDY0CiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3NQogbXNnaWQgIllvdSBoYXZlIG5vdGhpbmcgdG8gYW1lbmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA1MworIzogYnVpbHRpbi9jb21taXQuYzoxMDc4CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4MAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIGNoZXJyeS1waWNrIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDU4CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODMKIG1zZ2lkICJPcHRpb25zIC0tc3F1YXNoIGFuZCAtLWZpeHVwIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2OAorIzogYnVpbHRpbi9jb21taXQuYzoxMDkzCiBtc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDcwCisjOiBidWlsdGluL2NvbW1pdC5jOjEwOTUKIG1zZ2lkICJPcHRpb24gLW0gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggLWMvLUMvLUYvLS1maXh1cC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDc4CisjOiBidWlsdGluL2NvbW1pdC5jOjExMDMKIG1zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTIwCiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5NworIzogYnVpbHRpbi9jb21taXQuYzoxMTIyCiBtc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5OQorIzogYnVpbHRpbi9jb21taXQuYzoxMTI0CiBtc2dpZCAiQ2xldmVyLi4uIGFtZW5kaW5nIHRoZSBsYXN0IG9uZSB3aXRoIGRpcnR5IGluZGV4LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNgogbXNnaWQgIkV4cGxpY2l0IHBhdGhzIHNwZWNpZmllZCB3aXRob3V0IC1pIG5vciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExMSBidWlsdGluL3RhZy5jOjU3NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTM2IGJ1aWx0aW4vdGFnLmM6NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExNgorIzogYnVpbHRpbi9jb21taXQuYzoxMTQxCiBtc2dpZCAiUGF0aHMgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjIgYnVpbHRpbi9jb21taXQuYzoxNDU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTEgYnVpbHRpbi9jb21taXQuYzoxNDgyCiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNCBidWlsdGluL2NvbW1pdC5jOjE0NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1MyBidWlsdGluL2NvbW1pdC5jOjE0ODQKIG1zZ2lkICJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjYgYnVpbHRpbi9jb21taXQuYzoxNDU5IGJ1aWx0aW4vcHVzaC5jOjQ1MgorIzogYnVpbHRpbi9jb21taXQuYzoxMjU1IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NiBidWlsdGluL3B1c2guYzo1MDcKIG1zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjkgYnVpbHRpbi9jb21taXQuYzoxNDYxCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTggYnVpbHRpbi9jb21taXQuYzoxNDg4CiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIzMiBidWlsdGluL2NvbW1pdC5jOjE0NjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2MSBidWlsdGluL2NvbW1pdC5jOjE0OTEKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzQgYnVpbHRpbi9jb21taXQuYzoxNDY3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NjcKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzAgYnVpbHRpbi90YWcuYzo0NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2MyBidWlsdGluL2NvbW1pdC5jOjE0OTQgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NyBidWlsdGluL3RhZy5jOjQ1OQogbXNnaWQgIm1vZGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjM1IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NworIzogYnVpbHRpbi9jb21taXQuYzoxMjY0IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAogbXNnaWQgInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2NwogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzkgcGFyc2Utb3B0aW9ucy5oOjE1NAorIzogYnVpbHRpbi9jb21taXQuYzoxMjY4IHBhcnNlLW9wdGlvbnMuaDoxNTYKIG1zZ2lkICJ3aGVuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTI0MAorIzogYnVpbHRpbi9jb21taXQuYzoxMjY5CiBtc2dpZCAiIgogImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihEZWZhdWx0OiBhbGwpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTI0MgorIzogYnVpbHRpbi9jb21taXQuYzoxMjcxCiBtc2dpZCAibGlzdCB1bnRyYWNrZWQgZmlsZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MAogbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzE1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDIKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU2CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODMKIG1zZ2lkICJkZXRhY2hlZCBIRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OAorIzogYnVpbHRpbi9jb21taXQuYzoxMzg1CiBtc2dpZCAiIChyb290LWNvbW1pdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDI1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTIKIG1zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQyNgorIzogYnVpbHRpbi9jb21taXQuYzoxNDUzCiBtc2dpZCAic2hvdyBkaWZmIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQyOAorIzogYnVpbHRpbi9jb21taXQuYzoxNDU1CiBtc2dpZCAiQ29tbWl0IG1lc3NhZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjkgYnVpbHRpbi90YWcuYzo0NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NiBidWlsdGluL3RhZy5jOjQ1NwogbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTcKIG1zZ2lkICJhdXRob3IiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTcKIG1zZ2lkICJvdmVycmlkZSBhdXRob3IgZm9yIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzEgYnVpbHRpbi9nYy5jOjE3OAorIzogYnVpbHRpbi9jb21taXQuYzoxNDU4IGJ1aWx0aW4vZ2MuYzoyNjEKIG1zZ2lkICJkYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMQorIzogYnVpbHRpbi9jb21taXQuYzoxNDU4CiBtc2dpZCAib3ZlcnJpZGUgZGF0ZSBmb3IgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMiBidWlsdGluL21lcmdlLmM6MjIzIGJ1aWx0aW4vbm90ZXMuYzo0MDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OSBidWlsdGluL21lcmdlLmM6MjE2IGJ1aWx0aW4vbm90ZXMuYzo0MDUKICM6IGJ1aWx0aW4vbm90ZXMuYzo1NjIgYnVpbHRpbi90YWcuYzo0NTUKIG1zZ2lkICJtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMgorIzogYnVpbHRpbi9jb21taXQuYzoxNDU5CiBtc2dpZCAiY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMzCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjAKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MQogbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNQorIzogYnVpbHRpbi9jb21taXQuYzoxNDYyCiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gZml4dXAgc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MwogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIHNxdWFzaCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNworIzogYnVpbHRpbi9jb21taXQuYzoxNDY0CiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzggYnVpbHRpbi9sb2cuYzoxMTYwIGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjUgYnVpbHRpbi9sb2cuYzoxMTgwIGJ1aWx0aW4vcmV2ZXJ0LmM6ODYKIG1zZ2lkICJhZGQgU2lnbmVkLW9mZi1ieToiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM5CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjYKIG1zZ2lkICJ1c2Ugc3BlY2lmaWVkIHRlbXBsYXRlIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjcKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OAogbXNnaWQgImRlZmF1bHQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQxIGJ1aWx0aW4vdGFnLmM6NDYwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjggYnVpbHRpbi90YWcuYzo0NjAKIG1zZ2lkICJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MgorIzogYnVpbHRpbi9jb21taXQuYzoxNDY5CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQzIGJ1aWx0aW4vbWVyZ2UuYzoyMzAgYnVpbHRpbi90YWcuYzo0NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MCBidWlsdGluL21lcmdlLmM6MjIzIGJ1aWx0aW4vdGFnLmM6NDYxCiBtc2dpZCAia2V5IGlkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0NCBidWlsdGluL21lcmdlLmM6MjMxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzEgYnVpbHRpbi9tZXJnZS5jOjIyNAogbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKIG1zZ3N0ciAiIgogCiAjLiBlbmQgY29tbWl0IG1lc3NhZ2Ugb3B0aW9ucwotIzogYnVpbHRpbi9jb21taXQuYzoxNDQ3CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzQKIG1zZ2lkICJDb21taXQgY29udGVudHMgb3B0aW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NQogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NgogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NwogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDc4CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OQogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MAogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGhvb2siCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDU0CisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODEKIG1zZ2lkICJzaG93IHdoYXQgd291bGQgYmUgY29tbWl0dGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNDkyCiBtc2dpZCAiYW1lbmQgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NgorIzogYnVpbHRpbi9jb21taXQuYzoxNDkzCiBtc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDk4CiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMAogbXNnaWQgIm9rIHRvIHJlY29yZCBhIGNoYW5nZSB3aXRoIGFuIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTA3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MjkKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTQ1IGJ1aWx0aW4vbWVyZ2UuYzo1MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU2NyBidWlsdGluL21lcmdlLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTUyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MQogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTc4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgorIzogYnVpbHRpbi9jb21taXQuYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMiBidWlsdGluL21lcmdlLmM6ODYxIGJ1aWx0aW4vbWVyZ2UuYzo4ODYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMSBidWlsdGluL21lcmdlLmM6ODU0IGJ1aWx0aW4vbWVyZ2UuYzo4NzkKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY1MgogbXNnaWQgImNhbm5vdCBsb2NrIEhFQUQgcmVmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNworIzogYnVpbHRpbi9jb21taXQuYzoxNjU2CiBtc2dpZCAiY2Fubm90IHVwZGF0ZSBIRUFEIHJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2NDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NwogbXNnaWQgIiIKICJSZXBvc2l0b3J5IGhhcyBiZWVuIHVwZGF0ZWQsIGJ1dCB1bmFibGUgdG8gd3JpdGVcbiIKICJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIG9yIHF1b3RhIGlzXG4iCiAibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXNldCBIRUFEXCIgdG8gcmVjb3Zlci4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3CisjOiBidWlsdGluL2NvbmZpZy5jOjgKIG1zZ2lkICJnaXQgY29uZmlnIFtvcHRpb25zXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjUyCisjOiBidWlsdGluL2NvbmZpZy5jOjU0CiBtc2dpZCAiQ29uZmlnIGZpbGUgbG9jYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1MworIzogYnVpbHRpbi9jb25maWcuYzo1NQogbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NAorIzogYnVpbHRpbi9jb25maWcuYzo1NgogbXNnaWQgInVzZSBzeXN0ZW0gY29uZmlnIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NQorIzogYnVpbHRpbi9jb25maWcuYzo1NwogbXNnaWQgInVzZSByZXBvc2l0b3J5IGNvbmZpZyBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKIG1zZ2lkICJ1c2UgZ2l2ZW4gY29uZmlnIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgImJsb2ItaWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgInJlYWQgY29uZmlnIGZyb20gZ2l2ZW4gYmxvYiBvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OAorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgIkFjdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU5CisjOiBidWlsdGluL2NvbmZpZy5jOjYxCiBtc2dpZCAiZ2V0IHZhbHVlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo2MgogbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxCisjOiBidWlsdGluL2NvbmZpZy5jOjYzCiBtc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MgotbXNnaWQgInJlcGxhY2UgYWxsIG1hdGNoaW5nIHZhcmlhYmxlczogbmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKLW1zZ2lkICJhZGQgYSBuZXcgdmFyaWFibGU6IG5hbWUgdmFsdWUiCi1tc2dzdHIgIiIKLQogIzogYnVpbHRpbi9jb25maWcuYzo2NAotbXNnaWQgInJlbW92ZSBhIHZhcmlhYmxlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCittc2dpZCAiZ2V0IHZhbHVlIHNwZWNpZmljIGZvciB0aGUgVVJMOiBzZWN0aW9uWy52YXJdIFVSTCIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjY1Ci1tc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCittc2dpZCAicmVwbGFjZSBhbGwgbWF0Y2hpbmcgdmFyaWFibGVzOiBuYW1lIHZhbHVlIFt2YWx1ZV9yZWdleF0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9jb25maWcuYzo2NgotbXNnaWQgInJlbmFtZSBzZWN0aW9uOiBvbGQtbmFtZSBuZXctbmFtZSIKK21zZ2lkICJhZGQgYSBuZXcgdmFyaWFibGU6IG5hbWUgdmFsdWUiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9jb25maWcuYzo2NwotbXNnaWQgInJlbW92ZSBhIHNlY3Rpb246IG5hbWUiCittc2dpZCAicmVtb3ZlIGEgdmFyaWFibGU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjY4Ci1tc2dpZCAibGlzdCBhbGwiCittc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9jb25maWcuYzo2OQotbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzAgYnVpbHRpbi9jb25maWcuYzo3MQotbXNnaWQgInNsb3QiCittc2dpZCAicmVuYW1lIHNlY3Rpb246IG9sZC1uYW1lIG5ldy1uYW1lIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKLW1zZ2lkICJmaW5kIHRoZSBjb2xvciBjb25maWd1cmVkOiBbZGVmYXVsdF0iCittc2dpZCAicmVtb3ZlIGEgc2VjdGlvbjogbmFtZSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjcxCi1tc2dpZCAiZmluZCB0aGUgY29sb3Igc2V0dGluZzogW3N0ZG91dC1pcy10dHldIgorbXNnaWQgImxpc3QgYWxsIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKLW1zZ2lkICJUeXBlIgorbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMgYnVpbHRpbi9jb25maWcuYzo3NAorbXNnaWQgInNsb3QiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9jb25maWcuYzo3MwotbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKK21zZ2lkICJmaW5kIHRoZSBjb2xvciBjb25maWd1cmVkOiBbZGVmYXVsdF0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9jb25maWcuYzo3NAotbXNnaWQgInZhbHVlIGlzIGRlY2ltYWwgbnVtYmVyIgorbXNnaWQgImZpbmQgdGhlIGNvbG9yIHNldHRpbmc6IFtzdGRvdXQtaXMtdHR5XSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjc1Ci1tc2dpZCAidmFsdWUgaXMgLS1ib29sIG9yIC0taW50IgorbXNnaWQgIlR5cGUiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9jb25maWcuYzo3NgotbXNnaWQgInZhbHVlIGlzIGEgcGF0aCAoZmlsZSBvciBkaXJlY3RvcnkgbmFtZSkiCittc2dpZCAidmFsdWUgaXMgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKLW1zZ2lkICJPdGhlciIKK21zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjc4Ci1tc2dpZCAidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIgorbXNnaWQgInZhbHVlIGlzIC0tYm9vbCBvciAtLWludCIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjc5Cittc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjgwCittc2dpZCAiT3RoZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo4MQorbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjgyCiBtc2dpZCAicmVzcGVjdCBpbmNsdWRlIGRpcmVjdGl2ZXMgb24gbG9va3VwIgogbXNnc3RyICIiCiAKQEAgLTQzMzUsNyArNDU1Niw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjE2Ci1tc2dpZCAiZ2l0IGRlc2NyaWJlIFtvcHRpb25zXSA8Y29tbWl0dGlzaD4qIgorbXNnaWQgImdpdCBkZXNjcmliZSBbb3B0aW9uc10gPGNvbW1pdC1pc2g+KiIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2Rlc2NyaWJlLmM6MTcKQEAgLTQ0NDQsNyArNDY2NSw3IEBACiBtc2dpZCAib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDIzIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MjMgYnVpbHRpbi9uYW1lLXJldi5jOjMyMQogbXNnaWQgInNob3cgYWJicmV2aWF0ZWQgY29tbWl0IG9iamVjdCBhcyBmYWxsYmFjayIKIG1zZ3N0ciAiIgogCkBAIC00NDY1LDM0ICs0Njg2LDM0IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ4OQotbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0dGlzaGVzIgorbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjc5CisjOiBidWlsdGluL2RpZmYuYzo4NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmYuYzoyMzAKKyM6IGJ1aWx0aW4vZGlmZi5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9wdGlvbjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzA3CisjOiBidWlsdGluL2RpZmYuYzozNTcKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmYuYzozNTAKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmYuYzozNTkKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM2NgorIzogYnVpbHRpbi9kaWZmLmM6NDE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgIiIKQEAgLTQ1MDEsMzkgKzQ3MjIsMzkgQEAKIG1zZ2lkICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NjYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzMKIG1zZ2lkICJzaG93IHByb2dyZXNzIGFmdGVyIDxuPiBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NjgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzUKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2Ygc2lnbmVkIHRhZ3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3OAogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiB0YWdzIHRoYXQgdGFnIGZpbHRlcmVkIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MQogbXNnaWQgIkR1bXAgbWFya3MgdG8gdGhpcyBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODMKIG1zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4NQogbXNnaWQgIkZha2UgYSB0YWdnZXIgd2hlbiB0YWdzIGxhY2sgb25lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODcKIG1zZ2lkICJPdXRwdXQgZnVsbCB0cmVlIGZvciBlYWNoIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njg5CiBtc2dpZCAiVXNlIHRoZSBkb25lIGZlYXR1cmUgdG8gdGVybWluYXRlIHRoZSBzdHJlYW0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY5MAogbXNnaWQgIlNraXAgb3V0cHV0IG9mIGJsb2IgZGF0YSIKIG1zZ3N0ciAiIgogCkBAIC00NTUzLDIzMCArNDc3NCwyMzkgQEAKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwCisjOiBidWlsdGluL2ZldGNoLmM6NzUKIG1zZ2lkICJmZXRjaCBmcm9tIGFsbCByZW1vdGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MgorIzogYnVpbHRpbi9mZXRjaC5jOjc3CiBtc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NAorIzogYnVpbHRpbi9mZXRjaC5jOjc5CiBtc2dpZCAicGF0aCB0byB1cGxvYWQgcGFjayBvbiByZW1vdGUgZW5kIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NQorIzogYnVpbHRpbi9mZXRjaC5jOjgwCiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4MgogbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NAogbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcxCisjOiBidWlsdGluL2ZldGNoLmM6ODYKIG1zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjczCisjOiBidWlsdGluL2ZldGNoLmM6ODgKIG1zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4OQogbXNnaWQgIm9uLWRlbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MAogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc5CisjOiBidWlsdGluL2ZldGNoLmM6OTQKIG1zZ2lkICJrZWVwIGRvd25sb2FkZWQgcGFjayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NgogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NAorIzogYnVpbHRpbi9mZXRjaC5jOjk5CiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDEKIG1zZ2lkICJjb252ZXJ0IHRvIGEgY29tcGxldGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODggYnVpbHRpbi9sb2cuYzoxMTc3CisjOiBidWlsdGluL2ZldGNoLmM6MTAzIGJ1aWx0aW4vbG9nLmM6MTE5NwogbXNnaWQgImRpciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDQKIG1zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MgorIzogYnVpbHRpbi9mZXRjaC5jOjEwNwogbXNnaWQgImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDkKK21zZ2lkICJhY2NlcHQgcmVmcyB0aGF0IHVwZGF0ZSAuZ2l0L3NoYWxsb3ciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjM0NwogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyNzMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mjc4CisjOiBidWlsdGluL2ZldGNoLmM6NDE2CiBtc2dpZCAiW3VwIHRvIGRhdGVdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyOTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiISAlLSpzICUtKnMgLT4gJXMgIChjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI5MyBidWlsdGluL2ZldGNoLmM6Mzc5CisjOiBidWlsdGluL2ZldGNoLmM6NDMxIGJ1aWx0aW4vZmV0Y2guYzo1MTcKIG1zZ2lkICJbcmVqZWN0ZWRdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMDQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0NDIKIG1zZ2lkICJbdGFnIHVwZGF0ZV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMwNiBidWlsdGluL2ZldGNoLmM6MzQxIGJ1aWx0aW4vZmV0Y2guYzozNTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0NDQgYnVpbHRpbi9mZXRjaC5jOjQ3OSBidWlsdGluL2ZldGNoLmM6NDk3CiBtc2dpZCAiICAodW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0NjIKIG1zZ2lkICJbbmV3IHRhZ10iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMyNworIzogYnVpbHRpbi9mZXRjaC5jOjQ2NQogbXNnaWQgIltuZXcgYnJhbmNoXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzMwCisjOiBidWlsdGluL2ZldGNoLmM6NDY4CiBtc2dpZCAiW25ldyByZWZdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozNzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MTMKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mzc1CisjOiBidWlsdGluL2ZldGNoLmM6NTEzCiBtc2dpZCAiZm9yY2VkIHVwZGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzgxCisjOiBidWlsdGluL2ZldGNoLmM6NTE5CiBtc2dpZCAiKG5vbi1mYXN0LWZvcndhcmQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0MTIgYnVpbHRpbi9mZXRjaC5jOjcxOAorIzogYnVpbHRpbi9mZXRjaC5jOjU1MiBidWlsdGluL2ZldGNoLmM6Nzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0MjEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVqZWN0ICVzIGJlY2F1c2Ugc2hhbGxvdyByb290cyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgdXBkYXRlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6NjY3IGJ1aWx0aW4vZmV0Y2guYzo3NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRnJvbSAlLipzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjUzMQorIzogYnVpbHRpbi9mZXRjaC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAic29tZSBsb2NhbCByZWZzIGNvdWxkIG5vdCBiZSB1cGRhdGVkOyB0cnkgcnVubmluZ1xuIgogIiAnZ2l0IHJlbW90ZSBwcnVuZSAlcycgdG8gcmVtb3ZlIGFueSBvbGQsIGNvbmZsaWN0aW5nIGJyYW5jaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1ODEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIHdpbGwgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTgyCisjOiBidWlsdGluL2ZldGNoLmM6NzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTg5CisjOiBidWlsdGluL2ZldGNoLmM6NzU1CiBtc2dpZCAiW2RlbGV0ZWRdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1OTAgYnVpbHRpbi9yZW1vdGUuYzoxMDU1CisjOiBidWlsdGluL2ZldGNoLmM6NzU2IGJ1aWx0aW4vcmVtb3RlLmM6MTA1MAogbXNnaWQgIihub25lKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzA4CisjOiBidWlsdGluL2ZldGNoLmM6Nzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzQyCi0jLCBjLWZvcm1hdAotbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjgyMworIzogYnVpbHRpbi9mZXRjaC5jOjc5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MjgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZmV0Y2ggZnJvbSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTAxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MzAgYnVpbHRpbi9yZW1vdGUuYzoxMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE3IGJ1aWx0aW4vcmVtb3RlLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NDkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDM2CiBtc2dpZCAiIgogIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgogInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk2OQorIzogYnVpbHRpbi9mZXRjaC5jOjEwNTkKIG1zZ2lkICJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgdGFnIG5hbWUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE1CisjOiBidWlsdGluL2ZldGNoLmM6MTEwNwogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE3CisjOiBidWlsdGluL2ZldGNoLmM6MTEwOQogbXNnaWQgIi0tdW5zaGFsbG93IG9uIGEgY29tcGxldGUgcmVwb3NpdG9yeSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDM2CisjOiBidWlsdGluL2ZldGNoLmM6MTEzMgogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDM4CisjOiBidWlsdGluL2ZldGNoLmM6MTEzNAogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA0OQorIzogYnVpbHRpbi9mZXRjaC5jOjExNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA1NworIzogYnVpbHRpbi9mZXRjaC5jOjExNTMKIG1zZ2lkICJGZXRjaGluZyBhIGdyb3VwIGFuZCBzcGVjaWZ5aW5nIHJlZnNwZWNzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKIApAQCAtNDc4NCw5ICs1MDE0LDkgQEAKIG1zZ2lkICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPG1lc3NhZ2U+XSBbLS1sb2dbPTxuPl18LS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2IGJ1aWx0aW4vZ3JlcC5jOjcwMAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKLSM6IGJ1aWx0aW4vdGFnLmM6NDQ2IHBhcnNlLW9wdGlvbnMuaDoxMzMgcGFyc2Utb3B0aW9ucy5oOjI0MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NiBidWlsdGluL2dyZXAuYzo3MDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTYgYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NCBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL3RhZy5jOjQ0NiBwYXJzZS1vcHRpb25zLmg6MTM1IHBhcnNlLW9wdGlvbnMuaDoyNDIKIG1zZ2lkICJuIgogbXNnc3RyICIiCiAKQEAgLTQ4MTAsMTU4ICs1MDQwLDE2OSBAQAogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTc5CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwNjMKIG1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFtvcHRpb25zXSBbPHBhdHRlcm4+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5NAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDc4CiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBzaGVsbHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5OTYKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTA4MAogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgcGVybCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5OAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDgyCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBweXRob24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDAwCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwODQKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHRjbCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDMKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTA4NwogbXNnaWQgInNob3cgb25seSA8bj4gbWF0Y2hlZCByZWZzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDg4IGJ1aWx0aW4vcmVwbGFjZS5jOjE3NwogbXNnaWQgImZvcm1hdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTA4OAogbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDA1CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwODkKIG1zZ2lkICJrZXkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDA2CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwOTAKIG1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjA4CisjOiBidWlsdGluL2ZzY2suYzo2MDcKIG1zZ2lkICJnaXQgZnNjayBbb3B0aW9uc10gWzxvYmplY3Q+Li4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTQKKyM6IGJ1aWx0aW4vZnNjay5jOjYxMwogbXNnaWQgInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTUKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNAogbXNnaWQgInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTYKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNQogbXNnaWQgInJlcG9ydCB0YWdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYxNworIzogYnVpbHRpbi9mc2NrLmM6NjE2CiBtc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE4CisjOiBidWlsdGluL2ZzY2suYzo2MTcKIG1zZ2lkICJtYWtlIGluZGV4IG9iamVjdHMgaGVhZCBub2RlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTkKKyM6IGJ1aWx0aW4vZnNjay5jOjYxOAogbXNnaWQgIm1ha2UgcmVmbG9ncyBoZWFkIG5vZGVzIChkZWZhdWx0KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MjAKKyM6IGJ1aWx0aW4vZnNjay5jOjYxOQogbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYyMQorIzogYnVpbHRpbi9mc2NrLmM6NjIwCiBtc2dpZCAiZW5hYmxlIG1vcmUgc3RyaWN0IGNoZWNraW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYyMworIzogYnVpbHRpbi9mc2NrLmM6NjIyCiBtc2dpZCAid3JpdGUgZGFuZ2xpbmcgb2JqZWN0cyBpbiAuZ2l0L2xvc3QtZm91bmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjI0IGJ1aWx0aW4vcHJ1bmUuYzoxMzQKKyM6IGJ1aWx0aW4vZnNjay5jOjYyMyBidWlsdGluL3BydW5lLmM6MTQ0CiBtc2dpZCAic2hvdyBwcm9ncmVzcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2djLmM6MjIKKyM6IGJ1aWx0aW4vZ2MuYzoyNAogbXNnaWQgImdpdCBnYyBbb3B0aW9uc10iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9nYy5jOjYzCisjOiBidWlsdGluL2djLmM6ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCAlczogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2djLmM6OTAKKyM6IGJ1aWx0aW4vZ2MuYzoxMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5zYW5lbHkgbG9uZyBvYmplY3QgZGlyZWN0b3J5ICUuKnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9nYy5jOjE3OQorIzogYnVpbHRpbi9nYy5jOjI2MgogbXNnaWQgInBydW5lIHVucmVmZXJlbmNlZCBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxODEKKyM6IGJ1aWx0aW4vZ2MuYzoyNjQKIG1zZ2lkICJiZSBtb3JlIHRob3JvdWdoIChpbmNyZWFzZWQgcnVudGltZSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9nYy5jOjE4MgorIzogYnVpbHRpbi9nYy5jOjI2NQogbXNnaWQgImVuYWJsZSBhdXRvLWdjIG1vZGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9nYy5jOjIyMgorIzogYnVpbHRpbi9nYy5jOjI2NgorbXNnaWQgImZvcmNlIHJ1bm5pbmcgZ2MgZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBnYyBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ2MuYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS4gWW91IG1heSBhbHNvXG4iCiAicnVuIFwiZ2l0IGdjXCIgbWFudWFsbHkuIFNlZSBcImdpdCBoZWxwIGdjXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9nYy5jOjI0OQorIy4gYmUgcXVpZXQgb24gLS1hdXRvCisjOiBidWlsdGluL2djLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJnYyBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gbWFjaGluZSAnJXMnIHBpZCAlPFBSSXVNQVg+ICh1c2UgLS1mb3JjZSBpZiBub3QpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ2MuYzozNDEKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgdGhlbS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIzCiBtc2dpZCAiZ2l0IGdyZXAgW29wdGlvbnNdIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJncmVwOiBmYWlsZWQgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MzY0CisjOiBidWlsdGluL2dyZXAuYzozNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNoZGlyOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo0NDIgYnVpbHRpbi9ncmVwLmM6NDc3CisjOiBidWlsdGluL2dyZXAuYzo0NDMgYnVpbHRpbi9ncmVwLmM6NDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo0OTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ3JlcCBmcm9tIG9iamVjdCBvZiB0eXBlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjU1MAorIzogYnVpbHRpbi9ncmVwLmM6NTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgInN3aXRjaCBgJWMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTY3CisjOiBidWlsdGluL2dyZXAuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAiIgpAQCAtNTAwMywxNTggKzUyNDQsMTYyIEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9ncmVwLmM6NjYyCittc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgd2l0aCB0ZXh0Y29udiBmaWx0ZXJzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2NAogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2OAogbXNnaWQgInVzZSBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2OQorIzogYnVpbHRpbi9ncmVwLmM6NjcxCiBtc2dpZCAidXNlIGJhc2ljIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMgKGRlZmF1bHQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3MgorIzogYnVpbHRpbi9ncmVwLmM6Njc0CiBtc2dpZCAiaW50ZXJwcmV0IHBhdHRlcm5zIGFzIGZpeGVkIHN0cmluZ3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc1CisjOiBidWlsdGluL2dyZXAuYzo2NzcKIG1zZ2lkICJ1c2UgUGVybC1jb21wYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc4CisjOiBidWlsdGluL2dyZXAuYzo2ODAKIG1zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4MQogbXNnaWQgImRvbid0IHNob3cgZmlsZW5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4MAorIzogYnVpbHRpbi9ncmVwLmM6NjgyCiBtc2dpZCAic2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjgyCisjOiBidWlsdGluL2dyZXAuYzo2ODQKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NAorIzogYnVpbHRpbi9ncmVwLmM6Njg2CiBtc2dpZCAic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NgorIzogYnVpbHRpbi9ncmVwLmM6Njg4CiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg5CisjOiBidWlsdGluL2dyZXAuYzo2OTEKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjkxCisjOiBidWlsdGluL2dyZXAuYzo2OTMKIG1zZ2lkICJwcmludCBOVUwgYWZ0ZXIgZmlsZW5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5MworIzogYnVpbHRpbi9ncmVwLmM6Njk1CiBtc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5NgogbXNnaWQgImhpZ2hsaWdodCBtYXRjaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5NgorIzogYnVpbHRpbi9ncmVwLmM6Njk4CiBtc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk4CisjOiBidWlsdGluL2dyZXAuYzo3MDAKIG1zZ2lkICJzaG93IGZpbGVuYW1lIG9ubHkgb25jZSBhYm92ZSBtYXRjaGVzIGZyb20gc2FtZSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwMQorIzogYnVpbHRpbi9ncmVwLmM6NzAzCiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgYW5kIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA0CisjOiBidWlsdGluL2dyZXAuYzo3MDYKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNgorIzogYnVpbHRpbi9ncmVwLmM6NzA4CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBhZnRlciBtYXRjaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNworIzogYnVpbHRpbi9ncmVwLmM6NzA5CiBtc2dpZCAic2hvcnRjdXQgZm9yIC1DIE5VTSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxMgogbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEyCisjOiBidWlsdGluL2dyZXAuYzo3MTQKIG1zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNwogbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxNworIzogYnVpbHRpbi9ncmVwLmM6NzE5CiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxOQorIzogYnVpbHRpbi9ncmVwLmM6NzIxCiBtc2dpZCAiY29tYmluZSBwYXR0ZXJucyBzcGVjaWZpZWQgd2l0aCAtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczMwogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczMworIzogYnVpbHRpbi9ncmVwLmM6NzM1CiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoZXMgZnJvbSBmaWxlcyB0aGF0IG1hdGNoIGFsbCBwYXR0ZXJucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczNwogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczOQorIzogYnVpbHRpbi9ncmVwLmM6NzQxCiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzM5CisjOiBidWlsdGluL2dyZXAuYzo3NDEKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0NAogbXNnaWQgImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDMgYnVpbHRpbi9zaG93LXJlZi5jOjE4OAorIzogYnVpbHRpbi9ncmVwLmM6NzQ1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODcKIG1zZ2lkICJzaG93IHVzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxMAorIzogYnVpbHRpbi9ncmVwLmM6ODEyCiBtc2dpZCAibm8gcGF0dGVybiBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODY1CisjOiBidWlsdGluL2dyZXAuYzo4NzAKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg4CisjOiBidWlsdGluL2dyZXAuYzo4OTMKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXguIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg5MworIzogYnVpbHRpbi9ncmVwLmM6ODk4CiBtc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg5NgorIzogYnVpbHRpbi9ncmVwLmM6OTAxCiBtc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwNAorIzogYnVpbHRpbi9ncmVwLmM6OTA5CiBtc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuLiIKIG1zZ3N0ciAiIgogCkBAIC01MjUzLDU3ICs1NDk4LDU3IEBACiAiUGxlYXNlIGNvbnNpZGVyIHVzaW5nICdtYW4uPHRvb2w+LnBhdGgnIGluc3RlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM0OQorIzogYnVpbHRpbi9oZWxwLmM6MzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVua25vd24gbWFuIHZpZXdlci4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzY2CisjOiBidWlsdGluL2hlbHAuYzozNzAKIG1zZ2lkICJubyBtYW4gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6Mzc0CisjOiBidWlsdGluL2hlbHAuYzozNzgKIG1zZ2lkICJubyBpbmZvIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyMAorIzogYnVpbHRpbi9oZWxwLmM6NDI0CiBtc2dpZCAiRGVmaW5pbmcgYXR0cmlidXRlcyBwZXIgcGF0aCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MjEKKyM6IGJ1aWx0aW4vaGVscC5jOjQyNQogbXNnaWQgIkEgR2l0IGdsb3NzYXJ5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyMgorIzogYnVpbHRpbi9oZWxwLmM6NDI2CiBtc2dpZCAiU3BlY2lmaWVzIGludGVudGlvbmFsbHkgdW50cmFja2VkIGZpbGVzIHRvIGlnbm9yZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MjMKKyM6IGJ1aWx0aW4vaGVscC5jOjQyNwogbXNnaWQgIkRlZmluaW5nIHN1Ym1vZHVsZSBwcm9wZXJ0aWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyNAorIzogYnVpbHRpbi9oZWxwLmM6NDI4CiBtc2dpZCAiU3BlY2lmeWluZyByZXZpc2lvbnMgYW5kIHJhbmdlcyBmb3IgR2l0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyNQorIzogYnVpbHRpbi9oZWxwLmM6NDI5CiBtc2dpZCAiQSB0dXRvcmlhbCBpbnRyb2R1Y3Rpb24gdG8gR2l0IChmb3IgdmVyc2lvbiAxLjUuMSBvciBuZXdlcikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDI2CisjOiBidWlsdGluL2hlbHAuYzo0MzAKIG1zZ2lkICJBbiBvdmVydmlldyBvZiByZWNvbW1lbmRlZCB3b3JrZmxvd3Mgd2l0aCBHaXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDM4CisjOiBidWlsdGluL2hlbHAuYzo0NDIKIG1zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ2MCBidWlsdGluL2hlbHAuYzo0NzYKKyM6IGJ1aWx0aW4vaGVscC5jOjQ2MyBidWlsdGluL2hlbHAuYzo0ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDkyCisjOiBidWlsdGluL2hlbHAuYzo0OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYGdpdCAlcycgaXMgYWxpYXNlZCB0byBgJXMnIgogbXNnc3RyICIiCkBAIC01NDAzLDggKzU2NDgsOCBAQAogbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo2NjkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo2NjkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICIiCkBAIC01NDMzLDE1NSArNTY3OCwxNTUgQEAKIG1zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzggYnVpbHRpbi9pbmRleC1wYWNrLmM6ODY4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzkgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODY5CiBtc2dpZCAiZmFpbGVkIHRvIGFwcGx5IGRlbHRhIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMTAKIG1zZ2lkICJSZWNlaXZpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDEwCiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM2CiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNDEKIG1zZ2lkICJjYW5ub3QgZnN0YXQgcGFja2ZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA0NAogbXNnaWQgInBhY2sgaGFzIGp1bmsgYXQgdGhlIGVuZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDU0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDU1CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDc3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDc4CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDg3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTI5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTMwCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTM3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmV4cGVjdGVkIHRhaWwgY2hlY2tzdW0gZm9yICVzIChkaXNrIGNvcnJ1cHRpb24/KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTUxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGEiCiBtc2dpZF9wbHVyYWwgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGFzIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvY2FsIG9iamVjdCAlcyBpcyBjb3JydXB0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNzkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyODAKIG1zZ2lkICJlcnJvciB3aGlsZSBjbG9zaW5nIHBhY2sgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzAwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjbG9zZSB3cml0dGVuIGtlZXAgZmlsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMTQKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMjQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMjUKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgaW5kZXggZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzU3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2OCBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3RzIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUxMAogbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2MAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3MiBidWlsdGluL2luZGV4LXBhY2suYzoxNTc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTU4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NjEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NzMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MQogbXNnaWQgIi0tZml4LXRoaW4gY2Fubm90IGJlIHVzZWQgd2l0aG91dCAtLXN0ZGluIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NSBidWlsdGluL2luZGV4LXBhY2suYzoxNjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTQKIG1zZ2lkICItLXZlcmlmeSB3aXRoIG5vIHBhY2tmaWxlIG5hbWUgZ2l2ZW4iCiBtc2dzdHIgIiIKIApAQCAtNTY3MCwxMSArNTkxNSw2IEBACiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzYzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZ2l0IGxpbmsgJXMiCi1tc2dzdHIgIiIKLQogIy4KICMuICogVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAnJXMnIGlzIGVpdGhlciAiUmVpbml0aWFsaXplZAogIy4gKiBleGlzdGluZyIgb3IgIkluaXRpYWxpemVkIGVtcHR5IiwgdGhlIHNlY29uZCAiIHNoYXJlZCIgb3IKQEAgLTU3MTUsNyArNTk1NSw3IEBACiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5MyBidWlsdGluL3BydW5lLXBhY2tlZC5jOjc1CisjOiBidWlsdGluL2luaXQtZGIuYzo0OTMgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3OSBidWlsdGluL3JlcGFjay5jOjE1NQogbXNnaWQgImJlIHF1aWV0IgogbXNnc3RyICIiCiAKQEAgLTU3NTMsMzgxICs1OTkzLDM4MSBAQAogbXNnaWQgIiAgIG9yOiBnaXQgc2hvdyBbb3B0aW9uc10gPG9iamVjdD4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTI1CiBtc2dpZCAic3VwcHJlc3MgZGlmZiBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2CiBtc2dpZCAic2hvdyBzb3VyY2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTI3CiBtc2dpZCAiVXNlIG1haWwgbWFwIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4CiBtc2dpZCAiZGVjb3JhdGUgb3B0aW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjIzMAorIzogYnVpbHRpbi9sb2cuYzoyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmluYWwgb3V0cHV0OiAlZCAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDUzIGJ1aWx0aW4vbG9nLmM6NTQ1CisjOiBidWlsdGluL2xvZy5jOjQ3MyBidWlsdGluL2xvZy5jOjU2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo1NjkKKyM6IGJ1aWx0aW4vbG9nLmM6NTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdHlwZTogJWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo2NjkKKyM6IGJ1aWx0aW4vbG9nLmM6Njg5CiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjc1MQorIzogYnVpbHRpbi9sb2cuYzo3NzEKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo3NjcKKyM6IGJ1aWx0aW4vbG9nLmM6Nzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIHBhdGNoIGZpbGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo3ODEKKyM6IGJ1aWx0aW4vbG9nLmM6ODAxCiBtc2dpZCAiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo3ODkKKyM6IGJ1aWx0aW4vbG9nLmM6ODA5CiBtc2dpZCAiTm90IGEgcmFuZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODkxCisjOiBidWlsdGluL2xvZy5jOjkxMQogbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo5NjcKKyM6IGJ1aWx0aW4vbG9nLmM6OTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo5OTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTAxNQogbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggW29wdGlvbnNdIFs8c2luY2U+IHwgPHJldmlzaW9uIHJhbmdlPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDQwCisjOiBidWlsdGluL2xvZy5jOjEwNjAKIG1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjExNTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTE3NQogbXNnaWQgInVzZSBbUEFUQ0ggbi9tXSBldmVuIHdpdGggYSBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTU4CisjOiBidWlsdGluL2xvZy5jOjExNzgKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjExNjIKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4MgogbXNnaWQgInByaW50IHBhdGNoZXMgdG8gc3RhbmRhcmQgb3V0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2NAorIzogYnVpbHRpbi9sb2cuYzoxMTg0CiBtc2dpZCAiZ2VuZXJhdGUgYSBjb3ZlciBsZXR0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTY2CisjOiBidWlsdGluL2xvZy5jOjExODYKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTY3CisjOiBidWlsdGluL2xvZy5jOjExODcKIG1zZ2lkICJzZngiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTY4CisjOiBidWlsdGluL2xvZy5jOjExODgKIG1zZ2lkICJ1c2UgPHNmeD4gaW5zdGVhZCBvZiAnLnBhdGNoJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjExNzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTE5MAogbXNnaWQgInN0YXJ0IG51bWJlcmluZyBwYXRjaGVzIGF0IDxuPiBpbnN0ZWFkIG9mIDEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTcyCisjOiBidWlsdGluL2xvZy5jOjExOTIKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTc0CisjOiBidWlsdGluL2xvZy5jOjExOTQKIG1zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTc3CisjOiBidWlsdGluL2xvZy5jOjExOTcKIG1zZ2lkICJzdG9yZSByZXN1bHRpbmcgZmlsZXMgaW4gPGRpcj4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTgwCisjOiBidWlsdGluL2xvZy5jOjEyMDAKIG1zZ2lkICJkb24ndCBzdHJpcC9hZGQgW1BBVENIXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjExODMKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwMwogbXNnaWQgImRvbid0IG91dHB1dCBiaW5hcnkgZGlmZnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTg1CisjOiBidWlsdGluL2xvZy5jOjEyMDUKIG1zZ2lkICJkb24ndCBpbmNsdWRlIGEgcGF0Y2ggbWF0Y2hpbmcgYSBjb21taXQgdXBzdHJlYW0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTg3CisjOiBidWlsdGluL2xvZy5jOjEyMDcKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTg5CisjOiBidWlsdGluL2xvZy5jOjEyMDkKIG1zZ2lkICJNZXNzYWdpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTkwCisjOiBidWlsdGluL2xvZy5jOjEyMTAKIG1zZ2lkICJoZWFkZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTkxCisjOiBidWlsdGluL2xvZy5jOjEyMTEKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5MiBidWlsdGluL2xvZy5jOjExOTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxMiBidWlsdGluL2xvZy5jOjEyMTQKIG1zZ2lkICJlbWFpbCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjExOTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxMgogbXNnaWQgImFkZCBUbzogaGVhZGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5NAorIzogYnVpbHRpbi9sb2cuYzoxMjE0CiBtc2dpZCAiYWRkIENjOiBoZWFkZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTk2CisjOiBidWlsdGluL2xvZy5jOjEyMTYKIG1zZ2lkICJpZGVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjExOTcKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNwogbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTk5CisjOiBidWlsdGluL2xvZy5jOjEyMTkKIG1zZ2lkICJtZXNzYWdlLWlkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwMAorIzogYnVpbHRpbi9sb2cuYzoxMjIwCiBtc2dpZCAibWFrZSBmaXJzdCBtYWlsIGEgcmVwbHkgdG8gPG1lc3NhZ2UtaWQ+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwMSBidWlsdGluL2xvZy5jOjEyMDQKKyM6IGJ1aWx0aW4vbG9nLmM6MTIyMSBidWlsdGluL2xvZy5jOjEyMjQKIG1zZ2lkICJib3VuZGFyeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTIyMgogbXNnaWQgImF0dGFjaCB0aGUgcGF0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjA1CisjOiBidWlsdGluL2xvZy5jOjEyMjUKIG1zZ2lkICJpbmxpbmUgdGhlIHBhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwOQorIzogYnVpbHRpbi9sb2cuYzoxMjI5CiBtc2dpZCAiZW5hYmxlIG1lc3NhZ2UgdGhyZWFkaW5nLCBzdHlsZXM6IHNoYWxsb3csIGRlZXAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjExCisjOiBidWlsdGluL2xvZy5jOjEyMzEKIG1zZ2lkICJzaWduYXR1cmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjEyCisjOiBidWlsdGluL2xvZy5jOjEyMzIKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjE0CisjOiBidWlsdGluL2xvZy5jOjEyMzMKIG1zZ2lkICJkb24ndCBwcmludCB0aGUgcGF0Y2ggZmlsZW5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI4OAorIzogYnVpbHRpbi9sb2cuYzoxMzA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzAzCisjOiBidWlsdGluL2xvZy5jOjEzMjIKIG1zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzA1CisjOiBidWlsdGluL2xvZy5jOjEzMjQKIG1zZ2lkICItLXN1YmplY3QtcHJlZml4IGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMTMKKyM6IGJ1aWx0aW4vbG9nLmM6MTMzMgogbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzE1CisjOiBidWlsdGluL2xvZy5jOjEzMzQKIG1zZ2lkICItLW5hbWUtc3RhdHVzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzE3CisjOiBidWlsdGluL2xvZy5jOjEzMzYKIG1zZ2lkICItLWNoZWNrIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzQwCisjOiBidWlsdGluL2xvZy5jOjEzNTkKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEzNDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTM2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ5MAorIzogYnVpbHRpbi9sb2cuYzoxNTA5CiBtc2dpZCAiRmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTM5CisjOiBidWlsdGluL2xvZy5jOjE1NTgKIG1zZ2lkICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGxpbWl0Pl1dXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1OTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjA3IGJ1aWx0aW4vbG9nLmM6MTYwOSBidWlsdGluL2xvZy5jOjE2MjEKKyM6IGJ1aWx0aW4vbG9nLmM6MTYyNiBidWlsdGluL2xvZy5jOjE2MjggYnVpbHRpbi9sb2cuYzoxNjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gY29tbWl0ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MDgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzozOTgKIG1zZ2lkICJnaXQgbHMtZmlsZXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTUKIG1zZ2lkICJpZGVudGlmeSB0aGUgZmlsZSBzdGF0dXMgd2l0aCB0YWdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTcKIG1zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdhc3N1bWUgdW5jaGFuZ2VkJyBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU5CiBtc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MQogbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjMKIG1zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NQogbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDc3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDY3CiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MAogbXNnaWQgInNob3cgc3RhZ2VkIGNvbnRlbnRzJyBvYmplY3QgbmFtZSBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzIKIG1zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODQKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzQKIG1zZ2lkICJzaG93ICdvdGhlcicgZGlyZWN0b3JpZXMnIG5hbWUgb25seSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDg3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDc3CiBtc2dpZCAiZG9uJ3Qgc2hvdyBlbXB0eSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDkwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDgwCiBtc2dpZCAic2hvdyB1bm1lcmdlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODIKIG1zZ2lkICJzaG93IHJlc29sdmUtdW5kbyBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDk0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDg0CiBtc2dpZCAic2tpcCBmaWxlcyBtYXRjaGluZyBwYXR0ZXJuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODcKIG1zZ2lkICJleGNsdWRlIHBhdHRlcm5zIGFyZSByZWFkIGZyb20gPGZpbGU+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTAKIG1zZ2lkICJyZWFkIGFkZGl0aW9uYWwgcGVyLWRpcmVjdG9yeSBleGNsdWRlIHBhdHRlcm5zIGluIDxmaWxlPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTAyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDkyCiBtc2dpZCAiYWRkIHRoZSBzdGFuZGFyZCBnaXQgZXhjbHVzaW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTA1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDk1CiBtc2dpZCAibWFrZSB0aGUgb3V0cHV0IHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5OAogbXNnaWQgImlmIGFueSA8ZmlsZT4gaXMgbm90IGluIHRoZSBpbmRleCwgdHJlYXQgdGhpcyBhcyBhbiBlcnJvciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTA5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDk5CiBtc2dpZCAidHJlZS1pc2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUwMAogbXNnaWQgInByZXRlbmQgdGhhdCBwYXRocyByZW1vdmVkIHNpbmNlIDx0cmVlLWlzaD4gYXJlIHN0aWxsIHByZXNlbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMgorIzogYnVpbHRpbi9scy1maWxlcy5jOjUwMgogbXNnaWQgInNob3cgZGVidWdnaW5nIGRhdGEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MjcKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjI4CiBtc2dpZCAiZ2l0IGxzLXRyZWUgWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjUKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyNgogbXNnaWQgIm9ubHkgc2hvdyB0cmVlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjcKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyOAogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJ0cmVlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjkKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMAogbXNnaWQgInNob3cgdHJlZXMgd2hlbiByZWN1cnNpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTMyCisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzMKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCBieXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMworIzogYnVpbHRpbi9scy10cmVlLmM6MTM0CiBtc2dpZCAiaW5jbHVkZSBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzUgYnVpbHRpbi9scy10cmVlLmM6MTM3CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzYgYnVpbHRpbi9scy10cmVlLmM6MTM4CiBtc2dpZCAibGlzdCBvbmx5IGZpbGVuYW1lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxNDAKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MQogbXNnaWQgInVzZSBmdWxsIHBhdGggbmFtZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTQyCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDMKIG1zZ2lkICJsaXN0IGVudGlyZSB0cmVlOyBub3QganVzdCBjdXJyZW50IGRpcmVjdG9yeSAoaW1wbGllcyAtLWZ1bGwtbmFtZSkiCiBtc2dzdHIgIiIKIApAQCAtNjE2MiwxNDggKzY0MDIsMTQ4IEBACiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE5OAorIzogYnVpbHRpbi9tZXJnZS5jOjE5MQogbXNnaWQgImRvIG5vdCBzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMQorIzogYnVpbHRpbi9tZXJnZS5jOjE5NAogbXNnaWQgInNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjAyCisjOiBidWlsdGluL21lcmdlLmM6MTk1CiBtc2dpZCAiKHN5bm9ueW0gdG8gLS1zdGF0KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA0CisjOiBidWlsdGluL21lcmdlLmM6MTk3CiBtc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDAKIG1zZ2lkICJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA5CisjOiBidWlsdGluL21lcmdlLmM6MjAyCiBtc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDQKIG1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxMgorIzogYnVpbHRpbi9tZXJnZS5jOjIwNQogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCAoZGVmYXVsdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNAorIzogYnVpbHRpbi9tZXJnZS5jOjIwNwogbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOAorIzogYnVpbHRpbi9tZXJnZS5jOjIxMQogbXNnaWQgIlZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vbm90ZXMuYzo3MzggYnVpbHRpbi9yZXZlcnQuYzoxMTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTIgYnVpbHRpbi9ub3Rlcy5jOjczOCBidWlsdGluL3JldmVydC5jOjg5CiBtc2dpZCAic3RyYXRlZ3kiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyMAorIzogYnVpbHRpbi9tZXJnZS5jOjIxMwogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIxCisjOiBidWlsdGluL21lcmdlLmM6MjE0CiBtc2dpZCAib3B0aW9uPXZhbHVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTUKIG1zZ2lkICJvcHRpb24gZm9yIHNlbGVjdGVkIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcKIG1zZ2lkICJtZXJnZSBjb21taXQgbWVzc2FnZSAoZm9yIGEgbm9uLWZhc3QtZm9yd2FyZCBtZXJnZSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyOAorIzogYnVpbHRpbi9tZXJnZS5jOjIyMQogbXNnaWQgImFib3J0IHRoZSBjdXJyZW50IGluLXByb2dyZXNzIG1lcmdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTAKIG1zZ2lkICJjb3VsZCBub3QgcnVuIHN0YXNoLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjYyCisjOiBidWlsdGluL21lcmdlLmM6MjU1CiBtc2dpZCAic3Rhc2ggZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6Mjg2IGJ1aWx0aW4vbWVyZ2UuYzozMDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzkgYnVpbHRpbi9tZXJnZS5jOjI5NgogbXNnaWQgInJlYWQtdHJlZSBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMzMworIzogYnVpbHRpbi9tZXJnZS5jOjMyNgogbXNnaWQgIiAobm90aGluZyB0byBzcXVhc2gpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozNzEKIG1zZ2lkICJXcml0aW5nIFNRVUFTSF9NU0ciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM4MAorIzogYnVpbHRpbi9tZXJnZS5jOjM3MwogbXNnaWQgIkZpbmlzaGluZyBTUVVBU0hfTVNHIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0MDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2UgbWVzc2FnZSAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6NTY1CisjOiBidWlsdGluL21lcmdlLmM6NTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBicmFuY2guJXMubWVyZ2VvcHRpb25zIHN0cmluZzogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY1NworIzogYnVpbHRpbi9tZXJnZS5jOjY1MAogbXNnaWQgImdpdCB3cml0ZS10cmVlIGZhaWxlZCB0byB3cml0ZSBhIHRyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY4NQorIzogYnVpbHRpbi9tZXJnZS5jOjY3OAogbXNnaWQgIk5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY5OQorIzogYnVpbHRpbi9tZXJnZS5jOjY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3MTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgZnJvbSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGNvbW1pdHRpbmcgbWVyZ2U7IHVzZSAnZ2l0IGNvbW1pdCcgdG8gY29tcGxldGUgdGhlIG1lcmdlLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MTcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgpAQCAtNjMxMywxOTMgKzY1NTMsMjAxIEBACiAidGhlIGNvbW1pdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODQxCisjOiBidWlsdGluL21lcmdlLmM6ODM0CiBtc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIGZhaWxlZDsgZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBjb21taXQgdGhlIHJlc3VsdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTM0CisjOiBidWlsdGluL21lcmdlLmM6OTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NjgKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk3NworIzogYnVpbHRpbi9tZXJnZS5jOjk3MAogbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTc5CisjOiBidWlsdGluL21lcmdlLmM6OTcyCiBtc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5ODQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE0MAorIzogYnVpbHRpbi9tZXJnZS5jOjExMzMKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSB0byBhYm9ydCAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNTYgZ2l0LXB1bGwuc2g6MzEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ5IGdpdC1wdWxsLnNoOjMxCiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IGNhbiBtZXJnZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNTkgZ2l0LXB1bGwuc2g6MzQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTUyIGdpdC1wdWxsLnNoOjM0CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTYzCisjOiBidWlsdGluL21lcmdlLmM6MTE1NgogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTY2CisjOiBidWlsdGluL21lcmdlLmM6MTE1OQogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE3NQorIzogYnVpbHRpbi9tZXJnZS5jOjExNjgKIG1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE4NAorIzogYnVpbHRpbi9tZXJnZS5jOjExNzcKIG1zZ2lkICJObyBjb21taXQgc3BlY2lmaWVkIGFuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub3Qgc2V0LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIxNgorIzogYnVpbHRpbi9tZXJnZS5jOjEyMDkKIG1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjE5CisjOiBidWlsdGluL21lcmdlLmM6MTIxMgogbXNnaWQgIlNxdWFzaCBjb21taXQgaW50byBlbXB0eSBoZWFkIG5vdCBzdXBwb3J0ZWQgeWV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjIxCisjOiBidWlsdGluL21lcmdlLmM6MTIxNAogbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI2CisjOiBidWlsdGluL21lcmdlLmM6MTIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjc3CisjOiBidWlsdGluL21lcmdlLmM6MTI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjgwCisjOiBidWlsdGluL21lcmdlLmM6MTI3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgYmFkIEdQRyBzaWduYXR1cmUgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAiIgogCiAjLiAnTicKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjgzCisjOiBidWlsdGluL21lcmdlLmM6MTI3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBhIEdQRyBzaWduYXR1cmUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg2CisjOiBidWlsdGluL21lcmdlLmM6MTI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzLi4lc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDA5CisjOiBidWlsdGluL21lcmdlLmM6MTQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgcmVhbGx5IHRyaXZpYWwgaW4taW5kZXggbWVyZ2UuLi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQxNgorIzogYnVpbHRpbi9tZXJnZS5jOjE0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm9wZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ0OAorIzogYnVpbHRpbi9tZXJnZS5jOjE0NDEKIG1zZ2lkICJOb3QgcG9zc2libGUgdG8gZmFzdC1mb3J3YXJkLCBhYm9ydGluZy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NzEgYnVpbHRpbi9tZXJnZS5jOjE1NTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDY0IGJ1aWx0aW4vbWVyZ2UuYzoxNTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJld2luZGluZyB0aGUgdHJlZSB0byBwcmlzdGluZS4uLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc1CisjOiBidWlsdGluL21lcmdlLmM6MTQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgbWVyZ2Ugc3RyYXRlZ3kgJXMuLi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU0MQorIzogYnVpbHRpbi9tZXJnZS5jOjE1MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2Ugc3RyYXRlZ3kgaGFuZGxlZCB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdlIHdpdGggc3RyYXRlZ3kgJXMgZmFpbGVkLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTUyCisjOiBidWlsdGluL21lcmdlLmM6MTU0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU2NAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIHdlbnQgd2VsbDsgc3RvcHBlZCBiZWZvcmUgY29tbWl0dGluZyBhcyByZXF1ZXN0ZWRcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyNgorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjkKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSBbLWF8LS1hbGxdIDxjb21taXQ+IDxjb21taXQ+Li4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI3CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYXwtLWFsbF0gLS1vY3RvcHVzIDxjb21taXQ+Li4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI4CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMQogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGNvbW1pdD4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjkKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMyCiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1pcy1hbmNlc3RvciA8Y29tbWl0PiA8Y29tbWl0PiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzo5OAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzMKK21zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPHJlZj4gWzxjb21taXQ+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTQKIG1zZ2lkICJvdXRwdXQgYWxsIGNvbW1vbiBhbmNlc3RvcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6OTkKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxNgogbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoxMDAKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOAogbXNnaWQgImxpc3QgcmV2cyBub3QgcmVhY2hhYmxlIGZyb20gb3RoZXJzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjEwMgorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIwCiBtc2dpZCAiaXMgdGhlIGZpcnN0IG9uZSBhbmNlc3RvciBvZiB0aGUgb3RoZXI/IgogbXNnc3RyICIiCiAKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMgorbXNnaWQgImZpbmQgd2hlcmUgPGNvbW1pdD4gZm9ya2VkIGZyb20gcmVmbG9nIG9mIDxyZWY+IgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjgKIG1zZ2lkICIiCiAiZ2l0IG1lcmdlLWZpbGUgW29wdGlvbnNdIFstTCBuYW1lMSBbLUwgb3JpZyBbLUwgbmFtZTJdXV0gZmlsZTEgb3JpZ19maWxlICIKQEAgLTY1NTQsMTE3ICs2ODAyLDEzMCBAQAogbXNnaWQgImFsbG93IGNyZWF0aW9uIG9mIG1vcmUgdGhhbiBvbmUgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6MTQKKyM6IGJ1aWx0aW4vbXYuYzoxNQogbXNnaWQgImdpdCBtdiBbb3B0aW9uc10gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6NjQKKyM6IGJ1aWx0aW4vbXYuYzo3MQogbXNnaWQgImZvcmNlIG1vdmUvcmVuYW1lIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6NjUKKyM6IGJ1aWx0aW4vbXYuYzo3MgogbXNnaWQgInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMDgKKyM6IGJ1aWx0aW4vbXYuYzoxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTIKKyM6IGJ1aWx0aW4vbXYuYzoxMjYKIG1zZ2lkICJiYWQgc291cmNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTUKKyM6IGJ1aWx0aW4vbXYuYzoxMjkKIG1zZ2lkICJjYW4gbm90IG1vdmUgZGlyZWN0b3J5IGludG8gaXRzZWxmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTgKKyM6IGJ1aWx0aW4vbXYuYzoxMzIKIG1zZ2lkICJjYW5ub3QgbW92ZSBkaXJlY3Rvcnkgb3ZlciBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMjgKKyM6IGJ1aWx0aW4vbXYuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVoPyBEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjE0MCBidWlsdGluL3JtLmM6MzE4Cittc2dpZCAiUGxlYXNlLCBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXYuYzoxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVoPyAlLipzIGlzIGluIGluZGV4PyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6MTQwCisjOiBidWlsdGluL212LmM6MTY4CiBtc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6MTcxCisjOiBidWlsdGluL212LmM6MjAwCiBtc2dpZCAibm90IHVuZGVyIHZlcnNpb24gY29udHJvbCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6MTczCisjOiBidWlsdGluL212LmM6MjAyCiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODEKKyM6IGJ1aWx0aW4vbXYuYzoyMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAib3ZlcndyaXRpbmcgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6MTg0CisjOiBidWlsdGluL212LmM6MjEzCiBtc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6MTg3CisjOiBidWlsdGluL212LmM6MjE2CiBtc2dpZCAibXVsdGlwbGUgc291cmNlcyBmb3IgdGhlIHNhbWUgdGFyZ2V0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMDIKKyM6IGJ1aWx0aW4vbXYuYzoyMTgKK21zZ2lkICJkZXN0aW5hdGlvbiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6MjEyCisjOiBidWlsdGluL212LmM6MjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjIxNSBidWlsdGluL3JlbW90ZS5jOjczMQorIzogYnVpbHRpbi9tdi5jOjI0NiBidWlsdGluL3JlbW90ZS5jOjcyNiBidWlsdGluL3JlcGFjay5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW5hbWluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU5CisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU4CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFtvcHRpb25zXSA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjYwCisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU5CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFtvcHRpb25zXSAtLWFsbCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjYxCisjOiBidWlsdGluL25hbWUtcmV2LmM6MjYwCiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFtvcHRpb25zXSAtLXN0ZGluIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKIG1zZ2lkICJwcmludCBvbmx5IG5hbWVzIChubyBTSEEtMSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMwogbXNnaWQgIm9ubHkgdXNlIHRhZ3MgdG8gbmFtZSB0aGUgY29tbWl0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE2CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE1CiBtc2dpZCAib25seSB1c2UgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNwogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOAogbXNnaWQgInJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzIwCi1tc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMiCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE5Cittc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMgKGRlZmF1bHQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjUKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKIG1zZ3N0ciAiIgogCkBAIC02ODEwLDEyICs3MDcxLDEyIEBACiBtc2dpZCAiVGhlIG5vdGUgY29udGVudHMgaGFzIGJlZW4gbGVmdCBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjQ4IGJ1aWx0aW4vdGFnLmM6NTQwCisjOiBidWlsdGluL25vdGVzLmM6MjQ4IGJ1aWx0aW4vdGFnLmM6NTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI1MCBidWlsdGluL3RhZy5jOjU0MworIzogYnVpbHRpbi9ub3Rlcy5jOjI1MCBidWlsdGluL3RhZy5jOjU0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCiBtc2dzdHIgIiIKQEAgLTY4MjMsNyArNzA4NCw3IEBACiAjOiBidWlsdGluL25vdGVzLmM6MjY5IGJ1aWx0aW4vbm90ZXMuYzozMTYgYnVpbHRpbi9ub3Rlcy5jOjMxOAogIzogYnVpbHRpbi9ub3Rlcy5jOjM3OCBidWlsdGluL25vdGVzLmM6NDMyIGJ1aWx0aW4vbm90ZXMuYzo1MTUKICM6IGJ1aWx0aW4vbm90ZXMuYzo1MjAgYnVpbHRpbi9ub3Rlcy5jOjU5NSBidWlsdGluL25vdGVzLmM6NjM3Ci0jOiBidWlsdGluL25vdGVzLmM6ODM5IGJ1aWx0aW4vdGFnLmM6NTU2CisjOiBidWlsdGluL25vdGVzLmM6ODM5IGJ1aWx0aW4vdGFnLmM6NTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICIiCkBAIC02OTczLDcgKzcyMzQsNyBAQAogbXNnaWQgInVzZSBub3RlcyBmcm9tIDxub3Rlc19yZWY+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NzQgYnVpbHRpbi9yZW1vdGUuYzoxNTk4CisjOiBidWlsdGluL25vdGVzLmM6OTc0IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICIiCkBAIC02OTg2LDE0OCArNzI0NywxNDggQEAKIG1zZ2lkICJnaXQgcGFjay1vYmplY3RzIFtvcHRpb25zLi4uXSBiYXNlLW5hbWUgWzwgcmVmLWxpc3QgfCA8IG9iamVjdC1saXN0XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjM5NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJvcHRpb24gJXMgZG9lcyBub3QgYWNjZXB0IG5lZ2F0aXZlIGZvcm0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDI4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIHZhbHVlICclcycgZm9yIG9wdGlvbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0NgogbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQ4CiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1MAogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDUzCiBtc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU0CiBtc2dpZCAidmVyc2lvblssb2Zmc2V0XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NQogbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTgKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBvdXRwdXQgcGFjayBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYwCiBtc2dpZCAiaWdub3JlIGJvcnJvd2VkIG9iamVjdHMgZnJvbSBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYyCiBtc2dpZCAiaWdub3JlIHBhY2tlZCBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY0CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NgogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjgKIG1zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MAogbXNnaWQgInJldXNlIGV4aXN0aW5nIGRlbHRhcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MgogbXNnaWQgInJldXNlIGV4aXN0aW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzQKIG1zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzYKIG1zZ2lkICJ1c2UgdGhyZWFkcyB3aGVuIHNlYXJjaGluZyBmb3IgYmVzdCBkZWx0YSBtYXRjaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc4CiBtc2dpZCAiZG8gbm90IGNyZWF0ZSBhbiBlbXB0eSBwYWNrIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MAogbXNnaWQgInJlYWQgcmV2aXNpb24gYXJndW1lbnRzIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODIKIG1zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4NQogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg4CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIGJ5IHJlZmxvZyBlbnRyaWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDkxCiBtc2dpZCAib3V0cHV0IHBhY2sgdG8gc3Rkb3V0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDkzCiBtc2dpZCAiaW5jbHVkZSB0YWcgb2JqZWN0cyB0aGF0IHJlZmVyIHRvIG9iamVjdHMgdG8gYmUgcGFja2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk1CiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NyBwYXJzZS1vcHRpb25zLmg6MTQxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTYgcGFyc2Utb3B0aW9ucy5oOjE0MwogbXNnaWQgInRpbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTcKIG1zZ2lkICJ1bnBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyBuZXdlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwMAogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTAyCiBtc2dpZCAiaWdub3JlIHBhY2tzIHRoYXQgaGF2ZSBjb21wYW5pb24gLmtlZXAgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNAogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDYKIG1zZ2lkICJkbyBub3QgaGlkZSBjb21taXRzIGJ5IGdyYWZ0cyIKIG1zZ3N0ciAiIgogCkBAIC03MTUxLDE1ICs3NDEyLDE1IEBACiBtc2dpZCAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1leHBpcmUgPHRpbWU+XSBbLS1dIFs8aGVhZD4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzIKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxNDIKIG1zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjEzMworIzogYnVpbHRpbi9wcnVuZS5jOjE0MwogbXNnaWQgInJlcG9ydCBwcnVuZWQgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTM2CisjOiBidWlsdGluL3BydW5lLmM6MTQ2CiBtc2dpZCAiZXhwaXJlIG9iamVjdHMgb2xkZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgIiIKIApAQCAtNzE2NywyMSArNzQyOCwyMSBAQAogbXNnaWQgImdpdCBwdXNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1CisjOiBidWlsdGluL3B1c2guYzo4NgogbXNnaWQgInRhZyBzaG9ydGhhbmQgd2l0aG91dCA8dGFnPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo2NAorIzogYnVpbHRpbi9wdXNoLmM6OTYKIG1zZ2lkICItLWRlbGV0ZSBvbmx5IGFjY2VwdHMgcGxhaW4gdGFyZ2V0IHJlZiBuYW1lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo5OQorIzogYnVpbHRpbi9wdXNoLmM6MTQxCiBtc2dpZCAiIgogIlxuIgogIlRvIGNob29zZSBlaXRoZXIgb3B0aW9uIHBlcm1hbmVudGx5LCBzZWUgcHVzaC5kZWZhdWx0IGluICdnaXQgaGVscCBjb25maWcnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoxMDIKKyM6IGJ1aWx0aW4vcHVzaC5jOjE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHVwc3RyZWFtIGJyYW5jaCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGRvZXMgbm90IG1hdGNoXG4iCkBAIC03MTk2LDcgKzc0NTcsNyBAQAogIiVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjExNworIzogYnVpbHRpbi9wdXNoLmM6MTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guXG4iCkBAIC03MjA2LDcgKzc0NjcsNyBAQAogIiAgICBnaXQgcHVzaCAlcyBIRUFEOjxuYW1lLW9mLXJlbW90ZS1icmFuY2g+XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTMxCisjOiBidWlsdGluL3B1c2guYzoxNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbm8gdXBzdHJlYW0gYnJhbmNoLlxuIgpAQCAtNzIxNSwxMiArNzQ3NiwxMiBAQAogIiAgICBnaXQgcHVzaCAtLXNldC11cHN0cmVhbSAlcyAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEzOQorIzogYnVpbHRpbi9wdXNoLmM6MTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbXVsdGlwbGUgdXBzdHJlYW0gYnJhbmNoZXMsIHJlZnVzaW5nIHRvIHB1c2guIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE0MgorIzogYnVpbHRpbi9wdXNoLmM6MTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIHB1c2hpbmcgdG8gcmVtb3RlICclcycsIHdoaWNoIGlzIG5vdCB0aGUgdXBzdHJlYW0gb2ZcbiIKQEAgLTcyMjgsNyArNzQ4OSw3IEBACiAidG8gdXBkYXRlIHdoaWNoIHJlbW90ZSBicmFuY2guIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE2NQorIzogYnVpbHRpbi9wdXNoLmM6MjA3CiBtc2dpZCAiIgogInB1c2guZGVmYXVsdCBpcyB1bnNldDsgaXRzIGltcGxpY2l0IHZhbHVlIGlzIGNoYW5naW5nIGluXG4iCiAiR2l0IDIuMCBmcm9tICdtYXRjaGluZycgdG8gJ3NpbXBsZScuIFRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlXG4iCkBAIC03MjQwLDE4ICs3NTAxLDI1IEBACiAiXG4iCiAiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHB1c2guZGVmYXVsdCBzaW1wbGVcbiIKICJcbiIKKyJXaGVuIHB1c2guZGVmYXVsdCBpcyBzZXQgdG8gJ21hdGNoaW5nJywgZ2l0IHdpbGwgcHVzaCBsb2NhbCBicmFuY2hlc1xuIgorInRvIHRoZSByZW1vdGUgYnJhbmNoZXMgdGhhdCBhbHJlYWR5IGV4aXN0IHdpdGggdGhlIHNhbWUgbmFtZS5cbiIKKyJcbiIKKyJJbiBHaXQgMi4wLCBHaXQgd2lsbCBkZWZhdWx0IHRvIHRoZSBtb3JlIGNvbnNlcnZhdGl2ZSAnc2ltcGxlJ1xuIgorImJlaGF2aW9yLCB3aGljaCBvbmx5IHB1c2hlcyB0aGUgY3VycmVudCBicmFuY2ggdG8gdGhlIGNvcnJlc3BvbmRpbmdcbiIKKyJyZW1vdGUgYnJhbmNoIHRoYXQgJ2dpdCBwdWxsJyB1c2VzIHRvIHVwZGF0ZSB0aGUgY3VycmVudCBicmFuY2guXG4iCisiXG4iCiAiU2VlICdnaXQgaGVscCBjb25maWcnIGFuZCBzZWFyY2ggZm9yICdwdXNoLmRlZmF1bHQnIGZvciBmdXJ0aGVyICIKICJpbmZvcm1hdGlvbi5cbiIKICIodGhlICdzaW1wbGUnIG1vZGUgd2FzIGludHJvZHVjZWQgaW4gR2l0IDEuNy4xMS4gVXNlIHRoZSBzaW1pbGFyIG1vZGVcbiIKICInY3VycmVudCcgaW5zdGVhZCBvZiAnc2ltcGxlJyBpZiB5b3Ugc29tZXRpbWVzIHVzZSBvbGRlciB2ZXJzaW9ucyBvZiBHaXQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIyNQorIzogYnVpbHRpbi9wdXNoLmM6Mjc0CiBtc2dpZCAiIgogIllvdSBkaWRuJ3Qgc3BlY2lmeSBhbnkgcmVmc3BlY3MgdG8gcHVzaCwgYW5kIHB1c2guZGVmYXVsdCBpcyBcIm5vdGhpbmdcIi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjMyCisjOiBidWlsdGluL3B1c2guYzoyODEKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRpcCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGlzIGJlaGluZFxuIgogIml0cyByZW1vdGUgY291bnRlcnBhcnQuIEludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXMgKGUuZy5cbiIKQEAgLTcyNTksNyArNzUyNyw3IEBACiAiU2VlIHRoZSAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJyBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjM4CisjOiBidWlsdGluL3B1c2guYzoyODcKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgogImNvdW50ZXJwYXJ0LiBJZiB5b3UgZGlkIG5vdCBpbnRlbmQgdG8gcHVzaCB0aGF0IGJyYW5jaCwgeW91IG1heSB3YW50IHRvXG4iCkBAIC03MjY3LDcgKzc1MzUsNyBAQAogInRvICdzaW1wbGUnLCAnY3VycmVudCcgb3IgJ3Vwc3RyZWFtJyB0byBwdXNoIG9ubHkgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoyNDQKKyM6IGJ1aWx0aW4vcHVzaC5jOjI5MwogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIENoZWNrIG91dCB0aGlzIGJyYW5jaCBhbmQgaW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlc1xuIgpAQCAtNzI3NSw3ICs3NTQzLDcgQEAKICJTZWUgdGhlICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGluICdnaXQgcHVzaCAtLWhlbHAnIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoyNTAKKyM6IGJ1aWx0aW4vcHVzaC5jOjI5OQogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGNvbnRhaW5zIHdvcmsgdGhhdCB5b3UgZG9cbiIKICJub3QgaGF2ZSBsb2NhbGx5LiBUaGlzIGlzIHVzdWFsbHkgY2F1c2VkIGJ5IGFub3RoZXIgcmVwb3NpdG9yeSBwdXNoaW5nXG4iCkBAIC03Mjg0LDMzICs3NTUyLDMzIEBACiAiU2VlIHRoZSAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJyBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjU3CisjOiBidWlsdGluL3B1c2guYzozMDYKIG1zZ2lkICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGFnIGFscmVhZHkgZXhpc3RzIGluIHRoZSByZW1vdGUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI2MAorIzogYnVpbHRpbi9wdXNoLmM6MzA5CiBtc2dpZCAiIgogIllvdSBjYW5ub3QgdXBkYXRlIGEgcmVtb3RlIHJlZiB0aGF0IHBvaW50cyBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgogIm9yIHVwZGF0ZSBhIHJlbW90ZSByZWYgdG8gbWFrZSBpdCBwb2ludCBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgogIndpdGhvdXQgdXNpbmcgdGhlICctLWZvcmNlJyBvcHRpb24uXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzIwCisjOiBidWlsdGluL3B1c2guYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHVzaGluZyB0byAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjMyNAorIzogYnVpbHRpbi9wdXNoLmM6Mzc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwdXNoIHNvbWUgcmVmcyB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM1NworIzogYnVpbHRpbi9wdXNoLmM6NDEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCByZXBvc2l0b3J5ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzU4CisjOiBidWlsdGluL3B1c2guYzo0MTMKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCkBAIC03MzIzLDg3ICs3NTkxLDk1IEBACiAiICAgIGdpdCBwdXNoIDxuYW1lPlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3MworIzogYnVpbHRpbi9wdXNoLmM6NDI4CiBtc2dpZCAiLS1hbGwgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3NAorIzogYnVpbHRpbi9wdXNoLmM6NDI5CiBtc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzozNzkKKyM6IGJ1aWx0aW4vcHVzaC5jOjQzNAogbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzozODAKKyM6IGJ1aWx0aW4vcHVzaC5jOjQzNQogbXNnaWQgIi0tbWlycm9yIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg1CisjOiBidWlsdGluL3B1c2guYzo0NDAKIG1zZ2lkICItLWFsbCBhbmQgLS1taXJyb3IgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo0NDUKKyM6IGJ1aWx0aW4vcHVzaC5jOjUwMAogbXNnaWQgInJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDQ2CisjOiBidWlsdGluL3B1c2guYzo1MDEKIG1zZ2lkICJwdXNoIGFsbCByZWZzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ0NworIzogYnVpbHRpbi9wdXNoLmM6NTAyCiBtc2dpZCAibWlycm9yIGFsbCByZWZzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ0OQorIzogYnVpbHRpbi9wdXNoLmM6NTA0CiBtc2dpZCAiZGVsZXRlIHJlZnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDUwCisjOiBidWlsdGluL3B1c2guYzo1MDUKIG1zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDUzCisjOiBidWlsdGluL3B1c2guYzo1MDgKIG1zZ2lkICJmb3JjZSB1cGRhdGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1NAorIzogYnVpbHRpbi9wdXNoLmM6NTEwCittc2dpZCAicmVmbmFtZT46PGV4cGVjdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzo1MTEKK21zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzo1MTMKIG1zZ2lkICJjaGVjayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTUKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNAogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNgogbXNnaWQgInVzZSB0aGluIHBhY2siCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDU4IGJ1aWx0aW4vcHVzaC5jOjQ1OQorIzogYnVpbHRpbi9wdXNoLmM6NTE3IGJ1aWx0aW4vcHVzaC5jOjUxOAogbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2MAorIzogYnVpbHRpbi9wdXNoLmM6NTE5CiBtc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDYzCisjOiBidWlsdGluL3B1c2guYzo1MjIKIG1zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo0NjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNAogbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2NgorIzogYnVpbHRpbi9wdXNoLmM6NTI1CiBtc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ3NgorIzogYnVpbHRpbi9wdXNoLmM6NTM1CiBtc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDc4CisjOiBidWlsdGluL3B1c2guYzo1MzcKIG1zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKIG1zZ3N0ciAiIgogCkBAIC03NDc4LDE5NyArNzc1NCwyMDEgQEAKIG1zZ2lkICJkZWJ1ZyB1bnBhY2stdHJlZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo1MDAKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NDk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJyBmb3IgJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo2MTYgYnVpbHRpbi9yZWZsb2cuYzo2MjEKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NjE1IGJ1aWx0aW4vcmVmbG9nLmM6NjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMwogbXNnaWQgIiIKICJnaXQgcmVtb3RlIGFkZCBbLXQgPGJyYW5jaD5dIFstbSA8bWFzdGVyPl0gWy1mXSBbLS10YWdzfC0tbm8tdGFnc10gWy0tIgogIm1pcnJvcj08ZmV0Y2h8cHVzaD5dIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzIGJ1aWx0aW4vcmVtb3RlLmM6MzIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQgYnVpbHRpbi9yZW1vdGUuYzozMwogbXNnaWQgImdpdCByZW1vdGUgcmVuYW1lIDxvbGQ+IDxuZXc+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQgYnVpbHRpbi9yZW1vdGUuYzozNworIzogYnVpbHRpbi9yZW1vdGUuYzoxNSBidWlsdGluL3JlbW90ZS5jOjM4CiBtc2dpZCAiZ2l0IHJlbW90ZSByZW1vdmUgPG5hbWU+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUgYnVpbHRpbi9yZW1vdGUuYzo0MgotbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC1kIHwgPGJyYW5jaD4pIgotbXNnc3RyICIiCi0KICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYKLW1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDxuYW1lPiIKK21zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHw8YnJhbmNoPikiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9yZW1vdGUuYzoxNwotbXNnaWQgImdpdCByZW1vdGUgcHJ1bmUgWy1uIHwgLS1kcnktcnVuXSA8bmFtZT4iCittc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHNob3cgWy1uXSA8bmFtZT4iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9yZW1vdGUuYzoxOAorbXNnaWQgImdpdCByZW1vdGUgcHJ1bmUgWy1uIHwgLS1kcnktcnVuXSA8bmFtZT4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxOQogbXNnaWQgIiIKICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gdXBkYXRlIFstcCB8IC0tcHJ1bmVdIFsoPGdyb3VwPiB8IDxyZW1vdGU+KS4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOQorIzogYnVpbHRpbi9yZW1vdGUuYzoyMAogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIFstLWFkZF0gPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjAgYnVpbHRpbi9yZW1vdGUuYzo2OAorIzogYnVpbHRpbi9yZW1vdGUuYzoyMSBidWlsdGluL3JlbW90ZS5jOjY5CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIFstLXB1c2hdIDxuYW1lPiA8bmV3dXJsPiBbPG9sZHVybD5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjEgYnVpbHRpbi9yZW1vdGUuYzo2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoyMiBidWlsdGluL3JlbW90ZS5jOjcwCiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tYWRkIDxuYW1lPiA8bmV3dXJsPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjMgYnVpbHRpbi9yZW1vdGUuYzo3MQogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA8bmFtZT4gPHVybD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyNworIzogYnVpbHRpbi9yZW1vdGUuYzoyOAogbXNnaWQgImdpdCByZW1vdGUgYWRkIFs8b3B0aW9ucz5dIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQ3Ci1tc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPG5hbWU+IDxicmFuY2g+Li4uIgorIzogYnVpbHRpbi9yZW1vdGUuYzo0MworbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8YnJhbmNoPikiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9yZW1vdGUuYzo0OAorbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIDxuYW1lPiA8YnJhbmNoPi4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjQ5CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgLS1hZGQgPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTQKIG1zZ2lkICJnaXQgcmVtb3RlIHNob3cgWzxvcHRpb25zPl0gPG5hbWU+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTkKIG1zZ2lkICJnaXQgcmVtb3RlIHBydW5lIFs8b3B0aW9ucz5dIDxuYW1lPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYzCisjOiBidWlsdGluL3JlbW90ZS5jOjY0CiBtc2dpZCAiZ2l0IHJlbW90ZSB1cGRhdGUgWzxvcHRpb25zPl0gWzxncm91cD4gfCA8cmVtb3RlPl0uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5OAorIzogYnVpbHRpbi9yZW1vdGUuYzo4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGluZyAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAKIG1zZ2lkICIiCiAiLS1taXJyb3IgaXMgZGFuZ2Vyb3VzIGFuZCBkZXByZWNhdGVkOyBwbGVhc2VcbiIKICJcdCB1c2UgLS1taXJyb3I9ZmV0Y2ggb3IgLS1taXJyb3I9cHVzaCBpbnN0ZWFkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3CisjOiBidWlsdGluL3JlbW90ZS5jOjEzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG1pcnJvciBhcmd1bWVudDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzCiBtc2dpZCAiZmV0Y2ggdGhlIHJlbW90ZSBicmFuY2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTUKIG1zZ2lkICJpbXBvcnQgYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyB3aGVuIGZldGNoaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY4CisjOiBidWlsdGluL3JlbW90ZS5jOjE1OAogbXNnaWQgIm9yIGRvIG5vdCBmZXRjaCBhbnkgdGFnIGF0IGFsbCAoLS1uby10YWdzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE3MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjAKIG1zZ2lkICJicmFuY2goZXMpIHRvIHRyYWNrIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTcxCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MQogbXNnaWQgIm1hc3RlciBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNzIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyCiBtc2dpZCAicHVzaHxmZXRjaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE3MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjMKIG1zZ2lkICJzZXQgdXAgcmVtb3RlIGFzIGEgbWlycm9yIHRvIHB1c2ggdG8gb3IgZmV0Y2ggZnJvbSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNzUKIG1zZ2lkICJzcGVjaWZ5aW5nIGEgbWFzdGVyIGJyYW5jaCBtYWtlcyBubyBzZW5zZSB3aXRoIC0tbWlycm9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg3CisjOiBidWlsdGluL3JlbW90ZS5jOjE3NwogbXNnaWQgInNwZWNpZnlpbmcgYnJhbmNoZXMgdG8gdHJhY2sgbWFrZXMgc2Vuc2Ugb25seSB3aXRoIGZldGNoIG1pcnJvcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOTUgYnVpbHRpbi9yZW1vdGUuYzo2NDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg1IGJ1aWx0aW4vcmVtb3RlLmM6NjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW90ZSAlcyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOTkgYnVpbHRpbi9yZW1vdGUuYzo2NTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg5IGJ1aWx0aW4vcmVtb3RlLmM6NjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVtb3RlIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyNDMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCBtYXN0ZXIgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjI5OQorIzogYnVpbHRpbi9yZW1vdGUuYzoyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIG9uZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjMzOQorIzogYnVpbHRpbi9yZW1vdGUuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGdldCBmZXRjaCBtYXAgZm9yIHJlZnNwZWMgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0NDAgYnVpbHRpbi9yZW1vdGUuYzo0NDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDM1IGJ1aWx0aW4vcmVtb3RlLmM6NDQzCiBtc2dpZCAiKG1hdGNoaW5nKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQ1MgorIzogYnVpbHRpbi9yZW1vdGUuYzo0NDcKIG1zZ2lkICIoZGVsZXRlKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjU5NSBidWlsdGluL3JlbW90ZS5jOjYwMSBidWlsdGluL3JlbW90ZS5jOjYwNworIzogYnVpbHRpbi9yZW1vdGUuYzo1OTAgYnVpbHRpbi9yZW1vdGUuYzo1OTYgYnVpbHRpbi9yZW1vdGUuYzo2MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGVuZCAnJXMnIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MzkgYnVpbHRpbi9yZW1vdGUuYzo3OTIgYnVpbHRpbi9yZW1vdGUuYzo4OTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjM0IGJ1aWx0aW4vcmVtb3RlLmM6Nzg3IGJ1aWx0aW4vcmVtb3RlLmM6ODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY1NgorIzogYnVpbHRpbi9yZW1vdGUuYzo2NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbmFtZSBjb25maWcgc2VjdGlvbiAnJXMnIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NjIgYnVpbHRpbi9yZW1vdGUuYzo3OTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU3IGJ1aWx0aW4vcmVtb3RlLmM6Nzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgY29uZmlnIHNlY3Rpb24gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY3NworIzogYnVpbHRpbi9yZW1vdGUuYzo2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vdCB1cGRhdGluZyBub24tZGVmYXVsdCBmZXRjaCByZWZzcGVjXG4iCkBAIC03Njc2LDMyICs3OTU2LDMyIEBACiAiXHRQbGVhc2UgdXBkYXRlIHRoZSBjb25maWd1cmF0aW9uIG1hbnVhbGx5IGlmIG5lY2Vzc2FyeS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2ODMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBlbmQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY5NAorIzogYnVpbHRpbi9yZW1vdGUuYzo2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzE2CisjOiBidWlsdGluL3JlbW90ZS5jOjcxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjc1MAorIzogYnVpbHRpbi9yZW1vdGUuYzo3NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3JlYXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3NjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgYnJhbmNoICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODM0CisjOiBidWlsdGluL3JlbW90ZS5jOjgyOQogbXNnaWQgIiIKICJOb3RlOiBBIGJyYW5jaCBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3YXMgbm90IHJlbW92ZWQ7XG4iCiAidG8gZGVsZXRlIGl0LCB1c2U6IgpAQCAtNzcxMSwyNjUgKzc5OTEsMzI2IEBACiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk0MworIzogYnVpbHRpbi9yZW1vdGUuYzo5MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG5ldyAobmV4dCBmZXRjaCB3aWxsIHN0b3JlIGluIHJlbW90ZXMvJXMpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjk0MQogbXNnaWQgIiB0cmFja2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjk0MwogbXNnaWQgIiBzdGFsZSAodXNlICdnaXQgcmVtb3RlIHBydW5lJyB0byByZW1vdmUpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTUwCisjOiBidWlsdGluL3JlbW90ZS5jOjk0NQogbXNnaWQgIiA/Pz8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5OTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk5OAorIzogYnVpbHRpbi9yZW1vdGUuYzo5OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDAyCisjOiBidWlsdGluL3JlbW90ZS5jOjk5NwogbXNnaWQgIiAgICBhbmQgd2l0aCByZW1vdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDA0CisjOiBidWlsdGluL3JlbW90ZS5jOjk5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDA1CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMDAKIG1zZ2lkICIgICBhbmQgd2l0aCByZW1vdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDYKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDkKIG1zZ2lkICJkZWxldGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTMKIG1zZ2lkICJ1cCB0byBkYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU2CiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1OQogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA3MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDc0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA5MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ0CiBtc2dpZCAiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE4CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiByZW1vdGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE5CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEyMCBidWlsdGluL3JlbW90ZS5jOjEyODUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MyBidWlsdGluL3JlbW90ZS5jOjEzMTgKIG1zZ2lkICIobm8gVVJMKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMjkgYnVpbHRpbi9yZW1vdGUuYzoxMTMxCisjOiBidWlsdGluL3JlbW90ZS5jOjExODIgYnVpbHRpbi9yZW1vdGUuYzoxMTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUHVzaCAgVVJMOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMzMgYnVpbHRpbi9yZW1vdGUuYzoxMTM1IGJ1aWx0aW4vcmVtb3RlLmM6MTEzNworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg2IGJ1aWx0aW4vcmVtb3RlLmM6MTE4OCBidWlsdGluL3JlbW90ZS5jOjExOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBIRUFEIGJyYW5jaDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTM5CisjOiBidWlsdGluL3JlbW90ZS5jOjExOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiAgSEVBRCBicmFuY2ggKHJlbW90ZSBIRUFEIGlzIGFtYmlndW91cywgbWF5IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nKTpcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFJlbW90ZSBicmFuY2g6JXMiCiBtc2dpZF9wbHVyYWwgIiAgUmVtb3RlIGJyYW5jaGVzOiVzIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU0IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjA3IGJ1aWx0aW4vcmVtb3RlLmM6MTIzNAogbXNnaWQgIiAoc3RhdHVzIG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxNgogbXNnaWQgIiAgTG9jYWwgYnJhbmNoIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIGJyYW5jaGVzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTcxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjQKIG1zZ2lkICIgIExvY2FsIHJlZnMgd2lsbCBiZSBtaXJyb3JlZCBieSAnZ2l0IHB1c2gnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTG9jYWwgcmVmIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgcmVmcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk5CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNTIKIG1zZ2lkICJzZXQgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIGFjY29yZGluZyB0byByZW1vdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNTQKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjY5CiBtc2dpZCAiQ2Fubm90IGRldGVybWluZSByZW1vdGUgSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3MQogbXNnaWQgIk11bHRpcGxlIHJlbW90ZSBIRUFEIGJyYW5jaGVzLiBQbGVhc2UgY2hvb3NlIG9uZSBleHBsaWNpdGx5IHdpdGg6IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyOAotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIzNgotIywgYy1mb3JtYXQKLW1zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIzOAotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjc0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiAlcyB3aWxsIGJlY29tZSBkYW5nbGluZyEiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiAlcyBoYXMgYmVjb21lIGRhbmdsaW5nISIKLW1zZ3N0ciAiIgotCiAjOiBidWlsdGluL3JlbW90ZS5jOjEyODEKICMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGEgdmFsaWQgcmVmOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHNldHVwICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmchIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFzIGJlY29tZSBkYW5nbGluZyEiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE0CisjLCBjLWZvcm1hdAogbXNnaWQgIlBydW5pbmcgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgyCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVVJMOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbd291bGQgcHJ1bmVdICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFtwcnVuZWRdICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzc0CiBtc2dpZCAicHJ1bmUgcmVtb3RlcyBhZnRlciBmZXRjaGluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzODcgYnVpbHRpbi9yZW1vdGUuYzoxNDYxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NDAgYnVpbHRpbi9yZW1vdGUuYzoxNTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDA3CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjAKIG1zZ2lkICJhZGQgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQxNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDY3CiBtc2dpZCAibm8gcmVtb3RlIHNwZWNpZmllZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ4OQogbXNnaWQgIm1hbmlwdWxhdGUgcHVzaCBVUkxzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDkxCiBtc2dpZCAiYWRkIFVSTCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NDAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5MwogbXNnaWQgImRlbGV0ZSBVUkxzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTAwCiBtc2dpZCAiLS1hZGQgLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ4NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgb2xkIFVSTCBwYXR0ZXJuOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0OTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIFVSTCBmb3VuZDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDk3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NTAKIG1zZ2lkICJXaWxsIG5vdCBkZWxldGUgYWxsIG5vbi1wdXNoIFVSTHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTY5CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NjQKIG1zZ2lkICJiZSB2ZXJib3NlOyBtdXN0IGJlIHBsYWNlZCBiZWZvcmUgYSBzdWJjb21tYW5kIgogbXNnc3RyICIiCiAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTUKK21zZ2lkICJnaXQgcmVwYWNrIFtvcHRpb25zXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE0MworbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTQ1Cittc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE0OAorbXNnaWQgInJlbW92ZSByZWR1bmRhbnQgcGFja3MsIGFuZCBydW4gZ2l0LXBydW5lLXBhY2tlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1MAorbXNnaWQgInBhc3MgLS1uby1yZXVzZS1kZWx0YSB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTUyCittc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU0Cittc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU3Cittc2dpZCAicGFzcyAtLWxvY2FsIHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTgKK21zZ2lkICJhcHByb3hpZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1OQorbXNnaWQgIndpdGggLUEsIGRvIG5vdCBsb29zZW4gb2JqZWN0cyBvbGRlciB0aGFuIHRoaXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjEKK21zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjMKK21zZ2lkICJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2NQorbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2NworbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nICclcycgZmFpbGVkIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3CiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZWN0PiA8cmVwbGFjZW1lbnQ+IgogbXNnc3RyICIiCkBAIC03OTc5LDI2ICs4MzIwLDMwIEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9yZXBsYWNlLmM6MTkKLW1zZ2lkICJnaXQgcmVwbGFjZSAtbCBbPHBhdHRlcm4+XSIKK21zZ2lkICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PGZvcm1hdD5dIFstbCBbPHBhdHRlcm4+XV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIxCisjOiBidWlsdGluL3JlcGxhY2UuYzoxNzQKIG1zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMjIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3NQogbXNnaWQgImRlbGV0ZSByZXBsYWNlIHJlZnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIzCisjOiBidWlsdGluL3JlcGxhY2UuYzoxNzYKIG1zZ2lkICJyZXBsYWNlIHRoZSByZWYgaWYgaXQgZXhpc3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6MTEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3NworbXNnaWQgInVzZSB0aGlzIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcmVyZS5jOjEyCiBtc2dpZCAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgcGF0aC4uLiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXJlcmUuYzo1NgorIzogYnVpbHRpbi9yZXJlcmUuYzo1NwogbXNnaWQgInJlZ2lzdGVyIGNsZWFuIHJlc29sdXRpb25zIGluIGluZGV4IgogbXNnc3RyICIiCiAKQEAgLTgwNTgsODUgKzg0MDMsODkgQEAKIG1zZ2lkICJDYW5ub3QgZG8gYSAlcyByZXNldCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTEKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNjIKIG1zZ2lkICJiZSBxdWlldCwgb25seSByZXBvcnQgZXJyb3JzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTMKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNjQKIG1zZ2lkICJyZXNldCBIRUFEIGFuZCBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjU0CisjOiBidWlsdGluL3Jlc2V0LmM6MjY1CiBtc2dpZCAicmVzZXQgb25seSBIRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTYgYnVpbHRpbi9yZXNldC5jOjI1OAorIzogYnVpbHRpbi9yZXNldC5jOjI2NyBidWlsdGluL3Jlc2V0LmM6MjY5CiBtc2dpZCAicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjYwCisjOiBidWlsdGluL3Jlc2V0LmM6MjcxCiBtc2dpZCAicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNzgKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJldmlzaW9uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjgxIGJ1aWx0aW4vcmVzZXQuYzoyODkKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTIgYnVpbHRpbi9yZXNldC5jOjMwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODYKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHRyZWUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTUKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDYKIG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIC0te2hhcmQsbWl4ZWQsc29mdH0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMwNAorIzogYnVpbHRpbi9yZXNldC5jOjMxNQogbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzA2CisjOiBidWlsdGluL3Jlc2V0LmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyAlcyByZXNldCB3aXRoIHBhdGhzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzE2CisjOiBidWlsdGluL3Jlc2V0LmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHJlc2V0IGlzIG5vdCBhbGxvd2VkIGluIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMzYKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNDQKK21zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDIKLW1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQ3CisjOiBidWlsdGluL3Jlc2V0LmM6MzU1CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM0NQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNTkKIG1zZ2lkICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgW29wdGlvbnNdIC0tIFs8YXJncz4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzUwCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM2NAogbXNnaWQgImtlZXAgdGhlIGAtLWAgcGFzc2VkIGFzIGFuIGFyZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM1MgorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjYKIG1zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0NzAKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzY5Cittc2dpZCAib3V0cHV0IGluIHN0dWNrIGxvbmcgZm9ybSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQ4NgogbXNnaWQgIiIKICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgW29wdGlvbnNdIC0tIFs8YXJncz4uLi5dXG4iCiAiICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPGFyZz4uLi5dXG4iCkBAIC04MTYxLDg0ICs4NTEwLDg0IEBACiBtc2dpZCAiZ2l0IGNoZXJyeS1waWNrIDxzdWJjb21tYW5kPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjcxIGJ1aWx0aW4vcmV2ZXJ0LmM6OTQKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODAKIG1zZ2lkICJlbmQgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CisjOiBidWlsdGluL3JldmVydC5jOjgxCiBtc2dpZCAicmVzdW1lIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNworIzogYnVpbHRpbi9yZXZlcnQuYzo4MgogbXNnaWQgImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODMKIG1zZ2lkICJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwOQorIzogYnVpbHRpbi9yZXZlcnQuYzo4NAogbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCisjOiBidWlsdGluL3JldmVydC5jOjg3CiBtc2dpZCAicGFyZW50IG51bWJlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjExNAorIzogYnVpbHRpbi9yZXZlcnQuYzo4OQogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE1CisjOiBidWlsdGluL3JldmVydC5jOjkwCiBtc2dpZCAib3B0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE2CisjOiBidWlsdGluL3JldmVydC5jOjkxCiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyNworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJhcHBlbmQgY29tbWl0IG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI5CisjOiBidWlsdGluL3JldmVydC5jOjEwNAogbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTMwCisjOiBidWlsdGluL3JldmVydC5jOjEwNQogbXNnaWQgImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEzMQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDYKIG1zZ2lkICJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEzNQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTAKIG1zZ2lkICJwcm9ncmFtIGVycm9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjI1CisjOiBidWlsdGluL3JldmVydC5jOjE5NQogbXNnaWQgInJldmVydCBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyNDAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjEwCiBtc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoxNgorIzogYnVpbHRpbi9ybS5jOjE3CiBtc2dpZCAiZ2l0IHJtIFtvcHRpb25zXSBbLS1dIDxmaWxlPi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6NjQKKyM6IGJ1aWx0aW4vcm0uYzo2NQogbXNnaWQgIiIKICJ0aGUgZm9sbG93aW5nIHN1Ym1vZHVsZSAob3Igb25lIG9mIGl0cyBuZXN0ZWQgc3VibW9kdWxlcylcbiIKICJ1c2VzIGEgLmdpdCBkaXJlY3Rvcnk6IgpAQCAtODI0OCwxMyArODU5NywxMyBAQAogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9ybS5jOjcwCisjOiBidWlsdGluL3JtLmM6NzEKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAncm0gLXJmJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gcmVtb3ZlIGl0IGluY2x1ZGluZyBhbGwgb2YgaXRzIGhpc3RvcnkpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMzAKKyM6IGJ1aWx0aW4vcm0uYzoyMzEKIG1zZ2lkICIiCiAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBzdGFnZWQgY29udGVudCBkaWZmZXJlbnQgZnJvbSBib3RoIHRoZVxuIgogImZpbGUgYW5kIHRoZSBIRUFEOiIKQEAgLTgyNjQsNTYgKzg2MTMsNTYgQEAKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMzUKKyM6IGJ1aWx0aW4vcm0uYzoyMzYKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtZiB0byBmb3JjZSByZW1vdmFsKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6MjM5CisjOiBidWlsdGluL3JtLmM6MjQwCiBtc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDMgYnVpbHRpbi9ybS5jOjI1NAorIzogYnVpbHRpbi9ybS5jOjI0NCBidWlsdGluL3JtLmM6MjU1CiBtc2dpZCAiIgogIlxuIgogIih1c2UgLS1jYWNoZWQgdG8ga2VlcCB0aGUgZmlsZSwgb3IgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ybS5jOjI1MQorIzogYnVpbHRpbi9ybS5jOjI1MgogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNjkKKyM6IGJ1aWx0aW4vcm0uYzoyNzAKIG1zZ2lkICJkbyBub3QgbGlzdCByZW1vdmVkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNzAKKyM6IGJ1aWx0aW4vcm0uYzoyNzEKIG1zZ2lkICJvbmx5IHJlbW92ZSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6MjcxCisjOiBidWlsdGluL3JtLmM6MjcyCiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ybS5jOjI3MgorIzogYnVpbHRpbi9ybS5jOjI3MwogbXNnaWQgImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNzQKKyM6IGJ1aWx0aW4vcm0uYzoyNzUKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6MzQ1CisjOiBidWlsdGluL3JtLmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCByZW1vdmluZyAnJXMnIHJlY3Vyc2l2ZWx5IHdpdGhvdXQgLXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ybS5jOjM4NAorIzogYnVpbHRpbi9ybS5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgcm06IHVuYWJsZSB0byByZW1vdmUgJXMiCiBtc2dzdHIgIiIKQEAgLTgzMjcsMjMgKzg2NzYsMjMgQEAKIG1zZ2lkICJNaXNzaW5nIGF1dGhvcjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIyOAorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMAogbXNnaWQgInNvcnQgb3V0cHV0IGFjY29yZGluZyB0byB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgcGVyIGF1dGhvciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjMwCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjMyCiBtc2dpZCAiU3VwcHJlc3MgY29tbWl0IGRlc2NyaXB0aW9ucywgb25seSBwcm92aWRlcyBjb21taXQgY291bnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMgorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzNAogbXNnaWQgIlNob3cgdGhlIGVtYWlsIGFkZHJlc3Mgb2YgZWFjaCBhdXRob3IiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzNQogbXNnaWQgIndbLGkxWyxpMl1dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzQKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzYKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgIiIKIApAQCAtODM1OSw2NyArODcwOCw2NyBAQAogbXNnaWQgImdpdCBzaG93LWJyYW5jaCAoLWd8LS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmVmPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OQogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUxCiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MwogbXNnaWQgImNvbG9yICcqISstJyBjb3JyZXNwb25kaW5nIHRvIHRoZSBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NQogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTcKIG1zZ2lkICJzeW5vbnltIHRvIG1vcmU9LTEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OAogbXNnaWQgInN1cHByZXNzIG5hbWluZyBzdHJpbmdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjAKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYyCiBtc2dpZCAibmFtZSBjb21taXRzIHdpdGggdGhlaXIgb2JqZWN0IG5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjQKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjYKIG1zZ2lkICJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MQogbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzMKIG1zZ2lkICJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NQogbXNnaWQgInRvcG9sb2dpY2FsbHkgc29ydCwgbWFpbnRhaW5pbmcgZGF0ZSBvcmRlciB3aGVyZSBwb3NzaWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc4CiBtc2dpZCAiPG4+Wyw8YmFzZT5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2ODAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzkKIG1zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKIG1zZ3N0ciAiIgogCkBAIC04NDQ1LDIzICs4Nzk0LDIzIEBACiBtc2dpZCAic3RyaWN0ZXIgcmVmZXJlbmNlIGNoZWNraW5nLCByZXF1aXJlcyBleGFjdCByZWYgcGF0aCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTczIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzYKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzMgYnVpbHRpbi9zaG93LXJlZi5jOjE3NQogbXNnaWQgInNob3cgdGhlIEhFQUQgcmVmZXJlbmNlLCBldmVuIGlmIGl0IHdvdWxkIGJlIGZpbHRlcmVkIG91dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc3CiBtc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbnRvIG9iamVjdCBJRHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4MAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OQogbXNnaWQgIm9ubHkgc2hvdyBTSEExIGhhc2ggdXNpbmcgPG4+IGRpZ2l0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTg0CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTgzCiBtc2dpZCAiZG8gbm90IHByaW50IHJlc3VsdHMgdG8gc3Rkb3V0ICh1c2VmdWwgd2l0aCAtLXZlcmlmeSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4NQogbXNnaWQgInNob3cgcmVmcyBmcm9tIHN0ZGluIHRoYXQgYXJlbid0IGluIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIApAQCAtODQ4NSwxMSArODgzNCwxMSBAQAogbXNnaWQgInNob3J0ZW4gcmVmIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjE4CisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1NAogbXNnaWQgInJlYXNvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjE4CisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1NAogbXNnaWQgInJlYXNvbiBvZiB0aGUgdXBkYXRlIgogbXNnc3RyICIiCiAKQEAgLTg2NDQsMTgzICs4OTkzLDE5NSBAQAogbXNnaWQgInByaW50IG9ubHkgdGFncyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTA0CisjOiBidWlsdGluL3RhZy5jOjUwMQogbXNnaWQgIi0tY29sdW1uIGFuZCAtbiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTIxCisjOiBidWlsdGluL3RhZy5jOjUxOAogbXNnaWQgIi1uIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzo1MjMKKyM6IGJ1aWx0aW4vdGFnLmM6NTIwCiBtc2dpZCAiLS1jb250YWlucyBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTI1CisjOiBidWlsdGluL3RhZy5jOjUyMgogbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzo1MzMKKyM6IGJ1aWx0aW4vdGFnLmM6NTMwCiBtc2dpZCAib25seSBvbmUgLUYgb3IgLW0gb3B0aW9uIGlzIGFsbG93ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTUzCisjOiBidWlsdGluL3RhZy5jOjU1MAogbXNnaWQgInRvbyBtYW55IHBhcmFtcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjU1OQorIzogYnVpbHRpbi90YWcuYzo1NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0YWcgbmFtZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzo1NjQKKyM6IGJ1aWx0aW4vdGFnLmM6NTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTgyCisjOiBidWlsdGluL3RhZy5jOjU3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGxvY2sgdGhlIHJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjU4NAorIzogYnVpbHRpbi90YWcuYzo1ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1cGRhdGUgdGhlIHJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjU4NgorIzogYnVpbHRpbi90YWcuYzo1ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NDAxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjQwMgogbXNnaWQgImdpdCB1cGRhdGUtaW5kZXggW29wdGlvbnNdIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MTgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzIwCiBtc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzIxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyMwogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyNgogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyOAogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczMAogbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMyCiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzM1CiBtc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzM3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczOQogbXNnaWQgImxpa2UgLS1yZWZyZXNoLCBidXQgaWdub3JlIGFzc3VtZS11bmNoYW5nZWQgc2V0dGluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDMKIG1zZ2lkICI8bW9kZT4gPG9iamVjdD4gPHBhdGg+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0NAogbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDgKIG1zZ2lkICIoKy8tKXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ5CiBtc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzUzCiBtc2dpZCAibWFyayBmaWxlcyBhcyBcIm5vdCBjaGFuZ2luZ1wiIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1NgogbXNnaWQgImNsZWFyIGFzc3VtZWQtdW5jaGFuZ2VkIGJpdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTkKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwiaW5kZXgtb25seVwiIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzYwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2MgogbXNnaWQgImNsZWFyIHNraXAtd29ya3RyZWUgYml0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzYzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2NQogbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2NwogbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY5CiBtc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3MQogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzc1CiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzc5CiBtc2dpZCAicmVwb3B1bGF0ZSBzdGFnZXMgIzIgYW5kICMzIGZvciB0aGUgbGlzdGVkIHBhdGhzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzgxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4MwogbXNnaWQgIm9ubHkgdXBkYXRlIGVudHJpZXMgdGhhdCBkaWZmZXIgZnJvbSBIRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzg1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4NwogbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkwCiBtc2dpZCAicmVwb3J0IGFjdGlvbnMgdG8gc3RhbmRhcmQgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5MgogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzk0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5NgogbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjcKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjkKIG1zZ2lkICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gLWQgPHJlZm5hbWU+IFs8b2xkdmFsPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6OAorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTAKIG1zZ2lkICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gICAgPHJlZm5hbWU+IDxuZXd2YWw+IFs8b2xkdmFsPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTkKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjExCittc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdIC0tc3RkaW4gWy16XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTUKIG1zZ2lkICJkZWxldGUgdGhlIHJlZmVyZW5jZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyMQorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU3CiBtc2dpZCAidXBkYXRlIDxyZWZuYW1lPiBub3QgdGhlIG9uZSBpdCBwb2ludHMgdG8iCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU4Cittc2dpZCAic3RkaW4gaGFzIE5VTC10ZXJtaW5hdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTkKK21zZ2lkICJyZWFkIHVwZGF0ZXMgZnJvbSBzdGRpbiIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjYKIG1zZ2lkICJnaXQgdXBkYXRlLXNlcnZlci1pbmZvIFstLWZvcmNlXSIKIG1zZ3N0ciAiIgpAQCAtODg3MiwyMyArOTIzMywyMyBAQAogInRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIG9yIGNvbmNlcHQuIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNDQKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNDYKIG1zZ2lkICJleHBpcnkgZGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MTU5CisjOiBwYXJzZS1vcHRpb25zLmg6MTYxCiBtc2dpZCAibm8tb3AgKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyMzYKKyM6IHBhcnNlLW9wdGlvbnMuaDoyMzUKIG1zZ2lkICJiZSBtb3JlIHZlcmJvc2UiCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzOAorIzogcGFyc2Utb3B0aW9ucy5oOjIzNwogbXNnaWQgImJlIG1vcmUgcXVpZXQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI0NAorIzogcGFyc2Utb3B0aW9ucy5oOjI0MwogbXNnaWQgInVzZSA8bj4gZGlnaXRzIHRvIGRpc3BsYXkgU0hBLTFzIgogbXNnc3RyICIiCiAKQEAgLTkxNjEsNyArOTUyMiw3IEBACiBtc2dzdHIgIiIKIAogIzogZ2l0LWJpc2VjdC5zaDoxNDAKLW1zZ2lkICJ3b24ndCBiaXNlY3Qgb24gc2Vla2VkIHRyZWUiCittc2dpZCAid29uJ3QgYmlzZWN0IG9uIGNnLXNlZWsnZWQgdHJlZSIKIG1zZ3N0ciAiIgogCiAjOiBnaXQtYmlzZWN0LnNoOjE0NApAQCAtOTI4NCw3ICs5NjQ1LDcgQEAKIG1zZ2lkICJQdWxsIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcHVsbC5zaDoyMDMKKyM6IGdpdC1wdWxsLnNoOjIyMwogbXNnaWQgInVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCkBAIC05MjkyLDcgKzk2NTMsNyBAQAogIy4gVGhlIHdvcmtpbmcgdHJlZSBhbmQgdGhlIGluZGV4IGZpbGUgaXMgc3RpbGwgYmFzZWQgb24gdGhlCiAjLiAkb3JpZ19oZWFkIGNvbW1pdCwgYnV0IHdlIGFyZSBtZXJnaW5nIGludG8gJGN1cnJfaGVhZC4KICMuIEZpcnN0IHVwZGF0ZSB0aGUgd29ya2luZyB0cmVlIHRvIG1hdGNoICRjdXJyX2hlYWQuCi0jOiBnaXQtcHVsbC5zaDoyMzUKKyM6IGdpdC1wdWxsLnNoOjI0NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IGZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC05MzAwLDE1ICs5NjYxLDE1IEBACiAiV2FybmluZzogY29tbWl0ICRvcmlnX2hlYWQuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1wdWxsLnNoOjI2MAorIzogZ2l0LXB1bGwuc2g6MjcyCiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcHVsbC5zaDoyNjQKKyM6IGdpdC1wdWxsLnNoOjI3NgogbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjU0CisjOiBnaXQtcmViYXNlLnNoOjU1CiBtc2dpZCAiIgogIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiBpbnN0ZWFkLlxuIgpAQCAtOTMxNiw1OCArOTY3Nyw1OCBAQAogIlwiLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjE1NgorIzogZ2l0LXJlYmFzZS5zaDoxNTgKIG1zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNTkKKyM6IGdpdC1yZWJhc2Uuc2g6MTYxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3RvcmUgJHN0YXNoX3NoYTEiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNjAKKyM6IGdpdC1yZWJhc2Uuc2g6MTYyCiBtc2dpZCAiIgogIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCiAiWW91ciBjaGFuZ2VzIGFyZSBzYWZlIGluIHRoZSBzdGFzaC5cbiIKICJZb3UgY2FuIHJ1biBcImdpdCBzdGFzaCBwb3BcIiBvciBcImdpdCBzdGFzaCBkcm9wXCIgYXQgYW55IHRpbWUuXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxOTAKKyM6IGdpdC1yZWJhc2Uuc2g6MjAxCiBtc2dpZCAiVGhlIHByZS1yZWJhc2UgaG9vayByZWZ1c2VkIHRvIHJlYmFzZS4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxOTUKKyM6IGdpdC1yZWJhc2Uuc2g6MjA2CiBtc2dpZCAiSXQgbG9va3MgbGlrZSBnaXQtYW0gaXMgaW4gcHJvZ3Jlc3MuIENhbm5vdCByZWJhc2UuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzI5CisjOiBnaXQtcmViYXNlLnNoOjM0NgogbXNnaWQgIlRoZSAtLWV4ZWMgb3B0aW9uIG11c3QgYmUgdXNlZCB3aXRoIHRoZSAtLWludGVyYWN0aXZlIG9wdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjMzNAorIzogZ2l0LXJlYmFzZS5zaDozNTEKIG1zZ2lkICJObyByZWJhc2UgaW4gcHJvZ3Jlc3M/IgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzQ1CisjOiBnaXQtcmViYXNlLnNoOjM2MgogbXNnaWQgIlRoZSAtLWVkaXQtdG9kbyBhY3Rpb24gY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgaW50ZXJhY3RpdmUgcmViYXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjM1MgorIzogZ2l0LXJlYmFzZS5zaDozNjkKIG1zZ2lkICJDYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzU1CisjOiBnaXQtcmViYXNlLnNoOjM3MgogbXNnaWQgIiIKICJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKICJtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgdXNpbmcgZ2l0IGFkZCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3MworIzogZ2l0LXJlYmFzZS5zaDozOTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjM5MgorIzogZ2l0LXJlYmFzZS5zaDo0MDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKQEAgLTkzODAsNjUgKzk3NDEsNjUgQEAKICJ2YWx1YWJsZSB0aGVyZS4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0MzcKKyM6IGdpdC1yZWJhc2Uuc2g6NDU2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICR1cHN0cmVhbV9uYW1lIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDYxCisjOiBnaXQtcmViYXNlLnNoOjQ4MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgYXJlIG1vcmUgdGhhbiBvbmUgbWVyZ2UgYmFzZXMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NjQgZ2l0LXJlYmFzZS5zaDo0NjgKKyM6IGdpdC1yZWJhc2Uuc2g6NDgzIGdpdC1yZWJhc2Uuc2g6NDg3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDczCisjOiBnaXQtcmViYXNlLnNoOjQ5MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTYKKyM6IGdpdC1yZWJhc2Uuc2g6NTE1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2g6ICRicmFuY2hfbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjUxOQorIzogZ2l0LXJlYmFzZS5zaDo1NDgKIG1zZ2lkICJDYW5ub3QgYXV0b3N0YXNoIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTI0CisjOiBnaXQtcmViYXNlLnNoOjU1MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MjgKKyM6IGdpdC1yZWJhc2Uuc2g6NTU3CiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjU0OAorIzogZ2l0LXJlYmFzZS5zaDo1NzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjU1MgorIzogZ2l0LXJlYmFzZS5zaDo1ODEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjU2MworIzogZ2l0LXJlYmFzZS5zaDo1OTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgogbXNnc3RyICIiCiAKICMuIERldGFjaCBIRUFEIGFuZCByZXNldCB0aGUgdHJlZQotIzogZ2l0LXJlYmFzZS5zaDo1NzIKKyM6IGdpdC1yZWJhc2Uuc2g6NjAxCiBtc2dpZCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTgyCisjOiBnaXQtcmViYXNlLnNoOjYxMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkZWQgJGJyYW5jaF9uYW1lIHRvICRvbnRvX25hbWUuIgogbXNnc3RyICIiCkBAIC05NDg2LDEwMyArOTg0Nyw5MiBAQAogIy4gJCBnaXQgc3Rhc2ggc2F2ZSAtLWJsYWgtYmxhaCAyPiYxIHwgaGVhZCAtbiAyCiAjLiBlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogLS1ibGFoLWJsYWgKICMuIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJy0tYmxhaC1ibGFoJwotIzogZ2l0LXN0YXNoLnNoOjI0MQorIzogZ2l0LXN0YXNoLnNoOjIzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCiAiICAgICAgIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJyRvcHRpb24nIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjIKKyM6IGdpdC1zdGFzaC5zaDoyNTgKIG1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjI2OAotbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCBmaWxlcyB3b3VsZCBOT1QgYmUgc2F2ZWQgYnV0IG5lZWQgdG8gYmUgcmVtb3ZlZCBieSAiCi0ic3Rhc2ggc2F2ZToiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjI3MAotbXNnaWQgIiIKLSJBYm9ydGluZy4gQ29uc2lkZXIgdXNpbmcgZWl0aGVyIHRoZSAtLWZvcmNlIG9yIC0taW5jbHVkZS11bnRyYWNrZWQgb3B0aW9uLiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6Mjc0CisjOiBnaXQtc3Rhc2guc2g6MjYyCiBtc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjI3OAorIzogZ2l0LXN0YXNoLnNoOjI2NgogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjk2CisjOiBnaXQtc3Rhc2guc2g6Mjg0CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDozOTUKKyM6IGdpdC1zdGFzaC5zaDozODMKIG1zZ2lkICJObyBzdGFzaCBmb3VuZC4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQwMgorIzogZ2l0LXN0YXNoLnNoOjM5MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDogJFJFViIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NDA4CisjOiBnaXQtc3Rhc2guc2g6Mzk2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkcmVmZXJlbmNlIGlzIG5vdCB2YWxpZCByZWZlcmVuY2UiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQzNgorIzogZ2l0LXN0YXNoLnNoOjQyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NDQ3CisjOiBnaXQtc3Rhc2guc2g6NDM1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NDU1CisjOiBnaXQtc3Rhc2guc2g6NDQzCiBtc2dpZCAidW5hYmxlIHRvIHJlZnJlc2ggaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ1OQorIzogZ2l0LXN0YXNoLnNoOjQ0NwogbXNnaWQgIkNhbm5vdCBhcHBseSBhIHN0YXNoIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NDY3CisjOiBnaXQtc3Rhc2guc2g6NDU1CiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NDY5CisjOiBnaXQtc3Rhc2guc2g6NDU3CiBtc2dpZCAiQ291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NTAzCisjOiBnaXQtc3Rhc2guc2g6NDkxCiBtc2dpZCAiQ2Fubm90IHVuc3RhZ2UgbW9kaWZpZWQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjUxOAorIzogZ2l0LXN0YXNoLnNoOjUwNgogbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NTM1CisjOiBnaXQtc3Rhc2guc2g6NTIzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEcm9wcGVkICR7UkVWfSAoJHMpIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MzYKKyM6IGdpdC1zdGFzaC5zaDo1MjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjU0MworIzogZ2l0LXN0YXNoLnNoOjUzMQogbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NjE1CisjOiBnaXQtc3Rhc2guc2g6NjAzCiBtc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogbXNnc3RyICIiCiAKQEAgLTk2ODcsMTg1ICsxMDAzNywxNzcgQEAKIG1zZ2lkICJFbnRlcmluZyAnJHByZWZpeCRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NTQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTU5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdG9wcGluZyBhdCAnJHByZWZpeCRkaXNwbGF5cGF0aCc7IHNjcmlwdCByZXR1cm5lZCBub24temVybyBzdGF0dXMuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjAwCisjOiBnaXQtc3VibW9kdWxlLnNoOjYwNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiTm8gdXJsIGZvdW5kIGZvciBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyBpbiAuZ2l0bW9kdWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cmwgZm9yIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjExCisjOiBnaXQtc3VibW9kdWxlLnNoOjYxNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICckbmFtZScgKCR1cmwpIHJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXBkYXRlIG1vZGUgZm9yIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjU2CisjOiBnaXQtc3VibW9kdWxlLnNoOjY3MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVXNlICcuJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjczCisjOiBnaXQtc3VibW9kdWxlLnNoOjY4OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njc0CisjOiBnaXQtc3VibW9kdWxlLnNoOjY4OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGxvY2FsIG1vZGlmaWNhdGlvbnM7IHVzZSAnLWYnIHRvICIKICJkaXNjYXJkIHRoZW0iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njk4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDbGVhcmVkIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJG5hbWUnICgkdXJsKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODM0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcgbm90IGluaXRpYWxpemVkXG4iCiAiTWF5YmUgeW91IHdhbnQgdG8gdXNlICd1cGRhdGUgLS1pbml0Jz8iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MjQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODQ3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODMzCisjOiBnaXQtc3VibW9kdWxlLnNoOjg1NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODgwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NzEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODk0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gcmViYXNlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NzIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTAwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gbWVyZ2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg3OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg4MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlICBwYXRoICckcHJlZml4JHNtX3BhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODg0CisjOiBnaXQtc3VibW9kdWxlLnNoOjkwNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRwcmVmaXgkc21fcGF0aCc6ICckY29tbWFuZCAkc2hhMSciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4ODkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTEyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg5MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBjaGVja2VkIG91dCAnJHNoYTEnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTE3CisjOiBnaXQtc3VibW9kdWxlLnNoOjk0MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwMjUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTA0OAogbXNnaWQgIlRoZSAtLWNhY2hlZCBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgLS1maWxlcyBvcHRpb24iCiBtc2dzdHIgIiIKIAogIy4gdW5leHBlY3RlZCB0eXBlCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwNjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTA5NgogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBtb2RlICRtb2RfZHN0IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA4NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTE2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDg5CisjOiBnaXQtc3VibW9kdWxlLnNoOjExMTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwOTIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTEyMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXRzICRzaGExX3NyYyBhbmQgJHNoYTFfZHN0IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTExNworIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTQ3CiBtc2dpZCAiYmxvYiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExNTUKLW1zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExNTcKLW1zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTI0MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMjYxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMzA2CisjOiBnaXQtc3VibW9kdWxlLnNoOjEzMjUKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCBmb3IgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKZGlmZiAtLWdpdCBhL3BvL2l0LnBvIGIvcG8vaXQucG8KaW5kZXggZmU2MWYxYS4uOTA4MDIxOSAxMDA2NDQKLS0tIGEvcG8vaXQucG8KKysrIGIvcG8vaXQucG8KQEAgLTI0NzYsNyArMjQ3Niw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ4MgotbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0dGlzaGVzIgorbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vZGlmZi5jOjc3CmRpZmYgLS1naXQgYS9wby9ubC5wbyBiL3BvL25sLnBvCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMTM5OWUyLi4wMDAwMDAwCi0tLSBhL3BvL25sLnBvCisrKyAvZGV2L251bGwKQEAgLTEsMzQ5MyArMCwwIEBACi0jIER1dGNoIHRyYW5zbGF0aW9ucyBmb3IgR2l0LgotIyBDb3B5cmlnaHQgKEMpIDIwMTIgVmluY2VudCB2YW4gUmF2ZXN0ZWlqbiA8dmZyQGx5eC5vcmc+Ci0jIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBHaXQgcGFja2FnZS4KLSMgVmluY2VudCB2YW4gUmF2ZXN0ZWlqbiA8dmZyQGx5eC5vcmc+LCAyMDEyLgotIwotbXNnaWQgIiIKLW1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogR2l0XG4iCi0iUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTItMDItMjggMDk6MTcrMDgwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTItMDMtMDcgMTI6MDIrMDEwMFxuIgotIkxhc3QtVHJhbnNsYXRvcjogVmluY2VudCB2YW4gUmF2ZXN0ZWlqbiA8dmZyQGx5eC5vcmc+XG4iCi0iTGFuZ3VhZ2UtVGVhbTogRHV0Y2hcbiIKLSJMYW5ndWFnZTogbmxcbiIKLSJNSU1FLVZlcnNpb246IDEuMFxuIgotIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1BU0NJSVxuIgotIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKLSJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKLQotIzogYWR2aWNlLmM6MzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaGludDogJS4qc1xuIgotbXNnc3RyICIiCi0KLSMuCi0jLiAqIE1lc3NhZ2UgdXNlZCBib3RoIHdoZW4gJ2dpdCBjb21taXQnIGZhaWxzIGFuZCB3aGVuCi0jLiAqIG90aGVyIGNvbW1hbmRzIGRvaW5nIGEgbWVyZ2UgZG8uCi0jLgotIzogYWR2aWNlLmM6NjQKLW1zZ2lkICIiCi0iRml4IHRoZW0gdXAgaW4gdGhlIHdvcmsgdHJlZSxcbiIKLSJhbmQgdGhlbiB1c2UgJ2dpdCBhZGQvcm0gPGZpbGU+JyBhc1xuIgotImFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbiBhbmQgbWFrZSBhIGNvbW1pdCxcbiIKLSJvciB1c2UgJ2dpdCBjb21taXQgLWEnLiIKLW1zZ3N0ciAiIgotCi0jOiBjb21taXQuYzo0NwotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMiCi1tc2dzdHIgIiIKLQotIzogY29tbWl0LmM6NDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgJXMgaXMgbm90IGEgY29tbWl0ISIKLW1zZ3N0ciAiIgotCi0jOiBjb21wYXQvb2JzdGFjay5jOjQwNiBjb21wYXQvb2JzdGFjay5jOjQwOAotbXNnaWQgIm1lbW9yeSBleGhhdXN0ZWQiCi1tc2dzdHIgIiIKLQotIzogY29ubmVjdGVkLmM6MzkKLW1zZ2lkICJDb3VsZCBub3QgcnVuICdnaXQgcmV2LWxpc3QnIgotbXNnc3RyICIiCi0KLSM6IGNvbm5lY3RlZC5jOjQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB3cml0ZSB0byByZXYtbGlzdDogJXMiCi1tc2dzdHIgIiIKLQotIzogY29ubmVjdGVkLmM6NTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW46ICVzIgotbXNnc3RyICIiCi0KLSM6IGRpZmYuYzoxMDQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyUuKnMnXG4iCi1tc2dzdHIgIiIKLQotIzogZGlmZi5jOjEwOQotIywgYy1mb3JtYXQKLW1zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyUuKnMnXG4iCi1tc2dzdHIgIiIKLQotIzogZGlmZi5jOjIwNQotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKLSIlcyIKLW1zZ3N0ciAiIgotCi0jOiBkaWZmLmM6MTMzMQotbXNnaWQgIiAwIGZpbGVzIGNoYW5nZWRcbiIKLW1zZ3N0ciAiIgotCi0jOiBkaWZmLmM6MTMzNQotIywgYy1mb3JtYXQKLW1zZ2lkICIgJWQgZmlsZSBjaGFuZ2VkIgotbXNnaWRfcGx1cmFsICIgJWQgZmlsZXMgY2hhbmdlZCIKLW1zZ3N0clswXSAiIgotbXNnc3RyWzFdICIiCi0KLSM6IGRpZmYuYzoxMzUyCi0jLCBjLWZvcm1hdAotbXNnaWQgIiwgJWQgaW5zZXJ0aW9uKCspIgotbXNnaWRfcGx1cmFsICIsICVkIGluc2VydGlvbnMoKykiCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgotCi0jOiBkaWZmLmM6MTM2MwotIywgYy1mb3JtYXQKLW1zZ2lkICIsICVkIGRlbGV0aW9uKC0pIgotbXNnaWRfcGx1cmFsICIsICVkIGRlbGV0aW9ucygtKSIKLW1zZ3N0clswXSAiIgotbXNnc3RyWzFdICIiCi0KLSM6IGRpZmYuYzozMzY0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCi0iJXMiCi1tc2dzdHIgIiIKLQotIzogZ3BnLWludGVyZmFjZS5jOjU5Ci1tc2dpZCAiY291bGQgbm90IHJ1biBncGcuIgotbXNnc3RyICIiCi0KLSM6IGdwZy1pbnRlcmZhY2UuYzo3MQotbXNnaWQgImdwZyBkaWQgbm90IGFjY2VwdCB0aGUgZGF0YSIKLW1zZ3N0ciAiIgotCi0jOiBncGctaW50ZXJmYWNlLmM6ODIKLW1zZ2lkICJncGcgZmFpbGVkIHRvIHNpZ24gdGhlIGRhdGEiCi1tc2dzdHIgIiIKLQotIzogZ3JlcC5jOjEyODUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCi1tc2dzdHIgIiIKLQotIzogZ3JlcC5jOjEzMDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJzogJXMiCi1tc2dzdHIgIiIKLQotIzogZ3JlcC5jOjEzMTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJzogc2hvcnQgcmVhZCAlcyIKLW1zZ3N0ciAiIgotCi0jOiBoZWxwLmM6Mjg3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSInJXMnIGFwcGVhcnMgdG8gYmUgYSBnaXQgY29tbWFuZCwgYnV0IHdlIHdlcmUgbm90XG4iCi0iYWJsZSB0byBleGVjdXRlIGl0LiBNYXliZSBnaXQtJXMgaXMgYnJva2VuPyIKLW1zZ3N0ciAiIgotCi0jOiByZW1vdGUuYzoxNjA3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIgotbXNnaWRfcGx1cmFsICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgotCi0jOiByZW1vdGUuYzoxNjEzCi0jLCBjLWZvcm1hdAotbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdCwgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKLW1zZ2lkX3BsdXJhbCAiIgotIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdHMsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgotCi0jOiByZW1vdGUuYzoxNjIxCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgotImFuZCBoYXZlICVkIGFuZCAlZCBkaWZmZXJlbnQgY29tbWl0IGVhY2gsIHJlc3BlY3RpdmVseS5cbiIKLW1zZ2lkX3BsdXJhbCAiIgotIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCi0iYW5kIGhhdmUgJWQgYW5kICVkIGRpZmZlcmVudCBjb21taXRzIGVhY2gsIHJlc3BlY3RpdmVseS5cbiIKLW1zZ3N0clswXSAiIgotbXNnc3RyWzFdICIiCi0KLSM6IHNlcXVlbmNlci5jOjEyMCBidWlsdGluL21lcmdlLmM6ODYyIGJ1aWx0aW4vbWVyZ2UuYzo5ODMKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDkzIGJ1aWx0aW4vbWVyZ2UuYzoxMTAzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6MTIyIGJ1aWx0aW4vbWVyZ2UuYzozMzQgYnVpbHRpbi9tZXJnZS5jOjg2NQotIzogYnVpbHRpbi9tZXJnZS5jOjEwOTUgYnVpbHRpbi9tZXJnZS5jOjExMDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICclcyciCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6MTQyCi1tc2dpZCAiIgotImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKLSJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPidcbiIKLSJhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCAnZ2l0IGNvbW1pdCciCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6MTU0IHNlcXVlbmNlci5jOjY4MCBzZXF1ZW5jZXIuYzo3NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICVzIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjE1NwotIywgYy1mb3JtYXQKLW1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzoxNzIKLW1zZ2lkICJZb3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlcnJ5LXBpY2suIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjE3NAotbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSByZXZlcnQuIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjE3NwotbXNnaWQgIkNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKLW1zZ3N0ciAiIgotCi0jLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiBvciAiY2hlcnJ5LXBpY2siCi0jOiBzZXF1ZW5jZXIuYzoyMjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzoyOTMKLW1zZ2lkICJZb3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjI5NgotbXNnaWQgIllvdSBkbyBub3QgaGF2ZSBhIHZhbGlkIEhFQUQiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6MzExCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzozMTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjMyMwotIywgYy1mb3JtYXQKLW1zZ2lkICJNYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgotbXNnc3RyICIiCi0KLSMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSAicmV2ZXJ0IiBvcgotIy4gImNoZXJyeS1waWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEKLSM6IHNlcXVlbmNlci5jOjMzNAotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6MzM4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjQyMgotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgcmV2ZXJ0ICVzLi4uICVzIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjQyMwotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NDQ1IHNlcXVlbmNlci5jOjkwNCBidWlsdGluL2xvZy5jOjI4NiBidWlsdGluL2xvZy5jOjcwOQotIzogYnVpbHRpbi9sb2cuYzoxMzI1IGJ1aWx0aW4vbG9nLmM6MTU0NCBidWlsdGluL21lcmdlLmM6MzQ4Ci0jOiBidWlsdGluL3Nob3J0bG9nLmM6MTgxCi1tc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NDQ4Ci1tc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NDU2Ci0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjQ2MQotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo1NDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90ICVzIGR1cmluZyBhICVzIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjU2OAotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2UgbGluZSAlZC4iCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NTczCi1tc2dpZCAiTm8gY29tbWl0cyBwYXJzZWQuIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjU4NgotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3Qgb3BlbiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo1OTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHJlYWQgJXMuIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjU5NwotIywgYy1mb3JtYXQKLW1zZ2lkICJVbnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJXMiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NjI1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQga2V5OiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo2MjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjY0MAotIywgYy1mb3JtYXQKLW1zZ2lkICJNYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJXMiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NjYxCi1tc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo2NjIKLW1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjY2NgotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJXMiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NjgyIHNlcXVlbmNlci5jOjc2NwotIywgYy1mb3JtYXQKLW1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcy4iCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NzAxIHNlcXVlbmNlci5jOjgzNQotbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo3MDMKLW1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjcwNQotbXNnaWQgImNhbm5vdCBhYm9ydCBmcm9tIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjcyNwotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NzMwCi0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkICVzOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo3MzEKLW1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjczNwotIywgYy1mb3JtYXQKLW1zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NzYwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBmb3JtYXQgJXMuIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjkyMgotbXNnaWQgIkNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo5MjMKLW1zZ2lkICJDYW4ndCBjaGVycnktcGljayBpbnRvIGVtcHR5IGhlYWQiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MTM0Ci1tc2dpZCAiVW5tZXJnZWQgcGF0aHM6IgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjE0MCB3dC1zdGF0dXMuYzoxNTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjE0MiB3dC1zdGF0dXMuYzoxNTkKLW1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MTQzCi1tc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjE1MQotbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoxNjkKLW1zZ2lkICJDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MTczCi1tc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MTc1Ci1tc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MTc2Ci1tc2dpZCAiIgotIiAgKHVzZSBcImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjE3OAotbXNnaWQgIiAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKSIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoxODcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgZmlsZXM6IgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjE5MAotIywgYy1mb3JtYXQKLW1zZ2lkICIgICh1c2UgXCJnaXQgJXMgPGZpbGU+Li4uXCIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyMDcKLW1zZ2lkICJidWciCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MjEyCi1tc2dpZCAiYm90aCBkZWxldGVkOiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyMTMKLW1zZ2lkICJhZGRlZCBieSB1czoiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MjE0Ci1tc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyMTUKLW1zZ2lkICJhZGRlZCBieSB0aGVtOiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyMTYKLW1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyMTcKLW1zZ2lkICJib3RoIGFkZGVkOiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyMTgKLW1zZ2lkICJib3RoIG1vZGlmaWVkOiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyNDgKLW1zZ2lkICJuZXcgY29tbWl0cywgIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjI1MAotbXNnaWQgIm1vZGlmaWVkIGNvbnRlbnQsICIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyNTIKLW1zZ2lkICJ1bnRyYWNrZWQgY29udGVudCwgIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjI2NgotIywgYy1mb3JtYXQKLW1zZ2lkICJuZXcgZmlsZTogICAlcyIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyNjkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY29waWVkOiAgICAgJXMgLT4gJXMiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MjcyCi0jLCBjLWZvcm1hdAotbXNnaWQgImRlbGV0ZWQ6ICAgICVzIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjI3NQotIywgYy1mb3JtYXQKLW1zZ2lkICJtb2RpZmllZDogICAlcyIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyNzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVuYW1lZDogICAgJXMgLT4gJXMiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MjgxCi0jLCBjLWZvcm1hdAotbXNnaWQgInR5cGVjaGFuZ2U6ICVzIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjI4NAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duOiAgICAlcyIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyODcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5tZXJnZWQ6ICAgJXMiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MjkwCi0jLCBjLWZvcm1hdAotbXNnaWQgImJ1ZzogdW5oYW5kbGVkIGRpZmYgc3RhdHVzICVjIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjcxMwotbXNnaWQgIk9uIGJyYW5jaCAiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6NzIwCi1tc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3MzEKLW1zZ2lkICJJbml0aWFsIGNvbW1pdCIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3NDUKLW1zZ2lkICJVbnRyYWNrZWQiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6NzQ3Ci1tc2dpZCAiSWdub3JlZCIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3NDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3NTEKLW1zZ2lkICIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjc1NwotbXNnaWQgIk5vIGNoYW5nZXMiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6NzYxCi0jLCBjLWZvcm1hdAotbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0JXNcbiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3NjMKLW1zZ2lkICIgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjc2NQotIywgYy1mb3JtYXQKLW1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnQlc1xuIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjc2NwotbXNnaWQgIiAodXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKSIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3Njkgd3Qtc3RhdHVzLmM6NzcyIHd0LXN0YXR1cy5jOjc3NQotIywgYy1mb3JtYXQKLW1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCVzXG4iCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6NzcwCi1tc2dpZCAiIChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKSIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3NzMKLW1zZ2lkICIgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6Nzc2Ci1tc2dpZCAiICh3b3JraW5nIGRpcmVjdG9yeSBjbGVhbikiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6ODg0Ci1tc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo4OTAKLW1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6OTA1Ci1tc2dpZCAiYmVoaW5kICIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo5MDggd3Qtc3RhdHVzLmM6OTExCi1tc2dpZCAiYWhlYWQgIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjkxMwotbXNnaWQgIiwgYmVoaW5kICIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjYyCi0jLCBjLWZvcm1hdAotbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hZGQuYzo2NyBidWlsdGluL2NvbW1pdC5jOjI5OAotbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjc3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlbW92ZSAnJXMnXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hZGQuYzoxNzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUGF0aCAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hZGQuYzoxOTIKLW1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjE5NSBidWlsdGluL2FkZC5jOjQ1NiBidWlsdGluL3JtLmM6MTg2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hZGQuYzoyMDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6Mjc2Ci1tc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6Mjg2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmcuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6MjkwCi1tc2dpZCAiQ291bGQgbm90IHdyaXRlIHBhdGNoIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6Mjk1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hZGQuYzoyOTcKLW1zZ2lkICJFbXB0eSBwYXRjaC4gQWJvcnRlZC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hZGQuYzozMDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hZGQuYzozMTIKLW1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hZGQuYzozNTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjM1MwotbXNnaWQgIm5vIGZpbGVzIGFkZGVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6MzU5Ci1tc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjM5MQotbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6MzkzCi1tc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjQxMwotIywgYy1mb3JtYXQKLW1zZ2lkICJOb3RoaW5nIHNwZWNpZmllZCwgbm90aGluZyBhZGRlZC5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjQxNAotIywgYy1mb3JtYXQKLW1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjQyMCBidWlsdGluL2NsZWFuLmM6OTUgYnVpbHRpbi9jb21taXQuYzozNTggYnVpbHRpbi9tdi5jOjgyCi0jOiBidWlsdGluL3JtLmM6MTYyCi1tc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6NDc2IGJ1aWx0aW4vbXYuYzoyMjkgYnVpbHRpbi9ybS5jOjI2MAotbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FyY2hpdmUuYzoxNwotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGFyY2hpdmUgZmlsZSAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjIwCi1tc2dpZCAiY291bGQgbm90IHJlZGlyZWN0IG91dHB1dCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FyY2hpdmUuYzozNwotbXNnaWQgImdpdCBhcmNoaXZlOiBSZW1vdGUgd2l0aCBubyBVUkwiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcmNoaXZlLmM6NTgKLW1zZ2lkICJnaXQgYXJjaGl2ZTogZXhwZWN0ZWQgQUNLL05BSywgZ290IEVPRiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2MwotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgYXJjaGl2ZTogTkFDSyAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2NQotIywgYy1mb3JtYXQKLW1zZ2lkICJyZW1vdGUgZXJyb3I6ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY2Ci1tc2dpZCAiZ2l0IGFyY2hpdmU6IHByb3RvY29sIGVycm9yIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjcxCi1tc2dpZCAiZ2l0IGFyY2hpdmU6IGV4cGVjdGVkIGEgZmx1c2giCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzoxMzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotImRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaGFzIGJlZW4gbWVyZ2VkIHRvXG4iCi0iICAgICAgICAgJyVzJywgYnV0IG5vdCB5ZXQgbWVyZ2VkIHRvIEhFQUQuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQxCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJub3QgZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBpcyBub3QgeWV0IG1lcmdlZCB0b1xuIgotIiAgICAgICAgICclcycsIGV2ZW4gdGhvdWdoIGl0IGlzIG1lcmdlZCB0byBIRUFELiIKLW1zZ3N0ciAiIgotCi0jLiBUUkFOU0xBVE9SUzogVGhpcyBpcyAicmVtb3RlICIgaW4gInJlbW90ZSBicmFuY2ggJyVzJyBub3QgZm91bmQiCi0jOiBidWlsdGluL2JyYW5jaC5jOjE2MwotbXNnaWQgInJlbW90ZSAiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzoxNzEKLW1zZ2lkICJjYW5ub3QgdXNlIC1hIHdpdGggLWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzoxNzcKLW1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yIEhFQUQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzoxODIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGRlbGV0ZSB0aGUgYnJhbmNoICclcycgd2hpY2ggeW91IGFyZSBjdXJyZW50bHkgb24uIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTkyCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzYnJhbmNoICclcycgbm90IGZvdW5kLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjIwMAotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzoyMDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIlRoZSBicmFuY2ggJyVzJyBpcyBub3QgZnVsbHkgbWVyZ2VkLlxuIgotIklmIHlvdSBhcmUgc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgaXQsIHJ1biAnZ2l0IGJyYW5jaCAtRCAlcycuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjE0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkVycm9yIGRlbGV0aW5nICVzYnJhbmNoICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzoyMTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRGVsZXRlZCAlc2JyYW5jaCAlcyAod2FzICVzKS5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjIyNAotbXNnaWQgIlVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgcG9pbnQgYXQgYSBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzozOTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmVoaW5kICVkXSAiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzozOTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYWhlYWQgJWRdICIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjM5OAotIywgYy1mb3JtYXQKLW1zZ2lkICJhaGVhZCAlZCwgYmVoaW5kICVkXSAiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzo1MDEKLW1zZ2lkICIobm8gYnJhbmNoKSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjU2MgotbXNnaWQgInNvbWUgcmVmcyBjb3VsZCBub3QgYmUgcmVhZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjU3NQotbXNnaWQgImNhbm5vdCByZW5hbWUgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzo2MDAKLW1zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwNAotIywgYy1mb3JtYXQKLW1zZ2lkICJSZW5hbWVkIGEgbWlzbmFtZWQgYnJhbmNoICclcycgYXdheSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwOAotIywgYy1mb3JtYXQKLW1zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE1Ci1tc2dpZCAiQnJhbmNoIGlzIHJlbmFtZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMwCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1NAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgYnJhbmNoIGRlc2NyaXB0aW9uIHRlbXBsYXRlOiAlc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQyCi1tc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzo3NDcgYnVpbHRpbi9jbG9uZS5jOjU1OAotbXNnaWQgIkhFQUQgbm90IGZvdW5kIGJlbG93IHJlZnMvaGVhZHMhIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA1Ci1tc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2J1bmRsZS5jOjQ3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzIGlzIG9rYXlcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2J1bmRsZS5jOjU2Ci1tc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gY3JlYXRlIGEgYnVuZGxlLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2J1bmRsZS5jOjYwCi1tc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gdW5idW5kbGUuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTMgYnVpbHRpbi9jaGVja291dC5jOjE0NgotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBvdXIgdmVyc2lvbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgdGhlaXIgdmVyc2lvbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTMxCi0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIGFsbCBuZWNlc3NhcnkgdmVyc2lvbnMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjE3NQotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBuZWNlc3NhcnkgdmVyc2lvbnMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjE5MgotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoICclcyc6IGNhbm5vdCBtZXJnZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjA5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlVuYWJsZSB0byBhZGQgbWVyZ2UgcmVzdWx0IGZvciAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTIgYnVpbHRpbi9yZXNldC5jOjE1OAotIywgYy1mb3JtYXQKLW1zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzQgYnVpbHRpbi9jaGVja291dC5jOjM5MgotbXNnaWQgImNvcnJ1cHQgaW5kZXggZmlsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY0IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0aCAnJXMnIGlzIHVubWVyZ2VkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMDIgYnVpbHRpbi9jaGVja291dC5jOjQ5OCBidWlsdGluL2Nsb25lLmM6NTgzCi0jOiBidWlsdGluL21lcmdlLmM6ODA5Ci1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMTkgYnVpbHRpbi9kaWZmLmM6Mjk4IGJ1aWx0aW4vbWVyZ2UuYzo0MDYKLW1zZ2lkICJkaWZmX3NldHVwX2RvbmUgZmFpbGVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MTQKLW1zZ2lkICJ5b3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NTMzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjU2NQotbXNnaWQgIkhFQUQgaXMgbm93IGF0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1NzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVzZXQgYnJhbmNoICclcydcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NTc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1NzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiU3dpdGNoZWQgdG8gYW5kIHJlc2V0IGJyYW5jaCAnJXMnXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjU4MQotIywgYy1mb3JtYXQKLW1zZ2lkICJTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJyVzJ1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1ODMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjM5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiAuLi4gYW5kICVkIG1vcmUuXG4iCi1tc2dzdHIgIiIKLQotIy4gVGhlIHNpbmd1bGFyIHZlcnNpb24KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXQgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCi0iYW55IG9mIHlvdXIgYnJhbmNoZXM6XG4iCi0iXG4iCi0iJXNcbiIKLW1zZ2lkX3BsdXJhbCAiIgotIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXRzIGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgotImFueSBvZiB5b3VyIGJyYW5jaGVzOlxuIgotIlxuIgotIiVzXG4iCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjYzCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJJZiB5b3Ugd2FudCB0byBrZWVwIHRoZW0gYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgotInRvIGRvIHNvIHdpdGg6XG4iCi0iXG4iCi0iIGdpdCBicmFuY2ggbmV3X2JyYW5jaF9uYW1lICVzXG4iCi0iXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjY5MgotbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjY5NgotbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MjIKLW1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgotbXNnc3RyICIiCi0KLSMuIGNhc2UgKDEpCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODUzCi0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKLW1zZ3N0ciAiIgotCi0jLiBjYXNlICgxKTogd2FudCBhIHRyZWUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4OTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzIKLW1zZ2lkICItQiBjYW5ub3QgYmUgdXNlZCB3aXRoIC1iIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5ODEKLW1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5ODQKLW1zZ2lkICItLWRldGFjaCBjYW5ub3QgYmUgdXNlZCB3aXRoIC1iLy1CLy0tb3JwaGFuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5ODYKLW1zZ2lkICItLWRldGFjaCBjYW5ub3QgYmUgdXNlZCB3aXRoIC10IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5OTIKLW1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjk5OQotbXNnaWQgIk1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwNQotbXNnaWQgIi0tb3JwaGFuIGFuZCAtYnwtQiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA3Ci1tc2dpZCAiLS1vcnBoYW4gY2Fubm90IGJlIHVzZWQgd2l0aCAtdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxNwotbXNnaWQgImdpdCBjaGVja291dDogLWYgYW5kIC1tIGFyZSBpbmNvbXBhdGlibGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTEKLW1zZ2lkICJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1OQotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iZ2l0IGNoZWNrb3V0OiB1cGRhdGluZyBwYXRocyBpcyBpbmNvbXBhdGlibGUgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMuXG4iCi0iRGlkIHlvdSBpbnRlbmQgdG8gY2hlY2tvdXQgJyVzJyB3aGljaCBjYW4gbm90IGJlIHJlc29sdmVkIGFzIGNvbW1pdD8iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjEKLW1zZ2lkICJnaXQgY2hlY2tvdXQ6IHVwZGF0aW5nIHBhdGhzIGlzIGluY29tcGF0aWJsZSB3aXRoIHN3aXRjaGluZyBicmFuY2hlcy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjYKLW1zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5Ci1tc2dpZCAiIgotImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgotImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg4Ci1tc2dpZCAiQ2Fubm90IHN3aXRjaCBicmFuY2ggdG8gYSBub24tY29tbWl0LiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5MQotbXNnaWQgIi0tb3Vycy8tLXRoZWlycyBpcyBpbmNvbXBhdGlibGUgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzo3OAotbXNnaWQgIi14IGFuZCAtWCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NsZWFuLmM6ODIKLW1zZ2lkICIiCi0iY2xlYW4ucmVxdWlyZUZvcmNlIHNldCB0byB0cnVlIGFuZCBuZWl0aGVyIC1uIG5vciAtZiBnaXZlbjsgcmVmdXNpbmcgdG8gY2xlYW4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbGVhbi5jOjg1Ci1tc2dpZCAiIgotImNsZWFuLnJlcXVpcmVGb3JjZSBkZWZhdWx0cyB0byB0cnVlIGFuZCBuZWl0aGVyIC1uIG5vciAtZiBnaXZlbjsgcmVmdXNpbmcgdG8gIgotImNsZWFuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzoxNTUgYnVpbHRpbi9jbGVhbi5jOjE3NgotIywgYy1mb3JtYXQKLW1zZ2lkICJXb3VsZCByZW1vdmUgJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NsZWFuLmM6MTU5IGJ1aWx0aW4vY2xlYW4uYzoxNzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVtb3ZpbmcgJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NsZWFuLmM6MTYyIGJ1aWx0aW4vY2xlYW4uYzoxODIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NsZWFuLmM6MTY2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIldvdWxkIG5vdCByZW1vdmUgJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NsZWFuLmM6MTY4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIk5vdCByZW1vdmluZyAlc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzoyNDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCBkaXJlY3RvcnkuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzozMDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6MzA2Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjMwOCBidWlsdGluL2RpZmYuYzo3NQotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjMyNAotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzozNDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHVubGluayAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzozNDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjM1MAotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjM3MwotIywgYy1mb3JtYXQKLW1zZ2lkICJkb25lLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjU0OQotbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NjM5Ci1tc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NjQzCi1tc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiLS1iYXJlIGFuZCAtLW9yaWdpbiAlcyBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVwb3NpdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NzMKLW1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NjgzCi0jLCBjLWZvcm1hdAotbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjY5MwotIywgYy1mb3JtYXQKLW1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjcwNiBidWlsdGluL2Nsb25lLmM6NzIwCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcycuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjczMAotIywgYy1mb3JtYXQKLW1zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo3ODYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gY2xvbmUgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjgzNQotIywgYy1mb3JtYXQKLW1zZ2lkICJSZW1vdGUgYnJhbmNoICVzIG5vdCBmb3VuZCBpbiB1cHN0cmVhbSAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6ODQyCi1tc2dpZCAiWW91IGFwcGVhciB0byBoYXZlIGNsb25lZCBhbiBlbXB0eSByZXBvc2l0b3J5LiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjQyCi1tc2dpZCAiIgotIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgotIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKLSJZb3UgY2FuIHN1cHByZXNzIHRoaXMgbWVzc2FnZSBieSBzZXR0aW5nIHRoZW0gZXhwbGljaXRseTpcbiIKLSJcbiIKLSIgICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJZb3VyIE5hbWVcIlxuIgotIiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgeW91QGV4YW1wbGUuY29tXG4iCi0iXG4iCi0iQWZ0ZXIgZG9pbmcgdGhpcywgeW91IG1heSBmaXggdGhlIGlkZW50aXR5IHVzZWQgZm9yIHRoaXMgY29tbWl0IHdpdGg6XG4iCi0iXG4iCi0iICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTQKLW1zZ2lkICIiCi0iWW91IGFza2VkIHRvIGFtZW5kIHRoZSBtb3N0IHJlY2VudCBjb21taXQsIGJ1dCBkb2luZyBzbyB3b3VsZCBtYWtlXG4iCi0iaXQgZW1wdHkuIFlvdSBjYW4gcmVwZWF0IHlvdXIgY29tbWFuZCB3aXRoIC0tYWxsb3ctZW1wdHksIG9yIHlvdSBjYW5cbiIKLSJyZW1vdmUgdGhlIGNvbW1pdCBlbnRpcmVseSB3aXRoIFwiZ2l0IHJlc2V0IEhFQUReXCIuXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo1OQotbXNnaWQgIiIKLSJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKLSJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCi0iXG4iCi0iICAgIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eVxuIgotIlxuIgotIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MjA1IGJ1aWx0aW4vcmVzZXQuYzozMwotbXNnaWQgIm1lcmdlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MjA4Ci1tc2dpZCAiY2hlcnJ5LXBpY2siCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzozMjUKLW1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzozNjcKLW1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjM3MwotbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo0MDYgYnVpbHRpbi9jb21taXQuYzo0MjcgYnVpbHRpbi9jb21taXQuYzo0NzMKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3X2luZGV4IGZpbGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo0NTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgJXMuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDY2Ci1tc2dpZCAiY2Fubm90IHJlYWQgdGhlIGluZGV4IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDg2Ci1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRlbXBvcmFyeSBpbmRleCBmaWxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTUwIGJ1aWx0aW4vY29tbWl0LmM6NTU2Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgY29tbWl0OiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjU3OQotbXNnaWQgIm1hbGZvcm1lZCAtLWF1dGhvciBwYXJhbWV0ZXIiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo2MzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiTWFsZm9ybWVkIGlkZW50IHN0cmluZzogJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjY3MCBidWlsdGluL2NvbW1pdC5jOjcwMyBidWlsdGluL2NvbW1pdC5jOjEwMDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo2ODIgYnVpbHRpbi9zaG9ydGxvZy5jOjI5NgotIywgYy1mb3JtYXQKLW1zZ2lkICIocmVhZGluZyBsb2cgbWVzc2FnZSBmcm9tIHN0YW5kYXJkIGlucHV0KVxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6Njg0Ci1tc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZyb20gc3RhbmRhcmQgaW5wdXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo2ODgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5NAotbXNnaWQgImNvbW1pdCBoYXMgZW1wdHkgbWVzc2FnZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjcxMAotbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01TRyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjcxNAotbXNnaWQgImNvdWxkIG5vdCByZWFkIFNRVUFTSF9NU0ciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo3MTgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjc0NgotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzcwCi1tc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjc4MwotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iXG4iCi0iSXQgbG9va3MgbGlrZSB5b3UgbWF5IGJlIGNvbW1pdHRpbmcgYSAlcy5cbiIKLSJJZiB0aGlzIGlzIG5vdCBjb3JyZWN0LCBwbGVhc2UgcmVtb3ZlIHRoZSBmaWxlXG4iCi0iXHQlc1xuIgotImFuZCB0cnkgYWdhaW4uXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo3OTYKLW1zZ2lkICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6Nzk5Ci1tc2dpZCAiIgotIiBMaW5lcyBzdGFydGluZ1xuIgotIndpdGggJyMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo4MDQKLW1zZ2lkICIiCi0iIExpbmVzIHN0YXJ0aW5nXG4iCi0id2l0aCAnIycgd2lsbCBiZSBrZXB0OyB5b3UgbWF5IHJlbW92ZSB0aGVtIHlvdXJzZWxmIGlmIHlvdSB3YW50IHRvLlxuIgotIkFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo4MTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXNBdXRob3I6ICAgICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODIzCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzQ29tbWl0dGVyOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjg0MwotbXNnaWQgIkNhbm5vdCByZWFkIGluZGV4IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODgwCi1tc2dpZCAiRXJyb3IgYnVpbGRpbmcgdHJlZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo4OTUgYnVpbHRpbi90YWcuYzozNTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIk5vIGV4aXN0aW5nIGF1dGhvciBmb3VuZCB3aXRoICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo5OTAgYnVpbHRpbi9jb21taXQuYzoxMTgyCi0jLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMzAKLW1zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA0MQotbXNnaWQgIllvdSBoYXZlIG5vdGhpbmcgdG8gYW1lbmQuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA0MwotIywgYy1mb3JtYXQKLW1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSAlcyAtLSBjYW5ub3QgYW1lbmQuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA0NQotbXNnaWQgIk9wdGlvbnMgLS1zcXVhc2ggYW5kIC0tZml4dXAgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMDU1Ci1tc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMDU3Ci1tc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLy0tZml4dXAuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2MwotbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMDgwCi1tc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4MgotbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwODQKLW1zZ2lkICJDbGV2ZXIuLi4gYW1lbmRpbmcgdGhlIGxhc3Qgb25lIHdpdGggZGlydHkgaW5kZXguIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4NgotbXNnaWQgIkV4cGxpY2l0IHBhdGhzIHNwZWNpZmllZCB3aXRob3V0IC1pIG5vciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5NiBidWlsdGluL3RhZy5jOjU1NgotIywgYy1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMDEKLW1zZ2lkICJQYXRocyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTI4MAotbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMjgyCi1tc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyMwotbXNnaWQgImRldGFjaGVkIEhFQUQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzI1Ci1tc2dpZCAiIChyb290LWNvbW1pdCkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDE1Ci1tc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MiBidWlsdGluL21lcmdlLmM6NTA3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDU5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvcnJ1cHQgTUVSR0VfSEVBRCBmaWxlICglcykiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDY2Ci1tc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OQotIywgYy1mb3JtYXQKLW1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNCBidWlsdGluL21lcmdlLmM6OTMzIGJ1aWx0aW4vbWVyZ2UuYzo5NjYKLW1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MzUKLW1zZ2lkICJjYW5ub3QgbG9jayBIRUFEIHJlZiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MzkKLW1zZ2lkICJjYW5ub3QgdXBkYXRlIEhFQUQgcmVmIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU1MAotbXNnaWQgIiIKLSJSZXBvc2l0b3J5IGhhcyBiZWVuIHVwZGF0ZWQsIGJ1dCB1bmFibGUgdG8gd3JpdGVcbiIKLSJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIG9yIHF1b3RhIGlzXG4iCi0ibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXNldCBIRUFEXCIgdG8gcmVjb3Zlci4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjIzNAotIywgYy1mb3JtYXQKLW1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIG5vdCBhdmFpbGFibGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjIzOAotIywgYy1mb3JtYXQKLW1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIGhhcyBubyBlbWJlZGRlZCBuYW1lIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidGFnICclcycgaXMgcmVhbGx5ICclcycgaGVyZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgJyVzJyBvYmplY3QiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4NwotIywgYy1mb3JtYXQKLW1zZ2lkICJubyB0YWcgZXhhY3RseSBtYXRjaGVzICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4OQotIywgYy1mb3JtYXQKLW1zZ2lkICJzZWFyY2hpbmcgdG8gZGVzY3JpYmUgJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIk5vIGFubm90YXRlZCB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgotIkhvd2V2ZXIsIHRoZXJlIHdlcmUgdW5hbm5vdGF0ZWQgdGFnczogdHJ5IC0tdGFncy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM1NwotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iTm8gdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKLSJUcnkgLS1hbHdheXMsIG9yIGNyZWF0ZSBzb21lIHRhZ3MuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidHJhdmVyc2VkICVsdSBjb21taXRzXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4MQotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0ibW9yZSB0aGFuICVpIHRhZ3MgZm91bmQ7IGxpc3RlZCAlaSBtb3N0IHJlY2VudFxuIgotImdhdmUgdXAgc2VhcmNoIGF0ICVzXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQzNgotbXNnaWQgIi0tbG9uZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFiYnJldj0wIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NjIKLW1zZ2lkICJObyBuYW1lcyBmb3VuZCwgY2Fubm90IGRlc2NyaWJlIGFueXRoaW5nLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDgyCi1tc2dpZCAiLS1kaXJ0eSBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXR0aXNoZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kaWZmLmM6NzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJzogbm90IGEgcmVndWxhciBmaWxlIG9yIHN5bWxpbmsiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kaWZmLmM6MjIwCi0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2RpZmYuYzoyOTMKLW1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2RpZmYuYzozNDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBvYmplY3QgJyVzJyBnaXZlbi4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kaWZmLmM6MzQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm1vcmUgdGhhbiAlZCB0cmVlcyBnaXZlbjogJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2RpZmYuYzozNTgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2RpZmYuYzozNjYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5oYW5kbGVkIG9iamVjdCAnJXMnIGdpdmVuLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MjAwCi1tc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjI1MgotIywgYy1mb3JtYXQKLW1zZ2lkICJvYmplY3QgJXMgbm90IGZvdW5kIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzoyNTgKLW1zZ2lkICJbdXAgdG8gZGF0ZV0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjI3MgotIywgYy1mb3JtYXQKLW1zZ2lkICIhICUtKnMgJS0qcyAtPiAlcyAgKGNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoKSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MjczIGJ1aWx0aW4vZmV0Y2guYzozNTEKLW1zZ2lkICJbcmVqZWN0ZWRdIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzoyODQKLW1zZ2lkICJbdGFnIHVwZGF0ZV0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjI4NiBidWlsdGluL2ZldGNoLmM6MzEzIGJ1aWx0aW4vZmV0Y2guYzozMzEKLW1zZ2lkICIgICh1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZikiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjI5OAotbXNnaWQgIltuZXcgdGFnXSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MzAyCi1tc2dpZCAiW25ldyBicmFuY2hdIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzozNDcKLW1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MzQ3Ci1tc2dpZCAiZm9yY2VkIHVwZGF0ZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MzUzCi1tc2dpZCAiKG5vbi1mYXN0LWZvcndhcmQpIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzozODQgYnVpbHRpbi9mZXRjaC5jOjY3NgotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MzkzCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NDc5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkZyb20gJS4qc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo0OTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKLSIgJ2dpdCByZW1vdGUgcHJ1bmUgJXMnIHRvIHJlbW92ZSBhbnkgb2xkLCBjb25mbGljdGluZyBicmFuY2hlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NTQwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZylcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NTQxCi0jLCBjLWZvcm1hdAotbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKVxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1NDgKLW1zZ2lkICJbZGVsZXRlZF0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjU0OQotbXNnaWQgIihub25lKSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NjY2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NzAwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjc3NwotIywgYy1mb3JtYXQKLW1zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo3ODAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRmV0Y2hpbmcgJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6ODgxCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBmZXRjaCAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6ODk4Ci1tc2dpZCAiIgotIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgotInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjkxOAotbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjk3MAotbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NzIKLW1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjk4MwotIywgYy1mb3JtYXQKLW1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo5OTEKLW1zZ2lkICJGZXRjaGluZyBhIGdyb3VwIGFuZCBzcGVjaWZ5aW5nIHJlZnNwZWNzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9nYy5jOjYzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgJXM6ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9nYy5jOjc4Ci1tc2dpZCAiVG9vIG1hbnkgb3B0aW9ucyBzcGVjaWZpZWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9nYy5jOjEwMwotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnNhbmVseSBsb25nIG9iamVjdCBkaXJlY3RvcnkgJS4qcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2djLmM6MjIzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2djLmM6MjI2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuIFlvdSBtYXkgYWxzb1xuIgotInJ1biBcImdpdCBnY1wiIG1hbnVhbGx5LiBTZWUgXCJnaXQgaGVscCBnY1wiIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZ2MuYzoyNTYKLW1zZ2lkICIiCi0iVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgdGhlbS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ncmVwLmM6MjE2Ci0jLCBjLWZvcm1hdAotbXNnaWQgImdyZXA6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo0MDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIGNoZGlyOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo0NzggYnVpbHRpbi9ncmVwLmM6NTEyCi0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo1MjYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo1ODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo2MDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo4ODkKLW1zZ2lkICJubyBwYXR0ZXJuIGdpdmVuLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo5MDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmFkIG9iamVjdCAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo5NDQKLW1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ncmVwLmM6OTY3Ci1tc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo5NzIKLW1zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ncmVwLmM6OTc1Ci1tc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZ3JlcC5jOjk4MwotbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IG1ha2UgJXMgd3JpdGFibGUgYnkgZ3JvdXAiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6NjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW5zYW5lbHkgbG9uZyB0ZW1wbGF0ZSBuYW1lICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBzdGF0ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6NzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHN0YXQgdGVtcGxhdGUgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzo4MAotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbmRpciAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjk3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkbGluayAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjk5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImluc2FuZWx5IGxvbmcgc3ltbGluayAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHN5bWxpbmsgJyVzJyAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgY29weSAnJXMnIHRvICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MTEwCi0jLCBjLWZvcm1hdAotbXNnaWQgImlnbm9yaW5nIHRlbXBsYXRlICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzMwotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnNhbmVseSBsb25nIHRlbXBsYXRlIHBhdGggJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MTQxCi0jLCBjLWZvcm1hdAotbXNnaWQgInRlbXBsYXRlcyBub3QgZm91bmQgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MTU0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm5vdCBjb3B5aW5nIHRlbXBsYXRlcyBvZiBhIHdyb25nIGZvcm1hdCB2ZXJzaW9uICVkIGZyb20gJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzoxOTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW5zYW5lIGdpdCBkaXJlY3RvcnkgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MzIyIGJ1aWx0aW4vaW5pdC1kYi5jOjMyNQotIywgYy1mb3JtYXQKLW1zZ2lkICIlcyBhbHJlYWR5IGV4aXN0cyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzozNTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGhhbmRsZSBmaWxlIHR5cGUgJWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MzU3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBtb3ZlICVzIHRvICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM2MgotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGdpdCBsaW5rICVzIgotbXNnc3RyICIiCi0KLSMuCi0jLiAqIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJyVzJyBpcyBlaXRoZXIgIlJlaW5pdGlhbGl6ZWQKLSMuICogZXhpc3RpbmciIG9yICJJbml0aWFsaXplZCBlbXB0eSIsIHRoZSBzZWNvbmQgIiBzaGFyZWQiIG9yCi0jLiAqICIiLCBhbmQgdGhlIGxhc3QgJyVzJXMnIGlzIHRoZSB2ZXJiYXRpbSBkaXJlY3RvcnkgbmFtZS4KLSMuCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMlcyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6NDIwCi1tc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MjAKLW1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MjEKLW1zZ2lkICIgc2hhcmVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ0MAotbXNnaWQgImNhbm5vdCB0ZWxsIGN3ZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MjEgYnVpbHRpbi9pbml0LWRiLmM6NTI4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBta2RpciAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IGNoZGlyIHRvICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1NAotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0IHNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LSIKLSJkaXI9PGRpcmVjdG9yeT4pIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3OAotbXNnaWQgIkNhbm5vdCBhY2Nlc3MgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzo1ODUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGFjY2VzcyB3b3JrIHRyZWUgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjE4NQotIywgYy1mb3JtYXQKLW1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzozOTMgYnVpbHRpbi9sb2cuYzo0NzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6NTAzCi0jLCBjLWZvcm1hdAotbXNnaWQgIlVua25vd24gdHlwZTogJWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzo1OTIKLW1zZ2lkICJmb3JtYXQuaGVhZGVycyB3aXRob3V0IHZhbHVlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6NjY1Ci1tc2dpZCAibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6Njc2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBvcGVuIHBhdGNoIGZpbGUgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzo2OTAKLW1zZ2lkICJOZWVkIGV4YWN0bHkgb25lIHJhbmdlLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjY5OAotbXNnaWQgIk5vdCBhIHJhbmdlLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjczNQotbXNnaWQgIkNvdWxkIG5vdCBleHRyYWN0IGVtYWlsIGZyb20gY29tbWl0dGVyIGlkZW50aXR5LiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjc4MQotbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzo4NzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW5zYW5lIGluLXJlcGx5LXRvOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjk0OAotbXNnaWQgIlR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6MTE2OQotIywgYy1mb3JtYXQKLW1zZ2lkICJib2d1cyBjb21taXR0ZXIgaW5mbyAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjEyMTQKLW1zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzoxMjE2Ci1tc2dpZCAiLS1zdWJqZWN0LXByZWZpeCBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzoxMjIxIGJ1aWx0aW4vc2hvcnRsb2cuYzoyODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIGFyZ3VtZW50OiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjEyMjQKLW1zZ2lkICItLW5hbWUtb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6MTIyNgotbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjEyMjgKLW1zZ2lkICItLWNoZWNrIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzoxMjUxCi1tc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzoxMjUzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzoxNDA2Ci1tc2dpZCAiRmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzoxNTEwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJDb3VsZCBub3QgZmluZCBhIHRyYWNrZWQgcmVtb3RlIGJyYW5jaCwgcGxlYXNlIHNwZWNpZnkgPHVwc3RyZWFtPiBtYW51YWxseS5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjE1MjYgYnVpbHRpbi9sb2cuYzoxNTI4IGJ1aWx0aW4vbG9nLmM6MTU0MAotIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6OTEKLW1zZ2lkICJzd2l0Y2ggYG0nIHJlcXVpcmVzIGEgdmFsdWUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEyOAotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgZmluZCBtZXJnZSBzdHJhdGVneSAnJXMnLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQXZhaWxhYmxlIHN0cmF0ZWdpZXMgYXJlOiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTM0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkF2YWlsYWJsZSBjdXN0b20gc3RyYXRlZ2llcyBhcmU6IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDEKLW1zZ2lkICJjb3VsZCBub3QgcnVuIHN0YXNoLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MjQ2Ci1tc2dpZCAic3Rhc2ggZmFpbGVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0OiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MjcwIGJ1aWx0aW4vbWVyZ2UuYzoyODcKLW1zZ2lkICJyZWFkLXRyZWUgZmFpbGVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzozMTcKLW1zZ2lkICIgKG5vdGhpbmcgdG8gc3F1YXNoKSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MzMwCi0jLCBjLWZvcm1hdAotbXNnaWQgIlNxdWFzaCBjb21taXQgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MzYyCi1tc2dpZCAiV3JpdGluZyBTUVVBU0hfTVNHIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNjQKLW1zZ2lkICJGaW5pc2hpbmcgU1FVQVNIX01TRyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6Mzg2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIk5vIG1lcmdlIG1lc3NhZ2UgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6NDM1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjUzNAotIywgYy1mb3JtYXQKLW1zZ2lkICJCYWQgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBzdHJpbmc6ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2MjcKLW1zZ2lkICJnaXQgd3JpdGUtdHJlZSBmYWlsZWQgdG8gd3JpdGUgYSB0cmVlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NzcKLW1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjY5NAotbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjcwNwotbXNnaWQgIk5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjcyMQotIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3MzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHJlYWQgZnJvbSAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4ODMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiTm90IGNvbW1pdHRpbmcgbWVyZ2U7IHVzZSAnZ2l0IGNvbW1pdCcgdG8gY29tcGxldGUgdGhlIG1lcmdlLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4ODkKLW1zZ2lkICIiCi0iUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCi0iZXNwZWNpYWxseSBpZiBpdCBtZXJnZXMgYW4gdXBkYXRlZCB1cHN0cmVhbSBpbnRvIGEgdG9waWMgYnJhbmNoLlxuIgotIlxuIgotIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzXG4iCi0idGhlIGNvbW1pdC5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6OTEzCi1tc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MjUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiV29uZGVyZnVsLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5OTgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQXV0b21hdGljIG1lcmdlIGZhaWxlZDsgZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBjb21taXQgdGhlIHJlc3VsdC5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTAxNAotIywgYy1mb3JtYXQKLW1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTA1NQotbXNnaWQgIk5vIGN1cnJlbnQgYnJhbmNoLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTA1NwotbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTA1OQotbXNnaWQgIk5vIGRlZmF1bHQgdXBzdHJlYW0gZGVmaW5lZCBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTA2NAotIywgYy1mb3JtYXQKLW1zZ2lkICJObyByZW1vdGUgdHJhY2tpbmcgYnJhbmNoIGZvciAlcyBmcm9tICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg2Ci1tc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgdG8gYWJvcnQgKE1FUkdFX0hFQUQgbWlzc2luZykuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjAyIGdpdC1wdWxsLnNoOjMxCi1tc2dpZCAiIgotIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLlxuIgotIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IGNhbiBtZXJnZS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEyMDUgZ2l0LXB1bGwuc2g6MzQKLW1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEyMDkKLW1zZ2lkICIiCi0iWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCi0iUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgY2FuIG1lcmdlLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTIxMgotbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTIyMQotbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tbm8tZmYuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI2Ci1tc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tbm8tZmYgd2l0aCAtLWZmLW9ubHkuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjMzCi1tc2dpZCAiTm8gY29tbWl0IHNwZWNpZmllZCBhbmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm90IHNldC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEyNjQKLW1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjY3Ci1tc2dpZCAiU3F1YXNoIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQgbm90IHN1cHBvcnRlZCB5ZXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEyNjkKLW1zZ2lkICJOb24tZmFzdC1mb3J3YXJkIGNvbW1pdCBkb2VzIG5vdCBtYWtlIHNlbnNlIGludG8gYW4gZW1wdHkgaGVhZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTI3MyBidWlsdGluL21lcmdlLmM6MTMxNwotIywgYy1mb3JtYXQKLW1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzgzCi0jLCBjLWZvcm1hdAotbXNnaWQgIlVwZGF0aW5nICVzLi4lc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDIxCi0jLCBjLWZvcm1hdAotbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDI4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIk5vcGUuXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjE0NjAKLW1zZ2lkICJOb3QgcG9zc2libGUgdG8gZmFzdC1mb3J3YXJkLCBhYm9ydGluZy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODMgYnVpbHRpbi9tZXJnZS5jOjE1NjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVHJ5aW5nIG1lcmdlIHN0cmF0ZWd5ICVzLi4uXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjE1NTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiTm8gbWVyZ2Ugc3RyYXRlZ3kgaGFuZGxlZCB0aGUgbWVyZ2UuXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjE1NTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjE1NjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVXNpbmcgdGhlICVzIHRvIHByZXBhcmUgcmVzb2x2aW5nIGJ5IGhhbmQuXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjE1NzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQXV0b21hdGljIG1lcmdlIHdlbnQgd2VsbDsgc3RvcHBlZCBiZWZvcmUgY29tbWl0dGluZyBhcyByZXF1ZXN0ZWRcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL212LmM6MTA4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNoZWNraW5nIHJlbmFtZSBvZiAnJXMnIHRvICclcydcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL212LmM6MTEyCi1tc2dpZCAiYmFkIHNvdXJjZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL212LmM6MTE1Ci1tc2dpZCAiY2FuIG5vdCBtb3ZlIGRpcmVjdG9yeSBpbnRvIGl0c2VsZiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL212LmM6MTE4Ci1tc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL212LmM6MTI4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkh1aD8gJS4qcyBpcyBpbiBpbmRleD8iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tdi5jOjE0MAotbXNnaWQgInNvdXJjZSBkaXJlY3RvcnkgaXMgZW1wdHkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tdi5jOjE3MQotbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tdi5jOjE3MwotbXNnaWQgImRlc3RpbmF0aW9uIGV4aXN0cyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL212LmM6MTgxCi0jLCBjLWZvcm1hdAotbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tdi5jOjE4NAotbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tdi5jOjE4NwotbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL212LmM6MjAyCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbXYuYzoyMTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL212LmM6MjE1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzoxMzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICdzaG93JyBmb3Igb2JqZWN0ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjE0NQotbXNnaWQgImNhbid0IGZkb3BlbiAnc2hvdycgb3V0cHV0IGZkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHBpcGUgdG8gJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MTU4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBmaW5pc2ggJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MTc1IGJ1aWx0aW4vdGFnLmM6MzQzCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzoxODkKLW1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBub3RlIGNvbnRlbnRzIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjIxMCBidWlsdGluL25vdGVzLmM6OTczCi0jLCBjLWZvcm1hdAotbXNnaWQgIlJlbW92aW5nIG5vdGUgZm9yIG9iamVjdCAlc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMTUKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbm90ZSBvYmplY3QiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjIxNwotIywgYy1mb3JtYXQKLW1zZ2lkICJUaGUgbm90ZSBjb250ZW50cyBoYXMgYmVlbiBsZWZ0IGluICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNTEgYnVpbHRpbi90YWcuYzo1MjEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MjUzIGJ1aWx0aW4vdGFnLmM6NTI0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBvcGVuIG9yIHJlYWQgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MjcyIGJ1aWx0aW4vbm90ZXMuYzo0NDUgYnVpbHRpbi9ub3Rlcy5jOjQ0NwotIzogYnVpbHRpbi9ub3Rlcy5jOjUwNyBidWlsdGluL25vdGVzLmM6NTYxIGJ1aWx0aW4vbm90ZXMuYzo2NDQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2NDkgYnVpbHRpbi9ub3Rlcy5jOjcyNCBidWlsdGluL25vdGVzLmM6NzY2Ci0jOiBidWlsdGluL25vdGVzLmM6OTY4IGJ1aWx0aW4vcmVzZXQuYzoyOTMgYnVpbHRpbi90YWcuYzo1MzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjI3NQotIywgYy1mb3JtYXQKLW1zZ2lkICJGYWlsZWQgdG8gcmVhZCBvYmplY3QgJyVzJy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjI5OQotbXNnaWQgIkNhbm5vdCBjb21taXQgdW5pbml0aWFsaXplZC91bnJlZmVyZW5jZWQgbm90ZXMgdHJlZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MzQwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkJhZCBub3Rlcy5yZXdyaXRlTW9kZSB2YWx1ZTogJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MzUwCi0jLCBjLWZvcm1hdAotbXNnaWQgIlJlZnVzaW5nIHRvIHJld3JpdGUgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgotbXNnc3RyICIiCi0KLSMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgdGhlIG5hbWUgb2YgdGhlCi0jLiBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcyBpdHMgdmFsdWUKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQmFkICVzIHZhbHVlOiAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiTWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjUwMCBidWlsdGluL25vdGVzLmM6NTU0IGJ1aWx0aW4vbm90ZXMuYzo2MjcKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MzkgYnVpbHRpbi9ub3Rlcy5jOjcxMiBidWlsdGluL25vdGVzLmM6NzU5Ci0jOiBidWlsdGluL25vdGVzLmM6MTAzMwotbXNnaWQgInRvbyBtYW55IHBhcmFtZXRlcnMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjUxMyBidWlsdGluL25vdGVzLmM6NzcyCi0jLCBjLWZvcm1hdAotbXNnaWQgIk5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjU4MAotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iQ2Fubm90IGFkZCBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKLSJleGlzdGluZyBub3RlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6NTg1IGJ1aWx0aW4vbm90ZXMuYzo2NjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MzUKLW1zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjY1NgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iQ2Fubm90IGNvcHkgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCi0iZXhpc3Rpbmcgbm90ZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjY2OAotIywgYy1mb3JtYXQKLW1zZ2lkICJNaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6NzE3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJUaGUgLW0vLUYvLWMvLUMgb3B0aW9ucyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlICdlZGl0JyBzdWJjb21tYW5kLlxuIgotIlBsZWFzZSB1c2UgJ2dpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUMnIGluc3RlYWQuXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjk3MQotIywgYy1mb3JtYXQKLW1zZ2lkICJPYmplY3QgJXMgaGFzIG5vIG5vdGVcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MTEwMwotIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjMxMAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnN1cHBvcnRlZCBpbmRleCB2ZXJzaW9uICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjMxNAotIywgYy1mb3JtYXQKLW1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjMyMgotIywgYy1mb3JtYXQKLW1zZ2lkICJvcHRpb24gJXMgZG9lcyBub3QgYWNjZXB0IG5lZ2F0aXZlIGZvcm0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzI2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBwYXJzZSB2YWx1ZSAnJXMnIGZvciBvcHRpb24gJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NDQKLW1zZ2lkICJ0YWcgc2hvcnRoYW5kIHdpdGhvdXQgPHRhZz4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NjMKLW1zZ2lkICItLWRlbGV0ZSBvbmx5IGFjY2VwdHMgcGxhaW4gdGFyZ2V0IHJlZiBuYW1lcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzo3MwotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLlxuIgotIlRvIHB1c2ggdGhlIGhpc3RvcnkgbGVhZGluZyB0byB0aGUgY3VycmVudCAoZGV0YWNoZWQgSEVBRClcbiIKLSJzdGF0ZSBub3csIHVzZVxuIgotIlxuIgotIiAgICBnaXQgcHVzaCAlcyBIRUFEOjxuYW1lLW9mLXJlbW90ZS1icmFuY2g+XG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6ODAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbm8gdXBzdHJlYW0gYnJhbmNoLlxuIgotIlRvIHB1c2ggdGhlIGN1cnJlbnQgYnJhbmNoIGFuZCBzZXQgdGhlIHJlbW90ZSBhcyB1cHN0cmVhbSwgdXNlXG4iCi0iXG4iCi0iICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6ODgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBtdWx0aXBsZSB1cHN0cmVhbSBicmFuY2hlcywgcmVmdXNpbmcgdG8gcHVzaC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6MTExCi1tc2dpZCAiIgotIllvdSBkaWRuJ3Qgc3BlY2lmeSBhbnkgcmVmc3BlY3MgdG8gcHVzaCwgYW5kIHB1c2guZGVmYXVsdCBpcyBcIm5vdGhpbmdcIi4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6MTMxCi0jLCBjLWZvcm1hdAotbXNnaWQgIlB1c2hpbmcgdG8gJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzoxMzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6MTQzCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJUbyBwcmV2ZW50IHlvdSBmcm9tIGxvc2luZyBoaXN0b3J5LCBub24tZmFzdC1mb3J3YXJkIHVwZGF0ZXMgd2VyZSByZWplY3RlZFxuIgotIk1lcmdlIHRoZSByZW1vdGUgY2hhbmdlcyAoZS5nLiAnZ2l0IHB1bGwnKSBiZWZvcmUgcHVzaGluZyBhZ2Fpbi4gIFNlZSB0aGVcbiIKLSInTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBzZWN0aW9uIG9mICdnaXQgcHVzaCAtLWhlbHAnIGZvciBkZXRhaWxzLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjE2MAotIywgYy1mb3JtYXQKLW1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjE2MQotbXNnaWQgIiIKLSJObyBjb25maWd1cmVkIHB1c2ggZGVzdGluYXRpb24uXG4iCi0iRWl0aGVyIHNwZWNpZnkgdGhlIFVSTCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJlIGEgcmVtb3RlICIKLSJyZXBvc2l0b3J5IHVzaW5nXG4iCi0iXG4iCi0iICAgIGdpdCByZW1vdGUgYWRkIDxuYW1lPiA8dXJsPlxuIgotIlxuIgotImFuZCB0aGVuIHB1c2ggdXNpbmcgdGhlIHJlbW90ZSBuYW1lXG4iCi0iXG4iCi0iICAgIGdpdCBwdXNoIDxuYW1lPlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjE3NgotbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzoxNzcKLW1zZ2lkICItLWFsbCBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjE4MgotbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzoxODMKLW1zZ2lkICItLW1pcnJvciBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjE4OAotbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjI3NAotbXNnaWQgIi0tZGVsZXRlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLW1pcnJvciBhbmQgLS10YWdzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjI3NgotbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzozMwotbXNnaWQgIm1peGVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzozMwotbXNnaWQgInNvZnQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXNldC5jOjMzCi1tc2dpZCAiaGFyZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMKLW1zZ2lkICJrZWVwIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzo3NwotbXNnaWQgIllvdSBkbyBub3QgaGF2ZSBhIHZhbGlkIEhFQUQuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzo3OQotbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgSEVBRC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXNldC5jOjg1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzo5NgotbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXNldC5jOjEwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJIRUFEIGlzIG5vdyBhdCAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3Jlc2V0LmM6MTMwCi1tc2dpZCAiQ291bGQgbm90IHJlYWQgaW5kZXgiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXNldC5jOjEzMwotbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzoyMjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGRvIGEgJXMgcmVzZXQgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjk3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXNldC5jOjMwMgotbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3Jlc2V0LmM6MzExCi1tc2dpZCAiLS1taXhlZCB3aXRoIHBhdGhzIGlzIGRlcHJlY2F0ZWQ7IHVzZSAnZ2l0IHJlc2V0IC0tIDxwYXRocz4nIGluc3RlYWQuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzozMTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGRvICVzIHJlc2V0IHdpdGggcGF0aHMuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzozMjUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgcmVzZXQgaXMgbm90IGFsbG93ZWQgaW4gYSBiYXJlIHJlcG9zaXRvcnkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXNldC5jOjM0MQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcmVzZXQgaW5kZXggZmlsZSB0byByZXZpc2lvbiAnJXMnLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JldmVydC5jOjcwIGJ1aWx0aW4vcmV2ZXJ0LmM6OTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjYKLW1zZ2lkICJwcm9ncmFtIGVycm9yIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjA5Ci1tc2dpZCAicmV2ZXJ0IGZhaWxlZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JldmVydC5jOjIyNAotbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JtLmM6MTA5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSInJXMnIGhhcyBzdGFnZWQgY29udGVudCBkaWZmZXJlbnQgZnJvbSBib3RoIHRoZSBmaWxlIGFuZCB0aGUgSEVBRFxuIgotIih1c2UgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ybS5jOjExNQotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iJyVzJyBoYXMgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4XG4iCi0iKHVzZSAtLWNhY2hlZCB0byBrZWVwIHRoZSBmaWxlLCBvciAtZiB0byBmb3JjZSByZW1vdmFsKSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JtLmM6MTE5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSInJXMnIGhhcyBsb2NhbCBtb2RpZmljYXRpb25zXG4iCi0iKHVzZSAtLWNhY2hlZCB0byBrZWVwIHRoZSBmaWxlLCBvciAtZiB0byBmb3JjZSByZW1vdmFsKSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JtLmM6MTk0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm5vdCByZW1vdmluZyAnJXMnIHJlY3Vyc2l2ZWx5IHdpdGhvdXQgLXIiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ybS5jOjIzMAotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgcm06IHVuYWJsZSB0byByZW1vdmUgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE1NwotIywgYy1mb3JtYXQKLW1zZ2lkICJNaXNzaW5nIGF1dGhvcjogJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzo1OAotIywgYy1mb3JtYXQKLW1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IGF0ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzoyMDUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidGFnIG5hbWUgdG9vIGxvbmc6ICUuKnMuLi4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzoyMTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidGFnICclcycgbm90IGZvdW5kLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3RhZy5jOjIyNQotIywgYy1mb3JtYXQKLW1zZ2lkICJEZWxldGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzoyMzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHZlcmlmeSB0aGUgdGFnICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzoyNDcKLW1zZ2lkICIiCi0iXG4iCi0iI1xuIgotIiMgV3JpdGUgYSB0YWcgbWVzc2FnZVxuIgotIiMgTGluZXMgc3RhcnRpbmcgd2l0aCAnIycgd2lsbCBiZSBpZ25vcmVkLlxuIgotIiNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3RhZy5jOjI1NAotbXNnaWQgIiIKLSJcbiIKLSIjXG4iCi0iIyBXcml0ZSBhIHRhZyBtZXNzYWdlXG4iCi0iIyBMaW5lcyBzdGFydGluZyB3aXRoICcjJyB3aWxsIGJlIGtlcHQ7IHlvdSBtYXkgcmVtb3ZlIHRoZW0geW91cnNlbGYgaWYgeW91ICIKLSJ3YW50IHRvLlxuIgotIiNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3RhZy5jOjI5NAotbXNnaWQgInVuYWJsZSB0byBzaWduIHRoZSB0YWciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzoyOTYKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGFnIGZpbGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzozMjEKLW1zZ2lkICJiYWQgb2JqZWN0IHR5cGUuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6MzM0Ci1tc2dpZCAidGFnIGhlYWRlciB0b28gYmlnLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3RhZy5jOjM2NgotbXNnaWQgIm5vIHRhZyBtZXNzYWdlPyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3RhZy5jOjM3MgotIywgYy1mb3JtYXQKLW1zZ2lkICJUaGUgdGFnIG1lc3NhZ2UgaGFzIGJlZW4gbGVmdCBpbiAlc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6NDIxCi1tc2dpZCAic3dpdGNoICdwb2ludHMtYXQnIHJlcXVpcmVzIGFuIG9iamVjdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3RhZy5jOjQyMwotIywgYy1mb3JtYXQKLW1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3RhZy5jOjUwMgotbXNnaWQgIi1uIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzo1MDQKLW1zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzo1MDYKLW1zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6NTE0Ci1tc2dpZCAib25seSBvbmUgLUYgb3IgLW0gb3B0aW9uIGlzIGFsbG93ZWQuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6NTM0Ci1tc2dpZCAidG9vIG1hbnkgcGFyYW1zIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6NTQwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGFnIG5hbWUuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6NTQ1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6NTYzCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBjYW5ub3QgbG9jayB0aGUgcmVmIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6NTY1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBjYW5ub3QgdXBkYXRlIHRoZSByZWYiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzo1NjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDo0OQotbXNnaWQgIllvdSBuZWVkIHRvIHNldCB5b3VyIGNvbW1pdHRlciBpbmZvIGZpcnN0IgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDoxMzUKLW1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIG5lY2Vzc2FyeSBibG9icyB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDoxNDQKLW1zZ2lkICIiCi0iRGlkIHlvdSBoYW5kIGVkaXQgeW91ciBwYXRjaD9cbiIKLSJJdCBkb2VzIG5vdCBhcHBseSB0byBibG9icyByZWNvcmRlZCBpbiBpdHMgaW5kZXguIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDoxNTMKLW1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gcGF0Y2hpbmcgYmFzZSBhbmQgMy13YXkgbWVyZ2UuLi4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFtLnNoOjI2NQotbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDozNTIKLSMsIHNoLWZvcm1hdAotbXNnaWQgIlBhdGNoIGZvcm1hdCAkcGF0Y2hfZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQuIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDozNTQKLW1zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFtLnNoOjQwNgotbXNnaWQgIi1kIG9wdGlvbiBpcyBubyBsb25nZXIgc3VwcG9ydGVkLiAgRG8gbm90IHVzZS4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFtLnNoOjQ2OQotIywgc2gtZm9ybWF0Ci1tc2dpZCAicHJldmlvdXMgcmViYXNlIGRpcmVjdG9yeSAkZG90ZXN0IHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFtLnNoOjQ3NAotbXNnaWQgIlBsZWFzZSBtYWtlIHVwIHlvdXIgbWluZC4gLS1za2lwIG9yIC0tYWJvcnQ/IgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDo1MDEKLW1zZ2lkICJSZXNvbHZlIG9wZXJhdGlvbiBub3QgaW4gcHJvZ3Jlc3MsIHdlIGFyZSBub3QgcmVzdW1pbmcuIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDo1NjcKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkRpcnR5IGluZGV4OiBjYW5ub3QgYXBwbHkgcGF0Y2hlcyAoZGlydHk6ICRmaWxlcykiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFtLnNoOjc0MwotbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKLW1zZ3N0ciAiIgotCi0jLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3ldLCBbbl0sIFtlXSwgW3ZdIGFuZCBbYV0KLSMuIGluIHlvdXIgdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaAotIy4gaW5wdXQgYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1hbS5zaDo3NTQKLW1zZ2lkICJBcHBseT8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbCAiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFtLnNoOjc5MAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQXBwbHlpbmc6ICRGSVJTVExJTkUiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFtLnNoOjgzNQotbXNnaWQgIk5vIGNoYW5nZXMgLS0gUGF0Y2ggYWxyZWFkeSBhcHBsaWVkLiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYW0uc2g6ODYxCi1tc2dpZCAiYXBwbHlpbmcgdG8gYW4gZW1wdHkgaGlzdG9yeSIKLW1zZ3N0ciAiIgotCi0jLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW1ldIGFuZCBbbl0gaW4geW91cgotIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAotIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1iaXNlY3Quc2g6NTQKLW1zZ2lkICJEbyB5b3Ugd2FudCBtZSB0byBkbyBpdCBmb3IgeW91IFtZL25dPyAiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDo5NQotIywgc2gtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pc2VkIG9wdGlvbjogJyRhcmcnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1iaXNlY3Quc2g6OTkKLSMsIHNoLWZvcm1hdAotbXNnaWQgIickYXJnJyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYSB2YWxpZCByZXZpc2lvbiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjExNwotbXNnaWQgIkJhZCBIRUFEIC0gSSBuZWVkIGEgSEVBRCIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjEzMAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIkNoZWNraW5nIG91dCAnJHN0YXJ0X2hlYWQnIGZhaWxlZC4gVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDx2YWxpZGJyYW5jaD4nLiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjE0MAotbXNnaWQgIndvbid0IGJpc2VjdCBvbiBzZWVrZWQgdHJlZSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjE0NAotbXNnaWQgIkJhZCBIRUFEIC0gc3RyYW5nZSBzeW1ib2xpYyByZWYiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDoxODkKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkJhZCBiaXNlY3Rfd3JpdGUgYXJndW1lbnQ6ICRzdGF0ZSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjIxOAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQmFkIHJldiBpbnB1dDogJGFyZyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjIzMgotbXNnaWQgIlBsZWFzZSBjYWxsICdiaXNlY3Rfc3RhdGUnIHdpdGggYXQgbGVhc3Qgb25lIGFyZ3VtZW50LiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjI0NAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQmFkIHJldiBpbnB1dDogJHJldiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjI1MAotbXNnaWQgIidnaXQgYmlzZWN0IGJhZCcgY2FuIHRha2Ugb25seSBvbmUgYXJndW1lbnQuIgotbXNnc3RyICIiCi0KLSMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCi0jLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0Ci0jLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LWJpc2VjdC5zaDoyNzkKLW1zZ2lkICJBcmUgeW91IHN1cmUgW1kvbl0/ICIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjM1NAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJyRpbnZhbGlkJyBpcyBub3QgYSB2YWxpZCBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDozNjMKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJDb3VsZCBub3QgY2hlY2sgb3V0IG9yaWdpbmFsIEhFQUQgJyRicmFuY2gnLlxuIgotIlRyeSAnZ2l0IGJpc2VjdCByZXNldCA8Y29tbWl0PicuIgotbXNnc3RyICIiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MzkwCi1tc2dpZCAiTm8gbG9nZmlsZSBnaXZlbiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjM5MQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHJlYWQgJGZpbGUgZm9yIHJlcGxheWluZyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjQwOAotbXNnaWQgIj8/IHdoYXQgYXJlIHlvdSB0YWxraW5nIGFib3V0PyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjQ3NAotbXNnaWQgIldlIGFyZSBub3QgYmlzZWN0aW5nLiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtcHVsbC5zaDoyMQotbXNnaWQgIiIKLSJQdWxsIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLlxuIgotIlBsZWFzZSwgZml4IHRoZW0gdXAgaW4gdGhlIHdvcmsgdHJlZSwgYW5kIHRoZW4gdXNlICdnaXQgYWRkL3JtIDxmaWxlPidcbiIKLSJhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24sIG9yIHVzZSAnZ2l0IGNvbW1pdCAtYScuIgotbXNnc3RyICIiCi0KLSM6IGdpdC1wdWxsLnNoOjI1Ci1tc2dpZCAiUHVsbCBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LXB1bGwuc2g6MTk3Ci1tc2dpZCAidXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4IgotbXNnc3RyICIiCi0KLSM6IGdpdC1wdWxsLnNoOjI1MwotbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXB1bGwuc2g6MjU3Ci1tc2dpZCAiQ2Fubm90IHJlYmFzZSBvbnRvIG11bHRpcGxlIGJyYW5jaGVzIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDo1MQotbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6NzQKLW1zZ2lkICJZb3UgZG8gbm90IGhhdmUgdGhlIGluaXRpYWwgY29tbWl0IHlldCIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6ODkKLW1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6MTIzIGdpdC1zdGFzaC5zaDoxMzYKLW1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCB3b3JrdHJlZSBzdGF0ZSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6MTQwCi1tc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6MTQzCi1tc2dpZCAiQ2Fubm90IHJlbW92ZSB0ZW1wb3JhcnkgaW5kZXggKGNhbid0IGhhcHBlbikiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjE1NgotbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDoyMjMKLW1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjIyNwotbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDoyMzUKLW1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjI1MwotbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6MzUyCi1tc2dpZCAiTm8gc3Rhc2ggZm91bmQuIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDozNTkKLSMsIHNoLWZvcm1hdAotbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjM2NQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgdmFsaWQgcmVmZXJlbmNlIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDozOTMKLSMsIHNoLWZvcm1hdAotbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjQwNAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjQxMgotbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDo0MTYKLW1zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjQyNAotbXNnaWQgIkNvbmZsaWN0cyBpbiBpbmRleC4gVHJ5IHdpdGhvdXQgLS1pbmRleC4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjQyNgotbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjQ2MAotbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDo0OTEKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjQ5MgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6NDk5Ci1tc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDo1NzAKLW1zZ2lkICIoVG8gcmVzdG9yZSB0aGVtIHR5cGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJHJlbW90ZXVybCciCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDgKLSMsIHNoLWZvcm1hdAotbXNnaWQgIk5vIHN1Ym1vZHVsZSBtYXBwaW5nIGZvdW5kIGluIC5naXRtb2R1bGVzIGZvciBwYXRoICckcGF0aCciCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxNzMKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNsb25lIG9mICckdXJsJyBpbnRvIHN1Ym1vZHVsZSBwYXRoICckcGF0aCcgZmFpbGVkIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ3Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJyZXBvIFVSTDogJyRyZXBvJyBtdXN0IGJlIGFic29sdXRlIG9yIGJlZ2luIHdpdGggLi98Li4vIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjY0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICInJHBhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4MQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJyRwYXRoJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGEgdmFsaWQgZ2l0IHJlcG8iCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyOTUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCBzdWJtb2R1bGUgJyRwYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwMAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIGFkZCBzdWJtb2R1bGUgJyRwYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwNQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHN1Ym1vZHVsZSAnJHBhdGgnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzQ3Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJFbnRlcmluZyAnJHByZWZpeCRwYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM1OQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiU3RvcHBpbmcgYXQgJyRwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MDEKLSMsIHNoLWZvcm1hdAotbXNnaWQgIk5vIHVybCBmb3VuZCBmb3Igc3VibW9kdWxlIHBhdGggJyRwYXRoJyBpbiAuZ2l0bW9kdWxlcyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQxMAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyRwYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQxOAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJHBhdGgnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDIwCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJTdWJtb2R1bGUgJyRuYW1lJyAoJHVybCkgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJHBhdGgnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTE5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iU3VibW9kdWxlIHBhdGggJyRwYXRoJyBub3QgaW5pdGlhbGl6ZWRcbiIKLSJNYXliZSB5b3Ugd2FudCB0byB1c2UgJ3VwZGF0ZSAtLWluaXQnPyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjUzMgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAnJHBhdGgnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTUxCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRwYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU2NQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckcGF0aCciCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NjYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckcGF0aCc6IHJlYmFzZWQgaW50byAnJHNoYTEnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTcxCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gbWVyZ2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJHBhdGgnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTcyCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJHBhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU3NwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0ICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRwYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU3OAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiU3VibW9kdWxlIHBhdGggJyRwYXRoJzogY2hlY2tlZCBvdXQgJyRzaGExJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwMCBnaXQtc3VibW9kdWxlLnNoOjkyMwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJHBhdGgnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzA4Ci1tc2dpZCAiLS0iCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3NjYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiAgV2FybjogJG5hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3NjkKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiAgV2FybjogJG5hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3NzIKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiAgV2FybjogJG5hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3OTcKLW1zZ2lkICJibG9iIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6Nzk4Ci1tc2dpZCAic3VibW9kdWxlIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTY5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckbmFtZSciCi1tc2dzdHIgIiIKZGlmZiAtLWdpdCBhL3BvL3B0X1BULnBvIGIvcG8vcHRfUFQucG8KaW5kZXggNTE3ZWMyOS4uNjg5YWQxYiAxMDA2NDQKLS0tIGEvcG8vcHRfUFQucG8KKysrIGIvcG8vcHRfUFQucG8KQEAgLTIzMTIsNyArMjMxMiw3IEBACiBtc2dzdHIgIk5lbmh1bSBub21lIGVuY29udHJhZG8sIG7Do28gZGVzY3JldmUgbmFkYS4iCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0ODIKLW1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdHRpc2hlcyIKK21zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2RpZmYuYzo3NwpkaWZmIC0tZ2l0IGEvcG8vc3YucG8gYi9wby9zdi5wbwppbmRleCAxMmRmY2E5Li4xNTQ3NTVmIDEwMDY0NAotLS0gYS9wby9zdi5wbworKysgYi9wby9zdi5wbwpAQCAtMSwxNCArMSwxNCBAQAogIyBTd2VkaXNoIHRyYW5zbGF0aW9ucyBmb3IgR2l0LgotIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxMyBQZXRlciBrcmVmdGluZyA8cGV0ZXJAc29mdHdvbHZlcy5wcC5zZT4KKyMgQ29weXJpZ2h0IChDKSAyMDEwLTIwMTQgUGV0ZXIga3JlZnRpbmcgPHBldGVyQHNvZnR3b2x2ZXMucHAuc2U+CiAjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBHaXQgcGFja2FnZS4KLSMgUGV0ZXIgS3JlZnRpbmcgPHBldGVyQHNvZnR3b2x2ZXMucHAuc2U+LCAyMDEwLCAyMDExLCAyMDEyLCAyMDEzLgorIyBQZXRlciBLcmVmdGluZyA8cGV0ZXJAc29mdHdvbHZlcy5wcC5zZT4sIDIwMTAsIDIwMTEsIDIwMTIsIDIwMTMsIDIwMTQuCiAjCiBtc2dpZCAiIgogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBnaXQgMS44LjRcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogR2l0IE1haWxpbmcgTGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz5cbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMy0wOC0wNiAxNDoxMCswODAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxMy0wOC0wNiAxMjozNyswMTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTQtMDEtMTggMDc6NDIrMDgwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTQtMDEtMjEgMDk6MjQrMDEwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogUGV0ZXIgS3JlZnRpbmcgPHBldGVyQHNvZnR3b2x2ZXMucHAuc2U+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogU3dlZGlzaCA8dHAtc3ZAbGlzdG9yLnRwLXN2LnNlPlxuIgogIkxhbmd1YWdlOiBzdlxuIgpAQCAtNTcsNzEgKzU3LDc2IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPGFya2l2PiBbLS1leGVjIDxrbWQ+XSAtLWxpc3QiCiAKLSM6IGFyY2hpdmUuYzozMjMKKyM6IGFyY2hpdmUuYzoyNDIgYnVpbHRpbi9hZGQuYzoyNDAgYnVpbHRpbi9hZGQuYzo1NTkgYnVpbHRpbi9ybS5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgorbXNnc3RyICJzw7ZrdsOkZ3NhbmdpdmVsc2VuIFwiJXNcIiBtb3RzdmFyYWRlIGludGUgbsOlZ3JhIGZpbGVyIgorCisjOiBhcmNoaXZlLmM6MzI3CiBtc2dpZCAiZm10IgogbXNnc3RyICJmbXQiCiAKLSM6IGFyY2hpdmUuYzozMjMKKyM6IGFyY2hpdmUuYzozMjcKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAiYXJraXZmb3JtYXQiCiAKLSM6IGFyY2hpdmUuYzozMjQgYnVpbHRpbi9sb2cuYzoxMTczCisjOiBhcmNoaXZlLmM6MzI4IGJ1aWx0aW4vbG9nLmM6MTE5MwogbXNnaWQgInByZWZpeCIKIG1zZ3N0ciAicHJlZml4IgogCi0jOiBhcmNoaXZlLmM6MzI1CisjOiBhcmNoaXZlLmM6MzI5CiBtc2dpZCAicHJlcGVuZCBwcmVmaXggdG8gZWFjaCBwYXRobmFtZSBpbiB0aGUgYXJjaGl2ZSIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBwcmVmaXggdGlsbCB2YXJqZSBzw7ZrdsOkZyBpIGFya2l2ZXQiCiAKLSM6IGFyY2hpdmUuYzozMjYgYnVpbHRpbi9hcmNoaXZlLmM6ODggYnVpbHRpbi9ibGFtZS5jOjIyOTIKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkzIGJ1aWx0aW4vY29uZmlnLmM6NTYgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MwotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NSBidWlsdGluL2dyZXAuYzo3MTQgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjc3Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDk2IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTkgYnVpbHRpbi9ub3Rlcy5jOjQwOAotIzogYnVpbHRpbi9ub3Rlcy5jOjU2NSBidWlsdGluL3JlYWQtdHJlZS5jOjEwOCBwYXJzZS1vcHRpb25zLmg6MTUyCisjOiBhcmNoaXZlLmM6MzMwIGJ1aWx0aW4vYXJjaGl2ZS5jOjg4IGJ1aWx0aW4vYmxhbWUuYzoyMjY1CisjOiBidWlsdGluL2JsYW1lLmM6MjI2NiBidWlsdGluL2NvbmZpZy5jOjU4IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODIgYnVpbHRpbi9ncmVwLmM6NzE2IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3NworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NiBidWlsdGluL2xzLWZpbGVzLmM6NDg5IGJ1aWx0aW4vbm90ZXMuYzo0MDgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDggcGFyc2Utb3B0aW9ucy5oOjE1NAogbXNnaWQgImZpbGUiCiBtc2dzdHIgImZpbCIKIAotIzogYXJjaGl2ZS5jOjMyNyBidWlsdGluL2FyY2hpdmUuYzo4OQorIzogYXJjaGl2ZS5jOjMzMSBidWlsdGluL2FyY2hpdmUuYzo4OQogbXNnaWQgIndyaXRlIHRoZSBhcmNoaXZlIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAic2tyaXYgYXJraXZldCB0aWxsIGZpbGVuIgogCi0jOiBhcmNoaXZlLmM6MzI5CisjOiBhcmNoaXZlLmM6MzMzCiBtc2dpZCAicmVhZCAuZ2l0YXR0cmlidXRlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAibMOkcyAuZ2l0YXR0cmlidXRlcyBpIGFyYmV0c2thdGFsb2dlbiIKIAotIzogYXJjaGl2ZS5jOjMzMAorIzogYXJjaGl2ZS5jOjMzNAogbXNnaWQgInJlcG9ydCBhcmNoaXZlZCBmaWxlcyBvbiBzdGRlcnIiCiBtc2dzdHIgInJhcHBvcnRlcmEgYXJraXZlcmFkZSBmaWxlciBww6Ugc3RhbmRhcmQgZmVsIgogCi0jOiBhcmNoaXZlLmM6MzMxCisjOiBhcmNoaXZlLmM6MzM1CiBtc2dpZCAic3RvcmUgb25seSIKIG1zZ3N0ciAiZW5kYXN0IHNwYXJhIgogCi0jOiBhcmNoaXZlLmM6MzMyCisjOiBhcmNoaXZlLmM6MzM2CiBtc2dpZCAiY29tcHJlc3MgZmFzdGVyIgogbXNnc3RyICJrb21wcmltZXJhIHNuYWJiYXJlIgogCi0jOiBhcmNoaXZlLmM6MzQwCisjOiBhcmNoaXZlLmM6MzQ0CiBtc2dpZCAiY29tcHJlc3MgYmV0dGVyIgogbXNnc3RyICJrb21wcmltZXJhIGLDpHR0cmUiCiAKLSM6IGFyY2hpdmUuYzozNDMKKyM6IGFyY2hpdmUuYzozNDcKIG1zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCiBtc2dzdHIgInZpc2EgdW5kZXJzdMO2ZGRhIGFya2l2Zm9ybWF0IgogCi0jOiBhcmNoaXZlLmM6MzQ1IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4NQorIzogYXJjaGl2ZS5jOjM0OSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODQKIG1zZ2lkICJyZXBvIgogbXNnc3RyICJhcmtpdiIKIAotIzogYXJjaGl2ZS5jOjM0NiBidWlsdGluL2FyY2hpdmUuYzo5MQorIzogYXJjaGl2ZS5jOjM1MCBidWlsdGluL2FyY2hpdmUuYzo5MQogbXNnaWQgInJldHJpZXZlIHRoZSBhcmNoaXZlIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkgPHJlcG8+IgogbXNnc3RyICJow6RtdGEgYXJraXZldCBmcsOlbiBmasOkcnJhcmtpdmV0IDxhcmtpdj4iCiAKLSM6IGFyY2hpdmUuYzozNDcgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4NworIzogYXJjaGl2ZS5jOjM1MSBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDg3CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAia29tbWFuZG8iCiAKLSM6IGFyY2hpdmUuYzozNDggYnVpbHRpbi9hcmNoaXZlLmM6OTMKKyM6IGFyY2hpdmUuYzozNTIgYnVpbHRpbi9hcmNoaXZlLmM6OTMKIG1zZ2lkICJwYXRoIHRvIHRoZSByZW1vdGUgZ2l0LXVwbG9hZC1hcmNoaXZlIGNvbW1hbmQiCiBtc2dzdHIgInPDtmt2w6RnIHRpbGwga29tbWFuZG90IGdpdC11cGxvYWQtYXJjaGl2ZSBww6UgZmrDpHJyZW4iCiAKQEAgLTIwNCwxNyArMjA5LDE3IEBACiBtc2dpZCAiQ2Fubm90IGZvcmNlIHVwZGF0ZSB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJLYW4gaW50ZSB0dmluZ2EgdXBwZGF0ZXJpbmcgYXYgYWt0dWVsbCBncmVuLiIKIAotIzogYnJhbmNoLmM6MjE2CisjOiBicmFuY2guYzoyMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHNldHVwIHRyYWNraW5nIGluZm9ybWF0aW9uOyBzdGFydGluZyBwb2ludCAnJXMnIGlzIG5vdCBhIGJyYW5jaC4iCiBtc2dzdHIgIkthbiBpbnRlIHN0w6RsbGEgaW4gc3DDpXJuaW5nOyBzdGFydHB1bmt0ZW4gXCIlc1wiIMOkciBpbnRlIGVuIGdyZW4uIgogCi0jOiBicmFuY2guYzoyMTgKKyM6IGJyYW5jaC5jOjIxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgcmVxdWVzdGVkIHVwc3RyZWFtIGJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJkZW4gZWZ0ZXJmcsOlZ2FkZSB1cHBzdHLDtm1zZ3JlbmVuIFwiJXNcIiBmaW5ucyBpbnRlIgogCi0jOiBicmFuY2guYzoyMjAKKyM6IGJyYW5jaC5jOjIxOQogbXNnaWQgIiIKICJcbiIKICJJZiB5b3UgYXJlIHBsYW5uaW5nIG9uIGJhc2luZyB5b3VyIHdvcmsgb24gYW4gdXBzdHJlYW1cbiIKQEAgLTIzNCw4NyArMjM5LDg3IEBACiAic3DDpXJhIGRlc3MgZmrDpHJybW90c3ZhcmlnaGV0IGthbiBkdSBhbnbDpG5kYSBcImdpdCBwdXNoIC11XCJcbiIKICJmw7ZyIGF0dCBzdMOkbGxhIGluIHVwcHN0csO2bXNrb25maWd1cmF0aW9uZW4gbsOkciBkdSBzw6RuZGVyIGluLiIKIAotIzogYnJhbmNoLmM6MjY1CisjOiBicmFuY2guYzoyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICJPYmpla3RuYW1uZXQgw6RyIGludGUgZ2lsdGlndDogXCIlc1wiLiIKIAotIzogYnJhbmNoLmM6Mjg1CisjOiBicmFuY2guYzoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQW1iaWd1b3VzIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAiT2JqZWt0bmFtbmV0IMOkciB0dmV0eWRpZ3Q6IFwiJXNcIi4iCiAKLSM6IGJyYW5jaC5jOjI5MAorIzogYnJhbmNoLmM6Mjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIGJyYW5jaCBwb2ludDogJyVzJy4iCiBtc2dzdHIgIkF2Z3JlbmluZ3NwdW5rdGVuIMOkciBpbnRlIGdpbHRpZzogXCIlc1wiIgogCi0jOiBicmFuY2guYzoyOTYKKyM6IGJyYW5jaC5jOjI5NQogbXNnaWQgIkZhaWxlZCB0byBsb2NrIHJlZiBmb3IgdXBkYXRlIgogbXNnc3RyICJNaXNzbHlja2FkZXMgbMOlc2EgcmVmZXJlbnMgZsO2ciB1cHBkYXRlcmluZyIKIAotIzogYnJhbmNoLmM6MzE0CisjOiBicmFuY2guYzozMTMKIG1zZ2lkICJGYWlsZWQgdG8gd3JpdGUgcmVmIgogbXNnc3RyICJNaXNzbHlja2FkZXMgc2tyaXZhIHJlZmVyZW5zIgogCi0jOiBidW5kbGUuYzozNgorIzogYnVuZGxlLmM6MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBsb29rIGxpa2UgYSB2MiBidW5kbGUgZmlsZSIKIG1zZ3N0ciAiJyVzJyBzZXIgaW50ZSB1dCBzb20gZW4gdjItYnVuZGxlLWZpbCIKIAotIzogYnVuZGxlLmM6NjMKKyM6IGJ1bmRsZS5jOjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAib2vDpG50IGh1dnVkOiAlcyVzICglZCkiCiAKLSM6IGJ1bmRsZS5jOjg5IGJ1aWx0aW4vY29tbWl0LmM6Njk3CisjOiBidW5kbGUuYzo5MCBidWlsdGluL2NvbW1pdC5jOjcwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIMO2cHBuYSBcIiVzXCIiCiAKLSM6IGJ1bmRsZS5jOjE0MAorIzogYnVuZGxlLmM6MTQxCiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyB0aGVzZSBwcmVyZXF1aXNpdGUgY29tbWl0czoiCiBtc2dzdHIgIkFya2l2ZXQgc2FrbmFyIGRlc3NhIG7DtmR2w6RuZGlnYSBpbmNoZWNrbmluZ2FyOiIKIAotIzogYnVuZGxlLmM6MTY0IHNlcXVlbmNlci5jOjY2MSBzZXF1ZW5jZXIuYzoxMTExIGJ1aWx0aW4vbG9nLmM6MzMxCi0jOiBidWlsdGluL2xvZy5jOjgwMSBidWlsdGluL2xvZy5jOjEzOTkgYnVpbHRpbi9sb2cuYzoxNjI1IGJ1aWx0aW4vbWVyZ2UuYzozNjQKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNTYKKyM6IGJ1bmRsZS5jOjE2NSBzZXF1ZW5jZXIuYzo2NjIgc2VxdWVuY2VyLmM6MTExMiBidWlsdGluL2xvZy5jOjMzMgorIzogYnVpbHRpbi9sb2cuYzo4MjEgYnVpbHRpbi9sb2cuYzoxNDE4IGJ1aWx0aW4vbG9nLmM6MTY0NCBidWlsdGluL21lcmdlLmM6MzU3CisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTU4CiBtc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSByZXZpc2lvbnN0cmF2ZXJzZXJpbmciCiAKLSM6IGJ1bmRsZS5jOjE4NgorIzogYnVuZGxlLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBidW5kbGUgY29udGFpbnMgdGhpcyByZWY6IgogbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoZXNlICVkIHJlZnM6IgogbXNnc3RyWzBdICJQYWtldGV0IChidW5kbGVuKSBkZW5uYSByZWZlcmVuczoiCiBtc2dzdHJbMV0gIlBha2V0ZXQgKGJ1bmRsZW4pIGRlc3NhICVkIHJlZmVyZW5zZXI6IgogCi0jOiBidW5kbGUuYzoxOTMKKyM6IGJ1bmRsZS5jOjE5NAogbXNnaWQgIlRoZSBidW5kbGUgcmVjb3JkcyBhIGNvbXBsZXRlIGhpc3RvcnkuIgogbXNnc3RyICJQYWtldGV0IChidW5kbGVuKSBiZXNrcml2ZXIgZW4ga29tcGxldHQgaGlzdG9yaWsuIgogCi0jOiBidW5kbGUuYzoxOTUKKyM6IGJ1bmRsZS5jOjE5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoaXMgcmVmOiIKIG1zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGVzZSAlZCByZWZzOiIKIG1zZ3N0clswXSAiUGFrZXRldCAoYnVuZGxlbikga3LDpHZlciBkZW5uYSByZWZlcmVuczoiCiBtc2dzdHJbMV0gIlBha2V0ZXQgKGJ1bmRsZW4pIGtyw6R2ZXIgZGVzc2EgJWQgcmVmZXJlbnNlcjoiCiAKLSM6IGJ1bmRsZS5jOjI5NAorIzogYnVuZGxlLmM6Mjk2CiBtc2dpZCAicmV2LWxpc3QgZGllZCIKIG1zZ3N0ciAicmV2LWxpc3QgZG9nIgogCi0jOiBidW5kbGUuYzozMDAgYnVpbHRpbi9sb2cuYzoxMzEwIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNTkKKyM6IGJ1bmRsZS5jOjMwMiBidWlsdGluL2xvZy5jOjEzMjkgYnVpbHRpbi9zaG9ydGxvZy5jOjI2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJva8OkbnQgYXJndW1lbnQ6ICVzIgogCi0jOiBidW5kbGUuYzozMzUKKyM6IGJ1bmRsZS5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKIG1zZ3N0ciAicmVmZXJlbnNlbiBcIiVzXCIgZXhrbHVkZXJhcyBhdiBhcmd1bWVudGVuIHRpbGwgcmV2LWxpc3QiCiAKLSM6IGJ1bmRsZS5jOjM4MAorIzogYnVuZGxlLmM6MzgyCiBtc2dpZCAiUmVmdXNpbmcgdG8gY3JlYXRlIGVtcHR5IGJ1bmRsZS4iCiBtc2dzdHIgIlbDpGdyYXIgc2thcGEgZXR0IHRvbXQgcGFrZXQgKGJ1bmRsZSkuIgogCkBAIC0zNDksMTYgKzM1NCwxNiBAQAogbXNnaWQgIm1lbW9yeSBleGhhdXN0ZWQiCiBtc2dzdHIgIm1pbm5ldCBzbHV0IgogCi0jOiBjb25uZWN0ZWQuYzo2MAorIzogY29ubmVjdGVkLmM6NzAKIG1zZ2lkICJDb3VsZCBub3QgcnVuICdnaXQgcmV2LWxpc3QnIgogbXNnc3RyICJLdW5kZSBpbnRlIGvDtnJhIFwiZ2l0IHJldi1saXN0XCIiCiAKLSM6IGNvbm5lY3RlZC5jOjgwCisjOiBjb25uZWN0ZWQuYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgd3JpdGUgdG8gcmV2LWxpc3Q6ICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSB0aWxsIHJldi1saXN0OiAlcyIKIAotIzogY29ubmVjdGVkLmM6ODgKKyM6IGNvbm5lY3RlZC5jOjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjbG9zZSByZXYtbGlzdCdzIHN0ZGluOiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBzdMOkbmdhIHJldi1saXN0OnMgc3RhbmRhcmQgaW46ICVzIgpAQCAtNDMwLDIyICs0MzUsMjcgQEAKIG1zZ3N0clswXSAiJWx1IMOlciBzZWRhbiIKIG1zZ3N0clsxXSAiJWx1IMOlciBzZWRhbiIKIAotIzogZGlmZi5jOjExMgorIzogZGlmZmNvcmUtb3JkZXIuYzoyNAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBvcmRlcmZpbGUgJyVzJyIKK21zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBvcmRlcmZpbGVuIFwiJXNcIiIKKworIzogZGlmZi5jOjExMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCiBtc2dzdHIgIiAgTWlzc2x5Y2thZGVzIHRvbGthIGRpcnN0YXQtYXZza8Okcm5pbmdzcHJvY2VudGFuZGVsIFwiJXNcIlxuIgogCi0jOiBkaWZmLmM6MTE3CisjOiBkaWZmLmM6MTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgVW5rbm93biBkaXJzdGF0IHBhcmFtZXRlciAnJXMnXG4iCiBtc2dzdHIgIiAgT2vDpG5kIGRpcnN0YXQtcGFyYW1ldGVyIFwiJXNcIlxuIgogCi0jOiBkaWZmLmM6MjEwCisjOiBkaWZmLmM6MjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdmFsdWUgZm9yICdkaWZmLnN1Ym1vZHVsZScgY29uZmlnIHZhcmlhYmxlOiAnJXMnIgogbXNnc3RyICJPa8OkbnQgdsOkcmRlIGbDtnIga29uZmlndXJhdGlvbnN2YXJpYWJlbG4gXCJkaWZmLnN1Ym1vZHVsZVwiOiBcIiVzXCIiCiAKLSM6IGRpZmYuYzoyNjAKKyM6IGRpZmYuYzoyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZvdW5kIGVycm9ycyBpbiAnZGlmZi5kaXJzdGF0JyBjb25maWcgdmFyaWFibGU6XG4iCkBAIC00NTQsNyArNDY0LDcgQEAKICJIaXR0YWRlIGZlbCBpIGtvbmZpZ3VyYXRpb25zdmFyaWFiZWxuIFwiZGlmZi5kaXJzdGF0XCI6XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzozNDg3CisjOiBkaWZmLmM6MzUwOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIHBhcnNlIC0tZGlyc3RhdC8tWCBvcHRpb24gcGFyYW1ldGVyOlxuIgpAQCAtNDYzLDcgKzQ3Myw3IEBACiAiTWlzc2x5Y2thZGVzIHRvbGthIGFyZ3VtZW50IHRpbGwgZmxhZ2dhbiAtLWRpcnN0YXQvLVg7XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzozNTAxCisjOiBkaWZmLmM6MzUyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHRvbGthIGFyZ3VtZW50IHRpbGwgZmxhZ2dhbiAtLXN1Ym1vZHVsZTogXCIlc1wiIgpAQCAtNDkwLDE3ICs1MDAsMTcgQEAKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJzogJXMiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza3JpdmEgZnJpc3TDpWVuZGUgc2lnbmF0dXIgdGlsbCBcIiVzXCI6ICVzIgogCi0jOiBncmVwLmM6MTYyMworIzogZ3JlcC5jOjE2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIlwiJXNcIiBrdW5kZSBpbnRlIGzDpHNhICVzIgogCi0jOiBncmVwLmM6MTY0MAorIzogZ3JlcC5jOjE3MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogJXMiCiBtc2dzdHIgIlwiJXNcIjogJXMiCiAKLSM6IGdyZXAuYzoxNjUxCisjOiBncmVwLmM6MTcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBzaG9ydCByZWFkICVzIgogbXNnc3RyICJcIiVzXCI6IGtvcnQgbMOkc25pbmcgJXMiCkBAIC01NzMsOCArNTgzLDggQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgIm1pc3NseWNrYWRzIGzDpHNhIGNhY2hlbiIKIAotIzogbWVyZ2UuYzoxMTAgYnVpbHRpbi9jaGVja291dC5jOjM2NSBidWlsdGluL2NoZWNrb3V0LmM6NTY2Ci0jOiBidWlsdGluL2Nsb25lLmM6NjU2CisjOiBtZXJnZS5jOjExMCBidWlsdGluL2NoZWNrb3V0LmM6MzU4IGJ1aWx0aW4vY2hlY2tvdXQuYzo1NTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NjEKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIG55IGluZGV4ZmlsIgogCkBAIC02MjMsNyArNjMzLDcgQEAKIG1zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgogbXNnc3RyICJibG9iIGbDtnJ2w6RudGFkZXMgZsO2ciAlcyBcIiVzXCIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc3NCBidWlsdGluL2Nsb25lLmM6MzEyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NzQgYnVpbHRpbi9jbG9uZS5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMgw7ZwcG5hIFwiJXNcIiIKQEAgLTY3Myw3ICs2ODMsNyBAQAogbXNnaWQgInJlbmFtZSIKIG1zZ3N0ciAibmFtbmJ5dGUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwODIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwODIgd3Qtc3RhdHVzLmM6MjgzCiBtc2dpZCAicmVuYW1lZCIKIG1zZ3N0ciAibmFtbmJ5dHQiCiAKQEAgLTczNSw3ICs3NDUsNyBAQAogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAiw6RuZHJhIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTY1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTY1IHd0LXN0YXR1cy5jOjI4MQogbXNnaWQgIm1vZGlmaWVkIgogbXNnc3RyICLDpG5kcmFkIgogCkBAIC03NTcsNyArNzY3LDcgQEAKIG1zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCiBtc2dzdHIgIlNsw6VyIGlob3AgJXMgYXV0b21hdGlza3QiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzQgZ2l0LXN1Ym1vZHVsZS5zaDoxMTE4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjM0IGdpdC1zdWJtb2R1bGUuc2g6MTE0OAogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAidW5kZXJtb2R1bCIKIApAQCAtODI4LDcgKzgzOCw3IEBACiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgogbXNnc3RyICJLdW5kZSBpbnRlIHRvbGthIG9iamVrdGV0IFwiJXNcIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAxMCBidWlsdGluL21lcmdlLmM6NjcyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDEwIGJ1aWx0aW4vbWVyZ2UuYzo2NjUKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5kZXguIgogbXNnc3RyICJLdW5kZSBpbnRlIHNrcml2YSBpbmRleGV0LiIKIApAQCAtODUzLDU4ICs4NjMsMTU2IEBACiBtc2dpZCAiQmFkICVzIHZhbHVlOiAnJXMnIgogbXNnc3RyICJGZWxha3RpZ3QgdsOkcmRlIHDDpSAlczogXCIlc1wiIgogCi0jOiBvYmplY3QuYzoyMDQKKyM6IG9iamVjdC5jOjIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2Ugb2JqZWN0OiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBvYmpla3RldDogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo0ODkKKyM6IHBhcnNlLW9wdGlvbnMuYzo1MzcKIG1zZ2lkICIuLi4iCiBtc2dzdHIgIi4uLiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjUwNworIzogcGFyc2Utb3B0aW9ucy5jOjU1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMiCiBtc2dzdHIgImFudsOkbmRuaW5nOiAlcyIKIAogIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiBoZXJlIHNob3VsZCBhbGlnbiB3aXRoIHRoZQogIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uCi0jOiBwYXJzZS1vcHRpb25zLmM6NTExCisjOiBwYXJzZS1vcHRpb25zLmM6NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgIG9yOiAlcyIKIG1zZ3N0ciAiICAgICBlbGxlcjogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1MTQKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICVzIgogbXNnc3RyICIgICAgJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1NDgKKyM6IHBhcnNlLW9wdGlvbnMuYzo1OTYKIG1zZ2lkICItTlVNIgogbXNnc3RyICItVEFMIgogCi0jOiBwYXRoc3BlYy5jOjgzCi0jLCBjLWZvcm1hdAotbXNnaWQgIlBhdGggJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgotbXNnc3RyICJTw7ZrdsOkZ2VuIFwiJXNcIiDDpHIgaSB1bmRlcm1vZHVsZW4gXCIlLipzXCIiCisjOiBwYXRoc3BlYy5jOjEzMworbXNnaWQgImdsb2JhbCAnZ2xvYicgYW5kICdub2dsb2InIHBhdGhzcGVjIHNldHRpbmdzIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKyJkZSBnbG9iYWxhIHPDtmt2w6Rnc2luc3TDpGxsbmluZ2FybmEgXCJnbG9iXCIgb2NoIFwibm9nbG9iXCIgw6RyIGlua29tcGF0aWJsYSIKIAotIzogcGF0aHNwZWMuYzo5OQotIywgYy1mb3JtYXQKLW1zZ2lkICInJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCi1tc2dzdHIgIlwiJXNcIiDDpHIgcMOlIGFuZHJhIHNpZGFuIGF2IGVuIHN5bWJvbGlzayBsw6RuayIKKyM6IHBhdGhzcGVjLmM6MTQzCittc2dpZCAiIgorImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgZ2xvYmFsICIKKyJwYXRoc3BlYyBzZXR0aW5ncyIKK21zZ3N0ciAiIgorImRlbiBnbG9iYWxhIHPDtmt2w6Rnc2luc3TDpGxsbmluZ2VuIFwibGl0ZXJhbFwiIMOkciBpbmtvbXBhdGliZWwgbWVkIGFsbGEgYW5kcmEgIgorImdsb2JhbGEgc8O2a3bDpGdzaW5zdMOkbGxuaW5nYXIiCiAKLSM6IHJlbW90ZS5jOjE3ODgKKyM6IHBhdGhzcGVjLmM6MTc3Cittc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXIgZm9yIHBhdGhzcGVjIG1hZ2ljICdwcmVmaXgnIgorbXNnc3RyICJvZ2lsdGlnIHBhcmFtZXRlciBmw7ZyIHPDtmt2w6Rnc3V0dHJ5Y2tldCBmw7ZyIFwicHJlZml4XCIiCisKKyM6IHBhdGhzcGVjLmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGF0aHNwZWMgbWFnaWMgJyUuKnMnIGluICclcyciCittc2dzdHIgImZlbGFrdGlndCBzw7ZrdsOkZ3N1dHRyeWNrIFwiJS4qc1wiIGkgXCIlc1wiIgorCisjOiBwYXRoc3BlYy5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJNaXNzaW5nICcpJyBhdCB0aGUgZW5kIG9mIHBhdGhzcGVjIG1hZ2ljIGluICclcyciCittc2dzdHIgIlwiKVwiIHNha25hcyBpIHNsdXRldCBhdiBzw7ZrdsOkZ3N1dHRyeWNrZXQgZsO2ciBcIiVzXCIiCisKKyM6IHBhdGhzcGVjLmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaW1wbGVtZW50ZWQgcGF0aHNwZWMgbWFnaWMgJyVjJyBpbiAnJXMnIgorbXNnc3RyICJUZWNrbmV0IFwiJWNcIiBpIHPDtmt2w6Rnc3V0dHJ5Y2tldCBpIFwiJXNcIiBoYXIgaW50ZSBpbXBsZW1lbnRlcmF0cyIKKworIzogcGF0aHNwZWMuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICdsaXRlcmFsJyBhbmQgJ2dsb2InIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiVzOiBcImxpdGVyYWxcIiBvY2ggXCJnbG9iXCIgw6RyIGlua29tcGF0aWJsYSIKKworIzogcGF0aHNwZWMuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgorbXNnc3RyICIlczogXCIlc1wiIMOkciB1dGFuZsO2ciBhcmtpdmV0IgorCisjOiBwYXRoc3BlYy5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXRoc3BlYyAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCittc2dzdHIgIlPDtmt2w6Rnc2FuZ2l2ZWxzZW4gXCIlc1wiIMOkciBpIHVuZGVybW9kdWxlbiBcIiUuKnNcIiIKKworIy4KKyMuICogV2UgbWF5IHdhbnQgdG8gc3Vic3RpdHV0ZSAidGhpcyBjb21tYW5kIiB3aXRoIGEgY29tbWFuZAorIy4gKiBuYW1lLiBFLmcuIHdoZW4gYWRkLS1pbnRlcmFjdGl2ZSBkaWVzIHdoZW4gcnVubmluZworIy4gKiAiY2hlY2tvdXQgLXAiCisjLgorIzogcGF0aHNwZWMuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKK21zZ3N0ciAiJXM6IHPDtmt2w6Rnc3V0dHJ5Y2tldCBoYW50ZXJhcyBpbnRlIGF2IGRldCBow6RyIGtvbW1hbmRvdDogJXMiCisKKyM6IHBhdGhzcGVjLmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAic8O2a3bDpGdzYW5naXZlbHNlbiBcIiVzXCIgw6RyIHDDpSBhbmRyYSBzaWRhbiBhdiBlbiBzeW1ib2xpc2sgbMOkbmsiCisKKyM6IHBhdGhzcGVjLmM6NDQyCittc2dpZCAiIgorIlRoZXJlIGlzIG5vdGhpbmcgdG8gZXhjbHVkZSBmcm9tIGJ5IDooZXhjbHVkZSkgcGF0dGVybnMuXG4iCisiUGVyaGFwcyB5b3UgZm9yZ290IHRvIGFkZCBlaXRoZXIgJzovJyBvciAnLicgPyIKK21zZ3N0ciAiIgorIkluZ2VudGluZyBhdHQgZXhrbHVkZXJhIGZyw6VuIG1lZCA6KGV4a2x1ZGVyYSktbcO2bnN0ZXIuXG4iCisiR2zDtm1kZSBkdSBrYW5za2UgYXR0IGFudGluZ2VuIGzDpGdnYSB0aWxsIFwiOi9cIiBlbGxlciBcIi5cIj8iCisKKyM6IHJlbW90ZS5jOjc1MworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZmV0Y2ggYm90aCAlcyBhbmQgJXMgdG8gJXMiCittc2dzdHIgIkthbiBpbnRlIGjDpG10YSBiw6VkZSAlcyBvY2ggJXMgdGlsbCAlcyIKKworIzogcmVtb3RlLmM6NzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzdWFsbHkgdHJhY2tzICVzLCBub3QgJXMiCittc2dzdHIgIiVzIHNww6VyYXIgdmFubGlndHZpcyAlcywgaW50ZSAlcyIKKworIzogcmVtb3RlLmM6NzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHRyYWNrcyBib3RoICVzIGFuZCAlcyIKK21zZ3N0ciAiJXMgc3DDpXJhciBiw6VkZSAlcyBvY2ggJXMiCisKKyMuCisjLiAqIFRoaXMgbGFzdCBwb3NzaWJpbGl0eSBkb2Vzbid0IG9jY3VyIGJlY2F1c2UKKyMuICogRkVUQ0hfSEVBRF9JR05PUkUgZW50cmllcyBhbHdheXMgYXBwZWFyIGF0CisjLiAqIHRoZSBlbmQgb2YgdGhlIGxpc3QuCisjLgorIzogcmVtb3RlLmM6NzY5Cittc2dpZCAiSW50ZXJuYWwgZXJyb3IiCittc2dzdHIgIkludGVybnQgZmVsIgorCisjOiByZW1vdGUuYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJhc2VkIG9uICclcycsIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS5cbiIKK21zZ3N0ciAiRGluIGdyZW4gw6RyIGJhc2VyYWQgcMOlIFwiJXNcIiwgbWVuIGRlbiBoYXIgZsO2cnN2dW5uaXQgdXBwc3Ryw7Ztcy5cbiIKKworIzogcmVtb3RlLmM6MTg3NQorbXNnaWQgIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIgorbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgZsO2ciBhdHQgcsOkdHRhKVxuIgorCisjOiByZW1vdGUuYzoxODc4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwLXRvLWRhdGUgd2l0aCAnJXMnLlxuIgorbXNnc3RyICJEaW4gZ3JlbiDDpHIgw6Agam91ciBtZWQgXCIlc1wiLlxuIgorCisjOiByZW1vdGUuYzoxODgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIgogbXNnaWRfcGx1cmFsICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iCiBtc2dzdHJbMF0gIkRpbiBncmVuIGxpZ2dlciBmw7ZyZSBcIiVzXCIgbWVkICVkIGluY2hlY2tuaW5nLlxuIgogbXNnc3RyWzFdICJEaW4gZ3JlbiBsaWdnZXIgZsO2cmUgXCIlc1wiIG1lZCAlZCBpbmNoZWNrbmluZ2FyLlxuIgogCi0jOiByZW1vdGUuYzoxNzk0CisjOiByZW1vdGUuYzoxODg4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1c2hcIiB0byBwdWJsaXNoIHlvdXIgbG9jYWwgY29tbWl0cylcbiIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBwdXNoXCIgZsO2ciBhdHQgcHVibGljZXJhIGRpbmEgbG9rYWxhIGluY2hlY2tuaW5nYXIpXG4iCiAKLSM6IHJlbW90ZS5jOjE3OTcKKyM6IHJlbW90ZS5jOjE4OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCkBAIC05MTQsMTEgKzEwMjIsMTEgQEAKIG1zZ3N0clsxXSAiIgogIkRpbiBncmVuIGxpZ2dlciBlZnRlciBcIiVzXCIgbWVkICVkIGluY2hlY2tuaW5nYXIsIG9jaCBrYW4gc25hYmJzcG9sYXMuXG4iCiAKLSM6IHJlbW90ZS5jOjE4MDUKKyM6IHJlbW90ZS5jOjE4OTkKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIHVwZGF0ZSB5b3VyIGxvY2FsIGJyYW5jaClcbiIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBwdWxsXCIgZsO2ciBhdHQgdXBwZGF0ZXJhIGRpbiBsb2thbGEgZ3JlbilcbiIKIAotIzogcmVtb3RlLmM6MTgwOAorIzogcmVtb3RlLmM6MTkwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTkzMyw3ICsxMDQxLDcgQEAKICJEaW4gZ3JlbiBvY2ggXCIlc1wiIGhhciBkaXZlcmdlcmF0LFxuIgogIm9jaCBoYXIgJWQgcmVzcGVrdGl2ZSAlZCBvbGlrYSBpbmNoZWNrbmluZ2FyLlxuIgogCi0jOiByZW1vdGUuYzoxODE4CisjOiByZW1vdGUuYzoxOTEyCiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHB1bGxcIiBmw7ZyIGF0dCBzbMOlIGlob3AgZmrDpHJyZ3JlbmVuIG1lZCBkaW4gZWdlbilcbiIKIApAQCAtOTQ2LDE0ICsxMDU0LDE0IEBACiBtc2dpZCAiZHVwMiglZCwlZCkgZmFpbGVkIgogbXNnc3RyICJkdXAyKCVkLCVkKSBtaXNzbHlja2FkZXMiCiAKLSM6IHNlcXVlbmNlci5jOjIwNiBidWlsdGluL21lcmdlLmM6NzkwIGJ1aWx0aW4vbWVyZ2UuYzo5MDMKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDEzIGJ1aWx0aW4vbWVyZ2UuYzoxMDIzCisjOiBzZXF1ZW5jZXIuYzoyMDYgYnVpbHRpbi9tZXJnZS5jOjc4MyBidWlsdGluL21lcmdlLmM6ODk2CisjOiBidWlsdGluL21lcmdlLmM6MTAwNiBidWlsdGluL21lcmdlLmM6MTAxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICJLdW5kZSBpbnRlIMO2cHBuYSBcIiVzXCIgZsO2ciBza3Jpdm5pbmciCiAKLSM6IHNlcXVlbmNlci5jOjIwOCBidWlsdGluL21lcmdlLmM6MzUwIGJ1aWx0aW4vbWVyZ2UuYzo3OTMKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDE1IGJ1aWx0aW4vbWVyZ2UuYzoxMDI4CisjOiBzZXF1ZW5jZXIuYzoyMDggYnVpbHRpbi9tZXJnZS5jOjM0MyBidWlsdGluL21lcmdlLmM6Nzg2CisjOiBidWlsdGluL21lcmdlLmM6MTAwOCBidWlsdGluL21lcmdlLmM6MTAyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBza3JpdmEgdGlsbCBcIiVzXCIiCkBAIC05NzYsNyArMTA4NCw3IEBACiAibWVkIFwiZ2l0IGFkZCA8c8O2a3bDpGdhcj5cIiBlbGxlciBcImdpdCBybSA8c8O2a3bDpGdhcj5cIlxuIgogIm9jaCBjaGVja2EgaW4gcmVzdWx0YXRldCBtZWQgXCJnaXQgY29tbWl0XCIiCiAKLSM6IHNlcXVlbmNlci5jOjI0NSBzZXF1ZW5jZXIuYzo4Njkgc2VxdWVuY2VyLmM6OTUyCisjOiBzZXF1ZW5jZXIuYzoyNDUgc2VxdWVuY2VyLmM6ODcwIHNlcXVlbmNlci5jOjk1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgdG8gJXMiCiBtc2dzdHIgIkt1bmRlIGludGUgc2tyaXZhIHRpbGwgJXMiCkBAIC05OTksMjAxICsxMTA3LDIwMSBAQAogbXNnc3RyICJDaGVja2EgaW4gZGluYSDDpG5kcmluZ2FyIGVsbGVyIGFudsOkbmQgXCJzdGFzaFwiIGbDtnIgYXR0IGZvcnRzw6R0dGEuIgogCiAjLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiBvciAiY2hlcnJ5LXBpY2siCi0jOiBzZXF1ZW5jZXIuYzozMjQKKyM6IHNlcXVlbmNlci5jOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIlczogS3VuZGUgaW50ZSBza3JpdmEgbnkgaW5kZXhmaWwiCiAKLSM6IHNlcXVlbmNlci5jOjM1NQorIzogc2VxdWVuY2VyLmM6MzU2CiBtc2dpZCAiQ291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXRcbiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBiZXN0w6RtbWEgSEVBRDpzIGluY2hlY2tuaW5nXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM3NworIzogc2VxdWVuY2VyLmM6Mzc4CiBtc2dpZCAiVW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlXG4iCiBtc2dzdHIgIkthbiBpbnRlIHVwcGRhdGVyYSBjYWNoZXRyw6RkXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQyMgorIzogc2VxdWVuY2VyLmM6NDIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXNcbiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSB0b2xrYSBpbmNoZWNrbmluZ2VuICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQyNworIzogc2VxdWVuY2VyLmM6NDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzXG4iCiBtc2dzdHIgIkt1bmRlIGludGUgdG9sa2EgZsO2csOkbGRyYWluY2hlY2tuaW5nZW4gJXNcbiIKIAotIzogc2VxdWVuY2VyLmM6NDkzCisjOiBzZXF1ZW5jZXIuYzo0OTQKIG1zZ2lkICJZb3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgogbXNnc3RyICJEaW4gaW5kZXhmaWwgaGFyIGludGUgc2xhZ2l0cyBpaG9wLiIKIAotIzogc2VxdWVuY2VyLmM6NTEyCisjOiBzZXF1ZW5jZXIuYzo1MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICJJbmNoZWNrbmluZyAlcyDDpHIgZW4gc2FtbWFuc2xhZ25pbmcsIG1lbiBmbGFnZ2FuIC1tIGFuZ2F2cyBpbnRlLiIKIAotIzogc2VxdWVuY2VyLmM6NTIwCisjOiBzZXF1ZW5jZXIuYzo1MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgogbXNnc3RyICJJbmNoZWNrbmluZyAlcyBoYXIgaW50ZSBmw7Zyw6RsZGVyICVkIgogCi0jOiBzZXF1ZW5jZXIuYzo1MjQKKyM6IHNlcXVlbmNlci5jOjUyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgogbXNnc3RyICJIdXZ1ZGxpbmplIGFuZ2F2cywgbWVuIGluY2hlY2tuaW5nZW4gJXMgw6RyIGludGUgZW4gc2FtbWFuc2xhZ25pbmciCiAKICMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSAicmV2ZXJ0IiBvcgogIy4gImNoZXJyeS1waWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEKLSM6IHNlcXVlbmNlci5jOjUzNworIzogc2VxdWVuY2VyLmM6NTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXM6IGthbiBpbnRlIHRvbGthIGbDtnLDpGxkcmFpbmNoZWNrbmluZ2VuICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo1NDEKKyM6IHNlcXVlbmNlci5jOjU0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIGZvciAlcyIKIG1zZ3N0ciAiS2FuIGludGUgaMOkbXRhIGluY2hlY2tuaW5nc21lZGRlbGFuZGUgZsO2ciAlcyIKIAotIzogc2VxdWVuY2VyLmM6NjI3CisjOiBzZXF1ZW5jZXIuYzo2MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSDDpW5ncmEgJXMuLi4gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjYyOAorIzogc2VxdWVuY2VyLmM6NjI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhcHBseSAlcy4uLiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0aWxsw6RtcGEgJXMuLi4gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjY2NAorIzogc2VxdWVuY2VyLmM6NjY1CiBtc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCiBtc2dzdHIgImRlbiBhbmdpdm5hIHVwcHPDpHR0bmluZ2VuIGluY2hlY2tuaW5nYXIgw6RyIHRvbSIKIAotIzogc2VxdWVuY2VyLmM6NjcyCisjOiBzZXF1ZW5jZXIuYzo2NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczogbWlzc2x5Y2thZGVzIGzDpHNhIGluZGV4ZXQiCiAKLSM6IHNlcXVlbmNlci5jOjY3NworIzogc2VxdWVuY2VyLmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6IG1pc3NseWNrYWRlcyB1cHBkYXRlcmEgaW5kZXhldCIKIAotIzogc2VxdWVuY2VyLmM6NzM1CisjOiBzZXF1ZW5jZXIuYzo3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90ICVzIGR1cmluZyBhICVzIgogbXNnc3RyICJrYW4gaW50ZSAlcyB1bmRlciBlbiAlcyIKIAotIzogc2VxdWVuY2VyLmM6NzU3CisjOiBzZXF1ZW5jZXIuYzo3NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIGxpbmUgJWQuIgogbXNnc3RyICJLYW4gaW50ZSB0b2xrYSByYWQgJWQuIgogCi0jOiBzZXF1ZW5jZXIuYzo3NjIKKyM6IHNlcXVlbmNlci5jOjc2MwogbXNnaWQgIk5vIGNvbW1pdHMgcGFyc2VkLiIKIG1zZ3N0ciAiSW5nYSBpbmNoZWNrbmluZ2FyIGzDpHN0ZXMuIgogCi0jOiBzZXF1ZW5jZXIuYzo3NzUKKyM6IHNlcXVlbmNlci5jOjc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAlcyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSDDtnBwbmEgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjc3OQorIzogc2VxdWVuY2VyLmM6NzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkICVzLiIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSAlcy4iCiAKLSM6IHNlcXVlbmNlci5jOjc4NgorIzogc2VxdWVuY2VyLmM6Nzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAlcyIKIG1zZ3N0ciAiT2FudsOkbmRiYXJ0IG1hbnVzOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODE0CisjOiBzZXF1ZW5jZXIuYzo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBrZXk6ICVzIgogbXNnc3RyICJGZWxha3RpZyBueWNrZWw6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4MTcKKyM6IHNlcXVlbmNlci5jOjgxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgIkZlbGFrdGlndCB2w6RyZGUgZsO2ciAlczogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjgyOQorIzogc2VxdWVuY2VyLmM6ODMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAlcyIKIG1zZ3N0ciAiVHJhc2lndCBtYW51czogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjg1MAorIzogc2VxdWVuY2VyLmM6ODUxCiBtc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAiZW4gXCJjaGVycnktcGlja1wiIGVsbGVyIFwicmV2ZXJ0XCIgcMOlZ8OlciByZWRhbiIKIAotIzogc2VxdWVuY2VyLmM6ODUxCisjOiBzZXF1ZW5jZXIuYzo4NTIKIG1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogbXNnc3RyICJ0ZXN0YSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCiAKLSM6IHNlcXVlbmNlci5jOjg1NQorIzogc2VxdWVuY2VyLmM6ODU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBza2FwYSBcInNlcXVlbmNlclwiLWthdGFsb2dlbiBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjg3MSBzZXF1ZW5jZXIuYzo5NTYKKyM6IHNlcXVlbmNlci5jOjg3MiBzZXF1ZW5jZXIuYzo5NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3Igd3JhcHBpbmcgdXAgJXMuIgogbXNnc3RyICJGZWwgdmlkIG9tYnJ5dG5pbmcgYXYgJXMuIgogCi0jOiBzZXF1ZW5jZXIuYzo4OTAgc2VxdWVuY2VyLmM6MTAyNAorIzogc2VxdWVuY2VyLmM6ODkxIHNlcXVlbmNlci5jOjEwMjUKIG1zZ2lkICJubyBjaGVycnktcGljayBvciByZXZlcnQgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgImluZ2VuIFwiY2hlcnJ5LXBpY2tcIiBlbGxlciBcInJldmVydFwiIHDDpWfDpXIiCiAKLSM6IHNlcXVlbmNlci5jOjg5MgorIzogc2VxdWVuY2VyLmM6ODkzCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgSEVBRCIKIG1zZ3N0ciAia2FuIGludGUgYmVzdMOkbW1hIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjg5NAorIzogc2VxdWVuY2VyLmM6ODk1CiBtc2dpZCAiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgImthbiBpbnRlIGF2YnJ5dGEgZnLDpW4gZW4gZ3JlbiBzb20gw6RubnUgaW50ZSDDpHIgZsO2ZGQiCiAKLSM6IHNlcXVlbmNlci5jOjkxNiBidWlsdGluL2FwcGx5LmM6NDA2MQorIzogc2VxdWVuY2VyLmM6OTE3IGJ1aWx0aW4vYXBwbHkuYzo0MDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKIG1zZ3N0ciAia2FuIGludGUgw7ZwcG5hICVzOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6OTE5CisjOiBzZXF1ZW5jZXIuYzo5MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJXM6ICVzIgogbXNnc3RyICJrYW4gaW50ZSBsw6RzYSAlczogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjkyMAorIzogc2VxdWVuY2VyLmM6OTIxCiBtc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAib3bDpG50YXQgZmlsc2x1dCIKIAotIzogc2VxdWVuY2VyLmM6OTI2CisjOiBzZXF1ZW5jZXIuYzo5MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IgogbXNnc3RyICJzcGFyYWQgSEVBRC1maWwgZnLDpW4gZsO2cmUgXCJjaGVycnktcGlja1wiLCBcIiVzXCIsIMOkciB0cmFzaWciCiAKLSM6IHNlcXVlbmNlci5jOjk0OQorIzogc2VxdWVuY2VyLmM6OTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmb3JtYXQgJXMuIgogbXNnc3RyICJLdW5kZSBpbnRlIGZvcm1hdGVyYSAlcy4iCiAKLSM6IHNlcXVlbmNlci5jOjEwOTIKKyM6IHNlcXVlbmNlci5jOjEwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiVzOiBrYW4gaW50ZSBnw7ZyYSBcImNoZXJyeS1waWNrXCIgcMOlIHR5cGVuIFwiJXNcIiIKIAotIzogc2VxdWVuY2VyLmM6MTA5NQorIzogc2VxdWVuY2VyLmM6MTA5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHJldmlzaW9uIgogbXNnc3RyICIlczogZmVsYWt0aWcgcmV2aXNpb24iCiAKLSM6IHNlcXVlbmNlci5jOjExMjkKKyM6IHNlcXVlbmNlci5jOjExMzAKIG1zZ2lkICJDYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIkthbiBpbnRlIMOlbmdyYSBzb20gZsO2cnN0YSBpbmNoZWNrbmluZyIKIAotIzogc2VxdWVuY2VyLmM6MTEzMAorIzogc2VxdWVuY2VyLmM6MTEzMQogbXNnaWQgIkNhbid0IGNoZXJyeS1waWNrIGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiS2FuIGludGUgZ8O2cmEgXCJjaGVycnktcGlja1wiIGkgZXR0IHRvbXQgaHV2dWQiCiAKLSM6IHNoYTFfbmFtZS5jOjQ0MAorIzogc2hhMV9uYW1lLmM6NDM5CiBtc2dpZCAiIgogIkdpdCBub3JtYWxseSBuZXZlciBjcmVhdGVzIGEgcmVmIHRoYXQgZW5kcyB3aXRoIDQwIGhleCBjaGFyYWN0ZXJzXG4iCiAiYmVjYXVzZSBpdCB3aWxsIGJlIGlnbm9yZWQgd2hlbiB5b3UganVzdCBzcGVjaWZ5IDQwLWhleC4gVGhlc2UgcmVmc1xuIgpAQCAtMTIxNSwyNTYgKzEzMjMsMzQyIEBACiAiVW5kZXJzw7ZrIHJlZmVyZW5zZXJuYSBvY2ggdGEga2Fuc2tlIGJvcnQgZGVtLiBTdMOkbmcgYXYgbWVkZGVsYW5kZXRcbiIKICJnZW5vbSBhdHQga8O2cmEgXCJnaXQgY29uZmlnIGFkdmljZS5vYmplY3ROYW1lV2FybmluZyBmYWxzZVwiIgogCi0jOiBzaGExX25hbWUuYzoxMDk3CisjOiBzaGExX25hbWUuYzoxMTA5CiBtc2dpZCAiSEVBRCBkb2VzIG5vdCBwb2ludCB0byBhIGJyYW5jaCIKIG1zZ3N0ciAiSEVBRCBwZWthciBpbnRlIHDDpSBlbiBncmVuIgogCi0jOiBzaGExX25hbWUuYzoxMTAwCisjOiBzaGExX25hbWUuYzoxMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggYnJhbmNoOiAnJXMnIgogbXNnc3RyICJPa8OkbmQgZ3JlbjogXCIlc1wiIgogCi0jOiBzaGExX25hbWUuYzoxMTAyCisjOiBzaGExX25hbWUuYzoxMTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHVwc3RyZWFtIGNvbmZpZ3VyZWQgZm9yIGJyYW5jaCAnJXMnIgogbXNnc3RyICJJbmdlbiBzdGFuZGFyZHVwcHN0csO2bSBhbmdpdmVuIGbDtnIgZ3JlbmVuIFwiJXNcIiIKIAotIzogc2hhMV9uYW1lLmM6MTEwNgorIzogc2hhMV9uYW1lLmM6MTExOAogIywgYy1mb3JtYXQKIG1zZ2lkICJVcHN0cmVhbSBicmFuY2ggJyVzJyBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiVXBwc3Ryw7Ztc2dyZW5lbiBcIiVzXCIgw6RyIGludGUgbGFncmFkIHNvbSBlbiBmasOkcnJzcMOlcmFuZGUgZ3JlbiIKIAotIzogd3JhcHBlci5jOjQwOAorIzogc3VibW9kdWxlLmM6NjQgc3VibW9kdWxlLmM6OTgKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHVubWVyZ2VkIC5naXRtb2R1bGVzLCByZXNvbHZlIG1lcmdlIGNvbmZsaWN0cyBmaXJzdCIKK21zZ3N0ciAiIgorIkthbiBpbnRlIMOkbmRyYSAuZ2l0bW9kdWxlcy1maWwgc29tIGludGUgc2xhZ2l0cyBpaG9wLCBsw7ZzICIKKyJzYW1tYW5zbGFnbmluZ3Nrb25mbGlrdGVyIGbDtnJzdCIKKworIzogc3VibW9kdWxlLmM6Njggc3VibW9kdWxlLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKK21zZ3N0ciAiSGl0dGFkZSBpbnRlIG7DpWdvbiBzZWt0aW9uIGkgLmdpdG1vZHVsZXMgZMOkciBzw7ZrdsOkZz0lcyIKKworIy4gTWF5YmUgdGhlIHVzZXIgYWxyZWFkeSBkaWQgdGhhdCwgZG9uJ3QgZXJyb3Igb3V0IGhlcmUKKyM6IHN1Ym1vZHVsZS5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgLmdpdG1vZHVsZXMgZW50cnkgJXMiCittc2dzdHIgIkt1bmRlIGludGUgdXBwZGF0ZXJhIC5naXRtb2R1bGVzLXBvc3RlbiAlcyIKKworIy4gTWF5YmUgdGhlIHVzZXIgYWxyZWFkeSBkaWQgdGhhdCwgZG9uJ3QgZXJyb3Igb3V0IGhlcmUKKyM6IHN1Ym1vZHVsZS5jOjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIC5naXRtb2R1bGVzIGVudHJ5IGZvciAlcyIKK21zZ3N0ciAiS3VuZGUgaW50ZSB0YSBib3J0IC5naXRtb2R1bGVzLXBvc3RlbiBmw7ZyICVzIgorCisjOiBzdWJtb2R1bGUuYzoxMjcKK21zZ2lkICJjb3VsZCBub3QgZmluZCAuZ2l0bW9kdWxlcyBpbiBpbmRleCIKK21zZ3N0ciAia3VuZGUgaW50ZSBoaXR0YSAuZ2l0bW9kdWxlcyBpIGluZGV4ZXQiCisKKyM6IHN1Ym1vZHVsZS5jOjEzMworbXNnaWQgInJlYWRpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBsw6RzYSB1cHBkYXRlcmFkIC5naXRtb2R1bGVzIgorCisjOiBzdWJtb2R1bGUuYzoxMzUKK21zZ2lkICJ1bmFibGUgdG8gc3RhdCB1cGRhdGVkIC5naXRtb2R1bGVzIgorbXNnc3RyICJrYW4gaW50ZSB0YSBzdGF0dXMgcMOlIHVwcGRhdGVyYWQgLmdpdG1vZHVsZXMiCisKKyM6IHN1Ym1vZHVsZS5jOjEzOQorbXNnaWQgInVuYWJsZSB0byByZW1vdmUgLmdpdG1vZHVsZXMgZnJvbSBpbmRleCIKK21zZ3N0ciAia2FuIGludGUgdGEgYm9ydCAuZ2l0bW9kdWxlcyBmcsOlbiBpbmRleGV0IgorCisjOiBzdWJtb2R1bGUuYzoxNDEKK21zZ2lkICJhZGRpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBsw6RnZ2EgdGlsbCB1cHBkYXRlcmFkIC5naXRtb2R1bGVzIgorCisjOiBzdWJtb2R1bGUuYzoxNDMKK21zZ2lkICJzdGFnaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgorbXNnc3RyICJtaXNzbHlja2FkZXMga8O2YSB1cHBkYXRlcmFkIC5naXRtb2R1bGVzIgorCisjOiBzdWJtb2R1bGUuYzoxMTQ0IGJ1aWx0aW4vaW5pdC1kYi5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGdpdCBsaW5rICVzIgorbXNnc3RyICJLdW5kZSBpbnRlIHNrYXBhIGdpdGzDpG5rICVzIgorCisjOiBzdWJtb2R1bGUuYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBzZXQgY29yZS53b3JrdHJlZSBpbiAlcyIKK21zZ3N0ciAiS3VuZGUgaW50ZSBzw6R0dGEgY29yZS53b3JrdHJlZSBpICVzIgorCisjOiB1cmxtYXRjaC5jOjEyMAorbXNnaWQgImludmFsaWQgVVJMIHNjaGVtZSBuYW1lIG9yIG1pc3NpbmcgJzovLycgc3VmZml4IgorbXNnc3RyICJvZ2lsdGlnIFVSTC1zY2hlbWFuYW1uIGVsbGVyIHNha25hdCBcIjovL1wiLXN1ZmZpeCIKKworIzogdXJsbWF0Y2guYzoxNDQgdXJsbWF0Y2guYzoyOTcgdXJsbWF0Y2guYzozNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCAlWFggZXNjYXBlIHNlcXVlbmNlIgorbXNnc3RyICJvZ2lsdGlnICVYWC10ZWNrZW5zZWt2ZW5zIgorCisjOiB1cmxtYXRjaC5jOjE3MgorbXNnaWQgIm1pc3NpbmcgaG9zdCBhbmQgc2NoZW1lIGlzIG5vdCAnZmlsZTonIgorbXNnc3RyICJ2w6RyZCBzYWtuYXMgb2NoIHNjaGVtYXQgw6RyIGludGUgXCJmaWxlOlwiIgorCisjOiB1cmxtYXRjaC5jOjE4OQorbXNnaWQgImEgJ2ZpbGU6JyBVUkwgbWF5IG5vdCBoYXZlIGEgcG9ydCBudW1iZXIiCittc2dzdHIgImVuIFwiZmlsZTpcIi1VUkwga2FuIGludGUgaW5uZWjDpWxsYSBwb3J0bnVtbWVyIgorCisjOiB1cmxtYXRjaC5jOjE5OQorbXNnaWQgImludmFsaWQgY2hhcmFjdGVycyBpbiBob3N0IG5hbWUiCittc2dzdHIgIm9naWx0aWdhIHRlY2tlbiBpIHbDpHJkbmFtbmV0IgorCisjOiB1cmxtYXRjaC5jOjI0NCB1cmxtYXRjaC5jOjI1NQorbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIiCittc2dzdHIgImZlbGFrdGlndCBwb3J0bnVtbWVyIgorCisjOiB1cmxtYXRjaC5jOjMyMgorbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCittc2dzdHIgImZlbGFrdGl0IFwiLi5cIi1zw7ZrdsOkZ3NzZWdtZW50IgorCisjOiB3cmFwcGVyLmM6NDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJzogJXMiCiBtc2dzdHIgImthbiBpbnRlIGtvbW1hIMOldCBcIiVzXCI6ICVzIgogCi0jOiB3cmFwcGVyLmM6NDI5CisjOiB3cmFwcGVyLmM6NDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJyIKIG1zZ3N0ciAia2FuIGludGUga29tbWEgw6V0IFwiJXNcIiIKIAotIzogd3JhcHBlci5jOjQ0MAorIzogd3JhcHBlci5jOjQ1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9vayB1cCBjdXJyZW50IHVzZXIgaW4gdGhlIHBhc3N3ZCBmaWxlOiAlcyIKIG1zZ3N0ciAia2FuIGludGUgc2zDpSB1cHAgYWt0dWVsbCBhbnbDpG5kYXJlIGkgcGFzc3dkLWZpbGVuOiAlcyIKIAotIzogd3JhcHBlci5jOjQ0MQorIzogd3JhcHBlci5jOjQ1NQogbXNnaWQgIm5vIHN1Y2ggdXNlciIKIG1zZ3N0ciAib2vDpG5kIGFudsOkbmRhcmUiCiAKLSM6IHd0LXN0YXR1cy5jOjE0MQorIzogd3Qtc3RhdHVzLmM6MTUwCiBtc2dpZCAiVW5tZXJnZWQgcGF0aHM6IgogbXNnc3RyICJFaiBzYW1tYW5zbGFnbmEgc8O2a3bDpGdhcjoiCiAKLSM6IHd0LXN0YXR1cy5jOjE2OCB3dC1zdGF0dXMuYzoxOTUKKyM6IHd0LXN0YXR1cy5jOjE3NyB3dC1zdGF0dXMuYzoyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJlc2V0ICVzIDxmaWw+Li4uXCIgZsO2ciBhdHQgdGEgYm9ydCBmcsOlbiBrw7YpIgogCi0jOiB3dC1zdGF0dXMuYzoxNzAgd3Qtc3RhdHVzLmM6MTk3CisjOiB3dC1zdGF0dXMuYzoxNzkgd3Qtc3RhdHVzLmM6MjA2CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWw+Li4uXCIgZsO2ciBhdHQgdGEgYm9ydCBmcsOlbiBrw7YpIgogCi0jOiB3dC1zdGF0dXMuYzoxNzQKKyM6IHd0LXN0YXR1cy5jOjE4MwogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBhZGQgPGZpbD4uLi5cIiBmw7ZyIGF0dCBhbmdlIGzDtnNuaW5nKSIKIAotIzogd3Qtc3RhdHVzLmM6MTc2IHd0LXN0YXR1cy5jOjE4MAorIzogd3Qtc3RhdHVzLmM6MTg1IHd0LXN0YXR1cy5jOjE4OQogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBhZGQvcm0gPGZpbD4uLi5cIiBzb20gbMOkbXBsaWd0IGbDtnIgYXR0IGFuZ2UgbMO2c25pbmcpIgogCi0jOiB3dC1zdGF0dXMuYzoxNzgKKyM6IHd0LXN0YXR1cy5jOjE4NwogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJtIDxmaWw+Li4uXCIgZsO2ciBhdHQgYW5nZSBsw7ZzbmluZykiCiAKLSM6IHd0LXN0YXR1cy5jOjE4OQorIzogd3Qtc3RhdHVzLmM6MTk4CiBtc2dpZCAiQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgogbXNnc3RyICLDhG5kcmluZ2FyIGF0dCBjaGVja2EgaW46IgogCi0jOiB3dC1zdGF0dXMuYzoyMDcKKyM6IHd0LXN0YXR1cy5jOjIxNgogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAiw4RuZHJpbmdhciBlaiBpIGluY2hlY2tuaW5nc2vDtm46IgogCi0jOiB3dC1zdGF0dXMuYzoyMTEKKyM6IHd0LXN0YXR1cy5jOjIyMAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAoYW52w6RuZCBcImdpdCBhZGQgPGZpbD4uLi5cIiBmw7ZyIGF0dCB1cHBkYXRlcmEgdmFkIHNvbSBza2FsbCBjaGVja2FzIGluKSIKIAotIzogd3Qtc3RhdHVzLmM6MjEzCisjOiB3dC1zdGF0dXMuYzoyMjIKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKGFudsOkbmQgXCJnaXQgYWRkL3JtIDxmaWw+Li4uXCIgZsO2ciBhdHQgdXBwZGF0ZXJhIHZhZCBzb20gc2thbGwgY2hlY2thcyBpbikiCiAKLSM6IHd0LXN0YXR1cy5jOjIxNAorIzogd3Qtc3RhdHVzLmM6MjIzCiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpIgogbXNnc3RyICIiCiAiICAoYW52w6RuZCBcImdpdCBjaGVja291dCAtLSA8ZmlsPi4uLlwiIGbDtnIgYXR0IGbDtnJrYXN0YSDDpG5kcmluZ2FyIGkgIgogImFyYmV0c2thdGFsb2dlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjIxNgorIzogd3Qtc3RhdHVzLmM6MjI1CiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIiCiAiICAoY2hlY2thIGluIGVsbGVyIGbDtnJrYXN0YSBvc3DDpXJhdCBlbGxlciDDpG5kcmF0IGlubmVow6VsbCBpIHVuZGVybW9kdWxlcikiCiAKLSM6IHd0LXN0YXR1cy5jOjIyOAorIzogd3Qtc3RhdHVzLmM6MjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAoYW52w6RuZCBcImdpdCAlcyA8ZmlsPi4uLlwiIGbDtnIgYXR0IHRhIG1lZCBpIGRldCBzb20gc2thbGwgY2hlY2thcyBpbikiCiAKLSM6IHd0LXN0YXR1cy5jOjI0NQorIzogd3Qtc3RhdHVzLmM6MjU0CiBtc2dpZCAiYnVnIgogbXNnc3RyICJwcm9ncmFtZmVsIgogCi0jOiB3dC1zdGF0dXMuYzoyNTAKKyM6IHd0LXN0YXR1cy5jOjI1OQogbXNnaWQgImJvdGggZGVsZXRlZDoiCiBtc2dzdHIgImJvcnR0YWdldCBhdiBiw6RnZ2U6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTEKKyM6IHd0LXN0YXR1cy5jOjI2MAogbXNnaWQgImFkZGVkIGJ5IHVzOiIKIG1zZ3N0ciAidGlsbGFndCBhdiBvc3M6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTIKKyM6IHd0LXN0YXR1cy5jOjI2MQogbXNnaWQgImRlbGV0ZWQgYnkgdGhlbToiCiBtc2dzdHIgImJvcnR0YWdldCBhdiBkZW06IgogCi0jOiB3dC1zdGF0dXMuYzoyNTMKKyM6IHd0LXN0YXR1cy5jOjI2MgogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICJ0aWxsYWd0IGF2IGRlbToiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NAorIzogd3Qtc3RhdHVzLmM6MjYzCiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgImJvcnR0YWdldCBhdiBvc3M6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTUKKyM6IHd0LXN0YXR1cy5jOjI2NAogbXNnaWQgImJvdGggYWRkZWQ6IgogbXNnc3RyICJ0aWxsYWd0IGF2IGLDpGdnZToiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NgorIzogd3Qtc3RhdHVzLmM6MjY1CiBtc2dpZCAiYm90aCBtb2RpZmllZDoiCiBtc2dzdHIgIsOkbmRyYXQgYXYgYsOkZ2dlOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg2CisjOiB3dC1zdGF0dXMuYzoyNzUKK21zZ2lkICJuZXcgZmlsZSIKK21zZ3N0ciAibnkgZmlsIgorCisjOiB3dC1zdGF0dXMuYzoyNzcKK21zZ2lkICJjb3BpZWQiCittc2dzdHIgImtvcGllcmFkIgorCisjOiB3dC1zdGF0dXMuYzoyNzkKK21zZ2lkICJkZWxldGVkIgorbXNnc3RyICJib3J0dGFnZW4iCisKKyM6IHd0LXN0YXR1cy5jOjI4NQorbXNnaWQgInR5cGVjaGFuZ2UiCittc2dzdHIgInR5cGJ5dGUiCisKKyM6IHd0LXN0YXR1cy5jOjI4NworbXNnaWQgInVua25vd24iCittc2dzdHIgIm9rw6RuZCIKKworIzogd3Qtc3RhdHVzLmM6Mjg5Cittc2dpZCAidW5tZXJnZWQiCittc2dzdHIgIm9zYW1tYW5zbGFnZW4iCisKKyM6IHd0LXN0YXR1cy5jOjMzNgogbXNnaWQgIm5ldyBjb21taXRzLCAiCiBtc2dzdHIgIm55YSBpbmNoZWNrbmluZ2FyLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjI4OAorIzogd3Qtc3RhdHVzLmM6MzM4CiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICLDpG5kcmF0IGlubmVow6VsbCwgIgogCi0jOiB3dC1zdGF0dXMuYzoyOTAKKyM6IHd0LXN0YXR1cy5jOjM0MAogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgIm9zcMOlcmF0IGlubmVow6VsbCwgIgogCi0jOiB3dC1zdGF0dXMuYzozMDcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IGZpbGU6ICAgJXMiCi1tc2dzdHIgIm55IGZpbDogICAgICVzIgotCi0jOiB3dC1zdGF0dXMuYzozMTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY29waWVkOiAgICAgJXMgLT4gJXMiCi1tc2dzdHIgImtvcGllcmFkOiAgICVzIC0+ICVzIgotCi0jOiB3dC1zdGF0dXMuYzozMTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZGVsZXRlZDogICAgJXMiCi1tc2dzdHIgImJvcnR0YWdlbjogICVzIgotCi0jOiB3dC1zdGF0dXMuYzozMTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibW9kaWZpZWQ6ICAgJXMiCi1tc2dzdHIgIsOkbmRyYWQ6ICAgICAlcyIKLQotIzogd3Qtc3RhdHVzLmM6MzE5Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlbmFtZWQ6ICAgICVzIC0+ICVzIgotbXNnc3RyICJuYW1uYnl0ZTogICAlcyAtPiAlcyIKLQotIzogd3Qtc3RhdHVzLmM6MzIyCi0jLCBjLWZvcm1hdAotbXNnaWQgInR5cGVjaGFuZ2U6ICVzIgotbXNnc3RyICJ0eXBieXRlOiAgICAlcyIKLQotIzogd3Qtc3RhdHVzLmM6MzI1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVua25vd246ICAgICVzIgotbXNnc3RyICJva8OkbmQ6ICAgICAgJXMiCi0KLSM6IHd0LXN0YXR1cy5jOjMyOAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bm1lcmdlZDogICAlcyIKLW1zZ3N0ciAib3NhbW1hbnNsLjogJXMiCi0KLSM6IHd0LXN0YXR1cy5jOjMzMQorIzogd3Qtc3RhdHVzLmM6MzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJ1ZzogdW5oYW5kbGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICJwcm9ncmFtZmVsOiBkaWZmLXN0YXR1cyAlYyBlaiBoYW50ZXJhZCIKIAotIzogd3Qtc3RhdHVzLmM6ODAzCisjOiB3dC1zdGF0dXMuYzo3MzIKK21zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKK21zZ3N0ciAiVW5kZXJtb2R1bGVyIMOkbmRyYWRlIG1lbiBpbnRlIHVwcGRhdGVyYWRlOiIKKworIzogd3Qtc3RhdHVzLmM6NzM0Cittc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKK21zZ3N0ciAiVW5kZXJtb2R1bGVycyDDpG5kcmluZ2FyIGF0dCBjaGVja2EgaW46IgorCisjOiB3dC1zdGF0dXMuYzo4MzYKK21zZ2lkICIiCisiRG8gbm90IHRvdWNoIHRoZSBsaW5lIGFib3ZlLlxuIgorIkV2ZXJ5dGhpbmcgYmVsb3cgd2lsbCBiZSByZW1vdmVkLiIKK21zZ3N0ciAiIgorIlLDtnIgaW50ZSByYWRlbiBvdmFuLlxuIgorIkFsbHQgbmVkYW4ga29tbWVyIHRhcyBib3J0LiIKKworIzogd3Qtc3RhdHVzLmM6ODk5CiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICJEdSBoYXIgZWogc2FtbWFuc2xhZ25hIHPDtmt2w6RnYXIuIgogCi0jOiB3dC1zdGF0dXMuYzo4MDYKKyM6IHd0LXN0YXR1cy5jOjkwMgogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjb21taXRcIikiCiBtc2dzdHIgIiAgKHLDpHR0YSBrb25mbGlrdGVyIG9jaCBrw7ZyIFwiZ2l0IGNvbW1pdFwiKSIKIAotIzogd3Qtc3RhdHVzLmM6ODA5CisjOiB3dC1zdGF0dXMuYzo5MDUKIG1zZ2lkICJBbGwgY29uZmxpY3RzIGZpeGVkIGJ1dCB5b3UgYXJlIHN0aWxsIG1lcmdpbmcuIgogbXNnc3RyICJBbGxhIGtvbmZsaWt0ZXIgaGFyIHLDpHR0YXRzIG1lbiBkdSDDpHIgZm9ydGZhcmFuZGUgaSBlbiBzYW1tYW5zbGFnbmluZy4iCiAKLSM6IHd0LXN0YXR1cy5jOjgxMgorIzogd3Qtc3RhdHVzLmM6OTA4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBjb21taXRcIiBmw7ZyIGF0dCBzbHV0ZsO2cmEgc2FtbWFuc2xhZ25pbmdlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjgyMgorIzogd3Qtc3RhdHVzLmM6OTE4CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICJEdSDDpHIgaSBtaXR0ZW4gYXYgZW4ga8O2cm5pbmcgYXYgXCJnaXQgYW1cIi4iCiAKLSM6IHd0LXN0YXR1cy5jOjgyNQorIzogd3Qtc3RhdHVzLmM6OTIxCiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICJBa3R1ZWxsIHBhdGNoIMOkciB0b20uIgogCi0jOiB3dC1zdGF0dXMuYzo4MjkKKyM6IHd0LXN0YXR1cy5jOjkyNQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKHLDpHR0YSBrb25mbGlrdGVyIG9jaCBrw7ZyIHNlZGFuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjgzMQorIzogd3Qtc3RhdHVzLmM6OTI3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgYW0gLS1za2lwXCIgZsO2ciBhdHQgaG9wcGEgw7Z2ZXIgcGF0Y2hlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjgzMworIzogd3Qtc3RhdHVzLmM6OTI5CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IGFtIC0tYWJvcnRcIiBmw7ZyIGF0dCDDpXRlcnN0w6RsbGEgdXJzcHJ1bmdzZ3JlbmVuKSIKIAotIzogd3Qtc3RhdHVzLmM6ODkzIHd0LXN0YXR1cy5jOjkxMAorIzogd3Qtc3RhdHVzLmM6OTg5IHd0LXN0YXR1cy5jOjEwMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIkR1IGjDpWxsZXIgcMOlIGF0dCBvbWJhc2VyYSBncmVuZW4gXCIlc1wiIG92YW5ww6UgXCIlc1wiLiIKIAotIzogd3Qtc3RhdHVzLmM6ODk4IHd0LXN0YXR1cy5jOjkxNQorIzogd3Qtc3RhdHVzLmM6OTk0IHd0LXN0YXR1cy5jOjEwMTEKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iCiBtc2dzdHIgIkR1IGjDpWxsZXIgcMOlIG1lZCBlbiBvbWJhc2VyaW5nLiIKIAotIzogd3Qtc3RhdHVzLmM6OTAxCisjOiB3dC1zdGF0dXMuYzo5OTcKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAocsOkdHRhIGtvbmZsaWt0ZXIgb2NoIGvDtnIgc2VkYW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjkwMworIzogd3Qtc3RhdHVzLmM6OTk5CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiBmw7ZyIGF0dCBob3BwYSDDtnZlciBwYXRjaGVuKSIKIAotIzogd3Qtc3RhdHVzLmM6OTA1CisjOiB3dC1zdGF0dXMuYzoxMDAxCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgZsO2ciBhdHQgY2hlY2thIHV0IHVyc3BydW5nc2dyZW5lbikiCiAKLSM6IHd0LXN0YXR1cy5jOjkxOAorIzogd3Qtc3RhdHVzLmM6MTAxNAogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoYWxsYSBrb25mbGlrdGVyIHLDpHR0YWRlOiBrw7ZyIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5MjIKKyM6IHd0LXN0YXR1cy5jOjEwMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKQEAgLTE0NzIsMTE3ICsxNjY2LDExOCBAQAogIkR1IGjDpWxsZXIgcMOlIGF0dCBkZWxhIHVwcCBlbiBpbmNoZWNrbmluZyBtZWRhbiBkdSBvbWJhc2VyYXIgZ3JlbmVuIFwiJXNcIiAiCiAib3ZhbnDDpSBcIiVzXCIuIgogCi0jOiB3dC1zdGF0dXMuYzo5MjcKKyM6IHd0LXN0YXR1cy5jOjEwMjMKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiRHUgaMOlbGxlciBww6UgYXR0IGRlbGEgdXBwIGVuIGluY2hlY2tuaW5nIGkgZW4gb21iYXNlcmluZy4iCiAKLSM6IHd0LXN0YXR1cy5jOjkzMAorIzogd3Qtc3RhdHVzLmM6MTAyNgogbXNnaWQgIiAgKE9uY2UgeW91ciB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVhbiwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChTw6UgZm9ydCBkaW4gYXJiZXRza2F0YWxvZyDDpHIgcmVuLCBrw7ZyIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5MzQKKyM6IHd0LXN0YXR1cy5jOjEwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiIgogIkR1IGjDpWxsZXIgcMOlIGF0dCByZWRpZ2VyYSBlbiBpbmNoZWNrbmluZyBtZWRhbiBkdSBvbWJhc2VyYXIgZ3JlbmVuIFwiJXNcIiAiCiAib3ZhbnDDpSBcIiVzXCIuIgogCi0jOiB3dC1zdGF0dXMuYzo5MzkKKyM6IHd0LXN0YXR1cy5jOjEwMzUKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIkR1IGjDpWxsZXIgcMOlIGF0dCByZWRpZ2VyYSBlbiBpbmNoZWNrbmluZyB1bmRlciBlbiBvbWJhc2VyaW5nLiIKIAotIzogd3Qtc3RhdHVzLmM6OTQyCisjOiB3dC1zdGF0dXMuYzoxMDM4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKIG1zZ3N0ciAiIgogIiAgKGFudsOkbmQgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiBmw7ZyIGF0dCBsw6RnZ2EgdGlsbCBww6UgYWt0dWVsbCBpbmNoZWNrbmluZykiCiAKLSM6IHd0LXN0YXR1cy5jOjk0NAorIzogd3Qtc3RhdHVzLmM6MTA0MAogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG7DpHIgZHUgw6RyIG7DtmpkIG1lZCBkaW5hIMOkbmRyaW5nYXIpIgogCi0jOiB3dC1zdGF0dXMuYzo5NTQKLW1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZy4iCi1tc2dzdHIgIkR1IGjDpWxsZXIgcMOlIG1lZCBlbiBcImNoZXJyeS1waWNrXCIuIgorIzogd3Qtc3RhdHVzLmM6MTA1MAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgorbXNnc3RyICJEdSBow6VsbGVyIHDDpSBtZWQgZW4gXCJjaGVycnktcGlja1wiIGF2IGluY2hlY2tuaW5nZW4gJXMuIgogCi0jOiB3dC1zdGF0dXMuYzo5NTgKKyM6IHd0LXN0YXR1cy5jOjEwNTUKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAocsOkdHRhIGtvbmZsaWt0ZXIgb2NoIGvDtnIgc2VkYW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6OTYxCisjOiB3dC1zdGF0dXMuYzoxMDU4CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGFsbGEga29uZmxpa3RlciByw6R0dGFkZToga8O2ciBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5NjMKKyM6IHd0LXN0YXR1cy5jOjEwNjAKIG1zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKGFudsOkbmQgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIGbDtnIgYXR0IGF2YnJ5dGEgXCJjaGVycnktcGlja1wiLSIKICJvcGVyYXRpb25lbikiCiAKLSM6IHd0LXN0YXR1cy5jOjk3MgorIzogd3Qtc3RhdHVzLmM6MTA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZXZlcnRpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiRHUgaMOlbGxlciBww6UgbWVkIGF0dCDDpW5ncmEgaW5jaGVja25pbmdlbiAlcy4iCiAKLSM6IHd0LXN0YXR1cy5jOjk3NworIzogd3Qtc3RhdHVzLmM6MTA3NAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAocsOkdHRhIGtvbmZsaWt0ZXIgb2NoIGvDtnIgc2VkYW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjk4MAorIzogd3Qtc3RhdHVzLmM6MTA3NwogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoYWxsYSBrb25mbGlrdGVyIHLDpHR0YWRlOiBrw7ZyIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5ODIKKyM6IHd0LXN0YXR1cy5jOjEwNzkKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgZsO2ciBhdHQgYXZicnl0YSDDpW5ncmFuZGV0KSIKIAotIzogd3Qtc3RhdHVzLmM6OTkzCisjOiB3dC1zdGF0dXMuYzoxMDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiRHUgaMOlbGxlciBww6UgbWVkIGVuIFwiYmlzZWN0XCIsIHN0YXJ0YWQgZnLDpW4gZ3JlbmVuIFwiJXNcIi4iCiAKLSM6IHd0LXN0YXR1cy5jOjk5NworIzogd3Qtc3RhdHVzLmM6MTA5NAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgIkR1IGjDpWxsZXIgcMOlIG1lZCBlbiBcImJpc2VjdFwiLiIKIAotIzogd3Qtc3RhdHVzLmM6MTAwMAorIzogd3Qtc3RhdHVzLmM6MTA5NwogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiIgogIiAgKGFudsOkbmQgXCJnaXQgYmlzZWN0IHJlc2V0XCIgZsO2ciBhdHQga29tbWEgdGlsbGJha2EgdGlsbCB1cnNwcnVuZ3NncmVuZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMTczCisjOiB3dC1zdGF0dXMuYzoxMjcyCiBtc2dpZCAiT24gYnJhbmNoICIKIG1zZ3N0ciAiUMOlIGdyZW5lbiAiCiAKLSM6IHd0LXN0YXR1cy5jOjExODAKKyM6IHd0LXN0YXR1cy5jOjEyNzkKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICJvbWJhc2VyaW5nIHDDpWfDpXI7IG92YW5ww6UiCiAKLSM6IHd0LXN0YXR1cy5jOjExODcKKyM6IHd0LXN0YXR1cy5jOjEyODYKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKIG1zZ3N0ciAiSEVBRCBmcsOlbmtvcHBsYWQgdmlkICIKIAotIzogd3Qtc3RhdHVzLmM6MTE4OQorIzogd3Qtc3RhdHVzLmM6MTI4OAogbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCiBtc2dzdHIgIkhFQUQgZnLDpW5rb3BwbGFkIGZyw6VuICIKIAotIzogd3Qtc3RhdHVzLmM6MTE5MgorIzogd3Qtc3RhdHVzLmM6MTI5MQogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIkludGUgcMOlIG7DpWdvbiBncmVuIGbDtnIgbsOkcnZhcmFuZGUuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjA5CisjOiB3dC1zdGF0dXMuYzoxMzA4CiBtc2dpZCAiSW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIkbDtnJzdGEgaW5jaGVja25pbmciCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjMKKyM6IHd0LXN0YXR1cy5jOjEzMjIKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIk9zcMOlcmFkZSBmaWxlciIKIAotIzogd3Qtc3RhdHVzLmM6MTIyNQorIzogd3Qtc3RhdHVzLmM6MTMyNAogbXNnaWQgIklnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIklnbm9yZXJhZGUgZmlsZXIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjkKKyM6IHd0LXN0YXR1cy5jOjEzMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGVudW1lcmF0ZSB1bnRyYWNrZWQgZmlsZXMuICdzdGF0dXMgLXVubydcbiIKQEAgLTE1OTQsMzIgKzE3ODksMzIgQEAKICJsw6RnZ2EgdGlsbCBueWEgZmlsZXIgc2rDpGx2IChzZSBcImdpdCBoZWxwIHN0YXR1c1wiKS4iCiAKICMgJXMgw6RyIG7DpHN0YSBzdHLDpG5nIGVsbGVyIHRvbS4KLSM6IHd0LXN0YXR1cy5jOjEyMzUKKyM6IHd0LXN0YXR1cy5jOjEzMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKIG1zZ3N0ciAiT3Nww6VyYWRlIGZpbGVyIHZpc2FzIGVqJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMzcKKyM6IHd0LXN0YXR1cy5jOjEzMzYKIG1zZ2lkICIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIgogbXNnc3RyICIgKGFudsOkbmQgZmxhZ2dhbiAtdSBmw7ZyIGF0dCB2aXNhIG9zcMOlcmFkZSBmaWxlcikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDMKKyM6IHd0LXN0YXR1cy5jOjEzNDIKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICJJbmdhIMOkbmRyaW5nYXIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDgKKyM6IHd0LXN0YXR1cy5jOjEzNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iCiBtc2dzdHIgIiIKICJpbmdhIMOkbmRyaW5nYXIgYXR0IGNoZWNrYSBpbiAoYW52w6RuZCBcImdpdCBhZGRcIiBvY2gvZWxsZXIgXCJnaXQgY29tbWl0IC1hIgogIlwiKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjUxCisjOiB3dC1zdGF0dXMuYzoxMzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgImluZ2Egw6RuZHJpbmdhciBhdHQgY2hlY2thIGluXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTQKKyM6IHd0LXN0YXR1cy5jOjEzNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKQEAgLTE2MjgsNTIgKzE4MjMsNTYgQEAKICJpbmdldCBrw7ZhdCBmw7ZyIGluY2hlY2tuaW5nLCBtZW4gb3Nww6VyYWRlIGZpbGVyIGZpbm5zIChzcMOlcmEgbWVkIFwiZ2l0IGFkZCIKICJcIilcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NworIzogd3Qtc3RhdHVzLmM6MTM1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnRcbiIKIG1zZ3N0ciAiaW5nZXQga8O2YXQgZsO2ciBpbmNoZWNrbmluZywgbWVuIG9zcMOlcmFkZSBmaWxlciBmaW5uc1xuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYwCisjOiB3dC1zdGF0dXMuYzoxMzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0IChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIgogbXNnc3RyICJpbmdldCBhdHQgY2hlY2thIGluIChza2FwYS9rb3BpZXJhIGZpbGVyIG9jaCBzcMOlcmEgbWVkIFwiZ2l0IGFkZFwiKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYzIHd0LXN0YXR1cy5jOjEyNjgKKyM6IHd0LXN0YXR1cy5jOjEzNjIgd3Qtc3RhdHVzLmM6MTM2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICJpbmdldCBhdHQgY2hlY2thIGluXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjYKKyM6IHd0LXN0YXR1cy5jOjEzNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAiaW5nZXQgYXR0IGNoZWNrYSBpbiAoYW52w6RuZCAtdSBmw7ZyIGF0dCB2aXNhIG9zcMOlcmFkZSBmaWxlcilcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI3MAorIzogd3Qtc3RhdHVzLmM6MTM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyBkaXJlY3RvcnkgY2xlYW5cbiIKIG1zZ3N0ciAiaW5nZXQgYXR0IGNoZWNrYSBpbiwgYXJiZXRza2F0YWxvZ2VuIHJlblxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzc4CisjOiB3dC1zdGF0dXMuYzoxNDc4CiBtc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKIG1zZ3N0ciAiSEVBRCAoaW5nZW4gZ3JlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzODQKKyM6IHd0LXN0YXR1cy5jOjE0ODQKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCiBtc2dzdHIgIkbDtnJzdGEgaW5jaGVja25pbmcgcMOlICIKIAotIzogd3Qtc3RhdHVzLmM6MTM5OQorIzogd3Qtc3RhdHVzLmM6MTUxNAorbXNnaWQgImdvbmUiCittc2dzdHIgImbDtnJzdnVubmVuIgorCisjOiB3dC1zdGF0dXMuYzoxNTE2CiBtc2dpZCAiYmVoaW5kICIKIG1zZ3N0ciAiZWZ0ZXIgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDAyIHd0LXN0YXR1cy5jOjE0MDUKKyM6IHd0LXN0YXR1cy5jOjE1MTkgd3Qtc3RhdHVzLmM6MTUyMgogbXNnaWQgImFoZWFkICIKIG1zZ3N0ciAiZsO2cmUgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDA3CisjOiB3dC1zdGF0dXMuYzoxNTI0CiBtc2dpZCAiLCBiZWhpbmQgIgogbXNnc3RyICIsIGVmdGVyICIKIAotIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU4IGJ1aWx0aW4vY2xvbmUuYzozNTEKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1NSBidWlsdGluL2Nsb25lLmM6MzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHRhIGJvcnQgbMOkbmtlbiBcIiVzXCIiCkBAIC0xNzU5LDcgKzE5NTgsNyBAQAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgImRpZmYtc3RhdHVzICVjIGbDtnJ2w6RudGFkZXMgaW50ZSIKIAotIzogYnVpbHRpbi9hZGQuYzoxNDkgYnVpbHRpbi9jb21taXQuYzoyNTIKKyM6IGJ1aWx0aW4vYWRkLmM6MTQ5IGJ1aWx0aW4vY29tbWl0LmM6MjYwCiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdXBwZGF0ZXJhIGZpbGVyIgogCkBAIC0xNzY4LDE0MCArMTk2NywxMzUgQEAKIG1zZ2lkICJyZW1vdmUgJyVzJ1xuIgogbXNnc3RyICJ0YSBib3J0IFwiJXNcIlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjI1MworIzogYnVpbHRpbi9hZGQuYzoyMzcKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKIG1zZ3N0ciAiT3Nww6VyYWRlIMOkbmRyaW5nYXIgZWZ0ZXIgYXR0IGhhIHVwcGRhdGVyYXQgaW5kZXhldDoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU2IGJ1aWx0aW4vYWRkLmM6NTczIGJ1aWx0aW4vcm0uYzozMzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKLW1zZ3N0ciAic8O2a3bDpGdzYW5naXZlbHNlbiBcIiVzXCIgbW90c3ZhcmFkZSBpbnRlIG7DpWdyYSBmaWxlciIKLQotIzogYnVpbHRpbi9hZGQuYzozMzkKKyM6IGJ1aWx0aW4vYWRkLmM6Mjk5CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJLdW5kZSBpbnRlIGzDpHNhIGluZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUwCisjOiBidWlsdGluL2FkZC5jOjMxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSDDtnBwbmEgXCIlc1wiIGbDtnIgc2tyaXZuaW5nIgogCi0jOiBidWlsdGluL2FkZC5jOjM1NAorIzogYnVpbHRpbi9hZGQuYzozMTQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgIkt1bmRlIGludGUgc2tyaXZhIHBhdGNoIgogCi0jOiBidWlsdGluL2FkZC5jOjM1OQorIzogYnVpbHRpbi9hZGQuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSB0YSBzdGF0dXMgcMOlIFwiJXNcIiIKIAotIzogYnVpbHRpbi9hZGQuYzozNjEKKyM6IGJ1aWx0aW4vYWRkLmM6MzIxCiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICJUb20gcGF0Y2guIEF2YnJ5dGVyLiIKIAotIzogYnVpbHRpbi9hZGQuYzozNjcKKyM6IGJ1aWx0aW4vYWRkLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAnJXMnIgogbXNnc3RyICJLdW5kZSBpbnRlIHRpbGzDpG1wYSBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzc3CisjOiBidWlsdGluL2FkZC5jOjMzNwogbXNnaWQgIlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKIG1zZ3N0ciAiRsO2bGphbmRlIHPDtmt2w6RnYXIgaWdub3JlcmFzIGF2IGVuIGF2IGRpbmEgLmdpdGlnbm9yZS1maWxlcjpcbiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTQgYnVpbHRpbi9jbGVhbi5jOjg3NSBidWlsdGluL2ZldGNoLmM6NzggYnVpbHRpbi9tdi5jOjYzCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjczIGJ1aWx0aW4vcHVzaC5jOjQ1MSBidWlsdGluL3JlbW90ZS5jOjEyNTMKLSM6IGJ1aWx0aW4vcm0uYzoyNjgKKyM6IGJ1aWx0aW4vYWRkLmM6MzU0IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9mZXRjaC5jOjkzIGJ1aWx0aW4vbXYuYzo3MAorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3NyBidWlsdGluL3B1c2guYzo1MDYgYnVpbHRpbi9yZW1vdGUuYzoxMzQ0CisjOiBidWlsdGluL3JtLmM6MjY5CiBtc2dpZCAiZHJ5IHJ1biIKIG1zZ3N0ciAidGVzdGvDtnJuaW5nIgogCi0jOiBidWlsdGluL2FkZC5jOjM5NSBidWlsdGluL2FwcGx5LmM6NDQxMCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5Ci0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjAgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTUgYnVpbHRpbi9mc2NrLmM6NjEzCi0jOiBidWlsdGluL2xvZy5jOjE1NzMgYnVpbHRpbi9tdi5jOjYyIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEzCisjOiBidWlsdGluL2FkZC5jOjM1NSBidWlsdGluL2FwcGx5LmM6NDQxMCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNDkgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTUgYnVpbHRpbi9mc2NrLmM6NjEyCisjOiBidWlsdGluL2xvZy5jOjE1OTIgYnVpbHRpbi9tdi5jOjY5IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEzCiBtc2dpZCAiYmUgdmVyYm9zZSIKIG1zZ3N0ciAidmFyIHByYXRzYW0iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzk3CisjOiBidWlsdGluL2FkZC5jOjM1NwogbXNnaWQgImludGVyYWN0aXZlIHBpY2tpbmciCiBtc2dzdHIgInBsb2NrYSBpbnRlcmFrdGl2dCIKIAotIzogYnVpbHRpbi9hZGQuYzozOTggYnVpbHRpbi9jaGVja291dC5jOjEwNzMgYnVpbHRpbi9yZXNldC5jOjI2MQorIzogYnVpbHRpbi9hZGQuYzozNTggYnVpbHRpbi9jaGVja291dC5jOjExMDkgYnVpbHRpbi9yZXNldC5jOjI3MgogbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICJ2w6RsaiBzdHlja2VuIGludGVyYWt0aXZ0IgogCi0jOiBidWlsdGluL2FkZC5jOjM5OQorIzogYnVpbHRpbi9hZGQuYzozNTkKIG1zZ2lkICJlZGl0IGN1cnJlbnQgZGlmZiBhbmQgYXBwbHkiCiBtc2dzdHIgInJlZGlnZXJhIGFrdHVlbGwgZGlmZiBvY2ggYXBwbGljZXJhIgogCi0jOiBidWlsdGluL2FkZC5jOjQwMAorIzogYnVpbHRpbi9hZGQuYzozNjAKIG1zZ2lkICJhbGxvdyBhZGRpbmcgb3RoZXJ3aXNlIGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgInRpbGzDpXQgbMOkZ2dhIHRpbGwgYW5uYXJzIGlnbm9yZXJhZGUgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAxCisjOiBidWlsdGluL2FkZC5jOjM2MQogbXNnaWQgInVwZGF0ZSB0cmFja2VkIGZpbGVzIgogbXNnc3RyICJ1cHBkYXRlcmEgc3DDpXJhZGUgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAyCisjOiBidWlsdGluL2FkZC5jOjM2MgogbXNnaWQgInJlY29yZCBvbmx5IHRoZSBmYWN0IHRoYXQgdGhlIHBhdGggd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAicmVnaXN0cmVyYSBlbmRhc3QgYXR0IHPDtmt2w6RnZW4ga29tbWVyIGzDpGdnYXMgdGlsbCBzZW5hcmUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAzCisjOiBidWlsdGluL2FkZC5jOjM2MwogbXNnaWQgImFkZCBjaGFuZ2VzIGZyb20gYWxsIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAibMOkZ2cgdGlsbCDDpG5kcmluZ2FyIGZyw6VuIGFsbGEgc3DDpXJhZGUgb2NoIG9zcMOlcmFkZSBmaWxlciIKIAogIy4gdGFrZXMgbm8gYXJndW1lbnRzCi0jOiBidWlsdGluL2FkZC5jOjQwNgorIzogYnVpbHRpbi9hZGQuYzozNjYKIG1zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKIG1zZ3N0ciAiaWdub3JlcmEgc8O2a3bDpGdhciBib3J0dGFnbmEgaSBhcmJldHNrYXRhbG9nZW4gKHNhbW1hIHNvbSAtLW5vLWFsbCkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDA4CisjOiBidWlsdGluL2FkZC5jOjM2OAogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAibMOkZ2cgaW50ZSB0aWxsLCB1cHBkYXRlcmEgZW5kYXN0IGluZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDA5CisjOiBidWlsdGluL2FkZC5jOjM2OQogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCiBtc2dzdHIgImhvcHBhIGJhcmEgw7Z2ZXIgZmlsZXIgc29tIGludGUga2FuIGzDpGdnYXMgdGlsbCBww6UgZ3J1bmQgYXYgZmVsIgogCi0jOiBidWlsdGluL2FkZC5jOjQxMAorIzogYnVpbHRpbi9hZGQuYzozNzAKIG1zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCiBtc2dzdHIgInNlIG9tIC0gw6R2ZW4gc2FrbmFkZSAtIGZpbGVyIGlnbm9yZXJhcyBpIHRlc3Rrw7ZybmluZyIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzIKKyM6IGJ1aWx0aW4vYWRkLmM6MzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIHRoZW0uXG4iCiBtc2dzdHIgIkFudsOkbmQgLWYgb20gZHUgdmVya2xpZ2VuIHZpbGwgbMOkZ2dhIHRpbGwgZGVtLlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjQzMworIzogYnVpbHRpbi9hZGQuYzozOTMKIG1zZ2lkICJubyBmaWxlcyBhZGRlZCIKIG1zZ3N0ciAiaW5nYSBmaWxlciBoYXIgbGFndHMgdGlsbCIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzkKKyM6IGJ1aWx0aW4vYWRkLmM6Mzk5CiBtc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGzDpGdnYSB0aWxsIGZpbGVyIgogCi0jOiBidWlsdGluL2FkZC5jOjQ3OAorIzogYnVpbHRpbi9hZGQuYzo0MzgKIG1zZ2lkICItQSBhbmQgLXUgYXJlIG11dHVhbGx5IGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLUEgb2NoIC11IMOkciDDtm1zZXNpZGlndCBpbmtvbXBhdGlibGEiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDk2CisjOiBidWlsdGluL2FkZC5jOjQ1NgogbXNnaWQgIk9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWRyeS1ydW4iCiBtc2dzdHIgIkZsYWdnYW4gLS1pZ25vcmUtbWlzc2luZyBrYW4gZW5kYXN0IGFudsOkbmRhcyB0aWxsc2FtbWFucyBtZWQgLS1kcnktcnVuIgogCi0jOiBidWlsdGluL2FkZC5jOjUyNgorIzogYnVpbHRpbi9hZGQuYzo0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIkluZ2V0IGFuZ2l2ZXQsIGluZ2V0IHRpbGxhZ3QuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NTI3CisjOiBidWlsdGluL2FkZC5jOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAiS2Fuc2tlIG1lbmFkZSBkdSBhdHQgc2tyaXZhIFwiZ2l0IGFkZCAuXCI/XG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NTMzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYxIGJ1aWx0aW4vY2xlYW4uYzo5MTkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzEyIGJ1aWx0aW4vbXYuYzo4MiBidWlsdGluL3JtLmM6Mjk3CisjOiBidWlsdGluL2FkZC5jOjQ5MiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NsZWFuLmM6OTE5CisjOiBidWlsdGluL2NvbW1pdC5jOjMyMCBidWlsdGluL212LmM6OTAgYnVpbHRpbi9yZXNldC5jOjIyNCBidWlsdGluL3JtLmM6Mjk5CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICJpbmRleGZpbGVuIHRyYXNpZyIKIAotIzogYnVpbHRpbi9hZGQuYzo2MDUgYnVpbHRpbi9hcHBseS5jOjQ1MDYgYnVpbHRpbi9tdi5jOjIyOSBidWlsdGluL3JtLmM6NDMyCisjOiBidWlsdGluL2FkZC5jOjU5MiBidWlsdGluL2FwcGx5LmM6NDUwNiBidWlsdGluL212LmM6MjcwIGJ1aWx0aW4vcm0uYzo0MzIKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIkt1bmRlIGludGUgc2tyaXZhIG55IGluZGV4ZmlsIgogCkBAIC0yMTU0LDcgKzIzNDgsNyBAQAogbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgogbXNnc3RyICJLb250cm9sbGVyYXIgcGF0Y2hlbiAlcy4uLiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM2ODAgYnVpbHRpbi9jaGVja291dC5jOjIxNiBidWlsdGluL3Jlc2V0LmM6MTI3CisjOiBidWlsdGluL2FwcGx5LmM6MzY4MCBidWlsdGluL2NoZWNrb3V0LmM6MjEzIGJ1aWx0aW4vcmVzZXQuYzoxMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAibWFrZV9jYWNoZV9lbnRyeSBtaXNzbHlja2FkZXMgZsO2ciBzw7ZrdsOkZ2VuIFwiJXNcIiIKQEAgLTIyMzQsOCArMjQyOCw4IEBACiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKIG1zZ3N0ciAia2FuIGludGUgbMOkc2EgaW5kZXhmaWxlbiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzNTcgYnVpbHRpbi9hcHBseS5jOjQzNjAgYnVpbHRpbi9jbG9uZS5jOjkxCi0jOiBidWlsdGluL2ZldGNoLmM6NjMKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzU3IGJ1aWx0aW4vYXBwbHkuYzo0MzYwIGJ1aWx0aW4vY2xvbmUuYzo5MAorIzogYnVpbHRpbi9mZXRjaC5jOjc4CiBtc2dpZCAicGF0aCIKIG1zZ3N0ciAic8O2a3bDpGciCiAKQEAgLTIyOTUsNyArMjQ4OSw3IEBACiBtc2dpZCAiYnVpbGQgYSB0ZW1wb3JhcnkgaW5kZXggYmFzZWQgb24gZW1iZWRkZWQgaW5kZXggaW5mb3JtYXRpb24iCiBtc2dzdHIgImJ5Z2cgZXR0IHRlbXBvcsOkcnQgaW5kZXggYmFzZXJhdCBww6UgaW5ieWdnZCBpbmRleGluZm9ybWF0aW9uIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM4OSBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTk3IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjIKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzg5IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxOTcgYnVpbHRpbi9scy1maWxlcy5jOjQ1MgogbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICJzw7ZrdsOkZ2FyIGF2ZGVsYXMgbWVkIE5VTC10ZWNrZW4iCiAKQEAgLTI0MjUsMTAzICsyNjE5LDEwMyBAQAogbXNnaWQgInVwZGF0ZSBCSVNFQ1RfSEVBRCBpbnN0ZWFkIG9mIGNoZWNraW5nIG91dCB0aGUgY3VycmVudCBjb21taXQiCiBtc2dzdHIgInVwcGRhdGVyYSBCSVNFQ1RfSEVBRCBpc3TDpGxsZXQgZsO2ciBhdHQgY2hlY2thIHV0IGFrdHVlbGwgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNgorIzogYnVpbHRpbi9ibGFtZS5jOjI3CiBtc2dpZCAiZ2l0IGJsYW1lIFtvcHRpb25zXSBbcmV2LW9wdHNdIFtyZXZdIFstLV0gZmlsZSIKIG1zZ3N0ciAiZ2l0IGJsYW1lIFtmbGFnZ29yXSBbcmV2LWZsYWdnb3JdIFtyZXZdIFstLV0gZmlsIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MzEKKyM6IGJ1aWx0aW4vYmxhbWUuYzozMgogbXNnaWQgIltyZXYtb3B0c10gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgogbXNnc3RyICJbcmV2LWZsYWdnb3JdIGRva3VtZW50ZXJhcyBpIGdpdC1yZXYtbGlzdCgxKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyNzYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjQ5CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAiVmlzYSBrbGFuZHJpbmdzcG9zdGVyIG7DpHIgdmkgaGl0dGFyIGRlbSwgaW50ZXJha3RpdnQiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjc3CisjOiBidWlsdGluL2JsYW1lLmM6MjI1MAogbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlZpc2EgYmxhbmsgU0hBLTEgZsO2ciBncsOkbnNpbmNoZWNrbmluZ2FyIChTdGFuZGFyZDogYXYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI3OAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTEKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkJlaGFuZGxhIGludGUgcm90aW5jaGVja25pbmdhciBzb20gZ3LDpG5zZXIgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjc5CisjOiBidWlsdGluL2JsYW1lLmM6MjI1MgogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgIlZpc2Egc3RhdGlzdGlrIMO2dmVyIGFyYmV0c2tvc3RuYWQiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgwCisjOiBidWlsdGluL2JsYW1lLmM6MjI1MwogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICJWaXNhIHV0ZGF0YXBvw6RuZyBmw7ZyIGtsYW5kcmluZ3Nwb3N0ZXIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgxCisjOiBidWlsdGluL2JsYW1lLmM6MjI1NAogbXNnaWQgIlNob3cgb3JpZ2luYWwgZmlsZW5hbWUgKERlZmF1bHQ6IGF1dG8pIgogbXNnc3RyICJWaXNhIG9yaWdpbmFsZmlsbmFtbiAoU3RhbmRhcmQ6IGF1dG8pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4MgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTUKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlZpc2EgdXJzcHJ1bmdsaWd0IHJhZG51bW1lciAoU3RhbmRhcmQ6IGF2KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU2CiBtc2dpZCAiU2hvdyBpbiBhIGZvcm1hdCBkZXNpZ25lZCBmb3IgbWFjaGluZSBjb25zdW1wdGlvbiIKIG1zZ3N0ciAiVmlzYSBpIGV0dCBmb3JtYXQgYXZzZXR0IGbDtnIgbWFza2lua29uc3VtdGlvbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU3CiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICJWaXNhIHBvcnNsaW5zZm9ybWF0IG1lZCBwZXItcmFkLWluY2hlY2tuaW5nc2luZm9ybWF0aW9uIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTgKIG1zZ2lkICJVc2UgdGhlIHNhbWUgb3V0cHV0IG1vZGUgYXMgZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJBbnbDpG5kIHNhbW1hIHV0ZGF0YWzDpGdlIHNvbSBnaXQtYW5ub3RhdGUgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg2CisjOiBidWlsdGluL2JsYW1lLmM6MjI1OQogbXNnaWQgIlNob3cgcmF3IHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiVmlzYSByw6UgdGlkc3N0w6RtcGVsIChTdGFuZGFyZDogYXYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4NworIzogYnVpbHRpbi9ibGFtZS5jOjIyNjAKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlZpc2EgbMOlbmcgaW5jaGVja25pbmdzLVNIQTEgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg4CisjOiBidWlsdGluL2JsYW1lLmM6MjI2MQogbXNnaWQgIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlVuZGVydHJ5Y2sgZsO2cmZhdHRhcm5hbW4gb2NoIHRpZHNzdMOkbXBlbCAoU3RhbmRhcmQ6IGF2KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYyCiBtc2dpZCAiU2hvdyBhdXRob3IgZW1haWwgaW5zdGVhZCBvZiBuYW1lIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJWaXNhIGbDtnJmYXR0YXJlbnMgZS1wb3N0IGlzdMOkbGxldCBmw7ZyIG5hbW4gKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkwCisjOiBidWlsdGluL2JsYW1lLmM6MjI2MwogbXNnaWQgIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIgogbXNnc3RyICJJZ25vcmVyYSDDpG5kcmluZ2FyIGkgYmxhbmtzdGVnIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5MQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjQKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIlNsw7ZzYSBleHRyYSBjeWtsZXIgbWVkIGF0dCBoaXR0YSBiw6R0dHJlIHRyw6RmZiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY1CiBtc2dpZCAiVXNlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIGNhbGxpbmcgZ2l0LXJldi1saXN0IgogbXNnc3RyICJBbnbDpG5kIHJldmlzaW9uZXIgZnLDpW4gPGZpbD4gaXN0w6RsbGV0IGbDtnIgYXR0IGFucm9wYSBnaXQtcmV2LWxpc3QiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkzCisjOiBidWlsdGluL2JsYW1lLmM6MjI2NgogbXNnaWQgIlVzZSA8ZmlsZT4ncyBjb250ZW50cyBhcyB0aGUgZmluYWwgaW1hZ2UiCiBtc2dzdHIgIkFudsOkbmQgPGZpbD5zIGlubmVow6VsbCBzb20gc2x1dGdpbHRpZyBiaWxkIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NCBidWlsdGluL2JsYW1lLmM6MjI5NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjcgYnVpbHRpbi9ibGFtZS5jOjIyNjgKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAicG/DpG5nIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjcKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICJIaXR0YSBrb3BpZXJhZGUgcmFkZXIgaW51dGkgb2NoIG1lbGxhbiBmaWxlciIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY4CiBtc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiSGl0dGEgZmx5dHRhZGUgcmFkZXIgaW51dGkgb2NoIG1lbGxhbiBmaWxlciIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY5CiBtc2dpZCAibixtIgogbXNnc3RyICJuLG0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjk2CisjOiBidWlsdGluL2JsYW1lLmM6MjI2OQogbXNnaWQgIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJCZWhhbmRsYSBlbmRhc3QgcmFkaW50ZXJ2YWxsZXQgbixtLCBtZWQgYsO2cmphbiBww6UgMSIKIApAQCAtMjYyNSwyODAgKzI4MTksMjkwIEBACiBtc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgcG9pbnQgYXQgYSBjb21taXQiCiBtc2dzdHIgImdyZW5lbiBcIiVzXCIgcGVrYXIgaW50ZSBww6UgZW4gaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDUzCisjOiBidWlsdGluL2JyYW5jaC5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICJbJXM6IGdvbmVdIgorbXNnc3RyICJbJXM6IGbDtnJzdnVubmVuXSIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWyVzXSIKK21zZ3N0ciAiWyVzXSIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBiZWhpbmQgJWRdIgogbXNnc3RyICJbJXM6IGJha29tICVkXSAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU1CisjOiBidWlsdGluL2JyYW5jaC5jOjQ2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJbYmVoaW5kICVkXSIKIG1zZ3N0ciAiW2Jha29tICVkXSAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU5CisjOiBidWlsdGluL2JyYW5jaC5jOjQ3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGFoZWFkICVkXSIKIG1zZ3N0ciAiWyVzOiBmw7ZyZSAlZF0gIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ2MQorIzogYnVpbHRpbi9icmFuY2guYzo0NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2FoZWFkICVkXSIKIG1zZ3N0ciAiW2bDtnJlICVkXSAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY0CisjOiBidWlsdGluL2JyYW5jaC5jOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIgogbXNnc3RyICJbJXM6IGbDtnJlICVkLCBiYWtvbSAlZF0gIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ2NworIzogYnVpbHRpbi9icmFuY2guYzo0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2FoZWFkICVkLCBiZWhpbmQgJWRdIgogbXNnc3RyICJbZsO2cmUgJWQsIGJha29tICVkXSAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDkwCisjOiBidWlsdGluL2JyYW5jaC5jOjUwMgogbXNnaWQgIiAqKioqIGludmFsaWQgcmVmICoqKioiCiBtc2dzdHIgIiAqKioqIG9naWx0aWcgcmVmICoqKioiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgyCisjOiBidWlsdGluL2JyYW5jaC5jOjU5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyAlcykiCiBtc2dzdHIgIihpbmdlbiBncmVuLCBvbWJhc2VyYXIgJXMpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4NQorIzogYnVpbHRpbi9icmFuY2guYzo1OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgogbXNnc3RyICIoaW5nZW4gZ3JlbiwgXCJiaXNlY3RcIiBzdGFydGFkIHDDpSAlcykiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg4CisjOiBidWlsdGluL2JyYW5jaC5jOjYwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIoZGV0YWNoZWQgZnJvbSAlcykiCiBtc2dzdHIgIihmcsOlbmtvcHBsYWQgZnLDpW4gJXMpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5MQorIzogYnVpbHRpbi9icmFuY2guYzo2MDMKIG1zZ2lkICIobm8gYnJhbmNoKSIKIG1zZ3N0ciAiKGluZ2VuIGdyZW4pIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzNworIzogYnVpbHRpbi9icmFuY2guYzo2NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgIm9iamVrdGV0IFwiJXNcIiBwZWthciBww6UgZW4gaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY5CisjOiBidWlsdGluL2JyYW5jaC5jOjY4MQogbXNnaWQgInNvbWUgcmVmcyBjb3VsZCBub3QgYmUgcmVhZCIKIG1zZ3N0ciAidmlzc2EgcmVmZXJlbnNlciBrdW5kZSBpbnRlIGzDpHNhcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk0CiBtc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgIiIKICJrdW5kZSBpbnRlIGJ5dGEgbmFtbiBww6UgYWt0dWVsbCBncmVuIG7DpHIgZHUgaW50ZSBiZWZpbm5lciBkaWcgcMOlIG7DpWdvbi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjkyCisjOiBidWlsdGluL2JyYW5jaC5jOjcwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGJyYW5jaCBuYW1lOiAnJXMnIgogbXNnc3RyICJGZWxha3RpZ3QgbmFtbiBww6UgZ3JlbjogXCIlc1wiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcwNworIzogYnVpbHRpbi9icmFuY2guYzo3MTkKIG1zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIGJ5dGEgbmFtbiBww6UgZ3JlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICJCeXR0ZSBib3J0IG5hbW4gcMOlIGVuIGZlbGFrdGlndCBuYW1uZ2l2ZW4gZ3JlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzE1CisjOiBidWlsdGluL2JyYW5jaC5jOjcyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgogbXNnc3RyICJHcmVuZW4gbmFtbmJ5dHQgdGlsbCAlcywgbWVuIEhFQUQgaGFyIGludGUgdXBwZGF0ZXJhdHMhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcyMgorIzogYnVpbHRpbi9icmFuY2guYzo3MzQKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIkdyZW5lbiBuYW1uYnl0dCwgbWVuIG1pc3NseWNrYWRlcyB1cHBkYXRlcmEga29uZmlndXJhdGlvbnNmaWxlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAiZmVsZm9ybWF0IG9iamVrdG5hbW4gJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzYxCisjOiBidWlsdGluL2JyYW5jaC5jOjc3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgYnJhbmNoIGRlc2NyaXB0aW9uIHRlbXBsYXRlOiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgZ3JlbmJlc2tyaXZuaW5nc21hbGw6ICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5MQorIzogYnVpbHRpbi9icmFuY2guYzo4MDMKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCiBtc2dzdHIgIkFsbG3DpG5uYSBmbGFnZ29yIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5MworIzogYnVpbHRpbi9icmFuY2guYzo4MDUKIG1zZ2lkICJzaG93IGhhc2ggYW5kIHN1YmplY3QsIGdpdmUgdHdpY2UgZm9yIHVwc3RyZWFtIGJyYW5jaCIKIG1zZ3N0ciAidmlzYSBoYXNoIG9jaCDDpHJlbmRlcmFkLCBhbmdlIHR2w6UgZ8OlbmdlciBmw7ZyIHVwcHN0csO2bXNncmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NAorIzogYnVpbHRpbi9icmFuY2guYzo4MDYKIG1zZ2lkICJzdXBwcmVzcyBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzIgogbXNnc3RyICJ1bmRlcnRyeWNrIGluZm9ybWF0aW9uc21lZGRlbGFuZGVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NQorIzogYnVpbHRpbi9icmFuY2guYzo4MDcKIG1zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKIG1zZ3N0ciAic3TDpGxsIGluIHNww6VybmluZ3Nsw6RnZSAoc2UgZ2l0LXB1bGwoMSkpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NworIzogYnVpbHRpbi9icmFuY2guYzo4MDkKIG1zZ2lkICJjaGFuZ2UgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAiw6RuZHJhIHVwcHN0csO2bXNpbmZvcm1hdGlvbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODEzCiBtc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgogbXNnc3RyICJhbnbDpG5kIGbDpHJnYWQgdXRkYXRhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwMgorIzogYnVpbHRpbi9icmFuY2guYzo4MTQKIG1zZ2lkICJhY3Qgb24gcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICJhcmJldGEgcMOlIGZqw6RycnNww6VyYW5kZSBncmVuYXIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA1IGJ1aWx0aW4vYnJhbmNoLmM6ODExIGJ1aWx0aW4vYnJhbmNoLmM6ODMyCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzOCBidWlsdGluL2NvbW1pdC5jOjE0MzMgYnVpbHRpbi9jb21taXQuYzoxNDM0Ci0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzUgYnVpbHRpbi9jb21taXQuYzoxNDM2IGJ1aWx0aW4vdGFnLmM6NDY4CisjOiBidWlsdGluL2JyYW5jaC5jOjgxNyBidWlsdGluL2JyYW5jaC5jOjgyMyBidWlsdGluL2JyYW5jaC5jOjg0NAorIzogYnVpbHRpbi9icmFuY2guYzo4NTAgYnVpbHRpbi9jb21taXQuYzoxNDYwIGJ1aWx0aW4vY29tbWl0LmM6MTQ2MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDYyIGJ1aWx0aW4vY29tbWl0LmM6MTQ2MyBidWlsdGluL3RhZy5jOjQ2OAogbXNnaWQgImNvbW1pdCIKIG1zZ3N0ciAiaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA2IGJ1aWx0aW4vYnJhbmNoLmM6ODEyCisjOiBidWlsdGluL2JyYW5jaC5jOjgxOCBidWlsdGluL2JyYW5jaC5jOjgyNAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgInZpc2EgZW5kYXN0IGdyZW5hciBzb20gaW5uZWjDpWxsZXIgaW5jaGVja25pbmdlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMwCiBtc2dpZCAiU3BlY2lmaWMgZ2l0LWJyYW5jaCBhY3Rpb25zOiIKIG1zZ3N0ciAiU3BlY2lmaWthIGdpdC1icmFuY2gtw6V0Z8OkcmRlcjoiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE5CisjOiBidWlsdGluL2JyYW5jaC5jOjgzMQogbXNnaWQgImxpc3QgYm90aCByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICJ2aXNhIGLDpWRlIGZqw6RycnNww6VyYW5kZSBvY2ggbG9rYWxhIGdyZW5hciIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMzCiBtc2dpZCAiZGVsZXRlIGZ1bGx5IG1lcmdlZCBicmFuY2giCiBtc2dzdHIgInRhIGJvcnQgaGVsdCBzYW1tYW5zbGFnZW4gZ3JlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM0CiBtc2dpZCAiZGVsZXRlIGJyYW5jaCAoZXZlbiBpZiBub3QgbWVyZ2VkKSIKIG1zZ3N0ciAidGEgYm9ydCBncmVuICjDpHZlbiBvbSBpbnRlIGhlbHQgc2FtbWFuc2xhZ2VuKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM1CiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCiBtc2dzdHIgImZseXR0YS90YSBib3J0IGVuIGdyZW4gb2NoIGRlc3MgcmVmbG9nZyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM2CiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAiZmx5dHRhL3RhIGJvcnQgZW4gZ3Jlbiwgw6R2ZW4gb20gbcOlbGV0IGZpbm5zIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyNQorIzogYnVpbHRpbi9icmFuY2guYzo4MzcKIG1zZ2lkICJsaXN0IGJyYW5jaCBuYW1lcyIKIG1zZ3N0ciAibGlzdGEgbmFtbiBww6UgZ3JlbmFyIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyNgorIzogYnVpbHRpbi9icmFuY2guYzo4MzgKIG1zZ2lkICJjcmVhdGUgdGhlIGJyYW5jaCdzIHJlZmxvZyIKIG1zZ3N0ciAic2thcGEgZ3JlbmVucyByZWZsb2dnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyOAorIzogYnVpbHRpbi9icmFuY2guYzo4NDAKIG1zZ2lkICJlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaCIKIG1zZ3N0ciAicmVkaWdlcmEgYmVza3Jpdm5pbmcgZsO2ciBncmVuZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI5CisjOiBidWlsdGluL2JyYW5jaC5jOjg0MQogbXNnaWQgImZvcmNlIGNyZWF0aW9uICh3aGVuIGFscmVhZHkgZXhpc3RzKSIKIG1zZ3N0ciAidHZpbmdhIHNrYXBhbmRlIChuw6RyIGRlbiByZWRhbiBmaW5ucykiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMyCisjOiBidWlsdGluL2JyYW5jaC5jOjg0NAogbXNnaWQgInByaW50IG9ubHkgbm90IG1lcmdlZCBicmFuY2hlcyIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgZWogc2FtbWFuc2xhZ25hIGdyZW5hciIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODUwCiBtc2dpZCAicHJpbnQgb25seSBtZXJnZWQgYnJhbmNoZXMiCiBtc2dzdHIgInZpc2EgZW5kYXN0IHNhbW1hbnNsYWduYSBncmVuYXIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQyCisjOiBidWlsdGluL2JyYW5jaC5jOjg1NAogbXNnaWQgImxpc3QgYnJhbmNoZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAidmlzYSBncmVuYXIgaSBzcGFsdGVyIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg1NQorIzogYnVpbHRpbi9icmFuY2guYzo4NjcKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHNsw6UgdXBwIEhFQUQgc29tIGdpbHRpZyByZWZlcmVucyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NjAgYnVpbHRpbi9jbG9uZS5jOjYzMAorIzogYnVpbHRpbi9icmFuY2guYzo4NzIgYnVpbHRpbi9jbG9uZS5jOjYzNQogbXNnaWQgIkhFQUQgbm90IGZvdW5kIGJlbG93IHJlZnMvaGVhZHMhIgogbXNnc3RyICJIRUFEIGhpdHRhZGVzIGludGUgdW5kZXIgcmVmcy9oZWFkcyEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODgzCisjOiBidWlsdGluL2JyYW5jaC5jOjg5NgogbXNnaWQgIi0tY29sdW1uIGFuZCAtLXZlcmJvc2UgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4gb2NoIC0tdmVyYm9zZSDDpHIgaW5rb21wYXRpYmxhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg4OSBidWlsdGluL2JyYW5jaC5jOjkyOAorIzogYnVpbHRpbi9icmFuY2guYzo5MDIgYnVpbHRpbi9icmFuY2guYzo5NDEKIG1zZ2lkICJicmFuY2ggbmFtZSByZXF1aXJlZCIKIG1zZ3N0ciAiZ3Jlbm5hbW4ga3LDpHZzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkwNAorIzogYnVpbHRpbi9icmFuY2guYzo5MTcKIG1zZ2lkICJDYW5ub3QgZ2l2ZSBkZXNjcmlwdGlvbiB0byBkZXRhY2hlZCBIRUFEIgogbXNnc3RyICJLYW4gaW50ZSBiZXNrcml2YSBmcsOlbmtvcHBsYWQgSEVBRCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTIyCiBtc2dpZCAiY2Fubm90IGVkaXQgZGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBicmFuY2giCiBtc2dzdHIgImthbiBpbnRlIHJlZGlnZXJhIGJlc2tyaXZuaW5nIGbDtnIgbWVyIMOkbiBlbiBncmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkxNgorIzogYnVpbHRpbi9icmFuY2guYzo5MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gY29tbWl0IG9uIGJyYW5jaCAnJXMnIHlldC4iCiBtc2dzdHIgIkluZ2EgaW5jaGVja25pbmdhciBww6UgZ3JlbmVuIFwiJXNcIiDDpG5udSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGJyYW5jaCBuYW1lZCAnJXMnLiIKIG1zZ3N0ciAiSW5nZW4gZ3JlbiB2aWQgbmFtbmV0IFwiJXNcIi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTM0CisjOiBidWlsdGluL2JyYW5jaC5jOjk0NwogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIGZvciBhIHJlbmFtZSBvcGVyYXRpb24iCiBtc2dzdHIgImbDtnIgbcOlbmdhIGdyZW5hciBmw7ZyIG5hbW5ieXRlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkzOQorIzogYnVpbHRpbi9icmFuY2guYzo5NTIKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyB0byBzZXQgbmV3IHVwc3RyZWFtIgogbXNnc3RyICJmw7ZyIG3DpW5nYSBncmVuYXIgZsO2ciBhdHQgYnl0YSB1cHBzdHLDtm0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTQzCisjOiBidWlsdGluL2JyYW5jaC5jOjk1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IHNldCB1cHN0cmVhbSBvZiBIRUFEIHRvICVzIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIiIKICJrdW5kZSBpbnRlIHPDpHR0YSB1cHBzdHLDtm0gZsO2ciBIRUFEIHRpbGwgJXMgbsOkciBkZXQgaW50ZSBwZWthciBtb3QgbsOlZ29uIGdyZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk0NiBidWlsdGluL2JyYW5jaC5jOjk2OCBidWlsdGluL2JyYW5jaC5jOjk5MAorIzogYnVpbHRpbi9icmFuY2guYzo5NTkgYnVpbHRpbi9icmFuY2guYzo5ODEgYnVpbHRpbi9icmFuY2guYzoxMDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoICclcyciCiBtc2dzdHIgIm9rw6RuZCBncmVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NTAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJncmVuZW4gXCIlc1wiIGZpbm5zIGludGUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTYyCisjOiBidWlsdGluL2JyYW5jaC5jOjk3NQogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHVuc2V0IHVwc3RyZWFtIgogbXNnc3RyICJmw7ZyIG3DpW5nYSBncmVuYXIgZsO2ciBhdHQgdGEgYm9ydCB1cHBzdHLDtm0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTY2CisjOiBidWlsdGluL2JyYW5jaC5jOjk3OQogbXNnaWQgImNvdWxkIG5vdCB1bnNldCB1cHN0cmVhbSBvZiBIRUFEIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIiIKICJrdW5kZSBpbnRlIHRhIGJvcnQgdXBwc3Ryw7ZtIGbDtnIgSEVBRCBuw6RyIGRldCBpbnRlIHBla2FyIG1vdCBuw6Vnb24gZ3Jlbi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTcyCisjOiBidWlsdGluL2JyYW5jaC5jOjk4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBoYXMgbm8gdXBzdHJlYW0gaW5mb3JtYXRpb24iCiBtc2dzdHIgIkdyZW5lbiBcIiVzXCIgaGFyIGluZ2VuIHVwcHN0csO2bXNpbmZvcm1hdGlvbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5ODcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTk5CiBtc2dpZCAiaXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBjcmVhdGUgJ0hFQUQnIG1hbnVhbGx5IgogbXNnc3RyICJrYW4gaW50ZSBza2FwYSBcIkhFQURcIiBtYW51ZWxsdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5OTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAwNQogbXNnaWQgIi1hIGFuZCAtciBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgbWFrZSBzZW5zZSB3aXRoIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIiIKICJmbGFnZ29ybmEgLWEgb2NoIC1yIHDDpSBcImdpdCBicmFuY2hcIiBrYW4gaW50ZSBhbmdlcyB0aWxsc2FtbWFucyBtZWQgZXR0ICIKICJncmVubmFtbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5OTYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC0tc2V0LXVwc3RyZWFtIGZsYWcgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBDb25zaWRlciB1c2luZyAtLSIKQEAgLTI5MDcsNyArMzExMSw3IEBACiAiRmxhZ2dhbiAtLXNldC11cHN0cmVhbSByZWtvbW1lbmRlcmFzIGVqIG9jaCBrb21tZXIgdGFzIGJvcnQuIEFudsOkbmQgLS10cmFjayAiCiAiZWxsZXIgLS1zZXQtdXBzdHJlYW0tdG9cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxMDEzCisjOiBidWlsdGluL2JyYW5jaC5jOjEwMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMjkxOCwxMiArMzEyMiwxMiBAQAogIk9tIGR1IHZpbGwgZ8O2cmEgc8OlIGF0dCBcIiVzXCIgc3DDpXJhciBcIiVzXCIgZ8O2ciBkdSBzw6UgaMOkcjpcbiIKICJcbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxMDE0CisjOiBidWlsdGluL2JyYW5jaC5jOjEwMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgIGdpdCBicmFuY2ggLWQgJXNcbiIKIG1zZ3N0ciAiICAgIGdpdCBicmFuY2ggLWQgJXNcbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxMDE1CisjOiBidWlsdGluL2JyYW5jaC5jOjEwMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gJXNcbiIKIG1zZ3N0ciAiICAgIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gJXNcbiIKQEAgLTI5NDEsNDMgKzMxNDUsNDMgQEAKIG1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byB1bmJ1bmRsZS4iCiBtc2dzdHIgIkJlaMO2dmVyIGV0dCBhcmtpdiBmw7ZyIGF0dCBwYWNrYSB1cHAgZXR0IHBha2V0IChidW5kbGUpLiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjI4NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyOAogbXNnaWQgImdpdCBjYXQtZmlsZSAoLXR8LXN8LWV8LXB8PHR5cGU+fC0tdGV4dGNvbnYpIDxvYmplY3Q+IgogbXNnc3RyICJnaXQgY2F0LWZpbGUgKC10fC1zfC1lfC1wfDx0eXA+fC0tdGV4dGNvbnYpIDxvYmpla3Q+IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6Mjg2CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzI5CiBtc2dpZCAiZ2l0IGNhdC1maWxlICgtLWJhdGNofC0tYmF0Y2gtY2hlY2spIDwgPGxpc3Rfb2Zfb2JqZWN0cz4iCiBtc2dzdHIgImdpdCBjYXQtZmlsZSAoLS1iYXRjaHwtLWJhdGNoLWNoZWNrKSA8IDxvYmpla3RsaXN0YT4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNjYKIG1zZ2lkICI8dHlwZT4gY2FuIGJlIG9uZSBvZjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiBtc2dzdHIgIjx0eXA+IGthbiB2YXJhIGVuIGF2OiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyNAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM2NwogbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCiBtc2dzdHIgInZpc2Egb2JqZWt0dHlwIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzI1CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzY4CiBtc2dpZCAic2hvdyBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAidmlzYSBvYmpla3RzdG9ybGVrIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzI3CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzcwCiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICJhdnNsdXRhIG1lZCBub2xsIG7DpHIgZGV0IGludGUgdXBwc3TDpXR0IG7DpWdvdCBmZWwiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNzEKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAidmlzYSBvYmpla3RldHMgaW5uZWjDpWxsIHNueWdndCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMzMAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM3MwogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biB0ZXh0Y29udiBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJmw7ZyIGJsb2Itb2JqZWt0LCBrw7ZyIHRleHRjb252IHDDpSBvYmpla3RldHMgaW5uZWjDpWxsIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzMyCisjOiBidWlsdGluL2NhdC1maWxlLmM6Mzc1CiBtc2dpZCAic2hvdyBpbmZvIGFuZCBjb250ZW50IG9mIG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJ2aXNhIGluZm9ybWF0aW9uIG9jaCBpbm5laMOlbGwgZsO2ciBvYmpla3Qgc29tIGxpc3RhcyBww6Ugc3RhbmRhcmQgaW4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMzUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNzgKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgInZpc2EgaW5mb3JtYXRpb24gZsO2ciBvYmpla3Qgc29tIGxpc3RhcyBww6Ugc3RhbmRhcmQgaW4iCiAKQEAgLTMwMDIsMTAgKzMyMDYsMTAgQEAKIG1zZ3N0ciAibMOkcyBmaWxuYW1uIGZyw6VuIHN0YW5kYXJkIGluIgogCiAjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI0Ci1tc2dpZCAiaW5wdXQgcGF0aHMgYXJlIHRlcm1pbmF0ZWQgYnkgYSBudWxsIGNoYXJhY3RlciIKLW1zZ3N0ciAic8O2a3bDpGdhciBhdmRlbGFzIG1lZCBudWxsLXRlY2tlbiIKK21zZ2lkICJ0ZXJtaW5hdGUgaW5wdXQgYW5kIG91dHB1dCByZWNvcmRzIGJ5IGEgTlVMIGNoYXJhY3RlciIKK21zZ3N0ciAiYXZzbHV0YSBpbi0gb2NoIHV0ZGF0YXBvc3RlciBtZWQgTlVMLXRlY2tlbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTA1NCBidWlsdGluL2djLmM6MTc3CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkwIGJ1aWx0aW4vZ2MuYzoyNjAKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgInVuZGVydHJ5Y2sgZsO2cmxvcHBzcmFwcG9ydGVyaW5nIgogCkBAIC0zMDEzLDI3ICszMjE3LDMxIEBACiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCiBtc2dzdHIgInZpc2EgaW5kYXRhc8O2a3bDpGdhciBzb20gaW50ZSB0csOkZmZhcyIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNDMKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjgKK21zZ2lkICJpZ25vcmUgaW5kZXggd2hlbiBjaGVja2luZyIKK21zZ3N0ciAiaWdub3JlcmEgaW5kZXggdmlkIGtvbnRyb2xsIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NAogbXNnaWQgImNhbm5vdCBzcGVjaWZ5IHBhdGhuYW1lcyB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgImthbiBpbnRlIGFuZ2Ugc8O2a3bDpGdzbmFtbiBtZWQgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNDYKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU3CiBtc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIi16IGthbiBlbmRhc3QgYW52w6RuZGFzIHRpbGxzYW1tYW5zIG1lZCAtLXN0ZGluIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE0OAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTkKIG1zZ2lkICJubyBwYXRoIHNwZWNpZmllZCIKIG1zZ3N0ciAiaW5nZW4gc8O2a3bDpGcgYW5nYXZzIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1MgorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjMKIG1zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKIG1zZ3N0ciAiLS1xdWlldCBrYW4gZW5kYXN0IGFudsOkbmRhcyBtZWQgZXR0IGVua2VsdCBzw7ZrdsOkZ3NuYW1uIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjUKIG1zZ2lkICJjYW5ub3QgaGF2ZSBib3RoIC0tcXVpZXQgYW5kIC0tdmVyYm9zZSIKIG1zZ3N0ciAia2FuIGludGUgYW52w6RuZGEgYsOlZGUgLS1xdWlldCBvY2ggLS12ZXJib3NlIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjgKIG1zZ2lkICItLW5vbi1tYXRjaGluZyBpcyBvbmx5IHZhbGlkIHdpdGggLS12ZXJib3NlIgogbXNnc3RyICItLW5vbi1tYXRjaGluZyDDpHIgZW5kYXN0IGdpbHRpZyBtZWQgLS12ZXJib3NlIgogCkBAIC0zMTA2LDEwNiArMzMxNCwxMDYgQEAKIG1zZ2lkICJnaXQgY2hlY2tvdXQgW29wdGlvbnNdIFs8YnJhbmNoPl0gLS0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgY2hlY2tvdXQgW2ZsYWdnb3JdIFs8Z3Jlbj5dIC0tIDxmaWw+Li4uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQgYnVpbHRpbi9jaGVja291dC5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBvdXIgdmVyc2lvbiIKIG1zZ3N0ciAic8O2a3bDpGdlbiBcIiVzXCIgaGFyIGludGUgdsOlciB2ZXJzaW9uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYgYnVpbHRpbi9jaGVja291dC5jOjE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSB0aGVpciB2ZXJzaW9uIgogbXNnc3RyICJzw7ZrdsOkZ2VuIFwiJXNcIiBoYXIgaW50ZSBkZXJhcyB2ZXJzaW9uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIGFsbCBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgInPDtmt2w6RnZW4gXCIlc1wiIGlubmVow6VsbGVyIGludGUgYWxsYSBuw7ZkdsOkbmRpZ2EgdmVyc2lvbmVyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTc5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAic8O2a3bDpGdlbiBcIiVzXCIgaW5uZWjDpWxsZXIgaW50ZSBuw7ZkdsOkbmRpZ2EgdmVyc2lvbmVyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJzogY2Fubm90IG1lcmdlIgogbXNnc3RyICJzw7ZrdsOkZyBcIiVzXCI6IGthbiBpbnRlIHNsw6UgaWhvcCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIxMworIzogYnVpbHRpbi9jaGVja291dC5jOjIxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBsw6RnZ2EgdGlsbCBzYW1tYW5zbGFnbmluZ3NyZXN1bHRhdCBmw7ZyIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIzNyBidWlsdGluL2NoZWNrb3V0LmM6MjQwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDMKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzIgYnVpbHRpbi9jaGVja291dC5jOjIzNSBidWlsdGluL2NoZWNrb3V0LmM6MjM4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAiXCIlc1wiIGthbiBpbnRlIGFudsOkbmRhcyB2aWQgdXBwZGF0ZXJpbmcgYXYgc8O2a3bDpGdhciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI0OSBidWlsdGluL2NoZWNrb3V0LmM6MjUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjQ0IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICJcIiVzXCIga2FuIGludGUgYW52w6RuZGFzIG1lZCAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1NQorIzogYnVpbHRpbi9jaGVja291dC5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS4iCiBtc2dzdHIgIkthbiBpbnRlIHVwcGRhdGVyYSBzw7ZrdsOkZ2FyIG9jaCB2w6R4bGEgdGlsbCBncmVuZW4gXCIlc1wiIHNhbXRpZGlndC4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjYgYnVpbHRpbi9jaGVja291dC5jOjQ1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjI2MSBidWlsdGluL2NoZWNrb3V0LmM6NDUxCiBtc2dpZCAiY29ycnVwdCBpbmRleCBmaWxlIgogbXNnc3RyICJpbmRleGZpbGVuIMOkciB0cmFzaWciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMjkgYnVpbHRpbi9jaGVja291dC5jOjMzNgorIzogYnVpbHRpbi9jaGVja291dC5jOjMyMiBidWlsdGluL2NoZWNrb3V0LmM6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBpcyB1bm1lcmdlZCIKIG1zZ3N0ciAic8O2a3bDpGdlbiBcIiVzXCIgaGFyIGludGUgc2xhZ2l0cyBpaG9wIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NDgwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDczCiBtc2dpZCAieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCiBtc2dzdHIgImR1IG3DpXN0ZSBsw7ZzYSBkaXR0IGJlZmludGxpZ2EgaW5kZXggZsO2cnN0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjAxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnXG4iCiBtc2dzdHIgIkthbiBpbnRlIHNrYXBhIHJlZmVyZW5zbG9nIGbDtnIgXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MzIKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCIKIG1zZ3N0ciAiSEVBRCDDpHIgbnUgcMOlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIsOFdGVyc3TDpGxsIGdyZW4gXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWxyZWFkeSBvbiAnJXMnXG4iCiBtc2dzdHIgIlJlZGFuIHDDpSBcIiVzXCJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY1MworIzogYnVpbHRpbi9jaGVja291dC5jOjY0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiVsOkeGxhZGUgdGlsbCBvY2ggbm9sbHN0w6RsbGRlIGdyZW5lbiBcIiVzXCJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY1NSBidWlsdGluL2NoZWNrb3V0LmM6OTk3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlbDpHhsYWRlIHRpbGwgZW4gbnkgZ3JlbiBcIiVzXCJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY1NworIzogYnVpbHRpbi9jaGVja291dC5jOjY1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJWw6R4bGFkZSB0aWxsIGdyZW5lbiBcIiVzXCJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjcxMworIzogYnVpbHRpbi9jaGVja291dC5jOjcwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgLi4uIGFuZCAlZCBtb3JlLlxuIgogbXNnc3RyICIgLi4uIG9jaCAlZCB0aWxsLlxuIgogCiAjLiBUaGUgc2luZ3VsYXIgdmVyc2lvbgotIzogYnVpbHRpbi9jaGVja291dC5jOjcxOQorIzogYnVpbHRpbi9jaGVja291dC5jOjcxMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV2FybmluZzogeW91IGFyZSBsZWF2aW5nICVkIGNvbW1pdCBiZWhpbmQsIG5vdCBjb25uZWN0ZWQgdG9cbiIKQEAgLTMyMjgsNyArMzQzNiw3IEBACiAiXG4iCiAiJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjczNworIzogYnVpbHRpbi9jaGVja291dC5jOjczMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8ga2VlcCB0aGVtIGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTMyNDMsMTM2ICszNDUxLDE0MCBAQAogIiBnaXQgYnJhbmNoIG55dHRfZ3Jlbm5hbW4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc2NworIzogYnVpbHRpbi9jaGVja291dC5jOjc2MAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgImludGVybnQgZmVsIHZpZCBnZW5vbWfDpW5nIGF2IHJldmlzaW9uZXIgKHJldmlzaW9uIHdhbGspIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzcxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzY0CiBtc2dpZCAiUHJldmlvdXMgSEVBRCBwb3NpdGlvbiB3YXMiCiBtc2dzdHIgIlRpZGlnYXJlIHBvc2l0aW9uIGbDtnIgSEVBRCB2YXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTggYnVpbHRpbi9jaGVja291dC5jOjk5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjc5MSBidWlsdGluL2NoZWNrb3V0LmM6MTAyOAogbXNnaWQgIllvdSBhcmUgb24gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgIkR1IMOkciBww6UgZW4gZ3JlbiBzb20gw6RubnUgaW50ZSDDpHIgZsO2ZGQiCiAKLSMuIGNhc2UgKDEpCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTI4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgorbXNnc3RyICJlbmRhc3QgZW4gcmVmZXJlbnMgZsO2cnbDpG50YWRlcywgJWQgZ2F2cy4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCByZWZlcmVuY2U6ICVzIgogbXNnc3RyICJmZWxha3RpZyByZWZlcmVuczogJXMiCiAKICMuIGNhc2UgKDEpOiB3YW50IGEgdHJlZQotIzogYnVpbHRpbi9jaGVja291dC5jOjk2NworIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICJyZWZlcmVuc2VuIMOkciBpbnRlIGV0dCB0csOkZDogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0MgogbXNnaWQgInBhdGhzIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICJzw7ZrdsOkZ2FyIGthbiBpbnRlIGFudsOkbmRhcyB2aWQgYnl0ZSBhdiBncmVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwOSBidWlsdGluL2NoZWNrb3V0LmM6MTAxMworIzogYnVpbHRpbi9jaGVja291dC5jOjEwNDUgYnVpbHRpbi9jaGVja291dC5jOjEwNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiXCIlc1wiIGthbiBpbnRlIGFudsOkbmRhcyB2aWQgYnl0ZSBhdiBncmVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxNyBidWlsdGluL2NoZWNrb3V0LmM6MTAyMCBidWlsdGluL2NoZWNrb3V0LmM6MTAyNQotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJyVzJyIKIG1zZ3N0ciAiXCIlc1wiIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgXCIlc1wiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAzMworIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN3aXRjaCBicmFuY2ggdG8gYSBub24tY29tbWl0ICclcyciCiBtc2dzdHIgIkthbiBpbnRlIHbDpHhsYSBncmVuIHRpbGwgaWNrZS1pbmNoZWNrbmluZ2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTUgYnVpbHRpbi9jaGVja291dC5jOjEwNTcgYnVpbHRpbi9jbG9uZS5jOjg5Ci0jOiBidWlsdGluL3JlbW90ZS5jOjE2OSBidWlsdGluL3JlbW90ZS5jOjE3MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTEgYnVpbHRpbi9jaGVja291dC5jOjEwOTMgYnVpbHRpbi9jbG9uZS5jOjg4CisjOiBidWlsdGluL3JlbW90ZS5jOjE1OSBidWlsdGluL3JlbW90ZS5jOjE2MQogbXNnaWQgImJyYW5jaCIKIG1zZ3N0ciAiZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkyCiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgInNrYXBhIG9jaCBjaGVja2EgdXQgZW4gbnkgZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk0CiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAic2thcGEvbm9sbHN0w6RsbCBvY2ggY2hlY2thIHV0IGVuIGdyZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NQogbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgInNrYXBhIHJlZmxvZ2cgZsO2ciBueSBncmVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTYKIG1zZ2lkICJkZXRhY2ggdGhlIEhFQUQgYXQgbmFtZWQgY29tbWl0IgogbXNnc3RyICJrb3BwbGEgZnLDpW4gSEVBRCB2aWQgbmFtbmdpdmVuIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTcKIG1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAic8OkdHQgdXBwc3Ryw7Ztc2luZm9ybWF0aW9uIGbDtnIgbnkgZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk5CiBtc2dpZCAibmV3IGJyYW5jaCIKIG1zZ3N0ciAibnkgZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk5CiBtc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgogbXNnc3RyICJueSBncmVuIHV0YW4gZsO2csOkbGRlciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCiBtc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICJjaGVja2EgdXQgdsOlciB2ZXJzaW9uIGbDtnIgZWogc2FtbWFuc2xhZ25hIGZpbGVyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDIKIG1zZ2lkICJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAiY2hlY2thIHV0IGRlcmFzIHZlcnNpb24gZsO2ciBlaiBzYW1tYW5zbGFnbmEgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNAogbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgogbXNnc3RyICJ0dmluZ2EgdXRjaGVja25pbmcgKGthc3RhIGJvcnQgbG9rYWxhIMOkbmRyaW5nYXIpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDUKIG1zZ2lkICJwZXJmb3JtIGEgMy13YXkgbWVyZ2Ugd2l0aCB0aGUgbmV3IGJyYW5jaCIKIG1zZ3N0ciAidXRmw7ZyIGVuIDMtdsOkZ3NzYW1tYW5zbGFnbmluZyBmw7ZyIGRlbiBueWEgZ3JlbmVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3MCBidWlsdGluL21lcmdlLmM6MjMyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNiBidWlsdGluL21lcmdlLmM6MjI1CiBtc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgogbXNnc3RyICJ1cHBkYXRlcmEgaWdub3JlcmFkZSBmaWxlciAoc3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3MSBidWlsdGluL2xvZy5jOjEyMDggcGFyc2Utb3B0aW9ucy5oOjI0OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDcgYnVpbHRpbi9sb2cuYzoxMjI4IHBhcnNlLW9wdGlvbnMuaDoyNDgKIG1zZ2lkICJzdHlsZSIKIG1zZ3N0ciAic3RpbCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA4CiBtc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKIG1zZ3N0ciAia29uZmxpa3RzdGlsIChtZXJnZSBlbGxlciBkaWZmMykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTExMQogbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKIG1zZ3N0ciAiYmVncsOkbnNhIGludGUgc8O2a3bDpGdhciB0aWxsIGVuZGFzdCBnbGVzYSBwb3N0ZXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTExMwogbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IG5vLXN1Y2gtYnJhbmNoJyIKIG1zZ3N0ciAiZsO2cnV0c3DDpSBcImdpdCBjaGVja291dCBncmVuLXNha25hc1wiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwMQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMzYKIG1zZ2lkICItYiwgLUIgYW5kIC0tb3JwaGFuIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiBvY2ggLS1vcnBoYW4gw6RyIMO2bXNlc2lkaWd0IHV0ZXNsdXRhbmRlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTExOAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIi0tdHJhY2sgYmVow7Z2ZXIgZXR0IG5hbW4gcMOlIGVuIGdyZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MAogbXNnaWQgIk1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAiR3Jlbm5hbW4gc2FrbmFzOyBmw7Zyc8O2ayBtZWQgLWIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5NwogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICJmZWxha3RpZyBzw7ZrdsOkZ3NhbmdpdmVsc2UiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuXG4iCkBAIC0zMzgxLDEyICszNTkzLDEyIEBACiAiS2FuIGludGUgdXBwZGF0ZXJhIHPDtmt2w6RnYXIgb2NoIHbDpHhsYSB0aWxsIGdyZW5lbiBcIiVzXCIgc2FtdGlkaWd0LlxuIgogIlZpbGxlIGR1IGNoZWNrYSB1dCBcIiVzXCIgc29tIGludGUga2FuIGzDtnNhcyBzb20gZW4gdXRjaGVja25pbmc/IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3MgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBkb2VzIG5vdCB0YWtlIGEgcGF0aCBhcmd1bWVudCAnJXMnIgogbXNnc3RyICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIHRhciBpbnRlIGVuIHPDtmt2w6RnIHNvbSBhcmd1bWVudCBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTc2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxMwogbXNnaWQgIiIKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKICJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIKQEAgLTMzOTQsMzkgKzM2MDYsMzkgQEAKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBvY2ggLS1tZXJnZSDDpHIgaW5rb21wYXRpYmxhIG7DpHJcbiIKICJkdSBjaGVja2FyIHV0IGZyw6VuIGluZGV4ZXQuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjUKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyNgogbXNnaWQgIiIKICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA8cGF0dGVybj5dIFsteCB8IC1YXSBbLS1dIDxwYXRocz4uLi4iCiBtc2dzdHIgIiIKICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA8bcO2bnN0ZXI+XSBbLXggfCAtWF0gWy0tXSAiCiAiPHPDtmt2w6RnYXI+Li4uIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjkKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlc1xuIgogbXNnc3RyICJUYXIgYm9ydCAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzAKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMQogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCByZW1vdmUgJXNcbiIKIG1zZ3N0ciAiU2t1bGxlIHRhIGJvcnQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICJIb3BwYXIgw7Z2ZXIgYXJraXZldCAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMwogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCBza2lwIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAiU2t1bGxlIGhvcHBhIMO2dmVyIGFya2l2ZXQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMzCisjOiBidWlsdGluL2NsZWFuLmM6MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHRhIGJvcnQgJXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTMKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyOTQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCiAiMSAgICAgICAgICAtIHNlbGVjdCBhIG51bWJlcmVkIGl0ZW1cbiIKQEAgLTM0MzgsNyArMzY1MCw3IEBACiAiZm9vICAgICAgICAtIG1hcmtlcmEgcG9zdCBiYXNlcmFkIHDDpSB1bmlrdCBwcmVmaXhcbiIKICIgICAgICAgICAgIC0gKHRvbXQpIG1hcmtlcmEgaW5nZW50aW5nIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Mjk3CisjOiBidWlsdGluL2NsZWFuLmM6Mjk4CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgogIjEgICAgICAgICAgLSBzZWxlY3QgYSBzaW5nbGUgaXRlbVxuIgpAQCAtMzQ1OCwzNSArMzY3MCwzNSBAQAogIiogICAgICAgICAgLSB2w6RsaiBhbGxhIHBvc3RlclxuIgogIiAgICAgICAgICAgLSAodG9tdCkgYXZzbHV0YSBtYXJrZXJpbmciCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo1MTUKKyM6IGJ1aWx0aW4vY2xlYW4uYzo1MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVoICglcyk/IgogbXNnc3RyICJWYWTDpSAoJXMpPyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY1OAorIzogYnVpbHRpbi9jbGVhbi5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCiBtc2dzdHIgIkFuZ2UgaWdub3JlcmluZ3Ntw7Zuc3Rlcj4+IgogCi0jOiBidWlsdGluL2NsZWFuLmM6Njk1CisjOiBidWlsdGluL2NsZWFuLmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgogbXNnc3RyICJWQVJOSU5HOiBIaXR0YXIgaW50ZSBwb3N0ZXIgc29tIG1vdHN2YXJhcjogJXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3MTYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3MTcKIG1zZ2lkICJTZWxlY3QgaXRlbXMgdG8gZGVsZXRlIgogbXNnc3RyICJWw6RsaiBwb3N0ZXIgYXR0IHRhIGJvcnQiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3NTYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3ZlICVzPyAiCiBtc2dzdHIgInRhIGJvcnQgJXM/IgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzgxCisjOiBidWlsdGluL2NsZWFuLmM6NzgyCiBtc2dpZCAiQnllLiIKIG1zZ3N0ciAiSGVqIGTDpS4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3OTAKIG1zZ2lkICIiCiAiY2xlYW4gICAgICAgICAgICAgICAtIHN0YXJ0IGNsZWFuaW5nXG4iCiAiZmlsdGVyIGJ5IHBhdHRlcm4gICAtIGV4Y2x1ZGUgaXRlbXMgZnJvbSBkZWxldGlvblxuIgpAQCAtMzUwNCwyMSArMzcxNiwyMSBAQAogImhlbHAgICAgICAgICAgICAgICAgLSBkZW5uYSBza8Okcm1cbiIKICI/ICAgICAgICAgICAgICAgICAgIC0gaGrDpGxwIGbDtnIga29tbWFuZG92YWwiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MTcKIG1zZ2lkICIqKiogQ29tbWFuZHMgKioqIgogbXNnc3RyICIqKiogS29tbWFuZG9uICoqKiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxNworIzogYnVpbHRpbi9jbGVhbi5jOjgxOAogbXNnaWQgIldoYXQgbm93IgogbXNnc3RyICJWYWQgbnUiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjUKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjYKIG1zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKIG1zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgogbXNnc3RyWzBdICJTa3VsbGUgdGEgYm9ydCBmw7ZsamFuZGUgcG9zdDoiCiBtc2dzdHJbMV0gIlNrdWxsZSB0YSBib3J0IGbDtmxqYW5kZSBwb3N0ZXI6IgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODQyCisjOiBidWlsdGluL2NsZWFuLmM6ODQzCiBtc2dpZCAiTm8gbW9yZSBmaWxlcyB0byBjbGVhbiwgZXhpdGluZy4iCiBtc2dzdHIgIkluZ2EgZmxlciBmaWxlciBhdHQgc3TDpGRhLCBhdnNsdXRhci4iCiAKQEAgLTM1MzgsOCArMzc1MCw4IEBACiBtc2dpZCAicmVtb3ZlIHdob2xlIGRpcmVjdG9yaWVzIgogbXNnc3RyICJ0YSBib3J0IGhlbGEga2F0YWxvZ2VyIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODgwIGJ1aWx0aW4vZGVzY3JpYmUuYzo0MjAgYnVpbHRpbi9ncmVwLmM6NzE2Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDkzIGJ1aWx0aW4vbmFtZS1yZXYuYzozMTUgYnVpbHRpbi9zaG93LXJlZi5jOjE4NgorIzogYnVpbHRpbi9jbGVhbi5jOjg4MCBidWlsdGluL2Rlc2NyaWJlLmM6NDIwIGJ1aWx0aW4vZ3JlcC5jOjcxOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MyBidWlsdGluL25hbWUtcmV2LmM6MzE0IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODUKIG1zZ2lkICJwYXR0ZXJuIgogbXNnc3RyICJtw7Zuc3RlciIKIApAQCAtMzU3OSw4ICszNzkxLDggQEAKIG1zZ2lkICJnaXQgY2xvbmUgW29wdGlvbnNdIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBbZmxhZ2dvcl0gWy0tXSA8YXJraXY+IFs8a2F0Pl0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NCBidWlsdGluL2ZldGNoLmM6ODIgYnVpbHRpbi9tZXJnZS5jOjIyOQotIzogYnVpbHRpbi9wdXNoLmM6NDYyCisjOiBidWlsdGluL2Nsb25lLmM6NjQgYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vbWVyZ2UuYzoyMjIKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyMQogbXNnaWQgImZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAidHZpbmdhIGbDtnJsb3Bwc3JhcHBvcnRlcmluZyIKIApAQCAtMzU5MiwxMjMgKzM4MDQsMTMzIEBACiBtc2dpZCAiY3JlYXRlIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJza2FwYSBldHQgbmFrZXQgKFwiYmFyZVwiKSBhcmtpdiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcyCisjOiBidWlsdGluL2Nsb25lLmM6NzEKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAic2thcGEgZXR0IHNwZWdlbGFya2l2IChpbXBsaWNlcmFyIFwiYmFyZVwiKSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc0CisjOiBidWlsdGluL2Nsb25lLmM6NzMKIG1zZ2lkICJ0byBjbG9uZSBmcm9tIGEgbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiZsO2ciBhdHQga2xvbmEgZnLDpW4gZXR0IGxva2FsdCBhcmtpdiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2CisjOiBidWlsdGluL2Nsb25lLmM6NzUKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAic2thcGEgaW50ZSBsb2thbGEgaMOlcmRhIGzDpG5rYXIsIGtvcGllcmEgYWxsdGlkIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NwogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICJza2FwYSBzb20gZXR0IGRlbGF0IGFya2l2IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODAgYnVpbHRpbi9jbG9uZS5jOjgyCisjOiBidWlsdGluL2Nsb25lLmM6NzkgYnVpbHRpbi9jbG9uZS5jOjgxCiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAiaW5pdGllcmEgdW5kZXJtb2R1bGVyIGkga2xvbmVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDg1CisjOiBidWlsdGluL2Nsb25lLmM6ODIgYnVpbHRpbi9pbml0LWRiLmM6NDg1CiBtc2dpZCAidGVtcGxhdGUtZGlyZWN0b3J5IgogbXNnc3RyICJtYWxsa2F0YWxvZyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgorIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgogbXNnaWQgImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiCiBtc2dzdHIgImthdGFsb2cgYXR0IGFudsOkbmRhIG1hbGxhciBmcsOlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2CisjOiBidWlsdGluL2Nsb25lLmM6ODUKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKIG1zZ3N0ciAicmVmZXJlbnNhcmtpdiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg3IGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CiBtc2dpZCAibmFtZSIKIG1zZ3N0ciAibmFtbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4CisjOiBidWlsdGluL2Nsb25lLmM6ODcKIG1zZ2lkICJ1c2UgPG5hbWU+IGluc3RlYWQgb2YgJ29yaWdpbicgdG8gdHJhY2sgdXBzdHJlYW0iCiBtc2dzdHIgImFudsOkbmQgPG5hbW4+IGlzdMOkbGxldCBmw7ZyIFwib3JpZ2luXCIgZsO2ciBhdHQgc3DDpXJhIHVwcHN0csO2bXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MAorIzogYnVpbHRpbi9jbG9uZS5jOjg5CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKIG1zZ3N0ciAiY2hlY2thIHV0IDxncmVuPiBpc3TDpGxsZXQgZsO2ciBmasOkcnJlbnMgSEVBRCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyCisjOiBidWlsdGluL2Nsb25lLmM6OTEKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICJzw7ZrdsOkZyB0aWxsIGdpdC11cGxvYWQtcGFjayBww6UgZmrDpHJyZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MyBidWlsdGluL2ZldGNoLmM6ODMgYnVpbHRpbi9ncmVwLmM6NjYxCisjOiBidWlsdGluL2Nsb25lLmM6OTIgYnVpbHRpbi9mZXRjaC5jOjk4IGJ1aWx0aW4vZ3JlcC5jOjY2MwogbXNnaWQgImRlcHRoIgogbXNnc3RyICJkanVwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MwogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgb2YgdGhhdCBkZXB0aCIKIG1zZ3N0ciAic2thcGEgZW4gZ3J1bmQga2xvbiBww6UgZGV0dGEgZGp1cCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk2CisjOiBidWlsdGluL2Nsb25lLmM6OTUKIG1zZ2lkICJjbG9uZSBvbmx5IG9uZSBicmFuY2gsIEhFQUQgb3IgLS1icmFuY2giCiBtc2dzdHIgImtsb25hIGVuZGFzdCBlbiBncmVuLCBIRUFEIGVsbGVyIC0tYnJhbmNoIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcgYnVpbHRpbi9pbml0LWRiLmM6NDk0CisjOiBidWlsdGluL2Nsb25lLmM6OTYgYnVpbHRpbi9pbml0LWRiLmM6NDk0CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICJnaXRrYXQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OCBidWlsdGluL2luaXQtZGIuYzo0OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NyBidWlsdGluL2luaXQtZGIuYzo0OTUKIG1zZ2lkICJzZXBhcmF0ZSBnaXQgZGlyIGZyb20gd29ya2luZyB0cmVlIgogbXNnc3RyICJzZXBhcmVyYSBnaXRrYXRhbG9nZW4gZnLDpW4gYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OAogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAibnlja2VsPXbDpHJkZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMAorIzogYnVpbHRpbi9jbG9uZS5jOjk5CiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICJzdMOkbGwgaW4ga29uZmlndXJhdGlvbiBpIGRldCBueWEgYXJraXZldCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjI1MworIzogYnVpbHRpbi9jbG9uZS5jOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgogbXNnc3RyICJyZWZlcmVuc2Fya2l2ZXQgXCIlc1wiIMOkciBpbnRlIGV0dCBsb2thbHQgYXJraXYuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzE2CisjOiBidWlsdGluL2Nsb25lLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKK21zZ3N0ciAicmVmZXJlbnNhcmtpdmV0IFwiJXNcIiDDpHIgZ3J1bnQiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIgorbXNnc3RyICJyZWZlcmVuc2Fya2l2ZXQgXCIlc1wiIMOkciB5bXBhdCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjMyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMgc2thcGEga2F0YWxvZ2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMxOCBidWlsdGluL2RpZmYuYzo3NworIzogYnVpbHRpbi9jbG9uZS5jOjMyMyBidWlsdGluL2RpZmYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgc3RhdHVzIHDDpSBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzIGZpbm5zIG9jaCDDpHIgaW5nZW4ga2F0YWxvZyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMzNAorIzogYnVpbHRpbi9jbG9uZS5jOjMzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgc3RhdHVzIHDDpSAlc1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzU2CisjOiBidWlsdGluL2Nsb25lLmM6MzYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgbGluayAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMgc2thcGEgbMOkbmtlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozNjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzozNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNvcHkgZmlsZSB0byAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMga29waWVyYSBmaWxlbiB0aWxsIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM4MworIzogYnVpbHRpbi9jbG9uZS5jOjM4OCBidWlsdGluL2Nsb25lLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvbmUuXG4iCiBtc2dzdHIgImtsYXJ0LlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzk2CisjOiBidWlsdGluL2Nsb25lLmM6NDAxCiBtc2dpZCAiIgogIkNsb25lIHN1Y2NlZWRlZCwgYnV0IGNoZWNrb3V0IGZhaWxlZC5cbiIKICJZb3UgY2FuIGluc3BlY3Qgd2hhdCB3YXMgY2hlY2tlZCBvdXQgd2l0aCAnZ2l0IHN0YXR1cydcbiIKQEAgLTM3MTgsMTA1ICszOTQwLDEwOSBAQAogIkR1IGthbiBpbnNwZWt0ZXJhIGRldCBzb20gY2hlY2thZGVzIHV0IG1lZCBcImdpdCBzdGF0dXNcIlxuIgogIm9jaCBmw7Zyc8O2a2EgY2hlY2thIHV0IGlnZW4gbWVkIFwiZ2l0IGNoZWNrb3V0IC1mIEhFQURcIlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDc1CisjOiBidWlsdGluL2Nsb25lLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgogbXNnc3RyICJLdW5kZSBpbnRlIGhpdHRhIGZqw6RycmdyZW5lbiAlcyBmw7ZyIGF0dCBrbG9uYS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1NTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5Li4uICIKIG1zZ3N0ciAiS29udHJvbGxlcmFyIGFuc2x1dG5pbmcuLi4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1NTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1NjMKIG1zZ2lkICJyZW1vdGUgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0cyIKIG1zZ3N0ciAiZmrDpHJyZW4gc8OkbmRlIGludGUgYWxsYSBuw7ZkdsOkbmRpZ2Egb2JqZWt0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTYwCi0jLCBjLWZvcm1hdAotbXNnaWQgImRvbmVcbiIKLW1zZ3N0ciAia2xhcnRcbiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjYyMQorIzogYnVpbHRpbi9jbG9uZS5jOjYyNgogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAiIgogIkhFQUQgaG9zIGZqw6RycmVuIHBla2FyIHDDpSBlbiBvYmVmaW50bGlnIHJlZmVyZW5zLCBrYW4gaW50ZSBjaGVja2EgdXQuXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NTcKIG1zZ2lkICJ1bmFibGUgdG8gY2hlY2tvdXQgd29ya2luZyB0cmVlIgogbXNnc3RyICJrdW5kZSBpbnRlIGNoZWNrYSB1dCBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NjUKIG1zZ2lkICJUb28gbWFueSBhcmd1bWVudHMuIgogbXNnc3RyICJGw7ZyIG3DpW5nYSBhcmd1bWVudC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NjQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NjkKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgcmVwb3NpdG9yeSB0byBjbG9uZS4iCiBtc2dzdHIgIkR1IG3DpXN0ZSBhbmdlIGV0dCBhcmtpdiBhdHQga2xvbmEuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzc1CisjOiBidWlsdGluL2Nsb25lLmM6NzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiZmxhZ2dvcm5hIC0tYmFyZSBvY2ggLS1vcmlnaW4gJXMgw6RyIGlua29tcGF0aWJsYS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3ODMKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiZmxhZ2dvcm5hIC0tYmFyZSBvY2ggLS1zZXBhcmF0ZS1naXQtZGlyIMOkciBpbmtvbXBhdGlibGEuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzkxCisjOiBidWlsdGluL2Nsb25lLmM6Nzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiYXJraXZldCBcIiVzXCIgZmlubnMgaW50ZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc5NgorIzogYnVpbHRpbi9jbG9uZS5jOjgwMgogbXNnaWQgIi0tZGVwdGggaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICItLWRlcHRoIGlnbm9yZXJhcyBpIGxva2FsYSBrbG9uaW5nYXI7IGFudsOkbmQgZmlsZTovLyBpc3TDpGxsZXQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3OTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MDUKK21zZ2lkICJzb3VyY2UgcmVwb3NpdG9yeSBpcyBzaGFsbG93LCBpZ25vcmluZyAtLWxvY2FsIgorbXNnc3RyICJrw6RsbGFya2l2ZXQgw6RyIGdydW50LCBpZ25vcmVyYXIgLS1sb2NhbCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjgxMAogbXNnaWQgIi0tbG9jYWwgaXMgaWdub3JlZCIKIG1zZ3N0ciAiLS1sb2NhbCBpZ25vcmVyYXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MTQgYnVpbHRpbi9mZXRjaC5jOjExMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVwdGggJXMgaXMgbm90IGEgcG9zaXRpdmUgbnVtYmVyIgorbXNnc3RyICJkanVwZXQgJXMgw6RyIGludGUgZXR0IHBvc2l0aXZ0IHRhbCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhbiBlbXB0eSBkaXJlY3RvcnkuIgogbXNnc3RyICJkZXN0aW5hdGlvbnNzw7ZrdsOkZ2VuIFwiJXNcIiBmaW5ucyByZWRhbiBvY2ggw6RyIGludGUgZW4gdG9tIGthdGFsb2cuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODE4CisjOiBidWlsdGluL2Nsb25lLmM6ODM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIndvcmtpbmcgdHJlZSAnJXMnIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAiYXJiZXRzdHLDpGRldCBcIiVzXCIgZmlubnMgcmVkYW4uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMxIGJ1aWx0aW4vY2xvbmUuYzo4NDMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NDcgYnVpbHRpbi9jbG9uZS5jOjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSBpbmxlZGFuZGUga2F0YWxvZ2VyIGbDtnIgXCIlc1wiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODM0CisjOiBidWlsdGluL2Nsb25lLmM6ODUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgd29yayB0cmVlIGRpciAnJXMnLiIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSBhcmJldHNrYXRhbG9nZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODUzCisjOiBidWlsdGluL2Nsb25lLmM6ODY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byBiYXJlIHJlcG9zaXRvcnkgJyVzJy4uLlxuIgogbXNnc3RyICJLbG9uYXIgdGlsbCBldHQgbmFrZXQgYXJraXYgXCIlc1wiLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAiS2xvbmFyIHRpbGwgXCIlc1wiLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gY2xvbmUgJXMiCiBtc2dzdHIgIlZldCBpbnRlIGh1ciBtYW4ga2xvbmFyICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQyCisjOiBidWlsdGluL2Nsb25lLmM6OTU3IGJ1aWx0aW4vY2xvbmUuYzo5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIkZqw6RycmdyZW5lbiAlcyBoaXR0YWRlcyBpbnRlIGkgdXBwc3Ryw7Ztc2Fya2l2ZXQgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjgKIG1zZ2lkICJZb3UgYXBwZWFyIHRvIGhhdmUgY2xvbmVkIGFuIGVtcHR5IHJlcG9zaXRvcnkuIgogbXNnc3RyICJEdSB2ZXJrYXIgaGEga2xvbmF0IGV0dCB0b210IGFya2l2LiIKIApAQCAtMzg1MiwxNSArNDA3OCwxNSBAQAogbXNnaWQgIi0tY29tbWFuZCBtdXN0IGJlIHRoZSBmaXJzdCBhcmd1bWVudCIKIG1zZ3N0ciAiLS1jb21tYW5kIG3DpXN0ZSB2YXJhIGbDtnJzdGEgYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzYKIG1zZ2lkICJnaXQgY29tbWl0IFtvcHRpb25zXSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBjb21taXQgW2ZsYWdnb3JdIFstLV0gPHPDtmt2w6RnPi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MAorIzogYnVpbHRpbi9jb21taXQuYzo0MQogbXNnaWQgImdpdCBzdGF0dXMgW29wdGlvbnNdIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IHN0YXR1cyBbZmxhZ2dvcl0gWy0tXSA8c8O2a3bDpGc+Li4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjQ2CiBtc2dpZCAiIgogIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgogIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKQEAgLTM4ODUsNyArNDExMSw3IEBACiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU3CisjOiBidWlsdGluL2NvbW1pdC5jOjU4CiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBhbWVuZCB0aGUgbW9zdCByZWNlbnQgY29tbWl0LCBidXQgZG9pbmcgc28gd291bGQgbWFrZVxuIgogIml0IGVtcHR5LiBZb3UgY2FuIHJlcGVhdCB5b3VyIGNvbW1hbmQgd2l0aCAtLWFsbG93LWVtcHR5LCBvciB5b3UgY2FuXG4iCkBAIC0zODk1LDcgKzQxMjEsNyBAQAogImJsaXIgZGVuIHRvbS4gRHUga2FuIGvDtnJhIGtvbW1hbmRvdCBww6Ugbnl0dCBtZWQgLS1hbGxvdy1lbXB0eSwgZWxsZXJcbiIKICJzw6Uga2FuIGR1IHRhIGJvcnQgaW5jaGVja25pbmdlbiBoZWx0IG1lZCBcImdpdCByZXNldCBIRUFEXlwiLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYyCisjOiBidWlsdGluL2NvbW1pdC5jOjYzCiBtc2dpZCAiIgogIlRoZSBwcmV2aW91cyBjaGVycnktcGljayBpcyBub3cgZW1wdHksIHBvc3NpYmx5IGR1ZSB0byBjb25mbGljdCByZXNvbHV0aW9uLlxuIgogIklmIHlvdSB3aXNoIHRvIGNvbW1pdCBpdCBhbnl3YXksIHVzZTpcbiIKQEAgLTM5MDksMTEgKzQxMzUsMTEgQEAKICIgICAgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5XG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzAKIG1zZ2lkICJPdGhlcndpc2UsIHBsZWFzZSB1c2UgJ2dpdCByZXNldCdcbiIKIG1zZ3N0ciAiQW52w6RuZCBhbm5hcnMgXCJnaXQgcmVzZXRcIlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcyCisjOiBidWlsdGluL2NvbW1pdC5jOjczCiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKICJcbiIKQEAgLTM5MjksOTMgKzQxNTUsOTMgQEAKICJcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIga29tbWVyIGTDpHJlZnRlciBhdHQgw6V0ZXJ1cHB0YVxuIgogImNoZXJyeS1waWNrIGbDtnIgw6V0ZXJzdMOlZW5kZSBpbmNoZWNrbmluZ2FyLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjI3OQorIzogYnVpbHRpbi9jb21taXQuYzoyODcKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBwYWNrYSB1cHAgSEVBRDpzIHRyw6Rkb2JqZWt0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjMyMQorIzogYnVpbHRpbi9jb21taXQuYzozMjkKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSB0ZW1wb3LDpHIgaW5kZXhmaWwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzI3CisjOiBidWlsdGluL2NvbW1pdC5jOjMzNQogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgImludGVyYWt0aXYgdGlsbMOkZ2duaW5nIG1pc3NseWNrYWRlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNjAgYnVpbHRpbi9jb21taXQuYzozODEgYnVpbHRpbi9jb21taXQuYzo0MzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzY4IGJ1aWx0aW4vY29tbWl0LmM6Mzg5IGJ1aWx0aW4vY29tbWl0LmM6NDM5CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSBmaWxlbiBuZXdfaW5kZXgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDEyCisjOiBidWlsdGluL2NvbW1pdC5jOjQyMAogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKIG1zZ3N0ciAia2FuIGludGUgdXRmw7ZyYSBlbiBkZWx2aXMgaW5jaGVja25pbmcgdW5kZXIgZW4gc2FtbWFuc2xhZ25pbmcuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQxNAorIzogYnVpbHRpbi9jb21taXQuYzo0MjIKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgImthbiBpbnRlIHV0ZsO2cmEgZW4gZGVsdmlzIGluY2hlY2tuaW5nIHVuZGVyIGVuIGNoZXJyeS1waWNrLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDMyCiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBpbmRleGV0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ0NAorIzogYnVpbHRpbi9jb21taXQuYzo0NTIKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIHRlbXBvcsOkciBpbmRleGZpbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1MzUgYnVpbHRpbi9jb21taXQuYzo1NDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTQzIGJ1aWx0aW4vY29tbWl0LmM6NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0OiAlcyIKIG1zZ3N0ciAiZmVsYWt0aWcgaW5jaGVja25pbmc6ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU2MworIzogYnVpbHRpbi9jb21taXQuYzo1NzEKIG1zZ2lkICJtYWxmb3JtZWQgLS1hdXRob3IgcGFyYW1ldGVyIgogbXNnc3RyICJmZWxmb3JtYWQgXCItLWF1dGhvclwiLWZsYWdnYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1ODMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBpZGVudCBzdHJpbmc6ICclcyciCiBtc2dzdHIgIkZlbGFrdGlnIGluZHJhZ25pbmdzc3Ryw6RuZzogXCIlc1wiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYyMSBidWlsdGluL2NvbW1pdC5jOjY1NCBidWlsdGluL2NvbW1pdC5jOjk4MgorIzogYnVpbHRpbi9jb21taXQuYzo2MzAgYnVpbHRpbi9jb21taXQuYzo2NjMgYnVpbHRpbi9jb21taXQuYzoxMDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgY29tbWl0ICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHNsw6UgdXBwIGluY2hlY2tuaW5nZW4gJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjMzIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjQyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAiKGzDpHNlciBsb2dnbWVkZGVsYW5kZSBmcsOlbiBzdGFuZGFyZCBpbilcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjQ0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgbG9nZyBmcsOlbiBzdGFuZGFyZCBpbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmaWxlICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgbG9nZ2ZpbGVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjU0CiBtc2dpZCAiY29tbWl0IGhhcyBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICJpbmNoZWNrbmluZ2VuIGhhciBldHQgdG9tdCBtZWRkZWxhbmRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY2MQorIzogYnVpbHRpbi9jb21taXQuYzo2NzAKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NU0ciCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgTUVSR0VfTVNHIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY2NQorIzogYnVpbHRpbi9jb21taXQuYzo2NzQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBTUVVBU0hfTVNHIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIFNRVUFTSF9NU0ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjY5CisjOiBidWlsdGluL2NvbW1pdC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ5CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgaW5jaGVja25pbmdzbWFsbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTQwMzAsNyArNDI1Niw3IEBACiAiXHQlc1xuIgogIm9jaCBmw7Zyc8O2a2VyIGlnZW4uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ2CisjOiBidWlsdGluL2NvbW1pdC5jOjc2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC00MDQ1LDcgKzQyNzEsNyBAQAogIlx0JXNcbiIKICJvY2ggZsO2cnPDtmtlciBpZ2VuLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc1OAorIzogYnVpbHRpbi9jb21taXQuYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTQwNTUsNyArNDI4MSw3IEBACiAibWVkIFwiJWNcIiBrb21tZXIgaWdub3JlcmFzLCBvY2ggZXR0IHRvbXQgbWVkZGVsYW5kZSBhdmJyeXRlciAiCiAiaW5jaGVja25pbmdlbi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC00MDY2LDEzOSArNDI5MiwxMzkgQEAKICJtZWQgXCIlY1wiIGtvbW1lciBiZWjDpWxsYXM7IGR1IGthbiBzasOkbHYgdGEgYm9ydCBkZW0gb20gZHUgdmlsbC5cbiIKICJFdHQgdG9tdCBtZWRkZWxhbmRlIGF2YnJ5dGVyIGluY2hlY2tuaW5nZW4uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Nzc2CisjOiBidWlsdGluL2NvbW1pdC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0F1dGhvcjogICAgJXMiCiBtc2dzdHIgIiVzRsO2cmZhdHRhcmU6ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc4MworIzogYnVpbHRpbi9jb21taXQuYzo4MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNDb21taXR0ZXI6ICVzIgogbXNnc3RyICIlc0luY2hlY2thcmU6ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgwMworIzogYnVpbHRpbi9jb21taXQuYzo4MjIKIG1zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAiS2FuIGludGUgbMOkc2EgaW5kZXhldCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODY1CiBtc2dpZCAiRXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgIkZlbCB2aWQgYnlnZ2FuZGUgYXYgdHLDpGQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODYwIGJ1aWx0aW4vdGFnLmM6MzU5CisjOiBidWlsdGluL2NvbW1pdC5jOjg4MCBidWlsdGluL3RhZy5jOjM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgIkFuZ2UgbWVkZGVsYW5kZXQgZW4gYXYgZmxhZ2dvcm5hIC1tIGVsbGVyIC1GLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk1NworIzogYnVpbHRpbi9jb21taXQuYzo5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gZXhpc3RpbmcgYXV0aG9yIGZvdW5kIHdpdGggJyVzJyIKIG1zZ3N0ciAiSGl0dGFkZSBpbmdlbiBiZWZpbnRsaWcgZsO2cmZhdHRhcmUgbWVkIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NzIgYnVpbHRpbi9jb21taXQuYzoxMjA4CisjOiBidWlsdGluL2NvbW1pdC5jOjk5NyBidWlsdGluL2NvbW1pdC5jOjEyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB1bnRyYWNrZWQgZmlsZXMgbW9kZSAnJXMnIgogbXNnc3RyICJPZ2lsdGlndCBsw6RnZSBmw7ZyIG9zcMOlcmFkZSBmaWxlcjogXCIlc1wiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTAzNAogbXNnaWQgIi0tbG9uZyBhbmQgLXogYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1sb25nIG9jaCAteiDDpHIgaW5rb21wYXRpYmxhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2NAogbXNnaWQgIlVzaW5nIGJvdGggLS1yZXNldC1hdXRob3IgYW5kIC0tYXV0aG9yIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIkthbiBpbnRlIGFudsOkbmRhIGLDpWRlIC0tcmVzZXQtYXV0aG9yIG9jaCAtLWF1dGhvciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDUwCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNzUKIG1zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKIG1zZ3N0ciAiRHUgaGFyIGluZ2V0IGF0dCB1dMO2a2EuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3OAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIkR1IMOkciBpIG1pdHRlbiBhdiBlbiBzYW1tYW5zbGFnbmluZyAtLSBrYW4gaW50ZSB1dMO2a2EuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4MAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIGNoZXJyeS1waWNrIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIkR1IMOkciBpIG1pdHRlbiBhdiBlbiBjaGVycnktcGljayAtLSBrYW4gaW50ZSB1dMO2a2EuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4MwogbXNnaWQgIk9wdGlvbnMgLS1zcXVhc2ggYW5kIC0tZml4dXAgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIkZsYWdnb3JuYSAtLXNxdWFzaCBvY2ggLS1maXh1cCBrYW4gaW50ZSBhbnbDpG5kYXMgc2FtdGlkaWd0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5MwogbXNnaWQgIk9ubHkgb25lIG9mIC1jLy1DLy1GLy0tZml4dXAgY2FuIGJlIHVzZWQuIgogbXNnc3RyICJFbmRhc3QgZW4gYXYgLWMvLUMvLUYvLS1maXh1cCBrYW4gYW52w6RuZGFzLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDcwCisjOiBidWlsdGluL2NvbW1pdC5jOjEwOTUKIG1zZ2lkICJPcHRpb24gLW0gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggLWMvLUMvLUYvLS1maXh1cC4iCiBtc2dzdHIgIkZsYWdnYW4gLW0ga2FuIGludGUga29tYmluZXJhcyBtZWQgLWMvLUMvLUYvLS1maXh1cC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3OAorIzogYnVpbHRpbi9jb21taXQuYzoxMTAzCiBtc2dpZCAiLS1yZXNldC1hdXRob3IgY2FuIGJlIHVzZWQgb25seSB3aXRoIC1DLCAtYyBvciAtLWFtZW5kLiIKIG1zZ3N0ciAiLS1yZXNldC1hdXRob3Iga2FuIGVuZGFzdCBhbnbDpG5kYXMgbWVkIC1DLCAtYyBlbGxlciAtLWFtZW5kLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDk1CisjOiBidWlsdGluL2NvbW1pdC5jOjExMjAKIG1zZ2lkICJPbmx5IG9uZSBvZiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIiIKICJFbmRhc3QgZW4gYXYgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2gga2FuIGFudsOkbmRhcy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5NworIzogYnVpbHRpbi9jb21taXQuYzoxMTIyCiBtc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICJEdSBtw6VzdGUgYW5nZSBzw7ZrdsOkZ2FyIHRpbGxzYW1tYW5zIG1lZCAtLWluY2x1ZGUvLS1vbmx5LiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDk5CisjOiBidWlsdGluL2NvbW1pdC5jOjExMjQKIG1zZ2lkICJDbGV2ZXIuLi4gYW1lbmRpbmcgdGhlIGxhc3Qgb25lIHdpdGggZGlydHkgaW5kZXguIgogbXNnc3RyICJTbWFydC4uLiB1dMO2a2EgZGVuIHNlbmFzdGUgbWVkIHNtdXRzaWd0IGluZGV4LiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTAxCisjOiBidWlsdGluL2NvbW1pdC5jOjExMjYKIG1zZ2lkICJFeHBsaWNpdCBwYXRocyBzcGVjaWZpZWQgd2l0aG91dCAtaSBub3IgLW87IGFzc3VtaW5nIC0tb25seSBwYXRocy4uLiIKIG1zZ3N0ciAiRXhwbGljaXRhIHPDtmt2w6RnYXIgYW5nYXZzIHV0YW4gLWkgZWxsZXIgLW87IGFudGFyIC0tb25seSBzw7ZrdsOkZ2FyLi4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMTEgYnVpbHRpbi90YWcuYzo1NzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEzNiBidWlsdGluL3RhZy5jOjU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIKIG1zZ3N0ciAiRmVsYWt0aWd0IHN0w6RkbmluZ3Nsw6RnZSAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTE2CisjOiBidWlsdGluL2NvbW1pdC5jOjExNDEKIG1zZ2lkICJQYXRocyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICJLYW4gaW50ZSBhbmdlIHPDtmt2w6RnYXIgbWVkIC1hLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjIyIGJ1aWx0aW4vY29tbWl0LmM6MTQ1NQorIzogYnVpbHRpbi9jb21taXQuYzoxMjUxIGJ1aWx0aW4vY29tbWl0LmM6MTQ4MgogbXNnaWQgInNob3cgc3RhdHVzIGNvbmNpc2VseSIKIG1zZ3N0ciAidmlzYSBrb25jaXMgc3RhdHVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjQgYnVpbHRpbi9jb21taXQuYzoxNDU3CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTMgYnVpbHRpbi9jb21taXQuYzoxNDg0CiBtc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgInZpc2EgaW5mb3JtYXRpb24gb20gZ3JlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjI2IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OSBidWlsdGluL3B1c2guYzo0NTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1NSBidWlsdGluL2NvbW1pdC5jOjE0ODYgYnVpbHRpbi9wdXNoLmM6NTA3CiBtc2dpZCAibWFjaGluZS1yZWFkYWJsZSBvdXRwdXQiCiBtc2dzdHIgIm1hc2tpbmzDpHNiYXIgdXRkYXRhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjkgYnVpbHRpbi9jb21taXQuYzoxNDYxCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTggYnVpbHRpbi9jb21taXQuYzoxNDg4CiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICJ2aXNhIHN0YXR1cyBpIGzDpW5ndCBmb3JtYXQgKHN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjMyIGJ1aWx0aW4vY29tbWl0LmM6MTQ2NAorIzogYnVpbHRpbi9jb21taXQuYzoxMjYxIGJ1aWx0aW4vY29tbWl0LmM6MTQ5MQogbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIgogbXNnc3RyICJ0ZXJtaW5lcmEgcG9zdGVyIG1lZCBOVUwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIzNCBidWlsdGluL2NvbW1pdC5jOjE0NjcgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY2NwotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MCBidWlsdGluL3RhZy5jOjQ1OQorIzogYnVpbHRpbi9jb21taXQuYzoxMjYzIGJ1aWx0aW4vY29tbWl0LmM6MTQ5NCBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc0CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc3IGJ1aWx0aW4vdGFnLmM6NDU5CiBtc2dpZCAibW9kZSIKIG1zZ3N0ciAibMOkZ2UiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIzNSBidWlsdGluL2NvbW1pdC5jOjE0NjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2NCBidWlsdGluL2NvbW1pdC5jOjE0OTQKIG1zZ2lkICJzaG93IHVudHJhY2tlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IGFsbCwgbm9ybWFsLCBuby4gKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgInZpc2Egb3Nww6VyYWRlIGZpbGVyLCB2YWxmcmlhIGzDpGdlbjogYWxsYSwgbm9ybWFsLCBuby4gKFN0YW5kYXJkOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2NwogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAidmlzYSBpZ25vcmVyYWRlIGZpbGVyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzkgcGFyc2Utb3B0aW9ucy5oOjE1NAorIzogYnVpbHRpbi9jb21taXQuYzoxMjY4IHBhcnNlLW9wdGlvbnMuaDoxNTYKIG1zZ2lkICJ3aGVuIgogbXNnc3RyICJuw6RyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyNDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2OQogbXNnaWQgIiIKICJpZ25vcmUgY2hhbmdlcyB0byBzdWJtb2R1bGVzLCBvcHRpb25hbCB3aGVuOiBhbGwsIGRpcnR5LCB1bnRyYWNrZWQuICIKICIoRGVmYXVsdDogYWxsKSIKQEAgLTQyMDYsMjE3ICs0NDMyLDIxNyBAQAogImlnbm9yZXJhIMOkbmRyaW5nYXIgaSB1bmRlcm1vZHVsZXIsIHZhbGZyaXR0IG7DpHI6IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihEZWZhdWx0OiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyNDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI3MQogbXNnaWQgImxpc3QgdW50cmFja2VkIGZpbGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgInZpc2Egb3Nww6VyYWRlIGZpbGVyIGkgc3BhbHRlciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzEzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDAKIG1zZ2lkICJjb3VsZG4ndCBsb29rIHVwIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJrdW5kZSBpbnRlIHNsw6UgdXBwIGVuIHByZWNpcyBza2FwYWQgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxNQorIzogYnVpbHRpbi9jb21taXQuYzoxMzQyCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGVuIHByZWNpcyBza2FwYWQgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NgorIzogYnVpbHRpbi9jb21taXQuYzoxMzgzCiBtc2dpZCAiZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAiZnLDpW5rb3BwbGFkIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OAorIzogYnVpbHRpbi9jb21taXQuYzoxMzg1CiBtc2dpZCAiIChyb290LWNvbW1pdCkiCiBtc2dzdHIgIiAocm90aW5jaGVja25pbmcpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MgogbXNnaWQgInN1cHByZXNzIHN1bW1hcnkgYWZ0ZXIgc3VjY2Vzc2Z1bCBjb21taXQiCiBtc2dzdHIgInVuZGVydHJ5Y2sgc2FtbWFuZmF0dG5pbmcgZWZ0ZXIgZnJhbWfDpW5nc3JpayBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDI2CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTMKIG1zZ2lkICJzaG93IGRpZmYgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgInZpc2EgZGlmZiBpIG1hbGxlbiBmw7ZyIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NQogbXNnaWQgIkNvbW1pdCBtZXNzYWdlIG9wdGlvbnMiCiBtc2dzdHIgIkFsdGVybmF0aXYgZsO2ciBpbmNoZWNrbmluZ3NtZWRkZWxhbmRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjkgYnVpbHRpbi90YWcuYzo0NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NiBidWlsdGluL3RhZy5jOjQ1NwogbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCiBtc2dzdHIgImzDpHMgbWVkZGVsYW5kZSBmcsOlbiBmaWwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMAorIzogYnVpbHRpbi9jb21taXQuYzoxNDU3CiBtc2dpZCAiYXV0aG9yIgogbXNnc3RyICJmw7ZyZmF0dGFyZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTcKIG1zZ2lkICJvdmVycmlkZSBhdXRob3IgZm9yIGNvbW1pdCIKIG1zZ3N0ciAiw7Z2ZXJzdHlyIGbDtnJmYXR0YXJlIGbDtnIgaW5jaGVja25pbmdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMxIGJ1aWx0aW4vZ2MuYzoxNzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OCBidWlsdGluL2djLmM6MjYxCiBtc2dpZCAiZGF0ZSIKIG1zZ3N0ciAiZGF0dW0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMQorIzogYnVpbHRpbi9jb21taXQuYzoxNDU4CiBtc2dpZCAib3ZlcnJpZGUgZGF0ZSBmb3IgY29tbWl0IgogbXNnc3RyICLDtnZlcnN0eXIgZGF0dW0gZsO2ciBpbmNoZWNrbmlnbmVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzIgYnVpbHRpbi9tZXJnZS5jOjIyMyBidWlsdGluL25vdGVzLmM6NDA1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTkgYnVpbHRpbi9tZXJnZS5jOjIxNiBidWlsdGluL25vdGVzLmM6NDA1CiAjOiBidWlsdGluL25vdGVzLmM6NTYyIGJ1aWx0aW4vdGFnLmM6NDU1CiBtc2dpZCAibWVzc2FnZSIKIG1zZ3N0ciAibWVkZGVsYW5kZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMyCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTkKIG1zZ2lkICJjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiaW5jaGVja25pbmdzbWVkZGVsYW5kZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMzCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjAKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiw6V0ZXJhbnbDpG5kIG9jaCByZWRpZ2VyYSBtZWRkZWxhbmRlIGZyw6VuIGFuZ2l2ZW4gaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNAorIzogYnVpbHRpbi9jb21taXQuYzoxNDYxCiBtc2dpZCAicmV1c2UgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIsOldGVyYW52w6RuZCBtZWRkZWxhbmRlIGZyw6VuIGFuZ2l2ZW4gaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNQorIzogYnVpbHRpbi9jb21taXQuYzoxNDYyCiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gZml4dXAgc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogImFudsOkbmQgYXV0b3NxdWFzaC1mb3JtYXRlcmF0IG1lZGRlbGFuZGUgZsO2ciBhdHQgZml4YSBhbmdpdmVuIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MwogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIHNxdWFzaCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAiYW52w6RuZCBhdXRvc3F1YXNoLWZvcm1hdGVyYXQgbWVkZGVsYW5kZSBmw7ZyIGF0dCBzbMOlIGlob3AgbWVkIGFuZ2l2ZW4gIgogImluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NAogbXNnaWQgInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiCiBtc2dzdHIgImphZyDDpHIgbnUgZsO2cmZhdHRhcmUgYXYgaW5jaGVja25pbmdlbiAoYW52w6RuZHMgbWVkIC1DLy1jLy0tYW1lbmQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzggYnVpbHRpbi9sb2cuYzoxMTYwIGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjUgYnVpbHRpbi9sb2cuYzoxMTgwIGJ1aWx0aW4vcmV2ZXJ0LmM6ODYKIG1zZ2lkICJhZGQgU2lnbmVkLW9mZi1ieToiCiBtc2dzdHIgImzDpGdnIHRpbGwgU2lnbmVkLW9mZi1ieToiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzOQorIzogYnVpbHRpbi9jb21taXQuYzoxNDY2CiBtc2dpZCAidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIgogbXNnc3RyICJhbnbDpG5kIGFuZ2l2ZW4gbWFsbGZpbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjcKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIGNvbW1pdCIKIG1zZ3N0ciAidHZpbmdhIHJlZGlnZXJpbmcgYXYgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDY4CiBtc2dpZCAiZGVmYXVsdCIKIG1zZ3N0ciAic3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MSBidWlsdGluL3RhZy5jOjQ2MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDY4IGJ1aWx0aW4vdGFnLmM6NDYwCiBtc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKIG1zZ3N0ciAiaHVyIGJsYW5rc3RlZyBvY2ggI2tvbW1lbnRhcmVyIHNrYWxsIHRhcyBib3J0IGZyw6VuIG1lZGRlbGFuZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MgorIzogYnVpbHRpbi9jb21taXQuYzoxNDY5CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgImlua2x1ZGVyYSBzdGF0dXMgaSBtYWxsZW4gZsO2ciBpbmNoZWNrbmluZ3NtZWRkZWxhbmRldCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQzIGJ1aWx0aW4vbWVyZ2UuYzoyMzAgYnVpbHRpbi90YWcuYzo0NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MCBidWlsdGluL21lcmdlLmM6MjIzIGJ1aWx0aW4vdGFnLmM6NDYxCiBtc2dpZCAia2V5IGlkIgogbXNnc3RyICJueWNrZWwtaWQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0NCBidWlsdGluL21lcmdlLmM6MjMxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzEgYnVpbHRpbi9tZXJnZS5jOjIyNAogbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKIG1zZ3N0ciAiR1BHLXNpZ25lcmEgaW5jaGVja25pbmciCiAKICMuIGVuZCBjb21taXQgbWVzc2FnZSBvcHRpb25zCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NAogbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgogbXNnc3RyICJBbHRlcm5hdGl2IGbDtnIgaW5jaGVja25pbmdlbnMgaW5uZWjDpWxsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NQogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAiY2hlY2thIGluIGFsbGEgw6RuZHJhZGUgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0OQorIzogYnVpbHRpbi9jb21taXQuYzoxNDc2CiBtc2dpZCAiYWRkIHNwZWNpZmllZCBmaWxlcyB0byBpbmRleCBmb3IgY29tbWl0IgogbXNnc3RyICJsw6RnZyB0aWxsIGFuZ2l2bmEgZmlsZXIgdGlsbCBpbmRleGV0IGbDtnIgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDc3CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCiBtc2dzdHIgImzDpGdnIHRpbGwgZmlsZXIgaW50ZXJha3RpdnQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDc4CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAibMOkZ2cgdGlsbCDDpG5kcmluZ2FyIGludGVyYWt0aXZ0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OQogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAiY2hlY2thIGVuZGFzdCBpbiBhbmdpdm5hIGZpbGVyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MAogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGhvb2siCiBtc2dzdHIgImbDtnJiaWfDpSBwcmUtY29tbWl0LWtyb2siCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NAorIzogYnVpbHRpbi9jb21taXQuYzoxNDgxCiBtc2dpZCAic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIKIG1zZ3N0ciAidmlzYSB2YWQgc29tIHNrdWxsZSBjaGVja2FzIGluIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MgogbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBmw7ZyZWfDpWVuZGUgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NgorIzogYnVpbHRpbi9jb21taXQuYzoxNDkzCiBtc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgogbXNnc3RyICJmw7ZyYmlnw6UgcG9zdC1yZXdyaXRlLWtyb2siCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDk4CiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAib2sgYXR0IHJlZ2lzdHJlcmEgZW4gdG9tIMOkbmRyaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMAogbXNnaWQgIm9rIHRvIHJlY29yZCBhIGNoYW5nZSB3aXRoIGFuIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgIm9rIGF0dCByZWdpc3RyZXJhIGVuIMOkbmRyaW5nIG1lZCB0b210IG1lZGRlbGFuZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwNworIzogYnVpbHRpbi9jb21taXQuYzoxNTI5CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIEhFQUQ6cyBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTQ1IGJ1aWx0aW4vbWVyZ2UuYzo1MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU2NyBidWlsdGluL21lcmdlLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgImt1bmRlIGludGUgw7ZwcG5hIFwiJXNcIiBmw7ZyIGzDpHNuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgogbXNnc3RyICJUcmFzaWcgTUVSR0VfSEVBRC1maWwgKCVzKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTU5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1ODEKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NT0RFIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIE1FUkdFX01PREUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU3OAorIzogYnVpbHRpbi9jb21taXQuYzoxNjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlOiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBpbmNoZWNrbmluZ3NtZWRkZWxhbmRlOiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0OyB5b3UgZGlkIG5vdCBlZGl0IHRoZSBtZXNzYWdlLlxuIgogbXNnc3RyICJBdmJyeXRlciBpbmNoZWNrbmluZzsgbWVkZGVsYW5kZXQgaW50ZSByZWRpZ2VyYXQuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NworIzogYnVpbHRpbi9jb21taXQuYzoxNjE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdCBkdWUgdG8gZW1wdHkgY29tbWl0IG1lc3NhZ2UuXG4iCiBtc2dzdHIgIkF2YnJ5dGVyIHDDpSBncnVuZCBhdiB0b210IGluY2hlY2tuaW5nc21lZGRlbGFuZGUuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMiBidWlsdGluL21lcmdlLmM6ODYxIGJ1aWx0aW4vbWVyZ2UuYzo4ODYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMSBidWlsdGluL21lcmdlLmM6ODU0IGJ1aWx0aW4vbWVyZ2UuYzo4NzkKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgaW5jaGVja25pbmdzb2JqZWt0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY1MgogbXNnaWQgImNhbm5vdCBsb2NrIEhFQUQgcmVmIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpXNhIEhFQUQtcmVmZXJlbnMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNworIzogYnVpbHRpbi9jb21taXQuYzoxNjU2CiBtc2dpZCAiY2Fubm90IHVwZGF0ZSBIRUFEIHJlZiIKIG1zZ3N0ciAia3VuZGUgaW50ZSB1cHBkYXRlcmEgSEVBRC1yZWZlcmVucyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NjcKIG1zZ2lkICIiCiAiUmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLCBidXQgdW5hYmxlIHRvIHdyaXRlXG4iCiAibmV3X2luZGV4IGZpbGUuIENoZWNrIHRoYXQgZGlzayBpcyBub3QgZnVsbCBvciBxdW90YSBpc1xuIgpAQCAtNDQyNywxMjcgKzQ2NTMsMTMxIEBACiAiYXR0IGt2b3RlbiBpbnRlIGhhciDDtnZlcnNrcmlkaXRzLCBvY2gga8O2ciBzZWRhblxuIgogIlwiZ2l0IHJlc2V0IEhFQURcIiBmw7ZyIGF0dCDDpXRlcnN0w6RsbGEuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6OAogbXNnaWQgImdpdCBjb25maWcgW29wdGlvbnNdIgogbXNnc3RyICJnaXQgY29uZmlnIFtmbGFnZ29yXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1MgorIzogYnVpbHRpbi9jb25maWcuYzo1NAogbXNnaWQgIkNvbmZpZyBmaWxlIGxvY2F0aW9uIgogbXNnc3RyICJLb25maWd1cmF0aW9uc2ZpbGVucyBwbGF0cyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1MworIzogYnVpbHRpbi9jb25maWcuYzo1NQogbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCiBtc2dzdHIgImFudsOkbmQgZ2xvYmFsIGtvbmZpZ3VyYXRpb25zZmlsIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU0CisjOiBidWlsdGluL2NvbmZpZy5jOjU2CiBtc2dpZCAidXNlIHN5c3RlbSBjb25maWcgZmlsZSIKIG1zZ3N0ciAiYW52w6RuZCBzeXN0ZW1ldHMga29uZmlndXJhdGlvbnNmaWwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTcKIG1zZ2lkICJ1c2UgcmVwb3NpdG9yeSBjb25maWcgZmlsZSIKIG1zZ3N0ciAiYW52w6RuZCBhcmtpdmV0cyBrb25maWd1cmF0aW9uc2ZpbCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NgorIzogYnVpbHRpbi9jb25maWcuYzo1OAogbXNnaWQgInVzZSBnaXZlbiBjb25maWcgZmlsZSIKIG1zZ3N0ciAiYW52w6RuZCBhbmdpdmVuIGtvbmZpZ3VyYXRpb25zaWwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKIG1zZ2lkICJibG9iLWlkIgogbXNnc3RyICJibG9iLWlkIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjU5CiBtc2dpZCAicmVhZCBjb25maWcgZnJvbSBnaXZlbiBibG9iIG9iamVjdCIKIG1zZ3N0ciAibMOkcyBrb25maWd1cmF0aW9uIGZyw6VuIGdpdmV0IGJsb2Itb2JqZWt0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU4CisjOiBidWlsdGluL2NvbmZpZy5jOjYwCiBtc2dpZCAiQWN0aW9uIgogbXNnc3RyICLDhXRnw6RyZCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OQorIzogYnVpbHRpbi9jb25maWcuYzo2MQogbXNnaWQgImdldCB2YWx1ZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJow6RtdGEgdsOkcmRlOiBuYW1uIFt2w6RyZGUtcmVndXR0cl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKIG1zZ2lkICJnZXQgYWxsIHZhbHVlczoga2V5IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImjDpG10YSBhbGxhIHbDpHJkZW46IG55Y2tlbCBbdsOkcmRlLXJlZ3V0dHJdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxCisjOiBidWlsdGluL2NvbmZpZy5jOjYzCiBtc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImjDpG10YSB2w6RyZGVuIGbDtnIgcmVndXR0cjogbmFtbi1yZWd1dHRyIFt2w6RyZGUtcmVndXR0cl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjQKK21zZ2lkICJnZXQgdmFsdWUgc3BlY2lmaWMgZm9yIHRoZSBVUkw6IHNlY3Rpb25bLnZhcl0gVVJMIgorbXNnc3RyICJow6RtdGEgdsOkcmRlIHNwZWNpZmlrdCBVUkw6ZW46IHNla3Rpb25bLnZhcl0gVVJMIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjY1CiBtc2dpZCAicmVwbGFjZSBhbGwgbWF0Y2hpbmcgdmFyaWFibGVzOiBuYW1lIHZhbHVlIFt2YWx1ZV9yZWdleF0iCiBtc2dzdHIgImVyc8OkdHQgYWxsYSBtb3RzdmFyYW5kZSB2YXJpYWJsZXI6IG5hbW4gdsOkcmRlIFt2w6RyZGUtcmVndXR0cl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjYKIG1zZ2lkICJhZGQgYSBuZXcgdmFyaWFibGU6IG5hbWUgdmFsdWUiCiBtc2dzdHIgImzDpGdnIHRpbGwgZW4gbnkgdmFyaWFiZWw6IG5hbW4gdsOkcmRlIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY0CisjOiBidWlsdGluL2NvbmZpZy5jOjY3CiBtc2dpZCAicmVtb3ZlIGEgdmFyaWFibGU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAidGEgYm9ydCBlbiB2YXJpYWJlbDogbmFtbiBbdsOkcmRlLXJlZ3V0dHJdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY1CisjOiBidWlsdGluL2NvbmZpZy5jOjY4CiBtc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgInRhIGJvcnQgYWxsYSB0csOkZmZhcjogbmFtbiBbdsOkcmRlLXJlZ3V0dHJdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY2CisjOiBidWlsdGluL2NvbmZpZy5jOjY5CiBtc2dpZCAicmVuYW1lIHNlY3Rpb246IG9sZC1uYW1lIG5ldy1uYW1lIgogbXNnc3RyICJieXQgbmFtbiBww6Ugc2VrdGlvbjogZ2FtbWFsdC1uYW1uIG55dHQtbmFtbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NworIzogYnVpbHRpbi9jb25maWcuYzo3MAogbXNnaWQgInJlbW92ZSBhIHNlY3Rpb246IG5hbWUiCiBtc2dzdHIgInRhIGJvcnQgZW4gc2VrdGlvbjogbmFtbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OAorIzogYnVpbHRpbi9jb25maWcuYzo3MQogbXNnaWQgImxpc3QgYWxsIgogbXNnc3RyICJ2aXNhIGFsbGEiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKIG1zZ2lkICJvcGVuIGFuIGVkaXRvciIKIG1zZ3N0ciAiw7ZwcG5hIHRleHRyZWRpZ2VyaW5nc3Byb2dyYW0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzAgYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3MyBidWlsdGluL2NvbmZpZy5jOjc0CiBtc2dpZCAic2xvdCIKIG1zZ3N0ciAicGxhdHMiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBjb25maWd1cmVkOiBbZGVmYXVsdF0iCiBtc2dzdHIgImhpdHRhIGRlbiBpbnN0w6RsbGRhIGbDpHJnZW46IFtkZWZhdWx0XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3NAogbXNnaWQgImZpbmQgdGhlIGNvbG9yIHNldHRpbmc6IFtzdGRvdXQtaXMtdHR5XSIKIG1zZ3N0ciAiaGl0dGEgZsOkcmdpbnN0w6RsbG5pbmdlbjogW3N0ZG91dC1pcy10dHldIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcyCisjOiBidWlsdGluL2NvbmZpZy5jOjc1CiBtc2dpZCAiVHlwZSIKIG1zZ3N0ciAiVHlwIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjczCisjOiBidWlsdGluL2NvbmZpZy5jOjc2CiBtc2dpZCAidmFsdWUgaXMgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiIgogbXNnc3RyICJ2w6RyZGV0IMOkciBcInRydWVcIiBlbGxlciBcImZhbHNlXCIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKIG1zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKIG1zZ3N0ciAidsOkcmRldCDDpHIgZXR0IGRlY2ltYWx0IHRhbCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NQorIzogYnVpbHRpbi9jb25maWcuYzo3OAogbXNnaWQgInZhbHVlIGlzIC0tYm9vbCBvciAtLWludCIKIG1zZ3N0ciAidsOkcmRldCDDpHIgLS1ib29sIGVsbGVyIC0taW50IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc2CisjOiBidWlsdGluL2NvbmZpZy5jOjc5CiBtc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKIG1zZ3N0ciAidsOkcmRldCDDpHIgZW4gc8O2a3bDpGcgKGZpbC0gZWxsZXIga2F0YWxvZ25hbW4pIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc3CisjOiBidWlsdGluL2NvbmZpZy5jOjgwCiBtc2dpZCAiT3RoZXIiCiBtc2dzdHIgIkFuZHJhIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc4CisjOiBidWlsdGluL2NvbmZpZy5jOjgxCiBtc2dpZCAidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIgogbXNnc3RyICJ0ZXJtaW5lcmEgdsOkcmRlbiBtZWQgTlVMLWJ5dGUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODIKIG1zZ2lkICJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiCiBtc2dzdHIgInJlc3Bla3RlcmEgaW5rbHVkZXJpbmdzZGlyZWt0aXYgdmlkIHVwcHNsYWciCiAKQEAgLTQ1NjAsNyArNDc5MCw3IEBACiBtc2dzdHIgInNrcml2IHN0b3JsZWthciBpIG3DpG5uaXNrb2zDpHNiYXJ0IGZvcm1hdCIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjE2Ci1tc2dpZCAiZ2l0IGRlc2NyaWJlIFtvcHRpb25zXSA8Y29tbWl0dGlzaD4qIgorbXNnaWQgImdpdCBkZXNjcmliZSBbb3B0aW9uc10gPGNvbW1pdC1pc2g+KiIKIG1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFtmbGFnZ29yXSA8aW5jaGVja25pbmctaWd0PioiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxNwpAQCAtNDY3NSw3ICs0OTA1LDcgQEAKIG1zZ2lkICJvbmx5IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICLDtnZlcnbDpGcgZW5kYXN0IHRhZ2dhciBzb20gbW90c3ZhcmFyIDxtw7Zuc3Rlcj4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MjMgYnVpbHRpbi9uYW1lLXJldi5jOjMyMgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQyMyBidWlsdGluL25hbWUtcmV2LmM6MzIxCiBtc2dpZCAic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIgogbXNnc3RyICJ2aXNhIGbDtnJrb3J0YWRlIGluY2hlY2tuaW5nc29iamVrdCBzb20gc3RhbmRhcmQiCiAKQEAgLTQ2OTYsMzQgKzQ5MjYsMzQgQEAKIG1zZ3N0ciAiSW5nYSBuYW1uIGhpdHRhZGVzLCBrYW4gaW50ZSBiZXNrcml2YSBuw6Vnb3QuIgogCiAjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDg5Ci1tc2dpZCAiLS1kaXJ0eSBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXR0aXNoZXMiCi1tc2dzdHIgIi0tZGlydHkgw6RyIGlua29tcGF0aWJlbHQgbWVkIFwiY29tbWl0dGlzaFwiLXbDpHJkZW4iCittc2dpZCAiLS1kaXJ0eSBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXQtaXNoZXMiCittc2dzdHIgIi0tZGlydHkgw6RyIGlua29tcGF0aWJlbHQgbWVkIFwiY29tbWl0LWlzaFwiLXbDpHJkZW4iCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjc5CisjOiBidWlsdGluL2RpZmYuYzo4NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKIG1zZ3N0ciAiXCIlc1wiOiBpbnRlIGVuIG5vcm1hbCBmaWwgZWxsZXIgc3ltYm9saXNrIGzDpG5rIgogCi0jOiBidWlsdGluL2RpZmYuYzoyMzAKKyM6IGJ1aWx0aW4vZGlmZi5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9wdGlvbjogJXMiCiBtc2dzdHIgIm9naWx0aWcgZmxhZ2dhOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzA3CisjOiBidWlsdGluL2RpZmYuYzozNTcKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiSW50ZSBldHQgZ2l0LWFya2l2IgogCi0jOiBidWlsdGluL2RpZmYuYzozNTAKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAib2JqZWt0ZXQgXCIlc1wiIHNvbSBhbmdhdnMgw6RyIGZlbGFrdGlndC4iCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM1OQorIzogYnVpbHRpbi9kaWZmLmM6NDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vcmUgdGhhbiB0d28gYmxvYnMgZ2l2ZW46ICclcyciCiBtc2dzdHIgIm1lciDDpG4gdHbDpSBibG9iYmFyIGFuZ2F2czogXCIlc1wiIgogCi0jOiBidWlsdGluL2RpZmYuYzozNjYKKyM6IGJ1aWx0aW4vZGlmZi5jOjQxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmhhbmRsZWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICJlaiBoYW50ZXJhdCBvYmpla3QgXCIlc1wiIGFuZ2F2cy4iCkBAIC00NzMyLDM5ICs0OTYyLDM5IEBACiBtc2dpZCAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1vcHRzXSIKIG1zZ3N0ciAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1mbGFnZ29yXSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY2NgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MwogbXNnaWQgInNob3cgcHJvZ3Jlc3MgYWZ0ZXIgPG4+IG9iamVjdHMiCiBtc2dzdHIgInZpc2EgZsO2cmxvcHAgZWZ0ZXIgPG4+IG9iamVrdCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY2OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NQogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBzaWduZWQgdGFncyIKIG1zZ3N0ciAidsOkbGogaGFudGVyaW5nIGF2IHNpZ25lcmFkZSB0YWdnYXIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzEKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzgKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgogbXNnc3RyICJ2w6RsaiBoYW50ZXJpbmcgYXYgdGFnZ2FyIHNvbSBoYXIgdGFnZ2ZpbHRyZXJhZGUgb2JqZWt0IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc0CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgxCiBtc2dpZCAiRHVtcCBtYXJrcyB0byB0aGlzIGZpbGUiCiBtc2dzdHIgIkR1bXAgbcOkcmtlbiB0aWxsIGZpbGVuIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgzCiBtc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIgogbXNnc3RyICJJbXBvcnRlcmEgbcOkcmtlbiBmcsOlbiBmaWxlbiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4NQogbXNnaWQgIkZha2UgYSB0YWdnZXIgd2hlbiB0YWdzIGxhY2sgb25lIgogbXNnc3RyICJGZWprYSB0YWdnYXJlIG7DpHIgdGFnZ2VuIHNha25hciBlbiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4NwogbXNnaWQgIk91dHB1dCBmdWxsIHRyZWUgZm9yIGVhY2ggY29tbWl0IgogbXNnc3RyICJTa3JpdiB1dCBoZWxhIHRyw6RkZXQgZsO2ciB2YXJqZSBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4OQogbXNnaWQgIlVzZSB0aGUgZG9uZSBmZWF0dXJlIHRvIHRlcm1pbmF0ZSB0aGUgc3RyZWFtIgogbXNnc3RyICJBbnbDpG5kIGRvbmUtZnVua3Rpb25lbiBmw7ZyIGF0dCBhdnNsdXRhIHN0csO2bW1lbiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY5MAogbXNnaWQgIlNraXAgb3V0cHV0IG9mIGJsb2IgZGF0YSIKIG1zZ3N0ciAiSG9wcGEgw7Z2ZXIgc2tyaXZuaW5nIGF2IGJsb2ItZGF0YSIKIApAQCAtNDc4NCwxNDQgKzUwMTQsMTUzIEBACiBtc2dpZCAiZ2l0IGZldGNoIC0tYWxsIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1hbGwgWzxmbGFnZ29yPl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MAorIzogYnVpbHRpbi9mZXRjaC5jOjc1CiBtc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKIG1zZ3N0ciAiaMOkbXRhIGZyw6VuIGFsbGEgZmrDpHJyYXIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MgorIzogYnVpbHRpbi9mZXRjaC5jOjc3CiBtc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgogbXNnc3RyICJsw6RnZyB0aWxsIGkgLmdpdC9GRVRDSF9IRUFEIGlzdMOkbGxldCBmw7ZyIGF0dCBza3JpdmEgw7Z2ZXIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NAorIzogYnVpbHRpbi9mZXRjaC5jOjc5CiBtc2dpZCAicGF0aCB0byB1cGxvYWQgcGFjayBvbiByZW1vdGUgZW5kIgogbXNnc3RyICJzw7ZrdsOkZyB0aWxsIHVwbG9hZCBwYWNrIHDDpSBmasOkcnJlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY1CisjOiBidWlsdGluL2ZldGNoLmM6ODAKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgbG9jYWwgYnJhbmNoIgogbXNnc3RyICJ0dmluZ2Egw7Z2ZXJza3Jpdm5pbmcgYXYgbG9rYWwgZ3JlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY3CisjOiBidWlsdGluL2ZldGNoLmM6ODIKIG1zZ2lkICJmZXRjaCBmcm9tIG11bHRpcGxlIHJlbW90ZXMiCiBtc2dzdHIgImjDpG10YSBmcsOlbiBmbGVyYSBmasOkcnJhciIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY5CisjOiBidWlsdGluL2ZldGNoLmM6ODQKIG1zZ2lkICJmZXRjaCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIgogbXNnc3RyICJow6RtdGEgYWxsYSB0YWdnYXIgb2NoIGFzc29jaWVyYWRlIG9iamVrdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcxCisjOiBidWlsdGluL2ZldGNoLmM6ODYKIG1zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCiBtc2dzdHIgImjDpG10YSBpbnRlIGFsbGEgdGFnZ2FyICgtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4OAogbXNnaWQgInBydW5lIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyBubyBsb25nZXIgb24gcmVtb3RlIgogbXNnc3RyICJyZW5zYSBmasOkcnJzcMOlcmFuZGUgZ3JlbmFyIGVqIGzDpG5ncmUgcMOlIGZqw6RycmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4OQogbXNnaWQgIm9uLWRlbWFuZCIKIG1zZ3N0ciAib24tZGVtYW5kIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MAogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInN0eXIgcmVrdXJzaXYgaMOkbXRuaW5nIGF2IHVuZGVybW9kdWxlciIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc5CisjOiBidWlsdGluL2ZldGNoLmM6OTQKIG1zZ2lkICJrZWVwIGRvd25sb2FkZWQgcGFjayIKIG1zZ3N0ciAiYmVow6VsbCBow6RtdGFkZSBwYWtldCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgxCisjOiBidWlsdGluL2ZldGNoLmM6OTYKIG1zZ2lkICJhbGxvdyB1cGRhdGluZyBvZiBIRUFEIHJlZiIKIG1zZ3N0ciAidGlsbMOldCB1cHBkYXRlcmluZyBhdiBIRUFELXJlZmVyZW5zIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OQogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCiBtc2dzdHIgImbDtnJkanVwYSBoaXN0b3JpayBmw7ZyIGdydW5kIGtsb24iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NgorIzogYnVpbHRpbi9mZXRjaC5jOjEwMQogbXNnaWQgImNvbnZlcnQgdG8gYSBjb21wbGV0ZSByZXBvc2l0b3J5IgogbXNnc3RyICJrb252ZXJ0ZXJhIHRpbGwga29tcGxldHQgYXJraXYiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4OCBidWlsdGluL2xvZy5jOjExNzcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDMgYnVpbHRpbi9sb2cuYzoxMTk3CiBtc2dpZCAiZGlyIgogbXNnc3RyICJrYXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4OQorIzogYnVpbHRpbi9mZXRjaC5jOjEwNAogbXNnaWQgInByZXBlbmQgdGhpcyB0byBzdWJtb2R1bGUgcGF0aCBvdXRwdXQiCiBtc2dzdHIgImzDpGdnIHRpbGwgaSBiw7ZyamFuIGF2IHVuZGVybW9kdWxlbnMgc8O2a3bDpGdzdXRkYXRhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDcKIG1zZ2lkICJkZWZhdWx0IG1vZGUgZm9yIHJlY3Vyc2lvbiIKIG1zZ3N0ciAic3RhbmRhcmRsw6RnZSBmw7ZyIHJla3Vyc2lvbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIyMAorIzogYnVpbHRpbi9mZXRjaC5jOjEwOQorbXNnaWQgImFjY2VwdCByZWZzIHRoYXQgdXBkYXRlIC5naXQvc2hhbGxvdyIKK21zZ3N0ciAidGFyIGVtb3QgcmVmZXJlbnNlciBzb20gdXBwZGF0ZXJhciAuZ2l0L3NoYWxsb3ciCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNDcKIG1zZ2lkICJDb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgSEVBRCIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBoaXR0YSBmasOkcnItcmVmZXJlbnNlbiBIRUFEIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjczCisjOiBidWlsdGluL2ZldGNoLmM6NDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCiBtc2dzdHIgIm9iamVrdGV0ICVzIGhpdHRhZGVzIGludGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyNzgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0MTYKIG1zZ2lkICJbdXAgdG8gZGF0ZV0iCiBtc2dzdHIgIlvDoGpvdXJdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjkyCisjOiBidWlsdGluL2ZldGNoLmM6NDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiEgJS0qcyAlLSpzIC0+ICVzICAoY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2gpIgogbXNnc3RyICIhICUtKnMgJS0qcyAtPiAlcyAgKGthbiBpbnRlIGjDpG10YSBpIGFrdHVlbGwgZ3JlbikiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyOTMgYnVpbHRpbi9mZXRjaC5jOjM3OQorIzogYnVpbHRpbi9mZXRjaC5jOjQzMSBidWlsdGluL2ZldGNoLmM6NTE3CiBtc2dpZCAiW3JlamVjdGVkXSIKIG1zZ3N0ciAiW3JlZnVzZXJhZF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMDQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0NDIKIG1zZ2lkICJbdGFnIHVwZGF0ZV0iCiBtc2dzdHIgIlt1cHBkYXRlcmFkIHRhZ2ddIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzA2IGJ1aWx0aW4vZmV0Y2guYzozNDEgYnVpbHRpbi9mZXRjaC5jOjM1OQorIzogYnVpbHRpbi9mZXRjaC5jOjQ0NCBidWlsdGluL2ZldGNoLmM6NDc5IGJ1aWx0aW4vZmV0Y2guYzo0OTcKIG1zZ2lkICIgICh1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZikiCiBtc2dzdHIgIiAgKGt1bmRlIGludGUgdXBwZGF0ZXJhIGxva2FsIHJlZikiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0NjIKIG1zZ2lkICJbbmV3IHRhZ10iCiBtc2dzdHIgIltueSB0YWdnXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMyNworIzogYnVpbHRpbi9mZXRjaC5jOjQ2NQogbXNnaWQgIltuZXcgYnJhbmNoXSIKIG1zZ3N0ciAiW255IGdyZW5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzMwCisjOiBidWlsdGluL2ZldGNoLmM6NDY4CiBtc2dpZCAiW25ldyByZWZdIgogbXNnc3RyICJbbnkgcmVmXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM3NQorIzogYnVpbHRpbi9mZXRjaC5jOjUxMwogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIgogbXNnc3RyICJrdW5kZSBpbnRlIHVwcGRhdGVyYSBsb2thbCByZWYiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozNzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MTMKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICJ0dmluZ2FkIHVwcGRhdGVyaW5nIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzgxCisjOiBidWlsdGluL2ZldGNoLmM6NTE5CiBtc2dpZCAiKG5vbi1mYXN0LWZvcndhcmQpIgogbXNnc3RyICIoZWogc25hYmJzcG9sYWQpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDEyIGJ1aWx0aW4vZmV0Y2guYzo3MTgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1NTIgYnVpbHRpbi9mZXRjaC5jOjc4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXNcbiIKIG1zZ3N0ciAia2FuIGludGUgw7ZwcG5hICVzOiAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDIxCisjOiBidWlsdGluL2ZldGNoLmM6NTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKIG1zZ3N0ciAiJXMgc8OkbmRlIGludGUgYWxsYSBuw7ZkdsOkbmRpZ2Egb2JqZWt0XG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVqZWN0ICVzIGJlY2F1c2Ugc2hhbGxvdyByb290cyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgdXBkYXRlZCIKK21zZ3N0ciAiYXZ2aXNhICVzIGTDpSBncnVuZGEgcsO2dHRlciBpbnRlIGthbiB1cHBkYXRlcmFzIgorCisjOiBidWlsdGluL2ZldGNoLmM6NjY3IGJ1aWx0aW4vZmV0Y2guYzo3NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRnJvbSAlLipzXG4iCiBtc2dzdHIgIkZyw6VuICUuKnNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjUzMQorIzogYnVpbHRpbi9mZXRjaC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAic29tZSBsb2NhbCByZWZzIGNvdWxkIG5vdCBiZSB1cGRhdGVkOyB0cnkgcnVubmluZ1xuIgpAQCAtNDkzMCw1NSArNTE2OSw1NSBAQAogInZpc3NhIGxva2FsYSByZWZlcmVuc2VyIGt1bmRlIGludGUgdXBwZGF0ZXJhczsgdGVzdGEgYXR0IGvDtnJhXG4iCiAiIFwiZ2l0IHJlbW90ZSBwcnVuZSAlc1wiIGbDtnIgYXR0IHRhIGJvcnQgZ2FtbGEgZ3JlbmFyIHNvbSBzdMOlciBpIGtvbmZsaWt0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTgxCisjOiBidWlsdGluL2ZldGNoLmM6NzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyBrb21tZXIgYmxpIGRpbmdsYW5kZSkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1ODIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMgaGFyIGJsaXZpdCBkaW5nbGFuZGUpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTg5CisjOiBidWlsdGluL2ZldGNoLmM6NzU1CiBtc2dpZCAiW2RlbGV0ZWRdIgogbXNnc3RyICJbYm9ydHRhZ2VuXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU5MCBidWlsdGluL3JlbW90ZS5jOjEwNTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NTYgYnVpbHRpbi9yZW1vdGUuYzoxMDUwCiBtc2dpZCAiKG5vbmUpIgogbXNnc3RyICIoaW5nZW4pIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzA4CisjOiBidWlsdGluL2ZldGNoLmM6Nzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiVsOkZ3JhciBow6RtdGEgdGlsbCBha3R1ZWxsIGdyZW4gJXMgaSBldHQgaWNrZS1uYWtldCBhcmtpdiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc0MgotIywgYy1mb3JtYXQKLW1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgotbXNnc3RyICJWZXQgaW50ZSBodXIgbWFuIGjDpG10YXIgZnLDpW4gJXMiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAiRmxhZ2dhbiBcIiVzXCIgb2NoIHbDpHJkZXQgXCIlc1wiIMOkciBpbnRlIGdpbHRpZ3QgZsO2ciAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgyNgorIzogYnVpbHRpbi9mZXRjaC5jOjc5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIGlzIGlnbm9yZWQgZm9yICVzXG4iCiBtc2dzdHIgIkZsYWdnYW4gXCIlc1wiIGlnbm9yZXJhcyBmw7ZyICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MjgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZmV0Y2ggZnJvbSAlcyIKK21zZ3N0ciAiVmV0IGludGUgaHVyIG1hbiBow6RtdGFyIGZyw6VuICVzIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTAxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyAlc1xuIgogbXNnc3RyICJIw6RtdGFyICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MzAgYnVpbHRpbi9yZW1vdGUuYzoxMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE3IGJ1aWx0aW4vcmVtb3RlLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgogbXNnc3RyICJLdW5kZSBpbnRlIGjDpG10YSAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk0OQorIzogYnVpbHRpbi9mZXRjaC5jOjEwMzYKIG1zZ2lkICIiCiAiTm8gcmVtb3RlIHJlcG9zaXRvcnkgc3BlY2lmaWVkLiAgUGxlYXNlLCBzcGVjaWZ5IGVpdGhlciBhIFVSTCBvciBhXG4iCiAicmVtb3RlIG5hbWUgZnJvbSB3aGljaCBuZXcgcmV2aXNpb25zIHNob3VsZCBiZSBmZXRjaGVkLiIKQEAgLTQ5ODYsMzIgKzUyMjUsMzIgQEAKICJJbmdldCBmasOkcnJhcmtpdiBhbmdhdnMuIEFuZ2UgYW50aW5nZW4gZW4gVVJMIGVsbGVyIG5hbW5ldCBww6UgZXR0XG4iCiAiZmrDpHJyYXJraXYgc29tIG55YSBpbmNoZWNrbmluZ2FyIHNrYWxsIGjDpG10YXMgZnLDpW4uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTY5CisjOiBidWlsdGluL2ZldGNoLmM6MTA1OQogbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCiBtc2dzdHIgIkR1IG3DpXN0ZSBhbmdlIG5hbW5ldCBww6UgZW4gdGFnZy4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE1CisjOiBidWlsdGluL2ZldGNoLmM6MTEwNwogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICItLWRlcHRoIG9jaCAtLXVuc2hhbGxvdyBrYW4gaW50ZSBhbnbDpG5kYXMgc2FtdGlkaWd0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAxNworIzogYnVpbHRpbi9mZXRjaC5jOjExMDkKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS11bnNoYWxsb3cga2FuIGludGUgYW52w6RuZGFzIHDDpSBldHQga29tcGxldHQgYXJraXYiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDM2CisjOiBidWlsdGluL2ZldGNoLmM6MTEzMgogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICJmZXRjaCAtLWFsbCB0YXIgaW50ZSBuYW1uZXQgcMOlIGV0dCBhcmtpdiBzb20gYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDM4CisjOiBidWlsdGluL2ZldGNoLmM6MTEzNAogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiZmV0Y2ggLS1hbGwga2FuIGludGUgYW5nZXMgbWVkIHJlZmVyZW5zc3BlY2lmaWthdGlvbmVyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA0OQorIzogYnVpbHRpbi9mZXRjaC5jOjExNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKIG1zZ3N0ciAiRmrDpHJyZW4gZWxsZXIgZmrDpHJyZ3J1cHBlbiBmaW5ucyBpbnRlOiAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTUzCiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJLYW4gaW50ZSBow6RtdGEgZnLDpW4gZ3J1cHAgb2NoIGFuZ2UgcmVmZXJlbnNzcGVjaWZpa2F0aW9uZXIiCiAKQEAgLTUwMjAsOSArNTI1OSw5IEBACiBtc2dzdHIgIiIKICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPG1lZGRlbGFuZGU+XSBbLS1sb2dbPTxuPl18LS1uby1sb2ddIFstLWZpbGUgPGZpbD5dIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2IGJ1aWx0aW4vZ3JlcC5jOjcwMAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKLSM6IGJ1aWx0aW4vdGFnLmM6NDQ2IHBhcnNlLW9wdGlvbnMuaDoxMzMgcGFyc2Utb3B0aW9ucy5oOjI0MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NiBidWlsdGluL2dyZXAuYzo3MDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTYgYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NCBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL3RhZy5jOjQ0NiBwYXJzZS1vcHRpb25zLmg6MTM1IHBhcnNlLW9wdGlvbnMuaDoyNDIKIG1zZ2lkICJuIgogbXNnc3RyICJuIgogCkBAIC01MDQ2LDExNyArNTI4NSwxMjEgQEAKIG1zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKIG1zZ3N0ciAiZmlsIGF0dCBsw6RzYSBmcsOlbiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5NzkKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTA2MwogbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgW29wdGlvbnNdIFs8cGF0dGVybj5dIgogbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFtmbGFnZ29yXSBbPG3Dtm5zdGVyPl0iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTk0CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwNzgKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHNoZWxscyIKIG1zZ3N0ciAiY2l0ZXJhIHBsYXRzaMOlbGxhcmUgcGFzc2FuZGUgZsO2ciBza2FsIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5NgorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDgwCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBwZXJsIgogbXNnc3RyICJjaXRlcmEgcGxhdHNow6VsbGFyZSBwYXNzYW5kZSBmw7ZyIHBlcmwiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTk4CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwODIKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHB5dGhvbiIKIG1zZ3N0ciAiY2l0ZXJhIHBsYXRzaMOlbGxhcmUgcGFzc2FuZGUgZsO2ciBweXRob24iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwMAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDg0CiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciB0Y2wiCiBtc2dzdHIgImNpdGVyYSBwbGF0c2jDpWxsYXJlIHBhc3NhbmRlIGbDtnIgdGNsIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDMKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTA4NwogbXNnaWQgInNob3cgb25seSA8bj4gbWF0Y2hlZCByZWZzIgogbXNnc3RyICJ2aXNhIGVuZGFzdCA8bj4gdHLDpGZmYWRlIHJlZnMiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDg4IGJ1aWx0aW4vcmVwbGFjZS5jOjE3NwogbXNnaWQgImZvcm1hdCIKIG1zZ3N0ciAiZm9ybWF0IgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTA4OAogbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCiBtc2dzdHIgImZvcm1hdCBhdHQgYW52w6RuZGEgZsO2ciB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDg5CiBtc2dpZCAia2V5IgogbXNnc3RyICJueWNrZWwiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNgorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDkwCiBtc2dpZCAiZmllbGQgbmFtZSB0byBzb3J0IG9uIgogbXNnc3RyICJmw6RsdG5hbW4gYXR0IHNvcnRlcmEgcMOlIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MDgKKyM6IGJ1aWx0aW4vZnNjay5jOjYwNwogbXNnaWQgImdpdCBmc2NrIFtvcHRpb25zXSBbPG9iamVjdD4uLi5dIgogbXNnc3RyICJnaXQgZnNjayBbZmxhZ2dvcl0gWzxvYmpla3Q+Li4uXSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE0CisjOiBidWlsdGluL2ZzY2suYzo2MTMKIG1zZ2lkICJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgInZpc2Egb27DpWJhcmEgb2JqZWt0IgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTUKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNAogbXNnaWQgInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIKIG1zZ3N0ciAidmlzYSBkaW5nbGFuZGUgb2JqZWt0IgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTYKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNQogbXNnaWQgInJlcG9ydCB0YWdzIgogbXNnc3RyICJyYXBwb3J0ZXJhIHRhZ2dhciIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE3CisjOiBidWlsdGluL2ZzY2suYzo2MTYKIG1zZ2lkICJyZXBvcnQgcm9vdCBub2RlcyIKIG1zZ3N0ciAicmFwcG9ydGVyYSByb3Rub2RlciIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE4CisjOiBidWlsdGluL2ZzY2suYzo2MTcKIG1zZ2lkICJtYWtlIGluZGV4IG9iamVjdHMgaGVhZCBub2RlcyIKIG1zZ3N0ciAiZ8O2ciBpbmRleG9qZWt0IHRpbGwgaHV2dWRub2RlciIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE5CisjOiBidWlsdGluL2ZzY2suYzo2MTgKIG1zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCiBtc2dzdHIgImfDtnIgcmVmbG9nZ2FyIHRpbGwgaHV2dWRub2RlciAoc3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MjAKKyM6IGJ1aWx0aW4vZnNjay5jOjYxOQogbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgogbXNnc3RyICJ0YSDDpHZlbiBow6Ruc3luIHRpbGwgcGFrZXQgb2NoIGFsdGVybmF0aXZhIG9iamVrdCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjIxCisjOiBidWlsdGluL2ZzY2suYzo2MjAKIG1zZ2lkICJlbmFibGUgbW9yZSBzdHJpY3QgY2hlY2tpbmciCiBtc2dzdHIgImFrdGl2ZXJhIHN0cmlrdGFyZSBrb250cm9sbCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjIzCisjOiBidWlsdGluL2ZzY2suYzo2MjIKIG1zZ2lkICJ3cml0ZSBkYW5nbGluZyBvYmplY3RzIGluIC5naXQvbG9zdC1mb3VuZCIKIG1zZ3N0ciAic2tyaXYgZGluZ2xhbmRlIG9iamVrdCBpIC5naXQvbG9zdC1mb3VuZCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjI0IGJ1aWx0aW4vcHJ1bmUuYzoxMzQKKyM6IGJ1aWx0aW4vZnNjay5jOjYyMyBidWlsdGluL3BydW5lLmM6MTQ0CiBtc2dpZCAic2hvdyBwcm9ncmVzcyIKIG1zZ3N0ciAidmlzYSBmw7ZybG9wcCIKIAotIzogYnVpbHRpbi9nYy5jOjIyCisjOiBidWlsdGluL2djLmM6MjQKIG1zZ2lkICJnaXQgZ2MgW29wdGlvbnNdIgogbXNnc3RyICJnaXQgZ2MgW2ZsYWdnb3JdIgogCi0jOiBidWlsdGluL2djLmM6NjMKKyM6IGJ1aWx0aW4vZ2MuYzo4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgogbXNnc3RyICJGZWxha3RpZ3QgJXM6IFwiJXNcIiIKIAotIzogYnVpbHRpbi9nYy5jOjkwCisjOiBidWlsdGluL2djLmM6MTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZWx5IGxvbmcgb2JqZWN0IGRpcmVjdG9yeSAlLipzIgogbXNnc3RyICJ0b2tpZ3QgbMOlbmcgb2JqZWt0a2F0YWxvZyAlLipzIgogCi0jOiBidWlsdGluL2djLmM6MTc5CisjOiBidWlsdGluL2djLmM6MjYyCiBtc2dpZCAicHJ1bmUgdW5yZWZlcmVuY2VkIG9iamVjdHMiCiBtc2dzdHIgInJlbnNhIGVqIHJlZmVyZXJhZGUgb2JqZWt0IgogCi0jOiBidWlsdGluL2djLmM6MTgxCisjOiBidWlsdGluL2djLmM6MjY0CiBtc2dpZCAiYmUgbW9yZSB0aG9yb3VnaCAoaW5jcmVhc2VkIHJ1bnRpbWUpIgogbXNnc3RyICJ2YXIgbWVyIGdydW5kbGlnICjDtmthciBrw7ZydGlkZW4pIgogCi0jOiBidWlsdGluL2djLmM6MTgyCisjOiBidWlsdGluL2djLmM6MjY1CiBtc2dpZCAiZW5hYmxlIGF1dG8tZ2MgbW9kZSIKIG1zZ3N0ciAiYWt0aXZlcmEgYXV0by1nYy1sw6RnZSIKIAotIzogYnVpbHRpbi9nYy5jOjIyMgorIzogYnVpbHRpbi9nYy5jOjI2NgorbXNnaWQgImZvcmNlIHJ1bm5pbmcgZ2MgZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBnYyBydW5uaW5nIgorbXNnc3RyICJ0dmluZ2EgZ2Mta8O2cm5pbmcgw6R2ZW4gb20gZW4gYW5uYW4gZ2Mga2Fuc2tlIGvDtnJzIgorCisjOiBidWlsdGluL2djLmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuIFlvdSBtYXkgYWxzb1xuIgpAQCAtNTE2NSw0MyArNTQwOCw1MiBAQAogIlBhY2thciBhcmtpdmV0IGF1dG9tYXRpc2t0IGbDtnIgb3B0aW1hbCBwcmVzdGFuZGEuIER1IGthbiDDpHZlblxuIgogImvDtnJhIFwiZ2l0IGdjXCIgbWFudWVsbHQuIFNlIFwiZ2l0IGhlbHAgZ2NcIiBmw7ZyIG1lciBpbmZvcm1hdGlvbi5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjI0OQorIy4gYmUgcXVpZXQgb24gLS1hdXRvCisjOiBidWlsdGluL2djLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJnYyBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gbWFjaGluZSAnJXMnIHBpZCAlPFBSSXVNQVg+ICh1c2UgLS1mb3JjZSBpZiBub3QpIgorbXNnc3RyICIiCisiZ2Mga8O2cnMgcmVkYW4gcMOlIG1hc2tpbmVuIFwiJXNcIiBwaWQgJTxQUkl1TUFYPiAoYW52w6RuZCAtLWZvcmNlIG9tIHPDpSBpbnRlICIKKyLDpHIgZmFsbGV0KSIKKworIzogYnVpbHRpbi9nYy5jOjM0MQogbXNnaWQgIiIKICJUaGVyZSBhcmUgdG9vIG1hbnkgdW5yZWFjaGFibGUgbG9vc2Ugb2JqZWN0czsgcnVuICdnaXQgcHJ1bmUnIHRvIHJlbW92ZSB0aGVtLiIKIG1zZ3N0ciAiIgogIkRldCBmaW5ucyBmw7ZyIG3DpW5nYSBvbsOlYmFyYSBsw7ZzYSBvYmpla3Q7IGvDtnIgXCJnaXQgcHJ1bmVcIiBmw7ZyIGF0dCB0YSBib3J0ICIKICJkZW0uIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMgorIzogYnVpbHRpbi9ncmVwLmM6MjMKIG1zZ2lkICJnaXQgZ3JlcCBbb3B0aW9uc10gWy1lXSA8cGF0dGVybj4gWzxyZXY+Li4uXSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgZ3JlcCBbZmxhZ2dvcl0gWy1lXSA8bcO2bnN0ZXI+IFs8cmV2Pi4uLl0gW1stLV0gPHPDtmt2w6RnPi4uLl0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIxNworIzogYnVpbHRpbi9ncmVwLmM6MjE4CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyZXA6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiZ3JlcDogbWlzc2x5Y2thZGVzIHNrYXBhIHRyw6VkLiAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MzY0CisjOiBidWlsdGluL2dyZXAuYzozNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNoZGlyOiAlcyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBieXRhIGthdGFsb2cgKGNoZGlyKTogJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ0MiBidWlsdGluL2dyZXAuYzo0NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ0MyBidWlsdGluL2dyZXAuYzo0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIHRyw6RkICglcykiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ5MgorIzogYnVpbHRpbi9ncmVwLmM6NDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBncmVwIGZyb20gb2JqZWN0IG9mIHR5cGUgJXMiCiBtc2dzdHIgIkt1bmRlIGludGUgXCJncmVwXCIgZnLDpW4gb2JqZWt0IGF2IHR5cGVuICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo1NTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICJmbGFnZ2FuIFwiJWNcIiBhbnRhciBldHQgbnVtZXJpc2t0IHbDpHJkZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTY3CisjOiBidWlsdGluL2dyZXAuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAia2FuIGludGUgw7ZwcG5hIFwiJXNcIiIKQEAgLTUyNDMsMTU4ICs1NDk1LDE2MiBAQAogbXNnc3RyICJ0csOkZmZhIGludGUgbcO2bnN0ZXIgaSBiaW7DpHJmaWxlciIKIAogIzogYnVpbHRpbi9ncmVwLmM6NjYyCittc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgd2l0aCB0ZXh0Y29udiBmaWx0ZXJzIgorbXNnc3RyICJoYW50ZXJhIGJpbsOkcmZpbGVyIG1lZCB0ZXh0Y29udi1maWx0ZXIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2NAogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAiZ8OlIHNvbSBtZXN0IG5lZCA8ZGp1cD4gbml2w6VlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjY2CisjOiBidWlsdGluL2dyZXAuYzo2NjgKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAiYW52w6RuZCB1dMO2a2FkZSBQT1NJWC1yZWd1bGrDpHJhIHV0dHJ5Y2siCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2OQorIzogYnVpbHRpbi9ncmVwLmM6NjcxCiBtc2dpZCAidXNlIGJhc2ljIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMgKGRlZmF1bHQpIgogbXNnc3RyICJhbnbDpG5kIGdydW5kbMOkZ2dhbmRlIFBPU0lYLXJlZ3VsasOkcmEgdXR0cnljayAoc3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3NAogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICJ0b2xrYSBtw7Zuc3RlciBzb20gZml4ZXJhZGUgc3Ryw6RuZ2FyIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3NwogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAiYW52w6RuZCBQZXJsa29tcGF0aWJsYSByZWd1bGrDpHJhIHV0dHJ5Y2siCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3OAorIzogYnVpbHRpbi9ncmVwLmM6NjgwCiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgInZpc2EgcmFkbnVtbWVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4MQogbXNnaWQgImRvbid0IHNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJ2aXNhIGludGUgZmlsbmFtbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjgwCisjOiBidWlsdGluL2dyZXAuYzo2ODIKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAidmlzYSBmaWxuYW1uIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NAogbXNnaWQgInNob3cgZmlsZW5hbWVzIHJlbGF0aXZlIHRvIHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgInZpc2EgZmlsbmFtbiByZWxhdGl2YSB0aWxsIHRvcHBrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NAorIzogYnVpbHRpbi9ncmVwLmM6Njg2CiBtc2dpZCAic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJ2aXNhIGVuZGFzdCBmaWxuYW1uIGlzdMOkbGxldCBmw7ZyIHRyw6RmZmFkZSByYWRlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg2CisjOiBidWlsdGluL2dyZXAuYzo2ODgKIG1zZ2lkICJzeW5vbnltIGZvciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIG1zZ3N0ciAic3lub255bSBmw7ZyIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MQogbXNnaWQgInNob3cgb25seSB0aGUgbmFtZXMgb2YgZmlsZXMgd2l0aG91dCBtYXRjaCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgbmFtbiBww6UgZmlsZXIgdXRhbiB0csOkZmZhciIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjkxCisjOiBidWlsdGluL2dyZXAuYzo2OTMKIG1zZ2lkICJwcmludCBOVUwgYWZ0ZXIgZmlsZW5hbWVzIgogbXNnc3RyICJza3JpdiBOVUwgZWZ0ZXIgZmlsbmFtbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjkzCisjOiBidWlsdGluL2dyZXAuYzo2OTUKIG1zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJ2aXNhIGFudGFsIHRyw6RmZmFyIGlzdMOkbGxldCBmw7ZyIHRyw6RmZmFkZSByYWRlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk0CisjOiBidWlsdGluL2dyZXAuYzo2OTYKIG1zZ2lkICJoaWdobGlnaHQgbWF0Y2hlcyIKIG1zZ3N0ciAibGp1c21hcmtlcmEgdHLDpGZmYXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5NgorIzogYnVpbHRpbi9ncmVwLmM6Njk4CiBtc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCiBtc2dzdHIgInNrcml2IHRvbW1hIHJhZGVyIG1lbGxhbiB0csOkZmZhciBmcsOlbiBvbGlrYSBmaWxlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk4CisjOiBidWlsdGluL2dyZXAuYzo3MDAKIG1zZ2lkICJzaG93IGZpbGVuYW1lIG9ubHkgb25jZSBhYm92ZSBtYXRjaGVzIGZyb20gc2FtZSBmaWxlIgogbXNnc3RyICJ2aXNhIGZpbG5hbW4gZW5kYXN0IGVuIGfDpW5nIG92YW5mw7ZyIHRyw6RmZmFyIGZyw6VuIHNhbW1hIGZpbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAxCisjOiBidWlsdGluL2dyZXAuYzo3MDMKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBhbmQgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAidmlzYSA8bj4gcmFkZXIgc2FtbWFuaGFuZyBmw7ZyZSBvY2ggZWZ0ZXIgdHLDpGZmYXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNAorIzogYnVpbHRpbi9ncmVwLmM6NzA2CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAidmlzYSA8bj4gcmFkZXIgc2FtbWFuaGFuZyBmw7ZyZSB0csOkZmZhciIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA2CisjOiBidWlsdGluL2dyZXAuYzo3MDgKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgInZpc2EgPG4+IHJhZGVyIHNhbW1hbmhhbmcgZWZ0ZXIgdHLDpGZmYXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNworIzogYnVpbHRpbi9ncmVwLmM6NzA5CiBtc2dpZCAic2hvcnRjdXQgZm9yIC1DIE5VTSIKIG1zZ3N0ciAiZ2VudsOkZyBmw7ZyIC1DIE5VTSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEwCisjOiBidWlsdGluL2dyZXAuYzo3MTIKIG1zZ2lkICJzaG93IGEgbGluZSB3aXRoIHRoZSBmdW5jdGlvbiBuYW1lIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICJ2aXNhIGVuIHJhZCBtZWQgZnVua3Rpb25zbmFtbmV0IGbDtnJlIHRyw6RmZmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNAogbXNnaWQgInNob3cgdGhlIHN1cnJvdW5kaW5nIGZ1bmN0aW9uIgogbXNnc3RyICJ2aXNhIGRlbiBvbWtyaW5nbGlnZ2FuZGUgZnVua3Rpb25lbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE1CisjOiBidWlsdGluL2dyZXAuYzo3MTcKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKIG1zZ3N0ciAibMOkcyBtw7Zuc3RlciBmcsOlbiBmaWwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxNworIzogYnVpbHRpbi9ncmVwLmM6NzE5CiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICJ0csOkZmZhIDxtw7Zuc3Rlcj4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxOQorIzogYnVpbHRpbi9ncmVwLmM6NzIxCiBtc2dpZCAiY29tYmluZSBwYXR0ZXJucyBzcGVjaWZpZWQgd2l0aCAtZSIKIG1zZ3N0ciAia29tYmluZXJhIG3Dtm5zdGVyIHNvbSBhbmdlcyBtZWQgLWUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczMQorIzogYnVpbHRpbi9ncmVwLmM6NzMzCiBtc2dpZCAiaW5kaWNhdGUgaGl0IHdpdGggZXhpdCBzdGF0dXMgd2l0aG91dCBvdXRwdXQiCiBtc2dzdHIgImFuZ2UgdHLDpGZmIG1lZCBzbHV0c3RhdHVza29kIHV0YW4gdXRkYXRhIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczNQogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgInZpc2EgZW5kYXN0IHRyw6RmZmFyIGZyw6VuIGZpbGVyIHNvbSB0csOkZmZhciBhbGxhIG3Dtm5zdGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczNwogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICJ2aXNhIGFuYWx5c3Ryw6RkIGbDtnIgZ3JlcC11dHRyeWNrIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQogbXNnaWQgInBhZ2VyIgogbXNnc3RyICJibMOkZGRyYXJlIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQogbXNnaWQgInNob3cgbWF0Y2hpbmcgZmlsZXMgaW4gdGhlIHBhZ2VyIgogbXNnc3RyICJ2aXNhIHRyw6RmZmFkZSBmaWxlciBpIGZpbGJsw6RkZHJhcmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0NAogbXNnaWQgImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIKIG1zZ3N0ciAidGlsbMOldCBhbnJvcGEgZ3JlcCgxKSAoaWdub3JlcmFzIGF2IGRldHRhIGJ5Z2dlKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQzIGJ1aWx0aW4vc2hvdy1yZWYuYzoxODgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0NSBidWlsdGluL3Nob3ctcmVmLmM6MTg3CiBtc2dpZCAic2hvdyB1c2FnZSIKIG1zZ3N0ciAidmlzYSBhbnbDpG5kbmluZyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODEwCisjOiBidWlsdGluL2dyZXAuYzo4MTIKIG1zZ2lkICJubyBwYXR0ZXJuIGdpdmVuLiIKIG1zZ3N0ciAiaW5nZXQgbcO2bnN0ZXIgYW5nYXZzLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODY1CisjOiBidWlsdGluL2dyZXAuYzo4NzAKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBmdW5nZXJhciBlbmRhc3QgaSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4OAorIzogYnVpbHRpbi9ncmVwLmM6ODkzCiBtc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKIG1zZ3N0ciAiLS1jYWNoZWQgb2NoIC0tdW50cmFja2VkIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgLS1uby1pbmRleC4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg5MworIzogYnVpbHRpbi9ncmVwLmM6ODk4CiBtc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMuIgogbXNnc3RyICItLW5vLWluZGV4IG9jaCAtLXVudHJhY2tlZCBrYW4gaW50ZSBhbnbDpG5kYXMgbWVkIHJldmlzaW9uZXIuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4OTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMQogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzLiIKIG1zZ3N0ciAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQga2FuIGludGUgYW52w6RuZGFzIGbDtnIgc3DDpXJhdCBpbm5laMOlbGwuIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCiBtc2dzdHIgImLDpWRlIC0tY2FjaGVkIG9jaCB0csOkZCBhbmdhdnMuIgogCkBAIC01NDk5LDU3ICs1NzU1LDU3IEBACiAiXCIlc1wiOiBrb21tYW5kbyBmw7ZyIG1hbi12aXNhcmUgc29tIHN0w7Zkcy5cbiIKICJBbnbDpG5kIFwibWFuLjx2ZXJrdHlnPi5wYXRoXCIgaXN0w6RsbGV0LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzQ5CisjOiBidWlsdGluL2hlbHAuYzozNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5rbm93biBtYW4gdmlld2VyLiIKIG1zZ3N0ciAiXCIlc1wiOiBva8OkbmQgbWFuLXZpc2FyZS4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM2NgorIzogYnVpbHRpbi9oZWxwLmM6MzcwCiBtc2dpZCAibm8gbWFuIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICJpbmdlbiBtYW4tdmlzYXJlIGhhbnRlcmFkZSBmw7ZyZnLDpWdhbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6Mzc0CisjOiBidWlsdGluL2hlbHAuYzozNzgKIG1zZ2lkICJubyBpbmZvIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICJpbmdlbiBpbmZvLXZpc2FyZSBoYW50ZXJhZGUgZsO2cmZyw6VnYW4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyMAorIzogYnVpbHRpbi9oZWxwLmM6NDI0CiBtc2dpZCAiRGVmaW5pbmcgYXR0cmlidXRlcyBwZXIgcGF0aCIKIG1zZ3N0ciAiRGVmaW5pZXJhciBhdHRyaWJ1dCBwZXIgc8O2a3bDpGciCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyMQorIzogYnVpbHRpbi9oZWxwLmM6NDI1CiBtc2dpZCAiQSBHaXQgZ2xvc3NhcnkiCiBtc2dzdHIgIkVuIEdpdC1vcmRsaXN0YSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDIyCisjOiBidWlsdGluL2hlbHAuYzo0MjYKIG1zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgogbXNnc3RyICJBbmdlIGF2c2lrdGxpZ2VuIG9zcMOlcmFkZSBmaWxlciBhdHQgaWdub3JlcmEiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyMworIzogYnVpbHRpbi9oZWxwLmM6NDI3CiBtc2dpZCAiRGVmaW5pbmcgc3VibW9kdWxlIHByb3BlcnRpZXMiCiBtc2dzdHIgIkFuZ2UgZWdlbnNrYXBlciBmw7ZyIHVuZGVybW9kdWxlciIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDI0CisjOiBidWlsdGluL2hlbHAuYzo0MjgKIG1zZ2lkICJTcGVjaWZ5aW5nIHJldmlzaW9ucyBhbmQgcmFuZ2VzIGZvciBHaXQiCiBtc2dzdHIgIkFuZ2UgdmVyc2lvbmVyIG9jaCBpbnRlcnZhbGwgaSBHaXQiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyNQorIzogYnVpbHRpbi9oZWxwLmM6NDI5CiBtc2dpZCAiQSB0dXRvcmlhbCBpbnRyb2R1Y3Rpb24gdG8gR2l0IChmb3IgdmVyc2lvbiAxLjUuMSBvciBuZXdlcikiCiBtc2dzdHIgIkludHJvZHVrdGlvbiB0aWxsIEdpdCAoZsO2ciB2ZXJzaW9uIDEuNS4xIG9jaCBzZW5hcmUpIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MjYKKyM6IGJ1aWx0aW4vaGVscC5jOjQzMAogbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKIG1zZ3N0ciAiw5Z2ZXJzaWt0IMO2dmVyIHJla29tbWVuZGVyYWRlIGFyYmV0c2Zsw7ZkZW4gbWVkIEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDM4CisjOiBidWlsdGluL2hlbHAuYzo0NDIKIG1zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOlxuIgogbXNnc3RyICJEZSB2YW5saWdhIEdpdC12w6RnbGVkbmluZ2FybmEgw6RyOlxuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NjAgYnVpbHRpbi9oZWxwLmM6NDc2CisjOiBidWlsdGluL2hlbHAuYzo0NjMgYnVpbHRpbi9oZWxwLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyVzIgogbXNnc3RyICJhbnbDpG5kbmluZzogJXMlcyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDkyCisjOiBidWlsdGluL2hlbHAuYzo0OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYGdpdCAlcycgaXMgYWxpYXNlZCB0byBgJXMnIgogbXNnc3RyICJcImdpdCAlc1wiIMOkciBldHQgYWxpYXMgZsO2ciBcIiVzXCIiCkBAIC01NjQ5LDggKzU5MDUsOCBAQAogbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKIG1zZ3N0ciAiU0hBMS1LT0xMSVNJT04gVVBQVMOEQ0tUIFZJRCAlcyAhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo2NjkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo2NjkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhICVzIgpAQCAtNTY3OSwxNTUgKzU5MzUsMTU1IEBACiBtc2dpZCAiTm90IGFsbCBjaGlsZCBvYmplY3RzIG9mICVzIGFyZSByZWFjaGFibGUiCiBtc2dzdHIgIkludGUgYWxsYSBiYXJub2JqZWt0IGbDtnIgJXMga2FuIG7DpXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzOCBidWlsdGluL2luZGV4LXBhY2suYzo4NjgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzOSBidWlsdGluL2luZGV4LXBhY2suYzo4NjkKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0aWxsw6RtcGEgZGVsdGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMTAKIG1zZ2lkICJSZWNlaXZpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiVGFyIGVtb3Qgb2JqZWt0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDEwCiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiU2thcGFyIGluZGV4IGbDtnIgb2JqZWt0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM2CiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICJwYWtldGV0IMOkciB0cmFzaWd0IChTSEExIHN0w6RtbWVyIGludGUpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQxCiBtc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgogbXNnc3RyICJrYW4gaW50ZSB1dGbDtnJhIFwiZnN0YXRcIiBww6UgcGFrZXRmaWwiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNDQKIG1zZ2lkICJwYWNrIGhhcyBqdW5rIGF0IHRoZSBlbmQiCiBtc2dzdHIgInBha2V0IGhhciBza3LDpHAgaSBzbHV0ZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNTUKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogbXNnc3RyICJmw7ZydmlycmFkIGJvcnRvbSB2YW52ZXR0IGkgcGFyc2VfcGFja19vYmplY3RzKCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNzgKIG1zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgogbXNnc3RyICJBbmFseXNlcmFyIGRlbHRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDg3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSB0csOlZDogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMzAKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICJmw7ZydmlycmFkIGJvcnRvbSB2YW52ZXR0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTM3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdHMiCiBtc2dzdHIgInNsdXRmw7ZyZGVzIG1lZCAlZCBsb2thbGEgb2JqZWt0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICJPdsOkbnRhZCBzdmFuc2NoZWNrc3VtbWEgZsO2ciAlcyAodHJhc2lnIGRpc2s/KSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAicGFrZXRldCBoYXIgJWQgb2FuYWx5c2VyYXQgZGVsdGEiCiBtc2dzdHJbMV0gInBha2V0ZXQgaGFyICVkIG9hbmFseXNlcmFkZSBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKIG1zZ3N0ciAia3VuZGUgaW50ZSB1dGbDtnJhIFwiZGVmbGF0ZVwiIHDDpSB0aWxsYWd0IG9iamVrdCAoJWQpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvY2FsIG9iamVjdCAlcyBpcyBjb3JydXB0IgogbXNnc3RyICJsb2thbHQgb2JqZWt0ICVzIMOkciB0cmFzaWd0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjc5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjgwCiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgImZlbCB2aWQgc3TDpG5nbmluZyBhdiBwYWtldGZpbCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUga2VlcCBmaWxlICclcyciCiBtc2dzdHIgImthbiBpbnRlIHRhIHNrcml2YSBcImtlZXBcIi1maWwgXCIlc1wiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzAwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjbG9zZSB3cml0dGVuIGtlZXAgZmlsZSAnJXMnIgogbXNnc3RyICJha24gaW50ZSBzdMOkbmdhIHNrcml2ZW4gXCJrZWVwXCItZmlsIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMxMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMxNAogbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCiBtc2dzdHIgImthbiBpbnRlIHNwYXJhIHBha2V0ZmlsIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzI0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzI1CiBtc2dpZCAiY2Fubm90IHN0b3JlIGluZGV4IGZpbGUiCiBtc2dzdHIgImthbiBpbnRlIHNwYXJhIGluZGV4ZmlsIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzU3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiBtc2dzdHIgImZlbGFrdGlnIHBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIgogbXNnc3RyICJmZWxha3RpZ3QgYW50YWwgdHLDpWRhciBhbmdpdmV0ICglZCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2OCBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCiBtc2dzdHIgInRyw6Vkc3TDtmQgc2FrbmFzLCBpZ25vcmVyYXIgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIkthbiBpbnRlIMO2cHBuYSBiZWZpbnRsaWcgcGFrZXRmaWwgXCIlc1wiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgIkthbiBpbnRlIMO2cHBuYSBiZWZpbnRsaWd0IHBha2V0LWlkeC1maWwgZsO2ciBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKIG1zZ3N0clswXSAiaWNrZS1kZWx0YTogJWQgb2JqZWt0IgogbXNnc3RyWzFdICJpY2tlLWRlbHRhOiAlZCBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKIG1zZ3N0clswXSAia2VkamVsw6RuZ2QgPSAlZDogJWx1IG9iamVrdCIKIG1zZ3N0clsxXSAia2VkamVsw6RuZ2QgPSAlZDogJWx1IG9iamVrdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUxMAogbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICJLYW4gaW50ZSBnw6UgdGlsbGJha2EgdGlsbCBhcmJldHNrYXRhbG9nZW4gKGN3ZCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2MAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3MiBidWlsdGluL2luZGV4LXBhY2suYzoxNTc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTU4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NjEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NzMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgImZlbGFrdGlnICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkxCiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgIi0tZml4LXRoaW4ga2FuIGludGUgYW52w6RuZGFzIG1lZCAtLXN0ZGluIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKIG1zZ3N0ciAicGFrZXRmaWxuYW1uZXQgXCIlc1wiIHNsdXRhciBpbnRlIG1lZCBcIi5wYWNrXCIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTQKIG1zZ2lkICItLXZlcmlmeSB3aXRoIG5vIHBhY2tmaWxlIG5hbWUgZ2l2ZW4iCiBtc2dzdHIgIi0tdmVyaWZ5IGFuZ2F2cyB1dGFuIHBha2V0ZmlsbmFtbiIKIApAQCAtNTkxNiwxMSArNjE3Miw2IEBACiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgImthbiBpbnRlIGZseXR0YSAlcyB0aWxsICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBnaXQgbGluayAlcyIKLW1zZ3N0ciAiS3VuZGUgaW50ZSBza2FwYSBnaXRsw6RuayAlcyIKLQogIy4KICMuICogVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAnJXMnIGlzIGVpdGhlciAiUmVpbml0aWFsaXplZAogIy4gKiBleGlzdGluZyIgb3IgIkluaXRpYWxpemVkIGVtcHR5IiwgdGhlIHNlY29uZCAiIHNoYXJlZCIgb3IKQEAgLTU5NjMsNyArNjIxNCw3IEBACiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgogbXNnc3RyICJhbmdlIGF0dCBnaXQtYXJraXZldCBza2FsbCBkZWxhcyBibGFuZCBmbGVyYSBhbnbDpG5kYXJlIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0OTMgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDkzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzkgYnVpbHRpbi9yZXBhY2suYzoxNTUKIG1zZ2lkICJiZSBxdWlldCIKIG1zZ3N0ciAidmFyIHR5c3QiCiAKQEAgLTYwMDMsMzgxICs2MjU0LDM4MSBAQAogbXNnaWQgIiAgIG9yOiBnaXQgc2hvdyBbb3B0aW9uc10gPG9iamVjdD4uLi4iCiBtc2dzdHIgIiAgICAgZWxsZXI6IGdpdCBzaG93IFtmbGFnZ29yXSA8b2JqZWt0Pi4uLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTI1CiBtc2dpZCAic3VwcHJlc3MgZGlmZiBvdXRwdXQiCiBtc2dzdHIgInVuZGVydHJ5Y2sgZGlmZi11dGRhdGEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1CisjOiBidWlsdGluL2xvZy5jOjEyNgogbXNnaWQgInNob3cgc291cmNlIgogbXNnc3RyICJ2aXNhIGvDpGxsa29kIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNgorIzogYnVpbHRpbi9sb2cuYzoxMjcKIG1zZ2lkICJVc2UgbWFpbCBtYXAgZmlsZSIKIG1zZ3N0ciAiQW52w6RuZCBlLXBvc3RtYXBwbmluZ3NmaWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI3CisjOiBidWlsdGluL2xvZy5jOjEyOAogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCiBtc2dzdHIgImRla29yZXJpbmdzZmxhZ2dvciIKIAotIzogYnVpbHRpbi9sb2cuYzoyMzAKKyM6IGJ1aWx0aW4vbG9nLmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpbmFsIG91dHB1dDogJWQgJXNcbiIKIG1zZ3N0ciAiU2x1dHV0ZGF0YTogJWQgJXNcbiIKIAotIzogYnVpbHRpbi9sb2cuYzo0NTMgYnVpbHRpbi9sb2cuYzo1NDUKKyM6IGJ1aWx0aW4vbG9nLmM6NDczIGJ1aWx0aW4vbG9nLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBsw6RzYSBvYmpla3RldCAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo1NjkKKyM6IGJ1aWx0aW4vbG9nLmM6NTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdHlwZTogJWQiCiBtc2dzdHIgIk9rw6RuZCB0eXA6ICVkIgogCi0jOiBidWlsdGluL2xvZy5jOjY2OQorIzogYnVpbHRpbi9sb2cuYzo2ODkKIG1zZ2lkICJmb3JtYXQuaGVhZGVycyB3aXRob3V0IHZhbHVlIgogbXNnc3RyICJmb3JtYXQuaGVhZGVycyB1dGFuIHbDpHJkZSIKIAotIzogYnVpbHRpbi9sb2cuYzo3NTEKKyM6IGJ1aWx0aW4vbG9nLmM6NzcxCiBtc2dpZCAibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIgogbXNnc3RyICJuYW1uZXQgcMOlIHV0ZGF0YWthdGFsb2dlbiDDpHIgZsO2ciBsw6VuZ3QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NzY3CisjOiBidWlsdGluL2xvZy5jOjc4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICJLYW4gaW50ZSDDtnBwbmEgcGF0Y2hmaWxlbiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo3ODEKKyM6IGJ1aWx0aW4vbG9nLmM6ODAxCiBtc2dpZCAiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iCiBtc2dzdHIgIkJlaMO2dmVyIHByZWNpcyBldHQgaW50ZXJ2YWxsLiIKIAotIzogYnVpbHRpbi9sb2cuYzo3ODkKKyM6IGJ1aWx0aW4vbG9nLmM6ODA5CiBtc2dpZCAiTm90IGEgcmFuZ2UuIgogbXNnc3RyICJJbnRlIGV0dCBpbnRlcnZhbGwuIgogCi0jOiBidWlsdGluL2xvZy5jOjg5MQorIzogYnVpbHRpbi9sb2cuYzo5MTEKIG1zZ2lkICJDb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgogbXNnc3RyICJPbXNsYWdzYnJldmV0IGJlaMO2dmVyIGUtcG9zdGZvcm1hdCIKIAotIzogYnVpbHRpbi9sb2cuYzo5NjcKKyM6IGJ1aWx0aW4vbG9nLmM6OTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCiBtc2dzdHIgInRva2lndCBpbi1yZXBseS10bzogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTk1CisjOiBidWlsdGluL2xvZy5jOjEwMTUKIG1zZ2lkICJnaXQgZm9ybWF0LXBhdGNoIFtvcHRpb25zXSBbPHNpbmNlPiB8IDxyZXZpc2lvbiByYW5nZT5dIgogbXNnc3RyICJnaXQgZm9ybWF0LXBhdGNoIFtmbGFnZ29yXSBbPHNlZGFuPiB8IDxyZXZpc2lvbnNpbnRlcnZhbGw+XSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDQwCisjOiBidWlsdGluL2xvZy5jOjEwNjAKIG1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKIG1zZ3N0ciAiVHbDpSB1dGRhdGFrYXRhbG9nZXI/IgogCi0jOiBidWlsdGluL2xvZy5jOjExNTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTE3NQogbXNnaWQgInVzZSBbUEFUQ0ggbi9tXSBldmVuIHdpdGggYSBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgImFudsOkbmQgW1BBVENIIG4vbV0gw6R2ZW4gZsO2ciBlbiBlbnNhbSBwYXRjaCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTU4CisjOiBidWlsdGluL2xvZy5jOjExNzgKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKIG1zZ3N0ciAiYW52w6RuZCBbUEFUQ0hdIMOkdmVuIGbDtnIgZmxlcmEgcGF0Y2hhciIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTYyCisjOiBidWlsdGluL2xvZy5jOjExODIKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAic2tyaXYgcGF0Y2hhcm5hIHDDpSBzdG5hZGFyZCB1dCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTY0CisjOiBidWlsdGluL2xvZy5jOjExODQKIG1zZ2lkICJnZW5lcmF0ZSBhIGNvdmVyIGxldHRlciIKIG1zZ3N0ciAiZ2VuZXJlcmEgZXR0IGbDtmxqZWJyZXYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2NgorIzogYnVpbHRpbi9sb2cuYzoxMTg2CiBtc2dpZCAidXNlIHNpbXBsZSBudW1iZXIgc2VxdWVuY2UgZm9yIG91dHB1dCBmaWxlIG5hbWVzIgogbXNnc3RyICJhbnbDpG5kIGVua2VsIG51bW1lcnNla3ZlbnMgZsO2ciB1dGRhdGFmaWxuYW1uIgogCi0jOiBidWlsdGluL2xvZy5jOjExNjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4NwogbXNnaWQgInNmeCIKIG1zZ3N0ciAic2Z4IgogCi0jOiBidWlsdGluL2xvZy5jOjExNjgKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4OAogbXNnaWQgInVzZSA8c2Z4PiBpbnN0ZWFkIG9mICcucGF0Y2gnIgogbXNnc3RyICJhbnbDpG5kIDxzZng+IGlzdMOkbGxldCBmw7ZyIFwiLnBhdGNoXCIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE3MAorIzogYnVpbHRpbi9sb2cuYzoxMTkwCiBtc2dpZCAic3RhcnQgbnVtYmVyaW5nIHBhdGNoZXMgYXQgPG4+IGluc3RlYWQgb2YgMSIKIG1zZ3N0ciAiYsO2cmphIG51bXJlcmEgcGF0Y2hhciBww6UgPG4+IGlzdMOkbGxldCBmw7ZyIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE3MgorIzogYnVpbHRpbi9sb2cuYzoxMTkyCiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICJtYXJrZXJhIHNlcmllbiBzb20gTjp0ZSBmw7Zyc8O2ayIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTc0CisjOiBidWlsdGluL2xvZy5jOjExOTQKIG1zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgIkFudsOkbmQgWzxwcmVmaXg+XSBpc3TDpGxsZXQgZsO2ciBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjExNzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTE5NwogbXNnaWQgInN0b3JlIHJlc3VsdGluZyBmaWxlcyBpbiA8ZGlyPiIKIG1zZ3N0ciAic3BhcmEgZmlsZXJuYSBpIDxrYXRhbG9nPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTgwCisjOiBidWlsdGluL2xvZy5jOjEyMDAKIG1zZ2lkICJkb24ndCBzdHJpcC9hZGQgW1BBVENIXSIKIG1zZ3N0ciAidGEgaW50ZSBib3J0IGVsbGVyIGzDpGdnIHRpbGwgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTgzCisjOiBidWlsdGluL2xvZy5jOjEyMDMKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICJza3JpdiBpbnRlIGJpbsOkcmEgZGlmZmFyIgogCi0jOiBidWlsdGluL2xvZy5jOjExODUKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwNQogbXNnaWQgImRvbid0IGluY2x1ZGUgYSBwYXRjaCBtYXRjaGluZyBhIGNvbW1pdCB1cHN0cmVhbSIKIG1zZ3N0ciAidGEgaW50ZSBtZWQgcGF0Y2hhciBzb20gbW90c3ZhcmFyIGVuIHVwcHN0csO2bXNpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTg3CisjOiBidWlsdGluL2xvZy5jOjEyMDcKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgInZpc2EgcGF0Y2hmb3JtYXQgaXN0w6RsbGV0IGbDtnIgc3RhbmRhcmQgKHBhdGNoICsgc3RhdCkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE4OQorIzogYnVpbHRpbi9sb2cuYzoxMjA5CiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICJFLXBvc3QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5MAorIzogYnVpbHRpbi9sb2cuYzoxMjEwCiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICJodXZ1ZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTkxCisjOiBidWlsdGluL2xvZy5jOjEyMTEKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgogbXNnc3RyICJsw6RnZyB0aWxsIGUtcG9zdGh1dnVkIgogCi0jOiBidWlsdGluL2xvZy5jOjExOTIgYnVpbHRpbi9sb2cuYzoxMTk0CisjOiBidWlsdGluL2xvZy5jOjEyMTIgYnVpbHRpbi9sb2cuYzoxMjE0CiBtc2dpZCAiZW1haWwiCiBtc2dzdHIgImVwb3N0IgogCi0jOiBidWlsdGluL2xvZy5jOjExOTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxMgogbXNnaWQgImFkZCBUbzogaGVhZGVyIgogbXNnc3RyICJMw6RnZyB0aWxsIG1vdHRhZ2FyaHV2dWQgKFwiVG86XCIpIgogCi0jOiBidWlsdGluL2xvZy5jOjExOTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNAogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICJMw6RnZyB0aWxsIGtvcGllaHV2dWQgKFwiQ2M6XCIpIgogCi0jOiBidWlsdGluL2xvZy5jOjExOTYKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNgogbXNnaWQgImlkZW50IgogbXNnc3RyICJpZGVudCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTk3CisjOiBidWlsdGluL2xvZy5jOjEyMTcKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICJzw6R0dCBGcsOlbi1hZHJlc3MgdGlsbCA8aWRlbnQ+IChlbGxlciBpbmNoZWNrYXJlIG9tIGlkZW50IHNha25hcykiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5OQorIzogYnVpbHRpbi9sb2cuYzoxMjE5CiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAibWVkZGVsYW5kZS1pZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjAwCisjOiBidWlsdGluL2xvZy5jOjEyMjAKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgIkfDtnIgZGV0IGbDtnJzdGEgYnJldmV0IGV0dCBzdmFyIHRpbGwgPG1lZGRlbGFuZGUtaWQ+IgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDEgYnVpbHRpbi9sb2cuYzoxMjA0CisjOiBidWlsdGluL2xvZy5jOjEyMjEgYnVpbHRpbi9sb2cuYzoxMjI0CiBtc2dpZCAiYm91bmRhcnkiCiBtc2dzdHIgImdyw6RucyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjAyCisjOiBidWlsdGluL2xvZy5jOjEyMjIKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICJiaWZvZ2EgcGF0Y2hlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjA1CisjOiBidWlsdGluL2xvZy5jOjEyMjUKIG1zZ2lkICJpbmxpbmUgdGhlIHBhdGNoIgogbXNnc3RyICJnw7ZyIHBhdGNoZW4gZXR0IGlubGluZS1vYmpla3QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwOQorIzogYnVpbHRpbi9sb2cuYzoxMjI5CiBtc2dpZCAiZW5hYmxlIG1lc3NhZ2UgdGhyZWFkaW5nLCBzdHlsZXM6IHNoYWxsb3csIGRlZXAiCiBtc2dzdHIgImFrdGl2ZXJhIGJyZXZ0csOlZG5pbmcsIHR5cGVyOiBzaGFsbG93LCBkZWVwIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTIzMQogbXNnaWQgInNpZ25hdHVyZSIKIG1zZ3N0ciAic2lnbmF0dXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIxMgorIzogYnVpbHRpbi9sb2cuYzoxMjMyCiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgogbXNnc3RyICJsw6RnZyB0aWxsIHNpZ25hdHVyIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTIzMwogbXNnaWQgImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiCiBtc2dzdHIgInZpc2EgaW50ZSBmaWxuYW1uIGbDtnIgcGF0Y2hhciIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjg4CisjOiBidWlsdGluL2xvZy5jOjEzMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKIG1zZ3N0ciAib2dpbHRpZyBpZGVudC1yYWQ6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTMyMgogbXNnaWQgIi1uIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiLW4gb2NoIC1rIGthbiBpbnRlIGFudsOkbmRhcyBzYW10aWRpZ3QuIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTMyNAogbXNnaWQgIi0tc3ViamVjdC1wcmVmaXggYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgogbXNnc3RyICItLXN1YmplY3QtcHJlZml4IG9jaCAtayBrYW4gaW50ZSBhbnbDpG5kYXMgc2FtdGlkaWd0LiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzEzCisjOiBidWlsdGluL2xvZy5jOjEzMzIKIG1zZ2lkICItLW5hbWUtb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJrYW4gaW50ZSBhbnbDpG5kYSAtLW5hbWUtb25seSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzE1CisjOiBidWlsdGluL2xvZy5jOjEzMzQKIG1zZ2lkICItLW5hbWUtc3RhdHVzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgImthbiBpbnRlIGFudsOkbmRhIC0tbmFtZS1zdGF0dXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMxNworIzogYnVpbHRpbi9sb2cuYzoxMzM2CiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJrYW4gaW50ZSBhbnbDpG5kYSAtLWNoZWNrIgogCi0jOiBidWlsdGluL2xvZy5jOjEzNDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTM1OQogbXNnaWQgInN0YW5kYXJkIG91dHB1dCwgb3IgZGlyZWN0b3J5LCB3aGljaCBvbmU/IgogbXNnc3RyICJzdGFuZGFyZCB1dCwgZWxsZXIga2F0YWxvZywgdmlsa2VuIHNrYWxsIGRldCB2YXJhPyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzQyCisjOiBidWlsdGluL2xvZy5jOjEzNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBza2FwYSBrYXRhbG9nZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0OTAKKyM6IGJ1aWx0aW4vbG9nLmM6MTUwOQogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICJNaXNzbHlja2FkZXMgc2thcGEgdXRkYXRhZmlsZXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzOQorIzogYnVpbHRpbi9sb2cuYzoxNTU4CiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPHVwcHN0csO2bT4gWzxodXZ1ZD4gWzxncsOkbnM+XV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjE1OTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCiBtc2dzdHIgIkt1bmRlIGludGUgaGl0dGEgZW4gc3DDpXJhZCBmasOkcnJncmVuLCBhbmdlIDx1cHBzdHLDtm0+IG1hbnVlbGx0LlxuIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MDcgYnVpbHRpbi9sb2cuYzoxNjA5IGJ1aWx0aW4vbG9nLmM6MTYyMQorIzogYnVpbHRpbi9sb2cuYzoxNjI2IGJ1aWx0aW4vbG9nLmM6MTYyOCBidWlsdGluL2xvZy5jOjE2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBjb21taXQgJXMiCiBtc2dzdHIgIk9rw6RuZCBpbmNoZWNrbmluZyAlcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQwOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjM5OAogbXNnaWQgImdpdCBscy1maWxlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCBscy1maWxlcyBbZmxhZ2dvcl0gWzxmaWw+Li4uXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1NQogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgImlkZW50aWZpZXJhIGZpbHN0YXR1cyBtZWQgdGFnZ2FyIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU3CiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCiBtc2dzdHIgImFudsOkbmQgc23DpSBib2tzdMOkdmVyIGbDtnIgXCJhbnRhIG9mw7Zyw6RuZHJhZGVcIi1maWxlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1OQogbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgogbXNnc3RyICJ2aXNhIGNhY2hhZGUgZmlsZXIgaSB1dGRhdGEgKHN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MQogbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJ2aXNhIGJvcnR0YWduYSBmaWxlciBpIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MwogbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBtb2RpZmllcmFkZSBmaWxlciBpIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NQogbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBhbmRyYSBmaWxlciBpIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NwogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJ2aXNhIGlnbm9yZXJhZGUgZmlsZXIgaSB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzAKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBrw7ZhdCBpbm5laMOlbGxzIG9iamVrdG5hbW4gaSB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzIKIG1zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgogbXNnc3RyICJ2aXNhIGZpbGVyIGkgZmlsc3lzdGVtZXQgc29tIGJlaMO2dmVyIHRhcyBib3J0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDg0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDc0CiBtc2dpZCAic2hvdyAnb3RoZXInIGRpcmVjdG9yaWVzJyBuYW1lIG9ubHkiCiBtc2dzdHIgInZpc2EgZW5kYXN0IG5hbW4gZsO2ciBcImFuZHJhXCIga2F0YWxvZ2VyIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDg3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDc3CiBtc2dpZCAiZG9uJ3Qgc2hvdyBlbXB0eSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAidmlzYSBpbnRlIHRvbW1hIGthdGFsb2dlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MAogbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBlaiBzYW1tYW5zbGFnbmEgZmlsZXIgaSB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODIKIG1zZ2lkICJzaG93IHJlc29sdmUtdW5kbyBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAidmlzYSBcInJlc29sdmUtdW5kb1wiLWluZm9ybWF0aW9uIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDk0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDg0CiBtc2dpZCAic2tpcCBmaWxlcyBtYXRjaGluZyBwYXR0ZXJuIgogbXNnc3RyICJob3BwYSDDtnZlciBmaWxlciBzb20gbW90c3ZhcmFyIG3Dtm5zdGVyIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDk3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDg3CiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAiZXhrbHVkZXJhIG3Dtm5zdGVyIHNvbSBsw6RzZXMgZnLDpW4gPGZpbD4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTAKIG1zZ2lkICJyZWFkIGFkZGl0aW9uYWwgcGVyLWRpcmVjdG9yeSBleGNsdWRlIHBhdHRlcm5zIGluIDxmaWxlPiIKIG1zZ3N0ciAibMOkcyB5dHRlcmxpZ2FyZSBwZXIta2F0YWxvZy1leGtsdWRlcmluZ3Ntw7Zuc3RlciBmcsOlbiA8ZmlsPiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwMgorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MgogbXNnaWQgImFkZCB0aGUgc3RhbmRhcmQgZ2l0IGV4Y2x1c2lvbnMiCiBtc2dzdHIgImzDpGdnIHRpbGwgZ2l0OnMgc3RhbmRhcmRleGtsdWRlcmluZ2FyIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTA1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDk1CiBtc2dpZCAibWFrZSB0aGUgb3V0cHV0IHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgImfDtnIgdXRkYXRhIHJlbGF0aXYgdGlsbCBwcm9qZWt0ZXRzIHRvcHBrYXRhbG9nIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTA4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDk4CiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICJvbSBlbiA8ZmlsPiBpbnRlIMOkciBpbmRleGV0LCBiZXRyYWt0YSBkZXQgc29tIGV0dCBmZWwiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTkKIG1zZ2lkICJ0cmVlLWlzaCIKIG1zZ3N0ciAidHLDpGQtaWd0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTEwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTAwCiBtc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAibMOldHNhcyBhdHQgc8O2a3bDpGdhciBib3J0dGFnbmEgc2VkYW4gPHRyw6RkLWlndD4gZm9ydGZhcmFuZGUgZmlubnMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDIKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICJ2aXNhIGZlbHPDtmtuaW5nc3V0ZGF0YSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MjcKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjI4CiBtc2dpZCAiZ2l0IGxzLXRyZWUgWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxzLXRyZWUgWzxmbGFnZ29yPl0gPHRyw6RkLWlndD4gWzxzw7ZrdsOkZz4uLi5dIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjUKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyNgogbXNnaWQgIm9ubHkgc2hvdyB0cmVlcyIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgdHLDpGQiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyNworIzogYnVpbHRpbi9scy10cmVlLmM6MTI4CiBtc2dpZCAicmVjdXJzZSBpbnRvIHN1YnRyZWVzIgogbXNnc3RyICJyZWt1cnNlcmEgbmVyIGkgdW5kZXJ0csOkZCIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI5CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzAKIG1zZ2lkICJzaG93IHRyZWVzIHdoZW4gcmVjdXJzaW5nIgogbXNnc3RyICJ2aXNhIHRyw6RkIG1lZGFuIHJla3Vyc2VyaW5nIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzIKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMwogbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIGJ5dGUiCiBtc2dzdHIgInRlcm1pbmVyYSBwb3N0ZXIgbWVkIE5VTC1ieXRlIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzMKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNAogbXNnaWQgImluY2x1ZGUgb2JqZWN0IHNpemUiCiBtc2dzdHIgImlua2x1ZGVyYSBvYmpla3RzdG9ybGVrIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzUgYnVpbHRpbi9scy10cmVlLmM6MTM3CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzYgYnVpbHRpbi9scy10cmVlLmM6MTM4CiBtc2dpZCAibGlzdCBvbmx5IGZpbGVuYW1lcyIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgZmlsbmFtbiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTQwCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDEKIG1zZ2lkICJ1c2UgZnVsbCBwYXRoIG5hbWVzIgogbXNnc3RyICJhbnbDpG5kIGZ1bGxzdMOkbmRpZ2Egc8O2a3bDpGdzbmFtbiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTQyCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDMKIG1zZ2lkICJsaXN0IGVudGlyZSB0cmVlOyBub3QganVzdCBjdXJyZW50IGRpcmVjdG9yeSAoaW1wbGllcyAtLWZ1bGwtbmFtZSkiCiBtc2dzdHIgInZpc2EgaGVsYSB0csOkZGV0OyBpbnRlIGJhcmEgYWt0dWVsbCBrYXRhbG9nIChpbXBsaWNlcmFyIC0tZnVsbC1uYW1lKSIKIApAQCAtNjQxMiwxNTEgKzY2NjMsMTUxIEBACiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIlRpbGxnw6RuZ2xpZ2Egc2tyw6RkZGFyc3lkZGEgc3RyYXRlZ2llciDDpHI6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk4CisjOiBidWlsdGluL21lcmdlLmM6MTkxCiBtc2dpZCAiZG8gbm90IHNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAidmlzYSBpbnRlIGVuIGRpZmZzdGF0IG7DpHIgc2FtbWFuc2xhZ25pbmdlbiDDpHIgZsOkcmRpZyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMQorIzogYnVpbHRpbi9tZXJnZS5jOjE5NAogbXNnaWQgInNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAidmlzYSBlbiBkaWZmc3RhdCBuw6RyIHNhbW1hbnNsYWduaW5nZW4gw6RyIGbDpHJkaWciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTUKIG1zZ2lkICIoc3lub255bSB0byAtLXN0YXQpIgogbXNnc3RyICIoc3lub255bSB0aWxsIC0tc3RhdCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTcKIG1zZ2lkICJhZGQgKGF0IG1vc3QgPG4+KSBlbnRyaWVzIGZyb20gc2hvcnRsb2cgdG8gbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIiIKICJsw6RnZyB0aWxsIChzb20gbWVzdCA8bj4pIHBvc3RlciBmcsOlbiBzaG9ydGxvZyB0aWxsIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA3CisjOiBidWlsdGluL21lcmdlLmM6MjAwCiBtc2dpZCAiY3JlYXRlIGEgc2luZ2xlIGNvbW1pdCBpbnN0ZWFkIG9mIGRvaW5nIGEgbWVyZ2UiCiBtc2dzdHIgInNrYXBhIGVuIGVuc2FtIGluY2hlY2tuaW5nIGlzdMOkbGxldCBmw7ZyIGVuIHNhbW1hbnNsYWduaW5nIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA5CisjOiBidWlsdGluL21lcmdlLmM6MjAyCiBtc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgogbXNnc3RyICJ1dGbDtnIgZW4gaW5jaGVja25pbmcgb20gc2FtbWFuc2xhZ25pbmdlbiBseWNrYWRlcyAoc3RhbmRhcmQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjExCisjOiBidWlsdGluL21lcmdlLmM6MjA0CiBtc2dpZCAiZWRpdCBtZXNzYWdlIGJlZm9yZSBjb21taXR0aW5nIgogbXNnc3RyICJyZWRpZ2VyYSBtZWRkZWxhbmRlIGlubmFuIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjEyCisjOiBidWlsdGluL21lcmdlLmM6MjA1CiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKIG1zZ3N0ciAidGlsbMOldCBzbmFiYnNwb2xuaW5nIChzdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDcKIG1zZ2lkICJhYm9ydCBpZiBmYXN0LWZvcndhcmQgaXMgbm90IHBvc3NpYmxlIgogbXNnc3RyICJhdmJyeXQgb20gc25hYmJzcG9sbmluZyBpbnRlIMOkciBtw7ZqbGlnIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE4CisjOiBidWlsdGluL21lcmdlLmM6MjExCiBtc2dpZCAiVmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgogbXNnc3RyICJCZWtyw6RmdGEgYXR0IGRlbiBuYW1uZ2l2bmEgaW5jaGVja25pbmdlbiBoYXIgZW4gZ2lsdGlnIEdQRy1zaWduYXR1ciIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL25vdGVzLmM6NzM4IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE0CisjOiBidWlsdGluL21lcmdlLmM6MjEyIGJ1aWx0aW4vbm90ZXMuYzo3MzggYnVpbHRpbi9yZXZlcnQuYzo4OQogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICJzdHJhdGVnaSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyMAorIzogYnVpbHRpbi9tZXJnZS5jOjIxMwogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKIG1zZ3N0ciAic2FtbWFuc2xhZ25pbnNzdHJhdGVnaSBhdHQgYW52w6RuZGEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTQKIG1zZ2lkICJvcHRpb249dmFsdWUiCiBtc2dzdHIgImFsdGVybmF0aXY9dsOkcmRlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIyCisjOiBidWlsdGluL21lcmdlLmM6MjE1CiBtc2dpZCAib3B0aW9uIGZvciBzZWxlY3RlZCBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAiYWx0ZXJuYXRpdiBmw7ZyIHZhbGQgc2FtbWFuc2xhZ25pbmdzc3RyYXRlZ2kiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcKIG1zZ2lkICJtZXJnZSBjb21taXQgbWVzc2FnZSAoZm9yIGEgbm9uLWZhc3QtZm9yd2FyZCBtZXJnZSkiCiBtc2dzdHIgImluY2hlY2tuaW5nc21lZGRlbGFuZGUgZsO2ciAoaWNrZSBzbmFiYnNwb2xhbmRlKSBzYW1tYW5zbGFnbmluZyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyOAorIzogYnVpbHRpbi9tZXJnZS5jOjIyMQogbXNnaWQgImFib3J0IHRoZSBjdXJyZW50IGluLXByb2dyZXNzIG1lcmdlIgogbXNnc3RyICJhdmJyeXQgZGVuIHDDpWfDpWVuZGUgc2FtbWFuc2xhZ25pbmdlbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NworIzogYnVpbHRpbi9tZXJnZS5jOjI1MAogbXNnaWQgImNvdWxkIG5vdCBydW4gc3Rhc2guIgogbXNnc3RyICJrdW5kZSBrw7ZyYSBzdGFzaC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTUKIG1zZ2lkICJzdGFzaCBmYWlsZWQiCiBtc2dzdHIgInN0YXNoIG1pc3NseWNrYWRlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2NworIzogYnVpbHRpbi9tZXJnZS5jOjI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSB2YWxpZCBvYmplY3Q6ICVzIgogbXNnc3RyICJpbnRlIGV0dCBnaWx0aWd0IG9iamVrdDogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyODYgYnVpbHRpbi9tZXJnZS5jOjMwMworIzogYnVpbHRpbi9tZXJnZS5jOjI3OSBidWlsdGluL21lcmdlLmM6Mjk2CiBtc2dpZCAicmVhZC10cmVlIGZhaWxlZCIKIG1zZ3N0ciAicmVhZC10cmVlIG1pc3NseWNrYWRlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMzMworIzogYnVpbHRpbi9tZXJnZS5jOjMyNgogbXNnaWQgIiAobm90aGluZyB0byBzcXVhc2gpIgogbXNnc3RyICIgKGluZ2V0IGF0dCBwbGF0dGEgdGlsbCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICJUaWxscGxhdHRuaW5nc2luY2hlY2tuaW5nIC0tIHVwcGRhdGVyYXIgaW50ZSBIRUFEXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozNzEKIG1zZ2lkICJXcml0aW5nIFNRVUFTSF9NU0ciCiBtc2dzdHIgIlNrcml2ZXIgU1FVQVNIX01TRyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM4MAorIzogYnVpbHRpbi9tZXJnZS5jOjM3MwogbXNnaWQgIkZpbmlzaGluZyBTUVVBU0hfTVNHIgogbXNnc3RyICJBdnNsdXRhciBTUVVBU0hfTVNHIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDAzCisjOiBidWlsdGluL21lcmdlLmM6Mzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIG1lc3NhZ2UgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKIG1zZ3N0ciAiSW5nZXQgc2FtbWFuc2xhZ25pbmdzbWVkZGVsYW5kZSAtLSB1cHBkYXRlcmFyIGludGUgSEVBRFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDUzCisjOiBidWlsdGluL21lcmdlLmM6NDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgIlwiJXNcIiB2ZXJrYXIgaW50ZSBwZWthIHDDpSBlbiBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjU2NQorIzogYnVpbHRpbi9tZXJnZS5jOjU1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBzdHJpbmc6ICVzIgogbXNnc3RyICJGZWxha3RpZyBicmFuY2guJXMubWVyZ2VvcHRpb25zLXN0csOkbmc6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NjU3CisjOiBidWlsdGluL21lcmdlLmM6NjUwCiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIKIG1zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUgbWlzc2x5Y2thZGVzIHNrcml2YSBldHQgdHLDpGQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2NzgKIG1zZ2lkICJOb3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgogbXNnc3RyICJIYW50ZXJhciBpbnRlIG7DpWdvdCBhbm5hdCDDpG4gZW4gc2FtbWFuc2xhZ25pbmcgYXYgdHbDpSBodXZ1ZGVuLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY5OQorIzogYnVpbHRpbi9tZXJnZS5jOjY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogbXNnc3RyICJGZWxha3RpZyBmbGFnZ2EgZsO2ciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3MTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjgwMgorIzogYnVpbHRpbi9tZXJnZS5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBmcm9tICclcyciCiBtc2dzdHIgIkt1bmRlIGludGUgbMOkc2EgZnLDpW4gXCIlc1wiIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODExCisjOiBidWlsdGluL21lcmdlLmM6ODA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBjb21taXR0aW5nIG1lcmdlOyB1c2UgJ2dpdCBjb21taXQnIHRvIGNvbXBsZXRlIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgogIkNoZWNrYXIgaW50ZSBpbiBzYW1tYW5zbGFnbmluZ2VuOyBhbnbDpG5kIFwiZ2l0IGNvbW1pdFwiIGbDtnIgYXR0IHNsdXRmw7ZyYSAiCiAiZGVuLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODE3CisjOiBidWlsdGluL21lcmdlLmM6ODEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgYSBjb21taXQgbWVzc2FnZSB0byBleHBsYWluIHdoeSB0aGlzIG1lcmdlIGlzIG5lY2Vzc2FyeSxcbiIKQEAgLTY1NzIsNDggKzY4MjMsNDggQEAKICJSYWRlciBzb20gaW5sZWRzIG1lZCBcIiVjXCIga29tbWVyIGlnbm9yZXJhcywgb2NoIGV0dCB0b210IG1lZGRlbGFuZGVcbiIKICJhdmJyeXRlciBpbmNoZWNrbmluZ2VuLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODQxCisjOiBidWlsdGluL21lcmdlLmM6ODM0CiBtc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgogbXNnc3RyICJUb210IGluY2hlY2tuaW5nc21lZGRlbGFuZGUuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODUzCisjOiBidWlsdGluL21lcmdlLmM6ODQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIldvbmRlcmZ1bC5cbiIKIG1zZ3N0ciAiVW5kZXJiYXJ0LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTE4CisjOiBidWlsdGluL21lcmdlLmM6OTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSBmYWlsZWQ7IGZpeCBjb25mbGljdHMgYW5kIHRoZW4gY29tbWl0IHRoZSByZXN1bHQuXG4iCiBtc2dzdHIgIiIKICJLdW5kZSBpbnRlIHNsw6UgaWhvcCBhdXRvbWF0aXNrdDsgZml4YSBrb25mbGlrdGVyIG9jaCBjaGVja2EgaW4gcmVzdWx0YXRldC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkzNAorIzogYnVpbHRpbi9tZXJnZS5jOjkyNwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKIG1zZ3N0ciAiXCIlc1wiIMOkciBpbnRlIGVuIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTc1CisjOiBidWlsdGluL21lcmdlLmM6OTY4CiBtc2dpZCAiTm8gY3VycmVudCBicmFuY2guIgogbXNnc3RyICJJbnRlIHDDpSBuw6Vnb24gZ3Jlbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzAKIG1zZ2lkICJObyByZW1vdGUgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIkluZ2VuIGZqw6RyciBmw7ZyIGFrdHVlbGwgZ3Jlbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzIKIG1zZ2lkICJObyBkZWZhdWx0IHVwc3RyZWFtIGRlZmluZWQgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIkluZ2VuIHN0YW5kYXJkdXBwc3Ryw7ZtIGFuZ2l2ZW4gZsO2ciBha3R1ZWxsIGdyZW4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTg0CisjOiBidWlsdGluL21lcmdlLmM6OTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHJlbW90ZS10cmFja2luZyBicmFuY2ggZm9yICVzIGZyb20gJXMiCiBtc2dzdHIgIkluZ2VuIGZqw6RycnNww6VyYW5kZSBncmVuIGbDtnIgJXMgZnLDpW4gJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQwCisjOiBidWlsdGluL21lcmdlLmM6MTEzMwogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIHRvIGFib3J0IChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAiRGV0IGZpbm5zIGluZ2VuIHNhbW1hbnNsYWduaW5nIGF0dCBhdmJyeXRhIChNRVJHRV9IRUFEIHNha25hcykuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE1NiBnaXQtcHVsbC5zaDozMQorIzogYnVpbHRpbi9tZXJnZS5jOjExNDkgZ2l0LXB1bGwuc2g6MzEKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgY2FuIG1lcmdlLiIKQEAgLTY2MjEsMTEgKzY4NzIsMTEgQEAKICJEdSBoYXIgaW50ZSBhdnNsdXRhdCBzYW1tYW5zbGFnbmluZ2VuIChNRVJHRV9IRUFEIGZpbm5zKS5cbiIKICJDaGVja2EgaW4gZGluYSDDpG5kcmluZ2FyIGlubmFuIGR1IGthbiBzbMOlIGlob3AuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE1OSBnaXQtcHVsbC5zaDozNAorIzogYnVpbHRpbi9tZXJnZS5jOjExNTIgZ2l0LXB1bGwuc2g6MzQKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIkR1IGhhciBpbnRlIGF2c2x1dGF0IHNhbW1hbnNsYWduaW5nZW4gKE1FUkdFX0hFQUQgZmlubnMpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNjMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTU2CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IGNhbiBtZXJnZS4iCkBAIC02NjMzLDE0MCArNjg4NCwxNDggQEAKICJEdSBoYXIgaW50ZSBhdnNsdXRhdCBkaW4gXCJjaGVycnktcGlja1wiIChDSEVSUllfUElDS19IRUFEIGZpbm5zKS5cbiIKICJDaGVja2EgaW4gZGluYSDDpG5kcmluZ2FyIGlubmFuIGR1IGthbiBzbMOlIGlob3AuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE2NgorIzogYnVpbHRpbi9tZXJnZS5jOjExNTkKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIkR1IGhhciBpbnRlIGF2c2x1dGF0IGRpbiBcImNoZXJyeS1waWNrXCIgKENIRVJSWV9QSUNLX0hFQUQgZmlubnMpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTY4CiBtc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tc3F1YXNoIHdpdGggLS1uby1mZi4iCiBtc2dzdHIgIkR1IGthbiBpbnRlIGtvbWJpbmVyYSAtLXNxdWFzaCBtZWQgLS1uby1mZi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg0CisjOiBidWlsdGluL21lcmdlLmM6MTE3NwogbXNnaWQgIk5vIGNvbW1pdCBzcGVjaWZpZWQgYW5kIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG5vdCBzZXQuIgogbXNnc3RyICJJbmdlbiBpbmNoZWNrbmluZyBhbmdpdmVuIG9jaCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSDDpHIgZWogc2F0dC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjE2CisjOiBidWlsdGluL21lcmdlLmM6MTIwOQogbXNnaWQgIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIkthbiBlbmRhc3Qgc2zDpSBpaG9wIGVuIGVuZGEgaW5jaGVja25pbmcgaSBldHQgdG9tdCBodXZ1ZC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjE5CisjOiBidWlsdGluL21lcmdlLmM6MTIxMgogbXNnaWQgIlNxdWFzaCBjb21taXQgaW50byBlbXB0eSBoZWFkIG5vdCBzdXBwb3J0ZWQgeWV0IgogbXNnc3RyICJTdMO2ZGVyIGludGUgZW4gdGlsbHBsYXR0bmluZ3NpbmNoZWNrbmluZyBww6UgZXR0IHRvbXQgaHV2dWQgw6RubnUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjIxCisjOiBidWlsdGluL21lcmdlLmM6MTIxNAogbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgogbXNnc3RyICJJY2tlLXNuYWJic3BvbGFkIGluY2hlY2tuaW5nIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgZXR0IHRvbXQgaHV2dWQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI2CisjOiBidWlsdGluL21lcmdlLmM6MTIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICIlcyAtIGludGUgbsOlZ290IHZpIGthbiBzbMOlIGlob3AiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjc3CisjOiBidWlsdGluL21lcmdlLmM6MTI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICIiCiAiSW5jaGVja25pbmdlbiAlcyBoYXIgZW4gb2JldHJvZGQgR1BHLXNpZ25hdHVyIHNvbSBww6VzdMOlcyB2YXJhIGdqb3JkIGF2ICVzLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyODAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBiYWQgR1BHIHNpZ25hdHVyZSBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICIiCiAiSW5jaGVja25pbmdlbiAlcyBoYXIgZW4gZmVsYWt0aWcgR1BHLXNpZ25hdHVyIHNvbSBww6VzdMOlcyB2YXJhIGdqb3JkIGF2ICVzLiIKIAogIy4gJ04nCi0jOiBidWlsdGluL21lcmdlLmM6MTI4MworIzogYnVpbHRpbi9tZXJnZS5jOjEyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgYSBHUEcgc2lnbmF0dXJlLiIKIG1zZ3N0ciAiSW5jaGVja25pbmcgJXMgaGFyIGludGUgbsOlZ29uIEdQRy1zaWduYXR1ci4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg2CisjOiBidWlsdGluL21lcmdlLmM6MTI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCiBtc2dzdHIgIkluY2hlY2tuaW5nZW4gJXMgaGFyIGVuIGtvcnJla3QgR1BHLXNpZ25hdHVyIGF2ICVzXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzcwCisjOiBidWlsdGluL21lcmdlLmM6MTM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGluZyAlcy4uJXNcbiIKIG1zZ3N0ciAiVXBwZGF0ZXJhciAlcy4uJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgogbXNnc3RyICJGw7Zyc8O2a2VyIHJpa3RpZ3QgZW5rZWwgc2FtbWFuc2xhZ25pbmcgaSBpbmRleGV0Li4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDE2CisjOiBidWlsdGluL21lcmdlLmM6MTQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3BlLlxuIgogbXNnc3RyICJOZWouXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDQ4CisjOiBidWlsdGluL21lcmdlLmM6MTQ0MQogbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKIG1zZ3N0ciAiS2FuIGludGUgc25hYmJzcG9sYSwgYXZicnl0ZXIuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ3MSBidWlsdGluL21lcmdlLmM6MTU1MAorIzogYnVpbHRpbi9tZXJnZS5jOjE0NjQgYnVpbHRpbi9tZXJnZS5jOjE1NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCiBtc2dzdHIgIsOFdGVyc3BvbGFyIHRyw6RkZXQgdGlsbCBvcsO2cnQuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgogbXNnc3RyICJGw7Zyc8O2a2VyIHNhbW1hbnNsYWduaW5zc3RyYXRlZ2luICVzLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQxCisjOiBidWlsdGluL21lcmdlLmM6MTUzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBzdHJhdGVneSBoYW5kbGVkIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiSW5nZW4gc2FtbWFuc2xhZ25pbmdzc3RyYXRlZ2kgaGFudGVyYWRlIHNhbW1hbnNsYWduaW5nZW4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQzCisjOiBidWlsdGluL21lcmdlLmM6MTUzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJNZXJnZSB3aXRoIHN0cmF0ZWd5ICVzIGZhaWxlZC5cbiIKIG1zZ3N0ciAiU2FtbWFuc2xhZ25pbmcgbWVkIHN0cmF0ZWdpbiAlcyBtaXNzbHlja2FkZXMuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTUyCisjOiBidWlsdGluL21lcmdlLmM6MTU0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKIG1zZ3N0ciAiQW52w6RuZGVyICVzIGbDtnIgYXR0IGbDtnJiZXJlZGEgbMO2c25pbmcgZsO2ciBoYW5kLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU2NAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIHdlbnQgd2VsbDsgc3RvcHBlZCBiZWZvcmUgY29tbWl0dGluZyBhcyByZXF1ZXN0ZWRcbiIKIG1zZ3N0ciAiIgogIkF1dG9tYXRpc2sgc2FtbWFuc2xhZ25pbmcgbHlja2FkZXM7IHN0b3BwYXIgZsO2cmUgaW5jaGVja25pbmcgc29tIMO2bnNrYXRcbiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjYKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI5CiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgWy1hfC0tYWxsXSA8Y29tbWl0PiA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgWy1hfC0tYWxsXSA8aW5jaGVja25pbmc+IDxpbmNoZWNrbmluZz4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI3CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYXwtLWFsbF0gLS1vY3RvcHVzIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSBbLWF8LS1hbGxdIC0tb2N0b3B1cyA8aW5jaGVja25pbmc+Li4uIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyOAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzEKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWluZGVwZW5kZW50IDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWluZGVwZW5kZW50IDxpbmNoZWNrbmluZz4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI5CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMgogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPGNvbW1pdD4gPGNvbW1pdD4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPGluY2hlY2tuaW5nPiA8aW5jaGVja25pbmc+IgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzo5OAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzMKK21zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPHJlZj4gWzxjb21taXQ+XSIKK21zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IDxyZWY+IDxpbmNoZWNrbmluZz4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxNAogbXNnaWQgIm91dHB1dCBhbGwgY29tbW9uIGFuY2VzdG9ycyIKIG1zZ3N0ciAic2tyaXYgdXQgYWxsYSBnZW1lbnNhbW1hIGFuZsOkZGVyIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzo5OQorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE2CiBtc2dpZCAiZmluZCBhbmNlc3RvcnMgZm9yIGEgc2luZ2xlIG4td2F5IG1lcmdlIgogbXNnc3RyICJoaXR0YSBhbmZhZGVyIGbDtnIgZW5rZWwgbi12w6Rnc3NhbW1hbnNsYWduaW5nIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoxMDAKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOAogbXNnaWQgImxpc3QgcmV2cyBub3QgcmVhY2hhYmxlIGZyb20gb3RoZXJzIgogbXNnc3RyICJ2aXNhIHJldmlzaW9uZXIgc29tIGludGUga2FuIG7DpXMgZnLDpW4gYW5kcmEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjEwMgorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIwCiBtc2dpZCAiaXMgdGhlIGZpcnN0IG9uZSBhbmNlc3RvciBvZiB0aGUgb3RoZXI/IgogbXNnc3RyICLDpHIgZGVuIGbDtnJzdGEgYW5mYWRlciB0aWxsIGRlbiBhbmRyYT8iCiAKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMgorbXNnaWQgImZpbmQgd2hlcmUgPGNvbW1pdD4gZm9ya2VkIGZyb20gcmVmbG9nIG9mIDxyZWY+IgorbXNnc3RyICJzZSB2YXIgPGluY2hlY2tuaW5nPiBncmVuYWRlcyBhdiBmcsOlbiByZWZlcmVuc2xvZ2dlbiBmcsOlbiA8cmVmPiIKKwogIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OAogbXNnaWQgIiIKICJnaXQgbWVyZ2UtZmlsZSBbb3B0aW9uc10gWy1MIG5hbWUxIFstTCBvcmlnIFstTCBuYW1lMl1dXSBmaWxlMSBvcmlnX2ZpbGUgIgpAQCAtNjgyMiwxMTcgKzcwODEsMTMxIEBACiBtc2dpZCAiYWxsb3cgY3JlYXRpb24gb2YgbW9yZSB0aGFuIG9uZSB0cmVlIgogbXNnc3RyICJ0aWxsw6V0IHNrYXBhIG1lciDDpG4gZXR0IHRyw6RkIgogCi0jOiBidWlsdGluL212LmM6MTQKKyM6IGJ1aWx0aW4vbXYuYzoxNQogbXNnaWQgImdpdCBtdiBbb3B0aW9uc10gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIKIG1zZ3N0ciAiZ2l0IG12IFtmbGFnZ29yXSA8a8OkbGxhPi4uLiA8bcOlbD4iCiAKLSM6IGJ1aWx0aW4vbXYuYzo2NAorIzogYnVpbHRpbi9tdi5jOjcxCiBtc2dpZCAiZm9yY2UgbW92ZS9yZW5hbWUgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICJ0dmluZ2EgZmx5dHRhL8OkbmRyYSBuYW1uIMOkdmVuIG9tIG3DpWxldCBmaW5ucyIKIAotIzogYnVpbHRpbi9tdi5jOjY1CisjOiBidWlsdGluL212LmM6NzIKIG1zZ2lkICJza2lwIG1vdmUvcmVuYW1lIGVycm9ycyIKIG1zZ3N0ciAiaG9wcGEgw7Z2ZXIgZmVsIHZpZCBmbHl0dC9uYW1uw6RuZHJpbmciCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMDgKKyM6IGJ1aWx0aW4vbXYuYzoxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICJLb250cm9sbGVyYXIgbmFtbmJ5dGUgYXYgXCIlc1wiIHRpbGwgXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTIKKyM6IGJ1aWx0aW4vbXYuYzoxMjYKIG1zZ2lkICJiYWQgc291cmNlIgogbXNnc3RyICJmZWxha3RpZyBrw6RsbGEiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTUKKyM6IGJ1aWx0aW4vbXYuYzoxMjkKIG1zZ2lkICJjYW4gbm90IG1vdmUgZGlyZWN0b3J5IGludG8gaXRzZWxmIgogbXNnc3RyICJrYW4gaW50ZSBmbHl0dGEga2F0YWxvZyB0aWxsIHNpZyBzasOkbHYiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTgKKyM6IGJ1aWx0aW4vbXYuYzoxMzIKIG1zZ2lkICJjYW5ub3QgbW92ZSBkaXJlY3Rvcnkgb3ZlciBmaWxlIgogbXNnc3RyICJrYW4gaW50ZSBmbHl0dGEga2F0YWxvZyDDtnZlciBmaWwiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMjgKKyM6IGJ1aWx0aW4vbXYuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVoPyBEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCittc2dzdHIgIlZhZD8gS2F0YWxvZ2VuICVzIMOkciBpIGluZGV4ZXQgb2NoIGludGUgZW4gdW5kZXJtb2R1bD8iCisKKyM6IGJ1aWx0aW4vbXYuYzoxNDAgYnVpbHRpbi9ybS5jOjMxOAorbXNnaWQgIlBsZWFzZSwgc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKK21zZ3N0ciAiIgorIkvDtmEgZGluYSDDpG5kcmluZ2FyIGkgLmdpdG1vZHVsZXMgZWxsZXIgYW52w6RuZCBcInN0YXNoXCIgZsO2ciBhdHQgZm9ydHPDpHR0YSIKKworIzogYnVpbHRpbi9tdi5jOjE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJIdWg/ICUuKnMgaXMgaW4gaW5kZXg/IgogbXNnc3RyICJWYWQ/ICUuKnMgw6RyIGkgaW5kZXhldD8iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNDAKKyM6IGJ1aWx0aW4vbXYuYzoxNjgKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgogbXNnc3RyICJrw6RsbGthdGFsb2dlbiDDpHIgdG9tIgogCi0jOiBidWlsdGluL212LmM6MTcxCisjOiBidWlsdGluL212LmM6MjAwCiBtc2dpZCAibm90IHVuZGVyIHZlcnNpb24gY29udHJvbCIKIG1zZ3N0ciAiaW50ZSB2ZXJzaW9uc2hhbnRlcmFkIgogCi0jOiBidWlsdGluL212LmM6MTczCisjOiBidWlsdGluL212LmM6MjAyCiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICJkZXN0aW5hdGlvbmVuIGZpbm5zIgogCi0jOiBidWlsdGluL212LmM6MTgxCisjOiBidWlsdGluL212LmM6MjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgInNrcml2ZXIgw7Z2ZXIgXCIlc1wiIgogCi0jOiBidWlsdGluL212LmM6MTg0CisjOiBidWlsdGluL212LmM6MjEzCiBtc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKIG1zZ3N0ciAiS2FuIGludGUgc2tyaXZhIMO2dmVyIgogCi0jOiBidWlsdGluL212LmM6MTg3CisjOiBidWlsdGluL212LmM6MjE2CiBtc2dpZCAibXVsdGlwbGUgc291cmNlcyBmb3IgdGhlIHNhbWUgdGFyZ2V0IgogbXNnc3RyICJmbGVyYSBrw6RsbG9yIGbDtnIgc2FtbWEgbcOlbCIKIAotIzogYnVpbHRpbi9tdi5jOjIwMgorIzogYnVpbHRpbi9tdi5jOjIxOAorbXNnaWQgImRlc3RpbmF0aW9uIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiZGVzdGluYXRpb25za2F0YWxvZ2VuIGZpbm5zIGludGUiCisKKyM6IGJ1aWx0aW4vbXYuYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCiBtc2dzdHIgIiVzLCBrw6RsbGE9JXMsIG3DpWw9JXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTIKKyM6IGJ1aWx0aW4vbXYuYzoyNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAiQnl0ZXIgbmFtbiBww6UgJXMgdGlsbCAlc1xuIgogCi0jOiBidWlsdGluL212LmM6MjE1IGJ1aWx0aW4vcmVtb3RlLmM6NzMxCisjOiBidWlsdGluL212LmM6MjQ2IGJ1aWx0aW4vcmVtb3RlLmM6NzI2IGJ1aWx0aW4vcmVwYWNrLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICJtaXNzbHlja2FkZXMgYnl0YSBuYW1uIHDDpSBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTkKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTgKIG1zZ2lkICJnaXQgbmFtZS1yZXYgW29wdGlvbnNdIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgW2ZsYWdnb3JdIDxpbmNoZWNrbmluZz4uLi4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNjAKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTkKIG1zZ2lkICJnaXQgbmFtZS1yZXYgW29wdGlvbnNdIC0tYWxsIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgW2ZsYWdnb3JdIC0tYWxsIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjYxCisjOiBidWlsdGluL25hbWUtcmV2LmM6MjYwCiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFtvcHRpb25zXSAtLXN0ZGluIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgW2ZsYWdnb3JdIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKIG1zZ2lkICJwcmludCBvbmx5IG5hbWVzIChubyBTSEEtMSkiCiBtc2dzdHIgInNrcml2IGVuZGFzdCBuYW1uIChpbmdlbiBTSEEtMSkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTQKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMKIG1zZ2lkICJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiCiBtc2dzdHIgImFudsOkbmQgZW5kYXN0IHRhZ2dhciBmw7ZyIGF0dCBuYW1uZ2UgaW5jaGVja25pbmdhciIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNQogbXNnaWQgIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJhbnbDpG5kIGVuZGFzdCByZWZlcmVuc2VyIHNvbSBtb3RzdmFyYXIgPG3Dtm5zdGVyPiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNwogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgImxpc3RhIGFsbGEgaW5jaGVja25pbmdhciBzb20ga2FuIG7DpXMgYWxsYSByZWZlcmVuc2VyIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE5CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE4CiBtc2dpZCAicmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICJsw6RzIGZyw6VuIHN0YW5kYXJkIGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzIwCi1tc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMiCi1tc2dzdHIgInRpbGzDpXQgYXR0IHNrcml2YSBcIm9kZWZpbmllcmFkZVwiIG5hbW4iCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE5Cittc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMgKGRlZmF1bHQpIgorbXNnc3RyICJ0aWxsw6V0IGF0dCBza3JpdmEgXCJvZGVmaW5pZXJhZGVcIiBuYW1uIChzdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjUKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKIG1zZ3N0ciAiYXZyZWZlcmVyYSB0YWdnYXIgaSBpbmRhdGEgKGFudsOkbmRzIGludGVybnQpIgogCkBAIC03MDg1LDEyICs3MzU4LDEyIEBACiBtc2dpZCAiVGhlIG5vdGUgY29udGVudHMgaGFzIGJlZW4gbGVmdCBpbiAlcyIKIG1zZ3N0ciAiQW50ZWNrbmluZ2VucyBpbm5laMOlbGwgaGFyIGzDpG1uYXRzIGt2YXIgaSAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI0OCBidWlsdGluL3RhZy5jOjU0MAorIzogYnVpbHRpbi9ub3Rlcy5jOjI0OCBidWlsdGluL3RhZy5jOjUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIFwiJXNcIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI1MCBidWlsdGluL3RhZy5jOjU0MworIzogYnVpbHRpbi9ub3Rlcy5jOjI1MCBidWlsdGluL3RhZy5jOjU0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgw7ZwcG5hIGVsbGVyIGzDpHNhIFwiJXNcIiIKQEAgLTcwOTgsNyArNzM3MSw3IEBACiAjOiBidWlsdGluL25vdGVzLmM6MjY5IGJ1aWx0aW4vbm90ZXMuYzozMTYgYnVpbHRpbi9ub3Rlcy5jOjMxOAogIzogYnVpbHRpbi9ub3Rlcy5jOjM3OCBidWlsdGluL25vdGVzLmM6NDMyIGJ1aWx0aW4vbm90ZXMuYzo1MTUKICM6IGJ1aWx0aW4vbm90ZXMuYzo1MjAgYnVpbHRpbi9ub3Rlcy5jOjU5NSBidWlsdGluL25vdGVzLmM6NjM3Ci0jOiBidWlsdGluL25vdGVzLmM6ODM5IGJ1aWx0aW4vdGFnLmM6NTU2CisjOiBidWlsdGluL25vdGVzLmM6ODM5IGJ1aWx0aW4vdGFnLmM6NTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJLdW5kZSBpbnRlIHNsw6UgdXBwIFwiJXNcIiBzb20gZW4gZ2lsdGlnIHJlZmVyZW5zLiIKQEAgLTcyNTgsNyArNzUzMSw3IEBACiBtc2dpZCAidXNlIG5vdGVzIGZyb20gPG5vdGVzX3JlZj4iCiBtc2dzdHIgImFudsOkbmQgYW50ZWNrbmluZ2FyIGZyw6VuIDxhbnRlY2tuaW5nc3JlZj4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NzQgYnVpbHRpbi9yZW1vdGUuYzoxNTk4CisjOiBidWlsdGluL25vdGVzLmM6OTc0IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICJPa8OkbnQgdW5kZXJrb21tYW5kbzogJXMiCkBAIC03MjcxLDE0OCArNzU0NCwxNDggQEAKIG1zZ2lkICJnaXQgcGFjay1vYmplY3RzIFtvcHRpb25zLi4uXSBiYXNlLW5hbWUgWzwgcmVmLWxpc3QgfCA8IG9iamVjdC1saXN0XSIKIG1zZ3N0ciAiZ2l0IHBhY2stb2JqZWN0cyBbZmxhZ2dvci4uLl0gYmFzbmFtbiBbPCByZWZsaXN0YSB8IDwgb2JqZWt0bGlzdGFdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICJmZWwgaSBkZWZsYXRlICglZCkiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjM5NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCiBtc2dzdHIgImluZGV4dmVyc2lvbmVuICVzIHN0w7ZkcyBlaiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKIG1zZ3N0ciAiZmVsYWt0aWcgaW5kZXh2ZXJzaW9uIFwiJXNcIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDI0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAib3B0aW9uICVzIGRvZXMgbm90IGFjY2VwdCBuZWdhdGl2ZSBmb3JtIgogbXNnc3RyICJmbGFnZ2FuICVzIGdvZHRhciBpbnRlIG5lZ2F0aXYgZm9ybSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDI4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIHZhbHVlICclcycgZm9yIG9wdGlvbiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSB2w6RyZGV0IFwiJXNcIiBmw7ZyIGZsYWdnYW4gJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQ2CiBtc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgInZpc2EgaW50ZSBmw7ZybG9wcHNpbmRpa2F0b3IiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQ4CiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAidmlzYSBmw7ZybG9wcHNpbmRpa2F0b3IiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDUwCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCiBtc2dzdHIgInZpc2EgZsO2cmxvcHBzaW5kaWthdG9yIHVuZGVyIG9iamVrdHNrcml2bmluZ3NmYXNlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTMKIG1zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCiBtc2dzdHIgInNvbSAtLWFsbC1wcm9ncmVzcyBuw6RyIGbDtnJsb3Bwc23DpHRhcmVuIHZpc2FzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NAogbXNnaWQgInZlcnNpb25bLG9mZnNldF0iCiBtc2dzdHIgInZlcnNpb25bLG9mZnNldF0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU1CiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAic2tyaXYgcGFrZXRpbmRleGZpbGVuIGkgYW5naXZlbiBpbmRleGZvcm1hdHZlcnNpb24iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU4CiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKIG1zZ3N0ciAibWF4aW1hbCBzdG9ybGVrIHDDpSB2YXJqZSB1dGRhdGFwYWtldGZpbCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjAKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgImlnbm9yZXJhIGzDpW5hZGUgb2JqZWt0IGZyw6VuIGFsdGVybmF0aXZhIG9iamVrdGxhZ2VyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2MgogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAiaWdub3JlcmEgcGFja2FkZSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY0CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAiYmVncsOkbnNhIHBha2V0ZsO2bnN0ZXIgZWZ0ZXIgb2JqZWt0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NgogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgImJlZ3LDpG5zYSBwYWtldGbDtm5zdGVyIGVmdGVyIG1pbm5lIGbDtnJ1dG9tIG9iamVrdGdyw6RucyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjgKIG1zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKIG1zZ3N0ciAibWF4aW1hbCBsw6RuZ2QgcMOlIGRlbHRha2VkamEgdGlsbMOldGVuIGkgc2x1dGxpZ3QgcGFrZXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDcwCiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICLDpXRlcmFudsOkbmQgYmVmaW50bGlnYSBkZWx0YSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDczCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzIKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBvYmplY3RzIgogbXNnc3RyICLDpXRlcmFudsOkbmQgYmVmaW50bGlnYSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc0CiBtc2dpZCAidXNlIE9GU19ERUxUQSBvYmplY3RzIgogbXNnc3RyICJhbnbDpG5kIE9GU19ERUxUQS1vYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc2CiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAiYW52w6RuZCB0csOlZGFyIHZpZCBzw7ZrbmluZyBlZnRlciBiw6RzdGEgZGVsdGF0csOkZmZhciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzgKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICJmw7Zyc8O2ayBpbnRlIHNrYXBhIHRvbSBwYWtldHV0ZGF0YSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODAKIG1zZ2lkICJyZWFkIHJldmlzaW9uIGFyZ3VtZW50cyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJsw6RzIHJldmlzaW9uc2FyZ3VtZW50IGZyw6VuIHN0YW5kYXJkIGluIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MgogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICJiZWdyw6Ruc2Egb2JqZWt0IHRpbGwgZGUgc29tIMOkbm51IGludGUgcGFja2F0cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODUKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKIG1zZ3N0ciAiaW5rbHVkZXJhIG9iamVrdCBzb20ga2FuIG7DpXMgZnLDpW4gbsOlZ29uIHJlZmVyZW5zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4OAogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAiaW5rbHVkZXJhIG9iamVrdCBzb20gcmVmZXJlcmFzIGZyw6VuIHJlZmVyZW5zbG9nZ3Bvc3RlciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDkyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTEKIG1zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCiBtc2dzdHIgInNrcml2IHBha2V0IHDDpSBzdGFuZGFyZCB1dCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTMKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgImlua2x1ZGVyYSB0YWdnb2JqZWt0IHNvbSByZWZlcmVyYXIgb2JqZWt0IHNvbSBza2FsbCBwYWNrYXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk1CiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJiZWjDpWxsIG9uw6ViYXJhIG9iamVrdCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk3IHBhcnNlLW9wdGlvbnMuaDoxNDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NiBwYXJzZS1vcHRpb25zLmg6MTQzCiBtc2dpZCAidGltZSIKIG1zZ3N0ciAidGlkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NwogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgogbXNnc3RyICJwYWNrYSB1cHAgb27DpWJhcmEgb2JqZWt0IG55YXJlIMOkbiA8dGlkPiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDAKIG1zZ2lkICJjcmVhdGUgdGhpbiBwYWNrcyIKIG1zZ3N0ciAic2thcGEgdHVubmEgcGFrZXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTAyCiBtc2dpZCAiaWdub3JlIHBhY2tzIHRoYXQgaGF2ZSBjb21wYW5pb24gLmtlZXAgZmlsZSIKIG1zZ3N0ciAiaWdub3JlcmEgcGFrZXQgc29tIGhhciB0aWxsaMO2cmFuZGUgLmtlZXAtZmlsIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNAogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgImtvbXByaW1lcmluZ3NncmFkIGbDtnIgcGFrZXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA2CiBtc2dpZCAiZG8gbm90IGhpZGUgY29tbWl0cyBieSBncmFmdHMiCiBtc2dzdHIgImfDtm0gaW50ZSBpbmNoZWNrbmluZ2FyIG1lZCB5bXBuaW5nYXIgKFwiZ3JhZnRzXCIpIgogCkBAIC03NDM2LDE1ICs3NzA5LDE1IEBACiBtc2dpZCAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1leHBpcmUgPHRpbWU+XSBbLS1dIFs8aGVhZD4uLi5dIgogbXNnc3RyICJnaXQgcHJ1bmUgWy1uXSBbLXZdIFstLWV4cGlyZSA8dGlkPl0gWy0tXSBbPGh1dnVkPi4uLl0iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzIKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxNDIKIG1zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCiBtc2dzdHIgInRhIGludGUgYm9ydCwgYmFyYSB2aXNhIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTMzCisjOiBidWlsdGluL3BydW5lLmM6MTQzCiBtc2dpZCAicmVwb3J0IHBydW5lZCBvYmplY3RzIgogbXNnc3RyICJyYXBwb3J0ZXJhIGJvcnR0YWduYSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzYKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxNDYKIG1zZ2lkICJleHBpcmUgb2JqZWN0cyBvbGRlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAibMOldCB0aWQgZ8OlIHV0IGbDtnIgb2JqZWt0IMOkbGRyZSDDpG4gPHRpZD4iCiAKQEAgLTc0NTIsMTUgKzc3MjUsMTUgQEAKIG1zZ2lkICJnaXQgcHVzaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1c2ggWzxmbGFnZ29yPl0gWzxhcmtpdj4gWzxyZWZzcGVjPi4uLl1dIgogCi0jOiBidWlsdGluL3B1c2guYzo0NQorIzogYnVpbHRpbi9wdXNoLmM6ODYKIG1zZ2lkICJ0YWcgc2hvcnRoYW5kIHdpdGhvdXQgPHRhZz4iCiBtc2dzdHIgInRhZ2dmw7Zya29ydG5pbmcgdXRhbiA8dGFnZz4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjY0CisjOiBidWlsdGluL3B1c2guYzo5NgogbXNnaWQgIi0tZGVsZXRlIG9ubHkgYWNjZXB0cyBwbGFpbiB0YXJnZXQgcmVmIG5hbWVzIgogbXNnc3RyICItLWRlbGV0ZSBnb2R0YXIgZW5kYXN0IGVua2xhIG3DpWxyZWZlcmVuc25hbW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjk5CisjOiBidWlsdGluL3B1c2guYzoxNDEKIG1zZ2lkICIiCiAiXG4iCiAiVG8gY2hvb3NlIGVpdGhlciBvcHRpb24gcGVybWFuZW50bHksIHNlZSBwdXNoLmRlZmF1bHQgaW4gJ2dpdCBoZWxwIGNvbmZpZycuIgpAQCAtNzQ2OSw3ICs3NzQyLDcgQEAKICJGw7ZyIGF0dCB2w6RsamEgZXR0IGF2IGFsdGVybmF0aXZlbiBwZXJtYW5lbnQsIHNlIHB1c2guZGVmYXVsdCBpIFwiZ2l0IGhlbHAgIgogImNvbmZpZ1wiLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTAyCisjOiBidWlsdGluL3B1c2guYzoxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSB1cHN0cmVhbSBicmFuY2ggb2YgeW91ciBjdXJyZW50IGJyYW5jaCBkb2VzIG5vdCBtYXRjaFxuIgpAQCAtNzQ5NCw3ICs3NzY3LDcgQEAKICIgICAgZ2l0IHB1c2ggJXMgJXNcbiIKICIlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTE3CisjOiBidWlsdGluL3B1c2guYzoxNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC5cbiIKQEAgLTc1MDksNyArNzc4Miw3IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoICVzIEhFQUQ6PG5hbW4tcMOlLWZqw6RycmdyZW4+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEzMQorIzogYnVpbHRpbi9wdXNoLmM6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG5vIHVwc3RyZWFtIGJyYW5jaC5cbiIKQEAgLTc1MjIsMTIgKzc3OTUsMTIgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggLS1zZXQtdXBzdHJlYW0gJXMgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTM5CisjOiBidWlsdGluL3B1c2guYzoxODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBtdWx0aXBsZSB1cHN0cmVhbSBicmFuY2hlcywgcmVmdXNpbmcgdG8gcHVzaC4iCiBtc2dzdHIgIkRlbiBha3R1ZWxsYSBncmVuZW4gJXMgaGFyIGZsZXJhIHVwcHN0csO2bXNncmVuYXIsIHbDpGdyYXIgc8OkbmRhLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTQyCisjOiBidWlsdGluL3B1c2guYzoxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgcHVzaGluZyB0byByZW1vdGUgJyVzJywgd2hpY2ggaXMgbm90IHRoZSB1cHN0cmVhbSBvZlxuIgpAQCAtNzUzOCw3ICs3ODExLDcgQEAKICJha3R1ZWxsYSBncmVuZW4gXCIlc1wiLCB1dGFuIGF0dCB0YWxhIG9tIGbDtnIgbWlnIHZhZCBzb21cbiIKICJza2FsbCBzw6RuZGFzIGbDtnIgYXR0IHVwcGRhdGVyYSBmasOkcnJncmVuZW4uIgogCi0jOiBidWlsdGluL3B1c2guYzoxNjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjIwNwogbXNnaWQgIiIKICJwdXNoLmRlZmF1bHQgaXMgdW5zZXQ7IGl0cyBpbXBsaWNpdCB2YWx1ZSBpcyBjaGFuZ2luZyBpblxuIgogIkdpdCAyLjAgZnJvbSAnbWF0Y2hpbmcnIHRvICdzaW1wbGUnLiBUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZVxuIgpAQCAtNzU1MCw2ICs3ODIzLDEzIEBACiAiXG4iCiAiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHB1c2guZGVmYXVsdCBzaW1wbGVcbiIKICJcbiIKKyJXaGVuIHB1c2guZGVmYXVsdCBpcyBzZXQgdG8gJ21hdGNoaW5nJywgZ2l0IHdpbGwgcHVzaCBsb2NhbCBicmFuY2hlc1xuIgorInRvIHRoZSByZW1vdGUgYnJhbmNoZXMgdGhhdCBhbHJlYWR5IGV4aXN0IHdpdGggdGhlIHNhbWUgbmFtZS5cbiIKKyJcbiIKKyJJbiBHaXQgMi4wLCBHaXQgd2lsbCBkZWZhdWx0IHRvIHRoZSBtb3JlIGNvbnNlcnZhdGl2ZSAnc2ltcGxlJ1xuIgorImJlaGF2aW9yLCB3aGljaCBvbmx5IHB1c2hlcyB0aGUgY3VycmVudCBicmFuY2ggdG8gdGhlIGNvcnJlc3BvbmRpbmdcbiIKKyJyZW1vdGUgYnJhbmNoIHRoYXQgJ2dpdCBwdWxsJyB1c2VzIHRvIHVwZGF0ZSB0aGUgY3VycmVudCBicmFuY2guXG4iCisiXG4iCiAiU2VlICdnaXQgaGVscCBjb25maWcnIGFuZCBzZWFyY2ggZm9yICdwdXNoLmRlZmF1bHQnIGZvciBmdXJ0aGVyICIKICJpbmZvcm1hdGlvbi5cbiIKICIodGhlICdzaW1wbGUnIG1vZGUgd2FzIGludHJvZHVjZWQgaW4gR2l0IDEuNy4xMS4gVXNlIHRoZSBzaW1pbGFyIG1vZGVcbiIKQEAgLTc1NjcsMTkgKzc4NDcsMjcgQEAKICJcbiIKICIgIGdpdCBjb25maWcgLS1nbG9iYWwgcHVzaC5kZWZhdWx0IHNpbXBsZVxuIgogIlxuIgorIk7DtnIgcHVzaC5kZWZhdWx0IMOkciBzYXR0IHRpbGwgXCJtYXRjaGluZ1wiIGtvbW1lciBnaXQgYXR0IHPDpG5kYSBsb2thbGEgIgorImdyZW5hclxuIgorInRpbGwgZmrDpHJyZ3JlbmFyIHNvbSByZWRhbiBmaW5ucyBvY2ggc29tIGhhciBzYW1tYSBuYW1uLlxuIgorIlxuIgorIkdpdCAyLjAga29tbWVyIHNvbSBzdGFuZGFyZCB2w6RsamEgZGVuIG1lciBrb25zZXJ2YXRpdmEgaW5zdMOkbGxuaW5nZW5cbiIKKyJcInNpbXBsZVwiLCB2aWxrZXQgYmFyYSBzw6RuZGVyIGluIGRlbiBha3R1ZWxsYSBncmVuZW4gdGlsbCBkZW4gbW90c3ZhcmFuZGVcbiIKKyJmasOkcnJncmVuIFwiZ2l0IHB1bGxcIiBhbnbDpG5kZXIgZsO2ciBhdHQgdXBwZGF0ZXJhIGRlbiBha3R1ZWxsYSBncmVuZW4uXG4iCisiXG4iCiAiU2UgXCJnaXQgaGVscCBjb25maWdcIiBvY2ggc8O2ayBlZnRlciBcInB1c2guZGVmYXVsdFwiIGbDtnIgeXR0ZXJsaWdhcmUgXG4iCiAiaW5mb3JtYXRpb24uIChMw6RnZXQgXCJzaW1wbGVcIiBpbnRyb2R1Y2VyYWRlcyBpIEdpdCAxLjcuMTEuIEFudsOkbmQgZGV0XG4iCiAibGlrbmFuZGUgbMOkZ2V0IFwiY3VycmVudFwiIGlzdMOkbGxldCBmw7ZyIFwic2ltcGxlXCIgb20gZHUgaWJsYW5kIGFudsOkbmRlclxuIgogIsOkbGRyZSB2ZXJzaW9uZXIgYXYgR2l0LikiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIyNQorIzogYnVpbHRpbi9wdXNoLmM6Mjc0CiBtc2dpZCAiIgogIllvdSBkaWRuJ3Qgc3BlY2lmeSBhbnkgcmVmc3BlY3MgdG8gcHVzaCwgYW5kIHB1c2guZGVmYXVsdCBpcyBcIm5vdGhpbmdcIi4iCiBtc2dzdHIgIiIKICJEdSBhbmdhdiBpbmdhIHJlZmVyZW5zc3BlY2lmaWthdGlvbmVyIGF0dCBzw6RuZGEsIG9jaCBwdXNoLmRlZmF1bHQgw6RyICIKICJcIm5vdGhpbmdcIi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIzMgorIzogYnVpbHRpbi9wdXNoLmM6MjgxCiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0aXAgb2YgeW91ciBjdXJyZW50IGJyYW5jaCBpcyBiZWhpbmRcbiIKICJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBJbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzIChlLmcuXG4iCkBAIC03NTkxLDcgKzc4NzksNyBAQAogIlwiZ2l0IHB1bGwgLi4uLlwiKSBpbm5hbiBkdSBzw6RuZGVyIGlnZW4uXG4iCiAiU2UgYXZzbml0dGV0IFwiTm90ZSBhYm91dCBmYXN0LWZvcndhcmRcIiBpIFwiZ2l0IHB1c2ggLS1oZWxwXCIgZsO2ciBkZXRhbGplci4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIzOAorIzogYnVpbHRpbi9wdXNoLmM6Mjg3CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIGEgcHVzaGVkIGJyYW5jaCB0aXAgaXMgYmVoaW5kIGl0cyByZW1vdGVcbiIKICJjb3VudGVycGFydC4gSWYgeW91IGRpZCBub3QgaW50ZW5kIHRvIHB1c2ggdGhhdCBicmFuY2gsIHlvdSBtYXkgd2FudCB0b1xuIgpAQCAtNzYwNSw3ICs3ODkzLDcgQEAKICJlbmRhc3RcbiIKICJzw6RuZGEgYWt0dWVsbCBncmVuLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjQ0CisjOiBidWlsdGluL3B1c2guYzoyOTMKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgogImNvdW50ZXJwYXJ0LiBDaGVjayBvdXQgdGhpcyBicmFuY2ggYW5kIGludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXNcbiIKQEAgLTc2MTcsNyArNzkwNSw3IEBACiAiXCJnaXQgcHVsbCAuLi5cIikgaW5uYW4gZHUgc8OkbmRlciBpZ2VuLlxuIgogIlNlIGF2c25pdHRldCBcIk5vdGUgYWJvdXQgZmFzdC1mb3J3YXJkXCIgaSBcImdpdCBwdXNoIC0taGVscFwiIGbDtnIgZGV0YWxqZXIuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNTAKKyM6IGJ1aWx0aW4vcHVzaC5jOjI5OQogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGNvbnRhaW5zIHdvcmsgdGhhdCB5b3UgZG9cbiIKICJub3QgaGF2ZSBsb2NhbGx5LiBUaGlzIGlzIHVzdWFsbHkgY2F1c2VkIGJ5IGFub3RoZXIgcmVwb3NpdG9yeSBwdXNoaW5nXG4iCkBAIC03NjMxLDExICs3OTE5LDExIEBACiAiKHQuZXguIFwiZ2l0IHB1bGwgLi4uXCIpIGlubmFuIGR1IHPDpG5kZXIgaWdlbi5cbiIKICJTZSBhdnNuaXR0ZXQgXCJOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHNcIiBpIFwiZ2l0IHB1c2ggLS1oZWxwXCIgZsO2ciBkZXRhbGplci4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI1NworIzogYnVpbHRpbi9wdXNoLmM6MzA2CiBtc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKIG1zZ3N0ciAiVXBwZGF0ZXJpbmdhcm5hIGF2dmlzYWRlcyBlZnRlcnNvbSB0YWdnZW4gcmVkYW4gZmlubnMgcMOlIGZqw6RycmVuLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjYwCisjOiBidWlsdGluL3B1c2guYzozMDkKIG1zZ2lkICIiCiAiWW91IGNhbm5vdCB1cGRhdGUgYSByZW1vdGUgcmVmIHRoYXQgcG9pbnRzIGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCiAib3IgdXBkYXRlIGEgcmVtb3RlIHJlZiB0byBtYWtlIGl0IHBvaW50IGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCkBAIC03NjQ2LDIyICs3OTM0LDIyIEBACiAicGVrYXIgcMOlIG7DpWdvdCBzb20gaW50ZSDDpHIgZW4gaW5jaGVja25pbmcsIHV0YW4gYXR0IGFudsOkbmRhIGZsYWdnYW5cbiIKICJcIi0tZm9yY2VcIi5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzIwCisjOiBidWlsdGluL3B1c2guYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHVzaGluZyB0byAlc1xuIgogbXNnc3RyICJTw6RuZGVyIHRpbGwgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzI0CisjOiBidWlsdGluL3B1c2guYzozNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBzw6RuZGEgdmlzc2EgcmVmZXJlbnNlciB0aWxsIFwiJXNcIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzU3CisjOiBidWlsdGluL3B1c2guYzo0MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKIG1zZ3N0ciAiZmVsYWt0aWd0IGFya2l2IFwiJXNcIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzU4CisjOiBidWlsdGluL3B1c2guYzo0MTMKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCkBAIC03NjgyLDg3ICs3OTcwLDk1IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIDxuYW1uPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozNzMKKyM6IGJ1aWx0aW4vcHVzaC5jOjQyOAogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwgb2NoIC0tdGFncyDDpHIgaW5rb21wYXRpYmxhIgogCi0jOiBidWlsdGluL3B1c2guYzozNzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjQyOQogbXNnaWQgIi0tYWxsIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tYWxsIGthbiBpbnRlIGtvbWJpbmVyYXMgbWVkIHJlZmVyZW5zc3BlY2lmaWthdGlvbmVyIgogCi0jOiBidWlsdGluL3B1c2guYzozNzkKKyM6IGJ1aWx0aW4vcHVzaC5jOjQzNAogbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1taXJyb3Igb2NoIC0tdGFncyDDpHIgaW5rb21wYXRpYmxhIgogCi0jOiBidWlsdGluL3B1c2guYzozODAKKyM6IGJ1aWx0aW4vcHVzaC5jOjQzNQogbXNnaWQgIi0tbWlycm9yIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tbWlycm9yIGthbiBpbnRlIGtvbWJpbmVyYXMgbWVkIHJlZmVyZW5zc3BlY2lmaWthdGlvbmVyIgogCi0jOiBidWlsdGluL3B1c2guYzozODUKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ0MAogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCBvY2ggLS1taXJyb3Igw6RyIGlua29tcGF0aWJsYSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDQ1CisjOiBidWlsdGluL3B1c2guYzo1MDAKIG1zZ2lkICJyZXBvc2l0b3J5IgogbXNnc3RyICJhcmtpdiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDQ2CisjOiBidWlsdGluL3B1c2guYzo1MDEKIG1zZ2lkICJwdXNoIGFsbCByZWZzIgogbXNnc3RyICJzw6RuZCBhbGxhIHJlZmVyZW5zZXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ0NworIzogYnVpbHRpbi9wdXNoLmM6NTAyCiBtc2dpZCAibWlycm9yIGFsbCByZWZzIgogbXNnc3RyICJzcGVnbGEgYWxsYSByZWZlcmVuc2VyIgogCi0jOiBidWlsdGluL3B1c2guYzo0NDkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUwNAogbXNnaWQgImRlbGV0ZSByZWZzIgogbXNnc3RyICJ0YSBib3J0IHJlZmVyZW5zZXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1MAorIzogYnVpbHRpbi9wdXNoLmM6NTA1CiBtc2dpZCAicHVzaCB0YWdzIChjYW4ndCBiZSB1c2VkIHdpdGggLS1hbGwgb3IgLS1taXJyb3IpIgogbXNnc3RyICJzw6RuZCB0YWdnYXIgKGthbiBpbnRlIGFudsOkbmRhcyBtZWQgLS1hbGwgZWxsZXIgLS1taXJyb3IpIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTMKKyM6IGJ1aWx0aW4vcHVzaC5jOjUwOAogbXNnaWQgImZvcmNlIHVwZGF0ZXMiCiBtc2dzdHIgInR2aW5nYSB1cHBkYXRlcmluZ2FyIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTQKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxMAorbXNnaWQgInJlZm5hbWU+OjxleHBlY3QiCittc2dzdHIgInJlZm5hbW4+Ojxmw7ZydsOkbnRhIgorCisjOiBidWlsdGluL3B1c2guYzo1MTEKK21zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKK21zZ3N0ciAia3LDpHYgYXR0IHJlZjpzIHRpZGlnYXJlIHbDpHJkZSDDpHIgZGV0dGEiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxMwogbXNnaWQgImNoZWNrIgogbXNnc3RyICJrb250cm9sbGVyYSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDU1CisjOiBidWlsdGluL3B1c2guYzo1MTQKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInN0eXIgcmVrdXJzaXYgaW5zw6RuZG5pbmcgYXYgdW5kZXJtb2R1bGVyIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNgogbXNnaWQgInVzZSB0aGluIHBhY2siCiBtc2dzdHIgImFudsOkbmQgdHVubmEgcGFrZXQiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1OCBidWlsdGluL3B1c2guYzo0NTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNyBidWlsdGluL3B1c2guYzo1MTgKIG1zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKIG1zZ3N0ciAicHJvZ3JhbSBmw7ZyIGF0dCB0YSBlbW90IHBha2V0IgogCi0jOiBidWlsdGluL3B1c2guYzo0NjAKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxOQogbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgogbXNnc3RyICJzdMOkbGwgaW4gdXBwc3Ryw7ZtIGbDtnIgZ2l0IHB1bGwvc3RhdHVzIgogCi0jOiBidWlsdGluL3B1c2guYzo0NjMKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyMgogbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgogbXNnc3RyICJ0YSBib3J0IGxva2FsdCBib3J0dGFnbmEgcmVmZXJlbnNlciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDY1CisjOiBidWlsdGluL3B1c2guYzo1MjQKIG1zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKIG1zZ3N0ciAiZsO2cmJpZ8OlIHByZS1wdXNoLWtyb2siCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2NgorIzogYnVpbHRpbi9wdXNoLmM6NTI1CiBtc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgogbXNnc3RyICJzw6RuZCBpbiBzYWtuYWRlIG1lbiByZWxldmFudGEgdGFnZ2FyIgogCi0jOiBidWlsdGluL3B1c2guYzo0NzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNQogbXNnaWQgIi0tZGVsZXRlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLW1pcnJvciBhbmQgLS10YWdzIgogbXNnc3RyICItLWRlbGV0ZSDDpHIgaW1rb21wYXRpYmVsIG1lZCAtLWFsbCwgLS1taXJyb3Igb2NoIC0tdGFncyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDc4CisjOiBidWlsdGluL3B1c2guYzo1MzcKIG1zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKIG1zZ3N0ciAiLS1kZWxldGUga2FuIGludGUgYW52w6RuZGFzIHV0YW4gcmVmZXJlbnNlciIKIApAQCAtNzg0MCwyMSArODEzNiwyMSBAQAogbXNnaWQgImRlYnVnIHVucGFjay10cmVlcyIKIG1zZ3N0ciAiZmVsc8O2ayB1bnBhY2stdHJlZXMiCiAKLSM6IGJ1aWx0aW4vcmVmbG9nLmM6NTAwCisjOiBidWlsdGluL3JlZmxvZy5jOjQ5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcycgZm9yICclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICJcIiVzXCIgZsO2ciBcIiVzXCIgw6RyIGludGUgZW4gZ2lsdGlnIHRpZHNzdMOkbXBlbCIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo2MTYgYnVpbHRpbi9yZWZsb2cuYzo2MjEKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NjE1IGJ1aWx0aW4vcmVmbG9nLmM6NjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICJcIiVzXCIgw6RyIGludGUgZW4gZ2lsdGlnIHRpZHNzdMOkbXBlbCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMgogbXNnaWQgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyCisjOiBidWlsdGluL3JlbW90ZS5jOjEzCiBtc2dpZCAiIgogImdpdCByZW1vdGUgYWRkIFstdCA8YnJhbmNoPl0gWy1tIDxtYXN0ZXI+XSBbLWZdIFstLXRhZ3N8LS1uby10YWdzXSBbLS0iCiAibWlycm9yPTxmZXRjaHxwdXNoPl0gPG5hbWU+IDx1cmw+IgpAQCAtNzg2Miw3OCArODE1OCw4MiBAQAogImdpdCByZW1vdGUgYWRkIFstdCA8Z3Jlbj5dIFstbSA8bWFzdGVyPl0gWy1mXSBbLS10YWdzfC0tbm8tdGFnc10gWy0tIgogIm1pcnJvcj08ZmV0Y2h8cHVzaD5dIDxuYW1uPiA8dXJsPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMyBidWlsdGluL3JlbW90ZS5jOjMyCisjOiBidWlsdGluL3JlbW90ZS5jOjE0IGJ1aWx0aW4vcmVtb3RlLmM6MzMKIG1zZ2lkICJnaXQgcmVtb3RlIHJlbmFtZSA8b2xkPiA8bmV3PiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSByZW5hbWUgPGdhbW1hbD4gPG55PiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNCBidWlsdGluL3JlbW90ZS5jOjM3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1IGJ1aWx0aW4vcmVtb3RlLmM6MzgKIG1zZ2lkICJnaXQgcmVtb3RlIHJlbW92ZSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgcmVtb3ZlIDxuYW1uPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNSBidWlsdGluL3JlbW90ZS5jOjQyCi1tc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLWQgfCA8YnJhbmNoPikiCi1tc2dzdHIgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbW4+ICgtYSB8IC1kIHwgPGdyZW4+KSIKLQogIzogYnVpbHRpbi9yZW1vdGUuYzoxNgorbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfDxicmFuY2g+KSIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtbj4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxncmVuPikiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTcKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHNob3cgWy1uXSA8bmFtbj4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgKIG1zZ2lkICJnaXQgcmVtb3RlIHBydW5lIFstbiB8IC0tZHJ5LXJ1bl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHBydW5lIFstbiB8IC0tZHJ5LXJ1bl0gPG5hbW4+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4CisjOiBidWlsdGluL3JlbW90ZS5jOjE5CiBtc2dpZCAiIgogImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8Z3JvdXA+IHwgPHJlbW90ZT4pLi4uXSIKIG1zZ3N0ciAiIgogImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8Z3J1cHA+IHwgPGZqw6Rycj4pLi4uXSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOQorIzogYnVpbHRpbi9yZW1vdGUuYzoyMAogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIFstLWFkZF0gPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDxuYW1uPiA8Z3Jlbj4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjAgYnVpbHRpbi9yZW1vdGUuYzo2OAorIzogYnVpbHRpbi9yZW1vdGUuYzoyMSBidWlsdGluL3JlbW90ZS5jOjY5CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIFstLXB1c2hdIDxuYW1lPiA8bmV3dXJsPiBbPG9sZHVybD5dIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC11cmwgWy0tcHVzaF0gPG5hbW4+IDxueXVybD4gWzxnYW1tYWx1cmw+XSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMSBidWlsdGluL3JlbW90ZS5jOjY5CisjOiBidWlsdGluL3JlbW90ZS5jOjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzAKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC11cmwgLS1hZGQgPG5hbWU+IDxuZXd1cmw+IgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC11cmwgLS1hZGQgPG5hbW4+IDxueXVybD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjIgYnVpbHRpbi9yZW1vdGUuYzo3MAorIzogYnVpbHRpbi9yZW1vdGUuYzoyMyBidWlsdGluL3JlbW90ZS5jOjcxCiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tZGVsZXRlIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tZGVsZXRlIDxuYW1uPiA8dXJsPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyNworIzogYnVpbHRpbi9yZW1vdGUuYzoyOAogbXNnaWQgImdpdCByZW1vdGUgYWRkIFs8b3B0aW9ucz5dIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBhZGQgWzxmbGFnZ29yPl0gPG5hbW4+IDx1cmw+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQ3CisjOiBidWlsdGluL3JlbW90ZS5jOjQzCittc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxicmFuY2g+KSIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtbj4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxncmVuPikiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDgKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyA8bmFtZT4gPGJyYW5jaD4uLi4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIDxuYW1uPiA8Z3Jlbj4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDkKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyAtLWFkZCA8bmFtZT4gPGJyYW5jaD4uLi4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIC0tYWRkIDxuYW1uPiA8Z3Jlbj4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTQKIG1zZ2lkICJnaXQgcmVtb3RlIHNob3cgWzxvcHRpb25zPl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHNob3cgWzxmbGFnZ29yPl0gPG5hbW4+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjU4CisjOiBidWlsdGluL3JlbW90ZS5jOjU5CiBtc2dpZCAiZ2l0IHJlbW90ZSBwcnVuZSBbPG9wdGlvbnM+XSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgcHJ1bmUgWzxmbGFnZ29yPl0gPG5hbW4+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYzCisjOiBidWlsdGluL3JlbW90ZS5jOjY0CiBtc2dpZCAiZ2l0IHJlbW90ZSB1cGRhdGUgWzxvcHRpb25zPl0gWzxncm91cD4gfCA8cmVtb3RlPl0uLi4iCiBtc2dzdHIgImdpdCByZW1vdGUgdXBkYXRlIFs8ZmxhZ2dvcj5dIFs8Z3J1cHA+IHwgPGZqw6Rycj5dLi4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk4CisjOiBidWlsdGluL3JlbW90ZS5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzIgogbXNnc3RyICJVcHBkYXRlcmFyICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAKIG1zZ2lkICIiCiAiLS1taXJyb3IgaXMgZGFuZ2Vyb3VzIGFuZCBkZXByZWNhdGVkOyBwbGVhc2VcbiIKICJcdCB1c2UgLS1taXJyb3I9ZmV0Y2ggb3IgLS1taXJyb3I9cHVzaCBpbnN0ZWFkIgpAQCAtNzk0MSwxMDEgKzgyNDEsMTAxIEBACiAiLS1taXJyb3Igw6RyIGZhcmxpZyBvY2ggZsO2csOlbGRyYWQ7IGFudsOkbmRcbiIKICJcdCAtLW1pcnJvcj1mZXRjaCBlbGxlciAtLW1pcnJvcj1wdXNoIGlzdMOkbGxldCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gbWlycm9yIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAib2vDpG50IGFyZ3VtZW50IHRpbGwgbWlycm9yOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzCiBtc2dpZCAiZmV0Y2ggdGhlIHJlbW90ZSBicmFuY2hlcyIKIG1zZ3N0ciAiaMOkbXRhIGZqw6RycmdyZW5hcm5hIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTUKIG1zZ2lkICJpbXBvcnQgYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyB3aGVuIGZldGNoaW5nIgogbXNnc3RyICJpbXBvcnRlcmEgYWxsYSB0YWdnYXIgb2NoIGFzc29jaWVyYWRlIG9iamVrdCB2aWQgaMOkbXRuaW5nIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgKIG1zZ2lkICJvciBkbyBub3QgZmV0Y2ggYW55IHRhZyBhdCBhbGwgKC0tbm8tdGFncykiCiBtc2dzdHIgImVsbGVyIGjDpG10YSBpbnRlIG7DpWdyYSB0YWdnYXIgYWxscyAoLS1uby10YWdzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYwCiBtc2dpZCAiYnJhbmNoKGVzKSB0byB0cmFjayIKIG1zZ3N0ciAiZ3JlbihhcikgYXR0IHNww6VyYSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYxCiBtc2dpZCAibWFzdGVyIGJyYW5jaCIKIG1zZ3N0ciAiaHV2dWRncmVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE3MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjIKIG1zZ2lkICJwdXNofGZldGNoIgogbXNnc3RyICJwdXNofGZldGNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE3MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjMKIG1zZ2lkICJzZXQgdXAgcmVtb3RlIGFzIGEgbWlycm9yIHRvIHB1c2ggdG8gb3IgZmV0Y2ggZnJvbSIKIG1zZ3N0ciAic3TDpGxsIGluIGFya2l2IHNvbSBzcGVnZWwgYXR0IHPDpG5kYSBlbGxlciB0YSBlbW90IGZyw6VuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNzUKIG1zZ2lkICJzcGVjaWZ5aW5nIGEgbWFzdGVyIGJyYW5jaCBtYWtlcyBubyBzZW5zZSB3aXRoIC0tbWlycm9yIgogbXNnc3RyICJhdHQgYW5nZSBlbiBtYXN0ZXItZ3JlbiBnZXIgaW5nZW4gbWVuaW5nIG1lZCAtLW1pcnJvciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxODcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTc3CiBtc2dpZCAic3BlY2lmeWluZyBicmFuY2hlcyB0byB0cmFjayBtYWtlcyBzZW5zZSBvbmx5IHdpdGggZmV0Y2ggbWlycm9ycyIKIG1zZ3N0ciAiYXR0IGFuZ2UgZ3JlbmFyIGF0dCBzcMOlcmEgZ2VyIG1lbmluZyBiYXJhIG1lZCBow6RtdG5pbmdzc3BlZ2xhciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOTUgYnVpbHRpbi9yZW1vdGUuYzo2NDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg1IGJ1aWx0aW4vcmVtb3RlLmM6NjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW90ZSAlcyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgImZqw6RycmFya2l2ZXQgJXMgZmlubnMgcmVkYW4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5OSBidWlsdGluL3JlbW90ZS5jOjY1MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxODkgYnVpbHRpbi9yZW1vdGUuYzo2NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZW1vdGUgbmFtZSIKIG1zZ3N0ciAiXCIlc1wiIMOkciBpbnRlIGV0dCBnaWx0aWd0IG5hbW4gcMOlIGZqw6RycmFya2l2IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjI0MworIzogYnVpbHRpbi9yZW1vdGUuYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwIG1hc3RlciAnJXMnIgogbXNnc3RyICJLdW5kZSBpbnRlIHNrYXBhIG1hc3RlciBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6Mjk5CisjOiBidWlsdGluL3JlbW90ZS5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gb25lICVzIgogbXNnc3RyICJtZXIgw6RuIGVuICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjMzOQorIzogYnVpbHRpbi9yZW1vdGUuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGdldCBmZXRjaCBtYXAgZm9yIHJlZnNwZWMgJXMiCiBtc2dzdHIgIkt1bmRlIGludGUgaMOkbXRhIG1hcHBuaW5nIGbDtnIgcmVmZXJlbnNzcGVjaWZpa2F0aW9uICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQ0MCBidWlsdGluL3JlbW90ZS5jOjQ0OAorIzogYnVpbHRpbi9yZW1vdGUuYzo0MzUgYnVpbHRpbi9yZW1vdGUuYzo0NDMKIG1zZ2lkICIobWF0Y2hpbmcpIgogbXNnc3RyICIobWF0Y2hhbmRlKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0NTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDQ3CiBtc2dpZCAiKGRlbGV0ZSkiCiBtc2dzdHIgIih0YSBib3J0KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo1OTUgYnVpbHRpbi9yZW1vdGUuYzo2MDEgYnVpbHRpbi9yZW1vdGUuYzo2MDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTkwIGJ1aWx0aW4vcmVtb3RlLmM6NTk2IGJ1aWx0aW4vcmVtb3RlLmM6NjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBlbmQgJyVzJyB0byAnJXMnIgogbXNnc3RyICJLdW5kZSBpbnRlIHRpbGzDpG1wYSBcIiVzXCIgcMOlIFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MzkgYnVpbHRpbi9yZW1vdGUuYzo3OTIgYnVpbHRpbi9yZW1vdGUuYzo4OTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjM0IGJ1aWx0aW4vcmVtb3RlLmM6Nzg3IGJ1aWx0aW4vcmVtb3RlLmM6ODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlOiAlcyIKIG1zZ3N0ciAiSW5nZXQgc8OlZGFudCBmasOkcnJhcmtpdjogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU2CisjOiBidWlsdGluL3JlbW90ZS5jOjY1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVuYW1lIGNvbmZpZyBzZWN0aW9uICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBieXRhIG5hbW4gcMOlIGtvbmZpZ3VyYXRpb25zc2VrdGlvbmVuIFwiJXNcIiB0aWxsIFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NjIgYnVpbHRpbi9yZW1vdGUuYzo3OTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU3IGJ1aWx0aW4vcmVtb3RlLmM6Nzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgY29uZmlnIHNlY3Rpb24gJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSB0YSBib3J0IGtvbmZpZ3VyYXRpb25zc2VrdGlvbmVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgdXBkYXRpbmcgbm9uLWRlZmF1bHQgZmV0Y2ggcmVmc3BlY1xuIgpAQCAtODA0NiwzMiArODM0NiwzMiBAQAogIlx0JXNcbiIKICJcdFVwcGRhdGVyYSBrb25maWd1cmF0aW9uZW4gbWFudWVsbHQgb20gbsO2ZHbDpG5kaWd0LiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2ODMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBlbmQgJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBsw6RnZ2EgdGlsbCBww6UgXCIlc1wiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY5NAorIzogYnVpbHRpbi9yZW1vdGUuYzo2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldCAnJXMnIgogbXNnc3RyICJLdW5kZSBpbnRlIHPDpHR0YSBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzE2CisjOiBidWlsdGluL3JlbW90ZS5jOjcxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHRhIGJvcnQgXCIlc1wiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjc1MAorIzogYnVpbHRpbi9yZW1vdGUuYzo3NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3JlYXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzY0CisjOiBidWlsdGluL3JlbW90ZS5jOjc1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGJyYW5jaCAlcyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSB0YSBib3J0IGdyZW5lbiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo4MzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6ODI5CiBtc2dpZCAiIgogIk5vdGU6IEEgYnJhbmNoIG91dHNpZGUgdGhlIHJlZnMvcmVtb3Rlcy8gaGllcmFyY2h5IHdhcyBub3QgcmVtb3ZlZDtcbiIKICJ0byBkZWxldGUgaXQsIHVzZToiCkBAIC04MDg1LDI2NSArODM4NSwzMjYgQEAKICJPYnNlcnZlcmE6IE7DpWdyYSBncmVuYXIgdXRhbmbDtnIgaGllcmFya2luIHJlZnMvcmVtb3Rlcy8gdG9ncyBpbnRlIGJvcnQ7XG4iCiAiZsO2ciBhdHQgdGEgYm9ydCBkZW0sIGFudsOkbmQ6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk0MworIzogYnVpbHRpbi9yZW1vdGUuYzo5MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG5ldyAobmV4dCBmZXRjaCB3aWxsIHN0b3JlIGluIHJlbW90ZXMvJXMpIgogbXNnc3RyICIgbnkgKG7DpHN0YSBow6RtdG5pbmcgc3BhcmFyIGkgcmVtb3Rlcy8lcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjk0MQogbXNnaWQgIiB0cmFja2VkIgogbXNnc3RyICIgc3DDpXJhZCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQzCiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCiBtc2dzdHIgIiBmw7ZybGVnYWQgKGFudsOkbmQgXCJnaXQgcmVtb3RlIHBydW5lXCIgZsO2ciBhdHQgdGEgYm9ydCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTUwCisjOiBidWlsdGluL3JlbW90ZS5jOjk0NQogbXNnaWQgIiA/Pz8iCiBtc2dzdHIgIiA/Pz8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTkxCisjOiBidWlsdGluL3JlbW90ZS5jOjk4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJyYW5jaC4lcy5tZXJnZTsgY2Fubm90IHJlYmFzZSBvbnRvID4gMSBicmFuY2giCiBtc2dzdHIgIm9naWx0aWcgYnJhbmNoLiVzLm1lcmdlOyBrYW4gaW50ZSBvbWJhc2VyYSDDtnZlciA+IDEgZ3JlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5OTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCiBtc2dzdHIgIm9tYmFzZXJhcyBww6UgZmrDpHJyZW4gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAwMQorIzogYnVpbHRpbi9yZW1vdGUuYzo5OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiIHNhbW1hbnNsw6VzIG1lZCBmasOkcnJlbiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDAyCisjOiBidWlsdGluL3JlbW90ZS5jOjk5NwogbXNnaWQgIiAgICBhbmQgd2l0aCByZW1vdGUiCiBtc2dzdHIgIiAgICBvY2ggbWVkIGZqw6RycmVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMDQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAic2FtbWFuc2zDpXMgbWVkIGZqw6RycmVuICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAwMAogbXNnaWQgIiAgIGFuZCB3aXRoIHJlbW90ZSIKIG1zZ3N0ciAiICAgb2NoIG1lZCBmasOkcnJlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDYKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgInNrYXBhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0OQogbXNnaWQgImRlbGV0ZSIKIG1zZ3N0ciAidGEgYm9ydCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTMKIG1zZ2lkICJ1cCB0byBkYXRlIgogbXNnc3RyICLDoGpvdXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU2CiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKIG1zZ3N0ciAia2FuIHNuYWJic3BvbGFzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1OQogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICJsb2thbCBmw7Zyw6VsZHJhZCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDcxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgdHZpbmdhciB0aWxsICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDc0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgc8OkbmRlciB0aWxsICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDc4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyB0dmluZ2FyIHRpbGwgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnMgc8OkbmRlciB0aWxsICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwOTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NAogbXNnaWQgImRvIG5vdCBxdWVyeSByZW1vdGVzIgogbXNnc3RyICJmcsOlZ2EgaW50ZSBmasOkcnJhciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE4CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiByZW1vdGUgJXMiCiBtc2dzdHIgIiogZmrDpHJyICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZldGNoIFVSTDogJXMiCiBtc2dzdHIgIiAgSMOkbXQtVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTIwIGJ1aWx0aW4vcmVtb3RlLmM6MTI4NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTczIGJ1aWx0aW4vcmVtb3RlLmM6MTMxOAogbXNnaWQgIihubyBVUkwpIgogbXNnc3RyICIoaW5nZW4gVVJMKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTI5IGJ1aWx0aW4vcmVtb3RlLmM6MTEzMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgyIGJ1aWx0aW4vcmVtb3RlLmM6MTE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFB1c2ggIFVSTDogJXMiCiBtc2dzdHIgIiAgU8OkbmQtVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTMzIGJ1aWx0aW4vcmVtb3RlLmM6MTEzNSBidWlsdGluL3JlbW90ZS5jOjExMzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4NiBidWlsdGluL3JlbW90ZS5jOjExODggYnVpbHRpbi9yZW1vdGUuYzoxMTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgSEVBRCBicmFuY2g6ICVzIgogbXNnc3RyICIgIEhFQUQtZ3JlbjogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEzOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIEhFQUQgYnJhbmNoIChyZW1vdGUgSEVBRCBpcyBhbWJpZ3VvdXMsIG1heSBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyk6XG4iCiBtc2dzdHIgIiAgSEVBRC1ncmVuIChIRUFEIHDDpSBmasOkcnIgw6RyIHR2ZXR5ZGlnLCBrYW4gdmFyYSBlbiBhdiBmw7ZsamFuZGUpOlxuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFJlbW90ZSBicmFuY2g6JXMiCiBtc2dpZF9wbHVyYWwgIiAgUmVtb3RlIGJyYW5jaGVzOiVzIgogbXNnc3RyWzBdICIgIEZqw6RycmdyZW46JXMiCiBtc2dzdHJbMV0gIiAgRmrDpHJyZ3JlbmFyOiVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTQgYnVpbHRpbi9yZW1vdGUuYzoxMTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDcgYnVpbHRpbi9yZW1vdGUuYzoxMjM0CiBtc2dpZCAiIChzdGF0dXMgbm90IHF1ZXJpZWQpIgogbXNnc3RyICIgKHN0YXR1cyBpbnRlIGbDtnJmcsOlZ2FkKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYzCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMTYKIG1zZ2lkICIgIExvY2FsIGJyYW5jaCBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCBicmFuY2hlcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ3N0clswXSAiICBMb2thbCBncmVuIGtvbmZpZ3VyZXJhZCBmw7ZyIFwiZ2l0IHB1bGxcIjoiCiBtc2dzdHJbMV0gIiAgTG9rYWxhIGdyZW5hciBrb25maWd1cmVyYWRlIGbDtnIgXCJnaXQgcHVsbFwiOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTcxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjQKIG1zZ2lkICIgIExvY2FsIHJlZnMgd2lsbCBiZSBtaXJyb3JlZCBieSAnZ2l0IHB1c2gnIgogbXNnc3RyICIgIExva2FsYSByZWZlcmVuc2VyIHNwZWdsYXMgYXYgXCJnaXQgcHVzaFwiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIExvY2FsIHJlZiBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIHJlZnMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ3N0clswXSAiICBMb2thbCByZWZlcmVucyBrb25maWd1cmVyYWQgZsO2ciBcImdpdCBwdXNoXCIlczoiCiBtc2dzdHJbMV0gIiAgTG9rYWxhIHJlZmVyZW5zZXIga29uZmlndXJlcmFkZSBmw7ZyIFwiZ2l0IHB1c2hcIiVzOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk5CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNTIKIG1zZ2lkICJzZXQgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIGFjY29yZGluZyB0byByZW1vdGUiCiBtc2dzdHIgInPDpHR0IHJlZnMvcmVtb3Rlcy88bmFtbj4vSEVBRCBlbmxpZ3QgZmrDpHJyZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjU0CiBtc2dpZCAiZGVsZXRlIHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCIKIG1zZ3N0ciAidGEgYm9ydCByZWZzL3JlbW90ZXMvPG5hbW4+L0hFQUQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjY5CiBtc2dpZCAiQ2Fubm90IGRldGVybWluZSByZW1vdGUgSEVBRCIKIG1zZ3N0ciAiS2FuIGludGUgYmVzdMOkbW1hIEhFQUQgcMOlIGZqw6RycmVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3MQogbXNnaWQgIk11bHRpcGxlIHJlbW90ZSBIRUFEIGJyYW5jaGVzLiBQbGVhc2UgY2hvb3NlIG9uZSBleHBsaWNpdGx5IHdpdGg6IgogbXNnc3RyICJGbGVyYSBIRUFELWdyZW5hciBww6UgZmrDpHJyZW4uIFbDpGxqIGVuIGV4cGxpY2l0IG1lZDoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgJXMiCiBtc2dzdHIgIkt1bmRlIGludGUgdGEgYm9ydCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjM2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgcmVmOiAlcyIKIG1zZ3N0ciAiSW50ZSBlbiBnaWx0aWcgcmVmZXJlbnM6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgJXMiCiBtc2dzdHIgIkt1bmRlIGludGUgc3TDpGxsYSBpbiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjc0CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIHdpbGwgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzIGtvbW1lciBibGkgZGluZ2xhbmRlISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjc1CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIGhhcyBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMgaGFyIGJsaXZpdCBkaW5nbGFuZGUhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJQcnVuaW5nICVzIgogbXNnc3RyICJSZW5zYXIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVSTDogJXMiCiBtc2dzdHIgIlVSTDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFt3b3VsZCBwcnVuZV0gJXMiCiBtc2dzdHIgIiAqIFtza3VsbGUgcmVuc2FdICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbcHJ1bmVkXSAlcyIKIG1zZ3N0ciAiICogW3JlbnNhZF0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzc0CiBtc2dpZCAicHJ1bmUgcmVtb3RlcyBhZnRlciBmZXRjaGluZyIKIG1zZ3N0ciAicmVuc2EgZmrDpHJyYXIgZWZ0ZXIgaMOkbXRuaW5nIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzODcgYnVpbHRpbi9yZW1vdGUuYzoxNDYxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NDAgYnVpbHRpbi9yZW1vdGUuYzoxNTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCiBtc2dzdHIgIkluZ2VuIHPDpWRhbiBmasOkcnIgXCIlc1wiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MAogbXNnaWQgImFkZCBicmFuY2giCiBtc2dzdHIgImzDpGdnIHRpbGwgZ3JlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDE0CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjcKIG1zZ2lkICJubyByZW1vdGUgc3BlY2lmaWVkIgogbXNnc3RyICJpbmdlbiBmasOkcnIgYW5nYXZzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ4OQogbXNnaWQgIm1hbmlwdWxhdGUgcHVzaCBVUkxzIgogbXNnc3RyICJtYW5pcHVsZXJhIFVSTDphciBmw7ZyIHPDpG5kbmluZyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDM4CisjOiBidWlsdGluL3JlbW90ZS5jOjE0OTEKIG1zZ2lkICJhZGQgVVJMIgogbXNnc3RyICJsw6RnZyB0aWxsIFVSTCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQwCisjOiBidWlsdGluL3JlbW90ZS5jOjE0OTMKIG1zZ2lkICJkZWxldGUgVVJMcyIKIG1zZ3N0ciAidGEgYm9ydCBVUkw6YXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTAwCiBtc2dpZCAiLS1hZGQgLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWFkZCAtLWRlbGV0ZSBnZXIgaW5nZW4gbWVuaW5nIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0ODcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCiBtc2dzdHIgIkZlbGFrdGlnIGdhbW1hbHQgVVJMLW3Dtm5zdGVyOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDk1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgogbXNnc3RyICJJbmdlbiBzw6VkYW4gVVJMIGhpdHRhZGVzOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDk3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NTAKIG1zZ2lkICJXaWxsIG5vdCBkZWxldGUgYWxsIG5vbi1wdXNoIFVSTHMiCiBtc2dzdHIgIktvbW1lciBpbnRlIHRhIGJvcnQgYWxsYSBpY2tlLXPDpG5kLVVSTDplciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTY5CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NjQKIG1zZ2lkICJiZSB2ZXJib3NlOyBtdXN0IGJlIHBsYWNlZCBiZWZvcmUgYSBzdWJjb21tYW5kIgogbXNnc3RyICJ2YXIgcHJhdHNhbTsgbcOlc3RlIHNrcml2YXMgZsO2cmUgZXR0IHVuZGVya29tbWFuZG8iCiAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTUKK21zZ2lkICJnaXQgcmVwYWNrIFtvcHRpb25zXSIKK21zZ3N0ciAiZ2l0IHJlcGFjayBbZmxhZ2dvcl0iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTQzCittc2dpZCAicGFjayBldmVyeXRoaW5nIGluIGEgc2luZ2xlIHBhY2siCittc2dzdHIgInBhY2thIGFsbHQgaSBldHQgZW5kYSBwYWtldCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNDUKK21zZ2lkICJzYW1lIGFzIC1hLCBhbmQgdHVybiB1bnJlYWNoYWJsZSBvYmplY3RzIGxvb3NlIgorbXNnc3RyICJzYW1tYSBzb20gLWEsIG9jaCBnw7ZyIG9uw6ViYXJhIG9iamVrdCBsw7ZzYSIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNDgKK21zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCittc2dzdHIgInRhIGJvcnQgw7Z2ZXJmbMO2ZGlnYSBwYWtldCwgb2NoIGvDtnIgZ2l0LXBydW5lLXBhY2tlZCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTAKK21zZ2lkICJwYXNzIC0tbm8tcmV1c2UtZGVsdGEgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAic8OkbmQgLS1uby1yZXVzZS1kZWx0YSB0aWxsIGdpdC1wYWNrLW9iamVjdHMiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTUyCittc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICJzw6RuZCAtLW5vLXJldXNlLW9iamVjdCB0aWxsIGdpdC1wYWNrLW9iamVjdHMiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU0Cittc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgorbXNnc3RyICJrw7ZyIGludGUgZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTcKK21zZ2lkICJwYXNzIC0tbG9jYWwgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAic8OkbmQgLS1sb2NhbCB0aWxsIGdpdC1wYWNrLW9iamVjdHMiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU4Cittc2dpZCAiYXBwcm94aWRhdGUiCittc2dzdHIgImNpcmthZGF0dW0iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU5Cittc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKK21zZ3N0ciAibWVkIC1BLCBsw7ZzIGludGUgdXBwIG9iamVrdCDDpGxkcmUgw6RuIGRldHRhIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2MQorbXNnaWQgInNpemUgb2YgdGhlIHdpbmRvdyB1c2VkIGZvciBkZWx0YSBjb21wcmVzc2lvbiIKK21zZ3N0ciAic3RvcmxlayBww6UgZsO2bnN0ZXIgYW52w6RudCBmw7ZyIGRlbHRha29tcHJpbWVyaW5nIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2MworbXNnaWQgInNhbWUgYXMgdGhlIGFib3ZlLCBidXQgbGltaXQgbWVtb3J5IHNpemUgaW5zdGVhZCBvZiBlbnRyaWVzIGNvdW50IgorbXNnc3RyICJzYW1tYSBzb20gb3ZhbiwgbWVuIGJlZ3LDpG5zYSBtaW5uZXNzdG9ybGVrZW4gaXN0w6RsbGV0IGbDtnIgcG9zdGFudGFsIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2NQorbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIKK21zZ3N0ciAiYmVncsOkbnNhIG1heGltYWx0IGRlbHRhZGp1cCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjcKK21zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBwYWNrZmlsZSIKK21zZ3N0ciAibWF4aW1hbCBzdG9ybGVrIHDDpSB2YXJqZSBwYWtldGZpbCIKKworIzogYnVpbHRpbi9yZXBhY2suYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgJyVzJyBmYWlsZWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBib3J0IFwiJXNcIiIKKwogIzogYnVpbHRpbi9yZXBsYWNlLmM6MTcKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIDxvYmplY3Q+IDxyZXBsYWNlbWVudD4iCiBtc2dzdHIgImdpdCByZXBsYWNlIFstZl0gPG9iamVrdD4gPGVyc8OkdHRuaW5nPiIKQEAgLTgzNTMsMjYgKzg3MTQsMzAgQEAKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgLWQgPG9iamVrdD4uLi4iCiAKICM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE5Ci1tc2dpZCAiZ2l0IHJlcGxhY2UgLWwgWzxwYXR0ZXJuPl0iCi1tc2dzdHIgImdpdCByZXBsYWNlIC1sIFs8bcO2bnN0ZXI+XSIKK21zZ2lkICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PGZvcm1hdD5dIFstbCBbPHBhdHRlcm4+XV0iCittc2dzdHIgImdpdCByZXBsYWNlIFstLWZvcm1hdD08Zm9ybWF0Pl0gWy1sIFs8bcO2bnN0ZXI+XV0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEyMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTc0CiBtc2dpZCAibGlzdCByZXBsYWNlIHJlZnMiCiBtc2dzdHIgInZpc2EgZXJzw6R0dG5pbmdzcmVmZXJlbnNlciIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIyCisjOiBidWlsdGluL3JlcGxhY2UuYzoxNzUKIG1zZ2lkICJkZWxldGUgcmVwbGFjZSByZWZzIgogbXNnc3RyICJ0YSBib3J0IGVyc8OkdHRuaW5nc3JlZmVyZW5zZXIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEyMworIzogYnVpbHRpbi9yZXBsYWNlLmM6MTc2CiBtc2dpZCAicmVwbGFjZSB0aGUgcmVmIGlmIGl0IGV4aXN0cyIKIG1zZ3N0ciAiZXJzw6R0dCByZWZlcmVuc2VuIG9tIGRlbiBmaW5ucyIKIAotIzogYnVpbHRpbi9yZXJlcmUuYzoxMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTc3Cittc2dpZCAidXNlIHRoaXMgZm9ybWF0IgorbXNnc3RyICJhbnbDpG5kIGRldHRhIGZvcm1hdCIKKworIzogYnVpbHRpbi9yZXJlcmUuYzoxMgogbXNnaWQgImdpdCByZXJlcmUgW2NsZWFyIHwgZm9yZ2V0IHBhdGguLi4gfCBzdGF0dXMgfCByZW1haW5pbmcgfCBkaWZmIHwgZ2NdIgogbXNnc3RyICJnaXQgcmVyZXJlIFtjbGVhciB8IGZvcmdldCBwYXRoLi4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKIAotIzogYnVpbHRpbi9yZXJlcmUuYzo1NgorIzogYnVpbHRpbi9yZXJlcmUuYzo1NwogbXNnaWQgInJlZ2lzdGVyIGNsZWFuIHJlc29sdXRpb25zIGluIGluZGV4IgogbXNnc3RyICJyZWdpc3RyZXJhIHJlbmEgbMO2c25pbmdhciBpIGluZGV4ZXQiCiAKQEAgLTg0MzMsODYgKzg3OTgsOTAgQEAKIG1zZ2lkICJDYW5ub3QgZG8gYSAlcyByZXNldCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UuIgogbXNnc3RyICJLYW4gaW50ZSB1dGbDtnJhIGVuICVzIMOldGVyc3TDpGxsbmluZyBtaXR0IGkgZW4gc2FtbWFuc2xhZ25pbmcuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjUxCisjOiBidWlsdGluL3Jlc2V0LmM6MjYyCiBtc2dpZCAiYmUgcXVpZXQsIG9ubHkgcmVwb3J0IGVycm9ycyIKIG1zZ3N0ciAidmFyIHR5c3QsIHJhcHBvcnRlcmEgZW5kYXN0IGZlbCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI1MworIzogYnVpbHRpbi9yZXNldC5jOjI2NAogbXNnaWQgInJlc2V0IEhFQUQgYW5kIGluZGV4IgogbXNnc3RyICLDpXRlcnN0w6RsbCBIRUFEIG9jaCBpbmRleCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI1NAorIzogYnVpbHRpbi9yZXNldC5jOjI2NQogbXNnaWQgInJlc2V0IG9ubHkgSEVBRCIKIG1zZ3N0ciAiw6V0ZXJzdMOkbGwgZW5kYXN0IEhFQUQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTYgYnVpbHRpbi9yZXNldC5jOjI1OAorIzogYnVpbHRpbi9yZXNldC5jOjI2NyBidWlsdGluL3Jlc2V0LmM6MjY5CiBtc2dpZCAicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiw6V0ZXJzdMOkbGwgSEVBRCwgaW5kZXggb2NoIGFyYmV0c2thdGFsb2ciCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNjAKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNzEKIG1zZ2lkICJyZXNldCBIRUFEIGJ1dCBrZWVwIGxvY2FsIGNoYW5nZXMiCiBtc2dzdHIgIsOldGVyc3TDpGxsIEhFQUQgbWVuIGJlaMOlbGwgbG9rYWxhIMOkbmRyaW5nYXIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNzgKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJldmlzaW9uLiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBzbMOlIHVwcCBcIiVzXCIgc29tIGVuIGdpbHRpZyByZXZpc2lvbi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODEgYnVpbHRpbi9yZXNldC5jOjI4OQorIzogYnVpbHRpbi9yZXNldC5jOjI5MiBidWlsdGluL3Jlc2V0LmM6MzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJy4iCiBtc2dzdHIgIkthbiBpbnRlIHRvbGthIG9iamVrdGV0IFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4NgorIzogYnVpbHRpbi9yZXNldC5jOjI5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgdHJlZS4iCiBtc2dzdHIgIkt1bmRlIGludGUgc2zDpSB1cHAgXCIlc1wiIHNvbSBldHQgZ2lsdGlndCB0csOkZC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTUKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDYKIG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIC0te2hhcmQsbWl4ZWQsc29mdH0iCiBtc2dzdHIgIi0tcGF0Y2ggw6RyIGlua29tcGF0aWJlbCBtZWQgLS17aGFyZCxtaXhlZCxzb2Z0fSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMwNAorIzogYnVpbHRpbi9yZXNldC5jOjMxNQogbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIi0tbWl4ZWQgcmVrb21tZW5kZXJhcyBpbnRlIG1lZCBzw7ZrdsOkZ2FyOyBhbnbDpG5kIFwiZ2l0IHJlc2V0IC0tIDxzw7ZrdsOkZ2FyPlwiLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMwNgorIzogYnVpbHRpbi9yZXNldC5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gJXMgcmVzZXQgd2l0aCBwYXRocy4iCiBtc2dzdHIgIkthbiBpbnRlIGfDtnJhICVzIMOldGVyc3TDpGxsbmluZyBtZWQgc8O2a3bDpGdhci4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMTYKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcmVzZXQgaXMgbm90IGFsbG93ZWQgaW4gYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiVzIMOldGVyc3TDpGxsbmluZyB0aWxsw6V0cyBpbnRlIGkgZXR0IG5ha2V0IGFya2l2IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzM2CisjOiBidWlsdGluL3Jlc2V0LmM6MzQ0Cittc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZXNldDoiCittc2dzdHIgIk9rw7ZhZGUgw6RuZHJpbmdhciBlZnRlciDDpXRlcnN0w6RsbG5pbmc6IgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIgogbXNnc3RyICJLdW5kZSBpbnRlIMOldGVyc3TDpGxsYSBpbmRleGZpbGVuIHRpbGwgdmVyc2lvbmVuIFwiJXNcIi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDIKLW1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKLW1zZ3N0ciAiT2vDtmFkZSDDpG5kcmluZ2FyIGVmdGVyIMOldGVyc3TDpGxsbmluZzoiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDcKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTUKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgbmV3IGluZGV4IGZpbGUuIgogbXNnc3RyICJLdW5kZSBpbnRlIHNrcml2YSBueSBpbmRleGZpbC4iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzQ1CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM1OQogbXNnaWQgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbb3B0aW9uc10gLS0gWzxhcmdzPi4uLl0iCiBtc2dzdHIgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbb3B0aW9uc10gLS0gWzxhcmd1bWVudD4uLi5dIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM1MAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjQKIG1zZ2lkICJrZWVwIHRoZSBgLS1gIHBhc3NlZCBhcyBhbiBhcmciCiBtc2dzdHIgImJlaMOlbGwgXCItLVwiIHPDpG50IHNvbSBhcmd1bWVudCIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNTIKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzY2CiBtc2dpZCAic3RvcCBwYXJzaW5nIGFmdGVyIHRoZSBmaXJzdCBub24tb3B0aW9uIGFyZ3VtZW50IgogbXNnc3RyICJzbHV0YSB0b2xrYSBlZnRlciBmw7Zyc3RhIGFyZ3VtZW50IHNvbSBpbnRlIMOkciBmbGFnZ2EiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDcwCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM2OQorbXNnaWQgIm91dHB1dCBpbiBzdHVjayBsb25nIGZvcm0iCittc2dzdHIgInV0ZGF0YSBmYXN0IGkgbMOlbmcgZm9ybSIKKworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0ODYKIG1zZ2lkICIiCiAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFtvcHRpb25zXSAtLSBbPGFyZ3M+Li4uXVxuIgogIiAgIG9yOiBnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgWzxhcmc+Li4uXVxuIgpAQCAtODU0Myw4NCArODkxMiw4NCBAQAogbXNnaWQgImdpdCBjaGVycnktcGljayA8c3ViY29tbWFuZD4iCiBtc2dzdHIgImdpdCBjaGVycnktcGljayA8dW5kZXJrb21tYW5kbz4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6NzEgYnVpbHRpbi9yZXZlcnQuYzo5NAorIzogYnVpbHRpbi9yZXZlcnQuYzo3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXMgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAiJXM6ICVzIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgJXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CisjOiBidWlsdGluL3JldmVydC5jOjgwCiBtc2dpZCAiZW5kIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiYXZzbHV0YSByZXZlcnQtIGVsbGVyIGNoZXJyeS1waWNrLXNla3ZlbnMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CisjOiBidWlsdGluL3JldmVydC5jOjgxCiBtc2dpZCAicmVzdW1lIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiw6V0ZXJ1cHB0YSByZXZlcnQtIGVsbGVyIGNoZXJyeS1waWNrLXNla3ZlbnMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3CisjOiBidWlsdGluL3JldmVydC5jOjgyCiBtc2dpZCAiY2FuY2VsIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiYXZicnl0IHJldmVydC0gZWxsZXIgY2hlcnJ5LXBpY2stc2VrdmVucyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODMKIG1zZ2lkICJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIKIG1zZ3N0ciAiY2hlY2thIGludGUgaW4gYXV0b21hdGlza3QiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA5CisjOiBidWlsdGluL3JldmVydC5jOjg0CiBtc2dpZCAiZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgInJlZGlnZXJhIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IgogCi0jOiBidWlsdGluL3JldmVydC5jOjExMgorIzogYnVpbHRpbi9yZXZlcnQuYzo4NwogbXNnaWQgInBhcmVudCBudW1iZXIiCiBtc2dzdHIgIm51bW1lciBww6UgZsO2csOkbGRlciIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTQKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAic2FtbWFuc2xhZ25pbnNzdHJhdGVnaSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTAKIG1zZ2lkICJvcHRpb24iCiBtc2dzdHIgImFsdGVybmF0aXYiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE2CisjOiBidWlsdGluL3JldmVydC5jOjkxCiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAiYWx0ZXJuYXRpdiBmb8yIciBzYW1tYW5zbGFnbmluZ3NzdHJhdGVnaSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjcKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCiBtc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgogbXNnc3RyICJsw6RnZyB0aWxsIGluY2hlY2tuaW5nc25hbW4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI4CisjOiBidWlsdGluL3JldmVydC5jOjEwMwogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAidGlsbMOldCBzbmFiYnNwb2xuaW5nIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyOQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAiYmVow6VsbCBpbmNoZWNrbmluZ2FyIHNvbSBiw7ZyamFyIHNvbSB0b21tYSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMzAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CiBtc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgogbXNnc3RyICJ0aWxsw6V0IGluY2hlY2tuaW5nYXIgbWVkIHRvbXQgbWVkZGVsYW5kZSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMzEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CiBtc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgImJlaMOlbGwgcmVkdW5kYW50YSwgdG9tbWEgaW5jaGVja25pbmdhciIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMzUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCiBtc2dpZCAicHJvZ3JhbSBlcnJvciIKIG1zZ3N0ciAicHJvZ3JhbWZlbCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMjUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTk1CiBtc2dpZCAicmV2ZXJ0IGZhaWxlZCIKIG1zZ3N0ciAiXCJyZXZlcnRcIiBtaXNzbHlja2FkZXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjQwCisjOiBidWlsdGluL3JldmVydC5jOjIxMAogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAiXCJjaGVycnktcGlja1wiIG1pc3NseWNrYWRlcyIKIAotIzogYnVpbHRpbi9ybS5jOjE2CisjOiBidWlsdGluL3JtLmM6MTcKIG1zZ2lkICJnaXQgcm0gW29wdGlvbnNdIFstLV0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgcm0gW2ZsYWdnb3JdIFstLV0gPGZpbD4uLi4iCiAKLSM6IGJ1aWx0aW4vcm0uYzo2NAorIzogYnVpbHRpbi9ybS5jOjY1CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIChvciBvbmUgb2YgaXRzIG5lc3RlZCBzdWJtb2R1bGVzKVxuIgogInVzZXMgYSAuZ2l0IGRpcmVjdG9yeToiCkBAIC04NjM0LDcgKzkwMDMsNyBAQAogImbDtmxqYW5kZSB1bmRlcm1vZHVsZXIgKGVsbGVyIGVuIGF2IGRlcmFzIG7DpHN0bGFkZSB1bmRlcm1vZHVsZXIpXG4iCiAiYW52w6RuZGVyIGVuIC5naXQta2F0YWxvZzoiCiAKLSM6IGJ1aWx0aW4vcm0uYzo3MAorIzogYnVpbHRpbi9ybS5jOjcxCiBtc2dpZCAiIgogIlxuIgogIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKQEAgLTg2NDIsNyArOTAxMSw3IEBACiAiXG4iCiAiKGFudsOkbmQgXCJybSAtcmZcIiBvbSBkdSB2ZXJrbGlnZW4gdmlsbCB0YSBib3J0IGRlbiBvY2ggYWxsIGRlc3MgaGlzdG9yaWspIgogCi0jOiBidWlsdGluL3JtLmM6MjMwCisjOiBidWlsdGluL3JtLmM6MjMxCiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKICJmaWxlIGFuZCB0aGUgSEVBRDoiCkBAIC04NjU0LDcgKzkwMjMsNyBAQAogbXNnc3RyWzFdICIiCiAiZsO2bGphbmRlIGZpbGVyIGhhciBrw7ZhdCBpbm5laMOlbGwgc29tIHNraWxqZXIgc2lnIGLDpWRlIGZyw6VuIGZpbGVuIG9jaCBIRUFEOiIKIAotIzogYnVpbHRpbi9ybS5jOjIzNQorIzogYnVpbHRpbi9ybS5jOjIzNgogbXNnaWQgIiIKICJcbiIKICIodXNlIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtODY2MiwxMyArOTAzMSwxMyBAQAogIlxuIgogIihhbnbDpG5kIC1mIGbDtnIgYXR0IHR2aW5nYSBib3J0dGFnbmluZykiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMzkKKyM6IGJ1aWx0aW4vcm0uYzoyNDAKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnc3RyWzBdICJmw7ZsamFuZGUgZmlsIGhhciDDpG5kcmluZ2FyIGvDtmFkZSBpIGluZGV4ZXQ6IgogbXNnc3RyWzFdICJmw7ZsamFuZGUgZmlsZXIgaGFyIMOkbmRyaW5nYXIga8O2YWRlIGkgaW5kZXhldDoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDMgYnVpbHRpbi9ybS5jOjI1NAorIzogYnVpbHRpbi9ybS5jOjI0NCBidWlsdGluL3JtLmM6MjU1CiBtc2dpZCAiIgogIlxuIgogIih1c2UgLS1jYWNoZWQgdG8ga2VlcCB0aGUgZmlsZSwgb3IgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCkBAIC04Njc2LDM4ICs5MDQ1LDM4IEBACiAiXG4iCiAiKGFudsOkbmQgLS1jYWNoZWQgZsO2ciBhdHQgYmVow6VsbGEgZmlsZW4gZWxsZXIgLWYgZsO2ciBhdHQgdHZpbmdhIGJvcnR0YWduaW5nKSIKIAotIzogYnVpbHRpbi9ybS5jOjI1MQorIzogYnVpbHRpbi9ybS5jOjI1MgogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAiZsO2bGphbmRlIGZpbCBoYXIgbG9rYWxhIMOkbmRyaW5nYXI6IgogbXNnc3RyWzFdICJmw7ZsamFuZGUgZmlsZXIgaGFyIGxva2FsYSDDpG5kcmluZ2FyOiIKIAotIzogYnVpbHRpbi9ybS5jOjI2OQorIzogYnVpbHRpbi9ybS5jOjI3MAogbXNnaWQgImRvIG5vdCBsaXN0IHJlbW92ZWQgZmlsZXMiCiBtc2dzdHIgImxpc3RhIGludGUgYm9ydHRhZ25hIGZpbGVyIgogCi0jOiBidWlsdGluL3JtLmM6MjcwCisjOiBidWlsdGluL3JtLmM6MjcxCiBtc2dpZCAib25seSByZW1vdmUgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgInRhIGJhcmEgYm9ydCBmcsOlbiBpbmRleGV0IgogCi0jOiBidWlsdGluL3JtLmM6MjcxCisjOiBidWlsdGluL3JtLmM6MjcyCiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgIsO2dmVyc3R5ciDDoGpvdXItdGVzdGV0IgogCi0jOiBidWlsdGluL3JtLmM6MjcyCisjOiBidWlsdGluL3JtLmM6MjczCiBtc2dpZCAiYWxsb3cgcmVjdXJzaXZlIHJlbW92YWwiCiBtc2dzdHIgInRpbGzDpXQgcmVrdXJzaXYgYm9ydHRhZ25pbmciCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNzQKKyM6IGJ1aWx0aW4vcm0uYzoyNzUKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAiYXZzbHV0YSBtZWQgbm9sbHN0YXR1cyDDpHZlbiBvbSBpbmdldCB0csOkZmZhZGVzIgogCi0jOiBidWlsdGluL3JtLmM6MzQ1CisjOiBidWlsdGluL3JtLmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCByZW1vdmluZyAnJXMnIHJlY3Vyc2l2ZWx5IHdpdGhvdXQgLXIiCiBtc2dzdHIgInRhciBpbnRlIGJvcnQgXCIlc1wiIHJla3Vyc2l2dCB1dGFuIC1yIgogCi0jOiBidWlsdGluL3JtLmM6Mzg0CisjOiBidWlsdGluL3JtLmM6Mzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBybTogdW5hYmxlIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAiZ2l0IHJtOiBrYW4gaW50ZSB0YSBib3J0ICVzIgpAQCAtODcyMSwyMyArOTA5MCwyMyBAQAogbXNnaWQgIk1pc3NpbmcgYXV0aG9yOiAlcyIKIG1zZ3N0ciAiRsO2cmZhdHRhcmUgc2FrbmFzOiAlcyIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIyOAorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMAogbXNnaWQgInNvcnQgb3V0cHV0IGFjY29yZGluZyB0byB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgcGVyIGF1dGhvciIKIG1zZ3N0ciAic29ydGVyYSB1dGRhdGEgZW5saWd0IGFudGFsIGluY2hlY2tuaW5nYXIgcGVyIGbDtnJmYXR0YXJlIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjMwCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjMyCiBtc2dpZCAiU3VwcHJlc3MgY29tbWl0IGRlc2NyaXB0aW9ucywgb25seSBwcm92aWRlcyBjb21taXQgY291bnQiCiBtc2dzdHIgIlVuZGVydHJ5Y2sgYmVza3Jpdm5pbmdhciwgdmlzYSBiYXJhIGFudGFsIGluY2hlY2tuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzIKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzQKIG1zZ2lkICJTaG93IHRoZSBlbWFpbCBhZGRyZXNzIG9mIGVhY2ggYXV0aG9yIgogbXNnc3RyICJWaXNhIGUtcG9zdGFkcmVzcyBmw7ZyIHZhcmplIGbDtnJmYXR0YXJlIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjMzCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjM1CiBtc2dpZCAid1ssaTFbLGkyXV0iCiBtc2dzdHIgIndbLGkxWyxpMl1dIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjM0CisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjM2CiBtc2dpZCAiTGluZXdyYXAgb3V0cHV0IgogbXNnc3RyICJSYWRicnl0IHV0ZGF0YSIKIApAQCAtODc1Nyw2NyArOTEyNiw2NyBAQAogbXNnaWQgImdpdCBzaG93LWJyYW5jaCAoLWd8LS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmVmPl0iCiBtc2dzdHIgImdpdCBzaG93LWJyYW5jaCAoLWd8LS1yZWZsb2cpWz08bj5bLDxiYXM+XV0gWy0tbGlzdF0gWzxyZWY+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OQogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAidmlzYSBmasOkcnJzcMOlcmFuZGUgb2NoIGxva2FsYSBncmVuYXIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTEKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAidmlzYSBmasOkcnJzcMOlcmFuZGUgZ3JlbmFyIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUzCiBtc2dpZCAiY29sb3IgJyohKy0nIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGJyYW5jaCIKIG1zZ3N0ciAiZsOkcmdhIFwiKiErLVwiIGVubGlndCBncmVuZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUKIG1zZ2lkICJzaG93IDxuPiBtb3JlIGNvbW1pdHMgYWZ0ZXIgdGhlIGNvbW1vbiBhbmNlc3RvciIKIG1zZ3N0ciAidmlzYSA8bj4geXR0ZXJsaWdhcmUgaW5jaGVja25pbmdhciBlZnRlciBnZW1lbnNhbSBhbmZhZGVyIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU3CiBtc2dpZCAic3lub255bSB0byBtb3JlPS0xIgogbXNnc3RyICJzeW5vbnltIHRpbGwgbW9yZT0tMSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OAogbXNnaWQgInN1cHByZXNzIG5hbWluZyBzdHJpbmdzIgogbXNnc3RyICJ1bmRlcnR5Y2sgbmFtbnN0csOkbmdhciIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MAogbXNnaWQgImluY2x1ZGUgdGhlIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICJpbmtsdWRlcmEgYWt0dWVsbCBncmVuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYyCiBtc2dpZCAibmFtZSBjb21taXRzIHdpdGggdGhlaXIgb2JqZWN0IG5hbWVzIgogbXNnc3RyICJuYW1uZ2UgaW5jaGVja25pbmdhciBtZWQgZGVyYXMgb2JqZWt0bmFtbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NAogbXNnaWQgInNob3cgcG9zc2libGUgbWVyZ2UgYmFzZXMiCiBtc2dzdHIgInZpc2EgbcO2amxpZ2Egc2FtbWFuc2xhbmluZ3NiYXNlciIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NgogbXNnaWQgInNob3cgcmVmcyB1bnJlYWNoYWJsZSBmcm9tIGFueSBvdGhlciByZWYiCiBtc2dzdHIgInZpc2EgcmVmZXJlbnNlciBzb20gaW50ZSBrYW4gbsOlcyBmcsOlbiBuw6Vnb24gYW5uYW4gcmVmZXJlbnMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgInZpc2EgaW5jaGVja25pbmdhciBpIHRvcG9sb2dpc2sgb3JkbmluZyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MQogbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgogbXNnc3RyICJ2aXNhIGVuZGFzdCBpbmNoZWNrbmluZ2FyIGludGUgcMOlIGRlbiBmw7Zyc3RhIGdyZW5lbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MwogbXNnaWQgInNob3cgbWVyZ2VzIHJlYWNoYWJsZSBmcm9tIG9ubHkgb25lIHRpcCIKIG1zZ3N0ciAidmlzYSBzYW1tYW5zbGFnbmluZ2FyIHNvbSBlbmRhc3Qga2FuIG7DpXMgZnLDpW4gZW4gc3BldHMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzUKIG1zZ2lkICJ0b3BvbG9naWNhbGx5IHNvcnQsIG1haW50YWluaW5nIGRhdGUgb3JkZXIgd2hlcmUgcG9zc2libGUiCiBtc2dzdHIgInNvcnRlcmEgdG9wb2xvZ2lza3QsIGJlaMOlbGwgZGF0dW1vcmRuaW5nIG7DpHIgbcO2amxpZ3QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzgKIG1zZ2lkICI8bj5bLDxiYXNlPl0iCiBtc2dzdHIgIjxuPlssPGJhcz5dIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjgwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc5CiBtc2dpZCAic2hvdyA8bj4gbW9zdCByZWNlbnQgcmVmLWxvZyBlbnRyaWVzIHN0YXJ0aW5nIGF0IGJhc2UiCiBtc2dzdHIgInZpc2EgPG4+IG55YXN0ZSByZWZsb2dncG9zdGVyIG1lZCBiw7ZyamFuIHDDpSBiYXMiCiAKQEAgLTg4NDUsMjMgKzkyMTQsMjMgQEAKIG1zZ2lkICJzdHJpY3RlciByZWZlcmVuY2UgY2hlY2tpbmcsIHJlcXVpcmVzIGV4YWN0IHJlZiBwYXRoIgogbXNnc3RyICJzdHJpa3RhcmUgcmVmZXJlbnNrb250cm9sbCwga3LDpHZlciBleGFrdCByZWZlcmVuc3PDtmt2w6RnIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTczIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzYKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzMgYnVpbHRpbi9zaG93LXJlZi5jOjE3NQogbXNnaWQgInNob3cgdGhlIEhFQUQgcmVmZXJlbmNlLCBldmVuIGlmIGl0IHdvdWxkIGJlIGZpbHRlcmVkIG91dCIKIG1zZ3N0ciAidmlzYSBIRUFELXJlZnJlbnMsIMOkdmVuIG7DpHIgZGVuIHNrdWxsZSBmaWx0cmVyYXMgdXQiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzgKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzcKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGludG8gb2JqZWN0IElEcyIKIG1zZ3N0ciAiYXZyZWZlcmVyYSB0YWdnYXIgdGlsbCBvYmpla3QtaWQiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODAKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKIG1zZ2lkICJvbmx5IHNob3cgU0hBMSBoYXNoIHVzaW5nIDxuPiBkaWdpdHMiCiBtc2dzdHIgInZpc2EgU0hBMS1oYXNoIGVuZGFzdCBtZWQgPG4+IHNpZmZyb3IiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODQKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODMKIG1zZ2lkICJkbyBub3QgcHJpbnQgcmVzdWx0cyB0byBzdGRvdXQgKHVzZWZ1bCB3aXRoIC0tdmVyaWZ5KSIKIG1zZ3N0ciAidmlzYSBpbnRlIHJlc3VsdGF0IHDDpSBzdGFuZGFyZCB1dCAoYW52w6RuZGJhcnQgbWVkIC0tdmVyaWZ5KSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4NQogbXNnaWQgInNob3cgcmVmcyBmcm9tIHN0ZGluIHRoYXQgYXJlbid0IGluIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgInZpc2EgcmVmZXJlbnNlciBmcsOlbiBzdGFuZGFyZCBpbiBzb20gaW50ZSBmaW5ucyBpIGxva2FsdCBhcmtpdiIKIApAQCAtODg4NiwxMSArOTI1NSwxMSBAQAogbXNnaWQgInNob3J0ZW4gcmVmIG91dHB1dCIKIG1zZ3N0ciAiZsO2cmtvcnRhIHJlZi11dGRhdGEiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MTgKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU0CiBtc2dpZCAicmVhc29uIgogbXNnc3RyICJza8OkbCIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoxOAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTQKIG1zZ2lkICJyZWFzb24gb2YgdGhlIHVwZGF0ZSIKIG1zZ3N0ciAic2vDpGwgdGlsbCB1cHBkYXRlcmluZ2VuIgogCkBAIC05MDU1LDE4MyArOTQyNCwxOTUgQEAKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgdGFnZ2FyIGbDtnIgb2JqZWt0ZXQiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTA0CisjOiBidWlsdGluL3RhZy5jOjUwMQogbXNnaWQgIi0tY29sdW1uIGFuZCAtbiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWNvbHVtbiBvY2ggLW4gw6RyIGlua29tcGF0aWJsYSIKIAotIzogYnVpbHRpbi90YWcuYzo1MjEKKyM6IGJ1aWx0aW4vdGFnLmM6NTE4CiBtc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKIG1zZ3N0ciAiRmxhZ2dhbiAtbiDDpHIgZW5kYXN0IHRpbGzDpXRlbiB0aWxsc2FtbWFucyBtZWQgLWwuIgogCi0jOiBidWlsdGluL3RhZy5jOjUyMworIzogYnVpbHRpbi90YWcuYzo1MjAKIG1zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCiBtc2dzdHIgIkZsYWdnYW4gLS1jb250YWlucyDDpHIgZW5kYXN0IHRpbGzDpXRlbiB0aWxsc2FtbWFucyBtZWQgLWwiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTI1CisjOiBidWlsdGluL3RhZy5jOjUyMgogbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCiBtc2dzdHIgIkZsYWdnYW4gLS1wb2ludHMtYXQgw6RyIGVuZGFzdCB0aWxsw6V0ZW4gdGlsbHNhbW1hbnMgbWVkIC1sLiIKIAotIzogYnVpbHRpbi90YWcuYzo1MzMKKyM6IGJ1aWx0aW4vdGFnLmM6NTMwCiBtc2dpZCAib25seSBvbmUgLUYgb3IgLW0gb3B0aW9uIGlzIGFsbG93ZWQuIgogbXNnc3RyICJlbmRhc3QgZW4gYXYgZmxhZ2dvcm5hIC1GIGVsbGVyIC1tIHRpbGzDpXRzLiIKIAotIzogYnVpbHRpbi90YWcuYzo1NTMKKyM6IGJ1aWx0aW4vdGFnLmM6NTUwCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1zIgogbXNnc3RyICJmw7ZyIG3DpW5nYSBwYXJhbWV0cmFyIgogCi0jOiBidWlsdGluL3RhZy5jOjU1OQorIzogYnVpbHRpbi90YWcuYzo1NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0YWcgbmFtZS4iCiBtc2dzdHIgIlwiJXNcIiDDpHIgaW50ZSBldHQgZ2lsdGlndCB0YWdnbmFtbi4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTY0CisjOiBidWlsdGluL3RhZy5jOjU2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAidGFnZ2VuIFwiJXNcIiBmaW5ucyByZWRhbiIKIAotIzogYnVpbHRpbi90YWcuYzo1ODIKKyM6IGJ1aWx0aW4vdGFnLmM6NTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbG9jayB0aGUgcmVmIgogbXNnc3RyICIlczoga2FuIGludGUgbMOlc2EgcmVmZXJlbnNlbiIKIAotIzogYnVpbHRpbi90YWcuYzo1ODQKKyM6IGJ1aWx0aW4vdGFnLmM6NTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdXBkYXRlIHRoZSByZWYiCiBtc2dzdHIgIiVzOiBrYW4gaW50ZSB1cHBkYXRlcmEgcmVmZXJlbnNlbiIKIAotIzogYnVpbHRpbi90YWcuYzo1ODYKKyM6IGJ1aWx0aW4vdGFnLmM6NTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiVXBwZGF0ZXJhZCB0YWdnIFwiJXNcIiAodmFyICVzKVxuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjQwMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo0MDIKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFtvcHRpb25zXSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgdXBkYXRlLWluZGV4IFtmbGFnZ29yXSBbLS1dIFs8ZmlsPi4uLl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzE4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyMAogbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKIG1zZ3N0ciAiZm9ydHPDpHR0IHVwcGRhdGVyYSDDpHZlbiBuw6RyIGluZGV4IGludGUgw6RyIMOgam91ciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzIzCiBtc2dpZCAicmVmcmVzaDogaWdub3JlIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInJlZnJlc2g6IGlnbm9yZXJhIHVuZGVybW9kdWxlciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI2CiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgImlnbm9yZXJhIGludGUgbnlhIGZpbGVyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjgKIG1zZ2lkICJsZXQgZmlsZXMgcmVwbGFjZSBkaXJlY3RvcmllcyBhbmQgdmljZS12ZXJzYSIKIG1zZ3N0ciAibMOldCBmaWxlciBlcnPDpHR0YSBrYXRhbG9nZXIgb2NoIG9tdsOkbnQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczMAogbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImzDpGdnIG3DpHJrZSB0aWxsIGZpbGVyIHNvbSBzYWtuYXMgaSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczMgogbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICJ1cHBkYXRlcmEgw6R2ZW4gb20gaW5kZXhldCBpbm5laMOlbGxlciBlaiBzYW1tYW5zbGFnbmEgcG9zdGVyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzUKIG1zZ2lkICJyZWZyZXNoIHN0YXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgInVwcGRhdGVyYSBzdGF0dXNpbmZvcm1hdGlvbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzM5CiBtc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgogbXNnc3RyICJzb20gLS1yZWZyZXNoLCBtZW4gaWdub3JlcmEgYXNzdW1lLXVuY2hhbmdlZC1pbnN0w6RsbG5pbmciCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0MwogbXNnaWQgIjxtb2RlPiA8b2JqZWN0PiA8cGF0aD4iCiBtc2dzdHIgIjxsw6RnZT4gPG9iamVrdD4gPHPDtmt2w6RnPiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ0CiBtc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgogbXNnc3RyICJsw6RnZyB0aWxsIGFuZ2l2ZW4gcG9zdCBpIGluZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0OAogbXNnaWQgIigrLy0peCIKIG1zZ3N0ciAiKCsvLSl4IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDkKIG1zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKIG1zZ3N0ciAiw7Z2ZXJzdHlyIGV4ZWt2ZXJpbmdzYml0ZW4gZsO2ciBhbmdpdm5hIGZpbGVyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTMKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCiBtc2dzdHIgIm1hcmtlcmEgZmlsZXIgc29tIFwiw6RuZHJhcyBpbnRlXCIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1NgogbXNnaWQgImNsZWFyIGFzc3VtZWQtdW5jaGFuZ2VkIGJpdCIKIG1zZ3N0ciAicmVuc2EgXCJhc3N1bWUtdW5jaGFuZ2VkXCItYml0ZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1OQogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJpbmRleC1vbmx5XCIiCiBtc2dzdHIgIm1hcmtlcmEgZmlsZXIgc29tIFwiZW5kYXN0IGluZGV4XCIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzYwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2MgogbXNnaWQgImNsZWFyIHNraXAtd29ya3RyZWUgYml0IgogbXNnc3RyICJ0w7ZtIFwic2tpcC13b3JrdHJlZVwiLWJpdGVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjUKIG1zZ2lkICJhZGQgdG8gaW5kZXggb25seTsgZG8gbm90IGFkZCBjb250ZW50IHRvIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAibMOkZ2cgZW5kYXN0IHRpbGwgaW5kZXhldDsgbMOkZ2cgaW50ZSB0aWxsIGlubmVow6VsbGV0IGkgb2JqZWt0ZGF0YWJhc2VuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjcKIG1zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgogbXNnc3RyICJ0YSBib3J0IG5hbW5naXZuYSBzw7ZrdsOkZ2FyIMOkdmVuIG9tIGRlIGZpbm5zIGkgYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjkKIG1zZ2lkICJ3aXRoIC0tc3RkaW46IGlucHV0IGxpbmVzIGFyZSB0ZXJtaW5hdGVkIGJ5IG51bGwgYnl0ZXMiCiBtc2dzdHIgIm1lZCAtLXN0ZGluOiBpbmRhdGFyYWRlciB0ZXJtaW5lcmFzIG1lZCBudWxsLWJ5dGUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3MQogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImzDpHMgbGlzdGEgw7Z2ZXIgc8O2a3bDpGdhciBhdHQgdXBwZGF0ZXJhIGZyw6VuIHN0YW5kYXJkIGluIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzUKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAibMOkZ2cgcG9zdGVyIGZyw6VuIGZyw6VuIHN0YW5kYXJkIGluIHRpbGwgaW5kZXhldCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzc5CiBtc2dpZCAicmVwb3B1bGF0ZSBzdGFnZXMgIzIgYW5kICMzIGZvciB0aGUgbGlzdGVkIHBhdGhzIgogbXNnc3RyICLDpXRlcmZ5bGwgZXRhcHAgMiBvY2ggMyBmcsOlbiBhbmdpdm5hIHPDtmt2w6RnYXIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzgxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4MwogbXNnaWQgIm9ubHkgdXBkYXRlIGVudHJpZXMgdGhhdCBkaWZmZXIgZnJvbSBIRUFEIgogbXNnc3RyICJ1cHBkYXRlcmEgZW5kYXN0IHBvc3RlciBzb20gc2tpbGplciBzaWcgZnLDpW4gSEVBRCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzg3CiBtc2dpZCAiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAiaWdub3JlcmEgZmlsZXIgc29tIHNha25hcyBpIGFyYmV0c2thdGFsb2dlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkwCiBtc2dpZCAicmVwb3J0IGFjdGlvbnMgdG8gc3RhbmRhcmQgb3V0cHV0IgogbXNnc3RyICJyYXBvcnRlcmEgw6V0Z8OkcmRlciBww6Ugc3RhbmRhcmQgdXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5MgogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICIoZsO2ciBwb3JzbGluKSBnbMO2bSBzcGFyYWRlIG9sw7ZzdGEga29uZmxpa3RlciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzk2CiBtc2dpZCAid3JpdGUgaW5kZXggaW4gdGhpcyBmb3JtYXQiCiBtc2dzdHIgInNrcml2IGluZGV4IGkgZGV0dGEgZm9ybWF0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzo3CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzo5CiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdIC1kIDxyZWZuYW1lPiBbPG9sZHZhbD5dIgogbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbZmxhZ2dvcl0gLWQgPHJlZm5hbW4+IFs8Z2FtbWFsdHbDpHJkZT5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzo4CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMAogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAgICA8cmVmbmFtZT4gPG5ld3ZhbD4gWzxvbGR2YWw+XSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgW2ZsYWdnb3JdICAgIDxyZWZuYW1uPiA8Z2FtbWFsdHbDpHJkZT4gWzxueXR0dsOkcmRlPl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjE5CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMQorbXNnaWQgImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAtLXN0ZGluIFstel0iCittc2dzdHIgImdpdCB1cGRhdGUtcmVmIFtmbGFnZ29yXSAtLXN0ZGluIFstel0iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1NQogbXNnaWQgImRlbGV0ZSB0aGUgcmVmZXJlbmNlIgogbXNnc3RyICJ0YSBib3J0IHJlZmVyZW5zZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjIxCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTcKIG1zZ2lkICJ1cGRhdGUgPHJlZm5hbWU+IG5vdCB0aGUgb25lIGl0IHBvaW50cyB0byIKIG1zZ3N0ciAidXBwZGF0ZXJhIDxyZWZuYW1uPiBpbnRlIGRldCBkZW4gcGVrYXIgcMOlIgogCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTgKK21zZ2lkICJzdGRpbiBoYXMgTlVMLXRlcm1pbmF0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJzdGFuZGFyZCBpbiBoYXIgTlVMLXRlcm1pbmVyYWRlIGFyZ3VtZW50IgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTkKK21zZ2lkICJyZWFkIHVwZGF0ZXMgZnJvbSBzdGRpbiIKK21zZ3N0ciAibMOkcyB1cHBkYXRlcmluZ2FyIGZyw6VuIHN0YW5kYXJkIGluIgorCiAjOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjYKIG1zZ2lkICJnaXQgdXBkYXRlLXNlcnZlci1pbmZvIFstLWZvcmNlXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyBbLS1mb3JjZV0iCkBAIC05Mjg2LDIzICs5NjY3LDIzIEBACiAibsOlZ3JhIGtvbmNlcHR2w6RnbGVkbmluZ2FyLiBTZSBcImdpdCBoZWxwIDxrb21tYW5kbz5cIiBlbGxlciBcImdpdCBoZWxwXG4iCiAiPGtvbmNlcHQ+XCIgZsO2ciBhdHQgbMOkc2EgbWVyIG9tIHNwZWNpZmlrYSB1bmRlcmtvbW1hbmRvbiBvY2gga29uY2VwdC4iCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNDQKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNDYKIG1zZ2lkICJleHBpcnkgZGF0ZSIKIG1zZ3N0ciAiZ2lsdGlnIHRpbGwiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNTkKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNjEKIG1zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCiBtc2dzdHIgImluZ2VuIGZ1bmt0aW9uIChiYWvDpXRrb21wYXRpYmlsaXRldCkiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyMzYKKyM6IHBhcnNlLW9wdGlvbnMuaDoyMzUKIG1zZ2lkICJiZSBtb3JlIHZlcmJvc2UiCiBtc2dzdHIgInZhciBtZXIgcHJhdHNhbSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzOAorIzogcGFyc2Utb3B0aW9ucy5oOjIzNwogbXNnaWQgImJlIG1vcmUgcXVpZXQiCiBtc2dzdHIgInZhciBtZXIgdHlzdCIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI0NAorIzogcGFyc2Utb3B0aW9ucy5oOjI0MwogbXNnaWQgInVzZSA8bj4gZGlnaXRzIHRvIGRpc3BsYXkgU0hBLTFzIgogbXNnc3RyICJhbnbDpG5kIDxuPiBzaWZmcm9yIGbDtnIgYXR0IHZpc2EgU0hBLTE6b3IiCiAKQEAgLTk0MzgsNyArOTgxOSw3IEBACiAjOiBnaXQtYW0uc2g6MTYzCiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHBhdGNoaW5nIGJhc2UgYW5kIDMtd2F5IG1lcmdlLi4uIgogbXNnc3RyICIiCi0iRmFsbGVyIHRpbGxiYWthIHDDpSBhdHQgcGFjaGEgZ3J1bmR2ZXJzaW9uZW4gb2NoIHRyZXbDpGdzc2FtbWFuc2xhZ25pbmcuLi4iCisiRmFsbGVyIHRpbGxiYWthIHDDpSBhdHQgcGF0Y2hhIGdydW5kdmVyc2lvbmVuIG9jaCB0cmV2w6Rnc3NhbW1hbnNsYWduaW5nLi4uIgogCiAjOiBnaXQtYW0uc2g6MTc5CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIGluIHRoZSBjaGFuZ2VzLiIKQEAgLTk2MDMsOCArOTk4NCw4IEBACiAKICMgY29naXRvLXJlbGF0ZXJhdAogIzogZ2l0LWJpc2VjdC5zaDoxNDAKLW1zZ2lkICJ3b24ndCBiaXNlY3Qgb24gc2Vla2VkIHRyZWUiCi1tc2dzdHIgImvDtnIgaW50ZSBcImJpc2VjdFwiIHDDpSBldHQgXCJzZWVrZWRcIi10csOkZCIKK21zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgorbXNnc3RyICJrw7ZyIGludGUgXCJiaXNlY3RcIiBww6UgdHLDpGQgZMOkciBcImNnLXNlZWtcIiBhbnbDpG50cyIKIAogIzogZ2l0LWJpc2VjdC5zaDoxNDQKIG1zZ2lkICJCYWQgSEVBRCAtIHN0cmFuZ2Ugc3ltYm9saWMgcmVmIgpAQCAtOTc0MCw3ICsxMDEyMSw3IEBACiBtc2dpZCAiUHVsbCBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIkR1IGthbiBpbnRlIGfDtnJhIGVuIFwicHVsbFwiIGTDpSBkdSBoYXIgw6RuZHJpbmdhciBzb20gaW50ZSBjaGVja2F0cyBpbi4iCiAKLSM6IGdpdC1wdWxsLnNoOjIwMworIzogZ2l0LXB1bGwuc2g6MjIzCiBtc2dpZCAidXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4IgogbXNnc3RyICJ1cHBkYXRlcmFyIGVuIG9mw7ZkZCBncmVuIG1lZCDDpG5kcmluZ2FyIHNvbSBsYWd0cyB0aWxsIGkgaW5kZXhldCIKIApAQCAtOTc0OCw3ICsxMDEyOSw3IEBACiAjLiBUaGUgd29ya2luZyB0cmVlIGFuZCB0aGUgaW5kZXggZmlsZSBpcyBzdGlsbCBiYXNlZCBvbiB0aGUKICMuICRvcmlnX2hlYWQgY29tbWl0LCBidXQgd2UgYXJlIG1lcmdpbmcgaW50byAkY3Vycl9oZWFkLgogIy4gRmlyc3QgdXBkYXRlIHRoZSB3b3JraW5nIHRyZWUgdG8gbWF0Y2ggJGN1cnJfaGVhZC4KLSM6IGdpdC1wdWxsLnNoOjIzNQorIzogZ2l0LXB1bGwuc2g6MjQ3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiV2FybmluZzogZmV0Y2ggdXBkYXRlZCB0aGUgY3VycmVudCBicmFuY2ggaGVhZC5cbiIKQEAgLTk3NTksMTUgKzEwMTQwLDE1IEBACiAiVmFybmluZzogc25hYmJzcG9sYXIgZGluIGFyYmV0c2thdGFsb2cgZnLDpW5cbiIKICJWYXJuaW5nOiBpbmNoZWNrbmluZ2VuICRvcmlnX2hlYWQuIgogCi0jOiBnaXQtcHVsbC5zaDoyNjAKKyM6IGdpdC1wdWxsLnNoOjI3MgogbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIkthbiBpbnRlIHNsw6UgaWhvcCBmbGVyYSBncmVuYXIgaSBldHQgdG9tdCBodXZ1ZC4iCiAKLSM6IGdpdC1wdWxsLnNoOjI2NAorIzogZ2l0LXB1bGwuc2g6Mjc2CiBtc2dpZCAiQ2Fubm90IHJlYmFzZSBvbnRvIG11bHRpcGxlIGJyYW5jaGVzIgogbXNnc3RyICJLYW4gaW50ZSB1dGbDtnJhIGVuIFwicmViYXNlXCIgb3ZhbnDDpSBmbGVyYSBncmVuYXIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTQKKyM6IGdpdC1yZWJhc2Uuc2g6NTUKIG1zZ2lkICIiCiAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiLlxuIgogIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCJnaXQgcmViYXNlIC0tc2tpcFwiIGluc3RlYWQuXG4iCkBAIC05Nzc4LDE2ICsxMDE1OSwxNiBAQAogIk9tIGR1IHZpbGwgaG9wcGEgw7Z2ZXIgcGF0Y2hlbiBrw7ZyIGR1IGlzdMOkbGxldCBcImdpdCByZWJhc2UgLS1za2lwXCIuXG4iCiAiRsO2ciBhdHQgw6V0ZXJzdMOkbGxhIG9yaWdpbmFsZ3JlbmVuIG9jaCBhdmJyeXRhIGvDtnIgZHUgXCJnaXQgcmViYXNlIC0tYWJvcnRcIi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTU2CisjOiBnaXQtcmViYXNlLnNoOjE1OAogbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKIG1zZ3N0ciAiVGlsbMOkbXBhZGUgYXV0b3N0YXNoLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNTkKKyM6IGdpdC1yZWJhc2Uuc2g6MTYxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3RvcmUgJHN0YXNoX3NoYTEiCiBtc2dzdHIgIkthbiBpbnRlIHNwYXJhICRzdGFzaF9zaGExIgogCi0jOiBnaXQtcmViYXNlLnNoOjE2MAorIzogZ2l0LXJlYmFzZS5zaDoxNjIKIG1zZ2lkICIiCiAiQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy5cbiIKICJZb3VyIGNoYW5nZXMgYXJlIHNhZmUgaW4gdGhlIHN0YXNoLlxuIgpAQCAtOTc5NywzMSArMTAxNzgsMzEgQEAKICJEaW5hIMOkbmRyaW5nYXIgw6RyIHPDpGtyYSBpIHN0YXNoZW4uXG4iCiAiRHUga2FuIG7DpHIgc29tIGhlbHN0IGFudsOkbmRhIFwiZ2l0IHN0YXNoIHBvcFwiIGVsbGVyIFwiZ2l0IHN0YXNoIGRyb3BcIi5cbiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxOTAKKyM6IGdpdC1yZWJhc2Uuc2g6MjAxCiBtc2dpZCAiVGhlIHByZS1yZWJhc2UgaG9vayByZWZ1c2VkIHRvIHJlYmFzZS4iCiBtc2dzdHIgIktyb2tlbiBwcmUtcmViYXNlIHbDpGdyYWRlIG9tYmFzZXJpbmdlbi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTk1CisjOiBnaXQtcmViYXNlLnNoOjIwNgogbXNnaWQgIkl0IGxvb2tzIGxpa2UgZ2l0LWFtIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKIG1zZ3N0ciAiRGV0IHZlcmthciBzb20gZW4gZ2l0LWFtIGvDtnJzLiBLYW4gaW50ZSBvbWJhc2VyYS4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzI5CisjOiBnaXQtcmViYXNlLnNoOjM0NgogbXNnaWQgIlRoZSAtLWV4ZWMgb3B0aW9uIG11c3QgYmUgdXNlZCB3aXRoIHRoZSAtLWludGVyYWN0aXZlIG9wdGlvbiIKIG1zZ3N0ciAiRmxhZ2dhbiAtLWV4ZWMgbcOlc3RlIGFudsOkbmRhcyB0aWxsc2FtbWFucyBtZWQgZmxhZ2dhbiAtLWludGVyYWN0aXZlIgogCi0jOiBnaXQtcmViYXNlLnNoOjMzNAorIzogZ2l0LXJlYmFzZS5zaDozNTEKIG1zZ2lkICJObyByZWJhc2UgaW4gcHJvZ3Jlc3M/IgogbXNnc3RyICJJbmdlbiBvbWJhc2VyaW5nIHDDpWfDpXI/IgogCi0jOiBnaXQtcmViYXNlLnNoOjM0NQorIzogZ2l0LXJlYmFzZS5zaDozNjIKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIsOFdGfDpHJkZW4gLS1lZGl0LXRvZG8ga2FuIGVuZGFzdCBhbnbDpG5kYXMgdW5kZXIgaW50ZXJha3RpdiBvbWJhc2VyaW5nLiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNTIKKyM6IGdpdC1yZWJhc2Uuc2g6MzY5CiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiS2FuIGludGUgbMOkc2EgSEVBRCIKIAotIzogZ2l0LXJlYmFzZS5zaDozNTUKKyM6IGdpdC1yZWJhc2Uuc2g6MzcyCiBtc2dpZCAiIgogIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlblxuIgogIm1hcmsgdGhlbSBhcyByZXNvbHZlZCB1c2luZyBnaXQgYWRkIgpAQCAtOTgyOSwxMiArMTAyMTAsMTIgQEAKICJEdSBtw6VzdGUgcmVkaWdlcmEgYWxsYSBzYW1tYW5zbGFnbmluZ3Nrb25mbGlrdGVyIG9jaFxuIgogImTDpHJlZnRlciBtYXJrZXJhIGRlbSBzb20gbMO2c3RhIG1lZCBnaXQgYWRkIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3MworIzogZ2l0LXJlYmFzZS5zaDozOTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBmbHl0dGEgdGlsbGJha2EgdGlsbCAkaGVhZF9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjM5MgorIzogZ2l0LXJlYmFzZS5zaDo0MDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKQEAgLTk4NTUsNjYgKzEwMjM2LDY2IEBACiAib2NoIGvDtnIgcHJvZ3JhbW1ldCBpZ2VuLiBKYWcgYXZzbHV0YXIgaWZhbGwgZHUgZm9ydGZhcmFuZGUgaGFyXG4iCiAibsOlZ290IGF2IHbDpHJkZSBkw6RyLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0MzcKKyM6IGdpdC1yZWJhc2Uuc2g6NDU2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICR1cHN0cmVhbV9uYW1lIgogbXNnc3RyICJvZ2lsdGlnIHVwcHN0csO2bSAkdXBzdHJlYW1fbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NjEKKyM6IGdpdC1yZWJhc2Uuc2g6NDgwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiJG9udG9fbmFtZTogbWVyIMOkbiBlbiBzYW1tYW5zbGFnbmluZ3NiYXMgZmlubnMiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDY0IGdpdC1yZWJhc2Uuc2g6NDY4CisjOiBnaXQtcmViYXNlLnNoOjQ4MyBnaXQtcmViYXNlLnNoOjQ4NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiJG9udG9fbmFtZTogaW5nZW4gc2FtbWFuc2xhZ25pbmdzYmFzIGZpbm5zIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ3MworIzogZ2l0LXJlYmFzZS5zaDo0OTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0OiAkb250b19uYW1lIgogbXNnc3RyICJQZWthIHDDpSBlbiBnaWx0aWcgaW5jaGVja25pbmc6ICRvbnRvX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDk2CisjOiBnaXQtcmViYXNlLnNoOjUxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoOiAkYnJhbmNoX25hbWUiCiBtc2dzdHIgIsO2ZGVzZGlnZXJ0OiBpbmdlbiBzw6VkYW4gZ3JlbjogJGJyYW5jaF9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjUxOQorIzogZ2l0LXJlYmFzZS5zaDo1NDgKIG1zZ2lkICJDYW5ub3QgYXV0b3N0YXNoIgogbXNnc3RyICJLYW4gaW50ZSB1dGbDtnJhIFwiYXV0b3N0YXNoXCIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTI0CisjOiBnaXQtcmViYXNlLnNoOjU1MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCiBtc2dzdHIgIlNrYXBhZGUgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgogCi0jOiBnaXQtcmViYXNlLnNoOjUyOAorIzogZ2l0LXJlYmFzZS5zaDo1NTcKIG1zZ2lkICJQbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgogbXNnc3RyICJDaGVja2EgaW4gZWxsZXIgYW52w6RuZCBcInN0YXNoXCIgcMOlIGRlbS4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTQ4CisjOiBnaXQtcmViYXNlLnNoOjU3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUuIgogbXNnc3RyICJBa3R1ZWxsIGdyZW4gJGJyYW5jaF9uYW1lIMOkciDDoCBqb3VyLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NTIKKyM6IGdpdC1yZWJhc2Uuc2g6NTgxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCiBtc2dzdHIgIkFrdHVlbGwgZ3JlbiAkYnJhbmNoX25hbWUgw6RyIMOgIGpvdXIsIG9tYmFzZXJpbmcgZnJhbXR2aW5nYWQuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU2MworIzogZ2l0LXJlYmFzZS5zaDo1OTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgogbXNnc3RyICLDhG5kcmluZ2FyIGZyw6VuICRtYiB0aWxsICRvbnRvOiIKIAogIy4gRGV0YWNoIEhFQUQgYW5kIHJlc2V0IHRoZSB0cmVlCi0jOiBnaXQtcmViYXNlLnNoOjU3MgorIzogZ2l0LXJlYmFzZS5zaDo2MDEKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCiBtc2dzdHIgIiIKICJGw7Zyc3QsIHNwb2xhciB0aWxsYmFrYSBodXZ1ZGV0IGbDtnIgYXR0IHNwZWxhIGF2IGRpdHQgYXJiZXRlIG92YW5ww6UgZGV0Li4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjU4MgorIzogZ2l0LXJlYmFzZS5zaDo2MTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKIG1zZ3N0ciAiU25hYmJzcG9sYWRlICRicmFuY2hfbmFtZSB0aWxsICRvbnRvX25hbWUuIgpAQCAtOTk2Miw3ICsxMDM0Myw3IEBACiAjLiAkIGdpdCBzdGFzaCBzYXZlIC0tYmxhaC1ibGFoIDI+JjEgfCBoZWFkIC1uIDIKICMuIGVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAtLWJsYWgtYmxhaAogIy4gVG8gcHJvdmlkZSBhIG1lc3NhZ2UsIHVzZSBnaXQgc3Rhc2ggc2F2ZSAtLSAnLS1ibGFoLWJsYWgnCi0jOiBnaXQtc3Rhc2guc2g6MjQxCisjOiBnaXQtc3Rhc2guc2g6MjM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKQEAgLTk5NzEsMTAwICsxMDM1Miw4NSBAQAogImZlbDogZmVsYWt0aWcgZmxhZ2dhIGbDtnIgXCJzdGFzaCBzYXZlXCI6ICRvcHRpb25cbiIKICIgICAgIEbDtnIgYXR0IGFuZ2UgZXR0IG1lZGRlbGFuZGUsIGFudsOkbmQgZ2l0IHN0YXNoIHNhdmUgLS0gXCIkb3B0aW9uXCIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjIKKyM6IGdpdC1zdGFzaC5zaDoyNTgKIG1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCiBtc2dzdHIgIkluZ2EgbG9rYWxhIMOkbmRyaW5nYXIgYXR0IHNwYXJhIgogCi0jOiBnaXQtc3Rhc2guc2g6MjY4Ci1tc2dpZCAiIgotIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIGZpbGVzIHdvdWxkIE5PVCBiZSBzYXZlZCBidXQgbmVlZCB0byBiZSByZW1vdmVkIGJ5ICIKLSJzdGFzaCBzYXZlOiIKLW1zZ3N0ciAiIgotIkbDtmxqYW5kZSBvc3DDpXJhZGUgw6RuZHJpbmdhciBza3VsbGUgSU5URSBzcGFyYXMgdXRhbiBtw6VzdGUgdGFzIGJvcnQgbWVkICIKLSJcInN0YXNoIHNhdmVcIjoiCi0KLSM6IGdpdC1zdGFzaC5zaDoyNzAKLW1zZ2lkICIiCi0iQWJvcnRpbmcuIENvbnNpZGVyIHVzaW5nIGVpdGhlciB0aGUgLS1mb3JjZSBvciAtLWluY2x1ZGUtdW50cmFja2VkIG9wdGlvbi4iCi1tc2dzdHIgIiIKLSJBdmJyeXRlci4gw5Z2ZXJ2w6RnIGF0dCBhbnbDpG5kYSBhbnRpbmdlbiBmbGFnZ2FuIC0tZm9yY2UgZWxsZXIgLS1pbmNsdWRlLSIKLSJ1bnRyYWNrZWQuIgotCi0jOiBnaXQtc3Rhc2guc2g6Mjc0CisjOiBnaXQtc3Rhc2guc2g6MjYyCiBtc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCiBtc2dzdHIgIkthbiBpbnRlIGluaXRpZXJhIFwic3Rhc2hcIiIKIAotIzogZ2l0LXN0YXNoLnNoOjI3OAorIzogZ2l0LXN0YXNoLnNoOjI2NgogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIKIG1zZ3N0ciAiS2FuIGludGUgc3BhcmEgYWt0dWVsbCBzdGF0dXMiCiAKLSM6IGdpdC1zdGFzaC5zaDoyOTYKKyM6IGdpdC1zdGFzaC5zaDoyODQKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCiBtc2dzdHIgIkthbiBpbnRlIHRhIGJvcnQgw6RuZHJpbmdhciBpIGFyYmV0c2thdGFsb2dlbiIKIAotIzogZ2l0LXN0YXNoLnNoOjM5NQorIzogZ2l0LXN0YXNoLnNoOjM4MwogbXNnaWQgIk5vIHN0YXNoIGZvdW5kLiIKIG1zZ3N0ciAiSW5nZW4gXCJzdGFzaFwiIGhpdHRhZGVzLiIKIAotIzogZ2l0LXN0YXNoLnNoOjQwMgorIzogZ2l0LXN0YXNoLnNoOjM5MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDogJFJFViIKIG1zZ3N0ciAiRsO2ciBtw6VuZ2EgcmV2aXNpb25lciBhbmdpdm5hOiAkUkVWIgogCi0jOiBnaXQtc3Rhc2guc2g6NDA4CisjOiBnaXQtc3Rhc2guc2g6Mzk2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkcmVmZXJlbmNlIGlzIG5vdCB2YWxpZCByZWZlcmVuY2UiCiBtc2dzdHIgIiRyZWZlcmVuY2Ugw6RyIGludGUgZW4gZ2lsdGlnIHJlZmVyZW5zLiIKIAotIzogZ2l0LXN0YXNoLnNoOjQzNgorIzogZ2l0LXN0YXNoLnNoOjQyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKIG1zZ3N0ciAiXCIkYXJnc1wiIMOkciBpbnRlIGVuIFwic3Rhc2hcIi1saWtuYW5kZSBpbmNoZWNrbmluZyIKIAotIzogZ2l0LXN0YXNoLnNoOjQ0NworIzogZ2l0LXN0YXNoLnNoOjQzNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIlwiJGFyZ3NcIiDDpHIgaW50ZSBlbiBcInN0YXNoXCItcmVmZXJlbnMiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NTUKKyM6IGdpdC1zdGFzaC5zaDo0NDMKIG1zZ2lkICJ1bmFibGUgdG8gcmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAia2FuIGludGUgdXBwZGF0ZXJhIGluZGV4ZXQiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NTkKKyM6IGdpdC1zdGFzaC5zaDo0NDcKIG1zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCiBtc2dzdHIgIkthbiBpbnRlIHRpbGzDpG1wYSBlbiBcInN0YXNoXCIgbWl0dCBpIGVuIHNhbW1hbnNsYWduaW5nIgogCi0jOiBnaXQtc3Rhc2guc2g6NDY3CisjOiBnaXQtc3Rhc2guc2g6NDU1CiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAiS29uZmxpa3RlciBpIGluZGV4ZXQuIFRlc3RhIHV0YW4gLS1pbmRleC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0NjkKKyM6IGdpdC1zdGFzaC5zaDo0NTcKIG1zZ2lkICJDb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgogbXNnc3RyICJLdW5kZSBpbnRlIHNwYXJhIGluZGV4dHLDpGQiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MDMKKyM6IGdpdC1zdGFzaC5zaDo0OTEKIG1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKIG1zZ3N0ciAiS2FuIGludGUgdGEgYm9ydCDDpG5kcmFkZSBmaWxlciB1ciBrw7ZuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTE4CisjOiBnaXQtc3Rhc2guc2g6NTA2CiBtc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgogbXNnc3RyICJJbmRleGV0IGhhciBpbnRlIHRhZ2l0cyB1ciBrw7ZuLiIKIAotIzogZ2l0LXN0YXNoLnNoOjUzNQorIzogZ2l0LXN0YXNoLnNoOjUyMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKIG1zZ3N0ciAiS2FzdGFkZSAke1JFVn0gKCRzKSIKIAotIzogZ2l0LXN0YXNoLnNoOjUzNgorIzogZ2l0LXN0YXNoLnNoOjUyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiJHtSRVZ9OiBLdW5kZSBpbnRlIGthc3RhIFwic3Rhc2hcIi1wb3N0IgogCi0jOiBnaXQtc3Rhc2guc2g6NTQzCisjOiBnaXQtc3Rhc2guc2g6NTMxCiBtc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgogbXNnc3RyICJJbmdldCBncmVubmFtbiBhbmdhdnMiCiAKLSM6IGdpdC1zdGFzaC5zaDo2MTUKKyM6IGdpdC1zdGFzaC5zaDo2MDMKIG1zZ2lkICIoVG8gcmVzdG9yZSB0aGVtIHR5cGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiBtc2dzdHIgIihGw7ZyIGF0dCDDpXRlcnN0w6RsbGEgZGVtLCBza3JpdiBcImdpdCBzdGFzaCBhcHBseVwiKSIKIApAQCAtMTAxNzgsNTYgKzEwNTQ0LDU2IEBACiBtc2dpZCAiRW50ZXJpbmcgJyRwcmVmaXgkZGlzcGxheXBhdGgnIgogbXNnc3RyICJHw6VyIGluIGkgXCIkcHJlZml4JGRpc3BsYXlwYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTU0CisjOiBnaXQtc3VibW9kdWxlLnNoOjU1OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3RvcHBpbmcgYXQgJyRwcmVmaXgkZGlzcGxheXBhdGgnOyBzY3JpcHQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzLiIKIG1zZ3N0ciAiIgogIlN0b3BwYXIgcMOlIFwiJHByZWZpeCRkaXNwbGF5cGF0aFwiOyBza3JpcHRldCByZXR1cm5lcmFkZSBlbiBzdGF0dXMgc2tpbGQgIgogImZyw6VuIG5vbGwuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwMAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIk5vIHVybCBmb3VuZCBmb3Igc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcgaW4gLmdpdG1vZHVsZXMiCiBtc2dzdHIgIiIKICJIaXR0YWRlIGluZ2VuIHVybCBmw7ZyIHVuZGVybW9kdWxzw7ZrdsOkZ2VuIFwiJGRpc3BsYXlwYXRoXCIgaSAuZ2l0bW9kdWxlcyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MDkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjE0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHJlZ2lzdHJlcmEgdXJsIGbDtnIgdW5kZXJtb2R1bHPDtmt2w6RnIFwiJGRpc3BsYXlwYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjExCisjOiBnaXQtc3VibW9kdWxlLnNoOjYxNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICckbmFtZScgKCR1cmwpIHJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJVbmRlcm1vZHVsZW4gXCIkbmFtZVwiICgkdXJsKSByZWdpc3RyZXJhZCBmw7ZyIHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXBkYXRlIG1vZGUgZm9yIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiTWlzc2x5Y2thZGVzIHJlZ2lzdHJlcmEgdXBwZGF0ZXJpbmdzbMOkZ2UgZsO2ciB1bmRlcm1vZHVsc8O2a3bDpGcgXCIkZGlzcGxheXBhdGgiCiAiXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjU2CisjOiBnaXQtc3VibW9kdWxlLnNoOjY3MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVXNlICcuJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICJBbnbDpG5kIFwiLlwiIG9tIGR1IHZlcmtsaWdlbiB2aWxsIGF2aW5pdGllcmEgYWxsYSB1bmRlcm1vZHVsZXIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjczCisjOiBnaXQtc3VibW9kdWxlLnNoOjY4OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAiVW5kZXJtb2R1bGVucyBhcmJldHNrYXRhbG9nIFwiJGRpc3BsYXlwYXRoXCIgaW5uZWjDpWxsZXIga2F0YWxvZ2VuIFwiLmdpdFwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY3NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgaGlzdG9yeSkiCiBtc2dzdHIgIiIKICIoYW52w6RuZCBcInJtIC1yZlwiIG9tIGR1IHZlcmtsaWdlbiB2aWxsIHRhIGJvcnQgZGVuIG9jaCBhbGwgZGVzcyBoaXN0b3JpaykiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjY5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgbG9jYWwgbW9kaWZpY2F0aW9uczsgdXNlICctZicgdG8gIgpAQCAtMTAyMzYsMjggKzEwNjAyLDI4IEBACiAiVW5kZXJtb2R1bGVucyBhcmJldHNrYXRhbG9nIFwiJGRpc3BsYXlwYXRoXCIgaGFyIGxva2FsYSDDpG5kcmluZ2FyOyBcIi1mXCIgIgogImthc3RhciBib3J0IGRlbSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njk4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDbGVhcmVkIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiUmVuc2FkZSBrYXRhbG9nZW4gXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njk5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIHN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIkt1bmRlIGludGUgdGEgYm9ydCB1bmRlcm1vZHVsZW5zIGFyYmV0c2thdGFsb2cgXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzAyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGVtcHR5IHN1Ym1vZHVsZSBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIkt1bmRlIGludGUgc2thcGEgdG9tIHVuZGVybW9kdWxza2F0YWxvZyBcIiRkaXNwbGF5cGF0aFwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJG5hbWUnICgkdXJsKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJVbmRlcm1vZHVsZW4gXCIkbmFtZVwiICgkdXJsKSBhdnJlZ2lzdHJlcmFkIGbDtnIgc8O2a3bDpGdlbiBcIiRkaXNwbGF5cGF0aFwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgxMQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyBub3QgaW5pdGlhbGl6ZWRcbiIKQEAgLTEwMjY2LDExNyArMTA2MzIsMTQzIEBACiAiVW5kZXJtb2R1bGVuIFwiJGRpc3BsYXlwYXRoXCIgaGFyIGludGUgaW5pdGllcmF0c1xuIgogIkthbnNrZSBkdSB2aWxsIGvDtnJhIFwidXBkYXRlIC0taW5pdFwiPyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MjQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODQ3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLYW4gaW50ZSBoaXR0YSBha3R1ZWxsIHJldmlzaW9uIGkgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MzMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODU2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiS2FuIGludGUgaMOkbXRhIGkgdW5kZXJtb2R1bHPDtmt2w6RnIFwiJHNtX3BhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODgwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIkthbiBpbnRlIGjDpG10YSBpIHVuZGVybW9kdWxzw7ZrdsOkZyBcIiRkaXNwbGF5cGF0aFwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg3MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiS2FuIGludGUgb21iYXNlcmEgXCIkc2hhMVwiIGkgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NzIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCiBtc2dzdHIgIlVuZGVybW9kdWxzw7ZrdsOkZ2VuIFwiJGRpc3BsYXlwYXRoXCI6IG9tYmFzZXJhZGUgaW4gaSBcIiRzaGExXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODc3CisjOiBnaXQtc3VibW9kdWxlLnNoOjkwMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIkthbiBpbnRlIHNsw6UgaWhvcCBcIiRzaGExXCIgaSB1bmRlcm1vZHVsc8O2a3bDpGdlbiBcIiRkaXNwbGF5cGF0aFwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg3OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKIG1zZ3N0ciAiVW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIjogc2FtbWFuc2xhZ2VuIGkgXCIkc2hhMVwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg4MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlICBwYXRoICckcHJlZml4JHNtX3BhdGgnIgogbXNnc3RyICIiCiAiTWlzc2x5Y2thZGVzIGvDtnJhIFwiJGNvbW1hbmQgJHNoYTFcIiBpIHVuZGVybW9kdWxzw7ZrdsOkZ2VuIFwiJHByZWZpeCRzbV9wYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODg0CisjOiBnaXQtc3VibW9kdWxlLnNoOjkwNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRwcmVmaXgkc21fcGF0aCc6ICckY29tbWFuZCAkc2hhMSciCiBtc2dzdHIgIlVuZGVybW9kdWxzw7ZrdsOkZ2VuIFwiJHByZWZpeCRzbV9wYXRoXCI6IFwiJGNvbW1hbmQgJHNoYTFcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4ODkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTEyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiS2FuIGludGUgY2hlY2thIHV0IFwiJHNoYTFcIiBpIHVuZGVybW9kdWxzw7ZrdsOkZ2VuIFwiJGRpc3BsYXlwYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODkwCisjOiBnaXQtc3VibW9kdWxlLnNoOjkxMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCiBtc2dzdHIgIlVuZGVybW9kdWxzw7ZrdsOkZ2VuIFwiJGRpc3BsYXlwYXRoXCI6IGNoZWNrYWRlIHV0IFwiJHNoYTFcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTQwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJNaXNzbHlja2FkZXMgcmVrdXJzZXJhIGluIGkgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDI1CisjOiBnaXQtc3VibW9kdWxlLnNoOjEwNDgKIG1zZ2lkICJUaGUgLS1jYWNoZWQgb3B0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhlIC0tZmlsZXMgb3B0aW9uIgogbXNnc3RyICJGbGFnZ2FuIC0tY2FjaGVkIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgZmxhZ2dhbiAtLWZpbGVzIgogCiAjLiB1bmV4cGVjdGVkIHR5cGUKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA2NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDk2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG1vZGUgJG1vZF9kc3QiCiBtc2dzdHIgIm92w6RudGF0IGzDpGdlICRtb2RfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwODYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTExNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgogbXNnc3RyICIgIFZhcm5pbmc6ICRkaXNwbGF5X25hbWUgaW5uZWjDpWxsZXIgaW50ZSBpbmNoZWNrbmluZ2VuICRzaGExX3NyYyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDg5CisjOiBnaXQtc3VibW9kdWxlLnNoOjExMTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiICBWYXJuaW5nOiAkZGlzcGxheV9uYW1lIGlubmVow6VsbGVyIGludGUgaW5jaGVja25pbmdlbiAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA5MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTIyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCiBtc2dzdHIgIiIKICIgIFZhcm5pbmc6ICRkaXNwbGF5X25hbWUgaW5uZWjDpWxsZXIgaW50ZSBpbmNoZWNrbmluZ2FybmEgJHNoYTFfc3JjIG9jaCAiCiAiJHNoYTFfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExMTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTE0NwogbXNnaWQgImJsb2IiCiBtc2dzdHIgImJsb2IiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTE1NQotbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgotbXNnc3RyICJVbmRlcm1vZHVsZXIgw6RuZHJhZGUgbWVuIGludGUgdXBwZGF0ZXJhZGU6IgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExNTcKLW1zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgotbXNnc3RyICJVbmRlcm1vZHVsZXJzIMOkbmRyaW5nYXIgYXR0IGNoZWNrYSBpbjoiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTI0MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMjYxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIk1pc3NseWNrYWRlcyByZWt1cnNlcmEgaW4gaSB1bmRlcm1vZHVsc8O2a3bDpGdlbiBcIiRzbV9wYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTMwNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMzI1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJTeW5rcm9uaXNlcmFyIHVuZGVybW9kdWwtdXJsIGbDtnIgXCIkZGlzcGxheXBhdGhcIiIKIAorI34gbXNnaWQgImNvcGllZDogICAgICVzIC0+ICVzIgorI34gbXNnc3RyICJrb3BpZXJhZDogICAlcyAtPiAlcyIKKworI34gbXNnaWQgImRlbGV0ZWQ6ICAgICVzIgorI34gbXNnc3RyICJib3J0dGFnZW46ICAlcyIKKworI34gbXNnaWQgIm1vZGlmaWVkOiAgICVzIgorI34gbXNnc3RyICLDpG5kcmFkOiAgICAgJXMiCisKKyN+IG1zZ2lkICJyZW5hbWVkOiAgICAlcyAtPiAlcyIKKyN+IG1zZ3N0ciAibmFtbmJ5dGU6ICAgJXMgLT4gJXMiCisKKyN+IG1zZ2lkICJ1bm1lcmdlZDogICAlcyIKKyN+IG1zZ3N0ciAib3NhbW1hbnNsLjogJXMiCisKKyN+IG1zZ2lkICJpbnB1dCBwYXRocyBhcmUgdGVybWluYXRlZCBieSBhIG51bGwgY2hhcmFjdGVyIgorI34gbXNnc3RyICJzw7ZrdsOkZ2FyIGF2ZGVsYXMgbWVkIG51bGwtdGVja2VuIgorCisjfiBtc2dpZCAiZG9uZVxuIgorI34gbXNnc3RyICJrbGFydFxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIGZpbGVzIHdvdWxkIE5PVCBiZSBzYXZlZCBidXQgbmVlZCB0byBiZSByZW1vdmVkICIKKyN+ICJieSBzdGFzaCBzYXZlOiIKKyN+IG1zZ3N0ciAiIgorI34gIkbDtmxqYW5kZSBvc3DDpXJhZGUgw6RuZHJpbmdhciBza3VsbGUgSU5URSBzcGFyYXMgdXRhbiBtw6VzdGUgdGFzIGJvcnQgbWVkICIKKyN+ICJcInN0YXNoIHNhdmVcIjoiCisKKyN+IG1zZ2lkICIiCisjfiAiQWJvcnRpbmcuIENvbnNpZGVyIHVzaW5nIGVpdGhlciB0aGUgLS1mb3JjZSBvciAtLWluY2x1ZGUtdW50cmFja2VkIG9wdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmJyeXRlci4gw5Z2ZXJ2w6RnIGF0dCBhbnbDpG5kYSBhbnRpbmdlbiBmbGFnZ2FuIC0tZm9yY2UgZWxsZXIgLS1pbmNsdWRlLSIKKyN+ICJ1bnRyYWNrZWQuIgorCiAjfiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1yZXNvbHZlZFwiKSIKICN+IG1zZ3N0ciAiICAocsOkdHRhIGtvbmZsaWt0ZXIgb2NoIGvDtnIgc2VkYW4gXCJnaXQgYW0gLS1yZXNvbHZlZFwiKSIKIApAQCAtMTA0OTgsOSArMTA4OTAsNiBAQAogI34gbXNnaWQgIi1CIGNhbm5vdCBiZSB1c2VkIHdpdGggLWIiCiAjfiBtc2dzdHIgIi1CIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgLWIiCiAKLSN+IG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgotI34gbXNnc3RyICItLXBhdGNoIMOkciBpbmtvbXBhdGliZWwgbWVkIGFsbGEgYW5kcmEgZmxhZ2dvciIKLQogI34gbXNnaWQgIi0tZGV0YWNoIGNhbm5vdCBiZSB1c2VkIHdpdGggLWIvLUIvLS1vcnBoYW4iCiAjfiBtc2dzdHIgIi0tZGV0Y2FoIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgLWIvLUIvLS1vcnBoYW4iCiAKZGlmZiAtLWdpdCBhL3BvL3ZpLnBvIGIvcG8vdmkucG8KaW5kZXggZGQyZDJhNy4uZjA4N2MwNSAxMDA2NDQKLS0tIGEvcG8vdmkucG8KKysrIGIvcG8vdmkucG8KQEAgLTEsMjIgKzEsMjMgQEAKICMgVmlldG5hbWVzZSB0cmFuc2xhdGlvbiBmb3IgR0lULUNPUkUuCisjIELhuqNuIGThu4tjaCB0aeG6v25nIFZp4buHdCBkw6BuaCBjaG8gR0lULUNPUkUuCiAjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBnaXQtY29yZSBwYWNrYWdlLgotIyBGaXJzdCB0cmFuc2xhdGVkIGJ5IFRy4bqnbiBOZ+G7jWMgUXXDom4gPHZud2lsZG1hbkBnbWFpbC5jb20+LCAyMDEyLTIwMTMuCisjIEZpcnN0IHRyYW5zbGF0ZWQgYnkgVHLhuqduIE5n4buNYyBRdcOibiA8dm53aWxkbWFuQGdtYWlsLmNvbT4sIDIwMTItMjAxNC4KICMgTmd1eeG7hW4gVGjDoWkgTmfhu41jIER1eSA8cGNsb3Vkc0BnbWFpbC5jb20+LCAyMDEyLgogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogZ2l0LXYxLjguNC1yYzEtMjItZ2I4ZWNmMjNcbiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGdpdCB2MS45LXB1XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTMtMDgtMDYgMTQ6MTArMDgwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTMtMDgtMDYgMTQ6MjgrMDcwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE0LTAxLTE4IDA3OjQyKzA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE0LTAxLTE4IDA5OjA1KzA3MDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IFRy4bqnbiBOZ+G7jWMgUXXDom4gPHZud2lsZG1hbkBnbWFpbC5jb20+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogVmlldG5hbWVzZSA8dHJhbnNsYXRpb24tdGVhbS12aUBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCiAiTGFuZ3VhZ2U6IHZpXG4iCiAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCi0iVGVhbS1XZWJzaXRlOiA8aHR0cDovL3RyYW5zbGF0aW9ucHJvamVjdC5vcmcvdGVhbS92aS5odG1sPlxuIgogIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPTE7XG4iCisiWC1MYW5ndWFnZS1UZWFtLVdlYnNpdGU6IDxodHRwOi8vdHJhbnNsYXRpb25wcm9qZWN0Lm9yZy90ZWFtL3ZpLmh0bWw+XG4iCiAiWC1Qb2VkaXQtU291cmNlQ2hhcnNldDogVVRGLThcbiIKICJYLVBvZWRpdC1CYXNlcGF0aDogLi4vXG4iCiAiWC1HZW5lcmF0b3I6IFBvZWRpdCAxLjUuNVxuIgpAQCAtMjQsNyArMjUsNyBAQAogIzogYWR2aWNlLmM6NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGludDogJS4qc1xuIgotbXNnc3RyICJn4bujaSDDvTogJS4qc1xuIgorbXNnc3RyICJ0w6xtIHRo4bqleTogJS4qc1xuIgogCiAjLgogIy4gKiBNZXNzYWdlIHVzZWQgYm90aCB3aGVuICdnaXQgY29tbWl0JyBmYWlscyBhbmQgd2hlbgpAQCAtNjEsNzEgKzYyLDc2IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPGtobz4gWy0tZXhlYyA8bOG7h25oPl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzIzCisjOiBhcmNoaXZlLmM6MjQyIGJ1aWx0aW4vYWRkLmM6MjQwIGJ1aWx0aW4vYWRkLmM6NTU5IGJ1aWx0aW4vcm0uYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKK21zZ3N0ciAixJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIGtow7RuZyBraOG7m3AgduG7m2kgYuG6pXQga+G7syB04bqtcCB0aW4gbsOgbyIKKworIzogYXJjaGl2ZS5jOjMyNwogbXNnaWQgImZtdCIKIG1zZ3N0ciAiZm10IgogCi0jOiBhcmNoaXZlLmM6MzIzCisjOiBhcmNoaXZlLmM6MzI3CiBtc2dpZCAiYXJjaGl2ZSBmb3JtYXQiCiBtc2dzdHIgIsSR4buLbmggZOG6oW5nIGzGsHUgdHLhu68iCiAKLSM6IGFyY2hpdmUuYzozMjQgYnVpbHRpbi9sb2cuYzoxMTczCisjOiBhcmNoaXZlLmM6MzI4IGJ1aWx0aW4vbG9nLmM6MTE5MwogbXNnaWQgInByZWZpeCIKIG1zZ3N0ciAidGnhu4FuIHThu5EiCiAKLSM6IGFyY2hpdmUuYzozMjUKKyM6IGFyY2hpdmUuYzozMjkKIG1zZ2lkICJwcmVwZW5kIHByZWZpeCB0byBlYWNoIHBhdGhuYW1lIGluIHRoZSBhcmNoaXZlIgogbXNnc3RyICJu4buRaSB0aMOqbSB0aeG7gW4gdOG7kSB2w6BvIHThu6tuZyDEkcaw4budbmcgZOG6q24gdOG6rXAgdGluIHRyb25nIGtobyBsxrB1IgogCi0jOiBhcmNoaXZlLmM6MzI2IGJ1aWx0aW4vYXJjaGl2ZS5jOjg4IGJ1aWx0aW4vYmxhbWUuYzoyMjkyCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5MyBidWlsdGluL2NvbmZpZy5jOjU2IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzMKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzUgYnVpbHRpbi9ncmVwLmM6NzE0IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3NwotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5NiBidWlsdGluL2xzLWZpbGVzLmM6NDk5IGJ1aWx0aW4vbm90ZXMuYzo0MDgKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NjUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDggcGFyc2Utb3B0aW9ucy5oOjE1MgorIzogYXJjaGl2ZS5jOjMzMCBidWlsdGluL2FyY2hpdmUuYzo4OCBidWlsdGluL2JsYW1lLmM6MjI2NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjYgYnVpbHRpbi9jb25maWcuYzo1OCBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgyIGJ1aWx0aW4vZ3JlcC5jOjcxNiBidWlsdGluL2hhc2gtb2JqZWN0LmM6NzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODYgYnVpbHRpbi9scy1maWxlcy5jOjQ4OSBidWlsdGluL25vdGVzLmM6NDA4CisjOiBidWlsdGluL25vdGVzLmM6NTY1IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA4IHBhcnNlLW9wdGlvbnMuaDoxNTQKIG1zZ2lkICJmaWxlIgogbXNnc3RyICJ04bqtcC10aW4iCiAKLSM6IGFyY2hpdmUuYzozMjcgYnVpbHRpbi9hcmNoaXZlLmM6ODkKKyM6IGFyY2hpdmUuYzozMzEgYnVpbHRpbi9hcmNoaXZlLmM6ODkKIG1zZ2lkICJ3cml0ZSB0aGUgYXJjaGl2ZSB0byB0aGlzIGZpbGUiCiBtc2dzdHIgImdoaSBraG8gbMawdSB2w6BvIHThuq1wIHRpbiBuw6B5IgogCi0jOiBhcmNoaXZlLmM6MzI5CisjOiBhcmNoaXZlLmM6MzMzCiBtc2dpZCAicmVhZCAuZ2l0YXR0cmlidXRlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAixJHhu41jIC5naXRhdHRyaWJ1dGVzIHRyb25nIHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MiCiAKLSM6IGFyY2hpdmUuYzozMzAKKyM6IGFyY2hpdmUuYzozMzQKIG1zZ2lkICJyZXBvcnQgYXJjaGl2ZWQgZmlsZXMgb24gc3RkZXJyIgogbXNnc3RyICJsaeG7h3Qga8OqIGPDoWMgdOG6rXAgdGluIMSRxrDhu6NjIGzGsHUgdHLhu68gdsOgbyBzdGRlcnIgKMSR4bqndSByYSBs4buXaSB0acOqdSBjaHXhuqluKSIKIAotIzogYXJjaGl2ZS5jOjMzMQorIzogYXJjaGl2ZS5jOjMzNQogbXNnaWQgInN0b3JlIG9ubHkiCiBtc2dzdHIgImNo4buJIGzGsHUgKGtow7RuZyBuw6luKSIKIAotIzogYXJjaGl2ZS5jOjMzMgorIzogYXJjaGl2ZS5jOjMzNgogbXNnaWQgImNvbXByZXNzIGZhc3RlciIKIG1zZ3N0ciAibsOpbiBuaGFuaCBoxqFuIgogCi0jOiBhcmNoaXZlLmM6MzQwCisjOiBhcmNoaXZlLmM6MzQ0CiBtc2dpZCAiY29tcHJlc3MgYmV0dGVyIgogbXNnc3RyICJuw6luIG5o4buPIGjGoW4iCiAKLSM6IGFyY2hpdmUuYzozNDMKKyM6IGFyY2hpdmUuYzozNDcKIG1zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCiBtc2dzdHIgImxp4buHdCBrw6ogY8OhYyBraeG7g3UgbsOpbiDEkcaw4bujYyBo4buXIHRy4bujIgogCi0jOiBhcmNoaXZlLmM6MzQ1IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4NQorIzogYXJjaGl2ZS5jOjM0OSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODQKIG1zZ2lkICJyZXBvIgogbXNnc3RyICJraG8iCiAKLSM6IGFyY2hpdmUuYzozNDYgYnVpbHRpbi9hcmNoaXZlLmM6OTEKKyM6IGFyY2hpdmUuYzozNTAgYnVpbHRpbi9hcmNoaXZlLmM6OTEKIG1zZ2lkICJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIKIG1zZ3N0ciAibmjhuq1uIGtobyBsxrB1IHThu6sga2hvIGNo4bupYSA8a2hvPiB0csOqbiBtw6F5IGNo4bunIgogCi0jOiBhcmNoaXZlLmM6MzQ3IGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODcKKyM6IGFyY2hpdmUuYzozNTEgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4NwogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgImzhu4duaCIKIAotIzogYXJjaGl2ZS5jOjM0OCBidWlsdGluL2FyY2hpdmUuYzo5MworIzogYXJjaGl2ZS5jOjM1MiBidWlsdGluL2FyY2hpdmUuYzo5MwogbXNnaWQgInBhdGggdG8gdGhlIHJlbW90ZSBnaXQtdXBsb2FkLWFyY2hpdmUgY29tbWFuZCIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIMSR4bq/biBs4buHbmggZ2l0LXVwbG9hZC1wYWNrIHRyw6puIG3DoXkgY2jhu6ciCiAKQEAgLTE0NSwzMyArMTUxLDMyIEBACiAjOiBicmFuY2guYzo4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJXMgZnJvbSAlcyBieSByZWJhc2luZy4iCi1tc2dzdHIgIiIKLSJOaMOhbmggJXMgY8OgaSDEkeG6t3QgxJHhu4MgdGhlbyBkw7VpIHbhur90IG5ow6FuaCBtw6F5IGNo4bunICVzIHThu6sgJXMgYuG6sW5nIGPDoWNoIHJlYmFzZS4iCittc2dzdHIgIk5ow6FuaCAlcyBjw6BpIMSR4bq3dCDEkeG7gyB0aGVvIGTDtWkgbmjDoW5oIG3DoXkgY2jhu6cgJXMgdOG7qyAlcyBi4bqxbmcgY8OhY2ggcmViYXNlLiIKIAogIzogYnJhbmNoLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayByZW1vdGUgYnJhbmNoICVzIGZyb20gJXMuIgotbXNnc3RyICJOaMOhbmggJXMgY8OgaSDEkeG6t3QgxJHhu4MgdGhlbyB24bq/dCBuaMOhbmggbcOheSBjaOG7pyAlcyB04burICVzLiIKK21zZ3N0ciAiTmjDoW5oICVzIGPDoGkgxJHhurd0IMSR4buDIHRoZW8gZMO1aSBuaMOhbmggbcOheSBjaOG7pyAlcyB04burICVzLiIKIAogIzogYnJhbmNoLmM6ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayBsb2NhbCBicmFuY2ggJXMgYnkgcmViYXNpbmcuIgotbXNnc3RyICJOaMOhbmggJXMgY8OgaSDEkeG6t3QgxJHhu4MgdGhlbyB24bq/dCBuaMOhbmggbuG7mWkgYuG7mSAlcyBi4bqxbmcgY8OhY2ggcmViYXNlLiIKK21zZ3N0ciAiTmjDoW5oICVzIGPDoGkgxJHhurd0IMSR4buDIHRoZW8gZMO1aSBuaMOhbmggbuG7mWkgYuG7mSAlcyBi4bqxbmcgY8OhY2ggcmViYXNlLiIKIAogIzogYnJhbmNoLmM6ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayBsb2NhbCBicmFuY2ggJXMuIgotbXNnc3RyICJOaMOhbmggJXMgY8OgaSDEkeG6t3QgxJHhu4MgdGhlbyB24bq/dCBuaMOhbmggbuG7mWkgYuG7mSAlcy4iCittc2dzdHIgIk5ow6FuaCAlcyBjw6BpIMSR4bq3dCDEkeG7gyB0aGVvIGTDtWkgbmjDoW5oIG7hu5lpIGLhu5kgJXMuIgogCiAjOiBicmFuY2guYzo5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSByZWYgJXMgYnkgcmViYXNpbmcuIgotbXNnc3RyICJOaMOhbmggJXMgY8OgaSDEkeG6t3QgxJHhu4MgdGhlbyB24bq/dCBuaMOhbmggbcOheSBjaOG7pyAlcyBi4bqxbmcgY8OhY2ggcmViYXNlLiIKK21zZ3N0ciAiTmjDoW5oICVzIGPDoGkgxJHhurd0IMSR4buDIHRoZW8gZMO1aSBuaMOhbmggbcOheSBjaOG7pyAlcyBi4bqxbmcgY8OhY2ggcmViYXNlLiIKIAogIzogYnJhbmNoLmM6OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICVzLiIKLW1zZ3N0ciAiTmjDoW5oICVzIGPDoGkgxJHhurd0IMSR4buDIHRoZW8gduG6v3QgdGhhbSBjaGnhur91IG3DoXkgY2jhu6cgJXMuIgorbXNnc3RyICJOaMOhbmggJXMgY8OgaSDEkeG6t3QgxJHhu4MgdGhlbyBkw7VpIHRoYW0gY2hp4bq/dSBtw6F5IGNo4bunICVzLiIKIAogIzogYnJhbmNoLmM6OTcKICMsIGMtZm9ybWF0CkBAIC0xODcsMTIgKzE5MiwxMiBAQAogIzogYnJhbmNoLmM6MTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyYWNraW5nIG5vdCBzZXQgdXA6IG5hbWUgdG9vIGxvbmc6ICVzIgotbXNnc3RyICJUaGVvIHbhur90IGNoxrBhIMSRxrDhu6NjIGPDoGkgxJHhurd0OiB0w6puIHF1w6EgZMOgaTogJXMiCittc2dzdHIgIlZp4buHYyB0aGVvIGTDtWkgY2jGsGEgxJHGsOG7o2MgY8OgaSDEkeG6t3Q6IHTDqm4gcXXDoSBkw6BpOiAlcyIKIAogIzogYnJhbmNoLmM6MTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCB0cmFja2luZzogYW1iaWd1b3VzIGluZm9ybWF0aW9uIGZvciByZWYgJXMiCi1tc2dzdHIgIktow7RuZyB0aGVvIHbhur90OiB0aMO0bmcgdGluIGNoxrBhIHLDtSByw6BuZyBjaG8gdGhhbSBjaGnhur91ICVzIgorbXNnc3RyICJLaMO0bmcgdGhlbyBkw7VpOiB0aMO0bmcgdGluIGNoxrBhIHLDtSByw6BuZyBjaG8gdGhhbSBjaGnhur91ICVzIgogCiAjOiBicmFuY2guYzoxODIKICMsIGMtZm9ybWF0CkBAIC0yMDgsMTkgKzIxMywxOSBAQAogbXNnaWQgIkNhbm5vdCBmb3JjZSB1cGRhdGUgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMOpcCBideG7mWMgY+G6rXAgbmjhuq10IG5ow6FuaCBoaeG7h24gaMOgbmguIgogCi0jOiBicmFuY2guYzoyMTYKKyM6IGJyYW5jaC5jOjIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc2V0dXAgdHJhY2tpbmcgaW5mb3JtYXRpb247IHN0YXJ0aW5nIHBvaW50ICclcycgaXMgbm90IGEgYnJhbmNoLiIKIG1zZ3N0ciAiIgotIktow7RuZyB0aOG7gyBjw6BpIMSR4bq3dCB0aMO0bmcgdGluIHRoZW8gduG6v3Q7IMSRaeG7g20gYuG6r3QgxJHhuqd1IOKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0ICIKKyJLaMO0bmcgdGjhu4MgY8OgaSDEkeG6t3QgdGjDtG5nIHRpbiB0aGVvIGTDtWk7IMSRaeG7g20gYuG6r3QgxJHhuqd1IOKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0ICIKICJuaMOhbmguIgogCi0jOiBicmFuY2guYzoyMTgKKyM6IGJyYW5jaC5jOjIxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgcmVxdWVzdGVkIHVwc3RyZWFtIGJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgotbXNnc3RyICJuaMOhbmggZMOybmcgbmfGsOG7o2MgxJHDoyB5w6p1IGPhuqd1IOKAnCVz4oCdIGNoxrBhIHPhurVuIGPDsyIKK21zZ3N0ciAibmjDoW5oIHRoxrDhu6NuZyBuZ3Xhu5NuIMSRw6MgecOqdSBj4bqndSDigJwlc+KAnSBraMO0bmcgdOG7k24gdOG6oWkiCiAKLSM6IGJyYW5jaC5jOjIyMAorIzogYnJhbmNoLmM6MjE5CiBtc2dpZCAiIgogIlxuIgogIklmIHlvdSBhcmUgcGxhbm5pbmcgb24gYmFzaW5nIHlvdXIgd29yayBvbiBhbiB1cHN0cmVhbVxuIgpAQCAtMjMyLDEwMSArMjM3LDEwMSBAQAogIlwiZ2l0IHB1c2ggLXVcIiB0byBzZXQgdGhlIHVwc3RyZWFtIGNvbmZpZyBhcyB5b3UgcHVzaC4iCiBtc2dzdHIgIiIKICJcbiIKLSJO4bq/dSBi4bqhbiBjw7Mgw70gxJHhu4tuaCB0csOqbiBjxqEgc+G7nyBjw7RuZyB2aeG7h2MgY+G7p2EgYuG6oW4gdHLDqm4gbmjDoW5oIGTDsm5nIG5nxrDhu6NjXG4iCisiTuG6v3UgYuG6oW4gY8OzIMO9IMSR4buLbmgg4oCcY+G6o2kgdOG7leKAnSBjw7RuZyB2aeG7h2MgY+G7p2EgYuG6oW4gdHLDqm4gbmjDoW5oIHRoxrDhu6NuZyBuZ3Xhu5NuXG4iCiAiKHVwc3RyZWFtKSBjw6FpIG3DoCDEkcOjIHPhurVuIGPDsyB0csOqbiBtw6F5IGNo4bunLCBi4bqhbiBj4bqnbiBjaOG6oXlcbiIKICJs4buHbmggXCJnaXQgZmV0Y2hcIiDEkeG7gyBs4bqleSBuw7MgduG7gS5cbiIKICJcbiIKLSJO4bq/dSBi4bqhbiBjw7Mgw70gxJHhu4tuaCBwdXNoIGzDqm5oIG3hu5l0IG5ow6FuaCBu4buZaSBi4buZIG3hu5tpIGPDoWkgbcOgXG4iCisiTuG6v3UgYuG6oW4gY8OzIMO9IMSR4buLbmggcHVzaCBsw6puIG3hu5l0IG5ow6FuaCBu4buZaSBi4buZIG3hu5tpIGPDoWkgbcOgXG4iCiAic+G6vSB0aGVvIGTDtWkgYuG6o24gxJHhu5FpIGNoaeG6v3UgbcOheSBjaOG7pyBj4bunYSBuw7MsIGLhuqFuIGPhuqduIGTDuW5nIGzhu4duaFxuIgotIlwiZ2l0IHB1c2ggLXVcIiDEkeG7gyDEkeG6t3QgY+G6pXUgaMOsbmggZMOybmcgbmfGsOG7o2MgYuG6oW4gbXXhu5FuIHB1c2guIgorIlwiZ2l0IHB1c2ggLXVcIiDEkeG7gyDEkeG6t3QgY+G6pXUgaMOsbmggdGjGsOG7o25nIG5ndeG7k24gYuG6oW4gbXXhu5FuIHB1c2guIgogCi0jOiBicmFuY2guYzoyNjUKKyM6IGJyYW5jaC5jOjI2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIktow7RuZyBwaOG6o2kgdMOqbiDEkeG7kWkgdMaw4bujbmcgaOG7o3AgbOG7hzog4oCcJXPigJ0uIgogCi0jOiBicmFuY2guYzoyODUKKyM6IGJyYW5jaC5jOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBbWJpZ3VvdXMgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICJUw6puIMSR4buRaSB0xrDhu6NuZyBjaMawYSByw7UgcsOgbmc6IOKAnCVz4oCdLiIKIAotIzogYnJhbmNoLmM6MjkwCisjOiBicmFuY2guYzoyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgYnJhbmNoIHBvaW50OiAnJXMnLiIKIG1zZ3N0ciAiTmjDoW5oIGtow7RuZyBo4bujcCBs4buHOiDigJwlc+KAnS4iCiAKLSM6IGJyYW5jaC5jOjI5NgorIzogYnJhbmNoLmM6Mjk1CiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgcmVmIGZvciB1cGRhdGUiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBraMOzYSB0aGFtIGNoaeG6v3UgKHJlZikgxJHhu4MgY+G6rXAgbmjhuq10IgogCi0jOiBicmFuY2guYzozMTQKKyM6IGJyYW5jaC5jOjMxMwogbXNnaWQgIkZhaWxlZCB0byB3cml0ZSByZWYiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBnaGkgdGhhbSBjaGnhur91IChyZWYpIgogCi0jOiBidW5kbGUuYzozNgorIzogYnVuZGxlLmM6MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBsb29rIGxpa2UgYSB2MiBidW5kbGUgZmlsZSIKIG1zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIGdp4buRbmcgbmjGsCB04bqtcCB0aW4gdjIgYnVuZGxlICjEkeG7i25oIGThuqFuZyBkdW1wIGPhu6dhIGdpdCkiCiAKLSM6IGJ1bmRsZS5jOjYzCisjOiBidW5kbGUuYzo2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVhZGVyOiAlcyVzICglZCkiCi1tc2dzdHIgInBo4bqnbiDEkeG6p3UgKGhlYWRlcikga2jDtG5nIMSRxrDhu6NjIHRo4burYSBuaOG6rW46ICVzJXMgKCVkKSIKK21zZ3N0ciAicGjhuqduIMSR4bqndSBraMO0bmcgxJHGsOG7o2MgdGjhu6thIG5o4bqtbjogJXMlcyAoJWQpIgogCi0jOiBidW5kbGUuYzo4OSBidWlsdGluL2NvbW1pdC5jOjY5NworIzogYnVuZGxlLmM6OTAgYnVpbHRpbi9jb21taXQuYzo3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58g4oCcJXPigJ0iCiAKLSM6IGJ1bmRsZS5jOjE0MAorIzogYnVuZGxlLmM6MTQxCiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyB0aGVzZSBwcmVyZXF1aXNpdGUgY29tbWl0czoiCi1tc2dzdHIgIktobyBjaOG7qWEgdGhp4bq/dSBuaOG7r25nIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgY+G6p24gdHLGsOG7m2MgaOG6v3QgbsOgeToiCittc2dzdHIgIktobyBjaOG7qWEgdGhp4bq/dSBuaOG7r25nIGzhuqduIGNodXnhu4NuIGdpYW8gdGnDqm4gcXV54bq/dCBuw6B5OiIKIAotIzogYnVuZGxlLmM6MTY0IHNlcXVlbmNlci5jOjY2MSBzZXF1ZW5jZXIuYzoxMTExIGJ1aWx0aW4vbG9nLmM6MzMxCi0jOiBidWlsdGluL2xvZy5jOjgwMSBidWlsdGluL2xvZy5jOjEzOTkgYnVpbHRpbi9sb2cuYzoxNjI1IGJ1aWx0aW4vbWVyZ2UuYzozNjQKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNTYKKyM6IGJ1bmRsZS5jOjE2NSBzZXF1ZW5jZXIuYzo2NjIgc2VxdWVuY2VyLmM6MTExMiBidWlsdGluL2xvZy5jOjMzMgorIzogYnVpbHRpbi9sb2cuYzo4MjEgYnVpbHRpbi9sb2cuYzoxNDE4IGJ1aWx0aW4vbG9nLmM6MTY0NCBidWlsdGluL21lcmdlLmM6MzU3CisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTU4CiBtc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCiBtc2dzdHIgImPDoGkgxJHhurd0IHZp4buHYyBkaSBjaHV54buDbiBxdWEgY8OhYyDEkWnhu4NtIHjDqXQgZHV54buHdCBn4bq3cCBs4buXaSIKIAotIzogYnVuZGxlLmM6MTg2CisjOiBidW5kbGUuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgY29udGFpbnMgdGhlc2UgJWQgcmVmczoiCiBtc2dzdHJbMF0gIkJ1bmRsZSBjaOG7qWEgdGhhbSBjaGnhur91IChyZWYpIG7DoHk6IgogbXNnc3RyWzFdICJCdW5kbGUgY2jhu6lhICVkIHRoYW0gY2hp4bq/dSAocmVmKToiCiAKLSM6IGJ1bmRsZS5jOjE5MworIzogYnVuZGxlLmM6MTk0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZWNvcmRzIGEgY29tcGxldGUgaGlzdG9yeS4iCiBtc2dzdHIgIkzhu4duaCBidW5kbGUgZ2hpIGzhuqFpIHRvw6BuIGLhu5kgbOG7i2NoIHPhu60uIgogCi0jOiBidW5kbGUuYzoxOTUKKyM6IGJ1bmRsZS5jOjE5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoaXMgcmVmOiIKIG1zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGVzZSAlZCByZWZzOiIKIG1zZ3N0clswXSAiTOG7h25oIGJ1bmRsZSB5w6p1IGPhuqd1IHRoYW0gY2hp4bq/dSBuw6B5OiIKIG1zZ3N0clsxXSAiTOG7h25oIGJ1bmRsZSB5w6p1IGPhuqd1ICVkIHRoYW0gY2hp4bq/dSAocmVmcykgbsOgeToiCiAKLSM6IGJ1bmRsZS5jOjI5NAorIzogYnVuZGxlLmM6Mjk2CiBtc2dpZCAicmV2LWxpc3QgZGllZCIKIG1zZ3N0ciAicmV2LWxpc3QgxJHDoyBjaOG6v3QiCiAKLSM6IGJ1bmRsZS5jOjMwMCBidWlsdGluL2xvZy5jOjEzMTAgYnVpbHRpbi9zaG9ydGxvZy5jOjI1OQorIzogYnVuZGxlLmM6MzAyIGJ1aWx0aW4vbG9nLmM6MTMyOSBidWlsdGluL3Nob3J0bG9nLmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyDEkcaw4bujYyB0aOG7q2Egbmjhuq1uOiAlcyIKIAotIzogYnVuZGxlLmM6MzM1CisjOiBidW5kbGUuYzozMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmICclcycgaXMgZXhjbHVkZWQgYnkgdGhlIHJldi1saXN0IG9wdGlvbnMiCiBtc2dzdHIgInRoLmNoaeG6v3Ug4oCcJXPigJ0gYuG7iyBsb+G6oWkgdHLhu6sgYuG7n2kgY8OhYyB0w7l5IGNo4buNbiByZXYtbGlzdCIKIAotIzogYnVuZGxlLmM6MzgwCisjOiBidW5kbGUuYzozODIKIG1zZ2lkICJSZWZ1c2luZyB0byBjcmVhdGUgZW1wdHkgYnVuZGxlLiIKIG1zZ3N0ciAiVOG7qyBjaOG7kWkgdOG6oW8gbeG7mXQgYnVuZGxlIHRy4buRbmcgcuG7l25nLiIKIAogIzogYnVuZGxlLmM6Mzk4CiBtc2dpZCAiQ291bGQgbm90IHNwYXduIHBhY2stb2JqZWN0cyIKLW1zZ3N0ciAiS2jDtG5nIHRo4buDIHPhuqNuIHNpbmggcGFjay1vYmplY3RzIgorbXNnc3RyICJLaMO0bmcgdGjhu4Mgc+G6o24gc2luaCDEkeG7kWkgdMaw4bujbmcgZ8OzaSIKIAogIzogYnVuZGxlLmM6NDE2CiBtc2dpZCAicGFjay1vYmplY3RzIGRpZWQiCkBAIC0zNTUsMTYgKzM2MCwxNiBAQAogbXNnaWQgIm1lbW9yeSBleGhhdXN0ZWQiCiBtc2dzdHIgImjhur90IGLhu5kgbmjhu5siCiAKLSM6IGNvbm5lY3RlZC5jOjYwCisjOiBjb25uZWN0ZWQuYzo3MAogbXNnaWQgIkNvdWxkIG5vdCBydW4gJ2dpdCByZXYtbGlzdCciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBjaOG6oXkg4oCcZ2l0IHJldi1saXN04oCdIgogCi0jOiBjb25uZWN0ZWQuYzo4MAorIzogY29ubmVjdGVkLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHdyaXRlIHRvIHJldi1saXN0OiAlcyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGdoaSB2w6BvIHJldi1saXN0OiAlcyIKIAotIzogY29ubmVjdGVkLmM6ODgKKyM6IGNvbm5lY3RlZC5jOjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjbG9zZSByZXYtbGlzdCdzIHN0ZGluOiAlcyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSRw7NuZyDEkeG6p3UgdsOgbyBjaHXhuqluIHN0ZGluIGPhu6dhIHJldi1saXN0OiAlcyIKQEAgLTQzNiwyMiArNDQxLDI3IEBACiBtc2dzdHJbMF0gIiVsdSBuxINtIHRyxrDhu5tjIgogbXNnc3RyWzFdICIlbHUgbsSDbSB0csaw4bubYyIKIAotIzogZGlmZi5jOjExMgorIzogZGlmZmNvcmUtb3JkZXIuYzoyNAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBvcmRlcmZpbGUgJyVzJyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4buNYyB04bqtcC10aW4tdGjhu6ktdOG7sSDigJwlc+KAnSIKKworIzogZGlmZi5jOjExMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCiBtc2dzdHIgIiAgR+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIGRpcnN0YXQgY+G6r3QgYuG7jyBwaOG6p24gdHLEg20g4oCcJXPigJ1cbiIKIAotIzogZGlmZi5jOjExNworIzogZGlmZi5jOjExOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyVzJ1xuIgogbXNnc3RyICIgIEtow7RuZyBoaeG7g3UgxJHhu5FpIHPhu5EgZGlyc3RhdCDigJwlc+KAnVxuIgogCi0jOiBkaWZmLmM6MjEwCisjOiBkaWZmLmM6MjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdmFsdWUgZm9yICdkaWZmLnN1Ym1vZHVsZScgY29uZmlnIHZhcmlhYmxlOiAnJXMnIgogbXNnc3RyICJLaMO0bmcgaGnhu4N1IGdpw6EgdHLhu4sgY2hvIGJp4bq/biBj4bqldSBow6xuaCDigJxkaWZmLnN1Ym1vZHVsZeKAnTog4oCcJXPigJ0iCiAKLSM6IGRpZmYuYzoyNjAKKyM6IGRpZmYuYzoyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZvdW5kIGVycm9ycyBpbiAnZGlmZi5kaXJzdGF0JyBjb25maWcgdmFyaWFibGU6XG4iCkBAIC00NjAsNyArNDcwLDcgQEAKICJUw6xtIHRo4bqleSBjw6FjIGzhu5dpIHRyb25nIGJp4bq/biBj4bqldSBow6xuaCDigJxkaWZmLmRpcnN0YXTigJ06XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzozNDg3CisjOiBkaWZmLmM6MzUwOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIHBhcnNlIC0tZGlyc3RhdC8tWCBvcHRpb24gcGFyYW1ldGVyOlxuIgpAQCAtNDY5LDcgKzQ3OSw3IEBACiAiR+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIMSR4buRaSBz4buRIHTDuXkgY2jhu41uIC0tZGlyc3RhdC8tWDpcbiIKICIlcyIKIAotIzogZGlmZi5jOjM1MDEKKyM6IGRpZmYuYzozNTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggxJHhu5FpIHPhu5EgdMO5eSBjaOG7jW4gLS1zdWJtb2R1bGU6IOKAnCVz4oCdIgpAQCAtNDk2LDE3ICs1MDYsMTcgQEAKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJzogJXMiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBnaGkgY2jhu68ga8O9IMSRw61uaCBrw6htIHbDoG8g4oCcJXPigJ06ICVzIgogCi0jOiBncmVwLmM6MTYyMworIzogZ3JlcC5jOjE2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIuKAnCVz4oCdOiBraMO0bmcgdGjhu4MgxJHhu41jICVzIgogCi0jOiBncmVwLmM6MTY0MAorIzogZ3JlcC5jOjE3MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogJXMiCiBtc2dzdHIgIuKAnCVz4oCdOiAlcyIKIAotIzogZ3JlcC5jOjE2NTEKKyM6IGdyZXAuYzoxNzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQgJXMiCiBtc2dzdHIgIuKAnCVz4oCdOiDEkeG7jWMgbmfhuq9uICVzIgpAQCAtNTE4LDExICs1MjgsMTEgQEAKIAogIzogaGVscC5jOjIxNwogbXNnaWQgImdpdCBjb21tYW5kcyBhdmFpbGFibGUgZnJvbSBlbHNld2hlcmUgb24geW91ciAkUEFUSCIKLW1zZ3N0ciAiY8OhYyBs4buHbmggZ2l0IHPhurVuIHPDoG5nIMSR4buDIGTDuW5nIHThu6sgbeG7mXQgbsahaSBraMOhYyB0cm9uZyAkUEFUSCBj4bunYSBi4bqhbiIKK21zZ3N0ciAiY8OhYyBs4buHbmggZ2l0IHPhurVuIGPDsyB04burIG3hu5l0IG7GoWkga2jDoWMgdHJvbmcgJFBBVEggY+G7p2EgYuG6oW4iCiAKICM6IGhlbHAuYzoyMzMKIG1zZ2lkICJUaGUgbW9zdCBjb21tb25seSB1c2VkIGdpdCBjb21tYW5kcyBhcmU6IgotbXNnc3RyICJOaOG7r25nIGzhu4duaCBnaXQgaGF5IMSRxrDhu6NjIHPhu60gZOG7pW5nIG5o4bqldCBsw6A6IgorbXNnc3RyICJOaOG7r25nIGzhu4duaCBnaXQgaGF5IMSRxrDhu6NjIGTDuW5nIG5o4bqldCBsw6A6IgogCiAjOiBoZWxwLmM6MjkwCiAjLCBjLWZvcm1hdApAQCAtNTQ0LDcgKzU1NCw3IEBACiAiQ29udGludWluZyB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHlvdSBtZWFudCAnJXMnIgogbXNnc3RyICIiCiAiQ+G6ok5IIELDgU86IELhuqFuIMSRw6MgZ+G7jWkgbOG7h25oIEdpdCBjw7MgdMOqbiDigJwlc+KAnSwgbcOgIG7DsyBs4bqhaSBraMO0bmcgY8OzIHPhurVuLlxuIgotIkdp4bqjIMSR4buLbmggcuG6sW5nIMO9IGLhuqFuIGzDoCDigJwlc+KAnSIKKyJUaeG6v3AgdOG7pWMgdsOgIGNvaSBy4bqxbmcgw70gYuG6oW4gbMOgIOKAnCVz4oCdIgogCiAjOiBoZWxwLmM6Mzc0CiAjLCBjLWZvcm1hdApAQCAtNTc3LDEwICs1ODcsMTAgQEAKIAogIzogbWVyZ2UuYzo1NgogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBjYWNoZSIKLW1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4buNYyBi4buZIG5o4bubIHThuqFtIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jIGLhu5kgbmjhu5sgxJHhu4dtIgogCi0jOiBtZXJnZS5jOjExMCBidWlsdGluL2NoZWNrb3V0LmM6MzY1IGJ1aWx0aW4vY2hlY2tvdXQuYzo1NjYKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NTYKKyM6IG1lcmdlLmM6MTEwIGJ1aWx0aW4vY2hlY2tvdXQuYzozNTggYnVpbHRpbi9jaGVja291dC5jOjU1OQorIzogYnVpbHRpbi9jbG9uZS5jOjY2MQogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB04bqtcCB0aW4gbMawdSBi4bqjbmcgbeG7pWMgbOG7pWMgbeG7m2kiCiAKQEAgLTYxNyw3ICs2MjcsNyBAQAogIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzA5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJyVzJyIKLW1zZ3N0ciAidOG7qyBjaOG7kWkgxJHDs25nIHThuq1wIHRpbiBraMO0bmcgxJHGsOG7o2MgdGhlbyB24bq/dCB04bqhaSDigJwlc+KAnSIKK21zZ3N0ciAidOG7qyBjaOG7kWkgxJHDs25nIHThuq1wIHRpbiBraMO0bmcgxJHGsOG7o2MgdGhlbyBkw7VpIHThuqFpIOKAnCVz4oCdIgogCiAjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NDkKICMsIGMtZm9ybWF0CkBAIC02MjksNyArNjM5LDcgQEAKIG1zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgogbXNnc3RyICLEkeG7kWkgdMaw4bujbmcgYmxvYiDEkcaw4bujYyBtb25nIMSR4bujaSBjaG8gJXMg4oCcJXPigJ0iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc3NCBidWlsdGluL2Nsb25lLmM6MzEyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NzQgYnVpbHRpbi9jbG9uZS5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbeG7nyDigJwlc+KAnSIKQEAgLTYzNyw3ICs2NDcsNyBAQAogIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzeW1saW5rICclcyciCi1tc2dzdHIgImfhurdwIGzhu5dpIGtoaSB04bqhbyBsacOqbiBr4bq/dCB0xrDhu6NuZyB0csawbmcgKHN5bWxpbmspIOKAnCVz4oCdIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdOG6oW8gbGnDqm4ga+G6v3QgbeG7gW0gKHN5bWxpbmspIOKAnCVz4oCdIgogCiAjOiBtZXJnZS1yZWN1cnNpdmUuYzo3ODUKICMsIGMtZm9ybWF0CkBAIC02NzksNyArNjg5LDcgQEAKIG1zZ2lkICJyZW5hbWUiCiBtc2dzdHIgIsSR4buVaSB0w6puIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgyIHd0LXN0YXR1cy5jOjI4MwogbXNnaWQgInJlbmFtZWQiCiBtc2dzdHIgIsSRw6MgxJHhu5VpIHTDqm4iCiAKQEAgLTc0Miw3ICs3NTIsNyBAQAogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAic+G7rWEgxJHhu5VpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTY1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTY1IHd0LXN0YXR1cy5jOjI4MQogbXNnaWQgIm1vZGlmaWVkIgogbXNnc3RyICLEkcOjIHPhu61hIgogCkBAIC03NjQsNyArNzc0LDcgQEAKIG1zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCiBtc2dzdHIgIlThu7EtxJHhu5luZy1ow7JhLXRy4buZbiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYzNCBnaXQtc3VibW9kdWxlLnNoOjExMTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzQgZ2l0LXN1Ym1vZHVsZS5zaDoxMTQ4CiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICJtw7QtxJF1bi1jb24iCiAKQEAgLTgyOSwyMiArODM5LDIyIEBACiAKICM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5NDEKIG1zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCi1tc2dzdHIgImjDsmEgdHLhu5luIGtow7RuZyB0cuG6oyB24buBIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgbsOgbyIKK21zZ3N0ciAiaMOyYSB0cuG7mW4ga2jDtG5nIHRy4bqjIHbhu4EgbOG6p24gY2h1eeG7g24gZ2lhbyBuw6BvIgogCiAjOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIMSR4buRaSB0xrDhu6NuZyDigJwlc+KAnSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAxMCBidWlsdGluL21lcmdlLmM6NjcyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDEwIGJ1aWx0aW4vbWVyZ2UuYzo2NjUKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5kZXguIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGLhuqNuZyBt4bulYyBs4bulYyIKIAogIzogbm90ZXMtdXRpbHMuYzo0MAogbXNnaWQgIkNhbm5vdCBjb21taXQgdW5pbml0aWFsaXplZC91bnJlZmVyZW5jZWQgbm90ZXMgdHJlZSIKIG1zZ3N0ciAiIgotIktow7RuZyB0aOG7gyBjaHV54buDbiBnaWFvIChjb21taXQpIGNoxrBhIMSRxrDhu6NjIGto4bufaSB04bqhbyBob+G6t2Mga2jDtG5nIMSRxrDhu6NjIHRoYW0gY2hp4bq/dSAiCi0iY8OieSBnaGkgY2jDuiIKKyJLaMO0bmcgdGjhu4MgY2h1eeG7g24gZ2lhbyBjw6J5IGdoaSBjaMO6IGNoxrBhIMSRxrDhu6NjIGto4bufaSB04bqhbyBob+G6t2Mga2jDtG5nIMSRxrDhu6NjIHRoYW0gIgorImNoaeG6v3UiCiAKICM6IG5vdGVzLXV0aWxzLmM6ODEKICMsIGMtZm9ybWF0CkBAIC04NTQsNyArODY0LDcgQEAKICM6IG5vdGVzLXV0aWxzLmM6OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gcmV3cml0ZSBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCi1tc2dzdHIgIlThu6sgY2jhu5FpIGdoaSDEkcOoIGdoaSBjaMO6IHRyb25nICVzIChu4bqxbSBuZ2/DoGkgY+G7p2EgcmVmcy9ub3Rlcy8pIgorbXNnc3RyICJU4burIGNo4buRaSBnaGkgxJHDqCBnaGkgY2jDuiB0cm9uZyAlcyAobuG6sW0gbmdvw6BpIHJlZnMvbm90ZXMvKSIKIAogIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyB0aGUgbmFtZSBvZiB0aGUKICMuIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgc2Vjb25kICVzIGlzIGl0cyB2YWx1ZQpAQCAtODYzLDc0ICs4NzMsMTczIEBACiBtc2dpZCAiQmFkICVzIHZhbHVlOiAnJXMnIgogbXNnc3RyICJHacOhIHRy4buLICVzIHNhaTog4oCcJXPigJ0iCiAKLSM6IG9iamVjdC5jOjIwNAorIzogb2JqZWN0LmM6MjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBvYmplY3Q6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggxJHhu5FpIHTGsOG7o25nOiDigJwlc+KAnSIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjQ4OQorIzogcGFyc2Utb3B0aW9ucy5jOjUzNwogbXNnaWQgIi4uLiIKIG1zZ3N0ciAiLi4uIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTA3CisjOiBwYXJzZS1vcHRpb25zLmM6NTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyIKIG1zZ3N0ciAiY8OhY2ggZMO5bmc6ICVzIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uIGhlcmUgc2hvdWxkIGFsaWduIHdpdGggdGhlCiAjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24KLSM6IHBhcnNlLW9wdGlvbnMuYzo1MTEKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgb3I6ICVzIgogbXNnc3RyICIgICAgIGhv4bq3YzogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1MTQKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICVzIgogbXNnc3RyICIgICAgJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1NDgKKyM6IHBhcnNlLW9wdGlvbnMuYzo1OTYKIG1zZ2lkICItTlVNIgogbXNnc3RyICItU+G7kCIKIAotIzogcGF0aHNwZWMuYzo4MwotIywgYy1mb3JtYXQKLW1zZ2lkICJQYXRoICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKLW1zZ3N0ciAixJDGsOG7nW5nIGThuqtuIOKAnCVz4oCdIHRow6wg4bufIHRyb25nIG3DtC3EkXVuLWNvbiDigJwlLipz4oCdIgorIzogcGF0aHNwZWMuYzoxMzMKK21zZ2lkICJnbG9iYWwgJ2dsb2InIGFuZCAnbm9nbG9iJyBwYXRoc3BlYyBzZXR0aW5ncyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisiY8OhYyBjw6BpIMSR4bq3dCDEkeG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24g4oCcZ2xvYuKAnSB2w6Ag4oCcbm9nbG9i4oCdIHRvw6BuIGPhu6VjIGzDoCB4dW5nIGto4bqvYyBuaGF1IgogCi0jOiBwYXRoc3BlYy5jOjk5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKLW1zZ3N0ciAi4oCcJXPigJ0gbuG6sW0gbmdvw6BpIG3hu5l0IGxpw6puIGvhur90IHTGsOG7o25nIHRyxrBuZyIKKyM6IHBhdGhzcGVjLmM6MTQzCittc2dpZCAiIgorImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgZ2xvYmFsICIKKyJwYXRoc3BlYyBzZXR0aW5ncyIKK21zZ3N0ciAiIgorImPDoGkgxJHhurd0IMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiDigJxsaXRlcmFs4oCdIHRvw6BuIGPhu6VjIGzDoCB4dW5nIGto4bqvYyB24bubaSBjw6FjIGPDoGkgxJHhurd0IMSR4bq3YyAiCisidOG6oyDEkcaw4budbmcgZOG6q24gdG/DoG4gY+G7pWMga2jDoWMiCiAKLSM6IHJlbW90ZS5jOjE3ODgKKyM6IHBhdGhzcGVjLmM6MTc3Cittc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXIgZm9yIHBhdGhzcGVjIG1hZ2ljICdwcmVmaXgnIgorbXNnc3RyICJ0aGFtIHPhu5Ega2jDtG5nIGjhu6NwIGzhu4cgY2hvIOKAnHRp4buBbiB04buR4oCdIG3DoHUgbmhp4buHbSDEkeG6t2MgdOG6oyDEkcaw4budbmcgxJHhuqtuIgorCisjOiBwYXRoc3BlYy5jOjE4MworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhdGhzcGVjIG1hZ2ljICclLipzJyBpbiAnJXMnIgorbXNnc3RyICJT4buRIG3DoHUgbmhp4buHbSDEkeG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24ga2jDtG5nIGjhu6NwIGzhu4cg4oCcJS4qc+KAnSB0cm9uZyDigJwlc+KAnSIKKworIzogcGF0aHNwZWMuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWlzc2luZyAnKScgYXQgdGhlIGVuZCBvZiBwYXRoc3BlYyBtYWdpYyBpbiAnJXMnIgorbXNnc3RyICJUaGnhur91IOKAnCnigJ0gdOG6oWkgY3Xhu5FpIGPhu6dhIHPhu5EgbcOgdSBuaGnhu4dtIMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiB0cm9uZyDigJwlc+KAnSIKKworIzogcGF0aHNwZWMuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pbXBsZW1lbnRlZCBwYXRoc3BlYyBtYWdpYyAnJWMnIGluICclcyciCittc2dzdHIgIkNoxrBhIHZp4bq/dCBtw6MgY2hvIHPhu5EgbcOgdSBuaGnhu4dtIMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiDigJwlY+KAnSB0cm9uZyDigJwlc+KAnSIKKworIzogcGF0aHNwZWMuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICdsaXRlcmFsJyBhbmQgJ2dsb2InIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiVzOiDigJxsaXRlcmFs4oCdIHbDoCDigJxnbG9i4oCdIHh1bmcga2jhuq9jIG5oYXUiCisKKyM6IHBhdGhzcGVjLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAnJXMnIGlzIG91dHNpZGUgcmVwb3NpdG9yeSIKK21zZ3N0ciAiJXM6IOKAnCVz4oCdIG5nb8OgaSBt4buZdCBraG8gY2jhu6lhIgorCisjOiBwYXRoc3BlYy5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXRoc3BlYyAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCittc2dzdHIgIsSQ4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSB0aMOsIOG7nyB0cm9uZyBtw7QtxJF1bi1jb24g4oCcJS4qc+KAnSIKKworIy4KKyMuICogV2UgbWF5IHdhbnQgdG8gc3Vic3RpdHV0ZSAidGhpcyBjb21tYW5kIiB3aXRoIGEgY29tbWFuZAorIy4gKiBuYW1lLiBFLmcuIHdoZW4gYWRkLS1pbnRlcmFjdGl2ZSBkaWVzIHdoZW4gcnVubmluZworIy4gKiAiY2hlY2tvdXQgLXAiCisjLgorIzogcGF0aHNwZWMuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKK21zZ3N0ciAiJXM6IHPhu5EgbeG6p3Ugbmhp4buHbSDEkeG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24gY2jGsGEgxJHGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSBs4buHbmggbsOgeTogJXMiCisKKyM6IHBhdGhzcGVjLmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAixJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIHbGsOG7o3QgcmEgbmdvw6BpIGxpw6puIGvhur90IG3hu4FtIgorCisjOiBwYXRoc3BlYy5jOjQ0MgorbXNnaWQgIiIKKyJUaGVyZSBpcyBub3RoaW5nIHRvIGV4Y2x1ZGUgZnJvbSBieSA6KGV4Y2x1ZGUpIHBhdHRlcm5zLlxuIgorIlBlcmhhcHMgeW91IGZvcmdvdCB0byBhZGQgZWl0aGVyICc6Lycgb3IgJy4nID8iCittc2dzdHIgIiIKKyLhu54gxJHDonkga2jDtG5nIGPDsyBnw6wgYuG7iyBsb+G6oWkgdHLhu6sgYuG7n2k6IGPDoWMgbeG6q3UgKGxv4bqhaSB0cuG7qykuXG4iCisiQ8OzIGzhur0gYuG6oW4gxJHDoyBxdcOqbiB0aMOqbSBob+G6t2MgbMOgIOKAnDov4oCdIGhv4bq3YyBsw6Ag4oCcLuKAnT8iCisKKyM6IHJlbW90ZS5jOjc1MworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZmV0Y2ggYm90aCAlcyBhbmQgJXMgdG8gJXMiCittc2dzdHIgIktow7RuZyB0aOG7gyBs4bqleSB24buBIGPhuqMgJXMgdsOgICVzIGNobyAlcyIKKworIzogcmVtb3RlLmM6NzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzdWFsbHkgdHJhY2tzICVzLCBub3QgJXMiCittc2dzdHIgIiVzIHRoxrDhu51uZyB0aGVvIGTDtWkgJXMsIGtow7RuZyBwaOG6o2kgJXMiCisKKyM6IHJlbW90ZS5jOjc2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0cmFja3MgYm90aCAlcyBhbmQgJXMiCittc2dzdHIgIiVzIHRoZW8gZMO1aSBj4bqjICVzIHbDoCAlcyIKKworIy4KKyMuICogVGhpcyBsYXN0IHBvc3NpYmlsaXR5IGRvZXNuJ3Qgb2NjdXIgYmVjYXVzZQorIy4gKiBGRVRDSF9IRUFEX0lHTk9SRSBlbnRyaWVzIGFsd2F5cyBhcHBlYXIgYXQKKyMuICogdGhlIGVuZCBvZiB0aGUgbGlzdC4KKyMuCisjOiByZW1vdGUuYzo3NjkKK21zZ2lkICJJbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiTOG7l2kgbuG7mWkgYuG7mSIKKworIzogcmVtb3RlLmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIGJyYW5jaCBpcyBiYXNlZCBvbiAnJXMnLCBidXQgdGhlIHVwc3RyZWFtIGlzIGdvbmUuXG4iCittc2dzdHIgIiIKKyJOaMOhbmggY+G7p2EgYuG6oW4gZOG7sWEgdHLDqm4gY8ahIHPhu58gbMOgIOKAnCVz4oCdLCBuaMawbmcgdHLDqm4gdGjGsOG7o25nIG5ndeG7k24ga2jDtG5nIGPDsm4uXG4iCisKKyM6IHJlbW90ZS5jOjE4NzUKK21zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKK21zZ3N0ciAiICAgKGTDuW5nIFwiIGdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIMSR4buDIHPhu61hKVxuIgorCisjOiByZW1vdGUuYzoxODc4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwLXRvLWRhdGUgd2l0aCAnJXMnLlxuIgorbXNnc3RyICJOaMOhbmggY+G7p2EgYuG6oW4gxJHDoyBj4bqtcCBuaOG6rXQgduG7m2kg4oCcJXPigJ0uXG4iCisKKyM6IHJlbW90ZS5jOjE4ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKLW1zZ3N0clswXSAiTmjDoW5oIGPhu6dhIGLhuqFuIGzDoCDEkeG6p3UgY+G7p2Eg4oCcJXPigJ0gYuG7n2kgJWQgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KS5cbiIKLW1zZ3N0clsxXSAiTmjDoW5oIGPhu6dhIGLhuqFuIGzDoCDEkeG6p3UgY+G7p2Eg4oCcJXPigJ0gYuG7n2kgJWQgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KS5cbiIKK21zZ3N0clswXSAiTmjDoW5oIGPhu6dhIGLhuqFuIGzDoCDEkeG6p3UgY+G7p2Eg4oCcJXPigJ0gYuG7n2kgJWQgbOG6p24gY2h1eeG7g24gZ2lhby5cbiIKK21zZ3N0clsxXSAiTmjDoW5oIGPhu6dhIGLhuqFuIGzDoCDEkeG6p3UgY+G7p2Eg4oCcJXPigJ0gYuG7n2kgJWQgbOG6p24gY2h1eeG7g24gZ2lhby5cbiIKIAotIzogcmVtb3RlLmM6MTc5NAorIzogcmVtb3RlLmM6MTg4OAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IHB1c2hcIiDEkeG7gyB4deG6pXQgYuG6o24gY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIG7hu5lpIGLhu5kgY+G7p2EgYuG6oW4pXG4iCiAKLSM6IHJlbW90ZS5jOjE3OTcKKyM6IHJlbW90ZS5jOjE4OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCiAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0cywgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKIG1zZ3N0clswXSAiIgotIk5ow6FuaCBj4bunYSBi4bqhbiB0aMOsIOG7nyDEkeG6sW5nIHNhdSDigJwlc+KAnSBi4bufaSAlZCBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpLCB2w6AgY8OzIHRo4buDICIKLSLEkcaw4bujYyBmYXN0LWZvcndhcmQuXG4iCisiTmjDoW5oIGPhu6dhIGLhuqFuIOG7nyDEkeG6sW5nIHNhdSDigJwlc+KAnSAlZCBs4bqnbiBjaHV54buDbiBnaWFvLCB2w6AgY8OzIHRo4buDIMSRxrDhu6NjIGZhc3QtIgorImZvcndhcmQuXG4iCiBtc2dzdHJbMV0gIiIKLSJOaMOhbmggY+G7p2EgYuG6oW4gdGjDrCDhu58gxJHhurFuZyBzYXUg4oCcJXPigJ0gYuG7n2kgJWQgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSwgdsOgIGPDsyB0aOG7gyAiCi0ixJHGsOG7o2MgZmFzdC1mb3J3YXJkLlxuIgorIk5ow6FuaCBj4bunYSBi4bqhbiDhu58gxJHhurFuZyBzYXUg4oCcJXPigJ0gJWQgbOG6p24gY2h1eeG7g24gZ2lhbywgdsOgIGPDsyB0aOG7gyDEkcaw4bujYyBmYXN0LSIKKyJmb3J3YXJkLlxuIgogCi0jOiByZW1vdGUuYzoxODA1CisjOiByZW1vdGUuYzoxODk5CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byB1cGRhdGUgeW91ciBsb2NhbCBicmFuY2gpXG4iCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IHB1bGxcIiDEkeG7gyBj4bqtcCBuaOG6rXQgbmjDoW5oIG7hu5lpIGLhu5kgY+G7p2EgYuG6oW4pXG4iCiAKLSM6IHJlbW90ZS5jOjE4MDgKKyM6IHJlbW90ZS5jOjE5MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCkBAIC05NDAsMTMgKzEwNDksMTMgQEAKICJhbmQgaGF2ZSAlZCBhbmQgJWQgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LlxuIgogbXNnc3RyWzBdICIiCiAiTmjDoW5oIGPhu6dhIGLhuqFuIHbDoCDigJwlc+KAnSBi4buLIHBow6JuIGvhu7MsXG4iCi0idsOgIGPDsyAlZCB2w6AgJWQgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBraMOhYyBuaGF1IGNobyB04burbmcgY8OhaSxcbiIKKyJ2w6AgY8OzICVkIHbDoCAlZCBs4bqnbiBjaHV54buDbiBnaWFvIGtow6FjIG5oYXUgY2hvIHThu6tuZyBjw6FpLFxuIgogInTGsMahbmcg4bupbmcgduG7m2kgbeG7l2kgbOG6p24uXG4iCiBtc2dzdHJbMV0gIiIKICJZb3VyIGJyYW5jaCBhbmQg4oCcJXPigJ0gaGF2ZSBkaXZlcmdlZCxcbiIKICJhbmQgaGF2ZSAlZCBhbmQgJWQgZGlmZmVyZW50IGNvbW1pdCBlYWNoLCByZXNwZWN0aXZlbHkuXG4iCiAKLSM6IHJlbW90ZS5jOjE4MTgKKyM6IHJlbW90ZS5jOjE5MTIKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCiBtc2dzdHIgIiIKICIgIChkw7luZyBcImdpdCBwdWxsXCIgxJHhu4MgaMOyYSB0cuG7mW4gbmjDoW5oIHRyw6puIG3DoXkgY2jhu6cgdsOgbyB0cm9uZyBuaMOhbmggY+G7p2EgIgpAQCAtOTU0LDIxICsxMDYzLDIxIEBACiAKICM6IHJ1bi1jb21tYW5kLmM6ODAKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCi1tc2dzdHIgImfhurdwIGzhu5dpIGtoaSBt4bufIC9kZXYvbnVsbCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIG3hu58g4oCcL2Rldi9udWxs4oCdIgogCiAjOiBydW4tY29tbWFuZC5jOjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImR1cDIoJWQsJWQpIGZhaWxlZCIKIG1zZ3N0ciAiZHVwMiglZCwlZCkgZ+G6t3AgbOG7l2kiCiAKLSM6IHNlcXVlbmNlci5jOjIwNiBidWlsdGluL21lcmdlLmM6NzkwIGJ1aWx0aW4vbWVyZ2UuYzo5MDMKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDEzIGJ1aWx0aW4vbWVyZ2UuYzoxMDIzCisjOiBzZXF1ZW5jZXIuYzoyMDYgYnVpbHRpbi9tZXJnZS5jOjc4MyBidWlsdGluL21lcmdlLmM6ODk2CisjOiBidWlsdGluL21lcmdlLmM6MTAwNiBidWlsdGluL21lcmdlLmM6MTAxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyDigJwlc+KAnSDEkeG7gyBnaGkiCiAKLSM6IHNlcXVlbmNlci5jOjIwOCBidWlsdGluL21lcmdlLmM6MzUwIGJ1aWx0aW4vbWVyZ2UuYzo3OTMKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDE1IGJ1aWx0aW4vbWVyZ2UuYzoxMDI4CisjOiBzZXF1ZW5jZXIuYzoyMDggYnVpbHRpbi9tZXJnZS5jOjM0MyBidWlsdGluL21lcmdlLmM6Nzg2CisjOiBidWlsdGluL21lcmdlLmM6MTAwOCBidWlsdGluL21lcmdlLmM6MTAyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSB2w6BvIOKAnCVz4oCdIgpAQCAtOTg5LDkgKzEwOTgsOSBAQAogbXNnc3RyICIiCiAic2F1IGtoaSBnaeG6o2kgcXV54bq/dCBjw6FjIHh1bmcgxJHhu5l0LCDEkcOhbmggZOG6pXUgxJHGsOG7nW5nIGThuqtuIMSRw6Mgc+G7rWFcbiIKICJ24bubaSBs4buHbmgg4oCcZ2l0IGFkZCA8xJHGsOG7nW5nX2ThuqtuPuKAnSBob+G6t2Mg4oCcZ2l0IHJtIDzEkcaw4budbmdfZOG6q24+4oCdXG4iCi0idsOgIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkga+G6v3QgcXXhuqMgYuG6sW5nIGzhu4duaCDigJxnaXQgY29tbWl04oCdIgorInbDoCBjaHV54buDbiBnaWFvIGvhur90IHF14bqjIGLhurFuZyBs4buHbmgg4oCcZ2l0IGNvbW1pdOKAnSIKIAotIzogc2VxdWVuY2VyLmM6MjQ1IHNlcXVlbmNlci5jOjg2OSBzZXF1ZW5jZXIuYzo5NTIKKyM6IHNlcXVlbmNlci5jOjI0NSBzZXF1ZW5jZXIuYzo4NzAgc2VxdWVuY2VyLmM6OTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAlcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSB2w6BvICVzIgpAQCAtMTAxMSwyMDggKzExMjAsMjA2IEBACiAKICM6IHNlcXVlbmNlci5jOjI2OAogbXNnaWQgIkNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKLW1zZ3N0ciAiQ2h1eeG7g24gZ2lhbyAoY29tbWl0KSBjw6FjIHRoYXkgxJHhu5VpIGPhu6dhIGLhuqFuIGhheSBzdGFzaCBjaMO6bmcgxJHhu4MgeOG7rSBsw70uIgorbXNnc3RyICJDaHV54buDbiBnaWFvIGPDoWMgdGhheSDEkeG7lWkgY+G7p2EgYuG6oW4gaGF5IHThuqFtIGPhuqV0IChzdGFzaCkgY2jDum5nIMSR4buDIHjhu60gbMO9LiIKIAogIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIgb3IgImNoZXJyeS1waWNrIgotIzogc2VxdWVuY2VyLmM6MzI0CisjOiBzZXF1ZW5jZXIuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiJXM6IEtow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIG3hu5tpIgogCi0jOiBzZXF1ZW5jZXIuYzozNTUKKyM6IHNlcXVlbmNlci5jOjM1NgogbXNnaWQgIkNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyBwaMOibiBnaeG6o2kgY29tbWl0IChs4bqnbiBjaHV54buDbiBnaWFvKSBIRUFEXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM3NworIzogc2VxdWVuY2VyLmM6Mzc4CiBtc2dpZCAiVW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlXG4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgY8OieSBi4buZIG5o4bubIMSR4buHbVxuIgogCi0jOiBzZXF1ZW5jZXIuYzo0MjIKKyM6IHNlcXVlbmNlci5jOjQyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjb21taXQgKGzhuqduIGNodXnhu4NuIGdpYW8pICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQyNworIzogc2VxdWVuY2VyLmM6NDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzXG4iCi1tc2dzdHIgIktow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjb21taXQgKGzhuqduIGNodXnhu4NuIGdpYW8pIGNoYSBt4bq5ICVzXG4iCittc2dzdHIgIktow7RuZyB0aOG7gyBwaMOibiB0w61jaCBs4bqnbiBjaHV54buDbiBnaWFvIGNoYSBt4bq5IOKAnCVz4oCdXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQ5MworIzogc2VxdWVuY2VyLmM6NDk0CiBtc2dpZCAiWW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKIG1zZ3N0ciAiVOG6rXAgdGluIGzGsHUgbeG7pWMgbOG7pWMgY+G7p2EgYuG6oW4ga2jDtG5nIMSRxrDhu6NjIGjDsmEgdHLhu5luLiIKIAotIzogc2VxdWVuY2VyLmM6NTEyCisjOiBzZXF1ZW5jZXIuYzo1MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgotbXNnc3RyICIiCi0iTOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSAlcyBsw6AgbeG7mXQgbOG6p24gaMOyYSB0cuG7mW4gbmjGsG5nIGtow7RuZyDEkcawYSByYSB0w7l5IGNo4buNbiAtIgotIm0uIgorbXNnc3RyICJM4bqnbiBjaHV54buDbiBnaWFvICVzIGzDoCBt4buZdCBs4bqnbiBow7JhIHRy4buZbiBuaMawbmcga2jDtG5nIMSRxrBhIHJhIHTDuXkgY2jhu41uIC1tLiIKIAotIzogc2VxdWVuY2VyLmM6NTIwCisjOiBzZXF1ZW5jZXIuYzo1MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgotbXNnc3RyICJM4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpICVzIGtow7RuZyBjw7MgY2hhIG3hurkgJWQiCittc2dzdHIgIkzhuqduIGNodXnhu4NuIGdpYW8gJXMga2jDtG5nIGPDsyBjaGEgbeG6uSAlZCIKIAotIzogc2VxdWVuY2VyLmM6NTI0CisjOiBzZXF1ZW5jZXIuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKIG1zZ3N0ciAiIgotIkx14buTbmcgY2jDrW5oIMSRw6MgxJHGsOG7o2MgY2jhu4kgcmEgbmjGsG5nIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgJXMga2jDtG5nIHBo4bqjaSBsw6AgIgotIm3hu5l0IGzhuqduIGjDsmEgdHLhu5luLiIKKyJMdeG7k25nIGNow61uaCDEkcOjIMSRxrDhu6NjIGNo4buJIHJhIG5oxrBuZyBs4bqnbiBjaHV54buDbiBnaWFvICVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IGzhuqduICIKKyJow7JhIHRy4buZbi4iCiAKICMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSAicmV2ZXJ0IiBvcgogIy4gImNoZXJyeS1waWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEKLSM6IHNlcXVlbmNlci5jOjUzNworIzogc2VxdWVuY2VyLmM6NTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBs4bqnbiBjaHV54buDbiBnaWFvIG3hurkgY+G7p2EgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjU0MQorIzogc2VxdWVuY2VyLmM6NTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgbOG6pXkgdGjDtG5nIMSRaeG7h3AgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBjaG8gJXMiCittc2dzdHIgIktow7RuZyB0aOG7gyBs4bqleSB0aMO0bmcgxJFp4buHcCBs4bqnbiBjaHV54buDbiBnaWFvIGNobyAlcyIKIAotIzogc2VxdWVuY2VyLmM6NjI3CisjOiBzZXF1ZW5jZXIuYzo2MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHJldmVydCAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6NjI4CisjOiBzZXF1ZW5jZXIuYzo2MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGFwcGx5ICVzLi4uICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgYXBwbHkgKMOhcCBk4bulbmcgbWnhur9uZyB2w6EpICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo2NjQKKyM6IHNlcXVlbmNlci5jOjY2NQogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgotbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIHRy4buRbmcgcuG7l25nIMSR4bq3dCBsw6AgaOG7o3AgcXV5IGPDoWNoIgorbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvIHRy4buRbmcgcuG7l25nIMSR4bq3dCBsw6AgaOG7o3AgcXV5IGPDoWNoIgogCi0jOiBzZXF1ZW5jZXIuYzo2NzIKKyM6IHNlcXVlbmNlci5jOjY3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzOiBn4bq3cCBs4buXaSDEkeG7jWMgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBzZXF1ZW5jZXIuYzo2NzcKKyM6IHNlcXVlbmNlci5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzOiBn4bq3cCBs4buXaSBraGkgbMOgbSB0xrDGoWkgbeG7m2kgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBzZXF1ZW5jZXIuYzo3MzUKKyM6IHNlcXVlbmNlci5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgJXMgZHVyaW5nIGEgJXMiCiBtc2dzdHIgIktow7RuZyB0aOG7gyAlcyB0cm9uZyBraGkgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjc1NworIzogc2VxdWVuY2VyLmM6NzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBsaW5lICVkLiIKIG1zZ3N0ciAiS2jDtG5nIHBow6JuIHTDrWNoIMSRxrDhu6NjIGTDsm5nICVkLiIKIAotIzogc2VxdWVuY2VyLmM6NzYyCisjOiBzZXF1ZW5jZXIuYzo3NjMKIG1zZ2lkICJObyBjb21taXRzIHBhcnNlZC4iCi1tc2dzdHIgIktow7RuZyBjw7MgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBuw6BvIMSRxrDhu6NjIHBow6JuIHTDrWNoLiIKK21zZ3N0ciAiS2jDtG5nIGPDsyBs4bqnbiBjaHV54buDbiBnaWFvIG7DoG8gxJHGsOG7o2MgcGjDom4gdMOtY2guIgogCi0jOiBzZXF1ZW5jZXIuYzo3NzUKKyM6IHNlcXVlbmNlci5jOjc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAlcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjc3OQorIzogc2VxdWVuY2VyLmM6NzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkICVzLiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4buNYyAlcy4iCiAKLSM6IHNlcXVlbmNlci5jOjc4NgorIzogc2VxdWVuY2VyLmM6Nzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAlcyIKIG1zZ3N0ciAiQuG6o25nIGNo4buJIHRo4buLIGtow7RuZyB0aOG7gyBkw7luZyDEkcaw4bujYzogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjgxNAorIzogc2VxdWVuY2VyLmM6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQga2V5OiAlcyIKIG1zZ3N0ciAiS2jDs2Ega2jDtG5nIMSRw7puZzogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjgxNworIzogc2VxdWVuY2VyLmM6ODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKIG1zZ3N0ciAiR2nDoSB0cuG7iyBraMO0bmcgaOG7o3AgbOG7hyAlczogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjgyOQorIzogc2VxdWVuY2VyLmM6ODMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAlcyIKIG1zZ3N0ciAiQuG6o25nIHTDuXkgY2jhu41uIGThu4sgaMOsbmg6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTAKLW1zZ2lkICJhIGNoZXJyeS1waWNrIG9yIHJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgotbXNnc3RyICJt4buZdCB0aGFvIHTDoWMgY2hlcnJ5LXBpY2sgaG/hurdjIHJldmVydCDEkWFuZyDEkcaw4bujYyB0aOG7sWMgaGnhu4duIgotCiAjOiBzZXF1ZW5jZXIuYzo4NTEKK21zZ2lkICJhIGNoZXJyeS1waWNrIG9yIHJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgorbXNnc3RyICJjw7MgbeG7mXQgdGhhbyB0w6FjIOKAnGNoZXJyeS1waWNr4oCdIGhv4bq3YyDigJxyZXZlcnTigJ0gxJFhbmcgxJHGsOG7o2MgdGjhu7FjIGhp4buHbiIKKworIzogc2VxdWVuY2VyLmM6ODUyCiBtc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIG1zZ3N0ciAiaMOjeSB0aOG7rSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCiAKLSM6IHNlcXVlbmNlci5jOjg1NQorIzogc2VxdWVuY2VyLmM6ODU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHThuqFvIHRoxrAgbeG7pWMgeOG6v3AgZMOjeSAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODcxIHNlcXVlbmNlci5jOjk1NgorIzogc2VxdWVuY2VyLmM6ODcyIHNlcXVlbmNlci5jOjk1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcy4iCiBtc2dzdHIgIkzhu5dpIGJhbyBi4buNYyAlcy4iCiAKLSM6IHNlcXVlbmNlci5jOjg5MCBzZXF1ZW5jZXIuYzoxMDI0CisjOiBzZXF1ZW5jZXIuYzo4OTEgc2VxdWVuY2VyLmM6MTAyNQogbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAia2jDtG5nIGNoZXJyeS1waWNrIGhheSByZXZlcnQgdHJvbmcgdGnhur9uIHRyw6xuaCIKIAotIzogc2VxdWVuY2VyLmM6ODkyCisjOiBzZXF1ZW5jZXIuYzo4OTMKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gZ2nhuqNpIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjg5NAorIzogc2VxdWVuY2VyLmM6ODk1CiBtc2dpZCAiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyBo4buneSBi4buPIHThu6sgbeG7mXQgbmjDoW5oIG3DoCBuw7MgY8OybiBjaMawYSDEkcaw4bujYyB04bqhbyByYSIKIAotIzogc2VxdWVuY2VyLmM6OTE2IGJ1aWx0aW4vYXBwbHkuYzo0MDYxCisjOiBzZXF1ZW5jZXIuYzo5MTcgYnVpbHRpbi9hcHBseS5jOjQwNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyAlczogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjkxOQorIzogc2VxdWVuY2VyLmM6OTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICVzOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyAlczogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjkyMAorIzogc2VxdWVuY2VyLmM6OTIxCiBtc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKLW1zZ3N0ciAia+G6v3QgdGjDumMgdOG6rXAgdGluIMSR4buZdCB4deG6pXQiCittc2dzdHIgImfhurdwIGvhur90IHRow7pjIHThuq1wIHRpbiDEkeG7mXQgeHXhuqV0IgogCi0jOiBzZXF1ZW5jZXIuYzo5MjYKKyM6IHNlcXVlbmNlci5jOjkyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCiBtc2dzdHIgInThuq1wIHRpbiBIRUFEIOKAnHByZS1jaGVycnktcGlja+KAnSDEkcOjIGzGsHUg4oCcJXPigJ0gYuG7iyBo4buPbmciCiAKLSM6IHNlcXVlbmNlci5jOjk0OQorIzogc2VxdWVuY2VyLmM6OTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmb3JtYXQgJXMuIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu4tuaCBk4bqhbmcgJXMuIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu4tuaCBk4bqhbmcg4oCcJXPigJ0uIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDkyCisjOiBzZXF1ZW5jZXIuYzoxMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgogbXNnc3RyICIlczoga2jDtG5nIHRo4buDIGNoZXJyeS1waWNrIG3hu5l0ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDk1CisjOiBzZXF1ZW5jZXIuYzoxMDk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgcmV2aXNpb24iCiBtc2dzdHIgIiVzOiDEkWnhu4NtIHjDqXQgZHV54buHdCBzYWkiCiAKLSM6IHNlcXVlbmNlci5jOjExMjkKLW1zZ2lkICJDYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCi1tc2dzdHIgIktow7RuZyB0aOG7gyByZXZlcnQgbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBraOG7n2kgdOG6oW8iCi0KICM6IHNlcXVlbmNlci5jOjExMzAKK21zZ2lkICJDYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCittc2dzdHIgIktow7RuZyB0aOG7gyByZXZlcnQgbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyBraOG7n2kgdOG6oW8iCisKKyM6IHNlcXVlbmNlci5jOjExMzEKIG1zZ2lkICJDYW4ndCBjaGVycnktcGljayBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBjaGVycnktcGljayB2w6BvIG3hu5l0IMSR4bqndSAoaGVhZCkgdHLhu5FuZyBy4buXbmciCiAKLSM6IHNoYTFfbmFtZS5jOjQ0MAorIzogc2hhMV9uYW1lLmM6NDM5CiBtc2dpZCAiIgogIkdpdCBub3JtYWxseSBuZXZlciBjcmVhdGVzIGEgcmVmIHRoYXQgZW5kcyB3aXRoIDQwIGhleCBjaGFyYWN0ZXJzXG4iCiAiYmVjYXVzZSBpdCB3aWxsIGJlIGlnbm9yZWQgd2hlbiB5b3UganVzdCBzcGVjaWZ5IDQwLWhleC4gVGhlc2UgcmVmc1xuIgpAQCAtMTIzNiwzOTIgKzEzNDMsNDc3IEBACiAibsOgeVxuIgogImLhurFuZyBjw6FjaCBjaOG6oXkgbOG7h25oIFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIiIKIAotIzogc2hhMV9uYW1lLmM6MTA5NworIzogc2hhMV9uYW1lLmM6MTEwOQogbXNnaWQgIkhFQUQgZG9lcyBub3QgcG9pbnQgdG8gYSBicmFuY2giCiBtc2dzdHIgIkhFQUQga2jDtG5nIGNo4buJIMSR4bq/biBt4buZdCBuaMOhbmggbsOgbyBj4bqjIgogCi0jOiBzaGExX25hbWUuYzoxMTAwCisjOiBzaGExX25hbWUuYzoxMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggYnJhbmNoOiAnJXMnIgogbXNnc3RyICJLaMO0bmcgY8OzIG5ow6FuaCBuw6BvIG5oxrAgdGjhur86IOKAnCVz4oCdIgogCi0jOiBzaGExX25hbWUuYzoxMTAyCisjOiBzaGExX25hbWUuYzoxMTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHVwc3RyZWFtIGNvbmZpZ3VyZWQgZm9yIGJyYW5jaCAnJXMnIgogbXNnc3RyICJLaMO0bmcgY8OzIHRoxrDhu6NuZyBuZ3Xhu5NuICh1cHN0cmVhbSkgxJHGsOG7o2MgY+G6pXUgaMOsbmggY2hvIG5ow6FuaCDigJwlc+KAnSIKIAotIzogc2hhMV9uYW1lLmM6MTEwNgorIzogc2hhMV9uYW1lLmM6MTExOAogIywgYy1mb3JtYXQKIG1zZ2lkICJVcHN0cmVhbSBicmFuY2ggJyVzJyBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiIgogIk5ow6FuaCB0aMaw4bujbmcgbmd14buTbiAodXBzdHJlYW0pIOKAnCVz4oCdIGtow7RuZyDEkcaw4bujYyBsxrB1IGzhuqFpIG5oxrAgbMOgIG3hu5l0IG5ow6FuaCAiCiAi4oCccmVtb3RlLXRyYWNraW5n4oCdIgogCi0jOiB3cmFwcGVyLmM6NDA4CisjOiBzdWJtb2R1bGUuYzo2NCBzdWJtb2R1bGUuYzo5OAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgorbXNnc3RyICIiCisiS2jDtG5nIHRo4buDIHRoYXkgxJHhu5VpIC5naXRtb2R1bGVzIGNoxrBhIGjDsmEgdHLhu5luLCBow6N5IGdp4bqjaSBxdXnhur90IHh1bmcgxJHhu5l0IHRy4buZbiAiCisidHLGsOG7m2MiCisKKyM6IHN1Ym1vZHVsZS5jOjY4IHN1Ym1vZHVsZS5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZmluZCBzZWN0aW9uIGluIC5naXRtb2R1bGVzIHdoZXJlIHBhdGg9JXMiCittc2dzdHIgIktow7RuZyB0aOG7gyB0w6xtIHRo4bqleSBwaOG6p24gdHJvbmcgLmdpdG1vZHVsZXMgbsahaSBtw6AgxJHGsOG7nW5nX2ThuqtuPSVzIgorCisjLiBNYXliZSB0aGUgdXNlciBhbHJlYWR5IGRpZCB0aGF0LCBkb24ndCBlcnJvciBvdXQgaGVyZQorIzogc3VibW9kdWxlLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCBt4bulYyAuZ2l0bW9kdWxlcyAlcyIKKworIy4gTWF5YmUgdGhlIHVzZXIgYWxyZWFkeSBkaWQgdGhhdCwgZG9uJ3QgZXJyb3Igb3V0IGhlcmUKKyM6IHN1Ym1vZHVsZS5jOjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIC5naXRtb2R1bGVzIGVudHJ5IGZvciAlcyIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIGfhu6EgYuG7jyBt4bulYyAuZ2l0bW9kdWxlcyBkw6BuaCBjaG8gJXMiCisKKyM6IHN1Ym1vZHVsZS5jOjEyNworbXNnaWQgImNvdWxkIG5vdCBmaW5kIC5naXRtb2R1bGVzIGluIGluZGV4IgorbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgLmdpdG1vZHVsZXMgdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjIgorCisjOiBzdWJtb2R1bGUuYzoxMzMKK21zZ2lkICJyZWFkaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jIGPhuq1wIG5o4bqtdCAuZ2l0bW9kdWxlcyIKKworIzogc3VibW9kdWxlLmM6MTM1Cittc2dpZCAidW5hYmxlIHRvIHN0YXQgdXBkYXRlZCAuZ2l0bW9kdWxlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRo4buRbmcga8OqIC5naXRtb2R1bGVzIMSRw6MgY+G6rXAgbmjhuq10IgorCisjOiBzdWJtb2R1bGUuYzoxMzkKK21zZ2lkICJ1bmFibGUgdG8gcmVtb3ZlIC5naXRtb2R1bGVzIGZyb20gaW5kZXgiCittc2dzdHIgImtow7RuZyB0aOG7gyBn4buhIGLhu48gLmdpdG1vZHVsZXMgdOG7qyBt4bulYyBs4bulYyIKKworIzogc3VibW9kdWxlLmM6MTQxCittc2dpZCAiYWRkaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdGjDqm0gLmdpdG1vZHVsZXMgxJHDoyBj4bqtcCBuaOG6rXQiCisKKyM6IHN1Ym1vZHVsZS5jOjE0MworbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSB04buVIGNo4bupYyAuZ2l0bW9kdWxlcyDEkcOjIGPhuq1wIG5o4bqtdCIKKworIzogc3VibW9kdWxlLmM6MTE0NCBidWlsdGluL2luaXQtZGIuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBnaXQgbGluayAlcyIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHThuqFvIGxpw6puIGvhur90IGdpdCDigJwlc+KAnSIKKworIzogc3VibW9kdWxlLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgc2V0IGNvcmUud29ya3RyZWUgaW4gJXMiCittc2dzdHIgIktow7RuZyB0aOG7gyDEkeG6t3Qg4oCcY29yZS53b3JrdHJlZeKAnSB0cm9uZyDigJwlc+KAnS4iCisKKyM6IHVybG1hdGNoLmM6MTIwCittc2dpZCAiaW52YWxpZCBVUkwgc2NoZW1lIG5hbWUgb3IgbWlzc2luZyAnOi8vJyBzdWZmaXgiCittc2dzdHIgInTDqm4gbMaw4bujYyDEkeG7kyBVUkwga2jDtG5nIGjhu6NwIGzhu4csIGhv4bq3YyB0aGnhur91IGjhuq11IHThu5Eg4oCcOi8v4oCdIgorCisjOiB1cmxtYXRjaC5jOjE0NCB1cmxtYXRjaC5jOjI5NyB1cmxtYXRjaC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkICVYWCBlc2NhcGUgc2VxdWVuY2UiCittc2dzdHIgInRob8OhdCBjaHXhu5dpICVYWCBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogdXJsbWF0Y2guYzoxNzIKK21zZ2lkICJtaXNzaW5nIGhvc3QgYW5kIHNjaGVtZSBpcyBub3QgJ2ZpbGU6JyIKK21zZ3N0ciAidGhp4bq/dSBtw6F5IGNo4bunIHbDoCBsxrDhu6NjIMSR4buTIHRow6wga2jDtG5nIHBo4bqjaSBsw6AgZ2lhbyB0aOG7qWMg4oCcZmlsZTrigJ0iCisKKyM6IHVybG1hdGNoLmM6MTg5Cittc2dpZCAiYSAnZmlsZTonIFVSTCBtYXkgbm90IGhhdmUgYSBwb3J0IG51bWJlciIKK21zZ3N0ciAiVVJMIGtp4buDdSDigJxmaWxlOuKAnSBraMO0bmcgxJHGsOG7o2MgY2jhu6lhIGPhu5VuZyIKKworIzogdXJsbWF0Y2guYzoxOTkKK21zZ2lkICJpbnZhbGlkIGNoYXJhY3RlcnMgaW4gaG9zdCBuYW1lIgorbXNnc3RyICJjw7MgY8OhYyBrw70gdOG7sSBraMO0bmcgaOG7o3AgbOG7hyB0cm9uZyB0w6puIG3DoXkiCisKKyM6IHVybG1hdGNoLmM6MjQ0IHVybG1hdGNoLmM6MjU1Cittc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciIKK21zZ3N0ciAidMOqbiBj4buVbmcga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IHVybG1hdGNoLmM6MzIyCittc2dpZCAiaW52YWxpZCAnLi4nIHBhdGggc2VnbWVudCIKK21zZ3N0ciAixJFv4bqhbiDEkcaw4budbmcgZOG6q24g4oCcLi7igJ0ga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IHdyYXBwZXIuYzo0MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHRydXkgY+G6rXAg4oCcJXPigJ06ICVzIgogCi0jOiB3cmFwcGVyLmM6NDI5CisjOiB3cmFwcGVyLmM6NDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHRydXkgY+G6rXAg4oCcJXPigJ0iCiAKLSM6IHdyYXBwZXIuYzo0NDAKKyM6IHdyYXBwZXIuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGxvb2sgdXAgY3VycmVudCB1c2VyIGluIHRoZSBwYXNzd2QgZmlsZTogJXMiCiBtc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSBuZ8aw4budaSBkw7luZyBoaeG7h24gdOG6oWkgdHJvbmcgdOG6rXAgdGluIHBhc3N3ZDogJXMiCiAKLSM6IHdyYXBwZXIuYzo0NDEKKyM6IHdyYXBwZXIuYzo0NTUKIG1zZ2lkICJubyBzdWNoIHVzZXIiCiBtc2dzdHIgImtow7RuZyBjw7MgbmfGsOG7nWkgZMO5bmcgbmjGsCB24bqteSIKIAotIzogd3Qtc3RhdHVzLmM6MTQxCisjOiB3dC1zdGF0dXMuYzoxNTAKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgIk5o4buvbmcgxJHGsOG7nW5nIGThuqtuIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luOiIKIAotIzogd3Qtc3RhdHVzLmM6MTY4IHd0LXN0YXR1cy5jOjE5NQorIzogd3Qtc3RhdHVzLmM6MTc3IHd0LXN0YXR1cy5jOjIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmVzZXQgJXMgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCi1tc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IHJlc2V0ICVzIDx04bqtcC10aW4+Li4uXCIgxJHhu4MgYuG7jyBt4buZdCBzdGFnZSAodHLhuqFuZyB0aMOhaSkpIgorbXNnc3RyICIgIChkw7luZyBcImdpdCByZXNldCAlcyA8dOG6rXAtdGluPi4uLlwiIMSR4buDIGLhu48gcmEga2jhu49pIGLhu4cgcGjDs25nKSIKIAotIzogd3Qtc3RhdHVzLmM6MTcwIHd0LXN0YXR1cy5jOjE5NworIzogd3Qtc3RhdHVzLmM6MTc5IHd0LXN0YXR1cy5jOjIwNgogbXNnaWQgIiAgKHVzZSBcImdpdCBybSAtLWNhY2hlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKLW1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgcm0gLS1jYWNoZWQgPHThuq1wLXRpbj4uLi5cIiDEkeG7gyBi4buPIHRy4bqhbmcgdGjDoWkgKHN0YWdlKSkiCittc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IHJtIC0tY2FjaGVkIDx04bqtcC10aW4+Li4uXCIgxJHhu4MgYuG7jyByYSBraOG7j2kgYuG7hyBwaMOzbmcpIgogCi0jOiB3dC1zdGF0dXMuYzoxNzQKKyM6IHd0LXN0YXR1cy5jOjE4MwogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgYWRkIDx04bqtcC10aW4+Li4uXCIgxJHhu4MgxJHDoW5oIGThuqV1IGzDoCBj4bqnbiBnaeG6o2kgcXV54bq/dCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NiB3dC1zdGF0dXMuYzoxODAKKyM6IHd0LXN0YXR1cy5jOjE4NSB3dC1zdGF0dXMuYzoxODkKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKLSIgIChkw7luZyBcImdpdCBhZGQvcm0gPHThuq1wLXRpbj4uLi5cIiBuaMawIGzDoCBt4buZdCBjw6FjaCAgdGjDrWNoIGjhu6NwIMSR4buDIMSRw6FuaCBk4bqldSAiCi0ibMOgIGPhuqduIMSRxrDhu6NjIGdp4bqjaSBxdXnhur90KSIKKyIgIChkw7luZyBcImdpdCBhZGQvcm0gPHThuq1wLXRpbj4uLi5cIiBuaMawIGzDoCBt4buZdCBjw6FjaCB0aMOtY2ggaOG7o3AgxJHhu4MgxJHDoW5oIGThuqV1IGzDoCAiCisiY+G6p24gxJHGsOG7o2MgZ2nhuqNpIHF1eeG6v3QpIgogCi0jOiB3dC1zdGF0dXMuYzoxNzgKKyM6IHd0LXN0YXR1cy5jOjE4NwogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBybSA8dOG6rXAtdGluPi4uLlwiIMSR4buDIMSRw6FuaCBk4bqldSBsw6AgY+G6p24gZ2nhuqNpIHF1eeG6v3QpIgogCi0jOiB3dC1zdGF0dXMuYzoxODkKKyM6IHd0LXN0YXR1cy5jOjE5OAogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiTmjhu69uZyB0aGF5IMSR4buVaSBz4bq9IMSRxrDhu6NjIGNodXnhu4NuIGdpYW86IgogCi0jOiB3dC1zdGF0dXMuYzoyMDcKKyM6IHd0LXN0YXR1cy5jOjIxNgogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKLW1zZ3N0ciAiIgotIkPDoWMgdGhheSDEkeG7lWkga2jDtG5nIMSRxrDhu6NjIMSR4bq3dCB0cuG6oW5nIHRow6FpIChzdGFnZSkgY2hvIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCk6IgorbXNnc3RyICJDw6FjIHRoYXkgxJHhu5VpIGNoxrBhIMSRxrDhu6NjIMSR4bq3dCBsw6puIGLhu4cgcGjDs25nIMSR4buDIGNodXnhu4NuIGdpYW86IgogCi0jOiB3dC1zdGF0dXMuYzoyMTEKKyM6IHd0LXN0YXR1cy5jOjIyMAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgotbXNnc3RyICIiCi0iICAoZMO5bmcgXCJnaXQgYWRkIDx04bqtcC10aW4+Li4uXCIgxJHhu4MgY+G6rXAgbmjhuq10IG5o4buvbmcgZ8OsIGPhuqduIGNodXnhu4NuIGdpYW8gIgotIihjb21taXQpKSIKK21zZ3N0ciAiICAoZMO5bmcgXCJnaXQgYWRkIDx04bqtcC10aW4+Li4uXCIgxJHhu4MgY+G6rXAgbmjhuq10IG5o4buvbmcgZ8OsIHPhur0gY2h1eeG7g24gZ2lhbykiCiAKLSM6IHd0LXN0YXR1cy5jOjIxMworIzogd3Qtc3RhdHVzLmM6MjIyCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgIChkw7luZyBcImdpdCBhZGQvcm0gPHThuq1wLXRpbj4uLi5cIiDEkeG7gyBj4bqtcCBuaOG6rXQgbmjhu69uZyBnw6wgc+G6vSDEkcaw4bujYyBjaHV54buDbiBnaWFvKSIKIAotIzogd3Qtc3RhdHVzLmM6MjE0CisjOiB3dC1zdGF0dXMuYzoyMjMKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiIKLSIgIChkw7luZyBcImdpdCBjaGVja291dCAtLSA8dOG6rXAtdGluPi4uLlwiIMSR4buDIGLhu48gdGhheSDEkeG7lWkgdHJvbmcgdGjGsCBt4bulYyBsw6BtICIKLSJ2aeG7h2MpIgorIiAgKGTDuW5nIFwiZ2l0IGNoZWNrb3V0IC0tIDx04bqtcC10aW4+Li4uXCIgxJHhu4MgbG/huqFpIGLhu48gY8OhYyB0aGF5IMSR4buVaSB0cm9uZyB0aMawICIKKyJt4bulYyBsw6BtIHZp4buHYykiCiAKLSM6IHd0LXN0YXR1cy5jOjIxNgorIzogd3Qtc3RhdHVzLmM6MjI1CiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIiCi0iICAoY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBob+G6t2MgbMOgIGxv4bqhaSBi4buPIGPDoWMgbuG7mWkgZHVuZyBraMO0bmctYuG7iy10aGVvLXbhur90IGhheSAiCi0ixJHDoyBi4buLIGNo4buJbmggc+G7rWEgdHJvbmcgbcO0LcSRdW4tY29uKSIKKyIgIChjaHV54buDbiBnaWFvIGhv4bq3YyBsw6AgbG/huqFpIGLhu48gY8OhYyBu4buZaSBkdW5nIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSBoYXkgxJHDoyBz4butYSAiCisiY2jhu69hIHRyb25nIG3DtC3EkXVuLWNvbikiCiAKLSM6IHd0LXN0YXR1cy5jOjIyOAorIzogd3Qtc3RhdHVzLmM6MjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCi0iICAoZMO5bmcgXCJnaXQgJXMgPHThuq1wLXRpbj4uLi5cIiDEkeG7gyB0aMOqbSB2w6BvIG5o4buvbmcgZ8OsIGPhuqduIGNodXnhu4NuIGdpYW8gIgotIihjb21taXQpKSIKKyIgIChkw7luZyBcImdpdCAlcyA8dOG6rXAtdGluPi4uLlwiIMSR4buDIHRow6ptIHbDoG8gbmjhu69uZyBnw6wgY+G6p24gxJHGsOG7o2MgY2h1eeG7g24gZ2lhbykiCiAKLSM6IHd0LXN0YXR1cy5jOjI0NQorIzogd3Qtc3RhdHVzLmM6MjU0CiBtc2dpZCAiYnVnIgogbXNnc3RyICJs4buXaSIKIAotIzogd3Qtc3RhdHVzLmM6MjUwCisjOiB3dC1zdGF0dXMuYzoyNTkKIG1zZ2lkICJib3RoIGRlbGV0ZWQ6IgogbXNnc3RyICJi4buLIHjDs2EgYuG7n2kgY+G6oyBoYWk6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTEKKyM6IHd0LXN0YXR1cy5jOjI2MAogbXNnaWQgImFkZGVkIGJ5IHVzOiIKIG1zZ3N0ciAixJHGsOG7o2MgdGjDqm0gdsOgbyBi4bufaSBjaMO6bmcgdGE6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTIKKyM6IHd0LXN0YXR1cy5jOjI2MQogbXNnaWQgImRlbGV0ZWQgYnkgdGhlbToiCiBtc2dzdHIgImLhu4sgeMOzYSDEkWkgYuG7n2kgaOG7jToiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MworIzogd3Qtc3RhdHVzLmM6MjYyCiBtc2dpZCAiYWRkZWQgYnkgdGhlbToiCiBtc2dzdHIgIsSRxrDhu6NjIHRow6ptIHbDoG8gYuG7n2kgaOG7jToiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NAorIzogd3Qtc3RhdHVzLmM6MjYzCiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgImLhu4sgeMOzYSBi4bufaSBjaMO6bmcgdGE6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTUKKyM6IHd0LXN0YXR1cy5jOjI2NAogbXNnaWQgImJvdGggYWRkZWQ6IgogbXNnc3RyICLEkcaw4bujYyB0aMOqbSB2w6BvIGLhu59pIGPhuqMgaGFpOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU2CisjOiB3dC1zdGF0dXMuYzoyNjUKIG1zZ2lkICJib3RoIG1vZGlmaWVkOiIKIG1zZ3N0ciAiYuG7iyBz4butYSBi4bufaSBj4bqjIGhhaToiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NgotbXNnaWQgIm5ldyBjb21taXRzLCAiCi1tc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgbeG7m2ksICIKKyM6IHd0LXN0YXR1cy5jOjI3NQorbXNnaWQgIm5ldyBmaWxlIgorbXNnc3RyICJ04bqtcCB0aW4gbeG7m2kiCiAKLSM6IHd0LXN0YXR1cy5jOjI4OAorIzogd3Qtc3RhdHVzLmM6Mjc3Cittc2dpZCAiY29waWVkIgorbXNnc3RyICLEkcOjIGNow6lwIgorCisjOiB3dC1zdGF0dXMuYzoyNzkKK21zZ2lkICJkZWxldGVkIgorbXNnc3RyICJi4buLIHhvw6EiCisKKyM6IHd0LXN0YXR1cy5jOjI4NQorbXNnaWQgInR5cGVjaGFuZ2UiCittc2dzdHIgIsSR4buVaS1raeG7g3UiCisKKyM6IHd0LXN0YXR1cy5jOjI4NworbXNnaWQgInVua25vd24iCittc2dzdHIgImtow7RuZyBoaeG7g3UiCisKKyM6IHd0LXN0YXR1cy5jOjI4OQorbXNnaWQgInVubWVyZ2VkIgorbXNnc3RyICJjaMawYSBow7JhIHRy4buZbiIKKworIzogd3Qtc3RhdHVzLmM6MzM2Cittc2dpZCAibmV3IGNvbW1pdHMsICIKK21zZ3N0ciAibOG6p24gY2h1eeG7g24gZ2lhbyBt4bubaSwgIgorCisjOiB3dC1zdGF0dXMuYzozMzgKIG1zZ2lkICJtb2RpZmllZCBjb250ZW50LCAiCiBtc2dzdHIgIm7hu5lpIGR1bmcgYuG7iyBz4butYSDEkeG7lWksICIKIAotIzogd3Qtc3RhdHVzLmM6MjkwCisjOiB3dC1zdGF0dXMuYzozNDAKIG1zZ2lkICJ1bnRyYWNrZWQgY29udGVudCwgIgogbXNnc3RyICJu4buZaSBkdW5nIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSwgIgogCi0jOiB3dC1zdGF0dXMuYzozMDcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IGZpbGU6ICAgJXMiCi1tc2dzdHIgInThuq1wIHRpbiBt4bubaTogICAlcyIKLQotIzogd3Qtc3RhdHVzLmM6MzEwCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvcGllZDogICAgICVzIC0+ICVzIgotbXNnc3RyICLEkcOjIHNhbyBjaMOpcDogICAgICVzIC0+ICVzIgotCi0jOiB3dC1zdGF0dXMuYzozMTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZGVsZXRlZDogICAgJXMiCi1tc2dzdHIgIsSRw6MgeMOzYTogICAgJXMiCi0KLSM6IHd0LXN0YXR1cy5jOjMxNgotIywgYy1mb3JtYXQKLW1zZ2lkICJtb2RpZmllZDogICAlcyIKLW1zZ3N0ciAixJHDoyBz4butYSDEkeG7lWk6ICAgJXMiCi0KLSM6IHd0LXN0YXR1cy5jOjMxOQotIywgYy1mb3JtYXQKLW1zZ2lkICJyZW5hbWVkOiAgICAlcyAtPiAlcyIKLW1zZ3N0ciAixJHDoyDEkeG7lWkgdMOqbjogICAgJXMgLT4gJXMiCi0KLSM6IHd0LXN0YXR1cy5jOjMyMgotIywgYy1mb3JtYXQKLW1zZ2lkICJ0eXBlY2hhbmdlOiAlcyIKLW1zZ3N0ciAixJHhu5VpLWtp4buDdTogJXMiCi0KLSM6IHd0LXN0YXR1cy5jOjMyNQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duOiAgICAlcyIKLW1zZ3N0ciAia2jDtG5nIGhp4buDdTogICAgJXMiCi0KLSM6IHd0LXN0YXR1cy5jOjMyOAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bm1lcmdlZDogICAlcyIKLW1zZ3N0ciAiY2jGsGEgaMOyYSB0cuG7mW46ICAgJXMiCi0KLSM6IHd0LXN0YXR1cy5jOjMzMQorIzogd3Qtc3RhdHVzLmM6MzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJ1ZzogdW5oYW5kbGVkIGRpZmYgc3RhdHVzICVjIgotbXNnc3RyICJs4buXaToga2jDtG5nIGzhuqV5IMSRxrDhu6NjIHRy4bqhbmcgdGjDoWkgbOG7h25oIGRpZmYgJWMiCittc2dzdHIgImzhu5dpOiBraMO0bmcgdGjhu4MgdGnhur9wIG5o4bqtbiB0cuG6oW5nIHRow6FpIGzhu4duaCBkaWZmICVjIgogCi0jOiB3dC1zdGF0dXMuYzo4MDMKKyM6IHd0LXN0YXR1cy5jOjczMgorbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgorbXNnc3RyICJOaOG7r25nIG3DtC3EkXVuLWNvbiDEkcOjIGLhu4sgdGhheSDEkeG7lWkgbmjGsG5nIGNoxrBhIMSRxrDhu6NjIGPhuq1wIG5o4bqtdDoiCisKKyM6IHd0LXN0YXR1cy5jOjczNAorbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCittc2dzdHIgIk5o4buvbmcgbcO0LcSRdW4tY29uIHRoYXkgxJHhu5VpIMSRw6MgxJHGsOG7o2MgY2h1eeG7g24gZ2lhbzoiCisKKyM6IHd0LXN0YXR1cy5jOjgzNgorbXNnaWQgIiIKKyJEbyBub3QgdG91Y2ggdGhlIGxpbmUgYWJvdmUuXG4iCisiRXZlcnl0aGluZyBiZWxvdyB3aWxsIGJlIHJlbW92ZWQuIgorbXNnc3RyICIiCisiS2jDtG5nIMSR4buZbmcgxJHhur9uIMSRxrDhu51uZyDhu58gdHLDqm4uXG4iCisiTeG7jWkgdGjhu6kgcGjDrWEgZMaw4bubaSBz4bq9IMSRxrDhu6NjIHjDs2EgYuG7jy4iCisKKyM6IHd0LXN0YXR1cy5jOjg5OQogbXNnaWQgIllvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLiIKIG1zZ3N0ciAiQuG6oW4gY8OzIG5o4buvbmcgxJHGsOG7nW5nIGThuqtuIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luLiIKIAotIzogd3Qtc3RhdHVzLmM6ODA2CisjOiB3dC1zdGF0dXMuYzo5MDIKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgotbXNnc3RyICIgIChz4butYSBjw6FjIHh1bmcgxJHhu5l0IHNhdSDEkcOzIGNo4bqheSBcImdpdCBjb21taXRcIikiCittc2dzdHIgIiAgKHPhu61hIGPDoWMgeHVuZyDEkeG7mXQgcuG7k2kgY2jhuqF5IFwiZ2l0IGNvbW1pdFwiKSIKIAotIzogd3Qtc3RhdHVzLmM6ODA5CisjOiB3dC1zdGF0dXMuYzo5MDUKIG1zZ2lkICJBbGwgY29uZmxpY3RzIGZpeGVkIGJ1dCB5b3UgYXJlIHN0aWxsIG1lcmdpbmcuIgogbXNnc3RyICJU4bqldCBj4bqjIGPDoWMgeHVuZyDEkeG7mXQgxJHDoyDEkcaw4bujYyBnaeG6o2kgcXV54bq/dCBuaMawbmcgYuG6oW4gduG6q24gxJFhbmcgaMOyYSB0cuG7mW4uIgogCi0jOiB3dC1zdGF0dXMuYzo4MTIKKyM6IHd0LXN0YXR1cy5jOjkwOAogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXRcIiB0byBjb25jbHVkZSBtZXJnZSkiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IGNvbW1pdFwiIMSR4buDIGhvw6BuIHThuqV0IHZp4buHYyBow7JhIHRy4buZbikiCiAKLSM6IHd0LXN0YXR1cy5jOjgyMgorIzogd3Qtc3RhdHVzLmM6OTE4CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICJC4bqhbiDEkWFuZyDhu58gZ2nhu69hIGPhu6dhIG3hu5l0IHBoacOqbiDigJxhbeKAnS4iCiAKLSM6IHd0LXN0YXR1cy5jOjgyNQorIzogd3Qtc3RhdHVzLmM6OTIxCiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICJNaeG6v25nIHbDoSBoaeG7h24gdOG6oWkgYuG7iyB0cuG7kW5nIHLhu5duZy4iCiAKLSM6IHd0LXN0YXR1cy5jOjgyOQorIzogd3Qtc3RhdHVzLmM6OTI1CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoc+G7rWEgY8OhYyB4dW5nIMSR4buZdCB2w6Agc2F1IMSRw7MgY2jhuqF5IGzhu4duaCBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo4MzEKKyM6IHd0LXN0YXR1cy5jOjkyNwogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBhbSAtLXNraXBcIiDEkeG7gyBi4buPIHF1YSBtaeG6v25nIHbDoSBuw6B5KSIKIAotIzogd3Qtc3RhdHVzLmM6ODMzCisjOiB3dC1zdGF0dXMuYzo5MjkKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IGFtIC0tYWJvcnRcIiDEkeG7gyBwaOG7pWMgaOG7k2kgbOG6oWkgbmjDoW5oIG5ndXnDqm4gdGjhu6d5KSIKIAotIzogd3Qtc3RhdHVzLmM6ODkzIHd0LXN0YXR1cy5jOjkxMAorIzogd3Qtc3RhdHVzLmM6OTg5IHd0LXN0YXR1cy5jOjEwMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCi1tc2dzdHIgIkLhuqFuIGhp4buHbiBuYXkgxJFhbmcgdGjhu7FjIGhp4buHbiB2aeG7h2MgcmViYXNlIG5ow6FuaCDigJwlc+KAnSB0csOqbiDigJwlc+KAnS4iCittc2dzdHIgIkLhuqFuIGhp4buHbiBuYXkgxJFhbmcgdGjhu7FjIGhp4buHbiB2aeG7h2Mg4oCccmViYXNl4oCdIG5ow6FuaCDigJwlc+KAnSB0csOqbiDigJwlc+KAnS4iCiAKLSM6IHd0LXN0YXR1cy5jOjg5OCB3dC1zdGF0dXMuYzo5MTUKKyM6IHd0LXN0YXR1cy5jOjk5NCB3dC1zdGF0dXMuYzoxMDExCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgotbXNnc3RyICJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIHJlYmFzZSAodMOhaSBj4bqldSB0csO6YykuIgorbXNnc3RyICJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIOKAnHJlYmFzZeKAnSAo4oCcY+G6o2kgdOG7leKAnSkuIgogCi0jOiB3dC1zdGF0dXMuYzo5MDEKKyM6IHd0LXN0YXR1cy5jOjk5NwogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgotbXNnc3RyICIgIChz4butYSBjw6FjIHh1bmcgxJHhu5l0IHbDoCBzYXUgxJHDsyBjaOG6oXkgbOG7h25oIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgorbXNnc3RyICIiCisiICAoc+G7rWEgY8OhYyB4dW5nIMSR4buZdCB2w6Agc2F1IMSRw7MgY2jhuqF5IGzhu4duaCDigJxj4bqjaSB04buV4oCdIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5MDMKKyM6IHd0LXN0YXR1cy5jOjk5OQogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKLW1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgcmViYXNlIC0tc2tpcFwiIMSR4buDIGLhu48gcXVhIGzhuqduIHbDoSBuw6B5KSIKK21zZ3N0ciAiICAoZMO5bmcgbOG7h25oIOKAnGPhuqNpIHThu5XigJ0gXCJnaXQgcmViYXNlIC0tc2tpcFwiIMSR4buDIGLhu48gcXVhIGzhuqduIHbDoSBuw6B5KSIKIAotIzogd3Qtc3RhdHVzLmM6OTA1CisjOiB3dC1zdGF0dXMuYzoxMDAxCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgotbXNnc3RyICIgIChkw7luZyBcImdpdCByZWJhc2UgLS1hYm9ydFwiIMSR4buDIGNoZWNrLW91dCBuaMOhbmggbmd1ecOqbiB0aOG7p3kpIgorbXNnc3RyICIiCisiICAoZMO5bmcgbOG7h25oIOKAnGPhuqNpIHThu5XigJ0gXCJnaXQgcmViYXNlIC0tYWJvcnRcIiDEkeG7gyBjaGVjay1vdXQgbmjDoW5oIG5ndXnDqm4gdGjhu6d5KSIKIAotIzogd3Qtc3RhdHVzLmM6OTE4CisjOiB3dC1zdGF0dXMuYzoxMDE0CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCi0iICAoa2hpIHThuqV0IGPhuqMgY8OhYyB4dW5nIMSR4buZdCDEkcOjIHPhu61hIHhvbmc6IGNo4bqheSBs4buHbmggXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCisiICAoa2hpIHThuqV0IGPhuqMgY8OhYyB4dW5nIMSR4buZdCDEkcOjIHPhu61hIHhvbmc6IGNo4bqheSBs4buHbmgg4oCcY+G6o2kgdOG7leKAnSBcImdpdCByZWJhc2UgLS0iCisiY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjkyMgorIzogd3Qtc3RhdHVzLmM6MTAxOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCi0iQuG6oW4gaGnhu4duIG5heSDEkWFuZyB0aOG7sWMgaGnhu4duIHZp4buHYyBjaGlhIHTDoWNoIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgIgotInRyb25nIGtoaSDEkWFuZyByZWJhc2UgbmjDoW5oIOKAnCVz4oCdIHRyw6puIOKAnCVz4oCdLiIKKyJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIGNoaWEgdMOhY2ggbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyB0cm9uZyBraGkgIgorIsSRYW5nIOKAnHJlYmFzZeKAnSBuaMOhbmgg4oCcJXPigJ0gdHLDqm4g4oCcJXPigJ0uIgogCi0jOiB3dC1zdGF0dXMuYzo5MjcKKyM6IHd0LXN0YXR1cy5jOjEwMjMKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiIgogIkLhuqFuIGhp4buHbiB04bqhaSDEkWFuZyBj4bqvdCDEkcO0aSBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIHRyb25nIGtoaSDEkWFuZyB0aOG7sWMgaGnhu4duIHZp4buHYyAiCiAicmViYXNlLiIKIAotIzogd3Qtc3RhdHVzLmM6OTMwCisjOiB3dC1zdGF0dXMuYzoxMDI2CiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKLSIgIChN4buZdCBraGkgdGjGsCBt4bulYyBsw6BtIHZp4buHYyBj4bunYSBi4bqhbiDEkcOjIGfhu41uIGfDoG5nLCBjaOG6oXkgXCJnaXQgcmViYXNlIC0tY29udGludWUiCi0iXCIpIgorIiAgKE3hu5l0IGtoaSB0aMawIG3hu6VjIGzDoG0gdmnhu4djIGPhu6dhIGLhuqFuIMSRw6MgZ+G7jW4gZ8OgbmcsIGNo4bqheSBs4buHbmgg4oCcY+G6o2kgdOG7leKAnSBcImdpdCAiCisicmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjkzNAorIzogd3Qtc3RhdHVzLmM6MTAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCi0iQuG6oW4gaGnhu4duIG5heSDEkWFuZyB0aOG7sWMgaGnhu4duIHZp4buHYyBz4butYSBjaOG7r2EgbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSB0cm9uZyAiCi0ia2hpIMSRYW5nIHJlYmFzZSBuaMOhbmgg4oCcJXPigJ0gdHLDqm4g4oCcJXPigJ0uIgorIkLhuqFuIGhp4buHbiBuYXkgxJFhbmcgdGjhu7FjIGhp4buHbiB2aeG7h2Mgc+G7rWEgY2jhu69hIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gdHJvbmcga2hpIMSRYW5nICIKKyJyZWJhc2UgbmjDoW5oIOKAnCVz4oCdIHRyw6puIOKAnCVz4oCdLiIKIAotIzogd3Qtc3RhdHVzLmM6OTM5CisjOiB3dC1zdGF0dXMuYzoxMDM1CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICJC4bqhbiBoaeG7h24gxJFhbmcgc+G7rWEgbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyB0cm9uZyBraGkgYuG6oW4gdGjhu7FjIGhp4buHbiByZWJhc2UuIgogCi0jOiB3dC1zdGF0dXMuYzo5NDIKKyM6IHd0LXN0YXR1cy5jOjEwMzgKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpIgotbXNnc3RyICIiCi0iICAoZMO5bmcgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiDEkeG7gyB0dSBi4buVIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgaGnhu4duIHThuqFpKSIKK21zZ3N0ciAiICAoZMO5bmcgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiDEkeG7gyDigJx0dSBi4buV4oCdIGzhuqduIGNodXnhu4NuIGdpYW8gaGnhu4duIHThuqFpKSIKIAotIzogd3Qtc3RhdHVzLmM6OTQ0CisjOiB3dC1zdGF0dXMuYzoxMDQwCiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpIgogbXNnc3RyICIiCi0iICAoZMO5bmcgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBt4buZdCBraGkgYuG6oW4gY+G6o20gdGjhuqV5IGjDoGkgbMOybmcgduG7gSBuaOG7r25nICIKLSJ0aGF5IMSR4buVaSBj4bunYSBtw6xuaCkiCisiICAoY2jhuqF5IGzhu4duaCDigJxj4bqjaSB04buV4oCdIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgbeG7mXQga2hpIGLhuqFuIGPhuqNtIHRo4bqleSBow6BpICIKKyJsw7JuZyB24buBIG5o4buvbmcgdGhheSDEkeG7lWkgY+G7p2EgbcOsbmgpIgogCi0jOiB3dC1zdGF0dXMuYzo5NTQKLW1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZy4iCi1tc2dzdHIgIkLhuqFuIGhp4buHbiBuYXkgxJFhbmcgdGjhu7FjIGhp4buHbiB2aeG7h2MgY2hlcnJ5LXBpY2suIgorIzogd3Qtc3RhdHVzLmM6MTA1MAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgorbXNnc3RyICJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIGNoZXJyeS1waWNrIGzhuqduIGNodXnhu4NuIGdpYW8gJXMuIgogCi0jOiB3dC1zdGF0dXMuYzo5NTgKKyM6IHd0LXN0YXR1cy5jOjEwNTUKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKHPhu61hIGPDoWMgeHVuZyDEkeG7mXQgdsOgIHNhdSDEkcOzIGNo4bqheSBs4buHbmggXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6OTYxCisjOiB3dC1zdGF0dXMuYzoxMDU4CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChraGkgdOG6pXQgY+G6oyBjw6FjIHh1bmcgxJHhu5l0IMSRw6Mgc+G7rWEgeG9uZzogY2jhuqF5IGzhu4duaCBcImdpdCBjaGVycnktcGljayAtLSIKICJjb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6OTYzCisjOiB3dC1zdGF0dXMuYzoxMDYwCiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiDEkeG7gyBo4buneSBi4buPIHRoYW8gdMOhYyBjaGVycnktcGljaykiCiAKLSM6IHd0LXN0YXR1cy5jOjk3MgorIzogd3Qtc3RhdHVzLmM6MTA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZXZlcnRpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiQuG6oW4gaGnhu4duIG5heSDEkWFuZyB0aOG7sWMgaGnhu4duIHRoYW8gdMOhYyByZXZlcnQgbOG6p24gY2h1eeG7g24gZ2lhbyDigJwlc+KAnS4iCiAKLSM6IHd0LXN0YXR1cy5jOjk3NworIzogd3Qtc3RhdHVzLmM6MTA3NAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoc+G7rWEgY8OhYyB4dW5nIMSR4buZdCB2w6Agc2F1IMSRw7MgY2jhuqF5IGzhu4duaCBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6OTgwCisjOiB3dC1zdGF0dXMuYzoxMDc3CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoa2hpIHThuqV0IGPhuqMgY8OhYyB4dW5nIMSR4buZdCDEkcOjIHPhu61hIHhvbmc6IGNo4bqheSBs4buHbmggXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjk4MgorIzogd3Qtc3RhdHVzLmM6MTA3OQogbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgxJHhu4MgaOG7p3kgYuG7jyB0aGFvIHTDoWMgcmV2ZXJ0KSIKIAotIzogd3Qtc3RhdHVzLmM6OTkzCisjOiB3dC1zdGF0dXMuYzoxMDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiIgogIkLhuqFuIGhp4buHbiBuYXkgxJFhbmcgdGjhu7FjIGhp4buHbiB0aGFvIHTDoWMgZGkgY2h1eeG7g24gbuG7rWEgYsaw4bubYyAoYmlzZWN0KSwgYuG6r3QgxJHhuqd1IHThu6sgIgogIm5ow6FuaCDigJwlc+KAnS4iCiAKLSM6IHd0LXN0YXR1cy5jOjk5NworIzogd3Qtc3RhdHVzLmM6MTA5NAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCi1tc2dzdHIgIkLhuqFuIGhp4buHbiB04bqhaSDEkWFuZyB0aOG7sWMgaGnhu4duIHZp4buHYyBiaXNlY3QgKGNoaWEgxJHDtGkpLiIKK21zZ3N0ciAiQuG6oW4gaGnhu4duIHThuqFpIMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIGJpc2VjdCAoZGkgY2h1eeG7g24gbuG7rWEgYsaw4bubYykuIgogCi0jOiB3dC1zdGF0dXMuYzoxMDAwCisjOiB3dC1zdGF0dXMuYzoxMDk3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBiaXNlY3QgcmVzZXRcIiDEkeG7gyBxdWF5IHRy4bufIGzhuqFpIG5ow6FuaCBuZ3V5w6puIHRo4buneSkiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzMKKyM6IHd0LXN0YXR1cy5jOjEyNzIKIG1zZ2lkICJPbiBicmFuY2ggIgogbXNnc3RyICJUcsOqbiBuaMOhbmggIgogCi0jOiB3dC1zdGF0dXMuYzoxMTgwCisjOiB3dC1zdGF0dXMuYzoxMjc5CiBtc2dpZCAicmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKLW1zZ3N0ciAicmViYXNlIMSRYW5nIMSRxrDhu6NjIHRo4buxYyBoaeG7h246IGzDqm4gdHLDqm4iCittc2dzdHIgInJlYmFzZSDEkWFuZyDEkcaw4bujYyB0aOG7sWMgaGnhu4duOiBsw6puIHRyw6puICIKIAotIzogd3Qtc3RhdHVzLmM6MTE4NworIzogd3Qtc3RhdHVzLmM6MTI4NgogbXNnaWQgIkhFQUQgZGV0YWNoZWQgYXQgIgotbXNnc3RyICJIRUFEIMSRxrDhu6NjIHTDoWNoIHLhu51pIHThuqFpIgorbXNnc3RyICJIRUFEIMSRxrDhu6NjIHTDoWNoIHLhu51pIHThuqFpICIKIAotIzogd3Qtc3RhdHVzLmM6MTE4OQorIzogd3Qtc3RhdHVzLmM6MTI4OAogbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCi1tc2dzdHIgIkhFQUQgxJHGsOG7o2MgdMOhY2ggcuG7nWkgdOG7qyIKK21zZ3N0ciAiSEVBRCDEkcaw4bujYyB0w6FjaCBy4budaSB04burICIKIAotIzogd3Qtc3RhdHVzLmM6MTE5MgorIzogd3Qtc3RhdHVzLmM6MTI5MQogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIkhp4buHbiB04bqhaSBjaOG6s25nIOG7nyBuaMOhbmggbsOgbyBj4bqjLiIKIAotIzogd3Qtc3RhdHVzLmM6MTIwOQorIzogd3Qtc3RhdHVzLmM6MTMwOAogbXNnaWQgIkluaXRpYWwgY29tbWl0IgotbXNnc3RyICJM4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIGto4bufaSDEkeG6p3UiCittc2dzdHIgIkzhuqduIGNodXnhu4NuIGdpYW8ga2jhu59pIHThuqFvIgogCi0jOiB3dC1zdGF0dXMuYzoxMjIzCisjOiB3dC1zdGF0dXMuYzoxMzIyCiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJOaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjUKKyM6IHd0LXN0YXR1cy5jOjEzMjQKIG1zZ2lkICJJZ25vcmVkIGZpbGVzIgogbXNnc3RyICJOaOG7r25nIHThuq1wIHRpbiBi4buLIGzhu50gxJFpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjI5CisjOiB3dC1zdGF0dXMuYzoxMzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCkBAIC0xNjMzLDk1ICsxODI1LDk4IEBACiAiY8OzIGzhur0gbMOgbSBuw7MgbmhhbmggaMahbiwgbmjGsG5nIGLhuqFuIHBo4bqjaSBj4bqpbiB0aOG6rW4gxJHhu6tuZyBxdcOqbiBtw6xuaCBwaOG6o2lcbiIKICJ04buxIHRow6ptIGPDoWMgdOG6rXAgdGluIG3hu5tpICh4ZW0g4oCcZ2l0IGhlbHAgc3RhdHVz4oCdLi4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMzUKKyM6IHd0LXN0YXR1cy5jOjEzMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKLW1zZ3N0ciAiTmjhu69uZyB04bqtcCB0aW4ga2jDtG5nIGLhu4sgdGhlbyB24bq/dCBraMO0bmcgxJHGsOG7o2MgbGnhu4d0IGvDqiByYSAlcyIKK21zZ3N0ciAiTmjhu69uZyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIGtow7RuZyDEkcaw4bujYyBsaeG7h3Qga8OqIHJhICVzIgogCi0jOiB3dC1zdGF0dXMuYzoxMjM3CisjOiB3dC1zdGF0dXMuYzoxMzM2CiBtc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKIG1zZ3N0ciAiIChkw7luZyB0w7l5IGNo4buNbiAtdSDEkeG7gyBoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI0MworIzogd3Qtc3RhdHVzLmM6MTM0MgogbXNnaWQgIk5vIGNoYW5nZXMiCiBtc2dzdHIgIktow7RuZyBjw7MgdGhheSDEkeG7lWkgbsOgbyIKIAotIzogd3Qtc3RhdHVzLmM6MTI0OAorIzogd3Qtc3RhdHVzLmM6MTM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAiIgotImtow7RuZyBjw7MgdGhheSDEkeG7lWkgbsOgbyDEkcaw4bujYyB0aMOqbSB2w6BvIGNvbW1pdCAoZMO5bmcgXCJnaXQgYWRkXCIgdsOgL2hv4bq3YyBcImdpdCAiCi0iY29tbWl0IC1hXCIpXG4iCisia2jDtG5nIGPDsyB0aGF5IMSR4buVaSBuw6BvIMSRxrDhu6NjIHRow6ptIHbDoG8gxJHhu4MgY2h1eeG7g24gZ2lhbyAoZMO5bmcgXCJnaXQgYWRkXCIgdsOgL2hv4bq3YyAiCisiXCJnaXQgY29tbWl0IC1hXCIpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTEKKyM6IHd0LXN0YXR1cy5jOjEzNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXRcbiIKLW1zZ3N0ciAia2jDtG5nIGPDsyB0aGF5IMSR4buVaSBuw6BvIMSRxrDhu6NjIHRow6ptIHbDoG8gbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KVxuIgorbXNnc3RyICJraMO0bmcgY8OzIHRoYXkgxJHhu5VpIG7DoG8gxJHGsOG7o2MgdGjDqm0gdsOgbyDEkeG7gyBjaHV54buDbiBnaWFvXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTQKKyM6IHd0LXN0YXR1cy5jOjEzNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKICJ0cmFjaylcbiIKIG1zZ3N0ciAiIgotImtow7RuZyBjw7MgZ8OsIMSRxrDhu6NjIHRow6ptIHbDoG8gbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBuaMawbmcgY8OzIG5o4buvbmcgdOG6rXAgdGluICIKLSJraMO0bmcgxJHGsOG7o2MgdGhlbyBk4bqldSB24bq/dCBoaeG7h24gZGnhu4duIChkw7luZyBcImdpdCBhZGRcIiDEkeG7gyDEkcawYSB2w6BvIHRoZW8gZMO1aSlcbiIKKyJraMO0bmcgY8OzIGfDrCDEkcaw4bujYyB0aMOqbSB2w6BvIGzhuqduIGNodXnhu4NuIGdpYW8gbmjGsG5nIGPDsyBuaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyAiCisidGhlbyBkw7VpIGhp4buHbiBkaeG7h24gKGTDuW5nIFwiZ2l0IGFkZFwiIMSR4buDIMSRxrBhIHbDoG8gdGhlbyBkw7VpKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjU3CisjOiB3dC1zdGF0dXMuYzoxMzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgogbXNnc3RyICIiCi0ia2jDtG5nIGPDsyBnw6wgxJHGsOG7o2MgdGjDqm0gdsOgbyBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIG5oxrBuZyBjw7Mgbmjhu69uZyB04bqtcCB0aW4gIgotImtow7RuZyDEkcaw4bujYyB0aGVvIGThuqV1IHbhur90IGhp4buHbiBkaeG7h25cbiIKKyJraMO0bmcgY8OzIGfDrCDEkcaw4bujYyB0aMOqbSB2w6BvIGzhuqduIGNodXnhu4NuIGdpYW8gbmjGsG5nIGPDsyBuaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyAiCisidGhlbyBkw7VpIGhp4buHbiBkaeG7h25cbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MAorIzogd3Qtc3RhdHVzLmM6MTM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAoY3JlYXRlL2NvcHkgZmlsZXMgYW5kIHVzZSBcImdpdCBhZGRcIiB0byB0cmFjaylcbiIKIG1zZ3N0ciAiIgotIiBraMO0bmcgY8OzIGfDrCDEkeG7gyBjb21taXQgKHThuqFvL3Nhby1jaMOpcCBjw6FjIHThuq1wIHRpbiB2w6AgZMO5bmcgXCJnaXQgYWRkXCIgxJHhu4MgdGhlbyAiCi0iZMO1aSBk4bqldSB24bq/dClcbiIKKyJraMO0bmcgY8OzIGfDrCDEkeG7gyBjaHV54buDbiBnaWFvICh04bqhby9zYW8tY2jDqXAgY8OhYyB04bqtcCB0aW4gdsOgIGTDuW5nIFwiZ2l0IGFkZFwiIMSR4buDICIKKyLEkcawYSB2w6BvIHRoZW8gZMO1aSlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MyB3dC1zdGF0dXMuYzoxMjY4CisjOiB3dC1zdGF0dXMuYzoxMzYyIHd0LXN0YXR1cy5jOjEzNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXRcbiIKLW1zZ3N0ciAia2jDtG5nIGPDsyBnw6wgxJHhu4MgY2h1eeG7g24gZ2lhbyAoY29tbWl0KVxuIgorbXNnc3RyICJraMO0bmcgY8OzIGfDrCDEkeG7gyBjaHV54buDbiBnaWFvXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjYKKyM6IHd0LXN0YXR1cy5jOjEzNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAiIgotImtow7RuZyBjw7MgZ8OsIMSR4buDIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgKGTDuW5nIC11IMSR4buDIGLhu48gY8OhYyB04bqtcCB0aW4gY+G6p24gdGhlbyBk4bqldSAiCi0iduG6v3QpXG4iCisia2jDtG5nIGPDsyBnw6wgxJHhu4MgY2h1eeG7g24gZ2lhbyAoZMO5bmcgLXUgeGVtIGPDoWMgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI3MAorIzogd3Qtc3RhdHVzLmM6MTM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyBkaXJlY3RvcnkgY2xlYW5cbiIKLW1zZ3N0ciAia2jDtG5nIGPDsyBnw6wgxJHhu4MgY2h1eeG7g24gZ2lhbyAoY29tbWl0KSwgdGjGsCBt4bulYyBsw6BtIHZp4buHYyBz4bqhY2ggc+G6vVxuIgorbXNnc3RyICJraMO0bmcgY8OzIGfDrCDEkeG7gyBjaHV54buDbiBnaWFvLCB0aMawIG3hu6VjIGzDoG0gdmnhu4djIHPhuqFjaCBz4bq9XG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNzgKKyM6IHd0LXN0YXR1cy5jOjE0NzgKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFEIChraMO0bmcgbmjDoW5oKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM4NAorIzogd3Qtc3RhdHVzLmM6MTQ4NAogbXNnaWQgIkluaXRpYWwgY29tbWl0IG9uICIKLW1zZ3N0ciAiTOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBraOG7n2kgdOG6oW8gdHLDqm4gIgorbXNnc3RyICJM4bqnbiBjaHV54buDbiBnaWFvIGto4bufaSB04bqhbyB0csOqbiAiCiAKLSM6IHd0LXN0YXR1cy5jOjEzOTkKKyM6IHd0LXN0YXR1cy5jOjE1MTQKK21zZ2lkICJnb25lIgorbXNnc3RyICLEkcOjIHJhIMSRaSIKKworIzogd3Qtc3RhdHVzLmM6MTUxNgogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgIsSR4bqxbmcgc2F1ICIKIAotIzogd3Qtc3RhdHVzLmM6MTQwMiB3dC1zdGF0dXMuYzoxNDA1CisjOiB3dC1zdGF0dXMuYzoxNTE5IHd0LXN0YXR1cy5jOjE1MjIKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgInBow61hIHRyxrDhu5tjICIKIAotIzogd3Qtc3RhdHVzLmM6MTQwNworIzogd3Qtc3RhdHVzLmM6MTUyNAogbXNnaWQgIiwgYmVoaW5kICIKIG1zZ3N0ciAiLCDEkeG6sW5nIHNhdSAiCiAKLSM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1OCBidWlsdGluL2Nsb25lLmM6MzUxCisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTUgYnVpbHRpbi9jbG9uZS5jOjM1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCi1tc2dzdHIgImLhu48gbGnDqm4ga+G6v3QgKHVubGluaykgJXMga2jDtG5nIHRow6BuaCBjw7RuZyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGLhu48gbGnDqm4ga+G6v3QgKHVubGluaykg4oCcJXPigJ0iCiAKICM6IGJ1aWx0aW4vYWRkLmM6MjAKIG1zZ2lkICJnaXQgYWRkIFtvcHRpb25zXSBbLS1dIDxwYXRoc3BlYz4uLi4iCkBAIC0xNzYzLDEyICsxOTU4LDEyIEBACiAixJDhu4MgdGjDqm0gbuG7mWkgZHVuZyBjaG8gdG/DoG4gYuG7mSBjw6J5LCBjaOG6oXk6XG4iCiAiXG4iCiAiICBnaXQgYWRkICVzIDovXG4iCi0iICAoaGF5IGdpdCBhZGQgJXMgOi8pXG4iCisiICAoaG/hurdjIGdpdCBhZGQgJXMgOi8pXG4iCiAiXG4iCiAixJDhu4MgaOG6oW4gY2jhur8gbOG7h25oIGNobyB0aMawLW3hu6VjIGhp4buHbiB04bqhaSwgY2jhuqF5OlxuIgogIlxuIgogIiAgZ2l0IGFkZCAlcyAuXG4iCi0iICAoaGF5IGdpdCBhZGQgJXMgLilcbiIKKyIgIChob+G6t2MgZ2l0IGFkZCAlcyAuKVxuIgogIlxuIgogIlbhu5tpIHBoacOqbiBi4bqjbiBoaeG7h24gdOG6oWkgY+G7p2EgR2l0LCBs4buHbmggYuG7iyBo4bqhbiBjaOG6vyBjaG8gdGjGsC1t4bulYyBoaeG7h24gdOG6oWkuXG4iCiAKQEAgLTE4MDYsNyArMjAwMSw3IEBACiBtc2dpZCAidW5leHBlY3RlZCBkaWZmIHN0YXR1cyAlYyIKIG1zZ3N0ciAidHLhuqFuZyB0aMOhaSBs4buHbmggZGlmZiBraMO0bmcgbmjGsCBtb25nIMSR4bujaSAlYyIKIAotIzogYnVpbHRpbi9hZGQuYzoxNDkgYnVpbHRpbi9jb21taXQuYzoyNTIKKyM6IGJ1aWx0aW4vYWRkLmM6MTQ5IGJ1aWx0aW4vY29tbWl0LmM6MjYwCiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICJD4bqtcCBuaOG6rXQgdOG6rXAgdGluIGfhurdwIGzhu5dpIgogCkBAIC0xODE1LDE0NyArMjAxMCwxNDIgQEAKIG1zZ2lkICJyZW1vdmUgJyVzJ1xuIgogbXNnc3RyICJn4buhIGLhu48g4oCcJXPigJ1cbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTMKKyM6IGJ1aWx0aW4vYWRkLmM6MjM3CiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZWZyZXNoaW5nIHRoZSBpbmRleDoiCiBtc2dzdHIgIiIKLSJDw6FjIHRoYXkgxJHhu5VpIGtow7RuZyDEkcaw4bujYyBsxrB1IHRy4bqhbmcgdGjDoWkgc2F1IGtoaSBsw6BtIHTGsMahaSBt4bubaSBs4bqhaSBi4bqjbmcgbeG7pWMgbOG7pWM6IgorIsSQxrBhIHJhIGto4buPaSBi4buHIHBow7NuZyBjw6FjIHRoYXkgxJHhu5VpIHNhdSBraGkgbMOgbSB0xrDGoWkgbeG7m2kgbOG6oWkgYuG6o25nIG3hu6VjIGzhu6VjOiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYgYnVpbHRpbi9hZGQuYzo1NzMgYnVpbHRpbi9ybS5jOjMzNwotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgotbXNnc3RyICJwYXRoc3BlYyDigJwlc+KAnSBraMO0bmcga2jhu5twIHbhu5tpIGLhuqV0IGvhu7MgdOG6rXAgdGluIG7DoG8iCi0KLSM6IGJ1aWx0aW4vYWRkLmM6MzM5CisjOiBidWlsdGluL2FkZC5jOjI5OQogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4buNYyBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUwCisjOiBidWlsdGluL2FkZC5jOjMxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58g4oCcJXPigJ0gxJHhu4MgZ2hpLiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTQKKyM6IGJ1aWx0aW4vYWRkLmM6MzE0CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHBhdGNoIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIHJhIG1p4bq/bmcgdsOhIgogCi0jOiBidWlsdGluL2FkZC5jOjM1OQorIzogYnVpbHRpbi9hZGQuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHN0YXQgJyVzJyIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRy4bqhbmcgdGjDoWkgduG7gSDigJwlc+KAnSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRow7RuZyB0aW4gdGjhu5FuZyBrw6ogduG7gSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9hZGQuYzozNjEKKyM6IGJ1aWx0aW4vYWRkLmM6MzIxCiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgotbXNnc3RyICJNaeG6v25nIHbDoSB0cuG7kW5nIHLhu5duZy4gxJDDoyBi4buPIHF1YS4iCittc2dzdHIgIk1p4bq/bmcgdsOhIHRy4buRbmcgcuG7l25nLiBOw6puIGLhu48gcXVhLiIKIAotIzogYnVpbHRpbi9hZGQuYzozNjcKKyM6IGJ1aWx0aW4vYWRkLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAnJXMnIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgYXBwbHkgKMOhcCBk4bulbmcgbWnhur9uZyB2w6EpIOKAnCVz4oCdIgorbXNnc3RyICJLaMO0bmcgdGjhu4Mgw6FwIGThu6VuZyBtaeG6v25nIHbDoSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9hZGQuYzozNzcKKyM6IGJ1aWx0aW4vYWRkLmM6MzM3CiBtc2dpZCAiVGhlIGZvbGxvd2luZyBwYXRocyBhcmUgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgogbXNnc3RyICIiCiAiQ8OhYyDEkcaw4budbmcgZOG6q24gdGhlbyBzYXUgxJHDonkgc+G6vSBi4buLIGzhu50gxJFpIGLhu59pIG3hu5l0IHRyb25nIGPDoWMgdOG6rXAgdGluIC5naXRpZ25vcmUgIgogImPhu6dhIGLhuqFuOlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjM5NCBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZmV0Y2guYzo3OCBidWlsdGluL212LmM6NjMKLSM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzMgYnVpbHRpbi9wdXNoLmM6NDUxIGJ1aWx0aW4vcmVtb3RlLmM6MTI1MwotIzogYnVpbHRpbi9ybS5jOjI2OAorIzogYnVpbHRpbi9hZGQuYzozNTQgYnVpbHRpbi9jbGVhbi5jOjg3NSBidWlsdGluL2ZldGNoLmM6OTMgYnVpbHRpbi9tdi5jOjcwCisjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjc3IGJ1aWx0aW4vcHVzaC5jOjUwNiBidWlsdGluL3JlbW90ZS5jOjEzNDQKKyM6IGJ1aWx0aW4vcm0uYzoyNjkKIG1zZ2lkICJkcnkgcnVuIgogbXNnc3RyICJjaOG6oXkgdGjhu60iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzk1IGJ1aWx0aW4vYXBwbHkuYzo0NDEwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyMCBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NSBidWlsdGluL2ZzY2suYzo2MTMKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3MyBidWlsdGluL212LmM6NjIgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTMKKyM6IGJ1aWx0aW4vYWRkLmM6MzU1IGJ1aWx0aW4vYXBwbHkuYzo0NDEwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI0OSBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NSBidWlsdGluL2ZzY2suYzo2MTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5MiBidWlsdGluL212LmM6NjkgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTMKIG1zZ2lkICJiZSB2ZXJib3NlIgogbXNnc3RyICJjaGkgdGnhur90IgogCi0jOiBidWlsdGluL2FkZC5jOjM5NworIzogYnVpbHRpbi9hZGQuYzozNTcKIG1zZ2lkICJpbnRlcmFjdGl2ZSBwaWNraW5nIgogbXNnc3RyICJz4butYSBi4bqxbmcgY8OhY2ggdMawxqFuZyB0w6FjIgogCi0jOiBidWlsdGluL2FkZC5jOjM5OCBidWlsdGluL2NoZWNrb3V0LmM6MTA3MyBidWlsdGluL3Jlc2V0LmM6MjYxCisjOiBidWlsdGluL2FkZC5jOjM1OCBidWlsdGluL2NoZWNrb3V0LmM6MTEwOSBidWlsdGluL3Jlc2V0LmM6MjcyCiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCi1tc2dzdHIgImNo4buNbiDigJxodW5rc+KAnSBt4buZdCBjw6FjaCB0xrDGoW5nIHTDoWMiCittc2dzdHIgImNo4buNbiDigJxodW5rc+KAnSB0aGVvIGtp4buDdSB0xrDGoW5nIHTDoWMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzk5CisjOiBidWlsdGluL2FkZC5jOjM1OQogbXNnaWQgImVkaXQgY3VycmVudCBkaWZmIGFuZCBhcHBseSIKIG1zZ3N0ciAic+G7rWEgZGlmZiBoaeG7h24gbmF5IHbDoCDDoXAgZOG7pW5nIG7DsyIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDAKKyM6IGJ1aWx0aW4vYWRkLmM6MzYwCiBtc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJjaG8gcGjDqXAgdGjDqm0gY8OhYyB04bqtcCB0aW4gYuG7iyBi4buPIHF1YSBraMOhYyIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDEKKyM6IGJ1aWx0aW4vYWRkLmM6MzYxCiBtc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCi1tc2dzdHIgImPhuq1wIG5o4bqtdCBjw6FjIHThuq1wIHRpbiDEkcaw4bujYyB0aGVvIHbhur90IgorbXNnc3RyICJj4bqtcCBuaOG6rXQgY8OhYyB04bqtcCB0aW4gxJHGsOG7o2MgdGhlbyBkw7VpIgogCi0jOiBidWlsdGluL2FkZC5jOjQwMgorIzogYnVpbHRpbi9hZGQuYzozNjIKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgImNo4buJIGdoaSBs4bqhaSBz4buxIHZp4buHYyBtw6AgxJHGsOG7nW5nIGThuqtuIHPhur0gxJHGsOG7o2MgdGjDqm0gdsOgbyBzYXUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAzCisjOiBidWlsdGluL2FkZC5jOjM2MwogbXNnaWQgImFkZCBjaGFuZ2VzIGZyb20gYWxsIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiIgogInRow6ptIGPDoWMgdGhheSDEkeG7lWkgdOG7qyB04bqldCBj4bqjIGPDoWMgdOG6rXAgdGluIGPDsyBjxaluZyBuaMawIGtow7RuZyDEkcaw4bujYyB0aGVvIGTDtWkgZOG6pXUgIgogInbhur90IgogCiAjLiB0YWtlcyBubyBhcmd1bWVudHMKLSM6IGJ1aWx0aW4vYWRkLmM6NDA2CisjOiBidWlsdGluL2FkZC5jOjM2NgogbXNnaWQgImlnbm9yZSBwYXRocyByZW1vdmVkIGluIHRoZSB3b3JraW5nIHRyZWUgKHNhbWUgYXMgLS1uby1hbGwpIgogbXNnc3RyICIiCiAibOG7nSDEkWkgY8OhYyDEkcaw4budbmcgZOG6q24gYuG7iyBn4buhIGLhu48gdHJvbmcgY8OieSB0aMawIG3hu6VjIGzDoG0gdmnhu4djIChnaeG7kW5nIHbhu5tpIC0tbm8tYWxsKSIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDgKKyM6IGJ1aWx0aW4vYWRkLmM6MzY4CiBtc2dpZCAiZG9uJ3QgYWRkLCBvbmx5IHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJraMO0bmcgdGjDqm0sIGNo4buJIGzDoG0gdMawxqFpIG3hu5tpIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDkKKyM6IGJ1aWx0aW4vYWRkLmM6MzY5CiBtc2dpZCAianVzdCBza2lwIGZpbGVzIHdoaWNoIGNhbm5vdCBiZSBhZGRlZCBiZWNhdXNlIG9mIGVycm9ycyIKIG1zZ3N0ciAiY2hpZSBi4buPIHF1YSBuaOG7r25nIHThuq1wIHRpbiBtw6AgbsOzIGtow7RuZyB0aOG7gyDEkcaw4bujYyB0aMOqbSB2w6BvIGLhu59pIHbDrCBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9hZGQuYzo0MTAKKyM6IGJ1aWx0aW4vYWRkLmM6MzcwCiBtc2dpZCAiY2hlY2sgaWYgLSBldmVuIG1pc3NpbmcgLSBmaWxlcyBhcmUgaWdub3JlZCBpbiBkcnkgcnVuIgogbXNnc3RyICIiCiAia2nhu4NtIHRyYSB4ZW0gLSB0aOG6rW0gY2jDrSB0aGnhur91IC0gdOG6rXAgdGluIGLhu4sgYuG7jyBxdWEgdHJvbmcgcXXDoSB0csOsbmggY2jhuqF5IHRo4butIgogCi0jOiBidWlsdGluL2FkZC5jOjQzMgorIzogYnVpbHRpbi9hZGQuYzozOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKIG1zZ3N0ciAiU+G7rSBk4bulbmcgdMO5eSBjaOG7jW4gLWYgbuG6v3UgYuG6oW4gdGjhu7FjIHPhu7EgbXXhu5FuIHRow6ptIGNow7puZyB2w6BvLlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjQzMworIzogYnVpbHRpbi9hZGQuYzozOTMKIG1zZ2lkICJubyBmaWxlcyBhZGRlZCIKIG1zZ3N0ciAiY2jGsGEgY8OzIHThuq1wIHRpbiBuw6BvIMSRxrDhu6NjIHRow6ptIHbDoG8iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDM5CisjOiBidWlsdGluL2FkZC5jOjM5OQogbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgInRow6ptIHThuq1wIHRpbiBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9hZGQuYzo0NzgKKyM6IGJ1aWx0aW4vYWRkLmM6NDM4CiBtc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi1BIHbDoCAtdSB4dW5nIGto4bqvYyBuaGF1IgogCi0jOiBidWlsdGluL2FkZC5jOjQ5NgorIzogYnVpbHRpbi9hZGQuYzo0NTYKIG1zZ2lkICJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIgogbXNnc3RyICJUw7l5IGNo4buNbiAtLWlnbm9yZS1taXNzaW5nIGNo4buJIGPDsyB0aOG7gyDEkcaw4bujYyBkw7luZyBjw7luZyB24bubaSAtLWRyeS1ydW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NTI2CisjOiBidWlsdGluL2FkZC5jOjQ4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3RoaW5nIHNwZWNpZmllZCwgbm90aGluZyBhZGRlZC5cbiIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBnw6wgxJHGsOG7o2MgY2jhu4kgcmEsIGtow7RuZyBjw7MgZ8OsIMSRxrDhu6NjIHRow6ptIHbDoG8uXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NTI3CisjOiBidWlsdGluL2FkZC5jOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKLW1zZ3N0ciAiQ8OzIGzhur0gYuG6oW4gbXXhu5FuIGzDoCDigJxnaXQgYWRkIC7igJ0gcGjhuqNpIGtow7RuZz9cbiIKK21zZ3N0ciAiQ8OzIGzhur0gw70gYuG6oW4gbMOgIOKAnGdpdCBhZGQgLuKAnSBwaOG6o2kga2jDtG5nP1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjUzMyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MSBidWlsdGluL2NsZWFuLmM6OTE5Ci0jOiBidWlsdGluL2NvbW1pdC5jOjMxMiBidWlsdGluL212LmM6ODIgYnVpbHRpbi9ybS5jOjI5NworIzogYnVpbHRpbi9hZGQuYzo0OTIgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIgYnVpbHRpbi9jbGVhbi5jOjkxOQorIzogYnVpbHRpbi9jb21taXQuYzozMjAgYnVpbHRpbi9tdi5jOjkwIGJ1aWx0aW4vcmVzZXQuYzoyMjQgYnVpbHRpbi9ybS5jOjI5OQogbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCIKIG1zZ3N0ciAidOG6rXAgdGluIGdoaSBi4bqjbmcgbeG7pWMgbOG7pWMgYuG7iyBo4buPbmciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NjA1IGJ1aWx0aW4vYXBwbHkuYzo0NTA2IGJ1aWx0aW4vbXYuYzoyMjkgYnVpbHRpbi9ybS5jOjQzMgorIzogYnVpbHRpbi9hZGQuYzo1OTIgYnVpbHRpbi9hcHBseS5jOjQ1MDYgYnVpbHRpbi9tdi5jOjI3MCBidWlsdGluL3JtLmM6NDMyCiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIHThuq1wIHRpbiBsxrB1IGLhuqNuZyBt4bulYyBs4bulYyBt4bubaSIKIApAQCAtMTk4Myw3ICsyMTczLDcgQEAKICM6IGJ1aWx0aW4vYXBwbHkuYzo4MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgotbXNnc3RyICJ0aGkgaMOgbmggYmnhu4N1IHRo4bupYyBjaMOtbmggcXV5IHRy4bqjIHbhu4EgJWQgY2hvIGvhur90IHh14bqldDogJXMiCittc2dzdHIgInRoaSBow6BuaCBiaeG7g3UgdGjhu6ljIGNow61uaCBxdXkgdHLhuqMgduG7gSAlZCBjaG8gxJHhuqd1IHbDoG86ICVzIgogCiAjOiBidWlsdGluL2FwcGx5LmM6OTEzCiAjLCBjLWZvcm1hdApAQCAtMTk5MywyMiArMjE4MywyMyBAQAogIzogYnVpbHRpbi9hcHBseS5jOjk0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCi1tc2dzdHIgImdpdCBhcHBseTogZ2l0LWRpZmYgc2FpIC0gbW9uZyDEkeG7o2kgL2Rldi9udWxsLCDEkcOjIG5o4bqtbiAlcyB0csOqbiBkw7JuZyAlZCIKK21zZ3N0ciAiIgorImdpdCBhcHBseTogZ2l0LWRpZmYgc2FpIC0gY+G6p24gL2Rldi9udWxsLCBuaMawbmcgbOG6oWkgbmjhuq1uIMSRxrDhu6NjICVzIHRyw6puIGTDsm5nICVkIgogCiAjOiBidWlsdGluL2FwcGx5LmM6OTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG5ldyBmaWxlbmFtZSBvbiBsaW5lICVkIgotbXNnc3RyICJnaXQgYXBwbHk6IGdpdC1kaWZmIHNhaSAtIHTDqm4gdOG6rXAgdGluIG3hu5tpIG3DonUgdGh14bqlbiB0csOqbiBkw7JuZyAlZCIKK21zZ3N0ciAiZ2l0IGFwcGx5OiBnaXQtZGlmZiBzYWkgLSB0w6puIHThuq1wIHRpbiBt4bubaSBraMO0bmcgbmjhuqV0IHF1w6FuIHRyw6puIGTDsm5nICVkIgogCiAjOiBidWlsdGluL2FwcGx5LmM6OTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgotbXNnc3RyICJnaXQgYXBwbHk6IGdpdC1kaWZmIHNhaSAtIHTDqm4gdOG6rXAgdGluIGPFqSBtw6J1IHRodeG6pW4gdHLDqm4gZMOybmcgJWQiCittc2dzdHIgImdpdCBhcHBseTogZ2l0LWRpZmYgc2FpIC0gdMOqbiB04bqtcCB0aW4gY8WpIGtow7RuZyBuaOG6pXQgcXXDoW4gdHLDqm4gZMOybmcgJWQiCiAKICM6IGJ1aWx0aW4vYXBwbHkuYzo5NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwgb24gbGluZSAlZCIKLW1zZ3N0ciAiZ2l0IGFwcGx5OiBnaXQtZGlmZiBzYWkgLSBj4bqnbiAvZGV2L251bGwgdHLDqm4gZMOybmcgJWQiCittc2dzdHIgImdpdCBhcHBseTogZ2l0LWRpZmYgc2FpIC0gY+G6p24g4oCcL2Rldi9udWxs4oCdIHRyw6puIGTDsm5nICVkIgogCiAjOiBidWlsdGluL2FwcGx5LmM6MTQyMgogIywgYy1mb3JtYXQKQEAgLTIwNzcsMTIgKzIyNjgsMTIgQEAKICM6IGJ1aWx0aW4vYXBwbHkuYzoxOTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIHdpdGggb25seSBnYXJiYWdlIGF0IGxpbmUgJWQiCi1tc2dzdHIgInbDoSBjaOG7iSB24bubaSDigJxnYXJiYWdl4oCdIHThuqFpIGTDsm5nICVkIgorbXNnc3RyICJ2w6EgY2jhu4kgduG7m2kg4oCccsOhY+KAnSB04bqhaSBkw7JuZyAlZCIKIAogIzogYnVpbHRpbi9hcHBseS5jOjIwNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBsacOqbiBr4bq/dCB0xrDhu6NuZyB0csawbmcgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgbGnDqm4ga+G6v3QgbeG7gW0gJXMiCiAKICM6IGJ1aWx0aW4vYXBwbHkuYzoyMDgwCiAjLCBjLWZvcm1hdApAQCAtMjEwNCw3ICsyMjk1LDcgQEAKICM6IGJ1aWx0aW4vYXBwbHkuYzoyODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbnRleHQgcmVkdWNlZCB0byAoJWxkLyVsZCkgdG8gYXBwbHkgZnJhZ21lbnQgYXQgJWQiCi1tc2dzdHIgIk7hu5lpIGR1bmcgYuG7iyBnaeG6o20geHXhu5FuZyAoJWxkLyVsZCkgxJHhu4Mgw6FwIGThu6VuZyBt4bqjbmggZOG7ryBsaeG7h3UgdOG6oWkgJWQiCittc2dzdHIgIk7hu5lpIGR1bmcgYuG7iyBnaeG6o20geHXhu5FuZyBjw7JuICglbGQvJWxkKSDEkeG7gyDDoXAgZOG7pW5nIG3huqNuaCBk4buvIGxp4buHdSB04bqhaSAlZCIKIAogIzogYnVpbHRpbi9hcHBseS5jOjI4MjQKICMsIGMtZm9ybWF0CkBAIC0yMTEyLDcgKzIzMDMsNyBAQAogIndoaWxlIHNlYXJjaGluZyBmb3I6XG4iCiAiJS4qcyIKIG1zZ3N0ciAiIgotIlRyb25nIGtoaSDEkWFuZyB0w6xtIGtp4bq/bSBjaG86XG4iCisidHJvbmcga2hpIMSRYW5nIHTDrG0ga2nhur9tIGNobzpcbiIKICIlLipzIgogCiAjOiBidWlsdGluL2FwcGx5LmM6Mjg0MwpAQCAtMjEzNSw3ICsyMzI2LDcgQEAKICM6IGJ1aWx0aW4vYXBwbHkuYzoyOTczCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgotbXNnc3RyICJ2w6EgZ+G6t3AgbOG7l2k6ICVzOiVsZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHbDoTogJXM6JWxkIgogCiAjOiBidWlsdGluL2FwcGx5LmM6MzA5NQogIywgYy1mb3JtYXQKQEAgLTIxNTAsNyArMjM0MSw3IEBACiAjOiBidWlsdGluL2FwcGx5LmM6MzE3NCBidWlsdGluL2FwcGx5LmM6MzM5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKLW1zZ3N0ciAixJHGsOG7nW5nIGThuqtuICVzIMSRw6MgYuG7iyB4w7NhL8SR4buVaSB0w6puIgorbXNnc3RyICLEkcaw4budbmcgZOG6q24gJXMgxJHDoyBi4buLIHjDs2EgaG/hurdjIMSR4buVaSB0w6puIgogCiAjOiBidWlsdGluL2FwcGx5LmM6MzI1NSBidWlsdGluL2FwcGx5LmM6MzQxMAogIywgYy1mb3JtYXQKQEAgLTIxNzksNyArMjM3MCw3IEBACiAjOiBidWlsdGluL2FwcGx5LmM6MzQzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCi1tc2dzdHIgIiVzIGPDsyBraeG7g3UgJW8sIG1vbmcgY2jhu50gJW8iCittc2dzdHIgIiVzIGPDsyBraeG7g3UgJW8sIGPhuqduICVvIgogCiAjOiBidWlsdGluL2FwcGx5LmM6MzUzOAogIywgYy1mb3JtYXQKQEAgLTIyMTEsNyArMjQwMiw3IEBACiBtc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCiBtc2dzdHIgIsSQYW5nIGtp4buDbSB0cmEgbWnhur9uZyB2w6EgJXMuLi4iCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzozNjgwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTYgYnVpbHRpbi9yZXNldC5jOjEyNworIzogYnVpbHRpbi9hcHBseS5jOjM2ODAgYnVpbHRpbi9jaGVja291dC5jOjIxMyBidWlsdGluL3Jlc2V0LmM6MTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCiBtc2dzdHIgIm1ha2VfY2FjaGVfZW50cnkgZ+G6t3AgbOG7l2kgxJHhu5FpIHbhu5tpIMSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSIKQEAgLTIyMjQsNyArMjQxNSw3IEBACiAjOiBidWlsdGluL2FwcGx5LmM6Mzg1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCi1tc2dzdHIgIm1p4bq/bmcgdsOhIHNhaSBo4buPbmcgY2hvIG3DtC3EkXVuLWNvbiAoc3VicHJvamVjdCkgJXMiCittc2dzdHIgIm1p4bq/bmcgdsOhIHNhaSBo4buPbmcgY2hvIG3DtC3EkXVuLWNvbiAlcyIKIAogIzogYnVpbHRpbi9hcHBseS5jOjM4NTUKICMsIGMtZm9ybWF0CkBAIC0yMjM0LDEyICsyNDI1LDEyIEBACiAjOiBidWlsdGluL2FwcGx5LmM6Mzg2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGJhY2tpbmcgc3RvcmUgZm9yIG5ld2x5IGNyZWF0ZWQgZmlsZSAlcyIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIOKAnGJhY2tpbmcgc3RvcmXigJ0gY2hvIHThuq1wIHRpbiDEkcaw4bujYyB04bqhbyBt4bubaSBoxqFuICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8g4oCca2hvIGzGsHUgxJHhurFuZyBzYXXigJ0gY2hvIHThuq1wIHRpbiDEkcaw4bujYyB04bqhbyBt4bubaSBoxqFuICVzIgogCiAjOiBidWlsdGluL2FwcGx5LmM6Mzg2MyBidWlsdGluL2FwcGx5LmM6Mzk3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIHRow6ptIG3hu6VjIG5o4bubIHThuqFtIGNobyAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHRow6ptIG3hu6VjIG5o4bubIMSR4buHbSBjaG8gJXMiCiAKICM6IGJ1aWx0aW4vYXBwbHkuYzozODk2CiAjLCBjLWZvcm1hdApAQCAtMjI0OSw3ICsyNDQwLDcgQEAKICM6IGJ1aWx0aW4vYXBwbHkuYzozOTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB2w6BvIHThuq1wIHRpbiDigJwlc+KAnSBjaOG6vyDEkeG7mSAobW9kZSkgJW8iCittc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdsOgbyB04bqtcCB0aW4g4oCcJXPigJ0gY2jhur8gxJHhu5kgJW8iCiAKICM6IGJ1aWx0aW4vYXBwbHkuYzo0MDMyCiAjLCBjLWZvcm1hdApAQCAtMjI3MSw3ICsyNDYyLDcgQEAKICM6IGJ1aWx0aW4vYXBwbHkuYzo0MDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKLW1zZ3N0ciAixJFhbmcgY+G6r3QgY+G7pXQgdMOqbiB04bqtcCB0aW4gLnJlaiB0aMOgbmggJS4qcy5yZWoiCittc2dzdHIgIsSRYW5nIGPhuq90IG5n4bqvbiB0w6puIHThuq1wIHRpbiAucmVqIHRow6BuaCAlLipzLnJlaiIKIAogIzogYnVpbHRpbi9hcHBseS5jOjQwNzQKICMsIGMtZm9ybWF0CkBAIC0yMjkxLDggKzI0ODIsOCBAQAogbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM1NyBidWlsdGluL2FwcGx5LmM6NDM2MCBidWlsdGluL2Nsb25lLmM6OTEKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MworIzogYnVpbHRpbi9hcHBseS5jOjQzNTcgYnVpbHRpbi9hcHBseS5jOjQzNjAgYnVpbHRpbi9jbG9uZS5jOjkwCisjOiBidWlsdGluL2ZldGNoLmM6NzgKIG1zZ2lkICJwYXRoIgogbXNnc3RyICLEkcaw4budbmctZOG6q24iCiAKQEAgLTIzMTAsMTEgKzI1MDEsMTEgQEAKIAogIzogYnVpbHRpbi9hcHBseS5jOjQzNjQKIG1zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKLW1zZ3N0ciAiZ+G7oSBi4buPIDxz4buRPiBwaOG6p24gZOG6q24gxJHhuqd1IChzbGFzaGUpIHThu6sgxJHGsOG7nW5nIGThuqtuIGRpZmYgY+G7lSDEkWnhu4NuIgorbXNnc3RyICJn4buhIGLhu48gPHPhu5E+IGThuqV1IGfhuqFjaCBjaMOpbyBk4bqrbiDEkeG6p3UgdOG7qyDEkcaw4budbmcgZOG6q24gZGlmZiBj4buVIMSRaeG7g24iCiAKICM6IGJ1aWx0aW4vYXBwbHkuYzo0MzY3CiBtc2dpZCAiaWdub3JlIGFkZGl0aW9ucyBtYWRlIGJ5IHRoZSBwYXRjaCIKLW1zZ3N0ciAibOG7nSDEkWkgcGjhuqduIHBo4bulIHRow6ptIHThuqFvIHJhIGLhu59pIG1p4bq/bmcgdsOhIgorbXNnc3RyICJs4budIMSRaSBwaOG6p24gYuG7lSB4dW5nIMSRxrDhu6NjIHThuqFvIHJhIGLhu59pIG1p4bq/bmcgdsOhIgogCiAjOiBidWlsdGluL2FwcGx5LmM6NDM2OQogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKQEAgLTIzNTYsNyArMjU0Nyw3IEBACiBtc2dzdHIgIiIKICJ4w6J5IGThu7FuZyBi4bqjbmcgbeG7pWMgbOG7pWMgdOG6oW0gdGjhu51pIHRyw6puIGPGoSBz4bufIHRow7RuZyB0aW4gYuG6o25nIG3hu6VjIGzhu6VjIMSRxrDhu6NjIG5ow7puZyIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzODkgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE5NyBidWlsdGluL2xzLWZpbGVzLmM6NDYyCisjOiBidWlsdGluL2FwcGx5LmM6NDM4OSBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTk3IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTIKIG1zZ2lkICJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAiY8OhYyDEkcaw4budbmcgZOG6q24gYuG7iyBuZ8SDbiBjw6FjaCBi4bufaSBrw70gdOG7sSBOVUxMIgogCkBAIC0yMzc0LDcgKzI1NjUsNyBAQAogCiAjOiBidWlsdGluL2FwcGx5LmM6NDM5NyBidWlsdGluL2FwcGx5LmM6NDQwMAogbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2Ugd2hlbiBmaW5kaW5nIGNvbnRleHQiCi1tc2dzdHIgImzhu50gxJFpIHPhu7EgdGhheSDEkeG7lWkgZG8ga2hv4bqjbmcgdHLhuq9uZyBraGkgcXXDqXQgbuG7mWkgZHVuZyIKK21zZ3N0ciAibOG7nSDEkWkgc+G7sSB0aGF5IMSR4buVaSBkbyBraG/huqNuZyB0cuG6r25nIGfDonkgcmEga2hpIHF1w6l0IG7hu5lpIGR1bmciCiAKICM6IGJ1aWx0aW4vYXBwbHkuYzo0NDAzCiBtc2dpZCAiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiCkBAIC0yNDU1LDcgKzI2NDYsNyBAQAogCiAjOiBidWlsdGluL2FyY2hpdmUuYzo1OAogbXNnaWQgImdpdCBhcmNoaXZlOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgRU9GIgotbXNnc3RyICJnaXQgYXJjaGl2ZTogbW9uZyDEkeG7o2kgQUNLL05BSywgbmjhuq1uIEVPRiIKK21zZ3N0ciAiZ2l0IGFyY2hpdmU6IGPhuqduIEFDSy9OQUssIG5oxrBuZyBs4bqhaSBuaOG6rW4gxJHGsOG7o2MgRU9GIgogCiAjOiBidWlsdGluL2FyY2hpdmUuYzo2MQogIywgYy1mb3JtYXQKQEAgLTI0NzMsNyArMjY2NCw3IEBACiAKICM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY4CiBtc2dpZCAiZ2l0IGFyY2hpdmU6IGV4cGVjdGVkIGEgZmx1c2giCi1tc2dzdHIgImdpdCBhcmNoaXZlOiDEkcOjIG1vbmcgY2jhu50gbeG7mXQgZmx1c2giCittc2dzdHIgImdpdCBhcmNoaXZlOiBj4bqnbiBt4buZdCBmbHVzaCAoxJHhuql5IGThu68gbGnhu4d1IGzDqm4gxJHEqWEpIgogCiAjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NwogbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLW5leHQtYWxsIFstLW5vLWNoZWNrb3V0XSIKQEAgLTI0ODYsMTA4ICsyNjc3LDEwNyBAQAogIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE5CiBtc2dpZCAidXBkYXRlIEJJU0VDVF9IRUFEIGluc3RlYWQgb2YgY2hlY2tpbmcgb3V0IHRoZSBjdXJyZW50IGNvbW1pdCIKIG1zZ3N0ciAiIgotImPhuq1wIG5o4bqtdCBCSVNFQ1RfSEVBRCB0aGF5IHbDrCBs4bqleSByYSAoY2hlY2tpbmcgb3V0KSBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpICIKLSJoaeG7h24gaMOgbmgiCisiY+G6rXAgbmjhuq10IEJJU0VDVF9IRUFEIHRoYXkgdsOsIGzhuqV5IHJhIChjaGVja2luZyBvdXQpIGzhuqduIGNodXnhu4NuIGdpYW8gaGnhu4duIGjDoG5oIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNwogbXNnaWQgImdpdCBibGFtZSBbb3B0aW9uc10gW3Jldi1vcHRzXSBbcmV2XSBbLS1dIGZpbGUiCiBtc2dzdHIgImdpdCBibGFtZSBbY8OhYy10w7l5LWNo4buNbl0gW3Jldi1vcHRzXSBbcmV2XSBbLS1dIHThuq1wLXRpbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjMxCisjOiBidWlsdGluL2JsYW1lLmM6MzIKIG1zZ2lkICJbcmV2LW9wdHNdIGFyZSBkb2N1bWVudGVkIGluIGdpdC1yZXYtbGlzdCgxKSIKIG1zZ3N0ciAiW3Jldi1vcHRzXSDEkcaw4bujYyBtw7QgdOG6oyB0cm9uZyBnaXQtcmV2LWxpc3QoMSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjc2CisjOiBidWlsdGluL2JsYW1lLmM6MjI0OQogbXNnaWQgIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyBjw6FjIG3hu6VjIOKAnGJsYW1l4oCdIG5oxrAgbMOgIGNow7puZyB0YSB0aOG6pXkgY2jDum5nLCB0xINuZyBk4bqnbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyNzcKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjUwCiBtc2dpZCAiU2hvdyBibGFuayBTSEEtMSBmb3IgYm91bmRhcnkgY29tbWl0cyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogIkhp4buDbiB0aOG7iyBTSEEtMSB0cuG6r25nIGNobyBuaOG7r25nIGzhuqduIGNodXnhu4NuIGdpYW8gYmnDqm4gZ2nhu5tpIChN4bq3YyDEkeG7i25oOiBvZmYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI3OAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTEKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIktow7RuZyBjb2kgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGfhu5FjIGzDoCBnaeG7m2kgaOG6oW4gKE3hurdjIMSR4buLbmg6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjc5CisjOiBidWlsdGluL2JsYW1lLmM6MjI1MgogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyB0aOG7kW5nIGvDqiBjw7RuZyBz4bupYyBsw6BtIHZp4buHYyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjUzCiBtc2dpZCAiU2hvdyBvdXRwdXQgc2NvcmUgZm9yIGJsYW1lIGVudHJpZXMiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyBr4bq/dCB4deG6pXQgxJFp4buDbSBz4buRIGPDsyBjw6FjIG3hu6VjIHRpbiDigJxibGFtZeKAnSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU0CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyB0w6puIHThuq1wIHRpbiBn4buRYyAoTeG6t2MgxJHhu4tuaDogYXV0bykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgyCisjOiBidWlsdGluL2JsYW1lLmM6MjI1NQogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIHPhu5EgZMOybmcgZ+G7kWMgKE3hurdjIMSR4buLbmg6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgzCisjOiBidWlsdGluL2JsYW1lLmM6MjI1NgogbXNnaWQgIlNob3cgaW4gYSBmb3JtYXQgZGVzaWduZWQgZm9yIG1hY2hpbmUgY29uc3VtcHRpb24iCiBtc2dzdHIgIkhp4buDbiB0aOG7iyDhu58gxJHhu4tuaCBk4bqhbmcgxJHDoyB0aGnhur90IGvhur8gY2hvIHPhu7EgdGnDqnUgZMO5bmcgYuG6sW5nIG3DoXkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg0CisjOiBidWlsdGluL2JsYW1lLmM6MjI1NwogbXNnaWQgIlNob3cgcG9yY2VsYWluIGZvcm1hdCB3aXRoIHBlci1saW5lIGNvbW1pdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIMSR4buLbmggZOG6oW5nIOKAnHBvcmNlbGFpbuKAnSB24bubaSB0aMO0bmcgdGluIGNodXnhu4NuIGdpYW8gbeG7l2kgZMOybmciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg1CisjOiBidWlsdGluL2JsYW1lLmM6MjI1OAogbXNnaWQgIlVzZSB0aGUgc2FtZSBvdXRwdXQgbW9kZSBhcyBnaXQtYW5ub3RhdGUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkTDuW5nIGPDuW5nIGNo4bq/IMSR4buZIHh14bqldCByYSB2w7NpZ2l0LWFubm90YXRlIChN4bq3YyDEkeG7i25oOiBvZmYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4NgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTkKIG1zZ2lkICJTaG93IHJhdyB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyBk4bqldSB24bq/dCB0aOG7nWkgZ2lhbiBk4bqhbmcgdGjDtCAoTeG6t2MgxJHhu4tuaDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODcKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYwCiBtc2dpZCAiU2hvdyBsb25nIGNvbW1pdCBTSEExIChEZWZhdWx0OiBvZmYpIgotbXNnc3RyICJIaeG7g24gdGjhu4sgU0hBMSBj4bunYSBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIGThuqFuZyBkw6BpIChN4bq3YyDEkeG7i25oOiBvZmYpIgorbXNnc3RyICJIaeG7g24gdGjhu4sgU0hBMSBj4bunYSBs4bqnbiBjaHV54buDbiBnaWFvIGThuqFuZyBkw6BpIChN4bq3YyDEkeG7i25oOiBvZmYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4OAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjEKIG1zZ2lkICJTdXBwcmVzcyBhdXRob3IgbmFtZSBhbmQgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJLaMO0bmcgaGnhu4NuIHRo4buLIHTDqm4gdMOhYyBnaeG6oyB2w6AgZOG6pXUgduG6v3QgdGjhu51pIGdpYW4gKE3hurdjIMSR4buLbmg6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg5CisjOiBidWlsdGluL2JsYW1lLmM6MjI2MgogbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIHRoxrAgxJFp4buHbiB04butIGPhu6dhIHTDoWMgZ2nhuqMgdGhheSB2w6wgdMOqbiAoTeG6t2MgxJHhu4tuaDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYzCiBtc2dpZCAiSWdub3JlIHdoaXRlc3BhY2UgZGlmZmVyZW5jZXMiCiBtc2dzdHIgIkLhu48gcXVhIGPDoWMga2jDoWMgYmnhu4d0IGRvIGtob+G6o25nIHRy4bqvbmcgZ8OieSByYSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY0CiBtc2dpZCAiU3BlbmQgZXh0cmEgY3ljbGVzIHRvIGZpbmQgYmV0dGVyIG1hdGNoIgogbXNnc3RyICJUacOqdSB0aOG7pSB0aMOqbSBuxINuZyB0w6BpIG5ndXnDqm4gbcOheSBtw7NjIMSR4buDIHTDrG0ga2nhur9tIHThu5F0IGjGoW4gbuG7r2EiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkyCisjOiBidWlsdGluL2JsYW1lLmM6MjI2NQogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAiIgogIlPhu60gZOG7pW5nIMSRaeG7g20geMOpdCBkdXnhu4d0IChyZXZpc2lvbikgdOG7qyA8dOG6rXAgdGluPiB0aGF5IHbDrCBn4buNaSDigJxnaXQtcmV2LWxpc3TigJ0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkzCisjOiBidWlsdGluL2JsYW1lLmM6MjI2NgogbXNnaWQgIlVzZSA8ZmlsZT4ncyBjb250ZW50cyBhcyB0aGUgZmluYWwgaW1hZ2UiCiBtc2dzdHIgIlPhu60gZOG7pW5nIG7hu5lpIGR1bmcgY+G7p2EgPHThuq1wIHRpbj4gbmjGsCBsw6Ag4bqjbmggY3Xhu5FpIGPDuW5nIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NCBidWlsdGluL2JsYW1lLmM6MjI5NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjcgYnVpbHRpbi9ibGFtZS5jOjIyNjgKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAixJFp4buDbSBz4buRIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjcKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICJUw6xtIGPDoWMgYuG6o24gc2FvIGNow6lwIGTDsm5nIHRyb25nIHbDoCBuZ2FuZyBxdWEgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjgKIG1zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICJUw6xtIGPDoWMgZGkgY2h1eeG7g24gZMOybmcgdHJvbmcgdsOgIG5nYW5nIHF1YSB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjk2CisjOiBidWlsdGluL2JsYW1lLmM6MjI2OQogbXNnaWQgIm4sbSIKIG1zZ3N0ciAibixtIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjkKIG1zZ2lkICJQcm9jZXNzIG9ubHkgbGluZSByYW5nZSBuLG0sIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAiWOG7rSBsw70gY2jhu4kgZMOybmcgdsO5bmcgbixtLCB0w61uaCB04burIDEiCiAKQEAgLTI2MjgsNyArMjgxOCw3IEBACiAjOiBidWlsdGluL2JyYW5jaC5jOjE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yICclcyciCi1tc2dzdHIgIktow7RuZyB0aOG7gyB0w6xtIGtp4bq/bSDEkeG7kWkgdMaw4bujbmcgY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBjaG8g4oCcJXPigJ0iCittc2dzdHIgIktow7RuZyB0aOG7gyB0w6xtIGtp4bq/bSDEkeG7kWkgdMaw4bujbmcgY2h1eeG7g24gZ2lhbyBjaG8g4oCcJXPigJ0iCiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6MTcyCiAjLCBjLWZvcm1hdApAQCAtMjY0OSw3ICsyODM5LDcgQEAKIAogIzogYnVpbHRpbi9icmFuY2guYzoyMTkKIG1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yIEhFQUQiCi1tc2dzdHIgIktow7RuZyB0aOG7gyB0w6xtIGtp4bq/bSDEkeG7kWkgdMaw4bujbmcgY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBjaG8gSEVBRCIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHTDrG0ga2nhur9tIMSR4buRaSB0xrDhu6NuZyBjaHV54buDbiBnaWFvIGNobyBIRUFEIgogCiAjOiBidWlsdGluL2JyYW5jaC5jOjIyNwogIywgYy1mb3JtYXQKQEAgLTI2NzQsNyArMjg2NCw3IEBACiAjOiBidWlsdGluL2JyYW5jaC5jOjI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciBkZWxldGluZyBicmFuY2ggJyVzJyIKLW1zZ3N0ciAiTOG7l2kga2hpIHhvw6EgYuG7jyBuaMOhbmgg4oCcJXPigJ0iCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB4b8OhIGLhu48gbmjDoW5oIOKAnCVz4oCdIgogCiAjOiBidWlsdGluL2JyYW5jaC5jOjI2MwogIywgYy1mb3JtYXQKQEAgLTI2ODksMjkyICsyODc5LDMwMiBAQAogIzogYnVpbHRpbi9icmFuY2guYzozNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgcG9pbnQgYXQgYSBjb21taXQiCi1tc2dzdHIgIm5ow6FuaCDigJwlc+KAnSBraMO0bmcgY2jhu4kgxJHhur9uIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgbsOgbyBj4bqjIgorbXNnc3RyICJuaMOhbmgg4oCcJXPigJ0ga2jDtG5nIGNo4buJIMSR4bq/biBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIG7DoG8gY+G6oyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIlslczogZ29uZV0iCittc2dzdHIgIlslczogxJHDoyByYSDEkWldIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJbJXNdIgorbXNnc3RyICJbJXNdIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCiBtc2dzdHIgIlslczogxJHhurFuZyBzYXUgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ1NQorIzogYnVpbHRpbi9icmFuY2guYzo0NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2JlaGluZCAlZF0iCiBtc2dzdHIgIlvEkeG6sW5nIHNhdSAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU5CisjOiBidWlsdGluL2JyYW5jaC5jOjQ3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGFoZWFkICVkXSIKIG1zZ3N0ciAiWyVzOiBwaMOtYSB0csaw4bubYyAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYxCisjOiBidWlsdGluL2JyYW5jaC5jOjQ3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWRdIgogbXNnc3RyICJbcGjDrWEgdHLGsOG7m2MgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ2NAorIzogYnVpbHRpbi9icmFuY2guYzo0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBhaGVhZCAlZCwgYmVoaW5kICVkXSIKIG1zZ3N0ciAiWyVzOiB0csaw4bubYyAlZCwgc2F1ICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NjcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlthaGVhZCAlZCwgYmVoaW5kICVkXSIKIG1zZ3N0ciAiW3RyxrDhu5tjICVkLCBzYXUgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ5MAorIzogYnVpbHRpbi9icmFuY2guYzo1MDIKIG1zZ2lkICIgKioqKiBpbnZhbGlkIHJlZiAqKioqIgotbXNnc3RyICIgKioqKiB0aGFtIGNoaeG6v3Ugc2FpICoqKioiCittc2dzdHIgIiAqKioqIHRoYW0gY2hp4bq/dSBraMO0bmcgaOG7o3AgbOG7hyAqKioqIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4MgorIzogYnVpbHRpbi9icmFuY2guYzo1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgogbXNnc3RyICIoa2jDtG5nIG5ow6FuaCwgxJFhbmcgcmViYXNlICVzKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKIG1zZ3N0ciAiKGtow7RuZyBuaMOhbmgsIGJpc2VjdCDEkcaw4bujYyBi4bqvdCDEkeG6p3UgdOG6oWkgJXMpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4OAorIzogYnVpbHRpbi9icmFuY2guYzo2MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiKGRldGFjaGVkIGZyb20gJXMpIgogbXNnc3RyICIoxJHGsOG7o2MgdMOhY2ggcuG7nWkgdOG7qyAlcykiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkxCisjOiBidWlsdGluL2JyYW5jaC5jOjYwMwogbXNnaWQgIihubyBicmFuY2gpIgogbXNnc3RyICIoa2jDtG5nIG5ow6FuaCkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM3CisjOiBidWlsdGluL2JyYW5jaC5jOjY0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGNvbW1pdCIKLW1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIOKAnCVz4oCdIGtow7RuZyBjaOG7iSDEkeG6v24gbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBuw6BvIGPhuqMiCittc2dzdHIgIsSR4buRaSB0xrDhu6NuZyDigJwlc+KAnSBraMO0bmcgY2jhu4kgxJHhur9uIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gbsOgbyBj4bqjIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2OQorIzogYnVpbHRpbi9icmFuY2guYzo2ODEKIG1zZ2lkICJzb21lIHJlZnMgY291bGQgbm90IGJlIHJlYWQiCiBtc2dzdHIgIm3hu5l0IHPhu5EgdGhhbSBjaGnhur91IMSRw6Mga2jDtG5nIHRo4buDIMSR4buNYyDEkcaw4bujYyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk0CiBtc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7lWkgdMOqbiBuaMOhbmggaGnhu4duIGjDoG5oIHRyb25nIGtoaSBuw7MgY2jhurNuZyDhu58gxJHDonUgY+G6oy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjkyCisjOiBidWlsdGluL2JyYW5jaC5jOjcwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGJyYW5jaCBuYW1lOiAnJXMnIgotbXNnc3RyICJTYWkgdMOqbiBuaMOhbmg6IOKAnCVz4oCdIgorbXNnc3RyICJUw6puIG5ow6FuaCBraMO0bmcgaOG7o3AgbOG7hzog4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzA3CisjOiBidWlsdGluL2JyYW5jaC5jOjcxOQogbXNnaWQgIkJyYW5jaCByZW5hbWUgZmFpbGVkIgotbXNnc3RyICLEkOG7lWkgdMOqbiBuaMOhbmggZ+G6t3AgbOG7l2kiCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSDEkeG7lWkgdMOqbiBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzExCisjOiBidWlsdGluL2JyYW5jaC5jOjcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWVkIGEgbWlzbmFtZWQgYnJhbmNoICclcycgYXdheSIKIG1zZ3N0ciAixJDDoyDEkeG7lWkgdMOqbiBuaMOhbmgga2h1eeG6v3QgZGFuaCDigJwlc+KAnSDEkWkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzE1CisjOiBidWlsdGluL2JyYW5jaC5jOjcyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgogbXNnc3RyICJOaMOhbmggYuG7iyDEkeG7lWkgdMOqbiB0aMOgbmggJXMsIG5oxrBuZyBIRUFEIGzhuqFpIGtow7RuZyDEkcaw4bujYyBj4bqtcCBuaOG6rXQhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcyMgorIzogYnVpbHRpbi9icmFuY2guYzo3MzQKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIk5ow6FuaCBi4buLIMSR4buVaSB0w6puLCBuaMawbmcgY+G6rXAgbmjhuq10IHThuq1wIHRpbiBj4bqldSBow6xuaCBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAidMOqbiDEkeG7kWkgdMaw4bujbmcgZOG7iyBow6xuaCAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzczCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBicmFuY2ggZGVzY3JpcHRpb24gdGVtcGxhdGU6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIHbDoG8gbeG6q3UgbcO0IHThuqMgbmjDoW5oOiAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAzCiBtc2dpZCAiR2VuZXJpYyBvcHRpb25zIgogbXNnc3RyICJUw7l5IGNo4buNbiBjaHVuZyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA1CiBtc2dpZCAic2hvdyBoYXNoIGFuZCBzdWJqZWN0LCBnaXZlIHR3aWNlIGZvciB1cHN0cmVhbSBicmFuY2giCiBtc2dzdHIgImhp4buDbiB0aOG7iyBtw6MgYsSDbSB2w6AgY2jhu6cgxJHhu4EsIMSRxrBhIHJhIGhhaSBs4bqnbiBjaG8gbmjDoW5oIHRoxrDhu6NuZyBuZ3Xhu5NuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NAorIzogYnVpbHRpbi9icmFuY2guYzo4MDYKIG1zZ2lkICJzdXBwcmVzcyBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzIgogbXNnc3RyICJUaHUgaOG7k2kgY8OhYyB0aMO0bmcgxJFp4buHcCB0aMO0bmcgdGluIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NQorIzogYnVpbHRpbi9icmFuY2guYzo4MDcKIG1zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKLW1zZ3N0ciAiY8OgaSDEkeG6t3QgY2jhur8gxJHhu5kgdGhlbyB24bq/dCAoeGVtIGdpdC1wdWxsKDEpKSIKK21zZ3N0ciAiY8OgaSDEkeG6t3QgY2jhur8gxJHhu5kgdGhlbyBkw7VpICh4ZW0gZ2l0LXB1bGwoMSkpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NworIzogYnVpbHRpbi9icmFuY2guYzo4MDkKIG1zZ2lkICJjaGFuZ2UgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAidGhheSDEkeG7lWkgdGjDtG5nIHRpbiB0aMaw4bujbmcgbmd14buTbiAodXBzdHJlYW0pIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwMQorIzogYnVpbHRpbi9icmFuY2guYzo4MTMKIG1zZ2lkICJ1c2UgY29sb3JlZCBvdXRwdXQiCiBtc2dzdHIgInPhu60gZOG7pW5nIGvhur90IHh14bqldCBjw7MgdMO0IG3DoHUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAyCisjOiBidWlsdGluL2JyYW5jaC5jOjgxNAogbXNnaWQgImFjdCBvbiByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgInRoYW8gdMOhYyB0csOqbiBuaMOhbmgg4oCccmVtb3RlLXRyYWNraW5n4oCdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwNSBidWlsdGluL2JyYW5jaC5jOjgxMSBidWlsdGluL2JyYW5jaC5jOjgzMgotIzogYnVpbHRpbi9icmFuY2guYzo4MzggYnVpbHRpbi9jb21taXQuYzoxNDMzIGJ1aWx0aW4vY29tbWl0LmM6MTQzNAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM1IGJ1aWx0aW4vY29tbWl0LmM6MTQzNiBidWlsdGluL3RhZy5jOjQ2OAorIzogYnVpbHRpbi9icmFuY2guYzo4MTcgYnVpbHRpbi9icmFuY2guYzo4MjMgYnVpbHRpbi9icmFuY2guYzo4NDQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODUwIGJ1aWx0aW4vY29tbWl0LmM6MTQ2MCBidWlsdGluL2NvbW1pdC5jOjE0NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MiBidWlsdGluL2NvbW1pdC5jOjE0NjMgYnVpbHRpbi90YWcuYzo0NjgKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgImNvbW1pdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDYgYnVpbHRpbi9icmFuY2guYzo4MTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE4IGJ1aWx0aW4vYnJhbmNoLmM6ODI0CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgbmjDoW5oIG3DoCBuw7MgY2jhu6lhIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE4CisjOiBidWlsdGluL2JyYW5jaC5jOjgzMAogbXNnaWQgIlNwZWNpZmljIGdpdC1icmFuY2ggYWN0aW9uczoiCiBtc2dzdHIgIkjDoG5oIMSR4buZbmcgZ2l0LWJyYW5jaDoiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE5CisjOiBidWlsdGluL2JyYW5jaC5jOjgzMQogbXNnaWQgImxpc3QgYm90aCByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICJsaeG7h3Qga8OqIGPhuqMgbmjDoW5oIOKAnHJlbW90ZS10cmFja2luZ+KAnSB2w6AgbuG7mWkgYuG7mSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMzCiBtc2dpZCAiZGVsZXRlIGZ1bGx5IG1lcmdlZCBicmFuY2giCiBtc2dzdHIgInjDs2EgbeG7mXQgY8OhY2ggxJHhuqd5IMSR4bunIG5ow6FuaCDEkcOjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyMgorIzogYnVpbHRpbi9icmFuY2guYzo4MzQKIG1zZ2lkICJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIgogbXNnc3RyICJ4b8OhIG5ow6FuaCAoY2hvIGTDuSBsw6AgY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4pIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyMworIzogYnVpbHRpbi9icmFuY2guYzo4MzUKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKIG1zZ3N0ciAiZGkgY2h1eeG7g24gaGF5IMSR4buVaSB0w6puIG3hu5l0IG5ow6FuaCB2w6AgcmVmbG9nIGPhu6dhIG7DsyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM2CiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKLW1zZ3N0ciAiZGkgY2h1eeG7g24gaG/hurdjIMSR4buVaSB0w6puIG3hu5l0IG5ow6FuaCwgdGjhuq1tIGNow60gY+G6oyBraGkgxJHDrWNoIMSRw6MgY8OzIHPhurVuIgorbXNnc3RyICJkaSBjaHV54buDbiBob+G6t2MgxJHhu5VpIHTDqm4gbeG7mXQgbmjDoW5oIG5nYXkgY+G6oyBraGkgxJHDrWNoIMSRw6MgY8OzIHPhurVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyNQorIzogYnVpbHRpbi9icmFuY2guYzo4MzcKIG1zZ2lkICJsaXN0IGJyYW5jaCBuYW1lcyIKIG1zZ3N0ciAibGnhu4d0IGvDqiBjw6FjIHTDqm4gbmjDoW5oIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyNgorIzogYnVpbHRpbi9icmFuY2guYzo4MzgKIG1zZ2lkICJjcmVhdGUgdGhlIGJyYW5jaCdzIHJlZmxvZyIKIG1zZ3N0ciAidOG6oW8gcmVmbG9nIGPhu6dhIG5ow6FuaCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQwCiBtc2dpZCAiZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2giCiBtc2dzdHIgInPhu61hIG3DtCB04bqjIGNobyBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI5CisjOiBidWlsdGluL2JyYW5jaC5jOjg0MQogbXNnaWQgImZvcmNlIGNyZWF0aW9uICh3aGVuIGFscmVhZHkgZXhpc3RzKSIKIG1zZ3N0ciAiw6lwIGJ14buZYyB04bqhbyAoa2hpIMSRw6Mgc+G6tW4gdOG7k24gdOG6oWkgcuG7k2kpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzMgorIzogYnVpbHRpbi9icmFuY2guYzo4NDQKIG1zZ2lkICJwcmludCBvbmx5IG5vdCBtZXJnZWQgYnJhbmNoZXMiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBjw6FjIG5ow6FuaCBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODUwCiBtc2dpZCAicHJpbnQgb25seSBtZXJnZWQgYnJhbmNoZXMiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBjw6FjIG5ow6FuaCDEkcaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODU0CiBtc2dpZCAibGlzdCBicmFuY2hlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJsaeG7h3Qga8OqIGPDoWMgbmjDoW5oIHRyb25nIGPDoWMgY+G7mXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODU1CisjOiBidWlsdGluL2JyYW5jaC5jOjg2NwogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgcGjDom4gZ2nhuqNpIEhFQUQgbmjGsCBsw6AgbeG7mXQgdGhhbSBjaGnhur91IChyZWYpIGjhu6NwIGzhu4cuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg2MCBidWlsdGluL2Nsb25lLmM6NjMwCisjOiBidWlsdGluL2JyYW5jaC5jOjg3MiBidWlsdGluL2Nsb25lLmM6NjM1CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSBIRUFEIOG7nyBkxrDhu5tpIHJlZnMvaGVhZHMhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg4MworIzogYnVpbHRpbi9icmFuY2guYzo4OTYKIG1zZ2lkICItLWNvbHVtbiBhbmQgLS12ZXJib3NlIGFyZSBpbmNvbXBhdGlibGUiCi1tc2dzdHIgIi0tY29sdW1uIHbDoCAtLXZlcmJvc2UgeHVuZyBraOG6r2MgbmhhdSIKK21zZ3N0ciAidMO5eSBjaOG7jW4gLS1jb2x1bW4gdsOgIC0tdmVyYm9zZSB4dW5nIGto4bqvYyBuaGF1IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg4OSBidWlsdGluL2JyYW5jaC5jOjkyOAorIzogYnVpbHRpbi9icmFuY2guYzo5MDIgYnVpbHRpbi9icmFuY2guYzo5NDEKIG1zZ2lkICJicmFuY2ggbmFtZSByZXF1aXJlZCIKIG1zZ3N0ciAiY+G6p24gdMOqbiBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTA0CisjOiBidWlsdGluL2JyYW5jaC5jOjkxNwogbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkcawYSByYSBtw7QgdOG6oyBIRUFEIMSRw6MgdMOhY2ggcuG7nWkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTA5CisjOiBidWlsdGluL2JyYW5jaC5jOjkyMgogbXNnaWQgImNhbm5vdCBlZGl0IGRlc2NyaXB0aW9uIG9mIG1vcmUgdGhhbiBvbmUgYnJhbmNoIgogbXNnc3RyICJraMO0bmcgdGjhu4Mgc+G7rWEgbcO0IHThuqMgY2hvIG5oaeG7gXUgaMahbiBt4buZdCBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTE2CisjOiBidWlsdGluL2JyYW5jaC5jOjkyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBjb21taXQgb24gYnJhbmNoICclcycgeWV0LiIKIG1zZ3N0ciAiVuG6q24gY2jGsGEgY2h1eeG7g24gZ2lhbyB0csOqbiBuaMOhbmgg4oCcJXPigJ0uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkxOQorIzogYnVpbHRpbi9icmFuY2guYzo5MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gYnJhbmNoIG5hbWVkICclcycuIgogbXNnc3RyICJLaMO0bmcgY8OzIG5ow6FuaCBuw6BvIGPDsyB0w6puIOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MzQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTQ3CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIKIG1zZ3N0ciAicXXDoSBuaGnhu4F1IG5ow6FuaCBkw6BuaCBjaG8gdGhhbyB0w6FjIMSR4buVaSB0w6puIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkzOQorIzogYnVpbHRpbi9icmFuY2guYzo5NTIKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyB0byBzZXQgbmV3IHVwc3RyZWFtIgotbXNnc3RyICJxdcOhIG5oaeG7gXUgbmjDoW5oIMSRxrDhu6NjIMSR4bq3dCBjaG8gZMOybmcgbmfGsOG7o2MgKHVwc3RyZWFtKSBt4bubaSIKK21zZ3N0ciAicXXDoSBuaGnhu4F1IG5ow6FuaCDEkcaw4bujYyDEkeG6t3QgY2hvIHRoxrDhu6NuZyBuZ3Xhu5NuICh1cHN0cmVhbSkgbeG7m2kiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTQzCisjOiBidWlsdGluL2JyYW5jaC5jOjk1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IHNldCB1cHN0cmVhbSBvZiBIRUFEIHRvICVzIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIiIKLSJraMO0bmcgdGjhu4MgxJHhurd0IGTDsm5nIG5nxrDhu6NjICh1cHN0cmVhbSkgY+G7p2EgSEVBRCB0aMOgbmggJXMga2hpIG3DoCBuw7MgY2jhurNuZyBjaOG7iSAiCisia2jDtG5nIHRo4buDIMSR4bq3dCB0aMaw4bujbmcgbmd14buTbiAodXBzdHJlYW0pIGPhu6dhIEhFQUQgdGjDoG5oICVzIGtoaSBtw6AgbsOzIGNo4bqzbmcgY2jhu4kgIgogIsSR4bq/biBuaMOhbmggbsOgbyBj4bqjLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NDYgYnVpbHRpbi9icmFuY2guYzo5NjggYnVpbHRpbi9icmFuY2guYzo5OTAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTU5IGJ1aWx0aW4vYnJhbmNoLmM6OTgxIGJ1aWx0aW4vYnJhbmNoLmM6MTAwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaCAnJXMnIgogbXNnc3RyICJraMO0bmcgY8OzIG5ow6FuaCBuw6BvIG5oxrAgdGjhur8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTUwCisjOiBidWlsdGluL2JyYW5jaC5jOjk2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKLW1zZ3N0ciAibmjDoW5oIOKAnCVz4oCdIGNoxrBhIHPhurVuIGPDsyIKK21zZ3N0ciAiY2jGsGEgY8OzIG5ow6FuaCDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTc1CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gdW5zZXQgdXBzdHJlYW0iCi1tc2dzdHIgInF1w6Egbmhp4buBdSBuaMOhbmggxJHhu4MgYuG7jyDEkeG6t3QgbmfGsOG7o2MgZMOybmcgKHVwc3RyZWFtKSIKK21zZ3N0ciAicXXDoSBuaGnhu4F1IG5ow6FuaCDEkeG7gyBi4buPIMSR4bq3dCB0aMaw4bujbmcgbmd14buTbiAodXBzdHJlYW0pIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk2NgorIzogYnVpbHRpbi9icmFuY2guYzo5NzkKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgdXBzdHJlYW0gb2YgSEVBRCB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgogbXNnc3RyICIiCi0ia2jDtG5nIHRo4buDIGLhu48gxJHhurd0IG5nxrDhu6NjIGTDsm5nICh1cHN0cmVhbSkgY+G7p2EgSEVBRCBraMO0bmcgY2jhu4kgxJHhur9uIG3hu5l0IG5ow6FuaCBuw6BvICIKLSJj4bqjLiIKKyJraMO0bmcgdGjhu4MgYuG7jyDEkeG6t3QgdGjGsOG7o25nIG5ndeG7k24gKHVwc3RyZWFtKSBj4bunYSBIRUFEIGtow7RuZyBjaOG7iSDEkeG6v24gbeG7mXQgbmjDoW5oICIKKyJuw6BvIGPhuqMuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk3MgorIzogYnVpbHRpbi9icmFuY2guYzo5ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgaGFzIG5vIHVwc3RyZWFtIGluZm9ybWF0aW9uIgogbXNnc3RyICJOaMOhbmgg4oCcJXPigJ0ga2jDtG5nIGPDsyB0aMO0bmcgdGluIHRoxrDhu6NuZyBuZ3Xhu5NuICh1cHN0cmVhbSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTg3CisjOiBidWlsdGluL2JyYW5jaC5jOjk5OQogbXNnaWQgIml0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gY3JlYXRlICdIRUFEJyBtYW51YWxseSIKIG1zZ3N0ciAia2jDtG5nIGjhu6NwIGzDvSBraGkgdOG6oW8g4oCcSEVBROKAnSB0aOG7pyBjw7RuZyAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTkzCisjOiBidWlsdGluL2JyYW5jaC5jOjEwMDUKIG1zZ2lkICItYSBhbmQgLXIgb3B0aW9ucyB0byAnZ2l0IGJyYW5jaCcgZG8gbm90IG1ha2Ugc2Vuc2Ugd2l0aCBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICIiCiAiaGFpIHTDuXkgY2jhu41uIC1hIHbDoCAtciDDoXAgZOG7pW5nIGNobyBs4buHbmgg4oCcZ2l0IGJyYW5jaOKAnSBraMO0bmcgaOG7o3AgbMO9IMSR4buRaSB24bubaSB0w6puICIKICJuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTk2CisjOiBidWlsdGluL2JyYW5jaC5jOjEwMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtLXNldC11cHN0cmVhbSBmbGFnIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gQ29uc2lkZXIgdXNpbmcgLS0iCiAidHJhY2sgb3IgLS1zZXQtdXBzdHJlYW0tdG9cbiIKIG1zZ3N0ciAiIgotIkPhu50gLS1zZXQtdXBzdHJlYW0gYuG7iyBwaOG6o24gxJHhu5FpIHbDoCBz4bq9IGLhu4sgeMOzYSBi4buPLiBOw6puIGTDuW5nIC0tdHJhY2sgaG/hurdjIC0tc2V0LSIKKyJD4budIC0tc2V0LXVwc3RyZWFtIMSRw6MgbOG6oWMgaOG6rXUgdsOgIHPhur0gYuG7iyB4w7NhIGLhu48uIE7Dqm4gZMO5bmcgLS10cmFjayBob+G6t2MgLS1zZXQtIgogInVwc3RyZWFtLXRvXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAxMworIzogYnVpbHRpbi9icmFuY2guYzoxMDI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTI5ODUsMTIgKzMxODUsMTIgQEAKICJO4bq/dSBi4bqhbiBtdeG7kW4g4oCcJXPigJ0gdGhlbyBkw7VpIOKAnCVz4oCdLCB0aOG7sWMgaGnhu4duIGzhu4duaCBzYXU6XG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAxNAorIzogYnVpbHRpbi9icmFuY2guYzoxMDI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICBnaXQgYnJhbmNoIC1kICVzXG4iCiBtc2dzdHIgIiAgICBnaXQgYnJhbmNoIC1kICVzXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAxNQorIzogYnVpbHRpbi9icmFuY2guYzoxMDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvICVzXG4iCiBtc2dzdHIgIiAgICBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvICVzXG4iCkBAIC0zMDA4LDQ0ICszMjA4LDQ0IEBACiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gdW5idW5kbGUuIgogbXNnc3RyICJD4bqnbiBt4buZdCBraG8gY2jhu6lhIMSR4buDIG3DoCBidW5nIG3hu5l0IGJ1bmRsZS4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzoyODUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjgKIG1zZ2lkICJnaXQgY2F0LWZpbGUgKC10fC1zfC1lfC1wfDx0eXBlPnwtLXRleHRjb252KSA8b2JqZWN0PiIKIG1zZ3N0ciAiZ2l0IGNhdC1maWxlICgtdHwtc3wtZXwtcHw8a2nhu4N1PnwtLXRleHRjb252KSA8xJHhu5FpIHTGsOG7o25nPiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjI4NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyOQogbXNnaWQgImdpdCBjYXQtZmlsZSAoLS1iYXRjaHwtLWJhdGNoLWNoZWNrKSA8IDxsaXN0X29mX29iamVjdHM+IgogbXNnc3RyICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2h8LS1iYXRjaC1jaGVjaykgPCA8ZGFuaC1zw6FjaC3EkeG7kWktdMaw4bujbmc+IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzIzCisjOiBidWlsdGluL2NhdC1maWxlLmM6MzY2CiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgotbXNnc3RyICI8a2nhu4N1PiBsw6AgbeG7mXQgdHJvbmcgc+G7kTogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCittc2dzdHIgIjxraeG7g3U+IGzDoCBt4buZdCB0cm9uZyBz4buROiBibG9iLCB0cmVlLCBjb21taXQgaG/hurdjIHRhZyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyNAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM2NwogbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBraeG7g3UgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzI1CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzY4CiBtc2dpZCAic2hvdyBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGvDrWNoIHRoxrDhu5tjIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyNworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM3MAogbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKIG1zZ3N0ciAidGhvw6F0IHbhu5tpIDAga2hpIGtow7RuZyBjw7MgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNzEKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiaW4gbuG7mWkgZHVuZyDEkeG7kWkgdMaw4bujbmcgZOG6oW5nIGThu4UgxJHhu41jIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzMwCisjOiBidWlsdGluL2NhdC1maWxlLmM6MzczCiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgInbhu5tpIMSR4buRaSB0xrDhu6NuZyBibG9iLCBjaOG6oXkgbOG7h25oIHRleHRjb252IHRyw6puIG7hu5lpIGR1bmcgY+G7p2EgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzMyCisjOiBidWlsdGluL2NhdC1maWxlLmM6Mzc1CiBtc2dpZCAic2hvdyBpbmZvIGFuZCBjb250ZW50IG9mIG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICIiCiAiaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gdsOgIG7hu5lpIGR1bmcgY+G7p2EgY8OhYyDEkeG7kWkgdMaw4bujbmcgbOG6pXkgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzM1CisjOiBidWlsdGluL2NhdC1maWxlLmM6Mzc4CiBtc2dpZCAic2hvdyBpbmZvIGFib3V0IG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB0aMO0bmcgdGluIHbhu4EgxJHhu5FpIHTGsOG7o25nIGZlZCAgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgogCkBAIC0zMDcxLDEwICszMjcxLDEwIEBACiBtc2dzdHIgIsSR4buNYyB0w6puIHThuq1wIHRpbiB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCiAKICM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjQKLW1zZ2lkICJpbnB1dCBwYXRocyBhcmUgdGVybWluYXRlZCBieSBhIG51bGwgY2hhcmFjdGVyIgotbXNnc3RyICJjw6FjIMSRxrDhu51uZyBk4bqrbiDEkcaw4bujYyAgbmfEg24gY8OhY2ggYuG7n2kga8O9IHThu7EgbnVsbCIKK21zZ2lkICJ0ZXJtaW5hdGUgaW5wdXQgYW5kIG91dHB1dCByZWNvcmRzIGJ5IGEgTlVMIGNoYXJhY3RlciIKK21zZ3N0ciAiY2jhuqVtIGThu6l0IGPDoWMgYuG6o24gZ2hpIHbDoG8gdsOgIHJhIGLhurFuZyBrw70gdOG7sSBOVUxMIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU0IGJ1aWx0aW4vZ2MuYzoxNzcKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjEwOTAgYnVpbHRpbi9nYy5jOjI2MAogbXNnaWQgInN1cHByZXNzIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiY2jhurduIGPDoWMgYsOhbyBjw6FvIHRp4bq/biB0csOsbmggaG/huqF0IMSR4buZbmciCiAKQEAgLTMwODIsMjcgKzMyODIsMzEgQEAKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBpbnB1dCBwYXRocyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIG5o4buvbmcgxJHGsOG7nW5nIGThuqtuIMSR4bqndSB2w6BvIGtow7RuZyBraOG7m3AgduG7m2kgbeG6q3UiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTQzCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI4Cittc2dpZCAiaWdub3JlIGluZGV4IHdoZW4gY2hlY2tpbmciCittc2dzdHIgImLhu48gcXVhIG3hu6VjIGzhu6VjIGtoaSBraeG7g20gdHJhIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NAogbXNnaWQgImNhbm5vdCBzcGVjaWZ5IHBhdGhuYW1lcyB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyBjaOG7iSDEkeG7i25oIGPDoWMgdMOqbiDEkcaw4budbmcgZOG6q24gduG7m2kgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNDYKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU3CiBtc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIi16IGNo4buJIGjhu6NwIGzDvSB24bubaSAtLXN0ZGluIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE0OAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTkKIG1zZ2lkICJubyBwYXRoIHNwZWNpZmllZCIKLW1zZ3N0ciAiY2jGsGEgZ2hpIHLDtSDEkcaw4budbmcgZOG6q24iCittc2dzdHIgImNoxrBhIGNo4buJIHJhIMSRxrDhu51uZyBk4bqrbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTIKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYzCiBtc2dpZCAiLS1xdWlldCBpcyBvbmx5IHZhbGlkIHdpdGggYSBzaW5nbGUgcGF0aG5hbWUiCiBtc2dzdHIgIi0tcXVpZXQgY2jhu4kgaOG7o3AgbOG7hyB24bubaSB0w6puIMSRxrDhu51uZyBk4bqrbiDEkcahbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTQKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY1CiBtc2dpZCAiY2Fubm90IGhhdmUgYm90aCAtLXF1aWV0IGFuZCAtLXZlcmJvc2UiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBkw7luZyBj4bqjIGhhaSB0w7l5IGNo4buNbiAtLXF1aWV0IHbDoCAtLXZlcmJvc2UiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU3CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2OAogbXNnaWQgIi0tbm9uLW1hdGNoaW5nIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXZlcmJvc2UiCiBtc2dzdHIgInTDuXktY2jhu41uIC0tbm9uLW1hdGNoaW5nIGNo4buJIGjhu6NwIGzhu4cga2hpIGTDuW5nIHbhu5tpIC0tdmVyYm9zZSIKIApAQCAtMzE1MCw3ICszMzU0LDcgQEAKIAogIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjIwMAogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKLW1zZ3N0ciAiIMSR4buNYyBkYW5oIHPDoWNoIMSRxrDhu51uZyBk4bqrbiB04burIHRoaeG6v3QgYuG7iyBuaOG6rXAgY2h14bqpbiIKK21zZ3N0ciAixJHhu41jIGRhbmggc8OhY2ggxJHGsOG7nW5nIGThuqtuIHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiIKIAogIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjIwMgogbXNnaWQgIndyaXRlIHRoZSBjb250ZW50IHRvIHRlbXBvcmFyeSBmaWxlcyIKQEAgLTMxNjYsNyArMzM3MCw3IEBACiAKICM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoyMDcKIG1zZ2lkICJjb3B5IG91dCB0aGUgZmlsZXMgZnJvbSBuYW1lZCBzdGFnZSIKLW1zZ3N0ciAic2FvIGNow6lwIHJhIGPDoWMgdOG6rXAgdGluIHThu6sgdHLhuqFuZyB0aMOhaSDEkcaw4bujYyDEkeG6t3QgdMOqbiIKK21zZ3N0ciAic2FvIGNow6lwIHJhIGPDoWMgdOG6rXAgdGluIHThu6sgYuG7hyBwaMOzbmcgY8OzIHTDqm4iCiAKICM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNQogbXNnaWQgImdpdCBjaGVja291dCBbb3B0aW9uc10gPGJyYW5jaD4iCkBAIC0zMTc2LDEwNyArMzM4MCwxMDcgQEAKIG1zZ2lkICJnaXQgY2hlY2tvdXQgW29wdGlvbnNdIFs8YnJhbmNoPl0gLS0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgY2hlY2tvdXQgW2PDoWMtdMO5eS1jaOG7jW5dIFs8bmjDoW5oPl0gLS0gPHThuq1wLXRpbj4uLi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTcgYnVpbHRpbi9jaGVja291dC5jOjE1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNCBidWlsdGluL2NoZWNrb3V0LmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG91ciB2ZXJzaW9uIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24g4oCcJXPigJ0ga2jDtG5nIGPDsyBjw6FjIHBoacOqbiBi4bqjbiBj4bunYSBjaMO6bmcgdGEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTkgYnVpbHRpbi9jaGVja291dC5jOjE1MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNiBidWlsdGluL2NoZWNrb3V0LmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIHRoZWlyIHZlcnNpb24iCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSBraMO0bmcgY8OzIGPDoWMgcGhpw6puIGLhuqNuIGPhu6dhIGNow7puZyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNQorIzogYnVpbHRpbi9jaGVja291dC5jOjEzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBhbGwgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24g4oCcJXPigJ0ga2jDtG5nIGPDsyB04bqldCBj4bqjIGPDoWMgcGhpw6puIGLhuqNuIGPhuqduIHRoaeG6v3QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24g4oCcJXPigJ0ga2jDtG5nIGPDsyBjw6FjIHBoacOqbiBi4bqjbiBj4bqnbiB0aGnhur90IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJzogY2Fubm90IG1lcmdlIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24g4oCcJXPigJ06IGtow7RuZyB0aOG7gyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIxMworIzogYnVpbHRpbi9jaGVja291dC5jOjIxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHRow6ptIGvhur90IHF14bqjIGjDsmEgdHLhu5luIGNobyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIzNyBidWlsdGluL2NoZWNrb3V0LmM6MjQwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDMKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzIgYnVpbHRpbi9jaGVja291dC5jOjIzNSBidWlsdGluL2NoZWNrb3V0LmM6MjM4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHRo4buDIMSRxrDhu6NjIHPhu60gZOG7pW5nIHbhu5tpIGPDoWMgxJHGsOG7nW5nIGThuqtuIGPhuq1wIG5o4bqtdCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI0OSBidWlsdGluL2NoZWNrb3V0LmM6MjUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjQ0IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgotbXNnc3RyICLigJwlc+KAnSBraMO0bmcgdGjhu4MgxJHGsOG7o2Mgc+G7rSBk4bulbmcgduG7m2kgJXMiCittc2dzdHIgIuKAnCVz4oCdIGtow7RuZyB0aOG7gyDEkcaw4bujYyBkw7luZyBjw7luZyB24bubaSAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1NQorIzogYnVpbHRpbi9jaGVja291dC5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS4iCiBtc2dzdHIgIiIKICJLaMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10IGPDoWMgxJHGsOG7nW5nIGThuqtuIHbDoCBjaHV54buDbiDEkeG6v24gbmjDoW5oIOKAnCVz4oCdIGPDuW5nIG3hu5l0IGzDumMuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY2IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjEgYnVpbHRpbi9jaGVja291dC5jOjQ1MQogbXNnaWQgImNvcnJ1cHQgaW5kZXggZmlsZSIKIG1zZ3N0ciAidOG6rXAgdGluIGdoaSBi4bqjbmcgbeG7pWMgbOG7pWMgYuG7iyBo4buPbmciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMjkgYnVpbHRpbi9jaGVja291dC5jOjMzNgorIzogYnVpbHRpbi9jaGVja291dC5jOjMyMiBidWlsdGluL2NoZWNrb3V0LmM6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBpcyB1bm1lcmdlZCIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIGtow7RuZyDEkcaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjQ4MAorIzogYnVpbHRpbi9jaGVja291dC5jOjQ3MwogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgotbXNnc3RyICJi4bqhbiBj4bqnbiBwaOG6o2kgcGjDom4gZ2nhuqNpIGLhuqNuZyBt4bulYyBs4bulYyBoaeG7h24gdOG6oWkgY+G7p2EgYuG6oW4gdHLGsOG7m2MgxJHDoyIKK21zZ3N0ciAiYuG6oW4gY+G6p24gcGjhuqNpIGdp4bqjaSBxdXnhur90IGLhuqNuZyBt4bulYyBs4bulYyBoaeG7h24gdOG6oWkgY+G7p2EgYuG6oW4gdHLGsOG7m2MgxJHDoyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYwMQorIzogYnVpbHRpbi9jaGVja291dC5jOjU5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJ1xuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiByZWZsb2cgY2hvIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MzIKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCIKIG1zZ3N0ciAiSEVBRCBoaeG7h24gZ2nhu50gdOG6oWkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAixJDhurd0IGzhuqFpIG5ow6FuaCDigJwlc+KAnVxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICLEkMOjIHPhurVuIHPDoG5nIHRyw6puIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYW5kIHJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIsSQw6MgY2h1eeG7g24gdOG7m2kgdsOgIHJlc2V0IG5ow6FuaCDigJwlc+KAnVxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjU1IGJ1aWx0aW4vY2hlY2tvdXQuYzo5OTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDggYnVpbHRpbi9jaGVja291dC5jOjEwMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAixJDDoyBjaHV54buDbiDEkeG6v24gbmjDoW5oIG3hu5tpIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKIG1zZ3N0ciAixJDDoyBjaHV54buDbiDEkeG6v24gbmjDoW5oIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIC4uLiB2w6Agbmhp4buBdSBoxqFuICVkLlxuIgogCiAjLiBUaGUgc2luZ3VsYXIgdmVyc2lvbgotIzogYnVpbHRpbi9jaGVja291dC5jOjcxOQorIzogYnVpbHRpbi9jaGVja291dC5jOjcxMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV2FybmluZzogeW91IGFyZSBsZWF2aW5nICVkIGNvbW1pdCBiZWhpbmQsIG5vdCBjb25uZWN0ZWQgdG9cbiIKQEAgLTMyODksMTkgKzM0OTMsMTkgQEAKICJcbiIKICIlc1xuIgogbXNnc3RyWzBdICIiCi0iQ+G6o25oIGLDoW86IGLhuqFuIMSRw6MgcuG7nWkgYuG7jyAlZCBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIGzhuqFpIMSR4bqxbmcgc2F1LCBraMO0bmcgxJHGsOG7o2MgIgotImvhur90IG7hu5FpIMSR4bq/blxuIgorIkPhuqNuaCBiw6FvOiBi4bqhbiDEkcOjIHLhu51pIGLhu48gJWQgbOG6p24gY2h1eeG7g24gZ2lhbyBs4bqhaSDEkeG6sW5nIHNhdSwga2jDtG5nIMSRxrDhu6NjIGvhur90IG7hu5FpICIKKyLEkeG6v25cbiIKICJi4bqldCBr4buzIG5ow6FuaCBuw6BvIGPhu6dhIGLhuqFuOlxuIgogIlxuIgogIiVzXG4iCiBtc2dzdHJbMV0gIiIKLSJD4bqjbmggYsOhbzogYuG6oW4gxJHDoyBy4budaSBi4buPICVkIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgbOG6oWkgxJHhurFuZyBzYXUsIGtow7RuZyDEkcaw4bujYyAiCi0ia+G6v3QgbuG7kWkgxJHhur9uXG4iCisiQ+G6o25oIGLDoW86IGLhuqFuIMSRw6MgcuG7nWkgYuG7jyAlZCBs4bqnbiBjaHV54buDbiBnaWFvIGzhuqFpIMSR4bqxbmcgc2F1LCBraMO0bmcgxJHGsOG7o2Mga+G6v3QgbuG7kWkgIgorIsSR4bq/blxuIgogImLhuqV0IGvhu7MgbmjDoW5oIG7DoG8gY+G7p2EgYuG6oW46XG4iCiAiXG4iCiAiJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjczNworIzogYnVpbHRpbi9jaGVja291dC5jOjczMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8ga2VlcCB0aGVtIGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTMzMTcsMTM4ICszNTIxLDE0MiBAQAogIiBnaXQgYnJhbmNoIHTDqm5fbmjDoW5oX23hu5tpICVzXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjAKIG1zZ2lkICJpbnRlcm5hbCBlcnJvciBpbiByZXZpc2lvbiB3YWxrIgogbXNnc3RyICJs4buXaSBu4buZaSBi4buZIHRyb25nIGtoaSBkaSBjaHV54buDbiBxdWEgY8OhYyDEkWnhu4NtIHjDqXQgZHV54buHdCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc3MQorIzogYnVpbHRpbi9jaGVja291dC5jOjc2NAogbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgogbXNnc3RyICJW4buLIHRyw60ga+G6vyB0csaw4bubYyBj4bunYSBIRUFEIGzDoCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5OCBidWlsdGluL2NoZWNrb3V0LmM6OTkyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzkxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDI4CiBtc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAiQuG6oW4gdOG6oWkgbmjDoW5oIG3DoCBuw7MgY2jGsGEgaOG7gSDEkcaw4bujYyBzaW5oIHJhIgogCi0jLiBjYXNlICgxKQotIzogYnVpbHRpbi9jaGVja291dC5jOjkyOAorIzogYnVpbHRpbi9jaGVja291dC5jOjkzNQorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQsICVkIGdpdmVuLiIKK21zZ3N0ciAiY2jhu4kgY+G6p24gbeG7mXQgdGhhbSBjaGnhur91LCBuaMawbmcgbOG6oWkgxJHGsGEgcmEgJWQuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKLW1zZ3N0ciAidGhhbSBjaGnhur91IHNhaTogJXMiCittc2dzdHIgInRoYW0gY2hp4bq/dSBraMO0bmcgaOG7o3AgbOG7hzogJXMiCiAKICMuIGNhc2UgKDEpOiB3YW50IGEgdHJlZQotIzogYnVpbHRpbi9jaGVja291dC5jOjk2NworIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICJ0aGFtIGNoaeG6v3Uga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgY8OieSAodHJlZSk6JXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0MgogbXNnaWQgInBhdGhzIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICJjw6FjIMSRxrDhu51uZyBk4bqrbiBraMO0bmcgdGjhu4MgZMO5bmcgY8O5bmcgduG7m2kgY8OhYyBuaMOhbmggY2h1eeG7g24iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDEzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0NSBidWlsdGluL2NoZWNrb3V0LmM6MTA0OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICLigJwlc+KAnSBraMO0bmcgdGjhu4MgxJHGsOG7o2Mgc+G7rSBk4bulbmcgduG7m2kgY8OhYyBuaMOhbmggY2h1eeG7g24iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDE3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDIwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDI1Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAyOAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTMgYnVpbHRpbi9jaGVja291dC5jOjEwNTYgYnVpbHRpbi9jaGVja291dC5jOjEwNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgotbXNnc3RyICLigJwlc+KAnSBraMO0bmcgdGjhu4MgxJHGsOG7o2Mgc+G7rSBk4bulbmcgduG7m2kg4oCcJXPigJ0iCittc2dzdHIgIuKAnCVz4oCdIGtow7RuZyB0aOG7gyDEkcaw4bujYyBkw7luZyB24bubaSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMzMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgY2h1eeG7g24gbmjDoW5oIMSR4bq/biBt4buZdCBub24tY29tbWl0IOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1NSBidWlsdGluL2NoZWNrb3V0LmM6MTA1NyBidWlsdGluL2Nsb25lLmM6ODkKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY5IGJ1aWx0aW4vcmVtb3RlLmM6MTcxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5MSBidWlsdGluL2NoZWNrb3V0LmM6MTA5MyBidWlsdGluL2Nsb25lLmM6ODgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5IGJ1aWx0aW4vcmVtb3RlLmM6MTYxCiBtc2dpZCAiYnJhbmNoIgogbXNnc3RyICJuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5MgogbXNnaWQgImNyZWF0ZSBhbmQgY2hlY2tvdXQgYSBuZXcgYnJhbmNoIgogbXNnc3RyICJ04bqhbyB2w6AgY2hlY2tvdXQgbeG7mXQgbmjDoW5oIG3hu5tpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTQKIG1zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgotbXNnc3RyICJjcmVhdGUvcmVzZXQgdsOgIGNoZWNrb3V0IG3hu5l0IG5ow6FuaCIKK21zZ3N0ciAidOG6oW8vxJHhurd0X2zhuqFpIHbDoCBjaGVja291dCBt4buZdCBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NQogbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgInThuqFvIHJlZmxvZyBjaG8gbmjDoW5oIG3hu5tpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTYKIG1zZ2lkICJkZXRhY2ggdGhlIEhFQUQgYXQgbmFtZWQgY29tbWl0IgogbXNnc3RyICJy4budaSBi4buPIEhFQUQgdOG6oWkgbOG6p24gY2h1eeG7g24gZ2lhbyBkYW5oIG5naMSpYSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk3CiBtc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgIsSR4bq3dCB0aMO0bmcgdGluIHRoxrDhu6NuZyBuZ3Xhu5NuICh1cHN0cmVhbSkgY2hvIG5ow6FuaCBt4bubaSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk5CiBtc2dpZCAibmV3IGJyYW5jaCIKIG1zZ3N0ciAibmjDoW5oIG3hu5tpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MworIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTkKIG1zZ2lkICJuZXcgdW5wYXJlbnRlZCBicmFuY2giCi1tc2dzdHIgIm5ow6FuaCBt4buTIGPDtGkgbeG7m2kiCittc2dzdHIgIm5ow6FuaCBraMO0bmcgY2hhIG3hu5tpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NAorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDAKIG1zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgIiIKICJs4bqleSByYSAoY2hlY2tvdXQpIHBoacOqbiBi4bqjbiBj4bunYSBjaMO6bmcgdGEgY2hvIGPDoWMgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDIKIG1zZ2lkICJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAiIgogImzhuqV5IHJhIChjaGVja291dCkgcGhpw6puIGLhuqNuIGPhu6dhIGNow7puZyBo4buNIGNobyBjw6FjIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA0CiBtc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCiBtc2dzdHIgIsOpcCBideG7mWMgbOG6pXkgcmEgKGNoZWNrb3V0KSAoYuG7jyDEkWkgbmjhu69uZyB0aGF5IMSR4buVaSBu4buZaSBi4buZKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA1CiBtc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCiBtc2dzdHIgInRo4buxYyBoaeG7h24gaMOyYSB0cuG7mW4ga2nhu4N1IDMtd2F5IHbhu5tpIG5ow6FuaCBt4bubaSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzAgYnVpbHRpbi9tZXJnZS5jOjIzMgorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDYgYnVpbHRpbi9tZXJnZS5jOjIyNQogbXNnaWQgInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIKIG1zZ3N0ciAiY+G6rXAgbmjhuq10IGPDoWMgdOG6rXAgdGluIGLhu4sgYuG7jyBxdWEgKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3MSBidWlsdGluL2xvZy5jOjEyMDggcGFyc2Utb3B0aW9ucy5oOjI0OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDcgYnVpbHRpbi9sb2cuYzoxMjI4IHBhcnNlLW9wdGlvbnMuaDoyNDgKIG1zZ2lkICJzdHlsZSIKIG1zZ3N0ciAia2nhu4N1IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDgKIG1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgogbXNnc3RyICJ4dW5nIMSR4buZdCBraeG7g3UgKGjDsmEgdHLhu5luIGhheSBkaWZmMykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTExMQogbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKLW1zZ3N0ciAia2jDtG5nIGdp4bubaSBo4bqhbiBwYXRoc3BlY3MgY2jhu4kgdGjDoG5oIGPDoWMgbeG7pWMgdGjGsGEgdGjhu5t0IgorbXNnc3RyICJraMO0bmcgZ2nhu5tpIGjhuqFuIMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiB0aMOgbmggY2jhu4kgY8OhYyBt4bulYyB0aMawYSB0aOG7m3QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTExMwogbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IG5vLXN1Y2gtYnJhbmNoJyIKIG1zZ3N0ciAiZ+G7o2kgw70gdGjhu6kgaGFpIOKAnGdpdCBjaGVja291dCBraMO0bmctbmjDoW5oLW7DoG8tbmjGsC124bqteeKAnSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMDEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM2CiBtc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgotbXNnc3RyICJUw7l5IGNo4buNbiAtYnwtQiB2w6AgLS1vcnBoYW4gbG/huqFpIHThu6sgbOG6q24gbmhhdSIKK21zZ3N0ciAiVMO5eSBjaOG7jW4gLWIsIC1CIHbDoCAtLW9ycGhhbiBsb+G6oWkgdOG7qyBs4bqrbiBuaGF1IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTExOAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIi0tdHJhY2sgY+G6p24gdMOqbiBt4buZdCBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MAogbXNnaWQgIk1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAiVGhp4bq/dSB0w6puIG5ow6FuaDsgaMOjeSB0aOG7rSAtYiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk3CiBtc2dpZCAiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDEkcOjIGNobyBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS5cbiIKQEAgLTM0NTYsMTQgKzM2NjQsMTQgQEAKIG1zZ3N0ciAiIgogIktow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgdsOgIGNodXnhu4NuIHRow6BuaCBuaMOhbmgg4oCcJXPigJ0gY8O5bmcgbMO6Y1xuIgogIkLhuqFuIMSRw6MgY8OzIMO9IMSR4buLbmggY2hlY2tvdXQg4oCcJXPigJ0gY8OhaSBtw6Aga2jDtG5nIHRo4buDIMSRxrDhu6NjIHBow6JuIGdp4bqjaSBuaMawIGzDoCBs4bqnbiAiCi0iY2h1eeG7g24gZ2lhbyAoY29tbWl0KT8iCisiY2h1eeG7g24gZ2lhbz8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTcyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50ICclcyciCiBtc2dzdHIgImdpdCBjaGVja291dDogLS1kZXRhY2gga2jDtG5nIG5o4bqtbiBt4buZdCDEkeG7kWkgc+G7kSDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTc2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxMwogbXNnaWQgIiIKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKICJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIKQEAgLTM0NzEsMzggKzM2NzksMzggQEAKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSB2w6AgLS1tZXJnZSBsw6AgeHVuZyBraOG6r2MgduG7m2kgbmhhdSBraGlcbiIKICJjaGVja291dCBi4bqjbmcgbeG7pWMgbOG7pWMgKGluZGV4KS4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyNQorIzogYnVpbHRpbi9jbGVhbi5jOjI2CiBtc2dpZCAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxwYXR0ZXJuPl0gWy14IHwgLVhdIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxt4bqrdT5dIFsteCB8IC1YXSBbLS1dIDzEkcaw4budbmctZOG6q24+Li4uIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjkKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlc1xuIgogbXNnc3RyICLEkGFuZyBn4buhIGLhu48gJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMwCisjOiBidWlsdGluL2NsZWFuLmM6MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgcmVtb3ZlICVzXG4iCiBtc2dzdHIgIkPDsyB0aOG7gyBn4buhIGLhu48gJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICLEkGFuZyBi4buPIHF1YSBraG8gY2jhu6lhICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMgorIzogYnVpbHRpbi9jbGVhbi5jOjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHNraXAgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICJOw6puIGLhu48gcXVhIGtobyBjaOG7qWEgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMzCisjOiBidWlsdGluL2NsZWFuLmM6MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGfhu6EgYuG7jyAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5MworIzogYnVpbHRpbi9jbGVhbi5jOjI5NAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKICIxICAgICAgICAgIC0gc2VsZWN0IGEgbnVtYmVyZWQgaXRlbVxuIgpAQCAtMzUxNCw3ICszNzIyLDcgQEAKICJmb28gICAgICAgIC0gY2jhu41uIG3hu6VjIHRyw6puIGPGoSBz4bufIHRp4buBbiB04buRIGR1eSBuaOG6pXRcbiIKICIgICAgICAgICAgIC0gKHRy4buRbmcgcuG7l25nKSBraMO0bmcgY2jhu41uIGfDrCBj4bqjIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Mjk3CisjOiBidWlsdGluL2NsZWFuLmM6Mjk4CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgogIjEgICAgICAgICAgLSBzZWxlY3QgYSBzaW5nbGUgaXRlbVxuIgpAQCAtMzUzNCwzNSArMzc0MiwzNSBAQAogIiogICAgICAgICAgLSBjaOG7jW4gdOG6pXRcbiIKICIgICAgICAgICAgIC0gKHRy4buRbmcgcuG7l25nKSBr4bq/dCB0aMO6YyB2aeG7h2MgY2jhu41uIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NTE1CisjOiBidWlsdGluL2NsZWFuLmM6NTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1aCAoJXMpPyIKIG1zZ3N0ciAiSOG6oyAoJXMpPyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY1OAorIzogYnVpbHRpbi9jbGVhbi5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCi1tc2dzdHIgIk3huqt1IMSR4buDIGzhu41jIGPDoWMgdOG6rXAgdGluIGPhuqduIGzhu50gxJFpIMSR4bqndSB2w6BvPj4iCittc2dzdHIgIk3huqt1IMSR4buDIGzhu41jIGPDoWMgdOG6rXAgdGluIMSR4bqndSB2w6BvIGPhuqduIGzhu50gxJFpPj4gIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Njk1CisjOiBidWlsdGluL2NsZWFuLmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgogbXNnc3RyICJD4bqiTkggQsOBTzogS2jDtG5nIHTDrG0gdGjhuqV5IGPDoWMgbeG7pWMgxJHGsOG7o2Mga2jhu5twIGLhu59pOiAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjcxNgorIzogYnVpbHRpbi9jbGVhbi5jOjcxNwogbXNnaWQgIlNlbGVjdCBpdGVtcyB0byBkZWxldGUiCiBtc2dzdHIgIkNo4buNbiBt4bulYyBtdeG7kW4geMOzYSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjc1NgorIzogYnVpbHRpbi9jbGVhbi5jOjc1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdmUgJXM/ICIKLW1zZ3N0ciAiZ+G7oSBi4buPIOKAnCVz4oCdPyIKK21zZ3N0ciAiZ+G7oSBi4buPIOKAnCVz4oCdPyAiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3ODIKIG1zZ2lkICJCeWUuIgogbXNnc3RyICJU4bqhbSBiaeG7h3QuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Nzg5CisjOiBidWlsdGluL2NsZWFuLmM6NzkwCiBtc2dpZCAiIgogImNsZWFuICAgICAgICAgICAgICAgLSBzdGFydCBjbGVhbmluZ1xuIgogImZpbHRlciBieSBwYXR0ZXJuICAgLSBleGNsdWRlIGl0ZW1zIGZyb20gZGVsZXRpb25cbiIKQEAgLTM1ODAsMjEgKzM3ODgsMjEgQEAKICJoZWxwICAgICAgICAgICAgICAgIC0gaGnhu4NuIHRo4buLIGNow61uaCB0cuG7oyBnacO6cCBuw6B5XG4iCiAiPyAgICAgICAgICAgICAgICAgICAtIHRy4bujIGdpw7pwIGTDoG5oIGNobyBjaOG7jW4gYuG6sW5nIGPDoWNoIG5o4bqvYyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxNgorIzogYnVpbHRpbi9jbGVhbi5jOjgxNwogbXNnaWQgIioqKiBDb21tYW5kcyAqKioiCiBtc2dzdHIgIioqKiBM4buHbmggKioqIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODE3CisjOiBidWlsdGluL2NsZWFuLmM6ODE4CiBtc2dpZCAiV2hhdCBub3ciCiBtc2dzdHIgIkdp4budIHRow6wgc2FvIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODI1CisjOiBidWlsdGluL2NsZWFuLmM6ODI2CiBtc2dpZCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbToiCiBtc2dpZF9wbHVyYWwgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW1zOiIKIG1zZ3N0clswXSAiQ8OzIG114buRbiBn4buhIGLhu48gbeG7pWMgc2F1IMSRw6J5IGtow7RuZzoiCiBtc2dzdHJbMV0gIkPDsyBtdeG7kW4gZ+G7oSBi4buPIGPDoWMgbeG7pWMgc2F1IMSRw6J5IGtow7RuZzoiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NDIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NDMKIG1zZ2lkICJObyBtb3JlIGZpbGVzIHRvIGNsZWFuLCBleGl0aW5nLiIKIG1zZ3N0ciAiS2jDtG5nIGPDsm4gdOG6rXAtdGluIG7DoG8gxJHhu4MgZOG7jW4gZOG6uXAsIMSRYW5nIHRob8OhdCByYS4iCiAKQEAgLTM2MDgsMTQgKzM4MTYsMTQgQEAKIAogIzogYnVpbHRpbi9jbGVhbi5jOjg3NwogbXNnaWQgImludGVyYWN0aXZlIGNsZWFuaW5nIgotbXNnc3RyICJz4butYSBi4bqxbmcgY8OhY2ggdMawxqFuZyB0w6FjIgorbXNnc3RyICJk4buNbiBi4bqxbmcga2nhu4N1IHTGsMahbmcgdMOhYyIKIAogIzogYnVpbHRpbi9jbGVhbi5jOjg3OQogbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiZ+G7oSBi4buPIHRvw6BuIGLhu5kgdGjGsCBt4bulYyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg4MCBidWlsdGluL2Rlc2NyaWJlLmM6NDIwIGJ1aWx0aW4vZ3JlcC5jOjcxNgotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MyBidWlsdGluL25hbWUtcmV2LmM6MzE1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4ODAgYnVpbHRpbi9kZXNjcmliZS5jOjQyMCBidWlsdGluL2dyZXAuYzo3MTgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODMgYnVpbHRpbi9uYW1lLXJldi5jOjMxNCBidWlsdGluL3Nob3ctcmVmLmM6MTg1CiBtc2dpZCAicGF0dGVybiIKIG1zZ3N0ciAibeG6q3UiCiAKQEAgLTM2NTUsMTAgKzM4NjMsMTAgQEAKIG1zZ2lkICJnaXQgY2xvbmUgW29wdGlvbnNdIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBbY8OhYy10w7l5LWNo4buNbl0gWy0tXSA8a2hvPiBbPHQubeG7pWM+XSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY0IGJ1aWx0aW4vZmV0Y2guYzo4MiBidWlsdGluL21lcmdlLmM6MjI5Ci0jOiBidWlsdGluL3B1c2guYzo0NjIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NCBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9tZXJnZS5jOjIyMgorIzogYnVpbHRpbi9wdXNoLmM6NTIxCiBtc2dpZCAiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgotbXNnc3RyICLDqXAgYnXhu5ljIGLDoW8gY8OhbyB0aeG6v24gdHLDrG5oIgorbXNnc3RyICLDqXAgYnXhu5ljIGLDoW8gY8OhbyB0aeG6v24gdHJp4buDbiBjw7RuZyB2aeG7h2MiCiAKICM6IGJ1aWx0aW4vY2xvbmUuYzo2NgogbXNnaWQgImRvbid0IGNyZWF0ZSBhIGNoZWNrb3V0IgpAQCAtMzY2NiwxMjUgKzM4NzQsMTM1IEBACiAKICM6IGJ1aWx0aW4vY2xvbmUuYzo2NyBidWlsdGluL2Nsb25lLmM6NjkgYnVpbHRpbi9pbml0LWRiLmM6NDg4CiBtc2dpZCAiY3JlYXRlIGEgYmFyZSByZXBvc2l0b3J5IgotbXNnc3RyICJ04bqhbyBraG8gY2jhu6lhIGJhcmUiCittc2dzdHIgInThuqFvIGtobyB0aHXhuqduIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MQogbXNnaWQgImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIgotbXNnc3RyICJ04bqhbyBraG8gYuG6o24gc2FvIChtaXJyb3IpIChuZ+G7pSDDvSBsw6AgYmFyZSkiCittc2dzdHIgInThuqFvIGtobyBi4bqjbiBzYW8gKMO9IGzDoCBraG8gdGh14bqnbikiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NAorIzogYnVpbHRpbi9jbG9uZS5jOjczCiBtc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIsSR4buDIG5ow6JuIGLhuqNuIHThu6sga2hvIG7hu5lpIGLhu5kiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NgorIzogYnVpbHRpbi9jbG9uZS5jOjc1CiBtc2dpZCAiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiCiBtc2dzdHIgImtow7RuZyBz4butIGThu6VuZyBsacOqbiBr4bq/dCBj4bupbmcgbuG7mWkgYuG7mSwgbHXDtG4gc2FvIGNow6lwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NwogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICJjw6BpIMSR4bq3dCDEkcOieSBsw6Aga2hvIGNoaWEgc+G6uyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgwIGJ1aWx0aW4vY2xvbmUuYzo4MgorIzogYnVpbHRpbi9jbG9uZS5jOjc5IGJ1aWx0aW4vY2xvbmUuYzo4MQogbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCiBtc2dzdHIgImto4bufaSB04bqhbyBtw7QtxJF1bi1jb24gdHJvbmcgYuG6o24gc2FvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDg1CisjOiBidWlsdGluL2Nsb25lLmM6ODIgYnVpbHRpbi9pbml0LWRiLmM6NDg1CiBtc2dpZCAidGVtcGxhdGUtZGlyZWN0b3J5IgotbXNnc3RyICJ0aMawLW3hu6VjLXThuqFtIgorbXNnc3RyICJ0aMawLW3hu6VjLW3huqt1IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODQgYnVpbHRpbi9pbml0LWRiLmM6NDg2CisjOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDg2CiBtc2dpZCAiZGlyZWN0b3J5IGZyb20gd2hpY2ggdGVtcGxhdGVzIHdpbGwgYmUgdXNlZCIKIG1zZ3N0ciAidGjGsCBt4bulYyBtw6AgdOG6oWkgxJHDsyBjw6FjIG3huqt1IHPhur0gxJHGsOG7o2MgZMO5bmciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NgorIzogYnVpbHRpbi9jbG9uZS5jOjg1CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImtobyB0aGFtIGNoaeG6v3UiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NyBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CisjOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAogbXNnaWQgIm5hbWUiCiBtc2dzdHIgInTDqm4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OAorIzogYnVpbHRpbi9jbG9uZS5jOjg3CiBtc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgotbXNnc3RyICJkw7luZyA8dMOqbj4gdGhheSB2w6wg4oCcb3JpZ2lu4oCdIMSR4buDIHRoZW8gZMO1aSB0aMaw4bujbmcgbmd14buTbiAodXB0cmVhbSkiCittc2dzdHIgImTDuW5nIDx0w6puPiB0aGF5IGNobyDigJxvcmlnaW7igJ0gxJHhu4MgdGhlbyBkw7VpIHRoxrDhu6NuZyBuZ3Xhu5NuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4OQogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGluc3RlYWQgb2YgdGhlIHJlbW90ZSdzIEhFQUQiCi1tc2dzdHIgImzhuqV5IHJhIG5ow6FuaCAoY2hlY2tvdXQgPG5ow6FuaD4pIHRoYXkgdsOsIEhFQUQgY+G7p2EgbcOheSBjaOG7pyIKK21zZ3N0ciAibOG6pXkgcmEgPG5ow6FuaD4gdGhheSBjaG8gSEVBRCBj4bunYSBtw6F5IGNo4bunIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MQogbXNnaWQgInBhdGggdG8gZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUiCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDEkeG6v24gZ2l0LXVwbG9hZC1wYWNrIHRyw6puIG3DoXkgY2jhu6ciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MyBidWlsdGluL2ZldGNoLmM6ODMgYnVpbHRpbi9ncmVwLmM6NjYxCisjOiBidWlsdGluL2Nsb25lLmM6OTIgYnVpbHRpbi9mZXRjaC5jOjk4IGJ1aWx0aW4vZ3JlcC5jOjY2MwogbXNnaWQgImRlcHRoIgotbXNnc3RyICLEkeG7mSBzw6J1IgorbXNnc3RyICLEkeG7mS1zw6J1IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MwogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgb2YgdGhhdCBkZXB0aCIKIG1zZ3N0ciAidOG6oW8gYuG6o24gc2FvIGtow7RuZyDEkeG6p3kgxJHhu6cgY2hvIG3hu6ljIHPDonUgxJHDoyBjaG8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NgorIzogYnVpbHRpbi9jbG9uZS5jOjk1CiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgotbXNnc3RyICJuaMOibiBi4bqjbiAoY2xvbmUpIGNo4buJIG3hu5l0IG5ow6FuaCwgSEVBRCBob+G6t2MgLS1icmFuY2giCittc2dzdHIgImNo4buJIG5ow6JuIGLhuqNuIG3hu5l0IG5ow6FuaCwgSEVBRCBob+G6t2MgLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NyBidWlsdGluL2luaXQtZGIuYzo0OTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NiBidWlsdGluL2luaXQtZGIuYzo0OTQKIG1zZ2lkICJnaXRkaXIiCiBtc2dzdHIgImdpdGRpciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NQorIzogYnVpbHRpbi9jbG9uZS5jOjk3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NQogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImtow7RuZyBkw7luZyBjaHVuZyB0aMawIG3hu6VjIGTDoG5oIHJpw6puZyBjaG8gZ2l0IHbDoCB0aMawIG3hu6VjIGzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OAogbXNnaWQgImtleT12YWx1ZSIKLW1zZ3N0ciAia2jDs2E9Z2nDoSB0cuG7iyIKK21zZ3N0ciAia2jDs2E9Z2nDoV90cuG7iyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMAorIzogYnVpbHRpbi9jbG9uZS5jOjk5CiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICLEkeG6t3QgY+G6pXUgaMOsbmggYsOqbiB0cm9uZyBt4buZdCBraG8gY2jhu6lhIG3hu5tpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MjUzCisjOiBidWlsdGluL2Nsb25lLmM6MjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCiBtc2dzdHIgImtobyB0aGFtIGNoaeG6v3Ug4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQga2hvIG7hu5lpIGLhu5kuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzE2CisjOiBidWlsdGluL2Nsb25lLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKK21zZ3N0ciAia2hvIHRoYW0gY2hp4bq/dSDigJwlc+KAnSBsw6AgbsO0bmciCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIgorbXNnc3RyICJraG8gdGhhbSBjaGnhur91IOKAnCVz4oCdIGLhu4sgY+G6pXkgZ2jDqXAiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAidOG6oW8gdGjGsCBt4bulYyBcIiVzXCIgZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTggYnVpbHRpbi9kaWZmLmM6NzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMjMgYnVpbHRpbi9kaWZmLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kgc3RhdCAobOG6pXkgdHLhuqFuZyB0aMOhaSB24buBKSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMyMAorIzogYnVpbHRpbi9jbG9uZS5jOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgdOG7k24gdOG6oWkgbmjGsG5nIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoxrAgbeG7pWMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMzQKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXNcbiIKLW1zZ3N0ciAibOG7l2kgc3RhdCAobOG6pXkgdHLhuqFuZyB0aMOhaSB24buBKSAlc1xuIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbOG6pXkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiB24buBICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozNTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzozNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB04bqhbyDEkcaw4bujYyBsacOqbiBr4bq/dCBt4buBbSAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM2MAorIzogYnVpbHRpbi9jbG9uZS5jOjM2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCi1tc2dzdHIgImfhurdwIGzhu5dpIGtoaSBjaMOpcCB04bqtcCB0aW4gdOG7m2kg4oCcJXPigJ0iCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBzYW8gY2jDqXAgdOG6rXAgdGluIHbDoCDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM4MworIzogYnVpbHRpbi9jbG9uZS5jOjM4OCBidWlsdGluL2Nsb25lLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvbmUuXG4iCiBtc2dzdHIgImhvw6BuIHThuqV0LlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzk2CisjOiBidWlsdGluL2Nsb25lLmM6NDAxCiBtc2dpZCAiIgogIkNsb25lIHN1Y2NlZWRlZCwgYnV0IGNoZWNrb3V0IGZhaWxlZC5cbiIKICJZb3UgY2FuIGluc3BlY3Qgd2hhdCB3YXMgY2hlY2tlZCBvdXQgd2l0aCAnZ2l0IHN0YXR1cydcbiIKQEAgLTM3OTQsMTA0ICs0MDEyLDEwOCBAQAogIkLhuqFuIGtp4buDbSB0cmEga+G7uSB4ZW0gY8OhaSBnw6wgxJHGsOG7o2MgbOG6pXkgcmEgYuG6sW5nIGzhu4duaCDigJxnaXQgc3RhdHVz4oCdXG4iCiAidsOgIHRo4butIGNoZWNrb3V0IHbhu5tpIGzhu4duaCDigJxnaXQgY2hlY2tvdXQgLWYgSEVBROKAnVxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDc1CisjOiBidWlsdGluL2Nsb25lLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgogbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgbmjDoW5oIG3DoXkgY2jhu6cgJXMgxJHhu4MgbmjDom4gYuG6o24gKGNsb25lKS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1NTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5Li4uICIKLW1zZ3N0ciAixJBhbmcga2nhu4NtIHRyYSBr4bq/dCBu4buRaS4uLiIKK21zZ3N0ciAixJBhbmcga2nhu4NtIHRyYSBr4bq/dCBu4buRaS4uLiAiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1NTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1NjMKIG1zZ2lkICJyZW1vdGUgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0cyIKIG1zZ3N0ciAibcOheSBjaOG7pyDEkcOjIGtow7RuZyBn4butaSB04bqldCBj4bqjIGPDoWMgxJHhu5FpIHTGsOG7o25nIGPhuqduIHRoaeG6v3QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1NjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZG9uZVxuIgotbXNnc3RyICJ4b25nLlxuIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NjIxCisjOiBidWlsdGluL2Nsb25lLmM6NjI2CiBtc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgogbXNnc3RyICJyZWZlcnMgSEVBRCBtw6F5IGNo4bunICBjaOG7iSDEkeG6v24gcmVmIGtow7RuZyB04buTbiB04bqhaSwga2jDtG5nIHRo4buDIGNoZWNrb3V0LlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjUyCisjOiBidWlsdGluL2Nsb25lLmM6NjU3CiBtc2dpZCAidW5hYmxlIHRvIGNoZWNrb3V0IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHJhIChjaGVja291dCkgY8OieSBsw6BtIHZp4buHYyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2MAorIzogYnVpbHRpbi9jbG9uZS5jOjc2NQogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgIkPDsyBxdcOhIG5oaeG7gXUgxJHhu5FpIHPhu5EuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzY0CisjOiBidWlsdGluL2Nsb25lLmM6NzY5CiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICJC4bqhbiBwaOG6o2kgY2jhu4kgxJHhu4tuaCBt4buZdCBraG8gxJHhu4MgbcOgIG5ow6JuIGLhuqNuIChjbG9uZSkuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzc1CisjOiBidWlsdGluL2Nsb25lLmM6NzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gLS1iYXJlIHbDoCAtLW9yaWdpbiAlcyB4dW5nIGto4bqvYyBuaGF1LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc3OAorIzogYnVpbHRpbi9jbG9uZS5jOjc4MwogbXNnaWQgIi0tYmFyZSBhbmQgLS1zZXBhcmF0ZS1naXQtZGlyIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICJ0w7l5IGNo4buNbiAtLWJhcmUgdsOgIC0tc2VwYXJhdGUtZ2l0LWRpciB4dW5nIGto4bqvYyBuaGF1LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc5MQorIzogYnVpbHRpbi9jbG9uZS5jOjc5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBvc2l0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImtobyBjaOG7qWEg4oCcJXPigJ0gY2jGsGEgdOG7k24gdOG6oWkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3OTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MDIKIG1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiLS1kZXB0aCBi4buLIGzhu50gxJFpIGtoaSBuaMOibiBi4bqjbiBu4buZaSBi4buZOyBow6N5IHPhu60gZOG7pW5nIGZpbGU6Ly8gxJHhu4MgdGhheSB0aOG6vy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3OTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MDUKK21zZ2lkICJzb3VyY2UgcmVwb3NpdG9yeSBpcyBzaGFsbG93LCBpZ25vcmluZyAtLWxvY2FsIgorbXNnc3RyICJraG8gbmd14buTbiBsw6AgbsO0bmcsIG7Dqm4gYuG7jyBxdWEgLS1sb2NhbCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjgxMAogbXNnaWQgIi0tbG9jYWwgaXMgaWdub3JlZCIKIG1zZ3N0ciAiLS1sb2NhbCBi4buLIGzhu50gxJFpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODA4CisjOiBidWlsdGluL2Nsb25lLmM6ODE0IGJ1aWx0aW4vZmV0Y2guYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKK21zZ3N0ciAixJHhu5kgc8OidSAlcyBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBz4buRIG5ndXnDqm4gZMawxqFuZyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhbiBlbXB0eSBkaXJlY3RvcnkuIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24gxJHDrWNoIOKAnCVz4oCdIMSRw6MgY8OzIHThu6sgdHLGsOG7m2MgdsOgIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoxrAgbeG7pWMgcuG7l25nLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgxOAorIzogYnVpbHRpbi9jbG9uZS5jOjgzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgImPDonkgbMOgbSB2aeG7h2Mg4oCcJXPigJ0gxJHDoyBz4bq1biB04buTbiB04bqhaSBy4buTaS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzEgYnVpbHRpbi9jbG9uZS5jOjg0MworIzogYnVpbHRpbi9jbG9uZS5jOjg0NyBidWlsdGluL2Nsb25lLmM6ODU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gY8OhYyB0aMawIG3hu6VjIGThuqtuIMSR4bqndSBj4bunYSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzNAorIzogYnVpbHRpbi9jbG9uZS5jOjg1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJy4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyBjw6J5IHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgZGlyIOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg1MworIzogYnVpbHRpbi9jbG9uZS5jOjg2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAixJBhbmcgbmjDom4gYuG6o24gdGjDoG5oIGtobyBjaOG7qWEgYmFyZSDigJwlc+KAnS4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODU1CisjOiBidWlsdGluL2Nsb25lLmM6ODcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byAnJXMnLi4uXG4iCiBtc2dzdHIgIsSQYW5nIG5ow6JuIGLhuqNuIHRow6BuaCDigJwlc+KAnS4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODkwCisjOiBidWlsdGluL2Nsb25lLmM6OTA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGNsb25lICVzIgogbXNnc3RyICJLaMO0bmcgYmnhur90IGzDoG0gY8OhY2ggbsOgbyDEkeG7gyBuaMOibiBi4bqjbiAoY2xvbmUpICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQyCisjOiBidWlsdGluL2Nsb25lLmM6OTU3IGJ1aWx0aW4vY2xvbmUuYzo5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIk5ow6FuaCBtw6F5IGNo4bunICVzIGtow7RuZyB0w6xtIHRo4bqleSB0cm9uZyB0aMaw4bujbmcgbmd14buTbiAodXBzdHJlYW0pICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQ5CisjOiBidWlsdGluL2Nsb25lLmM6OTY4CiBtc2dpZCAiWW91IGFwcGVhciB0byBoYXZlIGNsb25lZCBhbiBlbXB0eSByZXBvc2l0b3J5LiIKIG1zZ3N0ciAiQuG6oW4gaMOsbmggbmjGsCBsw6AgxJHDoyBuaMOibiBi4bqjbiBt4buZdCBraG8gdHLhu5FuZyBy4buXbmcuIgogCkBAIC0zOTEzLDExICs0MTM1LDExIEBACiAKICM6IGJ1aWx0aW4vY29sdW1uLmM6MzAKIG1zZ2lkICJQYWRkaW5nIHNwYWNlIG9uIGxlZnQgYm9yZGVyIgotbXNnc3RyICJDaMOobiB0aMOqbSBraG/huqNuZyB0cuG7kW5nIHbDoG8gYuG7nSBiw6puIHRyw6FpIgorbXNnc3RyICJDaMOobiB0aMOqbSBraG/huqNuZyB0cuG7kW5nIHbDoG8gYsOqbiB0csOhaSIKIAogIzogYnVpbHRpbi9jb2x1bW4uYzozMQogbXNnaWQgIlBhZGRpbmcgc3BhY2Ugb24gcmlnaHQgYm9yZGVyIgotbXNnc3RyICJDaMOobiB0aMOqbSBraG/huqNuZyB0cuG6r25nIHbDoG8gdGnhur9wIGdpw6FwIGLDqm4gcGjhuqNpIgorbXNnc3RyICJDaMOobiB0aMOqbSBraG/huqNuZyB0cuG6r25nIHbDoG8gYsOqbiBwaOG6o2kiCiAKICM6IGJ1aWx0aW4vY29sdW1uLmM6MzIKIG1zZ2lkICJQYWRkaW5nIHNwYWNlIGJldHdlZW4gY29sdW1ucyIKQEAgLTM5MjcsMTUgKzQxNDksMTUgQEAKIG1zZ2lkICItLWNvbW1hbmQgbXVzdCBiZSB0aGUgZmlyc3QgYXJndW1lbnQiCiBtc2dzdHIgIi0tY29tbWFuZCBwaOG6o2kgbMOgIMSR4buRaSBz4buRIMSR4bqndSB0acOqbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNQorIzogYnVpbHRpbi9jb21taXQuYzozNgogbXNnaWQgImdpdCBjb21taXQgW29wdGlvbnNdIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IGNvbW1pdCBbY8OhYy10w7l5LWNo4buNbl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQwCisjOiBidWlsdGluL2NvbW1pdC5jOjQxCiBtc2dpZCAiZ2l0IHN0YXR1cyBbb3B0aW9uc10gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgc3RhdHVzIFtjw6FjLXTDuXktY2jhu41uXSBbLS1dIDxwYXRoc3BlYz4uLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDYKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtMzk1OSwyNCArNDE4MSwyNCBAQAogIiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgeW91QGV4YW1wbGUuY29tXG4iCiAiXG4iCiAiU2F1IGtoaSB0aOG7sWMgaGnhu4duIHhvbmcsIGLhuqFuIGPDsyB0aOG7gyBz4butYSBjaOG7r2EgxJHhu4tuaCBkYW5oIMSRxrDhu6NjIHPhu60gZOG7pW5nIGNobyBs4bqnbiAiCi0iY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBuw6B5IHbhu5tpIGzhu4duaDpcbiIKKyJjaHV54buDbiBnaWFvIG7DoHkgduG7m2kgbOG7h25oOlxuIgogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NworIzogYnVpbHRpbi9jb21taXQuYzo1OAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gYW1lbmQgdGhlIG1vc3QgcmVjZW50IGNvbW1pdCwgYnV0IGRvaW5nIHNvIHdvdWxkIG1ha2VcbiIKICJpdCBlbXB0eS4gWW91IGNhbiByZXBlYXQgeW91ciBjb21tYW5kIHdpdGggLS1hbGxvdy1lbXB0eSwgb3IgeW91IGNhblxuIgogInJlbW92ZSB0aGUgY29tbWl0IGVudGlyZWx5IHdpdGggXCJnaXQgcmVzZXQgSEVBRF5cIi5cbiIKIG1zZ3N0ciAiIgotIkLhuqFuIMSRw6MgecOqdSBj4bqndSBhbWVuZCAodHUgYuG7lSkgcGjhuqduIGzhu5tuIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBn4bqnbiDEkcOieSwgIgotIm5oxrBuZyBsw6BtIG5oxrAgdGjhur9cbiIKKyJC4bqhbiDEkcOjIHnDqnUgY+G6p3UgYW1lbmQgKOKAnHR1IGLhu5XigJ0pIHBo4bqnbiBs4bubbiBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gZ+G6p24gxJHDonksIG5oxrBuZyAiCisibMOgbSBuaMawIHRo4bq/XG4iCiAiY8OzIHRo4buDIGzDoG0gY2hvIG7DsyB0cuG7nyBuw6puIHRy4buRbmcgcuG7l25nLiBC4bqhbiBjw7MgdGjhu4MgbOG6t3AgbOG6oWkgbOG7h25oIGPhu6dhIG3DrG5oIGLhurFuZyAiCiAiLS1hbGxvdy1lbXB0eSxcbiIKICJob+G6t2MgbMOgIGLhuqFuIGfhu6EgYuG7jyBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gbeG7mXQgY8OhY2ggaG/DoG4gdG/DoG4gYuG6sW5nIGzhu4duaDpcbiIKICJcImdpdCByZXNldCBIRUFEXlwiLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYyCisjOiBidWlsdGluL2NvbW1pdC5jOjYzCiBtc2dpZCAiIgogIlRoZSBwcmV2aW91cyBjaGVycnktcGljayBpcyBub3cgZW1wdHksIHBvc3NpYmx5IGR1ZSB0byBjb25mbGljdCByZXNvbHV0aW9uLlxuIgogIklmIHlvdSB3aXNoIHRvIGNvbW1pdCBpdCBhbnl3YXksIHVzZTpcbiIKQEAgLTM5ODYsMTYgKzQyMDgsMTYgQEAKIG1zZ3N0ciAiIgogIkzhuqduIGNoZXJyeS1waWNrIHRyxrDhu5tjIGhp4buHbiBuYXkgdHLhu5FuZyBy4buXbmcsIGPDsyBs4bq9IGzDoCBi4bufaSB2w6wgc+G7sSBwaMOibiBnaeG6o2kgeHVuZyAiCiAixJHhu5l0LlxuIgotIk7hur91IGLhuqFuIHbhuqtuIG114buRbiBjaHV54buDbiBnaWFvIG7DsyBjaG8gZMO5IHRo4bq/IG7DoG8gxJFpIG7hu69hLCBz4butIGThu6VuZzpcbiIKKyJO4bq/dSBi4bqhbiB24bqrbiBtdeG7kW4gY2h1eeG7g24gZ2lhbyBuw7MgY2hvIGTDuSB0aOG6vyBuw6BvIMSRaSBu4buvYSwgaMOjeSBkw7luZzpcbiIKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5XG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzAKIG1zZ2lkICJPdGhlcndpc2UsIHBsZWFzZSB1c2UgJ2dpdCByZXNldCdcbiIKIG1zZ3N0ciAiTuG6v3Uga2jDtG5nIMSRxrDhu6NjIHRow6wgZMO5bmcgbOG7h25oIFwiZ2l0IHJlc2V0XCJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MgorIzogYnVpbHRpbi9jb21taXQuYzo3MwogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBza2lwIHRoaXMgY29tbWl0LCB1c2U6XG4iCiAiXG4iCkBAIC00MDExLDk3ICs0MjMzLDk1IEBACiAiVGjhur8gdGjDrCBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgc+G6vSBwaOG7pWMgaOG7k2kgbOG6oWkgdmnhu4djIGNoZXJyeS1waWNrXG4iCiAibmjhu69uZyBs4bqnbiBjaHV54buDbiBnaWFvIGPDsm4gbOG6oWkuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Mjc5CisjOiBidWlsdGluL2NvbW1pdC5jOjI4NwogbXNnaWQgImZhaWxlZCB0byB1bnBhY2sgSEVBRCB0cmVlIG9iamVjdCIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHRow6FvIGThu6EgSEVBRCDEkeG7kWkgdMaw4bujbmcgY8OieSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzI5CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyBi4bqjbmcgbeG7pWMgbOG7pWMgdOG6oW0gdGjhu51pIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjMyNworIzogYnVpbHRpbi9jb21taXQuYzozMzUKIG1zZ2lkICJpbnRlcmFjdGl2ZSBhZGQgZmFpbGVkIgotbXNnc3RyICJ2aeG7h2MgdGjDqm0gdMawxqFuZyB0w6FjIGfhurdwIGzhu5dpIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdGjDqm0gYuG6sW5nIGPDoWNoIHTGsMahbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzYwIGJ1aWx0aW4vY29tbWl0LmM6MzgxIGJ1aWx0aW4vY29tbWl0LmM6NDMxCisjOiBidWlsdGluL2NvbW1pdC5jOjM2OCBidWlsdGluL2NvbW1pdC5jOjM4OSBidWlsdGluL2NvbW1pdC5jOjQzOQogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXdfaW5kZXggZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB04bqtcCB0aW4gbMawdSBi4bqjbmcgbeG7pWMgbOG7pWMgbeG7m2kgKG5ld19pbmRleCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDEyCisjOiBidWlsdGluL2NvbW1pdC5jOjQyMAogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKIG1zZ3N0ciAiIgotImtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIHZp4buHYyBjaHV54buDbiBnaWFvIChjb21taXQpIGPhu6VjIGLhu5kgdHJvbmcga2hpIMSRYW5nIMSRxrDhu6NjIGjDsmEgIgotInRy4buZbi4iCisia2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gdmnhu4djIGNodXnhu4NuIGdpYW8gY+G7pWMgYuG7mSB0cm9uZyBraGkgxJFhbmcgxJHGsOG7o2MgaMOyYSB0cuG7mW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQxNAorIzogYnVpbHRpbi9jb21taXQuYzo0MjIKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIiIKLSJraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiB2aeG7h2MgY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBi4buZIHBo4bqtbiB0cm9uZyBraGkgxJFhbmcgY2hlcnJ5LSIKLSJwaWNrLiIKKyJraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiB2aeG7h2MgY2h1eeG7g24gZ2lhbyBi4buZIHBo4bqtbiB0cm9uZyBraGkgxJFhbmcgY2hlcnJ5LXBpY2suIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQyNAorIzogYnVpbHRpbi9jb21taXQuYzo0MzIKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImtow7RuZyDEkeG7jWMgxJHGsOG7o2MgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ0NAorIzogYnVpbHRpbi9jb21taXQuYzo0NTIKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIHThuqFtIHRo4budaSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1MzUgYnVpbHRpbi9jb21taXQuYzo1NDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTQzIGJ1aWx0aW4vY29tbWl0LmM6NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0OiAlcyIKLW1zZ3N0ciAibOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBraMO0bmcgaOG7o3AgbOG7hzogJXMiCittc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8ga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU2MworIzogYnVpbHRpbi9jb21taXQuYzo1NzEKIG1zZ2lkICJtYWxmb3JtZWQgLS1hdXRob3IgcGFyYW1ldGVyIgotbXNnc3RyICLEkeG7kWkgc+G7kSAtLWF1dGhvciBi4buLIGThu4sgaMOsbmgiCittc2dzdHIgIsSR4buRaSBz4buRIGNobyAtLWF1dGhvciBi4buLIGThu4sgaMOsbmgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTgzCisjOiBidWlsdGluL2NvbW1pdC5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaWRlbnQgc3RyaW5nOiAnJXMnIgogbXNnc3RyICJDaHXhu5dpIHRo4buldCBs4buBIMSR4bqndSBkw7JuZyBk4buLIGjDrG5oOiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MjEgYnVpbHRpbi9jb21taXQuYzo2NTQgYnVpbHRpbi9jb21taXQuYzo5ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjMwIGJ1aWx0aW4vY29tbWl0LmM6NjYzIGJ1aWx0aW4vY29tbWl0LmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIGNvbW1pdCAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHTDrG0ga2nhur9tIGNvbW1pdCAobOG6p24gY2h1eeG7g24gZ2lhbykgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjMzIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjQyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAiKMSRYW5nIMSR4buNYyB0aMO0bmcgxJFp4buHcCBuaOG6rXQga8O9IHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbilcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjQ0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgbmjhuq10IGvDvSB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjM5CisjOiBidWlsdGluL2NvbW1pdC5jOjY0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZmlsZSAnJXMnIgogbXNnc3RyICJraMO0bmcgxJHhu41jIMSRxrDhu6NjIHThu4dwIG5o4bqtdCBrw70g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjY1NAogbXNnaWQgImNvbW1pdCBoYXMgZW1wdHkgbWVzc2FnZSIKLW1zZ3N0ciAibOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBjw7MgZ2hpIGNow7ogdHLhu5FuZyBy4buXbmciCittc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8gY8OzIGdoaSBjaMO6IHRy4buRbmcgcuG7l25nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY2MQorIzogYnVpbHRpbi9jb21taXQuYzo2NzAKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NU0ciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgTUVSR0VfTVNHIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY2NQorIzogYnVpbHRpbi9jb21taXQuYzo2NzQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBTUVVBU0hfTVNHIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIFNRVUFTSF9NU0ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjY5CisjOiBidWlsdGluL2NvbW1pdC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jIOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ5CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSBt4bqrdSBjb21taXQiCittc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgbeG6q3UgY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTQxMTYsNyArNDMzNiw3IEBACiAiXHQlc1xuIgogInbDoCB0aOG7rSBs4bqhaS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTQxMzEsNyArNDM1MSw3IEBACiAiXHQlc1xuIgogInbDoCB0aOG7rSBs4bqhaS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC00MTQwLDkgKzQzNjAsOSBAQAogIkjDo3kgbmjhuq1wIHbDoG8gY8OhYyB0aMO0bmcgdGluIMSR4buDIGdp4bqjaSB0aMOtY2ggY8OhYyB0aGF5IMSR4buVaSBj4bunYSBi4bqhbi4gTmjhu69uZyBkw7JuZyAiCiAixJHGsOG7o2NcbiIKICJi4bqvdCDEkeG6p3UgYuG6sW5nIOKAnCVj4oCdIHPhur0gxJHGsOG7o2MgYuG7jyBxdWEsIG7hur91IHBo4bqnbiBjaMO6IHRow61jaCBy4buXbmcgc+G6vSBo4buneSBi4buPIGzhuqduICIKLSJjaHV54buDbiBnaWFvIChjb21taXQpLlxuIgorImNodXnhu4NuIGdpYW8uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzYzCisjOiBidWlsdGluL2NvbW1pdC5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtNDE1MiwxNTAgKzQzNzIsMTUxIEBACiAiSMOjeSBuaOG6rXAgdsOgbyBjw6FjIHRow7RuZyB0aW4gxJHhu4MgZ2nhuqNpIHRow61jaCBjw6FjIHRoYXkgxJHhu5VpIGPhu6dhIGLhuqFuLiBOaOG7r25nIGTDsm5nICIKICLEkcaw4bujY1xuIgogImLhuq90IMSR4bqndSBi4bqxbmcg4oCcJWPigJ0gc+G6vSDEkcaw4bujYyBi4buPIHF1YTsgYuG6oW4gY8OzIHRo4buDIHjDs2EgY2jDum5nIMSRaSBu4bq/dSBtdeG7kW4gdGjhur8uXG4iCi0iUGjhuqduIGNow7ogdGjDrWNoIG7DoHkgbuG6v3UgdHLhu5FuZyBy4buXbmcgc+G6vSBo4buneSBi4buPIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkuXG4iCisiUGjhuqduIGNow7ogdGjDrWNoIG7DoHkgbuG6v3UgdHLhu5FuZyBy4buXbmcgc+G6vSBo4buneSBi4buPIGzhuqduIGNodXnhu4NuIGdpYW8uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Nzc2CisjOiBidWlsdGluL2NvbW1pdC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0F1dGhvcjogICAgJXMiCiBtc2dzdHIgIiVzVMOhYyBnaeG6ozogICAgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzgzCisjOiBidWlsdGluL2NvbW1pdC5jOjgwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0NvbW1pdHRlcjogJXMiCi1tc2dzdHIgIiVzTmfGsOG7nWkgY2h1eeG7g24gZ2lhbyAoY29tbWl0KTogJXMiCittc2dzdHIgIiVzTmfGsOG7nWkgY2h1eeG7g24gZ2lhbzogJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODAzCisjOiBidWlsdGluL2NvbW1pdC5jOjgyMgogbXNnaWQgIkNhbm5vdCByZWFkIGluZGV4IgotbXNnc3RyICJraMO0bmcgxJHhu41jIMSRxrDhu6NjIGLhuqNuZyBt4bulYyBs4bulYyIKK21zZ3N0ciAiS2jDtG5nIMSR4buNYyDEkcaw4bujYyBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NQogbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgeMOieSBk4buxbmcgY8OieSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NjAgYnVpbHRpbi90YWcuYzozNTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODgwIGJ1aWx0aW4vdGFnLmM6MzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBsZWFzZSBzdXBwbHkgdGhlIG1lc3NhZ2UgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbi5cbiIKLW1zZ3N0ciAiWGluIGjDo3kgw6FwIGThu6VuZyB0aMO0bmcgxJFp4buHcCBz4butIGThu6VuZyBob+G6t2MgbMOgIHTDuXkgY2jhu41uIC1tIGhv4bq3YyBsw6AgLUYuXG4iCittc2dzdHIgIlhpbiBow6N5IGN1bmcgY+G6pXAgbOG7nWkgY2jDuiBnaeG6o2kgaG/hurdjIGzDoCBkw7luZyB0w7l5IGNo4buNbiAtbSBob+G6t2MgbMOgIC1GLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk1NworIzogYnVpbHRpbi9jb21taXQuYzo5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gZXhpc3RpbmcgYXV0aG9yIGZvdW5kIHdpdGggJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHTDrG0gdGjhuqV5IHTDoWMgZ2nhuqMgY8OzIHPhurVuIHbhu5tpIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk3MiBidWlsdGluL2NvbW1pdC5jOjEyMDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTk3IGJ1aWx0aW4vY29tbWl0LmM6MTIzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHVudHJhY2tlZCBmaWxlcyBtb2RlICclcyciCi1tc2dzdHIgIkNo4bq/IMSR4buZIGNobyBjw6FjIHThuq1wIHRpbiBraMO0bmcgYuG7iyB0aGVvIHbhur90IGtow7RuZyBo4bujcCBs4buHIOKAnCVz4oCdIgorbXNnc3RyICJDaOG6vyDEkeG7mSBjaG8gY8OhYyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIGtow7RuZyBo4bujcCBs4buHIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTAzNAogbXNnaWQgIi0tbG9uZyBhbmQgLXogYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiaGFpIHTDuXkgY2jhu41uIC1sb25nIHbDoCAteiBraMO0bmcgdMawxqFuZyB0aMOtY2ggduG7m2kgbmhhdSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDM5CisjOiBidWlsdGluL2NvbW1pdC5jOjEwNjQKIG1zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJT4butIGThu6VuZyBj4bqjIGhhaSB0w7l5IGNo4buNbiAtLXJlc2V0LWF1dGhvciB2w6AgLS1hdXRob3Iga2jDtG5nIGjhu6NwIGzDvSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDUwCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNzUKIG1zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKLW1zZ3N0ciAiS2jDtG5nIGPDsyBnw6wgxJHhu4MgYW1lbmQgKHR1IGLhu5UpIGPhuqMuIgorbXNnc3RyICJLaMO0bmcgY8OzIGfDrCDEkeG7gyBtw6Ag4oCcdHUgYuG7leKAnSBj4bqjLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDUzCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNzgKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICIiCi0iQuG6oW4gxJFhbmcg4bufIGdp4buvYSBj4bunYSBxdcOhIHRyw6xuaCBow7JhIHRy4buZbiAtLSBraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiBhbWVuZCAodHUgYuG7lSkuIgorIkLhuqFuIMSRYW5nIOG7nyBnaeG7r2EgY+G7p2EgcXXDoSB0csOsbmggaMOyYSB0cuG7mW4gLS0ga2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gdmnhu4djIOKAnHR1IGLhu5XigJ0uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4MAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIGNoZXJyeS1waWNrIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIiIKLSJC4bqhbiDEkWFuZyDhu58gZ2nhu69hIGPhu6dhIHF1w6EgdHLDrG5oIGNoZXJyeS1waWNrIC0tIGtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIGFtZW5kICh0dSAiCi0iYuG7lSkuIgorIkLhuqFuIMSRYW5nIOG7nyBnaeG7r2EgY+G7p2EgcXXDoSB0csOsbmggY2hlcnJ5LXBpY2sgLS0ga2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gdmnhu4djIOKAnHR1ICIKKyJi4buV4oCdLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDU4CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODMKIG1zZ2lkICJPcHRpb25zIC0tc3F1YXNoIGFuZCAtLWZpeHVwIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICJDw6FjIHTDuXkgY2jhu41uIC0tc3F1YXNoIHbDoCAtLWZpeHVwIGtow7RuZyB0aOG7gyBz4butIGThu6VuZyBjw7luZyB24bubaSBuaGF1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5MwogbXNnaWQgIk9ubHkgb25lIG9mIC1jLy1DLy1GLy0tZml4dXAgY2FuIGJlIHVzZWQuIgotbXNnc3RyICJDaOG7iSBt4buZdCB0w7l5IGNo4buNbiB0cm9uZyBz4buRIC1jLy1DLy1GLy0tZml4dXAgxJHGsOG7o2Mgc+G7rSBk4bulbmciCittc2dzdHIgIiIKKyJDaOG7iSDEkcaw4bujYyBkw7luZyBt4buZdCB0cm9uZyBz4buRIHTDuXkgY2jhu41uIHRyb25nIHPhu5EgY8OhYyB0w7l5IGNo4buNbiAtYy8tQy8tRi8tLWZpeHVwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5NQogbXNnaWQgIk9wdGlvbiAtbSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtYy8tQy8tRi8tLWZpeHVwLiIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gLW0ga2jDtG5nIHRo4buDIMSRxrDhu6NjIHThu5UgaOG7o3AgY8O5bmcgduG7m2kgLWMvLUMvLUYvLS1maXh1cC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3OAorIzogYnVpbHRpbi9jb21taXQuYzoxMTAzCiBtc2dpZCAiLS1yZXNldC1hdXRob3IgY2FuIGJlIHVzZWQgb25seSB3aXRoIC1DLCAtYyBvciAtLWFtZW5kLiIKIG1zZ3N0ciAiIgogIi0tcmVzZXQtYXV0aG9yIGNo4buJIGPDsyB0aOG7gyDEkcaw4bujYyBz4butIGThu6VuZyB24bubaSB0w7l5IGNo4buNbiAtQywgLWMgaGF5IC0tYW1lbmQuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwOTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyMAogbXNnaWQgIk9ubHkgb25lIG9mIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiIgogIkNo4buJIG3hu5l0IHRyb25nIGPDoWMgdMO5eSBjaOG7jW4gLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggxJHGsOG7o2MgIgogInPhu60gZOG7pW5nLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDk3CisjOiBidWlsdGluL2NvbW1pdC5jOjExMjIKIG1zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIktow7RuZyDEkcaw4budbmcgZOG6q24gduG7m2kgY8OhYyB0w7l5IGNo4buNbiAtLWluY2x1ZGUvLS1vbmx5IGtow7RuZyBo4bujcCBsw70uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwOTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNAogbXNnaWQgIkNsZXZlci4uLiBhbWVuZGluZyB0aGUgbGFzdCBvbmUgd2l0aCBkaXJ0eSBpbmRleC4iCi1tc2dzdHIgIkdp4buPaS4uLiAgdHUgYuG7lSBjw6FpIGN14buRaSB24bubaSBi4bqjbmcgbeG7pWMgbOG7pWMgcGhpIG5naMSpYS4iCittc2dzdHIgIkdp4buPaS4uLiAg4oCcdHUgYuG7leKAnSBjw6FpIGN14buRaSB24bubaSBi4bqjbmcgbeG7pWMgbOG7pWMgYuG6qW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNgogbXNnaWQgIkV4cGxpY2l0IHBhdGhzIHNwZWNpZmllZCB3aXRob3V0IC1pIG5vciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgogbXNnc3RyICIiCiAiTmjhu69uZyDEkcaw4budbmcgZOG6q24gcsO1IHLDoG5nIMSRxrDhu6NjIGNo4buJIHJhIGtow7RuZyBjw7MgdMO5eSBjaOG7jW4gLWkgY8Wpbmcga2jDtG5nIC1vOyDEkWFuZyAiCiAiZ2nhuqMgxJHhu4tuaCAtLW9ubHkgbmjhu69uZy3Ekcaw4budbmctZOG6q24uLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExMSBidWlsdGluL3RhZy5jOjU3NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTM2IGJ1aWx0aW4vdGFnLmM6NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgogbXNnc3RyICJDaOG6vyDEkeG7mSBk4buNbiBk4bq5cCBraMO0bmcgaOG7o3AgbOG7hyAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTE2CisjOiBidWlsdGluL2NvbW1pdC5jOjExNDEKIG1zZ2lkICJQYXRocyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICJDw6FjIMSRxrDhu51uZyBk4bqrbiB24bubaSB0w7l5IGNo4buNbiAtYSBraMO0bmcgaOG7o3AgbMO9LiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjIyIGJ1aWx0aW4vY29tbWl0LmM6MTQ1NQorIzogYnVpbHRpbi9jb21taXQuYzoxMjUxIGJ1aWx0aW4vY29tbWl0LmM6MTQ4MgogbXNnaWQgInNob3cgc3RhdHVzIGNvbmNpc2VseSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHRy4bqhbmcgdGjDoWkg4bufIGThuqFuZyBzw7pjIHTDrWNoIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjQgYnVpbHRpbi9jb21taXQuYzoxNDU3CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTMgYnVpbHRpbi9jb21taXQuYzoxNDg0CiBtc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgImhp4buDbiB0aOG7iyB0aMO0bmcgdGluIG5ow6FuaCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjI2IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OSBidWlsdGluL3B1c2guYzo0NTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1NSBidWlsdGluL2NvbW1pdC5jOjE0ODYgYnVpbHRpbi9wdXNoLmM6NTA3CiBtc2dpZCAibWFjaGluZS1yZWFkYWJsZSBvdXRwdXQiCiBtc2dzdHIgImvhur90IHh14bqldCBk4bqhbmcgbcOheS1jw7MtdGjhu4MtxJHhu41jIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjkgYnVpbHRpbi9jb21taXQuYzoxNDYxCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTggYnVpbHRpbi9jb21taXQuYzoxNDg4CiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICJoaeG7g24gdGjhu4sgdHLhuqFuZyB0aMOhaSDhu58gxJHhu4tuaCBk4bqhbmcgZMOgaSAobeG6t2MgxJHhu4tuaCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIzMiBidWlsdGluL2NvbW1pdC5jOjE0NjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2MSBidWlsdGluL2NvbW1pdC5jOjE0OTEKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKIG1zZ3N0ciAiY2jhuqVtIGThu6l0IGPDoWMgbeG7pWMgYuG6sW5nIE5VTCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjM0IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjY3Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjcwIGJ1aWx0aW4vdGFnLmM6NDU5CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjMgYnVpbHRpbi9jb21taXQuYzoxNDk0IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzQKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzcgYnVpbHRpbi90YWcuYzo0NTkKIG1zZ2lkICJtb2RlIgogbXNnc3RyICJjaOG6vyDEkeG7mSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjM1IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NworIzogYnVpbHRpbi9jb21taXQuYzoxMjY0IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAogbXNnaWQgInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAiIgogImhp4buDbiB0aOG7iyBjw6FjIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkgIGThuqV1IHbhur90LCBjw6FjIGNo4bq/IMSR4buZIHTDuXkgY2jhu41uOiAgYWxsLCAiCiAibm9ybWFsLCBuby4gKE3hurdjIMSR4buLbmg6IGFsbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIzOAorIzogYnVpbHRpbi9jb21taXQuYzoxMjY3CiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4g4bqpbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjM5IHBhcnNlLW9wdGlvbnMuaDoxNTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2OCBwYXJzZS1vcHRpb25zLmg6MTU2CiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAia2hpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyNDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2OQogbXNnaWQgIiIKICJpZ25vcmUgY2hhbmdlcyB0byBzdWJtb2R1bGVzLCBvcHRpb25hbCB3aGVuOiBhbGwsIGRpcnR5LCB1bnRyYWNrZWQuICIKICIoRGVmYXVsdDogYWxsKSIKQEAgLTQzMDMsMjIzICs0NTI0LDIyMSBAQAogImLhu48gcXVhIGPDoWMgdGhheSDEkeG7lWkgdHJvbmcgbcO0LcSRdW4tY29uLCB0w7l5IGNo4buNbiBraGk6IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihN4bq3YyDEkeG7i25oOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyNDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI3MQogbXNnaWQgImxpc3QgdW50cmFja2VkIGZpbGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBkYW5oIHPDoWNoIGPDoWMgdOG6rXAtdGluIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSB0cm9uZyBjw6FjIGPhu5l0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MAogbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCi1tc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIHRo4bqleSBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIG3hu5tpIGjGoW4gxJHDoyDEkcaw4bujYyB04bqhbyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHTDrG0gdGjhuqV5IGzhuqduIGNodXnhu4NuIGdpYW8gbeG7m2kgaMahbiDEkcOjIMSRxrDhu6NjIHThuqFvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MgogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjw7ogcGjDoXAgY+G7p2EgxJHhu5FpIHTGsOG7o25nIGNodXnhu4NuIGdpYW8gbeG7m2kgaMahbiDEkcOjIMSRxrDhu6NjIHThuqFvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4MwogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIsSRw6MgcuG7nWkga2jhu49pIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OAorIzogYnVpbHRpbi9jb21taXQuYzoxMzg1CiBtc2dpZCAiIChyb290LWNvbW1pdCkiCiBtc2dzdHIgIiAocm9vdC1jb21taXQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MgogbXNnaWQgInN1cHByZXNzIHN1bW1hcnkgYWZ0ZXIgc3VjY2Vzc2Z1bCBjb21taXQiCiBtc2dzdHIgImtow7RuZyBoaeG7g24gdGjhu4sgdOG7lW5nIGvhur90IHNhdSBraGkgY2h1eeG7g24gZ2lhbyB0aMOgbmggY8O0bmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQyNgorIzogYnVpbHRpbi9jb21taXQuYzoxNDUzCiBtc2dpZCAic2hvdyBkaWZmIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICJoaeG7g24gdGjhu4sgc+G7sSBraMOhYyBiaeG7h3QgdHJvbmcgbeG6q3UgdGluIG5o4bqvbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NQogbXNnaWQgIkNvbW1pdCBtZXNzYWdlIG9wdGlvbnMiCiBtc2dzdHIgIkPDoWMgdMO5eSBjaOG7jW4gZ2hpIGNow7ogY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjkgYnVpbHRpbi90YWcuYzo0NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NiBidWlsdGluL3RhZy5jOjQ1NwogbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCiBtc2dzdHIgIsSR4buNYyBjaMO6IHRow61jaCB04burIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTcKIG1zZ2lkICJhdXRob3IiCiBtc2dzdHIgInTDoWMgZ2nhuqMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMAorIzogYnVpbHRpbi9jb21taXQuYzoxNDU3CiBtc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCiBtc2dzdHIgImdoaSDEkcOoIHTDoWMgZ2nhuqMgY2hvIGNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMxIGJ1aWx0aW4vZ2MuYzoxNzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OCBidWlsdGluL2djLmM6MjYxCiBtc2dpZCAiZGF0ZSIKIG1zZ3N0ciAibmfDoHkgdGjDoW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OAogbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKLW1zZ3N0ciAiZ2hpIMSRw6ggbmfDoHkgdGjDoW5nIGNobyBjb21taXQiCittc2dzdHIgImdoaSDEkcOoIG5nw6B5IHRow6FuZyBjaG8gbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMyIGJ1aWx0aW4vbWVyZ2UuYzoyMjMgYnVpbHRpbi9ub3Rlcy5jOjQwNQorIzogYnVpbHRpbi9jb21taXQuYzoxNDU5IGJ1aWx0aW4vbWVyZ2UuYzoyMTYgYnVpbHRpbi9ub3Rlcy5jOjQwNQogIzogYnVpbHRpbi9ub3Rlcy5jOjU2MiBidWlsdGluL3RhZy5jOjQ1NQogbXNnaWQgIm1lc3NhZ2UiCi1tc2dzdHIgInRow7RuZyDEkWnhu4dwIgorbXNnc3RyICJjaMO6IHRow61jaCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMyCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTkKIG1zZ2lkICJjb21taXQgbWVzc2FnZSIKLW1zZ3N0ciAiY2jDuiB0aMOtY2ggY+G7p2EgbOG6p24gY29tbWl0IgorbXNnc3RyICJjaMO6IHRow61jaCBj4bunYSBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MAogbXNnaWQgInJldXNlIGFuZCBlZGl0IG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgotbXNnc3RyICIiCi0iZMO5bmcgbOG6oWkgY8OhYyBnaGkgY2jDuiB04burIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgxJHDoyBjaG8gbmjGsG5nIGPDsyBjaG8gc+G7rWEgY2jhu69hIgorbXNnc3RyICJkw7luZyBs4bqhaSBjw6FjIGdoaSBjaMO6IHThu6sgbOG6p24gY2h1eeG7g24gZ2lhbyDEkcOjIGNobyBuaMawbmcgY8OzIGNobyBz4butYSBjaOG7r2EiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNAorIzogYnVpbHRpbi9jb21taXQuYzoxNDYxCiBtc2dpZCAicmV1c2UgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCi1tc2dzdHIgImTDuW5nIGzhuqFpIGPDoWMgZ2hpIGNow7ogdOG7qyBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIMSRw6MgY2hvIgorbXNnc3RyICJkw7luZyBs4bqhaSBjw6FjIGdoaSBjaMO6IHThu6sgbOG6p24gY2h1eeG7g24gZ2lhbyDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjIKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAiZMO5bmcgZ2hpIGNow7ogY8OzIMSR4buLbmggZOG6oW5nIGF1dG9zcXVhc2ggxJHhu4Mgc+G7rWEgY2jhu69hIGzhuqduIGNodXnhu4NuIGdpYW8gxJHDoyBjaOG7iSByYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM2CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjMKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogImTDuW5nIGzhu51pIG5o4bqvbiBjw7MgxJHhu4tuaCBk4bqhbmcgdOG7sSDEkeG7mW5nIG7DqW4gxJHhu4MgbsOpbiBs4bqhaSBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gxJHDoyBjaOG7iSAiCiAicmEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNworIzogYnVpbHRpbi9jb21taXQuYzoxNDY0CiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAiIgogImzhuqduIGNodXnhu4NuIGdpYW8gbmjhuq1uIHTDtGkgbMOgIHTDoWMgZ2nhuqMgKMSRxrDhu6NjIGTDuW5nIHbhu5tpIHTDuXkgY2jhu41uIC1DLy1jLy0tYW1lbmQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzggYnVpbHRpbi9sb2cuYzoxMTYwIGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjUgYnVpbHRpbi9sb2cuYzoxMTgwIGJ1aWx0aW4vcmV2ZXJ0LmM6ODYKIG1zZ2lkICJhZGQgU2lnbmVkLW9mZi1ieToiCi1tc2dzdHIgInRow6ptIGTDsm5nIFNpZ25lZC1vZmYtYnk6IgorbXNnc3RyICIobsOqbiBkw7luZykgdGjDqm0gZMOybmcgU2lnbmVkLW9mZi1ieToiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzOQorIzogYnVpbHRpbi9jb21taXQuYzoxNDY2CiBtc2dpZCAidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIgogbXNnc3RyICJz4butIGThu6VuZyB04bqtcCB0aW4gbeG6q3UgxJHDoyBjaG8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDY3CiBtc2dpZCAiZm9yY2UgZWRpdCBvZiBjb21taXQiCiBtc2dzdHIgIsOpcCBideG7mWMgc+G7rWEgbOG6p24gY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OAogbXNnaWQgImRlZmF1bHQiCiBtc2dzdHIgIm3hurdjIMSR4buLbmgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MSBidWlsdGluL3RhZy5jOjQ2MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDY4IGJ1aWx0aW4vdGFnLmM6NDYwCiBtc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKIG1zZ3N0ciAibMOgbSB0aOG6vyBuw6BvIMSR4buDIGPhuq90IGLhu48ga2hv4bqjbmcgdHLhuq9uZyB2w6AgI2doaWNow7ogdOG7qyBt4bqpdSB0aW4gbmjhuq9uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OQogbXNnaWQgImluY2x1ZGUgc3RhdHVzIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgotbXNnc3RyICJiYW8gZ+G7k20gY8OhYyB0cuG6oW5nIHRow6FpIGdoaSBt4bqrdSBnaGkgY2jDuiBjaHV54buDbiBnaWFvIChjb21taXQpIgorbXNnc3RyICJiYW8gZ+G7k20gY8OhYyB0cuG6oW5nIHRow6FpIHRyb25nIG3huqt1IGdoaSBjaMO6IGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MyBidWlsdGluL21lcmdlLmM6MjMwIGJ1aWx0aW4vdGFnLmM6NDYxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzAgYnVpbHRpbi9tZXJnZS5jOjIyMyBidWlsdGluL3RhZy5jOjQ2MQogbXNnaWQgImtleSBpZCIKLW1zZ3N0ciAiaWQga2jDs2EiCittc2dzdHIgImlkIGPhu6dhIGtow7NhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDQgYnVpbHRpbi9tZXJnZS5jOjIzMQorIzogYnVpbHRpbi9jb21taXQuYzoxNDcxIGJ1aWx0aW4vbWVyZ2UuYzoyMjQKIG1zZ2lkICJHUEcgc2lnbiBjb21taXQiCi1tc2dzdHIgImvDvSBs4bqnbiBjb21taXQgZMO5bmcgR1BHIgorbXNnc3RyICJrw70gbOG6p24gY2h1eeG7g24gZ2lhbyBkw7luZyBHUEciCiAKICMuIGVuZCBjb21taXQgbWVzc2FnZSBvcHRpb25zCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NAogbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgogbXNnc3RyICJDw6FjIHTDuXkgbuG7mWkgZHVuZyBnaGkgY2jDuiBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0OAorIzogYnVpbHRpbi9jb21taXQuYzoxNDc1CiBtc2dpZCAiY29tbWl0IGFsbCBjaGFuZ2VkIGZpbGVzIgogbXNnc3RyICJjaHV54buDbiBnaWFvIHThuqV0IGPhuqMgY8OhYyB04bqtcCB0aW4gY8OzIHRoYXkgxJHhu5VpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NgogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKLW1zZ3N0ciAidGjDqm0gY8OhYyB04bqtcCB0aW4gxJHDoyBjaOG7iSByYSB2w6BvIGLhuqNuZyBt4bulYyBs4bulYyDEkeG7gyBjaHV54buDbiBnaWFvIChjb21taXQpIgorbXNnc3RyICJ0aMOqbSBjw6FjIHThuq1wIHRpbiDEkcOjIGNo4buJIHJhIHbDoG8gYuG6o25nIG3hu6VjIGzhu6VjIMSR4buDIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDc3CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCiBtc2dzdHIgInRow6ptIGPDoWMgdOG6rXAtdGluIGLhurFuZyB0xrDGoW5nIHTDoWMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDc4CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAidGjDqm0gY8OhYyB0aGF5IMSR4buVaSBi4bqxbmcgdMawxqFuZyB0w6FjIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OQogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAiY2jhu4kgY2h1eeG7g24gZ2lhbyBjw6FjIHThuq1wIHRpbiDEkcOjIGNo4buJIHJhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MAogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGhvb2siCiBtc2dzdHIgInbDsm5nIHF1YSBtw7NjIChob29rKSBwcmUtY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MQogbXNnaWQgInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyB4ZW0gY8OhaSBnw6wgY8OzIHRo4buDIMSRxrDhu6NjIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNDkyCiBtc2dpZCAiYW1lbmQgcHJldmlvdXMgY29tbWl0IgotbXNnc3RyICJ0dSBi4buVIChhbWVuZCkgbOG6p24gY29tbWl0IHRyxrDhu5tjIgorbXNnc3RyICLigJx0dSBi4buV4oCdIChhbWVuZCkgbOG6p24gY29tbWl0IHRyxrDhu5tjIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MwogbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKIG1zZ3N0ciAidsOybmcgcXVhIG3Ds2MgKGhvb2spIHBvc3QtcmV3cml0ZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTgKIG1zZ2lkICJvayB0byByZWNvcmQgYW4gZW1wdHkgY2hhbmdlIgogbXNnc3RyICJvayDEkeG7gyBnaGkgbOG6oWkgbeG7mXQgdGhheSDEkeG7lWkgdHLhu5FuZyBy4buXbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTAwCiBtc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAib2sgxJHhu4MgZ2hpIGPDoWMgdGhheSDEkeG7lWkgduG7m2kgbOG7nWkgbmjhuq9uIHRy4buRbmcgcuG7l25nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUyOQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGNvbW1pdCAobOG6p24gY2h1eeG7g24gZ2lhbykgSEVBRCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTQ1IGJ1aWx0aW4vbWVyZ2UuYzo1MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU2NyBidWlsdGluL21lcmdlLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIOKAnCVz4oCdIMSR4buDIMSR4buNYyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTUyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAiVOG6rXAgdGluIE1FUkdFX0hFQUQgc2FpIGjhu49uZyAoJXMpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MQogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgTUVSR0VfTU9ERSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTc4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgotbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIHRow7RuZyDEkWnhu4dwIChtZXNzYWdlKSBjb21taXQgKGzhuqduIGNodXnhu4NuIGdpYW8pOiAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBwaOG6p24gY2jDuiB0aMOtY2ggKG1lc3NhZ2UpIGNvbW1pdCAobOG6p24gY2h1eeG7g24gZ2lhbyk6ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCiBtc2dzdHIgIiIKLSLEkGFuZyBi4buPIHF1YSB2aeG7h2MgY2h1eeG7g24gZ2lhbyAoY29tbWl0KTsgYuG6oW4gxJHDoyBraMO0bmcgYmnDqm4gc2/huqFuIHRow7RuZyDEkWnhu4dwICIKKyLEkGFuZyBi4buPIHF1YSB2aeG7h2MgY2h1eeG7g24gZ2lhbzsgYuG6oW4gxJHDoyBraMO0bmcgYmnDqm4gc2/huqFuIHBo4bqnbiBjaMO6IHRow61jaCAiCiAiKG1lc3NhZ2UpLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgotbXNnc3RyICIiCi0ixJBhbmcgYuG7jyBxdWEgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBi4bufaSB2w6wgdGjDtG5nIMSRaeG7h3AgY+G7p2EgbsOzIHRy4buRbmcgcuG7l25nLlxuIgorbXNnc3RyICJCw6NpIGLhu48gdmnhu4djIGNodXnhu4NuIGdpYW8gYuG7n2kgdsOsIHBo4bqnbiBjaMO6IHRow61jaCBj4bunYSBuw7MgdHLhu5FuZyBy4buXbmcuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMiBidWlsdGluL21lcmdlLmM6ODYxIGJ1aWx0aW4vbWVyZ2UuYzo4ODYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMSBidWlsdGluL21lcmdlLmM6ODU0IGJ1aWx0aW4vbWVyZ2UuYzo4NzkKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKLW1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGdoaSDEkeG7kWkgdMaw4bujbmcgY2h1eeG7g24gZ2lhbyAoY29tbWl0KSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGdoaSDEkeG7kWkgdMaw4bujbmcgY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjMzCisjOiBidWlsdGluL2NvbW1pdC5jOjE2NTIKIG1zZ2lkICJjYW5ub3QgbG9jayBIRUFEIHJlZiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGtow7NhIEhFQUQgcmVmICh0aGFtIGNoaeG6v3UpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY1NgogbXNnaWQgImNhbm5vdCB1cGRhdGUgSEVBRCByZWYiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgcmVmICh0aGFtIGNoaeG6v3UpIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY0OAorIzogYnVpbHRpbi9jb21taXQuYzoxNjY3CiBtc2dpZCAiIgogIlJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgb3IgcXVvdGEgaXNcbiIKQEAgLTQ1MjcsMTMwICs0NzQ2LDEzNCBAQAogbXNnc3RyICIiCiAiS2hvIGNo4bupYSDEkcOjIGhvw6BuIHThuqV0IHZp4buHYyBj4bqtcCBuaOG6rXQsIG5oxrBuZyBraMO0bmcgdGjhu4MgZ2hpIHbDoG9cbiIKICJ04bqtcCB0aW4gbmV3X2luZGV4IChi4bqjbmcgbeG7pWMgbOG7pWMgbeG7m2kpLiBIw6N5IGtp4buDbSB0cmEgeGVtIMSRxKlhIGPDsyBi4buLIMSR4bqneSBxdcOhXG4iCi0iaGF5IHF1b3RhICho4bqhbiBuZ2jhuqFjaCDEkcSpYSBj4bupbmcpIGLhu4sgdsaw4bujdCBxdcOhLCB2w6Agc2F1IMSRw7MgXCJnaXQgcmVzZXQgSEVBRFwiIMSR4buDICIKLSJraOG6r2MgcGjhu6VjLiIKKyJoYXkgcXVvdGEgKGjhuqFuIG5naOG6oWNoKSBi4buLIHbGsOG7o3QgcXXDoSwgdsOgIHNhdSDEkcOzIFwiZ2l0IHJlc2V0IEhFQURcIiDEkeG7gyBraOG6r2MgIgorInBo4bulYy4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NworIzogYnVpbHRpbi9jb25maWcuYzo4CiBtc2dpZCAiZ2l0IGNvbmZpZyBbb3B0aW9uc10iCiBtc2dzdHIgImdpdCBjb25maWcgW2PDoWMtdMO5eS1jaOG7jW5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjUyCisjOiBidWlsdGluL2NvbmZpZy5jOjU0CiBtc2dpZCAiQ29uZmlnIGZpbGUgbG9jYXRpb24iCiBtc2dzdHIgIlbhu4sgdHLDrSB04bqtcCB0aW4gY+G6pXUgaMOsbmgiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTUKIG1zZ2lkICJ1c2UgZ2xvYmFsIGNvbmZpZyBmaWxlIgotbXNnc3RyICLEkeG6t3QgdOG6rXAgdGluIGPhuqV1IGjDrG5oIGPhuqduIHRvw6BuIGPhu6VjIgorbXNnc3RyICJkw7luZyB04bqtcCB0aW4gY+G6pXUgaMOsbmggdG/DoG4gY+G7pWMiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKIG1zZ2lkICJ1c2Ugc3lzdGVtIGNvbmZpZyBmaWxlIgogbXNnc3RyICJz4butIGThu6VuZyB04bqtcCB0aW4gY+G6pXUgaMOsbmggaOG7hyB0aOG7kW5nIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU1CisjOiBidWlsdGluL2NvbmZpZy5jOjU3CiBtc2dpZCAidXNlIHJlcG9zaXRvcnkgY29uZmlnIGZpbGUiCiBtc2dzdHIgImTDuW5nIHThuq1wIHRpbiBj4bqldSBow6xuaCBj4bunYSBraG8iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKIG1zZ2lkICJ1c2UgZ2l2ZW4gY29uZmlnIGZpbGUiCiBtc2dzdHIgInPhu60gZOG7pW5nIHThuq1wIHRpbiBj4bqldSBow6xuaCDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgImJsb2ItaWQiCiBtc2dzdHIgImJsb2ItaWQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKIG1zZ2lkICJyZWFkIGNvbmZpZyBmcm9tIGdpdmVuIGJsb2Igb2JqZWN0IgogbXNnc3RyICLEkeG7jWMgY+G6pXUgaMOsbmggdOG7qyDEkeG7kWkgdMaw4bujbmcgYmxvYiDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OAorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgIkFjdGlvbiIKIG1zZ3N0ciAiSMOgbmggxJHhu5luZyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OQorIzogYnVpbHRpbi9jb25maWcuYzo2MQogbXNnaWQgImdldCB2YWx1ZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJs4bqleSBnacOhLXRy4buLOiB0w6puIFt2YWx1ZS1yZWdleF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKIG1zZ2lkICJnZXQgYWxsIHZhbHVlczoga2V5IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImzhuqV5IHThuqV0IGPhuqMgZ2nDoS10cuG7izoga2jDs2EgW3ZhbHVlLXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9jb25maWcuYzo2MwogbXNnaWQgImdldCB2YWx1ZXMgZm9yIHJlZ2V4cDogbmFtZS1yZWdleCBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJs4bqleSBnacOhIHRy4buLIGNobyByZWdleHA6IG5hbWUtcmVnZXggW3ZhbHVlLXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MgorIzogYnVpbHRpbi9jb25maWcuYzo2NAorbXNnaWQgImdldCB2YWx1ZSBzcGVjaWZpYyBmb3IgdGhlIFVSTDogc2VjdGlvblsudmFyXSBVUkwiCittc2dzdHIgImzhuqV5IMSR4bq3YyB04bqjIGdpw6EgdHLhu4sgY2hvIFVSTDogcGjhuqduWy5iaeG6v25dIFVSTCIKKworIzogYnVpbHRpbi9jb25maWcuYzo2NQogbXNnaWQgInJlcGxhY2UgYWxsIG1hdGNoaW5nIHZhcmlhYmxlczogbmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgogbXNnc3RyICJ0aGF5IHRo4bq/IHThuqV0IGPhuqMgY8OhYyBiaeG6v24ga2jhu5twIG3huqt1OiB0w6puIGdpw6EtdHLhu4sgW3ZhbHVlX3JlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MworIzogYnVpbHRpbi9jb25maWcuYzo2NgogbXNnaWQgImFkZCBhIG5ldyB2YXJpYWJsZTogbmFtZSB2YWx1ZSIKIG1zZ3N0ciAidGjDqm0gYmnhur9uIG3hu5tpOiB0w6puIGdpw6EtdHLhu4siCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKIG1zZ2lkICJyZW1vdmUgYSB2YXJpYWJsZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJn4buhIGLhu48gYmnhur9uOiB0w6puIFt2YWx1ZS1yZWdleF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjgKIG1zZ2lkICJyZW1vdmUgYWxsIG1hdGNoZXM6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiZ+G7oSBi4buPIG3hu41pIGPDoWkga2jhu5twOiB0w6puIFt2YWx1ZS1yZWdleF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjkKIG1zZ2lkICJyZW5hbWUgc2VjdGlvbjogb2xkLW5hbWUgbmV3LW5hbWUiCi1tc2dzdHIgIsSR4buVaSB0w6puIGNoxrDGoW5nOiB0w6puLWPFqSB0w6puLW3hu5tpIgorbXNnc3RyICLEkeG7lWkgdMOqbiBwaOG6p246IHTDqm4tY8WpIHTDqm4tbeG7m2kiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKIG1zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgotbXNnc3RyICJn4buhIGLhu48gY2jGsMahbmc6IHTDqm4iCittc2dzdHIgImfhu6EgYuG7jyBwaOG6p246IHTDqm4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKIG1zZ2lkICJsaXN0IGFsbCIKIG1zZ3N0ciAibGnhu4d0IGvDqiB04bqldCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OQorIzogYnVpbHRpbi9jb25maWcuYzo3MgogbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgogbXNnc3RyICJt4bufIG3hu5l0IHRyw6xuaCBiacOqbiBzb+G6oW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzAgYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3MyBidWlsdGluL2NvbmZpZy5jOjc0CiBtc2dpZCAic2xvdCIKIG1zZ3N0ciAia2hlIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwCisjOiBidWlsdGluL2NvbmZpZy5jOjczCiBtc2dpZCAiZmluZCB0aGUgY29sb3IgY29uZmlndXJlZDogW2RlZmF1bHRdIgogbXNnc3RyICJ0w6xtIGPhuqV1IGjDrG5oIG3DoHUgc+G6r2M6IFtt4bq3YyDEkeG7i25oXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3NAogbXNnaWQgImZpbmQgdGhlIGNvbG9yIHNldHRpbmc6IFtzdGRvdXQtaXMtdHR5XSIKIG1zZ3N0ciAidMOsbSBjw6FjIGPDoGkgxJHhurd0IHbhu4EgbcOgdSBz4bqvYzogW3N0ZG91dC1sw6AtdHR5XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MgorIzogYnVpbHRpbi9jb25maWcuYzo3NQogbXNnaWQgIlR5cGUiCiBtc2dzdHIgIktp4buDdSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MworIzogYnVpbHRpbi9jb25maWcuYzo3NgogbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKIG1zZ3N0ciAiZ2nDoSB0cuG7iyBsw6AgXCJ0cnVlXCIgaG/hurdjIFwiZmFsc2VcIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NAorIzogYnVpbHRpbi9jb25maWcuYzo3NwogbXNnaWQgInZhbHVlIGlzIGRlY2ltYWwgbnVtYmVyIgogbXNnc3RyICJnacOhIHRy4buLIOG7nyBk4bqhbmcgc+G7kSB0aOG6rXAgcGjDom4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKIG1zZ2lkICJ2YWx1ZSBpcyAtLWJvb2wgb3IgLS1pbnQiCiBtc2dzdHIgImdpw6EgdHLhu4sgbMOgIC0tYm9vbCBob+G6t2MgLS1pbnQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKIG1zZ2lkICJ2YWx1ZSBpcyBhIHBhdGggKGZpbGUgb3IgZGlyZWN0b3J5IG5hbWUpIgogbXNnc3RyICJnacOhIHRy4buLIGzDoCDEkcaw4budbmcgZOG6q24gKHTDqm4gdOG6rXAgdGluIGhheSB0aMawIG3hu6VjKSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NworIzogYnVpbHRpbi9jb25maWcuYzo4MAogbXNnaWQgIk90aGVyIgogbXNnc3RyICJLaMOhYyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OAorIzogYnVpbHRpbi9jb25maWcuYzo4MQogbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAiY2jhuqVtIGThu6l0IGdpw6EgdHLhu4sgduG7m2kgYnl0ZSBOVUwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODIKIG1zZ2lkICJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiCiBtc2dzdHIgInTDtG4gdHLhu41uZyBr4buDIGPDoCBjw6FjIGjGsOG7m25nIHRyb25nIHTDrG0ga2nhur9tIgogCkBAIC00NjYzLDggKzQ4ODYsOCBAQAogbXNnc3RyICJoaeG7g24gdGjhu4sga8OtY2ggY+G7oSB0aGVvIMSR4buLbmggZOG6oW5nIGTDoG5oIGNobyBuZ8aw4budaSDEkeG7jWMiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxNgotbXNnaWQgImdpdCBkZXNjcmliZSBbb3B0aW9uc10gPGNvbW1pdHRpc2g+KiIKLW1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFtjw6FjLXTDuXktY2jhu41uXSA8Y29tbWl0dGlzaD4qIgorbXNnaWQgImdpdCBkZXNjcmliZSBbb3B0aW9uc10gPGNvbW1pdC1pc2g+KiIKK21zZ3N0ciAiZ2l0IGRlc2NyaWJlIFtjw6FjLXTDuXktY2jhu41uXSA8Y29tbWl0LWlzaD4qIgogCiAjOiBidWlsdGluL2Rlc2NyaWJlLmM6MTcKIG1zZ2lkICJnaXQgZGVzY3JpYmUgW29wdGlvbnNdIC0tZGlydHkiCkBAIC00NzMxLDcgKzQ5NTQsNyBAQAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmF2ZXJzZWQgJWx1IGNvbW1pdHNcbiIKLW1zZ3N0ciAixJHDoyB4dXnDqm4gJWx1IHF1YSBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpXG4iCittc2dzdHIgIsSRw6MgeHV5w6puICVsdSBxdWEgbOG6p24gY2h1eeG7g24gZ2lhb1xuIgogCiAjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzg3CiAjLCBjLWZvcm1hdApAQCAtNDc0OCw3ICs0OTcxLDcgQEAKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMAogbXNnaWQgImRlYnVnIHNlYXJjaCBzdHJhdGVneSBvbiBzdGRlcnIiCi1tc2dzdHIgImNoaeG6v24gbMaw4bujYyB0w6xtIGtp4bq/bSB0csOqbiDEkeG6p3UgcmEgbOG7l2kgY2h14bqpbiBzdGRlcnIiCittc2dzdHIgImNoaeG6v24gbMaw4bujYyB0w6xtIGtp4bq/bSBn4buhIGzhu5dpIHRyw6puIMSR4bqndSByYSBs4buXaSBjaHXhuqluIHN0ZGVyciIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMQogbXNnaWQgInVzZSBhbnkgcmVmIgpAQCAtNDc3Niw5ICs0OTk5LDkgQEAKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjQyMQogbXNnaWQgIm9ubHkgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCi1tc2dzdHIgImNo4buJIGPDom4gbmjhuq9jIMSR4bq/biBuaOG7r25nIHRo4bq7IGto4bubcCB24bubaSAgPG3huqt1PiIKK21zZ3N0ciAiY2jhu4kgY8OibiBuaOG6r2MgxJHhur9uIG5o4buvbmcgdGjhursga2jhu5twIHbhu5tpIDxt4bqrdT4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MjMgYnVpbHRpbi9uYW1lLXJldi5jOjMyMgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQyMyBidWlsdGluL25hbWUtcmV2LmM6MzIxCiBtc2dpZCAic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIgogbXNnc3RyICJoaeG7g24gdGjhu4sgxJHhu5FpIHTGsOG7o25nIGNodXnhu4NuIGdpYW8gduG6r24gdOG6r3QgbmjGsCBsw6AgZmFsbGJhY2siCiAKQEAgLTQ3OTksMzQgKzUwMjIsMzQgQEAKIG1zZ3N0ciAiS2jDtG5nIHTDrG0gdGjhuqV5IGPDoWMgdMOqbiwga2jDtG5nIHRo4buDIG3DtCB04bqjIGfDrCBj4bqjLiIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ4OQotbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0dGlzaGVzIgotbXNnc3RyICItLWRpcnR5IGzDoCB4dW5nIGto4bqvYyB24bubaSBjw6FjIHTDuXkgY2jhu41uIGTDoG5oIGNobyBjaHV54buDbiBnaWFvIChjb21taXQpIgorbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgorbXNnc3RyICItLWRpcnR5IGzDoCB4dW5nIGto4bqvYyB24bubaSBjw6FjIHTDuXkgY2jhu41uIGNvbW1pdC1pc2giCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjc5CisjOiBidWlsdGluL2RpZmYuYzo4NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKLW1zZ3N0ciAi4oCcJXPigJ06IGtow7RuZyBwaOG6o2kgdOG6rXAgdGluIGLDrG5oIHRoxrDhu51uZyBoYXkgbGnDqm4ga+G6v3QgdMaw4bujbmcgdHLGsG5nIgorbXNnc3RyICLigJwlc+KAnToga2jDtG5nIHBo4bqjaSB04bqtcCB0aW4gYsOsbmggdGjGsOG7nW5nIGhheSBsacOqbiBr4bq/dCBt4buBbSIKIAotIzogYnVpbHRpbi9kaWZmLmM6MjMwCisjOiBidWlsdGluL2RpZmYuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvcHRpb246ICVzIgotbXNnc3RyICJ0w7l5IGNo4buNbiBzYWk6ICVzIgorbXNnc3RyICJ0w7l5IGNo4buNbiBraMO0bmcgaOG7o3AgbOG7hzogJXMiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjMwNworIzogYnVpbHRpbi9kaWZmLmM6MzU3CiBtc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIktow7RuZyBwaOG6o2kgbMOgIGtobyBnaXQiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM1MAorIzogYnVpbHRpbi9kaWZmLmM6NDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICLEkeG7kWkgdMaw4bujbmcgxJHDoyBjaG8g4oCcJXPigJ0ga2jDtG5nIGjhu6NwIGzhu4cuIgogCi0jOiBidWlsdGluL2RpZmYuYzozNTkKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgogbXNnc3RyICLEkcOjIGNobyBuaGnhu4F1IGjGoW4gaGFpIMSR4buRaSB0xrDhu6NuZyBibG9iOiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzY2CisjOiBidWlsdGluL2RpZmYuYzo0MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5oYW5kbGVkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAixJHDoyBjaG8gxJHhu5FpIHTGsOG7o25nIGtow7RuZyB0aOG7gyBu4bqvbSBnaeG7ryDigJwlc+KAnS4iCkBAIC00ODM1LDM5ICs1MDU4LDM5IEBACiBtc2dpZCAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1vcHRzXSIKIG1zZ3N0ciAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1vcHRzXSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY2NgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MwogbXNnaWQgInNob3cgcHJvZ3Jlc3MgYWZ0ZXIgPG4+IG9iamVjdHMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyB0aeG6v24gdHJp4buDbiBzYXUgPG4+IMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY2OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NQogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBzaWduZWQgdGFncyIKIG1zZ3N0ciAiY2jhu41uIMSRaeG7gXUga2hp4buDbiBj4bunYSB0aOG6uyDEkcOjIGvDvSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3OAogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiB0YWdzIHRoYXQgdGFnIGZpbHRlcmVkIG9iamVjdHMiCiBtc2dzdHIgImNo4buNbiBz4buxIHjhu60gbMO9IGPhu6dhIGPDoWMgdGjhurssIGPDoWkgbcOgIMSRw6FuaCB0aOG6uyBjw6FjIMSR4buRaSB0xrDhu6NuZyDEkcaw4bujYyBs4buNYyByYSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MQogbXNnaWQgIkR1bXAgbWFya3MgdG8gdGhpcyBmaWxlIgogbXNnc3RyICLEkOG7lSBjw6FjIMSRw6FuaCBk4bqldSBuw6B5IHbDoG8gdOG6rXAtdGluIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgzCiBtc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIgogbXNnc3RyICJuaOG6rXAgdsOgbyDEkcOhbmggZOG6pXUgdOG7qyB04bqtcCB0aW4gbsOgeSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4NQogbXNnaWQgIkZha2UgYSB0YWdnZXIgd2hlbiB0YWdzIGxhY2sgb25lIgogbXNnc3RyICJMw6BtIGdp4bqjIG3hu5l0IGPDoWkgdGjhursga2hpIHRo4bq7IGLhu4sgdGhp4bq/dSBt4buZdCBjw6FpIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njg3CiBtc2dpZCAiT3V0cHV0IGZ1bGwgdHJlZSBmb3IgZWFjaCBjb21taXQiCiBtc2dzdHIgIlh14bqldCByYSB0b8OgbiBi4buZIGPDonkgY2hvIG3hu5dpIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODkKIG1zZ2lkICJVc2UgdGhlIGRvbmUgZmVhdHVyZSB0byB0ZXJtaW5hdGUgdGhlIHN0cmVhbSIKIG1zZ3N0ciAiU+G7rSBk4bulbmcgdMOtbmggbsSDbmcgZG9uZSDEkeG7gyBjaOG6pW0gZOG7qXQgbHXhu5NuZyBk4buvIGxp4buHdSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY5MAogbXNnaWQgIlNraXAgb3V0cHV0IG9mIGJsb2IgZGF0YSIKIG1zZ3N0ciAiQuG7jyBxdWEga+G6v3QgeHXhuqV0IGPhu6dhIGThu68gbGnhu4d1IGJsb2IiCiAKQEAgLTQ4ODcsMTQ2ICs1MTEwLDE1NSBAQAogbXNnaWQgImdpdCBmZXRjaCAtLWFsbCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tYWxsIFs8Y8OhYy10w7l5LWNo4buNbj5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NQogbXNnaWQgImZldGNoIGZyb20gYWxsIHJlbW90ZXMiCiBtc2dzdHIgImzhuqV5IHbhu4EgdOG7qyB04bqldCBj4bqjIGPDoWMgbcOheSBjaOG7pyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYyCisjOiBidWlsdGluL2ZldGNoLmM6NzcKIG1zZ2lkICJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciCiBtc2dzdHIgIm7hu5FpIHRow6ptIHbDoG8gLmdpdC9GRVRDSF9IRUFEIHRoYXkgdsOsIGdoaSDEkcOoIGzDqm4gbsOzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3OQogbXNnaWQgInBhdGggdG8gdXBsb2FkIHBhY2sgb24gcmVtb3RlIGVuZCIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIMSR4bq/biBnw7NpIChwYWNrKSB04bqjaSBsw6puIHRyw6puIG3DoXkgY2jhu6cgY3Xhu5FpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4MAogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgIsOpcCBideG7mWMgZ2hpIMSRw6ggbMOqbiBuaMOhbmggbuG7mWkgYuG7mSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY3CisjOiBidWlsdGluL2ZldGNoLmM6ODIKIG1zZ2lkICJmZXRjaCBmcm9tIG11bHRpcGxlIHJlbW90ZXMiCiBtc2dzdHIgImzhuqV5IHThu6sgbmhp4buBdSBtw6F5IGNo4bunIGPDuW5nIGzDumMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2OQorIzogYnVpbHRpbi9mZXRjaC5jOjg0CiBtc2dpZCAiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIKIG1zZ3N0ciAibOG6pXkgdOG6pXQgY+G6oyBjw6FjIHRo4bq7IGPDuW5nIHbhu5tpIGPDoWMgxJHhu5FpIHTGsOG7o25nIGxpw6puIHF1YW4gxJHhur9uIG7DsyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcxCisjOiBidWlsdGluL2ZldGNoLmM6ODYKIG1zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCiBtc2dzdHIgImtow7RuZyBs4bqleSB04bqldCBj4bqjIGPDoWMgdGjhursgKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MworIzogYnVpbHRpbi9mZXRjaC5jOjg4CiBtc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCiBtc2dzdHIgIiIKICJj4bqvdCBj4buldCAocHJ1bmUpIGPDoWMgbmjDoW5oIOKAnHJlbW90ZS10cmFja2luZ+KAnSBraMO0bmcgY8OybiB04buTbiB04bqhaSB0csOqbiBtw6F5IGNo4bunICIKICJu4buvYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc0CisjOiBidWlsdGluL2ZldGNoLmM6ODkKIG1zZ2lkICJvbi1kZW1hbmQiCiBtc2dzdHIgImtoaS1j4bqnbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc1CisjOiBidWlsdGluL2ZldGNoLmM6OTAKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICLEkWnhu4F1IGtoaeG7g24gdmnhu4djIGzhuqV5IHbhu4EgxJHhu4cgcXV5IHRyb25nIGPDoWMgbcO0LcSRdW4tY29uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NAogbXNnaWQgImtlZXAgZG93bmxvYWRlZCBwYWNrIgogbXNnc3RyICJnaeG7ryBjw6FjIGfDs2kgxJHDoyB04bqjaSB24buBIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NgogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICJjaG8gcGjDqXAgY+G6rXAgbmjhuq10IHRoLmNoaeG6v3UgSEVBRCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg0CisjOiBidWlsdGluL2ZldGNoLmM6OTkKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgogbXNnc3RyICJsw6BtIHPDonUgaMahbiBs4buLY2ggc+G7rSBj4bunYSBi4bqjbiBzYW8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NgorIzogYnVpbHRpbi9mZXRjaC5jOjEwMQogbXNnaWQgImNvbnZlcnQgdG8gYSBjb21wbGV0ZSByZXBvc2l0b3J5IgogbXNnc3RyICJjaHV54buDbiDEkeG7lWkgaG/DoG4gdG/DoG4gc2FuZyBraG8gZ2l0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODggYnVpbHRpbi9sb2cuYzoxMTc3CisjOiBidWlsdGluL2ZldGNoLmM6MTAzIGJ1aWx0aW4vbG9nLmM6MTE5NwogbXNnaWQgImRpciIKIG1zZ3N0ciAidG3hu6VjIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDQKIG1zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgogbXNnc3RyICJzb+G6oW4gc+G6tW4gY8OhaSBuw6B5IGNobyBr4bq/dCB4deG6pXQgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkyCisjOiBidWlsdGluL2ZldGNoLmM6MTA3CiBtc2dpZCAiZGVmYXVsdCBtb2RlIGZvciByZWN1cnNpb24iCiBtc2dzdHIgImNo4bq/IMSR4buZIG3hurdjIMSR4buLbmggY2hvIMSR4buHIHF1aSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIyMAorIzogYnVpbHRpbi9mZXRjaC5jOjEwOQorbXNnaWQgImFjY2VwdCByZWZzIHRoYXQgdXBkYXRlIC5naXQvc2hhbGxvdyIKK21zZ3N0ciAiY2jhuqVwIG5o4bqtbiB0aGFtIGNoaeG6v3UgY+G6rXAgbmjhuq10IC5naXQvc2hhbGxvdyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjM0NwogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdMOsbSB0aOG6pXkgbcOheSBjaOG7pyBjaG8gdGhhbSBjaGnhur91IEhFQUQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyNzMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKIG1zZ3N0ciAiS2jDtG5nIHTDrG0gdGjhuqV5IMSR4buRaSB0xrDhu6NuZyAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI3OAorIzogYnVpbHRpbi9mZXRjaC5jOjQxNgogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW8SRw6MgY+G6rXAgbmjhuq10XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI5MgorIzogYnVpbHRpbi9mZXRjaC5jOjQzMAogIywgYy1mb3JtYXQKIG1zZ2lkICIhICUtKnMgJS0qcyAtPiAlcyAgKGNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoKSIKIG1zZ3N0ciAiISAlLSpzICUtKnMgLT4gJXMgIChraMO0bmcgdGjhu4MgZmV0Y2ggKGzhuqV5KSB24buBIG5ow6FuaCBoaeG7h24gaMOgbmgpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjkzIGJ1aWx0aW4vZmV0Y2guYzozNzkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0MzEgYnVpbHRpbi9mZXRjaC5jOjUxNwogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIltC4buLIHThu6sgY2jhu5FpXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMwNAorIzogYnVpbHRpbi9mZXRjaC5jOjQ0MgogbXNnaWQgIlt0YWcgdXBkYXRlXSIKIG1zZ3N0ciAiW2Phuq1wIG5o4bqtdCB0aOG6u10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMDYgYnVpbHRpbi9mZXRjaC5jOjM0MSBidWlsdGluL2ZldGNoLmM6MzU5CisjOiBidWlsdGluL2ZldGNoLmM6NDQ0IGJ1aWx0aW4vZmV0Y2guYzo0NzkgYnVpbHRpbi9mZXRjaC5jOjQ5NwogbXNnaWQgIiAgKHVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmKSIKIG1zZ3N0ciAiICAoa2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCB0aGFtIGNoaeG6v3UgKHJlZikgbuG7mWkgYuG7mSkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0NjIKIG1zZ2lkICJbbmV3IHRhZ10iCiBtc2dzdHIgIlt0aOG6uyBt4bubaV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMjcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0NjUKIG1zZ2lkICJbbmV3IGJyYW5jaF0iCiBtc2dzdHIgIltuaMOhbmggbeG7m2ldIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzMwCisjOiBidWlsdGluL2ZldGNoLmM6NDY4CiBtc2dpZCAiW25ldyByZWZdIgogbXNnc3RyICJbcmVmICh0aGFtIGNoaeG6v3UpIG3hu5tpXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM3NQorIzogYnVpbHRpbi9mZXRjaC5jOjUxMwogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10IHRoYW0gY2hp4bq/dSAocmVmKSBu4buZaSBi4buZIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mzc1CisjOiBidWlsdGluL2ZldGNoLmM6NTEzCiBtc2dpZCAiZm9yY2VkIHVwZGF0ZSIKIG1zZ3N0ciAiY8aw4buhbmcgYuG7qWMgY+G6rXAgbmjhuq10IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzgxCisjOiBidWlsdGluL2ZldGNoLmM6NTE5CiBtc2dpZCAiKG5vbi1mYXN0LWZvcndhcmQpIgogbXNnc3RyICIobm9uLWZhc3QtZm9yd2FyZCkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0MTIgYnVpbHRpbi9mZXRjaC5jOjcxOAorIzogYnVpbHRpbi9mZXRjaC5jOjU1MiBidWlsdGluL2ZldGNoLmM6Nzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlc1xuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyAlczogJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQyMQorIzogYnVpbHRpbi9mZXRjaC5jOjU2MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzXG4iCiBtc2dzdHIgIiVzIMSRw6Mga2jDtG5nIGfhu61pIHThuqV0IGPhuqMgY8OhYyDEkeG7kWkgdMaw4bujbmcgY+G6p24gdGhp4bq/dFxuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTIwCisjOiBidWlsdGluL2ZldGNoLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlamVjdCAlcyBiZWNhdXNlIHNoYWxsb3cgcm9vdHMgYXJlIG5vdCBhbGxvd2VkIHRvIGJlIHVwZGF0ZWQiCittc2dzdHIgInThu6sgY2jhu5FpICVzIGLhu59pIHbDrCBjw6FjIGfhu5FjIG7DtG5nIHRow6wga2jDtG5nIMSRxrDhu6NjIHBow6lwIGPhuq1wIG5o4bqtdCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjY2NyBidWlsdGluL2ZldGNoLmM6NzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICJU4burICUuKnNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjUzMQorIzogYnVpbHRpbi9mZXRjaC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAic29tZSBsb2NhbCByZWZzIGNvdWxkIG5vdCBiZSB1cGRhdGVkOyB0cnkgcnVubmluZ1xuIgpAQCAtNTAzNSw1NyArNTI2Nyw1NyBAQAogIm3hu5l0IHPhu5EgdGhhbSBjaGnhur91IChyZWZzKSBu4buZaSBi4buZIGtow7RuZyB0aOG7gyDEkcaw4bujYyBj4bqtcCBuaOG6rXQ7IGjDo3kgdGjhu60gY2jhuqF5XG4iCiAiIOKAnGdpdCByZW1vdGUgcHJ1bmUgJXPigJ0gxJHhu4MgYuG7jyDEkWkgbmjhu69uZyBuaMOhbmggY8WpLCBoYXkgYuG7iyB4dW5nIMSR4buZdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU4MQorIzogYnVpbHRpbi9mZXRjaC5jOjczMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMgc+G6vSB0cuG7nyB0aMOgbmgga2jDtG5nIMSR4bqndSAoa2jDtG5nIMSRxrDhu6NjIHF14bqjbiBsw70pKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU4MgorIzogYnVpbHRpbi9mZXRjaC5jOjczMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgaGFzIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyDEkcOjIHRy4bufIHRow6BuaCBraMO0bmcgxJHhuqd1IChraMO0bmcgxJHGsOG7o2MgcXXhuqNuIGzDvSkpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTg5CisjOiBidWlsdGluL2ZldGNoLmM6NzU1CiBtc2dpZCAiW2RlbGV0ZWRdIgogbXNnc3RyICJbxJHDoyB4w7NhXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU5MCBidWlsdGluL3JlbW90ZS5jOjEwNTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NTYgYnVpbHRpbi9yZW1vdGUuYzoxMDUwCiBtc2dpZCAiKG5vbmUpIgogbXNnc3RyICIoa2jDtG5nKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcwOAorIzogYnVpbHRpbi9mZXRjaC5jOjc3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBmZXRjaCBpbnRvIGN1cnJlbnQgYnJhbmNoICVzIG9mIG5vbi1iYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKICJU4burIGNo4buRaSB2aeG7h2MgbOG6pXkgKGZldGNoKSB2w6BvIHRyb25nIG5ow6FuaCBoaeG7h24gdOG6oWkgJXMgY+G7p2EgbeG7mXQga2hvIGNo4bupYSBraMO0bmcgIgogInBo4bqjaSBraG8gdHLhuqduIChiYXJlKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc0MgotIywgYy1mb3JtYXQKLW1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgotbXNnc3RyICJLaMO0bmcgYmnhur90IGzDoG0gY8OhY2ggbsOgbyDEkeG7gyBs4bqleSB24buBIHThu6sgJXMiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gXCIlc1wiIGPDsyBnacOhIHRy4buLIFwiJXNcIiBsw6Aga2jDtG5nIGjhu6NwIGzhu4cgY2hvICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODI2CisjOiBidWlsdGluL2ZldGNoLmM6Nzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgaXMgaWdub3JlZCBmb3IgJXNcbiIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gXCIlc1wiIGLhu4sgYuG7jyBxdWEgduG7m2kgJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkyOAorIzogYnVpbHRpbi9mZXRjaC5jOjg1MworIywgYy1mb3JtYXQKK21zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgorbXNnc3RyICJLaMO0bmcgYmnhur90IGzDoG0gY8OhY2ggbsOgbyDEkeG7gyBs4bqleSB24buBIHThu6sgJXMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZldGNoaW5nICVzXG4iCiBtc2dzdHIgIsSQYW5nIGzhuqV5IHbhu4EgJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkzMCBidWlsdGluL3JlbW90ZS5jOjEwMAorIzogYnVpbHRpbi9mZXRjaC5jOjEwMTcgYnVpbHRpbi9yZW1vdGUuYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmV0Y2ggJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB24buBICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTQ5CisjOiBidWlsdGluL2ZldGNoLmM6MTAzNgogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgpAQCAtNTA5MywzMiArNTMyNSwzMiBAQAogIkNoxrBhIGNo4buJIHJhIGtobyBjaOG7qWEgbcOheSBjaOG7py4gIFhpbiBow6N5IGNo4buJIMSR4buLbmggaG/hurdjIGzDoCBVUkwgaG/hurdjXG4iCiAidMOqbiBtw6F5IGNo4bunIHThu6sgY8OhaSBtw6Agbmjhu69uZyDEkWnhu4NtIHjDqXQgZHV54buHdCBt4bubaSBjw7MgdGjhu4MgxJHGsOG7o2MgZmV0Y2ggKGzhuqV5IHbhu4EpLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk2OQorIzogYnVpbHRpbi9mZXRjaC5jOjEwNTkKIG1zZ2lkICJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgdGFnIG5hbWUuIgogbXNnc3RyICJC4bqhbiBwaOG6o2kgxJHhu4tuaCByw7UgdMOqbiB0aOG6uy4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE1CisjOiBidWlsdGluL2ZldGNoLmM6MTEwNwogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICJ0w7l5IGNo4buNbiAtLWRlcHRoIHbDoCAtLXVuc2hhbGxvdyBraMO0bmcgdGjhu4Mgc+G7rSBk4bulbmcgY8O5bmcgduG7m2kgbmhhdSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTA5CiBtc2dpZCAiLS11bnNoYWxsb3cgb24gYSBjb21wbGV0ZSByZXBvc2l0b3J5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tdW5zaGFsbG93IHRyw6puIGtobyBob8OgbiBjaOG7iW5oIGzDoCBraMO0bmcgaOG7o3AgbMO9IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAzNgorIzogYnVpbHRpbi9mZXRjaC5jOjExMzIKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCB0YWtlIGEgcmVwb3NpdG9yeSBhcmd1bWVudCIKIG1zZ3N0ciAibOG7h25oIGzhuqV5IHbhu4EgXCJmZXRjaCAtLWFsbFwiIGtow7RuZyBs4bqleSDEkeG7kWkgc+G7kSBraG8gY2jhu6lhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAzOAorIzogYnVpbHRpbi9mZXRjaC5jOjExMzQKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgImzhu4duaCBs4bqleSB24buBIFwiZmV0Y2ggLS1hbGxcIiBraMO0bmcgaOG7o3AgbMO9IHbhu5tpIHJlZnNwZWNzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA0OQorIzogYnVpbHRpbi9mZXRjaC5jOjExNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKIG1zZ3N0ciAia2jDtG5nIGPDsyBuaMOzbSBtw6F5IGNo4bunIGhheSBtw6F5IGNo4bunIG5oxrAgdGjhur86ICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA1NworIzogYnVpbHRpbi9mZXRjaC5jOjExNTMKIG1zZ2lkICJGZXRjaGluZyBhIGdyb3VwIGFuZCBzcGVjaWZ5aW5nIHJlZnNwZWNzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIlZp4buHYyBs4bqleSB24buBIGPhuqMgbeG7mXQgbmjDs20gdsOgIGNo4buJIMSR4buLbmggcmVmc3BlY3Mga2jDtG5nIGjhu6NwIGzDvSIKIApAQCAtNTEyNyw5ICs1MzU5LDkgQEAKIG1zZ3N0ciAiIgogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8dGjDtG5nIMSRaeG7h3A+XSBbLS1sb2dbPTxuPl18LS1uby1sb2ddIFstLWZpbGUgPHThuq1wLXRpbj5dIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2IGJ1aWx0aW4vZ3JlcC5jOjcwMAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKLSM6IGJ1aWx0aW4vdGFnLmM6NDQ2IHBhcnNlLW9wdGlvbnMuaDoxMzMgcGFyc2Utb3B0aW9ucy5oOjI0MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NiBidWlsdGluL2dyZXAuYzo3MDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTYgYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NCBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL3RhZy5jOjQ0NiBwYXJzZS1vcHRpb25zLmg6MTM1IHBhcnNlLW9wdGlvbnMuaDoyNDIKIG1zZ2lkICJuIgogbXNnc3RyICJuIgogCkBAIC01MTUzLDExNyArNTM4NSwxMjEgQEAKIG1zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKIG1zZ3N0ciAidOG6rXAgdGluIMSR4buDIMSR4buNYyBk4buvIGxp4buHdSB04burIMSRw7MiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTc5CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwNjMKIG1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFtvcHRpb25zXSBbPHBhdHRlcm4+XSIKIG1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbY8OhYy10w7l5LWNo4buNbl0gWzxt4bqrdT5dIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5NAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDc4CiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBzaGVsbHMiCiBtc2dzdHIgInRyw61jaCBk4bqrbiDEkeG7gyBwaMO5IGjhu6NwIGNobyBo4buHIHbhu48gKHNoZWxsKSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5OTYKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTA4MAogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgcGVybCIKIG1zZ3N0ciAidHLDrWNoIGThuqtuIMSR4buDIHBow7kgaOG7o3AgY2hvIHBlcmwiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTk4CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwODIKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHB5dGhvbiIKIG1zZ3N0ciAidHLDrWNoIGThuqtuIMSR4buDIHBow7kgaOG7o3AgY2hvIHB5dGhvbiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDAwCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwODQKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHRjbCIKIG1zZ3N0ciAidHLDrWNoIGThuqtuIMSR4buDIHBow7kgaOG7o3AgY2hvIHRjbCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDAzCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwODcKIG1zZ2lkICJzaG93IG9ubHkgPG4+IG1hdGNoZWQgcmVmcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGNo4buJIDxuPiB0aGFtIGNoaeG6v3Uga2jhu5twIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTA4OCBidWlsdGluL3JlcGxhY2UuYzoxNzcKIG1zZ2lkICJmb3JtYXQiCiBtc2dzdHIgIsSR4buLbmggZOG6oW5nIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTA4OAogbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCiBtc2dzdHIgIsSR4buLbmggZOG6oW5nIHPhur0gZMO5bmcgY2hvIMSR4bqndSByYSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDA1CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwODkKIG1zZ2lkICJrZXkiCiBtc2dzdHIgImtow7NhIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDYKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTA5MAogbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKIG1zZ3N0ciAidMOqbiB0csaw4budbmcgY+G6p24gc+G6r3AgeOG6v3AiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYwOAorIzogYnVpbHRpbi9mc2NrLmM6NjA3CiBtc2dpZCAiZ2l0IGZzY2sgW29wdGlvbnNdIFs8b2JqZWN0Pi4uLl0iCiBtc2dzdHIgImdpdCBmc2NrIFtjw6FjLXTDuXktY2jhu41uXSBbPMSR4buRaS10xrDhu6NuZz4uLi5dIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTQKKyM6IGJ1aWx0aW4vZnNjay5jOjYxMwogbXNnaWQgInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgxJHhu5FpIHTGsOG7o25nIGtow7RuZyB0aOG7gyDEkeG7jWMgxJHGsOG7o2MiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYxNQorIzogYnVpbHRpbi9mc2NrLmM6NjE0CiBtc2dpZCAic2hvdyBkYW5nbGluZyBvYmplY3RzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyDEkeG7kWkgdMaw4bujbmcga2jDtG5nIMSRxrDhu6NjIHF14bqjbiBsw70iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYxNgorIzogYnVpbHRpbi9mc2NrLmM6NjE1CiBtc2dpZCAicmVwb3J0IHRhZ3MiCiBtc2dzdHIgImLDoW8gY8OhbyBjw6FjIHRo4bq7IgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTcKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNgogbXNnaWQgInJlcG9ydCByb290IG5vZGVzIgogbXNnc3RyICJiw6FvIGPDoW8gbm9kZSBn4buRYyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE4CisjOiBidWlsdGluL2ZzY2suYzo2MTcKIG1zZ2lkICJtYWtlIGluZGV4IG9iamVjdHMgaGVhZCBub2RlcyIKIG1zZ3N0ciAidOG6oW8g4oCcIGluZGV4IG9iamVjdHMgaGVhZCBub2Rlc+KAnSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE5CisjOiBidWlsdGluL2ZzY2suYzo2MTgKIG1zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCiBtc2dzdHIgInThuqFvICByZWZsb2dzIGhlYWQgbm9kZXMgKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MjAKKyM6IGJ1aWx0aW4vZnNjay5jOjYxOQogbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgogbXNnc3RyICJjxaluZyBjw6JuIG5o4bqvYyDEkeG6v24gY8OhYyDEkeG7kWkgdMaw4bujbmcgZ8OzaSB2w6AgdGhheSB0aOG6vyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjIxCisjOiBidWlsdGluL2ZzY2suYzo2MjAKIG1zZ2lkICJlbmFibGUgbW9yZSBzdHJpY3QgY2hlY2tpbmciCiBtc2dzdHIgImNobyBwaMOpcCBraeG7g20gdHJhIGjhuqFuIGNo4bq/IGjGoW4iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYyMworIzogYnVpbHRpbi9mc2NrLmM6NjIyCiBtc2dpZCAid3JpdGUgZGFuZ2xpbmcgb2JqZWN0cyBpbiAuZ2l0L2xvc3QtZm91bmQiCiBtc2dzdHIgImdoaSBjw6FjIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgxJHGsOG7o2MgcXXhuqNuIGzDvSB0cm9uZyAuZ2l0L2xvc3QtZm91bmQiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYyNCBidWlsdGluL3BydW5lLmM6MTM0CisjOiBidWlsdGluL2ZzY2suYzo2MjMgYnVpbHRpbi9wcnVuZS5jOjE0NAogbXNnaWQgInNob3cgcHJvZ3Jlc3MiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBxdcOhIHRyw6xuaCIKIAotIzogYnVpbHRpbi9nYy5jOjIyCisjOiBidWlsdGluL2djLmM6MjQKIG1zZ2lkICJnaXQgZ2MgW29wdGlvbnNdIgogbXNnc3RyICJnaXQgZ2MgW2PDoWMtdMO5eS1jaOG7jW5dIgogCi0jOiBidWlsdGluL2djLmM6NjMKKyM6IGJ1aWx0aW4vZ2MuYzo4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgogbXNnc3RyICIlcyBraMO0bmcgaOG7o3AgbOG7hzog4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo5MAorIzogYnVpbHRpbi9nYy5jOjEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmVseSBsb25nIG9iamVjdCBkaXJlY3RvcnkgJS4qcyIKIG1zZ3N0ciAidGjGsCBt4bulYyDEkeG7kWkgdMaw4bujbmcgZMOgaSBt4buZdCBjw6FjaCDEkWnDqm4gcuG7kyAgJS4qcyIKIAotIzogYnVpbHRpbi9nYy5jOjE3OQorIzogYnVpbHRpbi9nYy5jOjI2MgogbXNnaWQgInBydW5lIHVucmVmZXJlbmNlZCBvYmplY3RzIgogbXNnc3RyICJ4w7NhIGLhu48gY8OhYyDEkeG7kWkgdMaw4bujbmcga2jDtG5nIMSRxrDhu6NjIHRoYW0gY2hp4bq/dSIKIAotIzogYnVpbHRpbi9nYy5jOjE4MQorIzogYnVpbHRpbi9nYy5jOjI2NAogbXNnaWQgImJlIG1vcmUgdGhvcm91Z2ggKGluY3JlYXNlZCBydW50aW1lKSIKIG1zZ3N0ciAiY+G6qW4gdGjhuq1uIGjGoW4gbuG7r2EgKHTEg25nIHRo4budaSBnaWFuIGNo4bqheSkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxODIKKyM6IGJ1aWx0aW4vZ2MuYzoyNjUKIG1zZ2lkICJlbmFibGUgYXV0by1nYyBtb2RlIgogbXNnc3RyICJi4bqtdCBjaOG6vyDEkeG7mSBhdXRvLWdjIgogCi0jOiBidWlsdGluL2djLmM6MjIyCisjOiBidWlsdGluL2djLmM6MjY2Cittc2dpZCAiZm9yY2UgcnVubmluZyBnYyBldmVuIGlmIHRoZXJlIG1heSBiZSBhbm90aGVyIGdjIHJ1bm5pbmciCittc2dzdHIgImJ14buZYyBnYyBjaOG6oXkgbmdheSBj4bqjIGtoaSBjw7MgdGnhur9uIHRyw6xuaCBnYyBraMOhYyDEkWFuZyBjaOG6oXkiCisKKyM6IGJ1aWx0aW4vZ2MuYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS4gWW91IG1heSBhbHNvXG4iCkBAIC01MjczLDQzICs1NTA5LDUyIEBACiAiY2jhuqF5IGzhu4duaCBcImdpdCBnY1wiIG3hu5l0IGPDoWNoIHRo4bunIGPDtG5nLiBIw6N5IHhlbSBcImdpdCBoZWxwIGdjXCIgxJHhu4MgYmnhur90IHRow6ptICIKICJjaGkgdGnhur90LlxuIgogCi0jOiBidWlsdGluL2djLmM6MjQ5CisjLiBiZSBxdWlldCBvbiAtLWF1dG8KKyM6IGJ1aWx0aW4vZ2MuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImdjIGlzIGFscmVhZHkgcnVubmluZyBvbiBtYWNoaW5lICclcycgcGlkICU8UFJJdU1BWD4gKHVzZSAtLWZvcmNlIGlmIG5vdCkiCittc2dzdHIgIiIKKyJnYyDEkWFuZyDEkcaw4bujYyB0aOG7sWMgaGnhu4duIHRyw6puIG3DoXkg4oCcJXPigJ0gcGlkICU8UFJJdU1BWD4gKGTDuW5nIC0tZm9yY2UgbuG6v3Uga2jDtG5nICIKKyJwaOG6o2kgdGjhur8pIgorCisjOiBidWlsdGluL2djLmM6MzQxCiBtc2dpZCAiIgogIlRoZXJlIGFyZSB0b28gbWFueSB1bnJlYWNoYWJsZSBsb29zZSBvYmplY3RzOyBydW4gJ2dpdCBwcnVuZScgdG8gcmVtb3ZlIHRoZW0uIgogbXNnc3RyICIiCiAiQ8OzIHF1w6Egbmhp4buBdSDEkeG7kWkgdMaw4bujbmcgdOG7sSBkbyBraMO0bmcgxJHGsOG7o2MgZMO5bmcgxJHhur9uOyBow6N5IGNo4bqheSBs4buHbmgg4oCcZ2l0IHBydW5l4oCdICIKICLEkeG7gyB4w7NhIGLhu48gY2jDum5nIMSRaS4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIyCisjOiBidWlsdGluL2dyZXAuYzoyMwogbXNnaWQgImdpdCBncmVwIFtvcHRpb25zXSBbLWVdIDxwYXR0ZXJuPiBbPHJldj4uLi5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBncmVwIFtjw6FjLXTDuXktY2jhu41uXSBbLWVdIDxt4bqrdT4gWzxyZXY+Li4uXSBbWy0tXSA8xJHGsOG7nW5nLWThuqtuPi4uLl0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIxNworIzogYnVpbHRpbi9ncmVwLmM6MjE4CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyZXA6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiZ3JlcDogZ+G6t3AgbOG7l2kgdOG6oW8gdHV54bq/biAodGhyZWFkKTogJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjM2NAorIzogYnVpbHRpbi9ncmVwLmM6MzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjaGRpcjogJXMiCiBtc2dzdHIgIkfhurdwIGzhu5dpIHbhu5tpIGzhu4duaCBjaGRpcjogJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ0MiBidWlsdGluL2dyZXAuYzo0NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ0MyBidWlsdGluL2dyZXAuYzo0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIGPDonkgKCVzKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NDkyCisjOiBidWlsdGluL2dyZXAuYzo0OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gbOG7h25oIGdyZXAgKGzhu41jIHTDrG0pIHThu6sgxJHhu5FpIHTGsOG7o25nIHRodeG7mWMga2nhu4N1ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo1NTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICJjaHV54buDbiDEkeG6v24g4oCcJWPigJ0gY+G6p24gbeG7mXQgZ2nDoSB0cuG7iyBi4bqxbmcgc+G7kSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTY3CisjOiBidWlsdGluL2dyZXAuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAia2jDtG5nIG3hu58gxJHGsOG7o2Mg4oCcJXPigJ0iCkBAIC01MzMyLDExICs1NTc3LDExIEBACiAKICM6IGJ1aWx0aW4vZ3JlcC5jOjY1MQogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIgotbXNnc3RyICJoaeG7g24gdGjhu4sgIG5o4buvbmcgZMOybmcga2jDtG5nIGto4bubcCB24bubaSBt4bqrdSIKK21zZ3N0ciAiaGnhu4NuIHRo4buLIG5o4buvbmcgZMOybmcga2jDtG5nIGto4bubcCB24bubaSBt4bqrdSIKIAogIzogYnVpbHRpbi9ncmVwLmM6NjUzCiBtc2dpZCAiY2FzZSBpbnNlbnNpdGl2ZSBtYXRjaGluZyIKLW1zZ3N0ciAicGjDom4gYmnhu4d0IGNo4buvIGhvYS90aMaw4budbmciCittc2dzdHIgInBow6JuIGJp4buHdCBIT0EvdGjGsOG7nW5nIgogCiAjOiBidWlsdGluL2dyZXAuYzo2NTUKIG1zZ2lkICJtYXRjaCBwYXR0ZXJucyBvbmx5IGF0IHdvcmQgYm91bmRhcmllcyIKQEAgLTUzNTEsMTYxICs1NTk2LDE2NSBAQAogbXNnc3RyICJraMO0bmcga2jhu5twIG3huqt1IHRyb25nIGPDoWMgdOG6rXAgdGluIG5o4buLIHBow6JuIgogCiAjOiBidWlsdGluL2dyZXAuYzo2NjIKK21zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCittc2dzdHIgInjhu60gbMO9IHThuq1wIHRpbiBuaOG7iyBwaMOibiB24bubaSBjw6FjIGLhu5kgbOG7jWMg4oCcdGV4dGNvbnbigJ0iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2NAogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAiZ2nhuqNtIHh14buRbmcgw610IG5o4bqldCBt4bupYyA8c8OidT4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2NgorIzogYnVpbHRpbi9ncmVwLmM6NjY4CiBtc2dpZCAidXNlIGV4dGVuZGVkIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgImTDuW5nIGJp4buDdSB0aOG7qWMgY2jDrW5oIHF1aSBQT1NJWCBjw7MgbeG7nyBy4buZbmciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2OQorIzogYnVpbHRpbi9ncmVwLmM6NjcxCiBtc2dpZCAidXNlIGJhc2ljIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMgKGRlZmF1bHQpIgogbXNnc3RyICJz4butIGThu6VuZyBiaeG7g3UgdGjhu6ljIGNow61uaCBxdXkga2nhu4N1IFBPU0lYICht4bq3YyDEkeG7i25oKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjcyCisjOiBidWlsdGluL2dyZXAuYzo2NzQKIG1zZ2lkICJpbnRlcnByZXQgcGF0dGVybnMgYXMgZml4ZWQgc3RyaW5ncyIKIG1zZ3N0ciAiZGnhu4VuIGThu4tjaCBjw6FjIG3huqt1IG5oxrAgbMOgIGNodeG7l2kgY+G7kSDEkeG7i25oIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3NwogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAic+G7rSBk4bulbmcgYmnhu4N1IHRo4bupYyBjaMOtbmggcXV5IHTGsMahbmcgdGjDrWNoIFBlcmwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3OAorIzogYnVpbHRpbi9ncmVwLmM6NjgwCiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBz4buRIGPhu6dhIGTDsm5nIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4MQogbXNnaWQgImRvbid0IHNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJraMO0bmcgaGnhu4NuIHRo4buLIHTDqm4gdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4MgogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB0w6puIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjgyCisjOiBidWlsdGluL2dyZXAuYzo2ODQKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJoaeG7g24gdGjhu4sgdMOqbiB04bqtcCB0aW4gdMawxqFuZyDEkeG7kWkgduG7m2kgdGjGsCBt4bulYyDEkeG7iW5oICh0b3ApIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NgogbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIHTDqm4gdOG6rXAgdGluIHRoYXkgdsOsIG5o4buvbmcgZMOybmcga2jhu5twIHbhu5tpIG3huqt1IgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4OAogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICLEkeG7k25nIG5naMSpYSB24bubaSAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg5CisjOiBidWlsdGluL2dyZXAuYzo2OTEKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyB0w6puIGNobyBuaOG7r25nIHThuq1wIHRpbiBraMO0bmcga2jhu5twIHbhu5tpIG3huqt1IgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MwogbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCiBtc2dzdHIgInRow6ptIE5VTCB2w6BvIHNhdSB0w6puIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjkzCisjOiBidWlsdGluL2dyZXAuYzo2OTUKIG1zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgc+G7kSBsxrDhu6NuZyBraOG7m3AgdGhheSB2w6wgbmjhu69uZyBkw7JuZyBraOG7m3AgduG7m2kgbeG6q3UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5NAorIzogYnVpbHRpbi9ncmVwLmM6Njk2CiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgInTDtCBzw6FuZyBjw6FpIGto4bubcCIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk2CisjOiBidWlsdGluL2dyZXAuYzo2OTgKIG1zZ2lkICJwcmludCBlbXB0eSBsaW5lIGJldHdlZW4gbWF0Y2hlcyBmcm9tIGRpZmZlcmVudCBmaWxlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGTDsm5nIHRy4buRbmcgZ2nhu69hIGPDoWMgbOG6p24ga2jhu5twIHThu6sgY8OhYyB04bqtcCB0aW4ga2jDoWMgYmnhu4d0IgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMAogbXNnaWQgInNob3cgZmlsZW5hbWUgb25seSBvbmNlIGFib3ZlIG1hdGNoZXMgZnJvbSBzYW1lIGZpbGUiCiBtc2dzdHIgIiIKICJoaeG7g24gdGjhu4sgdMOqbiB04bqtcCB0aW4gbeG7mXQgbOG6p24gcGjDrWEgdHLDqm4gY8OhYyBs4bqnbiBraOG7m3AgdOG7qyBjw7luZyBt4buZdCB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwMQorIzogYnVpbHRpbi9ncmVwLmM6NzAzCiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgYW5kIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyA8bj4gZMOybmcgbuG7mWkgZHVuZyBwaMOtYSB0csaw4bubYyB2w6Agc2F1IGPDoWMgbOG6p24ga2jhu5twIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwNgogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyA8bj4gZMOybmcgbuG7mWkgZHVuZyB0csaw4bubYyBraOG7m3AiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNgorIzogYnVpbHRpbi9ncmVwLmM6NzA4CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBhZnRlciBtYXRjaGVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgPG4+IGTDsm5nIG7hu5lpIGR1bmcgc2F1IGto4bubcCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA3CisjOiBidWlsdGluL2dyZXAuYzo3MDkKIG1zZ2lkICJzaG9ydGN1dCBmb3IgLUMgTlVNIgotbXNnc3RyICJE4bqhbmcgdOG6r3QgY2hvIC1DIFPhu5AiCittc2dzdHIgImThuqFuZyB2aeG6v3QgdOG6r3QgY+G7p2EgLUMgU+G7kCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEwCisjOiBidWlsdGluL2dyZXAuYzo3MTIKIG1zZ2lkICJzaG93IGEgbGluZSB3aXRoIHRoZSBmdW5jdGlvbiBuYW1lIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgZMOybmcgdsOzaSB0w6puIGjDoG0gdHLGsOG7m2MgY8OhYyBs4bqnbiBraOG7m3AiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxMgorIzogYnVpbHRpbi9ncmVwLmM6NzE0CiBtc2dpZCAic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iCiBtc2dzdHIgImhp4buDbiB0aOG7iyBow6BtIGJhbyBxdWFuaCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE1CisjOiBidWlsdGluL2dyZXAuYzo3MTcKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKIG1zZ3N0ciAixJHhu41jIG3huqt1IHThu6sgdOG6rXAtdGluIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxOQogbXNnaWQgIm1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAibWF0Y2ggPG3huqt1PiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE5CisjOiBidWlsdGluL2dyZXAuYzo3MjEKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICJ04buVIGjhu6NwIG3huqt1IMSRxrDhu6NjIGNo4buJIHJhIHbhu5tpIHTDuXkgY2jhu41uIC1lIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczMwogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICLEkcawYSByYSBn4bujaSDDvSB24bubaSB0cuG6oW5nIHRow6FpIHRob8OhdCBtw6Aga2jDtG5nIGPDsyBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczMworIzogYnVpbHRpbi9ncmVwLmM6NzM1CiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoZXMgZnJvbSBmaWxlcyB0aGF0IG1hdGNoIGFsbCBwYXR0ZXJucyIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgY8OhaSBraOG7m3AgdOG7qyB04bqtcCB0aW4gbcOgIG7DsyBraOG7m3AgdG/DoG4gYuG7mSBjw6FjIG3huqt1IgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczNwogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OieSBwaMOibiB0w61jaCBjw7ogcGjDoXAgY2hvIGJp4buDdSB0aOG7qWMg4oCcZ3JlcOKAnSAodMOsbSBraeG6v20pIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQogbXNnaWQgInBhZ2VyIgotbXNnc3RyICJ0cmFuZyBnaeG6pXkiCittc2dzdHIgImdp4bqleSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzM5CisjOiBidWlsdGluL2dyZXAuYzo3NDEKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIGto4bubcCB0cm9uZyB0cmFuZyBnaeG6pXkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0MgorIzogYnVpbHRpbi9ncmVwLmM6NzQ0CiBtc2dpZCAiYWxsb3cgY2FsbGluZyBvZiBncmVwKDEpIChpZ25vcmVkIGJ5IHRoaXMgYnVpbGQpIgogbXNnc3RyICJjaG8gcGjDqXAgZ+G7jWkgZ3JlcCgxKSAoYuG7iyBi4buPIHF1YSBi4bufaSBs4bqnbiBk4buLY2ggbsOgeSkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0MyBidWlsdGluL3Nob3ctcmVmLmM6MTg4CisjOiBidWlsdGluL2dyZXAuYzo3NDUgYnVpbHRpbi9zaG93LXJlZi5jOjE4NwogbXNnaWQgInNob3cgdXNhZ2UiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjaCBkw7luZyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODEwCisjOiBidWlsdGluL2dyZXAuYzo4MTIKIG1zZ2lkICJubyBwYXR0ZXJuIGdpdmVuLiIKIG1zZ3N0ciAiY2jGsGEgY2jhu4kgcmEgbeG6q3UuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3MAogbXNnaWQgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBvbmx5IHdvcmtzIG9uIHRoZSB3b3JrdHJlZSIKIG1zZ3N0ciAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIGNo4buJIGzDoG0gdmnhu4djIHRyw6puIGPDonktbMOgbS12aeG7h2MiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4OAorIzogYnVpbHRpbi9ncmVwLmM6ODkzCiBtc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKIG1zZ3N0ciAiLS1jYWNoZWQgaGF5IC0tdW50cmFja2VkIGtow7RuZyDEkcaw4bujYyBz4butIGThu6VuZyB24bubaSAtLW5vLWluZGV4LiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODkzCisjOiBidWlsdGluL2dyZXAuYzo4OTgKIG1zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cy4iCiBtc2dzdHIgIiIKICItLW5vLWluZGV4IGhheSAtLXVudHJhY2tlZCBraMO0bmcgxJHGsOG7o2Mgc+G7rSBk4bulbmcgY8O5bmcgduG7m2kgY8OhYyB0w7l5IGNo4buNbiBsacOqbiAiCiAicXVhbiDEkeG6v24gcmV2cy4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg5NgorIzogYnVpbHRpbi9ncmVwLmM6OTAxCiBtc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMuIgogbXNnc3RyICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBraMO0bmcgdGjhu4Mgc+G7rSBk4bulbmcgY2hvIG7hu5lpIGR1bmcgbMawdSBk4bqldSB24bq/dC4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwNAorIzogYnVpbHRpbi9ncmVwLmM6OTA5CiBtc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuLiIKIG1zZ3N0ciAiY+G6oyBoYWkgLS1jYWNoZWQgdsOgIGPDoWMgY8OieSBwaOG6o2kgxJHGsOG7o2MgY2jhu4kgcmEuIgogCkBAIC01NjEwLDU3ICs1ODU5LDU3IEBACiAi4oCcJXPigJ06IGNtZCAobOG7h25oKSBo4buXIHRy4bujIGLhu5kgdHLDrG5oIGNoaeG6v3UgbWFuLlxuIgogIkjDo3kgY8OibiBuaOG6r2MgxJHhur9uIHZp4buHYyBz4butIGThu6VuZyDigJxtYW4uPHRvb2w+LnBhdGjigJ0gxJHhu4MgdGhheSB0aOG6vy4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM0OQorIzogYnVpbHRpbi9oZWxwLmM6MzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVua25vd24gbWFuIHZpZXdlci4iCiBtc2dzdHIgIuKAnCVz4oCdOiBraMO0bmcgcsO1IGNoxrDGoW5nIHRyw6xuaCB4ZW0gbWFuLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzY2CisjOiBidWlsdGluL2hlbHAuYzozNzAKIG1zZ2lkICJubyBtYW4gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgImtow7RuZyBjw7MgdHLDrG5oIHhlbSB0cuG7oyBnacO6cCBk4bqhbmcgbWFucGFnZSB0aeG6v3AgaOG7o3AgduG7m2kgecOqdSBj4bqndSIKIAotIzogYnVpbHRpbi9oZWxwLmM6Mzc0CisjOiBidWlsdGluL2hlbHAuYzozNzgKIG1zZ2lkICJubyBpbmZvIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICJraMO0bmcgY8OzIHRyw6xuaCB4ZW0gdHLhu6MgZ2nDunAgZOG6oW5nIGluZm8gdGnhur9wIGjhu6NwIHbhu5tpIHnDqnUgY+G6p3UiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyMAorIzogYnVpbHRpbi9oZWxwLmM6NDI0CiBtc2dpZCAiRGVmaW5pbmcgYXR0cmlidXRlcyBwZXIgcGF0aCIKIG1zZ3N0ciAixJDhu4tuaCBuZ2jEqWEgY8OhYyB0aHXhu5ljIHTDrW5oIGNobyBt4buXaSDEkcaw4budbmcgZOG6q24iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyMQorIzogYnVpbHRpbi9oZWxwLmM6NDI1CiBtc2dpZCAiQSBHaXQgZ2xvc3NhcnkiCiBtc2dzdHIgIlRodeG6rXQgbmfhu68gY2h1ecOqbiBtw7RuIEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDIyCisjOiBidWlsdGluL2hlbHAuYzo0MjYKIG1zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgogbXNnc3RyICJDaOG7iSDEkeG7i25oIGPDoWMgdOG6rXAgdGluIGtow7RuZyBj4bqnbiB0aGVvIGTDtWkiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyMworIzogYnVpbHRpbi9oZWxwLmM6NDI3CiBtc2dpZCAiRGVmaW5pbmcgc3VibW9kdWxlIHByb3BlcnRpZXMiCiBtc2dzdHIgIsSQ4buLbmggbmdoxKlhIHRodeG7mWMgdMOtbmggbcO0LcSRdW4tY29uIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MjQKKyM6IGJ1aWx0aW4vaGVscC5jOjQyOAogbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKIG1zZ3N0ciAiQ2jhu4kgxJHhu4tuaCDEkWnhu4NtIHjDqXQgZHV54buHdCB2w6AgdsO5bmcgY2hvIEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDI1CisjOiBidWlsdGluL2hlbHAuYzo0MjkKIG1zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQgKGZvciB2ZXJzaW9uIDEuNS4xIG9yIG5ld2VyKSIKIG1zZ3N0ciAiSMaw4bubbmcgZOG6q24gY8OhY2ggZMO5bmcgR2l0IOG7nyBt4bupYyBjxqEgYuG6o24gKGLhuqNuIDEuNS4xIGhheSBt4bubaSBoxqFuKSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDI2CisjOiBidWlsdGluL2hlbHAuYzo0MzAKIG1zZ2lkICJBbiBvdmVydmlldyBvZiByZWNvbW1lbmRlZCB3b3JrZmxvd3Mgd2l0aCBHaXQiCiBtc2dzdHIgIlThu5VuZyBxdWFuIHbhu4EgbHXhu5NuZyBjw7RuZyB2aeG7h2Mga2h1eeG6v24gbmdo4buLIG7Dqm4gZMO5bmcgduG7m2kgR2l0LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDM4CisjOiBidWlsdGluL2hlbHAuYzo0NDIKIG1zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOlxuIgogbXNnc3RyICJDw6FjIGNo4buJIGThuqtuIGNodW5nIHbhu4EgY8OhY2ggZMO5bmcgR2l0IGzDoDpcbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDYwIGJ1aWx0aW4vaGVscC5jOjQ3NgorIzogYnVpbHRpbi9oZWxwLmM6NDYzIGJ1aWx0aW4vaGVscC5jOjQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMlcyIKLW1zZ3N0ciAiY8OhY2ggc+G7rSBk4bulbmc6ICVzJXMiCittc2dzdHIgImPDoWNoIGTDuW5nOiAlcyVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0OTIKKyM6IGJ1aWx0aW4vaGVscC5jOjQ5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJgZ2l0ICVzJyBpcyBhbGlhc2VkIHRvIGAlcyciCiBtc2dzdHIgIuKAnGdpdCAlc+KAnSDEkcaw4bujYyDEkeG6t3QgYsOtIGRhbmggdGjDoG5oIOKAnCVz4oCdIgpAQCAtNTY4Myw3ICs1OTMyLDcgQEAKIAogIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjU0CiBtc2dpZCAiZWFybHkgRU9GIgotbXNnc3RyICJ24burYSDEkcO6bmcgbMO6YyBFT0YiCittc2dzdHIgImfhurdwIGvhur90IHRow7pjIEVPRiBxdcOhIHPhu5ttIgogCiAjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTUKIG1zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgpAQCAtNTc0Nyw4ICs1OTk2LDggQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICVsdSBieXRlIG1pc3NpbmciCiBtc2dpZF9wbHVyYWwgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlbHUgYnl0ZXMgbWlzc2luZyIKLW1zZ3N0clswXSAidOG6rXAgdGluIHBhY2sgYuG7iyBr4bq/dCB0aMO6YyBz4bubbSwgJWx1IGJ5dGUgYuG7iyB0aGnhur91IgotbXNnc3RyWzFdICJ04bqtcCB0aW4gcGFjayBi4buLIGvhur90IHRow7pjIHPhu5ttLCAlbHUgYnl0ZSBi4buLIHRoaeG6v3UiCittc2dzdHJbMF0gInThuq1wIHRpbiBwYWNrIGLhu4sga+G6v3QgdGjDumMgc+G7m20sIHRoaeG6v3UgJWx1IGJ5dGUiCittc2dzdHJbMV0gInThuq1wIHRpbiBwYWNrIGLhu4sga+G6v3QgdGjDumMgc+G7m20sIHRoaeG6v3UgJWx1IGJ5dGUiCiAKICM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NQogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgpAQCAtNTc2MCw4ICs2MDA5LDggQEAKIG1zZ2lkICJTSEExIENPTExJU0lPTiBGT1VORCBXSVRIICVzICEiCiBtc2dzdHIgIlPhu7AgVkEgQ0jhuqBNIFNIQTEgxJDDgyBY4bqiWSBSQSBW4buaSSAlcyEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjY2OSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3MAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjY2OSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgJXMiCkBAIC01NzkwLDE1NSArNjAzOSwxNTUgQEAKIG1zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKIG1zZ3N0ciAiS2jDtG5nIHBo4bqjaSB04bqldCBj4bqjIGPDoWMgxJHhu5FpIHTGsOG7o25nIGNvbiBj4bunYSAlcyBsw6AgY8OzIHRo4buDIHbhu5tpIHThu5tpIMSRxrDhu6NjIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzggYnVpbHRpbi9pbmRleC1wYWNrLmM6ODY4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzkgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODY5CiBtc2dpZCAiZmFpbGVkIHRvIGFwcGx5IGRlbHRhIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgw6FwIGThu6VuZyBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTAwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTAxMAogbXNnaWQgIlJlY2VpdmluZyBvYmplY3RzIgogbXNnc3RyICLEkGFuZyBuaOG6rW4gduG7gSBjw6FjIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTAwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTAxMAogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgIkPDoWMgxJHhu5FpIHTGsOG7o25nIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTAzNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTAzNgogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAicGFjayBi4buLIHNhaSBo4buPbmcgKFNIQTEga2jDtG5nIGto4bubcCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNDEKIG1zZ2lkICJjYW5ub3QgZnN0YXQgcGFja2ZpbGUiCi1tc2dzdHIgImtow7RuZyB0aOG7gyBmc3RhdCBwYWNrZmlsZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRow7RuZyB0aW4gdGjhu5FuZyBrw6ogcGFja2ZpbGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNDQKIG1zZ2lkICJwYWNrIGhhcyBqdW5rIGF0IHRoZSBlbmQiCiBtc2dzdHIgInBhY2sgY8OzIHBo4bqnbiB0aOG7q2Eg4bufIGN14buRaSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA1NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA1NQogbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkgaW4gcGFyc2VfcGFja19vYmplY3RzKCkiCiBtc2dzdHIgImzhu5luIHjhu5luIGjGoW4gY+G6oyDEkWnDqm4gcuG7kyBraGkgY2jhuqF5IGjDoG0gcGFyc2VfcGFja19vYmplY3RzKCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNzgKIG1zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgogbXNnc3RyICLEkGFuZyBwaMOibiBnaeG6o2kgY8OhYyBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA4NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB0dXnhur9uOiAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzMAogbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkiCiBtc2dzdHIgImzhu5luIHjhu5luIGjGoW4gY+G6oyDEkWnDqm4gcuG7kyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgogbXNnc3RyICLEkeG6p3kgxJHhu6cgduG7m2kgJWQgxJHhu5FpIHTGsOG7o25nIG7hu5lpIGLhu5kiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5leHBlY3RlZCB0YWlsIGNoZWNrc3VtIGZvciAlcyAoZGlzayBjb3JydXB0aW9uPykiCiBtc2dzdHIgIlThu5VuZyBraeG7g20gdHJhIHRhaWwga2jDtG5nIG5oxrAgbW9uZyDEkeG7o2kgY2hvICVzICjEkcSpYSBo4buPbmc/KSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAicGFjayBjw7MgJWQgZGVsdGEgY2jGsGEgxJHGsOG7o2MgZ2nhuqNpIHF1eeG6v3QiCiBtc2dzdHJbMV0gInBhY2sgY8OzICVkIGRlbHRhIGNoxrBhIMSRxrDhu6NjIGdp4bqjaSBxdXnhur90IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIGFwcGVuZGVkIG9iamVjdCAoJWQpIgotbXNnc3RyICJraMO0bmcgdGjhu4MgeOG6oyDEkeG7kWkgdMaw4bujbmcgbuG7kWkgdGjDqm0gKCVkKSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHjhuqMgbsOpbiDEkeG7kWkgdMaw4bujbmcgbuG7kWkgdGjDqm0gKCVkKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIG7hu5lpIGLhu5kgJXMgYuG7iyBo4buPbmciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNzkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyODAKIG1zZ2lkICJlcnJvciB3aGlsZSBjbG9zaW5nIHBhY2sgZmlsZSIKLW1zZ3N0ciAiZ+G6t3AgbOG7l2kgdHJvbmcga2hpIMSRw7NuZyB04bqtcCB0aW4gcGFjayIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kgdHJvbmcga2hpIMSRw7NuZyB04bqtcCB0aW4gZ8OzaSAocGFjaykiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlIGtlZXAgZmlsZSAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIHThuq1wIHRpbiBnaeG7ryBs4bqhaSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMwMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSRw7NuZyB04bqtcCB0aW4gZ2nhu68gbOG6oWkgxJHDoyDEkcaw4bujYyBnaGkg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMTQKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbMawdSB04bqtcCB0aW4gcGFjayIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMyNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMyNQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbMawdSB0cuG7ryB04bqtcCB0aW4gZ2hpIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzU3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiBtc2dzdHIgInNhaSBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIKIG1zZ3N0ciAic+G7kSB0dXnhur9uIGNo4buJIHJhIGtow7RuZyBo4bujcCBs4buHICglZCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2OCBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCiBtc2dzdHIgImtow7RuZyBo4buXIHRy4bujIMSRYSB0dXnhur9uLCBi4buPIHF1YSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGZpbGUgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIHBhY2sgxJHDoyBz4bq1biBjw7Mg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBpZHggZmlsZSBmb3IgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIOKAnHBhY2sgaWR44oCdIGNobyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgogbXNnc3RyWzBdICJraMO0bmcgZGVsdGE6ICVkIMSR4buRaSB0xrDhu6NuZyIKIG1zZ3N0clsxXSAia2jDtG5nIGRlbHRhOiAlZCDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKIG1zZ3N0clswXSAiY2hp4buBdSBkw6BpIHjDrWNoID0gJWQ6ICVsdSDEkeG7kWkgdMaw4bujbmciCiBtc2dzdHJbMV0gImNoaeG7gXUgZMOgaSB4w61jaCA9ICVkOiAlbHUgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTEwCiBtc2dpZCAiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBxdWF5IGzhuqFpIGN3ZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU1NyBidWlsdGluL2luZGV4LXBhY2suYzoxNTYwCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTcyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3MyBidWlsdGluL2luZGV4LXBhY2suYzoxNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCAlcyIKIG1zZ3N0ciAiJXMgc2FpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkxCiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgIi0tZml4LXRoaW4ga2jDtG5nIHRo4buDIMSRxrDhu6NjIGTDuW5nIG3DoCBraMO0bmcgY8OzIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NSBidWlsdGluL2luZGV4LXBhY2suYzoxNjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgogbXNnc3RyICJ0w6puIHThuq1wIHRpbiBwYWNrZmlsZSDigJwlc+KAnSBraMO0bmcgxJHGsOG7o2Mga+G6v3QgdGjDumMgYuG6sW5nIMSRdcO0aSDigJwucGFja+KAnSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYxMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYxNAogbXNnaWQgIi0tdmVyaWZ5IHdpdGggbm8gcGFja2ZpbGUgbmFtZSBnaXZlbiIKIG1zZ3N0ciAiZMO5bmcgdMO5eSBjaOG7jW4gLS12ZXJpZnkgbcOgIGtow7RuZyDEkcawYSByYSB0w6puIHBhY2tmaWxlIgogCkBAIC01OTU1LDE3ICs2MjA0LDE3IEBACiAjOiBidWlsdGluL2luaXQtZGIuYzo2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhdCAnJXMnIgotbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdHLhuqFuZyB0aMOhaSAoc3RhdCkgduG7gSDigJwlc+KAnSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRow7RuZyB0aW4gdGjhu5FuZyBrw6ogduG7gSDigJwlc+KAnSIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgdGVtcGxhdGUgJyVzJyIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIHN0YXQgKGzhuqV5IHRy4bqhbmcgdGjDoWkgduG7gSkgbeG6q3Ug4oCcJXPigJ0iCittc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB0aMO0bmcgdGluIHRo4buRbmcga8OqIHbhu4EgbeG6q3Ug4oCcJXPigJ0iCiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuZGlyICclcyciCi1tc2dzdHIgImtow7RuZyB0aOG7gyBvcGVuZGlyIOKAnCVz4oCdIgorbXNnc3RyICJraMO0bmcgdGjhu4Mgb3BlbmRpcigpIOKAnCVz4oCdIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo5NwogIywgYy1mb3JtYXQKQEAgLTU5NzUsMjcgKzYyMjQsMjcgQEAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZWx5IGxvbmcgc3ltbGluayAlcyIKLW1zZ3N0ciAibGnDqm4ga+G6v3QgdMaw4bujbmcgdHLGsG5nIGTDoGkgbeG7mXQgY8OhY2ggxJFpw6puIHLhu5MgJXMiCittc2dzdHIgImxpw6puIGvhur90IG3hu4FtIGTDoGkgbeG7mXQgY8OhY2ggxJFpw6puIHLhu5MgJXMiCiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3ltbGluayAnJXMnICclcyciCi1tc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyBsacOqbiBr4bq/dCB0xrDhu6NuZyB0csawbmcgKHN5bWxpbmspIOKAnCVz4oCdIOKAnCVz4oCdIgorbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gbGnDqm4ga+G6v3QgbeG7gW0gKHN5bWxpbmspIOKAnCVz4oCdIOKAnCVz4oCdIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzoxMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNvcHkgJyVzJyB0byAnJXMnIgotbXNnc3RyICJraMO0bmcgdGjhu4Mgc2FvIGNow6lwICVzIHNhbmcgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBzYW8gY2jDqXAg4oCcJXPigJ0gc2FuZyDigJwlc+KAnSIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6MTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHRlbXBsYXRlICVzIgotbXNnc3RyICLEkWFuZyBs4budIMSRaSBt4bqrdSAlcyIKK21zZ3N0ciAixJFhbmcgbOG7nSDEkWkgbeG6q3Ug4oCcJXPigJ0iCiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmVseSBsb25nIHRlbXBsYXRlIHBhdGggJXMiCi1tc2dzdHIgIsSRxrDhu51uZyBk4bqrbiBt4bqrdSBkw6BpIG3hu5l0IGPDoWNoIMSRacOqbiBy4buTICAlcyIKK21zZ3N0ciAixJHGsOG7nW5nIGThuqtuIG3huqt1IOKAnCVz4oCdIGTDoGkgbeG7mXQgY8OhY2ggxJFpw6puIHLhu5MiCiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjE0MQogIywgYy1mb3JtYXQKQEAgLTYwMjAsMTggKzYyNjksMTMgQEAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gaGFuZGxlIGZpbGUgdHlwZSAlZCIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIG7huq9tIChoYW5kbGUpIHThuq1wIHRpbiBraeG7g3UgJWQiCittc2dzdHIgImtow7RuZyB0aOG7gyB44butIGzDvSAoaGFuZGxlKSB04bqtcCB0aW4ga2nhu4N1ICVkIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgImtow7RuZyBkaSBjaHV54buDbiDEkcaw4bujYyAlcyB2w6BvICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBnaXQgbGluayAlcyIKLW1zZ3N0ciAiS2jDtG5nIHRo4buDIHThuqFvIGxpw6puIGvhur90IGdpdCDigJwlc+KAnSIKLQogIy4KICMuICogVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAnJXMnIGlzIGVpdGhlciAiUmVpbml0aWFsaXplZAogIy4gKiBleGlzdGluZyIgb3IgIkluaXRpYWxpemVkIGVtcHR5IiwgdGhlIHNlY29uZCAiIHNoYXJlZCIgb3IKQEAgLTYwNjAsOCArNjMwNCw4IEBACiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ2NwogbXNnaWQgIiIKLSJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gWy0tc2hhcmVkIgotIls9PHBlcm1pc3Npb25zPl1dIFtkaXJlY3RvcnldIgorImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTx0ZW1wbGF0ZS1kaXJlY3Rvcnk+XSBbLS0iCisic2hhcmVkWz08cGVybWlzc2lvbnM+XV0gW2RpcmVjdG9yeV0iCiBtc2dzdHIgIiIKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGjGsC1t4bulYy104bqhbT5dIFstLXNoYXJlZFs9PGPDoWMtIgogInF1eeG7gW4+XV0gW3RoxrAtbeG7pWNdIgpAQCAtNjA3NCw3ICs2MzE4LDcgQEAKIG1zZ2lkICJzcGVjaWZ5IHRoYXQgdGhlIGdpdCByZXBvc2l0b3J5IGlzIHRvIGJlIHNoYXJlZCBhbW9uZ3N0IHNldmVyYWwgdXNlcnMiCiBtc2dzdHIgImNo4buJIHJhIGPDoWkgbcOgIGtobyBnaXQgxJHGsOG7o2MgY2hpYSBz4bq7IGdp4buvYSBuaGnhu4F1IG5nxrDhu51pIGTDuW5nIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0OTMgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDkzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzkgYnVpbHRpbi9yZXBhY2suYzoxNTUKIG1zZ2lkICJiZSBxdWlldCIKIG1zZ3N0ciAiaW0gbOG6t25nIgogCkBAIC02MTE0LDM4NyArNjM1OCwzODcgQEAKIG1zZ2lkICIgICBvcjogZ2l0IHNob3cgW29wdGlvbnNdIDxvYmplY3Q+Li4uIgogbXNnc3RyICIgIGhheTogZ2l0IHNob3cgW2PDoWMtdMO5eS1jaOG7jW5dIDzEkeG7kWktdMaw4bujbmc+Li4uIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNAorIzogYnVpbHRpbi9sb2cuYzoxMjUKIG1zZ2lkICJzdXBwcmVzcyBkaWZmIG91dHB1dCIKIG1zZ3N0ciAiY2jhurduIG3hu41pIGvhur90IHh14bqldCB04burIGRpZmYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1CisjOiBidWlsdGluL2xvZy5jOjEyNgogbXNnaWQgInNob3cgc291cmNlIgogbXNnc3RyICJoaeG7g24gdGjhu4sgbcOjIG5ndeG7k24iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI2CisjOiBidWlsdGluL2xvZy5jOjEyNwogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICJT4butIGThu6VuZyB04bqtcCB0aW4gw6FuaCB44bqhIHRoxrAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI3CisjOiBidWlsdGluL2xvZy5jOjEyOAogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCiBtc2dzdHIgImPDoWMgdMO5eSBjaOG7jW4gdHJhbmcgdHLDrSIKIAotIzogYnVpbHRpbi9sb2cuYzoyMzAKKyM6IGJ1aWx0aW4vbG9nLmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpbmFsIG91dHB1dDogJWQgJXNcbiIKIG1zZ3N0ciAiS+G6v3QgeHXhuqV0IGN14buRaSBjw7luZzogJWQgJXNcbiIKIAotIzogYnVpbHRpbi9sb2cuYzo0NTMgYnVpbHRpbi9sb2cuYzo1NDUKKyM6IGJ1aWx0aW4vbG9nLmM6NDczIGJ1aWx0aW4vbG9nLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4buNYyDEkeG7kWkgdMaw4bujbmcgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTY5CisjOiBidWlsdGluL2xvZy5jOjU4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHR5cGU6ICVkIgogbXNnc3RyICJLaMO0bmcgbmjhuq1uIHJhIGtp4buDdTogJWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NjY5CisjOiBidWlsdGluL2xvZy5jOjY4OQogbXNnaWQgImZvcm1hdC5oZWFkZXJzIHdpdGhvdXQgdmFsdWUiCiBtc2dzdHIgImZvcm1hdC5oZWFkZXJzIGtow7RuZyBjw7MgZ2nDoSB0cuG7iyBj4bulIHRo4buDIgogCi0jOiBidWlsdGluL2xvZy5jOjc1MQorIzogYnVpbHRpbi9sb2cuYzo3NzEKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgInTDqm4gY+G7p2EgdGjGsCBt4bulYyBr4bq/dCB4deG6pXQgcXXDoSBkw6BpIgogCi0jOiBidWlsdGluL2xvZy5jOjc2NworIzogYnVpbHRpbi9sb2cuYzo3ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIG1p4bq/bmcgdsOhOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo3ODEKKyM6IGJ1aWx0aW4vbG9nLmM6ODAxCiBtc2dpZCAiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iCiBtc2dzdHIgIkPhuqduIGNow61uaCB4w6FjIG3hu5l0IHbDuW5nLiIKIAotIzogYnVpbHRpbi9sb2cuYzo3ODkKKyM6IGJ1aWx0aW4vbG9nLmM6ODA5CiBtc2dpZCAiTm90IGEgcmFuZ2UuIgogbXNnc3RyICJLaMO0bmcgcGjhuqNpIGzDoCBt4buZdCB2w7luZy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODkxCisjOiBidWlsdGluL2xvZy5jOjkxMQogbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCi1tc2dzdHIgIuKAnUNvdmVyIGxldHRlcuKAnSBj4bqnbiBjaG8gxJHhu4tuaCBk4bqhbmcgdGjGsCIKK21zZ3N0ciAi4oCcQ292ZXIgbGV0dGVy4oCdIGPhuqduIGNobyDEkeG7i25oIGThuqFuZyB0aMawIgogCi0jOiBidWlsdGluL2xvZy5jOjk2NworIzogYnVpbHRpbi9sb2cuYzo5ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5zYW5lIGluLXJlcGx5LXRvOiAlcyIKIG1zZ3N0ciAiaW4tcmVwbHktdG8gxJFpw6puIHLhu5M6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjk5NQorIzogYnVpbHRpbi9sb2cuYzoxMDE1CiBtc2dpZCAiZ2l0IGZvcm1hdC1wYXRjaCBbb3B0aW9uc10gWzxzaW5jZT4gfCA8cmV2aXNpb24gcmFuZ2U+XSIKIG1zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBbY8OhYy10w7l5LWNo4buNbl0gWzxr4buDLXThu6s+IHwgPHbDuW5nLXhlbS14w6l0Pl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA0MAorIzogYnVpbHRpbi9sb2cuYzoxMDYwCiBtc2dpZCAiVHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCiBtc2dzdHIgIkhhaSB0aMawIG3hu6VjIGvhur90IHh14bqldD8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE1NQorIzogYnVpbHRpbi9sb2cuYzoxMTc1CiBtc2dpZCAidXNlIFtQQVRDSCBuL21dIGV2ZW4gd2l0aCBhIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAiZMO5bmcgW1BBVENIIG4vbV0gbmdheSBj4bqjIHbhu5tpIG1p4bq/bmcgdsOhIMSRxqFuIgogCi0jOiBidWlsdGluL2xvZy5jOjExNTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTE3OAogbXNnaWQgInVzZSBbUEFUQ0hdIGV2ZW4gd2l0aCBtdWx0aXBsZSBwYXRjaGVzIgogbXNnc3RyICJkw7luZyBbVsOBXSBuZ2F5IGPhuqMgduG7m2kgY8OhYyBtaeG6v25nIHbDoSBwaOG7qWMgdOG6oXAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2MgorIzogYnVpbHRpbi9sb2cuYzoxMTgyCiBtc2dpZCAicHJpbnQgcGF0Y2hlcyB0byBzdGFuZGFyZCBvdXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBtaeG6v25nIHbDoSByYSDEkeG6p3UgcmEgY2h14bqpbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTY0CisjOiBidWlsdGluL2xvZy5jOjExODQKIG1zZ2lkICJnZW5lcmF0ZSBhIGNvdmVyIGxldHRlciIKIG1zZ3N0ciAidOG6oW8gYsOsIHRoxrAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2NgorIzogYnVpbHRpbi9sb2cuYzoxMTg2CiBtc2dpZCAidXNlIHNpbXBsZSBudW1iZXIgc2VxdWVuY2UgZm9yIG91dHB1dCBmaWxlIG5hbWVzIgogbXNnc3RyICJz4butIGThu6VuZyBjaOG7l2kgZMOjeSBz4buRIGThuqFuZyDEkcahbiBnaeG6o24gY2hvIHTDqm4gdOG6rXAtdGluIHh14bqldCByYSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTY3CisjOiBidWlsdGluL2xvZy5jOjExODcKIG1zZ2lkICJzZngiCiBtc2dzdHIgInNmeCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTY4CisjOiBidWlsdGluL2xvZy5jOjExODgKIG1zZ2lkICJ1c2UgPHNmeD4gaW5zdGVhZCBvZiAnLnBhdGNoJyIKIG1zZ3N0ciAic+G7rSBk4bulbmcgPHNmeD4gdGhheSBjaG8g4oCcLnBhdGNo4oCdIgogCi0jOiBidWlsdGluL2xvZy5jOjExNzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTE5MAogbXNnaWQgInN0YXJ0IG51bWJlcmluZyBwYXRjaGVzIGF0IDxuPiBpbnN0ZWFkIG9mIDEiCiBtc2dzdHIgImLhuq90IMSR4bqndSDEkcOhbmggc+G7kSBtaeG6v25nIHbDoSB04burIDxuPiB0aGF5IHbDrCAxIgogCi0jOiBidWlsdGluL2xvZy5jOjExNzIKKyM6IGJ1aWx0aW4vbG9nLmM6MTE5MgogbXNnaWQgIm1hcmsgdGhlIHNlcmllcyBhcyBOdGggcmUtcm9sbCIKIG1zZ3N0ciAixJHDoW5oIGThuqV1IGNodeG7l2kgbuG7kWkgdGnhur9wIGThuqFuZyB0aOG7qS1OIHJlLXJvbGwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE3NAorIzogYnVpbHRpbi9sb2cuYzoxMTk0CiBtc2dpZCAiVXNlIFs8cHJlZml4Pl0gaW5zdGVhZCBvZiBbUEFUQ0hdIgogbXNnc3RyICJEw7luZyBbPHRp4buBbi104buRPl0gdGhheSBjaG8gW1bDgV0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE3NworIzogYnVpbHRpbi9sb2cuYzoxMTk3CiBtc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgogbXNnc3RyICJsxrB1IGPDoWMgdOG6rXAgdGluIGvhur90IHF14bqjIHRyb25nIDx0Lm3hu6VjPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTgwCisjOiBidWlsdGluL2xvZy5jOjEyMDAKIG1zZ2lkICJkb24ndCBzdHJpcC9hZGQgW1BBVENIXSIKIG1zZ3N0ciAia2jDtG5nIHN0cmlwL2FkZCBbVsOBXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTgzCisjOiBidWlsdGluL2xvZy5jOjEyMDMKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICJraMO0bmcga+G6v3QgeHXhuqV0IGRpZmYgKG5o4buvbmcga2jDoWMgYmnhu4d0KSBuaOG7iyBwaMOibiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTg1CisjOiBidWlsdGluL2xvZy5jOjEyMDUKIG1zZ2lkICJkb24ndCBpbmNsdWRlIGEgcGF0Y2ggbWF0Y2hpbmcgYSBjb21taXQgdXBzdHJlYW0iCiBtc2dzdHIgImtow7RuZyBiYW8gZ+G7k20gbWnhur9uZyB2w6Ega2jhu5twIHbhu5tpIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gdGjGsOG7o25nIG5ndeG7k24iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE4NworIzogYnVpbHRpbi9sb2cuYzoxMjA3CiBtc2dpZCAic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIgogbXNnc3RyICJoaeG7g24gdGjhu4sgxJHhu4tuaCBk4bqhbmcgbWnhur9uZyB2w6EgdGhheSB2w6wgbeG6t2MgxJHhu4tuaCAobWnhur9uZyB2w6EgKyB0aOG7kW5nIGvDqikiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE4OQorIzogYnVpbHRpbi9sb2cuYzoxMjA5CiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICJM4budaSBuaOG6r24iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5MAorIzogYnVpbHRpbi9sb2cuYzoxMjEwCiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICLEkeG6p3UgxJHhu4EgdGjGsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTkxCisjOiBidWlsdGluL2xvZy5jOjEyMTEKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgogbXNnc3RyICJ0aMOqbSDEkeG6p3UgxJHhu4EgdGjGsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTkyIGJ1aWx0aW4vbG9nLmM6MTE5NAorIzogYnVpbHRpbi9sb2cuYzoxMjEyIGJ1aWx0aW4vbG9nLmM6MTIxNAogbXNnaWQgImVtYWlsIgogbXNnc3RyICJ0aMawIMSRaeG7h24gdOG7rSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTkyCisjOiBidWlsdGluL2xvZy5jOjEyMTIKIG1zZ2lkICJhZGQgVG86IGhlYWRlciIKIG1zZ3N0ciAidGjDqm0gVG86IMSR4bqndSDEkeG7gSB0aMawIgogCi0jOiBidWlsdGluL2xvZy5jOjExOTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNAogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICJ0aMOqbSBDYzogxJHhuqd1IMSR4buBIHRoxrAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5NgorIzogYnVpbHRpbi9sb2cuYzoxMjE2CiBtc2dpZCAiaWRlbnQiCiBtc2dzdHIgInRo4buldCBs4buBIgogCi0jOiBidWlsdGluL2xvZy5jOjExOTcKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNwogbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCiBtc2dzdHIgIiIKLSLEkeG6t3QgYMSQ4buLYSBjaOG7iSBn4butaScgdGjDoG5oIDx0aOG7pSBs4buBPiAoaG/hurdjIHRo4buldCBs4buBIG5nxrDhu51pIGNvbW1pdCBu4bq/dSBi4buPIHF1w6puKSIKKyLEkeG6t3Qg4oCcxJDhu4thIGNo4buJIGfhu61p4oCdIHRow6BuaCA8dGjhu6UgbOG7gT4gKGhv4bq3YyB0aOG7pXQgbOG7gSBuZ8aw4budaSBjb21taXQgbuG6v3UgYuG7jyBxdcOqbikiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5OQorIzogYnVpbHRpbi9sb2cuYzoxMjE5CiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAibWVzc2FnZS1pZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjAwCisjOiBidWlsdGluL2xvZy5jOjEyMjAKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgImTDuW5nIHRoxrAgxJHhuqd1IHRpw6puIMSR4buDIHRy4bqjIGzhu51pIDxtZXNzYWdlLWlkPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjAxIGJ1aWx0aW4vbG9nLmM6MTIwNAorIzogYnVpbHRpbi9sb2cuYzoxMjIxIGJ1aWx0aW4vbG9nLmM6MTIyNAogbXNnaWQgImJvdW5kYXJ5IgogbXNnc3RyICJyYW5oIGdp4bubaSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjAyCisjOiBidWlsdGluL2xvZy5jOjEyMjIKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICLEkcOtbmgga8OobSBtaeG6v25nIHbDoSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjA1CisjOiBidWlsdGluL2xvZy5jOjEyMjUKIG1zZ2lkICJpbmxpbmUgdGhlIHBhdGNoIgogbXNnc3RyICJkw7luZyBtaeG6v25nIHbDoSBsw6BtIG7hu5lpIGR1bmciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwOQorIzogYnVpbHRpbi9sb2cuYzoxMjI5CiBtc2dpZCAiZW5hYmxlIG1lc3NhZ2UgdGhyZWFkaW5nLCBzdHlsZXM6IHNoYWxsb3csIGRlZXAiCiBtc2dzdHIgImNobyBwaMOpcCBsdeG7k25nIGzhu51pIG5o4bqvbiwga2nhu4N1OiDigJxzaGFsbG934oCdLCDigJxkZWVw4oCdIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTIzMQogbXNnaWQgInNpZ25hdHVyZSIKIG1zZ3N0ciAiY2jhu68ga8O9IgogCi0jOiBidWlsdGluL2xvZy5jOjEyMTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTIzMgogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSIKIG1zZ3N0ciAidGjDqm0gY2jhu68ga8O9IgogCi0jOiBidWlsdGluL2xvZy5jOjEyMTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTIzMwogbXNnaWQgImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiCiBtc2dzdHIgImtow7RuZyBoaeG7g24gdGjhu4sgY8OhYyB0w6puIHThuq1wIHRpbiBj4bunYSBtaeG6v25nIHbDoSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjg4CisjOiBidWlsdGluL2xvZy5jOjEzMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKIG1zZ3N0ciAiZMOybmcgdGjhu6V0IGzhu4Ega2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTMyMgogbXNnaWQgIi1uIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiLW4gdsOgICAtayBsb+G6oWkgdOG7qyBs4bqrbiBuaGF1LiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzA1CisjOiBidWlsdGluL2xvZy5jOjEzMjQKIG1zZ2lkICItLXN1YmplY3QtcHJlZml4IGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiLS1zdWJqZWN0LXByZWZpeCB2w6AgLWsgeHVuZyBraOG6r2MgbmhhdS4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMxMworIzogYnVpbHRpbi9sb2cuYzoxMzMyCiBtc2dpZCAiLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLW9ubHkga2jDtG5nIGjhu6NwIGzDvSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzE1CisjOiBidWlsdGluL2xvZy5jOjEzMzQKIG1zZ2lkICItLW5hbWUtc3RhdHVzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1zdGF0dXMga2jDtG5nIGjhu6NwIGzDvSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzE3CisjOiBidWlsdGluL2xvZy5jOjEzMzYKIG1zZ2lkICItLWNoZWNrIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tY2hlY2sga2jDtG5nIGjhu6NwIGzDvSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzQwCisjOiBidWlsdGluL2xvZy5jOjEzNTkKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKIG1zZ3N0ciAixJHhuqd1IHJhIGNodeG6qW4sIGhheSB0aMawIG3hu6VjLCBjaOG7jW4gY8OhaSBuw6BvPyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzQyCisjOiBidWlsdGluL2xvZy5jOjEzNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHThuqFvIHRoxrAgbeG7pWMg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ5MAorIzogYnVpbHRpbi9sb2cuYzoxNTA5CiBtc2dpZCAiRmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB04bqhbyBjw6FjIHThuq1wIHRpbiBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzOQorIzogYnVpbHRpbi9sb2cuYzoxNTU4CiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPHRoxrDhu6NuZy1uZ3Xhu5NuPiBbPGhlYWQ+IFs8Z2nhu5tpLWjhuqFuPl1dXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTk0CisjOiBidWlsdGluL2xvZy5jOjE2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBmaW5kIGEgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBwbGVhc2Ugc3BlY2lmeSA8dXBzdHJlYW0+IG1hbnVhbGx5LlxuIgogbXNnc3RyICIiCi0iS2jDtG5nIHTDrG0gdGjhuqV5IG5ow6FuaCBt4bqhbmcgYuG7iyB0aGVvIHbhur90LCBow6N5IGNo4buJIMSR4buLbmggPHRoxrDhu6NuZy1uZ3Xhu5NuPiBt4buZdCBjw6FjaCAiCi0idGjhu6cgY8O0bmcuXG4iCisiS2jDtG5nIHTDrG0gdGjhuqV5IG5ow6FuaCBt4bqhbmcgxJHGsOG7o2MgdGhlbyBkw7VpLCBow6N5IGNo4buJIMSR4buLbmggPHRoxrDhu6NuZy1uZ3Xhu5NuPiBt4buZdCAiCisiY8OhY2ggdGjhu6cgY8O0bmcuXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTYwNyBidWlsdGluL2xvZy5jOjE2MDkgYnVpbHRpbi9sb2cuYzoxNjIxCisjOiBidWlsdGluL2xvZy5jOjE2MjYgYnVpbHRpbi9sb2cuYzoxNjI4IGJ1aWx0aW4vbG9nLmM6MTY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKLW1zZ3N0ciAiS2jDtG5nIGhp4buDdSBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpICVzIgorbXNnc3RyICJLaMO0bmcgaGnhu4N1IGzhuqduIGNodXnhu4NuIGdpYW8gJXMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MDgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzozOTgKIG1zZ2lkICJnaXQgbHMtZmlsZXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgW2PDoWMtdMO5eS1jaOG7jW5dIFs8dOG6rXAtdGluPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTUKIG1zZ2lkICJpZGVudGlmeSB0aGUgZmlsZSBzdGF0dXMgd2l0aCB0YWdzIgogbXNnc3RyICJuaOG6rW4gZOG6oW5nIGPDoWMgdHLhuqFuZyB0aMOhaSB04bqtcCB0aW4gduG7m2kgdGjhursiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTcKIG1zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdhc3N1bWUgdW5jaGFuZ2VkJyBmaWxlcyIKIG1zZ3N0ciAiIgogImTDuW5nIGNo4buvIGPDoWkgdmnhur90IHRoxrDhu51uZyBjaG8gY8OhYyB04bqtcCB0aW4g4oCcYXNzdW1lIHVuY2hhbmdlZOKAnSAoZ2nhuqMgxJHhu4tuaCBraMO0bmcgIgogInRoYXkgxJHhu5VpKSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1OQogbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gxJHGsOG7o2Mgbmjhu5sgdOG6oW0gdsOgbyDEkeG6p3UgcmEgKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDcxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDYxCiBtc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIHThuq1wIHRpbiDEkcOjIHjDs2EgdHJvbmcga+G6v3QgeHXhuqV0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDczCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDYzCiBtc2dpZCAic2hvdyBtb2RpZmllZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gxJHDoyBi4buLIHPhu61hIMSR4buVaSByYSBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjUKIG1zZ2lkICJzaG93IG90aGVyIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIHThuq1wIHRpbiBraMOhYyB0cm9uZyBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjcKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIGLhu4sgYuG7jyBxdWEgdHJvbmcga+G6v3QgeHXhuqV0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDgwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDcwCiBtc2dpZCAic2hvdyBzdGFnZWQgY29udGVudHMnIG9iamVjdCBuYW1lIGluIHRoZSBvdXRwdXQiCi1tc2dzdHIgImhp4buDbiB0aOG7iyB0w6puIMSR4buRaSB0xrDhu6NuZyBj4bunYSBu4buZaSBkdW5nIMSRxrDhu6NjIGzGsHUgdHLhuqFuZyB0aMOhaSDhu58ga+G6v3QgeHXhuqV0IgorbXNnc3RyICJoaeG7g24gdGjhu4sgdMOqbiDEkeG7kWkgdMaw4bujbmcgY+G7p2EgbuG7mWkgZHVuZyDEkcaw4bujYyDEkeG6t3QgbMOqbiBi4buHIHBow7NuZyByYSBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzIKIG1zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gdHLDqm4gaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBtw6AgbsOzIGPhuqduIMSRxrDhu6NjIGfhu6EgYuG7jyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NAogbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZSBvbmx5IgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgdMOqbiBj4bunYSBjw6FjIHRoxrAgbeG7pWMg4oCca2jDoWPigJ0iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzcKIG1zZ2lkICJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIgogbXNnc3RyICJraMO0bmcgaGnhu4NuIHRo4buLIHRoxrAgbeG7pWMgcuG7l25nIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDkwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDgwCiBtc2dpZCAic2hvdyB1bm1lcmdlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gY2jGsGEgaMOyYSB0cuG7mW4gdHJvbmcga+G6v3QgeHXhuqV0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDkyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDgyCiBtc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCiBtc2dzdHIgImhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHJlc29sdmUtdW5kbyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NAogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAiYuG7jyBxdWEgbmjhu69uZyB04bqtcCB0aW4ga2jhu5twIHbhu5tpIG3hu5l0IG3huqt1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDk3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDg3CiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAibeG6q3UgbG/huqFpIHRy4burIMSRxrDhu6NjIMSR4buNYyB04burIDx04bqtcCB0aW4+IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTAwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDkwCiBtc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCiBtc2dzdHIgIsSR4buNYyB0aMOqbSBjw6FjIG3huqt1IG5nb+G6oWkgdHLhu6sgbeG7l2kgdGjGsCBt4bulYyB0cm9uZyA8dOG6rXAgdGluPiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwMgorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MgogbXNnaWQgImFkZCB0aGUgc3RhbmRhcmQgZ2l0IGV4Y2x1c2lvbnMiCiBtc2dzdHIgInRow6ptIGxv4bqhaSB0cuG7qyB0acOqdSBjaHXhuqluIGtp4buDdSBnaXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTUKIG1zZ2lkICJtYWtlIHRoZSBvdXRwdXQgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAibMOgbSBjaG8ga+G6v3QgeHXhuqV0IGxpw6puIHF1YW4gxJHhur9uIHRoxrAgbeG7pWMg4bufIG3hu6ljIGNhbyBuaOG6pXQgKGfhu5FjKSBj4bunYSBk4buxIMOhbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5OAogbXNnaWQgImlmIGFueSA8ZmlsZT4gaXMgbm90IGluIHRoZSBpbmRleCwgdHJlYXQgdGhpcyBhcyBhbiBlcnJvciIKIG1zZ3N0ciAibuG6v3UgPHThuq1wIHRpbj4gYuG6pXQga+G7syBraMO0bmcg4bufIHRyb25nIGLhuqNuZyBt4bulYyBs4bulYywgeOG7rSBsw70gbsOzIG5oxrAgbeG7mXQgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTkKIG1zZ2lkICJ0cmVlLWlzaCIKIG1zZ3N0ciAidHJlZS1pc2giCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDAKIG1zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgogbXNnc3RyICIiCiAiZ2nhuqMgxJHhu4tuaCBy4bqxbmcgY8OhYyDEkcaw4budbmcgZOG6q24gxJHDoyBi4buLIGfhu6EgYuG7jyBr4buDIHThu6sgPHRyZWUtaXNoPiBuYXkgduG6q24gaGnhu4duIGRp4buHbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMgorIzogYnVpbHRpbi9scy1maWxlcy5jOjUwMgogbXNnaWQgInNob3cgZGVidWdnaW5nIGRhdGEiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBk4buvIGxp4buHdSBn4buhIGzhu5dpIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoyNworIzogYnVpbHRpbi9scy10cmVlLmM6MjgKIG1zZ2lkICJnaXQgbHMtdHJlZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgbHMtdHJlZSBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8dHJlZS1pc2g+IFs8xJHGsOG7nW5nLWThuqtuPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyNQorIzogYnVpbHRpbi9scy10cmVlLmM6MTI2CiBtc2dpZCAib25seSBzaG93IHRyZWVzIgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgY8OhYyB0cmVlIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjcKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyOAogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJ0cmVlcyIKIG1zZ3N0ciAixJHhu4cgcXV5IHbDoG8gY8OhYyB0aMawIG3hu6VjIGNvbiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI5CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzAKIG1zZ2lkICJzaG93IHRyZWVzIHdoZW4gcmVjdXJzaW5nIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OieSBraGkgxJHhu4cgcXV5IgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzIKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMwogbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIGJ5dGUiCiBtc2dzdHIgImNo4bqlbSBk4bupdCBt4bulYyB0aW4gduG7m2kgYnl0ZSBOVUwiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMworIzogYnVpbHRpbi9scy10cmVlLmM6MTM0CiBtc2dpZCAiaW5jbHVkZSBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAiZ+G7k20gY+G6oyBrw61jaCB0aMaw4bubYyDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNSBidWlsdGluL2xzLXRyZWUuYzoxMzcKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNiBidWlsdGluL2xzLXRyZWUuYzoxMzgKIG1zZ2lkICJsaXN0IG9ubHkgZmlsZW5hbWVzIgogbXNnc3RyICJjaOG7iSBsaeG7h3Qga8OqIHTDqm4gdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxNDAKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MQogbXNnaWQgInVzZSBmdWxsIHBhdGggbmFtZXMiCiBtc2dzdHIgImTDuW5nIHTDqm4gxJHGsOG7nW5nIGThuqtuIMSR4bqneSDEkeG7pyIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTQyCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDMKIG1zZ2lkICJsaXN0IGVudGlyZSB0cmVlOyBub3QganVzdCBjdXJyZW50IGRpcmVjdG9yeSAoaW1wbGllcyAtLWZ1bGwtbmFtZSkiCiBtc2dzdHIgImxp4buHdCBrw6ogY8OieSBt4bulYyB0aW47IGtow7RuZyBjaOG7iSB0aMawIG3hu6VjIGhp4buHbiBow6BuaCAobmfhu6Ugw70gLS1mdWxsLW5hbWUpIgogCkBAIC02NTI5LDE1MSArNjc3MywxNTEgQEAKIG1zZ2lkICJBdmFpbGFibGUgY3VzdG9tIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAiQ8OhYyBjaGnhur9uIGzGsOG7o2MgdMO5eSBjaOG7iW5oIHPhurVuIHPDoG5nIGzDoDoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTEKIG1zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJraMO0bmcgaGnhu4NuIHRo4buLIHRo4buRbmcga8OqIGtow6FjIGJp4buHdCB04bqhaSBjdeG7kWkgY+G7p2EgbOG6p24gaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTQKIG1zZ2lkICJzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgImhp4buDbiB0aOG7iyB0aOG7kW5nIGvDqiBraMOhYyBiaeG7h3QgdOG6oWkgY3Xhu5FpIGPhu6dhIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjAyCisjOiBidWlsdGluL21lcmdlLmM6MTk1CiBtc2dpZCAiKHN5bm9ueW0gdG8gLS1zdGF0KSIKIG1zZ3N0ciAiKMSR4buTbmcgbmdoxKlhIHbhu5tpIC0tc3RhdCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTcKIG1zZ2lkICJhZGQgKGF0IG1vc3QgPG4+KSBlbnRyaWVzIGZyb20gc2hvcnRsb2cgdG8gbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgInRow6ptICjDrXQgbmjhuqV0IDxuPikgbeG7pWMgdOG7qyBzaG9ydGxvZyBjaG8gZ2hpIGNow7ogY2h1eeG7g24gZ2lhbyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwNworIzogYnVpbHRpbi9tZXJnZS5jOjIwMAogbXNnaWQgImNyZWF0ZSBhIHNpbmdsZSBjb21taXQgaW5zdGVhZCBvZiBkb2luZyBhIG1lcmdlIgotbXNnc3RyICJ04bqhbyBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIMSRxrBvbiB0aGF5IHbDrCB0aOG7sWMgaGnhu4duIHZp4buHYyBow7JhIHRy4buZbiIKK21zZ3N0ciAidOG6oW8gbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyDEkcawb24gdGhheSB2w6wgdGjhu7FjIGhp4buHbiB2aeG7h2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDIKIG1zZ2lkICJwZXJmb3JtIGEgY29tbWl0IGlmIHRoZSBtZXJnZSBzdWNjZWVkcyAoZGVmYXVsdCkiCiBtc2dzdHIgInRo4buxYyBoaeG7h24gY2h1eeG7g24gZ2lhbyBu4bq/dSBow7JhIHRy4buZbiB0aMOgbmggY8O0bmcgKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjExCisjOiBidWlsdGluL21lcmdlLmM6MjA0CiBtc2dpZCAiZWRpdCBtZXNzYWdlIGJlZm9yZSBjb21taXR0aW5nIgotbXNnc3RyICJz4butYSBjaMO6IHRow61jaCB0csaw4bubYyBraGkgY2h1eeG7g24gZ2lhbyAoY29tbWl0KSIKK21zZ3N0ciAic+G7rWEgY2jDuiB0aMOtY2ggdHLGsOG7m2Mga2hpIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDUKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQgKGRlZmF1bHQpIgogbXNnc3RyICJjaG8gcGjDqXAgZmFzdC1mb3J3YXJkICht4bq3YyDEkeG7i25oKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNAorIzogYnVpbHRpbi9tZXJnZS5jOjIwNwogbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCiBtc2dzdHIgImLhu48gcXVhIG7hur91IGZhc3QtZm9yd2FyZCBraMO0bmcgdGjhu4MgxJHGsOG7o2MiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTEKIG1zZ2lkICJWZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCiBtc2dzdHIgIlRo4bqpbSB0cmEgeGVtIGzhuqduIGNodXnhu4NuIGdpYW8gY8OzIHTDqm4gxJHDsyBjw7MgY2jhu68ga8O9IEdQRyBo4bujcCBs4buHIGhheSBraMO0bmciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTkgYnVpbHRpbi9ub3Rlcy5jOjczOCBidWlsdGluL3JldmVydC5jOjExNAorIzogYnVpbHRpbi9tZXJnZS5jOjIxMiBidWlsdGluL25vdGVzLmM6NzM4IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKIG1zZ2lkICJzdHJhdGVneSIKIG1zZ3N0ciAiY2hp4bq/biBsxrDhu6NjIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIwCisjOiBidWlsdGluL21lcmdlLmM6MjEzCiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgogbXNnc3RyICJjaGnhur9uIGzGsOG7o2MgaMOyYSB0cuG7mW4gc+G6vSBkw7luZyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyMQorIzogYnVpbHRpbi9tZXJnZS5jOjIxNAogbXNnaWQgIm9wdGlvbj12YWx1ZSIKIG1zZ3N0ciAidMO5eV9jaOG7jW49Z2nDoV90cuG7iyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyMgorIzogYnVpbHRpbi9tZXJnZS5jOjIxNQogbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgInTDuXkgY2jhu41uIGNobyBjaGnhur9uIGzGsOG7o2MgaMOyYSB0cuG7mW4gxJHDoyBjaOG7jW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcKIG1zZ2lkICJtZXJnZSBjb21taXQgbWVzc2FnZSAoZm9yIGEgbm9uLWZhc3QtZm9yd2FyZCBtZXJnZSkiCiBtc2dzdHIgIiIKICJow7JhIHRy4buZbiBnaGkgY2jDuiBj4bunYSBs4bqnbiBjaHV54buDbiBnaWFvIChkw6BuaCBjaG8gaMOyYSB0cuG7mW4gbm9uLWZhc3QtZm9yd2FyZCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjEKIG1zZ2lkICJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiYsOjaSBi4buPIHF1w6EgdHLDrG5oIGjDsmEgdHLhu5luIGhp4buHbiB04bqhaSDEkWFuZyB0aOG7sWMgaGnhu4duIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU3CisjOiBidWlsdGluL21lcmdlLmM6MjUwCiBtc2dpZCAiY291bGQgbm90IHJ1biBzdGFzaC4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyBjaOG6oXkgc3Rhc2guIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjYyCisjOiBidWlsdGluL21lcmdlLmM6MjU1CiBtc2dpZCAic3Rhc2ggZmFpbGVkIgogbXNnc3RyICJzdGFzaCBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2NworIzogYnVpbHRpbi9tZXJnZS5jOjI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSB2YWxpZCBvYmplY3Q6ICVzIgogbXNnc3RyICJraMO0bmcgcGjhuqNpIGzDoCBt4buZdCDEkeG7kWkgdMaw4bujbmcgaOG7o3AgbOG7hzogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyODYgYnVpbHRpbi9tZXJnZS5jOjMwMworIzogYnVpbHRpbi9tZXJnZS5jOjI3OSBidWlsdGluL21lcmdlLmM6Mjk2CiBtc2dpZCAicmVhZC10cmVlIGZhaWxlZCIKIG1zZ3N0ciAicmVhZC10cmVlIGfhurdwIGzhu5dpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzMzCisjOiBidWlsdGluL21lcmdlLmM6MzI2CiBtc2dpZCAiIChub3RoaW5nIHRvIHNxdWFzaCkiCiBtc2dzdHIgIiAoa2jDtG5nIGPDsyBnw6wgxJHhu4Mgc3F1YXNoKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM0NgorIzogYnVpbHRpbi9tZXJnZS5jOjMzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJTcXVhc2ggY29tbWl0IC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgIlNxdWFzaCBjb21taXQgLS0ga2jDtG5nIGPhuq1wIG5o4bqtdCBIRUFEXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozNzEKIG1zZ2lkICJXcml0aW5nIFNRVUFTSF9NU0ciCiBtc2dzdHIgIsSQYW5nIGdoaSBTUVVBU0hfTVNHIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzgwCisjOiBidWlsdGluL21lcmdlLmM6MzczCiBtc2dpZCAiRmluaXNoaW5nIFNRVUFTSF9NU0ciCiBtc2dzdHIgIkhvw6BuIHRow6BuaCBTUVVBU0hfTVNHIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDAzCisjOiBidWlsdGluL21lcmdlLmM6Mzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIG1lc3NhZ2UgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKIG1zZ3N0ciAiS2jDtG5nIHRow7RuZyDEkWnhu4dwIGjDsmEgdHLhu5luIC0tIGtow7RuZyBj4bqtcCBuaOG6rXQgSEVBRFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDUzCisjOiBidWlsdGluL21lcmdlLmM6NDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCi1tc2dzdHIgIuKAnCVz4oCdIGtow7RuZyBjaOG7iSDEkeG6v24gbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBuw6BvIGPhuqMiCittc2dzdHIgIuKAnCVz4oCdIGtow7RuZyBjaOG7iSDEkeG6v24gbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyBuw6BvIGPhuqMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1NjUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAiQ2h14buXaSBicmFuY2guJXMubWVyZ2VvcHRpb25zIHNhaTogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NTcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2NTAKIG1zZ2lkICJnaXQgd3JpdGUtdHJlZSBmYWlsZWQgdG8gd3JpdGUgYSB0cmVlIgogbXNnc3RyICJs4buHbmggZ2l0IHdyaXRlLXRyZWUgZ+G6t3AgbOG7l2kga2hpIGdoaSBt4buZdCBjw6J5IgogCi0jOiBidWlsdGluL21lcmdlLmM6Njg1CisjOiBidWlsdGluL21lcmdlLmM6Njc4CiBtc2dpZCAiTm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKIG1zZ3N0ciAiS2jDtG5nIGPhuqdtIG7huq9tIGfDrCBuZ2/DoGkgaGFpIGhlYWQgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2OTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBvcHRpb24gZm9yIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIG1zZ3N0ciAiS2jDtG5nIGhp4buDdSB0w7l5IGNo4buNbiBjaG8gbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzEzCisjOiBidWlsdGluL21lcmdlLmM6NzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjgwMgorIzogYnVpbHRpbi9tZXJnZS5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBmcm9tICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMgdOG7qyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjgxMQorIzogYnVpbHRpbi9tZXJnZS5jOjgwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgY29tbWl0dGluZyBtZXJnZTsgdXNlICdnaXQgY29tbWl0JyB0byBjb21wbGV0ZSB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIiIKLSJW4bqrbiBjaMawYSBow7JhIHRy4buZbiBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCk7IHPhu60gZOG7pW5nIGzhu4duaCDigJxnaXQgY29tbWl04oCdIMSR4buDICIKLSJob8OgbiB04bqldCB2aeG7h2MgaMOyYSB0cuG7mW4uXG4iCisiVuG6q24gY2jGsGEgaMOyYSB0cuG7mW4gY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvOyBz4butIGThu6VuZyBs4buHbmgg4oCcZ2l0IGNvbW1pdOKAnSDEkeG7gyBob8OgbiB04bqldCAiCisidmnhu4djIGjDsmEgdHLhu5luLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODE3CisjOiBidWlsdGluL21lcmdlLmM6ODEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgYSBjb21taXQgbWVzc2FnZSB0byBleHBsYWluIHdoeSB0aGlzIG1lcmdlIGlzIG5lY2Vzc2FyeSxcbiIKQEAgLTY2ODQsMjE2ICs2OTI4LDIyMCBAQAogbXNnc3RyICIiCiAiSMOjeSBuaOG6rXAgdsOgbyBjw6FjIHRow7RuZyB0aW4gxJHhu4MgZ2nhuqNpIHRow61jaCB04bqhaSBzYW8gc+G7sSBow7JhIHRy4buZbiBuw6B5IGzDoCBj4bqnbiAiCiAidGhp4bq/dCxcbiIKLSLEkeG6t2MgYmnhu4d0IGzDoCBraGkgbsOzIGjDsmEgdHLhu5luIG5nxrDhu6NjIGTDsm5nIMSRw6MgY+G6rXAgbmjhuq10IHbDoG8gdHJvbmcgbeG7mXQgbmjDoW5oICIKKyLEkeG6t2MgYmnhu4d0IGzDoCBraGkgbsOzIGjDsmEgdHLhu5luIHRoxrDhu6NuZyBuZ3Xhu5NuIMSRw6MgY+G6rXAgbmjhuq10IHbDoG8gdHJvbmcgbeG7mXQgbmjDoW5oICIKICJ0b3BpYy5cbiIKICJcbiIKICJOaOG7r25nIGTDsm5nIMSRxrDhu6NjIGLhuq90IMSR4bqndSBi4bqxbmcg4oCcJWPigJ0gc+G6vSDEkcaw4bujYyBi4buPIHF1YSwgdsOgIHBo4bqnbiBjaMO6IHRow61jaCBuw6B5IG7hur91ICIKICJy4buXbmdcbiIKLSJz4bq9IGjhu6d5IGLhu48gbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KS5cbiIKKyJz4bq9IGjhu6d5IGLhu48gbOG6p24gY2h1eeG7g24gZ2lhby5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjg0MQorIzogYnVpbHRpbi9tZXJnZS5jOjgzNAogbXNnaWQgIkVtcHR5IGNvbW1pdCBtZXNzYWdlLiIKIG1zZ3N0ciAiQ2jDuiB0aMOtY2ggY+G7p2EgbOG6p24gY29tbWl0IChjaHV54buDbiBnaWFvKSBi4buLIHRy4buRbmcgcuG7l25nLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjg1MworIzogYnVpbHRpbi9tZXJnZS5jOjg0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJXb25kZXJmdWwuXG4iCiBtc2dzdHIgIlRo4bqnbiBr4buzLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTE4CisjOiBidWlsdGluL21lcmdlLmM6OTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSBmYWlsZWQ7IGZpeCBjb25mbGljdHMgYW5kIHRoZW4gY29tbWl0IHRoZSByZXN1bHQuXG4iCiBtc2dzdHIgIiIKLSJWaeG7h2MgdOG7sSDEkeG7mW5nIGjDsmEgdHLhu5luIGfhurdwIGzhu5dpOyBow6N5IHPhu61hIGPDoWMgeHVuZyDEkeG7mXQgc2F1IMSRw7MgY2h1eeG7g24gZ2lhbyAiCi0iKGNvbW1pdCkga+G6v3QgcXXhuqMuXG4iCisiVmnhu4djIHThu7EgxJHhu5luZyBow7JhIHRy4buZbiBn4bq3cCBs4buXaTsgaMOjeSBz4butYSBjw6FjIHh1bmcgxJHhu5l0IHNhdSDEkcOzIGNodXnhu4NuIGdpYW8ga+G6v3QgIgorInF14bqjLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTM0CisjOiBidWlsdGluL21lcmdlLmM6OTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IgogbXNnc3RyICIlcyBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBs4bqnbiBjb21taXQgKGNodXnhu4NuIGdpYW8pIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTc1CisjOiBidWlsdGluL21lcmdlLmM6OTY4CiBtc2dpZCAiTm8gY3VycmVudCBicmFuY2guIgogbXNnc3RyICJraMO0bmcgcGjhuqNpIG5ow6FuaCBoaeG7h24gaMOgbmgiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzAKIG1zZ2lkICJObyByZW1vdGUgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIktow7RuZyBjw7MgbcOheSBjaOG7pyBjaG8gbmjDoW5oIGhp4buHbiBow6BuaC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzIKIG1zZ2lkICJObyBkZWZhdWx0IHVwc3RyZWFtIGRlZmluZWQgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIktow7RuZyBjw7MgdGjGsOG7o25nIG5ndeG7k24gbeG6t2MgxJHhu4tuaCDEkcaw4bujYyDEkeG7i25oIG5naMSpYSBjaG8gbmjDoW5oIGhp4buHbiBow6BuaC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5ODQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKLW1zZ3N0ciAiS2jDtG5nIG5ow6FuaCBt4bqhbmcgdGhlbyB24bq/dCBjaG8gJXMgdOG7qyAlcyIKK21zZ3N0ciAiS2jDtG5nIG5ow6FuaCBt4bqhbmcgdGhlbyBkw7VpIGNobyAlcyB04burICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE0MAorIzogYnVpbHRpbi9tZXJnZS5jOjExMzMKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSB0byBhYm9ydCAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgIiIKICLhu54gxJHDonkga2jDtG5nIGPDsyBs4bqnbiBow7JhIHRy4buZbiBuw6BvIMSRxrDhu6NjIGjhu6d5IGLhu48gZ2nhu69hIGNo4burbmcgY+G6oyAodGhp4bq/dSBNRVJHRV9IRUFEKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTU2IGdpdC1wdWxsLnNoOjMxCisjOiBidWlsdGluL21lcmdlLmM6MTE0OSBnaXQtcHVsbC5zaDozMQogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgogbXNnc3RyICIiCiAiQuG6oW4gY2jGsGEga+G6v3QgdGjDumMgdmnhu4djIGjDsmEgdHLhu5luZyAoTUVSR0VfSEVBRCB24bqrbiB04buTbiB04bqhaSkuXG4iCi0iSMOjeSBjaHV54buDbiBnaWFvIChjb21taXQpIGPDoWMgdGhheSDEkeG7lWkgdHLGsOG7m2Mga2hpIGLhuqFuIGPDsyB0aOG7gyBow7JhIHRy4buZbi4iCisiSMOjeSBjaHV54buDbiBnaWFvIGPDoWMgdGhheSDEkeG7lWkgdHLGsOG7m2Mga2hpIGLhuqFuIGPDsyB0aOG7gyBow7JhIHRy4buZbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTU5IGdpdC1wdWxsLnNoOjM0CisjOiBidWlsdGluL21lcmdlLmM6MTE1MiBnaXQtcHVsbC5zaDozNAogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiQuG6oW4gY2jGsGEga+G6v3QgdGjDumMgdmnhu4djIGjDsmEgdHLhu5luZyAoTUVSR0VfSEVBRCB24bqrbiB04buTbiB04bqhaSkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE2MworIzogYnVpbHRpbi9tZXJnZS5jOjExNTYKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgY2FuIG1lcmdlLiIKIG1zZ3N0ciAiIgogIkLhuqFuIGNoxrBhIGvhur90IHRow7pjIHZp4buHYyBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCB24bqrbiB04buTbiB04bqhaSkuXG4iCi0iSMOjeSBjaHV54buDbiBnaWFvIChjb21taXQpIGPDoWMgdGhheSDEkeG7lWkgdHLGsOG7m2Mga2hpIGLhuqFuIGPDsyB0aOG7gyBow7JhIHRy4buZbi4iCisiSMOjeSBjaHV54buDbiBnaWFvIGPDoWMgdGhheSDEkeG7lWkgdHLGsOG7m2Mga2hpIGLhuqFuIGPDsyB0aOG7gyBow7JhIHRy4buZbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTY2CisjOiBidWlsdGluL21lcmdlLmM6MTE1OQogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiQuG6oW4gY2jGsGEga+G6v3QgdGjDumMgdmnhu4djIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIHbhuqtuIHThu5NuIHThuqFpKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTc1CisjOiBidWlsdGluL21lcmdlLmM6MTE2OAogbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tbm8tZmYuIgogbXNnc3RyICJC4bqhbiBraMO0bmcgdGjhu4Mga+G6v3QgaOG7o3AgLS1zcXVhc2ggduG7m2kgLS1uby1mZi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg0CisjOiBidWlsdGluL21lcmdlLmM6MTE3NwogbXNnaWQgIk5vIGNvbW1pdCBzcGVjaWZpZWQgYW5kIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG5vdCBzZXQuIgotbXNnc3RyICIiCi0iS2jDtG5nIGNo4buJIHJhIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgdsOgIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIGNoxrBhIMSRxrDhu6NjICIKLSLEkeG6t3QuIgorbXNnc3RyICJLaMO0bmcgY2jhu4kgcmEgbOG6p24gY2h1eeG7g24gZ2lhbyB2w6AgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gY2jGsGEgxJHGsOG7o2MgxJHhurd0LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMTYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjA5CiBtc2dpZCAiQ2FuIG1lcmdlIG9ubHkgZXhhY3RseSBvbmUgY29tbWl0IGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiIgotIktow7RuZyB0aOG7gyBow7JhIHRy4buZbiBt4buZdCBjw6FjaCDEkcO6bmcgxJHhuq9uIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgdsOgbyBt4buZdCAiCi0iaGVhZCBy4buXbmciCisiS2jDtG5nIHRo4buDIGjDsmEgdHLhu5luIG3hu5l0IGPDoWNoIMSRw7puZyDEkeG6r24gbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyB2w6BvIG3hu5l0IGhlYWQgcuG7l25nIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIxOQorIzogYnVpbHRpbi9tZXJnZS5jOjEyMTIKIG1zZ2lkICJTcXVhc2ggY29tbWl0IGludG8gZW1wdHkgaGVhZCBub3Qgc3VwcG9ydGVkIHlldCIKIG1zZ3N0ciAiU3F1YXNoIGNvbW1pdCB2w6BvIG3hu5l0IGhlYWQgdHLhu5FuZyBy4buXbmcgduG6q24gY2jGsGEgxJHGsOG7o2MgaOG7lyB0cuG7oyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMjEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjE0CiBtc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCiBtc2dzdHIgIiIKLSJDaHV54buDbiBnaWFvIChjb21taXQpIGtow7RuZy1mYXN0LWZvcndhcmQga2jDtG5nIGjhu6NwIGzDvSDhu58gdHJvbmcgbeG7mXQgaGVhZCB0cuG7kW5nICIKLSJy4buXbmciCisiQ2h1eeG7g24gZ2lhbyBraMO0bmctZmFzdC1mb3J3YXJkIGtow7RuZyBo4bujcCBsw70g4bufIHRyb25nIG3hu5l0IGhlYWQgdHLhu5FuZyBy4buXbmciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI2CisjOiBidWlsdGluL21lcmdlLmM6MTIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICIlcyAtIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHPhu5EgdGjhu6kgY2jDum5nIHTDtGkgY8OzIHRo4buDIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI3NworIzogYnVpbHRpbi9tZXJnZS5jOjEyNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSwgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAiIgogIkzhuqduIGNodXnhu4NuIGdpYW8gJXMgY8OzIG3hu5l0IGNo4buvIGvDvSBHUEcga2jDtG5nIMSRw6FuZyB0aW4sIMSRxrDhu6NjIGNobyBsw6AgYuG7n2kgJXMuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI4MAorIzogYnVpbHRpbi9tZXJnZS5jOjEyNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGJhZCBHUEcgc2lnbmF0dXJlIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIkzhuqduIGNodXnhu4NuIGdpYW8gJXMgY8OzIG3hu5l0IGNo4buvIGvDvSBHUEcgc2FpLCDEkcaw4bujYyBjaG8gbMOgIGLhu59pICVzLiIKIAogIy4gJ04nCi0jOiBidWlsdGluL21lcmdlLmM6MTI4MworIzogYnVpbHRpbi9tZXJnZS5jOjEyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgYSBHUEcgc2lnbmF0dXJlLiIKLW1zZ3N0ciAiTOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSAlcyBraMO0bmcgY8OzIGNo4buvIGvDvSBHUEcuIgorbXNnc3RyICJM4bqnbiBjaHV54buDbiBnaWFvICVzIGtow7RuZyBjw7MgY2jhu68ga8O9IEdQRy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg2CisjOiBidWlsdGluL21lcmdlLmM6MTI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCiBtc2dzdHIgIkzhuqduIGNodXnhu4NuIGdpYW8gJXMgY8OzIG3hu5l0IGNo4buvIGvDvSBHUEcgdOG7kXQgYuG7n2kgJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzLi4lc1xuIgogbXNnc3RyICLEkGFuZyBj4bqtcCBuaOG6rXQgJXMuLiVzXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDA5CisjOiBidWlsdGluL21lcmdlLmM6MTQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgcmVhbGx5IHRyaXZpYWwgaW4taW5kZXggbWVyZ2UuLi5cbiIKIG1zZ3N0ciAixJBhbmcgdGjhu60gaMOyYSB0cuG7mW4ga2nhu4N1IOKAnHRyaXZpYWwgaW4taW5kZXjigJ0uLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MTYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vcGUuXG4iCiBtc2dzdHIgIktow7RuZy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDQxCiBtc2dpZCAiTm90IHBvc3NpYmxlIHRvIGZhc3QtZm9yd2FyZCwgYWJvcnRpbmcuIgogbXNnc3RyICJUaOG7sWMgaGnhu4duIGzhu4duaCBmYXN0LWZvcndhcmQgbMOgIGtow7RuZyB0aOG7gyDEkcaw4bujYywgxJFhbmcgYuG7jyBxdWEuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ3MSBidWlsdGluL21lcmdlLmM6MTU1MAorIzogYnVpbHRpbi9tZXJnZS5jOjE0NjQgYnVpbHRpbi9tZXJnZS5jOjE1NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCiBtc2dzdHIgIsSQYW5nIHR1YSBs4bqhaSBjw6J5IHRow6BuaCB0aOG7nWkgeGEgeMawYS4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ3NQorIzogYnVpbHRpbi9tZXJnZS5jOjE0NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIG1lcmdlIHN0cmF0ZWd5ICVzLi4uXG4iCiBtc2dzdHIgIsSQYW5nIHRo4butIGNoaeG6v24gbMaw4bujYyBow7JhIHRy4buZbiAlcy4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU0MQorIzogYnVpbHRpbi9tZXJnZS5jOjE1MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2Ugc3RyYXRlZ3kgaGFuZGxlZCB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIktow7RuZyBjw7MgY2hp4bq/biBsxrDhu6NjIGjDsmEgdHLhu5luIG7DoG8gxJHGsOG7o2MgbuG6r20gZ2nhu68gKGhhbmRsZSkgc+G7sSBow7JhIHRy4buZbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdlIHdpdGggc3RyYXRlZ3kgJXMgZmFpbGVkLlxuIgogbXNnc3RyICJIw7JhIHRy4buZbiB24bubaSBjaGnhur9uIGzGsOG7o2MgJXMgZ+G6t3AgbOG7l2kuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTUyCisjOiBidWlsdGluL21lcmdlLmM6MTU0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKIG1zZ3N0ciAiU+G7rSBk4bulbmcgJXMgxJHhu4MgY2h14bqpbiBi4buLIGdp4bqjaSBxdXnhur90IGLhurFuZyB0YXkuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTY0CisjOiBidWlsdGluL21lcmdlLmM6MTU1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICIiCiAiSMOyYSB0cuG7mW4gdOG7sSDEkeG7mW5nIMSRw6MgdHLhu58gbsOqbiB04buRdDsgYuG7iyBk4burbmcgdHLGsOG7m2Mga2hpIHZp4buHYyBjaHV54buDbiBnaWFvIMSRxrDhu6NjIHnDqnUgIgogImPhuqd1XG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI2Ci1tc2dpZCAiZ2l0IG1lcmdlLWJhc2UgWy1hfC0tYWxsXSA8Y29tbWl0PiA8Y29tbWl0Pi4uLiIKLW1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgWy1hfC0tYWxsXSA8Y29tbWl0PiA8Y29tbWl0Pi4uLiIKLQotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjcKLW1zZ2lkICJnaXQgbWVyZ2UtYmFzZSBbLWF8LS1hbGxdIC0tb2N0b3B1cyA8Y29tbWl0Pi4uLiIKLW1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgWy1hfC0tYWxsXSAtLW9jdG9wdXMgPGzhuqduIGNvbW1pdD4uLi4iCi0KLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI4Ci1tc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1pbmRlcGVuZGVudCA8Y29tbWl0Pi4uLiIKLW1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgLS1pbmRlcGVuZGVudCA8bOG6p24gY29tbWl0Pi4uLiIKLQogIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjkKLW1zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWlzLWFuY2VzdG9yIDxjb21taXQ+IDxjb21taXQ+IgotbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWlzLWFuY2VzdG9yIDxjb21taXQ+IDxjb21taXQ+IgorbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYXwtLWFsbF0gPGNvbW1pdD4gPGNvbW1pdD4uLi4iCittc2dzdHIgImdpdCBtZXJnZS1iYXNlIFstYXwtLWFsbF0gPGNvbW1pdD4gPGzhuqduX2NodXnhu4NuX2dpYW8+Li4uIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzo5OAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzAKK21zZ2lkICJnaXQgbWVyZ2UtYmFzZSBbLWF8LS1hbGxdIC0tb2N0b3B1cyA8Y29tbWl0Pi4uLiIKK21zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgWy1hfC0tYWxsXSAtLW9jdG9wdXMgPGzhuqduX2NodXnhu4NuX2dpYW8+Li4uIgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMQorbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGNvbW1pdD4uLi4iCittc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGzhuqduX2NodXnhu4NuX2dpYW8+Li4uIgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMgorbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPGNvbW1pdD4gPGNvbW1pdD4iCittc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPGNvbW1pdD4gPGzhuqduX2NodXnhu4NuX2dpYW8+IgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMworbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmPiBbPGNvbW1pdD5dIgorbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPHRoYW0tY2hp4bq/dT4gWzxs4bqnbl9jaHV54buDbl9naWFvPl0iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxNAogbXNnaWQgIm91dHB1dCBhbGwgY29tbW9uIGFuY2VzdG9ycyIKIG1zZ3N0ciAieHXhuqV0IHJhIHThuqV0IGPhuqMgY8OhYyDDtG5nIGLDoCwgdOG7lSB0acOqbiBjaHVuZyIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6OTkKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxNgogbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKIG1zZ3N0ciAidMOsbSB04buVIHRpw6puIGPhu6dhIGjDsmEgdHLhu5luIG4td2F5IMSRxqFuIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoxMDAKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOAogbXNnaWQgImxpc3QgcmV2cyBub3QgcmVhY2hhYmxlIGZyb20gb3RoZXJzIgogbXNnc3RyICJsaeG7h3Qga8OqIGPDoWMg4oCccmV24oCdIG3DoCBuw7Mga2jDtG5nIHRo4buDIMSR4buNYyDEkcaw4bujYyB04burIGPDoWkga2jDoWMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjEwMgorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIwCiBtc2dpZCAiaXMgdGhlIGZpcnN0IG9uZSBhbmNlc3RvciBvZiB0aGUgb3RoZXI/IgogbXNnc3RyICJsw6AgY2hhIG3hurkgxJHhuqd1IHRpw6puIGPhu6dhIGPDoWkga2jDoWM/IgogCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjIKK21zZ2lkICJmaW5kIHdoZXJlIDxjb21taXQ+IGZvcmtlZCBmcm9tIHJlZmxvZyBvZiA8cmVmPiIKK21zZ3N0ciAidMOsbSB4ZW0gPGNvbW1pdD4gxJHGsOG7o2MgcuG6vSBuaMOhbmgg4bufIMSRw6J1IHThu6sgcmVmbG9nIGPhu6dhIDx0aC5jaGnhur91PiIKKwogIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OAogbXNnaWQgIiIKICJnaXQgbWVyZ2UtZmlsZSBbb3B0aW9uc10gWy1MIG5hbWUxIFstTCBvcmlnIFstTCBuYW1lMl1dXSBmaWxlMSBvcmlnX2ZpbGUgIgpAQCAtNjk1MCwxMTggKzcxOTgsMTMzIEBACiBtc2dpZCAiYWxsb3cgY3JlYXRpb24gb2YgbW9yZSB0aGFuIG9uZSB0cmVlIgogbXNnc3RyICJjaG8gcGjDqXAgdOG6oW8gbmhp4buBdSBoxqFuIG3hu5l0IGPDonkiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNAorIzogYnVpbHRpbi9tdi5jOjE1CiBtc2dpZCAiZ2l0IG12IFtvcHRpb25zXSA8c291cmNlPi4uLiA8ZGVzdGluYXRpb24+IgogbXNnc3RyICJnaXQgbXYgW2PDoWMtdMO5eS1jaOG7jW5dIDxuZ3Xhu5NuPi4uLiA8xJHDrWNoPiIKIAotIzogYnVpbHRpbi9tdi5jOjY0CisjOiBidWlsdGluL212LmM6NzEKIG1zZ2lkICJmb3JjZSBtb3ZlL3JlbmFtZSBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgIsOpcCBideG7mWMgZGkgY2h1eeG7g24gaGF5IMSR4buVaSB0w6puIHRo4bqtbSBjaMOtIGPhuqMga2hpIMSRw61jaCDEkcOjIHThu5NuIHThuqFpIgogCi0jOiBidWlsdGluL212LmM6NjUKKyM6IGJ1aWx0aW4vbXYuYzo3MgogbXNnaWQgInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIgogbXNnc3RyICJi4buPIHF1YSBjw6FjIGzhu5dpIGxpw6puIHF1YW4gxJHhur9uIGRpIGNodXnhu4NuLCDEkeG7lWkgdMOqbiIKIAotIzogYnVpbHRpbi9tdi5jOjEwOAorIzogYnVpbHRpbi9tdi5jOjEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyByZW5hbWUgb2YgJyVzJyB0byAnJXMnXG4iCiBtc2dzdHIgIsSQYW5nIGtp4buDbSB0cmEgdmnhu4djIMSR4buVaSB0w6puIGPhu6dhIOKAnCVz4oCdIHRow6BuaCDigJwlc+KAnVxuIgogCi0jOiBidWlsdGluL212LmM6MTEyCisjOiBidWlsdGluL212LmM6MTI2CiBtc2dpZCAiYmFkIHNvdXJjZSIKIG1zZ3N0ciAibmd14buTbiBzYWkiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTUKKyM6IGJ1aWx0aW4vbXYuYzoxMjkKIG1zZ2lkICJjYW4gbm90IG1vdmUgZGlyZWN0b3J5IGludG8gaXRzZWxmIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZGkgY2h1eeG7g24gbeG7mXQgdGjGsCBt4bulYyB2w6BvIHRyb25nIGNow61uaCBuw7MgxJHGsOG7o2MiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTgKKyM6IGJ1aWx0aW4vbXYuYzoxMzIKIG1zZ2lkICJjYW5ub3QgbW92ZSBkaXJlY3Rvcnkgb3ZlciBmaWxlIgogbXNnc3RyICJraMO0bmcgZGkgY2h1eeG7g24gxJHGsOG7o2MgdGjGsCBt4bulYyB0aMO0bmcgcXVhIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9tdi5jOjEyOAorIzogYnVpbHRpbi9tdi5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJIdWg/IERpcmVjdG9yeSAlcyBpcyBpbiBpbmRleCBhbmQgbm8gc3VibW9kdWxlPyIKK21zZ3N0ciAiSOG6oz8gVGjGsCBt4bulYyDigJwlc+KAnSB0cm9uZyBjaOG7iSBt4bulYyB2w6Aga2jDtG5nIG3DtC3EkXVuIGNvbj8iCisKKyM6IGJ1aWx0aW4vbXYuYzoxNDAgYnVpbHRpbi9ybS5jOjMxOAorbXNnaWQgIlBsZWFzZSwgc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKK21zZ3N0ciAiIgorIlZ1aSBsw7JuZyDEkcawYSBjw6FjIHRoYXkgxJHhu5VpIGPhu6dhIGLhuqFuIHbDoG8g4oCcLmdpdG1vZHVsZXPigJ0gaGF5IHThuqFtIGPhuqV0IGNow7puZyDEkWkgxJHhu4MgIgorInjhu60gbMO9IgorCisjOiBidWlsdGluL212LmM6MTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1aD8gJS4qcyBpcyBpbiBpbmRleD8iCiBtc2dzdHIgIkjhuqM/ICUuKnMgdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjIMOgPyIKIAotIzogYnVpbHRpbi9tdi5jOjE0MAorIzogYnVpbHRpbi9tdi5jOjE2OAogbXNnaWQgInNvdXJjZSBkaXJlY3RvcnkgaXMgZW1wdHkiCiBtc2dzdHIgInRoxrAgbeG7pWMgbmd14buTbiBsw6AgdHLhu5FuZyBy4buXbmciCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzEKKyM6IGJ1aWx0aW4vbXYuYzoyMDAKIG1zZ2lkICJub3QgdW5kZXIgdmVyc2lvbiBjb250cm9sIgogbXNnc3RyICJraMO0bmcgbuG6sW0gZMaw4bubaSBz4buxIHF14bqjbiBsw70gbcOjIG5ndeG7k24iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzMKKyM6IGJ1aWx0aW4vbXYuYzoyMDIKIG1zZ2lkICJkZXN0aW5hdGlvbiBleGlzdHMiCiBtc2dzdHIgIsSRw61jaCDEkcOjIHThu5NuIHThuqFpIHPhurVuIHLhu5NpIgogCi0jOiBidWlsdGluL212LmM6MTgxCisjOiBidWlsdGluL212LmM6MjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgIsSRYW5nIGdoaSDEkcOoIGzDqm4g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODQKKyM6IGJ1aWx0aW4vbXYuYzoyMTMKIG1zZ2lkICJDYW5ub3Qgb3ZlcndyaXRlIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIMSRw6giCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODcKKyM6IGJ1aWx0aW4vbXYuYzoyMTYKIG1zZ2lkICJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiCiBtc2dzdHIgIk5oaeG7gXUgbmd14buTbiBjaG8gY8O5bmcgbeG7mXQgxJHDrWNoIgogCi0jOiBidWlsdGluL212LmM6MjAyCisjOiBidWlsdGluL212LmM6MjE4Cittc2dpZCAiZGVzdGluYXRpb24gZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJ0aMawIG3hu6VjIMSRw61jaCBraMO0bmcgdOG7k24gdOG6oWkiCisKKyM6IGJ1aWx0aW4vbXYuYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCiBtc2dzdHIgIiVzLCBuZ3Xhu5NuPSVzLCDEkcOtY2g9JXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTIKKyM6IGJ1aWx0aW4vbXYuYzoyNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAixJDhu5VpIHTDqm4gJXMgdGjDoG5oICVzXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTUgYnVpbHRpbi9yZW1vdGUuYzo3MzEKKyM6IGJ1aWx0aW4vbXYuYzoyNDYgYnVpbHRpbi9yZW1vdGUuYzo3MjYgYnVpbHRpbi9yZXBhY2suYzozMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCi1tc2dzdHIgIsSR4buVaSB0w6puICVzIGfhurdwIGzhu5dpIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu5VpIHTDqm4g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTkKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTgKIG1zZ2lkICJnaXQgbmFtZS1yZXYgW29wdGlvbnNdIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgW2PDoWMtdMO5eS1jaOG7jW5dIDxjb21taXQ+Li4uIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjYwCisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU5CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFtvcHRpb25zXSAtLWFsbCIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFtjw6FjLXTDuXktY2jhu41uXSAtLWFsbCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI2MQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI2MAogbXNnaWQgImdpdCBuYW1lLXJldiBbb3B0aW9uc10gLS1zdGRpbiIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFtjw6FjLXTDuXktY2jhu41uXSAtLXN0ZGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzEzCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzEyCiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgdMOqbiAoa2jDtG5nIFNIQS0xKSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMwogbXNnaWQgIm9ubHkgdXNlIHRhZ3MgdG8gbmFtZSB0aGUgY29tbWl0cyIKIG1zZ3N0ciAiY2jhu4kgZMO5bmcgY8OhYyB0aOG6uyDEkeG7gyDEkeG6t3QgdMOqbiBjaG8gY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE2CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE1CiBtc2dpZCAib25seSB1c2UgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgImNo4buJIHPhu60gZOG7pW5nIGPDoWMgdGhhbSBjaGnhur91IChyZWZzKSBraOG7m3AgduG7m2kgPG3huqt1PiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNwogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgIiIKICJsaeG7h3Qga8OqIHThuqV0IGPhuqMgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGPDsyB0aOG7gyDEkeG7jWMgxJHGsOG7o2MgdOG7qyB04bqldCBj4bqjIGPDoWMgdGhhbSBjaGnhur91IgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE5CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE4CiBtc2dpZCAicmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICLEkeG7jWMgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzIwCi1tc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMiCi1tc2dzdHIgImNobyBwaMOpcCBoaeG7g24gdGjhu4sgY8OhYyB0w6puIOKAnGNoxrBhIMSR4buLbmggbmdoxKlh4oCcIgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOQorbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIChkZWZhdWx0KSIKK21zZ3N0ciAiY2hvIHBow6lwIGluIGPDoWMgdMOqbiDigJxjaMawYSDEkeG7i25oIG5naMSpYeKAnSAobeG6t2MgxJHhu4tuaCkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjUKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKIG1zZ3N0ciAiYsOjaSBi4buPIHRoYW0gY2hp4bq/dSBjw6FjIHRo4bq7IHRyb25nIMSR4bqndSB2w6BvIChkw7luZyBu4buZaSBi4buZKSIKIApAQCAtNzIxMywxMiArNzQ3NiwxMiBAQAogbXNnaWQgIlRoZSBub3RlIGNvbnRlbnRzIGhhcyBiZWVuIGxlZnQgaW4gJXMiCiBtc2dzdHIgIk7hu5lpIGR1bmcgZ2hpIGNow7ogY8OybiBs4bqhaSAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI0OCBidWlsdGluL3RhZy5jOjU0MAorIzogYnVpbHRpbi9ub3Rlcy5jOjI0OCBidWlsdGluL3RhZy5jOjUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjUwIGJ1aWx0aW4vdGFnLmM6NTQzCisjOiBidWlsdGluL25vdGVzLmM6MjUwIGJ1aWx0aW4vdGFnLmM6NTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIG9yIHJlYWQgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gaGF5IMSR4buNYyDigJwlc+KAnSIKQEAgLTcyMjYsNyArNzQ4OSw3IEBACiAjOiBidWlsdGluL25vdGVzLmM6MjY5IGJ1aWx0aW4vbm90ZXMuYzozMTYgYnVpbHRpbi9ub3Rlcy5jOjMxOAogIzogYnVpbHRpbi9ub3Rlcy5jOjM3OCBidWlsdGluL25vdGVzLmM6NDMyIGJ1aWx0aW4vbm90ZXMuYzo1MTUKICM6IGJ1aWx0aW4vbm90ZXMuYzo1MjAgYnVpbHRpbi9ub3Rlcy5jOjU5NSBidWlsdGluL25vdGVzLmM6NjM3Ci0jOiBidWlsdGluL25vdGVzLmM6ODM5IGJ1aWx0aW4vdGFnLmM6NTU2CisjOiBidWlsdGluL25vdGVzLmM6ODM5IGJ1aWx0aW4vdGFnLmM6NTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgcGjDom4gZ2nhuqNpIOKAnCVz4oCdIG5oxrAgbMOgIG3hu5l0IHRoYW0gY2hp4bq/dSAocmVmKSBo4bujcCBs4buHLiIKQEAgLTcyMzksNyArNzUwMiw3IEBACiAjOiBidWlsdGluL25vdGVzLmM6MzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKLW1zZ3N0ciAiRMOybmcgbmjhuq1wIHbDoG8gZOG7iyBow6xuaDog4oCcJXPigJ0uIgorbXNnc3RyICJEw7JuZyDEkeG6p3UgdsOgbyBk4buLIGjDrG5oOiDigJwlc+KAnS4iCiAKICM6IGJ1aWx0aW4vbm90ZXMuYzozMjcKICMsIGMtZm9ybWF0CkBAIC03MzIwLDcgKzc1ODMsNyBAQAogIzogYnVpbHRpbi9ub3Rlcy5jOjUzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJNaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKLW1zZ3N0ciAiVGhp4bq/dSBnaGkgY2jDuiB0csOqbiDEkeG7kWkgdMaw4bujbmcgbmd14buRbiAlcy4gS2jDtG5nIHRo4buDIHNhbyBjaMOpcC4iCittc2dzdHIgIlRoaeG6v3UgZ2hpIGNow7ogdHLDqm4gxJHhu5FpIHTGsOG7o25nIG5ndeG7k24gJXMuIEtow7RuZyB0aOG7gyBzYW8gY2jDqXAuIgogCiAjOiBidWlsdGluL25vdGVzLmM6NTg4CiAjLCBjLWZvcm1hdApAQCAtNzM4Niw3ICs3NjQ5LDcgQEAKIG1zZ2lkICJ1c2Ugbm90ZXMgZnJvbSA8bm90ZXNfcmVmPiIKIG1zZ3N0ciAiZMO5bmcg4oCcbm90ZXPigJ0gdOG7qyA8bm90ZXNfcmVmPiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk3NCBidWlsdGluL3JlbW90ZS5jOjE1OTgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NzQgYnVpbHRpbi9yZW1vdGUuYzoxNTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCiBtc2dzdHIgIktow7RuZyBoaeG7g3UgY8OidSBs4buHbmggY29uOiAlcyIKQEAgLTc0MDMsMTQ5ICs3NjY2LDE0OSBAQAogImdpdCBwYWNrLW9iamVjdHMgW2PDoWMtdMO5eS1jaOG7jW4uLi5dIGJhc2UtbmFtZSBbPCBkYW5oLXPDoWNoLXJlZiB8IDwgZGFuaC1zw6FjaC0iCiAixJHhu5FpLXTGsOG7o25nXSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODMgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlZmxhdGUgZXJyb3IgKCVkKSIKIG1zZ3N0ciAibOG7l2kgZ2nhuqNpIG7DqW4gKCVkKSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzk3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKIG1zZ3N0ciAicGhpw6puIGLhuqNuIG3hu6VjIGzhu6VjIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgogbXNnc3RyICJwaGnDqm4gYuG6o24gbeG7pWMgbOG7pWMgc2FpIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJvcHRpb24gJXMgZG9lcyBub3QgYWNjZXB0IG5lZ2F0aXZlIGZvcm0iCiBtc2dzdHIgInTDuXkgY2jhu41uICVzIGtow7RuZyBjaOG6pXAgbmjhuq1uIGThuqFuZyB0aOG7qWMgw6JtIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgdmFsdWUgJyVzJyBmb3Igb3B0aW9uICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggZ2nDoSB0cuG7iyDigJwlc+KAnSBjaG8gdMO5eSBjaOG7jW4gJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQ2CiBtc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgImtow7RuZyBoaeG7g24gdGjhu4sgYuG7mSDEkW8gdGnhur9uIHRyw6xuaCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQ5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NDgKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICJoaeG7g24gdGjhu4sgYuG7mSDEkW8gdGnhur9uIHRyw6xuaCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTAKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIGR1cmluZyBvYmplY3Qgd3JpdGluZyBwaGFzZSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGLhu5kgxJFvIHRp4bq/biB0cmnhu4NuIHRyb25nIHN14buRdCBwaGEgZ2hpIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTMKIG1zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCiBtc2dzdHIgInTGsMahbmcgdOG7sSAtLWFsbC1wcm9ncmVzcyBraGkgYuG7mSDEkW8gdGnhur9uIHRyw6xuaCDEkcaw4bujYyB4deG6pXQgaGnhu4duIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NAogbXNnaWQgInZlcnNpb25bLG9mZnNldF0iCiBtc2dzdHIgInBoacOqbiBi4bqjblssb2Zmc2V0XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTUKIG1zZ2lkICJ3cml0ZSB0aGUgcGFjayBpbmRleCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgaWR4IGZvcm1hdCB2ZXJzaW9uIgogbXNnc3RyICJnaGkgdOG6rXAgdGluIGLhuqNuZyBt4bulYyBs4bulYyBnw7NpIChwYWNrKSDhu58gcGhpw6puIGLhuqNuIMSR4buLbmggZOG6oW5nIGlkeCDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTgKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBvdXRwdXQgcGFjayBmaWxlIgogbXNnc3RyICJrY8OtaCB0aMaw4bubYyB04buRaSDEkWEgY2hvIHThuq1wIHRpbiBnw7NpIMSRxrDhu6NjIHThuqFvIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2MAogbXNnaWQgImlnbm9yZSBib3Jyb3dlZCBvYmplY3RzIGZyb20gYWx0ZXJuYXRlIG9iamVjdCBzdG9yZSIKIG1zZ3N0ciAiYuG7jyBxdWEgY8OhYyDEkeG7kWkgdMaw4bujbmcgdmF5IG3GsOG7o24gdOG7qyBraG8gxJHhu5FpIHTGsOG7o25nIHRoYXkgdGjhur8iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYyCiBtc2dpZCAiaWdub3JlIHBhY2tlZCBvYmplY3RzIgogbXNnc3RyICJi4buPIHF1YSBjw6FjIMSR4buRaSB0xrDhu6NuZyDEkcOzbmcgZ8OzaSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjQKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBvYmplY3RzIgogbXNnc3RyICJnaeG7m2kgaOG6oW4gY+G7rWEgc+G7lSDEkcOzbmcgZ8OzaSB0aGVvIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjYKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBtZW1vcnkgaW4gYWRkaXRpb24gdG8gb2JqZWN0IGxpbWl0IgogbXNnc3RyICJnaeG7m2kgaOG6oW4gY+G7rWEgc+G7lSDEkcOzbmcgZ8OzaSB0aGVvIGLhu5kgbmjhu5sgY+G7mW5nIHRow6ptIHbhu5tpIGdp4bubaSBo4bqhbiDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY4CiBtc2dpZCAibWF4aW11bSBsZW5ndGggb2YgZGVsdGEgY2hhaW4gYWxsb3dlZCBpbiB0aGUgcmVzdWx0aW5nIHBhY2siCiBtc2dzdHIgIsSR4buZIGTDoGkgdOG7kWkgxJFhIGPhu6dhIGNodeG7l2kgbcOzYyB4w61jaCDigJxkZWx0YeKAnSDEkcaw4bujYyBwaMOpcCB0cm9uZyBnw7NpIGvhur90IHF14bqjIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MAogbXNnaWQgInJldXNlIGV4aXN0aW5nIGRlbHRhcyIKIG1zZ3N0ciAiZMO5bmcgbOG6oWkgY8OhYyBkZWx0YSBz4bq1biBjw7MiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDcyCiBtc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiZMO5bmcgbOG6oWkgY8OhYyDEkeG7kWkgdMaw4bujbmcgc+G6tW4gY8OzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3NAogbXNnaWQgInVzZSBPRlNfREVMVEEgb2JqZWN0cyIKIG1zZ3N0ciAiZMO5bmcgY8OhYyDEkeG7kWkgdMaw4bujbmcgT0ZTX0RFTFRBIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3NgogbXNnaWQgInVzZSB0aHJlYWRzIHdoZW4gc2VhcmNoaW5nIGZvciBiZXN0IGRlbHRhIG1hdGNoZXMiCiBtc2dzdHIgInPhu60gZOG7pW5nIGPDoWMgdHV54bq/biB0csOsbmgga2hpIHTDrG0ga2nhur9tIGNobyBjw6FjIG3huqt1IGto4bubcCBkZWx0YSB04buRdCBuaOG6pXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc4CiBtc2dpZCAiZG8gbm90IGNyZWF0ZSBhbiBlbXB0eSBwYWNrIG91dHB1dCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIGvhur90IHh14bqldCBnw7NpIChwYWNrKSB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODAKIG1zZ2lkICJyZWFkIHJldmlzaW9uIGFyZ3VtZW50cyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICIgxJHhu41jIHRoYW0gc+G7kSDigJxyZXZpc2lvbuKAnSB04burIHRoaeG6v3QgYuG7iyBuaOG6rXAgY2h14bqpbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODIKIG1zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKIG1zZ3N0ciAiZ2nhu5tpIGjhuqFuIGPDoWMgxJHhu5FpIHTGsOG7o25nIHRow6BuaCBuaOG7r25nIGPDoWkgbcOgIGNow7puZyB24bqrbiBjaMawYSDEkcaw4bujYyDEkcOzbmcgZ8OzaSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODUKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKIG1zZ3N0ciAiYmFvIGfhu5NtIGPDoWMgxJHhu5FpIHTGsOG7o25nIGPDsyB0aOG7gyDEkeG7jWMgxJHGsOG7o2MgdOG7qyBi4bqldCBr4buzIHRoYW0gY2hp4bq/dSBuw6BvIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4OAogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAiYmFvIGfhu5NtIGPDoWMgxJHhu5FpIHTGsOG7o25nIMSRxrDhu6NjIHRoYW0gY2hp4bq/dSBi4bufaSBjw6FjIG3hu6VjIHJlZmxvZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDkyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTEKIG1zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCiBtc2dzdHIgInh14bqldCBnw7NpIHJhIMSR4bqndSByYSB0acOqdSBjaHXhuqluIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5MwogbXNnaWQgImluY2x1ZGUgdGFnIG9iamVjdHMgdGhhdCByZWZlciB0byBvYmplY3RzIHRvIGJlIHBhY2tlZCIKIG1zZ3N0ciAiYmFvIGfhu5NtIGPDoWMgxJHhu5FpIHTGsOG7o25nIHRoYW0gY2hp4bq/dSDEkeG6v24gY8OhYyDEkeG7kWkgdMaw4bujbmcgxJHGsOG7o2MgxJHDs25nIGfDs2kiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk1CiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJnaeG7ryBs4bqhaSBjw6FjIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgdGjhu4MgxJHhu41jIMSRxrDhu6NjIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTcgcGFyc2Utb3B0aW9ucy5oOjE0MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk2IHBhcnNlLW9wdGlvbnMuaDoxNDMKIG1zZ2lkICJ0aW1lIgogbXNnc3RyICJ0aOG7nWktZ2lhbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTcKIG1zZ2lkICJ1bnBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyBuZXdlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAiIgogInjhuqMgbsOpbiAoZ+G7oSBraOG7j2kgZ8OzaSkgY8OhYyDEkeG7kWkgdMaw4bujbmcga2jDtG5nIHRo4buDIMSR4buNYyDEkcaw4bujYyBt4bubaSBoxqFuIDx0aOG7nWktZ2lhbj4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTAwCiBtc2dpZCAiY3JlYXRlIHRoaW4gcGFja3MiCiBtc2dzdHIgInThuqFvIGfDs2kgbmjhurkiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTAyCiBtc2dpZCAiaWdub3JlIHBhY2tzIHRoYXQgaGF2ZSBjb21wYW5pb24gLmtlZXAgZmlsZSIKIG1zZ3N0ciAiYuG7jyBxdWEgY8OhYyBnw7NpIG3DoCBuw7MgY8OzIHThuq1wIHRpbiAua2VlcCDEkWkga8OobSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDQKIG1zZ2lkICJwYWNrIGNvbXByZXNzaW9uIGxldmVsIgogbXNnc3RyICJt4bupYyBuw6luIGfDs2kiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA2CiBtc2dpZCAiZG8gbm90IGhpZGUgY29tbWl0cyBieSBncmFmdHMiCiBtc2dzdHIgImtow7RuZyDhuqluIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBi4bufaSDigJxncmFmdHPigJ0iCiAKQEAgLTc1NjksMTUgKzc4MzIsMTUgQEAKIG1zZ2lkICJnaXQgcHJ1bmUgWy1uXSBbLXZdIFstLWV4cGlyZSA8dGltZT5dIFstLV0gWzxoZWFkPi4uLl0iCiBtc2dzdHIgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tZXhwaXJlIDx0aOG7nWktZ2lhbj5dIFstLV0gWzxoZWFkPi4uLl0iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzIKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxNDIKIG1zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCiBtc2dzdHIgImtow7RuZyBn4buhIGLhu48sIGNo4buJIGhp4buDbiB0aOG7iyIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjEzMworIzogYnVpbHRpbi9wcnVuZS5jOjE0MwogbXNnaWQgInJlcG9ydCBwcnVuZWQgb2JqZWN0cyIKIG1zZ3N0ciAiYsOhbyBjw6FvIGPDoWMgxJHhu5FpIHTGsOG7o25nIMSRw6MgcHJ1bmUiCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzYKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxNDYKIG1zZ2lkICJleHBpcmUgb2JqZWN0cyBvbGRlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAiY8OhYyDEkeG7kWkgdMaw4bujbmcgaOG6v3QgaOG6oW4gY8WpIGjGoW4ga2hv4bqjbmcgPHRo4budaSBnaWFuPiIKIApAQCAtNzU4NSwxNSArNzg0OCwxNSBAQAogbXNnaWQgImdpdCBwdXNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgcHVzaCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbPGtoby1jaOG7qWE+IFs8cmVmc3BlYz4uLi5dXSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDUKKyM6IGJ1aWx0aW4vcHVzaC5jOjg2CiBtc2dpZCAidGFnIHNob3J0aGFuZCB3aXRob3V0IDx0YWc+IgogbXNnc3RyICJkw7luZyB04buRYyBrw70gdGFnIGtow7RuZyBjw7MgPHRo4bq7PiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjk2CiBtc2dpZCAiLS1kZWxldGUgb25seSBhY2NlcHRzIHBsYWluIHRhcmdldCByZWYgbmFtZXMiCiBtc2dzdHIgIi0tZGVsZXRlIGNo4buJIGNo4bqlcCBuaOG6rW4gY8OhYyB0w6puIHRoYW0gY2hp4bq/dSAocmVmKSBk4bqhbmcgdGjGsOG7nW5nIgogCi0jOiBidWlsdGluL3B1c2guYzo5OQorIzogYnVpbHRpbi9wdXNoLmM6MTQxCiBtc2dpZCAiIgogIlxuIgogIlRvIGNob29zZSBlaXRoZXIgb3B0aW9uIHBlcm1hbmVudGx5LCBzZWUgcHVzaC5kZWZhdWx0IGluICdnaXQgaGVscCBjb25maWcnLiIKQEAgLTc2MDIsNyArNzg2NSw3IEBACiAixJDhu4MgY2jhu41uIG3hu5dpIHTDuXkgY2jhu41uIG3hu5l0IGPDoWNoIGPhu5EgxJHhu4tuaCwgeGVtIHB1c2guZGVmYXVsdCB0cm9uZyDigJxnaXQgaGVscCAiCiAiY29uZmln4oCdLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTAyCisjOiBidWlsdGluL3B1c2guYzoxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSB1cHN0cmVhbSBicmFuY2ggb2YgeW91ciBjdXJyZW50IGJyYW5jaCBkb2VzIG5vdCBtYXRjaFxuIgpAQCAtNzYyNyw3ICs3ODkwLDcgQEAKICIgICAgZ2l0IHB1c2ggJXMgJXNcbiIKICIlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTE3CisjOiBidWlsdGluL3B1c2guYzoxNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC5cbiIKQEAgLTc2NDIsNyArNzkwNSw3IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoICVzIEhFQUQ6PHTDqm4tY+G7p2EtbmjDoW5oLW3DoXktY2jhu6c+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEzMQorIzogYnVpbHRpbi9wdXNoLmM6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG5vIHVwc3RyZWFtIGJyYW5jaC5cbiIKQEAgLTc2NTEsMTcgKzc5MTQsMTggQEAKICIgICAgZ2l0IHB1c2ggLS1zZXQtdXBzdHJlYW0gJXMgJXNcbiIKIG1zZ3N0ciAiIgogIk5ow6FuaCBoaeG7h24gdOG6oWkgJXMga2jDtG5nIGPDsyBuaMOhbmggdGjGsOG7o25nIG5ndeG7k24gKHVwc3RyZWFtKSBuw6BvLlxuIgotIsSQ4buDIHB1c2ggKMSR4bqpeSBsw6puKSBuaMOhbmggaGnhu4duIHThuqFpIHbDoCDEkeG6t3QgbcOheSBjaOG7pyBuaMawIGzDoCB0aMaw4bujbmcgbmd14buTbiAiCisixJDhu4MgcHVzaCAoxJHhuql5IGzDqm4pIG5ow6FuaCBoaeG7h24gdOG6oWkgdsOgIMSR4bq3dCBtw6F5IGNo4bunIG7DoHkgbMOgbSB0aMaw4bujbmcgbmd14buTbiAiCiAiKHVwc3RyZWFtKSwgc+G7rSBk4bulbmdcbiIKICJcbiIKICIgICAgZ2l0IHB1c2ggLS1zZXQtdXBzdHJlYW0gJXMgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTM5CisjOiBidWlsdGluL3B1c2guYzoxODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBtdWx0aXBsZSB1cHN0cmVhbSBicmFuY2hlcywgcmVmdXNpbmcgdG8gcHVzaC4iCi1tc2dzdHIgIk5ow6FuaCBoaeG7h24gdOG6oWkgJXMgY8OzIMSRYSBuaMOhbmggdGjGsOG7o25nIG5ndeG7k24gKHVwc3RyZWFtKSwgdOG7qyBjaOG7kWkgcHVzaC4iCittc2dzdHIgIiIKKyJOaMOhbmggaGnhu4duIHThuqFpICVzIGPDsyBuaGnhu4F1IG5ow6FuaCB0aMaw4bujbmcgbmd14buTbiAodXBzdHJlYW0pLCB04burIGNo4buRaSBwdXNoLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTQyCisjOiBidWlsdGluL3B1c2guYzoxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgcHVzaGluZyB0byByZW1vdGUgJyVzJywgd2hpY2ggaXMgbm90IHRoZSB1cHN0cmVhbSBvZlxuIgpAQCAtNzY3Myw3ICs3OTM3LDcgQEAKICJuaMOhbmggaGnhu4duIHThuqFpIOKAnCVz4oCdIGPhu6dhIGLhuqFuLCBtw6Aga2jDtG5nIGLDoW8gY2hvIHTDtGkgYmnhur90IGzDoCBjw6FpIGfDrCDEkcaw4bujYyBwdXNoXG4iCiAixJHhu4MgY+G6rXAgbmjhuq10IG5ow6FuaCBtw6F5IGNo4bunIG7DoG8uIgogCi0jOiBidWlsdGluL3B1c2guYzoxNjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjIwNwogbXNnaWQgIiIKICJwdXNoLmRlZmF1bHQgaXMgdW5zZXQ7IGl0cyBpbXBsaWNpdCB2YWx1ZSBpcyBjaGFuZ2luZyBpblxuIgogIkdpdCAyLjAgZnJvbSAnbWF0Y2hpbmcnIHRvICdzaW1wbGUnLiBUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZVxuIgpAQCAtNzY4NSw2ICs3OTQ5LDEzIEBACiAiXG4iCiAiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHB1c2guZGVmYXVsdCBzaW1wbGVcbiIKICJcbiIKKyJXaGVuIHB1c2guZGVmYXVsdCBpcyBzZXQgdG8gJ21hdGNoaW5nJywgZ2l0IHdpbGwgcHVzaCBsb2NhbCBicmFuY2hlc1xuIgorInRvIHRoZSByZW1vdGUgYnJhbmNoZXMgdGhhdCBhbHJlYWR5IGV4aXN0IHdpdGggdGhlIHNhbWUgbmFtZS5cbiIKKyJcbiIKKyJJbiBHaXQgMi4wLCBHaXQgd2lsbCBkZWZhdWx0IHRvIHRoZSBtb3JlIGNvbnNlcnZhdGl2ZSAnc2ltcGxlJ1xuIgorImJlaGF2aW9yLCB3aGljaCBvbmx5IHB1c2hlcyB0aGUgY3VycmVudCBicmFuY2ggdG8gdGhlIGNvcnJlc3BvbmRpbmdcbiIKKyJyZW1vdGUgYnJhbmNoIHRoYXQgJ2dpdCBwdWxsJyB1c2VzIHRvIHVwZGF0ZSB0aGUgY3VycmVudCBicmFuY2guXG4iCisiXG4iCiAiU2VlICdnaXQgaGVscCBjb25maWcnIGFuZCBzZWFyY2ggZm9yICdwdXNoLmRlZmF1bHQnIGZvciBmdXJ0aGVyICIKICJpbmZvcm1hdGlvbi5cbiIKICIodGhlICdzaW1wbGUnIG1vZGUgd2FzIGludHJvZHVjZWQgaW4gR2l0IDEuNy4xMS4gVXNlIHRoZSBzaW1pbGFyIG1vZGVcbiIKQEAgLTc2OTIsMjggKzc5NjMsMzYgQEAKIG1zZ3N0ciAiIgogImJp4bq/biBwdXNoLmRlZmF1bHQgY2jGsGEgxJHGsOG7o2MgxJHhurd0OyBnacOhIHRy4buLIG5n4bqnbSDEkeG7i25oIGPhu6dhIG7Ds1xuIgogIsSRw6MgxJHGsOG7o2MgdGhheSDEkeG7lWkgdHJvbmcgR2l0IDIuMCB04burIOKAnG1hdGNoaW5n4oCdIHRow6BuaCDigJxzaW1wbGXigJ0uXG4iCi0ixJDhu4Mga2jDtG5nIGhp4buDbiB0aOG7iyBuaOG6r2Mgbmjhu58gbsOgeSB2w6AgZHV5IHRyw6wgY8OhY2ggeOG7rSBsw70gc2F1XG4iCi0ibmjhu69uZyB0aGF5IMSR4buVaSBt4bq3YyDEkeG7i25oIG7DoHksIGjDo3kgY2jhuqF5IGzhu4duaDpcbiIKKyLEkOG7gyBraMO0bmcgaGnhu4NuIHRo4buLIG5o4bqvYyBuaOG7nyBuw6B5IHbDoCBkdXkgdHLDrCBjw6FjaCB44butIGzDvSBoaeG7h24gbmF5IHNhdSB0aGF5IMSR4buVaSAiCisibeG6t2MgxJHhu4tuaCxcbiIKKyJow6N5IGNo4bqheSBs4buHbmg6XG4iCiAiXG4iCiAiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHB1c2guZGVmYXVsdCBtYXRjaGluZ1xuIgogIlxuIgotIsSQ4buDIGtow7RuZyBoaeG7g24gdGjhu4sgbmjhuq9jIG5o4bufIG7DoHkgdsOgIMOhcCBk4bulbmcgY8OhY2ggeOG7rSBsw70gbeG7m2ksIGjDo3kgY2jhuqF5IGzhu4duaDpcbiIKKyLEkOG7gyBraMO0bmcgaGnhu4NuIHRo4buLIG5o4bqvYyBuaOG7nyBuw6B5IHbDoCDDoXAgZOG7pW5nIGPDoWNoIOG7qW5nIHjhu60gbeG7m2ksIGjDo3kgY2jhuqF5IGzhu4duaDpcbiIKICJcbiIKICIgIGdpdCBjb25maWcgLS1nbG9iYWwgcHVzaC5kZWZhdWx0IHNpbXBsZVxuIgogIlxuIgorIktoaSBwdXNoLmRlZmF1bHQgxJHGsOG7o2MgxJHhurd0IHRow6BuaCDigJxtYXRjaGluZ+KAnSwgZ2l0IHPhur0gxJHhuql5IGPDoWMgbmjDoW5oIG7hu5lpIGLhu5lcbiIKKyJsw6puIGPDoWMgbmjDoW5oIHRyw6puIG3DoXkgY2jhu6csIGPDoWkgbcOgIGPDsyBjw7luZyB0w6puLlxuIgorIlxuIgorIlRyb25nIDIuMCwgR2l0IHPhur0gbeG6t2MgxJHhu4tuaCBkdXkgdHLDrCBjw6FjIOG7qW5nIHjhu60g4oCcc2ltcGxl4oCdLFxuIgorImPDoWkgbsOgeSBjaOG7iSDEkeG6qXkgbmjhu69uZyBuaMOhbmggaGnhu4duIGjDoG5oIGzDqm4gY8OhYyBuaMOhbmggdMawxqFuZyDhu6luZ1xuIgorInRyw6puIG3DoXkgY2jhu6cgY8OhaSBtw6AgbOG7h25oIOKAnGdpdCBwdWxs4oCdIGTDuW5nIMSR4buDIGPhuq1wIG5o4bqtdCBuaMOhbmggaGnhu4duIHThuqFpLlxuIgorIlxuIgogIlhlbSDigJxnaXQgaGVscCBjb25maWfigJ0gdsOgIHTDrG0gxJHhur9uIOKAnHB1c2guZGVmYXVsdOKAnSDEkeG7gyBjw7MgdGjDqm0gdGjDtG5nIHRpbi5cbiIKICIoY2jhur8gxJHhu5kg4oCcc2ltcGxl4oCdIMSRxrDhu6NjIGLhuq90IMSR4bqndSBz4butIGThu6VuZyB04burIEdpdCAxLjcuMTEuIFPhu60gZOG7pW5nIGNo4bq/IMSR4buZIHTGsMahbmcgIgogInThu7FcbiIKICLigJxjdXJyZW504oCdIHRoYXkgdsOsIOKAnHNpbXBsZeKAnSBu4bq/dSBi4bqhbiB0aOG7iW5oIHRob+G6o25nIHBo4bqjaSBz4butIGThu6VuZyBi4bqjbiBHaXQgY8WpKSIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjI1CisjOiBidWlsdGluL3B1c2guYzoyNzQKIG1zZ2lkICIiCiAiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKIG1zZ3N0ciAiIgogIkLhuqFuIMSRw6Mga2jDtG5nIGNo4buJIHJhIG3hu5l0IHJlZnNwZWNzIG7DoG8gxJHhu4MgcHVzaCwgdsOgIHB1c2guZGVmYXVsdCBsw6AgXCJraMO0bmcgbMOgICIKICJnw6wgY+G6o1wiLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjMyCisjOiBidWlsdGluL3B1c2guYzoyODEKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRpcCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGlzIGJlaGluZFxuIgogIml0cyByZW1vdGUgY291bnRlcnBhcnQuIEludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXMgKGUuZy5cbiIKQEAgLTc3MjcsNyArODAwNiw3IEBACiAiWGVtIOKAnE5vdGUgYWJvdXQgZmFzdC1mb3J3YXJkc+KAnSB04burIGzhu4duaCDigJxnaXQgcHVzaCAtLWhlbHDigJ0gxJHhu4MgY8OzIHRow7RuZyB0aW4gY2hpICIKICJ0aeG6v3QuIgogCi0jOiBidWlsdGluL3B1c2guYzoyMzgKKyM6IGJ1aWx0aW4vcHVzaC5jOjI4NwogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIElmIHlvdSBkaWQgbm90IGludGVuZCB0byBwdXNoIHRoYXQgYnJhbmNoLCB5b3UgbWF5IHdhbnQgdG9cbiIKQEAgLTc3NDIsNyArODAyMSw3IEBACiAidGjDoG5oIOKAnHNpbXBsZeKAnSwg4oCcY3VycmVudOKAnSBob+G6t2Mg4oCcdXBzdHJlYW3igJ0gxJHhu4MgY2jhu4kgcHVzaCBuaMOhbmggaGnhu4duIGjDoG5oIG3DoCAiCiAidGjDtGkuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNDQKKyM6IGJ1aWx0aW4vcHVzaC5jOjI5MwogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIENoZWNrIG91dCB0aGlzIGJyYW5jaCBhbmQgaW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlc1xuIgpAQCAtNzc1Niw3ICs4MDM1LDcgQEAKICJYZW0g4oCcTm90ZSBhYm91dCBmYXN0LWZvcndhcmRz4oCdIHThu6sgbOG7h25oIOKAnGdpdCBwdXNoIC0taGVscOKAnSDEkeG7gyBjw7MgdGjDtG5nIHRpbiBjaGkgIgogInRp4bq/dC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI1MAorIzogYnVpbHRpbi9wdXNoLmM6Mjk5CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgogIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKQEAgLTc3NzEsMTEgKzgwNTAsMTEgQEAKICJYZW0g4oCcTm90ZSBhYm91dCBmYXN0LWZvcndhcmRz4oCdIHThu6sgbOG7h25oIOKAnGdpdCBwdXNoIC0taGVscOKAnSDEkeG7gyBjw7MgdGjDtG5nIHRpbiBjaGkgIgogInRp4bq/dC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI1NworIzogYnVpbHRpbi9wdXNoLmM6MzA2CiBtc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKIG1zZ3N0ciAiVmnhu4djIGPhuq1wIG5o4bqtdCBi4buLIHThu6sgY2jhu5FpIGLhu59pIHbDrCB0aOG6uyDEkcOjIHPhurVuIGPDsyB04burIHRyxrDhu5tjIHRyw6puIG3DoXkgY2jhu6cuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNjAKKyM6IGJ1aWx0aW4vcHVzaC5jOjMwOQogbXNnaWQgIiIKICJZb3UgY2Fubm90IHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBwb2ludHMgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJvciB1cGRhdGUgYSByZW1vdGUgcmVmIHRvIG1ha2UgaXQgcG9pbnQgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKQEAgLTc3ODcsMjIgKzgwNjYsMjIgQEAKICJ0xrDhu6NuZ1xuIgogImtow7RuZyBwaOG6o2kgY2h1eeG7g24gZ2lhbywgbcOgIGtow7RuZyBz4butIGThu6VuZyB0w7l5IGNo4buNbiDigJwtLWZvcmNl4oCdLlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozMjAKKyM6IGJ1aWx0aW4vcHVzaC5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQdXNoaW5nIHRvICVzXG4iCiBtc2dzdHIgIsSQYW5nIHB1c2ggKMSR4bqpeSkgbMOqbiAlc1xuIgogCi0jOiBidWlsdGluL3B1c2guYzozMjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjM3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHB1c2ggKMSR4bqpeSBsw6puKSBt4buZdCBz4buRIHRoYW0gY2hp4bq/dSAocmVmKSDEkeG6v24g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM1NworIzogYnVpbHRpbi9wdXNoLmM6NDEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCByZXBvc2l0b3J5ICclcyciCiBtc2dzdHIgInJlcG9zaXRvcnkgKGtobykgc2FpIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3B1c2guYzozNTgKKyM6IGJ1aWx0aW4vcHVzaC5jOjQxMwogbXNnaWQgIiIKICJObyBjb25maWd1cmVkIHB1c2ggZGVzdGluYXRpb24uXG4iCiAiRWl0aGVyIHNwZWNpZnkgdGhlIFVSTCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJlIGEgcmVtb3RlICIKQEAgLTc4MjMsODggKzgxMDIsOTUgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggPHTDqm4+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3MworIzogYnVpbHRpbi9wdXNoLmM6NDI4CiBtc2dpZCAiLS1hbGwgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCB2w6AgLS10YWdzIHh1bmcga2jhuq9jIG5oYXUiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3NAorIzogYnVpbHRpbi9wdXNoLmM6NDI5CiBtc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKLW1zZ3N0ciAiLS1hbGwga2jDtG5nIHRo4buDIMSRxrDhu6NjIHThu5UgaOG7o3AgY8O5bmcgduG7m2kgcmVmc3BlY3MiCittc2dzdHIgIi0tYWxsIGtow7RuZyB0aOG7gyDEkcaw4bujYyB04buVIGjhu6NwIGPDuW5nIHbhu5tpIMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzc5CisjOiBidWlsdGluL3B1c2guYzo0MzQKIG1zZ2lkICItLW1pcnJvciBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tbWlycm9yIHbDoCAtLXRhZ3MgeHVuZyBraOG6r2MgbmhhdSIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzgwCisjOiBidWlsdGluL3B1c2guYzo0MzUKIG1zZ2lkICItLW1pcnJvciBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgotbXNnc3RyICItLW1pcnJvciBraMO0bmcgdGjhu4MgxJHGsOG7o2MgdOG7lSBo4bujcCBjw7luZyB24bubaSByZWZzcGVjcyIKK21zZ3N0ciAiLS1taXJyb3Iga2jDtG5nIHRo4buDIMSRxrDhu6NjIHThu5UgaOG7o3AgY8O5bmcgduG7m2kgxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIgogCi0jOiBidWlsdGluL3B1c2guYzozODUKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ0MAogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCB2w6AgLS1taXJyb3IgeHVuZyBraOG6r2MgbmhhdSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDQ1CisjOiBidWlsdGluL3B1c2guYzo1MDAKIG1zZ2lkICJyZXBvc2l0b3J5IgogbXNnc3RyICJraG8iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ0NgorIzogYnVpbHRpbi9wdXNoLmM6NTAxCiBtc2dpZCAicHVzaCBhbGwgcmVmcyIKLW1zZ3N0ciAicHVzaCB04bqldCBj4bqjIHJlZnMiCittc2dzdHIgInB1c2ggdOG6pXQgY+G6oyBjw6FjIHRoYW0gY2hp4bq/dSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDQ3CisjOiBidWlsdGluL3B1c2guYzo1MDIKIG1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCi1tc2dzdHIgIm1pcnJvciB04bqldCBj4bqjIHJlZnMiCittc2dzdHIgIm1pcnJvciB04bqldCBj4bqjIGPDoWMgdGhhbSBjaGnhur91IgogCi0jOiBidWlsdGluL3B1c2guYzo0NDkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUwNAogbXNnaWQgImRlbGV0ZSByZWZzIgotbXNnc3RyICJ4w7NhIHJlZnMiCittc2dzdHIgInjDs2EgY8OhYyB0aGFtIGNoaeG6v3UiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1MAorIzogYnVpbHRpbi9wdXNoLmM6NTA1CiBtc2dpZCAicHVzaCB0YWdzIChjYW4ndCBiZSB1c2VkIHdpdGggLS1hbGwgb3IgLS1taXJyb3IpIgotbXNnc3RyICIiCi0iY8OhYyB0aOG6uyBwdXNoIChraMO0bmcgdGjhu4Mgc+G7rSBk4bulbmcgY8O5bmcgduG7m2kgY8OhYyB0w7l5IGNo4buNbiAtLWFsbCBoYXkgLS1taXJyb3IpIgorbXNnc3RyICJwdXNoIGPDoWMgdGjhursgKGtow7RuZyBkw7luZyBjw7luZyB24bubaSAtLWFsbCBoYXkgLS1taXJyb3IpIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTMKKyM6IGJ1aWx0aW4vcHVzaC5jOjUwOAogbXNnaWQgImZvcmNlIHVwZGF0ZXMiCiBtc2dzdHIgIsOpcCBideG7mWMgY+G6rXAgbmjhuq10IgogCi0jOiBidWlsdGluL3B1c2guYzo0NTQKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxMAorbXNnaWQgInJlZm5hbWU+OjxleHBlY3QiCittc2dzdHIgInTDqm4tdGhhbS1jaGnhur91Pjo8Y+G6p24iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxMQorbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgorbXNnc3RyICJ5w6p1IGPhuqd1IGdpw6EtdHLhu4sgY8WpIGPhu6dhIHRoYW0gY2hp4bq/dSB0aMOsIGzDoCBnacOhLXRy4buLIG7DoHkiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxMwogbXNnaWQgImNoZWNrIgogbXNnc3RyICJraeG7g20gdHJhIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTUKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNAogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAixJFp4buBdSBraGnhu4NuIHZp4buHYyDEkeG6qXkgbMOqbiAocHVzaCkgxJHhu4cgcXVpIGPhu6dhIG3DtC3EkXVuLWNvbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDU3CisjOiBidWlsdGluL3B1c2guYzo1MTYKIG1zZ2lkICJ1c2UgdGhpbiBwYWNrIgogbXNnc3RyICJ04bqhbyBnw7NpIG5o4bq5IgogCi0jOiBidWlsdGluL3B1c2guYzo0NTggYnVpbHRpbi9wdXNoLmM6NDU5CisjOiBidWlsdGluL3B1c2guYzo1MTcgYnVpbHRpbi9wdXNoLmM6NTE4CiBtc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCi1tc2dzdHIgIm5o4bqtbiB24buBIGNoxrDGoW5nIHRyw6xuaCBwYWNrIgorbXNnc3RyICJjaMawxqFuZyB0csOsbmggbmjhuq1uIGfDs2kiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2MAorIzogYnVpbHRpbi9wdXNoLmM6NTE5CiBtc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCi1tc2dzdHIgIsSR4bq3dCB0aMaw4bujbmcgbmd14buTbiAodXBzdHJlYW0pIGNobyBnaXQgcHVsbC9zdGF0dXMiCittc2dzdHIgIsSR4bq3dCB0aMaw4bujbmcgbmd14buTbiBjaG8gZ2l0IHB1bGwvc3RhdHVzIgogCi0jOiBidWlsdGluL3B1c2guYzo0NjMKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyMgogbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgotbXNnc3RyICJwcnVuZSAoY+G6r3QgY+G7pXQpIG5o4buvbmcgdGhhbSBjaGnhur91IChyZWZzKSBi4buLIGfhu6EgYuG7jyIKK21zZ3N0ciAieMOpbiB04buJYSBuaOG7r25nIHRoYW0gY2hp4bq/dSAocmVmcykgYuG7iyBn4buhIGLhu48iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2NQorIzogYnVpbHRpbi9wdXNoLmM6NTI0CiBtc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCi1tc2dzdHIgInbDsm5nIHF1YSDigJxwcmUtcHVzaCBob29r4oCdIgorbXNnc3RyICJ2w7JuZyBxdWEgbcOzYyB0aeG7gW4txJHhuql5IOKAnHByZS1wdXNo4oCdIgogCi0jOiBidWlsdGluL3B1c2guYzo0NjYKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNQogbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKLW1zZ3N0ciAicHVzaCBi4buLIHRyxrDhu6N0IG5oxrBuZyBjw6FjIHRo4bq7IHRow61jaCBo4bujcCIKK21zZ3N0ciAicHVzaCBwaOG6p24gYuG7iyB0aGnhur91IG5oxrBuZyBuaMawbmcgY8OhYyB0aOG6uyBs4bqhaSB0aMOtY2ggaOG7o3AiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ3NgorIzogYnVpbHRpbi9wdXNoLmM6NTM1CiBtc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCiBtc2dzdHIgIi0tZGVsZXRlIGzDoCB4dW5nIGto4bqvYyB24bubaSBjw6FjIHTDuXkgY2jhu41uIC0tYWxsLCAtLW1pcnJvciB2w6AgLS10YWdzIgogCi0jOiBidWlsdGluL3B1c2guYzo0NzgKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNwogbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgogbXNnc3RyICItLWRlbGV0ZSBraMO0bmcgaOG7o3AgbMO9IG7hur91IGtow7RuZyBjw7MgYuG6pXQga+G7syB0aGFtIGNoaeG6v3UgKHJlZnMpIG7DoG8iCiAKQEAgLTc5ODIsMjMgKzgyNjgsMjMgQEAKIAogIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzgKIG1zZ2lkICJkZWJ1ZyB1bnBhY2stdHJlZXMiCi1tc2dzdHIgImfhu6EgbOG7l2kgdW5wYWNrLXRyZWVzIgorbXNnc3RyICJn4buhIGzhu5dpIOKAnHVucGFjay10cmVlc+KAnSIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo1MDAKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NDk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJyBmb3IgJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCi1tc2dzdHIgIiVzJyBjaG8gJyVzJyBraMO0bmcgcGjhuqNpIGzDoCBk4bqldSB0aOG7nWkgZ2lhbiBo4bujcCBs4buHIgorbXNnc3RyICJnacOhIHRy4buLICVzIGTDoG5oIGNobyDigJwlc+KAnSBraMO0bmcgcGjhuqNpIGzDoCBk4bqldSB24bq/dCB0aOG7nWkgZ2lhbiBo4bujcCBs4buHIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjYxNiBidWlsdGluL3JlZmxvZy5jOjYyMQorIzogYnVpbHRpbi9yZWZsb2cuYzo2MTUgYnVpbHRpbi9yZWZsb2cuYzo2MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIuKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbMOgIGThuqV1IHRo4budaSBnaWFuIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCiBtc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMwogbXNnaWQgIiIKICJnaXQgcmVtb3RlIGFkZCBbLXQgPGJyYW5jaD5dIFstbSA8bWFzdGVyPl0gWy1mXSBbLS10YWdzfC0tbm8tdGFnc10gWy0tIgogIm1pcnJvcj08ZmV0Y2h8cHVzaD5dIDxuYW1lPiA8dXJsPiIKQEAgLTgwMDYsNzggKzgyOTIsODIgQEAKICJnaXQgcmVtb3RlIGFkZCBbLXQgPG5ow6FuaD5dIFstbSA8bWFzdGVyPl0gWy1mXSBbLS10YWdzfC0tbm8tdGFnc10gWy0tIgogIm1pcnJvcj08ZmV0Y2h8cHVzaD5dIDx0w6puPiA8dXJsPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMyBidWlsdGluL3JlbW90ZS5jOjMyCisjOiBidWlsdGluL3JlbW90ZS5jOjE0IGJ1aWx0aW4vcmVtb3RlLmM6MzMKIG1zZ2lkICJnaXQgcmVtb3RlIHJlbmFtZSA8b2xkPiA8bmV3PiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSByZW5hbWUgPHTDqm4tY8WpPiA8dMOqbi1t4bubaT4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQgYnVpbHRpbi9yZW1vdGUuYzozNworIzogYnVpbHRpbi9yZW1vdGUuYzoxNSBidWlsdGluL3JlbW90ZS5jOjM4CiBtc2dpZCAiZ2l0IHJlbW90ZSByZW1vdmUgPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHJlbW92ZSA8dMOqbj4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUgYnVpbHRpbi9yZW1vdGUuYzo0MgotbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC1kIHwgPGJyYW5jaD4pIgotbXNnc3RyICJnaXQgcmVtb3RlIHNldC1oZWFkIDx0w6puPiAoLWEgfCAtZCB8IDxuaMOhbmg+KSIKLQogIzogYnVpbHRpbi9yZW1vdGUuYzoxNgorbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfDxicmFuY2g+KSIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8dMOqbj4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxuaMOhbmg+KSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNwogbXNnaWQgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSBzaG93IFstbl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDx0w6puPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNworIzogYnVpbHRpbi9yZW1vdGUuYzoxOAogbXNnaWQgImdpdCByZW1vdGUgcHJ1bmUgWy1uIHwgLS1kcnktcnVuXSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgcHJ1bmUgWy1uIHwgLS1kcnktcnVuXSA8dMOqbj4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkKIG1zZ2lkICIiCiAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDxncm91cD4gfCA8cmVtb3RlPikuLi5dIgogbXNnc3RyICIiCiAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDxuaMOzbT4gfCA8bcOheS1jaOG7pz4pLi4uXSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOQorIzogYnVpbHRpbi9yZW1vdGUuYzoyMAogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIFstLWFkZF0gPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDx0w6puPiA8bmjDoW5oPi4uLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMCBidWlsdGluL3JlbW90ZS5jOjY4CisjOiBidWlsdGluL3JlbW90ZS5jOjIxIGJ1aWx0aW4vcmVtb3RlLmM6NjkKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC11cmwgWy0tcHVzaF0gPG5hbWU+IDxuZXd1cmw+IFs8b2xkdXJsPl0iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCBbLS1wdXNoXSA8dMOqbj4gPHVybC1t4bubaT4gWzx1cmwtY8WpPl0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjEgYnVpbHRpbi9yZW1vdGUuYzo2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoyMiBidWlsdGluL3JlbW90ZS5jOjcwCiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tYWRkIDxuYW1lPiA8bmV3dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tYWRkIDx0w6puPiA8dXJsLW3hu5tpPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMiBidWlsdGluL3JlbW90ZS5jOjcwCisjOiBidWlsdGluL3JlbW90ZS5jOjIzIGJ1aWx0aW4vcmVtb3RlLmM6NzEKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC11cmwgLS1kZWxldGUgPG5hbWU+IDx1cmw+IgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC11cmwgLS1kZWxldGUgPHTDqm4+IDx1cmw+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjI3CisjOiBidWlsdGluL3JlbW90ZS5jOjI4CiBtc2dpZCAiZ2l0IHJlbW90ZSBhZGQgWzxvcHRpb25zPl0gPG5hbWU+IDx1cmw+IgogbXNnc3RyICJnaXQgcmVtb3RlIGFkZCBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8dMOqbj4gPHVybD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDMKK21zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPGJyYW5jaD4pIgorbXNnc3RyICJnaXQgcmVtb3RlIHNldC1oZWFkIDx0w6puPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPG5ow6FuaD4pIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjQ4CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyA8dMOqbj4gPG5ow6FuaD4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDkKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyAtLWFkZCA8bmFtZT4gPGJyYW5jaD4uLi4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIC0tYWRkIDx0w6puPiA8bmjDoW5oPi4uLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo1MworIzogYnVpbHRpbi9yZW1vdGUuYzo1NAogbXNnaWQgImdpdCByZW1vdGUgc2hvdyBbPG9wdGlvbnM+XSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2hvdyBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8dMOqbj4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTkKIG1zZ2lkICJnaXQgcmVtb3RlIHBydW5lIFs8b3B0aW9ucz5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8dMOqbj4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjQKIG1zZ2lkICJnaXQgcmVtb3RlIHVwZGF0ZSBbPG9wdGlvbnM+XSBbPGdyb3VwPiB8IDxyZW1vdGU+XS4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSB1cGRhdGUgWzxjw6FjLXTDuXktY2jhu41uPl0gWzxuaMOzbT4gfCA8bcOheS1jaOG7pz5dLi4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk4CisjOiBidWlsdGluL3JlbW90ZS5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzIgogbXNnc3RyICLEkGFuZyBj4bqtcCBuaOG6rXQgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMAogbXNnaWQgIiIKICItLW1pcnJvciBpcyBkYW5nZXJvdXMgYW5kIGRlcHJlY2F0ZWQ7IHBsZWFzZVxuIgogIlx0IHVzZSAtLW1pcnJvcj1mZXRjaCBvciAtLW1pcnJvcj1wdXNoIGluc3RlYWQiCkBAIC04MDg1LDEwMiArODM3NSwxMDIgQEAKICItLW1pcnJvciBuZ3V5IGhp4buDbSB2w6Aga2jDtG5nIGTDuW5nIG7hu69hOyB4aW4gaMOjeVxuIgogIlx0IHPhu60gZOG7pW5nIHTDuXkgY2jhu41uIC0tbWlycm9yPWZldGNoIGhv4bq3YyAtLW1pcnJvcj1wdXNoIMSR4buDIHRoYXkgdGjhur8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3CisjOiBidWlsdGluL3JlbW90ZS5jOjEzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG1pcnJvciBhcmd1bWVudDogJXMiCiBtc2dzdHIgImtow7RuZyBoaeG7g3UgdGhhbSBz4buRIG3DoXkgYuG6o24gc2FvIChtaXJyb3IpOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzCiBtc2dpZCAiZmV0Y2ggdGhlIHJlbW90ZSBicmFuY2hlcyIKIG1zZ3N0ciAibOG6pXkgduG7gSAoZmV0Y2gpIGPDoWMgbmjDoW5oIHThu6sgbcOheSBjaOG7pyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU1CiBtc2dpZCAiaW1wb3J0IGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMgd2hlbiBmZXRjaGluZyIKIG1zZ3N0ciAiIgogIm5o4bqtcCB2w6BvIHThuqV0IGPhuqMgY8OhYyDEkeG7kWkgdMaw4bujbmcgdGjhursgdsOgIHRow6BuaCBwaOG6p24gbGnDqm4gcXVhbiBraGkgbOG6pXkgduG7gSAoZmV0Y2gpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgKIG1zZ2lkICJvciBkbyBub3QgZmV0Y2ggYW55IHRhZyBhdCBhbGwgKC0tbm8tdGFncykiCiBtc2dzdHIgImhv4bq3YyBraMO0bmcgbOG6pXkgduG7gSAoZmV0Y2gpIGLhuqV0IGvhu7MgdGjhursgbsOgbyAoLS1uby10YWdzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYwCiBtc2dpZCAiYnJhbmNoKGVzKSB0byB0cmFjayIKLW1zZ3N0ciAiY8OhYyBuaMOhbmggdGhlbyB24bq/dCIKK21zZ3N0ciAiY8OhYyBuaMOhbmggxJHhu4MgdGhlbyBkw7VpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE3MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjEKIG1zZ2lkICJtYXN0ZXIgYnJhbmNoIgogbXNnc3RyICJuaMOhbmggbWFzdGVyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE3MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjIKIG1zZ2lkICJwdXNofGZldGNoIgogbXNnc3RyICJwdXNofGZldGNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE3MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjMKIG1zZ2lkICJzZXQgdXAgcmVtb3RlIGFzIGEgbWlycm9yIHRvIHB1c2ggdG8gb3IgZmV0Y2ggZnJvbSIKIG1zZ3N0ciAixJHhurd0IG3DoXkgY2jhu6cgKHJlbW90ZSkgbmjGsCBsw6AgbeG7mXQgbcOheSBi4bqjbiBzYW8gxJHhu4MgcHVzaCBoYXkgZmV0Y2ggdOG7qyDEkcOzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNzUKIG1zZ2lkICJzcGVjaWZ5aW5nIGEgbWFzdGVyIGJyYW5jaCBtYWtlcyBubyBzZW5zZSB3aXRoIC0tbWlycm9yIgogbXNnc3RyICLEkWFuZyBjaOG7iSDEkeG7i25oIG3hu5l0IG5ow6FuaCBtYXN0ZXIga2jDtG5nIGjhu6NwIGzDvSB24bubaSB0w7l5IGNo4buNbiAtLW1pcnJvciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxODcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTc3CiBtc2dpZCAic3BlY2lmeWluZyBicmFuY2hlcyB0byB0cmFjayBtYWtlcyBzZW5zZSBvbmx5IHdpdGggZmV0Y2ggbWlycm9ycyIKLW1zZ3N0ciAiY2jhu4kgxJHhu4tuaCBuaOG7r25nIG5ow6FuaCDEkeG7gyB0aGVvIHbhur90IGNo4buJIGjhu6NwIGzDvSB24bubaSBjw6FjIOKAnGZldGNoIG1pcnJvcuKAnSIKK21zZ3N0ciAiY2jhu4kgxJHhu4tuaCBuaOG7r25nIG5ow6FuaCDEkeG7gyB0aGVvIGTDtWkgY2jhu4kgaOG7o3AgbMO9IHbhu5tpIGPDoWMg4oCcZmV0Y2ggbWlycm9y4oCdIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5NSBidWlsdGluL3JlbW90ZS5jOjY0NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxODUgYnVpbHRpbi9yZW1vdGUuYzo2NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlICVzIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAibcOheSBjaOG7pyAlcyDEkcOjIHThu5NuIHThuqFpIHLhu5NpLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOTkgYnVpbHRpbi9yZW1vdGUuYzo2NTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg5IGJ1aWx0aW4vcmVtb3RlLmM6NjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVtb3RlIG5hbWUiCiBtc2dzdHIgIuKAnCVz4oCdIGtow7RuZyBwaOG6o2kgdMOqbiBtw6F5IGNo4bunIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjQzCisjOiBidWlsdGluL3JlbW90ZS5jOjIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgbWFzdGVyICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBjw6BpIMSR4bq3dCBuaMOhbmggbWFzdGVyIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjI5OQorIzogYnVpbHRpbi9yZW1vdGUuYzoyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIG9uZSAlcyIKIG1zZ3N0ciAibmhp4buBdSBoxqFuIG3hu5l0ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjMzOQorIzogYnVpbHRpbi9yZW1vdGUuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGdldCBmZXRjaCBtYXAgZm9yIHJlZnNwZWMgJXMiCi1tc2dzdHIgIktow7RuZyB0aOG7gyBs4bqleSDDoW5oIHjhuqEgKG1hcCkgZmV0Y2ggY2hvIHJlZnNwZWMgJXMiCittc2dzdHIgIktow7RuZyB0aOG7gyBs4bqleSDDoW5oIHjhuqEgKG1hcCkgZmV0Y2ggY2hvIMSR4bq3YyB04bqjIHRoYW0gY2hp4bq/dSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0NDAgYnVpbHRpbi9yZW1vdGUuYzo0NDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDM1IGJ1aWx0aW4vcmVtb3RlLmM6NDQzCiBtc2dpZCAiKG1hdGNoaW5nKSIKIG1zZ3N0ciAiKGto4bubcCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NDUyCisjOiBidWlsdGluL3JlbW90ZS5jOjQ0NwogbXNnaWQgIihkZWxldGUpIgogbXNnc3RyICIoeMOzYSkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTk1IGJ1aWx0aW4vcmVtb3RlLmM6NjAxIGJ1aWx0aW4vcmVtb3RlLmM6NjA3CisjOiBidWlsdGluL3JlbW90ZS5jOjU5MCBidWlsdGluL3JlbW90ZS5jOjU5NiBidWlsdGluL3JlbW90ZS5jOjYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwZW5kICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIG7hu5FpIHRow6ptIOKAnCVz4oCdIHbDoG8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjM5IGJ1aWx0aW4vcmVtb3RlLmM6NzkyIGJ1aWx0aW4vcmVtb3RlLmM6ODkwCisjOiBidWlsdGluL3JlbW90ZS5jOjYzNCBidWlsdGluL3JlbW90ZS5jOjc4NyBidWlsdGluL3JlbW90ZS5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZTogJXMiCiBtc2dzdHIgIktow7RuZyBjw7MgbcOheSBjaOG7pyBuw6BvIG5oxrAgdGjhur86ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY1NgorIzogYnVpbHRpbi9yZW1vdGUuYzo2NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbmFtZSBjb25maWcgc2VjdGlvbiAnJXMnIHRvICclcyciCi1tc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7lWkgdMOqbiBjaMawxqFuZyAoc2VjdGlvbikgY+G6pXUgaMOsbmggdOG7qyDigJwlc+KAnSB0aMOgbmgg4oCcJXPigJ0iCittc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7lWkgdMOqbiBwaOG6p24gY+G7p2EgY+G6pXUgaMOsbmggdOG7qyDigJwlc+KAnSB0aMOgbmgg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjYyIGJ1aWx0aW4vcmVtb3RlLmM6Nzk5CisjOiBidWlsdGluL3JlbW90ZS5jOjY1NyBidWlsdGluL3JlbW90ZS5jOjc5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGNvbmZpZyBzZWN0aW9uICclcyciCi1tc2dzdHIgIktow7RuZyB0aOG7gyBn4buhIGLhu48gY2jGsMahbmcgKHNlY3Rpb24pIGPhuqV1IGjDrG5oIOKAnCVz4oCdIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgZ+G7oSBi4buPIHBo4bqnbiBj4bqldSBow6xuaCDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgdXBkYXRpbmcgbm9uLWRlZmF1bHQgZmV0Y2ggcmVmc3BlY1xuIgpAQCAtODE5MSwzMiArODQ4MSwzMiBAQAogIlx0JXNcbiIKICJcdFhpbiBow6N5IGPhuq1wIG5o4bqtdCBwaOG6p24gY+G6pXUgaMOsbmggbeG7mXQgY8OhY2ggdGjhu6cgY8O0bmcgbuG6v3UgdGjhuqV5IGPhuqduIHRoaeG6v3QuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY4MworIzogYnVpbHRpbi9yZW1vdGUuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGVuZCAnJXMnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbuG7kWkgdGjDqm0g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6Njk0CisjOiBidWlsdGluL3JlbW90ZS5jOjY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0ICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkeG6t3Qg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzE2CisjOiBidWlsdGluL3JlbW90ZS5jOjcxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyAnJXMnIGZhaWxlZCIKLW1zZ3N0ciAidmnhu4djIHhvw6EgJXMgZ+G6t3AgbOG7l2kiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSB4b8OhIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjc1MAorIzogYnVpbHRpbi9yZW1vdGUuYzo3NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3JlYXRpbmcgJyVzJyBmYWlsZWQiCi1tc2dzdHIgInThuqFvICVzIGfhurdwIGzhu5dpIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdOG6oW8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzY0CisjOiBidWlsdGluL3JlbW90ZS5jOjc1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGJyYW5jaCAlcyIKLW1zZ3N0ciAiS2jDtG5nIHRo4buDIGfhu6EgYuG7jyBuaMOhbmggJXMiCittc2dzdHIgIktow7RuZyB0aOG7gyBn4buhIGLhu48gbmjDoW5oIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgzNAorIzogYnVpbHRpbi9yZW1vdGUuYzo4MjkKIG1zZ2lkICIiCiAiTm90ZTogQSBicmFuY2ggb3V0c2lkZSB0aGUgcmVmcy9yZW1vdGVzLyBoaWVyYXJjaHkgd2FzIG5vdCByZW1vdmVkO1xuIgogInRvIGRlbGV0ZSBpdCwgdXNlOiIKQEAgLTgyMzEsMjY1ICs4NTIxLDMyNiBAQAogIsSRaTtcbiIKICLEkeG7gyB4w7NhIMSRaSwgc+G7rSBk4bulbmc6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk0MworIzogYnVpbHRpbi9yZW1vdGUuYzo5MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG5ldyAobmV4dCBmZXRjaCB3aWxsIHN0b3JlIGluIHJlbW90ZXMvJXMpIgogbXNnc3RyICIgbeG7m2kgKGzhuqduIGzhuqV5IHbhu4EgdGnhur9wIHRoZW8gc+G6vSBsxrB1IHRyb25nIHJlbW90ZXMvJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk0NgorIzogYnVpbHRpbi9yZW1vdGUuYzo5NDEKIG1zZ2lkICIgdHJhY2tlZCIKLW1zZ3N0ciAiIMSRxrDhu6NjIHRoZW8gduG6v3QiCittc2dzdHIgIiDEkcaw4bujYyB0aGVvIGTDtWkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjk0MwogbXNnaWQgIiBzdGFsZSAodXNlICdnaXQgcmVtb3RlIHBydW5lJyB0byByZW1vdmUpIgotbXNnc3RyICIgY8WpIChkw7luZyDigJxnaXQgcmVtb3RlIHBydW5l4oCdIMSR4buDIGfhu6EgYuG7jykiCittc2dzdHIgIiBjxakgcsOtY2ggKGTDuW5nIOKAnGdpdCByZW1vdGUgcHJ1bmXigJ0gxJHhu4MgZ+G7oSBi4buPKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQ1CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5OTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAiYnJhbmNoLiVzLm1lcmdlIGtow7RuZyBo4bujcCBs4buHOyBraMO0bmcgdGjhu4MgcmViYXNlIHbhu4EgcGjDrWEgPiAxIG5ow6FuaCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5OTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCiBtc2dzdHIgInRo4buxYyBoaeG7h24gcmViYXNlIHRyw6puIG3DoXkgY2jhu6cgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAwMQorIzogYnVpbHRpbi9yZW1vdGUuYzo5OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiIGjDsmEgdHLhu5luIHbhu5tpIG3DoXkgY2jhu6cgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAwMgorIzogYnVpbHRpbi9yZW1vdGUuYzo5OTcKIG1zZ2lkICIgICAgYW5kIHdpdGggcmVtb3RlIgogbXNnc3RyICIgICAgdsOgIHbhu5tpIG3DoXkgY2jhu6ciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAwNAorIzogYnVpbHRpbi9yZW1vdGUuYzo5OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICJow7JhIHRy4buZbiB24bubaSBtw6F5IGNo4bunICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAwMAogbXNnaWQgIiAgIGFuZCB3aXRoIHJlbW90ZSIKIG1zZ3N0ciAiICAgdsOgIHbhu5tpIG3DoXkgY2jhu6ciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ2CiBtc2dpZCAiY3JlYXRlIgogbXNnc3RyICJ04bqhbyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDkKIG1zZ2lkICJkZWxldGUiCiBtc2dzdHIgInhvw6EiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUzCiBtc2dpZCAidXAgdG8gZGF0ZSIKIG1zZ3N0ciAixJHDoyBj4bqtcCBuaOG6rXQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU2CiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKIG1zZ3N0ciAiY8OzLXRo4buDLWZhc3QtZm9yd2FyZCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDY0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTkKIG1zZ2lkICJsb2NhbCBvdXQgb2YgZGF0ZSIKIG1zZ3N0ciAiZOG7ryBsaeG7h3UgbuG7mWkgYuG7mSDEkcOjIGPFqSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDcxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgw6lwIGJ14buZYyB0aMOgbmggJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJS0qcyAoJXMpIgotbXNnc3RyICIgICAgJS0qcyBwdXNoIHThu5tpICUtKnMgKCVzKSIKK21zZ3N0ciAiICAgICUtKnMgxJHhuql5IGzDqm4gdGjDoG5oICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDc4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyDDqXAgYnXhu5ljIHRow6BuaCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICVzIgotbXNnc3RyICIgICAgJS0qcyBwdXNoIHThu5tpICVzIgorbXNnc3RyICIgICAgJS0qcyDEkeG6qXkgbMOqbiB0aMOgbmggJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA5MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ0CiBtc2dpZCAiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiCiBtc2dzdHIgImtow7RuZyB0cnV5IHbhuqVuIGPDoWMgbcOheSBjaOG7pyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE4CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiByZW1vdGUgJXMiCiBtc2dzdHIgIiogbcOheSBjaOG7pyAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE5CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgogbXNnc3RyICIgIFVSTCDEkeG7gyBs4bqleSB24buBIChmZXRjaCk6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMjAgYnVpbHRpbi9yZW1vdGUuYzoxMjg1CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzMgYnVpbHRpbi9yZW1vdGUuYzoxMzE4CiBtc2dpZCAiKG5vIFVSTCkiCiBtc2dzdHIgIihraMO0bmcgY8OzIFVSTCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEyOSBidWlsdGluL3JlbW90ZS5jOjExMzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MiBidWlsdGluL3JlbW90ZS5jOjExODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBQdXNoICBVUkw6ICVzIgogbXNnc3RyICIgIFVSTCDEkeG7gyDEkeG6qXkgbMOqbiAocHVzaCk6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMzMgYnVpbHRpbi9yZW1vdGUuYzoxMTM1IGJ1aWx0aW4vcmVtb3RlLmM6MTEzNworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg2IGJ1aWx0aW4vcmVtb3RlLmM6MTE4OCBidWlsdGluL3JlbW90ZS5jOjExOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBIRUFEIGJyYW5jaDogJXMiCiBtc2dzdHIgIiAgTmjDoW5oIEhFQUQ6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiICBIRUFEIGJyYW5jaCAocmVtb3RlIEhFQUQgaXMgYW1iaWd1b3VzLCBtYXkgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcpOlxuIgogbXNnc3RyICIgIG5ow6FuaCBIRUFEIChIRUFEIG3DoXkgY2jhu6cgY2jGsGEgcsO1IHLDoG5nLCBjw7MgbOG6vSBsw6AgbeG7mXQgdHJvbmcgc+G7kSBzYXUpOlxuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFJlbW90ZSBicmFuY2g6JXMiCiBtc2dpZF9wbHVyYWwgIiAgUmVtb3RlIGJyYW5jaGVzOiVzIgogbXNnc3RyWzBdICIgIE5ow6FuaCB0csOqbiBtw6F5IGNo4bunOiVzIgogbXNnc3RyWzFdICIgIE5o4buvbmcgbmjDoW5oIHRyw6puIG3DoXkgY2jhu6c6JXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NCBidWlsdGluL3JlbW90ZS5jOjExODEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNyBidWlsdGluL3JlbW90ZS5jOjEyMzQKIG1zZ2lkICIgKHN0YXR1cyBub3QgcXVlcmllZCkiCiBtc2dzdHIgIiAodHLhuqFuZyB0aMOhaSBraMO0bmcgxJHGsOG7o2MgecOqdSBj4bqndSkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjE2CiBtc2dpZCAiICBMb2NhbCBicmFuY2ggY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgYnJhbmNoZXMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCiBtc2dzdHJbMF0gIiAgTmjDoW5oIG7hu5lpIGLhu5kgxJHDoyDEkcaw4bujYyBj4bqldSBow6xuaCBjaG8gbOG7h25oIOKAnGdpdCBwdWxs4oCdOiIKIG1zZ3N0clsxXSAiICBOaOG7r25nIG5ow6FuaCBu4buZaSBi4buZIMSRw6MgxJHGsOG7o2MgY+G6pXUgaMOsbmggY2hvIGzhu4duaCDigJxnaXQgcHVsbOKAnToiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI0CiBtc2dpZCAiICBMb2NhbCByZWZzIHdpbGwgYmUgbWlycm9yZWQgYnkgJ2dpdCBwdXNoJyIKIG1zZ3N0ciAiICByZWZzIG7hu5lpIGLhu5kgc+G6vSDEkcaw4bujYyBwaOG6o24gY2hp4bq/dSBi4bufaSBs4buHbmgg4oCcZ2l0IHB1c2jigJ0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTG9jYWwgcmVmIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgcmVmcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzBdICIgIFRoYW0gY2hp4bq/dSBu4buZaSBi4buZIMSRxrDhu6NjIGPhuqV1IGjDrG5oIGNobyBs4buHbmgg4oCcZ2l0IHB1c2jigJ0lczoiCiBtc2dzdHJbMV0gIiAgTmjhu69uZyB0aGFtIGNoaeG6v3UgbuG7mWkgYuG7mSDEkcaw4bujYyBj4bqldSBow6xuaCBjaG8gbOG7h25oIOKAnGdpdCBwdXNo4oCdJXM6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExOTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1MgogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAixJHhurd0IHJlZnMvcmVtb3Rlcy88dMOqbj4vSEVBRCBjaG8gcGjDuSBo4bujcCB24bubaSBtw6F5IGNo4bunIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1NAogbXNnaWQgImRlbGV0ZSByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQiCiBtc2dzdHIgInjDs2EgcmVmcy9yZW1vdGVzLzx0w6puPi9IRUFEIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2OQogbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgcmVtb3RlIEhFQUQiCiBtc2dzdHIgIktow7RuZyB0aOG7gyB4w6FjIMSR4buLbmggxJHGsOG7o2MgSEVBRCBtw6F5IGNo4bunIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3MQogbXNnaWQgIk11bHRpcGxlIHJlbW90ZSBIRUFEIGJyYW5jaGVzLiBQbGVhc2UgY2hvb3NlIG9uZSBleHBsaWNpdGx5IHdpdGg6IgogbXNnc3RyICJOaGnhu4F1IG5ow6FuaCBIRUFEIG3DoXkgY2jhu6cuIEjDo3kgY2jhu41uIHLDtSByw6BuZyBt4buZdDoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgJXMiCiBtc2dzdHIgIktow7RuZyB0aOG7gyB4w7NhIGLhu48gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIzNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIHJlZjogJXMiCi1tc2dzdHIgIktow7RuZyBwaOG6o2kgbMOgIHRoYW0gY2hp4bq/dSAocmVmKSBo4bujcCBs4buHOiAlcyIKK21zZ3N0ciAiS2jDtG5nIHBo4bqjaSBsw6AgdGhhbSBjaGnhur91IGjhu6NwIGzhu4c6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgJXMiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBjw6BpIMSR4bq3dCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjc0CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIHdpbGwgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzIHPhur0gdHLhu58gdGjDoG5oIGtow7RuZyDEkeG6p3UgKGtow7RuZyDEkcaw4bujYyBxdeG6o24gbMO9KSEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyBoYXMgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzIMSRw6MgdHLhu58gdGjDoG5oIGtow7RuZyDEkeG6p3UgKGtow7RuZyDEkcaw4bujYyBxdeG6o24gbMO9KSEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBydW5pbmcgJXMiCiBtc2dzdHIgIsSQYW5nIHjDqW4gYuG7m3QgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVSTDogJXMiCiBtc2dzdHIgIlVSTDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFt3b3VsZCBwcnVuZV0gJXMiCiBtc2dzdHIgIiAqIFtuw6puIHjDqW4gYuG7m3RdICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbcHJ1bmVkXSAlcyIKIG1zZ3N0ciAiICpbxJHDoyBi4buLIHjDqW5dICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM3NAogbXNnaWQgInBydW5lIHJlbW90ZXMgYWZ0ZXIgZmV0Y2hpbmciCiBtc2dzdHIgImPhuq90IG3DoXkgY2jhu6cgc2F1IGtoaSBs4bqleSB24buBIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzODcgYnVpbHRpbi9yZW1vdGUuYzoxNDYxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NDAgYnVpbHRpbi9yZW1vdGUuYzoxNTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCiBtc2dzdHIgIktow7RuZyBjw7MgbcOheSBjaOG7pyBuw6BvIGPDsyB0w6puIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MAogbXNnaWQgImFkZCBicmFuY2giCiBtc2dzdHIgInRow6ptIG5ow6FuaCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDE0CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjcKIG1zZ2lkICJubyByZW1vdGUgc3BlY2lmaWVkIgogbXNnc3RyICJjaMawYSBjaOG7iSByYSBtw6F5IGNo4bunIG7DoG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDg5CiBtc2dpZCAibWFuaXB1bGF0ZSBwdXNoIFVSTHMiCiBtc2dzdHIgIsSR4bqpeSBjw6FjIOKAnFVSTOKAnSBi4bqxbmcgdGF5IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5MQogbXNnaWQgImFkZCBVUkwiCiBtc2dzdHIgInRow6ptIFVSTCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQwCisjOiBidWlsdGluL3JlbW90ZS5jOjE0OTMKIG1zZ2lkICJkZWxldGUgVVJMcyIKIG1zZ3N0ciAieMOzYSBVUkxzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUwMAogbXNnaWQgIi0tYWRkIC0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1hZGQgLS1kZWxldGUga2jDtG5nIGjhu6NwIGzDvSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDg3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBvbGQgVVJMIHBhdHRlcm46ICVzIgogbXNnc3RyICJLaeG7g3UgbeG6q3UgVVJMIGPFqSBraMO0bmcgaOG7o3AgbOG7hzogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggVVJMIGZvdW5kOiAlcyIKIG1zZ3N0ciAiS2jDtG5nIHTDrG0gdGjhuqV5IFVSTCBuaMawIHbhuq15OiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDk3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NTAKIG1zZ2lkICJXaWxsIG5vdCBkZWxldGUgYWxsIG5vbi1wdXNoIFVSTHMiCiBtc2dzdHIgIlPhur0ga2jDtG5nIHjDs2Egbmjhu69uZyDEkeG7i2EgY2jhu4kgVVJMIGtow7RuZy1wdXNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU2NAogbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgImNoaSB0aeG6v3Q7IHBo4bqjaSDEkcaw4bujYyDEkeG6t3QgdHLGsOG7m2MgbeG7mXQgbOG7h25oLWNvbiIKIAorIzogYnVpbHRpbi9yZXBhY2suYzoxNQorbXNnaWQgImdpdCByZXBhY2sgW29wdGlvbnNdIgorbXNnc3RyICJnaXQgcmVwYWNrIFtjw6FjLXTDuXktY2jhu41uXSIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNDMKK21zZ2lkICJwYWNrIGV2ZXJ5dGhpbmcgaW4gYSBzaW5nbGUgcGFjayIKK21zZ3N0ciAixJHDs25nIGfDs2kgbeG7jWkgdGjhu6kgdHJvbmcgbeG7mXQgZ8OzaSDEkcahbiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNDUKK21zZ2lkICJzYW1lIGFzIC1hLCBhbmQgdHVybiB1bnJlYWNoYWJsZSBvYmplY3RzIGxvb3NlIgorbXNnc3RyICJnaeG7kW5nIHbhu5tpIC1hLCB2w6AgY2jhu4luaCBz4butYSBjw6FjIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgxJHhu41jIMSRxrDhu6NjIHRoaeG6v3Ugc8OzdCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNDgKK21zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCittc2dzdHIgInjDs2EgYuG7jyBjw6FjIGfDs2kgZMawIHRo4burYSwgdsOgIGNo4bqheSBnaXQtcHJ1bmUtcGFja2VkIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1MAorbXNnaWQgInBhc3MgLS1uby1yZXVzZS1kZWx0YSB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICJjaHV54buDbiAtLW5vLXJldXNlLWRlbHRhIGNobyBnaXQtcGFjay1vYmplY3RzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1MgorbXNnaWQgInBhc3MgLS1uby1yZXVzZS1vYmplY3QgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAiY2h1eeG7g24gLS1uby1yZXVzZS1vYmplY3QgY2hvIGdpdC1wYWNrLW9iamVjdHMiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU0Cittc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgorbXNnc3RyICJraMO0bmcgY2jhuqF5IGdpdC11cGRhdGUtc2VydmVyLWluZm8iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU3Cittc2dpZCAicGFzcyAtLWxvY2FsIHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgImNodXnhu4NuIC0tbG9jYWwgY2hvIGdpdC1wYWNrLW9iamVjdHMiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU4Cittc2dpZCAiYXBwcm94aWRhdGUiCittc2dzdHIgIm5nw6B5IMaw4bubYyB0w61uaCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTkKK21zZ2lkICJ3aXRoIC1BLCBkbyBub3QgbG9vc2VuIG9iamVjdHMgb2xkZXIgdGhhbiB0aGlzIgorbXNnc3RyICJ24bubaSAtQSwgY8OhYyDEkeG7kWkgdMaw4bujbmcgY8WpIGjGoW4ga2hv4bqjbmcgdGjhu51pIGdpYW4gbsOgeSB0aMOsIGtow7RuZyBi4buLIG3huqV0IgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2MQorbXNnaWQgInNpemUgb2YgdGhlIHdpbmRvdyB1c2VkIGZvciBkZWx0YSBjb21wcmVzc2lvbiIKK21zZ3N0ciAia8OtY2ggdGjGsOG7m2MgY+G7rWEgc+G7lSDEkcaw4bujYyBkw7luZyBjaG8gbsOpbiDigJxkZWx0YeKAnSIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjMKK21zZ2lkICJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIKK21zZ3N0ciAiZ2nhu5FuZyBuaMawIHRyw6puLCBuaMawbmcgZ2nhu5tpIGjhuqFuIGvDrWNoIHRoxrDhu5tjIGLhu5kgbmjhu5sgaGF5IHbDrCBz4buRIGzGsOG7o25nIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2NQorbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIKK21zZ3N0ciAiZ2nhu5tpIGjhuqFuIMSR4buZIHPDonUgdOG7kWkgxJFhIGPhu6dhIOKAnGRlbHRh4oCdIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2NworbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgorbXNnc3RyICJrY8OtaCB0aMaw4bubYyB04buRaSDEkWEgY2hvIHThu6tuZyB04bqtcCB0aW4gZ8OzaSIKKworIzogYnVpbHRpbi9yZXBhY2suYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgJyVzJyBmYWlsZWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSB4w7NhIGLhu48g4oCcJXPigJ0iCisKICM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3CiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZWN0PiA8cmVwbGFjZW1lbnQ+IgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIDzEkeG7kWktdMaw4bujbmc+IDx0aGF5LXRo4bq/PiIKQEAgLTg0OTksMjYgKzg4NTAsMzAgQEAKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgLWQgPMSR4buRaSB0xrDhu6NuZz4uLi4iCiAKICM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE5Ci1tc2dpZCAiZ2l0IHJlcGxhY2UgLWwgWzxwYXR0ZXJuPl0iCi1tc2dzdHIgImdpdCByZXBsYWNlIC1sIFs8beG6q3U+XSIKK21zZ2lkICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PGZvcm1hdD5dIFstbCBbPHBhdHRlcm4+XV0iCittc2dzdHIgImdpdCByZXBsYWNlIFstLWZvcm1hdD08xJHhu4tuaF9k4bqhbmc+XSBbLWwgWzxt4bqrdT5dXSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIxCisjOiBidWlsdGluL3JlcGxhY2UuYzoxNzQKIG1zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAibGnhu4d0IGvDqiBjw6FjIHJlZnMgdGhheSB0aOG6vyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIyCisjOiBidWlsdGluL3JlcGxhY2UuYzoxNzUKIG1zZ2lkICJkZWxldGUgcmVwbGFjZSByZWZzIgogbXNnc3RyICJ4w7NhIHRoYW0gY2hp4bq/dSAocmVmcykgdGhheSB0aOG6vyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIzCisjOiBidWlsdGluL3JlcGxhY2UuYzoxNzYKIG1zZ2lkICJyZXBsYWNlIHRoZSByZWYgaWYgaXQgZXhpc3RzIgogbXNnc3RyICJ0aGF5IHRo4bq/IHRoYW0gY2hp4bq/dSAocmVmKSBu4bq/dSBuw7MgxJHDoyBz4bq1biBjw7MiCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6MTEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3NworbXNnaWQgInVzZSB0aGlzIGZvcm1hdCIKK21zZ3N0ciAiZMO5bmcgxJHhu4tuaCBk4bqhbmcgbsOgeSIKKworIzogYnVpbHRpbi9yZXJlcmUuYzoxMgogbXNnaWQgImdpdCByZXJlcmUgW2NsZWFyIHwgZm9yZ2V0IHBhdGguLi4gfCBzdGF0dXMgfCByZW1haW5pbmcgfCBkaWZmIHwgZ2NdIgogbXNnc3RyICJnaXQgcmVyZXJlIFtjbGVhciB8IGZvcmdldCBwYXRoLi4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKIAotIzogYnVpbHRpbi9yZXJlcmUuYzo1NgorIzogYnVpbHRpbi9yZXJlcmUuYzo1NwogbXNnaWQgInJlZ2lzdGVyIGNsZWFuIHJlc29sdXRpb25zIGluIGluZGV4IgogbXNnc3RyICJz4buVIGdoaSBk4buNbiBz4bqhY2ggY8OhYyBwaMOibiBnaeG6o2kgdHJvbmcgYuG6o24gbeG7pWMgbOG7pWMiCiAKQEAgLTg1NzksODcgKzg5MzQsOTEgQEAKIG1zZ2lkICJDYW5ub3QgZG8gYSAlcyByZXNldCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiBt4buZdCAlcyByZXNldCDhu58gZ2nhu69hIGPhu6dhIHF1w6EgdHLDrG5oIGjDsmEgdHLhu5luLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI1MQorIzogYnVpbHRpbi9yZXNldC5jOjI2MgogbXNnaWQgImJlIHF1aWV0LCBvbmx5IHJlcG9ydCBlcnJvcnMiCiBtc2dzdHIgImzDoG0gdmnhu4djIOG7nyBjaOG6vyDEkeG7mSBpbSBs4bq3bmcsIGNo4buJIGhp4buDbiB0aOG7iyBraGkgY8OzIGzhu5dpIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjUzCisjOiBidWlsdGluL3Jlc2V0LmM6MjY0CiBtc2dpZCAicmVzZXQgSEVBRCBhbmQgaW5kZXgiCiBtc2dzdHIgIsSR4bq3dCBs4bqhaSAocmVzZXQpIEhFQUQgdsOgIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI1NAorIzogYnVpbHRpbi9yZXNldC5jOjI2NQogbXNnaWQgInJlc2V0IG9ubHkgSEVBRCIKIG1zZ3N0ciAiY2jhu4kgxJHhurd0IGzhuqFpIChyZXNldCkgSEVBRCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI1NiBidWlsdGluL3Jlc2V0LmM6MjU4CisjOiBidWlsdGluL3Jlc2V0LmM6MjY3IGJ1aWx0aW4vcmVzZXQuYzoyNjkKIG1zZ2lkICJyZXNldCBIRUFELCBpbmRleCBhbmQgd29ya2luZyB0cmVlIgogbXNnc3RyICLEkeG6t3QgbOG6oWkgSEVBRCwgYuG6o25nIG3hu6VjIGzhu6VjIHbDoCBjw6J5IGzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjYwCisjOiBidWlsdGluL3Jlc2V0LmM6MjcxCiBtc2dpZCAicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICLEkeG6t3QgbOG6oWkgSEVBRCBuaMawbmcgZ2nhu68gbOG6oWkgY8OhYyB0aGF5IMSR4buVaSBu4buZaSBi4buZIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjc4CisjOiBidWlsdGluL3Jlc2V0LmM6Mjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBwaMOibiBnaeG6o2kg4oCcJXPigJ0gbmjGsCBsw6AgxJFp4buDbSB4w6l0IGR1eeG7h3QgaOG7o3AgbOG7hy4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODEgYnVpbHRpbi9yZXNldC5jOjI4OQorIzogYnVpbHRpbi9yZXNldC5jOjI5MiBidWlsdGluL3Jlc2V0LmM6MzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJy4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCDEkeG7kWkgdMaw4bujbmcg4oCcJXPigJ0uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjg2CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCB0cmVlLiIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHBow6JuIGdp4bqjaSDigJwlc+KAnSBuaMawIGzDoCBt4buZdCBjw6J5ICh0cmVlKSBo4bujcCBs4buHLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5NQorIzogYnVpbHRpbi9yZXNldC5jOjMwNgogbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIKIG1zZ3N0ciAiLS1wYXRjaCB4dW5nIGto4bqvYyB24bubaSAtLXtoYXJkLG1peGVkLHNvZnR9IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzA0CisjOiBidWlsdGluL3Jlc2V0LmM6MzE1CiBtc2dpZCAiLS1taXhlZCB3aXRoIHBhdGhzIGlzIGRlcHJlY2F0ZWQ7IHVzZSAnZ2l0IHJlc2V0IC0tIDxwYXRocz4nIGluc3RlYWQuIgogbXNnc3RyICIiCiAiLS1taXhlZCB24bubaSBjw6FjIMSRxrDhu51uZyBk4bqrbiBraMO0bmcgY8OybiBkw7luZyBu4buvYTsgaMOjeSB0aGF5IHRo4bq/IGLhurFuZyBs4buHbmgg4oCcZ2l0ICIKICJyZXNldCAtLSA8xJHGsOG7nW5nX2ThuqtuPuKAnS4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDYKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvICVzIHJlc2V0IHdpdGggcGF0aHMuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiBs4buHbmggJXMgcmVzZXQgduG7m2kgY8OhYyDEkcaw4budbmcgZOG6q24uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzE2CisjOiBidWlsdGluL3Jlc2V0LmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHJlc2V0IGlzIG5vdCBhbGxvd2VkIGluIGEgYmFyZSByZXBvc2l0b3J5IgotbXNnc3RyICIlcyByZXNldCBraMO0bmcgxJHGsOG7o2MgcGjDqXAgdHLDqm4ga2hvIGJhcmUgKHRyw6puIG3DoXkgY2jhu6cpIgorbXNnc3RyICIlcyByZXNldCBraMO0bmcgxJHGsOG7o2MgcGjDqXAgdHLDqm4ga2hvIHRodeG6p24iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMzYKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNDQKK21zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKK21zZ3N0ciAiTmjhu69uZyB0aGF5IMSR4buVaSDEkcaw4bujYyDEkcawYSByYSBraOG7j2kgYuG7hyBwaMOzbmcgc2F1IGtoaSByZXNldDoiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlc2V0IGluZGV4IGZpbGUgdG8gcmV2aXNpb24gJyVzJy4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkeG6t3QgbOG6oWkgKHJlc2V0KSBi4bqjbmcgbeG7pWMgbOG7pWMgdGjDoG5oIMSRaeG7g20geMOpdCBkdXnhu4d0IOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0MgotbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IgotbXNnc3RyICJOaOG7r25nIHRoYXkgxJHhu5VpIGLhu4sgYuG7jyB0cuG6oW5nIHRow6FpIChzdGFnZSkgc2F1IGtoaSByZXNldDoiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDcKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTUKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgbmV3IGluZGV4IGZpbGUuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIHThuq1wIHRpbiBsxrB1IGLhuqNuZyBt4bulYyBs4bulYyBt4bubaS4iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzQ1CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM1OQogbXNnaWQgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbb3B0aW9uc10gLS0gWzxhcmdzPi4uLl0iCiBtc2dzdHIgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbY8OhYy10w7l5LWNo4buNbl0gLS0gWzx0aC5z4buRPi4uLl0iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzUwCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM2NAogbXNnaWQgImtlZXAgdGhlIGAtLWAgcGFzc2VkIGFzIGFuIGFyZyIKLW1zZ3N0ciAiZ2nhu68g4oCcLS3igJwgY2h1eeG7g24gcXVhIGzDoG0gdGhhbSBz4buRIgorbXNnc3RyICJnaeG7ryBs4bqhaSDigJwtLeKAnSBjaHV54buDbiBzYW5nIGzDoG0gdGhhbSBz4buRIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM1MgorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjYKIG1zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCiBtc2dzdHIgImThu6tuZyBwaMOibiB0w61jaCBzYXUgxJHhu5FpIHPhu5EgxJHhuqd1IHRpw6puIGtow7RuZyBjw7MgdMO5eSBjaOG7jW4iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDcwCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM2OQorbXNnaWQgIm91dHB1dCBpbiBzdHVjayBsb25nIGZvcm0iCittc2dzdHIgImvhur90IHh14bqldCB0cm9uZyDEkeG7i25oIGThuqFuZyBn4bqteSBkw6BpIgorCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQ4NgogbXNnaWQgIiIKICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgW29wdGlvbnNdIC0tIFs8YXJncz4uLi5dXG4iCiAiICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPGFyZz4uLi5dXG4iCkBAIC04NjY4LDggKzkwMjcsOCBAQAogIlJ1biBcImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCAtaFwiIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSBmaXJzdCB1c2FnZS4iCiBtc2dzdHIgIiIKICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgW2PDoWMtdMO5eS1jaOG7jW5dIC0tIFs8xJEuc+G7kT4uLi5dXG4iCi0iICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPMSRLnPhu5E+Li4uXVxuIgotIiAgIG9yOiBnaXQgcmV2LXBhcnNlIFtjw6FjLXTDuXktY2jhu41uXSBbPMSRLnPhu5E+Li4uXVxuIgorIiAgIGhv4bq3YzogZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs8xJEuc+G7kT4uLi5dXG4iCisiICAgaG/hurdjOiBnaXQgcmV2LXBhcnNlIFtjw6FjLXTDuXktY2jhu41uXSBbPMSRLnPhu5E+Li4uXVxuIgogIlxuIgogIkNo4bqheSBs4buHbmggXCJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLWhcIiDEkeG7gyBjw7MgdGjDqm0gdGjDtG5nIHRpbiB24buBIGPDoWNoIGTDuW5nLiIKIApAQCAtODY4OSw4NCArOTA0OCw4NCBAQAogbXNnaWQgImdpdCBjaGVycnktcGljayA8c3ViY29tbWFuZD4iCiBtc2dzdHIgImdpdCBjaGVycnktcGljayA8bOG7h25oLWNvbj4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6NzEgYnVpbHRpbi9yZXZlcnQuYzo5NAorIzogYnVpbHRpbi9yZXZlcnQuYzo3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXMgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAiJXM6ICVzIGtow7RuZyB0aOG7gyDEkcaw4bujYyBz4butIGThu6VuZyB24bubaSAlcyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODAKIG1zZ2lkICJlbmQgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJr4bq/dCB0aMO6YyBjaGVycnktcGljayBoYXkgcmV2ZXJ0IGxpw6puIHRp4bq/cCBuaGF1IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNgorIzogYnVpbHRpbi9yZXZlcnQuYzo4MQogbXNnaWQgInJlc3VtZSByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgInBo4bulYyBo4buTaSBs4bqhaSBjaGVycnktcGljayBoYXkgcmV2ZXJ0IGxpw6puIHRp4bq/cCBuaGF1IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNworIzogYnVpbHRpbi9yZXZlcnQuYzo4MgogbXNnaWQgImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgImtow7RuZyBjaGVycnktcGljayBoYXkgcmV2ZXJ0IGxpw6puIHRp4bq/cCBuaGF1IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwOAorIzogYnVpbHRpbi9yZXZlcnQuYzo4MwogbXNnaWQgImRvbid0IGF1dG9tYXRpY2FsbHkgY29tbWl0IgogbXNnc3RyICJraMO0bmcgY29tbWl0IG3hu5l0IGPDoWNoIHThu7EgxJHhu5luZy4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA5CisjOiBidWlsdGluL3JldmVydC5jOjg0CiBtc2dpZCAiZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgInPhu61hIGzhuqFpIGNow7ogdGjDrWNoIGNobyBjb21taXQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCisjOiBidWlsdGluL3JldmVydC5jOjg3CiBtc2dpZCAicGFyZW50IG51bWJlciIKIG1zZ3N0ciAic+G7kSBj4bunYSBjaGEgbeG6uSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTQKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAiY2hp4bq/biBsxrDhu6NjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL3JldmVydC5jOjExNQorIzogYnVpbHRpbi9yZXZlcnQuYzo5MAogbXNnaWQgIm9wdGlvbiIKIG1zZ3N0ciAidMO5eSBjaOG7jW4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE2CisjOiBidWlsdGluL3JldmVydC5jOjkxCiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gY2hvIGNoaeG6v24gbMaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjcKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCiBtc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgotbXNnc3RyICJu4buRaSB0aMOqbSB0w6puIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkiCittc2dzdHIgIm7hu5FpIHRow6ptIHTDqm4gbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIgogbXNnc3RyICJjaG8gcGjDqXAgZmFzdC1mb3J3YXJkIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyOQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAiY+G6pW0ga2jhu59pIHThuqFvIGzhuqduIGNodXnhu4NuIGdpYW8gdHLhu5FuZyBy4buXbmciCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTMwCisjOiBidWlsdGluL3JldmVydC5jOjEwNQogbXNnaWQgImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKLW1zZ3N0ciAiY2jhuqVwIG5o4bqtbiBjaHV54buDbiBnaWFvIChjb21taXQpIG3DoCBraMO0bmcgZ2hpIGNow7ogZ8OsIgorbXNnc3RyICJjaOG6pXAgbmjhuq1uIGNodXnhu4NuIGdpYW8gbcOgIGtow7RuZyBnaGkgY2jDuiBnw6wiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTMxCisjOiBidWlsdGluL3JldmVydC5jOjEwNgogbXNnaWQgImtlZXAgcmVkdW5kYW50LCBlbXB0eSBjb21taXRzIgogbXNnc3RyICJnaeG7ryBs4bqhaSBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gZMawIHRo4burYSwgcuG7l25nIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEzNQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTAKIG1zZ2lkICJwcm9ncmFtIGVycm9yIgogbXNnc3RyICJs4buXaSBjaMawxqFuZyB0csOsbmgiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjI1CisjOiBidWlsdGluL3JldmVydC5jOjE5NQogbXNnaWQgInJldmVydCBmYWlsZWQiCiBtc2dzdHIgInJldmVydCBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyNDAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjEwCiBtc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgogbXNnc3RyICJjaGVycnktcGljayBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9ybS5jOjE2CisjOiBidWlsdGluL3JtLmM6MTcKIG1zZ2lkICJnaXQgcm0gW29wdGlvbnNdIFstLV0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgcm0gW2PDoWMtdMO5eS1jaOG7jW5dIFstLV0gPHThuq1wLXRpbj4uLi4iCiAKLSM6IGJ1aWx0aW4vcm0uYzo2NAorIzogYnVpbHRpbi9ybS5jOjY1CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIChvciBvbmUgb2YgaXRzIG5lc3RlZCBzdWJtb2R1bGVzKVxuIgogInVzZXMgYSAuZ2l0IGRpcmVjdG9yeToiCkBAIC04NzgwLDcgKzkxMzksNyBAQAogImPDoWMgbcO0LcSRdW4tY29uIHNhdSDEkcOieSAoaGF5IG3hu5l0IHRyb25nIHPhu5EgbcO0LcSRdW4tY29uIGLDqm4gdHJvbmcgY+G7p2EgbsOzKVxuIgogImTDuW5nIG3hu5l0IHRoxrAgbeG7pWMgLmdpdDoiCiAKLSM6IGJ1aWx0aW4vcm0uYzo3MAorIzogYnVpbHRpbi9ybS5jOjcxCiBtc2dpZCAiIgogIlxuIgogIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKQEAgLTg3ODksNyArOTE0OCw3IEBACiAiKGTDuW5nIC9cInJtIC1yZi9cIiBu4bq/dSBi4bqhbiB0aOG7sWMgc+G7sSBtdeG7kW4gZ+G7oSBi4buPIG7DsyBjw7luZyB24bubaSB04bqldCBj4bqjIGzhu4tjaCBz4butIGPhu6dhICIKICJjaMO6bmcpIgogCi0jOiBidWlsdGluL3JtLmM6MjMwCisjOiBidWlsdGluL3JtLmM6MjMxCiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKICJmaWxlIGFuZCB0aGUgSEVBRDoiCkBAIC04ODAzLDcgKzkxNjIsNyBAQAogImPDoWMgdOG6rXAgdGluIHNhdSDEkcOieSBjw7MgdHLhuqFuZyB0aMOhaSBraMOhYyBiaeG7h3QgbuG7mWkgZHVuZyB04burIGPhuqMgdOG6rXAgdGluXG4iCiAidsOgIGPhuqMgSEVBRDoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMzUKKyM6IGJ1aWx0aW4vcm0uYzoyMzYKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtZiB0byBmb3JjZSByZW1vdmFsKSIKQEAgLTg4MTEsMTMgKzkxNzAsMTMgQEAKICJcbiIKICIoZMO5bmcgLWYgxJHhu4MgYnXhu5ljIGfhu6EgYuG7jykiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMzkKKyM6IGJ1aWx0aW4vcm0uYzoyNDAKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnc3RyWzBdICJ04bqtcCB0aW4gc2F1IMSRw6J5IGPDsyB0aGF5IMSR4buVaSB0cuG6oW5nIHRow6FpIHRyb25nIGLhuqNuZyBt4bulYyBs4bulYzoiCiBtc2dzdHJbMV0gImPDoWMgdOG6rXAgdGluIHNhdSDEkcOieSBjw7MgdGhheSDEkeG7lWkgdHLhuqFuZyB0aMOhaSB0cm9uZyBi4bqjbmcgbeG7pWMgbOG7pWM6IgogCi0jOiBidWlsdGluL3JtLmM6MjQzIGJ1aWx0aW4vcm0uYzoyNTQKKyM6IGJ1aWx0aW4vcm0uYzoyNDQgYnVpbHRpbi9ybS5jOjI1NQogbXNnaWQgIiIKICJcbiIKICIodXNlIC0tY2FjaGVkIHRvIGtlZXAgdGhlIGZpbGUsIG9yIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtODgyNSwzOCArOTE4NCwzOCBAQAogIlxuIgogIihkw7luZyB0w7l5IGNo4buNbiAtLWNhY2hlZCDEkeG7gyBnaeG7ryB04bqtcCB0aW4sIGhv4bq3YyAtZiDEkeG7gyDDqXAgYnXhu5ljIGfhu6EgYuG7jykiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNTEKKyM6IGJ1aWx0aW4vcm0uYzoyNTIKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgogbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dzdHJbMF0gInThuq1wIHRpbiBzYXUgxJHDonkgY8OzIG5o4buvbmcgdGhheSDEkeG7lWkgbuG7mWkgYuG7mToiCiBtc2dzdHJbMV0gIm5o4buvbmcgdOG6rXAgdGluIHNhdSDEkcOieSBjw7Mgbmjhu69uZyB0aGF5IMSR4buVaSBu4buZaSBi4buZOiIKIAotIzogYnVpbHRpbi9ybS5jOjI2OQorIzogYnVpbHRpbi9ybS5jOjI3MAogbXNnaWQgImRvIG5vdCBsaXN0IHJlbW92ZWQgZmlsZXMiCiBtc2dzdHIgImtow7RuZyBsaeG7h3Qga8OqIGPDoWMgdOG6rXAgdGluIMSRw6MgZ+G7oSBi4buPIgogCi0jOiBidWlsdGluL3JtLmM6MjcwCisjOiBidWlsdGluL3JtLmM6MjcxCiBtc2dpZCAib25seSByZW1vdmUgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgImNo4buJIGfhu6EgYuG7jyB04burIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL3JtLmM6MjcxCisjOiBidWlsdGluL3JtLmM6MjcyCiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgImdoaSDEkcOoIGzDqm4ga2nhu4NtIHRyYSBj4bqtcCBuaOG6rXQiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNzIKKyM6IGJ1aWx0aW4vcm0uYzoyNzMKIG1zZ2lkICJhbGxvdyByZWN1cnNpdmUgcmVtb3ZhbCIKIG1zZ3N0ciAiY2hvIHBow6lwIGfhu6EgYuG7jyDEkeG7hyBxdWkiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNzQKKyM6IGJ1aWx0aW4vcm0uYzoyNzUKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAidGhvw6F0IHJhIHbhu5tpIHRy4bqhbmcgdGjDoWkga2jDoWMga2jDtG5nIHRo4bqtbSBjaMOtIG7hur91IGtow7RuZyBjw7MgZ8OsIGto4bubcCIKIAotIzogYnVpbHRpbi9ybS5jOjM0NQorIzogYnVpbHRpbi9ybS5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgcmVtb3ZpbmcgJyVzJyByZWN1cnNpdmVseSB3aXRob3V0IC1yIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ+G7oSBi4buPIOKAnCVz4oCdIG3hu5l0IGPDoWNoIMSR4buHIHF1aSBtw6Aga2jDtG5nIGPDsyB0w7l5IGNo4buNbiAtciIKIAotIzogYnVpbHRpbi9ybS5jOjM4NAorIzogYnVpbHRpbi9ybS5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgcm06IHVuYWJsZSB0byByZW1vdmUgJXMiCiBtc2dzdHIgImdpdCBybToga2jDtG5nIHRo4buDIGfhu6EgYuG7jyAlcyIKQEAgLTg4NzAsMjMgKzkyMjksMjMgQEAKIG1zZ2lkICJNaXNzaW5nIGF1dGhvcjogJXMiCiBtc2dzdHIgIlRoaeG6v3UgdMOqbiB0w6FjIGdp4bqjOiAlcyIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIyOAorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMAogbXNnaWQgInNvcnQgb3V0cHV0IGFjY29yZGluZyB0byB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgcGVyIGF1dGhvciIKIG1zZ3N0ciAic+G6r3AgeOG6v3Aga+G6v3QgeHXhuqV0IHR1w6JuIHRoZW8gc+G7kSBsxrDhu6NuZyBjaHV54buDbiBnaWFvIHRyw6puIG3hu5dpIHTDoWMgZ2nhuqMiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzAKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzIKIG1zZ2lkICJTdXBwcmVzcyBjb21taXQgZGVzY3JpcHRpb25zLCBvbmx5IHByb3ZpZGVzIGNvbW1pdCBjb3VudCIKIG1zZ3N0ciAiQ2jhurduIG3hu41pIG3DtCB04bqjIGzhuqduIGNodXnhu4NuIGdpYW8sIGNo4buJIMSRxrBhIHJhIHPhu5EgbMaw4bujbmcgbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMgorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzNAogbXNnaWQgIlNob3cgdGhlIGVtYWlsIGFkZHJlc3Mgb2YgZWFjaCBhdXRob3IiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyB0aMawIMSRaeG7h24gdOG7rSBjaG8gdOG7q25nIHTDoWMgZ2nhuqMiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzMKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzUKIG1zZ2lkICJ3WyxpMVssaTJdXSIKIG1zZ3N0ciAid1ssaTFbLGkyXV0iCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzQKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzYKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgIk5n4bqvdCBkw7JuZyBraGkgcXXDoSBkw6BpIgogCkBAIC04OTA2LDc3ICs5MjY1LDc3IEBACiBtc2dpZCAiZ2l0IHNob3ctYnJhbmNoICgtZ3wtLXJlZmxvZylbPTxuPlssPGJhc2U+XV0gWy0tbGlzdF0gWzxyZWY+XSIKIG1zZ3N0ciAiZ2l0IHNob3ctYnJhbmNoICgtZ3wtLXJlZmxvZylbPTxuPlssPG7hu4FuPl1dIFstLWxpc3RdIFs8cmVmPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDkKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIG5ow6FuaCByZW1vdGUtdHJhY2tpbmcgdsOgIG7hu5lpIGLhu5kiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTEKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgbmjDoW5oIHJlbW90ZS10cmFja2luZyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MwogbXNnaWQgImNvbG9yICcqISstJyBjb3JyZXNwb25kaW5nIHRvIHRoZSBicmFuY2giCiBtc2dzdHIgIm3DoHUg4oCcKiErLeKAnSB0xrDGoW5nIOG7qW5nIHbhu5tpIG5ow6FuaCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NQogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICJoaeG7g24gdGjhu4sgdGjDqm0gPG4+IGzhuqduIGNodXnhu4NuIGdpYW8gc2F1IGNoYSBt4bq5IGNodW5nIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU3CiBtc2dpZCAic3lub255bSB0byBtb3JlPS0xIgogbXNnc3RyICLEkeG7k25nIG5naMSpYSB24bubaSBtb3JlPS0xIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU4CiBtc2dpZCAic3VwcHJlc3MgbmFtaW5nIHN0cmluZ3MiCiBtc2dzdHIgImNo4bq3biBjw6FjIGNodeG7l2kgxJHhurd0IHTDqm4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjAKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAiYmFvIGfhu5NtIG5ow6FuaCBoaeG7h24gaMOgbmgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjIKIG1zZ2lkICJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiCiBtc2dzdHIgIsSR4bq3dCB0w6puIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBi4bqxbmcgY8OhYyB0w6puIGPhu6dhIMSR4buRaSB0xrDhu6NuZyBj4bunYSBjaMO6bmciCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjQKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgbeG7jWkgY8ahIHPhu58gY8OzIHRo4buDIGTDuW5nIMSR4buDIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY2CiBtc2dpZCAic2hvdyByZWZzIHVucmVhY2hhYmxlIGZyb20gYW55IG90aGVyIHJlZiIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdGhhbSBjaGnhur91IGtow7RuZyB0aOG7gyDEkcaw4bujYyDEkeG7jWMgYuG7n2kgYuG6pXQga+G7syB0aGFtIGNoaeG6v3Uga2jDoWMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gdGhlbyB0aOG7qSB04buxIHTDtHDDtCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MQogbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGtow7RuZyBu4bqxbSB0csOqbiBuaMOhbmggxJHhuqd1IHRpw6puIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjczCiBtc2dpZCAic2hvdyBtZXJnZXMgcmVhY2hhYmxlIGZyb20gb25seSBvbmUgdGlwIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyBs4bqnbiBow7JhIHRy4buZbiBjw7MgdGjhu4MgxJHhu41jIMSRxrDhu6NjIGNo4buJIHThu6sgbeG7mXQgxJHhuqd1IG3DunQiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzUKIG1zZ2lkICJ0b3BvbG9naWNhbGx5IHNvcnQsIG1haW50YWluaW5nIGRhdGUgb3JkZXIgd2hlcmUgcG9zc2libGUiCiBtc2dzdHIgInPhuq9wIHjhur9wIGjDrG5oIHRow6FpIGjhu41jLCBi4bqjbyB0csOsIHRo4bupIHThu7EgbmfDoHkgbuG6v3UgY8OzIHRo4buDIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc4CiBtc2dpZCAiPG4+Wyw8YmFzZT5dIgotbXNnc3RyICI8bj5bLDxjxqEgc+G7nz5dIgorbXNnc3RyICI8bj5bLDxjxqFfc+G7nz5dIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjgwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc5CiBtc2dpZCAic2hvdyA8bj4gbW9zdCByZWNlbnQgcmVmLWxvZyBlbnRyaWVzIHN0YXJ0aW5nIGF0IGJhc2UiCiBtc2dzdHIgImhp4buDbiB0aOG7iyA8bj4gY8OhYyBt4bulYyDigJxyZWYtbG9n4oCdIGfhuqduIG5o4bqldCBr4buDIHThu6sgbuG7gW4gKGJhc2UpIgogCiAjOiBidWlsdGluL3Nob3ctcmVmLmM6MTAKIG1zZ2lkICIiCi0iZ2l0IHNob3ctcmVmIFstcXwtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZHwtLWRlcmVmZXJlbmNlXSBbLXN8LS1oYXNoIgotIls9PG4+XV0gWy0tYWJicmV2Wz08bj5dXSBbLS10YWdzXSBbLS1oZWFkc10gWy0tXSBbcGF0dGVybipdICIKKyJnaXQgc2hvdy1yZWYgWy1xfC0tcXVpZXRdIFstLXZlcmlmeV0gWy0taGVhZF0gWy1kfC0tZGVyZWZlcmVuY2VdIFstc3wtLSIKKyJoYXNoWz08bj5dXSBbLS1hYmJyZXZbPTxuPl1dIFstLXRhZ3NdIFstLWhlYWRzXSBbLS1dIFtwYXR0ZXJuKl0gIgogbXNnc3RyICIiCi0iZ2l0IHNob3ctcmVmIFstcXwtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZHwtLWRlcmVmZXJlbmNlXSBbLXN8LS1oYXNoIgotIls9PG4+XV0gWy0tYWJicmV2Wz08bj5dXSBbLS10YWdzXSBbLS1oZWFkc10gWy0tXSBbbeG6q3UqXSAiCisiZ2l0IHNob3ctcmVmIFstcXwtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZHwtLWRlcmVmZXJlbmNlXSBbLXN8LS0iCisiaGFzaFs9PG4+XV0gWy0tYWJicmV2Wz08bj5dXSBbLS10YWdzXSBbLS1oZWFkc10gWy0tXSBbbeG6q3UqXSAiCiAKICM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMQogbXNnaWQgImdpdCBzaG93LXJlZiAtLWV4Y2x1ZGUtZXhpc3RpbmdbPXBhdHRlcm5dIDwgcmVmLWxpc3QiCkBAIC04OTk2LDI0ICs5MzU1LDI0IEBACiAidmnhu4djIGtp4buDbSB0cmEgdGhhbSBjaGnhur91IGNow61uaCB4w6FjLCDEkcOyaSBo4buPaSBjaMOtbmggeMOhYyDEkcaw4budbmcgZOG6q24gdGhhbSBjaGnhur91ICIKICIocmVmKSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MyBidWlsdGluL3Nob3ctcmVmLmM6MTc2CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTczIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzUKIG1zZ2lkICJzaG93IHRoZSBIRUFEIHJlZmVyZW5jZSwgZXZlbiBpZiBpdCB3b3VsZCBiZSBmaWx0ZXJlZCBvdXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyB0aGFtIGNoaeG6v3UgSEVBRCwgbmdheSBj4bqjIGtoaSBuw7MgxJHDoyDEkcaw4bujYyBs4buNYyByYSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NwogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW50byBvYmplY3QgSURzIgogbXNnc3RyICJiw6NpIGLhu48gdGhhbSBjaGnhur91IGPDoWMgdGjhursgdGjDoG5oIHJhIGPDoWMgSUQgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTgwCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc5CiBtc2dpZCAib25seSBzaG93IFNIQTEgaGFzaCB1c2luZyA8bj4gZGlnaXRzIgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgbcOjIGLEg20gU0hBMSBz4butIGThu6VuZyA8bj4gY2jhu68gc+G7kSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4NAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4MwogbXNnaWQgImRvIG5vdCBwcmludCByZXN1bHRzIHRvIHN0ZG91dCAodXNlZnVsIHdpdGggLS12ZXJpZnkpIgogbXNnc3RyICIiCiAia2jDtG5nIGhp4buDbiB0aOG7iyBr4bq/dCBxdeG6oyByYSDEkeG6p3UgcmEgY2h14bqpbiAoc3Rkb3V0KSAoY2jhu4kgaOG7r3UgZOG7pW5nIHbhu5tpIC0tdmVyaWZ5KSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4NQogbXNnaWQgInNob3cgcmVmcyBmcm9tIHN0ZGluIHRoYXQgYXJlbid0IGluIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKICJoaeG7g24gdGjhu4sgY8OhYyB0aGFtIGNoaeG6v3UgKHJlZnMpIHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiAoc3RkaW4pIGPDoWkgbcOgIGtow7RuZyDhu58gIgpAQCAtOTA0MCwxMSArOTM5OSwxMSBAQAogbXNnaWQgInNob3J0ZW4gcmVmIG91dHB1dCIKIG1zZ3N0ciAibMOgbSBuZ+G6r24ga+G6v3QgeHXhuqV0IHJlZiAodGhhbSBjaGnhur91KSIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoxOAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTQKIG1zZ2lkICJyZWFzb24iCiBtc2dzdHIgImzDvSBkbyIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoxOAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTQKIG1zZ2lkICJyZWFzb24gb2YgdGhlIHVwZGF0ZSIKIG1zZ3N0ciAibMO9IGRvIGPhuq1wIG5o4bqtdCIKIApAQCAtOTIwOSwxODcgKzk1NjgsMTk5IEBACiBtc2dpZCAicHJpbnQgb25seSB0YWdzIG9mIHRoZSBvYmplY3QiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBjw6FjIHRo4bq7IGPhu6dhIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi90YWcuYzo1MDQKKyM6IGJ1aWx0aW4vdGFnLmM6NTAxCiBtc2dpZCAiLS1jb2x1bW4gYW5kIC1uIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tY29sdW1uIHbDoCAtbiB4dW5nIGto4bqvYyBuaGF1IgogCi0jOiBidWlsdGluL3RhZy5jOjUyMQorIzogYnVpbHRpbi90YWcuYzo1MTgKIG1zZ2lkICItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgogbXNnc3RyICJ0w7l5IGNo4buNbiAtbiBjaOG7iSBjaG8gcGjDqXAgZMO5bmcgduG7m2kgLWwuIgogCi0jOiBidWlsdGluL3RhZy5jOjUyMworIzogYnVpbHRpbi90YWcuYzo1MjAKIG1zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCiBtc2dzdHIgInTDuXkgY2jhu41uIC0tY29udGFpbnMgY2jhu4kgY2hvIHBow6lwIGTDuW5nIHbhu5tpIC1sLiIKIAotIzogYnVpbHRpbi90YWcuYzo1MjUKKyM6IGJ1aWx0aW4vdGFnLmM6NTIyCiBtc2dpZCAiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gLS1wb2ludHMtYXQgY2jhu4kgY2hvIHBow6lwIGTDuW5nIHbhu5tpIC1sLiIKIAotIzogYnVpbHRpbi90YWcuYzo1MzMKKyM6IGJ1aWx0aW4vdGFnLmM6NTMwCiBtc2dpZCAib25seSBvbmUgLUYgb3IgLW0gb3B0aW9uIGlzIGFsbG93ZWQuIgogbXNnc3RyICJjaOG7iSBjw7MgbeG7mXQgdMO5eSBjaOG7jW4gLUYgaG/hurdjIC1tIGzDoCDEkcaw4bujYyBwaMOpcC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTUzCisjOiBidWlsdGluL3RhZy5jOjU1MAogbXNnaWQgInRvbyBtYW55IHBhcmFtcyIKIG1zZ3N0ciAicXXDoSBuaGnhu4F1IMSR4buRaSBz4buRIgogCi0jOiBidWlsdGluL3RhZy5jOjU1OQorIzogYnVpbHRpbi90YWcuYzo1NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0YWcgbmFtZS4iCiBtc2dzdHIgIuKAnCVz4oCdIGtow7RuZyBwaOG6o2kgdGjhursgaOG7o3AgbOG7hy4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTY0CisjOiBidWlsdGluL3RhZy5jOjU2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiVGjhursg4oCcJXPigJ0gxJHDoyB04buTbiB04bqhaSBy4buTaSIKIAotIzogYnVpbHRpbi90YWcuYzo1ODIKKyM6IGJ1aWx0aW4vdGFnLmM6NTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbG9jayB0aGUgcmVmIgogbXNnc3RyICIlczoga2jDtG5nIHRo4buDIGtow7NhIHJlZiAodGhhbSBjaGnhur91KSIKIAotIzogYnVpbHRpbi90YWcuYzo1ODQKKyM6IGJ1aWx0aW4vdGFnLmM6NTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdXBkYXRlIHRoZSByZWYiCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10IHJlZiAodGhhbSBjaGnhur91KSIKIAotIzogYnVpbHRpbi90YWcuYzo1ODYKKyM6IGJ1aWx0aW4vdGFnLmM6NTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAixJDDoyBj4bqtcCBuaOG6rXQgdGjhursg4oCcJXPigJ0gKHRyxrDhu5tjIGzDoCAlcylcbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo0MDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NDAyCiBtc2dpZCAiZ2l0IHVwZGF0ZS1pbmRleCBbb3B0aW9uc10gWy0tXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1pbmRleCBbY8OhYy10w7l5LWNo4buNbl0gWzx04bqtcC10aW4+Li4uXSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MTgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzIwCiBtc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgogbXNnc3RyICJ0aeG6v3AgdOG7pWMgbMOgbSBt4bubaSBuZ2F5IGPhuqMga2hpIGLhuqNuZyBt4bulYyBs4bulYyBj4bqnbiDEkcaw4bujYyBj4bqtcCBuaOG6rXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzIxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyMwogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICJyZWZyZXNoOiBs4budIMSRaSBtw7QtxJF1bi1jb24iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyNgogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICJraMO0bmcgYuG7jyBxdWEgY8OhYyB04bqtcCB0aW4gbeG7m2kgdOG6oW8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyOAogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICLEkeG7gyBjw6FjIHThuq1wIHRpbiB0aGF5IHRo4bq/IGPDoWMgdGjGsCBt4bulYyB2w6Ag4oCcdmljZS12ZXJzYeKAnSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMwCiBtc2dpZCAibm90aWNlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAidGjDtG5nIGLDoW8gY8OhYyB04bqtcC10aW4gdGhp4bq/dSB0cm9uZyB0aMawLW3hu6VjIGzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzIKIG1zZ2lkICJyZWZyZXNoIGV2ZW4gaWYgaW5kZXggY29udGFpbnMgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAiIgogImzDoG0gdMawxqFpIG3hu5tpIHRo4bqtbSBjaMOtIGtoaSBi4bqjbmcgbeG7pWMgbOG7pWMgY2jhu6lhIGPDoWMgbeG7pWMgdGluIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzUKIG1zZ2lkICJyZWZyZXNoIHN0YXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgImzhuqV5IGzhuqFpIHRow7RuZyB0aW4gdGjhu5FuZyBrw6oiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzM3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczOQogbXNnaWQgImxpa2UgLS1yZWZyZXNoLCBidXQgaWdub3JlIGFzc3VtZS11bmNoYW5nZWQgc2V0dGluZyIKIG1zZ3N0ciAiZ2nhu5FuZyAtLXJlZnJlc2gsIG5oxrBuZyBi4buPIHF1YSBjw6FjIGPDoGkgxJHhurd0IOKAnGFzc3VtZS11bmNoYW5nZWTigJ0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0MwogbXNnaWQgIjxtb2RlPiA8b2JqZWN0PiA8cGF0aD4iCiBtc2dzdHIgIjxtb2RlPiA8xJHhu5FpIHTGsOG7o25nPiA8xJHGsOG7nW5nIGThuqtuPiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ0CiBtc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgogbXNnc3RyICJ0aMOqbSBjw6FjIHThuq1wIHRpbiDEkcOjIGNo4buJIHJhIHbDoG8gYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDgKIG1zZ2lkICIoKy8tKXgiCiBtc2dzdHIgIigrLy0peCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ5CiBtc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCiBtc2dzdHIgImdoaSDEkcOoIGzDqm4gYsOtdCB0aGkgaMOgbmggY+G7p2EgY8OhYyB04bqtcCB0aW4gxJHGsOG7o2MgbGnhu4d0IGvDqiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzUzCiBtc2dpZCAibWFyayBmaWxlcyBhcyBcIm5vdCBjaGFuZ2luZ1wiIgogbXNnc3RyICLEkMOhbmggZOG6pXUgY8OhYyB04bqtcCB0aW4gbMOgIFwia2jDtG5nIHRoYXkgxJHhu5VpXCIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1NgogbXNnaWQgImNsZWFyIGFzc3VtZWQtdW5jaGFuZ2VkIGJpdCIKIG1zZ3N0ciAieMOzYSBiw610ICBhc3N1bWVkLXVuY2hhbmdlZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU5CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAixJHDoW5oIGThuqV1IGPDoWMgdOG6rXAgdGluIGzDoCDigJxjaOG7iS3EkeG7jWPigJ0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzYwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2MgogbXNnaWQgImNsZWFyIHNraXAtd29ya3RyZWUgYml0IgogbXNnc3RyICJ4w7NhIGLDrXQgc2tpcC13b3JrdHJlZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY1CiBtc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgIiIKICJjaOG7iSB0aMOqbSB2w6BvIGLhuqNuZyBt4bulYyBs4bulYzsga2jDtG5nIHRow6ptIG7hu5lpIGR1bmcgdsOgbyBjxqEgc+G7nyBk4buvIGxp4buHdSDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2NwogbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCiBtc2dzdHIgIiIKICJn4buhIGLhu48gY8OhYyDEkcaw4budbmcgZOG6q24gxJHGsOG7o2MgxJHhurd0IHTDqm4gdGjhuq1tIGNow60gY+G6oyBraGkgbsOzIGhp4buHbiBkaeG7h24gdHJvbmcgdGjGsCBt4bulYyAiCiAibMOgbSB2aeG7h2MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2OQogbXNnaWQgIndpdGggLS1zdGRpbjogaW5wdXQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgbnVsbCBieXRlcyIKIG1zZ3N0ciAiduG7m2kgdMO5eSBjaOG7jW4gLS1zdGRpbjogY8OhYyBkw7JuZyDEkeG6p3UgdsOgbyDEkcaw4bujYyBjaOG6pW0gZOG7qXQgYuG7n2kga8O9IHThu7EgbnVsbCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzcxCiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAixJHhu41jIGRhbmggc8OhY2ggxJHGsOG7nW5nIGThuqtuIGPhuqduIGPhuq1wIG5o4bqtdCB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzczCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3NQogbXNnaWQgImFkZCBlbnRyaWVzIGZyb20gc3RhbmRhcmQgaW5wdXQgdG8gdGhlIGluZGV4IgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIGPDoWMgbeG7pWMgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIHbDoG8gYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzkKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgInBo4bulYyBo4buTaSBjw6FjIHRy4bqhbmcgdGjDoWkgIzIgdsOgICMzIGNobyBjw6FjIMSRxrDhu51uZyBk4bqrbiDEkcaw4bujYyBsaeG7h3Qga8OqIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODMKIG1zZ2lkICJvbmx5IHVwZGF0ZSBlbnRyaWVzIHRoYXQgZGlmZmVyIGZyb20gSEVBRCIKIG1zZ3N0ciAiY2jhu4kgY+G6rXAgbmjhuq10IGPDoWMgbeG7pWMgdGluIG3DoCBuw7Mga2jDoWMgYmnhu4d0IHNvIHbhu5tpIEhFQUQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzg1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4NwogbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImLhu48gcXVhIGPDoWMgdOG6rXAtdGluIHRoaeG6v3UgdHJvbmcgdGjGsC1t4bulYyBsw6BtIHZp4buHYyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkwCiBtc2dpZCAicmVwb3J0IGFjdGlvbnMgdG8gc3RhbmRhcmQgb3V0cHV0IgogbXNnc3RyICJiw6FvIGPDoW8gY8OhYyB0aGFvIHTDoWMgcmEgdGhp4bq/dCBi4buLIHh14bqldCBjaHXhuqluIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5MAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTIKIG1zZ2lkICIoZm9yIHBvcmNlbGFpbnMpIGZvcmdldCBzYXZlZCB1bnJlc29sdmVkIGNvbmZsaWN0cyIKIG1zZ3N0ciAiKGNobyDigJxwb3JjZWxhaW5z4oCdKSBxdcOqbiBjw6FjIHh1bmcgxJHhu5l0IGNoxrBhIMSRxrDhu6NjIGdp4bqjaSBxdXnhur90IMSRw6MgZ2hpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTYKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAiZ2hpIG3hu6VjIGzhu6VjIOG7nyDEkeG7i25oIGThuqFuZyBuw6B5IgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzo3CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzo5CiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdIC1kIDxyZWZuYW1lPiBbPG9sZHZhbD5dIgogbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbY8OhYy10w7l5LWNo4buNbl0gLWQgPHJlZm5hbWU+IFs8Ymnhur9uLWPFqT5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzo4CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMAogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAgICA8cmVmbmFtZT4gPG5ld3ZhbD4gWzxvbGR2YWw+XSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgW2PDoWMtdMO5eS1jaOG7jW5dICAgIDxyZWZuYW1lPiA8Ymnhur9uLW3hu5tpPiBbPGJp4bq/bi1jxak+XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTkKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjExCittc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdIC0tc3RkaW4gWy16XSIKK21zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgW2PDoWMtdMO5eS1jaOG7jW5dIC0tc3RkaW4gWy16XSIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU1CiBtc2dpZCAiZGVsZXRlIHRoZSByZWZlcmVuY2UiCiBtc2dzdHIgInjDs2EgdGhhbSBjaGnhur91IgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyMQorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU3CiBtc2dpZCAidXBkYXRlIDxyZWZuYW1lPiBub3QgdGhlIG9uZSBpdCBwb2ludHMgdG8iCiBtc2dzdHIgImPhuq1wIG5o4bqtdCA8dMOqbi10aGFtLWNoaeG6v3U+IGtow7RuZyBwaOG6o2kgY8OhaSBuw7MgY2jhu4kgdOG7m2kiCiAKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1OAorbXNnaWQgInN0ZGluIGhhcyBOVUwtdGVybWluYXRlZCBhcmd1bWVudHMiCittc2dzdHIgIsSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4gY8OzIGPDoWMgxJHhu5FpIHPhu5EgxJHGsOG7o2MgY2jhuqVtIGThu6l0IGLhu59pIE5VTCIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU5Cittc2dpZCAicmVhZCB1cGRhdGVzIGZyb20gc3RkaW4iCittc2dzdHIgIsSR4buNYyBj4bqtcCBuaOG6rXQgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgorCiAjOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjYKIG1zZ2lkICJnaXQgdXBkYXRlLXNlcnZlci1pbmZvIFstLWZvcmNlXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyBbLS1mb3JjZV0iCkBAIC05NDQ0LDIzICs5ODE1LDIzIEBACiAiaMaw4bubbmcgZOG6q24gduG7gSBraMOhaSBuaeG7h20uIFhlbSDigJxnaXQgaGVscCA8bOG7h25oPuKAnSBoYXkg4oCcZ2l0IGhlbHAgPGtow6FpLW5p4buHbT7igJ1cbiIKICLEkeG7gyB4ZW0gY8OhYyDEkeG6t2MgdOG6oyBjaG8gbOG7h25oIGhheSBraMOhaSBuaeG7h20gY+G7pSB0aOG7gy4iCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNDQKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNDYKIG1zZ2lkICJleHBpcnkgZGF0ZSIKIG1zZ3N0ciAibmfDoHkgaOG6v3QgaOG6oW4iCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNTkKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNjEKIG1zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCiBtc2dzdHIgIm5vLW9wICh0xrDGoW5nIHRow61jaCBuZ8aw4bujYykiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyMzYKKyM6IHBhcnNlLW9wdGlvbnMuaDoyMzUKIG1zZ2lkICJiZSBtb3JlIHZlcmJvc2UiCiBtc2dzdHIgImNoaSB0aeG6v3QgaMahbiBu4buvYSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzOAorIzogcGFyc2Utb3B0aW9ucy5oOjIzNwogbXNnaWQgImJlIG1vcmUgcXVpZXQiCiBtc2dzdHIgImltIGzhurduZyBoxqFuIG7hu69hIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjQ0CisjOiBwYXJzZS1vcHRpb25zLmg6MjQzCiBtc2dpZCAidXNlIDxuPiBkaWdpdHMgdG8gZGlzcGxheSBTSEEtMXMiCiBtc2dzdHIgInPhu60gZOG7pW5nIDxuPiBjaOG7ryBz4buRIMSR4buDIGhp4buDbiB0aOG7iyBTSEEtMXMiCiAKQEAgLTk2NjksNyArMTAwNDAsNyBAQAogCiAjOiBnaXQtYW0uc2g6NzI1CiBtc2dpZCAiUGF0Y2ggZG9lcyBub3QgaGF2ZSBhIHZhbGlkIGUtbWFpbCBhZGRyZXNzLiIKLW1zZ3N0ciAiTWnhur9uZyB2w6Ega2jDtG5nIGPDsyDEkeG7i2EgY2jhu4kgZS1tYWlsIGjhu6NwIGzhu4cuIgorbXNnc3RyICJNaeG6v25nIHbDoSBraMO0bmcgY8OzIMSR4buLYSBjaOG7iSB0aMawIMSRaeG7h24gdOG7rSBo4bujcCBs4buHLiIKIAogIzogZ2l0LWFtLnNoOjc3MgogbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKQEAgLTk2NzgsNyArMTAwNDksNyBAQAogCiAjOiBnaXQtYW0uc2g6Nzc2CiBtc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgotbXNnc3RyICJUaMOibiBj4bunYSBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIGzDoDoiCittc2dzdHIgIlRow6JuIGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW8gbMOgOiIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFt5XSwgW25dLCBbZV0sIFt2XSBhbmQgW2FdCiAjLiBpbiB5b3VyIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2gKQEAgLTk2ODYsOCArMTAwNTcsOCBAQAogIzogZ2l0LWFtLnNoOjc4MwogbXNnaWQgIkFwcGx5PyBbeV1lcy9bbl1vL1tlXWRpdC9bdl1pZXcgcGF0Y2gvW2FdY2NlcHQgYWxsICIKIG1zZ3N0ciAiIgotIsOBcCBk4bulbmc/IMSR4buTbmcgw70gW3ldL2tow7RuZyBbbl0vY2jhu4luaCBz4butYSBbZV0vaGnhu4NuIHRo4buLIG1p4bq/bmcgW3Zdw6EvxJHhu5NuZyDDvSB04bqldCAiCi0iY+G6oyBbYV0gIgorIsOBcCBk4bulbmc/IMSR4buTbmcgw70gW3ldL2tow7Rbbl1nL2No4buJbmggc+G7rWEgW2VdL2hp4buDbiB0aOG7iyBtaeG6v25nIFt2XcOhL8SR4buTbmcgw70gdOG6pXQgY+G6oyAiCisiW2FdICIKIAogIzogZ2l0LWFtLnNoOjgxOQogIywgc2gtZm9ybWF0CkBAIC05NzIwLDcgKzEwMDkxLDcgQEAKICM6IGdpdC1hbS5zaDo4NzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlBhdGNoIGZhaWxlZCBhdCAkbXNnbnVtICRGSVJTVExJTkUiCi1tc2dzdHIgIlbDoSBn4bq3cCBs4buXaSB04bqhaSAkbXNnbnVtICRGSVJTVExJTkUiCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB2w6EgdOG6oWkgJG1zZ251bSAkRklSU1RMSU5FIgogCiAjOiBnaXQtYW0uc2g6ODc3CiAjLCBzaC1mb3JtYXQKQEAgLTk3NjksOCArMTAxNDAsOCBAQAogIjxuaMOhbmhfaOG7o3BfbOG7hz7igJ0uIgogCiAjOiBnaXQtYmlzZWN0LnNoOjE0MAotbXNnaWQgIndvbid0IGJpc2VjdCBvbiBzZWVrZWQgdHJlZSIKLW1zZ3N0ciAic+G6vSBraMO0bmcgYmlzZWN0IHRyw6ptIGPDonkgxJHGsOG7o2Mgc2VlayIKK21zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgorbXNnc3RyICJz4bq9IGtow7RuZyBiaXNlY3QgdHLDqm0gY8OieSDEkcaw4bujYyBjZy1zZWVrIgogCiAjOiBnaXQtYmlzZWN0LnNoOjE0NAogbXNnaWQgIkJhZCBIRUFEIC0gc3RyYW5nZSBzeW1ib2xpYyByZWYiCkBAIC05ODAzLDggKzEwMTc0LDcgQEAKICMuIHRoaXMgaXMgbGVzcyBvcHRpbXVtLgogIzogZ2l0LWJpc2VjdC5zaDoyNzMKIG1zZ2lkICJXYXJuaW5nOiBiaXNlY3Rpbmcgb25seSB3aXRoIGEgYmFkIGNvbW1pdC4iCi1tc2dzdHIgIiIKLSJD4bqjbmggYsOhbzogY2jhu4kgdGjhu7FjIGhp4buHbiB2aeG7h2MgYmlzZWN0IHbhu5tpIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgc2FpLiIKK21zZ3N0ciAiQ+G6o25oIGLDoW86IGNo4buJIHRo4buxYyBoaeG7h24gdmnhu4djIGJpc2VjdCB24bubaSBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIHNhaS4iCiAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CkBAIC05ODM5LDcgKzEwMjA5LDcgQEAKICM6IGdpdC1iaXNlY3Quc2g6MzcwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGludmFsaWQnIGlzIG5vdCBhIHZhbGlkIGNvbW1pdCIKLW1zZ3N0ciAi4oCdJGludmFsaWTigJ0ga2jDtG5nIHBo4bqjaSBsw6AgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBo4bujcCBs4buHIgorbXNnc3RyICLigJ0kaW52YWxpZOKAnSBraMO0bmcgcGjhuqNpIGzDoCBs4bqnbiBjaHV54buDbiBnaWFvIGjhu6NwIGzhu4ciCiAKICM6IGdpdC1iaXNlY3Quc2g6Mzc5CiAjLCBzaC1mb3JtYXQKQEAgLTk5MTAsNyArMTAyODAsNyBAQAogbXNnc3RyICIiCiAiRnVsbCBsw6Aga2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gYuG7n2kgdsOsIGLhuqFuIGPDsyBuaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbi4iCiAKLSM6IGdpdC1wdWxsLnNoOjIwMworIzogZ2l0LXB1bGwuc2g6MjIzCiBtc2dpZCAidXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4IgogbXNnc3RyICIiCiAixJFhbmcgY+G6rXAgbmjhuq10IG3hu5l0IG5ow6FuaCBjaMawYSDEkcaw4bujYyBzaW5oIHJhIHbhu5tpIGPDoWMgdGhheSDEkeG7lWkgxJHGsOG7o2MgdGjDqm0gdsOgbyAiCkBAIC05OTIwLDcgKzEwMjkwLDcgQEAKICMuIFRoZSB3b3JraW5nIHRyZWUgYW5kIHRoZSBpbmRleCBmaWxlIGlzIHN0aWxsIGJhc2VkIG9uIHRoZQogIy4gJG9yaWdfaGVhZCBjb21taXQsIGJ1dCB3ZSBhcmUgbWVyZ2luZyBpbnRvICRjdXJyX2hlYWQuCiAjLiBGaXJzdCB1cGRhdGUgdGhlIHdvcmtpbmcgdHJlZSB0byBtYXRjaCAkY3Vycl9oZWFkLgotIzogZ2l0LXB1bGwuc2g6MjM1CisjOiBnaXQtcHVsbC5zaDoyNDcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiBmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkLlxuIgpAQCAtOTkzMSwxNSArMTAzMDEsMTUgQEAKICJD4bqjbmggYsOhbzogxJFhbmcgZmFzdC1mb3J3YXJkIGPDonkgbMOgbSB2aeG7h2MgY+G7p2EgYuG6oW4gdOG7q1xuIgogIkPhuqNuaCBiw6FvOiBjb21taXQgJG9yaWdfaGVhZC4iCiAKLSM6IGdpdC1wdWxsLnNoOjI2MAorIzogZ2l0LXB1bGwuc2g6MjcyCiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGjDsmEgdHLhu5luIG5oaeG7gXUgbmjDoW5oIHbDoCB0cm9uZyBt4buZdCBoZWFkIHRy4buRbmcgcuG7l25nIgogCi0jOiBnaXQtcHVsbC5zaDoyNjQKKyM6IGdpdC1wdWxsLnNoOjI3NgogbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gbOG7h25oIHJlYmFzZSAoY8ahIGPhuqV1IGzhuqFpKSB0csOqbiBuaGnhu4F1IG5ow6FuaCIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NAorIzogZ2l0LXJlYmFzZS5zaDo1NQogbXNnaWQgIiIKICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIuXG4iCiAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcImdpdCByZWJhc2UgLS1za2lwXCIgaW5zdGVhZC5cbiIKQEAgLTk5NTIsMTYgKzEwMzIyLDE2IEBACiAixJDhu4MgcGjhu6VjIGjhu5NpIGzhuqFpIHRow6BuaCBuaMOhbmggbmd1ecOqbiB0aOG7p3kgdsOgIGThu6tuZyB2aeG7h2MgdsOhIGzhuqFpIHRow6wgY2jhuqF5IFwiZ2l0ICIKICJyZWJhc2UgLS1hYm9ydFwiLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNTYKKyM6IGdpdC1yZWJhc2Uuc2g6MTU4CiBtc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guIgogbXNnc3RyICLEkMOjIMOhcCBk4bulbmcgYXV0b3N0YXNoLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNTkKKyM6IGdpdC1yZWJhc2Uuc2g6MTYxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3RvcmUgJHN0YXNoX3NoYTEiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBsxrB1ICRzdGFzaF9zaGExIgogCi0jOiBnaXQtcmViYXNlLnNoOjE2MAorIzogZ2l0LXJlYmFzZS5zaDoxNjIKIG1zZ2lkICIiCiAiQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy5cbiIKICJZb3VyIGNoYW5nZXMgYXJlIHNhZmUgaW4gdGhlIHN0YXNoLlxuIgpAQCAtOTk3MiwzNSArMTAzNDIsMzUgQEAKICJC4bqhbiBjw7MgdGjhu4MgY2jhuqF5IGzhu4duaCBcImdpdCBzdGFzaCBwb3BcIiBoYXkgXCJnaXQgc3Rhc2ggZHJvcFwiIGLhuqV0IGvhu7MgbMO6YyAiCiAibsOgby5cbiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxOTAKKyM6IGdpdC1yZWJhc2Uuc2g6MjAxCiBtc2dpZCAiVGhlIHByZS1yZWJhc2UgaG9vayByZWZ1c2VkIHRvIHJlYmFzZS4iCiBtc2dzdHIgIk3Ds2MgKGhvb2spIHByZS1yZWJhc2UgdOG7qyBjaOG7kWkgcmViYXNlLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxOTUKKyM6IGdpdC1yZWJhc2Uuc2g6MjA2CiBtc2dpZCAiSXQgbG9va3MgbGlrZSBnaXQtYW0gaXMgaW4gcHJvZ3Jlc3MuIENhbm5vdCByZWJhc2UuIgogbXNnc3RyICIiCiAiSMOsbmggbmjGsCDEkWFuZyB0cm9uZyBxdcOhIHRyw6xuaCB0aOG7sWMgaGnhu4duIGzhu4duaCBnaXQtYW0uIEtow7RuZyB0aOG7gyBjaOG6oXkgbOG7h25oICIKICJyZWJhc2UuIgogCi0jOiBnaXQtcmViYXNlLnNoOjMyOQorIzogZ2l0LXJlYmFzZS5zaDozNDYKIG1zZ2lkICJUaGUgLS1leGVjIG9wdGlvbiBtdXN0IGJlIHVzZWQgd2l0aCB0aGUgLS1pbnRlcmFjdGl2ZSBvcHRpb24iCiBtc2dzdHIgIlTDuXkgY2jhu41uIC0tZXhlYyBwaOG6o2kgxJHGsOG7o2Mgc+G7rSBk4bulbmcgY8O5bmcgduG7m2kgdMO5eSBjaOG7jW4gLS1pbnRlcmFjdGl2ZSIKIAotIzogZ2l0LXJlYmFzZS5zaDozMzQKKyM6IGdpdC1yZWJhc2Uuc2g6MzUxCiBtc2dpZCAiTm8gcmViYXNlIGluIHByb2dyZXNzPyIKIG1zZ3N0ciAiS2jDtG5nIGPDsyB0aeG6v24gdHLDrG5oIHJlYmFzZSBuw6BvIHBo4bqjaSBraMO0bmc/IgogCi0jOiBnaXQtcmViYXNlLnNoOjM0NQorIzogZ2l0LXJlYmFzZS5zaDozNjIKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIiIKICJIw6BuaCDEkeG7mW5nIOKAnC0tZWRpdC10b2Rv4oCdIGNo4buJIGPDsyB0aOG7gyBkw7luZyB0cm9uZyBxdcOhIHRyw6xuaCDigJxyZWJhc2XigJ0gKHPhu61hIGzhu4tjaCAiCiAic+G7rSkgdMawxqFuZyB0w6FjLiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNTIKKyM6IGdpdC1yZWJhc2Uuc2g6MzY5CiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4buNYyBIRUFEIgogCi0jOiBnaXQtcmViYXNlLnNoOjM1NQorIzogZ2l0LXJlYmFzZS5zaDozNzIKIG1zZ2lkICIiCiAiWW91IG11c3QgZWRpdCBhbGwgbWVyZ2UgY29uZmxpY3RzIGFuZCB0aGVuXG4iCiAibWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiCkBAIC0xMDAwOCwxMiArMTAzNzgsMTIgQEAKICJC4bqhbiBwaOG6o2kgc+G7rWEgdOG6pXQgY+G6oyBjw6FjIGzhuqduIGjDsmEgdHLhu5luIHh1bmcgxJHhu5l0IHbDoCBzYXVcbiIKICLEkcOzIMSRw6FuaCBk4bqldSBjaMO6bmcgbMOgIGPhuqduIHjhu60gbMO9IHPhu60gZOG7pW5nIGzhu4duaCBnaXQgYWRkIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3MworIzogZ2l0LXJlYmFzZS5zaDozOTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHF1YXkgdHLhu58gbOG6oWkgJGhlYWRfbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDozOTIKKyM6IGdpdC1yZWJhc2Uuc2g6NDA5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJHN0YXRlX2Rpcl9iYXNlIGRpcmVjdG9yeSwgYW5kXG4iCkBAIC0xMDAzNiw2NiArMTA0MDYsNjYgQEAKICJcbiIKICJUw5RJOiBsw6AgbOG7h25oIGLhuqFuIHbhu6thIGfhu41pISIKIAotIzogZ2l0LXJlYmFzZS5zaDo0MzcKKyM6IGdpdC1yZWJhc2Uuc2g6NDU2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICR1cHN0cmVhbV9uYW1lIgogbXNnc3RyICJ0aMaw4bujbmcgbmd14buTbiBraMO0bmcgaOG7o3AgbOG7hyAkdXBzdHJlYW1fbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NjEKKyM6IGdpdC1yZWJhc2Uuc2g6NDgwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiJG9udG9fbmFtZTog4bufIMSRw6J5IGPDsyBuaGnhu4F1IGjGoW4gbeG7mXQgbuG7gW4gbcOzbmcgaMOyYSB0cuG7mW4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDY0IGdpdC1yZWJhc2Uuc2g6NDY4CisjOiBnaXQtcmViYXNlLnNoOjQ4MyBnaXQtcmViYXNlLnNoOjQ4NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiJG9udG9fbmFtZTog4bufIMSRw6J5IGtow7RuZyBjw7MgbuG7gW4gbcOzbmcgaMOyYSB0cuG7mW4gbsOgbyIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NzMKKyM6IGdpdC1yZWJhc2Uuc2g6NDkyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKLW1zZ3N0ciAiS2jDtG5nIGNo4buJIMSR4bq/biBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIGtow7RuZyBo4bujcCBs4buHOiAkb250b19uYW1lIgorbXNnc3RyICJLaMO0bmcgY2jhu4kgxJHhur9uIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8ga2jDtG5nIGjhu6NwIGzhu4c6ICRvbnRvX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDk2CisjOiBnaXQtcmViYXNlLnNoOjUxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoOiAkYnJhbmNoX25hbWUiCiBtc2dzdHIgIm5naGnDqm0gdHLhu41uZzoga2jDtG5nIGPDsyBuaMOhbmggbmjGsCB0aOG6vzogJGJyYW5jaF9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjUxOQorIzogZ2l0LXJlYmFzZS5zaDo1NDgKIG1zZ2lkICJDYW5ub3QgYXV0b3N0YXNoIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgYXV0b3N0YXNoIgogCi0jOiBnaXQtcmViYXNlLnNoOjUyNAorIzogZ2l0LXJlYmFzZS5zaDo1NTMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgogbXNnc3RyICLEkMOjIHThuqFvIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MjgKKyM6IGdpdC1yZWJhc2Uuc2g6NTU3CiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAiWGluIGjDo3kgY29tbWl0IGhv4bq3YyB04bqhbSBj4bqldCAoc3Rhc2gpIGNow7puZy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTQ4CisjOiBnaXQtcmViYXNlLnNoOjU3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUuIgogbXNnc3RyICJOaMOhbmggaGnhu4duIHThuqFpICRicmFuY2hfbmFtZSDEkcOjIMSRxrDhu6NjIGPhuq1wIG5o4bqtdCBy4buTaS4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTUyCisjOiBnaXQtcmViYXNlLnNoOjU4MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgogbXNnc3RyICJOaMOhbmggaGnhu4duIHThuqFpICRicmFuY2hfbmFtZSDEkcOjIMSRxrDhu6NjIGPhuq1wIG5o4bqtdCBy4buTaSwgbOG7h25oIHJlYmFzZSDDqXAgYnXhu5ljLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjMKKyM6IGdpdC1yZWJhc2Uuc2g6NTkyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDaGFuZ2VzIGZyb20gJG1iIHRvICRvbnRvOiIKIG1zZ3N0ciAiVGhheSDEkeG7lWkgdOG7qyAkbWIgdGjDoG5oICRvbnRvOiIKIAogIy4gRGV0YWNoIEhFQUQgYW5kIHJlc2V0IHRoZSB0cmVlCi0jOiBnaXQtcmViYXNlLnNoOjU3MgorIzogZ2l0LXJlYmFzZS5zaDo2MDEKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCiBtc2dzdHIgIiIKICJUcsaw4bubYyB0acOqbiwgZGkgY2h1eeG7g24gaGVhZCDEkeG7gyB4ZW0gbOG6oWkgY8OhYyBjw7RuZyB2aeG7h2MgdHLDqm4gxJHhu4luaCBj4bunYSBuw7MuLi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTgyCisjOiBnaXQtcmViYXNlLnNoOjYxMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkZWQgJGJyYW5jaF9uYW1lIHRvICRvbnRvX25hbWUuIgogbXNnc3RyICJGYXN0LWZvcndhcmQgJGJyYW5jaF9uYW1lIHRow6BuaCAkb250b19uYW1lLiIKQEAgLTEwMTA3LDcgKzEwNDc3LDcgQEAKIAogIzogZ2l0LXN0YXNoLnNoOjc0CiBtc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCi1tc2dzdHIgIkLhuqFuIGNoxrBhIGPDsm4gY8OzIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkga2jhu59pIHThuqFvIgorbXNnc3RyICJC4bqhbiBjaMawYSBjw7JuIGPDsyBs4bqnbiBjaHV54buDbiBnaWFvIGto4bufaSB04bqhbyIKIAogIzogZ2l0LXN0YXNoLnNoOjg5CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCkBAIC0xMDE0NCw3ICsxMDUxNCw3IEBACiAjLiAkIGdpdCBzdGFzaCBzYXZlIC0tYmxhaC1ibGFoIDI+JjEgfCBoZWFkIC1uIDIKICMuIGVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAtLWJsYWgtYmxhaAogIy4gVG8gcHJvdmlkZSBhIG1lc3NhZ2UsIHVzZSBnaXQgc3Rhc2ggc2F2ZSAtLSAnLS1ibGFoLWJsYWgnCi0jOiBnaXQtc3Rhc2guc2g6MjQxCisjOiBnaXQtc3Rhc2guc2g6MjM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKQEAgLTEwMTU0LDk5ICsxMDUyNCw4NSBAQAogIiAgICAgxJDhu4MgZMO5bmcgdGjDtG5nIMSRaeG7h3AgY8OzIGNo4bupYSAtLSDhu58gxJHhuqd1LCBz4butIGThu6VuZyBnaXQgc3Rhc2ggc2F2ZSAtLSBcIiRvcHRpb24iCiAiXCIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjIKKyM6IGdpdC1zdGFzaC5zaDoyNTgKIG1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCiBtc2dzdHIgIktow7RuZyBjw7MgdGhheSDEkeG7lWkgbuG7mWkgYuG7mSBuw6BvIMSRxrDhu6NjIGdoaSBs4bqhaSIKIAotIzogZ2l0LXN0YXNoLnNoOjI2OAotbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCBmaWxlcyB3b3VsZCBOT1QgYmUgc2F2ZWQgYnV0IG5lZWQgdG8gYmUgcmVtb3ZlZCBieSAiCi0ic3Rhc2ggc2F2ZToiCi1tc2dzdHIgIiIKLSJDw6FjIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkgc2F1IMSRw6J5IEtIw5RORyDEkcaw4bujYyBnaGkgbOG6oWkgbmjGsG5nIGPhuqduIMSRxrDhu6NjIGfhu6EgIgotImLhu48gYuG7n2kgdmnhu4djIGdoaSBs4bqhaSBzdGFzaDoiCi0KLSM6IGdpdC1zdGFzaC5zaDoyNzAKLW1zZ2lkICIiCi0iQWJvcnRpbmcuIENvbnNpZGVyIHVzaW5nIGVpdGhlciB0aGUgLS1mb3JjZSBvciAtLWluY2x1ZGUtdW50cmFja2VkIG9wdGlvbi4iCi1tc2dzdHIgIiIKLSJCw6NpIGLhu48uIEPDom4gbmjhuq9jIGTDuW5nIG3hu5l0IHRyb25nIGhhaSB0w7l5IGNo4buNbiAtLWZvcmNlIHbDoCAtLWluY2x1ZGUtdW50cmFja2VkLiIKLQotIzogZ2l0LXN0YXNoLnNoOjI3NAorIzogZ2l0LXN0YXNoLnNoOjI2MgogbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgogbXNnc3RyICJLaMO0bmcgdGjhu4Mga2jhu59pIHThuqFvIHN0YXNoIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjc4CisjOiBnaXQtc3Rhc2guc2g6MjY2CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGzhuqFpIHRy4bqhbmcgdGjDoWkgaGnhu4duIGjDoG5oIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjk2CisjOiBnaXQtc3Rhc2guc2g6Mjg0CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ+G7oSBi4buPIGPDoWMgdGhheSDEkeG7lWkgY8OieS1sw6BtLXZp4buHYyIKIAotIzogZ2l0LXN0YXNoLnNoOjM5NQorIzogZ2l0LXN0YXNoLnNoOjM4MwogbXNnaWQgIk5vIHN0YXNoIGZvdW5kLiIKIG1zZ3N0ciAiS2jDtG5nIHTDrG0gdGjhuqV5IHN0YXNoIG7DoG8uIgogCi0jOiBnaXQtc3Rhc2guc2g6NDAyCisjOiBnaXQtc3Rhc2guc2g6MzkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICJDaOG7iSByYSBxdcOhIG5oaeG7gXUgxJFp4buDbSB4w6l0IGR1eeG7h3Q6ICRSRVYiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MDgKKyM6IGdpdC1zdGFzaC5zaDozOTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IHZhbGlkIHJlZmVyZW5jZSIKIG1zZ3N0ciAiJHJlZmVyZW5jZSBraMO0bmcgcGjhuqNpIGzDoCB0aGFtIGNoaeG6v3UgaOG7o3AgbOG7hyIKIAotIzogZ2l0LXN0YXNoLnNoOjQzNgorIzogZ2l0LXN0YXNoLnNoOjQyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKLW1zZ3N0ciAi4oCdJGFyZ3PigJ0ga2jDtG5nIHBo4bqjaSBsw6AgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBnaeG7kW5nLXN0YXNoIgorbXNnc3RyICLigJ0kYXJnc+KAnSBraMO0bmcgcGjhuqNpIGzDoCBs4bqnbiBjaHV54buDbiBnaWFvIGtp4buDdS1zdGFzaCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ0NworIzogZ2l0LXN0YXNoLnNoOjQzNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIuKAnSRhcmdz4oCdIGtow7RuZyBwaOG6o2kgdGhhbSBjaGnhur91IMSR4bq/biBzdGFzaCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ1NQorIzogZ2l0LXN0YXNoLnNoOjQ0MwogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICJraMO0bmcgdGjhu4MgbMOgbSB0xrDGoWkgbeG7m2kgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBnaXQtc3Rhc2guc2g6NDU5CisjOiBnaXQtc3Rhc2guc2g6NDQ3CiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgogbXNnc3RyICJLaMO0bmcgdGjhu4Mgw6FwIGThu6VuZyBt4buZdCBzdGFzaCDhu58gZ2nhu69hIGPhu6dhIHF1w6EgdHLDrG5oIGjDsmEgdHLhu5luIgogCi0jOiBnaXQtc3Rhc2guc2g6NDY3CisjOiBnaXQtc3Rhc2guc2g6NDU1CiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAiWHVuZyDEkeG7mXQgdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjLiBIw6N5IHRo4butIG3DoCBraMO0bmcgZMO5bmcgdMO5eSBjaOG7jW4gLS1pbmRleC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0NjkKKyM6IGdpdC1zdGFzaC5zaDo0NTcKIG1zZ2lkICJDb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGzhuqFpIGPDonkgY2jhu4kgbeG7pWMiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MDMKKyM6IGdpdC1zdGFzaC5zaDo0OTEKIG1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKLW1zZ3N0ciAiS2jDtG5nIHRo4buDIGLhu48gdHLhuqFuZyB0aMOtYSBj4bunYSBjw6FjIHThuq1wIHRpbiDEkcOjIMSRxrDhu6NjIHPhu61hIGNo4buvYSIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIGLhu48gcmEga2jhu49pIGLhu4cgcGjDs25nIGPDoWMgdOG6rXAgdGluIMSRw6MgxJHGsOG7o2Mgc+G7rWEgY2jhu69hIgogCi0jOiBnaXQtc3Rhc2guc2g6NTE4CisjOiBnaXQtc3Rhc2guc2g6NTA2CiBtc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgogbXNnc3RyICJC4bqjbmcgbeG7pWMgbOG7pWMgxJHDoyBraMO0bmcgxJHGsOG7o2MgYuG7jyBzdGFzaC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1MzUKKyM6IGdpdC1zdGFzaC5zaDo1MjMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCiBtc2dzdHIgIsSQw6MgeMOzYSAke1JFVn0gKCRzKSIKIAotIzogZ2l0LXN0YXNoLnNoOjUzNgorIzogZ2l0LXN0YXNoLnNoOjUyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiJHtSRVZ9OiBLaMO0bmcgdGjhu4MgeMOzYSBi4buPIG3hu6VjIHN0YXNoIgogCi0jOiBnaXQtc3Rhc2guc2g6NTQzCisjOiBnaXQtc3Rhc2guc2g6NTMxCiBtc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgogbXNnc3RyICJDaMawYSBjaOG7iSByYSB0w6puIGPhu6dhIG5ow6FuaCIKIAotIzogZ2l0LXN0YXNoLnNoOjYxNQorIzogZ2l0LXN0YXNoLnNoOjYwMwogbXNnaWQgIihUbyByZXN0b3JlIHRoZW0gdHlwZSBcImdpdCBzdGFzaCBhcHBseVwiKSIKIG1zZ3N0ciAiKMSQ4buDIHBo4bulYyBo4buTaSBs4bqhaSBjaMO6bmcgaMOjeSBnw7UgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiAKQEAgLTEwMzY2LDQ1ICsxMDcyMiw0NSBAQAogbXNnaWQgIkVudGVyaW5nICckcHJlZml4JGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAixJBhbmcgdsOgbyDigJwkcHJlZml4JGRpc3BsYXlwYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU1NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN0b3BwaW5nIGF0ICckcHJlZml4JGRpc3BsYXlwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCiBtc2dzdHIgIiIKICJE4burbmcgbOG6oWkgdOG6oWkg4oCcJHByZWZpeCRkaXNwbGF5cGF0aOKAnTsgc2NyaXB0IHRy4bqjIHbhu4EgdHLhuqFuZyB0aMOhaSBraMOhYyBraMO0bmcuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwMAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIk5vIHVybCBmb3VuZCBmb3Igc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcgaW4gLmdpdG1vZHVsZXMiCiBtc2dzdHIgIiIKICJLaMO0bmcgdMOsbSB0aOG6pXkgdXJsIGNobyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnSB0cm9uZyAuZ2l0bW9kdWxlcyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MDkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjE0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMSRxINuZyBrw70gdXJsIGNobyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjE2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyRuYW1lJyAoJHVybCkgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTcO0LcSRdW4tY29uIOKAnCRuYW1l4oCdICgkdXJsKSDEkcaw4bujYyDEkcSDbmcga8O9IGNobyDEkcaw4budbmcgZOG6q24g4oCcJGRpc3BsYXlwYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYxOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cGRhdGUgbW9kZSBmb3Igc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJH4bq3cCBs4buXaSBraGkgxJHEg25nIGvDvSBjaOG6vyDEkeG7mSBj4bqtcCBuaOG6rXQgY2hvIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJGRpc3BsYXlwYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY1NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVzZSAnLicgaWYgeW91IHJlYWxseSB3YW50IHRvIGRlaW5pdGlhbGl6ZSBhbGwgc3VibW9kdWxlcyIKIG1zZ3N0ciAiRMO5bmcg4oCcLuKAnSBu4bq/dSBi4bqhbiB0aOG7sWMgc+G7sSBtdeG7kW4gZ+G7oSBi4buPIG3hu41pIG3DtC3EkXVuLWNvbiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njg4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnkiCiBtc2dzdHIgIkPDonkgbMOgbSB2aeG7h2MgbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnSBjw7MgY2jhu6lhIHRoxrAgbeG7pWMgLmdpdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njg5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiKHVzZSAncm0gLXJmJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gcmVtb3ZlIGl0IGluY2x1ZGluZyBhbGwgb2YgaXRzIGhpc3RvcnkpIgpAQCAtMTA0MTIsNyArMTA3NjgsNyBAQAogIihkw7luZyDigJxybSAtcmbigJ0gbuG6v3UgYuG6oW4gdGjhu7FjIHPhu7EgbXXhu5FuIGfhu6EgYuG7jyBuw7MgY8O5bmcgduG7m2kgdOG6pXQgY+G6oyBs4buLY2ggc+G7rSBj4bunYSAiCiAiY2jDum5nKSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byAiCkBAIC0xMDQyMSwyNyArMTA3NzcsMjcgQEAKICJDw6J5IGzDoG0gdmnhu4djIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ0gY2jhu6lhIGPDoWMgdGhheSDEkeG7lWkgbuG7mWkgYuG7mTsgaMOjeSBkw7luZyDigJwtIgogImbigJ0gxJHhu4MgbG/huqFpIGLhu48gY2jDum5nIMSRaSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njk4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDbGVhcmVkIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKLW1zZ3N0ciAixJDDoyB04bqhbyB0aMawIG3hu6VjICckZGlzcGxheXBhdGgnIgorbXNnc3RyICLEkMOjIHThuqFvIHRoxrAgbeG7pWMg4oCcJGRpc3BsYXlwYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGfhu6EgYuG7jyBjw6J5IGzDoG0gdmnhu4djIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njg3CisjOiBnaXQtc3VibW9kdWxlLnNoOjcwMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBlbXB0eSBzdWJtb2R1bGUgZGlyZWN0b3J5ICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdOG6oW8gdGjGsCBt4bulYyBtw7QtxJF1bi1jb24gcuG7l25nIOKAnCRkaXNwbGF5cGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzExCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyRuYW1lJyAoJHVybCkgdW5yZWdpc3RlcmVkIGZvciBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJNw7QtxJF1bi1jb24g4oCcJG5hbWXigJ0gKCR1cmwpIMSRxrDhu6NjIGLhu48gxJHEg25nIGvDvSBjaG8gxJHGsOG7nW5nIGThuqtuIOKAnCRkaXNwbGF5cGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODM0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcgbm90IGluaXRpYWxpemVkXG4iCkBAIC0xMDQ1MCw0NSArMTA4MDYsNDUgQEAKICLEkMaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnSBjaMawYSDEkcaw4bujYyBraOG7n2kgdOG6oW8uXG4iCiAiQ8OzIGzhur0gYuG6oW4gbXXhu5FuIHPhu60gZOG7pW5nIGzhu4duaCDigJx1cGRhdGUgLS1pbml04oCdPyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MjQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODQ3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiS2jDtG5nIHTDrG0gdGjhuqV5IMSRaeG7g20geMOpdCBkdXnhu4d0IGhp4buHbiBow6BuaCB0cm9uZyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uICIKICLigJwkZGlzcGxheXBhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODMzCisjOiBnaXQtc3VibW9kdWxlLnNoOjg1NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBs4bqleSB24buBIChmZXRjaCkgdHJvbmcgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkc21fcGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODgwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBs4bqleSB24buBIChmZXRjaCkgdHJvbmcgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODcxCisjOiBnaXQtc3VibW9kdWxlLnNoOjg5NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgcmViYXNlIOKAnCRzaGEx4oCdIHRyb25nIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJGRpc3BsYXlwYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg3MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiByZWJhc2VkIGludG8gJyRzaGExJyIKIG1zZ3N0ciAixJDGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ06IMSRxrDhu6NjIHJlYmFzZSB2w6BvIHRyb25nIOKAnCRzaGEx4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg3NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBtZXJnZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiS2jDtG5nIHRo4buDIGjDsmEgdHLhu5luIChtZXJnZSkg4oCcJHNoYTHigJ0gdHJvbmcgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODc4CisjOiBnaXQtc3VibW9kdWxlLnNoOjkwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgogbXNnc3RyICLEkMaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnTogxJHGsOG7o2MgaMOyYSB0cuG7mW4gdsOgbyDigJwkc2hhMeKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4ODMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTA2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiRXhlY3V0aW9uIG9mICckY29tbWFuZCAkc2hhMScgZmFpbGVkIGluIHN1Ym1vZHVsZSAgcGF0aCAnJHByZWZpeCRzbV9wYXRoJyIKQEAgLTEwNDk2LDc3ICsxMDg1MiwxMDEgQEAKICJUaOG7sWMgaGnhu4duIGtow7RuZyB0aMOgbmggY8O0bmcgbOG7h25oIOKAnCRjb21tYW5kICRzaGEx4oCdIHRyb25nIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24gIgogIuKAnCRwcmVmaXgkc21fcGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4ODQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTA3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJHByZWZpeCRzbV9wYXRoJzogJyRjb21tYW5kICRzaGExJyIKIG1zZ3N0ciAixJDGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkcHJlZml4JHNtX3BhdGjigJ06IOKAnCRjb21tYW5kICRzaGEx4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg4OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgY2hlY2tvdXQg4oCcJHNoYTHigJ0gdHJvbmcgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODkwCisjOiBnaXQtc3VibW9kdWxlLnNoOjkxMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCiBtc2dzdHIgIsSQxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJGRpc3BsYXlwYXRo4oCdOiDEkcOjIGNoZWNrb3V0IOKAnCRzaGEx4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjkxNworIzogZ2l0LXN1Ym1vZHVsZS5zaDo5NDAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSDEkeG7hyBxdXkgdsOgbyB0cm9uZyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDI1CisjOiBnaXQtc3VibW9kdWxlLnNoOjEwNDgKIG1zZ2lkICJUaGUgLS1jYWNoZWQgb3B0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhlIC0tZmlsZXMgb3B0aW9uIgogbXNnc3RyICJUw7l5IGNo4buNbiAtLWNhY2hlZCBraMO0bmcgdGjhu4MgZMO5bmcgY8O5bmcgduG7m2kgdMO5eSBjaOG7jW4gLS1maWxlcyIKIAogIy4gdW5leHBlY3RlZCB0eXBlCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwNjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTA5NgogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBtb2RlICRtb2RfZHN0IgogbXNnc3RyICJjaOG6vyDEkeG7mSBraMO0bmcgbmjGsCBtb25nIGNo4budICRtb2RfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwODYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTExNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgotbXNnc3RyICIiCi0iICBD4bqjbmggYsOhbzogJGRpc3BsYXlfbmFtZSBraMO0bmcgY2jhu6lhIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgJHNoYTFfc3JjIgorbXNnc3RyICIgIEPhuqNuaCBiw6FvOiAkZGlzcGxheV9uYW1lIGtow7RuZyBjaOG7qWEgbOG6p24gY2h1eeG7g24gZ2lhbyAkc2hhMV9zcmMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA4OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCi1tc2dzdHIgIiIKLSIgIEPhuqNuaCBiw6FvOiAkZGlzcGxheV9uYW1lIGtow7RuZyBjaOG7qWEgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSAkc2hhMV9kc3QiCittc2dzdHIgIiAgQ+G6o25oIGLDoW86ICRkaXNwbGF5X25hbWUga2jDtG5nIGNo4bupYSBs4bqnbiBjaHV54buDbiBnaWFvICRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDkyCisjOiBnaXQtc3VibW9kdWxlLnNoOjExMjIKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0cyAkc2hhMV9zcmMgYW5kICRzaGExX2RzdCIKIG1zZ3N0ciAiIgotIiAgQ+G6o25oIGLDoW86ICRkaXNwbGF5X25hbWUga2jDtG5nIGNo4bupYSBuaOG7r25nIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgIgotIiRzaGExX3NyYyB2w6AgJHNoYTFfZHN0IgorIiAgQ+G6o25oIGLDoW86ICRkaXNwbGF5X25hbWUga2jDtG5nIGNo4bupYSBuaOG7r25nIGzhuqduIGNodXnhu4NuIGdpYW8gJHNoYTFfc3JjIHbDoCAiCisiJHNoYTFfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExMTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTE0NwogbXNnaWQgImJsb2IiCiBtc2dzdHIgImJsb2IiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTE1NQotbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgotbXNnc3RyICJOaOG7r25nIG3DtC3EkXVuLWNvbiDEkcOjIGLhu4sgdGhheSDEkeG7lWkgbmjGsG5nIGNoxrBhIMSRxrDhu6NjIGPhuq1wIG5o4bqtdDoiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTE1NwotbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCi1tc2dzdHIgIk5o4buvbmcgbcO0LcSRdW4tY29uIHRoYXkgxJHhu5VpIMSRw6MgxJHGsOG7o2MgY2h1eeG7g24gZ2lhbyAoY29tbWl0KToiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTI0MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMjYxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSDEkeG7hyBxdXkgdsOgbyB0cm9uZyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRzbV9wYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEzMDYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTMyNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiVXJsIE3DtC3EkXVuLWNvbiDEkeG7k25nIGLhu5kgaMOzYSBjaG8g4oCcJGRpc3BsYXlwYXRo4oCdIgogCisjfiBtc2dpZCAiY29waWVkOiAgICAgJXMgLT4gJXMiCisjfiBtc2dzdHIgIsSRw6Mgc2FvIGNow6lwOiAgICVzIC0+ICVzIgorCisjfiBtc2dpZCAiZGVsZXRlZDogICAgJXMiCisjfiBtc2dzdHIgIsSRw6MgeMOzYTogICAgICAgICVzIgorCisjfiBtc2dpZCAibW9kaWZpZWQ6ICAgJXMiCisjfiBtc2dzdHIgIsSRw6Mgc+G7rWEgxJHhu5VpOiAgICAlcyIKKworI34gbXNnaWQgInJlbmFtZWQ6ICAgICVzIC0+ICVzIgorI34gbXNnc3RyICLEkcOjIMSR4buVaSB0w6puOiAgICAlcyAtPiAlcyIKKworI34gbXNnaWQgInVubWVyZ2VkOiAgICVzIgorI34gbXNnc3RyICJjaMawYSBow7JhIHRy4buZbjogJXMiCisKKyN+IG1zZ2lkICJkb25lXG4iCisjfiBtc2dzdHIgInhvbmdcbiIKKworI34gbXNnaWQgImlucHV0IHBhdGhzIGFyZSB0ZXJtaW5hdGVkIGJ5IGEgbnVsbCBjaGFyYWN0ZXIiCisjfiBtc2dzdHIgImPDoWMgxJHGsOG7nW5nIGThuqtuIMSRxrDhu6NjICBuZ8SDbiBjw6FjaCBi4bufaSBrw70gdOG7sSBudWxsIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIGZpbGVzIHdvdWxkIE5PVCBiZSBzYXZlZCBidXQgbmVlZCB0byBiZSByZW1vdmVkICIKKyN+ICJieSBzdGFzaCBzYXZlOiIKKyN+IG1zZ3N0ciAiIgorI34gIkPDoWMgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSBzYXUgxJHDonkgS0jDlE5HIMSRxrDhu6NjIGdoaSBs4bqhaSBuaMawbmcgY+G6p24gxJHGsOG7o2MgIgorI34gImfhu6EgYuG7jyBi4bufaSB2aeG7h2MgZ2hpIGzhuqFpIHN0YXNoOiIKKworI34gbXNnaWQgIiIKKyN+ICJBYm9ydGluZy4gQ29uc2lkZXIgdXNpbmcgZWl0aGVyIHRoZSAtLWZvcmNlIG9yIC0taW5jbHVkZS11bnRyYWNrZWQgb3B0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIkLDo2kgYuG7jy4gQ8OibiBuaOG6r2MgZMO5bmcgbeG7mXQgdHJvbmcgaGFpIHTDuXkgY2jhu41uIC0tZm9yY2UgdsOgIC0taW5jbHVkZS0iCisjfiAidW50cmFja2VkLiIKKwogI34gbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tcmVzb2x2ZWRcIikiCiAjfiBtc2dzdHIgIiAgKHPhu61hIGPDoWMgeHVuZyDEkeG7mXQgdsOgIHNhdSDEkcOzIGNo4bqheSBs4buHbmggXCJnaXQgYW0gLS1yZXNvbHZlZFwiKSIKIApAQCAtMTA2MDksNyArMTA5ODksNyBAQAogI34gbXNnc3RyICJH4bq3cCBs4buXaSBraGkgxJHhu4cgcXV5IHbDoG8gdHJvbmcgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkcHJlZml4JHNtX3BhdGjigJ0iCiAKICN+IG1zZ2lkICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAgJ3N0YXR1cyAtdW5vJyIKLSN+IG1zZ3N0ciAiQ+G6p24gJS4yZiBnacOieSDEkeG7gyDEkeG6v20gY8OhYyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgdGhlbyB24bq/dC4gIOKAnHN0YXR1cyAtdW5v4oCdIgorI34gbXNnc3RyICJD4bqnbiAlLjJmIGdpw6J5IMSR4buDIMSR4bq/bSBjw6FjIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkuICDigJxzdGF0dXMgLXVub+KAnSIKIAogI34gbXNnaWQgIm1heSBzcGVlZCBpdCB1cCwgYnV0IHlvdSBoYXZlIHRvIGJlIGNhcmVmdWwgbm90IHRvIGZvcmdldCB0byBhZGQiCiAjfiBtc2dzdHIgIiIKQEAgLTEwNjg4LDkgKzExMDY4LDYgQEAKICN+IG1zZ2lkICItQiBjYW5ub3QgYmUgdXNlZCB3aXRoIC1iIgogI34gbXNnc3RyICJ0w7l5IGNo4buNbiAtQiBraMO0bmcgdGjhu4MgZMO5bmcgLWIiCiAKLSN+IG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgotI34gbXNnc3RyICItLXBhdGNoIHh1bmcga2jhuq9jIHbhu5tpIHThuqV0IGPhuqMgY8OhYyB0w7l5IGNo4buNbiBraMOhYyIKLQogI34gbXNnaWQgIi0tZGV0YWNoIGNhbm5vdCBiZSB1c2VkIHdpdGggLWIvLUIvLS1vcnBoYW4iCiAjfiBtc2dzdHIgIi0tZGV0YWNoIGtow7RuZyB0aOG7gyDEkcaw4bujYyBz4butIGThu6VuZyB24bubaSB0w7l5IGNo4buNbiAtYi8tQi8tLW9ycGhhbiIKIApkaWZmIC0tZ2l0IGEvcG8vemhfQ04ucG8gYi9wby96aF9DTi5wbwppbmRleCBiN2I0NmYxLi5kY2JlMTNkIDEwMDY0NAotLS0gYS9wby96aF9DTi5wbworKysgYi9wby96aF9DTi5wbwpAQCAtMTIsOCArMTIsOCBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBHaXRcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogR2l0IE1haWxpbmcgTGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz5cbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMy0wOC0wNiAxNDoxMCswODAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxMy0wOC0wNiAxNDo0NSswODAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTQtMDEtMTggMDc6NDIrMDgwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTQtMDEtMTggMTA6NTQrMDgwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogSmlhbmcgWGluIDx3b3JsZGhlbGxvLm5ldEBnbWFpbC5jb20+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogR2l0SHViIDxodHRwczovL2dpdGh1Yi5jb20vZ290Z2l0L2dpdC8+XG4iCiAiTGFuZ3VhZ2U6IHpoX0NOXG4iCkBAIC02MCw3MSArNjAsNzYgQEAKIG1zZ2lkICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8cmVwbz4gWy0tZXhlYyA8Y21kPl0gLS1saXN0IgogbXNnc3RyICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA854mI5pys5bqTPiBbLS1leGVjIDzlkb3ku6Q+XSAtLWxpc3QiCiAKLSM6IGFyY2hpdmUuYzozMjMKKyM6IGFyY2hpdmUuYzoyNDIgYnVpbHRpbi9hZGQuYzoyNDAgYnVpbHRpbi9hZGQuYzo1NTkgYnVpbHRpbi9ybS5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgorbXNnc3RyICLot6/lvoTop4TliJkgJyVzJyDmnKrljLnphY3ku7vkvZXmlofku7YiCisKKyM6IGFyY2hpdmUuYzozMjcKIG1zZ2lkICJmbXQiCiBtc2dzdHIgIuagvOW8jyIKIAotIzogYXJjaGl2ZS5jOjMyMworIzogYXJjaGl2ZS5jOjMyNwogbXNnaWQgImFyY2hpdmUgZm9ybWF0IgogbXNnc3RyICLlvZLmoaPmoLzlvI8iCiAKLSM6IGFyY2hpdmUuYzozMjQgYnVpbHRpbi9sb2cuYzoxMTczCisjOiBhcmNoaXZlLmM6MzI4IGJ1aWx0aW4vbG9nLmM6MTE5MwogbXNnaWQgInByZWZpeCIKIG1zZ3N0ciAi5YmN57yAIgogCi0jOiBhcmNoaXZlLmM6MzI1CisjOiBhcmNoaXZlLmM6MzI5CiBtc2dpZCAicHJlcGVuZCBwcmVmaXggdG8gZWFjaCBwYXRobmFtZSBpbiB0aGUgYXJjaGl2ZSIKIG1zZ3N0ciAi5Li65b2S5qGj5Lit5q+P5Liq6Lev5b6E5ZCN5Yqg5LiK5YmN57yAIgogCi0jOiBhcmNoaXZlLmM6MzI2IGJ1aWx0aW4vYXJjaGl2ZS5jOjg4IGJ1aWx0aW4vYmxhbWUuYzoyMjkyCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5MyBidWlsdGluL2NvbmZpZy5jOjU2IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzMKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzUgYnVpbHRpbi9ncmVwLmM6NzE0IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3NwotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5NiBidWlsdGluL2xzLWZpbGVzLmM6NDk5IGJ1aWx0aW4vbm90ZXMuYzo0MDgKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NjUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDggcGFyc2Utb3B0aW9ucy5oOjE1MgorIzogYXJjaGl2ZS5jOjMzMCBidWlsdGluL2FyY2hpdmUuYzo4OCBidWlsdGluL2JsYW1lLmM6MjI2NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjYgYnVpbHRpbi9jb25maWcuYzo1OCBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgyIGJ1aWx0aW4vZ3JlcC5jOjcxNiBidWlsdGluL2hhc2gtb2JqZWN0LmM6NzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODYgYnVpbHRpbi9scy1maWxlcy5jOjQ4OSBidWlsdGluL25vdGVzLmM6NDA4CisjOiBidWlsdGluL25vdGVzLmM6NTY1IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA4IHBhcnNlLW9wdGlvbnMuaDoxNTQKIG1zZ2lkICJmaWxlIgogbXNnc3RyICLmlofku7YiCiAKLSM6IGFyY2hpdmUuYzozMjcgYnVpbHRpbi9hcmNoaXZlLmM6ODkKKyM6IGFyY2hpdmUuYzozMzEgYnVpbHRpbi9hcmNoaXZlLmM6ODkKIG1zZ2lkICJ3cml0ZSB0aGUgYXJjaGl2ZSB0byB0aGlzIGZpbGUiCiBtc2dzdHIgIuW9kuaho+WGmeWFpeatpOaWh+S7tiIKIAotIzogYXJjaGl2ZS5jOjMyOQorIzogYXJjaGl2ZS5jOjMzMwogbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIuivu+WPluW3peS9nOWMuuS4reeahCAuZ2l0YXR0cmlidXRlcyIKIAotIzogYXJjaGl2ZS5jOjMzMAorIzogYXJjaGl2ZS5jOjMzNAogbXNnaWQgInJlcG9ydCBhcmNoaXZlZCBmaWxlcyBvbiBzdGRlcnIiCiBtc2dzdHIgIuWcqOagh+WHhumUmeivr+S4iuaKpeWRiuW9kuaho+aWh+S7tiIKIAotIzogYXJjaGl2ZS5jOjMzMQorIzogYXJjaGl2ZS5jOjMzNQogbXNnaWQgInN0b3JlIG9ubHkiCiBtc2dzdHIgIuWPquWtmOWCqCIKIAotIzogYXJjaGl2ZS5jOjMzMgorIzogYXJjaGl2ZS5jOjMzNgogbXNnaWQgImNvbXByZXNzIGZhc3RlciIKIG1zZ3N0ciAi5Y6L57yp6YCf5bqm5pu05b+rIgogCi0jOiBhcmNoaXZlLmM6MzQwCisjOiBhcmNoaXZlLmM6MzQ0CiBtc2dpZCAiY29tcHJlc3MgYmV0dGVyIgogbXNnc3RyICLljovnvKnmlYjmnpzmm7Tlpb0iCiAKLSM6IGFyY2hpdmUuYzozNDMKKyM6IGFyY2hpdmUuYzozNDcKIG1zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCiBtc2dzdHIgIuWIl+WHuuaUr+aMgeeahOW9kuaho+agvOW8jyIKIAotIzogYXJjaGl2ZS5jOjM0NSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODUKKyM6IGFyY2hpdmUuYzozNDkgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjg0CiBtc2dpZCAicmVwbyIKIG1zZ3N0ciAi54mI5pys5bqTIgogCi0jOiBhcmNoaXZlLmM6MzQ2IGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCisjOiBhcmNoaXZlLmM6MzUwIGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCiBtc2dpZCAicmV0cmlldmUgdGhlIGFyY2hpdmUgZnJvbSByZW1vdGUgcmVwb3NpdG9yeSA8cmVwbz4iCiBtc2dzdHIgIuS7jui/nOeoi+eJiOacrOW6k++8iDzniYjmnKzlupM+77yJ5o+Q5Y+W5b2S5qGj5paH5Lu2IgogCi0jOiBhcmNoaXZlLmM6MzQ3IGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODcKKyM6IGFyY2hpdmUuYzozNTEgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4NwogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgIuWRveS7pCIKIAotIzogYXJjaGl2ZS5jOjM0OCBidWlsdGluL2FyY2hpdmUuYzo5MworIzogYXJjaGl2ZS5jOjM1MiBidWlsdGluL2FyY2hpdmUuYzo5MwogbXNnaWQgInBhdGggdG8gdGhlIHJlbW90ZSBnaXQtdXBsb2FkLWFyY2hpdmUgY29tbWFuZCIKIG1zZ3N0ciAi6L+c56iLIGdpdC11cGxvYWQtYXJjaGl2ZSDlkb3ku6TnmoTot6/lvoQiCiAKQEAgLTIwNSwxNyArMjEwLDE3IEBACiBtc2dpZCAiQ2Fubm90IGZvcmNlIHVwZGF0ZSB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICLml6Dms5XlvLrliLbmm7TmlrDlvZPliY3liIbmlK/jgIIiCiAKLSM6IGJyYW5jaC5jOjIxNgorIzogYnJhbmNoLmM6MjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzZXR1cCB0cmFja2luZyBpbmZvcm1hdGlvbjsgc3RhcnRpbmcgcG9pbnQgJyVzJyBpcyBub3QgYSBicmFuY2guIgogbXNnc3RyICLml6Dms5Xorr7nva7ot5/ouKrkv6Hmga/vvJvotbflp4vngrkgJyVzJyDkuI3mmK/kuIDkuKrliIbmlK/jgIIiCiAKLSM6IGJyYW5jaC5jOjIxOAorIzogYnJhbmNoLmM6MjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSByZXF1ZXN0ZWQgdXBzdHJlYW0gYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIuivt+axgueahOS4iua4uOWIhuaUryAnJXMnIOS4jeWtmOWcqCIKIAotIzogYnJhbmNoLmM6MjIwCisjOiBicmFuY2guYzoyMTkKIG1zZ2lkICIiCiAiXG4iCiAiSWYgeW91IGFyZSBwbGFubmluZyBvbiBiYXNpbmcgeW91ciB3b3JrIG9uIGFuIHVwc3RyZWFtXG4iCkBAIC0yMzMsODcgKzIzOCw4NyBAQAogIuWmguaenOaCqOato+iuoeWIkuaOqOmAgeS4gOS4quiDveS4juWvueW6lOi/nOeoi+WIhuaUr+W7uueri+i3n+i4queahOaWsOeahOacrOWcsOWIhuaUr++8jFxuIgogIuaCqOWPr+iDvemcgOimgeS9v+eUqCBcImdpdCBwdXNoIC11XCIg5o6o6YCB5YiG5pSv5bm26YWN572u5ZKM5LiK5ri455qE5YWz6IGU44CCIgogCi0jOiBicmFuY2guYzoyNjUKKyM6IGJyYW5jaC5jOjI2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIuS4jeaYr+S4gOS4quacieaViOeahOWvueixoeWQje+8miclcyfjgIIiCiAKLSM6IGJyYW5jaC5jOjI4NQorIzogYnJhbmNoLmM6Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFtYmlndW91cyBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIuatp+S5ieeahOWvueixoeWQje+8miclcyfjgIIiCiAKLSM6IGJyYW5jaC5jOjI5MAorIzogYnJhbmNoLmM6Mjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIGJyYW5jaCBwb2ludDogJyVzJy4iCiBtc2dzdHIgIuaXoOaViOeahOWIhuaUr+eCue+8miclcyfjgIIiCiAKLSM6IGJyYW5jaC5jOjI5NgorIzogYnJhbmNoLmM6Mjk1CiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgcmVmIGZvciB1cGRhdGUiCiBtc2dzdHIgIuaXoOazleS4uuabtOaWsOmUgeWumuW8leeUqCIKIAotIzogYnJhbmNoLmM6MzE0CisjOiBicmFuY2guYzozMTMKIG1zZ2lkICJGYWlsZWQgdG8gd3JpdGUgcmVmIgogbXNnc3RyICLkuI3og73lhpnlvJXnlKgiCiAKLSM6IGJ1bmRsZS5jOjM2CisjOiBidW5kbGUuYzozNwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IGxvb2sgbGlrZSBhIHYyIGJ1bmRsZSBmaWxlIgogbXNnc3RyICInJXMnIOS4jeWDj+aYr+S4gOS4qiB2MiDniYjmnKznmoTljIXmlofku7YiCiAKLSM6IGJ1bmRsZS5jOjYzCisjOiBidW5kbGUuYzo2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVhZGVyOiAlcyVzICglZCkiCiBtc2dzdHIgIuacquiDveivhuWIq+eahOWMheWktO+8miVzJXMgKCVkKSIKIAotIzogYnVuZGxlLmM6ODkgYnVpbHRpbi9jb21taXQuYzo2OTcKKyM6IGJ1bmRsZS5jOjkwIGJ1aWx0aW4vY29tbWl0LmM6NzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgIuS4jeiDveaJk+W8gCAnJXMnIgogCi0jOiBidW5kbGUuYzoxNDAKKyM6IGJ1bmRsZS5jOjE0MQogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgdGhlc2UgcHJlcmVxdWlzaXRlIGNvbW1pdHM6IgogbXNnc3RyICLniYjmnKzlupPnvLrlsJHov5nkupvlv4XlpIfnmoTmj5DkuqTvvJoiCiAKLSM6IGJ1bmRsZS5jOjE2NCBzZXF1ZW5jZXIuYzo2NjEgc2VxdWVuY2VyLmM6MTExMSBidWlsdGluL2xvZy5jOjMzMQotIzogYnVpbHRpbi9sb2cuYzo4MDEgYnVpbHRpbi9sb2cuYzoxMzk5IGJ1aWx0aW4vbG9nLmM6MTYyNSBidWlsdGluL21lcmdlLmM6MzY0Ci0jOiBidWlsdGluL3Nob3J0bG9nLmM6MTU2CisjOiBidW5kbGUuYzoxNjUgc2VxdWVuY2VyLmM6NjYyIHNlcXVlbmNlci5jOjExMTIgYnVpbHRpbi9sb2cuYzozMzIKKyM6IGJ1aWx0aW4vbG9nLmM6ODIxIGJ1aWx0aW4vbG9nLmM6MTQxOCBidWlsdGluL2xvZy5jOjE2NDQgYnVpbHRpbi9tZXJnZS5jOjM1NworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE1OAogbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgogbXNnc3RyICLniYjmnKzpgY3ljoborr7nva7lpLHotKUiCiAKLSM6IGJ1bmRsZS5jOjE4NgorIzogYnVuZGxlLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBidW5kbGUgY29udGFpbnMgdGhpcyByZWY6IgogbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoZXNlICVkIHJlZnM6IgogbXNnc3RyWzBdICLov5nkuKrljIXkuK3lkKvmnInov5nkuKrlvJXnlKjvvJoiCiBtc2dzdHJbMV0gIui/meS4quWMheS4reWQq+aciSAlZCDkuKrlvJXnlKjvvJoiCiAKLSM6IGJ1bmRsZS5jOjE5MworIzogYnVuZGxlLmM6MTk0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZWNvcmRzIGEgY29tcGxldGUgaGlzdG9yeS4iCiBtc2dzdHIgIui/meS4quWMheiusOW9leS4gOS4quWujOaVtOWOhuWPsuOAgiIKIAotIzogYnVuZGxlLmM6MTk1CisjOiBidW5kbGUuYzoxOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhlc2UgJWQgcmVmczoiCiBtc2dzdHJbMF0gIui/meS4quWMhemcgOimgei/meS4quW8leeUqO+8miIKIG1zZ3N0clsxXSAi6L+Z5Liq5YyF6ZyA6KaBICVkIOS4quW8leeUqO+8miIKIAotIzogYnVuZGxlLmM6Mjk0CisjOiBidW5kbGUuYzoyOTYKIG1zZ2lkICJyZXYtbGlzdCBkaWVkIgogbXNnc3RyICJyZXYtbGlzdCDnu4jmraIiCiAKLSM6IGJ1bmRsZS5jOjMwMCBidWlsdGluL2xvZy5jOjEzMTAgYnVpbHRpbi9zaG9ydGxvZy5jOjI1OQorIzogYnVuZGxlLmM6MzAyIGJ1aWx0aW4vbG9nLmM6MTMyOSBidWlsdGluL3Nob3J0bG9nLmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgIuacquiDveivhuWIq+eahOWPguaVsO+8miVzIgogCi0jOiBidW5kbGUuYzozMzUKKyM6IGJ1bmRsZS5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKIG1zZ3N0ciAi5byV55SoICclcycg6KKrIHJldi1saXN0IOmAiemhueaOkumZpCIKIAotIzogYnVuZGxlLmM6MzgwCisjOiBidW5kbGUuYzozODIKIG1zZ2lkICJSZWZ1c2luZyB0byBjcmVhdGUgZW1wdHkgYnVuZGxlLiIKIG1zZ3N0ciAi5LiN6IO95Yib5bu656m65YyF44CCIgogCkBAIC0zNDgsMTYgKzM1MywxNiBAQAogbXNnaWQgIm1lbW9yeSBleGhhdXN0ZWQiCiBtc2dzdHIgIuWGheWtmOiAl+WwvSIKIAotIzogY29ubmVjdGVkLmM6NjAKKyM6IGNvbm5lY3RlZC5jOjcwCiBtc2dpZCAiQ291bGQgbm90IHJ1biAnZ2l0IHJldi1saXN0JyIKIG1zZ3N0ciAi5LiN6IO95omn6KGMICdnaXQgcmV2LWxpc3QnIgogCi0jOiBjb25uZWN0ZWQuYzo4MAorIzogY29ubmVjdGVkLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHdyaXRlIHRvIHJldi1saXN0OiAlcyIKIG1zZ3N0ciAi5peg5rOV5YaZ5YWlIHJldi1saXN077yaJXMiCiAKLSM6IGNvbm5lY3RlZC5jOjg4CisjOiBjb25uZWN0ZWQuYzo5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY2xvc2UgcmV2LWxpc3QncyBzdGRpbjogJXMiCiBtc2dzdHIgIuaXoOazleWFs+mXrSByZXYtbGlzdCDnmoTmoIflh4bovpPlhaXvvJolcyIKQEAgLTQyOSwyNCArNDM0LDI5IEBACiBtc2dzdHJbMF0gIiVsdSDlubTliY0iCiBtc2dzdHJbMV0gIiVsdSDlubTliY0iCiAKKyM6IGRpZmZjb3JlLW9yZGVyLmM6MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgb3JkZXJmaWxlICclcyciCittc2dzdHIgIuaXoOazleivu+WPluaOkuW6j+aWh+S7tiAnJXMnIgorCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGRpZmYuYzoxMTIKKyM6IGRpZmYuYzoxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyVzJ1xuIgogbXNnc3RyICIgIOaXoOazleino+aekCBkaXJzdGF0IOaIquatou+8iGN1dC1vZmbvvInnmb7liIbmr5QgJyVzJ1xuIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGRpZmYuYzoxMTcKKyM6IGRpZmYuYzoxMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBVbmtub3duIGRpcnN0YXQgcGFyYW1ldGVyICclcydcbiIKIG1zZ3N0ciAiICDmnKrnn6XnmoQgZGlyc3RhdCDlj4LmlbAgJyVzJ1xuIgogCi0jOiBkaWZmLmM6MjEwCisjOiBkaWZmLmM6MjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdmFsdWUgZm9yICdkaWZmLnN1Ym1vZHVsZScgY29uZmlnIHZhcmlhYmxlOiAnJXMnIgogbXNnc3RyICLphY3nva7lj5jph48gJ2RpZmYuc3VibW9kdWxlJyDmnKrnn6XnmoTlj5blgLzvvJonJXMnIgogCi0jOiBkaWZmLmM6MjYwCisjOiBkaWZmLmM6MjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGb3VuZCBlcnJvcnMgaW4gJ2RpZmYuZGlyc3RhdCcgY29uZmlnIHZhcmlhYmxlOlxuIgpAQCAtNDU1LDcgKzQ2NSw3IEBACiAi5Y+R546w6YWN572u5Y+Y6YePICdkaWZmLmRpcnN0YXQnIOS4reeahOmUmeivr++8mlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzQ4NworIzogZGlmZi5jOjM1MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBwYXJzZSAtLWRpcnN0YXQvLVggb3B0aW9uIHBhcmFtZXRlcjpcbiIKQEAgLTQ2NCw3ICs0NzQsNyBAQAogIuaXoOazleino+aekCAtLWRpcnN0YXQvLVgg6YCJ6aG555qE5Y+C5pWw77yaXG4iCiAiJXMiCiAKLSM6IGRpZmYuYzozNTAxCisjOiBkaWZmLmM6MzUyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKIG1zZ3N0ciAi5peg5rOV6Kej5p6QIC0tc3VibW9kdWxlIOmAiemhueeahOWPguaVsO+8miclcyciCkBAIC00OTEsMTcgKzUwMSwxNyBAQAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnOiAlcyIKIG1zZ3N0ciAi5peg5rOV5bCG5YiG56a75byP562+5ZCN5YaZ5YWlICclcyfvvJolcyIKIAotIzogZ3JlcC5jOjE2MjMKKyM6IGdyZXAuYzoxNjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICInJXMn77ya5peg5rOV6K+75Y+WICVzIgogCi0jOiBncmVwLmM6MTY0MAorIzogZ3JlcC5jOjE3MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogJXMiCiBtc2dzdHIgIiclcyfvvJolcyIKIAotIzogZ3JlcC5jOjE2NTEKKyM6IGdyZXAuYzoxNzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQgJXMiCiBtc2dzdHIgIiclcyfvvJror7vlj5bkuI3lrozmlbQgJXMiCkBAIC01NzQsOCArNTg0LDggQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgIuaXoOazleivu+WPlue8k+WtmCIKIAotIzogbWVyZ2UuYzoxMTAgYnVpbHRpbi9jaGVja291dC5jOjM2NSBidWlsdGluL2NoZWNrb3V0LmM6NTY2Ci0jOiBidWlsdGluL2Nsb25lLmM6NjU2CisjOiBtZXJnZS5jOjExMCBidWlsdGluL2NoZWNrb3V0LmM6MzU4IGJ1aWx0aW4vY2hlY2tvdXQuYzo1NTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NjEKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIuaXoOazleWGmeaWsOeahOe0ouW8leaWh+S7tiIKIApAQCAtNjI0LDcgKzYzNCw3IEBACiBtc2dpZCAiYmxvYiBleHBlY3RlZCBmb3IgJXMgJyVzJyIKIG1zZ3N0ciAiJXMgJyVzJyDlupTkuLrmlbDmja7vvIhibG9i77yJ5a+56LGhIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NzQgYnVpbHRpbi9jbG9uZS5jOjMxMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzc0IGJ1aWx0aW4vY2xvbmUuYzozMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKIG1zZ3N0ciAi5peg5rOV5omT5byAICclcyciCkBAIC02NzQsNyArNjg0LDcgQEAKIG1zZ2lkICJyZW5hbWUiCiBtc2dzdHIgIumHjeWRveWQjSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA4MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA4MiB3dC1zdGF0dXMuYzoyODMKIG1zZ2lkICJyZW5hbWVkIgogbXNnc3RyICLph43lkb3lkI0iCiAKQEAgLTczNyw3ICs3NDcsNyBAQAogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAi5L+u5pS5IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTY1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTY1IHd0LXN0YXR1cy5jOjI4MQogbXNnaWQgIm1vZGlmaWVkIgogbXNnc3RyICLkv67mlLkiCiAKQEAgLTc1OSw3ICs3NjksNyBAQAogbXNnaWQgIkF1dG8tbWVyZ2luZyAlcyIKIG1zZ3N0ciAi6Ieq5Yqo5ZCI5bm2ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjM0IGdpdC1zdWJtb2R1bGUuc2g6MTExOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYzNCBnaXQtc3VibW9kdWxlLnNoOjExNDgKIG1zZ2lkICJzdWJtb2R1bGUiCiBtc2dzdHIgIuWtkOaooee7hCIKIApAQCAtODI5LDcgKzgzOSw3IEBACiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgogbXNnc3RyICLkuI3og73op6PmnpDlr7nosaEgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAxMCBidWlsdGluL21lcmdlLmM6NjcyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDEwIGJ1aWx0aW4vbWVyZ2UuYzo2NjUKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5kZXguIgogbXNnc3RyICLkuI3og73lhpnlhaXntKLlvJXjgIIiCiAKQEAgLTg1NCw1OSArODY0LDE1NCBAQAogbXNnaWQgIkJhZCAlcyB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAi5Z2P55qEICVzIOWAvO+8miclcyciCiAKLSM6IG9iamVjdC5jOjIwNAorIzogb2JqZWN0LmM6MjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBvYmplY3Q6ICVzIgogbXNnc3RyICLkuI3og73op6PmnpDlr7nosaHvvJolcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjQ4OQorIzogcGFyc2Utb3B0aW9ucy5jOjUzNwogbXNnaWQgIi4uLiIKIG1zZ3N0ciAiLi4uIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTA3CisjOiBwYXJzZS1vcHRpb25zLmM6NTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyIKIG1zZ3N0ciAi55So5rOV77yaJXMiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gaGVyZSBzaG91bGQgYWxpZ24gd2l0aCB0aGUKICMuIG9uZSBpbiAidXNhZ2U6ICVzIiB0cmFuc2xhdGlvbgotIzogcGFyc2Utb3B0aW9ucy5jOjUxMQorIzogcGFyc2Utb3B0aW9ucy5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICBvcjogJXMiCiBtc2dzdHIgIiAg5oiW77yaJXMiCiAKICMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQotIzogcGFyc2Utb3B0aW9ucy5jOjUxNAorIzogcGFyc2Utb3B0aW9ucy5jOjU2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJXMiCiBtc2dzdHIgIiAgICAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjU0OAorIzogcGFyc2Utb3B0aW9ucy5jOjU5NgogbXNnaWQgIi1OVU0iCiBtc2dzdHIgIi3mlbDlrZciCiAKLSM6IHBhdGhzcGVjLmM6ODMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUGF0aCAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCi1tc2dzdHIgIui3r+W+hCAnJXMnIOWxnuS6juaooee7hCAnJS4qcyciCisjOiBwYXRoc3BlYy5jOjEzMworbXNnaWQgImdsb2JhbCAnZ2xvYicgYW5kICdub2dsb2InIHBhdGhzcGVjIHNldHRpbmdzIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIuWFqOWxgOeahCAnZ2xvYicg5ZKMICdub2dsb2InIOi3r+W+hOinhOWImeiuvue9ruS4jeWFvOWuuSIKIAotIzogcGF0aHNwZWMuYzo5OQotIywgYy1mb3JtYXQKLW1zZ2lkICInJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCi1tc2dzdHIgIiclcycg5L2N5LqO56ym5Y+36ZO+5o6l5LitIgorIzogcGF0aHNwZWMuYzoxNDMKK21zZ2lkICIiCisiZ2xvYmFsICdsaXRlcmFsJyBwYXRoc3BlYyBzZXR0aW5nIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBnbG9iYWwgIgorInBhdGhzcGVjIHNldHRpbmdzIgorbXNnc3RyICLlhajlsYDnmoQgJ2xpdGVyYWwnIOi3r+W+hOinhOWImeiuvue9ruWSjOWFtuWug+eahOWFqOWxgOi3r+W+hOinhOWImeiuvue9ruS4jeWFvOWuuSIKIAotIzogcmVtb3RlLmM6MTc4OAorIzogcGF0aHNwZWMuYzoxNzcKK21zZ2lkICJpbnZhbGlkIHBhcmFtZXRlciBmb3IgcGF0aHNwZWMgbWFnaWMgJ3ByZWZpeCciCittc2dzdHIgIui3r+W+hOinhOWImeWMheWQq+aXoOaViOeahOelnuWlh+WJjee8gCIKKworIzogcGF0aHNwZWMuYzoxODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXRoc3BlYyBtYWdpYyAnJS4qcycgaW4gJyVzJyIKK21zZ3N0ciAi5Zyo6Lev5b6E6KeE5YiZICclMyRzJyDkuK3ml6DmlYjnmoTnpZ7lpYfliY3nvIAgJyUyJC4qMSRzJyIKKworIzogcGF0aHNwZWMuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWlzc2luZyAnKScgYXQgdGhlIGVuZCBvZiBwYXRoc3BlYyBtYWdpYyBpbiAnJXMnIgorbXNnc3RyICLot6/lvoTop4TliJkgJyVzJyDnmoTnpZ7lpYfliY3nvIDnu5PlsL7lsJHkuobkuIDkuKogJyknIgorCisjOiBwYXRoc3BlYy5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmltcGxlbWVudGVkIHBhdGhzcGVjIG1hZ2ljICclYycgaW4gJyVzJyIKK21zZ3N0ciAi6Lev5b6E6KeE5YiZICclMiRzJyDkuK3ljIXlkKvmnKrlrp7njrDnmoTnpZ7lpYfliY3nvIAgJyUxJGMnIgorCisjOiBwYXRoc3BlYy5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJ2xpdGVyYWwnIGFuZCAnZ2xvYicgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiJXPvvJonbGl0ZXJhbCcg5ZKMICdnbG9iJyDkuI3lhbzlrrkiCisKKyM6IHBhdGhzcGVjLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAnJXMnIGlzIG91dHNpZGUgcmVwb3NpdG9yeSIKK21zZ3N0ciAiJXPvvJonJXMnIOWcqOeJiOacrOW6k+S5i+WkliIKKworIzogcGF0aHNwZWMuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgorbXNnc3RyICLot6/lvoTop4TliJkgJyVzJyDlnKjlrZDmqKHnu4QgJyUuKnMnIOS4rSIKKworIy4KKyMuICogV2UgbWF5IHdhbnQgdG8gc3Vic3RpdHV0ZSAidGhpcyBjb21tYW5kIiB3aXRoIGEgY29tbWFuZAorIy4gKiBuYW1lLiBFLmcuIHdoZW4gYWRkLS1pbnRlcmFjdGl2ZSBkaWVzIHdoZW4gcnVubmluZworIy4gKiAiY2hlY2tvdXQgLXAiCisjLgorIzogcGF0aHNwZWMuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKK21zZ3N0ciAiJXPvvJrot6/lvoTop4TliJnnpZ7lpYfliY3nvIDkuI3ooqvmraTlkb3ku6TmlK/mjIHvvJolcyIKKworIzogcGF0aHNwZWMuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aHNwZWMgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICLot6/lvoTop4TliJkgJyVzJyDkvY3kuo7nrKblj7fpk77mjqXkuK0iCisKKyM6IHBhdGhzcGVjLmM6NDQyCittc2dpZCAiIgorIlRoZXJlIGlzIG5vdGhpbmcgdG8gZXhjbHVkZSBmcm9tIGJ5IDooZXhjbHVkZSkgcGF0dGVybnMuXG4iCisiUGVyaGFwcyB5b3UgZm9yZ290IHRvIGFkZCBlaXRoZXIgJzovJyBvciAnLicgPyIKK21zZ3N0ciAiIgorIuayoeacieS4uiA6KGV4Y2x1ZGUpIOaooeW8j+aPkOS+m+imgeW/veeVpeeahOWGheWuueOAguS5n+iuuOaCqOW/mOiusOS6hlxuIgorIua3u+WKoCAnOi8nIOaIliAnLicg77yfIgorCisjOiByZW1vdGUuYzo3NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGZldGNoIGJvdGggJXMgYW5kICVzIHRvICVzIgorbXNnc3RyICLkuI3og73lkIzml7bojrflj5YgJXMg5ZKMICVzIOiHsyAlcyIKKworIzogcmVtb3RlLmM6NzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzdWFsbHkgdHJhY2tzICVzLCBub3QgJXMiCittc2dzdHIgIiVzIOmAmuW4uOi3n+i4qiAlc++8jOiAjOmdniAlcyIKKworIzogcmVtb3RlLmM6NzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHRyYWNrcyBib3RoICVzIGFuZCAlcyIKK21zZ3N0ciAiJXMg5ZCM5pe26Lef6LiqICVzIOWSjCAlcyIKKworIy4KKyMuICogVGhpcyBsYXN0IHBvc3NpYmlsaXR5IGRvZXNuJ3Qgb2NjdXIgYmVjYXVzZQorIy4gKiBGRVRDSF9IRUFEX0lHTk9SRSBlbnRyaWVzIGFsd2F5cyBhcHBlYXIgYXQKKyMuICogdGhlIGVuZCBvZiB0aGUgbGlzdC4KKyMuCisjOiByZW1vdGUuYzo3NjkKK21zZ2lkICJJbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAi5YaF6YOo6ZSZ6K+vIgorCisjOiByZW1vdGUuYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJhc2VkIG9uICclcycsIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS5cbiIKK21zZ3N0ciAi5oKo55qE5YiG5pSv5Z+65LqOICclcyfvvIzkvYbmraTkuIrmuLjliIbmlK/lt7Lnu4/kuI3lrZjlnKjjgIJcbiIKKworIzogcmVtb3RlLmM6MTg3NQorbXNnaWQgIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIgorbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIOadpeS/ruWkje+8iVxuIgorCisjOiByZW1vdGUuYzoxODc4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwLXRvLWRhdGUgd2l0aCAnJXMnLlxuIgorbXNnc3RyICLmgqjnmoTliIbmlK/kuI7kuIrmuLjliIbmlK8gJyVzJyDkuIDoh7TjgIJcbiIKKworIzogcmVtb3RlLmM6MTg4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdC5cbiIKIG1zZ2lkX3BsdXJhbCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXRzLlxuIgogbXNnc3RyWzBdICLmgqjnmoTliIbmlK/pooblhYggJyVzJyDlhbEgJWQg5Liq5o+Q5Lqk44CCXG4iCiBtc2dzdHJbMV0gIuaCqOeahOWIhuaUr+mihuWFiCAnJXMnIOWFsSAlZCDkuKrmj5DkuqTjgIJcbiIKIAotIzogcmVtb3RlLmM6MTc5NAorIzogcmVtb3RlLmM6MTg4OAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHB1c2hcIiDmnaXlj5HluIPmgqjnmoTmnKzlnLDmj5DkuqTvvIlcbiIKIAotIzogcmVtb3RlLmM6MTc5NworIzogcmVtb3RlLmM6MTg5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiZWhpbmQgJyVzJyBieSAlZCBjb21taXQsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCiBtc2dpZF9wbHVyYWwgIiIKQEAgLTkxNSwxMSArMTAyMCwxMSBAQAogbXNnc3RyWzFdICLmgqjnmoTliIbmlK/okL3lkI4gJyVzJyDlhbEgJWQg5Liq5o+Q5Lqk77yM5bm25LiU5Y+v5Lul5b+r6L+b44CCXG4iCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogcmVtb3RlLmM6MTgwNQorIzogcmVtb3RlLmM6MTg5OQogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBwdWxsXCIg5p2l5pu05paw5oKo55qE5pys5Zyw5YiG5pSv77yJXG4iCiAKLSM6IHJlbW90ZS5jOjE4MDgKKyM6IHJlbW90ZS5jOjE5MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCkBAIC05MzUsNyArMTA0MCw3IEBACiAi5bm25LiU5YiG5Yir5pyJICVkIOWSjCAlZCDlpITkuI3lkIznmoTmj5DkuqTjgIJcbiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiByZW1vdGUuYzoxODE4CisjOiByZW1vdGUuYzoxOTEyCiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBwdWxsXCIg5p2l5ZCI5bm26L+c56iL5YiG5pSv77yJXG4iCiAKQEAgLTk0OCwxNCArMTA1MywxNCBAQAogbXNnaWQgImR1cDIoJWQsJWQpIGZhaWxlZCIKIG1zZ3N0ciAi5LiN6IO96LCD55SoIGR1cDIoJWQsJWQpIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDYgYnVpbHRpbi9tZXJnZS5jOjc5MCBidWlsdGluL21lcmdlLmM6OTAzCi0jOiBidWlsdGluL21lcmdlLmM6MTAxMyBidWlsdGluL21lcmdlLmM6MTAyMworIzogc2VxdWVuY2VyLmM6MjA2IGJ1aWx0aW4vbWVyZ2UuYzo3ODMgYnVpbHRpbi9tZXJnZS5jOjg5NgorIzogYnVpbHRpbi9tZXJnZS5jOjEwMDYgYnVpbHRpbi9tZXJnZS5jOjEwMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAi5LiN6IO95Li65YaZ5YWl5omT5byAICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjIwOCBidWlsdGluL21lcmdlLmM6MzUwIGJ1aWx0aW4vbWVyZ2UuYzo3OTMKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDE1IGJ1aWx0aW4vbWVyZ2UuYzoxMDI4CisjOiBzZXF1ZW5jZXIuYzoyMDggYnVpbHRpbi9tZXJnZS5jOjM0MyBidWlsdGluL21lcmdlLmM6Nzg2CisjOiBidWlsdGluL21lcmdlLmM6MTAwOCBidWlsdGluL21lcmdlLmM6MTAyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAi5LiN6IO95YaZ5YWlICclcyciCkBAIC05NzcsNyArMTA4Miw3IEBACiAi5Yay56qB6Kej5Yaz5a6M5q+V5ZCO77yM55SoICdnaXQgYWRkIDxwYXRocz4nIOaIliAnZ2l0IHJtIDxwYXRocz4nXG4iCiAi5a+55L+u5q2j5ZCO55qE5paH5Lu25YGa5qCH6K6w77yM54S25ZCO55SoICdnaXQgY29tbWl0JyDmj5DkuqQiCiAKLSM6IHNlcXVlbmNlci5jOjI0NSBzZXF1ZW5jZXIuYzo4Njkgc2VxdWVuY2VyLmM6OTUyCisjOiBzZXF1ZW5jZXIuYzoyNDUgc2VxdWVuY2VyLmM6ODcwIHNlcXVlbmNlci5jOjk1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgdG8gJXMiCiBtc2dzdHIgIuS4jeiDveWGmeWFpSAlcyIKQEAgLTEwMDAsMjAxICsxMTA1LDIwMSBAQAogbXNnc3RyICLmj5DkuqTmgqjnmoTkv67mlLnmiJbkv53lrZjov5vluqblkI7lho3nu6fnu63jgIIiCiAKICMuIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiIG9yICJjaGVycnktcGljayIKLSM6IHNlcXVlbmNlci5jOjMyNAorIzogc2VxdWVuY2VyLmM6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIiVz77ya5peg5rOV5YaZ5YWl5paw57Si5byV5paH5Lu2IgogCi0jOiBzZXF1ZW5jZXIuYzozNTUKKyM6IHNlcXVlbmNlci5jOjM1NgogbXNnaWQgIkNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCiBtc2dzdHIgIuS4jeiDveino+aekCBIRUFEIOaPkOS6pFxuIgogCi0jOiBzZXF1ZW5jZXIuYzozNzcKKyM6IHNlcXVlbmNlci5jOjM3OAogbXNnaWQgIlVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgogbXNnc3RyICLkuI3og73mm7TmlrDnvJPlrZhcbiIKIAotIzogc2VxdWVuY2VyLmM6NDIyCisjOiBzZXF1ZW5jZXIuYzo0MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIgogbXNnc3RyICLkuI3og73op6PmnpDmj5DkuqQgJXNcbiIKIAotIzogc2VxdWVuY2VyLmM6NDI3CisjOiBzZXF1ZW5jZXIuYzo0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIHBhcmVudCBjb21taXQgJXNcbiIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q54i25o+Q5LqkICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQ5MworIzogc2VxdWVuY2VyLmM6NDk0CiBtc2dpZCAiWW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKIG1zZ3N0ciAi5oKo55qE57Si5byV5paH5Lu25pyq5a6M5oiQ5ZCI5bm244CCIgogCi0jOiBzZXF1ZW5jZXIuYzo1MTIKKyM6IHNlcXVlbmNlci5jOjUxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaXMgYSBtZXJnZSBidXQgbm8gLW0gb3B0aW9uIHdhcyBnaXZlbi4iCiBtc2dzdHIgIuaPkOS6pCAlcyDmmK/kuIDkuKrlkIjlubbmj5DkuqTkvYbmnKrmj5DkvpsgLW0g6YCJ6aG544CCIgogCi0jOiBzZXF1ZW5jZXIuYzo1MjAKKyM6IHNlcXVlbmNlci5jOjUyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCiBtc2dzdHIgIuaPkOS6pCAlcyDmsqHmnInniLbmj5DkuqQgJWQiCiAKLSM6IHNlcXVlbmNlci5jOjUyNAorIzogc2VxdWVuY2VyLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCiBtc2dzdHIgIuaMh+WumuS6huS4u+e6v+S9huaPkOS6pCAlcyDkuI3mmK/kuIDkuKrlkIjlubbjgIIiCiAKICMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSAicmV2ZXJ0IiBvcgogIy4gImNoZXJyeS1waWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEKLSM6IHNlcXVlbmNlci5jOjUzNworIzogc2VxdWVuY2VyLmM6NTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXPvvJrkuI3og73op6PmnpDniLbmj5DkuqQgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjU0MQorIzogc2VxdWVuY2VyLmM6NTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgogbXNnc3RyICLkuI3og73lvpfliLAgJXMg55qE5o+Q5Lqk6K+05piOIgogCi0jOiBzZXF1ZW5jZXIuYzo2MjcKKyM6IHNlcXVlbmNlci5jOjYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmV2ZXJ0ICVzLi4uICVzIgogbXNnc3RyICLkuI3og73ov5jljp8gJXMuLi4gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjYyOAorIzogc2VxdWVuY2VyLmM6NjI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhcHBseSAlcy4uLiAlcyIKIG1zZ3N0ciAi5LiN6IO95bqU55SoICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo2NjQKKyM6IHNlcXVlbmNlci5jOjY2NQogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgogbXNnc3RyICLmj5DkvpvkuobnqbrnmoTmj5DkuqTpm4YiCiAKLSM6IHNlcXVlbmNlci5jOjY3MgorIzogc2VxdWVuY2VyLmM6NjczCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXPvvJrml6Dms5Xor7vlj5bntKLlvJUiCiAKLSM6IHNlcXVlbmNlci5jOjY3NworIzogc2VxdWVuY2VyLmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXPvvJrml6Dms5XliLfmlrDntKLlvJUiCiAKLSM6IHNlcXVlbmNlci5jOjczNQorIzogc2VxdWVuY2VyLmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCAlcyBkdXJpbmcgYSAlcyIKIG1zZ3N0ciAi5peg5rOVICVzIOWcqOS4gOS4qiAlcyDov4fnqIvkuK0iCiAKLSM6IHNlcXVlbmNlci5jOjc1NworIzogc2VxdWVuY2VyLmM6NzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBsaW5lICVkLiIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q56ysICVkIOihjOOAgiIKIAotIzogc2VxdWVuY2VyLmM6NzYyCisjOiBzZXF1ZW5jZXIuYzo3NjMKIG1zZ2lkICJObyBjb21taXRzIHBhcnNlZC4iCiBtc2dzdHIgIuayoeacieaPkOS6pOiiq+ino+aekOOAgiIKIAotIzogc2VxdWVuY2VyLmM6Nzc1CisjOiBzZXF1ZW5jZXIuYzo3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJXMiCiBtc2dzdHIgIuS4jeiDveaJk+W8gCAlcyIKIAotIzogc2VxdWVuY2VyLmM6Nzc5CisjOiBzZXF1ZW5jZXIuYzo3ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgJXMuIgogbXNnc3RyICLkuI3og73or7vlj5YgJXPjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjc4NgorIzogc2VxdWVuY2VyLmM6Nzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAlcyIKIG1zZ3N0ciAi5peg55So55qE5oyH5Luk6KGo5Y2V77yaJXMiCiAKLSM6IHNlcXVlbmNlci5jOjgxNAorIzogc2VxdWVuY2VyLmM6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQga2V5OiAlcyIKIG1zZ3N0ciAi5peg5pWI6ZSu5ZCN77yaJXMiCiAKLSM6IHNlcXVlbmNlci5jOjgxNworIzogc2VxdWVuY2VyLmM6ODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKIG1zZ3N0ciAiJXMg55qE5YC85peg5pWI77yaJXMiCiAKLSM6IHNlcXVlbmNlci5jOjgyOQorIzogc2VxdWVuY2VyLmM6ODMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAlcyIKIG1zZ3N0ciAi6Z2e5rOV55qE6YCJ6aG56KGo5Y2V77yaJXMiCiAKLSM6IHNlcXVlbmNlci5jOjg1MAorIzogc2VxdWVuY2VyLmM6ODUxCiBtc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAi5LiA5Liq5ouj6YCJ5oiW6L+Y5Y6f5pON5L2c5bey5Zyo6L+b6KGMIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTEKKyM6IHNlcXVlbmNlci5jOjg1MgogbXNnaWQgInRyeSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCiBtc2dzdHIgIuWwneivlSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCiAKLSM6IHNlcXVlbmNlci5jOjg1NQorIzogc2VxdWVuY2VyLmM6ODU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAi5LiN6IO95Yib5bu65bqP5YiX55uu5b2VICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzEgc2VxdWVuY2VyLmM6OTU2CisjOiBzZXF1ZW5jZXIuYzo4NzIgc2VxdWVuY2VyLmM6OTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIHdyYXBwaW5nIHVwICVzLiIKIG1zZ3N0ciAi6ZSZ6K+v5pS25bC+ICVz44CCIgogCi0jOiBzZXF1ZW5jZXIuYzo4OTAgc2VxdWVuY2VyLmM6MTAyNAorIzogc2VxdWVuY2VyLmM6ODkxIHNlcXVlbmNlci5jOjEwMjUKIG1zZ2lkICJubyBjaGVycnktcGljayBvciByZXZlcnQgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgIuaLo+mAieaIlui/mOWOn+aTjeS9nOW5tuacqui/m+ihjCIKIAotIzogc2VxdWVuY2VyLmM6ODkyCisjOiBzZXF1ZW5jZXIuYzo4OTMKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgogbXNnc3RyICLkuI3og73op6PmnpAgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6ODk0CisjOiBzZXF1ZW5jZXIuYzo4OTUKIG1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAi5LiN6IO95LuO5bCa5pyq5bu656uL55qE5YiG5pSv57uI5q2iIgogCi0jOiBzZXF1ZW5jZXIuYzo5MTYgYnVpbHRpbi9hcHBseS5jOjQwNjEKKyM6IHNlcXVlbmNlci5jOjkxNyBidWlsdGluL2FwcGx5LmM6NDA2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCiBtc2dzdHIgIuS4jeiDveaJk+W8gCAlc++8miVzIgogCi0jOiBzZXF1ZW5jZXIuYzo5MTkKKyM6IHNlcXVlbmNlci5jOjkyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAlczogJXMiCiBtc2dzdHIgIuS4jeiDveivu+WPliAlc++8miVzIgogCi0jOiBzZXF1ZW5jZXIuYzo5MjAKKyM6IHNlcXVlbmNlci5jOjkyMQogbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgIuaEj+WklueahOaWh+S7tue7k+adnyIKIAotIzogc2VxdWVuY2VyLmM6OTI2CisjOiBzZXF1ZW5jZXIuYzo5MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IgogbXNnc3RyICLkv53lrZjmi6PpgInmj5DkuqTliY3nmoQgSEVBRCDmlofku7YgJyVzJyDmjZ/lnY8iCiAKLSM6IHNlcXVlbmNlci5jOjk0OQorIzogc2VxdWVuY2VyLmM6OTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmb3JtYXQgJXMuIgogbXNnc3RyICLkuI3og73moLzlvI/ljJYgJXPjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjEwOTIKKyM6IHNlcXVlbmNlci5jOjEwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiVz77ya5LiN6IO95ouj6YCJ5LiA5LiqJXMiCiAKLSM6IHNlcXVlbmNlci5jOjEwOTUKKyM6IHNlcXVlbmNlci5jOjEwOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKIG1zZ3N0ciAiJXPvvJrplJnor6/nmoTniYjmnKwiCiAKLSM6IHNlcXVlbmNlci5jOjExMjkKKyM6IHNlcXVlbmNlci5jOjExMzAKIG1zZ2lkICJDYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIuS4jeiDveS9nOS4uuWIneWni+aPkOS6pOi/mOWOnyIKIAotIzogc2VxdWVuY2VyLmM6MTEzMAorIzogc2VxdWVuY2VyLmM6MTEzMQogbXNnaWQgIkNhbid0IGNoZXJyeS1waWNrIGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAi5LiN6IO95ouj6YCJ5Yiw56m65YiG5pSvIgogCi0jOiBzaGExX25hbWUuYzo0NDAKKyM6IHNoYTFfbmFtZS5jOjQzOQogbXNnaWQgIiIKICJHaXQgbm9ybWFsbHkgbmV2ZXIgY3JlYXRlcyBhIHJlZiB0aGF0IGVuZHMgd2l0aCA0MCBoZXggY2hhcmFjdGVyc1xuIgogImJlY2F1c2UgaXQgd2lsbCBiZSBpZ25vcmVkIHdoZW4geW91IGp1c3Qgc3BlY2lmeSA0MC1oZXguIFRoZXNlIHJlZnNcbiIKQEAgLTEyMTUsNDAwICsxMzIwLDQ4MCBAQAogIuWPr+iDvemcgOimgeWIoOmZpOWug+S7rOOAgueUqCBcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlXCJcbiIKICLlkb3ku6TlhbPpl63mnKzmtojmga/pgJrnn6XjgIIiCiAKLSM6IHNoYTFfbmFtZS5jOjEwOTcKKyM6IHNoYTFfbmFtZS5jOjExMDkKIG1zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgogbXNnc3RyICJIRUFEIOayoeacieaMh+WQkeS4gOS4quWIhuaUryIKIAotIzogc2hhMV9uYW1lLmM6MTEwMAorIzogc2hhMV9uYW1lLmM6MTExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIGJyYW5jaDogJyVzJyIKIG1zZ3N0ciAi5rKh5pyJ5q2k5YiG5pSv77yaJyVzJyIKIAotIzogc2hhMV9uYW1lLmM6MTEwMgorIzogc2hhMV9uYW1lLmM6MTExNAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAi5bCa5pyq57uZ5YiG5pSvICclcycg6K6+572u5LiK5ri4IgogCi0jOiBzaGExX25hbWUuYzoxMTA2CisjOiBzaGExX25hbWUuYzoxMTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICLkuIrmuLjliIbmlK8gJyVzJyDmsqHmnInlrZjlgqjkuLrkuIDkuKrov5znqIvot5/ouKrliIbmlK8iCiAKLSM6IHdyYXBwZXIuYzo0MDgKKyM6IHN1Ym1vZHVsZS5jOjY0IHN1Ym1vZHVsZS5jOjk4Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB1bm1lcmdlZCAuZ2l0bW9kdWxlcywgcmVzb2x2ZSBtZXJnZSBjb25mbGljdHMgZmlyc3QiCittc2dzdHIgIuaXoOazleS/ruaUueacquWQiOW5tueahCAuZ2l0bW9kdWxlc++8jOWFiOino+WGs+WQiOW5tuWGsueqgSIKKworIzogc3VibW9kdWxlLmM6Njggc3VibW9kdWxlLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKK21zZ3N0ciAi5peg5rOV5ZyoIC5naXRtb2R1bGVzIOS4reaJvuWIsCBwYXRoPSVzIOeahOWwj+iKgiIKKworIy4gTWF5YmUgdGhlIHVzZXIgYWxyZWFkeSBkaWQgdGhhdCwgZG9uJ3QgZXJyb3Igb3V0IGhlcmUKKyM6IHN1Ym1vZHVsZS5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgLmdpdG1vZHVsZXMgZW50cnkgJXMiCittc2dzdHIgIuS4jeiDveabtOaWsCAuZ2l0bW9kdWxlcyDmnaHnm64gJXMiCisKKyMuIE1heWJlIHRoZSB1c2VyIGFscmVhZHkgZGlkIHRoYXQsIGRvbid0IGVycm9yIG91dCBoZXJlCisjOiBzdWJtb2R1bGUuYzoxMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHJlbW92ZSAuZ2l0bW9kdWxlcyBlbnRyeSBmb3IgJXMiCittc2dzdHIgIuaXoOazleenu+mZpCAlcyDnmoQgLmdpdG1vZHVsZXMg5p2h55uuIgorCisjOiBzdWJtb2R1bGUuYzoxMjcKK21zZ2lkICJjb3VsZCBub3QgZmluZCAuZ2l0bW9kdWxlcyBpbiBpbmRleCIKK21zZ3N0ciAi5peg5rOV5Zyo57Si5byV5Lit5om+5YiwIC5naXRtb2R1bGVzIgorCisjOiBzdWJtb2R1bGUuYzoxMzMKK21zZ2lkICJyZWFkaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgorbXNnc3RyICLor7vlj5bmm7TmlrDlkI7nmoQgLmdpdG1vZHVsZXMg5aSx6LSlIgorCisjOiBzdWJtb2R1bGUuYzoxMzUKK21zZ2lkICJ1bmFibGUgdG8gc3RhdCB1cGRhdGVkIC5naXRtb2R1bGVzIgorbXNnc3RyICLkuI3og73mnprkuL7mm7TmlrDlkI7nmoQgLmdpdG1vZHVsZXMiCisKKyM6IHN1Ym1vZHVsZS5jOjEzOQorbXNnaWQgInVuYWJsZSB0byByZW1vdmUgLmdpdG1vZHVsZXMgZnJvbSBpbmRleCIKK21zZ3N0ciAi5LiN6IO95LuO57Si5byV5Lit56e76ZmkIC5naXRtb2R1bGVzIgorCisjOiBzdWJtb2R1bGUuYzoxNDEKK21zZ2lkICJhZGRpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCittc2dzdHIgIua3u+WKoOabtOaWsOWQjueahCAuZ2l0bW9kdWxlcyDlpLHotKUiCisKKyM6IHN1Ym1vZHVsZS5jOjE0MworbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCittc2dzdHIgIuWwhuabtOaWsOWQjiAuZ2l0bW9kdWxlcyDmt7vliqDmmoLlrZjljLrlpLHotKUiCisKKyM6IHN1Ym1vZHVsZS5jOjExNDQgYnVpbHRpbi9pbml0LWRiLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZ2l0IGxpbmsgJXMiCittc2dzdHIgIuS4jeiDveWIm+W7uiBnaXQgbGluayAlcyIKKworIzogc3VibW9kdWxlLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgc2V0IGNvcmUud29ya3RyZWUgaW4gJXMiCittc2dzdHIgIuS4jeiDveWcqCAlcyDkuK3orr7nva4gY29yZS53b3JrdHJlZSIKKworIzogdXJsbWF0Y2guYzoxMjAKK21zZ2lkICJpbnZhbGlkIFVSTCBzY2hlbWUgbmFtZSBvciBtaXNzaW5nICc6Ly8nIHN1ZmZpeCIKK21zZ3N0ciAi5peg5pWI55qEIFVSTCDmlrnmoYjlkI3np7DmiJbkuKLlpLEgJzovLycg5ZCO57yAIgorCisjOiB1cmxtYXRjaC5jOjE0NCB1cmxtYXRjaC5jOjI5NyB1cmxtYXRjaC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkICVYWCBlc2NhcGUgc2VxdWVuY2UiCittc2dzdHIgIuaXoOaViOeahCAlWFgg6L2s5LmJ5bqP5YiXIgorCisjOiB1cmxtYXRjaC5jOjE3MgorbXNnaWQgIm1pc3NpbmcgaG9zdCBhbmQgc2NoZW1lIGlzIG5vdCAnZmlsZTonIgorbXNnc3RyICLnvLrlpLHkuLvmnLrlkI3kuJRVUkzmlrnmoYjkuI3mmK8gJ2ZpbGU6JyIKKworIzogdXJsbWF0Y2guYzoxODkKK21zZ2lkICJhICdmaWxlOicgVVJMIG1heSBub3QgaGF2ZSBhIHBvcnQgbnVtYmVyIgorbXNnc3RyICLkuIDkuKogJ2ZpbGU6JyBVUkwg5LiN5bqU6K+l5YyF5ZCr56uv5Y+j5Y+3IgorCisjOiB1cmxtYXRjaC5jOjE5OQorbXNnaWQgImludmFsaWQgY2hhcmFjdGVycyBpbiBob3N0IG5hbWUiCittc2dzdHIgIuS4u+acuuWQjeS4reWMheWQq+aXoOaViOeahOWtl+espiIKKworIzogdXJsbWF0Y2guYzoyNDQgdXJsbWF0Y2guYzoyNTUKK21zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIgorbXNnc3RyICLml6DmlYjnmoTnq6/lj6Plj7ciCisKKyM6IHVybG1hdGNoLmM6MzIyCittc2dpZCAiaW52YWxpZCAnLi4nIHBhdGggc2VnbWVudCIKK21zZ3N0ciAi5peg5pWI55qEICcuLicg6Lev5b6E54mH5q61IgorCisjOiB3cmFwcGVyLmM6NDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJzogJXMiCiBtc2dzdHIgIuS4jeiDveiuv+mXriAnJXMn77yaJXMiCiAKLSM6IHdyYXBwZXIuYzo0MjkKKyM6IHdyYXBwZXIuYzo0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICLkuI3og73orr/pl64gJyVzJyIKIAotIzogd3JhcHBlci5jOjQ0MAorIzogd3JhcHBlci5jOjQ1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9vayB1cCBjdXJyZW50IHVzZXIgaW4gdGhlIHBhc3N3ZCBmaWxlOiAlcyIKIG1zZ3N0ciAi5peg5rOV5Zyo5Y+j5Luk5paH5Lu25Lit5p+l6K+i5Yiw5b2T5YmN55So5oi377yaJXMiCiAKLSM6IHdyYXBwZXIuYzo0NDEKKyM6IHdyYXBwZXIuYzo0NTUKIG1zZ2lkICJubyBzdWNoIHVzZXIiCiBtc2dzdHIgIuaXoOatpOeUqOaItyIKIAotIzogd3Qtc3RhdHVzLmM6MTQxCisjOiB3dC1zdGF0dXMuYzoxNTAKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgIuacquWQiOW5tueahOi3r+W+hO+8miIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxNjggd3Qtc3RhdHVzLmM6MTk1CisjOiB3dC1zdGF0dXMuYzoxNzcgd3Qtc3RhdHVzLmM6MjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCByZXNldCAlcyA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcmVzZXQgJXMgPGZpbGU+Li4uXCIg5pKk5Ye65pqC5a2Y5Yy677yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE3MCB3dC1zdGF0dXMuYzoxOTcKKyM6IHd0LXN0YXR1cy5jOjE3OSB3dC1zdGF0dXMuYzoyMDYKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIOaSpOWHuuaaguWtmOWMuu+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxNzQKKyM6IHd0LXN0YXR1cy5jOjE4MwogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgYWRkIDxmaWxlPi4uLlwiIOagh+iusOino+WGs+aWueahiO+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxNzYgd3Qtc3RhdHVzLmM6MTgwCisjOiB3dC1zdGF0dXMuYzoxODUgd3Qtc3RhdHVzLmM6MTg5CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIO+8iOmFjOaDheS9v+eUqCBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIg5qCH6K6w6Kej5Yaz5pa55qGI77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE3OAorIzogd3Qtc3RhdHVzLmM6MTg3CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHJtIDxmaWxlPi4uLlwiIOagh+iusOino+WGs+aWueahiO+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTg5CisjOiB3dC1zdGF0dXMuYzoxOTgKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIuimgeaPkOS6pOeahOWPmOabtO+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjA3CisjOiB3dC1zdGF0dXMuYzoyMTYKIG1zZ2lkICJDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoiCiBtc2dzdHIgIuWwmuacquaaguWtmOS7peWkh+aPkOS6pOeahOWPmOabtO+8miIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoyMTEKKyM6IHd0LXN0YXR1cy5jOjIyMAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBhZGQgPGZpbGU+Li4uXCIg5pu05paw6KaB5o+Q5Lqk55qE5YaF5a6577yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjIxMworIzogd3Qtc3RhdHVzLmM6MjIyCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiDmm7TmlrDopoHmj5DkuqTnmoTlhoXlrrnvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MjE0CisjOiB3dC1zdGF0dXMuYzoyMjMKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIOS4ouW8g+W3peS9nOWMuueahOaUueWKqO+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoyMTYKKyM6IHd0LXN0YXR1cy5jOjIyNQogbXNnaWQgIiAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKSIKIG1zZ3N0ciAiICDvvIjmj5DkuqTmiJbkuKLlvIPlrZDmqKHnu4TkuK3mnKrot5/ouKrmiJbkv67mlLnnmoTlhoXlrrnvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MjI4CisjOiB3dC1zdGF0dXMuYzoyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIOS7peWMheWQq+imgeaPkOS6pOeahOWGheWuue+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MjQ1CisjOiB3dC1zdGF0dXMuYzoyNTQKIG1zZ2lkICJidWciCiBtc2dzdHIgImJ1ZyIKIAotIzogd3Qtc3RhdHVzLmM6MjUwCisjOiB3dC1zdGF0dXMuYzoyNTkKIG1zZ2lkICJib3RoIGRlbGV0ZWQ6IgogbXNnc3RyICLlj4zmlrnliKDpmaTvvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MQorIzogd3Qtc3RhdHVzLmM6MjYwCiBtc2dpZCAiYWRkZWQgYnkgdXM6IgogbXNnc3RyICLnlLHmiJHku6zmt7vliqDvvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MgorIzogd3Qtc3RhdHVzLmM6MjYxCiBtc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKIG1zZ3N0ciAi55Sx5LuW5Lus5Yig6Zmk77yaIgogCi0jOiB3dC1zdGF0dXMuYzoyNTMKKyM6IHd0LXN0YXR1cy5jOjI2MgogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICLnlLHku5bku6zmt7vliqDvvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NAorIzogd3Qtc3RhdHVzLmM6MjYzCiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgIueUseaIkeS7rOWIoOmZpO+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjU1CisjOiB3dC1zdGF0dXMuYzoyNjQKIG1zZ2lkICJib3RoIGFkZGVkOiIKIG1zZ3N0ciAi5Y+M5pa55re75Yqg77yaIgogCi0jOiB3dC1zdGF0dXMuYzoyNTYKKyM6IHd0LXN0YXR1cy5jOjI2NQogbXNnaWQgImJvdGggbW9kaWZpZWQ6IgogbXNnc3RyICLlj4zmlrnkv67mlLnvvJoiCiAKKyMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQorIzogd3Qtc3RhdHVzLmM6Mjc1Cittc2dpZCAibmV3IGZpbGUiCittc2dzdHIgIuaWsOaWh+S7tiIKKworIzogd3Qtc3RhdHVzLmM6Mjc3Cittc2dpZCAiY29waWVkIgorbXNnc3RyICLmi7fotJ0iCisKKyM6IHd0LXN0YXR1cy5jOjI3OQorbXNnaWQgImRlbGV0ZWQiCittc2dzdHIgIuWIoOmZpCIKKworIyAg6K+R6ICF77ya5Li65L+d6K+B5Zyo6L6T5Ye65Lit5a+56b2Q77yM5rOo5oSP6LCD5pW05Y+l5Lit56m65qC877yBCisjOiB3dC1zdGF0dXMuYzoyODUKK21zZ2lkICJ0eXBlY2hhbmdlIgorbXNnc3RyICLnsbvlnovlj5jmm7QiCisKKyMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQorIzogd3Qtc3RhdHVzLmM6Mjg3Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAi5pyq55+lIgorCisjOiB3dC1zdGF0dXMuYzoyODkKK21zZ2lkICJ1bm1lcmdlZCIKK21zZ3N0ciAi5pyq5ZCI5bm2IgorCiAjICDor5HogIXvvJrmnKvlsL7kuKTkuKrlrZfoioLlj6/og73ooqvliKDlh4/vvIzlpoLmnpznv7vor5HkuLrkuK3mlofmoIfngrnkvJrlh7rnjrDljYrkuKrmsYnlrZcKLSM6IHd0LXN0YXR1cy5jOjI4NgorIzogd3Qtc3RhdHVzLmM6MzM2CiBtc2dpZCAibmV3IGNvbW1pdHMsICIKIG1zZ3N0ciAi5paw5o+Q5LqkLCAiCiAKICMgIOivkeiAhe+8muacq+WwvuS4pOS4quWtl+iKguWPr+iDveiiq+WIoOWHj++8jOWmguaenOe/u+ivkeS4uuS4reaWh+agh+eCueS8muWHuueOsOWNiuS4quaxieWtlwotIzogd3Qtc3RhdHVzLmM6Mjg4CisjOiB3dC1zdGF0dXMuYzozMzgKIG1zZ2lkICJtb2RpZmllZCBjb250ZW50LCAiCiBtc2dzdHIgIuS/ruaUueeahOWGheWuuSwgIgogCiAjICDor5HogIXvvJrmnKvlsL7kuKTkuKrlrZfoioLlj6/og73ooqvliKDlh4/vvIzlpoLmnpznv7vor5HkuLrkuK3mlofmoIfngrnkvJrlh7rnjrDljYrkuKrmsYnlrZcKLSM6IHd0LXN0YXR1cy5jOjI5MAorIzogd3Qtc3RhdHVzLmM6MzQwCiBtc2dpZCAidW50cmFja2VkIGNvbnRlbnQsICIKIG1zZ3N0ciAi5pyq6Lef6Liq55qE5YaF5a65LCAiCiAKLSMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQotIzogd3Qtc3RhdHVzLmM6MzA3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm5ldyBmaWxlOiAgICVzIgotbXNnc3RyICLmlrDmlofku7bvvJogICAgJXMiCi0KLSMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQotIzogd3Qtc3RhdHVzLmM6MzEwCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvcGllZDogICAgICVzIC0+ICVzIgotbXNnc3RyICLmi7fotJ3vvJogICAgICAlcyAtPiAlcyIKLQotIyAg6K+R6ICF77ya5Li65L+d6K+B5Zyo6L6T5Ye65Lit5a+56b2Q77yM5rOo5oSP6LCD5pW05Y+l5Lit56m65qC877yBCi0jOiB3dC1zdGF0dXMuYzozMTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZGVsZXRlZDogICAgJXMiCi1tc2dzdHIgIuWIoOmZpO+8miAgICAgICVzIgotCi0jICDor5HogIXvvJrkuLrkv53or4HlnKjovpPlh7rkuK3lr7npvZDvvIzms6jmhI/osIPmlbTlj6XkuK3nqbrmoLzvvIEKLSM6IHd0LXN0YXR1cy5jOjMxNgotIywgYy1mb3JtYXQKLW1zZ2lkICJtb2RpZmllZDogICAlcyIKLW1zZ3N0ciAi5L+u5pS577yaICAgICAgJXMiCi0KLSMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQotIzogd3Qtc3RhdHVzLmM6MzE5Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlbmFtZWQ6ICAgICVzIC0+ICVzIgotbXNnc3RyICLph43lkb3lkI3vvJogICAgJXMgLT4gJXMiCi0KLSMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQotIzogd3Qtc3RhdHVzLmM6MzIyCi0jLCBjLWZvcm1hdAotbXNnaWQgInR5cGVjaGFuZ2U6ICVzIgotbXNnc3RyICLnsbvlnovlj5jmm7TvvJogICVzIgotCi0jICDor5HogIXvvJrkuLrkv53or4HlnKjovpPlh7rkuK3lr7npvZDvvIzms6jmhI/osIPmlbTlj6XkuK3nqbrmoLzvvIEKLSM6IHd0LXN0YXR1cy5jOjMyNQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duOiAgICAlcyIKLW1zZ3N0ciAi5pyq55+l77yaICAgICAgJXMiCi0KLSMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQotIzogd3Qtc3RhdHVzLmM6MzI4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVubWVyZ2VkOiAgICVzIgotbXNnc3RyICLmnKrlkIjlubbvvJogICAgJXMiCi0KLSM6IHd0LXN0YXR1cy5jOjMzMQorIzogd3Qtc3RhdHVzLmM6MzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJ1ZzogdW5oYW5kbGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICJidWfvvJrmnKrlpITnkIbnmoTlt67lvILnirbmgIEgJWMiCiAKLSM6IHd0LXN0YXR1cy5jOjgwMworIzogd3Qtc3RhdHVzLmM6NzMyCittc2dpZCAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCittc2dzdHIgIuWtkOaooee7hOW3suS/ruaUueS9huWwmuacquabtOaWsO+8miIKKworIzogd3Qtc3RhdHVzLmM6NzM0Cittc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKK21zZ3N0ciAi6KaB5o+Q5Lqk55qE5a2Q5qih57uE5Y+Y5pu077yaIgorCisjOiB3dC1zdGF0dXMuYzo4MzYKK21zZ2lkICIiCisiRG8gbm90IHRvdWNoIHRoZSBsaW5lIGFib3ZlLlxuIgorIkV2ZXJ5dGhpbmcgYmVsb3cgd2lsbCBiZSByZW1vdmVkLiIKK21zZ3N0ciAiIgorIuS4jeimgeaUueWKqOS4iumdoueahOS4gOihjOOAglxuIgorIuS4i+mdoueahOaJgOacieWGheWuueWdh+Wwhuiiq+WIoOmZpOOAgiIKKworIzogd3Qtc3RhdHVzLmM6ODk5CiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICLmgqjmnInlsJrmnKrlkIjlubbnmoTot6/lvoTjgIIiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6ODA2CisjOiB3dC1zdGF0dXMuYzo5MDIKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgogbXNnc3RyICIgIO+8iOino+WGs+WGsueqgeW5tui/kOihjCBcImdpdCBjb21taXRcIu+8iSIKIAotIzogd3Qtc3RhdHVzLmM6ODA5CisjOiB3dC1zdGF0dXMuYzo5MDUKIG1zZ2lkICJBbGwgY29uZmxpY3RzIGZpeGVkIGJ1dCB5b3UgYXJlIHN0aWxsIG1lcmdpbmcuIgogbXNnc3RyICLmiYDmnInlhrLnqoHlt7Lop6PlhrPkvYbmgqjku43lpITkuo7lkIjlubbkuK3jgIIiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6ODEyCisjOiB3dC1zdGF0dXMuYzo5MDgKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0XCIgdG8gY29uY2x1ZGUgbWVyZ2UpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBjb21taXRcIiDnu5PmnZ/lkIjlubbvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjgyMgorIzogd3Qtc3RhdHVzLmM6OTE4CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICLmgqjmraPlpITkuo7kuIDkuKogYW0g6L+H56iL5Lit44CCIgogCi0jOiB3dC1zdGF0dXMuYzo4MjUKKyM6IHd0LXN0YXR1cy5jOjkyMQogbXNnaWQgIlRoZSBjdXJyZW50IHBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAi5b2T5YmN55qE6KGl5LiB5Li656m644CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjgyOQorIzogd3Qtc3RhdHVzLmM6OTI1CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICDvvIjop6PlhrPlhrLnqoHvvIznhLblkI7ov5DooYwgXCJnaXQgYW0gLS1jb250aW51ZVwi77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjgzMQorIzogd3Qtc3RhdHVzLmM6OTI3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGFtIC0tc2tpcFwiIOi3s+i/h+atpOihpeS4ge+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzo4MzMKKyM6IHd0LXN0YXR1cy5jOjkyOQogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgYW0gLS1hYm9ydFwiIOaBouWkjeWOn+acieWIhuaUr++8iSIKIAotIzogd3Qtc3RhdHVzLmM6ODkzIHd0LXN0YXR1cy5jOjkxMAorIzogd3Qtc3RhdHVzLmM6OTg5IHd0LXN0YXR1cy5jOjEwMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIuaCqOato+WcqOWwhuWIhuaUryAnJXMnIOWPmOWfuuWIsCAnJXMn44CCIgogCi0jOiB3dC1zdGF0dXMuYzo4OTggd3Qtc3RhdHVzLmM6OTE1CisjOiB3dC1zdGF0dXMuYzo5OTQgd3Qtc3RhdHVzLmM6MTAxMQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nLiIKIG1zZ3N0ciAi5oKo5q2j5Zyo5Y+Y5Z+644CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjkwMQorIzogd3Qtc3RhdHVzLmM6OTk3CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAg77yI6Kej5Yaz5Yay56qB77yM54S25ZCO6L+Q6KGMIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCLvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6OTAzCisjOiB3dC1zdGF0dXMuYzo5OTkKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiDot7Pov4fmraTooaXkuIHvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6OTA1CisjOiB3dC1zdGF0dXMuYzoxMDAxCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCByZWJhc2UgLS1hYm9ydFwiIOS7peajgOWHuuWOn+acieWIhuaUr++8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzo5MTgKKyM6IHd0LXN0YXR1cy5jOjEwMTQKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAg77yI5omA5pyJ5Yay56qB5bey6Kej5Yaz77ya6L+Q6KGMIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCLvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjkyMgorIzogd3Qtc3RhdHVzLmM6MTAxOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICLmgqjmraPlnKjlsIbliIbmlK8gJyVzJyDlj5jln7rliLAgJyVzJyDov4fnqIvkuK3mi4bliIbkuIDkuKrmj5DkuqTjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjkyNworIzogd3Qtc3RhdHVzLmM6MTAyMwogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICLmgqjmraPlnKjlj5jln7rov4fnqIvkuK3mi4bliIbkuIDkuKrmj5DkuqTjgIIiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6OTMwCisjOiB3dC1zdGF0dXMuYzoxMDI2CiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAg77yI5LiA5pem5oKo5bel5L2c55uu5b2V5o+Q5Lqk5bmy5YeA5ZCO77yM6L+Q6KGMIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCLvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjkzNAorIzogd3Qtc3RhdHVzLmM6MTAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICLmgqjmraPlnKjlsIbliIbmlK8gJyVzJyDlj5jln7rliLAgJyVzJyDov4fnqIvkuK3nvJbovpHkuIDkuKrmj5DkuqTjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjkzOQorIzogd3Qtc3RhdHVzLmM6MTAzNQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAi5oKo5q2j5Zyo5Y+Y5Z+66L+H56iL5Lit57yW6L6R5LiA5Liq5o+Q5Lqk44CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjk0MgorIzogd3Qtc3RhdHVzLmM6MTAzOAogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIg5L+u6KGl5b2T5YmN5o+Q5Lqk77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjk0NAorIzogd3Qtc3RhdHVzLmM6MTA0MAogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKSIKIG1zZ3N0ciAiICDvvIjlvZPmgqjlr7nmgqjnmoTkv67mlLnmu6HmhI/lkI7miafooYwgXCJnaXQgcmViYXNlIC0tY29udGludWVcIu+8iSIKIAotIzogd3Qtc3RhdHVzLmM6OTU0Ci1tc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcuIgotbXNnc3RyICLmgqjmraPlnKjlgZrmi6PpgInmk43kvZzjgIIiCisjOiB3dC1zdGF0dXMuYzoxMDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nIGNvbW1pdCAlcy4iCittc2dzdHIgIuaCqOato+WcqOWBmuaLo+mAieaPkOS6pCAlc+OAgiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzo5NTgKKyM6IHd0LXN0YXR1cy5jOjEwNTUKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICDvvIjop6PlhrPlhrLnqoHlubbov5DooYwgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwi77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjk2MQorIzogd3Qtc3RhdHVzLmM6MTA1OAogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIO+8iOaJgOacieWGsueqgeW3suino+WGs++8mui/kOihjCBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCLvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6OTYzCisjOiB3dC1zdGF0dXMuYzoxMDYwCiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiDku6Xlj5bmtojmi6PpgInmk43kvZzvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjk3MgorIzogd3Qtc3RhdHVzLmM6MTA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZXZlcnRpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAi5oKo5q2j5Zyo5Y+N6L2s5o+Q5LqkICVzIOOAgiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzo5NzcKKyM6IHd0LXN0YXR1cy5jOjEwNzQKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAg77yI6Kej5Yaz5Yay56qB5bm26L+Q6KGMIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCLvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6OTgwCisjOiB3dC1zdGF0dXMuYzoxMDc3CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIO+8iOaJgOacieWGsueqgeW3suino+WGs++8mui/kOihjCBcImdpdCByZXZlcnQgLS1jb250aW51ZVwi77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjk4MgorIzogd3Qtc3RhdHVzLmM6MTA3OQogbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHJldmVydCAtLWFib3J0XCIg5Lul5Y+W5raI5Y+N6L2s5o+Q5Lqk5pON5L2c77yJIgogCi0jOiB3dC1zdGF0dXMuYzo5OTMKKyM6IHd0LXN0YXR1cy5jOjEwOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLCBzdGFydGVkIGZyb20gYnJhbmNoICclcycuIgogbXNnc3RyICLmgqjmraPlnKjku47liIbmlK8gJyVzJyDlvIDlp4vlgZrkuozliIbmn6Xmib7jgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjk5NworIzogd3Qtc3RhdHVzLmM6MTA5NAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgIuaCqOato+WcqOWBmuS6jOWIhuafpeaJvuOAgiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMDAwCisjOiB3dC1zdGF0dXMuYzoxMDk3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBiaXNlY3QgcmVzZXRcIiDku6Xlm57liLDljp/mnInliIbmlK/vvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzMKKyM6IHd0LXN0YXR1cy5jOjEyNzIKIG1zZ2lkICJPbiBicmFuY2ggIgogbXNnc3RyICLkvY3kuo7liIbmlK8gIgogCi0jOiB3dC1zdGF0dXMuYzoxMTgwCisjOiB3dC1zdGF0dXMuYzoxMjc5CiBtc2dpZCAicmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAi5Y+Y5Z+65q2j5Zyo6L+b6KGM5Lit77yb6IezICIKIAotIzogd3Qtc3RhdHVzLmM6MTE4NworIzogd3Qtc3RhdHVzLmM6MTI4NgogbXNnaWQgIkhFQUQgZGV0YWNoZWQgYXQgIgogbXNnc3RyICLlpLTmjIfpkojliIbnprvkuo4gIgogCi0jOiB3dC1zdGF0dXMuYzoxMTg5CisjOiB3dC1zdGF0dXMuYzoxMjg4CiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKIG1zZ3N0ciAi5aS05oyH6ZKI5YiG56a76IeqICIKIAotIzogd3Qtc3RhdHVzLmM6MTE5MgorIzogd3Qtc3RhdHVzLmM6MTI5MQogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIuW9k+WJjeS4jeWcqOS7u+S9leWIhuaUr+S4iuOAgiIKIAotIzogd3Qtc3RhdHVzLmM6MTIwOQorIzogd3Qtc3RhdHVzLmM6MTMwOAogbXNnaWQgIkluaXRpYWwgY29tbWl0IgogbXNnc3RyICLliJ3lp4vmj5DkuqQiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjMKKyM6IHd0LXN0YXR1cy5jOjEzMjIKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIuacqui3n+i4queahOaWh+S7tiIKIAotIzogd3Qtc3RhdHVzLmM6MTIyNQorIzogd3Qtc3RhdHVzLmM6MTMyNAogbXNnaWQgIklnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIuW/veeVpeeahOaWh+S7tiIKIAotIzogd3Qtc3RhdHVzLmM6MTIyOQorIzogd3Qtc3RhdHVzLmM6MTMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVudHJhY2tlZCBmaWxlcy4gJ3N0YXR1cyAtdW5vJ1xuIgpAQCAtMTYxOCw5NyArMTgwMywxMDEgQEAKICLogJfotLnkuoYgJS4yZiDnp5Lku6XmnprkuL7mnKrot5/ouKrnmoTmlofku7bjgIInc3RhdHVzIC11bm8nIOS5n+iuuOiDveaPkOmrmOmAn+W6pu+8jFxuIgogIuS9huaCqOmcgOimgeWwj+W/g+S4jeimgeW/mOS6hua3u+WKoOaWsOaWh+S7tu+8iOWPguingSAnZ2l0IGhlbHAgc3RhdHVzJ++8ieOAgiIKIAotIzogd3Qtc3RhdHVzLmM6MTIzNQorIzogd3Qtc3RhdHVzLmM6MTMzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIgogbXNnc3RyICLmnKrot5/ouKrnmoTmlofku7bmsqHmnInliJflh7olcyIKIAogIyAg6K+R6ICF77ya5Lit5paH5a2X56ym5Liy5ou85o6l77yM5Y+v5Yig6Zmk5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMjM3CisjOiB3dC1zdGF0dXMuYzoxMzM2CiBtc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKIG1zZ3N0ciAi77yI5L2/55SoIC11IOWPguaVsOaYvuekuuacqui3n+i4queahOaWh+S7tu+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTI0MworIzogd3Qtc3RhdHVzLmM6MTM0MgogbXNnaWQgIk5vIGNoYW5nZXMiCiBtc2dzdHIgIuayoeacieS/ruaUuSIKIAotIzogd3Qtc3RhdHVzLmM6MTI0OAorIzogd3Qtc3RhdHVzLmM6MTM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAi5L+u5pS55bCa5pyq5Yqg5YWl5o+Q5Lqk77yI5L2/55SoIFwiZ2l0IGFkZFwiIOWSjC/miJYgXCJnaXQgY29tbWl0IC1hXCLvvIlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1MQorIzogd3Qtc3RhdHVzLmM6MTM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdFxuIgogbXNnc3RyICLkv67mlLnlsJrmnKrliqDlhaXmj5DkuqRcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NAorIzogd3Qtc3RhdHVzLmM6MTM1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgogInRyYWNrKVxuIgogbXNnc3RyICLmj5DkuqTkuLrnqbrvvIzkvYbmmK/lrZjlnKjlsJrmnKrot5/ouKrnmoTmlofku7bvvIjkvb/nlKggXCJnaXQgYWRkXCIg5bu656uL6Lef6Liq77yJXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTcKKyM6IHd0LXN0YXR1cy5jOjEzNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50XG4iCiBtc2dzdHIgIuaPkOS6pOS4uuepuu+8jOS9huaYr+WtmOWcqOWwmuacqui3n+i4queahOaWh+S7tlxuIgogCiAjICDor5HogIXvvJrkuK3mloflrZfnrKbkuLLmi7zmjqXvvIzlj6/liKDpmaTliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEyNjAKKyM6IHd0LXN0YXR1cy5jOjEzNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCiBtc2dzdHIgIuaXoOaWh+S7tuimgeaPkOS6pO+8iOWIm+W7ui/mi7fotJ3mlofku7blubbkvb/nlKggXCJnaXQgYWRkXCIg5bu656uL6Lef6Liq77yJXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjMgd3Qtc3RhdHVzLmM6MTI2OAorIzogd3Qtc3RhdHVzLmM6MTM2MiB3dC1zdGF0dXMuYzoxMzY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0XG4iCiBtc2dzdHIgIuaXoOaWh+S7tuimgeaPkOS6pFxuIgogCiAjICDor5HogIXvvJrkuK3mloflrZfnrKbkuLLmi7zmjqXvvIzlj6/liKDpmaTliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEyNjYKKyM6IHd0LXN0YXR1cy5jOjEzNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAi5peg5paH5Lu26KaB5o+Q5Lqk77yI5L2/55SoIC11IOaYvuekuuacqui3n+i4queahOaWh+S7tu+8iVxuIgogCiAjICDor5HogIXvvJrkuK3mloflrZfnrKbkuLLmi7zmjqXvvIzlj6/liKDpmaTliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEyNzAKKyM6IHd0LXN0YXR1cy5jOjEzNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgZGlyZWN0b3J5IGNsZWFuXG4iCiBtc2dzdHIgIuaXoOaWh+S7tuimgeaPkOS6pO+8jOW5suWHgOeahOW3peS9nOWMulxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzc4CisjOiB3dC1zdGF0dXMuYzoxNDc4CiBtc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKIG1zZ3N0ciAiSEVBRO+8iOmdnuWIhuaUr++8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5Y+l5bC+56m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMzg0CisjOiB3dC1zdGF0dXMuYzoxNDg0CiBtc2dpZCAiSW5pdGlhbCBjb21taXQgb24gIgogbXNnc3RyICLliJ3lp4vmj5DkuqTkuo4gIgogCisjOiB3dC1zdGF0dXMuYzoxNTE0Cittc2dpZCAiZ29uZSIKK21zZ3N0ciAi5Lii5aSxIgorCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHlj6XlsL7nqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEzOTkKKyM6IHd0LXN0YXR1cy5jOjE1MTYKIG1zZ2lkICJiZWhpbmQgIgogbXNnc3RyICLokL3lkI4gIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHlj6XlsL7nqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE0MDIgd3Qtc3RhdHVzLmM6MTQwNQorIzogd3Qtc3RhdHVzLmM6MTUxOSB3dC1zdGF0dXMuYzoxNTIyCiBtc2dpZCAiYWhlYWQgIgogbXNnc3RyICLpooblhYggIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHlj6XlsL7nqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE0MDcKKyM6IHd0LXN0YXR1cy5jOjE1MjQKIG1zZ2lkICIsIGJlaGluZCAiCiBtc2dzdHIgIu+8jOiQveWQjiAiCiAKLSM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1OCBidWlsdGluL2Nsb25lLmM6MzUxCisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTUgYnVpbHRpbi9jbG9uZS5jOjM1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCiBtc2dzdHIgIuaXoOazleWIoOmZpCAnJXMnIgogCiAjOiBidWlsdGluL2FkZC5jOjIwCiBtc2dpZCAiZ2l0IGFkZCBbb3B0aW9uc10gWy0tXSA8cGF0aHNwZWM+Li4uIgotbXNnc3RyICJnaXQgYWRkIFvpgInpobldIFstLV0gPOi3r+W+hOWMuemFjT4uLi4iCittc2dzdHIgImdpdCBhZGQgW+mAiemhuV0gWy0tXSA86Lev5b6E6KeE5YiZPi4uLiIKIAogIyAg6K+R6ICF77ya5a2X56ym5Liy6aaW6KGM6KGM6aaW6KaB5re75Yqg4oCcd2FybmluZzog4oCd5a2X5Liy77yM5pWF5q2k6aaW6KGM6KaB6L6D5YW25L2Z6KGM55+tCiAjLgpAQCAtMTc3NCwxMCArMTk2MywxMCBAQAogIuWDj+acrOWcsOW3peS9nOWMuuenu+mZpOeahOi3r+W+hCAnJXMnXG4iCiAi5Zyo5q2k54mI5pys55qEIEdpdCDkuK3ooqvlv73nlaXjgIJcbiIKICJcbiIKLSIqICdnaXQgYWRkIC0taWdub3JlLXJlbW92YWwgPHBhdGhzcGVjPifvvIzmmK/lvZPliY3niYjmnKznmoTpu5jorqTmk43kvZzvvIxcbiIKKyIqICdnaXQgYWRkIC0taWdub3JlLXJlbW92YWwgPOi3r+W+hOinhOWImT4n77yM5piv5b2T5YmN54mI5pys55qE6buY6K6k5pON5L2c77yMXG4iCiAiICDlv73nlaXmgqjmnKzlnLDlt6XkvZzljLrkuK3np7vpmaTnmoTmlofku7bjgIJcbiIKICJcbiIKLSIqICdnaXQgYWRkIC0tYWxsIDxwYXRoc3BlYz4nIOWwhuiuqeaCqOWQjOaXtuWvueWIoOmZpOaTjeS9nOi/m+ihjOiusOW9leOAglxuIgorIiogJ2dpdCBhZGQgLS1hbGwgPOi3r+W+hOinhOWImT4nIOWwhuiuqeaCqOWQjOaXtuWvueWIoOmZpOaTjeS9nOi/m+ihjOiusOW9leOAglxuIgogIlxuIgogIui/kOihjCAnZ2l0IHN0YXR1cycg5p2l5qOA5p+l5oKo5pys5Zyw5bel5L2c5Yy65Lit56e76Zmk55qE6Lev5b6E44CCXG4iCiAKQEAgLTE3ODYsNyArMTk3NSw3IEBACiBtc2dpZCAidW5leHBlY3RlZCBkaWZmIHN0YXR1cyAlYyIKIG1zZ3N0ciAi5oSP5aSW55qE5beu5byC54q25oCBICVjIgogCi0jOiBidWlsdGluL2FkZC5jOjE0OSBidWlsdGluL2NvbW1pdC5jOjI1MgorIzogYnVpbHRpbi9hZGQuYzoxNDkgYnVpbHRpbi9jb21taXQuYzoyNjAKIG1zZ2lkICJ1cGRhdGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgIuabtOaWsOaWh+S7tuWksei0pSIKIApAQCAtMTc5NSwxNDAgKzE5ODQsMTM1IEBACiBtc2dpZCAicmVtb3ZlICclcydcbiIKIG1zZ3N0ciAi5Yig6ZmkICclcydcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTMKKyM6IGJ1aWx0aW4vYWRkLmM6MjM3CiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZWZyZXNoaW5nIHRoZSBpbmRleDoiCiBtc2dzdHIgIuWIt+aWsOe0ouW8leS5i+WQjuWwmuacquiiq+aaguWtmOeahOWPmOabtO+8miIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYgYnVpbHRpbi9hZGQuYzo1NzMgYnVpbHRpbi9ybS5jOjMzNwotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgotbXNnc3RyICLot6/lvoQgJyVzJyDmnKrljLnphY3ku7vkvZXmlofku7YiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6MzM5CisjOiBidWlsdGluL2FkZC5jOjI5OQogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAi5LiN6IO96K+75Y+W57Si5byVIgogCi0jOiBidWlsdGluL2FkZC5jOjM1MAorIzogYnVpbHRpbi9hZGQuYzozMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iCiBtc2dzdHIgIuS4jeiDveaJk+W8gCAnJXMnIOS7peWGmeWFpeOAgiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTQKKyM6IGJ1aWx0aW4vYWRkLmM6MzE0CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHBhdGNoIgogbXNnc3RyICLkuI3og73nlJ/miJDooaXkuIEiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzU5CisjOiBidWlsdGluL2FkZC5jOjMxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICLkuI3og73mn6XnnIvmlofku7bnirbmgIEgJyVzJyIKIAotIzogYnVpbHRpbi9hZGQuYzozNjEKKyM6IGJ1aWx0aW4vYWRkLmM6MzIxCiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICLnqbrooaXkuIHjgILlvILluLjnu4jmraLjgIIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzY3CisjOiBidWlsdGluL2FkZC5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95bqU55SoICclcyciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzc3CisjOiBidWlsdGluL2FkZC5jOjMzNwogbXNnaWQgIlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKIG1zZ3N0ciAi5LiL5YiX6Lev5b6E5qC55o2u5oKo55qE5LiA5LiqIC5naXRpZ25vcmUg5paH5Lu26ICM6KKr5b+955Wl77yaXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzk0IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9mZXRjaC5jOjc4IGJ1aWx0aW4vbXYuYzo2MwotIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3MyBidWlsdGluL3B1c2guYzo0NTEgYnVpbHRpbi9yZW1vdGUuYzoxMjUzCi0jOiBidWlsdGluL3JtLmM6MjY4CisjOiBidWlsdGluL2FkZC5jOjM1NCBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZmV0Y2guYzo5MyBidWlsdGluL212LmM6NzAKKyM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzcgYnVpbHRpbi9wdXNoLmM6NTA2IGJ1aWx0aW4vcmVtb3RlLmM6MTM0NAorIzogYnVpbHRpbi9ybS5jOjI2OQogbXNnaWQgImRyeSBydW4iCiBtc2dzdHIgIua8lOS5oCIKIAotIzogYnVpbHRpbi9hZGQuYzozOTUgYnVpbHRpbi9hcHBseS5jOjQ0MTAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMjIwIGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk1IGJ1aWx0aW4vZnNjay5jOjYxMwotIzogYnVpbHRpbi9sb2cuYzoxNTczIGJ1aWx0aW4vbXYuYzo2MiBidWlsdGluL3JlYWQtdHJlZS5jOjExMworIzogYnVpbHRpbi9hZGQuYzozNTUgYnVpbHRpbi9hcHBseS5jOjQ0MTAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQorIzogYnVpbHRpbi9jb21taXQuYzoxMjQ5IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk1IGJ1aWx0aW4vZnNjay5jOjYxMgorIzogYnVpbHRpbi9sb2cuYzoxNTkyIGJ1aWx0aW4vbXYuYzo2OSBidWlsdGluL3JlYWQtdHJlZS5jOjExMwogbXNnaWQgImJlIHZlcmJvc2UiCiBtc2dzdHIgIuWGl+mVv+i+k+WHuiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTcKKyM6IGJ1aWx0aW4vYWRkLmM6MzU3CiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAi5Lqk5LqS5byP5ouj6YCJIgogCi0jOiBidWlsdGluL2FkZC5jOjM5OCBidWlsdGluL2NoZWNrb3V0LmM6MTA3MyBidWlsdGluL3Jlc2V0LmM6MjYxCisjOiBidWlsdGluL2FkZC5jOjM1OCBidWlsdGluL2NoZWNrb3V0LmM6MTEwOSBidWlsdGluL3Jlc2V0LmM6MjcyCiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgIuS6pOS6kuW8j+aMkemAieaVsOaNruWdlyIKIAotIzogYnVpbHRpbi9hZGQuYzozOTkKKyM6IGJ1aWx0aW4vYWRkLmM6MzU5CiBtc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgogbXNnc3RyICLnvJbovpHlvZPliY3lt67lvILlubblupTnlKgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAwCisjOiBidWlsdGluL2FkZC5jOjM2MAogbXNnaWQgImFsbG93IGFkZGluZyBvdGhlcndpc2UgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAi5YWB6K645re75Yqg5b+955Wl55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2FkZC5jOjQwMQorIzogYnVpbHRpbi9hZGQuYzozNjEKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi5pu05paw5bey6Lef6Liq55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2FkZC5jOjQwMgorIzogYnVpbHRpbi9hZGQuYzozNjIKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgIuWPquiusOW9le+8jOivpei3r+W+hOeojeWQjuWGjea3u+WKoCIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDMKKyM6IGJ1aWx0aW4vYWRkLmM6MzYzCiBtc2dpZCAiYWRkIGNoYW5nZXMgZnJvbSBhbGwgdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICLmt7vliqDmiYDmnInmlLnlj5jnmoTlt7Lot5/ouKrmlofku7blkozmnKrot5/ouKrmlofku7YiCiAKICMuIHRha2VzIG5vIGFyZ3VtZW50cwotIzogYnVpbHRpbi9hZGQuYzo0MDYKKyM6IGJ1aWx0aW4vYWRkLmM6MzY2CiBtc2dpZCAiaWdub3JlIHBhdGhzIHJlbW92ZWQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoc2FtZSBhcyAtLW5vLWFsbCkiCiBtc2dzdHIgIuW/veeVpeW3peS9nOWMuuS4reenu+mZpOeahOi3r+W+hO+8iOWSjCAtLW5vLWFsbCDnm7jlkIzvvIkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDA4CisjOiBidWlsdGluL2FkZC5jOjM2OAogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAi5LiN5re75Yqg77yM5Y+q5Yi35paw57Si5byVIgogCi0jOiBidWlsdGluL2FkZC5jOjQwOQorIzogYnVpbHRpbi9hZGQuYzozNjkKIG1zZ2lkICJqdXN0IHNraXAgZmlsZXMgd2hpY2ggY2Fubm90IGJlIGFkZGVkIGJlY2F1c2Ugb2YgZXJyb3JzIgogbXNnc3RyICLot7Pov4flm6Dlh7rplJnkuI3og73mt7vliqDnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDEwCisjOiBidWlsdGluL2FkZC5jOjM3MAogbXNnaWQgImNoZWNrIGlmIC0gZXZlbiBtaXNzaW5nIC0gZmlsZXMgYXJlIGlnbm9yZWQgaW4gZHJ5IHJ1biIKIG1zZ3N0ciAi5qOA5p+l5Zyo5ryU5Lmg5qih5byP5LiL5paH5Lu277yI5Y2z5L2/5LiN5a2Y5Zyo77yJ5piv5ZCm6KKr5b+955WlIgogCi0jOiBidWlsdGluL2FkZC5jOjQzMgorIzogYnVpbHRpbi9hZGQuYzozOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKIG1zZ3N0ciAi5L2/55SoIC1mIOWPguaVsOWmguaenOaCqOehruWunuimgea3u+WKoOWug+S7rOOAglxuIgogCi0jOiBidWlsdGluL2FkZC5jOjQzMworIzogYnVpbHRpbi9hZGQuYzozOTMKIG1zZ2lkICJubyBmaWxlcyBhZGRlZCIKIG1zZ3N0ciAi5rKh5pyJ5paH5Lu26KKr5re75YqgIgogCi0jOiBidWlsdGluL2FkZC5jOjQzOQorIzogYnVpbHRpbi9hZGQuYzozOTkKIG1zZ2lkICJhZGRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICLmt7vliqDmlofku7blpLHotKUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDc4CisjOiBidWlsdGluL2FkZC5jOjQzOAogbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgogbXNnc3RyICItQSDlkowgLXUg6YCJ6aG55LqS5palIgogCi0jOiBidWlsdGluL2FkZC5jOjQ5NgorIzogYnVpbHRpbi9hZGQuYzo0NTYKIG1zZ2lkICJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIgogbXNnc3RyICLpgInpobkgLS1pZ25vcmUtbWlzc2luZyDlj6rog73lkowgLS1kcnktcnVuIOWQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9hZGQuYzo1MjYKKyM6IGJ1aWx0aW4vYWRkLmM6NDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdGhpbmcgc3BlY2lmaWVkLCBub3RoaW5nIGFkZGVkLlxuIgogbXNnc3RyICLmsqHmnInmjIflrprmlofku7bvvIzkuZ/msqHmnInmlofku7booqvmt7vliqDjgIJcbiIKIAotIzogYnVpbHRpbi9hZGQuYzo1MjcKKyM6IGJ1aWx0aW4vYWRkLmM6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgogbXNnc3RyICLkuZ/orrjmgqjmg7PopoHmiafooYwgJ2dpdCBhZGQgLifvvJ9cbiIKIAotIzogYnVpbHRpbi9hZGQuYzo1MzMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjEgYnVpbHRpbi9jbGVhbi5jOjkxOQotIzogYnVpbHRpbi9jb21taXQuYzozMTIgYnVpbHRpbi9tdi5jOjgyIGJ1aWx0aW4vcm0uYzoyOTcKKyM6IGJ1aWx0aW4vYWRkLmM6NDkyIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcyIGJ1aWx0aW4vY2xlYW4uYzo5MTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzIwIGJ1aWx0aW4vbXYuYzo5MCBidWlsdGluL3Jlc2V0LmM6MjI0IGJ1aWx0aW4vcm0uYzoyOTkKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQiCiBtc2dzdHIgIue0ouW8leaWh+S7tuaNn+WdjyIKIAotIzogYnVpbHRpbi9hZGQuYzo2MDUgYnVpbHRpbi9hcHBseS5jOjQ1MDYgYnVpbHRpbi9tdi5jOjIyOSBidWlsdGluL3JtLmM6NDMyCisjOiBidWlsdGluL2FkZC5jOjU5MiBidWlsdGluL2FwcGx5LmM6NDUwNiBidWlsdGluL212LmM6MjcwIGJ1aWx0aW4vcm0uYzo0MzIKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIuaXoOazleWGmeWFpeaWsOe0ouW8leaWh+S7tiIKIApAQCAtMjE3Niw3ICsyMzYwLDcgQEAKIG1zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKIG1zZ3N0ciAi5qOA5p+l6KGl5LiBICVzLi4uIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MzY4MCBidWlsdGluL2NoZWNrb3V0LmM6MjE2IGJ1aWx0aW4vcmVzZXQuYzoxMjcKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNjgwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTMgYnVpbHRpbi9yZXNldC5jOjEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICLlr7not6/lvoQgJyVzJyDnmoQgbWFrZV9jYWNoZV9lbnRyeSDmk43kvZzlpLHotKUiCkBAIC0yMjU2LDggKzI0NDAsOCBAQAogbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCiBtc2dzdHIgIuaXoOazleivu+WPlue0ouW8leaWh+S7tiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzNTcgYnVpbHRpbi9hcHBseS5jOjQzNjAgYnVpbHRpbi9jbG9uZS5jOjkxCi0jOiBidWlsdGluL2ZldGNoLmM6NjMKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzU3IGJ1aWx0aW4vYXBwbHkuYzo0MzYwIGJ1aWx0aW4vY2xvbmUuYzo5MAorIzogYnVpbHRpbi9mZXRjaC5jOjc4CiBtc2dpZCAicGF0aCIKIG1zZ3N0ciAi6Lev5b6EIgogCkBAIC0yMzE3LDcgKzI1MDEsNyBAQAogbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgogbXNnc3RyICLliJvlu7rkuIDkuKrkuLTml7bntKLlvJXln7rkuo7ltYzlhaXnmoTntKLlvJXkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzg5IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxOTcgYnVpbHRpbi9scy1maWxlcy5jOjQ2MgorIzogYnVpbHRpbi9hcHBseS5jOjQzODkgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE5NyBidWlsdGluL2xzLWZpbGVzLmM6NDUyCiBtc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgIui3r+W+hOS7pSBOVUwg5a2X56ym5YiG6ZqUIgogCkBAIC0yNDQ3LDEwMyArMjYzMSwxMDMgQEAKIG1zZ2lkICJ1cGRhdGUgQklTRUNUX0hFQUQgaW5zdGVhZCBvZiBjaGVja2luZyBvdXQgdGhlIGN1cnJlbnQgY29tbWl0IgogbXNnc3RyICLmm7TmlrAgQklTRUNUX0hFQUQg6ICM6Z2e5qOA5Ye65b2T5YmN5o+Q5LqkIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNwogbXNnaWQgImdpdCBibGFtZSBbb3B0aW9uc10gW3Jldi1vcHRzXSBbcmV2XSBbLS1dIGZpbGUiCiBtc2dzdHIgImdpdCBibGFtZSBb6YCJ6aG5XSBb54mI5pys6YCJ6aG5XSBb54mI5pysXSBbLS1dIOaWh+S7tiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjMxCisjOiBidWlsdGluL2JsYW1lLmM6MzIKIG1zZ2lkICJbcmV2LW9wdHNdIGFyZSBkb2N1bWVudGVkIGluIGdpdC1yZXYtbGlzdCgxKSIKIG1zZ3N0ciAiW+eJiOacrOmAiemhuV0g55qE5paH5qGj6K6w5b2V5ZyoIGdpdC1yZXYtbGlzdCgxKSDkuK0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjc2CisjOiBidWlsdGluL2JsYW1lLmM6MjI0OQogbXNnaWQgIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiCiBtc2dzdHIgIuWinumHj+W8j+WcsOaYvuekuuWPkeeOsOeahCBibGFtZSDmnaHnm64iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjc3CisjOiBidWlsdGluL2JsYW1lLmM6MjI1MAogbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIui+ueeVjOaPkOS6pOaYvuekuuepuueahCBTSEEtMe+8iOm7mOiupO+8muWFs+mXre+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyNzgKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjUxCiBtc2dpZCAiRG8gbm90IHRyZWF0IHJvb3QgY29tbWl0cyBhcyBib3VuZGFyaWVzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLkuI3miormoLnmj5DkuqTkvZzkuLrovrnnlYzvvIjpu5jorqTvvJrlhbPpl63vvIkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjc5CisjOiBidWlsdGluL2JsYW1lLmM6MjI1MgogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgIuaYvuekuuWRveS7pOa2iOiAl+e7n+iuoSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjUzCiBtc2dpZCAiU2hvdyBvdXRwdXQgc2NvcmUgZm9yIGJsYW1lIGVudHJpZXMiCiBtc2dzdHIgIuaYvuekuuWIpOaWrSBibGFtZSDmnaHnm67kvY3np7vnmoTlvpfliIbor4rmlq3kv6Hmga8iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgxCisjOiBidWlsdGluL2JsYW1lLmM6MjI1NAogbXNnaWQgIlNob3cgb3JpZ2luYWwgZmlsZW5hbWUgKERlZmF1bHQ6IGF1dG8pIgogbXNnc3RyICLmmL7npLrljp/lp4vmlofku7blkI3vvIjpu5jorqTvvJroh6rliqjvvIkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgyCisjOiBidWlsdGluL2JsYW1lLmM6MjI1NQogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi5pi+56S65Y6f5aeL55qE6KGM5Y+377yI6buY6K6k77ya5YWz6Zet77yJIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4MworIzogYnVpbHRpbi9ibGFtZS5jOjIyNTYKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICLmmL7npLrkuLrkuIDkuKrpgILlkIjmnLrlmajor7vlj5bnmoTmoLzlvI8iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg0CisjOiBidWlsdGluL2JsYW1lLmM6MjI1NwogbXNnaWQgIlNob3cgcG9yY2VsYWluIGZvcm1hdCB3aXRoIHBlci1saW5lIGNvbW1pdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi5Li65q+P5LiA6KGM5pi+56S65py65Zmo6YCC55So55qE5o+Q5Lqk5L+h5oGvIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTgKIG1zZ2lkICJVc2UgdGhlIHNhbWUgb3V0cHV0IG1vZGUgYXMgZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLkvb/nlKjlkowgZ2l0LWFubm90YXRlIOebuOWQjOeahOi+k+WHuuaooeW8j++8iOm7mOiupO+8muWFs+mXre+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU5CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLmmL7npLrljp/lp4vml7bpl7TmiLPvvIjpu5jorqTvvJrlhbPpl63vvIkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg3CisjOiBidWlsdGluL2JsYW1lLmM6MjI2MAogbXNnaWQgIlNob3cgbG9uZyBjb21taXQgU0hBMSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi5pi+56S66ZW/55qEU0hBMeaPkOS6pOWPt++8iOm7mOiupO+8muWFs+mXre+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODgKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYxCiBtc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi6ZqQ6JeP5L2c6ICF5ZCN5a2X5ZKM5pe26Ze05oiz77yI6buY6K6k77ya5YWz6Zet77yJIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4OQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjIKIG1zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIuaYvuekuuS9nOiAheeahOmCrueuseiAjOS4jeaYr+WQjeWtl++8iOm7mOiupO+8muWFs+mXre+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYzCiBtc2dpZCAiSWdub3JlIHdoaXRlc3BhY2UgZGlmZmVyZW5jZXMiCiBtc2dzdHIgIuW/veeVpeepuueZveW3ruW8giIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY0CiBtc2dpZCAiU3BlbmQgZXh0cmEgY3ljbGVzIHRvIGZpbmQgYmV0dGVyIG1hdGNoIgogbXNnc3RyICLoirHotLnpop3lpJbnmoTlvqrnjq/mnaXmib7liLDmm7Tlpb3nmoTljLnphY0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkyCisjOiBidWlsdGluL2JsYW1lLmM6MjI2NQogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAi5L2/55So5p2l6IeqIDxmaWxlPiDnmoTkv67orqLpm4bogIzkuI3mmK/osIPnlKggZ2l0LXJldi1saXN0IgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5MworIzogYnVpbHRpbi9ibGFtZS5jOjIyNjYKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICLkvb/nlKggPGZpbGU+IOeahOWGheWuueS9nOS4uuacgOe7iOeahOWbvueJhyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTQgYnVpbHRpbi9ibGFtZS5jOjIyOTUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY3IGJ1aWx0aW4vYmxhbWUuYzoyMjY4CiBtc2dpZCAic2NvcmUiCiBtc2dzdHIgIuW+l+WIhiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY3CiBtc2dpZCAiRmluZCBsaW5lIGNvcGllcyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAi5om+5Yiw5paH5Lu25YaF5Y+K6Leo5paH5Lu255qE6KGM5ou36LSdIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjgKIG1zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICLmib7liLDmlofku7blhoXlj4rot6jmlofku7bnmoTooYznp7vliqgiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjk2CisjOiBidWlsdGluL2JsYW1lLmM6MjI2OQogbXNnaWQgIm4sbSIKIG1zZ3N0ciAibixtIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjkKIG1zZ2lkICJQcm9jZXNzIG9ubHkgbGluZSByYW5nZSBuLG0sIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAi5Y+q5aSE55CG6KGM6IyD5Zu05ZyoIG4g5ZKMIG0g5LmL6Ze055qE77yM5LuOIDEg5byA5aeLIgogCkBAIC0yNjQ5LDI3NSArMjgzMywyODUgQEAKIG1zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBwb2ludCBhdCBhIGNvbW1pdCIKIG1zZ3N0ciAi5YiG5pSvICclcycg5pyq5oyH5ZCR5LiA5Liq5o+Q5LqkIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ1MworIzogYnVpbHRpbi9icmFuY2guYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiWyVzOiBnb25lXSIKK21zZ3N0ciAiWyVzOiDkuKLlpLFdIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJbJXNdIgorbXNnc3RyICJbJXNdIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCiBtc2dzdHIgIlslc++8muiQveWQjiAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU1CisjOiBidWlsdGluL2JyYW5jaC5jOjQ2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJbYmVoaW5kICVkXSIKIG1zZ3N0ciAiW+iQveWQjiAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU5CisjOiBidWlsdGluL2JyYW5jaC5jOjQ3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGFoZWFkICVkXSIKIG1zZ3N0ciAiWyVz77ya6aKG5YWIICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlthaGVhZCAlZF0iCiBtc2dzdHIgIlvpooblhYggJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ2NAorIzogYnVpbHRpbi9icmFuY2guYzo0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBhaGVhZCAlZCwgYmVoaW5kICVkXSIKIG1zZ3N0ciAiWyVz77ya6aKG5YWIICVk77yM6JC95ZCOICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NjcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlthaGVhZCAlZCwgYmVoaW5kICVkXSIKIG1zZ3N0ciAiW+mihuWFiCAlZO+8jOiQveWQjiAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDkwCisjOiBidWlsdGluL2JyYW5jaC5jOjUwMgogbXNnaWQgIiAqKioqIGludmFsaWQgcmVmICoqKioiCiBtc2dzdHIgIiAqKioqIOaXoOaViOW8leeUqCAqKioqIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4MgorIzogYnVpbHRpbi9icmFuY2guYzo1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgogbXNnc3RyICLvvIjpnZ7liIbmlK/vvIzmraPlj5jln7ogJXPvvIkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg1CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCiBtc2dzdHIgIu+8iOmdnuWIhuaUr++8jOS6jOWIhuafpeaJvuW8gOWni+S6jiAlc++8iSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIihkZXRhY2hlZCBmcm9tICVzKSIKIG1zZ3N0ciAi77yI5YiG56a76IeqICVz77yJIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5MQorIzogYnVpbHRpbi9icmFuY2guYzo2MDMKIG1zZ2lkICIobm8gYnJhbmNoKSIKIG1zZ3N0ciAi77yI6Z2e5YiG5pSv77yJIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzNworIzogYnVpbHRpbi9icmFuY2guYzo2NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgIuWvueixoSAnJXMnIOayoeacieaMh+WQkeS4gOS4quaPkOS6pCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjgxCiBtc2dpZCAic29tZSByZWZzIGNvdWxkIG5vdCBiZSByZWFkIgogbXNnc3RyICLkuIDkupvlvJXnlKjkuI3og73or7vlj5YiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjgyCisjOiBidWlsdGluL2JyYW5jaC5jOjY5NAogbXNnaWQgImNhbm5vdCByZW5hbWUgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgogbXNnc3RyICLml6Dms5Xph43lkb3lkI3lvZPliY3liIbmlK/lm6DkuLrkuI3lpITkuo7ku7vkvZXliIbmlK/kuIrjgIIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjkyCisjOiBidWlsdGluL2JyYW5jaC5jOjcwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGJyYW5jaCBuYW1lOiAnJXMnIgogbXNnc3RyICLml6DmlYjnmoTliIbmlK/lkI3vvJonJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcwNworIzogYnVpbHRpbi9icmFuY2guYzo3MTkKIG1zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKIG1zZ3N0ciAi5YiG5pSv6YeN5ZG95ZCN5aSx6LSlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcxMQorIzogYnVpbHRpbi9icmFuY2guYzo3MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1lZCBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIGF3YXkiCiBtc2dzdHIgIumHjeWRveWQjeaOieS4gOS4qumUmeivr+WRveWQjeeahOaXp+WIhuaUryAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcxNQorIzogYnVpbHRpbi9icmFuY2guYzo3MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoIHJlbmFtZWQgdG8gJXMsIGJ1dCBIRUFEIGlzIG5vdCB1cGRhdGVkISIKIG1zZ3N0ciAi5YiG5pSv6YeN5ZG95ZCN5Li6ICVz77yM5L2GIEhFQUQg5rKh5pyJ5pu05paw77yBIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcyMgorIzogYnVpbHRpbi9icmFuY2guYzo3MzQKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIuWIhuaUr+iiq+mHjeWRveWQje+8jOS9huabtOaWsCBjb25maWcg5paH5Lu25aSx6LSlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjczNworIzogYnVpbHRpbi9icmFuY2guYzo3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICLpnZ7ms5XnmoTlr7nosaHlkI0gJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzYxCisjOiBidWlsdGluL2JyYW5jaC5jOjc3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgYnJhbmNoIGRlc2NyaXB0aW9uIHRlbXBsYXRlOiAlcyIKIG1zZ3N0ciAi5LiN6IO95YaZ5YiG5pSv5o+P6L+w5qih54mI77yaJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkxCisjOiBidWlsdGluL2JyYW5jaC5jOjgwMwogbXNnaWQgIkdlbmVyaWMgb3B0aW9ucyIKIG1zZ3N0ciAi6YCa55So6YCJ6aG5IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5MworIzogYnVpbHRpbi9icmFuY2guYzo4MDUKIG1zZ2lkICJzaG93IGhhc2ggYW5kIHN1YmplY3QsIGdpdmUgdHdpY2UgZm9yIHVwc3RyZWFtIGJyYW5jaCIKIG1zZ3N0ciAi5pi+56S65ZOI5biM5YC85ZKM5Li76aKY77yM6Iul5Y+C5pWw5Ye6546w5Lik5qyh5YiZ5pi+56S65LiK5ri45YiG5pSvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NAorIzogYnVpbHRpbi9icmFuY2guYzo4MDYKIG1zZ2lkICJzdXBwcmVzcyBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzIgogbXNnc3RyICLkuI3mmL7npLrkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk1CisjOiBidWlsdGluL2JyYW5jaC5jOjgwNwogbXNnaWQgInNldCB1cCB0cmFja2luZyBtb2RlIChzZWUgZ2l0LXB1bGwoMSkpIgogbXNnc3RyICLorr7nva7ot5/ouKrmqKHlvI/vvIjlj4Lop4EgZ2l0LXB1bGwoMSnvvIkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk3CisjOiBidWlsdGluL2JyYW5jaC5jOjgwOQogbXNnaWQgImNoYW5nZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICLmlLnlj5jkuIrmuLjkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAxCisjOiBidWlsdGluL2JyYW5jaC5jOjgxMwogbXNnaWQgInVzZSBjb2xvcmVkIG91dHB1dCIKIG1zZ3N0ciAi5L2/55So5b2p6Imy6L6T5Ye6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwMgorIzogYnVpbHRpbi9icmFuY2guYzo4MTQKIG1zZ2lkICJhY3Qgb24gcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICLkvZznlKjkuo7ov5znqIvot5/ouKrliIbmlK8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA1IGJ1aWx0aW4vYnJhbmNoLmM6ODExIGJ1aWx0aW4vYnJhbmNoLmM6ODMyCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzOCBidWlsdGluL2NvbW1pdC5jOjE0MzMgYnVpbHRpbi9jb21taXQuYzoxNDM0Ci0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzUgYnVpbHRpbi9jb21taXQuYzoxNDM2IGJ1aWx0aW4vdGFnLmM6NDY4CisjOiBidWlsdGluL2JyYW5jaC5jOjgxNyBidWlsdGluL2JyYW5jaC5jOjgyMyBidWlsdGluL2JyYW5jaC5jOjg0NAorIzogYnVpbHRpbi9icmFuY2guYzo4NTAgYnVpbHRpbi9jb21taXQuYzoxNDYwIGJ1aWx0aW4vY29tbWl0LmM6MTQ2MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDYyIGJ1aWx0aW4vY29tbWl0LmM6MTQ2MyBidWlsdGluL3RhZy5jOjQ2OAogbXNnaWQgImNvbW1pdCIKIG1zZ3N0ciAi5o+Q5LqkIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwNiBidWlsdGluL2JyYW5jaC5jOjgxMgorIzogYnVpbHRpbi9icmFuY2guYzo4MTggYnVpbHRpbi9icmFuY2guYzo4MjQKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICLlj6rmiZPljbDljIXlkKvor6Xmj5DkuqTnmoTliIbmlK8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE4CisjOiBidWlsdGluL2JyYW5jaC5jOjgzMAogbXNnaWQgIlNwZWNpZmljIGdpdC1icmFuY2ggYWN0aW9uczoiCiBtc2dzdHIgIuWFt+S9k+eahCBnaXQtYnJhbmNoIOWKqOS9nO+8miIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMxCiBtc2dpZCAibGlzdCBib3RoIHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgIuWIl+WHuui/nOeoi+i3n+i4quWPiuacrOWcsOWIhuaUryIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMzCiBtc2dpZCAiZGVsZXRlIGZ1bGx5IG1lcmdlZCBicmFuY2giCiBtc2dzdHIgIuWIoOmZpOWujOWFqOWQiOW5tueahOWIhuaUryIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM0CiBtc2dpZCAiZGVsZXRlIGJyYW5jaCAoZXZlbiBpZiBub3QgbWVyZ2VkKSIKIG1zZ3N0ciAi5Yig6Zmk5YiG5pSv77yI5Y2z5L2/5rKh5pyJ5ZCI5bm277yJIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyMworIzogYnVpbHRpbi9icmFuY2guYzo4MzUKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKIG1zZ3N0ciAi56e75YqoL+mHjeWRveWQjeS4gOS4quWIhuaUr++8jOS7peWPiuWug+eahOW8leeUqOaXpeW/lyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM2CiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAi56e75YqoL+mHjeWRveWQjeS4gOS4quWIhuaUr++8jOWNs+S9v+ebruagh+W3suWtmOWcqCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM3CiBtc2dpZCAibGlzdCBicmFuY2ggbmFtZXMiCiBtc2dzdHIgIuWIl+WHuuWIhuaUr+WQjSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM4CiBtc2dpZCAiY3JlYXRlIHRoZSBicmFuY2gncyByZWZsb2ciCiBtc2dzdHIgIuWIm+W7uuWIhuaUr+eahOW8leeUqOaXpeW/lyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQwCiBtc2dpZCAiZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2giCiBtc2dzdHIgIuagh+iusOWIhuaUr+eahOaPj+i/sCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQxCiBtc2dpZCAiZm9yY2UgY3JlYXRpb24gKHdoZW4gYWxyZWFkeSBleGlzdHMpIgogbXNnc3RyICLlvLrliLbliJvlu7rvvIjlvZPlt7Lnu4/lrZjlnKjvvIkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMyCisjOiBidWlsdGluL2JyYW5jaC5jOjg0NAogbXNnaWQgInByaW50IG9ubHkgbm90IG1lcmdlZCBicmFuY2hlcyIKIG1zZ3N0ciAi5Y+q5omT5Y2w5rKh5pyJ5ZCI5bm255qE5YiG5pSvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzOAorIzogYnVpbHRpbi9icmFuY2guYzo4NTAKIG1zZ2lkICJwcmludCBvbmx5IG1lcmdlZCBicmFuY2hlcyIKIG1zZ3N0ciAi5Y+q5omT5Y2w5ZCI5bm255qE5YiG5pSvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg0MgorIzogYnVpbHRpbi9icmFuY2guYzo4NTQKIG1zZ2lkICJsaXN0IGJyYW5jaGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgIuS7peWIl+eahOaWueW8j+aYvuekuuWIhuaUryIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODY3CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIuaXoOazleWwhiBIRUFEIOino+aekOS4uuacieaViOW8leeUqOOAgiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NjAgYnVpbHRpbi9jbG9uZS5jOjYzMAorIzogYnVpbHRpbi9icmFuY2guYzo4NzIgYnVpbHRpbi9jbG9uZS5jOjYzNQogbXNnaWQgIkhFQUQgbm90IGZvdW5kIGJlbG93IHJlZnMvaGVhZHMhIgogbXNnc3RyICJIRUFEIOayoeacieS9jeS6jiAvcmVmcy9oZWFkcyDkuYvkuIvvvIEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODgzCisjOiBidWlsdGluL2JyYW5jaC5jOjg5NgogbXNnaWQgIi0tY29sdW1uIGFuZCAtLXZlcmJvc2UgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4g5ZKMIC0tdmVyYm9zZSDkuI3lhbzlrrkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODg5IGJ1aWx0aW4vYnJhbmNoLmM6OTI4CisjOiBidWlsdGluL2JyYW5jaC5jOjkwMiBidWlsdGluL2JyYW5jaC5jOjk0MQogbXNnaWQgImJyYW5jaCBuYW1lIHJlcXVpcmVkIgogbXNnc3RyICLlv4Xpobvmj5DkvpvliIbmlK/lkI0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTA0CisjOiBidWlsdGluL2JyYW5jaC5jOjkxNwogbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIuS4jeiDveWQkeWIhuemu+WktOaMh+mSiOaPkOS+m+aPj+i/sCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTIyCiBtc2dpZCAiY2Fubm90IGVkaXQgZGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBicmFuY2giCiBtc2dzdHIgIuS4jeiDveS4uuS4gOS4quS7peS4iueahOWIhuaUr+e8lui+keaPj+i/sCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MTYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGNvbW1pdCBvbiBicmFuY2ggJyVzJyB5ZXQuIgogbXNnc3RyICLliIbmlK8gJyVzJyDlsJrml6Dmj5DkuqTjgIIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTE5CisjOiBidWlsdGluL2JyYW5jaC5jOjkzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBicmFuY2ggbmFtZWQgJyVzJy4iCiBtc2dzdHIgIuayoeacieWIhuaUryAnJXMn44CCIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkzNAorIzogYnVpbHRpbi9icmFuY2guYzo5NDcKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyBmb3IgYSByZW5hbWUgb3BlcmF0aW9uIgogbXNnc3RyICLkuLrph43lkb3lkI3mk43kvZzmj5DkvpvkuoblpKrlpJrnmoTliIbmlK/lkI0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTM5CisjOiBidWlsdGluL2JyYW5jaC5jOjk1MgogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHNldCBuZXcgdXBzdHJlYW0iCiBtc2dzdHIgIuS4uuiuvue9ruaWsOS4iua4uOaPkOS+m+S6huWkquWkmueahOWIhuaUr+WQjSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjb3VsZCBub3Qgc2V0IHVwc3RyZWFtIG9mIEhFQUQgdG8gJXMgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAi5peg5rOV6K6+572uIEhFQUQg55qE5LiK5ri45Li6ICVz77yM5Zug5Li6IEhFQUQg5rKh5pyJ5oyH5ZCR5Lu75L2V5YiG5pSv44CCIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk0NiBidWlsdGluL2JyYW5jaC5jOjk2OCBidWlsdGluL2JyYW5jaC5jOjk5MAorIzogYnVpbHRpbi9icmFuY2guYzo5NTkgYnVpbHRpbi9icmFuY2guYzo5ODEgYnVpbHRpbi9icmFuY2guYzoxMDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoICclcyciCiBtc2dzdHIgIuayoeacieatpOWIhuaUryAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk1MAorIzogYnVpbHRpbi9icmFuY2guYzo5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIuWIhuaUryAnJXMnIOS4jeWtmOWcqCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTc1CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gdW5zZXQgdXBzdHJlYW0iCiBtc2dzdHIgIuS4uuWPlua2iOS4iua4uOiuvue9ruaTjeS9nOaPkOS+m+S6huWkquWkmueahOWIhuaUr+WQjSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTc5CiBtc2dpZCAiY291bGQgbm90IHVuc2V0IHVwc3RyZWFtIG9mIEhFQUQgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAi5peg5rOV5Y+W5raIIEhFQUQg55qE5LiK5ri46K6+572u5Zug5Li65a6D5rKh5pyJ5oyH5ZCR5LiA5Liq5YiG5pSvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk3MgorIzogYnVpbHRpbi9icmFuY2guYzo5ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgaGFzIG5vIHVwc3RyZWFtIGluZm9ybWF0aW9uIgogbXNnc3RyICLliIbmlK8gJyVzJyDmsqHmnInkuIrmuLjkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTg3CisjOiBidWlsdGluL2JyYW5jaC5jOjk5OQogbXNnaWQgIml0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gY3JlYXRlICdIRUFEJyBtYW51YWxseSIKIG1zZ3N0ciAi5omL5bel5Yib5bu6ICdIRUFEJyDmsqHmnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTkzCisjOiBidWlsdGluL2JyYW5jaC5jOjEwMDUKIG1zZ2lkICItYSBhbmQgLXIgb3B0aW9ucyB0byAnZ2l0IGJyYW5jaCcgZG8gbm90IG1ha2Ugc2Vuc2Ugd2l0aCBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICInZ2l0IGJyYW5jaCcg55qEIC1hIOWSjCAtciDpgInpobnluKbkuIDkuKrliIbmlK/lkI3lj4LmlbDmsqHmnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTk2CisjOiBidWlsdGluL2JyYW5jaC5jOjEwMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtLXNldC11cHN0cmVhbSBmbGFnIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gQ29uc2lkZXIgdXNpbmcgLS0iCkBAIC0yOTI1LDcgKzMxMTksNyBAQAogbXNnc3RyICIiCiAi6YCJ6aG5IC0tc2V0LXVwc3RyZWFtIOW3suW8g+eUqOW5tuWwhuiiq+enu+mZpOOAguiAg+iZkeS9v+eUqCAtLXRyYWNrIOaIliAtLXNldC11cHN0cmVhbS10b1xuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjEwMTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0yOTM2LDEyICszMTMwLDEyIEBACiAi5aaC5p6c5L2g5oOz55SoICclcycg6Lef6LiqICclcycsIOi/meS5iOWBmu+8mlxuIgogIlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjEwMTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgZ2l0IGJyYW5jaCAtZCAlc1xuIgogbXNnc3RyICIgICAgZ2l0IGJyYW5jaCAtZCAlc1xuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjEwMTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byAlc1xuIgogbXNnc3RyICIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byAlc1xuIgpAQCAtMjk1OSw0MyArMzE1Myw0MyBAQAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAi6ZyA6KaB5LiA5Liq54mI5pys5bqT5p2l6Kej5YyF44CCIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6Mjg1CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzI4CiBtc2dpZCAiZ2l0IGNhdC1maWxlICgtdHwtc3wtZXwtcHw8dHlwZT58LS10ZXh0Y29udikgPG9iamVjdD4iCiBtc2dzdHIgImdpdCBjYXQtZmlsZSAoLXR8LXN8LWV8LXB8POexu+Weiz58LS10ZXh0Y29udikgPOWvueixoT4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzoyODYKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjkKIG1zZ2lkICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2h8LS1iYXRjaC1jaGVjaykgPCA8bGlzdF9vZl9vYmplY3RzPiIKIG1zZ3N0ciAiZ2l0IGNhdC1maWxlICgtLWJhdGNofC0tYmF0Y2gtY2hlY2spIDwgPOWvueixoeWIl+ihqD4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNjYKIG1zZ2lkICI8dHlwZT4gY2FuIGJlIG9uZSBvZjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiBtc2dzdHIgIjznsbvlnos+IOWPr+S7peaYr+WFtuS4reS5i+S4gO+8mmJsb2LjgIF0cmVl44CBY29tbWl044CBdGFnIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzI0CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzY3CiBtc2dpZCAic2hvdyBvYmplY3QgdHlwZSIKIG1zZ3N0ciAi5pi+56S65a+56LGh57G75Z6LIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzI1CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzY4CiBtc2dpZCAic2hvdyBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAi5pi+56S65a+56LGh5aSn5bCPIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzI3CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzcwCiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICLlvZPmsqHmnInplJnor6/ml7bpgIDlh7rlubbov5Tlm57pm7YiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNzEKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAi576O6KeC5Zyw5omT5Y2w5a+56LGh55qE5YaF5a65IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzMwCisjOiBidWlsdGluL2NhdC1maWxlLmM6MzczCiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgIuWvueS6juaVsOaNru+8iGJsb2LvvInlr7nosaHvvIzlr7nlhbblhoXlrrnmiafooYwgdGV4dGNvbnYiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMzIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNzUKIG1zZ2lkICJzaG93IGluZm8gYW5kIGNvbnRlbnQgb2Ygb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIuaYvuekuuS7juagh+WHhui+k+WFpeaPkOS+m+eahOWvueixoeeahOS/oeaBr+WSjOWGheWuuSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMzNQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM3OAogbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi5pi+56S65LuO5qCH5YeG6L6T5YWl5o+Q5L6b55qE5a+56LGh55qE5L+h5oGvIgogCkBAIC0zMDIwLDEwICszMjE0LDEwIEBACiBtc2dzdHIgIuS7juagh+WHhui+k+WFpeivu+WHuuaWh+S7tuWQjSIKIAogIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNAotbXNnaWQgImlucHV0IHBhdGhzIGFyZSB0ZXJtaW5hdGVkIGJ5IGEgbnVsbCBjaGFyYWN0ZXIiCi1tc2dzdHIgIui+k+WFpei3r+W+hOS7pW51bGzlrZfnrKbnu4jmraIiCittc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgIui+k+WFpeWSjOi+k+WHuueahOiusOW9leS9v+eUqCBOVUwg5a2X56ym57uI57uTIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU0IGJ1aWx0aW4vZ2MuYzoxNzcKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjEwOTAgYnVpbHRpbi9nYy5jOjI2MAogbXNnaWQgInN1cHByZXNzIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAi5LiN5pi+56S66L+b5bqm5oql5ZGKIgogCkBAIC0zMDMxLDI3ICszMjI1LDMxIEBACiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCiBtc2dzdHIgIuaYvuekuuacquWMuemFjeeahOi+k+WFpei3r+W+hCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNDMKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjgKK21zZ2lkICJpZ25vcmUgaW5kZXggd2hlbiBjaGVja2luZyIKK21zZ3N0ciAi5qOA5p+l5pe25b+955Wl57Si5byVIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NAogbXNnaWQgImNhbm5vdCBzcGVjaWZ5IHBhdGhuYW1lcyB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIuS4jeiDveWQjOaXtuaPkOS+m+i3r+W+hOWPiiAtLXN0ZGluIOWPguaVsCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNDYKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU3CiBtc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIi16IOmcgOimgeWSjCAtLXN0ZGluIOWPguaVsOWFseeUqOaJjeacieaEj+S5iSIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNDgKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU5CiBtc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCiBtc2dzdHIgIuacquaMh+Wumui3r+W+hCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTIKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYzCiBtc2dpZCAiLS1xdWlldCBpcyBvbmx5IHZhbGlkIHdpdGggYSBzaW5nbGUgcGF0aG5hbWUiCiBtc2dzdHIgIuWPguaVsCAtLXF1aWV0IOWPquWcqOaPkOS+m+S4gOS4qui3r+W+hOWQjeaXtuacieaViCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTQKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY1CiBtc2dpZCAiY2Fubm90IGhhdmUgYm90aCAtLXF1aWV0IGFuZCAtLXZlcmJvc2UiCiBtc2dzdHIgIuS4jeiDveWQjOaXtuaPkOS+myAtLXF1aWV0IOWSjCAtLXZlcmJvc2Ug5Y+C5pWwIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjgKIG1zZ2lkICItLW5vbi1tYXRjaGluZyBpcyBvbmx5IHZhbGlkIHdpdGggLS12ZXJib3NlIgogbXNnc3RyICItLW5vbi1tYXRjaGluZyDpgInpobnlj6rlnKjkvb/nlKggLS12ZXJib3NlIOaXtuacieaViCIKIApAQCAtMzEyNCwxMDcgKzMzMjIsMTA3IEBACiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFtvcHRpb25zXSBbPGJyYW5jaD5dIC0tIDxmaWxlPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0IFvpgInpobldIFs85YiG5pSvPl0gLS0gPOaWh+S7tj4uLi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTcgYnVpbHRpbi9jaGVja291dC5jOjE1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNCBidWlsdGluL2NoZWNrb3V0LmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG91ciB2ZXJzaW9uIgogbXNnc3RyICLot6/lvoQgJyVzJyDmsqHmnInmiJHku6znmoTniYjmnKwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTkgYnVpbHRpbi9jaGVja291dC5jOjE1MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNiBidWlsdGluL2NoZWNrb3V0LmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIHRoZWlyIHZlcnNpb24iCiBtc2dzdHIgIui3r+W+hCAnJXMnIOayoeacieS7luS7rOeahOeJiOacrCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNQorIzogYnVpbHRpbi9jaGVja291dC5jOjEzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBhbGwgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICLot6/lvoQgJyVzJyDmsqHmnInlhajpg6jlv4XpobvnmoTniYjmnKwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICLot6/lvoQgJyVzJyDmsqHmnInlv4XpobvnmoTniYjmnKwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxOTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnOiBjYW5ub3QgbWVyZ2UiCiBtc2dzdHIgInBhdGggJyVzJ++8muaXoOazleWQiOW5tiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIxMworIzogYnVpbHRpbi9jaGVja291dC5jOjIxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5Li6ICclcycg5re75Yqg5ZCI5bm257uT5p6cIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjM3IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDAgYnVpbHRpbi9jaGVja291dC5jOjI0MwotIzogYnVpbHRpbi9jaGVja291dC5jOjI0NgorIzogYnVpbHRpbi9jaGVja291dC5jOjIzMiBidWlsdGluL2NoZWNrb3V0LmM6MjM1IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHVwZGF0aW5nIHBhdGhzIgogbXNnc3RyICInJXMnIOS4jeiDveWcqOabtOaWsOi3r+W+hOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI0OSBidWlsdGluL2NoZWNrb3V0LmM6MjUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjQ0IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICInJXMnIOS4jeiDveWSjCAlcyDlkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuIgogbXNnc3RyICLkuI3og73lkIzml7bmm7TmlrDot6/lvoTlubbliIfmjaLliLDliIbmlK8nJXMn44CCIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY2IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjEgYnVpbHRpbi9jaGVja291dC5jOjQ1MQogbXNnaWQgImNvcnJ1cHQgaW5kZXggZmlsZSIKIG1zZ3N0ciAi5o2f5Z2P55qE57Si5byV5paH5Lu2IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MzI5IGJ1aWx0aW4vY2hlY2tvdXQuYzozMzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMjIgYnVpbHRpbi9jaGVja291dC5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgIui3r+W+hCAnJXMnIOacquWQiOW5tiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjQ4MAorIzogYnVpbHRpbi9jaGVja291dC5jOjQ3MwogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICLmgqjpnIDopoHlhYjop6PlhrPlvZPliY3ntKLlvJXnmoTlhrLnqoEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MDEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2FuIG5vdCBkbyByZWZsb2cgZm9yICclcydcbiIKIG1zZ3N0ciAi5LiN6IO95a+5ICclcycg5omn6KGMIHJlZmxvZyDmk43kvZxcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYzOQorIzogYnVpbHRpbi9jaGVja291dC5jOjYzMgogbXNnaWQgIkhFQUQgaXMgbm93IGF0IgogbXNnc3RyICJIRUFEIOebruWJjeS9jeS6jiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY0NgorIzogYnVpbHRpbi9jaGVja291dC5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLph43nva7liIbmlK8gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICLlt7Lnu4/kvY3kuo4gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjUzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLliIfmjaLlubbph43nva7liIbmlK8gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjU1IGJ1aWx0aW4vY2hlY2tvdXQuYzo5OTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDggYnVpbHRpbi9jaGVja291dC5jOjEwMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAi5YiH5o2i5Yiw5LiA5Liq5paw5YiG5pSvICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY1NworIzogYnVpbHRpbi9jaGVja291dC5jOjY1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLliIfmjaLliLDliIbmlK8gJyVzJ1xuIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIC4uLiDlj4rlhbblroMgJWQg5Liq44CCXG4iCiAKICMuIFRoZSBzaW5ndWxhciB2ZXJzaW9uCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzE5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtMzI0NSw3ICszNDQzLDcgQEAKICJcbiIKICIlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIHRoZW0gYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgpAQCAtMzI2MCwxMzYgKzM0NTgsMTQwIEBACiAiIGdpdCBicmFuY2ggbmV3X2JyYW5jaF9uYW1lICVzXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjAKIG1zZ2lkICJpbnRlcm5hbCBlcnJvciBpbiByZXZpc2lvbiB3YWxrIgogbXNnc3RyICLlnKjniYjmnKzpgY3ljobml7bpgYfliLDlhoXpg6jplJnor68iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjQKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAi5LmL5YmN55qEIEhFQUQg5L2N572u5pivIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk4IGJ1aWx0aW4vY2hlY2tvdXQuYzo5OTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTEgYnVpbHRpbi9jaGVja291dC5jOjEwMjgKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICLmgqjkvY3kuo7kuIDkuKrlsJrmnKrliJ3lp4vljJbnmoTliIbmlK8iCiAKLSMuIGNhc2UgKDEpCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTI4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgorbXNnc3RyICLlj6ropoHkuIDkuKrlvJXnlKjvvIzljbTnu5nlh7rkuoYgJWQg5LiqIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAi5peg5pWI5byV55So77yaJXMiCiAKICMuIGNhc2UgKDEpOiB3YW50IGEgdHJlZQotIzogYnVpbHRpbi9jaGVja291dC5jOjk2NworIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICLlvJXnlKjkuI3mmK/kuIDkuKrmoJHvvJolcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQyCiBtc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIui3r+W+hOS4jeiDveWSjOWIh+aNouWIhuaUr+WQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDkgYnVpbHRpbi9jaGVja291dC5jOjEwMTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQ1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIiclcycg5LiN6IO95ZKM5YiH5o2i5YiG5pSv5ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxNyBidWlsdGluL2NoZWNrb3V0LmM6MTAyMCBidWlsdGluL2NoZWNrb3V0LmM6MTAyNQotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJyVzJyIKIG1zZ3N0ciAiJyVzJyDkuI3og73lkowgJyVzJyDlkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDMzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3dpdGNoIGJyYW5jaCB0byBhIG5vbi1jb21taXQgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95YiH5o2i5YiG5pSv5Yiw5LiA5Liq6Z2e5o+Q5LqkICclcyciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU3IGJ1aWx0aW4vY2xvbmUuYzo4OQotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjkgYnVpbHRpbi9yZW1vdGUuYzoxNzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkzIGJ1aWx0aW4vY2xvbmUuYzo4OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkgYnVpbHRpbi9yZW1vdGUuYzoxNjEKIG1zZ2lkICJicmFuY2giCiBtc2dzdHIgIuWIhuaUryIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkyCiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgIuWIm+W7uuW5tuajgOWHuuS4gOS4quaWsOeahOWIhuaUryIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk0CiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAi5Yib5bu6L+mHjee9ruW5tuajgOWHuuS4gOS4quWIhuaUryIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1CiBtc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi5Li65paw55qE5YiG5pSv5Yib5bu65byV55So5pel5b+XIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTYKIG1zZ2lkICJkZXRhY2ggdGhlIEhFQUQgYXQgbmFtZWQgY29tbWl0IgogbXNnc3RyICLmiJDkuLrmjIflkJHor6Xmj5DkuqTnmoTliIbnprvlpLTmjIfpkogiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NwogbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICLkuLrmlrDnmoTliIbmlK/orr7nva7kuIrmuLjkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5OQogbXNnaWQgIm5ldyBicmFuY2giCiBtc2dzdHIgIuaWsOWIhuaUryIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk5CiBtc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgogbXNnc3RyICLmlrDnmoTmsqHmnInniLbmj5DkuqTnmoTliIbmlK8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwMAogbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAi5a+55bCa5pyq5ZCI5bm255qE5paH5Lu25qOA5Ye65oiR5Lus55qE54mI5pysIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDIKIG1zZ2lkICJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAi5a+55bCa5pyq5ZCI5bm255qE5paH5Lu25qOA5Ye65LuW5Lus55qE54mI5pysIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDQKIG1zZ2lkICJmb3JjZSBjaGVja291dCAodGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zKSIKIG1zZ3N0ciAi5by65Yi25qOA5Ye677yI5Lii5byD5pys5Zyw5L+u5pS577yJIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDUKIG1zZ2lkICJwZXJmb3JtIGEgMy13YXkgbWVyZ2Ugd2l0aCB0aGUgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi5ZKM5paw55qE5YiG5pSv5omn6KGM5LiJ6Lev5ZCI5bm2IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3MCBidWlsdGluL21lcmdlLmM6MjMyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNiBidWlsdGluL21lcmdlLmM6MjI1CiBtc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgogbXNnc3RyICLmm7TmlrDlv73nlaXnmoTmlofku7bvvIjpu5jorqTvvIkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDcxIGJ1aWx0aW4vbG9nLmM6MTIwOCBwYXJzZS1vcHRpb25zLmg6MjQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNyBidWlsdGluL2xvZy5jOjEyMjggcGFyc2Utb3B0aW9ucy5oOjI0OAogbXNnaWQgInN0eWxlIgogbXNnc3RyICLpo47moLwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDcyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwOAogbXNnaWQgImNvbmZsaWN0IHN0eWxlIChtZXJnZSBvciBkaWZmMykiCiBtc2dzdHIgIuWGsueqgei+k+WHuumjjuagvO+8iG1lcmdlIOaIliBkaWZmM++8iSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTExCiBtc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgogbXNnc3RyICLlr7not6/lvoTkuI3lgZrnqIDnlo/mo4Dlh7rnmoTpmZDliLYiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTExMwogbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IG5vLXN1Y2gtYnJhbmNoJyIKIG1zZ3N0ciAi5YaN6ICF54yc5rWLJ2dpdCBjaGVja291dCBuby1zdWNoLWJyYW5jaCciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNgogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLWLjgIEtQiDlkowgLS1vcnBoYW4g5piv5LqS5pal55qEIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTExOAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIi0tdHJhY2sg6ZyA6KaB5LiA5Liq5YiG5pSv5ZCNIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEyNQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKIG1zZ2lkICJNaXNzaW5nIGJyYW5jaCBuYW1lOyB0cnkgLWIiCiBtc2dzdHIgIue8uuWwkeWIhuaUr+WQje+8m+WwneivlSAtYiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk3CiBtc2dpZCAiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIuaXoOaViOeahOi3r+W+hOinhOagvCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS5cbiIKQEAgLTMzOTgsNTAgKzM2MDAsNTAgQEAKICLkuI3og73lkIzml7bmm7TmlrDot6/lvoTlubbliIfmjaLliLDliIbmlK8nJXMn44CCXG4iCiAi5oKo5piv5oOz6KaB5qOA5Ye6ICclcycg5L2G5YW25pyq6IO96Kej5p6Q5Li65o+Q5Lqk5LmI77yfIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3MgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBkb2VzIG5vdCB0YWtlIGEgcGF0aCBhcmd1bWVudCAnJXMnIgogbXNnc3RyICJnaXQgY2hlY2tvdXTvvJotLWRldGFjaCDkuI3og73mjqXmlLbot6/lvoTlj4LmlbAgJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjEzCiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgogbXNnc3RyICIiCiAiZ2l0IGNoZWNrb3V077ya5Zyo5LuO57Si5byV5qOA5Ye65pe277yMLS1vdXJzLy0tdGhlaXJz44CBLS1mb3JjZSDlkowgLS1tZXJnZSDkuI3lhbzlrrnjgIIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyNQorIzogYnVpbHRpbi9jbGVhbi5jOjI2CiBtc2dpZCAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxwYXR0ZXJuPl0gWy14IHwgLVhdIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDzmqKHlvI8+XSBbLXggfCAtWF0gWy0tXSA86Lev5b6EPi4uLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5CisjOiBidWlsdGluL2NsZWFuLmM6MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXNcbiIKIG1zZ3N0ciAi5q2j5Yig6ZmkICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMAorIzogYnVpbHRpbi9jbGVhbi5jOjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHJlbW92ZSAlc1xuIgogbXNnc3RyICLlsIbliKDpmaQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICLlv73nlaXniYjmnKzlupMgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMyCisjOiBidWlsdGluL2NsZWFuLmM6MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgc2tpcCByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIuWwhuW/veeVpeeJiOacrOW6kyAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzMKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICVzIgogbXNnc3RyICLml6Dms5XliKDpmaQgJXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTMKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyOTQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCiAiMSAgICAgICAgICAtIHNlbGVjdCBhIG51bWJlcmVkIGl0ZW1cbiIKQEAgLTM0NTMsNyArMzY1NSw3IEBACiAiZm9vICAgICAgICAtIOmAmui/h+agh+mimOmAieaLqeS4gOS4qumAiemhuVxuIgogIiAgICAgICAgICAgLSDvvIjnqbrvvInku4DkuYjkuZ/kuI3pgInmi6kiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTcKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyOTgKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCiAiMSAgICAgICAgICAtIHNlbGVjdCBhIHNpbmdsZSBpdGVtXG4iCkBAIC0zNDczLDM1ICszNjc1LDM1IEBACiAiKiAgICAgICAgICAtIOmAieaLqeaJgOaciemAiemhuVxuIgogIiAgICAgICAgICAgLSDvvIjnqbrvvInnu5PmnZ/pgInmi6kiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo1MTUKKyM6IGJ1aWx0aW4vY2xlYW4uYzo1MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVoICglcyk/IgogbXNnc3RyICLll6/vvIglc++8ie+8nyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY1OAorIzogYnVpbHRpbi9jbGVhbi5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCiBtc2dzdHIgIui+k+WFpeaooeeJiOS7peaOkumZpOadoeebrj4+ICIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY5NQorIzogYnVpbHRpbi9jbGVhbi5jOjY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJXQVJOSU5HOiBDYW5ub3QgZmluZCBpdGVtcyBtYXRjaGVkIGJ5OiAlcyIKIG1zZ3N0ciAi6K2m5ZGK77ya5peg5rOV5om+5Yiw5ZKMICVzIOWMuemFjeeahOadoeebriIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjcxNgorIzogYnVpbHRpbi9jbGVhbi5jOjcxNwogbXNnaWQgIlNlbGVjdCBpdGVtcyB0byBkZWxldGUiCiBtc2dzdHIgIumAieaLqeimgeWIoOmZpOeahOadoeebriIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjc1NgorIzogYnVpbHRpbi9jbGVhbi5jOjc1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdmUgJXM/ICIKIG1zZ3N0ciAi5Yig6ZmkICVz77yfIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzgxCisjOiBidWlsdGluL2NsZWFuLmM6NzgyCiBtc2dpZCAiQnllLiIKIG1zZ3N0ciAi5YaN6KeB44CCIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Nzg5CisjOiBidWlsdGluL2NsZWFuLmM6NzkwCiBtc2dpZCAiIgogImNsZWFuICAgICAgICAgICAgICAgLSBzdGFydCBjbGVhbmluZ1xuIgogImZpbHRlciBieSBwYXR0ZXJuICAgLSBleGNsdWRlIGl0ZW1zIGZyb20gZGVsZXRpb25cbiIKQEAgLTM1MTksMjEgKzM3MjEsMjEgQEAKICJoZWxwICAgICAgICAgICAgICAgIC0g5pi+56S65pys5biu5YqpXG4iCiAiPyAgICAgICAgICAgICAgICAgICAtIOaYvuekuuWmguS9leWcqOaPkOekuuespuS4i+mAieaLqeeahOW4ruWKqSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxNgorIzogYnVpbHRpbi9jbGVhbi5jOjgxNwogbXNnaWQgIioqKiBDb21tYW5kcyAqKioiCiBtc2dzdHIgIioqKiDlkb3ku6QgKioqIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODE3CisjOiBidWlsdGluL2NsZWFuLmM6ODE4CiBtc2dpZCAiV2hhdCBub3ciCiBtc2dzdHIgIuivt+mAieaLqSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgyNQorIzogYnVpbHRpbi9jbGVhbi5jOjgyNgogbXNnaWQgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW06IgogbXNnaWRfcGx1cmFsICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtczoiCiBtc2dzdHJbMF0gIuWwhuWIoOmZpOWmguS4i+adoeebru+8miIKIG1zZ3N0clsxXSAi5bCG5Yig6Zmk5aaC5LiL5p2h55uu77yaIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODQyCisjOiBidWlsdGluL2NsZWFuLmM6ODQzCiBtc2dpZCAiTm8gbW9yZSBmaWxlcyB0byBjbGVhbiwgZXhpdGluZy4iCiBtc2dzdHIgIuayoeacieimgea4heeQhueahOaWh+S7tu+8jOmAgOWHuuOAgiIKIApAQCAtMzU1Myw4ICszNzU1LDggQEAKIG1zZ2lkICJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIuWIoOmZpOaVtOS4quebruW9lSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg4MCBidWlsdGluL2Rlc2NyaWJlLmM6NDIwIGJ1aWx0aW4vZ3JlcC5jOjcxNgotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MyBidWlsdGluL25hbWUtcmV2LmM6MzE1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4ODAgYnVpbHRpbi9kZXNjcmliZS5jOjQyMCBidWlsdGluL2dyZXAuYzo3MTgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODMgYnVpbHRpbi9uYW1lLXJldi5jOjMxNCBidWlsdGluL3Nob3ctcmVmLmM6MTg1CiBtc2dpZCAicGF0dGVybiIKIG1zZ3N0ciAi5qih5byPIgogCkBAIC0zNTkyLDggKzM3OTQsOCBAQAogbXNnaWQgImdpdCBjbG9uZSBbb3B0aW9uc10gWy0tXSA8cmVwbz4gWzxkaXI+XSIKIG1zZ3N0ciAiZ2l0IGNsb25lIFvpgInpobldIFstLV0gPOeJiOacrOW6kz4gWzzot6/lvoQ+XSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY0IGJ1aWx0aW4vZmV0Y2guYzo4MiBidWlsdGluL21lcmdlLmM6MjI5Ci0jOiBidWlsdGluL3B1c2guYzo0NjIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NCBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9tZXJnZS5jOjIyMgorIzogYnVpbHRpbi9wdXNoLmM6NTIxCiBtc2dpZCAiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICLlvLrliLbmmL7npLrov5vluqbmiqXlkYoiCiAKQEAgLTM2MDUsMTIzICszODA3LDEzMyBAQAogbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi5Yib5bu65LiA5Liq6KO454mI5pys5bqTIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MQogbXNnaWQgImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIgogbXNnc3RyICLliJvlu7rkuIDkuKrplZzlg4/niYjmnKzlupPvvIjkuZ/mmK/oo7jniYjmnKzlupPvvIkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NAorIzogYnVpbHRpbi9jbG9uZS5jOjczCiBtc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuS7juacrOWcsOeJiOacrOW6k+WFi+mahiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2CisjOiBidWlsdGluL2Nsb25lLmM6NzUKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAi5LiN5L2/55So5pys5Zyw56Gs6ZO+5o6l77yM5aeL57uI5aSN5Yi2IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NwogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICLorr7nva7kuLrlhbHkuqvniYjmnKzlupMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MCBidWlsdGluL2Nsb25lLmM6ODIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3OSBidWlsdGluL2Nsb25lLmM6ODEKIG1zZ2lkICJpbml0aWFsaXplIHN1Ym1vZHVsZXMgaW4gdGhlIGNsb25lIgogbXNnc3RyICLlnKjlhYvpmobml7bliJ3lp4vljJblrZDmqKHnu4QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MyBidWlsdGluL2luaXQtZGIuYzo0ODUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MiBidWlsdGluL2luaXQtZGIuYzo0ODUKIG1zZ2lkICJ0ZW1wbGF0ZS1kaXJlY3RvcnkiCiBtc2dzdHIgIuaooeadv+ebruW9lSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgorIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgogbXNnaWQgImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiCiBtc2dzdHIgIuaooeadv+ebruW9leWwhuiiq+S9v+eUqCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2CisjOiBidWlsdGluL2Nsb25lLmM6ODUKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKLW1zZ3N0ciAi5byV55So54mI5pys5bqTIgorbXNnc3RyICLlj4LogIPniYjmnKzlupMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NyBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CisjOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAogbXNnaWQgIm5hbWUiCiBtc2dzdHIgIuWQjeensCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4CisjOiBidWlsdGluL2Nsb25lLmM6ODcKIG1zZ2lkICJ1c2UgPG5hbWU+IGluc3RlYWQgb2YgJ29yaWdpbicgdG8gdHJhY2sgdXBzdHJlYW0iCiBtc2dzdHIgIuS9v+eUqDzlkI3np7A+6ICM5LiN5pivICdvcmlnaW4nIOWOu+i3n+i4quS4iua4uCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkwCisjOiBidWlsdGluL2Nsb25lLmM6ODkKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBpbnN0ZWFkIG9mIHRoZSByZW1vdGUncyBIRUFEIgogbXNnc3RyICLmo4Dlh7o85YiG5pSvPuiAjOS4jeaYr+i/nOeoi0hFQUQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MgorIzogYnVpbHRpbi9jbG9uZS5jOjkxCiBtc2dpZCAicGF0aCB0byBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSIKIG1zZ3N0ciAi6L+c56iLIGdpdC11cGxvYWQtcGFjayDot6/lvoQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MyBidWlsdGluL2ZldGNoLmM6ODMgYnVpbHRpbi9ncmVwLmM6NjYxCisjOiBidWlsdGluL2Nsb25lLmM6OTIgYnVpbHRpbi9mZXRjaC5jOjk4IGJ1aWx0aW4vZ3JlcC5jOjY2MwogbXNnaWQgImRlcHRoIgogbXNnc3RyICLmt7HluqYiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NAorIzogYnVpbHRpbi9jbG9uZS5jOjkzCiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICLliJvlu7rkuIDkuKrmjIflrprmt7HluqbnmoTmtYXlhYvpmoYiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NgorIzogYnVpbHRpbi9jbG9uZS5jOjk1CiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICLlj6rlhYvpmobkuIDkuKrliIbmlK/jgIFIRUFEIOaIliAtLWJyYW5jaCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NAorIzogYnVpbHRpbi9jbG9uZS5jOjk2IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NAogbXNnaWQgImdpdGRpciIKIG1zZ3N0ciAiZ2l055uu5b2VIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTggYnVpbHRpbi9pbml0LWRiLmM6NDk1CisjOiBidWlsdGluL2Nsb25lLmM6OTcgYnVpbHRpbi9pbml0LWRiLmM6NDk1CiBtc2dpZCAic2VwYXJhdGUgZ2l0IGRpciBmcm9tIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiZ2l055uu5b2V5ZKM5bel5L2c5Yy65YiG56a7IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OAogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAia2V5PXZhbHVlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwCisjOiBidWlsdGluL2Nsb25lLmM6OTkKIG1zZ2lkICJzZXQgY29uZmlnIGluc2lkZSB0aGUgbmV3IHJlcG9zaXRvcnkiCiBtc2dzdHIgIuWcqOaWsOeJiOacrOW6k+S4reiuvue9rumFjee9ruS/oeaBryIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjI1MworIzogYnVpbHRpbi9jbG9uZS5jOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgotbXNnc3RyICLlvJXnlKjniYjmnKzlupMgJyVzJyDkuI3mmK/kuIDkuKrmnKzlnLDniYjmnKzlupPjgIIiCittc2dzdHIgIuWPguiAg+eJiOacrOW6kyAnJXMnIOS4jeaYr+S4gOS4quacrOWcsOeJiOacrOW6k+OAgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMxNgorIzogYnVpbHRpbi9jbG9uZS5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIHNoYWxsb3ciCittc2dzdHIgIuWPguiAg+eJiOacrOW6kyAnJXMnIOaYr+S4gOS4qua1heWFi+mahiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCittc2dzdHIgIuWPguiAg+eJiOacrOW6kyAnJXMnIOW3suiiq+WrgeaOpSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjMyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICLml6Dms5XliJvlu7rnm67lvZUgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMxOCBidWlsdGluL2RpZmYuYzo3NworIzogYnVpbHRpbi9jbG9uZS5jOjMyMyBidWlsdGluL2RpZmYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgogbXNnc3RyICLml6Dms5XmnprkuL4gJyVzJyDnirbmgIEiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzIOWtmOWcqOS4lOS4jeaYr+S4gOS4quebruW9lSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMzNAorIzogYnVpbHRpbi9jbG9uZS5jOjMzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgogbXNnc3RyICLml6Dms5XmnprkuL4gJXMg54q25oCBXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozNTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzozNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgIuaXoOazleWIm+W7uumTvuaOpSAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzYwCisjOiBidWlsdGluL2Nsb25lLmM6MzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IGZpbGUgdG8gJyVzJyIKIG1zZ3N0ciAi5peg5rOV5ou36LSd5paH5Lu26IezICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozODMKKyM6IGJ1aWx0aW4vY2xvbmUuYzozODggYnVpbHRpbi9jbG9uZS5jOjU2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJkb25lLlxuIgogbXNnc3RyICLlrozmiJDjgIJcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM5NgorIzogYnVpbHRpbi9jbG9uZS5jOjQwMQogbXNnaWQgIiIKICJDbG9uZSBzdWNjZWVkZWQsIGJ1dCBjaGVja291dCBmYWlsZWQuXG4iCiAiWW91IGNhbiBpbnNwZWN0IHdoYXQgd2FzIGNoZWNrZWQgb3V0IHdpdGggJ2dpdCBzdGF0dXMnXG4iCkBAIC0zNzMxLDEwNCArMzk0MywxMDggQEAKICLmgqjlj6/ku6XpgJrov4cgJ2dpdCBzdGF0dXMnIOajgOafpeWTquS6m+W3suiiq+ajgOWHuu+8jOeEtuWQjuS9v+eUqOWRveS7pFxuIgogIidnaXQgY2hlY2tvdXQgLWYgSEVBRCcg6YeN6K+VXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCiBtc2dzdHIgIuS4jeiDveWPkeeOsOimgeWFi+mahueahOi/nOeoi+WIhuaUryAlc+OAgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjU1NQorIzogYnVpbHRpbi9jbG9uZS5jOjU2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkuLi4gIgogbXNnc3RyICLmo4Dmn6Xov57mjqUuLi4gIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTU4CisjOiBidWlsdGluL2Nsb25lLmM6NTYzCiBtc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCiBtc2dzdHIgIui/nOeoi+ayoeacieWPkemAgeaJgOacieW/hemhu+eahOWvueixoSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjU2MAotIywgYy1mb3JtYXQKLW1zZ2lkICJkb25lXG4iCi1tc2dzdHIgIuWujOaIkFxuIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NjIxCisjOiBidWlsdGluL2Nsb25lLmM6NjI2CiBtc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgogbXNnc3RyICLov5znqIsgSEVBRCDmjIflkJHkuIDkuKrkuI3lrZjlnKjnmoTlvJXnlKjvvIzml6Dms5Xmo4Dlh7rjgIJcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY1MgorIzogYnVpbHRpbi9jbG9uZS5jOjY1NwogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIuS4jeiDveajgOWHuuW3peS9nOWMuiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2MAorIzogYnVpbHRpbi9jbG9uZS5jOjc2NQogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgIuWkquWkmuWPguaVsOOAgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2NAorIzogYnVpbHRpbi9jbG9uZS5jOjc2OQogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKIG1zZ3N0ciAi5oKo5b+F6aG75oyH5a6a5LiA5Liq54mI5pys5bqT5p2l5YWL6ZqG44CCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzc1CisjOiBidWlsdGluL2Nsb25lLmM6NzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiLS1iYXJlIOWSjCAtLW9yaWdpbiAlcyDpgInpobnkuI3lhbzlrrnjgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3ODMKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiLS1iYXJlIOWSjCAtLXNlcGFyYXRlLWdpdC1kaXIg6YCJ6aG55LiN5YW85a6544CCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzkxCisjOiBidWlsdGluL2Nsb25lLmM6Nzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi54mI5pys5bqTICclcycg5LiN5a2Y5ZyoIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzk2CisjOiBidWlsdGluL2Nsb25lLmM6ODAyCiBtc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIi0tZGVwdGgg5Zyo5pys5Zyw5YWL6ZqG6KKr5b+955Wl77yM5pS55Li6IGZpbGU6Ly8g5Y2P6K6u6K+V6K+V44CCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzk4CisjOiBidWlsdGluL2Nsb25lLmM6ODA1Cittc2dpZCAic291cmNlIHJlcG9zaXRvcnkgaXMgc2hhbGxvdywgaWdub3JpbmcgLS1sb2NhbCIKK21zZ3N0ciAi5rqQ54mI5pys5bqT5piv5rWF5YWL6ZqG77yM5b+955WlIC0tbG9jYWwiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MTAKIG1zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCiBtc2dzdHIgIi0tbG9jYWwg6KKr5b+955WlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODA4CisjOiBidWlsdGluL2Nsb25lLmM6ODE0IGJ1aWx0aW4vZmV0Y2guYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKK21zZ3N0ciAi5rex5bqmICVzIOS4jeaYr+S4gOS4quato+aVsCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhbiBlbXB0eSBkaXJlY3RvcnkuIgogbXNnc3RyICLnm67moIfot6/lvoQgJyVzJyDlt7Lnu4/lrZjlnKjvvIzlubbkuJTkuI3mmK/kuIDkuKrnqbrnm67lvZXjgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAid29ya2luZyB0cmVlICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICLlt6XkvZzljLogJyVzJyDlt7Lnu4/lrZjlnKjjgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzEgYnVpbHRpbi9jbG9uZS5jOjg0MworIzogYnVpbHRpbi9jbG9uZS5jOjg0NyBidWlsdGluL2Nsb25lLmM6ODU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAnJXMnIgogbXNnc3RyICLkuI3og73kuLogJyVzJyDliJvlu7rlhYjlr7znm67lvZUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcycuIgogbXNnc3RyICLkuI3og73kuLogJyVzJyDliJvlu7rlt6XkvZzljLrnm67lvZXjgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NTMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCiBtc2dzdHIgIuWFi+mahuWIsOijuOeJiOacrOW6kyAnJXMnLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAi5q2j5YWL6ZqG5YiwICclcycuLi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5MAorIzogYnVpbHRpbi9jbG9uZS5jOjkwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBjbG9uZSAlcyIKIG1zZ3N0ciAi5LiN55+l6YGT5aaC5L2V5YWL6ZqGICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQyCisjOiBidWlsdGluL2Nsb25lLmM6OTU3IGJ1aWx0aW4vY2xvbmUuYzo5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIui/nOeoi+WIhuaUryAlcyDlnKjkuIrmuLggJXMg5pyq5Y+R546wIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQ5CisjOiBidWlsdGluL2Nsb25lLmM6OTY4CiBtc2dpZCAiWW91IGFwcGVhciB0byBoYXZlIGNsb25lZCBhbiBlbXB0eSByZXBvc2l0b3J5LiIKIG1zZ3N0ciAi5oKo5Ly85LmO5YWL6ZqG5LqG5LiA5Liq56m654mI5pys5bqT44CCIgogCkBAIC0zODY0LDE1ICs0MDgwLDE1IEBACiBtc2dpZCAiLS1jb21tYW5kIG11c3QgYmUgdGhlIGZpcnN0IGFyZ3VtZW50IgogbXNnc3RyICItLWNvbW1hbmQg5b+F6aG75piv56ys5LiA5Liq5Y+C5pWwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1CisjOiBidWlsdGluL2NvbW1pdC5jOjM2CiBtc2dpZCAiZ2l0IGNvbW1pdCBbb3B0aW9uc10gWy0tXSA8cGF0aHNwZWM+Li4uIgotbXNnc3RyICJnaXQgY29tbWl0IFvpgInpobldIFstLV0gPOi3r+W+hOWMuemFjT4uLi4iCittc2dzdHIgImdpdCBjb21taXQgW+mAiemhuV0gWy0tXSA86Lev5b6E6KeE5YiZPi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MAorIzogYnVpbHRpbi9jb21taXQuYzo0MQogbXNnaWQgImdpdCBzdGF0dXMgW29wdGlvbnNdIFstLV0gPHBhdGhzcGVjPi4uLiIKLW1zZ3N0ciAiZ2l0IHN0YXR1cyBb6YCJ6aG5XSBbLS1dIDzot6/lvoTljLnphY0+Li4uIgorbXNnc3RyICJnaXQgc3RhdHVzIFvpgInpobldIFstLV0gPOi3r+W+hOinhOWImT4uLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDYKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtMzg5NSw3ICs0MTExLDcgQEAKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTgKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIGFtZW5kIHRoZSBtb3N0IHJlY2VudCBjb21taXQsIGJ1dCBkb2luZyBzbyB3b3VsZCBtYWtlXG4iCiAiaXQgZW1wdHkuIFlvdSBjYW4gcmVwZWF0IHlvdXIgY29tbWFuZCB3aXRoIC0tYWxsb3ctZW1wdHksIG9yIHlvdSBjYW5cbiIKQEAgLTM5MDQsNyArNDEyMCw3IEBACiAi5oKo6KaB5L+u6KGl5pyA6L+R55qE5o+Q5Lqk77yM5L2G6L+Z5LmI5YGa5Lya6K6p5a6D5oiQ5Li656m65o+Q5Lqk44CC5oKo5Y+v5Lul6YeN5aSN5oKo55qE5ZG95Luk5bm25bim5LiKXG4iCiAiLS1hbGxvdy1lbXB0eSDpgInpobnvvIzmiJbogIXmgqjlj6/nlKjlkb3ku6QgXCJnaXQgcmVzZXQgSEVBRF5cIiDmlbTkuKrliKDpmaTor6Xmj5DkuqTjgIJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MgorIzogYnVpbHRpbi9jb21taXQuYzo2MwogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCkBAIC0zOTE4LDExICs0MTM0LDExIEBACiAiICAgIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eVxuIgogIlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5CisjOiBidWlsdGluL2NvbW1pdC5jOjcwCiBtc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgcmVzZXQnXG4iCiBtc2dzdHIgIuWQpuWIme+8jOivt+S9v+eUqOWRveS7pCAnZ2l0IHJlc2V0J1xuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcyCisjOiBidWlsdGluL2NvbW1pdC5jOjczCiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKICJcbiIKQEAgLTM5MzgsOTMgKzQxNTQsOTMgQEAKICLnhLblkI7miafooYwgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIOe7p+e7reWvueWFtuS9meaPkOS6pOaJp+ihjOaLo+mAiVxuIgogIuaTjeS9nOOAglxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjI3OQorIzogYnVpbHRpbi9jb21taXQuYzoyODcKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCiBtc2dzdHIgIuaXoOazleino+WMhSBIRUFEIOagkeWvueixoSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzI5CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgIuS4jeiDveWIm+W7uuS4tOaXtue0ouW8lSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzM1CiBtc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKIG1zZ3N0ciAi5Lqk5LqS5byP5re75Yqg5aSx6LSlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM2MCBidWlsdGluL2NvbW1pdC5jOjM4MSBidWlsdGluL2NvbW1pdC5jOjQzMQorIzogYnVpbHRpbi9jb21taXQuYzozNjggYnVpbHRpbi9jb21taXQuYzozODkgYnVpbHRpbi9jb21taXQuYzo0MzkKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3X2luZGV4IGZpbGUiCiBtc2dzdHIgIuaXoOazleWGmSBuZXdfaW5kZXgg5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQxMgorIzogYnVpbHRpbi9jb21taXQuYzo0MjAKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBtZXJnZS4iCiBtc2dzdHIgIuWcqOWQiOW5tui/h+eoi+S4reS4jeiDveWBmumDqOWIhuaPkOS6pOOAgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDIyCiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICLlnKjmi6PpgInov4fnqIvkuK3kuI3og73lgZrpg6jliIbmj5DkuqTjgIIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDI0CisjOiBidWlsdGluL2NvbW1pdC5jOjQzMgogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W57Si5byVIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ0NAorIzogYnVpbHRpbi9jb21taXQuYzo0NTIKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgIuaXoOazleWGmeS4tOaXtue0ouW8leaWh+S7tiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1MzUgYnVpbHRpbi9jb21taXQuYzo1NDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTQzIGJ1aWx0aW4vY29tbWl0LmM6NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0OiAlcyIKIG1zZ3N0ciAi5peg5pWI55qE5o+Q5Lqk77yaJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTYzCisjOiBidWlsdGluL2NvbW1pdC5jOjU3MQogbXNnaWQgIm1hbGZvcm1lZCAtLWF1dGhvciBwYXJhbWV0ZXIiCiBtc2dzdHIgIumdnuazleeahCAtLWF1dGhvciDlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTgzCisjOiBidWlsdGluL2NvbW1pdC5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaWRlbnQgc3RyaW5nOiAnJXMnIgogbXNnc3RyICLpnZ7ms5XnmoTouqvku73lrZfnrKbkuLLvvJonJXMnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYyMSBidWlsdGluL2NvbW1pdC5jOjY1NCBidWlsdGluL2NvbW1pdC5jOjk4MgorIzogYnVpbHRpbi9jb21taXQuYzo2MzAgYnVpbHRpbi9jb21taXQuYzo2NjMgYnVpbHRpbi9jb21taXQuYzoxMDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgY29tbWl0ICVzIgogbXNnc3RyICLkuI3og73mn6Xor6Lmj5DkuqQgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjMzIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjQyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAi77yI5q2j5LuO5qCH5YeG6L6T5YWl5Lit6K+75Y+W5pel5b+X5L+h5oGv77yJXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjM1CisjOiBidWlsdGluL2NvbW1pdC5jOjY0NAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLkuI3og73ku47moIflh4bovpPlhaXkuK3or7vlj5bml6Xlv5fkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjM5CisjOiBidWlsdGluL2NvbW1pdC5jOjY0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZmlsZSAnJXMnIgogbXNnc3RyICLkuI3og73or7vlj5bml6Xlv5fmlofku7YgJyVzJyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjU0CiBtc2dpZCAiY29tbWl0IGhhcyBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICLmj5DkuqTor7TmmI7kuLrnqboiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjYxCisjOiBidWlsdGluL2NvbW1pdC5jOjY3MAogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01TRyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+WIE1FUkdFX01TRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Njc0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgU1FVQVNIX01TRyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+WIFNRVUFTSF9NU0ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjY5CisjOiBidWlsdGluL2NvbW1pdC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgogbXNnc3RyICLkuI3og73or7vlj5YgJyVzJyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ5CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKIG1zZ3N0ciAi5LiN6IO95YaZ5o+Q5Lqk5qih54mIIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc0MQorIzogYnVpbHRpbi9jb21taXQuYzo3NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNDAzOCw3ICs0MjU0LDcgQEAKICJcdCVzXG4iCiAi54S25ZCO6YeN6K+V44CCXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ2CisjOiBidWlsdGluL2NvbW1pdC5jOjc2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC00MDUyLDcgKzQyNjgsNyBAQAogIlx0JXNcbiIKICLnhLblkI7ph43or5XjgIJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC00MDYxLDcgKzQyNzcsNyBAQAogIuivt+S4uuaCqOeahOWPmOabtOi+k+WFpeaPkOS6pOivtOaYjuOAguS7pSAnJWMnIOW8gOWni+eahOihjOWwhuiiq+W/veeVpe+8jOiAjOS4gOS4quepuueahOaPkOS6pFxuIgogIuivtOaYjuWwhuS8mue7iOatouaPkOS6pOOAglxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc2MworIzogYnVpbHRpbi9jb21taXQuYzo3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTQwNzIsMzU1ICs0Mjg4LDM1NSBAQAogIuS5n+WPr+S7peWIoOmZpOWug+S7rOOAguS4gOS4quepuueahOaPkOS6pOivtOaYjuWwhuS8mue7iOatouaPkOS6pOOAglxuIgogCiAjICDor5HogIXvvJrkuLrkv53or4HlnKjovpPlh7rkuK3lr7npvZDvvIzms6jmhI/osIPmlbTlj6XkuK3nqbrmoLzvvIEKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Nzc2CisjOiBidWlsdGluL2NvbW1pdC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0F1dGhvcjogICAgJXMiCiBtc2dzdHIgIiVz5L2c6ICF77yaICAgICAlcyIKIAogIyAg6K+R6ICF77ya5Li65L+d6K+B5Zyo6L6T5Ye65Lit5a+56b2Q77yM5rOo5oSP6LCD5pW05Y+l5Lit56m65qC877yBCi0jOiBidWlsdGluL2NvbW1pdC5jOjc4MworIzogYnVpbHRpbi9jb21taXQuYzo4MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNDb21taXR0ZXI6ICVzIgogbXNnc3RyICIlc+aPkOS6pOiAhe+8miAgICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgwMworIzogYnVpbHRpbi9jb21taXQuYzo4MjIKIG1zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W57Si5byVIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg0NQorIzogYnVpbHRpbi9jb21taXQuYzo4NjUKIG1zZ2lkICJFcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAi5peg5rOV5Yib5bu65qCR5a+56LGhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg2MCBidWlsdGluL3RhZy5jOjM1OQorIzogYnVpbHRpbi9jb21taXQuYzo4ODAgYnVpbHRpbi90YWcuYzozNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgogbXNnc3RyICLor7fkvb/nlKggLW0g5oiWIC1GIOmAiemhueaPkOS+m+aPkOS6pOivtOaYjuOAglxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk1NworIzogYnVpbHRpbi9jb21taXQuYzo5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gZXhpc3RpbmcgYXV0aG9yIGZvdW5kIHdpdGggJyVzJyIKIG1zZ3N0ciAi5rKh5pyJ5om+5Yiw5Yy56YWNICclcycg55qE5L2c6ICFIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk3MiBidWlsdGluL2NvbW1pdC5jOjEyMDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTk3IGJ1aWx0aW4vY29tbWl0LmM6MTIzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHVudHJhY2tlZCBmaWxlcyBtb2RlICclcyciCiBtc2dzdHIgIuaXoOaViOeahOacqui/vei4quaWh+S7tuWPguaVsCAnJXMnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTAzNAogbXNnaWQgIi0tbG9uZyBhbmQgLXogYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1sb25nIOWSjCAteiDpgInpobnkuI3lhbzlrrkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAzOQorIzogYnVpbHRpbi9jb21taXQuYzoxMDY0CiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAi5ZCM5pe25L2/55SoIC0tcmVzZXQtYXV0aG9yIOWSjCAtLWF1dGhvciDmsqHmnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA1MAorIzogYnVpbHRpbi9jb21taXQuYzoxMDc1CiBtc2dpZCAiWW91IGhhdmUgbm90aGluZyB0byBhbWVuZC4iCiBtc2dzdHIgIuaCqOayoeacieWPr+S/ruihpeeahOaPkOS6pOOAgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDUzCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNzgKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICLmgqjmraPlpITkuo7kuIDkuKrlkIjlubbov4fnqIvkuK0gLS0g5peg5rOV5L+u6KGl5o+Q5Lqk44CCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4MAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIGNoZXJyeS1waWNrIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIuaCqOato+WkhOS6juS4gOS4quaLo+mAiei/h+eoi+S4rSAtLSDml6Dms5Xkv67ooaXmj5DkuqTjgIIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA1OAorIzogYnVpbHRpbi9jb21taXQuYzoxMDgzCiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAi6YCJ6aG5IC0tc3F1YXNoIOWSjCAtLWZpeHVwIOS4jeiDveWQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDY4CisjOiBidWlsdGluL2NvbW1pdC5jOjEwOTMKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAi5Y+q6IO955So5LiA5LiqIC1jLy1DLy1GLy0tZml4dXAg6YCJ6aG544CCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5NQogbXNnaWQgIk9wdGlvbiAtbSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtYy8tQy8tRi8tLWZpeHVwLiIKIG1zZ3N0ciAi6YCJ6aG5IC1tIOS4jeiDveWSjCAtYy8tQy8tRi8tLWZpeHVwIOWQjOaXtuS9v+eUqOOAgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDc4CisjOiBidWlsdGluL2NvbW1pdC5jOjExMDMKIG1zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgogbXNnc3RyICItLXJlc2V0LWF1dGhvciDlj6rog73lkowgLUPjgIEtYyDmiJYgLS1hbWVuZCDlkIzml7bkvb/nlKjjgIIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTIwCiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICLlj6rog73nlKjkuIDkuKogLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2gg6YCJ6aG544CCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwOTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyMgogbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAi5Y+C5pWwIC0taW5jbHVkZS8tLW9ubHkg5LiN6Lef6Lev5b6E5rKh5pyJ5oSP5LmJ44CCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwOTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNAogbXNnaWQgIkNsZXZlci4uLiBhbWVuZGluZyB0aGUgbGFzdCBvbmUgd2l0aCBkaXJ0eSBpbmRleC4iCiBtc2dzdHIgIuiBquaYji4uLiDlnKjntKLlvJXkuI3lubLlh4DkuIvkv67ooaXmnIDlkI7nmoTmj5DkuqTjgIIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEwMQorIzogYnVpbHRpbi9jb21taXQuYzoxMTI2CiBtc2dpZCAiRXhwbGljaXQgcGF0aHMgc3BlY2lmaWVkIHdpdGhvdXQgLWkgbm9yIC1vOyBhc3N1bWluZyAtLW9ubHkgcGF0aHMuLi4iCiBtc2dzdHIgIuaMh+WumuS6huaYjuehrueahOi3r+W+hOiAjOayoeacieS9v+eUqCAtaSDmiJYgLW8g6YCJ6aG577yb6K6k5Li65pivIC0tb25seSBwYXRocy4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTExIGJ1aWx0aW4vdGFnLmM6NTc1CisjOiBidWlsdGluL2NvbW1pdC5jOjExMzYgYnVpbHRpbi90YWcuYzo1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCiBtc2dzdHIgIuaXoOaViOeahOa4heeQhuaooeW8jyAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTE2CisjOiBidWlsdGluL2NvbW1pdC5jOjExNDEKIG1zZ2lkICJQYXRocyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICLot6/lvoTlkowgLWEg6YCJ6aG55ZCM5pe25L2/55So5rKh5pyJ5oSP5LmJ44CCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjIgYnVpbHRpbi9jb21taXQuYzoxNDU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTEgYnVpbHRpbi9jb21taXQuYzoxNDgyCiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICLku6XnroDmtIHnmoTmoLzlvI/mmL7npLrnirbmgIEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNCBidWlsdGluL2NvbW1pdC5jOjE0NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1MyBidWlsdGluL2NvbW1pdC5jOjE0ODQKIG1zZ2lkICJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi5pi+56S65YiG5pSv5L+h5oGvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjYgYnVpbHRpbi9jb21taXQuYzoxNDU5IGJ1aWx0aW4vcHVzaC5jOjQ1MgorIzogYnVpbHRpbi9jb21taXQuYzoxMjU1IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NiBidWlsdGluL3B1c2guYzo1MDcKIG1zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKIG1zZ3N0ciAi5py65Zmo5Y+v6K+755qE6L6T5Ye6IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjkgYnVpbHRpbi9jb21taXQuYzoxNDYxCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTggYnVpbHRpbi9jb21taXQuYzoxNDg4CiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICLku6Xplb/moLzlvI/mmL7npLrnirbmgIHvvIjpu5jorqTvvIkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIzMiBidWlsdGluL2NvbW1pdC5jOjE0NjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2MSBidWlsdGluL2NvbW1pdC5jOjE0OTEKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKIG1zZ3N0ciAi5p2h55uu5LulTlVM5a2X56ym57uT5bC+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzQgYnVpbHRpbi9jb21taXQuYzoxNDY3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NjcKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzAgYnVpbHRpbi90YWcuYzo0NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2MyBidWlsdGluL2NvbW1pdC5jOjE0OTQgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NyBidWlsdGluL3RhZy5jOjQ1OQogbXNnaWQgIm1vZGUiCiBtc2dzdHIgIuaooeW8jyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjM1IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NworIzogYnVpbHRpbi9jb21taXQuYzoxMjY0IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAogbXNnaWQgInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAi5pi+56S65pyq6Lef6Liq55qE5paH5Lu277yM4oCc5qih5byP4oCd55qE5Y+v6YCJ5Y+C5pWw77yaYWxs44CBbm9ybWFs44CBbm/jgILvvIjpu5jorqTvvJphbGzvvIkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIzOAorIzogYnVpbHRpbi9jb21taXQuYzoxMjY3CiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICLmmL7npLrlv73nlaXnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIzOSBwYXJzZS1vcHRpb25zLmg6MTU0CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjggcGFyc2Utb3B0aW9ucy5oOjE1NgogbXNnaWQgIndoZW4iCiBtc2dzdHIgIuS9leaXtiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjQwCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjkKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIiIKICLlv73nlaXlrZDmqKHnu4TnmoTmm7TmlLnvvIzigJzkvZXml7bigJ3nmoTlj6/pgInlj4LmlbDvvJphbGzjgIFkaXJ0eeOAgXVudHJhY2tlZOOAgu+8iOm7mOiupO+8mmFsbO+8iSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjQyCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNzEKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICLku6XliJfnmoTmlrnlvI/mmL7npLrmnKrot5/ouKrnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxMworIzogYnVpbHRpbi9jb21taXQuYzoxMzQwCiBtc2dpZCAiY291bGRuJ3QgbG9vayB1cCBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAi5peg5rOV5om+5Yiw5paw5Yib5bu655qE5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MgogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q5paw5Yib5bu655qE5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4MwogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIuWIhuemu+WktOaMh+mSiCIKIAogIyAg6K+R6ICF77ya5Lit5paH5a2X56ym5Liy5ou85o6l77yM5Y+v5Yig6Zmk5YmN5a+856m65qC8Ci0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4NQogbXNnaWQgIiAocm9vdC1jb21taXQpIgogbXNnc3RyICLvvIjmoLnmj5DkuqTvvIkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQyNQorIzogYnVpbHRpbi9jb21taXQuYzoxNDUyCiBtc2dpZCAic3VwcHJlc3Mgc3VtbWFyeSBhZnRlciBzdWNjZXNzZnVsIGNvbW1pdCIKIG1zZ3N0ciAi5o+Q5Lqk5oiQ5Yqf5ZCO5LiN5pi+56S65qaC6L+w5L+h5oGvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MwogbXNnaWQgInNob3cgZGlmZiBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAi5Zyo5o+Q5Lqk6K+05piO5qih5p2/6YeM5pi+56S65beu5byCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NQogbXNnaWQgIkNvbW1pdCBtZXNzYWdlIG9wdGlvbnMiCiBtc2dzdHIgIuaPkOS6pOivtOaYjumAiemhuSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDI5IGJ1aWx0aW4vdGFnLmM6NDU3CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTYgYnVpbHRpbi90YWcuYzo0NTcKIG1zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgogbXNnc3RyICLku47mlofku7bkuK3or7vlj5bmj5DkuqTor7TmmI4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMAorIzogYnVpbHRpbi9jb21taXQuYzoxNDU3CiBtc2dpZCAiYXV0aG9yIgogbXNnc3RyICLkvZzogIUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMAorIzogYnVpbHRpbi9jb21taXQuYzoxNDU3CiBtc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCiBtc2dzdHIgIuaPkOS6pOaXtuimhuebluS9nOiAhSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMxIGJ1aWx0aW4vZ2MuYzoxNzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OCBidWlsdGluL2djLmM6MjYxCiBtc2dpZCAiZGF0ZSIKIG1zZ3N0ciAi5pel5pyfIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OAogbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKIG1zZ3N0ciAi5o+Q5Lqk5pe26KaG55uW5pel5pyfIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzIgYnVpbHRpbi9tZXJnZS5jOjIyMyBidWlsdGluL25vdGVzLmM6NDA1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTkgYnVpbHRpbi9tZXJnZS5jOjIxNiBidWlsdGluL25vdGVzLmM6NDA1CiAjOiBidWlsdGluL25vdGVzLmM6NTYyIGJ1aWx0aW4vdGFnLmM6NDU1CiBtc2dpZCAibWVzc2FnZSIKIG1zZ3N0ciAi6K+05piOIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OQogbXNnaWQgImNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLmj5DkuqTor7TmmI4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMworIzogYnVpbHRpbi9jb21taXQuYzoxNDYwCiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIumHjeeUqOW5tue8lui+keaMh+WumuaPkOS6pOeahOaPkOS6pOivtOaYjiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM0CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjEKIG1zZ2lkICJyZXVzZSBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAi6YeN55So5oyH5a6a5o+Q5Lqk55qE5o+Q5Lqk6K+05piOIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MgogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIGZpeHVwIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIuS9v+eUqCBhdXRvc3F1YXNoIOagvOW8j+eahOaPkOS6pOivtOaYjueUqOS7peS/ruato+aMh+WumueahOaPkOS6pCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM2CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjMKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAi5L2/55SoIGF1dG9zcXVhc2gg5qC85byP55qE5o+Q5Lqk6K+05piO55So5Lul5Y6L57yp6Iez5oyH5a6a55qE5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NAogbXNnaWQgInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiCiBtc2dzdHIgIueOsOWcqOWwhuivpeaPkOS6pOeahOS9nOiAheaUueS4uuaIke+8iOWSjCAtQy8tYy8tLWFtZW5kIOWPguaVsOWFseeUqO+8iSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM4IGJ1aWx0aW4vbG9nLmM6MTE2MCBidWlsdGluL3JldmVydC5jOjExMQorIzogYnVpbHRpbi9jb21taXQuYzoxNDY1IGJ1aWx0aW4vbG9nLmM6MTE4MCBidWlsdGluL3JldmVydC5jOjg2CiBtc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgogbXNnc3RyICLmt7vliqAgU2lnbmVkLW9mZi1ieTog562+5ZCNIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NgogbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKIG1zZ3N0ciAi5L2/55So5oyH5a6a55qE5qih5p2/5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NwogbXNnaWQgImZvcmNlIGVkaXQgb2YgY29tbWl0IgogbXNnc3RyICLlvLrliLbnvJbovpHmj5DkuqQiCiAKICMgIOivkeiAhe+8muWPr+mAieWAvO+8jOS4jeiDvee/u+ivke+8iOaIluaYr+WOn+aWh+S4reeslOivr++8jOW6lOS4uiBtb2Rl77yJCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OAogbXNnaWQgImRlZmF1bHQiCiBtc2dzdHIgImRlZmF1bHQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MSBidWlsdGluL3RhZy5jOjQ2MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDY4IGJ1aWx0aW4vdGFnLmM6NDYwCiBtc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKIG1zZ3N0ciAi6K6+572u5aaC5L2V5Yig6Zmk5o+Q5Lqk6K+05piO6YeM55qE56m65qC85ZKMI+azqOmHiiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQyCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjkKIG1zZ2lkICJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAi5Zyo5o+Q5Lqk6K+05piO5qih5p2/6YeM5YyF5ZCr54q25oCB5L+h5oGvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDMgYnVpbHRpbi9tZXJnZS5jOjIzMCBidWlsdGluL3RhZy5jOjQ2MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDcwIGJ1aWx0aW4vbWVyZ2UuYzoyMjMgYnVpbHRpbi90YWcuYzo0NjEKIG1zZ2lkICJrZXkgaWQiCiBtc2dzdHIgImtleSBpZCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQ0IGJ1aWx0aW4vbWVyZ2UuYzoyMzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MSBidWlsdGluL21lcmdlLmM6MjI0CiBtc2dpZCAiR1BHIHNpZ24gY29tbWl0IgogbXNnc3RyICJHUEcg5o+Q5Lqk562+5ZCNIgogCiAjLiBlbmQgY29tbWl0IG1lc3NhZ2Ugb3B0aW9ucwotIzogYnVpbHRpbi9jb21taXQuYzoxNDQ3CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzQKIG1zZ2lkICJDb21taXQgY29udGVudHMgb3B0aW9ucyIKIG1zZ3N0ciAi5o+Q5Lqk5YaF5a656YCJ6aG5IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NQogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAi5o+Q5Lqk5omA5pyJ5pS55Yqo55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NgogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAi5re75Yqg5oyH5a6a55qE5paH5Lu25Yiw57Si5byV5Yy6562J5b6F5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NwogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICLkuqTkupLlvI/mt7vliqDmlofku7YiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDc4CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAi5Lqk5LqS5byP5re75Yqg5Y+Y5pu0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OQogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAi5Y+q5o+Q5Lqk5oyH5a6a55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MAogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGhvb2siCiBtc2dzdHIgIue7lei/hyBwcmUtY29tbWl0IOmSqeWtkCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDU0CisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODEKIG1zZ2lkICJzaG93IHdoYXQgd291bGQgYmUgY29tbWl0dGVkIgogbXNnc3RyICLmmL7npLrlsIbopoHmj5DkuqTnmoTlhoXlrrkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNDkyCiBtc2dpZCAiYW1lbmQgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICLkv67mlLnlhYjliY3nmoTmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NgorIzogYnVpbHRpbi9jb21taXQuYzoxNDkzCiBtc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgogbXNnc3RyICLnu5Xov4cgcG9zdC1yZXdyaXRlIOmSqeWtkCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTgKIG1zZ2lkICJvayB0byByZWNvcmQgYW4gZW1wdHkgY2hhbmdlIgogbXNnc3RyICLlhYHorrjkuIDkuKrnqbrmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTAwCiBtc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAi5YWB6K6456m655qE5o+Q5Lqk6K+05piOIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUyOQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKIG1zZ3N0ciAi5LiN6IO96Kej5p6QIEhFQUQg5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NDUgYnVpbHRpbi9tZXJnZS5jOjUyNQorIzogYnVpbHRpbi9jb21taXQuYzoxNTY3IGJ1aWx0aW4vbWVyZ2UuYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAi5LiN6IO95Li66K+75YWl5omT5byAICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU1MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvcnJ1cHQgTUVSR0VfSEVBRCBmaWxlICglcykiCiBtc2dzdHIgIuaNn+Wdj+eahCBNRVJHRV9IRUFEIOaWh+S7tu+8iCVz77yJIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MQogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCiBtc2dzdHIgIuS4jeiDveivu+WPliBNRVJHRV9NT0RFIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZTogJXMiCiBtc2dzdHIgIuS4jeiDveivu+WPluaPkOS6pOivtOaYju+8miVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCiBtc2dzdHIgIue7iOatouaPkOS6pO+8m+aCqOacquabtOaUueadpeiHquaooeeJiOeahOaPkOS6pOivtOaYjuOAglxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICLnu4jmraLmj5DkuqTlm6DkuLrmj5DkuqTor7TmmI7kuLrnqbrjgIJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjEyIGJ1aWx0aW4vbWVyZ2UuYzo4NjEgYnVpbHRpbi9tZXJnZS5jOjg4NgorIzogYnVpbHRpbi9jb21taXQuYzoxNjMxIGJ1aWx0aW4vbWVyZ2UuYzo4NTQgYnVpbHRpbi9tZXJnZS5jOjg3OQogbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb21taXQgb2JqZWN0IgogbXNnc3RyICLml6Dms5Xlhpnmj5DkuqTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMworIzogYnVpbHRpbi9jb21taXQuYzoxNjUyCiBtc2dpZCAiY2Fubm90IGxvY2sgSEVBRCByZWYiCiBtc2dzdHIgIuaXoOazlemUgeWumiBIRUFEIOW8leeUqCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjM3CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NTYKIG1zZ2lkICJjYW5ub3QgdXBkYXRlIEhFQUQgcmVmIgogbXNnc3RyICLml6Dms5Xmm7TmlrAgSEVBRCDlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY0OAorIzogYnVpbHRpbi9jb21taXQuYzoxNjY3CiBtc2dpZCAiIgogIlJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgb3IgcXVvdGEgaXNcbiIKQEAgLTQ0MjksMTI3ICs0NjQ1LDEzMSBAQAogIueJiOacrOW6k+W3suabtOaWsO+8jOS9huaXoOazleWGmSBuZXdfaW5kZXgg5paH5Lu244CC5qOA5p+l5piv5ZCm56OB55uY5bey5ruhXG4iCiAi5oiW56OB55uY6YWN6aKd5bey6ICX5bC977yM54S25ZCO5omn6KGMIFwiZ2l0IHJlc2V0IEhFQURcIiDmgaLlpI3jgIIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NworIzogYnVpbHRpbi9jb25maWcuYzo4CiBtc2dpZCAiZ2l0IGNvbmZpZyBbb3B0aW9uc10iCiBtc2dzdHIgImdpdCBjb25maWcgW+mAiemhuV0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTQKIG1zZ2lkICJDb25maWcgZmlsZSBsb2NhdGlvbiIKIG1zZ3N0ciAi6YWN572u5paH5Lu25L2N572uIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjUzCisjOiBidWlsdGluL2NvbmZpZy5jOjU1CiBtc2dpZCAidXNlIGdsb2JhbCBjb25maWcgZmlsZSIKIG1zZ3N0ciAi5L2/55So5YWo5bGA6YWN572u5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU0CisjOiBidWlsdGluL2NvbmZpZy5jOjU2CiBtc2dpZCAidXNlIHN5c3RlbSBjb25maWcgZmlsZSIKIG1zZ3N0ciAi5L2/55So57O757uf57qn6YWN572u5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU1CisjOiBidWlsdGluL2NvbmZpZy5jOjU3CiBtc2dpZCAidXNlIHJlcG9zaXRvcnkgY29uZmlnIGZpbGUiCiBtc2dzdHIgIuS9v+eUqOeJiOacrOW6k+e6p+mFjee9ruaWh+S7tiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NgorIzogYnVpbHRpbi9jb25maWcuYzo1OAogbXNnaWQgInVzZSBnaXZlbiBjb25maWcgZmlsZSIKIG1zZ3N0ciAi5L2/55So5oyH5a6a55qE6YWN572u5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjU5CiBtc2dpZCAiYmxvYi1pZCIKIG1zZ3N0ciAi5pWw5o2u5a+56LGhSUQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKIG1zZ2lkICJyZWFkIGNvbmZpZyBmcm9tIGdpdmVuIGJsb2Igb2JqZWN0IgogbXNnc3RyICLku47nu5nlrprnmoTmlbDmja7lr7nosaHor7vlj5bphY3nva4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKIG1zZ2lkICJBY3Rpb24iCiBtc2dzdHIgIuaTjeS9nCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OQorIzogYnVpbHRpbi9jb25maWcuYzo2MQogbXNnaWQgImdldCB2YWx1ZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICLojrflj5blgLzvvJpuYW1lIFt2YWx1ZS1yZWdleF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKIG1zZ2lkICJnZXQgYWxsIHZhbHVlczoga2V5IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIuiOt+W+l+aJgOacieeahOWAvO+8mmtleSBbdmFsdWUtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxCisjOiBidWlsdGluL2NvbmZpZy5jOjYzCiBtc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIuagueaNruato+WImeihqOi+vuW8j+iOt+W+l+WAvO+8mm5hbWUtcmVnZXggW3ZhbHVlLXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MgorIzogYnVpbHRpbi9jb25maWcuYzo2NAorbXNnaWQgImdldCB2YWx1ZSBzcGVjaWZpYyBmb3IgdGhlIFVSTDogc2VjdGlvblsudmFyXSBVUkwiCittc2dzdHIgIuiOt+W+lyBVUkwg5Y+W5YC877yac2VjdGlvblsudmFyXSBVUkwiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjUKIG1zZ2lkICJyZXBsYWNlIGFsbCBtYXRjaGluZyB2YXJpYWJsZXM6IG5hbWUgdmFsdWUgW3ZhbHVlX3JlZ2V4XSIKIG1zZ3N0ciAi5pu/5o2i5omA5pyJ5Yy56YWN55qE5Y+Y6YeP77yabmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYzCisjOiBidWlsdGluL2NvbmZpZy5jOjY2CiBtc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgogbXNnc3RyICLmt7vliqDkuIDkuKrmlrDnmoTlj5jph4/vvJpuYW1lIHZhbHVlIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY0CisjOiBidWlsdGluL2NvbmZpZy5jOjY3CiBtc2dpZCAicmVtb3ZlIGEgdmFyaWFibGU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAi5Yig6Zmk5LiA5Liq5Y+Y6YeP77yabmFtZSBbdmFsdWUtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY1CisjOiBidWlsdGluL2NvbmZpZy5jOjY4CiBtc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIuWIoOmZpOaJgOacieWMuemFjemhue+8mm5hbWUgW3ZhbHVlLXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NgorIzogYnVpbHRpbi9jb25maWcuYzo2OQogbXNnaWQgInJlbmFtZSBzZWN0aW9uOiBvbGQtbmFtZSBuZXctbmFtZSIKIG1zZ3N0ciAi6YeN5ZG95ZCN5bCP6IqC77yab2xkLW5hbWUgbmV3LW5hbWUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKIG1zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgogbXNnc3RyICLliKDpmaTkuIDkuKrlsI/oioLvvJpuYW1lIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY4CisjOiBidWlsdGluL2NvbmZpZy5jOjcxCiBtc2dpZCAibGlzdCBhbGwiCiBtc2dzdHIgIuWIl+WHuuaJgOaciSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OQorIzogYnVpbHRpbi9jb25maWcuYzo3MgogbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgogbXNnc3RyICLmiZPlvIDkuIDkuKrnvJbovpHlmagiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzAgYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3MyBidWlsdGluL2NvbmZpZy5jOjc0CiBtc2dpZCAic2xvdCIKIG1zZ3N0ciAic2xvdCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MAorIzogYnVpbHRpbi9jb25maWcuYzo3MwogbXNnaWQgImZpbmQgdGhlIGNvbG9yIGNvbmZpZ3VyZWQ6IFtkZWZhdWx0XSIKIG1zZ3N0ciAi5om+5Yiw6YWN572u55qE6aKc6Imy77yaW+m7mOiupF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBzZXR0aW5nOiBbc3Rkb3V0LWlzLXR0eV0iCiBtc2dzdHIgIuaJvuWIsOminOiJsuiuvue9ru+8mltzdGRvdXQtaXMtdHR5XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MgorIzogYnVpbHRpbi9jb25maWcuYzo3NQogbXNnaWQgIlR5cGUiCiBtc2dzdHIgIuexu+WeiyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MworIzogYnVpbHRpbi9jb25maWcuYzo3NgogbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKIG1zZ3N0ciAi5YC85pivIFwidHJ1ZVwiIOaIliBcImZhbHNlXCIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKIG1zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKIG1zZ3N0ciAi5YC85piv5Y2B6L+b5Yi25pWwIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc1CisjOiBidWlsdGluL2NvbmZpZy5jOjc4CiBtc2dpZCAidmFsdWUgaXMgLS1ib29sIG9yIC0taW50IgogbXNnc3RyICLlgLzmmK8gLS1ib29sIG9yIC0taW50IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc2CisjOiBidWlsdGluL2NvbmZpZy5jOjc5CiBtc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKIG1zZ3N0ciAi5YC85piv5LiA5Liq6Lev5b6E77yI5paH5Lu25oiW55uu5b2V5ZCN77yJIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc3CisjOiBidWlsdGluL2NvbmZpZy5jOjgwCiBtc2dpZCAiT3RoZXIiCiBtc2dzdHIgIuWFtuWugyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OAorIzogYnVpbHRpbi9jb25maWcuYzo4MQogbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAi57uI5q2i5YC85pivTlVM5a2X6IqCIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc5CisjOiBidWlsdGluL2NvbmZpZy5jOjgyCiBtc2dpZCAicmVzcGVjdCBpbmNsdWRlIGRpcmVjdGl2ZXMgb24gbG9va3VwIgogbXNnc3RyICLmn6Xor6Lml7blj4LnhacgaW5jbHVkZSDmjIfku6TpgJLlvZLmn6Xmib4iCiAKQEAgLTQ1NjIsNyArNDc4Miw3IEBACiBtc2dzdHIgIuS7peeUqOaIt+WPr+ivu+eahOagvOW8j+aYvuekuuWkp+WwjyIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjE2Ci1tc2dpZCAiZ2l0IGRlc2NyaWJlIFtvcHRpb25zXSA8Y29tbWl0dGlzaD4qIgorbXNnaWQgImdpdCBkZXNjcmliZSBbb3B0aW9uc10gPGNvbW1pdC1pc2g+KiIKIG1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFvpgInpobldIDzmj5DkuqTlj7c+KiIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjE3CkBAIC00Njc3LDcgKzQ4OTcsNyBAQAogbXNnaWQgIm9ubHkgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgIuWPquiAg+iZkeWMuemFjSA85qih5byPPiDnmoQgdGFncyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQyMyBidWlsdGluL25hbWUtcmV2LmM6MzIyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDIzIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjEKIG1zZ2lkICJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siCiBtc2dzdHIgIuaYvuekuueugOWGmeeahOaPkOS6pOWPt+S9nOS4uuWQjuWkhyIKIApAQCAtNDY5OCwzNCArNDkxOCwzNCBAQAogbXNnc3RyICLmsqHmnInlj5HnjrDlkI3np7DvvIzml6Dms5Xmj4/ov7Dku7vkvZXkuJzopb/jgIIiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0ODkKLW1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdHRpc2hlcyIKK21zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiLS1kaXJ0eSDkuI3og73kuI7mj5DkuqTlkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjc5CisjOiBidWlsdGluL2RpZmYuYzo4NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKIG1zZ3N0ciAiJyVzJ++8muS4jeaYr+S4gOS4quato+inhOaWh+S7tuaIluespuWPt+mTvuaOpSIKIAotIzogYnVpbHRpbi9kaWZmLmM6MjMwCisjOiBidWlsdGluL2RpZmYuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvcHRpb246ICVzIgogbXNnc3RyICLml6DmlYjpgInpobnvvJolcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzA3CisjOiBidWlsdGluL2RpZmYuYzozNTcKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi5LiN5piv5LiA5LiqIGdpdCDniYjmnKzlupMiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM1MAorIzogYnVpbHRpbi9kaWZmLmM6NDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICLmj5Dkvpvkuobml6DmlYjlr7nosaEgJyVzJ+OAgiIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzU5CisjOiBidWlsdGluL2RpZmYuYzo0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIKIG1zZ3N0ciAi5o+Q5L6b5LqG6LaF6L+H5Lik5Liq5pWw5o2u77yIYmxvYu+8ieWvueixoe+8miclcyciCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM2NgorIzogYnVpbHRpbi9kaWZmLmM6NDE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgIuaPkOS+m+S6huaXoOazleWkhOeQhueahOWvueixoSAnJXMn44CCIgpAQCAtNDczNCw0NSArNDk1NCw0NSBAQAogbXNnaWQgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCiBtc2dzdHIgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NjYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzMKIG1zZ2lkICJzaG93IHByb2dyZXNzIGFmdGVyIDxuPiBvYmplY3RzIgogbXNnc3RyICLlnKggPG4+IOS4quWvueixoeS5i+WQjuaYvuekuui/m+W6piIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY2OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NQogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBzaWduZWQgdGFncyIKIG1zZ3N0ciAi6YCJ5oup5aaC5L2V5aSE55CG562+5ZCNIHRhZ3MiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzEKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzgKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgogbXNnc3RyICLpgInmi6nlvZMgdGFnIOaMh+WQkeiiq+i/h+a7pOaXtiB0YWdzIOeahOWkhOeQhuaWueW8jyIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MQogbXNnaWQgIkR1bXAgbWFya3MgdG8gdGhpcyBmaWxlIgogbXNnc3RyICLmiormoIforrDlrZjlgqjliLDov5nkuKrmlofku7YiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODMKIG1zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUiCiBtc2dzdHIgIuS7jui/meS4quaWh+S7tuWvvOWFpeagh+iusCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4NQogbXNnaWQgIkZha2UgYSB0YWdnZXIgd2hlbiB0YWdzIGxhY2sgb25lIgogbXNnc3RyICLlvZMgdGFncyDnvLrlsJHmoIforrDogIXlrZfmrrXml7bvvIzlgYfoo4Xmj5DkvpvkuIDkuKoiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODcKIG1zZ2lkICJPdXRwdXQgZnVsbCB0cmVlIGZvciBlYWNoIGNvbW1pdCIKIG1zZ3N0ciAi5q+P5qyh5o+Q5Lqk6YO96L6T5Ye65pW05Liq5qCRIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njg5CiBtc2dpZCAiVXNlIHRoZSBkb25lIGZlYXR1cmUgdG8gdGVybWluYXRlIHRoZSBzdHJlYW0iCiBtc2dzdHIgIuS9v+eUqCBkb25lIOWKn+iDveadpee7iOatoua1gSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY5MAogbXNnaWQgIlNraXAgb3V0cHV0IG9mIGJsb2IgZGF0YSIKIG1zZ3N0ciAi6Lez6L+H5pWw5o2u5a+56LGh55qE6L6T5Ye6IgogCiAjOiBidWlsdGluL2ZldGNoLmM6MjAKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCi1tc2dzdHIgImdpdCBmZXRjaCBbPOmAiemhuT5dIFs854mI5pys5bqTPiBbPOW8leeUqOihqOi+vuW8jz4uLi5dXSIKK21zZ3N0ciAiZ2l0IGZldGNoIFs86YCJ6aG5Pl0gWzzniYjmnKzlupM+IFs85byV55So6KeE5YiZPi4uLl1dIgogCiAjOiBidWlsdGluL2ZldGNoLmM6MjEKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gPGdyb3VwPiIKQEAgLTQ3ODYsMTQ2ICs1MDA2LDE1NSBAQAogbXNnaWQgImdpdCBmZXRjaCAtLWFsbCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tYWxsIFs86YCJ6aG5Pl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MAorIzogYnVpbHRpbi9mZXRjaC5jOjc1CiBtc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKIG1zZ3N0ciAi5LuO5omA5pyJ55qE6L+c56iL5oqT5Y+WIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NwogbXNnaWQgImFwcGVuZCB0byAuZ2l0L0ZFVENIX0hFQUQgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyIKIG1zZ3N0ciAi6L+95Yqg5YiwIC5naXQvRkVUQ0hfSEVBRCDogIzkuI3mmK/opobnm5blroMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NAorIzogYnVpbHRpbi9mZXRjaC5jOjc5CiBtc2dpZCAicGF0aCB0byB1cGxvYWQgcGFjayBvbiByZW1vdGUgZW5kIgogbXNnc3RyICLkuIrkvKDljIXliLDov5znqIvnmoTot6/lvoQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NQorIzogYnVpbHRpbi9mZXRjaC5jOjgwCiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIGJyYW5jaCIKIG1zZ3N0ciAi5by65Yi26KaG55uW5pys5Zyw5YiG5pSvIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4MgogbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKIG1zZ3N0ciAi5LuO5aSa5Liq6L+c56iL5oqT5Y+WIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NAogbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCiBtc2dzdHIgIuaKk+WPluaJgOacieeahCB0YWdzIOWSjOWFs+iBlOWvueixoSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcxCisjOiBidWlsdGluL2ZldGNoLmM6ODYKIG1zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCiBtc2dzdHIgIuS4jeaKk+WPluS7u+S9lSB0YWdzICgtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4OAogbXNnaWQgInBydW5lIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyBubyBsb25nZXIgb24gcmVtb3RlIgogbXNnc3RyICLmuIXpmaTov5znqIvlt7Lnu4/kuI3lrZjlnKjnmoTliIbmlK/nmoTot5/ouKrliIbmlK8iCiAKICMgIOivkeiAhe+8muWPr+mAieWAvO+8jOS4jeiDvee/u+ivkQotIzogYnVpbHRpbi9mZXRjaC5jOjc0CisjOiBidWlsdGluL2ZldGNoLmM6ODkKIG1zZ2lkICJvbi1kZW1hbmQiCiBtc2dzdHIgIm9uLWRlbWFuZCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc1CisjOiBidWlsdGluL2ZldGNoLmM6OTAKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICLmjqfliLblrZDmqKHnu4TnmoTpgJLlvZLmipPlj5YiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3OQorIzogYnVpbHRpbi9mZXRjaC5jOjk0CiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgIuS/neaMgeS4i+i9veWMhSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgxCisjOiBidWlsdGluL2ZldGNoLmM6OTYKIG1zZ2lkICJhbGxvdyB1cGRhdGluZyBvZiBIRUFEIHJlZiIKIG1zZ3N0ciAi5YWB6K645pu05pawIEhFQUQg5byV55SoIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OQogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCiBtc2dzdHIgIua3seWMlua1heWFi+mahueahOWOhuWPsiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg2CisjOiBidWlsdGluL2ZldGNoLmM6MTAxCiBtc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIui9rOaNouS4uuS4gOS4quWujOaVtOeahOeJiOacrOW6kyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg4IGJ1aWx0aW4vbG9nLmM6MTE3NworIzogYnVpbHRpbi9mZXRjaC5jOjEwMyBidWlsdGluL2xvZy5jOjExOTcKIG1zZ2lkICJkaXIiCiBtc2dzdHIgIuebruW9lSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg5CisjOiBidWlsdGluL2ZldGNoLmM6MTA0CiBtc2dpZCAicHJlcGVuZCB0aGlzIHRvIHN1Ym1vZHVsZSBwYXRoIG91dHB1dCIKIG1zZ3N0ciAi5Zyo5a2Q5qih57uE6Lev5b6E6L6T5Ye655qE5YmN6Z2i5Yqg5LiK5q2k55uu5b2VIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDcKIG1zZ2lkICJkZWZhdWx0IG1vZGUgZm9yIHJlY3Vyc2lvbiIKIG1zZ3N0ciAi6YCS5b2S55qE6buY6K6k5qih5byPIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIwCisjOiBidWlsdGluL2ZldGNoLmM6MTA5Cittc2dpZCAiYWNjZXB0IHJlZnMgdGhhdCB1cGRhdGUgLmdpdC9zaGFsbG93IgorbXNnc3RyICLmjqXlj5fmm7TmlrAgLmdpdC9zaGFsbG93IOeahOW8leeUqCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjM0NwogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICLml6Dms5Xlj5HnjrDov5znqIsgSEVBRCDlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyNzMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKIG1zZ3N0ciAi5a+56LGhICVzIOacquWPkeeOsCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI3OAorIzogYnVpbHRpbi9mZXRjaC5jOjQxNgogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW+acgOaWsF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyOTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiISAlLSpzICUtKnMgLT4gJXMgIChjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCkiCiBtc2dzdHIgIiEgJS0qcyAlLSpzIC0+ICVzICDvvIjlnKjlvZPliY3liIbmlK/kuIvkuI3og73ojrflj5bvvIkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyOTMgYnVpbHRpbi9mZXRjaC5jOjM3OQorIzogYnVpbHRpbi9mZXRjaC5jOjQzMSBidWlsdGluL2ZldGNoLmM6NTE3CiBtc2dpZCAiW3JlamVjdGVkXSIKIG1zZ3N0ciAiW+W3suaLkue7nV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMDQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0NDIKIG1zZ2lkICJbdGFnIHVwZGF0ZV0iCiBtc2dzdHIgIlt0YWfmm7TmlrBdIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMDYgYnVpbHRpbi9mZXRjaC5jOjM0MSBidWlsdGluL2ZldGNoLmM6MzU5CisjOiBidWlsdGluL2ZldGNoLmM6NDQ0IGJ1aWx0aW4vZmV0Y2guYzo0NzkgYnVpbHRpbi9mZXRjaC5jOjQ5NwogbXNnaWQgIiAgKHVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmKSIKIG1zZ3N0ciAiICDvvIjkuI3og73mm7TmlrDmnKzlnLDlvJXnlKjvvIkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0NjIKIG1zZ2lkICJbbmV3IHRhZ10iCiBtc2dzdHIgIlvmlrB0YWddIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzI3CisjOiBidWlsdGluL2ZldGNoLmM6NDY1CiBtc2dpZCAiW25ldyBicmFuY2hdIgogbXNnc3RyICJb5paw5YiG5pSvXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMzMAorIzogYnVpbHRpbi9mZXRjaC5jOjQ2OAogbXNnaWQgIltuZXcgcmVmXSIKIG1zZ3N0ciAiW+aWsOW8leeUqF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozNzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MTMKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKIG1zZ3N0ciAi5LiN6IO95pu05paw5pys5Zyw5byV55SoIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mzc1CisjOiBidWlsdGluL2ZldGNoLmM6NTEzCiBtc2dpZCAiZm9yY2VkIHVwZGF0ZSIKIG1zZ3N0ciAi5by65Yi25pu05pawIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzgxCisjOiBidWlsdGluL2ZldGNoLmM6NTE5CiBtc2dpZCAiKG5vbi1mYXN0LWZvcndhcmQpIgogbXNnc3RyICLvvIjpnZ7lv6vov5vlvI/vvIkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0MTIgYnVpbHRpbi9mZXRjaC5jOjcxOAorIzogYnVpbHRpbi9mZXRjaC5jOjU1MiBidWlsdGluL2ZldGNoLmM6Nzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlc1xuIgogbXNnc3RyICLml6Dms5XmiZPlvIAgJXPvvJolc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDIxCisjOiBidWlsdGluL2ZldGNoLmM6NTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKIG1zZ3N0ciAiJXMg5pyq5Y+R6YCB5omA5pyJ5b+F6aG755qE5a+56LGhXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVqZWN0ICVzIGJlY2F1c2Ugc2hhbGxvdyByb290cyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgdXBkYXRlZCIKK21zZ3N0ciAi5ouS57udICVzIOWboOS4uua1heWFi+mahuS4jeWFgeiuuOiiq+abtOaWsCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjY2NyBidWlsdGluL2ZldGNoLmM6NzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICLmnaXoh6ogJS4qc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTMxCisjOiBidWlsdGluL2ZldGNoLmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJzb21lIGxvY2FsIHJlZnMgY291bGQgbm90IGJlIHVwZGF0ZWQ7IHRyeSBydW5uaW5nXG4iCkBAIC00OTM1LDk4ICs1MTY0LDk4IEBACiAiICdnaXQgcmVtb3RlIHBydW5lICVzJyDmnaXliKDpmaTml6fnmoTjgIHmnInlhrLnqoHnmoTliIbmlK8iCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogYnVpbHRpbi9mZXRjaC5jOjU4MQorIzogYnVpbHRpbi9mZXRjaC5jOjczMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICDvvIglcyDlsIbmiJDkuLrmkYfmkYbnirbmgIHvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogYnVpbHRpbi9mZXRjaC5jOjU4MgorIzogYnVpbHRpbi9mZXRjaC5jOjczMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgaGFzIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgIO+8iCVzIOW3suaIkOS4uuaRh+aRhueKtuaAge+8iSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU4OQorIzogYnVpbHRpbi9mZXRjaC5jOjc1NQogbXNnaWQgIltkZWxldGVkXSIKIG1zZ3N0ciAiW+W3suWIoOmZpF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1OTAgYnVpbHRpbi9yZW1vdGUuYzoxMDU1CisjOiBidWlsdGluL2ZldGNoLmM6NzU2IGJ1aWx0aW4vcmVtb3RlLmM6MTA1MAogbXNnaWQgIihub25lKSIKIG1zZ3N0ciAi77yI5peg77yJIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzA4CisjOiBidWlsdGluL2ZldGNoLmM6Nzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi5ouS57ud6I635Y+W5Yiw6Z2e6KO454mI5pys5bqT55qE5b2T5YmN5YiG5pSvICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzQyCi0jLCBjLWZvcm1hdAotbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCi1tc2dzdHIgIuS4jeefpemBk+WmguS9leS7jiAlcyDojrflj5YiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAi6YCJ6aG5IFwiJXNcIiDnmoTlgLwgXCIlc1wiIOWvueS6jiAlcyDmmK/ml6DmlYjnmoQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICLpgInpobkgXCIlc1wiIOS4uiAlcyDmiYDlv73nlaVcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkyOAorIzogYnVpbHRpbi9mZXRjaC5jOjg1MworIywgYy1mb3JtYXQKK21zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgorbXNnc3RyICLkuI3nn6XpgZPlpoLkvZXku44gJXMg6I635Y+WIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTAxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyAlc1xuIgogbXNnc3RyICLmraPlnKjojrflj5YgJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkzMCBidWlsdGluL3JlbW90ZS5jOjEwMAorIzogYnVpbHRpbi9mZXRjaC5jOjEwMTcgYnVpbHRpbi9yZW1vdGUuYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmV0Y2ggJXMiCiBtc2dzdHIgIuS4jeiDveiOt+WPliAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk0OQorIzogYnVpbHRpbi9mZXRjaC5jOjEwMzYKIG1zZ2lkICIiCiAiTm8gcmVtb3RlIHJlcG9zaXRvcnkgc3BlY2lmaWVkLiAgUGxlYXNlLCBzcGVjaWZ5IGVpdGhlciBhIFVSTCBvciBhXG4iCiAicmVtb3RlIG5hbWUgZnJvbSB3aGljaCBuZXcgcmV2aXNpb25zIHNob3VsZCBiZSBmZXRjaGVkLiIKIG1zZ3N0ciAi5pyq5oyH5a6a6L+c56iL54mI5pys5bqT44CC6K+36YCa6L+H5LiA5LiqVVJM5oiW6L+c56iL54mI5pys5bqT5ZCN5oyH5a6a77yM55So5Lul6I635Y+W5paw5o+Q5Lqk44CCIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTY5CisjOiBidWlsdGluL2ZldGNoLmM6MTA1OQogbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCiBtc2dzdHIgIuaCqOmcgOimgeaMh+WumuS4gOS4qiB0YWcg5ZCN56ew44CCIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAxNQorIzogYnVpbHRpbi9mZXRjaC5jOjExMDcKIG1zZ2lkICItLWRlcHRoIGFuZCAtLXVuc2hhbGxvdyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiLS1kZXB0aCDlkowgLS11bnNoYWxsb3cg5LiN6IO95ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAxNworIzogYnVpbHRpbi9mZXRjaC5jOjExMDkKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAi5a+55LqO5LiA5Liq5a6M5pW055qE54mI5pys5bqT77yM5Y+C5pWwIC0tdW5zaGFsbG93IOayoeacieaEj+S5iSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMzYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTMyCiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiCiBtc2dzdHIgImZldGNoIC0tYWxsIOS4jeiDveW4puS4gOS4queJiOacrOW6k+WPguaVsCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMzgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTM0CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgbWFrZSBzZW5zZSB3aXRoIHJlZnNwZWNzIgotbXNnc3RyICJmZXRjaCAtLWFsbCDluKblvJXnlKjooajovr7lvI/msqHmnInku7vkvZXmhI/kuYkiCittc2dzdHIgImZldGNoIC0tYWxsIOW4puW8leeUqOinhOWImeayoeacieS7u+S9leaEj+S5iSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNDkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlIG9yIHJlbW90ZSBncm91cDogJXMiCiBtc2dzdHIgIuayoeaciei/meagt+eahOi/nOeoi+aIlui/nOeoi+e7hO+8miVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA1NworIzogYnVpbHRpbi9mZXRjaC5jOjExNTMKIG1zZ2lkICJGZXRjaGluZyBhIGdyb3VwIGFuZCBzcGVjaWZ5aW5nIHJlZnNwZWNzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCi1tc2dzdHIgIuiOt+WPlue7hOW5tuaMh+WumuW8leeUqOihqOi+vuW8j+ayoeacieaEj+S5iSIKK21zZ3N0ciAi6I635Y+W57uE5bm25oyH5a6a5byV55So6KeE5YiZ5rKh5pyJ5oSP5LmJIgogCiAjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxMwogbXNnaWQgImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWVzc2FnZT5dIFstLWxvZ1s9PG4+XXwtLW5vLWxvZ10gWy0tZmlsZSA8ZmlsZT5dIgogbXNnc3RyICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dfC0tbm8tbG9nXSBbLS1maWxlIDxmaWxlPl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYgYnVpbHRpbi9ncmVwLmM6NzAwCi0jOiBidWlsdGluL21lcmdlLmM6MjAzIGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUgYnVpbHRpbi9zaG93LXJlZi5jOjE3OQotIzogYnVpbHRpbi90YWcuYzo0NDYgcGFyc2Utb3B0aW9ucy5oOjEzMyBwYXJzZS1vcHRpb25zLmg6MjQzCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2IGJ1aWx0aW4vZ3JlcC5jOjcwMgorIzogYnVpbHRpbi9tZXJnZS5jOjE5NiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzgKKyM6IGJ1aWx0aW4vdGFnLmM6NDQ2IHBhcnNlLW9wdGlvbnMuaDoxMzUgcGFyc2Utb3B0aW9ucy5oOjI0MgogbXNnaWQgIm4iCiBtc2dzdHIgIm4iCiAKQEAgLTUwNTAsMTE3ICs1Mjc5LDEyMSBAQAogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgogbXNnc3RyICLku47mlofku7bkuK3or7vlj5YiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTc5CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwNjMKIG1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFtvcHRpb25zXSBbPHBhdHRlcm4+XSIKIG1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBb6YCJ6aG5XSBbPOaooeW8jz5dIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5NAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDc4CiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBzaGVsbHMiCiBtc2dzdHIgIuW8leeUqOWNoOS9jeespumAgueUqOS6jiBzaGVsbHMiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTk2CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwODAKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHBlcmwiCiBtc2dzdHIgIuW8leeUqOWNoOS9jeespumAgueUqOS6jiBwZXJsIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5OAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDgyCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBweXRob24iCiBtc2dzdHIgIuW8leeUqOWNoOS9jeespumAgueUqOS6jiBweXRob24iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwMAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDg0CiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciB0Y2wiCiBtc2dzdHIgIuW8leeUqOWNoOS9jeespumAgueUqOS6jiB0Y2wiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwMworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDg3CiBtc2dpZCAic2hvdyBvbmx5IDxuPiBtYXRjaGVkIHJlZnMiCiBtc2dzdHIgIuWPquaYvuekuiA8bj4g5Liq5Yy56YWN55qE5byV55SoIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTA4OCBidWlsdGluL3JlcGxhY2UuYzoxNzcKIG1zZ2lkICJmb3JtYXQiCiBtc2dzdHIgIuagvOW8jyIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDA0CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwODgKIG1zZ2lkICJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IgogbXNnc3RyICLovpPlh7rmoLzlvI8iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDg5CiBtc2dpZCAia2V5IgogbXNnc3RyICJrZXkiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNgorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDkwCiBtc2dpZCAiZmllbGQgbmFtZSB0byBzb3J0IG9uIgogbXNnc3RyICLmjpLluo/nmoTlrZfmrrXlkI0iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYwOAorIzogYnVpbHRpbi9mc2NrLmM6NjA3CiBtc2dpZCAiZ2l0IGZzY2sgW29wdGlvbnNdIFs8b2JqZWN0Pi4uLl0iCiBtc2dzdHIgImdpdCBmc2NrIFvpgInpobldIFs85a+56LGhPi4uLl0iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYxNAorIzogYnVpbHRpbi9mc2NrLmM6NjEzCiBtc2dpZCAic2hvdyB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICLmmL7npLrkuI3lj6/ovr7nmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYxNQorIzogYnVpbHRpbi9mc2NrLmM6NjE0CiBtc2dpZCAic2hvdyBkYW5nbGluZyBvYmplY3RzIgogbXNnc3RyICLmmL7npLrmkYfmkYbnmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYxNgorIzogYnVpbHRpbi9mc2NrLmM6NjE1CiBtc2dpZCAicmVwb3J0IHRhZ3MiCiBtc2dzdHIgIuaKpeWRiiB0YWdzIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTcKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNgogbXNnaWQgInJlcG9ydCByb290IG5vZGVzIgogbXNnc3RyICLmiqXlkYrmoLnoioLngrkiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYxOAorIzogYnVpbHRpbi9mc2NrLmM6NjE3CiBtc2dpZCAibWFrZSBpbmRleCBvYmplY3RzIGhlYWQgbm9kZXMiCiBtc2dzdHIgIuWwhue0ouW8leS6puS9nOS4uuajgOafpeeahOWktOiKgueCuSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE5CisjOiBidWlsdGluL2ZzY2suYzo2MTgKIG1zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCiBtc2dzdHIgIuWwhuW8leeUqOaXpeW/l+S9nOS4uuajgOafpeeahOWktOiKgueCue+8iOm7mOiupO+8iSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjIwCisjOiBidWlsdGluL2ZzY2suYzo2MTkKIG1zZ2lkICJhbHNvIGNvbnNpZGVyIHBhY2tzIGFuZCBhbHRlcm5hdGUgb2JqZWN0cyIKIG1zZ3N0ciAi5Lmf6ICD6JmR5YyF5ZKM5aSH55So5a+56LGhIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MjEKKyM6IGJ1aWx0aW4vZnNjay5jOjYyMAogbXNnaWQgImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIKIG1zZ3N0ciAi5ZCv55So5pu05Lil5qC855qE5qOA5p+lIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MjMKKyM6IGJ1aWx0aW4vZnNjay5jOjYyMgogbXNnaWQgIndyaXRlIGRhbmdsaW5nIG9iamVjdHMgaW4gLmdpdC9sb3N0LWZvdW5kIgogbXNnc3RyICLlsIbmkYfmkYblr7nosaHlhpnlhaUgLmdpdC9sb3N0LWZvdW5kIOS4rSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjI0IGJ1aWx0aW4vcHJ1bmUuYzoxMzQKKyM6IGJ1aWx0aW4vZnNjay5jOjYyMyBidWlsdGluL3BydW5lLmM6MTQ0CiBtc2dpZCAic2hvdyBwcm9ncmVzcyIKIG1zZ3N0ciAi5pi+56S66L+b5bqmIgogCi0jOiBidWlsdGluL2djLmM6MjIKKyM6IGJ1aWx0aW4vZ2MuYzoyNAogbXNnaWQgImdpdCBnYyBbb3B0aW9uc10iCiBtc2dzdHIgImdpdCBnYyBb6YCJ6aG5XSIKIAotIzogYnVpbHRpbi9nYy5jOjYzCisjOiBidWlsdGluL2djLmM6ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCAlczogJyVzJyIKIG1zZ3N0ciAi5peg5pWI55qEICVz77yaJyVzJyIKIAotIzogYnVpbHRpbi9nYy5jOjkwCisjOiBidWlsdGluL2djLmM6MTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZWx5IGxvbmcgb2JqZWN0IGRpcmVjdG9yeSAlLipzIgogbXNnc3RyICLkuI3mraPluLjnmoTplb/lr7nosaHnm67lvZUgJS4qcyIKIAotIzogYnVpbHRpbi9nYy5jOjE3OQorIzogYnVpbHRpbi9nYy5jOjI2MgogbXNnaWQgInBydW5lIHVucmVmZXJlbmNlZCBvYmplY3RzIgogbXNnc3RyICLmuIXpmaTmnKrlvJXnlKjnmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxODEKKyM6IGJ1aWx0aW4vZ2MuYzoyNjQKIG1zZ2lkICJiZSBtb3JlIHRob3JvdWdoIChpbmNyZWFzZWQgcnVudGltZSkiCiBtc2dzdHIgIuabtOW9u+W6le+8iOWinuWKoOi/kOihjOaXtumXtO+8iSIKIAotIzogYnVpbHRpbi9nYy5jOjE4MgorIzogYnVpbHRpbi9nYy5jOjI2NQogbXNnaWQgImVuYWJsZSBhdXRvLWdjIG1vZGUiCiBtc2dzdHIgIuWQr+eUqOiHquWKqOWeg+WcvuWbnuaUtuaooeW8jyIKIAotIzogYnVpbHRpbi9nYy5jOjIyMgorIzogYnVpbHRpbi9nYy5jOjI2NgorbXNnaWQgImZvcmNlIHJ1bm5pbmcgZ2MgZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBnYyBydW5uaW5nIgorbXNnc3RyICLlvLrliLbmiafooYwgZ2Mg5Y2z5L2/5Y+m5aSW5LiA5LiqIGdjIOato+WcqOaJp+ihjCIKKworIzogYnVpbHRpbi9nYy5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXV0byBwYWNraW5nIHRoZSByZXBvc2l0b3J5IGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLiBZb3UgbWF5IGFsc29cbiIKQEAgLTUxNjksNDEgKzU0MDIsNDkgQEAKICLoh6rliqjmiZPljIXniYjmnKzlupPku6XmsYLmnIDkvbPmgKfog73jgILmgqjov5jlj6/ku6XmiYvliqjov5DooYwgXCJnaXQgZ2NcIuOAglxuIgogIuWPguingSBcImdpdCBoZWxwIGdjXCIg5Lul6I635Y+W5pu05aSa5L+h5oGv44CCXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzoyNDkKKyMuIGJlIHF1aWV0IG9uIC0tYXV0bworIzogYnVpbHRpbi9nYy5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZ2MgaXMgYWxyZWFkeSBydW5uaW5nIG9uIG1hY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiAodXNlIC0tZm9yY2UgaWYgbm90KSIKK21zZ3N0ciAiIgorIuW3sue7j+acieS4gOS4qiBnYyDmraPov5DooYzlnKjmnLrlmaggJyVzJyBwaWQgJTxQUkl1TUFYPiDvvIjlpoLmnpzkuI3mmK/vvIzkvb/nlKggLS1mb3JjZe+8iSIKKworIzogYnVpbHRpbi9nYy5jOjM0MQogbXNnaWQgIiIKICJUaGVyZSBhcmUgdG9vIG1hbnkgdW5yZWFjaGFibGUgbG9vc2Ugb2JqZWN0czsgcnVuICdnaXQgcHJ1bmUnIHRvIHJlbW92ZSB0aGVtLiIKIG1zZ3N0ciAi5pyJ5aSq5aSa5LiN5Y+v6L6+55qE5p2+5pWj5a+56LGh77yM6L+Q6KGMICdnaXQgcHJ1bmUnIOWIoOmZpOWug+S7rOOAgiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIzCiBtc2dpZCAiZ2l0IGdyZXAgW29wdGlvbnNdIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGdyZXAgW+mAiemhuV0gWy1lXSA85qih5byPPiBbPOS/ruiuoj4uLi5dIFtbLS1dIDzot6/lvoQ+Li4uXSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjE3CisjOiBidWlsdGluL2dyZXAuYzoyMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ3JlcDogZmFpbGVkIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJncmVw77ya5peg5rOV5Yib5bu657q/56iL77yaJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjM2NAorIzogYnVpbHRpbi9ncmVwLmM6MzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjaGRpcjogJXMiCiBtc2dzdHIgIuaXoOazleWIh+aNouebruW9le+8miVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo0NDIgYnVpbHRpbi9ncmVwLmM6NDc3CisjOiBidWlsdGluL2dyZXAuYzo0NDMgYnVpbHRpbi9ncmVwLmM6NDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W5qCR77yIJXPvvIkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ5MgorIzogYnVpbHRpbi9ncmVwLmM6NDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBncmVwIGZyb20gb2JqZWN0IG9mIHR5cGUgJXMiCiBtc2dzdHIgIuaXoOazleaKk+WPluadpeiHquS6jiAlcyDnsbvlnovnmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjU1MAorIzogYnVpbHRpbi9ncmVwLmM6NTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgInN3aXRjaCBgJWMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCiBtc2dzdHIgIuW8gOWFsyBgJWMnIOacn+acm+S4gOS4quaVsOWtl+WAvCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTY3CisjOiBidWlsdGluL2dyZXAuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAi5LiN6IO95omT5byAICclcyciCkBAIC01MjQ2LDE1OCArNTQ4NywxNjIgQEAKIG1zZ3N0ciAi5LiN5Zyo5LqM6L+b5Yi25paH5Lu25Lit5Yy56YWN5qih5byPIgogCiAjOiBidWlsdGluL2dyZXAuYzo2NjIKK21zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCittc2dzdHIgIueUqCB0ZXh0Y29udiDov4fmu6TlmajlpITnkIbkuozov5vliLbmlofku7YiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2NAogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAi5pyA5aSa5Lul5oyH5a6a55qE5rex5bqm5ZCR5LiL5a+75om+IgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2OAogbXNnaWQgInVzZSBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICLkvb/nlKjmianlsZXnmoQgUE9TSVgg5q2j5YiZ6KGo6L6+5byPIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3MQogbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKIG1zZ3N0ciAi5L2/55So5Z+65pys55qEIFBPU0lYIOato+WImeihqOi+vuW8j++8iOm7mOiupO+8iSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjcyCisjOiBidWlsdGluL2dyZXAuYzo2NzQKIG1zZ2lkICJpbnRlcnByZXQgcGF0dGVybnMgYXMgZml4ZWQgc3RyaW5ncyIKIG1zZ3N0ciAi5oqK5qih5byP6Kej5p6Q5Li65Zu65a6a55qE5a2X56ym5LiyIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3NwogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAi5L2/55SoIFBlcmwg5YW85a6555qE5q2j5YiZ6KGo6L6+5byPIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4MAogbXNnaWQgInNob3cgbGluZSBudW1iZXJzIgogbXNnc3RyICLmmL7npLrooYzlj7ciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3OQorIzogYnVpbHRpbi9ncmVwLmM6NjgxCiBtc2dpZCAiZG9uJ3Qgc2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgIuS4jeaYvuekuuaWh+S7tuWQjSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjgwCisjOiBidWlsdGluL2dyZXAuYzo2ODIKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAi5pi+56S65paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NAogbXNnaWQgInNob3cgZmlsZW5hbWVzIHJlbGF0aXZlIHRvIHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgIuaYvuekuuebuOWvueS6jumhtue6p+ebruW9leeahOaWh+S7tuWQjSIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg0CisjOiBidWlsdGluL2dyZXAuYzo2ODYKIG1zZ2lkICJzaG93IG9ubHkgZmlsZW5hbWVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIuWPquaYvuekuuaWh+S7tuWQjeiAjOS4jeaYvuekuuWMuemFjeeahOihjCIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg2CisjOiBidWlsdGluL2dyZXAuYzo2ODgKIG1zZ2lkICJzeW5vbnltIGZvciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIG1zZ3N0ciAi5ZKMIC0tZmlsZXMtd2l0aC1tYXRjaGVzIOWQjOS5iSIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg5CisjOiBidWlsdGluL2dyZXAuYzo2OTEKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgIuWPquaYvuekuuacquWMuemFjeeahOaWh+S7tuWQjSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjkxCisjOiBidWlsdGluL2dyZXAuYzo2OTMKIG1zZ2lkICJwcmludCBOVUwgYWZ0ZXIgZmlsZW5hbWVzIgogbXNnc3RyICLlnKjmlofku7blkI3lkI7ovpPlh7ogTlVMIOWtl+espiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjkzCisjOiBidWlsdGluL2dyZXAuYzo2OTUKIG1zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICLmmL7npLrmgLvljLnphY3ooYzmlbDvvIzogIzkuI3mmL7npLrljLnphY3nmoTooYwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5NAorIzogYnVpbHRpbi9ncmVwLmM6Njk2CiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgIumrmOS6ruaYvuekuuWMuemFjemhuSIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk2CisjOiBidWlsdGluL2dyZXAuYzo2OTgKIG1zZ2lkICJwcmludCBlbXB0eSBsaW5lIGJldHdlZW4gbWF0Y2hlcyBmcm9tIGRpZmZlcmVudCBmaWxlcyIKIG1zZ3N0ciAi5Zyo5LiN5ZCM5paH5Lu255qE5Yy56YWN6aG55LmL6Ze05omT5Y2w56m66KGMIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMAogbXNnaWQgInNob3cgZmlsZW5hbWUgb25seSBvbmNlIGFib3ZlIG1hdGNoZXMgZnJvbSBzYW1lIGZpbGUiCiBtc2dzdHIgIuWPquWcqOWQjOS4gOaWh+S7tueahOWMuemFjemhueeahOS4iumdouaYvuekuuS4gOasoeaWh+S7tuWQjSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAxCisjOiBidWlsdGluL2dyZXAuYzo3MDMKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBhbmQgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAi5pi+56S65Yy56YWN6aG55YmN5ZCO55qEIDxuPiDooYzkuIrkuIvmlociCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNAorIzogYnVpbHRpbi9ncmVwLmM6NzA2CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAi5pi+56S65Yy56YWN6aG55YmNIDxuPiDooYzkuIrkuIvmlociCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNgorIzogYnVpbHRpbi9ncmVwLmM6NzA4CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBhZnRlciBtYXRjaGVzIgogbXNnc3RyICLmmL7npLrljLnphY3pobnlkI4gPG4+IOihjOS4iuS4i+aWhyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA3CisjOiBidWlsdGluL2dyZXAuYzo3MDkKIG1zZ2lkICJzaG9ydGN1dCBmb3IgLUMgTlVNIgogbXNnc3RyICLlv6vmjbfplK4gLUMg5pWw5a2XIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxMgogbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgIuWcqOWMuemFjeeahOWJjemdouaYvuekuuS4gOihjOWHveaVsOWQjSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEyCisjOiBidWlsdGluL2dyZXAuYzo3MTQKIG1zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKIG1zZ3N0ciAi5pi+56S65omA5Zyo5Ye95pWw55qE5YmN5ZCO5YaF5a65IgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNwogbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBmaWxlIgogbXNnc3RyICLku47mlofku7bor7vlj5bmqKHlvI8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxNworIzogYnVpbHRpbi9ncmVwLmM6NzE5CiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICLljLnphY0gPOaooeW8jz4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxOQorIzogYnVpbHRpbi9ncmVwLmM6NzIxCiBtc2dpZCAiY29tYmluZSBwYXR0ZXJucyBzcGVjaWZpZWQgd2l0aCAtZSIKIG1zZ3N0ciAi57uE5ZCI55SoIC1lIOWPguaVsOiuvuWumueahOaooeW8jyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzMxCisjOiBidWlsdGluL2dyZXAuYzo3MzMKIG1zZ2lkICJpbmRpY2F0ZSBoaXQgd2l0aCBleGl0IHN0YXR1cyB3aXRob3V0IG91dHB1dCIKIG1zZ3N0ciAi5LiN6L6T5Ye677yM6ICM55So6YCA5Ye656CB5qCH6K+G5ZG95Lit54q25oCBIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczNQogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgIuWPquaYvuekuuWMuemFjeaJgOacieaooeW8j+eahOaWh+S7tuS4reeahOWMuemFjSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzM1CisjOiBidWlsdGluL2dyZXAuYzo3MzcKIG1zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKIG1zZ3N0ciAi5pi+56S6IGdyZXAg6KGo6L6+5byP55qE6Kej5p6Q5qCRIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQogbXNnaWQgInBhZ2VyIgogbXNnc3RyICLliIbpobUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczOQorIzogYnVpbHRpbi9ncmVwLmM6NzQxCiBtc2dpZCAic2hvdyBtYXRjaGluZyBmaWxlcyBpbiB0aGUgcGFnZXIiCiBtc2dzdHIgIuWIhumhteaYvuekuuWMuemFjeeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQyCisjOiBidWlsdGluL2dyZXAuYzo3NDQKIG1zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCiBtc2dzdHIgIuWFgeiuuOiwg+eUqCBncmVwKDEp77yI5pys5qyh5p6E5bu65b+955Wl77yJIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDMgYnVpbHRpbi9zaG93LXJlZi5jOjE4OAorIzogYnVpbHRpbi9ncmVwLmM6NzQ1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODcKIG1zZ2lkICJzaG93IHVzYWdlIgogbXNnc3RyICLmmL7npLrnlKjms5UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxMAorIzogYnVpbHRpbi9ncmVwLmM6ODEyCiBtc2dpZCAibm8gcGF0dGVybiBnaXZlbi4iCiBtc2dzdHIgIuacquaPkOS+m+aooeW8j+WMuemFjeOAgiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODY1CisjOiBidWlsdGluL2dyZXAuYzo4NzAKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIi0tb3Blbi1maWxlcy1pbi1wYWdlciDku4XnlKjkuo7lt6XkvZzljLoiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4OAorIzogYnVpbHRpbi9ncmVwLmM6ODkzCiBtc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKIG1zZ3N0ciAiLS1jYWNoZWQg5oiWIC0tdW50cmFja2VkIOS4jeiDveS4jiAtLW5vLWluZGV4IOWQjOaXtuS9v+eUqOOAgiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODkzCisjOiBidWlsdGluL2dyZXAuYzo4OTgKIG1zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cy4iCiBtc2dzdHIgIi0tbm8taW5kZXgg5oiWIC0tdW50cmFja2VkIOS4jeiDveWSjOeJiOacrOWQjOaXtuS9v+eUqOOAgiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODk2CisjOiBidWlsdGluL2dyZXAuYzo5MDEKIG1zZ2lkICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBjYW5ub3QgYmUgdXNlZCBmb3IgdHJhY2tlZCBjb250ZW50cy4iCiBtc2dzdHIgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIOS4jeiDveeUqOS6juW3sui3n+i4quWGheWuueOAgiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTA0CisjOiBidWlsdGluL2dyZXAuYzo5MDkKIG1zZ2lkICJib3RoIC0tY2FjaGVkIGFuZCB0cmVlcyBhcmUgZ2l2ZW4uIgogbXNnc3RyICLlkIzml7bnu5nlh7rkuoYgLS1jYWNoZWQg5ZKM5qCR5a+56LGh44CCIgogCkBAIC01NTAyLDU3ICs1NzQ3LDU3IEBACiAiJyVzJzog5pSv5oyB55qEIG1hbiDmiYvlhozmn6XnnIvlmajlkb3ku6TjgIJcbiIKICLor7fkvb/nlKggJ21hbi48dG9vbD4ucGF0aCfjgIIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM0OQorIzogYnVpbHRpbi9oZWxwLmM6MzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVua25vd24gbWFuIHZpZXdlci4iCiBtc2dzdHIgIiclcyfvvJrmnKrnn6XnmoQgbWFuIOafpeeci+WZqOOAgiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzY2CisjOiBidWlsdGluL2hlbHAuYzozNzAKIG1zZ2lkICJubyBtYW4gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgIuayoeaciSBtYW4g5p+l55yL5Zmo5aSE55CG5q2k6K+35rGCIgogCi0jOiBidWlsdGluL2hlbHAuYzozNzQKKyM6IGJ1aWx0aW4vaGVscC5jOjM3OAogbXNnaWQgIm5vIGluZm8gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgIuayoeaciSBpbmZvIOafpeeci+WZqOWkhOeQhuatpOivt+axgiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDIwCisjOiBidWlsdGluL2hlbHAuYzo0MjQKIG1zZ2lkICJEZWZpbmluZyBhdHRyaWJ1dGVzIHBlciBwYXRoIgogbXNnc3RyICLlrprkuYnot6/lvoTnmoTlsZ7mgKciCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyMQorIzogYnVpbHRpbi9oZWxwLmM6NDI1CiBtc2dpZCAiQSBHaXQgZ2xvc3NhcnkiCiBtc2dzdHIgIkdpdCDor43msYfooagiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyMgorIzogYnVpbHRpbi9oZWxwLmM6NDI2CiBtc2dpZCAiU3BlY2lmaWVzIGludGVudGlvbmFsbHkgdW50cmFja2VkIGZpbGVzIHRvIGlnbm9yZSIKIG1zZ3N0ciAi5b+955Wl5oyH5a6a55qE5pyq6Lef6Liq5paH5Lu2IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MjMKKyM6IGJ1aWx0aW4vaGVscC5jOjQyNwogbXNnaWQgIkRlZmluaW5nIHN1Ym1vZHVsZSBwcm9wZXJ0aWVzIgogbXNnc3RyICLlrprkuYnlrZDmqKHnu4TlsZ7mgKciCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyNAorIzogYnVpbHRpbi9oZWxwLmM6NDI4CiBtc2dpZCAiU3BlY2lmeWluZyByZXZpc2lvbnMgYW5kIHJhbmdlcyBmb3IgR2l0IgogbXNnc3RyICLmjIflrpogR2l0IOeahOeJiOacrOWSjOeJiOacrOiMg+WbtCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDI1CisjOiBidWlsdGluL2hlbHAuYzo0MjkKIG1zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQgKGZvciB2ZXJzaW9uIDEuNS4xIG9yIG5ld2VyKSIKIG1zZ3N0ciAi5LiA5LiqIEdpdCDmlZnnqIvvvIjpkojlr7kgMS41LjEg5oiW5pu05paw54mI5pys77yJIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MjYKKyM6IGJ1aWx0aW4vaGVscC5jOjQzMAogbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKIG1zZ3N0ciAiR2l0IOaOqOiNkOeahOW3peS9nOa1geamguiniCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDM4CisjOiBidWlsdGluL2hlbHAuYzo0NDIKIG1zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOlxuIgogbXNnc3RyICLmnIDluLjnlKjnmoQgR2l0IOWQkeWvvOacie+8mlxuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NjAgYnVpbHRpbi9oZWxwLmM6NDc2CisjOiBidWlsdGluL2hlbHAuYzo0NjMgYnVpbHRpbi9oZWxwLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyVzIgogbXNnc3RyICLnlKjms5XvvJolcyVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0OTIKKyM6IGJ1aWx0aW4vaGVscC5jOjQ5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJgZ2l0ICVzJyBpcyBhbGlhc2VkIHRvIGAlcyciCiBtc2dzdHIgImBnaXQgJXMnIOaYryBgJXMnIOeahOWIq+WQjSIKQEAgLTU2NTIsOCArNTg5Nyw4IEBACiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgogbXNnc3RyICLlj5HnjrAgJXMg5Ye6546wIFNIQTEg5Yay56qB77yBIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo2NjkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo2NjkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICLkuI3og73or7sgJXMiCkBAIC01NjgyLDE1NSArNTkyNywxNTUgQEAKIG1zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKIG1zZ3N0ciAiJXMg55qE5omA5pyJ5a2Q5a+56LGh5bm26Z2e6YO95Y+v6L6+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzggYnVpbHRpbi9pbmRleC1wYWNrLmM6ODY4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzkgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODY5CiBtc2dpZCAiZmFpbGVkIHRvIGFwcGx5IGRlbHRhIgogbXNnc3RyICLml6Dms5XlupTnlKggZGVsdGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMTAKIG1zZ2lkICJSZWNlaXZpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi5o6l5pS25a+56LGh5LitIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDEwCiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi57Si5byV5a+56LGh5LitIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM2CiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICLljIXlhrLnqoHvvIhTSEExIOS4jeWMuemFje+8iSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA0MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA0MQogbXNnaWQgImNhbm5vdCBmc3RhdCBwYWNrZmlsZSIKIG1zZ3N0ciAi5LiN6IO95p6a5Li+5YyF5paH5Lu254q25oCBIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQ0CiBtc2dpZCAicGFjayBoYXMganVuayBhdCB0aGUgZW5kIgogbXNnc3RyICLljIXnmoTnu5PlsL7mnInlnoPlnL7mlbDmja4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNTUKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogbXNnc3RyICJwYXJzZV9wYWNrX29iamVjdHMoKSDkuK3pgYfliLDkuI3lj6/nkIbllrvnmoTpl67popgiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNzgKIG1zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgogbXNnc3RyICLlpITnkIYgZGVsdGEg5LitIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDg3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAi5LiN6IO95Yib5bu657q/56iL77yaJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMzAKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICLkuI3lj6/nkIbllrsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0cyIKIG1zZ3N0ciAi5a6M5oiQICVkIOS4quacrOWcsOWvueixoSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmV4cGVjdGVkIHRhaWwgY2hlY2tzdW0gZm9yICVzIChkaXNrIGNvcnJ1cHRpb24/KSIKIG1zZ3N0ciAi5a+5ICVzIOeahOWwvumDqOagoemqjOWHuueOsOaEj+Wklu+8iOejgeebmOaNn+Wdj++8n++8iSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAi5YyF5pyJICVkIOS4quacquino+WGs+eahCBkZWx0YSIKIG1zZ3N0clsxXSAi5YyF5pyJICVkIOS4quacquino+WGs+eahCBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKIG1zZ3N0ciAi5LiN6IO95Y6L57yp6ZmE5Yqg5a+56LGh77yIJWTvvIkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9jYWwgb2JqZWN0ICVzIGlzIGNvcnJ1cHQiCiBtc2dzdHIgIuacrOWcsOWvueixoSAlcyDlt7LmjZ/lnY8iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNzkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyODAKIG1zZ2lkICJlcnJvciB3aGlsZSBjbG9zaW5nIHBhY2sgZmlsZSIKIG1zZ3N0ciAi5YWz6Zet5YyF5paH5Lu25pe25Ye66ZSZIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5YaZ5L+d55WZ5paH5Lu2ICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNsb3NlIHdyaXR0ZW4ga2VlcCBmaWxlICclcyciCiBtc2dzdHIgIuaXoOazleWFs+mXreS/neeVmeaWh+S7tiAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzEzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzE0CiBtc2dpZCAiY2Fubm90IHN0b3JlIHBhY2sgZmlsZSIKIG1zZ3N0ciAi5peg5rOV5a2Y5YKo5YyF5paH5Lu2IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzI0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzI1CiBtc2dpZCAiY2Fubm90IHN0b3JlIGluZGV4IGZpbGUiCiBtc2dzdHIgIuaXoOazleWtmOWCqOe0ouW8leaWh+S7tiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM1NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICLlnY/nmoQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzYzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCiBtc2dzdHIgIuaMh+WumueahOe6v+eoi+aVsOaXoOaViO+8iCVk77yJIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzY3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgogbXNnc3RyICLmsqHmnInnur/nqIvmlK/mjIHvvIzlv73nlaUgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIuaXoOazleaJk+W8gOeOsOWtmOWMheaWh+S7tiAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgIuaXoOazleS4uiAlcyDmiZPlvIDljIXntKLlvJXmlofku7YiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKIG1zZ3N0clswXSAi6Z2eIGRlbHRh77yaJWQg5Liq5a+56LGhIgogbXNnc3RyWzFdICLpnZ4gZGVsdGHvvJolZCDkuKrlr7nosaEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKIG1zZ3N0clswXSAi6ZO+6ZW/ID0gJWQ6ICVsdSDlr7nosaEiCiBtc2dzdHJbMV0gIumTvumVvyA9ICVkOiAlbHUg5a+56LGhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTEwCiBtc2dpZCAiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiCiBtc2dzdHIgIuaXoOazlei/lOWbnuW9k+WJjeW3peS9nOebruW9lSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU1NyBidWlsdGluL2luZGV4LXBhY2suYzoxNTYwCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTcyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3MyBidWlsdGluL2luZGV4LXBhY2suYzoxNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCAlcyIKIG1zZ3N0ciAi6ZSZ6K+v6YCJ6aG5ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkxCiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgIi0tZml4LXRoaW4g5LiN6IO95ZKMIC0tc3RkaW4g5ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKIG1zZ3N0ciAi5YyF5ZCNICclcycg5rKh5pyJ5LulICcucGFjaycg57uT5bC+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjEzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjE0CiBtc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgogbXNnc3RyICItLXZlcmlmeSDmsqHmnInmj5DkvpvljIXlkI3lj4LmlbAiCiAKQEAgLTU5MTksMTEgKzYxNjQsNiBAQAogbXNnaWQgInVuYWJsZSB0byBtb3ZlICVzIHRvICVzIgogbXNnc3RyICLkuI3og73np7vliqggJXMg6IezICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBnaXQgbGluayAlcyIKLW1zZ3N0ciAi5LiN6IO95Yib5bu6IGdpdCBsaW5rICVzIgotCiAjLgogIy4gKiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICclcycgaXMgZWl0aGVyICJSZWluaXRpYWxpemVkCiAjLiAqIGV4aXN0aW5nIiBvciAiSW5pdGlhbGl6ZWQgZW1wdHkiLCB0aGUgc2Vjb25kICIgc2hhcmVkIiBvcgpAQCAtNTk2Nyw3ICs2MjA3LDcgQEAKIG1zZ2lkICJzcGVjaWZ5IHRoYXQgdGhlIGdpdCByZXBvc2l0b3J5IGlzIHRvIGJlIHNoYXJlZCBhbW9uZ3N0IHNldmVyYWwgdXNlcnMiCiBtc2dzdHIgIuaMh+WumiBnaXQg54mI5pys5bqT5piv5aSa5Liq55So5oi35LmL6Ze05YWx5Lqr55qEIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0OTMgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDkzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzkgYnVpbHRpbi9yZXBhY2suYzoxNTUKIG1zZ2lkICJiZSBxdWlldCIKIG1zZ3N0ciAi5L+d5oyB5a6J6Z2ZIgogCkBAIC02MDA3LDM4MSArNjI0NywzODEgQEAKIG1zZ2lkICIgICBvcjogZ2l0IHNob3cgW29wdGlvbnNdIDxvYmplY3Q+Li4uIgogbXNnc3RyICIgICDmiJbogIXvvJpnaXQgc2hvdyBb6YCJ6aG5XSA85a+56LGhPi4uLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTI1CiBtc2dpZCAic3VwcHJlc3MgZGlmZiBvdXRwdXQiCiBtc2dzdHIgIuS4jeaYvuekuuW3ruW8gui+k+WHuiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2CiBtc2dpZCAic2hvdyBzb3VyY2UiCiBtc2dzdHIgIuaYvuekuua6kCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTI3CiBtc2dpZCAiVXNlIG1haWwgbWFwIGZpbGUiCiBtc2dzdHIgIuS9v+eUqOmCruS7tuaYoOWwhOaWh+S7tiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4CiBtc2dpZCAiZGVjb3JhdGUgb3B0aW9ucyIKIG1zZ3N0ciAi5L+u6aWw6YCJ6aG5IgogCi0jOiBidWlsdGluL2xvZy5jOjIzMAorIzogYnVpbHRpbi9sb2cuYzoyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmluYWwgb3V0cHV0OiAlZCAlc1xuIgogbXNnc3RyICLmnIDnu4jovpPlh7rvvJolZCAlc1xuIgogCi0jOiBidWlsdGluL2xvZy5jOjQ1MyBidWlsdGluL2xvZy5jOjU0NQorIzogYnVpbHRpbi9sb2cuYzo0NzMgYnVpbHRpbi9sb2cuYzo1NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICLkuI3og73or7vlj5blr7nosaEgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTY5CisjOiBidWlsdGluL2xvZy5jOjU4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHR5cGU6ICVkIgogbXNnc3RyICLmnKrnn6XnsbvlnovvvJolZCIKIAotIzogYnVpbHRpbi9sb2cuYzo2NjkKKyM6IGJ1aWx0aW4vbG9nLmM6Njg5CiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiZm9ybWF0LmhlYWRlcnMg5rKh5pyJ5YC8IgogCi0jOiBidWlsdGluL2xvZy5jOjc1MQorIzogYnVpbHRpbi9sb2cuYzo3NzEKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgIui+k+WHuuebruW9leWQjeWkqumVvyIKIAotIzogYnVpbHRpbi9sb2cuYzo3NjcKKyM6IGJ1aWx0aW4vbG9nLmM6Nzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIHBhdGNoIGZpbGUgJXMiCiBtc2dzdHIgIuaXoOazleaJk+W8gOihpeS4geaWh+S7tiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo3ODEKKyM6IGJ1aWx0aW4vbG9nLmM6ODAxCiBtc2dpZCAiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iCiBtc2dzdHIgIuWPqumcgOimgeS4gOS4quiMg+WbtOOAgiIKIAotIzogYnVpbHRpbi9sb2cuYzo3ODkKKyM6IGJ1aWx0aW4vbG9nLmM6ODA5CiBtc2dpZCAiTm90IGEgcmFuZ2UuIgogbXNnc3RyICLkuI3mmK/kuIDkuKrojIPlm7TjgIIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODkxCisjOiBidWlsdGluL2xvZy5jOjkxMQogbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCiBtc2dzdHIgIuS/oeWwgemcgOimgemCruS7tuWcsOWdgOagvOW8jyIKIAotIzogYnVpbHRpbi9sb2cuYzo5NjcKKyM6IGJ1aWx0aW4vbG9nLmM6OTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCiBtc2dzdHIgIuS4jeato+W4uOeahCBpbi1yZXBseS10b++8miVzIgogCi0jOiBidWlsdGluL2xvZy5jOjk5NQorIzogYnVpbHRpbi9sb2cuYzoxMDE1CiBtc2dpZCAiZ2l0IGZvcm1hdC1wYXRjaCBbb3B0aW9uc10gWzxzaW5jZT4gfCA8cmV2aXNpb24gcmFuZ2U+XSIKIG1zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBb6YCJ6aG5XSBbPOS7jj4gfCA85L+u6K6i6ZuG6IyD5Zu0Pl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA0MAorIzogYnVpbHRpbi9sb2cuYzoxMDYwCiBtc2dpZCAiVHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCiBtc2dzdHIgIuS4pOS4qui+k+WHuuebruW9le+8nyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTU1CisjOiBidWlsdGluL2xvZy5jOjExNzUKIG1zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgogbXNnc3RyICLkvb/nlKggW1BBVENIIG4vbV3vvIzljbPkvb/lj6rmnInkuIDkuKrooaXkuIEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE1OAorIzogYnVpbHRpbi9sb2cuYzoxMTc4CiBtc2dpZCAidXNlIFtQQVRDSF0gZXZlbiB3aXRoIG11bHRpcGxlIHBhdGNoZXMiCiBtc2dzdHIgIuS9v+eUqCBbUEFUQ0hd77yM5Y2z5L2/5pyJ5aSa5Liq6KGl5LiBIgogCi0jOiBidWlsdGluL2xvZy5jOjExNjIKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4MgogbXNnaWQgInByaW50IHBhdGNoZXMgdG8gc3RhbmRhcmQgb3V0IgogbXNnc3RyICLmiZPljbDooaXkuIHliLDmoIflh4bovpPlh7oiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2NAorIzogYnVpbHRpbi9sb2cuYzoxMTg0CiBtc2dpZCAiZ2VuZXJhdGUgYSBjb3ZlciBsZXR0ZXIiCiBtc2dzdHIgIueUn+aIkOS4gOWwgemZhOS/oSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTY2CisjOiBidWlsdGluL2xvZy5jOjExODYKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgIuS9v+eUqOeugOWNleeahOaVsOWtl+W6j+WIl+S9nOS4uui+k+WHuuaWh+S7tuWQjSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTY3CisjOiBidWlsdGluL2xvZy5jOjExODcKIG1zZ2lkICJzZngiCiBtc2dzdHIgIuWQjue8gCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTY4CisjOiBidWlsdGluL2xvZy5jOjExODgKIG1zZ2lkICJ1c2UgPHNmeD4gaW5zdGVhZCBvZiAnLnBhdGNoJyIKIG1zZ3N0ciAi5L2/55SoIDzlkI7nvIA+IOS7o+abvyAnLnBhdGNoJyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTcwCisjOiBidWlsdGluL2xvZy5jOjExOTAKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICLooaXkuIHku6UgPG4+IOW8gOWni+e8luWPt++8jOiAjOS4jeaYrzEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE3MgorIzogYnVpbHRpbi9sb2cuYzoxMTkyCiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICLmoIforrDooaXkuIHns7vliJfmmK/nrKzlh6DmrKHph43liLYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE3NAorIzogYnVpbHRpbi9sb2cuYzoxMTk0CiBtc2dpZCAiVXNlIFs8cHJlZml4Pl0gaW5zdGVhZCBvZiBbUEFUQ0hdIgogbXNnc3RyICLkvb/nlKggWzzliY3nvIA+XSDku6Pmm78gW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTc3CisjOiBidWlsdGluL2xvZy5jOjExOTcKIG1zZ2lkICJzdG9yZSByZXN1bHRpbmcgZmlsZXMgaW4gPGRpcj4iCiBtc2dzdHIgIuaKiue7k+aenOaWh+S7tuWtmOWCqOWcqCA8ZGlyPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTgwCisjOiBidWlsdGluL2xvZy5jOjEyMDAKIG1zZ2lkICJkb24ndCBzdHJpcC9hZGQgW1BBVENIXSIKIG1zZ3N0ciAi5LiN5Yig6ZmkL+a3u+WKoCBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjExODMKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwMwogbXNnaWQgImRvbid0IG91dHB1dCBiaW5hcnkgZGlmZnMiCiBtc2dzdHIgIuS4jei+k+WHuuS6jOi/m+WItuW3ruW8giIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTg1CisjOiBidWlsdGluL2xvZy5jOjEyMDUKIG1zZ2lkICJkb24ndCBpbmNsdWRlIGEgcGF0Y2ggbWF0Y2hpbmcgYSBjb21taXQgdXBzdHJlYW0iCiBtc2dzdHIgIuS4jeWMheWQq+W3suWcqOS4iua4uOaPkOS6pOS4reeahOihpeS4gSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTg3CisjOiBidWlsdGluL2xvZy5jOjEyMDcKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgIuaYvuekuue6r+ihpeS4geagvOW8j+iAjOmdnum7mOiupOeahO+8iOihpeS4gSvnirbmgIHvvIkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE4OQorIzogYnVpbHRpbi9sb2cuYzoxMjA5CiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICLpgq7ku7blj5HpgIEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5MAorIzogYnVpbHRpbi9sb2cuYzoxMjEwCiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICJoZWFkZXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5MQorIzogYnVpbHRpbi9sb2cuYzoxMjExCiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKIG1zZ3N0ciAi5re75Yqg6YKu5Lu25aS0IgogCi0jOiBidWlsdGluL2xvZy5jOjExOTIgYnVpbHRpbi9sb2cuYzoxMTk0CisjOiBidWlsdGluL2xvZy5jOjEyMTIgYnVpbHRpbi9sb2cuYzoxMjE0CiBtc2dpZCAiZW1haWwiCiBtc2dzdHIgIumCruS7tuWcsOWdgCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTkyCisjOiBidWlsdGluL2xvZy5jOjEyMTIKIG1zZ2lkICJhZGQgVG86IGhlYWRlciIKIG1zZ3N0ciAi5re75Yqg5pS25Lu25Lq6IgogCi0jOiBidWlsdGluL2xvZy5jOjExOTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNAogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICLmt7vliqDmioTpgIEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5NgorIzogYnVpbHRpbi9sb2cuYzoxMjE2CiBtc2dpZCAiaWRlbnQiCiBtc2dzdHIgImlkZW50IgogCi0jOiBidWlsdGluL2xvZy5jOjExOTcKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNwogbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCiBtc2dzdHIgIuiuvue9riBGcm9tIOWcsOWdgOS4uiA8aWRlbnQ+77yI5aaC6Iul5LiN5o+Q5L6b77yM55So5o+Q5Lqk6ICFSUTlgZrkuLrlnLDlnYDvvIkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5OQorIzogYnVpbHRpbi9sb2cuYzoxMjE5CiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAibWVzc2FnZS1pZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjAwCisjOiBidWlsdGluL2xvZy5jOjEyMjAKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgIuS9v+esrOS4gOWwgemCruS7tuS9nOS4uuWvuSA8bWVzc2FnZS1pZD4g55qE5Zue5aSNIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDEgYnVpbHRpbi9sb2cuYzoxMjA0CisjOiBidWlsdGluL2xvZy5jOjEyMjEgYnVpbHRpbi9sb2cuYzoxMjI0CiBtc2dpZCAiYm91bmRhcnkiCiBtc2dzdHIgIui+ueeVjCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjAyCisjOiBidWlsdGluL2xvZy5jOjEyMjIKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICLpmYTku7bmlrnlvI/mt7vliqDooaXkuIEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwNQorIzogYnVpbHRpbi9sb2cuYzoxMjI1CiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAi5YaF6IGU5pi+56S66KGl5LiBIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTIyOQogbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgogbXNnc3RyICLlkK/nlKjpgq7ku7bnur/ntKLvvIzpo47moLzvvJrmtYXvvIzmt7EiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIxMQorIzogYnVpbHRpbi9sb2cuYzoxMjMxCiBtc2dpZCAic2lnbmF0dXJlIgogbXNnc3RyICLnrb7lkI0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIxMgorIzogYnVpbHRpbi9sb2cuYzoxMjMyCiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgogbXNnc3RyICLmt7vliqDkuIDkuKrnrb7lkI0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIxNAorIzogYnVpbHRpbi9sb2cuYzoxMjMzCiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKIG1zZ3N0ciAi5LiN6KaB5omT5Y2w6KGl5LiB5paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2xvZy5jOjEyODgKKyM6IGJ1aWx0aW4vbG9nLmM6MTMwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgogbXNnc3RyICLljIXlkKvml6DmlYjnmoTouqvku73moIfor4bvvJolcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzAzCisjOiBidWlsdGluL2xvZy5jOjEzMjIKIG1zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIi1uIOWSjCAtayDkupLmlqXjgIIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMwNQorIzogYnVpbHRpbi9sb2cuYzoxMzI0CiBtc2dpZCAiLS1zdWJqZWN0LXByZWZpeCBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIi0tc3ViamVjdC1wcmVmaXgg5ZKMIC1rIOS6kuaWpeOAgiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzEzCisjOiBidWlsdGluL2xvZy5jOjEzMzIKIG1zZ2lkICItLW5hbWUtb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLW5hbWUtb25seSDml6DmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMxNQorIzogYnVpbHRpbi9sb2cuYzoxMzM0CiBtc2dpZCAiLS1uYW1lLXN0YXR1cyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLW5hbWUtc3RhdHVzIOaXoOaEj+S5iSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzE3CisjOiBidWlsdGluL2xvZy5jOjEzMzYKIG1zZ2lkICItLWNoZWNrIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tY2hlY2sg5peg5oSP5LmJIgogCi0jOiBidWlsdGluL2xvZy5jOjEzNDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTM1OQogbXNnaWQgInN0YW5kYXJkIG91dHB1dCwgb3IgZGlyZWN0b3J5LCB3aGljaCBvbmU/IgogbXNnc3RyICLmoIflh4bovpPlh7rmiJbnm67lvZXvvIzlk6rkuIDkuKrvvJ8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM0MgorIzogYnVpbHRpbi9sb2cuYzoxMzYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIuS4jeiDveWIm+W7uuebruW9lSAnJXMnIgogCi0jOiBidWlsdGluL2xvZy5jOjE0OTAKKyM6IGJ1aWx0aW4vbG9nLmM6MTUwOQogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICLml6Dms5XliJvlu7rovpPlh7rmlofku7YiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzOQorIzogYnVpbHRpbi9sb2cuYzoxNTU4CiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPOS4iua4uD4gWzzlpLQ+IFs86ZmQ5Yi2Pl1dXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTk0CisjOiBidWlsdGluL2xvZy5jOjE2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBmaW5kIGEgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBwbGVhc2Ugc3BlY2lmeSA8dXBzdHJlYW0+IG1hbnVhbGx5LlxuIgogbXNnc3RyICLkuI3og73mib7liLDot5/ouKrnmoTov5znqIvliIbmlK/vvIzor7fmiYvlt6XmjIflrpogPHVwc3RyZWFtPuOAglxuIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MDcgYnVpbHRpbi9sb2cuYzoxNjA5IGJ1aWx0aW4vbG9nLmM6MTYyMQorIzogYnVpbHRpbi9sb2cuYzoxNjI2IGJ1aWx0aW4vbG9nLmM6MTYyOCBidWlsdGluL2xvZy5jOjE2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBjb21taXQgJXMiCiBtc2dzdHIgIuacquefpeaPkOS6pCAlcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQwOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjM5OAogbXNnaWQgImdpdCBscy1maWxlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCBscy1maWxlcyBb6YCJ6aG5XSBbPOaWh+S7tj4uLi5dIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU1CiBtc2dpZCAiaWRlbnRpZnkgdGhlIGZpbGUgc3RhdHVzIHdpdGggdGFncyIKIG1zZ3N0ciAi55So5qCH562+5qCH6K+G5paH5Lu255qE54q25oCBIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU3CiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCiBtc2dzdHIgIuS9v+eUqOWwj+WGmeWtl+avjeihqOekuiAn5YGH6K6+5pyq5pS55Y+Y55qEJyDmlofku7YiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTkKIG1zZ2lkICJzaG93IGNhY2hlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IChkZWZhdWx0KSIKIG1zZ3N0ciAi5pi+56S657yT5a2Y55qE5paH5Lu277yI6buY6K6k77yJIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDcxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDYxCiBtc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIuaYvuekuuW3suWIoOmZpOeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MwogbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi5pi+56S65bey5L+u5pS555qE5paH5Lu2IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDc1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDY1CiBtc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLmmL7npLrlhbblroPmlofku7YiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjcKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi5pi+56S65b+955Wl55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDgwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDcwCiBtc2dpZCAic2hvdyBzdGFnZWQgY29udGVudHMnIG9iamVjdCBuYW1lIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIuaYvuekuuaaguWtmOWMuuWGheWuueeahOWvueixoeWQjeensCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MgorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MgogbXNnaWQgInNob3cgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0gdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQiCiBtc2dzdHIgIuaYvuekuuaWh+S7tuezu+e7n+mcgOimgeWIoOmZpOeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NAogbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZSBvbmx5IgogbXNnc3RyICLlj6rmmL7npLrigJzlhbbku5bigJ3nm67lvZXnmoTlkI3np7AiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzcKIG1zZ2lkICJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIgogbXNnc3RyICLkuI3mmL7npLrnqbrnm67lvZUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODAKIG1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIuaYvuekuuacquWQiOW5tueahOaWh+S7tiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MgorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MgogbXNnaWQgInNob3cgcmVzb2x2ZS11bmRvIGluZm9ybWF0aW9uIgogbXNnc3RyICLmmL7npLogcmVzb2x2ZS11bmRvIOS/oeaBryIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NAogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAi5Yy56YWN5o6S6Zmk5paH5Lu255qE5qih5byPIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDk3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDg3CiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAi5LuOIDzmlofku7Y+IOS4reivu+WPluaOkumZpOaooeW8jyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwMAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MAogbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgogbXNnc3RyICLku44gPOaWh+S7tj4g6K+75Y+W6aKd5aSW55qE5q+P5Liq55uu5b2V55qE5o6S6Zmk5qih5byPIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTAyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDkyCiBtc2dpZCAiYWRkIHRoZSBzdGFuZGFyZCBnaXQgZXhjbHVzaW9ucyIKIG1zZ3N0ciAi5re75Yqg5qCH5YeG55qEIGdpdCDmjpLpmaQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTUKIG1zZ2lkICJtYWtlIHRoZSBvdXRwdXQgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAi5pi+56S655u45a+55LqO6aG257qn55uu5b2V55qE5paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTA4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDk4CiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICLlpoLmnpzku7vkvZUgPOaWh+S7tj4g6YO95LiN5Zyo57Si5byV5Yy677yM6KeG5Li66ZSZ6K+vIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTA5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDk5CiBtc2dpZCAidHJlZS1pc2giCiBtc2dzdHIgIuagkeaIluaPkOS6pCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUwMAogbXNnaWQgInByZXRlbmQgdGhhdCBwYXRocyByZW1vdmVkIHNpbmNlIDx0cmVlLWlzaD4gYXJlIHN0aWxsIHByZXNlbnQiCiBtc2dzdHIgIuWBh+ijheiHquS7jiA85qCR5oiW5o+Q5LqkPiDkuYvlkI7liKDpmaTnmoTot6/lvoTku43nhLblrZjlnKgiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDIKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICLmmL7npLrosIPor5XmlbDmja4iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjI3CisjOiBidWlsdGluL2xzLXRyZWUuYzoyOAogbXNnaWQgImdpdCBscy10cmVlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBscy10cmVlIFs86YCJ6aG5Pl0gPOagkeaIluaPkOS6pD4gWzzot6/lvoQ+Li4uXSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI1CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMjYKIG1zZ2lkICJvbmx5IHNob3cgdHJlZXMiCiBtc2dzdHIgIuWPquaYvuekuuagkSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI3CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMjgKIG1zZ2lkICJyZWN1cnNlIGludG8gc3VidHJlZXMiCiBtc2dzdHIgIumAkuW9kuWIsOWtkOagkSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI5CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzAKIG1zZ2lkICJzaG93IHRyZWVzIHdoZW4gcmVjdXJzaW5nIgogbXNnc3RyICLlvZPpgJLlvZLml7bmmL7npLrmoJEiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMgorIzogYnVpbHRpbi9scy10cmVlLmM6MTMzCiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAi5p2h55uu5LulTlVM5a2X56ym57uI5q2iIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzMKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNAogbXNnaWQgImluY2x1ZGUgb2JqZWN0IHNpemUiCiBtc2dzdHIgIuWMheaLrOWvueixoeWkp+WwjyIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTM1IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNworIzogYnVpbHRpbi9scy10cmVlLmM6MTM2IGJ1aWx0aW4vbHMtdHJlZS5jOjEzOAogbXNnaWQgImxpc3Qgb25seSBmaWxlbmFtZXMiCiBtc2dzdHIgIuWPquWIl+WHuuaWh+S7tuWQjSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTQwCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDEKIG1zZ2lkICJ1c2UgZnVsbCBwYXRoIG5hbWVzIgogbXNnc3RyICLkvb/nlKjmlofku7bnmoTlhajot6/lvoQiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MgorIzogYnVpbHRpbi9scy10cmVlLmM6MTQzCiBtc2dpZCAibGlzdCBlbnRpcmUgdHJlZTsgbm90IGp1c3QgY3VycmVudCBkaXJlY3RvcnkgKGltcGxpZXMgLS1mdWxsLW5hbWUpIgogbXNnc3RyICLliJflh7rmlbTkuKrmoJHvvJvkuI3ku4Xku4XlvZPliY3nm67lvZXvvIjpmpDlkKsgLS1mdWxsLW5hbWXvvIkiCiAKQEAgLTY0MTYsMTQ5ICs2NjU2LDE0OSBAQAogbXNnaWQgIkF2YWlsYWJsZSBjdXN0b20gc3RyYXRlZ2llcyBhcmU6IgogbXNnc3RyICLlj6/nlKjnmoToh6rlrprkuYnnrZbnlaXmnInvvJoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTEKIG1zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICLlnKjlkIjlubbnmoTmnIDlkI7kuI3mmL7npLrlt67lvILnu5/orqEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTQKIG1zZ2lkICJzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgIuWcqOWQiOW5tueahOacgOWQjuaYvuekuuW3ruW8gue7n+iuoSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMgorIzogYnVpbHRpbi9tZXJnZS5jOjE5NQogbXNnaWQgIihzeW5vbnltIHRvIC0tc3RhdCkiCiBtc2dzdHIgIu+8iOWSjCAtLXN0YXQg5ZCM5LmJ77yJIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA0CisjOiBidWlsdGluL21lcmdlLmM6MTk3CiBtc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLlnKjlkIjlubbmj5DkuqTkv6Hmga/kuK3mt7vliqDvvIjmnIDlpJogPG4+IOadoe+8ieeyvueugOaPkOS6pOiusOW9lSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwNworIzogYnVpbHRpbi9tZXJnZS5jOjIwMAogbXNnaWQgImNyZWF0ZSBhIHNpbmdsZSBjb21taXQgaW5zdGVhZCBvZiBkb2luZyBhIG1lcmdlIgogbXNnc3RyICLliJvlu7rkuIDkuKrljZXni6znmoTmj5DkuqTogIzkuI3mmK/lgZrkuIDmrKHlkIjlubYiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDIKIG1zZ2lkICJwZXJmb3JtIGEgY29tbWl0IGlmIHRoZSBtZXJnZSBzdWNjZWVkcyAoZGVmYXVsdCkiCiBtc2dzdHIgIuWmguaenOWQiOW5tuaIkOWKn++8jOaJp+ihjOS4gOasoeaPkOS6pO+8iOm7mOiupO+8iSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxMQorIzogYnVpbHRpbi9tZXJnZS5jOjIwNAogbXNnaWQgImVkaXQgbWVzc2FnZSBiZWZvcmUgY29tbWl0dGluZyIKIG1zZ3N0ciAi5Zyo5o+Q5Lqk5YmN57yW6L6R5o+Q5Lqk6K+05piOIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjEyCisjOiBidWlsdGluL21lcmdlLmM6MjA1CiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKIG1zZ3N0ciAi5YWB6K645b+r6L+b77yI6buY6K6k77yJIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE0CisjOiBidWlsdGluL21lcmdlLmM6MjA3CiBtc2dpZCAiYWJvcnQgaWYgZmFzdC1mb3J3YXJkIGlzIG5vdCBwb3NzaWJsZSIKIG1zZ3N0ciAi5aaC5p6c5LiN6IO95b+r6L+b5bCx5pS+5byD5ZCI5bm2IgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE4CisjOiBidWlsdGluL21lcmdlLmM6MjExCiBtc2dpZCAiVmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgogbXNnc3RyICLpqozor4HmjIflrprnmoTmj5DkuqTmmK/lkKbljIXlkKvkuIDkuKrmnInmlYjnmoQgR1BHIOetvuWQjSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL25vdGVzLmM6NzM4IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE0CisjOiBidWlsdGluL21lcmdlLmM6MjEyIGJ1aWx0aW4vbm90ZXMuYzo3MzggYnVpbHRpbi9yZXZlcnQuYzo4OQogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICLnrZbnlaUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTMKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSB0byB1c2UiCiBtc2dzdHIgIuimgeS9v+eUqOeahOWQiOW5tuetlueVpSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyMQorIzogYnVpbHRpbi9tZXJnZS5jOjIxNAogbXNnaWQgIm9wdGlvbj12YWx1ZSIKIG1zZ3N0ciAib3B0aW9uPXZhbHVlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIyCisjOiBidWlsdGluL21lcmdlLmM6MjE1CiBtc2dpZCAib3B0aW9uIGZvciBzZWxlY3RlZCBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAi5omA6YCJ55qE5ZCI5bm2562W55Wl55qE6YCJ6aG5IgogCi0jOiBidWlsdGluL21lcmdlLmM6MjI0CisjOiBidWlsdGluL21lcmdlLmM6MjE3CiBtc2dpZCAibWVyZ2UgY29tbWl0IG1lc3NhZ2UgKGZvciBhIG5vbi1mYXN0LWZvcndhcmQgbWVyZ2UpIgogbXNnc3RyICLlkIjlubbnmoTmj5DkuqTor7TmmI7vvIjpkojlr7npnZ7lv6vov5vlvI/lkIjlubbvvIkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjEKIG1zZ2lkICJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAi5pS+5byD5b2T5YmN5q2j5Zyo6L+b6KGM55qE5ZCI5bm2IgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU3CisjOiBidWlsdGluL21lcmdlLmM6MjUwCiBtc2dpZCAiY291bGQgbm90IHJ1biBzdGFzaC4iCiBtc2dzdHIgIuS4jeiDvei/m+ihjOi/m+W6puS/neWtmOOAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2MgorIzogYnVpbHRpbi9tZXJnZS5jOjI1NQogbXNnaWQgInN0YXNoIGZhaWxlZCIKIG1zZ3N0ciAi6L+b5bqm5L+d5a2Y5aSx6LSlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjY3CisjOiBidWlsdGluL21lcmdlLmM6MjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdDogJXMiCiBtc2dzdHIgIuS4jeaYr+S4gOS4quacieaViOWvueixoe+8miVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6Mjg2IGJ1aWx0aW4vbWVyZ2UuYzozMDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzkgYnVpbHRpbi9tZXJnZS5jOjI5NgogbXNnaWQgInJlYWQtdHJlZSBmYWlsZWQiCiBtc2dzdHIgIuivu+WPluagkeWksei0pSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiBidWlsdGluL21lcmdlLmM6MzMzCisjOiBidWlsdGluL21lcmdlLmM6MzI2CiBtc2dpZCAiIChub3RoaW5nIHRvIHNxdWFzaCkiCiBtc2dzdHIgIiDvvIjml6Dlj6/ljovnvKnvvIkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICLljovnvKnmj5DkuqQgLS0g5pyq5pu05pawIEhFQURcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM3OAorIzogYnVpbHRpbi9tZXJnZS5jOjM3MQogbXNnaWQgIldyaXRpbmcgU1FVQVNIX01TRyIKIG1zZ3N0ciAi5YaZ5YWlIFNRVUFTSF9NU0ciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozODAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozNzMKIG1zZ2lkICJGaW5pc2hpbmcgU1FVQVNIX01TRyIKIG1zZ3N0ciAi5a6M5oiQIFNRVUFTSF9NU0ciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0MDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2UgbWVzc2FnZSAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICLml6DlkIjlubbkv6Hmga8gLS0g5pyq5pu05pawIEhFQURcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ1MworIzogYnVpbHRpbi9tZXJnZS5jOjQ0NgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgY29tbWl0IgogbXNnc3RyICInJXMnIOayoeacieaMh+WQkeS4gOS4quaPkOS6pCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjU2NQorIzogYnVpbHRpbi9tZXJnZS5jOjU1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBzdHJpbmc6ICVzIgogbXNnc3RyICLlnY/nmoQgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyDlrZfnrKbkuLLvvJolcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY1NworIzogYnVpbHRpbi9tZXJnZS5jOjY1MAogbXNnaWQgImdpdCB3cml0ZS10cmVlIGZhaWxlZCB0byB3cml0ZSBhIHRyZWUiCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIOaXoOazleWGmeWFpeS4gOagkeWvueixoSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY4NQorIzogYnVpbHRpbi9tZXJnZS5jOjY3OAogbXNnaWQgIk5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCiBtc2dzdHIgIuS4jeiDveWkhOeQhuS4pOS4quWktOWQiOW5tuS5i+WklueahOS7u+S9leaTjeS9nOOAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY5OQorIzogYnVpbHRpbi9tZXJnZS5jOjY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogbXNnc3RyICJtZXJnZS1yZWN1cnNpdmUg55qE5pyq55+l6YCJ6aG577yaLVglcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjcxMworIzogYnVpbHRpbi9tZXJnZS5jOjcwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCiBtc2dzdHIgIuS4jeiDveWGmSAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjgwMgorIzogYnVpbHRpbi9tZXJnZS5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBmcm9tICclcyciCiBtc2dzdHIgIuS4jeiDveS7jiAnJXMnIOivu+WPliIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjgxMQorIzogYnVpbHRpbi9tZXJnZS5jOjgwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgY29tbWl0dGluZyBtZXJnZTsgdXNlICdnaXQgY29tbWl0JyB0byBjb21wbGV0ZSB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIuacquaPkOS6pOWQiOW5tu+8jOS9v+eUqCAnZ2l0IGNvbW1pdCcg5a6M5oiQ5q2k5qyh5ZCI5bm244CCXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MTcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgpAQCAtNjU3Miw0NyArNjgxMiw0NyBAQAogIlxuIgogIuS7pSAnJWMnIOW8gOWktOeahOihjOWwhuiiq+W/veeVpe+8jOiAjOS4lOepuuaPkOS6pOivtOaYjuWwhuS8mue7iOatouaPkOS6pOOAglxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODQxCisjOiBidWlsdGluL21lcmdlLmM6ODM0CiBtc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgogbXNnc3RyICLnqbrmj5DkuqTkv6Hmga/jgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgogbXNnc3RyICLlpKrmo5LkuobjgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkxOAorIzogYnVpbHRpbi9tZXJnZS5jOjkxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2UgZmFpbGVkOyBmaXggY29uZmxpY3RzIGFuZCB0aGVuIGNvbW1pdCB0aGUgcmVzdWx0LlxuIgogbXNnc3RyICLoh6rliqjlkIjlubblpLHotKXvvIzkv67mraPlhrLnqoHnhLblkI7mj5DkuqTkv67mraPnmoTnu5PmnpzjgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkzNAorIzogYnVpbHRpbi9tZXJnZS5jOjkyNwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKIG1zZ3N0ciAiJyVzJyDkuI3mmK/kuIDkuKrmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NjgKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIuayoeacieW9k+WJjeWIhuaUr+OAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk3NworIzogYnVpbHRpbi9tZXJnZS5jOjk3MAogbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi5b2T5YmN5YiG5pSv5rKh5pyJ5a+55bqU55qE6L+c56iL54mI5pys5bqT44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTc5CisjOiBidWlsdGluL21lcmdlLmM6OTcyCiBtc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICLlvZPliY3liIbmlK/msqHmnInlrprkuYnpu5jorqTnmoTkuIrmuLjliIbmlK/jgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5ODQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKIG1zZ3N0ciAi5a+55LqOICVzIOayoeacieadpeiHqiAlcyDnmoTov5znqIvot5/ouKrliIbmlK8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQwCisjOiBidWlsdGluL21lcmdlLmM6MTEzMwogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIHRvIGFib3J0IChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAi5rKh5pyJ6KaB57uI5q2i55qE5ZCI5bm277yITUVSR0VfSEVBRCDkuKLlpLHvvInjgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTU2IGdpdC1wdWxsLnNoOjMxCisjOiBidWlsdGluL21lcmdlLmM6MTE0OSBnaXQtcHVsbC5zaDozMQogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgpAQCAtNjYyMCwxMSArNjg2MCwxMSBAQAogIuaCqOWwmuacque7k+adn+aCqOeahOWQiOW5tu+8iOWtmOWcqCBNRVJHRV9IRUFE77yJ44CCXG4iCiAi6K+35Zyo5ZCI5bm25YmN5YWI5o+Q5Lqk5oKo55qE5L+u5pS544CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE1OSBnaXQtcHVsbC5zaDozNAorIzogYnVpbHRpbi9tZXJnZS5jOjExNTIgZ2l0LXB1bGwuc2g6MzQKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIuaCqOWwmuacque7k+adn+aCqOeahOWQiOW5tu+8iOWtmOWcqCBNRVJHRV9IRUFE77yJ44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE2MworIzogYnVpbHRpbi9tZXJnZS5jOjExNTYKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgY2FuIG1lcmdlLiIKQEAgLTY2MzIsMTM3ICs2ODcyLDE0NSBAQAogIuaCqOWwmuacque7k+adn+aCqOeahOaLo+mAie+8iOWtmOWcqCBDSEVSUllfUElDS19IRUFE77yJ44CCXG4iCiAi6K+35Zyo5ZCI5bm25YmN5YWI5o+Q5Lqk5oKo55qE5L+u5pS544CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE2NgorIzogYnVpbHRpbi9tZXJnZS5jOjExNTkKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIuaCqOWwmuacque7k+adn+aCqOeahOaLo+mAie+8iOWtmOWcqCBDSEVSUllfUElDS19IRUFE77yJ44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE3NQorIzogYnVpbHRpbi9tZXJnZS5jOjExNjgKIG1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKIG1zZ3N0ciAi5oKo5LiN6IO95bCGIC0tc3F1YXNoIOS4jiAtLW5vLWZmIOWQjOaXtuS9v+eUqOOAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExODQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTc3CiBtc2dpZCAiTm8gY29tbWl0IHNwZWNpZmllZCBhbmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm90IHNldC4iCiBtc2dzdHIgIuacquaMh+WumuaPkOS6pOW5tuS4lCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSDmnKrorr7nva7jgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjE2CisjOiBidWlsdGluL21lcmdlLmM6MTIwOQogbXNnaWQgIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIuWPquiDveWwhuS4gOS4quaPkOS6pOWQiOW5tuWIsOepuuWIhuaUr+S4iiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjEyCiBtc2dpZCAiU3F1YXNoIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQgbm90IHN1cHBvcnRlZCB5ZXQiCiBtc2dzdHIgIuWwmuS4jeaUr+aMgeWIsOepuuWIhuaUr+eahOWOi+e8qeaPkOS6pCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMjEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjE0CiBtc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCiBtc2dzdHIgIuWIsOepuuWIhuaUr+eahOmdnuW/q+i/m+W8j+aPkOS6pOayoeacieaEj+S5iSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMjYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIC0gbm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIiVzIC0g5LiN6IO96KKr5ZCI5bm2IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI3NworIzogYnVpbHRpbi9tZXJnZS5jOjEyNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSwgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAi5o+Q5LqkICVzIOacieS4gOS4qumdnuWPr+S/oeeahOWjsOensOadpeiHqiAlcyDnmoQgR1BHIOetvuWQjeOAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyODAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBiYWQgR1BHIHNpZ25hdHVyZSBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICLmj5DkuqQgJXMg5pyJ5LiA5Liq6ZSZ6K+v55qE5aOw56ew5p2l6IeqICVzIOeahCBHUEcg562+5ZCN44CCIgogCiAjLiAnTicKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjgzCisjOiBidWlsdGluL21lcmdlLmM6MTI3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBhIEdQRyBzaWduYXR1cmUuIgogbXNnc3RyICLmj5DkuqQgJXMg5rKh5pyJ5LiA5LiqIEdQRyDnrb7lkI3jgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg2CisjOiBidWlsdGluL21lcmdlLmM6MTI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCiBtc2dzdHIgIuaPkOS6pCAlcyDmnInkuIDkuKrmnaXoh6ogJXMg55qE5aW955qEIEdQRyDnrb7lkI3jgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzLi4lc1xuIgogbXNnc3RyICLmm7TmlrAgJXMuLiVzXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDA5CisjOiBidWlsdGluL21lcmdlLmM6MTQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgcmVhbGx5IHRyaXZpYWwgaW4taW5kZXggbWVyZ2UuLi5cbiIKIG1zZ3N0ciAi5bCd6K+V6Z2e5bi45bCP55qE57Si5byV5YaF5ZCI5bm2Li4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDE2CisjOiBidWlsdGluL21lcmdlLmM6MTQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3BlLlxuIgogbXNnc3RyICLml6DjgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDQxCiBtc2dpZCAiTm90IHBvc3NpYmxlIHRvIGZhc3QtZm9yd2FyZCwgYWJvcnRpbmcuIgogbXNnc3RyICLml6Dms5Xlv6vov5vvvIznu4jmraLjgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDcxIGJ1aWx0aW4vbWVyZ2UuYzoxNTUwCisjOiBidWlsdGluL21lcmdlLmM6MTQ2NCBidWlsdGluL21lcmdlLmM6MTU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXdpbmRpbmcgdGhlIHRyZWUgdG8gcHJpc3RpbmUuLi5cbiIKIG1zZ3N0ciAi5bCG5qCR5Zue5rua6Iez5Y6f5aeL54q25oCBLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc1CisjOiBidWlsdGluL21lcmdlLmM6MTQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgbWVyZ2Ugc3RyYXRlZ3kgJXMuLi5cbiIKIG1zZ3N0ciAi5bCd6K+V5ZCI5bm2562W55WlICVzLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQxCisjOiBidWlsdGluL21lcmdlLmM6MTUzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBzdHJhdGVneSBoYW5kbGVkIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAi5rKh5pyJ5ZCI5bm2562W55Wl5aSE55CG5q2k5ZCI5bm244CCXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQzCisjOiBidWlsdGluL21lcmdlLmM6MTUzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJNZXJnZSB3aXRoIHN0cmF0ZWd5ICVzIGZhaWxlZC5cbiIKIG1zZ3N0ciAi5L2/55So562W55WlICVzIOWQiOW5tuWksei0peOAglxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU1MgorIzogYnVpbHRpbi9tZXJnZS5jOjE1NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNpbmcgdGhlICVzIHRvIHByZXBhcmUgcmVzb2x2aW5nIGJ5IGhhbmQuXG4iCiBtc2dzdHIgIuS9v+eUqCAlcyDku6Xlh4blpIfmiYvlt6Xop6PlhrPjgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSB3ZW50IHdlbGw7IHN0b3BwZWQgYmVmb3JlIGNvbW1pdHRpbmcgYXMgcmVxdWVzdGVkXG4iCiBtc2dzdHIgIuiHquWKqOWQiOW5tui/m+WxlemhuuWIqe+8jOaMieimgeaxguWcqOaPkOS6pOWJjeWBnOatolxuIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyNgorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjkKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSBbLWF8LS1hbGxdIDxjb21taXQ+IDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSBbLWF8LS1hbGxdIDzmj5DkuqQ+IDzmj5DkuqQ+Li4uIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyNworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzAKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSBbLWF8LS1hbGxdIC0tb2N0b3B1cyA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgWy1hfC0tYWxsXSAtLW9jdG9wdXMgPOaPkOS6pD4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI4CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMQogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPOaPkOS6pD4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI5CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMgogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPGNvbW1pdD4gPGNvbW1pdD4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPOaPkOS6pD4gPOaPkOS6pD4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjk4CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMworbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmPiBbPGNvbW1pdD5dIgorbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPOaPkOS6pD4gWzzmj5DkuqQ+XSIKKworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE0CiBtc2dpZCAib3V0cHV0IGFsbCBjb21tb24gYW5jZXN0b3JzIgogbXNnc3RyICLovpPlh7rmiYDmnInlhbHlkIznmoTnpZblhYgiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjk5CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTYKIG1zZ2lkICJmaW5kIGFuY2VzdG9ycyBmb3IgYSBzaW5nbGUgbi13YXkgbWVyZ2UiCiBtc2dzdHIgIuafpeaJvuS4gOS4quWkmui3r+WQiOW5tueahOelluWFiOaPkOS6pCIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MTAwCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTgKIG1zZ2lkICJsaXN0IHJldnMgbm90IHJlYWNoYWJsZSBmcm9tIG90aGVycyIKIG1zZ3N0ciAi5pi+56S65LiN6IO96KKr5YW25LuW6K6/6Zeu5Yiw55qE54mI5pysIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoxMDIKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMAogbXNnaWQgImlzIHRoZSBmaXJzdCBvbmUgYW5jZXN0b3Igb2YgdGhlIG90aGVyPyIKIG1zZ3N0ciAi56ys5LiA5Liq5piv5YW25LuW55qE56WW5YWI5o+Q5Lqk5LmI77yfIgogCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjIKK21zZ2lkICJmaW5kIHdoZXJlIDxjb21taXQ+IGZvcmtlZCBmcm9tIHJlZmxvZyBvZiA8cmVmPiIKK21zZ3N0ciAi5p+l5om+IDxjb21taXQ+IOS7jjzlvJXnlKg+5pel5b+X55qE5L2V5aSE5YiG5pSv55qEIgorCiAjOiBidWlsdGluL21lcmdlLWZpbGUuYzo4CiBtc2dpZCAiIgogImdpdCBtZXJnZS1maWxlIFtvcHRpb25zXSBbLUwgbmFtZTEgWy1MIG9yaWcgWy1MIG5hbWUyXV1dIGZpbGUxIG9yaWdfZmlsZSAiCkBAIC02ODE4LDExNyArNzA2NiwxMzAgQEAKIG1zZ2lkICJhbGxvdyBjcmVhdGlvbiBvZiBtb3JlIHRoYW4gb25lIHRyZWUiCiBtc2dzdHIgIuWFgeiuuOWIm+W7uuS4gOS4quS7peS4iueahOagkSIKIAotIzogYnVpbHRpbi9tdi5jOjE0CisjOiBidWlsdGluL212LmM6MTUKIG1zZ2lkICJnaXQgbXYgW29wdGlvbnNdIDxzb3VyY2U+Li4uIDxkZXN0aW5hdGlvbj4iCiBtc2dzdHIgImdpdCBtdiBb6YCJ6aG5XSA85rqQPi4uLiA855uu5qCHPiIKIAotIzogYnVpbHRpbi9tdi5jOjY0CisjOiBidWlsdGluL212LmM6NzEKIG1zZ2lkICJmb3JjZSBtb3ZlL3JlbmFtZSBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgIuW8uuWItuenu+WKqC/ph43lkb3ku6TvvIzljbPkvb/nm67moIflrZjlnKgiCiAKLSM6IGJ1aWx0aW4vbXYuYzo2NQorIzogYnVpbHRpbi9tdi5jOjcyCiBtc2dpZCAic2tpcCBtb3ZlL3JlbmFtZSBlcnJvcnMiCiBtc2dzdHIgIui3s+i/h+enu+WKqC/ph43lkb3lkI3plJnor68iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMDgKKyM6IGJ1aWx0aW4vbXYuYzoxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICLmo4Dmn6UgJyVzJyDliLAgJyVzJyDnmoTph43lkb3lkI1cbiIKIAotIzogYnVpbHRpbi9tdi5jOjExMgorIzogYnVpbHRpbi9tdi5jOjEyNgogbXNnaWQgImJhZCBzb3VyY2UiCiBtc2dzdHIgIuWdj+eahOa6kCIKIAotIzogYnVpbHRpbi9tdi5jOjExNQorIzogYnVpbHRpbi9tdi5jOjEyOQogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCiBtc2dzdHIgIuS4jeiDveWwhuebruW9leenu+WKqOWIsOiHqui6qyIKIAotIzogYnVpbHRpbi9tdi5jOjExOAorIzogYnVpbHRpbi9tdi5jOjEzMgogbXNnaWQgImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiCiBtc2dzdHIgIuS4jeiDveWwhuebruW9leenu+WKqOWIsOaWh+S7tiIKIAotIzogYnVpbHRpbi9tdi5jOjEyOAorIzogYnVpbHRpbi9tdi5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJIdWg/IERpcmVjdG9yeSAlcyBpcyBpbiBpbmRleCBhbmQgbm8gc3VibW9kdWxlPyIKK21zZ3N0ciAi5Zev77yf55uu5b2VICVzIOWcqOe0ouW8leS4reW5tuS4lOS4jeaYr+WtkOaooee7hO+8nyIKKworIzogYnVpbHRpbi9tdi5jOjE0MCBidWlsdGluL3JtLmM6MzE4Cittc2dpZCAiUGxlYXNlLCBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgorbXNnc3RyICLor7flsIbmgqjnmoTkv67mlLnnvJPlrZjliLAgLmdpdG1vZHVsZXMg5Lit5oiW5L+d5a2Y6L+b5bqm5ZCO5YaN57un57utIgorCisjOiBidWlsdGluL212LmM6MTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1aD8gJS4qcyBpcyBpbiBpbmRleD8iCiBtc2dzdHIgIuWXr++8nyUuKnMg5Zyo57Si5byV5Lit77yfIgogCi0jOiBidWlsdGluL212LmM6MTQwCisjOiBidWlsdGluL212LmM6MTY4CiBtc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKIG1zZ3N0ciAi5rqQ55uu5b2V5Li656m6IgogCi0jOiBidWlsdGluL212LmM6MTcxCisjOiBidWlsdGluL212LmM6MjAwCiBtc2dpZCAibm90IHVuZGVyIHZlcnNpb24gY29udHJvbCIKIG1zZ3N0ciAi5LiN5Zyo54mI5pys5o6n5Yi25LmL5LiLIgogCi0jOiBidWlsdGluL212LmM6MTczCisjOiBidWlsdGluL212LmM6MjAyCiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICLnm67moIflt7LlrZjlnKgiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODEKKyM6IGJ1aWx0aW4vbXYuYzoyMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAib3ZlcndyaXRpbmcgJyVzJyIKIG1zZ3N0ciAi6KaG55uWICclcyciCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODQKKyM6IGJ1aWx0aW4vbXYuYzoyMTMKIG1zZ2lkICJDYW5ub3Qgb3ZlcndyaXRlIgogbXNnc3RyICLkuI3og73opobnm5YiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODcKKyM6IGJ1aWx0aW4vbXYuYzoyMTYKIG1zZ2lkICJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiCiBtc2dzdHIgIuWQjOS4gOebruagh+WFt+acieWkmuS4qua6kCIKIAotIzogYnVpbHRpbi9tdi5jOjIwMgorIzogYnVpbHRpbi9tdi5jOjIxOAorbXNnaWQgImRlc3RpbmF0aW9uIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi55uu5qCH55uu5b2V5LiN5a2Y5ZyoIgorCisjOiBidWlsdGluL212LmM6MjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgogbXNnc3RyICIlc++8jOa6kD0lc++8jOebruaghz0lcyIKIAotIzogYnVpbHRpbi9tdi5jOjIxMgorIzogYnVpbHRpbi9tdi5jOjI0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlc1xuIgogbXNnc3RyICLph43lkb3lkI0gJXMg6IezICVzXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTUgYnVpbHRpbi9yZW1vdGUuYzo3MzEKKyM6IGJ1aWx0aW4vbXYuYzoyNDYgYnVpbHRpbi9yZW1vdGUuYzo3MjYgYnVpbHRpbi9yZXBhY2suYzozMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIumHjeWRveWQjSAnJXMnIOWksei0pSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAogbXNnaWQgImdpdCBuYW1lLXJldiBbb3B0aW9uc10gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBb6YCJ6aG5XSA85o+Q5LqkPi4uLiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI2MAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OQogbXNnaWQgImdpdCBuYW1lLXJldiBbb3B0aW9uc10gLS1hbGwiCiBtc2dzdHIgImdpdCBuYW1lLXJldiBb6YCJ6aG5XSAtLWFsbCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI2MQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI2MAogbXNnaWQgImdpdCBuYW1lLXJldiBbb3B0aW9uc10gLS1zdGRpbiIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFvpgInpobldIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKIG1zZ2lkICJwcmludCBvbmx5IG5hbWVzIChubyBTSEEtMSkiCiBtc2dzdHIgIuWPquaJk+WNsOWQjeensO+8iOaXoCBTSEEtMe+8iSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMwogbXNnaWQgIm9ubHkgdXNlIHRhZ3MgdG8gbmFtZSB0aGUgY29tbWl0cyIKIG1zZ3N0ciAi5Y+q5L2/55SoIHRhZ3Mg5p2l5ZG95ZCN5o+Q5LqkIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE2CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE1CiBtc2dpZCAib25seSB1c2UgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgIuWPquS9v+eUqOWSjCA85qih5byPPiDnm7jljLnphY3nmoTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTcKIG1zZ2lkICJsaXN0IGFsbCBjb21taXRzIHJlYWNoYWJsZSBmcm9tIGFsbCByZWZzIgogbXNnc3RyICLliJflh7rlj6/ku6Xku47miYDmnInlvJXnlKjorr/pl67nmoTmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTkKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTgKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgIuS7juagh+WHhui+k+WFpeivu+WPliIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyMAotbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIgotbXNnc3RyICLlhYHorrjmiZPljbAgYOacquWumuS5iWAg55qE5ZCN56ewIgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOQorbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIChkZWZhdWx0KSIKK21zZ3N0ciAi5YWB6K645omT5Y2wIGDmnKrlrprkuYlgIOeahOWQjeensO+8iOm7mOiupO+8iSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyNgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyNQogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW4gdGhlIGlucHV0IChpbnRlcm5hbCB1c2UpIgogbXNnc3RyICLlj43lkJHop6PmnpDovpPlhaXkuK3nmoQgdGFnc++8iOWGhemDqOS9v+eUqO+8iSIKIApAQCAtNzA3OCwxMiArNzMzOSwxMiBAQAogbXNnaWQgIlRoZSBub3RlIGNvbnRlbnRzIGhhcyBiZWVuIGxlZnQgaW4gJXMiCiBtc2dzdHIgIuazqOino+WGheWuueiiq+eVmeWcqOaWh+S7tiAlcyDkuK0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNDggYnVpbHRpbi90YWcuYzo1NDAKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNDggYnVpbHRpbi90YWcuYzo1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+WICclcyciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNTAgYnVpbHRpbi90YWcuYzo1NDMKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNTAgYnVpbHRpbi90YWcuYzo1NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gb3IgcmVhZCAnJXMnIgogbXNnc3RyICLkuI3og73miZPlvIDmiJbor7vlj5YgJyVzJyIKQEAgLTcwOTEsNyArNzM1Miw3IEBACiAjOiBidWlsdGluL25vdGVzLmM6MjY5IGJ1aWx0aW4vbm90ZXMuYzozMTYgYnVpbHRpbi9ub3Rlcy5jOjMxOAogIzogYnVpbHRpbi9ub3Rlcy5jOjM3OCBidWlsdGluL25vdGVzLmM6NDMyIGJ1aWx0aW4vbm90ZXMuYzo1MTUKICM6IGJ1aWx0aW4vbm90ZXMuYzo1MjAgYnVpbHRpbi9ub3Rlcy5jOjU5NSBidWlsdGluL25vdGVzLmM6NjM3Ci0jOiBidWlsdGluL25vdGVzLmM6ODM5IGJ1aWx0aW4vdGFnLmM6NTU2CisjOiBidWlsdGluL25vdGVzLmM6ODM5IGJ1aWx0aW4vdGFnLmM6NTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICLml6Dms5Xop6PmnpAgJyVzJyDkuLrkuIDkuKrmnInmlYjlvJXnlKjjgIIiCkBAIC03MjQzLDcgKzc1MDQsNyBAQAogbXNnaWQgInVzZSBub3RlcyBmcm9tIDxub3Rlc19yZWY+IgogbXNnc3RyICLku44gPOazqOino+W8leeUqD4g5L2/55So5rOo6KejIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTc0IGJ1aWx0aW4vcmVtb3RlLmM6MTU5OAorIzogYnVpbHRpbi9ub3Rlcy5jOjk3NCBidWlsdGluL3JlbW90ZS5jOjE1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKIG1zZ3N0ciAi5pyq55+l5a2Q5ZG95Luk77yaJXMiCkBAIC03MjU2LDE1MCArNzUxNywxNTAgQEAKIG1zZ2lkICJnaXQgcGFjay1vYmplY3RzIFtvcHRpb25zLi4uXSBiYXNlLW5hbWUgWzwgcmVmLWxpc3QgfCA8IG9iamVjdC1saXN0XSIKIG1zZ3N0ciAiZ2l0IHBhY2stb2JqZWN0cyBb6YCJ6aG5Li4uXSBiYXNlLW5hbWUgWzwg5byV55So5YiX6KGoIHwgPCDlr7nosaHliJfooahdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICLljovnvKnplJnor68gKCVkKSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzk3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKIG1zZ3N0ciAi5LiN5pSv5oyB55qE57Si5byV54mI5pysICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgogbXNnc3RyICLlnY/nmoTntKLlvJXniYjmnKwgJyVzJyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDI0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAib3B0aW9uICVzIGRvZXMgbm90IGFjY2VwdCBuZWdhdGl2ZSBmb3JtIgogbXNnc3RyICLpgInpobkgJXMg5LiN5o6l5Y+X5ZCm5a6a5qC85byPIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgdmFsdWUgJyVzJyBmb3Igb3B0aW9uICVzIgogbXNnc3RyICLkuI3og73op6PmnpDpgInpobkgJTEkcyDnmoTlgLwgJyUyJHMnIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0NgogbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICLkuI3mmL7npLrov5vluqbooagiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQ4CiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAi5pi+56S66L+b5bqm6KGoIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1MAogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgogbXNnc3RyICLlnKjlr7nosaHlhpnlhaXpmLbmrrXmmL7npLrov5vluqbooagiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDUzCiBtc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgogbXNnc3RyICLlvZPov5vluqbooajmmL7npLrml7bnsbvkvLzkuo4gLS1hbGwtcHJvZ3Jlc3MiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU0CiBtc2dpZCAidmVyc2lvblssb2Zmc2V0XSIKIG1zZ3N0ciAi54mI5pysWyzlgY/np7tdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NQogbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCiBtc2dzdHIgIueUqOaMh+WumueahCBpZHgg5qC85byP54mI5pys5p2l5YaZ5YyF57Si5byV5paH5Lu2IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1OAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIG91dHB1dCBwYWNrIGZpbGUiCiBtc2dzdHIgIuavj+S4qui+k+WHuuWMheeahOacgOWkp+WwuuWvuCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjAKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgIuW/veeVpeS7juabv+S7o+WvueixoeWtmOWCqOmHjOWAn+eUqOWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjIKIG1zZ2lkICJpZ25vcmUgcGFja2VkIG9iamVjdHMiCiBtc2dzdHIgIuW/veeVpeWMheWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjQKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBvYmplY3RzIgogbXNnc3RyICLpmZDliLbmiZPljIXnqpflj6PnmoTlr7nosaHmlbAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY2CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgbWVtb3J5IGluIGFkZGl0aW9uIHRvIG9iamVjdCBsaW1pdCIKIG1zZ3N0ciAi6Zmk5a+56LGh5pWw6YeP6ZmQ5Yi25aSW6K6+572u5omT5YyF56qX5Y+j55qE5YaF5a2Y6ZmQ5Yi2IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2OAogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICLmiZPljIXlhYHorrjnmoQgZGVsdGEg6ZO+55qE5pyA5aSn6ZW/5bqmIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MAogbXNnaWQgInJldXNlIGV4aXN0aW5nIGRlbHRhcyIKIG1zZ3N0ciAi6YeN55So5bey5a2Y5Zyo55qEIGRlbHRhcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDczCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzIKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBvYmplY3RzIgogbXNnc3RyICLph43nlKjlt7LlrZjlnKjnmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc0CiBtc2dpZCAidXNlIE9GU19ERUxUQSBvYmplY3RzIgogbXNnc3RyICLkvb/nlKggT0ZTX0RFTFRBIOWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzYKIG1zZ2lkICJ1c2UgdGhyZWFkcyB3aGVuIHNlYXJjaGluZyBmb3IgYmVzdCBkZWx0YSBtYXRjaGVzIgogbXNnc3RyICLkvb/nlKjnur/nqIvmn6Xor6LmnIDkvbMgZGVsdGEg5Yy56YWNIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3OAogbXNnaWQgImRvIG5vdCBjcmVhdGUgYW4gZW1wdHkgcGFjayBvdXRwdXQiCiBtc2dzdHIgIuS4jeWIm+W7uuepuueahOWMhei+k+WHuiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODAKIG1zZ2lkICJyZWFkIHJldmlzaW9uIGFyZ3VtZW50cyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLku47moIflh4bovpPlhaXor7vlj5bkv67orqLlj7flj4LmlbAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgyCiBtc2dpZCAibGltaXQgdGhlIG9iamVjdHMgdG8gdGhvc2UgdGhhdCBhcmUgbm90IHlldCBwYWNrZWQiCiBtc2dzdHIgIumZkOWItumCo+S6m+WwmuacquaJk+WMheeahOWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODUKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKIG1zZ3N0ciAi5YyF5ous5Y+v5Lul5LuO5Lu75L2V5byV55So6K6/6Zeu5Yiw55qE5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4OAogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAi5YyF5ous6KKr5byV55So5pel5b+X5byV55So5Yiw55qE5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5MQogbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKIG1zZ3N0ciAi6L6T5Ye65YyF5Yiw5qCH5YeG6L6T5Ye6IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5MwogbXNnaWQgImluY2x1ZGUgdGFnIG9iamVjdHMgdGhhdCByZWZlciB0byBvYmplY3RzIHRvIGJlIHBhY2tlZCIKIG1zZ3N0ciAi5YyF5ous5byV55So5LqG5omT5YyF5a+56LGh55qEIHRhZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTUKIG1zZ2lkICJrZWVwIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIue7tOaMgeS4jeWPr+i+vueahOWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk3IHBhcnNlLW9wdGlvbnMuaDoxNDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NiBwYXJzZS1vcHRpb25zLmg6MTQzCiBtc2dpZCAidGltZSIKIG1zZ3N0ciAi5pe26Ze0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NwogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgogbXNnc3RyICLlsIbmr5Tnu5nlrpogPOaXtumXtD4g5paw55qE5peg5rOV6K6/6Zeu55qE5a+56LGh6Kej5YyFIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwMAogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICLliJvlu7rnsr7nroDljIUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTAyCiBtc2dpZCAiaWdub3JlIHBhY2tzIHRoYXQgaGF2ZSBjb21wYW5pb24gLmtlZXAgZmlsZSIKIG1zZ3N0ciAi5b+955Wl6YWN5pyJIC5rZWVwIOaWh+S7tueahOWMhSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDQKIG1zZ2lkICJwYWNrIGNvbXByZXNzaW9uIGxldmVsIgogbXNnc3RyICLmiZPljIXljovnvKnnuqfliKsiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA2CiBtc2dpZCAiZG8gbm90IGhpZGUgY29tbWl0cyBieSBncmFmdHMiCi1tc2dzdHIgIuS4jemakOiXj+enu+akjeimhueblueahOaPkOS6pCIKK21zZ3N0ciAi5pi+56S66KKr5auB5o6l6ZqQ6JeP55qE5o+Q5LqkIgogCiAjOiBidWlsdGluL3BhY2stcmVmcy5jOjYKIG1zZ2lkICJnaXQgcGFjay1yZWZzIFtvcHRpb25zXSIKQEAgLTc0MjEsMzEgKzc2ODIsMzEgQEAKIG1zZ2lkICJnaXQgcHJ1bmUgWy1uXSBbLXZdIFstLWV4cGlyZSA8dGltZT5dIFstLV0gWzxoZWFkPi4uLl0iCiBtc2dzdHIgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tZXhwaXJlIDzml7bpl7Q+XSBbLS1dIFs85aS0Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzIKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxNDIKIG1zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCiBtc2dzdHIgIuS4jeWIoOmZpO+8jOWPquaYvuekuiIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjEzMworIzogYnVpbHRpbi9wcnVuZS5jOjE0MwogbXNnaWQgInJlcG9ydCBwcnVuZWQgb2JqZWN0cyIKIG1zZ3N0ciAi5oql5ZGK5riF6Zmk55qE5a+56LGhIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTM2CisjOiBidWlsdGluL3BydW5lLmM6MTQ2CiBtc2dpZCAiZXhwaXJlIG9iamVjdHMgb2xkZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgIuS9v+aXqeS6jue7meWumuaXtumXtOeahOWvueixoei/h+acnyIKIAogIzogYnVpbHRpbi9wdXNoLmM6MTQKIG1zZ2lkICJnaXQgcHVzaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKLW1zZ3N0ciAiZ2l0IHB1c2ggWzzpgInpobk+XSBbPOeJiOacrOW6kz4gWzzlvJXnlKjooajovr7lvI8+Li4uXV0iCittc2dzdHIgImdpdCBwdXNoIFs86YCJ6aG5Pl0gWzzniYjmnKzlupM+IFs85byV55So6KeE5YiZPi4uLl1dIgogCi0jOiBidWlsdGluL3B1c2guYzo0NQorIzogYnVpbHRpbi9wdXNoLmM6ODYKIG1zZ2lkICJ0YWcgc2hvcnRoYW5kIHdpdGhvdXQgPHRhZz4iCiBtc2dzdHIgInRhZyDnroDlhpnmsqHmnInot58gPHRhZz4g5Y+C5pWwIgogCi0jOiBidWlsdGluL3B1c2guYzo2NAorIzogYnVpbHRpbi9wdXNoLmM6OTYKIG1zZ2lkICItLWRlbGV0ZSBvbmx5IGFjY2VwdHMgcGxhaW4gdGFyZ2V0IHJlZiBuYW1lcyIKIG1zZ3N0ciAiLS1kZWxldGUg5Y+q5o6l5Y+X566A5Y2V55qE55uu5qCH5byV55So5ZCNIgogCi0jOiBidWlsdGluL3B1c2guYzo5OQorIzogYnVpbHRpbi9wdXNoLmM6MTQxCiBtc2dpZCAiIgogIlxuIgogIlRvIGNob29zZSBlaXRoZXIgb3B0aW9uIHBlcm1hbmVudGx5LCBzZWUgcHVzaC5kZWZhdWx0IGluICdnaXQgaGVscCBjb25maWcnLiIKQEAgLTc0NTMsNyArNzcxNCw3IEBACiAiXG4iCiAi5Li65LqG5rC45LmF5Zyw6YCJ5oup5Lu75LiA6YCJ6aG577yM5Y+C6KeBICdnaXQgaGVscCBjb25maWcnIOS4reeahCBwdXNoLmRlZmF1bHTjgIIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEwMgorIzogYnVpbHRpbi9wdXNoLmM6MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgdXBzdHJlYW0gYnJhbmNoIG9mIHlvdXIgY3VycmVudCBicmFuY2ggZG9lcyBub3QgbWF0Y2hcbiIKQEAgLTc0NzcsNyArNzczOCw3IEBACiAiICAgIGdpdCBwdXNoICVzICVzXG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjExNworIzogYnVpbHRpbi9wdXNoLmM6MTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guXG4iCkBAIC03NDkxLDcgKzc3NTIsNyBAQAogIlxuIgogIiAgICBnaXQgcHVzaCAlcyBIRUFEOjxuYW1lLW9mLXJlbW90ZS1icmFuY2g+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEzMQorIzogYnVpbHRpbi9wdXNoLmM6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG5vIHVwc3RyZWFtIGJyYW5jaC5cbiIKQEAgLTc1MDQsMTIgKzc3NjUsMTIgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggLS1zZXQtdXBzdHJlYW0gJXMgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTM5CisjOiBidWlsdGluL3B1c2guYzoxODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBtdWx0aXBsZSB1cHN0cmVhbSBicmFuY2hlcywgcmVmdXNpbmcgdG8gcHVzaC4iCiBtc2dzdHIgIuW9k+WJjeWIhuaUryAlcyDmnInlpJrkuKrkuIrmuLjliIbmlK/vvIzmi5Lnu53mjqjpgIHjgIIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE0MgorIzogYnVpbHRpbi9wdXNoLmM6MTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIHB1c2hpbmcgdG8gcmVtb3RlICclcycsIHdoaWNoIGlzIG5vdCB0aGUgdXBzdHJlYW0gb2ZcbiIKQEAgLTc1MjAsNyArNzc4MSw3IEBACiAi6ICM5rKh5pyJ5ZGK6K+J5oiR6KaB5o6o6YCB5LuA5LmI44CB5pu05paw5ZOq5Liq6L+c56iL5YiG5pSv44CCIgogCiAjICDor5HogIXvvJrlrZfnrKbkuLLpppbooYzooYzpppbopoHmt7vliqDigJx3YXJuaW5nOiDigJ3lrZfkuLLvvIzmlYXmraTpppbooYzopoHovoPlhbbkvZnooYznn60KLSM6IGJ1aWx0aW4vcHVzaC5jOjE2NQorIzogYnVpbHRpbi9wdXNoLmM6MjA3CiBtc2dpZCAiIgogInB1c2guZGVmYXVsdCBpcyB1bnNldDsgaXRzIGltcGxpY2l0IHZhbHVlIGlzIGNoYW5naW5nIGluXG4iCiAiR2l0IDIuMCBmcm9tICdtYXRjaGluZycgdG8gJ3NpbXBsZScuIFRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlXG4iCkBAIC03NTMyLDE0ICs3NzkzLDIwIEBACiAiXG4iCiAiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHB1c2guZGVmYXVsdCBzaW1wbGVcbiIKICJcbiIKKyJXaGVuIHB1c2guZGVmYXVsdCBpcyBzZXQgdG8gJ21hdGNoaW5nJywgZ2l0IHdpbGwgcHVzaCBsb2NhbCBicmFuY2hlc1xuIgorInRvIHRoZSByZW1vdGUgYnJhbmNoZXMgdGhhdCBhbHJlYWR5IGV4aXN0IHdpdGggdGhlIHNhbWUgbmFtZS5cbiIKKyJcbiIKKyJJbiBHaXQgMi4wLCBHaXQgd2lsbCBkZWZhdWx0IHRvIHRoZSBtb3JlIGNvbnNlcnZhdGl2ZSAnc2ltcGxlJ1xuIgorImJlaGF2aW9yLCB3aGljaCBvbmx5IHB1c2hlcyB0aGUgY3VycmVudCBicmFuY2ggdG8gdGhlIGNvcnJlc3BvbmRpbmdcbiIKKyJyZW1vdGUgYnJhbmNoIHRoYXQgJ2dpdCBwdWxsJyB1c2VzIHRvIHVwZGF0ZSB0aGUgY3VycmVudCBicmFuY2guXG4iCisiXG4iCiAiU2VlICdnaXQgaGVscCBjb25maWcnIGFuZCBzZWFyY2ggZm9yICdwdXNoLmRlZmF1bHQnIGZvciBmdXJ0aGVyICIKICJpbmZvcm1hdGlvbi5cbiIKICIodGhlICdzaW1wbGUnIG1vZGUgd2FzIGludHJvZHVjZWQgaW4gR2l0IDEuNy4xMS4gVXNlIHRoZSBzaW1pbGFyIG1vZGVcbiIKICInY3VycmVudCcgaW5zdGVhZCBvZiAnc2ltcGxlJyBpZiB5b3Ugc29tZXRpbWVzIHVzZSBvbGRlciB2ZXJzaW9ucyBvZiBHaXQpIgogbXNnc3RyICIiCi0icHVzaC5kZWZhdWx0IOacquiuvue9ru+8jOWug+eahOm7mOiupOWAvOWwhuS8muWcqCBHaXQgMi4wIOeUsSAnbWF0Y2hpbmcnXG4iCi0i5L+u5pS55Li6ICdzaW1wbGUn44CC6Iul6KaB5LiN5YaN5pi+56S65pys5L+h5oGv5bm25Zyo5YW26buY6K6k5YC85pS55Y+Y5ZCO57u05oyB5b2T5YmN5L2/55So5Lmg5oOv77yMXG4iCi0i6L+b6KGM5aaC5LiL6K6+572u77yaXG4iCisicHVzaC5kZWZhdWx0IOWwmuacquiuvue9ru+8jOWug+eahOm7mOiupOWAvOWcqCBHaXQgMi4wIOS7jiAnbWF0Y2hpbmcnXG4iCisi5Y+Y5pu05Li6ICdzaW1wbGUn44CC6Iul6KaB5LiN5YaN5pi+56S65pys5L+h5oGv5bm25L+d5oyB5Lyg57uf5Lmg5oOv77yM6L+b6KGM5aaC5LiL6K6+572u77yaXG4iCiAiXG4iCiAiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHB1c2guZGVmYXVsdCBtYXRjaGluZ1xuIgogIlxuIgpAQCAtNzU0NywxNiArNzgxNCwyMiBAQAogIlxuIgogIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCBwdXNoLmRlZmF1bHQgc2ltcGxlXG4iCiAiXG4iCisi5b2TIHB1c2guZGVmYXVsdCDorr7nva7kuLogJ21hdGNoaW5nJyDlkI7vvIxnaXQg5bCG5o6o6YCB5ZKM6L+c56iL5ZCM5ZCN55qE5omA5pyJXG4iCisi5pys5Zyw5YiG5pSv44CCXG4iCisiXG4iCisi5LuOIEdpdCAyLjAg5byA5aeL77yMR2l0IOe8uuecgemHh+eUqOabtOS4uuS/neWuiOeahCAnc2ltcGxlJyDmqKHlvI/vvIzlj6rmjqjpgIHlvZPliY1cbiIKKyLliIbmlK/liLDov5znqIvlhbPogZTnmoTlkIzlkI3liIbmlK/vvIzljbMgJ2dpdCBwdXNoJyDmjqjpgIHlvZPliY3liIbmlK/jgIJcbiIKKyJcbiIKICLlj4Lop4EgJ2dpdCBoZWxwIGNvbmZpZycg5bm25p+l5om+ICdwdXNoLmRlZmF1bHQnIOS7peiOt+WPluabtOWkmuS/oeaBr+OAglxuIgogIu+8iCdzaW1wbGUnIOaooeW8j+eUsSBHaXQgMS43LjExIOeJiOacrOW8leWFpeOAguWmguaenOaCqOacieaXtuimgeS9v+eUqOiAgeeJiOacrOeahCBHaXTvvIxcbiIKLSLkuLrkv53mjIHlhbzlrrnvvIzor7fnlKggJ2N1cnJlbnQnIOS7o+abvyAnc2ltcGxlJyDmqKHlvI/vvIkiCisi5Li65L+d5oyB5YW85a6577yM6K+355SoICdjdXJyZW50JyDku6Pmm78gJ3NpbXBsZSfvvIkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIyNQorIzogYnVpbHRpbi9wdXNoLmM6Mjc0CiBtc2dpZCAiIgogIllvdSBkaWRuJ3Qgc3BlY2lmeSBhbnkgcmVmc3BlY3MgdG8gcHVzaCwgYW5kIHB1c2guZGVmYXVsdCBpcyBcIm5vdGhpbmdcIi4iCi1tc2dzdHIgIuaCqOayoeacieS4uuaOqOmAgeaMh+WumuS7u+S9leW8leeUqOihqOi+vuW8j++8jOW5tuS4lCBwdXNoLmRlZmF1bHQg5Li6IFwibm90aGluZ1wi44CCIgorbXNnc3RyICLmgqjmsqHmnInkuLrmjqjpgIHmjIflrprku7vkvZXlvJXnlKjop4TliJnvvIzlubbkuJQgcHVzaC5kZWZhdWx0IOS4uiBcIm5vdGhpbmdcIuOAgiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjMyCisjOiBidWlsdGluL3B1c2guYzoyODEKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRpcCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGlzIGJlaGluZFxuIgogIml0cyByZW1vdGUgY291bnRlcnBhcnQuIEludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXMgKGUuZy5cbiIKQEAgLTc1NjcsNyArNzg0MCw3IEBACiAi5YaN5qyh5o6o6YCB5YmN77yM5YWI5LiO6L+c56iL5Y+Y5pu05ZCI5bm277yI5aaCICdnaXQgcHVsbCAuLi4n77yJ44CC6K+m6KeBXG4iCiAiJ2dpdCBwdXNoIC0taGVscCcg5Lit55qEICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIOWwj+iKguOAgiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjM4CisjOiBidWlsdGluL3B1c2guYzoyODcKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgogImNvdW50ZXJwYXJ0LiBJZiB5b3UgZGlkIG5vdCBpbnRlbmQgdG8gcHVzaCB0aGF0IGJyYW5jaCwgeW91IG1heSB3YW50IHRvXG4iCkBAIC03NTc5LDcgKzc4NTIsNyBAQAogIumFjee9ruWPmOmHjyAncHVzaC5kZWZhdWx0JyDorr7nva7kuLogJ3NpbXBsZSfjgIEnY3VycmVudCcg5oiWICd1cHN0cmVhbSdcbiIKICLku6Xkvr/lj6rmjqjpgIHlvZPliY3liIbmlK/jgIIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI0NAorIzogYnVpbHRpbi9wdXNoLmM6MjkzCiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIGEgcHVzaGVkIGJyYW5jaCB0aXAgaXMgYmVoaW5kIGl0cyByZW1vdGVcbiIKICJjb3VudGVycGFydC4gQ2hlY2sgb3V0IHRoaXMgYnJhbmNoIGFuZCBpbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzXG4iCkBAIC03NTkwLDcgKzc4NjMsNyBAQAogIuajgOWHuuivpeWIhuaUr+W5tuaVtOWQiOi/nOeoi+WPmOabtO+8iOWmgiAnZ2l0IHB1bGwgLi4uJ++8ie+8jOeEtuWQjuWGjeaOqOmAgeOAguivpuingVxuIgogIidnaXQgcHVzaCAtLWhlbHAnIOS4reeahCAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyDlsI/oioLjgIIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI1MAorIzogYnVpbHRpbi9wdXNoLmM6Mjk5CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgogIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKQEAgLTc2MDMsMTEgKzc4NzYsMTEgQEAKICLvvIjlpoIgJ2dpdCBwdWxsIC4uLifvvInjgIJcbiIKICLor6bop4EgJ2dpdCBwdXNoIC0taGVscCcg5Lit55qEICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIOWwj+iKguOAgiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjU3CisjOiBidWlsdGluL3B1c2guYzozMDYKIG1zZ2lkICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGFnIGFscmVhZHkgZXhpc3RzIGluIHRoZSByZW1vdGUuIgogbXNnc3RyICLmm7TmlrDooqvmi5Lnu53lm6DkuLogdGFnIOWcqOi/nOeoi+W3sue7j+WtmOWcqOOAgiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjYwCisjOiBidWlsdGluL3B1c2guYzozMDkKIG1zZ2lkICIiCiAiWW91IGNhbm5vdCB1cGRhdGUgYSByZW1vdGUgcmVmIHRoYXQgcG9pbnRzIGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCiAib3IgdXBkYXRlIGEgcmVtb3RlIHJlZiB0byBtYWtlIGl0IHBvaW50IGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCkBAIC03NjE2LDIyICs3ODg5LDIyIEBACiAi5aaC5p6c5LiN5L2/55SoICctLWZvcmNlJyDlj4LmlbDvvIzmgqjkuI3og73mm7TmlrDkuIDkuKrmjIflkJHpnZ7mj5DkuqTlr7nosaHnmoTov5znqIvlvJXnlKjvvIxcbiIKICLkuZ/kuI3og73mm7TmlrDov5znqIvlvJXnlKjorqnlhbbmjIflkJHkuIDkuKrpnZ7mj5DkuqTlr7nosaHjgIJcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzIwCisjOiBidWlsdGluL3B1c2guYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHVzaGluZyB0byAlc1xuIgogbXNnc3RyICLmjqjpgIHliLAgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzI0CisjOiBidWlsdGluL3B1c2guYzozNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgIuaXoOazleaOqOmAgeS4gOS6m+W8leeUqOWIsCAnJXMnIgogCi0jOiBidWlsdGluL3B1c2guYzozNTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjQxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgogbXNnc3RyICLlnY/nmoTniYjmnKzlupMgJyVzJyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzU4CisjOiBidWlsdGluL3B1c2guYzo0MTMKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCkBAIC03NjUyLDg3ICs3OTI1LDk1IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIDxuYW1lPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozNzMKKyM6IGJ1aWx0aW4vcHVzaC5jOjQyOAogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwg5ZKMIC0tdGFncyDkuI3lhbzlrrkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3NAorIzogYnVpbHRpbi9wdXNoLmM6NDI5CiBtc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKLW1zZ3N0ciAiLS1hbGwg5LiN6IO95ZKM5byV55So6KGo6L6+5byP5ZCM5pe25L2/55SoIgorbXNnc3RyICItLWFsbCDkuI3og73lkozlvJXnlKjop4TliJnlkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3OQorIzogYnVpbHRpbi9wdXNoLmM6NDM0CiBtc2dpZCAiLS1taXJyb3IgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLW1pcnJvciDlkowgLS10YWdzIOS4jeWFvOWuuSIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzgwCisjOiBidWlsdGluL3B1c2guYzo0MzUKIG1zZ2lkICItLW1pcnJvciBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgotbXNnc3RyICItLW1pcnJvciDkuI3og73lkozlvJXnlKjooajovr7lvI/lkIzml7bkvb/nlKgiCittc2dzdHIgIi0tbWlycm9yIOS4jeiDveWSjOW8leeUqOinhOWImeWQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg1CisjOiBidWlsdGluL3B1c2guYzo0NDAKIG1zZ2lkICItLWFsbCBhbmQgLS1taXJyb3IgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwg5ZKMIC0tbWlycm9yIOS4jeWFvOWuuSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDQ1CisjOiBidWlsdGluL3B1c2guYzo1MDAKIG1zZ2lkICJyZXBvc2l0b3J5IgogbXNnc3RyICLniYjmnKzlupMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ0NgorIzogYnVpbHRpbi9wdXNoLmM6NTAxCiBtc2dpZCAicHVzaCBhbGwgcmVmcyIKIG1zZ3N0ciAi5o6o6YCB5omA5pyJ5byV55SoIgogCi0jOiBidWlsdGluL3B1c2guYzo0NDcKKyM6IGJ1aWx0aW4vcHVzaC5jOjUwMgogbXNnaWQgIm1pcnJvciBhbGwgcmVmcyIKIG1zZ3N0ciAi6ZWc5YOP5omA5pyJ5byV55SoIgogCi0jOiBidWlsdGluL3B1c2guYzo0NDkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUwNAogbXNnaWQgImRlbGV0ZSByZWZzIgogbXNnc3RyICLliKDpmaTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1MAorIzogYnVpbHRpbi9wdXNoLmM6NTA1CiBtc2dpZCAicHVzaCB0YWdzIChjYW4ndCBiZSB1c2VkIHdpdGggLS1hbGwgb3IgLS1taXJyb3IpIgogbXNnc3RyICLmjqjpgIEgdGFnc++8iOS4jeiDveS9v+eUqCAtLWFsbCBvciAtLW1pcnJvcu+8iSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDUzCisjOiBidWlsdGluL3B1c2guYzo1MDgKIG1zZ2lkICJmb3JjZSB1cGRhdGVzIgogbXNnc3RyICLlvLrliLbmm7TmlrAiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1NAorIzogYnVpbHRpbi9wdXNoLmM6NTEwCittc2dpZCAicmVmbmFtZT46PGV4cGVjdCIKK21zZ3N0ciAi5byV55So5ZCNPjo85pyf5pyb5YC8IgorCisjOiBidWlsdGluL3B1c2guYzo1MTEKK21zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKK21zZ3N0ciAi6KaB5rGC5byV55So5pen55qE5Y+W5YC85Li66K6+5a6a5YC8IgorCisjOiBidWlsdGluL3B1c2guYzo1MTMKIG1zZ2lkICJjaGVjayIKIG1zZ3N0ciAi5qOA5p+lIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTUKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNAogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAi5o6n5Yi25a2Q5qih57uE55qE6YCS5b2S5o6o6YCBIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNgogbXNnaWQgInVzZSB0aGluIHBhY2siCiBtc2dzdHIgIuS9v+eUqOeyvueugOaJk+WMhSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDU4IGJ1aWx0aW4vcHVzaC5jOjQ1OQorIzogYnVpbHRpbi9wdXNoLmM6NTE3IGJ1aWx0aW4vcHVzaC5jOjUxOAogbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgogbXNnc3RyICLmjqXmlLbljIXnqIvluo8iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2MAorIzogYnVpbHRpbi9wdXNoLmM6NTE5CiBtc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCiBtc2dzdHIgIuiuvue9riBnaXQgcHVsbC9zdGF0dXMg55qE5LiK5ri4IgogCi0jOiBidWlsdGluL3B1c2guYzo0NjMKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyMgogbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgogbXNnc3RyICLmuIXpmaTmnKzlnLDliKDpmaTnmoTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2NQorIzogYnVpbHRpbi9wdXNoLmM6NTI0CiBtc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCiBtc2dzdHIgIue7lei/hyBwcmUtcHVzaCDpkqnlrZAiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2NgorIzogYnVpbHRpbi9wdXNoLmM6NTI1CiBtc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgogbXNnc3RyICLmjqjpgIHnvLrlpLHnmoTmnInlhbPnmoQgdGFncyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDc2CisjOiBidWlsdGluL3B1c2guYzo1MzUKIG1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKIG1zZ3N0ciAiLS1kZWxldGUg5LiOIC0tYWxs44CBLS1taXJyb3Ig5Y+KIC0tdGFncyDkuI3lhbzlrrkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ3OAorIzogYnVpbHRpbi9wdXNoLmM6NTM3CiBtc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCiBtc2dzdHIgIi0tZGVsZXRlIOacquaOpeS7u+S9leW8leeUqOayoeacieaEj+S5iSIKIApAQCAtNzgxMCwyMSArODA5MSwyMSBAQAogbXNnaWQgImRlYnVnIHVucGFjay10cmVlcyIKIG1zZ3N0ciAi6LCD6K+VIHVucGFjay10cmVlcyIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo1MDAKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NDk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJyBmb3IgJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIiclMiRzJyDnmoTlgLwgJyUxJHMnIOS4jeaYr+S4gOS4quacieaViOeahOaXtumXtOaIsyIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo2MTYgYnVpbHRpbi9yZWZsb2cuYzo2MjEKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NjE1IGJ1aWx0aW4vcmVmbG9nLmM6NjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICInJXMnIOS4jeaYr+S4gOS4quacieaViOeahOaXtumXtOaIsyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMgogbXNnaWQgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyCisjOiBidWlsdGluL3JlbW90ZS5jOjEzCiBtc2dpZCAiIgogImdpdCByZW1vdGUgYWRkIFstdCA8YnJhbmNoPl0gWy1tIDxtYXN0ZXI+XSBbLWZdIFstLXRhZ3N8LS1uby10YWdzXSBbLS0iCiAibWlycm9yPTxmZXRjaHxwdXNoPl0gPG5hbWU+IDx1cmw+IgpAQCAtNzgzMiw3NyArODExMyw4MSBAQAogImdpdCByZW1vdGUgYWRkIFstdCA85YiG5pSvPl0gWy1tIDxtYXN0ZXI+XSBbLWZdIFstLXRhZ3N8LS1uby10YWdzXSBbLS0iCiAibWlycm9yPTxmZXRjaHxwdXNoPl0gPOWQjeensD4gPHVybD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMgYnVpbHRpbi9yZW1vdGUuYzozMgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNCBidWlsdGluL3JlbW90ZS5jOjMzCiBtc2dpZCAiZ2l0IHJlbW90ZSByZW5hbWUgPG9sZD4gPG5ldz4iCiBtc2dzdHIgImdpdCByZW1vdGUgcmVuYW1lIDzml6flkI3np7A+IDzmlrDlkI3np7A+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0IGJ1aWx0aW4vcmVtb3RlLmM6MzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUgYnVpbHRpbi9yZW1vdGUuYzozOAogbXNnaWQgImdpdCByZW1vdGUgcmVtb3ZlIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSByZW1vdmUgPOWQjeensD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUgYnVpbHRpbi9yZW1vdGUuYzo0MgotbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC1kIHwgPGJyYW5jaD4pIgotbXNnc3RyICJnaXQgcmVtb3RlIHNldC1oZWFkIDzlkI3np7A+ICgtYSB8IC1kIHwgPOWIhuaUrz4pIgotCiAjOiBidWlsdGluL3JlbW90ZS5jOjE2Cittc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8PGJyYW5jaD4pIgorbXNnc3RyICJnaXQgcmVtb3RlIHNldC1oZWFkIDzlkI3np7A+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfDzliIbmlK8+KSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNwogbXNnaWQgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSBzaG93IFstbl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDzlkI3np7A+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE3CisjOiBidWlsdGluL3JlbW90ZS5jOjE4CiBtc2dpZCAiZ2l0IHJlbW90ZSBwcnVuZSBbLW4gfCAtLWRyeS1ydW5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbLW4gfCAtLWRyeS1ydW5dIDzlkI3np7A+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4CisjOiBidWlsdGluL3JlbW90ZS5jOjE5CiBtc2dpZCAiIgogImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8Z3JvdXA+IHwgPHJlbW90ZT4pLi4uXSIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDznu4Q+IHwgPOi/nOeoiz4pLi4uXSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOQorIzogYnVpbHRpbi9yZW1vdGUuYzoyMAogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIFstLWFkZF0gPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDzlkI3np7A+IDzliIbmlK8+Li4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIwIGJ1aWx0aW4vcmVtb3RlLmM6NjgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjEgYnVpbHRpbi9yZW1vdGUuYzo2OQogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCBbLS1wdXNoXSA8bmFtZT4gPG5ld3VybD4gWzxvbGR1cmw+XSIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIFstLXB1c2hdIDzlkI3np7A+IDzmlrDnmoTlnLDlnYA+IFs85pen55qE5Zyw5Z2APl0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjEgYnVpbHRpbi9yZW1vdGUuYzo2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoyMiBidWlsdGluL3JlbW90ZS5jOjcwCiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tYWRkIDxuYW1lPiA8bmV3dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tYWRkIDzlkI3np7A+IDzmlrDnmoTlnLDlnYA+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjMgYnVpbHRpbi9yZW1vdGUuYzo3MQogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA8bmFtZT4gPHVybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA85ZCN56ewPiA85Zyw5Z2APiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyNworIzogYnVpbHRpbi9yZW1vdGUuYzoyOAogbXNnaWQgImdpdCByZW1vdGUgYWRkIFs8b3B0aW9ucz5dIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBhZGQgWzzpgInpobk+XSA85ZCN56ewPiA85Zyw5Z2APiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0NworIzogYnVpbHRpbi9yZW1vdGUuYzo0MworbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8YnJhbmNoPikiCittc2dzdHIgImdpdCByZW1vdGUgc2V0LWhlYWQgPOWQjeensD4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDzliIbmlK8+KSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo0OAogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPOWQjeensD4gPOWIhuaUrz4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDkKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyAtLWFkZCA8bmFtZT4gPGJyYW5jaD4uLi4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIC0tYWRkIDzlkI3np7A+IDzliIbmlK8+Li4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjUzCisjOiBidWlsdGluL3JlbW90ZS5jOjU0CiBtc2dpZCAiZ2l0IHJlbW90ZSBzaG93IFs8b3B0aW9ucz5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzaG93IFs86YCJ6aG5Pl0gPOWQjeensD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTkKIG1zZ2lkICJnaXQgcmVtb3RlIHBydW5lIFs8b3B0aW9ucz5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbPOmAiemhuT5dIDzlkI3np7A+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYzCisjOiBidWlsdGluL3JlbW90ZS5jOjY0CiBtc2dpZCAiZ2l0IHJlbW90ZSB1cGRhdGUgWzxvcHRpb25zPl0gWzxncm91cD4gfCA8cmVtb3RlPl0uLi4iCiBtc2dzdHIgImdpdCByZW1vdGUgdXBkYXRlIFs86YCJ6aG5Pl0gWzznu4Q+IHwgPOi/nOeoiz5dLi4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk4CisjOiBidWlsdGluL3JlbW90ZS5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzIgogbXNnc3RyICLmm7TmlrAgJXMg5LitIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAKIG1zZ2lkICIiCiAiLS1taXJyb3IgaXMgZGFuZ2Vyb3VzIGFuZCBkZXByZWNhdGVkOyBwbGVhc2VcbiIKICJcdCB1c2UgLS1taXJyb3I9ZmV0Y2ggb3IgLS1taXJyb3I9cHVzaCBpbnN0ZWFkIgpAQCAtNzkxMCwxMzcgKzgxOTUsMTM3IEBACiAiLS1taXJyb3Ig6YCJ6aG55Y2x6Zmp5LiU6L+H5pe277yM6K+35L2/55SoIC0tbWlycm9yPWZldGNoXG4iCiAiXHQg5oiWIC0tbWlycm9yPXB1c2giCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3CisjOiBidWlsdGluL3JlbW90ZS5jOjEzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG1pcnJvciBhcmd1bWVudDogJXMiCiBtc2dzdHIgIuacquefpeeahOmVnOWDj+WPguaVsO+8miVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTMKIG1zZ2lkICJmZXRjaCB0aGUgcmVtb3RlIGJyYW5jaGVzIgogbXNnc3RyICLmipPlj5bov5znqIvnmoTliIbmlK8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NQogbXNnaWQgImltcG9ydCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIHdoZW4gZmV0Y2hpbmciCiBtc2dzdHIgIuaKk+WPluaXtuWvvOWFpeaJgOacieeahCB0YWdzIOWSjOWFs+iBlOWvueixoSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4CiBtc2dpZCAib3IgZG8gbm90IGZldGNoIGFueSB0YWcgYXQgYWxsICgtLW5vLXRhZ3MpIgogbXNnc3RyICLmiJbkuI3mipPlj5bku7vkvZUgdGFn77yILS1uby10YWdz77yJIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE3MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjAKIG1zZ2lkICJicmFuY2goZXMpIHRvIHRyYWNrIgogbXNnc3RyICLot5/ouKrnmoTliIbmlK8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTcxCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MQogbXNnaWQgIm1hc3RlciBicmFuY2giCiBtc2dzdHIgIuS4u+e6v+WIhuaUryIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNzIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyCiBtc2dpZCAicHVzaHxmZXRjaCIKIG1zZ3N0ciAicHVzaHxmZXRjaCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYzCiBtc2dpZCAic2V0IHVwIHJlbW90ZSBhcyBhIG1pcnJvciB0byBwdXNoIHRvIG9yIGZldGNoIGZyb20iCiBtc2dzdHIgIuaKiui/nOeoi+iuvue9ruS4uueUqOS7peaOqOmAgeaIluaKk+WPlueahOmVnOWDjyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxODUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTc1CiBtc2dpZCAic3BlY2lmeWluZyBhIG1hc3RlciBicmFuY2ggbWFrZXMgbm8gc2Vuc2Ugd2l0aCAtLW1pcnJvciIKIG1zZ3N0ciAi5oyH5a6a5LiA5LiqIG1hc3RlciDliIbmlK/lubbkvb/nlKggLS1taXJyb3Ig6YCJ6aG55rKh5pyJ5oSP5LmJIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNzcKIG1zZ2lkICJzcGVjaWZ5aW5nIGJyYW5jaGVzIHRvIHRyYWNrIG1ha2VzIHNlbnNlIG9ubHkgd2l0aCBmZXRjaCBtaXJyb3JzIgogbXNnc3RyICLmjIflrpropoHot5/ouKrnmoTliIbmlK/lj6rlnKjkuI7ojrflj5bplZzlg4/lkIzml7bkvb/nlKjmiY3mnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk1IGJ1aWx0aW4vcmVtb3RlLmM6NjQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjE4NSBidWlsdGluL3JlbW90ZS5jOjY0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUgJXMgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICLov5znqIsgJXMg5bey57uP5a2Y5Zyo44CCIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5OSBidWlsdGluL3JlbW90ZS5jOjY1MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxODkgYnVpbHRpbi9yZW1vdGUuYzo2NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZW1vdGUgbmFtZSIKIG1zZ3N0ciAiJyVzJyDkuI3mmK/kuIDkuKrmnInmlYjnmoTov5znqIvlkI3np7AiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjQzCisjOiBidWlsdGluL3JlbW90ZS5jOjIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgbWFzdGVyICclcyciCiBtc2dzdHIgIuaXoOazleiuvue9riBtYXN0ZXIgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyOTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6Mjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vcmUgdGhhbiBvbmUgJXMiCiBtc2dzdHIgIuWkmuS6juS4gOS4qiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzozMzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBnZXQgZmV0Y2ggbWFwIGZvciByZWZzcGVjICVzIgotbXNnc3RyICLml6Dms5XlvpfliLDlvJXnlKjooajovr7lvI8gJXMg55qE6I635Y+W5YiX6KGoIgorbXNnc3RyICLml6Dms5XlvpfliLDlvJXnlKjop4TliJkgJXMg55qE6I635Y+W5YiX6KGoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQ0MCBidWlsdGluL3JlbW90ZS5jOjQ0OAorIzogYnVpbHRpbi9yZW1vdGUuYzo0MzUgYnVpbHRpbi9yZW1vdGUuYzo0NDMKIG1zZ2lkICIobWF0Y2hpbmcpIgogbXNnc3RyICLvvIjljLnphY3vvIkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NDUyCisjOiBidWlsdGluL3JlbW90ZS5jOjQ0NwogbXNnaWQgIihkZWxldGUpIgogbXNnc3RyICLvvIjliKDpmaTvvIkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTk1IGJ1aWx0aW4vcmVtb3RlLmM6NjAxIGJ1aWx0aW4vcmVtb3RlLmM6NjA3CisjOiBidWlsdGluL3JlbW90ZS5jOjU5MCBidWlsdGluL3JlbW90ZS5jOjU5NiBidWlsdGluL3JlbW90ZS5jOjYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwZW5kICclcycgdG8gJyVzJyIKIG1zZ3N0ciAi5LiN6IO95re75YqgICclcycg6IezICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjM5IGJ1aWx0aW4vcmVtb3RlLmM6NzkyIGJ1aWx0aW4vcmVtb3RlLmM6ODkwCisjOiBidWlsdGluL3JlbW90ZS5jOjYzNCBidWlsdGluL3JlbW90ZS5jOjc4NyBidWlsdGluL3JlbW90ZS5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZTogJXMiCiBtc2dzdHIgIuayoeaciei/meagt+eahOi/nOeoi++8miVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY1NgorIzogYnVpbHRpbi9yZW1vdGUuYzo2NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbmFtZSBjb25maWcgc2VjdGlvbiAnJXMnIHRvICclcyciCiBtc2dzdHIgIuS4jeiDvemHjeWRveWQjemFjee9ruWwj+iKgiAnJXMnIOWIsCAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY2MiBidWlsdGluL3JlbW90ZS5jOjc5OQorIzogYnVpbHRpbi9yZW1vdGUuYzo2NTcgYnVpbHRpbi9yZW1vdGUuYzo3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBjb25maWcgc2VjdGlvbiAnJXMnIgogbXNnc3RyICLkuI3og73np7vpmaTphY3nva7lsI/oioIgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgdXBkYXRpbmcgbm9uLWRlZmF1bHQgZmV0Y2ggcmVmc3BlY1xuIgogIlx0JXNcbiIKICJcdFBsZWFzZSB1cGRhdGUgdGhlIGNvbmZpZ3VyYXRpb24gbWFudWFsbHkgaWYgbmVjZXNzYXJ5LiIKIG1zZ3N0ciAiIgotIuayoeacieabtOaWsOmdnum7mOiupOeahOiOt+WPluW8leeUqOihqOi+vuW8j1xuIgorIuayoeacieabtOaWsOmdnum7mOiupOeahOiOt+WPluW8leeUqOinhOWImVxuIgogIlx0JXNcbiIKICJcdOWmguaenOW/heimgeivt+aJi+WKqOabtOaWsOmFjee9ruOAgiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2ODMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBlbmQgJyVzJyIKIG1zZ3N0ciAi5LiN6IO96L+95YqgICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6Njk0CisjOiBidWlsdGluL3JlbW90ZS5jOjY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0ICclcyciCiBtc2dzdHIgIuS4jeiDveiuvue9riAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjcxNgorIzogYnVpbHRpbi9yZW1vdGUuYzo3MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIuWIoOmZpCAnJXMnIOWksei0pSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3NTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNyZWF0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICLliJvlu7ogJyVzJyDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzY0CisjOiBidWlsdGluL3JlbW90ZS5jOjc1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGJyYW5jaCAlcyIKIG1zZ3N0ciAi5peg5rOV56e76Zmk5YiG5pSvICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgzNAorIzogYnVpbHRpbi9yZW1vdGUuYzo4MjkKIG1zZ2lkICIiCiAiTm90ZTogQSBicmFuY2ggb3V0c2lkZSB0aGUgcmVmcy9yZW1vdGVzLyBoaWVyYXJjaHkgd2FzIG5vdCByZW1vdmVkO1xuIgogInRvIGRlbGV0ZSBpdCwgdXNlOiIKQEAgLTgwNTAsMTI2ICs4MzM1LDEyNiBAQAogbXNnc3RyWzBdICLms6jmhI/vvJpyZWYvcmVtb3RlcyDlsYLnuqfkuYvlpJbnmoTkuIDkuKrliIbmlK/mnKrooqvnp7vpmaTjgILopoHliKDpmaTlroPvvIzkvb/nlKjvvJoiCiBtc2dzdHJbMV0gIuazqOaEj++8mnJlZi9yZW1vdGVzIOWxgue6p+S5i+WklueahOS4gOS6m+WIhuaUr+acquiiq+enu+mZpOOAguimgeWIoOmZpOWug+S7rO+8jOS9v+eUqO+8miIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NDMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBuZXcgKG5leHQgZmV0Y2ggd2lsbCBzdG9yZSBpbiByZW1vdGVzLyVzKSIKIG1zZ3N0ciAiIOaWsOeahO+8iOS4i+S4gOasoeiOt+WPluWwhuWtmOWCqOS6jiByZW1vdGVzLyVz77yJIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk0NgorIzogYnVpbHRpbi9yZW1vdGUuYzo5NDEKIG1zZ2lkICIgdHJhY2tlZCIKIG1zZ3N0ciAiIOW3sui3n+i4qiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQzCiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCiBtc2dzdHIgIiDov4fml7bvvIjkvb/nlKggJ2dpdCByZW1vdGUgcHJ1bmUnIOadpeenu+mZpO+8iSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQ1CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5OTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAi5peg5pWI55qEIGJyYW5jaC4lcy5tZXJnZe+8jOS4jeiDveWPmOWfuuWIsOS4gOS4quS7peS4iueahOWIhuaUryIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5OTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCiBtc2dzdHIgIuWPmOWfuuWIsOi/nOeoiyAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDAxCisjOiBidWlsdGluL3JlbW90ZS5jOjk5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgbWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICIg5LiO6L+c56iLICVzIOWQiOW5tiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDAyCisjOiBidWlsdGluL3JlbW90ZS5jOjk5NwogbXNnaWQgIiAgICBhbmQgd2l0aCByZW1vdGUiCiBtc2dzdHIgIiAgICDkuJTmnInov5znqIsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAwNAorIzogYnVpbHRpbi9yZW1vdGUuYzo5OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICLkuI7ov5znqIsgJXMg5ZCI5bm2IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAwMAogbXNnaWQgIiAgIGFuZCB3aXRoIHJlbW90ZSIKIG1zZ3N0ciAiICAg5LiU5pyJ6L+c56iLIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NgogbXNnaWQgImNyZWF0ZSIKIG1zZ3N0ciAi5Yib5bu6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0OQogbXNnaWQgImRlbGV0ZSIKIG1zZ3N0ciAi5Yig6ZmkIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1MwogbXNnaWQgInVwIHRvIGRhdGUiCiBtc2dzdHIgIuacgOaWsCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDYxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTYKIG1zZ2lkICJmYXN0LWZvcndhcmRhYmxlIgogbXNnc3RyICLlj6/lv6vov5siCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA2NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU5CiBtc2dpZCAibG9jYWwgb3V0IG9mIGRhdGUiCiBtc2dzdHIgIuacrOWcsOW3sui/h+aXtiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDcxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMg5by65Yi25o6o6YCB6IezICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDc0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMg5o6o6YCB6IezICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDc4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyDlvLrliLbmjqjpgIHoh7MgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnMg5o6o6YCB6IezICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwOTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NAogbXNnaWQgImRvIG5vdCBxdWVyeSByZW1vdGVzIgogbXNnc3RyICLkuI3mn6Xor6Lov5znqIsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTExOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiogcmVtb3RlICVzIgogbXNnc3RyICIqIOi/nOeoiyAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE5CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgogbXNnc3RyICIgIOiOt+WPluWcsOWdgO+8miVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMjAgYnVpbHRpbi9yZW1vdGUuYzoxMjg1CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzMgYnVpbHRpbi9yZW1vdGUuYzoxMzE4CiBtc2dpZCAiKG5vIFVSTCkiCiBtc2dzdHIgIijml6AgVVJMKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTI5IGJ1aWx0aW4vcmVtb3RlLmM6MTEzMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgyIGJ1aWx0aW4vcmVtb3RlLmM6MTE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFB1c2ggIFVSTDogJXMiCiBtc2dzdHIgIiAg5o6o6YCB5Zyw5Z2A77yaJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEzMyBidWlsdGluL3JlbW90ZS5jOjExMzUgYnVpbHRpbi9yZW1vdGUuYzoxMTM3CisjOiBidWlsdGluL3JlbW90ZS5jOjExODYgYnVpbHRpbi9yZW1vdGUuYzoxMTg4IGJ1aWx0aW4vcmVtb3RlLmM6MTE5MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKIG1zZ3N0ciAiICBIRUFE5YiG5pSv77yaJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEzOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIEhFQUQgYnJhbmNoIChyZW1vdGUgSEVBRCBpcyBhbWJpZ3VvdXMsIG1heSBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyk6XG4iCiBtc2dzdHIgIiAgSEVBRCDliIbmlK/vvIjov5znqIsgSEVBRCDmqKHns4rvvIzlj6/og73mmK/kuIvliJfkuK3nmoTkuIDkuKrvvInvvJpcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTUxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBSZW1vdGUgYnJhbmNoOiVzIgogbXNnaWRfcGx1cmFsICIgIFJlbW90ZSBicmFuY2hlczolcyIKQEAgLTgxNzcsMTQxICs4NDYyLDIwMiBAQAogbXNnc3RyWzFdICIgIOi/nOeoi+WIhuaUr++8miVzIgogCiAjICDor5HogIXvvJrkuK3mloflrZfnrKbkuLLmi7zmjqXvvIzlj6/liKDpmaTliY3lr7znqbrmoLwKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NCBidWlsdGluL3JlbW90ZS5jOjExODEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNyBidWlsdGluL3JlbW90ZS5jOjEyMzQKIG1zZ2lkICIgKHN0YXR1cyBub3QgcXVlcmllZCkiCiBtc2dzdHIgIu+8iOeKtuaAgeacquafpeivou+8iSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYzCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMTYKIG1zZ2lkICIgIExvY2FsIGJyYW5jaCBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCBicmFuY2hlcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ3N0clswXSAiICDkuLogJ2dpdCBwdWxsJyDphY3nva7nmoTmnKzlnLDliIbmlK/vvJoiCiBtc2dzdHJbMV0gIiAg5Li6ICdnaXQgcHVsbCcg6YWN572u55qE5pys5Zyw5YiG5pSv77yaIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyNAogbXNnaWQgIiAgTG9jYWwgcmVmcyB3aWxsIGJlIG1pcnJvcmVkIGJ5ICdnaXQgcHVzaCciCiBtc2dzdHIgIiAg5pys5Zyw5byV55So5bCG5ZyoICdnaXQgcHVzaCcg5pe26KKr6ZWc5YOPIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIExvY2FsIHJlZiBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIHJlZnMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ3N0clswXSAiICDkuLogJ2dpdCBwdXNoJyDphY3nva7nmoTmnKzlnLDlvJXnlKglc++8miIKIG1zZ3N0clsxXSAiICDkuLogJ2dpdCBwdXNoJyDphY3nva7nmoTmnKzlnLDlvJXnlKglc++8miIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk5CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNTIKIG1zZ2lkICJzZXQgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIGFjY29yZGluZyB0byByZW1vdGUiCiBtc2dzdHIgIuagueaNrui/nOeoi+iuvue9riByZWZzL3JlbW90ZXMvPOWQjeensD4vSEVBRCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNTQKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICLliKDpmaQgcmVmcy9yZW1vdGVzLzzlkI3np7A+L0hFQUQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjY5CiBtc2dpZCAiQ2Fubm90IGRldGVybWluZSByZW1vdGUgSEVBRCIKIG1zZ3N0ciAi5peg5rOV56Gu5a6a6L+c56iLIEhFQUQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjcxCiBtc2dpZCAiTXVsdGlwbGUgcmVtb3RlIEhFQUQgYnJhbmNoZXMuIFBsZWFzZSBjaG9vc2Ugb25lIGV4cGxpY2l0bHkgd2l0aDoiCiBtc2dzdHIgIuWkmuS4qui/nOeoiyBIRUFEIOWIhuaUr+OAguivt+aYjuehruWcsOmAieaLqeS4gOS4queUqOWRveS7pO+8miIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGRlbGV0ZSAlcyIKIG1zZ3N0ciAi5peg5rOV5Yig6ZmkICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgogbXNnc3RyICLkuI3mmK/kuIDkuKrmnInmlYjlvJXnlKjvvJolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjM4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwICVzIgogbXNnc3RyICLkuI3og73orr7nva4gJXMiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjc0CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIHdpbGwgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzIOWwhuaIkOS4uuaRh+aRhueKtuaAge+8gSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiBidWlsdGluL3JlbW90ZS5jOjEyNzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgaGFzIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyDlt7LmiJDkuLrmkYfmkYbnirbmgIHvvIEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBydW5pbmcgJXMiCiBtc2dzdHIgIuS/ruWJqiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgyCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVVJMOiAlcyIKIG1zZ3N0ciAiVVJM77yaJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFt3b3VsZCBwcnVuZV0gJXMiCiBtc2dzdHIgIiAqIFvlsIbliKDpmaRdICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbcHJ1bmVkXSAlcyIKIG1zZ3N0ciAiICogW+W3suWIoOmZpF0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzc0CiBtc2dpZCAicHJ1bmUgcmVtb3RlcyBhZnRlciBmZXRjaGluZyIKIG1zZ3N0ciAi5oqT5Y+W5ZCO5riF6Zmk6L+c56iLIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzODcgYnVpbHRpbi9yZW1vdGUuYzoxNDYxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NDAgYnVpbHRpbi9yZW1vdGUuYzoxNTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCiBtc2dzdHIgIuayoeacieatpOi/nOeoiyAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MAogbXNnaWQgImFkZCBicmFuY2giCiBtc2dzdHIgIua3u+WKoOWIhuaUryIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDE0CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjcKIG1zZ2lkICJubyByZW1vdGUgc3BlY2lmaWVkIgogbXNnc3RyICLmnKrmjIflrprov5znqIsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDg5CiBtc2dpZCAibWFuaXB1bGF0ZSBwdXNoIFVSTHMiCiBtc2dzdHIgIuaTjeS9nOaOqOmAgSBVUkxTIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5MQogbXNnaWQgImFkZCBVUkwiCiBtc2dzdHIgIua3u+WKoCBVUkwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDkzCiBtc2dpZCAiZGVsZXRlIFVSTHMiCiBtc2dzdHIgIuWIoOmZpCBVUkxTIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUwMAogbXNnaWQgIi0tYWRkIC0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1hZGQgLS1kZWxldGUg5peg5oSP5LmJIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0ODcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCiBtc2dzdHIgIuaXoOaViOeahOaXp1VSTOWMuemFjeaooeeJiO+8miVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0OTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIFVSTCBmb3VuZDogJXMiCiBtc2dzdHIgIuacquaJvuWIsOatpFVSTO+8miVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0OTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU1MAogbXNnaWQgIldpbGwgbm90IGRlbGV0ZSBhbGwgbm9uLXB1c2ggVVJMcyIKIG1zZ3N0ciAi5bCG5LiN5Lya5Yig6Zmk5omA5pyJ6Z2e5o6o6YCBVVJM5Zyw5Z2AIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU2NAogbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgIuWGl+mVv+i+k+WHuu+8m+W/hemhu+e9ruS6juWtkOWRveS7pOS5i+WJjSIKIAorIzogYnVpbHRpbi9yZXBhY2suYzoxNQorbXNnaWQgImdpdCByZXBhY2sgW29wdGlvbnNdIgorbXNnc3RyICJnaXQgcmVwYWNrIFvpgInpobldIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE0MworbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgorbXNnc3RyICLmiYDmnInlhoXlrrnmiZPljIXliLDkuIDkuKrljIXmlofku7bkuK0iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTQ1Cittc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKK21zZ3N0ciAi5ZKMIC1hIOebuOWQjO+8jOW5tuWwhuS4jeWPr+i+vueahOWvueixoeiuvuS4uuadvuaVo+WvueixoSIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNDgKK21zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCittc2dzdHIgIuWIoOmZpOWkmuS9meeahOWMhe+8jOi/kOihjCBnaXQtcHJ1bmUtcGFja2VkIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1MAorbXNnaWQgInBhc3MgLS1uby1yZXVzZS1kZWx0YSB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICLlkJEgZ2l0LXBhY2stb2JqZWN0cyDkvKDpgJLlj4LmlbAgLS1uby1yZXVzZS1kZWx0YSIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTIKK21zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgIuWQkSBnaXQtcGFjay1vYmplY3RzIOS8oOmAkuWPguaVsCAtLW5vLXJldXNlLW9iamVjdCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTQKK21zZ2lkICJkbyBub3QgcnVuIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCittc2dzdHIgIuS4jei/kOihjCBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1NworbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICLlkJEgZ2l0LXBhY2stb2JqZWN0cyDkvKDpgJLlj4LmlbAgLS1sb2NhbCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTgKK21zZ2lkICJhcHByb3hpZGF0ZSIKK21zZ3N0ciAi6L+R5Ly85pel5pyfIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1OQorbXNnaWQgIndpdGggLUEsIGRvIG5vdCBsb29zZW4gb2JqZWN0cyBvbGRlciB0aGFuIHRoaXMiCittc2dzdHIgIuS9v+eUqCAtQe+8jOS4jeimgeWwhuaXqeS6jue7meWumuaXtumXtOeahOWvueixoei/h+acnyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjEKK21zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCittc2dzdHIgIueUqOS6juWinumHj+WOi+e8qeeahOeql+WPo+WAvCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjMKK21zZ2lkICJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIKK21zZ3N0ciAi5ZKM5LiK6Z2i55qE55u45Ly877yM5L2G6ZmQ5Yi25YaF5a2Y5aSn5bCP6ICM6Z2e5p2h55uu5pWwIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2NQorbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIKK21zZ3N0ciAi6ZmQ5Yi25pyA5aSn5aKe6YeP5rex5bqmIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2NworbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgorbXNnc3RyICLmr4/kuKrljIXnmoTmnIDlpKflsLrlr7giCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nICclcycgZmFpbGVkIgorbXNnc3RyICLliKDpmaQgJyVzJyDlpLHotKUiCisKICM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3CiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZWN0PiA8cmVwbGFjZW1lbnQ+IgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIDzlr7nosaE+IDzmm7/mjaLniak+IgpAQCAtODMyMSwyNiArODY2NywzMCBAQAogbXNnc3RyICJnaXQgcmVwbGFjZSAtZCA85a+56LGhPi4uLiIKIAogIzogYnVpbHRpbi9yZXBsYWNlLmM6MTkKLW1zZ2lkICJnaXQgcmVwbGFjZSAtbCBbPHBhdHRlcm4+XSIKLW1zZ3N0ciAiZ2l0IHJlcGxhY2UgLWwgWzzmqKHlvI8+XSIKK21zZ2lkICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PGZvcm1hdD5dIFstbCBbPHBhdHRlcm4+XV0iCittc2dzdHIgImdpdCByZXBsYWNlIFstLWZvcm1hdD085qC85byPPl0gWy1sIFs85qih5byPPl1dIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3NAogbXNnaWQgImxpc3QgcmVwbGFjZSByZWZzIgogbXNnc3RyICLliJflh7rmm7/mjaLnmoTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEyMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTc1CiBtc2dpZCAiZGVsZXRlIHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAi5Yig6Zmk5pu/5o2i55qE5byV55SoIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMjMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3NgogbXNnaWQgInJlcGxhY2UgdGhlIHJlZiBpZiBpdCBleGlzdHMiCiBtc2dzdHIgIuWmguaenOWtmOWcqOWImeabv+aNouW8leeUqCIKIAotIzogYnVpbHRpbi9yZXJlcmUuYzoxMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTc3Cittc2dpZCAidXNlIHRoaXMgZm9ybWF0IgorbXNnc3RyICLkvb/nlKjmraTmoLzlvI8iCisKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6MTIKIG1zZ2lkICJnaXQgcmVyZXJlIFtjbGVhciB8IGZvcmdldCBwYXRoLi4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKIG1zZ3N0ciAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgcGF0aC4uLiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6NTYKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6NTcKIG1zZ2lkICJyZWdpc3RlciBjbGVhbiByZXNvbHV0aW9ucyBpbiBpbmRleCIKIG1zZ3N0ciAi5Zyo57Si5byV5Lit5rOo5YaM5bmy5YeA55qE6Kej5Yaz5pa55qGIIgogCkBAIC04NDAxLDg3ICs4NzUxLDkxIEBACiBtc2dpZCAiQ2Fubm90IGRvIGEgJXMgcmVzZXQgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlLiIKIG1zZ3N0ciAi5Zyo5ZCI5bm26L+H56iL5Lit5LiN6IO95YGaJXPph43nva7mk43kvZzjgIIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTEKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNjIKIG1zZ2lkICJiZSBxdWlldCwgb25seSByZXBvcnQgZXJyb3JzIgogbXNnc3RyICLlronpnZnmqKHlvI/vvIzlj6rmiqXlkYrplJnor68iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTMKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNjQKIG1zZ2lkICJyZXNldCBIRUFEIGFuZCBpbmRleCIKIG1zZ3N0ciAi6YeN572uIEhFQUQg5ZKM57Si5byVIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjU0CisjOiBidWlsdGluL3Jlc2V0LmM6MjY1CiBtc2dpZCAicmVzZXQgb25seSBIRUFEIgogbXNnc3RyICLlj6rph43nva4gSEVBRCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI1NiBidWlsdGluL3Jlc2V0LmM6MjU4CisjOiBidWlsdGluL3Jlc2V0LmM6MjY3IGJ1aWx0aW4vcmVzZXQuYzoyNjkKIG1zZ2lkICJyZXNldCBIRUFELCBpbmRleCBhbmQgd29ya2luZyB0cmVlIgogbXNnc3RyICLph43nva4gSEVBROOAgee0ouW8leWSjOW3peS9nOWMuiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI2MAorIzogYnVpbHRpbi9yZXNldC5jOjI3MQogbXNnaWQgInJlc2V0IEhFQUQgYnV0IGtlZXAgbG9jYWwgY2hhbmdlcyIKIG1zZ3N0ciAi6YeN572uIEhFQUQg5L2G5L+d5a2Y5pys5Zyw5Y+Y5pu0IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjc4CisjOiBidWlsdGluL3Jlc2V0LmM6Mjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iCiBtc2dzdHIgIuaXoOazleWwhiAnJXMnIOino+aekOS4uuS4gOS4quacieaViOeahOeJiOacrOOAgiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4MSBidWlsdGluL3Jlc2V0LmM6Mjg5CisjOiBidWlsdGluL3Jlc2V0LmM6MjkyIGJ1aWx0aW4vcmVzZXQuYzozMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q5a+56LGhICclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODYKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHRyZWUuIgogbXNnc3RyICLml6Dms5XlsIYgJyVzJyDop6PmnpDkuLrkuIDkuKrmnInmlYjnmoTmoJHlr7nosaHjgIIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTUKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDYKIG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIC0te2hhcmQsbWl4ZWQsc29mdH0iCiBtc2dzdHIgIi0tcGF0Y2gg5LiOIC0te2hhcmTjgIFtaXhlZOOAgXNvZnR9IOmAiemhueS4jeWFvOWuuSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMwNAorIzogYnVpbHRpbi9yZXNldC5jOjMxNQogbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKIG1zZ3N0ciAiLS1taXhlZCDluKbot6/lvoTlt7LlvIPnlKjvvIzogIzmmK/nlKggJ2dpdCByZXNldCAtLSA8cGF0aHM+J+OAgiIKIAogIyAg6K+R6ICF77ya5rGJ5a2X5LmL6Ze05peg56m65qC877yM5pWF5Yig6ZmkJXPliY3lkI7nqbrmoLwKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDYKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvICVzIHJlc2V0IHdpdGggcGF0aHMuIgogbXNnc3RyICLkuI3og73luKbot6/lvoTov5vooYwlc+mHjee9ruOAgiIKIAogIyAg6K+R6ICF77ya5rGJ5a2X5LmL6Ze05peg56m65qC877yM5pWF5Yig6ZmkJXPliY3lkI7nqbrmoLwKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMTYKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcmVzZXQgaXMgbm90IGFsbG93ZWQgaW4gYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuS4jeiDveWvueijuOeJiOacrOW6k+i/m+ihjCVz6YeN572uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzM2CisjOiBidWlsdGluL3Jlc2V0LmM6MzQ0Cittc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZXNldDoiCittc2dzdHIgIumHjee9ruWQjuaSpOWHuuaaguWtmOWMuueahOWPmOabtO+8miIKKworIzogYnVpbHRpbi9yZXNldC5jOjM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVzZXQgaW5kZXggZmlsZSB0byByZXZpc2lvbiAnJXMnLiIKIG1zZ3N0ciAi5LiN6IO96YeN572u57Si5byV5paH5Lu26Iez54mI5pysICclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDIKLW1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKLW1zZ3N0ciAi6YeN572u5ZCO5pKk5Ye65pqC5a2Y5Yy655qE5Y+Y5pu077yaIgotCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQ3CisjOiBidWlsdGluL3Jlc2V0LmM6MzU1CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKIG1zZ3N0ciAi5LiN6IO95YaZ5YWl5paw55qE57Si5byV5paH5Lu244CCIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM0NQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNTkKIG1zZ2lkICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgW29wdGlvbnNdIC0tIFs8YXJncz4uLi5dIgogbXNnc3RyICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgW+mAiemhuV0gLS0gWzzlj4LmlbA+Li4uXSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNTAKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzY0CiBtc2dpZCAia2VlcCB0aGUgYC0tYCBwYXNzZWQgYXMgYW4gYXJnIgogbXNnc3RyICLkv53mjIEgYC0tYCDkvZzkuLrkuIDkuKrlj4LmlbDkvKDpgJIiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzUyCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM2NgogbXNnaWQgInN0b3AgcGFyc2luZyBhZnRlciB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCIKIG1zZ3N0ciAi6YGH5Yiw56ys5LiA5Liq6Z2e6YCJ6aG55Y+C5pWw5ZCO5YGc5q2i6Kej5p6QIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQ3MAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjkKK21zZ2lkICJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIgorbXNnc3RyICLku6Xlm7rlrprplb/moLzlvI/ovpPlh7oiCisKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDg2CiBtc2dpZCAiIgogImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbb3B0aW9uc10gLS0gWzxhcmdzPi4uLl1cbiIKICIgICBvcjogZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs8YXJnPi4uLl1cbiIKQEAgLTg0OTAsOCArODg0NCw4IEBACiAiUnVuIFwiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IC1oXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIGZpcnN0IHVzYWdlLiIKIG1zZ3N0ciAiIgogImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBb6YCJ6aG5XSAtLSBbPOWPguaVsD4uLi5dXG4iCi0iICAg5oiW6ICF77yaZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs86YCJ6aG5Pi4uLl1cbiIKLSIgICDmiJbogIXvvJpnaXQgcmV2LXBhcnNlIFtvcHRpb25zXSBbPOmAiemhuT4uLi5dXG4iCisiICAg5oiW6ICF77yaZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs85Y+C5pWwPi4uLl1cbiIKKyIgICDmiJbogIXvvJpnaXQgcmV2LXBhcnNlIFvpgInpobldIFs85Y+C5pWwPi4uLl1cbiIKICJcbiIKICLliJ3mrKHkvb/nlKjml7bmiafooYwgXCJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLWhcIiDmnaXojrflvpfmm7TlpJrkv6Hmga/jgIIiCiAKQEAgLTg1MTEsODQgKzg4NjUsODQgQEAKIG1zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgPHN1YmNvbW1hbmQ+IgogbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgPOWtkOWRveS7pD4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6NzEgYnVpbHRpbi9yZXZlcnQuYzo5NAorIzogYnVpbHRpbi9yZXZlcnQuYzo3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXMgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAiJXPvvJolcyDkuI3og73lkowgJXMg5ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNQorIzogYnVpbHRpbi9yZXZlcnQuYzo4MAogbXNnaWQgImVuZCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgIue7iOatouWPjei9rOaIluaLo+mAieaTjeS9nCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDYKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODEKIG1zZ2lkICJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICLnu6fnu63lj43ovazmiJbmi6PpgInmk43kvZwiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3CisjOiBidWlsdGluL3JldmVydC5jOjgyCiBtc2dpZCAiY2FuY2VsIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAi5Y+W5raI5Y+N6L2s5oiW5ouj6YCJ5pON5L2cIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwOAorIzogYnVpbHRpbi9yZXZlcnQuYzo4MwogbXNnaWQgImRvbid0IGF1dG9tYXRpY2FsbHkgY29tbWl0IgogbXNnc3RyICLkuI3opoHoh6rliqjmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA5CisjOiBidWlsdGluL3JldmVydC5jOjg0CiBtc2dpZCAiZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIue8lui+keaPkOS6pOivtOaYjiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODcKIG1zZ2lkICJwYXJlbnQgbnVtYmVyIgogbXNnc3RyICLniLbnvJblj7ciCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE0CisjOiBidWlsdGluL3JldmVydC5jOjg5CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIuWQiOW5tuetlueVpSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTAKIG1zZ2lkICJvcHRpb24iCiBtc2dzdHIgIumAiemhuSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTYKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTEKIG1zZ2lkICJvcHRpb24gZm9yIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICLlkIjlubbnrZbnlaXnmoTpgInpobkiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI3CisjOiBidWlsdGluL3JldmVydC5jOjEwMgogbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKIG1zZ3N0ciAi6L+95Yqg5o+Q5Lqk5ZCN56ewIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyOAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQiCiBtc2dzdHIgIuWFgeiuuOW/q+i/m+W8jyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjkKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CiBtc2dpZCAicHJlc2VydmUgaW5pdGlhbGx5IGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgIuS/neeVmeWIneWni+WMlueahOepuuaPkOS6pCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMzAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CiBtc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgogbXNnc3RyICLlhYHorrjmj5DkuqTor7TmmI7kuLrnqboiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTMxCisjOiBidWlsdGluL3JldmVydC5jOjEwNgogbXNnaWQgImtlZXAgcmVkdW5kYW50LCBlbXB0eSBjb21taXRzIgogbXNnc3RyICLkv53mjIHlpJrkvZnnmoTjgIHnqbrnmoTmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTM1CisjOiBidWlsdGluL3JldmVydC5jOjExMAogbXNnaWQgInByb2dyYW0gZXJyb3IiCiBtc2dzdHIgIueoi+W6j+mUmeivryIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMjUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTk1CiBtc2dpZCAicmV2ZXJ0IGZhaWxlZCIKIG1zZ3N0ciAi6L+Y5Y6f5aSx6LSlIgogCi0jOiBidWlsdGluL3JldmVydC5jOjI0MAorIzogYnVpbHRpbi9yZXZlcnQuYzoyMTAKIG1zZ2lkICJjaGVycnktcGljayBmYWlsZWQiCiBtc2dzdHIgIuaLo+mAieWksei0pSIKIAotIzogYnVpbHRpbi9ybS5jOjE2CisjOiBidWlsdGluL3JtLmM6MTcKIG1zZ2lkICJnaXQgcm0gW29wdGlvbnNdIFstLV0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgcm0gW+mAiemhuV0gWy0tXSA85paH5Lu2Pi4uLiIKIAotIzogYnVpbHRpbi9ybS5jOjY0CisjOiBidWlsdGluL3JtLmM6NjUKIG1zZ2lkICIiCiAidGhlIGZvbGxvd2luZyBzdWJtb2R1bGUgKG9yIG9uZSBvZiBpdHMgbmVzdGVkIHN1Ym1vZHVsZXMpXG4iCiAidXNlcyBhIC5naXQgZGlyZWN0b3J5OiIKQEAgLTg1OTgsNyArODk1Miw3IEBACiBtc2dzdHJbMF0gIuWmguS4i+WtkOaooee7hO+8iOaIluS4gOS4quWFtuW1jOWll+WtkOaooee7hO+8ieS9v+eUqOS6huS4gOS4qiAuZ2l0IOebruW9le+8miIKIG1zZ3N0clsxXSAi5aaC5LiL5a2Q5qih57uE77yI5oiW5LiA5Liq5YW25bWM5aWX5a2Q5qih57uE77yJ5L2/55So5LqG5LiA5LiqIC5naXQg55uu5b2V77yaIgogCi0jOiBidWlsdGluL3JtLmM6NzAKKyM6IGJ1aWx0aW4vcm0uYzo3MQogbXNnaWQgIiIKICJcbiIKICIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgaGlzdG9yeSkiCkBAIC04NjA2LDcgKzg5NjAsNyBAQAogIlxuIgogIu+8iOS9v+eUqCAncm0gLXJmJyDlkb3ku6TlpoLmnpzmgqjnnJ/nmoTmg7PliKDpmaTlroPlj4rlhbblhajpg6jljoblj7LvvIkiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMzAKKyM6IGJ1aWx0aW4vcm0uYzoyMzEKIG1zZ2lkICIiCiAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBzdGFnZWQgY29udGVudCBkaWZmZXJlbnQgZnJvbSBib3RoIHRoZVxuIgogImZpbGUgYW5kIHRoZSBIRUFEOiIKQEAgLTg2MTYsNyArODk3MCw3IEBACiBtc2dzdHJbMF0gIuWmguS4i+aWh+S7tuWFtuaaguWtmOeahOWGheWuueWSjOW3peS9nOWMuuWPiiBIRUFEIOS4reeahOmDveS4jeS4gOagt++8miIKIG1zZ3N0clsxXSAi5aaC5LiL5paH5Lu25YW25pqC5a2Y55qE5YaF5a655ZKM5bel5L2c5Yy65Y+KIEhFQUQg5Lit55qE6YO95LiN5LiA5qC377yaIgogCi0jOiBidWlsdGluL3JtLmM6MjM1CisjOiBidWlsdGluL3JtLmM6MjM2CiBtc2dpZCAiIgogIlxuIgogIih1c2UgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCkBAIC04NjI0LDEzICs4OTc4LDEzIEBACiAiXG4iCiAi77yI5L2/55SoIC1mIOW8uuWItuWIoOmZpO+8iSIKIAotIzogYnVpbHRpbi9ybS5jOjIzOQorIzogYnVpbHRpbi9ybS5jOjI0MAogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dzdHJbMF0gIuWmguS4i+aWh+S7tuebuOWvuee0ouW8leWMuueahOWGheWuueacieS/ruaUuSIKIG1zZ3N0clsxXSAi5aaC5LiL5paH5Lu255u45a+557Si5byV5Yy655qE5YaF5a655pyJ5L+u5pS5IgogCi0jOiBidWlsdGluL3JtLmM6MjQzIGJ1aWx0aW4vcm0uYzoyNTQKKyM6IGJ1aWx0aW4vcm0uYzoyNDQgYnVpbHRpbi9ybS5jOjI1NQogbXNnaWQgIiIKICJcbiIKICIodXNlIC0tY2FjaGVkIHRvIGtlZXAgdGhlIGZpbGUsIG9yIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtODYzOCwzOCArODk5MiwzOCBAQAogIlxuIgogIu+8iOS9v+eUqCAtLWNhY2hlZCDkv53nlZnmnKzlnLDmlofku7bvvIzmiJbnlKggLWYg5by65Yi25Yig6Zmk77yJIgogCi0jOiBidWlsdGluL3JtLmM6MjUxCisjOiBidWlsdGluL3JtLmM6MjUyCiBtc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgogbXNnc3RyWzBdICLlpoLkuIvmlofku7bmnInmnKzlnLDkv67mlLnvvJoiCiBtc2dzdHJbMV0gIuWmguS4i+aWh+S7tuacieacrOWcsOS/ruaUue+8miIKIAotIzogYnVpbHRpbi9ybS5jOjI2OQorIzogYnVpbHRpbi9ybS5jOjI3MAogbXNnaWQgImRvIG5vdCBsaXN0IHJlbW92ZWQgZmlsZXMiCiBtc2dzdHIgIuS4jeWIl+WHuuWIoOmZpOeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9ybS5jOjI3MAorIzogYnVpbHRpbi9ybS5jOjI3MQogbXNnaWQgIm9ubHkgcmVtb3ZlIGZyb20gdGhlIGluZGV4IgogbXNnc3RyICLlj6rku47ntKLlvJXljLrliKDpmaQiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNzEKKyM6IGJ1aWx0aW4vcm0uYzoyNzIKIG1zZ2lkICJvdmVycmlkZSB0aGUgdXAtdG8tZGF0ZSBjaGVjayIKIG1zZ3N0ciAi5b+955Wl5paH5Lu25pu05paw54q25oCB5qOA5p+lIgogCi0jOiBidWlsdGluL3JtLmM6MjcyCisjOiBidWlsdGluL3JtLmM6MjczCiBtc2dpZCAiYWxsb3cgcmVjdXJzaXZlIHJlbW92YWwiCiBtc2dzdHIgIuWFgeiuuOmAkuW9kuWIoOmZpCIKIAotIzogYnVpbHRpbi9ybS5jOjI3NAorIzogYnVpbHRpbi9ybS5jOjI3NQogbXNnaWQgImV4aXQgd2l0aCBhIHplcm8gc3RhdHVzIGV2ZW4gaWYgbm90aGluZyBtYXRjaGVkIgogbXNnc3RyICLljbPkvb/msqHmnInljLnphY3vvIzkuZ/ku6Xpm7bnirbmgIHpgIDlh7oiCiAKLSM6IGJ1aWx0aW4vcm0uYzozNDUKKyM6IGJ1aWx0aW4vcm0uYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IHJlbW92aW5nICclcycgcmVjdXJzaXZlbHkgd2l0aG91dCAtciIKIG1zZ3N0ciAi5pyq5o+Q5L6bIC1yIOmAiemhueS4jeS8mumAkuW9kuWIoOmZpCAnJXMnIgogCi0jOiBidWlsdGluL3JtLmM6Mzg0CisjOiBidWlsdGluL3JtLmM6Mzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBybTogdW5hYmxlIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAiZ2l0IHJt77ya5LiN6IO95Yig6ZmkICVzIgpAQCAtODY4MywyMyArOTAzNywyMyBAQAogbXNnaWQgIk1pc3NpbmcgYXV0aG9yOiAlcyIKIG1zZ3N0ciAi57y65bCR5L2c6ICF77yaJXMiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMjgKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzAKIG1zZ2lkICJzb3J0IG91dHB1dCBhY2NvcmRpbmcgdG8gdGhlIG51bWJlciBvZiBjb21taXRzIHBlciBhdXRob3IiCiBtc2dzdHIgIuagueaNruavj+S4quS9nOiAheeahOaPkOS6pOaVsOmHj+aOkuW6jyIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMAorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMgogbXNnaWQgIlN1cHByZXNzIGNvbW1pdCBkZXNjcmlwdGlvbnMsIG9ubHkgcHJvdmlkZXMgY29tbWl0IGNvdW50IgogbXNnc3RyICLpmpDol4/mj5DkuqTor7TmmI7vvIzlj6rmj5Dkvpvmj5DkuqTmlbDph48iCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzIKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzQKIG1zZ2lkICJTaG93IHRoZSBlbWFpbCBhZGRyZXNzIG9mIGVhY2ggYXV0aG9yIgogbXNnc3RyICLmmL7npLrmr4/kuKrkvZzogIXnmoTnlLXlrZDpgq7ku7blnLDlnYAiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzMKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzUKIG1zZ2lkICJ3WyxpMVssaTJdXSIKIG1zZ3N0ciAid1ssaTFbLGkyXV0iCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzQKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzYKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgIuaKmOihjOi+k+WHuiIKIApAQCAtODcxOSw2NyArOTA3Myw2NyBAQAogbXNnaWQgImdpdCBzaG93LWJyYW5jaCAoLWd8LS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmVmPl0iCiBtc2dzdHIgImdpdCBzaG93LWJyYW5jaCAoLWd8LS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmVmPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDkKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgIuaYvuekuui/nOeoi+i3n+i4queahOWSjOacrOWcsOeahOWIhuaUryIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MQogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICLmmL7npLrov5znqIvot5/ouKrnmoTliIbmlK8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTMKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICLnnYDoibIgJyohKy0nIOWIsOebuOW6lOeahOWIhuaUryIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NQogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICLmmL7npLrlhbHlkIznpZblhYjlkI7nmoQgPG4+IOS4quaPkOS6pCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NwogbXNnaWQgInN5bm9ueW0gdG8gbW9yZT0tMSIKIG1zZ3N0ciAi5ZKMIG1vcmU9LTEg5ZCM5LmJIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU4CiBtc2dpZCAic3VwcHJlc3MgbmFtaW5nIHN0cmluZ3MiCiBtc2dzdHIgIuS4jeaYvuekuuWtl+espuS4suWRveWQjSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MAogbXNnaWQgImluY2x1ZGUgdGhlIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICLljIXmi6zlvZPliY3liIbmlK8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjIKIG1zZ2lkICJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiCiBtc2dzdHIgIuS7peWvueixoeWQjeWtl+WRveWQjeaPkOS6pCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NAogbXNnaWQgInNob3cgcG9zc2libGUgbWVyZ2UgYmFzZXMiCiBtc2dzdHIgIuaYvuekuuWPr+iDveWQiOW5tueahOWfuue6vyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NgogbXNnaWQgInNob3cgcmVmcyB1bnJlYWNoYWJsZSBmcm9tIGFueSBvdGhlciByZWYiCiBtc2dzdHIgIuaYvuekuuayoeacieS7u+S9leW8leeUqOeahOeahOW8leeUqCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OAogbXNnaWQgInNob3cgY29tbWl0cyBpbiB0b3BvbG9naWNhbCBvcmRlciIKIG1zZ3N0ciAi5Lul5ouT5omR6aG65bqP5pi+56S65o+Q5LqkIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjcyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjcxCiBtc2dpZCAic2hvdyBvbmx5IGNvbW1pdHMgbm90IG9uIHRoZSBmaXJzdCBicmFuY2giCiBtc2dzdHIgIuWPquaYvuekuuS4jeWcqOesrOS4gOS4quWIhuaUr+S4iueahOaPkOS6pCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MwogbXNnaWQgInNob3cgbWVyZ2VzIHJlYWNoYWJsZSBmcm9tIG9ubHkgb25lIHRpcCIKIG1zZ3N0ciAi5pi+56S65LuF5LiA5Liq5YiG5pSv5Y+v6K6/6Zeu55qE5ZCI5bm25o+Q5LqkIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc1CiBtc2dpZCAidG9wb2xvZ2ljYWxseSBzb3J0LCBtYWludGFpbmluZyBkYXRlIG9yZGVyIHdoZXJlIHBvc3NpYmxlIgogbXNnc3RyICLmi5PmiZHmlrnlvI/mjpLluo/vvIzlubblsL3lj6/og73lnLDkv53mjIHml6XmnJ/pobrluo8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzgKIG1zZ2lkICI8bj5bLDxiYXNlPl0iCiBtc2dzdHIgIjxuPlssPGJhc2U+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY4MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3OQogbXNnaWQgInNob3cgPG4+IG1vc3QgcmVjZW50IHJlZi1sb2cgZW50cmllcyBzdGFydGluZyBhdCBiYXNlIgogbXNnc3RyICLmmL7npLrku44gYmFzZSDlvIDlp4vnmoQgPG4+IOadoeacgOi/keeahOW8leeUqOaXpeW/l+iusOW9lSIKIApAQCAtODgwNywyMyArOTE2MSwyMyBAQAogbXNnaWQgInN0cmljdGVyIHJlZmVyZW5jZSBjaGVja2luZywgcmVxdWlyZXMgZXhhY3QgcmVmIHBhdGgiCiBtc2dzdHIgIuabtOS4peagvOeahOW8leeUqOajgOa1i++8jOmcgOimgeeyvuehrueahOW8leeUqOi3r+W+hCIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MyBidWlsdGluL3Nob3ctcmVmLmM6MTc2CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTczIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzUKIG1zZ2lkICJzaG93IHRoZSBIRUFEIHJlZmVyZW5jZSwgZXZlbiBpZiBpdCB3b3VsZCBiZSBmaWx0ZXJlZCBvdXQiCiBtc2dzdHIgIuaYvuekuiBIRUFEIOW8leeUqO+8jOWNs+S9v+iiq+i/h+a7pOaOiSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NwogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW50byBvYmplY3QgSURzIgogbXNnc3RyICLovazmjaIgdGFncyDliLDlr7nosaFJRCIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4MAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OQogbXNnaWQgIm9ubHkgc2hvdyBTSEExIGhhc2ggdXNpbmcgPG4+IGRpZ2l0cyIKIG1zZ3N0ciAi5Y+q5pi+56S65L2/55SoIDxuPiDkuKrmlbDlrZfnmoQgU0hBMSDlk4jluIwiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODQKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODMKIG1zZ2lkICJkbyBub3QgcHJpbnQgcmVzdWx0cyB0byBzdGRvdXQgKHVzZWZ1bCB3aXRoIC0tdmVyaWZ5KSIKIG1zZ3N0ciAi5LiN5omT5Y2w57uT5p6c5Yiw5qCH5YeG6L6T5Ye677yI5L6L5aaC5LiOIC0tdmVyaWZ5IOWPguaVsOWFseeUqO+8iSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4NQogbXNnaWQgInNob3cgcmVmcyBmcm9tIHN0ZGluIHRoYXQgYXJlbid0IGluIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuaYvuekuuS7juagh+WHhui+k+WFpeS4reivu+WFpeeahOS4jeWcqOacrOWcsOeJiOacrOW6k+S4reeahOW8leeUqCIKIApAQCAtODg0NywxMSArOTIwMSwxMSBAQAogbXNnaWQgInNob3J0ZW4gcmVmIG91dHB1dCIKIG1zZ3N0ciAi566A55+t55qE5byV55So6L6T5Ye6IgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjE4CisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1NAogbXNnaWQgInJlYXNvbiIKIG1zZ3N0ciAi5Y6f5ZugIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjE4CisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1NAogbXNnaWQgInJlYXNvbiBvZiB0aGUgdXBkYXRlIgogbXNnc3RyICLmm7TmlrDnmoTljp/lm6AiCiAKQEAgLTkwMTQsMTgzICs5MzY4LDE5NSBAQAogbXNnaWQgInByaW50IG9ubHkgdGFncyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICLlj6rmiZPljbB0YWdz5a+56LGhIgogCi0jOiBidWlsdGluL3RhZy5jOjUwNAorIzogYnVpbHRpbi90YWcuYzo1MDEKIG1zZ2lkICItLWNvbHVtbiBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4g5ZKMIC1uIOS4jeWFvOWuuSIKIAotIzogYnVpbHRpbi90YWcuYzo1MjEKKyM6IGJ1aWx0aW4vdGFnLmM6NTE4CiBtc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKIG1zZ3N0ciAiLW4g6YCJ6aG55Y+q5YWB6K645ZKMIC1sIOWQjOaXtuS9v+eUqOOAgiIKIAotIzogYnVpbHRpbi90YWcuYzo1MjMKKyM6IGJ1aWx0aW4vdGFnLmM6NTIwCiBtc2dpZCAiLS1jb250YWlucyBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgogbXNnc3RyICItLWNvbnRhaW5zIOmAiemhueWPquWFgeiuuOWSjCAtbCDlkIzml7bkvb/nlKjjgIIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTI1CisjOiBidWlsdGluL3RhZy5jOjUyMgogbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCiBtc2dzdHIgIi0tcG9pbnRzLWF0IOmAiemhueWPquWFgeiuuOWSjCAtbCDlkIzml7bkvb/nlKjjgIIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTMzCisjOiBidWlsdGluL3RhZy5jOjUzMAogbXNnaWQgIm9ubHkgb25lIC1GIG9yIC1tIG9wdGlvbiBpcyBhbGxvd2VkLiIKIG1zZ3N0ciAi5Y+q5YWB6K645LiA5LiqIC1GIOaIliAtbSDpgInpobnjgIIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTUzCisjOiBidWlsdGluL3RhZy5jOjU1MAogbXNnaWQgInRvbyBtYW55IHBhcmFtcyIKIG1zZ3N0ciAi5aSq5aSa5Y+C5pWwIgogCi0jOiBidWlsdGluL3RhZy5jOjU1OQorIzogYnVpbHRpbi90YWcuYzo1NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0YWcgbmFtZS4iCiBtc2dzdHIgIiclcycg5LiN5piv5LiA5Liq5pyJ5pWI55qEdGFn5ZCN56ew44CCIgogCi0jOiBidWlsdGluL3RhZy5jOjU2NAorIzogYnVpbHRpbi90YWcuYzo1NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgInRhZyAnJXMnIOW3suWtmOWcqCIKIAotIzogYnVpbHRpbi90YWcuYzo1ODIKKyM6IGJ1aWx0aW4vdGFnLmM6NTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbG9jayB0aGUgcmVmIgogbXNnc3RyICIlc++8muS4jeiDvemUgeWumuW8leeUqCIKIAotIzogYnVpbHRpbi90YWcuYzo1ODQKKyM6IGJ1aWx0aW4vdGFnLmM6NTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdXBkYXRlIHRoZSByZWYiCiBtc2dzdHIgIiVz77ya5LiN6IO95pu05paw5byV55SoIgogCi0jOiBidWlsdGluL3RhZy5jOjU4NgorIzogYnVpbHRpbi90YWcuYzo1ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICLlt7Lmm7TmlrB0YWcgJyVzJ++8iOabvuS4uiAlc++8iVxuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjQwMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo0MDIKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFtvcHRpb25zXSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgdXBkYXRlLWluZGV4IFvpgInpobldIFstLV0gWzzmlofku7Y+Li4uXSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MTgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzIwCiBtc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgogbXNnc3RyICLlvZPntKLlvJXpnIDopoHmm7TmlrDml7bnu6fnu63liLfmlrAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzIxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyMwogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICLliLfmlrDvvJrlv73nlaXlrZDmqKHnu4QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyNgogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICLkuI3lv73nlaXmlrDnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyOAogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICLorqnmlofku7bmm7/mjaLnm67lvZXvvIjlj43kuYvkuqbnhLbvvIkiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczMAogbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgIumAmuefpeaWh+S7tuS7juW3peS9nOWMuuS4ouWksSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMyCiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgIuWNs+S9v+e0ouW8leWMuuWMheWQq+acquWQiOW5tueahOadoeebruS5n+aJp+ihjOWIt+aWsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzM1CiBtc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgogbXNnc3RyICLliLfmlrDnu5/orqHkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzM3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczOQogbXNnaWQgImxpa2UgLS1yZWZyZXNoLCBidXQgaWdub3JlIGFzc3VtZS11bmNoYW5nZWQgc2V0dGluZyIKIG1zZ3N0ciAi57G75Ly85LqOIC0tcmVmcmVzaO+8jOS9huaYr+W/veeVpSBhc3N1bWUtdW5jaGFuZ2VkIOiuvue9riIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQzCiBtc2dpZCAiPG1vZGU+IDxvYmplY3Q+IDxwYXRoPiIKIG1zZ3N0ciAiPG1vZGU+IDxvYmplY3Q+IDxwYXRoPiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ0CiBtc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgogbXNnc3RyICLmt7vliqDmjIflrprnmoTmnaHnm67liLDntKLlvJXljLoiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0OAogbXNnaWQgIigrLy0peCIKIG1zZ3N0ciAiKCsvLSl4IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDkKIG1zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKIG1zZ3N0ciAi6KaG55uW5YiX6KGo6YeM5paH5Lu255qE5Y+v5omn6KGM5L2NIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTMKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCiBtc2dzdHIgIuaKiuaWh+S7tuagh+iusOS4uiBcIuayoeacieWPmOabtFwiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTYKIG1zZ2lkICJjbGVhciBhc3N1bWVkLXVuY2hhbmdlZCBiaXQiCiBtc2dzdHIgIua4hemZpCBhc3N1bWVkLXVuY2hhbmdlZCDkvY0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1OQogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJpbmRleC1vbmx5XCIiCiBtc2dzdHIgIuaKiuaWh+S7tuagh+iusOS4uiBcIuS7hee0ouW8lVwiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2MAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjIKIG1zZ2lkICJjbGVhciBza2lwLXdvcmt0cmVlIGJpdCIKIG1zZ3N0ciAi5riF6ZmkIHNraXAtd29ya3RyZWUg5L2NIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjUKIG1zZ2lkICJhZGQgdG8gaW5kZXggb25seTsgZG8gbm90IGFkZCBjb250ZW50IHRvIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAi5Y+q5re75Yqg5Yiw57Si5byV5Yy677yb5LiN5re75Yqg5a+56LGh5Yiw5a+56LGh5bqTIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjcKIG1zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgogbXNnc3RyICLljbPkvb/lrZjlnKjlt6XkvZzljLrph4zvvIzkuZ/liKDpmaTot6/lvoQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2OQogbXNnaWQgIndpdGggLS1zdGRpbjogaW5wdXQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgbnVsbCBieXRlcyIKIG1zZ3N0ciAi5pC65bimIC0tc3RkaW7vvJrovpPlhaXnmoTooYzku6UgbnVsbCDlrZfnrKbnu4jmraIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3MQogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIuS7juagh+WHhui+k+WFpeS4reivu+WPlumcgOimgeabtOaWsOeahOi3r+W+hOWIl+ihqCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzc1CiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIuS7juagh+WHhui+k+WFpea3u+WKoOadoeebruWIsOe0ouW8leWMuiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzc5CiBtc2dpZCAicmVwb3B1bGF0ZSBzdGFnZXMgIzIgYW5kICMzIGZvciB0aGUgbGlzdGVkIHBhdGhzIgogbXNnc3RyICLkuLrmjIflrprmlofku7bph43mlrDnlJ/miJDnrKwy5ZKM56ysM+aaguWtmOWMuiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzgzCiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCiBtc2dzdHIgIuWPquabtOaWsOS4jiBIRUFEIOS4jeWQjOeahOadoeebriIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzg3CiBtc2dpZCAiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAi5b+955Wl5bel5L2c5Yy65Lii5aSx55qE5paH5Lu2IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTAKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgIuWcqOagh+WHhui+k+WHuuaYvuekuuaTjeS9nCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkyCiBtc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCiBtc2dzdHIgIihmb3IgcG9yY2VsYWlucykg5b+Y6K6w5L+d5a2Y55qE5pyq6Kej5Yaz55qE5Yay56qBIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTYKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAi5Lul6L+Z56eN5qC85byP5YaZ5YWl57Si5byV5Yy6IgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzo3CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzo5CiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdIC1kIDxyZWZuYW1lPiBbPG9sZHZhbD5dIgotbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gLWQgPOW8leeUqOWQjT4gWzzml6flgLw+XSIKK21zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgW+mAiemhuV0gLWQgPOW8leeUqOWQjT4gWzzml6flgLw+XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6OAorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTAKIG1zZ2lkICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gICAgPHJlZm5hbWU+IDxuZXd2YWw+IFs8b2xkdmFsPl0iCi1tc2dzdHIgImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAgICA85byV55So5ZCNPiA85paw5YC8PiBbPOaXp+WAvD5dIgorbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBb6YCJ6aG5XSAgICA85byV55So5ZCNPiA85paw5YC8PiBbPOaXp+WAvD5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxOQorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTEKK21zZ2lkICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gLS1zdGRpbiBbLXpdIgorbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBb6YCJ6aG5XSAtLXN0ZGluIFstel0iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1NQogbXNnaWQgImRlbGV0ZSB0aGUgcmVmZXJlbmNlIgogbXNnc3RyICLliKDpmaTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjIxCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTcKIG1zZ2lkICJ1cGRhdGUgPHJlZm5hbWU+IG5vdCB0aGUgb25lIGl0IHBvaW50cyB0byIKIG1zZ3N0ciAi5pu05pawIDzlvJXnlKjlkI0+IOacrOi6q+iAjOS4jeaYr+Wug+aMh+WQkeeahOW8leeUqCIKIAorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU4Cittc2dpZCAic3RkaW4gaGFzIE5VTC10ZXJtaW5hdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAi5qCH5YeG6L6T5YWl5pyJ5LulIE5VTCDlrZfnrKbnu4jmraLnmoTlj4LmlbAiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1OQorbXNnaWQgInJlYWQgdXBkYXRlcyBmcm9tIHN0ZGluIgorbXNnc3RyICLku47moIflh4bovpPlhaXor7vlj5bmm7TmlrAiCisKICM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6NgogbXNnaWQgImdpdCB1cGRhdGUtc2VydmVyLWluZm8gWy0tZm9yY2VdIgogbXNnc3RyICJnaXQgdXBkYXRlLXNlcnZlci1pbmZvIFstLWZvcmNlXSIKQEAgLTkyNDQsMjMgKzk2MTAsMjMgQEAKICLlkb3ku6QgJ2dpdCBoZWxwIC1hJyDlkowgJ2dpdCBoZWxwIC1nJyDmmL7npLrlj6/nlKjnmoTlrZDlkb3ku6TlkozkuIDkupvmjIfljZfjgILlj4Lop4FcbiIKICInZ2l0IGhlbHAgPOWRveS7pD4nIOaIliAnZ2l0IGhlbHAgPOaMh+WNlz4nIOadpeafpeeci+e7meWumueahOWtkOWRveS7pOW4ruWKqeaIluaMh+WNl+OAgiIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjE0NAorIzogcGFyc2Utb3B0aW9ucy5oOjE0NgogbXNnaWQgImV4cGlyeSBkYXRlIgogbXNnc3RyICLpgL7mnJ/ml6XmnJ8iCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNTkKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNjEKIG1zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCiBtc2dzdHIgIuepuuaTjeS9nO+8iOWQkeWQjuWFvOWuue+8iSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzNgorIzogcGFyc2Utb3B0aW9ucy5oOjIzNQogbXNnaWQgImJlIG1vcmUgdmVyYm9zZSIKIG1zZ3N0ciAi5pu05Yqg6K+m57uGIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjM4CisjOiBwYXJzZS1vcHRpb25zLmg6MjM3CiBtc2dpZCAiYmUgbW9yZSBxdWlldCIKIG1zZ3N0ciAi5pu05Yqg5a6J6Z2ZIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjQ0CisjOiBwYXJzZS1vcHRpb25zLmg6MjQzCiBtc2dpZCAidXNlIDxuPiBkaWdpdHMgdG8gZGlzcGxheSBTSEEtMXMiCiBtc2dzdHIgIueUqCA8bj4g5L2N5pWw5a2X5pi+56S6IFNIQS0xIOWTiOW4jOWAvCIKIApAQCAtOTU1Miw4ICs5OTE4LDggQEAKIG1zZ3N0ciAi5qOA5Ye6ICckc3RhcnRfaGVhZCcg5aSx6LSl44CC5bCd6K+VICdnaXQgYmlzZWN0IHJlc2V0IDx2YWxpZGJyYW5jaD4n44CCIgogCiAjOiBnaXQtYmlzZWN0LnNoOjE0MAotbXNnaWQgIndvbid0IGJpc2VjdCBvbiBzZWVrZWQgdHJlZSIKLW1zZ3N0ciAi5LiN5Lya5Zyo5bey5p+l5om+6L+H55qE5qCR5LiK5LqM5YiG5p+l5om+IgorbXNnaWQgIndvbid0IGJpc2VjdCBvbiBjZy1zZWVrJ2VkIHRyZWUiCittc2dzdHIgIuS4jeS8muWcqOWBmuS6hiBjZy1zZWVrIOeahOagkeS4iuWBmuS6jOWIhuafpeaJviIKIAogIzogZ2l0LWJpc2VjdC5zaDoxNDQKIG1zZ2lkICJCYWQgSEVBRCAtIHN0cmFuZ2Ugc3ltYm9saWMgcmVmIgpAQCAtOTY5MCw3ICsxMDA1Niw3IEBACiBtc2dpZCAiUHVsbCBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIlB1bGwg5LiN5Y+v55So77yM5Zug5Li65oKo5bCa5pyJ5pyq5ZCI5bm255qE5paH5Lu244CCIgogCi0jOiBnaXQtcHVsbC5zaDoyMDMKKyM6IGdpdC1wdWxsLnNoOjIyMwogbXNnaWQgInVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAi5pu05paw5bCa5pyq6K+e55Sf55qE5YiG5pSv77yM5Y+Y5pu05re75Yqg6Iez57Si5byVIgogCkBAIC05Njk4LDcgKzEwMDY0LDcgQEAKICMuIFRoZSB3b3JraW5nIHRyZWUgYW5kIHRoZSBpbmRleCBmaWxlIGlzIHN0aWxsIGJhc2VkIG9uIHRoZQogIy4gJG9yaWdfaGVhZCBjb21taXQsIGJ1dCB3ZSBhcmUgbWVyZ2luZyBpbnRvICRjdXJyX2hlYWQuCiAjLiBGaXJzdCB1cGRhdGUgdGhlIHdvcmtpbmcgdHJlZSB0byBtYXRjaCAkY3Vycl9oZWFkLgotIzogZ2l0LXB1bGwuc2g6MjM1CisjOiBnaXQtcHVsbC5zaDoyNDcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiBmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkLlxuIgpAQCAtOTcwOCwxNSArMTAwNzQsMTUgQEAKICLorablkYrvvJpmZXRjaCDmm7TmlrDkuoblvZPliY3nmoTliIbmlK/jgILmgqjnmoTlt6XkvZzljLpcbiIKICLorablkYrvvJrku47ljp/mj5DkuqQgJG9yaWdfaGVhZCDlv6vov5vjgIIiCiAKLSM6IGdpdC1wdWxsLnNoOjI2MAorIzogZ2l0LXB1bGwuc2g6MjcyCiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAi5peg5rOV5bCG5aSa5Liq5YiG5pSv5ZCI5bm25Yiw56m65YiG5pSvIgogCi0jOiBnaXQtcHVsbC5zaDoyNjQKKyM6IGdpdC1wdWxsLnNoOjI3NgogbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcyIKIG1zZ3N0ciAi5peg5rOV5Y+Y5Z+65Yiw5aSa5Liq5YiG5pSvIgogCi0jOiBnaXQtcmViYXNlLnNoOjU0CisjOiBnaXQtcmViYXNlLnNoOjU1CiBtc2dpZCAiIgogIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiBpbnN0ZWFkLlxuIgpAQCAtOTcyNywxNiArMTAwOTMsMTYgQEAKICLlpoLmnpzmgqjmg7Pot7Pov4fmraTooaXkuIHvvIzliJnmiafooYwgXCJnaXQgcmViYXNlIC0tc2tpcFwi44CCXG4iCiAi6KaB5oGi5aSN5Y6f5YiG5pSv5bm25YGc5q2i5Y+Y5Z+677yM5omn6KGMIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCLjgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTU2CisjOiBnaXQtcmViYXNlLnNoOjE1OAogbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKIG1zZ3N0ciAi5oiQ5Yqf5bqU55SoIGF1dG9zdGFzaOOAgiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNTkKKyM6IGdpdC1yZWJhc2Uuc2g6MTYxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3RvcmUgJHN0YXNoX3NoYTEiCiBtc2dzdHIgIuaXoOazleS/neWtmCAkc3Rhc2hfc2hhMSIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNjAKKyM6IGdpdC1yZWJhc2Uuc2g6MTYyCiBtc2dpZCAiIgogIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCiAiWW91ciBjaGFuZ2VzIGFyZSBzYWZlIGluIHRoZSBzdGFzaC5cbiIKQEAgLTk3NDYsMzEgKzEwMTEyLDMxIEBACiAi5oKo55qE5L+u5pS55a6J5YWo5Zyw5L+d5a2Y5ZyoIHN0YXNoIOS4reOAglxuIgogIuaCqOWPr+S7peWcqOS7u+S9leaXtuWAmei/kOihjCBcImdpdCBzdGFzaCBwb3BcIiDmiJYgXCJnaXQgc3Rhc2ggZHJvcFwi44CCXG4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTkwCisjOiBnaXQtcmViYXNlLnNoOjIwMQogbXNnaWQgIlRoZSBwcmUtcmViYXNlIGhvb2sgcmVmdXNlZCB0byByZWJhc2UuIgogbXNnc3RyICLpkqnlrZAgcHJlLXJlYmFzZSDmi5Lnu53lj5jln7rjgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTk1CisjOiBnaXQtcmViYXNlLnNoOjIwNgogbXNnaWQgIkl0IGxvb2tzIGxpa2UgZ2l0LWFtIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKIG1zZ3N0ciAi5Ly85LmO5q2j5aSE5LqO5ZyoIGdpdC1hbSDnmoTmiafooYzov4fnqIvkuK3jgILml6Dms5Xlj5jln7rjgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzI5CisjOiBnaXQtcmViYXNlLnNoOjM0NgogbXNnaWQgIlRoZSAtLWV4ZWMgb3B0aW9uIG11c3QgYmUgdXNlZCB3aXRoIHRoZSAtLWludGVyYWN0aXZlIG9wdGlvbiIKIG1zZ3N0ciAi6YCJ6aG5IC0tZXhlYyDlv4XpobvlkozpgInpobkgLS1pbnRlcmFjdGl2ZSDlkIzml7bkvb/nlKgiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzM0CisjOiBnaXQtcmViYXNlLnNoOjM1MQogbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCiBtc2dzdHIgIuayoeacieato+WcqOi/m+ihjOeahOWPmOWfuu+8nyIKIAotIzogZ2l0LXJlYmFzZS5zaDozNDUKKyM6IGdpdC1yZWJhc2Uuc2g6MzYyCiBtc2dpZCAiVGhlIC0tZWRpdC10b2RvIGFjdGlvbiBjYW4gb25seSBiZSB1c2VkIGR1cmluZyBpbnRlcmFjdGl2ZSByZWJhc2UuIgogbXNnc3RyICLliqjkvZwgLS1lZGl0LXRvZG8g5Y+q6IO955So5Zyo5Lqk5LqS5byP5Y+Y5Z+66L+H56iL5Lit44CCIgogCi0jOiBnaXQtcmViYXNlLnNoOjM1MgorIzogZ2l0LXJlYmFzZS5zaDozNjkKIG1zZ2lkICJDYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICLkuI3og73or7vlj5YgSEVBRCIKIAotIzogZ2l0LXJlYmFzZS5zaDozNTUKKyM6IGdpdC1yZWJhc2Uuc2g6MzcyCiBtc2dpZCAiIgogIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlblxuIgogIm1hcmsgdGhlbSBhcyByZXNvbHZlZCB1c2luZyBnaXQgYWRkIgpAQCAtOTc3OCwxMiArMTAxNDQsMTIgQEAKICLmgqjlv4XpobvnvJbovpHmiYDmnInnmoTlkIjlubblhrLnqoHvvIznhLblkI7pgJrov4cgZ2l0IGFkZFxuIgogIuWRveS7pOWwhuWug+S7rOagh+iusOS4uuW3suino+WGsyIKIAotIzogZ2l0LXJlYmFzZS5zaDozNzMKKyM6IGdpdC1yZWJhc2Uuc2g6MzkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCiBtc2dzdHIgIuaXoOazleenu+WbniAkaGVhZF9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjM5MgorIzogZ2l0LXJlYmFzZS5zaDo0MDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKQEAgLTk4MDIsNjUgKzEwMTY4LDY1IEBACiAiXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxuIgogIueEtuWQjuWGjemHjeaWsOaJp+ihjOWPmOWfuuOAguS4uumBv+WFjeaCqOS4ouWksemHjeimgeaVsOaNru+8jOaIkeW3sue7j+WBnOatouW9k+WJjeaTjeS9nOOAgiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0MzcKKyM6IGdpdC1yZWJhc2Uuc2g6NDU2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICR1cHN0cmVhbV9uYW1lIgogbXNnc3RyICLml6DmlYjnmoTkuIrmuLggJHVwc3RyZWFtX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDYxCisjOiBnaXQtcmViYXNlLnNoOjQ4MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgYXJlIG1vcmUgdGhhbiBvbmUgbWVyZ2UgYmFzZXMiCiBtc2dzdHIgIiRvbnRvX25hbWU6IOacieS4gOS4quS7peS4iueahOWQiOW5tuWfuuWHhiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NjQgZ2l0LXJlYmFzZS5zaDo0NjgKKyM6IGdpdC1yZWJhc2Uuc2g6NDgzIGdpdC1yZWJhc2Uuc2g6NDg3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgogbXNnc3RyICIkb250b19uYW1lOiDmsqHmnInlkIjlubbln7rlh4YiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDczCisjOiBnaXQtcmViYXNlLnNoOjQ5MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCiBtc2dzdHIgIuayoeacieaMh+WQkeS4gOS4quacieaViOeahOaPkOS6pO+8miRvbnRvX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDk2CisjOiBnaXQtcmViYXNlLnNoOjUxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoOiAkYnJhbmNoX25hbWUiCiBtc2dzdHIgIuS4pemHjemUmeivr++8muaXoOatpOWIhuaUr++8miRicmFuY2hfbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MTkKKyM6IGdpdC1yZWJhc2Uuc2g6NTQ4CiBtc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKIG1zZ3N0ciAi5peg5rOVIGF1dG9zdGFzaCIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MjQKKyM6IGdpdC1yZWJhc2Uuc2g6NTUzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKIG1zZ3N0ciAi5Yib5bu65LqGIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MjgKKyM6IGdpdC1yZWJhc2Uuc2g6NTU3CiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAi6K+35o+Q5Lqk5oiW5Li65a6D5Lus5L+d5a2Y6L+b5bqm44CCIgogCi0jOiBnaXQtcmViYXNlLnNoOjU0OAorIzogZ2l0LXJlYmFzZS5zaDo1NzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAi5b2T5YmN5YiG5pSvICRicmFuY2hfbmFtZSDmmK/mnIDmlrDnmoTjgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTUyCisjOiBnaXQtcmViYXNlLnNoOjU4MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgogbXNnc3RyICLlvZPliY3liIbmlK8gJGJyYW5jaF9uYW1lIOaYr+acgOaWsOeahO+8jOW8uuWItuWPmOWfuuOAgiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjMKKyM6IGdpdC1yZWJhc2Uuc2g6NTkyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDaGFuZ2VzIGZyb20gJG1iIHRvICRvbnRvOiIKIG1zZ3N0ciAi5Y+Y5pu05LuOICRtYiDliLAgJG9udG/vvJoiCiAKICMuIERldGFjaCBIRUFEIGFuZCByZXNldCB0aGUgdHJlZQotIzogZ2l0LXJlYmFzZS5zaDo1NzIKKyM6IGdpdC1yZWJhc2Uuc2g6NjAxCiBtc2dpZCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uIgogbXNnc3RyICLpppblhYjvvIzph43nva7lpLTmjIfpkojku6Xkvr/lnKjkuIrpnaLph43mlL7mgqjnmoTlt6XkvZwuLi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTgyCisjOiBnaXQtcmViYXNlLnNoOjYxMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkZWQgJGJyYW5jaF9uYW1lIHRvICRvbnRvX25hbWUuIgogbXNnc3RyICLlv6vov5sgJGJyYW5jaF9uYW1lIOiHsyAkb250b19uYW1l44CCIgpAQCAtOTkwOCw3ICsxMDI3NCw3IEBACiAjLiAkIGdpdCBzdGFzaCBzYXZlIC0tYmxhaC1ibGFoIDI+JjEgfCBoZWFkIC1uIDIKICMuIGVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAtLWJsYWgtYmxhaAogIy4gVG8gcHJvdmlkZSBhIG1lc3NhZ2UsIHVzZSBnaXQgc3Rhc2ggc2F2ZSAtLSAnLS1ibGFoLWJsYWgnCi0jOiBnaXQtc3Rhc2guc2g6MjQxCisjOiBnaXQtc3Rhc2guc2g6MjM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKQEAgLTk5MTcsOTYgKzEwMjgzLDg1IEBACiAi6ZSZ6K+v77yaJ3N0YXNoIHNhdmUnIOeahOacquefpemAiemhue+8miRvcHRpb25cbiIKICIgICAgICDopoHmj5DkvpvkuIDkuKrmj4/ov7Dkv6Hmga/vvIzkvb/nlKggZ2l0IHN0YXNoIHNhdmUgLS0gJyRvcHRpb24nIgogCi0jOiBnaXQtc3Rhc2guc2g6MjYyCisjOiBnaXQtc3Rhc2guc2g6MjU4CiBtc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgogbXNnc3RyICLmsqHmnInopoHkv53lrZjnmoTmnKzlnLDkv67mlLkiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjgKLW1zZ2lkICIiCi0iVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgZmlsZXMgd291bGQgTk9UIGJlIHNhdmVkIGJ1dCBuZWVkIHRvIGJlIHJlbW92ZWQgYnkgIgotInN0YXNoIHNhdmU6IgotbXNnc3RyICLlpoLkuIvmnKrot5/ouKrmlofku7blsIbkuI3kvJrooqvkv53lrZjkvYbmmK/lsIbkvJrlm6DkuLrov5vluqbkv53lrZjogIzpnIDopoHooqvliKDpmaTvvJoiCi0KLSM6IGdpdC1zdGFzaC5zaDoyNzAKLW1zZ2lkICIiCi0iQWJvcnRpbmcuIENvbnNpZGVyIHVzaW5nIGVpdGhlciB0aGUgLS1mb3JjZSBvciAtLWluY2x1ZGUtdW50cmFja2VkIG9wdGlvbi4iCi1tc2dzdHIgIue7iOatouOAguiAg+iZkeS9v+eUqCAtLWZvcmNlIOaIluiAhSAtLWluY2x1ZGUtdW50cmFja2VkIOmAiemhueOAgiIKLQotIzogZ2l0LXN0YXNoLnNoOjI3NAorIzogZ2l0LXN0YXNoLnNoOjI2MgogbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgogbXNnc3RyICLml6Dms5XliJ3lp4vljJYgc3Rhc2giCiAKLSM6IGdpdC1zdGFzaC5zaDoyNzgKKyM6IGdpdC1zdGFzaC5zaDoyNjYKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCiBtc2dzdHIgIuaXoOazleS/neWtmOW9k+WJjeeKtuaAgSIKIAotIzogZ2l0LXN0YXNoLnNoOjI5NgorIzogZ2l0LXN0YXNoLnNoOjI4NAogbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKIG1zZ3N0ciAi5peg5rOV5Yig6Zmk5bel5L2c5Yy65Y+Y5pu0IgogCi0jOiBnaXQtc3Rhc2guc2g6Mzk1CisjOiBnaXQtc3Rhc2guc2g6MzgzCiBtc2dpZCAiTm8gc3Rhc2ggZm91bmQuIgogbXNnc3RyICLmnKrlj5HnjrAgc3Rhc2jjgIIiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MDIKKyM6IGdpdC1zdGFzaC5zaDozOTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCiBtc2dzdHIgIuaMh+WumuS6huWkquWkmueahOeJiOacrO+8miRSRVYiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MDgKKyM6IGdpdC1zdGFzaC5zaDozOTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IHZhbGlkIHJlZmVyZW5jZSIKIG1zZ3N0ciAiJHJlZmVyZW5jZSDkuI3mmK/mnInmlYjnmoTlvJXnlKgiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MzYKKyM6IGdpdC1zdGFzaC5zaDo0MjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCiBtc2dzdHIgIickYXJncycg5LiN5pivIHN0YXNoIOagt+aPkOS6pCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ0NworIzogZ2l0LXN0YXNoLnNoOjQzNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIickYXJncycg5LiN5piv5LiA5LiqIHN0YXNoIOW8leeUqCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ1NQorIzogZ2l0LXN0YXNoLnNoOjQ0MwogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICLml6Dms5XliLfmlrDntKLlvJUiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NTkKKyM6IGdpdC1zdGFzaC5zaDo0NDcKIG1zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCiBtc2dzdHIgIuaXoOazleWcqOWQiOW5tui/h+eoi+S4reaBouWkjei/m+W6piIKIAotIzogZ2l0LXN0YXNoLnNoOjQ2NworIzogZ2l0LXN0YXNoLnNoOjQ1NQogbXNnaWQgIkNvbmZsaWN0cyBpbiBpbmRleC4gVHJ5IHdpdGhvdXQgLS1pbmRleC4iCiBtc2dzdHIgIue0ouW8leS4reacieWGsueqgeOAguWwneivleS4jeS9v+eUqCAtLWluZGV444CCIgogCi0jOiBnaXQtc3Rhc2guc2g6NDY5CisjOiBnaXQtc3Rhc2guc2g6NDU3CiBtc2dpZCAiQ291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKIG1zZ3N0ciAi5LiN6IO95L+d5a2Y57Si5byV5qCRIgogCi0jOiBnaXQtc3Rhc2guc2g6NTAzCisjOiBnaXQtc3Rhc2guc2g6NDkxCiBtc2dpZCAiQ2Fubm90IHVuc3RhZ2UgbW9kaWZpZWQgZmlsZXMiCiBtc2dzdHIgIuaXoOazlei/mOWOn+S/ruaUueeahOaWh+S7tiIKIAotIzogZ2l0LXN0YXNoLnNoOjUxOAorIzogZ2l0LXN0YXNoLnNoOjUwNgogbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKIG1zZ3N0ciAi57Si5byV55qE6L+b5bqm5rKh5pyJ6KKr5oGi5aSN44CCIgogCi0jOiBnaXQtc3Rhc2guc2g6NTM1CisjOiBnaXQtc3Rhc2guc2g6NTIzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEcm9wcGVkICR7UkVWfSAoJHMpIgogbXNnc3RyICLkuKLlvIPkuoYgJHtSRVZ9ICgkcykiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MzYKKyM6IGdpdC1zdGFzaC5zaDo1MjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiR7UkVWfe+8muS4jeiDveS4ouW8g+i/m+W6puadoeebriIKIAotIzogZ2l0LXN0YXNoLnNoOjU0MworIzogZ2l0LXN0YXNoLnNoOjUzMQogbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKIG1zZ3N0ciAi5pyq5oyH5a6a5YiG5pSv5ZCNIgogCi0jOiBnaXQtc3Rhc2guc2g6NjE1CisjOiBnaXQtc3Rhc2guc2g6NjAzCiBtc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogbXNnc3RyICLvvIjkuLrmgaLlpI3mlbDmja7ovpPlhaUgXCJnaXQgc3Rhc2ggYXBwbHlcIu+8iSIKIApAQCAtMTAxMTQsNzUgKzEwNDY5LDc1IEBACiBtc2dpZCAiRW50ZXJpbmcgJyRwcmVmaXgkZGlzcGxheXBhdGgnIgogbXNnc3RyICLmraPlnKjov5vlhaUgJyRwcmVmaXgkZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU1NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN0b3BwaW5nIGF0ICckcHJlZml4JGRpc3BsYXlwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCiBtc2dzdHIgIuWBnOatouS6jiAnJHByZWZpeCRkaXNwbGF5cGF0aCfvvIzohJrmnKzov5Tlm57pnZ7pm7blgLzjgIIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjAwCisjOiBnaXQtc3VibW9kdWxlLnNoOjYwNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiTm8gdXJsIGZvdW5kIGZvciBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyBpbiAuZ2l0bW9kdWxlcyIKIG1zZ3N0ciAi5ZyoIC5naXRtb2R1bGVzIOS4reacquaJvuWIsOWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJyDnmoQgdXJsIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cmwgZm9yIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLml6Dms5XkuLrlrZDmqKHnu4Tot6/lvoQgJyRkaXNwbGF5cGF0aCcg5rOo5YaMIHVybCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjE2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyRuYW1lJyAoJHVybCkgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5a2Q5qih57uEICckbmFtZScgKCR1cmwpIOacquWvuei3r+W+hCAnJGRpc3BsYXlwYXRoJyDms6jlhowiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjE5CisjOiBnaXQtc3VibW9kdWxlLnNoOjYzMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5peg5rOV5Li65a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgnIOazqOWGjOabtOaWsOaooeW8jyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NTYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjcxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVc2UgJy4nIGlmIHlvdSByZWFsbHkgd2FudCB0byBkZWluaXRpYWxpemUgYWxsIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIuS9v+eUqCAnLicg5aaC5p6c5oKo55yf55qE5oOz6KaB5a+55omA5pyJ5a2Q5qih57uE5Y+W5raI5Yid5aeL5YyWIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY3MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODgKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSIKIG1zZ3N0ciAi5a2Q5qih57uE5bel5L2c5Yy6ICckZGlzcGxheXBhdGgnIOWMheWQq+S4gOS4qiAuZ2l0IOebruW9lSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njg5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiKHVzZSAncm0gLXJmJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gcmVtb3ZlIGl0IGluY2x1ZGluZyBhbGwgb2YgaXRzIGhpc3RvcnkpIgogbXNnc3RyICLvvIjkvb/nlKggJ3JtIC1yZicg5ZG95Luk5aaC5p6c5oKo55yf55qE5oOz5Yig6Zmk5a6D5Y+K5YW25YWo6YOo5Y6G5Y+y77yJIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGxvY2FsIG1vZGlmaWNhdGlvbnM7IHVzZSAnLWYnIHRvICIKICJkaXNjYXJkIHRoZW0iCiBtc2dzdHIgIuWtkOaooee7hOW3peS9nOWMuiAnJGRpc3BsYXlwYXRoJyDljIXlkKvmnKzlnLDkv67mlLnvvJvkvb/nlKggJy1mJyDkuKLlvIPlroPku6wiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgzCisjOiBnaXQtc3VibW9kdWxlLnNoOjY5OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2xlYXJlZCBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuW3sua4hemZpOebruW9lSAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njk5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIHN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuaXoOazleenu+mZpOWtkOaooee7hOW3peS9nOWMuiAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzAyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGVtcHR5IHN1Ym1vZHVsZSBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuS4jeiDveWIm+W7uuepuueahOWtkOaooee7hOebruW9lSAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzExCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyRuYW1lJyAoJHVybCkgdW5yZWdpc3RlcmVkIGZvciBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLlrZDmqKHnu4QgJyRuYW1lJyAoJHVybCkg5pyq5a+56Lev5b6EICckZGlzcGxheXBhdGgnIOazqOWGjCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODM0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcgbm90IGluaXRpYWxpemVkXG4iCkBAIC0xMDE5MSwxMTcgKzEwNTQ2LDE3NCBAQAogIuWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJyDmsqHmnInliJ3lp4vljJZcbiIKICLkuZ/orrjmgqjmg7PnlKggJ3VwZGF0ZSAtLWluaXQn77yfIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgyNAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NDcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuaXoOazleWcqOWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJyDkuK3mib7liLDlvZPliY3niYjmnKwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODMzCisjOiBnaXQtc3VibW9kdWxlLnNoOjg1NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIuaXoOazleWcqOWtkOaooee7hOi3r+W+hCAnJHNtX3BhdGgnIOS4reiOt+WPliIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODgwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuaXoOazleWcqOWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJyDkuK3ojrflj5YiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODcxCisjOiBnaXQtc3VibW9kdWxlLnNoOjg5NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLml6Dms5XlnKjlrZDmqKHnu4Tot6/lvoQgJyRkaXNwbGF5cGF0aCcg5Lit5Y+Y5Z+6ICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODcyCisjOiBnaXQtc3VibW9kdWxlLnNoOjg5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IHJlYmFzZWQgaW50byAnJHNoYTEnIgogbXNnc3RyICLlrZDmqKHnu4Tot6/lvoQgJyRkaXNwbGF5cGF0aCfvvJrlj5jln7roh7MgJyRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTAwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gbWVyZ2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5peg5rOV5ZCI5bm2ICckc2hhMScg5Yiw5a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgnIOS4rSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogbWVyZ2VkIGluICckc2hhMSciCiBtc2dzdHIgIuWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJ++8muW3suWQiOW5tuWFpSAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg4MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlICBwYXRoICckcHJlZml4JHNtX3BhdGgnIgogbXNnc3RyICLlnKjlrZDmqKHnu4Tot6/lvoQgJyRwcmVmaXgkc21fcGF0aCcg5Lit5omn6KGMICckY29tbWFuZCAkc2hhMScg5aSx6LSlIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg4NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckcHJlZml4JHNtX3BhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogbXNnc3RyICLlrZDmqKHnu4Tot6/lvoQgJyRwcmVmaXgkc21fcGF0aCc6ICckY29tbWFuZCAkc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODg5CisjOiBnaXQtc3VibW9kdWxlLnNoOjkxMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0ICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuaXoOazleWcqOWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJyDkuK3mo4Dlh7ogJyRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTEzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogY2hlY2tlZCBvdXQgJyRzaGExJyIKIG1zZ3N0ciAi5a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgn77ya5qOA5Ye6ICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTE3CisjOiBnaXQtc3VibW9kdWxlLnNoOjk0MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5peg5rOV6YCS5b2S6L+b5a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwMjUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTA0OAogbXNnaWQgIlRoZSAtLWNhY2hlZCBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgLS1maWxlcyBvcHRpb24iCiBtc2dzdHIgIumAiemhuSAtLWNhY2hlZCDkuI3og73lkozpgInpobkgLS1maWxlcyDlkIzml7bkvb/nlKgiCiAKICMuIHVuZXhwZWN0ZWQgdHlwZQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDY2CisjOiBnaXQtc3VibW9kdWxlLnNoOjEwOTYKICMsIHNoLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgbW9kZSAkbW9kX2RzdCIKIG1zZ3N0ciAi5oSP5aSW55qE5qih5byPICRtb2RfZHN0IgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA4NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTE2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCiBtc2dzdHIgIiAg6K2m5ZGK77yaJGRpc3BsYXlfbmFtZSDmnKrljIXlkKvmj5DkuqQgJHNoYTFfc3JjIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA4OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAg6K2m5ZGK77yaJGRpc3BsYXlfbmFtZSDmnKrljIXlkKvmj5DkuqQgJHNoYTFfZHN0IgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA5MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTIyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAg6K2m5ZGK77yaJGRpc3BsYXlfbmFtZSDmnKrljIXlkKvmj5DkuqQgJHNoYTFfc3JjIOWSjCAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTExNworIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTQ3CiBtc2dpZCAiYmxvYiIKIG1zZ3N0ciAi5pWw5o2u5a+56LGhIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExNTUKLW1zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKLW1zZ3N0ciAi5a2Q5qih57uE5bey5L+u5pS55L2G5bCa5pyq5pu05paw77yaIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExNTcKLW1zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgotbXNnc3RyICLopoHmj5DkuqTnmoTlrZDmqKHnu4Tlj5jmm7TvvJoiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTI0MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMjYxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIuaXoOazlemAkuW9kui/m+WtkOaooee7hOi3r+W+hCAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEzMDYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTMyNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5Li6ICckZGlzcGxheXBhdGgnIOWQjOatpeWtkOaooee7hCB1cmwiCiAKKyMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQorI34gbXNnaWQgImNvcGllZDogICAgICVzIC0+ICVzIgorI34gbXNnc3RyICLmi7fotJ3vvJogICAgICAlcyAtPiAlcyIKKworIyAg6K+R6ICF77ya5Li65L+d6K+B5Zyo6L6T5Ye65Lit5a+56b2Q77yM5rOo5oSP6LCD5pW05Y+l5Lit56m65qC877yBCisjfiBtc2dpZCAiZGVsZXRlZDogICAgJXMiCisjfiBtc2dzdHIgIuWIoOmZpO+8miAgICAgICVzIgorCisjICDor5HogIXvvJrkuLrkv53or4HlnKjovpPlh7rkuK3lr7npvZDvvIzms6jmhI/osIPmlbTlj6XkuK3nqbrmoLzvvIEKKyN+IG1zZ2lkICJtb2RpZmllZDogICAlcyIKKyN+IG1zZ3N0ciAi5L+u5pS577yaICAgICAgJXMiCisKKyMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQorI34gbXNnaWQgInJlbmFtZWQ6ICAgICVzIC0+ICVzIgorI34gbXNnc3RyICLph43lkb3lkI3vvJogICAgJXMgLT4gJXMiCisKKyMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQorI34gbXNnaWQgInVubWVyZ2VkOiAgICVzIgorI34gbXNnc3RyICLmnKrlkIjlubbvvJogICAgJXMiCisKKyMgIOivkeiAhe+8muWtl+espuS4summluihjOihjOmmluimgea3u+WKoOKAnHdhcm5pbmc6IOKAneWtl+S4su+8jOaVheatpOmmluihjOimgei+g+WFtuS9meihjOefrQorI34gbXNnaWQgIiIKKyN+ICJwdXNoLmRlZmF1bHQgaXMgdW5zZXQ7IGl0cyBpbXBsaWNpdCB2YWx1ZSBpcyBjaGFuZ2luZyBpblxuIgorI34gIkdpdCAyLjAgZnJvbSAnbWF0Y2hpbmcnIHRvICdzaW1wbGUnLiBUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZVxuIgorI34gImFuZCBtYWludGFpbiB0aGUgY3VycmVudCBiZWhhdmlvciBhZnRlciB0aGUgZGVmYXVsdCBjaGFuZ2VzLCB1c2U6XG4iCisjfiAiXG4iCisjfiAiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHB1c2guZGVmYXVsdCBtYXRjaGluZ1xuIgorI34gIlxuIgorI34gIlRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlIGFuZCBhZG9wdCB0aGUgbmV3IGJlaGF2aW9yIG5vdywgdXNlOlxuIgorI34gIlxuIgorI34gIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCBwdXNoLmRlZmF1bHQgc2ltcGxlXG4iCisjfiAiXG4iCisjfiAiU2VlICdnaXQgaGVscCBjb25maWcnIGFuZCBzZWFyY2ggZm9yICdwdXNoLmRlZmF1bHQnIGZvciBmdXJ0aGVyICIKKyN+ICJpbmZvcm1hdGlvbi5cbiIKKyN+ICIodGhlICdzaW1wbGUnIG1vZGUgd2FzIGludHJvZHVjZWQgaW4gR2l0IDEuNy4xMS4gVXNlIHRoZSBzaW1pbGFyIG1vZGVcbiIKKyN+ICInY3VycmVudCcgaW5zdGVhZCBvZiAnc2ltcGxlJyBpZiB5b3Ugc29tZXRpbWVzIHVzZSBvbGRlciB2ZXJzaW9ucyBvZiBHaXQpIgorI34gbXNnc3RyICIiCisjfiAicHVzaC5kZWZhdWx0IOacquiuvue9ru+8jOWug+eahOm7mOiupOWAvOWwhuWcqCBHaXQgMi4wIOeUsSAnbWF0Y2hpbmcnXG4iCisjfiAi5pS55Y+Y5Li6ICdzaW1wbGUn44CC6Iul6KaB5LiN5YaN5pi+56S65pys5L+h5oGv5bm25L+d5oyB5Lyg57uf5Lmg5oOv77yM6L+b6KGM5aaC5LiL6K6+572u77yaXG4iCisjfiAiXG4iCisjfiAiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHB1c2guZGVmYXVsdCBtYXRjaGluZ1xuIgorI34gIlxuIgorI34gIuiLpeimgeS4jeWGjeaYvuekuuacrOS/oeaBr+W5tuS7jueOsOWcqOW8gOWni+mHh+eUqOaWsOeahOS9v+eUqOS5oOaDr++8jOiuvue9ru+8mlxuIgorI34gIlxuIgorI34gIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCBwdXNoLmRlZmF1bHQgc2ltcGxlXG4iCisjfiAiXG4iCisjfiAi5Y+C6KeBICdnaXQgaGVscCBjb25maWcnIOW5tuafpeaJviAncHVzaC5kZWZhdWx0JyDku6Xojrflj5bmm7TlpJrkv6Hmga/jgIJcbiIKKyN+ICLvvIgnc2ltcGxlJyDmqKHlvI/nlLEgR2l0IDEuNy4xMSDniYjmnKzlvJXlhaXjgILlpoLmnpzmgqjmnInml7bopoHkvb/nlKjogIHniYjmnKznmoQgR2l077yMXG4iCisjfiAi5Li65L+d5oyB5YW85a6577yM6K+355SoICdjdXJyZW50JyDku6Pmm78gJ3NpbXBsZSfvvIkiCisKKyN+IG1zZ2lkICJkb25lXG4iCisjfiBtc2dzdHIgIuWujOaIkFxuIgorCisjfiBtc2dpZCAiaW5wdXQgcGF0aHMgYXJlIHRlcm1pbmF0ZWQgYnkgYSBudWxsIGNoYXJhY3RlciIKKyN+IG1zZ3N0ciAi6L6T5YWl6Lev5b6E5LulbnVsbOWtl+espue7iOatoiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCBmaWxlcyB3b3VsZCBOT1QgYmUgc2F2ZWQgYnV0IG5lZWQgdG8gYmUgcmVtb3ZlZCAiCisjfiAiYnkgc3Rhc2ggc2F2ZToiCisjfiBtc2dzdHIgIuWmguS4i+acqui3n+i4quaWh+S7tuWwhuS4jeS8muiiq+S/neWtmOS9huaYr+WwhuS8muWboOS4uui/m+W6puS/neWtmOiAjOmcgOimgeiiq+WIoOmZpO+8miIKKworI34gbXNnaWQgIiIKKyN+ICJBYm9ydGluZy4gQ29uc2lkZXIgdXNpbmcgZWl0aGVyIHRoZSAtLWZvcmNlIG9yIC0taW5jbHVkZS11bnRyYWNrZWQgb3B0aW9uLiIKKyN+IG1zZ3N0ciAi57uI5q2i44CC6ICD6JmR5L2/55SoIC0tZm9yY2Ug5oiW6ICFIC0taW5jbHVkZS11bnRyYWNrZWQg6YCJ6aG544CCIgorCiAjfiBtc2dpZCAiIgogI34gInRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIChvciBvbmUgb2YgaXRzIG5lc3RlZCBzdWJtb2R1bGUpXG4iCiAjfiAidXNlcyBhIC5naXQgZGlyZWN0b3J5OiIKQEAgLTEwMzExLDM5ICsxMDcyMyw2IEBACiAjfiBtc2dzdHJbMF0gIuWmguS4i+WtkOaooee7hO+8iOaIluS4gOS4quWFtuW1jOWll+eahOWtkOaooee7hO+8ieS9v+eUqOS6huS4gOS4qiAuZ2l0IOebruW9le+8miIKICN+IG1zZ3N0clsxXSAi5aaC5LiL5a2Q5qih57uE77yI5oiW5LiA5Liq5YW25bWM5aWX55qE5a2Q5qih57uE77yJ5L2/55So5LqG5LiA5LiqIC5naXQg55uu5b2V77yaIgogCi0jfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSB1bm1lcmdlZCAuZ2l0bW9kdWxlcywgcmVzb2x2ZSBtZXJnZSBjb25mbGljdHMgZmlyc3QiCi0jfiBtc2dzdHIgIuaXoOazleS/ruaUueacquWQiOW5tueahCAuZ2l0bW9kdWxlc++8jOWFiOino+WGs+WQiOW5tuWGsueqgSIKLQotI34gbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKLSN+IG1zZ3N0ciAi5peg5rOV5ZyoIC5naXRtb2R1bGVzIOS4reaJvuWIsCBwYXRoPSVzIOeahOWwj+iKgiIKLQotI34gbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgLmdpdG1vZHVsZXMgZW50cnkgJXMiCi0jfiBtc2dzdHIgIuS4jeiDveabtOaWsCAuZ2l0bW9kdWxlcyDmnaHnm64gJXMiCi0KLSN+IG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIC5naXRtb2R1bGVzIGVudHJ5IGZvciAlcyIKLSN+IG1zZ3N0ciAi5peg5rOV56e76ZmkICVzIOeahCAuZ2l0bW9kdWxlcyDmnaHnm64iCi0KLSN+IG1zZ2lkICJjb3VsZCBub3QgZmluZCAuZ2l0bW9kdWxlcyBpbiBpbmRleCIKLSN+IG1zZ3N0ciAi5peg5rOV5Zyo57Si5byV5Lit5om+5YiwIC5naXRtb2R1bGVzIgotCi0jfiBtc2dpZCAicmVhZGluZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKLSN+IG1zZ3N0ciAi6K+75Y+W5pu05paw5ZCO55qEIC5naXRtb2R1bGVzIOWksei0pSIKLQotI34gbXNnaWQgInVuYWJsZSB0byBzdGF0IHVwZGF0ZWQgLmdpdG1vZHVsZXMiCi0jfiBtc2dzdHIgIuS4jeiDveaemuS4vuabtOaWsOWQjueahCAuZ2l0bW9kdWxlcyIKLQotI34gbXNnaWQgInVuYWJsZSB0byByZW1vdmUgLmdpdG1vZHVsZXMgZnJvbSBpbmRleCIKLSN+IG1zZ3N0ciAi5LiN6IO95LuO57Si5byV5Lit56e76ZmkIC5naXRtb2R1bGVzIgotCi0jfiBtc2dpZCAiYWRkaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgotI34gbXNnc3RyICLmt7vliqDmm7TmlrDlkI7nmoQgLmdpdG1vZHVsZXMg5aSx6LSlIgotCi0jfiBtc2dpZCAic3RhZ2luZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKLSN+IG1zZ3N0ciAi5bCG5pu05paw5ZCOIC5naXRtb2R1bGVzIOa3u+WKoOaaguWtmOWMuuWksei0pSIKLQotI34gbXNnaWQgIkNvdWxkIG5vdCBzZXQgY29yZS53b3JrdHJlZSBpbiAlcyIKLSN+IG1zZ3N0ciAi5LiN6IO95ZyoICVzIOS4reiuvue9riBjb3JlLndvcmt0cmVlIgotCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKICN+IG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLXJlc29sdmVkXCIpIgogI34gbXNnc3RyICIgIO+8iOino+WGs+WGsueqge+8jOeEtuWQjui/kOihjCBcImdpdCBhbSAtLXJlc29sdmVkXCLvvIkiCkBAIC0xMDM1OCw5ICsxMDczNyw2IEBACiAjfiBtc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tbm8tZmYgd2l0aCAtLWZmLW9ubHkuIgogI34gbXNnc3RyICLmgqjkuI3og73lsIYgLS1uby1mZiDkuI4gLS1mZi1vbmx5IOWQjOaXtuS9v+eUqOOAgiIKIAotI34gbXNnaWQgIkh1aD8gRGlyZWN0b3J5ICVzIGlzIGluIGluZGV4IGFuZCBubyBzdWJtb2R1bGU/IgotI34gbXNnc3RyICLll6/vvJ/nm67lvZUgJXMg5Zyo57Si5byV5Lit5bm25LiU5LiN5piv5a2Q5qih57uE77yfIgotCiAjfiBtc2dpZCAiIgogI34gInN1Ym1vZHVsZSAnJXMnIChvciBvbmUgb2YgaXRzIG5lc3RlZCBzdWJtb2R1bGVzKSB1c2VzIGEgLmdpdCBkaXJlY3RvcnlcbiIKICN+ICIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgIgpAQCAtMTA0NzksOSArMTA4NTUsNiBAQAogI34gbXNnaWQgIi1CIGNhbm5vdCBiZSB1c2VkIHdpdGggLWIiCiAjfiBtc2dzdHIgIi1CIOS4jeiDveWSjCAtYiDlkIzml7bkvb/nlKgiCiAKLSN+IG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgotI34gbXNnc3RyICItLXBhdGNoIOmAiemhueWSjOWFtuS7lumAiemhueS4jeWFvOWuuSIKLQogI34gbXNnaWQgIi0tZGV0YWNoIGNhbm5vdCBiZSB1c2VkIHdpdGggLWIvLUIvLS1vcnBoYW4iCiAjfiBtc2dzdHIgIi0tZGV0YWNoIOS4jeiDveWSjCAtYi8tQi8tLW9ycGhhbiDlkIzml7bkvb/nlKgiCiAKZGlmZiAtLWdpdCBhL3ByZWxvYWQtaW5kZXguYyBiL3ByZWxvYWQtaW5kZXguYwppbmRleCA0OWNiMDhkLi44YzQ0Y2ViIDEwMDY0NAotLS0gYS9wcmVsb2FkLWluZGV4LmMKKysrIGIvcHJlbG9hZC1pbmRleC5jCkBAIC0yLDkgKzIsMTEgQEAKICAqIENvcHlyaWdodCAoQykgMjAwOCBMaW51cyBUb3J2YWxkcwogICovCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJwYXRoc3BlYy5oIgogCiAjaWZkZWYgTk9fUFRIUkVBRFMKLXN0YXRpYyB2b2lkIHByZWxvYWRfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICppbmRleCwgY29uc3QgY2hhciAqKnBhdGhzcGVjKQorc3RhdGljIHZvaWQgcHJlbG9hZF9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmluZGV4LAorCQkJICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewogCTsgLyogbm90aGluZyAqLwogfQpAQCAtMjQsNyArMjYsNyBAQAogc3RydWN0IHRocmVhZF9kYXRhIHsKIAlwdGhyZWFkX3QgcHRocmVhZDsKIAlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmluZGV4OwotCWNvbnN0IGNoYXIgKipwYXRoc3BlYzsKKwlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAJaW50IG9mZnNldCwgbnI7CiB9OwogCkBAIC0zNSw5ICszNyw3IEBACiAJc3RydWN0IGluZGV4X3N0YXRlICppbmRleCA9IHAtPmluZGV4OwogCXN0cnVjdCBjYWNoZV9lbnRyeSAqKmNlcCA9IGluZGV4LT5jYWNoZSArIHAtPm9mZnNldDsKIAlzdHJ1Y3QgY2FjaGVfZGVmIGNhY2hlOwotCXN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKIAotCWluaXRfcGF0aHNwZWMoJnBhdGhzcGVjLCBwLT5wYXRoc3BlYyk7CiAJbWVtc2V0KCZjYWNoZSwgMCwgc2l6ZW9mKGNhY2hlKSk7CiAJbnIgPSBwLT5ucjsKIAlpZiAobnIgKyBwLT5vZmZzZXQgPiBpbmRleC0+Y2FjaGVfbnIpCkBAIC01Myw3ICs1Myw3IEBACiAJCQljb250aW51ZTsKIAkJaWYgKGNlX3VwdG9kYXRlKGNlKSkKIAkJCWNvbnRpbnVlOwotCQlpZiAoIWNlX3BhdGhfbWF0Y2goY2UsICZwYXRoc3BlYykpCisJCWlmICghY2VfcGF0aF9tYXRjaChjZSwgJnAtPnBhdGhzcGVjKSkKIAkJCWNvbnRpbnVlOwogCQlpZiAodGhyZWFkZWRfaGFzX3N5bWxpbmtfbGVhZGluZ19wYXRoKCZjYWNoZSwgY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpKSkKIAkJCWNvbnRpbnVlOwpAQCAtNjMsMTEgKzYzLDExIEBACiAJCQljb250aW51ZTsKIAkJY2VfbWFya191cHRvZGF0ZShjZSk7CiAJfSB3aGlsZSAoLS1uciA+IDApOwotCWZyZWVfcGF0aHNwZWMoJnBhdGhzcGVjKTsKIAlyZXR1cm4gTlVMTDsKIH0KIAotc3RhdGljIHZvaWQgcHJlbG9hZF9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmluZGV4LCBjb25zdCBjaGFyICoqcGF0aHNwZWMpCitzdGF0aWMgdm9pZCBwcmVsb2FkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaW5kZXgsCisJCQkgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCiB7CiAJaW50IHRocmVhZHMsIGksIHdvcmssIG9mZnNldDsKIAlzdHJ1Y3QgdGhyZWFkX2RhdGEgZGF0YVtNQVhfUEFSQUxMRUxdOwpAQCAtODIsMTAgKzgyLDEyIEBACiAJCXRocmVhZHMgPSBNQVhfUEFSQUxMRUw7CiAJb2Zmc2V0ID0gMDsKIAl3b3JrID0gRElWX1JPVU5EX1VQKGluZGV4LT5jYWNoZV9uciwgdGhyZWFkcyk7CisJbWVtc2V0KCZkYXRhLCAwLCBzaXplb2YoZGF0YSkpOwogCWZvciAoaSA9IDA7IGkgPCB0aHJlYWRzOyBpKyspIHsKIAkJc3RydWN0IHRocmVhZF9kYXRhICpwID0gZGF0YStpOwogCQlwLT5pbmRleCA9IGluZGV4OwotCQlwLT5wYXRoc3BlYyA9IHBhdGhzcGVjOworCQlpZiAocGF0aHNwZWMpCisJCQljb3B5X3BhdGhzcGVjKCZwLT5wYXRoc3BlYywgcGF0aHNwZWMpOwogCQlwLT5vZmZzZXQgPSBvZmZzZXQ7CiAJCXAtPm5yID0gd29yazsKIAkJb2Zmc2V0ICs9IHdvcms7CkBAIC0xMDAsNyArMTAyLDggQEAKIH0KICNlbmRpZgogCi1pbnQgcmVhZF9pbmRleF9wcmVsb2FkKHN0cnVjdCBpbmRleF9zdGF0ZSAqaW5kZXgsIGNvbnN0IGNoYXIgKipwYXRoc3BlYykKK2ludCByZWFkX2luZGV4X3ByZWxvYWQoc3RydWN0IGluZGV4X3N0YXRlICppbmRleCwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCiB7CiAJaW50IHJldHZhbCA9IHJlYWRfaW5kZXgoaW5kZXgpOwogCmRpZmYgLS1naXQgYS9wcmV0dHkuYyBiL3ByZXR0eS5jCmluZGV4IGI0ZTMyYjcuLjg3ZGIwOGIgMTAwNjQ0Ci0tLSBhL3ByZXR0eS5jCisrKyBiL3ByZXR0eS5jCkBAIC00MCw3ICs0MCw3IEBACiAJY29uc3QgY2hhciAqZm10OwogCWludCBpOwogCi0JaWYgKHByZWZpeGNtcCh2YXIsICJwcmV0dHkuIikpCisJaWYgKCFzdGFydHNfd2l0aCh2YXIsICJwcmV0dHkuIikpCiAJCXJldHVybiAwOwogCiAJbmFtZSA9IHZhciArIHN0cmxlbigicHJldHR5LiIpOwpAQCAtNjcsNyArNjcsNyBAQAogCWNvbW1pdF9mb3JtYXQtPm5hbWUgPSB4c3RyZHVwKG5hbWUpOwogCWNvbW1pdF9mb3JtYXQtPmZvcm1hdCA9IENNSVRfRk1UX1VTRVJGT1JNQVQ7CiAJZ2l0X2NvbmZpZ19zdHJpbmcoJmZtdCwgdmFyLCB2YWx1ZSk7Ci0JaWYgKCFwcmVmaXhjbXAoZm10LCAiZm9ybWF0OiIpIHx8ICFwcmVmaXhjbXAoZm10LCAidGZvcm1hdDoiKSkgeworCWlmIChzdGFydHNfd2l0aChmbXQsICJmb3JtYXQ6IikgfHwgc3RhcnRzX3dpdGgoZm10LCAidGZvcm1hdDoiKSkgewogCQljb21taXRfZm9ybWF0LT5pc190Zm9ybWF0ID0gZm10WzBdID09ICd0JzsKIAkJZm10ID0gc3RyY2hyKGZtdCwgJzonKSArIDE7CiAJfSBlbHNlIGlmIChzdHJjaHIoZm10LCAnJScpKQpAQCAtMTE1LDcgKzExNSw3IEBACiAJZm9yIChpID0gMDsgaSA8IGNvbW1pdF9mb3JtYXRzX2xlbjsgaSsrKSB7CiAJCXNpemVfdCBtYXRjaF9sZW47CiAKLQkJaWYgKHByZWZpeGNtcChjb21taXRfZm9ybWF0c1tpXS5uYW1lLCBzb3VnaHQpKQorCQlpZiAoIXN0YXJ0c193aXRoKGNvbW1pdF9mb3JtYXRzW2ldLm5hbWUsIHNvdWdodCkpCiAJCQljb250aW51ZTsKIAogCQltYXRjaF9sZW4gPSBzdHJsZW4oY29tbWl0X2Zvcm1hdHNbaV0ubmFtZSk7CkBAIC0xNTEsNyArMTUxLDcgQEAKIAkJcmV2LT5jb21taXRfZm9ybWF0ID0gQ01JVF9GTVRfREVGQVVMVDsKIAkJcmV0dXJuOwogCX0KLQlpZiAoIXByZWZpeGNtcChhcmcsICJmb3JtYXQ6IikgfHwgIXByZWZpeGNtcChhcmcsICJ0Zm9ybWF0OiIpKSB7CisJaWYgKHN0YXJ0c193aXRoKGFyZywgImZvcm1hdDoiKSB8fCBzdGFydHNfd2l0aChhcmcsICJ0Zm9ybWF0OiIpKSB7CiAJCXNhdmVfdXNlcl9mb3JtYXQocmV2LCBzdHJjaHIoYXJnLCAnOicpICsgMSwgYXJnWzBdID09ICd0Jyk7CiAJCXJldHVybjsKIAl9CkBAIC00OTcsNyArNDk3LDcgQEAKIHN0YXRpYyBpbnQgaXNfZW1wdHlfbGluZShjb25zdCBjaGFyICpsaW5lLCBpbnQgKmxlbl9wKQogewogCWludCBsZW4gPSAqbGVuX3A7Ci0Jd2hpbGUgKGxlbiAmJiBpc3NwYWNlKGxpbmVbbGVuLTFdKSkKKwl3aGlsZSAobGVuICYmIGlzc3BhY2UobGluZVtsZW4gLSAxXSkpCiAJCWxlbi0tOwogCSpsZW5fcCA9IGxlbjsKIAlyZXR1cm4gIWxlbjsKQEAgLTg0MCwxMCArODQwLDEwIEBACiAKIAkJaWYgKGkgPT0gZW9sKSB7CiAJCQlicmVhazsKLQkJfSBlbHNlIGlmICghcHJlZml4Y21wKG1zZyArIGksICJhdXRob3IgIikpIHsKKwkJfSBlbHNlIGlmIChzdGFydHNfd2l0aChtc2cgKyBpLCAiYXV0aG9yICIpKSB7CiAJCQljb250ZXh0LT5hdXRob3Iub2ZmID0gaSArIDc7CiAJCQljb250ZXh0LT5hdXRob3IubGVuID0gZW9sIC0gaSAtIDc7Ci0JCX0gZWxzZSBpZiAoIXByZWZpeGNtcChtc2cgKyBpLCAiY29tbWl0dGVyICIpKSB7CisJCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgobXNnICsgaSwgImNvbW1pdHRlciAiKSkgewogCQkJY29udGV4dC0+Y29tbWl0dGVyLm9mZiA9IGkgKyAxMDsKIAkJCWNvbnRleHQtPmNvbW1pdHRlci5sZW4gPSBlb2wgLSBpIC0gMTA7CiAJCX0KQEAgLTk4Myw3ICs5ODMsNyBAQAogCiAJCWlmICghZW5kKQogCQkJcmV0dXJuIDA7Ci0JCWlmICghcHJlZml4Y21wKGJlZ2luLCAiYXV0bywiKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoYmVnaW4sICJhdXRvLCIpKSB7CiAJCQlpZiAoIXdhbnRfY29sb3IoYy0+cHJldHR5X2N0eC0+Y29sb3IpKQogCQkJCXJldHVybiBlbmQgLSBwbGFjZWhvbGRlciArIDE7CiAJCQliZWdpbiArPSA1OwpAQCAtOTk0LDE2ICs5OTQsMTYgQEAKIAkJc3RyYnVmX2FkZHN0cihzYiwgY29sb3IpOwogCQlyZXR1cm4gZW5kIC0gcGxhY2Vob2xkZXIgKyAxOwogCX0KLQlpZiAoIXByZWZpeGNtcChwbGFjZWhvbGRlciArIDEsICJyZWQiKSkgeworCWlmIChzdGFydHNfd2l0aChwbGFjZWhvbGRlciArIDEsICJyZWQiKSkgewogCQlzdHJidWZfYWRkc3RyKHNiLCBHSVRfQ09MT1JfUkVEKTsKIAkJcmV0dXJuIDQ7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKHBsYWNlaG9sZGVyICsgMSwgImdyZWVuIikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKHBsYWNlaG9sZGVyICsgMSwgImdyZWVuIikpIHsKIAkJc3RyYnVmX2FkZHN0cihzYiwgR0lUX0NPTE9SX0dSRUVOKTsKIAkJcmV0dXJuIDY7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKHBsYWNlaG9sZGVyICsgMSwgImJsdWUiKSkgeworCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgocGxhY2Vob2xkZXIgKyAxLCAiYmx1ZSIpKSB7CiAJCXN0cmJ1Zl9hZGRzdHIoc2IsIEdJVF9DT0xPUl9CTFVFKTsKIAkJcmV0dXJuIDU7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKHBsYWNlaG9sZGVyICsgMSwgInJlc2V0IikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKHBsYWNlaG9sZGVyICsgMSwgInJlc2V0IikpIHsKIAkJc3RyYnVmX2FkZHN0cihzYiwgR0lUX0NPTE9SX1JFU0VUKTsKIAkJcmV0dXJuIDY7CiAJfSBlbHNlCkBAIC0xMDYwLDExICsxMDYwLDExIEBACiAJCQllbmQgPSBzdHJjaHIoc3RhcnQsICcpJyk7CiAJCQlpZiAoIWVuZCB8fCBlbmQgPT0gc3RhcnQpCiAJCQkJcmV0dXJuIDA7Ci0JCQlpZiAoIXByZWZpeGNtcChzdGFydCwgInRydW5jKSIpKQorCQkJaWYgKHN0YXJ0c193aXRoKHN0YXJ0LCAidHJ1bmMpIikpCiAJCQkJYy0+dHJ1bmNhdGUgPSB0cnVuY19yaWdodDsKLQkJCWVsc2UgaWYgKCFwcmVmaXhjbXAoc3RhcnQsICJsdHJ1bmMpIikpCisJCQllbHNlIGlmIChzdGFydHNfd2l0aChzdGFydCwgImx0cnVuYykiKSkKIAkJCQljLT50cnVuY2F0ZSA9IHRydW5jX2xlZnQ7Ci0JCQllbHNlIGlmICghcHJlZml4Y21wKHN0YXJ0LCAibXRydW5jKSIpKQorCQkJZWxzZSBpZiAoc3RhcnRzX3dpdGgoc3RhcnQsICJtdHJ1bmMpIikpCiAJCQkJYy0+dHJ1bmNhdGUgPSB0cnVuY19taWRkbGU7CiAJCQllbHNlCiAJCQkJcmV0dXJuIDA7CkBAIC0xMDg5LDcgKzEwODksNyBAQAogCS8qIHRoZXNlIGFyZSBpbmRlcGVuZGVudCBvZiB0aGUgY29tbWl0ICovCiAJc3dpdGNoIChwbGFjZWhvbGRlclswXSkgewogCWNhc2UgJ0MnOgotCQlpZiAoIXByZWZpeGNtcChwbGFjZWhvbGRlciArIDEsICIoYXV0bykiKSkgeworCQlpZiAoc3RhcnRzX3dpdGgocGxhY2Vob2xkZXIgKyAxLCAiKGF1dG8pIikpIHsKIAkJCWMtPmF1dG9fY29sb3IgPSAxOwogCQkJcmV0dXJuIDc7IC8qIGNvbnN1bWVkIDcgYnl0ZXMsICJDKGF1dG8pIiAqLwogCQl9IGVsc2UgewpAQCAtMTU1Niw3ICsxNTU2LDcgQEAKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJaWYgKCFwcmVmaXhjbXAobGluZSwgInBhcmVudCAiKSkgeworCQlpZiAoc3RhcnRzX3dpdGgobGluZSwgInBhcmVudCAiKSkgewogCQkJaWYgKGxpbmVsZW4gIT0gNDgpCiAJCQkJZGllKCJiYWQgcGFyZW50IGxpbmUgaW4gY29tbWl0Iik7CiAJCQljb250aW51ZTsKQEAgLTE1ODAsMTEgKzE1ODAsMTEgQEAKIAkJICogRlVMTCBzaG93cyBib3RoIGF1dGhvcnMgYnV0IG5vdCBkYXRlcy4KIAkJICogRlVMTEVSIHNob3dzIGJvdGggYXV0aG9ycyBhbmQgZGF0ZXMuCiAJCSAqLwotCQlpZiAoIXByZWZpeGNtcChsaW5lLCAiYXV0aG9yICIpKSB7CisJCWlmIChzdGFydHNfd2l0aChsaW5lLCAiYXV0aG9yICIpKSB7CiAJCQlzdHJidWZfZ3JvdyhzYiwgbGluZWxlbiArIDgwKTsKIAkJCXBwX3VzZXJfaW5mbyhwcCwgIkF1dGhvciIsIHNiLCBsaW5lICsgNywgZW5jb2RpbmcpOwogCQl9Ci0JCWlmICghcHJlZml4Y21wKGxpbmUsICJjb21taXR0ZXIgIikgJiYKKwkJaWYgKHN0YXJ0c193aXRoKGxpbmUsICJjb21taXR0ZXIgIikgJiYKIAkJICAgIChwcC0+Zm10ID09IENNSVRfRk1UX0ZVTEwgfHwgcHAtPmZtdCA9PSBDTUlUX0ZNVF9GVUxMRVIpKSB7CiAJCQlzdHJidWZfZ3JvdyhzYiwgbGluZWxlbiArIDgwKTsKIAkJCXBwX3VzZXJfaW5mbyhwcCwgIkNvbW1pdCIsIHNiLCBsaW5lICsgMTAsIGVuY29kaW5nKTsKZGlmZiAtLWdpdCBhL3Byb21wdC5jIGIvcHJvbXB0LmMKaW5kZXggZDg1MTgwNy4uZDdiYjE3YyAxMDA2NDQKLS0tIGEvcHJvbXB0LmMKKysrIGIvcHJvbXB0LmMKQEAgLTIyLDYgKzIyLDcgQEAKIAlpZiAoc3RhcnRfY29tbWFuZCgmcGFzcykpCiAJCXJldHVybiBOVUxMOwogCisJc3RyYnVmX3Jlc2V0KCZidWZmZXIpOwogCWlmIChzdHJidWZfcmVhZCgmYnVmZmVyLCBwYXNzLm91dCwgMjApIDwgMCkKIAkJZXJyID0gMTsKIApAQCAtMzgsNyArMzksNyBAQAogCiAJc3RyYnVmX3NldGxlbigmYnVmZmVyLCBzdHJjc3BuKGJ1ZmZlci5idWYsICJcclxuIikpOwogCi0JcmV0dXJuIHN0cmJ1Zl9kZXRhY2goJmJ1ZmZlciwgTlVMTCk7CisJcmV0dXJuIGJ1ZmZlci5idWY7CiB9CiAKIGNoYXIgKmdpdF9wcm9tcHQoY29uc3QgY2hhciAqcHJvbXB0LCBpbnQgZmxhZ3MpCmRpZmYgLS1naXQgYS9xdW90ZS5jIGIvcXVvdGUuYwppbmRleCA1Yzg4MDgxLi40NWUzZGIxIDEwMDY0NAotLS0gYS9xdW90ZS5jCisrKyBiL3F1b3RlLmMKQEAgLTQyLDIzICs0Miw2IEBACiAJZnJlZSh0b19mcmVlKTsKIH0KIAotdm9pZCBzcV9xdW90ZV9wcmludChGSUxFICpzdHJlYW0sIGNvbnN0IGNoYXIgKnNyYykKLXsKLQljaGFyIGM7Ci0KLQlmcHV0YygnXCcnLCBzdHJlYW0pOwotCXdoaWxlICgoYyA9ICpzcmMrKykpIHsKLQkJaWYgKG5lZWRfYnNfcXVvdGUoYykpIHsKLQkJCWZwdXRzKCInXFwiLCBzdHJlYW0pOwotCQkJZnB1dGMoYywgc3RyZWFtKTsKLQkJCWZwdXRjKCdcJycsIHN0cmVhbSk7Ci0JCX0gZWxzZSB7Ci0JCQlmcHV0YyhjLCBzdHJlYW0pOwotCQl9Ci0JfQotCWZwdXRjKCdcJycsIHN0cmVhbSk7Ci19Ci0KIHZvaWQgc3FfcXVvdGVfYXJndihzdHJ1Y3Qgc3RyYnVmICpkc3QsIGNvbnN0IGNoYXIqKiBhcmd2LCBzaXplX3QgbWF4bGVuKQogewogCWludCBpOwpAQCAtNDA4LDcyICszOTEsNzIgQEAKIAogLyogcXVvdGluZyBhcyBhIHN0cmluZyBsaXRlcmFsIGZvciBvdGhlciBsYW5ndWFnZXMgKi8KIAotdm9pZCBwZXJsX3F1b3RlX3ByaW50KEZJTEUgKnN0cmVhbSwgY29uc3QgY2hhciAqc3JjKQordm9pZCBwZXJsX3F1b3RlX2J1ZihzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqc3JjKQogewogCWNvbnN0IGNoYXIgc3EgPSAnXCcnOwogCWNvbnN0IGNoYXIgYnEgPSAnXFwnOwogCWNoYXIgYzsKIAotCWZwdXRjKHNxLCBzdHJlYW0pOworCXN0cmJ1Zl9hZGRjaChzYiwgc3EpOwogCXdoaWxlICgoYyA9ICpzcmMrKykpIHsKIAkJaWYgKGMgPT0gc3EgfHwgYyA9PSBicSkKLQkJCWZwdXRjKGJxLCBzdHJlYW0pOwotCQlmcHV0YyhjLCBzdHJlYW0pOworCQkJc3RyYnVmX2FkZGNoKHNiLCBicSk7CisJCXN0cmJ1Zl9hZGRjaChzYiwgYyk7CiAJfQotCWZwdXRjKHNxLCBzdHJlYW0pOworCXN0cmJ1Zl9hZGRjaChzYiwgc3EpOwogfQogCi12b2lkIHB5dGhvbl9xdW90ZV9wcmludChGSUxFICpzdHJlYW0sIGNvbnN0IGNoYXIgKnNyYykKK3ZvaWQgcHl0aG9uX3F1b3RlX2J1ZihzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqc3JjKQogewogCWNvbnN0IGNoYXIgc3EgPSAnXCcnOwogCWNvbnN0IGNoYXIgYnEgPSAnXFwnOwogCWNvbnN0IGNoYXIgbmwgPSAnXG4nOwogCWNoYXIgYzsKIAotCWZwdXRjKHNxLCBzdHJlYW0pOworCXN0cmJ1Zl9hZGRjaChzYiwgc3EpOwogCXdoaWxlICgoYyA9ICpzcmMrKykpIHsKIAkJaWYgKGMgPT0gbmwpIHsKLQkJCWZwdXRjKGJxLCBzdHJlYW0pOwotCQkJZnB1dGMoJ24nLCBzdHJlYW0pOworCQkJc3RyYnVmX2FkZGNoKHNiLCBicSk7CisJCQlzdHJidWZfYWRkY2goc2IsICduJyk7CiAJCQljb250aW51ZTsKIAkJfQogCQlpZiAoYyA9PSBzcSB8fCBjID09IGJxKQotCQkJZnB1dGMoYnEsIHN0cmVhbSk7Ci0JCWZwdXRjKGMsIHN0cmVhbSk7CisJCQlzdHJidWZfYWRkY2goc2IsIGJxKTsKKwkJc3RyYnVmX2FkZGNoKHNiLCBjKTsKIAl9Ci0JZnB1dGMoc3EsIHN0cmVhbSk7CisJc3RyYnVmX2FkZGNoKHNiLCBzcSk7CiB9CiAKLXZvaWQgdGNsX3F1b3RlX3ByaW50KEZJTEUgKnN0cmVhbSwgY29uc3QgY2hhciAqc3JjKQordm9pZCB0Y2xfcXVvdGVfYnVmKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpzcmMpCiB7CiAJY2hhciBjOwogCi0JZnB1dGMoJyInLCBzdHJlYW0pOworCXN0cmJ1Zl9hZGRjaChzYiwgJyInKTsKIAl3aGlsZSAoKGMgPSAqc3JjKyspKSB7CiAJCXN3aXRjaCAoYykgewogCQljYXNlICdbJzogY2FzZSAnXSc6CiAJCWNhc2UgJ3snOiBjYXNlICd9JzoKIAkJY2FzZSAnJCc6IGNhc2UgJ1xcJzogY2FzZSAnIic6Ci0JCQlmcHV0YygnXFwnLCBzdHJlYW0pOworCQkJc3RyYnVmX2FkZGNoKHNiLCAnXFwnKTsKIAkJZGVmYXVsdDoKLQkJCWZwdXRjKGMsIHN0cmVhbSk7CisJCQlzdHJidWZfYWRkY2goc2IsIGMpOwogCQkJYnJlYWs7CiAJCWNhc2UgJ1xmJzoKLQkJCWZwdXRzKCJcXGYiLCBzdHJlYW0pOworCQkJc3RyYnVmX2FkZHN0cihzYiwgIlxcZiIpOwogCQkJYnJlYWs7CiAJCWNhc2UgJ1xyJzoKLQkJCWZwdXRzKCJcXHIiLCBzdHJlYW0pOworCQkJc3RyYnVmX2FkZHN0cihzYiwgIlxcciIpOwogCQkJYnJlYWs7CiAJCWNhc2UgJ1xuJzoKLQkJCWZwdXRzKCJcXG4iLCBzdHJlYW0pOworCQkJc3RyYnVmX2FkZHN0cihzYiwgIlxcbiIpOwogCQkJYnJlYWs7CiAJCWNhc2UgJ1x0JzoKLQkJCWZwdXRzKCJcXHQiLCBzdHJlYW0pOworCQkJc3RyYnVmX2FkZHN0cihzYiwgIlxcdCIpOwogCQkJYnJlYWs7CiAJCWNhc2UgJ1x2JzoKLQkJCWZwdXRzKCJcXHYiLCBzdHJlYW0pOworCQkJc3RyYnVmX2FkZHN0cihzYiwgIlxcdiIpOwogCQkJYnJlYWs7CiAJCX0KIAl9Ci0JZnB1dGMoJyInLCBzdHJlYW0pOworCXN0cmJ1Zl9hZGRjaChzYiwgJyInKTsKIH0KZGlmZiAtLWdpdCBhL3F1b3RlLmggYi9xdW90ZS5oCmluZGV4IGVkMTEwYTUuLjcxZGNjM2EgMTAwNjQ0Ci0tLSBhL3F1b3RlLmgKKysrIGIvcXVvdGUuaApAQCAtMjcsOCArMjcsNiBAQAogICogZXhjbHVkaW5nIHRoZSBmaW5hbCBudWxsIHJlZ2FyZGxlc3Mgb2YgdGhlIGJ1ZmZlciBzaXplLgogICovCiAKLWV4dGVybiB2b2lkIHNxX3F1b3RlX3ByaW50KEZJTEUgKnN0cmVhbSwgY29uc3QgY2hhciAqc3JjKTsKLQogZXh0ZXJuIHZvaWQgc3FfcXVvdGVfYnVmKHN0cnVjdCBzdHJidWYgKiwgY29uc3QgY2hhciAqc3JjKTsKIGV4dGVybiB2b2lkIHNxX3F1b3RlX2FyZ3Yoc3RydWN0IHN0cmJ1ZiAqLCBjb25zdCBjaGFyICoqYXJndiwgc2l6ZV90IG1heGxlbik7CiAKQEAgLTY4LDggKzY2LDggQEAKIAkJCSAgc3RydWN0IHN0cmJ1ZiAqb3V0KTsKIAogLyogcXVvdGluZyBhcyBhIHN0cmluZyBsaXRlcmFsIGZvciBvdGhlciBsYW5ndWFnZXMgKi8KLWV4dGVybiB2b2lkIHBlcmxfcXVvdGVfcHJpbnQoRklMRSAqc3RyZWFtLCBjb25zdCBjaGFyICpzcmMpOwotZXh0ZXJuIHZvaWQgcHl0aG9uX3F1b3RlX3ByaW50KEZJTEUgKnN0cmVhbSwgY29uc3QgY2hhciAqc3JjKTsKLWV4dGVybiB2b2lkIHRjbF9xdW90ZV9wcmludChGSUxFICpzdHJlYW0sIGNvbnN0IGNoYXIgKnNyYyk7CitleHRlcm4gdm9pZCBwZXJsX3F1b3RlX2J1ZihzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqc3JjKTsKK2V4dGVybiB2b2lkIHB5dGhvbl9xdW90ZV9idWYoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKnNyYyk7CitleHRlcm4gdm9pZCB0Y2xfcXVvdGVfYnVmKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpzcmMpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3JlYWNoYWJsZS5jIGIvcmVhY2hhYmxlLmMKaW5kZXggZTdlNmExZS4uNjU0YThjNSAxMDA2NDQKLS0tIGEvcmVhY2hhYmxlLmMKKysrIGIvcmVhY2hhYmxlLmMKQEAgLTgwLDggKzgwLDcgQEAKIAkJZWxzZQogCQkJcHJvY2Vzc19ibG9iKGxvb2t1cF9ibG9iKGVudHJ5LnNoYTEpLCBwLCAmbWUsIGVudHJ5LnBhdGgsIGNwKTsKIAl9Ci0JZnJlZSh0cmVlLT5idWZmZXIpOwotCXRyZWUtPmJ1ZmZlciA9IE5VTEw7CisJZnJlZV90cmVlX2J1ZmZlcih0cmVlKTsKIH0KIAogc3RhdGljIHZvaWQgcHJvY2Vzc190YWcoc3RydWN0IHRhZyAqdGFnLCBzdHJ1Y3Qgb2JqZWN0X2FycmF5ICpwLApkaWZmIC0tZ2l0IGEvcmVhZC1jYWNoZS5jIGIvcmVhZC1jYWNoZS5jCmluZGV4IGMzZDVlMzUuLjMzZGQ2NzYgMTAwNjQ0Ci0tLSBhL3JlYWQtY2FjaGUuYworKysgYi9yZWFkLWNhY2hlLmMKQEAgLTY0Myw3ICs2NDMsNyBAQAogCQkJaWYgKCpwdHIgPT0gJy8nKSB7CiAJCQkJc3RydWN0IGNhY2hlX2VudHJ5ICpmb3VuZGNlOwogCQkJCSsrcHRyOwotCQkJCWZvdW5kY2UgPSBpbmRleF9uYW1lX2V4aXN0cyhpc3RhdGUsIGNlLT5uYW1lLCBwdHIgLSBjZS0+bmFtZSwgaWdub3JlX2Nhc2UpOworCQkJCWZvdW5kY2UgPSBpbmRleF9kaXJfZXhpc3RzKGlzdGF0ZSwgY2UtPm5hbWUsIHB0ciAtIGNlLT5uYW1lIC0gMSk7CiAJCQkJaWYgKGZvdW5kY2UpIHsKIAkJCQkJbWVtY3B5KCh2b2lkICopc3RhcnRQdHIsIGZvdW5kY2UtPm5hbWUgKyAoc3RhcnRQdHIgLSBjZS0+bmFtZSksIHB0ciAtIHN0YXJ0UHRyKTsKIAkJCQkJc3RhcnRQdHIgPSBwdHI7CkBAIC02NTIsNyArNjUyLDcgQEAKIAkJfQogCX0KIAotCWFsaWFzID0gaW5kZXhfbmFtZV9leGlzdHMoaXN0YXRlLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSksIGlnbm9yZV9jYXNlKTsKKwlhbGlhcyA9IGluZGV4X2ZpbGVfZXhpc3RzKGlzdGF0ZSwgY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpLCBpZ25vcmVfY2FzZSk7CiAJaWYgKGFsaWFzICYmICFjZV9zdGFnZShhbGlhcykgJiYgIWllX21hdGNoX3N0YXQoaXN0YXRlLCBhbGlhcywgc3QsIGNlX29wdGlvbikpIHsKIAkJLyogTm90aGluZyBjaGFuZ2VkLCByZWFsbHkgKi8KIAkJZnJlZShjZSk7CkBAIC0xMTE0LDcgKzExMTQsOCBAQAogCXByaW50ZihmbXQsIG5hbWUpOwogfQogCi1pbnQgcmVmcmVzaF9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgdW5zaWduZWQgaW50IGZsYWdzLCBjb25zdCBjaGFyICoqcGF0aHNwZWMsCitpbnQgcmVmcmVzaF9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgdW5zaWduZWQgaW50IGZsYWdzLAorCQkgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCiAJCSAgY2hhciAqc2VlbiwgY29uc3QgY2hhciAqaGVhZGVyX21zZykKIHsKIAlpbnQgaTsKQEAgLTExNDksNyArMTE1MCw3IEBACiAJCQljb250aW51ZTsKIAogCQlpZiAocGF0aHNwZWMgJiYKLQkJICAgICFtYXRjaF9wYXRoc3BlYyhwYXRoc3BlYywgY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpLCAwLCBzZWVuKSkKKwkJICAgICFtYXRjaF9wYXRoc3BlY19kZXB0aChwYXRoc3BlYywgY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpLCAwLCBzZWVuKSkKIAkJCWZpbHRlcmVkID0gMTsKIAogCQlpZiAoY2Vfc3RhZ2UoY2UpKSB7CkBAIC0xMjI5LDE0ICsxMjMwLDE0IEBACiBzdHJ1Y3Qgb25kaXNrX2NhY2hlX2VudHJ5IHsKIAlzdHJ1Y3QgY2FjaGVfdGltZSBjdGltZTsKIAlzdHJ1Y3QgY2FjaGVfdGltZSBtdGltZTsKLQl1bnNpZ25lZCBpbnQgZGV2OwotCXVuc2lnbmVkIGludCBpbm87Ci0JdW5zaWduZWQgaW50IG1vZGU7Ci0JdW5zaWduZWQgaW50IHVpZDsKLQl1bnNpZ25lZCBpbnQgZ2lkOwotCXVuc2lnbmVkIGludCBzaXplOworCXVpbnQzMl90IGRldjsKKwl1aW50MzJfdCBpbm87CisJdWludDMyX3QgbW9kZTsKKwl1aW50MzJfdCB1aWQ7CisJdWludDMyX3QgZ2lkOworCXVpbnQzMl90IHNpemU7CiAJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQl1bnNpZ25lZCBzaG9ydCBmbGFnczsKKwl1aW50MTZfdCBmbGFnczsKIAljaGFyIG5hbWVbRkxFWF9BUlJBWV07IC8qIG1vcmUgKi8KIH07CiAKQEAgLTEyNDgsMTUgKzEyNDksMTUgQEAKIHN0cnVjdCBvbmRpc2tfY2FjaGVfZW50cnlfZXh0ZW5kZWQgewogCXN0cnVjdCBjYWNoZV90aW1lIGN0aW1lOwogCXN0cnVjdCBjYWNoZV90aW1lIG10aW1lOwotCXVuc2lnbmVkIGludCBkZXY7Ci0JdW5zaWduZWQgaW50IGlubzsKLQl1bnNpZ25lZCBpbnQgbW9kZTsKLQl1bnNpZ25lZCBpbnQgdWlkOwotCXVuc2lnbmVkIGludCBnaWQ7Ci0JdW5zaWduZWQgaW50IHNpemU7CisJdWludDMyX3QgZGV2OworCXVpbnQzMl90IGlubzsKKwl1aW50MzJfdCBtb2RlOworCXVpbnQzMl90IHVpZDsKKwl1aW50MzJfdCBnaWQ7CisJdWludDMyX3Qgc2l6ZTsKIAl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwotCXVuc2lnbmVkIHNob3J0IGZsYWdzOwotCXVuc2lnbmVkIHNob3J0IGZsYWdzMjsKKwl1aW50MTZfdCBmbGFnczsKKwl1aW50MTZfdCBmbGFnczI7CiAJY2hhciBuYW1lW0ZMRVhfQVJSQVldOyAvKiBtb3JlICovCiB9OwogCkBAIC0xODE3LDggKzE4MTgsMTcgQEAKIAkJCWNvbnRpbnVlOwogCQlpZiAoIWNlX3VwdG9kYXRlKGNlKSAmJiBpc19yYWN5X3RpbWVzdGFtcChpc3RhdGUsIGNlKSkKIAkJCWNlX3NtdWRnZV9yYWNpbHlfY2xlYW5fZW50cnkoY2UpOwotCQlpZiAoaXNfbnVsbF9zaGExKGNlLT5zaGExKSkKLQkJCXJldHVybiBlcnJvcigiY2FjaGUgZW50cnkgaGFzIG51bGwgc2hhMTogJXMiLCBjZS0+bmFtZSk7CisJCWlmIChpc19udWxsX3NoYTEoY2UtPnNoYTEpKSB7CisJCQlzdGF0aWMgY29uc3QgY2hhciBtc2dbXSA9ICJjYWNoZSBlbnRyeSBoYXMgbnVsbCBzaGExOiAlcyI7CisJCQlzdGF0aWMgaW50IGFsbG93ID0gLTE7CisKKwkJCWlmIChhbGxvdyA8IDApCisJCQkJYWxsb3cgPSBnaXRfZW52X2Jvb2woIkdJVF9BTExPV19OVUxMX1NIQTEiLCAwKTsKKwkJCWlmIChhbGxvdykKKwkJCQl3YXJuaW5nKG1zZywgY2UtPm5hbWUpOworCQkJZWxzZQorCQkJCXJldHVybiBlcnJvcihtc2csIGNlLT5uYW1lKTsKKwkJfQogCQlpZiAoY2Vfd3JpdGVfZW50cnkoJmMsIG5ld2ZkLCBjZSwgcHJldmlvdXNfbmFtZSkgPCAwKQogCQkJcmV0dXJuIC0xOwogCX0KZGlmZiAtLWdpdCBhL3JlZnMuYyBiL3JlZnMuYwppbmRleCA3OTIyMjYxLi44OTIyOGUyIDEwMDY0NAotLS0gYS9yZWZzLmMKKysrIGIvcmVmcy5jCkBAIC03Miw2ICs3MiwxMCBAQAogewogCWludCBjb21wb25lbnRfbGVuLCBjb21wb25lbnRfY291bnQgPSAwOwogCisJaWYgKCFzdHJjbXAocmVmbmFtZSwgIkAiKSkKKwkJLyogUmVmbmFtZSBpcyBhIHNpbmdsZSBjaGFyYWN0ZXIgJ0AnLiAqLworCQlyZXR1cm4gLTE7CisKIAl3aGlsZSAoMSkgewogCQkvKiBXZSBhcmUgYXQgdGhlIHN0YXJ0IG9mIGEgcGF0aCBjb21wb25lbnQuICovCiAJCWNvbXBvbmVudF9sZW4gPSBjaGVja19yZWZuYW1lX2NvbXBvbmVudChyZWZuYW1lLCBmbGFncyk7CkBAIC02MzMsNyArNjM3LDcgQEAKIAlzdHJ1Y3QgcmVmX2VudHJ5ICpvbGRfY3VycmVudF9yZWY7CiAJaW50IHJldHZhbDsKIAotCWlmIChwcmVmaXhjbXAoZW50cnktPm5hbWUsIGRhdGEtPmJhc2UpKQorCWlmICghc3RhcnRzX3dpdGgoZW50cnktPm5hbWUsIGRhdGEtPmJhc2UpKQogCQlyZXR1cm4gMDsKIAogCWlmICghKGRhdGEtPmZsYWdzICYgRE9fRk9SX0VBQ0hfSU5DTFVERV9CUk9LRU4pICYmCkBAIC05NDMsMTMgKzk0Nyw2IEBACiAJcmV0dXJuIHJlZnM7CiB9CiAKLXZvaWQgaW52YWxpZGF0ZV9yZWZfY2FjaGUoY29uc3QgY2hhciAqc3VibW9kdWxlKQotewotCXN0cnVjdCByZWZfY2FjaGUgKnJlZnMgPSBnZXRfcmVmX2NhY2hlKHN1Ym1vZHVsZSk7Ci0JY2xlYXJfcGFja2VkX3JlZl9jYWNoZShyZWZzKTsKLQljbGVhcl9sb29zZV9yZWZfY2FjaGUocmVmcyk7Ci19Ci0KIC8qIFRoZSBsZW5ndGggb2YgYSBwZWVsZWQgcmVmZXJlbmNlIGxpbmUgaW4gcGFja2VkLXJlZnMsIGluY2x1ZGluZyBFT0w6ICovCiAjZGVmaW5lIFBFRUxFRF9MSU5FX0xFTkdUSCA0MgogCkBAIC0xMDQ1LDcgKzEwNDIsNyBAQAogCQlpZiAocmVmbmFtZSkgewogCQkJbGFzdCA9IGNyZWF0ZV9yZWZfZW50cnkocmVmbmFtZSwgc2hhMSwgUkVGX0lTUEFDS0VELCAxKTsKIAkJCWlmIChwZWVsZWQgPT0gUEVFTEVEX0ZVTExZIHx8Ci0JCQkgICAgKHBlZWxlZCA9PSBQRUVMRURfVEFHUyAmJiAhcHJlZml4Y21wKHJlZm5hbWUsICJyZWZzL3RhZ3MvIikpKQorCQkJICAgIChwZWVsZWQgPT0gUEVFTEVEX1RBR1MgJiYgc3RhcnRzX3dpdGgocmVmbmFtZSwgInJlZnMvdGFncy8iKSkpCiAJCQkJbGFzdC0+ZmxhZyB8PSBSRUZfS05PV1NfUEVFTEVEOwogCQkJYWRkX3JlZihkaXIsIGxhc3QpOwogCQkJY29udGludWU7CkBAIC0xMzc5LDcgKzEzNzYsNyBAQAogCQkJCQlyZXR1cm4gTlVMTDsKIAkJCX0KIAkJCWJ1ZmZlcltsZW5dID0gMDsKLQkJCWlmICghcHJlZml4Y21wKGJ1ZmZlciwgInJlZnMvIikgJiYKKwkJCWlmIChzdGFydHNfd2l0aChidWZmZXIsICJyZWZzLyIpICYmCiAJCQkJCSFjaGVja19yZWZuYW1lX2Zvcm1hdChidWZmZXIsIDApKSB7CiAJCQkJc3RyY3B5KHJlZm5hbWVfYnVmZmVyLCBidWZmZXIpOwogCQkJCXJlZm5hbWUgPSByZWZuYW1lX2J1ZmZlcjsKQEAgLTE0MTgsNyArMTQxNSw3IEBACiAJCS8qCiAJCSAqIElzIGl0IGEgc3ltYm9saWMgcmVmPwogCQkgKi8KLQkJaWYgKHByZWZpeGNtcChidWZmZXIsICJyZWY6IikpIHsKKwkJaWYgKCFzdGFydHNfd2l0aChidWZmZXIsICJyZWY6IikpIHsKIAkJCS8qCiAJCQkgKiBQbGVhc2Ugbm90ZSB0aGF0IEZFVENIX0hFQUQgaGFzIGEgc2Vjb25kCiAJCQkgKiBsaW5lIGNvbnRhaW5pbmcgb3RoZXIgZGF0YS4KQEAgLTE4NDAsNyArMTgzNyw3IEBACiAJc3RydWN0IHJlZl9maWx0ZXIgZmlsdGVyOwogCWludCByZXQ7CiAKLQlpZiAoIXByZWZpeCAmJiBwcmVmaXhjbXAocGF0dGVybiwgInJlZnMvIikpCisJaWYgKCFwcmVmaXggJiYgIXN0YXJ0c193aXRoKHBhdHRlcm4sICJyZWZzLyIpKQogCQlzdHJidWZfYWRkc3RyKCZyZWFsX3BhdHRlcm4sICJyZWZzLyIpOwogCWVsc2UgaWYgKHByZWZpeCkKIAkJc3RyYnVmX2FkZHN0cigmcmVhbF9wYXR0ZXJuLCBwcmVmaXgpOwpAQCAtMTg3NywxMyArMTg3NCwxMyBAQAogY29uc3QgY2hhciAqcHJldHRpZnlfcmVmbmFtZShjb25zdCBjaGFyICpuYW1lKQogewogCXJldHVybiBuYW1lICsgKAotCQkhcHJlZml4Y21wKG5hbWUsICJyZWZzL2hlYWRzLyIpID8gMTEgOgotCQkhcHJlZml4Y21wKG5hbWUsICJyZWZzL3RhZ3MvIikgPyAxMCA6Ci0JCSFwcmVmaXhjbXAobmFtZSwgInJlZnMvcmVtb3Rlcy8iKSA/IDEzIDoKKwkJc3RhcnRzX3dpdGgobmFtZSwgInJlZnMvaGVhZHMvIikgPyAxMSA6CisJCXN0YXJ0c193aXRoKG5hbWUsICJyZWZzL3RhZ3MvIikgPyAxMCA6CisJCXN0YXJ0c193aXRoKG5hbWUsICJyZWZzL3JlbW90ZXMvIikgPyAxMyA6CiAJCTApOwogfQogCi1jb25zdCBjaGFyICpyZWZfcmV2X3BhcnNlX3J1bGVzW10gPSB7CitzdGF0aWMgY29uc3QgY2hhciAqcmVmX3Jldl9wYXJzZV9ydWxlc1tdID0gewogCSIlLipzIiwKIAkicmVmcy8lLipzIiwKIAkicmVmcy90YWdzLyUuKnMiLApAQCAtMTg5MywxMiArMTg5MCwxMiBAQAogCU5VTEwKIH07CiAKLWludCByZWZuYW1lX21hdGNoKGNvbnN0IGNoYXIgKmFiYnJldl9uYW1lLCBjb25zdCBjaGFyICpmdWxsX25hbWUsIGNvbnN0IGNoYXIgKipydWxlcykKK2ludCByZWZuYW1lX21hdGNoKGNvbnN0IGNoYXIgKmFiYnJldl9uYW1lLCBjb25zdCBjaGFyICpmdWxsX25hbWUpCiB7CiAJY29uc3QgY2hhciAqKnA7CiAJY29uc3QgaW50IGFiYnJldl9uYW1lX2xlbiA9IHN0cmxlbihhYmJyZXZfbmFtZSk7CiAKLQlmb3IgKHAgPSBydWxlczsgKnA7IHArKykgeworCWZvciAocCA9IHJlZl9yZXZfcGFyc2VfcnVsZXM7ICpwOyBwKyspIHsKIAkJaWYgKCFzdHJjbXAoZnVsbF9uYW1lLCBta3BhdGgoKnAsIGFiYnJldl9uYW1lX2xlbiwgYWJicmV2X25hbWUpKSkgewogCQkJcmV0dXJuIDE7CiAJCX0KQEAgLTE5NTEsNyArMTk0OCw3IEBACiBzdGF0aWMgY2hhciAqc3Vic3RpdHV0ZV9icmFuY2hfbmFtZShjb25zdCBjaGFyICoqc3RyaW5nLCBpbnQgKmxlbikKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCWludCByZXQgPSBpbnRlcnByZXRfYnJhbmNoX25hbWUoKnN0cmluZywgJmJ1Zik7CisJaW50IHJldCA9IGludGVycHJldF9icmFuY2hfbmFtZSgqc3RyaW5nLCAqbGVuLCAmYnVmKTsKIAogCWlmIChyZXQgPT0gKmxlbikgewogCQlzaXplX3Qgc2l6ZTsKQEAgLTIwNDIsNiArMjAzOSw3IEBACiAJaW50IHR5cGUsIGxmbGFnczsKIAlpbnQgbXVzdGV4aXN0ID0gKG9sZF9zaGExICYmICFpc19udWxsX3NoYTEob2xkX3NoYTEpKTsKIAlpbnQgbWlzc2luZyA9IDA7CisJaW50IGF0dGVtcHRzX3JlbWFpbmluZyA9IDM7CiAKIAlsb2NrID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHJlZl9sb2NrKSk7CiAJbG9jay0+bG9ja19mZCA9IC0xOwpAQCAtMjA4Myw3ICsyMDgxLDcgQEAKIAogCWxvY2stPmxrID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGxvY2tfZmlsZSkpOwogCi0JbGZsYWdzID0gTE9DS19ESUVfT05fRVJST1I7CisJbGZsYWdzID0gMDsKIAlpZiAoZmxhZ3MgJiBSRUZfTk9ERVJFRikgewogCQlyZWZuYW1lID0gb3JpZ19yZWZuYW1lOwogCQlsZmxhZ3MgfD0gTE9DS19OT0RFUkVGOwpAQCAtMjA5NiwxMyArMjA5NCwzMiBAQAogCWlmICgoZmxhZ3MgJiBSRUZfTk9ERVJFRikgJiYgKHR5cGUgJiBSRUZfSVNTWU1SRUYpKQogCQlsb2NrLT5mb3JjZV93cml0ZSA9IDE7CiAKLQlpZiAoc2FmZV9jcmVhdGVfbGVhZGluZ19kaXJlY3RvcmllcyhyZWZfZmlsZSkpIHsKKyByZXRyeToKKwlzd2l0Y2ggKHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXMocmVmX2ZpbGUpKSB7CisJY2FzZSBTQ0xEX09LOgorCQlicmVhazsgLyogc3VjY2VzcyAqLworCWNhc2UgU0NMRF9WQU5JU0hFRDoKKwkJaWYgKC0tYXR0ZW1wdHNfcmVtYWluaW5nID4gMCkKKwkJCWdvdG8gcmV0cnk7CisJCS8qIGZhbGwgdGhyb3VnaCAqLworCWRlZmF1bHQ6CiAJCWxhc3RfZXJybm8gPSBlcnJubzsKIAkJZXJyb3IoInVuYWJsZSB0byBjcmVhdGUgZGlyZWN0b3J5IGZvciAlcyIsIHJlZl9maWxlKTsKIAkJZ290byBlcnJvcl9yZXR1cm47CiAJfQogCiAJbG9jay0+bG9ja19mZCA9IGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGUobG9jay0+bGssIHJlZl9maWxlLCBsZmxhZ3MpOworCWlmIChsb2NrLT5sb2NrX2ZkIDwgMCkgeworCQlpZiAoZXJybm8gPT0gRU5PRU5UICYmIC0tYXR0ZW1wdHNfcmVtYWluaW5nID4gMCkKKwkJCS8qCisJCQkgKiBNYXliZSBzb21lYm9keSBqdXN0IGRlbGV0ZWQgb25lIG9mIHRoZQorCQkJICogZGlyZWN0b3JpZXMgbGVhZGluZyB0byByZWZfZmlsZS4gIFRyeQorCQkJICogYWdhaW46CisJCQkgKi8KKwkJCWdvdG8gcmV0cnk7CisJCWVsc2UKKwkJCXVuYWJsZV90b19sb2NrX2luZGV4X2RpZShyZWZfZmlsZSwgZXJybm8pOworCX0KIAlyZXR1cm4gb2xkX3NoYTEgPyB2ZXJpZnlfbG9jayhsb2NrLCBvbGRfc2hhMSwgbXVzdGV4aXN0KSA6IGxvY2s7CiAKICBlcnJvcl9yZXR1cm46CkBAIC0yMTIxLDExICsyMTM4LDEyIEBACiB9CiAKIHN0cnVjdCByZWZfbG9jayAqbG9ja19hbnlfcmVmX2Zvcl91cGRhdGUoY29uc3QgY2hhciAqcmVmbmFtZSwKLQkJCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9zaGExLCBpbnQgZmxhZ3MpCisJCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICpvbGRfc2hhMSwKKwkJCQkJIGludCBmbGFncywgaW50ICp0eXBlX3ApCiB7CiAJaWYgKGNoZWNrX3JlZm5hbWVfZm9ybWF0KHJlZm5hbWUsIFJFRk5BTUVfQUxMT1dfT05FTEVWRUwpKQogCQlyZXR1cm4gTlVMTDsKLQlyZXR1cm4gbG9ja19yZWZfc2hhMV9iYXNpYyhyZWZuYW1lLCBvbGRfc2hhMSwgZmxhZ3MsIE5VTEwpOworCXJldHVybiBsb2NrX3JlZl9zaGExX2Jhc2ljKHJlZm5hbWUsIG9sZF9zaGExLCBmbGFncywgdHlwZV9wKTsKIH0KIAogLyoKQEAgLTIyNDYsNyArMjI2NCw3IEBACiAJc3RydWN0IHBhY2tfcmVmc19jYl9kYXRhICpjYiA9IGNiX2RhdGE7CiAJZW51bSBwZWVsX3N0YXR1cyBwZWVsX3N0YXR1czsKIAlzdHJ1Y3QgcmVmX2VudHJ5ICpwYWNrZWRfZW50cnk7Ci0JaW50IGlzX3RhZ19yZWYgPSAhcHJlZml4Y21wKGVudHJ5LT5uYW1lLCAicmVmcy90YWdzLyIpOworCWludCBpc190YWdfcmVmID0gc3RhcnRzX3dpdGgoZW50cnktPm5hbWUsICJyZWZzL3RhZ3MvIik7CiAKIAkvKiBBTFdBWVMgcGFjayB0YWdzICovCiAJaWYgKCEoY2ItPmZsYWdzICYgUEFDS19SRUZTX0FMTCkgJiYgIWlzX3RhZ19yZWYpCkBAIC0yNDEzLDYwICsyNDMxLDgyIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcmVwYWNrX3dpdGhvdXRfcmVmKGNvbnN0IGNoYXIgKnJlZm5hbWUpCitzdGF0aWMgaW50IHJlcGFja193aXRob3V0X3JlZnMoY29uc3QgY2hhciAqKnJlZm5hbWVzLCBpbnQgbikKIHsKIAlzdHJ1Y3QgcmVmX2RpciAqcGFja2VkOwogCXN0cnVjdCBzdHJpbmdfbGlzdCByZWZzX3RvX2RlbGV0ZSA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICpyZWZfdG9fZGVsZXRlOworCWludCBpLCByZW1vdmVkID0gMDsKIAotCWlmICghZ2V0X3BhY2tlZF9yZWYocmVmbmFtZSkpCi0JCXJldHVybiAwOyAvKiByZWZuYW1lIGRvZXMgbm90IGV4aXN0IGluIHBhY2tlZCByZWZzICovCisJLyogTG9vayBmb3IgYSBwYWNrZWQgcmVmICovCisJZm9yIChpID0gMDsgaSA8IG47IGkrKykKKwkJaWYgKGdldF9wYWNrZWRfcmVmKHJlZm5hbWVzW2ldKSkKKwkJCWJyZWFrOworCisJLyogQXZvaWQgbG9ja2luZyBpZiB3ZSBoYXZlIG5vdGhpbmcgdG8gZG8gKi8KKwlpZiAoaSA9PSBuKQorCQlyZXR1cm4gMDsgLyogbm8gcmVmbmFtZSBleGlzdHMgaW4gcGFja2VkIHJlZnMgKi8KIAogCWlmIChsb2NrX3BhY2tlZF9yZWZzKDApKSB7CiAJCXVuYWJsZV90b19sb2NrX2Vycm9yKGdpdF9wYXRoKCJwYWNrZWQtcmVmcyIpLCBlcnJubyk7Ci0JCXJldHVybiBlcnJvcigiY2Fubm90IGRlbGV0ZSAnJXMnIGZyb20gcGFja2VkIHJlZnMiLCByZWZuYW1lKTsKKwkJcmV0dXJuIGVycm9yKCJjYW5ub3QgZGVsZXRlICclcycgZnJvbSBwYWNrZWQgcmVmcyIsIHJlZm5hbWVzW2ldKTsKIAl9CiAJcGFja2VkID0gZ2V0X3BhY2tlZF9yZWZzKCZyZWZfY2FjaGUpOwogCi0JLyogUmVtb3ZlIHJlZm5hbWUgZnJvbSB0aGUgY2FjaGU6ICovCi0JaWYgKHJlbW92ZV9lbnRyeShwYWNrZWQsIHJlZm5hbWUpID09IC0xKSB7CisJLyogUmVtb3ZlIHJlZm5hbWVzIGZyb20gdGhlIGNhY2hlICovCisJZm9yIChpID0gMDsgaSA8IG47IGkrKykKKwkJaWYgKHJlbW92ZV9lbnRyeShwYWNrZWQsIHJlZm5hbWVzW2ldKSAhPSAtMSkKKwkJCXJlbW92ZWQgPSAxOworCWlmICghcmVtb3ZlZCkgewogCQkvKgotCQkgKiBUaGUgcGFja2VkIGVudHJ5IGRpc2FwcGVhcmVkIHdoaWxlIHdlIHdlcmUKKwkJICogQWxsIHBhY2tlZCBlbnRyaWVzIGRpc2FwcGVhcmVkIHdoaWxlIHdlIHdlcmUKIAkJICogYWNxdWlyaW5nIHRoZSBsb2NrLgogCQkgKi8KIAkJcm9sbGJhY2tfcGFja2VkX3JlZnMoKTsKIAkJcmV0dXJuIDA7CiAJfQogCi0JLyogUmVtb3ZlIGFueSBvdGhlciBhY2N1bXVsYXRlZCBjcnVmdDogKi8KKwkvKiBSZW1vdmUgYW55IG90aGVyIGFjY3VtdWxhdGVkIGNydWZ0ICovCiAJZG9fZm9yX2VhY2hfZW50cnlfaW5fZGlyKHBhY2tlZCwgMCwgY3VyYXRlX3BhY2tlZF9yZWZfZm4sICZyZWZzX3RvX2RlbGV0ZSk7CiAJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShyZWZfdG9fZGVsZXRlLCAmcmVmc190b19kZWxldGUpIHsKIAkJaWYgKHJlbW92ZV9lbnRyeShwYWNrZWQsIHJlZl90b19kZWxldGUtPnN0cmluZykgPT0gLTEpCiAJCQlkaWUoImludGVybmFsIGVycm9yIik7CiAJfQogCi0JLyogV3JpdGUgd2hhdCByZW1haW5zOiAqLworCS8qIFdyaXRlIHdoYXQgcmVtYWlucyAqLwogCXJldHVybiBjb21taXRfcGFja2VkX3JlZnMoKTsKIH0KIAorc3RhdGljIGludCByZXBhY2tfd2l0aG91dF9yZWYoY29uc3QgY2hhciAqcmVmbmFtZSkKK3sKKwlyZXR1cm4gcmVwYWNrX3dpdGhvdXRfcmVmcygmcmVmbmFtZSwgMSk7Cit9CisKK3N0YXRpYyBpbnQgZGVsZXRlX3JlZl9sb29zZShzdHJ1Y3QgcmVmX2xvY2sgKmxvY2ssIGludCBmbGFnKQoreworCWlmICghKGZsYWcgJiBSRUZfSVNQQUNLRUQpIHx8IGZsYWcgJiBSRUZfSVNTWU1SRUYpIHsKKwkJLyogbG9vc2UgKi8KKwkJaW50IGVyciwgaSA9IHN0cmxlbihsb2NrLT5say0+ZmlsZW5hbWUpIC0gNTsgLyogLmxvY2sgKi8KKworCQlsb2NrLT5say0+ZmlsZW5hbWVbaV0gPSAwOworCQllcnIgPSB1bmxpbmtfb3Jfd2Fybihsb2NrLT5say0+ZmlsZW5hbWUpOworCQlsb2NrLT5say0+ZmlsZW5hbWVbaV0gPSAnLic7CisJCWlmIChlcnIgJiYgZXJybm8gIT0gRU5PRU5UKQorCQkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorCiBpbnQgZGVsZXRlX3JlZihjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgZGVsb3B0KQogewogCXN0cnVjdCByZWZfbG9jayAqbG9jazsKLQlpbnQgZXJyLCBpID0gMCwgcmV0ID0gMCwgZmxhZyA9IDA7CisJaW50IHJldCA9IDAsIGZsYWcgPSAwOwogCiAJbG9jayA9IGxvY2tfcmVmX3NoYTFfYmFzaWMocmVmbmFtZSwgc2hhMSwgZGVsb3B0LCAmZmxhZyk7CiAJaWYgKCFsb2NrKQogCQlyZXR1cm4gMTsKLQlpZiAoIShmbGFnICYgUkVGX0lTUEFDS0VEKSB8fCBmbGFnICYgUkVGX0lTU1lNUkVGKSB7Ci0JCS8qIGxvb3NlICovCi0JCWkgPSBzdHJsZW4obG9jay0+bGstPmZpbGVuYW1lKSAtIDU7IC8qIC5sb2NrICovCi0JCWxvY2stPmxrLT5maWxlbmFtZVtpXSA9IDA7Ci0JCWVyciA9IHVubGlua19vcl93YXJuKGxvY2stPmxrLT5maWxlbmFtZSk7Ci0JCWlmIChlcnIgJiYgZXJybm8gIT0gRU5PRU5UKQotCQkJcmV0ID0gMTsKKwlyZXQgfD0gZGVsZXRlX3JlZl9sb29zZShsb2NrLCBmbGFnKTsKIAotCQlsb2NrLT5say0+ZmlsZW5hbWVbaV0gPSAnLic7Ci0JfQogCS8qIHJlbW92aW5nIHRoZSBsb29zZSBvbmUgY291bGQgaGF2ZSByZXN1cnJlY3RlZCBhbiBlYXJsaWVyCiAJICogcGFja2VkIG9uZS4gIEFsc28sIGlmIGl0IHdhcyBub3QgbG9vc2Ugd2UgbmVlZCB0byByZXBhY2sKIAkgKiB3aXRob3V0IGl0LgpAQCAtMjQ4OCw2ICsyNTI4LDUxIEBACiAgKi8KICNkZWZpbmUgVE1QX1JFTkFNRURfTE9HICAibG9ncy9yZWZzLy50bXAtcmVuYW1lZC1sb2ciCiAKK3N0YXRpYyBpbnQgcmVuYW1lX3RtcF9sb2coY29uc3QgY2hhciAqbmV3cmVmbmFtZSkKK3sKKwlpbnQgYXR0ZW1wdHNfcmVtYWluaW5nID0gNDsKKworIHJldHJ5OgorCXN3aXRjaCAoc2FmZV9jcmVhdGVfbGVhZGluZ19kaXJlY3RvcmllcyhnaXRfcGF0aCgibG9ncy8lcyIsIG5ld3JlZm5hbWUpKSkgeworCWNhc2UgU0NMRF9PSzoKKwkJYnJlYWs7IC8qIHN1Y2Nlc3MgKi8KKwljYXNlIFNDTERfVkFOSVNIRUQ6CisJCWlmICgtLWF0dGVtcHRzX3JlbWFpbmluZyA+IDApCisJCQlnb3RvIHJldHJ5OworCQkvKiBmYWxsIHRocm91Z2ggKi8KKwlkZWZhdWx0OgorCQllcnJvcigidW5hYmxlIHRvIGNyZWF0ZSBkaXJlY3RvcnkgZm9yICVzIiwgbmV3cmVmbmFtZSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAocmVuYW1lKGdpdF9wYXRoKFRNUF9SRU5BTUVEX0xPRyksIGdpdF9wYXRoKCJsb2dzLyVzIiwgbmV3cmVmbmFtZSkpKSB7CisJCWlmICgoZXJybm89PUVJU0RJUiB8fCBlcnJubz09RU5PVERJUikgJiYgLS1hdHRlbXB0c19yZW1haW5pbmcgPiAwKSB7CisJCQkvKgorCQkJICogcmVuYW1lKGEsIGIpIHdoZW4gYiBpcyBhbiBleGlzdGluZworCQkJICogZGlyZWN0b3J5IG91Z2h0IHRvIHJlc3VsdCBpbiBJU0RJUiwgYnV0CisJCQkgKiBTb2xhcmlzIDUuOCBnaXZlcyBFTk9URElSLiAgU2hlZXNoLgorCQkJICovCisJCQlpZiAocmVtb3ZlX2VtcHR5X2RpcmVjdG9yaWVzKGdpdF9wYXRoKCJsb2dzLyVzIiwgbmV3cmVmbmFtZSkpKSB7CisJCQkJZXJyb3IoIkRpcmVjdG9yeSBub3QgZW1wdHk6IGxvZ3MvJXMiLCBuZXdyZWZuYW1lKTsKKwkJCQlyZXR1cm4gLTE7CisJCQl9CisJCQlnb3RvIHJldHJ5OworCQl9IGVsc2UgaWYgKGVycm5vID09IEVOT0VOVCAmJiAtLWF0dGVtcHRzX3JlbWFpbmluZyA+IDApIHsKKwkJCS8qCisJCQkgKiBNYXliZSBhbm90aGVyIHByb2Nlc3MganVzdCBkZWxldGVkIG9uZSBvZgorCQkJICogdGhlIGRpcmVjdG9yaWVzIGluIHRoZSBwYXRoIHRvIG5ld3JlZm5hbWUuCisJCQkgKiBUcnkgYWdhaW4gZnJvbSB0aGUgYmVnaW5uaW5nLgorCQkJICovCisJCQlnb3RvIHJldHJ5OworCQl9IGVsc2UgeworCQkJZXJyb3IoInVuYWJsZSB0byBtb3ZlIGxvZ2ZpbGUgIlRNUF9SRU5BTUVEX0xPRyIgdG8gbG9ncy8lczogJXMiLAorCQkJCW5ld3JlZm5hbWUsIHN0cmVycm9yKGVycm5vKSk7CisJCQlyZXR1cm4gLTE7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKIGludCByZW5hbWVfcmVmKGNvbnN0IGNoYXIgKm9sZHJlZm5hbWUsIGNvbnN0IGNoYXIgKm5ld3JlZm5hbWUsIGNvbnN0IGNoYXIgKmxvZ21zZykKIHsKIAl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdLCBvcmlnX3NoYTFbMjBdOwpAQCAtMjUzNSwzMCArMjYyMCw5IEBACiAJCX0KIAl9CiAKLQlpZiAobG9nICYmIHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXMoZ2l0X3BhdGgoImxvZ3MvJXMiLCBuZXdyZWZuYW1lKSkpIHsKLQkJZXJyb3IoInVuYWJsZSB0byBjcmVhdGUgZGlyZWN0b3J5IGZvciAlcyIsIG5ld3JlZm5hbWUpOworCWlmIChsb2cgJiYgcmVuYW1lX3RtcF9sb2cobmV3cmVmbmFtZSkpCiAJCWdvdG8gcm9sbGJhY2s7Ci0JfQogCi0gcmV0cnk6Ci0JaWYgKGxvZyAmJiByZW5hbWUoZ2l0X3BhdGgoVE1QX1JFTkFNRURfTE9HKSwgZ2l0X3BhdGgoImxvZ3MvJXMiLCBuZXdyZWZuYW1lKSkpIHsKLQkJaWYgKGVycm5vPT1FSVNESVIgfHwgZXJybm89PUVOT1RESVIpIHsKLQkJCS8qCi0JCQkgKiByZW5hbWUoYSwgYikgd2hlbiBiIGlzIGFuIGV4aXN0aW5nCi0JCQkgKiBkaXJlY3Rvcnkgb3VnaHQgdG8gcmVzdWx0IGluIElTRElSLCBidXQKLQkJCSAqIFNvbGFyaXMgNS44IGdpdmVzIEVOT1RESVIuICBTaGVlc2guCi0JCQkgKi8KLQkJCWlmIChyZW1vdmVfZW1wdHlfZGlyZWN0b3JpZXMoZ2l0X3BhdGgoImxvZ3MvJXMiLCBuZXdyZWZuYW1lKSkpIHsKLQkJCQllcnJvcigiRGlyZWN0b3J5IG5vdCBlbXB0eTogbG9ncy8lcyIsIG5ld3JlZm5hbWUpOwotCQkJCWdvdG8gcm9sbGJhY2s7Ci0JCQl9Ci0JCQlnb3RvIHJldHJ5OwotCQl9IGVsc2UgewotCQkJZXJyb3IoInVuYWJsZSB0byBtb3ZlIGxvZ2ZpbGUgIlRNUF9SRU5BTUVEX0xPRyIgdG8gbG9ncy8lczogJXMiLAotCQkJCW5ld3JlZm5hbWUsIHN0cmVycm9yKGVycm5vKSk7Ci0JCQlnb3RvIHJvbGxiYWNrOwotCQl9Ci0JfQogCWxvZ21vdmVkID0gbG9nOwogCiAJbG9jayA9IGxvY2tfcmVmX3NoYTFfYmFzaWMobmV3cmVmbmFtZSwgTlVMTCwgMCwgTlVMTCk7CkBAIC0yNjU5LDkgKzI3MjMsOSBAQAogCiAJZ2l0X3NucGF0aChsb2dmaWxlLCBidWZzaXplLCAibG9ncy8lcyIsIHJlZm5hbWUpOwogCWlmIChsb2dfYWxsX3JlZl91cGRhdGVzICYmCi0JICAgICghcHJlZml4Y21wKHJlZm5hbWUsICJyZWZzL2hlYWRzLyIpIHx8Ci0JICAgICAhcHJlZml4Y21wKHJlZm5hbWUsICJyZWZzL3JlbW90ZXMvIikgfHwKLQkgICAgICFwcmVmaXhjbXAocmVmbmFtZSwgInJlZnMvbm90ZXMvIikgfHwKKwkgICAgKHN0YXJ0c193aXRoKHJlZm5hbWUsICJyZWZzL2hlYWRzLyIpIHx8CisJICAgICBzdGFydHNfd2l0aChyZWZuYW1lLCAicmVmcy9yZW1vdGVzLyIpIHx8CisJICAgICBzdGFydHNfd2l0aChyZWZuYW1lLCAicmVmcy9ub3Rlcy8iKSB8fAogCSAgICAgIXN0cmNtcChyZWZuYW1lLCAiSEVBRCIpKSkgewogCQlpZiAoc2FmZV9jcmVhdGVfbGVhZGluZ19kaXJlY3Rvcmllcyhsb2dmaWxlKSA8IDApCiAJCQlyZXR1cm4gZXJyb3IoInVuYWJsZSB0byBjcmVhdGUgZGlyZWN0b3J5IGZvciAlcyIsCkBAIC0yNzMxLDcgKzI3OTUsNyBAQAogCiBzdGF0aWMgaW50IGlzX2JyYW5jaChjb25zdCBjaGFyICpyZWZuYW1lKQogewotCXJldHVybiAhc3RyY21wKHJlZm5hbWUsICJIRUFEIikgfHwgIXByZWZpeGNtcChyZWZuYW1lLCAicmVmcy9oZWFkcy8iKTsKKwlyZXR1cm4gIXN0cmNtcChyZWZuYW1lLCAiSEVBRCIpIHx8IHN0YXJ0c193aXRoKHJlZm5hbWUsICJyZWZzL2hlYWRzLyIpOwogfQogCiBpbnQgd3JpdGVfcmVmX3NoYTEoc3RydWN0IHJlZl9sb2NrICpsb2NrLApAQCAtMzE2OSwxMiArMzIzMywxMyBAQAogCXJldHVybiByZXR2YWw7CiB9CiAKLWludCB1cGRhdGVfcmVmKGNvbnN0IGNoYXIgKmFjdGlvbiwgY29uc3QgY2hhciAqcmVmbmFtZSwKLQkJY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgdW5zaWduZWQgY2hhciAqb2xkdmFsLAotCQlpbnQgZmxhZ3MsIGVudW0gYWN0aW9uX29uX2VyciBvbmVycikKK3N0YXRpYyBzdHJ1Y3QgcmVmX2xvY2sgKnVwZGF0ZV9yZWZfbG9jayhjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJCQljb25zdCB1bnNpZ25lZCBjaGFyICpvbGR2YWwsCisJCQkJCWludCBmbGFncywgaW50ICp0eXBlX3AsCisJCQkJCWVudW0gYWN0aW9uX29uX2VyciBvbmVycikKIHsKLQlzdGF0aWMgc3RydWN0IHJlZl9sb2NrICpsb2NrOwotCWxvY2sgPSBsb2NrX2FueV9yZWZfZm9yX3VwZGF0ZShyZWZuYW1lLCBvbGR2YWwsIGZsYWdzKTsKKwlzdHJ1Y3QgcmVmX2xvY2sgKmxvY2s7CisJbG9jayA9IGxvY2tfYW55X3JlZl9mb3JfdXBkYXRlKHJlZm5hbWUsIG9sZHZhbCwgZmxhZ3MsIHR5cGVfcCk7CiAJaWYgKCFsb2NrKSB7CiAJCWNvbnN0IGNoYXIgKnN0ciA9ICJDYW5ub3QgbG9jayB0aGUgcmVmICclcycuIjsKIAkJc3dpdGNoIChvbmVycikgewpAQCAtMzE4Miw4ICszMjQ3LDE0IEBACiAJCWNhc2UgRElFX09OX0VSUjogZGllKHN0ciwgcmVmbmFtZSk7IGJyZWFrOwogCQljYXNlIFFVSUVUX09OX0VSUjogYnJlYWs7CiAJCX0KLQkJcmV0dXJuIDE7CiAJfQorCXJldHVybiBsb2NrOworfQorCitzdGF0aWMgaW50IHVwZGF0ZV9yZWZfd3JpdGUoY29uc3QgY2hhciAqYWN0aW9uLCBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHN0cnVjdCByZWZfbG9jayAqbG9jaywKKwkJCSAgICBlbnVtIGFjdGlvbl9vbl9lcnIgb25lcnIpCit7CiAJaWYgKHdyaXRlX3JlZl9zaGExKGxvY2ssIHNoYTEsIGFjdGlvbikgPCAwKSB7CiAJCWNvbnN0IGNoYXIgKnN0ciA9ICJDYW5ub3QgdXBkYXRlIHRoZSByZWYgJyVzJy4iOwogCQlzd2l0Y2ggKG9uZXJyKSB7CkBAIC0zMTk2LDM1ICszMjY3LDExNSBAQAogCXJldHVybiAwOwogfQogCi1zdHJ1Y3QgcmVmICpmaW5kX3JlZl9ieV9uYW1lKGNvbnN0IHN0cnVjdCByZWYgKmxpc3QsIGNvbnN0IGNoYXIgKm5hbWUpCitpbnQgdXBkYXRlX3JlZihjb25zdCBjaGFyICphY3Rpb24sIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZHZhbCwKKwkgICAgICAgaW50IGZsYWdzLCBlbnVtIGFjdGlvbl9vbl9lcnIgb25lcnIpCiB7Ci0JZm9yICggOyBsaXN0OyBsaXN0ID0gbGlzdC0+bmV4dCkKLQkJaWYgKCFzdHJjbXAobGlzdC0+bmFtZSwgbmFtZSkpCi0JCQlyZXR1cm4gKHN0cnVjdCByZWYgKilsaXN0OwotCXJldHVybiBOVUxMOworCXN0cnVjdCByZWZfbG9jayAqbG9jazsKKwlsb2NrID0gdXBkYXRlX3JlZl9sb2NrKHJlZm5hbWUsIG9sZHZhbCwgZmxhZ3MsIE5VTEwsIG9uZXJyKTsKKwlpZiAoIWxvY2spCisJCXJldHVybiAxOworCXJldHVybiB1cGRhdGVfcmVmX3dyaXRlKGFjdGlvbiwgcmVmbmFtZSwgc2hhMSwgbG9jaywgb25lcnIpOwogfQogCi0vKgotICogZ2VuZXJhdGUgYSBmb3JtYXQgc3VpdGFibGUgZm9yIHNjYW5mIGZyb20gYSByZWZfcmV2X3BhcnNlX3J1bGVzCi0gKiBydWxlLCB0aGF0IGlzIHJlcGxhY2UgdGhlICIlLipzIiBzcGVjIHdpdGggYSAiJXMiIHNwZWMKLSAqLwotc3RhdGljIHZvaWQgZ2VuX3NjYW5mX2ZtdChjaGFyICpzY2FuZl9mbXQsIGNvbnN0IGNoYXIgKnJ1bGUpCitzdGF0aWMgaW50IHJlZl91cGRhdGVfY29tcGFyZShjb25zdCB2b2lkICpyMSwgY29uc3Qgdm9pZCAqcjIpCiB7Ci0JY2hhciAqc3BlYzsKKwljb25zdCBzdHJ1Y3QgcmVmX3VwZGF0ZSAqIGNvbnN0ICp1MSA9IHIxOworCWNvbnN0IHN0cnVjdCByZWZfdXBkYXRlICogY29uc3QgKnUyID0gcjI7CisJcmV0dXJuIHN0cmNtcCgoKnUxKS0+cmVmX25hbWUsICgqdTIpLT5yZWZfbmFtZSk7Cit9CiAKLQlzcGVjID0gc3Ryc3RyKHJ1bGUsICIlLipzIik7Ci0JaWYgKCFzcGVjIHx8IHN0cnN0cihzcGVjICsgNCwgIiUuKnMiKSkKLQkJZGllKCJpbnZhbGlkIHJ1bGUgaW4gcmVmX3Jldl9wYXJzZV9ydWxlczogJXMiLCBydWxlKTsKK3N0YXRpYyBpbnQgcmVmX3VwZGF0ZV9yZWplY3RfZHVwbGljYXRlcyhzdHJ1Y3QgcmVmX3VwZGF0ZSAqKnVwZGF0ZXMsIGludCBuLAorCQkJCQllbnVtIGFjdGlvbl9vbl9lcnIgb25lcnIpCit7CisJaW50IGk7CisJZm9yIChpID0gMTsgaSA8IG47IGkrKykKKwkJaWYgKCFzdHJjbXAodXBkYXRlc1tpIC0gMV0tPnJlZl9uYW1lLCB1cGRhdGVzW2ldLT5yZWZfbmFtZSkpIHsKKwkJCWNvbnN0IGNoYXIgKnN0ciA9CisJCQkJIk11bHRpcGxlIHVwZGF0ZXMgZm9yIHJlZiAnJXMnIG5vdCBhbGxvd2VkLiI7CisJCQlzd2l0Y2ggKG9uZXJyKSB7CisJCQljYXNlIE1TR19PTl9FUlI6CisJCQkJZXJyb3Ioc3RyLCB1cGRhdGVzW2ldLT5yZWZfbmFtZSk7IGJyZWFrOworCQkJY2FzZSBESUVfT05fRVJSOgorCQkJCWRpZShzdHIsIHVwZGF0ZXNbaV0tPnJlZl9uYW1lKTsgYnJlYWs7CisJCQljYXNlIFFVSUVUX09OX0VSUjoKKwkJCQlicmVhazsKKwkJCX0KKwkJCXJldHVybiAxOworCQl9CisJcmV0dXJuIDA7Cit9CiAKLQkvKiBjb3B5IGFsbCB1bnRpbCBzcGVjICovCi0Jc3RybmNweShzY2FuZl9mbXQsIHJ1bGUsIHNwZWMgLSBydWxlKTsKLQlzY2FuZl9mbXRbc3BlYyAtIHJ1bGVdID0gJ1wwJzsKLQkvKiBjb3B5IG5ldyBzcGVjICovCi0Jc3RyY2F0KHNjYW5mX2ZtdCwgIiVzIik7Ci0JLyogY29weSByZW1haW5pbmcgcnVsZSAqLwotCXN0cmNhdChzY2FuZl9mbXQsIHNwZWMgKyA0KTsKK2ludCB1cGRhdGVfcmVmcyhjb25zdCBjaGFyICphY3Rpb24sIGNvbnN0IHN0cnVjdCByZWZfdXBkYXRlICoqdXBkYXRlc19vcmlnLAorCQlpbnQgbiwgZW51bSBhY3Rpb25fb25fZXJyIG9uZXJyKQoreworCWludCByZXQgPSAwLCBkZWxudW0gPSAwLCBpOworCXN0cnVjdCByZWZfdXBkYXRlICoqdXBkYXRlczsKKwlpbnQgKnR5cGVzOworCXN0cnVjdCByZWZfbG9jayAqKmxvY2tzOworCWNvbnN0IGNoYXIgKipkZWxuYW1lczsKIAotCXJldHVybjsKKwlpZiAoIXVwZGF0ZXNfb3JpZyB8fCAhbikKKwkJcmV0dXJuIDA7CisKKwkvKiBBbGxvY2F0ZSB3b3JrIHNwYWNlICovCisJdXBkYXRlcyA9IHhtYWxsb2Moc2l6ZW9mKCp1cGRhdGVzKSAqIG4pOworCXR5cGVzID0geG1hbGxvYyhzaXplb2YoKnR5cGVzKSAqIG4pOworCWxvY2tzID0geGNhbGxvYyhuLCBzaXplb2YoKmxvY2tzKSk7CisJZGVsbmFtZXMgPSB4bWFsbG9jKHNpemVvZigqZGVsbmFtZXMpICogbik7CisKKwkvKiBDb3B5LCBzb3J0LCBhbmQgcmVqZWN0IGR1cGxpY2F0ZSByZWZzICovCisJbWVtY3B5KHVwZGF0ZXMsIHVwZGF0ZXNfb3JpZywgc2l6ZW9mKCp1cGRhdGVzKSAqIG4pOworCXFzb3J0KHVwZGF0ZXMsIG4sIHNpemVvZigqdXBkYXRlcyksIHJlZl91cGRhdGVfY29tcGFyZSk7CisJcmV0ID0gcmVmX3VwZGF0ZV9yZWplY3RfZHVwbGljYXRlcyh1cGRhdGVzLCBuLCBvbmVycik7CisJaWYgKHJldCkKKwkJZ290byBjbGVhbnVwOworCisJLyogQWNxdWlyZSBhbGwgbG9ja3Mgd2hpbGUgdmVyaWZ5aW5nIG9sZCB2YWx1ZXMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CisJCWxvY2tzW2ldID0gdXBkYXRlX3JlZl9sb2NrKHVwZGF0ZXNbaV0tPnJlZl9uYW1lLAorCQkJCQkgICAodXBkYXRlc1tpXS0+aGF2ZV9vbGQgPworCQkJCQkgICAgdXBkYXRlc1tpXS0+b2xkX3NoYTEgOiBOVUxMKSwKKwkJCQkJICAgdXBkYXRlc1tpXS0+ZmxhZ3MsCisJCQkJCSAgICZ0eXBlc1tpXSwgb25lcnIpOworCQlpZiAoIWxvY2tzW2ldKSB7CisJCQlyZXQgPSAxOworCQkJZ290byBjbGVhbnVwOworCQl9CisJfQorCisJLyogUGVyZm9ybSB1cGRhdGVzIGZpcnN0IHNvIGxpdmUgY29tbWl0cyByZW1haW4gcmVmZXJlbmNlZCAqLworCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspCisJCWlmICghaXNfbnVsbF9zaGExKHVwZGF0ZXNbaV0tPm5ld19zaGExKSkgeworCQkJcmV0ID0gdXBkYXRlX3JlZl93cml0ZShhY3Rpb24sCisJCQkJCSAgICAgICB1cGRhdGVzW2ldLT5yZWZfbmFtZSwKKwkJCQkJICAgICAgIHVwZGF0ZXNbaV0tPm5ld19zaGExLAorCQkJCQkgICAgICAgbG9ja3NbaV0sIG9uZXJyKTsKKwkJCWxvY2tzW2ldID0gTlVMTDsgLyogZnJlZWQgYnkgdXBkYXRlX3JlZl93cml0ZSAqLworCQkJaWYgKHJldCkKKwkJCQlnb3RvIGNsZWFudXA7CisJCX0KKworCS8qIFBlcmZvcm0gZGVsZXRlcyBub3cgdGhhdCB1cGRhdGVzIGFyZSBzYWZlbHkgY29tcGxldGVkICovCisJZm9yIChpID0gMDsgaSA8IG47IGkrKykKKwkJaWYgKGxvY2tzW2ldKSB7CisJCQlkZWxuYW1lc1tkZWxudW0rK10gPSBsb2Nrc1tpXS0+cmVmX25hbWU7CisJCQlyZXQgfD0gZGVsZXRlX3JlZl9sb29zZShsb2Nrc1tpXSwgdHlwZXNbaV0pOworCQl9CisJcmV0IHw9IHJlcGFja193aXRob3V0X3JlZnMoZGVsbmFtZXMsIGRlbG51bSk7CisJZm9yIChpID0gMDsgaSA8IGRlbG51bTsgaSsrKQorCQl1bmxpbmtfb3Jfd2FybihnaXRfcGF0aCgibG9ncy8lcyIsIGRlbG5hbWVzW2ldKSk7CisJY2xlYXJfbG9vc2VfcmVmX2NhY2hlKCZyZWZfY2FjaGUpOworCitjbGVhbnVwOgorCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspCisJCWlmIChsb2Nrc1tpXSkKKwkJCXVubG9ja19yZWYobG9ja3NbaV0pOworCWZyZWUodXBkYXRlcyk7CisJZnJlZSh0eXBlcyk7CisJZnJlZShsb2Nrcyk7CisJZnJlZShkZWxuYW1lcyk7CisJcmV0dXJuIHJldDsKIH0KIAogY2hhciAqc2hvcnRlbl91bmFtYmlndW91c19yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IHN0cmljdCkKQEAgLTMyMzQsMjMgKzMzODUsMjkgQEAKIAlzdGF0aWMgaW50IG5yX3J1bGVzOwogCWNoYXIgKnNob3J0X25hbWU7CiAKLQkvKiBwcmUgZ2VuZXJhdGUgc2NhbmYgZm9ybWF0cyBmcm9tIHJlZl9yZXZfcGFyc2VfcnVsZXNbXSAqLwogCWlmICghbnJfcnVsZXMpIHsKKwkJLyoKKwkJICogUHJlLWdlbmVyYXRlIHNjYW5mIGZvcm1hdHMgZnJvbSByZWZfcmV2X3BhcnNlX3J1bGVzW10uCisJCSAqIEdlbmVyYXRlIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBzY2FuZiBmcm9tIGEKKwkJICogcmVmX3Jldl9wYXJzZV9ydWxlcyBydWxlIGJ5IGludGVycG9sYXRpbmcgIiVzIiBhdCB0aGUKKwkJICogbG9jYXRpb24gb2YgdGhlICIlLipzIi4KKwkJICovCiAJCXNpemVfdCB0b3RhbF9sZW4gPSAwOworCQlzaXplX3Qgb2Zmc2V0ID0gMDsKIAogCQkvKiB0aGUgcnVsZSBsaXN0IGlzIE5VTEwgdGVybWluYXRlZCwgY291bnQgdGhlbSBmaXJzdCAqLwotCQlmb3IgKDsgcmVmX3Jldl9wYXJzZV9ydWxlc1tucl9ydWxlc107IG5yX3J1bGVzKyspCi0JCQkvKiBubyArMSBiZWNhdXNlIHN0cmxlbigiJXMiKSA8IHN0cmxlbigiJS4qcyIpICovCi0JCQl0b3RhbF9sZW4gKz0gc3RybGVuKHJlZl9yZXZfcGFyc2VfcnVsZXNbbnJfcnVsZXNdKTsKKwkJZm9yIChucl9ydWxlcyA9IDA7IHJlZl9yZXZfcGFyc2VfcnVsZXNbbnJfcnVsZXNdOyBucl9ydWxlcysrKQorCQkJLyogLTIgZm9yIHN0cmxlbigiJS4qcyIpIC0gc3RybGVuKCIlcyIpOyArMSBmb3IgTlVMICovCisJCQl0b3RhbF9sZW4gKz0gc3RybGVuKHJlZl9yZXZfcGFyc2VfcnVsZXNbbnJfcnVsZXNdKSAtIDIgKyAxOwogCiAJCXNjYW5mX2ZtdHMgPSB4bWFsbG9jKG5yX3J1bGVzICogc2l6ZW9mKGNoYXIgKikgKyB0b3RhbF9sZW4pOwogCi0JCXRvdGFsX2xlbiA9IDA7CisJCW9mZnNldCA9IDA7CiAJCWZvciAoaSA9IDA7IGkgPCBucl9ydWxlczsgaSsrKSB7Ci0JCQlzY2FuZl9mbXRzW2ldID0gKGNoYXIgKikmc2NhbmZfZm10c1tucl9ydWxlc10KLQkJCQkJKyB0b3RhbF9sZW47Ci0JCQlnZW5fc2NhbmZfZm10KHNjYW5mX2ZtdHNbaV0sIHJlZl9yZXZfcGFyc2VfcnVsZXNbaV0pOwotCQkJdG90YWxfbGVuICs9IHN0cmxlbihyZWZfcmV2X3BhcnNlX3J1bGVzW2ldKTsKKwkJCWFzc2VydChvZmZzZXQgPCB0b3RhbF9sZW4pOworCQkJc2NhbmZfZm10c1tpXSA9IChjaGFyICopJnNjYW5mX2ZtdHNbbnJfcnVsZXNdICsgb2Zmc2V0OworCQkJb2Zmc2V0ICs9IHNucHJpbnRmKHNjYW5mX2ZtdHNbaV0sIHRvdGFsX2xlbiAtIG9mZnNldCwKKwkJCQkJICAgcmVmX3Jldl9wYXJzZV9ydWxlc1tpXSwgMiwgIiVzIikgKyAxOwogCQl9CiAJfQogCkBAIC0zMzIwLDcgKzM0NzcsNyBAQAogewogCWlmICghc3RyY21wKCJ0cmFuc2Zlci5oaWRlcmVmcyIsIHZhcikgfHwKIAkgICAgLyogTkVFRFNXT1JLOiB1c2UgcGFyc2VfY29uZmlnX2tleSgpIG9uY2UgYm90aCBhcmUgbWVyZ2VkICovCi0JICAgICghcHJlZml4Y21wKHZhciwgc2VjdGlvbikgJiYgdmFyW3N0cmxlbihzZWN0aW9uKV0gPT0gJy4nICYmCisJICAgIChzdGFydHNfd2l0aCh2YXIsIHNlY3Rpb24pICYmIHZhcltzdHJsZW4oc2VjdGlvbildID09ICcuJyAmJgogCSAgICAgIXN0cmNtcCh2YXIgKyBzdHJsZW4oc2VjdGlvbiksICIuaGlkZXJlZnMiKSkpIHsKIAkJY2hhciAqcmVmOwogCQlpbnQgbGVuOwpAQCAtMzM0OCw3ICszNTA1LDcgQEAKIAkJcmV0dXJuIDA7CiAJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShpdGVtLCBoaWRlX3JlZnMpIHsKIAkJaW50IGxlbjsKLQkJaWYgKHByZWZpeGNtcChyZWZuYW1lLCBpdGVtLT5zdHJpbmcpKQorCQlpZiAoIXN0YXJ0c193aXRoKHJlZm5hbWUsIGl0ZW0tPnN0cmluZykpCiAJCQljb250aW51ZTsKIAkJbGVuID0gc3RybGVuKGl0ZW0tPnN0cmluZyk7CiAJCWlmICghcmVmbmFtZVtsZW5dIHx8IHJlZm5hbWVbbGVuXSA9PSAnLycpCmRpZmYgLS1naXQgYS9yZWZzLmggYi9yZWZzLmgKaW5kZXggOWU1ZGIzYS4uODdhMWE3OSAxMDA2NDQKLS0tIGEvcmVmcy5oCisrKyBiL3JlZnMuaApAQCAtMTAsNiArMTAsMjAgQEAKIAlpbnQgZm9yY2Vfd3JpdGU7CiB9OwogCisvKioKKyAqIEluZm9ybWF0aW9uIG5lZWRlZCBmb3IgYSBzaW5nbGUgcmVmIHVwZGF0ZS4gIFNldCBuZXdfc2hhMSB0byB0aGUKKyAqIG5ldyB2YWx1ZSBvciB0byB6ZXJvIHRvIGRlbGV0ZSB0aGUgcmVmLiAgVG8gY2hlY2sgdGhlIG9sZCB2YWx1ZQorICogd2hpbGUgbG9ja2luZyB0aGUgcmVmLCBzZXQgaGF2ZV9vbGQgdG8gMSBhbmQgc2V0IG9sZF9zaGExIHRvIHRoZQorICogdmFsdWUgb3IgdG8gemVybyB0byBlbnN1cmUgdGhlIHJlZiBkb2VzIG5vdCBleGlzdCBiZWZvcmUgdXBkYXRlLgorICovCitzdHJ1Y3QgcmVmX3VwZGF0ZSB7CisJY29uc3QgY2hhciAqcmVmX25hbWU7CisJdW5zaWduZWQgY2hhciBuZXdfc2hhMVsyMF07CisJdW5zaWduZWQgY2hhciBvbGRfc2hhMVsyMF07CisJaW50IGZsYWdzOyAvKiBSRUZfTk9ERVJFRj8gKi8KKwlpbnQgaGF2ZV9vbGQ7IC8qIDEgaWYgb2xkX3NoYTEgaXMgdmFsaWQsIDAgb3RoZXJ3aXNlICovCit9OworCiAvKgogICogQml0IHZhbHVlcyBzZXQgaW4gdGhlIGZsYWdzIGFyZ3VtZW50IHBhc3NlZCB0byBlYWNoX3JlZl9mbigpOgogICovCkBAIC0xMzcsNyArMTUxLDcgQEAKICNkZWZpbmUgUkVGX05PREVSRUYJMHgwMQogZXh0ZXJuIHN0cnVjdCByZWZfbG9jayAqbG9ja19hbnlfcmVmX2Zvcl91cGRhdGUoY29uc3QgY2hhciAqcmVmbmFtZSwKIAkJCQkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9zaGExLAotCQkJCQkJaW50IGZsYWdzKTsKKwkJCQkJCWludCBmbGFncywgaW50ICp0eXBlX3ApOwogCiAvKiogQ2xvc2UgdGhlIGZpbGUgZGVzY3JpcHRvciBvd25lZCBieSBhIGxvY2sgYW5kIHJldHVybiB0aGUgc3RhdHVzICovCiBleHRlcm4gaW50IGNsb3NlX3JlZihzdHJ1Y3QgcmVmX2xvY2sgKmxvY2spOwpAQCAtMTUxLDE0ICsxNjUsNiBAQAogLyoqIFdyaXRlcyBzaGExIGludG8gdGhlIHJlZiBzcGVjaWZpZWQgYnkgdGhlIGxvY2suICoqLwogZXh0ZXJuIGludCB3cml0ZV9yZWZfc2hhMShzdHJ1Y3QgcmVmX2xvY2sgKmxvY2ssIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKm1zZyk7CiAKLS8qCi0gKiBJbnZhbGlkYXRlIHRoZSByZWZlcmVuY2UgY2FjaGUgZm9yIHRoZSBzcGVjaWZpZWQgc3VibW9kdWxlLiAgVXNlCi0gKiBzdWJtb2R1bGU9TlVMTCB0byBpbnZhbGlkYXRlIHRoZSBjYWNoZSBmb3IgdGhlIG1haW4gbW9kdWxlLiAgVGhpcwotICogZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgaWYgcmVmZXJlbmNlcyBhcmUgY2hhbmdlZCB2aWEgYSBtZWNoYW5pc20KLSAqIG90aGVyIHRoYW4gdGhlIHJlZnMgQVBJLgotICovCi1leHRlcm4gdm9pZCBpbnZhbGlkYXRlX3JlZl9jYWNoZShjb25zdCBjaGFyICpzdWJtb2R1bGUpOwotCiAvKiogU2V0dXAgcmVmbG9nIGJlZm9yZSB1c2luZy4gKiovCiBpbnQgbG9nX3JlZl9zZXR1cChjb25zdCBjaGFyICpyZWZfbmFtZSwgY2hhciAqbG9nZmlsZSwgaW50IGJ1ZnNpemUpOwogCkBAIC0yMTQsNiArMjIwLDEyIEBACiAJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZHZhbCwKIAkJaW50IGZsYWdzLCBlbnVtIGFjdGlvbl9vbl9lcnIgb25lcnIpOwogCisvKioKKyAqIExvY2sgYWxsIHJlZnMgYW5kIHRoZW4gcGVyZm9ybSBhbGwgbW9kaWZpY2F0aW9ucy4KKyAqLworaW50IHVwZGF0ZV9yZWZzKGNvbnN0IGNoYXIgKmFjdGlvbiwgY29uc3Qgc3RydWN0IHJlZl91cGRhdGUgKip1cGRhdGVzLAorCQlpbnQgbiwgZW51bSBhY3Rpb25fb25fZXJyIG9uZXJyKTsKKwogZXh0ZXJuIGludCBwYXJzZV9oaWRlX3JlZnNfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIGNvbnN0IGNoYXIgKik7CiBleHRlcm4gaW50IHJlZl9pc19oaWRkZW4oY29uc3QgY2hhciAqKTsKIApkaWZmIC0tZ2l0IGEvcmVtb3RlLWN1cmwuYyBiL3JlbW90ZS1jdXJsLmMKaW5kZXggZWYxNjg0Yi4uMTBjYjAxMSAxMDA2NDQKLS0tIGEvcmVtb3RlLWN1cmwuYworKysgYi9yZW1vdGUtY3VybC5jCkBAIC02LDkgKzYsMTEgQEAKICNpbmNsdWRlICJleGVjX2NtZC5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAjaW5jbHVkZSAicGt0LWxpbmUuaCIKKyNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgogI2luY2x1ZGUgInNpZGViYW5kLmgiCiAjaW5jbHVkZSAiYXJndi1hcnJheS5oIgogI2luY2x1ZGUgImNyZWRlbnRpYWwuaCIKKyNpbmNsdWRlICJzaGExLWFycmF5LmgiCiAKIHN0YXRpYyBzdHJ1Y3QgcmVtb3RlICpyZW1vdGU7CiAvKiBhbHdheXMgZW5kcyB3aXRoIGEgdHJhaWxpbmcgc2xhc2ggKi8KQEAgLTE4LDExICsyMCwxNSBAQAogCWludCB2ZXJib3NpdHk7CiAJdW5zaWduZWQgbG9uZyBkZXB0aDsKIAl1bnNpZ25lZCBwcm9ncmVzcyA6IDEsCisJCWNoZWNrX3NlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQgOiAxLAorCQljbG9uaW5nIDogMSwKKwkJdXBkYXRlX3NoYWxsb3cgOiAxLAogCQlmb2xsb3d0YWdzIDogMSwKIAkJZHJ5X3J1biA6IDEsCiAJCXRoaW4gOiAxOwogfTsKIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9ucyBvcHRpb25zOworc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBjYXNfb3B0aW9ucyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogCiBzdGF0aWMgaW50IHNldF9vcHRpb24oY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUpCiB7CkBAIC02OSw3ICs3NSwzOCBAQAogCQkJcmV0dXJuIC0xOwogCQlyZXR1cm4gMDsKIAl9Ci0JZWxzZSB7CisJZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiY2hlY2stY29ubmVjdGl2aXR5IikpIHsKKwkJaWYgKCFzdHJjbXAodmFsdWUsICJ0cnVlIikpCisJCQlvcHRpb25zLmNoZWNrX3NlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQgPSAxOworCQllbHNlIGlmICghc3RyY21wKHZhbHVlLCAiZmFsc2UiKSkKKwkJCW9wdGlvbnMuY2hlY2tfc2VsZl9jb250YWluZWRfYW5kX2Nvbm5lY3RlZCA9IDA7CisJCWVsc2UKKwkJCXJldHVybiAtMTsKKwkJcmV0dXJuIDA7CisJfQorCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwgImNhcyIpKSB7CisJCXN0cnVjdCBzdHJidWYgdmFsID0gU1RSQlVGX0lOSVQ7CisJCXN0cmJ1Zl9hZGRmKCZ2YWwsICItLSIgQ0FTX09QVF9OQU1FICI9JXMiLCB2YWx1ZSk7CisJCXN0cmluZ19saXN0X2FwcGVuZCgmY2FzX29wdGlvbnMsIHZhbC5idWYpOworCQlzdHJidWZfcmVsZWFzZSgmdmFsKTsKKwkJcmV0dXJuIDA7CisJfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJjbG9uaW5nIikpIHsKKwkJaWYgKCFzdHJjbXAodmFsdWUsICJ0cnVlIikpCisJCQlvcHRpb25zLmNsb25pbmcgPSAxOworCQllbHNlIGlmICghc3RyY21wKHZhbHVlLCAiZmFsc2UiKSkKKwkJCW9wdGlvbnMuY2xvbmluZyA9IDA7CisJCWVsc2UKKwkJCXJldHVybiAtMTsKKwkJcmV0dXJuIDA7CisJfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJ1cGRhdGUtc2hhbGxvdyIpKSB7CisJCWlmICghc3RyY21wKHZhbHVlLCAidHJ1ZSIpKQorCQkJb3B0aW9ucy51cGRhdGVfc2hhbGxvdyA9IDE7CisJCWVsc2UgaWYgKCFzdHJjbXAodmFsdWUsICJmYWxzZSIpKQorCQkJb3B0aW9ucy51cGRhdGVfc2hhbGxvdyA9IDA7CisJCWVsc2UKKwkJCXJldHVybiAtMTsKKwkJcmV0dXJuIDA7CisJfSBlbHNlIHsKIAkJcmV0dXJuIDEgLyogdW5zdXBwb3J0ZWQgKi87CiAJfQogfQpAQCAtODAsNiArMTE3LDcgQEAKIAljaGFyICpidWY7CiAJc2l6ZV90IGxlbjsKIAlzdHJ1Y3QgcmVmICpyZWZzOworCXN0cnVjdCBzaGExX2FycmF5IHNoYWxsb3c7CiAJdW5zaWduZWQgcHJvdG9fZ2l0IDogMTsKIH07CiBzdGF0aWMgc3RydWN0IGRpc2NvdmVyeSAqbGFzdF9kaXNjb3Zlcnk7CkBAIC04OCw3ICsxMjYsNyBAQAogewogCXN0cnVjdCByZWYgKmxpc3QgPSBOVUxMOwogCWdldF9yZW1vdGVfaGVhZHMoLTEsIGhlYWRzLT5idWYsIGhlYWRzLT5sZW4sICZsaXN0LAotCQkJIGZvcl9wdXNoID8gUkVGX05PUk1BTCA6IDAsIE5VTEwpOworCQkJIGZvcl9wdXNoID8gUkVGX05PUk1BTCA6IDAsIE5VTEwsICZoZWFkcy0+c2hhbGxvdyk7CiAJcmV0dXJuIGxpc3Q7CiB9CiAKQEAgLTE0OSw2ICsxODcsNyBAQAogCWlmIChkKSB7CiAJCWlmIChkID09IGxhc3RfZGlzY292ZXJ5KQogCQkJbGFzdF9kaXNjb3ZlcnkgPSBOVUxMOworCQlmcmVlKGQtPnNoYWxsb3cuc2hhMSk7CiAJCWZyZWUoZC0+YnVmX2FsbG9jKTsKIAkJZnJlZV9yZWZzKGQtPnJlZnMpOwogCQlmcmVlKGQpOwpAQCAtMTk4LDcgKzIzNyw3IEBACiAJZnJlZV9kaXNjb3ZlcnkobGFzdCk7CiAKIAlzdHJidWZfYWRkZigmcmVmc191cmwsICIlc2luZm8vcmVmcyIsIHVybC5idWYpOwotCWlmICgoIXByZWZpeGNtcCh1cmwuYnVmLCAiaHR0cDovLyIpIHx8ICFwcmVmaXhjbXAodXJsLmJ1ZiwgImh0dHBzOi8vIikpICYmCisJaWYgKChzdGFydHNfd2l0aCh1cmwuYnVmLCAiaHR0cDovLyIpIHx8IHN0YXJ0c193aXRoKHVybC5idWYsICJodHRwczovLyIpKSAmJgogCSAgICAgZ2l0X2Vudl9ib29sKCJHSVRfU01BUlRfSFRUUCIsIDEpKSB7CiAJCW1heWJlX3NtYXJ0ID0gMTsKIAkJaWYgKCFzdHJjaHIodXJsLmJ1ZiwgJz8nKSkKQEAgLTM3NSwyNSArNDE0LDI5IEBACiAJcmV0dXJuIHNpemU7CiB9CiAKLXN0YXRpYyBpbnQgcnVuX3Nsb3Qoc3RydWN0IGFjdGl2ZV9yZXF1ZXN0X3Nsb3QgKnNsb3QpCitzdGF0aWMgaW50IHJ1bl9zbG90KHN0cnVjdCBhY3RpdmVfcmVxdWVzdF9zbG90ICpzbG90LAorCQkgICAgc3RydWN0IHNsb3RfcmVzdWx0cyAqcmVzdWx0cykKIHsKIAlpbnQgZXJyOwotCXN0cnVjdCBzbG90X3Jlc3VsdHMgcmVzdWx0czsKKwlzdHJ1Y3Qgc2xvdF9yZXN1bHRzIHJlc3VsdHNfYnVmOwogCi0Jc2xvdC0+cmVzdWx0cyA9ICZyZXN1bHRzOworCWlmICghcmVzdWx0cykKKwkJcmVzdWx0cyA9ICZyZXN1bHRzX2J1ZjsKKworCXNsb3QtPnJlc3VsdHMgPSByZXN1bHRzOwogCXNsb3QtPmN1cmxfcmVzdWx0ID0gY3VybF9lYXN5X3BlcmZvcm0oc2xvdC0+Y3VybCk7CiAJZmluaXNoX2FjdGl2ZV9zbG90KHNsb3QpOwogCi0JZXJyID0gaGFuZGxlX2N1cmxfcmVzdWx0KCZyZXN1bHRzKTsKKwllcnIgPSBoYW5kbGVfY3VybF9yZXN1bHQocmVzdWx0cyk7CiAJaWYgKGVyciAhPSBIVFRQX09LICYmIGVyciAhPSBIVFRQX1JFQVVUSCkgewogCQllcnJvcigiUlBDIGZhaWxlZDsgcmVzdWx0PSVkLCBIVFRQIGNvZGUgPSAlbGQiLAotCQkgICAgICByZXN1bHRzLmN1cmxfcmVzdWx0LCByZXN1bHRzLmh0dHBfY29kZSk7CisJCSAgICAgIHJlc3VsdHMtPmN1cmxfcmVzdWx0LCByZXN1bHRzLT5odHRwX2NvZGUpOwogCX0KIAogCXJldHVybiBlcnI7CiB9CiAKLXN0YXRpYyBpbnQgcHJvYmVfcnBjKHN0cnVjdCBycGNfc3RhdGUgKnJwYykKK3N0YXRpYyBpbnQgcHJvYmVfcnBjKHN0cnVjdCBycGNfc3RhdGUgKnJwYywgc3RydWN0IHNsb3RfcmVzdWx0cyAqcmVzdWx0cykKIHsKIAlzdHJ1Y3QgYWN0aXZlX3JlcXVlc3Rfc2xvdCAqc2xvdDsKIAlzdHJ1Y3QgY3VybF9zbGlzdCAqaGVhZGVycyA9IE5VTEw7CkBAIC00MTUsNyArNDU4LDcgQEAKIAljdXJsX2Vhc3lfc2V0b3B0KHNsb3QtPmN1cmwsIENVUkxPUFRfV1JJVEVGVU5DVElPTiwgZndyaXRlX2J1ZmZlcik7CiAJY3VybF9lYXN5X3NldG9wdChzbG90LT5jdXJsLCBDVVJMT1BUX0ZJTEUsICZidWYpOwogCi0JZXJyID0gcnVuX3Nsb3Qoc2xvdCk7CisJZXJyID0gcnVuX3Nsb3Qoc2xvdCwgcmVzdWx0cyk7CiAKIAljdXJsX3NsaXN0X2ZyZWVfYWxsKGhlYWRlcnMpOwogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwpAQCAtNDMwLDYgKzQ3Myw3IEBACiAJY2hhciAqZ3ppcF9ib2R5ID0gTlVMTDsKIAlzaXplX3QgZ3ppcF9zaXplID0gMDsKIAlpbnQgZXJyLCBsYXJnZV9yZXF1ZXN0ID0gMDsKKwlpbnQgbmVlZHNfMTAwX2NvbnRpbnVlID0gMDsKIAogCS8qIFRyeSB0byBsb2FkIHRoZSBlbnRpcmUgcmVxdWVzdCwgaWYgd2UgY2FuIGZpdCBpdCBpbnRvIHRoZQogCSAqIGFsbG9jYXRlZCBidWZmZXIgc3BhY2Ugd2UgY2FuIHVzZSBIVFRQLzEuMCBhbmQgYXZvaWQgdGhlCkBAIC00NTMsMTggKzQ5NywyNCBAQAogCX0KIAogCWlmIChsYXJnZV9yZXF1ZXN0KSB7CisJCXN0cnVjdCBzbG90X3Jlc3VsdHMgcmVzdWx0czsKKwogCQlkbyB7Ci0JCQllcnIgPSBwcm9iZV9ycGMocnBjKTsKKwkJCWVyciA9IHByb2JlX3JwYyhycGMsICZyZXN1bHRzKTsKIAkJCWlmIChlcnIgPT0gSFRUUF9SRUFVVEgpCiAJCQkJY3JlZGVudGlhbF9maWxsKCZodHRwX2F1dGgpOwogCQl9IHdoaWxlIChlcnIgPT0gSFRUUF9SRUFVVEgpOwogCQlpZiAoZXJyICE9IEhUVFBfT0spCiAJCQlyZXR1cm4gLTE7CisKKwkJaWYgKHJlc3VsdHMuYXV0aF9hdmFpbCAmIENVUkxBVVRIX0dTU05FR09USUFURSkKKwkJCW5lZWRzXzEwMF9jb250aW51ZSA9IDE7CiAJfQogCiAJaGVhZGVycyA9IGN1cmxfc2xpc3RfYXBwZW5kKGhlYWRlcnMsIHJwYy0+aGRyX2NvbnRlbnRfdHlwZSk7CiAJaGVhZGVycyA9IGN1cmxfc2xpc3RfYXBwZW5kKGhlYWRlcnMsIHJwYy0+aGRyX2FjY2VwdCk7Ci0JaGVhZGVycyA9IGN1cmxfc2xpc3RfYXBwZW5kKGhlYWRlcnMsICJFeHBlY3Q6Iik7CisJaGVhZGVycyA9IGN1cmxfc2xpc3RfYXBwZW5kKGhlYWRlcnMsIG5lZWRzXzEwMF9jb250aW51ZSA/CisJCSJFeHBlY3Q6IDEwMC1jb250aW51ZSIgOiAiRXhwZWN0OiIpOwogCiByZXRyeToKIAlzbG90ID0gZ2V0X2FjdGl2ZV9zbG90KCk7CkBAIC01NTUsNyArNjA1LDcgQEAKIAljdXJsX2Vhc3lfc2V0b3B0KHNsb3QtPmN1cmwsIENVUkxPUFRfV1JJVEVGVU5DVElPTiwgcnBjX2luKTsKIAljdXJsX2Vhc3lfc2V0b3B0KHNsb3QtPmN1cmwsIENVUkxPUFRfRklMRSwgcnBjKTsKIAotCWVyciA9IHJ1bl9zbG90KHNsb3QpOworCWVyciA9IHJ1bl9zbG90KHNsb3QsIE5VTEwpOwogCWlmIChlcnIgPT0gSFRUUF9SRUFVVEggJiYgIWxhcmdlX3JlcXVlc3QpIHsKIAkJY3JlZGVudGlhbF9maWxsKCZodHRwX2F1dGgpOwogCQlnb3RvIHJldHJ5OwpAQCAtNjY5LDcgKzcxOSw3IEBACiAJc3RydWN0IHN0cmJ1ZiBwcmVhbWJsZSA9IFNUUkJVRl9JTklUOwogCWNoYXIgKmRlcHRoX2FyZyA9IE5VTEw7CiAJaW50IGFyZ2MgPSAwLCBpLCBlcnI7Ci0JY29uc3QgY2hhciAqYXJndlsxNV07CisJY29uc3QgY2hhciAqYXJndlsxN107CiAKIAlhcmd2W2FyZ2MrK10gPSAiZmV0Y2gtcGFjayI7CiAJYXJndlthcmdjKytdID0gIi0tc3RhdGVsZXNzLXJwYyI7CkBAIC02ODMsNiArNzMzLDEyIEBACiAJCWFyZ3ZbYXJnYysrXSA9ICItdiI7CiAJCWFyZ3ZbYXJnYysrXSA9ICItdiI7CiAJfQorCWlmIChvcHRpb25zLmNoZWNrX3NlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQpCisJCWFyZ3ZbYXJnYysrXSA9ICItLWNoZWNrLXNlbGYtY29udGFpbmVkLWFuZC1jb25uZWN0ZWQiOworCWlmIChvcHRpb25zLmNsb25pbmcpCisJCWFyZ3ZbYXJnYysrXSA9ICItLWNsb25pbmciOworCWlmIChvcHRpb25zLnVwZGF0ZV9zaGFsbG93KQorCQlhcmd2W2FyZ2MrK10gPSAiLS11cGRhdGUtc2hhbGxvdyI7CiAJaWYgKCFvcHRpb25zLnByb2dyZXNzKQogCQlhcmd2W2FyZ2MrK10gPSAiLS1uby1wcm9ncmVzcyI7CiAJaWYgKG9wdGlvbnMuZGVwdGgpIHsKQEAgLTY5OCw3ICs3NTQsOCBAQAogCQlzdHJ1Y3QgcmVmICpyZWYgPSB0b19mZXRjaFtpXTsKIAkJaWYgKCFyZWYtPm5hbWUgfHwgISpyZWYtPm5hbWUpCiAJCQlkaWUoImNhbm5vdCBmZXRjaCBieSBzaGExIG92ZXIgc21hcnQgaHR0cCIpOwotCQlwYWNrZXRfYnVmX3dyaXRlKCZwcmVhbWJsZSwgIiVzXG4iLCByZWYtPm5hbWUpOworCQlwYWNrZXRfYnVmX3dyaXRlKCZwcmVhbWJsZSwgIiVzICVzXG4iLAorCQkJCSBzaGExX3RvX2hleChyZWYtPm9sZF9zaGExKSwgcmVmLT5uYW1lKTsKIAl9CiAJcGFja2V0X2J1Zl9mbHVzaCgmcHJlYW1ibGUpOwogCkBAIC03MzQsNyArNzkxLDcgQEAKIAlpbnQgYWxsb2NfaGVhZHMgPSAwLCBucl9oZWFkcyA9IDA7CiAKIAlkbyB7Ci0JCWlmICghcHJlZml4Y21wKGJ1Zi0+YnVmLCAiZmV0Y2ggIikpIHsKKwkJaWYgKHN0YXJ0c193aXRoKGJ1Zi0+YnVmLCAiZmV0Y2ggIikpIHsKIAkJCWNoYXIgKnAgPSBidWYtPmJ1ZiArIHN0cmxlbigiZmV0Y2ggIik7CiAJCQljaGFyICpuYW1lOwogCQkJc3RydWN0IHJlZiAqcmVmOwpAQCAtODA1LDYgKzg2Miw3IEBACiAJc3RydWN0IHJwY19zdGF0ZSBycGM7CiAJaW50IGksIGVycjsKIAlzdHJ1Y3QgYXJndl9hcnJheSBhcmdzOworCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICpjYXNfb3B0aW9uOwogCiAJYXJndl9hcnJheV9pbml0KCZhcmdzKTsKIAlhcmd2X2FycmF5X3B1c2hsKCZhcmdzLCAic2VuZC1wYWNrIiwgIi0tc3RhdGVsZXNzLXJwYyIsICItLWhlbHBlci1zdGF0dXMiLApAQCAtODE5LDYgKzg3Nyw4IEBACiAJZWxzZSBpZiAob3B0aW9ucy52ZXJib3NpdHkgPiAxKQogCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsICItLXZlcmJvc2UiKTsKIAlhcmd2X2FycmF5X3B1c2goJmFyZ3MsIG9wdGlvbnMucHJvZ3Jlc3MgPyAiLS1wcm9ncmVzcyIgOiAiLS1uby1wcm9ncmVzcyIpOworCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oY2FzX29wdGlvbiwgJmNhc19vcHRpb25zKQorCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsIGNhc19vcHRpb24tPnN0cmluZyk7CiAJYXJndl9hcnJheV9wdXNoKCZhcmdzLCB1cmwuYnVmKTsKIAlmb3IgKGkgPSAwOyBpIDwgbnJfc3BlYzsgaSsrKQogCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsIHNwZWNzW2ldKTsKQEAgLTg1NCw3ICs5MTQsNyBAQAogCWludCBhbGxvY19zcGVjID0gMCwgbnJfc3BlYyA9IDAsIGksIHJldDsKIAogCWRvIHsKLQkJaWYgKCFwcmVmaXhjbXAoYnVmLT5idWYsICJwdXNoICIpKSB7CisJCWlmIChzdGFydHNfd2l0aChidWYtPmJ1ZiwgInB1c2ggIikpIHsKIAkJCUFMTE9DX0dST1coc3BlY3MsIG5yX3NwZWMgKyAxLCBhbGxvY19zcGVjKTsKIAkJCXNwZWNzW25yX3NwZWMrK10gPSB4c3RyZHVwKGJ1Zi0+YnVmICsgNSk7CiAJCX0KQEAgLTkxNywxOSArOTc3LDE5IEBACiAJCX0KIAkJaWYgKGJ1Zi5sZW4gPT0gMCkKIAkJCWJyZWFrOwotCQlpZiAoIXByZWZpeGNtcChidWYuYnVmLCAiZmV0Y2ggIikpIHsKKwkJaWYgKHN0YXJ0c193aXRoKGJ1Zi5idWYsICJmZXRjaCAiKSkgewogCQkJaWYgKG5vbmdpdCkKIAkJCQlkaWUoIkZldGNoIGF0dGVtcHRlZCB3aXRob3V0IGEgbG9jYWwgcmVwbyIpOwogCQkJcGFyc2VfZmV0Y2goJmJ1Zik7CiAKLQkJfSBlbHNlIGlmICghc3RyY21wKGJ1Zi5idWYsICJsaXN0IikgfHwgIXByZWZpeGNtcChidWYuYnVmLCAibGlzdCAiKSkgeworCQl9IGVsc2UgaWYgKCFzdHJjbXAoYnVmLmJ1ZiwgImxpc3QiKSB8fCBzdGFydHNfd2l0aChidWYuYnVmLCAibGlzdCAiKSkgewogCQkJaW50IGZvcl9wdXNoID0gISFzdHJzdHIoYnVmLmJ1ZiArIDQsICJmb3ItcHVzaCIpOwogCQkJb3V0cHV0X3JlZnMoZ2V0X3JlZnMoZm9yX3B1c2gpKTsKIAotCQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAoYnVmLmJ1ZiwgInB1c2ggIikpIHsKKwkJfSBlbHNlIGlmIChzdGFydHNfd2l0aChidWYuYnVmLCAicHVzaCAiKSkgewogCQkJcGFyc2VfcHVzaCgmYnVmKTsKIAotCQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAoYnVmLmJ1ZiwgIm9wdGlvbiAiKSkgeworCQl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGJ1Zi5idWYsICJvcHRpb24gIikpIHsKIAkJCWNoYXIgKm5hbWUgPSBidWYuYnVmICsgc3RybGVuKCJvcHRpb24gIik7CiAJCQljaGFyICp2YWx1ZSA9IHN0cmNocihuYW1lLCAnICcpOwogCQkJaW50IHJlc3VsdDsKQEAgLTk1Miw2ICsxMDEyLDcgQEAKIAkJCXByaW50ZigiZmV0Y2hcbiIpOwogCQkJcHJpbnRmKCJvcHRpb25cbiIpOwogCQkJcHJpbnRmKCJwdXNoXG4iKTsKKwkJCXByaW50ZigiY2hlY2stY29ubmVjdGl2aXR5XG4iKTsKIAkJCXByaW50ZigiXG4iKTsKIAkJCWZmbHVzaChzdGRvdXQpOwogCQl9IGVsc2UgewpkaWZmIC0tZ2l0IGEvcmVtb3RlLXRlc3Rzdm4uYyBiL3JlbW90ZS10ZXN0c3ZuLmMKaW5kZXggZDdjZDVkMi4uMDc4ZjFmZiAxMDA2NDQKLS0tIGEvcmVtb3RlLXRlc3Rzdm4uYworKysgYi9yZW1vdGUtdGVzdHN2bi5jCkBAIC04Miw3ICs4Miw3IEBACiAJCWxlbiA9IGVuZCA/IGVuZCAtIG1zZyA6IHN0cmxlbihtc2cpOwogCiAJCWtleSA9ICJSZXZpc2lvbi1udW1iZXI6ICI7Ci0JCWlmICghcHJlZml4Y21wKG1zZywga2V5KSkgeworCQlpZiAoc3RhcnRzX3dpdGgobXNnLCBrZXkpKSB7CiAJCQlsb25nIGk7CiAJCQljaGFyICplbmQ7CiAJCQl2YWx1ZSA9IG1zZyArIHN0cmxlbihrZXkpOwpAQCAtMTU0LDcgKzE1NCw3IEBACiAJfSBlbHNlIHsKIAkJc3RyYnVmX2FkZGYoJnNiLCAiOiVkICIsIGxhdGVzdHJldik7CiAJCXdoaWxlIChzdHJidWZfZ2V0bGluZSgmbGluZSwgbWFya3NmaWxlLCAnXG4nKSAhPSBFT0YpIHsKLQkJCWlmICghcHJlZml4Y21wKGxpbmUuYnVmLCBzYi5idWYpKSB7CisJCQlpZiAoc3RhcnRzX3dpdGgobGluZS5idWYsIHNiLmJ1ZikpIHsKIAkJCQlmb3VuZCsrOwogCQkJCWJyZWFrOwogCQkJfQpAQCAtMjY0LDcgKzI2NCw3IEBACiAJCXJldHVybiAxOwkvKiBlbmQgb2YgY29tbWFuZCBzdHJlYW0sIHF1aXQgKi8KIAl9CiAJaWYgKGJhdGNoX2NtZCkgewotCQlpZiAocHJlZml4Y21wKGJhdGNoX2NtZC0+bmFtZSwgbGluZS0+YnVmKSkKKwkJaWYgKCFzdGFydHNfd2l0aChiYXRjaF9jbWQtPm5hbWUsIGxpbmUtPmJ1ZikpCiAJCQlkaWUoIkFjdGl2ZSAlcyBiYXRjaCBpbnRlcnJ1cHRlZCBieSAlcyIsIGJhdGNoX2NtZC0+bmFtZSwgbGluZS0+YnVmKTsKIAkJLyogYnVmZmVyIGJhdGNoIGxpbmVzICovCiAJCXN0cmluZ19saXN0X2FwcGVuZCgmYmF0Y2hsaW5lcywgbGluZS0+YnVmKTsKQEAgLTI3Miw3ICsyNzIsNyBAQAogCX0KIAogCWZvciAocCA9IGlucHV0X2NvbW1hbmRfbGlzdDsgcC0+bmFtZTsgcCsrKSB7Ci0JCWlmICghcHJlZml4Y21wKGxpbmUtPmJ1ZiwgcC0+bmFtZSkgJiYgKHN0cmxlbihwLT5uYW1lKSA9PSBsaW5lLT5sZW4gfHwKKwkJaWYgKHN0YXJ0c193aXRoKGxpbmUtPmJ1ZiwgcC0+bmFtZSkgJiYgKHN0cmxlbihwLT5uYW1lKSA9PSBsaW5lLT5sZW4gfHwKIAkJCQlsaW5lLT5idWZbc3RybGVuKHAtPm5hbWUpXSA9PSAnICcpKSB7CiAJCQlpZiAocC0+YmF0Y2hhYmxlKSB7CiAJCQkJYmF0Y2hfY21kID0gcDsKQEAgLTMwNCw3ICszMDQsNyBAQAogCXJlbW90ZSA9IHJlbW90ZV9nZXQoYXJndlsxXSk7CiAJdXJsX2luID0gKGFyZ2MgPT0gMykgPyBhcmd2WzJdIDogcmVtb3RlLT51cmxbMF07CiAKLQlpZiAoIXByZWZpeGNtcCh1cmxfaW4sICJmaWxlOi8vIikpIHsKKwlpZiAoc3RhcnRzX3dpdGgodXJsX2luLCAiZmlsZTovLyIpKSB7CiAJCWR1bXBfZnJvbV9maWxlID0gMTsKIAkJdXJsID0gdXJsX2RlY29kZSh1cmxfaW4gKyBzaXplb2YoImZpbGU6Ly8iKS0xKTsKIAl9IGVsc2UgewpkaWZmIC0tZ2l0IGEvcmVtb3RlLmMgYi9yZW1vdGUuYwppbmRleCBlZmNiYTkzLi5lNDEyNTFlIDEwMDY0NAotLS0gYS9yZW1vdGUuYworKysgYi9yZW1vdGUuYwpAQCAtNzYsNyArNzYsNyBAQAogCQlpZiAoIXItPnJld3JpdGVbaV0pCiAJCQljb250aW51ZTsKIAkJZm9yIChqID0gMDsgaiA8IHItPnJld3JpdGVbaV0tPmluc3RlYWRfb2ZfbnI7IGorKykgewotCQkJaWYgKCFwcmVmaXhjbXAodXJsLCByLT5yZXdyaXRlW2ldLT5pbnN0ZWFkX29mW2pdLnMpICYmCisJCQlpZiAoc3RhcnRzX3dpdGgodXJsLCByLT5yZXdyaXRlW2ldLT5pbnN0ZWFkX29mW2pdLnMpICYmCiAJCQkgICAgKCFsb25nZXN0IHx8CiAJCQkgICAgIGxvbmdlc3QtPmxlbiA8IHItPnJld3JpdGVbaV0tPmluc3RlYWRfb2Zbal0ubGVuKSkgewogCQkJCWxvbmdlc3QgPSAmKHItPnJld3JpdGVbaV0tPmluc3RlYWRfb2Zbal0pOwpAQCAtMTQ4LDYgKzE0OCw3IEBACiAJfQogCiAJcmV0ID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHJlbW90ZSkpOworCXJldC0+cHJ1bmUgPSAtMTsgIC8qIHVuc3BlY2lmaWVkICovCiAJQUxMT0NfR1JPVyhyZW1vdGVzLCByZW1vdGVzX25yICsgMSwgcmVtb3Rlc19hbGxvYyk7CiAJcmVtb3Rlc1tyZW1vdGVzX25yKytdID0gcmV0OwogCWlmIChsZW4pCkBAIC0yMzgsMTMgKzIzOSwxMyBAQAogCQlpbnQgdmFsdWVfbGlzdDsKIAkJY2hhciAqcywgKnA7CiAKLQkJaWYgKCFwcmVmaXhjbXAoYnVmZmVyLCAiVVJMOiIpKSB7CisJCWlmIChzdGFydHNfd2l0aChidWZmZXIsICJVUkw6IikpIHsKIAkJCXZhbHVlX2xpc3QgPSAwOwogCQkJcyA9IGJ1ZmZlciArIDQ7Ci0JCX0gZWxzZSBpZiAoIXByZWZpeGNtcChidWZmZXIsICJQdXNoOiIpKSB7CisJCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoYnVmZmVyLCAiUHVzaDoiKSkgewogCQkJdmFsdWVfbGlzdCA9IDE7CiAJCQlzID0gYnVmZmVyICsgNTsKLQkJfSBlbHNlIGlmICghcHJlZml4Y21wKGJ1ZmZlciwgIlB1bGw6IikpIHsKKwkJfSBlbHNlIGlmIChzdGFydHNfd2l0aChidWZmZXIsICJQdWxsOiIpKSB7CiAJCQl2YWx1ZV9saXN0ID0gMjsKIAkJCXMgPSBidWZmZXIgKyA1OwogCQl9IGVsc2UKQEAgLTMzNiw3ICszMzcsNyBAQAogCWNvbnN0IGNoYXIgKnN1YmtleTsKIAlzdHJ1Y3QgcmVtb3RlICpyZW1vdGU7CiAJc3RydWN0IGJyYW5jaCAqYnJhbmNoOwotCWlmICghcHJlZml4Y21wKGtleSwgImJyYW5jaC4iKSkgeworCWlmIChzdGFydHNfd2l0aChrZXksICJicmFuY2guIikpIHsKIAkJbmFtZSA9IGtleSArIDc7CiAJCXN1YmtleSA9IHN0cnJjaHIobmFtZSwgJy4nKTsKIAkJaWYgKCFzdWJrZXkpCkBAIC0zNjAsNyArMzYxLDcgQEAKIAkJfQogCQlyZXR1cm4gMDsKIAl9Ci0JaWYgKCFwcmVmaXhjbXAoa2V5LCAidXJsLiIpKSB7CisJaWYgKHN0YXJ0c193aXRoKGtleSwgInVybC4iKSkgewogCQlzdHJ1Y3QgcmV3cml0ZSAqcmV3cml0ZTsKIAkJbmFtZSA9IGtleSArIDQ7CiAJCXN1YmtleSA9IHN0cnJjaHIobmFtZSwgJy4nKTsKQEAgLTM3OSw3ICszODAsNyBAQAogCQl9CiAJfQogCi0JaWYgKHByZWZpeGNtcChrZXksICAicmVtb3RlLiIpKQorCWlmICghc3RhcnRzX3dpdGgoa2V5LCAgInJlbW90ZS4iKSkKIAkJcmV0dXJuIDA7CiAJbmFtZSA9IGtleSArIDc7CiAKQEAgLTQwNCw2ICs0MDUsOCBAQAogCQlyZW1vdGUtPnNraXBfZGVmYXVsdF91cGRhdGUgPSBnaXRfY29uZmlnX2Jvb2woa2V5LCB2YWx1ZSk7CiAJZWxzZSBpZiAoIXN0cmNtcChzdWJrZXksICIuc2tpcGZldGNoYWxsIikpCiAJCXJlbW90ZS0+c2tpcF9kZWZhdWx0X3VwZGF0ZSA9IGdpdF9jb25maWdfYm9vbChrZXksIHZhbHVlKTsKKwllbHNlIGlmICghc3RyY21wKHN1YmtleSwgIi5wcnVuZSIpKQorCQlyZW1vdGUtPnBydW5lID0gZ2l0X2NvbmZpZ19ib29sKGtleSwgdmFsdWUpOwogCWVsc2UgaWYgKCFzdHJjbXAoc3Via2V5LCAiLnVybCIpKSB7CiAJCWNvbnN0IGNoYXIgKnY7CiAJCWlmIChnaXRfY29uZmlnX3N0cmluZygmdiwga2V5LCB2YWx1ZSkpCkBAIC00ODAsMTEgKzQ4MywxMSBAQAogCWludCBmbGFnOwogCWlmIChkZWZhdWx0X3JlbW90ZV9uYW1lKSAvKiBkaWQgdGhpcyBhbHJlYWR5ICovCiAJCXJldHVybjsKLQlkZWZhdWx0X3JlbW90ZV9uYW1lID0geHN0cmR1cCgib3JpZ2luIik7CisJZGVmYXVsdF9yZW1vdGVfbmFtZSA9ICJvcmlnaW4iOwogCWN1cnJlbnRfYnJhbmNoID0gTlVMTDsKIAloZWFkX3JlZiA9IHJlc29sdmVfcmVmX3Vuc2FmZSgiSEVBRCIsIHNoYTEsIDAsICZmbGFnKTsKIAlpZiAoaGVhZF9yZWYgJiYgKGZsYWcgJiBSRUZfSVNTWU1SRUYpICYmCi0JICAgICFwcmVmaXhjbXAoaGVhZF9yZWYsICJyZWZzL2hlYWRzLyIpKSB7CisJICAgIHN0YXJ0c193aXRoKGhlYWRfcmVmLCAicmVmcy9oZWFkcy8iKSkgewogCQljdXJyZW50X2JyYW5jaCA9CiAJCQltYWtlX2JyYW5jaChoZWFkX3JlZiArIHN0cmxlbigicmVmcy9oZWFkcy8iKSwgMCk7CiAJfQpAQCAtNzQyLDM1ICs3NDUsNjYgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIHJlZl9yZW1vdmVfZHVwbGljYXRlcyhzdHJ1Y3QgcmVmICpyZWZfbWFwKQorc3RhdGljIHZvaWQgaGFuZGxlX2R1cGxpY2F0ZShzdHJ1Y3QgcmVmICpyZWYxLCBzdHJ1Y3QgcmVmICpyZWYyKQoreworCWlmIChzdHJjbXAocmVmMS0+bmFtZSwgcmVmMi0+bmFtZSkpIHsKKwkJaWYgKHJlZjEtPmZldGNoX2hlYWRfc3RhdHVzICE9IEZFVENIX0hFQURfSUdOT1JFICYmCisJCSAgICByZWYyLT5mZXRjaF9oZWFkX3N0YXR1cyAhPSBGRVRDSF9IRUFEX0lHTk9SRSkgeworCQkJZGllKF8oIkNhbm5vdCBmZXRjaCBib3RoICVzIGFuZCAlcyB0byAlcyIpLAorCQkJICAgIHJlZjEtPm5hbWUsIHJlZjItPm5hbWUsIHJlZjItPnBlZXJfcmVmLT5uYW1lKTsKKwkJfSBlbHNlIGlmIChyZWYxLT5mZXRjaF9oZWFkX3N0YXR1cyAhPSBGRVRDSF9IRUFEX0lHTk9SRSAmJgorCQkJICAgcmVmMi0+ZmV0Y2hfaGVhZF9zdGF0dXMgPT0gRkVUQ0hfSEVBRF9JR05PUkUpIHsKKwkJCXdhcm5pbmcoXygiJXMgdXN1YWxseSB0cmFja3MgJXMsIG5vdCAlcyIpLAorCQkJCXJlZjItPnBlZXJfcmVmLT5uYW1lLCByZWYyLT5uYW1lLCByZWYxLT5uYW1lKTsKKwkJfSBlbHNlIGlmIChyZWYxLT5mZXRjaF9oZWFkX3N0YXR1cyA9PSBGRVRDSF9IRUFEX0lHTk9SRSAmJgorCQkJICAgcmVmMi0+ZmV0Y2hfaGVhZF9zdGF0dXMgPT0gRkVUQ0hfSEVBRF9JR05PUkUpIHsKKwkJCWRpZShfKCIlcyB0cmFja3MgYm90aCAlcyBhbmQgJXMiKSwKKwkJCSAgICByZWYyLT5wZWVyX3JlZi0+bmFtZSwgcmVmMS0+bmFtZSwgcmVmMi0+bmFtZSk7CisJCX0gZWxzZSB7CisJCQkvKgorCQkJICogVGhpcyBsYXN0IHBvc3NpYmlsaXR5IGRvZXNuJ3Qgb2NjdXIgYmVjYXVzZQorCQkJICogRkVUQ0hfSEVBRF9JR05PUkUgZW50cmllcyBhbHdheXMgYXBwZWFyIGF0CisJCQkgKiB0aGUgZW5kIG9mIHRoZSBsaXN0LgorCQkJICovCisJCQlkaWUoXygiSW50ZXJuYWwgZXJyb3IiKSk7CisJCX0KKwl9CisJZnJlZShyZWYyLT5wZWVyX3JlZik7CisJZnJlZShyZWYyKTsKK30KKworc3RydWN0IHJlZiAqcmVmX3JlbW92ZV9kdXBsaWNhdGVzKHN0cnVjdCByZWYgKnJlZl9tYXApCiB7CiAJc3RydWN0IHN0cmluZ19saXN0IHJlZnMgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwotCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtID0gTlVMTDsKLQlzdHJ1Y3QgcmVmICpwcmV2ID0gTlVMTCwgKm5leHQgPSBOVUxMOwotCWZvciAoOyByZWZfbWFwOyBwcmV2ID0gcmVmX21hcCwgcmVmX21hcCA9IG5leHQpIHsKLQkJbmV4dCA9IHJlZl9tYXAtPm5leHQ7Ci0JCWlmICghcmVmX21hcC0+cGVlcl9yZWYpCi0JCQljb250aW51ZTsKKwlzdHJ1Y3QgcmVmICpyZXR2YWwgPSBOVUxMOworCXN0cnVjdCByZWYgKipwID0gJnJldHZhbDsKIAotCQlpdGVtID0gc3RyaW5nX2xpc3RfbG9va3VwKCZyZWZzLCByZWZfbWFwLT5wZWVyX3JlZi0+bmFtZSk7Ci0JCWlmIChpdGVtKSB7Ci0JCQlpZiAoc3RyY21wKCgoc3RydWN0IHJlZiAqKWl0ZW0tPnV0aWwpLT5uYW1lLAotCQkJCSAgIHJlZl9tYXAtPm5hbWUpKQotCQkJCWRpZSgiJXMgdHJhY2tzIGJvdGggJXMgYW5kICVzIiwKLQkJCQkgICAgcmVmX21hcC0+cGVlcl9yZWYtPm5hbWUsCi0JCQkJICAgICgoc3RydWN0IHJlZiAqKWl0ZW0tPnV0aWwpLT5uYW1lLAotCQkJCSAgICByZWZfbWFwLT5uYW1lKTsKLQkJCXByZXYtPm5leHQgPSByZWZfbWFwLT5uZXh0OwotCQkJZnJlZShyZWZfbWFwLT5wZWVyX3JlZik7Ci0JCQlmcmVlKHJlZl9tYXApOwotCQkJcmVmX21hcCA9IHByZXY7IC8qIHNraXAgdGhpczsgd2UgZnJlZWQgaXQgKi8KLQkJCWNvbnRpbnVlOworCXdoaWxlIChyZWZfbWFwKSB7CisJCXN0cnVjdCByZWYgKnJlZiA9IHJlZl9tYXA7CisKKwkJcmVmX21hcCA9IHJlZl9tYXAtPm5leHQ7CisJCXJlZi0+bmV4dCA9IE5VTEw7CisKKwkJaWYgKCFyZWYtPnBlZXJfcmVmKSB7CisJCQkqcCA9IHJlZjsKKwkJCXAgPSAmcmVmLT5uZXh0OworCQl9IGVsc2UgeworCQkJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW0gPQorCQkJCXN0cmluZ19saXN0X2luc2VydCgmcmVmcywgcmVmLT5wZWVyX3JlZi0+bmFtZSk7CisKKwkJCWlmIChpdGVtLT51dGlsKSB7CisJCQkJLyogRW50cnkgYWxyZWFkeSBleGlzdGVkICovCisJCQkJaGFuZGxlX2R1cGxpY2F0ZSgoc3RydWN0IHJlZiAqKWl0ZW0tPnV0aWwsIHJlZik7CisJCQl9IGVsc2UgeworCQkJCSpwID0gcmVmOworCQkJCXAgPSAmcmVmLT5uZXh0OworCQkJCWl0ZW0tPnV0aWwgPSByZWY7CisJCQl9CiAJCX0KLQotCQlpdGVtID0gc3RyaW5nX2xpc3RfaW5zZXJ0KCZyZWZzLCByZWZfbWFwLT5wZWVyX3JlZi0+bmFtZSk7Ci0JCWl0ZW0tPnV0aWwgPSByZWZfbWFwOwogCX0KKwogCXN0cmluZ19saXN0X2NsZWFyKCZyZWZzLCAwKTsKKwlyZXR1cm4gcmV0dmFsOwogfQogCiBpbnQgcmVtb3RlX2hhc191cmwoc3RydWN0IHJlbW90ZSAqcmVtb3RlLCBjb25zdCBjaGFyICp1cmwpCkBAIC04MTgsMTAgKzg1MiwxMiBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgcXVlcnlfcmVmc3BlY3Moc3RydWN0IHJlZnNwZWMgKnJlZnMsIGludCByZWZfY291bnQsIHN0cnVjdCByZWZzcGVjICpxdWVyeSkKK2ludCBxdWVyeV9yZWZzcGVjcyhzdHJ1Y3QgcmVmc3BlYyAqcmVmcywgaW50IHJlZl9jb3VudCwgc3RydWN0IHJlZnNwZWMgKnF1ZXJ5KQogewogCWludCBpOwogCWludCBmaW5kX3NyYyA9ICFxdWVyeS0+c3JjOworCWNvbnN0IGNoYXIgKm5lZWRsZSA9IGZpbmRfc3JjID8gcXVlcnktPmRzdCA6IHF1ZXJ5LT5zcmM7CisJY2hhciAqKnJlc3VsdCA9IGZpbmRfc3JjID8gJnF1ZXJ5LT5zcmMgOiAmcXVlcnktPmRzdDsKIAogCWlmIChmaW5kX3NyYyAmJiAhcXVlcnktPmRzdCkKIAkJcmV0dXJuIGVycm9yKCJxdWVyeV9yZWZzcGVjczogbmVlZCBlaXRoZXIgc3JjIG9yIGRzdCIpOwpAQCAtODMwLDggKzg2Niw2IEBACiAJCXN0cnVjdCByZWZzcGVjICpyZWZzcGVjID0gJnJlZnNbaV07CiAJCWNvbnN0IGNoYXIgKmtleSA9IGZpbmRfc3JjID8gcmVmc3BlYy0+ZHN0IDogcmVmc3BlYy0+c3JjOwogCQljb25zdCBjaGFyICp2YWx1ZSA9IGZpbmRfc3JjID8gcmVmc3BlYy0+c3JjIDogcmVmc3BlYy0+ZHN0OwotCQljb25zdCBjaGFyICpuZWVkbGUgPSBmaW5kX3NyYyA/IHF1ZXJ5LT5kc3QgOiBxdWVyeS0+c3JjOwotCQljaGFyICoqcmVzdWx0ID0gZmluZF9zcmMgPyAmcXVlcnktPnNyYyA6ICZxdWVyeS0+ZHN0OwogCiAJCWlmICghcmVmc3BlYy0+ZHN0KQogCQkJY29udGludWU7CkBAIC05NTIsOSArOTg2LDkgQEAKIAkqbCA9IGxsaXN0X21lcmdlc29ydCgqbCwgcmVmX2xpc3RfZ2V0X25leHQsIHJlZl9saXN0X3NldF9uZXh0LCBjbXApOwogfQogCi1zdGF0aWMgaW50IGNvdW50X3JlZnNwZWNfbWF0Y2goY29uc3QgY2hhciAqcGF0dGVybiwKLQkJCSAgICAgICBzdHJ1Y3QgcmVmICpyZWZzLAotCQkJICAgICAgIHN0cnVjdCByZWYgKiptYXRjaGVkX3JlZikKK2ludCBjb3VudF9yZWZzcGVjX21hdGNoKGNvbnN0IGNoYXIgKnBhdHRlcm4sCisJCQlzdHJ1Y3QgcmVmICpyZWZzLAorCQkJc3RydWN0IHJlZiAqKm1hdGNoZWRfcmVmKQogewogCWludCBwYXRsZW4gPSBzdHJsZW4ocGF0dGVybik7CiAJc3RydWN0IHJlZiAqbWF0Y2hlZF93ZWFrID0gTlVMTDsKQEAgLTk2Niw3ICsxMDAwLDcgQEAKIAkJY2hhciAqbmFtZSA9IHJlZnMtPm5hbWU7CiAJCWludCBuYW1lbGVuID0gc3RybGVuKG5hbWUpOwogCi0JCWlmICghcmVmbmFtZV9tYXRjaChwYXR0ZXJuLCBuYW1lLCByZWZfcmV2X3BhcnNlX3J1bGVzKSkKKwkJaWYgKCFyZWZuYW1lX21hdGNoKHBhdHRlcm4sIG5hbWUpKQogCQkJY29udGludWU7CiAKIAkJLyogQSBtYXRjaCBpcyAid2VhayIgaWYgaXQgaXMgd2l0aCByZWZzIG91dHNpZGUKQEAgLTk3OSw4ICsxMDEzLDggQEAKIAkJICovCiAJCWlmIChuYW1lbGVuICE9IHBhdGxlbiAmJgogCQkgICAgcGF0bGVuICE9IG5hbWVsZW4gLSA1ICYmCi0JCSAgICBwcmVmaXhjbXAobmFtZSwgInJlZnMvaGVhZHMvIikgJiYKLQkJICAgIHByZWZpeGNtcChuYW1lLCAicmVmcy90YWdzLyIpKSB7CisJCSAgICAhc3RhcnRzX3dpdGgobmFtZSwgInJlZnMvaGVhZHMvIikgJiYKKwkJICAgICFzdGFydHNfd2l0aChuYW1lLCAicmVmcy90YWdzLyIpKSB7CiAJCQkvKiBXZSB3YW50IHRvIGNhdGNoIHRoZSBjYXNlIHdoZXJlIG9ubHkgd2VhawogCQkJICogbWF0Y2hlcyBhcmUgZm91bmQgYW5kIHRoZXJlIGFyZSBtdWx0aXBsZQogCQkJICogbWF0Y2hlcywgYW5kIHdoZXJlIG1vcmUgdGhhbiBvbmUgc3Ryb25nCkBAIC0xMDUxLDkgKzEwODUsOSBAQAogCWlmICghcikKIAkJcmV0dXJuIE5VTEw7CiAKLQlpZiAoIXByZWZpeGNtcChyLCAicmVmcy9oZWFkcy8iKSkKKwlpZiAoc3RhcnRzX3dpdGgociwgInJlZnMvaGVhZHMvIikpCiAJCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgInJlZnMvaGVhZHMvIik7Ci0JZWxzZSBpZiAoIXByZWZpeGNtcChyLCAicmVmcy90YWdzLyIpKQorCWVsc2UgaWYgKHN0YXJ0c193aXRoKHIsICJyZWZzL3RhZ3MvIikpCiAJCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgInJlZnMvdGFncy8iKTsKIAllbHNlCiAJCXJldHVybiBOVUxMOwpAQCAtMTEwMSw3ICsxMTM1LDcgQEAKIAkJZHN0X3ZhbHVlID0gcmVzb2x2ZV9yZWZfdW5zYWZlKG1hdGNoZWRfc3JjLT5uYW1lLCBzaGExLCAxLCAmZmxhZyk7CiAJCWlmICghZHN0X3ZhbHVlIHx8CiAJCSAgICAoKGZsYWcgJiBSRUZfSVNTWU1SRUYpICYmCi0JCSAgICAgcHJlZml4Y21wKGRzdF92YWx1ZSwgInJlZnMvaGVhZHMvIikpKQorCQkgICAgICFzdGFydHNfd2l0aChkc3RfdmFsdWUsICJyZWZzL2hlYWRzLyIpKSkKIAkJCWRpZSgiJXMgY2Fubm90IGJlIHJlc29sdmVkIHRvIGJyYW5jaC4iLAogCQkJICAgIG1hdGNoZWRfc3JjLT5uYW1lKTsKIAl9CkBAIC0xMTkwLDcgKzEyMjQsNyBAQAogCQkgKiBpbmNsdWRpbmcgcmVmcyBvdXRzaWRlIHJlZnMvaGVhZHMvIGhpZXJhcmNoeSwgYnV0CiAJCSAqIHRoYXQgZG9lcyBub3QgbWFrZSBtdWNoIHNlbnNlIHRoZXNlIGRheXMuCiAJCSAqLwotCQlpZiAoIXNlbmRfbWlycm9yICYmIHByZWZpeGNtcChyZWYtPm5hbWUsICJyZWZzL2hlYWRzLyIpKQorCQlpZiAoIXNlbmRfbWlycm9yICYmICFzdGFydHNfd2l0aChyZWYtPm5hbWUsICJyZWZzL2hlYWRzLyIpKQogCQkJcmV0dXJuIE5VTEw7CiAJCW5hbWUgPSB4c3RyZHVwKHJlZi0+bmFtZSk7CiAJfQpAQCAtMTI0NSw3ICsxMjc5LDcgQEAKIAkJCWFkZF90b190aXBzKCZzZW50X3RpcHMsIHJlZi0+cGVlcl9yZWYtPm5ld19zaGExKTsKIAkJZWxzZQogCQkJYWRkX3RvX3RpcHMoJnNlbnRfdGlwcywgcmVmLT5vbGRfc2hhMSk7Ci0JCWlmICghcHJlZml4Y21wKHJlZi0+bmFtZSwgInJlZnMvdGFncy8iKSkKKwkJaWYgKHN0YXJ0c193aXRoKHJlZi0+bmFtZSwgInJlZnMvdGFncy8iKSkKIAkJCXN0cmluZ19saXN0X2FwcGVuZCgmZHN0X3RhZywgcmVmLT5uYW1lKTsKIAl9CiAJY2xlYXJfY29tbWl0X21hcmtzX21hbnkoc2VudF90aXBzLm5yLCBzZW50X3RpcHMudGlwLCBUTVBfTUFSSyk7CkBAIC0xMjU0LDcgKzEyODgsNyBAQAogCiAJLyogQ29sbGVjdCB0YWdzIHRoZXkgZG8gbm90IGhhdmUuICovCiAJZm9yIChyZWYgPSBzcmM7IHJlZjsgcmVmID0gcmVmLT5uZXh0KSB7Ci0JCWlmIChwcmVmaXhjbXAocmVmLT5uYW1lLCAicmVmcy90YWdzLyIpKQorCQlpZiAoIXN0YXJ0c193aXRoKHJlZi0+bmFtZSwgInJlZnMvdGFncy8iKSkKIAkJCWNvbnRpbnVlOyAvKiBub3QgYSB0YWcgKi8KIAkJaWYgKHN0cmluZ19saXN0X2hhc19zdHJpbmcoJmRzdF90YWcsIHJlZi0+bmFtZSkpCiAJCQljb250aW51ZTsgLyogdGhleSBhbHJlYWR5IGhhdmUgaXQgKi8KQEAgLTEzMDIsNiArMTMzNiwxNCBAQAogCWZyZWUoc2VudF90aXBzLnRpcCk7CiB9CiAKK3N0cnVjdCByZWYgKmZpbmRfcmVmX2J5X25hbWUoY29uc3Qgc3RydWN0IHJlZiAqbGlzdCwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlmb3IgKCA7IGxpc3Q7IGxpc3QgPSBsaXN0LT5uZXh0KQorCQlpZiAoIXN0cmNtcChsaXN0LT5uYW1lLCBuYW1lKSkKKwkJCXJldHVybiAoc3RydWN0IHJlZiAqKWxpc3Q7CisJcmV0dXJuIE5VTEw7Cit9CisKIHN0YXRpYyB2b2lkIHByZXBhcmVfcmVmX2luZGV4KHN0cnVjdCBzdHJpbmdfbGlzdCAqcmVmX2luZGV4LCBzdHJ1Y3QgcmVmICpyZWYpCiB7CiAJZm9yICggOyByZWY7IHJlZiA9IHJlZi0+bmV4dCkKQEAgLTE0MTEsMTIgKzE0NTMsMTMgQEAKIH0KIAogdm9pZCBzZXRfcmVmX3N0YXR1c19mb3JfcHVzaChzdHJ1Y3QgcmVmICpyZW1vdGVfcmVmcywgaW50IHNlbmRfbWlycm9yLAotCWludCBmb3JjZV91cGRhdGUpCisJCQkgICAgIGludCBmb3JjZV91cGRhdGUpCiB7CiAJc3RydWN0IHJlZiAqcmVmOwogCiAJZm9yIChyZWYgPSByZW1vdGVfcmVmczsgcmVmOyByZWYgPSByZWYtPm5leHQpIHsKIAkJaW50IGZvcmNlX3JlZl91cGRhdGUgPSByZWYtPmZvcmNlIHx8IGZvcmNlX3VwZGF0ZTsKKwkJaW50IHJlamVjdF9yZWFzb24gPSAwOwogCiAJCWlmIChyZWYtPnBlZXJfcmVmKQogCQkJaGFzaGNweShyZWYtPm5ld19zaGExLCByZWYtPnBlZXJfcmVmLT5uZXdfc2hhMSk7CkBAIC0xNDMxLDYgKzE0NzQsMjYgQEAKIAkJfQogCiAJCS8qCisJCSAqIEJ5cGFzcyB0aGUgdXN1YWwgIm11c3QgZmFzdC1mb3J3YXJkIiBjaGVjayBidXQKKwkJICogcmVwbGFjZSBpdCB3aXRoIGEgd2Vha2VyICJ0aGUgb2xkIHZhbHVlIG11c3QgYmUKKwkJICogdGhpcyB2YWx1ZSB3ZSBvYnNlcnZlZCIuICBJZiB0aGUgcmVtb3RlIHJlZiBoYXMKKwkJICogbW92ZWQgYW5kIGlzIG5vdyBkaWZmZXJlbnQgZnJvbSB3aGF0IHdlIGV4cGVjdCwKKwkJICogcmVqZWN0IGFueSBwdXNoLgorCQkgKgorCQkgKiBJdCBhbHNvIGlzIGFuIGVycm9yIGlmIHRoZSB1c2VyIHRvbGQgdXMgdG8gY2hlY2sKKwkJICogd2l0aCB0aGUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCB0byBmaW5kIHRoZSB2YWx1ZQorCQkgKiB0byBleHBlY3QsIGJ1dCB3ZSBkaWQgbm90IGhhdmUgc3VjaCBhIHRyYWNraW5nCisJCSAqIGJyYW5jaC4KKwkJICovCisJCWlmIChyZWYtPmV4cGVjdF9vbGRfc2hhMSkgeworCQkJaWYgKHJlZi0+ZXhwZWN0X29sZF9ub190cmFja2JhY2sgfHwKKwkJCSAgICBoYXNoY21wKHJlZi0+b2xkX3NoYTEsIHJlZi0+b2xkX3NoYTFfZXhwZWN0KSkKKwkJCQlyZWplY3RfcmVhc29uID0gUkVGX1NUQVRVU19SRUpFQ1RfU1RBTEU7CisJCX0KKworCQkvKgorCQkgKiBUaGUgdXN1YWwgIm11c3QgZmFzdC1mb3J3YXJkIiBydWxlcy4KKwkJICoKIAkJICogRGVjaWRlIHdoZXRoZXIgYW4gaW5kaXZpZHVhbCByZWZzcGVjIEE6QiBjYW4gYmUKIAkJICogcHVzaGVkLiAgVGhlIHB1c2ggd2lsbCBzdWNjZWVkIGlmIGFueSBvZiB0aGUKIAkJICogZm9sbG93aW5nIGFyZSB0cnVlOgpAQCAtMTQ0OCwyNCArMTUxMSwyNiBAQAogCQkgKiAgICAgcGFzc2luZyB0aGUgLS1mb3JjZSBhcmd1bWVudAogCQkgKi8KIAotCQlpZiAoIXJlZi0+ZGVsZXRpb24gJiYgIWlzX251bGxfc2hhMShyZWYtPm9sZF9zaGExKSkgewotCQkJaW50IHdoeSA9IDA7IC8qIHdoeSB3b3VsZCB0aGlzIHB1c2ggcmVxdWlyZSAtLWZvcmNlPyAqLwotCi0JCQlpZiAoIXByZWZpeGNtcChyZWYtPm5hbWUsICJyZWZzL3RhZ3MvIikpCi0JCQkJd2h5ID0gUkVGX1NUQVRVU19SRUpFQ1RfQUxSRUFEWV9FWElTVFM7CisJCWVsc2UgaWYgKCFyZWYtPmRlbGV0aW9uICYmICFpc19udWxsX3NoYTEocmVmLT5vbGRfc2hhMSkpIHsKKwkJCWlmIChzdGFydHNfd2l0aChyZWYtPm5hbWUsICJyZWZzL3RhZ3MvIikpCisJCQkJcmVqZWN0X3JlYXNvbiA9IFJFRl9TVEFUVVNfUkVKRUNUX0FMUkVBRFlfRVhJU1RTOwogCQkJZWxzZSBpZiAoIWhhc19zaGExX2ZpbGUocmVmLT5vbGRfc2hhMSkpCi0JCQkJd2h5ID0gUkVGX1NUQVRVU19SRUpFQ1RfRkVUQ0hfRklSU1Q7CisJCQkJcmVqZWN0X3JlYXNvbiA9IFJFRl9TVEFUVVNfUkVKRUNUX0ZFVENIX0ZJUlNUOwogCQkJZWxzZSBpZiAoIWxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShyZWYtPm9sZF9zaGExLCAxKSB8fAogCQkJCSAhbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHJlZi0+bmV3X3NoYTEsIDEpKQotCQkJCXdoeSA9IFJFRl9TVEFUVVNfUkVKRUNUX05FRURTX0ZPUkNFOworCQkJCXJlamVjdF9yZWFzb24gPSBSRUZfU1RBVFVTX1JFSkVDVF9ORUVEU19GT1JDRTsKIAkJCWVsc2UgaWYgKCFyZWZfbmV3ZXIocmVmLT5uZXdfc2hhMSwgcmVmLT5vbGRfc2hhMSkpCi0JCQkJd2h5ID0gUkVGX1NUQVRVU19SRUpFQ1RfTk9ORkFTVEZPUldBUkQ7Ci0KLQkJCWlmICghZm9yY2VfcmVmX3VwZGF0ZSkKLQkJCQlyZWYtPnN0YXR1cyA9IHdoeTsKLQkJCWVsc2UgaWYgKHdoeSkKLQkJCQlyZWYtPmZvcmNlZF91cGRhdGUgPSAxOworCQkJCXJlamVjdF9yZWFzb24gPSBSRUZfU1RBVFVTX1JFSkVDVF9OT05GQVNURk9SV0FSRDsKIAkJfQorCisJCS8qCisJCSAqICItLWZvcmNlIiB3aWxsIGRlZmVhdCBhbnkgcmVqZWN0aW9uIGltcGxlbWVudGVkCisJCSAqIGJ5IHRoZSBydWxlcyBhYm92ZS4KKwkJICovCisJCWlmICghZm9yY2VfcmVmX3VwZGF0ZSkKKwkJCXJlZi0+c3RhdHVzID0gcmVqZWN0X3JlYXNvbjsKKwkJZWxzZSBpZiAocmVqZWN0X3JlYXNvbikKKwkJCXJlZi0+Zm9yY2VkX3VwZGF0ZSA9IDE7CiAJfQogfQogCkBAIC0xNTA2LDcgKzE1NzEsNyBAQAogewogCWlmICghYnJhbmNoIHx8IGkgPCAwIHx8IGkgPj0gYnJhbmNoLT5tZXJnZV9ucikKIAkJcmV0dXJuIDA7Ci0JcmV0dXJuIHJlZm5hbWVfbWF0Y2goYnJhbmNoLT5tZXJnZVtpXS0+c3JjLCByZWZuYW1lLCByZWZfZmV0Y2hfcnVsZXMpOworCXJldHVybiByZWZuYW1lX21hdGNoKGJyYW5jaC0+bWVyZ2VbaV0tPnNyYywgcmVmbmFtZSk7CiB9CiAKIHN0YXRpYyBpbnQgaWdub3JlX3N5bXJlZl91cGRhdGUoY29uc3QgY2hhciAqcmVmbmFtZSkKQEAgLTE1MTksNiArMTU4NCwxMyBAQAogCXJldHVybiAoZmxhZyAmIFJFRl9JU1NZTVJFRik7CiB9CiAKKy8qCisgKiBDcmVhdGUgYW5kIHJldHVybiBhIGxpc3Qgb2YgKHN0cnVjdCByZWYpIGNvbnNpc3Rpbmcgb2YgY29waWVzIG9mCisgKiBlYWNoIHJlbW90ZV9yZWYgdGhhdCBtYXRjaGVzIHJlZnNwZWMuICByZWZzcGVjIG11c3QgYmUgYSBwYXR0ZXJuLgorICogRmlsbCBpbiB0aGUgY29waWVzJyBwZWVyX3JlZiB0byBkZXNjcmliZSB0aGUgbG9jYWwgdHJhY2tpbmcgcmVmcyB0bworICogd2hpY2ggdGhleSBtYXAuICBPbWl0IGFueSByZWZlcmVuY2VzIHRoYXQgd291bGQgbWFwIHRvIGFuIGV4aXN0aW5nCisgKiBsb2NhbCBzeW1ib2xpYyByZWYuCisgKi8KIHN0YXRpYyBzdHJ1Y3QgcmVmICpnZXRfZXhwYW5kZWRfbWFwKGNvbnN0IHN0cnVjdCByZWYgKnJlbW90ZV9yZWZzLAogCQkJCSAgICBjb25zdCBzdHJ1Y3QgcmVmc3BlYyAqcmVmc3BlYykKIHsKQEAgLTE1MjYsOSArMTU5OCw5IEBACiAJc3RydWN0IHJlZiAqcmV0ID0gTlVMTDsKIAlzdHJ1Y3QgcmVmICoqdGFpbCA9ICZyZXQ7CiAKLQljaGFyICpleHBuX25hbWU7Ci0KIAlmb3IgKHJlZiA9IHJlbW90ZV9yZWZzOyByZWY7IHJlZiA9IHJlZi0+bmV4dCkgeworCQljaGFyICpleHBuX25hbWUgPSBOVUxMOworCiAJCWlmIChzdHJjaHIocmVmLT5uYW1lLCAnXicpKQogCQkJY29udGludWU7IC8qIGEgZGVyZWZlcmVuY2UgaXRlbSAqLwogCQlpZiAobWF0Y2hfbmFtZV93aXRoX3BhdHRlcm4ocmVmc3BlYy0+c3JjLCByZWYtPm5hbWUsCkBAIC0xNTM3LDEyICsxNjA5LDEyIEBACiAJCQlzdHJ1Y3QgcmVmICpjcHkgPSBjb3B5X3JlZihyZWYpOwogCiAJCQljcHktPnBlZXJfcmVmID0gYWxsb2NfcmVmKGV4cG5fbmFtZSk7Ci0JCQlmcmVlKGV4cG5fbmFtZSk7CiAJCQlpZiAocmVmc3BlYy0+Zm9yY2UpCiAJCQkJY3B5LT5wZWVyX3JlZi0+Zm9yY2UgPSAxOwogCQkJKnRhaWwgPSBjcHk7CiAJCQl0YWlsID0gJmNweS0+bmV4dDsKIAkJfQorCQlmcmVlKGV4cG5fbmFtZSk7CiAJfQogCiAJcmV0dXJuIHJldDsKQEAgLTE1NTIsNyArMTYyNCw3IEBACiB7CiAJY29uc3Qgc3RydWN0IHJlZiAqcmVmOwogCWZvciAocmVmID0gcmVmczsgcmVmOyByZWYgPSByZWYtPm5leHQpIHsKLQkJaWYgKHJlZm5hbWVfbWF0Y2gobmFtZSwgcmVmLT5uYW1lLCByZWZfZmV0Y2hfcnVsZXMpKQorCQlpZiAocmVmbmFtZV9tYXRjaChuYW1lLCByZWYtPm5hbWUpKQogCQkJcmV0dXJuIHJlZjsKIAl9CiAJcmV0dXJuIE5VTEw7CkBAIC0xNTczLDEyICsxNjQ1LDEyIEBACiAJaWYgKCFuYW1lIHx8IG5hbWVbMF0gPT0gJ1wwJykKIAkJcmV0dXJuIE5VTEw7CiAKLQlpZiAoIXByZWZpeGNtcChuYW1lLCAicmVmcy8iKSkKKwlpZiAoc3RhcnRzX3dpdGgobmFtZSwgInJlZnMvIikpCiAJCXJldHVybiBhbGxvY19yZWYobmFtZSk7CiAKLQlpZiAoIXByZWZpeGNtcChuYW1lLCAiaGVhZHMvIikgfHwKLQkgICAgIXByZWZpeGNtcChuYW1lLCAidGFncy8iKSB8fAotCSAgICAhcHJlZml4Y21wKG5hbWUsICJyZW1vdGVzLyIpKQorCWlmIChzdGFydHNfd2l0aChuYW1lLCAiaGVhZHMvIikgfHwKKwkgICAgc3RhcnRzX3dpdGgobmFtZSwgInRhZ3MvIikgfHwKKwkgICAgc3RhcnRzX3dpdGgobmFtZSwgInJlbW90ZXMvIikpCiAJCXJldHVybiBhbGxvY19yZWZfd2l0aF9wcmVmaXgoInJlZnMvIiwgNSwgbmFtZSk7CiAKIAlyZXR1cm4gYWxsb2NfcmVmX3dpdGhfcHJlZml4KCJyZWZzL2hlYWRzLyIsIDExLCBuYW1lKTsKQEAgLTE2MTMsNyArMTY4NSw3IEBACiAKIAlmb3IgKHJtcCA9ICZyZWZfbWFwOyAqcm1wOyApIHsKIAkJaWYgKCgqcm1wKS0+cGVlcl9yZWYpIHsKLQkJCWlmIChwcmVmaXhjbXAoKCpybXApLT5wZWVyX3JlZi0+bmFtZSwgInJlZnMvIikgfHwKKwkJCWlmICghc3RhcnRzX3dpdGgoKCpybXApLT5wZWVyX3JlZi0+bmFtZSwgInJlZnMvIikgfHwKIAkJCSAgICBjaGVja19yZWZuYW1lX2Zvcm1hdCgoKnJtcCktPnBlZXJfcmVmLT5uYW1lLCAwKSkgewogCQkJCXN0cnVjdCByZWYgKmlnbm9yZSA9ICpybXA7CiAJCQkJZXJyb3IoIiogSWdub3JpbmcgZnVubnkgcmVmICclcycgbG9jYWxseSIsCkBAIC0xNjk1LDcgKzE3NjcsMTEgQEAKIH0KIAogLyoKLSAqIFJldHVybiB0cnVlIGlmIHRoZXJlIGlzIGFueXRoaW5nIHRvIHJlcG9ydCwgb3RoZXJ3aXNlIGZhbHNlLgorICogQ29tcGFyZSBhIGJyYW5jaCB3aXRoIGl0cyB1cHN0cmVhbSwgYW5kIHNhdmUgdGhlaXIgZGlmZmVyZW5jZXMgKG51bWJlcgorICogb2YgY29tbWl0cykgaW4gKm51bV9vdXJzIGFuZCAqbnVtX3RoZWlycy4KKyAqCisgKiBSZXR1cm4gMCBpZiBicmFuY2ggaGFzIG5vIHVwc3RyZWFtIChubyBiYXNlKSwgLTEgaWYgdXBzdHJlYW0gaXMgbWlzc2luZworICogKHdpdGggImdvbmUiIGJhc2UpLCBvdGhlcndpc2UgMSAod2l0aCBiYXNlKS4KICAqLwogaW50IHN0YXRfdHJhY2tpbmdfaW5mbyhzdHJ1Y3QgYnJhbmNoICpicmFuY2gsIGludCAqbnVtX291cnMsIGludCAqbnVtX3RoZWlycykKIHsKQEAgLTE3MDYsMzQgKzE3ODIsMzAgQEAKIAljb25zdCBjaGFyICpyZXZfYXJndlsxMF0sICpiYXNlOwogCWludCByZXZfYXJnYzsKIAotCS8qCi0JICogTm90aGluZyB0byByZXBvcnQgdW5sZXNzIHdlIGFyZSBtYXJrZWQgdG8gYnVpbGQgb24gdG9wIG9mCi0JICogc29tZWJvZHkgZWxzZS4KLQkgKi8KKwkvKiBDYW5ub3Qgc3RhdCB1bmxlc3Mgd2UgYXJlIG1hcmtlZCB0byBidWlsZCBvbiB0b3Agb2Ygc29tZWJvZHkgZWxzZS4gKi8KIAlpZiAoIWJyYW5jaCB8fAogCSAgICAhYnJhbmNoLT5tZXJnZSB8fCAhYnJhbmNoLT5tZXJnZVswXSB8fCAhYnJhbmNoLT5tZXJnZVswXS0+ZHN0KQogCQlyZXR1cm4gMDsKIAotCS8qCi0JICogSWYgd2hhdCB3ZSB1c2VkIHRvIGJ1aWxkIG9uIG5vIGxvbmdlciBleGlzdHMsIHRoZXJlIGlzCi0JICogbm90aGluZyB0byByZXBvcnQuCi0JICovCisJLyogQ2Fubm90IHN0YXQgaWYgd2hhdCB3ZSB1c2VkIHRvIGJ1aWxkIG9uIG5vIGxvbmdlciBleGlzdHMgKi8KIAliYXNlID0gYnJhbmNoLT5tZXJnZVswXS0+ZHN0OwogCWlmIChyZWFkX3JlZihiYXNlLCBzaGExKSkKLQkJcmV0dXJuIDA7CisJCXJldHVybiAtMTsKIAl0aGVpcnMgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShzaGExKTsKIAlpZiAoIXRoZWlycykKLQkJcmV0dXJuIDA7CisJCXJldHVybiAtMTsKIAogCWlmIChyZWFkX3JlZihicmFuY2gtPnJlZm5hbWUsIHNoYTEpKQotCQlyZXR1cm4gMDsKKwkJcmV0dXJuIC0xOwogCW91cnMgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShzaGExKTsKIAlpZiAoIW91cnMpCi0JCXJldHVybiAwOworCQlyZXR1cm4gLTE7CiAKIAkvKiBhcmUgd2UgdGhlIHNhbWU/ICovCi0JaWYgKHRoZWlycyA9PSBvdXJzKQotCQlyZXR1cm4gMDsKKwlpZiAodGhlaXJzID09IG91cnMpIHsKKwkJKm51bV90aGVpcnMgPSAqbnVtX291cnMgPSAwOworCQlyZXR1cm4gMTsKKwl9CiAKIAkvKiBSdW4gInJldi1saXN0IC0tbGVmdC1yaWdodCBvdXJzLi4udGhlaXJzIiBpbnRlcm5hbGx5Li4uICovCiAJcmV2X2FyZ2MgPSAwOwpAQCAtMTc3NSwzMSArMTg0Nyw1MyBAQAogICovCiBpbnQgZm9ybWF0X3RyYWNraW5nX2luZm8oc3RydWN0IGJyYW5jaCAqYnJhbmNoLCBzdHJ1Y3Qgc3RyYnVmICpzYikKIHsKLQlpbnQgbnVtX291cnMsIG51bV90aGVpcnM7CisJaW50IG91cnMsIHRoZWlyczsKIAljb25zdCBjaGFyICpiYXNlOworCWludCB1cHN0cmVhbV9pc19nb25lID0gMDsKIAotCWlmICghc3RhdF90cmFja2luZ19pbmZvKGJyYW5jaCwgJm51bV9vdXJzLCAmbnVtX3RoZWlycykpCisJc3dpdGNoIChzdGF0X3RyYWNraW5nX2luZm8oYnJhbmNoLCAmb3VycywgJnRoZWlycykpIHsKKwljYXNlIDA6CisJCS8qIG5vIGJhc2UgKi8KIAkJcmV0dXJuIDA7CisJY2FzZSAtMToKKwkJLyogd2l0aCAiZ29uZSIgYmFzZSAqLworCQl1cHN0cmVhbV9pc19nb25lID0gMTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJLyogd2l0aCBiYXNlICovCisJCWJyZWFrOworCX0KIAogCWJhc2UgPSBicmFuY2gtPm1lcmdlWzBdLT5kc3Q7CiAJYmFzZSA9IHNob3J0ZW5fdW5hbWJpZ3VvdXNfcmVmKGJhc2UsIDApOwotCWlmICghbnVtX3RoZWlycykgeworCWlmICh1cHN0cmVhbV9pc19nb25lKSB7CisJCXN0cmJ1Zl9hZGRmKHNiLAorCQkJXygiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIiksCisJCQliYXNlKTsKKwkJaWYgKGFkdmljZV9zdGF0dXNfaGludHMpCisJCQlzdHJidWZfYWRkZihzYiwKKwkJCQlfKCIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIpKTsKKwl9IGVsc2UgaWYgKCFvdXJzICYmICF0aGVpcnMpIHsKKwkJc3RyYnVmX2FkZGYoc2IsCisJCQlfKCJZb3VyIGJyYW5jaCBpcyB1cC10by1kYXRlIHdpdGggJyVzJy5cbiIpLAorCQkJYmFzZSk7CisJfSBlbHNlIGlmICghdGhlaXJzKSB7CiAJCXN0cmJ1Zl9hZGRmKHNiLAogCQkJUV8oIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIiwKIAkJCSAgICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iLAotCQkJICAgbnVtX291cnMpLAotCQkJYmFzZSwgbnVtX291cnMpOworCQkJICAgb3VycyksCisJCQliYXNlLCBvdXJzKTsKIAkJaWYgKGFkdmljZV9zdGF0dXNfaGludHMpCiAJCQlzdHJidWZfYWRkZihzYiwKIAkJCQlfKCIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIikpOwotCX0gZWxzZSBpZiAoIW51bV9vdXJzKSB7CisJfSBlbHNlIGlmICghb3VycykgewogCQlzdHJidWZfYWRkZihzYiwKIAkJCVFfKCJZb3VyIGJyYW5jaCBpcyBiZWhpbmQgJyVzJyBieSAlZCBjb21taXQsICIKIAkJCSAgICAgICAiYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIsCiAJCQkgICAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0cywgIgogCQkJICAgICAgICJhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIiwKLQkJCSAgIG51bV90aGVpcnMpLAotCQkJYmFzZSwgbnVtX3RoZWlycyk7CisJCQkgICB0aGVpcnMpLAorCQkJYmFzZSwgdGhlaXJzKTsKIAkJaWYgKGFkdmljZV9zdGF0dXNfaGludHMpCiAJCQlzdHJidWZfYWRkZihzYiwKIAkJCQlfKCIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIHVwZGF0ZSB5b3VyIGxvY2FsIGJyYW5jaClcbiIpKTsKQEAgLTE4MTEsOCArMTkwNSw4IEBACiAJCQkgICAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKIAkJCSAgICAgICAiYW5kIGhhdmUgJWQgYW5kICVkIGRpZmZlcmVudCBjb21taXRzIGVhY2gsICIKIAkJCSAgICAgICAicmVzcGVjdGl2ZWx5LlxuIiwKLQkJCSAgIG51bV90aGVpcnMpLAotCQkJYmFzZSwgbnVtX291cnMsIG51bV90aGVpcnMpOworCQkJICAgdGhlaXJzKSwKKwkJCWJhc2UsIG91cnMsIHRoZWlycyk7CiAJCWlmIChhZHZpY2Vfc3RhdHVzX2hpbnRzKQogCQkJc3RyYnVmX2FkZGYoc2IsCiAJCQkJXygiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIikpOwpAQCAtMTg3NSw3ICsxOTY5LDcgQEAKIAkvKiBMb29rIGZvciBhbm90aGVyIHJlZiB0aGF0IHBvaW50cyB0aGVyZSAqLwogCWZvciAociA9IHJlZnM7IHI7IHIgPSByLT5uZXh0KSB7CiAJCWlmIChyICE9IGhlYWQgJiYKLQkJICAgICFwcmVmaXhjbXAoci0+bmFtZSwgInJlZnMvaGVhZHMvIikgJiYKKwkJICAgIHN0YXJ0c193aXRoKHItPm5hbWUsICJyZWZzL2hlYWRzLyIpICYmCiAJCSAgICAhaGFzaGNtcChyLT5vbGRfc2hhMSwgaGVhZC0+b2xkX3NoYTEpKSB7CiAJCQkqdGFpbCA9IGNvcHlfcmVmKHIpOwogCQkJdGFpbCA9ICYoKCp0YWlsKS0+bmV4dCk7CkBAIC0xOTM2LDMgKzIwMzAsMTIxIEBACiAJc3RyaW5nX2xpc3RfY2xlYXIoJnJlZl9uYW1lcywgMCk7CiAJcmV0dXJuIHN0YWxlX3JlZnM7CiB9CisKKy8qCisgKiBDb21wYXJlLWFuZC1zd2FwCisgKi8KK3ZvaWQgY2xlYXJfY2FzX29wdGlvbihzdHJ1Y3QgcHVzaF9jYXNfb3B0aW9uICpjYXMpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgY2FzLT5ucjsgaSsrKQorCQlmcmVlKGNhcy0+ZW50cnlbaV0ucmVmbmFtZSk7CisJZnJlZShjYXMtPmVudHJ5KTsKKwltZW1zZXQoY2FzLCAwLCBzaXplb2YoKmNhcykpOworfQorCitzdGF0aWMgc3RydWN0IHB1c2hfY2FzICphZGRfY2FzX2VudHJ5KHN0cnVjdCBwdXNoX2Nhc19vcHRpb24gKmNhcywKKwkJCQkgICAgICBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJCSAgICAgIHNpemVfdCByZWZuYW1lbGVuKQoreworCXN0cnVjdCBwdXNoX2NhcyAqZW50cnk7CisJQUxMT0NfR1JPVyhjYXMtPmVudHJ5LCBjYXMtPm5yICsgMSwgY2FzLT5hbGxvYyk7CisJZW50cnkgPSAmY2FzLT5lbnRyeVtjYXMtPm5yKytdOworCW1lbXNldChlbnRyeSwgMCwgc2l6ZW9mKCplbnRyeSkpOworCWVudHJ5LT5yZWZuYW1lID0geG1lbWR1cHoocmVmbmFtZSwgcmVmbmFtZWxlbik7CisJcmV0dXJuIGVudHJ5OworfQorCitpbnQgcGFyc2VfcHVzaF9jYXNfb3B0aW9uKHN0cnVjdCBwdXNoX2Nhc19vcHRpb24gKmNhcywgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCit7CisJY29uc3QgY2hhciAqY29sb247CisJc3RydWN0IHB1c2hfY2FzICplbnRyeTsKKworCWlmICh1bnNldCkgeworCQkvKiAiLS1uby08b3B0aW9uPiIgKi8KKwkJY2xlYXJfY2FzX29wdGlvbihjYXMpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoIWFyZykgeworCQkvKiBqdXN0ICItLTxvcHRpb24+IiAqLworCQljYXMtPnVzZV90cmFja2luZ19mb3JfcmVzdCA9IDE7CisJCXJldHVybiAwOworCX0KKworCS8qICItLTxvcHRpb24+PXJlZm5hbWUiIG9yICItLTxvcHRpb24+PXJlZm5hbWU6dmFsdWUiICovCisJY29sb24gPSBzdHJjaHJudWwoYXJnLCAnOicpOworCWVudHJ5ID0gYWRkX2Nhc19lbnRyeShjYXMsIGFyZywgY29sb24gLSBhcmcpOworCWlmICghKmNvbG9uKQorCQllbnRyeS0+dXNlX3RyYWNraW5nID0gMTsKKwllbHNlIGlmIChnZXRfc2hhMShjb2xvbiArIDEsIGVudHJ5LT5leHBlY3QpKQorCQlyZXR1cm4gZXJyb3IoImNhbm5vdCBwYXJzZSBleHBlY3RlZCBvYmplY3QgbmFtZSAnJXMnIiwgY29sb24gKyAxKTsKKwlyZXR1cm4gMDsKK30KKworaW50IHBhcnNlb3B0X3B1c2hfY2FzX29wdGlvbihjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQoreworCXJldHVybiBwYXJzZV9wdXNoX2Nhc19vcHRpb24ob3B0LT52YWx1ZSwgYXJnLCB1bnNldCk7Cit9CisKK2ludCBpc19lbXB0eV9jYXMoY29uc3Qgc3RydWN0IHB1c2hfY2FzX29wdGlvbiAqY2FzKQoreworCXJldHVybiAhY2FzLT51c2VfdHJhY2tpbmdfZm9yX3Jlc3QgJiYgIWNhcy0+bnI7Cit9CisKKy8qCisgKiBMb29rIGF0IHJlbW90ZS5mZXRjaCByZWZzcGVjIGFuZCBzZWUgaWYgd2UgaGF2ZSBhIHJlbW90ZQorICogdHJhY2tpbmcgYnJhbmNoIGZvciB0aGUgcmVmbmFtZSB0aGVyZS4gIEZpbGwgaXRzIGN1cnJlbnQKKyAqIHZhbHVlIGluIHNoYTFbXS4KKyAqIElmIHdlIGNhbm5vdCBkbyBzbywgcmV0dXJuIG5lZ2F0aXZlIHRvIHNpZ25hbCBhbiBlcnJvci4KKyAqLworc3RhdGljIGludCByZW1vdGVfdHJhY2tpbmcoc3RydWN0IHJlbW90ZSAqcmVtb3RlLCBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJICAgdW5zaWduZWQgY2hhciBzaGExWzIwXSkKK3sKKwljaGFyICpkc3Q7CisKKwlkc3QgPSBhcHBseV9yZWZzcGVjcyhyZW1vdGUtPmZldGNoLCByZW1vdGUtPmZldGNoX3JlZnNwZWNfbnIsIHJlZm5hbWUpOworCWlmICghZHN0KQorCQlyZXR1cm4gLTE7IC8qIG5vIHRyYWNraW5nIHJlZiBmb3IgcmVmbmFtZSBhdCByZW1vdGUgKi8KKwlpZiAocmVhZF9yZWYoZHN0LCBzaGExKSkKKwkJcmV0dXJuIC0xOyAvKiB3ZSBrbm93IHdoYXQgdGhlIHRyYWNraW5nIHJlZiBpcyBidXQgd2UgY2Fubm90IHJlYWQgaXQgKi8KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgYXBwbHlfY2FzKHN0cnVjdCBwdXNoX2Nhc19vcHRpb24gKmNhcywKKwkJICAgICAgc3RydWN0IHJlbW90ZSAqcmVtb3RlLAorCQkgICAgICBzdHJ1Y3QgcmVmICpyZWYpCit7CisJaW50IGk7CisKKwkvKiBGaW5kIGFuIGV4cGxpY2l0IC0tPG9wdGlvbj49PG5hbWU+Wzo8dmFsdWU+XSBlbnRyeSAqLworCWZvciAoaSA9IDA7IGkgPCBjYXMtPm5yOyBpKyspIHsKKwkJc3RydWN0IHB1c2hfY2FzICplbnRyeSA9ICZjYXMtPmVudHJ5W2ldOworCQlpZiAoIXJlZm5hbWVfbWF0Y2goZW50cnktPnJlZm5hbWUsIHJlZi0+bmFtZSkpCisJCQljb250aW51ZTsKKwkJcmVmLT5leHBlY3Rfb2xkX3NoYTEgPSAxOworCQlpZiAoIWVudHJ5LT51c2VfdHJhY2tpbmcpCisJCQloYXNoY3B5KHJlZi0+b2xkX3NoYTFfZXhwZWN0LCBjYXMtPmVudHJ5W2ldLmV4cGVjdCk7CisJCWVsc2UgaWYgKHJlbW90ZV90cmFja2luZyhyZW1vdGUsIHJlZi0+bmFtZSwgcmVmLT5vbGRfc2hhMV9leHBlY3QpKQorCQkJcmVmLT5leHBlY3Rfb2xkX25vX3RyYWNrYmFjayA9IDE7CisJCXJldHVybjsKKwl9CisKKwkvKiBBcmUgd2UgdXNpbmcgIi0tPG9wdGlvbj4iIHRvIGNvdmVyIGFsbD8gKi8KKwlpZiAoIWNhcy0+dXNlX3RyYWNraW5nX2Zvcl9yZXN0KQorCQlyZXR1cm47CisKKwlyZWYtPmV4cGVjdF9vbGRfc2hhMSA9IDE7CisJaWYgKHJlbW90ZV90cmFja2luZyhyZW1vdGUsIHJlZi0+bmFtZSwgcmVmLT5vbGRfc2hhMV9leHBlY3QpKQorCQlyZWYtPmV4cGVjdF9vbGRfbm9fdHJhY2tiYWNrID0gMTsKK30KKwordm9pZCBhcHBseV9wdXNoX2NhcyhzdHJ1Y3QgcHVzaF9jYXNfb3B0aW9uICpjYXMsCisJCSAgICBzdHJ1Y3QgcmVtb3RlICpyZW1vdGUsCisJCSAgICBzdHJ1Y3QgcmVmICpyZW1vdGVfcmVmcykKK3sKKwlzdHJ1Y3QgcmVmICpyZWY7CisJZm9yIChyZWYgPSByZW1vdGVfcmVmczsgcmVmOyByZWYgPSByZWYtPm5leHQpCisJCWFwcGx5X2NhcyhjYXMsIHJlbW90ZSwgcmVmKTsKK30KZGlmZiAtLWdpdCBhL3JlbW90ZS5oIGIvcmVtb3RlLmgKaW5kZXggY2Y1NjcyNC4uZmI3NjQ3ZiAxMDA2NDQKLS0tIGEvcmVtb3RlLmgKKysrIGIvcmVtb3RlLmgKQEAgLTEsNiArMSw4IEBACiAjaWZuZGVmIFJFTU9URV9ICiAjZGVmaW5lIFJFTU9URV9ICiAKKyNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCisKIGVudW0gewogCVJFTU9URV9DT05GSUcsCiAJUkVNT1RFX1JFTU9URVMsCkBAIC00MCw2ICs0Miw3IEBACiAJaW50IGZldGNoX3RhZ3M7CiAJaW50IHNraXBfZGVmYXVsdF91cGRhdGU7CiAJaW50IG1pcnJvcjsKKwlpbnQgcHJ1bmU7CiAKIAljb25zdCBjaGFyICpyZWNlaXZlcGFjazsKIAljb25zdCBjaGFyICp1cGxvYWRwYWNrOwpAQCAtNzEsMTAgKzc0LDYyIEBACiAKIGV4dGVybiBjb25zdCBzdHJ1Y3QgcmVmc3BlYyAqdGFnX3JlZnNwZWM7CiAKK3N0cnVjdCByZWYgeworCXN0cnVjdCByZWYgKm5leHQ7CisJdW5zaWduZWQgY2hhciBvbGRfc2hhMVsyMF07CisJdW5zaWduZWQgY2hhciBuZXdfc2hhMVsyMF07CisJdW5zaWduZWQgY2hhciBvbGRfc2hhMV9leHBlY3RbMjBdOyAvKiB1c2VkIGJ5IGV4cGVjdC1vbGQgKi8KKwljaGFyICpzeW1yZWY7CisJdW5zaWduZWQgaW50CisJCWZvcmNlOjEsCisJCWZvcmNlZF91cGRhdGU6MSwKKwkJZXhwZWN0X29sZF9zaGExOjEsCisJCWV4cGVjdF9vbGRfbm9fdHJhY2tiYWNrOjEsCisJCWRlbGV0aW9uOjEsCisJCW1hdGNoZWQ6MTsKKworCS8qCisJICogT3JkZXIgaXMgaW1wb3J0YW50IGhlcmUsIGFzIHdlIHdyaXRlIHRvIEZFVENIX0hFQUQKKwkgKiBpbiBudW1lcmljIG9yZGVyLiBBbmQgdGhlIGRlZmF1bHQgTk9UX0ZPUl9NRVJHRQorCSAqIHNob3VsZCBiZSAwLCBzbyB0aGF0IHhjYWxsb2MnZCBzdHJ1Y3R1cmVzIGdldCBpdAorCSAqIGJ5IGRlZmF1bHQuCisJICovCisJZW51bSB7CisJCUZFVENIX0hFQURfTUVSR0UgPSAtMSwKKwkJRkVUQ0hfSEVBRF9OT1RfRk9SX01FUkdFID0gMCwKKwkJRkVUQ0hfSEVBRF9JR05PUkUgPSAxCisJfSBmZXRjaF9oZWFkX3N0YXR1czsKKworCWVudW0geworCQlSRUZfU1RBVFVTX05PTkUgPSAwLAorCQlSRUZfU1RBVFVTX09LLAorCQlSRUZfU1RBVFVTX1JFSkVDVF9OT05GQVNURk9SV0FSRCwKKwkJUkVGX1NUQVRVU19SRUpFQ1RfQUxSRUFEWV9FWElTVFMsCisJCVJFRl9TVEFUVVNfUkVKRUNUX05PREVMRVRFLAorCQlSRUZfU1RBVFVTX1JFSkVDVF9GRVRDSF9GSVJTVCwKKwkJUkVGX1NUQVRVU19SRUpFQ1RfTkVFRFNfRk9SQ0UsCisJCVJFRl9TVEFUVVNfUkVKRUNUX1NUQUxFLAorCQlSRUZfU1RBVFVTX1JFSkVDVF9TSEFMTE9XLAorCQlSRUZfU1RBVFVTX1VQVE9EQVRFLAorCQlSRUZfU1RBVFVTX1JFTU9URV9SRUpFQ1QsCisJCVJFRl9TVEFUVVNfRVhQRUNUSU5HX1JFUE9SVAorCX0gc3RhdHVzOworCWNoYXIgKnJlbW90ZV9zdGF0dXM7CisJc3RydWN0IHJlZiAqcGVlcl9yZWY7IC8qIHdoZW4gcmVuYW1pbmcgKi8KKwljaGFyIG5hbWVbRkxFWF9BUlJBWV07IC8qIG1vcmUgKi8KK307CisKKyNkZWZpbmUgUkVGX05PUk1BTAkoMXUgPDwgMCkKKyNkZWZpbmUgUkVGX0hFQURTCSgxdSA8PCAxKQorI2RlZmluZSBSRUZfVEFHUwkoMXUgPDwgMikKKworZXh0ZXJuIHN0cnVjdCByZWYgKmZpbmRfcmVmX2J5X25hbWUoY29uc3Qgc3RydWN0IHJlZiAqbGlzdCwgY29uc3QgY2hhciAqbmFtZSk7CisKIHN0cnVjdCByZWYgKmFsbG9jX3JlZihjb25zdCBjaGFyICpuYW1lKTsKIHN0cnVjdCByZWYgKmNvcHlfcmVmKGNvbnN0IHN0cnVjdCByZWYgKnJlZik7CiBzdHJ1Y3QgcmVmICpjb3B5X3JlZl9saXN0KGNvbnN0IHN0cnVjdCByZWYgKnJlZik7CiB2b2lkIHNvcnRfcmVmX2xpc3Qoc3RydWN0IHJlZiAqKiwgaW50ICgqY21wKShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKikpOworZXh0ZXJuIGludCBjb3VudF9yZWZzcGVjX21hdGNoKGNvbnN0IGNoYXIgKiwgc3RydWN0IHJlZiAqcmVmcywgc3RydWN0IHJlZiAqKm1hdGNoZWRfcmVmKTsKIGludCByZWZfY29tcGFyZV9uYW1lKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKTsKIAogaW50IGNoZWNrX3JlZl90eXBlKGNvbnN0IHN0cnVjdCByZWYgKnJlZiwgaW50IGZsYWdzKTsKQEAgLTg0LDE5ICsxMzksMzAgQEAKICAqLwogdm9pZCBmcmVlX3JlZnMoc3RydWN0IHJlZiAqcmVmKTsKIAorc3RydWN0IHNoYTFfYXJyYXk7CitleHRlcm4gc3RydWN0IHJlZiAqKmdldF9yZW1vdGVfaGVhZHMoaW50IGluLCBjaGFyICpzcmNfYnVmLCBzaXplX3Qgc3JjX2xlbiwKKwkJCQkgICAgIHN0cnVjdCByZWYgKipsaXN0LCB1bnNpZ25lZCBpbnQgZmxhZ3MsCisJCQkJICAgICBzdHJ1Y3Qgc2hhMV9hcnJheSAqZXh0cmFfaGF2ZSwKKwkJCQkgICAgIHN0cnVjdCBzaGExX2FycmF5ICpzaGFsbG93KTsKKwogaW50IHJlc29sdmVfcmVtb3RlX3N5bXJlZihzdHJ1Y3QgcmVmICpyZWYsIHN0cnVjdCByZWYgKmxpc3QpOwogaW50IHJlZl9uZXdlcihjb25zdCB1bnNpZ25lZCBjaGFyICpuZXdfc2hhMSwgY29uc3QgdW5zaWduZWQgY2hhciAqb2xkX3NoYTEpOwogCiAvKgotICogUmVtb3ZlcyBhbmQgZnJlZXMgYW55IGR1cGxpY2F0ZSByZWZzIGluIHRoZSBtYXAuCisgKiBSZW1vdmUgYW5kIGZyZWUgYWxsIGJ1dCB0aGUgZmlyc3Qgb2YgYW55IGVudHJpZXMgaW4gdGhlIGlucHV0IGxpc3QKKyAqIHRoYXQgbWFwIHRoZSBzYW1lIHJlbW90ZSByZWZlcmVuY2UgdG8gdGhlIHNhbWUgbG9jYWwgcmVmZXJlbmNlLiAgSWYKKyAqIHRoZXJlIGFyZSB0d28gZW50cmllcyB0aGF0IG1hcCBkaWZmZXJlbnQgcmVtb3RlIHJlZmVyZW5jZXMgdG8gdGhlCisgKiBzYW1lIGxvY2FsIHJlZmVyZW5jZSwgZW1pdCBhbiBlcnJvciBtZXNzYWdlIGFuZCBkaWUuICBSZXR1cm4gYQorICogcG9pbnRlciB0byB0aGUgaGVhZCBvZiB0aGUgcmVzdWx0aW5nIGxpc3QuCiAgKi8KLXZvaWQgcmVmX3JlbW92ZV9kdXBsaWNhdGVzKHN0cnVjdCByZWYgKnJlZl9tYXApOworc3RydWN0IHJlZiAqcmVmX3JlbW92ZV9kdXBsaWNhdGVzKHN0cnVjdCByZWYgKnJlZl9tYXApOwogCiBpbnQgdmFsaWRfZmV0Y2hfcmVmc3BlYyhjb25zdCBjaGFyICpyZWZzcGVjKTsKIHN0cnVjdCByZWZzcGVjICpwYXJzZV9mZXRjaF9yZWZzcGVjKGludCBucl9yZWZzcGVjLCBjb25zdCBjaGFyICoqcmVmc3BlYyk7CiAKIHZvaWQgZnJlZV9yZWZzcGVjKGludCBucl9yZWZzcGVjLCBzdHJ1Y3QgcmVmc3BlYyAqcmVmc3BlYyk7CiAKK2V4dGVybiBpbnQgcXVlcnlfcmVmc3BlY3Moc3RydWN0IHJlZnNwZWMgKnNwZWNzLCBpbnQgbnIsIHN0cnVjdCByZWZzcGVjICpxdWVyeSk7CiBjaGFyICphcHBseV9yZWZzcGVjcyhzdHJ1Y3QgcmVmc3BlYyAqcmVmc3BlY3MsIGludCBucl9yZWZzcGVjLAogCQkgICAgIGNvbnN0IGNoYXIgKm5hbWUpOwogCkBAIC0xNzIsNCArMjM4LDI3IEBACiAvKiBSZXR1cm4gcmVmcyB3aGljaCBubyBsb25nZXIgZXhpc3Qgb24gcmVtb3RlICovCiBzdHJ1Y3QgcmVmICpnZXRfc3RhbGVfaGVhZHMoc3RydWN0IHJlZnNwZWMgKnJlZnMsIGludCByZWZfY291bnQsIHN0cnVjdCByZWYgKmZldGNoX21hcCk7CiAKKy8qCisgKiBDb21wYXJlLWFuZC1zd2FwCisgKi8KKyNkZWZpbmUgQ0FTX09QVF9OQU1FICJmb3JjZS13aXRoLWxlYXNlIgorCitzdHJ1Y3QgcHVzaF9jYXNfb3B0aW9uIHsKKwl1bnNpZ25lZCB1c2VfdHJhY2tpbmdfZm9yX3Jlc3Q6MTsKKwlzdHJ1Y3QgcHVzaF9jYXMgeworCQl1bnNpZ25lZCBjaGFyIGV4cGVjdFsyMF07CisJCXVuc2lnbmVkIHVzZV90cmFja2luZzoxOworCQljaGFyICpyZWZuYW1lOworCX0gKmVudHJ5OworCWludCBucjsKKwlpbnQgYWxsb2M7Cit9OworCitleHRlcm4gaW50IHBhcnNlb3B0X3B1c2hfY2FzX29wdGlvbihjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KTsKK2V4dGVybiBpbnQgcGFyc2VfcHVzaF9jYXNfb3B0aW9uKHN0cnVjdCBwdXNoX2Nhc19vcHRpb24gKiwgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpOworZXh0ZXJuIHZvaWQgY2xlYXJfY2FzX29wdGlvbihzdHJ1Y3QgcHVzaF9jYXNfb3B0aW9uICopOworCitleHRlcm4gaW50IGlzX2VtcHR5X2Nhcyhjb25zdCBzdHJ1Y3QgcHVzaF9jYXNfb3B0aW9uICopOwordm9pZCBhcHBseV9wdXNoX2NhcyhzdHJ1Y3QgcHVzaF9jYXNfb3B0aW9uICosIHN0cnVjdCByZW1vdGUgKiwgc3RydWN0IHJlZiAqKTsKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9yZXBsYWNlX29iamVjdC5jIGIvcmVwbGFjZV9vYmplY3QuYwppbmRleCBkMGIxNTQ4Li5jZGNhZjhjIDEwMDY0NAotLS0gYS9yZXBsYWNlX29iamVjdC5jCisrKyBiL3JlcGxhY2Vfb2JqZWN0LmMKQEAgLTk3LDkgKzk3LDYgQEAKIAlpbnQgcG9zLCBkZXB0aCA9IE1BWFJFUExBQ0VERVBUSDsKIAljb25zdCB1bnNpZ25lZCBjaGFyICpjdXIgPSBzaGExOwogCi0JaWYgKCFyZWFkX3JlcGxhY2VfcmVmcykKLQkJcmV0dXJuIHNoYTE7Ci0KIAlwcmVwYXJlX3JlcGxhY2Vfb2JqZWN0KCk7CiAKIAkvKiBUcnkgdG8gcmVjdXJzaXZlbHkgcmVwbGFjZSB0aGUgb2JqZWN0ICovCmRpZmYgLS1naXQgYS9yZXJlcmUuYyBiL3JlcmVyZS5jCmluZGV4IDZmZGU4ZjkuLjFmMmQyMWEgMTAwNjQ0Ci0tLSBhL3JlcmVyZS5jCisrKyBiL3JlcmVyZS5jCkBAIC02LDYgKzYsNyBAQAogI2luY2x1ZGUgInJlc29sdmUtdW5kby5oIgogI2luY2x1ZGUgImxsLW1lcmdlLmgiCiAjaW5jbHVkZSAiYXR0ci5oIgorI2luY2x1ZGUgInBhdGhzcGVjLmgiCiAKICNkZWZpbmUgUkVTT0xWRUQgMAogI2RlZmluZSBQVU5URUQgMQpAQCAtNjU2LDcgKzY1Nyw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLWludCByZXJlcmVfZm9yZ2V0KGNvbnN0IGNoYXIgKipwYXRoc3BlYykKK2ludCByZXJlcmVfZm9yZ2V0KHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCiB7CiAJaW50IGksIGZkOwogCXN0cnVjdCBzdHJpbmdfbGlzdCBjb25mbGljdCA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwpAQCAtNjcxLDggKzY3Miw4IEBACiAJZmluZF9jb25mbGljdCgmY29uZmxpY3QpOwogCWZvciAoaSA9IDA7IGkgPCBjb25mbGljdC5ucjsgaSsrKSB7CiAJCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdCA9ICZjb25mbGljdC5pdGVtc1tpXTsKLQkJaWYgKCFtYXRjaF9wYXRoc3BlYyhwYXRoc3BlYywgaXQtPnN0cmluZywgc3RybGVuKGl0LT5zdHJpbmcpLAotCQkJCSAgICAwLCBOVUxMKSkKKwkJaWYgKCFtYXRjaF9wYXRoc3BlY19kZXB0aChwYXRoc3BlYywgaXQtPnN0cmluZywgc3RybGVuKGl0LT5zdHJpbmcpLAorCQkJCQkgIDAsIE5VTEwpKQogCQkJY29udGludWU7CiAJCXJlcmVyZV9mb3JnZXRfb25lX3BhdGgoaXQtPnN0cmluZywgJm1lcmdlX3JyKTsKIAl9CmRpZmYgLS1naXQgYS9yZXJlcmUuaCBiL3JlcmVyZS5oCmluZGV4IDE1NmQyYWEuLjRhYTA2YzkgMTAwNjQ0Ci0tLSBhL3JlcmVyZS5oCisrKyBiL3JlcmVyZS5oCkBAIC0zLDYgKzMsOCBAQAogCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKIAorc3RydWN0IHBhdGhzcGVjOworCiAjZGVmaW5lIFJFUkVSRV9BVVRPVVBEQVRFICAgMDEKICNkZWZpbmUgUkVSRVJFX05PQVVUT1VQREFURSAwMgogCkBAIC0xNiw3ICsxOCw3IEBACiBleHRlcm4gaW50IHNldHVwX3JlcmVyZShzdHJ1Y3Qgc3RyaW5nX2xpc3QgKiwgaW50KTsKIGV4dGVybiBpbnQgcmVyZXJlKGludCk7CiBleHRlcm4gY29uc3QgY2hhciAqcmVyZXJlX3BhdGgoY29uc3QgY2hhciAqaGV4LCBjb25zdCBjaGFyICpmaWxlKTsKLWV4dGVybiBpbnQgcmVyZXJlX2ZvcmdldChjb25zdCBjaGFyICoqKTsKK2V4dGVybiBpbnQgcmVyZXJlX2ZvcmdldChzdHJ1Y3QgcGF0aHNwZWMgKik7CiBleHRlcm4gaW50IHJlcmVyZV9yZW1haW5pbmcoc3RydWN0IHN0cmluZ19saXN0ICopOwogZXh0ZXJuIHZvaWQgcmVyZXJlX2NsZWFyKHN0cnVjdCBzdHJpbmdfbGlzdCAqKTsKIGV4dGVybiB2b2lkIHJlcmVyZV9nYyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKik7CmRpZmYgLS1naXQgYS9yZXNvbHZlLXVuZG8uYyBiL3Jlc29sdmUtdW5kby5jCmluZGV4IDc3MTAxZjUuLmMwOWIwMDYgMTAwNjQ0Ci0tLSBhL3Jlc29sdmUtdW5kby5jCisrKyBiL3Jlc29sdmUtdW5kby5jCkBAIC0xNzMsNyArMTczLDcgQEAKIAl9CiB9CiAKLXZvaWQgdW5tZXJnZV9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgY29uc3QgY2hhciAqKnBhdGhzcGVjKQordm9pZCB1bm1lcmdlX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewogCWludCBpOwogCkBAIC0xODIsNyArMTgyLDcgQEAKIAogCWZvciAoaSA9IDA7IGkgPCBpc3RhdGUtPmNhY2hlX25yOyBpKyspIHsKIAkJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGlzdGF0ZS0+Y2FjaGVbaV07Ci0JCWlmICghbWF0Y2hfcGF0aHNwZWMocGF0aHNwZWMsIGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSwgMCwgTlVMTCkpCisJCWlmICghbWF0Y2hfcGF0aHNwZWNfZGVwdGgocGF0aHNwZWMsIGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSwgMCwgTlVMTCkpCiAJCQljb250aW51ZTsKIAkJaSA9IHVubWVyZ2VfaW5kZXhfZW50cnlfYXQoaXN0YXRlLCBpKTsKIAl9CmRpZmYgLS1naXQgYS9yZXNvbHZlLXVuZG8uaCBiL3Jlc29sdmUtdW5kby5oCmluZGV4IDdhMzAyMDYuLjQ2MzA2NDUgMTAwNjQ0Ci0tLSBhL3Jlc29sdmUtdW5kby5oCisrKyBiL3Jlc29sdmUtdW5kby5oCkBAIC0xMSw3ICsxMSw3IEBACiBleHRlcm4gc3RydWN0IHN0cmluZ19saXN0ICpyZXNvbHZlX3VuZG9fcmVhZChjb25zdCBjaGFyICosIHVuc2lnbmVkIGxvbmcpOwogZXh0ZXJuIHZvaWQgcmVzb2x2ZV91bmRvX2NsZWFyX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqKTsKIGV4dGVybiBpbnQgdW5tZXJnZV9pbmRleF9lbnRyeV9hdChzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgaW50KTsKLWV4dGVybiB2b2lkIHVubWVyZ2VfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICosIGNvbnN0IGNoYXIgKiopOworZXh0ZXJuIHZvaWQgdW5tZXJnZV9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICopOwogZXh0ZXJuIHZvaWQgdW5tZXJnZV9tYXJrZWRfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICopOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3JldmlzaW9uLmMgYi9yZXZpc2lvbi5jCmluZGV4IGY4MmI4MzMuLmEwZGY3MmYgMTAwNjQ0Ci0tLSBhL3JldmlzaW9uLmMKKysrIGIvcmV2aXNpb24uYwpAQCAtMTA0LDE3ICsxMDQsMTIgQEAKIAlibG9iLT5vYmplY3QuZmxhZ3MgfD0gVU5JTlRFUkVTVElORzsKIH0KIAotdm9pZCBtYXJrX3RyZWVfdW5pbnRlcmVzdGluZyhzdHJ1Y3QgdHJlZSAqdHJlZSkKK3N0YXRpYyB2b2lkIG1hcmtfdHJlZV9jb250ZW50c191bmludGVyZXN0aW5nKHN0cnVjdCB0cmVlICp0cmVlKQogewogCXN0cnVjdCB0cmVlX2Rlc2MgZGVzYzsKIAlzdHJ1Y3QgbmFtZV9lbnRyeSBlbnRyeTsKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSAmdHJlZS0+b2JqZWN0OwogCi0JaWYgKCF0cmVlKQotCQlyZXR1cm47Ci0JaWYgKG9iai0+ZmxhZ3MgJiBVTklOVEVSRVNUSU5HKQotCQlyZXR1cm47Ci0Jb2JqLT5mbGFncyB8PSBVTklOVEVSRVNUSU5HOwogCWlmICghaGFzX3NoYTFfZmlsZShvYmotPnNoYTEpKQogCQlyZXR1cm47CiAJaWYgKHBhcnNlX3RyZWUodHJlZSkgPCAwKQpAQCAtMTM5LDggKzEzNCwxOSBAQAogCSAqIFdlIGRvbid0IGNhcmUgYWJvdXQgdGhlIHRyZWUgYW55IG1vcmUKIAkgKiBhZnRlciBpdCBoYXMgYmVlbiBtYXJrZWQgdW5pbnRlcmVzdGluZy4KIAkgKi8KLQlmcmVlKHRyZWUtPmJ1ZmZlcik7Ci0JdHJlZS0+YnVmZmVyID0gTlVMTDsKKwlmcmVlX3RyZWVfYnVmZmVyKHRyZWUpOworfQorCit2b2lkIG1hcmtfdHJlZV91bmludGVyZXN0aW5nKHN0cnVjdCB0cmVlICp0cmVlKQoreworCXN0cnVjdCBvYmplY3QgKm9iaiA9ICZ0cmVlLT5vYmplY3Q7CisKKwlpZiAoIXRyZWUpCisJCXJldHVybjsKKwlpZiAob2JqLT5mbGFncyAmIFVOSU5URVJFU1RJTkcpCisJCXJldHVybjsKKwlvYmotPmZsYWdzIHw9IFVOSU5URVJFU1RJTkc7CisJbWFya190cmVlX2NvbnRlbnRzX3VuaW50ZXJlc3RpbmcodHJlZSk7CiB9CiAKIHZvaWQgbWFya19wYXJlbnRzX3VuaW50ZXJlc3Rpbmcoc3RydWN0IGNvbW1pdCAqY29tbWl0KQpAQCAtMjAxLDcgKzIwNyw3IEBACiAJCXJldnMtPm5vX3dhbGsgPSAwOwogCWlmIChyZXZzLT5yZWZsb2dfaW5mbyAmJiBvYmotPnR5cGUgPT0gT0JKX0NPTU1JVCkgewogCQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCQlpbnQgbGVuID0gaW50ZXJwcmV0X2JyYW5jaF9uYW1lKG5hbWUsICZidWYpOworCQlpbnQgbGVuID0gaW50ZXJwcmV0X2JyYW5jaF9uYW1lKG5hbWUsIDAsICZidWYpOwogCQlpbnQgc3Q7CiAKIAkJaWYgKDAgPCBsZW4gJiYgbmFtZVtsZW5dICYmIGJ1Zi5sZW4pCkBAIC0yNzcsNiArMjgzLDcgQEAKIAkJCQlyZXR1cm4gTlVMTDsKIAkJCWRpZSgiYmFkIG9iamVjdCAlcyIsIHNoYTFfdG9faGV4KHRhZy0+dGFnZ2VkLT5zaGExKSk7CiAJCX0KKwkJb2JqZWN0LT5mbGFncyB8PSBmbGFnczsKIAl9CiAKIAkvKgpAQCAtMjg4LDcgKzI5NSw2IEBACiAJCWlmIChwYXJzZV9jb21taXQoY29tbWl0KSA8IDApCiAJCQlkaWUoInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiLCBuYW1lKTsKIAkJaWYgKGZsYWdzICYgVU5JTlRFUkVTVElORykgewotCQkJY29tbWl0LT5vYmplY3QuZmxhZ3MgfD0gVU5JTlRFUkVTVElORzsKIAkJCW1hcmtfcGFyZW50c191bmludGVyZXN0aW5nKGNvbW1pdCk7CiAJCQlyZXZzLT5saW1pdGVkID0gMTsKIAkJfQpAQCAtMzA2LDcgKzMxMiw3IEBACiAJCWlmICghcmV2cy0+dHJlZV9vYmplY3RzKQogCQkJcmV0dXJuIE5VTEw7CiAJCWlmIChmbGFncyAmIFVOSU5URVJFU1RJTkcpIHsKLQkJCW1hcmtfdHJlZV91bmludGVyZXN0aW5nKHRyZWUpOworCQkJbWFya190cmVlX2NvbnRlbnRzX3VuaW50ZXJlc3RpbmcodHJlZSk7CiAJCQlyZXR1cm4gTlVMTDsKIAkJfQogCQlhZGRfcGVuZGluZ19vYmplY3QocmV2cywgb2JqZWN0LCAiIik7CkBAIC0zMTcsMTMgKzMyMywxMCBAQAogCSAqIEJsb2Igb2JqZWN0PyBZb3Uga25vdyB0aGUgZHJpbGwgYnkgbm93Li4KIAkgKi8KIAlpZiAob2JqZWN0LT50eXBlID09IE9CSl9CTE9CKSB7Ci0JCXN0cnVjdCBibG9iICpibG9iID0gKHN0cnVjdCBibG9iICopb2JqZWN0OwogCQlpZiAoIXJldnMtPmJsb2Jfb2JqZWN0cykKIAkJCXJldHVybiBOVUxMOwotCQlpZiAoZmxhZ3MgJiBVTklOVEVSRVNUSU5HKSB7Ci0JCQltYXJrX2Jsb2JfdW5pbnRlcmVzdGluZyhibG9iKTsKKwkJaWYgKGZsYWdzICYgVU5JTlRFUkVTVElORykKIAkJCXJldHVybiBOVUxMOwotCQl9CiAJCWFkZF9wZW5kaW5nX29iamVjdChyZXZzLCBvYmplY3QsICIiKTsKIAkJcmV0dXJuIE5VTEw7CiAJfQpAQCAtMTE4MSwxMSArMTE4NCwyOCBAQAogCWNvbnN0IGNoYXIgKm5hbWVfZm9yX2Vycm9ybXNnOwogfTsKIAoraW50IHJlZl9leGNsdWRlZChzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnJlZl9leGNsdWRlcywgY29uc3QgY2hhciAqcGF0aCkKK3sKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKKworCWlmICghcmVmX2V4Y2x1ZGVzKQorCQlyZXR1cm4gMDsKKwlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sIHJlZl9leGNsdWRlcykgeworCQlpZiAoIWZubWF0Y2goaXRlbS0+c3RyaW5nLCBwYXRoLCAwKSkKKwkJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBoYW5kbGVfb25lX3JlZihjb25zdCBjaGFyICpwYXRoLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgZmxhZywgdm9pZCAqY2JfZGF0YSkKIHsKIAlzdHJ1Y3QgYWxsX3JlZnNfY2IgKmNiID0gY2JfZGF0YTsKLQlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3QgPSBnZXRfcmVmZXJlbmNlKGNiLT5hbGxfcmV2cywgcGF0aCwgc2hhMSwKLQkJCQkJICAgICAgY2ItPmFsbF9mbGFncyk7CisJc3RydWN0IG9iamVjdCAqb2JqZWN0OworCisJaWYgKHJlZl9leGNsdWRlZChjYi0+YWxsX3JldnMtPnJlZl9leGNsdWRlcywgcGF0aCkpCisJICAgIHJldHVybiAwOworCisJb2JqZWN0ID0gZ2V0X3JlZmVyZW5jZShjYi0+YWxsX3JldnMsIHBhdGgsIHNoYTEsIGNiLT5hbGxfZmxhZ3MpOwogCWFkZF9yZXZfY21kbGluZShjYi0+YWxsX3JldnMsIG9iamVjdCwgcGF0aCwgUkVWX0NNRF9SRUYsIGNiLT5hbGxfZmxhZ3MpOwogCWFkZF9wZW5kaW5nX3NoYTEoY2ItPmFsbF9yZXZzLCBwYXRoLCBzaGExLCBjYi0+YWxsX2ZsYWdzKTsKIAlyZXR1cm4gMDsKQEAgLTExOTgsNiArMTIxOCwyNCBAQAogCWNiLT5hbGxfZmxhZ3MgPSBmbGFnczsKIH0KIAordm9pZCBjbGVhcl9yZWZfZXhjbHVzaW9uKHN0cnVjdCBzdHJpbmdfbGlzdCAqKnJlZl9leGNsdWRlc19wKQoreworCWlmICgqcmVmX2V4Y2x1ZGVzX3ApIHsKKwkJc3RyaW5nX2xpc3RfY2xlYXIoKnJlZl9leGNsdWRlc19wLCAwKTsKKwkJZnJlZSgqcmVmX2V4Y2x1ZGVzX3ApOworCX0KKwkqcmVmX2V4Y2x1ZGVzX3AgPSBOVUxMOworfQorCit2b2lkIGFkZF9yZWZfZXhjbHVzaW9uKHN0cnVjdCBzdHJpbmdfbGlzdCAqKnJlZl9leGNsdWRlc19wLCBjb25zdCBjaGFyICpleGNsdWRlKQoreworCWlmICghKnJlZl9leGNsdWRlc19wKSB7CisJCSpyZWZfZXhjbHVkZXNfcCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCoqcmVmX2V4Y2x1ZGVzX3ApKTsKKwkJKCpyZWZfZXhjbHVkZXNfcCktPnN0cmR1cF9zdHJpbmdzID0gMTsKKwl9CisJc3RyaW5nX2xpc3RfYXBwZW5kKCpyZWZfZXhjbHVkZXNfcCwgZXhjbHVkZSk7Cit9CisKIHN0YXRpYyB2b2lkIGhhbmRsZV9yZWZzKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwgc3RydWN0IHJldl9pbmZvICpyZXZzLCB1bnNpZ25lZCBmbGFncywKIAkJaW50ICgqZm9yX2VhY2gpKGNvbnN0IGNoYXIgKiwgZWFjaF9yZWZfZm4sIHZvaWQgKikpCiB7CkBAIC0xMzczLDcgKzE0MTEsOCBAQAogCQkJaSsrOwogCX0KIAlmcmVlX3BhdGhzcGVjKCZyZXZzLT5wcnVuZV9kYXRhKTsKLQlpbml0X3BhdGhzcGVjKCZyZXZzLT5wcnVuZV9kYXRhLCBwcnVuZSk7CisJcGFyc2VfcGF0aHNwZWMoJnJldnMtPnBydW5lX2RhdGEsIFBBVEhTUEVDX0FMTF9NQUdJQyAmIH5QQVRIU1BFQ19MSVRFUkFMLAorCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0ZVTEwgfCBQQVRIU1BFQ19MSVRFUkFMX1BBVEgsICIiLCBwcnVuZSk7CiAJcmV2cy0+bGltaXRlZCA9IDE7CiB9CiAKQEAgLTE1MTksNyArMTU1OCw3IEBACiBzdGF0aWMgdm9pZCBhcHBlbmRfcHJ1bmVfZGF0YShzdHJ1Y3QgY21kbGluZV9wYXRoc3BlYyAqcHJ1bmUsIGNvbnN0IGNoYXIgKiphdikKIHsKIAl3aGlsZSAoKmF2KSB7Ci0JCUFMTE9DX0dST1cocHJ1bmUtPnBhdGgsIHBydW5lLT5ucisxLCBwcnVuZS0+YWxsb2MpOworCQlBTExPQ19HUk9XKHBydW5lLT5wYXRoLCBwcnVuZS0+bnIgKyAxLCBwcnVuZS0+YWxsb2MpOwogCQlwcnVuZS0+cGF0aFtwcnVuZS0+bnIrK10gPSAqKGF2KyspOwogCX0KIH0KQEAgLTE1MzEsNyArMTU3MCw3IEBACiAJCWludCBsZW4gPSBzYi0+bGVuOwogCQlpZiAobGVuICYmIHNiLT5idWZbbGVuIC0gMV0gPT0gJ1xuJykKIAkJCXNiLT5idWZbLS1sZW5dID0gJ1wwJzsKLQkJQUxMT0NfR1JPVyhwcnVuZS0+cGF0aCwgcHJ1bmUtPm5yKzEsIHBydW5lLT5hbGxvYyk7CisJCUFMTE9DX0dST1cocHJ1bmUtPnBhdGgsIHBydW5lLT5uciArIDEsIHBydW5lLT5hbGxvYyk7CiAJCXBydW5lLT5wYXRoW3BydW5lLT5ucisrXSA9IHhzdHJkdXAoc2ItPmJ1Zik7CiAJfQogfQpAQCAtMTU5Miw5ICsxNjMxLDkgQEAKIAkgICAgIXN0cmNtcChhcmcsICItLXRhZ3MiKSB8fCAhc3RyY21wKGFyZywgIi0tcmVtb3RlcyIpIHx8CiAJICAgICFzdHJjbXAoYXJnLCAiLS1yZWZsb2ciKSB8fCAhc3RyY21wKGFyZywgIi0tbm90IikgfHwKIAkgICAgIXN0cmNtcChhcmcsICItLW5vLXdhbGsiKSB8fCAhc3RyY21wKGFyZywgIi0tZG8td2FsayIpIHx8Ci0JICAgICFzdHJjbXAoYXJnLCAiLS1iaXNlY3QiKSB8fCAhcHJlZml4Y21wKGFyZywgIi0tZ2xvYj0iKSB8fAotCSAgICAhcHJlZml4Y21wKGFyZywgIi0tYnJhbmNoZXM9IikgfHwgIXByZWZpeGNtcChhcmcsICItLXRhZ3M9IikgfHwKLQkgICAgIXByZWZpeGNtcChhcmcsICItLXJlbW90ZXM9IikgfHwgIXByZWZpeGNtcChhcmcsICItLW5vLXdhbGs9IikpCisJICAgICFzdHJjbXAoYXJnLCAiLS1iaXNlY3QiKSB8fCBzdGFydHNfd2l0aChhcmcsICItLWdsb2I9IikgfHwKKwkgICAgc3RhcnRzX3dpdGgoYXJnLCAiLS1icmFuY2hlcz0iKSB8fCBzdGFydHNfd2l0aChhcmcsICItLXRhZ3M9IikgfHwKKwkgICAgc3RhcnRzX3dpdGgoYXJnLCAiLS1yZW1vdGVzPSIpIHx8IHN0YXJ0c193aXRoKGFyZywgIi0tbm8td2Fsaz0iKSkKIAl7CiAJCXVua3ZbKCp1bmtjKSsrXSA9IGFyZzsKIAkJcmV0dXJuIDE7CkBAIC0xNjE3LDcgKzE2NTYsNyBAQAogCQlyZXZzLT5tYXhfY291bnQgPSBhdG9pKGFyZ3ZbMV0pOwogCQlyZXZzLT5ub193YWxrID0gMDsKIAkJcmV0dXJuIDI7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKGFyZywgIi1uIikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi1uIikpIHsKIAkJcmV2cy0+bWF4X2NvdW50ID0gYXRvaShhcmcgKyAyKTsKIAkJcmV2cy0+bm9fd2FsayA9IDA7CiAJfSBlbHNlIGlmICgoYXJnY291bnQgPSBwYXJzZV9sb25nX29wdCgibWF4LWFnZSIsIGFyZ3YsICZvcHRhcmcpKSkgewpAQCAtMTY3Nyw3ICsxNzE2LDcgQEAKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1hdXRob3ItZGF0ZS1vcmRlciIpKSB7CiAJCXJldnMtPnNvcnRfb3JkZXIgPSBSRVZfU09SVF9CWV9BVVRIT1JfREFURTsKIAkJcmV2cy0+dG9wb19vcmRlciA9IDE7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKGFyZywgIi0tZWFybHktb3V0cHV0IikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tZWFybHktb3V0cHV0IikpIHsKIAkJaW50IGNvdW50ID0gMTAwOwogCQlzd2l0Y2ggKGFyZ1sxNF0pIHsKIAkJY2FzZSAnPSc6CkBAIC0xNzAyLDEzICsxNzQxLDEzIEBACiAJCXJldnMtPm1pbl9wYXJlbnRzID0gMjsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1uby1tZXJnZXMiKSkgewogCQlyZXZzLT5tYXhfcGFyZW50cyA9IDE7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKGFyZywgIi0tbWluLXBhcmVudHM9IikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tbWluLXBhcmVudHM9IikpIHsKIAkJcmV2cy0+bWluX3BhcmVudHMgPSBhdG9pKGFyZysxNCk7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKGFyZywgIi0tbm8tbWluLXBhcmVudHMiKSkgeworCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1uby1taW4tcGFyZW50cyIpKSB7CiAJCXJldnMtPm1pbl9wYXJlbnRzID0gMDsKLQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1tYXgtcGFyZW50cz0iKSkgeworCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1tYXgtcGFyZW50cz0iKSkgewogCQlyZXZzLT5tYXhfcGFyZW50cyA9IGF0b2koYXJnKzE0KTsKLQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1uby1tYXgtcGFyZW50cyIpKSB7CisJfSBlbHNlIGlmIChzdGFydHNfd2l0aChhcmcsICItLW5vLW1heC1wYXJlbnRzIikpIHsKIAkJcmV2cy0+bWF4X3BhcmVudHMgPSAtMTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1ib3VuZGFyeSIpKSB7CiAJCXJldnMtPmJvdW5kYXJ5ID0gMTsKQEAgLTE3NTgsNyArMTc5Nyw3IEBACiAJCXJldnMtPnZlcmlmeV9vYmplY3RzID0gMTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS11bnBhY2tlZCIpKSB7CiAJCXJldnMtPnVucGFja2VkID0gMTsKLQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS11bnBhY2tlZD0iKSkgeworCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS11bnBhY2tlZD0iKSkgewogCQlkaWUoIi0tdW5wYWNrZWQ9PHBhY2tmaWxlPiBubyBsb25nZXIgc3VwcG9ydGVkLiIpOwogCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItciIpKSB7CiAJCXJldnMtPmRpZmYgPSAxOwpAQCAtMTc4Myw3ICsxODIyLDcgQEAKIAkJcmV2cy0+dmVyYm9zZV9oZWFkZXIgPSAxOwogCQlyZXZzLT5wcmV0dHlfZ2l2ZW4gPSAxOwogCQlnZXRfY29tbWl0X2Zvcm1hdChhcmcrOCwgcmV2cyk7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKGFyZywgIi0tcHJldHR5PSIpIHx8ICFwcmVmaXhjbXAoYXJnLCAiLS1mb3JtYXQ9IikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tcHJldHR5PSIpIHx8IHN0YXJ0c193aXRoKGFyZywgIi0tZm9ybWF0PSIpKSB7CiAJCS8qCiAJCSAqIERldGFjaGVkIGZvcm0gKCItLXByZXR0eSBYIiBhcyBvcHBvc2VkIHRvICItLXByZXR0eT1YIikKIAkJICogbm90IGFsbG93ZWQsIHNpbmNlIHRoZSBhcmd1bWVudCBpcyBvcHRpb25hbC4KQEAgLTE3OTcsMTIgKzE4MzYsMTIgQEAKIAkJcmV2cy0+bm90ZXNfb3B0LnVzZV9kZWZhdWx0X25vdGVzID0gMTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1zaG93LXNpZ25hdHVyZSIpKSB7CiAJCXJldnMtPnNob3dfc2lnbmF0dXJlID0gMTsKLQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAoYXJnLCAiLS1zaG93LW5vdGVzPSIpIHx8Ci0JCSAgICFwcmVmaXhjbXAoYXJnLCAiLS1ub3Rlcz0iKSkgeworCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1zaG93LW5vdGVzPSIpIHx8CisJCSAgIHN0YXJ0c193aXRoKGFyZywgIi0tbm90ZXM9IikpIHsKIAkJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAkJcmV2cy0+c2hvd19ub3RlcyA9IDE7CiAJCXJldnMtPnNob3dfbm90ZXNfZ2l2ZW4gPSAxOwotCQlpZiAoIXByZWZpeGNtcChhcmcsICItLXNob3ctbm90ZXMiKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1zaG93LW5vdGVzIikpIHsKIAkJCWlmIChyZXZzLT5ub3Rlc19vcHQudXNlX2RlZmF1bHRfbm90ZXMgPCAwKQogCQkJCXJldnMtPm5vdGVzX29wdC51c2VfZGVmYXVsdF9ub3RlcyA9IDE7CiAJCQlzdHJidWZfYWRkc3RyKCZidWYsIGFyZysxMyk7CkBAIC0xODQ1LDcgKzE4ODQsNyBAQAogCQlyZXZzLT5hYmJyZXYgPSAwOwogCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLWFiYnJldiIpKSB7CiAJCXJldnMtPmFiYnJldiA9IERFRkFVTFRfQUJCUkVWOwotCX0gZWxzZSBpZiAoIXByZWZpeGNtcChhcmcsICItLWFiYnJldj0iKSkgeworCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1hYmJyZXY9IikpIHsKIAkJcmV2cy0+YWJicmV2ID0gc3RydG91bChhcmcgKyA5LCBOVUxMLCAxMCk7CiAJCWlmIChyZXZzLT5hYmJyZXYgPCBNSU5JTVVNX0FCQlJFVikKIAkJCXJldnMtPmFiYnJldiA9IE1JTklNVU1fQUJCUkVWOwpAQCAtMTk2OSw0MCArMjAwOCw1MSBAQAogCWlmICghc3RyY21wKGFyZywgIi0tYWxsIikpIHsKIAkJaGFuZGxlX3JlZnMoc3VibW9kdWxlLCByZXZzLCAqZmxhZ3MsIGZvcl9lYWNoX3JlZl9zdWJtb2R1bGUpOwogCQloYW5kbGVfcmVmcyhzdWJtb2R1bGUsIHJldnMsICpmbGFncywgaGVhZF9yZWZfc3VibW9kdWxlKTsKKwkJY2xlYXJfcmVmX2V4Y2x1c2lvbigmcmV2cy0+cmVmX2V4Y2x1ZGVzKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1icmFuY2hlcyIpKSB7CiAJCWhhbmRsZV9yZWZzKHN1Ym1vZHVsZSwgcmV2cywgKmZsYWdzLCBmb3JfZWFjaF9icmFuY2hfcmVmX3N1Ym1vZHVsZSk7CisJCWNsZWFyX3JlZl9leGNsdXNpb24oJnJldnMtPnJlZl9leGNsdWRlcyk7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tYmlzZWN0IikpIHsKIAkJaGFuZGxlX3JlZnMoc3VibW9kdWxlLCByZXZzLCAqZmxhZ3MsIGZvcl9lYWNoX2JhZF9iaXNlY3RfcmVmKTsKIAkJaGFuZGxlX3JlZnMoc3VibW9kdWxlLCByZXZzLCAqZmxhZ3MgXiAoVU5JTlRFUkVTVElORyB8IEJPVFRPTSksIGZvcl9lYWNoX2dvb2RfYmlzZWN0X3JlZik7CiAJCXJldnMtPmJpc2VjdCA9IDE7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tdGFncyIpKSB7CiAJCWhhbmRsZV9yZWZzKHN1Ym1vZHVsZSwgcmV2cywgKmZsYWdzLCBmb3JfZWFjaF90YWdfcmVmX3N1Ym1vZHVsZSk7CisJCWNsZWFyX3JlZl9leGNsdXNpb24oJnJldnMtPnJlZl9leGNsdWRlcyk7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tcmVtb3RlcyIpKSB7CiAJCWhhbmRsZV9yZWZzKHN1Ym1vZHVsZSwgcmV2cywgKmZsYWdzLCBmb3JfZWFjaF9yZW1vdGVfcmVmX3N1Ym1vZHVsZSk7CisJCWNsZWFyX3JlZl9leGNsdXNpb24oJnJldnMtPnJlZl9leGNsdWRlcyk7CiAJfSBlbHNlIGlmICgoYXJnY291bnQgPSBwYXJzZV9sb25nX29wdCgiZ2xvYiIsIGFyZ3YsICZvcHRhcmcpKSkgewogCQlzdHJ1Y3QgYWxsX3JlZnNfY2IgY2I7CiAJCWluaXRfYWxsX3JlZnNfY2IoJmNiLCByZXZzLCAqZmxhZ3MpOwogCQlmb3JfZWFjaF9nbG9iX3JlZihoYW5kbGVfb25lX3JlZiwgb3B0YXJnLCAmY2IpOworCQljbGVhcl9yZWZfZXhjbHVzaW9uKCZyZXZzLT5yZWZfZXhjbHVkZXMpOwogCQlyZXR1cm4gYXJnY291bnQ7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKGFyZywgIi0tYnJhbmNoZXM9IikpIHsKKwl9IGVsc2UgaWYgKChhcmdjb3VudCA9IHBhcnNlX2xvbmdfb3B0KCJleGNsdWRlIiwgYXJndiwgJm9wdGFyZykpKSB7CisJCWFkZF9yZWZfZXhjbHVzaW9uKCZyZXZzLT5yZWZfZXhjbHVkZXMsIG9wdGFyZyk7CisJCXJldHVybiBhcmdjb3VudDsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tYnJhbmNoZXM9IikpIHsKIAkJc3RydWN0IGFsbF9yZWZzX2NiIGNiOwogCQlpbml0X2FsbF9yZWZzX2NiKCZjYiwgcmV2cywgKmZsYWdzKTsKIAkJZm9yX2VhY2hfZ2xvYl9yZWZfaW4oaGFuZGxlX29uZV9yZWYsIGFyZyArIDExLCAicmVmcy9oZWFkcy8iLCAmY2IpOwotCX0gZWxzZSBpZiAoIXByZWZpeGNtcChhcmcsICItLXRhZ3M9IikpIHsKKwkJY2xlYXJfcmVmX2V4Y2x1c2lvbigmcmV2cy0+cmVmX2V4Y2x1ZGVzKTsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tdGFncz0iKSkgewogCQlzdHJ1Y3QgYWxsX3JlZnNfY2IgY2I7CiAJCWluaXRfYWxsX3JlZnNfY2IoJmNiLCByZXZzLCAqZmxhZ3MpOwogCQlmb3JfZWFjaF9nbG9iX3JlZl9pbihoYW5kbGVfb25lX3JlZiwgYXJnICsgNywgInJlZnMvdGFncy8iLCAmY2IpOwotCX0gZWxzZSBpZiAoIXByZWZpeGNtcChhcmcsICItLXJlbW90ZXM9IikpIHsKKwkJY2xlYXJfcmVmX2V4Y2x1c2lvbigmcmV2cy0+cmVmX2V4Y2x1ZGVzKTsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tcmVtb3Rlcz0iKSkgewogCQlzdHJ1Y3QgYWxsX3JlZnNfY2IgY2I7CiAJCWluaXRfYWxsX3JlZnNfY2IoJmNiLCByZXZzLCAqZmxhZ3MpOwogCQlmb3JfZWFjaF9nbG9iX3JlZl9pbihoYW5kbGVfb25lX3JlZiwgYXJnICsgMTAsICJyZWZzL3JlbW90ZXMvIiwgJmNiKTsKKwkJY2xlYXJfcmVmX2V4Y2x1c2lvbigmcmV2cy0+cmVmX2V4Y2x1ZGVzKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1yZWZsb2ciKSkgewogCQloYW5kbGVfcmVmbG9nKHJldnMsICpmbGFncyk7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tbm90IikpIHsKIAkJKmZsYWdzIF49IFVOSU5URVJFU1RJTkcgfCBCT1RUT007CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tbm8td2FsayIpKSB7CiAJCXJldnMtPm5vX3dhbGsgPSBSRVZJU0lPTl9XQUxLX05PX1dBTEtfU09SVEVEOwotCX0gZWxzZSBpZiAoIXByZWZpeGNtcChhcmcsICItLW5vLXdhbGs9IikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tbm8td2Fsaz0iKSkgewogCQkvKgogCQkgKiBEZXRhY2hlZCBmb3JtICgiLS1uby13YWxrIFgiIGFzIG9wcG9zZWQgdG8gIi0tbm8td2Fsaz1YIikKIAkJICogbm90IGFsbG93ZWQsIHNpbmNlIHRoZSBhcmd1bWVudCBpcyBvcHRpb25hbC4KQEAgLTIxMzQsMTAgKzIxODQsMTAgQEAKIAkJICoJY2FsbCBpbml0X3BhdGhzcGVjKCkgdG8gc2V0IHJldnMtPnBydW5lX2RhdGEgaGVyZS4KIAkJICogfQogCQkgKi8KLQkJQUxMT0NfR1JPVyhwcnVuZV9kYXRhLnBhdGgsIHBydW5lX2RhdGEubnIrMSwgcHJ1bmVfZGF0YS5hbGxvYyk7CisJCUFMTE9DX0dST1cocHJ1bmVfZGF0YS5wYXRoLCBwcnVuZV9kYXRhLm5yICsgMSwgcHJ1bmVfZGF0YS5hbGxvYyk7CiAJCXBydW5lX2RhdGEucGF0aFtwcnVuZV9kYXRhLm5yKytdID0gTlVMTDsKLQkJaW5pdF9wYXRoc3BlYygmcmV2cy0+cHJ1bmVfZGF0YSwKLQkJCSAgICAgIGdldF9wYXRoc3BlYyhyZXZzLT5wcmVmaXgsIHBydW5lX2RhdGEucGF0aCkpOworCQlwYXJzZV9wYXRoc3BlYygmcmV2cy0+cHJ1bmVfZGF0YSwgMCwgMCwKKwkJCSAgICAgICByZXZzLT5wcmVmaXgsIHBydW5lX2RhdGEucGF0aCk7CiAJfQogCiAJaWYgKHJldnMtPmRlZiA9PSBOVUxMKQpAQCAtMjE3MCwxMiArMjIyMCwxMyBAQAogCQlyZXZzLT5saW1pdGVkID0gMTsKIAogCWlmIChyZXZzLT5wcnVuZV9kYXRhLm5yKSB7Ci0JCWRpZmZfdHJlZV9zZXR1cF9wYXRocyhyZXZzLT5wcnVuZV9kYXRhLnJhdywgJnJldnMtPnBydW5pbmcpOworCQljb3B5X3BhdGhzcGVjKCZyZXZzLT5wcnVuaW5nLnBhdGhzcGVjLCAmcmV2cy0+cHJ1bmVfZGF0YSk7CiAJCS8qIENhbid0IHBydW5lIGNvbW1pdHMgd2l0aCByZW5hbWUgZm9sbG93aW5nOiB0aGUgcGF0aHMgY2hhbmdlLi4gKi8KIAkJaWYgKCFESUZGX09QVF9UU1QoJnJldnMtPmRpZmZvcHQsIEZPTExPV19SRU5BTUVTKSkKIAkJCXJldnMtPnBydW5lID0gMTsKIAkJaWYgKCFyZXZzLT5mdWxsX2RpZmYpCi0JCQlkaWZmX3RyZWVfc2V0dXBfcGF0aHMocmV2cy0+cHJ1bmVfZGF0YS5yYXcsICZyZXZzLT5kaWZmb3B0KTsKKwkJCWNvcHlfcGF0aHNwZWMoJnJldnMtPmRpZmZvcHQucGF0aHNwZWMsCisJCQkJICAgICAgJnJldnMtPnBydW5lX2RhdGEpOwogCX0KIAlpZiAocmV2cy0+Y29tYmluZV9tZXJnZXMpCiAJCXJldnMtPmlnbm9yZV9tZXJnZXMgPSAwOwpAQCAtMjk4Niw3ICszMDM3LDcgQEAKIAlpZiAocmV2cy0+bWF4X2NvdW50KSB7CiAJCWMgPSBnZXRfcmV2aXNpb25fMShyZXZzKTsKIAkJaWYgKGMpIHsKLQkJCXdoaWxlICgwIDwgcmV2cy0+c2tpcF9jb3VudCkgeworCQkJd2hpbGUgKHJldnMtPnNraXBfY291bnQgPiAwKSB7CiAJCQkJcmV2cy0+c2tpcF9jb3VudC0tOwogCQkJCWMgPSBnZXRfcmV2aXNpb25fMShyZXZzKTsKIAkJCQlpZiAoIWMpCkBAIC0zMDAxLDkgKzMwNTIsOCBAQAogCWlmIChjKQogCQljLT5vYmplY3QuZmxhZ3MgfD0gU0hPV047CiAKLQlpZiAoIXJldnMtPmJvdW5kYXJ5KSB7CisJaWYgKCFyZXZzLT5ib3VuZGFyeSkKIAkJcmV0dXJuIGM7Ci0JfQogCiAJaWYgKCFjKSB7CiAJCS8qCkBAIC0zMDQ5LDkgKzMwOTksOCBAQAogCiAJaWYgKHJldnMtPnJldmVyc2UpIHsKIAkJcmV2ZXJzZWQgPSBOVUxMOwotCQl3aGlsZSAoKGMgPSBnZXRfcmV2aXNpb25faW50ZXJuYWwocmV2cykpKSB7CisJCXdoaWxlICgoYyA9IGdldF9yZXZpc2lvbl9pbnRlcm5hbChyZXZzKSkpCiAJCQljb21taXRfbGlzdF9pbnNlcnQoYywgJnJldmVyc2VkKTsKLQkJfQogCQlyZXZzLT5jb21taXRzID0gcmV2ZXJzZWQ7CiAJCXJldnMtPnJldmVyc2UgPSAwOwogCQlyZXZzLT5yZXZlcnNlX291dHB1dF9zdGFnZSA9IDE7CmRpZmYgLS1naXQgYS9yZXZpc2lvbi5oIGIvcmV2aXNpb24uaAppbmRleCBlN2YxZDIxLi44ODk2N2Q2IDEwMDY0NAotLS0gYS9yZXZpc2lvbi5oCisrKyBiL3JldmlzaW9uLmgKQEAgLTUsNiArNSw3IEBACiAjaW5jbHVkZSAiZ3JlcC5oIgogI2luY2x1ZGUgIm5vdGVzLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCisjaW5jbHVkZSAiZGlmZi5oIgogCiAjZGVmaW5lIFNFRU4JCSgxdTw8MCkKICNkZWZpbmUgVU5JTlRFUkVTVElORyAgICgxdTw8MSkKQEAgLTYwLDYgKzYxLDkgQEAKIAkvKiBUaGUgZW5kLXBvaW50cyBzcGVjaWZpZWQgYnkgdGhlIGVuZCB1c2VyICovCiAJc3RydWN0IHJldl9jbWRsaW5lX2luZm8gY21kbGluZTsKIAorCS8qIGV4Y2x1ZGluZyBmcm9tIC0tYnJhbmNoZXMsIC0tcmVmcywgZXRjLiBleHBhbnNpb24gKi8KKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnJlZl9leGNsdWRlczsKKwogCS8qIEJhc2ljIGluZm9ybWF0aW9uICovCiAJY29uc3QgY2hhciAqcHJlZml4OwogCWNvbnN0IGNoYXIgKmRlZjsKQEAgLTE5Myw2ICsxOTcsMTEgQEAKIAlzdHJ1Y3Qgc2F2ZWRfcGFyZW50cyAqc2F2ZWRfcGFyZW50c19zbGFiOwogfTsKIAorZXh0ZXJuIGludCByZWZfZXhjbHVkZWQoc3RydWN0IHN0cmluZ19saXN0ICosIGNvbnN0IGNoYXIgKnBhdGgpOwordm9pZCBjbGVhcl9yZWZfZXhjbHVzaW9uKHN0cnVjdCBzdHJpbmdfbGlzdCAqKik7Cit2b2lkIGFkZF9yZWZfZXhjbHVzaW9uKHN0cnVjdCBzdHJpbmdfbGlzdCAqKiwgY29uc3QgY2hhciAqZXhjbHVkZSk7CisKKwogI2RlZmluZSBSRVZfVFJFRV9TQU1FCQkwCiAjZGVmaW5lIFJFVl9UUkVFX05FVwkJMQkvKiBPbmx5IG5ldyBmaWxlcyAqLwogI2RlZmluZSBSRVZfVFJFRV9PTEQJCTIJLyogT25seSBmaWxlcyByZW1vdmVkICovCmRpZmYgLS1naXQgYS9ydW4tY29tbWFuZC5jIGIvcnVuLWNvbW1hbmQuYwppbmRleCAxYjdmODhlLi4zOTE0ZDljIDEwMDY0NAotLS0gYS9ydW4tY29tbWFuZC5jCisrKyBiL3J1bi1jb21tYW5kLmMKQEAgLTQwNiwxMyArNDA2LDEyIEBACiAJCQkJCXVuc2V0ZW52KCpjbWQtPmVudik7CiAJCQl9CiAJCX0KLQkJaWYgKGNtZC0+Z2l0X2NtZCkgeworCQlpZiAoY21kLT5naXRfY21kKQogCQkJZXhlY3ZfZ2l0X2NtZChjbWQtPmFyZ3YpOwotCQl9IGVsc2UgaWYgKGNtZC0+dXNlX3NoZWxsKSB7CisJCWVsc2UgaWYgKGNtZC0+dXNlX3NoZWxsKQogCQkJZXhlY3Zfc2hlbGxfY21kKGNtZC0+YXJndik7Ci0JCX0gZWxzZSB7CisJCWVsc2UKIAkJCXNhbmVfZXhlY3ZwKGNtZC0+YXJndlswXSwgKGNoYXIgKmNvbnN0KikgY21kLT5hcmd2KTsKLQkJfQogCQlpZiAoZXJybm8gPT0gRU5PRU5UKSB7CiAJCQlpZiAoIWNtZC0+c2lsZW50X2V4ZWNfZmFpbHVyZSkKIAkJCQllcnJvcigiY2Fubm90IHJ1biAlczogJXMiLCBjbWQtPmFyZ3ZbMF0sCkBAIC00NDYsNyArNDQ1LDYgQEAKIAkJY21kLT5waWQgPSAtMTsKIAl9CiAJY2xvc2Uobm90aWZ5X3BpcGVbMF0pOwotCiB9CiAjZWxzZQogewpAQCAtNDgwLDExICs0NzgsMTAgQEAKIAlpZiAoY21kLT5lbnYpCiAJCWVudiA9IG1ha2VfYXVnbWVudGVkX2Vudmlyb24oY21kLT5lbnYpOwogCi0JaWYgKGNtZC0+Z2l0X2NtZCkgeworCWlmIChjbWQtPmdpdF9jbWQpCiAJCWNtZC0+YXJndiA9IHByZXBhcmVfZ2l0X2NtZChjbWQtPmFyZ3YpOwotCX0gZWxzZSBpZiAoY21kLT51c2Vfc2hlbGwpIHsKKwllbHNlIGlmIChjbWQtPnVzZV9zaGVsbCkKIAkJY21kLT5hcmd2ID0gcHJlcGFyZV9zaGVsbF9jbWQoY21kLT5hcmd2KTsKLQl9CiAKIAljbWQtPnBpZCA9IG1pbmd3X3NwYXdudnBlKGNtZC0+YXJndlswXSwgY21kLT5hcmd2LCBlbnYsIGNtZC0+ZGlyLAogCQkJCSAgZmhpbiwgZmhvdXQsIGZoZXJyKTsKZGlmZiAtLWdpdCBhL3NlbmQtcGFjay5jIGIvc2VuZC1wYWNrLmMKaW5kZXggN2QxNzJlZi4uNjEyOWIwZiAxMDA2NDQKLS0tIGEvc2VuZC1wYWNrLmMKKysrIGIvc2VuZC1wYWNrLmMKQEAgLTUsMTAgKzUsMTIgQEAKICNpbmNsdWRlICJzaWRlYmFuZC5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAjaW5jbHVkZSAicmVtb3RlLmgiCisjaW5jbHVkZSAiY29ubmVjdC5oIgogI2luY2x1ZGUgInNlbmQtcGFjay5oIgogI2luY2x1ZGUgInF1b3RlLmgiCiAjaW5jbHVkZSAidHJhbnNwb3J0LmgiCiAjaW5jbHVkZSAidmVyc2lvbi5oIgorI2luY2x1ZGUgInNoYTEtYXJyYXkuaCIKIAogc3RhdGljIGludCBmZWVkX29iamVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgZmQsIGludCBuZWdhdGl2ZSkKIHsKQEAgLTI3LDcgKzI5LDcgQEAKIC8qCiAgKiBNYWtlIGEgcGFjayBzdHJlYW0gYW5kIHNwaXQgaXQgb3V0IGludG8gZmlsZSBkZXNjcmlwdG9yIGZkCiAgKi8KLXN0YXRpYyBpbnQgcGFja19vYmplY3RzKGludCBmZCwgc3RydWN0IHJlZiAqcmVmcywgc3RydWN0IGV4dHJhX2hhdmVfb2JqZWN0cyAqZXh0cmEsIHN0cnVjdCBzZW5kX3BhY2tfYXJncyAqYXJncykKK3N0YXRpYyBpbnQgcGFja19vYmplY3RzKGludCBmZCwgc3RydWN0IHJlZiAqcmVmcywgc3RydWN0IHNoYTFfYXJyYXkgKmV4dHJhLCBzdHJ1Y3Qgc2VuZF9wYWNrX2FyZ3MgKmFyZ3MpCiB7CiAJLyoKIAkgKiBUaGUgY2hpbGQgYmVjb21lcyBwYWNrLW9iamVjdHMgLS1yZXZzOyB3ZSBmZWVkCkBAIC03MCw3ICs3Miw3IEBACiAJICogcGFyYW1ldGVycyBieSB3cml0aW5nIHRvIHRoZSBwaXBlLgogCSAqLwogCWZvciAoaSA9IDA7IGkgPCBleHRyYS0+bnI7IGkrKykKLQkJaWYgKCFmZWVkX29iamVjdChleHRyYS0+YXJyYXlbaV0sIHBvLmluLCAxKSkKKwkJaWYgKCFmZWVkX29iamVjdChleHRyYS0+c2hhMVtpXSwgcG8uaW4sIDEpKQogCQkJYnJlYWs7CiAKIAl3aGlsZSAocmVmcykgewpAQCAtMTA4LDcgKzExMCw3IEBACiAJc3RydWN0IHJlZiAqaGludDsKIAlpbnQgcmV0ID0gMDsKIAljaGFyICpsaW5lID0gcGFja2V0X3JlYWRfbGluZShpbiwgTlVMTCk7Ci0JaWYgKHByZWZpeGNtcChsaW5lLCAidW5wYWNrICIpKQorCWlmICghc3RhcnRzX3dpdGgobGluZSwgInVucGFjayAiKSkKIAkJcmV0dXJuIGVycm9yKCJkaWQgbm90IHJlY2VpdmUgcmVtb3RlIHN0YXR1cyIpOwogCWlmIChzdHJjbXAobGluZSwgInVucGFjayBvayIpKSB7CiAJCWVycm9yKCJ1bnBhY2sgZmFpbGVkOiAlcyIsIGxpbmUgKyA3KTsKQEAgLTEyMSw3ICsxMjMsNyBAQAogCQlsaW5lID0gcGFja2V0X3JlYWRfbGluZShpbiwgTlVMTCk7CiAJCWlmICghbGluZSkKIAkJCWJyZWFrOwotCQlpZiAocHJlZml4Y21wKGxpbmUsICJvayAiKSAmJiBwcmVmaXhjbXAobGluZSwgIm5nICIpKSB7CisJCWlmICghc3RhcnRzX3dpdGgobGluZSwgIm9rICIpICYmICFzdGFydHNfd2l0aChsaW5lLCAibmcgIikpIHsKIAkJCWVycm9yKCJpbnZhbGlkIHJlZiBzdGF0dXMgZnJvbSByZW1vdGU6ICVzIiwgbGluZSk7CiAJCQlyZXQgPSAtMTsKIAkJCWJyZWFrOwpAQCAtMTczLDEwICsxNzUsMjUgQEAKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgaW50IGFkdmVydGlzZV9zaGFsbG93X2dyYWZ0c19jYihjb25zdCBzdHJ1Y3QgY29tbWl0X2dyYWZ0ICpncmFmdCwgdm9pZCAqY2IpCit7CisJc3RydWN0IHN0cmJ1ZiAqc2IgPSBjYjsKKwlpZiAoZ3JhZnQtPm5yX3BhcmVudCA9PSAtMSkKKwkJcGFja2V0X2J1Zl93cml0ZShzYiwgInNoYWxsb3cgJXNcbiIsIHNoYTFfdG9faGV4KGdyYWZ0LT5zaGExKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGFkdmVydGlzZV9zaGFsbG93X2dyYWZ0c19idWYoc3RydWN0IHN0cmJ1ZiAqc2IpCit7CisJaWYgKCFpc19yZXBvc2l0b3J5X3NoYWxsb3coKSkKKwkJcmV0dXJuOworCWZvcl9lYWNoX2NvbW1pdF9ncmFmdChhZHZlcnRpc2Vfc2hhbGxvd19ncmFmdHNfY2IsIHNiKTsKK30KKwogaW50IHNlbmRfcGFjayhzdHJ1Y3Qgc2VuZF9wYWNrX2FyZ3MgKmFyZ3MsCiAJICAgICAgaW50IGZkW10sIHN0cnVjdCBjaGlsZF9wcm9jZXNzICpjb25uLAogCSAgICAgIHN0cnVjdCByZWYgKnJlbW90ZV9yZWZzLAotCSAgICAgIHN0cnVjdCBleHRyYV9oYXZlX29iamVjdHMgKmV4dHJhX2hhdmUpCisJICAgICAgc3RydWN0IHNoYTFfYXJyYXkgKmV4dHJhX2hhdmUpCiB7CiAJaW50IGluID0gZmRbMF07CiAJaW50IG91dCA9IGZkWzFdOwpAQCAtMjA1LDYgKzIyMiw4IEBACiAJCXF1aWV0X3N1cHBvcnRlZCA9IDE7CiAJaWYgKHNlcnZlcl9zdXBwb3J0cygiYWdlbnQiKSkKIAkJYWdlbnRfc3VwcG9ydGVkID0gMTsKKwlpZiAoc2VydmVyX3N1cHBvcnRzKCJuby10aGluIikpCisJCWFyZ3MtPnVzZV90aGluX3BhY2sgPSAwOwogCiAJaWYgKCFyZW1vdGVfcmVmcykgewogCQlmcHJpbnRmKHN0ZGVyciwgIk5vIHJlZnMgaW4gY29tbW9uIGFuZCBub25lIHNwZWNpZmllZDsgZG9pbmcgbm90aGluZy5cbiIKQEAgLTIxMiw2ICsyMzEsOSBAQAogCQlyZXR1cm4gMDsKIAl9CiAKKwlpZiAoIWFyZ3MtPmRyeV9ydW4pCisJCWFkdmVydGlzZV9zaGFsbG93X2dyYWZ0c19idWYoJnJlcV9idWYpOworCiAJLyoKIAkgKiBGaW5hbGx5LCB0ZWxsIHRoZSBvdGhlciBlbmQhCiAJICovCkBAIC0yMjYsNiArMjQ4LDcgQEAKIAkJY2FzZSBSRUZfU1RBVFVTX1JFSkVDVF9BTFJFQURZX0VYSVNUUzoKIAkJY2FzZSBSRUZfU1RBVFVTX1JFSkVDVF9GRVRDSF9GSVJTVDoKIAkJY2FzZSBSRUZfU1RBVFVTX1JFSkVDVF9ORUVEU19GT1JDRToKKwkJY2FzZSBSRUZfU1RBVFVTX1JFSkVDVF9TVEFMRToKIAkJY2FzZSBSRUZfU1RBVFVTX1VQVE9EQVRFOgogCQkJY29udGludWU7CiAJCWRlZmF1bHQ6CkBAIC0yNzAsNyArMjkzLDcgQEAKIAl9CiAKIAlpZiAoYXJncy0+c3RhdGVsZXNzX3JwYykgewotCQlpZiAoIWFyZ3MtPmRyeV9ydW4gJiYgY21kc19zZW50KSB7CisJCWlmICghYXJncy0+ZHJ5X3J1biAmJiAoY21kc19zZW50IHx8IGlzX3JlcG9zaXRvcnlfc2hhbGxvdygpKSkgewogCQkJcGFja2V0X2J1Zl9mbHVzaCgmcmVxX2J1Zik7CiAJCQlzZW5kX3NpZGViYW5kKG91dCwgLTEsIHJlcV9idWYuYnVmLCByZXFfYnVmLmxlbiwgTEFSR0VfUEFDS0VUX01BWCk7CiAJCX0KQEAgLTMwMCw4ICszMjMsMTIgQEAKIAkJCQlzaHV0ZG93bihmZFswXSwgU0hVVF9XUik7CiAJCQlpZiAodXNlX3NpZGViYW5kKQogCQkJCWZpbmlzaF9hc3luYygmZGVtdXgpOworCQkJZmRbMV0gPSAtMTsKIAkJCXJldHVybiAtMTsKIAkJfQorCQlpZiAoIWFyZ3MtPnN0YXRlbGVzc19ycGMpCisJCQkvKiBDbG9zZWQgYnkgcGFja19vYmplY3RzKCkgdmlhIHN0YXJ0X2NvbW1hbmQoKSAqLworCQkJZmRbMV0gPSAtMTsKIAl9CiAJaWYgKGFyZ3MtPnN0YXRlbGVzc19ycGMgJiYgY21kc19zZW50KQogCQlwYWNrZXRfZmx1c2gob3V0KTsKZGlmZiAtLWdpdCBhL3NlbmQtcGFjay5oIGIvc2VuZC1wYWNrLmgKaW5kZXggMDVkN2FiMS4uOGU4NDM5MiAxMDA2NDQKLS0tIGEvc2VuZC1wYWNrLmgKKysrIGIvc2VuZC1wYWNrLmgKQEAgLTE2LDYgKzE2LDYgQEAKIAogaW50IHNlbmRfcGFjayhzdHJ1Y3Qgc2VuZF9wYWNrX2FyZ3MgKmFyZ3MsCiAJICAgICAgaW50IGZkW10sIHN0cnVjdCBjaGlsZF9wcm9jZXNzICpjb25uLAotCSAgICAgIHN0cnVjdCByZWYgKnJlbW90ZV9yZWZzLCBzdHJ1Y3QgZXh0cmFfaGF2ZV9vYmplY3RzICpleHRyYV9oYXZlKTsKKwkgICAgICBzdHJ1Y3QgcmVmICpyZW1vdGVfcmVmcywgc3RydWN0IHNoYTFfYXJyYXkgKmV4dHJhX2hhdmUpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NlcXVlbmNlci5jIGIvc2VxdWVuY2VyLmMKaW5kZXggMzUxNTQ4Zi4uOTBjYWM3YiAxMDA2NDQKLS0tIGEvc2VxdWVuY2VyLmMKKysrIGIvc2VxdWVuY2VyLmMKQEAgLTQxLDcgKzQxLDcgQEAKIAkgKiBXZSBvbmx5IGNhcmUgdGhhdCBpdCBsb29rcyByb3VnaGx5IGxpa2UgKGNoZXJyeSBwaWNrZWQgZnJvbSAuLi4pCiAJICovCiAJcmV0dXJuIGxlbiA+IHN0cmxlbihjaGVycnlfcGlja2VkX3ByZWZpeCkgKyAxICYmCi0JCSFwcmVmaXhjbXAoYnVmLCBjaGVycnlfcGlja2VkX3ByZWZpeCkgJiYgYnVmW2xlbiAtIDFdID09ICcpJzsKKwkJc3RhcnRzX3dpdGgoYnVmLCBjaGVycnlfcGlja2VkX3ByZWZpeCkgJiYgYnVmW2xlbiAtIDFdID09ICcpJzsKIH0KIAogLyoKQEAgLTE4MCw3ICsxODAsNyBAQAogCXdoaWxlICgqcCAmJiAqcCAhPSAnXG4nKSB7CiAJCWZvciAoZW9sID0gcCArIDE7ICplb2wgJiYgKmVvbCAhPSAnXG4nOyBlb2wrKykKIAkJCTsgLyogZG8gbm90aGluZyAqLwotCQlpZiAoIXByZWZpeGNtcChwLCAiZW5jb2RpbmcgIikpIHsKKwkJaWYgKHN0YXJ0c193aXRoKHAsICJlbmNvZGluZyAiKSkgewogCQkJY2hhciAqcmVzdWx0ID0geG1hbGxvYyhlb2wgLSA4IC0gcCk7CiAJCQlzdHJsY3B5KHJlc3VsdCwgcCArIDksIGVvbCAtIDggLSBwKTsKIAkJCXJldHVybiByZXN1bHQ7CkBAIC0yNzksNyArMjc5LDggQEAKIAlyZWFkX2NhY2hlKCk7CiAJaWYgKGNoZWNrb3V0X2Zhc3RfZm9yd2FyZChmcm9tLCB0bywgMSkpCiAJCWV4aXQoMSk7IC8qIHRoZSBjYWxsZWUgc2hvdWxkIGhhdmUgY29tcGxhaW5lZCBhbHJlYWR5ICovCi0JcmVmX2xvY2sgPSBsb2NrX2FueV9yZWZfZm9yX3VwZGF0ZSgiSEVBRCIsIHVuYm9ybiA/IG51bGxfc2hhMSA6IGZyb20sIDApOworCXJlZl9sb2NrID0gbG9ja19hbnlfcmVmX2Zvcl91cGRhdGUoIkhFQUQiLCB1bmJvcm4gPyBudWxsX3NoYTEgOiBmcm9tLAorCQkJCQkgICAwLCBOVUxMKTsKIAlzdHJidWZfYWRkZigmc2IsICIlczogZmFzdC1mb3J3YXJkIiwgYWN0aW9uX25hbWUob3B0cykpOwogCXJldCA9IHdyaXRlX3JlZl9zaGExKHJlZl9sb2NrLCB0bywgc2IuYnVmKTsKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwpAQCAtNzA0LDEwICs3MDUsMTAgQEAKIAljaGFyICplbmRfb2Zfb2JqZWN0X25hbWU7CiAJaW50IHNhdmVkLCBzdGF0dXMsIHBhZGRpbmc7CiAKLQlpZiAoIXByZWZpeGNtcChib2wsICJwaWNrIikpIHsKKwlpZiAoc3RhcnRzX3dpdGgoYm9sLCAicGljayIpKSB7CiAJCWFjdGlvbiA9IFJFUExBWV9QSUNLOwogCQlib2wgKz0gc3RybGVuKCJwaWNrIik7Ci0JfSBlbHNlIGlmICghcHJlZml4Y21wKGJvbCwgInJldmVydCIpKSB7CisJfSBlbHNlIGlmIChzdGFydHNfd2l0aChib2wsICJyZXZlcnQiKSkgewogCQlhY3Rpb24gPSBSRVBMQVlfUkVWRVJUOwogCQlib2wgKz0gc3RybGVuKCJyZXZlcnQiKTsKIAl9IGVsc2UKZGlmZiAtLWdpdCBhL3NldHVwLmMgYi9zZXR1cC5jCmluZGV4IDUyNjIzMTkuLjZjM2Y4NWYgMTAwNjQ0Ci0tLSBhL3NldHVwLmMKKysrIGIvc2V0dXAuYwpAQCAtNSw3ICs1LDE5IEBACiBzdGF0aWMgaW50IGluc2lkZV9naXRfZGlyID0gLTE7CiBzdGF0aWMgaW50IGluc2lkZV93b3JrX3RyZWUgPSAtMTsKIAotc3RhdGljIGNoYXIgKnByZWZpeF9wYXRoX2dlbnRseShjb25zdCBjaGFyICpwcmVmaXgsIGludCBsZW4sIGNvbnN0IGNoYXIgKnBhdGgpCisvKgorICogTm9ybWFsaXplICJwYXRoIiwgcHJlcGVuZGluZyB0aGUgInByZWZpeCIgZm9yIHJlbGF0aXZlIHBhdGhzLiBJZgorICogcmVtYWluaW5nX3ByZWZpeCBpcyBub3QgTlVMTCwgcmV0dXJuIHRoZSBhY3R1YWwgcHJlZml4IHN0aWxsCisgKiByZW1haW5zIGluIHRoZSBwYXRoLiBGb3IgZXhhbXBsZSwgcHJlZml4ID0gc3ViMS9zdWIyLyBhbmQgcGF0aCBpcworICoKKyAqICBmb28gICAgICAgICAgLT4gc3ViMS9zdWIyL2ZvbyAgKGZ1bGwgcHJlZml4KQorICogIC4uL2ZvbyAgICAgICAtPiBzdWIxL2ZvbyAgICAgICAocmVtYWluaW5nIHByZWZpeCBpcyBzdWIxLykKKyAqICAuLi8uLi9iYXIgICAgLT4gYmFyICAgICAgICAgICAgKG5vIHJlbWFpbmluZyBwcmVmaXgpCisgKiAgLi4vLi4vc3ViMS9zdWIyL2ZvbyAtPiBzdWIxL3N1YjIvZm9vIChidXQgbm8gcmVtYWluaW5nIHByZWZpeCkKKyAqICBgcHdkYC8uLi9iYXIgLT4gc3ViMS9iYXIgICAgICAgKG5vIHJlbWFpbmluZyBwcmVmaXgpCisgKi8KK2NoYXIgKnByZWZpeF9wYXRoX2dlbnRseShjb25zdCBjaGFyICpwcmVmaXgsIGludCBsZW4sCisJCQkgaW50ICpyZW1haW5pbmdfcHJlZml4LCBjb25zdCBjaGFyICpwYXRoKQogewogCWNvbnN0IGNoYXIgKm9yaWcgPSBwYXRoOwogCWNoYXIgKnNhbml0aXplZDsKQEAgLTEzLDEzICsyNSwxNyBAQAogCQljb25zdCBjaGFyICp0ZW1wID0gcmVhbF9wYXRoKHBhdGgpOwogCQlzYW5pdGl6ZWQgPSB4bWFsbG9jKGxlbiArIHN0cmxlbih0ZW1wKSArIDEpOwogCQlzdHJjcHkoc2FuaXRpemVkLCB0ZW1wKTsKKwkJaWYgKHJlbWFpbmluZ19wcmVmaXgpCisJCQkqcmVtYWluaW5nX3ByZWZpeCA9IDA7CiAJfSBlbHNlIHsKIAkJc2FuaXRpemVkID0geG1hbGxvYyhsZW4gKyBzdHJsZW4ocGF0aCkgKyAxKTsKIAkJaWYgKGxlbikKIAkJCW1lbWNweShzYW5pdGl6ZWQsIHByZWZpeCwgbGVuKTsKIAkJc3RyY3B5KHNhbml0aXplZCArIGxlbiwgcGF0aCk7CisJCWlmIChyZW1haW5pbmdfcHJlZml4KQorCQkJKnJlbWFpbmluZ19wcmVmaXggPSBsZW47CiAJfQotCWlmIChub3JtYWxpemVfcGF0aF9jb3B5KHNhbml0aXplZCwgc2FuaXRpemVkKSkKKwlpZiAobm9ybWFsaXplX3BhdGhfY29weV9sZW4oc2FuaXRpemVkLCBzYW5pdGl6ZWQsIHJlbWFpbmluZ19wcmVmaXgpKQogCQlnb3RvIGVycm9yX291dDsKIAlpZiAoaXNfYWJzb2x1dGVfcGF0aChvcmlnKSkgewogCQlzaXplX3Qgcm9vdF9sZW4sIGxlbiwgdG90YWw7CkBAIC00NCw3ICs2MCw3IEBACiAKIGNoYXIgKnByZWZpeF9wYXRoKGNvbnN0IGNoYXIgKnByZWZpeCwgaW50IGxlbiwgY29uc3QgY2hhciAqcGF0aCkKIHsKLQljaGFyICpyID0gcHJlZml4X3BhdGhfZ2VudGx5KHByZWZpeCwgbGVuLCBwYXRoKTsKKwljaGFyICpyID0gcHJlZml4X3BhdGhfZ2VudGx5KHByZWZpeCwgbGVuLCBOVUxMLCBwYXRoKTsKIAlpZiAoIXIpCiAJCWRpZSgiJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiLCBwYXRoKTsKIAlyZXR1cm4gcjsKQEAgLTUzLDcgKzY5LDcgQEAKIGludCBwYXRoX2luc2lkZV9yZXBvKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqcGF0aCkKIHsKIAlpbnQgbGVuID0gcHJlZml4ID8gc3RybGVuKHByZWZpeCkgOiAwOwotCWNoYXIgKnIgPSBwcmVmaXhfcGF0aF9nZW50bHkocHJlZml4LCBsZW4sIHBhdGgpOworCWNoYXIgKnIgPSBwcmVmaXhfcGF0aF9nZW50bHkocHJlZml4LCBsZW4sIE5VTEwsIHBhdGgpOwogCWlmIChyKSB7CiAJCWZyZWUocik7CiAJCXJldHVybiAxOwpAQCAtNjYsNyArODIsNyBAQAogCWNvbnN0IGNoYXIgKm5hbWU7CiAJc3RydWN0IHN0YXQgc3Q7CiAKLQlpZiAoIXByZWZpeGNtcChhcmcsICI6LyIpKSB7CisJaWYgKHN0YXJ0c193aXRoKGFyZywgIjovIikpIHsKIAkJaWYgKGFyZ1syXSA9PSAnXDAnKSAvKiAiOi8iIGlzIHJvb3QgZGlyLCBhbHdheXMgZXhpc3RzICovCiAJCQlyZXR1cm4gMTsKIAkJbmFtZSA9IGFyZyArIDI7CkBAIC0xNTQsMTU1ICsxNzAsNiBAQAogCSAgICAiJ2dpdCA8Y29tbWFuZD4gWzxyZXZpc2lvbj4uLi5dIC0tIFs8ZmlsZT4uLi5dJyIsIGFyZyk7CiB9CiAKLS8qCi0gKiBNYWdpYyBwYXRoc3BlYwotICoKLSAqIE5FRURTV09SSzogVGhlc2UgbmVlZCB0byBiZSBtb3ZlZCB0byBkaXIuaCBvciBldmVuIHRvIGEgbmV3Ci0gKiBwYXRoc3BlYy5oIHdoZW4gd2UgcmVzdHJ1Y3R1cmUgZ2V0X3BhdGhzcGVjKCkgdXNlcnMgdG8gdXNlIHRoZQotICogInN0cnVjdCBwYXRoc3BlYyIgaW50ZXJmYWNlLgotICoKLSAqIFBvc3NpYmxlIGZ1dHVyZSBtYWdpYyBzZW1hbnRpY3MgaW5jbHVkZSBzdHVmZiBsaWtlOgotICoKLSAqCXsgUEFUSFNQRUNfTk9HTE9CLCAnIScsICJub2dsb2IiIH0sCi0gKgl7IFBBVEhTUEVDX0lDQVNFLCAnXDAnLCAiaWNhc2UiIH0sCi0gKgl7IFBBVEhTUEVDX1JFQ1VSU0lWRSwgJyonLCAicmVjdXJzaXZlIiB9LAotICoJeyBQQVRIU1BFQ19SRUdFWFAsICdcMCcsICJyZWdleHAiIH0sCi0gKgotICovCi0jZGVmaW5lIFBBVEhTUEVDX0ZST01UT1AgICAgKDE8PDApCi0KLXN0YXRpYyBzdHJ1Y3QgcGF0aHNwZWNfbWFnaWMgewotCXVuc2lnbmVkIGJpdDsKLQljaGFyIG1uZW1vbmljOyAvKiB0aGlzIGNhbm5vdCBiZSAnOichICovCi0JY29uc3QgY2hhciAqbmFtZTsKLX0gcGF0aHNwZWNfbWFnaWNbXSA9IHsKLQl7IFBBVEhTUEVDX0ZST01UT1AsICcvJywgInRvcCIgfSwKLX07Ci0KLS8qCi0gKiBUYWtlIGFuIGVsZW1lbnQgb2YgYSBwYXRoc3BlYyBhbmQgY2hlY2sgZm9yIG1hZ2ljIHNpZ25hdHVyZXMuCi0gKiBBcHBlbmQgdGhlIHJlc3VsdCB0byB0aGUgcHJlZml4LgotICoKLSAqIEZvciBub3csIHdlIG9ubHkgcGFyc2UgdGhlIHN5bnRheCBhbmQgdGhyb3cgb3V0IGFueXRoaW5nIG90aGVyIHRoYW4KLSAqICJ0b3AiIG1hZ2ljLgotICoKLSAqIE5FRURTV09SSzogVGhpcyBuZWVkcyB0byBiZSByZXdyaXR0ZW4gd2hlbiB3ZSBzdGFydCBtaWdyYXRpbmcKLSAqIGdldF9wYXRoc3BlYygpIHVzZXJzIHRvIHVzZSB0aGUgInN0cnVjdCBwYXRoc3BlYyIgaW50ZXJmYWNlLiAgRm9yCi0gKiBleGFtcGxlLCBhIHBhdGhzcGVjIGVsZW1lbnQgbWF5IGJlIG1hcmtlZCBhcyBjYXNlLWluc2Vuc2l0aXZlLCBidXQKLSAqIHRoZSBwcmVmaXggcGFydCBtdXN0IGFsd2F5cyBtYXRjaCBsaXRlcmFsbHksIGFuZCBhIHNpbmdsZSBzdHVwaWQKLSAqIHN0cmluZyBjYW5ub3QgZXhwcmVzcyBzdWNoIGEgY2FzZS4KLSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKnByZWZpeF9wYXRoc3BlYyhjb25zdCBjaGFyICpwcmVmaXgsIGludCBwcmVmaXhsZW4sIGNvbnN0IGNoYXIgKmVsdCkKLXsKLQl1bnNpZ25lZCBtYWdpYyA9IDA7Ci0JY29uc3QgY2hhciAqY29weWZyb20gPSBlbHQ7Ci0JaW50IGk7Ci0KLQlpZiAoZWx0WzBdICE9ICc6JykgewotCQk7IC8qIG5vdGhpbmcgdG8gZG8gKi8KLQl9IGVsc2UgaWYgKGVsdFsxXSA9PSAnKCcpIHsKLQkJLyogbG9uZ2hhbmQgKi8KLQkJY29uc3QgY2hhciAqbmV4dGF0OwotCQlmb3IgKGNvcHlmcm9tID0gZWx0ICsgMjsKLQkJICAgICAqY29weWZyb20gJiYgKmNvcHlmcm9tICE9ICcpJzsKLQkJICAgICBjb3B5ZnJvbSA9IG5leHRhdCkgewotCQkJc2l6ZV90IGxlbiA9IHN0cmNzcG4oY29weWZyb20sICIsKSIpOwotCQkJaWYgKGNvcHlmcm9tW2xlbl0gPT0gJywnKQotCQkJCW5leHRhdCA9IGNvcHlmcm9tICsgbGVuICsgMTsKLQkJCWVsc2UKLQkJCQkvKiBoYW5kbGUgJyknIGFuZCAnXDAnICovCi0JCQkJbmV4dGF0ID0gY29weWZyb20gKyBsZW47Ci0JCQlpZiAoIWxlbikKLQkJCQljb250aW51ZTsKLQkJCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHBhdGhzcGVjX21hZ2ljKTsgaSsrKQotCQkJCWlmIChzdHJsZW4ocGF0aHNwZWNfbWFnaWNbaV0ubmFtZSkgPT0gbGVuICYmCi0JCQkJICAgICFzdHJuY21wKHBhdGhzcGVjX21hZ2ljW2ldLm5hbWUsIGNvcHlmcm9tLCBsZW4pKSB7Ci0JCQkJCW1hZ2ljIHw9IHBhdGhzcGVjX21hZ2ljW2ldLmJpdDsKLQkJCQkJYnJlYWs7Ci0JCQkJfQotCQkJaWYgKEFSUkFZX1NJWkUocGF0aHNwZWNfbWFnaWMpIDw9IGkpCi0JCQkJZGllKCJJbnZhbGlkIHBhdGhzcGVjIG1hZ2ljICclLipzJyBpbiAnJXMnIiwKLQkJCQkgICAgKGludCkgbGVuLCBjb3B5ZnJvbSwgZWx0KTsKLQkJfQotCQlpZiAoKmNvcHlmcm9tICE9ICcpJykKLQkJCWRpZSgiTWlzc2luZyAnKScgYXQgdGhlIGVuZCBvZiBwYXRoc3BlYyBtYWdpYyBpbiAnJXMnIiwgZWx0KTsKLQkJY29weWZyb20rKzsKLQl9IGVsc2UgewotCQkvKiBzaG9ydGhhbmQgKi8KLQkJZm9yIChjb3B5ZnJvbSA9IGVsdCArIDE7Ci0JCSAgICAgKmNvcHlmcm9tICYmICpjb3B5ZnJvbSAhPSAnOic7Ci0JCSAgICAgY29weWZyb20rKykgewotCQkJY2hhciBjaCA9ICpjb3B5ZnJvbTsKLQotCQkJaWYgKCFpc19wYXRoc3BlY19tYWdpYyhjaCkpCi0JCQkJYnJlYWs7Ci0JCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwYXRoc3BlY19tYWdpYyk7IGkrKykKLQkJCQlpZiAocGF0aHNwZWNfbWFnaWNbaV0ubW5lbW9uaWMgPT0gY2gpIHsKLQkJCQkJbWFnaWMgfD0gcGF0aHNwZWNfbWFnaWNbaV0uYml0OwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQlpZiAoQVJSQVlfU0laRShwYXRoc3BlY19tYWdpYykgPD0gaSkKLQkJCQlkaWUoIlVuaW1wbGVtZW50ZWQgcGF0aHNwZWMgbWFnaWMgJyVjJyBpbiAnJXMnIiwKLQkJCQkgICAgY2gsIGVsdCk7Ci0JCX0KLQkJaWYgKCpjb3B5ZnJvbSA9PSAnOicpCi0JCQljb3B5ZnJvbSsrOwotCX0KLQotCWlmIChtYWdpYyAmIFBBVEhTUEVDX0ZST01UT1ApCi0JCXJldHVybiB4c3RyZHVwKGNvcHlmcm9tKTsKLQllbHNlCi0JCXJldHVybiBwcmVmaXhfcGF0aChwcmVmaXgsIHByZWZpeGxlbiwgY29weWZyb20pOwotfQotCi0vKgotICogTi5CLiBnZXRfcGF0aHNwZWMoKSBpcyBkZXByZWNhdGVkIGluIGZhdm9yIG9mIHRoZSAic3RydWN0IHBhdGhzcGVjIgotICogYmFzZWQgaW50ZXJmYWNlIC0gc2VlIHBhdGhzcGVjX21hZ2ljIGFib3ZlLgotICoKLSAqIEFyZ3VtZW50czoKLSAqICAtIHByZWZpeCAtIGEgcGF0aCByZWxhdGl2ZSB0byB0aGUgcm9vdCBvZiB0aGUgd29ya2luZyB0cmVlCi0gKiAgLSBwYXRoc3BlYyAtIGEgbGlzdCBvZiBwYXRocyB1bmRlcm5lYXRoIHRoZSBwcmVmaXggcGF0aAotICoKLSAqIEl0ZXJhdGVzIG92ZXIgcGF0aHNwZWMsIHByZXBlbmRpbmcgZWFjaCBwYXRoIHdpdGggcHJlZml4LAotICogYW5kIHJldHVybiB0aGUgcmVzdWx0aW5nIGxpc3QuCi0gKgotICogSWYgcGF0aHNwZWMgaXMgZW1wdHksIHJldHVybiBhIHNpbmdsZXRvbiBsaXN0IGNvbnRhaW5pbmcgcHJlZml4LgotICoKLSAqIElmIHBhdGhzcGVjIGFuZCBwcmVmaXggYXJlIGJvdGggZW1wdHksIHJldHVybiBhbiBlbXB0eSBsaXN0LgotICoKLSAqIFRoaXMgaXMgdHlwaWNhbGx5IHVzZWQgYnkgYnVpbHQtaW4gY29tbWFuZHMgc3VjaCBhcyBhZGQuYywgaW4gb3JkZXIKLSAqIHRvIG5vcm1hbGl6ZSBhcmd2IGFyZ3VtZW50cyBwcm92aWRlZCB0byB0aGUgYnVpbHQtaW4gaW50byBhIGxpc3Qgb2YKLSAqIHBhdGhzIHRvIHByb2Nlc3MsIGFsbCByZWxhdGl2ZSB0byB0aGUgcm9vdCBvZiB0aGUgd29ya2luZyB0cmVlLgotICovCi1jb25zdCBjaGFyICoqZ2V0X3BhdGhzcGVjKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqKnBhdGhzcGVjKQotewotCWNvbnN0IGNoYXIgKmVudHJ5ID0gKnBhdGhzcGVjOwotCWNvbnN0IGNoYXIgKipzcmMsICoqZHN0OwotCWludCBwcmVmaXhsZW47Ci0KLQlpZiAoIXByZWZpeCAmJiAhZW50cnkpCi0JCXJldHVybiBOVUxMOwotCi0JaWYgKCFlbnRyeSkgewotCQlzdGF0aWMgY29uc3QgY2hhciAqc3BlY1syXTsKLQkJc3BlY1swXSA9IHByZWZpeDsKLQkJc3BlY1sxXSA9IE5VTEw7Ci0JCXJldHVybiBzcGVjOwotCX0KLQotCS8qIE90aGVyd2lzZSB3ZSBoYXZlIHRvIHJlLXdyaXRlIHRoZSBlbnRyaWVzLi4gKi8KLQlzcmMgPSBwYXRoc3BlYzsKLQlkc3QgPSBwYXRoc3BlYzsKLQlwcmVmaXhsZW4gPSBwcmVmaXggPyBzdHJsZW4ocHJlZml4KSA6IDA7Ci0Jd2hpbGUgKCpzcmMpIHsKLQkJKihkc3QrKykgPSBwcmVmaXhfcGF0aHNwZWMocHJlZml4LCBwcmVmaXhsZW4sICpzcmMpOwotCQlzcmMrKzsKLQl9Ci0JKmRzdCA9IE5VTEw7Ci0JaWYgKCEqcGF0aHNwZWMpCi0JCXJldHVybiBOVUxMOwotCXJldHVybiBwYXRoc3BlYzsKLX0KIAogLyoKICAqIFRlc3QgaWYgaXQgbG9va3MgbGlrZSB3ZSdyZSBhdCBhIGdpdCBkaXJlY3RvcnkuCkBAIC0zNjAsNyArMjI3LDYgQEAKIAogdm9pZCBzZXR1cF93b3JrX3RyZWUodm9pZCkKIHsKLQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJY29uc3QgY2hhciAqd29ya190cmVlLCAqZ2l0X2RpcjsKIAlzdGF0aWMgaW50IGluaXRpYWxpemVkID0gMDsKIApAQCAtMzgwLDEwICsyNDYsOCBAQAogCWlmIChnZXRlbnYoR0lUX1dPUktfVFJFRV9FTlZJUk9OTUVOVCkpCiAJCXNldGVudihHSVRfV09SS19UUkVFX0VOVklST05NRU5ULCAiLiIsIDEpOwogCi0Jc2V0X2dpdF9kaXIocmVsYXRpdmVfcGF0aChnaXRfZGlyLCB3b3JrX3RyZWUsICZzYikpOworCXNldF9naXRfZGlyKHJlbW92ZV9sZWFkaW5nX3BhdGgoZ2l0X2Rpciwgd29ya190cmVlKSk7CiAJaW5pdGlhbGl6ZWQgPSAxOwotCi0Jc3RyYnVmX3JlbGVhc2UoJnNiKTsKIH0KIAogc3RhdGljIGludCBjaGVja19yZXBvc2l0b3J5X2Zvcm1hdF9nZW50bHkoY29uc3QgY2hhciAqZ2l0ZGlyLCBpbnQgKm5vbmdpdF9vaykKQEAgLTQ0MCw3ICszMDQsNyBAQAogCWlmIChsZW4gIT0gc3Quc3Rfc2l6ZSkKIAkJZGllKCJFcnJvciByZWFkaW5nICVzIiwgcGF0aCk7CiAJYnVmW2xlbl0gPSAnXDAnOwotCWlmIChwcmVmaXhjbXAoYnVmLCAiZ2l0ZGlyOiAiKSkKKwlpZiAoIXN0YXJ0c193aXRoKGJ1ZiwgImdpdGRpcjogIikpCiAJCWRpZSgiSW52YWxpZCBnaXRmaWxlIGZvcm1hdDogJXMiLCBwYXRoKTsKIAl3aGlsZSAoYnVmW2xlbiAtIDFdID09ICdcbicgfHwgYnVmW2xlbiAtIDFdID09ICdccicpCiAJCWxlbi0tOwpAQCAtNjk5LDcgKzU2Myw3IEBACiB7CiAJY29uc3QgY2hhciAqZW52X2NlaWxpbmdfZGlycyA9IGdldGVudihDRUlMSU5HX0RJUkVDVE9SSUVTX0VOVklST05NRU5UKTsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgY2VpbGluZ19kaXJzID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7Ci0Jc3RhdGljIGNoYXIgY3dkW1BBVEhfTUFYKzFdOworCXN0YXRpYyBjaGFyIGN3ZFtQQVRIX01BWCArIDFdOwogCWNvbnN0IGNoYXIgKmdpdGRpcmVudiwgKnJldDsKIAljaGFyICpnaXRmaWxlOwogCWludCBsZW4sIG9mZnNldCwgb2Zmc2V0X3BhcmVudCwgY2VpbF9vZmZzZXQgPSAtMTsKQEAgLTcxNCw3ICs1NzgsNyBAQAogCWlmIChub25naXRfb2spCiAJCSpub25naXRfb2sgPSAwOwogCi0JaWYgKCFnZXRjd2QoY3dkLCBzaXplb2YoY3dkKS0xKSkKKwlpZiAoIWdldGN3ZChjd2QsIHNpemVvZihjd2QpIC0gMSkpCiAJCWRpZV9lcnJubygiVW5hYmxlIHRvIHJlYWQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIpOwogCW9mZnNldCA9IGxlbiA9IHN0cmxlbihjd2QpOwogCmRpZmYgLS1naXQgYS9zaGExLWxvb2t1cC5jIGIvc2hhMS1sb29rdXAuYwppbmRleCBjNGRjNTVkLi4yZGQ4NTE1IDEwMDY0NAotLS0gYS9zaGExLWxvb2t1cC5jCisrKyBiL3NoYTEtbG9va3VwLmMKQEAgLTIwNCw3ICsyMDQsNTQgQEAKIAkJCSAqIGJ5dGUgMCB0aHJ1IChvZnMtMSkgYXJlIHRoZSBzYW1lIGJldHdlZW4KIAkJCSAqIGxvIGFuZCBoaTsgb2ZzIGlzIHRoZSBmaXJzdCBieXRlIHRoYXQgaXMKIAkJCSAqIGRpZmZlcmVudC4KKwkJCSAqCisJCQkgKiBJZiBvZnM9PTIwLCB0aGVuIG5vIGJ5dGVzIGFyZSBkaWZmZXJlbnQsCisJCQkgKiBtZWFuaW5nIHdlIGhhdmUgZW50cmllcyB3aXRoIGR1cGxpY2F0ZQorCQkJICoga2V5cy4gV2Uga25vdyB0aGF0IHdlIGFyZSBpbiBhIHNvbGlkIHJ1bgorCQkJICogb2YgdGhpcyBlbnRyeSAoYmVjYXVzZSB0aGUgZW50cmllcyBhcmUKKwkJCSAqIHNvcnRlZCwgYW5kIG91ciBsbyBhbmQgaGkgYXJlIHRoZSBzYW1lLAorCQkJICogdGhlcmUgY2FuIGJlIG5vdGhpbmcgYnV0IHRoaXMgc2luZ2xlIGtleQorCQkJICogaW4gYmV0d2VlbikuIFNvIHdlIGNhbiBzdG9wIHRoZSBzZWFyY2guCisJCQkgKiBFaXRoZXIgb25lIG9mIHRoZXNlIGVudHJpZXMgaXMgaXQgKGFuZAorCQkJICogd2UgZG8gbm90IGNhcmUgd2hpY2gpLCBvciB3ZSBkbyBub3QgaGF2ZQorCQkJICogaXQuCisJCQkgKgorCQkJICogRnVydGhlcm1vcmUsIHdlIGtub3cgdGhhdCBvbmUgb2Ygb3VyCisJCQkgKiBlbmRwb2ludHMgbXVzdCBiZSB0aGUgZWRnZSBvZiB0aGUgcnVuIG9mCisJCQkgKiBkdXBsaWNhdGVzLiBGb3IgZXhhbXBsZSwgZ2l2ZW4gdGhpcworCQkJICogc2VxdWVuY2U6CisJCQkgKgorCQkJICogICAgIGlkeCAwIDEgMiAzIDQgNQorCQkJICogICAgIGtleSBBIEMgQyBDIEMgRAorCQkJICoKKwkJCSAqIElmIHdlIGFyZSBzZWFyY2hpbmcgZm9yICJCIiwgd2UgbWlnaHQKKwkJCSAqIGhpdCB0aGUgZHVwbGljYXRlIHJ1biBhdCBsbz0xLCBoaT0zCisJCQkgKiAoZS5nLiwgYnkgZmlyc3QgbWk9MywgdGhlbiBtaT0wKS4gQnV0IHdlCisJCQkgKiBjYW4gbmV2ZXIgaGF2ZSBsbyA+IDEsIGJlY2F1c2UgQiA8IEMuCisJCQkgKiBUaGF0IGlzLCBpZiBvdXIga2V5IGlzIGxlc3MgdGhhbiB0aGUKKwkJCSAqIHJ1biwgd2Uga25vdyB0aGF0ICJsbyIgaXMgdGhlIGVkZ2UsIGJ1dAorCQkJICogd2UgY2FuIHNheSBub3RoaW5nIG9mICJoaSIuIFNpbWlsYXJseSwKKwkJCSAqIGlmIG91ciBrZXkgaXMgZ3JlYXRlciB0aGFuIHRoZSBydW4sIHdlCisJCQkgKiBrbm93IHRoYXQgImhpIiBpcyB0aGUgZWRnZSwgYnV0IHdlIGNhbgorCQkJICogc2F5IG5vdGhpbmcgb2YgImxvIi4KKwkJCSAqCisJCQkgKiBUaGVyZWZvcmUgaWYgd2UgZG8gbm90IGZpbmQgaXQsIHdlIGFsc28KKwkJCSAqIGtub3cgd2hlcmUgaXQgd291bGQgZ28gaWYgaXQgZGlkIGV4aXN0OgorCQkJICoganVzdCBvbiB0aGUgZmFyIHNpZGUgb2YgdGhlIGVkZ2UgdGhhdCB3ZQorCQkJICoga25vdyBhYm91dC4KIAkJCSAqLworCQkJaWYgKG9mcyA9PSAyMCkgeworCQkJCW1pID0gbG87CisJCQkJbWlfa2V5ID0gYmFzZSArIGVsZW1fc2l6ZSAqIG1pICsga2V5X29mZnNldDsKKwkJCQljbXAgPSBtZW1jbXAobWlfa2V5LCBrZXksIDIwKTsKKwkJCQlpZiAoIWNtcCkKKwkJCQkJcmV0dXJuIG1pOworCQkJCWlmIChjbXAgPCAwKQorCQkJCQlyZXR1cm4gLTEgLSBoaTsKKwkJCQllbHNlCisJCQkJCXJldHVybiAtMSAtIGxvOworCQkJfQorCiAJCQloaXYgPSBoaV9rZXlbb2ZzXzBdOwogCQkJaWYgKG9mc18wIDwgMTkpCiAJCQkJaGl2ID0gKGhpdiA8PCA4KSB8IGhpX2tleVtvZnNfMCsxXTsKZGlmZiAtLWdpdCBhL3NoYTFfZmlsZS5jIGIvc2hhMV9maWxlLmMKaW5kZXggNjEzODM5ZC4uNmU4YzA1ZCAxMDA2NDQKLS0tIGEvc2hhMV9maWxlLmMKKysrIGIvc2hhMV9maWxlLmMKQEAgLTEwNSw1MCArMTA1LDYzIEBACiAJcmV0dXJuIGFkanVzdF9zaGFyZWRfcGVybShwYXRoKTsKIH0KIAotaW50IHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXMoY2hhciAqcGF0aCkKK2VudW0gc2NsZF9lcnJvciBzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzKGNoYXIgKnBhdGgpCiB7Ci0JY2hhciAqcG9zID0gcGF0aCArIG9mZnNldF8xc3RfY29tcG9uZW50KHBhdGgpOwotCXN0cnVjdCBzdGF0IHN0OworCWNoYXIgKm5leHRfY29tcG9uZW50ID0gcGF0aCArIG9mZnNldF8xc3RfY29tcG9uZW50KHBhdGgpOworCWVudW0gc2NsZF9lcnJvciByZXQgPSBTQ0xEX09LOwogCi0Jd2hpbGUgKHBvcykgewotCQlwb3MgPSBzdHJjaHIocG9zLCAnLycpOwotCQlpZiAoIXBvcykKKwl3aGlsZSAocmV0ID09IFNDTERfT0sgJiYgbmV4dF9jb21wb25lbnQpIHsKKwkJc3RydWN0IHN0YXQgc3Q7CisJCWNoYXIgKnNsYXNoID0gbmV4dF9jb21wb25lbnQsIHNsYXNoX2NoYXJhY3RlcjsKKworCQl3aGlsZSAoKnNsYXNoICYmICFpc19kaXJfc2VwKCpzbGFzaCkpCisJCQlzbGFzaCsrOworCisJCWlmICghKnNsYXNoKQogCQkJYnJlYWs7Ci0JCXdoaWxlICgqKytwb3MgPT0gJy8nKQotCQkJOwotCQlpZiAoISpwb3MpCisKKwkJbmV4dF9jb21wb25lbnQgPSBzbGFzaCArIDE7CisJCXdoaWxlIChpc19kaXJfc2VwKCpuZXh0X2NvbXBvbmVudCkpCisJCQluZXh0X2NvbXBvbmVudCsrOworCQlpZiAoISpuZXh0X2NvbXBvbmVudCkKIAkJCWJyZWFrOwotCQkqLS1wb3MgPSAnXDAnOworCisJCXNsYXNoX2NoYXJhY3RlciA9ICpzbGFzaDsKKwkJKnNsYXNoID0gJ1wwJzsKIAkJaWYgKCFzdGF0KHBhdGgsICZzdCkpIHsKIAkJCS8qIHBhdGggZXhpc3RzICovCi0JCQlpZiAoIVNfSVNESVIoc3Quc3RfbW9kZSkpIHsKLQkJCQkqcG9zID0gJy8nOwotCQkJCXJldHVybiAtMzsKLQkJCX0KLQkJfQotCQllbHNlIGlmIChta2RpcihwYXRoLCAwNzc3KSkgeworCQkJaWYgKCFTX0lTRElSKHN0LnN0X21vZGUpKQorCQkJCXJldCA9IFNDTERfRVhJU1RTOworCQl9IGVsc2UgaWYgKG1rZGlyKHBhdGgsIDA3NzcpKSB7CiAJCQlpZiAoZXJybm8gPT0gRUVYSVNUICYmCi0JCQkgICAgIXN0YXQocGF0aCwgJnN0KSAmJiBTX0lTRElSKHN0LnN0X21vZGUpKSB7CisJCQkgICAgIXN0YXQocGF0aCwgJnN0KSAmJiBTX0lTRElSKHN0LnN0X21vZGUpKQogCQkJCTsgLyogc29tZWJvZHkgY3JlYXRlZCBpdCBzaW5jZSB3ZSBjaGVja2VkICovCi0JCQl9IGVsc2UgewotCQkJCSpwb3MgPSAnLyc7Ci0JCQkJcmV0dXJuIC0xOwotCQkJfQorCQkJZWxzZSBpZiAoZXJybm8gPT0gRU5PRU5UKQorCQkJCS8qCisJCQkJICogRWl0aGVyIG1rZGlyKCkgZmFpbGVkIGJlY2F1c2UKKwkJCQkgKiBzb21lYm9keSBqdXN0IHBydW5lZCB0aGUgY29udGFpbmluZworCQkJCSAqIGRpcmVjdG9yeSwgb3Igc3RhdCgpIGZhaWxlZCBiZWNhdXNlCisJCQkJICogdGhlIGZpbGUgdGhhdCB3YXMgaW4gb3VyIHdheSB3YXMKKwkJCQkgKiBqdXN0IHJlbW92ZWQuICBFaXRoZXIgd2F5LCBpbmZvcm0KKwkJCQkgKiB0aGUgY2FsbGVyIHRoYXQgaXQgbWlnaHQgYmUgd29ydGgKKwkJCQkgKiB0cnlpbmcgYWdhaW46CisJCQkJICovCisJCQkJcmV0ID0gU0NMRF9WQU5JU0hFRDsKKwkJCWVsc2UKKwkJCQlyZXQgPSBTQ0xEX0ZBSUxFRDsKKwkJfSBlbHNlIGlmIChhZGp1c3Rfc2hhcmVkX3Blcm0ocGF0aCkpIHsKKwkJCXJldCA9IFNDTERfUEVSTVM7CiAJCX0KLQkJZWxzZSBpZiAoYWRqdXN0X3NoYXJlZF9wZXJtKHBhdGgpKSB7Ci0JCQkqcG9zID0gJy8nOwotCQkJcmV0dXJuIC0yOwotCQl9Ci0JCSpwb3MrKyA9ICcvJzsKKwkJKnNsYXNoID0gc2xhc2hfY2hhcmFjdGVyOwogCX0KLQlyZXR1cm4gMDsKKwlyZXR1cm4gcmV0OwogfQogCi1pbnQgc2FmZV9jcmVhdGVfbGVhZGluZ19kaXJlY3Rvcmllc19jb25zdChjb25zdCBjaGFyICpwYXRoKQorZW51bSBzY2xkX2Vycm9yIHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXNfY29uc3QoY29uc3QgY2hhciAqcGF0aCkKIHsKIAkvKiBwYXRoIHBvaW50cyB0byBjYWNoZSBlbnRyaWVzLCBzbyB4c3RyZHVwIGJlZm9yZSBtZXNzaW5nIHdpdGggaXQgKi8KIAljaGFyICpidWYgPSB4c3RyZHVwKHBhdGgpOwotCWludCByZXN1bHQgPSBzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzKGJ1Zik7CisJZW51bSBzY2xkX2Vycm9yIHJlc3VsdCA9IHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXMoYnVmKTsKIAlmcmVlKGJ1Zik7CiAJcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTYxNCw3ICs2MjcsNyBAQAogCX0KIH0KIAotc3RhdGljIGludCB1bnVzZV9vbmVfd2luZG93KHN0cnVjdCBwYWNrZWRfZ2l0ICpjdXJyZW50LCBpbnQga2VlcF9mZCkKK3N0YXRpYyBpbnQgdW51c2Vfb25lX3dpbmRvdyhzdHJ1Y3QgcGFja2VkX2dpdCAqY3VycmVudCkKIHsKIAlzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgKmxydV9wID0gTlVMTDsKIAlzdHJ1Y3QgcGFja193aW5kb3cgKmxydV93ID0gTlVMTCwgKmxydV9sID0gTlVMTDsKQEAgLTYyOCwxNSArNjQxLDggQEAKIAkJcGFja19tYXBwZWQgLT0gbHJ1X3ctPmxlbjsKIAkJaWYgKGxydV9sKQogCQkJbHJ1X2wtPm5leHQgPSBscnVfdy0+bmV4dDsKLQkJZWxzZSB7CisJCWVsc2UKIAkJCWxydV9wLT53aW5kb3dzID0gbHJ1X3ctPm5leHQ7Ci0JCQlpZiAoIWxydV9wLT53aW5kb3dzICYmIGxydV9wLT5wYWNrX2ZkICE9IC0xCi0JCQkJJiYgbHJ1X3AtPnBhY2tfZmQgIT0ga2VlcF9mZCkgewotCQkJCWNsb3NlKGxydV9wLT5wYWNrX2ZkKTsKLQkJCQlwYWNrX29wZW5fZmRzLS07Ci0JCQkJbHJ1X3AtPnBhY2tfZmQgPSAtMTsKLQkJCX0KLQkJfQogCQlmcmVlKGxydV93KTsKIAkJcGFja19vcGVuX3dpbmRvd3MtLTsKIAkJcmV0dXJuIDE7CkBAIC02NDQsMTAgKzY1MCwxMCBAQAogCXJldHVybiAwOwogfQogCi12b2lkIHJlbGVhc2VfcGFja19tZW1vcnkoc2l6ZV90IG5lZWQsIGludCBmZCkKK3ZvaWQgcmVsZWFzZV9wYWNrX21lbW9yeShzaXplX3QgbmVlZCkKIHsKIAlzaXplX3QgY3VyID0gcGFja19tYXBwZWQ7Ci0Jd2hpbGUgKG5lZWQgPj0gKGN1ciAtIHBhY2tfbWFwcGVkKSAmJiB1bnVzZV9vbmVfd2luZG93KE5VTEwsIGZkKSkKKwl3aGlsZSAobmVlZCA+PSAoY3VyIC0gcGFja19tYXBwZWQpICYmIHVudXNlX29uZV93aW5kb3coTlVMTCkpCiAJCTsgLyogbm90aGluZyAqLwogfQogCkBAIC02NTgsNyArNjY0LDcgQEAKIAlpZiAocmV0ID09IE1BUF9GQUlMRUQpIHsKIAkJaWYgKCFsZW5ndGgpCiAJCQlyZXR1cm4gTlVMTDsKLQkJcmVsZWFzZV9wYWNrX21lbW9yeShsZW5ndGgsIGZkKTsKKwkJcmVsZWFzZV9wYWNrX21lbW9yeShsZW5ndGgpOwogCQlyZXQgPSBtbWFwKHN0YXJ0LCBsZW5ndGgsIHByb3QsIGZsYWdzLCBmZCwgb2Zmc2V0KTsKIAkJaWYgKHJldCA9PSBNQVBfRkFJTEVEKQogCQkJZGllX2Vycm5vKCJPdXQgb2YgbWVtb3J5PyBtbWFwIGZhaWxlZCIpOwpAQCAtNjgyLDYgKzY4OCw4MyBAQAogCX0KIH0KIAorLyoKKyAqIFRoZSBMUlUgcGFjayBpcyB0aGUgb25lIHdpdGggdGhlIG9sZGVzdCBNUlUgd2luZG93LCBwcmVmZXJyaW5nIHBhY2tzCisgKiB3aXRoIG5vIHVzZWQgd2luZG93cywgb3IgdGhlIG9sZGVzdCBtdGltZSBpZiBpdCBoYXMgbm8gd2luZG93cyBhbGxvY2F0ZWQuCisgKi8KK3N0YXRpYyB2b2lkIGZpbmRfbHJ1X3BhY2soc3RydWN0IHBhY2tlZF9naXQgKnAsIHN0cnVjdCBwYWNrZWRfZ2l0ICoqbHJ1X3AsIHN0cnVjdCBwYWNrX3dpbmRvdyAqKm1ydV93LCBpbnQgKmFjY2VwdF93aW5kb3dzX2ludXNlKQoreworCXN0cnVjdCBwYWNrX3dpbmRvdyAqdywgKnRoaXNfbXJ1X3c7CisJaW50IGhhc193aW5kb3dzX2ludXNlID0gMDsKKworCS8qCisJICogUmVqZWN0IHRoaXMgcGFjayBpZiBpdCBoYXMgd2luZG93cyBhbmQgdGhlIHByZXZpb3VzbHkgc2VsZWN0ZWQKKwkgKiBvbmUgZG9lcyBub3QuICBJZiB0aGlzIHBhY2sgZG9lcyBub3QgaGF2ZSB3aW5kb3dzLCByZWplY3QKKwkgKiBpdCBpZiB0aGUgcGFjayBmaWxlIGlzIG5ld2VyIHRoYW4gdGhlIHByZXZpb3VzbHkgc2VsZWN0ZWQgb25lLgorCSAqLworCWlmICgqbHJ1X3AgJiYgISptcnVfdyAmJiAocC0+d2luZG93cyB8fCBwLT5tdGltZSA+ICgqbHJ1X3ApLT5tdGltZSkpCisJCXJldHVybjsKKworCWZvciAodyA9IHRoaXNfbXJ1X3cgPSBwLT53aW5kb3dzOyB3OyB3ID0gdy0+bmV4dCkgeworCQkvKgorCQkgKiBSZWplY3QgdGhpcyBwYWNrIGlmIGFueSBvZiBpdHMgd2luZG93cyBhcmUgaW4gdXNlLAorCQkgKiBidXQgdGhlIHByZXZpb3VzbHkgc2VsZWN0ZWQgcGFjayBkaWQgbm90IGhhdmUgYW55CisJCSAqIGludXNlIHdpbmRvd3MuICBPdGhlcndpc2UsIHJlY29yZCB0aGF0IHRoaXMgcGFjaworCQkgKiBoYXMgd2luZG93cyBpbiB1c2UuCisJCSAqLworCQlpZiAody0+aW51c2VfY250KSB7CisJCQlpZiAoKmFjY2VwdF93aW5kb3dzX2ludXNlKQorCQkJCWhhc193aW5kb3dzX2ludXNlID0gMTsKKwkJCWVsc2UKKwkJCQlyZXR1cm47CisJCX0KKworCQlpZiAody0+bGFzdF91c2VkID4gdGhpc19tcnVfdy0+bGFzdF91c2VkKQorCQkJdGhpc19tcnVfdyA9IHc7CisKKwkJLyoKKwkJICogUmVqZWN0IHRoaXMgcGFjayBpZiBpdCBoYXMgd2luZG93cyB0aGF0IGhhdmUgYmVlbgorCQkgKiB1c2VkIG1vcmUgcmVjZW50bHkgdGhhbiB0aGUgcHJldmlvdXNseSBzZWxlY3RlZCBwYWNrLgorCQkgKiBJZiB0aGUgcHJldmlvdXNseSBzZWxlY3RlZCBwYWNrIGhhZCB3aW5kb3dzIGludXNlIGFuZAorCQkgKiB3ZSBoYXZlIG5vdCBlbmNvdW50ZXJlZCBhIHdpbmRvdyBpbiB0aGlzIHBhY2sgdGhhdCBpcworCQkgKiBpbnVzZSwgc2tpcCB0aGlzIGNoZWNrIHNpbmNlIHdlIHByZWZlciBhIHBhY2sgd2l0aCBubworCQkgKiBpbnVzZSB3aW5kb3dzIHRvIG9uZSB0aGF0IGhhcyBpbnVzZSB3aW5kb3dzLgorCQkgKi8KKwkJaWYgKCptcnVfdyAmJiAqYWNjZXB0X3dpbmRvd3NfaW51c2UgPT0gaGFzX3dpbmRvd3NfaW51c2UgJiYKKwkJICAgIHRoaXNfbXJ1X3ctPmxhc3RfdXNlZCA+ICgqbXJ1X3cpLT5sYXN0X3VzZWQpCisJCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBTZWxlY3QgdGhpcyBwYWNrLgorCSAqLworCSptcnVfdyA9IHRoaXNfbXJ1X3c7CisJKmxydV9wID0gcDsKKwkqYWNjZXB0X3dpbmRvd3NfaW51c2UgPSBoYXNfd2luZG93c19pbnVzZTsKK30KKworc3RhdGljIGludCBjbG9zZV9vbmVfcGFjayh2b2lkKQoreworCXN0cnVjdCBwYWNrZWRfZ2l0ICpwLCAqbHJ1X3AgPSBOVUxMOworCXN0cnVjdCBwYWNrX3dpbmRvdyAqbXJ1X3cgPSBOVUxMOworCWludCBhY2NlcHRfd2luZG93c19pbnVzZSA9IDE7CisKKwlmb3IgKHAgPSBwYWNrZWRfZ2l0OyBwOyBwID0gcC0+bmV4dCkgeworCQlpZiAocC0+cGFja19mZCA9PSAtMSkKKwkJCWNvbnRpbnVlOworCQlmaW5kX2xydV9wYWNrKHAsICZscnVfcCwgJm1ydV93LCAmYWNjZXB0X3dpbmRvd3NfaW51c2UpOworCX0KKworCWlmIChscnVfcCkgeworCQljbG9zZShscnVfcC0+cGFja19mZCk7CisJCXBhY2tfb3Blbl9mZHMtLTsKKwkJbHJ1X3AtPnBhY2tfZmQgPSAtMTsKKwkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKIHZvaWQgdW51c2VfcGFjayhzdHJ1Y3QgcGFja193aW5kb3cgKip3X2N1cnNvcikKIHsKIAlzdHJ1Y3QgcGFja193aW5kb3cgKncgPSAqd19jdXJzb3I7CkBAIC03MzcsMTUgKzgyMCwzOCBAQAogc3RhdGljIHVuc2lnbmVkIGludCBnZXRfbWF4X2ZkX2xpbWl0KHZvaWQpCiB7CiAjaWZkZWYgUkxJTUlUX05PRklMRQotCXN0cnVjdCBybGltaXQgbGltOworCXsKKwkJc3RydWN0IHJsaW1pdCBsaW07CiAKLQlpZiAoZ2V0cmxpbWl0KFJMSU1JVF9OT0ZJTEUsICZsaW0pKQotCQlkaWVfZXJybm8oImNhbm5vdCBnZXQgUkxJTUlUX05PRklMRSIpOworCQlpZiAoIWdldHJsaW1pdChSTElNSVRfTk9GSUxFLCAmbGltKSkKKwkJCXJldHVybiBsaW0ucmxpbV9jdXI7CisJfQorI2VuZGlmCiAKLQlyZXR1cm4gbGltLnJsaW1fY3VyOwotI2VsaWYgZGVmaW5lZChfU0NfT1BFTl9NQVgpCi0JcmV0dXJuIHN5c2NvbmYoX1NDX09QRU5fTUFYKTsKLSNlbGlmIGRlZmluZWQoT1BFTl9NQVgpCisjaWZkZWYgX1NDX09QRU5fTUFYCisJeworCQlsb25nIG9wZW5fbWF4ID0gc3lzY29uZihfU0NfT1BFTl9NQVgpOworCQlpZiAoMCA8IG9wZW5fbWF4KQorCQkJcmV0dXJuIG9wZW5fbWF4OworCQkvKgorCQkgKiBPdGhlcndpc2UsIHdlIGdvdCAtMSBmb3Igb25lIG9mIHRoZSB0d28KKwkJICogcmVhc29uczoKKwkJICoKKwkJICogKDEpIHN5c2NvbmYoKSBkaWQgbm90IHVuZGVyc3RhbmQgX1NDX09QRU5fTUFYCisJCSAqICAgICBhbmQgc2lnbmFsZWQgYW4gZXJyb3Igd2l0aCAtMTsgb3IKKwkJICogKDIpIHN5c2NvbmYoKSBzYWlkIHRoZXJlIGlzIG5vIGxpbWl0LgorCQkgKgorCQkgKiBXZSBfY291bGRfIGNsZWFyIGVycm5vIGJlZm9yZSBjYWxsaW5nIHN5c2NvbmYoKSB0bworCQkgKiB0ZWxsIHRoZXNlIHR3byBjYXNlcyBhcGFydCBhbmQgcmV0dXJuIGEgaHVnZSBudW1iZXIKKwkJICogaW4gdGhlIGxhdHRlciBjYXNlIHRvIGxldCB0aGUgY2FsbGVyIGNhcCBpdCB0byBhCisJCSAqIHZhbHVlIHRoYXQgaXMgbm90IHNvIHNlbGZpc2gsIGJ1dCBsZXR0aW5nIHRoZQorCQkgKiBmYWxsYmFjayBPUEVOX01BWCBjb2RlcGF0aCB0YWtlIGNhcmUgb2YgdGhlc2UgY2FzZXMKKwkJICogaXMgYSBsb3Qgc2ltcGxlci4KKwkJICovCisJfQorI2VuZGlmCisKKyNpZmRlZiBPUEVOX01BWAogCXJldHVybiBPUEVOX01BWDsKICNlbHNlCiAJcmV0dXJuIDE7IC8qIHNlZSB0aGUgY2FsbGVyIDstKSAqLwpAQCAtNzc3LDcgKzg4Myw3IEBACiAJCQlwYWNrX21heF9mZHMgPSAxOwogCX0KIAotCXdoaWxlIChwYWNrX21heF9mZHMgPD0gcGFja19vcGVuX2ZkcyAmJiB1bnVzZV9vbmVfd2luZG93KE5VTEwsIC0xKSkKKwl3aGlsZSAocGFja19tYXhfZmRzIDw9IHBhY2tfb3Blbl9mZHMgJiYgY2xvc2Vfb25lX3BhY2soKSkKIAkJOyAvKiBub3RoaW5nICovCiAKIAlwLT5wYWNrX2ZkID0gZ2l0X29wZW5fbm9hdGltZShwLT5wYWNrX25hbWUpOwpAQCAtODkzLDcgKzk5OSw3IEBACiAJCQl3aW4tPmxlbiA9IChzaXplX3QpbGVuOwogCQkJcGFja19tYXBwZWQgKz0gd2luLT5sZW47CiAJCQl3aGlsZSAocGFja2VkX2dpdF9saW1pdCA8IHBhY2tfbWFwcGVkCi0JCQkJJiYgdW51c2Vfb25lX3dpbmRvdyhwLCBwLT5wYWNrX2ZkKSkKKwkJCQkmJiB1bnVzZV9vbmVfd2luZG93KHApKQogCQkJCTsgLyogbm90aGluZyAqLwogCQkJd2luLT5iYXNlID0geG1tYXAoTlVMTCwgd2luLT5sZW4sCiAJCQkJUFJPVF9SRUFELCBNQVBfUFJJVkFURSwKQEAgLTkzOSw3ICsxMDQ1LDcgQEAKIAogc3RhdGljIHZvaWQgdHJ5X3RvX2ZyZWVfcGFja19tZW1vcnkoc2l6ZV90IHNpemUpCiB7Ci0JcmVsZWFzZV9wYWNrX21lbW9yeShzaXplLCAtMSk7CisJcmVsZWFzZV9wYWNrX21lbW9yeShzaXplKTsKIH0KIAogc3RydWN0IHBhY2tlZF9naXQgKmFkZF9wYWNrZWRfZ2l0KGNvbnN0IGNoYXIgKnBhdGgsIGludCBwYXRoX2xlbiwgaW50IGxvY2FsKQpAQCAtMTM3Miw1MSArMTQ3OCw2IEBACiAJcmV0dXJuIG1hcDsKIH0KIAotLyoKLSAqIFRoZXJlIHVzZWQgdG8gYmUgYSBzZWNvbmQgbG9vc2Ugb2JqZWN0IGhlYWRlciBmb3JtYXQgd2hpY2gKLSAqIHdhcyBtZWFudCB0byBtaW1pYyB0aGUgaW4tcGFjayBmb3JtYXQsIGFsbG93aW5nIGZvciBkaXJlY3QKLSAqIGNvcHkgb2YgdGhlIG9iamVjdCBkYXRhLiAgVGhpcyBmb3JtYXQgdHVybmVkIHVwIG5vdCB0byBiZQotICogcmVhbGx5IHdvcnRoIGl0IGFuZCB3ZSBubyBsb25nZXIgd3JpdGUgbG9vc2Ugb2JqZWN0cyBpbiB0aGF0Ci0gKiBmb3JtYXQuCi0gKi8KLXN0YXRpYyBpbnQgZXhwZXJpbWVudGFsX2xvb3NlX29iamVjdCh1bnNpZ25lZCBjaGFyICptYXApCi17Ci0JdW5zaWduZWQgaW50IHdvcmQ7Ci0KLQkvKgotCSAqIFdlIG11c3QgZGV0ZXJtaW5lIGlmIHRoZSBidWZmZXIgY29udGFpbnMgdGhlIHN0YW5kYXJkCi0JICogemxpYi1kZWZsYXRlZCBzdHJlYW0gb3IgdGhlIGV4cGVyaW1lbnRhbCBmb3JtYXQgYmFzZWQKLQkgKiBvbiB0aGUgaW4tcGFjayBvYmplY3QgZm9ybWF0LiBDb21wYXJlIHRoZSBoZWFkZXIgYnl0ZQotCSAqIGZvciBlYWNoIGZvcm1hdDoKLQkgKgotCSAqIFJGQzE5NTAgemxpYiB3LyBkZWZsYXRlIDogMHd3dzEwMDAgOiAwIDw9IHd3dyA8PSA3Ci0JICogRXhwZXJpbWVudGFsIHBhY2stYmFzZWQgOiBTdHR0c3NzcyA6IHR0dCA9IDEsMiwzLDQKLQkgKgotCSAqIElmIGJpdCA3IGlzIGNsZWFyIGFuZCBiaXRzIDAtMyBlcXVhbCA4LCB0aGUgYnVmZmVyIE1VU1QgYmUKLQkgKiBpbiBzdGFuZGFyZCBsb29zZS1vYmplY3QgZm9ybWF0LCBVTkxFU1MgaXQgaXMgYSBHaXQtcGFjawotCSAqIGZvcm1hdCBvYmplY3QgKmV4YWN0bHkqIDggYnl0ZXMgaW4gc2l6ZSB3aGVuIGluZmxhdGVkLgotCSAqCi0JICogSG93ZXZlciwgUkZDMTk1MCBhbHNvIHNwZWNpZmllcyB0aGF0IHRoZSAxc3QgMTYtYml0IHdvcmQKLQkgKiBtdXN0IGJlIGRpdmlzaWJsZSBieSAzMSAtIHRoaXMgY2hlY2tzdW0gdGVsbHMgdXMgb3VyIGJ1ZmZlcgotCSAqIGlzIGluIHRoZSBzdGFuZGFyZCBmb3JtYXQsIGdpdmluZyBhIGZhbHNlIHBvc2l0aXZlIG9ubHkgaWYKLQkgKiB0aGUgMXN0IHdvcmQgb2YgdGhlIEdpdC1wYWNrIGZvcm1hdCBvYmplY3QgaGFwcGVucyB0byBiZQotCSAqIGRpdmlzaWJsZSBieSAzMSwgaWU6Ci0JICogICAgICAoKGJ5dGUwICogMjU2KSArIGJ5dGUxKSAlIDMxID0gMAotCSAqICAgPT4gICAgICAgIDB0dHQxMDAwMHd3dzEwMDAgJSAzMSA9IDAKLQkgKgotCSAqIEFzIGl0IGhhcHBlbnMsIHRoaXMgY2FzZSBjYW4gb25seSBhcmlzZSBmb3Igd3d3PTMgJiB0dHQ9MQotCSAqIC0gaWUsIGEgQ29tbWl0IG9iamVjdCwgd2hpY2ggd291bGQgaGF2ZSB0byBiZSA4IGJ5dGVzIGluCi0JICogc2l6ZS4gQXMgbm8gQ29tbWl0IGNhbiBiZSB0aGF0IHNtYWxsLCB3ZSBmaW5kIHRoYXQgdGhlCi0JICogY29tYmluYXRpb24gb2YgdGhlc2UgdHdvIGNyaXRlcmlhIChiaXRtYXNrICYgY2hlY2tzdW0pCi0JICogY2FuIGFsd2F5cyBjb3JyZWN0bHkgZGV0ZXJtaW5lIHRoZSBidWZmZXIgZm9ybWF0LgotCSAqLwotCXdvcmQgPSAobWFwWzBdIDw8IDgpICsgbWFwWzFdOwotCWlmICgobWFwWzBdICYgMHg4RikgPT0gMHgwOCAmJiAhKHdvcmQgJSAzMSkpCi0JCXJldHVybiAwOwotCWVsc2UKLQkJcmV0dXJuIDE7Ci19Ci0KIHVuc2lnbmVkIGxvbmcgdW5wYWNrX29iamVjdF9oZWFkZXJfYnVmZmVyKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1ZiwKIAkJdW5zaWduZWQgbG9uZyBsZW4sIGVudW0gb2JqZWN0X3R5cGUgKnR5cGUsIHVuc2lnbmVkIGxvbmcgKnNpemVwKQogewpAQCAtMTQ0NCwxNCArMTUwNSw2IEBACiAKIGludCB1bnBhY2tfc2hhMV9oZWFkZXIoZ2l0X3pzdHJlYW0gKnN0cmVhbSwgdW5zaWduZWQgY2hhciAqbWFwLCB1bnNpZ25lZCBsb25nIG1hcHNpemUsIHZvaWQgKmJ1ZmZlciwgdW5zaWduZWQgbG9uZyBidWZzaXopCiB7Ci0JdW5zaWduZWQgbG9uZyBzaXplLCB1c2VkOwotCXN0YXRpYyBjb25zdCBjaGFyIHZhbGlkX2xvb3NlX29iamVjdF90eXBlWzhdID0gewotCQkwLCAvKiBPQkpfRVhUICovCi0JCTEsIDEsIDEsIDEsIC8qICJjb21taXQiLCAidHJlZSIsICJibG9iIiwgInRhZyIgKi8KLQkJMCwgLyogImRlbHRhIiBhbmQgb3RoZXJzIGFyZSBpbnZhbGlkIGluIGEgbG9vc2Ugb2JqZWN0ICovCi0JfTsKLQllbnVtIG9iamVjdF90eXBlIHR5cGU7Ci0KIAkvKiBHZXQgdGhlIGRhdGEgc3RyZWFtICovCiAJbWVtc2V0KHN0cmVhbSwgMCwgc2l6ZW9mKCpzdHJlYW0pKTsKIAlzdHJlYW0tPm5leHRfaW4gPSBtYXA7CkBAIC0xNDU5LDI3ICsxNTEyLDYgQEAKIAlzdHJlYW0tPm5leHRfb3V0ID0gYnVmZmVyOwogCXN0cmVhbS0+YXZhaWxfb3V0ID0gYnVmc2l6OwogCi0JaWYgKGV4cGVyaW1lbnRhbF9sb29zZV9vYmplY3QobWFwKSkgewotCQkvKgotCQkgKiBUaGUgb2xkIGV4cGVyaW1lbnRhbCBmb3JtYXQgd2Ugbm8gbG9uZ2VyIHByb2R1Y2U7Ci0JCSAqIHdlIGNhbiBzdGlsbCByZWFkIGl0LgotCQkgKi8KLQkJdXNlZCA9IHVucGFja19vYmplY3RfaGVhZGVyX2J1ZmZlcihtYXAsIG1hcHNpemUsICZ0eXBlLCAmc2l6ZSk7Ci0JCWlmICghdXNlZCB8fCAhdmFsaWRfbG9vc2Vfb2JqZWN0X3R5cGVbdHlwZV0pCi0JCQlyZXR1cm4gLTE7Ci0JCW1hcCArPSB1c2VkOwotCQltYXBzaXplIC09IHVzZWQ7Ci0KLQkJLyogU2V0IHVwIHRoZSBzdHJlYW0gZm9yIHRoZSByZXN0Li4gKi8KLQkJc3RyZWFtLT5uZXh0X2luID0gbWFwOwotCQlzdHJlYW0tPmF2YWlsX2luID0gbWFwc2l6ZTsKLQkJZ2l0X2luZmxhdGVfaW5pdChzdHJlYW0pOwotCi0JCS8qIEFuZCBnZW5lcmF0ZSB0aGUgZmFrZSB0cmFkaXRpb25hbCBoZWFkZXIgKi8KLQkJc3RyZWFtLT50b3RhbF9vdXQgPSAxICsgc25wcmludGYoYnVmZmVyLCBidWZzaXosICIlcyAlbHUiLAotCQkJCQkJIHR5cGVuYW1lKHR5cGUpLCBzaXplKTsKLQkJcmV0dXJuIDA7Ci0JfQogCWdpdF9pbmZsYXRlX2luaXQoc3RyZWFtKTsKIAlyZXR1cm4gZ2l0X2luZmxhdGUoc3RyZWFtLCAwKTsKIH0KQEAgLTE2NzEsNiArMTcwMywzOCBAQAogCXJldHVybiBiYXNlX29mZnNldDsKIH0KIAorLyoKKyAqIExpa2UgZ2V0X2RlbHRhX2Jhc2UgYWJvdmUsIGJ1dCB3ZSByZXR1cm4gdGhlIHNoYTEgaW5zdGVhZCBvZiB0aGUgcGFjaworICogb2Zmc2V0LiBUaGlzIG1lYW5zIGl0IGlzIGNoZWFwZXIgZm9yIFJFRiBkZWx0YXMgKHdlIGRvIG5vdCBoYXZlIHRvIGRvCisgKiB0aGUgZmluYWwgb2JqZWN0IGxvb2t1cCksIGJ1dCBtb3JlIGV4cGVuc2l2ZSBmb3IgT0ZTIGRlbHRhcyAod2UKKyAqIGhhdmUgdG8gbG9hZCB0aGUgcmV2aWR4IHRvIGNvbnZlcnQgdGhlIG9mZnNldCBiYWNrIGludG8gYSBzaGExKS4KKyAqLworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmdldF9kZWx0YV9iYXNlX3NoYTEoc3RydWN0IHBhY2tlZF9naXQgKnAsCisJCQkJCQlzdHJ1Y3QgcGFja193aW5kb3cgKip3X2N1cnMsCisJCQkJCQlvZmZfdCBjdXJwb3MsCisJCQkJCQllbnVtIG9iamVjdF90eXBlIHR5cGUsCisJCQkJCQlvZmZfdCBkZWx0YV9vYmpfb2Zmc2V0KQoreworCWlmICh0eXBlID09IE9CSl9SRUZfREVMVEEpIHsKKwkJdW5zaWduZWQgY2hhciAqYmFzZSA9IHVzZV9wYWNrKHAsIHdfY3VycywgY3VycG9zLCBOVUxMKTsKKwkJcmV0dXJuIGJhc2U7CisJfSBlbHNlIGlmICh0eXBlID09IE9CSl9PRlNfREVMVEEpIHsKKwkJc3RydWN0IHJldmluZGV4X2VudHJ5ICpyZXZpZHg7CisJCW9mZl90IGJhc2Vfb2Zmc2V0ID0gZ2V0X2RlbHRhX2Jhc2UocCwgd19jdXJzLCAmY3VycG9zLAorCQkJCQkJICAgdHlwZSwgZGVsdGFfb2JqX29mZnNldCk7CisKKwkJaWYgKCFiYXNlX29mZnNldCkKKwkJCXJldHVybiBOVUxMOworCisJCXJldmlkeCA9IGZpbmRfcGFja19yZXZpbmRleChwLCBiYXNlX29mZnNldCk7CisJCWlmICghcmV2aWR4KQorCQkJcmV0dXJuIE5VTEw7CisKKwkJcmV0dXJuIG50aF9wYWNrZWRfb2JqZWN0X3NoYTEocCwgcmV2aWR4LT5ucik7CisJfSBlbHNlCisJCXJldHVybiBOVUxMOworfQorCiBpbnQgdW5wYWNrX29iamVjdF9oZWFkZXIoc3RydWN0IHBhY2tlZF9naXQgKnAsCiAJCQkgc3RydWN0IHBhY2tfd2luZG93ICoqd19jdXJzLAogCQkJIG9mZl90ICpjdXJwb3MsCkBAIC0xODI4LDYgKzE4OTIsMjIgQEAKIAkJfQogCX0KIAorCWlmIChvaS0+ZGVsdGFfYmFzZV9zaGExKSB7CisJCWlmICh0eXBlID09IE9CSl9PRlNfREVMVEEgfHwgdHlwZSA9PSBPQkpfUkVGX0RFTFRBKSB7CisJCQljb25zdCB1bnNpZ25lZCBjaGFyICpiYXNlOworCisJCQliYXNlID0gZ2V0X2RlbHRhX2Jhc2Vfc2hhMShwLCAmd19jdXJzLCBjdXJwb3MsCisJCQkJCQkgICB0eXBlLCBvYmpfb2Zmc2V0KTsKKwkJCWlmICghYmFzZSkgeworCQkJCXR5cGUgPSBPQkpfQkFEOworCQkJCWdvdG8gb3V0OworCQkJfQorCisJCQloYXNoY3B5KG9pLT5kZWx0YV9iYXNlX3NoYTEsIGJhc2UpOworCQl9IGVsc2UKKwkJCWhhc2hjbHIob2ktPmRlbHRhX2Jhc2Vfc2hhMSk7CisJfQorCiBvdXQ6CiAJdW51c2VfcGFjaygmd19jdXJzKTsKIAlyZXR1cm4gdHlwZTsKQEAgLTIwNTYsNiArMjEzNiwxNiBAQAogCQlpbnQgaTsKIAkJc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnkgKmVudDsKIAorCQllbnQgPSBnZXRfZGVsdGFfYmFzZV9jYWNoZV9lbnRyeShwLCBjdXJwb3MpOworCQlpZiAoZXFfZGVsdGFfYmFzZV9jYWNoZV9lbnRyeShlbnQsIHAsIGN1cnBvcykpIHsKKwkJCXR5cGUgPSBlbnQtPnR5cGU7CisJCQlkYXRhID0gZW50LT5kYXRhOworCQkJc2l6ZSA9IGVudC0+c2l6ZTsKKwkJCWNsZWFyX2RlbHRhX2Jhc2VfY2FjaGVfZW50cnkoZW50KTsKKwkJCWJhc2VfZnJvbV9jYWNoZSA9IDE7CisJCQlicmVhazsKKwkJfQorCiAJCWlmIChkb19jaGVja19wYWNrZWRfb2JqZWN0X2NyYyAmJiBwLT5pbmRleF92ZXJzaW9uID4gMSkgewogCQkJc3RydWN0IHJldmluZGV4X2VudHJ5ICpyZXZpZHggPSBmaW5kX3BhY2tfcmV2aW5kZXgocCwgb2JqX29mZnNldCk7CiAJCQl1bnNpZ25lZCBsb25nIGxlbiA9IHJldmlkeFsxXS5vZmZzZXQgLSBvYmpfb2Zmc2V0OwpAQCAtMjA3MCwxNiArMjE2MCw2IEBACiAJCQl9CiAJCX0KIAotCQllbnQgPSBnZXRfZGVsdGFfYmFzZV9jYWNoZV9lbnRyeShwLCBjdXJwb3MpOwotCQlpZiAoZXFfZGVsdGFfYmFzZV9jYWNoZV9lbnRyeShlbnQsIHAsIGN1cnBvcykpIHsKLQkJCXR5cGUgPSBlbnQtPnR5cGU7Ci0JCQlkYXRhID0gZW50LT5kYXRhOwotCQkJc2l6ZSA9IGVudC0+c2l6ZTsKLQkJCWNsZWFyX2RlbHRhX2Jhc2VfY2FjaGVfZW50cnkoZW50KTsKLQkJCWJhc2VfZnJvbV9jYWNoZSA9IDE7Ci0JCQlicmVhazsKLQkJfQotCiAJCXR5cGUgPSB1bnBhY2tfb2JqZWN0X2hlYWRlcihwLCAmd19jdXJzLCAmY3VycG9zLCAmc2l6ZSk7CiAJCWlmICh0eXBlICE9IE9CSl9PRlNfREVMVEEgJiYgdHlwZSAhPSBPQkpfUkVGX0RFTFRBKQogCQkJYnJlYWs7CkBAIC0yNDExLDE3ICsyNDkxLDIzIEBACiAJZ2l0X3pzdHJlYW0gc3RyZWFtOwogCWNoYXIgaGRyWzMyXTsKIAorCWlmIChvaS0+ZGVsdGFfYmFzZV9zaGExKQorCQloYXNoY2xyKG9pLT5kZWx0YV9iYXNlX3NoYTEpOworCiAJLyoKIAkgKiBJZiB3ZSBkb24ndCBjYXJlIGFib3V0IHR5cGUgb3Igc2l6ZSwgdGhlbiB3ZSBkb24ndAotCSAqIG5lZWQgdG8gbG9vayBpbnNpZGUgdGhlIG9iamVjdCBhdCBhbGwuCisJICogbmVlZCB0byBsb29rIGluc2lkZSB0aGUgb2JqZWN0IGF0IGFsbC4gTm90ZSB0aGF0IHdlCisJICogZG8gbm90IG9wdGltaXplIG91dCB0aGUgc3RhdCBjYWxsLCBldmVuIGlmIHRoZQorCSAqIGNhbGxlciBkb2Vzbid0IGNhcmUgYWJvdXQgdGhlIGRpc2stc2l6ZSwgc2luY2Ugb3VyCisJICogcmV0dXJuIHZhbHVlIGltcGxpY2l0bHkgaW5kaWNhdGVzIHdoZXRoZXIgdGhlCisJICogb2JqZWN0IGV2ZW4gZXhpc3RzLgogCSAqLwogCWlmICghb2ktPnR5cGVwICYmICFvaS0+c2l6ZXApIHsKLQkJaWYgKG9pLT5kaXNrX3NpemVwKSB7Ci0JCQlzdHJ1Y3Qgc3RhdCBzdDsKLQkJCWlmIChzdGF0X3NoYTFfZmlsZShzaGExLCAmc3QpIDwgMCkKLQkJCQlyZXR1cm4gLTE7CisJCXN0cnVjdCBzdGF0IHN0OworCQlpZiAoc3RhdF9zaGExX2ZpbGUoc2hhMSwgJnN0KSA8IDApCisJCQlyZXR1cm4gLTE7CisJCWlmIChvaS0+ZGlza19zaXplcCkKIAkJCSpvaS0+ZGlza19zaXplcCA9IHN0LnN0X3NpemU7Ci0JCX0KIAkJcmV0dXJuIDA7CiAJfQogCkBAIC0yNDQ0LDEzICsyNTMwLDE0IEBACiAJcmV0dXJuIDA7CiB9CiAKLWludCBzaGExX29iamVjdF9pbmZvX2V4dGVuZGVkKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHN0cnVjdCBvYmplY3RfaW5mbyAqb2kpCitpbnQgc2hhMV9vYmplY3RfaW5mb19leHRlbmRlZChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBzdHJ1Y3Qgb2JqZWN0X2luZm8gKm9pLCB1bnNpZ25lZCBmbGFncykKIHsKIAlzdHJ1Y3QgY2FjaGVkX29iamVjdCAqY287CiAJc3RydWN0IHBhY2tfZW50cnkgZTsKIAlpbnQgcnR5cGU7CisJY29uc3QgdW5zaWduZWQgY2hhciAqcmVhbCA9IGxvb2t1cF9yZXBsYWNlX29iamVjdF9leHRlbmRlZChzaGExLCBmbGFncyk7CiAKLQljbyA9IGZpbmRfY2FjaGVkX29iamVjdChzaGExKTsKKwljbyA9IGZpbmRfY2FjaGVkX29iamVjdChyZWFsKTsKIAlpZiAoY28pIHsKIAkJaWYgKG9pLT50eXBlcCkKIAkJCSoob2ktPnR5cGVwKSA9IGNvLT50eXBlOwpAQCAtMjQ1OCwyNyArMjU0NSwyOSBAQAogCQkJKihvaS0+c2l6ZXApID0gY28tPnNpemU7CiAJCWlmIChvaS0+ZGlza19zaXplcCkKIAkJCSoob2ktPmRpc2tfc2l6ZXApID0gMDsKKwkJaWYgKG9pLT5kZWx0YV9iYXNlX3NoYTEpCisJCQloYXNoY2xyKG9pLT5kZWx0YV9iYXNlX3NoYTEpOwogCQlvaS0+d2hlbmNlID0gT0lfQ0FDSEVEOwogCQlyZXR1cm4gMDsKIAl9CiAKLQlpZiAoIWZpbmRfcGFja19lbnRyeShzaGExLCAmZSkpIHsKKwlpZiAoIWZpbmRfcGFja19lbnRyeShyZWFsLCAmZSkpIHsKIAkJLyogTW9zdCBsaWtlbHkgaXQncyBhIGxvb3NlIG9iamVjdC4gKi8KLQkJaWYgKCFzaGExX2xvb3NlX29iamVjdF9pbmZvKHNoYTEsIG9pKSkgeworCQlpZiAoIXNoYTFfbG9vc2Vfb2JqZWN0X2luZm8ocmVhbCwgb2kpKSB7CiAJCQlvaS0+d2hlbmNlID0gT0lfTE9PU0U7CiAJCQlyZXR1cm4gMDsKIAkJfQogCiAJCS8qIE5vdCBhIGxvb3NlIG9iamVjdDsgc29tZW9uZSBlbHNlIG1heSBoYXZlIGp1c3QgcGFja2VkIGl0LiAqLwogCQlyZXByZXBhcmVfcGFja2VkX2dpdCgpOwotCQlpZiAoIWZpbmRfcGFja19lbnRyeShzaGExLCAmZSkpCisJCWlmICghZmluZF9wYWNrX2VudHJ5KHJlYWwsICZlKSkKIAkJCXJldHVybiAtMTsKIAl9CiAKIAlydHlwZSA9IHBhY2tlZF9vYmplY3RfaW5mbyhlLnAsIGUub2Zmc2V0LCBvaSk7CiAJaWYgKHJ0eXBlIDwgMCkgewotCQltYXJrX2JhZF9wYWNrZWRfb2JqZWN0KGUucCwgc2hhMSk7Ci0JCXJldHVybiBzaGExX29iamVjdF9pbmZvX2V4dGVuZGVkKHNoYTEsIG9pKTsKKwkJbWFya19iYWRfcGFja2VkX29iamVjdChlLnAsIHJlYWwpOworCQlyZXR1cm4gc2hhMV9vYmplY3RfaW5mb19leHRlbmRlZChyZWFsLCBvaSwgMCk7CiAJfSBlbHNlIGlmIChpbl9kZWx0YV9iYXNlX2NhY2hlKGUucCwgZS5vZmZzZXQpKSB7CiAJCW9pLT53aGVuY2UgPSBPSV9EQkNBQ0hFRDsKIAl9IGVsc2UgewpAQCAtMjUwMCw3ICsyNTg5LDcgQEAKIAogCW9pLnR5cGVwID0gJnR5cGU7CiAJb2kuc2l6ZXAgPSBzaXplcDsKLQlpZiAoc2hhMV9vYmplY3RfaW5mb19leHRlbmRlZChzaGExLCAmb2kpIDwgMCkKKwlpZiAoc2hhMV9vYmplY3RfaW5mb19leHRlbmRlZChzaGExLCAmb2ksIExPT0tVUF9SRVBMQUNFX09CSkVDVCkgPCAwKQogCQlyZXR1cm4gLTE7CiAJcmV0dXJuIHR5cGU7CiB9CkBAIC0yNTkyLDggKzI2ODEsNyBAQAogCXZvaWQgKmRhdGE7CiAJY2hhciAqcGF0aDsKIAljb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpyZXBsID0gKGZsYWcgJiBSRUFEX1NIQTFfRklMRV9SRVBMQUNFKQotCQk/IGxvb2t1cF9yZXBsYWNlX29iamVjdChzaGExKSA6IHNoYTE7CisJY29uc3QgdW5zaWduZWQgY2hhciAqcmVwbCA9IGxvb2t1cF9yZXBsYWNlX29iamVjdF9leHRlbmRlZChzaGExLCBmbGFnKTsKIAogCWVycm5vID0gMDsKIAlkYXRhID0gcmVhZF9vYmplY3QocmVwbCwgdHlwZSwgc2l6ZSk7CkBAIC0yNzg3LDcgKzI4NzUsOSBAQAogCQkvKiBNYWtlIHN1cmUgdGhlIGRpcmVjdG9yeSBleGlzdHMgKi8KIAkJbWVtY3B5KGJ1ZmZlciwgZmlsZW5hbWUsIGRpcmxlbik7CiAJCWJ1ZmZlcltkaXJsZW4tMV0gPSAwOwotCQlpZiAobWtkaXIoYnVmZmVyLCAwNzc3KSB8fCBhZGp1c3Rfc2hhcmVkX3Blcm0oYnVmZmVyKSkKKwkJaWYgKG1rZGlyKGJ1ZmZlciwgMDc3NykgJiYgZXJybm8gIT0gRUVYSVNUKQorCQkJcmV0dXJuIC0xOworCQlpZiAoYWRqdXN0X3NoYXJlZF9wZXJtKGJ1ZmZlcikpCiAJCQlyZXR1cm4gLTE7CiAKIAkJLyogVHJ5IGFnYWluICovCmRpZmYgLS1naXQgYS9zaGExX25hbWUuYyBiL3NoYTFfbmFtZS5jCmluZGV4IDY1YWQwNjYuLjZmY2E4NjkgMTAwNjQ0Ci0tLSBhL3NoYTFfbmFtZS5jCisrKyBiL3NoYTFfbmFtZS5jCkBAIC0zNDMsNyArMzQzLDYgQEAKIAlyZXR1cm4gc3RhdHVzOwogfQogCi0KIGludCBmb3JfZWFjaF9hYmJyZXYoY29uc3QgY2hhciAqcHJlZml4LCBlYWNoX2FiYnJldl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKIHsKIAljaGFyIGhleF9wZnhbNDBdOwpAQCAtNDMxLDcgKzQzMCw3IEBACiB9CiAKIHN0YXRpYyBpbnQgZ2V0X3NoYTFfMShjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuLCB1bnNpZ25lZCBjaGFyICpzaGExLCB1bnNpZ25lZCBsb29rdXBfZmxhZ3MpOwotc3RhdGljIGludCBpbnRlcnByZXRfbnRoX3ByaW9yX2NoZWNrb3V0KGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzdHJidWYgKmJ1Zik7CitzdGF0aWMgaW50IGludGVycHJldF9udGhfcHJpb3JfY2hlY2tvdXQoY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4sIHN0cnVjdCBzdHJidWYgKmJ1Zik7CiAKIHN0YXRpYyBpbnQgZ2V0X3NoYTFfYmFzaWMoY29uc3QgY2hhciAqc3RyLCBpbnQgbGVuLCB1bnNpZ25lZCBjaGFyICpzaGExKQogewpAQCAtNDUyLDkgKzQ1MSw5IEBACiAJaW50IGF0LCByZWZsb2dfbGVuLCBudGhfcHJpb3IgPSAwOwogCiAJaWYgKGxlbiA9PSA0MCAmJiAhZ2V0X3NoYTFfaGV4KHN0ciwgc2hhMSkpIHsKLQkJaWYgKHdhcm5fb25fb2JqZWN0X3JlZm5hbWVfYW1iaWd1aXR5KSB7CisJCWlmICh3YXJuX2FtYmlndW91c19yZWZzICYmIHdhcm5fb25fb2JqZWN0X3JlZm5hbWVfYW1iaWd1aXR5KSB7CiAJCQlyZWZzX2ZvdW5kID0gZHdpbV9yZWYoc3RyLCBsZW4sIHRtcF9zaGExLCAmcmVhbF9yZWYpOwotCQkJaWYgKHJlZnNfZm91bmQgPiAwICYmIHdhcm5fYW1iaWd1b3VzX3JlZnMpIHsKKwkJCWlmIChyZWZzX2ZvdW5kID4gMCkgewogCQkJCXdhcm5pbmcod2Fybl9tc2csIGxlbiwgc3RyKTsKIAkJCQlpZiAoYWR2aWNlX29iamVjdF9uYW1lX3dhcm5pbmcpCiAJCQkJCWZwcmludGYoc3RkZXJyLCAiJXNcbiIsIF8ob2JqZWN0X25hbWVfbXNnKSk7CkBAIC00OTMsNyArNDkyLDcgQEAKIAkJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAkJaW50IGRldGFjaGVkOwogCi0JCWlmIChpbnRlcnByZXRfbnRoX3ByaW9yX2NoZWNrb3V0KHN0ciwgJmJ1ZikgPiAwKSB7CisJCWlmIChpbnRlcnByZXRfbnRoX3ByaW9yX2NoZWNrb3V0KHN0ciwgbGVuLCAmYnVmKSA+IDApIHsKIAkJCWRldGFjaGVkID0gKGJ1Zi5sZW4gPT0gNDAgJiYgIWdldF9zaGExX2hleChidWYuYnVmLCBzaGExKSk7CiAJCQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAkJCWlmIChkZXRhY2hlZCkKQEAgLTU0Nyw3ICs1NDYsNyBAQAogCQlpZiAocmVhZF9yZWZfYXQocmVhbF9yZWYsIGF0X3RpbWUsIG50aCwgc2hhMSwgTlVMTCwKIAkJCQkmY29fdGltZSwgJmNvX3R6LCAmY29fY250KSkgewogCQkJaWYgKCFsZW4pIHsKLQkJCQlpZiAoIXByZWZpeGNtcChyZWFsX3JlZiwgInJlZnMvaGVhZHMvIikpIHsKKwkJCQlpZiAoc3RhcnRzX3dpdGgocmVhbF9yZWYsICJyZWZzL2hlYWRzLyIpKSB7CiAJCQkJCXN0ciA9IHJlYWxfcmVmICsgMTE7CiAJCQkJCWxlbiA9IHN0cmxlbihyZWFsX3JlZiArIDExKTsKIAkJCQl9IGVsc2UgewpAQCAtNTgyLDggKzU4MSw2IEBACiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAljb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShzaGExKTsKLQlpZiAoIWNvbW1pdCkKLQkJcmV0dXJuIC0xOwogCWlmIChwYXJzZV9jb21taXQoY29tbWl0KSkKIAkJcmV0dXJuIC0xOwogCWlmICghaWR4KSB7CkBAIC02NzcsMTMgKzY3NCwxNSBAQAogCQlyZXR1cm4gLTE7CiAKIAlzcCsrOyAvKiBiZWdpbm5pbmcgb2YgdHlwZSBuYW1lLCBvciBjbG9zaW5nIGJyYWNlIGZvciBlbXB0eSAqLwotCWlmICghc3RybmNtcChjb21taXRfdHlwZSwgc3AsIDYpICYmIHNwWzZdID09ICd9JykKKwlpZiAoc3RhcnRzX3dpdGgoc3AsICJjb21taXR9IikpCiAJCWV4cGVjdGVkX3R5cGUgPSBPQkpfQ09NTUlUOwotCWVsc2UgaWYgKCFzdHJuY21wKHRyZWVfdHlwZSwgc3AsIDQpICYmIHNwWzRdID09ICd9JykKKwllbHNlIGlmIChzdGFydHNfd2l0aChzcCwgInRhZ30iKSkKKwkJZXhwZWN0ZWRfdHlwZSA9IE9CSl9UQUc7CisJZWxzZSBpZiAoc3RhcnRzX3dpdGgoc3AsICJ0cmVlfSIpKQogCQlleHBlY3RlZF90eXBlID0gT0JKX1RSRUU7Ci0JZWxzZSBpZiAoIXN0cm5jbXAoYmxvYl90eXBlLCBzcCwgNCkgJiYgc3BbNF0gPT0gJ30nKQorCWVsc2UgaWYgKHN0YXJ0c193aXRoKHNwLCAiYmxvYn0iKSkKIAkJZXhwZWN0ZWRfdHlwZSA9IE9CSl9CTE9COwotCWVsc2UgaWYgKCFwcmVmaXhjbXAoc3AsICJvYmplY3R9IikpCisJZWxzZSBpZiAoc3RhcnRzX3dpdGgoc3AsICJvYmplY3R9IikpCiAJCWV4cGVjdGVkX3R5cGUgPSBPQkpfQU5ZOwogCWVsc2UgaWYgKHNwWzBdID09ICd9JykKIAkJZXhwZWN0ZWRfdHlwZSA9IE9CSl9OT05FOwpAQCAtOTEwLDcgKzkwOSw3IEBACiAJY29uc3QgY2hhciAqbWF0Y2ggPSBOVUxMLCAqdGFyZ2V0ID0gTlVMTDsKIAlzaXplX3QgbGVuOwogCi0JaWYgKCFwcmVmaXhjbXAobWVzc2FnZSwgImNoZWNrb3V0OiBtb3ZpbmcgZnJvbSAiKSkgeworCWlmIChzdGFydHNfd2l0aChtZXNzYWdlLCAiY2hlY2tvdXQ6IG1vdmluZyBmcm9tICIpKSB7CiAJCW1hdGNoID0gbWVzc2FnZSArIHN0cmxlbigiY2hlY2tvdXQ6IG1vdmluZyBmcm9tICIpOwogCQl0YXJnZXQgPSBzdHJzdHIobWF0Y2gsICIgdG8gIik7CiAJfQpAQCAtOTMwLDcgKzkyOSw4IEBACiAgKiBQYXJzZSBAey1OfSBzeW50YXgsIHJldHVybiB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgcGFyc2VkCiAgKiBpZiBzdWNjZXNzZnVsOyBvdGhlcndpc2Ugc2lnbmFsIGFuIGVycm9yIHdpdGggbmVnYXRpdmUgdmFsdWUuCiAgKi8KLXN0YXRpYyBpbnQgaW50ZXJwcmV0X250aF9wcmlvcl9jaGVja291dChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3RyYnVmICpidWYpCitzdGF0aWMgaW50IGludGVycHJldF9udGhfcHJpb3JfY2hlY2tvdXQoY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4sCisJCQkJCXN0cnVjdCBzdHJidWYgKmJ1ZikKIHsKIAlsb25nIG50aDsKIAlpbnQgcmV0dmFsOwpAQCAtOTM4LDkgKzkzOCwxMSBAQAogCWNvbnN0IGNoYXIgKmJyYWNlOwogCWNoYXIgKm51bV9lbmQ7CiAKKwlpZiAobmFtZWxlbiA8IDQpCisJCXJldHVybiAtMTsKIAlpZiAobmFtZVswXSAhPSAnQCcgfHwgbmFtZVsxXSAhPSAneycgfHwgbmFtZVsyXSAhPSAnLScpCiAJCXJldHVybiAtMTsKLQlicmFjZSA9IHN0cmNocihuYW1lLCAnfScpOworCWJyYWNlID0gbWVtY2hyKG5hbWUsICd9JywgbmFtZWxlbik7CiAJaWYgKCFicmFjZSkKIAkJcmV0dXJuIC0xOwogCW50aCA9IHN0cnRvbChuYW1lICsgMywgJm51bV9lbmQsIDEwKTsKQEAgLTEwMDQsNiArMTAwNiwyOCBAQAogCXJldHVybiBzdDsKIH0KIAorLyogcGFyc2UgQHNvbWV0aGluZyBzeW50YXgsIHdoZW4gJ3NvbWV0aGluZycgaXMgbm90IHsuKn0gKi8KK3N0YXRpYyBpbnQgaW50ZXJwcmV0X2VtcHR5X2F0KGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLCBpbnQgbGVuLCBzdHJ1Y3Qgc3RyYnVmICpidWYpCit7CisJY29uc3QgY2hhciAqbmV4dDsKKworCWlmIChsZW4gfHwgbmFtZVsxXSA9PSAneycpCisJCXJldHVybiAtMTsKKworCS8qIG1ha2Ugc3VyZSBpdCdzIGEgc2luZ2xlIEAsIG9yIEBAey4qfSwgbm90IEBmb28gKi8KKwluZXh0ID0gbWVtY2hyKG5hbWUgKyBsZW4gKyAxLCAnQCcsIG5hbWVsZW4gLSBsZW4gLSAxKTsKKwlpZiAobmV4dCAmJiBuZXh0WzFdICE9ICd7JykKKwkJcmV0dXJuIC0xOworCWlmICghbmV4dCkKKwkJbmV4dCA9IG5hbWUgKyBuYW1lbGVuOworCWlmIChuZXh0ICE9IG5hbWUgKyAxKQorCQlyZXR1cm4gLTE7CisKKwlzdHJidWZfcmVzZXQoYnVmKTsKKwlzdHJidWZfYWRkKGJ1ZiwgIkhFQUQiLCA0KTsKKwlyZXR1cm4gMTsKK30KKwogc3RhdGljIGludCByZWludGVycHJldChjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwgaW50IGxlbiwgc3RydWN0IHN0cmJ1ZiAqYnVmKQogewogCS8qIHdlIGhhdmUgZXh0cmEgZGF0YSwgd2hpY2ggbWlnaHQgbmVlZCBmdXJ0aGVyIHByb2Nlc3NpbmcgKi8KQEAgLTEwMTIsNyArMTAzNiw3IEBACiAJaW50IHJldDsKIAogCXN0cmJ1Zl9hZGQoYnVmLCBuYW1lICsgbGVuLCBuYW1lbGVuIC0gbGVuKTsKLQlyZXQgPSBpbnRlcnByZXRfYnJhbmNoX25hbWUoYnVmLT5idWYsICZ0bXApOworCXJldCA9IGludGVycHJldF9icmFuY2hfbmFtZShidWYtPmJ1ZiwgYnVmLT5sZW4sICZ0bXApOwogCS8qIHRoYXQgZGF0YSB3YXMgbm90IGludGVycHJldGVkLCByZW1vdmUgb3VyIGNydWZ0ICovCiAJaWYgKHJldCA8IDApIHsKIAkJc3RyYnVmX3NldGxlbihidWYsIHVzZWQpOwpAQCAtMTAyNSw2ICsxMDQ5LDU3IEBACiAJcmV0dXJuIHJldCAtIHVzZWQgKyBsZW47CiB9CiAKK3N0YXRpYyB2b2lkIHNldF9zaG9ydGVuZWRfcmVmKHN0cnVjdCBzdHJidWYgKmJ1ZiwgY29uc3QgY2hhciAqcmVmKQoreworCWNoYXIgKnMgPSBzaG9ydGVuX3VuYW1iaWd1b3VzX3JlZihyZWYsIDApOworCXN0cmJ1Zl9yZXNldChidWYpOworCXN0cmJ1Zl9hZGRzdHIoYnVmLCBzKTsKKwlmcmVlKHMpOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqZ2V0X3Vwc3RyZWFtX2JyYW5jaChjb25zdCBjaGFyICpicmFuY2hfYnVmLCBpbnQgbGVuKQoreworCWNoYXIgKmJyYW5jaCA9IHhzdHJuZHVwKGJyYW5jaF9idWYsIGxlbik7CisJc3RydWN0IGJyYW5jaCAqdXBzdHJlYW0gPSBicmFuY2hfZ2V0KCpicmFuY2ggPyBicmFuY2ggOiBOVUxMKTsKKworCS8qCisJICogVXBzdHJlYW0gY2FuIGJlIE5VTEwgb25seSBpZiBicmFuY2ggcmVmZXJzIHRvIEhFQUQgYW5kIEhFQUQKKwkgKiBwb2ludHMgdG8gc29tZXRoaW5nIGRpZmZlcmVudCB0aGFuIGEgYnJhbmNoLgorCSAqLworCWlmICghdXBzdHJlYW0pCisJCWRpZShfKCJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIikpOworCWlmICghdXBzdHJlYW0tPm1lcmdlIHx8ICF1cHN0cmVhbS0+bWVyZ2VbMF0tPmRzdCkgeworCQlpZiAoIXJlZl9leGlzdHModXBzdHJlYW0tPnJlZm5hbWUpKQorCQkJZGllKF8oIk5vIHN1Y2ggYnJhbmNoOiAnJXMnIiksIGJyYW5jaCk7CisJCWlmICghdXBzdHJlYW0tPm1lcmdlKSB7CisJCQlkaWUoXygiTm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciKSwKKwkJCQl1cHN0cmVhbS0+bmFtZSk7CisJCX0KKwkJZGllKAorCQkJXygiVXBzdHJlYW0gYnJhbmNoICclcycgbm90IHN0b3JlZCBhcyBhIHJlbW90ZS10cmFja2luZyBicmFuY2giKSwKKwkJCXVwc3RyZWFtLT5tZXJnZVswXS0+c3JjKTsKKwl9CisJZnJlZShicmFuY2gpOworCisJcmV0dXJuIHVwc3RyZWFtLT5tZXJnZVswXS0+ZHN0OworfQorCitzdGF0aWMgaW50IGludGVycHJldF91cHN0cmVhbV9tYXJrKGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLAorCQkJCSAgIGludCBhdCwgc3RydWN0IHN0cmJ1ZiAqYnVmKQoreworCWludCBsZW47CisKKwlsZW4gPSB1cHN0cmVhbV9tYXJrKG5hbWUgKyBhdCwgbmFtZWxlbiAtIGF0KTsKKwlpZiAoIWxlbikKKwkJcmV0dXJuIC0xOworCisJaWYgKG1lbWNocihuYW1lLCAnOicsIGF0KSkKKwkJcmV0dXJuIC0xOworCisJc2V0X3Nob3J0ZW5lZF9yZWYoYnVmLCBnZXRfdXBzdHJlYW1fYnJhbmNoKG5hbWUsIGF0KSk7CisJcmV0dXJuIGxlbiArIGF0OworfQorCiAvKgogICogVGhpcyByZWFkcyBzaG9ydC1oYW5kIHN5bnRheCB0aGF0IG5vdCBvbmx5IGV2YWx1YXRlcyB0byBhIGNvbW1pdAogICogb2JqZWN0IG5hbWUsIGJ1dCBhbHNvIGNhbiBhY3QgYXMgaWYgdGhlIGVuZCB1c2VyIHNwZWxsZWQgdGhlIG5hbWUKQEAgLTEwNDYsMTMgKzExMjEsMTQgQEAKICAqIElmIHRoZSBpbnB1dCB3YXMgb2sgYnV0IHRoZXJlIGFyZSBub3QgTiBicmFuY2ggc3dpdGNoZXMgaW4gdGhlCiAgKiByZWZsb2csIGl0IHJldHVybnMgMC4KICAqLwotaW50IGludGVycHJldF9icmFuY2hfbmFtZShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3RyYnVmICpidWYpCitpbnQgaW50ZXJwcmV0X2JyYW5jaF9uYW1lKGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLCBzdHJ1Y3Qgc3RyYnVmICpidWYpCiB7Ci0JY2hhciAqY3A7Ci0Jc3RydWN0IGJyYW5jaCAqdXBzdHJlYW07Ci0JaW50IG5hbWVsZW4gPSBzdHJsZW4obmFtZSk7Ci0JaW50IGxlbiA9IGludGVycHJldF9udGhfcHJpb3JfY2hlY2tvdXQobmFtZSwgYnVmKTsKLQlpbnQgdG1wX2xlbjsKKwljaGFyICphdDsKKwljb25zdCBjaGFyICpzdGFydDsKKwlpbnQgbGVuID0gaW50ZXJwcmV0X250aF9wcmlvcl9jaGVja291dChuYW1lLCBuYW1lbGVuLCBidWYpOworCisJaWYgKCFuYW1lbGVuKQorCQluYW1lbGVuID0gc3RybGVuKG5hbWUpOwogCiAJaWYgKCFsZW4pIHsKIAkJcmV0dXJuIGxlbjsgLyogc3ludGF4IE9rLCBub3QgZW5vdWdoIHN3aXRjaGVzICovCkBAIC0xMDYzLDQ0ICsxMTM5LDI2IEBACiAJCQlyZXR1cm4gcmVpbnRlcnByZXQobmFtZSwgbmFtZWxlbiwgbGVuLCBidWYpOwogCX0KIAotCWNwID0gc3RyY2hyKG5hbWUsICdAJyk7Ci0JaWYgKCFjcCkKLQkJcmV0dXJuIC0xOwotCXRtcF9sZW4gPSB1cHN0cmVhbV9tYXJrKGNwLCBuYW1lbGVuIC0gKGNwIC0gbmFtZSkpOwotCWlmICghdG1wX2xlbikKLQkJcmV0dXJuIC0xOwotCWxlbiA9IGNwICsgdG1wX2xlbiAtIG5hbWU7Ci0JY3AgPSB4c3RybmR1cChuYW1lLCBjcCAtIG5hbWUpOwotCXVwc3RyZWFtID0gYnJhbmNoX2dldCgqY3AgPyBjcCA6IE5VTEwpOwotCS8qCi0JICogVXBzdHJlYW0gY2FuIGJlIE5VTEwgb25seSBpZiBjcCByZWZlcnMgdG8gSEVBRCBhbmQgSEVBRAotCSAqIHBvaW50cyB0byBzb21ldGhpbmcgZGlmZmVyZW50IHRoYW4gYSBicmFuY2guCi0JICovCi0JaWYgKCF1cHN0cmVhbSkKLQkJZGllKF8oIkhFQUQgZG9lcyBub3QgcG9pbnQgdG8gYSBicmFuY2giKSk7Ci0JaWYgKCF1cHN0cmVhbS0+bWVyZ2UgfHwgIXVwc3RyZWFtLT5tZXJnZVswXS0+ZHN0KSB7Ci0JCWlmICghcmVmX2V4aXN0cyh1cHN0cmVhbS0+cmVmbmFtZSkpCi0JCQlkaWUoXygiTm8gc3VjaCBicmFuY2g6ICclcyciKSwgY3ApOwotCQlpZiAoIXVwc3RyZWFtLT5tZXJnZSkgewotCQkJZGllKF8oIk5vIHVwc3RyZWFtIGNvbmZpZ3VyZWQgZm9yIGJyYW5jaCAnJXMnIiksCi0JCQkJdXBzdHJlYW0tPm5hbWUpOwotCQl9Ci0JCWRpZSgKLQkJCV8oIlVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIiksCi0JCQl1cHN0cmVhbS0+bWVyZ2VbMF0tPnNyYyk7CisJZm9yIChzdGFydCA9IG5hbWU7CisJICAgICAoYXQgPSBtZW1jaHIoc3RhcnQsICdAJywgbmFtZWxlbiAtIChzdGFydCAtIG5hbWUpKSk7CisJICAgICBzdGFydCA9IGF0ICsgMSkgeworCisJCWxlbiA9IGludGVycHJldF9lbXB0eV9hdChuYW1lLCBuYW1lbGVuLCBhdCAtIG5hbWUsIGJ1Zik7CisJCWlmIChsZW4gPiAwKQorCQkJcmV0dXJuIHJlaW50ZXJwcmV0KG5hbWUsIG5hbWVsZW4sIGxlbiwgYnVmKTsKKworCQlsZW4gPSBpbnRlcnByZXRfdXBzdHJlYW1fbWFyayhuYW1lLCBuYW1lbGVuLCBhdCAtIG5hbWUsIGJ1Zik7CisJCWlmIChsZW4gPiAwKQorCQkJcmV0dXJuIGxlbjsKIAl9Ci0JZnJlZShjcCk7Ci0JY3AgPSBzaG9ydGVuX3VuYW1iaWd1b3VzX3JlZih1cHN0cmVhbS0+bWVyZ2VbMF0tPmRzdCwgMCk7Ci0Jc3RyYnVmX3Jlc2V0KGJ1Zik7Ci0Jc3RyYnVmX2FkZHN0cihidWYsIGNwKTsKLQlmcmVlKGNwKTsKLQlyZXR1cm4gbGVuOworCisJcmV0dXJuIC0xOwogfQogCiBpbnQgc3RyYnVmX2JyYW5jaG5hbWUoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAJaW50IGxlbiA9IHN0cmxlbihuYW1lKTsKLQlpbnQgdXNlZCA9IGludGVycHJldF9icmFuY2hfbmFtZShuYW1lLCBzYik7CisJaW50IHVzZWQgPSBpbnRlcnByZXRfYnJhbmNoX25hbWUobmFtZSwgbGVuLCBzYik7CiAKIAlpZiAodXNlZCA9PSBsZW4pCiAJCXJldHVybiAwOwpAQCAtMTEzMCwxMyArMTE4OCwxMyBAQAogfQogCiAvKgotICogTWFueSBjYWxsZXJzIGtub3cgdGhhdCB0aGUgdXNlciBtZWFudCB0byBuYW1lIGEgY29tbWl0dGlzaCBieQorICogTWFueSBjYWxsZXJzIGtub3cgdGhhdCB0aGUgdXNlciBtZWFudCB0byBuYW1lIGEgY29tbWl0LWlzaCBieQogICogc3ludGFjdGljYWwgcG9zaXRpb25zIHdoZXJlIHRoZSBvYmplY3QgbmFtZSBhcHBlYXJzLiAgQ2FsbGluZyB0aGlzCiAgKiBmdW5jdGlvbiBhbGxvd3MgdGhlIG1hY2hpbmVyeSB0byBkaXNhbWJpZ3VhdGUgc2hvcnRlci10aGFuLXVuaXF1ZQotICogYWJicmV2aWF0ZWQgb2JqZWN0IG5hbWVzIGJldHdlZW4gY29tbWl0dGlzaCBhbmQgb3RoZXJzLgorICogYWJicmV2aWF0ZWQgb2JqZWN0IG5hbWVzIGJldHdlZW4gY29tbWl0LWlzaCBhbmQgb3RoZXJzLgogICoKICAqIE5vdGUgdGhhdCB0aGlzIGRvZXMgTk9UIGVycm9yIG91dCB3aGVuIHRoZSBuYW1lZCBvYmplY3QgaXMgbm90IGEKLSAqIGNvbW1pdHRpc2guIEl0IGlzIG1lcmVseSB0byBnaXZlIGEgaGludCB0byB0aGUgZGlzYW1iaWd1YXRpb24KKyAqIGNvbW1pdC1pc2guIEl0IGlzIG1lcmVseSB0byBnaXZlIGEgaGludCB0byB0aGUgZGlzYW1iaWd1YXRpb24KICAqIG1hY2hpbmVyeS4KICAqLwogaW50IGdldF9zaGExX2NvbW1pdHRpc2goY29uc3QgY2hhciAqbmFtZSwgdW5zaWduZWQgY2hhciAqc2hhMSkKQEAgLTEyNzMsNyArMTMzMSw3IEBACiAKIHN0YXRpYyBjaGFyICpyZXNvbHZlX3JlbGF0aXZlX3BhdGgoY29uc3QgY2hhciAqcmVsKQogewotCWlmIChwcmVmaXhjbXAocmVsLCAiLi8iKSAmJiBwcmVmaXhjbXAocmVsLCAiLi4vIikpCisJaWYgKCFzdGFydHNfd2l0aChyZWwsICIuLyIpICYmICFzdGFydHNfd2l0aChyZWwsICIuLi8iKSkKIAkJcmV0dXJuIE5VTEw7CiAKIAlpZiAoIXN0YXJ0dXBfaW5mbykKZGlmZiAtLWdpdCBhL3NoYWxsb3cuYyBiL3NoYWxsb3cuYwppbmRleCBjZGYzN2Q2Li5iYmM5OGI1IDEwMDY0NAotLS0gYS9zaGFsbG93LmMKKysrIGIvc2hhbGxvdy5jCkBAIC0yLDE1ICsyLDIzIEBACiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAidGFnLmgiCiAjaW5jbHVkZSAicGt0LWxpbmUuaCIKKyNpbmNsdWRlICJyZW1vdGUuaCIKKyNpbmNsdWRlICJyZWZzLmgiCisjaW5jbHVkZSAic2hhMS1hcnJheS5oIgorI2luY2x1ZGUgImRpZmYuaCIKKyNpbmNsdWRlICJyZXZpc2lvbi5oIgorI2luY2x1ZGUgImNvbW1pdC1zbGFiLmgiCiAKIHN0YXRpYyBpbnQgaXNfc2hhbGxvdyA9IC0xOwogc3RhdGljIHN0cnVjdCBzdGF0IHNoYWxsb3dfc3RhdDsKIHN0YXRpYyBjaGFyICphbHRlcm5hdGVfc2hhbGxvd19maWxlOwogCi12b2lkIHNldF9hbHRlcm5hdGVfc2hhbGxvd19maWxlKGNvbnN0IGNoYXIgKnBhdGgpCit2b2lkIHNldF9hbHRlcm5hdGVfc2hhbGxvd19maWxlKGNvbnN0IGNoYXIgKnBhdGgsIGludCBvdmVycmlkZSkKIHsKIAlpZiAoaXNfc2hhbGxvdyAhPSAtMSkKIAkJZGllKCJCVUc6IGlzX3JlcG9zaXRvcnlfc2hhbGxvdyBtdXN0IG5vdCBiZSBjYWxsZWQgYmVmb3JlIHNldF9hbHRlcm5hdGVfc2hhbGxvd19maWxlIik7CisJaWYgKGFsdGVybmF0ZV9zaGFsbG93X2ZpbGUgJiYgIW92ZXJyaWRlKQorCQlyZXR1cm47CiAJZnJlZShhbHRlcm5hdGVfc2hhbGxvd19maWxlKTsKIAlhbHRlcm5hdGVfc2hhbGxvd19maWxlID0gcGF0aCA/IHhzdHJkdXAocGF0aCkgOiBOVUxMOwogfQpAQCAtNjksNiArNzcsNyBAQAogCXN0cnVjdCBjb21taXRfbGlzdCAqcmVzdWx0ID0gTlVMTDsKIAlzdHJ1Y3Qgb2JqZWN0X2FycmF5IHN0YWNrID0gT0JKRUNUX0FSUkFZX0lOSVQ7CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gTlVMTDsKKwlzdHJ1Y3QgY29tbWl0X2dyYWZ0ICpncmFmdDsKIAogCXdoaWxlIChjb21taXQgfHwgaSA8IGhlYWRzLT5uciB8fCBzdGFjay5ucikgewogCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnA7CkBAIC05MCwxMCArOTksMTIgQEAKIAkJCQljdXJfZGVwdGggPSAqKGludCAqKWNvbW1pdC0+dXRpbDsKIAkJCX0KIAkJfQotCQlpZiAocGFyc2VfY29tbWl0KGNvbW1pdCkpCi0JCQlkaWUoImludmFsaWQgY29tbWl0Iik7CisJCXBhcnNlX2NvbW1pdF9vcl9kaWUoY29tbWl0KTsKIAkJY3VyX2RlcHRoKys7Ci0JCWlmIChjdXJfZGVwdGggPj0gZGVwdGgpIHsKKwkJaWYgKChkZXB0aCAhPSBJTkZJTklURV9ERVBUSCAmJiBjdXJfZGVwdGggPj0gZGVwdGgpIHx8CisJCSAgICAoaXNfcmVwb3NpdG9yeV9zaGFsbG93KCkgJiYgIWNvbW1pdC0+cGFyZW50cyAmJgorCQkgICAgIChncmFmdCA9IGxvb2t1cF9jb21taXRfZ3JhZnQoY29tbWl0LT5vYmplY3Quc2hhMSkpICE9IE5VTEwgJiYKKwkJICAgICBncmFmdC0+bnJfcGFyZW50IDwgMCkpIHsKIAkJCWNvbW1pdF9saXN0X2luc2VydChjb21taXQsICZyZXN1bHQpOwogCQkJY29tbWl0LT5vYmplY3QuZmxhZ3MgfD0gc2hhbGxvd19mbGFnOwogCQkJY29tbWl0ID0gTlVMTDsKQEAgLTE0MywxMCArMTU0LDE0IEBACiAJCWRpZSgic2hhbGxvdyBmaWxlIHdhcyBjaGFuZ2VkIGR1cmluZyBmZXRjaCIpOwogfQogCisjZGVmaW5lIFNFRU5fT05MWSAxCisjZGVmaW5lIFZFUkJPU0UgICAyCisKIHN0cnVjdCB3cml0ZV9zaGFsbG93X2RhdGEgewogCXN0cnVjdCBzdHJidWYgKm91dDsKIAlpbnQgdXNlX3BhY2tfcHJvdG9jb2w7CiAJaW50IGNvdW50OworCXVuc2lnbmVkIGZsYWdzOwogfTsKIAogc3RhdGljIGludCB3cml0ZV9vbmVfc2hhbGxvdyhjb25zdCBzdHJ1Y3QgY29tbWl0X2dyYWZ0ICpncmFmdCwgdm9pZCAqY2JfZGF0YSkKQEAgLTE1NSw2ICsxNzAsMTUgQEAKIAljb25zdCBjaGFyICpoZXggPSBzaGExX3RvX2hleChncmFmdC0+c2hhMSk7CiAJaWYgKGdyYWZ0LT5ucl9wYXJlbnQgIT0gLTEpCiAJCXJldHVybiAwOworCWlmIChkYXRhLT5mbGFncyAmIFNFRU5fT05MWSkgeworCQlzdHJ1Y3QgY29tbWl0ICpjID0gbG9va3VwX2NvbW1pdChncmFmdC0+c2hhMSk7CisJCWlmICghYyB8fCAhKGMtPm9iamVjdC5mbGFncyAmIFNFRU4pKSB7CisJCQlpZiAoZGF0YS0+ZmxhZ3MgJiBWRVJCT1NFKQorCQkJCXByaW50ZigiUmVtb3ZpbmcgJXMgZnJvbSAuZ2l0L3NoYWxsb3dcbiIsCisJCQkJICAgICAgIHNoYTFfdG9faGV4KGMtPm9iamVjdC5zaGExKSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KIAlkYXRhLT5jb3VudCsrOwogCWlmIChkYXRhLT51c2VfcGFja19wcm90b2NvbCkKIAkJcGFja2V0X2J1Zl93cml0ZShkYXRhLT5vdXQsICJzaGFsbG93ICVzIiwgaGV4KTsKQEAgLTE2NSwyMiArMTg5LDM5IEBACiAJcmV0dXJuIDA7CiB9CiAKLWludCB3cml0ZV9zaGFsbG93X2NvbW1pdHMoc3RydWN0IHN0cmJ1ZiAqb3V0LCBpbnQgdXNlX3BhY2tfcHJvdG9jb2wpCitzdGF0aWMgaW50IHdyaXRlX3NoYWxsb3dfY29tbWl0c18xKHN0cnVjdCBzdHJidWYgKm91dCwgaW50IHVzZV9wYWNrX3Byb3RvY29sLAorCQkJCSAgIGNvbnN0IHN0cnVjdCBzaGExX2FycmF5ICpleHRyYSwKKwkJCQkgICB1bnNpZ25lZCBmbGFncykKIHsKIAlzdHJ1Y3Qgd3JpdGVfc2hhbGxvd19kYXRhIGRhdGE7CisJaW50IGk7CiAJZGF0YS5vdXQgPSBvdXQ7CiAJZGF0YS51c2VfcGFja19wcm90b2NvbCA9IHVzZV9wYWNrX3Byb3RvY29sOwogCWRhdGEuY291bnQgPSAwOworCWRhdGEuZmxhZ3MgPSBmbGFnczsKIAlmb3JfZWFjaF9jb21taXRfZ3JhZnQod3JpdGVfb25lX3NoYWxsb3csICZkYXRhKTsKKwlpZiAoIWV4dHJhKQorCQlyZXR1cm4gZGF0YS5jb3VudDsKKwlmb3IgKGkgPSAwOyBpIDwgZXh0cmEtPm5yOyBpKyspIHsKKwkJc3RyYnVmX2FkZHN0cihvdXQsIHNoYTFfdG9faGV4KGV4dHJhLT5zaGExW2ldKSk7CisJCXN0cmJ1Zl9hZGRjaChvdXQsICdcbicpOworCQlkYXRhLmNvdW50Kys7CisJfQogCXJldHVybiBkYXRhLmNvdW50OwogfQogCi1jaGFyICpzZXR1cF90ZW1wb3Jhcnlfc2hhbGxvdyh2b2lkKQoraW50IHdyaXRlX3NoYWxsb3dfY29tbWl0cyhzdHJ1Y3Qgc3RyYnVmICpvdXQsIGludCB1c2VfcGFja19wcm90b2NvbCwKKwkJCSAgY29uc3Qgc3RydWN0IHNoYTFfYXJyYXkgKmV4dHJhKQoreworCXJldHVybiB3cml0ZV9zaGFsbG93X2NvbW1pdHNfMShvdXQsIHVzZV9wYWNrX3Byb3RvY29sLCBleHRyYSwgMCk7Cit9CisKK2NoYXIgKnNldHVwX3RlbXBvcmFyeV9zaGFsbG93KGNvbnN0IHN0cnVjdCBzaGExX2FycmF5ICpleHRyYSkKIHsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJaW50IGZkOwogCi0JaWYgKHdyaXRlX3NoYWxsb3dfY29tbWl0cygmc2IsIDApKSB7CisJaWYgKHdyaXRlX3NoYWxsb3dfY29tbWl0cygmc2IsIDAsIGV4dHJhKSkgewogCQlzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKIAkJc3RyYnVmX2FkZHN0cigmcGF0aCwgZ2l0X3BhdGgoInNoYWxsb3dfWFhYWFhYIikpOwogCQlmZCA9IHhta3N0ZW1wKHBhdGguYnVmKTsKQEAgLTE5OSw3ICsyNDAsOCBAQAogfQogCiB2b2lkIHNldHVwX2FsdGVybmF0ZV9zaGFsbG93KHN0cnVjdCBsb2NrX2ZpbGUgKnNoYWxsb3dfbG9jaywKLQkJCSAgICAgY29uc3QgY2hhciAqKmFsdGVybmF0ZV9zaGFsbG93X2ZpbGUpCisJCQkgICAgIGNvbnN0IGNoYXIgKiphbHRlcm5hdGVfc2hhbGxvd19maWxlLAorCQkJICAgICBjb25zdCBzdHJ1Y3Qgc2hhMV9hcnJheSAqZXh0cmEpCiB7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCWludCBmZDsKQEAgLTIwNyw3ICsyNDksNyBAQAogCWNoZWNrX3NoYWxsb3dfZmlsZV9mb3JfdXBkYXRlKCk7CiAJZmQgPSBob2xkX2xvY2tfZmlsZV9mb3JfdXBkYXRlKHNoYWxsb3dfbG9jaywgZ2l0X3BhdGgoInNoYWxsb3ciKSwKIAkJCQkgICAgICAgTE9DS19ESUVfT05fRVJST1IpOwotCWlmICh3cml0ZV9zaGFsbG93X2NvbW1pdHMoJnNiLCAwKSkgeworCWlmICh3cml0ZV9zaGFsbG93X2NvbW1pdHMoJnNiLCAwLCBleHRyYSkpIHsKIAkJaWYgKHdyaXRlX2luX2Z1bGwoZmQsIHNiLmJ1Ziwgc2IubGVuKSAhPSBzYi5sZW4pCiAJCQlkaWVfZXJybm8oImZhaWxlZCB0byB3cml0ZSB0byAlcyIsCiAJCQkJICBzaGFsbG93X2xvY2stPmZpbGVuYW1lKTsKQEAgLTIyMCwzICsyNjIsNDE1IEBACiAJCSphbHRlcm5hdGVfc2hhbGxvd19maWxlID0gIiI7CiAJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIH0KKworc3RhdGljIGludCBhZHZlcnRpc2Vfc2hhbGxvd19ncmFmdHNfY2IoY29uc3Qgc3RydWN0IGNvbW1pdF9ncmFmdCAqZ3JhZnQsIHZvaWQgKmNiKQoreworCWludCBmZCA9ICooaW50ICopY2I7CisJaWYgKGdyYWZ0LT5ucl9wYXJlbnQgPT0gLTEpCisJCXBhY2tldF93cml0ZShmZCwgInNoYWxsb3cgJXNcbiIsIHNoYTFfdG9faGV4KGdyYWZ0LT5zaGExKSk7CisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgYWR2ZXJ0aXNlX3NoYWxsb3dfZ3JhZnRzKGludCBmZCkKK3sKKwlpZiAoIWlzX3JlcG9zaXRvcnlfc2hhbGxvdygpKQorCQlyZXR1cm47CisJZm9yX2VhY2hfY29tbWl0X2dyYWZ0KGFkdmVydGlzZV9zaGFsbG93X2dyYWZ0c19jYiwgJmZkKTsKK30KKworLyoKKyAqIG1hcmtfcmVhY2hhYmxlX29iamVjdHMoKSBzaG91bGQgaGF2ZSBiZWVuIHJ1biBwcmlvciB0byB0aGlzIGFuZCBhbGwKKyAqIHJlYWNoYWJsZSBjb21taXRzIG1hcmtlZCBhcyAiU0VFTiIuCisgKi8KK3ZvaWQgcHJ1bmVfc2hhbGxvdyhpbnQgc2hvd19vbmx5KQoreworCXN0YXRpYyBzdHJ1Y3QgbG9ja19maWxlIHNoYWxsb3dfbG9jazsKKwlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisJaW50IGZkOworCisJaWYgKHNob3dfb25seSkgeworCQl3cml0ZV9zaGFsbG93X2NvbW1pdHNfMSgmc2IsIDAsIE5VTEwsIFNFRU5fT05MWSB8IFZFUkJPU0UpOworCQlzdHJidWZfcmVsZWFzZSgmc2IpOworCQlyZXR1cm47CisJfQorCWNoZWNrX3NoYWxsb3dfZmlsZV9mb3JfdXBkYXRlKCk7CisJZmQgPSBob2xkX2xvY2tfZmlsZV9mb3JfdXBkYXRlKCZzaGFsbG93X2xvY2ssIGdpdF9wYXRoKCJzaGFsbG93IiksCisJCQkJICAgICAgIExPQ0tfRElFX09OX0VSUk9SKTsKKwlpZiAod3JpdGVfc2hhbGxvd19jb21taXRzXzEoJnNiLCAwLCBOVUxMLCBTRUVOX09OTFkpKSB7CisJCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBzYi5idWYsIHNiLmxlbikgIT0gc2IubGVuKQorCQkJZGllX2Vycm5vKCJmYWlsZWQgdG8gd3JpdGUgdG8gJXMiLAorCQkJCSAgc2hhbGxvd19sb2NrLmZpbGVuYW1lKTsKKwkJY29tbWl0X2xvY2tfZmlsZSgmc2hhbGxvd19sb2NrKTsKKwl9IGVsc2UgeworCQl1bmxpbmsoZ2l0X3BhdGgoInNoYWxsb3ciKSk7CisJCXJvbGxiYWNrX2xvY2tfZmlsZSgmc2hhbGxvd19sb2NrKTsKKwl9CisJc3RyYnVmX3JlbGVhc2UoJnNiKTsKK30KKworI2RlZmluZSBUUkFDRV9LRVkgIkdJVF9UUkFDRV9TSEFMTE9XIgorCisvKgorICogU3RlcCAxLCBzcGxpdCBzZW5kZXIgc2hhbGxvdyBjb21taXRzIGludG8gIm91cnMiIGFuZCAidGhlaXJzIgorICogU3RlcCAyLCBjbGVhbiAib3VycyIgYmFzZWQgb24gLmdpdC9zaGFsbG93CisgKi8KK3ZvaWQgcHJlcGFyZV9zaGFsbG93X2luZm8oc3RydWN0IHNoYWxsb3dfaW5mbyAqaW5mbywgc3RydWN0IHNoYTFfYXJyYXkgKnNhKQoreworCWludCBpOworCXRyYWNlX3ByaW50Zl9rZXkoVFJBQ0VfS0VZLCAic2hhbGxvdzogcHJlcGFyZV9zaGFsbG93X2luZm9cbiIpOworCW1lbXNldChpbmZvLCAwLCBzaXplb2YoKmluZm8pKTsKKwlpbmZvLT5zaGFsbG93ID0gc2E7CisJaWYgKCFzYSkKKwkJcmV0dXJuOworCWluZm8tPm91cnMgPSB4bWFsbG9jKHNpemVvZigqaW5mby0+b3VycykgKiBzYS0+bnIpOworCWluZm8tPnRoZWlycyA9IHhtYWxsb2Moc2l6ZW9mKCppbmZvLT50aGVpcnMpICogc2EtPm5yKTsKKwlmb3IgKGkgPSAwOyBpIDwgc2EtPm5yOyBpKyspIHsKKwkJaWYgKGhhc19zaGExX2ZpbGUoc2EtPnNoYTFbaV0pKSB7CisJCQlzdHJ1Y3QgY29tbWl0X2dyYWZ0ICpncmFmdDsKKwkJCWdyYWZ0ID0gbG9va3VwX2NvbW1pdF9ncmFmdChzYS0+c2hhMVtpXSk7CisJCQlpZiAoZ3JhZnQgJiYgZ3JhZnQtPm5yX3BhcmVudCA8IDApCisJCQkJY29udGludWU7CisJCQlpbmZvLT5vdXJzW2luZm8tPm5yX291cnMrK10gPSBpOworCQl9IGVsc2UKKwkJCWluZm8tPnRoZWlyc1tpbmZvLT5ucl90aGVpcnMrK10gPSBpOworCX0KK30KKwordm9pZCBjbGVhcl9zaGFsbG93X2luZm8oc3RydWN0IHNoYWxsb3dfaW5mbyAqaW5mbykKK3sKKwlmcmVlKGluZm8tPm91cnMpOworCWZyZWUoaW5mby0+dGhlaXJzKTsKK30KKworLyogU3RlcCA0LCByZW1vdmUgbm9uLWV4aXN0ZW50IG9uZXMgaW4gInRoZWlycyIgYWZ0ZXIgZ2V0dGluZyB0aGUgcGFjayAqLworCit2b2lkIHJlbW92ZV9ub25leGlzdGVudF90aGVpcnNfc2hhbGxvdyhzdHJ1Y3Qgc2hhbGxvd19pbmZvICppbmZvKQoreworCXVuc2lnbmVkIGNoYXIgKCpzaGExKVsyMF0gPSBpbmZvLT5zaGFsbG93LT5zaGExOworCWludCBpLCBkc3Q7CisJdHJhY2VfcHJpbnRmX2tleShUUkFDRV9LRVksICJzaGFsbG93OiByZW1vdmVfbm9uZXhpc3RlbnRfdGhlaXJzX3NoYWxsb3dcbiIpOworCWZvciAoaSA9IGRzdCA9IDA7IGkgPCBpbmZvLT5ucl90aGVpcnM7IGkrKykgeworCQlpZiAoaSAhPSBkc3QpCisJCQlpbmZvLT50aGVpcnNbZHN0XSA9IGluZm8tPnRoZWlyc1tpXTsKKwkJaWYgKGhhc19zaGExX2ZpbGUoc2hhMVtpbmZvLT50aGVpcnNbaV1dKSkKKwkJCWRzdCsrOworCX0KKwlpbmZvLT5ucl90aGVpcnMgPSBkc3Q7Cit9CisKK2RlZmluZV9jb21taXRfc2xhYihyZWZfYml0bWFwLCB1aW50MzJfdCAqKTsKKworc3RydWN0IHBhaW50X2luZm8geworCXN0cnVjdCByZWZfYml0bWFwIHJlZl9iaXRtYXA7CisJdW5zaWduZWQgbnJfYml0czsKKwljaGFyICoqc2xhYjsKKwljaGFyICpmcmVlLCAqZW5kOworCXVuc2lnbmVkIHNsYWJfY291bnQ7Cit9OworCitzdGF0aWMgdWludDMyX3QgKnBhaW50X2FsbG9jKHN0cnVjdCBwYWludF9pbmZvICppbmZvKQoreworCXVuc2lnbmVkIG5yID0gKGluZm8tPm5yX2JpdHMgKyAzMSkgLyAzMjsKKwl1bnNpZ25lZCBzaXplID0gbnIgKiBzaXplb2YodWludDMyX3QpOworCXZvaWQgKnA7CisJaWYgKCFpbmZvLT5zbGFiX2NvdW50IHx8IGluZm8tPmZyZWUgKyBzaXplID4gaW5mby0+ZW5kKSB7CisJCWluZm8tPnNsYWJfY291bnQrKzsKKwkJaW5mby0+c2xhYiA9IHhyZWFsbG9jKGluZm8tPnNsYWIsCisJCQkJICAgICAgaW5mby0+c2xhYl9jb3VudCAqIHNpemVvZigqaW5mby0+c2xhYikpOworCQlpbmZvLT5mcmVlID0geG1hbGxvYyhDT01NSVRfU0xBQl9TSVpFKTsKKwkJaW5mby0+c2xhYltpbmZvLT5zbGFiX2NvdW50IC0gMV0gPSBpbmZvLT5mcmVlOworCQlpbmZvLT5lbmQgPSBpbmZvLT5mcmVlICsgQ09NTUlUX1NMQUJfU0laRTsKKwl9CisJcCA9IGluZm8tPmZyZWU7CisJaW5mby0+ZnJlZSArPSBzaXplOworCXJldHVybiBwOworfQorCisvKgorICogR2l2ZW4gYSBjb21taXQgU0hBLTEsIHdhbGsgZG93biB0byBwYXJlbnRzIHVudGlsIGVpdGhlciBTRUVOLAorICogVU5JTlRFUkVTVElORyBvciBCT1RUT00gaXMgaGl0LiBTZXQgdGhlIGlkLXRoIGJpdCBpbiByZWZfYml0bWFwIGZvcgorICogYWxsIHdhbGtlZCBjb21taXRzLgorICovCitzdGF0aWMgdm9pZCBwYWludF9kb3duKHN0cnVjdCBwYWludF9pbmZvICppbmZvLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorCQkgICAgICAgaW50IGlkKQoreworCXVuc2lnbmVkIGludCBpLCBucjsKKwlzdHJ1Y3QgY29tbWl0X2xpc3QgKmhlYWQgPSBOVUxMOworCWludCBiaXRtYXBfbnIgPSAoaW5mby0+bnJfYml0cyArIDMxKSAvIDMyOworCWludCBiaXRtYXBfc2l6ZSA9IGJpdG1hcF9uciAqIHNpemVvZih1aW50MzJfdCk7CisJdWludDMyX3QgKnRtcCA9IHhtYWxsb2MoYml0bWFwX3NpemUpOyAvKiB0byBiZSBmcmVlZCBiZWZvcmUgcmV0dXJuICovCisJdWludDMyX3QgKmJpdG1hcCA9IHBhaW50X2FsbG9jKGluZm8pOworCXN0cnVjdCBjb21taXQgKmMgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkoc2hhMSwgMSk7CisJaWYgKCFjKQorCQlyZXR1cm47CisJbWVtc2V0KGJpdG1hcCwgMCwgYml0bWFwX3NpemUpOworCWJpdG1hcFtpZCAvIDMyXSB8PSAoMSA8PCAoaWQgJSAzMikpOworCWNvbW1pdF9saXN0X2luc2VydChjLCAmaGVhZCk7CisJd2hpbGUgKGhlYWQpIHsKKwkJc3RydWN0IGNvbW1pdF9saXN0ICpwOworCQlzdHJ1Y3QgY29tbWl0ICpjID0gaGVhZC0+aXRlbTsKKwkJdWludDMyX3QgKipyZWZzID0gcmVmX2JpdG1hcF9hdCgmaW5mby0+cmVmX2JpdG1hcCwgYyk7CisKKwkJcCA9IGhlYWQ7CisJCWhlYWQgPSBoZWFkLT5uZXh0OworCQlmcmVlKHApOworCisJCS8qIFhYWCBjaGVjayAiVU5JTlRFUkVTVElORyIgZnJvbSBwYWNrIGJpdG1hcHMgaWYgYXZhaWxhYmxlICovCisJCWlmIChjLT5vYmplY3QuZmxhZ3MgJiAoU0VFTiB8IFVOSU5URVJFU1RJTkcpKQorCQkJY29udGludWU7CisJCWVsc2UKKwkJCWMtPm9iamVjdC5mbGFncyB8PSBTRUVOOworCisJCWlmICgqcmVmcyA9PSBOVUxMKQorCQkJKnJlZnMgPSBiaXRtYXA7CisJCWVsc2UgeworCQkJbWVtY3B5KHRtcCwgKnJlZnMsIGJpdG1hcF9zaXplKTsKKwkJCWZvciAoaSA9IDA7IGkgPCBiaXRtYXBfbnI7IGkrKykKKwkJCQl0bXBbaV0gfD0gYml0bWFwW2ldOworCQkJaWYgKG1lbWNtcCh0bXAsICpyZWZzLCBiaXRtYXBfc2l6ZSkpIHsKKwkJCQkqcmVmcyA9IHBhaW50X2FsbG9jKGluZm8pOworCQkJCW1lbWNweSgqcmVmcywgdG1wLCBiaXRtYXBfc2l6ZSk7CisJCQl9CisJCX0KKworCQlpZiAoYy0+b2JqZWN0LmZsYWdzICYgQk9UVE9NKQorCQkJY29udGludWU7CisKKwkJaWYgKHBhcnNlX2NvbW1pdChjKSkKKwkJCWRpZSgidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIsCisJCQkgICAgc2hhMV90b19oZXgoYy0+b2JqZWN0LnNoYTEpKTsKKworCQlmb3IgKHAgPSBjLT5wYXJlbnRzOyBwOyBwID0gcC0+bmV4dCkgeworCQkJdWludDMyX3QgKipwX3JlZnMgPSByZWZfYml0bWFwX2F0KCZpbmZvLT5yZWZfYml0bWFwLAorCQkJCQkJCSAgcC0+aXRlbSk7CisJCQlpZiAocC0+aXRlbS0+b2JqZWN0LmZsYWdzICYgU0VFTikKKwkJCQljb250aW51ZTsKKwkJCWlmICgqcF9yZWZzID09IE5VTEwgfHwgKnBfcmVmcyA9PSAqcmVmcykKKwkJCQkqcF9yZWZzID0gKnJlZnM7CisJCQljb21taXRfbGlzdF9pbnNlcnQocC0+aXRlbSwgJmhlYWQpOworCQl9CisJfQorCisJbnIgPSBnZXRfbWF4X29iamVjdF9pbmRleCgpOworCWZvciAoaSA9IDA7IGkgPCBucjsgaSsrKSB7CisJCXN0cnVjdCBvYmplY3QgKm8gPSBnZXRfaW5kZXhlZF9vYmplY3QoaSk7CisJCWlmIChvICYmIG8tPnR5cGUgPT0gT0JKX0NPTU1JVCkKKwkJCW8tPmZsYWdzICY9IH5TRUVOOworCX0KKworCWZyZWUodG1wKTsKK30KKworc3RhdGljIGludCBtYXJrX3VuaW50ZXJlc3RpbmcoY29uc3QgY2hhciAqcmVmbmFtZSwKKwkJCSAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCisJCQkgICAgICBpbnQgZmxhZ3MsIHZvaWQgKmNiX2RhdGEpCit7CisJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHNoYTEsIDEpOworCWlmICghY29tbWl0KQorCQlyZXR1cm4gMDsKKwljb21taXQtPm9iamVjdC5mbGFncyB8PSBVTklOVEVSRVNUSU5HOworCW1hcmtfcGFyZW50c191bmludGVyZXN0aW5nKGNvbW1pdCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHBvc3RfYXNzaWduX3NoYWxsb3coc3RydWN0IHNoYWxsb3dfaW5mbyAqaW5mbywKKwkJCQlzdHJ1Y3QgcmVmX2JpdG1hcCAqcmVmX2JpdG1hcCwKKwkJCQlpbnQgKnJlZl9zdGF0dXMpOworLyoKKyAqIFN0ZXAgNigrNyksIGFzc29jaWF0ZSBzaGFsbG93IGNvbW1pdHMgd2l0aCBuZXcgcmVmcworICoKKyAqIGluZm8tPnJlZiBtdXN0IGJlIGluaXRpYWxpemVkIGJlZm9yZSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24uCisgKgorICogSWYgdXNlZCBpcyBub3QgTlVMTCwgaXQncyBhbiBhcnJheSBvZiBpbmZvLT5zaGFsbG93LT5ucgorICogYml0bWFwcy4gVGhlIG4tdGggYml0IHNldCBpbiB0aGUgbS10aCBiaXRtYXAgaWYgcmVmW25dIG5lZWRzIHRoZQorICogbS10aCBzaGFsbG93IGNvbW1pdCBmcm9tIGluZm8tPnNoYWxsb3cuCisgKgorICogSWYgdXNlZCBpcyBOVUxMLCAib3VycyIgYW5kICJ0aGVpcnMiIGFyZSB1cGRhdGVkLiBBbmQgaWYgcmVmX3N0YXR1cworICogaXMgbm90IE5VTEwgaXQncyBhbiBhcnJheSBvZiByZWYtPm5yIGludHMuIHJlZl9zdGF0dXNbaV0gaXMgdHJ1ZSBpZgorICogdGhlIHJlZiBuZWVkcyBzb21lIHNoYWxsb3cgY29tbWl0cyBmcm9tIGVpdGhlciBpbmZvLT5vdXJzIG9yCisgKiBpbmZvLT50aGVpcnMuCisgKi8KK3ZvaWQgYXNzaWduX3NoYWxsb3dfY29tbWl0c190b19yZWZzKHN0cnVjdCBzaGFsbG93X2luZm8gKmluZm8sCisJCQkJICAgIHVpbnQzMl90ICoqdXNlZCwgaW50ICpyZWZfc3RhdHVzKQoreworCXVuc2lnbmVkIGNoYXIgKCpzaGExKVsyMF0gPSBpbmZvLT5zaGFsbG93LT5zaGExOworCXN0cnVjdCBzaGExX2FycmF5ICpyZWYgPSBpbmZvLT5yZWY7CisJdW5zaWduZWQgaW50IGksIG5yOworCWludCAqc2hhbGxvdywgbnJfc2hhbGxvdyA9IDA7CisJc3RydWN0IHBhaW50X2luZm8gcGk7CisKKwl0cmFjZV9wcmludGZfa2V5KFRSQUNFX0tFWSwgInNoYWxsb3c6IGFzc2lnbl9zaGFsbG93X2NvbW1pdHNfdG9fcmVmc1xuIik7CisJc2hhbGxvdyA9IHhtYWxsb2Moc2l6ZW9mKCpzaGFsbG93KSAqIChpbmZvLT5ucl9vdXJzICsgaW5mby0+bnJfdGhlaXJzKSk7CisJZm9yIChpID0gMDsgaSA8IGluZm8tPm5yX291cnM7IGkrKykKKwkJc2hhbGxvd1tucl9zaGFsbG93KytdID0gaW5mby0+b3Vyc1tpXTsKKwlmb3IgKGkgPSAwOyBpIDwgaW5mby0+bnJfdGhlaXJzOyBpKyspCisJCXNoYWxsb3dbbnJfc2hhbGxvdysrXSA9IGluZm8tPnRoZWlyc1tpXTsKKworCS8qCisJICogUHJlcGFyZSB0aGUgY29tbWl0IGdyYXBoIHRvIHRyYWNrIHdoYXQgcmVmcyBjYW4gcmVhY2ggd2hhdAorCSAqIChuZXcpIHNoYWxsb3cgY29tbWl0cy4KKwkgKi8KKwluciA9IGdldF9tYXhfb2JqZWN0X2luZGV4KCk7CisJZm9yIChpID0gMDsgaSA8IG5yOyBpKyspIHsKKwkJc3RydWN0IG9iamVjdCAqbyA9IGdldF9pbmRleGVkX29iamVjdChpKTsKKwkJaWYgKCFvIHx8IG8tPnR5cGUgIT0gT0JKX0NPTU1JVCkKKwkJCWNvbnRpbnVlOworCisJCW8tPmZsYWdzICY9IH4oVU5JTlRFUkVTVElORyB8IEJPVFRPTSB8IFNFRU4pOworCX0KKworCW1lbXNldCgmcGksIDAsIHNpemVvZihwaSkpOworCWluaXRfcmVmX2JpdG1hcCgmcGkucmVmX2JpdG1hcCk7CisJcGkubnJfYml0cyA9IHJlZi0+bnI7CisKKwkvKgorCSAqICItLW5vdCAtLWFsbCIgdG8gY3V0IHNob3J0IHRoZSB0cmF2ZXJzYWwgaWYgbmV3IHJlZnMKKwkgKiBjb25uZWN0IHRvIG9sZCByZWZzLiBJZiBub3QgKGUuZy4gZm9yY2UgcmVmIHVwZGF0ZXMpIGl0J2xsCisJICogaGF2ZSB0byBnbyBkb3duIHRvIHRoZSBjdXJyZW50IHNoYWxsb3cgY29tbWl0cy4KKwkgKi8KKwloZWFkX3JlZihtYXJrX3VuaW50ZXJlc3RpbmcsIE5VTEwpOworCWZvcl9lYWNoX3JlZihtYXJrX3VuaW50ZXJlc3RpbmcsIE5VTEwpOworCisJLyogTWFyayBwb3RlbnRpYWwgYm90dG9tcyBzbyB3ZSB3b24ndCBnbyBvdXQgb2YgYm91bmQgKi8KKwlmb3IgKGkgPSAwOyBpIDwgbnJfc2hhbGxvdzsgaSsrKSB7CisJCXN0cnVjdCBjb21taXQgKmMgPSBsb29rdXBfY29tbWl0KHNoYTFbc2hhbGxvd1tpXV0pOworCQljLT5vYmplY3QuZmxhZ3MgfD0gQk9UVE9NOworCX0KKworCWZvciAoaSA9IDA7IGkgPCByZWYtPm5yOyBpKyspCisJCXBhaW50X2Rvd24oJnBpLCByZWYtPnNoYTFbaV0sIGkpOworCisJaWYgKHVzZWQpIHsKKwkJaW50IGJpdG1hcF9zaXplID0gKChwaS5ucl9iaXRzICsgMzEpIC8gMzIpICogc2l6ZW9mKHVpbnQzMl90KTsKKwkJbWVtc2V0KHVzZWQsIDAsIHNpemVvZigqdXNlZCkgKiBpbmZvLT5zaGFsbG93LT5ucik7CisJCWZvciAoaSA9IDA7IGkgPCBucl9zaGFsbG93OyBpKyspIHsKKwkJCWNvbnN0IHN0cnVjdCBjb21taXQgKmMgPSBsb29rdXBfY29tbWl0KHNoYTFbc2hhbGxvd1tpXV0pOworCQkJdWludDMyX3QgKiptYXAgPSByZWZfYml0bWFwX2F0KCZwaS5yZWZfYml0bWFwLCBjKTsKKwkJCWlmICgqbWFwKQorCQkJCXVzZWRbc2hhbGxvd1tpXV0gPSB4bWVtZHVweigqbWFwLCBiaXRtYXBfc2l6ZSk7CisJCX0KKwkJLyoKKwkJICogdW5yZWFjaGFibGUgc2hhbGxvdyBjb21taXRzIGFyZSBub3QgcmVtb3ZlZCBmcm9tCisJCSAqICJvdXJzIiBhbmQgInRoZWlycyIuIFRoZSB1c2VyIGlzIHN1cHBvc2VkIHRvIHJ1bgorCQkgKiBzdGVwIDcgb24gZXZlcnkgcmVmIHNlcGFyYXRlbHkgYW5kIG5vdCB0cnVzdCAib3VycyIKKwkJICogYW5kICJ0aGVpcnMiIGFueSBtb3JlLgorCQkgKi8KKwl9IGVsc2UKKwkJcG9zdF9hc3NpZ25fc2hhbGxvdyhpbmZvLCAmcGkucmVmX2JpdG1hcCwgcmVmX3N0YXR1cyk7CisKKwljbGVhcl9yZWZfYml0bWFwKCZwaS5yZWZfYml0bWFwKTsKKwlmb3IgKGkgPSAwOyBpIDwgcGkuc2xhYl9jb3VudDsgaSsrKQorCQlmcmVlKHBpLnNsYWJbaV0pOworCWZyZWUocGkuc2xhYik7CisJZnJlZShzaGFsbG93KTsKK30KKworc3RydWN0IGNvbW1pdF9hcnJheSB7CisJc3RydWN0IGNvbW1pdCAqKmNvbW1pdHM7CisJaW50IG5yLCBhbGxvYzsKK307CisKK3N0YXRpYyBpbnQgYWRkX3JlZihjb25zdCBjaGFyICpyZWZuYW1lLAorCQkgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgZmxhZ3MsIHZvaWQgKmNiX2RhdGEpCit7CisJc3RydWN0IGNvbW1pdF9hcnJheSAqY2EgPSBjYl9kYXRhOworCUFMTE9DX0dST1coY2EtPmNvbW1pdHMsIGNhLT5uciArIDEsIGNhLT5hbGxvYyk7CisJY2EtPmNvbW1pdHNbY2EtPm5yXSA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShzaGExLCAxKTsKKwlpZiAoY2EtPmNvbW1pdHNbY2EtPm5yXSkKKwkJY2EtPm5yKys7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHVwZGF0ZV9yZWZzdGF0dXMoaW50ICpyZWZfc3RhdHVzLCBpbnQgbnIsIHVpbnQzMl90ICpiaXRtYXApCit7CisJaW50IGk7CisJaWYgKCFyZWZfc3RhdHVzKQorCQlyZXR1cm47CisJZm9yIChpID0gMDsgaSA8IG5yOyBpKyspCisJCWlmIChiaXRtYXBbaSAvIDMyXSAmICgxIDw8IChpICUgMzIpKSkKKwkJCXJlZl9zdGF0dXNbaV0rKzsKK30KKworLyoKKyAqIFN0ZXAgNywgcmVhY2hhYmlsaXR5IHRlc3Qgb24gIm91cnMiIGF0IGNvbW1pdCBsZXZlbAorICovCitzdGF0aWMgdm9pZCBwb3N0X2Fzc2lnbl9zaGFsbG93KHN0cnVjdCBzaGFsbG93X2luZm8gKmluZm8sCisJCQkJc3RydWN0IHJlZl9iaXRtYXAgKnJlZl9iaXRtYXAsCisJCQkJaW50ICpyZWZfc3RhdHVzKQoreworCXVuc2lnbmVkIGNoYXIgKCpzaGExKVsyMF0gPSBpbmZvLT5zaGFsbG93LT5zaGExOworCXN0cnVjdCBjb21taXQgKmM7CisJdWludDMyX3QgKipiaXRtYXA7CisJaW50IGRzdCwgaSwgajsKKwlpbnQgYml0bWFwX25yID0gKGluZm8tPnJlZi0+bnIgKyAzMSkgLyAzMjsKKwlzdHJ1Y3QgY29tbWl0X2FycmF5IGNhOworCisJdHJhY2VfcHJpbnRmX2tleShUUkFDRV9LRVksICJzaGFsbG93OiBwb3N0X2Fzc2lnbl9zaGFsbG93XG4iKTsKKwlpZiAocmVmX3N0YXR1cykKKwkJbWVtc2V0KHJlZl9zdGF0dXMsIDAsIHNpemVvZigqcmVmX3N0YXR1cykgKiBpbmZvLT5yZWYtPm5yKTsKKworCS8qIFJlbW92ZSB1bnJlYWNoYWJsZSBzaGFsbG93IGNvbW1pdHMgZnJvbSAidGhlaXJzIiAqLworCWZvciAoaSA9IGRzdCA9IDA7IGkgPCBpbmZvLT5ucl90aGVpcnM7IGkrKykgeworCQlpZiAoaSAhPSBkc3QpCisJCQlpbmZvLT50aGVpcnNbZHN0XSA9IGluZm8tPnRoZWlyc1tpXTsKKwkJYyA9IGxvb2t1cF9jb21taXQoc2hhMVtpbmZvLT50aGVpcnNbaV1dKTsKKwkJYml0bWFwID0gcmVmX2JpdG1hcF9hdChyZWZfYml0bWFwLCBjKTsKKwkJaWYgKCEqYml0bWFwKQorCQkJY29udGludWU7CisJCWZvciAoaiA9IDA7IGogPCBiaXRtYXBfbnI7IGorKykKKwkJCWlmIChiaXRtYXBbMF1bal0pIHsKKwkJCQl1cGRhdGVfcmVmc3RhdHVzKHJlZl9zdGF0dXMsIGluZm8tPnJlZi0+bnIsICpiaXRtYXApOworCQkJCWRzdCsrOworCQkJCWJyZWFrOworCQkJfQorCX0KKwlpbmZvLT5ucl90aGVpcnMgPSBkc3Q7CisKKwltZW1zZXQoJmNhLCAwLCBzaXplb2YoY2EpKTsKKwloZWFkX3JlZihhZGRfcmVmLCAmY2EpOworCWZvcl9lYWNoX3JlZihhZGRfcmVmLCAmY2EpOworCisJLyogUmVtb3ZlIHVucmVhY2hhYmxlIHNoYWxsb3cgY29tbWl0cyBmcm9tICJvdXJzIiAqLworCWZvciAoaSA9IGRzdCA9IDA7IGkgPCBpbmZvLT5ucl9vdXJzOyBpKyspIHsKKwkJaWYgKGkgIT0gZHN0KQorCQkJaW5mby0+b3Vyc1tkc3RdID0gaW5mby0+b3Vyc1tpXTsKKwkJYyA9IGxvb2t1cF9jb21taXQoc2hhMVtpbmZvLT5vdXJzW2ldXSk7CisJCWJpdG1hcCA9IHJlZl9iaXRtYXBfYXQocmVmX2JpdG1hcCwgYyk7CisJCWlmICghKmJpdG1hcCkKKwkJCWNvbnRpbnVlOworCQlmb3IgKGogPSAwOyBqIDwgYml0bWFwX25yOyBqKyspCisJCQlpZiAoYml0bWFwWzBdW2pdICYmCisJCQkgICAgLyogU3RlcCA3LCByZWFjaGFiaWxpdHkgdGVzdCBhdCBjb21taXQgbGV2ZWwgKi8KKwkJCSAgICAhaW5fbWVyZ2VfYmFzZXNfbWFueShjLCBjYS5uciwgY2EuY29tbWl0cykpIHsKKwkJCQl1cGRhdGVfcmVmc3RhdHVzKHJlZl9zdGF0dXMsIGluZm8tPnJlZi0+bnIsICpiaXRtYXApOworCQkJCWRzdCsrOworCQkJCWJyZWFrOworCQkJfQorCX0KKwlpbmZvLT5ucl9vdXJzID0gZHN0OworCisJZnJlZShjYS5jb21taXRzKTsKK30KKworLyogKERlbGF5ZWQpIHN0ZXAgNywgcmVhY2hhYmlsaXR5IHRlc3QgYXQgY29tbWl0IGxldmVsICovCitpbnQgZGVsYXllZF9yZWFjaGFiaWxpdHlfdGVzdChzdHJ1Y3Qgc2hhbGxvd19pbmZvICpzaSwgaW50IGMpCit7CisJaWYgKHNpLT5uZWVkX3JlYWNoYWJpbGl0eV90ZXN0W2NdKSB7CisJCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IGxvb2t1cF9jb21taXQoc2ktPnNoYWxsb3ctPnNoYTFbY10pOworCisJCWlmICghc2ktPmNvbW1pdHMpIHsKKwkJCXN0cnVjdCBjb21taXRfYXJyYXkgY2E7CisJCQltZW1zZXQoJmNhLCAwLCBzaXplb2YoY2EpKTsKKwkJCWhlYWRfcmVmKGFkZF9yZWYsICZjYSk7CisJCQlmb3JfZWFjaF9yZWYoYWRkX3JlZiwgJmNhKTsKKwkJCXNpLT5jb21taXRzID0gY2EuY29tbWl0czsKKwkJCXNpLT5ucl9jb21taXRzID0gY2EubnI7CisJCX0KKworCQlzaS0+cmVhY2hhYmxlW2NdID0gaW5fbWVyZ2VfYmFzZXNfbWFueShjb21taXQsCisJCQkJCQkgICAgICAgc2ktPm5yX2NvbW1pdHMsCisJCQkJCQkgICAgICAgc2ktPmNvbW1pdHMpOworCQlzaS0+bmVlZF9yZWFjaGFiaWxpdHlfdGVzdFtjXSA9IDA7CisJfQorCXJldHVybiBzaS0+cmVhY2hhYmxlW2NdOworfQpkaWZmIC0tZ2l0IGEvc2hlbGwuYyBiL3NoZWxsLmMKaW5kZXggNjYzNTBiMi4uNWMwZDQ3YSAxMDA2NDQKLS0tIGEvc2hlbGwuYworKysgYi9zaGVsbC5jCkBAIC0xNSw3ICsxNSw3IEBACiAJc2V0dXBfcGF0aCgpOwogCWlmICghYXJnIHx8ICEoYXJnID0gc3FfZGVxdW90ZShhcmcpKSkKIAkJZGllKCJiYWQgYXJndW1lbnQiKTsKLQlpZiAocHJlZml4Y21wKG1lLCAiZ2l0LSIpKQorCWlmICghc3RhcnRzX3dpdGgobWUsICJnaXQtIikpCiAJCWRpZSgiYmFkIGNvbW1hbmQiKTsKIAogCW15X2FyZ3ZbMF0gPSBtZSArIDQ7CmRpZmYgLS1naXQgYS9zdHJidWYuYyBiL3N0cmJ1Zi5jCmluZGV4IDExNzBkMDEuLjgzY2FmNGEgMTAwNjQ0Ci0tLSBhL3N0cmJ1Zi5jCisrKyBiL3N0cmJ1Zi5jCkBAIC0xLDYgKzEsMTUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgInJlZnMuaCIKIAoraW50IHN0YXJ0c193aXRoKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqcHJlZml4KQoreworCWZvciAoOyA7IHN0cisrLCBwcmVmaXgrKykKKwkJaWYgKCEqcHJlZml4KQorCQkJcmV0dXJuIDE7CisJCWVsc2UgaWYgKCpzdHIgIT0gKnByZWZpeCkKKwkJCXJldHVybiAwOworfQorCiBpbnQgcHJlZml4Y21wKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqcHJlZml4KQogewogCWZvciAoOyA7IHN0cisrLCBwcmVmaXgrKykKQEAgLTEwLDYgKzE5LDE1IEBACiAJCQlyZXR1cm4gKHVuc2lnbmVkIGNoYXIpKnByZWZpeCAtICh1bnNpZ25lZCBjaGFyKSpzdHI7CiB9CiAKK2ludCBlbmRzX3dpdGgoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpzdWZmaXgpCit7CisJaW50IGxlbiA9IHN0cmxlbihzdHIpLCBzdWZsZW4gPSBzdHJsZW4oc3VmZml4KTsKKwlpZiAobGVuIDwgc3VmbGVuKQorCQlyZXR1cm4gMDsKKwllbHNlCisJCXJldHVybiAhc3RyY21wKHN0ciArIGxlbiAtIHN1Zmxlbiwgc3VmZml4KTsKK30KKwogaW50IHN1ZmZpeGNtcChjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKnN1ZmZpeCkKIHsKIAlpbnQgbGVuID0gc3RybGVuKHN0ciksIHN1ZmxlbiA9IHN0cmxlbihzdWZmaXgpOwpkaWZmIC0tZ2l0IGEvc3RyZWFtaW5nLmMgYi9zdHJlYW1pbmcuYwppbmRleCBkZWJlOTA0Li5kN2M5ZjMyIDEwMDY0NAotLS0gYS9zdHJlYW1pbmcuYworKysgYi9zdHJlYW1pbmcuYwpAQCAtMTEzLDcgKzExMyw3IEBACiAKIAlvaS0+dHlwZXAgPSB0eXBlOwogCW9pLT5zaXplcCA9ICZzaXplOwotCXN0YXR1cyA9IHNoYTFfb2JqZWN0X2luZm9fZXh0ZW5kZWQoc2hhMSwgb2kpOworCXN0YXR1cyA9IHNoYTFfb2JqZWN0X2luZm9fZXh0ZW5kZWQoc2hhMSwgb2ksIDApOwogCWlmIChzdGF0dXMgPCAwKQogCQlyZXR1cm4gc3RyZWFtX2Vycm9yOwogCkBAIC01MzgsNyArNTM4LDcgQEAKIAkJCWdvdG8gY2xvc2VfYW5kX2V4aXQ7CiAJfQogCWlmIChrZXB0ICYmIChsc2VlayhmZCwga2VwdCAtIDEsIFNFRUtfQ1VSKSA9PSAob2ZmX3QpIC0xIHx8Ci0JCSAgICAgd3JpdGUoZmQsICIiLCAxKSAhPSAxKSkKKwkJICAgICB4d3JpdGUoZmQsICIiLCAxKSAhPSAxKSkKIAkJZ290byBjbG9zZV9hbmRfZXhpdDsKIAlyZXN1bHQgPSAwOwogCmRpZmYgLS1naXQgYS9zdWJtb2R1bGUuYyBiL3N1Ym1vZHVsZS5jCmluZGV4IGMwZjkzYzIuLjYxMzg1N2UgMTAwNjQ0Ci0tLSBhL3N1Ym1vZHVsZS5jCisrKyBiL3N1Ym1vZHVsZS5jCkBAIC0xMCw2ICsxMCw3IEBACiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKICNpbmNsdWRlICJzaGExLWFycmF5LmgiCiAjaW5jbHVkZSAiYXJndi1hcnJheS5oIgorI2luY2x1ZGUgImJsb2IuaCIKIAogc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBjb25maWdfbmFtZV9mb3JfcGF0aDsKIHN0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgY29uZmlnX2ZldGNoX3JlY3Vyc2Vfc3VibW9kdWxlc19mb3JfbmFtZTsKQEAgLTMwLDYgKzMxLDExOCBAQAogICovCiBzdGF0aWMgaW50IGdpdG1vZHVsZXNfaXNfdW5tZXJnZWQ7CiAKKy8qCisgKiBUaGlzIGZsYWcgaXMgc2V0IGlmIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIGhhZCB1bnN0YWdlZCBtb2RpZmljYXRpb25zIG9uCisgKiBzdGFydHVwLiBUaGlzIG11c3QgYmUgY2hlY2tlZCBiZWZvcmUgYWxsb3dpbmcgbW9kaWZpY2F0aW9ucyB0byB0aGUKKyAqIC5naXRtb2R1bGVzIGZpbGUgd2l0aCB0aGUgaW50ZW50aW9uIHRvIHN0YWdlIHRoZW0gbGF0ZXIsIGJlY2F1c2Ugd2hlbgorICogY29udGludWluZyB3ZSB3b3VsZCBzdGFnZSB0aGUgbW9kaWZpY2F0aW9ucyB0aGUgdXNlciBkaWRuJ3Qgc3RhZ2UgaGVyc2VsZgorICogdG9vLiBUaGF0IG1pZ2h0IGNoYW5nZSBpbiBhIGZ1dHVyZSB2ZXJzaW9uIHdoZW4gd2UgbGVhcm4gdG8gc3RhZ2UgdGhlCisgKiBjaGFuZ2VzIHdlIGRvIG91cnNlbHZlcyB3aXRob3V0IHN0YWdpbmcgYW55IHByZXZpb3VzIG1vZGlmaWNhdGlvbnMuCisgKi8KK3N0YXRpYyBpbnQgZ2l0bW9kdWxlc19pc19tb2RpZmllZDsKKworCitpbnQgaXNfc3RhZ2luZ19naXRtb2R1bGVzX29rKHZvaWQpCit7CisJcmV0dXJuICFnaXRtb2R1bGVzX2lzX21vZGlmaWVkOworfQorCisvKgorICogVHJ5IHRvIHVwZGF0ZSB0aGUgInBhdGgiIGVudHJ5IGluIHRoZSAic3VibW9kdWxlLjxuYW1lPiIgc2VjdGlvbiBvZiB0aGUKKyAqIC5naXRtb2R1bGVzIGZpbGUuIFJldHVybiAwIG9ubHkgaWYgYSAuZ2l0bW9kdWxlcyBmaWxlIHdhcyBmb3VuZCwgYSBzZWN0aW9uCisgKiB3aXRoIHRoZSBjb3JyZWN0IHBhdGg9PG9sZHBhdGg+IHNldHRpbmcgd2FzIGZvdW5kIGFuZCB3ZSBjb3VsZCB1cGRhdGUgaXQuCisgKi8KK2ludCB1cGRhdGVfcGF0aF9pbl9naXRtb2R1bGVzKGNvbnN0IGNoYXIgKm9sZHBhdGgsIGNvbnN0IGNoYXIgKm5ld3BhdGgpCit7CisJc3RydWN0IHN0cmJ1ZiBlbnRyeSA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICpwYXRoX29wdGlvbjsKKworCWlmICghZmlsZV9leGlzdHMoIi5naXRtb2R1bGVzIikpIC8qIERvIG5vdGhpbmcgd2l0aG91dCAuZ2l0bW9kdWxlcyAqLworCQlyZXR1cm4gLTE7CisKKwlpZiAoZ2l0bW9kdWxlc19pc191bm1lcmdlZCkKKwkJZGllKF8oIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IikpOworCisJcGF0aF9vcHRpb24gPSB1bnNvcnRlZF9zdHJpbmdfbGlzdF9sb29rdXAoJmNvbmZpZ19uYW1lX2Zvcl9wYXRoLCBvbGRwYXRoKTsKKwlpZiAoIXBhdGhfb3B0aW9uKSB7CisJCXdhcm5pbmcoXygiQ291bGQgbm90IGZpbmQgc2VjdGlvbiBpbiAuZ2l0bW9kdWxlcyB3aGVyZSBwYXRoPSVzIiksIG9sZHBhdGgpOworCQlyZXR1cm4gLTE7CisJfQorCXN0cmJ1Zl9hZGRzdHIoJmVudHJ5LCAic3VibW9kdWxlLiIpOworCXN0cmJ1Zl9hZGRzdHIoJmVudHJ5LCBwYXRoX29wdGlvbi0+dXRpbCk7CisJc3RyYnVmX2FkZHN0cigmZW50cnksICIucGF0aCIpOworCWlmIChnaXRfY29uZmlnX3NldF9pbl9maWxlKCIuZ2l0bW9kdWxlcyIsIGVudHJ5LmJ1ZiwgbmV3cGF0aCkgPCAwKSB7CisJCS8qIE1heWJlIHRoZSB1c2VyIGFscmVhZHkgZGlkIHRoYXQsIGRvbid0IGVycm9yIG91dCBoZXJlICovCisJCXdhcm5pbmcoXygiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIpLCBlbnRyeS5idWYpOworCQlzdHJidWZfcmVsZWFzZSgmZW50cnkpOworCQlyZXR1cm4gLTE7CisJfQorCXN0cmJ1Zl9yZWxlYXNlKCZlbnRyeSk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBUcnkgdG8gcmVtb3ZlIHRoZSAic3VibW9kdWxlLjxuYW1lPiIgc2VjdGlvbiBmcm9tIC5naXRtb2R1bGVzIHdoZXJlIHRoZSBnaXZlbgorICogcGF0aCBpcyBjb25maWd1cmVkLiBSZXR1cm4gMCBvbmx5IGlmIGEgLmdpdG1vZHVsZXMgZmlsZSB3YXMgZm91bmQsIGEgc2VjdGlvbgorICogd2l0aCB0aGUgY29ycmVjdCBwYXRoPTxwYXRoPiBzZXR0aW5nIHdhcyBmb3VuZCBhbmQgd2UgY291bGQgcmVtb3ZlIGl0LgorICovCitpbnQgcmVtb3ZlX3BhdGhfZnJvbV9naXRtb2R1bGVzKGNvbnN0IGNoYXIgKnBhdGgpCit7CisJc3RydWN0IHN0cmJ1ZiBzZWN0ID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKnBhdGhfb3B0aW9uOworCisJaWYgKCFmaWxlX2V4aXN0cygiLmdpdG1vZHVsZXMiKSkgLyogRG8gbm90aGluZyB3aXRob3V0IC5naXRtb2R1bGVzICovCisJCXJldHVybiAtMTsKKworCWlmIChnaXRtb2R1bGVzX2lzX3VubWVyZ2VkKQorCQlkaWUoXygiQ2Fubm90IGNoYW5nZSB1bm1lcmdlZCAuZ2l0bW9kdWxlcywgcmVzb2x2ZSBtZXJnZSBjb25mbGljdHMgZmlyc3QiKSk7CisKKwlwYXRoX29wdGlvbiA9IHVuc29ydGVkX3N0cmluZ19saXN0X2xvb2t1cCgmY29uZmlnX25hbWVfZm9yX3BhdGgsIHBhdGgpOworCWlmICghcGF0aF9vcHRpb24pIHsKKwkJd2FybmluZyhfKCJDb3VsZCBub3QgZmluZCBzZWN0aW9uIGluIC5naXRtb2R1bGVzIHdoZXJlIHBhdGg9JXMiKSwgcGF0aCk7CisJCXJldHVybiAtMTsKKwl9CisJc3RyYnVmX2FkZHN0cigmc2VjdCwgInN1Ym1vZHVsZS4iKTsKKwlzdHJidWZfYWRkc3RyKCZzZWN0LCBwYXRoX29wdGlvbi0+dXRpbCk7CisJaWYgKGdpdF9jb25maWdfcmVuYW1lX3NlY3Rpb25faW5fZmlsZSgiLmdpdG1vZHVsZXMiLCBzZWN0LmJ1ZiwgTlVMTCkgPCAwKSB7CisJCS8qIE1heWJlIHRoZSB1c2VyIGFscmVhZHkgZGlkIHRoYXQsIGRvbid0IGVycm9yIG91dCBoZXJlICovCisJCXdhcm5pbmcoXygiQ291bGQgbm90IHJlbW92ZSAuZ2l0bW9kdWxlcyBlbnRyeSBmb3IgJXMiKSwgcGF0aCk7CisJCXN0cmJ1Zl9yZWxlYXNlKCZzZWN0KTsKKwkJcmV0dXJuIC0xOworCX0KKwlzdHJidWZfcmVsZWFzZSgmc2VjdCk7CisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgc3RhZ2VfdXBkYXRlZF9naXRtb2R1bGVzKHZvaWQpCit7CisJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlpbnQgcG9zOworCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2U7CisJaW50IG5hbWVsZW4gPSBzdHJsZW4oIi5naXRtb2R1bGVzIik7CisKKwlwb3MgPSBjYWNoZV9uYW1lX3BvcygiLmdpdG1vZHVsZXMiLCBuYW1lbGVuKTsKKwlpZiAocG9zIDwgMCkgeworCQl3YXJuaW5nKF8oImNvdWxkIG5vdCBmaW5kIC5naXRtb2R1bGVzIGluIGluZGV4IikpOworCQlyZXR1cm47CisJfQorCWNlID0gYWN0aXZlX2NhY2hlW3Bvc107CisJY2UtPmNlX2ZsYWdzID0gbmFtZWxlbjsKKwlpZiAoc3RyYnVmX3JlYWRfZmlsZSgmYnVmLCAiLmdpdG1vZHVsZXMiLCAwKSA8IDApCisJCWRpZShfKCJyZWFkaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIikpOworCWlmIChsc3RhdCgiLmdpdG1vZHVsZXMiLCAmc3QpIDwgMCkKKwkJZGllX2Vycm5vKF8oInVuYWJsZSB0byBzdGF0IHVwZGF0ZWQgLmdpdG1vZHVsZXMiKSk7CisJZmlsbF9zdGF0X2NhY2hlX2luZm8oY2UsICZzdCk7CisJY2UtPmNlX21vZGUgPSBjZV9tb2RlX2Zyb21fc3RhdChjZSwgc3Quc3RfbW9kZSk7CisJaWYgKHJlbW92ZV9jYWNoZV9lbnRyeV9hdChwb3MpIDwgMCkKKwkJZGllKF8oInVuYWJsZSB0byByZW1vdmUgLmdpdG1vZHVsZXMgZnJvbSBpbmRleCIpKTsKKwlpZiAod3JpdGVfc2hhMV9maWxlKGJ1Zi5idWYsIGJ1Zi5sZW4sIGJsb2JfdHlwZSwgY2UtPnNoYTEpKQorCQlkaWUoXygiYWRkaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIikpOworCWlmIChhZGRfY2FjaGVfZW50cnkoY2UsIEFERF9DQUNIRV9PS19UT19BRER8QUREX0NBQ0hFX09LX1RPX1JFUExBQ0UpKQorCQlkaWUoXygic3RhZ2luZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIpKTsKK30KKwogc3RhdGljIGludCBhZGRfc3VibW9kdWxlX29kYihjb25zdCBjaGFyICpwYXRoKQogewogCXN0cnVjdCBzdHJidWYgb2JqZWN0c19kaXJlY3RvcnkgPSBTVFJCVUZfSU5JVDsKQEAgLTg4LDcgKzIwMSw3IEBACiAKIGludCBzdWJtb2R1bGVfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKQogewotCWlmICghcHJlZml4Y21wKHZhciwgInN1Ym1vZHVsZS4iKSkKKwlpZiAoc3RhcnRzX3dpdGgodmFyLCAic3VibW9kdWxlLiIpKQogCQlyZXR1cm4gcGFyc2Vfc3VibW9kdWxlX2NvbmZpZ19vcHRpb24odmFyLCB2YWx1ZSk7CiAJZWxzZSBpZiAoIXN0cmNtcCh2YXIsICJmZXRjaC5yZWN1cnNlc3VibW9kdWxlcyIpKSB7CiAJCWNvbmZpZ19mZXRjaF9yZWN1cnNlX3N1Ym1vZHVsZXMgPSBwYXJzZV9mZXRjaF9yZWN1cnNlX3N1Ym1vZHVsZXNfYXJnKHZhciwgdmFsdWUpOwpAQCAtMTE2LDYgKzIyOSwxMSBAQAogCQkJCSAgICAhbWVtY21wKGNlLT5uYW1lLCAiLmdpdG1vZHVsZXMiLCAxMSkpCiAJCQkJCWdpdG1vZHVsZXNfaXNfdW5tZXJnZWQgPSAxOwogCQkJfQorCQl9IGVsc2UgaWYgKHBvcyA8IGFjdGl2ZV9ucikgeworCQkJc3RydWN0IHN0YXQgc3Q7CisJCQlpZiAobHN0YXQoIi5naXRtb2R1bGVzIiwgJnN0KSA9PSAwICYmCisJCQkgICAgY2VfbWF0Y2hfc3RhdChhY3RpdmVfY2FjaGVbcG9zXSwgJnN0LCAwKSAmIERBVEFfQ0hBTkdFRCkKKwkJCQlnaXRtb2R1bGVzX2lzX21vZGlmaWVkID0gMTsKIAkJfQogCiAJCWlmICghZ2l0bW9kdWxlc19pc191bm1lcmdlZCkKQEAgLTEwMTAsMyArMTEyOCwzNCBAQAogCWZyZWUobWVyZ2VzLm9iamVjdHMpOwogCXJldHVybiAwOwogfQorCisvKiBVcGRhdGUgZ2l0ZmlsZSBhbmQgY29yZS53b3JrdHJlZSBzZXR0aW5nIHRvIGNvbm5lY3Qgd29yayB0cmVlIGFuZCBnaXQgZGlyICovCit2b2lkIGNvbm5lY3Rfd29ya190cmVlX2FuZF9naXRfZGlyKGNvbnN0IGNoYXIgKndvcmtfdHJlZSwgY29uc3QgY2hhciAqZ2l0X2RpcikKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGZpbGVfbmFtZSA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJidWYgcmVsX3BhdGggPSBTVFJCVUZfSU5JVDsKKwljb25zdCBjaGFyICpyZWFsX3dvcmtfdHJlZSA9IHhzdHJkdXAocmVhbF9wYXRoKHdvcmtfdHJlZSkpOworCUZJTEUgKmZwOworCisJLyogVXBkYXRlIGdpdGZpbGUgKi8KKwlzdHJidWZfYWRkZigmZmlsZV9uYW1lLCAiJXMvLmdpdCIsIHdvcmtfdHJlZSk7CisJZnAgPSBmb3BlbihmaWxlX25hbWUuYnVmLCAidyIpOworCWlmICghZnApCisJCWRpZShfKCJDb3VsZCBub3QgY3JlYXRlIGdpdCBsaW5rICVzIiksIGZpbGVfbmFtZS5idWYpOworCWZwcmludGYoZnAsICJnaXRkaXI6ICVzXG4iLCByZWxhdGl2ZV9wYXRoKGdpdF9kaXIsIHJlYWxfd29ya190cmVlLAorCQkJCQkJICAmcmVsX3BhdGgpKTsKKwlmY2xvc2UoZnApOworCisJLyogVXBkYXRlIGNvcmUud29ya3RyZWUgc2V0dGluZyAqLworCXN0cmJ1Zl9yZXNldCgmZmlsZV9uYW1lKTsKKwlzdHJidWZfYWRkZigmZmlsZV9uYW1lLCAiJXMvY29uZmlnIiwgZ2l0X2Rpcik7CisJaWYgKGdpdF9jb25maWdfc2V0X2luX2ZpbGUoZmlsZV9uYW1lLmJ1ZiwgImNvcmUud29ya3RyZWUiLAorCQkJCSAgIHJlbGF0aXZlX3BhdGgocmVhbF93b3JrX3RyZWUsIGdpdF9kaXIsCisJCQkJCQkgJnJlbF9wYXRoKSkpCisJCWRpZShfKCJDb3VsZCBub3Qgc2V0IGNvcmUud29ya3RyZWUgaW4gJXMiKSwKKwkJICAgIGZpbGVfbmFtZS5idWYpOworCisJc3RyYnVmX3JlbGVhc2UoJmZpbGVfbmFtZSk7CisJc3RyYnVmX3JlbGVhc2UoJnJlbF9wYXRoKTsKKwlmcmVlKCh2b2lkICopcmVhbF93b3JrX3RyZWUpOworfQpkaWZmIC0tZ2l0IGEvc3VibW9kdWxlLmggYi9zdWJtb2R1bGUuaAppbmRleCBjN2ZmYzdjLi43YmVlYzQ4IDEwMDY0NAotLS0gYS9zdWJtb2R1bGUuaAorKysgYi9zdWJtb2R1bGUuaApAQCAtMTEsNiArMTEsMTAgQEAKIAlSRUNVUlNFX1NVQk1PRFVMRVNfT04gPSAyCiB9OwogCitpbnQgaXNfc3RhZ2luZ19naXRtb2R1bGVzX29rKHZvaWQpOworaW50IHVwZGF0ZV9wYXRoX2luX2dpdG1vZHVsZXMoY29uc3QgY2hhciAqb2xkcGF0aCwgY29uc3QgY2hhciAqbmV3cGF0aCk7CitpbnQgcmVtb3ZlX3BhdGhfZnJvbV9naXRtb2R1bGVzKGNvbnN0IGNoYXIgKnBhdGgpOwordm9pZCBzdGFnZV91cGRhdGVkX2dpdG1vZHVsZXModm9pZCk7CiB2b2lkIHNldF9kaWZmb3B0X2ZsYWdzX2Zyb21fc3VibW9kdWxlX2NvbmZpZyhzdHJ1Y3QgZGlmZl9vcHRpb25zICpkaWZmb3B0LAogCQljb25zdCBjaGFyICpwYXRoKTsKIGludCBzdWJtb2R1bGVfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKTsKQEAgLTM2LDUgKzQwLDYgQEAKIGludCBmaW5kX3VucHVzaGVkX3N1Ym1vZHVsZXModW5zaWduZWQgY2hhciBuZXdfc2hhMVsyMF0sIGNvbnN0IGNoYXIgKnJlbW90ZXNfbmFtZSwKIAkJc3RydWN0IHN0cmluZ19saXN0ICpuZWVkc19wdXNoaW5nKTsKIGludCBwdXNoX3VucHVzaGVkX3N1Ym1vZHVsZXModW5zaWduZWQgY2hhciBuZXdfc2hhMVsyMF0sIGNvbnN0IGNoYXIgKnJlbW90ZXNfbmFtZSk7Cit2b2lkIGNvbm5lY3Rfd29ya190cmVlX2FuZF9naXRfZGlyKGNvbnN0IGNoYXIgKndvcmtfdHJlZSwgY29uc3QgY2hhciAqZ2l0X2Rpcik7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvdC8uZ2l0YXR0cmlidXRlcyBiL3QvLmdpdGF0dHJpYnV0ZXMKaW5kZXggMWI5N2M1NC4uMmQ0NDA4OCAxMDA2NDQKLS0tIGEvdC8uZ2l0YXR0cmlidXRlcworKysgYi90Ly5naXRhdHRyaWJ1dGVzCkBAIC0xICsxLDIgQEAKIHRbMC05XVswLTldWzAtOV1bMC05XS8qIC13aGl0ZXNwYWNlCit0MDExMC91cmwtKiBiaW5hcnkKZGlmZiAtLWdpdCBhL3QvR2l0LVNWTi8wMGNvbXBpbGUudCBiL3QvR2l0LVNWTi8wMGNvbXBpbGUudApvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmRpZmYgLS1naXQgYS90L0dpdC1TVk4vVXRpbHMvYWRkX3BhdGhfdG9fdXJsLnQgYi90L0dpdC1TVk4vVXRpbHMvYWRkX3BhdGhfdG9fdXJsLnQKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQpkaWZmIC0tZ2l0IGEvdC9HaXQtU1ZOL1V0aWxzL2Nhbl9jb21wcmVzcy50IGIvdC9HaXQtU1ZOL1V0aWxzL2Nhbl9jb21wcmVzcy50Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBhL3QvR2l0LVNWTi9VdGlscy9jYW5vbmljYWxpemVfdXJsLnQgYi90L0dpdC1TVk4vVXRpbHMvY2Fub25pY2FsaXplX3VybC50Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBhL3QvR2l0LVNWTi9VdGlscy9jb2xsYXBzZV9kb3Rkb3QudCBiL3QvR2l0LVNWTi9VdGlscy9jb2xsYXBzZV9kb3Rkb3QudApvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmRpZmYgLS1naXQgYS90L0dpdC1TVk4vVXRpbHMvZmF0YWwudCBiL3QvR2l0LVNWTi9VdGlscy9mYXRhbC50Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBhL3QvR2l0LVNWTi9VdGlscy9qb2luX3BhdGhzLnQgYi90L0dpdC1TVk4vVXRpbHMvam9pbl9wYXRocy50Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBhL3QvUkVBRE1FIGIvdC9SRUFETUUKaW5kZXggMGE5MzllYi4uY2FlZWI5ZCAxMDA2NDQKLS0tIGEvdC9SRUFETUUKKysrIGIvdC9SRUFETUUKQEAgLTM0MCw3ICszNDAsMTEgQEAKICAtIHVzZSBwZXJsIHdpdGhvdXQgc3BlbGxpbmcgaXQgYXMgIiRQRVJMX1BBVEgiLiBUaGlzIGlzIHRvIGhlbHAgb3VyCiAgICBmcmllbmRzIG9uIFdpbmRvd3Mgd2hlcmUgdGhlIHBsYXRmb3JtIFBlcmwgb2Z0ZW4gYWRkcyBDUiBiZWZvcmUKICAgIHRoZSBlbmQgb2YgbGluZSwgYW5kIHRoZXkgYnVuZGxlIEdpdCB3aXRoIGEgdmVyc2lvbiBvZiBQZXJsIHRoYXQKLSAgIGRvZXMgbm90IGRvIHNvLCB3aG9zZSBwYXRoIGlzIHNwZWNpZmllZCB3aXRoICRQRVJMX1BBVEguCisgICBkb2VzIG5vdCBkbyBzbywgd2hvc2UgcGF0aCBpcyBzcGVjaWZpZWQgd2l0aCAkUEVSTF9QQVRILiBOb3RlIHRoYXQgd2UKKyAgIHByb3ZpZGUgYSAicGVybCIgZnVuY3Rpb24gd2hpY2ggdXNlcyAkUEVSTF9QQVRIIHVuZGVyIHRoZSBob29kLCBzbworICAgeW91IGRvIG5vdCBuZWVkIHRvIHdvcnJ5IHdoZW4gc2ltcGx5IHJ1bm5pbmcgcGVybCBpbiB0aGUgdGVzdCBzY3JpcHRzCisgICAoYnV0IHlvdSBkbywgZm9yIGV4YW1wbGUsIG9uIGEgc2hlYmFuZyBsaW5lIG9yIGluIGEgc3ViIHNjcmlwdAorICAgY3JlYXRlZCB2aWEgIndyaXRlX3NjcmlwdCIpLgogCiAgLSB1c2Ugc2ggd2l0aG91dCBzcGVsbGluZyBpdCBhcyAiJFNIRUxMX1BBVEgiLCB3aGVuIHRoZSBzY3JpcHQgY2FuCiAgICBiZSBtaXNpbnRlcnByZXRlZCBieSBicm9rZW4gcGxhdGZvcm0gc2hlbGwgKGUuZy4gU29sYXJpcykuCkBAIC0zODcsNyArMzkxLDcgQEAKIGJlbG93KSwgZS5nLjoKIAogICAgIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnSSBuZWVkIFBlcmwnICcKLSAgICAgICAgIiRQRVJMX1BBVEgiIC1lICJobGFnaCgpIGlmIHVuZl91bmYoKSIKKyAgICAgICAgcGVybCAtZSAiaGxhZ2goKSBpZiB1bmZfdW5mKCkiCiAgICAgJwogCiBUaGUgYWR2YW50YWdlIG9mIHNraXBwaW5nIHRlc3RzIGxpa2UgdGhpcyBpcyB0aGF0IHBsYXRmb3JtcyB0aGF0IGRvbid0CkBAIC01MjAsNyArNTI0LDcgQEAKIAogCXRlc3RfZXh0ZXJuYWwgXAogCSAgICAnR2l0d2ViQ2FjaGU6OipGaWxlQ2FjaGUqJyBcCi0JICAgICIkUEVSTF9QQVRIIiAiJFRFU1RfRElSRUNUT1JZIi90OTUwMy90ZXN0X2NhY2hlX2ludGVyZmFjZS5wbAorCSAgICBwZXJsICIkVEVTVF9ESVJFQ1RPUlkiL3Q5NTAzL3Rlc3RfY2FjaGVfaW50ZXJmYWNlLnBsCiAKICAgIElmIHRoZSB0ZXN0IGlzIG91dHB1dHRpbmcgaXRzIG93biBUQVAgeW91IHNob3VsZCBzZXQgdGhlCiAgICB0ZXN0X2V4dGVybmFsX2hhc190YXAgdmFyaWFibGUgc29tZXdoZXJlIGJlZm9yZSBjYWxsaW5nIHRoZSBmaXJzdApAQCAtNTM2LDcgKzU0MCw3IEBACiAKIAl0ZXN0X2V4dGVybmFsX3dpdGhvdXRfc3RkZXJyIFwKIAkgICAgJ1BlcmwgQVBJJyBcCi0JICAgICIkUEVSTF9QQVRIIiAiJFRFU1RfRElSRUNUT1JZIi90OTcwMC90ZXN0LnBsCisJICAgIHBlcmwgIiRURVNUX0RJUkVDVE9SWSIvdDk3MDAvdGVzdC5wbAogCiAgLSB0ZXN0X2V4cGVjdF9jb2RlIDxleGl0LWNvZGU+IDxjb21tYW5kPgogCmRpZmYgLS1naXQgYS90L2Fubm90YXRlLXRlc3RzLnNoIGIvdC9hbm5vdGF0ZS10ZXN0cy5zaAppbmRleCBkNGU3ZjQ3Li4zMDRjN2I3IDEwMDY0NAotLS0gYS90L2Fubm90YXRlLXRlc3RzLnNoCisrKyBiL3QvYW5ub3RhdGUtdGVzdHMuc2gKQEAgLTkyLDcgKzkyLDcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbWVyZ2UgYnJhbmNoMSAmIGJyYW5jaDInICcKLQlnaXQgcHVsbCAuIGJyYW5jaDEKKwlnaXQgbWVyZ2UgYnJhbmNoMQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAyIGF1dGhvcnMgKyAyIG1lcmdlZC1pbiBhdXRob3JzJyAnCkBAIC0xMTYsNiArMTE2LDI3IEBACiAJY2hlY2tfY291bnQgQSAyIEIgMSBCMSAyIEIyIDEgIkEgVSBUaG9yIiAxCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIGh1Z2UgZ3JhZnQnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBjaGVja291dCBicmFuY2gyIiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgLmdpdC9pbmZvL2dyYWZ0cyIgJiYKKwlncmFmdD0gJiYKKwlmb3IgaSBpbiAwIDEgMgorCWRvCisJCWZvciBqIGluIDAgMSAyIDMgNCA1IDYgNyA4IDkKKwkJZG8KKwkJCWdpdCBjaGVja291dCAtLW9ycGhhbiAiJGkkaiIgJiYKKwkJCXByaW50ZiAiJXNcbiIgIiRpIiAiJGoiID5maWxlICYmCisJCQl0ZXN0X3RpY2sgJiYKKwkJCUdJVF9BVVRIT1JfTkFNRT0kaSRqIEdJVF9BVVRIT1JfRU1BSUw9JGkkakB0ZXN0LmdpdCBcCisJCQlnaXQgY29tbWl0IC1hIC1tICIkaSRqIiAmJgorCQkJY29tbWl0PSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKSAmJgorCQkJZ3JhZnQ9IiRncmFmdCRjb21taXQgIgorCQlkb25lCisJZG9uZSAmJgorCXByaW50ZiAiJXMgIiAkZ3JhZnQgPi5naXQvaW5mby9ncmFmdHMgJiYKKwljaGVja19jb3VudCAtaCAwMCAwMSAxIDEwIDEKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgaW5jb21wbGV0ZSBsaW5lJyAnCiAJZWNobyAiaW5jb21wbGV0ZSIgfCB0ciAtZCAiXFwwMTIiID4+ZmlsZSAmJgogCUdJVF9BVVRIT1JfTkFNRT0iQyIgR0lUX0FVVEhPUl9FTUFJTD0iQ0B0ZXN0LmdpdCIgXApAQCAtMTg1LDYgKzIwNiwyNiBAQAogCWNoZWNrX2NvdW50IC1MNiwzIEIgMSBCMSAxIEIyIDEgRCAxCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIC1YJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwtMSBmaWxlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIDAnICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTDAgZmlsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCAsMCcgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MLDAgZmlsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCAsKzAnICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTCwrMCBmaWxlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIFgsKzAnICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTDEsKzAgZmlsZQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBYLCsxJyAnCiAJY2hlY2tfY291bnQgLUwzLCsxIEIyIDEKICcKQEAgLTE5Myw2ICsyMzQsMTQgQEAKIAljaGVja19jb3VudCAtTDMsKzQgQiAxIEIxIDEgQjIgMSBEIDEKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgLC0wJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwsLTAgZmlsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBYLC0wJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwxLC0wIGZpbGUKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgWCwtMScgJwogCWNoZWNrX2NvdW50IC1MMywtMSBCMiAxCiAnCkBAIC0yMjUsMTQgKzI3NCwxMDUgQEAKIAljaGVja19jb3VudCAtTC85OS8sLTMgQiAxIEIyIDEgRCAxCiAnCiAKKyMgJ2ZpbGUnIGVuZHMgd2l0aCBhbiBpbmNvbXBsZXRlIGxpbmUsIHNvICd3YycgcmVwb3J0cyBvbmUgZmV3ZXIgbGluZXMgdGhhbgorIyBnaXQtYmxhbWUgc2VlcywgaGVuY2UgdGhlIGxhc3QgbGluZSBpcyBhY3R1YWxseSAkKHdjLi4uKSsxLgordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgWCAoWCA9PSBubGluZXMpJyAnCisJbj0kKGV4cHIgJCh3YyAtbCA8ZmlsZSkgKyAxKSAmJgorCWNoZWNrX2NvdW50IC1MJG4gQyAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIFggKFggPT0gbmxpbmVzICsgMSknICcKKwluPSQoZXhwciAkKHdjIC1sIDxmaWxlKSArIDIpICYmCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwkbiBmaWxlCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIFggKFggPiBubGluZXMpJyAnCiAJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwxMjM0NSBmaWxlCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MICxZIChZID09IG5saW5lcyknICcKKwluPSQoZXhwciAkKHdjIC1sIDxmaWxlKSArIDEpICYmCisJY2hlY2tfY291bnQgLUwsJG4gQSAxIEIgMSBCMSAxIEIyIDEgIkEgVSBUaG9yIiAxIEMgMSBEIDEgRSAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MICxZIChZID09IG5saW5lcyArIDEpJyAnCisJbj0kKGV4cHIgJCh3YyAtbCA8ZmlsZSkgKyAyKSAmJgorCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MLCRuIGZpbGUKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgLFkgKFkgPiBubGluZXMpJyAnCiAJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwsMTIzNDUgZmlsZQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBtdWx0aXBsZSAoZGlzam9pbnQpJyAnCisJY2hlY2tfY291bnQgLUwyLDMgLUw2LDcgQSAxIEIxIDEgQjIgMSAiQSBVIFRob3IiIDEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgbXVsdGlwbGUgKGRpc2pvaW50OiB1bm9yZGVyZWQpJyAnCisJY2hlY2tfY291bnQgLUw2LDcgLUwyLDMgQSAxIEIxIDEgQjIgMSAiQSBVIFRob3IiIDEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgbXVsdGlwbGUgKGFkamFjZW50KScgJworCWNoZWNrX2NvdW50IC1MMiwzIC1MNCw1IEEgMSBCIDEgQjIgMSBEIDEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgbXVsdGlwbGUgKGFkamFjZW50OiB1bm9yZGVyZWQpJyAnCisJY2hlY2tfY291bnQgLUw0LDUgLUwyLDMgQSAxIEIgMSBCMiAxIEQgMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBtdWx0aXBsZSAob3ZlcmxhcHBpbmcpJyAnCisJY2hlY2tfY291bnQgLUwyLDQgLUwzLDUgQSAxIEIgMSBCMiAxIEQgMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBtdWx0aXBsZSAob3ZlcmxhcHBpbmc6IHVub3JkZXJlZCknICcKKwljaGVja19jb3VudCAtTDMsNSAtTDIsNCBBIDEgQiAxIEIyIDEgRCAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIG11bHRpcGxlIChzdXBlcnNldC9zdWJzZXQpJyAnCisJY2hlY2tfY291bnQgLUwyLDggLUwzLDUgQSAxIEIgMSBCMSAxIEIyIDEgQyAxIEQgMSAiQSBVIFRob3IiIDEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgbXVsdGlwbGUgKHN1cGVyc2V0L3N1YnNldDogdW5vcmRlcmVkKScgJworCWNoZWNrX2NvdW50IC1MMyw1IC1MMiw4IEEgMSBCIDEgQjEgMSBCMiAxIEMgMSBEIDEgIkEgVSBUaG9yIiAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIC9SRS8gKHJlbGF0aXZlKScgJworCWNoZWNrX2NvdW50IC1MMywzIC1ML2ZveC8gQjEgMSBCMiAxIEMgMSBEIDEgIkEgVSBUaG9yIiAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIC9SRS8gKHJlbGF0aXZlOiBubyBwcmVjZWRpbmcgcmFuZ2UpJyAnCisJY2hlY2tfY291bnQgLUwvZG9nLyBBIDEgQiAxIEIxIDEgQjIgMSBDIDEgRCAxICJBIFUgVGhvciIgMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCAvUkUvIChyZWxhdGl2ZTogYWRqYWNlbnQpJyAnCisJY2hlY2tfY291bnQgLUwxLDEgLUwvZG9nLywrMSBBIDEgRSAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIC9SRS8gKHJlbGF0aXZlOiBub3QgZm91bmQpJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUw0LDQgLUwvZG9nLyBmaWxlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIC9SRS8gKHJlbGF0aXZlOiBlbmQtb2YtZmlsZSknICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTCwgLUwvJC8gZmlsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBeL1JFLyAoYWJzb2x1dGUpJyAnCisJY2hlY2tfY291bnQgLUwzLDMgLUxeL2RvZy8sKzIgQSAxIEIyIDEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgXi9SRS8gKGFic29sdXRlOiBubyBwcmVjZWRpbmcgcmFuZ2UpJyAnCisJY2hlY2tfY291bnQgLUxeL2RvZy8sKzIgQSAxIEIyIDEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgXi9SRS8gKGFic29sdXRlOiBub3QgZm91bmQpJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUw0LDQgLUxeL3RhbWJvdXJpbmUvIGZpbGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgXi9SRS8gKGFic29sdXRlOiBlbmQtb2YtZmlsZSknICcKKwluPSQoZXhwciAkKHdjIC1sIDxmaWxlKSArIDEpICYmCisJY2hlY2tfY291bnQgLUwkbiAtTF4vJC8sKzIgQSAxIEMgMSBFIDEKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgLUwgOnJlZ2V4JyAnCiAJdHIgUSAiXFx0IiA+aGVsbG8uYyA8PC1cRU9GICYmCiAJaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXSkKQEAgLTI3NSwxMiArNDE1LDEzOSBAQAogCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MOm5vbWF0Y2ggaGVsbG8uYwogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBib2d1cycgJwotCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MIGZpbGUgJiYKLQl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTDEsKyBmaWxlICYmCi0JdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwxLC0gZmlsZSAmJgotCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MWCBmaWxlICYmCi0JdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwxLFggZmlsZSAmJgotCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMSwrTiBmaWxlICYmCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCA6UkUgKHJlbGF0aXZlKScgJworCWNoZWNrX2NvdW50IC1mIGhlbGxvLmMgLUwzLDMgLUw6bWEuLiBGIDEgSCA0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIDpSRSAocmVsYXRpdmU6IG5vIHByZWNlZGluZyByYW5nZSknICcKKwljaGVja19jb3VudCAtZiBoZWxsby5jIC1MOm1hLi4gRiA0IEcgMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCA6UkUgKHJlbGF0aXZlOiBub3QgZm91bmQpJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwzLDMgLUw6dGFtYm91cmluZSBoZWxsby5jCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIDpSRSAocmVsYXRpdmU6IGVuZC1vZi1maWxlKScgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MLCAtTDptYWluIGhlbGxvLmMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgXjpSRSAoYWJzb2x1dGUpJyAnCisJY2hlY2tfY291bnQgLWYgaGVsbG8uYyAtTDMsMyAtTF46bWEuLiBGIDQgRyAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIF46UkUgKGFic29sdXRlOiBubyBwcmVjZWRpbmcgcmFuZ2UpJyAnCisJY2hlY2tfY291bnQgLWYgaGVsbG8uYyAtTF46bWEuLiBGIDQgRyAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIF46UkUgKGFic29sdXRlOiBub3QgZm91bmQpJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUw0LDQgLUxeOnRhbWJvdXJpbmUgaGVsbG8uYworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBeOlJFIChhYnNvbHV0ZTogZW5kLW9mLWZpbGUpJyAnCisJbj0kKHByaW50ZiAiJWQiICQod2MgLWwgPGhlbGxvLmMpKSAmJgorCWNoZWNrX2NvdW50IC1mIGhlbGxvLmMgLUwkbiAtTF46bWEuLiBGIDQgRyAxIEggMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBpbmNyZW1lbnRhbCcgJworCSgKKwlHSVRfQVVUSE9SX05BTUU9SSAmJgorCWV4cG9ydCBHSVRfQVVUSE9SX05BTUUgJiYKKwlHSVRfQVVUSE9SX0VNQUlMPUlAdGVzdC5naXQgJiYKKwlleHBvcnQgR0lUX0FVVEhPUl9FTUFJTCAmJgorCT5pbmNyZW1lbnRhbCAmJgorCWdpdCBhZGQgaW5jcmVtZW50YWwgJiYKKwlnaXQgY29tbWl0IC1tICJzdGVwIDAiICYmCisJcHJpbnRmICJwYXJ0aWFsIiA+PmluY3JlbWVudGFsICYmCisJZ2l0IGNvbW1pdCAtYSAtbSAic3RlcCAwLjUiICYmCisJZWNobyA+PmluY3JlbWVudGFsICYmCisJZ2l0IGNvbW1pdCAtYSAtbSAic3RlcCAxIgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgZW1wdHknICcKKwljaGVja19jb3VudCAtaCBIRUFEXl4gLWYgaW5jcmVtZW50YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgMCBlbXB0eScgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMCBpbmNyZW1lbnRhbCBIRUFEXl4KKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgMSBlbXB0eScgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMSBpbmNyZW1lbnRhbCBIRUFEXl4KKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgMiBlbXB0eScgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMiBpbmNyZW1lbnRhbCBIRUFEXl4KKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgaGFsZicgJworCWNoZWNrX2NvdW50IC1oIEhFQUReIC1mIGluY3JlbWVudGFsIEkgMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCAwIGhhbGYnICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTDAgaW5jcmVtZW50YWwgSEVBRF4KKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgMSBoYWxmJyAnCisJY2hlY2tfY291bnQgLWggSEVBRF4gLWYgaW5jcmVtZW50YWwgLUwxIEkgMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCAyIGhhbGYnICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTDIgaW5jcmVtZW50YWwgSEVBRF4KKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgMyBoYWxmJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwzIGluY3JlbWVudGFsIEhFQUReCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIGZ1bGwnICcKKwljaGVja19jb3VudCAtZiBpbmNyZW1lbnRhbCBJIDEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgMCBmdWxsJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwwIGluY3JlbWVudGFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIDEgZnVsbCcgJworCWNoZWNrX2NvdW50IC1mIGluY3JlbWVudGFsIC1MMSBJIDEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgMiBmdWxsJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwyIGluY3JlbWVudGFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIDMgZnVsbCcgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMyBpbmNyZW1lbnRhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCcgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MIGZpbGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgWCwrJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwxLCsgZmlsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBYLC0nICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTDEsLSBmaWxlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIFggKG5vbi1udW1lcmljIFgpJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUxYIGZpbGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgWCxZIChub24tbnVtZXJpYyBZKScgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMSxZIGZpbGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgWCwrTiAobm9uLW51bWVyaWMgTiknICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTDEsK04gZmlsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBYLC1OIChub24tbnVtZXJpYyBOKScgJwogCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMSwtTiBmaWxlCiAnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MICxeL1JFLycgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMSxeLzk5LyBmaWxlCisnCmRpZmYgLS1naXQgYS90L2dpdHdlYi1saWIuc2ggYi90L2dpdHdlYi1saWIuc2gKaW5kZXggOWUzODFlMC4uZDVkYWI1YSAxMDA2NDQKLS0tIGEvdC9naXR3ZWItbGliLnNoCisrKyBiL3QvZ2l0d2ViLWxpYi5zaApAQCAtMSw0ICsxLDUgQEAKLSMhL2Jpbi9zaAorIyBJbml0aWFsaXphdGlvbiBhbmQgaGVscGVycyBmb3IgR2l0d2ViIHRlc3RzLCB3aGljaCBzb3VyY2UgdGhpcworIyBzaGVsbCBsaWJyYXJ5IGluc3RlYWQgb2YgdGVzdC1saWIuc2guCiAjCiAjIENvcHlyaWdodCAoYykgMjAwNyBKYWt1YiBOYXJlYnNraQogIwpAQCAtNjksNyArNzAsNyBAQAogCSMgd3JpdHRlbiB0byB3ZWIgc2VydmVyIGxvZ3MsIHNvIHdlIGFyZSBub3QgaW50ZXJlc3RlZCBpbiB0aGF0OgogCSMgd2UgYXJlIGludGVyZXN0ZWQgb25seSBpbiBwcm9wZXJseSBmb3JtYXR0ZWQgZXJyb3JzL3dhcm5pbmdzCiAJcm0gLWYgZ2l0d2ViLmxvZyAmJgotCSIkUEVSTF9QQVRIIiAtLSAiJFNDUklQVF9OQU1FIiBcCisJcGVybCAtLSAiJFNDUklQVF9OQU1FIiBcCiAJCT5naXR3ZWIub3V0cHV0IDI+Z2l0d2ViLmxvZyAmJgogCXBlcmwgLXcgLWUgJwogCQlvcGVuIE8sICI+Z2l0d2ViLmhlYWRlcnMiOwpkaWZmIC0tZ2l0IGEvdC9saWItYmFzaC5zaCBiL3QvbGliLWJhc2guc2gKaW5kZXggMTEzOTdmNy4uMmJlOTU1ZiAxMDA2NDQKLS0tIGEvdC9saWItYmFzaC5zaAorKysgYi90L2xpYi1iYXNoLnNoCkBAIC0xLDcgKzEsNiBAQAotIyEvYmluL3NoCi0jCi0jIEVuc3VyZXMgdGhhdCB0ZXN0cyBhcmUgcnVuIHVuZGVyIEJhc2g7IHByaW1hcmlseSBpbnRlbmRlZCBmb3IgcnVubmluZyB0ZXN0cwotIyBvZiB0aGUgY29tcGxldGlvbiBzY3JpcHQuCisjIFNoZWxsIGxpYnJhcnkgc291cmNlZCBpbnN0ZWFkIG9mIC4vdGVzdC1saWIuc2ggYnkgdGVzdHMgdGhhdCBuZWVkCisjIHRvIHJ1biB1bmRlciBCYXNoOyBwcmltYXJpbHkgaW50ZW5kZWQgZm9yIHRlc3RzIG9mIHRoZSBjb21wbGV0aW9uCisjIHNjcmlwdC4KIAogaWYgdGVzdCAtbiAiJEJBU0giICYmIHRlc3QgLXogIiRQT1NJWExZX0NPUlJFQ1QiOyB0aGVuCiAJIyB3ZSBhcmUgaW4gZnVsbC1vbiBiYXNoIG1vZGUKZGlmZiAtLWdpdCBhL3QvbGliLWNyZWRlbnRpYWwuc2ggYi90L2xpYi1jcmVkZW50aWFsLnNoCmluZGV4IDNjNDNmZjEuLjk1N2FlOTMgMTAwNzU1Ci0tLSBhL3QvbGliLWNyZWRlbnRpYWwuc2gKKysrIGIvdC9saWItY3JlZGVudGlhbC5zaApAQCAtMTgsMTAgKzE4LDYgQEAKIAkJY2F0IHN0ZGVyciAmJgogCQlmYWxzZQogCWZpICYmCi0JaWYgdGVzdF9oYXZlX3ByZXJlcSBNSU5HVwotCXRoZW4KLQkJZG9zMnVuaXggLXEgc3RkZXJyCi0JZmkgJiYKIAl0ZXN0X2NtcCBleHBlY3Qtc3Rkb3V0IHN0ZG91dCAmJgogCXRlc3RfY21wIGV4cGVjdC1zdGRlcnIgc3RkZXJyCiB9CmRpZmYgLS1naXQgYS90L2xpYi1jdnMuc2ggYi90L2xpYi1jdnMuc2gKaW5kZXggNDQyNjNhZC4uNTA3NjcxOCAxMDA2NDQKLS0tIGEvdC9saWItY3ZzLnNoCisrKyBiL3QvbGliLWN2cy5zaApAQCAtMSw0ICsxLDQgQEAKLSMhL2Jpbi9zaAorIyBTaGVsbCBsaWJyYXJ5IHNvdXJjZWQgaW5zdGVhZCBvZiAuL3Rlc3QtbGliLnNoIGJ5IGN2c2ltcG9ydCB0ZXN0cy4KIAogLiAuL3Rlc3QtbGliLnNoCiAKZGlmZiAtLWdpdCBhL3QvbGliLWRpZmYtYWx0ZXJuYXRpdmUuc2ggYi90L2xpYi1kaWZmLWFsdGVybmF0aXZlLnNoCmluZGV4IDc1ZmZkOTEuLjhiNGRiZjIgMTAwNjQ0Ci0tLSBhL3QvbGliLWRpZmYtYWx0ZXJuYXRpdmUuc2gKKysrIGIvdC9saWItZGlmZi1hbHRlcm5hdGl2ZS5zaApAQCAtMSw0ICsxLDUgQEAKLSMhL2Jpbi9zaAorIyBIZWxwZXJzIHNoYXJlZCBieSB0aGUgdGVzdCBzY3JpcHRzIGZvciBkaWZmIGFsZ29yaXRobXMgKHBhdGllbmNlLAorIyBoaXN0b2dyYW0sIGV0YykuCiAKIHRlc3RfZGlmZl9mcm9ibml0eigpIHsKIAljYXQgPmZpbGUxIDw8XEVPRgpkaWZmIC0tZ2l0IGEvdC9saWItZ2V0dGV4dC5zaCBiL3QvbGliLWdldHRleHQuc2gKaW5kZXggYWU4ODgzYS4uZWVjNzU3ZiAxMDA2NDQKLS0tIGEvdC9saWItZ2V0dGV4dC5zaAorKysgYi90L2xpYi1nZXR0ZXh0LnNoCkBAIC0xLDQgKzEsNSBAQAotIyEvYmluL3NoCisjIEluaXRpYWxpemF0aW9uIGFuZCBJY2VsYW5kaWMgbG9jYWxlIGZvciBiYXNpYyBnaXQgaTE4biB0ZXN0cywKKyMgd2hpY2ggc291cmNlIHRoaXMgc2NyaXB0bGV0IGluc3RlYWQgb2YgLi90ZXN0LWxpYi5zaC4KICMKICMgQ29weXJpZ2h0IChjKSAyMDEwIMOGdmFyIEFybmZqw7Zyw7AgQmphcm1hc29uCiAjCmRpZmYgLS1naXQgYS90L2xpYi1naXQtZGFlbW9uLnNoIGIvdC9saWItZ2l0LWRhZW1vbi5zaAppbmRleCA4N2YwYWQ4Li4zOTRiMDZiIDEwMDY0NAotLS0gYS90L2xpYi1naXQtZGFlbW9uLnNoCisrKyBiL3QvbGliLWdpdC1kYWVtb24uc2gKQEAgLTEsNCArMSwyMCBAQAotIyEvYmluL3NoCisjIFNoZWxsIGxpYnJhcnkgdG8gcnVuIGdpdC1kYWVtb24gaW4gdGVzdHMuICBFbmRzIHRoZSB0ZXN0IGVhcmx5IGlmCisjIEdJVF9URVNUX0dJVF9EQUVNT04gaXMgbm90IHNldC4KKyMKKyMgVXNhZ2U6CisjCisjCS4gLi90ZXN0LWxpYi5zaAorIwkuICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1naXQtZGFlbW9uLnNoCisjCXN0YXJ0X2dpdF9kYWVtb24KKyMKKyMJdGVzdF9leHBlY3Rfc3VjY2VzcyAnLi4uJyAnCisjCQkuLi4KKyMJJworIworIwl0ZXN0X2V4cGVjdF9zdWNjZXNzIC4uLgorIworIwlzdG9wX2dpdF9kYWVtb24KKyMJdGVzdF9kb25lCiAKIGlmIHRlc3QgLXogIiRHSVRfVEVTVF9HSVRfREFFTU9OIgogdGhlbgpkaWZmIC0tZ2l0IGEvdC9saWItZ2l0LXA0LnNoIGIvdC9saWItZ2l0LXA0LnNoCmluZGV4IDIwOThiOWIuLjVhYThhZGMgMTAwNjQ0Ci0tLSBhL3QvbGliLWdpdC1wNC5zaAorKysgYi90L2xpYi1naXQtcDQuc2gKQEAgLTQ3LDE0ICs0NywyMiBAQAogCiBQNFBPUlQ9bG9jYWxob3N0OiRQNERQT1JUCiBQNENMSUVOVD1jbGllbnQKLVA0RURJVE9SPToKLWV4cG9ydCBQNFBPUlQgUDRDTElFTlQgUDRFRElUT1IKK1A0VVNFUj1hdXRob3IKK1A0RURJVE9SPXRydWUKK3Vuc2V0IFA0Q0hBUlNFVAorZXhwb3J0IFA0UE9SVCBQNENMSUVOVCBQNFVTRVIgUDRFRElUT1IgUDRDSEFSU0VUCiAKIGRiPSIkVFJBU0hfRElSRUNUT1JZL2RiIgogY2xpPSIkVFJBU0hfRElSRUNUT1JZL2NsaSIKIGdpdD0iJFRSQVNIX0RJUkVDVE9SWS9naXQiCiBwaWRmaWxlPSIkVFJBU0hfRElSRUNUT1JZL3A0ZC5waWQiCiAKKyMgZ2l0IHA0IHN1Ym1pdCBnZW5lcmF0ZXMgYSB0ZW1wIGZpbGUsIHdoaWNoIHdpbGwKKyMgbm90IGdldCBjbGVhbmVkIHVwIGlmIHRoZSBzdWJtaXNzaW9uIGZhaWxzLiAgRG9uJ3QKKyMgY2x1dHRlciB1cCAvdG1wIG9uIHRoZSB0ZXN0IG1hY2hpbmUuCitUTVBESVI9IiRUUkFTSF9ESVJFQ1RPUlkiCitleHBvcnQgVE1QRElSCisKIHN0YXJ0X3A0ZCgpIHsKIAlta2RpciAtcCAiJGRiIiAiJGNsaSIgIiRnaXQiICYmCiAJcm0gLWYgIiRwaWRmaWxlIiAmJgpAQCAtOTUsMTIgKzEwMywyNCBAQAogCQlyZXR1cm4gMQogCWZpCiAKKwkjIGJ1aWxkIGEgcDQgdXNlciBzbyBhdXRob3JAZXhhbXBsZS5jb20gaGFzIGFuIGVudHJ5CisJcDRfYWRkX3VzZXIgYXV0aG9yCisKIAkjIGJ1aWxkIGEgY2xpZW50CiAJY2xpZW50X3ZpZXcgIi8vZGVwb3QvLi4uIC8vY2xpZW50Ly4uLiIgJiYKIAogCXJldHVybiAwCiB9CiAKK3A0X2FkZF91c2VyKCkgeworCW5hbWU9JDEgJiYKKwlwNCB1c2VyIC1mIC1pIDw8LUVPRgorCVVzZXI6ICRuYW1lCisJRW1haWw6ICRuYW1lQGV4YW1wbGUuY29tCisJRnVsbE5hbWU6IERyLiAkbmFtZQorCUVPRgorfQorCiBraWxsX3A0ZCgpIHsKIAlwaWQ9JChjYXQgIiRwaWRmaWxlIikKIAkjIGl0IGhhZCBiZXR0ZXIgZXhpc3QgZm9yIHRoZSBmaXJzdCBraWxsCmRpZmYgLS1naXQgYS90L2xpYi1naXQtc3ZuLnNoIGIvdC9saWItZ2l0LXN2bi5zaAppbmRleCBjNWU1NWIxLi5iMGVjMTJmIDEwMDY0NAotLS0gYS90L2xpYi1naXQtc3ZuLnNoCisrKyBiL3QvbGliLWdpdC1zdm4uc2gKQEAgLTI5LDcgKzI5LDcgQEAKIHN2bmNvbmY9JFBXRC9zdm5jb25mCiBleHBvcnQgc3ZuY29uZgogCi0iJFBFUkxfUEFUSCIgLXcgLWUgIgorcGVybCAtdyAtZSAiCiB1c2UgU1ZOOjpDb3JlOwogdXNlIFNWTjo6UmVwb3M7CiBcJFNWTjo6Q29yZTo6VkVSU0lPTiBndCAnMS4xLjAnIG9yIGV4aXQoNDIpOwpAQCAtMTQ2LDcgKzE0Niw3IEBACiB9CiAKIGNvbnZlcnRfdG9fcmV2X2RiICgpIHsKLQkiJFBFUkxfUEFUSCIgLXcgLS0gLSAiJEAiIDw8XEVPRgorCXBlcmwgLXcgLS0gLSAiJEAiIDw8XEVPRgogdXNlIHN0cmljdDsKIEBBUkdWID09IDIgb3IgZGllICJ1c2FnZTogY29udmVydF90b19yZXZfZGIgPGlucHV0PiA8b3V0cHV0PiI7CiBvcGVuIG15ICR3ciwgJys+JywgJEFSR1ZbMV0gb3IgZGllICIkITogY291bGRuJ3Qgb3BlbjogJEFSR1ZbMV0iOwpkaWZmIC0tZ2l0IGEvdC9saWItaHR0cGQuc2ggYi90L2xpYi1odHRwZC5zaAppbmRleCA3MDU5Y2M2Li5iZmRmZjJhIDEwMDY0NAotLS0gYS90L2xpYi1odHRwZC5zaAorKysgYi90L2xpYi1odHRwZC5zaApAQCAtMSw0ICsxLDMxIEBACi0jIS9iaW4vc2gKKyMgU2hlbGwgbGlicmFyeSB0byBydW4gYW4gSFRUUCBzZXJ2ZXIgZm9yIHVzZSBpbiB0ZXN0cy4KKyMgRW5kcyB0aGUgdGVzdCBlYXJseSBpZiBodHRwZCB0ZXN0cyBzaG91bGQgbm90IGJlIHJ1biwKKyMgZm9yIGV4YW1wbGUgYmVjYXVzZSB0aGUgdXNlciBoYXMgbm90IGVuYWJsZWQgdGhlbS4KKyMKKyMgVXNhZ2U6CisjCisjCS4gLi90ZXN0LWxpYi5zaAorIwkuICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1odHRwZC5zaAorIwlzdGFydF9odHRwZAorIworIwl0ZXN0X2V4cGVjdF9zdWNjZXNzICcuLi4nICcKKyMJCS4uLgorIwknCisjCisjCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgLi4uCisjCisjCXN0b3BfaHR0cGQKKyMJdGVzdF9kb25lCisjCisjIENhbiBiZSBjb25maWd1cmVkIHVzaW5nIHRoZSBmb2xsb3dpbmcgdmFyaWFibGVzLgorIworIyAgICBHSVRfVEVTVF9IVFRQRCAgICAgICAgICAgICAgZW5hYmxlIEhUVFBEIHRlc3RzCisjICAgIExJQl9IVFRQRF9QQVRIICAgICAgICAgICAgICB3ZWIgc2VydmVyIHBhdGgKKyMgICAgTElCX0hUVFBEX01PRFVMRV9QQVRIICAgICAgIHdlYiBzZXJ2ZXIgbW9kdWxlcyBwYXRoCisjICAgIExJQl9IVFRQRF9QT1JUICAgICAgICAgICAgICBsaXN0ZW5pbmcgcG9ydAorIyAgICBMSUJfSFRUUERfREFWICAgICAgICAgICAgICAgZW5hYmxlIERBVgorIyAgICBMSUJfSFRUUERfU1ZOICAgICAgICAgICAgICAgZW5hYmxlIFNWTgorIyAgICBMSUJfSFRUUERfU1NMICAgICAgICAgICAgICAgZW5hYmxlIFNTTAogIwogIyBDb3B5cmlnaHQgKGMpIDIwMDggQ2xlbWVucyBCdWNoYWNoZXIgPGRyaXp6ZEBhb24uYXQ+CiAjCkBAIC0xMDIsNyArMTI5LDcgQEAKIAlIVFRQRF9ERVNUPTEyNy4wLjAuMTokTElCX0hUVFBEX1BPUlQKIAlIVFRQRF9VUkw9JEhUVFBEX1BST1RPOi8vJEhUVFBEX0RFU1QKIAlIVFRQRF9VUkxfVVNFUj0kSFRUUERfUFJPVE86Ly91c2VyJTQwaG9zdEAkSFRUUERfREVTVAotCUhUVFBEX1VSTF9VU0VSX1BBU1M9JEhUVFBEX1BST1RPOi8vdXNlciU0MGhvc3Q6dXNlciU0MGhvc3RAJEhUVFBEX0RFU1QKKwlIVFRQRF9VUkxfVVNFUl9QQVNTPSRIVFRQRF9QUk9UTzovL3VzZXIlNDBob3N0OnBhc3MlNDBob3N0QCRIVFRQRF9ERVNUCiAKIAlpZiB0ZXN0IC1uICIkTElCX0hUVFBEX0RBViIgLW8gLW4gIiRMSUJfSFRUUERfU1ZOIgogCXRoZW4KQEAgLTE0MSwxMCArMTY4LDExIEBACiAJCS1mICIkVEVTVF9QQVRIL2FwYWNoZS5jb25mIiAkSFRUUERfUEFSQSAtayBzdG9wCiB9CiAKLXRlc3RfaHR0cF9wdXNoX25vbmZmKCkgewordGVzdF9odHRwX3B1c2hfbm9uZmYgKCkgewogCVJFTU9URV9SRVBPPSQxCiAJTE9DQUxfUkVQTz0kMgogCUJSQU5DSD0kMworCUVYUEVDVF9DQVNfUkVTVUxUPSR7NC1mYWlsdXJlfQogCiAJdGVzdF9leHBlY3Rfc3VjY2VzcyAnbm9uLWZhc3QtZm9yd2FyZCBwdXNoIGZhaWxzJyAnCiAJCWNkICIkUkVNT1RFX1JFUE8iICYmCkBAIC0xNjcsMTMgKzE5NSwzNyBAQAogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vbi1mYXN0LWZvcndhcmQgcHVzaCBzaG93cyBoZWxwIG1lc3NhZ2UnICcKIAkJdGVzdF9pMThuZ3JlcCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UiIG91dHB1dAogCScKKworCXRlc3RfZXhwZWN0XyR7RVhQRUNUX0NBU19SRVNVTFR9ICdmb3JjZSB3aXRoIGxlYXNlIGFrYSBjYXMnICcKKwkJSEVBRD0kKAljZCAiJFJFTU9URV9SRVBPIiAmJiBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQgKSAmJgorCQl0ZXN0X3doZW5fZmluaXNoZWQgJ1wnJworCQkJKGNkICIkUkVNT1RFX1JFUE8iICYmIGdpdCB1cGRhdGUtcmVmIEhFQUQgIiRIRUFEIikKKwkJJ1wnJyAmJgorCQkoCisJCQljZCAiJExPQ0FMX1JFUE8iICYmCisJCQlnaXQgcHVzaCAtdiAtLWZvcmNlLXdpdGgtbGVhc2U9JEJSQU5DSDokSEVBRCBvcmlnaW4KKwkJKSAmJgorCQlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5ICIkQlJBTkNIIiA+ZXhwZWN0ICYmCisJCSgKKwkJCWNkICIkUkVNT1RFX1JFUE8iICYmIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRAorCQkpID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCScKIH0KIAogc2V0dXBfYXNrcGFzc19oZWxwZXIoKSB7CiAJdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgYXNrcGFzcyBoZWxwZXInICcKIAkJd3JpdGVfc2NyaXB0ICIkVFJBU0hfRElSRUNUT1JZL2Fza3Bhc3MiIDw8LVxFT0YgJiYKIAkJZWNobyA+PiIkVFJBU0hfRElSRUNUT1JZL2Fza3Bhc3MtcXVlcnkiICJhc2twYXNzOiAkKiIgJiYKLQkJY2F0ICIkVFJBU0hfRElSRUNUT1JZL2Fza3Bhc3MtcmVzcG9uc2UiCisJCWNhc2UgIiQqIiBpbgorCQkqVXNlcm5hbWUqKQorCQkJd2hhdD11c2VyCisJCQk7OworCQkqUGFzc3dvcmQqKQorCQkJd2hhdD1wYXNzCisJCQk7OworCQllc2FjICYmCisJCWNhdCAiJFRSQVNIX0RJUkVDVE9SWS9hc2twYXNzLSR3aGF0IgogCQlFT0YKIAkJR0lUX0FTS1BBU1M9IiRUUkFTSF9ESVJFQ1RPUlkvYXNrcGFzcyIgJiYKIAkJZXhwb3J0IEdJVF9BU0tQQVNTICYmCkBAIC0xODMsNyArMjM1LDggQEAKIAogc2V0X2Fza3Bhc3MoKSB7CiAJPiIkVFJBU0hfRElSRUNUT1JZL2Fza3Bhc3MtcXVlcnkiICYmCi0JZWNobyAiJCoiID4iJFRSQVNIX0RJUkVDVE9SWS9hc2twYXNzLXJlc3BvbnNlIgorCWVjaG8gIiQxIiA+IiRUUkFTSF9ESVJFQ1RPUlkvYXNrcGFzcy11c2VyIiAmJgorCWVjaG8gIiQyIiA+IiRUUkFTSF9ESVJFQ1RPUlkvYXNrcGFzcy1wYXNzIgogfQogCiBleHBlY3RfYXNrcGFzcygpIHsKZGlmZiAtLWdpdCBhL3QvbGliLWh0dHBkL2FwYWNoZS5jb25mIGIvdC9saWItaHR0cGQvYXBhY2hlLmNvbmYKaW5kZXggNGEyNjFmMS4uM2EwM2U4MiAxMDA2NDQKLS0tIGEvdC9saWItaHR0cGQvYXBhY2hlLmNvbmYKKysrIGIvdC9saWItaHR0cGQvYXBhY2hlLmNvbmYKQEAgLTIyLDYgKzIyLDkgQEAKIDxJZk1vZHVsZSAhbW9kX3ZlcnNpb24uYz4KIAlMb2FkTW9kdWxlIHZlcnNpb25fbW9kdWxlIG1vZHVsZXMvbW9kX3ZlcnNpb24uc28KIDwvSWZNb2R1bGU+Cis8SWZNb2R1bGUgIW1vZF9oZWFkZXJzLmM+CisJTG9hZE1vZHVsZSBoZWFkZXJzX21vZHVsZSBtb2R1bGVzL21vZF9oZWFkZXJzLnNvCis8L0lmTW9kdWxlPgogCiA8SWZWZXJzaW9uIDwgMi40PgogTG9ja0ZpbGUgYWNjZXB0LmxvY2sKQEAgLTg3LDYgKzkwLDExIEBACiAJU2V0RW52IEdJVF9IVFRQX0VYUE9SVF9BTEwKIAlTZXRFbnYgR0lUX05BTUVTUEFDRSBucwogPC9Mb2NhdGlvbk1hdGNoPgorPExvY2F0aW9uTWF0Y2ggL3NtYXJ0X2Nvb2tpZXMvPgorCVNldEVudiBHSVRfRVhFQ19QQVRIICR7R0lUX0VYRUNfUEFUSH0KKwlTZXRFbnYgR0lUX0hUVFBfRVhQT1JUX0FMTAorCUhlYWRlciBzZXQgU2V0LUNvb2tpZSBuYW1lPXZhbHVlCis8L0xvY2F0aW9uTWF0Y2g+CiBTY3JpcHRBbGlhc01hdGNoIC9zbWFydF8qW14vXSovKC4qKSAke0dJVF9FWEVDX1BBVEh9L2dpdC1odHRwLWJhY2tlbmQvJDEKIFNjcmlwdEFsaWFzIC9icm9rZW5fc21hcnQvIGJyb2tlbi1zbWFydC1odHRwLnNoLwogPERpcmVjdG9yeSAke0dJVF9FWEVDX1BBVEh9PgpkaWZmIC0tZ2l0IGEvdC9saWItaHR0cGQvcGFzc3dkIGIvdC9saWItaHR0cGQvcGFzc3dkCmluZGV4IGYyZmJjYWQuLjk5YTM0ZDYgMTAwNjQ0Ci0tLSBhL3QvbGliLWh0dHBkL3Bhc3N3ZAorKysgYi90L2xpYi1odHRwZC9wYXNzd2QKQEAgLTEgKzEgQEAKLXVzZXJAaG9zdDpuS3BhOHBaVUh4L2ljCit1c2VyQGhvc3Q6eGI0RThwcUQ4MUtRcwpkaWZmIC0tZ2l0IGEvdC9saWItcGFjay5zaCBiL3QvbGliLXBhY2suc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUwOTg0NgotLS0gL2Rldi9udWxsCisrKyBiL3QvbGliLXBhY2suc2gKQEAgLTAsMCArMSw5OCBAQAorIyBTdXBwb3J0IHJvdXRpbmVzIGZvciBoYW5kLWNyYWZ0aW5nIHdlaXJkIG9yIG1hbGljaW91cyBwYWNrcy4KKyMKKyMgWW91IGNhbiBtYWtlIGEgY29tcGxldGUgcGFjayBsaWtlOgorIworIyAgIHBhY2tfaGVhZGVyIDIgPmZvby5wYWNrICYmCisjICAgcGFja19vYmogZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MSA+PmZvby5wYWNrICYmCisjICAgcGFja19vYmogZTY4ZmU4MTI5YjU0NmIxMDFhZWU5NTEwYzUzMjhlN2YyMWNhMWQxOCA+PmZvby5wYWNrICYmCisjICAgcGFja190cmFpbGVyIGZvby5wYWNrCisKKyMgUHJpbnQgdGhlIGJpZy1lbmRpYW4gNC1ieXRlIG9jdGFsIHJlcHJlc2VudGF0aW9uIG9mICQxCit1aW50MzJfb2N0YWwgKCkgeworCW49JDEKKwlwcmludGYgJ1xcJW8nICQoKCRuIC8gMTY3NzcyMTYpKTsgbj0kKChuICUgMTY3NzcyMTYpKQorCXByaW50ZiAnXFwlbycgJCgoJG4gLyAgICA2NTUzNikpOyBuPSQoKG4gJSAgICA2NTUzNikpCisJcHJpbnRmICdcXCVvJyAkKCgkbiAvICAgICAgMjU2KSk7IG49JCgobiAlICAgICAgMjU2KSkKKwlwcmludGYgJ1xcJW8nICQoKCRuICAgICAgICAgICApKTsKK30KKworIyBQcmludCB0aGUgYmlnLWVuZGlhbiA0LWJ5dGUgYmluYXJ5IHJlcHJlc2VudGF0aW9uIG9mICQxCit1aW50MzJfYmluYXJ5ICgpIHsKKwlwcmludGYgIiQodWludDMyX29jdGFsICIkMSIpIgorfQorCisjIFByaW50IGEgcGFjayBoZWFkZXIsIHZlcnNpb24gMiwgZm9yIGEgcGFjayB3aXRoICQxIG9iamVjdHMKK3BhY2tfaGVhZGVyICgpIHsKKwlwcmludGYgJ1BBQ0snICYmCisJcHJpbnRmICdcMFwwXDBcMicgJiYKKwl1aW50MzJfYmluYXJ5ICIkMSIKK30KKworIyBQcmludCB0aGUgcGFjayBkYXRhIGZvciBvYmplY3QgJDEsIGFzIGEgZGVsdGEgYWdhaW5zdCBvYmplY3QgJDIgKG9yIGFzIGEgZnVsbAorIyBvYmplY3QgaWYgJDIgaXMgbWlzc2luZyBvciBlbXB0eSkuIFRoZSBvdXRwdXQgaXMgc3VpdGFibGUgZm9yIGluY2x1ZGluZworIyBkaXJlY3RseSBpbiB0aGUgcGFja2ZpbGUsIGFuZCByZXByZXNlbnRzIHRoZSBlbnRpcmV0eSBvZiB0aGUgb2JqZWN0IGVudHJ5LgorIyBEb2luZyB0aGlzIG9uIHRoZSBmbHkgKGVzcGVjaWFsbHkgcGlja2luZyB5b3VyIGRlbHRhcykgaXMgcXVpdGUgdHJpY2t5LCBzbyB3ZQorIyBoYXZlIGhhcmRjb2RlZCBzb21lIHdlbGwta25vd24gb2JqZWN0cy4gU2VlIHRoZSBjYXNlIHN0YXRlbWVudHMgYmVsb3cgZm9yIHRoZQorIyBjb21wbGV0ZSBsaXN0LgorcGFja19vYmogKCkgeworCWNhc2UgIiQxIiBpbgorCSMgZW1wdHkgYmxvYgorCWU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEpCisJCWNhc2UgIiQyIiBpbgorCQknJykKKwkJCXByaW50ZiAnXDA2MFwxNzBcMjM0XDAwM1wwXDBcMFwwXDEnCisJCQlyZXR1cm4KKwkJCTs7CisJCWVzYWMKKwkJOzsKKworCSMgYmxvYiBjb250YWluaW5nICJcN1w3NiIKKwllNjhmZTgxMjliNTQ2YjEwMWFlZTk1MTBjNTMyOGU3ZjIxY2ExZDE4KQorCQljYXNlICIkMiIgaW4KKwkJJycpCisJCQlwcmludGYgJ1wwNjJcMTcwXDIzNFwxNDNcMjY3XDNcMFwwXDExNlwwXDEwNicKKwkJCXJldHVybgorCQkJOzsKKwkJMDFkNzcxMzY2NmY0ZGU4MjI3NzZjNzYyMmMxMGYxYjA3ZGUyODBkYykKKwkJCXByaW50ZiAnXDE2NVwxXDMyN1wxNjFcNjZcMTQ2XDM2NFwzMzZcMjAyXDQ3XDE2NicgJiYKKwkJCXByaW50ZiAnXDMwN1wxNDJcNTRcMjBcMzYxXDI2MFwxNzVcMzQyXDIwMFwzMzRcMTcwJyAmJgorCQkJcHJpbnRmICdcMjM0XDE0M1wxNDJcMTQyXDE0MlwyNjdcMDAzXDBcMFwxNTFcMFwxMTQnCisJCQlyZXR1cm4KKwkJCTs7CisJCWVzYWMKKwkJOzsKKworCSMgYmxvYiBjb250YWluaW5nICJcN1wwIgorCTAxZDc3MTM2NjZmNGRlODIyNzc2Yzc2MjJjMTBmMWIwN2RlMjgwZGMpCisJCWNhc2UgIiQyIiBpbgorCQknJykKKwkJCXByaW50ZiAnXDA2MlwxNzBcMjM0XDE0M1wxNDdcMFwwXDBcMjBcMFwxMCcKKwkJCXJldHVybgorCQkJOzsKKwkJZTY4ZmU4MTI5YjU0NmIxMDFhZWU5NTEwYzUzMjhlN2YyMWNhMWQxOCkKKwkJCXByaW50ZiAnXDE2NVwzNDZcMjE3XDM1MFwyMlwyMzNcMTI0XDE1M1wyMFwzMlwzNTYnICYmCisJCQlwcmludGYgJ1wyMjVcMjBcMzA1XDYyXDIxNlwxNzdcNDFcMzEyXDM1XDMwXDE3MFwyMzQnICYmCisJCQlwcmludGYgJ1wxNDNcMTQyXDE0MlwxNDJcMTQ3XDBcMFwwXDUzXDBcMTYnCisJCQlyZXR1cm4KKwkJCTs7CisJCWVzYWMKKwkJOzsKKwllc2FjCisKKwllY2hvID4mMiAiQlVHOiBkb24ndCBrbm93IGhvdyB0byBwcmludCAkMSR7MjorIChmcm9tICQyKX0iCisJcmV0dXJuIDEKK30KKworIyBDb21wdXRlIGFuZCBhcHBlbmQgcGFjayB0cmFpbGVyIHRvICIkMSIKK3BhY2tfdHJhaWxlciAoKSB7CisJdGVzdC1zaGExIC1iIDwiJDEiID50cmFpbGVyLnRtcCAmJgorCWNhdCB0cmFpbGVyLnRtcCA+PiIkMSIgJiYKKwlybSAtZiB0cmFpbGVyLnRtcAorfQorCisjIFJlbW92ZSBhbnkgZXhpc3RpbmcgcGFja3MgdG8gbWFrZSBzdXJlIHRoYXQKKyMgd2hhdGV2ZXIgd2UgaW5kZXggbmV4dCB3aWxsIGJlIHRoZSBwYWNrIHRoYXQgd2UKKyMgYWN0dWFsbHkgdXNlLgorY2xlYXJfcGFja3MgKCkgeworCXJtIC1mIC5naXQvb2JqZWN0cy9wYWNrLyoKK30KZGlmZiAtLWdpdCBhL3QvbGliLXBhZ2VyLnNoIGIvdC9saWItcGFnZXIuc2gKaW5kZXggYmEwM2VhYi4uM2FhN2EzZiAxMDA2NDQKLS0tIGEvdC9saWItcGFnZXIuc2gKKysrIGIvdC9saWItcGFnZXIuc2gKQEAgLTEsNCArMSw0IEBACi0jIS9iaW4vc2gKKyMgSGVscGVycyBmb3IgdGVzdHMgb2YgZ2l0J3MgY2hvaWNlIG9mIHBhZ2VyLgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZXRlcm1pbmUgZGVmYXVsdCBwYWdlcicgJwogCXRlc3RfbWlnaHRfZmFpbCBnaXQgY29uZmlnIC0tdW5zZXQgY29yZS5wYWdlciAmJgpkaWZmIC0tZ2l0IGEvdC9saWItcHJlcmVxLUZJTEVNT0RFLnNoIGIvdC9saWItcHJlcmVxLUZJTEVNT0RFLnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiY2U1YTRjLi4wMDAwMDAwCi0tLSBhL3QvbGliLXByZXJlcS1GSUxFTU9ERS5zaAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLSMhL2Jpbi9zaAotIwotIyBDb3B5cmlnaHQgKGMpIDIwMTAgw4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24KLSMKLQotaWYgdGVzdCAiJChnaXQgY29uZmlnIC0tYm9vbCBjb3JlLmZpbGVtb2RlKSIgPSBmYWxzZQotdGhlbgotCXNheSAnZmlsZW1vZGUgZGlzYWJsZWQgb24gdGhlIGZpbGVzeXN0ZW0nCi1lbHNlCi0JdGVzdF9zZXRfcHJlcmVxIEZJTEVNT0RFCi1maQpkaWZmIC0tZ2l0IGEvdC9saWItcmVhZC10cmVlLnNoIGIvdC9saWItcmVhZC10cmVlLnNoCmluZGV4IGFiYzJjNmYuLmI5NWY0ODUgMTAwNjQ0Ci0tLSBhL3QvbGliLXJlYWQtdHJlZS5zaAorKysgYi90L2xpYi1yZWFkLXRyZWUuc2gKQEAgLTEsNDMgKzEsNDEgQEAKLSMhL2Jpbi9zaAotIwogIyBIZWxwZXIgZnVuY3Rpb25zIHRvIGNoZWNrIGlmIHJlYWQtdHJlZSB3b3VsZCBzdWNjZWVkL2ZhaWwgYXMgZXhwZWN0ZWQgd2l0aAogIyBhbmQgd2l0aG91dCB0aGUgZHJ5LXJ1biBvcHRpb24uIFRoZXkgYWxzbyB0ZXN0IHRoYXQgdGhlIGRyeS1ydW4gZG9lcyBub3QKICMgd3JpdGUgdGhlIGluZGV4IGFuZCB0aGF0IHRvZ2V0aGVyIHdpdGggLXUgaXQgZG9lc24ndCB0b3VjaCB0aGUgd29yayB0cmVlLgogIwogcmVhZF90cmVlX211c3Rfc3VjY2VlZCAoKSB7Ci0gICAgZ2l0IGxzLWZpbGVzIC1zID5wcmUtZHJ5LXJ1biAmJgotICAgIGdpdCByZWFkLXRyZWUgLW4gIiRAIiAmJgotICAgIGdpdCBscy1maWxlcyAtcyA+cG9zdC1kcnktcnVuICYmCi0gICAgdGVzdF9jbXAgcHJlLWRyeS1ydW4gcG9zdC1kcnktcnVuICYmCi0gICAgZ2l0IHJlYWQtdHJlZSAiJEAiCisJZ2l0IGxzLWZpbGVzIC1zID5wcmUtZHJ5LXJ1biAmJgorCWdpdCByZWFkLXRyZWUgLW4gIiRAIiAmJgorCWdpdCBscy1maWxlcyAtcyA+cG9zdC1kcnktcnVuICYmCisJdGVzdF9jbXAgcHJlLWRyeS1ydW4gcG9zdC1kcnktcnVuICYmCisJZ2l0IHJlYWQtdHJlZSAiJEAiCiB9CiAKIHJlYWRfdHJlZV9tdXN0X2ZhaWwgKCkgewotICAgIGdpdCBscy1maWxlcyAtcyA+cHJlLWRyeS1ydW4gJiYKLSAgICB0ZXN0X211c3RfZmFpbCBnaXQgcmVhZC10cmVlIC1uICIkQCIgJiYKLSAgICBnaXQgbHMtZmlsZXMgLXMgPnBvc3QtZHJ5LXJ1biAmJgotICAgIHRlc3RfY21wIHByZS1kcnktcnVuIHBvc3QtZHJ5LXJ1biAmJgotICAgIHRlc3RfbXVzdF9mYWlsIGdpdCByZWFkLXRyZWUgIiRAIgorCWdpdCBscy1maWxlcyAtcyA+cHJlLWRyeS1ydW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmVhZC10cmVlIC1uICIkQCIgJiYKKwlnaXQgbHMtZmlsZXMgLXMgPnBvc3QtZHJ5LXJ1biAmJgorCXRlc3RfY21wIHByZS1kcnktcnVuIHBvc3QtZHJ5LXJ1biAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZWFkLXRyZWUgIiRAIgogfQogCiByZWFkX3RyZWVfdV9tdXN0X3N1Y2NlZWQgKCkgewotICAgIGdpdCBscy1maWxlcyAtcyA+cHJlLWRyeS1ydW4gJiYKLSAgICBnaXQgZGlmZi1maWxlcyAtcCA+cHJlLWRyeS1ydW4td3QgJiYKLSAgICBnaXQgcmVhZC10cmVlIC1uICIkQCIgJiYKLSAgICBnaXQgbHMtZmlsZXMgLXMgPnBvc3QtZHJ5LXJ1biAmJgotICAgIGdpdCBkaWZmLWZpbGVzIC1wID5wb3N0LWRyeS1ydW4td3QgJiYKLSAgICB0ZXN0X2NtcCBwcmUtZHJ5LXJ1biBwb3N0LWRyeS1ydW4gJiYKLSAgICB0ZXN0X2NtcCBwcmUtZHJ5LXJ1bi13dCBwb3N0LWRyeS1ydW4td3QgJiYKLSAgICBnaXQgcmVhZC10cmVlICIkQCIKKwlnaXQgbHMtZmlsZXMgLXMgPnByZS1kcnktcnVuICYmCisJZ2l0IGRpZmYtZmlsZXMgLXAgPnByZS1kcnktcnVuLXd0ICYmCisJZ2l0IHJlYWQtdHJlZSAtbiAiJEAiICYmCisJZ2l0IGxzLWZpbGVzIC1zID5wb3N0LWRyeS1ydW4gJiYKKwlnaXQgZGlmZi1maWxlcyAtcCA+cG9zdC1kcnktcnVuLXd0ICYmCisJdGVzdF9jbXAgcHJlLWRyeS1ydW4gcG9zdC1kcnktcnVuICYmCisJdGVzdF9jbXAgcHJlLWRyeS1ydW4td3QgcG9zdC1kcnktcnVuLXd0ICYmCisJZ2l0IHJlYWQtdHJlZSAiJEAiCiB9CiAKIHJlYWRfdHJlZV91X211c3RfZmFpbCAoKSB7Ci0gICAgZ2l0IGxzLWZpbGVzIC1zID5wcmUtZHJ5LXJ1biAmJgotICAgIGdpdCBkaWZmLWZpbGVzIC1wID5wcmUtZHJ5LXJ1bi13dCAmJgotICAgIHRlc3RfbXVzdF9mYWlsIGdpdCByZWFkLXRyZWUgLW4gIiRAIiAmJgotICAgIGdpdCBscy1maWxlcyAtcyA+cG9zdC1kcnktcnVuICYmCi0gICAgZ2l0IGRpZmYtZmlsZXMgLXAgPnBvc3QtZHJ5LXJ1bi13dCAmJgotICAgIHRlc3RfY21wIHByZS1kcnktcnVuIHBvc3QtZHJ5LXJ1biAmJgotICAgIHRlc3RfY21wIHByZS1kcnktcnVuLXd0IHBvc3QtZHJ5LXJ1bi13dCAmJgotICAgIHRlc3RfbXVzdF9mYWlsIGdpdCByZWFkLXRyZWUgIiRAIgorCWdpdCBscy1maWxlcyAtcyA+cHJlLWRyeS1ydW4gJiYKKwlnaXQgZGlmZi1maWxlcyAtcCA+cHJlLWRyeS1ydW4td3QgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmVhZC10cmVlIC1uICIkQCIgJiYKKwlnaXQgbHMtZmlsZXMgLXMgPnBvc3QtZHJ5LXJ1biAmJgorCWdpdCBkaWZmLWZpbGVzIC1wID5wb3N0LWRyeS1ydW4td3QgJiYKKwl0ZXN0X2NtcCBwcmUtZHJ5LXJ1biBwb3N0LWRyeS1ydW4gJiYKKwl0ZXN0X2NtcCBwcmUtZHJ5LXJ1bi13dCBwb3N0LWRyeS1ydW4td3QgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmVhZC10cmVlICIkQCIKIH0KZGlmZiAtLWdpdCBhL3QvbGliLXJlYmFzZS5zaCBiL3QvbGliLXJlYmFzZS5zaAppbmRleCA4ZmY4N2ZiLi42YmQyNTIyIDEwMDY0NAotLS0gYS90L2xpYi1yZWJhc2Uuc2gKKysrIGIvdC9saWItcmViYXNlLnNoCkBAIC0xLDQgKzEsNCBAQAotIyEvYmluL3NoCisjIEhlbHBlciBmdW5jdGlvbnMgdXNlZCBieSBpbnRlcmFjdGl2ZSByZWJhc2UgdGVzdHMuCiAKICMgQWZ0ZXIgc2V0dGluZyB0aGUgZmFrZSBlZGl0b3Igd2l0aCB0aGlzIGZ1bmN0aW9uLCB5b3UgY2FuCiAjCmRpZmYgLS1naXQgYS90L2xpYi10ZXJtaW5hbC5zaCBiL3QvbGliLXRlcm1pbmFsLnNoCmluZGV4IDU4ZDkxMWQuLjlhMmRjYTUgMTAwNjQ0Ci0tLSBhL3QvbGliLXRlcm1pbmFsLnNoCisrKyBiL3QvbGliLXRlcm1pbmFsLnNoCkBAIC0xLDQgKzEsNCBAQAotIyEvYmluL3NoCisjIEhlbHBlcnMgZm9yIHRlcm1pbmFsIG91dHB1dCB0ZXN0cy4KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdzZXQgdXAgdGVybWluYWwgZm9yIHRlc3RzJyAnCiAJIyBSZWFkaW5nIGZyb20gdGhlIHB0eSBtYXN0ZXIgc2VlbXMgdG8gZ2V0IHN0dWNrIF9zb21ldGltZXNfCkBAIC0xOSw3ICsxOSw3IEBACiAJdGhlbgogCQk6CiAJZWxpZgotCQkiJFBFUkxfUEFUSCIgIiRURVNUX0RJUkVDVE9SWSIvdGVzdC10ZXJtaW5hbC5wZXJsIFwKKwkJcGVybCAiJFRFU1RfRElSRUNUT1JZIi90ZXN0LXRlcm1pbmFsLnBlcmwgXAogCQkJc2ggLWMgInRlc3QgLXQgMSAmJiB0ZXN0IC10IDIiCiAJdGhlbgogCQl0ZXN0X3NldF9wcmVyZXEgVFRZICYmCkBAIC0yOSw3ICsyOSw3IEBACiAJCQkJZWNobyA+JjQgInRlc3RfdGVybWluYWw6IG5lZWQgdG8gZGVjbGFyZSBUVFkgcHJlcmVxdWlzaXRlIgogCQkJCXJldHVybiAxMjcKIAkJCWZpCi0JCQkiJFBFUkxfUEFUSCIgIiRURVNUX0RJUkVDVE9SWSIvdGVzdC10ZXJtaW5hbC5wZXJsICIkQCIKKwkJCXBlcmwgIiRURVNUX0RJUkVDVE9SWSIvdGVzdC10ZXJtaW5hbC5wZXJsICIkQCIKIAkJfQogCWZpCiAnCmRpZmYgLS1naXQgYS90L3BlcmYvcDAwMDEtcmV2LWxpc3Quc2ggYi90L3BlcmYvcDAwMDEtcmV2LWxpc3Quc2gKaW5kZXggNGY3MWE2My4uMTYzNTlkNSAxMDA3NTUKLS0tIGEvdC9wZXJmL3AwMDAxLXJldi1saXN0LnNoCisrKyBiL3QvcGVyZi9wMDAwMS1yZXYtbGlzdC5zaApAQCAtMTQsNCArMTQsMTYgQEAKIAlnaXQgcmV2LWxpc3QgLS1hbGwgLS1vYmplY3RzID4vZGV2L251bGwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIG5ldyB1bnJlZmVyZW5jZWQgY29tbWl0JyAnCisJY29tbWl0PSQoZ2l0IGNvbW1pdC10cmVlIEhFQURee3RyZWV9IC1wIEhFQUQpCisnCisKK3Rlc3RfcGVyZiAncmV2LWxpc3QgJGNvbW1pdCAtLW5vdCAtLWFsbCcgJworCWdpdCByZXYtbGlzdCAkY29tbWl0IC0tbm90IC0tYWxsID4vZGV2L251bGwKKycKKwordGVzdF9wZXJmICdyZXYtbGlzdCAtLW9iamVjdHMgJGNvbW1pdCAtLW5vdCAtLWFsbCcgJworCWdpdCByZXYtbGlzdCAtLW9iamVjdHMgJGNvbW1pdCAtLW5vdCAtLWFsbCA+L2Rldi9udWxsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC9wZXJmL3A0MDAxLWRpZmYtbm8taW5kZXguc2ggYi90L3BlcmYvcDQwMDEtZGlmZi1uby1pbmRleC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ODNiZTY5Ci0tLSAvZGV2L251bGwKKysrIGIvdC9wZXJmL3A0MDAxLWRpZmYtbm8taW5kZXguc2gKQEAgLTAsMCArMSwyMiBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249IlRlc3QgZGlmZiAtLW5vLWluZGV4IHBlcmZvcm1hbmNlIgorCisuIC4vcGVyZi1saWIuc2gKKwordGVzdF9wZXJmX2xhcmdlX3JlcG8KK3Rlc3RfY2hlY2tvdXRfd29ya3RyZWUKKworZmlsZTE9JChnaXQgbHMtZmlsZXMgfCB0YWlsIC1uIDIgfCBoZWFkIC0xKQorZmlsZTI9JChnaXQgbHMtZmlsZXMgfCB0YWlsIC1uIDEgfCBoZWFkIC0xKQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICJlbXB0eSBmaWxlcywgc28gdGhleSB0YWtlIG5vIHRpbWUgdG8gZGlmZiIgIgorCWVjaG8gPiRmaWxlMSAmJgorCWVjaG8gPiRmaWxlMgorIgorCit0ZXN0X3BlcmYgImRpZmYgLS1uby1pbmRleCIgIgorCWdpdCBkaWZmIC0tbm8taW5kZXggJGZpbGUxICRmaWxlMiA+L2Rldi9udWxsCisiCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC9wZXJmL3BlcmYtbGliLnNoIGIvdC9wZXJmL3BlcmYtbGliLnNoCmluZGV4IGY0ZWVjYWEuLmE4Yzk1NzQgMTAwNjQ0Ci0tLSBhL3QvcGVyZi9wZXJmLWxpYi5zaAorKysgYi90L3BlcmYvcGVyZi1saWIuc2gKQEAgLTEsNCArMSw2IEBACi0jIS9iaW4vc2gKKyMgUGVyZm9ybWFuY2UgdGVzdGluZyBmcmFtZXdvcmsuICBFYWNoIHBlcmYgc2NyaXB0IHN0YXJ0cyBtdWNoIGxpa2UKKyMgYSBub3JtYWwgdGVzdCBzY3JpcHQsIGV4Y2VwdCBpdCBzb3VyY2VzIHRoaXMgbGlicmFyeSBpbnN0ZWFkIG9mCisjIHRlc3QtbGliLnNoLiAgU2VlIHQvcGVyZi9SRUFETUUgZm9yIGRvY3VtZW50YXRpb24uCiAjCiAjIENvcHlyaWdodCAoYykgMjAxMSBUaG9tYXMgUmFzdAogIwpkaWZmIC0tZ2l0IGEvdC90MDAwMC1iYXNpYy5zaCBiL3QvdDAwMDAtYmFzaWMuc2gKaW5kZXggMTBiZTUyYi4uYTJiYjYzYyAxMDA3NTUKLS0tIGEvdC90MDAwMC1iYXNpYy5zaAorKysgYi90L3QwMDAwLWJhc2ljLnNoCkBAIC00MSwyMCArNDEsMTcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Y2Nlc3MgaXMgcmVwb3J0ZWQgbGlrZSB0aGlzJyAnCiAJOgogJwotdGVzdF9leHBlY3RfZmFpbHVyZSAncHJldGVuZCB3ZSBoYXZlIGEga25vd24gYnJlYWthZ2UnICcKLQlmYWxzZQotJwogCiBydW5fc3ViX3Rlc3RfbGliX3Rlc3QgKCkgewogCW5hbWU9IiQxIiBkZXNjcj0iJDIiICMgc3RkaW4gaXMgdGhlIGJvZHkgb2YgdGhlIHRlc3QgY29kZQogCXNoaWZ0IDIKIAlta2RpciAiJG5hbWUiICYmCiAJKAotCQkjIFByZXRlbmQgd2UncmUgYSB0ZXN0IGhhcm5lc3MuICBUaGlzIHByZXZlbnRzCi0JCSMgdGVzdC1saWIgZnJvbSB3cml0aW5nIHRoZSBjb3VudHMgdG8gYSBmaWxlIHRoYXQgd2lsbAotCQkjIGxhdGVyIGJlIHN1bW1hcml6ZWQsIHNob3dpbmcgc3B1cmlvdXMgImZhaWxlZCIgdGVzdHMKLQkJSEFSTkVTU19BQ1RJVkU9dCAmJgotCQlleHBvcnQgSEFSTkVTU19BQ1RJVkUgJiYKKwkJIyBQcmV0ZW5kIHdlJ3JlIG5vdCBydW5uaW5nIHVuZGVyIGEgdGVzdCBoYXJuZXNzLCB3aGV0aGVyIHdlCisJCSMgYXJlIG9yIG5vdC4gVGhlIHRlc3QtbGliIG91dHB1dCBkZXBlbmRzIG9uIHRoZSBzZXR0aW5nIG9mCisJCSMgdGhpcyB2YXJpYWJsZSwgc28gd2UgbmVlZCBhIHN0YWJsZSBzZXR0aW5nIHVuZGVyIHdoaWNoIHRvIHJ1bgorCQkjIHRoZSBzdWItdGVzdC4KKwkJc2FuZV91bnNldCBIQVJORVNTX0FDVElWRSAmJgogCQljZCAiJG5hbWUiICYmCiAJCWNhdCA+IiRuYW1lLnNoIiA8PC1FT0YgJiYKIAkJIyEkU0hFTExfUEFUSApAQCAtNzEsNiArNjgsOCBAQAogCQljYXQgPj4iJG5hbWUuc2giICYmCiAJCWNobW9kICt4ICIkbmFtZS5zaCIgJiYKIAkJZXhwb3J0IFRFU1RfRElSRUNUT1JZICYmCisJCVRFU1RfT1VUUFVUX0RJUkVDVE9SWT0kKHB3ZCkgJiYKKwkJZXhwb3J0IFRFU1RfT1VUUFVUX0RJUkVDVE9SWSAmJgogCQkuLyIkbmFtZS5zaCIgIiRAIiA+b3V0IDI+ZXJyCiAJKQogfQpAQCAtMjMzLDE2ICsyMzIsMTMgQEAKIAlncmVwIC12ICJeSW5pdGlhbGl6ZWQgZW1wdHkiIHRlc3QtdmVyYm9zZS9vdXQrID50ZXN0LXZlcmJvc2Uvb3V0ICYmCiAJY2hlY2tfc3ViX3Rlc3RfbGliX3Rlc3QgdGVzdC12ZXJib3NlIDw8LVxFT0YKIAk+IGV4cGVjdGluZyBzdWNjZXNzOiB0cnVlCi0JPiBaCiAJPiBvayAxIC0gcGFzc2luZyB0ZXN0CiAJPiBaCiAJPiBleHBlY3Rpbmcgc3VjY2VzczogZWNobyBmb28KIAk+IGZvbwotCT4gWgogCT4gb2sgMiAtIHRlc3Qgd2l0aCBvdXRwdXQKIAk+IFoKIAk+IGV4cGVjdGluZyBzdWNjZXNzOiBmYWxzZQotCT4gWgogCT4gbm90IG9rIDMgLSBmYWlsaW5nIHRlc3QKIAk+ICMJZmFsc2UKIAk+IFoKQEAgLTI2NSw3ICsyNjEsNiBAQAogCT4gWgogCT4gZXhwZWN0aW5nIHN1Y2Nlc3M6IGVjaG8gZm9vCiAJPiBmb28KLQk+IFoKIAk+IG9rIDIgLSB0ZXN0IHdpdGggb3V0cHV0CiAJPiBaCiAJPiBub3Qgb2sgMyAtIGZhaWxpbmcgdGVzdApkaWZmIC0tZ2l0IGEvdC90MDAwMi1naXRmaWxlLnNoIGIvdC90MDAwMi1naXRmaWxlLnNoCmluZGV4IGNiMTQ0MjUuLjM3ZTkzOTYgMTAwNzU1Ci0tLSBhL3QvdDAwMDItZ2l0ZmlsZS5zaAorKysgYi90L3QwMDAyLWdpdGZpbGUuc2gKQEAgLTcsNyArNyw3IEBACiAuIC4vdGVzdC1saWIuc2gKIAogb2JqcGF0aCgpIHsKLSAgICBlY2hvICIkMSIgfCBzZWQgLWUgJ3N8XCguLlwpfFwxL3wnCisJZWNobyAiJDEiIHwgc2VkIC1lICdzfFwoLi5cKXxcMS98JwogfQogCiBvYmpjaygpIHsKQEAgLTE5LDcgKzE5LDYgQEAKIAlmaQogfQogCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luaXRpYWwgc2V0dXAnICcKIAlSRUFMPSIkKHB3ZCkvLnJlYWwiICYmCiAJbXYgLmdpdCAiJFJFQUwiCmRpZmYgLS1naXQgYS90L3QwMDAzLWF0dHJpYnV0ZXMuc2ggYi90L3QwMDAzLWF0dHJpYnV0ZXMuc2gKaW5kZXggMGI5OGI2Zi4uYjlkNzk0NyAxMDA3NTUKLS0tIGEvdC90MDAwMy1hdHRyaWJ1dGVzLnNoCisrKyBiL3QvdDAwMDMtYXR0cmlidXRlcy5zaApAQCAtMTMsNyArMTMsNiBAQAogCXRlc3RfbGluZV9jb3VudCA9IDAgZXJyCiB9CiAKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKIAlta2RpciAtcCBhL2IvZCBhL2MgYiAmJgogCSgKZGlmZiAtLWdpdCBhL3QvdDAwMDgtaWdub3Jlcy5zaCBiL3QvdDAwMDgtaWdub3Jlcy5zaAppbmRleCBjMjkzNDJkLi5iNGQ5OGU2IDEwMDc1NQotLS0gYS90L3QwMDA4LWlnbm9yZXMuc2gKKysrIGIvdC90MDAwOC1pZ25vcmVzLnNoCkBAIC0zNyw2ICszNywxNCBAQAogCXRlc3RfY21wICIkSE9NRS9leHBlY3RlZC1zdGRlcnIiICIkSE9NRS9zdGRlcnIiCiB9CiAKK2Jyb2tlbl9jX3VucXVvdGUgKCkgeworCSIkUEVSTF9QQVRIIiAtcGUgJ3MvXiIvLzsgcy9cXC8vOyBzLyIkLy87IHRyL1xuL1wwLycgIiRAIgorfQorCiticm9rZW5fY191bnF1b3RlX3ZlcmJvc2UgKCkgeworCSIkUEVSTF9QQVRIIiAtcGUgJ3MvCSIvCS87IHMvXFwvLzsgcy8iJC8vOyB0ci86XHRcbi9cMC8nICIkQCIKK30KKwogc3RkZXJyX2NvbnRhaW5zICgpIHsKIAlyZWdleHA9IiQxIgogCWlmIGdyZXAgIiRyZWdleHAiICIkSE9NRS9zdGRlcnIiCkBAIC02NiwxMSArNzQsMTEgQEAKIAogCWluaXRfdmFycyAmJgogCXJtIC1mICIkSE9NRS9zdGRvdXQiICIkSE9NRS9zdGRlcnIiICIkSE9NRS9jbWQiICYmCi0JZWNobyBnaXQgJGdsb2JhbF9hcmdzIGNoZWNrLWlnbm9yZSAkcXVpZXRfb3B0ICR2ZXJib3NlX29wdCAkbm9uX21hdGNoaW5nX29wdCAkYXJncyBcCisJZWNobyBnaXQgJGdsb2JhbF9hcmdzIGNoZWNrLWlnbm9yZSAkcXVpZXRfb3B0ICR2ZXJib3NlX29wdCAkbm9uX21hdGNoaW5nX29wdCAkbm9faW5kZXhfb3B0ICRhcmdzIFwKIAkJPiIkSE9NRS9jbWQiICYmCiAJZWNobyAiJGV4cGVjdF9jb2RlIiA+IiRIT01FL2V4cGVjdGVkLWV4aXQtY29kZSIgJiYKIAl0ZXN0X2V4cGVjdF9jb2RlICIkZXhwZWN0X2NvZGUiIFwKLQkJZ2l0ICRnbG9iYWxfYXJncyBjaGVjay1pZ25vcmUgJHF1aWV0X29wdCAkdmVyYm9zZV9vcHQgJG5vbl9tYXRjaGluZ19vcHQgJGFyZ3MgXAorCQlnaXQgJGdsb2JhbF9hcmdzIGNoZWNrLWlnbm9yZSAkcXVpZXRfb3B0ICR2ZXJib3NlX29wdCAkbm9uX21hdGNoaW5nX29wdCAkbm9faW5kZXhfb3B0ICRhcmdzIFwKIAkJPiIkSE9NRS9zdGRvdXQiIDI+IiRIT01FL3N0ZGVyciIgJiYKIAl0ZXN0X2NtcCAiJEhPTUUvZXhwZWN0ZWQtc3Rkb3V0IiAiJEhPTUUvc3Rkb3V0IiAmJgogCXN0ZGVycl9lbXB0eV9vbl9zdWNjZXNzICIkZXhwZWN0X2NvZGUiCkBAIC04Nyw2ICs5NSw5IEBACiAjIGNoZWNrLWlnbm9yZSAtLXZlcmJvc2Ugb3V0cHV0IGlzIHRoZSBzYW1lIGFzIG5vcm1hbCBvdXRwdXQgZXhjZXB0CiAjIGZvciB0aGUgZXh0cmEgZmlyc3QgY29sdW1uLgogIworIyBBIHBhcmFtZXRlciBpcyB1c2VkIHRvIGRldGVybWluZSBpZiB0aGUgdGVzdHMgYXJlIHJ1biB3aXRoIHRoZQorIyBub3JtYWwgY2FzZSAodXNpbmcgdGhlIGluZGV4KSwgb3Igd2l0aCB0aGUgLS1uby1pbmRleCBvcHRpb24uCisjCiAjIEFyZ3VtZW50czoKICMgICAtIChvcHRpb25hbCkgcHJlcmVxcyBmb3IgdGhpcyB0ZXN0LCBlLmcuICdTWU1MSU5LUycKICMgICAtIHRlc3QgbmFtZQpAQCAtOTQsMTkgKzEwNSwyNiBAQAogIyAgICAgZnJvbSB0aGUgb3RoZXIgdmVyYm9zaXR5IG1vZGVzIGlzIGF1dG9tYXRpY2FsbHkgaW5mZXJyZWQKICMgICAgIGZyb20gdGhpcyB2YWx1ZSkKICMgICAtIGNvZGUgdG8gcnVuIChzaG91bGQgaW52b2tlIHRlc3RfY2hlY2tfaWdub3JlKQotdGVzdF9leHBlY3Rfc3VjY2Vzc19tdWx0aSAoKSB7CisjICAgLSBpbmRleCBvcHRpb246IC0taW5kZXggb3IgLS1uby1pbmRleAordGVzdF9leHBlY3Rfc3VjY2Vzc19tdWx0aXBsZSAoKSB7CiAJcHJlcmVxPQotCWlmIHRlc3QgJCMgLWVxIDQKKwlpZiB0ZXN0ICQjIC1lcSA1CiAJdGhlbgogCQlwcmVyZXE9JDEKIAkJc2hpZnQKIAlmaQorCWlmIHRlc3QgIiQ0IiA9ICItLWluZGV4IgorCXRoZW4KKwkJbm9faW5kZXhfb3B0PQorCWVsc2UKKwkJbm9faW5kZXhfb3B0PSQ0CisJZmkKIAl0ZXN0bmFtZT0iJDEiIGV4cGVjdF9hbGw9IiQyIiBjb2RlPSIkMyIKIAogCWV4cGVjdF92ZXJib3NlPSQoIGVjaG8gIiRleHBlY3RfYWxsIiB8IGdyZXAgLXYgJ146OgknICkKIAlleHBlY3Q9JCggZWNobyAiJGV4cGVjdF92ZXJib3NlIiB8IHNlZCAtZSAncy8uKgkvLycgKQogCi0JdGVzdF9leHBlY3Rfc3VjY2VzcyAkcHJlcmVxICIkdGVzdG5hbWUiICcKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICRwcmVyZXEgIiR0ZXN0bmFtZSR7bm9faW5kZXhfb3B0Oisgd2l0aCAkbm9faW5kZXhfb3B0fSIgJwogCQlleHBlY3QgIiRleHBlY3QiICYmCiAJCWV2YWwgIiRjb2RlIgogCScKQEAgLTExNiw3ICsxMzQsOCBAQAogCXRoZW4KIAkJZm9yIHF1aWV0X29wdCBpbiAnLXEnICctLXF1aWV0JwogCQlkbwotCQkJdGVzdF9leHBlY3Rfc3VjY2VzcyAkcHJlcmVxICIkdGVzdG5hbWUke3F1aWV0X29wdDorIHdpdGggJHF1aWV0X29wdH0iICIKKwkJCW9wdHM9IiR7bm9faW5kZXhfb3B0Oiskbm9faW5kZXhfb3B0IH0kcXVpZXRfb3B0IgorCQkJdGVzdF9leHBlY3Rfc3VjY2VzcyAkcHJlcmVxICIkdGVzdG5hbWUke29wdHM6KyB3aXRoICRvcHRzfSIgIgogCQkJZXhwZWN0ICcnICYmCiAJCQkkY29kZQogCQkiCkBAIC0xMjYsNyArMTQ1LDcgQEAKIAogCWZvciB2ZXJib3NlX29wdCBpbiAnLXYnICctLXZlcmJvc2UnCiAJZG8KLQkJZm9yIG5vbl9tYXRjaGluZ19vcHQgaW4gJycgJyAtbicgJyAtLW5vbi1tYXRjaGluZycKKwkJZm9yIG5vbl9tYXRjaGluZ19vcHQgaW4gJycgJy1uJyAnLS1ub24tbWF0Y2hpbmcnCiAJCWRvCiAJCQlpZiB0ZXN0IC1uICIkbm9uX21hdGNoaW5nX29wdCIKIAkJCXRoZW4KQEAgLTEzOSwxMiArMTU4LDIxIEBACiAJCQkJZXhwZWN0ICckbXlfZXhwZWN0JyAmJgogCQkJCSRjb2RlCiAJCQkiCi0JCQlvcHRzPSIkdmVyYm9zZV9vcHQkbm9uX21hdGNoaW5nX29wdCIKKwkJCW9wdHM9IiR7bm9faW5kZXhfb3B0Oiskbm9faW5kZXhfb3B0IH0kdmVyYm9zZV9vcHQke25vbl9tYXRjaGluZ19vcHQ6KyAkbm9uX21hdGNoaW5nX29wdH0iCiAJCQl0ZXN0X2V4cGVjdF9zdWNjZXNzICRwcmVyZXEgIiR0ZXN0bmFtZSR7b3B0czorIHdpdGggJG9wdHN9IiAiJHRlc3RfY29kZSIKIAkJZG9uZQogCWRvbmUKIAl2ZXJib3NlX29wdD0KIAlub25fbWF0Y2hpbmdfb3B0PQorCW5vX2luZGV4X29wdD0KK30KKwordGVzdF9leHBlY3Rfc3VjY2Vzc19tdWx0aSAoKSB7CisJdGVzdF9leHBlY3Rfc3VjY2Vzc19tdWx0aXBsZSAiJEAiICItLWluZGV4IgorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzX25vX2luZGV4X211bHRpICgpIHsKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzX211bHRpcGxlICIkQCIgIi0tbm8taW5kZXgiCiB9CiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCkBAIC0yODgsNyArMzE2LDcgQEAKIAogIyBGaXJzdCBtYWtlIHN1cmUgdGhhdCB0aGUgcHJlc2VuY2Ugb2YgYSBmaWxlIGluIHRoZSB3b3JraW5nIHRyZWUKICMgZG9lcyBub3QgaW1wYWN0IHJlc3VsdHMsIGJ1dCB0aGF0IHRoZSBwcmVzZW5jZSBvZiBhIGZpbGUgaW4gdGhlCi0jIGluZGV4IGRvZXMuCisjIGluZGV4IGRvZXMgdW5sZXNzIHRoZSAtLW5vLWluZGV4IG9wdGlvbiBpcyB1c2VkLgogCiBmb3Igc3ViZGlyIGluICcnICdhLycKIGRvCkBAIC0zMDMsMjIgKzMzMSw0MiBAQAogCQkiOjoJJHtzdWJkaXJ9bm9uLWV4aXN0ZW50IiBcCiAJCSJ0ZXN0X2NoZWNrX2lnbm9yZSAnJHtzdWJkaXJ9bm9uLWV4aXN0ZW50JyAxIgogCisJdGVzdF9leHBlY3Rfc3VjY2Vzc19ub19pbmRleF9tdWx0aSAibm9uLWV4aXN0ZW50IGZpbGUgJHdoZXJlIG5vdCBpZ25vcmVkIiBcCisJCSI6Ogkke3N1YmRpcn1ub24tZXhpc3RlbnQiIFwKKwkJInRlc3RfY2hlY2tfaWdub3JlICcke3N1YmRpcn1ub24tZXhpc3RlbnQnIDEiCisKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzX211bHRpICJub24tZXhpc3RlbnQgZmlsZSAkd2hlcmUgaWdub3JlZCIgXAogCQkiLmdpdGlnbm9yZToxOm9uZQkke3N1YmRpcn1vbmUiIFwKIAkJInRlc3RfY2hlY2tfaWdub3JlICcke3N1YmRpcn1vbmUnIgogCisJdGVzdF9leHBlY3Rfc3VjY2Vzc19ub19pbmRleF9tdWx0aSAibm9uLWV4aXN0ZW50IGZpbGUgJHdoZXJlIGlnbm9yZWQiIFwKKwkJIi5naXRpZ25vcmU6MTpvbmUJJHtzdWJkaXJ9b25lIiBcCisJCSJ0ZXN0X2NoZWNrX2lnbm9yZSAnJHtzdWJkaXJ9b25lJyIKKwogCXRlc3RfZXhwZWN0X3N1Y2Nlc3NfbXVsdGkgImV4aXN0aW5nIHVudHJhY2tlZCBmaWxlICR3aGVyZSBub3QgaWdub3JlZCIgXAogCQkiOjoJJHtzdWJkaXJ9bm90LWlnbm9yZWQiIFwKIAkJInRlc3RfY2hlY2tfaWdub3JlICcke3N1YmRpcn1ub3QtaWdub3JlZCcgMSIKIAorCXRlc3RfZXhwZWN0X3N1Y2Nlc3Nfbm9faW5kZXhfbXVsdGkgImV4aXN0aW5nIHVudHJhY2tlZCBmaWxlICR3aGVyZSBub3QgaWdub3JlZCIgXAorCQkiOjoJJHtzdWJkaXJ9bm90LWlnbm9yZWQiIFwKKwkJInRlc3RfY2hlY2tfaWdub3JlICcke3N1YmRpcn1ub3QtaWdub3JlZCcgMSIKKwogCXRlc3RfZXhwZWN0X3N1Y2Nlc3NfbXVsdGkgImV4aXN0aW5nIHRyYWNrZWQgZmlsZSAkd2hlcmUgbm90IGlnbm9yZWQiIFwKIAkJIjo6CSR7c3ViZGlyfWlnbm9yZWQtYnV0LWluLWluZGV4IiBcCiAJCSJ0ZXN0X2NoZWNrX2lnbm9yZSAnJHtzdWJkaXJ9aWdub3JlZC1idXQtaW4taW5kZXgnIDEiCiAKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzX25vX2luZGV4X211bHRpICJleGlzdGluZyB0cmFja2VkIGZpbGUgJHdoZXJlIHNob3duIGFzIGlnbm9yZWQiIFwKKwkJIi5naXRpZ25vcmU6MjppZ25vcmVkLSoJJHtzdWJkaXJ9aWdub3JlZC1idXQtaW4taW5kZXgiIFwKKwkJInRlc3RfY2hlY2tfaWdub3JlICcke3N1YmRpcn1pZ25vcmVkLWJ1dC1pbi1pbmRleCciCisKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzX211bHRpICJleGlzdGluZyB1bnRyYWNrZWQgZmlsZSAkd2hlcmUgaWdub3JlZCIgXAogCQkiLmdpdGlnbm9yZToyOmlnbm9yZWQtKgkke3N1YmRpcn1pZ25vcmVkLWFuZC11bnRyYWNrZWQiIFwKIAkJInRlc3RfY2hlY2tfaWdub3JlICcke3N1YmRpcn1pZ25vcmVkLWFuZC11bnRyYWNrZWQnIgogCisJdGVzdF9leHBlY3Rfc3VjY2Vzc19ub19pbmRleF9tdWx0aSAiZXhpc3RpbmcgdW50cmFja2VkIGZpbGUgJHdoZXJlIGlnbm9yZWQiIFwKKwkJIi5naXRpZ25vcmU6MjppZ25vcmVkLSoJJHtzdWJkaXJ9aWdub3JlZC1hbmQtdW50cmFja2VkIiBcCisJCSJ0ZXN0X2NoZWNrX2lnbm9yZSAnJHtzdWJkaXJ9aWdub3JlZC1hbmQtdW50cmFja2VkJyIKKwogCXRlc3RfZXhwZWN0X3N1Y2Nlc3NfbXVsdGkgIm1peCBvZiBmaWxlIHR5cGVzICR3aGVyZSIgXAogIjo6CSR7c3ViZGlyfW5vbi1leGlzdGVudAogLmdpdGlnbm9yZToxOm9uZQkke3N1YmRpcn1vbmUKQEAgLTMzMiw2ICszODAsMjAgQEAKIAkJCSR7c3ViZGlyfWlnbm9yZWQtYnV0LWluLWluZGV4CiAJCQkke3N1YmRpcn1pZ25vcmVkLWFuZC11bnRyYWNrZWQnCiAJCSIKKworCXRlc3RfZXhwZWN0X3N1Y2Nlc3Nfbm9faW5kZXhfbXVsdGkgIm1peCBvZiBmaWxlIHR5cGVzICR3aGVyZSIgXAorIjo6CSR7c3ViZGlyfW5vbi1leGlzdGVudAorLmdpdGlnbm9yZToxOm9uZQkke3N1YmRpcn1vbmUKKzo6CSR7c3ViZGlyfW5vdC1pZ25vcmVkCisuZ2l0aWdub3JlOjI6aWdub3JlZC0qCSR7c3ViZGlyfWlnbm9yZWQtYnV0LWluLWluZGV4CisuZ2l0aWdub3JlOjI6aWdub3JlZC0qCSR7c3ViZGlyfWlnbm9yZWQtYW5kLXVudHJhY2tlZCIgXAorCQkidGVzdF9jaGVja19pZ25vcmUgJworCQkJJHtzdWJkaXJ9bm9uLWV4aXN0ZW50CisJCQkke3N1YmRpcn1vbmUKKwkJCSR7c3ViZGlyfW5vdC1pZ25vcmVkCisJCQkke3N1YmRpcn1pZ25vcmVkLWJ1dC1pbi1pbmRleAorCQkJJHtzdWJkaXJ9aWdub3JlZC1hbmQtdW50cmFja2VkJworCQkiCiBkb25lCiAKICMgSGF2aW5nIGVzdGFibGlzaGVkIHRoZSBhYm92ZSwgZnJvbSBub3cgb24gd2UgbW9zdGx5IHRlc3QgYWdhaW5zdApAQCAtNDMyLDcgKzQ5NCw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3NfbXVsdGkgU1lNTElOS1MgJ2JleW9uZCBhIHN5bWxpbmsnICcnICcKIAl0ZXN0X2NoZWNrX2lnbm9yZSAiYS9zeW1saW5rL2ZvbyIgMTI4ICYmCi0JdGVzdF9zdGRlcnIgImZhdGFsOiAnXCcnYS9zeW1saW5rL2ZvbydcJycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKKwl0ZXN0X3N0ZGVyciAiZmF0YWw6IHBhdGhzcGVjICdcJydhL3N5bWxpbmsvZm9vJ1wnJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzX211bHRpIFNZTUxJTktTICdiZXlvbmQgYSBzeW1saW5rIGZyb20gc3ViZGlyZWN0b3J5JyAnJyAnCkBAIC00NDAsNyArNTAyLDcgQEAKIAkJY2QgYSAmJgogCQl0ZXN0X2NoZWNrX2lnbm9yZSAic3ltbGluay9mb28iIDEyOAogCSkgJiYKLQl0ZXN0X3N0ZGVyciAiZmF0YWw6ICdcJydzeW1saW5rL2ZvbydcJycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKKwl0ZXN0X3N0ZGVyciAiZmF0YWw6IHBhdGhzcGVjICdcJydzeW1saW5rL2ZvbydcJycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKICcKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtNDQ5LDcgKzUxMSw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3NfbXVsdGkgJ3N1Ym1vZHVsZScgJycgJwogCXRlc3RfY2hlY2tfaWdub3JlICJhL3N1Ym1vZHVsZS9vbmUiIDEyOCAmJgotCXRlc3Rfc3RkZXJyICJmYXRhbDogUGF0aCAnXCcnYS9zdWJtb2R1bGUvb25lJ1wnJyBpcyBpbiBzdWJtb2R1bGUgJ1wnJ2Evc3VibW9kdWxlJ1wnJyIKKwl0ZXN0X3N0ZGVyciAiZmF0YWw6IFBhdGhzcGVjICdcJydhL3N1Ym1vZHVsZS9vbmUnXCcnIGlzIGluIHN1Ym1vZHVsZSAnXCcnYS9zdWJtb2R1bGUnXCcnIgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzX211bHRpICdzdWJtb2R1bGUgZnJvbSBzdWJkaXJlY3RvcnknICcnICcKQEAgLTQ1Nyw3ICs1MTksNyBAQAogCQljZCBhICYmCiAJCXRlc3RfY2hlY2tfaWdub3JlICJzdWJtb2R1bGUvb25lIiAxMjgKIAkpICYmCi0JdGVzdF9zdGRlcnIgImZhdGFsOiBQYXRoICdcJydhL3N1Ym1vZHVsZS9vbmUnXCcnIGlzIGluIHN1Ym1vZHVsZSAnXCcnYS9zdWJtb2R1bGUnXCcnIgorCXRlc3Rfc3RkZXJyICJmYXRhbDogUGF0aHNwZWMgJ1wnJ3N1Ym1vZHVsZS9vbmUnXCcnIGlzIGluIHN1Ym1vZHVsZSAnXCcnYS9zdWJtb2R1bGUnXCcnIgogJwogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC01NTIsMTIgKzYxNCwxMSBAQAogCSRnbG9iYWxfZXhjbHVkZXM6MjohZ2xvYmFsdHdvCWIvZ2xvYmFsdHdvCiBFT0YKIAotc2VkIC1lICdzL14iLy8nIC1lICdzL1xcLy8nIC1lICdzLyIkLy8nIHN0ZGluIHwgXAotCXRyICJcbiIgIlwwIiA+c3RkaW4wCi1zZWQgLWUgJ3MvXiIvLycgLWUgJ3MvXFwvLycgLWUgJ3MvIiQvLycgZXhwZWN0ZWQtZGVmYXVsdCB8IFwKLQl0ciAiXG4iICJcMCIgPmV4cGVjdGVkLWRlZmF1bHQwCi1zZWQgLWUgJ3MvCSIvCS8nIC1lICdzL1xcLy8nIC1lICdzLyIkLy8nIGV4cGVjdGVkLXZlcmJvc2UgfCBcCi0JdHIgIjpcdFxuIiAiXDAiID5leHBlY3RlZC12ZXJib3NlMAorYnJva2VuX2NfdW5xdW90ZSBzdGRpbiA+c3RkaW4wCisKK2Jyb2tlbl9jX3VucXVvdGUgZXhwZWN0ZWQtZGVmYXVsdCA+ZXhwZWN0ZWQtZGVmYXVsdDAKKworYnJva2VuX2NfdW5xdW90ZV92ZXJib3NlIGV4cGVjdGVkLXZlcmJvc2UgPmV4cGVjdGVkLXZlcmJvc2UwCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc3RkaW4nICcKIAlleHBlY3RfZnJvbV9zdGRpbiA8ZXhwZWN0ZWQtZGVmYXVsdCAmJgpAQCAtNjM4LDEyICs2OTksMTEgQEAKIGdyZXAgLXYgJ146OgknIGV4cGVjdGVkLWFsbCA+ZXhwZWN0ZWQtdmVyYm9zZQogc2VkIC1lICdzLy4qCS8vJyBleHBlY3RlZC12ZXJib3NlID5leHBlY3RlZC1kZWZhdWx0CiAKLXNlZCAtZSAncy9eIi8vJyAtZSAncy9cXC8vJyAtZSAncy8iJC8vJyBzdGRpbiB8IFwKLQl0ciAiXG4iICJcMCIgPnN0ZGluMAotc2VkIC1lICdzL14iLy8nIC1lICdzL1xcLy8nIC1lICdzLyIkLy8nIGV4cGVjdGVkLWRlZmF1bHQgfCBcCi0JdHIgIlxuIiAiXDAiID5leHBlY3RlZC1kZWZhdWx0MAotc2VkIC1lICdzLwkiLwkvJyAtZSAncy9cXC8vJyAtZSAncy8iJC8vJyBleHBlY3RlZC12ZXJib3NlIHwgXAotCXRyICI6XHRcbiIgIlwwIiA+ZXhwZWN0ZWQtdmVyYm9zZTAKK2Jyb2tlbl9jX3VucXVvdGUgc3RkaW4gPnN0ZGluMAorCiticm9rZW5fY191bnF1b3RlIGV4cGVjdGVkLWRlZmF1bHQgPmV4cGVjdGVkLWRlZmF1bHQwCisKK2Jyb2tlbl9jX3VucXVvdGVfdmVyYm9zZSBleHBlY3RlZC12ZXJib3NlID5leHBlY3RlZC12ZXJib3NlMAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXN0ZGluIGZyb20gc3ViZGlyZWN0b3J5JyAnCiAJZXhwZWN0X2Zyb21fc3RkaW4gPGV4cGVjdGVkLWRlZmF1bHQgJiYKZGlmZiAtLWdpdCBhL3QvdDAwNTAtZmlsZXN5c3RlbS5zaCBiL3QvdDAwNTAtZmlsZXN5c3RlbS5zaAppbmRleCAwNWQ3OGQyLi42YjNjZWRjIDEwMDc1NQotLS0gYS90L3QwMDUwLWZpbGVzeXN0ZW0uc2gKKysrIGIvdC90MDA1MC1maWxlc3lzdGVtLnNoCkBAIC05MSw2ICs5MSw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICJzZXR1cCB1bmljb2RlIG5vcm1hbGl6YXRpb24gdGVzdHMiICcKIAl0ZXN0X2NyZWF0ZV9yZXBvIHVuaWNvZGUgJiYKIAljZCB1bmljb2RlICYmCisJZ2l0IGNvbmZpZyBjb3JlLnByZWNvbXBvc2V1bmljb2RlIGZhbHNlICYmCiAJdG91Y2ggIiRhdW1sY2RpYXIiICYmCiAJZ2l0IGFkZCAiJGF1bWxjZGlhciIgJiYKIAlnaXQgY29tbWl0IC1tIGluaXRpYWwgJiYKZGlmZiAtLWdpdCBhL3QvdDAwNTYtZ2l0LUMuc2ggYi90L3QwMDU2LWdpdC1DLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk5YzAzNzcKLS0tIC9kZXYvbnVsbAorKysgYi90L3QwMDU2LWdpdC1DLnNoCkBAIC0wLDAgKzEsODQgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSciLUMgPHBhdGg+IiBvcHRpb24gYW5kIGl0cyBlZmZlY3RzIG9uIG90aGVyIHBhdGgtcmVsYXRlZCBvcHRpb25zJworCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnImdpdCAtQyA8cGF0aD4iIHJ1bnMgZ2l0IGZyb20gdGhlIGRpcmVjdG9yeSA8cGF0aD4nICcKKwl0ZXN0X2NyZWF0ZV9yZXBvIGRpcjEgJiYKKwllY2hvIDEgPmRpcjEvYS50eHQgJiYKKwltc2c9ImluaXRpYWwgaW4gZGlyMSIgJiYKKwkoY2QgZGlyMSAmJiBnaXQgYWRkIGEudHh0ICYmIGdpdCBjb21taXQgLW0gIiRtc2ciKSAmJgorCWVjaG8gIiRtc2ciID5leHBlY3RlZCAmJgorCWdpdCAtQyBkaXIxIGxvZyAtLWZvcm1hdD0lcyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ011bHRpcGxlIC1DIG9wdGlvbnM6ICItQyBkaXIxIC1DIGRpcjIiIGlzIGVxdWl2YWxlbnQgdG8gIi1DIGRpcjEvZGlyMiInICcKKwl0ZXN0X2NyZWF0ZV9yZXBvIGRpcjEvZGlyMiAmJgorCWVjaG8gMSA+ZGlyMS9kaXIyL2IudHh0ICYmCisJZ2l0IC1DIGRpcjEvZGlyMiBhZGQgYi50eHQgJiYKKwltc2c9ImluaXRpYWwgaW4gZGlyMS9kaXIyIiAmJgorCWVjaG8gIiRtc2ciID5leHBlY3RlZCAmJgorCWdpdCAtQyBkaXIxL2RpcjIgY29tbWl0IC1tICIkbXNnIiAmJgorCWdpdCAtQyBkaXIxIC1DIGRpcjIgbG9nIC0tZm9ybWF0PSVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnRWZmZWN0IG9uIC0tZ2l0LWRpciBvcHRpb246ICItQyBjIC0tZ2l0LWRpcj1hLmdpdCIgaXMgZXF1aXZhbGVudCB0byAiLS1naXQtZGlyIGMvYS5naXQiJyAnCisJbWtkaXIgYyAmJgorCW1rZGlyIGMvYSAmJgorCW1rZGlyIGMvYS5naXQgJiYKKwkoY2QgYy9hLmdpdCAmJiBnaXQgaW5pdCAtLWJhcmUpICYmCisJZWNobyAxID5jL2EvYS50eHQgJiYKKwlnaXQgLS1naXQtZGlyIGMvYS5naXQgLS13b3JrLXRyZWU9Yy9hIGFkZCBhLnR4dCAmJgorCWdpdCAtLWdpdC1kaXIgYy9hLmdpdCAtLXdvcmstdHJlZT1jL2EgY29tbWl0IC1tICJpbml0aWFsIiAmJgorCWdpdCAtLWdpdC1kaXI9Yy9hLmdpdCBsb2cgLTEgLS1mb3JtYXQ9JXMgPmV4cGVjdGVkICYmCisJZ2l0IC1DIGMgLS1naXQtZGlyPWEuZ2l0IGxvZyAtMSAtLWZvcm1hdD0lcyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ09yZGVyIHNob3VsZCBub3QgbWF0dGVyOiAiLS1naXQtZGlyPWEuZ2l0IC1DIGMiIGlzIGVxdWl2YWxlbnQgdG8gIi1DIGMgLS1naXQtZGlyPWEuZ2l0IicgJworCWdpdCAtQyBjIC0tZ2l0LWRpcj1hLmdpdCBsb2cgLTEgLS1mb3JtYXQ9JXMgPmV4cGVjdGVkICYmCisJZ2l0IC0tZ2l0LWRpcj1hLmdpdCAtQyBjIGxvZyAtMSAtLWZvcm1hdD0lcyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0VmZmVjdCBvbiAtLXdvcmstdHJlZSBvcHRpb246ICItQyBjL2EuZ2l0IC0td29yay10cmVlPS4uL2EiICBpcyBlcXVpdmFsZW50IHRvICItLXdvcmstdHJlZT1jL2EgLS1naXQtZGlyPWMvYS5naXQiJyAnCisJcm0gYy9hL2EudHh0ICYmCisJZ2l0IC0tZ2l0LWRpcj1jL2EuZ2l0IC0td29yay10cmVlPWMvYSBzdGF0dXMgPmV4cGVjdGVkICYmCisJZ2l0IC1DIGMvYS5naXQgLS13b3JrLXRyZWU9Li4vYSBzdGF0dXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdPcmRlciBzaG91bGQgbm90IG1hdHRlcjogIi0td29yay10cmVlPS4uL2EgLUMgYy9hLmdpdCIgaXMgZXF1aXZhbGVudCB0byAiLUMgYy9hLmdpdCAtLXdvcmstdHJlZT0uLi9hIicgJworCWdpdCAtQyBjL2EuZ2l0IC0td29yay10cmVlPS4uL2Egc3RhdHVzID5leHBlY3RlZCAmJgorCWdpdCAtLXdvcmstdHJlZT0uLi9hIC1DIGMvYS5naXQgc3RhdHVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnRWZmZWN0IG9uIC0tZ2l0LWRpciBhbmQgLS13b3JrLXRyZWUgb3B0aW9ucyAtICItQyBjIC0tZ2l0LWRpcj1hLmdpdCAtLXdvcmstdHJlZT1hIiBpcyBlcXVpdmFsZW50IHRvICItLWdpdC1kaXI9Yy9hLmdpdCAtLXdvcmstdHJlZT1jL2EiJyAnCisJZ2l0IC0tZ2l0LWRpcj1jL2EuZ2l0IC0td29yay10cmVlPWMvYSBzdGF0dXMgPmV4cGVjdGVkICYmCisJZ2l0IC1DIGMgLS1naXQtZGlyPWEuZ2l0IC0td29yay10cmVlPWEgc3RhdHVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnT3JkZXIgc2hvdWxkIG5vdCBtYXR0ZXI6ICItQyBjIC0tZ2l0LWRpcj1hLmdpdCAtLXdvcmstdHJlZT1hIiBpcyBlcXVpdmFsZW50IHRvICItLWdpdC1kaXI9YS5naXQgLUMgYyAtLXdvcmstdHJlZT1hIicgJworCWdpdCAtQyBjIC0tZ2l0LWRpcj1hLmdpdCAtLXdvcmstdHJlZT1hIHN0YXR1cyA+ZXhwZWN0ZWQgJiYKKwlnaXQgLS1naXQtZGlyPWEuZ2l0IC1DIGMgLS13b3JrLXRyZWU9YSBzdGF0dXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdPcmRlciBzaG91bGQgbm90IG1hdHRlcjogIi1DIGMgLS1naXQtZGlyPWEuZ2l0IC0td29yay10cmVlPWEiIGlzIGVxdWl2YWxlbnQgdG8gIi0tZ2l0LWRpcj1hLmdpdCAtLXdvcmstdHJlZT1hIC1DIGMiJyAnCisJZ2l0IC1DIGMgLS1naXQtZGlyPWEuZ2l0IC0td29yay10cmVlPWEgc3RhdHVzID5leHBlY3RlZCAmJgorCWdpdCAtLWdpdC1kaXI9YS5naXQgLS13b3JrLXRyZWU9YSAtQyBjIHN0YXR1cyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1JlbGF0aXZlIGZvbGxvd2VkIGJ5IGZ1bGxwYXRoOiAiLUMgLi9oZXJlIC1DIC90aGVyZSIgaXMgZXF1aXZhbGVudCB0byAiLUMgL3RoZXJlIicgJworCWVjaG8gImluaXRpYWwgaW4gZGlyMS9kaXIyIiA+ZXhwZWN0ZWQgJiYKKwlnaXQgLUMgZGlyMSAtQyAiJChwd2QpL2RpcjEvZGlyMiIgbG9nIC0tZm9ybWF0PSVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QwMDYwLXBhdGgtdXRpbHMuc2ggYi90L3QwMDYwLXBhdGgtdXRpbHMuc2gKaW5kZXggM2E0OGRlMi4uMDdjMTBjOCAxMDA3NTUKLS0tIGEvdC90MDA2MC1wYXRoLXV0aWxzLnNoCisrKyBiL3QvdDAwNjAtcGF0aC11dGlscy5zaApAQCAtOCwxMyArOCwxMyBAQAogLiAuL3Rlc3QtbGliLnNoCiAKIG5vcm1fcGF0aCgpIHsKLQlleHBlY3RlZD0kKHRlc3QtcGF0aC11dGlscyBtaW5nd19wYXRoICIkMiIpCisJZXhwZWN0ZWQ9JCh0ZXN0LXBhdGgtdXRpbHMgcHJpbnRfcGF0aCAiJDIiKQogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJDMgIm5vcm1hbGl6ZSBwYXRoOiAkMSA9PiAkMiIgXAogCSJ0ZXN0IFwiXCQodGVzdC1wYXRoLXV0aWxzIG5vcm1hbGl6ZV9wYXRoX2NvcHkgJyQxJylcIiA9ICckZXhwZWN0ZWQnIgogfQogCiByZWxhdGl2ZV9wYXRoKCkgewotCWV4cGVjdGVkPSQodGVzdC1wYXRoLXV0aWxzIG1pbmd3X3BhdGggIiQzIikKKwlleHBlY3RlZD0kKHRlc3QtcGF0aC11dGlscyBwcmludF9wYXRoICIkMyIpCiAJdGVzdF9leHBlY3Rfc3VjY2VzcyAkNCAicmVsYXRpdmUgcGF0aDogJDEgJDIgPT4gJDMiIFwKIAkidGVzdCBcIlwkKHRlc3QtcGF0aC11dGlscyByZWxhdGl2ZV9wYXRoICckMScgJyQyJylcIiA9ICckZXhwZWN0ZWQnIgogfQpAQCAtMTkwLDMzICsxOTAsMzcgQEAKIAl0ZXN0ICIkc3ltIiA9ICIkKHRlc3QtcGF0aC11dGlscyByZWFsX3BhdGggIiRkaXIyL3N5bWwiKSIKICcKIAotcmVsYXRpdmVfcGF0aCAvYS9iL2MvCS9hL2IvCQljLwotcmVsYXRpdmVfcGF0aCAvYS9iL2MvCS9hL2IJCWMvCi1yZWxhdGl2ZV9wYXRoIC9hLy9iLy9jLwkvL2EvYi8vCQljLwlQT1NJWAotcmVsYXRpdmVfcGF0aCAvYS9iCS9hL2IJCS4vCi1yZWxhdGl2ZV9wYXRoIC9hL2IvCS9hL2IJCS4vCi1yZWxhdGl2ZV9wYXRoIC9hCS9hL2IJCS4uLwotcmVsYXRpdmVfcGF0aCAvCQkvYS9iLwkJLi4vLi4vCi1yZWxhdGl2ZV9wYXRoIC9hL2MJL2EvYi8JCS4uL2MKLXJlbGF0aXZlX3BhdGggL2EvYwkvYS9iCQkuLi9jCi1yZWxhdGl2ZV9wYXRoIC94L3kJL2EvYi8JCS4uLy4uL3gveQotcmVsYXRpdmVfcGF0aCAvYS9iCSI8ZW1wdHk+IgkvYS9iCi1yZWxhdGl2ZV9wYXRoIC9hL2IgCSI8bnVsbD4iCS9hL2IKLXJlbGF0aXZlX3BhdGggYS9iL2MvCWEvYi8JCWMvCi1yZWxhdGl2ZV9wYXRoIGEvYi9jLwlhL2IJCWMvCi1yZWxhdGl2ZV9wYXRoIGEvYi8vYwlhLy9iCQljCi1yZWxhdGl2ZV9wYXRoIGEvYi8JYS9iLwkJLi8KLXJlbGF0aXZlX3BhdGggYS9iLwlhL2IJCS4vCi1yZWxhdGl2ZV9wYXRoIGEJCWEvYgkJLi4vCi1yZWxhdGl2ZV9wYXRoIHgveQlhL2IJCS4uLy4uL3gveQotcmVsYXRpdmVfcGF0aCBhL2MJYS9iCQkuLi9jCi1yZWxhdGl2ZV9wYXRoIGEvYgkiPGVtcHR5PiIJYS9iCi1yZWxhdGl2ZV9wYXRoIGEvYiAJIjxudWxsPiIJYS9iCi1yZWxhdGl2ZV9wYXRoICI8ZW1wdHk+IgkvYS9iCQkuLwotcmVsYXRpdmVfcGF0aCAiPGVtcHR5PiIJIjxlbXB0eT4iCS4vCi1yZWxhdGl2ZV9wYXRoICI8ZW1wdHk+IgkiPG51bGw+IgkuLwotcmVsYXRpdmVfcGF0aCAiPG51bGw+IgkiPGVtcHR5PiIJLi8KLXJlbGF0aXZlX3BhdGggIjxudWxsPiIJIjxudWxsPiIJLi8KLXJlbGF0aXZlX3BhdGggIjxudWxsPiIJL2EvYgkJLi8KK3JlbGF0aXZlX3BhdGggL2Zvby9hL2IvYy8JL2Zvby9hL2IvCWMvCityZWxhdGl2ZV9wYXRoIC9mb28vYS9iL2MvCS9mb28vYS9iCWMvCityZWxhdGl2ZV9wYXRoIC9mb28vYS8vYi8vYy8JLy8vZm9vL2EvYi8vCWMvCQlQT1NJWAorcmVsYXRpdmVfcGF0aCAvZm9vL2EvYgkJL2Zvby9hL2IJLi8KK3JlbGF0aXZlX3BhdGggL2Zvby9hL2IvCQkvZm9vL2EvYgkuLworcmVsYXRpdmVfcGF0aCAvZm9vL2EJCS9mb28vYS9iCS4uLworcmVsYXRpdmVfcGF0aCAvCQkJL2Zvby9hL2IvCS4uLy4uLy4uLworcmVsYXRpdmVfcGF0aCAvZm9vL2EvYwkJL2Zvby9hL2IvCS4uL2MKK3JlbGF0aXZlX3BhdGggL2Zvby9hL2MJCS9mb28vYS9iCS4uL2MKK3JlbGF0aXZlX3BhdGggL2Zvby94L3kJCS9mb28vYS9iLwkuLi8uLi94L3kKK3JlbGF0aXZlX3BhdGggL2Zvby9hL2IJCSI8ZW1wdHk+IgkvZm9vL2EvYgorcmVsYXRpdmVfcGF0aCAvZm9vL2EvYiAJCSI8bnVsbD4iCS9mb28vYS9iCityZWxhdGl2ZV9wYXRoIGZvby9hL2IvYy8JZm9vL2EvYi8JYy8KK3JlbGF0aXZlX3BhdGggZm9vL2EvYi9jLwlmb28vYS9iCQljLworcmVsYXRpdmVfcGF0aCBmb28vYS9iLy9jCWZvby9hLy9iCWMKK3JlbGF0aXZlX3BhdGggZm9vL2EvYi8JCWZvby9hL2IvCS4vCityZWxhdGl2ZV9wYXRoIGZvby9hL2IvCQlmb28vYS9iCQkuLworcmVsYXRpdmVfcGF0aCBmb28vYQkJZm9vL2EvYgkJLi4vCityZWxhdGl2ZV9wYXRoIGZvby94L3kJCWZvby9hL2IJCS4uLy4uL3gveQorcmVsYXRpdmVfcGF0aCBmb28vYS9jCQlmb28vYS9iCQkuLi9jCityZWxhdGl2ZV9wYXRoIGZvby9hL2IJCS9mb28veC95CWZvby9hL2IKK3JlbGF0aXZlX3BhdGggL2Zvby9hL2IJCWZvby94L3kJCS9mb28vYS9iCityZWxhdGl2ZV9wYXRoIGQ6L2EvYgkJRDovYS9jCQkuLi9iCQlNSU5HVworcmVsYXRpdmVfcGF0aCBDOi9hL2IJCUQ6L2EvYwkJQzovYS9iCQlNSU5HVworcmVsYXRpdmVfcGF0aCBmb28vYS9iCQkiPGVtcHR5PiIJZm9vL2EvYgorcmVsYXRpdmVfcGF0aCBmb28vYS9iIAkJIjxudWxsPiIJZm9vL2EvYgorcmVsYXRpdmVfcGF0aCAiPGVtcHR5PiIJCS9mb28vYS9iCS4vCityZWxhdGl2ZV9wYXRoICI8ZW1wdHk+IgkJIjxlbXB0eT4iCS4vCityZWxhdGl2ZV9wYXRoICI8ZW1wdHk+IgkJIjxudWxsPiIJLi8KK3JlbGF0aXZlX3BhdGggIjxudWxsPiIJCSI8ZW1wdHk+IgkuLworcmVsYXRpdmVfcGF0aCAiPG51bGw+IgkJIjxudWxsPiIJLi8KK3JlbGF0aXZlX3BhdGggIjxudWxsPiIJCS9mb28vYS9iCS4vCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MDA3MC1mdW5kYW1lbnRhbC5zaCBiL3QvdDAwNzAtZnVuZGFtZW50YWwuc2gKaW5kZXggOTg2YjJhOC4uNWVkNjlhNiAxMDA3NTUKLS0tIGEvdC90MDA3MC1mdW5kYW1lbnRhbC5zaAorKysgYi90L3QwMDcwLWZ1bmRhbWVudGFsLnNoCkBAIC0yNSw2ICsyNSwxMCBAQAogCWdyZXAgImNhbm5vdHdyaXRlL3Rlc3QiIGVycgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXRfbWtzdGVtcHNfbW9kZSBkb2VzIG5vdCBmYWlsIGlmIGZkIDAgaXMgbm90IG9wZW4nICcKKwlnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gbWVzc2FnZSA8Ji0KKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgZm9yIGEgYnVnIGluIHRoZSByZWdleCByb3V0aW5lcycgJwogCSMgaWYgdGhpcyB0ZXN0IGZhaWxzLCByZS1idWlsZCBnaXQgd2l0aCBOT19SRUdFWD0xCiAJdGVzdC1yZWdleApkaWZmIC0tZ2l0IGEvdC90MDExMC11cmxtYXRjaC1ub3JtYWxpemF0aW9uLnNoIGIvdC90MDExMC11cmxtYXRjaC1ub3JtYWxpemF0aW9uLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhkNjA5NmQKLS0tIC9kZXYvbnVsbAorKysgYi90L3QwMTEwLXVybG1hdGNoLW5vcm1hbGl6YXRpb24uc2gKQEAgLTAsMCArMSwxNzcgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSd1cmxtYXRjaCBVUkwgbm9ybWFsaXphdGlvbicKKy4gLi90ZXN0LWxpYi5zaAorCisjIFRoZSBiYXNlIG5hbWUgb2YgdGhlIHRlc3QgdXJsIGZpbGVzCit0dT0iJFRFU1RfRElSRUNUT1JZL3QwMTEwL3VybCIKKworIyBOb3RlIHRoYXQgb25seSBmaWxlOiBVUkxzIHNob3VsZCBiZSBhbGxvd2VkIHdpdGhvdXQgYSBob3N0CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VybCBzY2hlbWUnICcKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJfIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWUiICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInNjaGVtZToiICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInNjaGVtZTovIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly8iICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gImZpbGUiICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gImZpbGU6IiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJmaWxlOi8iICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJmaWxlOi8vIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICI6Ly9hY21lLmNvIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJ4X3Rlc3Q6Ly9hY21lLmNvIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICItdGVzdDovL2FjbWUuY28iICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gIjB0ZXN0Oi8vYWNtZS5jbyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiK3Rlc3Q6Ly9hY21lLmNvIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICIudGVzdDovL2FjbWUuY28iICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInNjaGVtJTZlOi8vIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAieC1UZXN0K3YxLjA6Ly9hY21lLmNvIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJBYkNkZUY6Ly94LlkiKSIgPSAiYWJjZGVmOi8veC55LyIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndXJsIGF1dGhvcml0eScgJworCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly91c2VyOnBhc3NAIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly8/IiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly8jIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly8vIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly86IiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly86NTU1IiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiZmlsZTovL3VzZXI6cGFzc0AiICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJmaWxlOi8vPyIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gImZpbGU6Ly8jIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiZmlsZTovLy8iICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJmaWxlOi8vOiIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiZmlsZTovLzo1NTUiICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly91c2VyOnBhc3NAaG9zdCIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInNjaGVtZTovL0Bob3N0IiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vJTAwQGhvc3QiICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInNjaGVtZTovLyUlQGhvc3QiICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInNjaGVtZTovL2hvc3RfIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vdXNlcjpwYXNzQGhvc3QvIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vQGhvc3QvIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vaG9zdC8iICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly9ob3N0P3giICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly9ob3N0I3giICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly9ob3N0L0AiICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly9ob3N0P0B4IiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vaG9zdCNAeCIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInNjaGVtZTovL1s6OjFdIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vWzo6MV0vIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly9ob3MlNDEvIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vW2ludmFsaWQuLi4uOi8iICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly9pbnZhbGlkLi4uLjpdLyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vaW52YWxpZC4uLi46Wy8iICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInNjaGVtZTovL2ludmFsaWQuLi4uOlsiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VybCBwb3J0IGNoZWNrcycgJworCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAieHl6Oi8vcUBzb21lLmhvc3Q6IiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAieHl6Oi8vcUBzb21lLmhvc3Q6NDU2LyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAieHl6Oi8vcUBzb21lLmhvc3Q6MCIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAieHl6Oi8vcUBzb21lLmhvc3Q6MDAwMDAwMCIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInh5ejovL3FAc29tZS5ob3N0OjAwMDAwMDE/IiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAieHl6Oi8vcUBzb21lLmhvc3Q6MDY1NTM1IyIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInh5ejovL3FAc29tZS5ob3N0OjY1NTM1IiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJ4eXo6Ly9xQHNvbWUuaG9zdDo2NTUzNiIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAieHl6Oi8vcUBzb21lLmhvc3Q6OTk5OTkiICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInh5ejovL3FAc29tZS5ob3N0OjEwMDAwMCIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAieHl6Oi8vcUBzb21lLmhvc3Q6MTAwMDAxIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiaHR0cDovL3FAc29tZS5ob3N0OjgwIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiaHR0cHM6Ly9xQHNvbWUuaG9zdDo0NDMiICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJodHRwOi8vcUBzb21lLmhvc3Q6ODAvIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiaHR0cHM6Ly9xQHNvbWUuaG9zdDo0NDM/IiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJodHRwOi8vcUA6ODAwOCIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiaHR0cDovLzo4MDgwIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJodHRwOi8vOiIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInh5ejovL3FAc29tZS5ob3N0OjQ1Ni8iICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJ4eXo6Ly9bOjoxXTo0NTYvIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAieHl6Oi8vWzo6MV06LyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAieHl6Oi8vWzo6MV06MDAwLyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAieHl6Oi8vWzo6MV06MCUzMDAvIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJ4eXo6Ly9bOjoxXToweDgwLyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAieHl6Oi8vWzo6MV06NDI5NDk2NzI5Ny8iICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInh5ejovL1s6OjFdOjAzMGYvIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd1cmwgcG9ydCBub3JtYWxpemF0aW9uJyAnCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgImh0dHA6Ly94OjgwMCIpIiA9ICJodHRwOi8veDo4MDAvIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJodHRwOi8veDowODAwIikiID0gImh0dHA6Ly94OjgwMC8iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgImh0dHA6Ly94OjAwMDAwODAwIikiID0gImh0dHA6Ly94OjgwMC8iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgImh0dHA6Ly94OjA2NTUzNSIpIiA9ICJodHRwOi8veDo2NTUzNS8iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgImh0dHA6Ly94OjEiKSIgPSAiaHR0cDovL3g6MS8iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgImh0dHA6Ly94OjgwIikiID0gImh0dHA6Ly94LyIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiaHR0cDovL3g6MDgwIikiID0gImh0dHA6Ly94LyIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiaHR0cDovL3g6MDAwMDAwMDgwIikiID0gImh0dHA6Ly94LyIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiaHR0cHM6Ly94OjQ0MyIpIiA9ICJodHRwczovL3gvIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJodHRwczovL3g6MDQ0MyIpIiA9ICJodHRwczovL3gvIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJodHRwczovL3g6MDAwMDAwNDQzIikiID0gImh0dHBzOi8veC8iCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VybCBnZW5lcmFsIGVzY2FwZXMnICcKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiaHR0cDovL3gueT8lZmciICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIlg6Ly9XLyU3ZSU0MV4lM2EiKSIgPSAieDovL3cvfkElNUUlM0EiICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIlg6Ly9XLzovPyNbXUAiKSIgPSAieDovL3cvOi8/I1tdQCIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiWDovL1cvJCYoKSorLDs9IikiID0gIng6Ly93LyQmKCkqKyw7PSIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiWDovL1cvJ1wnJyIpIiA9ICJ4Oi8vdy8nXCcnIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJYOi8vVz8nXCEnIikiID0gIng6Ly93Lz8nXCEnIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd1cmwgaGlnaC1iaXQgZXNjYXBlcycgJworCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICIkKGNhdCAiJHR1LTEiKSIpIiA9ICJ4Oi8vcS8lMDElMDIlMDMlMDQlMDUlMDYlMDclMDglMEUlMEYlMTAlMTElMTIiICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIiQoY2F0ICIkdHUtMiIpIikiID0gIng6Ly9xLyUxMyUxNCUxNSUxNiUxNyUxOCUxOSUxQiUxQyUxRCUxRSUxRiU3RiIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiJChjYXQgIiR0dS0zIikiKSIgPSAieDovL3EvJTgwJTgxJTgyJTgzJTg0JTg1JTg2JTg3JTg4JTg5JThBJThCJThDJThEJThFJThGIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICIkKGNhdCAiJHR1LTQiKSIpIiA9ICJ4Oi8vcS8lOTAlOTElOTIlOTMlOTQlOTUlOTYlOTclOTglOTklOUElOUIlOUMlOUQlOUUlOUYiICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIiQoY2F0ICIkdHUtNSIpIikiID0gIng6Ly9xLyVBMCVBMSVBMiVBMyVBNCVBNSVBNiVBNyVBOCVBOSVBQSVBQiVBQyVBRCVBRSVBRiIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiJChjYXQgIiR0dS02IikiKSIgPSAieDovL3EvJUIwJUIxJUIyJUIzJUI0JUI1JUI2JUI3JUI4JUI5JUJBJUJCJUJDJUJEJUJFJUJGIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICIkKGNhdCAiJHR1LTciKSIpIiA9ICJ4Oi8vcS8lQzAlQzElQzIlQzMlQzQlQzUlQzYlQzclQzglQzklQ0ElQ0IlQ0MlQ0QlQ0UlQ0YiICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIiQoY2F0ICIkdHUtOCIpIikiID0gIng6Ly9xLyVEMCVEMSVEMiVEMyVENCVENSVENiVENyVEOCVEOSVEQSVEQiVEQyVERCVERSVERiIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiJChjYXQgIiR0dS05IikiKSIgPSAieDovL3EvJUUwJUUxJUUyJUUzJUU0JUU1JUU2JUU3JUU4JUU5JUVBJUVCJUVDJUVEJUVFJUVGIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICIkKGNhdCAiJHR1LTEwIikiKSIgPSAieDovL3EvJUYwJUYxJUYyJUYzJUY0JUY1JUY2JUY3JUY4JUY5JUZBJUZCJUZDJUZEJUZFJUZGIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICIkKGNhdCAiJHR1LTExIikiKSIgPSAieDovL3EvJUMyJTgwJURGJUJGJUUwJUEwJTgwJUVGJUJGJUJEJUYwJTkwJTgwJTgwJUYwJUFGJUJGJUJEIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd1cmwgdXNlcm5hbWUvcGFzc3dvcmQgZXNjYXBlcycgJworCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJ4Oi8vJTQxJTYyKF4pOiU3MCtkQGZvbyIpIiA9ICJ4Oi8vQWIoJTVFKTpwK2RAZm9vLyIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndXJsIG5vcm1hbGl6ZWQgbGVuZ3RocycgJworCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1sICJIdHRwOi8vJTRkJTY1OiU0ZF4lNzBAVGhlLkhvc3QiKSIgPSAyNSAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1sICJodHRwOi8vJTQxOiU0MkB4LnkvJTYxLyIpIiA9IDE3ICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLWwgImh0dHA6Ly9AeC55L14iKSIgPSAxNQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd1cmwgLiBhbmQgLi4gc2VnbWVudHMnICcKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAieDovL3kvLiIpIiA9ICJ4Oi8veS8iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIng6Ly95Ly4vIikiID0gIng6Ly95LyIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAieDovL3kvYS8uIikiID0gIng6Ly95L2EiICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIng6Ly95L2EvLi8iKSIgPSAieDovL3kvYS8iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIng6Ly95Ly4/IikiID0gIng6Ly95Lz8iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIng6Ly95Ly4vPyIpIiA9ICJ4Oi8veS8/IiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJ4Oi8veS9hLy4/IikiID0gIng6Ly95L2E/IiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJ4Oi8veS9hLy4vPyIpIiA9ICJ4Oi8veS9hLz8iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIng6Ly95L2EvLi9iLy4uLy4vLi4vYyIpIiA9ICJ4Oi8veS9jIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJ4Oi8veS9hLy4vYi8uLi8uLi8uL2MvIikiID0gIng6Ly95L2MvIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJ4Oi8veS9hLy4vYi8uLi8uLy4uL2MvLi8uLy4uLy4vLiIpIiA9ICJ4Oi8veS8iICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gIng6Ly95L2EvLi9iLy4uLy4vLi4vYy8uLy4vLi4vLi8uLiIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAieDovL3kvYS8uLz8vLi8uLy4uIikiID0gIng6Ly95L2EvPy8uLy4vLi4iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIng6Ly95LyUyZS8iKSIgPSAieDovL3kvIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJ4Oi8veS8lMkUvIikiID0gIng6Ly95LyIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAieDovL3kvYS8lMmUuLyIpIiA9ICJ4Oi8veS8iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIng6Ly95L2IvLiUyRS8iKSIgPSAieDovL3kvIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJ4Oi8veS9jLyUyZSUyRS8iKSIgPSAieDovL3kvIgorJworCisjIGh0dHA6Ly9AZm9vIHNwZWNpZmllcyBhbiBlbXB0eSB1c2VyIG5hbWUgYnV0IGRvZXMgbm90IHNwZWNpZnkgYSBwYXNzd29yZAorIyBodHRwOi8vZm9vICBzcGVjaWZpZXMgbmVpdGhlciBhIHVzZXIgbmFtZSBub3IgYSBwYXNzd29yZAorIyBTbyB0aGV5IHNob3VsZCBub3QgYmUgZXF1aXZhbGVudAordGVzdF9leHBlY3Rfc3VjY2VzcyAndXJsIGVxdWl2YWxlbnRzJyAnCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJodHRQOi8veCIgIkh0dHA6Ly9YLyIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gIkh0dHA6Ly8lNGQlNjU6JTRkXiU3MEBUaGUuSG9zdCIgImhUVFA6Ly9NZTolNERecEB0aGUuSE9TVDo4MC8iICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gImh0dHBzOi8vQHgueS9eIiAiaHR0cFM6Ly94Lnk6NDQzL14iICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJodHRwczovL0B4LnkvXiIgImh0dHBTOi8vQHgueTowNDQzL14iICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJodHRwczovL0B4LnkvXi8uLi9hYmMiICJodHRwUzovL0B4Lnk6MDQ0My9hYmMiICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJodHRwczovL0B4LnkvXi8uLiIgImh0dHBTOi8vQHgueTowNDQzLyIKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QwMTEwL1JFQURNRSBiL3QvdDAxMTAvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkNGE1MGUKLS0tIC9kZXYvbnVsbAorKysgYi90L3QwMTEwL1JFQURNRQpAQCAtMCwwICsxLDkgQEAKK1RoZSB1cmwgZGF0YSBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeSBjb250YWluIFVSTHMgd2l0aCBjaGFyYWN0ZXJzCitpbiB0aGUgcmFuZ2UgMHgwMS0weDFmIGFuZCAweDdmLTB4ZmYgdG8gdGVzdCB0aGUgcHJvcGVyIG5vcm1hbGl6YXRpb24KK29mIHVucHJpbnRhYmxlIGNoYXJhY3RlcnMuCisKK0Egc2VsZWN0IGZldyBjaGFyYWN0ZXJzIGluIHRoZSAweDAxLTB4MWYgcmFuZ2UgYXJlIHNraXBwZWQgdG8gaGVscAorYXZvaWQgcHJvYmxlbXMgcnVubmluZyB0aGUgdGVzdCBpdHNlbGYuCisKK1RoZSB1cmxzIGFyZSBpbiB0ZXN0IGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5IHJhdGhlciB0aGFuIGJlaW5nCitlbWJlZGRlZCBpbiB0aGUgdGVzdCBzY3JpcHQgZm9yIHBvcnRhYmlsaXR5LgpkaWZmIC0tZ2l0IGEvdC90MDExMC91cmwtMSBiL3QvdDAxMTAvdXJsLTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTE5MDE5YwotLS0gL2Rldi9udWxsCisrKyBiL3QvdDAxMTAvdXJsLTEKQEAgLTAsMCArMSBAQAoreDovL3EvAQIDBAUGBwgODxAREgpkaWZmIC0tZ2l0IGEvdC90MDExMC91cmwtMTAgYi90L3QwMTEwL3VybC0xMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTk2NWRlCi0tLSAvZGV2L251bGwKKysrIGIvdC90MDExMC91cmwtMTAKQEAgLTAsMCArMSBAQAoreDovL3Ev8PHy8/T19vf4+fr7/P3+/wpkaWZmIC0tZ2l0IGEvdC90MDExMC91cmwtMTEgYi90L3QwMTEwL3VybC0xMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGE1MGYxCi0tLSAvZGV2L251bGwKKysrIGIvdC90MDExMC91cmwtMTEKQEAgLTAsMCArMSBAQAoreDovL3EvwoDfv+CggO+/vfCQgIDwr7+9CmRpZmYgLS1naXQgYS90L3QwMTEwL3VybC0yIGIvdC90MDExMC91cmwtMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzMzNGIwCi0tLSAvZGV2L251bGwKKysrIGIvdC90MDExMC91cmwtMgpAQCAtMCwwICsxIEBACit4Oi8vcS8TFBUWFxgZGxwdHh9/CmRpZmYgLS1naXQgYS90L3QwMTEwL3VybC0zIGIvdC90MDExMC91cmwtMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Mzc4YzdiCi0tLSAvZGV2L251bGwKKysrIGIvdC90MDExMC91cmwtMwpAQCAtMCwwICsxIEBACit4Oi8vcS+AgYKDhIWGh4iJiouMjY6PCmRpZmYgLS1naXQgYS90L3QwMTEwL3VybC00IGIvdC90MDExMC91cmwtNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjBiMTk4Ci0tLSAvZGV2L251bGwKKysrIGIvdC90MDExMC91cmwtNApAQCAtMCwwICsxIEBACit4Oi8vcS+QkZKTlJWWl5iZmpucnZ6fCmRpZmYgLS1naXQgYS90L3QwMTEwL3VybC01IGIvdC90MDExMC91cmwtNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xY2NkOTI3Ci0tLSAvZGV2L251bGwKKysrIGIvdC90MDExMC91cmwtNQpAQCAtMCwwICsxIEBACit4Oi8vcS+goaKjpKWmp6ipqqusra6vCmRpZmYgLS1naXQgYS90L3QwMTEwL3VybC02IGIvdC90MDExMC91cmwtNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODI4M2FhCi0tLSAvZGV2L251bGwKKysrIGIvdC90MDExMC91cmwtNgpAQCAtMCwwICsxIEBACit4Oi8vcS+wsbKztLW2t7i5uru8vb6/CmRpZmYgLS1naXQgYS90L3QwMTEwL3VybC03IGIvdC90MDExMC91cmwtNwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYTdjMTBiCi0tLSAvZGV2L251bGwKKysrIGIvdC90MDExMC91cmwtNwpAQCAtMCwwICsxIEBACit4Oi8vcS/AwcLDxMXGx8jJysvMzc7PCmRpZmYgLS1naXQgYS90L3QwMTEwL3VybC04IGIvdC90MDExMC91cmwtOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OWEwYmE4Ci0tLSAvZGV2L251bGwKKysrIGIvdC90MDExMC91cmwtOApAQCAtMCwwICsxIEBACit4Oi8vcS/Q0dLT1NXW19jZ2tvc3d7fCmRpZmYgLS1naXQgYS90L3QwMTEwL3VybC05IGIvdC90MDExMC91cmwtOQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjQ0YmVjCi0tLSAvZGV2L251bGwKKysrIGIvdC90MDExMC91cmwtOQpAQCAtMCwwICsxIEBACit4Oi8vcS/g4eLj5OXm5+jp6uvs7e7vCmRpZmYgLS1naXQgYS90L3QwMjAyLWdldHRleHQtcGVybC5zaCBiL3QvdDAyMDItZ2V0dGV4dC1wZXJsLnNoCmluZGV4IDQyOGViYjAuLmEyOWQxNjYgMTAwNzU1Ci0tLSBhL3QvdDAyMDItZ2V0dGV4dC1wZXJsLnNoCisrKyBiL3QvdDAyMDItZ2V0dGV4dC1wZXJsLnNoCkBAIC0xMiw3ICsxMiw3IEBACiAJdGVzdF9kb25lCiBmaQogCi0iJFBFUkxfUEFUSCIgLU1UZXN0OjpNb3JlIC1lIDAgMj4vZGV2L251bGwgfHwgeworcGVybCAtTVRlc3Q6Ok1vcmUgLWUgMCAyPi9kZXYvbnVsbCB8fCB7CiAJc2tpcF9hbGw9IlBlcmwgVGVzdDo6TW9yZSB1bmF2YWlsYWJsZSwgc2tpcHBpbmcgdGVzdCIKIAl0ZXN0X2RvbmUKIH0KQEAgLTIyLDYgKzIyLDYgQEAKIAogdGVzdF9leHRlcm5hbF93aXRob3V0X3N0ZGVyciBcCiAgICAgJ1BlcmwgR2l0OjpJMThOIEFQSScgXAotICAgICIkUEVSTF9QQVRIIiAiJFRFU1RfRElSRUNUT1JZIi90MDIwMi90ZXN0LnBsCisgICAgcGVybCAiJFRFU1RfRElSRUNUT1JZIi90MDIwMi90ZXN0LnBsCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MDIwMi90ZXN0LnBsIGIvdC90MDIwMi90ZXN0LnBsCm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBhL3QvdDEwMDUtcmVhZC10cmVlLXJlc2V0LnNoIGIvdC90MTAwNS1yZWFkLXRyZWUtcmVzZXQuc2gKaW5kZXggZjUzZGU3OS4uMDc0NTY4NSAxMDA3NTUKLS0tIGEvdC90MTAwNS1yZWFkLXRyZWUtcmVzZXQuc2gKKysrIGIvdC90MTAwNS1yZWFkLXRyZWUtcmVzZXQuc2gKQEAgLTgsODQgKzgsOTkgQEAKICMgdHdvLXRyZWUgdGVzdAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJwotICBnaXQgaW5pdCAmJgotICBta2RpciBkZiAmJgotICBlY2hvIGNvbnRlbnQgPmRmL2ZpbGUgJiYKLSAgZ2l0IGFkZCBkZi9maWxlICYmCi0gIGdpdCBjb21taXQgLW0gb25lICYmCi0gIGdpdCBscy1maWxlcyA+ZXhwZWN0ICYmCi0gIHJtIC1yZiBkZiAmJgotICBlY2hvIGNvbnRlbnQgPmRmICYmCi0gIGdpdCBhZGQgZGYgJiYKLSAgZWNobyBjb250ZW50ID5uZXcgJiYKLSAgZ2l0IGFkZCBuZXcgJiYKLSAgZ2l0IGNvbW1pdCAtbSB0d28KKwlnaXQgaW5pdCAmJgorCW1rZGlyIGRmICYmCisJZWNobyBjb250ZW50ID5kZi9maWxlICYmCisJZ2l0IGFkZCBkZi9maWxlICYmCisJZ2l0IGNvbW1pdCAtbSBvbmUgJiYKKwlnaXQgbHMtZmlsZXMgPmV4cGVjdCAmJgorCXJtIC1yZiBkZiAmJgorCWVjaG8gY29udGVudCA+ZGYgJiYKKwlnaXQgYWRkIGRmICYmCisJZWNobyBjb250ZW50ID5uZXcgJiYKKwlnaXQgYWRkIG5ldyAmJgorCWdpdCBjb21taXQgLW0gdHdvCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jlc2V0IHNob3VsZCB3b3JrJyAnCi0gIHJlYWRfdHJlZV91X211c3Rfc3VjY2VlZCAtdSAtLXJlc2V0IEhFQUReICYmCi0gIGdpdCBscy1maWxlcyA+YWN0dWFsICYmCi0gIHRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwlyZWFkX3RyZWVfdV9tdXN0X3N1Y2NlZWQgLXUgLS1yZXNldCBIRUFEXiAmJgorCWdpdCBscy1maWxlcyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXNldCBzaG91bGQgcmVtb3ZlIHJlbW5hbnRzIGZyb20gYSBmYWlsZWQgbWVyZ2UnICcKLSAgcmVhZF90cmVlX3VfbXVzdF9zdWNjZWVkIC0tcmVzZXQgLXUgSEVBRCAmJgotICBnaXQgbHMtZmlsZXMgLXMgPmV4cGVjdCAmJgotICBzaGExPSQoZ2l0IHJldi1wYXJzZSA6bmV3KSAmJgotICAoCi0JZWNobyAiMTAwNjQ0ICRzaGExIDEJb2xkIgotCWVjaG8gIjEwMDY0NCAkc2hhMSAzCW9sZCIKLSAgKSB8IGdpdCB1cGRhdGUtaW5kZXggLS1pbmRleC1pbmZvICYmCi0gID5vbGQgJiYKLSAgZ2l0IGxzLWZpbGVzIC1zICYmCi0gIHJlYWRfdHJlZV91X211c3Rfc3VjY2VlZCAtLXJlc2V0IC11IEhFQUQgJiYKLSAgZ2l0IGxzLWZpbGVzIC1zID5hY3R1YWwgJiYKLSAgISB0ZXN0IC1mIG9sZAorCXJlYWRfdHJlZV91X211c3Rfc3VjY2VlZCAtLXJlc2V0IC11IEhFQUQgJiYKKwlnaXQgbHMtZmlsZXMgLXMgPmV4cGVjdCAmJgorCXNoYTE9JChnaXQgcmV2LXBhcnNlIDpuZXcpICYmCisJKAorCQllY2hvICIxMDA2NDQgJHNoYTEgMQlvbGQiCisJCWVjaG8gIjEwMDY0NCAkc2hhMSAzCW9sZCIKKwkpIHwgZ2l0IHVwZGF0ZS1pbmRleCAtLWluZGV4LWluZm8gJiYKKwk+b2xkICYmCisJZ2l0IGxzLWZpbGVzIC1zICYmCisJcmVhZF90cmVlX3VfbXVzdF9zdWNjZWVkIC0tcmVzZXQgLXUgSEVBRCAmJgorCWdpdCBscy1maWxlcyAtcyA+YWN0dWFsICYmCisJISB0ZXN0IC1mIG9sZAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0d28td2F5IHJlc2V0IHNob3VsZCByZW1vdmUgcmVtbmFudHMgdG9vJyAnCisJcmVhZF90cmVlX3VfbXVzdF9zdWNjZWVkIC0tcmVzZXQgLXUgSEVBRCAmJgorCWdpdCBscy1maWxlcyAtcyA+ZXhwZWN0ICYmCisJc2hhMT0kKGdpdCByZXYtcGFyc2UgOm5ldykgJiYKKwkoCisJCWVjaG8gIjEwMDY0NCAkc2hhMSAxCW9sZCIKKwkJZWNobyAiMTAwNjQ0ICRzaGExIDMJb2xkIgorCSkgfCBnaXQgdXBkYXRlLWluZGV4IC0taW5kZXgtaW5mbyAmJgorCT5vbGQgJiYKKwlnaXQgbHMtZmlsZXMgLXMgJiYKKwlyZWFkX3RyZWVfdV9tdXN0X3N1Y2NlZWQgLS1yZXNldCAtdSBIRUFEIEhFQUQgJiYKKwlnaXQgbHMtZmlsZXMgLXMgPmFjdHVhbCAmJgorCSEgdGVzdCAtZiBvbGQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnUG9yY2VsYWluIHJlc2V0IHNob3VsZCByZW1vdmUgcmVtbmFudHMgdG9vJyAnCi0gIHJlYWRfdHJlZV91X211c3Rfc3VjY2VlZCAtLXJlc2V0IC11IEhFQUQgJiYKLSAgZ2l0IGxzLWZpbGVzIC1zID5leHBlY3QgJiYKLSAgc2hhMT0kKGdpdCByZXYtcGFyc2UgOm5ldykgJiYKLSAgKAotCWVjaG8gIjEwMDY0NCAkc2hhMSAxCW9sZCIKLQllY2hvICIxMDA2NDQgJHNoYTEgMwlvbGQiCi0gICkgfCBnaXQgdXBkYXRlLWluZGV4IC0taW5kZXgtaW5mbyAmJgotICA+b2xkICYmCi0gIGdpdCBscy1maWxlcyAtcyAmJgotICBnaXQgcmVzZXQgLS1oYXJkICYmCi0gIGdpdCBscy1maWxlcyAtcyA+YWN0dWFsICYmCi0gICEgdGVzdCAtZiBvbGQKKwlyZWFkX3RyZWVfdV9tdXN0X3N1Y2NlZWQgLS1yZXNldCAtdSBIRUFEICYmCisJZ2l0IGxzLWZpbGVzIC1zID5leHBlY3QgJiYKKwlzaGExPSQoZ2l0IHJldi1wYXJzZSA6bmV3KSAmJgorCSgKKwkJZWNobyAiMTAwNjQ0ICRzaGExIDEJb2xkIgorCQllY2hvICIxMDA2NDQgJHNoYTEgMwlvbGQiCisJKSB8IGdpdCB1cGRhdGUtaW5kZXggLS1pbmRleC1pbmZvICYmCisJPm9sZCAmJgorCWdpdCBscy1maWxlcyAtcyAmJgorCWdpdCByZXNldCAtLWhhcmQgJiYKKwlnaXQgbHMtZmlsZXMgLXMgPmFjdHVhbCAmJgorCSEgdGVzdCAtZiBvbGQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnUG9yY2VsYWluIGNoZWNrb3V0IC1mIHNob3VsZCByZW1vdmUgcmVtbmFudHMgdG9vJyAnCi0gIHJlYWRfdHJlZV91X211c3Rfc3VjY2VlZCAtLXJlc2V0IC11IEhFQUQgJiYKLSAgZ2l0IGxzLWZpbGVzIC1zID5leHBlY3QgJiYKLSAgc2hhMT0kKGdpdCByZXYtcGFyc2UgOm5ldykgJiYKLSAgKAotCWVjaG8gIjEwMDY0NCAkc2hhMSAxCW9sZCIKLQllY2hvICIxMDA2NDQgJHNoYTEgMwlvbGQiCi0gICkgfCBnaXQgdXBkYXRlLWluZGV4IC0taW5kZXgtaW5mbyAmJgotICA+b2xkICYmCi0gIGdpdCBscy1maWxlcyAtcyAmJgotICBnaXQgY2hlY2tvdXQgLWYgJiYKLSAgZ2l0IGxzLWZpbGVzIC1zID5hY3R1YWwgJiYKLSAgISB0ZXN0IC1mIG9sZAorCXJlYWRfdHJlZV91X211c3Rfc3VjY2VlZCAtLXJlc2V0IC11IEhFQUQgJiYKKwlnaXQgbHMtZmlsZXMgLXMgPmV4cGVjdCAmJgorCXNoYTE9JChnaXQgcmV2LXBhcnNlIDpuZXcpICYmCisJKAorCQllY2hvICIxMDA2NDQgJHNoYTEgMQlvbGQiCisJCWVjaG8gIjEwMDY0NCAkc2hhMSAzCW9sZCIKKwkpIHwgZ2l0IHVwZGF0ZS1pbmRleCAtLWluZGV4LWluZm8gJiYKKwk+b2xkICYmCisJZ2l0IGxzLWZpbGVzIC1zICYmCisJZ2l0IGNoZWNrb3V0IC1mICYmCisJZ2l0IGxzLWZpbGVzIC1zID5hY3R1YWwgJiYKKwkhIHRlc3QgLWYgb2xkCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1BvcmNlbGFpbiBjaGVja291dCAtZiBIRUFEIHNob3VsZCByZW1vdmUgcmVtbmFudHMgdG9vJyAnCi0gIHJlYWRfdHJlZV91X211c3Rfc3VjY2VlZCAtLXJlc2V0IC11IEhFQUQgJiYKLSAgZ2l0IGxzLWZpbGVzIC1zID5leHBlY3QgJiYKLSAgc2hhMT0kKGdpdCByZXYtcGFyc2UgOm5ldykgJiYKLSAgKAotCWVjaG8gIjEwMDY0NCAkc2hhMSAxCW9sZCIKLQllY2hvICIxMDA2NDQgJHNoYTEgMwlvbGQiCi0gICkgfCBnaXQgdXBkYXRlLWluZGV4IC0taW5kZXgtaW5mbyAmJgotICA+b2xkICYmCi0gIGdpdCBscy1maWxlcyAtcyAmJgotICBnaXQgY2hlY2tvdXQgLWYgSEVBRCAmJgotICBnaXQgbHMtZmlsZXMgLXMgPmFjdHVhbCAmJgotICAhIHRlc3QgLWYgb2xkCisJcmVhZF90cmVlX3VfbXVzdF9zdWNjZWVkIC0tcmVzZXQgLXUgSEVBRCAmJgorCWdpdCBscy1maWxlcyAtcyA+ZXhwZWN0ICYmCisJc2hhMT0kKGdpdCByZXYtcGFyc2UgOm5ldykgJiYKKwkoCisJCWVjaG8gIjEwMDY0NCAkc2hhMSAxCW9sZCIKKwkJZWNobyAiMTAwNjQ0ICRzaGExIDMJb2xkIgorCSkgfCBnaXQgdXBkYXRlLWluZGV4IC0taW5kZXgtaW5mbyAmJgorCT5vbGQgJiYKKwlnaXQgbHMtZmlsZXMgLXMgJiYKKwlnaXQgY2hlY2tvdXQgLWYgSEVBRCAmJgorCWdpdCBscy1maWxlcyAtcyA+YWN0dWFsICYmCisJISB0ZXN0IC1mIG9sZAogJwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDEwMDYtY2F0LWZpbGUuc2ggYi90L3QxMDA2LWNhdC1maWxlLnNoCmluZGV4IDRlOTExZmIuLmE3MmU3MDAgMTAwNzU1Ci0tLSBhL3QvdDEwMDYtY2F0LWZpbGUuc2gKKysrIGIvdC90MTAwNi1jYXQtZmlsZS5zaApAQCAtNzgsNiArNzgsMzUgQEAKIAllY2hvICRzaGExIHwgZ2l0IGNhdC1maWxlIC0tYmF0Y2gtY2hlY2s9IiUob2JqZWN0dHlwZSkgJShvYmplY3RuYW1lKSIgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICAgICAnCisKKyAgICB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLWJhdGNoLWNoZWNrIHdpdGggJShyZXN0KScgJworCWVjaG8gIiR0eXBlIHRoaXMgaXMgc29tZSBleHRyYSBjb250ZW50IiA+ZXhwZWN0ICYmCisJZWNobyAiJHNoYTEgICAgdGhpcyBpcyBzb21lIGV4dHJhIGNvbnRlbnQiIHwKKwkJZ2l0IGNhdC1maWxlIC0tYmF0Y2gtY2hlY2s9IiUob2JqZWN0dHlwZSkgJShyZXN0KSIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKyAgICAnCisKKyAgICB0ZXN0IC16ICIkY29udGVudCIgfHwKKyAgICB0ZXN0X2V4cGVjdF9zdWNjZXNzICItLWJhdGNoIHdpdGhvdXQgdHlwZSAoJHR5cGUpIiAnCisJeworCQllY2hvICIkc2l6ZSIgJiYKKwkJbWF5YmVfcmVtb3ZlX3RpbWVzdGFtcCAiJGNvbnRlbnQiICRub190cworCX0gPmV4cGVjdCAmJgorCWVjaG8gJHNoYTEgfCBnaXQgY2F0LWZpbGUgLS1iYXRjaD0iJShvYmplY3RzaXplKSIgPmFjdHVhbC5mdWxsICYmCisJbWF5YmVfcmVtb3ZlX3RpbWVzdGFtcCAiJChjYXQgYWN0dWFsLmZ1bGwpIiAkbm9fdHMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKyAgICAnCisKKyAgICB0ZXN0IC16ICIkY29udGVudCIgfHwKKyAgICB0ZXN0X2V4cGVjdF9zdWNjZXNzICItLWJhdGNoIHdpdGhvdXQgc2l6ZSAoJHR5cGUpIiAnCisJeworCQllY2hvICIkdHlwZSIgJiYKKwkJbWF5YmVfcmVtb3ZlX3RpbWVzdGFtcCAiJGNvbnRlbnQiICRub190cworCX0gPmV4cGVjdCAmJgorCWVjaG8gJHNoYTEgfCBnaXQgY2F0LWZpbGUgLS1iYXRjaD0iJShvYmplY3R0eXBlKSIgPmFjdHVhbC5mdWxsICYmCisJbWF5YmVfcmVtb3ZlX3RpbWVzdGFtcCAiJChjYXQgYWN0dWFsLmZ1bGwpIiAkbm9fdHMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKyAgICAnCiB9CiAKIGhlbGxvX2NvbnRlbnQ9IkhlbGxvIFdvcmxkIgpAQCAtOTEsNiArMTIwLDE0IEBACiAKIHJ1bl90ZXN0cyAnYmxvYicgJGhlbGxvX3NoYTEgJGhlbGxvX3NpemUgIiRoZWxsb19jb250ZW50IiAiJGhlbGxvX2NvbnRlbnQiCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tYmF0Y2gtY2hlY2sgd2l0aG91dCAlKHJlc3QpIGNvbnNpZGVycyB3aG9sZSBsaW5lJyAnCisJZWNobyAiJGhlbGxvX3NoYTEgYmxvYiAkaGVsbG9fc2l6ZSIgPmV4cGVjdCAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgLS1jYWNoZWluZm8gMTAwNjQ0ICRoZWxsb19zaGExICJ3aGl0ZSBzcGFjZSIgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCB1cGRhdGUtaW5kZXggLS1yZW1vdmUgXCJ3aGl0ZSBzcGFjZVwiIiAmJgorCWVjaG8gIjp3aGl0ZSBzcGFjZSIgfCBnaXQgY2F0LWZpbGUgLS1iYXRjaC1jaGVjayA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0cmVlX3NoYTE9JChnaXQgd3JpdGUtdHJlZSkKIHRyZWVfc2l6ZT0zMwogdHJlZV9wcmV0dHlfY29udGVudD0iMTAwNjQ0IGJsb2IgJGhlbGxvX3NoYTEJaGVsbG8iCkBAIC0xNzksNiArMjE2LDEyIEBACiAgICAgdGVzdCAiIG1pc3NpbmciID0gIiQoZWNobyB8IGdpdCBjYXQtZmlsZSAtLWJhdGNoLWNoZWNrKSIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZW1wdHkgLS1iYXRjaC1jaGVjayBub3RpY2VzIG1pc3Npbmcgb2JqZWN0JyAnCisJZWNobyAiJF96NDAgbWlzc2luZyIgPmV4cGVjdCAmJgorCWVjaG8gIiRfejQwIiB8IGdpdCBjYXQtZmlsZSAtLWJhdGNoLWNoZWNrPSIiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIGJhdGNoX2lucHV0PSIkaGVsbG9fc2hhMQogJGNvbW1pdF9zaGExCiAkdGFnX3NoYTEKQEAgLTIxOSw0ICsyNjIsMzggQEAKICAgICAiJChlY2hvX3dpdGhvdXRfbmV3bGluZSAiJGJhdGNoX2NoZWNrX2lucHV0IiB8IGdpdCBjYXQtZmlsZSAtLWJhdGNoLWNoZWNrKSIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgYmxvYnMgd2hpY2ggYXJlIGxpa2VseSB0byBkZWx0YScgJworCXRlc3QtZ2VucmFuZG9tIGZvbyAxMDI0MCA+Zm9vICYmCisJeyBjYXQgZm9vOyBlY2hvIHBsdXM7IH0gPmZvby1wbHVzICYmCisJZ2l0IGFkZCBmb28gZm9vLXBsdXMgJiYKKwlnaXQgY29tbWl0IC1tIGZvbyAmJgorCWNhdCA+YmxvYnMgPDwtXEVPRgorCUhFQUQ6Zm9vCisJSEVBRDpmb28tcGx1cworCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb25maXJtIHRoYXQgbmVpdGhlciBsb29zZSBibG9iIGlzIGEgZGVsdGEnICcKKwljYXQgPmV4cGVjdCA8PC1FT0YKKwkkX3o0MAorCSRfejQwCisJRU9GCisJZ2l0IGNhdC1maWxlIC0tYmF0Y2gtY2hlY2s9IiUoZGVsdGFiYXNlKSIgPGJsb2JzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKKyMgVG8gYXZvaWQgcmVseWluZyB0b28gbXVjaCBvbiB0aGUgY3VycmVudCBkZWx0YSBoZXVyaXN0aWNzLAorIyB3ZSB3aWxsIGNoZWNrIG9ubHkgdGhhdCBvbmUgb2YgdGhlIHR3byBvYmplY3RzIGlzIGEgZGVsdGEKKyMgYWdhaW5zdCB0aGUgb3RoZXIsIGJ1dCBub3QgdGhlIG9yZGVyLiBXZSBjYW4gZG8gc28gYnkganVzdAorIyBhc2tpbmcgZm9yIHRoZSBiYXNlIG9mIGJvdGgsIGFuZCBjaGVja2luZyB3aGV0aGVyIGVpdGhlcgorIyBzaGExIGFwcGVhcnMgaW4gdGhlIG91dHB1dC4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyUoZGVsdGFiYXNlKSByZXBvcnRzIHBhY2tlZCBkZWx0YSBiYXNlcycgJworCWdpdCByZXBhY2sgLWFkICYmCisJZ2l0IGNhdC1maWxlIC0tYmF0Y2gtY2hlY2s9IiUoZGVsdGFiYXNlKSIgPGJsb2JzID5hY3R1YWwgJiYKKwl7CisJCWdyZXAgIiQoZ2l0IHJldi1wYXJzZSBIRUFEOmZvbykiIGFjdHVhbCB8fAorCQlncmVwICIkKGdpdCByZXYtcGFyc2UgSEVBRDpmb28tcGx1cykiIGFjdHVhbAorCX0KKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxMDEwLW1rdHJlZS5zaCBiL3QvdDEwMTAtbWt0cmVlLnNoCmluZGV4IGRmNTczYzQuLmI5NDZmODcgMTAwNzU1Ci0tLSBhL3QvdDEwMTAtbWt0cmVlLnNoCisrKyBiL3QvdDEwMTAtbWt0cmVlLnNoCkBAIC00MiwxMyArNDIsMTMgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbHMtdHJlZSBvdXRwdXQgaW4gd3Jvbmcgb3JkZXIgZ2l2ZW4gdG8gbWt0cmVlICgxKScgJwotCSIkUEVSTF9QQVRIIiAtZSAicHJpbnQgcmV2ZXJzZSA8PiIgPHRvcCB8CisJcGVybCAtZSAicHJpbnQgcmV2ZXJzZSA8PiIgPHRvcCB8CiAJZ2l0IG1rdHJlZSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgdHJlZSBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbHMtdHJlZSBvdXRwdXQgaW4gd3Jvbmcgb3JkZXIgZ2l2ZW4gdG8gbWt0cmVlICgyKScgJwotCSIkUEVSTF9QQVRIIiAtZSAicHJpbnQgcmV2ZXJzZSA8PiIgPHRvcC53aXRoc3ViIHwKKwlwZXJsIC1lICJwcmludCByZXZlcnNlIDw+IiA8dG9wLndpdGhzdWIgfAogCWdpdCBta3RyZWUgPmFjdHVhbCAmJgogCXRlc3RfY21wIHRyZWUud2l0aHN1YiBhY3R1YWwKICcKZGlmZiAtLWdpdCBhL3QvdDEwMTMtbG9vc2Utb2JqZWN0LWZvcm1hdC5zaCBiL3QvdDEwMTMtbG9vc2Utb2JqZWN0LWZvcm1hdC5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggZmJmNWYyZi4uMDAwMDAwMAotLS0gYS90L3QxMDEzLWxvb3NlLW9iamVjdC1mb3JtYXQuc2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi0jIS9iaW4vc2gKLSMKLSMgQ29weXJpZ2h0IChjKSAyMDExIFJvYmVydG8gVHlsZXkKLSMKLQotdGVzdF9kZXNjcmlwdGlvbj0nQ29ycmVjdGx5IGlkZW50aWZ5IGFuZCBwYXJzZSBsb29zZSBvYmplY3QgaGVhZGVycwotCi1UaGVyZSBhcmUgdHdvIGZpbGUgZm9ybWF0cyBmb3IgbG9vc2Ugb2JqZWN0cyAtIHRoZSBvcmlnaW5hbCBzdGFuZGFyZAotZm9ybWF0LCBhbmQgdGhlIGV4cGVyaW1lbnRhbCBmb3JtYXQgaW50cm9kdWNlZCB3aXRoIEdpdCB2MS40LjMsIGxhdGVyCi1kZXByZWNhdGVkIHdpdGggdjEuNS4zLiBBbHRob3VnaCBHaXQgbm8gbG9uZ2VyIHdyaXRlcyB0aGUKLWV4cGVyaW1lbnRhbCBmb3JtYXQsIG9iamVjdHMgaW4gYm90aCBmb3JtYXRzIG11c3QgYmUgcmVhZCwgd2l0aCB0aGUKLWZvcm1hdCBmb3IgYSBnaXZlbiBmaWxlIGJlaW5nIGRldGVybWluZWQgYnkgdGhlIGhlYWRlci4KLQotRGV0ZWN0aW5nIGZpbGUgZm9ybWF0IGJhc2VkIG9uIGhlYWRlciBpcyBub3QgZW50aXJlbHkgdHJpdmlhbCwgbm90Ci1sZWFzdCBiZWNhdXNlIHRoZSBmaXJzdCBieXRlIG9mIGEgemxpYi1kZWZsYXRlZCBzdHJlYW0gd2lsbCB2YXJ5Ci1kZXBlbmRpbmcgb24gaG93IG11Y2ggbWVtb3J5IHdhcyBhbGxvY2F0ZWQgZm9yIHRoZSBkZWZsYXRpb24gd2luZG93Ci1idWZmZXIgd2hlbiB0aGUgb2JqZWN0IHdhcyB3cml0dGVuIG91dCAoZm9yIGV4YW1wbGUgNEtCIG9uIEFuZHJvaWQsCi1yYXRoZXIgdGhhdCAzMktCIG9uIGEgbm9ybWFsIFBDKS4KLQotVGhlIGxvb3NlIG9iamVjdHMgdXNlZCBhcyB0ZXN0IHZlY3RvcnMgaGF2ZSBiZWVuIGdlbmVyYXRlZCB3aXRoIHRoZQotZm9sbG93aW5nIEdpdCB2ZXJzaW9uczoKLQotc3RhbmRhcmQgZm9ybWF0OiBHaXQgdjEuNy40LjEKLWV4cGVyaW1lbnRhbCBmb3JtYXQ6IEdpdCB2MS40LjMgKGxlZ2FjeWhlYWRlcnM9ZmFsc2UpCi1zdGFuZGFyZCBmb3JtYXQsIGRlZmxhdGVkIHdpdGggNEtCIHdpbmRvdyBzaXplOiBBZ2l0L0pHaXQgb24gQW5kcm9pZAotJwotCi0uIC4vdGVzdC1saWIuc2gKLQotYXNzZXJ0X2Jsb2JfZXF1YWxzKCkgewotCXByaW50ZiAiJXMiICIkMiIgPmV4cGVjdGVkICYmCi0JZ2l0IGNhdC1maWxlIC1wICIkMSIgPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAotfQotCi10ZXN0X2V4cGVjdF9zdWNjZXNzIHNldHVwICcKLQljcCAtUiAiJFRFU1RfRElSRUNUT1JZL3QxMDEzL29iamVjdHMiIC5naXQvICYmCi0JZ2l0IC0tdmVyc2lvbgotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWFkIHN0YW5kYXJkLWZvcm1hdCBsb29zZSBvYmplY3RzJyAnCi0JZ2l0IGNhdC1maWxlIHRhZyA4ZDRlMzYwZDZjNzBmYmQ3MjQxMTk5MWMwMmEwOWM0NDJjZjdhOWZhICYmCi0JZ2l0IGNhdC1maWxlIGNvbW1pdCA2YmFlZTA1NDBlYTk5MGQ5NzYxYTNlYjlhYjE4MzAwM2E3MWMzNjk2ICYmCi0JZ2l0IGxzLXRyZWUgN2EzN2I4ODdhNzM3OTFkMTJkMjZjMGQzZTM5NTY4YThmYjBmYTZlOCAmJgotCWFzc2VydF9ibG9iX2VxdWFscyAiMjU3Y2M1NjQyY2IxYTA1NGYwOGNjODNmMmQ5NDNlNTZmZDNlYmU5OSIgImZvbyRMRiIKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVhZCBleHBlcmltZW50YWwtZm9ybWF0IGxvb3NlIG9iamVjdHMnICcKLQlnaXQgY2F0LWZpbGUgdGFnIDc2ZTdmYTk5NDFmNGQ1Zjk3ZjY0ZmVhNjVhMmNiYTQzNmJjNzljYmIgJiYKLQlnaXQgY2F0LWZpbGUgY29tbWl0IDc4NzVjNjIzN2QzZmNkZDBhYzJmMGRlY2M3ZDNmYTZhNTBiNjZjMDkgJiYKLQlnaXQgbHMtdHJlZSA5NWIxNjI1ZGUzYmE4YjIyMTRkMWUwZDA1OTExMzhhZWE3MzNmNjRmICYmCi0JYXNzZXJ0X2Jsb2JfZXF1YWxzICIyZTY1ZWZlMmExNDVkZGE3ZWU1MWQxNzQxMjk5Zjg0OGU1YmY3NTJlIiAiYSIgJiYKLQlhc3NlcnRfYmxvYl9lcXVhbHMgIjlhZTllODZiN2JkNmNiMTQ3MmQ5MzczNzAyZDgyNDk5NzNkYTA4MzIiICJhYiIgJiYKLQlhc3NlcnRfYmxvYl9lcXVhbHMgIjg1ZGY1MDc4NWQ2MmQzYjA1YWIwM2Q5Y2JmN2U0YTBiNDk0NDk3MzAiICJhYmNkIiAmJgotCWFzc2VydF9ibG9iX2VxdWFscyAiMTY1NmY5MjMzZDk5OWY2MWVmMjNlZjM5MGI5YzcxZDc1Mzk5ZjQzNSIgImFiY2RlZmdoIiAmJgotCWFzc2VydF9ibG9iX2VxdWFscyAiMWU3MmE2YjJjNGE1NzdhYjAzMzg4NjBmYTlmZTg3Zjc2MWZjOWJiZCIgImFiY2RlZmdoaSIgJiYKLQlhc3NlcnRfYmxvYl9lcXVhbHMgIjcwZTZhODNkOGRjYjI2ZmM4YmMwY2Y3MDJlMmRkZWI2YWRjYTE4ZmQiICJhYmNkZWZnaGlqa2xtbm9wIiAmJgotCWFzc2VydF9ibG9iX2VxdWFscyAiYmQxNTA0NWY2Y2U4ZmY3NTc0NzU2MjE3MzY0MDQ1NmEzOTQ0MTJjOCIgImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eCIKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVhZCBzdGFuZGFyZC1mb3JtYXQgb2JqZWN0cyBkZWZsYXRlZCB3aXRoIHNtYWxsZXIgd2luZG93IGJ1ZmZlcicgJwotCWdpdCBjYXQtZmlsZSB0YWcgZjgxNmQ1MjU1ODU1YWMxNjA2NTJlZTUyNTNiMDZjZDhlZTE0MTY1YSAmJgotCWdpdCBjYXQtZmlsZSB0YWcgMTQ5Y2VkYjVjNDY5MjlkMThlMGYxMThlOWZhMzE5Mjc0ODdhZjNiNgotJwotCi10ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDEwMTMvb2JqZWN0cy8xNC85Y2VkYjVjNDY5MjlkMThlMGYxMThlOWZhMzE5Mjc0ODdhZjNiNiBiL3QvdDEwMTMvb2JqZWN0cy8xNC85Y2VkYjVjNDY5MjlkMThlMGYxMThlOWZhMzE5Mjc0ODdhZjNiNgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDcyZmQxNC4uMDAwMDAwMAotLS0gYS90L3QxMDEzL29iamVjdHMvMTQvOWNlZGI1YzQ2OTI5ZDE4ZTBmMTE4ZTlmYTMxOTI3NDg3YWYzYjYKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90L3QxMDEzL29iamVjdHMvMTYvNTZmOTIzM2Q5OTlmNjFlZjIzZWYzOTBiOWM3MWQ3NTM5OWY0MzUgYi90L3QxMDEzL29iamVjdHMvMTYvNTZmOTIzM2Q5OTlmNjFlZjIzZWYzOTBiOWM3MWQ3NTM5OWY0MzUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzNzlkNzQuLjAwMDAwMDAKLS0tIGEvdC90MTAxMy9vYmplY3RzLzE2LzU2ZjkyMzNkOTk5ZjYxZWYyM2VmMzkwYjljNzFkNzUzOTlmNDM1CisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdC90MTAxMy9vYmplY3RzLzFlLzcyYTZiMmM0YTU3N2FiMDMzODg2MGZhOWZlODdmNzYxZmM5YmJkIGIvdC90MTAxMy9vYmplY3RzLzFlLzcyYTZiMmM0YTU3N2FiMDMzODg2MGZhOWZlODdmNzYxZmM5YmJkCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MzcwNjMwLi4wMDAwMDAwCi0tLSBhL3QvdDEwMTMvb2JqZWN0cy8xZS83MmE2YjJjNGE1NzdhYjAzMzg4NjBmYTlmZTg3Zjc2MWZjOWJiZAorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3QvdDEwMTMvb2JqZWN0cy8yNS83Y2M1NjQyY2IxYTA1NGYwOGNjODNmMmQ5NDNlNTZmZDNlYmU5OSBiL3QvdDEwMTMvb2JqZWN0cy8yNS83Y2M1NjQyY2IxYTA1NGYwOGNjODNmMmQ5NDNlNTZmZDNlYmU5OQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmRjZjcwNC4uMDAwMDAwMAotLS0gYS90L3QxMDEzL29iamVjdHMvMjUvN2NjNTY0MmNiMWEwNTRmMDhjYzgzZjJkOTQzZTU2ZmQzZWJlOTkKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90L3QxMDEzL29iamVjdHMvMmUvNjVlZmUyYTE0NWRkYTdlZTUxZDE3NDEyOTlmODQ4ZTViZjc1MmUgYi90L3QxMDEzL29iamVjdHMvMmUvNjVlZmUyYTE0NWRkYTdlZTUxZDE3NDEyOTlmODQ4ZTViZjc1MmUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFkNjJjNDMuLjAwMDAwMDAKLS0tIGEvdC90MTAxMy9vYmplY3RzLzJlLzY1ZWZlMmExNDVkZGE3ZWU1MWQxNzQxMjk5Zjg0OGU1YmY3NTJlCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdC90MTAxMy9vYmplY3RzLzZiL2FlZTA1NDBlYTk5MGQ5NzYxYTNlYjlhYjE4MzAwM2E3MWMzNjk2IGIvdC90MTAxMy9vYmplY3RzLzZiL2FlZTA1NDBlYTk5MGQ5NzYxYTNlYjlhYjE4MzAwM2E3MWMzNjk2CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZDJmMDMzLi4wMDAwMDAwCi0tLSBhL3QvdDEwMTMvb2JqZWN0cy82Yi9hZWUwNTQwZWE5OTBkOTc2MWEzZWI5YWIxODMwMDNhNzFjMzY5NgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3QvdDEwMTMvb2JqZWN0cy83MC9lNmE4M2Q4ZGNiMjZmYzhiYzBjZjcwMmUyZGRlYjZhZGNhMThmZCBiL3QvdDEwMTMvb2JqZWN0cy83MC9lNmE4M2Q4ZGNiMjZmYzhiYzBjZjcwMmUyZGRlYjZhZGNhMThmZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjNmNzFhNi4uMDAwMDAwMAotLS0gYS90L3QxMDEzL29iamVjdHMvNzAvZTZhODNkOGRjYjI2ZmM4YmMwY2Y3MDJlMmRkZWI2YWRjYTE4ZmQKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90L3QxMDEzL29iamVjdHMvNzYvZTdmYTk5NDFmNGQ1Zjk3ZjY0ZmVhNjVhMmNiYTQzNmJjNzljYmIgYi90L3QxMDEzL29iamVjdHMvNzYvZTdmYTk5NDFmNGQ1Zjk3ZjY0ZmVhNjVhMmNiYTQzNmJjNzljYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmNGU5YTcuLjAwMDAwMDAKLS0tIGEvdC90MTAxMy9vYmplY3RzLzc2L2U3ZmE5OTQxZjRkNWY5N2Y2NGZlYTY1YTJjYmE0MzZiYzc5Y2JiCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdC90MTAxMy9vYmplY3RzLzc4Lzc1YzYyMzdkM2ZjZGQwYWMyZjBkZWNjN2QzZmE2YTUwYjY2YzA5IGIvdC90MTAxMy9vYmplY3RzLzc4Lzc1YzYyMzdkM2ZjZGQwYWMyZjBkZWNjN2QzZmE2YTUwYjY2YzA5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZGQyOGJlLi4wMDAwMDAwCi0tLSBhL3QvdDEwMTMvb2JqZWN0cy83OC83NWM2MjM3ZDNmY2RkMGFjMmYwZGVjYzdkM2ZhNmE1MGI2NmMwOQorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3QvdDEwMTMvb2JqZWN0cy83YS8zN2I4ODdhNzM3OTFkMTJkMjZjMGQzZTM5NTY4YThmYjBmYTZlOCBiL3QvdDEwMTMvb2JqZWN0cy83YS8zN2I4ODdhNzM3OTFkMTJkMjZjMGQzZTM5NTY4YThmYjBmYTZlOApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmI5N2IyNi4uMDAwMDAwMAotLS0gYS90L3QxMDEzL29iamVjdHMvN2EvMzdiODg3YTczNzkxZDEyZDI2YzBkM2UzOTU2OGE4ZmIwZmE2ZTgKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90L3QxMDEzL29iamVjdHMvODUvZGY1MDc4NWQ2MmQzYjA1YWIwM2Q5Y2JmN2U0YTBiNDk0NDk3MzAgYi90L3QxMDEzL29iamVjdHMvODUvZGY1MDc4NWQ2MmQzYjA1YWIwM2Q5Y2JmN2U0YTBiNDk0NDk3MzAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkZmY3NDYuLjAwMDAwMDAKLS0tIGEvdC90MTAxMy9vYmplY3RzLzg1L2RmNTA3ODVkNjJkM2IwNWFiMDNkOWNiZjdlNGEwYjQ5NDQ5NzMwCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdC90MTAxMy9vYmplY3RzLzhkLzRlMzYwZDZjNzBmYmQ3MjQxMTk5MWMwMmEwOWM0NDJjZjdhOWZhIGIvdC90MTAxMy9vYmplY3RzLzhkLzRlMzYwZDZjNzBmYmQ3MjQxMTk5MWMwMmEwOWM0NDJjZjdhOWZhCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYjQxZTkyLi4wMDAwMDAwCi0tLSBhL3QvdDEwMTMvb2JqZWN0cy84ZC80ZTM2MGQ2YzcwZmJkNzI0MTE5OTFjMDJhMDljNDQyY2Y3YTlmYQorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3QvdDEwMTMvb2JqZWN0cy85NS9iMTYyNWRlM2JhOGIyMjE0ZDFlMGQwNTkxMTM4YWVhNzMzZjY0ZiBiL3QvdDEwMTMvb2JqZWN0cy85NS9iMTYyNWRlM2JhOGIyMjE0ZDFlMGQwNTkxMTM4YWVhNzMzZjY0ZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2FjNDZiNC4uMDAwMDAwMAotLS0gYS90L3QxMDEzL29iamVjdHMvOTUvYjE2MjVkZTNiYThiMjIxNGQxZTBkMDU5MTEzOGFlYTczM2Y2NGYKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90L3QxMDEzL29iamVjdHMvOWEvZTllODZiN2JkNmNiMTQ3MmQ5MzczNzAyZDgyNDk5NzNkYTA4MzIgYi90L3QxMDEzL29iamVjdHMvOWEvZTllODZiN2JkNmNiMTQ3MmQ5MzczNzAyZDgyNDk5NzNkYTA4MzIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlkODMxNmQuLjAwMDAwMDAKLS0tIGEvdC90MTAxMy9vYmplY3RzLzlhL2U5ZTg2YjdiZDZjYjE0NzJkOTM3MzcwMmQ4MjQ5OTczZGEwODMyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdC90MTAxMy9vYmplY3RzL2JkLzE1MDQ1ZjZjZThmZjc1NzQ3NTYyMTczNjQwNDU2YTM5NDQxMmM4IGIvdC90MTAxMy9vYmplY3RzL2JkLzE1MDQ1ZjZjZThmZjc1NzQ3NTYyMTczNjQwNDU2YTM5NDQxMmM4CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZWJmMjM5Li4wMDAwMDAwCi0tLSBhL3QvdDEwMTMvb2JqZWN0cy9iZC8xNTA0NWY2Y2U4ZmY3NTc0NzU2MjE3MzY0MDQ1NmEzOTQ0MTJjOAorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3QvdDEwMTMvb2JqZWN0cy9lNi85ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MSBiL3QvdDEwMTMvb2JqZWN0cy9lNi85ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTM0Y2YxOS4uMDAwMDAwMAotLS0gYS90L3QxMDEzL29iamVjdHMvZTYvOWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90L3QxMDEzL29iamVjdHMvZjgvMTZkNTI1NTg1NWFjMTYwNjUyZWU1MjUzYjA2Y2Q4ZWUxNDE2NWEgYi90L3QxMDEzL29iamVjdHMvZjgvMTZkNTI1NTg1NWFjMTYwNjUyZWU1MjUzYjA2Y2Q4ZWUxNDE2NWEKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2Yjc1YWUuLjAwMDAwMDAKLS0tIGEvdC90MTAxMy9vYmplY3RzL2Y4LzE2ZDUyNTU4NTVhYzE2MDY1MmVlNTI1M2IwNmNkOGVlMTQxNjVhCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdC90MTMwMC1yZXBvLWNvbmZpZy5zaCBiL3QvdDEzMDAtcmVwby1jb25maWcuc2gKaW5kZXggYzRhN2Q4NC4uOTY3MzU5MyAxMDA3NTUKLS0tIGEvdC90MTMwMC1yZXBvLWNvbmZpZy5zaAorKysgYi90L3QxMzAwLXJlcG8tY29uZmlnLnNoCkBAIC02NTIsMTYgKzY1MiwyMyBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1pbnQgaXMgYXQgbGVhc3QgNjQgYml0cycgJworCWdpdCBjb25maWcgZ2lnYS53YXR0cyAxMjFnICYmCisJZWNobyAxMjk5MjI3NjA3MDQgPmV4cGVjdCAmJgorCWdpdCBjb25maWcgLS1pbnQgLS1nZXQgZ2lnYS53YXR0cyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbnZhbGlkIHVuaXQnICcKIAlnaXQgY29uZmlnIGFuaW52YWxpZC51bml0ICIxYXV0byIgJiYKIAllY2hvIDFhdXRvID5leHBlY3QgJiYKIAlnaXQgY29uZmlnIGFuaW52YWxpZC51bml0ID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCi0JY2F0ID4gZXhwZWN0IDw8LVxFT0YKLQlmYXRhbDogYmFkIGNvbmZpZyB2YWx1ZSBmb3IgJ1wnJ2FuaW52YWxpZC51bml0J1wnJyBpbiAuZ2l0L2NvbmZpZworCWNhdCA+ZXhwZWN0IDw8LVxFT0YKKwlmYXRhbDogYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICdcJycxYXV0bydcJycgZm9yICdcJydhbmludmFsaWQudW5pdCdcJycgaW4gLmdpdC9jb25maWc6IGludmFsaWQgdW5pdAogCUVPRgogCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgLS1pbnQgLS1nZXQgYW5pbnZhbGlkLnVuaXQgMj5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBhY3R1YWwgZXhwZWN0CisJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKICcKIAogY2F0ID4gZXhwZWN0IDw8IEVPRgpAQCAtMTA4Nyw2ICsxMDk0LDMxIEBACiAJZ3JlcCAiIGxpbmUgMyAiIGVycm9yCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VybG1hdGNoJyAnCisJY2F0ID4uZ2l0L2NvbmZpZyA8PC1cRU9GICYmCisJW2h0dHBdCisJCXNzbFZlcmlmeQorCVtodHRwICJodHRwczovL3dlYWsuZXhhbXBsZS5jb20iXQorCQlzc2xWZXJpZnkgPSBmYWxzZQorCQljb29raWVGaWxlID0gL3RtcC9jb29raWUudHh0CisJRU9GCisKKwllY2hvIHRydWUgPmV4cGVjdCAmJgorCWdpdCBjb25maWcgLS1ib29sIC0tZ2V0LXVybG1hdGNoIGh0dHAuU1NMdmVyaWZ5IGh0dHBzOi8vZ29vZC5leGFtcGxlLmNvbSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJZWNobyBmYWxzZSA+ZXhwZWN0ICYmCisJZ2l0IGNvbmZpZyAtLWJvb2wgLS1nZXQtdXJsbWF0Y2ggaHR0cC5zc2x2ZXJpZnkgaHR0cHM6Ly93ZWFrLmV4YW1wbGUuY29tID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwl7CisJCWVjaG8gaHR0cC5jb29raWVmaWxlIC90bXAvY29va2llLnR4dCAmJgorCQllY2hvIGh0dHAuc3NsdmVyaWZ5IGZhbHNlCisJfSA+ZXhwZWN0ICYmCisJZ2l0IGNvbmZpZyAtLWdldC11cmxtYXRjaCBIVFRQIGh0dHBzOi8vd2Vhay5leGFtcGxlLmNvbSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiAjIGdvb2Qgc2VjdGlvbiBoeWdpZW5lCiB0ZXN0X2V4cGVjdF9mYWlsdXJlICd1bnNldHRpbmcgdGhlIGxhc3Qga2V5IGluIGEgc2VjdGlvbiByZW1vdmVzIGhlYWRlcicgJwogCWNhdCA+LmdpdC9jb25maWcgPDwtXEVPRiAmJgpkaWZmIC0tZ2l0IGEvdC90MTMwMy13YWNreS1jb25maWcuc2ggYi90L3QxMzAzLXdhY2t5LWNvbmZpZy5zaAppbmRleCA0NjEwM2ExLi4zYTJjODE5IDEwMDc1NQotLS0gYS90L3QxMzAzLXdhY2t5LWNvbmZpZy5zaAorKysgYi90L3QxMzAzLXdhY2t5LWNvbmZpZy5zaApAQCAtMywxNyArMywyOCBAQAogdGVzdF9kZXNjcmlwdGlvbj0nVGVzdCB3YWNreSBpbnB1dCB0byBnaXQgY29uZmlnJwogLiAuL3Rlc3QtbGliLnNoCiAKKyMgTGVhdmluZyBvZmYgdGhlIG5ld2xpbmUgaXMgaW50ZW50aW9uYWwhCiBzZXR1cCgpIHsKIAkocHJpbnRmICJbc2VjdGlvbl1cbiIgJiYKIAlwcmludGYgIiAga2V5ID0gZm9vIikgPi5naXQvY29uZmlnCiB9CiAKKyMgJ2NoZWNrIHNlY3Rpb24ua2V5IHZhbHVlJyB2ZXJpZmllcyB0aGF0IHRoZSBlbnRyeSBmb3Igc2VjdGlvbi5rZXkgaXMKKyMgJ3ZhbHVlJwogY2hlY2soKSB7CiAJZWNobyAiJDIiID5leHBlY3RlZAogCWdpdCBjb25maWcgLS1nZXQgIiQxIiA+YWN0dWFsIDI+JjEKIAl0ZXN0X2NtcCBhY3R1YWwgZXhwZWN0ZWQKIH0KIAorIyAnY2hlY2sgc2VjdGlvbi5rZXkgcmVnZXggdmFsdWUnIHZlcmlmaWVzIHRoYXQgdGhlIGVudHJ5IGZvcgorIyBzZWN0aW9uLmtleSAqdGhhdCBtYXRjaGVzICdyZWdleCcqIGlzICd2YWx1ZScKK2NoZWNrX3JlZ2V4KCkgeworCWVjaG8gIiQzIiA+ZXhwZWN0ZWQKKwlnaXQgY29uZmlnIC0tZ2V0ICIkMSIgIiQyIiA+YWN0dWFsIDI+JjEKKwl0ZXN0X2NtcCBhY3R1YWwgZXhwZWN0ZWQKK30KKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbW9kaWZ5IHNhbWUga2V5JyAnCiAJc2V0dXAgJiYKIAlnaXQgY29uZmlnIHNlY3Rpb24ua2V5IGJhciAmJgpAQCAtNDcsNCArNTgsNTcgQEAKIAljaGVjayBzZWN0aW9uLmtleSAiJExPTkdfVkFMVUUiCiAnCiAKK3NldHVwX21hbnkoKSB7CisJc2V0dXAgJiYKKwkjIFRoaXMgdGltZSB3ZSB3YW50IHRoZSBuZXdsaW5lIHNvIHRoYXQgd2UgY2FuIHRhY2sgb24gbW9yZQorCSMgZW50cmllcy4KKwllY2hvID4+LmdpdC9jb25maWcgJiYKKwkjIFNlbWktZWZmaWNpZW50IHdheSBvZiBjb25jYXRlbmF0aW5nIDVeNSA9IDMxMjUgbGluZXMuIE5vdGUKKwkjIHRoYXQgYmVjYXVzZSAnc2V0dXAnIGFscmVhZHkgcHV0IG9uZSBsaW5lLCB0aGlzIG1lYW5zIDMxMjYKKwkjIGVudHJpZXMgZm9yIHNlY3Rpb24ua2V5IGluIHRoZSBjb25maWcgZmlsZS4KKwljYXQgPjV0bzEgPDwtXEVPRiAmJgorCSAga2V5ID0gZm9vCisJICBrZXkgPSBmb28KKwkgIGtleSA9IGZvbworCSAga2V5ID0gZm9vCisJICBrZXkgPSBmb28KKwlFT0YKKwljYXQgNXRvMSA1dG8xIDV0bzEgNXRvMSA1dG8xID41dG8yICYmCSAgICMgMjUKKwljYXQgNXRvMiA1dG8yIDV0bzIgNXRvMiA1dG8yID41dG8zICYmCSAgICMgMTI1CisJY2F0IDV0bzMgNXRvMyA1dG8zIDV0bzMgNXRvMyA+NXRvNCAmJgkgICAjIDYzNQorCWNhdCA1dG80IDV0bzQgNXRvNCA1dG80IDV0bzQgPj4uZ2l0L2NvbmZpZyAjIDMxMjUKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2V0IG1hbnkgZW50cmllcycgJworCXNldHVwX21hbnkgJiYKKwlnaXQgY29uZmlnIC0tZ2V0LWFsbCBzZWN0aW9uLmtleSA+YWN0dWFsICYmCisJdGVzdF9saW5lX2NvdW50ID0gMzEyNiBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2V0IG1hbnkgZW50cmllcyBieSByZWdleCcgJworCXNldHVwX21hbnkgJiYKKwlnaXQgY29uZmlnIC0tZ2V0LXJlZ2V4cCAic2VjLiprZS4iID5hY3R1YWwgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAzMTI2IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhZGQgYW5kIHJlcGxhY2Ugb25lIG9mIG1hbnkgZW50cmllcycgJworCXNldHVwX21hbnkgJiYKKwlnaXQgY29uZmlnIC0tYWRkIHNlY3Rpb24ua2V5IGJhciAmJgorCWNoZWNrX3JlZ2V4IHNlY3Rpb24ua2V5ICJiLipyIiBiYXIgJiYKKwlnaXQgY29uZmlnIHNlY3Rpb24ua2V5IGJlZXIgImIuKnIiICYmCisJY2hlY2tfcmVnZXggc2VjdGlvbi5rZXkgImIuKnIiIGJlZXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVwbGFjZSBtYW55IGVudHJpZXMnICcKKwlzZXR1cF9tYW55ICYmCisJZ2l0IGNvbmZpZyAtLXJlcGxhY2UtYWxsIHNlY3Rpb24ua2V5IGJhciAmJgorCWNoZWNrIHNlY3Rpb24ua2V5IGJhcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd1bnNldCBtYW55IGVudHJpZXMnICcKKwlzZXR1cF9tYW55ICYmCisJZ2l0IGNvbmZpZyAtLXVuc2V0LWFsbCBzZWN0aW9uLmtleSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgc2VjdGlvbi5rZXkKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxNDAwLXVwZGF0ZS1yZWYuc2ggYi90L3QxNDAwLXVwZGF0ZS1yZWYuc2gKaW5kZXggZTQxNWVlMC4uNmZmZDgyZiAxMDA3NTUKLS0tIGEvdC90MTQwMC11cGRhdGUtcmVmLnNoCisrKyBiL3QvdDE0MDAtdXBkYXRlLXJlZi5zaApAQCAtMzAyLDQgKzMwMiw2MzYgQEAKIAknZ2l0IGNhdC1maWxlIGJsb2IgbWFzdGVyQHsyMDA1LTA1LTI2IDIzOjQyfTpGIChleHBlY3QgT1RIRVIpJyBcCiAJJ3Rlc3QgT1RIRVIgPSAkKGdpdCBjYXQtZmlsZSBibG9iICJtYXN0ZXJAezIwMDUtMDUtMjYgMjM6NDJ9OkYiKScKIAorYT1yZWZzL2hlYWRzL2EKK2I9cmVmcy9oZWFkcy9iCitjPXJlZnMvaGVhZHMvYworRT0nIiInCitGPSclc1wwJworcHdzPSdwYXRoIHdpdGggc3BhY2UnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIHRlc3Qgc2V0dXAnICcKKwllY2hvICIkcHdzIiA+IiRwd3MiICYmCisJZ2l0IGFkZCAtLSAiJHB3cyIgJiYKKwlnaXQgY29tbWl0IC1tICIkcHdzIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcteiBmYWlscyB3aXRob3V0IC0tc3RkaW4nICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAkbSAkbSAkbSAyPmVyciAmJgorCWdyZXAgInVzYWdlOiBnaXQgdXBkYXRlLXJlZiIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIHdvcmtzIHdpdGggbm8gaW5wdXQnICcKKwk+c3RkaW4gJiYKKwlnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAmJgorCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLXEgJG0KKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZmFpbHMgb24gZW1wdHkgbGluZScgJworCWVjaG8gIiIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogZW1wdHkgY29tbWFuZCBpbiBpbnB1dCIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIGZhaWxzIG9uIG9ubHkgd2hpdGVzcGFjZScgJworCWVjaG8gIiAiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IHdoaXRlc3BhY2UgYmVmb3JlIGNvbW1hbmQ6ICAiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBmYWlscyBvbiBsZWFkaW5nIHdoaXRlc3BhY2UnICcKKwllY2hvICIgY3JlYXRlICRhICRtIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiB3aGl0ZXNwYWNlIGJlZm9yZSBjb21tYW5kOiAgY3JlYXRlICRhICRtIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZmFpbHMgb24gdW5rbm93biBjb21tYW5kJyAnCisJZWNobyAidW5rbm93biAkYSIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogdW5rbm93biBjb21tYW5kOiB1bmtub3duICRhIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZmFpbHMgb24gYmFkbHkgcXVvdGVkIGlucHV0JyAnCisJZWNobyAiY3JlYXRlICRhIFwibWFzdGVyIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBiYWRseSBxdW90ZWQgYXJndW1lbnQ6IFxcXCJtYXN0ZXIiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBmYWlscyBvbiBhcmd1bWVudHMgbm90IHNlcGFyYXRlZCBieSBzcGFjZScgJworCWVjaG8gImNyZWF0ZSBcIiRhXCJtYXN0ZXIiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGV4cGVjdGVkIFNQIGJ1dCBnb3Q6IG1hc3RlciIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIGZhaWxzIGNyZWF0ZSB3aXRoIG5vIHJlZicgJworCWVjaG8gImNyZWF0ZSAiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGNyZWF0ZSBsaW5lIG1pc3NpbmcgPHJlZj4iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBmYWlscyBjcmVhdGUgd2l0aCBiYWQgcmVmIG5hbWUnICcKKwllY2hvICJjcmVhdGUgfmEgJG0iID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGludmFsaWQgcmVmIGZvcm1hdDogfmEiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBmYWlscyBjcmVhdGUgd2l0aCBubyBuZXcgdmFsdWUnICcKKwllY2hvICJjcmVhdGUgJGEiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGNyZWF0ZSAkYSBtaXNzaW5nIDxuZXd2YWx1ZT4iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBmYWlscyBjcmVhdGUgd2l0aCB0b28gbWFueSBhcmd1bWVudHMnICcKKwllY2hvICJjcmVhdGUgJGEgJG0gJG0iID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGNyZWF0ZSAkYSBoYXMgZXh0cmEgaW5wdXQ6ICAkbSIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIGZhaWxzIHVwZGF0ZSB3aXRoIG5vIHJlZicgJworCWVjaG8gInVwZGF0ZSAiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IHVwZGF0ZSBsaW5lIG1pc3NpbmcgPHJlZj4iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBmYWlscyB1cGRhdGUgd2l0aCBiYWQgcmVmIG5hbWUnICcKKwllY2hvICJ1cGRhdGUgfmEgJG0iID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGludmFsaWQgcmVmIGZvcm1hdDogfmEiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBmYWlscyB1cGRhdGUgd2l0aCBubyBuZXcgdmFsdWUnICcKKwllY2hvICJ1cGRhdGUgJGEiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IHVwZGF0ZSAkYSBtaXNzaW5nIDxuZXd2YWx1ZT4iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBmYWlscyB1cGRhdGUgd2l0aCB0b28gbWFueSBhcmd1bWVudHMnICcKKwllY2hvICJ1cGRhdGUgJGEgJG0gJG0gJG0iID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IHVwZGF0ZSAkYSBoYXMgZXh0cmEgaW5wdXQ6ICAkbSIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIGZhaWxzIGRlbGV0ZSB3aXRoIG5vIHJlZicgJworCWVjaG8gImRlbGV0ZSAiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGRlbGV0ZSBsaW5lIG1pc3NpbmcgPHJlZj4iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBmYWlscyBkZWxldGUgd2l0aCBiYWQgcmVmIG5hbWUnICcKKwllY2hvICJkZWxldGUgfmEgJG0iID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGludmFsaWQgcmVmIGZvcm1hdDogfmEiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBmYWlscyBkZWxldGUgd2l0aCB0b28gbWFueSBhcmd1bWVudHMnICcKKwllY2hvICJkZWxldGUgJGEgJG0gJG0iID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGRlbGV0ZSAkYSBoYXMgZXh0cmEgaW5wdXQ6ICAkbSIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIGZhaWxzIHZlcmlmeSB3aXRoIHRvbyBtYW55IGFyZ3VtZW50cycgJworCWVjaG8gInZlcmlmeSAkYSAkbSAkbSIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogdmVyaWZ5ICRhIGhhcyBleHRyYSBpbnB1dDogICRtIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZmFpbHMgb3B0aW9uIHdpdGggdW5rbm93biBuYW1lJyAnCisJZWNobyAib3B0aW9uIHVua25vd24iID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IG9wdGlvbiB1bmtub3duOiB1bmtub3duIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZmFpbHMgd2l0aCBkdXBsaWNhdGUgcmVmcycgJworCWNhdCA+c3RkaW4gPDwtRU9GICYmCisJY3JlYXRlICRhICRtCisJY3JlYXRlICRiICRtCisJY3JlYXRlICRhICRtCisJRU9GCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogTXVsdGlwbGUgdXBkYXRlcyBmb3IgcmVmICciJyInJGEnIiciJyBub3QgYWxsb3dlZC4iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBjcmVhdGUgcmVmIHdvcmtzJyAnCisJZWNobyAiY3JlYXRlICRhICRtIiA+c3RkaW4gJiYKKwlnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAmJgorCWdpdCByZXYtcGFyc2UgJG0gPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgJGEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gdXBkYXRlIHJlZiBjcmVhdGVzIHdpdGggemVybyBvbGQgdmFsdWUnICcKKwllY2hvICJ1cGRhdGUgJGIgJG0gJFoiID5zdGRpbiAmJgorCWdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluICYmCisJZ2l0IHJldi1wYXJzZSAkbSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCB1cGRhdGUtcmVmIC1kICRiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIHVwZGF0ZSByZWYgY3JlYXRlcyB3aXRoIGVtcHR5IG9sZCB2YWx1ZScgJworCWVjaG8gInVwZGF0ZSAkYiAkbSAkRSIgPnN0ZGluICYmCisJZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gJiYKKwlnaXQgcmV2LXBhcnNlICRtID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlICRiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIGNyZWF0ZSByZWYgd29ya3Mgd2l0aCBwYXRoIHdpdGggc3BhY2UgdG8gYmxvYicgJworCWVjaG8gImNyZWF0ZSByZWZzL2Jsb2JzL3B3cyBcIiRtOiRwd3NcIiIgPnN0ZGluICYmCisJZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gJiYKKwlnaXQgcmV2LXBhcnNlICIkbTokcHdzIiA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSByZWZzL2Jsb2JzL3B3cyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCB1cGRhdGUtcmVmIC1kIHJlZnMvYmxvYnMvcHdzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIHVwZGF0ZSByZWYgZmFpbHMgd2l0aCB3cm9uZyBvbGQgdmFsdWUnICcKKwllY2hvICJ1cGRhdGUgJGMgJG0gJG1+MSIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogQ2Fubm90IGxvY2sgdGhlIHJlZiAnIiciJyRjJyInIiciIGVyciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLXEgJGMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gdXBkYXRlIHJlZiBmYWlscyB3aXRoIGJhZCBvbGQgdmFsdWUnICcKKwllY2hvICJ1cGRhdGUgJGMgJG0gZG9lcy1ub3QtZXhpc3QiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGludmFsaWQgb2xkIHZhbHVlIGZvciByZWYgJGM6IGRvZXMtbm90LWV4aXN0IiBlcnIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xICRjCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIGNyZWF0ZSByZWYgZmFpbHMgd2l0aCBiYWQgbmV3IHZhbHVlJyAnCisJZWNobyAiY3JlYXRlICRjIGRvZXMtbm90LWV4aXN0IiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBpbnZhbGlkIG5ldyB2YWx1ZSBmb3IgcmVmICRjOiBkb2VzLW5vdC1leGlzdCIgZXJyICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtcSAkYworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBjcmVhdGUgcmVmIGZhaWxzIHdpdGggemVybyBuZXcgdmFsdWUnICcKKwllY2hvICJjcmVhdGUgJGMgIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBjcmVhdGUgJGMgZ2l2ZW4gemVybyBuZXcgdmFsdWUiIGVyciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLXEgJGMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gdXBkYXRlIHJlZiB3b3JrcyB3aXRoIHJpZ2h0IG9sZCB2YWx1ZScgJworCWVjaG8gInVwZGF0ZSAkYiAkbX4xICRtIiA+c3RkaW4gJiYKKwlnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAmJgorCWdpdCByZXYtcGFyc2UgJG1+MSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBkZWxldGUgcmVmIGZhaWxzIHdpdGggd3Jvbmcgb2xkIHZhbHVlJyAnCisJZWNobyAiZGVsZXRlICRhICRtfjEiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IENhbm5vdCBsb2NrIHRoZSByZWYgJyInIickYSciJyInIiBlcnIgJiYKKwlnaXQgcmV2LXBhcnNlICRtID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlICRhID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIGRlbGV0ZSByZWYgZmFpbHMgd2l0aCB6ZXJvIG9sZCB2YWx1ZScgJworCWVjaG8gImRlbGV0ZSAkYSAiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGRlbGV0ZSAkYSBnaXZlbiB6ZXJvIG9sZCB2YWx1ZSIgZXJyICYmCisJZ2l0IHJldi1wYXJzZSAkbSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiB1cGRhdGUgc3ltcmVmIHdvcmtzIG9wdGlvbiBuby1kZXJlZicgJworCWdpdCBzeW1ib2xpYy1yZWYgVEVTVFNZTVJFRiAkYiAmJgorCWNhdCA+c3RkaW4gPDwtRU9GICYmCisJb3B0aW9uIG5vLWRlcmVmCisJdXBkYXRlIFRFU1RTWU1SRUYgJGEgJGIKKwlFT0YKKwlnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAmJgorCWdpdCByZXYtcGFyc2UgVEVTVFNZTVJFRiA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCByZXYtcGFyc2UgJG1+MSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBkZWxldGUgc3ltcmVmIHdvcmtzIG9wdGlvbiBuby1kZXJlZicgJworCWdpdCBzeW1ib2xpYy1yZWYgVEVTVFNZTVJFRiAkYiAmJgorCWNhdCA+c3RkaW4gPDwtRU9GICYmCisJb3B0aW9uIG5vLWRlcmVmCisJZGVsZXRlIFRFU1RTWU1SRUYgJGIKKwlFT0YKKwlnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLXEgVEVTVFNZTVJFRiAmJgorCWdpdCByZXYtcGFyc2UgJG1+MSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBkZWxldGUgcmVmIHdvcmtzIHdpdGggcmlnaHQgb2xkIHZhbHVlJyAnCisJZWNobyAiZGVsZXRlICRiICRtfjEiID5zdGRpbiAmJgorCWdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtcSAkYgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiB1cGRhdGUvY3JlYXRlL3ZlcmlmeSBjb21iaW5hdGlvbiB3b3JrcycgJworCWNhdCA+c3RkaW4gPDwtRU9GICYmCisJdXBkYXRlICRhICRtCisJY3JlYXRlICRiICRtCisJdmVyaWZ5ICRjCisJRU9GCisJZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gJiYKKwlnaXQgcmV2LXBhcnNlICRtID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlICRhID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IHJldi1wYXJzZSAkYiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLXEgJGMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gdXBkYXRlIHJlZnMgd29ya3Mgd2l0aCBpZGVudGl0eSB1cGRhdGVzJyAnCisJY2F0ID5zdGRpbiA8PC1FT0YgJiYKKwl1cGRhdGUgJGEgJG0gJG0KKwl1cGRhdGUgJGIgJG0gJG0KKwl1cGRhdGUgJGMgJFogJEUKKwlFT0YKKwlnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAmJgorCWdpdCByZXYtcGFyc2UgJG0gPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgJGEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgcmV2LXBhcnNlICRiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtcSAkYworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiB1cGRhdGUgcmVmcyBmYWlscyB3aXRoIHdyb25nIG9sZCB2YWx1ZScgJworCWdpdCB1cGRhdGUtcmVmICRjICRtICYmCisJY2F0ID5zdGRpbiA8PC1FT0YgJiYKKwl1cGRhdGUgJGEgJG0gJG0KKwl1cGRhdGUgJGIgJG0gJG0KKwl1cGRhdGUgJGMgICcnCisJRU9GCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogQ2Fubm90IGxvY2sgdGhlIHJlZiAnIiciJyRjJyInIiciIGVyciAmJgorCWdpdCByZXYtcGFyc2UgJG0gPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgJGEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgcmV2LXBhcnNlICRiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IHJldi1wYXJzZSAkYyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBkZWxldGUgcmVmcyB3b3JrcyB3aXRoIHBhY2tlZCBhbmQgbG9vc2UgcmVmcycgJworCWdpdCBwYWNrLXJlZnMgLS1hbGwgJiYKKwlnaXQgdXBkYXRlLXJlZiAkYyAkbX4xICYmCisJY2F0ID5zdGRpbiA8PC1FT0YgJiYKKwlkZWxldGUgJGEgJG0KKwl1cGRhdGUgJGIgJFogJG0KKwl1cGRhdGUgJGMgJEUgJG1+MQorCUVPRgorCWdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtcSAkYSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLXEgJGIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xICRjCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IHdvcmtzIG9uIGVtcHR5IGlucHV0JyAnCisJPnN0ZGluICYmCisJZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gJiYKKwlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xICRtCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGZhaWxzIG9uIGVtcHR5IGxpbmUnICcKKwllY2hvICIiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IHdoaXRlc3BhY2UgYmVmb3JlIGNvbW1hbmQ6ICIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGZhaWxzIG9uIGVtcHR5IGNvbW1hbmQnICcKKwlwcmludGYgJEYgIiIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogZW1wdHkgY29tbWFuZCBpbiBpbnB1dCIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGZhaWxzIG9uIG9ubHkgd2hpdGVzcGFjZScgJworCXByaW50ZiAkRiAiICIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogd2hpdGVzcGFjZSBiZWZvcmUgY29tbWFuZDogICIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGZhaWxzIG9uIGxlYWRpbmcgd2hpdGVzcGFjZScgJworCXByaW50ZiAkRiAiIGNyZWF0ZSAkYSIgIiRtIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiB3aGl0ZXNwYWNlIGJlZm9yZSBjb21tYW5kOiAgY3JlYXRlICRhIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZmFpbHMgb24gdW5rbm93biBjb21tYW5kJyAnCisJcHJpbnRmICRGICJ1bmtub3duICRhIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiB1bmtub3duIGNvbW1hbmQ6IHVua25vd24gJGEiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBmYWlscyBjcmVhdGUgd2l0aCBubyByZWYnICcKKwlwcmludGYgJEYgImNyZWF0ZSAiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGNyZWF0ZSBsaW5lIG1pc3NpbmcgPHJlZj4iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBmYWlscyBjcmVhdGUgd2l0aCBiYWQgcmVmIG5hbWUnICcKKwlwcmludGYgJEYgImNyZWF0ZSB+YSAiICIkbSIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogaW52YWxpZCByZWYgZm9ybWF0OiB+YSAiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBmYWlscyBjcmVhdGUgd2l0aCBubyBuZXcgdmFsdWUnICcKKwlwcmludGYgJEYgImNyZWF0ZSAkYSIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogY3JlYXRlICRhIG1pc3NpbmcgPG5ld3ZhbHVlPiIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGZhaWxzIGNyZWF0ZSB3aXRoIHRvbyBtYW55IGFyZ3VtZW50cycgJworCXByaW50ZiAkRiAiY3JlYXRlICRhIiAiJG0iICIkbSIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogdW5rbm93biBjb21tYW5kOiAkbSIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGZhaWxzIHVwZGF0ZSB3aXRoIG5vIHJlZicgJworCXByaW50ZiAkRiAidXBkYXRlICIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogdXBkYXRlIGxpbmUgbWlzc2luZyA8cmVmPiIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGZhaWxzIHVwZGF0ZSB3aXRoIGJhZCByZWYgbmFtZScgJworCXByaW50ZiAkRiAidXBkYXRlIH5hIiAiJG0iID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGludmFsaWQgcmVmIGZvcm1hdDogfmEiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBmYWlscyB1cGRhdGUgd2l0aCBubyBuZXcgdmFsdWUnICcKKwlwcmludGYgJEYgInVwZGF0ZSAkYSIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogdXBkYXRlICRhIG1pc3NpbmcgPG5ld3ZhbHVlPiIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGZhaWxzIHVwZGF0ZSB3aXRoIG5vIG9sZCB2YWx1ZScgJworCXByaW50ZiAkRiAidXBkYXRlICRhIiAiJG0iID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IHVwZGF0ZSAkYSBtaXNzaW5nIFxcWzxvbGR2YWx1ZT5cXF0gTlVMIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZmFpbHMgdXBkYXRlIHdpdGggdG9vIG1hbnkgYXJndW1lbnRzJyAnCisJcHJpbnRmICRGICJ1cGRhdGUgJGEiICIkbSIgIiRtIiAiJG0iID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IHVua25vd24gY29tbWFuZDogJG0iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBmYWlscyBkZWxldGUgd2l0aCBubyByZWYnICcKKwlwcmludGYgJEYgImRlbGV0ZSAiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGRlbGV0ZSBsaW5lIG1pc3NpbmcgPHJlZj4iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBmYWlscyBkZWxldGUgd2l0aCBiYWQgcmVmIG5hbWUnICcKKwlwcmludGYgJEYgImRlbGV0ZSB+YSIgIiRtIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBpbnZhbGlkIHJlZiBmb3JtYXQ6IH5hIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZmFpbHMgZGVsZXRlIHdpdGggbm8gb2xkIHZhbHVlJyAnCisJcHJpbnRmICRGICJkZWxldGUgJGEiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGRlbGV0ZSAkYSBtaXNzaW5nIFxcWzxvbGR2YWx1ZT5cXF0gTlVMIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZmFpbHMgZGVsZXRlIHdpdGggdG9vIG1hbnkgYXJndW1lbnRzJyAnCisJcHJpbnRmICRGICJkZWxldGUgJGEiICIkbSIgIiRtIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiB1bmtub3duIGNvbW1hbmQ6ICRtIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZmFpbHMgdmVyaWZ5IHdpdGggdG9vIG1hbnkgYXJndW1lbnRzJyAnCisJcHJpbnRmICRGICJ2ZXJpZnkgJGEiICIkbSIgIiRtIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiB1bmtub3duIGNvbW1hbmQ6ICRtIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZmFpbHMgdmVyaWZ5IHdpdGggbm8gb2xkIHZhbHVlJyAnCisJcHJpbnRmICRGICJ2ZXJpZnkgJGEiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IHZlcmlmeSAkYSBtaXNzaW5nIFxcWzxvbGR2YWx1ZT5cXF0gTlVMIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZmFpbHMgb3B0aW9uIHdpdGggdW5rbm93biBuYW1lJyAnCisJcHJpbnRmICRGICJvcHRpb24gdW5rbm93biIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogb3B0aW9uIHVua25vd246IHVua25vd24iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBmYWlscyB3aXRoIGR1cGxpY2F0ZSByZWZzJyAnCisJcHJpbnRmICRGICJjcmVhdGUgJGEiICIkbSIgImNyZWF0ZSAkYiIgIiRtIiAiY3JlYXRlICRhIiAiJG0iID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IE11bHRpcGxlIHVwZGF0ZXMgZm9yIHJlZiAnIiciJyRhJyInIicgbm90IGFsbG93ZWQuIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogY3JlYXRlIHJlZiB3b3JrcycgJworCXByaW50ZiAkRiAiY3JlYXRlICRhIiAiJG0iID5zdGRpbiAmJgorCWdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluICYmCisJZ2l0IHJldi1wYXJzZSAkbSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiB1cGRhdGUgcmVmIGNyZWF0ZXMgd2l0aCB6ZXJvIG9sZCB2YWx1ZScgJworCXByaW50ZiAkRiAidXBkYXRlICRiIiAiJG0iICIkWiIgPnN0ZGluICYmCisJZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gJiYKKwlnaXQgcmV2LXBhcnNlICRtID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlICRiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IHVwZGF0ZS1yZWYgLWQgJGIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogdXBkYXRlIHJlZiBjcmVhdGVzIHdpdGggZW1wdHkgb2xkIHZhbHVlJyAnCisJcHJpbnRmICRGICJ1cGRhdGUgJGIiICIkbSIgIiIgPnN0ZGluICYmCisJZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gJiYKKwlnaXQgcmV2LXBhcnNlICRtID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlICRiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGNyZWF0ZSByZWYgd29ya3Mgd2l0aCBwYXRoIHdpdGggc3BhY2UgdG8gYmxvYicgJworCXByaW50ZiAkRiAiY3JlYXRlIHJlZnMvYmxvYnMvcHdzIiAiJG06JHB3cyIgPnN0ZGluICYmCisJZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gJiYKKwlnaXQgcmV2LXBhcnNlICIkbTokcHdzIiA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSByZWZzL2Jsb2JzL3B3cyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCB1cGRhdGUtcmVmIC1kIHJlZnMvYmxvYnMvcHdzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IHVwZGF0ZSByZWYgZmFpbHMgd2l0aCB3cm9uZyBvbGQgdmFsdWUnICcKKwlwcmludGYgJEYgInVwZGF0ZSAkYyIgIiRtIiAiJG1+MSIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogQ2Fubm90IGxvY2sgdGhlIHJlZiAnIiciJyRjJyInIiciIGVyciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLXEgJGMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogdXBkYXRlIHJlZiBmYWlscyB3aXRoIGJhZCBvbGQgdmFsdWUnICcKKwlwcmludGYgJEYgInVwZGF0ZSAkYyIgIiRtIiAiZG9lcy1ub3QtZXhpc3QiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGludmFsaWQgb2xkIHZhbHVlIGZvciByZWYgJGM6IGRvZXMtbm90LWV4aXN0IiBlcnIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xICRjCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGNyZWF0ZSByZWYgZmFpbHMgd2l0aCBiYWQgbmV3IHZhbHVlJyAnCisJcHJpbnRmICRGICJjcmVhdGUgJGMiICJkb2VzLW5vdC1leGlzdCIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogaW52YWxpZCBuZXcgdmFsdWUgZm9yIHJlZiAkYzogZG9lcy1ub3QtZXhpc3QiIGVyciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLXEgJGMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogY3JlYXRlIHJlZiBmYWlscyB3aXRoIHplcm8gbmV3IHZhbHVlJyAnCisJcHJpbnRmICRGICJjcmVhdGUgJGMiICIiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGNyZWF0ZSAkYyBnaXZlbiB6ZXJvIG5ldyB2YWx1ZSIgZXJyICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtcSAkYworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiB1cGRhdGUgcmVmIHdvcmtzIHdpdGggcmlnaHQgb2xkIHZhbHVlJyAnCisJcHJpbnRmICRGICJ1cGRhdGUgJGIiICIkbX4xIiAiJG0iID5zdGRpbiAmJgorCWdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluICYmCisJZ2l0IHJldi1wYXJzZSAkbX4xID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlICRiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGRlbGV0ZSByZWYgZmFpbHMgd2l0aCB3cm9uZyBvbGQgdmFsdWUnICcKKwlwcmludGYgJEYgImRlbGV0ZSAkYSIgIiRtfjEiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IENhbm5vdCBsb2NrIHRoZSByZWYgJyInIickYSciJyInIiBlcnIgJiYKKwlnaXQgcmV2LXBhcnNlICRtID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlICRhID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGRlbGV0ZSByZWYgZmFpbHMgd2l0aCB6ZXJvIG9sZCB2YWx1ZScgJworCXByaW50ZiAkRiAiZGVsZXRlICRhIiAiJFoiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGRlbGV0ZSAkYSBnaXZlbiB6ZXJvIG9sZCB2YWx1ZSIgZXJyICYmCisJZ2l0IHJldi1wYXJzZSAkbSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiB1cGRhdGUgc3ltcmVmIHdvcmtzIG9wdGlvbiBuby1kZXJlZicgJworCWdpdCBzeW1ib2xpYy1yZWYgVEVTVFNZTVJFRiAkYiAmJgorCXByaW50ZiAkRiAib3B0aW9uIG5vLWRlcmVmIiAidXBkYXRlIFRFU1RTWU1SRUYiICIkYSIgIiRiIiA+c3RkaW4gJiYKKwlnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAmJgorCWdpdCByZXYtcGFyc2UgVEVTVFNZTVJFRiA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCByZXYtcGFyc2UgJG1+MSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBkZWxldGUgc3ltcmVmIHdvcmtzIG9wdGlvbiBuby1kZXJlZicgJworCWdpdCBzeW1ib2xpYy1yZWYgVEVTVFNZTVJFRiAkYiAmJgorCXByaW50ZiAkRiAib3B0aW9uIG5vLWRlcmVmIiAiZGVsZXRlIFRFU1RTWU1SRUYiICIkYiIgPnN0ZGluICYmCisJZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xIFRFU1RTWU1SRUYgJiYKKwlnaXQgcmV2LXBhcnNlICRtfjEgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgJGIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZGVsZXRlIHJlZiB3b3JrcyB3aXRoIHJpZ2h0IG9sZCB2YWx1ZScgJworCXByaW50ZiAkRiAiZGVsZXRlICRiIiAiJG1+MSIgPnN0ZGluICYmCisJZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xICRiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IHVwZGF0ZS9jcmVhdGUvdmVyaWZ5IGNvbWJpbmF0aW9uIHdvcmtzJyAnCisJcHJpbnRmICRGICJ1cGRhdGUgJGEiICIkbSIgIiIgImNyZWF0ZSAkYiIgIiRtIiAidmVyaWZ5ICRjIiAiIiA+c3RkaW4gJiYKKwlnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAmJgorCWdpdCByZXYtcGFyc2UgJG0gPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgJGEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgcmV2LXBhcnNlICRiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtcSAkYworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiB1cGRhdGUgcmVmcyB3b3JrcyB3aXRoIGlkZW50aXR5IHVwZGF0ZXMnICcKKwlwcmludGYgJEYgInVwZGF0ZSAkYSIgIiRtIiAiJG0iICJ1cGRhdGUgJGIiICIkbSIgIiRtIiAidXBkYXRlICRjIiAiJFoiICIiID5zdGRpbiAmJgorCWdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluICYmCisJZ2l0IHJldi1wYXJzZSAkbSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCByZXYtcGFyc2UgJGIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xICRjCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IHVwZGF0ZSByZWZzIGZhaWxzIHdpdGggd3Jvbmcgb2xkIHZhbHVlJyAnCisJZ2l0IHVwZGF0ZS1yZWYgJGMgJG0gJiYKKwlwcmludGYgJEYgInVwZGF0ZSAkYSIgIiRtIiAiJG0iICJ1cGRhdGUgJGIiICIkbSIgIiRtIiAidXBkYXRlICRjIiAiIiAiJFoiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IENhbm5vdCBsb2NrIHRoZSByZWYgJyInIickYyciJyInIiBlcnIgJiYKKwlnaXQgcmV2LXBhcnNlICRtID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlICRhID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IHJldi1wYXJzZSAkYiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCByZXYtcGFyc2UgJGMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZGVsZXRlIHJlZnMgd29ya3Mgd2l0aCBwYWNrZWQgYW5kIGxvb3NlIHJlZnMnICcKKwlnaXQgcGFjay1yZWZzIC0tYWxsICYmCisJZ2l0IHVwZGF0ZS1yZWYgJGMgJG1+MSAmJgorCXByaW50ZiAkRiAiZGVsZXRlICRhIiAiJG0iICJ1cGRhdGUgJGIiICIkWiIgIiRtIiAidXBkYXRlICRjIiAiIiAiJG1+MSIgPnN0ZGluICYmCisJZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xICRhICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtcSAkYiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLXEgJGMKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxNTAyLXJldi1wYXJzZS1wYXJzZW9wdC5zaCBiL3QvdDE1MDItcmV2LXBhcnNlLXBhcnNlb3B0LnNoCmluZGV4IDEzYzg4YzkuLjgzYjEzMDAgMTAwNzU1Ci0tLSBhL3QvdDE1MDItcmV2LXBhcnNlLXBhcnNlb3B0LnNoCisrKyBiL3QvdDE1MDItcmV2LXBhcnNlLXBhcnNlb3B0LnNoCkBAIC0xMiw5ICsxMiwxMSBAQAogICAgIC1oLCAtLWhlbHAgICAgICAgICAgICBzaG93IHRoZSBoZWxwCiAgICAgLS1mb28gICAgICAgICAgICAgICAgIHNvbWUgbmlmdHkgb3B0aW9uIC0tZm9vCiAgICAgLS1iYXIgLi4uICAgICAgICAgICAgIHNvbWUgY29vbCBvcHRpb24gLS1iYXIgd2l0aCBhbiBhcmd1bWVudAorICAgIC1iLCAtLWJheiAgICAgICAgICAgICBhIHNob3J0IGFuZCBsb25nIG9wdGlvbgogCiBBbiBvcHRpb24gZ3JvdXAgSGVhZGVyCiAgICAgLUNbLi4uXSAgICAgICAgICAgICAgIG9wdGlvbiBDIHdpdGggYW4gb3B0aW9uYWwgYXJndW1lbnQKKyAgICAtZCwgLS1kYXRhWz0uLi5dICAgICAgc2hvcnQgYW5kIGxvbmcgb3B0aW9uIHdpdGggYW4gb3B0aW9uYWwgYXJndW1lbnQKIAogRXh0cmFzCiAgICAgLS1leHRyYTEgICAgICAgICAgICAgIGxpbmUgYWJvdmUgdXNlZCB0byBjYXVzZSBhIHNlZ2ZhdWx0IGJ1dCBubyBsb25nZXIgZG9lcwpAQCAtMzEsOSArMzMsMTEgQEAKIAogZm9vICAgICAgIHNvbWUgbmlmdHkgb3B0aW9uIC0tZm9vCiBiYXI9ICAgICAgc29tZSBjb29sIG9wdGlvbiAtLWJhciB3aXRoIGFuIGFyZ3VtZW50CitiLGJheiAgICAgYSBzaG9ydCBhbmQgbG9uZyBvcHRpb24KIAogIEFuIG9wdGlvbiBncm91cCBIZWFkZXIKIEM/ICAgICAgICBvcHRpb24gQyB3aXRoIGFuIG9wdGlvbmFsIGFyZ3VtZW50CitkLGRhdGE/ICAgc2hvcnQgYW5kIGxvbmcgb3B0aW9uIHdpdGggYW4gb3B0aW9uYWwgYXJndW1lbnQKIAogRXh0cmFzCiBleHRyYTEgICAgbGluZSBhYm92ZSB1c2VkIHRvIGNhdXNlIGEgc2VnZmF1bHQgYnV0IG5vIGxvbmdlciBkb2VzCkBAIC00NSwxNiArNDksMTYgQEAKICcKIAogY2F0ID4gZXhwZWN0IDw8RU9GCi1zZXQgLS0gLS1mb28gLS1iYXIgJ2hhbScgLS0gJ2FyZycKK3NldCAtLSAtLWZvbyAtLWJhciAnaGFtJyAtYiAtLSAnYXJnJwogRU9GCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Rlc3QgLS1wYXJzZW9wdCcgJwotCWdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCAtLSAtLWZvbyAtLWJhcj1oYW0gYXJnIDwgb3B0aW9uc3BlYyA+IG91dHB1dCAmJgorCWdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCAtLSAtLWZvbyAtLWJhcj1oYW0gLS1iYXogYXJnIDwgb3B0aW9uc3BlYyA+IG91dHB1dCAmJgogCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCAtLXBhcnNlb3B0IHdpdGggbWl4ZWQgb3B0aW9ucyBhbmQgYXJndW1lbnRzJyAnCi0JZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IC0tIC0tZm9vIGFyZyAtLWJhcj1oYW0gPCBvcHRpb25zcGVjID4gb3V0cHV0ICYmCisJZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IC0tIC0tZm9vIGFyZyAtLWJhcj1oYW0gLS1iYXogPCBvcHRpb25zcGVjID4gb3V0cHV0ICYmCiAJdGVzdF9jbXAgZXhwZWN0IG91dHB1dAogJwogCkBAIC05OSw0ICsxMDMsMzYgQEAKIAl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CiAnCiAKK2NhdCA+IGV4cGVjdCA8PEVPRgorc2V0IC0tIC0tZm9vIC0tYmFyPSd6JyAtLWJheiAtQydaJyAtLWRhdGE9J0EnIC0tICdhcmcnCitFT0YKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCAtLXBhcnNlb3B0IC0tc3R1Y2stbG9uZycgJworCWdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCAtLXN0dWNrLWxvbmcgLS0gLS1mb28gLS1iYXI9eiAtYiBhcmcgLUNaIC1kQSA8b3B0aW9uc3BlYyA+b3V0cHV0ICYmCisJdGVzdF9jbXAgZXhwZWN0IG91dHB1dAorJworCitjYXQgPiBleHBlY3QgPDxFT0YKK3NldCAtLSAtLWRhdGE9JycgLUMgLS1iYXogLS0gJ2FyZycKK0VPRgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IC0tcGFyc2VvcHQgLS1zdHVjay1sb25nIGFuZCBlbXB0eSBvcHRpb25hbCBhcmd1bWVudCcgJworCWdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCAtLXN0dWNrLWxvbmcgLS0gLS1kYXRhPSBhcmcgLUMgLWIgPG9wdGlvbnNwZWMgPm91dHB1dCAmJgorCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKKycKKworY2F0ID4gZXhwZWN0IDw8RU9GCitzZXQgLS0gLS1kYXRhIC0tYmF6IC0tICdhcmcnCitFT0YKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCAtLXBhcnNlb3B0IC0tc3R1Y2stbG9uZyBhbmQgbG9uZyBvcHRpb24gd2l0aCB1bnNldCBvcHRpb25hbCBhcmd1bWVudCcgJworCWdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCAtLXN0dWNrLWxvbmcgLS0gLS1kYXRhIGFyZyAtYiA8b3B0aW9uc3BlYyA+b3V0cHV0ICYmCisJdGVzdF9jbXAgZXhwZWN0IG91dHB1dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IC0tcGFyc2VvcHQgLS1zdHVjay1sb25nIGFuZCBzaG9ydCBvcHRpb24gd2l0aCB1bnNldCBvcHRpb25hbCBhcmd1bWVudCcgJworCWdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCAtLXN0dWNrLWxvbmcgLS0gLWQgYXJnIC1iIDxvcHRpb25zcGVjID5vdXRwdXQgJiYKKwl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MTUwNi1yZXYtcGFyc2UtZGlhZ25vc2lzLnNoIGIvdC90MTUwNi1yZXYtcGFyc2UtZGlhZ25vc2lzLnNoCmluZGV4IGY5NTBjMTAuLjYxM2Q5YmYgMTAwNzU1Ci0tLSBhL3QvdDE1MDYtcmV2LXBhcnNlLWRpYWdub3Npcy5zaAorKysgYi90L3QxNTA2LXJldi1wYXJzZS1kaWFnbm9zaXMuc2gKQEAgLTE5Niw0ICsxOTYsMjggQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FyZyBiZWZvcmUgZGFzaGRhc2ggbXVzdCBiZSBhIHJldmlzaW9uIChtaXNzaW5nKScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgZm9vYmFyIC0tIDI+c3RkZXJyICYmCisJdGVzdF9pMThuZ3JlcCAiYmFkIHJldmlzaW9uIiBzdGRlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYXJnIGJlZm9yZSBkYXNoZGFzaCBtdXN0IGJlIGEgcmV2aXNpb24gKGZpbGUpJyAnCisJPmZvb2JhciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgZm9vYmFyIC0tIDI+c3RkZXJyICYmCisJdGVzdF9pMThuZ3JlcCAiYmFkIHJldmlzaW9uIiBzdGRlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYXJnIGJlZm9yZSBkYXNoZGFzaCBtdXN0IGJlIGEgcmV2aXNpb24gKGFtYmlndW91cyknICcKKwk+Zm9vYmFyICYmCisJZ2l0IHVwZGF0ZS1yZWYgcmVmcy9oZWFkcy9mb29iYXIgSEVBRCAmJgorCXsKKwkJIyB3ZSBkbyBub3Qgd2FudCB0byB1c2UgcmV2LXBhcnNlIGhlcmUsIGJlY2F1c2UKKwkJIyB3ZSBhcmUgdGVzdGluZyBpdAorCQljYXQgLmdpdC9yZWZzL2hlYWRzL2Zvb2JhciAmJgorCQlwcmludGYgIiVzXG4iIC0tCisJfSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSBmb29iYXIgLS0gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxNTA3LXJldi1wYXJzZS11cHN0cmVhbS5zaCBiL3QvdDE1MDctcmV2LXBhcnNlLXVwc3RyZWFtLnNoCmluZGV4IDJhMTllNzkuLjE3ODY5NGUgMTAwNzU1Ci0tLSBhL3QvdDE1MDctcmV2LXBhcnNlLXVwc3RyZWFtLnNoCisrKyBiL3QvdDE1MDctcmV2LXBhcnNlLXVwc3RyZWFtLnNoCkBAIC0xNyw2ICsxNyw5IEBACiAJIHRlc3RfY29tbWl0IDQgJiYKIAkgZ2l0IGJyYW5jaCAtLXRyYWNrIG15LXNpZGUgb3JpZ2luL3NpZGUgJiYKIAkgZ2l0IGJyYW5jaCAtLXRyYWNrIGxvY2FsLW1hc3RlciBtYXN0ZXIgJiYKKwkgZ2l0IGJyYW5jaCAtLXRyYWNrIGZ1bkBueSBvcmlnaW4vc2lkZSAmJgorCSBnaXQgYnJhbmNoIC0tdHJhY2sgQGZ1bm55IG9yaWdpbi9zaWRlICYmCisJIGdpdCBicmFuY2ggLS10cmFjayBmdW5ueUAgb3JpZ2luL3NpZGUgJiYKIAkgZ2l0IHJlbW90ZSBhZGQgLXQgbWFzdGVyIG1hc3Rlci1vbmx5IC4uICYmCiAJIGdpdCBmZXRjaCBtYXN0ZXItb25seSAmJgogCSBnaXQgYnJhbmNoIGJhZC11cHN0cmVhbSAmJgpAQCAtNTQsNiArNTcsMjQgQEAKIAl0ZXN0IHJlZnMvcmVtb3Rlcy9vcmlnaW4vc2lkZSA9ICIkKGZ1bGxfbmFtZSBteS1zaWRlQHt1fSkiCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Vwc3RyZWFtIG9mIGJyYW5jaCB3aXRoIEAgaW4gbWlkZGxlJyAnCisJZnVsbF9uYW1lIGZ1bkBueUB7dX0gPmFjdHVhbCAmJgorCWVjaG8gcmVmcy9yZW1vdGVzL29yaWdpbi9zaWRlID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Vwc3RyZWFtIG9mIGJyYW5jaCB3aXRoIEAgYXQgc3RhcnQnICcKKwlmdWxsX25hbWUgQGZ1bm55QHt1fSA+YWN0dWFsICYmCisJZWNobyByZWZzL3JlbW90ZXMvb3JpZ2luL3NpZGUgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndXBzdHJlYW0gb2YgYnJhbmNoIHdpdGggQCBhdCBlbmQnICcKKwlmdWxsX25hbWUgZnVubnlAQHt1fSA+YWN0dWFsICYmCisJZWNobyByZWZzL3JlbW90ZXMvb3JpZ2luL3NpZGUgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVmcy9oZWFkcy9teS1zaWRlQHt1cHN0cmVhbX0gZG9lcyBub3QgcmVzb2x2ZSB0byBteS1zaWRle3Vwc3RyZWFtfScgJwogCXRlc3RfbXVzdF9mYWlsIGZ1bGxfbmFtZSByZWZzL2hlYWRzL215LXNpZGVAe3Vwc3RyZWFtfQogJwpAQCAtMjEwLDQgKzIzMSwyMCBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnQHtyZWZsb2d9LXBhcnNpbmcgZG9lcyBub3QgbG9vayBiZXlvbmQgY29sb24nICcKKwllY2hvIGNvbnRlbnQgPkB7eWVzdGVyZGF5fSAmJgorCWdpdCBhZGQgQHt5ZXN0ZXJkYXl9ICYmCisJZ2l0IGNvbW1pdCAtbSAiZnVubnkgcmVmbG9nIGZpbGUiICYmCisJZ2l0IGhhc2gtb2JqZWN0IEB7eWVzdGVyZGF5fSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSBIRUFEOkB7eWVzdGVyZGF5fSA+YWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0B7dXBzdHJlYW19LXBhcnNpbmcgZG9lcyBub3QgbG9vayBiZXlvbmQgY29sb24nICcKKwllY2hvIGNvbnRlbnQgPkB7dXBzdHJlYW19ICYmCisJZ2l0IGFkZCBAe3Vwc3RyZWFtfSAmJgorCWdpdCBjb21taXQgLW0gImZ1bm55IHVwc3RyZWFtIGZpbGUiICYmCisJZ2l0IGhhc2gtb2JqZWN0IEB7dXBzdHJlYW19ID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlIEhFQUQ6QHt1cHN0cmVhbX0gPmFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDE1MDgtYXQtY29tYmluYXRpb25zLnNoIGIvdC90MTUwOC1hdC1jb21iaW5hdGlvbnMuc2gKaW5kZXggZTVhZWEzYi4uMDc4ZTExOSAxMDA3NTUKLS0tIGEvdC90MTUwOC1hdC1jb21iaW5hdGlvbnMuc2gKKysrIGIvdC90MTUwOC1hdC1jb21iaW5hdGlvbnMuc2gKQEAgLTksOCArOSwxMSBAQAogCQlpZiB0ZXN0ICckMicgPSAnY29tbWl0JwogCQl0aGVuCiAJCQlnaXQgbG9nIC0xIC0tZm9ybWF0PSVzICckMScgPmFjdHVhbAotCQllbHNlCisJCWVsaWYgdGVzdCAnJDInID0gJ3JlZicKKwkJdGhlbgogCQkJZ2l0IHJldi1wYXJzZSAtLXN5bWJvbGljLWZ1bGwtbmFtZSAnJDEnID5hY3R1YWwKKwkJZWxzZQorCQkJZ2l0IGNhdC1maWxlIC1wICckMScgPmFjdHVhbAogCQlmaSAmJgogCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAJIgpAQCAtMzIsNiArMzUsOSBAQAogCWdpdCBjaGVja291dCAtYiB1cHN0cmVhbS1icmFuY2ggJiYKIAl0ZXN0X2NvbW1pdCB1cHN0cmVhbS1vbmUgJiYKIAl0ZXN0X2NvbW1pdCB1cHN0cmVhbS10d28gJiYKKwlnaXQgY2hlY2tvdXQgLWIgQC9hdC10ZXN0ICYmCisJZ2l0IGNoZWNrb3V0IC1iIEBAL2F0LXRlc3QgJiYKKwlnaXQgY2hlY2tvdXQgLWIgQGF0LXRlc3QgJiYKIAlnaXQgY2hlY2tvdXQgLWIgb2xkLWJyYW5jaCAmJgogCXRlc3RfY29tbWl0IG9sZC1vbmUgJiYKIAl0ZXN0X2NvbW1pdCBvbGQtdHdvICYmCkBAIC01NSw2ICs2MSwxMSBAQAogY2hlY2sgIkB7dX1AezF9IiBjb21taXQgdXBzdHJlYW0tb25lCiBjaGVjayAiQHstMX1Ae3V9IiByZWYgcmVmcy9oZWFkcy9tYXN0ZXIKIGNoZWNrICJAey0xfUB7dX1AezF9IiBjb21taXQgbWFzdGVyLW9uZQorY2hlY2sgIkAiIGNvbW1pdCBuZXctdHdvCitjaGVjayAiQEB7dX0iIHJlZiByZWZzL2hlYWRzL3Vwc3RyZWFtLWJyYW5jaAorY2hlY2sgIkBAL2F0LXRlc3QiIHJlZiByZWZzL2hlYWRzL0BAL2F0LXRlc3QKK2NoZWNrICJAL2F0LXRlc3QiIHJlZiByZWZzL2hlYWRzL0AvYXQtdGVzdAorY2hlY2sgIkBhdC10ZXN0IiByZWYgcmVmcy9oZWFkcy9AYXQtdGVzdAogbm9uc2Vuc2UgIkB7dX1Aey0xfSIKIG5vbnNlbnNlICJAezB9QHswfSIKIG5vbnNlbnNlICJAezF9QHt1fSIKQEAgLTc0LDQgKzg1LDE0IEBACiBjaGVjayAiSEVBREB7MX0iIGNvbW1pdCBuZXctdHdvCiBjaGVjayAiQHsxfSIgY29tbWl0IG9sZC1vbmUKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIHBhdGggd2l0aCBAJyAnCisJZWNobyBjb250ZW50ID5ub3JtYWwgJiYKKwllY2hvIGNvbnRlbnQgPmZ1bkBueSAmJgorCWdpdCBhZGQgbm9ybWFsIGZ1bkBueSAmJgorCWdpdCBjb21taXQgLW0gImZ1bm55IHBhdGgiCisnCisKK2NoZWNrICJAOm5vcm1hbCIgYmxvYiBjb250ZW50CitjaGVjayAiQDpmdW5AbnkiIGJsb2IgY29udGVudAorCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDE1MTEtcmV2LXBhcnNlLWNhcmV0LnNoIGIvdC90MTUxMS1yZXYtcGFyc2UtY2FyZXQuc2gKaW5kZXggZWFlZmM3Ny4uMTU5NzNmMiAxMDA3NTUKLS0tIGEvdC90MTUxMS1yZXYtcGFyc2UtY2FyZXQuc2gKKysrIGIvdC90MTUxMS1yZXYtcGFyc2UtY2FyZXQuc2gKQEAgLTU0LDYgKzU0LDEzIEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBibG9iLXRhZ157dHJlZX0KICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVmXnt0YWd9JyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBIRUFEXnt0YWd9ICYmCisJZ2l0IHJldi1wYXJzZSBjb21taXQtdGFnID5leHBlY3RlZCAmJgorCWdpdCByZXYtcGFyc2UgY29tbWl0LXRhZ157dGFnfSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlZl57Ly59JyAnCiAJZ2l0IHJldi1wYXJzZSBtYXN0ZXIgPmV4cGVjdGVkICYmCiAJZ2l0IHJldi1wYXJzZSBtYXN0ZXJeey8ufSA+YWN0dWFsICYmCmRpZmYgLS1naXQgYS90L3QyMDA4LWNoZWNrb3V0LXN1YmRpci5zaCBiL3QvdDIwMDgtY2hlY2tvdXQtc3ViZGlyLnNoCmluZGV4IDNlMDk4YWIuLmVhZGI5NDMgMTAwNzU1Ci0tLSBhL3QvdDIwMDgtY2hlY2tvdXQtc3ViZGlyLnNoCisrKyBiL3QvdDIwMDgtY2hlY2tvdXQtc3ViZGlyLnNoCkBAIC01OCwxMyArNTgsMTMgQEAKIAogJwogCi0jIFRoaXMgaXMgbm90IGV4cGVjdGVkIHRvIHdvcmsgYXMgbHMtZmlsZXMgd2FzIG5vdCBkZXNpZ25lZAotIyB0byBkZWFsIHdpdGggc3VjaC4gIEVuYWJsZSBpdCB3aGVuIGxzLWZpbGVzIGlzIHVwZGF0ZWQuCi06IHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IHdpdGggY29tcGxleCByZWxhdGl2ZSBwYXRoJyAnCi0KLQlybSBmaWxlMSAmJgotCWdpdCBjaGVja291dCBIRUFEIC0tIC4uL2RpcjEvLi4vZGlyMS9maWxlMSAmJiB0ZXN0IC1mIC4vZmlsZTEKLQordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tvdXQgd2l0aCBjb21wbGV4IHJlbGF0aXZlIHBhdGgnICcKKwkoCisJCWNkIGRpcjEgJiYKKwkJcm0gZmlsZTEgJiYKKwkJZ2l0IGNoZWNrb3V0IEhFQUQgLS0gLi4vZGlyMS8uLi9kaXIxL2ZpbGUxICYmCisJCXRlc3QgImhlbGxvIiA9ICIkKGNhdCBmaWxlMSkiCisJKQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWxhdGl2ZSBwYXRoIG91dHNpZGUgdHJlZSBzaG91bGQgZmFpbCcgXApkaWZmIC0tZ2l0IGEvdC90MzAwMS1scy1maWxlcy1vdGhlcnMtZXhjbHVkZS5zaCBiL3QvdDMwMDEtbHMtZmlsZXMtb3RoZXJzLWV4Y2x1ZGUuc2gKaW5kZXggZjA0MjFjMC4uYjI3OThmZSAxMDA3NTUKLS0tIGEvdC90MzAwMS1scy1maWxlcy1vdGhlcnMtZXhjbHVkZS5zaAorKysgYi90L3QzMDAxLWxzLWZpbGVzLW90aGVycy1leGNsdWRlLnNoCkBAIC0xMTUsNyArMTE1LDcgQEAKIAogZ2l0IGNvbmZpZyBjb3JlLmV4Y2x1ZGVzRmlsZSBleGNsdWRlcy1maWxlCiAKLWdpdCBzdGF0dXMgfCBncmVwICJeIwkiID4gb3V0cHV0CitnaXQgLWMgc3RhdHVzLmRpc3BsYXlDb21tZW50UHJlZml4PXRydWUgc3RhdHVzIHwgZ3JlcCAiXiMJIiA+IG91dHB1dAogCiBjYXQgPiBleHBlY3QgPDwgRU9GCiAjCS5naXRpZ25vcmUKZGlmZiAtLWdpdCBhL3QvdDMyMDAtYnJhbmNoLnNoIGIvdC90MzIwMC1icmFuY2guc2gKaW5kZXggNTVjOWFiMC4uZmNkYjg2NyAxMDA3NTUKLS0tIGEvdC90MzIwMC1icmFuY2guc2gKKysrIGIvdC90MzIwMC1icmFuY2guc2gKQEAgLTE0LDEwICsxNCwxMSBAQAogCWVjaG8gV29ybGQgPj5BICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCBBICYmCiAJZ2l0IGNvbW1pdCAtbSAiU2Vjb25kIGNvbW1pdC4iICYmCi0JSEVBRD0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCknCisJSEVBRD0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCkKKycKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCAtLWhlbHAgc2hvdWxkIG5vdCBoYXZlIGNyZWF0ZWQgYSBib2d1cyBicmFuY2gnICcKLQl0ZXN0X21pZ2h0X2ZhaWwgZ2l0IGJyYW5jaCAtLWhlbHAgPC9kZXYvbnVsbCA+L2Rldi9udWxsIDI+L2Rldi9udWxsICYmCisJdGVzdF9taWdodF9mYWlsIGdpdCBicmFuY2ggLS1tYW4gLS1oZWxwIDwvZGV2L251bGwgPi9kZXYvbnVsbCAyPiYxICYmCiAJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9yZWZzL2hlYWRzLy0taGVscAogJwogCkBAIC0zNTEsNyArMzUyLDcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vIHRyYWNraW5nIHdpdGhvdXQgLmZldGNoIGVudHJpZXMnICcKIAlnaXQgY29uZmlnIGJyYW5jaC5hdXRvc2V0dXBtZXJnZSB0cnVlICYmCiAJZ2l0IGJyYW5jaCBteTYgcyAmJgotCWdpdCBjb25maWcgYnJhbmNoLmF1dG9tc2V0dXBtZXJnZSBmYWxzZSAmJgorCWdpdCBjb25maWcgYnJhbmNoLmF1dG9zZXR1cG1lcmdlIGZhbHNlICYmCiAJdGVzdCAteiAiJChnaXQgY29uZmlnIGJyYW5jaC5teTYucmVtb3RlKSIgJiYKIAl0ZXN0IC16ICIkKGdpdCBjb25maWcgYnJhbmNoLm15Ni5tZXJnZSkiCiAnCkBAIC00MjUsMTQgKzQyNiwxNCBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndXNlIC0tc2V0LXVwc3RyZWFtLXRvIG1vZGlmeSBIRUFEJyAnCiAJdGVzdF9jb25maWcgYnJhbmNoLm1hc3Rlci5yZW1vdGUgZm9vICYmCiAJdGVzdF9jb25maWcgYnJhbmNoLm1hc3Rlci5tZXJnZSBmb28gJiYKLQlnaXQgYnJhbmNoIG15MTIKKwlnaXQgYnJhbmNoIG15MTIgJiYKIAlnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIG15MTIgJiYKIAl0ZXN0ICIkKGdpdCBjb25maWcgYnJhbmNoLm1hc3Rlci5yZW1vdGUpIiA9ICIuIiAmJgogCXRlc3QgIiQoZ2l0IGNvbmZpZyBicmFuY2gubWFzdGVyLm1lcmdlKSIgPSAicmVmcy9oZWFkcy9teTEyIgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd1c2UgLS1zZXQtdXBzdHJlYW0tdG8gbW9kaWZ5IGEgcGFydGljdWxhciBicmFuY2gnICcKLQlnaXQgYnJhbmNoIG15MTMKKwlnaXQgYnJhbmNoIG15MTMgJiYKIAlnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIG1hc3RlciBteTEzICYmCiAJdGVzdCAiJChnaXQgY29uZmlnIGJyYW5jaC5teTEzLnJlbW90ZSkiID0gIi4iICYmCiAJdGVzdCAiJChnaXQgY29uZmlnIGJyYW5jaC5teTEzLm1lcmdlKSIgPSAicmVmcy9oZWFkcy9tYXN0ZXIiCkBAIC00NDMsNyArNDQ0LDcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCAtLXVuc2V0LXVwc3RyZWFtIG9uIEhFQUQnICcKLQlnaXQgYnJhbmNoIG15MTQKKwlnaXQgYnJhbmNoIG15MTQgJiYKIAl0ZXN0X2NvbmZpZyBicmFuY2gubWFzdGVyLnJlbW90ZSBmb28gJiYKIAl0ZXN0X2NvbmZpZyBicmFuY2gubWFzdGVyLm1lcmdlIGZvbyAmJgogCWdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gbXkxNCAmJgpAQCAtNDY1LDcgKzQ2Niw3IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Rlc3QgLS11bnNldC11cHN0cmVhbSBvbiBhIHBhcnRpY3VsYXIgYnJhbmNoJyAnCi0JZ2l0IGJyYW5jaCBteTE1CisJZ2l0IGJyYW5jaCBteTE1ICYmCiAJZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byBtYXN0ZXIgbXkxNCAmJgogCWdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbSBteTE0ICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyBicmFuY2gubXkxNC5yZW1vdGUgJiYKZGlmZiAtLWdpdCBhL3QvdDMzMDAtZnVubnktbmFtZXMuc2ggYi90L3QzMzAwLWZ1bm55LW5hbWVzLnNoCmluZGV4IDc0ODBkNmUuLjlhMTQ2ZjEgMTAwNzU1Ci0tLSBhL3QvdDMzMDAtZnVubnktbmFtZXMuc2gKKysrIGIvdC90MzMwMC1mdW5ueS1uYW1lcy5zaApAQCAtNjksNyArNjksNyBAQAogCXRhYnMJLCIgKGRxKSBhbmQgc3BhY2VzCiAJRU9GCiAJZ2l0IGxzLWZpbGVzIC16ID5scy1maWxlcy56ICYmCi0JIiRQRVJMX1BBVEgiIC1wZSAieS9cMDAwL1wwMTIvIiA8bHMtZmlsZXMueiA+Y3VycmVudCAmJgorCXBlcmwgLXBlICJ5L1wwMDAvXDAxMi8iIDxscy1maWxlcy56ID5jdXJyZW50ICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgY3VycmVudAogJwogCkBAIC0xMDYsNyArMTA2LDcgQEAKIAl0YWJzCSwiIChkcSkgYW5kIHNwYWNlcwogCUVPRgogCWdpdCBkaWZmLWluZGV4IC16IC0tbmFtZS1zdGF0dXMgJHQwID5kaWZmLWluZGV4LnogJiYKLQkiJFBFUkxfUEFUSCIgLXBlICJ5L1wwMDAvXDAxMi8iIDxkaWZmLWluZGV4LnogPmN1cnJlbnQgJiYKKwlwZXJsIC1wZSAieS9cMDAwL1wwMTIvIiA8ZGlmZi1pbmRleC56ID5jdXJyZW50ICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgY3VycmVudAogJwogCkBAIC0xMTYsNyArMTE2LDcgQEAKIAl0YWJzCSwiIChkcSkgYW5kIHNwYWNlcwogCUVPRgogCWdpdCBkaWZmLXRyZWUgLXogLS1uYW1lLXN0YXR1cyAkdDAgJHQxID5kaWZmLXRyZWUueiAmJgotCSIkUEVSTF9QQVRIIiAtcGUgeS9cXDAwMC9cXDAxMi8gPGRpZmYtdHJlZS56ID5jdXJyZW50ICYmCisJcGVybCAtcGUgeS9cXDAwMC9cXDAxMi8gPGRpZmYtdHJlZS56ID5jdXJyZW50ICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgY3VycmVudAogJwogCmRpZmYgLS1naXQgYS90L3QzNDAwLXJlYmFzZS5zaCBiL3QvdDM0MDAtcmViYXNlLnNoCmluZGV4IGViZjkzYjAuLjZkOTRiMWYgMTAwNzU1Ci0tLSBhL3QvdDM0MDAtcmViYXNlLnNoCisrKyBiL3QvdDM0MDAtcmViYXNlLnNoCkBAIC0xMzQsMTIgKzEzNCwyMiBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVmYXVsdCB0byBAe3Vwc3RyZWFtfSB3aGVuIHVwc3RyZWFtIGFyZyBpcyBtaXNzaW5nJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWZhdWx0IHRvIGNvbW1vbiBiYXNlIGluIEB7dXBzdHJlYW19cyByZWZsb2cgaWYgbm8gdXBzdHJlYW0gYXJnJyAnCisJZ2l0IGNoZWNrb3V0IC1iIGRlZmF1bHQtYmFzZSBtYXN0ZXIgJiYKIAlnaXQgY2hlY2tvdXQgLWIgZGVmYXVsdCB0b3BpYyAmJgogCWdpdCBjb25maWcgYnJhbmNoLmRlZmF1bHQucmVtb3RlIC4gJiYKLQlnaXQgY29uZmlnIGJyYW5jaC5kZWZhdWx0Lm1lcmdlIHJlZnMvaGVhZHMvbWFzdGVyICYmCisJZ2l0IGNvbmZpZyBicmFuY2guZGVmYXVsdC5tZXJnZSByZWZzL2hlYWRzL2RlZmF1bHQtYmFzZSAmJgogCWdpdCByZWJhc2UgJiYKLQl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgZGVmYXVsdH4xKSIgPSAiJChnaXQgcmV2LXBhcnNlIG1hc3RlcikiCisJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBkZWZhdWx0LWJhc2UgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgZGVmYXVsdH4xID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IGNoZWNrb3V0IGRlZmF1bHQtYmFzZSAmJgorCWdpdCByZXNldCAtLWhhcmQgSEVBRF4gJiYKKwlnaXQgY2hlY2tvdXQgZGVmYXVsdCAmJgorCWdpdCByZWJhc2UgJiYKKwlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IGRlZmF1bHQtYmFzZSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSBkZWZhdWx0fjEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC1xIGlzIHF1aWV0JyAnCmRpZmYgLS1naXQgYS90L3QzNTAxLXJldmVydC1jaGVycnktcGljay5zaCBiL3QvdDM1MDEtcmV2ZXJ0LWNoZXJyeS1waWNrLnNoCmluZGV4IDZmNDg5ZTIuLjUxZjNiYmIgMTAwNzU1Ci0tLSBhL3QvdDM1MDEtcmV2ZXJ0LWNoZXJyeS1waWNrLnNoCisrKyBiL3QvdDM1MDEtcmV2ZXJ0LWNoZXJyeS1waWNrLnNoCkBAIC0xMDAsNyArMTAwLDcgQEAKIAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVyeS1waWNrIG9uIHVuYm9ybiBicmFuY2gnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeS1waWNrIG9uIHVuYm9ybiBicmFuY2gnICcKIAlnaXQgY2hlY2tvdXQgLS1vcnBoYW4gdW5ib3JuICYmCiAJZ2l0IHJtIC0tY2FjaGVkIC1yIC4gJiYKIAlybSAtcmYgKiAmJgpAQCAtMTA5LDQgKzEwOSwzNiBAQAogCSEgdGVzdF9jbXBfcmV2IGluaXRpYWwgSEVBRAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVycnktcGljayAiLSIgdG8gcGljayBmcm9tIHByZXZpb3VzIGJyYW5jaCcgJworCWdpdCBjaGVja291dCB1bmJvcm4gJiYKKwl0ZXN0X2NvbW1pdCB0by1waWNrIGFjdHVhbCBjb250ZW50ICYmCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCWdpdCBjaGVycnktcGljayAtICYmCisJZWNobyBjb250ZW50ID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeS1waWNrICItIiBpcyBtZWFuaW5nbGVzcyB3aXRob3V0IGNoZWNrb3V0JyAnCisJdGVzdF9jcmVhdGVfcmVwbyBhZnJlc2ggJiYKKwkoCisJCWNkIGFmcmVzaCAmJgorCQl0ZXN0X2NvbW1pdCBvbmUgJiYKKwkJdGVzdF9jb21taXQgdHdvICYmCisJCXRlc3RfY29tbWl0IHRocmVlICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayAtCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVycnktcGljayAiLSIgd29ya3Mgd2l0aCBhcmd1bWVudHMnICcKKwlnaXQgY2hlY2tvdXQgLWIgc2lkZS1icmFuY2ggJiYKKwl0ZXN0X2NvbW1pdCBjaGFuZ2UgYWN0dWFsIGNoYW5nZSAmJgorCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwlnaXQgY2hlcnJ5LXBpY2sgLXMgLSAmJgorCWVjaG8gIlNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4iID5leHBlY3QgJiYKKwlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBncmVwIF5TaWduZWQtb2ZmLWJ5OiA+c2lnbm9mZiAmJgorCXRlc3RfY21wIGV4cGVjdCBzaWdub2ZmICYmCisJZWNobyBjaGFuZ2UgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzNTA2LWNoZXJyeS1waWNrLWZmLnNoIGIvdC90MzUwNi1jaGVycnktcGljay1mZi5zaAppbmRleCAzNzNhYWQ2Li5mYjg4OWFjIDEwMDc1NQotLS0gYS90L3QzNTA2LWNoZXJyeS1waWNrLWZmLnNoCisrKyBiL3QvdDM1MDYtY2hlcnJ5LXBpY2stZmYuc2gKQEAgLTEwNSw3ICsxMDUsNyBAQAogCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKSIgPSAiMWRmMTkyY2Q4YmM1OGEyYjI3NWQ4NDJjZWRlNGQyMjFhZDkwMDBkMSIKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlcnktcGljayAtLWZmIG9uIHVuYm9ybiBicmFuY2gnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeS1waWNrIC0tZmYgb24gdW5ib3JuIGJyYW5jaCcgJwogCWdpdCBjaGVja291dCAtLW9ycGhhbiB1bmJvcm4gJiYKIAlnaXQgcm0gLS1jYWNoZWQgLXIgLiAmJgogCXJtIC1yZiAqICYmCmRpZmYgLS1naXQgYS90L3QzNTA5LWNoZXJyeS1waWNrLW1lcmdlLWRmLnNoIGIvdC90MzUwOS1jaGVycnktcGljay1tZXJnZS1kZi5zaAppbmRleCBhNWI2YTVmLi4xZTViMzk0IDEwMDc1NQotLS0gYS90L3QzNTA5LWNoZXJyeS1waWNrLW1lcmdlLWRmLnNoCisrKyBiL3QvdDM1MDktY2hlcnJ5LXBpY2stbWVyZ2UtZGYuc2gKQEAgLTc0LDcgKzc0LDcgQEAKIAllY2hvIGNvbnRlbnQgPiBzdWIvZmlsZSAmJgogCWVjaG8gZm9vID4gb3RoZXJzdWIvd2hhdGV2ZXIgJiYKIAlnaXQgYWRkIC1BICYmCi0JZ2l0IGNvbW1pdCAtbSAiQ29tbW9uIGNvbW1taXQiICYmCisJZ2l0IGNvbW1pdCAtbSAiQ29tbW9uIGNvbW1pdCIgJiYKIAogCWdpdCBybSAtcmYgb3RoZXJzdWIgJiYKIAlnaXQgbXYgc3ViL2ZpbGUgb3RoZXJzdWIgJiYKZGlmZiAtLWdpdCBhL3QvdDM2MDAtcm0uc2ggYi90L3QzNjAwLXJtLnNoCmluZGV4IDVjODdiNTUuLjNkMzA1ODEgMTAwNzU1Ci0tLSBhL3QvdDM2MDAtcm0uc2gKKysrIGIvdC90MzYwMC1ybS5zaApAQCAtMjQwLDE4ICsyNDAsMTUgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hva2luZyAiZ2l0IHJtIiBzaG91bGQgbm90IGxldCBpdCBkaWUgd2l0aCBjcnVmdCcgJwogCWdpdCByZXNldCAtcSAtLWhhcmQgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXQvaW5kZXgubG9jayAmJiBnaXQgcmVzZXQgLXEgLS1oYXJkIiAmJgogCWk9MCAmJgogCXdoaWxlIHRlc3QgJGkgLWx0IDEyMDAwCiAJZG8KLQkgICAgZWNobyAiMTAwNjQ0ICRfejQwIDAJc29tZS1maWxlLSRpIgorCSAgICBlY2hvICIxMDA2NDQgMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCAwCXNvbWUtZmlsZS0kaSIKIAkgICAgaT0kKCggJGkgKyAxICkpCiAJZG9uZSB8IGdpdCB1cGRhdGUtaW5kZXggLS1pbmRleC1pbmZvICYmCi0JZ2l0IHJtIC1uICJzb21lLWZpbGUtKiIgfCA6OwotCXRlc3QgLWYgLmdpdC9pbmRleC5sb2NrCi0Jc3RhdHVzPSQ/Ci0Jcm0gLWYgLmdpdC9pbmRleC5sb2NrCi0JZ2l0IHJlc2V0IC1xIC0taGFyZAotCXRlc3QgIiRzdGF0dXMiICE9IDAKKwlnaXQgcm0gLW4gInNvbWUtZmlsZS0qIiB8IDogJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyAuZ2l0L2luZGV4LmxvY2sKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncm0gcmVtb3ZlcyBzdWJkaXJlY3RvcmllcyByZWN1cnNpdmVseScgJwpAQCAtMjYzLDYgKzI2MCw3IEBACiAnCiAKIGNhdCA+ZXhwZWN0IDw8RU9GCitNICAuZ2l0bW9kdWxlcwogRCAgc3VibW9kCiBFT0YKIApAQCAtMjcwLDYgKzI2OCwxNSBAQAogIE0gc3VibW9kCiBFT0YKIAorY2F0ID5leHBlY3QuY2FjaGVkIDw8RU9GCitEICBzdWJtb2QKK0VPRgorCitjYXQgPmV4cGVjdC5ib3RoX2RlbGV0ZWQ8PEVPRgorRCAgLmdpdG1vZHVsZXMKK0QgIHN1Ym1vZAorRU9GCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JtIHJlbW92ZXMgZW1wdHkgc3VibW9kdWxlcyBmcm9tIHdvcmsgdHJlZScgJwogCW1rZGlyIHN1Ym1vZCAmJgogCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgLS1jYWNoZWluZm8gMTYwMDAwICQoZ2l0IHJldi1wYXJzZSBIRUFEKSBzdWJtb2QgJiYKQEAgLTI4MSwxNiArMjg4LDIwIEBACiAJZ2l0IHJtIHN1Ym1vZCAmJgogCXRlc3QgISAtZSBzdWJtb2QgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID4gYWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIudXJsICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc3ViLnBhdGgKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAncm0gcmVtb3ZlcyByZW1vdmVkIHN1Ym1vZHVsZSBmcm9tIGluZGV4JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdybSByZW1vdmVzIHJlbW92ZWQgc3VibW9kdWxlIGZyb20gaW5kZXggYW5kIC5naXRtb2R1bGVzJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWdpdCBzdWJtb2R1bGUgdXBkYXRlICYmCiAJcm0gLXJmIHN1Ym1vZCAmJgogCWdpdCBybSBzdWJtb2QgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID4gYWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIudXJsICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc3ViLnBhdGgKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncm0gcmVtb3ZlcyB3b3JrIHRyZWUgb2YgdW5tb2RpZmllZCBzdWJtb2R1bGVzJyAnCkBAIC0yOTksNyArMzEwLDkgQEAKIAlnaXQgcm0gc3VibW9kICYmCiAJdGVzdCAhIC1kIHN1Ym1vZCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPiBhY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnN1Yi51cmwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIucGF0aAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdybSByZW1vdmVzIGEgc3VibW9kdWxlIHdpdGggYSB0cmFpbGluZyAvJyAnCkBAIC0zMzMsNiArMzQ2LDcyIEBACiAJZ2l0IHJtIC1mIHN1Ym1vZCAmJgogCXRlc3QgISAtZCBzdWJtb2QgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID4gYWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnN1Yi51cmwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIucGF0aAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdybSAtLWNhY2hlZCBsZWF2ZXMgd29yayB0cmVlIG9mIHBvcHVsYXRlZCBzdWJtb2R1bGVzIGFuZCAuZ2l0bW9kdWxlcyBhbG9uZScgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwlnaXQgc3VibW9kdWxlIHVwZGF0ZSAmJgorCWdpdCBybSAtLWNhY2hlZCBzdWJtb2QgJiYKKwl0ZXN0IC1kIHN1Ym1vZCAmJgorCXRlc3QgLWYgc3VibW9kLy5naXQgJiYKKwlnaXQgc3RhdHVzIC1zIC11bm8gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdC5jYWNoZWQgYWN0dWFsICYmCisJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc3ViLnVybCAmJgorCWdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnN1Yi5wYXRoCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JtIC0tZHJ5LXJ1biBkb2VzIG5vdCB0b3VjaCB0aGUgc3VibW9kdWxlIG9yIC5naXRtb2R1bGVzJyAnCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWdpdCBzdWJtb2R1bGUgdXBkYXRlICYmCisJZ2l0IHJtIC1uIHN1Ym1vZCAmJgorCXRlc3QgLWYgc3VibW9kLy5naXQgJiYKKwlnaXQgZGlmZi1pbmRleCAtLWV4aXQtY29kZSBIRUFECisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JtIGRvZXMgbm90IGNvbXBsYWluIHdoZW4gbm8gLmdpdG1vZHVsZXMgZmlsZSBpcyBmb3VuZCcgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwlnaXQgc3VibW9kdWxlIHVwZGF0ZSAmJgorCWdpdCBybSAuZ2l0bW9kdWxlcyAmJgorCWdpdCBybSBzdWJtb2QgPmFjdHVhbCAyPmFjdHVhbC5lcnIgJiYKKwkhIHRlc3QgLXMgYWN0dWFsLmVyciAmJgorCSEgdGVzdCAtZCBzdWJtb2QgJiYKKwkhIHRlc3QgLWYgc3VibW9kLy5naXQgJiYKKwlnaXQgc3RhdHVzIC1zIC11bm8gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdC5ib3RoX2RlbGV0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JtIHdpbGwgZXJyb3Igb3V0IG9uIGEgbW9kaWZpZWQgLmdpdG1vZHVsZXMgZmlsZSB1bmxlc3Mgc3RhZ2VkJyAnCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWdpdCBzdWJtb2R1bGUgdXBkYXRlICYmCisJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBmb28uYmFyIHRydWUgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcm0gc3VibW9kID5hY3R1YWwgMj5hY3R1YWwuZXJyICYmCisJdGVzdCAtcyBhY3R1YWwuZXJyICYmCisJdGVzdCAtZCBzdWJtb2QgJiYKKwl0ZXN0IC1mIHN1Ym1vZC8uZ2l0ICYmCisJZ2l0IGRpZmYtZmlsZXMgLS1xdWlldCAtLSBzdWJtb2QgJiYKKwlnaXQgYWRkIC5naXRtb2R1bGVzICYmCisJZ2l0IHJtIHN1Ym1vZCA+YWN0dWFsIDI+YWN0dWFsLmVyciAmJgorCSEgdGVzdCAtcyBhY3R1YWwuZXJyICYmCisJISB0ZXN0IC1kIHN1Ym1vZCAmJgorCSEgdGVzdCAtZiBzdWJtb2QvLmdpdCAmJgorCWdpdCBzdGF0dXMgLXMgLXVubyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdybSBpc3N1ZXMgYSB3YXJuaW5nIHdoZW4gc2VjdGlvbiBpcyBub3QgZm91bmQgaW4gLmdpdG1vZHVsZXMnICcKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgJiYKKwlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIC0tcmVtb3ZlLXNlY3Rpb24gc3VibW9kdWxlLnN1YiAmJgorCWdpdCBhZGQgLmdpdG1vZHVsZXMgJiYKKwllY2hvICJ3YXJuaW5nOiBDb3VsZCBub3QgZmluZCBzZWN0aW9uIGluIC5naXRtb2R1bGVzIHdoZXJlIHBhdGg9c3VibW9kIiA+ZXhwZWN0LmVyciAmJgorCWdpdCBybSBzdWJtb2QgPmFjdHVhbCAyPmFjdHVhbC5lcnIgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0LmVyciBhY3R1YWwuZXJyICYmCisJISB0ZXN0IC1kIHN1Ym1vZCAmJgorCSEgdGVzdCAtZiBzdWJtb2QvLmdpdCAmJgorCWdpdCBzdGF0dXMgLXMgLXVubyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCkBAIC00MjcsNyArNTA2LDkgQEAKIAlnaXQgcm0gLWYgc3VibW9kICYmCiAJdGVzdCAhIC1kIHN1Ym1vZCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPiBhY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnN1Yi51cmwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIucGF0aAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdybSBvZiBhIGNvbmZsaWN0ZWQgcG9wdWxhdGVkIHN1Ym1vZHVsZSB3aXRoIG1vZGlmaWNhdGlvbnMgZmFpbHMgdW5sZXNzIGZvcmNlZCcgJwpAQCAtNDQ2LDcgKzUyNyw5IEBACiAJZ2l0IHJtIC1mIHN1Ym1vZCAmJgogCXRlc3QgISAtZCBzdWJtb2QgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID4gYWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIudXJsICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc3ViLnBhdGgKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncm0gb2YgYSBjb25mbGljdGVkIHBvcHVsYXRlZCBzdWJtb2R1bGUgd2l0aCB1bnRyYWNrZWQgZmlsZXMgZmFpbHMgdW5sZXNzIGZvcmNlZCcgJwpAQCAtNjIyLDYgKzcwNSwyMiBAQAogCXJtIC1yZiBzdWJtb2QKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tpbmcgb3V0IGEgY29tbWl0IGFmdGVyIHN1Ym1vZHVsZSByZW1vdmFsIG5lZWRzIG1hbnVhbCB1cGRhdGVzJyAnCisJZ2l0IGNvbW1pdCAtbSAic3VibW9kdWxlIHJlbW92YWwiIHN1Ym1vZCAmJgorCWdpdCBjaGVja291dCBIRUFEXiAmJgorCWdpdCBzdWJtb2R1bGUgdXBkYXRlICYmCisJZ2l0IGNoZWNrb3V0IC1xIEhFQUReIDI+YWN0dWFsICYmCisJZ2l0IGNoZWNrb3V0IC1xIG1hc3RlciAyPmFjdHVhbCAmJgorCWVjaG8gIndhcm5pbmc6IHVuYWJsZSB0byBybWRpciBzdWJtb2Q6IERpcmVjdG9yeSBub3QgZW1wdHkiID5leHBlY3RlZCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwgJiYKKwlnaXQgc3RhdHVzIC1zIHN1Ym1vZCA+YWN0dWFsICYmCisJZWNobyAiPz8gc3VibW9kLyIgPmV4cGVjdGVkICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisJcm0gLXJmIHN1Ym1vZCAmJgorCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPiBhY3R1YWwgJiYKKwkhIHRlc3QgLXMgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JtIG9mIGQvZiB3aGVuIGQgaGFzIGJlY29tZSBhIG5vbi1kaXJlY3RvcnknICcKIAlybSAtcmYgZCAmJgogCW1rZGlyIGQgJiYKZGlmZiAtLWdpdCBhL3QvdDM3MDAtYWRkLnNoIGIvdC90MzcwMC1hZGQuc2gKaW5kZXggYWFiODZlOC4uZmUyNzRlMiAxMDA3NTUKLS0tIGEvdC90MzcwMC1hZGQuc2gKKysrIGIvdC90MzcwMC1hZGQuc2gKQEAgLTI3Miw2ICsyNzIsMjUgQEAKIAkhIChnaXQgbHMtZmlsZXMgfCBncmVwICJub24tZXhpc3RlbnQiKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgYWRkIC1BIG9uIGVtcHR5IHJlcG8gZG9lcyBub3QgZXJyb3Igb3V0JyAnCisJcm0gLWZyIGVtcHR5ICYmCisJZ2l0IGluaXQgZW1wdHkgJiYKKwkoCisJCWNkIGVtcHR5ICYmCisJCWdpdCBhZGQgLUEgLiAmJgorCQlnaXQgYWRkIC1BCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICciZ2l0IGFkZCAuIiBpbiBlbXB0eSByZXBvJyAnCisJcm0gLWZyIGVtcHR5ICYmCisJZ2l0IGluaXQgZW1wdHkgJiYKKwkoCisJCWNkIGVtcHR5ICYmCisJCWdpdCBhZGQgLgorCSkKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGFkZCAtLWRyeS1ydW4gb2YgZXhpc3RpbmcgY2hhbmdlZCBmaWxlJyAiCiAJZWNobyBuZXcgPj50cmFjay10aGlzICYmCiAJZ2l0IGFkZCAtLWRyeS1ydW4gdHJhY2stdGhpcyA+YWN0dWFsIDI+JjEgJiYKZGlmZiAtLWdpdCBhL3QvdDM3MDEtYWRkLWludGVyYWN0aXZlLnNoIGIvdC90MzcwMS1hZGQtaW50ZXJhY3RpdmUuc2gKaW5kZXggOWZhYjI1Yy4uMjRkZGQ4YSAxMDA3NTUKLS0tIGEvdC90MzcwMS1hZGQtaW50ZXJhY3RpdmUuc2gKKysrIGIvdC90MzcwMS1hZGQtaW50ZXJhY3RpdmUuc2gKQEAgLTIsMjAgKzIsMjUgQEAKIAogdGVzdF9kZXNjcmlwdGlvbj0nYWRkIC1pIGJhc2ljIHRlc3RzJwogLiAuL3Rlc3QtbGliLnNoCi0uICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1wcmVyZXEtRklMRU1PREUuc2gKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdzZXR1cCAoaW5pdGlhbCknICcKK2lmICEgdGVzdF9oYXZlX3ByZXJlcSBQRVJMCit0aGVuCisJc2tpcF9hbGw9J3NraXBwaW5nIGFkZCAtaSB0ZXN0cywgcGVybCBub3QgYXZhaWxhYmxlJworCXRlc3RfZG9uZQorZmkKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgKGluaXRpYWwpJyAnCiAJZWNobyBjb250ZW50ID5maWxlICYmCiAJZ2l0IGFkZCBmaWxlICYmCiAJZWNobyBtb3JlID4+ZmlsZSAmJgogCWVjaG8gbGluZXMgPj5maWxlCiAnCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3N0YXR1cyB3b3JrcyAoaW5pdGlhbCknICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyB3b3JrcyAoaW5pdGlhbCknICcKIAlnaXQgYWRkIC1pIDwvZGV2L251bGwgPm91dHB1dCAmJgogCWdyZXAgIisxLy0wICorMi8tMCBmaWxlIiBvdXRwdXQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdzZXR1cCBleHBlY3RlZCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZXhwZWN0ZWQnICcKIGNhdCA+ZXhwZWN0ZWQgPDxFT0YKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiBpbmRleCAwMDAwMDAwLi5kOTVmM2FkCkBAIC0yNiwxOSArMzEsMTkgQEAKIEVPRgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ2RpZmYgd29ya3MgKGluaXRpYWwpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmIHdvcmtzIChpbml0aWFsKScgJwogCShlY2hvIGQ7IGVjaG8gMSkgfCBnaXQgYWRkIC1pID5vdXRwdXQgJiYKIAlzZWQgLW5lICIvbmV3IGZpbGUvLC9jb250ZW50L3AiIDxvdXRwdXQgPmRpZmYgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBkaWZmCiAnCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3JldmVydCB3b3JrcyAoaW5pdGlhbCknICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JldmVydCB3b3JrcyAoaW5pdGlhbCknICcKIAlnaXQgYWRkIGZpbGUgJiYKIAkoZWNobyByOyBlY2hvIDEpIHwgZ2l0IGFkZCAtaSAmJgogCWdpdCBscy1maWxlcyA+b3V0cHV0ICYmCiAJISBncmVwIC4gb3V0cHV0CiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnc2V0dXAgKGNvbW1pdCknICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIChjb21taXQpJyAnCiAJZWNobyBiYXNlbGluZSA+ZmlsZSAmJgogCWdpdCBhZGQgZmlsZSAmJgogCWdpdCBjb21taXQgLW0gY29tbWl0ICYmCkBAIC00NywxMiArNTIsMTIgQEAKIAllY2hvIG1vcmUgPj5maWxlICYmCiAJZWNobyBsaW5lcyA+PmZpbGUKICcKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnc3RhdHVzIHdvcmtzIChjb21taXQpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgd29ya3MgKGNvbW1pdCknICcKIAlnaXQgYWRkIC1pIDwvZGV2L251bGwgPm91dHB1dCAmJgogCWdyZXAgIisxLy0wICorMi8tMCBmaWxlIiBvdXRwdXQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdzZXR1cCBleHBlY3RlZCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZXhwZWN0ZWQnICcKIGNhdCA+ZXhwZWN0ZWQgPDxFT0YKIGluZGV4IDE4MGI0N2MuLmI2ZjJjMDggMTAwNjQ0CiAtLS0gYS9maWxlCkBAIC02MywxMiArNjgsMTIgQEAKIEVPRgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ2RpZmYgd29ya3MgKGNvbW1pdCknICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYgd29ya3MgKGNvbW1pdCknICcKIAkoZWNobyBkOyBlY2hvIDEpIHwgZ2l0IGFkZCAtaSA+b3V0cHV0ICYmCiAJc2VkIC1uZSAiL15pbmRleC8sL2NvbnRlbnQvcCIgPG91dHB1dCA+ZGlmZiAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGRpZmYKICcKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAncmV2ZXJ0IHdvcmtzIChjb21taXQpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXZlcnQgd29ya3MgKGNvbW1pdCknICcKIAlnaXQgYWRkIGZpbGUgJiYKIAkoZWNobyByOyBlY2hvIDEpIHwgZ2l0IGFkZCAtaSAmJgogCWdpdCBhZGQgLWkgPC9kZXYvbnVsbCA+b3V0cHV0ICYmCkBAIC03NiwyNCArODEsMjQgQEAKICcKIAogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3NldHVwIGV4cGVjdGVkJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBleHBlY3RlZCcgJwogY2F0ID5leHBlY3RlZCA8PEVPRgogRU9GCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnc2V0dXAgZmFrZSBlZGl0b3InICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGZha2UgZWRpdG9yJyAnCiAJPmZha2VfZWRpdG9yLnNoICYmCiAJY2htb2QgYSt4IGZha2VfZWRpdG9yLnNoICYmCiAJdGVzdF9zZXRfZWRpdG9yICIkKHB3ZCkvZmFrZV9lZGl0b3Iuc2giCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnZHVtbXkgZWRpdCB3b3JrcycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZHVtbXkgZWRpdCB3b3JrcycgJwogCShlY2hvIGU7IGVjaG8gYSkgfCBnaXQgYWRkIC1wICYmCiAJZ2l0IGRpZmYgPiBkaWZmICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgZGlmZgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3NldHVwIHBhdGNoJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBwYXRjaCcgJwogY2F0ID5wYXRjaCA8PEVPRgogQEAgLTEsMSArMSw0IEBACiAgdGhpcwpAQCAtMTAzLDcgKzEwOCw3IEBACiBFT0YKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdzZXR1cCBmYWtlIGVkaXRvcicgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZmFrZSBlZGl0b3InICcKIAllY2hvICIjISRTSEVMTF9QQVRIIiA+ZmFrZV9lZGl0b3Iuc2ggJiYKIAljYXQgPj5mYWtlX2VkaXRvci5zaCA8PFxFT0YgJiYKIG12IC1mICIkMSIgb2xkcGF0Y2ggJiYKQEAgLTExMywyNiArMTE4LDI2IEBACiAJdGVzdF9zZXRfZWRpdG9yICIkKHB3ZCkvZmFrZV9lZGl0b3Iuc2giCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnYmFkIGVkaXQgcmVqZWN0ZWQnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JhZCBlZGl0IHJlamVjdGVkJyAnCiAJZ2l0IHJlc2V0ICYmCiAJKGVjaG8gZTsgZWNobyBuOyBlY2hvIGQpIHwgZ2l0IGFkZCAtcCA+b3V0cHV0ICYmCiAJZ3JlcCAiaHVuayBkb2VzIG5vdCBhcHBseSIgb3V0cHV0CiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnc2V0dXAgcGF0Y2gnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHBhdGNoJyAnCiBjYXQgPnBhdGNoIDw8RU9GCiB0aGlzIHBhdGNoCiBpcyBnYXJiYWdlCiBFT0YKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdnYXJiYWdlIGVkaXQgcmVqZWN0ZWQnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dhcmJhZ2UgZWRpdCByZWplY3RlZCcgJwogCWdpdCByZXNldCAmJgogCShlY2hvIGU7IGVjaG8gbjsgZWNobyBkKSB8IGdpdCBhZGQgLXAgPm91dHB1dCAmJgogCWdyZXAgImh1bmsgZG9lcyBub3QgYXBwbHkiIG91dHB1dAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3NldHVwIHBhdGNoJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBwYXRjaCcgJwogY2F0ID5wYXRjaCA8PEVPRgogQEAgLTEsMCArMSwwIEBACiAgYmFzZWxpbmUKQEAgLTE0Miw3ICsxNDcsNyBAQAogRU9GCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnc2V0dXAgZXhwZWN0ZWQnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGV4cGVjdGVkJyAnCiBjYXQgPmV4cGVjdGVkIDw8RU9GCiBkaWZmIC0tZ2l0IGEvZmlsZSBiL2ZpbGUKIGluZGV4IGI1ZGQ2YzkuLmY5MTBhZTkgMTAwNjQ0CkBAIC0xNTcsMTMgKzE2MiwxMyBAQAogRU9GCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAncmVhbCBlZGl0IHdvcmtzJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWFsIGVkaXQgd29ya3MnICcKIAkoZWNobyBlOyBlY2hvIG47IGVjaG8gZCkgfCBnaXQgYWRkIC1wICYmCiAJZ2l0IGRpZmYgPm91dHB1dCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIG91dHB1dAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3NraXAgZmlsZXMgc2ltaWxhcmx5IGFzIGNvbW1pdCAtYScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2tpcCBmaWxlcyBzaW1pbGFybHkgYXMgY29tbWl0IC1hJyAnCiAJZ2l0IHJlc2V0ICYmCiAJZWNobyBmaWxlID4uZ2l0aWdub3JlICYmCiAJZWNobyBjaGFuZ2VkID5maWxlICYmCkBAIC0xNzcsNyArMTgyLDcgQEAKICcKIHJtIC1mIC5naXRpZ25vcmUKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMLEZJTEVNT0RFICdwYXRjaCBkb2VzIG5vdCBhZmZlY3QgbW9kZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBGSUxFTU9ERSAncGF0Y2ggZG9lcyBub3QgYWZmZWN0IG1vZGUnICcKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZWNobyBjb250ZW50ID4+ZmlsZSAmJgogCWNobW9kICt4IGZpbGUgJiYKQEAgLTE4Niw3ICsxOTEsNyBAQAogCWdpdCBkaWZmIGZpbGUgfCBncmVwICJuZXcgbW9kZSIKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMLEZJTEVNT0RFICdzdGFnZSBtb2RlIGJ1dCBub3QgaHVuaycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBGSUxFTU9ERSAnc3RhZ2UgbW9kZSBidXQgbm90IGh1bmsnICcKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZWNobyBjb250ZW50ID4+ZmlsZSAmJgogCWNobW9kICt4IGZpbGUgJiYKQEAgLTE5Niw3ICsyMDEsNyBAQAogJwogCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCxGSUxFTU9ERSAnc3RhZ2UgbW9kZSBhbmQgaHVuaycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBGSUxFTU9ERSAnc3RhZ2UgbW9kZSBhbmQgaHVuaycgJwogCWdpdCByZXNldCAtLWhhcmQgJiYKIAllY2hvIGNvbnRlbnQgPj5maWxlICYmCiAJY2htb2QgK3ggZmlsZSAmJgpAQCAtMjA4LDE0ICsyMTMsMTQgQEAKIAogIyBlbmQgb2YgdGVzdHMgZGlzYWJsZWQgd2hlbiBmaWxlbW9kZSBpcyBub3QgdXNhYmxlCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnc2V0dXAgYWdhaW4nICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGFnYWluJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCXRlc3RfY2htb2QgK3ggZmlsZSAmJgogCWVjaG8gY29udGVudCA+PmZpbGUKICcKIAogIyBXcml0ZSB0aGUgcGF0Y2ggZmlsZSB3aXRoIGEgbmV3IGxpbmUgYXQgdGhlIHRvcCBhbmQgYm90dG9tCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3NldHVwIHBhdGNoJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBwYXRjaCcgJwogY2F0ID5wYXRjaCA8PEVPRgogaW5kZXggMTgwYjQ3Yy4uYjZmMmMwOCAxMDA2NDQKIC0tLSBhL2ZpbGUKQEAgLTIyOSw3ICsyMzQsNyBAQAogJwogCiAjIEV4cGVjdGVkIG91dHB1dCwgc2ltaWxhciB0byB0aGUgcGF0Y2ggYnV0IHcvIGRpZmYgYXQgdGhlIHRvcAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdzZXR1cCBleHBlY3RlZCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZXhwZWN0ZWQnICcKIGNhdCA+ZXhwZWN0ZWQgPDxFT0YKIGRpZmYgLS1naXQgYS9maWxlIGIvZmlsZQogaW5kZXggYjZmMmMwOC4uNjFiOTA1MyAxMDA3NTUKQEAgLTI0NCw3ICsyNDksNyBAQAogJwogCiAjIFRlc3Qgc3BsaXR0aW5nIHRoZSBmaXJzdCBwYXRjaCwgdGhlbiBhZGRpbmcgYm90aAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdhZGQgZmlyc3QgbGluZSB3b3JrcycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYWRkIGZpcnN0IGxpbmUgd29ya3MnICcKIAlnaXQgY29tbWl0IC1hbSAiY2xlYXIgbG9jYWwgY2hhbmdlcyIgJiYKIAlnaXQgYXBwbHkgcGF0Y2ggJiYKIAkoZWNobyBzOyBlY2hvIHk7IGVjaG8geSkgfCBnaXQgYWRkIC1wIGZpbGUgJiYKQEAgLTI1Miw3ICsyNTcsNyBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGRpZmYKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdzZXR1cCBleHBlY3RlZCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZXhwZWN0ZWQnICcKIGNhdCA+ZXhwZWN0ZWQgPDxFT0YKIGRpZmYgLS1naXQgYS9ub24tZW1wdHkgYi9ub24tZW1wdHkKIGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApAQCAtMjY0LDcgKzI2OSw3IEBACiBFT0YKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdkZWxldGluZyBhIG5vbi1lbXB0eSBmaWxlJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWxldGluZyBhIG5vbi1lbXB0eSBmaWxlJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWVjaG8gY29udGVudCA+bm9uLWVtcHR5ICYmCiAJZ2l0IGFkZCBub24tZW1wdHkgJiYKQEAgLTI3NSw3ICsyODAsNyBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGRpZmYKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdzZXR1cCBleHBlY3RlZCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZXhwZWN0ZWQnICcKIGNhdCA+ZXhwZWN0ZWQgPDxFT0YKIGRpZmYgLS1naXQgYS9lbXB0eSBiL2VtcHR5CiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKQEAgLTI4Myw3ICsyODgsNyBAQAogRU9GCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnZGVsZXRpbmcgYW4gZW1wdHkgZmlsZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVsZXRpbmcgYW4gZW1wdHkgZmlsZScgJwogCWdpdCByZXNldCAtLWhhcmQgJiYKIAk+IGVtcHR5ICYmCiAJZ2l0IGFkZCBlbXB0eSAmJgpAQCAtMjk0LDcgKzI5OSw3IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgZGlmZgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3NwbGl0IGh1bmsgc2V0dXAnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NwbGl0IGh1bmsgc2V0dXAnICcKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZm9yIGkgaW4gMTAgMjAgMzAgNDAgNTAgNjAKIAlkbwpAQCAtMzEwLDcgKzMxNSw3IEBACiAJZG9uZSA+dGVzdAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3NwbGl0IGh1bmsgImFkZCAtcCAoZWRpdCkiJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzcGxpdCBodW5rICJhZGQgLXAgKGVkaXQpIicgJwogCSMgU3BsaXQsIHNheSBFZGl0IGFuZCBkbyBub3RoaW5nLiAgVGhlbjoKIAkjCiAJIyAxLiBCcm9rZW4gdmVyc2lvbiByZXN1bHRzIGluIGEgcGF0Y2ggdGhhdCBkb2VzIG5vdCBhcHBseSBhbmQKZGlmZiAtLWdpdCBhL3QvdDM5MDMtc3Rhc2guc2ggYi90L3QzOTAzLXN0YXNoLnNoCmluZGV4IGRlYmRhN2EuLjViNzliMjEgMTAwNzU1Ci0tLSBhL3QvdDM5MDMtc3Rhc2guc2gKKysrIGIvdC90MzkwMy1zdGFzaC5zaApAQCAtNjczLDQgKzY3MywxNiBAQAogCWdyZXAgcXV1eCBiYXp6eQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdoYW5kbGUgc3Rhc2ggc3BlY2lmaWNhdGlvbiB3aXRoIHNwYWNlcycgJworCWdpdCBzdGFzaCBjbGVhciAmJgorCWVjaG8gcGlnID5maWxlICYmCisJZ2l0IHN0YXNoICYmCisJc3RhbXA9JChnaXQgbG9nIC1nIC0tZm9ybWF0PSIlY2QiIC0xIHJlZnMvc3Rhc2gpICYmCisJdGVzdF90aWNrICYmCisJZWNobyBjb3cgPmZpbGUgJiYKKwlnaXQgc3Rhc2ggJiYKKwlnaXQgc3Rhc2ggYXBwbHkgInN0YXNoQHskc3RhbXB9IiAmJgorCWdyZXAgcGlnIGZpbGUKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzOTEwLW1hYy1vcy1wcmVjb21wb3NlLnNoIGIvdC90MzkxMC1tYWMtb3MtcHJlY29tcG9zZS5zaAppbmRleCA1ZmU1N2M1Li5lNGJhNjAxIDEwMDc1NQotLS0gYS90L3QzOTEwLW1hYy1vcy1wcmVjb21wb3NlLnNoCisrKyBiL3QvdDM5MTAtbWFjLW9zLXByZWNvbXBvc2Uuc2gKQEAgLTM2LDcgKzM2LDcgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAiZGV0ZWN0IGlmIG5mZCBuZWVkZWQiICcKIAlwcmVjb21wb3NldW5pY29kZT1gZ2l0IGNvbmZpZyBjb3JlLnByZWNvbXBvc2V1bmljb2RlYCAmJgotCXRlc3QgIiRwcmVjb21wb3NldW5pY29kZSIgPSBmYWxzZSAmJgorCXRlc3QgIiRwcmVjb21wb3NldW5pY29kZSIgPSB0cnVlICYmCiAJZ2l0IGNvbmZpZyBjb3JlLnByZWNvbXBvc2V1bmljb2RlIHRydWUKICcKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgInNldHVwIiAnCmRpZmYgLS1naXQgYS90L3Q0MDEwLWRpZmYtcGF0aHNwZWMuc2ggYi90L3Q0MDEwLWRpZmYtcGF0aHNwZWMuc2gKaW5kZXggYWY1MTM0Yi4uOWY1NjU5ZiAxMDA3NTUKLS0tIGEvdC90NDAxMC1kaWZmLXBhdGhzcGVjLnNoCisrKyBiL3QvdDQwMTAtZGlmZi1wYXRoc3BlYy5zaApAQCAtMTEwLDQgKzExMCwzNCBAQAogCXRlc3RfY21wIGV4cGVjdGVkIHJlc3VsdAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBzdWJtb2R1bGVzJyAnCisJdGVzdF90aWNrICYmCisJZ2l0IGluaXQgc3VibW9kICYmCisJKCBjZCBzdWJtb2QgJiYgdGVzdF9jb21taXQgZmlyc3Q7ICkgJiYKKwlnaXQgYWRkIHN1Ym1vZCAmJgorCWdpdCBjb21taXQgLW0gZmlyc3QgJiYKKwkoIGNkIHN1Ym1vZCAmJiB0ZXN0X2NvbW1pdCBzZWNvbmQ7ICkgJiYKKwlnaXQgYWRkIHN1Ym1vZCAmJgorCWdpdCBjb21taXQgLW0gc2Vjb25kCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYtdHJlZSBpZ25vcmVzIHRyYWlsaW5nIHNsYXNoIG9uIHN1Ym1vZHVsZSBwYXRoJyAnCisJZ2l0IGRpZmYgLS1uYW1lLW9ubHkgSEVBRF4gSEVBRCBzdWJtb2QgPmV4cGVjdCAmJgorCWdpdCBkaWZmIC0tbmFtZS1vbmx5IEhFQUReIEhFQUQgc3VibW9kLyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmIG11bHRpcGxlIHdpbGRjYXJkIHBhdGhzcGVjcycgJworCW1rZGlyIHBhdGgyICYmCisJZWNobyByZXpyb3YgPnBhdGgyL2ZpbGUxICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCBwYXRoMi9maWxlMSAmJgorCXRyZWUzPWBnaXQgd3JpdGUtdHJlZWAgJiYKKwlnaXQgZGlmZiAtLW5hbWUtb25seSAkdHJlZSAkdHJlZTMgLS0gInBhdGgyKjEiICJwYXRoMSoxIiA+YWN0dWFsICYmCisJY2F0IDw8LVxFT0YgPmV4cGVjdCAmJgorCXBhdGgxL2ZpbGUxCisJcGF0aDIvZmlsZTEKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDAxNC1mb3JtYXQtcGF0Y2guc2ggYi90L3Q0MDE0LWZvcm1hdC1wYXRjaC5zaAppbmRleCA4ZjI3MmJjLi43MzE5NGIyIDEwMDc1NQotLS0gYS90L3Q0MDE0LWZvcm1hdC1wYXRjaC5zaAorKysgYi90L3Q0MDE0LWZvcm1hdC1wYXRjaC5zaApAQCAtMjkzLDcgKzI5Myw3IEBACiAJKGdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgIiRAIjsgZWNobyAkPyA+IHN0YXR1cy5vdXQpIHwKIAkjIFByaW50cyBldmVyeXRoaW5nIGJldHdlZW4gdGhlIE1lc3NhZ2UtSUQgYW5kIEluLVJlcGx5LVRvLAogCSMgYW5kIHJlcGxhY2VzIGFsbCBNZXNzYWdlLUlELWxvb2thbGlrZXMgYnkgYSBzZXF1ZW5jZSBudW1iZXIKLQkiJFBFUkxfUEFUSCIgLW5lICcKKwlwZXJsIC1uZSAnCiAJCWlmICgvXihtZXNzYWdlLWlkfHJlZmVyZW5jZXN8aW4tcmVwbHktdG8pL2kpIHsKIAkJCSRwcmludGluZyA9IDE7CiAJCX0gZWxzaWYgKC9eXFMvKSB7CmRpZmYgLS1naXQgYS90L3Q0MDE1LWRpZmYtd2hpdGVzcGFjZS5zaCBiL3QvdDQwMTUtZGlmZi13aGl0ZXNwYWNlLnNoCmluZGV4IDNmYjRiOTcuLjYwNGE4MzggMTAwNzU1Ci0tLSBhL3QvdDQwMTUtZGlmZi13aGl0ZXNwYWNlLnNoCisrKyBiL3QvdDQwMTUtZGlmZi13aGl0ZXNwYWNlLnNoCkBAIC0xNDUsNyArMTQ1LDcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2lnbm9yZS1ibGFuay1saW5lczogb25seSBuZXcgbGluZXMnICcKIAl0ZXN0X3NlcSA1ID54ICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCB4ICYmCi0JdGVzdF9zZXEgNSB8IHNlZCAiLzMvaSBcXAorCXRlc3Rfc2VxIDUgfCBzZWQgIi8zL2lcXAogIiA+eCAmJgogCWdpdCBkaWZmIC0taWdub3JlLWJsYW5rLWxpbmVzID5vdXQgJiYKIAk+ZXhwZWN0ICYmCkBAIC0xNTUsNyArMTU1LDggQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2lnbm9yZS1ibGFuay1saW5lczogb25seSBuZXcgbGluZXMgd2l0aCBzcGFjZScgJwogCXRlc3Rfc2VxIDUgPnggJiYKIAlnaXQgdXBkYXRlLWluZGV4IHggJiYKLQl0ZXN0X3NlcSA1IHwgc2VkICIvMy9pIFwgIiA+eCAmJgorCXRlc3Rfc2VxIDUgfCBzZWQgIi8zL2lcXAorICIgPnggJiYKIAlnaXQgZGlmZiAtdyAtLWlnbm9yZS1ibGFuay1saW5lcyA+b3V0ICYmCiAJPmV4cGVjdCAmJgogCXRlc3RfY21wIG91dCBleHBlY3QKZGlmZiAtLWdpdCBhL3QvdDQwMjAtZGlmZi1leHRlcm5hbC5zaCBiL3QvdDQwMjAtZGlmZi1leHRlcm5hbC5zaAppbmRleCAyZTdkNzNmLi5iY2FlMzVhIDEwMDc1NQotLS0gYS90L3Q0MDIwLWRpZmYtZXh0ZXJuYWwuc2gKKysrIGIvdC90NDAyMC1kaWZmLWV4dGVybmFsLnNoCkBAIC0xNzcsNyArMTc3LDcgQEAKIAlnaXQgZGlmZiB8IGdyZXAgQmluYXJ5CiAnCiAKLWVjaG8gTlVMWmJldHdlZW5ad29yZHMgfCAiJFBFUkxfUEFUSCIgLXBlICd5L1ovXDAwMC8nID4gZmlsZQorZWNobyBOVUxaYmV0d2Vlblp3b3JkcyB8IHBlcmwgLXBlICd5L1ovXDAwMC8nID4gZmlsZQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JjZSBkaWZmIHdpdGggImRpZmYiJyAnCiAJZWNobyA+LmdpdGF0dHJpYnV0ZXMgImZpbGUgZGlmZiIgJiYKQEAgLTE5Myw2ICsxOTMsMTkgQEAKIAlHSVRfRVhURVJOQUxfRElGRj1lY2hvIGdpdCBkaWZmCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0dJVF9FWFRFUk5BTF9ESUZGIHBhdGggY291bnRlci90b3RhbCcgJworCXdyaXRlX3NjcmlwdCBleHRlcm5hbC1kaWZmLnNoIDw8LVxFT0YgJiYKKwllY2hvICRHSVRfRElGRl9QQVRIX0NPVU5URVIgb2YgJEdJVF9ESUZGX1BBVEhfVE9UQUwgPj5jb3VudGVyLnR4dAorCUVPRgorCT5jb3VudGVyLnR4dCAmJgorCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwkxIG9mIDIKKwkyIG9mIDIKKwlFT0YKKwlHSVRfRVhURVJOQUxfRElGRj0uL2V4dGVybmFsLWRpZmYuc2ggZ2l0IGRpZmYgJiYKKwl0ZXN0X2NtcCBleHBlY3QgY291bnRlci50eHQKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnR0lUX0VYVEVSTkFMX0RJRkYgZ2VuZXJhdGVzIHByZXR0eSBwYXRocycgJwogCXRvdWNoIGZpbGUuZXh0ICYmCiAJZ2l0IGFkZCBmaWxlLmV4dCAmJgpkaWZmIC0tZ2l0IGEvdC90NDAyOS1kaWZmLXRyYWlsaW5nLXNwYWNlLnNoIGIvdC90NDAyOS1kaWZmLXRyYWlsaW5nLXNwYWNlLnNoCmluZGV4IDM2ZTJmMDcuLjNjY2MyMzcgMTAwNzU1Ci0tLSBhL3QvdDQwMjktZGlmZi10cmFpbGluZy1zcGFjZS5zaAorKysgYi90L3Q0MDI5LWRpZmYtdHJhaWxpbmctc3BhY2Uuc2gKQEAgLTI3LDcgKzI3LDcgQEAKICAgICAgZ2l0IGNvbmZpZyAtLWJvb2wgZGlmZi5zdXBwcmVzc0JsYW5rRW1wdHkgdHJ1ZSAmJgogICAgICBnaXQgZGlmZiBmID4gYWN0dWFsICYmCiAgICAgIHRlc3RfY21wIGV4cCBhY3R1YWwgJiYKLSAgICAgIiRQRVJMX1BBVEgiIC1pLmJhayAtcCAtZSAicy9eXCQvIC8iIGV4cCAmJgorICAgICBwZXJsIC1pLmJhayAtcCAtZSAicy9eXCQvIC8iIGV4cCAmJgogICAgICBnaXQgY29uZmlnIC0tYm9vbCBkaWZmLnN1cHByZXNzQmxhbmtFbXB0eSBmYWxzZSAmJgogICAgICBnaXQgZGlmZiBmID4gYWN0dWFsICYmCiAgICAgIHRlc3RfY21wIGV4cCBhY3R1YWwgJiYKZGlmZiAtLWdpdCBhL3QvdDQwMzAtZGlmZi10ZXh0Y29udi5zaCBiL3QvdDQwMzAtZGlmZi10ZXh0Y29udi5zaAppbmRleCBmNzVmNDZmLi5hYWQ2YzdmIDEwMDc1NQotLS0gYS90L3Q0MDMwLWRpZmYtdGV4dGNvbnYuc2gKKysrIGIvdC90NDAzMC1kaWZmLXRleHRjb252LnNoCkBAIC01OCw2ICs1OCwxMiBAQAogCXRlc3RfY21wIGV4cGVjdC50ZXh0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaG93IGNvbW1pdCBwcm9kdWNlcyB0ZXh0JyAnCisJZ2l0IHNob3cgSEVBRCA+ZGlmZiAmJgorCWZpbmRfZGlmZiA8ZGlmZiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0LnRleHQgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYtdHJlZSBwcm9kdWNlcyBiaW5hcnknICcKIAlnaXQgZGlmZi10cmVlIC1wIEhFQUReIEhFQUQgPmRpZmYgJiYKIAlmaW5kX2RpZmYgPGRpZmYgPmFjdHVhbCAmJgpAQCAtODQsNiArOTAsMjQgQEAKIAlnaXQgcmVzZXQgLS1zb2Z0IEhFQURAezF9CiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Nob3cgYmxvYiBwcm9kdWNlcyBiaW5hcnknICcKKwlnaXQgc2hvdyBIRUFEOmZpbGUgPmFjdHVhbCAmJgorCXByaW50ZiAiXFwwXFxuXFwwMVxcbiIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hvdyAtLXRleHRjb252IGJsb2IgcHJvZHVjZXMgdGV4dCcgJworCWdpdCBzaG93IC0tdGV4dGNvbnYgSEVBRDpmaWxlID5hY3R1YWwgJiYKKwlwcmludGYgIjBcXG4xXFxuIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaG93IC0tbm8tdGV4dGNvbnYgYmxvYiBwcm9kdWNlcyBiaW5hcnknICcKKwlnaXQgc2hvdyAtLW5vLXRleHRjb252IEhFQUQ6ZmlsZSA+YWN0dWFsICYmCisJcHJpbnRmICJcXDBcXG5cXDAxXFxuIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwLWRpZmYgKC1HKSBvcGVyYXRlcyBvbiB0ZXh0Y29udiBkYXRhIChhZGQpJyAnCiAJZWNobyBvbmUgPmV4cGVjdCAmJgogCWdpdCBsb2cgLS1yb290IC0tZm9ybWF0PSVzIC1HMCA+YWN0dWFsICYmCmRpZmYgLS1naXQgYS90L3Q0MDUzLWRpZmYtbm8taW5kZXguc2ggYi90L3Q0MDUzLWRpZmYtbm8taW5kZXguc2gKaW5kZXggOTc5ZTk4My4uMmFiM2M0OCAxMDA3NTUKLS0tIGEvdC90NDA1My1kaWZmLW5vLWluZGV4LnNoCisrKyBiL3QvdDQwNTMtZGlmZi1uby1pbmRleC5zaApAQCAtMjksNCArMjksMzAgQEAKIAkpCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBkaWZmIC0tbm8taW5kZXggd2l0aCBicm9rZW4gaW5kZXgnICcKKwkoCisJCWNkIHJlcG8gJiYKKwkJZWNobyBicm9rZW4gPi5naXQvaW5kZXggJiYKKwkJZ2l0IGRpZmYgLS1uby1pbmRleCBhIC4uL25vbi9naXQvYQorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGRpZmYgb3V0c2lkZSByZXBvIHdpdGggYnJva2VuIGluZGV4JyAnCisJKAorCQljZCByZXBvICYmCisJCWdpdCBkaWZmIC4uL25vbi9naXQvYSAuLi9ub24vZ2l0L2IKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBkaWZmIC0tbm8taW5kZXggZXhlY3V0ZWQgb3V0c2lkZSByZXBvIGdpdmVzIGNvcnJlY3QgZXJyb3IgbWVzc2FnZScgJworCSgKKwkJR0lUX0NFSUxJTkdfRElSRUNUT1JJRVM9JFRSQVNIX0RJUkVDVE9SWS9ub24gJiYKKwkJZXhwb3J0IEdJVF9DRUlMSU5HX0RJUkVDVE9SSUVTICYmCisJCWNkIG5vbi9naXQgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGRpZmYgLS1uby1pbmRleCBhIDI+YWN0dWFsLmVyciAmJgorCQllY2hvICJ1c2FnZTogZ2l0IGRpZmYgLS1uby1pbmRleCA8cGF0aD4gPHBhdGg+IiA+ZXhwZWN0LmVyciAmJgorCQl0ZXN0X2NtcCBleHBlY3QuZXJyIGFjdHVhbC5lcnIKKwkpCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDA1NS1kaWZmLWNvbnRleHQuc2ggYi90L3Q0MDU1LWRpZmYtY29udGV4dC5zaAppbmRleCA5NzE3MmI0Li5jZDA0NTQzIDEwMDc1NQotLS0gYS90L3Q0MDU1LWRpZmYtY29udGV4dC5zaAorKysgYi90L3Q0MDU1LWRpZmYtY29udGV4dC5zaApAQCAtNzMsNyArNzMsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbm9uLWludGVnZXIgY29uZmlnIHBhcnNpbmcnICcKIAlnaXQgY29uZmlnIGRpZmYuY29udGV4dCBubyAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmIDI+b3V0cHV0ICYmCi0JdGVzdF9pMThuZ3JlcCAiYmFkIGNvbmZpZyB2YWx1ZSIgb3V0cHV0CisJdGVzdF9pMThuZ3JlcCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlIiBvdXRwdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbmVnYXRpdmUgaW50ZWdlciBjb25maWcgcGFyc2luZycgJwpkaWZmIC0tZ2l0IGEvdC90NDA1Ni1kaWZmLW9yZGVyLnNoIGIvdC90NDA1Ni1kaWZmLW9yZGVyLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjllMmIyOWUKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDU2LWRpZmYtb3JkZXIuc2gKQEAgLTAsMCArMSwxMDAgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdkaWZmIG9yZGVyJworCisuIC4vdGVzdC1saWIuc2gKKworY3JlYXRlX2ZpbGVzICgpIHsKKwllY2hvICIkMSIgPmEuaCAmJgorCWVjaG8gIiQxIiA+Yi5jICYmCisJZWNobyAiJDEiID5jL01ha2VmaWxlICYmCisJZWNobyAiJDEiID5kLnR4dCAmJgorCWdpdCBhZGQgYS5oIGIuYyBjL01ha2VmaWxlIGQudHh0ICYmCisJZ2l0IGNvbW1pdCAtbSIkMSIKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKKwlta2RpciBjICYmCisJY3JlYXRlX2ZpbGVzIDEgJiYKKwljcmVhdGVfZmlsZXMgMiAmJgorCisJY2F0ID5vcmRlcl9maWxlXzEgPDwtXEVPRiAmJgorCSpNYWtlZmlsZQorCSoudHh0CisJKi5oCisJRU9GCisKKwljYXQgPm9yZGVyX2ZpbGVfMiA8PC1cRU9GICYmCisJKk1ha2VmaWxlCisJKi5oCisJKi5jCisJRU9GCisKKwljYXQgPmV4cGVjdF9ub25lIDw8LVxFT0YgJiYKKwlhLmgKKwliLmMKKwljL01ha2VmaWxlCisJZC50eHQKKwlFT0YKKworCWNhdCA+ZXhwZWN0XzEgPDwtXEVPRiAmJgorCWMvTWFrZWZpbGUKKwlkLnR4dAorCWEuaAorCWIuYworCUVPRgorCisJY2F0ID5leHBlY3RfMiA8PC1cRU9GCisJYy9NYWtlZmlsZQorCWEuaAorCWIuYworCWQudHh0CisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgIm5vIG9yZGVyICg9dHJlZSBvYmplY3Qgb3JkZXIpIiAnCisJZ2l0IGRpZmYgLS1uYW1lLW9ubHkgSEVBRF4uLkhFQUQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdF9ub25lIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtaXNzaW5nIG9yZGVyZmlsZScgJworCXJtIC1mIGJvZ3VzX2ZpbGUgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZGlmZiAtT2JvZ3VzX2ZpbGUgLS1uYW1lLW9ubHkgSEVBRF4uLkhFQUQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBQT1NJWFBFUk0sU0FOSVRZICd1bnJlYWRhYmxlIG9yZGVyZmlsZScgJworCT51bnJlYWRhYmxlX2ZpbGUgJiYKKwljaG1vZCAtciB1bnJlYWRhYmxlX2ZpbGUgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZGlmZiAtT3VucmVhZGFibGVfZmlsZSAtLW5hbWUtb25seSBIRUFEXi4uSEVBRAorJworCitmb3IgaSBpbiAxIDIKK2RvCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAib3JkZXJmaWxlIHVzaW5nIG9wdGlvbiAoJGkpIiAnCisJCWdpdCBkaWZmIC1Pb3JkZXJfZmlsZV8kaSAtLW5hbWUtb25seSBIRUFEXi4uSEVBRCA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdF8kaSBhY3R1YWwKKwknCisKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzIFBJUEUgIm9yZGVyZmlsZSBpcyBmaWZvICgkaSkiICcKKwkJcm0gLWYgb3JkZXJfZmlmbyAmJgorCQlta2ZpZm8gb3JkZXJfZmlmbyAmJgorCQl7CisJCQljYXQgb3JkZXJfZmlsZV8kaSA+b3JkZXJfZmlmbyAmCisJCX0gJiYKKwkJZ2l0IGRpZmYgLU8gb3JkZXJfZmlmbyAtLW5hbWUtb25seSBIRUFEXi4uSEVBRCA+YWN0dWFsICYmCisJCXdhaXQgJiYKKwkJdGVzdF9jbXAgZXhwZWN0XyRpIGFjdHVhbAorCScKKworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIm9yZGVyZmlsZSB1c2luZyBjb25maWcgKCRpKSIgJworCQlnaXQgLWMgZGlmZi5vcmRlcmZpbGU9b3JkZXJfZmlsZV8kaSBkaWZmIC0tbmFtZS1vbmx5IEhFQUReLi5IRUFEID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0XyRpIGFjdHVhbAorCScKKworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImNhbmNlbGxpbmcgY29uZmlndXJlZCBvcmRlcmZpbGUgKCRpKSIgJworCQlnaXQgLWMgZGlmZi5vcmRlcmZpbGU9b3JkZXJfZmlsZV8kaSBkaWZmIC1PL2Rldi9udWxsIC0tbmFtZS1vbmx5IEhFQUReLi5IRUFEID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0X25vbmUgYWN0dWFsCisJJworZG9uZQorCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDQxMDItYXBwbHktcmVuYW1lLnNoIGIvdC90NDEwMi1hcHBseS1yZW5hbWUuc2gKaW5kZXggZTNlYTNkNS4uNDllMmQ2YyAxMDA3NTUKLS0tIGEvdC90NDEwMi1hcHBseS1yZW5hbWUuc2gKKysrIGIvdC90NDEwMi1hcHBseS1yZW5hbWUuc2gKQEAgLTcsNyArNyw2IEBACiAKICcKIC4gLi90ZXN0LWxpYi5zaAotLiAiJFRFU1RfRElSRUNUT1JZIi9saWItcHJlcmVxLUZJTEVNT0RFLnNoCiAKICMgc2V0dXAKIApkaWZmIC0tZ2l0IGEvdC90NDEwMy1hcHBseS1iaW5hcnkuc2ggYi90L3Q0MTAzLWFwcGx5LWJpbmFyeS5zaAppbmRleCBiMWI5MDZiLi4xYjQyMGUzIDEwMDc1NQotLS0gYS90L3Q0MTAzLWFwcGx5LWJpbmFyeS5zaAorKysgYi90L3Q0MTAzLWFwcGx5LWJpbmFyeS5zaApAQCAtMjMsMTAgKzIzLDEwIEBACiAJZ2l0IGNvbW1pdCAtbSAiSW5pdGlhbCBWZXJzaW9uIiAyPi9kZXYvbnVsbCAmJgogCiAJZ2l0IGNoZWNrb3V0IC1iIGJpbmFyeSAmJgotCSIkUEVSTF9QQVRIIiAtcGUgInkveC9cMDAwLyIgPGZpbGUxID5maWxlMyAmJgorCXBlcmwgLXBlICJ5L3gvXDAwMC8iIDxmaWxlMSA+ZmlsZTMgJiYKIAljYXQgZmlsZTMgPmZpbGU0ICYmCiAJZ2l0IGFkZCBmaWxlMiAmJgotCSIkUEVSTF9QQVRIIiAtcGUgInkvXDAwMC92LyIgPGZpbGUzID5maWxlMSAmJgorCXBlcmwgLXBlICJ5L1wwMDAvdi8iIDxmaWxlMyA+ZmlsZTEgJiYKIAlybSAtZiBmaWxlMiAmJgogCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgLS1yZW1vdmUgZmlsZTEgZmlsZTIgZmlsZTMgZmlsZTQgJiYKIAlnaXQgY29tbWl0IC1tICJTZWNvbmQgVmVyc2lvbiIgJiYKZGlmZiAtLWdpdCBhL3QvdDQxMTYtYXBwbHktcmV2ZXJzZS5zaCBiL3QvdDQxMTYtYXBwbHktcmV2ZXJzZS5zaAppbmRleCBmY2E4MTUzLi4xZTRkNDM4IDEwMDc1NQotLS0gYS90L3Q0MTE2LWFwcGx5LXJldmVyc2Uuc2gKKysrIGIvdC90NDExNi1hcHBseS1yZXZlcnNlLnNoCkBAIC0xMiwxNCArMTIsMTQgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3Mgc2V0dXAgJwogCiAJZm9yIGkgaW4gYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuOyBkbyBlY2hvICRpOyBkb25lID5maWxlMSAmJgotCSIkUEVSTF9QQVRIIiAtcGUgInkvaWprL1xcMDAwXFwwMDFcXDAwMi8iIDxmaWxlMSA+ZmlsZTIgJiYKKwlwZXJsIC1wZSAieS9pamsvXFwwMDBcXDAwMVxcMDAyLyIgPGZpbGUxID5maWxlMiAmJgogCiAJZ2l0IGFkZCBmaWxlMSBmaWxlMiAmJgogCWdpdCBjb21taXQgLW0gaW5pdGlhbCAmJgogCWdpdCB0YWcgaW5pdGlhbCAmJgogCiAJZm9yIGkgaW4gYSBiIGMgZyBoIGkgSiBLIEwgbSBvIG4gcCBxOyBkbyBlY2hvICRpOyBkb25lID5maWxlMSAmJgotCSIkUEVSTF9QQVRIIiAtcGUgInkvbW9uL1xcMDAwXFwwMDFcXDAwMi8iIDxmaWxlMSA+ZmlsZTIgJiYKKwlwZXJsIC1wZSAieS9tb24vXFwwMDBcXDAwMVxcMDAyLyIgPGZpbGUxID5maWxlMiAmJgogCiAJZ2l0IGNvbW1pdCAtYSAtbSBzZWNvbmQgJiYKIAlnaXQgdGFnIHNlY29uZCAmJgpAQCAtNDgsMTIgKzQ4LDEyIEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHNlcGFyYXRlIHJlcG9zaXRvcnkgbGFja2luZyBwb3N0aW1hZ2UnICcKIAotCWdpdCB0YXItdHJlZSBpbml0aWFsIGluaXRpYWwgfCAkVEFSIHhmIC0gJiYKKwlnaXQgYXJjaGl2ZSAtLWZvcm1hdD10YXIgLS1wcmVmaXg9aW5pdGlhbC8gaW5pdGlhbCB8ICRUQVIgeGYgLSAmJgogCSgKIAkJY2QgaW5pdGlhbCAmJiBnaXQgaW5pdCAmJiBnaXQgYWRkIC4KIAkpICYmCiAKLQlnaXQgdGFyLXRyZWUgc2Vjb25kIHNlY29uZCB8ICRUQVIgeGYgLSAmJgorCWdpdCBhcmNoaXZlIC0tZm9ybWF0PXRhciAtLXByZWZpeD1zZWNvbmQvIHNlY29uZCB8ICRUQVIgeGYgLSAmJgogCSgKIAkJY2Qgc2Vjb25kICYmIGdpdCBpbml0ICYmIGdpdCBhZGQgLgogCSkKZGlmZiAtLWdpdCBhL3QvdDQxMjAtYXBwbHktcG9wdC5zaCBiL3QvdDQxMjAtYXBwbHktcG9wdC5zaAppbmRleCBjNWZlY2RmLi40OTdiNjI4IDEwMDc1NQotLS0gYS90L3Q0MTIwLWFwcGx5LXBvcHQuc2gKKysrIGIvdC90NDEyMC1hcHBseS1wb3B0LnNoCkBAIC02LDcgKzYsNiBAQAogdGVzdF9kZXNjcmlwdGlvbj0nZ2l0IGFwcGx5IC1wIGhhbmRsaW5nLicKIAogLiAuL3Rlc3QtbGliLnNoCi0uICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1wcmVyZXEtRklMRU1PREUuc2gKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCiAJbWtkaXIgc3ViICYmCmRpZmYgLS1naXQgYS90L3Q0MTI5LWFwcGx5LXNhbWVtb2RlLnNoIGIvdC90NDEyOS1hcHBseS1zYW1lbW9kZS5zaAppbmRleCAwZDM2ZWJkLi5jMjY4Mjk4IDEwMDc1NQotLS0gYS90L3Q0MTI5LWFwcGx5LXNhbWVtb2RlLnNoCisrKyBiL3QvdDQxMjktYXBwbHktc2FtZW1vZGUuc2gKQEAgLTMsNyArMyw2IEBACiB0ZXN0X2Rlc2NyaXB0aW9uPSdhcHBseWluZyBwYXRjaCB3aXRoIG1vZGUgYml0cycKIAogLiAuL3Rlc3QtbGliLnNoCi0uICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1wcmVyZXEtRklMRU1PREUuc2gKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCiAJZWNobyBvcmlnaW5hbCA+ZmlsZSAmJgpkaWZmIC0tZ2l0IGEvdC90NDIwMC1yZXJlcmUuc2ggYi90L3Q0MjAwLXJlcmVyZS5zaAppbmRleCA3ZjY2NjZmLi5lZDljOTFlIDEwMDc1NQotLS0gYS90L3Q0MjAwLXJlcmVyZS5zaAorKysgYi90L3Q0MjAwLXJlcmVyZS5zaApAQCAtNzgsNyArNzgsNyBAQAogCXRlc3RfbWlnaHRfZmFpbCBnaXQgY29uZmlnIC0tdW5zZXQgcmVyZXJlLmVuYWJsZWQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgZmlyc3QgJiYKIAotCXNoYTE9JCgiJFBFUkxfUEFUSCIgLXBlICJzLwkuKi8vIiAuZ2l0L01FUkdFX1JSKSAmJgorCXNoYTE9JChwZXJsIC1wZSAicy8JLiovLyIgLmdpdC9NRVJHRV9SUikgJiYKIAlycj0uZ2l0L3JyLWNhY2hlLyRzaGExICYmCiAJZ3JlcCAiXj09PT09PT1cJCIgJHJyL3ByZWltYWdlICYmCiAJISB0ZXN0IC1mICRyci9wb3N0aW1hZ2UgJiYKQEAgLTkxLDcgKzkxLDcgQEAKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIGZpcnN0ICYmCiAKLQlzaGExPSQoIiRQRVJMX1BBVEgiIC1wZSAicy8JLiovLyIgLmdpdC9NRVJHRV9SUikgJiYKKwlzaGExPSQocGVybCAtcGUgInMvCS4qLy8iIC5naXQvTUVSR0VfUlIpICYmCiAJcnI9LmdpdC9yci1jYWNoZS8kc2hhMSAmJgogCWdyZXAgXj09PT09PT0kICRyci9wcmVpbWFnZQogJwpAQCAtMTAxLDcgKzEwMSw3IEBACiAJZ2l0IGNvbmZpZyByZXJlcmUuZW5hYmxlZCB0cnVlICYmCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBmaXJzdCAmJgotCXNoYTE9JCgiJFBFUkxfUEFUSCIgLXBlICJzLwkuKi8vIiAuZ2l0L01FUkdFX1JSKSAmJgorCXNoYTE9JChwZXJsIC1wZSAicy8JLiovLyIgLmdpdC9NRVJHRV9SUikgJiYKIAlycj0uZ2l0L3JyLWNhY2hlLyRzaGExCiAnCiAKQEAgLTE3Miw3ICsxNzIsNyBAQAogCWdpdCBzaG93IHNlY29uZF46YTEgfCBzZWQgInMvVG8gZGllOiB0L1RvIGRpZSEgVC8iID5hMSAmJgogCWdpdCBjb21taXQgLXEgLWEgLW0gdGhpcmQgJiYKIAotCXRlc3RfbXVzdF9mYWlsIGdpdCBwdWxsIC4gZmlyc3QgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgZmlyc3QgJiYKIAkjIHJlcmVyZSBraWNrZWQgaW4KIAkhIGdyZXAgIl49PT09PT09XCQiIGExICYmCiAJdGVzdF9jbXAgZXhwZWN0IGExCkBAIC0xODUsNyArMTg1LDcgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVyZXJlIGNsZWFyJyAnCiAJcm0gJHJyL3Bvc3RpbWFnZSAmJgotCWVjaG8gIiRzaGExCWExIiB8ICIkUEVSTF9QQVRIIiAtcGUgInkvXDAxMi9cMDAwLyIgPi5naXQvTUVSR0VfUlIgJiYKKwllY2hvICIkc2hhMQlhMSIgfCBwZXJsIC1wZSAieS9cMDEyL1wwMDAvIiA+LmdpdC9NRVJHRV9SUiAmJgogCWdpdCByZXJlcmUgY2xlYXIgJiYKIAkhIHRlc3QgLWQgJHJyCiAnCmRpZmYgLS1naXQgYS90L3Q0MjA1LWxvZy1wcmV0dHktZm9ybWF0cy5zaCBiL3QvdDQyMDUtbG9nLXByZXR0eS1mb3JtYXRzLnNoCmluZGV4IGZiMDAwNDEuLjJhNjI3OGIgMTAwNzU1Ci0tLSBhL3QvdDQyMDUtbG9nLXByZXR0eS1mb3JtYXRzLnNoCisrKyBiL3QvdDQyMDUtbG9nLXByZXR0eS1mb3JtYXRzLnNoCkBAIC0zMTAsNCArMzEwLDE5IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyBkZWNvcmF0aW9uIHByb3Blcmx5IGZvbGxvd3MgdGFnIGNoYWluJyAnCisJZ2l0IHRhZyAtYSB0YWcxIC1tIHRhZzEgJiYKKwlnaXQgdGFnIC1hIHRhZzIgLW0gdGFnMiB0YWcxICYmCisJZ2l0IHRhZyAtZCB0YWcxICYmCisJZ2l0IGNvbW1pdCAtLWFtZW5kIC1tIHNob3J0ZXIgJiYKKwlnaXQgbG9nIC0tbm8td2FsayAtLXRhZ3MgLS1wcmV0dHk9IiVIICVkIiAtLWRlY29yYXRlPWZ1bGwgPmFjdHVhbCAmJgorCWNhdCA8PEVPRiA+ZXhwZWN0ZWQgJiYKKzZhOTA4YzEwNjg4YjI1MDMwNzNjMzljOWJhMjYzMjJjNzM5MDJiYjUgICh0YWc6IHJlZnMvdGFncy90YWcyKQorOWY3MTYzODRkOTIyODNmYjkxNWE0ZWVlNTA3M2YwMzA2MzhlMDVmOSAgKHRhZzogcmVmcy90YWdzL21lc3NhZ2Utb25lKQorYjg3ZTRjY2NkYjc3MzM2ZWE3OWQ4OTIyNDczN2JlN2VhOGU5NTM2NyAgKHRhZzogcmVmcy90YWdzL21lc3NhZ2UtdHdvKQorRU9GCisJc29ydCBhY3R1YWwgPmFjdHVhbDEgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwxCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDIwOC1sb2ctbWFnaWMtcGF0aHNwZWMuc2ggYi90L3Q0MjA4LWxvZy1tYWdpYy1wYXRoc3BlYy5zaAppbmRleCA3MjMwMGI1Li5kOGYyM2Y0IDEwMDc1NQotLS0gYS90L3Q0MjA4LWxvZy1tYWdpYy1wYXRoc3BlYy5zaAorKysgYi90L3Q0MjA4LWxvZy1tYWdpYy1wYXRoc3BlYy5zaApAQCAtNDYsNCArNDYsMTkgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tbWFuZCBsaW5lIHBhdGhzcGVjIHBhcnNpbmcgZm9yICJnaXQgbG9nIicgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwk+YSAmJgorCWdpdCBhZGQgYSAmJgorCWdpdCBjb21taXQgLW0gImFkZCBhbiBlbXB0eSBhIiAtLWFsbG93LWVtcHR5ICYmCisJZWNobyAxID5hICYmCisJZ2l0IGNvbW1pdCAtYSAtbSAidXBkYXRlIGEgdG8gMSIgJiYKKwlnaXQgY2hlY2tvdXQgSEVBRF4gJiYKKwllY2hvIDIgPmEgJiYKKwlnaXQgY29tbWl0IC1hIC1tICJ1cGRhdGUgYSB0byAyIiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBtYXN0ZXIgJiYKKwlnaXQgYWRkIGEgJiYKKwlnaXQgbG9nIC0tbWVyZ2UgLS0gYQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDQyMTEtbGluZS1sb2cuc2ggYi90L3Q0MjExLWxpbmUtbG9nLnNoCmluZGV4IDc2NjVkNjcuLjczNjlkM2MgMTAwNzU1Ci0tLSBhL3QvdDQyMTEtbGluZS1sb2cuc2gKKysrIGIvdC90NDIxMS1saW5lLWxvZy5zaApAQCAtNDgsNyArNDgsNyBAQAogY2FubmVkX3Rlc3QgIi1NIC1MICc6ZjpiLmMnIHBhcmFsbGVsLWNoYW5nZSIgcGFyYWxsZWwtY2hhbmdlLWYtdG8tbWFpbgogCiBjYW5uZWRfdGVzdCAiLUwgNCwxMjphLmMgLUwgOm1haW46YS5jIHNpbXBsZSIgbXVsdGlwbGUKLWNhbm5lZF90ZXN0ICItTCA0LDE4OmEuYyAtTCA6bWFpbjphLmMgc2ltcGxlIiBtdWx0aXBsZS1vdmVybGFwcGluZworY2FubmVkX3Rlc3QgIi1MIDQsMTg6YS5jIC1MIF46bWFpbjphLmMgc2ltcGxlIiBtdWx0aXBsZS1vdmVybGFwcGluZwogY2FubmVkX3Rlc3QgIi1MIDptYWluOmEuYyAtTCA0LDE4OmEuYyBzaW1wbGUiIG11bHRpcGxlLW92ZXJsYXBwaW5nCiBjYW5uZWRfdGVzdCAiLUwgNDphLmMgLUwgOCwxMjphLmMgc2ltcGxlIiBtdWx0aXBsZS1zdXBlcnNldAogY2FubmVkX3Rlc3QgIi1MIDgsMTI6YS5jIC1MIDQ6YS5jIHNpbXBsZSIgbXVsdGlwbGUtc3VwZXJzZXQKQEAgLTY0LDE3ICs2NCwzNCBAQAogdGVzdF9iYWRfb3B0cyAiLUwgOmIuYyIgImFyZ3VtZW50Lipub3Qgb2YgdGhlIGZvcm0iCiB0ZXN0X2JhZF9vcHRzICItTCA6Zm9vOmIuYyIgIm5vIG1hdGNoIgogCi0jIFRoZXJlIGlzIGEgc2VwYXJhdGUgYnVnIHdoZW4gYW4gZW1wdHkgLUwgcmFuZ2UgaXMgdGhlIGZpcnN0IC1MIGVuY291bnRlcmVkLAotIyB0aHVzIHRvIGRlbW9uc3RyYXRlIHRoaXMgcGFydGljdWxhciBidWcsIHRoZSBlbXB0eSAtTCByYW5nZSBtdXN0IGZvbGxvdyBhCi0jIG5vbi1lbXB0eSAtTCByYW5nZS4KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy1MIHtlbXB0eS1yYW5nZX0gKGFueSAtTCknICcKLQluPSQoZXhwciAkKHdjIC1sIDxiLmMpICsgMSkgJiYKLQlnaXQgbG9nIC1MMSwxOmIuYyAtTCRuOmIuYwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLUwgWCAoWCA9PSBubGluZXMpJyAnCisJbj0kKHdjIC1sIDxiLmMpICYmCisJZ2l0IGxvZyAtTCAkbjpiLmMKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnLUwge2VtcHR5LXJhbmdlfSAoZmlyc3QgLUwpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctTCBYIChYID09IG5saW5lcyArIDEpJyAnCiAJbj0kKGV4cHIgJCh3YyAtbCA8Yi5jKSArIDEpICYmCi0JZ2l0IGxvZyAtTCRuOmIuYworCXRlc3RfbXVzdF9mYWlsIGdpdCBsb2cgLUwgJG46Yi5jCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy1MIFggKFggPT0gbmxpbmVzICsgMiknICcKKwluPSQoZXhwciAkKHdjIC1sIDxiLmMpICsgMikgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgbG9nIC1MICRuOmIuYworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctTCAsWSAoWSA9PSBubGluZXMpJyAnCisJbj0kKHByaW50ZiAiJWQiICQod2MgLWwgPGIuYykpICYmCisJZ2l0IGxvZyAtTCAsJG46Yi5jCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy1MICxZIChZID09IG5saW5lcyArIDEpJyAnCisJbj0kKGV4cHIgJCh3YyAtbCA8Yi5jKSArIDEpICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGxvZyAtTCAsJG46Yi5jCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy1MICxZIChZID09IG5saW5lcyArIDIpJyAnCisJbj0kKGV4cHIgJCh3YyAtbCA8Yi5jKSArIDIpICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGxvZyAtTCAsJG46Yi5jCiAnCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTAwMC10YXItdHJlZS5zaCBiL3QvdDUwMDAtdGFyLXRyZWUuc2gKaW5kZXggYzIwMjNiMS4uMDVmMDExZCAxMDA3NTUKLS0tIGEvdC90NTAwMC10YXItdHJlZS5zaAorKysgYi90L3Q1MDAwLXRhci10cmVlLnNoCkBAIC0zLDcgKzMsNyBAQAogIyBDb3B5cmlnaHQgKEMpIDIwMDUgUmVuZSBTY2hhcmZlCiAjCiAKLXRlc3RfZGVzY3JpcHRpb249J2dpdCB0YXItdHJlZSBhbmQgZ2l0IGdldC10YXItY29tbWl0LWlkIHRlc3QKK3Rlc3RfZGVzY3JpcHRpb249J2dpdCBhcmNoaXZlIGFuZCBnaXQgZ2V0LXRhci1jb21taXQtaWQgdGVzdAogCiBUaGlzIHRlc3QgY292ZXJzIHRoZSB0b3BpY3Mgb2YgZmlsZSBjb250ZW50cywgY29tbWl0IGRhdGUgaGFuZGxpbmcgYW5kCiBjb21taXQgaWQgZW1iZWRkaW5nOgpAQCAtMTMsMTEgKzEzLDExIEBACiAgIGJpbmFyeSBmaWxlICgvYmluL3NoKS4gIE9ubHkgcGF0aHMgc2hvcnRlciB0aGFuIDk5IGNoYXJhY3RlcnMgYXJlCiAgIHVzZWQuCiAKLSAgZ2l0IHRhci10cmVlIGFwcGxpZXMgdGhlIGNvbW1pdCBkYXRlIHRvIGV2ZXJ5IGZpbGUgaW4gdGhlIGFyY2hpdmUgaXQKKyAgZ2l0IGFyY2hpdmUgYXBwbGllcyB0aGUgY29tbWl0IGRhdGUgdG8gZXZlcnkgZmlsZSBpbiB0aGUgYXJjaGl2ZSBpdAogICBjcmVhdGVzLiAgVGhlIHRlc3Qgc2V0cyB0aGUgY29tbWl0IGRhdGUgdG8gYSBzcGVjaWZpYyB2YWx1ZSBhbmQgY2hlY2tzCiAgIGlmIHRoZSB0YXIgYXJjaGl2ZSBjb250YWlucyB0aGF0IHZhbHVlLgogCi0gIFdoZW4gZ2l2aW5nIGdpdCB0YXItdHJlZSBhIGNvbW1pdCBpZCAoaW4gY29udHJhc3QgdG8gYSB0cmVlIGlkKSBpdAorICBXaGVuIGdpdmluZyBnaXQgYXJjaGl2ZSBhIGNvbW1pdCBpZCAoaW4gY29udHJhc3QgdG8gYSB0cmVlIGlkKSBpdAogICBlbWJlZHMgdGhpcyBjb21taXQgaWQgaW50byB0aGUgdGFyIGFyY2hpdmUgYXMgYSBjb21tZW50LiAgVGhlIHRlc3QKICAgY2hlY2tzIHRoZSBhYmlsaXR5IG9mIGdpdCBnZXQtdGFyLWNvbW1pdC1pZCB0byBmaWd1cmUgaXQgb3V0IGZyb20gdGhlCiAgIHRhciBmaWxlLgpAQCAtMjUsOCArMjUsNiBAQAogJwogCiAuIC4vdGVzdC1saWIuc2gKLUdaSVA9JHtHWklQOi1nemlwfQotR1VOWklQPSR7R1VOWklQOi1nemlwIC1kfQogCiBTVUJTVEZPUk1BVD0lSCVuCiAKQEAgLTM5LDYgKzM3LDggQEAKIAkpCiAnCiAKK3Rlc3RfbGF6eV9wcmVyZXEgR1pJUCAnZ3ppcCAtLXZlcnNpb24nCisKIGdldF9wYXhfaGVhZGVyKCkgewogCWZpbGU9JDEKIAloZWFkZXI9JDI9CkBAIC0xOTYsMTYgKzE5Niw2IEBACiAgICAgJ2dpdCBnZXQtdGFyLWNvbW1pdC1pZCA8Yi50YXIgPmIuY29tbWl0aWQgJiYKICAgICAgdGVzdF9jbXAgLmdpdC8kKGdpdCBzeW1ib2xpYy1yZWYgSEVBRCkgYi5jb21taXRpZCcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IHRhci10cmVlJyAnCi0JZ2l0IHRhci10cmVlIEhFQUQgPnRhci10cmVlLnRhciAmJgotCXRlc3RfY21wIGIudGFyIHRhci10cmVlLnRhcgotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgdGFyLXRyZWUgd2l0aCBwcmVmaXgnICcKLQlnaXQgdGFyLXRyZWUgSEVBRCBwcmVmaXggPnRhci10cmVlX3dpdGhfcHJlZml4LnRhciAmJgotCXRlc3RfY21wIHdpdGhfcHJlZml4LnRhciB0YXItdHJlZV93aXRoX3ByZWZpeC50YXIKLScKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGFyY2hpdmUgd2l0aCAtLW91dHB1dCwgb3ZlcnJpZGUgaW5mZXJyZWQgZm9ybWF0JyAnCiAJZ2l0IGFyY2hpdmUgLS1mb3JtYXQ9dGFyIC0tb3V0cHV0PWQ0LnppcCBIRUFEICYmCiAJdGVzdF9jbXAgYi50YXIgZDQuemlwCkBAIC0yNzUsMTIgKzI2NSw2IEBACiAJdGVzdF9jbXAgcmVtb3RlLmJhciBjb25maWcuYmFyCiAnCiAKLWlmICRHWklQIC0tdmVyc2lvbiA+L2Rldi9udWxsIDI+JjE7IHRoZW4KLQl0ZXN0X3NldF9wcmVyZXEgR1pJUAotZWxzZQotCXNheSAiU2tpcHBpbmcgc29tZSB0YXIuZ3ogdGVzdHMgYmVjYXVzZSBnemlwIG5vdCBmb3VuZCIKLWZpCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgR1pJUCAnZ2l0IGFyY2hpdmUgLS1mb3JtYXQ9dGd6JyAnCiAJZ2l0IGFyY2hpdmUgLS1mb3JtYXQ9dGd6IEhFQUQgPmoudGd6CiAnCkBAIC0zMDAsMTQgKzI4NCw4IEBACiAJdGVzdF9jbXAgai50Z3ogajMudGFyLmd6CiAnCiAKLWlmICRHVU5aSVAgLS12ZXJzaW9uID4vZGV2L251bGwgMj4mMTsgdGhlbgotCXRlc3Rfc2V0X3ByZXJlcSBHVU5aSVAKLWVsc2UKLQlzYXkgIlNraXBwaW5nIHNvbWUgdGFyLmd6IHRlc3RzIGJlY2F1c2UgZ3VuemlwIHdhcyBub3QgZm91bmQiCi1maQotCi10ZXN0X2V4cGVjdF9zdWNjZXNzIEdaSVAsR1VOWklQICdleHRyYWN0IHRneiBmaWxlJyAnCi0JJEdVTlpJUCAtYyA8ai50Z3ogPmoudGFyICYmCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEdaSVAgJ2V4dHJhY3QgdGd6IGZpbGUnICcKKwlnemlwIC1kIC1jIDxqLnRneiA+ai50YXIgJiYKIAl0ZXN0X2NtcCBiLnRhciBqLnRhcgogJwogCmRpZmYgLS1naXQgYS90L3Q1MDAxLWFyY2hpdmUtYXR0ci5zaCBiL3QvdDUwMDEtYXJjaGl2ZS1hdHRyLnNoCmluZGV4IGY0N2Q4NzEuLjUxZGVkYWIgMTAwNzU1Ci0tLSBhL3QvdDUwMDEtYXJjaGl2ZS1hdHRyLnNoCisrKyBiL3QvdDUwMDEtYXJjaGl2ZS1hdHRyLnNoCkBAIC04NywxNCArODcsNCBAQAogCXRlc3RfY21wIHN1YnN0ZmlsZTIgYXJjaGl2ZS9zdWJzdGZpbGUyCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCB0YXItdHJlZSB2cy4gZ2l0IGFyY2hpdmUgd2l0aCB3b3JrdHJlZSBhdHRyaWJ1dGVzJyAnCi0JZ2l0IHRhci10cmVlIEhFQUQgPnRhci10cmVlLnRhciAmJgotCXRlc3RfY21wIHdvcmt0cmVlLnRhciB0YXItdHJlZS50YXIKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IHRhci10cmVlIHZzLiBnaXQgYXJjaGl2ZSB3aXRoIHdvcmt0cmVlIGF0dHJzLCBiYXJlJyAnCi0JKGNkIGJhcmUgJiYgZ2l0IHRhci10cmVlIEhFQUQpID5iYXJlLXRhci10cmVlLnRhciAmJgotCXRlc3RfY21wIGJhcmUtd29ya3RyZWUudGFyIGJhcmUtdGFyLXRyZWUudGFyCi0nCi0KIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTMwMC1wYWNrLW9iamVjdC5zaCBiL3QvdDUzMDAtcGFjay1vYmplY3Quc2gKaW5kZXggYTA3Yzg3MS4uMjBjMTk2MSAxMDA3NTUKLS0tIGEvdC90NTMwMC1wYWNrLW9iamVjdC5zaAorKysgYi90L3Q1MzAwLXBhY2stb2JqZWN0LnNoCkBAIC0xMyw5ICsxMyw5IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFwKICAgICAnc2V0dXAnIFwKICAgICAncm0gLWYgLmdpdC9pbmRleCogJiYKLSAgICAgIiRQRVJMX1BBVEgiIC1lICJwcmludCBcImFcIiB4IDQwOTY7IiA+IGEgJiYKLSAgICAgIiRQRVJMX1BBVEgiIC1lICJwcmludCBcImJcIiB4IDQwOTY7IiA+IGIgJiYKLSAgICAgIiRQRVJMX1BBVEgiIC1lICJwcmludCBcImNcIiB4IDQwOTY7IiA+IGMgJiYKKyAgICAgcGVybCAtZSAicHJpbnQgXCJhXCIgeCA0MDk2OyIgPiBhICYmCisgICAgIHBlcmwgLWUgInByaW50IFwiYlwiIHggNDA5NjsiID4gYiAmJgorICAgICBwZXJsIC1lICJwcmludCBcImNcIiB4IDQwOTY7IiA+IGMgJiYKICAgICAgdGVzdC1nZW5yYW5kb20gInNlZWQgYSIgMjA5NzE1MiA+IGFfYmlnICYmCiAgICAgIHRlc3QtZ2VucmFuZG9tICJzZWVkIGIiIDIwOTcxNTIgPiBiX2JpZyAmJgogICAgICBnaXQgdXBkYXRlLWluZGV4IC0tYWRkIGEgYV9iaWcgYiBiX2JpZyBjICYmCkBAIC0xMjksNyArMTI5LDcgQEAKIGNkICIkVFJBU0giCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbXBhcmUgZGVsdGEgZmxhdm9ycycgJwotCSIkUEVSTF9QQVRIIiAtZSAnXCcnCisJcGVybCAtZSAnXCcnCiAJCWRlZmluZWQoJF8gPSAtcyAkXykgb3IgZGllIGZvciBAQVJHVjsKIAkJZXhpdCAxIGlmICRBUkdWWzBdIDw9ICRBUkdWWzFdOwogCSdcJycgdGVzdC0yLSRwYWNrbmFtZV8yLnBhY2sgdGVzdC0zLSRwYWNrbmFtZV8zLnBhY2sKQEAgLTE1MSw3ICsxNTEsNyBAQAogCSAgICBnaXQgY2F0LWZpbGUgJHQgJG9iamVjdCB8fCByZXR1cm4gMQogCSBkb25lIDxvYmotbGlzdAogICAgIH0gPmN1cnJlbnQgJiYKLSAgICB0ZXN0X2NtcCBleHBlY3QgY3VycmVudCcKKyAgICBjbXAgZXhwZWN0IGN1cnJlbnQnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAogICAgICd1c2UgcGFja2VkIGRlbHRpZmllZCAoUkVGX0RFTFRBKSBvYmplY3RzJyBcCkBAIC0xNjYsNyArMTY2LDcgQEAKIAkgICAgZ2l0IGNhdC1maWxlICR0ICRvYmplY3QgfHwgcmV0dXJuIDEKIAkgZG9uZSA8b2JqLWxpc3QKICAgICB9ID5jdXJyZW50ICYmCi0gICAgdGVzdF9jbXAgZXhwZWN0IGN1cnJlbnQnCisgICAgY21wIGV4cGVjdCBjdXJyZW50JwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFwKICAgICAndXNlIHBhY2tlZCBkZWx0aWZpZWQgKE9GU19ERUxUQSkgb2JqZWN0cycgXApAQCAtMTgxLDcgKzE4MSw3IEBACiAJICAgIGdpdCBjYXQtZmlsZSAkdCAkb2JqZWN0IHx8IHJldHVybiAxCiAJIGRvbmUgPG9iai1saXN0CiAgICAgfSA+Y3VycmVudCAmJgotICAgIHRlc3RfY21wIGV4cGVjdCBjdXJyZW50JworICAgIGNtcCBleHBlY3QgY3VycmVudCcKIAogdW5zZXQgR0lUX09CSkVDVF9ESVJFQ1RPUlkKIApAQCAtMTk1LDkgKzE5NSw5IEBACiAJCXJtIC1mciAkR09QICYmCiAJCWdpdCBpbmRleC1wYWNrIC0tc3RkaW4gLS1rZWVwPXRlc3QgPC4uL3Rlc3QtMy0ke3BhY2tuYW1lXzN9LnBhY2sgJiYKIAkJdGVzdCAtZiAkR09QL3BhY2stJHtwYWNrbmFtZV8zfS5wYWNrICYmCi0JCXRlc3RfY21wICRHT1AvcGFjay0ke3BhY2tuYW1lXzN9LnBhY2sgLi4vdGVzdC0zLSR7cGFja25hbWVfM30ucGFjayAmJgorCQljbXAgJEdPUC9wYWNrLSR7cGFja25hbWVfM30ucGFjayAuLi90ZXN0LTMtJHtwYWNrbmFtZV8zfS5wYWNrICYmCiAJCXRlc3QgLWYgJEdPUC9wYWNrLSR7cGFja25hbWVfM30uaWR4ICYmCi0JCXRlc3RfY21wICRHT1AvcGFjay0ke3BhY2tuYW1lXzN9LmlkeCAuLi90ZXN0LTMtJHtwYWNrbmFtZV8zfS5pZHggJiYKKwkJY21wICRHT1AvcGFjay0ke3BhY2tuYW1lXzN9LmlkeCAuLi90ZXN0LTMtJHtwYWNrbmFtZV8zfS5pZHggJiYKIAkJdGVzdCAtZiAkR09QL3BhY2stJHtwYWNrbmFtZV8zfS5rZWVwCiAJKQogJwpkaWZmIC0tZ2l0IGEvdC90NTMwMi1wYWNrLWluZGV4LnNoIGIvdC90NTMwMi1wYWNrLWluZGV4LnNoCmluZGV4IGZlODIwMjUuLjRiYmI3MTggMTAwNzU1Ci0tLSBhL3QvdDUzMDItcGFjay1pbmRleC5zaAorKysgYi90L3Q1MzAyLXBhY2staW5kZXguc2gKQEAgLTE3NCwxMSArMTc0LDExIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFwKICAgICAnW2luZGV4IHYxXSA1KSBwYWNrLW9iamVjdHMgaGFwcGlseSByZXVzZXMgY29ycnVwdGVkIGRhdGEnIFwKICAgICAncGFjazQ9JChnaXQgcGFjay1vYmplY3RzIHRlc3QtNCA8b2JqLWxpc3QpICYmCi0gICAgIHRlc3QgLWYgInRlc3QtNC0ke3BhY2sxfS5wYWNrIicKKyAgICAgdGVzdCAtZiAidGVzdC00LSR7cGFjazR9LnBhY2siJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFwKICAgICAnW2luZGV4IHYxXSA2KSBuZXdseSBjcmVhdGVkIHBhY2sgaXMgQkFEICEnIFwKLSAgICAndGVzdF9tdXN0X2ZhaWwgZ2l0IHZlcmlmeS1wYWNrIC12ICJ0ZXN0LTQtJHtwYWNrMX0ucGFjayInCisgICAgJ3Rlc3RfbXVzdF9mYWlsIGdpdCB2ZXJpZnktcGFjayAtdiAidGVzdC00LSR7cGFjazR9LnBhY2siJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFwKICAgICAnW2luZGV4IHYyXSAxKSBzdHJlYW0gcGFjayB0byByZXBvc2l0b3J5JyBcCmRpZmYgLS1naXQgYS90L3Q1MzAzLXBhY2stY29ycnVwdGlvbi1yZXNpbGllbmNlLnNoIGIvdC90NTMwMy1wYWNrLWNvcnJ1cHRpb24tcmVzaWxpZW5jZS5zaAppbmRleCAzNTkyNmRlLi42NjNiMDJiIDEwMDc1NQotLS0gYS90L3Q1MzAzLXBhY2stY29ycnVwdGlvbi1yZXNpbGllbmNlLnNoCisrKyBiL3QvdDUzMDMtcGFjay1jb3JydXB0aW9uLXJlc2lsaWVuY2Uuc2gKQEAgLTk4LDcgKzk4LDcgQEAKICAgICAnY3JlYXRlX25ld19wYWNrICYmCiAgICAgIGdpdCBwcnVuZS1wYWNrZWQgJiYKICAgICAgY2htb2QgK3cgJHtwYWNrfS5wYWNrICYmCi0gICAgICIkUEVSTF9QQVRIIiAtaS5iYWsgLXBlICJzLyBiYXNlIC9hYmNkZWYvIiAke3BhY2t9LnBhY2sgJiYKKyAgICAgcGVybCAtaS5iYWsgLXBlICJzLyBiYXNlIC9hYmNkZWYvIiAke3BhY2t9LnBhY2sgJiYKICAgICAgdGVzdF9tdXN0X2ZhaWwgZ2l0IGNhdC1maWxlIGJsb2IgJGJsb2JfMSA+IC9kZXYvbnVsbCAmJgogICAgICB0ZXN0X211c3RfZmFpbCBnaXQgY2F0LWZpbGUgYmxvYiAkYmxvYl8yID4gL2Rldi9udWxsICYmCiAgICAgIHRlc3RfbXVzdF9mYWlsIGdpdCBjYXQtZmlsZSBibG9iICRibG9iXzMgPiAvZGV2L251bGwnCkBAIC0xNTUsNyArMTU1LDcgQEAKICAgICAnY3JlYXRlX25ld19wYWNrICYmCiAgICAgIGdpdCBwcnVuZS1wYWNrZWQgJiYKICAgICAgY2htb2QgK3cgJHtwYWNrfS5wYWNrICYmCi0gICAgICIkUEVSTF9QQVRIIiAtaS5iYWsgLXBlICJzLyBkZWx0YTEgL2FiY2RlZmdoLyIgJHtwYWNrfS5wYWNrICYmCisgICAgIHBlcmwgLWkuYmFrIC1wZSAicy8gZGVsdGExIC9hYmNkZWZnaC8iICR7cGFja30ucGFjayAmJgogICAgICBnaXQgY2F0LWZpbGUgYmxvYiAkYmxvYl8xID4gL2Rldi9udWxsICYmCiAgICAgIHRlc3RfbXVzdF9mYWlsIGdpdCBjYXQtZmlsZSBibG9iICRibG9iXzIgPiAvZGV2L251bGwgJiYKICAgICAgdGVzdF9tdXN0X2ZhaWwgZ2l0IGNhdC1maWxlIGJsb2IgJGJsb2JfMyA+IC9kZXYvbnVsbCcKZGlmZiAtLWdpdCBhL3QvdDUzMDQtcHJ1bmUuc2ggYi90L3Q1MzA0LXBydW5lLnNoCmluZGV4IGU0YmIzYTEuLjY2YzlhNDEgMTAwNzU1Ci0tLSBhL3QvdDUzMDQtcHJ1bmUuc2gKKysrIGIvdC90NTMwNC1wcnVuZS5zaApAQCAtMjIxLDQgKzIyMSwxNCBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcnVuZSAuZ2l0L3NoYWxsb3cnICcKKwlTSEExPWBlY2hvIGhpfGdpdCBjb21taXQtdHJlZSBIRUFEXnt0cmVlfWAgJiYKKwllY2hvICRTSEExID4uZ2l0L3NoYWxsb3cgJiYKKwlnaXQgcHJ1bmUgLS1kcnktcnVuID5vdXQgJiYKKwlncmVwICRTSEExIC5naXQvc2hhbGxvdyAmJgorCWdyZXAgJFNIQTEgb3V0ICYmCisJZ2l0IHBydW5lICYmCisJISB0ZXN0IC1mIC5naXQvc2hhbGxvdworJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDUzMDgtcGFjay1kZXRlY3QtZHVwbGljYXRlcy5zaCBiL3QvdDUzMDgtcGFjay1kZXRlY3QtZHVwbGljYXRlcy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YzVhODc2Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NTMwOC1wYWNrLWRldGVjdC1kdXBsaWNhdGVzLnNoCkBAIC0wLDAgKzEsODAgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdoYW5kbGluZyBvZiBkdXBsaWNhdGUgb2JqZWN0cyBpbiBpbmNvbWluZyBwYWNrZmlsZXMnCisuIC4vdGVzdC1saWIuc2gKKy4gIiRURVNUX0RJUkVDVE9SWSIvbGliLXBhY2suc2gKKworIyBUaGUgc2hhMXMgd2UgaGF2ZSBpbiBvdXIgcGFjay4gSXQncyBpbXBvcnRhbnQgdGhhdCB0aGVzZSBoYXZlIHRoZSBzYW1lCisjIHN0YXJ0aW5nIGJ5dGUsIHNvIHRoYXQgdGhleSBlbmQgdXAgaW4gdGhlIHNhbWUgZmFub3V0IHNlY3Rpb24gb2YgdGhlIGluZGV4LgorIyBUaGF0IGxldHMgdXMgbWFrZSBzdXJlIHdlIGFyZSBleGVyY2lzaW5nIHRoZSBiaW5hcnkgc2VhcmNoIHdpdGggYm90aCBzZXRzLgorTE9fU0hBMT1lNjhmZTgxMjliNTQ2YjEwMWFlZTk1MTBjNTMyOGU3ZjIxY2ExZDE4CitISV9TSEExPWU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEKKworIyBBbmQgaGVyZSdzIGEgIm1pc3Npbmcgc2hhMSIgd2hpY2ggd2lsbCBwcm9kdWNlIGZhaWxlZCBsb29rdXBzLiBJdCBtdXN0IGFsc28KKyMgYmUgaW4gdGhlIHNhbWUgZmFub3V0IHNlY3Rpb24sIGFuZCBzaG91bGQgYmUgYmV0d2VlbiB0aGUgdHdvIChzbyB0aGF0IGR1cmluZworIyBvdXIgYmluYXJ5IHNlYXJjaCwgd2UgYXJlIHN1cmUgdG8gZW5kIHVwIGxvb2tpbmcgYXQgb25lIG9yIHRoZSBvdGhlciBvZiB0aGUKKyMgZHVwbGljYXRlIHJ1bnMpLgorTUlTU0lOR19TSEExPSdlNjlkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJworCisjIGdpdCB3aWxsIG5ldmVyIGludGVudGlvbmFsbHkgY3JlYXRlIHBhY2tmaWxlcyB3aXRoCisjIGR1cGxpY2F0ZSBvYmplY3RzLCBzbyB3ZSBoYXZlIHRvIGNvbnN0cnVjdCB0aGVtIGJ5IGhhbmQuCisjCisjICQxIGlzIHRoZSBuYW1lIG9mIHRoZSBwYWNrZmlsZSB0byBjcmVhdGUKKyMKKyMgJDIgaXMgdGhlIG51bWJlciBvZiB0aW1lcyB0byBkdXBsaWNhdGUgZWFjaCBvYmplY3QKK2NyZWF0ZV9wYWNrICgpIHsKKwlwYWNrX2hlYWRlciAiJCgoMiAqICQyKSkiID4iJDEiICYmCisJZm9yIGkgaW4gJCh0ZXN0X3NlcSAxICIkMiIpOyBkbworCQlwYWNrX29iaiAkTE9fU0hBMSAmJgorCQlwYWNrX29iaiAkSElfU0hBMQorCWRvbmUgPj4iJDEiICYmCisJcGFja190cmFpbGVyICIkMSIKK30KKworIyBkb3VibGUtY2hlY2sgdGhhdCBjcmVhdGVfcGFjayBhY3R1YWxseSB3b3JrcwordGVzdF9leHBlY3Rfc3VjY2VzcyAncGFjayB3aXRoIG5vIGR1cGxpY2F0ZXMnICcKKwljcmVhdGVfcGFjayBuby1kdXBzLnBhY2sgMSAmJgorCWdpdCBpbmRleC1wYWNrIC0tc3RkaW4gPG5vLWR1cHMucGFjaworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbmRleC1wYWNrIHdpbGwgYWxsb3cgZHVwbGljYXRlIG9iamVjdHMgYnkgZGVmYXVsdCcgJworCWNsZWFyX3BhY2tzICYmCisJY3JlYXRlX3BhY2sgZHVwcy5wYWNrIDEwMCAmJgorCWdpdCBpbmRleC1wYWNrIC0tc3RkaW4gPGR1cHMucGFjaworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgYmF0Y2gtY2hlY2sgdGVzdCB2ZWN0b3JzJyAnCisJY2F0ID5pbnB1dCA8PC1FT0YgJiYKKwkkTE9fU0hBMQorCSRISV9TSEExCisJJE1JU1NJTkdfU0hBMQorCUVPRgorCWNhdCA+ZXhwZWN0IDw8LUVPRgorCSRMT19TSEExIGJsb2IgMgorCSRISV9TSEExIGJsb2IgMAorCSRNSVNTSU5HX1NIQTEgbWlzc2luZworCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb29rdXAgaW4gZHVwbGljYXRlZCBwYWNrIChiaW5hcnkgc2VhcmNoKScgJworCWdpdCBjYXQtZmlsZSAtLWJhdGNoLWNoZWNrIDxpbnB1dCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb29rdXAgaW4gZHVwbGljYXRlZCBwYWNrIChHSVRfVVNFX0xPT0tVUCknICcKKwkoCisJCUdJVF9VU0VfTE9PS1VQPTEgJiYKKwkJZXhwb3J0IEdJVF9VU0VfTE9PS1VQICYmCisJCWdpdCBjYXQtZmlsZSAtLWJhdGNoLWNoZWNrIDxpbnB1dCA+YWN0dWFsCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5kZXgtcGFjayBjYW4gcmVqZWN0IHBhY2tzIHdpdGggZHVwbGljYXRlcycgJworCWNsZWFyX3BhY2tzICYmCisJY3JlYXRlX3BhY2sgZHVwcy5wYWNrIDIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgaW5kZXgtcGFjayAtLXN0cmljdCAtLXN0ZGluIDxkdXBzLnBhY2sgJiYKKwl0ZXN0X2V4cGVjdF9jb2RlIDEgZ2l0IGNhdC1maWxlIC1lICRMT19TSEExCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTMwOS1wYWNrLWRlbHRhLWN5Y2xlcy5zaCBiL3QvdDUzMDktcGFjay1kZWx0YS1jeWNsZXMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2U3ODYxYgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDUzMDktcGFjay1kZWx0YS1jeWNsZXMuc2gKQEAgLTAsMCArMSw3NyBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J3Rlc3QgaW5kZXgtcGFjayBoYW5kbGluZyBvZiBkZWx0YSBjeWNsZXMgaW4gcGFja2ZpbGVzJworLiAuL3Rlc3QtbGliLnNoCisuICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1wYWNrLnNoCisKKyMgVHdvIHNpbWlsYXItaXNoIG9iamVjdHMgdGhhdCB3ZSBoYXZlIGNvbXB1dGVkIGRlbHRhcyBiZXR3ZWVuLgorQT0wMWQ3NzEzNjY2ZjRkZTgyMjc3NmM3NjIyYzEwZjFiMDdkZTI4MGRjCitCPWU2OGZlODEyOWI1NDZiMTAxYWVlOTUxMGM1MzI4ZTdmMjFjYTFkMTgKKworIyBkb3VibGUtY2hlY2sgb3VyIGhhbmQtY29uc3R1Y3RlZCBwYWNrcwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5kZXgtcGFjayB3b3JrcyB3aXRoIGEgc2luZ2xlIGRlbHRhIChBLT5CKScgJworCWNsZWFyX3BhY2tzICYmCisJeworCQlwYWNrX2hlYWRlciAyICYmCisJCXBhY2tfb2JqICRBICRCICYmCisJCXBhY2tfb2JqICRCCisJfSA+YWIucGFjayAmJgorCXBhY2tfdHJhaWxlciBhYi5wYWNrICYmCisJZ2l0IGluZGV4LXBhY2sgLS1zdGRpbiA8YWIucGFjayAmJgorCWdpdCBjYXQtZmlsZSAtdCAkQSAmJgorCWdpdCBjYXQtZmlsZSAtdCAkQgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbmRleC1wYWNrIHdvcmtzIHdpdGggYSBzaW5nbGUgZGVsdGEgKEItPkEpJyAnCisJY2xlYXJfcGFja3MgJiYKKwl7CisJCXBhY2tfaGVhZGVyIDIgJiYKKwkJcGFja19vYmogJEEgJiYKKwkJcGFja19vYmogJEIgJEEKKwl9ID5iYS5wYWNrICYmCisJcGFja190cmFpbGVyIGJhLnBhY2sgJiYKKwlnaXQgaW5kZXgtcGFjayAtLXN0ZGluIDxiYS5wYWNrICYmCisJZ2l0IGNhdC1maWxlIC10ICRBICYmCisJZ2l0IGNhdC1maWxlIC10ICRCCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luZGV4LXBhY2sgZGV0ZWN0cyBtaXNzaW5nIGJhc2Ugb2JqZWN0cycgJworCWNsZWFyX3BhY2tzICYmCisJeworCQlwYWNrX2hlYWRlciAxICYmCisJCXBhY2tfb2JqICRBICRCCisJfSA+bWlzc2luZy5wYWNrICYmCisJcGFja190cmFpbGVyIG1pc3NpbmcucGFjayAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBpbmRleC1wYWNrIC0tZml4LXRoaW4gLS1zdGRpbiA8bWlzc2luZy5wYWNrCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luZGV4LXBhY2sgZGV0ZWN0cyBSRUZfREVMVEEgY3ljbGVzJyAnCisJY2xlYXJfcGFja3MgJiYKKwl7CisJCXBhY2tfaGVhZGVyIDIgJiYKKwkJcGFja19vYmogJEEgJEIgJiYKKwkJcGFja19vYmogJEIgJEEKKwl9ID5jeWNsZS5wYWNrICYmCisJcGFja190cmFpbGVyIGN5Y2xlLnBhY2sgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgaW5kZXgtcGFjayAtLWZpeC10aGluIC0tc3RkaW4gPGN5Y2xlLnBhY2sKKycKKwordGVzdF9leHBlY3RfZmFpbHVyZSAnZmFpbG92ZXIgdG8gYW4gb2JqZWN0IGluIGFub3RoZXIgcGFjaycgJworCWNsZWFyX3BhY2tzICYmCisJZ2l0IGluZGV4LXBhY2sgLS1zdGRpbiA8YWIucGFjayAmJgorCWdpdCBpbmRleC1wYWNrIC0tc3RkaW4gLS1maXgtdGhpbiA8Y3ljbGUucGFjaworJworCit0ZXN0X2V4cGVjdF9mYWlsdXJlICdmYWlsb3ZlciB0byBhIGR1cGxpY2F0ZSBvYmplY3QgaW4gdGhlIHNhbWUgcGFjaycgJworCWNsZWFyX3BhY2tzICYmCisJeworCQlwYWNrX2hlYWRlciAzICYmCisJCXBhY2tfb2JqICRBICRCICYmCisJCXBhY2tfb2JqICRCICRBICYmCisJCXBhY2tfb2JqICRBCisJfSA+cmVjb3ZlcmFibGUucGFjayAmJgorCXBhY2tfdHJhaWxlciByZWNvdmVyYWJsZS5wYWNrICYmCisJZ2l0IGluZGV4LXBhY2sgLS1maXgtdGhpbiAtLXN0ZGluIDxyZWNvdmVyYWJsZS5wYWNrCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTUwMC1mZXRjaC1wYWNrLnNoIGIvdC90NTUwMC1mZXRjaC1wYWNrLnNoCmluZGV4IGQ4N2RkZjcuLjViMmIxYzIgMTAwNzU1Ci0tLSBhL3QvdDU1MDAtZmV0Y2gtcGFjay5zaAorKysgYi90L3Q1NTAwLWZldGNoLXBhY2suc2gKQEAgLTUzMSw1ICs1MzEsOTIgQEAKIAkJZ2l0IGZzY2sKIAkpCiAnCitjaGVja19wcm90X3BhdGggKCkgeworCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJRGlhZzogdXJsPSQxCisJRGlhZzogcHJvdG9jb2w9JDIKKwlEaWFnOiBwYXRoPSQzCisJRU9GCisJZ2l0IGZldGNoLXBhY2sgLS1kaWFnLXVybCAiJDEiIHwgZ3JlcCAtdiBob3N0YW5kcG9ydD0gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorfQorCitjaGVja19wcm90X2hvc3RfcGF0aCAoKSB7CisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlEaWFnOiB1cmw9JDEKKwlEaWFnOiBwcm90b2NvbD0kMgorCURpYWc6IGhvc3RhbmRwb3J0PSQzCisJRGlhZzogcGF0aD0kNAorCUVPRgorCWdpdCBmZXRjaC1wYWNrIC0tZGlhZy11cmwgIiQxIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCit9CisKK2ZvciByIGluIHJlcG8gcmU6cG8gcmUvcG8KK2RvCisJIyBnaXQgb3Igc3NoIHdpdGggc2NoZW1lCisJZm9yIHAgaW4gInNzaCtnaXQiICJnaXQrc3NoIiBnaXQgc3NoCisJZG8KKwkJZm9yIGggaW4gaG9zdCBob3N0OjEyIFs6OjFdIFs6OjFdOjIzCisJCWRvCisJCQljYXNlICIkcCIgaW4KKwkJCSpzc2gqKQorCQkJCXBwPXNzaAorCQkJCTs7CisJCQkqKQorCQkJCXBwPSRwCisJCQk7OworCQkJZXNhYworCQkJdGVzdF9leHBlY3Rfc3VjY2VzcyAiZmV0Y2gtcGFjayAtLWRpYWctdXJsICRwOi8vJGgvJHIiICcKKwkJCQljaGVja19wcm90X2hvc3RfcGF0aCAkcDovLyRoLyRyICRwcCAiJGgiICIvJHIiCisJCQknCisJCQkjICIvfiIgLT4gIn4iIGNvbnZlcnNpb24KKwkJCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImZldGNoLXBhY2sgLS1kaWFnLXVybCAkcDovLyRoL34kciIgJworCQkJCWNoZWNrX3Byb3RfaG9zdF9wYXRoICRwOi8vJGgvfiRyICRwcCAiJGgiICJ+JHIiCisJCQknCisJCWRvbmUKKwlkb25lCisJIyBmaWxlIHdpdGggc2NoZW1lCisJZm9yIHAgaW4gZmlsZQorCWRvCisJCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImZldGNoLXBhY2sgLS1kaWFnLXVybCAkcDovLyRoLyRyIiAnCisJCQljaGVja19wcm90X3BhdGggJHA6Ly8kaC8kciAkcCAiLyRyIgorCQknCisJCSMgTm8gIi9+IiAtPiAifiIgY29udmVyc2lvbiBmb3IgZmlsZQorCQl0ZXN0X2V4cGVjdF9zdWNjZXNzICJmZXRjaC1wYWNrIC0tZGlhZy11cmwgJHA6Ly8kaC9+JHIiICcKKwkJCWNoZWNrX3Byb3RfcGF0aCAkcDovLyRoL34kciAkcCAiL34kciIKKwkJJworCWRvbmUKKwkjIGZpbGUgd2l0aG91dCBzY2hlbWUKKwlmb3IgaCBpbiBub2hvc3Qgbm9ob3N0OjEyIFs6OjFdIFs6OjFdOjIzIFsgWzphYQorCWRvCisJCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImZldGNoLXBhY2sgLS1kaWFnLXVybCAuLyRoOiRyIiAnCisJCQljaGVja19wcm90X3BhdGggLi8kaDokciAkcCAiLi8kaDokciIKKwkJJworCQkjIE5vICIvfiIgLT4gIn4iIGNvbnZlcnNpb24gZm9yIGZpbGUKKwkJdGVzdF9leHBlY3Rfc3VjY2VzcyAiZmV0Y2gtcGFjayAtLWRpYWctdXJsIC4vJHA6JGgvfiRyIiAnCisJCWNoZWNrX3Byb3RfcGF0aCAuLyRwOiRoL34kciAkcCAiLi8kcDokaC9+JHIiCisJCScKKwlkb25lCisJI3NzaCB3aXRob3V0IHNjaGVtZQorCXA9c3NoCisJZm9yIGggaW4gaG9zdCBbOjoxXQorCWRvCisJCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImZldGNoLXBhY2sgLS1kaWFnLXVybCAkaDokciIgJworCQkJY2hlY2tfcHJvdF9wYXRoICRoOiRyICRwICIkciIKKwkJJworCQkjIERvICIvfiIgLT4gIn4iIGNvbnZlcnNpb24KKwkJdGVzdF9leHBlY3Rfc3VjY2VzcyAiZmV0Y2gtcGFjayAtLWRpYWctdXJsICRoOi9+JHIiICcKKwkJCWNoZWNrX3Byb3RfaG9zdF9wYXRoICRoOi9+JHIgJHAgIiRoIiAifiRyIgorCQknCisJZG9uZQorZG9uZQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzIE1JTkdXICdmZXRjaC1wYWNrIC0tZGlhZy11cmwgZmlsZTovL2M6L3JlcG8nICcKKwljaGVja19wcm90X3BhdGggZmlsZTovL2M6L3JlcG8gZmlsZSBjOi9yZXBvCisnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIE1JTkdXICdmZXRjaC1wYWNrIC0tZGlhZy11cmwgYzpyZXBvJyAnCisJY2hlY2tfcHJvdF9wYXRoIGM6cmVwbyBmaWxlIGM6cmVwbworJwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1MTAtZmV0Y2guc2ggYi90L3Q1NTEwLWZldGNoLnNoCmluZGV4IGZkZTY4OTEuLmFiMjg1OTQgMTAwNzU1Ci0tLSBhL3QvdDU1MTAtZmV0Y2guc2gKKysrIGIvdC90NTUxMC1mZXRjaC5zaApAQCAtODgsNyArODgsNyBAQAogCWNkICIkRCIgJiYKIAlnaXQgY2xvbmUgLiBwcnVuZSAmJgogCWNkIHBydW5lICYmCi0JZ2l0IGZldGNoIG9yaWdpbiByZWZzL2hlYWRzL21hc3RlcjpyZWZzL3JlbW90ZXMvb3JpZ2luL2V4dHJhYnJhbmNoICYmCisJZ2l0IHVwZGF0ZS1yZWYgcmVmcy9yZW1vdGVzL29yaWdpbi9leHRyYWJyYW5jaCBtYXN0ZXIgJiYKIAogCWdpdCBmZXRjaCAtLXBydW5lIG9yaWdpbiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2Ugb3JpZ2luL2V4dHJhYnJhbmNoCkBAIC05OCw3ICs5OCw3IEBACiAJY2QgIiREIiAmJgogCWdpdCBjbG9uZSAuIHBydW5lLWJyYW5jaCAmJgogCWNkIHBydW5lLWJyYW5jaCAmJgotCWdpdCBmZXRjaCBvcmlnaW4gcmVmcy9oZWFkcy9tYXN0ZXI6cmVmcy9yZW1vdGVzL29yaWdpbi9leHRyYWJyYW5jaCAmJgorCWdpdCB1cGRhdGUtcmVmIHJlZnMvcmVtb3Rlcy9vcmlnaW4vZXh0cmFicmFuY2ggbWFzdGVyICYmCiAKIAlnaXQgZmV0Y2ggLS1wcnVuZSBvcmlnaW4gbWFzdGVyICYmCiAJZ2l0IHJldi1wYXJzZSBvcmlnaW4vZXh0cmFicmFuY2gKQEAgLTExMywyNSArMTEzLDQ1IEBACiAJZ2l0IHJldi1wYXJzZSBvcmlnaW4vbWFzdGVyCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoIC0tcHJ1bmUgLS10YWdzIGRvZXMgbm90IGRlbGV0ZSB0aGUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaCAtLXBydW5lIC0tdGFncyBwcnVuZXMgYnJhbmNoZXMgYnV0IG5vdCB0YWdzJyAnCiAJY2QgIiREIiAmJgogCWdpdCBjbG9uZSAuIHBydW5lLXRhZ3MgJiYKIAljZCBwcnVuZS10YWdzICYmCi0JZ2l0IGZldGNoIG9yaWdpbiByZWZzL2hlYWRzL21hc3RlcjpyZWZzL3RhZ3Mvc29tZXRhZyAmJgorCWdpdCB0YWcgc29tZXRhZyBtYXN0ZXIgJiYKKwkjIENyZWF0ZSB3aGF0IGxvb2tzIGxpa2UgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIGZyb20gYW4gZWFybGllcgorCSMgZmV0Y2ggdGhhdCBoYXMgc2luY2UgYmVlbiBkZWxldGVkIGZyb20gdGhlIHJlbW90ZToKKwlnaXQgdXBkYXRlLXJlZiByZWZzL3JlbW90ZXMvb3JpZ2luL2Zha2UtcmVtb3RlIG1hc3RlciAmJgogCiAJZ2l0IGZldGNoIC0tcHJ1bmUgLS10YWdzIG9yaWdpbiAmJgogCWdpdCByZXYtcGFyc2Ugb3JpZ2luL21hc3RlciAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2Ugc29tZWJyYW5jaAorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2Ugb3JpZ2luL2Zha2UtcmVtb3RlICYmCisJZ2l0IHJldi1wYXJzZSBzb21ldGFnCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoIC0tcHJ1bmUgLS10YWdzIHdpdGggYnJhbmNoIGRvZXMgbm90IGRlbGV0ZSBvdGhlciByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoIC0tcHJ1bmUgLS10YWdzIHdpdGggYnJhbmNoIGRvZXMgbm90IHBydW5lIG90aGVyIHRoaW5ncycgJwogCWNkICIkRCIgJiYKIAlnaXQgY2xvbmUgLiBwcnVuZS10YWdzLWJyYW5jaCAmJgogCWNkIHBydW5lLXRhZ3MtYnJhbmNoICYmCi0JZ2l0IGZldGNoIG9yaWdpbiByZWZzL2hlYWRzL21hc3RlcjpyZWZzL3JlbW90ZXMvb3JpZ2luL2V4dHJhYnJhbmNoICYmCisJZ2l0IHRhZyBzb21ldGFnIG1hc3RlciAmJgorCWdpdCB1cGRhdGUtcmVmIHJlZnMvcmVtb3Rlcy9vcmlnaW4vZXh0cmFicmFuY2ggbWFzdGVyICYmCiAKIAlnaXQgZmV0Y2ggLS1wcnVuZSAtLXRhZ3Mgb3JpZ2luIG1hc3RlciAmJgotCWdpdCByZXYtcGFyc2Ugb3JpZ2luL2V4dHJhYnJhbmNoCisJZ2l0IHJldi1wYXJzZSBvcmlnaW4vZXh0cmFicmFuY2ggJiYKKwlnaXQgcmV2LXBhcnNlIHNvbWV0YWcKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggLS1wcnVuZSAtLXRhZ3Mgd2l0aCByZWZzcGVjIHBydW5lcyBiYXNlZCBvbiByZWZzcGVjJyAnCisJY2QgIiREIiAmJgorCWdpdCBjbG9uZSAuIHBydW5lLXRhZ3MtcmVmc3BlYyAmJgorCWNkIHBydW5lLXRhZ3MtcmVmc3BlYyAmJgorCWdpdCB0YWcgc29tZXRhZyBtYXN0ZXIgJiYKKwlnaXQgdXBkYXRlLXJlZiByZWZzL3JlbW90ZXMvb3JpZ2luL2Zvby9vdGhlcmJyYW5jaCBtYXN0ZXIgJiYKKwlnaXQgdXBkYXRlLXJlZiByZWZzL3JlbW90ZXMvb3JpZ2luL2V4dHJhYnJhbmNoIG1hc3RlciAmJgorCisJZ2l0IGZldGNoIC0tcHJ1bmUgLS10YWdzIG9yaWdpbiByZWZzL2hlYWRzL2Zvby8qOnJlZnMvcmVtb3Rlcy9vcmlnaW4vZm9vLyogJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIHJlZnMvcmVtb3Rlcy9vcmlnaW4vZm9vL290aGVyYnJhbmNoICYmCisJZ2l0IHJldi1wYXJzZSBvcmlnaW4vZXh0cmFicmFuY2ggJiYKKwlnaXQgcmV2LXBhcnNlIHNvbWV0YWcKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggdGFncyB3aGVuIHRoZXJlIGlzIG5vIHRhZ3MnICcKQEAgLTQ5Nyw2ICs1MTcsODggQEAKIAkpCiAnCiAKKyMgY29uZmlndXJlZCBwcnVuZSB0ZXN0cworCitzZXRfY29uZmlnX3RyaXN0YXRlICgpIHsKKwkjIHZhcj0kMSB2YWw9JDIKKwljYXNlICIkMiIgaW4KKwl1bnNldCkgIHRlc3RfdW5jb25maWcgIiQxIiA7OworCSopCWdpdCBjb25maWcgIiQxIiAiJDIiIDs7CisJZXNhYworfQorCit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgKCkgeworCWZldGNoX3BydW5lPSQxIHJlbW90ZV9vcmlnaW5fcHJ1bmU9JDIgY21kbGluZT0kMyBleHBlY3RlZD0kNAorCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAicHJ1bmUgZmV0Y2gucHJ1bmU9JDEgcmVtb3RlLm9yaWdpbi5wcnVuZT0kMiR7MzorICQzfTsgJDQiICcKKwkJIyBtYWtlIHN1cmUgYSBuZXdicmFuY2ggaXMgdGhlcmUgaW4gLiBhbmQgYWxzbyBpbiBvbmUKKwkJZ2l0IGJyYW5jaCAtZiBuZXdicmFuY2ggJiYKKwkJKAorCQkJY2Qgb25lICYmCisJCQl0ZXN0X3VuY29uZmlnIGZldGNoLnBydW5lICYmCisJCQl0ZXN0X3VuY29uZmlnIHJlbW90ZS5vcmlnaW4ucHJ1bmUgJiYKKwkJCWdpdCBmZXRjaCAmJgorCQkJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSByZWZzL3JlbW90ZXMvb3JpZ2luL25ld2JyYW5jaAorCQkpCisKKwkJIyBub3cgcmVtb3ZlIGl0CisJCWdpdCBicmFuY2ggLWQgbmV3YnJhbmNoICYmCisKKwkJIyB0aGVuIHRlc3QKKwkJKAorCQkJY2Qgb25lICYmCisJCQlzZXRfY29uZmlnX3RyaXN0YXRlIGZldGNoLnBydW5lICRmZXRjaF9wcnVuZSAmJgorCQkJc2V0X2NvbmZpZ190cmlzdGF0ZSByZW1vdGUub3JpZ2luLnBydW5lICRyZW1vdGVfb3JpZ2luX3BydW5lICYmCisKKwkJCWdpdCBmZXRjaCAkY21kbGluZSAmJgorCQkJY2FzZSAiJGV4cGVjdGVkIiBpbgorCQkJcHJ1bmVkKQorCQkJCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgcmVmcy9yZW1vdGVzL29yaWdpbi9uZXdicmFuY2gKKwkJCQk7OworCQkJa2VwdCkKKwkJCQlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IHJlZnMvcmVtb3Rlcy9vcmlnaW4vbmV3YnJhbmNoCisJCQkJOzsKKwkJCWVzYWMKKwkJKQorCScKK30KKwordGVzdF9jb25maWd1cmVkX3BydW5lIHVuc2V0IHVuc2V0ICIiCQlrZXB0Cit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgdW5zZXQgdW5zZXQgIi0tbm8tcHJ1bmUiCWtlcHQKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSB1bnNldCB1bnNldCAiLS1wcnVuZSIJcHJ1bmVkCisKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSBmYWxzZSB1bnNldCAiIgkJa2VwdAordGVzdF9jb25maWd1cmVkX3BydW5lIGZhbHNlIHVuc2V0ICItLW5vLXBydW5lIglrZXB0Cit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgZmFsc2UgdW5zZXQgIi0tcHJ1bmUiCXBydW5lZAorCit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgdHJ1ZSAgdW5zZXQgIiIJCXBydW5lZAordGVzdF9jb25maWd1cmVkX3BydW5lIHRydWUgIHVuc2V0ICItLXBydW5lIglwcnVuZWQKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSB0cnVlICB1bnNldCAiLS1uby1wcnVuZSIJa2VwdAorCit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgdW5zZXQgZmFsc2UgIiIJCWtlcHQKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSB1bnNldCBmYWxzZSAiLS1uby1wcnVuZSIJa2VwdAordGVzdF9jb25maWd1cmVkX3BydW5lIHVuc2V0IGZhbHNlICItLXBydW5lIglwcnVuZWQKKwordGVzdF9jb25maWd1cmVkX3BydW5lIGZhbHNlIGZhbHNlICIiCQlrZXB0Cit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgZmFsc2UgZmFsc2UgIi0tbm8tcHJ1bmUiCWtlcHQKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSBmYWxzZSBmYWxzZSAiLS1wcnVuZSIJcHJ1bmVkCisKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSB0cnVlICBmYWxzZSAiIgkJa2VwdAordGVzdF9jb25maWd1cmVkX3BydW5lIHRydWUgIGZhbHNlICItLXBydW5lIglwcnVuZWQKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSB0cnVlICBmYWxzZSAiLS1uby1wcnVuZSIJa2VwdAorCit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgdW5zZXQgdHJ1ZSAgIiIJCXBydW5lZAordGVzdF9jb25maWd1cmVkX3BydW5lIHVuc2V0IHRydWUgICItLW5vLXBydW5lIglrZXB0Cit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgdW5zZXQgdHJ1ZSAgIi0tcHJ1bmUiCXBydW5lZAorCit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgZmFsc2UgdHJ1ZSAgIiIJCXBydW5lZAordGVzdF9jb25maWd1cmVkX3BydW5lIGZhbHNlIHRydWUgICItLW5vLXBydW5lIglrZXB0Cit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgZmFsc2UgdHJ1ZSAgIi0tcHJ1bmUiCXBydW5lZAorCit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgdHJ1ZSAgdHJ1ZSAgIiIJCXBydW5lZAordGVzdF9jb25maWd1cmVkX3BydW5lIHRydWUgIHRydWUgICItLXBydW5lIglwcnVuZWQKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSB0cnVlICB0cnVlICAiLS1uby1wcnVuZSIJa2VwdAorCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhbGwgYm91bmRhcnkgY29tbWl0cyBhcmUgZXhjbHVkZWQnICcKIAl0ZXN0X2NvbW1pdCBiYXNlICYmCiAJdGVzdF9jb21taXQgb25lc2lkZSAmJgpAQCAtNTEyLDQgKzYxNCw0MSBAQAogCXRlc3RfYnVuZGxlX29iamVjdF9jb3VudCAuZ2l0L29iamVjdHMvcGFjay9wYWNrLSR7cGFjayMjcGFjawl9LnBhY2sgMwogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaCAtLXBydW5lIHByaW50cyB0aGUgcmVtb3RlcyB1cmwnICcKKwlnaXQgYnJhbmNoIGdvb2RieWUgJiYKKwlnaXQgY2xvbmUgLiBvbmx5LXBydW5lcyAmJgorCWdpdCBicmFuY2ggLUQgZ29vZGJ5ZSAmJgorCSgKKwkJY2Qgb25seS1wcnVuZXMgJiYKKwkJZ2l0IGZldGNoIC0tcHJ1bmUgb3JpZ2luIDI+JjEgfCBoZWFkIC1uMSA+Li4vYWN0dWFsCisJKSAmJgorCWVjaG8gIkZyb20gJHtEfS8uIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdicmFuY2huYW1lIEQvRiBjb25mbGljdCByZXNvbHZlZCBieSAtLXBydW5lJyAnCisJZ2l0IGJyYW5jaCBkaXIvZmlsZSAmJgorCWdpdCBjbG9uZSAuIHBydW5lLWRmLWNvbmZsaWN0ICYmCisJZ2l0IGJyYW5jaCAtRCBkaXIvZmlsZSAmJgorCWdpdCBicmFuY2ggZGlyICYmCisJKAorCQljZCBwcnVuZS1kZi1jb25mbGljdCAmJgorCQlnaXQgZmV0Y2ggLS1wcnVuZSAmJgorCQlnaXQgcmV2LXBhcnNlIG9yaWdpbi9kaXIgPi4uL2FjdHVhbAorCSkgJiYKKwlnaXQgcmV2LXBhcnNlIGRpciA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaGluZyBhIG9uZS1sZXZlbCByZWYgd29ya3MnICcKKwl0ZXN0X2NvbW1pdCBleHRyYSAmJgorCWdpdCByZXNldCAtLWhhcmQgSEVBRF4gJiYKKwlnaXQgdXBkYXRlLXJlZiByZWZzL2ZvbyBleHRyYSAmJgorCWdpdCBpbml0IG9uZS1sZXZlbCAmJgorCSgKKwkJY2Qgb25lLWxldmVsICYmCisJCWdpdCBmZXRjaCAuLiBIRUFEIHJlZnMvZm9vCisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1MTUvZmV0Y2guYnItdW5jb25maWdfLS10YWdzXy4uXy5naXQgYi90L3Q1NTE1L2ZldGNoLmJyLXVuY29uZmlnXy0tdGFnc18uLl8uZ2l0CmluZGV4IDE2NjljYzQuLjBmNzBmNjYgMTAwNjQ0Ci0tLSBhL3QvdDU1MTUvZmV0Y2guYnItdW5jb25maWdfLS10YWdzXy4uXy5naXQKKysrIGIvdC90NTUxNS9mZXRjaC5ici11bmNvbmZpZ18tLXRhZ3NfLi5fLmdpdApAQCAtMSw0ICsxLDUgQEAKICMgYnItdW5jb25maWcgLS10YWdzIC4uLy5naXQKKzA1NjdkYTRkNWVkZDJmZjRiYjI5MmE0NjViYTllNjRkY2FkOTUzNmIJCS4uLwogNmM5ZGVjMmI5MjMyMjhjOWZmOTk0YzZjZmU0YWUxNmMxMjQwOGRjNQlub3QtZm9yLW1lcmdlCXRhZyAndGFnLW1hc3Rlcicgb2YgLi4vCiA4ZTMyYTZkOTAxMzI3YTIzZWY4MzE1MTFiYWRjZTdiZjNiZjQ2Njg5CW5vdC1mb3ItbWVyZ2UJdGFnICd0YWctb25lJyBvZiAuLi8KIDIyZmVlYTQ0OGIwMjNhMmQ4NjRlZjk0YjAxMzczNWFmMzRkMjM4YmEJbm90LWZvci1tZXJnZQl0YWcgJ3RhZy1vbmUtdHJlZScgb2YgLi4vCmRpZmYgLS1naXQgYS90L3Q1NTE1L2ZldGNoLm1hc3Rlcl8tLXRhZ3NfLi5fLmdpdCBiL3QvdDU1MTUvZmV0Y2gubWFzdGVyXy0tdGFnc18uLl8uZ2l0CmluZGV4IDhhNzQ5MzUuLmFiNDczYTYgMTAwNjQ0Ci0tLSBhL3QvdDU1MTUvZmV0Y2gubWFzdGVyXy0tdGFnc18uLl8uZ2l0CisrKyBiL3QvdDU1MTUvZmV0Y2gubWFzdGVyXy0tdGFnc18uLl8uZ2l0CkBAIC0xLDQgKzEsNSBAQAogIyBtYXN0ZXIgLS10YWdzIC4uLy5naXQKKzA1NjdkYTRkNWVkZDJmZjRiYjI5MmE0NjViYTllNjRkY2FkOTUzNmIJCS4uLwogNmM5ZGVjMmI5MjMyMjhjOWZmOTk0YzZjZmU0YWUxNmMxMjQwOGRjNQlub3QtZm9yLW1lcmdlCXRhZyAndGFnLW1hc3Rlcicgb2YgLi4vCiA4ZTMyYTZkOTAxMzI3YTIzZWY4MzE1MTFiYWRjZTdiZjNiZjQ2Njg5CW5vdC1mb3ItbWVyZ2UJdGFnICd0YWctb25lJyBvZiAuLi8KIDIyZmVlYTQ0OGIwMjNhMmQ4NjRlZjk0YjAxMzczNWFmMzRkMjM4YmEJbm90LWZvci1tZXJnZQl0YWcgJ3RhZy1vbmUtdHJlZScgb2YgLi4vCmRpZmYgLS1naXQgYS90L3Q1NTE2LWZldGNoLXB1c2guc2ggYi90L3Q1NTE2LWZldGNoLXB1c2guc2gKaW5kZXggNDY5MWQ1MS4uOTI2ZTdmNiAxMDA3NTUKLS0tIGEvdC90NTUxNi1mZXRjaC1wdXNoLnNoCisrKyBiL3QvdDU1MTYtZmV0Y2gtcHVzaC5zaApAQCAtMTEyNiw2ICsxMTI2LDgxIEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoaW5nIGEgc3BlY2lmaWMgcmVmIGFwcGxpZXMgcmVtb3RlLiRuYW1lLnB1c2ggYXMgcmVmbWFwJyAnCisJbWtfdGVzdCB0ZXN0cmVwbyBoZWFkcy9tYXN0ZXIgJiYKKwlybSAtZnIgc3JjIGRzdCAmJgorCWdpdCBpbml0IHNyYyAmJgorCWdpdCBpbml0IC0tYmFyZSBkc3QgJiYKKwkoCisJCWNkIHNyYyAmJgorCQlnaXQgcHVsbCAuLi90ZXN0cmVwbyBtYXN0ZXIgJiYKKwkJZ2l0IGJyYW5jaCBuZXh0ICYmCisJCWdpdCBjb25maWcgcmVtb3RlLmRzdC51cmwgLi4vZHN0ICYmCisJCWdpdCBjb25maWcgcmVtb3RlLmRzdC5wdXNoICIrcmVmcy9oZWFkcy8qOnJlZnMvcmVtb3Rlcy9zcmMvKiIgJiYKKwkJZ2l0IHB1c2ggZHN0IG1hc3RlciAmJgorCQlnaXQgc2hvdy1yZWYgcmVmcy9oZWFkcy9tYXN0ZXIgfAorCQlzZWQgLWUgInN8cmVmcy9oZWFkcy98cmVmcy9yZW1vdGVzL3NyYy98IiA+Li4vZHN0L2V4cGVjdAorCSkgJiYKKwkoCisJCWNkIGRzdCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgc2hvdy1yZWYgcmVmcy9oZWFkcy9uZXh0ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBzaG93LXJlZiByZWZzL2hlYWRzL21hc3RlciAmJgorCQlnaXQgc2hvdy1yZWYgcmVmcy9yZW1vdGVzL3NyYy9tYXN0ZXIgPmFjdHVhbAorCSkgJiYKKwl0ZXN0X2NtcCBkc3QvZXhwZWN0IGRzdC9hY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnd2l0aCBubyByZW1vdGUuJG5hbWUucHVzaCwgaXQgaXMgbm90IHVzZWQgYXMgcmVmbWFwJyAnCisJbWtfdGVzdCB0ZXN0cmVwbyBoZWFkcy9tYXN0ZXIgJiYKKwlybSAtZnIgc3JjIGRzdCAmJgorCWdpdCBpbml0IHNyYyAmJgorCWdpdCBpbml0IC0tYmFyZSBkc3QgJiYKKwkoCisJCWNkIHNyYyAmJgorCQlnaXQgcHVsbCAuLi90ZXN0cmVwbyBtYXN0ZXIgJiYKKwkJZ2l0IGJyYW5jaCBuZXh0ICYmCisJCWdpdCBjb25maWcgcmVtb3RlLmRzdC51cmwgLi4vZHN0ICYmCisJCWdpdCBjb25maWcgcHVzaC5kZWZhdWx0IG1hdGNoaW5nICYmCisJCWdpdCBwdXNoIGRzdCBtYXN0ZXIgJiYKKwkJZ2l0IHNob3ctcmVmIHJlZnMvaGVhZHMvbWFzdGVyID4uLi9kc3QvZXhwZWN0CisJKSAmJgorCSgKKwkJY2QgZHN0ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBzaG93LXJlZiByZWZzL2hlYWRzL25leHQgJiYKKwkJZ2l0IHNob3ctcmVmIHJlZnMvaGVhZHMvbWFzdGVyID5hY3R1YWwKKwkpICYmCisJdGVzdF9jbXAgZHN0L2V4cGVjdCBkc3QvYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dpdGggbm8gcmVtb3RlLiRuYW1lLnB1c2gsIHVwc3RyZWFtIG1hcHBpbmcgaXMgdXNlZCcgJworCW1rX3Rlc3QgdGVzdHJlcG8gaGVhZHMvbWFzdGVyICYmCisJcm0gLWZyIHNyYyBkc3QgJiYKKwlnaXQgaW5pdCBzcmMgJiYKKwlnaXQgaW5pdCAtLWJhcmUgZHN0ICYmCisJKAorCQljZCBzcmMgJiYKKwkJZ2l0IHB1bGwgLi4vdGVzdHJlcG8gbWFzdGVyICYmCisJCWdpdCBicmFuY2ggbmV4dCAmJgorCQlnaXQgY29uZmlnIHJlbW90ZS5kc3QudXJsIC4uL2RzdCAmJgorCQlnaXQgY29uZmlnIHJlbW90ZS5kc3QuZmV0Y2ggIityZWZzL2hlYWRzLyo6cmVmcy9yZW1vdGVzL2RzdC8qIiAmJgorCQlnaXQgY29uZmlnIHB1c2guZGVmYXVsdCB1cHN0cmVhbSAmJgorCisJCWdpdCBjb25maWcgYnJhbmNoLm1hc3Rlci5tZXJnZSByZWZzL2hlYWRzL3RydW5rICYmCisJCWdpdCBjb25maWcgYnJhbmNoLm1hc3Rlci5yZW1vdGUgZHN0ICYmCisKKwkJZ2l0IHB1c2ggZHN0IG1hc3RlciAmJgorCQlnaXQgc2hvdy1yZWYgcmVmcy9oZWFkcy9tYXN0ZXIgfAorCQlzZWQgLWUgInN8cmVmcy9oZWFkcy9tYXN0ZXJ8cmVmcy9oZWFkcy90cnVua3wiID4uLi9kc3QvZXhwZWN0CisJKSAmJgorCSgKKwkJY2QgZHN0ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBzaG93LXJlZiByZWZzL2hlYWRzL21hc3RlciAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgc2hvdy1yZWYgcmVmcy9oZWFkcy9uZXh0ICYmCisJCWdpdCBzaG93LXJlZiByZWZzL2hlYWRzL3RydW5rID5hY3R1YWwKKwkpICYmCisJdGVzdF9jbXAgZHN0L2V4cGVjdCBkc3QvYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggZG9lcyBub3QgZm9sbG93IHRhZ3MgYnkgZGVmYXVsdCcgJwogCW1rX3Rlc3QgdGVzdHJlcG8gaGVhZHMvbWFzdGVyICYmCiAJcm0gLWZyIHNyYyBkc3QgJiYKQEAgLTExNzIsNCArMTI0NywyMSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCAtLW5vLXRoaW4gbXVzdCBwcm9kdWNlIG5vbi10aGluIHBhY2snICcKKwljYXQgPj5wYXRoMSA8PFxFT0YgJiYKK2tlZXAgYmFzZSB2ZXJzaW9uIG9mIHBhdGgxIGJpZyBlbm91Z2gsIGNvbXBhcmVkIHRvIHRoZSBuZXcgY2hhbmdlcworbGF0ZXIsIGluIG9yZGVyIHRvIHBhc3Mgc2l6ZSBoZXVyaXN0aWNzIGluCitidWlsdGluL3BhY2stb2JqZWN0cy5jOnRyeV9kZWx0YSgpCitFT0YKKwlnaXQgY29tbWl0IC1hbSBpbml0aWFsICYmCisJZ2l0IGluaXQgbm8tdGhpbiAmJgorCWdpdCAtLWdpdC1kaXI9bm8tdGhpbi8uZ2l0IGNvbmZpZyByZWNlaXZlLnVucGFja2xpbWl0IDAgJiYKKwlnaXQgcHVzaCBuby10aGluLy5naXQgcmVmcy9oZWFkcy9tYXN0ZXI6cmVmcy9oZWFkcy9mb28gJiYKKwllY2hvIG1vZGlmaWVkID4+IHBhdGgxICYmCisJZ2l0IGNvbW1pdCAtYW0gbW9kaWZpZWQgJiYKKwlnaXQgcmVwYWNrIC1hZGYgJiYKKwlyY3ZwY2s9ImdpdCByZWNlaXZlLXBhY2sgLS1yZWplY3QtdGhpbi1wYWNrLWZvci10ZXN0aW5nIiAmJgorCWdpdCBwdXNoIC0tbm8tdGhpbiAtLXJlY2VpdmUtcGFjaz0iJHJjdnBjayIgbm8tdGhpbi8uZ2l0IHJlZnMvaGVhZHMvbWFzdGVyOnJlZnMvaGVhZHMvZm9vCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTUyMC1wdWxsLnNoIGIvdC90NTUyMC1wdWxsLnNoCmluZGV4IGVkNGQ5YzguLjIyN2QyOTMgMTAwNzU1Ci0tLSBhL3QvdDU1MjAtcHVsbC5zaAorKysgYi90L3Q1NTIwLXB1bGwuc2gKQEAgLTE0OCw2ICsxNDgsOTUgQEAKIAl0ZXN0IG5ldyA9ICQoZ2l0IHNob3cgSEVBRDpmaWxlMikKICcKIAorIyBhZGQgYSBmZWF0dXJlIGJyYW5jaCwga2VlcC1tZXJnZSwgdGhhdCBpcyBtZXJnZWQgaW50byBtYXN0ZXIsIHNvIHRoZQorIyB0ZXN0IGNhbiB0cnkgcHJlc2VydmluZyB0aGUgbWVyZ2UgY29tbWl0IChvciBub3QpIHdpdGggdmFyaW91cworIyAtLXJlYmFzZSBmbGFncy9wdWxsLnJlYmFzZSBzZXR0aW5ncy4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ByZXNlcnZlIG1lcmdlIHNldHVwJyAnCisJZ2l0IHJlc2V0IC0taGFyZCBiZWZvcmUtcmViYXNlICYmCisJZ2l0IGNoZWNrb3V0IC1iIGtlZXAtbWVyZ2Ugc2Vjb25kXiAmJgorCXRlc3RfY29tbWl0IGZpbGUzICYmCisJZ2l0IGNoZWNrb3V0IHRvLXJlYmFzZSAmJgorCWdpdCBtZXJnZSBrZWVwLW1lcmdlICYmCisJZ2l0IHRhZyBiZWZvcmUtcHJlc2VydmUtcmViYXNlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1bGwucmViYXNlPWZhbHNlIGNyZWF0ZSBhIG5ldyBtZXJnZSBjb21taXQnICcKKwlnaXQgcmVzZXQgLS1oYXJkIGJlZm9yZS1wcmVzZXJ2ZS1yZWJhc2UgJiYKKwl0ZXN0X2NvbmZpZyBwdWxsLnJlYmFzZSBmYWxzZSAmJgorCWdpdCBwdWxsIC4gY29weSAmJgorCXRlc3QgJChnaXQgcmV2LXBhcnNlIEhFQUReMSkgPSAkKGdpdCByZXYtcGFyc2UgYmVmb3JlLXByZXNlcnZlLXJlYmFzZSkgJiYKKwl0ZXN0ICQoZ2l0IHJldi1wYXJzZSBIRUFEXjIpID0gJChnaXQgcmV2LXBhcnNlIGNvcHkpICYmCisJdGVzdCBmaWxlMyA9ICQoZ2l0IHNob3cgSEVBRDpmaWxlMy50KQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdWxsLnJlYmFzZT10cnVlIGZsYXR0ZW5zIGtlZXAtbWVyZ2UnICcKKwlnaXQgcmVzZXQgLS1oYXJkIGJlZm9yZS1wcmVzZXJ2ZS1yZWJhc2UgJiYKKwl0ZXN0X2NvbmZpZyBwdWxsLnJlYmFzZSB0cnVlICYmCisJZ2l0IHB1bGwgLiBjb3B5ICYmCisJdGVzdCAkKGdpdCByZXYtcGFyc2UgSEVBRF5eKSA9ICQoZ2l0IHJldi1wYXJzZSBjb3B5KSAmJgorCXRlc3QgZmlsZTMgPSAkKGdpdCBzaG93IEhFQUQ6ZmlsZTMudCkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVsbC5yZWJhc2U9MSBpcyB0cmVhdGVkIGFzIHRydWUgYW5kIGZsYXR0ZW5zIGtlZXAtbWVyZ2UnICcKKwlnaXQgcmVzZXQgLS1oYXJkIGJlZm9yZS1wcmVzZXJ2ZS1yZWJhc2UgJiYKKwl0ZXN0X2NvbmZpZyBwdWxsLnJlYmFzZSAxICYmCisJZ2l0IHB1bGwgLiBjb3B5ICYmCisJdGVzdCAkKGdpdCByZXYtcGFyc2UgSEVBRF5eKSA9ICQoZ2l0IHJldi1wYXJzZSBjb3B5KSAmJgorCXRlc3QgZmlsZTMgPSAkKGdpdCBzaG93IEhFQUQ6ZmlsZTMudCkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVsbC5yZWJhc2U9cHJlc2VydmUgcmViYXNlcyBhbmQgbWVyZ2VzIGtlZXAtbWVyZ2UnICcKKwlnaXQgcmVzZXQgLS1oYXJkIGJlZm9yZS1wcmVzZXJ2ZS1yZWJhc2UgJiYKKwl0ZXN0X2NvbmZpZyBwdWxsLnJlYmFzZSBwcmVzZXJ2ZSAmJgorCWdpdCBwdWxsIC4gY29weSAmJgorCXRlc3QgJChnaXQgcmV2LXBhcnNlIEhFQUReXikgPSAkKGdpdCByZXYtcGFyc2UgY29weSkgJiYKKwl0ZXN0ICQoZ2l0IHJldi1wYXJzZSBIRUFEXjIpID0gJChnaXQgcmV2LXBhcnNlIGtlZXAtbWVyZ2UpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1bGwucmViYXNlPWludmFsaWQgZmFpbHMnICcKKwlnaXQgcmVzZXQgLS1oYXJkIGJlZm9yZS1wcmVzZXJ2ZS1yZWJhc2UgJiYKKwl0ZXN0X2NvbmZpZyBwdWxsLnJlYmFzZSBpbnZhbGlkICYmCisJISBnaXQgcHVsbCAuIGNvcHkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZWJhc2U9ZmFsc2UgY3JlYXRlIGEgbmV3IG1lcmdlIGNvbW1pdCcgJworCWdpdCByZXNldCAtLWhhcmQgYmVmb3JlLXByZXNlcnZlLXJlYmFzZSAmJgorCXRlc3RfY29uZmlnIHB1bGwucmViYXNlIHRydWUgJiYKKwlnaXQgcHVsbCAtLXJlYmFzZT1mYWxzZSAuIGNvcHkgJiYKKwl0ZXN0ICQoZ2l0IHJldi1wYXJzZSBIRUFEXjEpID0gJChnaXQgcmV2LXBhcnNlIGJlZm9yZS1wcmVzZXJ2ZS1yZWJhc2UpICYmCisJdGVzdCAkKGdpdCByZXYtcGFyc2UgSEVBRF4yKSA9ICQoZ2l0IHJldi1wYXJzZSBjb3B5KSAmJgorCXRlc3QgZmlsZTMgPSAkKGdpdCBzaG93IEhFQUQ6ZmlsZTMudCkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZWJhc2U9dHJ1ZSByZWJhc2VzIGFuZCBmbGF0dGVucyBrZWVwLW1lcmdlJyAnCisJZ2l0IHJlc2V0IC0taGFyZCBiZWZvcmUtcHJlc2VydmUtcmViYXNlICYmCisJdGVzdF9jb25maWcgcHVsbC5yZWJhc2UgcHJlc2VydmUgJiYKKwlnaXQgcHVsbCAtLXJlYmFzZT10cnVlIC4gY29weSAmJgorCXRlc3QgJChnaXQgcmV2LXBhcnNlIEhFQUReXikgPSAkKGdpdCByZXYtcGFyc2UgY29weSkgJiYKKwl0ZXN0IGZpbGUzID0gJChnaXQgc2hvdyBIRUFEOmZpbGUzLnQpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmViYXNlPXByZXNlcnZlIHJlYmFzZXMgYW5kIG1lcmdlcyBrZWVwLW1lcmdlJyAnCisJZ2l0IHJlc2V0IC0taGFyZCBiZWZvcmUtcHJlc2VydmUtcmViYXNlICYmCisJdGVzdF9jb25maWcgcHVsbC5yZWJhc2UgdHJ1ZSAmJgorCWdpdCBwdWxsIC0tcmViYXNlPXByZXNlcnZlIC4gY29weSAmJgorCXRlc3QgJChnaXQgcmV2LXBhcnNlIEhFQUReXikgPSAkKGdpdCByZXYtcGFyc2UgY29weSkgJiYKKwl0ZXN0ICQoZ2l0IHJldi1wYXJzZSBIRUFEXjIpID0gJChnaXQgcmV2LXBhcnNlIGtlZXAtbWVyZ2UpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmViYXNlPWludmFsaWQgZmFpbHMnICcKKwlnaXQgcmVzZXQgLS1oYXJkIGJlZm9yZS1wcmVzZXJ2ZS1yZWJhc2UgJiYKKwkhIGdpdCBwdWxsIC0tcmViYXNlPWludmFsaWQgLiBjb3B5CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmViYXNlIG92ZXJyaWRlcyBwdWxsLnJlYmFzZT1wcmVzZXJ2ZSBhbmQgZmxhdHRlbnMga2VlcC1tZXJnZScgJworCWdpdCByZXNldCAtLWhhcmQgYmVmb3JlLXByZXNlcnZlLXJlYmFzZSAmJgorCXRlc3RfY29uZmlnIHB1bGwucmViYXNlIHByZXNlcnZlICYmCisJZ2l0IHB1bGwgLS1yZWJhc2UgLiBjb3B5ICYmCisJdGVzdCAkKGdpdCByZXYtcGFyc2UgSEVBRF5eKSA9ICQoZ2l0IHJldi1wYXJzZSBjb3B5KSAmJgorCXRlc3QgZmlsZTMgPSAkKGdpdCBzaG93IEhFQUQ6ZmlsZTMudCkKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZWJhc2Ugd2l0aCByZWJhc2VkIHVwc3RyZWFtJyAnCiAKIAlnaXQgcmVtb3RlIGFkZCAtZiBtZSAuICYmCmRpZmYgLS1naXQgYS90L3Q1NTI1LWZldGNoLXRhZ29wdC5zaCBiL3QvdDU1MjUtZmV0Y2gtdGFnb3B0LnNoCmluZGV4IDRmYmY3YTEuLjQ1ODE1ZjcgMTAwNzU1Ci0tLSBhL3QvdDU1MjUtZmV0Y2gtdGFnb3B0LnNoCisrKyBiL3QvdDU1MjUtZmV0Y2gtdGFnb3B0LnNoCkBAIC04LDcgKzgsOCBAQAogCWdpdCBjbG9uZSAtLW1pcnJvciAuICQxICYmCiAJZ2l0IHJlbW90ZSBhZGQgcmVtb3RlXyQxICQxICYmCiAJKGNkICQxICYmCi0JZ2l0IHRhZyB0YWdfJDEpCisJZ2l0IHRhZyB0YWdfJDEgJiYKKwlnaXQgYnJhbmNoIGJyYW5jaF8kMSkKIH0KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCkBAIC0yMSwyMSArMjIsMzMgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAiZmV0Y2ggd2l0aCB0YWdvcHQ9LS1uby10YWdzIGRvZXMgbm90IGdldCB0YWciICcKIAlnaXQgZmV0Y2ggcmVtb3RlX29uZSAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCBzaG93LXJlZiB0YWdfb25lCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHNob3ctcmVmIHRhZ19vbmUgJiYKKwlnaXQgc2hvdy1yZWYgcmVtb3RlX29uZS9icmFuY2hfb25lCiAJJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICJmZXRjaCAtLXRhZ3Mgd2l0aCB0YWdvcHQ9LS1uby10YWdzIGdldHMgdGFnIiAnCisJKAorCQljZCBvbmUgJiYKKwkJZ2l0IGJyYW5jaCBzZWNvbmRfYnJhbmNoX29uZQorCSkgJiYKIAlnaXQgZmV0Y2ggLS10YWdzIHJlbW90ZV9vbmUgJiYKLQlnaXQgc2hvdy1yZWYgdGFnX29uZQorCWdpdCBzaG93LXJlZiB0YWdfb25lICYmCisJZ2l0IHNob3ctcmVmIHJlbW90ZV9vbmUvc2Vjb25kX2JyYW5jaF9vbmUKIAknCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgImZldGNoIC0tbm8tdGFncyB3aXRoIHRhZ29wdD0tLXRhZ3MgZG9lcyBub3QgZ2V0IHRhZyIgJwogCWdpdCBmZXRjaCAtLW5vLXRhZ3MgcmVtb3RlX3R3byAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCBzaG93LXJlZiB0YWdfdHdvCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHNob3ctcmVmIHRhZ190d28gJiYKKwlnaXQgc2hvdy1yZWYgcmVtb3RlX3R3by9icmFuY2hfdHdvCiAJJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICJmZXRjaCB3aXRoIHRhZ29wdD0tLXRhZ3MgZ2V0cyB0YWciICcKKwkoCisJCWNkIHR3byAmJgorCQlnaXQgYnJhbmNoIHNlY29uZF9icmFuY2hfdHdvCisJKSAmJgogCWdpdCBmZXRjaCByZW1vdGVfdHdvICYmCi0JZ2l0IHNob3ctcmVmIHRhZ190d28KKwlnaXQgc2hvdy1yZWYgdGFnX3R3byAmJgorCWdpdCBzaG93LXJlZiByZW1vdGVfdHdvL3NlY29uZF9icmFuY2hfdHdvCiAJJwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NTMxLWRlZXAtc3VibW9kdWxlLXB1c2guc2ggYi90L3Q1NTMxLWRlZXAtc3VibW9kdWxlLXB1c2guc2gKaW5kZXggOGMxNmUwNC4uNDQ1YmI1ZiAxMDA3NTUKLS0tIGEvdC90NTUzMS1kZWVwLXN1Ym1vZHVsZS1wdXNoLnNoCisrKyBiL3QvdDU1MzEtZGVlcC1zdWJtb2R1bGUtcHVzaC5zaApAQCAtMTIsNiArMTIsNyBAQAogCSgKIAkJY2Qgd29yayAmJgogCQlnaXQgaW5pdCAmJgorCQlnaXQgY29uZmlnIHB1c2guZGVmYXVsdCBtYXRjaGluZyAmJgogCQlta2RpciAtcCBnYXIvYmFnZSAmJgogCQkoCiAJCQljZCBnYXIvYmFnZSAmJgpkaWZmIC0tZ2l0IGEvdC90NTUzMy1wdXNoLWNhcy5zaCBiL3QvdDU1MzMtcHVzaC1jYXMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmEyMGQ4MwotLS0gL2Rldi9udWxsCisrKyBiL3QvdDU1MzMtcHVzaC1jYXMuc2gKQEAgLTAsMCArMSwxODkgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdjb21wYXJlICYgc3dhcCBwdXNoIGZvcmNlL2RlbGV0ZSBzYWZldHknCisKKy4gLi90ZXN0LWxpYi5zaAorCitzZXR1cF9zcmNkc3RfYmFzaWMgKCkgeworCXJtIC1mciBzcmMgZHN0ICYmCisJZ2l0IGNsb25lIC0tbm8tbG9jYWwgLiBzcmMgJiYKKwlnaXQgY2xvbmUgLS1uby1sb2NhbCBzcmMgZHN0ICYmCisJKAorCQljZCBzcmMgJiYgZ2l0IGNoZWNrb3V0IEhFQUReMAorCSkKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCisJOiBjcmVhdGUgdGVtcGxhdGUgcmVwb3NpdG9yeQorCXRlc3RfY29tbWl0IEEgJiYKKwl0ZXN0X2NvbW1pdCBCICYmCisJdGVzdF9jb21taXQgQworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIHRvIHVwZGF0ZSAocHJvdGVjdGVkKScgJworCXNldHVwX3NyY2RzdF9iYXNpYyAmJgorCSgKKwkJY2QgZHN0ICYmCisJCXRlc3RfY29tbWl0IEQgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1c2ggLS1mb3JjZS13aXRoLWxlYXNlPW1hc3RlcjptYXN0ZXIgb3JpZ2luIG1hc3RlcgorCSkgJiYKKwlnaXQgbHMtcmVtb3RlIC4gcmVmcy9oZWFkcy9tYXN0ZXIgPmV4cGVjdCAmJgorCWdpdCBscy1yZW1vdGUgc3JjIHJlZnMvaGVhZHMvbWFzdGVyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggdG8gdXBkYXRlIChwcm90ZWN0ZWQsIGZvcmNlZCknICcKKwlzZXR1cF9zcmNkc3RfYmFzaWMgJiYKKwkoCisJCWNkIGRzdCAmJgorCQl0ZXN0X2NvbW1pdCBEICYmCisJCWdpdCBwdXNoIC0tZm9yY2UgLS1mb3JjZS13aXRoLWxlYXNlPW1hc3RlcjptYXN0ZXIgb3JpZ2luIG1hc3RlcgorCSkgJiYKKwlnaXQgbHMtcmVtb3RlIGRzdCByZWZzL2hlYWRzL21hc3RlciA+ZXhwZWN0ICYmCisJZ2l0IGxzLXJlbW90ZSBzcmMgcmVmcy9oZWFkcy9tYXN0ZXIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCB0byB1cGRhdGUgKHByb3RlY3RlZCwgdHJhY2tpbmcpJyAnCisJc2V0dXBfc3JjZHN0X2Jhc2ljICYmCisJKAorCQljZCBzcmMgJiYKKwkJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCQl0ZXN0X2NvbW1pdCBEICYmCisJCWdpdCBjaGVja291dCBIRUFEXjAKKwkpICYmCisJZ2l0IGxzLXJlbW90ZSBzcmMgcmVmcy9oZWFkcy9tYXN0ZXIgPmV4cGVjdCAmJgorCSgKKwkJY2QgZHN0ICYmCisJCXRlc3RfY29tbWl0IEUgJiYKKwkJZ2l0IGxzLXJlbW90ZSAuIHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyID5leHBlY3QgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1c2ggLS1mb3JjZS13aXRoLWxlYXNlPW1hc3RlciBvcmlnaW4gbWFzdGVyICYmCisJCWdpdCBscy1yZW1vdGUgLiByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlciA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpICYmCisJZ2l0IGxzLXJlbW90ZSBzcmMgcmVmcy9oZWFkcy9tYXN0ZXIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCB0byB1cGRhdGUgKHByb3RlY3RlZCwgdHJhY2tpbmcsIGZvcmNlZCknICcKKwlzZXR1cF9zcmNkc3RfYmFzaWMgJiYKKwkoCisJCWNkIHNyYyAmJgorCQlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJCXRlc3RfY29tbWl0IEQgJiYKKwkJZ2l0IGNoZWNrb3V0IEhFQUReMAorCSkgJiYKKwkoCisJCWNkIGRzdCAmJgorCQl0ZXN0X2NvbW1pdCBFICYmCisJCWdpdCBscy1yZW1vdGUgLiByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlciA+ZXhwZWN0ICYmCisJCWdpdCBwdXNoIC0tZm9yY2UgLS1mb3JjZS13aXRoLWxlYXNlPW1hc3RlciBvcmlnaW4gbWFzdGVyCisJKSAmJgorCWdpdCBscy1yZW1vdGUgZHN0IHJlZnMvaGVhZHMvbWFzdGVyID5leHBlY3QgJiYKKwlnaXQgbHMtcmVtb3RlIHNyYyByZWZzL2hlYWRzL21hc3RlciA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIHRvIHVwZGF0ZSAoYWxsb3dlZCknICcKKwlzZXR1cF9zcmNkc3RfYmFzaWMgJiYKKwkoCisJCWNkIGRzdCAmJgorCQl0ZXN0X2NvbW1pdCBEICYmCisJCWdpdCBwdXNoIC0tZm9yY2Utd2l0aC1sZWFzZT1tYXN0ZXI6bWFzdGVyXiBvcmlnaW4gbWFzdGVyCisJKSAmJgorCWdpdCBscy1yZW1vdGUgZHN0IHJlZnMvaGVhZHMvbWFzdGVyID5leHBlY3QgJiYKKwlnaXQgbHMtcmVtb3RlIHNyYyByZWZzL2hlYWRzL21hc3RlciA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIHRvIHVwZGF0ZSAoYWxsb3dlZCwgdHJhY2tpbmcpJyAnCisJc2V0dXBfc3JjZHN0X2Jhc2ljICYmCisJKAorCQljZCBkc3QgJiYKKwkJdGVzdF9jb21taXQgRCAmJgorCQlnaXQgcHVzaCAtLWZvcmNlLXdpdGgtbGVhc2U9bWFzdGVyIG9yaWdpbiBtYXN0ZXIKKwkpICYmCisJZ2l0IGxzLXJlbW90ZSBkc3QgcmVmcy9oZWFkcy9tYXN0ZXIgPmV4cGVjdCAmJgorCWdpdCBscy1yZW1vdGUgc3JjIHJlZnMvaGVhZHMvbWFzdGVyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggdG8gdXBkYXRlIChhbGxvd2VkIGV2ZW4gdGhvdWdoIG5vLWZmKScgJworCXNldHVwX3NyY2RzdF9iYXNpYyAmJgorCSgKKwkJY2QgZHN0ICYmCisJCWdpdCByZXNldCAtLWhhcmQgSEVBRF4gJiYKKwkJdGVzdF9jb21taXQgRCAmJgorCQlnaXQgcHVzaCAtLWZvcmNlLXdpdGgtbGVhc2U9bWFzdGVyIG9yaWdpbiBtYXN0ZXIKKwkpICYmCisJZ2l0IGxzLXJlbW90ZSBkc3QgcmVmcy9oZWFkcy9tYXN0ZXIgPmV4cGVjdCAmJgorCWdpdCBscy1yZW1vdGUgc3JjIHJlZnMvaGVhZHMvbWFzdGVyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggdG8gZGVsZXRlIChwcm90ZWN0ZWQpJyAnCisJc2V0dXBfc3JjZHN0X2Jhc2ljICYmCisJZ2l0IGxzLXJlbW90ZSBzcmMgcmVmcy9oZWFkcy9tYXN0ZXIgPmV4cGVjdCAmJgorCSgKKwkJY2QgZHN0ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBwdXNoIC0tZm9yY2Utd2l0aC1sZWFzZT1tYXN0ZXI6bWFzdGVyXiBvcmlnaW4gOm1hc3RlcgorCSkgJiYKKwlnaXQgbHMtcmVtb3RlIHNyYyByZWZzL2hlYWRzL21hc3RlciA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIHRvIGRlbGV0ZSAocHJvdGVjdGVkLCBmb3JjZWQpJyAnCisJc2V0dXBfc3JjZHN0X2Jhc2ljICYmCisJKAorCQljZCBkc3QgJiYKKwkJZ2l0IHB1c2ggLS1mb3JjZSAtLWZvcmNlLXdpdGgtbGVhc2U9bWFzdGVyOm1hc3Rlcl4gb3JpZ2luIDptYXN0ZXIKKwkpICYmCisJPmV4cGVjdCAmJgorCWdpdCBscy1yZW1vdGUgc3JjIHJlZnMvaGVhZHMvbWFzdGVyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggdG8gZGVsZXRlIChhbGxvd2VkKScgJworCXNldHVwX3NyY2RzdF9iYXNpYyAmJgorCSgKKwkJY2QgZHN0ICYmCisJCWdpdCBwdXNoIC0tZm9yY2Utd2l0aC1sZWFzZT1tYXN0ZXIgb3JpZ2luIDptYXN0ZXIKKwkpICYmCisJPmV4cGVjdCAmJgorCWdpdCBscy1yZW1vdGUgc3JjIHJlZnMvaGVhZHMvbWFzdGVyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvdmVyIGV2ZXJ5dGhpbmcgd2l0aCBkZWZhdWx0IGZvcmNlLXdpdGgtbGVhc2UgKHByb3RlY3RlZCknICcKKwlzZXR1cF9zcmNkc3RfYmFzaWMgJiYKKwkoCisJCWNkIHNyYyAmJgorCQlnaXQgYnJhbmNoIG5hc3RlciBtYXN0ZXJeCisJKQorCWdpdCBscy1yZW1vdGUgc3JjIHJlZnMvaGVhZHMvXCogPmV4cGVjdCAmJgorCSgKKwkJY2QgZHN0ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBwdXNoIC0tZm9yY2Utd2l0aC1sZWFzZSBvcmlnaW4gbWFzdGVyIG1hc3RlcjpuYXN0ZXIKKwkpICYmCisJZ2l0IGxzLXJlbW90ZSBzcmMgcmVmcy9oZWFkcy9cKiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3ZlciBldmVyeXRoaW5nIHdpdGggZGVmYXVsdCBmb3JjZS13aXRoLWxlYXNlIChhbGxvd2VkKScgJworCXNldHVwX3NyY2RzdF9iYXNpYyAmJgorCSgKKwkJY2Qgc3JjICYmCisJCWdpdCBicmFuY2ggbmFzdGVyIG1hc3Rlcl4KKwkpCisJKAorCQljZCBkc3QgJiYKKwkJZ2l0IGZldGNoICYmCisJCWdpdCBwdXNoIC0tZm9yY2Utd2l0aC1sZWFzZSBvcmlnaW4gbWFzdGVyIG1hc3RlcjpuYXN0ZXIKKwkpICYmCisJZ2l0IGxzLXJlbW90ZSBkc3QgcmVmcy9oZWFkcy9tYXN0ZXIgfAorCXNlZCAtZSAicy9tYXN0ZXIvbmFzdGVyLyIgPmV4cGVjdCAmJgorCWdpdCBscy1yZW1vdGUgc3JjIHJlZnMvaGVhZHMvbmFzdGVyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTUzNi1mZXRjaC1jb25mbGljdHMuc2ggYi90L3Q1NTM2LWZldGNoLWNvbmZsaWN0cy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YzVkM2E0Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NTUzNi1mZXRjaC1jb25mbGljdHMuc2gKQEAgLTAsMCArMSwxMDAgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdmZXRjaCBoYW5kbGVzIGNvbmZsaWN0aW5nIHJlZnNwZWNzIGNvcnJlY3RseScKKworLiAuL3Rlc3QtbGliLnNoCisKK0Q9JChwd2QpCisKK3NldHVwX3JlcG9zaXRvcnkgKCkgeworCWdpdCBpbml0ICIkMSIgJiYgKAorCQljZCAiJDEiICYmCisJCWdpdCBjb25maWcgcmVtb3RlLm9yaWdpbi51cmwgIiREIiAmJgorCQlzaGlmdCAmJgorCQlmb3IgcmVmc3BlYyBpbiAiJEAiCisJCWRvCisJCQlnaXQgY29uZmlnIC0tYWRkIHJlbW90ZS5vcmlnaW4uZmV0Y2ggIiRyZWZzcGVjIgorCQlkb25lCisJKQorfQorCit2ZXJpZnlfc3RkZXJyICgpIHsKKwljYXQgPmV4cGVjdGVkICYmCisJIyBXZSdyZSBub3QgaW50ZXJlc3RlZCBpbiB0aGUgZXJyb3IKKwkjICJmYXRhbDogVGhlIHJlbW90ZSBlbmQgaHVuZyB1cCB1bmV4cGVjdGVkbHkiOgorCWdyZXAgLUUgJ14oZmF0YWx8d2FybmluZyk6JyA8ZXJyb3IgfCBncmVwIC12ICdodW5nIHVwJyA+YWN0dWFsIHwgc29ydCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJworCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSAiSW5pdGlhbCIgJiYKKwlnaXQgYnJhbmNoIGJyYW5jaDEgJiYKKwlnaXQgdGFnIHRhZzEgJiYKKwlnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gIkZpcnN0IiAmJgorCWdpdCBicmFuY2ggYnJhbmNoMiAmJgorCWdpdCB0YWcgdGFnMgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaCB3aXRoIG5vIGNvbmZsaWN0JyAnCisJc2V0dXBfcmVwb3NpdG9yeSBvayAiK3JlZnMvaGVhZHMvKjpyZWZzL3JlbW90ZXMvb3JpZ2luLyoiICYmICgKKwkJY2Qgb2sgJiYKKwkJZ2l0IGZldGNoIG9yaWdpbgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggY29uZmxpY3Q6IGNvbmZpZyB2cy4gY29uZmlnJyAnCisJc2V0dXBfcmVwb3NpdG9yeSBjY2MgXAorCQkiK3JlZnMvaGVhZHMvYnJhbmNoMTpyZWZzL3JlbW90ZXMvb3JpZ2luL2JyYW5jaDEiIFwKKwkJIityZWZzL2hlYWRzL2JyYW5jaDI6cmVmcy9yZW1vdGVzL29yaWdpbi9icmFuY2gxIiAmJiAoCisJCWNkIGNjYyAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgZmV0Y2ggb3JpZ2luIDI+ZXJyb3IgJiYKKwkJdmVyaWZ5X3N0ZGVyciA8PC1cRU9GCisJCWZhdGFsOiBDYW5ub3QgZmV0Y2ggYm90aCByZWZzL2hlYWRzL2JyYW5jaDEgYW5kIHJlZnMvaGVhZHMvYnJhbmNoMiB0byByZWZzL3JlbW90ZXMvb3JpZ2luL2JyYW5jaDEKKwkJRU9GCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaCBkdXBsaWNhdGU6IGNvbmZpZyB2cy4gY29uZmlnJyAnCisJc2V0dXBfcmVwb3NpdG9yeSBkY2MgXAorCQkiK3JlZnMvaGVhZHMvKjpyZWZzL3JlbW90ZXMvb3JpZ2luLyoiIFwKKwkJIityZWZzL2hlYWRzL2JyYW5jaDE6cmVmcy9yZW1vdGVzL29yaWdpbi9icmFuY2gxIiAmJiAoCisJCWNkIGRjYyAmJgorCQlnaXQgZmV0Y2ggb3JpZ2luCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaCBjb25mbGljdDogYXJnIG92ZXJyaWRlcyBjb25maWcnICcKKwlzZXR1cF9yZXBvc2l0b3J5IGFvYyBcCisJCSIrcmVmcy9oZWFkcy8qOnJlZnMvcmVtb3Rlcy9vcmlnaW4vKiIgJiYgKAorCQljZCBhb2MgJiYKKwkJZ2l0IGZldGNoIG9yaWdpbiByZWZzL2hlYWRzL2JyYW5jaDI6cmVmcy9yZW1vdGVzL29yaWdpbi9icmFuY2gxCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaCBjb25mbGljdDogYXJnIHZzLiBhcmcnICcKKwlzZXR1cF9yZXBvc2l0b3J5IGNhYSAmJiAoCisJCWNkIGNhYSAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgZmV0Y2ggb3JpZ2luIFwKKwkJCXJlZnMvaGVhZHMvKjpyZWZzL3JlbW90ZXMvb3JpZ2luLyogXAorCQkJcmVmcy9oZWFkcy9icmFuY2gyOnJlZnMvcmVtb3Rlcy9vcmlnaW4vYnJhbmNoMSAyPmVycm9yICYmCisJCXZlcmlmeV9zdGRlcnIgPDwtXEVPRgorCQlmYXRhbDogQ2Fubm90IGZldGNoIGJvdGggcmVmcy9oZWFkcy9icmFuY2gxIGFuZCByZWZzL2hlYWRzL2JyYW5jaDIgdG8gcmVmcy9yZW1vdGVzL29yaWdpbi9icmFuY2gxCisJCUVPRgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggY29uZmxpY3Q6IGNyaXNzLWNyb3NzIGFyZ3MnICcKKwlzZXR1cF9yZXBvc2l0b3J5IHhhYSBcCisJCSIrcmVmcy9oZWFkcy8qOnJlZnMvcmVtb3Rlcy9vcmlnaW4vKiIgJiYgKAorCQljZCB4YWEgJiYKKwkJZ2l0IGZldGNoIG9yaWdpbiBcCisJCQlyZWZzL2hlYWRzL2JyYW5jaDE6cmVmcy9yZW1vdGVzL29yaWdpbi9icmFuY2gyIFwKKwkJCXJlZnMvaGVhZHMvYnJhbmNoMjpyZWZzL3JlbW90ZXMvb3JpZ2luL2JyYW5jaDEgMj5lcnJvciAmJgorCQl2ZXJpZnlfc3RkZXJyIDw8LVxFT0YKKwkJd2FybmluZzogcmVmcy9yZW1vdGVzL29yaWdpbi9icmFuY2gxIHVzdWFsbHkgdHJhY2tzIHJlZnMvaGVhZHMvYnJhbmNoMSwgbm90IHJlZnMvaGVhZHMvYnJhbmNoMgorCQl3YXJuaW5nOiByZWZzL3JlbW90ZXMvb3JpZ2luL2JyYW5jaDIgdXN1YWxseSB0cmFja3MgcmVmcy9oZWFkcy9icmFuY2gyLCBub3QgcmVmcy9oZWFkcy9icmFuY2gxCisJCUVPRgorCSkKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NTM3LWZldGNoLXNoYWxsb3cuc2ggYi90L3Q1NTM3LWZldGNoLXNoYWxsb3cuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjBmYTczOAotLS0gL2Rldi9udWxsCisrKyBiL3QvdDU1MzctZmV0Y2gtc2hhbGxvdy5zaApAQCAtMCwwICsxLDIwNCBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J2ZldGNoL2Nsb25lIGZyb20gYSBzaGFsbG93IGNsb25lJworCisuIC4vdGVzdC1saWIuc2gKKworY29tbWl0KCkgeworCWVjaG8gIiQxIiA+dHJhY2tlZCAmJgorCWdpdCBhZGQgdHJhY2tlZCAmJgorCWdpdCBjb21taXQgLW0gIiQxIgorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJworCWNvbW1pdCAxICYmCisJY29tbWl0IDIgJiYKKwljb21taXQgMyAmJgorCWNvbW1pdCA0ICYmCisJZ2l0IGNvbmZpZyAtLWdsb2JhbCB0cmFuc2Zlci5mc2NrT2JqZWN0cyB0cnVlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHNoYWxsb3cgY2xvbmUnICcKKwlnaXQgY2xvbmUgLS1uby1sb2NhbCAtLWRlcHRoPTIgLmdpdCBzaGFsbG93ICYmCisJZ2l0IC0tZ2l0LWRpcj1zaGFsbG93Ly5naXQgbG9nIC0tZm9ybWF0PSVzID5hY3R1YWwgJiYKKwljYXQgPDxFT0YgPmV4cGVjdCAmJgorNAorMworRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSBmcm9tIHNoYWxsb3cgY2xvbmUnICcKKwlnaXQgY2xvbmUgLS1uby1sb2NhbCBzaGFsbG93IHNoYWxsb3cyICYmCisJKAorCWNkIHNoYWxsb3cyICYmCisJZ2l0IGZzY2sgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSVzID5hY3R1YWwgJiYKKwljYXQgPDxFT0YgPmV4cGVjdCAmJgorNAorMworRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggZnJvbSBzaGFsbG93IGNsb25lJyAnCisJKAorCWNkIHNoYWxsb3cgJiYKKwljb21taXQgNQorCSkgJiYKKwkoCisJY2Qgc2hhbGxvdzIgJiYKKwlnaXQgZmV0Y2ggJiYKKwlnaXQgZnNjayAmJgorCWdpdCBsb2cgLS1mb3JtYXQ9JXMgb3JpZ2luL21hc3RlciA+YWN0dWFsICYmCisJY2F0IDw8RU9GID5leHBlY3QgJiYKKzUKKzQKKzMKK0VPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoIC0tZGVwdGggZnJvbSBzaGFsbG93IGNsb25lJyAnCisJKAorCWNkIHNoYWxsb3cgJiYKKwljb21taXQgNgorCSkgJiYKKwkoCisJY2Qgc2hhbGxvdzIgJiYKKwlnaXQgZmV0Y2ggLS1kZXB0aD0yICYmCisJZ2l0IGZzY2sgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSVzIG9yaWdpbi9tYXN0ZXIgPmFjdHVhbCAmJgorCWNhdCA8PEVPRiA+ZXhwZWN0ICYmCis2Cis1CitFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaCAtLXVuc2hhbGxvdyBmcm9tIHNoYWxsb3cgY2xvbmUnICcKKwkoCisJY2Qgc2hhbGxvdzIgJiYKKwlnaXQgZmV0Y2ggLS11bnNoYWxsb3cgJiYKKwlnaXQgZnNjayAmJgorCWdpdCBsb2cgLS1mb3JtYXQ9JXMgb3JpZ2luL21hc3RlciA+YWN0dWFsICYmCisJY2F0IDw8RU9GID5leHBlY3QgJiYKKzYKKzUKKzQKKzMKK0VPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoIHNvbWV0aGluZyB1cHN0cmVhbSBoYXMgYnV0IGhpZGRlbiBieSBjbGllbnRzIHNoYWxsb3cgYm91bmRhcmllcycgJworCSMgdGhlIGJsb2IgIjEiIGlzIGF2YWlsYWJsZSBpbiAuZ2l0IGJ1dCBoaWRkZW4gYnkgdGhlCisJIyBzaGFsbG93Mi8uZ2l0L3NoYWxsb3cgYW5kIGl0IHNob3VsZCBiZSByZXNlbnQKKwkhIGdpdCAtLWdpdC1kaXI9c2hhbGxvdzIvLmdpdCBjYXQtZmlsZSBibG9iIGBlY2hvIDF8Z2l0IGhhc2gtb2JqZWN0IC0tc3RkaW5gID4vZGV2L251bGwgJiYKKwllY2hvIDEgPjEudCAmJgorCWdpdCBhZGQgMS50ICYmCisJZ2l0IGNvbW1pdCAtbSBhZGQtMS1iYWNrICYmCisJKAorCWNkIHNoYWxsb3cyICYmCisJZ2l0IGZldGNoIC4uLy5naXQgK3JlZnMvaGVhZHMvbWFzdGVyOnJlZnMvcmVtb3Rlcy90b3AvbWFzdGVyICYmCisJZ2l0IGZzY2sgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSVzIHRvcC9tYXN0ZXIgPmFjdHVhbCAmJgorCWNhdCA8PEVPRiA+ZXhwZWN0ICYmCithZGQtMS1iYWNrCis0CiszCitFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKSAmJgorCWdpdCAtLWdpdC1kaXI9c2hhbGxvdzIvLmdpdCBjYXQtZmlsZSBibG9iIGBlY2hvIDF8Z2l0IGhhc2gtb2JqZWN0IC0tc3RkaW5gID4vZGV2L251bGwKKworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaCB0aGF0IHJlcXVpcmVzIGNoYW5nZXMgaW4gLmdpdC9zaGFsbG93IGlzIGZpbHRlcmVkJyAnCisJKAorCWNkIHNoYWxsb3cgJiYKKwlnaXQgY2hlY2tvdXQgLS1vcnBoYW4gbm8tc2hhbGxvdyAmJgorCWNvbW1pdCBuby1zaGFsbG93CisJKSAmJgorCWdpdCBpbml0IG5vdHNoYWxsb3cgJiYKKwkoCisJY2Qgbm90c2hhbGxvdyAmJgorCWdpdCBmZXRjaCAuLi9zaGFsbG93Ly5naXQgcmVmcy9oZWFkcy8qOnJlZnMvcmVtb3Rlcy9zaGFsbG93LyomJgorCWdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUocmVmbmFtZSkiID5hY3R1YWwucmVmcyAmJgorCWNhdCA8PEVPRiA+ZXhwZWN0LnJlZnMgJiYKK3JlZnMvcmVtb3Rlcy9zaGFsbG93L25vLXNoYWxsb3cKK0VPRgorCXRlc3RfY21wIGV4cGVjdC5yZWZzIGFjdHVhbC5yZWZzICYmCisJZ2l0IGxvZyAtLWZvcm1hdD0lcyBzaGFsbG93L25vLXNoYWxsb3cgPmFjdHVhbCAmJgorCWNhdCA8PEVPRiA+ZXhwZWN0ICYmCituby1zaGFsbG93CitFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaCAtLXVwZGF0ZS1zaGFsbG93JyAnCisJKAorCWNkIHNoYWxsb3cgJiYKKwlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJY29tbWl0IDcgJiYKKwlnaXQgdGFnIC1tIGZvbyBoZWF2eS10YWcgSEVBRF4gJiYKKwlnaXQgdGFnIGxpZ2h0LXRhZyBIRUFEXjp0cmFja2VkCisJKSAmJgorCSgKKwljZCBub3RzaGFsbG93ICYmCisJZ2l0IGZldGNoIC0tdXBkYXRlLXNoYWxsb3cgLi4vc2hhbGxvdy8uZ2l0IHJlZnMvaGVhZHMvKjpyZWZzL3JlbW90ZXMvc2hhbGxvdy8qICYmCisJZ2l0IGZzY2sgJiYKKwlnaXQgZm9yLWVhY2gtcmVmIC0tc29ydD1yZWZuYW1lIC0tZm9ybWF0PSIlKHJlZm5hbWUpIiA+YWN0dWFsLnJlZnMgJiYKKwljYXQgPDxFT0YgPmV4cGVjdC5yZWZzICYmCityZWZzL3JlbW90ZXMvc2hhbGxvdy9tYXN0ZXIKK3JlZnMvcmVtb3Rlcy9zaGFsbG93L25vLXNoYWxsb3cKK3JlZnMvdGFncy9oZWF2eS10YWcKK3JlZnMvdGFncy9saWdodC10YWcKK0VPRgorCXRlc3RfY21wIGV4cGVjdC5yZWZzIGFjdHVhbC5yZWZzICYmCisJZ2l0IGxvZyAtLWZvcm1hdD0lcyBzaGFsbG93L21hc3RlciA+YWN0dWFsICYmCisJY2F0IDw8RU9GID5leHBlY3QgJiYKKzcKKzYKKzUKKzQKKzMKK0VPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisnCisKK2lmIHRlc3QgLW4gIiROT19DVVJMIiAtbyAteiAiJEdJVF9URVNUX0hUVFBEIjsgdGhlbgorCXNheSAnc2tpcHBpbmcgcmVtYWluaW5nIHRlc3RzLCBnaXQgYnVpbHQgd2l0aG91dCBodHRwIHN1cHBvcnQnCisJdGVzdF9kb25lCitmaQorCitMSUJfSFRUUERfUE9SVD0ke0xJQl9IVFRQRF9QT1JULSc1NTM3J30KKy4gIiRURVNUX0RJUkVDVE9SWSIvbGliLWh0dHBkLnNoCitzdGFydF9odHRwZAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSBodHRwIHJlcG9zaXRvcnknICcKKwlnaXQgY2xvbmUgLS1iYXJlIC0tbm8tbG9jYWwgc2hhbGxvdyAiJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSC9yZXBvLmdpdCIgJiYKKwlnaXQgY2xvbmUgJEhUVFBEX1VSTC9zbWFydC9yZXBvLmdpdCBjbG9uZSAmJgorCSgKKwljZCBjbG9uZSAmJgorCWdpdCBmc2NrICYmCisJZ2l0IGxvZyAtLWZvcm1hdD0lcyBvcmlnaW4vbWFzdGVyID5hY3R1YWwgJiYKKwljYXQgPDxFT0YgPmV4cGVjdCAmJgorNworNgorNQorNAorMworRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKworc3RvcF9odHRwZAordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NTM4LXB1c2gtc2hhbGxvdy5zaCBiL3QvdDU1MzgtcHVzaC1zaGFsbG93LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBhNmU0MGYKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q1NTM4LXB1c2gtc2hhbGxvdy5zaApAQCAtMCwwICsxLDE4MyBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J3B1c2ggZnJvbS90byBhIHNoYWxsb3cgY2xvbmUnCisKKy4gLi90ZXN0LWxpYi5zaAorCitjb21taXQoKSB7CisJZWNobyAiJDEiID50cmFja2VkICYmCisJZ2l0IGFkZCB0cmFja2VkICYmCisJZ2l0IGNvbW1pdCAtbSAiJDEiCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJZ2l0IGNvbmZpZyAtLWdsb2JhbCB0cmFuc2Zlci5mc2NrT2JqZWN0cyB0cnVlICYmCisJY29tbWl0IDEgJiYKKwljb21taXQgMiAmJgorCWNvbW1pdCAzICYmCisJY29tbWl0IDQgJiYKKwlnaXQgY2xvbmUgLiBmdWxsICYmCisJKAorCWdpdCBpbml0IGZ1bGwtYWJjICYmCisJY2QgZnVsbC1hYmMgJiYKKwljb21taXQgYSAmJgorCWNvbW1pdCBiICYmCisJY29tbWl0IGMKKwkpICYmCisJZ2l0IGNsb25lIC0tbm8tbG9jYWwgLS1kZXB0aD0yIC5naXQgc2hhbGxvdyAmJgorCWdpdCAtLWdpdC1kaXI9c2hhbGxvdy8uZ2l0IGxvZyAtLWZvcm1hdD0lcyA+YWN0dWFsICYmCisJY2F0IDw8RU9GID5leHBlY3QgJiYKKzQKKzMKK0VPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgY2xvbmUgLS1uby1sb2NhbCAtLWRlcHRoPTIgZnVsbC1hYmMvLmdpdCBzaGFsbG93MiAmJgorCWdpdCAtLWdpdC1kaXI9c2hhbGxvdzIvLmdpdCBsb2cgLS1mb3JtYXQ9JXMgPmFjdHVhbCAmJgorCWNhdCA8PEVPRiA+ZXhwZWN0ICYmCitjCitiCitFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggZnJvbSBzaGFsbG93IGNsb25lJyAnCisJKAorCWNkIHNoYWxsb3cgJiYKKwljb21taXQgNSAmJgorCWdpdCBwdXNoIC4uLy5naXQgK21hc3RlcjpyZWZzL3JlbW90ZXMvc2hhbGxvdy9tYXN0ZXIKKwkpICYmCisJZ2l0IGxvZyAtLWZvcm1hdD0lcyBzaGFsbG93L21hc3RlciA+YWN0dWFsICYmCisJZ2l0IGZzY2sgJiYKKwljYXQgPDxFT0YgPmV4cGVjdCAmJgorNQorNAorMworMgorMQorRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIGZyb20gc2hhbGxvdyBjbG9uZSwgd2l0aCBncmFmdGVkIHJvb3RzJyAnCisJKAorCWNkIHNoYWxsb3cyICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1c2ggLi4vLmdpdCArbWFzdGVyOnJlZnMvcmVtb3Rlcy9zaGFsbG93Mi9tYXN0ZXIgMj5lcnIgJiYKKwlncmVwICJzaGFsbG93Mi9tYXN0ZXIuKnNoYWxsb3cgdXBkYXRlIG5vdCBhbGxvd2VkIiBlcnIKKwkpICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBzaGFsbG93Mi9tYXN0ZXIgJiYKKwlnaXQgZnNjaworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhZGQgbmV3IHNoYWxsb3cgcm9vdCB3aXRoIHJlY2VpdmUudXBkYXRlc2hhbGxvdyBvbicgJworCXRlc3RfY29uZmlnIHJlY2VpdmUuc2hhbGxvd3VwZGF0ZSB0cnVlICYmCisJKAorCWNkIHNoYWxsb3cyICYmCisJZ2l0IHB1c2ggLi4vLmdpdCArbWFzdGVyOnJlZnMvcmVtb3Rlcy9zaGFsbG93Mi9tYXN0ZXIKKwkpICYmCisJZ2l0IGxvZyAtLWZvcm1hdD0lcyBzaGFsbG93Mi9tYXN0ZXIgPmFjdHVhbCAmJgorCWdpdCBmc2NrICYmCisJY2F0IDw8RU9GID5leHBlY3QgJiYKK2MKK2IKK0VPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCBmcm9tIHNoYWxsb3cgdG8gc2hhbGxvdycgJworCSgKKwljZCBzaGFsbG93ICYmCisJZ2l0IC0tZ2l0LWRpcj0uLi9zaGFsbG93Mi8uZ2l0IGNvbmZpZyByZWNlaXZlLnNoYWxsb3d1cGRhdGUgdHJ1ZSAmJgorCWdpdCBwdXNoIC4uL3NoYWxsb3cyLy5naXQgK21hc3RlcjpyZWZzL3JlbW90ZXMvc2hhbGxvdy9tYXN0ZXIgJiYKKwlnaXQgLS1naXQtZGlyPS4uL3NoYWxsb3cyLy5naXQgY29uZmlnIHJlY2VpdmUuc2hhbGxvd3VwZGF0ZSBmYWxzZQorCSkgJiYKKwkoCisJY2Qgc2hhbGxvdzIgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSVzIHNoYWxsb3cvbWFzdGVyID5hY3R1YWwgJiYKKwlnaXQgZnNjayAmJgorCWNhdCA8PEVPRiA+ZXhwZWN0ICYmCis1Cis0CiszCitFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIGZyb20gZnVsbCB0byBzaGFsbG93JyAnCisJISBnaXQgLS1naXQtZGlyPXNoYWxsb3cyLy5naXQgY2F0LWZpbGUgYmxvYiBgZWNobyAxfGdpdCBoYXNoLW9iamVjdCAtLXN0ZGluYCAmJgorCWNvbW1pdCAxICYmCisJZ2l0IHB1c2ggc2hhbGxvdzIvLmdpdCArbWFzdGVyOnJlZnMvcmVtb3Rlcy90b3AvbWFzdGVyICYmCisJKAorCWNkIHNoYWxsb3cyICYmCisJZ2l0IGxvZyAtLWZvcm1hdD0lcyB0b3AvbWFzdGVyID5hY3R1YWwgJiYKKwlnaXQgZnNjayAmJgorCWNhdCA8PEVPRiA+ZXhwZWN0ICYmCisxCis0CiszCitFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IGNhdC1maWxlIGJsb2IgYGVjaG8gMXxnaXQgaGFzaC1vYmplY3QgLS1zdGRpbmAgPi9kZXYvbnVsbAorCSkKKycKKworaWYgdGVzdCAtbiAiJE5PX0NVUkwiIC1vIC16ICIkR0lUX1RFU1RfSFRUUEQiOyB0aGVuCisJc2F5ICdza2lwcGluZyByZW1haW5pbmcgdGVzdHMsIGdpdCBidWlsdCB3aXRob3V0IGh0dHAgc3VwcG9ydCcKKwl0ZXN0X2RvbmUKK2ZpCisKK0xJQl9IVFRQRF9QT1JUPSR7TElCX0hUVFBEX1BPUlQtJzU1MzcnfQorLiAiJFRFU1RfRElSRUNUT1JZIi9saWItaHR0cGQuc2gKK3N0YXJ0X2h0dHBkCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggdG8gc2hhbGxvdyByZXBvIHZpYSBodHRwJyAnCisJZ2l0IGNsb25lIC0tYmFyZSAtLW5vLWxvY2FsIHNoYWxsb3cgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgvcmVwby5naXQiICYmCisJKAorCWNkICIkSFRUUERfRE9DVU1FTlRfUk9PVF9QQVRIL3JlcG8uZ2l0IiAmJgorCWdpdCBjb25maWcgaHR0cC5yZWNlaXZlcGFjayB0cnVlCisJKSAmJgorCSgKKwljZCBmdWxsICYmCisJY29tbWl0IDkgJiYKKwlnaXQgcHVzaCAkSFRUUERfVVJML3NtYXJ0L3JlcG8uZ2l0ICttYXN0ZXI6cmVmcy9yZW1vdGVzL3RvcC9tYXN0ZXIKKwkpICYmCisJKAorCWNkICIkSFRUUERfRE9DVU1FTlRfUk9PVF9QQVRIL3JlcG8uZ2l0IiAmJgorCWdpdCBmc2NrICYmCisJZ2l0IGxvZyAtLWZvcm1hdD0lcyB0b3AvbWFzdGVyID5hY3R1YWwgJiYKKwljYXQgPDxFT0YgPmV4cGVjdCAmJgorOQorNAorMworRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCBmcm9tIHNoYWxsb3cgcmVwbyB2aWEgaHR0cCcgJworCW12ICIkSFRUUERfRE9DVU1FTlRfUk9PVF9QQVRIL3JlcG8uZ2l0IiBzaGFsbG93LXVwc3RyZWFtLmdpdCAmJgorCWdpdCBjbG9uZSAtLWJhcmUgLS1uby1sb2NhbCBmdWxsICIkSFRUUERfRE9DVU1FTlRfUk9PVF9QQVRIL3JlcG8uZ2l0IiAmJgorCSgKKwljZCAiJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSC9yZXBvLmdpdCIgJiYKKwlnaXQgY29uZmlnIGh0dHAucmVjZWl2ZXBhY2sgdHJ1ZQorCSkgJiYKKwljb21taXQgMTAgJiYKKwlnaXQgcHVzaCAkSFRUUERfVVJML3NtYXJ0L3JlcG8uZ2l0ICttYXN0ZXI6cmVmcy9yZW1vdGVzL3RvcC9tYXN0ZXIgJiYKKwkoCisJY2QgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgvcmVwby5naXQiICYmCisJZ2l0IGZzY2sgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSVzIHRvcC9tYXN0ZXIgPmFjdHVhbCAmJgorCWNhdCA8PEVPRiA+ZXhwZWN0ICYmCisxMAorMQorNAorMworMgorMQorRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKworc3RvcF9odHRwZAordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NTQwLWh0dHAtcHVzaC5zaCBiL3QvdDU1NDAtaHR0cC1wdXNoLnNoCmluZGV4IDAxZDBkOTUuLjViMDE5OGMgMTAwNzU1Ci0tLSBhL3QvdDU1NDAtaHR0cC1wdXNoLnNoCisrKyBiL3QvdDU1NDAtaHR0cC1wdXNoLnNoCkBAIC0xNTQsNyArMTU0LDcgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCB0byBwYXNzd29yZC1wcm90ZWN0ZWQgcmVwb3NpdG9yeSAodXNlciBpbiBVUkwpJyAnCiAJdGVzdF9jb21taXQgcHctdXNlciAmJgotCXNldF9hc2twYXNzIHVzZXJAaG9zdCAmJgorCXNldF9hc2twYXNzIHVzZXJAaG9zdCBwYXNzQGhvc3QgJiYKIAlnaXQgcHVzaCAiJEhUVFBEX1VSTF9VU0VSL2F1dGgvZHVtYi90ZXN0X3JlcG8uZ2l0IiBIRUFEICYmCiAJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEID5leHBlY3QgJiYKIAlnaXQgLS1naXQtZGlyPSIkSFRUUERfRE9DVU1FTlRfUk9PVF9QQVRIL2F1dGgvZHVtYi90ZXN0X3JlcG8uZ2l0IiBcCkBAIC0xNjgsNyArMTY4LDcgQEAKIAogdGVzdF9leHBlY3RfZmFpbHVyZSAncHVzaCB0byBwYXNzd29yZC1wcm90ZWN0ZWQgcmVwb3NpdG9yeSAobm8gdXNlciBpbiBVUkwpJyAnCiAJdGVzdF9jb21taXQgcHctbm91c2VyICYmCi0Jc2V0X2Fza3Bhc3MgdXNlckBob3N0ICYmCisJc2V0X2Fza3Bhc3MgdXNlckBob3N0IHBhc3NAaG9zdCAmJgogCWdpdCBwdXNoICIkSFRUUERfVVJML2F1dGgvZHVtYi90ZXN0X3JlcG8uZ2l0IiBIRUFEICYmCiAJZXhwZWN0X2Fza3Bhc3MgYm90aCB1c2VyQGhvc3QKIAlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQgPmV4cGVjdCAmJgpkaWZmIC0tZ2l0IGEvdC90NTU0MS1odHRwLXB1c2guc2ggYi90L3Q1NTQxLWh0dHAtcHVzaC5zaAppbmRleCBiZWIwMGJlLi5iZmQyNDFlIDEwMDc1NQotLS0gYS90L3Q1NTQxLWh0dHAtcHVzaC5zaAorKysgYi90L3Q1NTQxLWh0dHAtcHVzaC5zaApAQCAtMTUzLDcgKzE1Myw3IEBACiAnCiAKIHRlc3RfaHR0cF9wdXNoX25vbmZmICIkSFRUUERfRE9DVU1FTlRfUk9PVF9QQVRIIi90ZXN0X3JlcG8uZ2l0IFwKLQkiJFJPT1RfUEFUSCIvdGVzdF9yZXBvX2Nsb25lIG1hc3RlcgorCSIkUk9PVF9QQVRIIi90ZXN0X3JlcG9fY2xvbmUgbWFzdGVyIAkJc3VjY2VzcwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIGZhaWxzIGZvciBub24tZmFzdC1mb3J3YXJkIHJlZnMgdW5tYXRjaGVkIGJ5IHJlbW90ZSBoZWxwZXInICcKIAkjIGNyZWF0ZSBhIGRpc3NpbWlsYXJseS1uYW1lZCByZW1vdGUgcmVmIHNvIHRoYXQgZ2l0IGlzIHVuYWJsZSB0byBtYXRjaCB0aGUKQEAgLTI3NCw3ICsyNzQsNyBAQAogCWNkICIkUk9PVF9QQVRIL3Rlc3RfcmVwb19jbG9uZSIgJiYKIAllY2hvIHB1c2gtYXV0aC10ZXN0ID5leHBlY3QgJiYKIAl0ZXN0X2NvbW1pdCBwdXNoLWF1dGgtdGVzdCAmJgotCXNldF9hc2twYXNzIHVzZXJAaG9zdCAmJgorCXNldF9hc2twYXNzIHVzZXJAaG9zdCBwYXNzQGhvc3QgJiYKIAlnaXQgcHVzaCAiJEhUVFBEX1VSTCIvYXV0aC9zbWFydC90ZXN0X3JlcG8uZ2l0ICYmCiAJZ2l0IC0tZ2l0LWRpcj0iJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSC90ZXN0X3JlcG8uZ2l0IiBcCiAJCWxvZyAtMSAtLWZvcm1hdD0lcyA+YWN0dWFsICYmCkBAIC0yODYsNyArMjg2LDcgQEAKIAljZCAiJFJPT1RfUEFUSC90ZXN0X3JlcG9fY2xvbmUiICYmCiAJZWNobyBwdXNoLWhhbGYtYXV0aCA+ZXhwZWN0ICYmCiAJdGVzdF9jb21taXQgcHVzaC1oYWxmLWF1dGggJiYKLQlzZXRfYXNrcGFzcyB1c2VyQGhvc3QgJiYKKwlzZXRfYXNrcGFzcyB1c2VyQGhvc3QgcGFzc0Bob3N0ICYmCiAJZ2l0IHB1c2ggIiRIVFRQRF9VUkwiL2F1dGgtcHVzaC9zbWFydC90ZXN0X3JlcG8uZ2l0ICYmCiAJZ2l0IC0tZ2l0LWRpcj0iJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSC90ZXN0X3JlcG8uZ2l0IiBcCiAJCWxvZyAtMSAtLWZvcm1hdD0lcyA+YWN0dWFsICYmCkBAIC0zMTYsNyArMzE2LDcgQEAKIAljZCAiJFJPT1RfUEFUSC9oYWxmLWF1dGgtY2xvbmUiICYmCiAJZWNobyB0d28gPmV4cGVjdCAmJgogCXRlc3RfY29tbWl0IHR3byAmJgotCXNldF9hc2twYXNzIHVzZXJAaG9zdCAmJgorCXNldF9hc2twYXNzIHVzZXJAaG9zdCBwYXNzQGhvc3QgJiYKIAlnaXQgcHVzaCAiJEhUVFBEX1VSTC9oYWxmLWF1dGgtY29tcGxldGUvc21hcnQvaGFsZi1hdXRoLmdpdCIgJiYKIAlnaXQgLS1naXQtZGlyPSIkSFRUUERfRE9DVU1FTlRfUk9PVF9QQVRIL2hhbGYtYXV0aC5naXQiIFwKIAkJbG9nIC0xIC0tZm9ybWF0PSVzID5hY3R1YWwgJiYKZGlmZiAtLWdpdCBhL3QvdDU1NTAtaHR0cC1mZXRjaC5zaCBiL3QvdDU1NTAtaHR0cC1mZXRjaC5zaAppbmRleCBmN2QwZjE0Li44MzkyNjI0IDEwMDc1NQotLS0gYS90L3Q1NTUwLWh0dHAtZmV0Y2guc2gKKysrIGIvdC90NTU1MC1odHRwLWZldGNoLnNoCkBAIC02MiwxMyArNjIsMTMgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnaHR0cCBhdXRoIGNhbiB1c2UganVzdCB1c2VyIGluIFVSTCcgJwotCXNldF9hc2twYXNzIHVzZXJAaG9zdCAmJgorCXNldF9hc2twYXNzIHdyb25nIHBhc3NAaG9zdCAmJgogCWdpdCBjbG9uZSAiJEhUVFBEX1VSTF9VU0VSL2F1dGgvZHVtYi9yZXBvLmdpdCIgY2xvbmUtYXV0aC1wYXNzICYmCiAJZXhwZWN0X2Fza3Bhc3MgcGFzcyB1c2VyQGhvc3QKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnaHR0cCBhdXRoIGNhbiByZXF1ZXN0IGJvdGggdXNlciBhbmQgcGFzcycgJwotCXNldF9hc2twYXNzIHVzZXJAaG9zdCAmJgorCXNldF9hc2twYXNzIHVzZXJAaG9zdCBwYXNzQGhvc3QgJiYKIAlnaXQgY2xvbmUgIiRIVFRQRF9VUkwvYXV0aC9kdW1iL3JlcG8uZ2l0IiBjbG9uZS1hdXRoLWJvdGggJiYKIAlleHBlY3RfYXNrcGFzcyBib3RoIHVzZXJAaG9zdAogJwpAQCAtNzcsNyArNzcsNyBAQAogCXRlc3RfY29uZmlnX2dsb2JhbCBjcmVkZW50aWFsLmhlbHBlciAiIWYoKSB7CiAJCWNhdCA+L2Rldi9udWxsCiAJCWVjaG8gdXNlcm5hbWU9dXNlckBob3N0Ci0JCWVjaG8gcGFzc3dvcmQ9dXNlckBob3N0CisJCWVjaG8gcGFzc3dvcmQ9cGFzc0Bob3N0CiAJfTsgZiIgJiYKIAlzZXRfYXNrcGFzcyB3cm9uZyAmJgogCWdpdCBjbG9uZSAiJEhUVFBEX1VSTC9hdXRoL2R1bWIvcmVwby5naXQiIGNsb25lLWF1dGgtaGVscGVyICYmCkBAIC04NiwxNCArODYsMTQgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnaHR0cCBhdXRoIGNhbiBnZXQgdXNlcm5hbWUgZnJvbSBjb25maWcnICcKIAl0ZXN0X2NvbmZpZ19nbG9iYWwgImNyZWRlbnRpYWwuJEhUVFBEX1VSTC51c2VybmFtZSIgdXNlckBob3N0ICYmCi0Jc2V0X2Fza3Bhc3MgdXNlckBob3N0ICYmCisJc2V0X2Fza3Bhc3Mgd3JvbmcgcGFzc0Bob3N0ICYmCiAJZ2l0IGNsb25lICIkSFRUUERfVVJML2F1dGgvZHVtYi9yZXBvLmdpdCIgY2xvbmUtYXV0aC11c2VyICYmCiAJZXhwZWN0X2Fza3Bhc3MgcGFzcyB1c2VyQGhvc3QKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY29uZmlndXJlZCB1c2VybmFtZSBkb2VzIG5vdCBvdmVycmlkZSBVUkwnICcKIAl0ZXN0X2NvbmZpZ19nbG9iYWwgImNyZWRlbnRpYWwuJEhUVFBEX1VSTC51c2VybmFtZSIgd3JvbmcgJiYKLQlzZXRfYXNrcGFzcyB1c2VyQGhvc3QgJiYKKwlzZXRfYXNrcGFzcyB3cm9uZyBwYXNzQGhvc3QgJiYKIAlnaXQgY2xvbmUgIiRIVFRQRF9VUkxfVVNFUi9hdXRoL2R1bWIvcmVwby5naXQiIGNsb25lLWF1dGgtdXNlcjIgJiYKIAlleHBlY3RfYXNrcGFzcyBwYXNzIHVzZXJAaG9zdAogJwpkaWZmIC0tZ2l0IGEvdC90NTU1MS1odHRwLWZldGNoLnNoIGIvdC90NTU1MS1odHRwLWZldGNoLnNoCmluZGV4IDFiNzFiYjUuLmExMjRlZmUgMTAwNzU1Ci0tLSBhL3QvdDU1NTEtaHR0cC1mZXRjaC5zaAorKysgYi90L3Q1NTUxLWh0dHAtZmV0Y2guc2gKQEAgLTExOSw3ICsxMTksNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSBmcm9tIHBhc3N3b3JkLXByb3RlY3RlZCByZXBvc2l0b3J5JyAnCiAJZWNobyB0d28gPmV4cGVjdCAmJgotCXNldF9hc2twYXNzIHVzZXJAaG9zdCAmJgorCXNldF9hc2twYXNzIHVzZXJAaG9zdCBwYXNzQGhvc3QgJiYKIAlnaXQgY2xvbmUgLS1iYXJlICIkSFRUUERfVVJML2F1dGgvc21hcnQvcmVwby5naXQiIHNtYXJ0LWF1dGggJiYKIAlleHBlY3RfYXNrcGFzcyBib3RoIHVzZXJAaG9zdCAmJgogCWdpdCAtLWdpdC1kaXI9c21hcnQtYXV0aCBsb2cgLTEgLS1mb3JtYXQ9JXMgPmFjdHVhbCAmJgpAQCAtMTM3LDcgKzEzNyw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nsb25lIGZyb20gYXV0aC1vbmx5LWZvci1vYmplY3RzIHJlcG9zaXRvcnknICcKIAllY2hvIHR3byA+ZXhwZWN0ICYmCi0Jc2V0X2Fza3Bhc3MgdXNlckBob3N0ICYmCisJc2V0X2Fza3Bhc3MgdXNlckBob3N0IHBhc3NAaG9zdCAmJgogCWdpdCBjbG9uZSAtLWJhcmUgIiRIVFRQRF9VUkwvYXV0aC1mZXRjaC9zbWFydC9yZXBvLmdpdCIgaGFsZi1hdXRoICYmCiAJZXhwZWN0X2Fza3Bhc3MgYm90aCB1c2VyQGhvc3QgJiYKIAlnaXQgLS1naXQtZGlyPWhhbGYtYXV0aCBsb2cgLTEgLS1mb3JtYXQ9JXMgPmFjdHVhbCAmJgpAQCAtMTUxLDcgKzE1MSw3IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlZGlyZWN0cyBzZW5kIGF1dGggdG8gbmV3IGxvY2F0aW9uJyAnCi0Jc2V0X2Fza3Bhc3MgdXNlckBob3N0ICYmCisJc2V0X2Fza3Bhc3MgdXNlckBob3N0IHBhc3NAaG9zdCAmJgogCWdpdCAtYyBjcmVkZW50aWFsLnVzZUh0dHBQYXRoPXRydWUgXAogCSAgY2xvbmUgJEhUVFBEX1VSTC9zbWFydC1yZWRpci1hdXRoL3JlcG8uZ2l0IHJlcG8tcmVkaXItYXV0aCAmJgogCWV4cGVjdF9hc2twYXNzIGJvdGggdXNlckBob3N0IGF1dGgvc21hcnQvcmVwby5naXQKQEAgLTE5OCw2ICsxOTgsMjIgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK2NhdCA+Y29va2llcy50eHQgPDxFT0YKKzEyNy4wLjAuMQlGQUxTRQkvc21hcnRfY29va2llcy8JRkFMU0UJMAlvdGhlcm5hbWUJb3RoZXJ2YWx1ZQorRU9GCitjYXQgPmV4cGVjdF9jb29raWVzLnR4dCA8PEVPRgorCisxMjcuMC4wLjEJRkFMU0UJL3NtYXJ0X2Nvb2tpZXMvCUZBTFNFCTAJb3RoZXJuYW1lCW90aGVydmFsdWUKKzEyNy4wLjAuMQlGQUxTRQkvc21hcnRfY29va2llcy9yZXBvLmdpdC9pbmZvLwlGQUxTRQkwCW5hbWUJdmFsdWUKK0VPRgordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29va2llcyBzdG9yZWQgaW4gaHR0cC5jb29raWVmaWxlIHdoZW4gaHR0cC5zYXZlY29va2llcyBzZXQnICcKKwlnaXQgY29uZmlnIGh0dHAuY29va2llZmlsZSBjb29raWVzLnR4dCAmJgorCWdpdCBjb25maWcgaHR0cC5zYXZlY29va2llcyB0cnVlICYmCisJZ2l0IGxzLXJlbW90ZSAkSFRUUERfVVJML3NtYXJ0X2Nvb2tpZXMvcmVwby5naXQgbWFzdGVyICYmCisJdGFpbCAtMyBjb29raWVzLnR4dCA+IGNvb2tpZXNfdGFpbC50eHQKKwl0ZXN0X2NtcCBleHBlY3RfY29va2llcy50eHQgY29va2llc190YWlsLnR4dAorJworCiB0ZXN0IC1uICIkR0lUX1RFU1RfTE9ORyIgJiYgdGVzdF9zZXRfcHJlcmVxIEVYUEVOU0lWRQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIEVYUEVOU0lWRSAnY3JlYXRlIDUwLDAwMCB0YWdzIGluIHRoZSByZXBvJyAnCkBAIC0yMTksNyArMjM1LDcgQEAKIAlkb25lIHwgZ2l0IGZhc3QtaW1wb3J0IC0tZXhwb3J0LW1hcmtzPW1hcmtzICYmCiAKIAkjIG5vdyBhc3NpZ24gdGFncyB0byBhbGwgdGhlIGRhbmdsaW5nIGNvbW1pdHMgd2UgY3JlYXRlZCBhYm92ZQotCXRhZz0kKCIkUEVSTF9QQVRIIiAtZSAicHJpbnQgXCJibGFcIiB4IDMwIikgJiYKKwl0YWc9JChwZXJsIC1lICJwcmludCBcImJsYVwiIHggMzAiKSAmJgogCXNlZCAtZSAic3xeOlwoW14gXSpcKSBcKC4qXCkkfFwyIHJlZnMvdGFncy8kdGFnLVwxfCIgPG1hcmtzID4+cGFja2VkLXJlZnMKIAkpCiAnCmRpZmYgLS1naXQgYS90L3Q1NjAxLWNsb25lLnNoIGIvdC90NTYwMS1jbG9uZS5zaAppbmRleCBmOGU1YTlhLi41ZTY3MDM1IDEwMDc1NQotLS0gYS90L3Q1NjAxLWNsb25lLnNoCisrKyBiL3QvdDU2MDEtY2xvbmUuc2gKQEAgLTI4MCw5ICsyODAsMTQzIEBACiAJdGVzdF9jbXAgZmV0Y2guZXhwZWN0ZWQgZmV0Y2guYWN0dWFsCiAnCiAKK3NldHVwX3NzaF93cmFwcGVyICgpIHsKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBzc2ggd3JhcHBlcicgJworCQl3cml0ZV9zY3JpcHQgIiRUUkFTSF9ESVJFQ1RPUlkvc3NoLXdyYXBwZXIiIDw8LVxFT0YgJiYKKwkJZWNobyA+PiIkVFJBU0hfRElSRUNUT1JZL3NzaC1vdXRwdXQiICJzc2g6ICQqIiAmJgorCQkjIHRocm93IGF3YXkgYWxsIGJ1dCB0aGUgbGFzdCBhcmd1bWVudCwgd2hpY2ggc2hvdWxkIGJlIHRoZQorCQkjIGNvbW1hbmQKKwkJd2hpbGUgdGVzdCAkIyAtZ3QgMTsgZG8gc2hpZnQ7IGRvbmUKKwkJZXZhbCAiJDEiCisJCUVPRgorCQlHSVRfU1NIPSIkVFJBU0hfRElSRUNUT1JZL3NzaC13cmFwcGVyIiAmJgorCQlleHBvcnQgR0lUX1NTSCAmJgorCQlleHBvcnQgVFJBU0hfRElSRUNUT1JZICYmCisJCT4iJFRSQVNIX0RJUkVDVE9SWSIvc3NoLW91dHB1dAorCScKK30KKworZXhwZWN0X3NzaCAoKSB7CisJdGVzdF93aGVuX2ZpbmlzaGVkICcKKwkJKGNkICIkVFJBU0hfRElSRUNUT1JZIiAmJiBybSAtZiBzc2gtZXhwZWN0ICYmID5zc2gtb3V0cHV0KQorCScgJiYKKwl7CisJCWNhc2UgIiQxIiBpbgorCQlub25lKQorCQkJOzsKKwkJKikKKwkJCWVjaG8gInNzaDogJDEgZ2l0LXVwbG9hZC1wYWNrICckMiciCisJCWVzYWMKKwl9ID4iJFRSQVNIX0RJUkVDVE9SWS9zc2gtZXhwZWN0IiAmJgorCShjZCAiJFRSQVNIX0RJUkVDVE9SWSIgJiYgdGVzdF9jbXAgc3NoLWV4cGVjdCBzc2gtb3V0cHV0KQorfQorCitzZXR1cF9zc2hfd3JhcHBlcgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSBteWhvc3Q6c3JjIHVzZXMgc3NoJyAnCisJZ2l0IGNsb25lIG15aG9zdDpzcmMgc3NoLWNsb25lICYmCisJZXhwZWN0X3NzaCBteWhvc3Qgc3JjCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgTk9UX01JTkdXLE5PVF9DWUdXSU4gJ2Nsb25lIGxvY2FsIHBhdGggZm9vOmJhcicgJwogCWNwIC1SIHNyYyAiZm9vOmJhciIgJiYKLQlnaXQgY2xvbmUgIi4vZm9vOmJhciIgZm9vYmFyCisJZ2l0IGNsb25lICJmb286YmFyIiBmb29iYXIgJiYKKwlleHBlY3Rfc3NoIG5vbmUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYnJhY2tldGVkIGhvc3RuYW1lcyBhcmUgc3RpbGwgc3NoJyAnCisJZ2l0IGNsb25lICJbbXlob3N0OjEyM106c3JjIiBzc2gtYnJhY2tldC1jbG9uZSAmJgorCWV4cGVjdF9zc2ggbXlob3N0OjEyMyBzcmMKKycKKworY291bnRlcj0wCisjICQxIHVybAorIyAkMiBub25lfGhvc3QKKyMgJDMgcGF0aAordGVzdF9jbG9uZV91cmwgKCkgeworCWNvdW50ZXI9JCgoJGNvdW50ZXIgKyAxKSkKKwl0ZXN0X21pZ2h0X2ZhaWwgZ2l0IGNsb25lICIkMSIgdG1wJGNvdW50ZXIgJiYKKwlleHBlY3Rfc3NoICIkMiIgIiQzIgorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzIE5PVF9NSU5HVyAnY2xvbmUgYzp0ZW1wIGlzIHNzbCcgJworCXRlc3RfY2xvbmVfdXJsIGM6dGVtcCBjIHRlbXAKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBNSU5HVyAnY2xvbmUgYzp0ZW1wIGlzIGRvcyBkcml2ZScgJworCXRlc3RfY2xvbmVfdXJsIGM6dGVtcCBub25lCisnCisKKyNpcCB2NAorZm9yIHJlcG8gaW4gcmVwIHJlcC9ob21lL3Byb2plY3QgMTIzCitkbworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImNsb25lIGhvc3Q6JHJlcG8iICcKKwkJdGVzdF9jbG9uZV91cmwgaG9zdDokcmVwbyBob3N0ICRyZXBvCisJJworZG9uZQorCisjaXB2NgorZm9yIHJlcG8gaW4gcmVwIHJlcC9ob21lL3Byb2plY3QgMTIzCitkbworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImNsb25lIFs6OjFdOiRyZXBvIiAnCisJCXRlc3RfY2xvbmVfdXJsIFs6OjFdOiRyZXBvIDo6MSAkcmVwbworCScKK2RvbmUKKyNob21lIGRpcmVjdG9yeQordGVzdF9leHBlY3Rfc3VjY2VzcyAiY2xvbmUgaG9zdDovfnJlcG8iICcKKwl0ZXN0X2Nsb25lX3VybCBob3N0Oi9+cmVwbyBob3N0ICJ+cmVwbyIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAiY2xvbmUgWzo6MV06L35yZXBvIiAnCisJdGVzdF9jbG9uZV91cmwgWzo6MV06L35yZXBvIDo6MSAifnJlcG8iCisnCisKKyMgQ29ybmVyIGNhc2VzCitmb3IgdXJsIGluIGZvby9iYXI6YmF6IFtmb29dYmFyL2JhejpxdXggW2Zvby9iYXJdOmJhegorZG8KKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICJjbG9uZSAkdXJsIGlzIG5vdCBzc2giICcKKwkJdGVzdF9jbG9uZV91cmwgJHVybCBub25lCisJJworZG9uZQorCisjd2l0aCBzc2g6Ly8gc2NoZW1lCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSBzc2g6Ly9ob3N0Lnh6L2hvbWUvdXNlci9yZXBvJyAnCisJdGVzdF9jbG9uZV91cmwgInNzaDovL2hvc3QueHovaG9tZS91c2VyL3JlcG8iIGhvc3QueHogIi9ob21lL3VzZXIvcmVwbyIKKycKKworIyBmcm9tIGhvbWUgZGlyZWN0b3J5Cit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSBzc2g6Ly9ob3N0Lnh6L35yZXBvJyAnCisJdGVzdF9jbG9uZV91cmwgInNzaDovL2hvc3QueHovfnJlcG8iIGhvc3QueHogIn5yZXBvIgorJworCisjIHdpdGggcG9ydCBudW1iZXIKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nsb25lIHNzaDovL2hvc3QueHo6MjIvaG9tZS91c2VyL3JlcG8nICcKKwl0ZXN0X2Nsb25lX3VybCAic3NoOi8vaG9zdC54ejoyMi9ob21lL3VzZXIvcmVwbyIgIi1wIDIyIGhvc3QueHoiICIvaG9tZS91c2VyL3JlcG8iCisnCisKKyMgZnJvbSBob21lIGRpcmVjdG9yeSB3aXRoIHBvcnQgbnVtYmVyCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSBzc2g6Ly9ob3N0Lnh6OjIyL35yZXBvJyAnCisJdGVzdF9jbG9uZV91cmwgInNzaDovL2hvc3QueHo6MjIvfnJlcG8iICItcCAyMiBob3N0Lnh6IiAifnJlcG8iCisnCisKKyNJUHY2Cit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSBzc2g6Ly9bOjoxXS9ob21lL3VzZXIvcmVwbycgJworCXRlc3RfY2xvbmVfdXJsICJzc2g6Ly9bOjoxXS9ob21lL3VzZXIvcmVwbyIgIjo6MSIgIi9ob21lL3VzZXIvcmVwbyIKKycKKworI0lQdjYgZnJvbSBob21lIGRpcmVjdG9yeQordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgc3NoOi8vWzo6MV0vfnJlcG8nICcKKwl0ZXN0X2Nsb25lX3VybCAic3NoOi8vWzo6MV0vfnJlcG8iICI6OjEiICJ+cmVwbyIKKycKKworI0lQdjYgd2l0aCBwb3J0IG51bWJlcgordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgc3NoOi8vWzo6MV06MjIvaG9tZS91c2VyL3JlcG8nICcKKwl0ZXN0X2Nsb25lX3VybCAic3NoOi8vWzo6MV06MjIvaG9tZS91c2VyL3JlcG8iICItcCAyMiA6OjEiICIvaG9tZS91c2VyL3JlcG8iCisnCisKKyNJUHY2IGZyb20gaG9tZSBkaXJlY3Rvcnkgd2l0aCBwb3J0IG51bWJlcgordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgc3NoOi8vWzo6MV06MjIvfnJlcG8nICcKKwl0ZXN0X2Nsb25lX3VybCAic3NoOi8vWzo6MV06MjIvfnJlcG8iICItcCAyMiA6OjEiICJ+cmVwbyIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgZnJvbSBhIHJlcG9zaXRvcnkgd2l0aCB0d28gaWRlbnRpY2FsIGJyYW5jaGVzJyAnCkBAIC0yOTYsNCArNDMwLDExIEBACiAKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hhbGxvdyBjbG9uZSBsb2NhbGx5JyAnCisJZ2l0IGNsb25lIC0tZGVwdGg9MSAtLW5vLWxvY2FsIHNyYyBzc3JyY2MgJiYKKwlnaXQgY2xvbmUgc3NycmNjIGRkc3N0dCAmJgorCXRlc3RfY21wIHNzcnJjYy8uZ2l0L3NoYWxsb3cgZGRzc3R0Ly5naXQvc2hhbGxvdyAmJgorCSggY2QgZGRzc3R0ICYmIGdpdCBmc2NrICkKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1ODAwLXJlbW90ZS10ZXN0cHkuc2ggYi90L3Q1ODAwLXJlbW90ZS10ZXN0cHkuc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDFlNjgzZDQuLjAwMDAwMDAKLS0tIGEvdC90NTgwMC1yZW1vdGUtdGVzdHB5LnNoCisrKyAvZGV2L251bGwKQEAgLTEsMTY5ICswLDAgQEAKLSMhL2Jpbi9zaAotIwotIyBDb3B5cmlnaHQgKGMpIDIwMTAgU3ZlcnJlIFJhYmJlbGllcgotIwotCi10ZXN0X2Rlc2NyaXB0aW9uPSdUZXN0IHB5dGhvbiByZW1vdGUtaGVscGVyIGZyYW1ld29yaycKLQotLiAuL3Rlc3QtbGliLnNoCi0KLWlmICEgdGVzdF9oYXZlX3ByZXJlcSBQWVRIT04gOyB0aGVuCi0Jc2tpcF9hbGw9J3NraXBwaW5nIHB5dGhvbiByZW1vdGUtaGVscGVyIHRlc3RzLCBweXRob24gbm90IGF2YWlsYWJsZScKLQl0ZXN0X2RvbmUKLWZpCi0KLSIkUFlUSE9OX1BBVEgiIC1jICcKLWltcG9ydCBzeXMKLWlmIHN5cy5oZXh2ZXJzaW9uIDwgMHgwMjA0MDAwMDoKLSAgICBzeXMuZXhpdCgxKQotJyB8fCB7Ci0Jc2tpcF9hbGw9J3NraXBwaW5nIHB5dGhvbiByZW1vdGUtaGVscGVyIHRlc3RzLCBweXRob24gdmVyc2lvbiA8IDIuNCcKLQl0ZXN0X2RvbmUKLX0KLQotY29tcGFyZV9yZWZzKCkgewotCWdpdCAtLWdpdC1kaXI9IiQxLy5naXQiIHJldi1wYXJzZSAtLXZlcmlmeSAkMiA+ZXhwZWN0ICYmCi0JZ2l0IC0tZ2l0LWRpcj0iJDMvLmdpdCIgcmV2LXBhcnNlIC0tdmVyaWZ5ICQ0ID5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCi19Ci0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHJlcG9zaXRvcnknICcKLQlnaXQgaW5pdCAtLWJhcmUgc2VydmVyLy5naXQgJiYKLQlnaXQgY2xvbmUgc2VydmVyIHB1YmxpYyAmJgotCShjZCBwdWJsaWMgJiYKLQkgZWNobyBjb250ZW50ID5maWxlICYmCi0JIGdpdCBhZGQgZmlsZSAmJgotCSBnaXQgY29tbWl0IC1tIG9uZSAmJgotCSBnaXQgcHVzaCBvcmlnaW4gbWFzdGVyKQotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uaW5nIGZyb20gbG9jYWwgcmVwbycgJwotCWdpdCBjbG9uZSAidGVzdHB5Ojoke1BXRH0vc2VydmVyIiBsb2NhbGNsb25lICYmCi0JdGVzdF9jbXAgcHVibGljL2ZpbGUgbG9jYWxjbG9uZS9maWxlCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nsb25pbmcgZnJvbSByZW1vdGUgcmVwbycgJwotCWdpdCBjbG9uZSAidGVzdHB5OjpmaWxlOi8vJHtQV0R9L3NlcnZlciIgY2xvbmUgJiYKLQl0ZXN0X2NtcCBwdWJsaWMvZmlsZSBjbG9uZS9maWxlCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZSBuZXcgY29tbWl0IG9uIHJlbW90ZScgJwotCShjZCBwdWJsaWMgJiYKLQkgZWNobyBjb250ZW50ID4+ZmlsZSAmJgotCSBnaXQgY29tbWl0IC1hIC1tIHR3byAmJgotCSBnaXQgcHVzaCkKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAncHVsbGluZyBmcm9tIGxvY2FsIHJlcG8nICcKLQkoY2QgbG9jYWxjbG9uZSAmJiBnaXQgcHVsbCkgJiYKLQl0ZXN0X2NtcCBwdWJsaWMvZmlsZSBsb2NhbGNsb25lL2ZpbGUKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAncHVsbGluZyBmcm9tIHJlbW90ZSByZW1vdGUnICcKLQkoY2QgY2xvbmUgJiYgZ2l0IHB1bGwpICYmCi0JdGVzdF9jbXAgcHVibGljL2ZpbGUgY2xvbmUvZmlsZQotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoaW5nIHRvIGxvY2FsIHJlcG8nICcKLQkoY2QgbG9jYWxjbG9uZSAmJgotCWVjaG8gY29udGVudCA+PmZpbGUgJiYKLQlnaXQgY29tbWl0IC1hIC1tIHRocmVlICYmCi0JZ2l0IHB1c2gpICYmCi0JY29tcGFyZV9yZWZzIGxvY2FsY2xvbmUgSEVBRCBzZXJ2ZXIgSEVBRAotJwotCi0jIEdlbmVyYWxseSwgc2tpcCB0aGlzIHRlc3QuICBJdCBkZW1vbnN0cmF0ZXMgYSBub3ctZml4ZWQgcmFjZSBpbgotIyBnaXQtcmVtb3RlLXRlc3RweSwgYnV0IGlzIHRvbyBzbG93IHRvIGxlYXZlIGluIGZvciBnZW5lcmFsIHVzZS4KLTogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmFjaWx5IHB1c2hpbmcgdG8gbG9jYWwgcmVwbycgJwotCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIHNlcnZlcjIgbG9jYWxjbG9uZTIiICYmCi0JY3AgLVIgc2VydmVyIHNlcnZlcjIgJiYKLQlnaXQgY2xvbmUgInRlc3RweTo6JHtQV0R9L3NlcnZlcjIiIGxvY2FsY2xvbmUyICYmCi0JKGNkIGxvY2FsY2xvbmUyICYmCi0JZWNobyBjb250ZW50ID4+ZmlsZSAmJgotCWdpdCBjb21taXQgLWEgLW0gdGhyZWUgJiYKLQlHSVRfUkVNT1RFX1RFU1RHSVRfU0xFRVBZPTIgZ2l0IHB1c2gpICYmCi0JY29tcGFyZV9yZWZzIGxvY2FsY2xvbmUyIEhFQUQgc2VydmVyMiBIRUFECi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N5bmNoIHdpdGggY2hhbmdlcyBmcm9tIGxvY2FsY2xvbmUnICcKLQkoY2QgY2xvbmUgJiYKLQkgZ2l0IHB1bGwpCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2hpbmcgcmVtb3RlIGxvY2FsIHJlcG8nICcKLQkoY2QgY2xvbmUgJiYKLQllY2hvIGNvbnRlbnQgPj5maWxlICYmCi0JZ2l0IGNvbW1pdCAtYSAtbSBmb3VyICYmCi0JZ2l0IHB1c2gpICYmCi0JY29tcGFyZV9yZWZzIGNsb25lIEhFQUQgc2VydmVyIEhFQUQKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggbmV3IGJyYW5jaCcgJwotCShjZCBwdWJsaWMgJiYKLQkgZ2l0IGNoZWNrb3V0IC1iIG5ldyAmJgotCSBlY2hvIGNvbnRlbnQgPj5maWxlICYmCi0JIGdpdCBjb21taXQgLWEgLW0gZml2ZSAmJgotCSBnaXQgcHVzaCBvcmlnaW4gbmV3Ci0JKSAmJgotCShjZCBsb2NhbGNsb25lICYmCi0JIGdpdCBmZXRjaCBvcmlnaW4gbmV3Ci0JKSAmJgotCWNvbXBhcmVfcmVmcyBwdWJsaWMgSEVBRCBsb2NhbGNsb25lIEZFVENIX0hFQUQKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggbXVsdGlwbGUgYnJhbmNoZXMnICcKLQkoY2QgbG9jYWxjbG9uZSAmJgotCSBnaXQgZmV0Y2gKLQkpICYmCi0JY29tcGFyZV9yZWZzIHNlcnZlciBtYXN0ZXIgbG9jYWxjbG9uZSByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlciAmJgotCWNvbXBhcmVfcmVmcyBzZXJ2ZXIgbmV3IGxvY2FsY2xvbmUgcmVmcy9yZW1vdGVzL29yaWdpbi9uZXcKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCB3aGVuIHJlbW90ZSBoYXMgZXh0cmEgcmVmcycgJwotCShjZCBjbG9uZSAmJgotCSBlY2hvIGNvbnRlbnQgPj5maWxlICYmCi0JIGdpdCBjb21taXQgLWEgLW0gc2l4ICYmCi0JIGdpdCBwdXNoCi0JKSAmJgotCWNvbXBhcmVfcmVmcyBjbG9uZSBtYXN0ZXIgc2VydmVyIG1hc3RlcgotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIG5ldyBicmFuY2ggYnkgbmFtZScgJwotCShjZCBjbG9uZSAmJgotCSBnaXQgY2hlY2tvdXQgLWIgbmV3LW5hbWUgICYmCi0JIGVjaG8gY29udGVudCA+PmZpbGUgJiYKLQkgZ2l0IGNvbW1pdCAtYSAtbSBzZXZlbiAmJgotCSBnaXQgcHVzaCBvcmlnaW4gbmV3LW5hbWUKLQkpICYmCi0JY29tcGFyZV9yZWZzIGNsb25lIEhFQUQgc2VydmVyIHJlZnMvaGVhZHMvbmV3LW5hbWUKLScKLQotdGVzdF9leHBlY3RfZmFpbHVyZSAncHVzaCBuZXcgYnJhbmNoIHdpdGggb2xkOm5ldyByZWZzcGVjJyAnCi0JKGNkIGNsb25lICYmCi0JIGdpdCBwdXNoIG9yaWdpbiBuZXctbmFtZTpuZXctcmVmc3BlYwotCSkgJiYKLQljb21wYXJlX3JlZnMgY2xvbmUgSEVBRCBzZXJ2ZXIgcmVmcy9oZWFkcy9uZXctcmVmc3BlYwotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdwcm9wZXIgZmFpbHVyZSBjaGVja3MgZm9yIGZldGNoaW5nJyAnCi0JKEdJVF9SRU1PVEVfVEVTVEdJVF9GQUlMVVJFPTEgJiYKLQlleHBvcnQgR0lUX1JFTU9URV9URVNUR0lUX0ZBSUxVUkUgJiYKLQljZCBsb2NhbGNsb25lICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IGZldGNoIDI+JjEgfCBcCi0JCWdyZXAgIkVycm9yIHdoaWxlIHJ1bm5pbmcgZmFzdC1pbXBvcnQiCi0JKQotJwotCi0jIFdlIHNsZWVwIHRvIGdpdmUgZmFzdC1leHBvcnQgYSBjaGFuY2UgdG8gY2F0Y2ggdGhlIFNJR1BJUEUKLXRlc3RfZXhwZWN0X2ZhaWx1cmUgJ3Byb3BlciBmYWlsdXJlIGNoZWNrcyBmb3IgcHVzaGluZycgJwotCShHSVRfUkVNT1RFX1RFU1RHSVRfRkFJTFVSRT0xICYmCi0JZXhwb3J0IEdJVF9SRU1PVEVfVEVTVEdJVF9GQUlMVVJFICYmCi0JR0lUX1JFTU9URV9URVNUR0lUX1NMRUVQWT0xICYmCi0JZXhwb3J0IEdJVF9SRU1PVEVfVEVTVEdJVF9TTEVFUFkgJiYKLQljZCBsb2NhbGNsb25lICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1c2ggLS1hbGwgMj4mMSB8IFwKLQkJZ3JlcCAiRXJyb3Igd2hpbGUgcnVubmluZyBmYXN0LWV4cG9ydCIKLQkpCi0nCi0KLXRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTgwMS1yZW1vdGUtaGVscGVycy5zaCBiL3QvdDU4MDEtcmVtb3RlLWhlbHBlcnMuc2gKaW5kZXggOGM0YzUzOS4uNjEzZjY5YSAxMDA3NTUKLS0tIGEvdC90NTgwMS1yZW1vdGUtaGVscGVycy5zaAorKysgYi90L3Q1ODAxLXJlbW90ZS1oZWxwZXJzLnNoCkBAIC0xODIsNiArMTgyLDE3IEBACiAJKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIHVwZGF0ZSByZWZzIGRpc2FibGVkIGJ5IG5vLXByaXZhdGUtdXBkYXRlJyAnCisJKGNkIGxvY2FsICYmCisJZWNobyBtb3JlLXVwZGF0ZSA+PmZpbGUgJiYKKwlnaXQgY29tbWl0IC1hIC1tIG1vcmUtdXBkYXRlICYmCisJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSB0ZXN0Z2l0L29yaWdpbi9oZWFkcy91cGRhdGUgPmV4cGVjdCAmJgorCUdJVF9SRU1PVEVfVEVTVEdJVF9OT19QUklWQVRFX1VQREFURT10IGdpdCBwdXNoIG9yaWdpbiB1cGRhdGUgJiYKKwlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IHRlc3RnaXQvb3JpZ2luL2hlYWRzL3VwZGF0ZSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCB1cGRhdGUgcmVmcyBmYWlsdXJlJyAnCiAJKGNkIGxvY2FsICYmCiAJZ2l0IGNoZWNrb3V0IHVwZGF0ZSAmJgpkaWZmIC0tZ2l0IGEvdC90NjAwMC1yZXYtbGlzdC1taXNjLnNoIGIvdC90NjAwMC1yZXYtbGlzdC1taXNjLnNoCmluZGV4IDE1ZTNkNjQuLjM3OTRlNGMgMTAwNzU1Ci0tLSBhL3QvdDYwMDAtcmV2LWxpc3QtbWlzYy5zaAorKysgYi90L3Q2MDAwLXJldi1saXN0LW1pc2Muc2gKQEAgLTU2LDQgKzU2LDIxIEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcm9wYWdhdGUgdW5pbnRlcmVzdGluZyBmbGFnIGRvd24gY29ycmVjdGx5JyAnCisJZ2l0IHJldi1saXN0IC0tb2JqZWN0cyBeSEVBRF57dHJlZX0gSEVBRF57dHJlZX0gPmFjdHVhbCAmJgorCT5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N5bWxlZnQgZmxhZyBiaXQgaXMgcHJvcGFnYXRlZCBkb3duIGZyb20gdGFnJyAnCisJZ2l0IGxvZyAtLWZvcm1hdD0iJW0gJXMiIC0tbGVmdC1yaWdodCB2MS4wLi4ubWFzdGVyID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJPiB0d28KKwk+IG9uZQorCTwgYW5vdGhlcgorCTwgdGhhdAorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q2MDEwLW1lcmdlLWJhc2Uuc2ggYi90L3Q2MDEwLW1lcmdlLWJhc2Uuc2gKaW5kZXggZjgwYmJhOC4uMzliMzIzOCAxMDA3NTUKLS0tIGEvdC90NjAxMC1tZXJnZS1iYXNlLnNoCisrKyBiL3QvdDYwMTAtbWVyZ2UtYmFzZS5zaApAQCAtMjMwLDQgKzIzMCw3MSBAQAogCXRlc3RfY21wIGV4cGVjdGVkLnNvcnRlZCBhY3R1YWwuc29ydGVkCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VzaW5nIHJlZmxvZyB0byBmaW5kIHRoZSBmb3JrIHBvaW50JyAnCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWdpdCBjaGVja291dCAtYiBiYXNlICRFICYmCisKKwkoCisJCWZvciBjb3VudCBpbiAxIDIgMworCQlkbworCQkJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tICJCYXNlIGNvbW1pdCAjJGNvdW50IiAmJgorCQkJZ2l0IHJldi1wYXJzZSBIRUFEID5leHBlY3QkY291bnQgJiYKKwkJCWdpdCBjaGVja291dCAtQiBkZXJpdmVkICYmCisJCQlnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gIkRlcml2ZWQgIyRjb3VudCIgJiYKKwkJCWdpdCByZXYtcGFyc2UgSEVBRCA+ZGVyaXZlZCRjb3VudCAmJgorCQkJZ2l0IGNoZWNrb3V0IC1CIGJhc2UgJEUgfHwgZXhpdCAxCisJCWRvbmUKKworCQlmb3IgY291bnQgaW4gMSAyIDMKKwkJZG8KKwkJCWdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCBiYXNlICQoY2F0IGRlcml2ZWQkY291bnQpID5hY3R1YWwgJiYKKwkJCXRlc3RfY21wIGV4cGVjdCRjb3VudCBhY3R1YWwgfHwgZXhpdCAxCisJCWRvbmUKKworCSkgJiYKKwkjIGNoZWNrIHRoYXQgd2UgY29ycmVjdGx5IGRlZmF1bHQgdG8gSEVBRAorCWdpdCBjaGVja291dCBkZXJpdmVkICYmCisJZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IGJhc2UgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdDMgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21lcmdlLWJhc2UgLS1vY3RvcHVzIC0tYWxsIGZvciBjb21wbGV4IHRyZWUnICcKKwkjIEJlc3QgY29tbW9uIGFuY2VzdG9yIGZvciBKRSwgSkFBIGFuZCBKREQgaXMgSkMKKwkjICAgICAgICAgICAgIEpFCisJIyAgICAgICAgICAgIC8gfAorCSMgICAgICAgICAgIC8gIHwKKwkjICAgICAgICAgIC8gICB8CisJIyAgSkFBICAgIC8gICAgfAorCSMgICB8XCAgIC8gICAgIHwKKwkjICAgfCBcICB8IEpERCB8CisJIyAgIHwgIFwgfC8gfCAgfAorCSMgICB8ICAgSkMgSkQgIHwKKwkjICAgfCAgICB8IC98ICB8CisJIyAgIHwgICAgfC8gfCAgfAorCSMgIEpBICAgIHwgIHwgIHwKKwkjICAgfFwgIC98ICB8ICB8CisJIyAgIFggSkIgfCAgWCAgWAorCSMgICBcICBcIHwgLyAgIC8KKwkjICAgIFxfX1x8L19fXy8KKwkjICAgICAgICBKCisJdGVzdF9jb21taXQgSiAmJgorCXRlc3RfY29tbWl0IEpCICYmCisJZ2l0IHJlc2V0IC0taGFyZCBKICYmCisJdGVzdF9jb21taXQgSkMgJiYKKwlnaXQgcmVzZXQgLS1oYXJkIEogJiYKKwl0ZXN0X2NvbW1pdCBKVEVNUDEgJiYKKwl0ZXN0X21lcmdlIEpBIEpCICYmCisJdGVzdF9tZXJnZSBKQUEgSkMgJiYKKwlnaXQgcmVzZXQgLS1oYXJkIEogJiYKKwl0ZXN0X2NvbW1pdCBKVEVNUDIgJiYKKwl0ZXN0X21lcmdlIEpEIEpCICYmCisJdGVzdF9tZXJnZSBKREQgSkMgJiYKKwlnaXQgcmVzZXQgLS1oYXJkIEogJiYKKwl0ZXN0X2NvbW1pdCBKVEVNUDMgJiYKKwl0ZXN0X21lcmdlIEpFIEpDICYmCisJZ2l0IHJldi1wYXJzZSBKQyA+ZXhwZWN0ZWQgJiYKKwlnaXQgbWVyZ2UtYmFzZSAtLWFsbCAtLW9jdG9wdXMgSkFBIEpERCBKRSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NjAxMS1yZXYtbGlzdC13aXRoLWJhZC1jb21taXQuc2ggYi90L3Q2MDExLXJldi1saXN0LXdpdGgtYmFkLWNvbW1pdC5zaAppbmRleCBiYmIwNTgxLi5lNTFlYjQxIDEwMDc1NQotLS0gYS90L3Q2MDExLXJldi1saXN0LXdpdGgtYmFkLWNvbW1pdC5zaAorKysgYi90L3Q2MDExLXJldi1saXN0LXdpdGgtYmFkLWNvbW1pdC5zaApAQCAtMzcsNyArMzcsNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3JydXB0IHNlY29uZCBjb21taXQgb2JqZWN0JyBcCiAgICAnCi0gICAiJFBFUkxfUEFUSCIgLWkuYmFrIC1wZSAicy9zZWNvbmQgY29tbWl0L3NvY29uZCBjb21taXQvIiAuZ2l0L29iamVjdHMvcGFjay8qLnBhY2sgJiYKKyAgIHBlcmwgLWkuYmFrIC1wZSAicy9zZWNvbmQgY29tbWl0L3NvY29uZCBjb21taXQvIiAuZ2l0L29iamVjdHMvcGFjay8qLnBhY2sgJiYKICAgIHRlc3RfbXVzdF9mYWlsIGdpdCBmc2NrIC0tZnVsbAogICAgJwogCmRpZmYgLS1naXQgYS90L3Q2MDEzLXJldi1saXN0LXJldmVyc2UtcGFyZW50cy5zaCBiL3QvdDYwMTMtcmV2LWxpc3QtcmV2ZXJzZS1wYXJlbnRzLnNoCmluZGV4IDg5MmE1MzcuLjU5ZmMyZjAgMTAwNzU1Ci0tLSBhL3QvdDYwMTMtcmV2LWxpc3QtcmV2ZXJzZS1wYXJlbnRzLnNoCisrKyBiL3QvdDYwMTMtcmV2LWxpc3QtcmV2ZXJzZS1wYXJlbnRzLnNoCkBAIC0yNSw3ICsyNSw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmV2ZXJzZSAtLXBhcmVudHMgLS1mdWxsLWhpc3RvcnkgY29tYmluZXMgY29ycmVjdGx5JyAnCiAJZ2l0IHJldi1saXN0IC0tcGFyZW50cyAtLWZ1bGwtaGlzdG9yeSBtYXN0ZXIgLS0gZm9vIHwKLQkJIiRQRVJMX1BBVEgiIC1lICJwcmludCByZXZlcnNlIDw+IiA+IGV4cGVjdGVkICYmCisJCXBlcmwgLWUgInByaW50IHJldmVyc2UgPD4iID4gZXhwZWN0ZWQgJiYKIAlnaXQgcmV2LWxpc3QgLS1yZXZlcnNlIC0tcGFyZW50cyAtLWZ1bGwtaGlzdG9yeSBtYXN0ZXIgLS0gZm9vIFwKIAkJPiBhY3R1YWwgJiYKIAl0ZXN0X2NtcCBhY3R1YWwgZXhwZWN0ZWQKQEAgLTMzLDcgKzMzLDcgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1ib3VuZGFyeSBkb2VzIHRvbycgJwogCWdpdCByZXYtbGlzdCAtLWJvdW5kYXJ5IC0tcGFyZW50cyAtLWZ1bGwtaGlzdG9yeSBtYXN0ZXIgXnJvb3QgLS0gZm9vIHwKLQkJIiRQRVJMX1BBVEgiIC1lICJwcmludCByZXZlcnNlIDw+IiA+IGV4cGVjdGVkICYmCisJCXBlcmwgLWUgInByaW50IHJldmVyc2UgPD4iID4gZXhwZWN0ZWQgJiYKIAlnaXQgcmV2LWxpc3QgLS1ib3VuZGFyeSAtLXJldmVyc2UgLS1wYXJlbnRzIC0tZnVsbC1oaXN0b3J5IFwKIAkJbWFzdGVyIF5yb290IC0tIGZvbyA+IGFjdHVhbCAmJgogCXRlc3RfY21wIGFjdHVhbCBleHBlY3RlZApkaWZmIC0tZ2l0IGEvdC90NjAxOC1yZXYtbGlzdC1nbG9iLnNoIGIvdC90NjAxOC1yZXYtbGlzdC1nbG9iLnNoCmluZGV4IGYwMGNlYmYuLmQwMGY3ZGIgMTAwNzU1Ci0tLSBhL3QvdDYwMTgtcmV2LWxpc3QtZ2xvYi5zaAorKysgYi90L3Q2MDE4LXJldi1saXN0LWdsb2Iuc2gKQEAgLTEyOSw2ICsxMjksMTggQEAKIAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtcGFyc2UgLS1leGNsdWRlIHdpdGggLS1icmFuY2hlcycgJworCWNvbXBhcmUgcmV2LXBhcnNlICItLWV4Y2x1ZGU9Ki8qIC0tYnJhbmNoZXMiICJtYXN0ZXIgc29tZXJlZiBzdWJzcGFjZS14IgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtcGFyc2UgLS1leGNsdWRlIHdpdGggLS1hbGwnICcKKwljb21wYXJlIHJldi1wYXJzZSAiLS1leGNsdWRlPXJlZnMvcmVtb3Rlcy8qIC0tYWxsIiAiLS1icmFuY2hlcyAtLXRhZ3MiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jldi1wYXJzZSBhY2N1bXVsYXRlcyBtdWx0aXBsZSAtLWV4Y2x1ZGUnICcKKwljb21wYXJlIHJldi1wYXJzZSAiLS1leGNsdWRlPXJlZnMvcmVtb3Rlcy8qIC0tZXhjbHVkZT1yZWZzL3RhZ3MvKiAtLWFsbCIgLS1icmFuY2hlcworJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtbGlzdCAtLWdsb2I9cmVmcy9oZWFkcy9zdWJzcGFjZS8qJyAnCiAKIAljb21wYXJlIHJldi1saXN0ICJzdWJzcGFjZS9vbmUgc3Vic3BhY2UvdHdvIiAiLS1nbG9iPXJlZnMvaGVhZHMvc3Vic3BhY2UvKiIKQEAgLTIzMSw2ICsyNDMsNDggQEAKIAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtbGlzdCAtLWV4Y2x1ZGUgd2l0aCAtLWJyYW5jaGVzJyAnCisJY29tcGFyZSByZXYtbGlzdCAiLS1leGNsdWRlPSovKiAtLWJyYW5jaGVzIiAibWFzdGVyIHNvbWVyZWYgc3Vic3BhY2UteCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LWxpc3QgLS1leGNsdWRlIHdpdGggLS1hbGwnICcKKwljb21wYXJlIHJldi1saXN0ICItLWV4Y2x1ZGU9cmVmcy9yZW1vdGVzLyogLS1hbGwiICItLWJyYW5jaGVzIC0tdGFncyIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LWxpc3QgYWNjdW11bGF0ZXMgbXVsdGlwbGUgLS1leGNsdWRlJyAnCisJY29tcGFyZSByZXYtbGlzdCAiLS1leGNsdWRlPXJlZnMvcmVtb3Rlcy8qIC0tZXhjbHVkZT1yZWZzL3RhZ3MvKiAtLWFsbCIgLS1icmFuY2hlcworJworCisKKyMgImdpdCByZXYtbGlzdDxFTlRFUj4iIGlzIGxpa2VseSB0byBiZSBhIGJ1ZyBpbiB0aGUgY2FsbGluZyBzY3JpcHQgYW5kIG1heQorIyBkZXNlcnZlIGFuIGVycm9yIG1lc3NhZ2UsIGJ1dCBkbyBjYXNlcyB3aGVyZSBzZXQgb2YgcmVmcyBwcm9ncmFtYXRpY2FsbHkKKyMgZ2l2ZW4gdXNpbmcgZ2xvYmJpbmcgYW5kL29yIC0tc3RkaW4gbmVlZCB0byBmYWlsIHdpdGggdGhlIHNhbWUgZXJyb3IsIG9yCisjIGFyZSB3ZSBiZXR0ZXIgb2ZmIHJlcG9ydGluZyBhIHN1Y2Nlc3Mgd2l0aCBubyBvdXRwdXQ/ICBUaGUgZm9sbG93aW5nIGZldworIyB0ZXN0cyBkb2N1bWVudCB0aGUgY3VycmVudCBiZWhhdmlvdXIgdG8gcmVtaW5kIHVzIHRoYXQgd2UgbWlnaHQgd2FudCB0bworIyB0aGluayBhYm91dCB0aGlzIGlzc3VlLgorCit0ZXN0X2V4cGVjdF9mYWlsdXJlICdyZXYtbGlzdCBtYXkgd2FudCB0byBzdWNjZWVkIHdpdGggZW1wdHkgb3V0cHV0IG9uIG5vIGlucHV0ICgxKScgJworCT5leHBlY3QgJiYKKwlnaXQgcmV2LWxpc3QgLS1zdGRpbiA8ZXhwZWN0ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X2ZhaWx1cmUgJ3Jldi1saXN0IG1heSB3YW50IHRvIHN1Y2NlZWQgd2l0aCBlbXB0eSBvdXRwdXQgb24gbm8gaW5wdXQgKDIpJyAnCisJPmV4cGVjdCAmJgorCWdpdCByZXYtbGlzdCAtLWV4Y2x1ZGU9KiAtLWFsbCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9mYWlsdXJlICdyZXYtbGlzdCBtYXkgd2FudCB0byBzdWNjZWVkIHdpdGggZW1wdHkgb3V0cHV0IG9uIG5vIGlucHV0ICgzKScgJworCSgKKwkJdGVzdF9jcmVhdGVfcmVwbyBlbXB0eSAmJgorCQljZCBlbXB0eSAmJgorCQk+ZXhwZWN0ICYmCisJCWdpdCByZXYtbGlzdCAtLWFsbCA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Nob3J0bG9nIGFjY2VwdHMgLS1nbG9iLy0tdGFncy8tLXJlbW90ZXMnICcKIAogCWNvbXBhcmUgc2hvcnRsb2cgInN1YnNwYWNlL29uZSBzdWJzcGFjZS90d28iIC0tYnJhbmNoZXM9c3Vic3BhY2UgJiYKZGlmZiAtLWdpdCBhL3QvdDYwMjItbWVyZ2UtcmVuYW1lLnNoIGIvdC90NjAyMi1tZXJnZS1yZW5hbWUuc2gKaW5kZXggYzY4MGY3OC4uYTg5ZGZiZSAxMDA3NTUKLS0tIGEvdC90NjAyMi1tZXJnZS1yZW5hbWUuc2gKKysrIGIvdC90NjAyMi1tZXJnZS1yZW5hbWUuc2gKQEAgLTI1OSw3ICsyNTksNyBAQAogCXByaW50ZiAiMVxuMlxuM1xuNFxuNVxuNlxuN1xuOFxuOVxuMTBcbiIgPnN1Yi9maWxlICYmCiAJZWNobyBmb28gPmRpci9maWxlLWluLXRoZS13YXkgJiYKIAlnaXQgYWRkIC1BICYmCi0JZ2l0IGNvbW1pdCAtbSAiQ29tbW9uIGNvbW1taXQiICYmCisJZ2l0IGNvbW1pdCAtbSAiQ29tbW9uIGNvbW1pdCIgJiYKIAogCWVjaG8gMTEgPj5zdWIvZmlsZSAmJgogCWVjaG8gbW9yZSA+PmRpci9maWxlLWluLXRoZS13YXkgJiYKQEAgLTQzOSw3ICs0MzksNyBAQAogCW1rZGlyIG9uZSAmJgogCWVjaG8gc3R1ZmYgPm9uZS9maWxlICYmCiAJZ2l0IGFkZCAtQSAmJgotCWdpdCBjb21taXQgLW0gIkNvbW1vbiBjb21tbWl0IiAmJgorCWdpdCBjb21taXQgLW0gIkNvbW1vbiBjb21taXQiICYmCiAKIAlnaXQgbXYgb25lL2ZpbGUgZGVzdGRpciAmJgogCWdpdCBjb21taXQgLW0gIlJlbmFtZWQgdG8gZGVzdGRpciIgJiYKQEAgLTQ3OSw3ICs0NzksNyBAQAogCWVjaG8gc3R1ZmYgPm9uZS9maWxlICYmCiAJZWNobyBvdGhlciA+dHdvL2ZpbGUgJiYKIAlnaXQgYWRkIC1BICYmCi0JZ2l0IGNvbW1pdCAtbSAiQ29tbW9uIGNvbW1taXQiICYmCisJZ2l0IGNvbW1pdCAtbSAiQ29tbW9uIGNvbW1pdCIgJiYKIAogCWdpdCBybSAtcmYgb25lICYmCiAJZ2l0IG12IHR3by9maWxlIG9uZSAmJgpAQCAtNTM5LDcgKzUzOSw3IEBACiAKIAllY2hvIHN0dWZmID5vcmlnaW5hbCAmJgogCWdpdCBhZGQgLUEgJiYKLQlnaXQgY29tbWl0IC1tICJDb21tb24gY29tbW1pdCIgJiYKKwlnaXQgY29tbWl0IC1tICJDb21tb24gY29tbWl0IiAmJgogCiAJbWtkaXIgdHdvICYmCiAJPnR3by9maWxlICYmCkBAIC01ODMsNyArNTgzLDcgQEAKIAlta2RpciBvbmUgdHdvICYmCiAJdG91Y2ggb25lL2ZpbGUgdHdvL2ZpbGUgJiYKIAlnaXQgYWRkIC1BICYmCi0JZ2l0IGNvbW1pdCAtbSAiQ29tbW9uIGNvbW1taXQiICYmCisJZ2l0IGNvbW1pdCAtbSAiQ29tbW9uIGNvbW1pdCIgJiYKIAogCWdpdCBybSAtcmYgb25lICYmCiAJZ2l0IG12IG9yaWdpbmFsIG9uZSAmJgpAQCAtNjE4LDcgKzYxOCw3IEBACiAKIAlwcmludGYgIjFcbjJcbjNcbjRcbjVcbjZcbjdcbjhcbjlcbjEwXG4iID5vcmlnaW5hbCAmJgogCWdpdCBhZGQgLUEgJiYKLQlnaXQgY29tbWl0IC1tICJDb21tb24gY29tbW1pdCIgJiYKKwlnaXQgY29tbWl0IC1tICJDb21tb24gY29tbWl0IiAmJgogCiAJZ2l0IG12IG9yaWdpbmFsIHJlbmFtZSAmJgogCWVjaG8gMTEgPj5yZW5hbWUgJiYKQEAgLTY0OSw3ICs2NDksNyBAQAogCW1rZGlyIGRmICYmCiAJcHJpbnRmICIxXG4yXG4zXG40XG41XG42XG43XG44XG45XG4xMFxuIiA+ZGYvZmlsZSAmJgogCWdpdCBhZGQgLUEgJiYKLQlnaXQgY29tbWl0IC1tICJDb21tb24gY29tbW1pdCIgJiYKKwlnaXQgY29tbWl0IC1tICJDb21tb24gY29tbWl0IiAmJgogCiAJZ2l0IG12IGRmL2ZpbGUgdGVtcCAmJgogCXJtIC1yZiBkZiAmJgpkaWZmIC0tZ2l0IGEvdC90NjAzMS1tZXJnZS1yZWN1cnNpdmUuc2ggYi90L3Q2MDMxLW1lcmdlLXJlY3Vyc2l2ZS5zaAppbmRleCAxY2Q2NDllLi5hOTUzZjFiIDEwMDc1NQotLS0gYS90L3Q2MDMxLW1lcmdlLXJlY3Vyc2l2ZS5zaAorKysgYi90L3Q2MDMxLW1lcmdlLXJlY3Vyc2l2ZS5zaApAQCAtMiw3ICsyLDYgQEAKIAogdGVzdF9kZXNjcmlwdGlvbj0nbWVyZ2UtcmVjdXJzaXZlOiBoYW5kbGUgZmlsZSBtb2RlJwogLiAuL3Rlc3QtbGliLnNoCi0uICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1wcmVyZXEtRklMRU1PREUuc2gKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbW9kZSBjaGFuZ2UgaW4gb25lIGJyYW5jaDoga2VlcCBjaGFuZ2VkIHZlcnNpb24nICcKIAk6ID5maWxlMSAmJgpkaWZmIC0tZ2l0IGEvdC90NjA0MC10cmFja2luZy1pbmZvLnNoIGIvdC90NjA0MC10cmFja2luZy1pbmZvLnNoCmluZGV4IGVjMmI1MTYuLjdhYzhmZDAgMTAwNzU1Ci0tLSBhL3QvdDYwNDAtdHJhY2tpbmctaW5mby5zaAorKysgYi90L3Q2MDQwLXRyYWNraW5nLWluZm8uc2gKQEAgLTI4LDE4ICsyOCwyNSBAQAogCQlnaXQgcmVzZXQgLS1oYXJkIEhFQUReICYmCiAJCWdpdCBjaGVja291dCAtYiBiNCBvcmlnaW4gJiYKIAkJYWR2YW5jZSBlICYmCi0JCWFkdmFuY2UgZgorCQlhZHZhbmNlIGYgJiYKKwkJZ2l0IGNoZWNrb3V0IC1iIGJyb2tlbmJhc2Ugb3JpZ2luICYmCisJCWdpdCBjaGVja291dCAtYiBiNSAtLXRyYWNrIGJyb2tlbmJhc2UgJiYKKwkJYWR2YW5jZSBnICYmCisJCWdpdCBicmFuY2ggLWQgYnJva2VuYmFzZSAmJgorCQlnaXQgY2hlY2tvdXQgLWIgYjYgb3JpZ2luCiAJKSAmJgogCWdpdCBjaGVja291dCAtYiBmb2xsb3dlciAtLXRyYWNrIG1hc3RlciAmJgotCWFkdmFuY2UgZworCWFkdmFuY2UgaAogJwogCi1zY3JpcHQ9J3MvXi4uXChiLlwpWwkgMC05YS1mXSpcW1woW15dXSpcKVxdLiovXDEgXDIvcCcKK3NjcmlwdD0ncy9eLi5cKGIuXCkgKlswLTlhLWZdKiBcKC4qXCkkL1wxIFwyL3AnCiBjYXQgPmV4cGVjdCA8PFxFT0YKLWIxIGFoZWFkIDEsIGJlaGluZCAxCi1iMiBhaGVhZCAxLCBiZWhpbmQgMQotYjMgYmVoaW5kIDEKLWI0IGFoZWFkIDIKK2IxIFthaGVhZCAxLCBiZWhpbmQgMV0gZAorYjIgW2FoZWFkIDEsIGJlaGluZCAxXSBkCitiMyBbYmVoaW5kIDFdIGIKK2I0IFthaGVhZCAyXSBmCitiNSBnCitiNiBjCiBFT0YKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYnJhbmNoIC12JyAnCkBAIC01MiwxMCArNTksMTIgQEAKICcKIAogY2F0ID5leHBlY3QgPDxcRU9GCi1iMSBvcmlnaW4vbWFzdGVyOiBhaGVhZCAxLCBiZWhpbmQgMQotYjIgb3JpZ2luL21hc3RlcjogYWhlYWQgMSwgYmVoaW5kIDEKLWIzIG9yaWdpbi9tYXN0ZXI6IGJlaGluZCAxCi1iNCBvcmlnaW4vbWFzdGVyOiBhaGVhZCAyCitiMSBbb3JpZ2luL21hc3RlcjogYWhlYWQgMSwgYmVoaW5kIDFdIGQKK2IyIFtvcmlnaW4vbWFzdGVyOiBhaGVhZCAxLCBiZWhpbmQgMV0gZAorYjMgW29yaWdpbi9tYXN0ZXI6IGJlaGluZCAxXSBiCitiNCBbb3JpZ2luL21hc3RlcjogYWhlYWQgMl0gZgorYjUgW2Jyb2tlbmJhc2U6IGdvbmVdIGcKK2I2IFtvcmlnaW4vbWFzdGVyXSBjCiBFT0YKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYnJhbmNoIC12dicgJwpAQCAtNjcsNyArNzYsNyBAQAogCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja291dCAoZGl2ZXJnZWQgZnJvbSB1cHN0cmVhbSknICcKIAkoCiAJCWNkIHRlc3QgJiYgZ2l0IGNoZWNrb3V0IGIxCiAJKSA+YWN0dWFsICYmCkBAIC04MCw3ICs4OSwyMiBAQAogCXRlc3RfaTE4bmdyZXAgImlzIGFoZWFkIG9mIiBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja291dCAodXBzdHJlYW0gaXMgZ29uZSknICcKKwkoCisJCWNkIHRlc3QgJiYKKwkJZ2l0IGNoZWNrb3V0IGI1CisJKSA+YWN0dWFsICYmCisJdGVzdF9pMThuZ3JlcCAiaXMgYmFzZWQgb24gLiosIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS4iIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja291dCAodXAtdG8tZGF0ZSB3aXRoIHVwc3RyZWFtKScgJworCSgKKwkJY2QgdGVzdCAmJiBnaXQgY2hlY2tvdXQgYjYKKwkpID5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5ncmVwICJZb3VyIGJyYW5jaCBpcyB1cC10by1kYXRlIHdpdGggLm9yaWdpbi9tYXN0ZXIiIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgKGRpdmVyZ2VkIGZyb20gdXBzdHJlYW0pJyAnCiAJKAogCQljZCB0ZXN0ICYmCiAJCWdpdCBjaGVja291dCBiMSA+L2Rldi9udWxsICYmCkBAIC05MCw2ICsxMTQsNjUgQEAKIAl0ZXN0X2kxOG5ncmVwICJoYXZlIDEgYW5kIDEgZGlmZmVyZW50IiBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzICh1cHN0cmVhbSBpcyBnb25lKScgJworCSgKKwkJY2QgdGVzdCAmJgorCQlnaXQgY2hlY2tvdXQgYjUgPi9kZXYvbnVsbCAmJgorCQkjIHJlcG9ydHMgbm90aGluZyB0byBjb21taXQKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbW1pdCAtLWRyeS1ydW4KKwkpID5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5ncmVwICJpcyBiYXNlZCBvbiAuKiwgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLiIgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyAodXAtdG8tZGF0ZSB3aXRoIHVwc3RyZWFtKScgJworCSgKKwkJY2QgdGVzdCAmJgorCQlnaXQgY2hlY2tvdXQgYjYgPi9kZXYvbnVsbCAmJgorCQkjIHJlcG9ydHMgbm90aGluZyB0byBjb21taXQKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbW1pdCAtLWRyeS1ydW4KKwkpID5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5ncmVwICJZb3VyIGJyYW5jaCBpcyB1cC10by1kYXRlIHdpdGggLm9yaWdpbi9tYXN0ZXIiIGFjdHVhbAorJworCitjYXQgPmV4cGVjdCA8PFxFT0YKKyMjIGIxLi4ub3JpZ2luL21hc3RlciBbYWhlYWQgMSwgYmVoaW5kIDFdCitFT0YKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIC1zIC1iIChkaXZlcmdlZCBmcm9tIHVwc3RyZWFtKScgJworCSgKKwkJY2QgdGVzdCAmJgorCQlnaXQgY2hlY2tvdXQgYjEgPi9kZXYvbnVsbCAmJgorCQlnaXQgc3RhdHVzIC1zIC1iIHwgaGVhZCAtMQorCSkgPmFjdHVhbCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCisnCisKK2NhdCA+ZXhwZWN0IDw8XEVPRgorIyMgYjUuLi5icm9rZW5iYXNlIFtnb25lXQorRU9GCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyAtcyAtYiAodXBzdHJlYW0gaXMgZ29uZSknICcKKwkoCisJCWNkIHRlc3QgJiYKKwkJZ2l0IGNoZWNrb3V0IGI1ID4vZGV2L251bGwgJiYKKwkJZ2l0IHN0YXR1cyAtcyAtYiB8IGhlYWQgLTEKKwkpID5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAorJworCitjYXQgPmV4cGVjdCA8PFxFT0YKKyMjIGI2Li4ub3JpZ2luL21hc3RlcgorRU9GCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyAtcyAtYiAodXAtdG8tZGF0ZSB3aXRoIHVwc3RyZWFtKScgJworCSgKKwkJY2QgdGVzdCAmJgorCQlnaXQgY2hlY2tvdXQgYjYgPi9kZXYvbnVsbCAmJgorCQlnaXQgc3RhdHVzIC1zIC1iIHwgaGVhZCAtMQorCSkgPmFjdHVhbCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZhaWwgdG8gdHJhY2sgbGlnaHR3ZWlnaHQgdGFncycgJwogCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKIAlnaXQgdGFnIGxpZ2h0ICYmCmRpZmYgLS1naXQgYS90L3Q2MDUwLXJlcGxhY2Uuc2ggYi90L3Q2MDUwLXJlcGxhY2Uuc2gKaW5kZXggZGVjZGMzMy4uNzE5YTExNiAxMDA3NTUKLS0tIGEvdC90NjA1MC1yZXBsYWNlLnNoCisrKyBiL3QvdDYwNTAtcmVwbGFjZS5zaApAQCAtMTIyLDkgKzEyMiw5IEBACiAgICAgIHRlc3QgIiRIQVNIMiIgPSAiJChnaXQgcmVwbGFjZSAtbCkiICYmCiAgICAgIHRlc3QgIiRIQVNIMiIgPSAiJChnaXQgcmVwbGFjZSkiICYmCiAgICAgIGFhPSR7SEFTSDIlPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz99ICYmCi0gICAgIHRlc3QgIiRIQVNIMiIgPSAiJChnaXQgcmVwbGFjZSAtbCAiJGFhKiIpIiAmJgorICAgICB0ZXN0ICIkSEFTSDIiID0gIiQoZ2l0IHJlcGxhY2UgLS1saXN0ICIkYWEqIikiICYmCiAgICAgIHRlc3RfbXVzdF9mYWlsIGdpdCByZXBsYWNlIC1kICRSICYmCi0gICAgIHRlc3RfbXVzdF9mYWlsIGdpdCByZXBsYWNlIC1kICYmCisgICAgIHRlc3RfbXVzdF9mYWlsIGdpdCByZXBsYWNlIC0tZGVsZXRlICYmCiAgICAgIHRlc3RfbXVzdF9mYWlsIGdpdCByZXBsYWNlIC1sIC1kICRIQVNIMiAmJgogICAgICBnaXQgcmVwbGFjZSAtZCAkSEFTSDIgJiYKICAgICAgZ2l0IHNob3cgJEhBU0gyIHwgZ3JlcCAiQSBVIFRob3IiICYmCkBAIC0xNDcsNyArMTQ3LDcgQEAKICAgICAgZ2l0IHNob3cgJEhBU0gyIHwgZ3JlcCAiTyBUaG9yIiAmJgogICAgICB0ZXN0X211c3RfZmFpbCBnaXQgcmVwbGFjZSAkSEFTSDIgJFIgJiYKICAgICAgZ2l0IHJlcGxhY2UgLWYgJEhBU0gyICRSICYmCi0gICAgIHRlc3RfbXVzdF9mYWlsIGdpdCByZXBsYWNlIC1mICYmCisgICAgIHRlc3RfbXVzdF9mYWlsIGdpdCByZXBsYWNlIC0tZm9yY2UgJiYKICAgICAgdGVzdCAiJEhBU0gyIiA9ICIkKGdpdCByZXBsYWNlKSIKICcKIApAQCAtMjYzLDQgKzI2Myw2NSBAQAogCXRlc3RfY21wIGZpbGUucmVwbGFjZWQgZmlsZQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXBsYWNlZCBhbmQgcmVwbGFjZW1lbnQgb2JqZWN0cyBtdXN0IGJlIG9mIHRoZSBzYW1lIHR5cGUnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmVwbGFjZSBteXRhZyAkSEFTSDEgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmVwbGFjZSBIRUFEXnt0cmVlfSBIRUFEfjEgJiYKKwlCTE9CPSQoZ2l0IHJldi1wYXJzZSA6ZmlsZSkgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmVwbGFjZSBIRUFEXiAkQkxPQgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctZiBvcHRpb24gYnlwYXNzZXMgdGhlIHR5cGUgY2hlY2snICcKKwlnaXQgcmVwbGFjZSAtZiBteXRhZyAkSEFTSDEgJiYKKwlnaXQgcmVwbGFjZSAtLWZvcmNlIEhFQURee3RyZWV9IEhFQUR+MSAmJgorCWdpdCByZXBsYWNlIC1mIEhFQUReICRCTE9CCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBjYXQtZmlsZSAtLWJhdGNoIHdvcmtzIG9uIHJlcGxhY2Ugb2JqZWN0cycgJworCWdpdCByZXBsYWNlIHwgZ3JlcCAkUEFSQTMgJiYKKwllY2hvICRQQVJBMyB8IGdpdCBjYXQtZmlsZSAtLWJhdGNoCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Rlc3QgLS1mb3JtYXQgYm9ndXMnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmVwbGFjZSAtLWZvcm1hdCBib2d1cyA+L2Rldi9udWxsIDI+JjEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCAtLWZvcm1hdCBzaG9ydCcgJworCWdpdCByZXBsYWNlIC0tZm9ybWF0PXNob3J0ID5hY3R1YWwgJiYKKwlnaXQgcmVwbGFjZSA+ZXhwZWN0ZWQgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCAtLWZvcm1hdCBtZWRpdW0nICcKKwlIMT0kKGdpdCAtLW5vLXJlcGxhY2Utb2JqZWN0cyByZXYtcGFyc2UgSEVBRH4xKSAmJgorCUhUPSQoZ2l0IC0tbm8tcmVwbGFjZS1vYmplY3RzIHJldi1wYXJzZSBIRUFEXnt0cmVlfSkgJiYKKwlNWVRBRz0kKGdpdCAtLW5vLXJlcGxhY2Utb2JqZWN0cyByZXYtcGFyc2UgbXl0YWcpICYmCisJeworCQllY2hvICIkSDEgLT4gJEJMT0IiICYmCisJCWVjaG8gIiRCTE9CIC0+ICRSRVBMQUNFRCIgJiYKKwkJZWNobyAiJEhUIC0+ICRIMSIgJiYKKwkJZWNobyAiJFBBUkEzIC0+ICRTIiAmJgorCQllY2hvICIkTVlUQUcgLT4gJEhBU0gxIgorCX0gfCBzb3J0ID5leHBlY3RlZCAmJgorCWdpdCByZXBsYWNlIC1sIC0tZm9ybWF0IG1lZGl1bSB8IHNvcnQgPiBhY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCAtLWZvcm1hdCBsb25nJyAnCisJeworCQllY2hvICIkSDEgKGNvbW1pdCkgLT4gJEJMT0IgKGJsb2IpIiAmJgorCQllY2hvICIkQkxPQiAoYmxvYikgLT4gJFJFUExBQ0VEIChibG9iKSIgJiYKKwkJZWNobyAiJEhUICh0cmVlKSAtPiAkSDEgKGNvbW1pdCkiICYmCisJCWVjaG8gIiRQQVJBMyAoY29tbWl0KSAtPiAkUyAoY29tbWl0KSIgJiYKKwkJZWNobyAiJE1ZVEFHICh0YWcpIC0+ICRIQVNIMSAoY29tbWl0KSIKKwl9IHwgc29ydCA+ZXhwZWN0ZWQgJiYKKwlnaXQgcmVwbGFjZSAtLWZvcm1hdD1sb25nIHwgc29ydCA+IGFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXBsYWNlIHJlZiBjbGVhbnVwJyAnCisJdGVzdCAtbiAiJChnaXQgcmVwbGFjZSkiICYmCisJZ2l0IHJlcGxhY2UgLWQgJChnaXQgcmVwbGFjZSkgJiYKKwl0ZXN0IC16ICIkKGdpdCByZXBsYWNlKSIKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q2MTAxLXJldi1wYXJzZS1wYXJlbnRzLnNoIGIvdC90NjEwMS1yZXYtcGFyc2UtcGFyZW50cy5zaAppbmRleCBlNjczYzI1Li4xMGIxNDUyIDEwMDc1NQotLS0gYS90L3Q2MTAxLXJldi1wYXJzZS1wYXJlbnRzLnNoCisrKyBiL3QvdDYxMDEtcmV2LXBhcnNlLXBhcmVudHMuc2gKQEAgLTYsMzkgKzYsMTAwIEBACiB0ZXN0X2Rlc2NyaXB0aW9uPSdUZXN0IGdpdCByZXYtcGFyc2Ugd2l0aCBkaWZmZXJlbnQgcGFyZW50IG9wdGlvbnMnCiAKIC4gLi90ZXN0LWxpYi5zaAotLiAiJFRFU1RfRElSRUNUT1JZIi9saWItdDYwMDAuc2ggIyB0Nnh4eCBzcGVjaWZpYyBmdW5jdGlvbnMKIAotZGF0ZSA+cGF0aDAKLWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgcGF0aDAKLXNhdmVfdGFnIHRyZWUgZ2l0IHdyaXRlLXRyZWUKLWhpZGVfZXJyb3Igc2F2ZV90YWcgc3RhcnQgdW5pcXVlX2NvbW1pdCAic3RhcnQiIHRyZWUKLXNhdmVfdGFnIHNlY29uZCB1bmlxdWVfY29tbWl0ICJzZWNvbmQiIHRyZWUgLXAgc3RhcnQKLWhpZGVfZXJyb3Igc2F2ZV90YWcgc3RhcnQyIHVuaXF1ZV9jb21taXQgInN0YXJ0MiIgdHJlZQotc2F2ZV90YWcgdHdvX3BhcmVudHMgdW5pcXVlX2NvbW1pdCAibmV4dCIgdHJlZSAtcCBzZWNvbmQgLXAgc3RhcnQyCi1zYXZlX3RhZyBmaW5hbCB1bmlxdWVfY29tbWl0ICJmaW5hbCIgdHJlZSAtcCB0d29fcGFyZW50cwordGVzdF9jbXBfcmV2X291dHB1dCAoKSB7CisJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAiJDEiID5leHBlY3QgJiYKKwlldmFsICIkMiIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhcnQgaXMgdmFsaWQnICdnaXQgcmV2LXBhcnNlIHN0YXJ0IHwgZ3JlcCAiXlswLTlhLWZdXHs0MFx9JCInCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFydF4wJyAidGVzdCAkKGNhdCAuZ2l0L3JlZnMvdGFncy9zdGFydCkgPSAkKGdpdCByZXYtcGFyc2Ugc3RhcnReMCkiCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFydF4xIG5vdCB2YWxpZCcgImlmIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgc3RhcnReMTsgdGhlbiBmYWxzZTsgZWxzZSA6OyBmaSIKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NlY29uZF4xID0gc2Vjb25kXicgInRlc3QgJChnaXQgcmV2LXBhcnNlIHNlY29uZF4xKSA9ICQoZ2l0IHJldi1wYXJzZSBzZWNvbmReKSIKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZpbmFsXjFeMV4xJyAidGVzdCAkKGdpdCByZXYtcGFyc2Ugc3RhcnQpID0gJChnaXQgcmV2LXBhcnNlIGZpbmFsXjFeMV4xKSIKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZpbmFsXjFeMV4xID0gZmluYWxeXl4nICJ0ZXN0ICQoZ2l0IHJldi1wYXJzZSBmaW5hbF4xXjFeMSkgPSAkKGdpdCByZXYtcGFyc2UgZmluYWxeXl4pIgotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmluYWxeMV4yJyAidGVzdCAkKGdpdCByZXYtcGFyc2Ugc3RhcnQyKSA9ICQoZ2l0IHJldi1wYXJzZSBmaW5hbF4xXjIpIgotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmluYWxeMV4yICE9IGZpbmFsXjFeMScgInRlc3QgJChnaXQgcmV2LXBhcnNlIGZpbmFsXjFeMikgIT0gJChnaXQgcmV2LXBhcnNlIGZpbmFsXjFeMSkiCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdmaW5hbF4xXjMgbm90IHZhbGlkJyAiaWYgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBmaW5hbF4xXjM7IHRoZW4gZmFsc2U7IGVsc2UgOjsgZmkiCi10ZXN0X2V4cGVjdF9zdWNjZXNzICctLXZlcmlmeSBzdGFydDJeMScgJ3Rlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgc3RhcnQyXjEnCi10ZXN0X2V4cGVjdF9zdWNjZXNzICctLXZlcmlmeSBzdGFydDJeMCcgJ2dpdCByZXYtcGFyc2UgLS12ZXJpZnkgc3RhcnQyXjAnCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdmaW5hbF4xXkAgPSBmaW5hbF4xXjEgZmluYWxeMV4yJyAidGVzdCBcIiQoZ2l0IHJldi1wYXJzZSBmaW5hbF4xXkApXCIgPSBcIiQoZ2l0IHJldi1wYXJzZSBmaW5hbF4xXjEgZmluYWxeMV4yKVwiIgotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmluYWxeMV4hID0gZmluYWxeMSBeZmluYWxeMV4xIF5maW5hbF4xXjInICJ0ZXN0IFwiJChnaXQgcmV2LXBhcnNlIGZpbmFsXjFeXCEpXCIgPSBcIiQoZ2l0IHJldi1wYXJzZSBmaW5hbF4xIF5maW5hbF4xXjEgXmZpbmFsXjFeMilcIiIKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJdGVzdF9jb21taXQgc3RhcnQgJiYKKwl0ZXN0X2NvbW1pdCBzZWNvbmQgJiYKKwlnaXQgY2hlY2tvdXQgLS1vcnBoYW4gdG1wICYmCisJdGVzdF9jb21taXQgc3RhcnQyICYmCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCWdpdCBtZXJnZSAtbSBuZXh0IHN0YXJ0MiAmJgorCXRlc3RfY29tbWl0IGZpbmFsICYmCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlcGFjayBmb3IgbmV4dCB0ZXN0JyAnZ2l0IHJlcGFjayAtYSAtZCcKKwl0ZXN0X3NlcSA0MCB8CisJd2hpbGUgcmVhZCBpCisJZG8KKwkJZ2l0IGNoZWNrb3V0IC0tb3JwaGFuICJiJGkiICYmCisJCXRlc3RfdGljayAmJgorCQlnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gIiRpIiAmJgorCQljb21taXQ9JChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQpICYmCisJCXByaW50ZiAiJGNvbW1pdCAiID4+LmdpdC9pbmZvL2dyYWZ0cworCWRvbmUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhcnQgaXMgdmFsaWQnICcKKwlnaXQgcmV2LXBhcnNlIHN0YXJ0IHwgZ3JlcCAiXlswLTlhLWZdXHs0MFx9JCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhcnReMCcgJworCXRlc3RfY21wX3Jldl9vdXRwdXQgdGFncy9zdGFydCAiZ2l0IHJldi1wYXJzZSBzdGFydF4wIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFydF4xIG5vdCB2YWxpZCcgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgc3RhcnReMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZWNvbmReMSA9IHNlY29uZF4nICcKKwl0ZXN0X2NtcF9yZXZfb3V0cHV0IHNlY29uZF4gImdpdCByZXYtcGFyc2Ugc2Vjb25kXjEiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZpbmFsXjFeMV4xJyAnCisJdGVzdF9jbXBfcmV2X291dHB1dCBzdGFydCAiZ2l0IHJldi1wYXJzZSBmaW5hbF4xXjFeMSIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmluYWxeMV4xXjEgPSBmaW5hbF5eXicgJworCXRlc3RfY21wX3Jldl9vdXRwdXQgZmluYWxeXl4gImdpdCByZXYtcGFyc2UgZmluYWxeMV4xXjEiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZpbmFsXjFeMicgJworCXRlc3RfY21wX3Jldl9vdXRwdXQgc3RhcnQyICJnaXQgcmV2LXBhcnNlIGZpbmFsXjFeMiIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmluYWxeMV4yICE9IGZpbmFsXjFeMScgJworCXRlc3QgJChnaXQgcmV2LXBhcnNlIGZpbmFsXjFeMikgIT0gJChnaXQgcmV2LXBhcnNlIGZpbmFsXjFeMSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmluYWxeMV4zIG5vdCB2YWxpZCcgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgZmluYWxeMV4zCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tdmVyaWZ5IHN0YXJ0Ml4xJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBzdGFydDJeMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXZlcmlmeSBzdGFydDJeMCcgJworCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgc3RhcnQyXjAKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmluYWxeMV5AID0gZmluYWxeMV4xIGZpbmFsXjFeMicgJworCWdpdCByZXYtcGFyc2UgZmluYWxeMV4xIGZpbmFsXjFeMiA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSBmaW5hbF4xXkAgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmluYWxeMV4hID0gZmluYWxeMSBeZmluYWxeMV4xIF5maW5hbF4xXjInICcKKwlnaXQgcmV2LXBhcnNlIGZpbmFsXjEgXmZpbmFsXjFeMSBeZmluYWxeMV4yID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlIGZpbmFsXjFeISA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsYXJnZSBncmFmdCBvY3RvcHVzJyAnCisJdGVzdF9jbXBfcmV2X291dHB1dCBiMzEgImdpdCByZXYtcGFyc2UgLS12ZXJpZnkgYjFeMzAiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlcGFjayBmb3IgbmV4dCB0ZXN0JyAnCisJZ2l0IHJlcGFjayAtYSAtZAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaG9ydCBTSEEtMSB3b3JrcycgJwotCXN0YXJ0PWBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IHN0YXJ0YCAmJgotCWVjaG8gJHN0YXJ0ICYmCi0JYWJicnY9YGVjaG8gJHN0YXJ0IHwgc2VkIHMvLlwkLy9gICYmCi0JZWNobyAkYWJicnYgJiYKLQlhYmJydj1gZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAkYWJicnZgICYmCi0JZWNobyAkYWJicnYgJiYKLQl0ZXN0ICRzdGFydCA9ICRhYmJydicKKwlzdGFydD0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgc3RhcnQpICYmCisJdGVzdF9jbXBfcmV2X291dHB1dCBzdGFydCAiZ2l0IHJldi1wYXJzZSAke3N0YXJ0JT99IgorJwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDYxMzAtcGF0aHNwZWMtbm9nbG9iLnNoIGIvdC90NjEzMC1wYXRoc3BlYy1ub2dsb2Iuc2gKaW5kZXggMzllZjYxOS4uNjU4MzUzMiAxMDA3NTUKLS0tIGEvdC90NjEzMC1wYXRoc3BlYy1ub2dsb2Iuc2gKKysrIGIvdC90NjEzMC1wYXRoc3BlYy1ub2dsb2Iuc2gKQEAgLTMyLDYgKzMyLDE2IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFyIHBhdGhzcGVjIGdsb2JzJyAnCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCWJyYWNrZXQKKwlzdGFyCisJdmFuaWxsYQorCUVPRgorCWdpdCBsb2cgLS1mb3JtYXQ9JXMgLS0gIjooZ2xvYilmKiIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYnJhY2tldCBwYXRoc3BlYyBnbG9icyBhbmQgbWF0Y2hlcyBsaXRlcmFsIGJyYWNrZXRzJyAnCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgogCWJyYWNrZXQKQEAgLTQxLDI4ICs1MSwxMTIgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JyYWNrZXQgcGF0aHNwZWMgZ2xvYnMgYW5kIG1hdGNoZXMgbGl0ZXJhbCBicmFja2V0cycgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlicmFja2V0CisJdmFuaWxsYQorCUVPRgorCWdpdCBsb2cgLS1mb3JtYXQ9JXMgLS0gIjooZ2xvYilmW29dW29dIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICduby1nbG9iIG9wdGlvbiBtYXRjaGVzIGxpdGVyYWxseSAodmFuaWxsYSknICcKIAllY2hvIHZhbmlsbGEgPmV4cGVjdCAmJgogCWdpdCAtLWxpdGVyYWwtcGF0aHNwZWNzIGxvZyAtLWZvcm1hdD0lcyAtLSBmb28gPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm8tZ2xvYiBvcHRpb24gbWF0Y2hlcyBsaXRlcmFsbHkgKHZhbmlsbGEpJyAnCisJZWNobyB2YW5pbGxhID5leHBlY3QgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSVzIC0tICI6KGxpdGVyYWwpZm9vIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICduby1nbG9iIG9wdGlvbiBtYXRjaGVzIGxpdGVyYWxseSAoc3RhciknICcKIAllY2hvIHN0YXIgPmV4cGVjdCAmJgogCWdpdCAtLWxpdGVyYWwtcGF0aHNwZWNzIGxvZyAtLWZvcm1hdD0lcyAtLSAiZioiID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vLWdsb2Igb3B0aW9uIG1hdGNoZXMgbGl0ZXJhbGx5IChzdGFyKScgJworCWVjaG8gc3RhciA+ZXhwZWN0ICYmCisJZ2l0IGxvZyAtLWZvcm1hdD0lcyAtLSAiOihsaXRlcmFsKWYqIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICduby1nbG9iIG9wdGlvbiBtYXRjaGVzIGxpdGVyYWxseSAoYnJhY2tldCknICcKIAllY2hvIGJyYWNrZXQgPmV4cGVjdCAmJgogCWdpdCAtLWxpdGVyYWwtcGF0aHNwZWNzIGxvZyAtLWZvcm1hdD0lcyAtLSAiZltvXVtvXSIgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm8tZ2xvYiBvcHRpb24gbWF0Y2hlcyBsaXRlcmFsbHkgKGJyYWNrZXQpJyAnCisJZWNobyBicmFja2V0ID5leHBlY3QgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSVzIC0tICI6KGxpdGVyYWwpZltvXVtvXSIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm8tZ2xvYiBvcHRpb24gZGlzYWJsZXMgOihsaXRlcmFsKScgJworCTogPmV4cGVjdCAmJgorCWdpdCAtLWxpdGVyYWwtcGF0aHNwZWNzIGxvZyAtLWZvcm1hdD0lcyAtLSAiOihsaXRlcmFsKWZvbyIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbm8tZ2xvYiBlbnZpcm9ubWVudCB2YXJpYWJsZSB3b3JrcycgJwogCWVjaG8gc3RhciA+ZXhwZWN0ICYmCiAJR0lUX0xJVEVSQUxfUEFUSFNQRUNTPTEgZ2l0IGxvZyAtLWZvcm1hdD0lcyAtLSAiZioiID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIHRha2VzIGdsb2JhbCBwYXRoc3BlYyBmbGFncycgJworCWdpdCAtLWxpdGVyYWwtcGF0aHNwZWNzIGJsYW1lIC0tIGZvbyAmJgorCWdpdCAtLWljYXNlLXBhdGhzcGVjcyAgIGJsYW1lIC0tIGZvbyAmJgorCWdpdCAtLWdsb2ItcGF0aHNwZWNzICAgIGJsYW1lIC0tIGZvbyAmJgorCWdpdCAtLW5vZ2xvYi1wYXRoc3BlY3MgIGJsYW1lIC0tIGZvbworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCB4eHgvYmFyJyAnCisJbWtkaXIgeHh4ICYmCisJdGVzdF9jb21taXQgeHh4IHh4eC9iYXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnKiovIHdvcmtzIHdpdGggOihnbG9iKScgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwl4eHgKKwl1bnJlbGF0ZWQKKwlFT0YKKwlnaXQgbG9nIC0tZm9ybWF0PSVzIC0tICI6KGdsb2IpKiovYmFyIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcqKi8gZG9lcyBub3Qgd29yayB3aXRoIC0tbm9nbG9iLXBhdGhzcGVjcycgJworCTogPmV4cGVjdCAmJgorCWdpdCAtLW5vZ2xvYi1wYXRoc3BlY3MgbG9nIC0tZm9ybWF0PSVzIC0tICIqKi9iYXIiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyoqLyB3b3JrcyB3aXRoIDooZ2xvYikgYW5kIC0tbm9nbG9iLXBhdGhzcGVjcycgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwl4eHgKKwl1bnJlbGF0ZWQKKwlFT0YKKwlnaXQgLS1ub2dsb2ItcGF0aHNwZWNzIGxvZyAtLWZvcm1hdD0lcyAtLSAiOihnbG9iKSoqL2JhciIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnKiovIHdvcmtzIHdpdGggLS1nbG9iLXBhdGhzcGVjcycgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwl4eHgKKwl1bnJlbGF0ZWQKKwlFT0YKKwlnaXQgLS1nbG9iLXBhdGhzcGVjcyBsb2cgLS1mb3JtYXQ9JXMgLS0gIioqL2JhciIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnKiovIGRvZXMgbm90IHdvcmsgd2l0aCA6KGxpdGVyYWwpIGFuZCAtLWdsb2ItcGF0aHNwZWNzJyAnCisJOiA+ZXhwZWN0ICYmCisJZ2l0IC0tZ2xvYi1wYXRoc3BlY3MgbG9nIC0tZm9ybWF0PSVzIC0tICI6KGxpdGVyYWwpKiovYmFyIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDYxMzEtcGF0aHNwZWMtaWNhc2Uuc2ggYi90L3Q2MTMxLXBhdGhzcGVjLWljYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE3YzdmZjUKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q2MTMxLXBhdGhzcGVjLWljYXNlLnNoCkBAIC0wLDAgKzEsMTA5IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ndGVzdCBjYXNlIGluc2Vuc2l0aXZlIHBhdGhzcGVjIGxpbWl0aW5nJworLiAuL3Rlc3QtbGliLnNoCisKK2lmIHRlc3RfaGF2ZV9wcmVyZXEgQ0FTRV9JTlNFTlNJVElWRV9GUwordGhlbgorCXNraXBfYWxsPSdza2lwcGluZyBjYXNlIHNlbnNpdGl2ZSB0ZXN0cyAtIGNhc2UgaW5zZW5zaXRpdmUgZmlsZSBzeXN0ZW0nCisJdGVzdF9kb25lCitmaQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgY29tbWl0cyB3aXRoIGdsb2IgY2hhcmFjdGVycycgJworCXRlc3RfY29tbWl0IGJhciBiYXIgJiYKKwl0ZXN0X2NvbW1pdCBiQXIgYkFyICYmCisJdGVzdF9jb21taXQgQkFSIEJBUiAmJgorCW1rZGlyIGZvbyAmJgorCXRlc3RfY29tbWl0IGZvby9iYXIgZm9vL2JhciAmJgorCXRlc3RfY29tbWl0IGZvby9iQXIgZm9vL2JBciAmJgorCXRlc3RfY29tbWl0IGZvby9CQVIgZm9vL0JBUiAmJgorCW1rZGlyIGZPbyAmJgorCXRlc3RfY29tbWl0IGZPby9iYXIgZk9vL2JhciAmJgorCXRlc3RfY29tbWl0IGZPby9iQXIgZk9vL2JBciAmJgorCXRlc3RfY29tbWl0IGZPby9CQVIgZk9vL0JBUiAmJgorCW1rZGlyIEZPTyAmJgorCXRlc3RfY29tbWl0IEZPTy9iYXIgRk9PL2JhciAmJgorCXRlc3RfY29tbWl0IEZPTy9iQXIgRk9PL2JBciAmJgorCXRlc3RfY29tbWl0IEZPTy9CQVIgRk9PL0JBUgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0cmVlX2VudHJ5X2ludGVyZXN0aW5nIG1hdGNoZXMgYmFyJyAnCisJZWNobyBiYXIgPmV4cGVjdCAmJgorCWdpdCBsb2cgLS1mb3JtYXQ9JXMgLS0gImJhciIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndHJlZV9lbnRyeV9pbnRlcmVzdGluZyBtYXRjaGVzIDooaWNhc2UpYmFyJyAnCisJY2F0IDw8LUVPRiA+ZXhwZWN0ICYmCisJQkFSCisJYkFyCisJYmFyCisJRU9GCisJZ2l0IGxvZyAtLWZvcm1hdD0lcyAtLSAiOihpY2FzZSliYXIiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RyZWVfZW50cnlfaW50ZXJlc3RpbmcgbWF0Y2hlcyA6KGljYXNlKWJhciB3aXRoIHByZWZpeCcgJworCWNhdCA8PC1FT0YgPmV4cGVjdCAmJgorCWZPby9CQVIKKwlmT28vYkFyCisJZk9vL2JhcgorCUVPRgorCSggY2QgZk9vICYmIGdpdCBsb2cgLS1mb3JtYXQ9JXMgLS0gIjooaWNhc2UpYmFyIiApID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RyZWVfZW50cnlfaW50ZXJlc3RpbmcgbWF0Y2hlcyA6KGljYXNlKWJhciB3aXRoIGVtcHR5IHByZWZpeCcgJworCWNhdCA8PC1FT0YgPmV4cGVjdCAmJgorCUZPTy9CQVIKKwlGT08vYkFyCisJRk9PL2JhcgorCWZPby9CQVIKKwlmT28vYkFyCisJZk9vL2JhcgorCWZvby9CQVIKKwlmb28vYkFyCisJZm9vL2JhcgorCUVPRgorCSggY2QgZk9vICYmIGdpdCBsb2cgLS1mb3JtYXQ9JXMgLS0gIjooaWNhc2UpLi4vZm9vL2JhciIgKSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtYXRjaF9wYXRoc3BlY19kZXB0aCBtYXRjaGVzIDooaWNhc2UpYmFyJyAnCisJY2F0IDw8LUVPRiA+ZXhwZWN0ICYmCisJQkFSCisJYkFyCisJYmFyCisJRU9GCisJZ2l0IGxzLWZpbGVzICI6KGljYXNlKWJhciIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWF0Y2hfcGF0aHNwZWNfZGVwdGggbWF0Y2hlcyA6KGljYXNlKWJhciB3aXRoIHByZWZpeCcgJworCWNhdCA8PC1FT0YgPmV4cGVjdCAmJgorCWZPby9CQVIKKwlmT28vYkFyCisJZk9vL2JhcgorCUVPRgorCSggY2QgZk9vICYmIGdpdCBscy1maWxlcyAtLWZ1bGwtbmFtZSAiOihpY2FzZSliYXIiICkgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWF0Y2hfcGF0aHNwZWNfZGVwdGggbWF0Y2hlcyA6KGljYXNlKWJhciB3aXRoIGVtcHR5IHByZWZpeCcgJworCWNhdCA8PC1FT0YgPmV4cGVjdCAmJgorCWJhcgorCWZPby9CQVIKKwlmT28vYkFyCisJZk9vL2JhcgorCUVPRgorCSggY2QgZk9vICYmIGdpdCBscy1maWxlcyAtLWZ1bGwtbmFtZSAiOihpY2FzZSliYXIiIC4uL2JhciApID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJnaXQgZGlmZiIgY2FuIHRha2UgbWFnaWMgOihpY2FzZSkgcGF0aHNwZWMnICcKKwllY2hvIEZPTy9CQVIgPmV4cGVjdCAmJgorCWdpdCBkaWZmIC0tbmFtZS1vbmx5IEhFQUReIEhFQUQgLS0gIjooaWNhc2UpZm9vL2JhciIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q2MTMyLXBhdGhzcGVjLWV4Y2x1ZGUuc2ggYi90L3Q2MTMyLXBhdGhzcGVjLWV4Y2x1ZGUuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjIwNDliZQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDYxMzItcGF0aHNwZWMtZXhjbHVkZS5zaApAQCAtMCwwICsxLDE4NCBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J3Rlc3QgY2FzZSBleGNsdWRlIHBhdGhzcGVjJworCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKKwlmb3IgcCBpbiBmaWxlIHN1Yi9maWxlIHN1Yi9zdWIvZmlsZSBzdWIvZmlsZTIgc3ViL3N1Yi9zdWIvZmlsZSBzdWIyL2ZpbGU7IGRvCisJCWlmIGVjaG8gJHAgfCBncmVwIC87IHRoZW4KKwkJCW1rZGlyIC1wIGBkaXJuYW1lICRwYAorCQlmaSAmJgorCQk6ID4kcCAmJgorCQlnaXQgYWRkICRwICYmCisJCWdpdCBjb21taXQgLW0gJHAKKwlkb25lICYmCisJZ2l0IGxvZyAtLW9uZWxpbmUgLS1mb3JtYXQ9JXMgPmFjdHVhbCAmJgorCWNhdCA8PEVPRiA+ZXhwZWN0ICYmCitzdWIyL2ZpbGUKK3N1Yi9zdWIvc3ViL2ZpbGUKK3N1Yi9maWxlMgorc3ViL3N1Yi9maWxlCitzdWIvZmlsZQorZmlsZQorRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdleGNsdWRlIG9ubHkgc2hvdWxkIGVycm9yIG91dCcgJworCXRlc3RfbXVzdF9mYWlsIGdpdCBsb2cgLS1vbmVsaW5lIC0tZm9ybWF0PSVzIC0tICI6KGV4Y2x1ZGUpc3ViIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0X2VfaSgpIGV4Y2x1ZGUgc3ViJyAnCisJZ2l0IGxvZyAtLW9uZWxpbmUgLS1mb3JtYXQ9JXMgLS0gLiAiOihleGNsdWRlKXN1YiIgPmFjdHVhbAorCWNhdCA8PEVPRiA+ZXhwZWN0ICYmCitzdWIyL2ZpbGUKK2ZpbGUKK0VPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndF9lX2koKSBleGNsdWRlIHN1Yi9zdWIvZmlsZScgJworCWdpdCBsb2cgLS1vbmVsaW5lIC0tZm9ybWF0PSVzIC0tIC4gIjooZXhjbHVkZSlzdWIvc3ViL2ZpbGUiID5hY3R1YWwKKwljYXQgPDxFT0YgPmV4cGVjdCAmJgorc3ViMi9maWxlCitzdWIvc3ViL3N1Yi9maWxlCitzdWIvZmlsZTIKK3N1Yi9maWxlCitmaWxlCitFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RfZV9pKCkgZXhjbHVkZSBzdWIgdXNpbmcgbW5lbW9uaWMnICcKKwlnaXQgbG9nIC0tb25lbGluZSAtLWZvcm1hdD0lcyAtLSAuICI6IXN1YiIgPmFjdHVhbAorCWNhdCA8PEVPRiA+ZXhwZWN0ICYmCitzdWIyL2ZpbGUKK2ZpbGUKK0VPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndF9lX2koKSBleGNsdWRlIDooaWNhc2UpU1VCJyAnCisJZ2l0IGxvZyAtLW9uZWxpbmUgLS1mb3JtYXQ9JXMgLS0gLiAiOihleGNsdWRlLGljYXNlKVNVQiIgPmFjdHVhbAorCWNhdCA8PEVPRiA+ZXhwZWN0ICYmCitzdWIyL2ZpbGUKK2ZpbGUKK0VPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndF9lX2koKSBleGNsdWRlIHN1YjIgZnJvbSBzdWInICcKKwkoCisJY2Qgc3ViICYmCisJZ2l0IGxvZyAtLW9uZWxpbmUgLS1mb3JtYXQ9JXMgLS0gOi8gIjovIXN1YjIiID5hY3R1YWwKKwljYXQgPDxFT0YgPmV4cGVjdCAmJgorc3ViL3N1Yi9zdWIvZmlsZQorc3ViL2ZpbGUyCitzdWIvc3ViL2ZpbGUKK3N1Yi9maWxlCitmaWxlCitFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0X2VfaSgpIGV4Y2x1ZGUgc3ViLypmaWxlJyAnCisJZ2l0IGxvZyAtLW9uZWxpbmUgLS1mb3JtYXQ9JXMgLS0gLiAiOihleGNsdWRlKXN1Yi8qZmlsZSIgPmFjdHVhbAorCWNhdCA8PEVPRiA+ZXhwZWN0ICYmCitzdWIyL2ZpbGUKK3N1Yi9maWxlMgorZmlsZQorRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0X2VfaSgpIGV4Y2x1ZGUgOihnbG9iKXN1Yi8qL2ZpbGUnICcKKwlnaXQgbG9nIC0tb25lbGluZSAtLWZvcm1hdD0lcyAtLSAuICI6KGV4Y2x1ZGUsZ2xvYilzdWIvKi9maWxlIiA+YWN0dWFsCisJY2F0IDw8RU9GID5leHBlY3QgJiYKK3N1YjIvZmlsZQorc3ViL3N1Yi9zdWIvZmlsZQorc3ViL2ZpbGUyCitzdWIvZmlsZQorZmlsZQorRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtX3BfZCgpIGV4Y2x1ZGUgc3ViJyAnCisJZ2l0IGxzLWZpbGVzIC0tIC4gIjooZXhjbHVkZSlzdWIiID5hY3R1YWwKKwljYXQgPDxFT0YgPmV4cGVjdCAmJgorZmlsZQorc3ViMi9maWxlCitFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21fcF9kKCkgZXhjbHVkZSBzdWIvc3ViL2ZpbGUnICcKKwlnaXQgbHMtZmlsZXMgLS0gLiAiOihleGNsdWRlKXN1Yi9zdWIvZmlsZSIgPmFjdHVhbAorCWNhdCA8PEVPRiA+ZXhwZWN0ICYmCitmaWxlCitzdWIvZmlsZQorc3ViL2ZpbGUyCitzdWIvc3ViL3N1Yi9maWxlCitzdWIyL2ZpbGUKK0VPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbV9wX2QoKSBleGNsdWRlIHN1YiB1c2luZyBtbmVtb25pYycgJworCWdpdCBscy1maWxlcyAtLSAuICI6IXN1YiIgPmFjdHVhbAorCWNhdCA8PEVPRiA+ZXhwZWN0ICYmCitmaWxlCitzdWIyL2ZpbGUKK0VPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbV9wX2QoKSBleGNsdWRlIDooaWNhc2UpU1VCJyAnCisJZ2l0IGxzLWZpbGVzIC0tIC4gIjooZXhjbHVkZSxpY2FzZSlTVUIiID5hY3R1YWwKKwljYXQgPDxFT0YgPmV4cGVjdCAmJgorZmlsZQorc3ViMi9maWxlCitFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21fcF9kKCkgZXhjbHVkZSBzdWIyIGZyb20gc3ViJyAnCisJKAorCWNkIHN1YiAmJgorCWdpdCBscy1maWxlcyAtLSA6LyAiOi8hc3ViMiIgPmFjdHVhbAorCWNhdCA8PEVPRiA+ZXhwZWN0ICYmCisuLi9maWxlCitmaWxlCitmaWxlMgorc3ViL2ZpbGUKK3N1Yi9zdWIvZmlsZQorRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbV9wX2QoKSBleGNsdWRlIHN1Yi8qZmlsZScgJworCWdpdCBscy1maWxlcyAtLSAuICI6KGV4Y2x1ZGUpc3ViLypmaWxlIiA+YWN0dWFsCisJY2F0IDw8RU9GID5leHBlY3QgJiYKK2ZpbGUKK3N1Yi9maWxlMgorc3ViMi9maWxlCitFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21fcF9kKCkgZXhjbHVkZSA6KGdsb2Ipc3ViLyovZmlsZScgJworCWdpdCBscy1maWxlcyAtLSAuICI6KGV4Y2x1ZGUsZ2xvYilzdWIvKi9maWxlIiA+YWN0dWFsCisJY2F0IDw8RU9GID5leHBlY3QgJiYKK2ZpbGUKK3N1Yi9maWxlCitzdWIvZmlsZTIKK3N1Yi9zdWIvc3ViL2ZpbGUKK3N1YjIvZmlsZQorRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDYzMDAtZm9yLWVhY2gtcmVmLnNoIGIvdC90NjMwMC1mb3ItZWFjaC1yZWYuc2gKaW5kZXggNzUyZjVjYi4uYmRhMzU0YyAxMDA3NTUKLS0tIGEvdC90NjMwMC1mb3ItZWFjaC1yZWYuc2gKKysrIGIvdC90NjMwMC1mb3ItZWFjaC1yZWYuc2gKQEAgLTE4LDE2ICsxOCwxMyBAQAogICAgIGV4cG9ydCBHSVRfQ09NTUlUVEVSX0RBVEUgR0lUX0FVVEhPUl9EQVRFCiB9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0NyZWF0ZSBzYW1wbGUgY29tbWl0IHdpdGgga25vd24gdGltZXN0YW1wJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIHNldHVwICcKIAlzZXRkYXRlX2FuZF9pbmNyZW1lbnQgJiYKIAllY2hvICJVc2luZyAkZGF0ZXN0YW1wIiA+IG9uZSAmJgogCWdpdCBhZGQgb25lICYmCiAJZ2l0IGNvbW1pdCAtbSAiSW5pdGlhbCIgJiYKIAlzZXRkYXRlX2FuZF9pbmNyZW1lbnQgJiYKLQlnaXQgdGFnIC1hIC1tICJUYWdnaW5nIGF0ICRkYXRlc3RhbXAiIHRlc3R0YWcKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnQ3JlYXRlIHVwc3RyZWFtIGNvbmZpZycgJworCWdpdCB0YWcgLWEgLW0gIlRhZ2dpbmcgYXQgJGRhdGVzdGFtcCIgdGVzdHRhZyAmJgogCWdpdCB1cGRhdGUtcmVmIHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyIG1hc3RlciAmJgogCWdpdCByZW1vdGUgYWRkIG9yaWdpbiBub3doZXJlICYmCiAJZ2l0IGNvbmZpZyBicmFuY2gubWFzdGVyLnJlbW90ZSBvcmlnaW4gJiYKQEAgLTUyLDEyICs0OSwxNCBAQAogdGVzdF9hdG9tIGhlYWQgdXBzdHJlYW0gcmVmcy9yZW1vdGVzL29yaWdpbi9tYXN0ZXIKIHRlc3RfYXRvbSBoZWFkIG9iamVjdHR5cGUgY29tbWl0CiB0ZXN0X2F0b20gaGVhZCBvYmplY3RzaXplIDE3MQotdGVzdF9hdG9tIGhlYWQgb2JqZWN0bmFtZSA2N2EzNmYxMDcyMjg0NmU4OTFmYmFkYTFiYTQ4ZWQwMzVkZTc1NTgxCi10ZXN0X2F0b20gaGVhZCB0cmVlIDBlNTFjMDBmY2I5M2RmZmM3NTU1NDZmMjc1OTNkNTExZTFiZGI0NmYKK3Rlc3RfYXRvbSBoZWFkIG9iamVjdG5hbWUgJChnaXQgcmV2LXBhcnNlIHJlZnMvaGVhZHMvbWFzdGVyKQordGVzdF9hdG9tIGhlYWQgdHJlZSAkKGdpdCByZXYtcGFyc2UgcmVmcy9oZWFkcy9tYXN0ZXJee3RyZWV9KQogdGVzdF9hdG9tIGhlYWQgcGFyZW50ICcnCiB0ZXN0X2F0b20gaGVhZCBudW1wYXJlbnQgMAogdGVzdF9hdG9tIGhlYWQgb2JqZWN0ICcnCiB0ZXN0X2F0b20gaGVhZCB0eXBlICcnCit0ZXN0X2F0b20gaGVhZCAnKm9iamVjdG5hbWUnICcnCit0ZXN0X2F0b20gaGVhZCAnKm9iamVjdHR5cGUnICcnCiB0ZXN0X2F0b20gaGVhZCBhdXRob3IgJ0EgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+IDExNTE5Mzk5MjQgKzAyMDAnCiB0ZXN0X2F0b20gaGVhZCBhdXRob3JuYW1lICdBIFUgVGhvcicKIHRlc3RfYXRvbSBoZWFkIGF1dGhvcmVtYWlsICc8YXV0aG9yQGV4YW1wbGUuY29tPicKQEAgLTgwLDE3ICs3OSwyMCBAQAogdGVzdF9hdG9tIGhlYWQgY29udGVudHM6c2lnbmF0dXJlICcnCiB0ZXN0X2F0b20gaGVhZCBjb250ZW50cyAnSW5pdGlhbAogJwordGVzdF9hdG9tIGhlYWQgSEVBRCAnKicKIAogdGVzdF9hdG9tIHRhZyByZWZuYW1lIHJlZnMvdGFncy90ZXN0dGFnCiB0ZXN0X2F0b20gdGFnIHVwc3RyZWFtICcnCiB0ZXN0X2F0b20gdGFnIG9iamVjdHR5cGUgdGFnCiB0ZXN0X2F0b20gdGFnIG9iamVjdHNpemUgMTU0Ci10ZXN0X2F0b20gdGFnIG9iamVjdG5hbWUgOThiNDZiMWQzNmU1YjA3OTA5ZGUxYjM4ODYyMjRlM2U4MWU4NzMyMgordGVzdF9hdG9tIHRhZyBvYmplY3RuYW1lICQoZ2l0IHJldi1wYXJzZSByZWZzL3RhZ3MvdGVzdHRhZykKIHRlc3RfYXRvbSB0YWcgdHJlZSAnJwogdGVzdF9hdG9tIHRhZyBwYXJlbnQgJycKIHRlc3RfYXRvbSB0YWcgbnVtcGFyZW50ICcnCi10ZXN0X2F0b20gdGFnIG9iamVjdCAnNjdhMzZmMTA3MjI4NDZlODkxZmJhZGExYmE0OGVkMDM1ZGU3NTU4MScKK3Rlc3RfYXRvbSB0YWcgb2JqZWN0ICQoZ2l0IHJldi1wYXJzZSByZWZzL3RhZ3MvdGVzdHRhZ14wKQogdGVzdF9hdG9tIHRhZyB0eXBlICdjb21taXQnCit0ZXN0X2F0b20gdGFnICcqb2JqZWN0bmFtZScgJzY3YTM2ZjEwNzIyODQ2ZTg5MWZiYWRhMWJhNDhlZDAzNWRlNzU1ODEnCit0ZXN0X2F0b20gdGFnICcqb2JqZWN0dHlwZScgJ2NvbW1pdCcKIHRlc3RfYXRvbSB0YWcgYXV0aG9yICcnCiB0ZXN0X2F0b20gdGFnIGF1dGhvcm5hbWUgJycKIHRlc3RfYXRvbSB0YWcgYXV0aG9yZW1haWwgJycKQEAgLTExMyw2ICsxMTUsNyBAQAogdGVzdF9hdG9tIHRhZyBjb250ZW50czpzaWduYXR1cmUgJycKIHRlc3RfYXRvbSB0YWcgY29udGVudHMgJ1RhZ2dpbmcgYXQgMTE1MTkzOTkyNwogJwordGVzdF9hdG9tIHRhZyBIRUFEICcgJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdDaGVjayBpbnZhbGlkIGF0b21zIG5hbWVzIGFyZSBlcnJvcnMnICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKElOVkFMSUQpIiByZWZzL2hlYWRzCkBAIC0zMDQsOCArMzA3LDM1IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGZvciB1cHN0cmVhbTp0cmFja1tzaG9ydF0nICcKKwl0ZXN0X2NvbW1pdCB0d28KKycKKwogY2F0ID5leHBlY3RlZCA8PEVPRgotNjdhMzZmMQorW2FoZWFkIDFdCitFT0YKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnQ2hlY2sgdXBzdHJlYW06dHJhY2sgZm9ybWF0JyAnCisJZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJSh1cHN0cmVhbTp0cmFjaykiIHJlZnMvaGVhZHMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCitjYXQgPmV4cGVjdGVkIDw8RU9GCis+CitFT0YKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnQ2hlY2sgdXBzdHJlYW06dHJhY2tzaG9ydCBmb3JtYXQnICcKKwlnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKHVwc3RyZWFtOnRyYWNrc2hvcnQpIiByZWZzL2hlYWRzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnQ2hlY2sgdGhhdCA6dHJhY2tbc2hvcnRdIGNhbm5vdCBiZSB1c2VkIHdpdGggb3RoZXIgYXRvbXMnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKHJlZm5hbWU6dHJhY2spIiAyPi9kZXYvbnVsbCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUocmVmbmFtZTp0cmFja3Nob3J0KSIgMj4vZGV2L251bGwKKycKKworY2F0ID5leHBlY3RlZCA8PEVPRgorJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRCkKIEVPRgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdDaGVjayBzaG9ydCBvYmplY3RuYW1lIGZvcm1hdCcgJwpAQCAtMzE3LDYgKzM0NywyMyBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUocmVmbmFtZTpJTlZBTElEKSIKICcKIAorZ2V0X2NvbG9yICgpCit7CisJZ2l0IGNvbmZpZyAtLWdldC1jb2xvciBuby5zdWNoLnNsb3QgIiQxIgorfQorCitjYXQgPmV4cGVjdGVkIDw8RU9GCiskKGdpdCByZXYtcGFyc2UgLS1zaG9ydCByZWZzL2hlYWRzL21hc3RlcikgJChnZXRfY29sb3IgZ3JlZW4pbWFzdGVyJChnZXRfY29sb3IgcmVzZXQpCiskKGdpdCByZXYtcGFyc2UgLS1zaG9ydCByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlcikgJChnZXRfY29sb3IgZ3JlZW4pb3JpZ2luL21hc3RlciQoZ2V0X2NvbG9yIHJlc2V0KQorJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgcmVmcy90YWdzL3Rlc3R0YWcpICQoZ2V0X2NvbG9yIGdyZWVuKXRlc3R0YWckKGdldF9jb2xvciByZXNldCkKKyQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IHJlZnMvdGFncy90d28pICQoZ2V0X2NvbG9yIGdyZWVuKXR3byQoZ2V0X2NvbG9yIHJlc2V0KQorRU9GCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0NoZWNrICUoY29sb3I6Li4uKSAnICcKKwlnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKG9iamVjdG5hbWU6c2hvcnQpICUoY29sb3I6Z3JlZW4pJShyZWZuYW1lOnNob3J0KSIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCiBjYXQgPmV4cGVjdGVkIDw8XEVPRgogaGVhZHMvbWFzdGVyCiB0YWdzL21hc3RlcgpAQCAtNDU2LDkgKzUwMyw5IEBACiBib2R5IGNvbnRlbnRzCiAkc2lnIgogCi1jYXQgPmV4cGVjdGVkIDw8XEVPRgotNDA4ZmU3NmQwMmE3ODVhMDA2YzJlOWM2NjliN2JlNTU4OWVkZTk2ZCA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPiByZWZzL3RhZ3MvbWFzdGVyCi05MGI1ZWJlZGU0ODk5ZWRhNjQ4OTNiYzJhNGM4ZjFkNmZiNmRmYzQwIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+IHJlZnMvdGFncy9ib2dvCitjYXQgPmV4cGVjdGVkIDw8RU9GCiskKGdpdCByZXYtcGFyc2UgcmVmcy90YWdzL21hc3RlcikgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4gcmVmcy90YWdzL21hc3RlcgorJChnaXQgcmV2LXBhcnNlIHJlZnMvdGFncy9ib2dvKSA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPiByZWZzL3RhZ3MvYm9nbwogRU9GCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1ZlcmlmeSBzb3J0IHdpdGggbXVsdGlwbGUga2V5cycgJwpkaWZmIC0tZ2l0IGEvdC90NjUwMC1nYy5zaCBiL3QvdDY1MDAtZ2Muc2gKaW5kZXggYjFhNjM2NS4uNjMxOTRkOCAxMDA3NTUKLS0tIGEvdC90NjUwMC1nYy5zaAorKysgYi90L3Q2NTAwLWdjLnNoCkBAIC05LDYgKzksMTEgQEAKIAlnaXQgZ2MKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2MgZG9lcyBub3QgbGVhdmUgYmVoaW5kIHBpZCBmaWxlJyAnCisJZ2l0IGdjICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9nYy5waWQKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2MgLS1nb2JibGVkZWdvb2snICcKIAl0ZXN0X2V4cGVjdF9jb2RlIDEyOSBnaXQgZ2MgLS1ub25zZW5zZSAyPmVyciAmJgogCXRlc3RfaTE4bmdyZXAgIltVdV1zYWdlOiBnaXQgZ2MiIGVycgpkaWZmIC0tZ2l0IGEvdC90NzAwMS1tdi5zaCBiL3QvdDcwMDEtbXYuc2gKaW5kZXggMTAxODE2ZS4uZTNjOGMyYyAxMDA3NTUKLS0tIGEvdC90NzAwMS1tdi5zaAorKysgYi90L3Q3MDAxLW12LnNoCkBAIC03MCw2ICs3MCwzNSBAQAogcm0gLWYgaWRvbnRleGlzdCB1bnRyYWNrZWQxIHVudHJhY2tlZDIgXAogICAgICBwYXRoMC9pZG9udGV4aXN0IHBhdGgwL3VudHJhY2tlZDEgcGF0aDAvdW50cmFja2VkMiBcCiAgICAgIC5naXQvaW5kZXgubG9jaworcm1kaXIgcGF0aDEKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBcCisgICAgJ21vdmluZyB0byBhYnNlbnQgdGFyZ2V0IHdpdGggdHJhaWxpbmcgc2xhc2gnIFwKKyAgICAndGVzdF9tdXN0X2ZhaWwgZ2l0IG12IHBhdGgwL0NPUFlJTkcgbm8tc3VjaC1kaXIvICYmCisgICAgIHRlc3RfbXVzdF9mYWlsIGdpdCBtdiBwYXRoMC9DT1BZSU5HIG5vLXN1Y2gtZGlyLy8gJiYKKyAgICAgZ2l0IG12IHBhdGgwLyBuby1zdWNoLWRpci8gJiYKKyAgICAgdGVzdF9wYXRoX2lzX2RpciBuby1zdWNoLWRpcicKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBcCisgICAgJ2NsZWFuIHVwJyBcCisgICAgJ2dpdCByZXNldCAtLWhhcmQnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgXAorICAgICdtb3ZpbmcgdG8gZXhpc3RpbmcgdW50cmFja2VkIHRhcmdldCB3aXRoIHRyYWlsaW5nIHNsYXNoJyBcCisgICAgJ21rZGlyIHBhdGgxICYmCisgICAgIGdpdCBtdiBwYXRoMC8gcGF0aDEvICYmCisgICAgIHRlc3RfcGF0aF9pc19kaXIgcGF0aDEvcGF0aDAvJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFwKKyAgICAnbW92aW5nIHRvIGV4aXN0aW5nIHRyYWNrZWQgdGFyZ2V0IHdpdGggdHJhaWxpbmcgc2xhc2gnIFwKKyAgICAnbWtkaXIgcGF0aDIgJiYKKyAgICAgPnBhdGgyL2ZpbGUgJiYgZ2l0IGFkZCBwYXRoMi9maWxlICYmCisgICAgIGdpdCBtdiBwYXRoMS9wYXRoMC8gcGF0aDIvICYmCisgICAgIHRlc3RfcGF0aF9pc19kaXIgcGF0aDIvcGF0aDAvJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFwKKyAgICAnY2xlYW4gdXAnIFwKKyAgICAnZ2l0IHJlc2V0IC0taGFyZCcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBcCiAgICAgJ2FkZGluZyBhbm90aGVyIGZpbGUnIFwKQEAgLTI1OSw0ICsyODgsMTc5IEBACiAKIHJtIC1mIG1vdmVkIHN5bWxpbmsKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgc3VibW9kdWxlJyAnCisJZ2l0IGNvbW1pdCAtbSBpbml0aWFsICYmCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWdpdCBzdWJtb2R1bGUgYWRkIC4vLiBzdWIgJiYKKwllY2hvIGNvbnRlbnQgPmZpbGUgJiYKKwlnaXQgYWRkIGZpbGUgJiYKKwlnaXQgY29tbWl0IC1tICJhZGRlZCBzdWIgYW5kIGZpbGUiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBtdiBjYW5ub3QgbW92ZSBhIHN1Ym1vZHVsZSBpbiBhIGZpbGUnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgbXYgc3ViIGZpbGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IG12IG1vdmVzIGEgc3VibW9kdWxlIHdpdGggYSAuZ2l0IGRpcmVjdG9yeSBhbmQgbm8gLmdpdG1vZHVsZXMnICcKKwllbnRyeT0iJChnaXQgbHMtZmlsZXMgLS1zdGFnZSBzdWIgfCBjdXQgLWYgMSkiICYmCisJZ2l0IHJtIC5naXRtb2R1bGVzICYmCisJKAorCQljZCBzdWIgJiYKKwkJcm0gLWYgLmdpdCAmJgorCQljcCAtYSAuLi8uZ2l0L21vZHVsZXMvc3ViIC5naXQgJiYKKwkJR0lUX1dPUktfVFJFRT0uIGdpdCBjb25maWcgLS11bnNldCBjb3JlLndvcmt0cmVlCisJKSAmJgorCW1rZGlyIG1vZCAmJgorCWdpdCBtdiBzdWIgbW9kL3N1YiAmJgorCSEgdGVzdCAtZSBzdWIgJiYKKwlbICIkZW50cnkiID0gIiQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgbW9kL3N1YiB8IGN1dCAtZiAxKSIgXSAmJgorCSgKKwkJY2QgbW9kL3N1YiAmJgorCQlnaXQgc3RhdHVzCisJKSAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1yZWZyZXNoICYmCisJZ2l0IGRpZmYtZmlsZXMgLS1xdWlldAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbXYgbW92ZXMgYSBzdWJtb2R1bGUgd2l0aCBhIC5naXQgZGlyZWN0b3J5IGFuZCAuZ2l0bW9kdWxlcycgJworCXJtIC1yZiBtb2QgJiYKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgJiYKKwllbnRyeT0iJChnaXQgbHMtZmlsZXMgLS1zdGFnZSBzdWIgfCBjdXQgLWYgMSkiICYmCisJKAorCQljZCBzdWIgJiYKKwkJcm0gLWYgLmdpdCAmJgorCQljcCAtYSAuLi8uZ2l0L21vZHVsZXMvc3ViIC5naXQgJiYKKwkJR0lUX1dPUktfVFJFRT0uIGdpdCBjb25maWcgLS11bnNldCBjb3JlLndvcmt0cmVlCisJKSAmJgorCW1rZGlyIG1vZCAmJgorCWdpdCBtdiBzdWIgbW9kL3N1YiAmJgorCSEgdGVzdCAtZSBzdWIgJiYKKwlbICIkZW50cnkiID0gIiQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgbW9kL3N1YiB8IGN1dCAtZiAxKSIgXSAmJgorCSgKKwkJY2QgbW9kL3N1YiAmJgorCQlnaXQgc3RhdHVzCisJKSAmJgorCWVjaG8gbW9kL3N1YiA+ZXhwZWN0ZWQgJiYKKwlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIucGF0aCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLXJlZnJlc2ggJiYKKwlnaXQgZGlmZi1maWxlcyAtLXF1aWV0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBtdiBtb3ZlcyBhIHN1Ym1vZHVsZSB3aXRoIGdpdGZpbGUnICcKKwlybSAtcmYgbW9kL3N1YiAmJgorCWdpdCByZXNldCAtLWhhcmQgJiYKKwlnaXQgc3VibW9kdWxlIHVwZGF0ZSAmJgorCWVudHJ5PSIkKGdpdCBscy1maWxlcyAtLXN0YWdlIHN1YiB8IGN1dCAtZiAxKSIgJiYKKwkoCisJCWNkIG1vZCAmJgorCQlnaXQgbXYgLi4vc3ViLyAuCisJKSAmJgorCSEgdGVzdCAtZSBzdWIgJiYKKwlbICIkZW50cnkiID0gIiQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgbW9kL3N1YiB8IGN1dCAtZiAxKSIgXSAmJgorCSgKKwkJY2QgbW9kL3N1YiAmJgorCQlnaXQgc3RhdHVzCisJKSAmJgorCWVjaG8gbW9kL3N1YiA+ZXhwZWN0ZWQgJiYKKwlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIucGF0aCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLXJlZnJlc2ggJiYKKwlnaXQgZGlmZi1maWxlcyAtLXF1aWV0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ212IGRvZXMgbm90IGNvbXBsYWluIHdoZW4gbm8gLmdpdG1vZHVsZXMgZmlsZSBpcyBmb3VuZCcgJworCXJtIC1yZiBtb2Qvc3ViICYmCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWdpdCBzdWJtb2R1bGUgdXBkYXRlICYmCisJZ2l0IHJtIC5naXRtb2R1bGVzICYmCisJZW50cnk9IiQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2Ugc3ViIHwgY3V0IC1mIDEpIiAmJgorCWdpdCBtdiBzdWIgbW9kL3N1YiAyPmFjdHVhbC5lcnIgJiYKKwkhIHRlc3QgLXMgYWN0dWFsLmVyciAmJgorCSEgdGVzdCAtZSBzdWIgJiYKKwlbICIkZW50cnkiID0gIiQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgbW9kL3N1YiB8IGN1dCAtZiAxKSIgXSAmJgorCSgKKwkJY2QgbW9kL3N1YiAmJgorCQlnaXQgc3RhdHVzCisJKSAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1yZWZyZXNoICYmCisJZ2l0IGRpZmYtZmlsZXMgLS1xdWlldAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtdiB3aWxsIGVycm9yIG91dCBvbiBhIG1vZGlmaWVkIC5naXRtb2R1bGVzIGZpbGUgdW5sZXNzIHN0YWdlZCcgJworCXJtIC1yZiBtb2Qvc3ViICYmCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWdpdCBzdWJtb2R1bGUgdXBkYXRlICYmCisJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBmb28uYmFyIHRydWUgJiYKKwllbnRyeT0iJChnaXQgbHMtZmlsZXMgLS1zdGFnZSBzdWIgfCBjdXQgLWYgMSkiICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IG12IHN1YiBtb2Qvc3ViIDI+YWN0dWFsLmVyciAmJgorCXRlc3QgLXMgYWN0dWFsLmVyciAmJgorCXRlc3QgLWUgc3ViICYmCisJZ2l0IGRpZmYtZmlsZXMgLS1xdWlldCAtLSBzdWIgJiYKKwlnaXQgYWRkIC5naXRtb2R1bGVzICYmCisJZ2l0IG12IHN1YiBtb2Qvc3ViIDI+YWN0dWFsLmVyciAmJgorCSEgdGVzdCAtcyBhY3R1YWwuZXJyICYmCisJISB0ZXN0IC1lIHN1YiAmJgorCVsgIiRlbnRyeSIgPSAiJChnaXQgbHMtZmlsZXMgLS1zdGFnZSBtb2Qvc3ViIHwgY3V0IC1mIDEpIiBdICYmCisJKAorCQljZCBtb2Qvc3ViICYmCisJCWdpdCBzdGF0dXMKKwkpICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLXJlZnJlc2ggJiYKKwlnaXQgZGlmZi1maWxlcyAtLXF1aWV0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ212IGlzc3VlcyBhIHdhcm5pbmcgd2hlbiBzZWN0aW9uIGlzIG5vdCBmb3VuZCBpbiAuZ2l0bW9kdWxlcycgJworCXJtIC1yZiBtb2Qvc3ViICYmCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWdpdCBzdWJtb2R1bGUgdXBkYXRlICYmCisJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyAtLXJlbW92ZS1zZWN0aW9uIHN1Ym1vZHVsZS5zdWIgJiYKKwlnaXQgYWRkIC5naXRtb2R1bGVzICYmCisJZW50cnk9IiQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2Ugc3ViIHwgY3V0IC1mIDEpIiAmJgorCWVjaG8gIndhcm5pbmc6IENvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD1zdWIiID5leHBlY3QuZXJyICYmCisJZ2l0IG12IHN1YiBtb2Qvc3ViIDI+YWN0dWFsLmVyciAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QuZXJyIGFjdHVhbC5lcnIgJiYKKwkhIHRlc3QgLWUgc3ViICYmCisJWyAiJGVudHJ5IiA9ICIkKGdpdCBscy1maWxlcyAtLXN0YWdlIG1vZC9zdWIgfCBjdXQgLWYgMSkiIF0gJiYKKwkoCisJCWNkIG1vZC9zdWIgJiYKKwkJZ2l0IHN0YXR1cworCSkgJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tcmVmcmVzaCAmJgorCWdpdCBkaWZmLWZpbGVzIC0tcXVpZXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbXYgLS1kcnktcnVuIGRvZXMgbm90IHRvdWNoIHRoZSBzdWJtb2R1bGUgb3IgLmdpdG1vZHVsZXMnICcKKwlybSAtcmYgbW9kL3N1YiAmJgorCWdpdCByZXNldCAtLWhhcmQgJiYKKwlnaXQgc3VibW9kdWxlIHVwZGF0ZSAmJgorCWdpdCBtdiAtbiBzdWIgbW9kL3N1YiAyPmFjdHVhbC5lcnIgJiYKKwl0ZXN0IC1mIHN1Yi8uZ2l0ICYmCisJZ2l0IGRpZmYtaW5kZXggLS1leGl0LWNvZGUgSEVBRCAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1yZWZyZXNoICYmCisJZ2l0IGRpZmYtZmlsZXMgLS1xdWlldCAtLSBzdWIgLmdpdG1vZHVsZXMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tpbmcgb3V0IGEgY29tbWl0IGJlZm9yZSBzdWJtb2R1bGUgbW92ZWQgbmVlZHMgbWFudWFsIHVwZGF0ZXMnICcKKwlnaXQgbXYgc3ViIHN1YjIgJiYKKwlnaXQgY29tbWl0IC1tICJtb3ZlZCBzdWIgdG8gc3ViMiIgJiYKKwlnaXQgY2hlY2tvdXQgLXEgSEVBRF4gMj5hY3R1YWwgJiYKKwllY2hvICJ3YXJuaW5nOiB1bmFibGUgdG8gcm1kaXIgc3ViMjogRGlyZWN0b3J5IG5vdCBlbXB0eSIgPmV4cGVjdGVkICYmCisJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCWdpdCBzdGF0dXMgLXMgc3ViMiA+YWN0dWFsICYmCisJZWNobyAiPz8gc3ViMi8iID5leHBlY3RlZCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCSEgdGVzdCAtZiBzdWIvLmdpdCAmJgorCXRlc3QgLWYgc3ViMi8uZ2l0ICYmCisJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgJiYKKwl0ZXN0IC1mIHN1Yi8uZ2l0ICYmCisJcm0gLXJmIHN1YjIgJiYKKwlnaXQgZGlmZi1pbmRleCAtLWV4aXQtY29kZSBIRUFEICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLXJlZnJlc2ggJiYKKwlnaXQgZGlmZi1maWxlcyAtLXF1aWV0IC0tIHN1YiAuZ2l0bW9kdWxlcyAmJgorCWdpdCBzdGF0dXMgLXMgc3ViMiA+YWN0dWFsICYmCisJISB0ZXN0IC1zIGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDcwMDYtcGFnZXIuc2ggYi90L3Q3MDA2LXBhZ2VyLnNoCmluZGV4IGZmMjU5MDguLmI5MzY1YjQgMTAwNzU1Ci0tLSBhL3QvdDcwMDYtcGFnZXIuc2gKKysrIGIvdC90NzAwNi1wYWdlci5zaApAQCAtMzcsNiArMzcsMTggQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyBUVFkgJ0xFU1MgYW5kIExWIGVudnZhcnMgYXJlIHNldCBmb3IgcGFnaW5hdGlvbicgJworCSgKKwkJc2FuZV91bnNldCBMRVNTIExWICYmCisJCVBBR0VSPSJlbnYgPnBhZ2VyLWVudi5vdXQ7IHdjIiAmJgorCQlleHBvcnQgUEFHRVIgJiYKKworCQl0ZXN0X3Rlcm1pbmFsIGdpdCBsb2cKKwkpICYmCisJZ3JlcCBeTEVTUz0gcGFnZXItZW52Lm91dCAmJgorCWdyZXAgXkxWPSBwYWdlci1lbnYub3V0CisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgVFRZICdzb21lIGNvbW1hbmRzIGRvIG5vdCB1c2UgYSBwYWdlcicgJwogCXJtIC1mIHBhZ2luYXRlZC5vdXQgJiYKIAl0ZXN0X3Rlcm1pbmFsIGdpdCByZXYtbGlzdCBIRUFEICYmCmRpZmYgLS1naXQgYS90L3Q3MDA4LWdyZXAtYmluYXJ5LnNoIGIvdC90NzAwOC1ncmVwLWJpbmFyeS5zaAppbmRleCAyNmY4MzE5Li5iMTQ2NDA2IDEwMDc1NQotLS0gYS90L3Q3MDA4LWdyZXAtYmluYXJ5LnNoCisrKyBiL3QvdDcwMDgtZ3JlcC1iaW5hcnkuc2gKQEAgLTE0NSw0ICsxNDUsMzUgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK2NhdCA+bnVsX3RvX3FfdGV4dGNvbnYgPDwnRU9GJworIyEvYmluL3NoCisiJFBFUkxfUEFUSCIgLXBlICd5L1wwMDAvUS8nIDwgIiQxIgorRU9GCitjaG1vZCAreCBudWxfdG9fcV90ZXh0Y29udgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCB0ZXh0Y29udiBmaWx0ZXJzJyAnCisJZWNobyBhIGRpZmY9Zm9vID4uZ2l0YXR0cmlidXRlcyAmJgorCWdpdCBjb25maWcgZGlmZi5mb28udGV4dGNvbnYgIlwiJChwd2QpXCIiL251bF90b19xX3RleHRjb252CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAgZG9lcyBub3QgaG9ub3IgdGV4dGNvbnYnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgZ3JlcCBRZmlsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIC0tdGV4dGNvbnYgaG9ub3JzIHRleHRjb252JyAnCisJZWNobyAiYTpiaW5hcnlRZmlsZSIgPmV4cGVjdCAmJgorCWdpdCBncmVwIC0tdGV4dGNvbnYgUWZpbGUgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCAtLW5vLXRleHRjb252IGRvZXMgbm90IGhvbm9yIHRleHRjb252JyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGdyZXAgLS1uby10ZXh0Y29udiBRZmlsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIC0tdGV4dGNvbnYgYmxvYiBob25vcnMgdGV4dGNvbnYnICcKKwllY2hvICJIRUFEOmE6YmluYXJ5UWZpbGUiID5leHBlY3QgJiYKKwlnaXQgZ3JlcCAtLXRleHRjb252IFFmaWxlIEhFQUQ6YSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDcwMDktZmlsdGVyLWJyYW5jaC1udWxsLXNoYTEuc2ggYi90L3Q3MDA5LWZpbHRlci1icmFuY2gtbnVsbC1zaGExLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE5OTdmN2EKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q3MDA5LWZpbHRlci1icmFuY2gtbnVsbC1zaGExLnNoCkBAIC0wLDAgKzEsNDkgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdmaWx0ZXItYnJhbmNoIHJlbW92YWwgb2YgdHJlZXMgd2l0aCBudWxsIHNoYTEnCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXA6IGJhc2UgY29tbWl0cycgJworCXRlc3RfY29tbWl0IG9uZSAmJgorCXRlc3RfY29tbWl0IHR3byAmJgorCXRlc3RfY29tbWl0IHRocmVlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwOiBhIGNvbW1pdCB3aXRoIGEgYm9ndXMgbnVsbCBzaGExIGluIHRoZSB0cmVlJyAnCisJeworCQlnaXQgbHMtdHJlZSBIRUFEICYmCisJCXByaW50ZiAiMTYwMDAwIGNvbW1pdCAkX3o0MFxcdGJyb2tlblxcbiIKKwl9ID5icm9rZW4tdHJlZQorCWVjaG8gImFkZCBicm9rZW4gZW50cnkiID5tc2cgJiYKKworCXRyZWU9JChnaXQgbWt0cmVlIDxicm9rZW4tdHJlZSkgJiYKKwl0ZXN0X3RpY2sgJiYKKwljb21taXQ9JChnaXQgY29tbWl0LXRyZWUgJHRyZWUgLXAgSEVBRCA8bXNnKSAmJgorCWdpdCB1cGRhdGUtcmVmIEhFQUQgIiRjb21taXQiCisnCisKKyMgd2UgaGF2ZSB0byBtYWtlIG9uZSBtb3JlIGNvbW1pdCBvbiB0b3AgcmVtb3ZpbmcgdGhlIGJyb2tlbgorIyBlbnRyeSwgc2luY2Ugb3RoZXJ3aXNlIG91ciBpbmRleCBkb2VzIG5vdCBtYXRjaCBIRUFEIChhbmQgZmlsdGVyLWJyYW5jaCB3aWxsCisjIGNvbXBsYWluKS4gV2UgY291bGQgbWFrZSB0aGUgaW5kZXggbWF0Y2ggSEVBRCwgYnV0IGRvaW5nIHNvIHdvdWxkIGludm9sdmUKKyMgd3JpdGluZyBhIG51bGwgc2hhMSBpbnRvIHRoZSBpbmRleC4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwOiBicmluZyBIRUFEIGFuZCBpbmRleCBpbiBzeW5jJyAnCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtYSAtbSAiYmFjayB0byBub3JtYWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZpbHRlciBjb21tYW5kcyBhcmUgc3RpbGwgY2hlY2tlZCcgJworCXRlc3RfbXVzdF9mYWlsIGdpdCBmaWx0ZXItYnJhbmNoIFwKKwkJLS1mb3JjZSAtLXBydW5lLWVtcHR5IFwKKwkJLS1pbmRleC1maWx0ZXIgImdpdCBybSAtLWNhY2hlZCAtLWlnbm9yZS11bm1hdGNoIHRocmVlLnQiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlbW92aW5nIHRoZSBicm9rZW4gZW50cnkgd29ya3MnICcKKwllY2hvIHRocmVlID5leHBlY3QgJiYKKwlnaXQgZmlsdGVyLWJyYW5jaCBcCisJCS0tZm9yY2UgLS1wcnVuZS1lbXB0eSBcCisJCS0taW5kZXgtZmlsdGVyICJnaXQgcm0gLS1jYWNoZWQgLS1pZ25vcmUtdW5tYXRjaCBicm9rZW4iICYmCisJZ2l0IGxvZyAtMSAtLWZvcm1hdD0lcyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDcwNjAtd3RzdGF0dXMuc2ggYi90L3Q3MDYwLXd0c3RhdHVzLnNoCmluZGV4IDUyZWYwNmIuLjdkNDY3YzAgMTAwNzU1Ci0tLSBhL3QvdDcwNjAtd3RzdGF0dXMuc2gKKysrIGIvdC90NzA2MC13dHN0YXR1cy5zaApAQCAtMjksMjAgKzI5LDE5IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi1jYXQgPmV4cGVjdCA8PEVPRgotIyBPbiBicmFuY2ggc2lkZQotIyBZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4KLSMgICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuICJnaXQgY29tbWl0IikKLSMKLSMgVW5tZXJnZWQgcGF0aHM6Ci0jICAgKHVzZSAiZ2l0IGFkZC9ybSA8ZmlsZT4uLi4iIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikKLSMKLSMJZGVsZXRlZCBieSB1czogICAgICBmb28KLSMKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ00vRCBjb25mbGljdCBkb2VzIG5vdCBzZWdmYXVsdCcgJworCWNhdCA+ZXhwZWN0IDw8RU9GICYmCitPbiBicmFuY2ggc2lkZQorWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuCisgIChmaXggY29uZmxpY3RzIGFuZCBydW4gImdpdCBjb21taXQiKQorCitVbm1lcmdlZCBwYXRoczoKKyAgKHVzZSAiZ2l0IGFkZC9ybSA8ZmlsZT4uLi4iIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikKKworCWRlbGV0ZWQgYnkgdXM6ICAgICAgZm9vCisKIG5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgImdpdCBhZGQiIGFuZC9vciAiZ2l0IGNvbW1pdCAtYSIpCiBFT0YKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnTS9EIGNvbmZsaWN0IGRvZXMgbm90IHNlZ2ZhdWx0JyAnCiAJbWtkaXIgbWRjb25mbGljdCAmJgogCSgKIAkJY2QgbWRjb25mbGljdCAmJgpAQCAtMTM1LDE5ICsxMzQsMTkgQEAKIAl0ZXN0X2NvbW1pdCBvbl9zZWNvbmQgbWFpbi50eHQgb25fc2Vjb25kICYmCiAJdGVzdF9jb21taXQgbWFzdGVyIGNvbmZsaWN0LnR4dCBtYXN0ZXIgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2Ugc2Vjb25kX2JyYW5jaCAmJgotCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgotCSMgT24gYnJhbmNoIG1hc3RlcgotCSMgWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuCi0JIyAgIChmaXggY29uZmxpY3RzIGFuZCBydW4gImdpdCBjb21taXQiKQotCSMKLQkjIFVubWVyZ2VkIHBhdGhzOgotCSMgICAodXNlICJnaXQgYWRkL3JtIDxmaWxlPi4uLiIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKQotCSMKLQkjCWJvdGggYWRkZWQ6ICAgICAgICAgY29uZmxpY3QudHh0Ci0JIwlkZWxldGVkIGJ5IHRoZW06ICAgIG1haW4udHh0Ci0JIwotCW5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgImdpdCBhZGQiIGFuZC9vciAiZ2l0IGNvbW1pdCAtYSIpCi0JRU9GCisJY2F0ID5leHBlY3RlZCA8PFxFT0YgJiYKK09uIGJyYW5jaCBtYXN0ZXIKK1lvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLgorICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuICJnaXQgY29tbWl0IikKKworVW5tZXJnZWQgcGF0aHM6CisgICh1c2UgImdpdCBhZGQvcm0gPGZpbGU+Li4uIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pCisKKwlib3RoIGFkZGVkOiAgICAgICAgIGNvbmZsaWN0LnR4dAorCWRlbGV0ZWQgYnkgdGhlbTogICAgbWFpbi50eHQKKworbm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSAiZ2l0IGFkZCIgYW5kL29yICJnaXQgY29tbWl0IC1hIikKK0VPRgogCWdpdCBzdGF0dXMgLS11bnRyYWNrZWQtZmlsZXM9bm8gPmFjdHVhbCAmJgogCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKQEAgLTE2OCwyMCArMTY3LDIwIEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyB3aGVuIGNvbmZsaWN0cyB3aXRoIGFkZCBhbmQgcm0gYWR2aWNlIChib3RoIGRlbGV0ZWQpJyAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIGNvbmZsaWN0ICYmCi0JY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCi0JIyBPbiBicmFuY2ggY29uZmxpY3Rfc2Vjb25kCi0JIyBZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4KLQkjICAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biAiZ2l0IGNvbW1pdCIpCi0JIwotCSMgVW5tZXJnZWQgcGF0aHM6Ci0JIyAgICh1c2UgImdpdCBhZGQvcm0gPGZpbGU+Li4uIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pCi0JIwotCSMJYm90aCBkZWxldGVkOiAgICAgICBtYWluLnR4dAotCSMJYWRkZWQgYnkgdGhlbTogICAgICBzdWJfbWFzdGVyLnR4dAotCSMJYWRkZWQgYnkgdXM6ICAgICAgICBzdWJfc2Vjb25kLnR4dAotCSMKLQlubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQotCUVPRgorCWNhdCA+ZXhwZWN0ZWQgPDxcRU9GICYmCitPbiBicmFuY2ggY29uZmxpY3Rfc2Vjb25kCitZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4KKyAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biAiZ2l0IGNvbW1pdCIpCisKK1VubWVyZ2VkIHBhdGhzOgorICAodXNlICJnaXQgYWRkL3JtIDxmaWxlPi4uLiIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKQorCisJYm90aCBkZWxldGVkOiAgICAgICBtYWluLnR4dAorCWFkZGVkIGJ5IHRoZW06ICAgICAgc3ViX21hc3Rlci50eHQKKwlhZGRlZCBieSB1czogICAgICAgIHN1Yl9zZWNvbmQudHh0CisKK25vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgImdpdCBhZGQiIGFuZC9vciAiZ2l0IGNvbW1pdCAtYSIpCitFT0YKIAlnaXQgc3RhdHVzIC0tdW50cmFja2VkLWZpbGVzPW5vID5hY3R1YWwgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCkBAIC0xOTIsMjIgKzE5MSwyMiBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBjb25mbGljdCAmJgogCWdpdCBhZGQgc3ViX21hc3Rlci50eHQgJiYKIAlnaXQgYWRkIHN1Yl9zZWNvbmQudHh0ICYmCi0JY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCi0JIyBPbiBicmFuY2ggY29uZmxpY3Rfc2Vjb25kCi0JIyBZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4KLQkjICAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biAiZ2l0IGNvbW1pdCIpCi0JIwotCSMgQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0JIwotCSMJbmV3IGZpbGU6ICAgc3ViX21hc3Rlci50eHQKLQkjCi0JIyBVbm1lcmdlZCBwYXRoczoKLQkjICAgKHVzZSAiZ2l0IHJtIDxmaWxlPi4uLiIgdG8gbWFyayByZXNvbHV0aW9uKQotCSMKLQkjCWJvdGggZGVsZXRlZDogICAgICAgbWFpbi50eHQKLQkjCi0JIyBVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKLQlFT0YKKwljYXQgPmV4cGVjdGVkIDw8XEVPRiAmJgorT24gYnJhbmNoIGNvbmZsaWN0X3NlY29uZAorWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuCisgIChmaXggY29uZmxpY3RzIGFuZCBydW4gImdpdCBjb21taXQiKQorCitDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKKworCW5ldyBmaWxlOiAgIHN1Yl9tYXN0ZXIudHh0CisKK1VubWVyZ2VkIHBhdGhzOgorICAodXNlICJnaXQgcm0gPGZpbGU+Li4uIiB0byBtYXJrIHJlc29sdXRpb24pCisKKwlib3RoIGRlbGV0ZWQ6ICAgICAgIG1haW4udHh0CisKK1VudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQorRU9GCiAJZ2l0IHN0YXR1cyAtLXVudHJhY2tlZC1maWxlcz1ubyA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbCAmJgogCWdpdCByZXNldCAtLWhhcmQgJiYKZGlmZiAtLWdpdCBhL3QvdDcxMDUtcmVzZXQtcGF0Y2guc2ggYi90L3Q3MTA1LXJlc2V0LXBhdGNoLnNoCmluZGV4IDk1ZmFiMjAuLjk4YjdkN2IgMTAwNzU1Ci0tLSBhL3QvdDcxMDUtcmVzZXQtcGF0Y2guc2gKKysrIGIvdC90NzEwNS1yZXNldC1wYXRjaC5zaApAQCAtMjUsMTUgKzI1LDE3IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnZ2l0IHJlc2V0IC1wJyAnCi0JKGVjaG8gbjsgZWNobyB5KSB8IGdpdCByZXNldCAtcCAmJgorCShlY2hvIG47IGVjaG8geSkgfCBnaXQgcmVzZXQgLXAgPm91dHB1dCAmJgogCXZlcmlmeV9zdGF0ZSBkaXIvZm9vIHdvcmsgaGVhZCAmJgotCXZlcmlmeV9zYXZlZF9zdGF0ZSBiYXIKKwl2ZXJpZnlfc2F2ZWRfc3RhdGUgYmFyICYmCisJdGVzdF9pMThuZ3JlcCAiVW5zdGFnZSIgb3V0cHV0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnZ2l0IHJlc2V0IC1wIEhFQUReJyAnCi0JKGVjaG8gbjsgZWNobyB5KSB8IGdpdCByZXNldCAtcCBIRUFEXiAmJgorCShlY2hvIG47IGVjaG8geSkgfCBnaXQgcmVzZXQgLXAgSEVBRF4gPm91dHB1dCAmJgogCXZlcmlmeV9zdGF0ZSBkaXIvZm9vIHdvcmsgcGFyZW50ICYmCi0JdmVyaWZ5X3NhdmVkX3N0YXRlIGJhcgorCXZlcmlmeV9zYXZlZF9zdGF0ZSBiYXIgJiYKKwl0ZXN0X2kxOG5ncmVwICJBcHBseSIgb3V0cHV0CiAnCiAKICMgVGhlIGlkZWEgaW4gdGhlIHJlc3QgaXMgdGhhdCBiYXIgc29ydHMgZmlyc3QsIHNvIHdlIGFsd2F5cyBzYXkgJ3knCmRpZmYgLS1naXQgYS90L3Q3MTA2LXJlc2V0LXVuYm9ybi1icmFuY2guc2ggYi90L3Q3MTA2LXJlc2V0LXVuYm9ybi1icmFuY2guc2gKaW5kZXggODA2MmNmNS4uMGY5NWYwMCAxMDA3NTUKLS0tIGEvdC90NzEwNi1yZXNldC11bmJvcm4tYnJhbmNoLnNoCisrKyBiL3QvdDcxMDYtcmVzZXQtdW5ib3JuLWJyYW5jaC5zaApAQCAtMTEsNyArMTEsMTAgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jlc2V0JyAnCiAJZ2l0IGFkZCBhIGIgJiYKIAlnaXQgcmVzZXQgJiYKLQl0ZXN0ICIkKGdpdCBscy1maWxlcykiID0gIiIKKworCT5leHBlY3QgJiYKKwlnaXQgbHMtZmlsZXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzZXQgSEVBRCcgJwpAQCAtMjQsMjggKzI3LDQzIEBACiAJcm0gLmdpdC9pbmRleCAmJgogCWdpdCBhZGQgYSBiICYmCiAJZ2l0IHJlc2V0IGEgJiYKLQl0ZXN0ICIkKGdpdCBscy1maWxlcykiID0gImIiCisKKwllY2hvIGIgPmV4cGVjdCAmJgorCWdpdCBscy1maWxlcyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXNldCAtcCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdyZXNldCAtcCcgJwogCXJtIC5naXQvaW5kZXggJiYKIAlnaXQgYWRkIGEgJiYKLQllY2hvIHkgfCBnaXQgcmVzZXQgLXAgJiYKLQl0ZXN0ICIkKGdpdCBscy1maWxlcykiID0gIiIKKwllY2hvIHkgPnllcyAmJgorCWdpdCByZXNldCAtcCA8eWVzID5vdXRwdXQgJiYKKworCT5leHBlY3QgJiYKKwlnaXQgbHMtZmlsZXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwl0ZXN0X2kxOG5ncmVwICJVbnN0YWdlIiBvdXRwdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzZXQgLS1zb2Z0IGlzIGEgbm8tb3AnICcKIAlybSAuZ2l0L2luZGV4ICYmCiAJZ2l0IGFkZCBhICYmCi0JZ2l0IHJlc2V0IC0tc29mdAotCXRlc3QgIiQoZ2l0IGxzLWZpbGVzKSIgPSAiYSIKKwlnaXQgcmVzZXQgLS1zb2Z0ICYmCisKKwllY2hvIGEgPmV4cGVjdCAmJgorCWdpdCBscy1maWxlcyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXNldCAtLWhhcmQnICcKIAlybSAuZ2l0L2luZGV4ICYmCiAJZ2l0IGFkZCBhICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJlY2hvIGEgPmEiICYmCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgotCXRlc3QgIiQoZ2l0IGxzLWZpbGVzKSIgPSAiIiAmJgorCisJPmV4cGVjdCAmJgorCWdpdCBscy1maWxlcyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgogCXRlc3RfcGF0aF9pc19taXNzaW5nIGEKICcKIApkaWZmIC0tZ2l0IGEvdC90NzQwMC1zdWJtb2R1bGUtYmFzaWMuc2ggYi90L3Q3NDAwLXN1Ym1vZHVsZS1iYXNpYy5zaAppbmRleCBhMzlkMDc0Li5jMjhlOGQ4IDEwMDc1NQotLS0gYS90L3Q3NDAwLXN1Ym1vZHVsZS1iYXNpYy5zaAorKysgYi90L3Q3NDAwLXN1Ym1vZHVsZS1iYXNpYy5zaApAQCAtNDgxLDcgKzQ4MSw3IEBACiAKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JhY2VmdWxseSBhZGQgc3VibW9kdWxlIHdpdGggYSB0cmFpbGluZyBzbGFzaCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JhY2VmdWxseSBhZGQvcmVzZXQgc3VibW9kdWxlIHdpdGggYSB0cmFpbGluZyBzbGFzaCcgJwogCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWdpdCBjb21taXQgLW0gImNvbW1pdCBzdWJwcm9qZWN0IiBpbml0ICYmCkBAIC00OTUsNyArNDk1LDkgQEAKIAlnaXQgYWRkIGluaXQvICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGRpZmYgLS1leGl0LWNvZGUgLS1jYWNoZWQgaW5pdCAmJgogCXRlc3QgJGNvbW1pdCA9ICQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgfAotCQlzZWQgLW4gInMvXjE2MDAwMCBcKFteIF0qXCkuKi9cMS9wIikKKwkJc2VkIC1uICJzL14xNjAwMDAgXChbXiBdKlwpLiovXDEvcCIpICYmCisJZ2l0IHJlc2V0IGluaXQvICYmCisJZ2l0IGRpZmYgLS1leGl0LWNvZGUgLS1jYWNoZWQgaW5pdAogCiAnCiAKQEAgLTc4MywxMyArNzg1LDExIEBACiAJCQl0ZXN0X2NtcCBleHBlY3QgLmdpdAogCQkpICYmCiAJCWVjaG8gInJlcG8iID5leHBlY3QgJiYKLQkJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUucmVwby5wYXRoID5hY3R1YWwgJiYKLQkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5yZXBvLnBhdGggJiYKIAkJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUucmVwb19uZXcucGF0aCA+YWN0dWFsICYmCiAJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwmJgogCQllY2hvICIkc3VibW9kdXJsL3JlcG8iID5leHBlY3QgJiYKLQkJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUucmVwby51cmwgPmFjdHVhbCAmJgotCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnJlcG8udXJsICYmCiAJCWVjaG8gIiRzdWJtb2R1cmwvYmFyZS5naXQiID5leHBlY3QgJiYKIAkJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUucmVwb19uZXcudXJsID5hY3R1YWwgJiYKIAkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgpAQCAtODA5LDEyICs4MDksOCBAQAogCQlnaXQgcm0gcmVwbyAmJgogCQl0ZXN0X211c3RfZmFpbCBnaXQgc3VibW9kdWxlIGFkZCAtcSAtLW5hbWUgcmVwb19uZXcgIiRzdWJtb2R1cmwvcmVwby5naXQiIHJlcG8gJiYKIAkJdGVzdCAhIC1kIHJlcG8gJiYKLQkJZWNobyAicmVwbyIgPmV4cGVjdCAmJgotCQlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5yZXBvX25ldy5wYXRoID5hY3R1YWwgJiYKLQkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCYmCi0JCWVjaG8gIiRzdWJtb2R1cmwvYmFyZS5naXQiID5leHBlY3QgJiYKLQkJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUucmVwb19uZXcudXJsID5hY3R1YWwgJiYKLQkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5yZXBvX25ldy5wYXRoICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnJlcG9fbmV3LnVybCAmJgogCQllY2hvICIkc3VibW9kdXJsL2JhcmUuZ2l0IiA+ZXhwZWN0ICYmCiAJCWdpdCBjb25maWcgc3VibW9kdWxlLnJlcG9fbmV3LnVybCA+YWN0dWFsICYmCiAJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKQEAgLTk2OCw3ICs5NjQsNiBAQAogCQlnaXQgYWRkIHN1YiAmJgogCQlnaXQgY29tbWl0IC1tICJpbml0IHN1YiIKIAkpICYmCi0JdGVzdF9jb25maWcgY29yZS5wcmVjb21wb3NldW5pY29kZSB0cnVlICYmCiAJZ2l0IHN1Ym1vZHVsZSBhZGQgLi8iJHN2bmFtZSIgJiYKIAlnaXQgc3VibW9kdWxlID4mMiAmJgogCXRlc3QgLW4gIiQoZ2l0IHN1Ym1vZHVsZSB8IGdyZXAgIiRzdm5hbWUiKSIKZGlmZiAtLWdpdCBhL3QvdDc0MDEtc3VibW9kdWxlLXN1bW1hcnkuc2ggYi90L3Q3NDAxLXN1Ym1vZHVsZS1zdW1tYXJ5LnNoCmluZGV4IGFjMjQzNGMuLjM2Njc0NmYgMTAwNzU1Ci0tLSBhL3QvdDc0MDEtc3VibW9kdWxlLXN1bW1hcnkuc2gKKysrIGIvdC90NzQwMS1zdWJtb2R1bGUtc3VtbWFyeS5zaApAQCAtMTA0LDYgKzEwNCwyNCBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogIgogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdubyBpZ25vcmU9YWxsIHNldHRpbmcgaGFzIGFueSBlZmZlY3QnICIKKwlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zbTEucGF0aCBzbTEgJiYKKwlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zbTEuaWdub3JlIGFsbCAmJgorCWdpdCBjb25maWcgc3VibW9kdWxlLnNtMS5pZ25vcmUgYWxsICYmCisJZ2l0IGNvbmZpZyBkaWZmLmlnbm9yZVN1Ym1vZHVsZXMgYWxsICYmCisJZ2l0IHN1Ym1vZHVsZSBzdW1tYXJ5ID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorKiBzbTEgJGhlYWQxLi4uJGhlYWQyICgxKToKKyAgPiBBZGQgZm9vMworCitFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwgJiYKKwlnaXQgY29uZmlnIC0tdW5zZXQgZGlmZi5pZ25vcmVTdWJtb2R1bGVzICYmCisJZ2l0IGNvbmZpZyAtLXJlbW92ZS1zZWN0aW9uIHN1Ym1vZHVsZS5zbTEgJiYKKwlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIC0tcmVtb3ZlLXNlY3Rpb24gc3VibW9kdWxlLnNtMQorIgorCisKIGNvbW1pdF9maWxlIHNtMSAmJgogaGVhZDM9JCgKIAljZCBzbTEgJiYKQEAgLTI2NSwxMyArMjgzLDExIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLWZvci1zdGF0dXMnICIKIAlnaXQgc3VibW9kdWxlIHN1bW1hcnkgLS1mb3Itc3RhdHVzIEhFQUReID5hY3R1YWwgJiYKIAl0ZXN0X2kxOG5jbXAgYWN0dWFsIC0gPDxFT0YKLSMgU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotIwotIyAqIHNtMSAkaGVhZDYuLi4wMDAwMDAwOgotIwotIyAqIHNtMiAwMDAwMDAwLi4uJGhlYWQ3ICgyKToKLSMgICA+IEFkZCBmb285Ci0jCisqIHNtMSAkaGVhZDYuLi4wMDAwMDAwOgorCisqIHNtMiAwMDAwMDAwLi4uJGhlYWQ3ICgyKToKKyAgPiBBZGQgZm9vOQorCiBFT0YKICIKIApkaWZmIC0tZ2l0IGEvdC90NzQwNi1zdWJtb2R1bGUtdXBkYXRlLnNoIGIvdC90NzQwNi1zdWJtb2R1bGUtdXBkYXRlLnNoCmluZGV4IDA4MjVhOTIuLjAyNDZlODAgMTAwNzU1Ci0tLSBhL3QvdDc0MDYtc3VibW9kdWxlLXVwZGF0ZS5zaAorKysgYi90L3Q3NDA2LXN1Ym1vZHVsZS11cGRhdGUuc2gKQEAgLTc2Miw2ICs3NjIsMTcgQEAKIAkgKGNkIHN1Ym1vZHVsZSAmJgogCSAgdGVzdCAxID0gJChnaXQgbG9nIC0tb25lbGluZSB8IHdjIC1sKQogCSApCispCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSB1cGRhdGUgLS1yZWN1cnNpdmUgZHJvcHMgbW9kdWxlIG5hbWUgYmVmb3JlIHJlY3Vyc2luZycgJworCShjZCBzdXBlcjIgJiYKKwkgKGNkIGRlZXBlci9zdWJtb2R1bGUvc3Vic3VibW9kdWxlICYmCisJICBnaXQgY2hlY2tvdXQgSEVBRF4KKwkgKSAmJgorCSBnaXQgc3VibW9kdWxlIHVwZGF0ZSAtLXJlY3Vyc2l2ZSBkZWVwZXIvc3VibW9kdWxlID5hY3R1YWwgJiYKKwkgdGVzdF9pMThuZ3JlcCAiU3VibW9kdWxlIHBhdGggLmRlZXBlci9zdWJtb2R1bGUvc3Vic3VibW9kdWxlLjogY2hlY2tlZCBvdXQiIGFjdHVhbAogCSkKICcKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3NDA3LXN1Ym1vZHVsZS1mb3JlYWNoLnNoIGIvdC90NzQwNy1zdWJtb2R1bGUtZm9yZWFjaC5zaAppbmRleCBiZTkzZjEwLi43Y2ExMGI4IDEwMDc1NQotLS0gYS90L3Q3NDA3LXN1Ym1vZHVsZS1mb3JlYWNoLnNoCisrKyBiL3QvdDc0MDctc3VibW9kdWxlLWZvcmVhY2guc2gKQEAgLTI1NCwxMCArMjU0LDYgQEAKIAkJKSAmJgogCQlnaXQgc3VibW9kdWxlIHN0YXR1cyAtLWNhY2hlZCAtLXJlY3Vyc2l2ZSAtLSBuZXN0ZWQxID4gLi4vYWN0dWFsCiAJKSAmJgotCWlmIHRlc3RfaGF2ZV9wcmVyZXEgTUlOR1cKLQl0aGVuCi0JCWRvczJ1bml4IGFjdHVhbAotCWZpICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCkBAIC0zMjksNCArMzI1LDEzIEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ211bHRpLWFyZ3VtZW50IGNvbW1hbmQgcGFzc2VkIHRvIGZvcmVhY2ggaXMgbm90IHNoZWxsLWV2YWx1YXRlZCB0d2ljZScgJworCSgKKwkJY2Qgc3VwZXIgJiYKKwkJZ2l0IHN1Ym1vZHVsZSBmb3JlYWNoICJlY2hvIFxcXCJxdW90ZWRcXFwiIiA+IC4uL2V4cGVjdGVkICYmCisJCWdpdCBzdWJtb2R1bGUgZm9yZWFjaCBlY2hvIFwicXVvdGVkXCIgPiAuLi9hY3R1YWwKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzUwMS1jb21taXQuc2ggYi90L3Q3NTAxLWNvbW1pdC5zaAppbmRleCA5OWNlMzZmLi45NGVlYzgzIDEwMDc1NQotLS0gYS90L3Q3NTAxLWNvbW1pdC5zaAorKysgYi90L3Q3NTAxLWNvbW1pdC5zaApAQCAtNTMsMTAgKzUzLDExIEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VzaW5nIGludmFsaWQgY29tbWl0IHdpdGggLUMnICcKLQl0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0IC1DIGJvZ3VzCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1DIGJvZ3VzCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vdGhpbmcgdG8gY29tbWl0JyAnCisJZ2l0IHJlc2V0IC0taGFyZCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBjb21taXQgLW0gaW5pdGlhbAogJwogCmRpZmYgLS1naXQgYS90L3Q3NTA3LWNvbW1pdC12ZXJib3NlLnNoIGIvdC90NzUwNy1jb21taXQtdmVyYm9zZS5zaAppbmRleCBkYTViZDNiLi4yZGRmMjhjIDEwMDc1NQotLS0gYS90L3Q3NTA3LWNvbW1pdC12ZXJib3NlLnNoCisrKyBiL3QvdDc1MDctY29tbWl0LXZlcmJvc2Uuc2gKQEAgLTY1LDkgKzY1LDM1IEBACiAJY2hlY2tfbWVzc2FnZSBkaWZmCiAnCiAKLXRlc3RfZXhwZWN0X2ZhaWx1cmUgJ2RpZmYgaW4gbWVzc2FnZSBpcyByZXRhaW5lZCB3aXRoIC12JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmIGluIG1lc3NhZ2UgaXMgcmV0YWluZWQgd2l0aCAtdicgJwogCWdpdCBjb21taXQgLS1hbWVuZCAtRiBkaWZmIC12ICYmCiAJY2hlY2tfbWVzc2FnZSBkaWZmCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSBsb2cgaXMgc3RyaXBwZWQgb3V0IHRvbyB3aXRoIC12JyAnCisJZ2l0IGNvbmZpZyBkaWZmLnN1Ym1vZHVsZSBsb2cgJiYKKwlnaXQgc3VibW9kdWxlIGFkZCAuLy4gc3ViICYmCisJZ2l0IGNvbW1pdCAtbSAic3ViIGFkZGVkIiAmJgorCSgKKwkJY2Qgc3ViICYmCisJCWVjaG8gIm1vcmUiID4+ZmlsZSAmJgorCQlnaXQgY29tbWl0IC1hIC1tICJzdWJtb2R1bGUgY29tbWl0IgorCSkgJiYKKwkoCisJCUdJVF9FRElUT1I9Y2F0ICYmCisJCWV4cG9ydCBHSVRfRURJVE9SICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBjb21taXQgLWEgLXYgMj5lcnIKKwkpICYmCisJdGVzdF9pMThuZ3JlcCAiQWJvcnRpbmcgY29tbWl0IGR1ZSB0byBlbXB0eSBjb21taXQgbWVzc2FnZS4iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJib3NlIGRpZmYgaXMgc3RyaXBwZWQgb3V0IHdpdGggc2V0IGNvcmUuY29tbWVudENoYXInICcKKwkoCisJCUdJVF9FRElUT1I9Y2F0ICYmCisJCWV4cG9ydCBHSVRfRURJVE9SICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBjb3JlLmNvbW1lbnRjaGFyPSI7IiBjb21taXQgLWEgLXYgMj5lcnIKKwkpICYmCisJdGVzdF9pMThuZ3JlcCAiQWJvcnRpbmcgY29tbWl0IGR1ZSB0byBlbXB0eSBjb21taXQgbWVzc2FnZS4iIGVycgorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDc1MDgtc3RhdHVzLnNoIGIvdC90NzUwOC1zdGF0dXMuc2gKaW5kZXggYWMzZDBmZS4uYzk4N2I1ZSAxMDA3NTUKLS0tIGEvdC90NzUwOC1zdGF0dXMuc2gKKysrIGIvdC90NzUwOC1zdGF0dXMuc2gKQEAgLTYwLDggKzYwLDEzIEBACiAJdGVzdF9pMThuZ3JlcCAidXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPlwuXC5cLlwiIHRvIHVuc3RhZ2UiIG91dHB1dAogJwogCitzdHJpcF9jb21tZW50cyAoKSB7CisJdGFiPScJJworCXNlZCAicy9eXCMgLy87IHMvXlwjJC8vOyBzL14jJHRhYi8kdGFiLyIgPCIkMSIgPiIkMSIudG1wICYmCisJcm0gIiQxIiAmJiBtdiAiJDEiLnRtcCAiJDEiCit9CisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyAtLWNvbHVtbicgJwotCUNPTFVNTlM9NTAgZ2l0IHN0YXR1cyAtLWNvbHVtbj0iY29sdW1uIGRlbnNlIiA+b3V0cHV0ICYmCiAJY2F0ID5leHBlY3QgPDxcRU9GICYmCiAjIE9uIGJyYW5jaCBtYXN0ZXIKICMgQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CkBAIC03OCw5ICs4MywxNyBAQAogIyBVbnRyYWNrZWQgZmlsZXM6CiAjICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKICMKLSMJZGlyMS91bnRyYWNrZWQgZGlyMi91bnRyYWNrZWQgdW50cmFja2VkCi0jCWRpcjIvbW9kaWZpZWQgIG91dHB1dAorIwlkaXIxL3VudHJhY2tlZCBkaXIyL3VudHJhY2tlZCBvdXRwdXQKKyMJZGlyMi9tb2RpZmllZCAgZXhwZWN0ICAgICAgICAgdW50cmFja2VkCisjCiBFT0YKKwlDT0xVTU5TPTUwIGdpdCAtYyBzdGF0dXMuZGlzcGxheUNvbW1lbnRQcmVmaXg9dHJ1ZSBzdGF0dXMgLS1jb2x1bW49ImNvbHVtbiBkZW5zZSIgPm91dHB1dCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3Qgb3V0cHV0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyAtLWNvbHVtbiBzdGF0dXMuZGlzcGxheUNvbW1lbnRQcmVmaXg9ZmFsc2UnICcKKwlzdHJpcF9jb21tZW50cyBleHBlY3QgJiYKKwlDT0xVTU5TPTQ5IGdpdCAtYyBzdGF0dXMuZGlzcGxheUNvbW1lbnRQcmVmaXg9ZmFsc2Ugc3RhdHVzIC0tY29sdW1uPSJjb2x1bW4gZGVuc2UiID5vdXRwdXQgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dHB1dAogJwogCkBAIC0xMDYsMjggKzExOSw1OCBAQAogIwlleHBlY3QKICMJb3V0cHV0CiAjCXVudHJhY2tlZAorIwogRU9GCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyAoMiknICcKLQlnaXQgc3RhdHVzID5vdXRwdXQgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyB3aXRoIHN0YXR1cy5kaXNwbGF5Q29tbWVudFByZWZpeD10cnVlJyAnCisJZ2l0IC1jIHN0YXR1cy5kaXNwbGF5Q29tbWVudFByZWZpeD10cnVlIHN0YXR1cyA+b3V0cHV0ICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdCBvdXRwdXQKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHdpdGggc3RhdHVzLmRpc3BsYXlDb21tZW50UHJlZml4PWZhbHNlJyAnCisJc3RyaXBfY29tbWVudHMgZXhwZWN0ICYmCisJZ2l0IC1jIHN0YXR1cy5kaXNwbGF5Q29tbWVudFByZWZpeD1mYWxzZSBzdGF0dXMgPm91dHB1dCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3Qgb3V0cHV0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGZha2UgZWRpdG9yJyAnCisJY2F0ID4uZ2l0L2VkaXRvciA8PC1cRU9GICYmCisJIyEgL2Jpbi9zaAorCWNwICIkMSIgb3V0cHV0CitFT0YKKwljaG1vZCA3NTUgLmdpdC9lZGl0b3IKKycKKworY29tbWl0X3RlbXBsYXRlX2NvbW1lbnRlZCAoKSB7CisJKAorCQlFRElUT1I9LmdpdC9lZGl0b3IgJiYKKwkJZXhwb3J0IEVESVRPUiAmJgorCQkjIEZhaWxzIGR1ZSB0byBlbXB0eSBtZXNzYWdlCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBjb21taXQKKwkpICYmCisJISBncmVwICdeW14jXScgb3V0cHV0Cit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbW1pdCBpZ25vcmVzIHN0YXR1cy5kaXNwbGF5Q29tbWVudFByZWZpeD1mYWxzZSBpbiBDT01NSVRfRURJVE1TRycgJworCWNvbW1pdF90ZW1wbGF0ZV9jb21tZW50ZWQKKycKKwogY2F0ID5leHBlY3QgPDxcRU9GCi0jIE9uIGJyYW5jaCBtYXN0ZXIKLSMgQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0jCW5ldyBmaWxlOiAgIGRpcjIvYWRkZWQKLSMKLSMgQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6Ci0jCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKLSMKLSMgVW50cmFja2VkIGZpbGVzOgotIwlkaXIxL3VudHJhY2tlZAotIwlkaXIyL21vZGlmaWVkCi0jCWRpcjIvdW50cmFja2VkCi0jCWV4cGVjdAotIwlvdXRwdXQKLSMJdW50cmFja2VkCitPbiBicmFuY2ggbWFzdGVyCitDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKKwluZXcgZmlsZTogICBkaXIyL2FkZGVkCisKK0NoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgorCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKKworVW50cmFja2VkIGZpbGVzOgorCWRpcjEvdW50cmFja2VkCisJZGlyMi9tb2RpZmllZAorCWRpcjIvdW50cmFja2VkCisJZXhwZWN0CisJb3V0cHV0CisJdW50cmFja2VkCisKIEVPRgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgKGFkdmljZS5zdGF0dXNIaW50cyBmYWxzZSknICcKQEAgLTE4NSwzMyArMjI4LDM1IEBACiAJZ2l0IHN0YXR1cyAtcyAtLWlnbm9yZWQgPm91dHB1dCAmJgogCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQgJiYKIAotCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKLQkjIE9uIGJyYW5jaCBtYXN0ZXIKLQkjIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotCSMgICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0JIwotCSMJbmV3IGZpbGU6ICAgZGlyMi9hZGRlZAotCSMKLQkjIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgotCSMgICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0JIyAgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLQkjCi0JIwltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCi0JIwotCSMgVW50cmFja2VkIGZpbGVzOgotCSMgICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotCSMKLQkjCWRpcjIvbW9kaWZpZWQKLQkjIElnbm9yZWQgZmlsZXM6Ci0JIyAgICh1c2UgImdpdCBhZGQgLWYgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0JIwotCSMJLmdpdGlnbm9yZQotCSMJZGlyMS91bnRyYWNrZWQKLQkjCWRpcjIvdW50cmFja2VkCi0JIwlleHBlY3QKLQkjCW91dHB1dAotCSMJdW50cmFja2VkCi0JRU9GCisJY2F0ID5leHBlY3QgPDxcRU9GICYmCitPbiBicmFuY2ggbWFzdGVyCitDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKKyAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQorCisJbmV3IGZpbGU6ICAgZGlyMi9hZGRlZAorCitDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKKyAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQorICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCisKKwltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCisKK1VudHJhY2tlZCBmaWxlczoKKyAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKKworCWRpcjIvbW9kaWZpZWQKKworSWdub3JlZCBmaWxlczoKKyAgKHVzZSAiZ2l0IGFkZCAtZiA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKKworCS5naXRpZ25vcmUKKwlkaXIxL3VudHJhY2tlZAorCWRpcjIvdW50cmFja2VkCisJZXhwZWN0CisJb3V0cHV0CisJdW50cmFja2VkCisKK0VPRgogCWdpdCBzdGF0dXMgLS1pZ25vcmVkID5vdXRwdXQgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dHB1dAogJwpAQCAtMjQ2LDMwICsyOTEsMzEgQEAKIAlnaXQgc3RhdHVzIC1zIC0taWdub3JlZCA+b3V0cHV0ICYmCiAJdGVzdF9jbXAgZXhwZWN0IG91dHB1dCAmJgogCi0JY2F0ID5leHBlY3QgPDwtXEVPRiAmJgotCSMgT24gYnJhbmNoIG1hc3RlcgotCSMgQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0JIyAgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKLQkjCi0JIwluZXcgZmlsZTogICBkaXIyL2FkZGVkCi0JIwotCSMgQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6Ci0JIyAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLQkjICAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQotCSMKLQkjCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKLQkjCi0JIyBJZ25vcmVkIGZpbGVzOgotCSMgICAodXNlICJnaXQgYWRkIC1mIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotCSMKLQkjCS5naXRpZ25vcmUKLQkjCWRpcjEvdW50cmFja2VkCi0JIwlkaXIyL21vZGlmaWVkCi0JIwlkaXIyL3VudHJhY2tlZAotCSMJZXhwZWN0Ci0JIwlvdXRwdXQKLQkjCXVudHJhY2tlZAotCUVPRgorCWNhdCA+ZXhwZWN0IDw8XEVPRiAmJgorT24gYnJhbmNoIG1hc3RlcgorQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CisgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKKworCW5ldyBmaWxlOiAgIGRpcjIvYWRkZWQKKworQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6CisgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKKyAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQorCisJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAorCitJZ25vcmVkIGZpbGVzOgorICAodXNlICJnaXQgYWRkIC1mIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQorCisJLmdpdGlnbm9yZQorCWRpcjEvdW50cmFja2VkCisJZGlyMi9tb2RpZmllZAorCWRpcjIvdW50cmFja2VkCisJZXhwZWN0CisJb3V0cHV0CisJdW50cmFja2VkCisKK0VPRgogCWdpdCBzdGF0dXMgLS1pZ25vcmVkID5vdXRwdXQgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dHB1dAogJwpAQCAtMzEwLDIyICszNTYsMjIgQEAKIAk6ID5kaXIzL3VudHJhY2tlZDIKICcKIAotY2F0ID5leHBlY3QgPDxFT0YKLSMgT24gYnJhbmNoIG1hc3RlcgotIyBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLSMgICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0jCi0jCW5ldyBmaWxlOiAgIGRpcjIvYWRkZWQKLSMKLSMgQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6Ci0jICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotIyAgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLSMKLSMJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAotIwotIyBVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKLUVPRgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIC11bm8nICcKKwljYXQgPmV4cGVjdCA8PEVPRiAmJgorT24gYnJhbmNoIG1hc3RlcgorQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CisgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKKworCW5ldyBmaWxlOiAgIGRpcjIvYWRkZWQKKworQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6CisgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKKyAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQorCisJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAorCitVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKK0VPRgogCWdpdCBzdGF0dXMgLXVubyA+b3V0cHV0ICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdCBvdXRwdXQKICcKQEAgLTMzNiwxNyArMzgyLDE3IEBACiAJdGVzdF9pMThuY21wIGV4cGVjdCBvdXRwdXQKICcKIAotY2F0ID5leHBlY3QgPDxFT0YKLSMgT24gYnJhbmNoIG1hc3RlcgotIyBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLSMJbmV3IGZpbGU6ICAgZGlyMi9hZGRlZAotIwotIyBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKLSMJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAotIwotIyBVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZAotRU9GCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgLXVubyAoYWR2aWNlLnN0YXR1c0hpbnRzIGZhbHNlKScgJworCWNhdCA+ZXhwZWN0IDw8RU9GICYmCitPbiBicmFuY2ggbWFzdGVyCitDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKKwluZXcgZmlsZTogICBkaXIyL2FkZGVkCisKK0NoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgorCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKKworVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQKK0VPRgogCXRlc3RfY29uZmlnIGFkdmljZS5zdGF0dXNIaW50cyBmYWxzZSAmJgogCWdpdCBzdGF0dXMgLXVubyA+b3V0cHV0ICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdCBvdXRwdXQKQEAgLTM2NywzMSArNDEzLDMyIEBACiAJdGVzdF9jbXAgZXhwZWN0IG91dHB1dAogJwogCi1jYXQgPmV4cGVjdCA8PEVPRgotIyBPbiBicmFuY2ggbWFzdGVyCi0jIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotIyAgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKLSMKLSMJbmV3IGZpbGU6ICAgZGlyMi9hZGRlZAotIwotIyBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKLSMgICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0jICAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQotIwotIwltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCi0jCi0jIFVudHJhY2tlZCBmaWxlczoKLSMgICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotIwotIwlkaXIxL3VudHJhY2tlZAotIwlkaXIyL21vZGlmaWVkCi0jCWRpcjIvdW50cmFja2VkCi0jCWRpcjMvCi0jCWV4cGVjdAotIwlvdXRwdXQKLSMJdW50cmFja2VkCi1FT0YKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyAtdW5vcm1hbCcgJworCWNhdCA+ZXhwZWN0IDw8RU9GICYmCitPbiBicmFuY2ggbWFzdGVyCitDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKKyAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQorCisJbmV3IGZpbGU6ICAgZGlyMi9hZGRlZAorCitDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKKyAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQorICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCisKKwltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCisKK1VudHJhY2tlZCBmaWxlczoKKyAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKKworCWRpcjEvdW50cmFja2VkCisJZGlyMi9tb2RpZmllZAorCWRpcjIvdW50cmFja2VkCisJZGlyMy8KKwlleHBlY3QKKwlvdXRwdXQKKwl1bnRyYWNrZWQKKworRU9GCiAJZ2l0IHN0YXR1cyAtdW5vcm1hbCA+b3V0cHV0ICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdCBvdXRwdXQKICcKQEAgLTQyNCwzMiArNDcxLDMzIEBACiAJdGVzdF9jbXAgZXhwZWN0IG91dHB1dAogJwogCi1jYXQgPmV4cGVjdCA8PEVPRgotIyBPbiBicmFuY2ggbWFzdGVyCi0jIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotIyAgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKLSMKLSMJbmV3IGZpbGU6ICAgZGlyMi9hZGRlZAotIwotIyBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKLSMgICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0jICAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQotIwotIwltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCi0jCi0jIFVudHJhY2tlZCBmaWxlczoKLSMgICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotIwotIwlkaXIxL3VudHJhY2tlZAotIwlkaXIyL21vZGlmaWVkCi0jCWRpcjIvdW50cmFja2VkCi0jCWRpcjMvdW50cmFja2VkMQotIwlkaXIzL3VudHJhY2tlZDIKLSMJZXhwZWN0Ci0jCW91dHB1dAotIwl1bnRyYWNrZWQKLUVPRgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIC11YWxsJyAnCisJY2F0ID5leHBlY3QgPDxFT0YgJiYKK09uIGJyYW5jaCBtYXN0ZXIKK0NoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgorICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCisKKwluZXcgZmlsZTogICBkaXIyL2FkZGVkCisKK0NoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgorICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCisgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKKworCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKKworVW50cmFja2VkIGZpbGVzOgorICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQorCisJZGlyMS91bnRyYWNrZWQKKwlkaXIyL21vZGlmaWVkCisJZGlyMi91bnRyYWNrZWQKKwlkaXIzL3VudHJhY2tlZDEKKwlkaXIzL3VudHJhY2tlZDIKKwlleHBlY3QKKwlvdXRwdXQKKwl1bnRyYWNrZWQKKworRU9GCiAJZ2l0IHN0YXR1cyAtdWFsbCA+b3V0cHV0ICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdCBvdXRwdXQKICcKQEAgLTQ4NiwzMSArNTM0LDMxIEBACiAJdGVzdF9jbXAgZXhwZWN0IG91dHB1dAogJwogCi1jYXQgPmV4cGVjdCA8PFxFT0YKLSMgT24gYnJhbmNoIG1hc3RlcgotIyBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLSMgICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0jCi0jCW5ldyBmaWxlOiAgIC4uL2RpcjIvYWRkZWQKLSMKLSMgQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6Ci0jICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotIyAgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLSMKLSMJbW9kaWZpZWQ6ICAgbW9kaWZpZWQKLSMKLSMgVW50cmFja2VkIGZpbGVzOgotIyAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0jCi0jCXVudHJhY2tlZAotIwkuLi9kaXIyL21vZGlmaWVkCi0jCS4uL2RpcjIvdW50cmFja2VkCi0jCS4uL2V4cGVjdAotIwkuLi9vdXRwdXQKLSMJLi4vdW50cmFja2VkCi1FT0YKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHdpdGggcmVsYXRpdmUgcGF0aHMnICcKKwljYXQgPmV4cGVjdCA8PFxFT0YgJiYKK09uIGJyYW5jaCBtYXN0ZXIKK0NoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgorICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCisKKwluZXcgZmlsZTogICAuLi9kaXIyL2FkZGVkCisKK0NoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgorICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCisgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKKworCW1vZGlmaWVkOiAgIG1vZGlmaWVkCisKK1VudHJhY2tlZCBmaWxlczoKKyAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKKworCXVudHJhY2tlZAorCS4uL2RpcjIvbW9kaWZpZWQKKwkuLi9kaXIyL3VudHJhY2tlZAorCS4uL2V4cGVjdAorCS4uL291dHB1dAorCS4uL3VudHJhY2tlZAorCitFT0YKIAkoY2QgZGlyMSAmJiBnaXQgc3RhdHVzKSA+b3V0cHV0ICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdCBvdXRwdXQKICcKQEAgLTU1NywzMSArNjA1LDMxIEBACiAKICcKIAotY2F0ID5leHBlY3QgPDxcRU9GCi0jIE9uIGJyYW5jaCA8R1JFRU4+bWFzdGVyPFJFU0VUPgotIyBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLSMgICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0jCi0jCTxHUkVFTj5uZXcgZmlsZTogICBkaXIyL2FkZGVkPFJFU0VUPgotIwotIyBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKLSMgICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0jICAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQotIwotIwk8UkVEPm1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQ8UkVTRVQ+Ci0jCi0jIFVudHJhY2tlZCBmaWxlczoKLSMgICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotIwotIwk8QkxVRT5kaXIxL3VudHJhY2tlZDxSRVNFVD4KLSMJPEJMVUU+ZGlyMi9tb2RpZmllZDxSRVNFVD4KLSMJPEJMVUU+ZGlyMi91bnRyYWNrZWQ8UkVTRVQ+Ci0jCTxCTFVFPmV4cGVjdDxSRVNFVD4KLSMJPEJMVUU+b3V0cHV0PFJFU0VUPgotIwk8QkxVRT51bnRyYWNrZWQ8UkVTRVQ+Ci1FT0YKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHdpdGggY29sb3IudWknICcKKwljYXQgPmV4cGVjdCA8PFxFT0YgJiYKK09uIGJyYW5jaCA8R1JFRU4+bWFzdGVyPFJFU0VUPgorQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CisgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKKworCTxHUkVFTj5uZXcgZmlsZTogICBkaXIyL2FkZGVkPFJFU0VUPgorCitDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKKyAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQorICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCisKKwk8UkVEPm1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQ8UkVTRVQ+CisKK1VudHJhY2tlZCBmaWxlczoKKyAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKKworCTxCTFVFPmRpcjEvdW50cmFja2VkPFJFU0VUPgorCTxCTFVFPmRpcjIvbW9kaWZpZWQ8UkVTRVQ+CisJPEJMVUU+ZGlyMi91bnRyYWNrZWQ8UkVTRVQ+CisJPEJMVUU+ZXhwZWN0PFJFU0VUPgorCTxCTFVFPm91dHB1dDxSRVNFVD4KKwk8QkxVRT51bnRyYWNrZWQ8UkVTRVQ+CisKK0VPRgogCXRlc3RfY29uZmlnIGNvbG9yLnVpIGFsd2F5cyAmJgogCWdpdCBzdGF0dXMgfCB0ZXN0X2RlY29kZV9jb2xvciA+b3V0cHV0ICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdCBvdXRwdXQKQEAgLTY4NSwzMyArNzMzLDMzIEBACiAKICcKIAotY2F0ID5leHBlY3QgPDxcRU9GCi0jIE9uIGJyYW5jaCBtYXN0ZXIKLSMgQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0jICAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQotIwotIwluZXcgZmlsZTogICBkaXIyL2FkZGVkCi0jCi0jIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgotIyAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLSMgICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCi0jCi0jCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKLSMKLSMgVW50cmFja2VkIGZpbGVzOgotIyAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0jCi0jCWRpcjEvdW50cmFja2VkCi0jCWRpcjIvbW9kaWZpZWQKLSMJZGlyMi91bnRyYWNrZWQKLSMJZXhwZWN0Ci0jCW91dHB1dAotIwl1bnRyYWNrZWQKLUVPRgogCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyB3aXRob3V0IHJlbGF0aXZlIHBhdGhzJyAnCisJY2F0ID5leHBlY3QgPDxcRU9GICYmCitPbiBicmFuY2ggbWFzdGVyCitDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKKyAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogCisJbmV3IGZpbGU6ICAgZGlyMi9hZGRlZAorCitDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKKyAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQorICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCisKKwltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCisKK1VudHJhY2tlZCBmaWxlczoKKyAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKKworCWRpcjEvdW50cmFja2VkCisJZGlyMi9tb2RpZmllZAorCWRpcjIvdW50cmFja2VkCisJZXhwZWN0CisJb3V0cHV0CisJdW50cmFja2VkCisKK0VPRgogCXRlc3RfY29uZmlnIHN0YXR1cy5yZWxhdGl2ZVBhdGhzIGZhbHNlICYmCiAJKGNkIGRpcjEgJiYgZ2l0IHN0YXR1cykgPm91dHB1dCAmJgogCXRlc3RfaTE4bmNtcCBleHBlY3Qgb3V0cHV0CkBAIC03MzcsMjMgKzc4NSwyNCBAQAogCiAnCiAKLWNhdCA8PEVPRiA+ZXhwZWN0Ci0jIE9uIGJyYW5jaCBtYXN0ZXIKLSMgQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0jICAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQotIwotIwltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCi0jCi0jIFVudHJhY2tlZCBmaWxlczoKLSMgICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotIwotIwlkaXIxL3VudHJhY2tlZAotIwlkaXIyLwotIwlleHBlY3QKLSMJb3V0cHV0Ci0jCXVudHJhY2tlZAotRU9GCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkcnktcnVuIG9mIHBhcnRpYWwgY29tbWl0IGV4Y2x1ZGluZyBuZXcgZmlsZSBpbiBpbmRleCcgJworCWNhdCA+ZXhwZWN0IDw8RU9GICYmCitPbiBicmFuY2ggbWFzdGVyCitDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKKyAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQorCisJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAorCitVbnRyYWNrZWQgZmlsZXM6CisgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCisKKwlkaXIxL3VudHJhY2tlZAorCWRpcjIvCisJZXhwZWN0CisJb3V0cHV0CisJdW50cmFja2VkCisKK0VPRgogCWdpdCBjb21taXQgLS1kcnktcnVuIGRpcjEvbW9kaWZpZWQgPm91dHB1dCAmJgogCXRlc3RfaTE4bmNtcCBleHBlY3Qgb3V0cHV0CiAnCkBAIC03NzgsMzEgKzgyNywzMiBAQAogCWdpdCBhZGQgc20KICcKIAotY2F0ID5leHBlY3QgPDxFT0YKLSMgT24gYnJhbmNoIG1hc3RlcgotIyBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLSMgICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0jCi0jCW5ldyBmaWxlOiAgIGRpcjIvYWRkZWQKLSMJbmV3IGZpbGU6ICAgc20KLSMKLSMgQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6Ci0jICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotIyAgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLSMKLSMJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAotIwotIyBVbnRyYWNrZWQgZmlsZXM6Ci0jICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLSMKLSMJZGlyMS91bnRyYWNrZWQKLSMJZGlyMi9tb2RpZmllZAotIwlkaXIyL3VudHJhY2tlZAotIwlleHBlY3QKLSMJb3V0cHV0Ci0jCXVudHJhY2tlZAotRU9GCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgc3VibW9kdWxlIHN1bW1hcnkgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCcgJworCWNhdCA+ZXhwZWN0IDw8RU9GICYmCitPbiBicmFuY2ggbWFzdGVyCitDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKKyAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQorCisJbmV3IGZpbGU6ICAgZGlyMi9hZGRlZAorCW5ldyBmaWxlOiAgIHNtCisKK0NoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgorICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCisgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKKworCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKKworVW50cmFja2VkIGZpbGVzOgorICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQorCisJZGlyMS91bnRyYWNrZWQKKwlkaXIyL21vZGlmaWVkCisJZGlyMi91bnRyYWNrZWQKKwlleHBlY3QKKwlvdXRwdXQKKwl1bnRyYWNrZWQKKworRU9GCiAJZ2l0IHN0YXR1cyA+b3V0cHV0ICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdCBvdXRwdXQKICcKQEAgLTgzNyw0MSArODg3LDUyIEBACiAKIGhlYWQ9JChjZCBzbSAmJiBnaXQgcmV2LXBhcnNlIC0tc2hvcnQ9NyAtLXZlcmlmeSBIRUFEKQogCi1jYXQgPmV4cGVjdCA8PEVPRgotIyBPbiBicmFuY2ggbWFzdGVyCi0jIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotIyAgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKLSMKLSMJbmV3IGZpbGU6ICAgZGlyMi9hZGRlZAotIwluZXcgZmlsZTogICBzbQotIwotIyBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKLSMgICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0jICAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQotIwotIwltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCi0jCi0jIFN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLSMKLSMgKiBzbSAwMDAwMDAwLi4uJGhlYWQgKDEpOgotIyAgID4gQWRkIGZvbwotIwotIyBVbnRyYWNrZWQgZmlsZXM6Ci0jICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLSMKLSMJZGlyMS91bnRyYWNrZWQKLSMJZGlyMi9tb2RpZmllZAotIwlkaXIyL3VudHJhY2tlZAotIwlleHBlY3QKLSMJb3V0cHV0Ci0jCXVudHJhY2tlZAotRU9GCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgc3VibW9kdWxlIHN1bW1hcnknICcKKwljYXQgPmV4cGVjdCA8PEVPRiAmJgorT24gYnJhbmNoIG1hc3RlcgorQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CisgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKKworCW5ldyBmaWxlOiAgIGRpcjIvYWRkZWQKKwluZXcgZmlsZTogICBzbQorCitDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKKyAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQorICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCisKKwltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCisKK1N1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKKworKiBzbSAwMDAwMDAwLi4uJGhlYWQgKDEpOgorICA+IEFkZCBmb28KKworVW50cmFja2VkIGZpbGVzOgorICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQorCisJZGlyMS91bnRyYWNrZWQKKwlkaXIyL21vZGlmaWVkCisJZGlyMi91bnRyYWNrZWQKKwlleHBlY3QKKwlvdXRwdXQKKwl1bnRyYWNrZWQKKworRU9GCiAJZ2l0IGNvbmZpZyBzdGF0dXMuc3VibW9kdWxlc3VtbWFyeSAxMCAmJgogCWdpdCBzdGF0dXMgPm91dHB1dCAmJgogCXRlc3RfaTE4bmNtcCBleHBlY3Qgb3V0cHV0CiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyBzdWJtb2R1bGUgc3VtbWFyeSB3aXRoIHN0YXR1cy5kaXNwbGF5Q29tbWVudFByZWZpeD1mYWxzZScgJworCXN0cmlwX2NvbW1lbnRzIGV4cGVjdCAmJgorCWdpdCAtYyBzdGF0dXMuZGlzcGxheUNvbW1lbnRQcmVmaXg9ZmFsc2Ugc3RhdHVzID5vdXRwdXQgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dHB1dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21taXQgd2l0aCBzdWJtb2R1bGUgc3VtbWFyeSBpZ25vcmVzIHN0YXR1cy5kaXNwbGF5Q29tbWVudFByZWZpeCcgJworCWNvbW1pdF90ZW1wbGF0ZV9jb21tZW50ZWQKKycKKwogY2F0ID5leHBlY3QgPDxFT0YKICBNIGRpcjEvbW9kaWZpZWQKIEEgIGRpcjIvYWRkZWQKQEAgLTg4OCwyNiArOTQ5LDI3IEBACiAJdGVzdF9jbXAgZXhwZWN0IG91dHB1dAogJwogCi1jYXQgPmV4cGVjdCA8PEVPRgotIyBPbiBicmFuY2ggbWFzdGVyCi0jIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgotIyAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLSMgICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCi0jCi0jCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKLSMKLSMgVW50cmFja2VkIGZpbGVzOgotIyAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0jCi0jCWRpcjEvdW50cmFja2VkCi0jCWRpcjIvbW9kaWZpZWQKLSMJZGlyMi91bnRyYWNrZWQKLSMJZXhwZWN0Ci0jCW91dHB1dAotIwl1bnRyYWNrZWQKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyBzdWJtb2R1bGUgc3VtbWFyeSAoY2xlYW4gc3VibW9kdWxlKTogY29tbWl0JyAnCisJY2F0ID5leHBlY3QgPDxFT0YgJiYKK09uIGJyYW5jaCBtYXN0ZXIKK0NoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgorICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCisgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKKworCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKKworVW50cmFja2VkIGZpbGVzOgorICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQorCisJZGlyMS91bnRyYWNrZWQKKwlkaXIyL21vZGlmaWVkCisJZGlyMi91bnRyYWNrZWQKKwlleHBlY3QKKwlvdXRwdXQKKwl1bnRyYWNrZWQKKwogbm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSAiZ2l0IGFkZCIgYW5kL29yICJnaXQgY29tbWl0IC1hIikKIEVPRgotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHN1Ym1vZHVsZSBzdW1tYXJ5IChjbGVhbiBzdWJtb2R1bGUpOiBjb21taXQnICcKIAlnaXQgY29tbWl0IC1tICJjb21taXQgc3VibW9kdWxlIiAmJgogCWdpdCBjb25maWcgc3RhdHVzLnN1Ym1vZHVsZXN1bW1hcnkgMTAgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0IC0tZHJ5LXJ1biA+b3V0cHV0ICYmCkBAIC05MzIsNDEgKzk5NCw0MiBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgLXogaW1wbGllcyBwb3JjZWxhaW4nICcKIAlnaXQgc3RhdHVzIC0tcG9yY2VsYWluIHwKLQkiJFBFUkxfUEFUSCIgLXBlICJzL1wwMTIvXDAwMC9nIiA+ZXhwZWN0ICYmCisJcGVybCAtcGUgInMvXDAxMi9cMDAwL2ciID5leHBlY3QgJiYKIAlnaXQgc3RhdHVzIC16ID5vdXRwdXQgJiYKIAl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CiAnCiAKLWNhdCA+ZXhwZWN0IDw8RU9GCi0jIE9uIGJyYW5jaCBtYXN0ZXIKLSMgQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0jICAgKHVzZSAiZ2l0IHJlc2V0IEhFQUReMSA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0jCi0jCW5ldyBmaWxlOiAgIGRpcjIvYWRkZWQKLSMJbmV3IGZpbGU6ICAgc20KLSMKLSMgQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6Ci0jICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotIyAgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLSMKLSMJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAotIwotIyBTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0jCi0jICogc20gMDAwMDAwMC4uLiRoZWFkICgxKToKLSMgICA+IEFkZCBmb28KLSMKLSMgVW50cmFja2VkIGZpbGVzOgotIyAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0jCi0jCWRpcjEvdW50cmFja2VkCi0jCWRpcjIvbW9kaWZpZWQKLSMJZGlyMi91bnRyYWNrZWQKLSMJZXhwZWN0Ci0jCW91dHB1dAotIwl1bnRyYWNrZWQKLUVPRgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tbWl0IC0tZHJ5LXJ1biBzdWJtb2R1bGUgc3VtbWFyeSAoLS1hbWVuZCknICcKKwljYXQgPmV4cGVjdCA8PEVPRiAmJgorT24gYnJhbmNoIG1hc3RlcgorQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CisgICh1c2UgImdpdCByZXNldCBIRUFEXjEgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQorCisJbmV3IGZpbGU6ICAgZGlyMi9hZGRlZAorCW5ldyBmaWxlOiAgIHNtCisKK0NoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgorICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCisgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKKworCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKKworU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgorCisqIHNtIDAwMDAwMDAuLi4kaGVhZCAoMSk6CisgID4gQWRkIGZvbworCitVbnRyYWNrZWQgZmlsZXM6CisgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCisKKwlkaXIxL3VudHJhY2tlZAorCWRpcjIvbW9kaWZpZWQKKwlkaXIyL3VudHJhY2tlZAorCWV4cGVjdAorCW91dHB1dAorCXVudHJhY2tlZAorCitFT0YKIAlnaXQgY29uZmlnIHN0YXR1cy5zdWJtb2R1bGVzdW1tYXJ5IDEwICYmCiAJZ2l0IGNvbW1pdCAtLWRyeS1ydW4gLS1hbWVuZCA+b3V0cHV0ICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdCBvdXRwdXQKQEAgLTk5MSwzNyArMTA1NCwzNyBAQAogbmV3X2hlYWQ9JChjZCBzbSAmJiBnaXQgcmV2LXBhcnNlIC0tc2hvcnQ9NyAtLXZlcmlmeSBIRUFEKQogdG91Y2ggLmdpdG1vZHVsZXMKIAotY2F0ID4gZXhwZWN0IDw8IEVPRgotIyBPbiBicmFuY2ggbWFzdGVyCi0jIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotIyAgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKLSMKLSMJbW9kaWZpZWQ6ICAgc20KLSMKLSMgQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6Ci0jICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotIyAgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLSMKLSMJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAotIwotIyBTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0jCi0jICogc20gJGhlYWQuLi4kbmV3X2hlYWQgKDEpOgotIyAgID4gQWRkIGJhcgotIwotIyBVbnRyYWNrZWQgZmlsZXM6Ci0jICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLSMKLSMJLmdpdG1vZHVsZXMKLSMJZGlyMS91bnRyYWNrZWQKLSMJZGlyMi9tb2RpZmllZAotIwlkaXIyL3VudHJhY2tlZAotIwlleHBlY3QKLSMJb3V0cHV0Ci0jCXVudHJhY2tlZAotRU9GCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0taWdub3JlLXN1Ym1vZHVsZXM9dW50cmFja2VkIHN1cHByZXNzZXMgc3VibW9kdWxlcyB3aXRoIHVudHJhY2tlZCBjb250ZW50JyAnCisJY2F0ID4gZXhwZWN0IDw8IEVPRiAmJgorT24gYnJhbmNoIG1hc3RlcgorQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CisgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKKworCW1vZGlmaWVkOiAgIHNtCisKK0NoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgorICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCisgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKKworCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKKworU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgorCisqIHNtICRoZWFkLi4uJG5ld19oZWFkICgxKToKKyAgPiBBZGQgYmFyCisKK1VudHJhY2tlZCBmaWxlczoKKyAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKKworCS5naXRtb2R1bGVzCisJZGlyMS91bnRyYWNrZWQKKwlkaXIyL21vZGlmaWVkCisJZGlyMi91bnRyYWNrZWQKKwlleHBlY3QKKwlvdXRwdXQKKwl1bnRyYWNrZWQKKworRU9GCiAJZWNobyBtb2RpZmllZCAgc20vdW50cmFja2VkICYmCiAJZ2l0IHN0YXR1cyAtLWlnbm9yZS1zdWJtb2R1bGVzPXVudHJhY2tlZCA+b3V0cHV0ICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdCBvdXRwdXQKQEAgLTExMDEsMzkgKzExNjQsMzkgQEAKIAlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzICAtLXJlbW92ZS1zZWN0aW9uIHN1Ym1vZHVsZS5zdWJuYW1lCiAnCiAKLWNhdCA+IGV4cGVjdCA8PCBFT0YKLSMgT24gYnJhbmNoIG1hc3RlcgotIyBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLSMgICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0jCi0jCW1vZGlmaWVkOiAgIHNtCi0jCi0jIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgotIyAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLSMgICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCi0jICAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKQotIwotIwltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCi0jCW1vZGlmaWVkOiAgIHNtIChtb2RpZmllZCBjb250ZW50KQotIwotIyBTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0jCi0jICogc20gJGhlYWQuLi4kbmV3X2hlYWQgKDEpOgotIyAgID4gQWRkIGJhcgotIwotIyBVbnRyYWNrZWQgZmlsZXM6Ci0jICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLSMKLSMJLmdpdG1vZHVsZXMKLSMJZGlyMS91bnRyYWNrZWQKLSMJZGlyMi9tb2RpZmllZAotIwlkaXIyL3VudHJhY2tlZAotIwlleHBlY3QKLSMJb3V0cHV0Ci0jCXVudHJhY2tlZAotRU9GCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgIi0taWdub3JlLXN1Ym1vZHVsZXM9dW50cmFja2VkIGRvZXNuJ3Qgc3VwcHJlc3Mgc3VibW9kdWxlcyB3aXRoIG1vZGlmaWVkIGNvbnRlbnQiICcKKwljYXQgPiBleHBlY3QgPDwgRU9GICYmCitPbiBicmFuY2ggbWFzdGVyCitDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKKyAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQorCisJbW9kaWZpZWQ6ICAgc20KKworQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6CisgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKKyAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQorICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpCisKKwltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCisJbW9kaWZpZWQ6ICAgc20gKG1vZGlmaWVkIGNvbnRlbnQpCisKK1N1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKKworKiBzbSAkaGVhZC4uLiRuZXdfaGVhZCAoMSk6CisgID4gQWRkIGJhcgorCitVbnRyYWNrZWQgZmlsZXM6CisgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCisKKwkuZ2l0bW9kdWxlcworCWRpcjEvdW50cmFja2VkCisJZGlyMi9tb2RpZmllZAorCWRpcjIvdW50cmFja2VkCisJZXhwZWN0CisJb3V0cHV0CisJdW50cmFja2VkCisKK0VPRgogCWdpdCBzdGF0dXMgLS1pZ25vcmUtc3VibW9kdWxlcz11bnRyYWNrZWQgPiBvdXRwdXQgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dHB1dAogJwpAQCAtMTE1OSw0MyArMTIyMiw0MyBAQAogCiBoZWFkMj0kKGNkIHNtICYmIGdpdCBjb21taXQgLXEgLW0gIjJuZCBjb21taXQiIGZvbyAmJiBnaXQgcmV2LXBhcnNlIC0tc2hvcnQ9NyAtLXZlcmlmeSBIRUFEKQogCi1jYXQgPiBleHBlY3QgPDwgRU9GCi0jIE9uIGJyYW5jaCBtYXN0ZXIKLSMgQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0jICAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQotIwotIwltb2RpZmllZDogICBzbQotIwotIyBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKLSMgICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0jICAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQotIwotIwltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCi0jCW1vZGlmaWVkOiAgIHNtIChuZXcgY29tbWl0cykKLSMKLSMgU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotIwotIyAqIHNtICRoZWFkLi4uJG5ld19oZWFkICgxKToKLSMgICA+IEFkZCBiYXIKLSMKLSMgU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoKLSMKLSMgKiBzbSAkbmV3X2hlYWQuLi4kaGVhZDIgKDEpOgotIyAgID4gMm5kIGNvbW1pdAotIwotIyBVbnRyYWNrZWQgZmlsZXM6Ci0jICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLSMKLSMJLmdpdG1vZHVsZXMKLSMJZGlyMS91bnRyYWNrZWQKLSMJZGlyMi9tb2RpZmllZAotIwlkaXIyL3VudHJhY2tlZAotIwlleHBlY3QKLSMJb3V0cHV0Ci0jCXVudHJhY2tlZAotRU9GCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgIi0taWdub3JlLXN1Ym1vZHVsZXM9dW50cmFja2VkIGRvZXNuJ3Qgc3VwcHJlc3Mgc3VibW9kdWxlIHN1bW1hcnkiICcKKwljYXQgPiBleHBlY3QgPDwgRU9GICYmCitPbiBicmFuY2ggbWFzdGVyCitDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKKyAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQorCisJbW9kaWZpZWQ6ICAgc20KKworQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6CisgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKKyAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQorCisJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAorCW1vZGlmaWVkOiAgIHNtIChuZXcgY29tbWl0cykKKworU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgorCisqIHNtICRoZWFkLi4uJG5ld19oZWFkICgxKToKKyAgPiBBZGQgYmFyCisKK1N1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6CisKKyogc20gJG5ld19oZWFkLi4uJGhlYWQyICgxKToKKyAgPiAybmQgY29tbWl0CisKK1VudHJhY2tlZCBmaWxlczoKKyAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKKworCS5naXRtb2R1bGVzCisJZGlyMS91bnRyYWNrZWQKKwlkaXIyL21vZGlmaWVkCisJZGlyMi91bnRyYWNrZWQKKwlleHBlY3QKKwlvdXRwdXQKKwl1bnRyYWNrZWQKKworRU9GCiAJZ2l0IHN0YXR1cyAtLWlnbm9yZS1zdWJtb2R1bGVzPXVudHJhY2tlZCA+IG91dHB1dCAmJgogCXRlc3RfaTE4bmNtcCBleHBlY3Qgb3V0cHV0CiAnCkBAIC0xMjc2LDQ3ICsxMzM5LDQ4IEBACiA7CWV4cGVjdAogOwlvdXRwdXQKIDsJdW50cmFja2VkCis7CiBFT0YKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAic3RhdHVzIChjb3JlLmNvbW1lbnRjaGFyIHdpdGggc3VibW9kdWxlIHN1bW1hcnkpIiAnCiAJdGVzdF9jb25maWcgY29yZS5jb21tZW50Y2hhciAiOyIgJiYKLQlnaXQgc3RhdHVzID5vdXRwdXQgJiYKKwlnaXQgLWMgc3RhdHVzLmRpc3BsYXlDb21tZW50UHJlZml4PXRydWUgc3RhdHVzID5vdXRwdXQgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dHB1dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICJzdGF0dXMgKGNvcmUuY29tbWVudGNoYXIgd2l0aCB0d28gY2hhcnMgd2l0aCBzdWJtb2R1bGUgc3VtbWFyeSkiICcKIAl0ZXN0X2NvbmZpZyBjb3JlLmNvbW1lbnRjaGFyICI7OyIgJiYKLQlnaXQgc3RhdHVzID5vdXRwdXQgJiYKKwlnaXQgLWMgc3RhdHVzLmRpc3BsYXlDb21tZW50UHJlZml4PXRydWUgc3RhdHVzID5vdXRwdXQgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dHB1dAogJwogCi1jYXQgPiBleHBlY3QgPDwgRU9GCi0jIE9uIGJyYW5jaCBtYXN0ZXIKLSMgQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6Ci0jICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotIyAgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLSMKLSMJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAotIwotIyBVbnRyYWNrZWQgZmlsZXM6Ci0jICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLSMKLSMJLmdpdG1vZHVsZXMKLSMJZGlyMS91bnRyYWNrZWQKLSMJZGlyMi9tb2RpZmllZAotIwlkaXIyL3VudHJhY2tlZAotIwlleHBlY3QKLSMJb3V0cHV0Ci0jCXVudHJhY2tlZAordGVzdF9leHBlY3Rfc3VjY2VzcyAiLS1pZ25vcmUtc3VibW9kdWxlcz1hbGwgc3VwcHJlc3NlcyBzdWJtb2R1bGUgc3VtbWFyeSIgJworCWNhdCA+IGV4cGVjdCA8PCBFT0YgJiYKK09uIGJyYW5jaCBtYXN0ZXIKK0NoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgorICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCisgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKKworCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKKworVW50cmFja2VkIGZpbGVzOgorICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQorCisJLmdpdG1vZHVsZXMKKwlkaXIxL3VudHJhY2tlZAorCWRpcjIvbW9kaWZpZWQKKwlkaXIyL3VudHJhY2tlZAorCWV4cGVjdAorCW91dHB1dAorCXVudHJhY2tlZAorCiBubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQogRU9GCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIi0taWdub3JlLXN1Ym1vZHVsZXM9YWxsIHN1cHByZXNzZXMgc3VibW9kdWxlIHN1bW1hcnkiICcKIAlnaXQgc3RhdHVzIC0taWdub3JlLXN1Ym1vZHVsZXM9YWxsID4gb3V0cHV0ICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdCBvdXRwdXQKICcKIAotdGVzdF9leHBlY3RfZmFpbHVyZSAnLmdpdG1vZHVsZXMgaWdub3JlPWFsbCBzdXBwcmVzc2VzIHN1Ym1vZHVsZSBzdW1tYXJ5JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcuZ2l0bW9kdWxlcyBpZ25vcmU9YWxsIHN1cHByZXNzZXMgc3VibW9kdWxlIHN1bW1hcnknICcKIAlnaXQgY29uZmlnIC0tYWRkIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWJuYW1lLmlnbm9yZSBhbGwgJiYKIAlnaXQgY29uZmlnIC0tYWRkIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWJuYW1lLnBhdGggc20gJiYKIAlnaXQgc3RhdHVzID4gb3V0cHV0ICYmCkBAIC0xMzI0LDcgKzEzODgsNyBAQAogCWdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgIC0tcmVtb3ZlLXNlY3Rpb24gc3VibW9kdWxlLnN1Ym5hbWUKICcKIAotdGVzdF9leHBlY3RfZmFpbHVyZSAnLmdpdC9jb25maWcgaWdub3JlPWFsbCBzdXBwcmVzc2VzIHN1Ym1vZHVsZSBzdW1tYXJ5JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcuZ2l0L2NvbmZpZyBpZ25vcmU9YWxsIHN1cHByZXNzZXMgc3VibW9kdWxlIHN1bW1hcnknICcKIAlnaXQgY29uZmlnIC0tYWRkIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWJuYW1lLmlnbm9yZSBub25lICYmCiAJZ2l0IGNvbmZpZyAtLWFkZCAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc3VibmFtZS5wYXRoIHNtICYmCiAJZ2l0IGNvbmZpZyAtLWFkZCBzdWJtb2R1bGUuc3VibmFtZS5pZ25vcmUgYWxsICYmCmRpZmYgLS1naXQgYS90L3Q3NTEyLXN0YXR1cy1oZWxwLnNoIGIvdC90NzUxMi1zdGF0dXMtaGVscC5zaAppbmRleCAzMWE3OThmLi4zY2VjNTdhIDEwMDc1NQotLS0gYS90L3Q3NTEyLXN0YXR1cy1oZWxwLnNoCisrKyBiL3QvdDc1MTItc3RhdHVzLWhlbHAuc2gKQEAgLTI1LDE4ICsyNSwxOCBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgd2hlbiBjb25mbGljdHMgdW5yZXNvbHZlZCcgJwogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBtYXN0ZXIgJiYKLQljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKLQkjIE9uIGJyYW5jaCBjb25mbGljdHMKLQkjIFlvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLgotCSMgICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuICJnaXQgY29tbWl0IikKLQkjCi0JIyBVbm1lcmdlZCBwYXRoczoKLQkjICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIG1hcmsgcmVzb2x1dGlvbikKLQkjCi0JIwlib3RoIG1vZGlmaWVkOiAgICAgIG1haW4udHh0Ci0JIwotCW5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgImdpdCBhZGQiIGFuZC9vciAiZ2l0IGNvbW1pdCAtYSIpCi0JRU9GCisJY2F0ID5leHBlY3RlZCA8PFxFT0YgJiYKK09uIGJyYW5jaCBjb25mbGljdHMKK1lvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLgorICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuICJnaXQgY29tbWl0IikKKworVW5tZXJnZWQgcGF0aHM6CisgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBtYXJrIHJlc29sdXRpb24pCisKKwlib3RoIG1vZGlmaWVkOiAgICAgIG1haW4udHh0CisKK25vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgImdpdCBhZGQiIGFuZC9vciAiZ2l0IGNvbW1pdCAtYSIpCitFT0YKIAlnaXQgc3RhdHVzIC0tdW50cmFja2VkLWZpbGVzPW5vID5hY3R1YWwgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCkBAIC00NywxNyArNDcsMTcgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgbWFzdGVyICYmCiAJZWNobyBvbmUgPm1haW4udHh0ICYmCiAJZ2l0IGFkZCBtYWluLnR4dCAmJgotCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgotCSMgT24gYnJhbmNoIGNvbmZsaWN0cwotCSMgQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLgotCSMgICAodXNlICJnaXQgY29tbWl0IiB0byBjb25jbHVkZSBtZXJnZSkKLQkjCi0JIyBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLQkjCi0JIwltb2RpZmllZDogICBtYWluLnR4dAotCSMKLQkjIFVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQotCUVPRgorCWNhdCA+ZXhwZWN0ZWQgPDxcRU9GICYmCitPbiBicmFuY2ggY29uZmxpY3RzCitBbGwgY29uZmxpY3RzIGZpeGVkIGJ1dCB5b3UgYXJlIHN0aWxsIG1lcmdpbmcuCisgICh1c2UgImdpdCBjb21taXQiIHRvIGNvbmNsdWRlIG1lcmdlKQorCitDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKKworCW1vZGlmaWVkOiAgIG1haW4udHh0CisKK1VudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQorRU9GCiAJZ2l0IHN0YXR1cyAtLXVudHJhY2tlZC1maWxlcz1ubyA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtNzYsMjEgKzc2LDIxIEBACiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmViYXNlIC0tYWJvcnQiICYmCiAJT05UTz0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEXl4pICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSBIRUFEXiAtLW9udG8gSEVBRF5eICYmCi0JY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQkjIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAkT05UTwotCSMgWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICdcJydyZWJhc2VfY29uZmxpY3RzJ1wnJyBvbiAnXCcnJE9OVE8nXCcnLgotCSMgICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gImdpdCByZWJhc2UgLS1jb250aW51ZSIpCi0JIyAgICh1c2UgImdpdCByZWJhc2UgLS1za2lwIiB0byBza2lwIHRoaXMgcGF0Y2gpCi0JIyAgICh1c2UgImdpdCByZWJhc2UgLS1hYm9ydCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpCi0JIwotCSMgVW5tZXJnZWQgcGF0aHM6Ci0JIyAgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKLQkjICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIG1hcmsgcmVzb2x1dGlvbikKLQkjCi0JIwlib3RoIG1vZGlmaWVkOiAgICAgIG1haW4udHh0Ci0JIwotCW5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgImdpdCBhZGQiIGFuZC9vciAiZ2l0IGNvbW1pdCAtYSIpCi0JRU9GCisJY2F0ID5leHBlY3RlZCA8PEVPRiAmJgorcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICRPTlRPCitZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJ1wnJ3JlYmFzZV9jb25mbGljdHMnXCcnIG9uICdcJyckT05UTydcJycuCisgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIikKKyAgKHVzZSAiZ2l0IHJlYmFzZSAtLXNraXAiIHRvIHNraXAgdGhpcyBwYXRjaCkKKyAgKHVzZSAiZ2l0IHJlYmFzZSAtLWFib3J0IiB0byBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCkKKworVW5tZXJnZWQgcGF0aHM6CisgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKKyAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIG1hcmsgcmVzb2x1dGlvbikKKworCWJvdGggbW9kaWZpZWQ6ICAgICAgbWFpbi50eHQKKworbm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSAiZ2l0IGFkZCIgYW5kL29yICJnaXQgY29tbWl0IC1hIikKK0VPRgogCWdpdCBzdGF0dXMgLS11bnRyYWNrZWQtZmlsZXM9bm8gPmFjdHVhbCAmJgogCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKQEAgLTEwMywxOCArMTAzLDE4IEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSBIRUFEXiAtLW9udG8gSEVBRF5eICYmCiAJZWNobyB0aHJlZSA+bWFpbi50eHQgJiYKIAlnaXQgYWRkIG1haW4udHh0ICYmCi0JY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQkjIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAkT05UTwotCSMgWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICdcJydyZWJhc2VfY29uZmxpY3RzJ1wnJyBvbiAnXCcnJE9OVE8nXCcnLgotCSMgICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuICJnaXQgcmViYXNlIC0tY29udGludWUiKQotCSMKLQkjIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotCSMgICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0JIwotCSMJbW9kaWZpZWQ6ICAgbWFpbi50eHQKLQkjCi0JIyBVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKLQlFT0YKKwljYXQgPmV4cGVjdGVkIDw8RU9GICYmCityZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gJE9OVE8KK1lvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnXCcncmViYXNlX2NvbmZsaWN0cydcJycgb24gJ1wnJyRPTlRPJ1wnJy4KKyAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIikKKworQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CisgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKKworCW1vZGlmaWVkOiAgIG1haW4udHh0CisKK1VudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQorRU9GCiAJZ2l0IHN0YXR1cyAtLXVudHJhY2tlZC1maWxlcz1ubyA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtMTM1LDIxICsxMzUsMjEgQEAKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZWJhc2UgLS1hYm9ydCIgJiYKIAlPTlRPPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IHJlYmFzZV9pX2NvbmZsaWN0cykgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC1pIHJlYmFzZV9pX2NvbmZsaWN0cyAmJgotCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JIyByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gJE9OVE8KLQkjIFlvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnXCcncmViYXNlX2lfY29uZmxpY3RzX3NlY29uZCdcJycgb24gJ1wnJyRPTlRPJ1wnJy4KLQkjICAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuICJnaXQgcmViYXNlIC0tY29udGludWUiKQotCSMgICAodXNlICJnaXQgcmViYXNlIC0tc2tpcCIgdG8gc2tpcCB0aGlzIHBhdGNoKQotCSMgICAodXNlICJnaXQgcmViYXNlIC0tYWJvcnQiIHRvIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoKQotCSMKLQkjIFVubWVyZ2VkIHBhdGhzOgotCSMgICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0JIyAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBtYXJrIHJlc29sdXRpb24pCi0JIwotCSMJYm90aCBtb2RpZmllZDogICAgICBtYWluLnR4dAotCSMKLQlubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQotCUVPRgorCWNhdCA+ZXhwZWN0ZWQgPDxFT0YgJiYKK3JlYmFzZSBpbiBwcm9ncmVzczsgb250byAkT05UTworWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICdcJydyZWJhc2VfaV9jb25mbGljdHNfc2Vjb25kJ1wnJyBvbiAnXCcnJE9OVE8nXCcnLgorICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gImdpdCByZWJhc2UgLS1jb250aW51ZSIpCisgICh1c2UgImdpdCByZWJhc2UgLS1za2lwIiB0byBza2lwIHRoaXMgcGF0Y2gpCisgICh1c2UgImdpdCByZWJhc2UgLS1hYm9ydCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpCisKK1VubWVyZ2VkIHBhdGhzOgorICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCisgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBtYXJrIHJlc29sdXRpb24pCisKKwlib3RoIG1vZGlmaWVkOiAgICAgIG1haW4udHh0CisKK25vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgImdpdCBhZGQiIGFuZC9vciAiZ2l0IGNvbW1pdCAtYSIpCitFT0YKIAlnaXQgc3RhdHVzIC0tdW50cmFja2VkLWZpbGVzPW5vID5hY3R1YWwgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCkBAIC0xNjEsMTggKzE2MSwxOCBAQAogCU9OVE89JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgcmViYXNlX2lfY29uZmxpY3RzKSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLWkgcmViYXNlX2lfY29uZmxpY3RzICYmCiAJZ2l0IGFkZCBtYWluLnR4dCAmJgotCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JIyByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gJE9OVE8KLQkjIFlvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnXCcncmViYXNlX2lfY29uZmxpY3RzX3NlY29uZCdcJycgb24gJ1wnJyRPTlRPJ1wnJy4KLQkjICAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIikKLQkjCi0JIyBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLQkjICAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQotCSMKLQkjCW1vZGlmaWVkOiAgIG1haW4udHh0Ci0JIwotCSMgVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpCi0JRU9GCisJY2F0ID5leHBlY3RlZCA8PEVPRiAmJgorcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICRPTlRPCitZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJ1wnJ3JlYmFzZV9pX2NvbmZsaWN0c19zZWNvbmQnXCcnIG9uICdcJyckT05UTydcJycuCisgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gImdpdCByZWJhc2UgLS1jb250aW51ZSIpCisKK0NoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgorICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCisKKwltb2RpZmllZDogICBtYWluLnR4dAorCitVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKK0VPRgogCWdpdCBzdGF0dXMgLS11bnRyYWNrZWQtZmlsZXM9bm8gPmFjdHVhbCAmJgogCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKQEAgLTE4OSwxNCArMTg5LDE0IEBACiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmViYXNlIC0tYWJvcnQiICYmCiAJT05UTz0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEfjIpICYmCiAJZ2l0IHJlYmFzZSAtaSBIRUFEfjIgJiYKLQljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCSMgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICRPTlRPCi0JIyBZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnXCcncmViYXNlX2lfZWRpdCdcJycgb24gJ1wnJyRPTlRPJ1wnJy4KLQkjICAgKHVzZSAiZ2l0IGNvbW1pdCAtLWFtZW5kIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpCi0JIyAgICh1c2UgImdpdCByZWJhc2UgLS1jb250aW51ZSIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykKLQkjCi0Jbm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKLQlFT0YKKwljYXQgPmV4cGVjdGVkIDw8RU9GICYmCityZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gJE9OVE8KK1lvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICdcJydyZWJhc2VfaV9lZGl0J1wnJyBvbiAnXCcnJE9OVE8nXCcnLgorICAodXNlICJnaXQgY29tbWl0IC0tYW1lbmQiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkKKyAgKHVzZSAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKQorCitub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQorRU9GCiAJZ2l0IHN0YXR1cyAtLXVudHJhY2tlZC1maWxlcz1ubyA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtMjE1LDE5ICsyMTUsMTkgQEAKIAlPTlRPPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUR+MykgJiYKIAlnaXQgcmViYXNlIC1pIEhFQUR+MyAmJgogCWdpdCByZXNldCBIRUFEXiAmJgotCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JIyByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gJE9OVE8KLQkjIFlvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJ1wnJ3NwbGl0X2NvbW1pdCdcJycgb24gJ1wnJyRPTlRPJ1wnJy4KLQkjICAgKE9uY2UgeW91ciB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVhbiwgcnVuICJnaXQgcmViYXNlIC0tY29udGludWUiKQotCSMKLQkjIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgotCSMgICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0JIyAgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLQkjCi0JIwltb2RpZmllZDogICBtYWluLnR4dAotCSMKLQlubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQotCUVPRgorCWNhdCA+ZXhwZWN0ZWQgPDxFT0YgJiYKK3JlYmFzZSBpbiBwcm9ncmVzczsgb250byAkT05UTworWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnXCcnc3BsaXRfY29tbWl0J1wnJyBvbiAnXCcnJE9OVE8nXCcnLgorICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gImdpdCByZWJhc2UgLS1jb250aW51ZSIpCisKK0NoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgorICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCisgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKKworCW1vZGlmaWVkOiAgIG1haW4udHh0CisKK25vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgImdpdCBhZGQiIGFuZC9vciAiZ2l0IGNvbW1pdCAtYSIpCitFT0YKIAlnaXQgc3RhdHVzIC0tdW50cmFja2VkLWZpbGVzPW5vID5hY3R1YWwgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCkBAIC0yNDYsMTQgKzI0NiwxNCBAQAogCU9OVE89JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRH4zKSAmJgogCWdpdCByZWJhc2UgLWkgSEVBRH4zICYmCiAJZ2l0IGNvbW1pdCAtLWFtZW5kIC1tICJmb28iICYmCi0JY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQkjIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAkT05UTwotCSMgWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJ1wnJ2FtZW5kX2xhc3QnXCcnIG9uICdcJyckT05UTydcJycuCi0JIyAgICh1c2UgImdpdCBjb21taXQgLS1hbWVuZCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KQotCSMgICAodXNlICJnaXQgcmViYXNlIC0tY29udGludWUiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpCi0JIwotCW5vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpCi0JRU9GCisJY2F0ID5leHBlY3RlZCA8PEVPRiAmJgorcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICRPTlRPCitZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnXCcnYW1lbmRfbGFzdCdcJycgb24gJ1wnJyRPTlRPJ1wnJy4KKyAgKHVzZSAiZ2l0IGNvbW1pdCAtLWFtZW5kIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpCisgICh1c2UgImdpdCByZWJhc2UgLS1jb250aW51ZSIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykKKworbm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKK0VPRgogCWdpdCBzdGF0dXMgLS11bnRyYWNrZWQtZmlsZXM9bm8gPmFjdHVhbCAmJgogCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKQEAgLTI3NiwxNCArMjc2LDE0IEBACiAJT05UTz0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEfjMpICYmCiAJZ2l0IHJlYmFzZSAtaSBIRUFEfjMgJiYKIAlnaXQgcmViYXNlIC0tY29udGludWUgJiYKLQljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCSMgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICRPTlRPCi0JIyBZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnXCcnc2V2ZXJhbF9lZGl0cydcJycgb24gJ1wnJyRPTlRPJ1wnJy4KLQkjICAgKHVzZSAiZ2l0IGNvbW1pdCAtLWFtZW5kIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpCi0JIyAgICh1c2UgImdpdCByZWJhc2UgLS1jb250aW51ZSIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykKLQkjCi0Jbm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKLQlFT0YKKwljYXQgPmV4cGVjdGVkIDw8RU9GICYmCityZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gJE9OVE8KK1lvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICdcJydzZXZlcmFsX2VkaXRzJ1wnJyBvbiAnXCcnJE9OVE8nXCcnLgorICAodXNlICJnaXQgY29tbWl0IC0tYW1lbmQiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkKKyAgKHVzZSAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKQorCitub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQorRU9GCiAJZ2l0IHN0YXR1cyAtLXVudHJhY2tlZC1maWxlcz1ubyA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtMjk4LDE5ICsyOTgsMTkgQEAKIAlnaXQgcmViYXNlIC1pIEhFQUR+MyAmJgogCWdpdCByZWJhc2UgLS1jb250aW51ZSAmJgogCWdpdCByZXNldCBIRUFEXiAmJgotCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JIyByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gJE9OVE8KLQkjIFlvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJ1wnJ3NldmVyYWxfZWRpdHMnXCcnIG9uICdcJyckT05UTydcJycuCi0JIyAgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIikKLQkjCi0JIyBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKLQkjICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotCSMgICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCi0JIwotCSMJbW9kaWZpZWQ6ICAgbWFpbi50eHQKLQkjCi0Jbm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSAiZ2l0IGFkZCIgYW5kL29yICJnaXQgY29tbWl0IC1hIikKLQlFT0YKKwljYXQgPmV4cGVjdGVkIDw8RU9GICYmCityZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gJE9OVE8KK1lvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJ1wnJ3NldmVyYWxfZWRpdHMnXCcnIG9uICdcJyckT05UTydcJycuCisgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIikKKworQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6CisgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKKyAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQorCisJbW9kaWZpZWQ6ICAgbWFpbi50eHQKKworbm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSAiZ2l0IGFkZCIgYW5kL29yICJnaXQgY29tbWl0IC1hIikKK0VPRgogCWdpdCBzdGF0dXMgLS11bnRyYWNrZWQtZmlsZXM9bm8gPmFjdHVhbCAmJgogCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKQEAgLTMyNSwxNCArMzI1LDE0IEBACiAJZ2l0IHJlYmFzZSAtaSBIRUFEfjMgJiYKIAlnaXQgcmViYXNlIC0tY29udGludWUgJiYKIAlnaXQgY29tbWl0IC0tYW1lbmQgLW0gImZvbyIgJiYKLQljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCSMgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICRPTlRPCi0JIyBZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnXCcnc2V2ZXJhbF9lZGl0cydcJycgb24gJ1wnJyRPTlRPJ1wnJy4KLQkjICAgKHVzZSAiZ2l0IGNvbW1pdCAtLWFtZW5kIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpCi0JIyAgICh1c2UgImdpdCByZWJhc2UgLS1jb250aW51ZSIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykKLQkjCi0Jbm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKLQlFT0YKKwljYXQgPmV4cGVjdGVkIDw8RU9GICYmCityZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gJE9OVE8KK1lvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICdcJydzZXZlcmFsX2VkaXRzJ1wnJyBvbiAnXCcnJE9OVE8nXCcnLgorICAodXNlICJnaXQgY29tbWl0IC0tYW1lbmQiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkKKyAgKHVzZSAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKQorCitub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQorRU9GCiAJZ2l0IHN0YXR1cyAtLXVudHJhY2tlZC1maWxlcz1ubyA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtMzQ3LDE0ICszNDcsMTQgQEAKIAlnaXQgcmViYXNlIC1pIEhFQUR+MyAmJgogCWdpdCBjb21taXQgLS1hbWVuZCAtbSAiYSIgJiYKIAlnaXQgcmViYXNlIC0tY29udGludWUgJiYKLQljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCSMgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICRPTlRPCi0JIyBZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnXCcnc2V2ZXJhbF9lZGl0cydcJycgb24gJ1wnJyRPTlRPJ1wnJy4KLQkjICAgKHVzZSAiZ2l0IGNvbW1pdCAtLWFtZW5kIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpCi0JIyAgICh1c2UgImdpdCByZWJhc2UgLS1jb250aW51ZSIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykKLQkjCi0Jbm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKLQlFT0YKKwljYXQgPmV4cGVjdGVkIDw8RU9GICYmCityZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gJE9OVE8KK1lvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICdcJydzZXZlcmFsX2VkaXRzJ1wnJyBvbiAnXCcnJE9OVE8nXCcnLgorICAodXNlICJnaXQgY29tbWl0IC0tYW1lbmQiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkKKyAgKHVzZSAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKQorCitub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQorRU9GCiAJZ2l0IHN0YXR1cyAtLXVudHJhY2tlZC1maWxlcz1ubyA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtMzcwLDE5ICszNzAsMTkgQEAKIAlnaXQgY29tbWl0IC0tYW1lbmQgLW0gImIiICYmCiAJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlICYmCiAJZ2l0IHJlc2V0IEhFQUReICYmCi0JY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQkjIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAkT05UTwotCSMgWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnXCcnc2V2ZXJhbF9lZGl0cydcJycgb24gJ1wnJyRPTlRPJ1wnJy4KLQkjICAgKE9uY2UgeW91ciB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVhbiwgcnVuICJnaXQgcmViYXNlIC0tY29udGludWUiKQotCSMKLQkjIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgotCSMgICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0JIyAgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLQkjCi0JIwltb2RpZmllZDogICBtYWluLnR4dAotCSMKLQlubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQotCUVPRgorCWNhdCA+ZXhwZWN0ZWQgPDxFT0YgJiYKK3JlYmFzZSBpbiBwcm9ncmVzczsgb250byAkT05UTworWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnXCcnc2V2ZXJhbF9lZGl0cydcJycgb24gJ1wnJyRPTlRPJ1wnJy4KKyAgKE9uY2UgeW91ciB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVhbiwgcnVuICJnaXQgcmViYXNlIC0tY29udGludWUiKQorCitDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKKyAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQorICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCisKKwltb2RpZmllZDogICBtYWluLnR4dAorCitubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQorRU9GCiAJZ2l0IHN0YXR1cyAtLXVudHJhY2tlZC1maWxlcz1ubyA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtMzk4LDE0ICszOTgsMTQgQEAKIAlnaXQgY29tbWl0IC0tYW1lbmQgLW0gImMiICYmCiAJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlICYmCiAJZ2l0IGNvbW1pdCAtLWFtZW5kIC1tICJkIiAmJgotCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JIyByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gJE9OVE8KLQkjIFlvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICdcJydzZXZlcmFsX2VkaXRzJ1wnJyBvbiAnXCcnJE9OVE8nXCcnLgotCSMgICAodXNlICJnaXQgY29tbWl0IC0tYW1lbmQiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkKLQkjICAgKHVzZSAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKQotCSMKLQlub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQotCUVPRgorCWNhdCA+ZXhwZWN0ZWQgPDxFT0YgJiYKK3JlYmFzZSBpbiBwcm9ncmVzczsgb250byAkT05UTworWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJ1wnJ3NldmVyYWxfZWRpdHMnXCcnIG9uICdcJyckT05UTydcJycuCisgICh1c2UgImdpdCBjb21taXQgLS1hbWVuZCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KQorICAodXNlICJnaXQgcmViYXNlIC0tY29udGludWUiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpCisKK25vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpCitFT0YKIAlnaXQgc3RhdHVzIC0tdW50cmFja2VkLWZpbGVzPW5vID5hY3R1YWwgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCkBAIC00MjIsMTQgKzQyMiwxNCBAQAogCWdpdCBhZGQgbWFpbi50eHQgJiYKIAlnaXQgY29tbWl0IC1tICJlIiAmJgogCWdpdCByZWJhc2UgLS1jb250aW51ZSAmJgotCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JIyByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gJE9OVE8KLQkjIFlvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICdcJydzZXZlcmFsX2VkaXRzJ1wnJyBvbiAnXCcnJE9OVE8nXCcnLgotCSMgICAodXNlICJnaXQgY29tbWl0IC0tYW1lbmQiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkKLQkjICAgKHVzZSAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKQotCSMKLQlub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQotCUVPRgorCWNhdCA+ZXhwZWN0ZWQgPDxFT0YgJiYKK3JlYmFzZSBpbiBwcm9ncmVzczsgb250byAkT05UTworWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJ1wnJ3NldmVyYWxfZWRpdHMnXCcnIG9uICdcJyckT05UTydcJycuCisgICh1c2UgImdpdCBjb21taXQgLS1hbWVuZCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KQorICAodXNlICJnaXQgcmViYXNlIC0tY29udGludWUiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpCisKK25vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpCitFT0YKIAlnaXQgc3RhdHVzIC0tdW50cmFja2VkLWZpbGVzPW5vID5hY3R1YWwgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCkBAIC00NDcsMTkgKzQ0NywxOSBAQAogCWdpdCBjb21taXQgLS1hbWVuZCAtbSAiZiIgJiYKIAlnaXQgcmViYXNlIC0tY29udGludWUgJiYKIAlnaXQgcmVzZXQgSEVBRF4gJiYKLQljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCSMgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICRPTlRPCi0JIyBZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICdcJydzZXZlcmFsX2VkaXRzJ1wnJyBvbiAnXCcnJE9OVE8nXCcnLgotCSMgICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gImdpdCByZWJhc2UgLS1jb250aW51ZSIpCi0JIwotCSMgQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6Ci0JIyAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLQkjICAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQotCSMKLQkjCW1vZGlmaWVkOiAgIG1haW4udHh0Ci0JIwotCW5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgImdpdCBhZGQiIGFuZC9vciAiZ2l0IGNvbW1pdCAtYSIpCi0JRU9GCisJY2F0ID5leHBlY3RlZCA8PEVPRiAmJgorcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICRPTlRPCitZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICdcJydzZXZlcmFsX2VkaXRzJ1wnJyBvbiAnXCcnJE9OVE8nXCcnLgorICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gImdpdCByZWJhc2UgLS1jb250aW51ZSIpCisKK0NoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgorICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCisgICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKKworCW1vZGlmaWVkOiAgIG1haW4udHh0CisKK25vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgImdpdCBhZGQiIGFuZC9vciAiZ2l0IGNvbW1pdCAtYSIpCitFT0YKIAlnaXQgc3RhdHVzIC0tdW50cmFja2VkLWZpbGVzPW5vID5hY3R1YWwgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCkBAIC00NzcsMTQgKzQ3NywxNCBAQAogCWdpdCBjb21taXQgLS1hbWVuZCAtbSAiZyIgJiYKIAlnaXQgcmViYXNlIC0tY29udGludWUgJiYKIAlnaXQgY29tbWl0IC0tYW1lbmQgLW0gImgiICYmCi0JY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQkjIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAkT05UTwotCSMgWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJ1wnJ3NldmVyYWxfZWRpdHMnXCcnIG9uICdcJyckT05UTydcJycuCi0JIyAgICh1c2UgImdpdCBjb21taXQgLS1hbWVuZCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KQotCSMgICAodXNlICJnaXQgcmViYXNlIC0tY29udGludWUiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpCi0JIwotCW5vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpCi0JRU9GCisJY2F0ID5leHBlY3RlZCA8PEVPRiAmJgorcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICRPTlRPCitZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnXCcnc2V2ZXJhbF9lZGl0cydcJycgb24gJ1wnJyRPTlRPJ1wnJy4KKyAgKHVzZSAiZ2l0IGNvbW1pdCAtLWFtZW5kIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpCisgICh1c2UgImdpdCByZWJhc2UgLS1jb250aW51ZSIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykKKworbm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKK0VPRgogCWdpdCBzdGF0dXMgLS11bnRyYWNrZWQtZmlsZXM9bm8gPmFjdHVhbCAmJgogCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKQEAgLTUwNCwxNSArNTA0LDE1IEBACiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSBNYWlsZGlyLyogJiYgZ2l0IGFtIC0tYWJvcnQiICYmCiAJZ2l0IGZvcm1hdC1wYXRjaCAtMSAtb01haWxkaXIgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgYW0gTWFpbGRpci8qLnBhdGNoICYmCi0JY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCi0JIyBPbiBicmFuY2ggYW1fYWxyZWFkeV9leGlzdHMKLQkjIFlvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLgotCSMgICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gImdpdCBhbSAtLWNvbnRpbnVlIikKLQkjICAgKHVzZSAiZ2l0IGFtIC0tc2tpcCIgdG8gc2tpcCB0aGlzIHBhdGNoKQotCSMgICAodXNlICJnaXQgYW0gLS1hYm9ydCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKQotCSMKLQlub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQotCUVPRgorCWNhdCA+ZXhwZWN0ZWQgPDxcRU9GICYmCitPbiBicmFuY2ggYW1fYWxyZWFkeV9leGlzdHMKK1lvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLgorICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gImdpdCBhbSAtLWNvbnRpbnVlIikKKyAgKHVzZSAiZ2l0IGFtIC0tc2tpcCIgdG8gc2tpcCB0aGlzIHBhdGNoKQorICAodXNlICJnaXQgYW0gLS1hYm9ydCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKQorCitub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQorRU9GCiAJZ2l0IHN0YXR1cyAtLXVudHJhY2tlZC1maWxlcz1ubyA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtNTI2LDE1ICs1MjYsMTUgQEAKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIE1haWxkaXIvKiAmJiBnaXQgYW0gLS1hYm9ydCIgJiYKIAlnaXQgZm9ybWF0LXBhdGNoIC0xIC1vTWFpbGRpciAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBhbSBNYWlsZGlyLyoucGF0Y2ggJiYKLQljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKLQkjIE9uIGJyYW5jaCBhbV9ub3RfZXhpc3RzCi0JIyBZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvbi4KLQkjICAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuICJnaXQgYW0gLS1jb250aW51ZSIpCi0JIyAgICh1c2UgImdpdCBhbSAtLXNraXAiIHRvIHNraXAgdGhpcyBwYXRjaCkKLQkjICAgKHVzZSAiZ2l0IGFtIC0tYWJvcnQiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkKLQkjCi0Jbm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKLQlFT0YKKwljYXQgPmV4cGVjdGVkIDw8XEVPRiAmJgorT24gYnJhbmNoIGFtX25vdF9leGlzdHMKK1lvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLgorICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gImdpdCBhbSAtLWNvbnRpbnVlIikKKyAgKHVzZSAiZ2l0IGFtIC0tc2tpcCIgdG8gc2tpcCB0aGlzIHBhdGNoKQorICAodXNlICJnaXQgYW0gLS1hYm9ydCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKQorCitub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQorRU9GCiAJZ2l0IHN0YXR1cyAtLXVudHJhY2tlZC1maWxlcz1ubyA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtNTQ5LDE1ICs1NDksMTUgQEAKIAlnaXQgY29tbWl0IC1tICJkZWxldGUgYWxsIGFtX2VtcHR5IiAmJgogCWVjaG8gZXJyb3IgPk1haWxkaXIvMDAwMi10d29fYW0ucGF0Y2ggJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgYW0gTWFpbGRpci8qLnBhdGNoICYmCi0JY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCi0JIyBPbiBicmFuY2ggYW1fZW1wdHkKLQkjIFlvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLgotCSMgVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuCi0JIyAgICh1c2UgImdpdCBhbSAtLXNraXAiIHRvIHNraXAgdGhpcyBwYXRjaCkKLQkjICAgKHVzZSAiZ2l0IGFtIC0tYWJvcnQiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkKLQkjCi0Jbm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKLQlFT0YKKwljYXQgPmV4cGVjdGVkIDw8XEVPRiAmJgorT24gYnJhbmNoIGFtX2VtcHR5CitZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvbi4KK1RoZSBjdXJyZW50IHBhdGNoIGlzIGVtcHR5LgorICAodXNlICJnaXQgYW0gLS1za2lwIiB0byBza2lwIHRoaXMgcGF0Y2gpCisgICh1c2UgImdpdCBhbSAtLWFib3J0IiB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2gpCisKK25vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpCitFT0YKIAlnaXQgc3RhdHVzIC0tdW50cmFja2VkLWZpbGVzPW5vID5hY3R1YWwgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCkBAIC01NzQsMTMgKzU3NCwxMyBAQAogCWdpdCBiaXNlY3QgYmFkICYmCiAJZ2l0IGJpc2VjdCBnb29kIG9uZV9iaXNlY3QgJiYKIAlUR1Q9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgdHdvX2Jpc2VjdCkgJiYKLQljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCSMgSEVBRCBkZXRhY2hlZCBhdCAkVEdUCi0JIyBZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcsIHN0YXJ0ZWQgZnJvbSBicmFuY2ggJ1wnJ2Jpc2VjdCdcJycuCi0JIyAgICh1c2UgImdpdCBiaXNlY3QgcmVzZXQiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpCi0JIwotCW5vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpCi0JRU9GCisJY2F0ID5leHBlY3RlZCA8PEVPRiAmJgorSEVBRCBkZXRhY2hlZCBhdCAkVEdUCitZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcsIHN0YXJ0ZWQgZnJvbSBicmFuY2ggJ1wnJ2Jpc2VjdCdcJycuCisgICh1c2UgImdpdCBiaXNlY3QgcmVzZXQiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpCisKK25vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpCitFT0YKIAlnaXQgc3RhdHVzIC0tdW50cmFja2VkLWZpbGVzPW5vID5hY3R1YWwgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCkBAIC01OTcsMTUgKzU5NywxNSBAQAogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlYmFzZSAtLWFib3J0IiAmJgogCU9OVE89JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRF5eKSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgSEVBRF4gLS1vbnRvIEhFQUReXiAmJgotCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JIyByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gJE9OVE8KLQkjIFlvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnXCcnc3RhdHVzaGludHNfZGlzYWJsZWQnXCcnIG9uICdcJyckT05UTydcJycuCi0JIwotCSMgVW5tZXJnZWQgcGF0aHM6Ci0JIwlib3RoIG1vZGlmaWVkOiAgICAgIG1haW4udHh0Ci0JIwotCW5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0Ci0JRU9GCisJY2F0ID5leHBlY3RlZCA8PEVPRiAmJgorcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICRPTlRPCitZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJ1wnJ3N0YXR1c2hpbnRzX2Rpc2FibGVkJ1wnJyBvbiAnXCcnJE9OVE8nXCcnLgorCitVbm1lcmdlZCBwYXRoczoKKwlib3RoIG1vZGlmaWVkOiAgICAgIG1haW4udHh0CisKK25vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0CitFT0YKIAlnaXQgc3RhdHVzIC0tdW50cmFja2VkLWZpbGVzPW5vID5hY3R1YWwgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCkBAIC02MjYsMTkgKzYyNiwyMCBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHdoZW4gY2hlcnJ5LXBpY2tpbmcgYmVmb3JlIHJlc29sdmluZyBjb25mbGljdHMnICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBjaGVycnktcGljayAtLWFib3J0IiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayBjaGVycnlfYnJhbmNoX3NlY29uZCAmJgotCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgotCSMgT24gYnJhbmNoIGNoZXJyeV9icmFuY2gKLQkjIFlvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nLgotCSMgICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuICJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZSIpCi0JIyAgICh1c2UgImdpdCBjaGVycnktcGljayAtLWFib3J0IiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikKLQkjCi0JIyBVbm1lcmdlZCBwYXRoczoKLQkjICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIG1hcmsgcmVzb2x1dGlvbikKLQkjCi0JIwlib3RoIG1vZGlmaWVkOiAgICAgIG1haW4udHh0Ci0JIwotCW5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgImdpdCBhZGQiIGFuZC9vciAiZ2l0IGNvbW1pdCAtYSIpCi0JRU9GCisJVE9fQ0hFUlJZX1BJQ0s9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgQ0hFUlJZX1BJQ0tfSEVBRCkgJiYKKwljYXQgPmV4cGVjdGVkIDw8RU9GICYmCitPbiBicmFuY2ggY2hlcnJ5X2JyYW5jaAorWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICRUT19DSEVSUllfUElDSy4KKyAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biAiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWUiKQorICAodXNlICJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydCIgdG8gY2FuY2VsIHRoZSBjaGVycnktcGljayBvcGVyYXRpb24pCisKK1VubWVyZ2VkIHBhdGhzOgorICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gbWFyayByZXNvbHV0aW9uKQorCisJYm90aCBtb2RpZmllZDogICAgICBtYWluLnR4dAorCitubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQorRU9GCiAJZ2l0IHN0YXR1cyAtLXVudHJhY2tlZC1maWxlcz1ubyA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtNjQ4LDIwICs2NDksMjEgQEAKIAlnaXQgcmVzZXQgLS1oYXJkIGNoZXJyeV9icmFuY2ggJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBjaGVycnktcGljayAtLWFib3J0IiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayBjaGVycnlfYnJhbmNoX3NlY29uZCAmJgorCVRPX0NIRVJSWV9QSUNLPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IENIRVJSWV9QSUNLX0hFQUQpICYmCiAJZWNobyBlbmQgPm1haW4udHh0ICYmCiAJZ2l0IGFkZCBtYWluLnR4dCAmJgotCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgotCSMgT24gYnJhbmNoIGNoZXJyeV9icmFuY2gKLQkjIFlvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nLgotCSMgICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuICJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZSIpCi0JIyAgICh1c2UgImdpdCBjaGVycnktcGljayAtLWFib3J0IiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikKLQkjCi0JIyBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLQkjCi0JIwltb2RpZmllZDogICBtYWluLnR4dAotCSMKLQkjIFVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQotCUVPRgorCWNhdCA+ZXhwZWN0ZWQgPDxFT0YgJiYKK09uIGJyYW5jaCBjaGVycnlfYnJhbmNoCitZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJFRPX0NIRVJSWV9QSUNLLgorICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuICJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZSIpCisgICh1c2UgImdpdCBjaGVycnktcGljayAtLWFib3J0IiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikKKworQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CisKKwltb2RpZmllZDogICBtYWluLnR4dAorCitVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKK0VPRgogCWdpdCBzdGF0dXMgLS11bnRyYWNrZWQtZmlsZXM9bm8gPmFjdHVhbCAmJgogCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKQEAgLTY2OSwxOCArNjcxLDE4IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgc2hvd2luZyBkZXRhY2hlZCBhdCBhbmQgZnJvbSBhIHRhZycgJwogCXRlc3RfY29tbWl0IGF0YWcgdGFnZ2luZyAmJgogCWdpdCBjaGVja291dCBhdGFnICYmCi0JY2F0ID5leHBlY3RlZCA8PC1cRU9GCi0JIyBIRUFEIGRldGFjaGVkIGF0IGF0YWcKLQlub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQotCUVPRgorCWNhdCA+ZXhwZWN0ZWQgPDxcRU9GICYmCitIRUFEIGRldGFjaGVkIGF0IGF0YWcKK25vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpCitFT0YKIAlnaXQgc3RhdHVzIC0tdW50cmFja2VkLWZpbGVzPW5vID5hY3R1YWwgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCiAKIAlnaXQgcmVzZXQgLS1oYXJkIEhFQUReICYmCi0JY2F0ID5leHBlY3RlZCA8PC1cRU9GCi0JIyBIRUFEIGRldGFjaGVkIGZyb20gYXRhZwotCW5vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpCi0JRU9GCisJY2F0ID5leHBlY3RlZCA8PFxFT0YgJiYKK0hFQUQgZGV0YWNoZWQgZnJvbSBhdGFnCitub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQorRU9GCiAJZ2l0IHN0YXR1cyAtLXVudHJhY2tlZC1maWxlcz1ubyA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtNjk1LDIwICs2OTcsMjAgQEAKIAl0ZXN0X2NvbW1pdCBuZXcgdG8tcmV2ZXJ0LnR4dCAmJgogCVRPX1JFVkVSVD0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEXikgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmV2ZXJ0ICRUT19SRVZFUlQgJiYKLQljYXQgPmV4cGVjdGVkIDw8LUVPRgotCSMgT24gYnJhbmNoIG1hc3RlcgotCSMgWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAkVE9fUkVWRVJULgotCSMgICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuICJnaXQgcmV2ZXJ0IC0tY29udGludWUiKQotCSMgICAodXNlICJnaXQgcmV2ZXJ0IC0tYWJvcnQiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikKLQkjCi0JIyBVbm1lcmdlZCBwYXRoczoKLQkjICAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQotCSMgICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gbWFyayByZXNvbHV0aW9uKQotCSMKLQkjCWJvdGggbW9kaWZpZWQ6ICAgICAgdG8tcmV2ZXJ0LnR4dAotCSMKLQlubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQotCUVPRgorCWNhdCA+ZXhwZWN0ZWQgPDxFT0YgJiYKK09uIGJyYW5jaCBtYXN0ZXIKK1lvdSBhcmUgY3VycmVudGx5IHJldmVydGluZyBjb21taXQgJFRPX1JFVkVSVC4KKyAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biAiZ2l0IHJldmVydCAtLWNvbnRpbnVlIikKKyAgKHVzZSAiZ2l0IHJldmVydCAtLWFib3J0IiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pCisKK1VubWVyZ2VkIHBhdGhzOgorICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCisgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBtYXJrIHJlc29sdXRpb24pCisKKwlib3RoIG1vZGlmaWVkOiAgICAgIHRvLXJldmVydC50eHQKKworbm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSAiZ2l0IGFkZCIgYW5kL29yICJnaXQgY29tbWl0IC1hIikKK0VPRgogCWdpdCBzdGF0dXMgLS11bnRyYWNrZWQtZmlsZXM9bm8gPmFjdHVhbCAmJgogCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKQEAgLTcxNiwyOSArNzE4LDI5IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgd2hpbGUgcmV2ZXJ0aW5nIGNvbW1pdCAoY29uZmxpY3RzIHJlc29sdmVkKScgJwogCWVjaG8gcmV2ZXJ0ZWQgPnRvLXJldmVydC50eHQgJiYKIAlnaXQgYWRkIHRvLXJldmVydC50eHQgJiYKLQljYXQgPmV4cGVjdGVkIDw8LUVPRgotCSMgT24gYnJhbmNoIG1hc3RlcgotCSMgWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAkVE9fUkVWRVJULgotCSMgICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuICJnaXQgcmV2ZXJ0IC0tY29udGludWUiKQotCSMgICAodXNlICJnaXQgcmV2ZXJ0IC0tYWJvcnQiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikKLQkjCi0JIyBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLQkjICAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQotCSMKLQkjCW1vZGlmaWVkOiAgIHRvLXJldmVydC50eHQKLQkjCi0JIyBVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKLQlFT0YKKwljYXQgPmV4cGVjdGVkIDw8RU9GICYmCitPbiBicmFuY2ggbWFzdGVyCitZb3UgYXJlIGN1cnJlbnRseSByZXZlcnRpbmcgY29tbWl0ICRUT19SRVZFUlQuCisgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gImdpdCByZXZlcnQgLS1jb250aW51ZSIpCisgICh1c2UgImdpdCByZXZlcnQgLS1hYm9ydCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKQorCitDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKKyAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQorCisJbW9kaWZpZWQ6ICAgdG8tcmV2ZXJ0LnR4dAorCitVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKK0VPRgogCWdpdCBzdGF0dXMgLS11bnRyYWNrZWQtZmlsZXM9bm8gPmFjdHVhbCAmJgogCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIGFmdGVyIHJldmVydGluZyBjb21taXQnICcKIAlnaXQgcmV2ZXJ0IC0tY29udGludWUgJiYKLQljYXQgPmV4cGVjdGVkIDw8LVxFT0YKLQkjIE9uIGJyYW5jaCBtYXN0ZXIKLQlub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQotCUVPRgorCWNhdCA+ZXhwZWN0ZWQgPDxcRU9GICYmCitPbiBicmFuY2ggbWFzdGVyCitub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQorRU9GCiAJZ2l0IHN0YXR1cyAtLXVudHJhY2tlZC1maWxlcz1ubyA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAogJwpkaWZmIC0tZ2l0IGEvdC90NzYxMC1tZXJnZXRvb2wuc2ggYi90L3Q3NjEwLW1lcmdldG9vbC5zaAppbmRleCBkNTI2YjFkLi4wNWQ5ZGIwIDEwMDc1NQotLS0gYS90L3Q3NjEwLW1lcmdldG9vbC5zaAorKysgYi90L3Q3NjEwLW1lcmdldG9vbC5zaApAQCAtMjUzLDcgKzI1Myw3IEBACiAgICAgZ2l0IGNoZWNrb3V0IC1iIHRlc3Q2IGJyYW5jaDEgJiYKICAgICBnaXQgc3VibW9kdWxlIHVwZGF0ZSAtTiAmJgogICAgIG12IHN1Ym1vZCBzdWJtb2QtbW92ZWRhc2lkZSAmJgotICAgIGdpdCBybSBzdWJtb2QgJiYKKyAgICBnaXQgcm0gLS1jYWNoZWQgc3VibW9kICYmCiAgICAgZ2l0IGNvbW1pdCAtbSAiU3VibW9kdWxlIGRlbGV0ZWQgZnJvbSBicmFuY2giICYmCiAgICAgZ2l0IGNoZWNrb3V0IC1iIHRlc3Q2LmEgdGVzdDYgJiYKICAgICB0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgbWFzdGVyICYmCkBAIC0zMjIsNyArMzIyLDcgQEAKICAgICBnaXQgY2hlY2tvdXQgLWIgdGVzdDcgYnJhbmNoMSAmJgogICAgIGdpdCBzdWJtb2R1bGUgdXBkYXRlIC1OICYmCiAgICAgbXYgc3VibW9kIHN1Ym1vZC1tb3ZlZGFzaWRlICYmCi0gICAgZ2l0IHJtIHN1Ym1vZCAmJgorICAgIGdpdCBybSAtLWNhY2hlZCBzdWJtb2QgJiYKICAgICBlY2hvIG5vdCBhIHN1Ym1vZHVsZSA+c3VibW9kICYmCiAgICAgZ2l0IGFkZCBzdWJtb2QgJiYKICAgICBnaXQgY29tbWl0IC1tICJTdWJtb2R1bGUgcGF0aCBiZWNvbWVzIGZpbGUiICYmCkBAIC00NTMsNyArNDUzLDcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpcmVjdG9yeSB2cyBtb2RpZmllZCBzdWJtb2R1bGUnICcKICAgICBnaXQgY2hlY2tvdXQgLWIgdGVzdDExIGJyYW5jaDEgJiYKICAgICBtdiBzdWJtb2Qgc3VibW9kLW1vdmVkYXNpZGUgJiYKLSAgICBnaXQgcm0gc3VibW9kICYmCisgICAgZ2l0IHJtIC0tY2FjaGVkIHN1Ym1vZCAmJgogICAgIG1rZGlyIHN1Ym1vZCAmJgogICAgIGVjaG8gbm90IGEgc3VibW9kdWxlID5zdWJtb2QvZmlsZTE2ICYmCiAgICAgZ2l0IGFkZCBzdWJtb2QvZmlsZTE2ICYmCmRpZmYgLS1naXQgYS90L3Q3NzAwLXJlcGFjay5zaCBiL3QvdDc3MDAtcmVwYWNrLnNoCmluZGV4IGQ5NTRiODQuLmI0NWJkMWUgMTAwNzU1Ci0tLSBhL3QvdDc3MDAtcmVwYWNrLnNoCisrKyBiL3QvdDc3MDAtcmVwYWNrLnNoCkBAIC0xNyw3ICsxNyw3IEBACiAJIyBUaGUgc2Vjb25kIHBhY2sgd2lsbCBjb250YWluIHRoZSBleGNsdWRlZCBvYmplY3QKIAlwYWNrc2hhMT0kKGdpdCByZXYtbGlzdCAtLW9iamVjdHMgLS1hbGwgfCBncmVwIGZpbGUyIHwKIAkJZ2l0IHBhY2stb2JqZWN0cyBwYWNrKSAmJgotCXRvdWNoIC1yIHBhY2stJHBhY2tzaGExLnBhY2sgcGFjay0kcGFja3NoYTEua2VlcCAmJgorCT5wYWNrLSRwYWNrc2hhMS5rZWVwICYmCiAJb2Jqc2hhMT0kKGdpdCB2ZXJpZnktcGFjayAtdiBwYWNrLSRwYWNrc2hhMS5pZHggfCBoZWFkIC1uIDEgfAogCQlzZWQgLWUgInMvXlwoWzAtOWEtZl1cezQwXH1cKS4qL1wxLyIpICYmCiAJbXYgcGFjay0qIC5naXQvb2JqZWN0cy9wYWNrLyAmJgpkaWZmIC0tZ2l0IGEvdC90ODAwNy1jYXQtZmlsZS10ZXh0Y29udi5zaCBiL3QvdDgwMDctY2F0LWZpbGUtdGV4dGNvbnYuc2gKaW5kZXggYjk1ZTEwMi4uZWFjZDQ5YSAxMDA3NTUKLS0tIGEvdC90ODAwNy1jYXQtZmlsZS10ZXh0Y29udi5zaAorKysgYi90L3Q4MDA3LWNhdC1maWxlLXRleHRjb252LnNoCkBAIC0yMCwxMSArMjAsMTEgQEAKICcKIAogY2F0ID5leHBlY3RlZCA8PEVPRgotZmF0YWw6IGdpdCBjYXQtZmlsZSAtLXRleHRjb252OiB1bmFibGUgdG8gcnVuIHRleHRjb252IG9uIDpvbmUuYmluCitiaW46IHRlc3QgdmVyc2lvbiAyCiBFT0YKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbm8gZmlsdGVyIHNwZWNpZmllZCcgJwotCWdpdCBjYXQtZmlsZSAtLXRleHRjb252IDpvbmUuYmluIDI+cmVzdWx0CisJZ2l0IGNhdC1maWxlIC0tdGV4dGNvbnYgOm9uZS5iaW4gPnJlc3VsdCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIHJlc3VsdAogJwogCkBAIC0zNCwxMCArMzQsNiBAQAogCWdpdCBjb25maWcgZGlmZi50ZXN0LmNhY2hldGV4dGNvbnYgZmFsc2UKICcKIAotY2F0ID5leHBlY3RlZCA8PEVPRgotYmluOiB0ZXN0IHZlcnNpb24gMgotRU9GCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NhdC1maWxlIHdpdGhvdXQgLS10ZXh0Y29udicgJwogCWdpdCBjYXQtZmlsZSBibG9iIDpvbmUuYmluID5yZXN1bHQgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCByZXN1bHQKQEAgLTcxLDI1ICs2NywxOSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjYXQtZmlsZSB3aXRob3V0IC0tdGV4dGNvbnYgKHN5bWxpbmspJyAnCisJcHJpbnRmICIlcyIgIm9uZS5iaW4iID5leHBlY3RlZCAmJgogCWdpdCBjYXQtZmlsZSBibG9iIDpzeW1saW5rLmJpbiA+cmVzdWx0ICYmCi0JcHJpbnRmICIlcyIgIm9uZS5iaW4iID5leHBlY3RlZAogCXRlc3RfY21wIGV4cGVjdGVkIHJlc3VsdAogJwogCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NhdC1maWxlIC0tdGV4dGNvbnYgb24gaW5kZXggKHN5bWxpbmspJyAnCi0JISBnaXQgY2F0LWZpbGUgLS10ZXh0Y29udiA6c3ltbGluay5iaW4gMj5yZXN1bHQgJiYKLQljYXQgPmV4cGVjdGVkIDw8XEVPRiAmJgotZmF0YWw6IGdpdCBjYXQtZmlsZSAtLXRleHRjb252OiB1bmFibGUgdG8gcnVuIHRleHRjb252IG9uIDpzeW1saW5rLmJpbgotRU9GCisJZ2l0IGNhdC1maWxlIC0tdGV4dGNvbnYgOnN5bWxpbmsuYmluID5yZXN1bHQgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCByZXN1bHQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2F0LWZpbGUgLS10ZXh0Y29udiBvbiBIRUFEIChzeW1saW5rKScgJwotCSEgZ2l0IGNhdC1maWxlIC0tdGV4dGNvbnYgSEVBRDpzeW1saW5rLmJpbiAyPnJlc3VsdCAmJgotCWNhdCA+ZXhwZWN0ZWQgPDxFT0YgJiYKLWZhdGFsOiBnaXQgY2F0LWZpbGUgLS10ZXh0Y29udjogdW5hYmxlIHRvIHJ1biB0ZXh0Y29udiBvbiBIRUFEOnN5bWxpbmsuYmluCi1FT0YKKwlnaXQgY2F0LWZpbGUgLS10ZXh0Y29udiBIRUFEOnN5bWxpbmsuYmluID5yZXN1bHQgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCByZXN1bHQKICcKIApkaWZmIC0tZ2l0IGEvdC90OTAwMS1zZW5kLWVtYWlsLnNoIGIvdC90OTAwMS1zZW5kLWVtYWlsLnNoCmluZGV4IDI4MTNhYTkuLjMxMTljOGMgMTAwNzU1Ci0tLSBhL3QvdDkwMDEtc2VuZC1lbWFpbC5zaAorKysgYi90L3Q5MDAxLXNlbmQtZW1haWwuc2gKQEAgLTIzLDcgKzIzLDYgQEAKICAgICAgIGVjaG8gZG8KICAgICAgIGVjaG8gIiAgZWNobyBcIiFcJGEhXCIiCiAgICAgICBlY2hvICJkb25lID5jb21tYW5kbGluZVwkb3V0cHV0IgotICAgICAgdGVzdF9oYXZlX3ByZXJlcSBNSU5HVyAmJiBlY2hvICJkb3MydW5peCBjb21tYW5kbGluZVwkb3V0cHV0IgogICAgICAgZWNobyAiY2F0ID4gbXNndHh0XCRvdXRwdXQiCiAgICAgICApID5mYWtlLnNlbmRtYWlsICYmCiAgICAgIGNobW9kICt4IC4vZmFrZS5zZW5kbWFpbCAmJgpkaWZmIC0tZ2l0IGEvdC90OTExNC1naXQtc3ZuLWRjb21taXQtbWVyZ2Uuc2ggYi90L3Q5MTE0LWdpdC1zdm4tZGNvbW1pdC1tZXJnZS5zaAppbmRleCBmNTI0ZDJmLi5kMzNkNzE0IDEwMDc1NQotLS0gYS90L3Q5MTE0LWdpdC1zdm4tZGNvbW1pdC1tZXJnZS5zaAorKysgYi90L3Q5MTE0LWdpdC1zdm4tZGNvbW1pdC1tZXJnZS5zaApAQCAtNjIsNyArNjIsNyBAQAogCWVjaG8gZnJpZW5kID4gUkVBRE1FICYmCiAJY2F0IHRtcCA+PiBSRUFETUUgJiYKIAlnaXQgY29tbWl0IC1hIC1tICJmcmllbmQiICYmCi0JZ2l0IHB1bGwgLiBtZXJnZQorCWdpdCBtZXJnZSBtZXJnZQogCScKIAogdGVzdF9kZWJ1ZyAnZ2l0ayAtLWFsbCAmIHNsZWVwIDEnCmRpZmYgLS1naXQgYS90L3Q5MTE3LWdpdC1zdm4taW5pdC1jbG9uZS5zaCBiL3QvdDkxMTctZ2l0LXN2bi1pbml0LWNsb25lLnNoCmluZGV4IGI3ZWY5ZTIuLjY5ZTljMGQgMTAwNzU1Ci0tLSBhL3QvdDkxMTctZ2l0LXN2bi1pbml0LWNsb25lLnNoCisrKyBiL3QvdDkxMTctZ2l0LXN2bi1pbml0LWNsb25lLnNoCkBAIC01Miw0ICs1Miw3MSBAQAogCXJtIC1yZiB0YXJnZXQKIAknCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luaXQgd2l0aG91dCAtcy8tVC8tYi8tdCBkb2VzIG5vdCB3YXJuJyAnCisJdGVzdCAhIC1kIHRydW5rICYmCisJZ2l0IHN2biBpbml0ICIkc3ZucmVwbyIvcHJvamVjdC90cnVuayB0cnVuayAyPndhcm5pbmcgJiYKKwl0ZXN0X211c3RfZmFpbCBncmVwIC1xIHByZWZpeCB3YXJuaW5nICYmCisJcm0gLXJmIHRydW5rICYmCisJcm0gLWYgd2FybmluZworCScKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgd2l0aG91dCAtcy8tVC8tYi8tdCBkb2VzIG5vdCB3YXJuJyAnCisJdGVzdCAhIC1kIHRydW5rICYmCisJZ2l0IHN2biBjbG9uZSAiJHN2bnJlcG8iL3Byb2plY3QvdHJ1bmsgMj53YXJuaW5nICYmCisJdGVzdF9tdXN0X2ZhaWwgZ3JlcCAtcSBwcmVmaXggd2FybmluZyAmJgorCXJtIC1yZiB0cnVuayAmJgorCXJtIC1mIHdhcm5pbmcKKwknCisKK3Rlc3Rfc3ZuX2NvbmZpZ3VyZWRfcHJlZml4ICgpIHsKKwlwcmVmaXg9JDEgJiYKKwljYXQgPmV4cGVjdCA8PEVPRiAmJgorcHJvamVjdC90cnVuazpyZWZzL3JlbW90ZXMvJHtwcmVmaXh9dHJ1bmsKK3Byb2plY3QvYnJhbmNoZXMvKjpyZWZzL3JlbW90ZXMvJHtwcmVmaXh9KgorcHJvamVjdC90YWdzLyo6cmVmcy9yZW1vdGVzLyR7cHJlZml4fXRhZ3MvKgorRU9GCisJdGVzdCAhIC1mIGFjdHVhbCAmJgorCWdpdCAtLWdpdC1kaXI9cHJvamVjdC8uZ2l0IGNvbmZpZyBzdm4tcmVtb3RlLnN2bi5mZXRjaCA+PmFjdHVhbCAmJgorCWdpdCAtLWdpdC1kaXI9cHJvamVjdC8uZ2l0IGNvbmZpZyBzdm4tcmVtb3RlLnN2bi5icmFuY2hlcyA+PmFjdHVhbCAmJgorCWdpdCAtLWdpdC1kaXI9cHJvamVjdC8uZ2l0IGNvbmZpZyBzdm4tcmVtb3RlLnN2bi50YWdzID4+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXJtIC1mIGV4cGVjdCBhY3R1YWwKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5pdCB3aXRoIC1zLy1ULy1iLy10IHdpdGhvdXQgLS1wcmVmaXggd2FybnMnICcKKwl0ZXN0ICEgLWQgcHJvamVjdCAmJgorCWdpdCBzdm4gaW5pdCAtcyAiJHN2bnJlcG8iL3Byb2plY3QgcHJvamVjdCAyPndhcm5pbmcgJiYKKwlncmVwIC1xIHByZWZpeCB3YXJuaW5nICYmCisJdGVzdF9zdm5fY29uZmlndXJlZF9wcmVmaXggIiIgJiYKKwlybSAtcmYgcHJvamVjdCAmJgorCXJtIC1mIHdhcm5pbmcKKwknCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nsb25lIHdpdGggLXMvLVQvLWIvLXQgd2l0aG91dCAtLXByZWZpeCB3YXJucycgJworCXRlc3QgISAtZCBwcm9qZWN0ICYmCisJZ2l0IHN2biBjbG9uZSAtcyAiJHN2bnJlcG8iL3Byb2plY3QgMj53YXJuaW5nICYmCisJZ3JlcCAtcSBwcmVmaXggd2FybmluZyAmJgorCXRlc3Rfc3ZuX2NvbmZpZ3VyZWRfcHJlZml4ICIiICYmCisJcm0gLXJmIHByb2plY3QgJiYKKwlybSAtZiB3YXJuaW5nCisJJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbml0IHdpdGggLXMvLVQvLWIvLXQgYW5kIC0tcHJlZml4IGRvZXMgbm90IHdhcm4nICcKKwl0ZXN0ICEgLWQgcHJvamVjdCAmJgorCWdpdCBzdm4gaW5pdCAtcyAiJHN2bnJlcG8iL3Byb2plY3QgcHJvamVjdCAtLXByZWZpeD0iIiAyPndhcm5pbmcgJiYKKwl0ZXN0X211c3RfZmFpbCBncmVwIC1xIHByZWZpeCB3YXJuaW5nICYmCisJdGVzdF9zdm5fY29uZmlndXJlZF9wcmVmaXggIiIgJiYKKwlybSAtcmYgcHJvamVjdCAmJgorCXJtIC1mIHdhcm5pbmcKKwknCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nsb25lIHdpdGggLXMvLVQvLWIvLXQgYW5kIC0tcHJlZml4IGRvZXMgbm90IHdhcm4nICcKKwl0ZXN0ICEgLWQgcHJvamVjdCAmJgorCWdpdCBzdm4gY2xvbmUgLXMgIiRzdm5yZXBvIi9wcm9qZWN0IC0tcHJlZml4PSIiIDI+d2FybmluZyAmJgorCXRlc3RfbXVzdF9mYWlsIGdyZXAgLXEgcHJlZml4IHdhcm5pbmcgJiYKKwl0ZXN0X3N2bl9jb25maWd1cmVkX3ByZWZpeCAiIiAmJgorCXJtIC1yZiBwcm9qZWN0ICYmCisJcm0gLWYgd2FybmluZworCScKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q5MTI5LWdpdC1zdm4taTE4bi1jb21taXRlbmNvZGluZy5zaCBiL3QvdDkxMjktZ2l0LXN2bi1pMThuLWNvbW1pdGVuY29kaW5nLnNoCmluZGV4IDlhNDBmMWUuLjhjZmRmZTcgMTAwNzU1Ci0tLSBhL3QvdDkxMjktZ2l0LXN2bi1pMThuLWNvbW1pdGVuY29kaW5nLnNoCisrKyBiL3QvdDkxMjktZ2l0LXN2bi1pMThuLWNvbW1pdGVuY29kaW5nLnNoCkBAIC0yOSw3ICsyOSw3IEBACiBjb21wYXJlX3N2bl9oZWFkX3dpdGggKCkgewogCSMgZXh0cmFjdCBqdXN0IHRoZSBsb2cgbWVzc2FnZSBhbmQgc3RyaXAgb3V0IGNvbW1pdHRlciBpbmZvLgogCSMgZG9uJ3QgdXNlIC0tbGltaXQgaGVyZSBzaW5jZSBzdm4gMS4xLnggZG9lc24ndCBoYXZlIGl0LAotCUxDX0FMTD0iJGFfdXRmOF9sb2NhbGUiIHN2biBsb2cgYGdpdCBzdm4gaW5mbyAtLXVybGAgfCAiJFBFUkxfUEFUSCIgLXcgLWUgJworCUxDX0FMTD0iJGFfdXRmOF9sb2NhbGUiIHN2biBsb2cgYGdpdCBzdm4gaW5mbyAtLXVybGAgfCBwZXJsIC13IC1lICcKIAkJdXNlIGJ5dGVzOwogCQkkLyA9ICgiLSJ4NzIpIC4gIlxuIjsKIAkJbXkgQHggPSA8U1RESU4+OwpkaWZmIC0tZ2l0IGEvdC90OTEzNy1naXQtc3ZuLWRjb21taXQtY2xvYmJlci1zZXJpZXMuc2ggYi90L3Q5MTM3LWdpdC1zdm4tZGNvbW1pdC1jbG9iYmVyLXNlcmllcy5zaAppbmRleCBjMTdhYTMxLi5kNjBkYTYzIDEwMDc1NQotLS0gYS90L3Q5MTM3LWdpdC1zdm4tZGNvbW1pdC1jbG9iYmVyLXNlcmllcy5zaAorKysgYi90L3Q5MTM3LWdpdC1zdm4tZGNvbW1pdC1jbG9iYmVyLXNlcmllcy5zaApAQCAtMjAsOCArMjAsOCBAQAogCXRlc3QgeCJgc2VkIC1uIC1lIDYxcCA8IGZpbGVgIiA9IHg2MSAmJgogCXN2bl9jbWQgY28gIiRzdm5yZXBvIiB0bXAgJiYKIAkoY2QgdG1wICYmCi0JCSIkUEVSTF9QQVRIIiAtaS5iYWsgLXAgLWUgInMvXjU4JC81NTg4LyIgZmlsZSAmJgotCQkiJFBFUkxfUEFUSCIgLWkuYmFrIC1wIC1lICJzL142MSQvNjYxMS8iIGZpbGUgJiYKKwkJcGVybCAtaS5iYWsgLXAgLWUgInMvXjU4JC81NTg4LyIgZmlsZSAmJgorCQlwZXJsIC1pLmJhayAtcCAtZSAicy9eNjEkLzY2MTEvIiBmaWxlICYmCiAJCXBva2UgZmlsZSAmJgogCQl0ZXN0IHgiYHNlZCAtbiAtZSA1OHAgPCBmaWxlYCIgPSB4NTU4OCAmJgogCQl0ZXN0IHgiYHNlZCAtbiAtZSA2MXAgPCBmaWxlYCIgPSB4NjYxMSAmJgpAQCAtNDAsOCArNDAsOCBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hhbmdlIGZpbGUgYnV0IGluIHVucmVsYXRlZCBhcmVhJyAiCiAJdGVzdCB4XCJcYHNlZCAtbiAtZSA0cCA8IGZpbGVcYFwiID0geDQgJiYKIAl0ZXN0IHhcIlxgc2VkIC1uIC1lIDdwIDwgZmlsZVxgXCIgPSB4NyAmJgotCSIkUEVSTF9QQVRIIiAtaS5iYWsgLXAgLWUgJ3MvXjRcJC80NDQ0LycgZmlsZSAmJgotCSIkUEVSTF9QQVRIIiAtaS5iYWsgLXAgLWUgJ3MvXjdcJC83Nzc3LycgZmlsZSAmJgorCXBlcmwgLWkuYmFrIC1wIC1lICdzL140XCQvNDQ0NC8nIGZpbGUgJiYKKwlwZXJsIC1pLmJhayAtcCAtZSAncy9eN1wkLzc3NzcvJyBmaWxlICYmCiAJdGVzdCB4XCJcYHNlZCAtbiAtZSA0cCA8IGZpbGVcYFwiID0geDQ0NDQgJiYKIAl0ZXN0IHhcIlxgc2VkIC1uIC1lIDdwIDwgZmlsZVxgXCIgPSB4Nzc3NyAmJgogCWdpdCBjb21taXQgLW0gJzQgPT4gNDQ0NCwgNyA9PiA3Nzc3JyBmaWxlICYmCmRpZmYgLS1naXQgYS90L3Q5MTUwL21ha2Utc3ZrLWR1bXAgYi90L3Q5MTUwL21ha2Utc3ZrLWR1bXAKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQpkaWZmIC0tZ2l0IGEvdC90OTE1MS9tYWtlLXN2bm1lcmdlLWR1bXAgYi90L3Q5MTUxL21ha2Utc3ZubWVyZ2UtZHVtcApvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmRpZmYgLS1naXQgYS90L3Q5MjAwLWdpdC1jdnNleHBvcnRjb21taXQuc2ggYi90L3Q5MjAwLWdpdC1jdnNleHBvcnRjb21taXQuc2gKaW5kZXggM2ZiMzM2OC4uODEyYzljZCAxMDA3NTUKLS0tIGEvdC90OTIwMC1naXQtY3ZzZXhwb3J0Y29tbWl0LnNoCisrKyBiL3QvdDkyMDAtZ2l0LWN2c2V4cG9ydGNvbW1pdC5zaApAQCAtNSw3ICs1LDYgQEAKIHRlc3RfZGVzY3JpcHRpb249J1Rlc3QgZXhwb3J0IG9mIGNvbW1pdHMgdG8gQ1ZTJwogCiAuIC4vdGVzdC1saWIuc2gKLS4gIiRURVNUX0RJUkVDVE9SWSIvbGliLXByZXJlcS1GSUxFTU9ERS5zaAogCiBpZiAhIHRlc3RfaGF2ZV9wcmVyZXEgUEVSTDsgdGhlbgogCXNraXBfYWxsPSdza2lwcGluZyBnaXQgY3ZzZXhwb3J0Y29tbWl0IHRlc3RzLCBwZXJsIG5vdCBhdmFpbGFibGUnCmRpZmYgLS1naXQgYS90L3Q5MzAwLWZhc3QtaW1wb3J0LnNoIGIvdC90OTMwMC1mYXN0LWltcG9ydC5zaAppbmRleCBhYzZmM2I2Li4yNzI2M2RmIDEwMDc1NQotLS0gYS90L3Q5MzAwLWZhc3QtaW1wb3J0LnNoCisrKyBiL3QvdDkzMDAtZmFzdC1pbXBvcnQuc2gKQEAgLTEyLDcgKzEyLDcgQEAKICMgVGhpcyBjb3VsZCBiZSB3cml0dGVuIGFzICJoZWFkIC1jICQxIiwgYnV0IElSSVggImhlYWQiIGRvZXMgbm90CiAjIHN1cHBvcnQgdGhlIC1jIG9wdGlvbi4KIGhlYWRfYyAoKSB7Ci0JIiRQRVJMX1BBVEgiIC1lICcKKwlwZXJsIC1lICcKIAkJbXkgJGxlbiA9ICRBUkdWWzFdOwogCQl3aGlsZSAoJGxlbiA+IDApIHsKIAkJCW15ICRzOwpAQCAtMTAzMSw2ICsxMDMxLDMyIEBACiAJIGdpdCBkaWZmLXRyZWUgLU0gLXIgTTNeIE0zID5hY3R1YWwgJiYKIAkgY29tcGFyZV9kaWZmX3JhdyBleHBlY3QgYWN0dWFsJwogCitjYXQgPmlucHV0IDw8SU5QVVRfRU5ECitjb21taXQgcmVmcy9oZWFkcy9NNAorY29tbWl0dGVyICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAkR0lUX0NPTU1JVFRFUl9EQVRFCitkYXRhIDw8Q09NTUlUCityZW5hbWUgcm9vdAorQ09NTUlUCisKK2Zyb20gcmVmcy9oZWFkcy9NMl4wCitSICIiIHN1YgorCitJTlBVVF9FTkQKKworY2F0ID5leHBlY3QgPDxFT0YKKzoxMDA2NDQgMTAwNjQ0IDcxMjNmN2Y0NGUzOWJlMTI3YzVlYjcwMWU1OTY4MTc2ZWU5ZDc4YjEgNzEyM2Y3ZjQ0ZTM5YmUxMjdjNWViNzAxZTU5NjgxNzZlZTlkNzhiMSBSMTAwCWZpbGUyL29sZGYJc3ViL2ZpbGUyL29sZGYKKzoxMDA3NTUgMTAwNzU1IDg1ZGY1MDc4NWQ2MmQzYjA1YWIwM2Q5Y2JmN2U0YTBiNDk0NDk3MzAgODVkZjUwNzg1ZDYyZDNiMDVhYjAzZDljYmY3ZTRhMGI0OTQ0OTczMCBSMTAwCWZpbGU0CXN1Yi9maWxlNAorOjEwMDc1NSAxMDA3NTUgZjFmYjVkYTcxODM5MjY5NGQwMDc2ZDY3N2Q2ZDBlMzY0Yzc5YjBiYyBmMWZiNWRhNzE4MzkyNjk0ZDAwNzZkNjc3ZDZkMGUzNjRjNzliMGJjIFIxMDAJaS9hbS9uZXcvdG8veW91CXN1Yi9pL2FtL25ldy90by95b3UKKzoxMDA3NTUgMTAwNzU1IGU3NGI3ZDQ2NWU1Mjc0NmJlMmI0YmFlOTgzNjcwNzExZTZlNjY2NTcgZTc0YjdkNDY1ZTUyNzQ2YmUyYjRiYWU5ODM2NzA3MTFlNmU2NjY1NyBSMTAwCW5ld2Rpci9leGVjLnNoCXN1Yi9uZXdkaXIvZXhlYy5zaAorOjEwMDY0NCAxMDA2NDQgZmNmNzc4Y2RhMTgxZWFhMWNiYzllOWNlM2EyZTE1ZWU5ZjlmZTc5MSBmY2Y3NzhjZGExODFlYWExY2JjOWU5Y2UzYTJlMTVlZTlmOWZlNzkxIFIxMDAJbmV3ZGlyL2ludGVyZXN0aW5nCXN1Yi9uZXdkaXIvaW50ZXJlc3RpbmcKK0VPRgordGVzdF9leHBlY3Rfc3VjY2VzcyBcCisJJ006IHJlbmFtZSByb290IHRvIHN1YmRpcmVjdG9yeScgXAorCSdnaXQgZmFzdC1pbXBvcnQgPGlucHV0ICYmCisJIGdpdCBkaWZmLXRyZWUgLU0gLXIgTTReIE00ID5hY3R1YWwgJiYKKwkgY2F0IGFjdHVhbCAmJgorCSBjb21wYXJlX2RpZmZfcmF3IGV4cGVjdCBhY3R1YWwnCisKICMjIwogIyMjIHNlcmllcyBOCiAjIyMKQEAgLTEyMjgsNiArMTI1NCwyOSBAQAogCSBjb21wYXJlX2RpZmZfcmF3IGV4cGVjdCBhY3R1YWwnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAorCSdOOiBjb3B5IHJvb3QgYnkgcGF0aCcgXAorCSdjYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJOjEwMDc1NSAxMDA3NTUgZjFmYjVkYTcxODM5MjY5NGQwMDc2ZDY3N2Q2ZDBlMzY0Yzc5YjBiYyBmMWZiNWRhNzE4MzkyNjk0ZDAwNzZkNjc3ZDZkMGUzNjRjNzliMGJjIEMxMDAJZmlsZTIvbmV3ZglvbGRyb290L2ZpbGUyL25ld2YKKwk6MTAwNjQ0IDEwMDY0NCA3MTIzZjdmNDRlMzliZTEyN2M1ZWI3MDFlNTk2ODE3NmVlOWQ3OGIxIDcxMjNmN2Y0NGUzOWJlMTI3YzVlYjcwMWU1OTY4MTc2ZWU5ZDc4YjEgQzEwMAlmaWxlMi9vbGRmCW9sZHJvb3QvZmlsZTIvb2xkZgorCToxMDA3NTUgMTAwNzU1IDg1ZGY1MDc4NWQ2MmQzYjA1YWIwM2Q5Y2JmN2U0YTBiNDk0NDk3MzAgODVkZjUwNzg1ZDYyZDNiMDVhYjAzZDljYmY3ZTRhMGI0OTQ0OTczMCBDMTAwCWZpbGU0CW9sZHJvb3QvZmlsZTQKKwk6MTAwNzU1IDEwMDc1NSBlNzRiN2Q0NjVlNTI3NDZiZTJiNGJhZTk4MzY3MDcxMWU2ZTY2NjU3IGU3NGI3ZDQ2NWU1Mjc0NmJlMmI0YmFlOTgzNjcwNzExZTZlNjY2NTcgQzEwMAluZXdkaXIvZXhlYy5zaAlvbGRyb290L25ld2Rpci9leGVjLnNoCisJOjEwMDY0NCAxMDA2NDQgZmNmNzc4Y2RhMTgxZWFhMWNiYzllOWNlM2EyZTE1ZWU5ZjlmZTc5MSBmY2Y3NzhjZGExODFlYWExY2JjOWU5Y2UzYTJlMTVlZTlmOWZlNzkxIEMxMDAJbmV3ZGlyL2ludGVyZXN0aW5nCW9sZHJvb3QvbmV3ZGlyL2ludGVyZXN0aW5nCisJRU9GCisJIGNhdCA+aW5wdXQgPDwtSU5QVVRfRU5EICYmCisJY29tbWl0IHJlZnMvaGVhZHMvTi1jb3B5LXJvb3QtcGF0aAorCWNvbW1pdHRlciAkR0lUX0NPTU1JVFRFUl9OQU1FIDwkR0lUX0NPTU1JVFRFUl9FTUFJTD4gJEdJVF9DT01NSVRURVJfREFURQorCWRhdGEgPDxDT01NSVQKKwljb3B5IHJvb3QgZGlyZWN0b3J5IGJ5IChlbXB0eSkgcGF0aAorCUNPTU1JVAorCisJZnJvbSByZWZzL2hlYWRzL2JyYW5jaF4wCisJQyAiIiBvbGRyb290CisJSU5QVVRfRU5ECisJIGdpdCBmYXN0LWltcG9ydCA8aW5wdXQgJiYKKwkgZ2l0IGRpZmYtdHJlZSAtQyAtLWZpbmQtY29waWVzLWhhcmRlciAtciBicmFuY2ggTi1jb3B5LXJvb3QtcGF0aCA+YWN0dWFsICYmCisJIGNvbXBhcmVfZGlmZl9yYXcgZXhwZWN0IGFjdHVhbCcKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBcCiAJJ046IGRlbGV0ZSBkaXJlY3RvcnkgYnkgY29weWluZycgXAogCSdjYXQgPmV4cGVjdCA8PC1cRU9GICYmCiAJT0JKSUQKQEAgLTI4MTUsMTQgKzI4NjQsMTQgQEAKICcKIAogIwotIyBub3RlbW9kaWZ5LCBtYXJrIGluIGNvbW1pdHRpc2gKKyMgbm90ZW1vZGlmeSwgbWFyayBpbiBjb21taXQtaXNoCiAjCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdTOiBub3RlbW9kaWZ5IHdpdGggZ2FyYmFyZ2UgYWZ0ZXIgbWFyayBjb21taXR0aXNoIG11c3QgZmFpbCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnUzogbm90ZW1vZGlmeSB3aXRoIGdhcmJhcmdlIGFmdGVyIG1hcmsgY29tbWl0LWlzaCBtdXN0IGZhaWwnICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgZmFzdC1pbXBvcnQgLS1pbXBvcnQtbWFya3M9bWFya3MgPDwtRU9GIDI+ZXJyICYmCiAJY29tbWl0IHJlZnMvaGVhZHMvU25vdGVzCiAJY29tbWl0dGVyICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAkR0lUX0NPTU1JVFRFUl9EQVRFCiAJZGF0YSA8PENPTU1JVAotCWNvbW1pdCBTIG5vdGUgY29tbWl0dGlzaAorCWNvbW1pdCBTIG5vdGUgY29tbWl0LWlzaAogCUNPTU1JVAogCU4gOjIwMiA6MzAyeAogCUVPRgpAQCAtMjkzNCw0ICsyOTgzLDIwIEBACiAJdGVzdF9pMThuZ3JlcCAic3BhY2UgYWZ0ZXIgdHJlZS1pc2giIGVycgogJwogCisjIyMKKyMjIyBzZXJpZXMgVCAobHMpCisjIyMKKyMgU2V0dXAgaXMgY2FycmllZCBvdmVyIGZyb20gc2VyaWVzIFMuCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1Q6IGxzIHJvb3QgdHJlZScgJworCXNlZCAtZSAicy9aXCQvLyIgPmV4cGVjdCA8PC1FT0YgJiYKKwkwNDAwMDAgdHJlZSAkKGdpdCByZXYtcGFyc2UgU157dHJlZX0pCVoKKwlFT0YKKwlzaGExPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBTKSAmJgorCWdpdCBmYXN0LWltcG9ydCAtLWltcG9ydC1tYXJrcz1tYXJrcyA8PC1FT0YgPmFjdHVhbCAmJgorCWxzICRzaGExICIiCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDkzNTAtZmFzdC1leHBvcnQuc2ggYi90L3Q5MzUwLWZhc3QtZXhwb3J0LnNoCmluZGV4IDM0YzJkOGYuLjIzMTJkZWMgMTAwNzU1Ci0tLSBhL3QvdDkzNTAtZmFzdC1leHBvcnQuc2gKKysrIGIvdC90OTM1MC1mYXN0LWV4cG9ydC5zaApAQCAtNDI5LDcgKzQyOSw3IEBACiAJCS0tY2FjaGVpbmZvIDEwMDY0NCAkYmxvYiAicGF0aCB3aXRoIFxcYmFja3NsYXNoIiBcCiAJCS0tY2FjaGVpbmZvIDEwMDY0NCAkYmxvYiAicGF0aCB3aXRoIHNwYWNlIiAmJgogCSBnaXQgY29tbWl0IC1tIGFkZGl0aW9uICYmCi0JIGdpdCBscy1maWxlcyAteiAtcyB8ICIkUEVSTF9QQVRIIiAtMHBlICJze1xcdH17JCZzdWJkaXIvfSIgPmluZGV4ICYmCisJIGdpdCBscy1maWxlcyAteiAtcyB8IHBlcmwgLTBwZSAic3tcXHR9eyQmc3ViZGlyL30iID5pbmRleCAmJgogCSBnaXQgcmVhZC10cmVlIC0tZW1wdHkgJiYKIAkgZ2l0IHVwZGF0ZS1pbmRleCAteiAtLWluZGV4LWluZm8gPGluZGV4ICYmCiAJIGdpdCBjb21taXQgLW0gcmVuYW1lICYmCmRpZmYgLS1naXQgYS90L3Q5NDAwLWdpdC1jdnNzZXJ2ZXItc2VydmVyLnNoIGIvdC90OTQwMC1naXQtY3Zzc2VydmVyLXNlcnZlci5zaAppbmRleCAwNDMxMzg2Li4zZWRjNDA4IDEwMDc1NQotLS0gYS90L3Q5NDAwLWdpdC1jdnNzZXJ2ZXItc2VydmVyLnNoCisrKyBiL3QvdDk0MDAtZ2l0LWN2c3NlcnZlci1zZXJ2ZXIuc2gKQEAgLTIwLDcgKzIwLDcgQEAKICAgICBza2lwX2FsbD0nc2tpcHBpbmcgZ2l0LWN2c3NlcnZlciB0ZXN0cywgY3ZzIG5vdCBmb3VuZCcKICAgICB0ZXN0X2RvbmUKIGZpCi0iJFBFUkxfUEFUSCIgLWUgJ3VzZSBEQkk7IHVzZSBEQkQ6OlNRTGl0ZScgPi9kZXYvbnVsbCAyPiYxIHx8IHsKK3BlcmwgLWUgJ3VzZSBEQkk7IHVzZSBEQkQ6OlNRTGl0ZScgPi9kZXYvbnVsbCAyPiYxIHx8IHsKICAgICBza2lwX2FsbD0nc2tpcHBpbmcgZ2l0LWN2c3NlcnZlciB0ZXN0cywgUGVybCBTUUxpdGUgaW50ZXJmYWNlIHVuYXZhaWxhYmxlJwogICAgIHRlc3RfZG9uZQogfQpkaWZmIC0tZ2l0IGEvdC90OTQwMS1naXQtY3Zzc2VydmVyLWNybGYuc2ggYi90L3Q5NDAxLWdpdC1jdnNzZXJ2ZXItY3JsZi5zaAppbmRleCA4YzNkYjc2Li41YTRlZDI4IDEwMDc1NQotLS0gYS90L3Q5NDAxLWdpdC1jdnNzZXJ2ZXItY3JsZi5zaAorKysgYi90L3Q5NDAxLWdpdC1jdnNzZXJ2ZXItY3JsZi5zaApAQCAtNjgsNyArNjgsNyBAQAogICAgIHNraXBfYWxsPSdza2lwcGluZyBnaXQtY3Zzc2VydmVyIHRlc3RzLCBwZXJsIG5vdCBhdmFpbGFibGUnCiAgICAgdGVzdF9kb25lCiBmaQotIiRQRVJMX1BBVEgiIC1lICd1c2UgREJJOyB1c2UgREJEOjpTUUxpdGUnID4vZGV2L251bGwgMj4mMSB8fCB7CitwZXJsIC1lICd1c2UgREJJOyB1c2UgREJEOjpTUUxpdGUnID4vZGV2L251bGwgMj4mMSB8fCB7CiAgICAgc2tpcF9hbGw9J3NraXBwaW5nIGdpdC1jdnNzZXJ2ZXIgdGVzdHMsIFBlcmwgU1FMaXRlIGludGVyZmFjZSB1bmF2YWlsYWJsZScKICAgICB0ZXN0X2RvbmUKIH0KZGlmZiAtLWdpdCBhL3QvdDk0MDItZ2l0LWN2c3NlcnZlci1yZWZzLnNoIGIvdC90OTQwMi1naXQtY3Zzc2VydmVyLXJlZnMuc2gKaW5kZXggZGI2OWFmMi4uMWUyNjZlZiAxMDA3NTUKLS0tIGEvdC90OTQwMi1naXQtY3Zzc2VydmVyLXJlZnMuc2gKKysrIGIvdC90OTQwMi1naXQtY3Zzc2VydmVyLXJlZnMuc2gKQEAgLTc2LDcgKzc2LDcgQEAKIAlza2lwX2FsbD0nc2tpcHBpbmcgZ2l0LWN2c3NlcnZlciB0ZXN0cywgcGVybCBub3QgYXZhaWxhYmxlJwogCXRlc3RfZG9uZQogZmkKLSIkUEVSTF9QQVRIIiAtZSAndXNlIERCSTsgdXNlIERCRDo6U1FMaXRlJyA+L2Rldi9udWxsIDI+JjEgfHwgeworcGVybCAtZSAndXNlIERCSTsgdXNlIERCRDo6U1FMaXRlJyA+L2Rldi9udWxsIDI+JjEgfHwgewogCXNraXBfYWxsPSdza2lwcGluZyBnaXQtY3Zzc2VydmVyIHRlc3RzLCBQZXJsIFNRTGl0ZSBpbnRlcmZhY2UgdW5hdmFpbGFibGUnCiAJdGVzdF9kb25lCiB9CmRpZmYgLS1naXQgYS90L3Q5NTAwLWdpdHdlYi1zdGFuZGFsb25lLW5vLWVycm9ycy5zaCBiL3QvdDk1MDAtZ2l0d2ViLXN0YW5kYWxvbmUtbm8tZXJyb3JzLnNoCmluZGV4IDZmY2ExOTMuLmU3NGI5YWIgMTAwNzU1Ci0tLSBhL3QvdDk1MDAtZ2l0d2ViLXN0YW5kYWxvbmUtbm8tZXJyb3JzLnNoCisrKyBiL3QvdDk1MDAtZ2l0d2ViLXN0YW5kYWxvbmUtbm8tZXJyb3JzLnNoCkBAIC0zMjgsNyArMzI4LDcgQEAKIAkgZ2l0IGFkZCBiICYmCiAJIGdpdCBjb21taXQgLWEgLW0gIk9uIGJyYW5jaCIgJiYKIAkgZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgotCSBnaXQgcHVsbCAuIGIgJiYKKwkgZ2l0IG1lcmdlIGIgJiYKIAkgZ2l0IHRhZyBtZXJnZV9jb21taXQnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXApAQCAtNjgzLDkgKzY4MywxMSBAQAogIyBzeW50YXggaGlnaGxpZ2h0aW5nCiAKIAotaGlnaGxpZ2h0IC0tdmVyc2lvbiA+L2Rldi9udWxsIDI+JjEKK2hpZ2hsaWdodF92ZXJzaW9uPSQoaGlnaGxpZ2h0IC0tdmVyc2lvbiA8L2Rldi9udWxsIDI+L2Rldi9udWxsKQogaWYgWyAkPyAtZXEgMTI3IF07IHRoZW4KLQlzYXkgIlNraXBwaW5nIHN5bnRheCBoaWdobGlnaHRpbmcgdGVzdCwgYmVjYXVzZSAnaGlnaGxpZ2h0JyB3YXMgbm90IGZvdW5kIgorCXNheSAiU2tpcHBpbmcgc3ludGF4IGhpZ2hsaWdodGluZyB0ZXN0czogJ2hpZ2hsaWdodCcgbm90IGZvdW5kIgorZWxpZiB0ZXN0IC16ICIkaGlnaGxpZ2h0X3ZlcnNpb24iOyB0aGVuCisJc2F5ICJTa2lwcGluZyBzeW50YXggaGlnaGxpZ2h0aW5nIHRlc3RzOiBpbmNvcnJlY3QgJ2hpZ2hsaWdodCcgZm91bmQiCiBlbHNlCiAJdGVzdF9zZXRfcHJlcmVxIEhJR0hMSUdIVAogCWNhdCA+PmdpdHdlYl9jb25maWcucGVybCA8PC1cRU9GCmRpZmYgLS1naXQgYS90L3Q5NzAwLXBlcmwtZ2l0LnNoIGIvdC90OTcwMC1wZXJsLWdpdC5zaAppbmRleCA0MzVkODk2Li4xMDJjMTMzIDEwMDc1NQotLS0gYS90L3Q5NzAwLXBlcmwtZ2l0LnNoCisrKyBiL3QvdDk3MDAtcGVybC1naXQuc2gKQEAgLTExLDcgKzExLDcgQEAKIAl0ZXN0X2RvbmUKIGZpCiAKLSIkUEVSTF9QQVRIIiAtTVRlc3Q6Ok1vcmUgLWUgMCAyPi9kZXYvbnVsbCB8fCB7CitwZXJsIC1NVGVzdDo6TW9yZSAtZSAwIDI+L2Rldi9udWxsIHx8IHsKIAlza2lwX2FsbD0iUGVybCBUZXN0OjpNb3JlIHVuYXZhaWxhYmxlLCBza2lwcGluZyB0ZXN0IgogCXRlc3RfZG9uZQogfQpAQCAtNTUsNiArNTUsNiBAQAogCiB0ZXN0X2V4dGVybmFsX3dpdGhvdXRfc3RkZXJyIFwKICAgICAnUGVybCBBUEknIFwKLSAgICAiJFBFUkxfUEFUSCIgIiRURVNUX0RJUkVDVE9SWSIvdDk3MDAvdGVzdC5wbAorICAgIHBlcmwgIiRURVNUX0RJUkVDVE9SWSIvdDk3MDAvdGVzdC5wbAogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk4MDItZ2l0LXA0LWZpbGV0eXBlLnNoIGIvdC90OTgwMi1naXQtcDQtZmlsZXR5cGUuc2gKaW5kZXggYTgyNzQ0Yi4uNjZkM2ZjOSAxMDA3NTUKLS0tIGEvdC90OTgwMi1naXQtcDQtZmlsZXR5cGUuc2gKKysrIGIvdC90OTgwMi1naXQtcDQtZmlsZXR5cGUuc2gKQEAgLTI1MCw2ICsyNTAsODkgQEAKIAkpCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgU1lNTElOS1MgJ2NyZWF0ZSBwNCBzeW1saW5rJyAnCisJY2QgIiRjbGkiICYmCisJbG4gLXMgc3ltbGluay10YXJnZXQgc3ltbGluayAmJgorCXA0IGFkZCBzeW1saW5rICYmCisJcDQgc3VibWl0IC1kICJhZGQgc3ltbGluayIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBTWU1MSU5LUyAnZW5zdXJlIHA0IHN5bWxpbmsgcGFyc2VkIGNvcnJlY3RseScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCBjbGVhbnVwX2dpdCAmJgorCWdpdCBwNCBjbG9uZSAtLWRlc3Q9IiRnaXQiIC8vZGVwb3RAYWxsICYmCisJKAorCQljZCAiJGdpdCIgJiYKKwkJdGVzdCAtTCBzeW1saW5rICYmCisJCXRlc3QgJChyZWFkbGluayBzeW1saW5rKSA9IHN5bWxpbmstdGFyZ2V0CisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFNZTUxJTktTICdlbXB0eSBzeW1saW5rIHRhcmdldCcgJworCSgKKwkJIyBmaXJzdCBjcmVhdGUgdGhlIGZpbGUgYXMgYSBmaWxlCisJCWNkICIkY2xpIiAmJgorCQk+ZW1wdHktc3ltbGluayAmJgorCQlwNCBhZGQgZW1wdHktc3ltbGluayAmJgorCQlwNCBzdWJtaXQgLWQgImFkZCBlbXB0eS1zeW1saW5rIGFzIGEgZmlsZSIKKwkpICYmCisJKAorCQkjIG5vdyBjaGFuZ2UgaXQgdG8gYmUgYSBzeW1saW5rIHRvICJ0YXJnZXQxIgorCQljZCAiJGNsaSIgJiYKKwkJcDQgZWRpdCBlbXB0eS1zeW1saW5rICYmCisJCXA0IHJlb3BlbiAtdCBzeW1saW5rIGVtcHR5LXN5bWxpbmsgJiYKKwkJcm0gZW1wdHktc3ltbGluayAmJgorCQlsbiAtcyB0YXJnZXQxIGVtcHR5LXN5bWxpbmsgJiYKKwkJcDQgYWRkIGVtcHR5LXN5bWxpbmsgJiYKKwkJcDQgc3VibWl0IC1kICJtYWtlIGVtcHR5LXN5bWxpbmsgcG9pbnQgdG8gdGFyZ2V0MSIKKwkpICYmCisJKAorCQkjIEhhY2sgdGhlIHA0IGRlcG90IHRvIG1ha2UgdGhlIHN5bWxpbmsgcG9pbnQgdG8gbm90aGluZzsKKwkJIyB0aGlzIHNob3VsZCBub3QgaGFwcGVuIGluIHJlYWxpdHksIGJ1dCBzaG93cyB1cAorCQkjIGluIHA0IHJlcG9zIGluIHRoZSB3aWxkLgorCQkjCisJCSMgVGhlIHNlZCBleHByZXNzaW9uIGNoYW5nZXMgdGhpczoKKwkJIyAgICAgQEAKKwkJIyAgICAgdGV4dAorCQkjICAgICBAdGFyZ2V0MQorCQkjICAgICBACisJCSMgdG8gdGhpczoKKwkJIyAgICAgQEAKKwkJIyAgICAgdGV4dAorCQkjICAgICBAQAorCQkjCisJCWNkICIkZGIvZGVwb3QiICYmCisJCXNlZCAiL0B0YXJnZXQxL3s7IHMvdGFyZ2V0MS9ALzsgbjsgZDsgfSIgXAorCQkgICAgZW1wdHktc3ltbGluayx2ID5lbXB0eS1zeW1saW5rLHYudG1wICYmCisJCW12IGVtcHR5LXN5bWxpbmssdi50bXAgZW1wdHktc3ltbGluayx2CisJKSAmJgorCSgKKwkJIyBNYWtlIHN1cmUgc3ltbGluayByZWFsbHkgaXMgZW1wdHkuICBBc2tpbmcKKwkJIyBwNCB0byBzeW5jIGhlcmUgd2lsbCBtYWtlIGl0IGdlbmVyYXRlIGVycm9ycy4KKwkJY2QgIiRjbGkiICYmCisJCXA0IHByaW50IC1xIC8vZGVwb3QvZW1wdHktc3ltbGluayMyID5vdXQgJiYKKwkJdGVzdCAhIC1zIG91dAorCSkgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgY2xlYW51cF9naXQgJiYKKworCSMgbWFrZSBzdXJlIGdpdCBwNCBoYW5kbGVzIGl0IHdpdGhvdXQgZXJyb3IKKwlnaXQgcDQgY2xvbmUgLS1kZXN0PSIkZ2l0IiAvL2RlcG90QGFsbCAmJgorCisJIyBmaXggdGhlIHN5bWxpbmssIG1ha2UgaXQgcG9pbnQgdG8gInRhcmdldDIiCisJKAorCQljZCAiJGNsaSIgJiYKKwkJcDQgb3BlbiBlbXB0eS1zeW1saW5rICYmCisJCXJtIGVtcHR5LXN5bWxpbmsgJiYKKwkJbG4gLXMgdGFyZ2V0MiBlbXB0eS1zeW1saW5rICYmCisJCXA0IHN1Ym1pdCAtZCAibWFrZSBlbXB0eS1zeW1saW5rIHBvaW50IHRvIHRhcmdldDIiCisJKSAmJgorCWNsZWFudXBfZ2l0ICYmCisJZ2l0IHA0IGNsb25lIC0tZGVzdD0iJGdpdCIgLy9kZXBvdEBhbGwgJiYKKwkoCisJCWNkICIkZ2l0IiAmJgorCQl0ZXN0ICQocmVhZGxpbmsgZW1wdHktc3ltbGluaykgPSB0YXJnZXQyCisJKQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdraWxsIHA0ZCcgJwogCWtpbGxfcDRkCiAnCmRpZmYgLS1naXQgYS90L3Q5ODA1LWdpdC1wNC1za2lwLXN1Ym1pdC1lZGl0LnNoIGIvdC90OTgwNS1naXQtcDQtc2tpcC1zdWJtaXQtZWRpdC5zaAppbmRleCBmZjJjYzc5Li44OTMxMTg4IDEwMDc1NQotLS0gYS90L3Q5ODA1LWdpdC1wNC1za2lwLXN1Ym1pdC1lZGl0LnNoCisrKyBiL3QvdDk4MDUtZ2l0LXA0LXNraXAtc3VibWl0LWVkaXQuc2gKQEAgLTE3LDcgKzE3LDcgQEAKIAkpCiAnCiAKLSMgdGhpcyB3b3JrcyBiZWNhdXNlIEVESVRPUiBpcyBzZXQgdG8gOgorIyB0aGlzIHdvcmtzIGJlY2F1c2UgUDRFRElUT1IgaXMgc2V0IHRvIHRydWUKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vIGNvbmZpZywgdW5lZGl0ZWQsIHNheSB5ZXMnICcKIAlnaXQgcDQgY2xvbmUgLS1kZXN0PSIkZ2l0IiAvL2RlcG90ICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkIGNsZWFudXBfZ2l0ICYmCkBAIC05MCw3ICs5MCw5IEBACiAJCWNkICIkZ2l0IiAmJgogCQllY2hvIGxpbmUgPj5maWxlMSAmJgogCQlnaXQgY29tbWl0IC1hIC1tICJjaGFuZ2UgNSIgJiYKLQkJUDRFRElUT1I9IiIgRURJVE9SPSJcIiRUUkFTSF9ESVJFQ1RPUlkvZWQuc2hcIiIgZ2l0IHA0IHN1Ym1pdCAmJgorCQlQNEVESVRPUj0iJFRSQVNIX0RJUkVDVE9SWS9lZC5zaCIgJiYKKwkJZXhwb3J0IFA0RURJVE9SICYmCisJCWdpdCBwNCBzdWJtaXQgJiYKIAkJcDQgY2hhbmdlcyAvL2RlcG90Ly4uLiA+d2MgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gNSB3YwogCSkKZGlmZiAtLWdpdCBhL3QvdDk4MDctZ2l0LXA0LXN1Ym1pdC5zaCBiL3QvdDk4MDctZ2l0LXA0LXN1Ym1pdC5zaAppbmRleCAxZmI3YmM3Li40Y2FmMzZlIDEwMDc1NQotLS0gYS90L3Q5ODA3LWdpdC1wNC1zdWJtaXQuc2gKKysrIGIvdC90OTgwNy1naXQtcDQtc3VibWl0LnNoCkBAIC0xNyw3ICsxNyw3IEBACiAJKQogJwogCi10ZXN0X2V4cGVjdF9mYWlsdXJlICdpc19jbGlfZmlsZV93cml0ZWFibGUgZnVuY3Rpb24nICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2lzX2NsaV9maWxlX3dyaXRlYWJsZSBmdW5jdGlvbicgJwogCSgKIAkJY2QgIiRjbGkiICYmCiAJCWVjaG8gYSA+YSAmJgpkaWZmIC0tZ2l0IGEvdC90OTgwOS1naXQtcDQtY2xpZW50LXZpZXcuc2ggYi90L3Q5ODA5LWdpdC1wNC1jbGllbnQtdmlldy5zaAppbmRleCA3N2Y2MzQ5Li4yM2E4MjdmIDEwMDc1NQotLS0gYS90L3Q5ODA5LWdpdC1wNC1jbGllbnQtdmlldy5zaAorKysgYi90L3Q5ODA5LWdpdC1wNC1jbGllbnQtdmlldy5zaApAQCAtNzYsMjggKzc2LDI4IEBACiAnCiAKICMgZG91YmxlICUgZm9yIHByaW50ZgotdGVzdF9leHBlY3Rfc3VjY2VzcyAndW5zdXBwb3J0ZWQgdmlldyB3aWxkY2FyZCAlJW4nICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZpZXcgd2lsZGNhcmQgJSVuJyAnCiAJY2xpZW50X3ZpZXcgIi8vZGVwb3QvJSUlJTEvc3ViLy4uLiAvL2NsaWVudC9zdWIvJSUlJTEvLi4uIiAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCBjbGVhbnVwX2dpdCAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCBwNCBjbG9uZSAtLXVzZS1jbGllbnQtc3BlYyAtLWRlc3Q9IiRnaXQiIC8vZGVwb3QKKwlnaXQgcDQgY2xvbmUgLS11c2UtY2xpZW50LXNwZWMgLS1kZXN0PSIkZ2l0IiAvL2RlcG90CiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Vuc3VwcG9ydGVkIHZpZXcgd2lsZGNhcmQgKicgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAndmlldyB3aWxkY2FyZCAqJyAnCiAJY2xpZW50X3ZpZXcgIi8vZGVwb3QvKi9iYXIvLi4uIC8vY2xpZW50LyovYmFyLy4uLiIgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgY2xlYW51cF9naXQgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgcDQgY2xvbmUgLS11c2UtY2xpZW50LXNwZWMgLS1kZXN0PSIkZ2l0IiAvL2RlcG90CisJZ2l0IHA0IGNsb25lIC0tdXNlLWNsaWVudC1zcGVjIC0tZGVzdD0iJGdpdCIgLy9kZXBvdAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICd3aWxkY2FyZCAuLi4gb25seSBzdXBwb3J0ZWQgYXQgZW5kIG9mIHNwZWMgMScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnd2lsZGNhcmQgLi4uIGluIHRoZSBtaWRkbGUnICcKIAljbGllbnRfdmlldyAiLy9kZXBvdC8uLi4vZmlsZTExIC8vY2xpZW50Ly4uLi9maWxlMTEiICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkIGNsZWFudXBfZ2l0ICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IHA0IGNsb25lIC0tdXNlLWNsaWVudC1zcGVjIC0tZGVzdD0iJGdpdCIgLy9kZXBvdAorCWdpdCBwNCBjbG9uZSAtLXVzZS1jbGllbnQtc3BlYyAtLWRlc3Q9IiRnaXQiIC8vZGVwb3QKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnd2lsZGNhcmQgLi4uIG9ubHkgc3VwcG9ydGVkIGF0IGVuZCBvZiBzcGVjIDInICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dpbGRjYXJkIC4uLiBpbiB0aGUgbWlkZGxlIGFuZCBhdCB0aGUgZW5kJyAnCiAJY2xpZW50X3ZpZXcgIi8vZGVwb3QvLi4uL2EvLi4uIC8vY2xpZW50Ly4uLi9hLy4uLiIgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgY2xlYW51cF9naXQgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgcDQgY2xvbmUgLS11c2UtY2xpZW50LXNwZWMgLS1kZXN0PSIkZ2l0IiAvL2RlcG90CisJZ2l0IHA0IGNsb25lIC0tdXNlLWNsaWVudC1zcGVjIC0tZGVzdD0iJGdpdCIgLy9kZXBvdAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdiYXNpYyBtYXAnICcKZGlmZiAtLWdpdCBhL3QvdDk4MTAtZ2l0LXA0LXJjcy5zaCBiL3QvdDk4MTAtZ2l0LXA0LXJjcy5zaAppbmRleCAzNGZiYzkwLi44MTM0YWI0IDEwMDc1NQotLS0gYS90L3Q5ODEwLWdpdC1wNC1yY3Muc2gKKysrIGIvdC90OTgxMC1naXQtcDQtcmNzLnNoCkBAIC0yNjMsNyArMjYzLDcgQEAKIAkJZ2l0IGNvbmZpZyBnaXQtcDQuYXR0ZW1wdFJDU0NsZWFudXAgdHJ1ZSAmJgogCQkoY2QgIiRjbGkiICYmIHA0X2FwcGVuZF90b19maWxlIGt3ZmlsZTEuYykgJiYKIAkJb2xkX2xpbmVzPSQod2MgLWwgPGt3ZmlsZTEuYykgJiYKLQkJIiRQRVJMX1BBVEgiIC1uIC1pIC1lICJwcmludCB1bmxlc3MgbS9SZXZpc2lvbjovIiBrd2ZpbGUxLmMgJiYKKwkJcGVybCAtbiAtaSAtZSAicHJpbnQgdW5sZXNzIG0vUmV2aXNpb246LyIga3dmaWxlMS5jICYmCiAJCW5ld19saW5lcz0kKHdjIC1sIDxrd2ZpbGUxLmMpICYmCiAJCXRlc3QgJG5ld19saW5lcyA9ICQoKCRvbGRfbGluZXMgLSAxKSkgJiYKIApkaWZmIC0tZ2l0IGEvdC90OTgxMi1naXQtcDQtd2lsZGNhcmRzLnNoIGIvdC90OTgxMi1naXQtcDQtd2lsZGNhcmRzLnNoCmluZGV4IDY3NjMzMjUuLmM3NDcyY2IgMTAwNzU1Ci0tLSBhL3QvdDk4MTItZ2l0LXA0LXdpbGRjYXJkcy5zaAorKysgYi90L3Q5ODEyLWdpdC1wNC13aWxkY2FyZHMuc2gKQEAgLTE2MSw2ICsxNjEsNTYgQEAKIAkpCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3A0IGRlbGV0ZWQgYSB3aWxkY2FyZCBmaWxlJyAnCisJKAorCQljZCAiJGNsaSIgJiYKKwkJZWNobyAid2lsZCBkZWxldGUgdGVzdCIgPndpbGRAZGVsZXRlICYmCisJCXA0IGFkZCAtZiB3aWxkQGRlbGV0ZSAmJgorCQlwNCBzdWJtaXQgLWQgImFkZCB3aWxkQGRlbGV0ZSIKKwkpICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkIGNsZWFudXBfZ2l0ICYmCisJZ2l0IHA0IGNsb25lIC0tZGVzdD0iJGdpdCIgLy9kZXBvdCAmJgorCSgKKwkJY2QgIiRnaXQiICYmCisJCXRlc3RfcGF0aF9pc19maWxlIHdpbGRAZGVsZXRlCisJKSAmJgorCSgKKwkJY2QgIiRjbGkiICYmCisJCSMgbXVzdCB1c2UgaXRzIGVuY29kZWQgbmFtZQorCQlwNCBkZWxldGUgd2lsZCU0MGRlbGV0ZSAmJgorCQlwNCBzdWJtaXQgLWQgImRlbGV0ZSB3aWxkQGRlbGV0ZSIKKwkpICYmCisJKAorCQljZCAiJGdpdCIgJiYKKwkJZ2l0IHA0IHN5bmMgJiYKKwkJZ2l0IG1lcmdlIC0tZmYtb25seSBwNC9tYXN0ZXIgJiYKKwkJdGVzdF9wYXRoX2lzX21pc3Npbmcgd2lsZEBkZWxldGUKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dpbGRjYXJkIGZpbGVzIHJlcXVpcmluZyBrZXl3b3JkIHNjcnViJyAnCisJKAorCQljZCAiJGNsaSIgJiYKKwkJY2F0IDw8LVxFT0YgPnNjcnViQHdpbGQgJiYKKwkJJElkJAorCQlsaW5lMgorCQlFT0YKKwkJcDQgYWRkIC10IHRleHQrayAtZiBzY3J1YkB3aWxkICYmCisJCXA0IHN1Ym1pdCAtZCAic2NydWIgYXQgd2lsZCIKKwkpICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkIGNsZWFudXBfZ2l0ICYmCisJZ2l0IHA0IGNsb25lIC0tZGVzdD0iJGdpdCIgLy9kZXBvdCAmJgorCSgKKwkJY2QgIiRnaXQiICYmCisJCWdpdCBjb25maWcgZ2l0LXA0LnNraXBTdWJtaXRFZGl0IHRydWUgJiYKKwkJZ2l0IGNvbmZpZyBnaXQtcDQuYXR0ZW1wdFJDU0NsZWFudXAgdHJ1ZSAmJgorCQlzZWQgInMvXmxpbmUyL2xpbmUyIGVkaXQvIiA8c2NydWJAd2lsZCA+c2NydWJAd2lsZC50bXAgJiYKKwkJbXYgLWYgc2NydWJAd2lsZC50bXAgc2NydWJAd2lsZCAmJgorCQlnaXQgY29tbWl0IC1tICJzY3J1YiBhdCB3aWxkIGxpbmUyIGVkaXQiIHNjcnViQHdpbGQgJiYKKwkJZ2l0IHA0IHN1Ym1pdAorCSkKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAna2lsbCBwNGQnICcKIAlraWxsX3A0ZAogJwpkaWZmIC0tZ2l0IGEvdC90OTgxMy1naXQtcDQtcHJlc2VydmUtdXNlcnMuc2ggYi90L3Q5ODEzLWdpdC1wNC1wcmVzZXJ2ZS11c2Vycy5zaAppbmRleCBmMmU4NWU1Li4xNjZiODQwIDEwMDc1NQotLS0gYS90L3Q5ODEzLWdpdC1wNC1wcmVzZXJ2ZS11c2Vycy5zaAorKysgYi90L3Q5ODEzLWdpdC1wNC1wcmVzZXJ2ZS11c2Vycy5zaApAQCAtMTksMTYgKzE5LDYgQEAKIAkpCiAnCiAKLXA0X2FkZF91c2VyKCkgewotCW5hbWU9JDEgZnVsbG5hbWU9JDIgJiYKLQlwNCB1c2VyIC1mIC1pIDw8LUVPRiAmJgotCVVzZXI6ICRuYW1lCi0JRW1haWw6ICRuYW1lQGxvY2FsaG9zdAotCUZ1bGxOYW1lOiAkZnVsbG5hbWUKLQlFT0YKLQlwNCBwYXNzd2QgLVAgc2VjcmV0ICRuYW1lCi19Ci0KIHA0X2dyYW50X2FkbWluKCkgewogCW5hbWU9JDEgJiYKIAl7CkBAIC01MSw4ICs0MSw4IEBACiAKICMgVGVzdCB1c2VybmFtZSBzdXBwb3J0LCBzdWJtaXR0aW5nIGFzIHVzZXIgJ2FsaWNlJwogdGVzdF9leHBlY3Rfc3VjY2VzcyAncHJlc2VydmUgdXNlcnMnICcKLQlwNF9hZGRfdXNlciBhbGljZSBBbGljZSAmJgotCXA0X2FkZF91c2VyIGJvYiBCb2IgJiYKKwlwNF9hZGRfdXNlciBhbGljZSAmJgorCXA0X2FkZF91c2VyIGJvYiAmJgogCXA0X2dyYW50X2FkbWluIGFsaWNlICYmCiAJZ2l0IHA0IGNsb25lIC0tZGVzdD0iJGdpdCIgLy9kZXBvdCAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCBjbGVhbnVwX2dpdCAmJgpAQCAtNjAsOCArNTAsOCBAQAogCQljZCAiJGdpdCIgJiYKIAkJZWNobyAidXNlcm5hbWU6IGEgY2hhbmdlIGJ5IGFsaWNlIiA+PmZpbGUxICYmCiAJCWVjaG8gInVzZXJuYW1lOiBhIGNoYW5nZSBieSBib2IiID4+ZmlsZTIgJiYKLQkJZ2l0IGNvbW1pdCAtLWF1dGhvciAiQWxpY2UgPGFsaWNlQGxvY2FsaG9zdD4iIC1tICJhIGNoYW5nZSBieSBhbGljZSIgZmlsZTEgJiYKLQkJZ2l0IGNvbW1pdCAtLWF1dGhvciAiQm9iIDxib2JAbG9jYWxob3N0PiIgLW0gImEgY2hhbmdlIGJ5IGJvYiIgZmlsZTIgJiYKKwkJZ2l0IGNvbW1pdCAtLWF1dGhvciAiQWxpY2UgPGFsaWNlQGV4YW1wbGUuY29tPiIgLW0gImEgY2hhbmdlIGJ5IGFsaWNlIiBmaWxlMSAmJgorCQlnaXQgY29tbWl0IC0tYXV0aG9yICJCb2IgPGJvYkBleGFtcGxlLmNvbT4iIC1tICJhIGNoYW5nZSBieSBib2IiIGZpbGUyICYmCiAJCWdpdCBjb25maWcgZ2l0LXA0LnNraXBTdWJtaXRFZGl0Q2hlY2sgdHJ1ZSAmJgogCQlQNEVESVRPUj10b3VjaCBQNFVTRVI9YWxpY2UgUDRQQVNTV0Q9c2VjcmV0IGdpdCBwNCBjb21taXQgLS1wcmVzZXJ2ZS11c2VyICYmCiAJCXA0X2NoZWNrX2NvbW1pdF9hdXRob3IgZmlsZTEgYWxpY2UgJiYKQEAgLTc4LDcgKzY4LDcgQEAKIAkJY2QgIiRnaXQiICYmCiAJCWdpdCBjb25maWcgZ2l0LXA0LnNraXBTdWJtaXRFZGl0Q2hlY2sgdHJ1ZSAmJgogCQllY2hvICJ1c2VybmFtZS1ub3Blcm1zOiBhIGNoYW5nZSBieSBhbGljZSIgPj5maWxlMSAmJgotCQlnaXQgY29tbWl0IC0tYXV0aG9yICJBbGljZSA8YWxpY2VAbG9jYWxob3N0PiIgLW0gInBlcm1zOiBhIGNoYW5nZSBieSBhbGljZSIgZmlsZTEgJiYKKwkJZ2l0IGNvbW1pdCAtLWF1dGhvciAiQWxpY2UgPGFsaWNlQGV4YW1wbGUuY29tPiIgLW0gInBlcm1zOiBhIGNoYW5nZSBieSBhbGljZSIgZmlsZTEgJiYKIAkJUDRFRElUT1I9dG91Y2ggUDRVU0VSPWJvYiBQNFBBU1NXRD1zZWNyZXQgJiYKIAkJZXhwb3J0IFA0RURJVE9SIFA0VVNFUiBQNFBBU1NXRCAmJgogCQl0ZXN0X211c3RfZmFpbCBnaXQgcDQgY29tbWl0IC0tcHJlc2VydmUtdXNlciAmJgpAQCAtOTQsOSArODQsOSBAQAogCQljZCAiJGdpdCIgJiYKIAkJZ2l0IGNvbmZpZyBnaXQtcDQuc2tpcFN1Ym1pdEVkaXRDaGVjayB0cnVlICYmCiAJCWVjaG8gInVzZXJuYW1lLWJvYjogYSBjaGFuZ2UgYnkgYm9iIiA+PmZpbGUxICYmCi0JCWdpdCBjb21taXQgLS1hdXRob3IgIkJvYiA8Ym9iQGxvY2FsaG9zdD4iIC1tICJwcmVzZXJ2ZTogYSBjaGFuZ2UgYnkgYm9iIiBmaWxlMSAmJgorCQlnaXQgY29tbWl0IC0tYXV0aG9yICJCb2IgPGJvYkBleGFtcGxlLmNvbT4iIC1tICJwcmVzZXJ2ZTogYSBjaGFuZ2UgYnkgYm9iIiBmaWxlMSAmJgogCQllY2hvICJ1c2VybmFtZS11bmtub3duOiBhIGNoYW5nZSBieSBjaGFybGllIiA+PmZpbGUxICYmCi0JCWdpdCBjb21taXQgLS1hdXRob3IgIkNoYXJsaWUgPGNoYXJsaWVAbG9jYWxob3N0PiIgLW0gInByZXNlcnZlOiBhIGNoYW5nZSBieSBjaGFybGllIiBmaWxlMSAmJgorCQlnaXQgY29tbWl0IC0tYXV0aG9yICJDaGFybGllIDxjaGFybGllQGV4YW1wbGUuY29tPiIgLW0gInByZXNlcnZlOiBhIGNoYW5nZSBieSBjaGFybGllIiBmaWxlMSAmJgogCQlQNEVESVRPUj10b3VjaCBQNFVTRVI9YWxpY2UgUDRQQVNTV0Q9c2VjcmV0ICYmCiAJCWV4cG9ydCBQNEVESVRPUiBQNFVTRVIgUDRQQVNTV0QgJiYKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHA0IGNvbW1pdCAtLXByZXNlcnZlLXVzZXIgJiYKQEAgLTEyMSwyNCArMTExLDI0IEBACiAJKAogCQljZCAiJGdpdCIgJiYKIAkJZ2l0IGNvbmZpZyBnaXQtcDQuc2tpcFN1Ym1pdEVkaXRDaGVjayB0cnVlICYmCi0JCXA0X2FkZF91c2VyIGRlcmVrIERlcmVrICYmCisJCXA0X2FkZF91c2VyIGRlcmVrICYmCiAKLQkJbWFrZV9jaGFuZ2VfYnlfdXNlciB1c2VybmFtZWZpbGUzIERlcmVrIGRlcmVrQGxvY2FsaG9zdCAmJgorCQltYWtlX2NoYW5nZV9ieV91c2VyIHVzZXJuYW1lZmlsZTMgRGVyZWsgZGVyZWtAZXhhbXBsZS5jb20gJiYKIAkJUDRFRElUT1I9Y2F0IFA0VVNFUj1hbGljZSBQNFBBU1NXRD1zZWNyZXQgJiYKIAkJZXhwb3J0IFA0RURJVE9SIFA0VVNFUiBQNFBBU1NXRCAmJgogCQlnaXQgcDQgY29tbWl0IHxcCi0JCWdyZXAgImdpdCBhdXRob3IgZGVyZWtAbG9jYWxob3N0IGRvZXMgbm90IG1hdGNoIiAmJgorCQlncmVwICJnaXQgYXV0aG9yIGRlcmVrQGV4YW1wbGUuY29tIGRvZXMgbm90IG1hdGNoIiAmJgogCi0JCW1ha2VfY2hhbmdlX2J5X3VzZXIgdXNlcm5hbWVmaWxlMyBDaGFybGllIGNoYXJsaWVAbG9jYWxob3N0ICYmCisJCW1ha2VfY2hhbmdlX2J5X3VzZXIgdXNlcm5hbWVmaWxlMyBDaGFybGllIGNoYXJsaWVAZXhhbXBsZS5jb20gJiYKIAkJZ2l0IHA0IGNvbW1pdCB8XAotCQlncmVwICJnaXQgYXV0aG9yIGNoYXJsaWVAbG9jYWxob3N0IGRvZXMgbm90IG1hdGNoIiAmJgorCQlncmVwICJnaXQgYXV0aG9yIGNoYXJsaWVAZXhhbXBsZS5jb20gZG9lcyBub3QgbWF0Y2giICYmCiAKLQkJbWFrZV9jaGFuZ2VfYnlfdXNlciB1c2VybmFtZWZpbGUzIGFsaWNlIGFsaWNlQGxvY2FsaG9zdCAmJgorCQltYWtlX2NoYW5nZV9ieV91c2VyIHVzZXJuYW1lZmlsZTMgYWxpY2UgYWxpY2VAZXhhbXBsZS5jb20gJiYKIAkJZ2l0IHA0IGNvbW1pdCB8XAogCQl0ZXN0X211c3RfZmFpbCBncmVwICJnaXQgYXV0aG9yLipkb2VzIG5vdCBtYXRjaCIgJiYKIAogCQlnaXQgY29uZmlnIGdpdC1wNC5za2lwVXNlck5hbWVDaGVjayB0cnVlICYmCi0JCW1ha2VfY2hhbmdlX2J5X3VzZXIgdXNlcm5hbWVmaWxlMyBDaGFybGllIGNoYXJsaWVAbG9jYWxob3N0ICYmCisJCW1ha2VfY2hhbmdlX2J5X3VzZXIgdXNlcm5hbWVmaWxlMyBDaGFybGllIGNoYXJsaWVAZXhhbXBsZS5jb20gJiYKIAkJZ2l0IHA0IGNvbW1pdCB8XAogCQl0ZXN0X211c3RfZmFpbCBncmVwICJnaXQgYXV0aG9yLipkb2VzIG5vdCBtYXRjaCIgJiYKIApkaWZmIC0tZ2l0IGEvdC90OTgxNi1naXQtcDQtbG9ja2VkLnNoIGIvdC90OTgxNi1naXQtcDQtbG9ja2VkLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU3MWU1NDMKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q5ODE2LWdpdC1wNC1sb2NrZWQuc2gKQEAgLTAsMCArMSwxNDUgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdnaXQgcDQgbG9ja2VkIGZpbGUgYmVoYXZpb3InCisKKy4gLi9saWItZ2l0LXA0LnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXJ0IHA0ZCcgJworCXN0YXJ0X3A0ZAorJworCisjIFNlZQorIyBodHRwOi8vd3d3LnBlcmZvcmNlLmNvbS9wZXJmb3JjZS9kb2MuY3VycmVudC9tYW51YWxzL3A0c2FnLzAzX3N1cGVydXNlci5odG1sIzEwODg1NjMKKyMgZm9yIHN1Z2dlc3Rpb25zIG9uIGhvdyB0byBjb25maWd1cmUgInNpdGV3aWRlIHBlc3NpbWlzdGljIGxvY2tpbmciCisjIHdoZXJlIG9ubHkgb25lIHBlcnNvbiBjYW4gaGF2ZSBhIGZpbGUgb3BlbiBmb3IgZWRpdCBhdCBhIHRpbWUuCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbml0IGRlcG90JyAnCisJKAorCQljZCAiJGNsaSIgJiYKKwkJZWNobyAiVHlwZU1hcDogK2wgLy9kZXBvdC8uLi4iIHwgcDQgdHlwZW1hcCAtaSAmJgorCQllY2hvIGZpbGUxID5maWxlMSAmJgorCQlwNCBhZGQgZmlsZTEgJiYKKwkJcDQgc3VibWl0IC1kICJhZGQgZmlsZTEiCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdlZGl0IHdpdGggbG9jayBub3QgdGFrZW4nICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgY2xlYW51cF9naXQgJiYKKwlnaXQgcDQgY2xvbmUgLS1kZXN0PSIkZ2l0IiAvL2RlcG90ICYmCisJKAorCQljZCAiJGdpdCIgJiYKKwkJZWNobyBsaW5lMiA+PmZpbGUxICYmCisJCWdpdCBhZGQgZmlsZTEgJiYKKwkJZ2l0IGNvbW1pdCAtbSAibGluZTIgaW4gZmlsZTEiICYmCisJCWdpdCBjb25maWcgZ2l0LXA0LnNraXBTdWJtaXRFZGl0IHRydWUgJiYKKwkJZ2l0IHA0IHN1Ym1pdAorCSkKKycKKwordGVzdF9leHBlY3RfZmFpbHVyZSAnYWRkIHdpdGggbG9jayBub3QgdGFrZW4nICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgY2xlYW51cF9naXQgJiYKKwlnaXQgcDQgY2xvbmUgLS1kZXN0PSIkZ2l0IiAvL2RlcG90ICYmCisJKAorCQljZCAiJGdpdCIgJiYKKwkJZWNobyBsaW5lMSA+PmFkZC1sb2NrLW5vdC10YWtlbiAmJgorCQlnaXQgYWRkIGZpbGUyICYmCisJCWdpdCBjb21taXQgLW0gImFkZCBhZGQtbG9jay1ub3QtdGFrZW4iICYmCisJCWdpdCBjb25maWcgZ2l0LXA0LnNraXBTdWJtaXRFZGl0IHRydWUgJiYKKwkJZ2l0IHA0IHN1Ym1pdCAtLXZlcmJvc2UKKwkpCisnCisKK2xvY2tfaW5fYW5vdGhlcl9jbGllbnQoKSB7CisJIyBidWlsZCBhIGRpZmZlcmVudCBjbGllbnQKKwljbGkyPSIkVFJBU0hfRElSRUNUT1JZL2NsaTIiICYmCisJbWtkaXIgLXAgIiRjbGkyIiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAicDQgY2xpZW50IC1mIC1kIGNsaWVudDIgJiYgcm0gLXJmIFwiJGNsaTJcIiIgJiYKKwkoCisJCWNkICIkY2xpMiIgJiYKKwkJUDRDTElFTlQ9Y2xpZW50MiAmJgorCQljbGk9IiRjbGkyIiAmJgorCQljbGllbnRfdmlldyAiLy9kZXBvdC8uLi4gLy9jbGllbnQyLy4uLiIgJiYKKwkJcDQgc3luYyAmJgorCQlwNCBvcGVuIGZpbGUxCisJKQorfQorCit0ZXN0X2V4cGVjdF9mYWlsdXJlICdlZGl0IHdpdGggbG9jayB0YWtlbicgJworCWxvY2tfaW5fYW5vdGhlcl9jbGllbnQgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgY2xlYW51cF9naXQgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgImNkIFwiJGNsaVwiICYmIHA0IHN5bmMgLWYgZmlsZTEiICYmCisJZ2l0IHA0IGNsb25lIC0tZGVzdD0iJGdpdCIgLy9kZXBvdCAmJgorCSgKKwkJY2QgIiRnaXQiICYmCisJCWVjaG8gbGluZTMgPj5maWxlMSAmJgorCQlnaXQgYWRkIGZpbGUxICYmCisJCWdpdCBjb21taXQgLW0gImxpbmUzIGluIGZpbGUxIiAmJgorCQlnaXQgY29uZmlnIGdpdC1wNC5za2lwU3VibWl0RWRpdCB0cnVlICYmCisJCWdpdCBwNCBzdWJtaXQgLS12ZXJib3NlCisJKQorJworCit0ZXN0X2V4cGVjdF9mYWlsdXJlICdkZWxldGUgd2l0aCBsb2NrIHRha2VuJyAnCisJbG9ja19pbl9hbm90aGVyX2NsaWVudCAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCBjbGVhbnVwX2dpdCAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiY2QgXCIkY2xpXCIgJiYgcDQgc3luYyAtZiBmaWxlMSIgJiYKKwlnaXQgcDQgY2xvbmUgLS1kZXN0PSIkZ2l0IiAvL2RlcG90ICYmCisJKAorCQljZCAiJGdpdCIgJiYKKwkJZ2l0IHJtIGZpbGUxICYmCisJCWdpdCBjb21taXQgLW0gImRlbGV0ZSBmaWxlMSIgJiYKKwkJZ2l0IGNvbmZpZyBnaXQtcDQuc2tpcFN1Ym1pdEVkaXQgdHJ1ZSAmJgorCQlnaXQgcDQgc3VibWl0IC0tdmVyYm9zZQorCSkKKycKKwordGVzdF9leHBlY3RfZmFpbHVyZSAnY2htb2Qgd2l0aCBsb2NrIHRha2VuJyAnCisJbG9ja19pbl9hbm90aGVyX2NsaWVudCAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCBjbGVhbnVwX2dpdCAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiY2QgXCIkY2xpXCIgJiYgcDQgc3luYyAtZiBmaWxlMSIgJiYKKwlnaXQgcDQgY2xvbmUgLS1kZXN0PSIkZ2l0IiAvL2RlcG90ICYmCisJKAorCQljZCAiJGdpdCIgJiYKKwkJY2htb2QgK3ggZmlsZTEgJiYKKwkJZ2l0IGFkZCBmaWxlMSAmJgorCQlnaXQgY29tbWl0IC1tICJjaG1vZCAreCBmaWxlMSIgJiYKKwkJZ2l0IGNvbmZpZyBnaXQtcDQuc2tpcFN1Ym1pdEVkaXQgdHJ1ZSAmJgorCQlnaXQgcDQgc3VibWl0IC0tdmVyYm9zZQorCSkKKycKKwordGVzdF9leHBlY3RfZmFpbHVyZSAnY29weSB3aXRoIGxvY2sgdGFrZW4nICcKKwlsb2NrX2luX2Fub3RoZXJfY2xpZW50ICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkIGNsZWFudXBfZ2l0ICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJjZCBcIiRjbGlcIiAmJiBwNCByZXZlcnQgZmlsZTIgJiYgcm0gLWYgZmlsZTIiICYmCisJZ2l0IHA0IGNsb25lIC0tZGVzdD0iJGdpdCIgLy9kZXBvdCAmJgorCSgKKwkJY2QgIiRnaXQiICYmCisJCWNwIGZpbGUxIGZpbGUyICYmCisJCWdpdCBhZGQgZmlsZTIgJiYKKwkJZ2l0IGNvbW1pdCAtbSAiY3AgZmlsZTEgdG8gZmlsZTIiICYmCisJCWdpdCBjb25maWcgZ2l0LXA0LnNraXBTdWJtaXRFZGl0IHRydWUgJiYKKwkJZ2l0IGNvbmZpZyBnaXQtcDQuZGV0ZWN0Q29waWVzIHRydWUgJiYKKwkJZ2l0IHA0IHN1Ym1pdCAtLXZlcmJvc2UKKwkpCisnCisKK3Rlc3RfZXhwZWN0X2ZhaWx1cmUgJ21vdmUgd2l0aCBsb2NrIHRha2VuJyAnCisJbG9ja19pbl9hbm90aGVyX2NsaWVudCAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCBjbGVhbnVwX2dpdCAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiY2QgXCIkY2xpXCIgJiYgcDQgc3luYyBmaWxlMSAmJiBybSAtZiBmaWxlMiIgJiYKKwlnaXQgcDQgY2xvbmUgLS1kZXN0PSIkZ2l0IiAvL2RlcG90ICYmCisJKAorCQljZCAiJGdpdCIgJiYKKwkJZ2l0IG12IGZpbGUxIGZpbGUyICYmCisJCWdpdCBjb21taXQgLW0gIm12IGZpbGUxIHRvIGZpbGUyIiAmJgorCQlnaXQgY29uZmlnIGdpdC1wNC5za2lwU3VibWl0RWRpdCB0cnVlICYmCisJCWdpdCBjb25maWcgZ2l0LXA0LmRldGVjdFJlbmFtZXMgdHJ1ZSAmJgorCQlnaXQgcDQgc3VibWl0IC0tdmVyYm9zZQorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAna2lsbCBwNGQnICcKKwlraWxsX3A0ZAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk5MDMtYmFzaC1wcm9tcHQuc2ggYi90L3Q5OTAzLWJhc2gtcHJvbXB0LnNoCmluZGV4IDNjM2U0ZTguLjU5Zjg3NWUgMTAwNzU1Ci0tLSBhL3QvdDk5MDMtYmFzaC1wcm9tcHQuc2gKKysrIGIvdC90OTkwMy1iYXNoLXByb21wdC5zaApAQCAtNjEsNiArNjEsMjkgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKICcKIAorcmVwb193aXRoX25ld2xpbmU9J3JlcG8KK3dpdGgKK25ld2xpbmUnCisKK2lmIG1rZGlyICIkcmVwb193aXRoX25ld2xpbmUiIDI+L2Rldi9udWxsCit0aGVuCisJdGVzdF9zZXRfcHJlcmVxIEZVTk5ZTkFNRVMKK2Vsc2UKKwlzYXkgJ1lvdXIgZmlsZXN5c3RlbSBkb2VzIG5vdCBhbGxvdyBuZXdsaW5lcyBpbiBmaWxlbmFtZXMuJworZmkKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBGVU5OWU5BTUVTICdwcm9tcHQgLSB3aXRoIG5ld2xpbmUgaW4gcGF0aCcgJworCXByaW50ZiAiIChtYXN0ZXIpIiA+ZXhwZWN0ZWQgJiYKKwlnaXQgaW5pdCAiJHJlcG9fd2l0aF9uZXdsaW5lIiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIFwiJHJlcG9fd2l0aF9uZXdsaW5lXCIiICYmCisJbWtkaXIgIiRyZXBvX3dpdGhfbmV3bGluZSIvc3ViZGlyICYmCisJKAorCQljZCAiJHJlcG9fd2l0aF9uZXdsaW5lL3N1YmRpciIgJiYKKwkJX19naXRfcHMxID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Byb21wdCAtIGRldGFjaGVkIGhlYWQnICcKIAlwcmludGYgIiAoKCVzLi4uKSkiICQoZ2l0IGxvZyAtMSAtLWZvcm1hdD0iJWgiIC0tYWJicmV2PTEzIGIxXikgPmV4cGVjdGVkICYmCiAJdGVzdF9jb25maWcgY29yZS5hYmJyZXYgMTMgJiYKZGlmZiAtLWdpdCBhL3QvdGVzdC1saWItZnVuY3Rpb25zLnNoIGIvdC90ZXN0LWxpYi1mdW5jdGlvbnMuc2gKaW5kZXggYTdlOWFhYy4uYWVhZTNjYSAxMDA2NDQKLS0tIGEvdC90ZXN0LWxpYi1mdW5jdGlvbnMuc2gKKysrIGIvdC90ZXN0LWxpYi1mdW5jdGlvbnMuc2gKQEAgLTEsNCArMSw1IEBACi0jIS9iaW4vc2gKKyMgTGlicmFyeSBvZiBmdW5jdGlvbnMgc2hhcmVkIGJ5IGFsbCB0ZXN0cyBzY3JpcHRzLCBpbmNsdWRlZCBieQorIyB0ZXN0LWxpYi5zaC4KICMKICMgQ29weXJpZ2h0IChjKSAyMDA1IEp1bmlvIEMgSGFtYW5vCiAjCkBAIC03NiwxMSArNzcsMTEgQEAKIH0KIAogbnVsX3RvX3EgKCkgewotCSIkUEVSTF9QQVRIIiAtcGUgJ3kvXDAwMC9RLycKKwlwZXJsIC1wZSAneS9cMDAwL1EvJwogfQogCiBxX3RvX251bCAoKSB7Ci0JIiRQRVJMX1BBVEgiIC1wZSAneS9RL1wwMDAvJworCXBlcmwgLXBlICd5L1EvXDAwMC8nCiB9CiAKIHFfdG9fY3IgKCkgewpAQCAtNjQ4LDcgKzY0OSw3IEBACiAJMikJOzsKIAkqKQllcnJvciAiYnVnIGluIHRoZSB0ZXN0IHNjcmlwdDogbm90IDEgb3IgMiBwYXJhbWV0ZXJzIHRvIHRlc3Rfc2VxIiA7OwogCWVzYWMKLQkiJFBFUkxfUEFUSCIgLWxlICdwcmludCBmb3IgJEFSR1ZbMF0uLiRBUkdWWzFdJyAtLSAiJEAiCisJcGVybCAtbGUgJ3ByaW50IGZvciAkQVJHVlswXS4uJEFSR1ZbMV0nIC0tICIkQCIKIH0KIAogIyBUaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIHNjaGVkdWxlIHNvbWUgY29tbWFuZHMgdG8gYmUgcnVuCkBAIC03MTAsMyArNzExLDczIEBACiAJCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgLS1jYWNoZWluZm8gMTIwMDAwICRsbl9zX29iaiAiJDIiCiAJZmkKIH0KKworcGVybCAoKSB7CisJY29tbWFuZCAiJFBFUkxfUEFUSCIgIiRAIgorfQorCisjIFRoZSBmb2xsb3dpbmcgbWluZ3dfKiBmdW5jdGlvbnMgb2JleSBQT1NJWCBzaGVsbCBzeW50YXgsIGJ1dCBhcmUgYWN0dWFsbHkKKyMgYmFzaCBzY3JpcHRzLCBhbmQgYXJlIG1lYW50IHRvIGJlIHVzZWQgb25seSB3aXRoIGJhc2ggb24gV2luZG93cy4KKworIyBBIHRlc3RfY21wIGZ1bmN0aW9uIHRoYXQgdHJlYXRzIExGIGFuZCBDUkxGIGVxdWFsIGFuZCBhdm9pZHMgdG8gZm9yaworIyBkaWZmIHdoZW4gcG9zc2libGUuCittaW5nd190ZXN0X2NtcCAoKSB7CisJIyBSZWFkIHRleHQgaW50byBzaGVsbCB2YXJpYWJsZXMgYW5kIGNvbXBhcmUgdGhlbS4gSWYgdGhlIHJlc3VsdHMKKwkjIGFyZSBkaWZmZXJlbnQsIHVzZSByZWd1bGFyIGRpZmYgdG8gcmVwb3J0IHRoZSBkaWZmZXJlbmNlLgorCWxvY2FsIHRlc3RfY21wX2E9IHRlc3RfY21wX2I9CisKKwkjIFdoZW4gdGV4dCBjYW1lIGZyb20gc3RkaW4gKG9uZSBhcmd1bWVudCBpcyAnLScpIHdlIG11c3QgZmVlZCBpdAorCSMgdG8gZGlmZi4KKwlsb2NhbCBzdGRpbl9mb3JfZGlmZj0KKworCSMgU2luY2UgaXQgaXMgZGlmZmljdWx0IHRvIGRldGVjdCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGFuCisJIyBlbXB0eSBpbnB1dCBmaWxlIGFuZCBhIGZhaWx1cmUgdG8gcmVhZCB0aGUgZmlsZXMsIHdlIGdvIHN0cmFpZ2h0CisJIyB0byBkaWZmIGlmIG9uZSBvZiB0aGUgaW5wdXRzIGlzIGVtcHR5LgorCWlmIHRlc3QgLXMgIiQxIiAmJiB0ZXN0IC1zICIkMiIKKwl0aGVuCisJCSMgcmVndWxhciBjYXNlOiBib3RoIGZpbGVzIG5vbi1lbXB0eQorCQltaW5nd19yZWFkX2ZpbGVfc3RyaXBfY3JfIHRlc3RfY21wX2EgPCIkMSIKKwkJbWluZ3dfcmVhZF9maWxlX3N0cmlwX2NyXyB0ZXN0X2NtcF9iIDwiJDIiCisJZWxpZiB0ZXN0IC1zICIkMSIgJiYgdGVzdCAiJDIiID0gLQorCXRoZW4KKwkJIyByZWFkIDJuZCBmaWxlIGZyb20gc3RkaW4KKwkJbWluZ3dfcmVhZF9maWxlX3N0cmlwX2NyXyB0ZXN0X2NtcF9hIDwiJDEiCisJCW1pbmd3X3JlYWRfZmlsZV9zdHJpcF9jcl8gdGVzdF9jbXBfYgorCQlzdGRpbl9mb3JfZGlmZj0nPDw8IiR0ZXN0X2NtcF9iIicKKwllbGlmIHRlc3QgIiQxIiA9IC0gJiYgdGVzdCAtcyAiJDIiCisJdGhlbgorCQkjIHJlYWQgMXN0IGZpbGUgZnJvbSBzdGRpbgorCQltaW5nd19yZWFkX2ZpbGVfc3RyaXBfY3JfIHRlc3RfY21wX2EKKwkJbWluZ3dfcmVhZF9maWxlX3N0cmlwX2NyXyB0ZXN0X2NtcF9iIDwiJDIiCisJCXN0ZGluX2Zvcl9kaWZmPSc8PDwiJHRlc3RfY21wX2EiJworCWZpCisJdGVzdCAtbiAiJHRlc3RfY21wX2EiICYmCisJdGVzdCAtbiAiJHRlc3RfY21wX2IiICYmCisJdGVzdCAiJHRlc3RfY21wX2EiID0gIiR0ZXN0X2NtcF9iIiB8fAorCWV2YWwgImRpZmYgLXUgXCJcJEBcIiAkc3RkaW5fZm9yX2RpZmYiCit9CisKKyMgJDEgaXMgdGhlIG5hbWUgb2YgdGhlIHNoZWxsIHZhcmlhYmxlIHRvIGZpbGwgaW4KK21pbmd3X3JlYWRfZmlsZV9zdHJpcF9jcl8gKCkgeworCSMgUmVhZCBsaW5lLXdpc2UgdXNpbmcgTEYgYXMgdGhlIGxpbmUgc2VwYXJhdG9yCisJIyBhbmQgdXNlIElGUyB0byBzdHJpcCBDUi4KKwlsb2NhbCBsaW5lCisJd2hpbGUgOgorCWRvCisJCWlmIElGUz0kJ1xyJyByZWFkIC1yIC1kICQnXG4nIGxpbmUKKwkJdGhlbgorCQkJIyBnb29kCisJCQlsaW5lPSRsaW5lJCdcbicKKwkJZWxzZQorCQkJIyB3ZSBnZXQgaGVyZSBhdCBFT0YsIGJ1dCBhbHNvIGlmIHRoZSBsYXN0IGxpbmUKKwkJCSMgd2FzIG5vdCB0ZXJtaW5hdGVkIGJ5IExGOyBpbiB0aGUgbGF0dGVyIGNhc2UsCisJCQkjIHNvbWUgdGV4dCB3YXMgcmVhZAorCQkJaWYgdGVzdCAteiAiJGxpbmUiCisJCQl0aGVuCisJCQkJIyBFT0YsIHJlYWxseQorCQkJCWJyZWFrCisJCQlmaQorCQlmaQorCQlldmFsICIkMT1cJCQxXCRsaW5lIgorCWRvbmUKK30KZGlmZiAtLWdpdCBhL3QvdGVzdC1saWIuc2ggYi90L3Rlc3QtbGliLnNoCmluZGV4IGM1ZTkxNGEuLjE1MzFjMjQgMTAwNjQ0Ci0tLSBhL3QvdGVzdC1saWIuc2gKKysrIGIvdC90ZXN0LWxpYi5zaApAQCAtMSw0ICsxLDQgQEAKLSMhL2Jpbi9zaAorIyBUZXN0IGZyYW1ld29yayBmb3IgZ2l0LiAgU2VlIHQvUkVBRE1FIGZvciB1c2FnZS4KICMKICMgQ29weXJpZ2h0IChjKSAyMDA1IEp1bmlvIEMgSGFtYW5vCiAjCkBAIC0yNiw2ICsyNiwxMCBAQAogCSMgb3V0c2lkZSBvZiB0LywgZS5nLiBmb3IgcnVubmluZyB0ZXN0cyBvbiB0aGUgdGVzdCBsaWJyYXJ5CiAJIyBpdHNlbGYuCiAJVEVTVF9ESVJFQ1RPUlk9JChwd2QpCitlbHNlCisJIyBlbnN1cmUgdGhhdCBURVNUX0RJUkVDVE9SWSBpcyBhbiBhYnNvbHV0ZSBwYXRoIHNvIHRoYXQgaXQKKwkjIGlzIHZhbGlkIGV2ZW4gaWYgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgaXMgY2hhbmdlZAorCVRFU1RfRElSRUNUT1JZPSQoY2QgIiRURVNUX0RJUkVDVE9SWSIgJiYgcHdkKSB8fCBleGl0IDEKIGZpCiBpZiB0ZXN0IC16ICIkVEVTVF9PVVRQVVRfRElSRUNUT1JZIgogdGhlbgpAQCAtMjA1LDI5ICsyMDksMTcgQEAKIAktLXZhbGdyaW5kLW9ubHk9KikKIAkJdmFsZ3JpbmRfb25seT0kKGV4cHIgInokMSIgOiAneltePV0qPVwoLipcKScpCiAJCXNoaWZ0IDs7Ci0JLS12YWxncmluZC1wYXJhbGxlbD0qKQotCQl2YWxncmluZF9wYXJhbGxlbD0kKGV4cHIgInokMSIgOiAneltePV0qPVwoLipcKScpCi0JCXNoaWZ0IDs7Ci0JLS12YWxncmluZC1vbmx5LXN0cmlkZT0qKQotCQl2YWxncmluZF9vbmx5X3N0cmlkZT0kKGV4cHIgInokMSIgOiAneltePV0qPVwoLipcKScpCi0JCXNoaWZ0IDs7Ci0JLS12YWxncmluZC1vbmx5LW9mZnNldD0qKQotCQl2YWxncmluZF9vbmx5X29mZnNldD0kKGV4cHIgInokMSIgOiAneltePV0qPVwoLipcKScpCi0JCXNoaWZ0IDs7CiAJLS10ZWUpCiAJCXNoaWZ0IDs7ICMgd2FzIGhhbmRsZWQgYWxyZWFkeQogCS0tcm9vdD0qKQogCQlyb290PSQoZXhwciAieiQxIiA6ICd6W149XSo9XCguKlwpJykKIAkJc2hpZnQgOzsKLQktLXN0YXR1c3ByZWZpeD0qKQotCQlzdGF0dXNwcmVmaXg9JChleHByICJ6JDEiIDogJ3pbXj1dKj1cKC4qXCknKQotCQlzaGlmdCA7OwogCSopCiAJCWVjaG8gImVycm9yOiB1bmtub3duIHRlc3Qgb3B0aW9uICckMSciID4mMjsgZXhpdCAxIDs7CiAJZXNhYwogZG9uZQogCi1pZiB0ZXN0IC1uICIkdmFsZ3JpbmRfb25seSIgfHwgdGVzdCAtbiAiJHZhbGdyaW5kX29ubHlfc3RyaWRlIgoraWYgdGVzdCAtbiAiJHZhbGdyaW5kX29ubHkiCiB0aGVuCiAJdGVzdCAteiAiJHZhbGdyaW5kIiAmJiB2YWxncmluZD1tZW1jaGVjawogCXRlc3QgLXogIiR2ZXJib3NlIiAmJiB2ZXJib3NlX29ubHk9IiR2YWxncmluZF9vbmx5IgpAQCAtMzI5LDEyICszMjEsMTIgQEAKIAogdGVzdF9va18gKCkgewogCXRlc3Rfc3VjY2Vzcz0kKCgkdGVzdF9zdWNjZXNzICsgMSkpCi0Jc2F5X2NvbG9yICIiICIke3N0YXR1c3ByZWZpeH1vayAkdGVzdF9jb3VudCAtICRAIgorCXNheV9jb2xvciAiIiAib2sgJHRlc3RfY291bnQgLSAkQCIKIH0KIAogdGVzdF9mYWlsdXJlXyAoKSB7CiAJdGVzdF9mYWlsdXJlPSQoKCR0ZXN0X2ZhaWx1cmUgKyAxKSkKLQlzYXlfY29sb3IgZXJyb3IgIiR7c3RhdHVzcHJlZml4fW5vdCBvayAkdGVzdF9jb3VudCAtICQxIgorCXNheV9jb2xvciBlcnJvciAibm90IG9rICR0ZXN0X2NvdW50IC0gJDEiCiAJc2hpZnQKIAllY2hvICIkQCIgfCBzZWQgLWUgJ3MvXi8jCS8nCiAJdGVzdCAiJGltbWVkaWF0ZSIgPSAiIiB8fCB7IEdJVF9FWElUX09LPXQ7IGV4aXQgMTsgfQpAQCAtMzQyLDEyICszMzQsMTIgQEAKIAogdGVzdF9rbm93bl9icm9rZW5fb2tfICgpIHsKIAl0ZXN0X2ZpeGVkPSQoKCR0ZXN0X2ZpeGVkKzEpKQotCXNheV9jb2xvciBlcnJvciAiJHtzdGF0dXNwcmVmaXh9b2sgJHRlc3RfY291bnQgLSAkQCAjIFRPRE8ga25vd24gYnJlYWthZ2UgdmFuaXNoZWQiCisJc2F5X2NvbG9yIGVycm9yICJvayAkdGVzdF9jb3VudCAtICRAICMgVE9ETyBrbm93biBicmVha2FnZSB2YW5pc2hlZCIKIH0KIAogdGVzdF9rbm93bl9icm9rZW5fZmFpbHVyZV8gKCkgewogCXRlc3RfYnJva2VuPSQoKCR0ZXN0X2Jyb2tlbisxKSkKLQlzYXlfY29sb3Igd2FybiAiJHtzdGF0dXNwcmVmaXh9bm90IG9rICR0ZXN0X2NvdW50IC0gJEAgIyBUT0RPIGtub3duIGJyZWFrYWdlIgorCXNheV9jb2xvciB3YXJuICJub3Qgb2sgJHRlc3RfY291bnQgLSAkQCAjIFRPRE8ga25vd24gYnJlYWthZ2UiCiB9CiAKIHRlc3RfZGVidWcgKCkgewpAQCAtMzc3LDkgKzM2OSw3IEBACiBsYXN0X3ZlcmJvc2U9dAogbWF5YmVfc2V0dXBfdmVyYm9zZSAoKSB7CiAJdGVzdCAteiAiJHZlcmJvc2Vfb25seSIgJiYgcmV0dXJuCi0JaWYgbWF0Y2hfcGF0dGVybl9saXN0ICR0ZXN0X2NvdW50ICR2ZXJib3NlX29ubHkgfHwKLQkJeyB0ZXN0IC1uICIkdmFsZ3JpbmRfb25seV9zdHJpZGUiICYmCi0JCWV4cHIgJHRlc3RfY291bnQgIiUiICR2YWxncmluZF9vbmx5X3N0cmlkZSAtICR2YWxncmluZF9vbmx5X29mZnNldCA9IDAgPi9kZXYvbnVsbDsgfQorCWlmIG1hdGNoX3BhdHRlcm5fbGlzdCAkdGVzdF9jb3VudCAkdmVyYm9zZV9vbmx5CiAJdGhlbgogCQlleGVjIDQ+JjIgMz4mMQogCQkjIEVtaXQgYSBkZWxpbWl0aW5nIGJsYW5rIGxpbmUgd2hlbiBnb2luZyBmcm9tCkBAIC00MDMsNyArMzkzLDcgQEAKIAogbWF5YmVfc2V0dXBfdmFsZ3JpbmQgKCkgewogCXRlc3QgLXogIiRHSVRfVkFMR1JJTkQiICYmIHJldHVybgotCWlmIHRlc3QgLXogIiR2YWxncmluZF9vbmx5IiAmJiB0ZXN0IC16ICIkdmFsZ3JpbmRfb25seV9zdHJpZGUiCisJaWYgdGVzdCAteiAiJHZhbGdyaW5kX29ubHkiCiAJdGhlbgogCQlHSVRfVkFMR1JJTkRfRU5BQkxFRD10CiAJCXJldHVybgpAQCAtNDEyLDEwICs0MDIsNiBAQAogCWlmIG1hdGNoX3BhdHRlcm5fbGlzdCAkdGVzdF9jb3VudCAkdmFsZ3JpbmRfb25seQogCXRoZW4KIAkJR0lUX1ZBTEdSSU5EX0VOQUJMRUQ9dAotCWVsaWYgdGVzdCAtbiAiJHZhbGdyaW5kX29ubHlfc3RyaWRlIiAmJgotCQlleHByICR0ZXN0X2NvdW50ICIlIiAkdmFsZ3JpbmRfb25seV9zdHJpZGUgLSAkdmFsZ3JpbmRfb25seV9vZmZzZXQgPSAwID4vZGV2L251bGwKLQl0aGVuCi0JCUdJVF9WQUxHUklORF9FTkFCTEVEPXQKIAlmaQogfQogCkBAIC00NzcsOCArNDYzLDggQEAKIAkJCW9mX3ByZXJlcT0iIG9mICR0ZXN0X3ByZXJlcSIKIAkJZmkKIAotCQlzYXlfY29sb3Igc2tpcCA+JjMgIiR7c3RhdHVzcHJlZml4fXNraXBwaW5nIHRlc3Q6ICRAIgotCQlzYXlfY29sb3Igc2tpcCAiJHtzdGF0dXNwcmVmaXh9b2sgJHRlc3RfY291bnQgIyBza2lwICQxIChtaXNzaW5nICRtaXNzaW5nX3ByZXJlcSR7b2ZfcHJlcmVxfSkiCisJCXNheV9jb2xvciBza2lwID4mMyAic2tpcHBpbmcgdGVzdDogJEAiCisJCXNheV9jb2xvciBza2lwICJvayAkdGVzdF9jb3VudCAjIHNraXAgJDEgKG1pc3NpbmcgJG1pc3NpbmdfcHJlcmVxJHtvZl9wcmVyZXF9KSIKIAkJOiB0cnVlCiAJCTs7CiAJKikKQEAgLTQ5NSw4ICs0ODEsNiBAQAogdGVzdF9kb25lICgpIHsKIAlHSVRfRVhJVF9PSz10CiAKLQkjIE5vdGU6IHQwMDAwIHJlbGllcyBvbiAkSEFSTkVTU19BQ1RJVkUgZGlzYWJsaW5nIHRoZSAuY291bnRzCi0JIyBvdXRwdXQgZmlsZQogCWlmIHRlc3QgLXogIiRIQVJORVNTX0FDVElWRSIKIAl0aGVuCiAJCXRlc3RfcmVzdWx0c19kaXI9IiRURVNUX09VVFBVVF9ESVJFQ1RPUlkvdGVzdC1yZXN1bHRzIgpAQCAtNTE2LDExICs1MDAsMTEgQEAKIAogCWlmIHRlc3QgIiR0ZXN0X2ZpeGVkIiAhPSAwCiAJdGhlbgotCQlzYXlfY29sb3IgZXJyb3IgIiR7c3RhdHVzcHJlZml4fSMgJHRlc3RfZml4ZWQga25vd24gYnJlYWthZ2UocykgdmFuaXNoZWQ7IHBsZWFzZSB1cGRhdGUgdGVzdChzKSIKKwkJc2F5X2NvbG9yIGVycm9yICIjICR0ZXN0X2ZpeGVkIGtub3duIGJyZWFrYWdlKHMpIHZhbmlzaGVkOyBwbGVhc2UgdXBkYXRlIHRlc3QocykiCiAJZmkKIAlpZiB0ZXN0ICIkdGVzdF9icm9rZW4iICE9IDAKIAl0aGVuCi0JCXNheV9jb2xvciB3YXJuICIke3N0YXR1c3ByZWZpeH0jIHN0aWxsIGhhdmUgJHRlc3RfYnJva2VuIGtub3duIGJyZWFrYWdlKHMpIgorCQlzYXlfY29sb3Igd2FybiAiIyBzdGlsbCBoYXZlICR0ZXN0X2Jyb2tlbiBrbm93biBicmVha2FnZShzKSIKIAlmaQogCWlmIHRlc3QgIiR0ZXN0X2Jyb2tlbiIgIT0gMCB8fCB0ZXN0ICIkdGVzdF9maXhlZCIgIT0gMAogCXRoZW4KQEAgLTU0Myw5ICs1MjcsOSBAQAogCQl0aGVuCiAJCQlpZiB0ZXN0ICR0ZXN0X3JlbWFpbmluZyAtZ3QgMAogCQkJdGhlbgotCQkJCXNheV9jb2xvciBwYXNzICIke3N0YXR1c3ByZWZpeH0jIHBhc3NlZCBhbGwgJG1zZyIKKwkJCQlzYXlfY29sb3IgcGFzcyAiIyBwYXNzZWQgYWxsICRtc2ciCiAJCQlmaQotCQkJc2F5ICIke3N0YXR1c3ByZWZpeH0xLi4kdGVzdF9jb3VudCRza2lwX2FsbCIKKwkJCXNheSAiMS4uJHRlc3RfY291bnQkc2tpcF9hbGwiCiAJCWZpCiAKIAkJdGVzdCAtZCAiJHJlbW92ZV90cmFzaCIgJiYKQEAgLTU1OSw4ICs1NDMsOCBAQAogCSopCiAJCWlmIHRlc3QgJHRlc3RfZXh0ZXJuYWxfaGFzX3RhcCAtZXEgMAogCQl0aGVuCi0JCQlzYXlfY29sb3IgZXJyb3IgIiR7c3RhdHVzcHJlZml4fSMgZmFpbGVkICR0ZXN0X2ZhaWx1cmUgYW1vbmcgJG1zZyIKLQkJCXNheSAiJHtzdGF0dXNwcmVmaXh9MS4uJHRlc3RfY291bnQiCisJCQlzYXlfY29sb3IgZXJyb3IgIiMgZmFpbGVkICR0ZXN0X2ZhaWx1cmUgYW1vbmcgJG1zZyIKKwkJCXNheSAiMS4uJHRlc3RfY291bnQiCiAJCWZpCiAKIAkJZXhpdCAxIDs7CkBAIC01NjgsOSArNTUyLDYgQEAKIAllc2FjCiB9CiAKLQotIyBTZXQgdXAgYSBkaXJlY3RvcnkgdGhhdCB3ZSBjYW4gcHV0IGluIFBBVEggd2hpY2ggcmVkaXJlY3RzIGFsbCBnaXQKLSMgY2FsbHMgdG8gJ3ZhbGdyaW5kIGdpdCAuLi4nLgogaWYgdGVzdCAtbiAiJHZhbGdyaW5kIgogdGhlbgogCW1ha2Vfc3ltbGluayAoKSB7CkBAIC01OTQsMTEgKzU3NSw5IEBACiAKIAltYWtlX3ZhbGdyaW5kX3N5bWxpbmsgKCkgewogCQkjIGhhbmRsZSBvbmx5IGV4ZWN1dGFibGVzLCB1bmxlc3MgdGhleSBhcmUgc2hlbGwgbGlicmFyaWVzIHRoYXQKLQkJIyBuZWVkIHRvIGJlIGluIHRoZSBleGVjLXBhdGguICBXZSB3aWxsIGp1c3QgdXNlICIjISIgYXMgYQotCQkjIGd1ZXNzIGZvciBhIHNoZWxsLXNjcmlwdCwgc2luY2Ugd2UgaGF2ZSBubyBpZGVhIHdoYXQgdGhlIHVzZXIKLQkJIyBtYXkgaGF2ZSBjb25maWd1cmVkIGFzIHRoZSBzaGVsbCBwYXRoLgorCQkjIG5lZWQgdG8gYmUgaW4gdGhlIGV4ZWMtcGF0aC4KIAkJdGVzdCAteCAiJDEiIHx8Ci0JCXRlc3QgIiMhIiA9ICIkKGhlYWQgLWMgMiA8IiQxIikiIHx8CisJCXRlc3QgIiMgIiA9ICIkKGhlYWQgLWMgMiA8IiQxIikiIHx8CiAJCXJldHVybjsKIAogCQliYXNlPSQoYmFzZW5hbWUgIiQxIikKQEAgLTYxOCw0MiArNTk3LDMzIEBACiAJCW1ha2Vfc3ltbGluayAiJHN5bWxpbmtfdGFyZ2V0IiAiJEdJVF9WQUxHUklORC9iaW4vJGJhc2UiIHx8IGV4aXQKIAl9CiAKLQkjIEluIHRoZSBjYXNlIG9mIC0tdmFsZ3JpbmQtcGFyYWxsZWwsIHdlIG9ubHkgbmVlZCB0byBkbyB0aGUKLQkjIHdyYXBwaW5nIG9uY2UsIGluIHRoZSBtYWluIHNjcmlwdC4gIFRoZSB3b3JrZXIgY2hpbGRyZW4gYWxsCi0JIyBoYXZlICR2YWxncmluZF9vbmx5X3N0cmlkZSBzZXQsIHNvIHdlIGNhbiBza2lwIGJhc2VkIG9uIHRoYXQuCi0JaWYgdGVzdCAteiAiJHZhbGdyaW5kX29ubHlfc3RyaWRlIgotCXRoZW4KLQkJIyBvdmVycmlkZSBhbGwgZ2l0IGV4ZWN1dGFibGVzIGluIFRFU1RfRElSRUNUT1JZLy4uCi0JCUdJVF9WQUxHUklORD0kVEVTVF9ESVJFQ1RPUlkvdmFsZ3JpbmQKLQkJbWtkaXIgLXAgIiRHSVRfVkFMR1JJTkQiL2JpbgotCQlmb3IgZmlsZSBpbiAkR0lUX0JVSUxEX0RJUi9naXQqICRHSVRfQlVJTERfRElSL3Rlc3QtKgorCSMgb3ZlcnJpZGUgYWxsIGdpdCBleGVjdXRhYmxlcyBpbiBURVNUX0RJUkVDVE9SWS8uLgorCUdJVF9WQUxHUklORD0kVEVTVF9ESVJFQ1RPUlkvdmFsZ3JpbmQKKwlta2RpciAtcCAiJEdJVF9WQUxHUklORCIvYmluCisJZm9yIGZpbGUgaW4gJEdJVF9CVUlMRF9ESVIvZ2l0KiAkR0lUX0JVSUxEX0RJUi90ZXN0LSoKKwlkbworCQltYWtlX3ZhbGdyaW5kX3N5bWxpbmsgJGZpbGUKKwlkb25lCisJIyBzcGVjaWFsLWNhc2UgdGhlIG1lcmdldG9vbHMgbG9hZGFibGVzCisJbWFrZV9zeW1saW5rICIkR0lUX0JVSUxEX0RJUiIvbWVyZ2V0b29scyAiJEdJVF9WQUxHUklORC9iaW4vbWVyZ2V0b29scyIKKwlPTERJRlM9JElGUworCUlGUz06CisJZm9yIHBhdGggaW4gJFBBVEgKKwlkbworCQlscyAiJHBhdGgiL2dpdC0qIDI+IC9kZXYvbnVsbCB8CisJCXdoaWxlIHJlYWQgZmlsZQogCQlkbwotCQkJbWFrZV92YWxncmluZF9zeW1saW5rICRmaWxlCisJCQltYWtlX3ZhbGdyaW5kX3N5bWxpbmsgIiRmaWxlIgogCQlkb25lCi0JCSMgc3BlY2lhbC1jYXNlIHRoZSBtZXJnZXRvb2xzIGxvYWRhYmxlcwotCQltYWtlX3N5bWxpbmsgIiRHSVRfQlVJTERfRElSIi9tZXJnZXRvb2xzICIkR0lUX1ZBTEdSSU5EL2Jpbi9tZXJnZXRvb2xzIgotCQlPTERJRlM9JElGUwotCQlJRlM9OgotCQlmb3IgcGF0aCBpbiAkUEFUSAotCQlkbwotCQkJbHMgIiRwYXRoIi9naXQtKiAyPiAvZGV2L251bGwgfAotCQkJd2hpbGUgcmVhZCBmaWxlCi0JCQlkbwotCQkJCW1ha2VfdmFsZ3JpbmRfc3ltbGluayAiJGZpbGUiCi0JCQlkb25lCi0JCWRvbmUKLQkJSUZTPSRPTERJRlMKLQlmaQorCWRvbmUKKwlJRlM9JE9MRElGUwogCVBBVEg9JEdJVF9WQUxHUklORC9iaW46JFBBVEgKIAlHSVRfRVhFQ19QQVRIPSRHSVRfVkFMR1JJTkQvYmluCiAJZXhwb3J0IEdJVF9WQUxHUklORAogCUdJVF9WQUxHUklORF9NT0RFPSIkdmFsZ3JpbmQiCiAJZXhwb3J0IEdJVF9WQUxHUklORF9NT0RFCiAJR0lUX1ZBTEdSSU5EX0VOQUJMRUQ9dAotCWlmIHRlc3QgLW4gIiR2YWxncmluZF9vbmx5IiB8fCB0ZXN0IC1uICIkdmFsZ3JpbmRfb25seV9zdHJpZGUiCi0JdGhlbgotCQlHSVRfVkFMR1JJTkRfRU5BQkxFRD0KLQlmaQorCXRlc3QgLW4gIiR2YWxncmluZF9vbmx5IiAmJiBHSVRfVkFMR1JJTkRfRU5BQkxFRD0KIAlleHBvcnQgR0lUX1ZBTEdSSU5EX0VOQUJMRUQKIGVsaWYgdGVzdCAtbiAiJEdJVF9URVNUX0lOU1RBTExFRCIKIHRoZW4KQEAgLTcwMCwxNSArNjcwLDYgQEAKIAllcnJvciAiWW91IGhhdmVuJ3QgYnVpbHQgdGhpbmdzIHlldCwgaGF2ZSB5b3U/IgogfQogCi1pZiB0ZXN0IC16ICIkR0lUX1RFU1RfSU5TVEFMTEVEIiAmJiB0ZXN0IC16ICIkTk9fUFlUSE9OIgotdGhlbgotCUdJVFBZVEhPTkxJQj0iJEdJVF9CVUlMRF9ESVIvZ2l0X3JlbW90ZV9oZWxwZXJzL2J1aWxkL2xpYiIKLQlleHBvcnQgR0lUUFlUSE9OTElCCi0JdGVzdCAtZCAiJEdJVF9CVUlMRF9ESVIiL2dpdF9yZW1vdGVfaGVscGVycy9idWlsZCB8fCB7Ci0JCWVycm9yICJZb3UgaGF2ZW4ndCBidWlsdCBnaXRfcmVtb3RlX2hlbHBlcnMgeWV0LCBoYXZlIHlvdT8iCi0JfQotZmkKLQogaWYgISB0ZXN0IC14ICIkR0lUX0JVSUxEX0RJUiIvdGVzdC1jaG10aW1lCiB0aGVuCiAJZWNobyA+JjIgJ1lvdSBuZWVkIHRvIGJ1aWxkIHRlc3QtY2htdGltZTonCkBAIC03MzksNDEgKzcwMCw2IEBACiBlbHNlCiAJbWtkaXIgLXAgIiRUUkFTSF9ESVJFQ1RPUlkiCiBmaQotCi0jIEdyb3NzIGhhY2sgdG8gc3Bhd24gTiBzdWItaW5zdGFuY2VzIG9mIHRoZSB0ZXN0cyBpbiBwYXJhbGxlbCwgYW5kCi0jIHN1bW1hcml6ZSB0aGUgcmVzdWx0cy4gIE5vdGUgdGhhdCBpZiB0aGlzIGlzIGVuYWJsZWQsIHRoZSBzY3JpcHQKLSMgdGVybWluYXRlcyBhdCB0aGUgZW5kIG9mIHRoaXMgJ2lmJyBibG9jay4KLWlmIHRlc3QgLW4gIiR2YWxncmluZF9wYXJhbGxlbCIKLXRoZW4KLQlmb3IgaSBpbiAkKHRlc3Rfc2VxIDEgJHZhbGdyaW5kX3BhcmFsbGVsKQotCWRvCi0JCXJvb3Q9IiRUUkFTSF9ESVJFQ1RPUlkvdmdwYXJhbGxlbC0kaSIKLQkJbWtkaXIgIiRyb290IgotCQlURVNUX09VVFBVVF9ESVJFQ1RPUlk9IiRyb290IiBcCi0JCQkke1NIRUxMX1BBVEh9ICIkMCIgXAotCQkJLS1yb290PSIkcm9vdCIgLS1zdGF0dXNwcmVmaXg9IlskaV0gIiBcCi0JCQktLXZhbGdyaW5kPSIkdmFsZ3JpbmQiIFwKLQkJCS0tdmFsZ3JpbmQtb25seS1zdHJpZGU9IiR2YWxncmluZF9wYXJhbGxlbCIgXAotCQkJLS12YWxncmluZC1vbmx5LW9mZnNldD0iJGkiICYKLQkJcGlkcz0iJHBpZHMgJCEiCi0JZG9uZQotCXRyYXAgImtpbGwgJHBpZHMiIElOVCBURVJNIEhVUAotCXdhaXQgJHBpZHMKLQl0cmFwIC0gSU5UIFRFUk0gSFVQCi0JZm9yIGkgaW4gJCh0ZXN0X3NlcSAxICR2YWxncmluZF9wYXJhbGxlbCkKLQlkbwotCQlyb290PSIkVFJBU0hfRElSRUNUT1JZL3ZncGFyYWxsZWwtJGkiCi0JCWV2YWwgIiQoY2F0ICIkcm9vdC90ZXN0LXJlc3VsdHMvJChiYXNlbmFtZSAiJDAiIC5zaCkiLSouY291bnRzIHwKLQkJCXNlZCAncy9eXChbYS16XVthLXpdKlwpIFwoWzAtOV1bMC05XSpcKS9pbm5lcl9cMT1cMi8nKSIKLQkJdGVzdF9jb3VudD0kKGV4cHIgJHRlc3RfY291bnQgKyAkaW5uZXJfdG90YWwpCi0JCXRlc3Rfc3VjY2Vzcz0kKGV4cHIgJHRlc3Rfc3VjY2VzcyArICRpbm5lcl9zdWNjZXNzKQotCQl0ZXN0X2ZpeGVkPSQoZXhwciAkdGVzdF9maXhlZCArICRpbm5lcl9maXhlZCkKLQkJdGVzdF9icm9rZW49JChleHByICR0ZXN0X2Jyb2tlbiArICRpbm5lcl9icm9rZW4pCi0JCXRlc3RfZmFpbHVyZT0kKGV4cHIgJHRlc3RfZmFpbHVyZSArICRpbm5lcl9mYWlsZWQpCi0JZG9uZQotCXRlc3RfZG9uZQotZmkKLQogIyBVc2UgLVAgdG8gcmVzb2x2ZSBzeW1saW5rcyBpbiBvdXIgd29ya2luZyBkaXJlY3Rvcnkgc28gdGhhdCB0aGUgY3dkCiAjIGluIHN1YnByb2Nlc3NlcyBsaWtlIGdpdCBlcXVhbHMgb3VyICRQV0QgKGZvciBwYXRobmFtZSBjb21wYXJpc29ucykuCiBjZCAtUCAiJFRSQVNIX0RJUkVDVE9SWSIgfHwgZXhpdCAxCkBAIC04MjYsNiArNzUyLDcgQEAKIAl0ZXN0X3NldF9wcmVyZXEgTk9UX0NZR1dJTgogCXRlc3Rfc2V0X3ByZXJlcSBTRURfU1RSSVBTX0NSCiAJdGVzdF9zZXRfcHJlcmVxIEdSRVBfU1RSSVBTX0NSCisJR0lUX1RFU1RfQ01QPW1pbmd3X3Rlc3RfY21wCiAJOzsKICpDWUdXSU4qKQogCXRlc3Rfc2V0X3ByZXJlcSBQT1NJWFBFUk0KQEAgLTkwMyw2ICs4MzAsMTAgQEAKIAlsbiAtcyB4IHkgJiYgdGVzdCAtaCB5CiAnCiAKK3Rlc3RfbGF6eV9wcmVyZXEgRklMRU1PREUgJworCXRlc3QgIiQoZ2l0IGNvbmZpZyAtLWJvb2wgY29yZS5maWxlbW9kZSkiID0gdHJ1ZQorJworCiB0ZXN0X2xhenlfcHJlcmVxIENBU0VfSU5TRU5TSVRJVkVfRlMgJwogCWVjaG8gZ29vZCA+Q2FtZWxDYXNlICYmCiAJZWNobyBiYWQgPmNhbWVsY2FzZSAmJgpkaWZmIC0tZ2l0IGEvdGFnLmMgYi90YWcuYwppbmRleCA3OGQyNzJiLi43YjA3OTIxIDEwMDY0NAotLS0gYS90YWcuYworKysgYi90YWcuYwpAQCAtODYsNyArODYsNyBAQAogCQlyZXR1cm4gLTE7CiAJYnVmcHRyICs9IDQ4OyAvKiAib2JqZWN0ICIgKyBzaGExICsgIlxuIiAqLwogCi0JaWYgKHByZWZpeGNtcChidWZwdHIsICJ0eXBlICIpKQorCWlmICghc3RhcnRzX3dpdGgoYnVmcHRyLCAidHlwZSAiKSkKIAkJcmV0dXJuIC0xOwogCWJ1ZnB0ciArPSA1OwogCW5sID0gbWVtY2hyKGJ1ZnB0ciwgJ1xuJywgdGFpbCAtIGJ1ZnB0cik7CkBAIC0xMDksNyArMTA5LDcgQEAKIAkJaXRlbS0+dGFnZ2VkID0gTlVMTDsKIAl9CiAKLQlpZiAoYnVmcHRyICsgNCA8IHRhaWwgJiYgIXByZWZpeGNtcChidWZwdHIsICJ0YWcgIikpCisJaWYgKGJ1ZnB0ciArIDQgPCB0YWlsICYmIHN0YXJ0c193aXRoKGJ1ZnB0ciwgInRhZyAiKSkKIAkJOyAJCS8qIGdvb2QgKi8KIAllbHNlCiAJCXJldHVybiAtMTsKQEAgLTEyMCw3ICsxMjAsNyBAQAogCWl0ZW0tPnRhZyA9IHhtZW1kdXB6KGJ1ZnB0ciwgbmwgLSBidWZwdHIpOwogCWJ1ZnB0ciA9IG5sICsgMTsKIAotCWlmIChidWZwdHIgKyA3IDwgdGFpbCAmJiAhcHJlZml4Y21wKGJ1ZnB0ciwgInRhZ2dlciAiKSkKKwlpZiAoYnVmcHRyICsgNyA8IHRhaWwgJiYgc3RhcnRzX3dpdGgoYnVmcHRyLCAidGFnZ2VyICIpKQogCQlpdGVtLT5kYXRlID0gcGFyc2VfdGFnX2RhdGUoYnVmcHRyLCB0YWlsKTsKIAllbHNlCiAJCWl0ZW0tPmRhdGUgPSAwOwpAQCAtMTYwLDggKzE2MCw4IEBACiB7CiAJY2hhciAqZW9sOwogCXNpemVfdCBsZW4gPSAwOwotCXdoaWxlIChsZW4gPCBzaXplICYmIHByZWZpeGNtcChidWYgKyBsZW4sIFBHUF9TSUdOQVRVUkUpICYmCi0JCQlwcmVmaXhjbXAoYnVmICsgbGVuLCBQR1BfTUVTU0FHRSkpIHsKKwl3aGlsZSAobGVuIDwgc2l6ZSAmJiAhc3RhcnRzX3dpdGgoYnVmICsgbGVuLCBQR1BfU0lHTkFUVVJFKSAmJgorCQkJIXN0YXJ0c193aXRoKGJ1ZiArIGxlbiwgUEdQX01FU1NBR0UpKSB7CiAJCWVvbCA9IG1lbWNocihidWYgKyBsZW4sICdcbicsIHNpemUgLSBsZW4pOwogCQlsZW4gKz0gZW9sID8gZW9sIC0gKGJ1ZiArIGxlbikgKyAxIDogc2l6ZSAtIGxlbjsKIAl9CmRpZmYgLS1naXQgYS90ZW1wbGF0ZXMvaG9va3MtLXByZS1jb21taXQuc2FtcGxlIGIvdGVtcGxhdGVzL2hvb2tzLS1wcmUtY29tbWl0LnNhbXBsZQppbmRleCA1ODZlM2JmLi42OGQ2MmQ1IDEwMDc1NQotLS0gYS90ZW1wbGF0ZXMvaG9va3MtLXByZS1jb21taXQuc2FtcGxlCisrKyBiL3RlbXBsYXRlcy9ob29rcy0tcHJlLWNvbW1pdC5zYW1wbGUKQEAgLTE2LDcgKzE2LDcgQEAKIGZpCiAKICMgSWYgeW91IHdhbnQgdG8gYWxsb3cgbm9uLUFTQ0lJIGZpbGVuYW1lcyBzZXQgdGhpcyB2YXJpYWJsZSB0byB0cnVlLgotYWxsb3dub25hc2NpaT0kKGdpdCBjb25maWcgaG9va3MuYWxsb3dub25hc2NpaSkKK2FsbG93bm9uYXNjaWk9JChnaXQgY29uZmlnIC0tYm9vbCBob29rcy5hbGxvd25vbmFzY2lpKQogCiAjIFJlZGlyZWN0IG91dHB1dCB0byBzdGRlcnIuCiBleGVjIDE+JjIKZGlmZiAtLWdpdCBhL3Rlc3QtbGluZS1idWZmZXIuYyBiL3Rlc3QtbGluZS1idWZmZXIuYwppbmRleCBlZjFkN2JhLi4xZTU4ZjA0IDEwMDY0NAotLS0gYS90ZXN0LWxpbmUtYnVmZmVyLmMKKysrIGIvdGVzdC1saW5lLWJ1ZmZlci5jCkBAIC0xOSw3ICsxOSw3IEBACiB7CiAJc3dpdGNoICgqY29tbWFuZCkgewogCWNhc2UgJ2InOgotCQlpZiAoIXByZWZpeGNtcChjb21tYW5kLCAiYmluYXJ5ICIpKSB7CisJCWlmIChzdGFydHNfd2l0aChjb21tYW5kLCAiYmluYXJ5ICIpKSB7CiAJCQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJCQlzdHJidWZfYWRkY2goJnNiLCAnPicpOwogCQkJYnVmZmVyX3JlYWRfYmluYXJ5KGJ1ZiwgJnNiLCBzdHJ0b3VpbnQzMihhcmcpKTsKQEAgLTI4LDEyICsyOCwxMiBAQAogCQkJcmV0dXJuOwogCQl9CiAJY2FzZSAnYyc6Ci0JCWlmICghcHJlZml4Y21wKGNvbW1hbmQsICJjb3B5ICIpKSB7CisJCWlmIChzdGFydHNfd2l0aChjb21tYW5kLCAiY29weSAiKSkgewogCQkJYnVmZmVyX2NvcHlfYnl0ZXMoYnVmLCBzdHJ0b3VpbnQzMihhcmcpKTsKIAkJCXJldHVybjsKIAkJfQogCWNhc2UgJ3MnOgotCQlpZiAoIXByZWZpeGNtcChjb21tYW5kLCAic2tpcCAiKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoY29tbWFuZCwgInNraXAgIikpIHsKIAkJCWJ1ZmZlcl9za2lwX2J5dGVzKGJ1Ziwgc3RydG91aW50MzIoYXJnKSk7CiAJCQlyZXR1cm47CiAJCX0KZGlmZiAtLWdpdCBhL3Rlc3QtbWF0Y2gtdHJlZXMuYyBiL3Rlc3QtbWF0Y2gtdHJlZXMuYwppbmRleCBhM2M0Njg4Li4yZWY3MjVlIDEwMDY0NAotLS0gYS90ZXN0LW1hdGNoLXRyZWVzLmMKKysrIGIvdGVzdC1tYXRjaC10cmVlcy5jCkBAIC0xMiwxMCArMTIsMTAgQEAKIAkJZGllKCJjYW5ub3QgcGFyc2UgJXMgYXMgYW4gb2JqZWN0IG5hbWUiLCBhdlsyXSk7CiAJb25lID0gcGFyc2VfdHJlZV9pbmRpcmVjdChoYXNoMSk7CiAJaWYgKCFvbmUpCi0JCWRpZSgibm90IGEgdHJlZWlzaCAlcyIsIGF2WzFdKTsKKwkJZGllKCJub3QgYSB0cmVlLWlzaCAlcyIsIGF2WzFdKTsKIAl0d28gPSBwYXJzZV90cmVlX2luZGlyZWN0KGhhc2gyKTsKIAlpZiAoIXR3bykKLQkJZGllKCJub3QgYSB0cmVlaXNoICVzIiwgYXZbMl0pOworCQlkaWUoIm5vdCBhIHRyZWUtaXNoICVzIiwgYXZbMl0pOwogCiAJc2hpZnRfdHJlZShvbmUtPm9iamVjdC5zaGExLCB0d28tPm9iamVjdC5zaGExLCBzaGlmdGVkLCAtMSk7CiAJcHJpbnRmKCJzaGlmdGVkOiAlc1xuIiwgc2hhMV90b19oZXgoc2hpZnRlZCkpOwpkaWZmIC0tZ2l0IGEvdGVzdC1wYXRoLXV0aWxzLmMgYi90ZXN0LXBhdGgtdXRpbHMuYwppbmRleCBiYjk3NWU0Li4zZGQzNzQ0IDEwMDY0NAotLS0gYS90ZXN0LXBhdGgtdXRpbHMuYworKysgYi90ZXN0LXBhdGgtdXRpbHMuYwpAQCAtMTE2LDcgKzExNiw3IEBACiAJCXJldHVybiAwOwogCX0KIAotCWlmIChhcmdjID09IDMgJiYgIXN0cmNtcChhcmd2WzFdLCAibWluZ3dfcGF0aCIpKSB7CisJaWYgKGFyZ2MgPT0gMyAmJiAhc3RyY21wKGFyZ3ZbMV0sICJwcmludF9wYXRoIikpIHsKIAkJcHV0cyhhcmd2WzJdKTsKIAkJcmV0dXJuIDA7CiAJfQpkaWZmIC0tZ2l0IGEvdGVzdC1zaGExLmMgYi90ZXN0LXNoYTEuYwppbmRleCA4MGRhYmE5Li5lNTdlYWUxIDEwMDY0NAotLS0gYS90ZXN0LXNoYTEuYworKysgYi90ZXN0LXNoYTEuYwpAQCAtNSwxMCArNSwxNSBAQAogCWdpdF9TSEFfQ1RYIGN0eDsKIAl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwogCXVuc2lnbmVkIGJ1ZnN6ID0gODE5MjsKKwlpbnQgYmluYXJ5ID0gMDsKIAljaGFyICpidWZmZXI7CiAKLQlpZiAoYWMgPT0gMikKLQkJYnVmc3ogPSBzdHJ0b3VsKGF2WzFdLCBOVUxMLCAxMCkgKiAxMDI0ICogMTAyNDsKKwlpZiAoYWMgPT0gMikgeworCQlpZiAoIXN0cmNtcChhdlsxXSwgIi1iIikpCisJCQliaW5hcnkgPSAxOworCQllbHNlCisJCQlidWZzeiA9IHN0cnRvdWwoYXZbMV0sIE5VTEwsIDEwKSAqIDEwMjQgKiAxMDI0OworCX0KIAogCWlmICghYnVmc3opCiAJCWJ1ZnN6ID0gODE5MjsKQEAgLTQyLDYgKzQ3LDEwIEBACiAJCWdpdF9TSEExX1VwZGF0ZSgmY3R4LCBidWZmZXIsIHRoaXNfc3opOwogCX0KIAlnaXRfU0hBMV9GaW5hbChzaGExLCAmY3R4KTsKLQlwdXRzKHNoYTFfdG9faGV4KHNoYTEpKTsKKworCWlmIChiaW5hcnkpCisJCWZ3cml0ZShzaGExLCAxLCAyMCwgc3Rkb3V0KTsKKwllbHNlCisJCXB1dHMoc2hhMV90b19oZXgoc2hhMSkpOwogCWV4aXQoMCk7CiB9CmRpZmYgLS1naXQgYS90ZXN0LXN0cmluZy1saXN0LmMgYi90ZXN0LXN0cmluZy1saXN0LmMKaW5kZXggMDBjZTZjOS4uMTRiZGY5ZCAxMDA2NDQKLS0tIGEvdGVzdC1zdHJpbmctbGlzdC5jCisrKyBiL3Rlc3Qtc3RyaW5nLWxpc3QuYwpAQCAtMzgsNyArMzgsNyBAQAogc3RhdGljIGludCBwcmVmaXhfY2Ioc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW0sIHZvaWQgKmNiX2RhdGEpCiB7CiAJY29uc3QgY2hhciAqcHJlZml4ID0gKGNvbnN0IGNoYXIgKiljYl9kYXRhOwotCXJldHVybiAhcHJlZml4Y21wKGl0ZW0tPnN0cmluZywgcHJlZml4KTsKKwlyZXR1cm4gc3RhcnRzX3dpdGgoaXRlbS0+c3RyaW5nLCBwcmVmaXgpOwogfQogCiBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCmRpZmYgLS1naXQgYS90ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24uYyBiL3Rlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5MGJmMjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24uYwpAQCAtMCwwICsxLDUwIEBACisjaW5jbHVkZSAiZ2l0LWNvbXBhdC11dGlsLmgiCisjaW5jbHVkZSAidXJsbWF0Y2guaCIKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWNvbnN0IGNoYXIgdXNhZ2VbXSA9ICJ0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gWy1wIHwgLWxdIDx1cmwxPiB8IDx1cmwxPiA8dXJsMj4iOworCWNoYXIgKnVybDEsICp1cmwyOworCWludCBvcHRfcCA9IDAsIG9wdF9sID0gMDsKKworCS8qCisJICogRm9yIG9uZSB1cmwsIHN1Y2NlZWQgaWYgdXJsX25vcm1hbGl6ZSBzdWNjZWVkcyBvbiBpdCwgZmFpbCBvdGhlcndpc2UuCisJICogRm9yIHR3byB1cmxzLCBzdWNjZWVkIG9ubHkgaWYgdXJsX25vcm1hbGl6ZSBzdWNjZWVkcyBvbiBib3RoIGFuZAorCSAqIHRoZSByZXN1bHRzIGNvbXBhcmUgZXF1YWwgd2l0aCBzdHJjbXAuICBJZiAtcCBpcyBnaXZlbiAob25lIHVybCBvbmx5KQorCSAqIGFuZCB1cmxfbm9ybWFsaXplIHN1Y2NlZWRzLCBwcmludCB0aGUgcmVzdWx0IGZvbGxvd2VkIGJ5ICJcbiIuICBJZgorCSAqIC1sIGlzIGdpdmVuIChvbmUgdXJsIG9ubHkpIGFuZCB1cmxfbm9ybWFsaXplIHN1Y2NlZWRzLCBwcmludCB0aGUKKwkgKiByZXR1cm5lZCBsZW5ndGggaW4gZGVjaW1hbCBmb2xsb3dlZCBieSAiXG4iLgorCSAqLworCisJaWYgKGFyZ2MgPiAxICYmICFzdHJjbXAoYXJndlsxXSwgIi1wIikpIHsKKwkJb3B0X3AgPSAxOworCQlhcmdjLS07CisJCWFyZ3YrKzsKKwl9IGVsc2UgaWYgKGFyZ2MgPiAxICYmICFzdHJjbXAoYXJndlsxXSwgIi1sIikpIHsKKwkJb3B0X2wgPSAxOworCQlhcmdjLS07CisJCWFyZ3YrKzsKKwl9CisKKwlpZiAoYXJnYyA8IDIgfHwgYXJnYyA+IDMpCisJCWRpZSgiJXMiLCB1c2FnZSk7CisKKwlpZiAoYXJnYyA9PSAyKSB7CisJCXN0cnVjdCB1cmxfaW5mbyBpbmZvOworCQl1cmwxID0gdXJsX25vcm1hbGl6ZShhcmd2WzFdLCAmaW5mbyk7CisJCWlmICghdXJsMSkKKwkJCXJldHVybiAxOworCQlpZiAob3B0X3ApCisJCQlwcmludGYoIiVzXG4iLCB1cmwxKTsKKwkJaWYgKG9wdF9sKQorCQkJcHJpbnRmKCIldVxuIiwgKHVuc2lnbmVkKWluZm8udXJsX2xlbik7CisJCXJldHVybiAwOworCX0KKworCWlmIChvcHRfcCB8fCBvcHRfbCkKKwkJZGllKCIlcyIsIHVzYWdlKTsKKworCXVybDEgPSB1cmxfbm9ybWFsaXplKGFyZ3ZbMV0sIE5VTEwpOworCXVybDIgPSB1cmxfbm9ybWFsaXplKGFyZ3ZbMl0sIE5VTEwpOworCXJldHVybiAodXJsMSAmJiB1cmwyICYmICFzdHJjbXAodXJsMSwgdXJsMikpID8gMCA6IDE7Cit9CmRpZmYgLS1naXQgYS90cmFjZS5jIGIvdHJhY2UuYwppbmRleCAzZDc0NGQxLi4wODE4MGE5IDEwMDY0NAotLS0gYS90cmFjZS5jCisrKyBiL3RyYWNlLmMKQEAgLTc2LDcgKzc2LDcgQEAKIH0KIAogX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSkKLXN0YXRpYyB2b2lkIHRyYWNlX3ByaW50Zl9rZXkoY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3ZvaWQgdHJhY2VfcHJpbnRmX2tleShjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogewogCXZhX2xpc3QgYXA7CiAJdmFfc3RhcnQoYXAsIGZtdCk7CmRpZmYgLS1naXQgYS90cmFuc3BvcnQtaGVscGVyLmMgYi90cmFuc3BvcnQtaGVscGVyLmMKaW5kZXggNjNjYWJjMy4uYWQ3MmZiZCAxMDA2NDQKLS0tIGEvdHJhbnNwb3J0LWhlbHBlci5jCisrKyBiL3RyYW5zcG9ydC1oZWxwZXIuYwpAQCAtMjcsNyArMjcsOSBAQAogCQlwdXNoIDogMSwKIAkJY29ubmVjdCA6IDEsCiAJCXNpZ25lZF90YWdzIDogMSwKLQkJbm9fZGlzY29ubmVjdF9yZXEgOiAxOworCQljaGVja19jb25uZWN0aXZpdHkgOiAxLAorCQlub19kaXNjb25uZWN0X3JlcSA6IDEsCisJCW5vX3ByaXZhdGVfdXBkYXRlIDogMTsKIAljaGFyICpleHBvcnRfbWFya3M7CiAJY2hhciAqaW1wb3J0X21hcmtzOwogCS8qIFRoZXNlIGdvIGZyb20gcmVtb3RlIG5hbWUgKGFzIGluICJsaXN0IikgdG8gcHJpdmF0ZSBuYW1lICovCkBAIC0xODYsNyArMTg4LDkgQEAKIAkJCWRhdGEtPmJpZGlfaW1wb3J0ID0gMTsKIAkJZWxzZSBpZiAoIXN0cmNtcChjYXBuYW1lLCAiZXhwb3J0IikpCiAJCQlkYXRhLT5leHBvcnQgPSAxOwotCQllbHNlIGlmICghZGF0YS0+cmVmc3BlY3MgJiYgIXByZWZpeGNtcChjYXBuYW1lLCAicmVmc3BlYyAiKSkgeworCQllbHNlIGlmICghc3RyY21wKGNhcG5hbWUsICJjaGVjay1jb25uZWN0aXZpdHkiKSkKKwkJCWRhdGEtPmNoZWNrX2Nvbm5lY3Rpdml0eSA9IDE7CisJCWVsc2UgaWYgKCFkYXRhLT5yZWZzcGVjcyAmJiBzdGFydHNfd2l0aChjYXBuYW1lLCAicmVmc3BlYyAiKSkgewogCQkJQUxMT0NfR1JPVyhyZWZzcGVjcywKIAkJCQkgICByZWZzcGVjX25yICsgMSwKIAkJCQkgICByZWZzcGVjX2FsbG9jKTsKQEAgLTE5NSwxNiArMTk5LDE4IEBACiAJCQlkYXRhLT5jb25uZWN0ID0gMTsKIAkJfSBlbHNlIGlmICghc3RyY21wKGNhcG5hbWUsICJzaWduZWQtdGFncyIpKSB7CiAJCQlkYXRhLT5zaWduZWRfdGFncyA9IDE7Ci0JCX0gZWxzZSBpZiAoIXByZWZpeGNtcChjYXBuYW1lLCAiZXhwb3J0LW1hcmtzICIpKSB7CisJCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoY2FwbmFtZSwgImV4cG9ydC1tYXJrcyAiKSkgewogCQkJc3RydWN0IHN0cmJ1ZiBhcmcgPSBTVFJCVUZfSU5JVDsKIAkJCXN0cmJ1Zl9hZGRzdHIoJmFyZywgIi0tZXhwb3J0LW1hcmtzPSIpOwogCQkJc3RyYnVmX2FkZHN0cigmYXJnLCBjYXBuYW1lICsgc3RybGVuKCJleHBvcnQtbWFya3MgIikpOwogCQkJZGF0YS0+ZXhwb3J0X21hcmtzID0gc3RyYnVmX2RldGFjaCgmYXJnLCBOVUxMKTsKLQkJfSBlbHNlIGlmICghcHJlZml4Y21wKGNhcG5hbWUsICJpbXBvcnQtbWFya3MiKSkgeworCQl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGNhcG5hbWUsICJpbXBvcnQtbWFya3MiKSkgewogCQkJc3RydWN0IHN0cmJ1ZiBhcmcgPSBTVFJCVUZfSU5JVDsKIAkJCXN0cmJ1Zl9hZGRzdHIoJmFyZywgIi0taW1wb3J0LW1hcmtzPSIpOwogCQkJc3RyYnVmX2FkZHN0cigmYXJnLCBjYXBuYW1lICsgc3RybGVuKCJpbXBvcnQtbWFya3MgIikpOwogCQkJZGF0YS0+aW1wb3J0X21hcmtzID0gc3RyYnVmX2RldGFjaCgmYXJnLCBOVUxMKTsKKwkJfSBlbHNlIGlmIChzdGFydHNfd2l0aChjYXBuYW1lLCAibm8tcHJpdmF0ZS11cGRhdGUiKSkgeworCQkJZGF0YS0+bm9fcHJpdmF0ZV91cGRhdGUgPSAxOwogCQl9IGVsc2UgaWYgKG1hbmRhdG9yeSkgewogCQkJZGllKCJVbmtub3duIG1hbmRhdG9yeSBjYXBhYmlsaXR5ICVzLiBUaGlzIHJlbW90ZSAiCiAJCQkgICAgImhlbHBlciBwcm9iYWJseSBuZWVkcyBuZXdlciB2ZXJzaW9uIG9mIEdpdC4iLApAQCAtMjYzLDYgKzI2OSw3IEBACiAJVFJBTlNfT1BUX1RISU4sCiAJVFJBTlNfT1BUX0tFRVAKIAl9OworCiBzdGF0aWMgY29uc3QgY2hhciAqYm9vbGVhbl9vcHRpb25zW10gPSB7CiAJVFJBTlNfT1BUX1RISU4sCiAJVFJBTlNfT1BUX0tFRVAsCkBAIC0zMDQsNyArMzExLDcgQEAKIAogCWlmICghc3RyY21wKGJ1Zi5idWYsICJvayIpKQogCQlyZXQgPSAwOwotCWVsc2UgaWYgKCFwcmVmaXhjbXAoYnVmLmJ1ZiwgImVycm9yIikpIHsKKwllbHNlIGlmIChzdGFydHNfd2l0aChidWYuYnVmLCAiZXJyb3IiKSkgewogCQlyZXQgPSAtMTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYnVmLmJ1ZiwgInVuc3VwcG9ydGVkIikpCiAJCXJldCA9IDE7CkBAIC0zNDksNiArMzU2LDE1IEBACiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAogCXN0YW5kYXJkX29wdGlvbnModHJhbnNwb3J0KTsKKwlpZiAoZGF0YS0+Y2hlY2tfY29ubmVjdGl2aXR5ICYmCisJICAgIGRhdGEtPnRyYW5zcG9ydF9vcHRpb25zLmNoZWNrX3NlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQpCisJCXNldF9oZWxwZXJfb3B0aW9uKHRyYW5zcG9ydCwgImNoZWNrLWNvbm5lY3Rpdml0eSIsICJ0cnVlIik7CisKKwlpZiAodHJhbnNwb3J0LT5jbG9uaW5nKQorCQlzZXRfaGVscGVyX29wdGlvbih0cmFuc3BvcnQsICJjbG9uaW5nIiwgInRydWUiKTsKKworCWlmIChkYXRhLT50cmFuc3BvcnRfb3B0aW9ucy51cGRhdGVfc2hhbGxvdykKKwkJc2V0X2hlbHBlcl9vcHRpb24odHJhbnNwb3J0LCAidXBkYXRlLXNoYWxsb3ciLCAidHJ1ZSIpOwogCiAJZm9yIChpID0gMDsgaSA8IG5yX2hlYWRzOyBpKyspIHsKIAkJY29uc3Qgc3RydWN0IHJlZiAqcG9zbiA9IHRvX2ZldGNoW2ldOwpAQCAtMzY1LDEzICszODEsMTcgQEAKIAl3aGlsZSAoMSkgewogCQlyZWN2bGluZShkYXRhLCAmYnVmKTsKIAotCQlpZiAoIXByZWZpeGNtcChidWYuYnVmLCAibG9jayAiKSkgeworCQlpZiAoc3RhcnRzX3dpdGgoYnVmLmJ1ZiwgImxvY2sgIikpIHsKIAkJCWNvbnN0IGNoYXIgKm5hbWUgPSBidWYuYnVmICsgNTsKIAkJCWlmICh0cmFuc3BvcnQtPnBhY2tfbG9ja2ZpbGUpCiAJCQkJd2FybmluZygiJXMgYWxzbyBsb2NrZWQgJXMiLCBkYXRhLT5uYW1lLCBuYW1lKTsKIAkJCWVsc2UKIAkJCQl0cmFuc3BvcnQtPnBhY2tfbG9ja2ZpbGUgPSB4c3RyZHVwKG5hbWUpOwogCQl9CisJCWVsc2UgaWYgKGRhdGEtPmNoZWNrX2Nvbm5lY3Rpdml0eSAmJgorCQkJIGRhdGEtPnRyYW5zcG9ydF9vcHRpb25zLmNoZWNrX3NlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQgJiYKKwkJCSAhc3RyY21wKGJ1Zi5idWYsICJjb25uZWN0aXZpdHktb2siKSkKKwkJCWRhdGEtPnRyYW5zcG9ydF9vcHRpb25zLnNlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQgPSAxOwogCQllbHNlIGlmICghYnVmLmxlbikKIAkJCWJyZWFrOwogCQllbHNlCkBAIC02MzIsMTAgKzY1MiwxMCBAQAogCWNoYXIgKnJlZm5hbWUsICptc2c7CiAJaW50IHN0YXR1czsKIAotCWlmICghcHJlZml4Y21wKGJ1Zi0+YnVmLCAib2sgIikpIHsKKwlpZiAoc3RhcnRzX3dpdGgoYnVmLT5idWYsICJvayAiKSkgewogCQlzdGF0dXMgPSBSRUZfU1RBVFVTX09LOwogCQlyZWZuYW1lID0gYnVmLT5idWYgKyAzOwotCX0gZWxzZSBpZiAoIXByZWZpeGNtcChidWYtPmJ1ZiwgImVycm9yICIpKSB7CisJfSBlbHNlIGlmIChzdGFydHNfd2l0aChidWYtPmJ1ZiwgImVycm9yICIpKSB7CiAJCXN0YXR1cyA9IFJFRl9TVEFUVVNfUkVNT1RFX1JFSkVDVDsKIAkJcmVmbmFtZSA9IGJ1Zi0+YnVmICsgNjsKIAl9IGVsc2UKQEAgLTY4Myw2ICs3MDMsMTEgQEAKIAkJCWZyZWUobXNnKTsKIAkJCW1zZyA9IE5VTEw7CiAJCX0KKwkJZWxzZSBpZiAoIXN0cmNtcChtc2csICJzdGFsZSBpbmZvIikpIHsKKwkJCXN0YXR1cyA9IFJFRl9TVEFUVVNfUkVKRUNUX1NUQUxFOworCQkJZnJlZShtc2cpOworCQkJbXNnID0gTlVMTDsKKwkJfQogCX0KIAogCWlmICgqcmVmKQpAQCAtNzIzLDcgKzc0OCw3IEBACiAJCWlmIChwdXNoX3VwZGF0ZV9yZWZfc3RhdHVzKCZidWYsICZyZWYsIHJlbW90ZV9yZWZzKSkKIAkJCWNvbnRpbnVlOwogCi0JCWlmICghZGF0YS0+cmVmc3BlY3MpCisJCWlmICghZGF0YS0+cmVmc3BlY3MgfHwgZGF0YS0+bm9fcHJpdmF0ZV91cGRhdGUpCiAJCQljb250aW51ZTsKIAogCQkvKiBwcm9wYWdhdGUgYmFjayB0aGUgdXBkYXRlIHRvIHRoZSByZW1vdGUgbmFtZXNwYWNlICovCkBAIC03MzcsMTMgKzc2MiwxNSBAQAogfQogCiBzdGF0aWMgaW50IHB1c2hfcmVmc193aXRoX3B1c2goc3RydWN0IHRyYW5zcG9ydCAqdHJhbnNwb3J0LAotCQlzdHJ1Y3QgcmVmICpyZW1vdGVfcmVmcywgaW50IGZsYWdzKQorCQkJICAgICAgIHN0cnVjdCByZWYgKnJlbW90ZV9yZWZzLCBpbnQgZmxhZ3MpCiB7CiAJaW50IGZvcmNlX2FsbCA9IGZsYWdzICYgVFJBTlNQT1JUX1BVU0hfRk9SQ0U7CiAJaW50IG1pcnJvciA9IGZsYWdzICYgVFJBTlNQT1JUX1BVU0hfTUlSUk9SOwogCXN0cnVjdCBoZWxwZXJfZGF0YSAqZGF0YSA9IHRyYW5zcG9ydC0+ZGF0YTsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCByZWYgKnJlZjsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgY2FzX29wdGlvbnMgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqY2FzX29wdGlvbjsKIAogCWdldF9oZWxwZXIodHJhbnNwb3J0KTsKIAlpZiAoIWRhdGEtPnB1c2gpCkBAIC03NTYsNiArNzgzLDcgQEAKIAkJLyogQ2hlY2sgZm9yIHN0YXR1c2VzIHNldCBieSBzZXRfcmVmX3N0YXR1c19mb3JfcHVzaCgpICovCiAJCXN3aXRjaCAocmVmLT5zdGF0dXMpIHsKIAkJY2FzZSBSRUZfU1RBVFVTX1JFSkVDVF9OT05GQVNURk9SV0FSRDoKKwkJY2FzZSBSRUZfU1RBVFVTX1JFSkVDVF9TVEFMRToKIAkJY2FzZSBSRUZfU1RBVFVTX1JFSkVDVF9BTFJFQURZX0VYSVNUUzoKIAkJY2FzZSBSRUZfU1RBVFVTX1VQVE9EQVRFOgogCQkJY29udGludWU7CkBAIC03NzgsMTEgKzgwNiwyOSBAQAogCQlzdHJidWZfYWRkY2goJmJ1ZiwgJzonKTsKIAkJc3RyYnVmX2FkZHN0cigmYnVmLCByZWYtPm5hbWUpOwogCQlzdHJidWZfYWRkY2goJmJ1ZiwgJ1xuJyk7CisKKwkJLyoKKwkJICogVGhlICItLWZvcmNlLXdpdGgtbGVhc2UiIG9wdGlvbnMgd2l0aG91dCBleHBsaWNpdAorCQkgKiB2YWx1ZXMgdG8gZXhwZWN0IGhhdmUgYWxyZWFkeSBiZWVuIGV4cGFuZGVkIGludG8KKwkJICogdGhlIHJlZi0+b2xkX3NoYTFfZXhwZWN0W10gZmllbGQ7IHdlIGNhbiBpZ25vcmUKKwkJICogdHJhbnNwb3J0LT5zbWFydF9vcHRpb25zLT5jYXMgYWx0b2dldGhlciBhbmQgaW5zdGVhZAorCQkgKiBjYW4gZW51bWVyYXRlIHRoZW0gZnJvbSB0aGUgcmVmcy4KKwkJICovCisJCWlmIChyZWYtPmV4cGVjdF9vbGRfc2hhMSkgeworCQkJc3RydWN0IHN0cmJ1ZiBjYXMgPSBTVFJCVUZfSU5JVDsKKwkJCXN0cmJ1Zl9hZGRmKCZjYXMsICIlczolcyIsCisJCQkJICAgIHJlZi0+bmFtZSwgc2hhMV90b19oZXgocmVmLT5vbGRfc2hhMV9leHBlY3QpKTsKKwkJCXN0cmluZ19saXN0X2FwcGVuZCgmY2FzX29wdGlvbnMsIHN0cmJ1Zl9kZXRhY2goJmNhcywgTlVMTCkpOworCQl9CiAJfQotCWlmIChidWYubGVuID09IDApCisJaWYgKGJ1Zi5sZW4gPT0gMCkgeworCQlzdHJpbmdfbGlzdF9jbGVhcigmY2FzX29wdGlvbnMsIDApOwogCQlyZXR1cm4gMDsKKwl9CiAKIAlzdGFuZGFyZF9vcHRpb25zKHRyYW5zcG9ydCk7CisJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShjYXNfb3B0aW9uLCAmY2FzX29wdGlvbnMpCisJCXNldF9oZWxwZXJfb3B0aW9uKHRyYW5zcG9ydCwgImNhcyIsIGNhc19vcHRpb24tPnN0cmluZyk7CiAKIAlpZiAoZmxhZ3MgJiBUUkFOU1BPUlRfUFVTSF9EUllfUlVOKSB7CiAJCWlmIChzZXRfaGVscGVyX29wdGlvbih0cmFuc3BvcnQsICJkcnktcnVuIiwgInRydWUiKSAhPSAwKQpAQCAtMTA4OSw5ICsxMTM1LDggQEAKIAkJcmV0dXJuIDA7CS8qIE5vdGhpbmcgdG8gd3JpdGUuICovCiAKIAl0cmFuc2Zlcl9kZWJ1ZygiJXMgaXMgd3JpdGFibGUiLCB0LT5kZXN0X25hbWUpOwotCWJ5dGVzID0gd3JpdGUodC0+ZGVzdCwgdC0+YnVmLCB0LT5idWZ1c2UpOwotCWlmIChieXRlcyA8IDAgJiYgZXJybm8gIT0gRVdPVUxEQkxPQ0sgJiYgZXJybm8gIT0gRUFHQUlOICYmCi0JCWVycm5vICE9IEVJTlRSKSB7CisJYnl0ZXMgPSB4d3JpdGUodC0+ZGVzdCwgdC0+YnVmLCB0LT5idWZ1c2UpOworCWlmIChieXRlcyA8IDAgJiYgZXJybm8gIT0gRVdPVUxEQkxPQ0spIHsKIAkJZXJyb3IoIndyaXRlKCVzKSBmYWlsZWQ6ICVzIiwgdC0+ZGVzdF9uYW1lLCBzdHJlcnJvcihlcnJubykpOwogCQlyZXR1cm4gLTE7CiAJfSBlbHNlIGlmIChieXRlcyA+IDApIHsKZGlmZiAtLWdpdCBhL3RyYW5zcG9ydC5jIGIvdHJhbnNwb3J0LmMKaW5kZXggZGUyNTU4OC4uY2E3YmI0NCAxMDA2NDQKLS0tIGEvdHJhbnNwb3J0LmMKKysrIGIvdHJhbnNwb3J0LmMKQEAgLTMsNiArMyw4IEBACiAjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKICNpbmNsdWRlICJwa3QtbGluZS5oIgogI2luY2x1ZGUgImZldGNoLXBhY2suaCIKKyNpbmNsdWRlICJyZW1vdGUuaCIKKyNpbmNsdWRlICJjb25uZWN0LmgiCiAjaW5jbHVkZSAic2VuZC1wYWNrLmgiCiAjaW5jbHVkZSAid2Fsa2VyLmgiCiAjaW5jbHVkZSAiYnVuZGxlLmgiCkBAIC0xMiw2ICsxNCw3IEBACiAjaW5jbHVkZSAidXJsLmgiCiAjaW5jbHVkZSAic3VibW9kdWxlLmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKKyNpbmNsdWRlICJzaGExLWFycmF5LmgiCiAKIC8qIHJzeW5jIHN1cHBvcnQgKi8KIApAQCAtMTY3LDEzICsxNzAsMTMgQEAKIAkJcmVtb3RlbmFtZSA9IHJlZi0+bmFtZTsKIAkJdG1wID0gcmVzb2x2ZV9yZWZfdW5zYWZlKGxvY2FsbmFtZSwgc2hhLCAxLCAmZmxhZyk7CiAJCWlmICh0bXAgJiYgZmxhZyAmIFJFRl9JU1NZTVJFRiAmJgotCQkJIXByZWZpeGNtcCh0bXAsICJyZWZzL2hlYWRzLyIpKQorCQkJc3RhcnRzX3dpdGgodG1wLCAicmVmcy9oZWFkcy8iKSkKIAkJCWxvY2FsbmFtZSA9IHRtcDsKIAogCQkvKiBCb3RoIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gbXVzdCBiZSBsb2NhbCBicmFuY2hlcy4gKi8KLQkJaWYgKCFsb2NhbG5hbWUgfHwgcHJlZml4Y21wKGxvY2FsbmFtZSwgInJlZnMvaGVhZHMvIikpCisJCWlmICghbG9jYWxuYW1lIHx8ICFzdGFydHNfd2l0aChsb2NhbG5hbWUsICJyZWZzL2hlYWRzLyIpKQogCQkJY29udGludWU7Ci0JCWlmICghcmVtb3RlbmFtZSB8fCBwcmVmaXhjbXAocmVtb3RlbmFtZSwgInJlZnMvaGVhZHMvIikpCisJCWlmICghcmVtb3RlbmFtZSB8fCAhc3RhcnRzX3dpdGgocmVtb3RlbmFtZSwgInJlZnMvaGVhZHMvIikpCiAJCQljb250aW51ZTsKIAogCQlpZiAoIXByZXRlbmQpCkBAIC0xODksNyArMTkyLDcgQEAKIAogc3RhdGljIGNvbnN0IGNoYXIgKnJzeW5jX3VybChjb25zdCBjaGFyICp1cmwpCiB7Ci0JcmV0dXJuIHByZWZpeGNtcCh1cmwsICJyc3luYzovLyIpID8gc2tpcF9wcmVmaXgodXJsLCAicnN5bmM6IikgOiB1cmw7CisJcmV0dXJuICFzdGFydHNfd2l0aCh1cmwsICJyc3luYzovLyIpID8gc2tpcF9wcmVmaXgodXJsLCAicnN5bmM6IikgOiB1cmw7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgcmVmICpnZXRfcmVmc192aWFfcnN5bmMoc3RydWN0IHRyYW5zcG9ydCAqdHJhbnNwb3J0LCBpbnQgZm9yX3B1c2gpCkBAIC0yOTQsOCArMjk3LDggQEAKIAlGSUxFICpmOwogCiAJLyogd2hlbiBjYWxsZWQgdmlhIGZvcl9lYWNoX3JlZigpLCBmbGFncyBpcyBub24temVybyAqLwotCWlmIChmbGFncyAmJiBwcmVmaXhjbXAobmFtZSwgInJlZnMvaGVhZHMvIikgJiYKLQkJCXByZWZpeGNtcChuYW1lLCAicmVmcy90YWdzLyIpKQorCWlmIChmbGFncyAmJiAhc3RhcnRzX3dpdGgobmFtZSwgInJlZnMvaGVhZHMvIikgJiYKKwkJCSFzdGFydHNfd2l0aChuYW1lLCAicmVmcy90YWdzLyIpKQogCQlyZXR1cm4gMDsKIAogCXN0cmJ1Zl9hZGRzdHIoYnVmLCBuYW1lKTsKQEAgLTQ1Miw3ICs0NTUsOCBAQAogCXN0cnVjdCBjaGlsZF9wcm9jZXNzICpjb25uOwogCWludCBmZFsyXTsKIAl1bnNpZ25lZCBnb3RfcmVtb3RlX2hlYWRzIDogMTsKLQlzdHJ1Y3QgZXh0cmFfaGF2ZV9vYmplY3RzIGV4dHJhX2hhdmU7CisJc3RydWN0IHNoYTFfYXJyYXkgZXh0cmFfaGF2ZTsKKwlzdHJ1Y3Qgc2hhMV9hcnJheSBzaGFsbG93OwogfTsKIAogc3RhdGljIGludCBzZXRfZ2l0X29wdGlvbihzdHJ1Y3QgZ2l0X3RyYW5zcG9ydF9vcHRpb25zICpvcHRzLApAQCAtNDczLDYgKzQ3Nyw5IEBACiAJfSBlbHNlIGlmICghc3RyY21wKG5hbWUsIFRSQU5TX09QVF9LRUVQKSkgewogCQlvcHRzLT5rZWVwID0gISF2YWx1ZTsKIAkJcmV0dXJuIDA7CisJfSBlbHNlIGlmICghc3RyY21wKG5hbWUsIFRSQU5TX09QVF9VUERBVEVfU0hBTExPVykpIHsKKwkJb3B0cy0+dXBkYXRlX3NoYWxsb3cgPSAhIXZhbHVlOworCQlyZXR1cm4gMDsKIAl9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgVFJBTlNfT1BUX0RFUFRIKSkgewogCQlpZiAoIXZhbHVlKQogCQkJb3B0cy0+ZGVwdGggPSAwOwpAQCAtNTA5LDcgKzUxNiw5IEBACiAKIAljb25uZWN0X3NldHVwKHRyYW5zcG9ydCwgZm9yX3B1c2gsIDApOwogCWdldF9yZW1vdGVfaGVhZHMoZGF0YS0+ZmRbMF0sIE5VTEwsIDAsICZyZWZzLAotCQkJIGZvcl9wdXNoID8gUkVGX05PUk1BTCA6IDAsICZkYXRhLT5leHRyYV9oYXZlKTsKKwkJCSBmb3JfcHVzaCA/IFJFRl9OT1JNQUwgOiAwLAorCQkJICZkYXRhLT5leHRyYV9oYXZlLAorCQkJICZkYXRhLT5zaGFsbG93KTsKIAlkYXRhLT5nb3RfcmVtb3RlX2hlYWRzID0gMTsKIAogCXJldHVybiByZWZzOwpAQCAtNTM2LDE2ICs1NDUsMTkgQEAKIAlhcmdzLmRlcHRoID0gZGF0YS0+b3B0aW9ucy5kZXB0aDsKIAlhcmdzLmNoZWNrX3NlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQgPQogCQlkYXRhLT5vcHRpb25zLmNoZWNrX3NlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQ7CisJYXJncy5jbG9uaW5nID0gdHJhbnNwb3J0LT5jbG9uaW5nOworCWFyZ3MudXBkYXRlX3NoYWxsb3cgPSBkYXRhLT5vcHRpb25zLnVwZGF0ZV9zaGFsbG93OwogCiAJaWYgKCFkYXRhLT5nb3RfcmVtb3RlX2hlYWRzKSB7CiAJCWNvbm5lY3Rfc2V0dXAodHJhbnNwb3J0LCAwLCAwKTsKLQkJZ2V0X3JlbW90ZV9oZWFkcyhkYXRhLT5mZFswXSwgTlVMTCwgMCwgJnJlZnNfdG1wLCAwLCBOVUxMKTsKKwkJZ2V0X3JlbW90ZV9oZWFkcyhkYXRhLT5mZFswXSwgTlVMTCwgMCwgJnJlZnNfdG1wLCAwLAorCQkJCSBOVUxMLCAmZGF0YS0+c2hhbGxvdyk7CiAJCWRhdGEtPmdvdF9yZW1vdGVfaGVhZHMgPSAxOwogCX0KIAogCXJlZnMgPSBmZXRjaF9wYWNrKCZhcmdzLCBkYXRhLT5mZCwgZGF0YS0+Y29ubiwKIAkJCSAgcmVmc190bXAgPyByZWZzX3RtcCA6IHRyYW5zcG9ydC0+cmVtb3RlX3JlZnMsCi0JCQkgIGRlc3QsIHRvX2ZldGNoLCBucl9oZWFkcywKKwkJCSAgZGVzdCwgdG9fZmV0Y2gsIG5yX2hlYWRzLCAmZGF0YS0+c2hhbGxvdywKIAkJCSAgJnRyYW5zcG9ydC0+cGFja19sb2NrZmlsZSk7CiAJY2xvc2UoZGF0YS0+ZmRbMF0pOwogCWNsb3NlKGRhdGEtPmZkWzFdKTsKQEAgLTY1MCw3ICs2NjIsNyBAQAogCQlwcmludF9yZWZfc3RhdHVzKCctJywgIltkZWxldGVkXSIsIHJlZiwgTlVMTCwgTlVMTCwgcG9yY2VsYWluKTsKIAllbHNlIGlmIChpc19udWxsX3NoYTEocmVmLT5vbGRfc2hhMSkpCiAJCXByaW50X3JlZl9zdGF0dXMoJyonLAotCQkJKCFwcmVmaXhjbXAocmVmLT5uYW1lLCAicmVmcy90YWdzLyIpID8gIltuZXcgdGFnXSIgOgorCQkJKHN0YXJ0c193aXRoKHJlZi0+bmFtZSwgInJlZnMvdGFncy8iKSA/ICJbbmV3IHRhZ10iIDoKIAkJCSJbbmV3IGJyYW5jaF0iKSwKIAkJCXJlZiwgcmVmLT5wZWVyX3JlZiwgTlVMTCwgcG9yY2VsYWluKTsKIAllbHNlIHsKQEAgLTcwNyw2ICs3MTksMTQgQEAKIAkJcHJpbnRfcmVmX3N0YXR1cygnIScsICJbcmVqZWN0ZWRdIiwgcmVmLCByZWYtPnBlZXJfcmVmLAogCQkJCQkJICJuZWVkcyBmb3JjZSIsIHBvcmNlbGFpbik7CiAJCWJyZWFrOworCWNhc2UgUkVGX1NUQVRVU19SRUpFQ1RfU1RBTEU6CisJCXByaW50X3JlZl9zdGF0dXMoJyEnLCAiW3JlamVjdGVkXSIsIHJlZiwgcmVmLT5wZWVyX3JlZiwKKwkJCQkJCSAic3RhbGUgaW5mbyIsIHBvcmNlbGFpbik7CisJCWJyZWFrOworCWNhc2UgUkVGX1NUQVRVU19SRUpFQ1RfU0hBTExPVzoKKwkJcHJpbnRfcmVmX3N0YXR1cygnIScsICJbcmVqZWN0ZWRdIiwgcmVmLCByZWYtPnBlZXJfcmVmLAorCQkJCQkJICJuZXcgc2hhbGxvdyByb290cyBub3QgYWxsb3dlZCIsIHBvcmNlbGFpbik7CisJCWJyZWFrOwogCWNhc2UgUkVGX1NUQVRVU19SRU1PVEVfUkVKRUNUOgogCQlwcmludF9yZWZfc3RhdHVzKCchJywgIltyZW1vdGUgcmVqZWN0ZWRdIiwgcmVmLAogCQkJCQkJIHJlZi0+ZGVsZXRpb24gPyBOVUxMIDogcmVmLT5wZWVyX3JlZiwKQEAgLTc5OSw3ICs4MTksOCBAQAogCQlzdHJ1Y3QgcmVmICp0bXBfcmVmczsKIAkJY29ubmVjdF9zZXR1cCh0cmFuc3BvcnQsIDEsIDApOwogCi0JCWdldF9yZW1vdGVfaGVhZHMoZGF0YS0+ZmRbMF0sIE5VTEwsIDAsICZ0bXBfcmVmcywgUkVGX05PUk1BTCwgTlVMTCk7CisJCWdldF9yZW1vdGVfaGVhZHMoZGF0YS0+ZmRbMF0sIE5VTEwsIDAsICZ0bXBfcmVmcywgUkVGX05PUk1BTCwKKwkJCQkgTlVMTCwgJmRhdGEtPnNoYWxsb3cpOwogCQlkYXRhLT5nb3RfcmVtb3RlX2hlYWRzID0gMTsKIAl9CiAKQEAgLTg3OSwxNCArOTAwLDYgQEAKIAl0cmFuc3BvcnQtPmNhbm5vdF9yZXVzZSA9IDE7CiB9CiAKLXN0YXRpYyBpbnQgaXNfbG9jYWwoY29uc3QgY2hhciAqdXJsKQotewotCWNvbnN0IGNoYXIgKmNvbG9uID0gc3RyY2hyKHVybCwgJzonKTsKLQljb25zdCBjaGFyICpzbGFzaCA9IHN0cmNocih1cmwsICcvJyk7Ci0JcmV0dXJuICFjb2xvbiB8fCAoc2xhc2ggJiYgc2xhc2ggPCBjb2xvbikgfHwKLQkJaGFzX2Rvc19kcml2ZV9wcmVmaXgodXJsKTsKLX0KLQogc3RhdGljIGludCBpc19maWxlKGNvbnN0IGNoYXIgKnVybCkKIHsKIAlzdHJ1Y3Qgc3RhdCBidWY7CkBAIC05MjQsMTggKzkzNywxOCBAQAogCiAJCXdoaWxlIChpc191cmxzY2hlbWVjaGFyKHAgPT0gdXJsLCAqcCkpCiAJCQlwKys7Ci0JCWlmICghcHJlZml4Y21wKHAsICI6OiIpKQorCQlpZiAoc3RhcnRzX3dpdGgocCwgIjo6IikpCiAJCQloZWxwZXIgPSB4c3RybmR1cCh1cmwsIHAgLSB1cmwpOwogCX0KIAogCWlmIChoZWxwZXIpIHsKIAkJdHJhbnNwb3J0X2hlbHBlcl9pbml0KHJldCwgaGVscGVyKTsKLQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAodXJsLCAicnN5bmM6IikpIHsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKHVybCwgInJzeW5jOiIpKSB7CiAJCXJldC0+Z2V0X3JlZnNfbGlzdCA9IGdldF9yZWZzX3ZpYV9yc3luYzsKIAkJcmV0LT5mZXRjaCA9IGZldGNoX29ianNfdmlhX3JzeW5jOwogCQlyZXQtPnB1c2ggPSByc3luY190cmFuc3BvcnRfcHVzaDsKIAkJcmV0LT5zbWFydF9vcHRpb25zID0gTlVMTDsKLQl9IGVsc2UgaWYgKGlzX2xvY2FsKHVybCkgJiYgaXNfZmlsZSh1cmwpICYmIGlzX2J1bmRsZSh1cmwsIDEpKSB7CisJfSBlbHNlIGlmICh1cmxfaXNfbG9jYWxfbm90X3NzaCh1cmwpICYmIGlzX2ZpbGUodXJsKSAmJiBpc19idW5kbGUodXJsLCAxKSkgewogCQlzdHJ1Y3QgYnVuZGxlX3RyYW5zcG9ydF9kYXRhICpkYXRhID0geGNhbGxvYygxLCBzaXplb2YoKmRhdGEpKTsKIAkJcmV0LT5kYXRhID0gZGF0YTsKIAkJcmV0LT5nZXRfcmVmc19saXN0ID0gZ2V0X3JlZnNfZnJvbV9idW5kbGU7CkBAIC05NDMsMTEgKzk1NiwxMSBAQAogCQlyZXQtPmRpc2Nvbm5lY3QgPSBjbG9zZV9idW5kbGU7CiAJCXJldC0+c21hcnRfb3B0aW9ucyA9IE5VTEw7CiAJfSBlbHNlIGlmICghaXNfdXJsKHVybCkKLQkJfHwgIXByZWZpeGNtcCh1cmwsICJmaWxlOi8vIikKLQkJfHwgIXByZWZpeGNtcCh1cmwsICJnaXQ6Ly8iKQotCQl8fCAhcHJlZml4Y21wKHVybCwgInNzaDovLyIpCi0JCXx8ICFwcmVmaXhjbXAodXJsLCAiZ2l0K3NzaDovLyIpCi0JCXx8ICFwcmVmaXhjbXAodXJsLCAic3NoK2dpdDovLyIpKSB7CisJCXx8IHN0YXJ0c193aXRoKHVybCwgImZpbGU6Ly8iKQorCQl8fCBzdGFydHNfd2l0aCh1cmwsICJnaXQ6Ly8iKQorCQl8fCBzdGFydHNfd2l0aCh1cmwsICJzc2g6Ly8iKQorCQl8fCBzdGFydHNfd2l0aCh1cmwsICJnaXQrc3NoOi8vIikKKwkJfHwgc3RhcnRzX3dpdGgodXJsLCAic3NoK2dpdDovLyIpKSB7CiAJCS8qIFRoZXNlIGFyZSBidWlsdGluIHNtYXJ0IHRyYW5zcG9ydHMuICovCiAJCXN0cnVjdCBnaXRfdHJhbnNwb3J0X2RhdGEgKmRhdGEgPSB4Y2FsbG9jKDEsIHNpemVvZigqZGF0YSkpOwogCQlyZXQtPmRhdGEgPSBkYXRhOwpAQCAtMTA3OCw2ICsxMDkxLDcgQEAKIAlmb3IgKHIgPSByZW1vdGVfcmVmczsgcjsgciA9IHItPm5leHQpIHsKIAkJaWYgKCFyLT5wZWVyX3JlZikgY29udGludWU7CiAJCWlmIChyLT5zdGF0dXMgPT0gUkVGX1NUQVRVU19SRUpFQ1RfTk9ORkFTVEZPUldBUkQpIGNvbnRpbnVlOworCQlpZiAoci0+c3RhdHVzID09IFJFRl9TVEFUVVNfUkVKRUNUX1NUQUxFKSBjb250aW51ZTsKIAkJaWYgKHItPnN0YXR1cyA9PSBSRUZfU1RBVFVTX1VQVE9EQVRFKSBjb250aW51ZTsKIAogCQlzdHJidWZfcmVzZXQoJmJ1Zik7CkBAIC0xMTQyLDYgKzExNTYsMTIgQEAKIAkJCXJldHVybiAtMTsKIAkJfQogCisJCWlmICh0cmFuc3BvcnQtPnNtYXJ0X29wdGlvbnMgJiYKKwkJICAgIHRyYW5zcG9ydC0+c21hcnRfb3B0aW9ucy0+Y2FzICYmCisJCSAgICAhaXNfZW1wdHlfY2FzKHRyYW5zcG9ydC0+c21hcnRfb3B0aW9ucy0+Y2FzKSkKKwkJCWFwcGx5X3B1c2hfY2FzKHRyYW5zcG9ydC0+c21hcnRfb3B0aW9ucy0+Y2FzLAorCQkJCSAgICAgICB0cmFuc3BvcnQtPnJlbW90ZSwgcmVtb3RlX3JlZnMpOworCiAJCXNldF9yZWZfc3RhdHVzX2Zvcl9wdXNoKHJlbW90ZV9yZWZzLAogCQkJZmxhZ3MgJiBUUkFOU1BPUlRfUFVTSF9NSVJST1IsCiAJCQlmbGFncyAmIFRSQU5TUE9SVF9QVVNIX0ZPUkNFKTsKQEAgLTEyODQsNyArMTMwNCw3IEBACiAJc2l6ZV90IGFub25fbGVuLCBwcmVmaXhfbGVuID0gMDsKIAogCWFub25fcGFydCA9IHN0cmNocih1cmwsICdAJyk7Ci0JaWYgKGlzX2xvY2FsKHVybCkgfHwgIWFub25fcGFydCkKKwlpZiAodXJsX2lzX2xvY2FsX25vdF9zc2godXJsKSB8fCAhYW5vbl9wYXJ0KQogCQlnb3RvIGxpdGVyYWxfY29weTsKIAogCWFub25fbGVuID0gc3RybGVuKCsrYW5vbl9wYXJ0KTsKZGlmZiAtLWdpdCBhL3RyYW5zcG9ydC5oIGIvdHJhbnNwb3J0LmgKaW5kZXggOTZlMGVkZS4uMDJlYTI0OCAxMDA2NDQKLS0tIGEvdHJhbnNwb3J0LmgKKysrIGIvdHJhbnNwb3J0LmgKQEAgLTIsNiArMiw3IEBACiAjZGVmaW5lIFRSQU5TUE9SVF9ICiAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAjaW5jbHVkZSAicmVtb3RlLmgiCiAKIHN0cnVjdCBnaXRfdHJhbnNwb3J0X29wdGlvbnMgewpAQCAtMTAsOSArMTEsMTEgQEAKIAl1bnNpZ25lZCBmb2xsb3d0YWdzIDogMTsKIAl1bnNpZ25lZCBjaGVja19zZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkIDogMTsKIAl1bnNpZ25lZCBzZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkIDogMTsKKwl1bnNpZ25lZCB1cGRhdGVfc2hhbGxvdyA6IDE7CiAJaW50IGRlcHRoOwogCWNvbnN0IGNoYXIgKnVwbG9hZHBhY2s7CiAJY29uc3QgY2hhciAqcmVjZWl2ZXBhY2s7CisJc3RydWN0IHB1c2hfY2FzX29wdGlvbiAqY2FzOwogfTsKIAogc3RydWN0IHRyYW5zcG9ydCB7CkBAIC0zMyw2ICszNiwxMiBAQAogCSAqLwogCXVuc2lnbmVkIGNhbm5vdF9yZXVzZSA6IDE7CiAKKwkvKgorCSAqIEEgaGludCBmcm9tIGNhbGxlciB0aGF0IGl0IHdpbGwgYmUgcGVyZm9ybWluZyBhIGNsb25lLCBub3QKKwkgKiBub3JtYWwgZmV0Y2guIElPVyB0aGUgcmVwb3NpdG9yeSBpcyBndWFyYW50ZWVkIGVtcHR5LgorCSAqLworCXVuc2lnbmVkIGNsb25pbmcgOiAxOworCiAJLyoqCiAJICogUmV0dXJucyAwIGlmIHN1Y2Nlc3NmdWwsIHBvc2l0aXZlIGlmIHRoZSBvcHRpb24gaXMgbm90CiAJICogcmVjb2duaXplZCBvciBpcyBpbmFwcGxpY2FibGUsIGFuZCBuZWdhdGl2ZSBpZiB0aGUgb3B0aW9uCkBAIC0xMzIsNiArMTQxLDkgQEAKIC8qIFRyYW5zZmVyIHRoZSBkYXRhIGFzIGEgdGhpbiBwYWNrIGlmIG5vdCBudWxsICovCiAjZGVmaW5lIFRSQU5TX09QVF9USElOICJ0aGluIgogCisvKiBDaGVjayB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgcmVtb3RlIHJlZiAqLworI2RlZmluZSBUUkFOU19PUFRfQ0FTICJjYXMiCisKIC8qIEtlZXAgdGhlIHBhY2sgdGhhdCB3YXMgdHJhbnNmZXJyZWQgaWYgbm90IG51bGwgKi8KICNkZWZpbmUgVFJBTlNfT1BUX0tFRVAgImtlZXAiCiAKQEAgLTE0MSw2ICsxNTMsOSBAQAogLyogQWdncmVzc2l2ZWx5IGZldGNoIGFubm90YXRlZCB0YWdzIGlmIHBvc3NpYmxlICovCiAjZGVmaW5lIFRSQU5TX09QVF9GT0xMT1dUQUdTICJmb2xsb3d0YWdzIgogCisvKiBBY2NlcHQgcmVmcyB0aGF0IG1heSB1cGRhdGUgLmdpdC9zaGFsbG93IHdpdGhvdXQgLS1kZXB0aCAqLworI2RlZmluZSBUUkFOU19PUFRfVVBEQVRFX1NIQUxMT1cgInVwZGF0ZXNoYWxsb3ciCisKIC8qKgogICogUmV0dXJucyAwIGlmIHRoZSBvcHRpb24gd2FzIHVzZWQsIG5vbi16ZXJvIG90aGVyd2lzZS4gUHJpbnRzIGEKICAqIG1lc3NhZ2UgdG8gc3RkZXJyIGlmIHRoZSBvcHRpb24gaXMgbm90IHVzZWQuCkBAIC0xODgsMTAgKzIwMyw0IEBACiAKIHR5cGVkZWYgdm9pZCBhbHRlcm5hdGVfcmVmX2ZuKGNvbnN0IHN0cnVjdCByZWYgKiwgdm9pZCAqKTsKIGV4dGVybiB2b2lkIGZvcl9lYWNoX2FsdGVybmF0ZV9yZWYoYWx0ZXJuYXRlX3JlZl9mbiwgdm9pZCAqKTsKLQotc3RydWN0IHNlbmRfcGFja19hcmdzOwotZXh0ZXJuIGludCBzZW5kX3BhY2soc3RydWN0IHNlbmRfcGFja19hcmdzICphcmdzLAotCQkgICAgIGludCBmZFtdLCBzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY29ubiwKLQkJICAgICBzdHJ1Y3QgcmVmICpyZW1vdGVfcmVmcywKLQkJICAgICBzdHJ1Y3QgZXh0cmFfaGF2ZV9vYmplY3RzICpleHRyYV9oYXZlKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvdHJlZS1kaWZmLmMgYi90cmVlLWRpZmYuYwppbmRleCBiYTAxNTYzLi40NTY2NjBjIDEwMDY0NAotLS0gYS90cmVlLWRpZmYuYworKysgYi90cmVlLWRpZmYuYwpAQCAtMTM4LDcgKzEzOCw2IEBACiAKIAkvKiBFbmFibGUgcmVjdXJzaW9uIGluZGVmaW5pdGVseSAqLwogCW9wdC0+cGF0aHNwZWMucmVjdXJzaXZlID0gRElGRl9PUFRfVFNUKG9wdCwgUkVDVVJTSVZFKTsKLQlvcHQtPnBhdGhzcGVjLm1heF9kZXB0aCA9IC0xOwogCiAJc3RyYnVmX2luaXQoJmJhc2UsIFBBVEhfTUFYKTsKIAlzdHJidWZfYWRkKCZiYXNlLCBiYXNlX3N0ciwgYmFzZWxlbik7CkBAIC0xOTYsOSArMTk1LDI3IEBACiAJc3RydWN0IGRpZmZfb3B0aW9ucyBkaWZmX29wdHM7CiAJc3RydWN0IGRpZmZfcXVldWVfc3RydWN0ICpxID0gJmRpZmZfcXVldWVkX2RpZmY7CiAJc3RydWN0IGRpZmZfZmlsZXBhaXIgKmNob2ljZTsKLQljb25zdCBjaGFyICpwYXRoc1sxXTsKIAlpbnQgaTsKIAorCS8qCisJICogZm9sbG93LXJlbmFtZSBjb2RlIGlzIHZlcnkgc3BlY2lmaWMsIHdlIG5lZWQgZXhhY3RseSBvbmUKKwkgKiBwYXRoLiBNYWdpYyB0aGF0IG1hdGNoZXMgbW9yZSB0aGFuIG9uZSBwYXRoIGlzIG5vdAorCSAqIHN1cHBvcnRlZC4KKwkgKi8KKwlHVUFSRF9QQVRIU1BFQygmb3B0LT5wYXRoc3BlYywgUEFUSFNQRUNfRlJPTVRPUCB8IFBBVEhTUEVDX0xJVEVSQUwpOworI2lmIDAKKwkvKgorCSAqIFdlIHNob3VsZCByZWplY3Qgd2lsZGNhcmRzIGFzIHdlbGwuIFVuZm9ydHVuYXRlbHkgd2UKKwkgKiBoYXZlbid0IGdvdCBhIHJlbGlhYmxlIHdheSB0byBkZXRlY3QgdGhhdCAnZm9vXCpiYXInIGluCisJICogZmFjdCBoYXMgbm8gd2lsZGNhcmRzLiBub3dpbGRjYXJkX2xlbiBpcyBtZXJlbHkgYSBoaW50IGZvcgorCSAqIG9wdGltaXphdGlvbi4gTGV0IGl0IHNsaXAgZm9yIG5vdyB1bnRpbCB3aWxkbWF0Y2ggaXMgdGF1Z2h0CisJICogYWJvdXQgZHJ5LXJ1biBtb2RlIGFuZCByZXR1cm5zIHdpbGRjYXJkIGluZm8uCisJICovCisJaWYgKG9wdC0+cGF0aHNwZWMuaGFzX3dpbGRjYXJkKQorCQlkaWUoIkJVRzolczolZDogd2lsZGNhcmRzIGFyZSBub3Qgc3VwcG9ydGVkIiwKKwkJICAgIF9fRklMRV9fLCBfX0xJTkVfXyk7CisjZW5kaWYKKwogCS8qIFJlbW92ZSB0aGUgZmlsZSBjcmVhdGlvbiBlbnRyeSBmcm9tIHRoZSBkaWZmIHF1ZXVlLCBhbmQgcmVtZW1iZXIgaXQgKi8KIAljaG9pY2UgPSBxLT5xdWV1ZVswXTsKIAlxLT5uciA9IDA7CkBAIC0yMDcsMTUgKzIyNCwxMyBAQAogCURJRkZfT1BUX1NFVCgmZGlmZl9vcHRzLCBSRUNVUlNJVkUpOwogCURJRkZfT1BUX1NFVCgmZGlmZl9vcHRzLCBGSU5EX0NPUElFU19IQVJERVIpOwogCWRpZmZfb3B0cy5vdXRwdXRfZm9ybWF0ID0gRElGRl9GT1JNQVRfTk9fT1VUUFVUOwotCWRpZmZfb3B0cy5zaW5nbGVfZm9sbG93ID0gb3B0LT5wYXRoc3BlYy5yYXdbMF07CisJZGlmZl9vcHRzLnNpbmdsZV9mb2xsb3cgPSBvcHQtPnBhdGhzcGVjLml0ZW1zWzBdLm1hdGNoOwogCWRpZmZfb3B0cy5icmVha19vcHQgPSBvcHQtPmJyZWFrX29wdDsKIAlkaWZmX29wdHMucmVuYW1lX3Njb3JlID0gb3B0LT5yZW5hbWVfc2NvcmU7Ci0JcGF0aHNbMF0gPSBOVUxMOwotCWRpZmZfdHJlZV9zZXR1cF9wYXRocyhwYXRocywgJmRpZmZfb3B0cyk7CiAJZGlmZl9zZXR1cF9kb25lKCZkaWZmX29wdHMpOwogCWRpZmZfdHJlZSh0MSwgdDIsIGJhc2UsICZkaWZmX29wdHMpOwogCWRpZmZjb3JlX3N0ZCgmZGlmZl9vcHRzKTsKLQlkaWZmX3RyZWVfcmVsZWFzZV9wYXRocygmZGlmZl9vcHRzKTsKKwlmcmVlX3BhdGhzcGVjKCZkaWZmX29wdHMucGF0aHNwZWMpOwogCiAJLyogR28gdGhyb3VnaCB0aGUgbmV3IHNldCBvZiBmaWxlcGFpcmluZywgYW5kIHNlZSBpZiB3ZSBmaW5kIGEgbW9yZSBpbnRlcmVzdGluZyBvbmUgKi8KIAlvcHQtPmZvdW5kX2ZvbGxvdyA9IDA7CkBAIC0yMjgsMTUgKzI0MywyMCBAQAogCQkgKiB0aGUgZnV0dXJlIQogCQkgKi8KIAkJaWYgKChwLT5zdGF0dXMgPT0gJ1InIHx8IHAtPnN0YXR1cyA9PSAnQycpICYmCi0JCSAgICAhc3RyY21wKHAtPnR3by0+cGF0aCwgb3B0LT5wYXRoc3BlYy5yYXdbMF0pKSB7CisJCSAgICAhc3RyY21wKHAtPnR3by0+cGF0aCwgb3B0LT5wYXRoc3BlYy5pdGVtc1swXS5tYXRjaCkpIHsKKwkJCWNvbnN0IGNoYXIgKnBhdGhbMl07CisKIAkJCS8qIFN3aXRjaCB0aGUgZmlsZS1wYWlycyBhcm91bmQgKi8KIAkJCXEtPnF1ZXVlW2ldID0gY2hvaWNlOwogCQkJY2hvaWNlID0gcDsKIAogCQkJLyogVXBkYXRlIHRoZSBwYXRoIHdlIHVzZSBmcm9tIG5vdyBvbi4uICovCi0JCQlkaWZmX3RyZWVfcmVsZWFzZV9wYXRocyhvcHQpOwotCQkJb3B0LT5wYXRoc3BlYy5yYXdbMF0gPSB4c3RyZHVwKHAtPm9uZS0+cGF0aCk7Ci0JCQlkaWZmX3RyZWVfc2V0dXBfcGF0aHMob3B0LT5wYXRoc3BlYy5yYXcsIG9wdCk7CisJCQlwYXRoWzBdID0gcC0+b25lLT5wYXRoOworCQkJcGF0aFsxXSA9IE5VTEw7CisJCQlmcmVlX3BhdGhzcGVjKCZvcHQtPnBhdGhzcGVjKTsKKwkJCXBhcnNlX3BhdGhzcGVjKCZvcHQtPnBhdGhzcGVjLAorCQkJCSAgICAgICBQQVRIU1BFQ19BTExfTUFHSUMgJiB+UEFUSFNQRUNfTElURVJBTCwKKwkJCQkgICAgICAgUEFUSFNQRUNfTElURVJBTF9QQVRILCAiIiwgcGF0aCk7CiAKIAkJCS8qCiAJCQkgKiBUaGUgY2FsbGVyIGV4cGVjdHMgdXMgdG8gcmV0dXJuIGEgc2V0IG9mIHZhbmlsbGEKQEAgLTMxMCwxMyArMzMwLDMgQEAKIAlmcmVlKHRyZWUpOwogCXJldHVybiByZXR2YWw7CiB9Ci0KLXZvaWQgZGlmZl90cmVlX3JlbGVhc2VfcGF0aHMoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KQotewotCWZyZWVfcGF0aHNwZWMoJm9wdC0+cGF0aHNwZWMpOwotfQotCi12b2lkIGRpZmZfdHJlZV9zZXR1cF9wYXRocyhjb25zdCBjaGFyICoqcCwgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KQotewotCWluaXRfcGF0aHNwZWMoJm9wdC0+cGF0aHNwZWMsIHApOwotfQpkaWZmIC0tZ2l0IGEvdHJlZS13YWxrLmMgYi90cmVlLXdhbGsuYwppbmRleCBjNjI2MTM1Li43OWRiYTFkIDEwMDY0NAotLS0gYS90cmVlLXdhbGsuYworKysgYi90cmVlLXdhbGsuYwpAQCAtMyw2ICszLDcgQEAKICNpbmNsdWRlICJ1bnBhY2stdHJlZXMuaCIKICNpbmNsdWRlICJkaXIuaCIKICNpbmNsdWRlICJ0cmVlLmgiCisjaW5jbHVkZSAicGF0aHNwZWMuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgKmdldF9tb2RlKGNvbnN0IGNoYXIgKnN0ciwgdW5zaWduZWQgaW50ICptb2RlcCkKIHsKQEAgLTQ4NywxMyArNDg4LDI1IEBACiAJcmV0dXJuIHJldHZhbDsKIH0KIAotc3RhdGljIGludCBtYXRjaF9lbnRyeShjb25zdCBzdHJ1Y3QgbmFtZV9lbnRyeSAqZW50cnksIGludCBwYXRobGVuLAorc3RhdGljIGludCBtYXRjaF9lbnRyeShjb25zdCBzdHJ1Y3QgcGF0aHNwZWNfaXRlbSAqaXRlbSwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBuYW1lX2VudHJ5ICplbnRyeSwgaW50IHBhdGhsZW4sCiAJCSAgICAgICBjb25zdCBjaGFyICptYXRjaCwgaW50IG1hdGNobGVuLAogCQkgICAgICAgZW51bSBpbnRlcmVzdGluZyAqbmV2ZXJfaW50ZXJlc3RpbmcpCiB7CiAJaW50IG0gPSAtMTsgLyogc2lnbmFscyB0aGF0IHdlIGhhdmVuJ3QgY2FsbGVkIHN0cm5jbXAoKSAqLwogCi0JaWYgKCpuZXZlcl9pbnRlcmVzdGluZyAhPSBlbnRyeV9ub3RfaW50ZXJlc3RpbmcpIHsKKwlpZiAoaXRlbS0+bWFnaWMgJiBQQVRIU1BFQ19JQ0FTRSkKKwkJLyoKKwkJICogIk5ldmVyIGludGVyZXN0aW5nIiB0cmljayByZXF1aXJlcyBleGFjdAorCQkgKiBtYXRjaGluZy4gV2UgY291bGQgZG8gc29tZXRoaW5nIGNsZXZlciB3aXRoIGluZXhhY3QKKwkJICogbWF0Y2hpbmcsIGJ1dCBpdCdzIHRyaWNraWVyIChhbmQgbm90IHRvIGZvcmdldCB0aGF0CisJCSAqIHN0cmNhc2VjbXAgaXMgbG9jYWxlLWRlcGVuZGVudCwgYXQgbGVhc3QgaW4KKwkJICogZ2xpYmMpLiBKdXN0IGRpc2FibGUgaXQgZm9yIG5vdy4gSXQgY2FuJ3QgYmUgd29yc2UKKwkJICogdGhhbiB0aGUgd2lsZGNhcmQncyBjb2RlcGF0aCBvZiAnW1R0XVtIaV1bSXNdW1NzXScKKwkJICogcGF0dGVybi4KKwkJICovCisJCSpuZXZlcl9pbnRlcmVzdGluZyA9IGVudHJ5X25vdF9pbnRlcmVzdGluZzsKKwllbHNlIGlmICgqbmV2ZXJfaW50ZXJlc3RpbmcgIT0gZW50cnlfbm90X2ludGVyZXN0aW5nKSB7CiAJCS8qCiAJCSAqIFdlIGhhdmUgbm90IHNlZW4gYW55IG1hdGNoIHRoYXQgc29ydHMgbGF0ZXIKIAkJICogdGhhbiB0aGUgY3VycmVudCBwYXRoLgpAQCAtNTMwLDcgKzU0Myw3IEBACiAJaWYgKG1hdGNobGVuID4gcGF0aGxlbikgewogCQlpZiAobWF0Y2hbcGF0aGxlbl0gIT0gJy8nKQogCQkJcmV0dXJuIDA7Ci0JCWlmICghU19JU0RJUihlbnRyeS0+bW9kZSkpCisJCWlmICghU19JU0RJUihlbnRyeS0+bW9kZSkgJiYgIVNfSVNHSVRMSU5LKGVudHJ5LT5tb2RlKSkKIAkJCXJldHVybiAwOwogCX0KIApAQCAtNTM5LDcgKzU1Miw3IEBACiAJCSAqIHdlIGNoZWF0ZWQgYW5kIGRpZCBub3QgZG8gc3RybmNtcCgpLCBzbyB3ZSBkbwogCQkgKiB0aGF0IGhlcmUuCiAJCSAqLwotCQltID0gc3RybmNtcChtYXRjaCwgZW50cnktPnBhdGgsIHBhdGhsZW4pOworCQltID0gcHNfc3RybmNtcChpdGVtLCBtYXRjaCwgZW50cnktPnBhdGgsIHBhdGhsZW4pOwogCiAJLyoKIAkgKiBJZiBjb21tb24gcGFydCBtYXRjaGVkIGVhcmxpZXIgdGhlbiBpdCBpcyBhIGhpdCwKQEAgLTU0NywxNSArNTYwLDM5IEBACiAJICogbGVhZGluZyBkaXJlY3RvcnkgYW5kIGlzIHNob3J0ZXIgdGhhbiBtYXRjaC4KIAkgKi8KIAlpZiAoIW0pCisJCS8qCisJCSAqIG1hdGNoX2VudHJ5IGRvZXMgbm90IGNoZWNrIGlmIHRoZSBwcmVmaXggcGFydCBpcworCQkgKiBtYXRjaGVkIGNhc2Utc2Vuc2l0aXZlbHkuIElmIHRoZSBlbnRyeSBpcyBhCisJCSAqIGRpcmVjdG9yeSBhbmQgcGFydCBvZiBwcmVmaXgsIGl0J2xsIGJlIHJlbWF0Y2hlZAorCQkgKiBldmVudHVhbGx5IGJ5IGJhc2VjbXAgd2l0aCBzcGVjaWFsIHRyZWF0bWVudCBmb3IKKwkJICogdGhlIHByZWZpeC4KKwkJICovCiAJCXJldHVybiAxOwogCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgbWF0Y2hfZGlyX3ByZWZpeChjb25zdCBjaGFyICpiYXNlLAorLyogOihpY2FzZSktYXdhcmUgc3RyaW5nIGNvbXBhcmUgKi8KK3N0YXRpYyBpbnQgYmFzZWNtcChjb25zdCBzdHJ1Y3QgcGF0aHNwZWNfaXRlbSAqaXRlbSwKKwkJICAgY29uc3QgY2hhciAqYmFzZSwgY29uc3QgY2hhciAqbWF0Y2gsIGludCBsZW4pCit7CisJaWYgKGl0ZW0tPm1hZ2ljICYgUEFUSFNQRUNfSUNBU0UpIHsKKwkJaW50IHJldCwgbiA9IGxlbiA+IGl0ZW0tPnByZWZpeCA/IGl0ZW0tPnByZWZpeCA6IGxlbjsKKwkJcmV0ID0gc3RybmNtcChiYXNlLCBtYXRjaCwgbik7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCQliYXNlICs9IG47CisJCW1hdGNoICs9IG47CisJCWxlbiAtPSBuOworCX0KKwlyZXR1cm4gcHNfc3RybmNtcChpdGVtLCBiYXNlLCBtYXRjaCwgbGVuKTsKK30KKworc3RhdGljIGludCBtYXRjaF9kaXJfcHJlZml4KGNvbnN0IHN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtLAorCQkJICAgIGNvbnN0IGNoYXIgKmJhc2UsCiAJCQkgICAgY29uc3QgY2hhciAqbWF0Y2gsIGludCBtYXRjaGxlbikKIHsKLQlpZiAoc3RybmNtcChiYXNlLCBtYXRjaCwgbWF0Y2hsZW4pKQorCWlmIChiYXNlY21wKGl0ZW0sIGJhc2UsIG1hdGNoLCBtYXRjaGxlbikpCiAJCXJldHVybiAwOwogCiAJLyoKQEAgLTU5Miw3ICs2MjksNyBAQAogCQkgKi8KIAkJaWYgKGJhc2VsZW4gPj0gbWF0Y2hsZW4pIHsKIAkJCSptYXRjaGVkID0gbWF0Y2hsZW47Ci0JCQlyZXR1cm4gIXN0cm5jbXAoYmFzZSwgbWF0Y2gsIG1hdGNobGVuKTsKKwkJCXJldHVybiAhYmFzZWNtcChpdGVtLCBiYXNlLCBtYXRjaCwgbWF0Y2hsZW4pOwogCQl9CiAKIAkJZGlybGVuID0gbWF0Y2hsZW47CkBAIC02MDUsNyArNjQyLDcgQEAKIAkJICogYmFzZSBlbmRzIHdpdGggJy8nIHNvIHdlIGFyZSBzdXJlIGl0IHJlYWxseSBtYXRjaGVzCiAJCSAqIGRpcmVjdG9yeQogCQkgKi8KLQkJaWYgKHN0cm5jbXAoYmFzZSwgbWF0Y2gsIGJhc2VsZW4pKQorCQlpZiAoYmFzZWNtcChpdGVtLCBiYXNlLCBtYXRjaCwgYmFzZWxlbikpCiAJCQlyZXR1cm4gMDsKIAkJKm1hdGNoZWQgPSBiYXNlbGVuOwogCX0gZWxzZQpAQCAtNjI1LDE3ICs2NjIsMjggQEAKICAqIFByZS1jb25kaXRpb246IGVpdGhlciBiYXNlbGVuID09IGJhc2Vfb2Zmc2V0IChpLmUuIGVtcHR5IHBhdGgpCiAgKiBvciBiYXNlW2Jhc2VsZW4tMV0gPT0gJy8nIChpLmUuIHdpdGggdHJhaWxpbmcgc2xhc2gpLgogICovCi1lbnVtIGludGVyZXN0aW5nIHRyZWVfZW50cnlfaW50ZXJlc3RpbmcoY29uc3Qgc3RydWN0IG5hbWVfZW50cnkgKmVudHJ5LAotCQkJCQlzdHJ1Y3Qgc3RyYnVmICpiYXNlLCBpbnQgYmFzZV9vZmZzZXQsCi0JCQkJCWNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcHMpCitzdGF0aWMgZW51bSBpbnRlcmVzdGluZyBkb19tYXRjaChjb25zdCBzdHJ1Y3QgbmFtZV9lbnRyeSAqZW50cnksCisJCQkJIHN0cnVjdCBzdHJidWYgKmJhc2UsIGludCBiYXNlX29mZnNldCwKKwkJCQkgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwcywKKwkJCQkgaW50IGV4Y2x1ZGUpCiB7CiAJaW50IGk7CiAJaW50IHBhdGhsZW4sIGJhc2VsZW4gPSBiYXNlLT5sZW4gLSBiYXNlX29mZnNldDsKIAllbnVtIGludGVyZXN0aW5nIG5ldmVyX2ludGVyZXN0aW5nID0gcHMtPmhhc193aWxkY2FyZCA/CiAJCWVudHJ5X25vdF9pbnRlcmVzdGluZyA6IGFsbF9lbnRyaWVzX25vdF9pbnRlcmVzdGluZzsKIAorCUdVQVJEX1BBVEhTUEVDKHBzLAorCQkgICAgICAgUEFUSFNQRUNfRlJPTVRPUCB8CisJCSAgICAgICBQQVRIU1BFQ19NQVhERVBUSCB8CisJCSAgICAgICBQQVRIU1BFQ19MSVRFUkFMIHwKKwkJICAgICAgIFBBVEhTUEVDX0dMT0IgfAorCQkgICAgICAgUEFUSFNQRUNfSUNBU0UgfAorCQkgICAgICAgUEFUSFNQRUNfRVhDTFVERSk7CisKIAlpZiAoIXBzLT5ucikgewotCQlpZiAoIXBzLT5yZWN1cnNpdmUgfHwgcHMtPm1heF9kZXB0aCA9PSAtMSkKKwkJaWYgKCFwcy0+cmVjdXJzaXZlIHx8CisJCSAgICAhKHBzLT5tYWdpYyAmIFBBVEhTUEVDX01BWERFUFRIKSB8fAorCQkgICAgcHMtPm1heF9kZXB0aCA9PSAtMSkKIAkJCXJldHVybiBhbGxfZW50cmllc19pbnRlcmVzdGluZzsKIAkJcmV0dXJuIHdpdGhpbl9kZXB0aChiYXNlLT5idWYgKyBiYXNlX29mZnNldCwgYmFzZWxlbiwKIAkJCQkgICAgISFTX0lTRElSKGVudHJ5LT5tb2RlKSwKQEAgLTY1MSwxMiArNjk5LDE4IEBACiAJCWNvbnN0IGNoYXIgKmJhc2Vfc3RyID0gYmFzZS0+YnVmICsgYmFzZV9vZmZzZXQ7CiAJCWludCBtYXRjaGxlbiA9IGl0ZW0tPmxlbiwgbWF0Y2hlZCA9IDA7CiAKKwkJaWYgKCghZXhjbHVkZSAmJiAgIGl0ZW0tPm1hZ2ljICYgUEFUSFNQRUNfRVhDTFVERSkgfHwKKwkJICAgICggZXhjbHVkZSAmJiAhKGl0ZW0tPm1hZ2ljICYgUEFUSFNQRUNfRVhDTFVERSkpKQorCQkJY29udGludWU7CisKIAkJaWYgKGJhc2VsZW4gPj0gbWF0Y2hsZW4pIHsKIAkJCS8qIElmIGl0IGRvZXNuJ3QgbWF0Y2gsIG1vdmUgYWxvbmcuLi4gKi8KLQkJCWlmICghbWF0Y2hfZGlyX3ByZWZpeChiYXNlX3N0ciwgbWF0Y2gsIG1hdGNobGVuKSkKKwkJCWlmICghbWF0Y2hfZGlyX3ByZWZpeChpdGVtLCBiYXNlX3N0ciwgbWF0Y2gsIG1hdGNobGVuKSkKIAkJCQlnb3RvIG1hdGNoX3dpbGRjYXJkczsKIAotCQkJaWYgKCFwcy0+cmVjdXJzaXZlIHx8IHBzLT5tYXhfZGVwdGggPT0gLTEpCisJCQlpZiAoIXBzLT5yZWN1cnNpdmUgfHwKKwkJCSAgICAhKHBzLT5tYWdpYyAmIFBBVEhTUEVDX01BWERFUFRIKSB8fAorCQkJICAgIHBzLT5tYXhfZGVwdGggPT0gLTEpCiAJCQkJcmV0dXJuIGFsbF9lbnRyaWVzX2ludGVyZXN0aW5nOwogCiAJCQlyZXR1cm4gd2l0aGluX2RlcHRoKGJhc2Vfc3RyICsgbWF0Y2hsZW4gKyAxLApAQCAtNjY3LDE1ICs3MjEsMTQgQEAKIAkJfQogCiAJCS8qIEVpdGhlciB0aGVyZSBtdXN0IGJlIG5vIGJhc2UsIG9yIHRoZSBiYXNlIG11c3QgbWF0Y2guICovCi0JCWlmIChiYXNlbGVuID09IDAgfHwgIXN0cm5jbXAoYmFzZV9zdHIsIG1hdGNoLCBiYXNlbGVuKSkgewotCQkJaWYgKG1hdGNoX2VudHJ5KGVudHJ5LCBwYXRobGVuLAorCQlpZiAoYmFzZWxlbiA9PSAwIHx8ICFiYXNlY21wKGl0ZW0sIGJhc2Vfc3RyLCBtYXRjaCwgYmFzZWxlbikpIHsKKwkJCWlmIChtYXRjaF9lbnRyeShpdGVtLCBlbnRyeSwgcGF0aGxlbiwKIAkJCQkJbWF0Y2ggKyBiYXNlbGVuLCBtYXRjaGxlbiAtIGJhc2VsZW4sCiAJCQkJCSZuZXZlcl9pbnRlcmVzdGluZykpCiAJCQkJcmV0dXJuIGVudHJ5X2ludGVyZXN0aW5nOwogCiAJCQlpZiAoaXRlbS0+bm93aWxkY2FyZF9sZW4gPCBpdGVtLT5sZW4pIHsKLQkJCQlpZiAoIWdpdF9mbm1hdGNoKG1hdGNoICsgYmFzZWxlbiwgZW50cnktPnBhdGgsCi0JCQkJCQkgaXRlbS0+ZmxhZ3MgJiBQQVRIU1BFQ19PTkVTVEFSID8gR0ZOTV9PTkVTVEFSIDogMCwKKwkJCQlpZiAoIWdpdF9mbm1hdGNoKGl0ZW0sIG1hdGNoICsgYmFzZWxlbiwgZW50cnktPnBhdGgsCiAJCQkJCQkgaXRlbS0+bm93aWxkY2FyZF9sZW4gLSBiYXNlbGVuKSkKIAkJCQkJcmV0dXJuIGVudHJ5X2ludGVyZXN0aW5nOwogCkBAIC02OTYsNyArNzQ5LDcgQEAKIAogCQlpZiAoaXRlbS0+bm93aWxkY2FyZF9sZW4gJiYKIAkJICAgICFtYXRjaF93aWxkY2FyZF9iYXNlKGl0ZW0sIGJhc2Vfc3RyLCBiYXNlbGVuLCAmbWF0Y2hlZCkpCi0JCQlyZXR1cm4gZW50cnlfbm90X2ludGVyZXN0aW5nOworCQkJY29udGludWU7CiAKIAkJLyoKIAkJICogQ29uY2F0ZW5hdGUgYmFzZSBhbmQgZW50cnktPnBhdGggaW50byBvbmUgYW5kIGRvCkBAIC03MTYsOCArNzY5LDcgQEAKIAogCQlzdHJidWZfYWRkKGJhc2UsIGVudHJ5LT5wYXRoLCBwYXRobGVuKTsKIAotCQlpZiAoIWdpdF9mbm1hdGNoKG1hdGNoLCBiYXNlLT5idWYgKyBiYXNlX29mZnNldCwKLQkJCQkgaXRlbS0+ZmxhZ3MgJiBQQVRIU1BFQ19PTkVTVEFSID8gR0ZOTV9PTkVTVEFSIDogMCwKKwkJaWYgKCFnaXRfZm5tYXRjaChpdGVtLCBtYXRjaCwgYmFzZS0+YnVmICsgYmFzZV9vZmZzZXQsCiAJCQkJIGl0ZW0tPm5vd2lsZGNhcmRfbGVuKSkgewogCQkJc3RyYnVmX3NldGxlbihiYXNlLCBiYXNlX29mZnNldCArIGJhc2VsZW4pOwogCQkJcmV0dXJuIGVudHJ5X2ludGVyZXN0aW5nOwpAQCAtNzM2LDMgKzc4OCw3MiBAQAogCX0KIAlyZXR1cm4gbmV2ZXJfaW50ZXJlc3Rpbmc7IC8qIE5vIG1hdGNoZXMgKi8KIH0KKworLyoKKyAqIElzIGEgdHJlZSBlbnRyeSBpbnRlcmVzdGluZyBnaXZlbiB0aGUgcGF0aHNwZWMgd2UgaGF2ZT8KKyAqCisgKiBQcmUtY29uZGl0aW9uOiBlaXRoZXIgYmFzZWxlbiA9PSBiYXNlX29mZnNldCAoaS5lLiBlbXB0eSBwYXRoKQorICogb3IgYmFzZVtiYXNlbGVuLTFdID09ICcvJyAoaS5lLiB3aXRoIHRyYWlsaW5nIHNsYXNoKS4KKyAqLworZW51bSBpbnRlcmVzdGluZyB0cmVlX2VudHJ5X2ludGVyZXN0aW5nKGNvbnN0IHN0cnVjdCBuYW1lX2VudHJ5ICplbnRyeSwKKwkJCQkJc3RydWN0IHN0cmJ1ZiAqYmFzZSwgaW50IGJhc2Vfb2Zmc2V0LAorCQkJCQljb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBzKQoreworCWVudW0gaW50ZXJlc3RpbmcgcG9zaXRpdmUsIG5lZ2F0aXZlOworCXBvc2l0aXZlID0gZG9fbWF0Y2goZW50cnksIGJhc2UsIGJhc2Vfb2Zmc2V0LCBwcywgMCk7CisKKwkvKgorCSAqIGNhc2UgfCBlbnRyeSB8IHBvc2l0aXZlIHwgbmVnYXRpdmUgfCByZXN1bHQKKwkgKiAtLS0tLSstLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tCisJICogICAxICB8ICBmaWxlIHwgICAtMSAgICAgfCAgLTEuLjIgICB8ICAtMQorCSAqICAgMiAgfCAgZmlsZSB8ICAgIDAgICAgIHwgIC0xLi4yICAgfCAgIDAKKwkgKiAgIDMgIHwgIGZpbGUgfCAgICAxICAgICB8ICAgLTEgICAgIHwgICAxCisJICogICA0ICB8ICBmaWxlIHwgICAgMSAgICAgfCAgICAwICAgICB8ICAgMQorCSAqICAgNSAgfCAgZmlsZSB8ICAgIDEgICAgIHwgICAgMSAgICAgfCAgIDAKKwkgKiAgIDYgIHwgIGZpbGUgfCAgICAxICAgICB8ICAgIDIgICAgIHwgICAwCisJICogICA3ICB8ICBmaWxlIHwgICAgMiAgICAgfCAgIC0xICAgICB8ICAgMgorCSAqICAgOCAgfCAgZmlsZSB8ICAgIDIgICAgIHwgICAgMCAgICAgfCAgIDIKKwkgKiAgIDkgIHwgIGZpbGUgfCAgICAyICAgICB8ICAgIDEgICAgIHwgICAwCisJICogIDEwICB8ICBmaWxlIHwgICAgMiAgICAgfCAgICAyICAgICB8ICAtMQorCSAqIC0tLS0tKy0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0KKwkgKiAgMTEgIHwgIGRpciAgfCAgIC0xICAgICB8ICAtMS4uMiAgIHwgIC0xCisJICogIDEyICB8ICBkaXIgIHwgICAgMCAgICAgfCAgLTEuLjIgICB8ICAgMAorCSAqICAxMyAgfCAgZGlyICB8ICAgIDEgICAgIHwgICAtMSAgICAgfCAgIDEKKwkgKiAgMTQgIHwgIGRpciAgfCAgICAxICAgICB8ICAgIDAgICAgIHwgICAxCisJICogIDE1ICB8ICBkaXIgIHwgICAgMSAgICAgfCAgICAxICAgICB8ICAgMSAoKikKKwkgKiAgMTYgIHwgIGRpciAgfCAgICAxICAgICB8ICAgIDIgICAgIHwgICAwCisJICogIDE3ICB8ICBkaXIgIHwgICAgMiAgICAgfCAgIC0xICAgICB8ICAgMgorCSAqICAxOCAgfCAgZGlyICB8ICAgIDIgICAgIHwgICAgMCAgICAgfCAgIDIKKwkgKiAgMTkgIHwgIGRpciAgfCAgICAyICAgICB8ICAgIDEgICAgIHwgICAxICgqKQorCSAqICAyMCAgfCAgZGlyICB8ICAgIDIgICAgIHwgICAgMiAgICAgfCAgLTEKKwkgKgorCSAqICgqKSBBbiBleGNsdWRlIHBhdHRlcm4gaW50ZXJlc3RlZCBpbiBhIGRpcmVjdG9yeSBkb2VzIG5vdAorCSAqIG5lY2Vzc2FyaWx5IG1lYW4gaXQgd2lsbCBleGNsdWRlIGFsbCBvZiB0aGUgZGlyZWN0b3J5LiBJbgorCSAqIHdpbGRjYXJkIGNhc2UsIGl0IGNhbid0IGRlY2lkZSB1bnRpbCBsb29raW5nIGF0IGluZGl2aWR1YWwKKwkgKiBmaWxlcyBpbnNpZGUuIFNvIGRvbid0IHdyaXRlIHN1Y2ggZGlyZWN0b3JpZXMgb2ZmIHlldC4KKwkgKi8KKworCWlmICghKHBzLT5tYWdpYyAmIFBBVEhTUEVDX0VYQ0xVREUpIHx8CisJICAgIHBvc2l0aXZlIDw9IGVudHJ5X25vdF9pbnRlcmVzdGluZykgLyogIzEsICMyLCAjMTEsICMxMiAqLworCQlyZXR1cm4gcG9zaXRpdmU7CisKKwluZWdhdGl2ZSA9IGRvX21hdGNoKGVudHJ5LCBiYXNlLCBiYXNlX29mZnNldCwgcHMsIDEpOworCisJLyogIzMsICM0LCAjNywgIzgsICMxMywgIzE0LCAjMTcsICMxOCAqLworCWlmIChuZWdhdGl2ZSA8PSBlbnRyeV9ub3RfaW50ZXJlc3RpbmcpCisJCXJldHVybiBwb3NpdGl2ZTsKKworCS8qICMxNSwgIzE5ICovCisJaWYgKFNfSVNESVIoZW50cnktPm1vZGUpICYmCisJICAgIHBvc2l0aXZlID49IGVudHJ5X2ludGVyZXN0aW5nICYmCisJICAgIG5lZ2F0aXZlID09IGVudHJ5X2ludGVyZXN0aW5nKQorCQlyZXR1cm4gZW50cnlfaW50ZXJlc3Rpbmc7CisKKwlpZiAoKHBvc2l0aXZlID09IGVudHJ5X2ludGVyZXN0aW5nICYmCisJICAgICBuZWdhdGl2ZSA+PSBlbnRyeV9pbnRlcmVzdGluZykgfHwgLyogIzUsICM2LCAjMTYgKi8KKwkgICAgKHBvc2l0aXZlID09IGFsbF9lbnRyaWVzX2ludGVyZXN0aW5nICYmCisJICAgICBuZWdhdGl2ZSA9PSBlbnRyeV9pbnRlcmVzdGluZykpIC8qICM5ICovCisJCXJldHVybiBlbnRyeV9ub3RfaW50ZXJlc3Rpbmc7CisKKwlyZXR1cm4gYWxsX2VudHJpZXNfbm90X2ludGVyZXN0aW5nOyAvKiAjMTAsICMyMCAqLworfQpkaWZmIC0tZ2l0IGEvdHJlZS5jIGIvdHJlZS5jCmluZGV4IGMwZTU2OGMuLmM4YzQ5ZDcgMTAwNjQ0Ci0tLSBhL3RyZWUuYworKysgYi90cmVlLmMKQEAgLTQ3LDcgKzQ3LDcgQEAKIH0KIAogc3RhdGljIGludCByZWFkX3RyZWVfMShzdHJ1Y3QgdHJlZSAqdHJlZSwgc3RydWN0IHN0cmJ1ZiAqYmFzZSwKLQkJICAgICAgIGludCBzdGFnZSwgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJICAgICAgIGludCBzdGFnZSwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKIAkJICAgICAgIHJlYWRfdHJlZV9mbl90IGZuLCB2b2lkICpjb250ZXh0KQogewogCXN0cnVjdCB0cmVlX2Rlc2MgZGVzYzsKQEAgLTExNiw3ICsxMTYsNyBAQAogCiBpbnQgcmVhZF90cmVlX3JlY3Vyc2l2ZShzdHJ1Y3QgdHJlZSAqdHJlZSwKIAkJCWNvbnN0IGNoYXIgKmJhc2UsIGludCBiYXNlbGVuLAotCQkJaW50IHN0YWdlLCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAorCQkJaW50IHN0YWdlLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAogCQkJcmVhZF90cmVlX2ZuX3QgZm4sIHZvaWQgKmNvbnRleHQpCiB7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwpAQCAtMjI1LDYgKzIyNSwxNCBAQAogCXJldHVybiBwYXJzZV90cmVlX2J1ZmZlcihpdGVtLCBidWZmZXIsIHNpemUpOwogfQogCit2b2lkIGZyZWVfdHJlZV9idWZmZXIoc3RydWN0IHRyZWUgKnRyZWUpCit7CisJZnJlZSh0cmVlLT5idWZmZXIpOworCXRyZWUtPmJ1ZmZlciA9IE5VTEw7CisJdHJlZS0+c2l6ZSA9IDA7CisJdHJlZS0+b2JqZWN0LnBhcnNlZCA9IDA7Cit9CisKIHN0cnVjdCB0cmVlICpwYXJzZV90cmVlX2luZGlyZWN0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCiB7CiAJc3RydWN0IG9iamVjdCAqb2JqID0gcGFyc2Vfb2JqZWN0KHNoYTEpOwpkaWZmIC0tZ2l0IGEvdHJlZS5oIGIvdHJlZS5oCmluZGV4IDY5YmNiNWUuLmQ4NGFjNjMgMTAwNjQ0Ci0tLSBhL3RyZWUuaAorKysgYi90cmVlLmgKQEAgLTE2LDYgKzE2LDcgQEAKIGludCBwYXJzZV90cmVlX2J1ZmZlcihzdHJ1Y3QgdHJlZSAqaXRlbSwgdm9pZCAqYnVmZmVyLCB1bnNpZ25lZCBsb25nIHNpemUpOwogCiBpbnQgcGFyc2VfdHJlZShzdHJ1Y3QgdHJlZSAqdHJlZSk7Cit2b2lkIGZyZWVfdHJlZV9idWZmZXIoc3RydWN0IHRyZWUgKnRyZWUpOwogCiAvKiBQYXJzZXMgYW5kIHJldHVybnMgdGhlIHRyZWUgaW4gdGhlIGdpdmVuIGVudCwgY2hhc2luZyB0YWdzIGFuZCBjb21taXRzLiAqLwogc3RydWN0IHRyZWUgKnBhcnNlX3RyZWVfaW5kaXJlY3QoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7CkBAIC0yNSw3ICsyNiw3IEBACiAKIGV4dGVybiBpbnQgcmVhZF90cmVlX3JlY3Vyc2l2ZShzdHJ1Y3QgdHJlZSAqdHJlZSwKIAkJCSAgICAgICBjb25zdCBjaGFyICpiYXNlLCBpbnQgYmFzZWxlbiwKLQkJCSAgICAgICBpbnQgc3RhZ2UsIHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCisJCQkgICAgICAgaW50IHN0YWdlLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAogCQkJICAgICAgIHJlYWRfdHJlZV9mbl90IGZuLCB2b2lkICpjb250ZXh0KTsKIAogZXh0ZXJuIGludCByZWFkX3RyZWUoc3RydWN0IHRyZWUgKnRyZWUsIGludCBzdGFnZSwgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYyk7CmRpZmYgLS1naXQgYS91bnBhY2stdHJlZXMuYyBiL3VucGFjay10cmVlcy5jCmluZGV4IGJmMDE3MTcuLjE2NDM1NGQgMTAwNjQ0Ci0tLSBhL3VucGFjay10cmVlcy5jCisrKyBiL3VucGFjay10cmVlcy5jCkBAIC04MzAsMjMgKzgzMCwyNCBAQAogfQogCiBzdGF0aWMgaW50IGNsZWFyX2NlX2ZsYWdzXzEoc3RydWN0IGNhY2hlX2VudHJ5ICoqY2FjaGUsIGludCBuciwKLQkJCSAgICBjaGFyICpwcmVmaXgsIGludCBwcmVmaXhfbGVuLAorCQkJICAgIHN0cnVjdCBzdHJidWYgKnByZWZpeCwKIAkJCSAgICBpbnQgc2VsZWN0X21hc2ssIGludCBjbGVhcl9tYXNrLAogCQkJICAgIHN0cnVjdCBleGNsdWRlX2xpc3QgKmVsLCBpbnQgZGVmdmFsKTsKIAogLyogV2hvbGUgZGlyZWN0b3J5IG1hdGNoaW5nICovCiBzdGF0aWMgaW50IGNsZWFyX2NlX2ZsYWdzX2RpcihzdHJ1Y3QgY2FjaGVfZW50cnkgKipjYWNoZSwgaW50IG5yLAotCQkJICAgICAgY2hhciAqcHJlZml4LCBpbnQgcHJlZml4X2xlbiwKKwkJCSAgICAgIHN0cnVjdCBzdHJidWYgKnByZWZpeCwKIAkJCSAgICAgIGNoYXIgKmJhc2VuYW1lLAogCQkJICAgICAgaW50IHNlbGVjdF9tYXNrLCBpbnQgY2xlYXJfbWFzaywKIAkJCSAgICAgIHN0cnVjdCBleGNsdWRlX2xpc3QgKmVsLCBpbnQgZGVmdmFsKQogewogCXN0cnVjdCBjYWNoZV9lbnRyeSAqKmNhY2hlX2VuZDsKIAlpbnQgZHR5cGUgPSBEVF9ESVI7Ci0JaW50IHJldCA9IGlzX2V4Y2x1ZGVkX2Zyb21fbGlzdChwcmVmaXgsIHByZWZpeF9sZW4sCisJaW50IHJldCA9IGlzX2V4Y2x1ZGVkX2Zyb21fbGlzdChwcmVmaXgtPmJ1ZiwgcHJlZml4LT5sZW4sCiAJCQkJCWJhc2VuYW1lLCAmZHR5cGUsIGVsKTsKKwlpbnQgcmM7CiAKLQlwcmVmaXhbcHJlZml4X2xlbisrXSA9ICcvJzsKKwlzdHJidWZfYWRkY2gocHJlZml4LCAnLycpOwogCiAJLyogSWYgdW5kZWNpZGVkLCB1c2UgbWF0Y2hpbmcgcmVzdWx0IG9mIHBhcmVudCBkaXIgaW4gZGVmdmFsICovCiAJaWYgKHJldCA8IDApCkBAIC04NTQsNyArODU1LDcgQEAKIAogCWZvciAoY2FjaGVfZW5kID0gY2FjaGU7IGNhY2hlX2VuZCAhPSBjYWNoZSArIG5yOyBjYWNoZV9lbmQrKykgewogCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gKmNhY2hlX2VuZDsKLQkJaWYgKHN0cm5jbXAoY2UtPm5hbWUsIHByZWZpeCwgcHJlZml4X2xlbikpCisJCWlmIChzdHJuY21wKGNlLT5uYW1lLCBwcmVmaXgtPmJ1ZiwgcHJlZml4LT5sZW4pKQogCQkJYnJlYWs7CiAJfQogCkBAIC04NjUsMTAgKzg2NiwxMiBAQAogCSAqIGNhbGxpbmcgY2xlYXJfY2VfZmxhZ3NfMSgpLiBUaGF0IGZ1bmN0aW9uIHdpbGwgY2FsbAogCSAqIHRoZSBleHBlbnNpdmUgaXNfZXhjbHVkZWRfZnJvbV9saXN0KCkgb24gZXZlcnkgZW50cnkuCiAJICovCi0JcmV0dXJuIGNsZWFyX2NlX2ZsYWdzXzEoY2FjaGUsIGNhY2hlX2VuZCAtIGNhY2hlLAotCQkJCXByZWZpeCwgcHJlZml4X2xlbiwKLQkJCQlzZWxlY3RfbWFzaywgY2xlYXJfbWFzaywKLQkJCQllbCwgcmV0KTsKKwlyYyA9IGNsZWFyX2NlX2ZsYWdzXzEoY2FjaGUsIGNhY2hlX2VuZCAtIGNhY2hlLAorCQkJICAgICAgcHJlZml4LAorCQkJICAgICAgc2VsZWN0X21hc2ssIGNsZWFyX21hc2ssCisJCQkgICAgICBlbCwgcmV0KTsKKwlzdHJidWZfc2V0bGVuKHByZWZpeCwgcHJlZml4LT5sZW4gLSAxKTsKKwlyZXR1cm4gcmM7CiB9CiAKIC8qCkBAIC04ODcsNyArODkwLDcgQEAKICAqIFRvcCBsZXZlbCBwYXRoIGhhcyBwcmVmaXhfbGVuIHplcm8uCiAgKi8KIHN0YXRpYyBpbnQgY2xlYXJfY2VfZmxhZ3NfMShzdHJ1Y3QgY2FjaGVfZW50cnkgKipjYWNoZSwgaW50IG5yLAotCQkJICAgIGNoYXIgKnByZWZpeCwgaW50IHByZWZpeF9sZW4sCisJCQkgICAgc3RydWN0IHN0cmJ1ZiAqcHJlZml4LAogCQkJICAgIGludCBzZWxlY3RfbWFzaywgaW50IGNsZWFyX21hc2ssCiAJCQkgICAgc3RydWN0IGV4Y2x1ZGVfbGlzdCAqZWwsIGludCBkZWZ2YWwpCiB7CkBAIC05MDcsMTAgKzkxMCwxMCBAQAogCQkJY29udGludWU7CiAJCX0KIAotCQlpZiAocHJlZml4X2xlbiAmJiBzdHJuY21wKGNlLT5uYW1lLCBwcmVmaXgsIHByZWZpeF9sZW4pKQorCQlpZiAocHJlZml4LT5sZW4gJiYgc3RybmNtcChjZS0+bmFtZSwgcHJlZml4LT5idWYsIHByZWZpeC0+bGVuKSkKIAkJCWJyZWFrOwogCi0JCW5hbWUgPSBjZS0+bmFtZSArIHByZWZpeF9sZW47CisJCW5hbWUgPSBjZS0+bmFtZSArIHByZWZpeC0+bGVuOwogCQlzbGFzaCA9IHN0cmNocihuYW1lLCAnLycpOwogCiAJCS8qIElmIGl0J3MgYSBkaXJlY3RvcnksIHRyeSB3aG9sZSBkaXJlY3RvcnkgbWF0Y2ggZmlyc3QgKi8KQEAgLTkxOCwyOSArOTIxLDI2IEBACiAJCQlpbnQgcHJvY2Vzc2VkOwogCiAJCQlsZW4gPSBzbGFzaCAtIG5hbWU7Ci0JCQltZW1jcHkocHJlZml4ICsgcHJlZml4X2xlbiwgbmFtZSwgbGVuKTsKKwkJCXN0cmJ1Zl9hZGQocHJlZml4LCBuYW1lLCBsZW4pOwogCi0JCQkvKgotCQkJICogdGVybWluYXRlIHRoZSBzdHJpbmcgKG5vIHRyYWlsaW5nIHNsYXNoKSwKLQkJCSAqIGNsZWFyX2NfZl9kaXIgbmVlZHMgaXQKLQkJCSAqLwotCQkJcHJlZml4W3ByZWZpeF9sZW4gKyBsZW5dID0gJ1wwJzsKIAkJCXByb2Nlc3NlZCA9IGNsZWFyX2NlX2ZsYWdzX2RpcihjYWNoZSwgY2FjaGVfZW5kIC0gY2FjaGUsCi0JCQkJCQkgICAgICAgcHJlZml4LCBwcmVmaXhfbGVuICsgbGVuLAotCQkJCQkJICAgICAgIHByZWZpeCArIHByZWZpeF9sZW4sCisJCQkJCQkgICAgICAgcHJlZml4LAorCQkJCQkJICAgICAgIHByZWZpeC0+YnVmICsgcHJlZml4LT5sZW4gLSBsZW4sCiAJCQkJCQkgICAgICAgc2VsZWN0X21hc2ssIGNsZWFyX21hc2ssCiAJCQkJCQkgICAgICAgZWwsIGRlZnZhbCk7CiAKIAkJCS8qIGNsZWFyX2NfZl9kaXIgZWF0cyBhIHdob2xlIGRpciBhbHJlYWR5PyAqLwogCQkJaWYgKHByb2Nlc3NlZCkgewogCQkJCWNhY2hlICs9IHByb2Nlc3NlZDsKKwkJCQlzdHJidWZfc2V0bGVuKHByZWZpeCwgcHJlZml4LT5sZW4gLSBsZW4pOwogCQkJCWNvbnRpbnVlOwogCQkJfQogCi0JCQlwcmVmaXhbcHJlZml4X2xlbiArIGxlbisrXSA9ICcvJzsKKwkJCXN0cmJ1Zl9hZGRjaChwcmVmaXgsICcvJyk7CiAJCQljYWNoZSArPSBjbGVhcl9jZV9mbGFnc18xKGNhY2hlLCBjYWNoZV9lbmQgLSBjYWNoZSwKLQkJCQkJCSAgcHJlZml4LCBwcmVmaXhfbGVuICsgbGVuLAorCQkJCQkJICBwcmVmaXgsCiAJCQkJCQkgIHNlbGVjdF9tYXNrLCBjbGVhcl9tYXNrLCBlbCwgZGVmdmFsKTsKKwkJCXN0cmJ1Zl9zZXRsZW4ocHJlZml4LCBwcmVmaXgtPmxlbiAtIGxlbiAtIDEpOwogCQkJY29udGludWU7CiAJCX0KIApAQCAtOTYxLDkgKzk2MSwxMiBAQAogCQkJICAgIGludCBzZWxlY3RfbWFzaywgaW50IGNsZWFyX21hc2ssCiAJCQkgICAgc3RydWN0IGV4Y2x1ZGVfbGlzdCAqZWwpCiB7Ci0JY2hhciBwcmVmaXhbUEFUSF9NQVhdOworCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIHByZWZpeCA9IFNUUkJVRl9JTklUOworCisJc3RyYnVmX3Jlc2V0KCZwcmVmaXgpOworCiAJcmV0dXJuIGNsZWFyX2NlX2ZsYWdzXzEoY2FjaGUsIG5yLAotCQkJCXByZWZpeCwgMCwKKwkJCQkmcHJlZml4LAogCQkJCXNlbGVjdF9tYXNrLCBjbGVhcl9tYXNrLAogCQkJCWVsLCAwKTsKIH0KQEAgLTExNTQsOCArMTE1NywxMCBAQAogCiAJby0+c3JjX2luZGV4ID0gTlVMTDsKIAlyZXQgPSBjaGVja191cGRhdGVzKG8pID8gKC0yKSA6IDA7Ci0JaWYgKG8tPmRzdF9pbmRleCkKKwlpZiAoby0+ZHN0X2luZGV4KSB7CisJCWRpc2NhcmRfaW5kZXgoby0+ZHN0X2luZGV4KTsKIAkJKm8tPmRzdF9pbmRleCA9IG8tPnJlc3VsdDsKKwl9CiAKIGRvbmU6CiAJY2xlYXJfZXhjbHVkZV9saXN0KCZlbCk7CkBAIC0xMzU1LDcgKzEzNjAsNyBAQAogewogCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqc3JjOwogCi0Jc3JjID0gaW5kZXhfbmFtZV9leGlzdHMoby0+c3JjX2luZGV4LCBuYW1lLCBsZW4sIDEpOworCXNyYyA9IGluZGV4X2ZpbGVfZXhpc3RzKG8tPnNyY19pbmRleCwgbmFtZSwgbGVuLCAxKTsKIAlyZXR1cm4gc3JjICYmICFpZV9tYXRjaF9zdGF0KG8tPnNyY19pbmRleCwgc3JjLCBzdCwgQ0VfTUFUQ0hfSUdOT1JFX1ZBTElEfENFX01BVENIX0lHTk9SRV9TS0lQX1dPUktUUkVFKTsKIH0KIApAQCAtMTQwMSw3ICsxNDA2LDcgQEAKIAkgKiBkZWxldGUgdGhpcyBwYXRoLCB3aGljaCBpcyBpbiBhIHN1YmRpcmVjdG9yeSB0aGF0CiAJICogaXMgYmVpbmcgcmVwbGFjZWQgd2l0aCBhIGJsb2IuCiAJICovCi0JcmVzdWx0ID0gaW5kZXhfbmFtZV9leGlzdHMoJm8tPnJlc3VsdCwgbmFtZSwgbGVuLCAwKTsKKwlyZXN1bHQgPSBpbmRleF9maWxlX2V4aXN0cygmby0+cmVzdWx0LCBuYW1lLCBsZW4sIDApOwogCWlmIChyZXN1bHQpIHsKIAkJaWYgKHJlc3VsdC0+Y2VfZmxhZ3MgJiBDRV9SRU1PVkUpCiAJCQlyZXR1cm4gMDsKQEAgLTE3NjEsMTQgKzE3NjYsMjMgQEAKIAkJbmV3dHJlZSA9IE5VTEw7CiAKIAlpZiAoY3VycmVudCkgewotCQlpZiAoKCFvbGR0cmVlICYmICFuZXd0cmVlKSB8fCAvKiA0IGFuZCA1ICovCi0JCSAgICAoIW9sZHRyZWUgJiYgbmV3dHJlZSAmJgotCQkgICAgIHNhbWUoY3VycmVudCwgbmV3dHJlZSkpIHx8IC8qIDYgYW5kIDcgKi8KLQkJICAgIChvbGR0cmVlICYmIG5ld3RyZWUgJiYKLQkJICAgICBzYW1lKG9sZHRyZWUsIG5ld3RyZWUpKSB8fCAvKiAxNCBhbmQgMTUgKi8KLQkJICAgIChvbGR0cmVlICYmIG5ld3RyZWUgJiYKLQkJICAgICAhc2FtZShvbGR0cmVlLCBuZXd0cmVlKSAmJiAvKiAxOCBhbmQgMTkgKi8KLQkJICAgICBzYW1lKGN1cnJlbnQsIG5ld3RyZWUpKSkgeworCQlpZiAoY3VycmVudC0+Y2VfZmxhZ3MgJiBDRV9DT05GTElDVEVEKSB7CisJCQlpZiAoc2FtZShvbGR0cmVlLCBuZXd0cmVlKSB8fCBvLT5yZXNldCkgeworCQkJCWlmICghbmV3dHJlZSkKKwkJCQkJcmV0dXJuIGRlbGV0ZWRfZW50cnkoY3VycmVudCwgY3VycmVudCwgbyk7CisJCQkJZWxzZQorCQkJCQlyZXR1cm4gbWVyZ2VkX2VudHJ5KG5ld3RyZWUsIGN1cnJlbnQsIG8pOworCQkJfQorCQkJcmV0dXJuIG8tPmdlbnRseSA/IC0xIDogcmVqZWN0X21lcmdlKGN1cnJlbnQsIG8pOworCQl9CisJCWVsc2UgaWYgKCghb2xkdHJlZSAmJiAhbmV3dHJlZSkgfHwgLyogNCBhbmQgNSAqLworCQkJICghb2xkdHJlZSAmJiBuZXd0cmVlICYmCisJCQkgIHNhbWUoY3VycmVudCwgbmV3dHJlZSkpIHx8IC8qIDYgYW5kIDcgKi8KKwkJCSAob2xkdHJlZSAmJiBuZXd0cmVlICYmCisJCQkgIHNhbWUob2xkdHJlZSwgbmV3dHJlZSkpIHx8IC8qIDE0IGFuZCAxNSAqLworCQkJIChvbGR0cmVlICYmIG5ld3RyZWUgJiYKKwkJCSAgIXNhbWUob2xkdHJlZSwgbmV3dHJlZSkgJiYgLyogMTggYW5kIDE5ICovCisJCQkgIHNhbWUoY3VycmVudCwgbmV3dHJlZSkpKSB7CiAJCQlyZXR1cm4ga2VlcF9lbnRyeShjdXJyZW50LCBvKTsKIAkJfQogCQllbHNlIGlmIChvbGR0cmVlICYmICFuZXd0cmVlICYmIHNhbWUoY3VycmVudCwgb2xkdHJlZSkpIHsKZGlmZiAtLWdpdCBhL3VwbG9hZC1wYWNrLmMgYi91cGxvYWQtcGFjay5jCmluZGV4IGEwMjBkMzAuLjBjNDRmNmIgMTAwNjQ0Ci0tLSBhL3VwbG9hZC1wYWNrLmMKKysrIGIvdXBsb2FkLXBhY2suYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgInJldmlzaW9uLmgiCiAjaW5jbHVkZSAibGlzdC1vYmplY3RzLmgiCiAjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKKyNpbmNsdWRlICJjb25uZWN0LmgiCiAjaW5jbHVkZSAic2lnY2hhaW4uaCIKICNpbmNsdWRlICJ2ZXJzaW9uLmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKQEAgLTgzLDcgKzg0LDcgQEAKIAljaGFyICpzaGFsbG93X2ZpbGUgPSBOVUxMOwogCiAJaWYgKHNoYWxsb3dfbnIpIHsKLQkJc2hhbGxvd19maWxlID0gc2V0dXBfdGVtcG9yYXJ5X3NoYWxsb3coKTsKKwkJc2hhbGxvd19maWxlID0gc2V0dXBfdGVtcG9yYXJ5X3NoYWxsb3coTlVMTCk7CiAJCWFyZ3ZbYXJnKytdID0gIi0tc2hhbGxvdy1maWxlIjsKIAkJYXJndlthcmcrK10gPSBzaGFsbG93X2ZpbGU7CiAJfQpAQCAtMzkzLDcgKzM5NCw3IEBACiAJCQlnb3Rfb3RoZXIgPSAwOwogCQkJY29udGludWU7CiAJCX0KLQkJaWYgKCFwcmVmaXhjbXAobGluZSwgImhhdmUgIikpIHsKKwkJaWYgKHN0YXJ0c193aXRoKGxpbmUsICJoYXZlICIpKSB7CiAJCQlzd2l0Y2ggKGdvdF9zaGExKGxpbmUrNSwgc2hhMSkpIHsKIAkJCWNhc2UgLTE6IC8qIHRoZXkgaGF2ZSB3aGF0IHdlIGRvIG5vdCAqLwogCQkJCWdvdF9vdGhlciA9IDE7CkBAIC01MzksNyArNTQwLDcgQEAKIAkJaWYgKCFsaW5lKQogCQkJYnJlYWs7CiAKLQkJaWYgKCFwcmVmaXhjbXAobGluZSwgInNoYWxsb3cgIikpIHsKKwkJaWYgKHN0YXJ0c193aXRoKGxpbmUsICJzaGFsbG93ICIpKSB7CiAJCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwogCQkJc3RydWN0IG9iamVjdCAqb2JqZWN0OwogCQkJaWYgKGdldF9zaGExX2hleChsaW5lICsgOCwgc2hhMSkpCkBAIC01NTUsMTQgKzU1NiwxNCBAQAogCQkJfQogCQkJY29udGludWU7CiAJCX0KLQkJaWYgKCFwcmVmaXhjbXAobGluZSwgImRlZXBlbiAiKSkgeworCQlpZiAoc3RhcnRzX3dpdGgobGluZSwgImRlZXBlbiAiKSkgewogCQkJY2hhciAqZW5kOwogCQkJZGVwdGggPSBzdHJ0b2wobGluZSArIDcsICZlbmQsIDApOwogCQkJaWYgKGVuZCA9PSBsaW5lICsgNyB8fCBkZXB0aCA8PSAwKQogCQkJCWRpZSgiSW52YWxpZCBkZWVwZW46ICVzIiwgbGluZSk7CiAJCQljb250aW51ZTsKIAkJfQotCQlpZiAocHJlZml4Y21wKGxpbmUsICJ3YW50ICIpIHx8CisJCWlmICghc3RhcnRzX3dpdGgobGluZSwgIndhbnQgIikgfHwKIAkJICAgIGdldF9zaGExX2hleChsaW5lKzUsIHNoYTFfYnVmKSkKIAkJCWRpZSgiZ2l0IHVwbG9hZC1wYWNrOiBwcm90b2NvbCBlcnJvciwgIgogCQkJICAgICJleHBlY3RlZCB0byBnZXQgc2hhLCBub3QgJyVzJyIsIGxpbmUpOwpAQCAtNjE4LDcgKzYxOSw3IEBACiAJaWYgKGRlcHRoID4gMCkgewogCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlc3VsdCA9IE5VTEwsICpiYWNrdXAgPSBOVUxMOwogCQlpbnQgaTsKLQkJaWYgKGRlcHRoID09IElORklOSVRFX0RFUFRIKQorCQlpZiAoZGVwdGggPT0gSU5GSU5JVEVfREVQVEggJiYgIWlzX3JlcG9zaXRvcnlfc2hhbGxvdygpKQogCQkJZm9yIChpID0gMDsgaSA8IHNoYWxsb3dzLm5yOyBpKyspIHsKIAkJCQlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3QgPSBzaGFsbG93cy5vYmplY3RzW2ldLml0ZW07CiAJCQkJb2JqZWN0LT5mbGFncyB8PSBOT1RfU0hBTExPVzsKQEAgLTY0OCw4ICs2NDksNyBAQAogCQkJCS8qIG1ha2Ugc3VyZSB0aGUgcmVhbCBwYXJlbnRzIGFyZSBwYXJzZWQgKi8KIAkJCQl1bnJlZ2lzdGVyX3NoYWxsb3cob2JqZWN0LT5zaGExKTsKIAkJCQlvYmplY3QtPnBhcnNlZCA9IDA7Ci0JCQkJaWYgKHBhcnNlX2NvbW1pdCgoc3RydWN0IGNvbW1pdCAqKW9iamVjdCkpCi0JCQkJCWRpZSgiaW52YWxpZCBjb21taXQiKTsKKwkJCQlwYXJzZV9jb21taXRfb3JfZGllKChzdHJ1Y3QgY29tbWl0ICopb2JqZWN0KTsKIAkJCQlwYXJlbnRzID0gKChzdHJ1Y3QgY29tbWl0ICopb2JqZWN0KS0+cGFyZW50czsKIAkJCQl3aGlsZSAocGFyZW50cykgewogCQkJCQlhZGRfb2JqZWN0X2FycmF5KCZwYXJlbnRzLT5pdGVtLT5vYmplY3QsCkBAIC03NTcsNiArNzU3LDcgQEAKIAkJcmVzZXRfdGltZW91dCgpOwogCQloZWFkX3JlZl9uYW1lc3BhY2VkKHNlbmRfcmVmLCAmc3ltcmVmKTsKIAkJZm9yX2VhY2hfbmFtZXNwYWNlZF9yZWYoc2VuZF9yZWYsICZzeW1yZWYpOworCQlhZHZlcnRpc2Vfc2hhbGxvd19ncmFmdHMoMSk7CiAJCXBhY2tldF9mbHVzaCgxKTsKIAl9IGVsc2UgewogCQloZWFkX3JlZl9uYW1lc3BhY2VkKG1hcmtfb3VyX3JlZiwgTlVMTCk7CkBAIC04MTQsNyArODE1LDcgQEAKIAkJCXN0cmljdCA9IDE7CiAJCQljb250aW51ZTsKIAkJfQotCQlpZiAoIXByZWZpeGNtcChhcmcsICItLXRpbWVvdXQ9IikpIHsKKwkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tdGltZW91dD0iKSkgewogCQkJdGltZW91dCA9IGF0b2koYXJnKzEwKTsKIAkJCWRhZW1vbl9tb2RlID0gMTsKIAkJCWNvbnRpbnVlOwpAQCAtODM0LDggKzgzNSw3IEBACiAKIAlpZiAoIWVudGVyX3JlcG8oZGlyLCBzdHJpY3QpKQogCQlkaWUoIiclcycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgZ2l0IHJlcG9zaXRvcnkiLCBkaXIpOwotCWlmIChpc19yZXBvc2l0b3J5X3NoYWxsb3coKSkKLQkJZGllKCJhdHRlbXB0IHRvIGZldGNoL2Nsb25lIGZyb20gYSBzaGFsbG93IHJlcG9zaXRvcnkiKTsKKwogCWdpdF9jb25maWcodXBsb2FkX3BhY2tfY29uZmlnLCBOVUxMKTsKIAl1cGxvYWRfcGFjaygpOwogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvdXJsbWF0Y2guYyBiL3VybG1hdGNoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWM4N2NiYQotLS0gL2Rldi9udWxsCisrKyBiL3VybG1hdGNoLmMKQEAgLTAsMCArMSw1MzkgQEAKKyNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgInVybG1hdGNoLmgiCisKKyNkZWZpbmUgVVJMX0FMUEhBICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IgorI2RlZmluZSBVUkxfRElHSVQgIjAxMjM0NTY3ODkiCisjZGVmaW5lIFVSTF9BTFBIQURJR0lUIFVSTF9BTFBIQSBVUkxfRElHSVQKKyNkZWZpbmUgVVJMX1NDSEVNRV9DSEFSUyBVUkxfQUxQSEFESUdJVCAiKy4tIgorI2RlZmluZSBVUkxfSE9TVF9DSEFSUyBVUkxfQUxQSEFESUdJVCAiLi1bOl0iIC8qIElQdjYgbGl0ZXJhbHMgbmVlZCBbOl0gKi8KKyNkZWZpbmUgVVJMX1VOU0FGRV9DSEFSUyAiIDw+XCIle318XFxeYCIgLyogcGx1cyAweDAwLTB4MUYsMHg3Ri0weEZGICovCisjZGVmaW5lIFVSTF9HRU5fUkVTRVJWRUQgIjovPyNbXUAiCisjZGVmaW5lIFVSTF9TVUJfUkVTRVJWRUQgIiEkJicoKSorLDs9IgorI2RlZmluZSBVUkxfUkVTRVJWRUQgVVJMX0dFTl9SRVNFUlZFRCBVUkxfU1VCX1JFU0VSVkVEIC8qIG9ubHkgYWxsb3dlZCBkZWxpbXMgKi8KKworc3RhdGljIGludCBhcHBlbmRfbm9ybWFsaXplZF9lc2NhcGVzKHN0cnVjdCBzdHJidWYgKmJ1ZiwKKwkJCQkgICAgIGNvbnN0IGNoYXIgKmZyb20sCisJCQkJICAgICBzaXplX3QgZnJvbV9sZW4sCisJCQkJICAgICBjb25zdCBjaGFyICplc2NfZXh0cmEsCisJCQkJICAgICBjb25zdCBjaGFyICplc2Nfb2spCit7CisJLyoKKwkgKiBBcHBlbmQgdG8gc3RyYnVmICdidWYnIGNoYXJhY3RlcnMgZnJvbSBzdHJpbmcgJ2Zyb20nIHdpdGggbGVuZ3RoCisJICogJ2Zyb21fbGVuJyB3aGlsZSB1bmVzY2FwaW5nIGNoYXJhY3RlcnMgdGhhdCBkbyBub3QgbmVlZCB0byBiZSBlc2NhcGVkCisJICogYW5kIGVzY2FwaW5nIGNoYXJhY3RlcnMgdGhhdCBkby4gIFRoZSBzZXQgb2YgY2hhcmFjdGVycyB0byBlc2NhcGUKKwkgKiAodGhlIGNvbXBsZW1lbnQgb2Ygd2hpY2ggaXMgdW5lc2NhcGVkKSBzdGFydHMgb3V0IGFzIHRoZSBSRkMgMzk4NgorCSAqIHVuc2FmZSBjaGFyYWN0ZXJzICgweDAwLTB4MUYsMHg3Ri0weEZGLCIgPD5cIiMle318XFxeYCIpLiAgSWYKKwkgKiAnZXNjX2V4dHJhJyBpcyBub3QgTlVMTCwgdGhvc2UgYWRkaXRpb25hbCBjaGFyYWN0ZXJzIHdpbGwgYWxzbyBhbHdheXMKKwkgKiBiZSBlc2NhcGVkLiAgSWYgJ2VzY19vaycgaXMgbm90IE5VTEwsIHRob3NlIGNoYXJhY3RlcnMgd2lsbCBiZSBsZWZ0CisJICogZXNjYXBlZCBpZiBmb3VuZCB0aGF0IHdheSwgYnV0IHdpbGwgbm90IGJlIHVuZXNjYXBlZCBvdGhlcndpc2UgKHVzZWQKKwkgKiBmb3IgZGVsaW1pdGVycykuICBJZiBhICUtZXNjYXBlIHNlcXVlbmNlIGlzIGVuY291bnRlcmVkIHRoYXQgaXMgbm90CisJICogZm9sbG93ZWQgYnkgMiBoZXhhZGVjaW1hbCBkaWdpdHMsIHRoZSBzZXF1ZW5jZSBpcyBpbnZhbGlkIGFuZAorCSAqIGZhbHNlICgwKSB3aWxsIGJlIHJldHVybmVkLiAgT3RoZXJ3aXNlIHRydWUgKDEpIHdpbGwgYmUgcmV0dXJuZWQgZm9yCisJICogc3VjY2Vzcy4KKwkgKgorCSAqIE5vdGUgdGhhdCBhbGwgJS1lc2NhcGUgc2VxdWVuY2VzIHdpbGwgYmUgbm9ybWFsaXplZCB0byBVUFBFUkNBU0UKKwkgKiBhcyBpbmRpY2F0ZWQgaW4gUkZDIDM5ODYuICBVbmxlc3MgaW5jbHVkZWQgaW4gZXNjX2V4dHJhIG9yIGVzY19vaworCSAqIGFscGhhbnVtZXJpY3MgYW5kICItLl9+IiB3aWxsIGFsd2F5cyBiZSB1bmVzY2FwZWQgYXMgcGVyIFJGQyAzOTg2LgorCSAqLworCisJd2hpbGUgKGZyb21fbGVuKSB7CisJCWludCBjaCA9ICpmcm9tKys7CisJCWludCB3YXNfZXNjID0gMDsKKworCQlmcm9tX2xlbi0tOworCQlpZiAoY2ggPT0gJyUnKSB7CisJCQlpZiAoZnJvbV9sZW4gPCAyIHx8CisJCQkgICAgIWlzeGRpZ2l0KCh1bnNpZ25lZCBjaGFyKWZyb21bMF0pIHx8CisJCQkgICAgIWlzeGRpZ2l0KCh1bnNpZ25lZCBjaGFyKWZyb21bMV0pKQorCQkJCXJldHVybiAwOworCQkJY2ggPSBoZXh2YWxfdGFibGVbKHVuc2lnbmVkIGNoYXIpKmZyb20rK10gPDwgNDsKKwkJCWNoIHw9IGhleHZhbF90YWJsZVsodW5zaWduZWQgY2hhcikqZnJvbSsrXTsKKwkJCWZyb21fbGVuIC09IDI7CisJCQl3YXNfZXNjID0gMTsKKwkJfQorCQlpZiAoKHVuc2lnbmVkIGNoYXIpY2ggPD0gMHgxRiB8fCAodW5zaWduZWQgY2hhciljaCA+PSAweDdGIHx8CisJCSAgICBzdHJjaHIoVVJMX1VOU0FGRV9DSEFSUywgY2gpIHx8CisJCSAgICAoZXNjX2V4dHJhICYmIHN0cmNocihlc2NfZXh0cmEsIGNoKSkgfHwKKwkJICAgICh3YXNfZXNjICYmIHN0cmNocihlc2Nfb2ssIGNoKSkpCisJCQlzdHJidWZfYWRkZihidWYsICIlJSUwMlgiLCAodW5zaWduZWQgY2hhciljaCk7CisJCWVsc2UKKwkJCXN0cmJ1Zl9hZGRjaChidWYsIGNoKTsKKwl9CisKKwlyZXR1cm4gMTsKK30KKworY2hhciAqdXJsX25vcm1hbGl6ZShjb25zdCBjaGFyICp1cmwsIHN0cnVjdCB1cmxfaW5mbyAqb3V0X2luZm8pCit7CisJLyoKKwkgKiBOb3JtYWxpemUgTlVMLXRlcm1pbmF0ZWQgdXJsIHVzaW5nIHRoZSBmb2xsb3dpbmcgcnVsZXM6CisJICoKKwkgKiAxLiBDYXNlLWluc2Vuc2l0aXZlIHBhcnRzIG9mIHVybCB3aWxsIGJlIGNvbnZlcnRlZCB0byBsb3dlciBjYXNlCisJICogMi4gJS1lbmNvZGVkIGNoYXJhY3RlcnMgdGhhdCBkbyBub3QgbmVlZCB0byBiZSB3aWxsIGJlIHVuZW5jb2RlZAorCSAqIDMuIENoYXJhY3RlcnMgdGhhdCBhcmUgbm90ICUtZW5jb2RlZCBhbmQgbXVzdCBiZSB3aWxsIGJlIGVuY29kZWQKKwkgKiA0LiBBbGwgJS1lbmNvZGluZ3Mgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gdXBwZXIgY2FzZSBoZXhhZGVjaW1hbAorCSAqIDUuIExlYWRpbmcgMHMgYXJlIHJlbW92ZWQgZnJvbSBwb3J0IG51bWJlcnMKKwkgKiA2LiBJZiB0aGUgZGVmYXVsdCBwb3J0IGZvciB0aGUgc2NoZW1lIGlzIGdpdmVuIGl0IHdpbGwgYmUgcmVtb3ZlZAorCSAqIDcuIEEgcGF0aCBwYXJ0IChpbmNsdWRpbmcgZW1wdHkpIG5vdCBzdGFydGluZyB3aXRoICcvJyBoYXMgb25lIGFkZGVkCisJICogOC4gQW55IGRvdCBzZWdtZW50cyAoLiBvciAuLikgaW4gdGhlIHBhdGggYXJlIHJlc29sdmVkIGFuZCByZW1vdmVkCisJICogOS4gSVB2NiBob3N0IGxpdGVyYWxzIGFyZSBhbGxvd2VkIChidXQgbm90IG5vcm1hbGl6ZWQgb3IgdmFsaWRhdGVkKQorCSAqCisJICogVGhlIHJ1bGVzIGFyZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBpbiBSRkMgMzk4Ni4KKwkgKgorCSAqIFBsZWFzZSBub3RlIHRoaXMgZnVuY3Rpb24gcmVxdWlyZXMgYSBmdWxsIFVSTCBpbmNsdWRpbmcgYSBzY2hlbWUKKwkgKiBhbmQgaG9zdCBwYXJ0IChleGNlcHQgZm9yIGZpbGU6IFVSTHMgd2hpY2ggbWF5IGhhdmUgYW4gZW1wdHkgaG9zdCkuCisJICoKKwkgKiBUaGUgcmV0dXJuIHZhbHVlIGlzIGEgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB0aGF0IG11c3QgYmUgZnJlZWQKKwkgKiBvciBOVUxMIGlmIHRoZSB1cmwgaXMgbm90IHZhbGlkLgorCSAqCisJICogSWYgb3V0X2luZm8gaXMgbm9uLU5VTEwsIHRoZSB1cmwgYW5kIGVyciBmaWVsZHMgdGhlcmVpbiB3aWxsIGFsd2F5cworCSAqIGJlIHNldC4gIElmIGEgbm9uLU5VTEwgdmFsdWUgaXMgcmV0dXJuZWQsIGl0IHdpbGwgYmUgc3RvcmVkIGluCisJICogb3V0X2luZm8tPnVybCBhcyB3ZWxsLCBvdXRfaW5mby0+ZXJyIHdpbGwgYmUgc2V0IHRvIE5VTEwgYW5kIHRoZQorCSAqIG90aGVyIGZpZWxkcyBvZiAqb3V0X2luZm8gd2lsbCBhbHNvIGJlIGZpbGxlZCBpbi4gIElmIGEgTlVMTCB2YWx1ZQorCSAqIGlzIHJldHVybmVkLCBOVUxMIHdpbGwgYmUgc3RvcmVkIGluIG91dF9pbmZvLT51cmwgYW5kIG91dF9pbmZvLT5lcnIKKwkgKiB3aWxsIGJlIHNldCB0byBhIGJyaWVmLCB0cmFuc2xhdGVkLCBlcnJvciBtZXNzYWdlLCBidXQgbm8gb3RoZXIKKwkgKiBmaWVsZHMgd2lsbCBiZSBmaWxsZWQgaW4uCisJICoKKwkgKiBUaGlzIGlzIE5PVCBhIFVSTCB2YWxpZGF0aW9uIGZ1bmN0aW9uLiAgRnVsbCBVUkwgdmFsaWRhdGlvbiBpcyBOT1QKKwkgKiBwZXJmb3JtZWQuICBTb21lIGludmFsaWQgaG9zdCBuYW1lcyBhcmUgcGFzc2VkIHRocm91Z2ggdGhpcyBmdW5jdGlvbgorCSAqIHVuZGV0ZWN0ZWQuICBIb3dldmVyLCBtb3N0IGFsbCBvdGhlciBwcm9ibGVtcyB0aGF0IG1ha2UgYSBVUkwgaW52YWxpZAorCSAqIHdpbGwgYmUgZGV0ZWN0ZWQgKGluY2x1ZGluZyBhIG1pc3NpbmcgaG9zdCBmb3Igbm9uIGZpbGU6IFVSTHMpLgorCSAqLworCisJc2l6ZV90IHVybF9sZW4gPSBzdHJsZW4odXJsKTsKKwlzdHJ1Y3Qgc3RyYnVmIG5vcm07CisJc2l6ZV90IHNwYW5uZWQ7CisJc2l6ZV90IHNjaGVtZV9sZW4sIHVzZXJfb2ZmPTAsIHVzZXJfbGVuPTAsIHBhc3N3ZF9vZmY9MCwgcGFzc3dkX2xlbj0wOworCXNpemVfdCBob3N0X29mZj0wLCBob3N0X2xlbj0wLCBwb3J0X2xlbj0wLCBwYXRoX29mZiwgcGF0aF9sZW4sIHJlc3VsdF9sZW47CisJY29uc3QgY2hhciAqc2xhc2hfcHRyLCAqYXRfcHRyLCAqY29sb25fcHRyLCAqcGF0aF9zdGFydDsKKwljaGFyICpyZXN1bHQ7CisKKwkvKgorCSAqIENvcHkgbG93ZXJjYXNlZCBzY2hlbWUgYW5kIDovLyBzdWZmaXgsICUtZXNjYXBlcyBhcmUgbm90IGFsbG93ZWQKKwkgKiBGaXJzdCBjaGFyYWN0ZXIgb2Ygc2NoZW1lIG11c3QgYmUgVVJMX0FMUEhBCisJICovCisJc3Bhbm5lZCA9IHN0cnNwbih1cmwsIFVSTF9TQ0hFTUVfQ0hBUlMpOworCWlmICghc3Bhbm5lZCB8fCAhaXNhbHBoYSh1cmxbMF0pIHx8IHNwYW5uZWQgKyAzID4gdXJsX2xlbiB8fAorCSAgICB1cmxbc3Bhbm5lZF0gIT0gJzonIHx8IHVybFtzcGFubmVkKzFdICE9ICcvJyB8fCB1cmxbc3Bhbm5lZCsyXSAhPSAnLycpIHsKKwkJaWYgKG91dF9pbmZvKSB7CisJCQlvdXRfaW5mby0+dXJsID0gTlVMTDsKKwkJCW91dF9pbmZvLT5lcnIgPSBfKCJpbnZhbGlkIFVSTCBzY2hlbWUgbmFtZSBvciBtaXNzaW5nICc6Ly8nIHN1ZmZpeCIpOworCQl9CisJCXJldHVybiBOVUxMOyAvKiBCYWQgc2NoZW1lIGFuZC9vciBtaXNzaW5nICI6Ly8iIHBhcnQgKi8KKwl9CisJc3RyYnVmX2luaXQoJm5vcm0sIHVybF9sZW4pOworCXNjaGVtZV9sZW4gPSBzcGFubmVkOworCXNwYW5uZWQgKz0gMzsKKwl1cmxfbGVuIC09IHNwYW5uZWQ7CisJd2hpbGUgKHNwYW5uZWQtLSkKKwkJc3RyYnVmX2FkZGNoKCZub3JtLCB0b2xvd2VyKCp1cmwrKykpOworCisKKwkvKgorCSAqIENvcHkgYW55IHVzZXJuYW1lOnBhc3N3b3JkIGlmIHByZXNlbnQgbm9ybWFsaXppbmcgJS1lc2NhcGVzCisJICovCisJYXRfcHRyID0gc3RyY2hyKHVybCwgJ0AnKTsKKwlzbGFzaF9wdHIgPSB1cmwgKyBzdHJjc3BuKHVybCwgIi8/IyIpOworCWlmIChhdF9wdHIgJiYgYXRfcHRyIDwgc2xhc2hfcHRyKSB7CisJCXVzZXJfb2ZmID0gbm9ybS5sZW47CisJCWlmIChhdF9wdHIgPiB1cmwpIHsKKwkJCWlmICghYXBwZW5kX25vcm1hbGl6ZWRfZXNjYXBlcygmbm9ybSwgdXJsLCBhdF9wdHIgLSB1cmwsCisJCQkJCQkgICAgICAgIiIsIFVSTF9SRVNFUlZFRCkpIHsKKwkJCQlpZiAob3V0X2luZm8pIHsKKwkJCQkJb3V0X2luZm8tPnVybCA9IE5VTEw7CisJCQkJCW91dF9pbmZvLT5lcnIgPSBfKCJpbnZhbGlkICVYWCBlc2NhcGUgc2VxdWVuY2UiKTsKKwkJCQl9CisJCQkJc3RyYnVmX3JlbGVhc2UoJm5vcm0pOworCQkJCXJldHVybiBOVUxMOworCQkJfQorCQkJY29sb25fcHRyID0gc3RyY2hyKG5vcm0uYnVmICsgc2NoZW1lX2xlbiArIDMsICc6Jyk7CisJCQlpZiAoY29sb25fcHRyKSB7CisJCQkJcGFzc3dkX29mZiA9IChjb2xvbl9wdHIgKyAxKSAtIG5vcm0uYnVmOworCQkJCXBhc3N3ZF9sZW4gPSBub3JtLmxlbiAtIHBhc3N3ZF9vZmY7CisJCQkJdXNlcl9sZW4gPSAocGFzc3dkX29mZiAtIDEpIC0gKHNjaGVtZV9sZW4gKyAzKTsKKwkJCX0gZWxzZSB7CisJCQkJdXNlcl9sZW4gPSBub3JtLmxlbiAtIChzY2hlbWVfbGVuICsgMyk7CisJCQl9CisJCX0KKwkJc3RyYnVmX2FkZGNoKCZub3JtLCAnQCcpOworCQl1cmxfbGVuIC09ICgrK2F0X3B0ciAtIHVybCk7CisJCXVybCA9IGF0X3B0cjsKKwl9CisKKworCS8qCisJICogQ29weSB0aGUgaG9zdCBwYXJ0IGV4Y2x1ZGluZyBhbnkgcG9ydCBwYXJ0LCBubyAlLWVzY2FwZXMgYWxsb3dlZAorCSAqLworCWlmICghdXJsX2xlbiB8fCBzdHJjaHIoIjovPyMiLCAqdXJsKSkgeworCQkvKiBNaXNzaW5nIGhvc3QgaW52YWxpZCBmb3IgYWxsIFVSTCBzY2hlbWVzIGV4Y2VwdCBmaWxlICovCisJCWlmIChzdHJuY21wKG5vcm0uYnVmLCAiZmlsZToiLCA1KSkgeworCQkJaWYgKG91dF9pbmZvKSB7CisJCQkJb3V0X2luZm8tPnVybCA9IE5VTEw7CisJCQkJb3V0X2luZm8tPmVyciA9IF8oIm1pc3NpbmcgaG9zdCBhbmQgc2NoZW1lIGlzIG5vdCAnZmlsZTonIik7CisJCQl9CisJCQlzdHJidWZfcmVsZWFzZSgmbm9ybSk7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQorCX0gZWxzZSB7CisJCWhvc3Rfb2ZmID0gbm9ybS5sZW47CisJfQorCWNvbG9uX3B0ciA9IHNsYXNoX3B0ciAtIDE7CisJd2hpbGUgKGNvbG9uX3B0ciA+IHVybCAmJiAqY29sb25fcHRyICE9ICc6JyAmJiAqY29sb25fcHRyICE9ICddJykKKwkJY29sb25fcHRyLS07CisJaWYgKCpjb2xvbl9wdHIgIT0gJzonKSB7CisJCWNvbG9uX3B0ciA9IHNsYXNoX3B0cjsKKwl9IGVsc2UgaWYgKCFob3N0X29mZiAmJiBjb2xvbl9wdHIgPCBzbGFzaF9wdHIgJiYgY29sb25fcHRyICsgMSAhPSBzbGFzaF9wdHIpIHsKKwkJLyogZmlsZTogVVJMcyBtYXkgbm90IGhhdmUgYSBwb3J0IG51bWJlciAqLworCQlpZiAob3V0X2luZm8pIHsKKwkJCW91dF9pbmZvLT51cmwgPSBOVUxMOworCQkJb3V0X2luZm8tPmVyciA9IF8oImEgJ2ZpbGU6JyBVUkwgbWF5IG5vdCBoYXZlIGEgcG9ydCBudW1iZXIiKTsKKwkJfQorCQlzdHJidWZfcmVsZWFzZSgmbm9ybSk7CisJCXJldHVybiBOVUxMOworCX0KKwlzcGFubmVkID0gc3Ryc3BuKHVybCwgVVJMX0hPU1RfQ0hBUlMpOworCWlmIChzcGFubmVkIDwgY29sb25fcHRyIC0gdXJsKSB7CisJCS8qIEhvc3QgbmFtZSBoYXMgaW52YWxpZCBjaGFyYWN0ZXJzICovCisJCWlmIChvdXRfaW5mbykgeworCQkJb3V0X2luZm8tPnVybCA9IE5VTEw7CisJCQlvdXRfaW5mby0+ZXJyID0gXygiaW52YWxpZCBjaGFyYWN0ZXJzIGluIGhvc3QgbmFtZSIpOworCQl9CisJCXN0cmJ1Zl9yZWxlYXNlKCZub3JtKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXdoaWxlICh1cmwgPCBjb2xvbl9wdHIpIHsKKwkJc3RyYnVmX2FkZGNoKCZub3JtLCB0b2xvd2VyKCp1cmwrKykpOworCQl1cmxfbGVuLS07CisJfQorCisKKwkvKgorCSAqIENoZWNrIHRoZSBwb3J0IHBhcnQgYW5kIGNvcHkgaWYgbm90IHRoZSBkZWZhdWx0IChhZnRlciByZW1vdmluZyBhbnkKKwkgKiBsZWFkaW5nIDBzKTsgbm8gJS1lc2NhcGVzIGFsbG93ZWQKKwkgKi8KKwlpZiAoY29sb25fcHRyIDwgc2xhc2hfcHRyKSB7CisJCS8qIHNraXAgdGhlICc6JyBhbmQgbGVhZGluZyAwcyBidXQgbm90IHRoZSBsYXN0IG9uZSBpZiBhbGwgMHMgKi8KKwkJdXJsKys7CisJCXVybCArPSBzdHJzcG4odXJsLCAiMCIpOworCQlpZiAodXJsID09IHNsYXNoX3B0ciAmJiB1cmxbLTFdID09ICcwJykKKwkJCXVybC0tOworCQlpZiAodXJsID09IHNsYXNoX3B0cikgeworCQkJLyogU2tpcCAiOiIgcG9ydCB3aXRoIG5vIG51bWJlciwgaXQncyBzYW1lIGFzIGRlZmF1bHQgKi8KKwkJfSBlbHNlIGlmIChzbGFzaF9wdHIgLSB1cmwgPT0gMiAmJgorCQkJICAgIXN0cm5jbXAobm9ybS5idWYsICJodHRwOiIsIDUpICYmCisJCQkgICAhc3RybmNtcCh1cmwsICI4MCIsIDIpKSB7CisJCQkvKiBTa2lwIGh0dHAgOjgwIGFzIGl0J3MgdGhlIGRlZmF1bHQgKi8KKwkJfSBlbHNlIGlmIChzbGFzaF9wdHIgLSB1cmwgPT0gMyAmJgorCQkJICAgIXN0cm5jbXAobm9ybS5idWYsICJodHRwczoiLCA2KSAmJgorCQkJICAgIXN0cm5jbXAodXJsLCAiNDQzIiwgMykpIHsKKwkJCS8qIFNraXAgaHR0cHMgOjQ0MyBhcyBpdCdzIHRoZSBkZWZhdWx0ICovCisJCX0gZWxzZSB7CisJCQkvKgorCQkJICogUG9ydCBudW1iZXIgbXVzdCBiZSBhbGwgZGlnaXRzIHdpdGggbGVhZGluZyAwcyByZW1vdmVkCisJCQkgKiBhbmQgc2luY2UgYWxsIHRoZSBwcm90b2NvbHMgd2UgZGVhbCB3aXRoIGhhdmUgYSAxNi1iaXQKKwkJCSAqIHBvcnQgbnVtYmVyIGl0IG11c3QgYWxzbyBiZSBpbiB0aGUgcmFuZ2UgMS4uNjU1MzUKKwkJCSAqIDAgaXMgbm90IGFsbG93ZWQgYmVjYXVzZSB0aGF0IG1lYW5zICJuZXh0IGF2YWlsYWJsZSIKKwkJCSAqIG9uIGp1c3QgYWJvdXQgZXZlcnkgc3lzdGVtIGFuZCB0aGVyZWZvcmUgY2Fubm90IGJlIHVzZWQKKwkJCSAqLworCQkJdW5zaWduZWQgbG9uZyBwbnVtID0gMDsKKwkJCXNwYW5uZWQgPSBzdHJzcG4odXJsLCBVUkxfRElHSVQpOworCQkJaWYgKHNwYW5uZWQgPCBzbGFzaF9wdHIgLSB1cmwpIHsKKwkJCQkvKiBwb3J0IG51bWJlciBoYXMgaW52YWxpZCBjaGFyYWN0ZXJzICovCisJCQkJaWYgKG91dF9pbmZvKSB7CisJCQkJCW91dF9pbmZvLT51cmwgPSBOVUxMOworCQkJCQlvdXRfaW5mby0+ZXJyID0gXygiaW52YWxpZCBwb3J0IG51bWJlciIpOworCQkJCX0KKwkJCQlzdHJidWZfcmVsZWFzZSgmbm9ybSk7CisJCQkJcmV0dXJuIE5VTEw7CisJCQl9CisJCQlpZiAoc2xhc2hfcHRyIC0gdXJsIDw9IDUpCisJCQkJcG51bSA9IHN0cnRvdWwodXJsLCBOVUxMLCAxMCk7CisJCQlpZiAocG51bSA9PSAwIHx8IHBudW0gPiA2NTUzNSkgeworCQkJCS8qIHBvcnQgbnVtYmVyIG5vdCBpbiByYW5nZSAxLi42NTUzNSAqLworCQkJCWlmIChvdXRfaW5mbykgeworCQkJCQlvdXRfaW5mby0+dXJsID0gTlVMTDsKKwkJCQkJb3V0X2luZm8tPmVyciA9IF8oImludmFsaWQgcG9ydCBudW1iZXIiKTsKKwkJCQl9CisJCQkJc3RyYnVmX3JlbGVhc2UoJm5vcm0pOworCQkJCXJldHVybiBOVUxMOworCQkJfQorCQkJc3RyYnVmX2FkZGNoKCZub3JtLCAnOicpOworCQkJc3RyYnVmX2FkZCgmbm9ybSwgdXJsLCBzbGFzaF9wdHIgLSB1cmwpOworCQkJcG9ydF9sZW4gPSBzbGFzaF9wdHIgLSB1cmw7CisJCX0KKwkJdXJsX2xlbiAtPSBzbGFzaF9wdHIgLSBjb2xvbl9wdHI7CisJCXVybCA9IHNsYXNoX3B0cjsKKwl9CisJaWYgKGhvc3Rfb2ZmKQorCQlob3N0X2xlbiA9IG5vcm0ubGVuIC0gaG9zdF9vZmY7CisKKworCS8qCisJICogTm93IGNvcHkgdGhlIHBhdGggcmVzb2x2aW5nIGFueSAuIGFuZCAuLiBzZWdtZW50cyBiZWluZyBjYXJlZnVsIG5vdAorCSAqIHRvIGNvcnJ1cHQgdGhlIFVSTCBieSB1bmVzY2FwaW5nIGFueSBkZWxpbWl0ZXJzLCBidXQgZG8gYWRkIGFuCisJICogaW5pdGlhbCAnLycgaWYgaXQncyBtaXNzaW5nIGFuZCBkbyBub3JtYWxpemUgYW55ICUtZXNjYXBlIHNlcXVlbmNlcy4KKwkgKi8KKwlwYXRoX29mZiA9IG5vcm0ubGVuOworCXBhdGhfc3RhcnQgPSBub3JtLmJ1ZiArIHBhdGhfb2ZmOworCXN0cmJ1Zl9hZGRjaCgmbm9ybSwgJy8nKTsKKwlpZiAoKnVybCA9PSAnLycpIHsKKwkJdXJsKys7CisJCXVybF9sZW4tLTsKKwl9CisJZm9yICg7OykgeworCQljb25zdCBjaGFyICpzZWdfc3RhcnQ7CisJCXNpemVfdCBzZWdfc3RhcnRfb2ZmID0gbm9ybS5sZW47CisJCWNvbnN0IGNoYXIgKm5leHRfc2xhc2ggPSB1cmwgKyBzdHJjc3BuKHVybCwgIi8/IyIpOworCQlpbnQgc2tpcF9hZGRfc2xhc2ggPSAwOworCisJCS8qCisJCSAqIFJGQyAzNjg5IGluZGljYXRlcyB0aGF0IGFueSAuIG9yIC4uIHNlZ21lbnRzIHNob3VsZCBiZQorCQkgKiB1bmVzY2FwZWQgYmVmb3JlIGJlaW5nIGNoZWNrZWQgZm9yLgorCQkgKi8KKwkJaWYgKCFhcHBlbmRfbm9ybWFsaXplZF9lc2NhcGVzKCZub3JtLCB1cmwsIG5leHRfc2xhc2ggLSB1cmwsICIiLAorCQkJCQkgICAgICAgVVJMX1JFU0VSVkVEKSkgeworCQkJaWYgKG91dF9pbmZvKSB7CisJCQkJb3V0X2luZm8tPnVybCA9IE5VTEw7CisJCQkJb3V0X2luZm8tPmVyciA9IF8oImludmFsaWQgJVhYIGVzY2FwZSBzZXF1ZW5jZSIpOworCQkJfQorCQkJc3RyYnVmX3JlbGVhc2UoJm5vcm0pOworCQkJcmV0dXJuIE5VTEw7CisJCX0KKworCQlzZWdfc3RhcnQgPSBub3JtLmJ1ZiArIHNlZ19zdGFydF9vZmY7CisJCWlmICghc3RyY21wKHNlZ19zdGFydCwgIi4iKSkgeworCQkJLyogaWdub3JlIGEgLiBzZWdtZW50OyBiZSBjYXJlZnVsIG5vdCB0byByZW1vdmUgaW5pdGlhbCAnLycgKi8KKwkJCWlmIChzZWdfc3RhcnQgPT0gcGF0aF9zdGFydCArIDEpIHsKKwkJCQlzdHJidWZfc2V0bGVuKCZub3JtLCBub3JtLmxlbiAtIDEpOworCQkJCXNraXBfYWRkX3NsYXNoID0gMTsKKwkJCX0gZWxzZSB7CisJCQkJc3RyYnVmX3NldGxlbigmbm9ybSwgbm9ybS5sZW4gLSAyKTsKKwkJCX0KKwkJfSBlbHNlIGlmICghc3RyY21wKHNlZ19zdGFydCwgIi4uIikpIHsKKwkJCS8qCisJCQkgKiBpZ25vcmUgYSAuLiBzZWdtZW50IGFuZCByZW1vdmUgdGhlIHByZXZpb3VzIHNlZ21lbnQ7CisJCQkgKiBiZSBjYXJlZnVsIG5vdCB0byByZW1vdmUgaW5pdGlhbCAnLycgZnJvbSBwYXRoCisJCQkgKi8KKwkJCWNvbnN0IGNoYXIgKnByZXZfc2xhc2ggPSBub3JtLmJ1ZiArIG5vcm0ubGVuIC0gMzsKKwkJCWlmIChwcmV2X3NsYXNoID09IHBhdGhfc3RhcnQpIHsKKwkJCQkvKiBpbnZhbGlkIC4uIGJlY2F1c2Ugbm8gcHJldmlvdXMgc2VnbWVudCB0byByZW1vdmUgKi8KKwkJCQlpZiAob3V0X2luZm8pIHsKKwkJCQkJb3V0X2luZm8tPnVybCA9IE5VTEw7CisJCQkJCW91dF9pbmZvLT5lcnIgPSBfKCJpbnZhbGlkICcuLicgcGF0aCBzZWdtZW50Iik7CisJCQkJfQorCQkJCXN0cmJ1Zl9yZWxlYXNlKCZub3JtKTsKKwkJCQlyZXR1cm4gTlVMTDsKKwkJCX0KKwkJCXdoaWxlICgqLS1wcmV2X3NsYXNoICE9ICcvJykge30KKwkJCWlmIChwcmV2X3NsYXNoID09IHBhdGhfc3RhcnQpIHsKKwkJCQlzdHJidWZfc2V0bGVuKCZub3JtLCBwcmV2X3NsYXNoIC0gbm9ybS5idWYgKyAxKTsKKwkJCQlza2lwX2FkZF9zbGFzaCA9IDE7CisJCQl9IGVsc2UgeworCQkJCXN0cmJ1Zl9zZXRsZW4oJm5vcm0sIHByZXZfc2xhc2ggLSBub3JtLmJ1Zik7CisJCQl9CisJCX0KKwkJdXJsX2xlbiAtPSBuZXh0X3NsYXNoIC0gdXJsOworCQl1cmwgPSBuZXh0X3NsYXNoOworCQkvKiBpZiB0aGUgbmV4dCBjaGFyIGlzIG5vdCAnLycgZG9uZSB3aXRoIHRoZSBwYXRoICovCisJCWlmICgqdXJsICE9ICcvJykKKwkJCWJyZWFrOworCQl1cmwrKzsKKwkJdXJsX2xlbi0tOworCQlpZiAoIXNraXBfYWRkX3NsYXNoKQorCQkJc3RyYnVmX2FkZGNoKCZub3JtLCAnLycpOworCX0KKwlwYXRoX2xlbiA9IG5vcm0ubGVuIC0gcGF0aF9vZmY7CisKKworCS8qCisJICogTm93IHNpbXBseSBjb3B5IHRoZSByZXN0LCBpZiBhbnksIG9ubHkgbm9ybWFsaXppbmcgJS1lc2NhcGVzIGFuZAorCSAqIGJlaW5nIGNhcmVmdWwgbm90IHRvIGNvcnJ1cHQgdGhlIFVSTCBieSB1bmVzY2FwaW5nIGFueSBkZWxpbWl0ZXJzLgorCSAqLworCWlmICgqdXJsKSB7CisJCWlmICghYXBwZW5kX25vcm1hbGl6ZWRfZXNjYXBlcygmbm9ybSwgdXJsLCB1cmxfbGVuLCAiIiwgVVJMX1JFU0VSVkVEKSkgeworCQkJaWYgKG91dF9pbmZvKSB7CisJCQkJb3V0X2luZm8tPnVybCA9IE5VTEw7CisJCQkJb3V0X2luZm8tPmVyciA9IF8oImludmFsaWQgJVhYIGVzY2FwZSBzZXF1ZW5jZSIpOworCQkJfQorCQkJc3RyYnVmX3JlbGVhc2UoJm5vcm0pOworCQkJcmV0dXJuIE5VTEw7CisJCX0KKwl9CisKKworCXJlc3VsdCA9IHN0cmJ1Zl9kZXRhY2goJm5vcm0sICZyZXN1bHRfbGVuKTsKKwlpZiAob3V0X2luZm8pIHsKKwkJb3V0X2luZm8tPnVybCA9IHJlc3VsdDsKKwkJb3V0X2luZm8tPmVyciA9IE5VTEw7CisJCW91dF9pbmZvLT51cmxfbGVuID0gcmVzdWx0X2xlbjsKKwkJb3V0X2luZm8tPnNjaGVtZV9sZW4gPSBzY2hlbWVfbGVuOworCQlvdXRfaW5mby0+dXNlcl9vZmYgPSB1c2VyX29mZjsKKwkJb3V0X2luZm8tPnVzZXJfbGVuID0gdXNlcl9sZW47CisJCW91dF9pbmZvLT5wYXNzd2Rfb2ZmID0gcGFzc3dkX29mZjsKKwkJb3V0X2luZm8tPnBhc3N3ZF9sZW4gPSBwYXNzd2RfbGVuOworCQlvdXRfaW5mby0+aG9zdF9vZmYgPSBob3N0X29mZjsKKwkJb3V0X2luZm8tPmhvc3RfbGVuID0gaG9zdF9sZW47CisJCW91dF9pbmZvLT5wb3J0X2xlbiA9IHBvcnRfbGVuOworCQlvdXRfaW5mby0+cGF0aF9vZmYgPSBwYXRoX29mZjsKKwkJb3V0X2luZm8tPnBhdGhfbGVuID0gcGF0aF9sZW47CisJfQorCXJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBzaXplX3QgdXJsX21hdGNoX3ByZWZpeChjb25zdCBjaGFyICp1cmwsCisJCQkgICAgICAgY29uc3QgY2hhciAqdXJsX3ByZWZpeCwKKwkJCSAgICAgICBzaXplX3QgdXJsX3ByZWZpeF9sZW4pCit7CisJLyoKKwkgKiB1cmxfcHJlZml4IG1hdGNoZXMgdXJsIGlmIHVybF9wcmVmaXggaXMgYW4gZXhhY3QgbWF0Y2ggZm9yIHVybCBvciBpdAorCSAqIGlzIGEgcHJlZml4IG9mIHVybCBhbmQgdGhlIG1hdGNoIGVuZHMgb24gYSBwYXRoIGNvbXBvbmVudCBib3VuZGFyeS4KKwkgKiBCb3RoIHVybCBhbmQgdXJsX3ByZWZpeCBhcmUgY29uc2lkZXJlZCB0byBoYXZlIGFuIGltcGxpY2l0ICcvJyBvbiB0aGUKKwkgKiBlbmQgZm9yIG1hdGNoaW5nIHB1cnBvc2VzIGlmIHRoZXkgZG8gbm90IGFscmVhZHkuCisJICoKKwkgKiB1cmwgbXVzdCBiZSBOVUwgdGVybWluYXRlZC4gIHVybF9wcmVmaXhfbGVuIGlzIHRoZSBsZW5ndGggb2YKKwkgKiB1cmxfcHJlZml4IHdoaWNoIG5lZWQgbm90IGJlIE5VTCB0ZXJtaW5hdGVkLgorCSAqCisJICogVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgbGVuZ3RoIG9mIHRoZSBtYXRjaCBpbiBjaGFyYWN0ZXJzIChpbmNsdWRpbmcKKwkgKiB0aGUgZmluYWwgJy8nIGV2ZW4gaWYgaXQncyBpbXBsaWNpdCkgb3IgMCBmb3Igbm8gbWF0Y2guCisJICoKKwkgKiBQYXNzaW5nIE5VTEwgYXMgdXJsIGFuZC9vciB1cmxfcHJlZml4IHdpbGwgYWx3YXlzIGNhdXNlIDAgdG8gYmUKKwkgKiByZXR1cm5lZCB3aXRob3V0IGNhdXNpbmcgYW55IGZhdWx0cy4KKwkgKi8KKwlpZiAoIXVybCB8fCAhdXJsX3ByZWZpeCkKKwkJcmV0dXJuIDA7CisJaWYgKCF1cmxfcHJlZml4X2xlbiB8fCAodXJsX3ByZWZpeF9sZW4gPT0gMSAmJiAqdXJsX3ByZWZpeCA9PSAnLycpKQorCQlyZXR1cm4gKCEqdXJsIHx8ICp1cmwgPT0gJy8nKSA/IDEgOiAwOworCWlmICh1cmxfcHJlZml4W3VybF9wcmVmaXhfbGVuIC0gMV0gPT0gJy8nKQorCQl1cmxfcHJlZml4X2xlbi0tOworCWlmIChzdHJuY21wKHVybCwgdXJsX3ByZWZpeCwgdXJsX3ByZWZpeF9sZW4pKQorCQlyZXR1cm4gMDsKKwlpZiAoKHN0cmxlbih1cmwpID09IHVybF9wcmVmaXhfbGVuKSB8fCAodXJsW3VybF9wcmVmaXhfbGVuXSA9PSAnLycpKQorCQlyZXR1cm4gdXJsX3ByZWZpeF9sZW4gKyAxOworCXJldHVybiAwOworfQorCitpbnQgbWF0Y2hfdXJscyhjb25zdCBzdHJ1Y3QgdXJsX2luZm8gKnVybCwKKwkgICAgICAgY29uc3Qgc3RydWN0IHVybF9pbmZvICp1cmxfcHJlZml4LAorCSAgICAgICBpbnQgKmV4YWN0dXNlcm1hdGNoKQoreworCS8qCisJICogdXJsX3ByZWZpeCBtYXRjaGVzIHVybCBpZiB0aGUgc2NoZW1lLCBob3N0IGFuZCBwb3J0IG9mIHVybF9wcmVmaXgKKwkgKiBhcmUgdGhlIHNhbWUgYXMgdGhvc2Ugb2YgdXJsIGFuZCB0aGUgcGF0aCBwb3J0aW9uIG9mIHVybF9wcmVmaXgKKwkgKiBpcyB0aGUgc2FtZSBhcyB0aGUgcGF0aCBwb3J0aW9uIG9mIHVybCBvciBpdCBpcyBhIHByZWZpeCB0aGF0CisJICogbWF0Y2hlcyBhdCBhICcvJyBib3VuZGFyeS4gIElmIHVybF9wcmVmaXggY29udGFpbnMgYSB1c2VyIG5hbWUsCisJICogdGhhdCBtdXN0IGFsc28gZXhhY3RseSBtYXRjaCB0aGUgdXNlciBuYW1lIGluIHVybC4KKwkgKgorCSAqIElmIHRoZSB1c2VyLCBob3N0LCBwb3J0IGFuZCBwYXRoIG1hdGNoIGluIHRoaXMgZmFzaGlvbiwgdGhlIHJldHVybmVkCisJICogdmFsdWUgaXMgdGhlIGxlbmd0aCBvZiB0aGUgcGF0aCBtYXRjaCBpbmNsdWRpbmcgYW55IGltcGxpY2l0CisJICogZmluYWwgJy8nLiAgRm9yIGV4YW1wbGUsICJodHRwOi8vbWVAZXhhbXBsZS5jb20vcGF0aCIgaXMgbWF0Y2hlZCBieQorCSAqICJodHRwOi8vZXhhbXBsZS5jb20iIHdpdGggYSBwYXRoIGxlbmd0aCBvZiAxLgorCSAqCisJICogSWYgdGhlcmUgaXMgYSBtYXRjaCBhbmQgZXhhY3R1c2VybWF0Y2ggaXMgbm90IE5VTEwsIHRoZW4KKwkgKiAqZXhhY3R1c2VybWF0Y2ggd2lsbCBiZSBzZXQgdG8gdHJ1ZSBpZiBib3RoIHVybCBhbmQgdXJsX3ByZWZpeAorCSAqIGNvbnRhaW5lZCBhIHVzZXIgbmFtZSBvciBmYWxzZSBpZiB1cmxfcHJlZml4IGRpZCBub3QgaGF2ZSBhCisJICogdXNlciBuYW1lLiAgSWYgdGhlcmUgaXMgbm8gbWF0Y2ggKmV4YWN0dXNlcm1hdGNoIGlzIGxlZnQgdW50b3VjaGVkLgorCSAqLworCWludCB1c2VybWF0Y2hlZCA9IDA7CisJaW50IHBhdGhtYXRjaGxlbjsKKworCWlmICghdXJsIHx8ICF1cmxfcHJlZml4IHx8ICF1cmwtPnVybCB8fCAhdXJsX3ByZWZpeC0+dXJsKQorCQlyZXR1cm4gMDsKKworCS8qIGNoZWNrIHRoZSBzY2hlbWUgKi8KKwlpZiAodXJsX3ByZWZpeC0+c2NoZW1lX2xlbiAhPSB1cmwtPnNjaGVtZV9sZW4gfHwKKwkgICAgc3RybmNtcCh1cmwtPnVybCwgdXJsX3ByZWZpeC0+dXJsLCB1cmwtPnNjaGVtZV9sZW4pKQorCQlyZXR1cm4gMDsgLyogc2NoZW1lcyBkbyBub3QgbWF0Y2ggKi8KKworCS8qIGNoZWNrIHRoZSB1c2VyIG5hbWUgaWYgdXJsX3ByZWZpeCBoYXMgb25lICovCisJaWYgKHVybF9wcmVmaXgtPnVzZXJfb2ZmKSB7CisJCWlmICghdXJsLT51c2VyX29mZiB8fCB1cmwtPnVzZXJfbGVuICE9IHVybF9wcmVmaXgtPnVzZXJfbGVuIHx8CisJCSAgICBzdHJuY21wKHVybC0+dXJsICsgdXJsLT51c2VyX29mZiwKKwkJCSAgICB1cmxfcHJlZml4LT51cmwgKyB1cmxfcHJlZml4LT51c2VyX29mZiwKKwkJCSAgICB1cmwtPnVzZXJfbGVuKSkKKwkJCXJldHVybiAwOyAvKiB1cmxfcHJlZml4IGhhcyBhIHVzZXIgYnV0IGl0J3Mgbm90IGEgbWF0Y2ggKi8KKwkJdXNlcm1hdGNoZWQgPSAxOworCX0KKworCS8qIGNoZWNrIHRoZSBob3N0IGFuZCBwb3J0ICovCisJaWYgKHVybF9wcmVmaXgtPmhvc3RfbGVuICE9IHVybC0+aG9zdF9sZW4gfHwKKwkgICAgc3RybmNtcCh1cmwtPnVybCArIHVybC0+aG9zdF9vZmYsCisJCSAgICB1cmxfcHJlZml4LT51cmwgKyB1cmxfcHJlZml4LT5ob3N0X29mZiwgdXJsLT5ob3N0X2xlbikpCisJCXJldHVybiAwOyAvKiBob3N0IG5hbWVzIGFuZC9vciBwb3J0cyBkbyBub3QgbWF0Y2ggKi8KKworCS8qIGNoZWNrIHRoZSBwYXRoICovCisJcGF0aG1hdGNobGVuID0gdXJsX21hdGNoX3ByZWZpeCgKKwkJdXJsLT51cmwgKyB1cmwtPnBhdGhfb2ZmLAorCQl1cmxfcHJlZml4LT51cmwgKyB1cmxfcHJlZml4LT5wYXRoX29mZiwKKwkJdXJsX3ByZWZpeC0+dXJsX2xlbiAtIHVybF9wcmVmaXgtPnBhdGhfb2ZmKTsKKworCWlmIChwYXRobWF0Y2hsZW4gJiYgZXhhY3R1c2VybWF0Y2gpCisJCSpleGFjdHVzZXJtYXRjaCA9IHVzZXJtYXRjaGVkOworCXJldHVybiBwYXRobWF0Y2hsZW47Cit9CisKK2ludCB1cmxtYXRjaF9jb25maWdfZW50cnkoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpCit7CisJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CisJc3RydWN0IHVybG1hdGNoX2NvbmZpZyAqY29sbGVjdCA9IGNiOworCXN0cnVjdCB1cmxtYXRjaF9pdGVtICptYXRjaGVkOworCXN0cnVjdCB1cmxfaW5mbyAqdXJsID0gJmNvbGxlY3QtPnVybDsKKwljb25zdCBjaGFyICprZXksICpkb3Q7CisJc3RydWN0IHN0cmJ1ZiBzeW50aGtleSA9IFNUUkJVRl9JTklUOworCXNpemVfdCBtYXRjaGVkX2xlbiA9IDA7CisJaW50IHVzZXJfbWF0Y2hlZCA9IDA7CisJaW50IHJldHZhbDsKKworCWtleSA9IHNraXBfcHJlZml4KHZhciwgY29sbGVjdC0+c2VjdGlvbik7CisJaWYgKCFrZXkgfHwgKihrZXkrKykgIT0gJy4nKSB7CisJCWlmIChjb2xsZWN0LT5jYXNjYWRlX2ZuKQorCQkJcmV0dXJuIGNvbGxlY3QtPmNhc2NhZGVfZm4odmFyLCB2YWx1ZSwgY2IpOworCQlyZXR1cm4gMDsgLyogbm90IGludGVyZXN0ZWQgKi8KKwl9CisJZG90ID0gc3RycmNocihrZXksICcuJyk7CisJaWYgKGRvdCkgeworCQljaGFyICpjb25maWdfdXJsLCAqbm9ybV91cmw7CisJCXN0cnVjdCB1cmxfaW5mbyBub3JtX2luZm87CisKKwkJY29uZmlnX3VybCA9IHhtZW1kdXB6KGtleSwgZG90IC0ga2V5KTsKKwkJbm9ybV91cmwgPSB1cmxfbm9ybWFsaXplKGNvbmZpZ191cmwsICZub3JtX2luZm8pOworCQlmcmVlKGNvbmZpZ191cmwpOworCQlpZiAoIW5vcm1fdXJsKQorCQkJcmV0dXJuIDA7CisJCW1hdGNoZWRfbGVuID0gbWF0Y2hfdXJscyh1cmwsICZub3JtX2luZm8sICZ1c2VyX21hdGNoZWQpOworCQlmcmVlKG5vcm1fdXJsKTsKKwkJaWYgKCFtYXRjaGVkX2xlbikKKwkJCXJldHVybiAwOworCQlrZXkgPSBkb3QgKyAxOworCX0KKworCWlmIChjb2xsZWN0LT5rZXkgJiYgc3RyY21wKGtleSwgY29sbGVjdC0+a2V5KSkKKwkJcmV0dXJuIDA7CisKKwlpdGVtID0gc3RyaW5nX2xpc3RfaW5zZXJ0KCZjb2xsZWN0LT52YXJzLCBrZXkpOworCWlmICghaXRlbS0+dXRpbCkgeworCQltYXRjaGVkID0geGNhbGxvYygxLCBzaXplb2YoKm1hdGNoZWQpKTsKKwkJaXRlbS0+dXRpbCA9IG1hdGNoZWQ7CisJfSBlbHNlIHsKKwkJbWF0Y2hlZCA9IGl0ZW0tPnV0aWw7CisJCS8qCisJCSAqIElzIG91ciBtYXRjaCBzaG9ydGVyPyAgSXMgb3VyIG1hdGNoIHRoZSBzYW1lCisJCSAqIGxlbmd0aCwgYW5kIHdpdGhvdXQgdXNlciB3aGlsZSB0aGUgY3VycmVudAorCQkgKiBjYW5kaWRhdGUgaXMgd2l0aCB1c2VyPyAgVGhlbiB3ZSBjYW5ub3QgdXNlIGl0LgorCQkgKi8KKwkJaWYgKG1hdGNoZWRfbGVuIDwgbWF0Y2hlZC0+bWF0Y2hlZF9sZW4gfHwKKwkJICAgICgobWF0Y2hlZF9sZW4gPT0gbWF0Y2hlZC0+bWF0Y2hlZF9sZW4pICYmCisJCSAgICAgKCF1c2VyX21hdGNoZWQgJiYgbWF0Y2hlZC0+dXNlcl9tYXRjaGVkKSkpCisJCQlyZXR1cm4gMDsKKwkJLyogT3RoZXJ3aXNlLCByZXBsYWNlIGl0IHdpdGggdGhpcyBvbmUuICovCisJfQorCisJbWF0Y2hlZC0+bWF0Y2hlZF9sZW4gPSBtYXRjaGVkX2xlbjsKKwltYXRjaGVkLT51c2VyX21hdGNoZWQgPSB1c2VyX21hdGNoZWQ7CisJc3RyYnVmX2FkZHN0cigmc3ludGhrZXksIGNvbGxlY3QtPnNlY3Rpb24pOworCXN0cmJ1Zl9hZGRjaCgmc3ludGhrZXksICcuJyk7CisJc3RyYnVmX2FkZHN0cigmc3ludGhrZXksIGtleSk7CisJcmV0dmFsID0gY29sbGVjdC0+Y29sbGVjdF9mbihzeW50aGtleS5idWYsIHZhbHVlLCBjb2xsZWN0LT5jYik7CisKKwlzdHJidWZfcmVsZWFzZSgmc3ludGhrZXkpOworCXJldHVybiByZXR2YWw7Cit9CmRpZmYgLS1naXQgYS91cmxtYXRjaC5oIGIvdXJsbWF0Y2guaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDYxZGZkCi0tLSAvZGV2L251bGwKKysrIGIvdXJsbWF0Y2guaApAQCAtMCwwICsxLDU0IEBACisjaWZuZGVmIFVSTF9NQVRDSF9ICisjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKKworc3RydWN0IHVybF9pbmZvIHsKKwkvKiBub3JtYWxpemVkIHVybCBvbiBzdWNjZXNzLCBtdXN0IGJlIGZyZWVkLCBvdGhlcndpc2UgTlVMTCAqLworCWNoYXIgKnVybDsKKwkvKiBpZiAhdXJsLCBhIGJyaWVmIHJlYXNvbiBmb3IgdGhlIGZhaWx1cmUsIG90aGVyd2lzZSBOVUxMICovCisJY29uc3QgY2hhciAqZXJyOworCisJLyogdGhlIHJlc3Qgb2YgdGhlIGZpZWxkcyBhcmUgb25seSBzZXQgaWYgdXJsICE9IE5VTEwgKi8KKworCXNpemVfdCB1cmxfbGVuOwkJLyogdG90YWwgbGVuZ3RoIG9mIHVybCAod2hpY2ggaXMgbm93IG5vcm1hbGl6ZWQpICovCisJc2l6ZV90IHNjaGVtZV9sZW47CS8qIGxlbmd0aCBvZiBzY2hlbWUgbmFtZSAoZXhjbHVkaW5nIGZpbmFsIDopICovCisJc2l6ZV90IHVzZXJfb2ZmOwkvKiBvZmZzZXQgaW50byB1cmwgdG8gc3RhcnQgb2YgdXNlciBuYW1lICgwID0+IG5vbmUpICovCisJc2l6ZV90IHVzZXJfbGVuOwkvKiBsZW5ndGggb2YgdXNlciBuYW1lOyBpZiB1c2VyX29mZiAhPSAwIGJ1dAorCQkJCSAgIHVzZXJfbGVuID09IDAsIGFuIGVtcHR5IHVzZXIgbmFtZSB3YXMgZ2l2ZW4gKi8KKwlzaXplX3QgcGFzc3dkX29mZjsJLyogb2Zmc2V0IGludG8gdXJsIHRvIHN0YXJ0IG9mIHBhc3N3ZCAoMCA9PiBub25lKSAqLworCXNpemVfdCBwYXNzd2RfbGVuOwkvKiBsZW5ndGggb2YgcGFzc3dkOyBpZiBwYXNzd2Rfb2ZmICE9IDAgYnV0CisJCQkJICAgcGFzc3dkX2xlbiA9PSAwLCBhbiBlbXB0eSBwYXNzd2Qgd2FzIGdpdmVuICovCisJc2l6ZV90IGhvc3Rfb2ZmOwkvKiBvZmZzZXQgaW50byB1cmwgdG8gc3RhcnQgb2YgaG9zdCBuYW1lICgwID0+IG5vbmUpICovCisJc2l6ZV90IGhvc3RfbGVuOwkvKiBsZW5ndGggb2YgaG9zdCBuYW1lOyB0aGlzIElOQ0xVREVTIGFueSAnOnBvcnRudW0nOworCQkJCSAqIGZpbGUgdXJscyBtYXkgaGF2ZSBob3N0X2xlbiA9PSAwICovCisJc2l6ZV90IHBvcnRfbGVuOwkvKiBpZiBhIHBvcnRudW0gaXMgcHJlc2VudCAocG9ydF9sZW4gIT0gMCksIGl0IGhhcworCQkJCSAqIHRoaXMgbGVuZ3RoIChleGNsdWRpbmcgdGhlIGxlYWRpbmcgJzonKSBhdCB0aGUKKwkJCQkgKiBlbmQgb2YgdGhlIGhvc3QgbmFtZSAoYWx3YXlzIDAgZm9yIGZpbGUgdXJscykgKi8KKwlzaXplX3QgcGF0aF9vZmY7CS8qIG9mZnNldCBpbnRvIHVybCB0byB0aGUgc3RhcnQgb2YgdGhlIHVybCBwYXRoOworCQkJCSAqIHRoaXMgd2lsbCBhbHdheXMgcG9pbnQgdG8gYSAnLycgY2hhcmFjdGVyCisJCQkJICogYWZ0ZXIgdGhlIHVybCBoYXMgYmVlbiBub3JtYWxpemVkICovCisJc2l6ZV90IHBhdGhfbGVuOwkvKiBsZW5ndGggb2YgcGF0aCBwb3J0aW9uIGV4Y2x1ZGluZyBhbnkgdHJhaWxpbmcKKwkJCQkgKiAnPy4uLicgYW5kICcjLi4uJyBwb3J0aW9uOyB3aWxsIGFsd2F5cyBiZSA+PSAxICovCit9OworCitleHRlcm4gY2hhciAqdXJsX25vcm1hbGl6ZShjb25zdCBjaGFyICosIHN0cnVjdCB1cmxfaW5mbyAqKTsKK2V4dGVybiBpbnQgbWF0Y2hfdXJscyhjb25zdCBzdHJ1Y3QgdXJsX2luZm8gKnVybCwgY29uc3Qgc3RydWN0IHVybF9pbmZvICp1cmxfcHJlZml4LCBpbnQgKmV4YWN0dXNlcm1hdGNoKTsKKworc3RydWN0IHVybG1hdGNoX2l0ZW0geworCXNpemVfdCBtYXRjaGVkX2xlbjsKKwljaGFyIHVzZXJfbWF0Y2hlZDsKK307CisKK3N0cnVjdCB1cmxtYXRjaF9jb25maWcgeworCXN0cnVjdCBzdHJpbmdfbGlzdCB2YXJzOworCXN0cnVjdCB1cmxfaW5mbyB1cmw7CisJY29uc3QgY2hhciAqc2VjdGlvbjsKKwljb25zdCBjaGFyICprZXk7CisKKwl2b2lkICpjYjsKKwlpbnQgKCpjb2xsZWN0X2ZuKShjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYik7CisJaW50ICgqY2FzY2FkZV9mbikoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpOworfTsKKworZXh0ZXJuIGludCB1cmxtYXRjaF9jb25maWdfZW50cnkoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpOworCisjZW5kaWYgLyogVVJMX01BVENIX0ggKi8KZGlmZiAtLWdpdCBhL3Zjcy1zdm4vZmFzdF9leHBvcnQuYyBiL3Zjcy1zdm4vZmFzdF9leHBvcnQuYwppbmRleCBmMmIyM2M4Li5iZDBmMmMyIDEwMDY0NAotLS0gYS92Y3Mtc3ZuL2Zhc3RfZXhwb3J0LmMKKysrIGIvdmNzLXN2bi9mYXN0X2V4cG9ydC5jCkBAIC0xNjIsMjIgKzE2MiwxMyBAQAogCWRpZSgiaW52YWxpZCBkdW1wOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIik7CiB9CiAKLXN0YXRpYyBpbnQgZW5kc193aXRoKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBsZW4sIGNvbnN0IGNoYXIgKnN1ZmZpeCkKLXsKLQljb25zdCBzaXplX3Qgc3VmZml4bGVuID0gc3RybGVuKHN1ZmZpeCk7Ci0JaWYgKGxlbiA8IHN1ZmZpeGxlbikKLQkJcmV0dXJuIDA7Ci0JcmV0dXJuICFtZW1jbXAocyArIGxlbiAtIHN1ZmZpeGxlbiwgc3VmZml4LCBzdWZmaXhsZW4pOwotfQotCiBzdGF0aWMgaW50IHBhcnNlX2NhdF9yZXNwb25zZV9saW5lKGNvbnN0IGNoYXIgKmhlYWRlciwgb2ZmX3QgKmxlbikKIHsKLQlzaXplX3QgaGVhZGVybGVuID0gc3RybGVuKGhlYWRlcik7CiAJdWludG1heF90IG47CiAJY29uc3QgY2hhciAqdHlwZTsKIAljb25zdCBjaGFyICplbmQ7CiAKLQlpZiAoZW5kc193aXRoKGhlYWRlciwgaGVhZGVybGVuLCAiIG1pc3NpbmciKSkKKwlpZiAoZW5kc193aXRoKGhlYWRlciwgIiBtaXNzaW5nIikpCiAJCXJldHVybiBlcnJvcigiY2F0LWJsb2IgcmVwb3J0cyBtaXNzaW5nIGJsb2I6ICVzIiwgaGVhZGVyKTsKIAl0eXBlID0gc3Ryc3RyKGhlYWRlciwgIiBibG9iICIpOwogCWlmICghdHlwZSkKZGlmZiAtLWdpdCBhL3dhbGtlci5jIGIvd2Fsa2VyLmMKaW5kZXggYmUzODlkYy4uNjMzNTk2ZSAxMDA2NDQKLS0tIGEvd2Fsa2VyLmMKKysrIGIvd2Fsa2VyLmMKQEAgLTU2LDEwICs1Niw3IEBACiAJCWlmICghb2JqIHx8IHByb2Nlc3Mod2Fsa2VyLCBvYmopKQogCQkJcmV0dXJuIC0xOwogCX0KLQlmcmVlKHRyZWUtPmJ1ZmZlcik7Ci0JdHJlZS0+YnVmZmVyID0gTlVMTDsKLQl0cmVlLT5zaXplID0gMDsKLQl0cmVlLT5vYmplY3QucGFyc2VkID0gMDsKKwlmcmVlX3RyZWVfYnVmZmVyKHRyZWUpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS93cmFwcGVyLmMgYi93cmFwcGVyLmMKaW5kZXggZjkyYjE0Ny4uMGNjNTYzNiAxMDA2NDQKLS0tIGEvd3JhcHBlci5jCisrKyBiL3dyYXBwZXIuYwpAQCAtMTMzLDcgKzEzMyw3IEBACiAvKgogICogTGltaXQgc2l6ZSBvZiBJTyBjaHVua3MsIGJlY2F1c2UgaHVnZSBjaHVua3Mgb25seSBjYXVzZSBwYWluLiAgT1MgWAogICogNjQtYml0IGlzIGJ1Z2d5LCByZXR1cm5pbmcgRUlOVkFMIGlmIGxlbiA+PSBJTlRfTUFYOyBhbmQgZXZlbiBpbgotICogdGhlIGFic2Vuc2Ugb2YgYnVncywgbGFyZ2UgY2h1bmtzIGNhbiByZXN1bHQgaW4gYmFkIGxhdGVuY2llcyB3aGVuCisgKiB0aGUgYWJzZW5jZSBvZiBidWdzLCBsYXJnZSBjaHVua3MgY2FuIHJlc3VsdCBpbiBiYWQgbGF0ZW5jaWVzIHdoZW4KICAqIHlvdSBkZWNpZGUgdG8ga2lsbCB0aGUgcHJvY2Vzcy4KICAqLwogI2RlZmluZSBNQVhfSU9fU0laRSAoOCoxMDI0KjEwMjQpCkBAIC0zNjAsMTAgKzM2MCwxMiBAQAogCXJldHVybiBnaXRfbWtzdGVtcHNfbW9kZShwYXR0ZXJuLCAwLCBtb2RlKTsKIH0KIAorI2lmZGVmIE5PX01LU1RFTVBTCiBpbnQgZ2l0bWtzdGVtcHMoY2hhciAqcGF0dGVybiwgaW50IHN1ZmZpeF9sZW4pCiB7CiAJcmV0dXJuIGdpdF9ta3N0ZW1wc19tb2RlKHBhdHRlcm4sIHN1ZmZpeF9sZW4sIDA2MDApOwogfQorI2VuZGlmCiAKIGludCB4bWtzdGVtcF9tb2RlKGNoYXIgKnRlbXBsYXRlLCBpbnQgbW9kZSkKIHsKZGlmZiAtLWdpdCBhL3d0LXN0YXR1cy5jIGIvd3Qtc3RhdHVzLmMKaW5kZXggY2IyNGYxZi4uNGU1NTgxMCAxMDA2NDQKLS0tIGEvd3Qtc3RhdHVzLmMKKysrIGIvd3Qtc3RhdHVzLmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJwYXRoc3BlYy5oIgogI2luY2x1ZGUgInd0LXN0YXR1cy5oIgogI2luY2x1ZGUgIm9iamVjdC5oIgogI2luY2x1ZGUgImRpci5oIgpAQCAtOCwxMSArOSwxNiBAQAogI2luY2x1ZGUgImRpZmZjb3JlLmgiCiAjaW5jbHVkZSAicXVvdGUuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgorI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKICNpbmNsdWRlICJyZW1vdGUuaCIKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAic3VibW9kdWxlLmgiCiAjaW5jbHVkZSAiY29sdW1uLmgiCiAjaW5jbHVkZSAic3RyYnVmLmgiCisjaW5jbHVkZSAidXRmOC5oIgorCitzdGF0aWMgY2hhciBjdXRfbGluZVtdID0KKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gPjggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iOwogCiBzdGF0aWMgY2hhciBkZWZhdWx0X3d0X3N0YXR1c19jb2xvcnNbXVtDT0xPUl9NQVhMRU5dID0gewogCUdJVF9DT0xPUl9OT1JNQUwsIC8qIFdUX1NUQVRVU19IRUFERVIgKi8KQEAgLTQ1LDkgKzUxLDExIEBACiAKIAlzdHJidWZfdmFkZGYoJnNiLCBmbXQsIGFwKTsKIAlpZiAoIXNiLmxlbikgewotCQlzdHJidWZfYWRkY2goJnNiLCBjb21tZW50X2xpbmVfY2hhcik7Ci0JCWlmICghdHJhaWwpCi0JCQlzdHJidWZfYWRkY2goJnNiLCAnICcpOworCQlpZiAocy0+ZGlzcGxheV9jb21tZW50X3ByZWZpeCkgeworCQkJc3RyYnVmX2FkZGNoKCZzYiwgY29tbWVudF9saW5lX2NoYXIpOworCQkJaWYgKCF0cmFpbCkKKwkJCQlzdHJidWZfYWRkY2goJnNiLCAnICcpOworCQl9CiAJCWNvbG9yX3ByaW50X3N0cmJ1ZihzLT5mcCwgY29sb3IsICZzYik7CiAJCWlmICh0cmFpbCkKIAkJCWZwcmludGYocy0+ZnAsICIlcyIsIHRyYWlsKTsKQEAgLTU4LDcgKzY2LDcgQEAKIAkJZW9sID0gc3RyY2hyKGxpbmUsICdcbicpOwogCiAJCXN0cmJ1Zl9yZXNldCgmbGluZWJ1Zik7Ci0JCWlmIChhdF9ib2wpIHsKKwkJaWYgKGF0X2JvbCAmJiBzLT5kaXNwbGF5X2NvbW1lbnRfcHJlZml4KSB7CiAJCQlzdHJidWZfYWRkY2goJmxpbmVidWYsIGNvbW1lbnRfbGluZV9jaGFyKTsKIAkJCWlmICgqbGluZSAhPSAnXG4nICYmICpsaW5lICE9ICdcdCcpCiAJCQkJc3RyYnVmX2FkZGNoKCZsaW5lYnVmLCAnICcpOwpAQCAtMTI4LDYgKzEzNiw3IEBACiAJcy0+dW50cmFja2VkLnN0cmR1cF9zdHJpbmdzID0gMTsKIAlzLT5pZ25vcmVkLnN0cmR1cF9zdHJpbmdzID0gMTsKIAlzLT5zaG93X2JyYW5jaCA9IC0xOyAgLyogdW5zcGVjaWZpZWQgKi8KKwlzLT5kaXNwbGF5X2NvbW1lbnRfcHJlZml4ID0gMDsKIH0KIAogc3RhdGljIHZvaWQgd3Rfc3RhdHVzX3ByaW50X3VubWVyZ2VkX2hlYWRlcihzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQpAQCAtMTYwLDcgKzE2OSw3IEBACiAJCX0KIAl9CiAKLQlpZiAoIWFkdmljZV9zdGF0dXNfaGludHMpCisJaWYgKCFzLT5oaW50cykKIAkJcmV0dXJuOwogCWlmIChzLT53aGVuY2UgIT0gRlJPTV9DT01NSVQpCiAJCTsKQEAgLTE4Nyw3ICsxOTYsNyBAQAogCWNvbnN0IGNoYXIgKmMgPSBjb2xvcihXVF9TVEFUVVNfSEVBREVSLCBzKTsKIAogCXN0YXR1c19wcmludGZfbG4ocywgYywgXygiQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IikpOwotCWlmICghYWR2aWNlX3N0YXR1c19oaW50cykKKwlpZiAoIXMtPmhpbnRzKQogCQlyZXR1cm47CiAJaWYgKHMtPndoZW5jZSAhPSBGUk9NX0NPTU1JVCkKIAkJOyAvKiBORUVEU1dPUks6IHVzZSAiZ2l0IHJlc2V0IC0tdW5yZXNvbHZlIj8/PyAqLwpAQCAtMjA1LDcgKzIxNCw3IEBACiAJY29uc3QgY2hhciAqYyA9IGNvbG9yKFdUX1NUQVRVU19IRUFERVIsIHMpOwogCiAJc3RhdHVzX3ByaW50Zl9sbihzLCBjLCBfKCJDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoiKSk7Ci0JaWYgKCFhZHZpY2Vfc3RhdHVzX2hpbnRzKQorCWlmICghcy0+aGludHMpCiAJCXJldHVybjsKIAlpZiAoIWhhc19kZWxldGVkKQogCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGMsIF8oIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIikpOwpAQCAtMjIzLDcgKzIzMiw3IEBACiB7CiAJY29uc3QgY2hhciAqYyA9IGNvbG9yKFdUX1NUQVRVU19IRUFERVIsIHMpOwogCXN0YXR1c19wcmludGZfbG4ocywgYywgIiVzOiIsIHdoYXQpOwotCWlmICghYWR2aWNlX3N0YXR1c19oaW50cykKKwlpZiAoIXMtPmhpbnRzKQogCQlyZXR1cm47CiAJc3RhdHVzX3ByaW50Zl9sbihzLCBjLCBfKCIgICh1c2UgXCJnaXQgJXMgPGZpbGU+Li4uXCIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIpLCBob3cpOwogCXN0YXR1c19wcmludGZfbG4ocywgYywgIiIpOwpAQCAtMjU5LDYgKzI2OCwzMCBAQAogCXN0cmJ1Zl9yZWxlYXNlKCZvbmVidWYpOwogfQogCitzdGF0aWMgY29uc3QgY2hhciAqd3Rfc3RhdHVzX2RpZmZfc3RhdHVzX3N0cmluZyhpbnQgc3RhdHVzKQoreworCXN3aXRjaCAoc3RhdHVzKSB7CisJY2FzZSBESUZGX1NUQVRVU19BRERFRDoKKwkJcmV0dXJuIF8oIm5ldyBmaWxlIik7CisJY2FzZSBESUZGX1NUQVRVU19DT1BJRUQ6CisJCXJldHVybiBfKCJjb3BpZWQiKTsKKwljYXNlIERJRkZfU1RBVFVTX0RFTEVURUQ6CisJCXJldHVybiBfKCJkZWxldGVkIik7CisJY2FzZSBESUZGX1NUQVRVU19NT0RJRklFRDoKKwkJcmV0dXJuIF8oIm1vZGlmaWVkIik7CisJY2FzZSBESUZGX1NUQVRVU19SRU5BTUVEOgorCQlyZXR1cm4gXygicmVuYW1lZCIpOworCWNhc2UgRElGRl9TVEFUVVNfVFlQRV9DSEFOR0VEOgorCQlyZXR1cm4gXygidHlwZWNoYW5nZSIpOworCWNhc2UgRElGRl9TVEFUVVNfVU5LTk9XTjoKKwkJcmV0dXJuIF8oInVua25vd24iKTsKKwljYXNlIERJRkZfU1RBVFVTX1VOTUVSR0VEOgorCQlyZXR1cm4gXygidW5tZXJnZWQiKTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gTlVMTDsKKwl9Cit9CisKIHN0YXRpYyB2b2lkIHd0X3N0YXR1c19wcmludF9jaGFuZ2VfZGF0YShzdHJ1Y3Qgd3Rfc3RhdHVzICpzLAogCQkJCQlpbnQgY2hhbmdlX3R5cGUsCiAJCQkJCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdCkKQEAgLTI3MSw2ICszMDQsMjMgQEAKIAljb25zdCBjaGFyICpvbmUsICp0d287CiAJc3RydWN0IHN0cmJ1ZiBvbmVidWYgPSBTVFJCVUZfSU5JVCwgdHdvYnVmID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0cmJ1ZiBleHRyYSA9IFNUUkJVRl9JTklUOworCXN0YXRpYyBjaGFyICpwYWRkaW5nOworCWNvbnN0IGNoYXIgKndoYXQ7CisJaW50IGxlbjsKKworCWlmICghcGFkZGluZykgeworCQlpbnQgd2lkdGggPSAwOworCQkvKiBJZiBESUZGX1NUQVRVU18qIHVzZXMgb3V0c2lkZSB0aGlzIHJhbmdlLCB3ZSdyZSBpbiB0cm91YmxlICovCisJCWZvciAoc3RhdHVzID0gJ0EnOyBzdGF0dXMgPD0gJ1onOyBzdGF0dXMrKykgeworCQkJd2hhdCA9IHd0X3N0YXR1c19kaWZmX3N0YXR1c19zdHJpbmcoc3RhdHVzKTsKKwkJCWxlbiA9IHdoYXQgPyBzdHJsZW4od2hhdCkgOiAwOworCQkJaWYgKGxlbiA+IHdpZHRoKQorCQkJCXdpZHRoID0gbGVuOworCQl9CisJCXdpZHRoICs9IDI7CS8qIGNvbG9uIGFuZCBhIHNwYWNlICovCisJCXBhZGRpbmcgPSB4bWFsbG9jeih3aWR0aCk7CisJCW1lbXNldChwYWRkaW5nLCAnICcsIHdpZHRoKTsKKwl9CiAKIAlvbmVfbmFtZSA9IHR3b19uYW1lID0gaXQtPnN0cmluZzsKIAlzd2l0Y2ggKGNoYW5nZV90eXBlKSB7CkBAIC0zMDIsMzQgKzM1MiwxOCBAQAogCXR3byA9IHF1b3RlX3BhdGgodHdvX25hbWUsIHMtPnByZWZpeCwgJnR3b2J1Zik7CiAKIAlzdGF0dXNfcHJpbnRmKHMsIGNvbG9yKFdUX1NUQVRVU19IRUFERVIsIHMpLCAiXHQiKTsKLQlzd2l0Y2ggKHN0YXR1cykgewotCWNhc2UgRElGRl9TVEFUVVNfQURERUQ6Ci0JCXN0YXR1c19wcmludGZfbW9yZShzLCBjLCBfKCJuZXcgZmlsZTogICAlcyIpLCBvbmUpOwotCQlicmVhazsKLQljYXNlIERJRkZfU1RBVFVTX0NPUElFRDoKLQkJc3RhdHVzX3ByaW50Zl9tb3JlKHMsIGMsIF8oImNvcGllZDogICAgICVzIC0+ICVzIiksIG9uZSwgdHdvKTsKLQkJYnJlYWs7Ci0JY2FzZSBESUZGX1NUQVRVU19ERUxFVEVEOgotCQlzdGF0dXNfcHJpbnRmX21vcmUocywgYywgXygiZGVsZXRlZDogICAgJXMiKSwgb25lKTsKLQkJYnJlYWs7Ci0JY2FzZSBESUZGX1NUQVRVU19NT0RJRklFRDoKLQkJc3RhdHVzX3ByaW50Zl9tb3JlKHMsIGMsIF8oIm1vZGlmaWVkOiAgICVzIiksIG9uZSk7Ci0JCWJyZWFrOwotCWNhc2UgRElGRl9TVEFUVVNfUkVOQU1FRDoKLQkJc3RhdHVzX3ByaW50Zl9tb3JlKHMsIGMsIF8oInJlbmFtZWQ6ICAgICVzIC0+ICVzIiksIG9uZSwgdHdvKTsKLQkJYnJlYWs7Ci0JY2FzZSBESUZGX1NUQVRVU19UWVBFX0NIQU5HRUQ6Ci0JCXN0YXR1c19wcmludGZfbW9yZShzLCBjLCBfKCJ0eXBlY2hhbmdlOiAlcyIpLCBvbmUpOwotCQlicmVhazsKLQljYXNlIERJRkZfU1RBVFVTX1VOS05PV046Ci0JCXN0YXR1c19wcmludGZfbW9yZShzLCBjLCBfKCJ1bmtub3duOiAgICAlcyIpLCBvbmUpOwotCQlicmVhazsKLQljYXNlIERJRkZfU1RBVFVTX1VOTUVSR0VEOgotCQlzdGF0dXNfcHJpbnRmX21vcmUocywgYywgXygidW5tZXJnZWQ6ICAgJXMiKSwgb25lKTsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKKwl3aGF0ID0gd3Rfc3RhdHVzX2RpZmZfc3RhdHVzX3N0cmluZyhzdGF0dXMpOworCWlmICghd2hhdCkKIAkJZGllKF8oImJ1ZzogdW5oYW5kbGVkIGRpZmYgc3RhdHVzICVjIiksIHN0YXR1cyk7Ci0JfQorCS8qIDEgZm9yIGNvbG9uLCB3aGljaCBpcyBub3QgcGFydCBvZiAid2hhdCIgKi8KKwlsZW4gPSBzdHJsZW4ocGFkZGluZykgLSAodXRmOF9zdHJ3aWR0aCh3aGF0KSArIDEpOworCWFzc2VydChsZW4gPj0gMCk7CisJaWYgKHN0YXR1cyA9PSBESUZGX1NUQVRVU19DT1BJRUQgfHwgc3RhdHVzID09IERJRkZfU1RBVFVTX1JFTkFNRUQpCisJCXN0YXR1c19wcmludGZfbW9yZShzLCBjLCAiJXM6JS4qcyVzIC0+ICVzIiwKKwkJCQkgICB3aGF0LCBsZW4sIHBhZGRpbmcsIG9uZSwgdHdvKTsKKwllbHNlCisJCXN0YXR1c19wcmludGZfbW9yZShzLCBjLCAiJXM6JS4qcyVzIiwKKwkJCQkgICB3aGF0LCBsZW4sIHBhZGRpbmcsIG9uZSk7CiAJaWYgKGV4dHJhLmxlbikgewogCQlzdGF0dXNfcHJpbnRmX21vcmUocywgY29sb3IoV1RfU1RBVFVTX0hFQURFUiwgcyksICIlcyIsIGV4dHJhLmJ1Zik7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZleHRyYSk7CkBAIC00MzgsNyArNDcyLDcgQEAKIAl9CiAJcmV2LmRpZmZvcHQuZm9ybWF0X2NhbGxiYWNrID0gd3Rfc3RhdHVzX2NvbGxlY3RfY2hhbmdlZF9jYjsKIAlyZXYuZGlmZm9wdC5mb3JtYXRfY2FsbGJhY2tfZGF0YSA9IHM7Ci0JaW5pdF9wYXRoc3BlYygmcmV2LnBydW5lX2RhdGEsIHMtPnBhdGhzcGVjKTsKKwljb3B5X3BhdGhzcGVjKCZyZXYucHJ1bmVfZGF0YSwgJnMtPnBhdGhzcGVjKTsKIAlydW5fZGlmZl9maWxlcygmcmV2LCAwKTsKIH0KIApAQCAtNDYzLDIyICs0OTcsMjAgQEAKIAlyZXYuZGlmZm9wdC5kZXRlY3RfcmVuYW1lID0gMTsKIAlyZXYuZGlmZm9wdC5yZW5hbWVfbGltaXQgPSAyMDA7CiAJcmV2LmRpZmZvcHQuYnJlYWtfb3B0ID0gMDsKLQlpbml0X3BhdGhzcGVjKCZyZXYucHJ1bmVfZGF0YSwgcy0+cGF0aHNwZWMpOworCWNvcHlfcGF0aHNwZWMoJnJldi5wcnVuZV9kYXRhLCAmcy0+cGF0aHNwZWMpOwogCXJ1bl9kaWZmX2luZGV4KCZyZXYsIDEpOwogfQogCiBzdGF0aWMgdm9pZCB3dF9zdGF0dXNfY29sbGVjdF9jaGFuZ2VzX2luaXRpYWwoc3RydWN0IHd0X3N0YXR1cyAqcykKIHsKLQlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAJaW50IGk7CiAKLQlpbml0X3BhdGhzcGVjKCZwYXRoc3BlYywgcy0+cGF0aHNwZWMpOwogCWZvciAoaSA9IDA7IGkgPCBhY3RpdmVfbnI7IGkrKykgewogCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXQ7CiAJCXN0cnVjdCB3dF9zdGF0dXNfY2hhbmdlX2RhdGEgKmQ7CiAJCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBhY3RpdmVfY2FjaGVbaV07CiAKLQkJaWYgKCFjZV9wYXRoX21hdGNoKGNlLCAmcGF0aHNwZWMpKQorCQlpZiAoIWNlX3BhdGhfbWF0Y2goY2UsICZzLT5wYXRoc3BlYykpCiAJCQljb250aW51ZTsKIAkJaXQgPSBzdHJpbmdfbGlzdF9pbnNlcnQoJnMtPmNoYW5nZSwgY2UtPm5hbWUpOwogCQlkID0gaXQtPnV0aWw7CkBAIC00OTMsNyArNTI1LDYgQEAKIAkJZWxzZQogCQkJZC0+aW5kZXhfc3RhdHVzID0gRElGRl9TVEFUVVNfQURERUQ7CiAJfQotCWZyZWVfcGF0aHNwZWMoJnBhdGhzcGVjKTsKIH0KIAogc3RhdGljIHZvaWQgd3Rfc3RhdHVzX2NvbGxlY3RfdW50cmFja2VkKHN0cnVjdCB3dF9zdGF0dXMgKnMpCkBAIC01MTYsMTIgKzU0NywxMiBAQAogCQlkaXIuZmxhZ3MgfD0gRElSX1NIT1dfSUdOT1JFRF9UT087CiAJc2V0dXBfc3RhbmRhcmRfZXhjbHVkZXMoJmRpcik7CiAKLQlmaWxsX2RpcmVjdG9yeSgmZGlyLCBzLT5wYXRoc3BlYyk7CisJZmlsbF9kaXJlY3RvcnkoJmRpciwgJnMtPnBhdGhzcGVjKTsKIAogCWZvciAoaSA9IDA7IGkgPCBkaXIubnI7IGkrKykgewogCQlzdHJ1Y3QgZGlyX2VudHJ5ICplbnQgPSBkaXIuZW50cmllc1tpXTsKIAkJaWYgKGNhY2hlX25hbWVfaXNfb3RoZXIoZW50LT5uYW1lLCBlbnQtPmxlbikgJiYKLQkJICAgIG1hdGNoX3BhdGhzcGVjKHMtPnBhdGhzcGVjLCBlbnQtPm5hbWUsIGVudC0+bGVuLCAwLCBOVUxMKSkKKwkJICAgIG1hdGNoX3BhdGhzcGVjX2RlcHRoKCZzLT5wYXRoc3BlYywgZW50LT5uYW1lLCBlbnQtPmxlbiwgMCwgTlVMTCkpCiAJCQlzdHJpbmdfbGlzdF9pbnNlcnQoJnMtPnVudHJhY2tlZCwgZW50LT5uYW1lKTsKIAkJZnJlZShlbnQpOwogCX0KQEAgLTUyOSw3ICs1NjAsNyBAQAogCWZvciAoaSA9IDA7IGkgPCBkaXIuaWdub3JlZF9ucjsgaSsrKSB7CiAJCXN0cnVjdCBkaXJfZW50cnkgKmVudCA9IGRpci5pZ25vcmVkW2ldOwogCQlpZiAoY2FjaGVfbmFtZV9pc19vdGhlcihlbnQtPm5hbWUsIGVudC0+bGVuKSAmJgotCQkgICAgbWF0Y2hfcGF0aHNwZWMocy0+cGF0aHNwZWMsIGVudC0+bmFtZSwgZW50LT5sZW4sIDAsIE5VTEwpKQorCQkgICAgbWF0Y2hfcGF0aHNwZWNfZGVwdGgoJnMtPnBhdGhzcGVjLCBlbnQtPm5hbWUsIGVudC0+bGVuLCAwLCBOVUxMKSkKIAkJCXN0cmluZ19saXN0X2luc2VydCgmcy0+aWdub3JlZCwgZW50LT5uYW1lKTsKIAkJZnJlZShlbnQpOwogCX0KQEAgLTY2MywyOSArNjk0LDU3IEBACiAJY2hhciBzdW1tYXJ5X2xpbWl0WzY0XTsKIAljaGFyIGluZGV4W1BBVEhfTUFYXTsKIAljb25zdCBjaGFyICplbnZbXSA9IHsgTlVMTCwgTlVMTCB9OwotCWNvbnN0IGNoYXIgKmFyZ3ZbOF07Ci0KLQllbnZbMF0gPQlpbmRleDsKLQlhcmd2WzBdID0JInN1Ym1vZHVsZSI7Ci0JYXJndlsxXSA9CSJzdW1tYXJ5IjsKLQlhcmd2WzJdID0JdW5jb21taXR0ZWQgPyAiLS1maWxlcyIgOiAiLS1jYWNoZWQiOwotCWFyZ3ZbM10gPQkiLS1mb3Itc3RhdHVzIjsKLQlhcmd2WzRdID0JIi0tc3VtbWFyeS1saW1pdCI7Ci0JYXJndls1XSA9CXN1bW1hcnlfbGltaXQ7Ci0JYXJndls2XSA9CXVuY29tbWl0dGVkID8gTlVMTCA6IChzLT5hbWVuZCA/ICJIRUFEXiIgOiAiSEVBRCIpOwotCWFyZ3ZbN10gPQlOVUxMOworCXN0cnVjdCBhcmd2X2FycmF5IGFyZ3YgPSBBUkdWX0FSUkFZX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBjbWRfc3Rkb3V0ID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBzdW1tYXJ5ID0gU1RSQlVGX0lOSVQ7CisJY2hhciAqc3VtbWFyeV9jb250ZW50OworCXNpemVfdCBsZW47CiAKIAlzcHJpbnRmKHN1bW1hcnlfbGltaXQsICIlZCIsIHMtPnN1Ym1vZHVsZV9zdW1tYXJ5KTsKIAlzbnByaW50ZihpbmRleCwgc2l6ZW9mKGluZGV4KSwgIkdJVF9JTkRFWF9GSUxFPSVzIiwgcy0+aW5kZXhfZmlsZSk7CiAKKwllbnZbMF0gPSBpbmRleDsKKwlhcmd2X2FycmF5X3B1c2goJmFyZ3YsICJzdWJtb2R1bGUiKTsKKwlhcmd2X2FycmF5X3B1c2goJmFyZ3YsICJzdW1tYXJ5Iik7CisJYXJndl9hcnJheV9wdXNoKCZhcmd2LCB1bmNvbW1pdHRlZCA/ICItLWZpbGVzIiA6ICItLWNhY2hlZCIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmYXJndiwgIi0tZm9yLXN0YXR1cyIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmYXJndiwgIi0tc3VtbWFyeS1saW1pdCIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmYXJndiwgc3VtbWFyeV9saW1pdCk7CisJaWYgKCF1bmNvbW1pdHRlZCkKKwkJYXJndl9hcnJheV9wdXNoKCZhcmd2LCBzLT5hbWVuZCA/ICJIRUFEXiIgOiAiSEVBRCIpOworCiAJbWVtc2V0KCZzbV9zdW1tYXJ5LCAwLCBzaXplb2Yoc21fc3VtbWFyeSkpOwotCXNtX3N1bW1hcnkuYXJndiA9IGFyZ3Y7CisJc21fc3VtbWFyeS5hcmd2ID0gYXJndi5hcmd2OwogCXNtX3N1bW1hcnkuZW52ID0gZW52OwogCXNtX3N1bW1hcnkuZ2l0X2NtZCA9IDE7CiAJc21fc3VtbWFyeS5ub19zdGRpbiA9IDE7CiAJZmZsdXNoKHMtPmZwKTsKLQlzbV9zdW1tYXJ5Lm91dCA9IGR1cChmaWxlbm8ocy0+ZnApKTsgICAgLyogcnVuX2NvbW1hbmQgY2xvc2VzIGl0ICovCisJc21fc3VtbWFyeS5vdXQgPSAtMTsKKwogCXJ1bl9jb21tYW5kKCZzbV9zdW1tYXJ5KTsKKwlhcmd2X2FycmF5X2NsZWFyKCZhcmd2KTsKKworCWxlbiA9IHN0cmJ1Zl9yZWFkKCZjbWRfc3Rkb3V0LCBzbV9zdW1tYXJ5Lm91dCwgMTAyNCk7CisKKwkvKiBwcmVwZW5kIGhlYWRlciwgb25seSBpZiB0aGVyZSdzIGFuIGFjdHVhbCBvdXRwdXQgKi8KKwlpZiAobGVuKSB7CisJCWlmICh1bmNvbW1pdHRlZCkKKwkJCXN0cmJ1Zl9hZGRzdHIoJnN1bW1hcnksIF8oIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IikpOworCQllbHNlCisJCQlzdHJidWZfYWRkc3RyKCZzdW1tYXJ5LCBfKCJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IikpOworCQlzdHJidWZfYWRkc3RyKCZzdW1tYXJ5LCAiXG5cbiIpOworCX0KKwlzdHJidWZfYWRkYnVmKCZzdW1tYXJ5LCAmY21kX3N0ZG91dCk7CisJc3RyYnVmX3JlbGVhc2UoJmNtZF9zdGRvdXQpOworCisJaWYgKHMtPmRpc3BsYXlfY29tbWVudF9wcmVmaXgpIHsKKwkJc3VtbWFyeV9jb250ZW50ID0gc3RyYnVmX2RldGFjaCgmc3VtbWFyeSwgJmxlbik7CisJCXN0cmJ1Zl9hZGRfY29tbWVudGVkX2xpbmVzKCZzdW1tYXJ5LCBzdW1tYXJ5X2NvbnRlbnQsIGxlbik7CisJCWZyZWUoc3VtbWFyeV9jb250ZW50KTsKKwl9CisKKwlmcHV0cyhzdW1tYXJ5LmJ1Ziwgcy0+ZnApOworCXN0cmJ1Zl9yZWxlYXNlKCZzdW1tYXJ5KTsKIH0KIAogc3RhdGljIHZvaWQgd3Rfc3RhdHVzX3ByaW50X290aGVyKHN0cnVjdCB3dF9zdGF0dXMgKnMsCkBAIC03MTksMTAgKzc3OCwxMSBAQAogCiAJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAJaWYgKCFjb2x1bW5fYWN0aXZlKHMtPmNvbG9wdHMpKQotCQlyZXR1cm47CisJCWdvdG8gY29uY2x1ZGU7CiAKLQlzdHJidWZfYWRkZigmYnVmLCAiJXMjXHQlcyIsCisJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzJXNcdCVzIiwKIAkJICAgIGNvbG9yKFdUX1NUQVRVU19IRUFERVIsIHMpLAorCQkgICAgcy0+ZGlzcGxheV9jb21tZW50X3ByZWZpeCA/ICIjIiA6ICIiLAogCQkgICAgY29sb3IoV1RfU1RBVFVTX1VOVFJBQ0tFRCwgcykpOwogCW1lbXNldCgmY29wdHMsIDAsIHNpemVvZihjb3B0cykpOwogCWNvcHRzLnBhZGRpbmcgPSAxOwpAQCAtNzMyLDYgKzc5MiwyMCBAQAogCXByaW50X2NvbHVtbnMoJm91dHB1dCwgcy0+Y29sb3B0cywgJmNvcHRzKTsKIAlzdHJpbmdfbGlzdF9jbGVhcigmb3V0cHV0LCAwKTsKIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKK2NvbmNsdWRlOgorCXN0YXR1c19wcmludGZfbG4ocywgR0lUX0NPTE9SX05PUk1BTCwgIiIpOworfQorCit2b2lkIHd0X3N0YXR1c190cnVuY2F0ZV9tZXNzYWdlX2F0X2N1dF9saW5lKHN0cnVjdCBzdHJidWYgKmJ1ZikKK3sKKwljb25zdCBjaGFyICpwOworCXN0cnVjdCBzdHJidWYgcGF0dGVybiA9IFNUUkJVRl9JTklUOworCisJc3RyYnVmX2FkZGYoJnBhdHRlcm4sICIlYyAlcyIsIGNvbW1lbnRfbGluZV9jaGFyLCBjdXRfbGluZSk7CisJcCA9IHN0cnN0cihidWYtPmJ1ZiwgcGF0dGVybi5idWYpOworCWlmIChwICYmIChwID09IGJ1Zi0+YnVmIHx8IHBbLTFdID09ICdcbicpKQorCQlzdHJidWZfc2V0bGVuKGJ1ZiwgcCAtIGJ1Zi0+YnVmKTsKKwlzdHJidWZfcmVsZWFzZSgmcGF0dGVybik7CiB9CiAKIHN0YXRpYyB2b2lkIHd0X3N0YXR1c19wcmludF92ZXJib3NlKHN0cnVjdCB3dF9zdGF0dXMgKnMpCkBAIC03NTQsMTAgKzgyOCwyMCBAQAogCSAqIElmIHdlJ3JlIG5vdCBnb2luZyB0byBzdGRvdXQsIHRoZW4gd2UgZGVmaW5pdGVseSBkb24ndAogCSAqIHdhbnQgY29sb3IsIHNpbmNlIHdlIGFyZSBnb2luZyB0byB0aGUgY29tbWl0IG1lc3NhZ2UKIAkgKiBmaWxlIChhbmQgZXZlbiB0aGUgImF1dG8iIHNldHRpbmcgd29uJ3Qgd29yaywgc2luY2UgaXQKLQkgKiB3aWxsIGhhdmUgY2hlY2tlZCBpc2F0dHkgb24gc3Rkb3V0KS4KKwkgKiB3aWxsIGhhdmUgY2hlY2tlZCBpc2F0dHkgb24gc3Rkb3V0KS4gQnV0IHdlIHRoZW4gZG8gd2FudAorCSAqIHRvIGluc2VydCB0aGUgc2Npc3NvciBsaW5lIGhlcmUgdG8gcmVsaWFibHkgcmVtb3ZlIHRoZQorCSAqIGRpZmYgYmVmb3JlIGNvbW1pdHRpbmcuCiAJICovCi0JaWYgKHMtPmZwICE9IHN0ZG91dCkKKwlpZiAocy0+ZnAgIT0gc3Rkb3V0KSB7CisJCWNvbnN0IGNoYXIgKmV4cGxhbmF0aW9uID0gXygiRG8gbm90IHRvdWNoIHRoZSBsaW5lIGFib3ZlLlxuRXZlcnl0aGluZyBiZWxvdyB3aWxsIGJlIHJlbW92ZWQuIik7CisJCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisKIAkJcmV2LmRpZmZvcHQudXNlX2NvbG9yID0gMDsKKwkJZnByaW50ZihzLT5mcCwgIiVjICVzIiwgY29tbWVudF9saW5lX2NoYXIsIGN1dF9saW5lKTsKKwkJc3RyYnVmX2FkZF9jb21tZW50ZWRfbGluZXMoJmJ1ZiwgZXhwbGFuYXRpb24sIHN0cmxlbihleHBsYW5hdGlvbikpOworCQlmcHV0cyhidWYuYnVmLCBzLT5mcCk7CisJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOworCX0KIAlydW5fZGlmZl9pbmRleCgmcmV2LCAxKTsKIH0KIApAQCAtNzY2LDIwICs4NTAsMzIgQEAKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJY29uc3QgY2hhciAqY3AsICplcDsKIAlzdHJ1Y3QgYnJhbmNoICpicmFuY2g7CisJY2hhciBjb21tZW50X2xpbmVfc3RyaW5nWzNdOworCWludCBpOwogCiAJYXNzZXJ0KHMtPmJyYW5jaCAmJiAhcy0+aXNfaW5pdGlhbCk7Ci0JaWYgKHByZWZpeGNtcChzLT5icmFuY2gsICJyZWZzL2hlYWRzLyIpKQorCWlmICghc3RhcnRzX3dpdGgocy0+YnJhbmNoLCAicmVmcy9oZWFkcy8iKSkKIAkJcmV0dXJuOwogCWJyYW5jaCA9IGJyYW5jaF9nZXQocy0+YnJhbmNoICsgMTEpOwogCWlmICghZm9ybWF0X3RyYWNraW5nX2luZm8oYnJhbmNoLCAmc2IpKQogCQlyZXR1cm47CiAKKwlpID0gMDsKKwlpZiAocy0+ZGlzcGxheV9jb21tZW50X3ByZWZpeCkgeworCQljb21tZW50X2xpbmVfc3RyaW5nW2krK10gPSBjb21tZW50X2xpbmVfY2hhcjsKKwkJY29tbWVudF9saW5lX3N0cmluZ1tpKytdID0gJyAnOworCX0KKwljb21tZW50X2xpbmVfc3RyaW5nW2ldID0gJ1wwJzsKKwogCWZvciAoY3AgPSBzYi5idWY7IChlcCA9IHN0cmNocihjcCwgJ1xuJykpICE9IE5VTEw7IGNwID0gZXAgKyAxKQogCQljb2xvcl9mcHJpbnRmX2xuKHMtPmZwLCBjb2xvcihXVF9TVEFUVVNfSEVBREVSLCBzKSwKLQkJCQkgIiVjICUuKnMiLCBjb21tZW50X2xpbmVfY2hhciwKKwkJCQkgIiVzJS4qcyIsIGNvbW1lbnRfbGluZV9zdHJpbmcsCiAJCQkJIChpbnQpKGVwIC0gY3ApLCBjcCk7Ci0JY29sb3JfZnByaW50Zl9sbihzLT5mcCwgY29sb3IoV1RfU1RBVFVTX0hFQURFUiwgcyksICIlYyIsCi0JCQkgY29tbWVudF9saW5lX2NoYXIpOworCWlmIChzLT5kaXNwbGF5X2NvbW1lbnRfcHJlZml4KQorCQljb2xvcl9mcHJpbnRmX2xuKHMtPmZwLCBjb2xvcihXVF9TVEFUVVNfSEVBREVSLCBzKSwgIiVjIiwKKwkJCQkgY29tbWVudF9saW5lX2NoYXIpOworCWVsc2UKKwkJZnByaW50Zl9sbihzLT5mcCwgIiIpOwogfQogCiBzdGF0aWMgaW50IGhhc191bm1lcmdlZChzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQpAQCAtODAxLDEzICs4OTcsMTMgQEAKIHsKIAlpZiAoaGFzX3VubWVyZ2VkKHMpKSB7CiAJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsIF8oIllvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLiIpKTsKLQkJaWYgKGFkdmljZV9zdGF0dXNfaGludHMpCisJCWlmIChzLT5oaW50cykKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCiAJCQkJXygiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIpKTsKIAl9IGVsc2UgewogCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAogCQkJXygiQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLiIpKTsKLQkJaWYgKGFkdmljZV9zdGF0dXNfaGludHMpCisJCWlmIChzLT5oaW50cykKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCiAJCQkJXygiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIpKTsKIAl9CkBAIC04MjMsNyArOTE5LDcgQEAKIAlpZiAoc3RhdGUtPmFtX2VtcHR5X3BhdGNoKQogCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAogCQkJXygiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIikpOwotCWlmIChhZHZpY2Vfc3RhdHVzX2hpbnRzKSB7CisJaWYgKHMtPmhpbnRzKSB7CiAJCWlmICghc3RhdGUtPmFtX2VtcHR5X3BhdGNoKQogCQkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwKIAkJCQlfKCIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIikpOwpAQCAtODk2LDcgKzk5Miw3IEBACiAJCWVsc2UKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCiAJCQkJCSBfKCJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iKSk7Ci0JCWlmIChhZHZpY2Vfc3RhdHVzX2hpbnRzKSB7CisJCWlmIChzLT5oaW50cykgewogCQkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwKIAkJCQlfKCIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIpKTsKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCkBAIC05MTMsNyArMTAwOSw3IEBACiAJCWVsc2UKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCiAJCQkJCSBfKCJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iKSk7Ci0JCWlmIChhZHZpY2Vfc3RhdHVzX2hpbnRzKQorCQlpZiAocy0+aGludHMpCiAJCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAogCQkJCV8oIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIpKTsKIAl9IGVsc2UgaWYgKHNwbGl0X2NvbW1pdF9pbl9wcm9ncmVzcyhzKSkgewpAQCAtOTI1LDcgKzEwMjEsNyBAQAogCQllbHNlCiAJCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAogCQkJCQkgXygiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iKSk7Ci0JCWlmIChhZHZpY2Vfc3RhdHVzX2hpbnRzKQorCQlpZiAocy0+aGludHMpCiAJCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAogCQkJCV8oIiAgKE9uY2UgeW91ciB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVhbiwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIikpOwogCX0gZWxzZSB7CkBAIC05MzcsNyArMTAzMyw3IEBACiAJCWVsc2UKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCiAJCQkJCSBfKCJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iKSk7Ci0JCWlmIChhZHZpY2Vfc3RhdHVzX2hpbnRzICYmICFzLT5hbWVuZCkgeworCQlpZiAocy0+aGludHMgJiYgIXMtPmFtZW5kKSB7CiAJCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAogCQkJCV8oIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiKSk7CiAJCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLApAQCAtOTUxLDggKzEwNDcsOSBAQAogCQkJCQlzdHJ1Y3Qgd3Rfc3RhdHVzX3N0YXRlICpzdGF0ZSwKIAkJCQkJY29uc3QgY2hhciAqY29sb3IpCiB7Ci0Jc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwgXygiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcuIikpOwotCWlmIChhZHZpY2Vfc3RhdHVzX2hpbnRzKSB7CisJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwgXygiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICVzLiIpLAorCQkJZmluZF91bmlxdWVfYWJicmV2KHN0YXRlLT5jaGVycnlfcGlja19oZWFkX3NoYTEsIERFRkFVTFRfQUJCUkVWKSk7CisJaWYgKHMtPmhpbnRzKSB7CiAJCWlmIChoYXNfdW5tZXJnZWQocykpCiAJCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAogCQkJCV8oIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIikpOwpAQCAtOTcxLDcgKzEwNjgsNyBAQAogewogCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsIF8oIllvdSBhcmUgY3VycmVudGx5IHJldmVydGluZyBjb21taXQgJXMuIiksCiAJCQkgZmluZF91bmlxdWVfYWJicmV2KHN0YXRlLT5yZXZlcnRfaGVhZF9zaGExLCBERUZBVUxUX0FCQlJFVikpOwotCWlmIChhZHZpY2Vfc3RhdHVzX2hpbnRzKSB7CisJaWYgKHMtPmhpbnRzKSB7CiAJCWlmIChoYXNfdW5tZXJnZWQocykpCiAJCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAogCQkJCV8oIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIpKTsKQEAgLTk5NSw3ICsxMDkyLDcgQEAKIAllbHNlCiAJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCiAJCQkJIF8oIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iKSk7Ci0JaWYgKGFkdmljZV9zdGF0dXNfaGludHMpCisJaWYgKHMtPmhpbnRzKQogCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAogCQkJXygiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIikpOwogCXd0X3N0YXR1c19wcmludF90cmFpbGVyKHMpOwpAQCAtMTAxNiw5ICsxMTEzLDkgQEAKIAkJc3RyYnVmX3NldGxlbigmc2IsIHNiLmxlbiAtIDEpOwogCWlmICghc2IubGVuKQogCQlnb3RvIGdvdF9ub3RoaW5nOwotCWlmICghcHJlZml4Y21wKHNiLmJ1ZiwgInJlZnMvaGVhZHMvIikpCisJaWYgKHN0YXJ0c193aXRoKHNiLmJ1ZiwgInJlZnMvaGVhZHMvIikpCiAJCXN0cmJ1Zl9yZW1vdmUoJnNiLDAsIHN0cmxlbigicmVmcy9oZWFkcy8iKSk7Ci0JZWxzZSBpZiAoIXByZWZpeGNtcChzYi5idWYsICJyZWZzLyIpKQorCWVsc2UgaWYgKHN0YXJ0c193aXRoKHNiLmJ1ZiwgInJlZnMvIikpCiAJCTsKIAllbHNlIGlmICghZ2V0X3NoYTFfaGV4KHNiLmJ1Ziwgc2hhMSkpIHsKIAkJY29uc3QgY2hhciAqYWJicmV2OwpAQCAtMTA0OCw3ICsxMTQ1LDcgQEAKIAlzdHJ1Y3QgZ3JhYl8xc3Rfc3dpdGNoX2NiZGF0YSAqY2IgPSBjYl9kYXRhOwogCWNvbnN0IGNoYXIgKnRhcmdldCA9IE5VTEwsICplbmQ7CiAKLQlpZiAocHJlZml4Y21wKG1lc3NhZ2UsICJjaGVja291dDogbW92aW5nIGZyb20gIikpCisJaWYgKCFzdGFydHNfd2l0aChtZXNzYWdlLCAiY2hlY2tvdXQ6IG1vdmluZyBmcm9tICIpKQogCQlyZXR1cm4gMDsKIAltZXNzYWdlICs9IHN0cmxlbigiY2hlY2tvdXQ6IG1vdmluZyBmcm9tICIpOwogCXRhcmdldCA9IHN0cnN0cihtZXNzYWdlLCAiIHRvICIpOwpAQCAtMTA4Myw5ICsxMTgwLDkgQEAKIAkgICAgICgoY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHNoYTEsIDEpKSAhPSBOVUxMICYmCiAJICAgICAgIWhhc2hjbXAoY2IubnNoYTEsIGNvbW1pdC0+b2JqZWN0LnNoYTEpKSkpIHsKIAkJaW50IG9mczsKLQkJaWYgKCFwcmVmaXhjbXAocmVmLCAicmVmcy90YWdzLyIpKQorCQlpZiAoc3RhcnRzX3dpdGgocmVmLCAicmVmcy90YWdzLyIpKQogCQkJb2ZzID0gc3RybGVuKCJyZWZzL3RhZ3MvIik7Ci0JCWVsc2UgaWYgKCFwcmVmaXhjbXAocmVmLCAicmVmcy9yZW1vdGVzLyIpKQorCQllbHNlIGlmIChzdGFydHNfd2l0aChyZWYsICJyZWZzL3JlbW90ZXMvIikpCiAJCQlvZnMgPSBzdHJsZW4oInJlZnMvcmVtb3Rlcy8iKTsKIAkJZWxzZQogCQkJb2ZzID0gMDsKQEAgLTExMjQsOCArMTIyMSwxMCBAQAogCQkJc3RhdGUtPnJlYmFzZV9pbl9wcm9ncmVzcyA9IDE7CiAJCXN0YXRlLT5icmFuY2ggPSByZWFkX2FuZF9zdHJpcF9icmFuY2goInJlYmFzZS1tZXJnZS9oZWFkLW5hbWUiKTsKIAkJc3RhdGUtPm9udG8gPSByZWFkX2FuZF9zdHJpcF9icmFuY2goInJlYmFzZS1tZXJnZS9vbnRvIik7Ci0JfSBlbHNlIGlmICghc3RhdChnaXRfcGF0aCgiQ0hFUlJZX1BJQ0tfSEVBRCIpLCAmc3QpKSB7CisJfSBlbHNlIGlmICghc3RhdChnaXRfcGF0aCgiQ0hFUlJZX1BJQ0tfSEVBRCIpLCAmc3QpICYmCisJCQkhZ2V0X3NoYTEoIkNIRVJSWV9QSUNLX0hFQUQiLCBzaGExKSkgewogCQlzdGF0ZS0+Y2hlcnJ5X3BpY2tfaW5fcHJvZ3Jlc3MgPSAxOworCQloYXNoY3B5KHN0YXRlLT5jaGVycnlfcGlja19oZWFkX3NoYTEsIHNoYTEpOwogCX0KIAlpZiAoIXN0YXQoZ2l0X3BhdGgoIkJJU0VDVF9MT0ciKSwgJnN0KSkgewogCQlzdGF0ZS0+YmlzZWN0X2luX3Byb2dyZXNzID0gMTsKQEAgLTExNzIsNyArMTI3MSw3IEBACiAJaWYgKHMtPmJyYW5jaCkgewogCQljb25zdCBjaGFyICpvbl93aGF0ID0gXygiT24gYnJhbmNoICIpOwogCQljb25zdCBjaGFyICpicmFuY2hfbmFtZSA9IHMtPmJyYW5jaDsKLQkJaWYgKCFwcmVmaXhjbXAoYnJhbmNoX25hbWUsICJyZWZzL2hlYWRzLyIpKQorCQlpZiAoc3RhcnRzX3dpdGgoYnJhbmNoX25hbWUsICJyZWZzL2hlYWRzLyIpKQogCQkJYnJhbmNoX25hbWUgKz0gMTE7CiAJCWVsc2UgaWYgKCFzdHJjbXAoYnJhbmNoX25hbWUsICJIRUFEIikpIHsKIAkJCWJyYW5jaF9zdGF0dXNfY29sb3IgPSBjb2xvcihXVF9TVEFUVVNfTk9CUkFOQ0gsIHMpOwpAQCAtMTIzMyw3ICsxMzMyLDcgQEAKIAkJfQogCX0gZWxzZSBpZiAocy0+Y29tbWl0YWJsZSkKIAkJc3RhdHVzX3ByaW50Zl9sbihzLCBHSVRfQ09MT1JfTk9STUFMLCBfKCJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIiksCi0JCQlhZHZpY2Vfc3RhdHVzX2hpbnRzCisJCQlzLT5oaW50cwogCQkJPyBfKCIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIikgOiAiIik7CiAKIAlpZiAocy0+dmVyYm9zZSkKQEAgLTEyNDQsMjUgKzEzNDMsMjUgQEAKIAkJZWxzZSBpZiAocy0+bm93YXJuKQogCQkJOyAvKiBub3RoaW5nICovCiAJCWVsc2UgaWYgKHMtPndvcmtkaXJfZGlydHkpIHsKLQkJCWlmIChhZHZpY2Vfc3RhdHVzX2hpbnRzKQorCQkJaWYgKHMtPmhpbnRzKQogCQkJCXByaW50ZihfKCJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAiCiAJCQkJCSAiKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iKSk7CiAJCQllbHNlCiAJCQkJcHJpbnRmKF8oIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iKSk7CiAJCX0gZWxzZSBpZiAocy0+dW50cmFja2VkLm5yKSB7Ci0JCQlpZiAoYWR2aWNlX3N0YXR1c19oaW50cykKKwkJCWlmIChzLT5oaW50cykKIAkJCQlwcmludGYoXygibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyAiCiAJCQkJCSAicHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIikpOwogCQkJZWxzZQogCQkJCXByaW50ZihfKCJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnRcbiIpKTsKIAkJfSBlbHNlIGlmIChzLT5pc19pbml0aWFsKSB7Ci0JCQlpZiAoYWR2aWNlX3N0YXR1c19oaW50cykKKwkJCWlmIChzLT5oaW50cykKIAkJCQlwcmludGYoXygibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzICIKIAkJCQkJICJhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIikpOwogCQkJZWxzZQogCQkJCXByaW50ZihfKCJub3RoaW5nIHRvIGNvbW1pdFxuIikpOwogCQl9IGVsc2UgaWYgKCFzLT5zaG93X3VudHJhY2tlZF9maWxlcykgewotCQkJaWYgKGFkdmljZV9zdGF0dXNfaGludHMpCisJCQlpZiAocy0+aGludHMpCiAJCQkJcHJpbnRmKF8oIm5vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpXG4iKSk7CiAJCQllbHNlCiAJCQkJcHJpbnRmKF8oIm5vdGhpbmcgdG8gY29tbWl0XG4iKSk7CkBAIC0xMzY1LDYgKzE0NjQsNyBAQAogCWNvbnN0IGNoYXIgKmJhc2U7CiAJY29uc3QgY2hhciAqYnJhbmNoX25hbWU7CiAJaW50IG51bV9vdXJzLCBudW1fdGhlaXJzOworCWludCB1cHN0cmVhbV9pc19nb25lID0gMDsKIAogCWNvbG9yX2ZwcmludGYocy0+ZnAsIGNvbG9yKFdUX1NUQVRVU19IRUFERVIsIHMpLCAiIyMgIik7CiAKQEAgLTEzNzIsNyArMTQ3Miw3IEBACiAJCXJldHVybjsKIAlicmFuY2hfbmFtZSA9IHMtPmJyYW5jaDsKIAotCWlmICghcHJlZml4Y21wKGJyYW5jaF9uYW1lLCAicmVmcy9oZWFkcy8iKSkKKwlpZiAoc3RhcnRzX3dpdGgoYnJhbmNoX25hbWUsICJyZWZzL2hlYWRzLyIpKQogCQlicmFuY2hfbmFtZSArPSAxMTsKIAllbHNlIGlmICghc3RyY21wKGJyYW5jaF9uYW1lLCAiSEVBRCIpKSB7CiAJCWJyYW5jaF9uYW1lID0gXygiSEVBRCAobm8gYnJhbmNoKSIpOwpAQCAtMTM4MiwyMCArMTQ4MiwzNyBAQAogCWJyYW5jaCA9IGJyYW5jaF9nZXQocy0+YnJhbmNoICsgMTEpOwogCWlmIChzLT5pc19pbml0aWFsKQogCQljb2xvcl9mcHJpbnRmKHMtPmZwLCBoZWFkZXJfY29sb3IsIF8oIkluaXRpYWwgY29tbWl0IG9uICIpKTsKLQlpZiAoIXN0YXRfdHJhY2tpbmdfaW5mbyhicmFuY2gsICZudW1fb3VycywgJm51bV90aGVpcnMpKSB7Ci0JCWNvbG9yX2ZwcmludGYocy0+ZnAsIGJyYW5jaF9jb2xvcl9sb2NhbCwgIiVzIiwgYnJhbmNoX25hbWUpOworCisJY29sb3JfZnByaW50ZihzLT5mcCwgYnJhbmNoX2NvbG9yX2xvY2FsLCAiJXMiLCBicmFuY2hfbmFtZSk7CisKKwlzd2l0Y2ggKHN0YXRfdHJhY2tpbmdfaW5mbyhicmFuY2gsICZudW1fb3VycywgJm51bV90aGVpcnMpKSB7CisJY2FzZSAwOgorCQkvKiBubyBiYXNlICovCiAJCWZwdXRjKHMtPm51bGxfdGVybWluYXRpb24gPyAnXDAnIDogJ1xuJywgcy0+ZnApOwogCQlyZXR1cm47CisJY2FzZSAtMToKKwkJLyogd2l0aCAiZ29uZSIgYmFzZSAqLworCQl1cHN0cmVhbV9pc19nb25lID0gMTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJLyogd2l0aCBiYXNlICovCisJCWJyZWFrOwogCX0KIAogCWJhc2UgPSBicmFuY2gtPm1lcmdlWzBdLT5kc3Q7CiAJYmFzZSA9IHNob3J0ZW5fdW5hbWJpZ3VvdXNfcmVmKGJhc2UsIDApOwotCWNvbG9yX2ZwcmludGYocy0+ZnAsIGJyYW5jaF9jb2xvcl9sb2NhbCwgIiVzIiwgYnJhbmNoX25hbWUpOwogCWNvbG9yX2ZwcmludGYocy0+ZnAsIGhlYWRlcl9jb2xvciwgIi4uLiIpOwogCWNvbG9yX2ZwcmludGYocy0+ZnAsIGJyYW5jaF9jb2xvcl9yZW1vdGUsICIlcyIsIGJhc2UpOwogCisJaWYgKCF1cHN0cmVhbV9pc19nb25lICYmICFudW1fb3VycyAmJiAhbnVtX3RoZWlycykgeworCQlmcHV0YyhzLT5udWxsX3Rlcm1pbmF0aW9uID8gJ1wwJyA6ICdcbicsIHMtPmZwKTsKKwkJcmV0dXJuOworCX0KKwogCWNvbG9yX2ZwcmludGYocy0+ZnAsIGhlYWRlcl9jb2xvciwgIiBbIik7Ci0JaWYgKCFudW1fb3VycykgeworCWlmICh1cHN0cmVhbV9pc19nb25lKSB7CisJCWNvbG9yX2ZwcmludGYocy0+ZnAsIGhlYWRlcl9jb2xvciwgXygiZ29uZSIpKTsKKwl9IGVsc2UgaWYgKCFudW1fb3VycykgewogCQljb2xvcl9mcHJpbnRmKHMtPmZwLCBoZWFkZXJfY29sb3IsIF8oImJlaGluZCAiKSk7CiAJCWNvbG9yX2ZwcmludGYocy0+ZnAsIGJyYW5jaF9jb2xvcl9yZW1vdGUsICIlZCIsIG51bV90aGVpcnMpOwogCX0gZWxzZSBpZiAoIW51bV90aGVpcnMpIHsKZGlmZiAtLWdpdCBhL3d0LXN0YXR1cy5oIGIvd3Qtc3RhdHVzLmgKaW5kZXggZmI3MTUyZS4uMzBhNDgxMiAxMDA2NDQKLS0tIGEvd3Qtc3RhdHVzLmgKKysrIGIvd3Qtc3RhdHVzLmgKQEAgLTQ0LDEyICs0NCwxMyBAQAogCWludCBpc19pbml0aWFsOwogCWNoYXIgKmJyYW5jaDsKIAljb25zdCBjaGFyICpyZWZlcmVuY2U7Ci0JY29uc3QgY2hhciAqKnBhdGhzcGVjOworCXN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKIAlpbnQgdmVyYm9zZTsKIAlpbnQgYW1lbmQ7CiAJZW51bSBjb21taXRfd2hlbmNlIHdoZW5jZTsKIAlpbnQgbm93YXJuOwogCWludCB1c2VfY29sb3I7CisJaW50IGRpc3BsYXlfY29tbWVudF9wcmVmaXg7CiAJaW50IHJlbGF0aXZlX3BhdGhzOwogCWludCBzdWJtb2R1bGVfc3VtbWFyeTsKIAlpbnQgc2hvd19pZ25vcmVkX2ZpbGVzOwpAQCAtNTksNiArNjAsNyBAQAogCXVuc2lnbmVkIGNvbG9wdHM7CiAJaW50IG51bGxfdGVybWluYXRpb247CiAJaW50IHNob3dfYnJhbmNoOworCWludCBoaW50czsKIAogCS8qIFRoZXNlIGFyZSBjb21wdXRlZCBkdXJpbmcgcHJvY2Vzc2luZyBvZiB0aGUgaW5kaXZpZHVhbCBzZWN0aW9ucyAqLwogCWludCBjb21taXRhYmxlOwpAQCAtODYsOCArODgsMTAgQEAKIAljaGFyICpkZXRhY2hlZF9mcm9tOwogCXVuc2lnbmVkIGNoYXIgZGV0YWNoZWRfc2hhMVsyMF07CiAJdW5zaWduZWQgY2hhciByZXZlcnRfaGVhZF9zaGExWzIwXTsKKwl1bnNpZ25lZCBjaGFyIGNoZXJyeV9waWNrX2hlYWRfc2hhMVsyMF07CiB9OwogCit2b2lkIHd0X3N0YXR1c190cnVuY2F0ZV9tZXNzYWdlX2F0X2N1dF9saW5lKHN0cnVjdCBzdHJidWYgKik7CiB2b2lkIHd0X3N0YXR1c19wcmVwYXJlKHN0cnVjdCB3dF9zdGF0dXMgKnMpOwogdm9pZCB3dF9zdGF0dXNfcHJpbnQoc3RydWN0IHd0X3N0YXR1cyAqcyk7CiB2b2lkIHd0X3N0YXR1c19jb2xsZWN0KHN0cnVjdCB3dF9zdGF0dXMgKnMpOwpkaWZmIC0tZ2l0IGEveGRpZmYveGVtaXQuYyBiL3hkaWZmL3hlbWl0LmMKaW5kZXggNGQ4NjQ1OC4uNDI2NmFkYSAxMDA2NDQKLS0tIGEveGRpZmYveGVtaXQuYworKysgYi94ZGlmZi94ZW1pdC5jCkBAIC0xMDgsNyArMTA4LDcgQEAKIHsKIAlpZiAobGVuID4gMCAmJgogCQkJKGlzYWxwaGEoKHVuc2lnbmVkIGNoYXIpKnJlYykgfHwgLyogaWRlbnRpZmllcj8gKi8KLQkJCSAqcmVjID09ICdfJyB8fAkvKiBhbHNvIGlkZW50aWZpZXI/ICovCisJCQkgKnJlYyA9PSAnXycgfHwgLyogYWxzbyBpZGVudGlmaWVyPyAqLwogCQkJICpyZWMgPT0gJyQnKSkgeyAvKiBpZGVudGlmaWVycyBmcm9tIFZNUyBhbmQgb3RoZXIgZXNvdGVyaWNvICovCiAJCWlmIChsZW4gPiBzeikKIAkJCWxlbiA9IHN6Owo=