ZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDZiMWZkMWIuLjY2MTk5ZWQgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMjAyLDYgKzIwMiw3IEBACiAvdGVzdC1zdHJpbmctbGlzdAogL3Rlc3Qtc3VicHJvY2VzcwogL3Rlc3Qtc3ZuLWZlCisvdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uCiAvdGVzdC13aWxkbWF0Y2gKIC9jb21tb24tY21kcy5oCiAqLnRhci5negpkaWZmIC0tZ2l0IGEvLm1haWxtYXAgYi8ubWFpbG1hcAppbmRleCAxYzFmNWVjLi4xMTA1N2NiIDEwMDY0NAotLS0gYS8ubWFpbG1hcAorKysgYi8ubWFpbG1hcApAQCAtMjE4LDcgKzIxOCw5IEBACiBUZWQgUGVyY2l2YWwgPHRlZEBtaWRnM3QubmV0PiA8dGVkLnBlcmNpdmFsQHF1ZXN0LmNvbT4KIFRoZW9kb3JlIFRzJ28gPHR5dHNvQG1pdC5lZHU+CiBUaG9tYXMgQWNrZXJtYW5uIDx0aC5hY2tlckBhcmNvci5kZT4gPHRoLmFja2VyNjZAYXJjb3IuZGU+Ci1UaG9tYXMgUmFzdCA8dHJhc3RAaW5mLmV0aHouY2g+IDx0cmFzdEBzdHVkZW50LmV0aHouY2g+CitUaG9tYXMgUmFzdCA8dHJAdGhvbWFzcmFzdC5jaD4gPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK1Rob21hcyBSYXN0IDx0ckB0aG9tYXNyYXN0LmNoPiA8dHJhc3RAaW5mLmV0aHouY2g+CitUaG9tYXMgUmFzdCA8dHJAdGhvbWFzcmFzdC5jaD4gPHRyYXN0QGdvb2dsZS5jb20+CiBUaW1vIEhpcnZvbmVuIDx0aWhpcnZvbkBnbWFpbC5jb20+IDx0aWhpcnZvbkBlZS5vdWx1LmZpPgogVG9ieSBBbGxzb3BwIDxUb2J5LkFsbHNvcHBAbmF2bWFuLmNvLm56PiA8dG9ieS5hbGxzb3BwQG5hdm1hbi5jby5uej4KIFRvbSBHcmVubmFuIDx0bWdyZW5uYW5AZ21haWwuY29tPiA8dGdyZW5uYW5AcmVkYmFjay5jb20+CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL0NvZGluZ0d1aWRlbGluZXMgYi9Eb2N1bWVudGF0aW9uL0NvZGluZ0d1aWRlbGluZXMKaW5kZXggNTU5ZDVmOS4uYTYwMGUzNSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9Db2RpbmdHdWlkZWxpbmVzCisrKyBiL0RvY3VtZW50YXRpb24vQ29kaW5nR3VpZGVsaW5lcwpAQCAtMTQ1LDYgKzE0NSwxNCBAQAogICAgdGhleSB3ZXJlIGRlc2NyaWJpbmcgY2hhbmdlcy4gIE9mdGVuIHNwbGl0dGluZyBhIGZ1bmN0aW9uCiAgICBpbnRvIHR3byBtYWtlcyB0aGUgaW50ZW50aW9uIG9mIHRoZSBjb2RlIG11Y2ggY2xlYXJlci4KIAorIC0gTXVsdGktbGluZSBjb21tZW50cyBpbmNsdWRlIHRoZWlyIGRlbGltaXRlcnMgb24gc2VwYXJhdGUgbGluZXMgZnJvbQorICAgdGhlIHRleHQuICBFLmcuCisKKwkvKgorCSAqIEEgdmVyeSBsb25nCisJICogbXVsdGktbGluZSBjb21tZW50LgorCSAqLworCiAgLSBEb3VibGUgbmVnYXRpb24gaXMgb2Z0ZW4gaGFyZGVyIHRvIHVuZGVyc3RhbmQgdGhhbiBubyBuZWdhdGlvbgogICAgYXQgYWxsLgogCkBAIC0yNDIsNiArMjUwLDE0IEBACiAgcHJvY2Vzc2VkIGludG8gSFRNTCBhbmQgbWFucGFnZXMgKGUuZy4gZ2l0Lmh0bWwgYW5kIGdpdC4xIGluIHRoZQogIHNhbWUgZGlyZWN0b3J5KS4KIAorIFRoZSBkb2N1bWVudGF0aW9uIGxpYmVyYWxseSBtaXhlcyBVUyBhbmQgVUsgRW5nbGlzaCAoZW5fVVMvVUspCisgbm9ybXMgZm9yIHNwZWxsaW5nIGFuZCBncmFtbWFyLCB3aGljaCBpcyBzb21ld2hhdCB1bmZvcnR1bmF0ZS4KKyBJbiBhbiBpZGVhbCB3b3JsZCwgaXQgd291bGQgaGF2ZSBiZWVuIGJldHRlciBpZiBpdCBjb25zaXN0ZW50bHkKKyB1c2VkIG9ubHkgb25lIGFuZCBub3QgdGhlIG90aGVyLCBhbmQgd2Ugd291bGQgaGF2ZSBwaWNrZWQgZW5fVVMKKyAoaWYgeW91IHdpc2ggdG8gY29ycmVjdCB0aGUgRW5nbGlzaCBvZiBzb21lIG9mIHRoZSBleGlzdGluZworIGRvY3VtZW50YXRpb24sIHBsZWFzZSBzZWUgdGhlIGRvY3VtZW50YXRpb24tcmVsYXRlZCBhZHZpY2UgaW4gdGhlCisgRG9jdW1lbnRhdGlvbi9TdWJtaXR0aW5nUGF0Y2hlcyBmaWxlKS4KKwogIEV2ZXJ5IHVzZXItdmlzaWJsZSBjaGFuZ2Ugc2hvdWxkIGJlIHJlZmxlY3RlZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KICBUaGUgc2FtZSBnZW5lcmFsIHJ1bGUgYXMgZm9yIGNvZGUgYXBwbGllcyAtLSBpbWl0YXRlIHRoZSBleGlzdGluZwogIGNvbnZlbnRpb25zLiAgQSBmZXcgY29tbWVudGVkIGV4YW1wbGVzIGZvbGxvdyB0byBwcm92aWRlIHJlZmVyZW5jZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9NYWtlZmlsZSBiL0RvY3VtZW50YXRpb24vTWFrZWZpbGUKaW5kZXggMGNmZGMzNi4uOTFhMTJjNyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9NYWtlZmlsZQorKysgYi9Eb2N1bWVudGF0aW9uL01ha2VmaWxlCkBAIC01Myw2ICs1Myw3IEBACiBTUF9BUlRJQ0xFUyArPSBob3d0by9zZXBhcmF0aW5nLXRvcGljLWJyYW5jaGVzCiBTUF9BUlRJQ0xFUyArPSBob3d0by9yZXZlcnQtYS1mYXVsdHktbWVyZ2UKIFNQX0FSVElDTEVTICs9IGhvd3RvL3JlY292ZXItY29ycnVwdGVkLWJsb2Itb2JqZWN0CitTUF9BUlRJQ0xFUyArPSBob3d0by9yZWNvdmVyLWNvcnJ1cHRlZC1vYmplY3QtaGFyZGVyCiBTUF9BUlRJQ0xFUyArPSBob3d0by9yZWJ1aWxkLWZyb20tdXBkYXRlLWhvb2sKIFNQX0FSVElDTEVTICs9IGhvd3RvL3JlYmFzZS1mcm9tLWludGVybmFsLWJyYW5jaAogU1BfQVJUSUNMRVMgKz0gaG93dG8vbWFpbnRhaW4tZ2l0CkBAIC0xMDMsNiArMTA0LDcgQEAKIElOU1RBTExfSU5GTyA9IGluc3RhbGwtaW5mbwogRE9DQk9PSzJYX1RFWEkgPSBkb2Nib29rMngtdGV4aQogREJMQVRFWCA9IGRibGF0ZXgKK0FTQ0lJRE9DX0RCTEFURVhfRElSID0gL2V0Yy9hc2NpaWRvYy9kYmxhdGV4CiBpZm5kZWYgUEVSTF9QQVRICiAJUEVSTF9QQVRIID0gL3Vzci9iaW4vcGVybAogZW5kaWYKQEAgLTM1NCw3ICszNTYsNyBAQAogCiB1c2VyLW1hbnVhbC5wZGY6IHVzZXItbWFudWFsLnhtbAogCSQoUVVJRVRfREJMQVRFWCkkKFJNKSAkQCsgJEAgJiYgXAotCSQoREJMQVRFWCkgLW8gJEArIC1wIC9ldGMvYXNjaWlkb2MvZGJsYXRleC9hc2NpaWRvYy1kYmxhdGV4LnhzbCAtcyAvZXRjL2FzY2lpZG9jL2RibGF0ZXgvYXNjaWlkb2MtZGJsYXRleC5zdHkgJDwgJiYgXAorCSQoREJMQVRFWCkgLW8gJEArIC1wICQoQVNDSUlET0NfREJMQVRFWF9ESVIpL2FzY2lpZG9jLWRibGF0ZXgueHNsIC1zICQoQVNDSUlET0NfREJMQVRFWF9ESVIpL2FzY2lpZG9jLWRibGF0ZXguc3R5ICQ8ICYmIFwKIAltdiAkQCsgJEAKIAogZ2l0bWFuLnRleGk6ICQoTUFOX1hNTCkgY2F0LXRleGkucGVybApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjcuMTEuMi50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNy4xMS4yLnR4dAppbmRleCBhMGQyNGQxLi5mMGNmZDAyIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNy4xMS4yLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNy4xMS4yLnR4dApAQCAtMzEsNyArMzEsNyBAQAogICogImdpdCBkaWZmIC0tbm8taW5kZXgiIGRpZCBub3Qgd29yayB3aXRoIHBhZ2VycyBjb3JyZWN0bHkuCiAKICAqICJnaXQgZGlmZiBDT1BZSU5HIEhFQUQ6Q09QWUlORyIgZ2F2ZSBhIG5vbnNlbnNlIGVycm9yIG1lc3NhZ2UgdGhhdAotICAgY2xhaW1lZCB0aGF0IHRoZSB0cmVlaXNoIEhFQUQgZGlkIG5vdCBoYXZlIENPUFlJTkcgaW4gaXQuCisgICBjbGFpbWVkIHRoYXQgdGhlIHRyZWUtaXNoIEhFQUQgZGlkIG5vdCBoYXZlIENPUFlJTkcgaW4gaXQuCiAKICAqIFdoZW4gImdpdCBsb2ciIGdldHMgIi0tc2ltcGxpZnktbWVyZ2VzL2J5LWRlY29yYXRpb24iIHRvZ2V0aGVyIHdpdGgKICAgICItLWZpcnN0LXBhcmVudCIsIHRoZSBjb21iaW5hdGlvbiBvZiB0aGVzZSBvcHRpb25zIG1ha2VzIHRoZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjguNS50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuOC41LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDJkZjBjCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjguNS50eHQKQEAgLTAsMCArMSw0NTYgQEAKK0dpdCB2MS44LjUgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09CisKK0JhY2t3YXJkIGNvbXBhdGliaWxpdHkgbm90ZXMgKGZvciBHaXQgMi4wKQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1doZW4gImdpdCBwdXNoIFskdGhlcmVdIiBkb2VzIG5vdCBzYXkgd2hhdCB0byBwdXNoLCB3ZSBoYXZlIHVzZWQgdGhlCit0cmFkaXRpb25hbCAibWF0Y2hpbmciIHNlbWFudGljcyBzbyBmYXIgKGFsbCB5b3VyIGJyYW5jaGVzIHdlcmUgc2VudAordG8gdGhlIHJlbW90ZSBhcyBsb25nIGFzIHRoZXJlIGFscmVhZHkgYXJlIGJyYW5jaGVzIG9mIHRoZSBzYW1lIG5hbWUKK292ZXIgdGhlcmUpLiAgSW4gR2l0IDIuMCwgdGhlIGRlZmF1bHQgd2lsbCBjaGFuZ2UgdG8gdGhlICJzaW1wbGUiCitzZW1hbnRpY3MsIHdoaWNoIHB1c2hlczoKKworIC0gb25seSB0aGUgY3VycmVudCBicmFuY2ggdG8gdGhlIGJyYW5jaCB3aXRoIHRoZSBzYW1lIG5hbWUsIGFuZCBvbmx5CisgICB3aGVuIHRoZSBjdXJyZW50IGJyYW5jaCBpcyBzZXQgdG8gaW50ZWdyYXRlIHdpdGggdGhhdCByZW1vdGUKKyAgIGJyYW5jaCwgaWYgeW91IGFyZSBwdXNoaW5nIHRvIHRoZSBzYW1lIHJlbW90ZSBhcyB5b3UgZmV0Y2ggZnJvbTsgb3IKKworIC0gb25seSB0aGUgY3VycmVudCBicmFuY2ggdG8gdGhlIGJyYW5jaCB3aXRoIHRoZSBzYW1lIG5hbWUsIGlmIHlvdQorICAgYXJlIHB1c2hpbmcgdG8gYSByZW1vdGUgdGhhdCBpcyBub3Qgd2hlcmUgeW91IHVzdWFsbHkgZmV0Y2ggZnJvbS4KKworVXNlIHRoZSB1c2VyIHByZWZlcmVuY2UgY29uZmlndXJhdGlvbiB2YXJpYWJsZSAicHVzaC5kZWZhdWx0IiB0bworY2hhbmdlIHRoaXMuICBJZiB5b3UgYXJlIGFuIG9sZC10aW1lciB3aG8gaXMgdXNlZCB0byB0aGUgIm1hdGNoaW5nIgorc2VtYW50aWNzLCB5b3UgY2FuIHNldCB0aGUgdmFyaWFibGUgdG8gIm1hdGNoaW5nIiB0byBrZWVwIHRoZQordHJhZGl0aW9uYWwgYmVoYXZpb3VyLiAgSWYgeW91IHdhbnQgdG8gbGl2ZSBpbiB0aGUgZnV0dXJlIGVhcmx5LCB5b3UKK2NhbiBzZXQgaXQgdG8gInNpbXBsZSIgdG9kYXkgd2l0aG91dCB3YWl0aW5nIGZvciBHaXQgMi4wLgorCitXaGVuICJnaXQgYWRkIC11IiAoYW5kICJnaXQgYWRkIC1BIikgaXMgcnVuIGluc2lkZSBhIHN1YmRpcmVjdG9yeSBhbmQKK2RvZXMgbm90IHNwZWNpZnkgd2hpY2ggcGF0aHMgdG8gYWRkIG9uIHRoZSBjb21tYW5kIGxpbmUsIGl0Cit3aWxsIG9wZXJhdGUgb24gdGhlIGVudGlyZSB0cmVlIGluIEdpdCAyLjAgZm9yIGNvbnNpc3RlbmN5Cit3aXRoICJnaXQgY29tbWl0IC1hIiBhbmQgb3RoZXIgY29tbWFuZHMuICBUaGVyZSB3aWxsIGJlIG5vCittZWNoYW5pc20gdG8gbWFrZSBwbGFpbiAiZ2l0IGFkZCAtdSIgYmVoYXZlIGxpa2UgImdpdCBhZGQgLXUgLiIuCitDdXJyZW50IHVzZXJzIG9mICJnaXQgYWRkIC11IiAod2l0aG91dCBhIHBhdGhzcGVjKSBzaG91bGQgc3RhcnQKK3RyYWluaW5nIHRoZWlyIGZpbmdlcnMgdG8gZXhwbGljaXRseSBzYXkgImdpdCBhZGQgLXUgLiIKK2JlZm9yZSBHaXQgMi4wIGNvbWVzLiAgQSB3YXJuaW5nIGlzIGlzc3VlZCB3aGVuIHRoZXNlIGNvbW1hbmRzIGFyZQorcnVuIHdpdGhvdXQgYSBwYXRoc3BlYyBhbmQgd2hlbiB5b3UgaGF2ZSBsb2NhbCBjaGFuZ2VzIG91dHNpZGUgdGhlCitjdXJyZW50IGRpcmVjdG9yeSwgYmVjYXVzZSB0aGUgYmVoYXZpb3VyIGluIEdpdCAyLjAgd2lsbCBiZSBkaWZmZXJlbnQKK2Zyb20gdG9kYXkncyB2ZXJzaW9uIGluIHN1Y2ggYSBzaXR1YXRpb24uCisKK0luIEdpdCAyLjAsICJnaXQgYWRkIDxwYXRoPiIgd2lsbCBiZWhhdmUgYXMgImdpdCBhZGQgLUEgPHBhdGg+Iiwgc28KK3RoYXQgImdpdCBhZGQgZGlyLyIgd2lsbCBub3RpY2UgcGF0aHMgeW91IHJlbW92ZWQgZnJvbSB0aGUgZGlyZWN0b3J5CithbmQgcmVjb3JkIHRoZSByZW1vdmFsLiAgVmVyc2lvbnMgYmVmb3JlIEdpdCAyLjAsIGluY2x1ZGluZyB0aGlzCityZWxlYXNlLCB3aWxsIGtlZXAgaWdub3JpbmcgcmVtb3ZhbHMsIGJ1dCB0aGUgdXNlcnMgd2hvIHJlbHkgb24gdGhpcworYmVoYXZpb3VyIGFyZSBlbmNvdXJhZ2VkIHRvIHN0YXJ0IHVzaW5nICJnaXQgYWRkIC0taWdub3JlLXJlbW92YWwgPHBhdGg+Igorbm93IGJlZm9yZSAyLjAgaXMgcmVsZWFzZWQuCisKK1RoZSBkZWZhdWx0IHByZWZpeCBmb3IgImdpdCBzdm4iIHdpbGwgY2hhbmdlIGluIEdpdCAyLjAuICBGb3IgYSBsb25nCit0aW1lLCAiZ2l0IHN2biIgY3JlYXRlZCBpdHMgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIGRpcmVjdGx5IHVuZGVyCityZWZzL3JlbW90ZXMsIGJ1dCBpdCB3aWxsIHBsYWNlIHRoZW0gdW5kZXIgcmVmcy9yZW1vdGVzL29yaWdpbi8gdW5sZXNzCitpdCBpcyB0b2xkIG90aGVyd2lzZSB3aXRoIGl0cyAtLXByZWZpeCBvcHRpb24uCisKKworVXBkYXRlcyBzaW5jZSB2MS44LjQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0ZvcmVpZ24gaW50ZXJmYWNlcywgc3Vic3lzdGVtcyBhbmQgcG9ydHMuCisKKyAqICJnaXQtc3ZuIiBoYXMgYmVlbiB0YXVnaHQgdG8gdXNlIHRoZSBzZXJmIGxpYnJhcnksIHdoaWNoIGlzIHRoZQorICAgb25seSBvcHRpb24gU1ZOIDEuOC4wIG9mZmVycyB1cyB3aGVuIHRhbGtpbmcgdGhlIEhUVFAgcHJvdG9jb2wuCisKKyAqICJnaXQtc3ZuIiB0YWxraW5nIG92ZXIgYW4gaHR0cHM6Ly8gY29ubmVjdGlvbiB1c2luZyB0aGUgc2VyZiBsaWJyYXJ5CisgICBkdW1wZWQgY29yZSBkdWUgdG8gYSBidWcgaW4gdGhlIHNlcmYgbGlicmFyeSB0aGF0IFNWTiB1c2VzLiAgV29yaworICAgYXJvdW5kIGl0IG9uIG91ciBzaWRlLCBldmVuIHRob3VnaCB0aGUgU1ZOIHNpZGUgaXMgYmVpbmcgZml4ZWQuCisKKyAqIE9uIE1hY09TIFgsIHdlIGRldGVjdGVkIGlmIHRoZSBmaWxlc3lzdGVtIG5lZWRzIHRoZSAicHJlLWNvbXBvc2VkCisgICB1bmljb2RlIHN0cmluZ3MiIHdvcmthcm91bmQsIGJ1dCBkaWQgbm90IGF1dG9tYXRpY2FsbHkgZW5hYmxlIGl0LgorICAgTm93IHdlIGRvLgorCisgKiByZW1vdGUtaGcgcmVtb3RlIGhlbHBlciBtaXNiZWhhdmVkIHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCBhIGxvY2FsIEhnCisgICByZXBvc2l0b3J5IHJlbGF0aXZlIHRvIHRoZSBob21lIGRpcmVjdG9yeSwgZS5nLiAiY2xvbmUgaGc6On4vdGhlcmUiLgorCisgKiBpbWFwLXNlbmQgcG9ydGVkIHRvIE9TIFggdXNlcyBBcHBsZSdzIHNlY3VyaXR5IGZyYW1ld29yayBpbnN0ZWFkIG9mCisgICBPcGVuU1NMJ3MuCisKKyAqICJnaXQgZmFzdC1pbXBvcnQiIHRyZWF0cyBhbiBlbXB0eSBwYXRoIGdpdmVuIHRvICJscyIgYXMgdGhlIHJvb3Qgb2YKKyAgIHRoZSB0cmVlLgorCisKK1VJLCBXb3JrZmxvd3MgJiBGZWF0dXJlcworCisgKiB4ZGctb3BlbiBjYW4gYmUgdXNlZCBhcyBhIGJyb3dzZXIgYmFja2VuZCBmb3IgImdpdCB3ZWItYnJvd3NlIgorICAgKGhlbmNlIHRvIHNob3cgImdpdCBoZWxwIC13IiBvdXRwdXQpLCB3aGVuIGF2YWlsYWJsZS4KKworICogImdpdCBncmVwIiBhbmQgImdpdCBzaG93IiBwYXkgYXR0ZW50aW9uIHRvIHRoZSAiLS10ZXh0Y29udiIgb3B0aW9uCisgICB3aGVuIHRoZXNlIGNvbW1hbmRzIGFyZSB0b2xkIHRvIG9wZXJhdGUgb24gYmxvYiBvYmplY3RzIChlLmcuICJnaXQKKyAgIGdyZXAgLWUgcGF0dGVybiAtLXRleHRjb252IEhFQUQ6TWFrZWZpbGUiKS4KKworICogImdpdCByZXBsYWNlIiBoZWxwZXIgbm8gbG9uZ2VyIGFsbG93cyBhbiBvYmplY3QgdG8gYmUgcmVwbGFjZWQgd2l0aAorICAgYW5vdGhlciBvYmplY3Qgb2YgYSBkaWZmZXJlbnQgdHlwZSB0byBhdm9pZCBjb25mdXNpb24gKHlvdSBjYW4KKyAgIHN0aWxsIG1hbnVhbGx5IGNyYWZ0IHN1Y2ggYSByZXBsYWNlbWVudCB1c2luZyAiZ2l0IHVwZGF0ZS1yZWYiLCBhcyBhbgorICAgZXNjYXBlIGhhdGNoKS4KKworICogImdpdCBzdGF0dXMiIG5vIGxvbmdlciBwcmludHMgdGhlIGRpcnR5IHN0YXR1cyBpbmZvcm1hdGlvbiBvZgorICAgc3VibW9kdWxlcyBmb3Igd2hpY2ggc3VibW9kdWxlLiRuYW1lLmlnbm9yZSBpcyBzZXQgdG8gImFsbCIuCisKKyAqICJnaXQgcmViYXNlIC1pIiBob25vdXJzIGNvcmUuYWJicmV2IHdoZW4gcHJlcGFyaW5nIHRoZSBpbnNuIHNoZWV0CisgICBmb3IgZWRpdGluZy4KKworICogImdpdCBzdGF0dXMiIGR1cmluZyBhIGNoZXJyeS1waWNrIHNob3dzIHdoaWNoIG9yaWdpbmFsIGNvbW1pdCBpcworICAgYmVpbmcgcGlja2VkLgorCisgKiBJbnN0ZWFkIG9mIHR5cGluZyBmb3VyIGNhcGl0YWwgbGV0dGVycyAiSEVBRCIsIHlvdSBjYW4gc2F5ICJAIiBub3csCisgICBlLmcuICJnaXQgbG9nIEAiLgorCisgKiAiZ2l0IGNoZWNrLWlnbm9yZSIgZm9sbG93cyB0aGUgc2FtZSBydWxlIGFzICJnaXQgYWRkIiBhbmQgImdpdAorICAgc3RhdHVzIiBpbiB0aGF0IHRoZSBpZ25vcmUvZXhjbHVkZSBtZWNoYW5pc20gZG9lcyBub3QgdGFrZSBlZmZlY3QKKyAgIG9uIHBhdGhzIHRoYXQgYXJlIGFscmVhZHkgdHJhY2tlZC4gIFdpdGggdGhlICItLW5vLWluZGV4IiBvcHRpb24sIGl0CisgICBjYW4gYmUgdXNlZCB0byBkaWFnbm9zZSB3aGljaCBwYXRocyB0aGF0IHNob3VsZCBoYXZlIGJlZW4gaWdub3JlZAorICAgaGF2ZSBiZWVuIG1pc3Rha2VubHkgYWRkZWQgdG8gdGhlIGluZGV4LgorCisgKiBTb21lIGlycmVsZXZhbnQgImFkdmljZSIgbWVzc2FnZXMgdGhhdCBhcmUgc2hhcmVkIHdpdGggImdpdCBzdGF0dXMiCisgICBvdXRwdXQgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgY29tbWl0IGxvZyB0ZW1wbGF0ZS4KKworICogInVwZGF0ZS1yZWZzIiBsZWFybmVkIGEgIi0tc3RkaW4iIG9wdGlvbiB0byByZWFkIG11bHRpcGxlIHVwZGF0ZQorICAgcmVxdWVzdHMgYW5kIHBlcmZvcm0gdGhlbSBpbiBhbiBhbGwtb3Itbm9uZSBmYXNoaW9uLgorCisgKiBKdXN0IGxpa2UgIm1ha2UgLUMgPGRpcmVjdG9yeT4iLCAiZ2l0IC1DIDxkaXJlY3Rvcnk+IC4uLiIgdGVsbHMgR2l0CisgICB0byBnbyB0aGVyZSBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZS4KKworICogSnVzdCBsaWtlICJnaXQgY2hlY2tvdXQgLSIga25vd3MgdG8gY2hlY2sgb3V0LCBhbmQgImdpdCBtZXJnZSAtIgorICAga25vd3MgdG8gbWVyZ2UsIHRoZSBicmFuY2ggeW91IHdlcmUgcHJldmlvdXNseSBvbiwgImdpdCBjaGVycnktcGljayIKKyAgIG5vdyB1bmRlcnN0YW5kcyAiZ2l0IGNoZXJyeS1waWNrIC0iIHRvIHBpY2sgZnJvbSB0aGUgcHJldmlvdXMKKyAgIGJyYW5jaC4KKworICogImdpdCBzdGF0dXMiIG5vdyBvbWl0cyB0aGUgcHJlZml4IHRvIG1ha2UgaXRzIG91dHB1dCBhIGNvbW1lbnQgaW4gYQorICAgY29tbWl0IGxvZyBlZGl0b3IsIHdoaWNoIGlzIG5vdCBuZWNlc3NhcnkgZm9yIGh1bWFuIGNvbnN1bXB0aW9uLgorICAgU2NyaXB0cyB0aGF0IHBhcnNlIHRoZSBvdXRwdXQgb2YgImdpdCBzdGF0dXMiIGFyZSBhZHZpc2VkIHRvIHVzZQorICAgImdpdCBzdGF0dXMgLS1wb3JjZWxhaW4iIGluc3RlYWQsIGFzIGl0cyBmb3JtYXQgaXMgc3RhYmxlIGFuZCBlYXNpZXIKKyAgIHRvIHBhcnNlLgorCisgKiBUaGUgcmVmIHN5bnRheCAiZm9vXnt0YWd9IiAod2l0aCB0aGUgbGl0ZXJhbCBzdHJpbmcgInt0YWd9IikgcGVlbHMgYQorICAgdGFnIHJlZiB0byBpdHNlbGYsIGkuZS4gaXQncyBhIG5vLW9wLiwgYW5kIGZhaWxzIGlmCisgICAiZm9vIiBpcyBub3QgYSB0YWcuICAiZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSB2MS4wXnt0YWd9IiBpcworICAgYSBtb3JlIGNvbnZlbmllbnQgd2F5IHRoYW4gInRlc3QgJChnaXQgY2F0LWZpbGUgLXQgdjEuMCkgPSB0YWciIHRvCisgICBjaGVjayBpZiB2MS4wIGlzIGEgdGFnLgorCisgKiAiZ2l0IGJyYW5jaCAtdiAtdiIgKGFuZCAiZ2l0IHN0YXR1cyIpIGRpZCBub3QgZGlzdGluZ3Vpc2ggYW1vbmcgYQorICAgYnJhbmNoIHRoYXQgaXMgbm90IGJhc2VkIG9uIGFueSBvdGhlciBicmFuY2gsIGEgYnJhbmNoIHRoYXQgaXMgaW4KKyAgIHN5bmMgd2l0aCBpdHMgdXBzdHJlYW0gYnJhbmNoLCBhbmQgYSBicmFuY2ggdGhhdCBpcyBjb25maWd1cmVkIHdpdGggYW4KKyAgIHVwc3RyZWFtIGJyYW5jaCB0aGF0IG5vIGxvbmdlciBleGlzdHMuCisKKyAqIEVhcmxpZXIgd2Ugc3RhcnRlZCByZWplY3RpbmcgYW55IGF0dGVtcHQgdG8gYWRkIHRoZSAwezQwfSBvYmplY3QgbmFtZSB0bworICAgdGhlIGluZGV4IGFuZCB0byB0cmVlIG9iamVjdHMsIGJ1dCBpdCBzb21ldGltZXMgaXMgbmVjZXNzYXJ5IHRvCisgICBhbGxvdyB0aGlzIHRvIGJlIGFibGUgdG8gdXNlIHRvb2xzIGxpa2UgZmlsdGVyLWJyYW5jaCB0byBjb3JyZWN0IHN1Y2gKKyAgIGJyb2tlbiB0cmVlIG9iamVjdHMuICAiZmlsdGVyLWJyYW5jaCIgY2FuIGFnYWluIGJlIHVzZWQgdG8gZG8gdGhpcy4KKworICogImdpdCBjb25maWciIGRpZCBub3QgcHJvdmlkZSBhIHdheSB0byBzZXQgb3IgYWNjZXNzIG51bWJlcnMgbGFyZ2VyCisgICB0aGFuIGEgbmF0aXZlICJpbnQiIG9uIHRoZSBwbGF0Zm9ybTsgaXQgbm93IHByb3ZpZGVzIDY0LWJpdCBzaWduZWQKKyAgIGludGVnZXJzIG9uIGFsbCBwbGF0Zm9ybXMuCisKKyAqICJnaXQgcHVsbCAtLXJlYmFzZSIgYWx3YXlzIGNob3NlIHRvIGRvIHRoZSBib2ctc3RhbmRhcmQgZmxhdHRlbmluZworICAgcmViYXNlLiAgWW91IGNhbiB0ZWxsIGl0IHRvIHJ1biAicmViYXNlIC0tcHJlc2VydmUtbWVyZ2VzIiB3aXRoCisgICAiZ2l0IHB1bGwgLS1yZWJhc2U9cHJlc2VydmUiIG9yIGJ5CisgICBzZXR0aW5nICJwdWxsLnJlYmFzZSIgY29uZmlndXJhdGlvbiB0byAicHJlc2VydmUiLgorCisgKiAiZ2l0IHB1c2ggLS1uby10aGluIiBhY3R1YWxseSBkaXNhYmxlcyB0aGUgInRoaW4gcGFjayB0cmFuc2ZlciIKKyAgIG9wdGltaXphdGlvbi4KKworICogTWFnaWMgcGF0aHNwZWNzIGxpa2UgIjooaWNhc2UpbWFrZWZpbGUiIChtYXRjaGVzIGJvdGggTWFrZWZpbGUKKyAgIGFuZCBtYWtlZmlsZSkgYW5kICI6KGdsb2IpZm9vLyoqL2JhciIgKG1hdGNoZXMgImJhciIgaW4gImZvbyIKKyAgIGFuZCBhbnkgc3ViZGlyZWN0b3J5IG9mICJmb28iKSBjYW4gYmUgdXNlZCBpbiBtb3JlIHBsYWNlcy4KKworICogVGhlICJodHRwLioiIHZhcmlhYmxlcyBjYW4gbm93IGJlIHNwZWNpZmllZCBmb3IgaW5kaXZpZHVhbCBVUkxzLgorICAgRm9yIGV4YW1wbGUsCisKKyAgIFtodHRwXQorICAgICAgIHNzbFZlcmlmeSA9IHRydWUKKyAgIFtodHRwICJodHRwczovL3dlYWsuZXhhbXBsZS5jb20vIl0KKyAgICAgICBzc2xWZXJpZnkgPSBmYWxzZQorCisgICB3b3VsZCBmbGlwIGh0dHAuc3NsVmVyaWZ5IG9mZiBvbmx5IHdoZW4gdGFsa2luZyB0byB0aGF0IHNwZWNpZmljCisgICBzaXRlLgorCisgKiAiZ2l0IG12IEEgQiIgd2hlbiBtb3ZpbmcgYSBzdWJtb2R1bGUgaGFzIGJlZW4gdGF1Z2h0IHRvCisgICByZWxvY2F0ZSB0aGUgc3VibW9kdWxlJ3Mgd29ya2luZyB0cmVlIGFuZCB0byBhZGp1c3QgdGhlIHBhdGhzIGluIHRoZQorICAgLmdpdG1vZHVsZXMgZmlsZS4KKworICogImdpdCBibGFtZSIgY2FuIG5vdyB0YWtlIG1vcmUgdGhhbiBvbmUgLUwgb3B0aW9uIHRvIGRpc2NvdmVyIHRoZQorICAgb3JpZ2luIG9mIG11bHRpcGxlIGJsb2NrcyBvZiBsaW5lcy4KKworICogVGhlIGh0dHAgdHJhbnNwb3J0IGNsaWVudHMgY2FuIG9wdGlvbmFsbHkgYXNrIHRvIHNhdmUgY29va2llcworICAgd2l0aCB0aGUgaHR0cC5zYXZlY29va2llcyBjb25maWd1cmF0aW9uIHZhcmlhYmxlLgorCisgKiAiZ2l0IHB1c2giIGxlYXJuZWQgYSBtb3JlIGZpbmUgZ3JhaW5lZCBjb250cm9sIG92ZXIgYSBibHVudAorICAgIi0tZm9yY2UiIHdoZW4gcmVxdWVzdGluZyBhIG5vbi1mYXN0LWZvcndhcmQgdXBkYXRlIHdpdGggdGhlCisgICAiLS1mb3JjZS13aXRoLWxlYXNlPTxyZWZuYW1lPjo8ZXhwZWN0ZWQgb2JqZWN0IG5hbWU+IiBvcHRpb24uCisKKyAqICJnaXQgZGlmZiAtLWRpZmYtZmlsdGVyPTxjbGFzc2VzIG9mIGNoYW5nZXM+IiBjYW4gbm93IHRha2UKKyAgIGxvd2VyY2FzZSBsZXR0ZXJzIChlLmcuICItLWRpZmYtZmlsdGVyPWQiKSB0byBtZWFuICJzaG93CisgICBldmVyeXRoaW5nIGJ1dCB0aGVzZSBjbGFzc2VzIi4gICJnaXQgZGlmZi1maWxlcyAtcSIgaXMgbm93IGEKKyAgIGRlcHJlY2F0ZWQgc3lub255bSBmb3IgImdpdCBkaWZmLWZpbGVzIC0tZGlmZi1maWx0ZXI9ZCIuCisKKyAqICJnaXQgZmV0Y2giIChoZW5jZSAiZ2l0IHB1bGwiIGFzIHdlbGwpIGxlYXJuZWQgdG8gY2hlY2sKKyAgICJmZXRjaC5wcnVuZSIgYW5kICJyZW1vdGUuKi5wcnVuZSIgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMgYW5kCisgICB0byBiZWhhdmUgYXMgaWYgdGhlICItLXBydW5lIiBjb21tYW5kIGxpbmUgb3B0aW9uIHdhcyBnaXZlbi4KKworICogImdpdCBjaGVjay1pZ25vcmUgLXoiIGFwcGxpZWQgdGhlIE5VTCB0ZXJtaW5hdGlvbiB0byBib3RoIGl0cyBpbnB1dAorICAgKHdpdGggLS1zdGRpbikgYW5kIGl0cyBvdXRwdXQsIGJ1dCAiZ2l0IGNoZWNrLWF0dHIgLXoiIGlnbm9yZWQgdGhlCisgICBvcHRpb24gb24gdGhlIG91dHB1dCBzaWRlLiBNYWtlIGJvdGggaG9ub3IgLXogb24gdGhlIGlucHV0IGFuZAorICAgb3V0cHV0IHNpZGUgdGhlIHNhbWUgd2F5LgorCisgKiAiZ2l0IHdoYXRjaGFuZ2VkIiBtYXkgc3RpbGwgYmUgdXNlZCBieSBvbGQgdGltZXJzLCBidXQgbWVudGlvbiBvZgorICAgaXQgaW4gZG9jdW1lbnRzIG1lYW50IGZvciBuZXcgdXNlcnMgd2lsbCBvbmx5IHdhc3RlIHJlYWRlcnMnIHRpbWUKKyAgIHdvbmRlcmluZyB3aGF0IHRoZSBkaWZmZXJlbmNlIGlzIGJldHdlZW4gaXQgYW5kICJnaXQgbG9nIi4gIE1ha2UgaXQKKyAgIGxlc3MgcHJvbWluZW50IGluIHRoZSBnZW5lcmFsIHBhcnQgb2YgdGhlIGRvY3VtZW50YXRpb24gYW5kIGV4cGxhaW4KKyAgIHRoYXQgaXQgaXMgbWVyZWx5IGEgImdpdCBsb2ciIHdpdGggZGlmZmVyZW50IGRlZmF1bHQgYmVoYXZpb3VyIGluCisgICBpdHMgb3duIGRvY3VtZW50LgorCisKK1BlcmZvcm1hbmNlLCBJbnRlcm5hbCBJbXBsZW1lbnRhdGlvbiwgZXRjLgorCisgKiAiZ2l0IGZvci1lYWNoLXJlZiIgd2hlbiBhc2tpbmcgZm9yIG1lcmVseSB0aGUgb2JqZWN0IG5hbWUgZG9lcyBub3QKKyAgIGhhdmUgdG8gcGFyc2UgdGhlIG9iamVjdCBwb2ludGVkIGF0IGJ5IHRoZSByZWZzOyB0aGUgY29kZXBhdGggaGFzCisgICBiZWVuIG9wdGltaXplZC4KKworICogVGhlIEhUVFAgdHJhbnNwb3J0IHdpbGwgdHJ5IHRvIHVzZSBUQ1Aga2VlcGFsaXZlIHdoZW4gYWJsZS4KKworICogImdpdCByZXBhY2siIGlzIG5vdyB3cml0dGVuIGluIEMuCisKKyAqIEJ1aWxkIHByb2NlZHVyZSBmb3IgTVNWQyBoYXMgYmVlbiB1cGRhdGVkLgorCisgKiBJZiBhIGJ1aWxkLXRpbWUgZmFsbGJhY2sgaXMgc2V0IHRvICJjYXQiIGluc3RlYWQgb2YgImxlc3MiLCB3ZQorICAgc2hvdWxkIGFwcGx5IHRoZSBzYW1lICJubyBzdWJwcm9jZXNzIG9yIHBpcGUiIG9wdGltaXphdGlvbiBhcyB3ZQorICAgYXBwbHkgdG8gdXNlci1zdXBwbGllZCBHSVRfUEFHRVI9Y2F0LgorCisgKiBNYW55IGNvbW1hbmRzIHVzZSBhIC0tZGFzaGVkLW9wdGlvbiBhcyBhbiBvcGVyYXRpb24gbW9kZSBzZWxlY3RvcgorICAgKGUuZy4gImdpdCB0YWcgLS1kZWxldGUiKSB0aGF0IGV4Y2x1ZGVzIG90aGVyIG9wZXJhdGlvbiBtb2RlcworICAgKGUuZy4gImdpdCB0YWcgLS1kZWxldGUgLS12ZXJpZnkiIGlzIG5vbnNlbnNlKSBhbmQgdGhhdCBjYW5ub3QgYmUKKyAgIG5lZ2F0ZWQgKGUuZy4gImdpdCB0YWcgLS1uby1kZWxldGUiIGlzIG5vbnNlbnNlKS4gIFRoZSBwYXJzZS1vcHRpb25zCisgICBBUEkgbGVhcm5lZCBhIG5ldyBPUFRfQ01ETU9ERSBtYWNybyB0byBtYWtlIGl0IGVhc2llciB0byBpbXBsZW1lbnQKKyAgIHN1Y2ggYSBzZXQgb2Ygb3B0aW9ucy4KKworICogT1BUX0JPT0xFQU4oKSBpbiB0aGUgcGFyc2Utb3B0aW9ucyBBUEkgd2FzIG1pc2Rlc2lnbmVkIHRvIGJlICJjb3VudGluZworICAgdXAiIGJ1dCBtYW55IHN1YmNvbW1hbmRzIGV4cGVjdCBpdCB0byBiZWhhdmUgYXMgIm9uL29mZiIuIFVwZGF0ZQorICAgdGhlbSB0byB1c2UgT1BUX0JPT0woKSB3aGljaCBpcyBhIHByb3BlciBib29sZWFuLgorCisgKiAiZ2l0IGdjIiBleGl0cyBlYXJseSB3aXRob3V0IGRvaW5nIGFueSB3b3JrIHdoZW4gaXQgZGV0ZWN0cworICAgdGhhdCBhbm90aGVyIGluc3RhbmNlIG9mIGl0c2VsZiBpcyBhbHJlYWR5IHJ1bm5pbmcuCisKKyAqIFVuZGVyIG1lbW9yeSBwcmVzc3VyZSBhbmQvb3IgZmlsZSBkZXNjcmlwdG9yIHByZXNzdXJlLCB3ZSB1c2VkIHRvCisgICBjbG9zZSBwYWNrIHdpbmRvd3MgdGhhdCBhcmUgbm90IHVzZWQgYW5kIGFsc28gY2xvc2VkIGZpbGVoYW5kbGVzIHRvCisgICBvcGVuIGJ1dCB1bnVzZWQgcGFja2ZpbGVzLiBUaGVzZSBhcmUgbm93IGNvbnRyb2xsZWQgc2VwYXJhdGVseQorICAgdG8gYmV0dGVyIGNvcGUgd2l0aCB0aGUgbG9hZC4KKworQWxzbyBjb250YWlucyB2YXJpb3VzIGRvY3VtZW50YXRpb24gdXBkYXRlcyBhbmQgY29kZSBjbGVhbi11cHMuCisKKworRml4ZXMgc2luY2UgdjEuOC40CistLS0tLS0tLS0tLS0tLS0tLS0KKworVW5sZXNzIG90aGVyd2lzZSBub3RlZCwgYWxsIHRoZSBmaXhlcyBzaW5jZSB2MS44LjQgaW4gdGhlIG1haW50ZW5hbmNlCit0cmFjayBhcmUgY29udGFpbmVkIGluIHRoaXMgcmVsZWFzZSAoc2VlIHRoZSBtYWludGVuYW5jZSByZWxlYXNlcycgbm90ZXMgZm9yCitkZXRhaWxzKS4KKworICogQW4gYW5jaWVudCBIb3ctVG8gb24gc2VydmluZyBHaXQgcmVwb3NpdG9yaWVzIG9uIGFuIEhUVFAgc2VydmVyCisgICBsYWNrZWQgYSB3YXJuaW5nIHRoYXQgaXQgaGFzIGJlZW4gbW9zdGx5IHN1cGVyc2VkZWQgd2l0aCBhIG1vcmUKKyAgIG1vZGVybiB3YXkuCisgICAobWVyZ2UgNmQ1MmJjMyBzYy9kb2MtaG93dG8tZHVtYi1odHRwIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIGludGVyYWN0aW9uIGJldHdlZW4gdGhlIHVzZSBvZiBQZXJsIGluIG91ciB0ZXN0IHN1aXRlIGFuZCBOT19QRVJMCisgICBoYXMgYmVlbiBjbGFyaWZpZWQgYSBiaXQuCisgICAobWVyZ2UgZjhmYzBlZSBqbi90ZXN0LXByZXJlcS1wZXJsLWRvYyBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBzeW5vcHNpcyBzZWN0aW9uIG9mIHRoZSAiZ2l0IHVucGFjay1vYmplY3RzIiBkb2N1bWVudGF0aW9uIGhhcyBiZWVuCisgICBjbGFyaWZpZWQgYSBiaXQuCisgICAobWVyZ2UgNjFlMmUyMiB2ZC9kb2MtdW5wYWNrLW9iamVjdHMgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBXZSBkaWQgbm90IGdlbmVyYXRlIHRoZSBIVE1MIHZlcnNpb24gb2YgdGhlIGRvY3VtZW50YXRpb24gdG8gImdpdCBzdWJ0cmVlIgorICAgaW4gY29udHJpYi8uCisgICAobWVyZ2UgOTVjNjJmYiBqay9zdWJ0cmVlLWluc3RhbGwtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogQSBmYXN0LWltcG9ydCBzdHJlYW0gZXhwcmVzc2VzIGEgcGF0aG5hbWUgd2l0aCBmdW5ueSBjaGFyYWN0ZXJzIGJ5CisgICBxdW90aW5nIHRoZW0gaW4gQyBzdHlsZTsgdGhlIHJlbW90ZS1oZyByZW1vdGUgaGVscGVyIGZvcmdvdCB0byB1bnF1b3RlCisgICBzdWNoIGEgcGF0aC4KKyAgIChtZXJnZSAxMTM2MjY1IGFwL3JlbW90ZS1oZy11bnF1b3RlLWNxdW90ZSBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcmVzZXQgLXAgSEVBRCIgaGFzIGEgY29kZXBhdGggdG8gc3BlY2lhbC1jYXNlIGl0IHRvIGJlaGF2ZQorICAgZGlmZmVyZW50bHkgZnJvbSByZXNldHRpbmcgdG8gY29udGVudHMgb2Ygb3RoZXIgY29tbWl0cywgYnV0IGEKKyAgIHJlY2VudCBjaGFuZ2UgYnJva2UgaXQuCisKKyAqIENvbG9yaW5nIGFyb3VuZCBvY3RvcHVzIG1lcmdlcyBpbiAibG9nIC0tZ3JhcGgiIG91dHB1dCB3YXMgc2NyZXd5LgorICAgKG1lcmdlIDMzOWMxN2IgaG4vbG9nLWdyYXBoLWNvbG9yLW9jdG9wdXMgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGNoZWNrb3V0IHRvcGljIiwgd2hlbiB0aGVyZSBpcyBub3QgeWV0IGEgbG9jYWwgInRvcGljIiBicmFuY2gKKyAgIGJ1dCB0aGVyZSBpcyBhIHVuaXF1ZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIGZvciBhIHJlbW90ZSAidG9waWMiCisgICBicmFuY2gsIHByZXRlbmRlZCBhcyBpZiAiZ2l0IGNoZWNrb3V0IC10IC1iIHRvcGljIHJlbW90ZS8kci90b3BpYyIKKyAgIChmb3IgdGhhdCB1bmlxdWUgcmVtb3RlICRyKSB3YXMgcnVuLiBUaGlzIGhhY2sgaG93ZXZlciB3YXMgbm90CisgICBpbXBsZW1lbnRlZCBmb3IgImdpdCBjaGVja291dCB0b3BpYyAtLSIuCisgICAobWVyZ2UgYmNhMzk2OSBtbS9jaGVja291dC1hdXRvLXRyYWNrLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIE9uZSBsb25nLXN0YW5kaW5nIGZsYXcgaW4gdGhlIHBhY2sgdHJhbnNmZXIgcHJvdG9jb2wgdXNlZCBieSAiZ2l0CisgICBjbG9uZSIgd2FzIHRoYXQgdGhlcmUgd2FzIG5vIHdheSB0byB0ZWxsIHRoZSBvdGhlciBlbmQgd2hpY2ggYnJhbmNoCisgICAiSEVBRCIgcG9pbnRzIGF0LCBhbmQgdGhlIHJlY2VpdmluZyBlbmQgbmVlZGVkIHRvIGd1ZXNzLiAgQSBuZXcKKyAgIGNhcGFiaWxpdHkgaGFzIGJlZW4gZGVmaW5lZCBpbiB0aGUgcGFjayBwcm90b2NvbCB0byBjb252ZXkgdGhpcworICAgaW5mb3JtYXRpb24gc28gdGhhdCBjbG9uaW5nIGZyb20gYSByZXBvc2l0b3J5IHdpdGggbW9yZSB0aGFuIG9uZQorICAgYnJhbmNoIHBvaW50aW5nIGF0IHRoZSBzYW1lIGNvbW1pdCB3aGVyZSB0aGUgSEVBRCBpcyBhdCBub3cKKyAgIHJlbGlhYmx5IHNldHMgdGhlIGluaXRpYWwgYnJhbmNoIGluIHRoZSByZXN1bHRpbmcgcmVwb3NpdG9yeS4KKyAgIChtZXJnZSAzNjBhMzI2IGpjL3VwbG9hZC1wYWNrLXNlbmQtc3ltcmVmIGxhdGVyIHRvIG1haW50KS4KKworICogV2UgZGlkIG5vdCBoYW5kbGUgY2FzZXMgd2hlcmUgdGhlIGh0dHAgdHJhbnNwb3J0IGdldHMgcmVkaXJlY3RlZCBkdXJpbmcKKyAgIHRoZSBhdXRob3JpemF0aW9uIHJlcXVlc3QgKGUuZy4gZnJvbSBodHRwOi8vIHRvIGh0dHBzOi8vKS4KKyAgIChtZXJnZSA3MDkwMGVkIGprL2h0dHAtYXV0aC1yZWRpcmVjdHMgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBCYXNoIHByb21wdGluZyBjb2RlIHRvIGRlYWwgd2l0aCBhbiBTVk4gcmVtb3RlIGFzIGFuIHVwc3RyZWFtCisgICB3YXMgY29kZWQgaW4gYSB3YXkgdW5zdXBwb3J0ZWQgYnkgb2xkZXIgQmFzaCB2ZXJzaW9ucyAoMy54KS4KKyAgIChtZXJnZSA1MmVjODg5IHNnL3Byb21wdC1zdm4tcmVtb3RlLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBmYWxsLWJhY2sgcGFyc2luZyBvZiBjb21taXQgb2JqZWN0cyB3aXRoIGJyb2tlbiBhdXRob3Igb3IKKyAgIGNvbW1pdHRlciBsaW5lcyB3YXMgbGVzcyByb2J1c3QgdGhhbiBpZGVhbCBpbiBwaWNraW5nIHVwIHRoZQorICAgdGltZXN0YW1wcy4KKyAgIChtZXJnZSAwMzgxOGE0IGprL3NwbGl0LWJyb2tlbi1pZGVudCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcmV2LWxpc3QgLS1vYmplY3RzIF52MS4wXiB2MS4wIiBnYXZlIHRoZSB2MS4wIHRhZyBpdHNlbGYgaW4gdGhlCisgICBvdXRwdXQsIGJ1dCAiZ2l0IHJldi1saXN0IC0tb2JqZWN0cyB2MS4wXi4udjEuMCIgZGlkIG5vdC4KKyAgIChtZXJnZSA4OTVjNWJhIGpjL3JldmlzaW9uLXJhbmdlLXVucGVlbCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgY2xvbmUiIHdyb3RlIHNvbWUgcHJvZ3Jlc3MgbWVzc2FnZXMgdG8gc3RhbmRhcmQgb3V0cHV0LCBub3QKKyAgIHRvIHN0YW5kYXJkIGVycm9yLCBhbmQgZGlkIG5vdCBzdXBwcmVzcyB0aGVtIHdpdGggdGhlCisgICAtLW5vLXByb2dyZXNzIG9wdGlvbi4KKyAgIChtZXJnZSA2NDNmOTE4IGprL2Nsb25lLXByb2dyZXNzLXRvLXN0ZGVyciBsYXRlciB0byBtYWludCkuCisKKyAqICJmb3JtYXQtcGF0Y2ggLS1mcm9tPTx3aG9tPiIgZm9yZ290IHRvIG9taXQgYW4gdW5uZWNlc3NhcnkgaW4tYm9keQorICAgZnJvbSBsaW5lLCBpLmUuIHdoZW4gPHdob20+IGlzIHRoZSBzYW1lIGFzIHRoZSByZWFsIGF1dGhvci4KKyAgIChtZXJnZSA2NjJjYzMwIGprL2Zvcm1hdC1wYXRjaC1mcm9tIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBzaG9ydGxvZyIgdXNlZCB0byBjaG9rZSBhbmQgZGllIHdoZW4gdGhlcmUgaXMgYSBtYWxmb3JtZWQKKyAgIGNvbW1pdCAoZS5nLiBtaXNzaW5nIGF1dGhvcnMpOyBpdCBub3cgc2ltcGx5IGlnbm9yZXMgc3VjaCBhIGNvbW1pdAorICAgYW5kIGtlZXBzIGdvaW5nLgorICAgKG1lcmdlIGNkNGYwOWUgamsvc2hvcnRsb2ctdG9sZXJhdGUtYnJva2VuLWNvbW1pdCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgbWVyZ2UtcmVjdXJzaXZlIiBkaWQgbm90IHBhcnNlIGl0cyAiLS1kaWZmLWFsZ29yaXRobT0iIGNvbW1hbmQKKyAgIGxpbmUgb3B0aW9uIGNvcnJlY3RseS4KKyAgIChtZXJnZSA2NTYyOTI4IGprL2RpZmYtYWxnbyBsYXRlciB0byBtYWludCkuCisKKyAqIFdoZW4gcnVubmluZyAiZmV0Y2ggLXEiLCBhIGxvbmcgc2lsZW5jZSB3aGlsZSB0aGUgc2VuZGVyIHNpZGUKKyAgIGNvbXB1dGVzIHRoZSBzZXQgb2Ygb2JqZWN0cyB0byBzZW5kIGNhbiBiZSBtaXN0YWtlbiBieSBwcm94aWVzIGFzCisgICBkcm9wcGVkIGNvbm5lY3Rpb24uICBUaGUgc2VydmVyIHNpZGUgaGFzIGJlZW4gdGF1Z2h0IHRvIHNlbmQgYQorICAgc21hbGwgZW1wdHkgbWVzc2FnZXMgdG8ga2VlcCB0aGUgY29ubmVjdGlvbiBhbGl2ZS4KKyAgIChtZXJnZSAxMTVkZWRkIGprL3VwbG9hZC1wYWNrLWtlZXBhbGl2ZSBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcmViYXNlIiBoYWQgYSBwb3J0YWJpbGl0eSByZWdyZXNzaW9uIGluIHYxLjguNCB0aGF0IHRyaWdnZXJlZCBhCisgICBidWcgaW4gc29tZSBCU0Qgc2hlbGwgaW1wbGVtZW50YXRpb25zLgorICAgKG1lcmdlIDk5ODU1ZGQgbW0vcmViYXNlLWNvbnRpbnVlLWZyZWVic2QtV0IgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGJyYW5jaCAtLXRyYWNrIiBoYWQgYSBtaW5vciByZWdyZXNzaW9uIGluIHYxLjguMy4yIGFuZCBsYXRlcgorICAgdGhhdCBtYWRlIGl0IGltcG9zc2libGUgdG8gYmFzZSB5b3VyIGxvY2FsIHdvcmsgb24gYW55dGhpbmcgYnV0IGEKKyAgIGxvY2FsIGJyYW5jaCBvZiB0aGUgdXBzdHJlYW0gcmVwb3NpdG9yeSB5b3UgYXJlIHRyYWNraW5nLgorICAgKG1lcmdlIGIwZjQ5ZmYgamgvY2hlY2tvdXQtYXV0by10cmFja2luZyBsYXRlciB0byBtYWludCkuCisKKyAqIFdoZW4gdGhlIHdlYiBzZXJ2ZXIgcmVzcG9uZHMgd2l0aCAiNDA1IE1ldGhvZCBOb3QgQWxsb3dlZCIsICJnaXQKKyAgIGh0dHAtYmFja2VuZCIgc2hvdWxkIHRlbGwgdGhlIGNsaWVudCB3aGF0IG1ldGhvZHMgYXJlIGFsbG93ZWQgd2l0aAorICAgdGhlICJBbGxvdyIgaGVhZGVyLgorICAgKG1lcmdlIDkyNDdiZTAgYmMvaHR0cC1iYWNrZW5kLWFsbG93LTQwNSBsYXRlciB0byBtYWludCkuCisKKyAqIFdoZW4gdGhlcmUgaXMgbm8gc3VmZmljaWVudCBvdmVybGFwIGJldHdlZW4gb2xkIGFuZCBuZXcgaGlzdG9yeQorICAgZHVyaW5nIGEgImdpdCBmZXRjaCIgaW50byBhIHNoYWxsb3cgcmVwb3NpdG9yeSwgb2JqZWN0cyB0aGF0IHRoZQorICAgc2VuZGluZyBzaWRlIGtub3dzIHRoZSByZWNlaXZpbmcgZW5kIGhhcyB3ZXJlIHVubmVjZXNzYXJpbHkgc2VudC4KKyAgIChtZXJnZSBmMjFkMmE3IG5kL2ZldGNoLWludG8tc2hhbGxvdyBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgY3Zzc2VydmVyIiBjb21wdXRlZCB0aGUgcGVybWlzc2lvbiBtb2RlIGJpdHMgaW5jb3JyZWN0bHkgZm9yCisgICBleGVjdXRhYmxlIGZpbGVzLgorICAgKG1lcmdlIDFiNDhkNTYgamMvY3Zzc2VydmVyLXBlcm0tYml0LWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIFdoZW4gc2VuZC1lbWFpbCBvYnRhaW5zIGFuIGVycm9yIG1lc3NhZ2UgdG8gZGllIHdpdGggdXBvbgorICAgZmFpbHVyZSB0byBzdGFydCBhbiBTU0wgc2Vzc2lvbiwgaXQgdHJpZWQgdG8gcmVhZCB0aGUgZXJyb3Igc3RyaW5nCisgICBmcm9tIGEgd3JvbmcgcGxhY2UuCisgICAobWVyZ2UgNmNiMGM4OCBiYy9zZW5kLWVtYWlsLXNzbC1kaWUtbWVzc2FnZS1maXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgaW1wbGVtZW50YXRpb24gb2YgImFkZCAtaSIgaGFzIHNvbWUgY3JpcHBsaW5nIGNvZGUgdG8gd29yayBhcm91bmQgYW4KKyAgIEFjdGl2ZVN0YXRlIFBlcmwgbGltaXRhdGlvbiBidXQgaXQgYnkgbWlzdGFrZSBhbHNvIHRyaWdnZXJlZCBvbiBHaXQKKyAgIGZvciBXaW5kb3dzIHdoZXJlIE1TWVMgcGVybCBpcyB1c2VkLgorICAgKG1lcmdlIGRmMTdlNzcganMvYWRkLWktbWluZ3cgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBXZSBtYWRlIHN1cmUgdGhhdCB3ZSBub3RpY2Ugd2hlbiB0aGUgdXNlci1zdXBwbGllZCBHSVRfRElSIGlzIGFjdHVhbGx5IGEKKyAgIGdpdGZpbGUsIGJ1dCBkaWQgbm90IGRvIHRoZSBzYW1lIHdoZW4gdGhlIGRlZmF1bHQgIi5naXQiIGlzIGEKKyAgIGdpdGZpbGUuCisgICAobWVyZ2UgNDg3YTJiNyBuZC9naXQtZGlyLXBvaW50aW5nLWF0LWdpdGZpbGUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBXaGVuIGFuIG9iamVjdCBpcyBub3QgZm91bmQgYWZ0ZXIgY2hlY2tpbmcgdGhlIHBhY2tmaWxlcyBhbmQgdGhlCisgICBsb29zZSBvYmplY3QgZGlyZWN0b3J5LCByZWFkX3NoYTFfZmlsZSgpIHJlLWNoZWNrcyB0aGUgcGFja2ZpbGVzIHRvCisgICBwcmV2ZW50IHJhY2luZyB3aXRoIGEgY29uY3VycmVudCByZXBhY2tlcjsgdGVhY2ggdGhlIHNhbWUgbG9naWMgdG8KKyAgIGhhc19zaGExX2ZpbGUoKS4KKyAgIChtZXJnZSA0NWU4YTc0IGprL2hhcy1zaGExLWZpbGUtcmV0cnktcGFja2VkIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBjb21taXQgLS1hdXRob3I9JG5hbWUiLCB3aGVuICRuYW1lIGlzIG5vdCBpbiB0aGUgY2Fub25pY2FsCisgICAiQS4gVS4gVGhvciA8YXUudGhvckBleGFtcGxlLnh6PiIgZm9ybWF0LCBsb29rcyBmb3IgYSBtYXRjaGluZyBuYW1lCisgICBmcm9tIGV4aXN0aW5nIGhpc3RvcnksIGJ1dCBkaWQgbm90IGNvbnN1bHQgbWFpbG1hcCB0byBncmFiIHRoZQorICAgcHJlZmVycmVkIGF1dGhvciBuYW1lLgorICAgKG1lcmdlIGVhMTY3OTQgYXAvY29tbWl0LWF1dGhvci1tYWlsbWFwIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBscy1maWxlcyAtayIgbmVlZHMgdG8gY3Jhd2wgb25seSB0aGUgcGFydCBvZiB0aGUgd29ya2luZyB0cmVlCisgICB0aGF0IG1heSBvdmVybGFwIHRoZSBwYXRocyBpbiB0aGUgaW5kZXggdG8gZmluZCBraWxsZWQgZmlsZXMsIGJ1dAorICAgc2hhcmVkIGNvZGUgd2l0aCB0aGUgbG9naWMgdG8gZmluZCBhbGwgdGhlIHVudHJhY2tlZCBmaWxlcywgd2hpY2gKKyAgIG1hZGUgaXQgdW5uZWNlc3NhcmlseSBpbmVmZmljaWVudC4KKyAgIChtZXJnZSA2ODBiZTA0IGpjL2xzLWZpbGVzLWtpbGxlZC1vcHRpbSBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBzaG9ydGVuZWQgY29tbWl0IG9iamVjdCBuYW1lcyBpbiB0aGUgaW5zbiBzaGVldCB0aGF0IGlzIHByZXBhcmVkIGF0IHRoZQorICAgYmVnaW5uaW5nIG9mIGEgInJlYmFzZSAtaSIgc2Vzc2lvbiBjYW4gYmVjb21lIGFtYmlndW91cyBhcyB0aGUKKyAgIHJlYmFzaW5nIHByb2dyZXNzZXMgYW5kIHRoZSByZXBvc2l0b3J5IGdhaW5zIG1vcmUgY29tbWl0cy4gTWFrZQorICAgc3VyZSB0aGUgaW50ZXJuYWwgcmVjb3JkIGlzIGtlcHQgd2l0aCBmdWxsIDQwLWhleCBvYmplY3QgbmFtZXMuCisgICAobWVyZ2UgNzVjNjk3NiBlcy9yZWJhc2UtaS1uby1hYmJyZXYgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IHJlYmFzZSAtLXByZXNlcnZlLW1lcmdlcyIgaW50ZXJuYWxseSB1c2VkIHRoZSBtZXJnZSBtYWNoaW5lcnkKKyAgIGFuZCBhcyBhIHNpZGUgZWZmZWN0IGxlZnQgdGhlIG1lcmdlIHN1bW1hcnkgbWVzc2FnZSBpbiB0aGUgbG9nLCBidXQKKyAgIHdoZW4gcmViYXNpbmcgdGhlcmUgaXMgbm8gbmVlZCBmb3IgdGhlIG1lcmdlIHN1bW1hcnkuCisgICAobWVyZ2UgYTlmNzM5YyBydC9yZWJhc2UtcC1uby1tZXJnZS1zdW1tYXJ5IGxhdGVyIHRvIG1haW50KS4KKworICogQSBjYWxsIHRvIHhyZWFkKCkgd2FzIHVzZWQgd2l0aG91dCBhIGxvb3AgYXJvdW5kIGl0IHRvIGNvcGUgd2l0aCBzaG9ydAorICAgcmVhZHMgaW4gdGhlIGNvZGVwYXRoIHRvIHN0cmVhbSBuZXcgY29udGVudHMgdG8gYSBwYWNrLgorICAgKG1lcmdlIGU5MjUyN2MganMveHJlYWQtaW4tZnVsbCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcmViYXNlIC1pIiBmb3Jnb3QgdGhhdCB0aGUgY29tbWVudCBjaGFyYWN0ZXIgaXMKKyAgIGNvbmZpZ3VyYWJsZSB3aGlsZSByZWFkaW5nIGl0cyBpbnNuIHNoZWV0LgorICAgKG1lcmdlIDdiY2E3YWYgZXMvcmViYXNlLWktcmVzcGVjdC1jb3JlLWNvbW1lbnRjaGFyIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIG1haWxtYXAgc3VwcG9ydCBjb2RlIHJlYWQgcGFzdCB0aGUgYWxsb2NhdGVkIGJ1ZmZlciB3aGVuIHRoZQorICAgbWFpbG1hcCBmaWxlIGVuZGVkIHdpdGggYW4gaW5jb21wbGV0ZSBsaW5lLgorICAgKG1lcmdlIGY5NzJhMTYgamsvbWFpbG1hcC1pbmNvbXBsZXRlLWxpbmUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBXZSB1c2VkIHRvIHNlbmQgYSBsYXJnZSByZXF1ZXN0IHRvIHJlYWQoMikvd3JpdGUoMikgYXMgYSBzaW5nbGUKKyAgIHN5c3RlbSBjYWxsLCB3aGljaCB3YXMgYmFkIGZyb20gdGhlIGxhdGVuY3kgcG9pbnQgb2YgdmlldyB3aGVuCisgICB0aGUgb3BlcmF0aW9uIG5lZWRzIHRvIGJlIGtpbGxlZCwgYW5kIGFsc28gdHJpZ2dlcmVkIGFuIGVycm9yIG9uCisgICBicm9rZW4gNjQtYml0IHN5c3RlbXMgdGhhdCByZWZ1c2UgdG8gcmVhZCBvciB3cml0ZSBtb3JlIHRoYW4gMkdCCisgICBpbiBvbmUgZ28uCisgICAobWVyZ2UgYTQ4NzkxNiBzcC9jbGlwLXJlYWQtd3JpdGUtdG8tOG1iIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBmZXRjaCIgdGhhdCBhdXRvLWZvbGxvd2VkIHRhZ3MgaW5jb3JyZWN0bHkgcmV1c2VkIHRoZQorICAgY29ubmVjdGlvbiB3aXRoIEdpdC1hd2FyZSB0cmFuc3BvcnQgaGVscGVyIChsaWtlIHRoZSBzYW1wbGUgImV4dDo6IgorICAgaGVscGVyIHNoaXBwZWQgd2l0aCBHaXQpLgorICAgKG1lcmdlIDBmNzNmOGIgamMvdHJhbnNwb3J0LWRvLW5vdC11c2UtY29ubmVjdC10d2ljZS1pbi1mZXRjaCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgbG9nIC0tZnVsbC1kaWZmIC0tIDxwYXRoc3BlYz4iIHNob3dlZCBhIGh1Z2UgZGlmZiBmb3IgcGF0aHMKKyAgIG91dHNpZGUgdGhlIGdpdmVuIDxwYXRoc3BlYz4gZm9yIGVhY2ggY29tbWl0LCBpbnN0ZWFkIG9mIHNob3dpbmcKKyAgIHRoZSBjaGFuZ2UgcmVsYXRpdmUgdG8gdGhlIHBhcmVudCBvZiB0aGUgY29tbWl0LiAgImdpdCByZWZsb2cgLXAiCisgICBoYWQgYSBzaW1pbGFyIHByb2JsZW0uCisgICAobWVyZ2UgODM4ZjlhMSB0ci9sb2ctZnVsbC1kaWZmLWtlZXAtdHJ1ZS1wYXJlbnRzIGxhdGVyIHRvIG1haW50KS4KKworICogU2V0dGluZyBhIHN1Ym1vZHVsZS4qLnBhdGggY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0byB0cnVlICh3aXRob3V0CisgICBnaXZpbmcgIj0gdmFsdWUiKSBjYXVzZWQgR2l0IHRvIHNlZ2ZhdWx0LgorICAgKG1lcmdlIDRiMDU0NDAgamwvc29tZS1zdWJtb2R1bGUtY29uZmlnLWFyZS1ub3QtYm9vbGVhbiBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcmViYXNlIC1pIiAodGhlcmUgY291bGQgYmUgb3RoZXJzLCBhcyB0aGUgcm9vdCBjYXVzZSBpcyBwcmV0dHkKKyAgIGdlbmVyaWMpIGZlZCBhIHJhbmRvbSwgZGF0YSBkZXBlbmRlbnQgc3RyaW5nIHRvICdlY2hvJyBhbmQKKyAgIGV4cGVjdGVkIGl0IHRvIGNvbWUgb3V0IGxpdGVyYWxseSwgY29ycnVwdGluZyBpdHMgZXJyb3IgbWVzc2FnZS4KKyAgIChtZXJnZSA4OWIwMjMwIG1tL25vLXNoZWxsLWVzY2FwZS1pbi1kaWUtbWVzc2FnZSBsYXRlciB0byBtYWludCkuCisKKyAqIFNvbWUgcGVvcGxlIHN0aWxsIHVzZSByYXRoZXIgb2xkIHZlcnNpb25zIG9mIGJhc2gsIHdoaWNoIGNhbm5vdAorICAgZ3JvayBzb21lIGNvbnN0cnVjdHMgbGlrZSAncHJpbnRmIC12IHZhcm5hbWUnIHdoaWNoIHRoZSBwcm9tcHQgYW5kCisgICBjb21wbGV0aW9uIGNvZGUgc3RhcnRlZCB0byB1c2UgcmVjZW50bHkuCisgICAobWVyZ2UgYTQ0YWE2OSBiYy9jb21wbGV0aW9uLWZvci1iYXNoLTMuMCBsYXRlciB0byBtYWludCkuCisKKyAqIENvZGUgdG8gcmVhZCBjb25maWd1cmF0aW9uIGZyb20gYSBibG9iIG9iamVjdCBkaWQgbm90IGNvbXBpbGUgb24KKyAgIHBsYXRmb3JtcyB3aXRoIGZnZXRjKCkgZXRjLiBpbXBsZW1lbnRlZCBhcyBtYWNyb3MuCisgICAobWVyZ2UgNDlkNmNmYSBodi9jb25maWctZnJvbS1ibG9iIGxhdGVyIHRvIG1haW50LTEuOC4zKS4KKworICogVGhlIHJlY2VudCAic2hvcnQtY3V0IGNsb25lIGNvbm5lY3Rpdml0eSBjaGVjayIgdG9waWMgYnJva2UgYQorICAgc2hhbGxvdyByZXBvc2l0b3J5IHdoZW4gYSBmZXRjaCBvcGVyYXRpb24gdHJpZXMgdG8gYXV0by1mb2xsb3cgdGFncy4KKyAgIChtZXJnZSA2ZGE4YmRjIG5kL2ZldGNoLXBhY2stc2hhbGxvdy1maXggbGF0ZXIgdG8gbWFpbnQtMS44LjMpLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9TdWJtaXR0aW5nUGF0Y2hlcyBiL0RvY3VtZW50YXRpb24vU3VibWl0dGluZ1BhdGNoZXMKaW5kZXggZDBhNDczMy4uNzA1NTU3NiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9TdWJtaXR0aW5nUGF0Y2hlcworKysgYi9Eb2N1bWVudGF0aW9uL1N1Ym1pdHRpbmdQYXRjaGVzCkBAIC02NSw3ICs2NSwyMCBAQAogdGVzdCBzdWl0ZSBwYXNzZXMgYWZ0ZXIgeW91ciBjb21taXQuICBEbyBub3QgZm9yZ2V0IHRvIHVwZGF0ZSB0aGUKIGRvY3VtZW50YXRpb24gdG8gZGVzY3JpYmUgdGhlIHVwZGF0ZWQgYmVoYXZpb3VyLgogCi1PaCwgYW5vdGhlciB0aGluZy4gIEkgYW0gcGlja3kgYWJvdXQgd2hpdGVzcGFjZXMuICBNYWtlIHN1cmUgeW91cgorU3BlYWtpbmcgb2YgdGhlIGRvY3VtZW50YXRpb24sIGl0IGlzIGN1cnJlbnRseSBhIGxpYmVyYWwgbWl4dHVyZSBvZiBVUworYW5kIFVLIEVuZ2xpc2ggbm9ybXMgZm9yIHNwZWxsaW5nIGFuZCBncmFtbWFyLCB3aGljaCBpcyBzb21ld2hhdAordW5mb3J0dW5hdGUuICBBIGh1Z2UgcGF0Y2ggdGhhdCB0b3VjaGVzIHRoZSBmaWxlcyBhbGwgb3ZlciB0aGUgcGxhY2UKK29ubHkgdG8gY29ycmVjdCB0aGUgaW5jb25zaXN0ZW5jeSBpcyBub3Qgd2VsY29tZSwgdGhvdWdoLiAgUG90ZW50aWFsCitjbGFzaGVzIHdpdGggb3RoZXIgY2hhbmdlcyB0aGF0IGNhbiByZXN1bHQgZnJvbSBzdWNoIGEgcGF0Y2ggYXJlIG5vdAord29ydGggaXQuICBXZSBwcmVmZXIgdG8gZ3JhZHVhbGx5IHJlY29uY2lsZSB0aGUgaW5jb25zaXN0ZW5jaWVzIGluCitmYXZvciBvZiBVUyBFbmdsaXNoLCB3aXRoIHNtYWxsIGFuZCBlYXNpbHkgZGlnZXN0aWJsZSBwYXRjaGVzLCBhcyBhCitzaWRlIGVmZmVjdCBvZiBkb2luZyBzb21lIG90aGVyIHJlYWwgd29yayBpbiB0aGUgdmljaW5pdHkgKGUuZy4KK3Jld3JpdGluZyBhIHBhcmFncmFwaCBmb3IgY2xhcml0eSwgd2hpbGUgdHVybmluZyBlbl9VSyBzcGVsbGluZyB0bworZW5fVVMpLiAgT2J2aW91cyB0eXBvZ3JhcGhpY2FsIGZpeGVzIGFyZSBtdWNoIG1vcmUgd2VsY29tZWQgKCJ0ZWggLT4KKyJ0aGUiKSwgcHJlZmVyYWJseSBzdWJtaXR0ZWQgYXMgaW5kZXBlbmRlbnQgcGF0Y2hlcyBzZXBhcmF0ZSBmcm9tCitvdGhlciBkb2N1bWVudGF0aW9uIGNoYW5nZXMuCisKK09oLCBhbm90aGVyIHRoaW5nLiAgV2UgYXJlIHBpY2t5IGFib3V0IHdoaXRlc3BhY2VzLiAgTWFrZSBzdXJlIHlvdXIKIGNoYW5nZXMgZG8gbm90IHRyaWdnZXIgZXJyb3JzIHdpdGggdGhlIHNhbXBsZSBwcmUtY29tbWl0IGhvb2sgc2hpcHBlZAogaW4gdGVtcGxhdGVzL2hvb2tzLS1wcmUtY29tbWl0LiAgVG8gaGVscCBlbnN1cmUgdGhpcyBkb2VzIG5vdCBoYXBwZW4sCiBydW4gZ2l0IGRpZmYgLS1jaGVjayBvbiB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBjb21taXQuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2JsYW1lLW9wdGlvbnMudHh0IGIvRG9jdW1lbnRhdGlvbi9ibGFtZS1vcHRpb25zLnR4dAppbmRleCA0ZTU1YjE1Li4wY2ViYzRmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2JsYW1lLW9wdGlvbnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vYmxhbWUtb3B0aW9ucy50eHQKQEAgLTExLDEyICsxMSwxMiBAQAogCiAtTCA8c3RhcnQ+LDxlbmQ+OjoKIC1MIDo8cmVnZXg+OjoKLQlBbm5vdGF0ZSBvbmx5IHRoZSBnaXZlbiBsaW5lIHJhbmdlLiAgPHN0YXJ0PiBhbmQgPGVuZD4gYXJlIG9wdGlvbmFsLgotCWBgLUwgPHN0YXJ0PicnIG9yIGBgLUwgPHN0YXJ0PiwnJyBzcGFucyBmcm9tIDxzdGFydD4gdG8gZW5kIG9mIGZpbGUuCi0JYGAtTCAsPGVuZD4nJyBzcGFucyBmcm9tIHN0YXJ0IG9mIGZpbGUgdG8gPGVuZD4uCisJQW5ub3RhdGUgb25seSB0aGUgZ2l2ZW4gbGluZSByYW5nZS4gTWF5IGJlIHNwZWNpZmllZCBtdWx0aXBsZSB0aW1lcy4KKwlPdmVybGFwcGluZyByYW5nZXMgYXJlIGFsbG93ZWQuCiArCi08c3RhcnQ+IGFuZCA8ZW5kPiBjYW4gdGFrZSBvbmUgb2YgdGhlc2UgZm9ybXM6Ci0KKzxzdGFydD4gYW5kIDxlbmQ+IGFyZSBvcHRpb25hbC4gYGAtTCA8c3RhcnQ+Jycgb3IgYGAtTCA8c3RhcnQ+LCcnIHNwYW5zIGZyb20KKzxzdGFydD4gdG8gZW5kIG9mIGZpbGUuIGBgLUwgLDxlbmQ+Jycgc3BhbnMgZnJvbSBzdGFydCBvZiBmaWxlIHRvIDxlbmQ+LgorKwogaW5jbHVkZTo6bGluZS1yYW5nZS1mb3JtYXQudHh0W10KIAogLWw6OgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcudHh0CmluZGV4IDZiMzU1NzguLmFiMjY5NjMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vY29uZmlnLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy50eHQKQEAgLTE3MCw4ICsxNzAsOCBAQAogCXB1c2hOZWVkc0ZvcmNlOjoKIAkJU2hvd24gd2hlbiBsaW5rZ2l0OmdpdC1wdXNoWzFdIHJlamVjdHMgYW4gdXBkYXRlIHRoYXQKIAkJdHJpZXMgdG8gb3ZlcndyaXRlIGEgcmVtb3RlIHJlZiB0aGF0IHBvaW50cyBhdCBhbgotCQlvYmplY3QgdGhhdCBpcyBub3QgYSBjb21taXR0aXNoLCBvciBtYWtlIHRoZSByZW1vdGUKLQkJcmVmIHBvaW50IGF0IGFuIG9iamVjdCB0aGF0IGlzIG5vdCBhIGNvbW1pdHRpc2guCisJCW9iamVjdCB0aGF0IGlzIG5vdCBhIGNvbW1pdC1pc2gsIG9yIG1ha2UgdGhlIHJlbW90ZQorCQlyZWYgcG9pbnQgYXQgYW4gb2JqZWN0IHRoYXQgaXMgbm90IGEgY29tbWl0LWlzaC4KIAlzdGF0dXNIaW50czo6CiAJCVNob3cgZGlyZWN0aW9ucyBvbiBob3cgdG8gcHJvY2VlZCBmcm9tIHRoZSBjdXJyZW50CiAJCXN0YXRlIGluIHRoZSBvdXRwdXQgb2YgbGlua2dpdDpnaXQtc3RhdHVzWzFdLCBpbgpAQCAtNTUzLDIyICs1NTMsMjAgQEAKIAlXaGVuIG5vdCBjb25maWd1cmVkIHRoZSBkZWZhdWx0IGNvbW1pdCBtZXNzYWdlIGVkaXRvciBpcyB1c2VkIGluc3RlYWQuCiAKIGNvcmUucGFnZXI6OgotCVRoZSBjb21tYW5kIHRoYXQgR2l0IHdpbGwgdXNlIHRvIHBhZ2luYXRlIG91dHB1dC4gIENhbgotCWJlIG92ZXJyaWRkZW4gd2l0aCB0aGUgYEdJVF9QQUdFUmAgZW52aXJvbm1lbnQKLQl2YXJpYWJsZS4gIE5vdGUgdGhhdCBHaXQgc2V0cyB0aGUgYExFU1NgIGVudmlyb25tZW50Ci0JdmFyaWFibGUgdG8gYEZSU1hgIGlmIGl0IGlzIHVuc2V0IHdoZW4gaXQgcnVucyB0aGUKLQlwYWdlci4gIE9uZSBjYW4gY2hhbmdlIHRoZXNlIHNldHRpbmdzIGJ5IHNldHRpbmcgdGhlCi0JYExFU1NgIHZhcmlhYmxlIHRvIHNvbWUgb3RoZXIgdmFsdWUuICBBbHRlcm5hdGVseSwKLQl0aGVzZSBzZXR0aW5ncyBjYW4gYmUgb3ZlcnJpZGRlbiBvbiBhIHByb2plY3Qgb3IKLQlnbG9iYWwgYmFzaXMgYnkgc2V0dGluZyB0aGUgYGNvcmUucGFnZXJgIG9wdGlvbi4KLQlTZXR0aW5nIGBjb3JlLnBhZ2VyYCBoYXMgbm8gZWZmZWN0IG9uIHRoZSBgTEVTU2AKLQllbnZpcm9ubWVudCB2YXJpYWJsZSBiZWhhdmlvdXIgYWJvdmUsIHNvIGlmIHlvdSB3YW50Ci0JdG8gb3ZlcnJpZGUgR2l0J3MgZGVmYXVsdCBzZXR0aW5ncyB0aGlzIHdheSwgeW91IG5lZWQKLQl0byBiZSBleHBsaWNpdC4gIEZvciBleGFtcGxlLCB0byBkaXNhYmxlIHRoZSBTIG9wdGlvbgotCWluIGEgYmFja3dhcmQgY29tcGF0aWJsZSBtYW5uZXIsIHNldCBgY29yZS5wYWdlcmAKLQl0byBgbGVzcyAtK1NgLiAgVGhpcyB3aWxsIGJlIHBhc3NlZCB0byB0aGUgc2hlbGwgYnkKLQlHaXQsIHdoaWNoIHdpbGwgdHJhbnNsYXRlIHRoZSBmaW5hbCBjb21tYW5kIHRvCi0JYExFU1M9RlJTWCBsZXNzIC0rU2AuCisJVGV4dCB2aWV3ZXIgZm9yIHVzZSBieSBHaXQgY29tbWFuZHMgKGUuZy4sICdsZXNzJykuICBUaGUgdmFsdWUKKwlpcyBtZWFudCB0byBiZSBpbnRlcnByZXRlZCBieSB0aGUgc2hlbGwuICBUaGUgb3JkZXIgb2YgcHJlZmVyZW5jZQorCWlzIHRoZSBgJEdJVF9QQUdFUmAgZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZW4gYGNvcmUucGFnZXJgCisJY29uZmlndXJhdGlvbiwgdGhlbiBgJFBBR0VSYCwgYW5kIHRoZW4gdGhlIGRlZmF1bHQgY2hvc2VuIGF0CisJY29tcGlsZSB0aW1lICh1c3VhbGx5ICdsZXNzJykuCisrCitXaGVuIHRoZSBgTEVTU2AgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgdW5zZXQsIEdpdCBzZXRzIGl0IHRvIGBGUlNYYAorKGlmIGBMRVNTYCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQsIEdpdCBkb2VzIG5vdCBjaGFuZ2UgaXQgYXQKK2FsbCkuICBJZiB5b3Ugd2FudCB0byBzZWxlY3RpdmVseSBvdmVycmlkZSBHaXQncyBkZWZhdWx0IHNldHRpbmcKK2ZvciBgTEVTU2AsIHlvdSBjYW4gc2V0IGBjb3JlLnBhZ2VyYCB0byBlLmcuIGBsZXNzIC0rU2AuICBUaGlzIHdpbGwKK2JlIHBhc3NlZCB0byB0aGUgc2hlbGwgYnkgR2l0LCB3aGljaCB3aWxsIHRyYW5zbGF0ZSB0aGUgZmluYWwKK2NvbW1hbmQgdG8gYExFU1M9RlJTWCBsZXNzIC0rU2AuIFRoZSBlbnZpcm9ubWVudCB0ZWxscyB0aGUgY29tbWFuZAordG8gc2V0IHRoZSBgU2Agb3B0aW9uIHRvIGNob3AgbG9uZyBsaW5lcyBidXQgdGhlIGNvbW1hbmQgbGluZQorcmVzZXRzIGl0IHRvIHRoZSBkZWZhdWx0IHRvIGZvbGQgbG9uZyBsaW5lcy4KIAogY29yZS53aGl0ZXNwYWNlOjoKIAlBIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGNvbW1vbiB3aGl0ZXNwYWNlIHByb2JsZW1zIHRvCkBAIC03MjYsNiArNzI0LDggQEAKIAlvdmVycmlkZGVuIGJ5IGBicmFuY2guPG5hbWU+LnB1c2hyZW1vdGVgLiAgSWYgbm8gcmVtb3RlIGlzCiAJY29uZmlndXJlZCwgb3IgaWYgeW91IGFyZSBub3Qgb24gYW55IGJyYW5jaCwgaXQgZGVmYXVsdHMgdG8KIAlgb3JpZ2luYCBmb3IgZmV0Y2hpbmcgYW5kIGByZW1vdGUucHVzaGRlZmF1bHRgIGZvciBwdXNoaW5nLgorCUFkZGl0aW9uYWxseSwgYC5gIChhIHBlcmlvZCkgaXMgdGhlIGN1cnJlbnQgbG9jYWwgcmVwb3NpdG9yeQorCShhIGRvdC1yZXBvc2l0b3J5KSwgc2VlIGBicmFuY2guPG5hbWU+Lm1lcmdlYCdzIGZpbmFsIG5vdGUgYmVsb3cuCiAKIGJyYW5jaC48bmFtZT4ucHVzaHJlbW90ZTo6CiAJV2hlbiBvbiBicmFuY2ggPG5hbWU+LCBpdCBvdmVycmlkZXMgYGJyYW5jaC48bmFtZT4ucmVtb3RlYCBmb3IKQEAgLTc1MSw4ICs3NTEsOCBAQAogCVNwZWNpZnkgbXVsdGlwbGUgdmFsdWVzIHRvIGdldCBhbiBvY3RvcHVzIG1lcmdlLgogCUlmIHlvdSB3aXNoIHRvIHNldHVwICdnaXQgcHVsbCcgc28gdGhhdCBpdCBtZXJnZXMgaW50byA8bmFtZT4gZnJvbQogCWFub3RoZXIgYnJhbmNoIGluIHRoZSBsb2NhbCByZXBvc2l0b3J5LCB5b3UgY2FuIHBvaW50Ci0JYnJhbmNoLjxuYW1lPi5tZXJnZSB0byB0aGUgZGVzaXJlZCBicmFuY2gsIGFuZCB1c2UgdGhlIHNwZWNpYWwgc2V0dGluZwotCWAuYCAoYSBwZXJpb2QpIGZvciBicmFuY2guPG5hbWU+LnJlbW90ZS4KKwlicmFuY2guPG5hbWU+Lm1lcmdlIHRvIHRoZSBkZXNpcmVkIGJyYW5jaCwgYW5kIHVzZSB0aGUgcmVsYXRpdmUgcGF0aAorCXNldHRpbmcgYC5gIChhIHBlcmlvZCkgZm9yIGJyYW5jaC48bmFtZT4ucmVtb3RlLgogCiBicmFuY2guPG5hbWU+Lm1lcmdlb3B0aW9uczo6CiAJU2V0cyBkZWZhdWx0IG9wdGlvbnMgZm9yIG1lcmdpbmcgaW50byBicmFuY2ggPG5hbWU+LiBUaGUgc3ludGF4IGFuZApAQCAtNzY2LDYgKzc2NiwxMCBAQAogCSJnaXQgcHVsbCIgaXMgcnVuLiBTZWUgInB1bGwucmViYXNlIiBmb3IgZG9pbmcgdGhpcyBpbiBhIG5vbgogCWJyYW5jaC1zcGVjaWZpYyBtYW5uZXIuCiArCisJV2hlbiBwcmVzZXJ2ZSwgYWxzbyBwYXNzIGAtLXByZXNlcnZlLW1lcmdlc2AgYWxvbmcgdG8gJ2dpdCByZWJhc2UnCisJc28gdGhhdCBsb2NhbGx5IGNvbW1pdHRlZCBtZXJnZSBjb21taXRzIHdpbGwgbm90IGJlIGZsYXR0ZW5lZAorCWJ5IHJ1bm5pbmcgJ2dpdCBwdWxsJy4KKysKICpOT1RFKjogdGhpcyBpcyBhIHBvc3NpYmx5IGRhbmdlcm91cyBvcGVyYXRpb247IGRvICpub3QqIHVzZQogaXQgdW5sZXNzIHlvdSB1bmRlcnN0YW5kIHRoZSBpbXBsaWNhdGlvbnMgKHNlZSBsaW5rZ2l0OmdpdC1yZWJhc2VbMV0KIGZvciBkZXRhaWxzKS4KQEAgLTc4Nyw4ICs3OTEsOCBAQAogCXdvcmtpbmcgcmVwb3NpdG9yeSBpbiBnaXR3ZWIgKHNlZSBsaW5rZ2l0OmdpdC1pbnN0YXdlYlsxXSkuCiAKIGNsZWFuLnJlcXVpcmVGb3JjZTo6Ci0JQSBib29sZWFuIHRvIG1ha2UgZ2l0LWNsZWFuIGRvIG5vdGhpbmcgdW5sZXNzIGdpdmVuIC1mCi0Jb3IgLW4uICAgRGVmYXVsdHMgdG8gdHJ1ZS4KKwlBIGJvb2xlYW4gdG8gbWFrZSBnaXQtY2xlYW4gZG8gbm90aGluZyB1bmxlc3MgZ2l2ZW4gLWYsCisJLWkgb3IgLW4uICAgRGVmYXVsdHMgdG8gdHJ1ZS4KIAogY29sb3IuYnJhbmNoOjoKIAlBIGJvb2xlYW4gdG8gZW5hYmxlL2Rpc2FibGUgY29sb3IgaW4gdGhlIG91dHB1dCBvZgpAQCAtMTA2MSw2ICsxMDY1LDEwIEBACiAJZXNwZWNpYWxseSBvbiBzbG93IGZpbGVzeXN0ZW1zLiAgSWYgbm90IHNldCwgdGhlIHZhbHVlIG9mCiAJYHRyYW5zZmVyLnVucGFja0xpbWl0YCBpcyB1c2VkIGluc3RlYWQuCiAKK2ZldGNoLnBydW5lOjoKKwlJZiB0cnVlLCBmZXRjaCB3aWxsIGF1dG9tYXRpY2FsbHkgYmVoYXZlIGFzIGlmIHRoZSBgLS1wcnVuZWAKKwlvcHRpb24gd2FzIGdpdmVuIG9uIHRoZSBjb21tYW5kIGxpbmUuICBTZWUgYWxzbyBgcmVtb3RlLjxuYW1lPi5wcnVuZWAuCisKIGZvcm1hdC5hdHRhY2g6OgogCUVuYWJsZSBtdWx0aXBhcnQvbWl4ZWQgYXR0YWNobWVudHMgYXMgdGhlIGRlZmF1bHQgZm9yCiAJJ2Zvcm1hdC1wYXRjaCcuICBUaGUgdmFsdWUgY2FuIGFsc28gYmUgYSBkb3VibGUgcXVvdGVkIHN0cmluZwpAQCAtMTQ0NSw3ICsxNDUzLDExIEBACiAJb2YgdGhlIGZpbGUgdG8gcmVhZCBjb29raWVzIGZyb20gc2hvdWxkIGJlIHBsYWluIEhUVFAgaGVhZGVycyBvcgogCXRoZSBOZXRzY2FwZS9Nb3ppbGxhIGNvb2tpZSBmaWxlIGZvcm1hdCAoc2VlIGxpbmtnaXQ6Y3VybFsxXSkuCiAJTk9URSB0aGF0IHRoZSBmaWxlIHNwZWNpZmllZCB3aXRoIGh0dHAuY29va2llZmlsZSBpcyBvbmx5IHVzZWQgYXMKLQlpbnB1dC4gTm8gY29va2llcyB3aWxsIGJlIHN0b3JlZCBpbiB0aGUgZmlsZS4KKwlpbnB1dCB1bmxlc3MgaHR0cC5zYXZlQ29va2llcyBpcyBzZXQuCisKK2h0dHAuc2F2ZWNvb2tpZXM6OgorCUlmIHNldCwgc3RvcmUgY29va2llcyByZWNlaXZlZCBkdXJpbmcgcmVxdWVzdHMgdG8gdGhlIGZpbGUgc3BlY2lmaWVkIGJ5CisJaHR0cC5jb29raWVmaWxlLiBIYXMgbm8gZWZmZWN0IGlmIGh0dHAuY29va2llZmlsZSBpcyB1bnNldC4KIAogaHR0cC5zc2xWZXJpZnk6OgogCVdoZXRoZXIgdG8gdmVyaWZ5IHRoZSBTU0wgY2VydGlmaWNhdGUgd2hlbiBmZXRjaGluZyBvciBwdXNoaW5nCkBAIC0xNTI1LDYgKzE1MzcsNTEgQEAKIAlvZiBjb21tb24gVVNFUl9BR0VOVCBzdHJpbmdzIChidXQgbm90IGluY2x1ZGluZyB0aG9zZSBsaWtlIGdpdC8xLjcuMSkuCiAJQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlICdHSVRfSFRUUF9VU0VSX0FHRU5UJyBlbnZpcm9ubWVudCB2YXJpYWJsZS4KIAoraHR0cC48dXJsPi4qOjoKKwlBbnkgb2YgdGhlIGh0dHAuKiBvcHRpb25zIGFib3ZlIGNhbiBiZSBhcHBsaWVkIHNlbGVjdGl2ZWx5IHRvIHNvbWUgdXJscy4KKwlGb3IgYSBjb25maWcga2V5IHRvIG1hdGNoIGEgVVJMLCBlYWNoIGVsZW1lbnQgb2YgdGhlIGNvbmZpZyBrZXkgaXMKKwljb21wYXJlZCB0byB0aGF0IG9mIHRoZSBVUkwsIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6CisrCistLQorLiBTY2hlbWUgKGUuZy4sIGBodHRwc2AgaW4gYGh0dHBzOi8vZXhhbXBsZS5jb20vYCkuIFRoaXMgZmllbGQKKyAgbXVzdCBtYXRjaCBleGFjdGx5IGJldHdlZW4gdGhlIGNvbmZpZyBrZXkgYW5kIHRoZSBVUkwuCisKKy4gSG9zdC9kb21haW4gbmFtZSAoZS5nLiwgYGV4YW1wbGUuY29tYCBpbiBgaHR0cHM6Ly9leGFtcGxlLmNvbS9gKS4KKyAgVGhpcyBmaWVsZCBtdXN0IG1hdGNoIGV4YWN0bHkgYmV0d2VlbiB0aGUgY29uZmlnIGtleSBhbmQgdGhlIFVSTC4KKworLiBQb3J0IG51bWJlciAoZS5nLiwgYDgwODBgIGluIGBodHRwOi8vZXhhbXBsZS5jb206ODA4MC9gKS4KKyAgVGhpcyBmaWVsZCBtdXN0IG1hdGNoIGV4YWN0bHkgYmV0d2VlbiB0aGUgY29uZmlnIGtleSBhbmQgdGhlIFVSTC4KKyAgT21pdHRlZCBwb3J0IG51bWJlcnMgYXJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIHRoZSBjb3JyZWN0CisgIGRlZmF1bHQgZm9yIHRoZSBzY2hlbWUgYmVmb3JlIG1hdGNoaW5nLgorCisuIFBhdGggKGUuZy4sIGByZXBvLmdpdGAgaW4gYGh0dHBzOi8vZXhhbXBsZS5jb20vcmVwby5naXRgKS4gVGhlCisgIHBhdGggZmllbGQgb2YgdGhlIGNvbmZpZyBrZXkgbXVzdCBtYXRjaCB0aGUgcGF0aCBmaWVsZCBvZiB0aGUgVVJMCisgIGVpdGhlciBleGFjdGx5IG9yIGFzIGEgcHJlZml4IG9mIHNsYXNoLWRlbGltaXRlZCBwYXRoIGVsZW1lbnRzLiAgVGhpcyBtZWFucworICBhIGNvbmZpZyBrZXkgd2l0aCBwYXRoIGBmb28vYCBtYXRjaGVzIFVSTCBwYXRoIGBmb28vYmFyYC4gIEEgcHJlZml4IGNhbiBvbmx5CisgIG1hdGNoIG9uIGEgc2xhc2ggKGAvYCkgYm91bmRhcnkuICBMb25nZXIgbWF0Y2hlcyB0YWtlIHByZWNlZGVuY2UgKHNvIGEgY29uZmlnCisgIGtleSB3aXRoIHBhdGggYGZvby9iYXJgIGlzIGEgYmV0dGVyIG1hdGNoIHRvIFVSTCBwYXRoIGBmb28vYmFyYCB0aGFuIGEgY29uZmlnCisgIGtleSB3aXRoIGp1c3QgcGF0aCBgZm9vL2ApLgorCisuIFVzZXIgbmFtZSAoZS5nLiwgYHVzZXJgIGluIGBodHRwczovL3VzZXJAZXhhbXBsZS5jb20vcmVwby5naXRgKS4gSWYKKyAgdGhlIGNvbmZpZyBrZXkgaGFzIGEgdXNlciBuYW1lIGl0IG11c3QgbWF0Y2ggdGhlIHVzZXIgbmFtZSBpbiB0aGUKKyAgVVJMIGV4YWN0bHkuIElmIHRoZSBjb25maWcga2V5IGRvZXMgbm90IGhhdmUgYSB1c2VyIG5hbWUsIHRoYXQKKyAgY29uZmlnIGtleSB3aWxsIG1hdGNoIGEgVVJMIHdpdGggYW55IHVzZXIgbmFtZSAoaW5jbHVkaW5nIG5vbmUpLAorICBidXQgYXQgYSBsb3dlciBwcmVjZWRlbmNlIHRoYW4gYSBjb25maWcga2V5IHdpdGggYSB1c2VyIG5hbWUuCistLQorKworVGhlIGxpc3QgYWJvdmUgaXMgb3JkZXJlZCBieSBkZWNyZWFzaW5nIHByZWNlZGVuY2U7IGEgVVJMIHRoYXQgbWF0Y2hlcworYSBjb25maWcga2V5J3MgcGF0aCBpcyBwcmVmZXJyZWQgdG8gb25lIHRoYXQgbWF0Y2hlcyBpdHMgdXNlciBuYW1lLiBGb3IgZXhhbXBsZSwKK2lmIHRoZSBVUkwgaXMgYGh0dHBzOi8vdXNlckBleGFtcGxlLmNvbS9mb28vYmFyYCBhIGNvbmZpZyBrZXkgbWF0Y2ggb2YKK2BodHRwczovL2V4YW1wbGUuY29tL2Zvb2Agd2lsbCBiZSBwcmVmZXJyZWQgb3ZlciBhIGNvbmZpZyBrZXkgbWF0Y2ggb2YKK2BodHRwczovL3VzZXJAZXhhbXBsZS5jb21gLgorKworQWxsIFVSTHMgYXJlIG5vcm1hbGl6ZWQgYmVmb3JlIGF0dGVtcHRpbmcgYW55IG1hdGNoaW5nICh0aGUgcGFzc3dvcmQgcGFydCwKK2lmIGVtYmVkZGVkIGluIHRoZSBVUkwsIGlzIGFsd2F5cyBpZ25vcmVkIGZvciBtYXRjaGluZyBwdXJwb3Nlcykgc28gdGhhdAorZXF1aXZhbGVudCB1cmxzIHRoYXQgYXJlIHNpbXBseSBzcGVsbGVkIGRpZmZlcmVudGx5IHdpbGwgbWF0Y2ggcHJvcGVybHkuCitFbnZpcm9ubWVudCB2YXJpYWJsZSBzZXR0aW5ncyBhbHdheXMgb3ZlcnJpZGUgYW55IG1hdGNoZXMuICBUaGUgdXJscyB0aGF0IGFyZQorbWF0Y2hlZCBhZ2FpbnN0IGFyZSB0aG9zZSBnaXZlbiBkaXJlY3RseSB0byBHaXQgY29tbWFuZHMuICBUaGlzIG1lYW5zIGFueSBVUkxzCit2aXNpdGVkIGFzIGEgcmVzdWx0IG9mIGEgcmVkaXJlY3Rpb24gZG8gbm90IHBhcnRpY2lwYXRlIGluIG1hdGNoaW5nLgorCiBpMThuLmNvbW1pdEVuY29kaW5nOjoKIAlDaGFyYWN0ZXIgZW5jb2RpbmcgdGhlIGNvbW1pdCBtZXNzYWdlcyBhcmUgc3RvcmVkIGluOyBHaXQgaXRzZWxmCiAJZG9lcyBub3QgY2FyZSBwZXIgc2UsIGJ1dCB0aGlzIGluZm9ybWF0aW9uIGlzIG5lY2Vzc2FyeSBlLmcuIHdoZW4KQEAgLTE4MjYsNiArMTg4MywxMCBAQAogCXB1bGwiIGlzIHJ1bi4gU2VlICJicmFuY2guPG5hbWU+LnJlYmFzZSIgZm9yIHNldHRpbmcgdGhpcyBvbiBhCiAJcGVyLWJyYW5jaCBiYXNpcy4KICsKKwlXaGVuIHByZXNlcnZlLCBhbHNvIHBhc3MgYC0tcHJlc2VydmUtbWVyZ2VzYCBhbG9uZyB0byAnZ2l0IHJlYmFzZScKKwlzbyB0aGF0IGxvY2FsbHkgY29tbWl0dGVkIG1lcmdlIGNvbW1pdHMgd2lsbCBub3QgYmUgZmxhdHRlbmVkCisJYnkgcnVubmluZyAnZ2l0IHB1bGwnLgorKwogKk5PVEUqOiB0aGlzIGlzIGEgcG9zc2libHkgZGFuZ2Vyb3VzIG9wZXJhdGlvbjsgZG8gKm5vdCogdXNlCiBpdCB1bmxlc3MgeW91IHVuZGVyc3RhbmQgdGhlIGltcGxpY2F0aW9ucyAoc2VlIGxpbmtnaXQ6Z2l0LXJlYmFzZVsxXQogZm9yIGRldGFpbHMpLgpAQCAtMjAyNCw2ICsyMDg1LDEyIEBACiAJU2V0dGluZyB0aGlzIHRvIGEgdmFsdWUgPHZjcz4gd2lsbCBjYXVzZSBHaXQgdG8gaW50ZXJhY3Qgd2l0aAogCXRoZSByZW1vdGUgd2l0aCB0aGUgZ2l0LXJlbW90ZS08dmNzPiBoZWxwZXIuCiAKK3JlbW90ZS48bmFtZT4ucHJ1bmU6OgorCVdoZW4gc2V0IHRvIHRydWUsIGZldGNoaW5nIGZyb20gdGhpcyByZW1vdGUgYnkgZGVmYXVsdCB3aWxsIGFsc28KKwlyZW1vdmUgYW55IHJlbW90ZS10cmFja2luZyBicmFuY2hlcyB3aGljaCBubyBsb25nZXIgZXhpc3Qgb24gdGhlCisJcmVtb3RlIChhcyBpZiB0aGUgYC0tcHJ1bmVgIG9wdGlvbiB3YXMgZ2l2ZSBvbiB0aGUgY29tbWFuZCBsaW5lKS4KKwlPdmVycmlkZXMgYGZldGNoLnBydW5lYCBzZXR0aW5ncywgaWYgYW55LgorCiByZW1vdGVzLjxncm91cD46OgogCVRoZSBsaXN0IG9mIHJlbW90ZXMgd2hpY2ggYXJlIGZldGNoZWQgYnkgImdpdCByZW1vdGUgdXBkYXRlCiAJPGdyb3VwPiIuICBTZWUgbGlua2dpdDpnaXQtcmVtb3RlWzFdLgpAQCAtMjExOCw2ICsyMTg1LDEzIEBACiAJU2V0IHRvIHRydWUgdG8gZW5hYmxlIC0tYnJhbmNoIGJ5IGRlZmF1bHQgaW4gbGlua2dpdDpnaXQtc3RhdHVzWzFdLgogCVRoZSBvcHRpb24gLS1uby1icmFuY2ggdGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRoaXMgdmFyaWFibGUuCiAKK3N0YXR1cy5kaXNwbGF5Q29tbWVudFByZWZpeDo6CisJSWYgc2V0IHRvIHRydWUsIGxpbmtnaXQ6Z2l0LXN0YXR1c1sxXSB3aWxsIGluc2VydCBhIGNvbW1lbnQKKwlwcmVmaXggYmVmb3JlIGVhY2ggb3V0cHV0IGxpbmUgKHN0YXJ0aW5nIHdpdGgKKwlgY29yZS5jb21tZW50Q2hhcmAsIGkuZS4gYCNgIGJ5IGRlZmF1bHQpLiBUaGlzIHdhcyB0aGUKKwliZWhhdmlvciBvZiBsaW5rZ2l0OmdpdC1zdGF0dXNbMV0gaW4gR2l0IDEuOC40IGFuZCBwcmV2aW91cy4KKwlEZWZhdWx0cyB0byBmYWxzZS4KKwogc3RhdHVzLnNob3dVbnRyYWNrZWRGaWxlczo6CiAJQnkgZGVmYXVsdCwgbGlua2dpdDpnaXQtc3RhdHVzWzFdIGFuZCBsaW5rZ2l0OmdpdC1jb21taXRbMV0gc2hvdwogCWZpbGVzIHdoaWNoIGFyZSBub3QgY3VycmVudGx5IHRyYWNrZWQgYnkgR2l0LiBEaXJlY3RvcmllcyB3aGljaApAQCAtMjE0Miw3ICsyMjE2LDE0IEBACiAJSWYgdGhpcyBpcyBzZXQgdG8gYSBub24gemVybyBudW1iZXIgb3IgdHJ1ZSAoaWRlbnRpY2FsIHRvIC0xIG9yIGFuCiAJdW5saW1pdGVkIG51bWJlciksIHRoZSBzdWJtb2R1bGUgc3VtbWFyeSB3aWxsIGJlIGVuYWJsZWQgYW5kIGEKIAlzdW1tYXJ5IG9mIGNvbW1pdHMgZm9yIG1vZGlmaWVkIHN1Ym1vZHVsZXMgd2lsbCBiZSBzaG93biAoc2VlCi0JLS1zdW1tYXJ5LWxpbWl0IG9wdGlvbiBvZiBsaW5rZ2l0OmdpdC1zdWJtb2R1bGVbMV0pLgorCS0tc3VtbWFyeS1saW1pdCBvcHRpb24gb2YgbGlua2dpdDpnaXQtc3VibW9kdWxlWzFdKS4gUGxlYXNlIG5vdGUKKwl0aGF0IHRoZSBzdW1tYXJ5IG91dHB1dCBjb21tYW5kIHdpbGwgYmUgc3VwcHJlc3NlZCBmb3IgYWxsCisJc3VibW9kdWxlcyB3aGVuIGBkaWZmLmlnbm9yZVN1Ym1vZHVsZXNgIGlzIHNldCB0byAnYWxsJyBvciBvbmx5CisJZm9yIHRob3NlIHN1Ym1vZHVsZXMgd2hlcmUgYHN1Ym1vZHVsZS48bmFtZT4uaWdub3JlPWFsbGAuIFRvCisJYWxzbyB2aWV3IHRoZSBzdW1tYXJ5IGZvciBpZ25vcmVkIHN1Ym1vZHVsZXMgeW91IGNhbiBlaXRoZXIgdXNlCisJdGhlIC0taWdub3JlLXN1Ym1vZHVsZXM9ZGlydHkgY29tbWFuZCBsaW5lIG9wdGlvbiBvciB0aGUgJ2dpdAorCXN1Ym1vZHVsZSBzdW1tYXJ5JyBjb21tYW5kLCB3aGljaCBzaG93cyBhIHNpbWlsYXIgb3V0cHV0IGJ1dCBkb2VzCisJbm90IGhvbm9yIHRoZXNlIHNldHRpbmdzLgogCiBzdWJtb2R1bGUuPG5hbWU+LnBhdGg6Ogogc3VibW9kdWxlLjxuYW1lPi51cmw6OgpAQCAtMjE3Nyw3ICsyMjU4LDggQEAKIAlzdWJtb2R1bGVzIHRoYXQgaGF2ZSB1bnRyYWNrZWQgZmlsZXMgaW4gdGhlaXIgd29yayB0cmVlIGFzIGNoYW5nZWQuCiAJVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBhbnkgc2V0dGluZyBtYWRlIGluIC5naXRtb2R1bGVzIGZvciB0aGlzIHN1Ym1vZHVsZSwKIAlib3RoIHNldHRpbmdzIGNhbiBiZSBvdmVycmlkZGVuIG9uIHRoZSBjb21tYW5kIGxpbmUgYnkgdXNpbmcgdGhlCi0JIi0taWdub3JlLXN1Ym1vZHVsZXMiIG9wdGlvbi4KKwkiLS1pZ25vcmUtc3VibW9kdWxlcyIgb3B0aW9uLiBUaGUgJ2dpdCBzdWJtb2R1bGUnIGNvbW1hbmRzIGFyZSBub3QKKwlhZmZlY3RlZCBieSB0aGlzIHNldHRpbmcuCiAKIHRhci51bWFzazo6CiAJVGhpcyB2YXJpYWJsZSBjYW4gYmUgdXNlZCB0byByZXN0cmljdCB0aGUgcGVybWlzc2lvbiBiaXRzIG9mCkBAIC0yMjYyLDExICsyMzQ0LDExIEBACiAJZW52aXJvbm1lbnQgdmFyaWFibGVzLiAgU2VlIGxpbmtnaXQ6Z2l0LWNvbW1pdC10cmVlWzFdLgogCiB1c2VyLnNpZ25pbmdrZXk6OgotCUlmIGxpbmtnaXQ6Z2l0LXRhZ1sxXSBpcyBub3Qgc2VsZWN0aW5nIHRoZSBrZXkgeW91IHdhbnQgaXQgdG8KLQlhdXRvbWF0aWNhbGx5IHdoZW4gY3JlYXRpbmcgYSBzaWduZWQgdGFnLCB5b3UgY2FuIG92ZXJyaWRlIHRoZQotCWRlZmF1bHQgc2VsZWN0aW9uIHdpdGggdGhpcyB2YXJpYWJsZS4gIFRoaXMgb3B0aW9uIGlzIHBhc3NlZAotCXVuY2hhbmdlZCB0byBncGcncyAtLWxvY2FsLXVzZXIgcGFyYW1ldGVyLCBzbyB5b3UgbWF5IHNwZWNpZnkgYSBrZXkKLQl1c2luZyBhbnkgbWV0aG9kIHRoYXQgZ3BnIHN1cHBvcnRzLgorCUlmIGxpbmtnaXQ6Z2l0LXRhZ1sxXSBvciBsaW5rZ2l0OmdpdC1jb21taXRbMV0gaXMgbm90IHNlbGVjdGluZyB0aGUKKwlrZXkgeW91IHdhbnQgaXQgdG8gYXV0b21hdGljYWxseSB3aGVuIGNyZWF0aW5nIGEgc2lnbmVkIHRhZyBvcgorCWNvbW1pdCwgeW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCBzZWxlY3Rpb24gd2l0aCB0aGlzIHZhcmlhYmxlLgorCVRoaXMgb3B0aW9uIGlzIHBhc3NlZCB1bmNoYW5nZWQgdG8gZ3BnJ3MgLS1sb2NhbC11c2VyIHBhcmFtZXRlciwKKwlzbyB5b3UgbWF5IHNwZWNpZnkgYSBrZXkgdXNpbmcgYW55IG1ldGhvZCB0aGF0IGdwZyBzdXBwb3J0cy4KIAogd2ViLmJyb3dzZXI6OgogCVNwZWNpZnkgYSB3ZWIgYnJvd3NlciB0aGF0IG1heSBiZSB1c2VkIGJ5IHNvbWUgY29tbWFuZHMuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RhdGUtZm9ybWF0cy50eHQgYi9Eb2N1bWVudGF0aW9uL2RhdGUtZm9ybWF0cy50eHQKaW5kZXggYzAwMGYwOC4uY2NkMWZjOCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9kYXRlLWZvcm1hdHMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZGF0ZS1mb3JtYXRzLnR4dApAQCAtOCw5ICs4LDkgQEAKIHN1cHBvcnQgdGhlIGZvbGxvd2luZyBkYXRlIGZvcm1hdHM6CiAKIEdpdCBpbnRlcm5hbCBmb3JtYXQ6OgotCUl0IGlzIGA8dW5peCB0aW1lc3RhbXA+IDx0aW1lem9uZSBvZmZzZXQ+YCwgd2hlcmUgYDx1bml4CisJSXQgaXMgYDx1bml4IHRpbWVzdGFtcD4gPHRpbWUgem9uZSBvZmZzZXQ+YCwgd2hlcmUgYDx1bml4CiAJdGltZXN0YW1wPmAgaXMgdGhlIG51bWJlciBvZiBzZWNvbmRzIHNpbmNlIHRoZSBVTklYIGVwb2NoLgotCWA8dGltZXpvbmUgb2Zmc2V0PmAgaXMgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBvZmZzZXQgZnJvbSBVVEMuCisJYDx0aW1lIHpvbmUgb2Zmc2V0PmAgaXMgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBvZmZzZXQgZnJvbSBVVEMuCiAJRm9yIGV4YW1wbGUgQ0VUICh3aGljaCBpcyAyIGhvdXJzIGFoZWFkIFVUQykgaXMgYCswMjAwYC4KIAogUkZDIDI4MjI6OgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kaWZmLWNvbmZpZy50eHQgYi9Eb2N1bWVudGF0aW9uL2RpZmYtY29uZmlnLnR4dAppbmRleCBhYzc3MDUwLi4yMjNiOTMxIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2RpZmYtY29uZmlnLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2RpZmYtY29uZmlnLnR4dApAQCAtNzMsNyArNzMsMTEgQEAKIAlTZXRzIHRoZSBkZWZhdWx0IHZhbHVlIG9mIC0taWdub3JlLXN1Ym1vZHVsZXMuIE5vdGUgdGhhdCB0aGlzCiAJYWZmZWN0cyBvbmx5ICdnaXQgZGlmZicgUG9yY2VsYWluLCBhbmQgbm90IGxvd2VyIGxldmVsICdkaWZmJwogCWNvbW1hbmRzIHN1Y2ggYXMgJ2dpdCBkaWZmLWZpbGVzJy4gJ2dpdCBjaGVja291dCcgYWxzbyBob25vcnMKLQl0aGlzIHNldHRpbmcgd2hlbiByZXBvcnRpbmcgdW5jb21taXR0ZWQgY2hhbmdlcy4KKwl0aGlzIHNldHRpbmcgd2hlbiByZXBvcnRpbmcgdW5jb21taXR0ZWQgY2hhbmdlcy4gU2V0dGluZyBpdCB0bworCSdhbGwnIGRpc2FibGVzIHRoZSBzdWJtb2R1bGUgc3VtbWFyeSBub3JtYWxseSBzaG93biBieSAnZ2l0IGNvbW1pdCcKKwlhbmQgJ2dpdCBzdGF0dXMnIHdoZW4gJ3N0YXR1cy5zdWJtb2R1bGVzdW1tYXJ5JyBpcyBzZXQgdW5sZXNzIGl0IGlzCisJb3ZlcnJpZGRlbiBieSB1c2luZyB0aGUgLS1pZ25vcmUtc3VibW9kdWxlcyBjb21tYW5kIGxpbmUgb3B0aW9uLgorCVRoZSAnZ2l0IHN1Ym1vZHVsZScgY29tbWFuZHMgYXJlIG5vdCBhZmZlY3RlZCBieSB0aGlzIHNldHRpbmcuCiAKIGRpZmYubW5lbW9uaWNwcmVmaXg6OgogCUlmIHNldCwgJ2dpdCBkaWZmJyB1c2VzIGEgcHJlZml4IHBhaXIgdGhhdCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZXZlcnlkYXkudHh0IGIvRG9jdW1lbnRhdGlvbi9ldmVyeWRheS50eHQKaW5kZXggZTFmYmE4NS4uMmExOGMxZiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9ldmVyeWRheS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9ldmVyeWRheS50eHQKQEAgLTMwNCw3ICszMDQsNyBAQAogICAqIGxpbmtnaXQ6Z2l0LXNoZWxsWzFdIGNhbiBiZSB1c2VkIGFzIGEgJ3Jlc3RyaWN0ZWQgbG9naW4gc2hlbGwnCiAgICAgZm9yIHNoYXJlZCBjZW50cmFsIHJlcG9zaXRvcnkgdXNlcnMuCiAKLWxpbms6aG93dG8vdXBkYXRlLWhvb2stZXhhbXBsZS50eHRbdXBkYXRlIGhvb2sgaG93dG9dIGhhcyBhIGdvb2QKK2xpbms6aG93dG8vdXBkYXRlLWhvb2stZXhhbXBsZS5odG1sW3VwZGF0ZSBob29rIGhvd3RvXSBoYXMgYSBnb29kCiBleGFtcGxlIG9mIG1hbmFnaW5nIGEgc2hhcmVkIGNlbnRyYWwgcmVwb3NpdG9yeS4KIAogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1ibGFtZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1ibGFtZS50eHQKaW5kZXggNmNlYTdmMS4uOGU3MGE2MSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtYmxhbWUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWJsYW1lLnR4dApAQCAtOSw3ICs5LDcgQEAKIC0tLS0tLS0tCiBbdmVyc2VdCiAnZ2l0IGJsYW1lJyBbLWNdIFstYl0gWy1sXSBbLS1yb290XSBbLXRdIFstZl0gWy1uXSBbLXNdIFstZV0gWy1wXSBbLXddIFstLWluY3JlbWVudGFsXQotCSAgICBbLUwgbixtIHwgLUwgOmZuXSBbLVMgPHJldnMtZmlsZT5dIFstTV0gWy1DXSBbLUNdIFstQ10gWy0tc2luY2U9PGRhdGU+XQorCSAgICBbLUwgPHJhbmdlPl0gWy1TIDxyZXZzLWZpbGU+XSBbLU1dIFstQ10gWy1DXSBbLUNdIFstLXNpbmNlPTxkYXRlPl0KIAkgICAgWy0tYWJicmV2PTxuPl0gWzxyZXY+IHwgLS1jb250ZW50cyA8ZmlsZT4gfCAtLXJldmVyc2UgPHJldj5dIFstLV0gPGZpbGU+CiAKIERFU0NSSVBUSU9OCkBAIC0xOCw3ICsxOCw4IEBACiBBbm5vdGF0ZXMgZWFjaCBsaW5lIGluIHRoZSBnaXZlbiBmaWxlIHdpdGggaW5mb3JtYXRpb24gZnJvbSB0aGUgcmV2aXNpb24gd2hpY2gKIGxhc3QgbW9kaWZpZWQgdGhlIGxpbmUuIE9wdGlvbmFsbHksIHN0YXJ0IGFubm90YXRpbmcgZnJvbSB0aGUgZ2l2ZW4gcmV2aXNpb24uCiAKLVRoZSBjb21tYW5kIGNhbiBhbHNvIGxpbWl0IHRoZSByYW5nZSBvZiBsaW5lcyBhbm5vdGF0ZWQuCitXaGVuIHNwZWNpZmllZCBvbmUgb3IgbW9yZSB0aW1lcywgYC1MYCByZXN0cmljdHMgYW5ub3RhdGlvbiB0byB0aGUgcmVxdWVzdGVkCitsaW5lcy4KIAogVGhlIG9yaWdpbiBvZiBsaW5lcyBpcyBhdXRvbWF0aWNhbGx5IGZvbGxvd2VkIGFjcm9zcyB3aG9sZS1maWxlCiByZW5hbWVzIChjdXJyZW50bHkgdGhlcmUgaXMgbm8gb3B0aW9uIHRvIHR1cm4gdGhlIHJlbmFtZS1mb2xsb3dpbmcKQEAgLTEwMiw3ICsxMDMsNyBAQAogYXQgbGVhc3Qgb25jZSBmb3IgZWFjaCBjb21taXQ6CiAKIC0gdGhlIGF1dGhvciBuYW1lICgiYXV0aG9yIiksIGVtYWlsICgiYXV0aG9yLW1haWwiKSwgdGltZQotICAoImF1dGhvci10aW1lIiksIGFuZCB0aW1lem9uZSAoImF1dGhvci10eiIpOyBzaW1pbGFybHkKKyAgKCJhdXRob3ItdGltZSIpLCBhbmQgdGltZSB6b25lICgiYXV0aG9yLXR6Iik7IHNpbWlsYXJseQogICBmb3IgY29tbWl0dGVyLgogLSB0aGUgZmlsZW5hbWUgaW4gdGhlIGNvbW1pdCB0aGF0IHRoZSBsaW5lIGlzIGF0dHJpYnV0ZWQgdG8uCiAtIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBjb21taXQgbG9nIG1lc3NhZ2UgKCJzdW1tYXJ5IikuCkBAIC0xMzAsNyArMTMxLDEwIEBACiAKIFVubGlrZSAnZ2l0IGJsYW1lJyBhbmQgJ2dpdCBhbm5vdGF0ZScgaW4gb2xkZXIgdmVyc2lvbnMgb2YgZ2l0LCB0aGUgZXh0ZW50CiBvZiB0aGUgYW5ub3RhdGlvbiBjYW4gYmUgbGltaXRlZCB0byBib3RoIGxpbmUgcmFuZ2VzIGFuZCByZXZpc2lvbgotcmFuZ2VzLiAgV2hlbiB5b3UgYXJlIGludGVyZXN0ZWQgaW4gZmluZGluZyB0aGUgb3JpZ2luIGZvcgorcmFuZ2VzLiBUaGUgYC1MYCBvcHRpb24sIHdoaWNoIGxpbWl0cyBhbm5vdGF0aW9uIHRvIGEgcmFuZ2Ugb2YgbGluZXMsIG1heSBiZQorc3BlY2lmaWVkIG11bHRpcGxlIHRpbWVzLgorCitXaGVuIHlvdSBhcmUgaW50ZXJlc3RlZCBpbiBmaW5kaW5nIHRoZSBvcmlnaW4gZm9yCiBsaW5lcyA0MC02MCBmb3IgZmlsZSBgZm9vYCwgeW91IGNhbiB1c2UgdGhlIGAtTGAgb3B0aW9uIGxpa2Ugc28KICh0aGV5IG1lYW4gdGhlIHNhbWUgdGhpbmcgLS0gYm90aCBhc2sgZm9yIDIxIGxpbmVzIHN0YXJ0aW5nIGF0CiBsaW5lIDQwKToKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWNhdC1maWxlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNhdC1maWxlLnR4dAppbmRleCAxMGZiYzZhLi4zMjJmNWVkIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jYXQtZmlsZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY2F0LWZpbGUudHh0CkBAIC01NCw3ICs1NCw3IEBACiAKIC0tdGV4dGNvbnY6OgogCVNob3cgdGhlIGNvbnRlbnQgYXMgdHJhbnNmb3JtZWQgYnkgYSB0ZXh0Y29udiBmaWx0ZXIuIEluIHRoaXMgY2FzZSwKLQk8b2JqZWN0PiBoYXMgYmUgb2YgdGhlIGZvcm0gPHRyZWVpc2g+OjxwYXRoPiwgb3IgOjxwYXRoPiBpbiBvcmRlcgorCTxvYmplY3Q+IGhhcyBiZSBvZiB0aGUgZm9ybSA8dHJlZS1pc2g+OjxwYXRoPiwgb3IgOjxwYXRoPiBpbiBvcmRlcgogCXRvIGFwcGx5IHRoZSBmaWx0ZXIgdG8gdGhlIGNvbnRlbnQgcmVjb3JkZWQgaW4gdGhlIGluZGV4IGF0IDxwYXRoPi4KIAogLS1iYXRjaDo6CkBAIC04NiwxMCArODYsOSBAQAogLS0tLS0tLS0tLS0tCiAKIElmIGAtLWJhdGNoYCBvciBgLS1iYXRjaC1jaGVja2AgaXMgZ2l2ZW4sIGBjYXQtZmlsZWAgd2lsbCByZWFkIG9iamVjdHMKLWZyb20gc3RkaW4sIG9uZSBwZXIgbGluZSwgYW5kIHByaW50IGluZm9ybWF0aW9uIGFib3V0IHRoZW0uCi0KLUVhY2ggbGluZSBpcyBjb25zaWRlcmVkIGFzIGEgd2hvbGUgb2JqZWN0IG5hbWUsIGFuZCBpcyBwYXJzZWQgYXMgaWYKLWdpdmVuIHRvIGxpbmtnaXQ6Z2l0LXJldi1wYXJzZVsxXS4KK2Zyb20gc3RkaW4sIG9uZSBwZXIgbGluZSwgYW5kIHByaW50IGluZm9ybWF0aW9uIGFib3V0IHRoZW0uIEJ5IGRlZmF1bHQsCit0aGUgd2hvbGUgbGluZSBpcyBjb25zaWRlcmVkIGFzIGFuIG9iamVjdCwgYXMgaWYgaXQgd2VyZSBmZWQgdG8KK2xpbmtnaXQ6Z2l0LXJldi1wYXJzZVsxXS4KIAogWW91IGNhbiBzcGVjaWZ5IHRoZSBpbmZvcm1hdGlvbiBzaG93biBmb3IgZWFjaCBvYmplY3QgYnkgdXNpbmcgYSBjdXN0b20KIGA8Zm9ybWF0PmAuIFRoZSBgPGZvcm1hdD5gIGlzIGNvcGllZCBsaXRlcmFsbHkgdG8gc3Rkb3V0IGZvciBlYWNoCkBAIC0xMTAsNiArMTA5LDEzIEBACiAJVGhlIHNpemUsIGluIGJ5dGVzLCB0aGF0IHRoZSBvYmplY3QgdGFrZXMgdXAgb24gZGlzay4gU2VlIHRoZQogCW5vdGUgYWJvdXQgb24tZGlzayBzaXplcyBpbiB0aGUgYENBVkVBVFNgIHNlY3Rpb24gYmVsb3cuCiAKK2ByZXN0YDo6CisJSWYgdGhpcyBhdG9tIGlzIHVzZWQgaW4gdGhlIG91dHB1dCBzdHJpbmcsIGlucHV0IGxpbmVzIGFyZSBzcGxpdAorCWF0IHRoZSBmaXJzdCB3aGl0ZXNwYWNlIGJvdW5kYXJ5LiBBbGwgY2hhcmFjdGVycyBiZWZvcmUgdGhhdAorCXdoaXRlc3BhY2UgYXJlIGNvbnNpZGVyZWQgdG8gYmUgdGhlIG9iamVjdCBuYW1lOyBjaGFyYWN0ZXJzCisJYWZ0ZXIgdGhhdCBmaXJzdCBydW4gb2Ygd2hpdGVzcGFjZSAoaS5lLiwgdGhlICJyZXN0IiBvZiB0aGUKKwlsaW5lKSBhcmUgb3V0cHV0IGluIHBsYWNlIG9mIHRoZSBgJShyZXN0KWAgYXRvbS4KKwogSWYgbm8gZm9ybWF0IGlzIHNwZWNpZmllZCwgdGhlIGRlZmF1bHQgZm9ybWF0IGlzIGAlKG9iamVjdG5hbWUpCiAlKG9iamVjdHR5cGUpICUob2JqZWN0c2l6ZSlgLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jaGVjay1hdHRyLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNoZWNrLWF0dHIudHh0CmluZGV4IGE3YmU4MGQuLjAwZTJhYTIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWNoZWNrLWF0dHIudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWNoZWNrLWF0dHIudHh0CkBAIC0zMSw4ICszMSw5IEBACiAJUmVhZCBmaWxlIG5hbWVzIGZyb20gc3RkaW4gaW5zdGVhZCBvZiBmcm9tIHRoZSBjb21tYW5kLWxpbmUuCiAKIC16OjoKLQlPbmx5IG1lYW5pbmdmdWwgd2l0aCBgLS1zdGRpbmA7IHBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBhCi0JTlVMIGNoYXJhY3RlciBpbnN0ZWFkIG9mIGEgbGluZWZlZWQgY2hhcmFjdGVyLgorCVRoZSBvdXRwdXQgZm9ybWF0IGlzIG1vZGlmaWVkIHRvIGJlIG1hY2hpbmUtcGFyc2VhYmxlLgorCUlmIGAtLXN0ZGluYCBpcyBhbHNvIGdpdmVuLCBpbnB1dCBwYXRocyBhcmUgc2VwYXJhdGVkCisJd2l0aCBhIE5VTCBjaGFyYWN0ZXIgaW5zdGVhZCBvZiBhIGxpbmVmZWVkIGNoYXJhY3Rlci4KIAogXC0tOjoKIAlJbnRlcnByZXQgYWxsIHByZWNlZGluZyBhcmd1bWVudHMgYXMgYXR0cmlidXRlcyBhbmQgYWxsIGZvbGxvd2luZwpAQCAtNDgsNiArNDksMTAgQEAKIFRoZSBvdXRwdXQgaXMgb2YgdGhlIGZvcm06CiA8cGF0aD4gQ09MT04gU1AgPGF0dHJpYnV0ZT4gQ09MT04gU1AgPGluZm8+IExGCiAKK3VubGVzcyBgLXpgIGlzIGluIGVmZmVjdCwgaW4gd2hpY2ggY2FzZSBOVUwgaXMgdXNlZCBhcyBkZWxpbWl0ZXI6Cis8cGF0aD4gTlVMIDxhdHRyaWJ1dGU+IE5VTCA8aW5mbz4gTlVMCisKKwogPHBhdGg+IGlzIHRoZSBwYXRoIG9mIGEgZmlsZSBiZWluZyBxdWVyaWVkLCA8YXR0cmlidXRlPiBpcyBhbiBhdHRyaWJ1dGUKIGJlaW5nIHF1ZXJpZWQgYW5kIDxpbmZvPiBjYW4gYmUgZWl0aGVyOgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jaGVjay1pZ25vcmUudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2staWdub3JlLnR4dAppbmRleCBkMmRmNDg3Li5lZTJlMDkxIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jaGVjay1pZ25vcmUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWNoZWNrLWlnbm9yZS50eHQKQEAgLTQ1LDYgKzQ1LDEzIEBACiAJbm90IGJlIHBvc3NpYmxlIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gcGF0aHMgd2hpY2ggbWF0Y2ggYQogCXBhdHRlcm4gYW5kIHRob3NlIHdoaWNoIGRvbid0LgogCistLW5vLWluZGV4OjoKKwlEb24ndCBsb29rIGluIHRoZSBpbmRleCB3aGVuIHVuZGVydGFraW5nIHRoZSBjaGVja3MuIFRoaXMgY2FuCisJYmUgdXNlZCB0byBkZWJ1ZyB3aHkgYSBwYXRoIGJlY2FtZSB0cmFja2VkIGJ5IGUuZy4gYGdpdCBhZGQgLmAKKwlhbmQgd2FzIG5vdCBpZ25vcmVkIGJ5IHRoZSBydWxlcyBhcyBleHBlY3RlZCBieSB0aGUgdXNlciBvciB3aGVuCisJZGV2ZWxvcGluZyBwYXR0ZXJucyBpbmNsdWRpbmcgbmVnYXRpb24gdG8gbWF0Y2ggYSBwYXRoIHByZXZpb3VzbHkKKwlhZGRlZCB3aXRoIGBnaXQgYWRkIC1mYC4KKwogT1VUUFVUCiAtLS0tLS0KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2stcmVmLWZvcm1hdC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jaGVjay1yZWYtZm9ybWF0LnR4dAppbmRleCBhNDliZTFiLi5mYzAyOTU5IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jaGVjay1yZWYtZm9ybWF0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jaGVjay1yZWYtZm9ybWF0LnR4dApAQCAtNTQsNiArNTQsOCBAQAogCiAuIFRoZXkgY2Fubm90IGNvbnRhaW4gYSBzZXF1ZW5jZSBgQHtgLgogCisuIFRoZXkgY2Fubm90IGJlIHRoZSBzaW5nbGUgY2hhcmFjdGVyIGBAYC4KKwogLiBUaGV5IGNhbm5vdCBjb250YWluIGEgYFxgLgogCiBUaGVzZSBydWxlcyBtYWtlIGl0IGVhc3kgZm9yIHNoZWxsIHNjcmlwdCBiYXNlZCB0b29scyB0byBwYXJzZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2tvdXQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2tvdXQudHh0CmluZGV4IGNhMTE4YWMuLjkxMjk0ZjggMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWNoZWNrb3V0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jaGVja291dC50eHQKQEAgLTksNyArOSw4IEBACiAtLS0tLS0tLQogW3ZlcnNlXQogJ2dpdCBjaGVja291dCcgWy1xXSBbLWZdIFstbV0gWzxicmFuY2g+XQotJ2dpdCBjaGVja291dCcgWy1xXSBbLWZdIFstbV0gWy0tZGV0YWNoXSBbPGNvbW1pdD5dCisnZ2l0IGNoZWNrb3V0JyBbLXFdIFstZl0gWy1tXSAtLWRldGFjaCBbPGJyYW5jaD5dCisnZ2l0IGNoZWNrb3V0JyBbLXFdIFstZl0gWy1tXSBbLS1kZXRhY2hdIDxjb21taXQ+CiAnZ2l0IGNoZWNrb3V0JyBbLXFdIFstZl0gWy1tXSBbWy1ifC1CfC0tb3JwaGFuXSA8bmV3X2JyYW5jaD5dIFs8c3RhcnRfcG9pbnQ+XQogJ2dpdCBjaGVja291dCcgWy1mfC0tb3Vyc3wtLXRoZWlyc3wtbXwtLWNvbmZsaWN0PTxzdHlsZT5dIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRocz4uLi4KICdnaXQgY2hlY2tvdXQnIFstcHwtLXBhdGNoXSBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0KQEAgLTYyLDcgKzYzLDcgQEAKIHN1Y2Nlc3NmdWwuCiAKICdnaXQgY2hlY2tvdXQnIC0tZGV0YWNoIFs8YnJhbmNoPl06OgotJ2dpdCBjaGVja291dCcgPGNvbW1pdD46OgorJ2dpdCBjaGVja291dCcgWy0tZGV0YWNoXSA8Y29tbWl0Pjo6CiAKIAlQcmVwYXJlIHRvIHdvcmsgb24gdG9wIG9mIDxjb21taXQ+LCBieSBkZXRhY2hpbmcgSEVBRCBhdCBpdAogCShzZWUgIkRFVEFDSEVEIEhFQUQiIHNlY3Rpb24pLCBhbmQgdXBkYXRpbmcgdGhlIGluZGV4IGFuZCB0aGUKQEAgLTcxLDEwICs3MiwxMSBAQAogCXRyZWUgd2lsbCBiZSB0aGUgc3RhdGUgcmVjb3JkZWQgaW4gdGhlIGNvbW1pdCBwbHVzIHRoZSBsb2NhbAogCW1vZGlmaWNhdGlvbnMuCiArCi1QYXNzaW5nIGAtLWRldGFjaGAgZm9yY2VzIHRoaXMgYmVoYXZpb3IgaW4gdGhlIGNhc2Ugb2YgYSA8YnJhbmNoPiAod2l0aG91dAotdGhlIG9wdGlvbiwgZ2l2aW5nIGEgYnJhbmNoIG5hbWUgdG8gdGhlIGNvbW1hbmQgd291bGQgY2hlY2sgb3V0IHRoZSBicmFuY2gsCi1pbnN0ZWFkIG9mIGRldGFjaGluZyBIRUFEIGF0IGl0KSwgb3IgdGhlIGN1cnJlbnQgY29tbWl0LAotaWYgbm8gPGJyYW5jaD4gaXMgc3BlY2lmaWVkLgorV2hlbiB0aGUgPGNvbW1pdD4gYXJndW1lbnQgaXMgYSBicmFuY2ggbmFtZSwgdGhlIGAtLWRldGFjaGAgb3B0aW9uIGNhbgorYmUgdXNlZCB0byBkZXRhY2ggSEVBRCBhdCB0aGUgdGlwIG9mIHRoZSBicmFuY2ggKGBnaXQgY2hlY2tvdXQKKzxicmFuY2g+YCB3b3VsZCBjaGVjayBvdXQgdGhhdCBicmFuY2ggd2l0aG91dCBkZXRhY2hpbmcgSEVBRCkuCisrCitPbWl0dGluZyA8YnJhbmNoPiBkZXRhY2hlcyBIRUFEIGF0IHRoZSB0aXAgb2YgdGhlIGN1cnJlbnQgYnJhbmNoLgogCiAnZ2l0IGNoZWNrb3V0JyBbLXB8LS1wYXRjaF0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzcGVjPi4uLjo6CiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWNoZXJyeS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jaGVycnkudHh0CmluZGV4IGY2YzE5YzcuLjJkMGRhYWUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWNoZXJyeS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY2hlcnJ5LnR4dApAQCAtMTQsOCArMTQsNyBAQAogLS0tLS0tLS0tLS0KIFRoZSBjaGFuZ2VzZXQgKG9yICJkaWZmIikgb2YgZWFjaCBjb21taXQgYmV0d2VlbiB0aGUgZm9yay1wb2ludCBhbmQgPGhlYWQ+CiBpcyBjb21wYXJlZCBhZ2FpbnN0IGVhY2ggY29tbWl0IGJldHdlZW4gdGhlIGZvcmstcG9pbnQgYW5kIDx1cHN0cmVhbT4uCi1UaGUgY29tbWl0cyBhcmUgY29tcGFyZWQgd2l0aCB0aGVpciAncGF0Y2ggaWQnLCBvYnRhaW5lZCBmcm9tCi10aGUgJ2dpdCBwYXRjaC1pZCcgcHJvZ3JhbS4KK1RoZSBkaWZmcyBhcmUgY29tcGFyZWQgYWZ0ZXIgcmVtb3ZpbmcgYW55IHdoaXRlc3BhY2UgYW5kIGxpbmUgbnVtYmVycy4KIAogRXZlcnkgY29tbWl0IHRoYXQgZG9lc24ndCBleGlzdCBpbiB0aGUgPHVwc3RyZWFtPiBicmFuY2gKIGhhcyBpdHMgaWQgKHNoYTEpIHJlcG9ydGVkLCBwcmVmaXhlZCBieSBhIHN5bWJvbC4gIFRoZSBvbmVzIHRoYXQgaGF2ZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtY29uZmlnLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNvbmZpZy50eHQKaW5kZXggMmRiZTQ4Ni4uZTk5MTdiOCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY29uZmlnLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jb25maWcudHh0CkBAIC0xNSw2ICsxNSw3IEBACiAnZ2l0IGNvbmZpZycgWzxmaWxlLW9wdGlvbj5dIFt0eXBlXSBbLXp8LS1udWxsXSAtLWdldCBuYW1lIFt2YWx1ZV9yZWdleF0KICdnaXQgY29uZmlnJyBbPGZpbGUtb3B0aW9uPl0gW3R5cGVdIFstenwtLW51bGxdIC0tZ2V0LWFsbCBuYW1lIFt2YWx1ZV9yZWdleF0KICdnaXQgY29uZmlnJyBbPGZpbGUtb3B0aW9uPl0gW3R5cGVdIFstenwtLW51bGxdIC0tZ2V0LXJlZ2V4cCBuYW1lX3JlZ2V4IFt2YWx1ZV9yZWdleF0KKydnaXQgY29uZmlnJyBbPGZpbGUtb3B0aW9uPl0gW3R5cGVdIFstenwtLW51bGxdIC0tZ2V0LXVybG1hdGNoIG5hbWUgVVJMCiAnZ2l0IGNvbmZpZycgWzxmaWxlLW9wdGlvbj5dIC0tdW5zZXQgbmFtZSBbdmFsdWVfcmVnZXhdCiAnZ2l0IGNvbmZpZycgWzxmaWxlLW9wdGlvbj5dIC0tdW5zZXQtYWxsIG5hbWUgW3ZhbHVlX3JlZ2V4XQogJ2dpdCBjb25maWcnIFs8ZmlsZS1vcHRpb24+XSAtLXJlbmFtZS1zZWN0aW9uIG9sZF9uYW1lIG5ld19uYW1lCkBAIC05NSw2ICs5NiwxNCBAQAogCWluIHdoaWNoIHNlY3Rpb24gYW5kIHZhcmlhYmxlIG5hbWVzIGFyZSBsb3dlcmNhc2VkLCBidXQgc3Vic2VjdGlvbgogCW5hbWVzIGFyZSBub3QuCiAKKy0tZ2V0LXVybG1hdGNoIG5hbWUgVVJMOjoKKwlXaGVuIGdpdmVuIGEgdHdvLXBhcnQgbmFtZSBzZWN0aW9uLmtleSwgdGhlIHZhbHVlIGZvcgorCXNlY3Rpb24uPHVybD4ua2V5IHdob3NlIDx1cmw+IHBhcnQgbWF0Y2hlcyB0aGUgYmVzdCB0byB0aGUKKwlnaXZlbiBVUkwgaXMgcmV0dXJuZWQgKGlmIG5vIHN1Y2gga2V5IGV4aXN0cywgdGhlIHZhbHVlIGZvcgorCXNlY3Rpb24ua2V5IGlzIHVzZWQgYXMgYSBmYWxsYmFjaykuICBXaGVuIGdpdmVuIGp1c3QgdGhlCisJc2VjdGlvbiBhcyBuYW1lLCBkbyBzbyBmb3IgYWxsIHRoZSBrZXlzIGluIHRoZSBzZWN0aW9uIGFuZAorCWxpc3QgdGhlbS4KKwogLS1nbG9iYWw6OgogCUZvciB3cml0aW5nIG9wdGlvbnM6IHdyaXRlIHRvIGdsb2JhbCBgfi8uZ2l0Y29uZmlnYCBmaWxlCiAJcmF0aGVyIHRoYW4gdGhlIHJlcG9zaXRvcnkgYC5naXQvY29uZmlnYCwgd3JpdGUgdG8KQEAgLTI5NSw2ICszMDQsMTMgQEAKIAkJZ2l0cHJveHk9cHJveHktY29tbWFuZCBmb3Iga2VybmVsLm9yZwogCQlnaXRwcm94eT1kZWZhdWx0LXByb3h5IDsgZm9yIGFsbCB0aGUgcmVzdAogCisJOyBIVFRQCisJW2h0dHBdCisJCXNzbFZlcmlmeQorCVtodHRwICJodHRwczovL3dlYWsuZXhhbXBsZS5jb20iXQorCQlzc2xWZXJpZnkgPSBmYWxzZQorCQljb29raWVGaWxlID0gL3RtcC9jb29raWUudHh0CisKIHlvdSBjYW4gc2V0IHRoZSBmaWxlbW9kZSB0byB0cnVlIHdpdGgKIAogLS0tLS0tLS0tLS0tCkBAIC0zODAsNiArMzk2LDE5IEBACiBlY2hvICIke1dTfXlvdXIgd2hpdGVzcGFjZSBjb2xvciBvciBibHVlIHJldmVyc2Uke1JFU0VUfSIKIC0tLS0tLS0tLS0tLQogCitGb3IgVVJMcyBpbiBgaHR0cHM6Ly93ZWFrLmV4YW1wbGUuY29tYCwgYGh0dHAuc3NsVmVyaWZ5YCBpcyBzZXQgdG8KK2ZhbHNlLCB3aGlsZSBpdCBpcyBzZXQgdG8gYHRydWVgIGZvciBhbGwgb3RoZXJzOgorCistLS0tLS0tLS0tLS0KKyUgZ2l0IGNvbmZpZyAtLWJvb2wgLS1nZXQtdXJsbWF0Y2ggaHR0cC5zc2x2ZXJpZnkgaHR0cHM6Ly9nb29kLmV4YW1wbGUuY29tCit0cnVlCislIGdpdCBjb25maWcgLS1ib29sIC0tZ2V0LXVybG1hdGNoIGh0dHAuc3NsdmVyaWZ5IGh0dHBzOi8vd2Vhay5leGFtcGxlLmNvbQorZmFsc2UKKyUgZ2l0IGNvbmZpZyAtLWdldC11cmxtYXRjaCBodHRwIGh0dHBzOi8vd2Vhay5leGFtcGxlLmNvbQoraHR0cC5jb29raWVmaWxlIC90bXAvY29va2llLnR4dAoraHR0cC5zc2x2ZXJpZnkgZmFsc2UKKy0tLS0tLS0tLS0tLQorCiBpbmNsdWRlOjpjb25maWcudHh0W10KIAogR0lUCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jcmVkZW50aWFsLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNyZWRlbnRpYWwudHh0CmluZGV4IDdkYTBmMTMuLmIyMTE0NDAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWNyZWRlbnRpYWwudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWNyZWRlbnRpYWwudHh0CkBAIC0yMCw3ICsyMCw3IEBACiBpbnRlcmZhY2UgdG8gc2NyaXB0cyB3aGljaCBtYXkgd2FudCB0byByZXRyaWV2ZSwgc3RvcmUsIG9yIHByb21wdCBmb3IKIGNyZWRlbnRpYWxzIGluIHRoZSBzYW1lIG1hbm5lciBhcyBHaXQuIFRoZSBkZXNpZ24gb2YgdGhpcyBzY3JpcHRhYmxlCiBpbnRlcmZhY2UgbW9kZWxzIHRoZSBpbnRlcm5hbCBDIEFQSTsgc2VlCi1saW5rOnRlY2huaWNhbC9hcGktY3JlZGVudGlhbHMudHh0W3RoZSBHaXQgY3JlZGVudGlhbCBBUEldIGZvciBtb3JlCitsaW5rOnRlY2huaWNhbC9hcGktY3JlZGVudGlhbHMuaHRtbFt0aGUgR2l0IGNyZWRlbnRpYWwgQVBJXSBmb3IgbW9yZQogYmFja2dyb3VuZCBvbiB0aGUgY29uY2VwdHMuCiAKIGdpdC1jcmVkZW50aWFsIHRha2VzIGFuICJhY3Rpb24iIG9wdGlvbiBvbiB0aGUgY29tbWFuZC1saW5lIChvbmUgb2YKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWN2c2ltcG9ydC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jdnNpbXBvcnQudHh0CmluZGV4IGQxYmNkYTIuLjJkZjk5NTMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWN2c2ltcG9ydC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY3ZzaW1wb3J0LnR4dApAQCAtMTQ0LDcgKzE0NCw3IEBACiAJQ1ZTIGJ5IGRlZmF1bHQgdXNlcyB0aGUgVW5peCB1c2VybmFtZSB3aGVuIHdyaXRpbmcgaXRzCiAJY29tbWl0IGxvZ3MuIFVzaW5nIHRoaXMgb3B0aW9uIGFuZCBhbiBhdXRob3ItY29udi1maWxlCiAJbWFwcyB0aGUgbmFtZSByZWNvcmRlZCBpbiBDVlMgdG8gYXV0aG9yIG5hbWUsIGUtbWFpbCBhbmQKLQlvcHRpb25hbCB0aW1lem9uZToKKwlvcHRpb25hbCB0aW1lIHpvbmU6CiArCiAtLS0tLS0tLS0KIAlleG9uPUFuZHJlYXMgRXJpY3Nzb24gPGFlQG9wNS5zZT4KQEAgLTE1NCw3ICsxNTQsNyBAQAogKwogJ2dpdCBjdnNpbXBvcnQnIHdpbGwgbWFrZSBpdCBhcHBlYXIgYXMgdGhvc2UgYXV0aG9ycyBoYWQKIHRoZWlyIEdJVF9BVVRIT1JfTkFNRSBhbmQgR0lUX0FVVEhPUl9FTUFJTCBzZXQgcHJvcGVybHkKLWFsbCBhbG9uZy4gIElmIGEgdGltZXpvbmUgaXMgc3BlY2lmaWVkLCBHSVRfQVVUSE9SX0RBVEUgd2lsbAorYWxsIGFsb25nLiAgSWYgYSB0aW1lIHpvbmUgaXMgc3BlY2lmaWVkLCBHSVRfQVVUSE9SX0RBVEUgd2lsbAogaGF2ZSB0aGUgY29ycmVzcG9uZGluZyBvZmZzZXQgYXBwbGllZC4KICsKIEZvciBjb252ZW5pZW5jZSwgdGhpcyBkYXRhIGlzIHNhdmVkIHRvIGAkR0lUX0RJUi9jdnMtYXV0aG9yc2AKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWRlc2NyaWJlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWRlc2NyaWJlLnR4dAppbmRleCA5NDM5Y2Q2Li5kMjBjYTQwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1kZXNjcmliZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZGVzY3JpYmUudHh0CkBAIC05LDcgKzksNyBAQAogU1lOT1BTSVMKIC0tLS0tLS0tCiBbdmVyc2VdCi0nZ2l0IGRlc2NyaWJlJyBbLS1hbGxdIFstLXRhZ3NdIFstLWNvbnRhaW5zXSBbLS1hYmJyZXY9PG4+XSA8Y29tbWl0dGlzaD4uLi4KKydnaXQgZGVzY3JpYmUnIFstLWFsbF0gWy0tdGFnc10gWy0tY29udGFpbnNdIFstLWFiYnJldj08bj5dIDxjb21taXQtaXNoPi4uLgogJ2dpdCBkZXNjcmliZScgWy0tYWxsXSBbLS10YWdzXSBbLS1jb250YWluc10gWy0tYWJicmV2PTxuPl0gLS1kaXJ0eVs9PG1hcms+XQogCiBERVNDUklQVElPTgpAQCAtMjYsOCArMjYsOCBAQAogCiBPUFRJT05TCiAtLS0tLS0tCi08Y29tbWl0dGlzaD4uLi46OgotCUNvbW1pdHRpc2ggb2JqZWN0IG5hbWVzIHRvIGRlc2NyaWJlLgorPGNvbW1pdC1pc2g+Li4uOjoKKwlDb21taXQtaXNoIG9iamVjdCBuYW1lcyB0byBkZXNjcmliZS4KIAogLS1kaXJ0eVs9PG1hcms+XTo6CiAJRGVzY3JpYmUgdGhlIHdvcmtpbmcgdHJlZS4KQEAgLTU3LDcgKzU3LDcgQEAKIAogLS1jYW5kaWRhdGVzPTxuPjo6CiAJSW5zdGVhZCBvZiBjb25zaWRlcmluZyBvbmx5IHRoZSAxMCBtb3N0IHJlY2VudCB0YWdzIGFzCi0JY2FuZGlkYXRlcyB0byBkZXNjcmliZSB0aGUgaW5wdXQgY29tbWl0dGlzaCBjb25zaWRlcgorCWNhbmRpZGF0ZXMgdG8gZGVzY3JpYmUgdGhlIGlucHV0IGNvbW1pdC1pc2ggY29uc2lkZXIKIAl1cCB0byA8bj4gY2FuZGlkYXRlcy4gIEluY3JlYXNpbmcgPG4+IGFib3ZlIDEwIHdpbGwgdGFrZQogCXNsaWdodGx5IGxvbmdlciBidXQgbWF5IHByb2R1Y2UgYSBtb3JlIGFjY3VyYXRlIHJlc3VsdC4KIAlBbiA8bj4gb2YgMCB3aWxsIGNhdXNlIG9ubHkgZXhhY3QgbWF0Y2hlcyB0byBiZSBvdXRwdXQuCkBAIC0xNDUsNyArMTQ1LDcgQEAKIFNFQVJDSCBTVFJBVEVHWQogLS0tLS0tLS0tLS0tLS0tCiAKLUZvciBlYWNoIGNvbW1pdHRpc2ggc3VwcGxpZWQsICdnaXQgZGVzY3JpYmUnIHdpbGwgZmlyc3QgbG9vayBmb3IKK0ZvciBlYWNoIGNvbW1pdC1pc2ggc3VwcGxpZWQsICdnaXQgZGVzY3JpYmUnIHdpbGwgZmlyc3QgbG9vayBmb3IKIGEgdGFnIHdoaWNoIHRhZ3MgZXhhY3RseSB0aGF0IGNvbW1pdC4gIEFubm90YXRlZCB0YWdzIHdpbGwgYWx3YXlzCiBiZSBwcmVmZXJyZWQgb3ZlciBsaWdodHdlaWdodCB0YWdzLCBhbmQgdGFncyB3aXRoIG5ld2VyIGRhdGVzIHdpbGwKIGFsd2F5cyBiZSBwcmVmZXJyZWQgb3ZlciB0YWdzIHdpdGggb2xkZXIgZGF0ZXMuICBJZiBhbiBleGFjdCBtYXRjaApAQCAtMTU0LDEyICsxNTQsMTIgQEAKIElmIGFuIGV4YWN0IG1hdGNoIHdhcyBub3QgZm91bmQsICdnaXQgZGVzY3JpYmUnIHdpbGwgd2FsayBiYWNrCiB0aHJvdWdoIHRoZSBjb21taXQgaGlzdG9yeSB0byBsb2NhdGUgYW4gYW5jZXN0b3IgY29tbWl0IHdoaWNoCiBoYXMgYmVlbiB0YWdnZWQuICBUaGUgYW5jZXN0b3IncyB0YWcgd2lsbCBiZSBvdXRwdXQgYWxvbmcgd2l0aCBhbgotYWJicmV2aWF0aW9uIG9mIHRoZSBpbnB1dCBjb21taXR0aXNoJ3MgU0hBLTEuIElmICctLWZpcnN0LXBhcmVudCcgd2FzCithYmJyZXZpYXRpb24gb2YgdGhlIGlucHV0IGNvbW1pdC1pc2gncyBTSEEtMS4gSWYgJy0tZmlyc3QtcGFyZW50JyB3YXMKIHNwZWNpZmllZCB0aGVuIHRoZSB3YWxrIHdpbGwgb25seSBjb25zaWRlciB0aGUgZmlyc3QgcGFyZW50IG9mIGVhY2gKIGNvbW1pdC4KIAogSWYgbXVsdGlwbGUgdGFncyB3ZXJlIGZvdW5kIGR1cmluZyB0aGUgd2FsayB0aGVuIHRoZSB0YWcgd2hpY2gKLWhhcyB0aGUgZmV3ZXN0IGNvbW1pdHMgZGlmZmVyZW50IGZyb20gdGhlIGlucHV0IGNvbW1pdHRpc2ggd2lsbCBiZQoraGFzIHRoZSBmZXdlc3QgY29tbWl0cyBkaWZmZXJlbnQgZnJvbSB0aGUgaW5wdXQgY29tbWl0LWlzaCB3aWxsIGJlCiBzZWxlY3RlZCBhbmQgb3V0cHV0LiAgSGVyZSBmZXdlc3QgY29tbWl0cyBkaWZmZXJlbnQgaXMgZGVmaW5lZCBhcwogdGhlIG51bWJlciBvZiBjb21taXRzIHdoaWNoIHdvdWxkIGJlIHNob3duIGJ5IGBnaXQgbG9nIHRhZy4uaW5wdXRgCiB3aWxsIGJlIHRoZSBzbWFsbGVzdCBudW1iZXIgb2YgY29tbWl0cyBwb3NzaWJsZS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWRpZmYudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZGlmZi50eHQKaW5kZXggNzhkNmQ1MC4uMzNmYmQ4YyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZGlmZi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZGlmZi50eHQKQEAgLTI4LDEwICsyOCwxNSBAQAogCXdvcmRzLCB0aGUgZGlmZmVyZW5jZXMgYXJlIHdoYXQgeW91IF9jb3VsZF8gdGVsbCBHaXQgdG8KIAlmdXJ0aGVyIGFkZCB0byB0aGUgaW5kZXggYnV0IHlvdSBzdGlsbCBoYXZlbid0LiAgWW91IGNhbgogCXN0YWdlIHRoZXNlIGNoYW5nZXMgYnkgdXNpbmcgbGlua2dpdDpnaXQtYWRkWzFdLgotKwotSWYgZXhhY3RseSB0d28gcGF0aHMgYXJlIGdpdmVuIGFuZCBhdCBsZWFzdCBvbmUgcG9pbnRzIG91dHNpZGUKLXRoZSBjdXJyZW50IHJlcG9zaXRvcnksICdnaXQgZGlmZicgd2lsbCBjb21wYXJlIHRoZSB0d28gZmlsZXMgLwotZGlyZWN0b3JpZXMuIFRoaXMgYmVoYXZpb3IgY2FuIGJlIGZvcmNlZCBieSAtLW5vLWluZGV4LgorCisnZ2l0IGRpZmYnIC0tbm8taW5kZXggWy0tb3B0aW9uc10gWy0tXSBbPHBhdGg+Li4uXTo6CisKKwlUaGlzIGZvcm0gaXMgdG8gY29tcGFyZSB0aGUgZ2l2ZW4gdHdvIHBhdGhzIG9uIHRoZQorCWZpbGVzeXN0ZW0uICBZb3UgY2FuIG9taXQgdGhlIGAtLW5vLWluZGV4YCBvcHRpb24gd2hlbgorCXJ1bm5pbmcgdGhlIGNvbW1hbmQgaW4gYSB3b3JraW5nIHRyZWUgY29udHJvbGxlZCBieSBHaXQgYW5kCisJYXQgbGVhc3Qgb25lIG9mIHRoZSBwYXRocyBwb2ludHMgb3V0c2lkZSB0aGUgd29ya2luZyB0cmVlLAorCW9yIHdoZW4gcnVubmluZyB0aGUgY29tbWFuZCBvdXRzaWRlIGEgd29ya2luZyB0cmVlCisJY29udHJvbGxlZCBieSBHaXQuCiAKICdnaXQgZGlmZicgWy0tb3B0aW9uc10gLS1jYWNoZWQgWzxjb21taXQ+XSBbLS1dIFs8cGF0aD4uLi5dOjoKIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZmFzdC1pbXBvcnQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZmFzdC1pbXBvcnQudHh0CmluZGV4IGJmMWEwMmEuLmZkMjJhOWEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWZhc3QtaW1wb3J0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1mYXN0LWltcG9ydC50eHQKQEAgLTI1MSw3ICsyNTEsNyBAQAogSWYgdGhlIGxvY2FsIG9mZnNldCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBzb3VyY2UgbWF0ZXJpYWwsIHVzZQogYGArMDAwMCcnLCBvciB0aGUgbW9zdCBjb21tb24gbG9jYWwgb2Zmc2V0LiAgRm9yIGV4YW1wbGUgbWFueQogb3JnYW5pemF0aW9ucyBoYXZlIGEgQ1ZTIHJlcG9zaXRvcnkgd2hpY2ggaGFzIG9ubHkgZXZlciBiZWVuIGFjY2Vzc2VkCi1ieSB1c2VycyB3aG8gYXJlIGxvY2F0ZWQgaW4gdGhlIHNhbWUgbG9jYXRpb24gYW5kIHRpbWV6b25lLiAgSW4gdGhpcworYnkgdXNlcnMgd2hvIGFyZSBsb2NhdGVkIGluIHRoZSBzYW1lIGxvY2F0aW9uIGFuZCB0aW1lIHpvbmUuICBJbiB0aGlzCiBjYXNlIGEgcmVhc29uYWJsZSBvZmZzZXQgZnJvbSBVVEMgY291bGQgYmUgYXNzdW1lZC4KICsKIFVubGlrZSB0aGUgYHJmYzI4MjJgIGZvcm1hdCwgdGhpcyBmb3JtYXQgaXMgdmVyeSBzdHJpY3QuICBBbnkKQEAgLTI3MSw3ICsyNzEsNyBAQAogc3RyaW5ncyB3aGljaCBHaXQgd2lsbCBwYXJzZSB3cm9uZywgYW5kIHlldCBjb25zaWRlciB2YWxpZC4KIFNlcmlvdXNseSBtYWxmb3JtZWQgc3RyaW5ncyB3aWxsIGJlIHJlamVjdGVkLgogKwotVW5saWtlIHRoZSBgcmF3YCBmb3JtYXQgYWJvdmUsIHRoZSB0aW1lem9uZS9VVEMgb2Zmc2V0IGluZm9ybWF0aW9uCitVbmxpa2UgdGhlIGByYXdgIGZvcm1hdCBhYm92ZSwgdGhlIHRpbWUgem9uZS9VVEMgb2Zmc2V0IGluZm9ybWF0aW9uCiBjb250YWluZWQgaW4gYW4gUkZDIDI4MjIgZGF0ZSBzdHJpbmcgaXMgdXNlZCB0byBhZGp1c3QgdGhlIGRhdGUKIHZhbHVlIHRvIFVUQyBwcmlvciB0byBzdG9yYWdlLiAgVGhlcmVmb3JlIGl0IGlzIGltcG9ydGFudCB0aGF0CiB0aGlzIGluZm9ybWF0aW9uIGJlIGFzIGFjY3VyYXRlIGFzIHBvc3NpYmxlLgpAQCAtMjg3LDEzICsyODcsMTMgQEAKIGFtYmlndWl0eSBpbiBwYXJzaW5nLgogCiBgbm93YDo6Ci0JQWx3YXlzIHVzZSB0aGUgY3VycmVudCB0aW1lIGFuZCB0aW1lem9uZS4gIFRoZSBsaXRlcmFsCisJQWx3YXlzIHVzZSB0aGUgY3VycmVudCB0aW1lIGFuZCB0aW1lIHpvbmUuICBUaGUgbGl0ZXJhbAogCWBub3dgIG11c3QgYWx3YXlzIGJlIHN1cHBsaWVkIGZvciBgPHdoZW4+YC4KICsKLVRoaXMgaXMgYSB0b3kgZm9ybWF0LiAgVGhlIGN1cnJlbnQgdGltZSBhbmQgdGltZXpvbmUgb2YgdGhpcyBzeXN0ZW0KK1RoaXMgaXMgYSB0b3kgZm9ybWF0LiAgVGhlIGN1cnJlbnQgdGltZSBhbmQgdGltZSB6b25lIG9mIHRoaXMgc3lzdGVtCiBpcyBhbHdheXMgY29waWVkIGludG8gdGhlIGlkZW50aXR5IHN0cmluZyBhdCB0aGUgdGltZSBpdCBpcyBiZWluZwogY3JlYXRlZCBieSBmYXN0LWltcG9ydC4gIFRoZXJlIGlzIG5vIHdheSB0byBzcGVjaWZ5IGEgZGlmZmVyZW50IHRpbWUgb3IKLXRpbWV6b25lLgordGltZSB6b25lLgogKwogVGhpcyBwYXJ0aWN1bGFyIGZvcm1hdCBpcyBzdXBwbGllZCBhcyBpdCdzIHNob3J0IHRvIGltcGxlbWVudCBhbmQKIG1heSBiZSB1c2VmdWwgdG8gYSBwcm9jZXNzIHRoYXQgd2FudHMgdG8gY3JlYXRlIGEgbmV3IGNvbW1pdApAQCAtMzYxLDggKzM2MSw4IEBACiAJYC0tY2F0LWJsb2ItZmRgIG9yIGBzdGRvdXRgIGlmIHVuc3BlY2lmaWVkLgogCiBgZmVhdHVyZWA6OgotCVJlcXVpcmUgdGhhdCBmYXN0LWltcG9ydCBzdXBwb3J0cyB0aGUgc3BlY2lmaWVkIGZlYXR1cmUsIG9yCi0JYWJvcnQgaWYgaXQgZG9lcyBub3QuCisJRW5hYmxlIHRoZSBzcGVjaWZpZWQgZmVhdHVyZS4gVGhpcyByZXF1aXJlcyB0aGF0IGZhc3QtaW1wb3J0CisJc3VwcG9ydHMgdGhlIHNwZWNpZmllZCBmZWF0dXJlLCBhbmQgYWJvcnRzIGlmIGl0IGRvZXMgbm90LgogCiBgb3B0aW9uYDo6CiAJU3BlY2lmeSBhbnkgb2YgdGhlIG9wdGlvbnMgbGlzdGVkIHVuZGVyIE9QVElPTlMgdGhhdCBkbyBub3QKQEAgLTM4MCw4ICszODAsOCBAQAogCSgnYXV0aG9yJyAoU1AgPG5hbWU+KT8gU1AgTFQgPGVtYWlsPiBHVCBTUCA8d2hlbj4gTEYpPwogCSdjb21taXR0ZXInIChTUCA8bmFtZT4pPyBTUCBMVCA8ZW1haWw+IEdUIFNQIDx3aGVuPiBMRgogCWRhdGEKLQkoJ2Zyb20nIFNQIDxjb21taXR0aXNoPiBMRik/Ci0JKCdtZXJnZScgU1AgPGNvbW1pdHRpc2g+IExGKT8KKwkoJ2Zyb20nIFNQIDxjb21taXQtaXNoPiBMRik/CisJKCdtZXJnZScgU1AgPGNvbW1pdC1pc2g+IExGKT8KIAkoZmlsZW1vZGlmeSB8IGZpbGVkZWxldGUgfCBmaWxlY29weSB8IGZpbGVyZW5hbWUgfCBmaWxlZGVsZXRlYWxsIHwgbm90ZW1vZGlmeSkqCiAJTEY/CiAuLi4uCkBAIC00NjAsOSArNDYwLDkgQEAKIGJlIHRoZSBmaXJzdCBhbmNlc3RvciBvZiB0aGUgbmV3IGNvbW1pdC4KIAogQXMgYExGYCBpcyBub3QgdmFsaWQgaW4gYSBHaXQgcmVmbmFtZSBvciBTSEEtMSBleHByZXNzaW9uLCBubwotcXVvdGluZyBvciBlc2NhcGluZyBzeW50YXggaXMgc3VwcG9ydGVkIHdpdGhpbiBgPGNvbW1pdHRpc2g+YC4KK3F1b3Rpbmcgb3IgZXNjYXBpbmcgc3ludGF4IGlzIHN1cHBvcnRlZCB3aXRoaW4gYDxjb21taXQtaXNoPmAuCiAKLUhlcmUgYDxjb21taXR0aXNoPmAgaXMgYW55IG9mIHRoZSBmb2xsb3dpbmc6CitIZXJlIGA8Y29tbWl0LWlzaD5gIGlzIGFueSBvZiB0aGUgZm9sbG93aW5nOgogCiAqIFRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIGJyYW5jaCBhbHJlYWR5IGluIGZhc3QtaW1wb3J0J3MgaW50ZXJuYWwgYnJhbmNoCiAgIHRhYmxlLiAgSWYgZmFzdC1pbXBvcnQgZG9lc24ndCBrbm93IHRoZSBuYW1lLCBpdCdzIHRyZWF0ZWQgYXMgYSBTSEEtMQpAQCAtNTA5LDcgKzUwOSw3IEBACiBpdCBpcyBzdWdnZXN0ZWQgdGhhdCBmcm9udGVuZHMgZG8gbm90IHVzZSBtb3JlIHRoYW4gMTUgYG1lcmdlYAogY29tbWFuZHMgcGVyIGNvbW1pdDsgMTYsIGlmIHN0YXJ0aW5nIGEgbmV3LCBlbXB0eSBicmFuY2guCiAKLUhlcmUgYDxjb21taXR0aXNoPmAgaXMgYW55IG9mIHRoZSBjb21taXQgc3BlY2lmaWNhdGlvbiBleHByZXNzaW9ucworSGVyZSBgPGNvbW1pdC1pc2g+YCBpcyBhbnkgb2YgdGhlIGNvbW1pdCBzcGVjaWZpY2F0aW9uIGV4cHJlc3Npb25zCiBhbHNvIGFjY2VwdGVkIGJ5IGBmcm9tYCAoc2VlIGFib3ZlKS4KIAogYGZpbGVtb2RpZnlgCkBAIC02NzcsOCArNjc3LDggQEAKIGBub3RlbW9kaWZ5YAogXl5eXl5eXl5eXl5eCiBJbmNsdWRlZCBpbiBhIGBjb21taXRgIGA8bm90ZXNfcmVmPmAgY29tbWFuZCB0byBhZGQgYSBuZXcgbm90ZQotYW5ub3RhdGluZyBhIGA8Y29tbWl0dGlzaD5gIG9yIGNoYW5nZSB0aGlzIGFubm90YXRpb24gY29udGVudHMuCi1JbnRlcm5hbGx5IGl0IGlzIHNpbWlsYXIgdG8gZmlsZW1vZGlmeSAxMDA2NDQgb24gYDxjb21taXR0aXNoPmAKK2Fubm90YXRpbmcgYSBgPGNvbW1pdC1pc2g+YCBvciBjaGFuZ2UgdGhpcyBhbm5vdGF0aW9uIGNvbnRlbnRzLgorSW50ZXJuYWxseSBpdCBpcyBzaW1pbGFyIHRvIGZpbGVtb2RpZnkgMTAwNjQ0IG9uIGA8Y29tbWl0LWlzaD5gCiBwYXRoIChtYXliZSBzcGxpdCBpbnRvIHN1YmRpcmVjdG9yaWVzKS4gSXQncyBub3QgYWR2aXNlZCB0bwogdXNlIGFueSBvdGhlciBjb21tYW5kcyB0byB3cml0ZSB0byB0aGUgYDxub3Rlc19yZWY+YCB0cmVlIGV4Y2VwdAogYGZpbGVkZWxldGVhbGxgIHRvIGRlbGV0ZSBhbGwgZXhpc3Rpbmcgbm90ZXMgaW4gdGhpcyB0cmVlLgpAQCAtNjkxLDcgKzY5MSw3IEBACiAJY29tbWl0IHRoYXQgaXMgdG8gYmUgYW5ub3RhdGVkLgogKwogLi4uLgotCSdOJyBTUCA8ZGF0YXJlZj4gU1AgPGNvbW1pdHRpc2g+IExGCisJJ04nIFNQIDxkYXRhcmVmPiBTUCA8Y29tbWl0LWlzaD4gTEYKIC4uLi4KICsKIEhlcmUgYDxkYXRhcmVmPmAgY2FuIGJlIGVpdGhlciBhIG1hcmsgcmVmZXJlbmNlIChgOjxpZG51bT5gKQpAQCAtNzA0LDEzICs3MDQsMTMgQEAKIAljb21tYW5kLgogKwogLi4uLgotCSdOJyBTUCAnaW5saW5lJyBTUCA8Y29tbWl0dGlzaD4gTEYKKwknTicgU1AgJ2lubGluZScgU1AgPGNvbW1pdC1pc2g+IExGCiAJZGF0YQogLi4uLgogKwogU2VlIGJlbG93IGZvciBhIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRoZSBgZGF0YWAgY29tbWFuZC4KIAotSW4gYm90aCBmb3JtYXRzIGA8Y29tbWl0dGlzaD5gIGlzIGFueSBvZiB0aGUgY29tbWl0IHNwZWNpZmljYXRpb24KK0luIGJvdGggZm9ybWF0cyBgPGNvbW1pdC1pc2g+YCBpcyBhbnkgb2YgdGhlIGNvbW1pdCBzcGVjaWZpY2F0aW9uCiBleHByZXNzaW9ucyBhbHNvIGFjY2VwdGVkIGJ5IGBmcm9tYCAoc2VlIGFib3ZlKS4KIAogYG1hcmtgCkBAIC03NDEsNyArNzQxLDcgQEAKIAogLi4uLgogCSd0YWcnIFNQIDxuYW1lPiBMRgotCSdmcm9tJyBTUCA8Y29tbWl0dGlzaD4gTEYKKwknZnJvbScgU1AgPGNvbW1pdC1pc2g+IExGCiAJJ3RhZ2dlcicgKFNQIDxuYW1lPik/IFNQIExUIDxlbWFpbD4gR1QgU1AgPHdoZW4+IExGCiAJZGF0YQogLi4uLgpAQCAtNzg2LDExICs3ODYsMTEgQEAKIAogLi4uLgogCSdyZXNldCcgU1AgPHJlZj4gTEYKLQkoJ2Zyb20nIFNQIDxjb21taXR0aXNoPiBMRik/CisJKCdmcm9tJyBTUCA8Y29tbWl0LWlzaD4gTEYpPwogCUxGPwogLi4uLgogCi1Gb3IgYSBkZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiBgPHJlZj5gIGFuZCBgPGNvbW1pdHRpc2g+YCBzZWUgYWJvdmUKK0ZvciBhIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIGA8cmVmPmAgYW5kIGA8Y29tbWl0LWlzaD5gIHNlZSBhYm92ZQogdW5kZXIgYGNvbW1pdGAgYW5kIGBmcm9tYC4KIAogVGhlIGBMRmAgYWZ0ZXIgdGhlIGNvbW1hbmQgaXMgb3B0aW9uYWwgKGl0IHVzZWQgdG8gYmUgcmVxdWlyZWQpLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZmV0Y2gtcGFjay50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1mZXRjaC1wYWNrLnR4dAppbmRleCAxZTcxNzU0Li40NDRiODA1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1mZXRjaC1wYWNrLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1mZXRjaC1wYWNrLnR4dApAQCAtOTAsNiArOTAsMTAgQEAKIC0tbm8tcHJvZ3Jlc3M6OgogCURvIG5vdCBzaG93IHRoZSBwcm9ncmVzcy4KIAorLS1jaGVjay1zZWxmLWNvbnRhaW5lZC1hbmQtY29ubmVjdGVkOjoKKwlPdXRwdXQgImNvbm5lY3Rpdml0eS1vayIgaWYgdGhlIHJlY2VpdmVkIHBhY2sgaXMKKwlzZWxmLWNvbnRhaW5lZCBhbmQgY29ubmVjdGVkLgorCiAtdjo6CiAJUnVuIHZlcmJvc2VseS4KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZm9ybWF0LXBhdGNoLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWZvcm1hdC1wYXRjaC50eHQKaW5kZXggZTM5NDI3Ni4uNWMwYTRhYiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZm9ybWF0LXBhdGNoLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1mb3JtYXQtcGF0Y2gudHh0CkBAIC0yNDIsNiArMjQyLDcgQEAKIE5vdGUgdGhhdCB0aGUgbGVhZGluZyBjaGFyYWN0ZXIgZG9lcyBub3QgaGF2ZSB0byBiZSBhIGRvdDsgZm9yIGV4YW1wbGUsCiB5b3UgY2FuIHVzZSBgLS1zdWZmaXg9LXBhdGNoYCB0byBnZXQgYDAwMDEtZGVzY3JpcHRpb24tb2YtbXktY2hhbmdlLXBhdGNoYC4KIAorLXE6OgogLS1xdWlldDo6CiAJRG8gbm90IHByaW50IHRoZSBuYW1lcyBvZiB0aGUgZ2VuZXJhdGVkIGZpbGVzIHRvIHN0YW5kYXJkIG91dHB1dC4KIApAQCAtNDM3LDcgKzQzOCw4IEBACiBJbiBUaHVuZGVyYmlyZCAzOgogRWRpdC4uUHJlZmVyZW5jZXMuLkFkdmFuY2VkLi5Db25maWcgRWRpdG9yLiAgU2VhcmNoIGZvcgogIm1haWwud3JhcF9sb25nX2xpbmVzIi4KLVRvZ2dsZSBpdCB0byBtYWtlIHN1cmUgaXQgaXMgc2V0IHRvIGBmYWxzZWAuCitUb2dnbGUgaXQgdG8gbWFrZSBzdXJlIGl0IGlzIHNldCB0byBgZmFsc2VgLiBBbHNvLCBzZWFyY2ggZm9yCisibWFpbG5ld3Mud3JhcGxlbmd0aCIgYW5kIHNldCB0aGUgdmFsdWUgdG8gMC4KIAogMy4gRGlzYWJsZSB0aGUgdXNlIG9mIGZvcm1hdD1mbG93ZWQ6CiBFZGl0Li5QcmVmZXJlbmNlcy4uQWR2YW5jZWQuLkNvbmZpZyBFZGl0b3IuICBTZWFyY2ggZm9yCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1nYy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1nYy50eHQKaW5kZXggMjQwMmVkNi4uZTE1OGEzYiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZ2MudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWdjLnR4dApAQCAtOSw3ICs5LDcgQEAKIFNZTk9QU0lTCiAtLS0tLS0tLQogW3ZlcnNlXQotJ2dpdCBnYycgWy0tYWdncmVzc2l2ZV0gWy0tYXV0b10gWy0tcXVpZXRdIFstLXBydW5lPTxkYXRlPiB8IC0tbm8tcHJ1bmVdCisnZ2l0IGdjJyBbLS1hZ2dyZXNzaXZlXSBbLS1hdXRvXSBbLS1xdWlldF0gWy0tcHJ1bmU9PGRhdGU+IHwgLS1uby1wcnVuZV0gWy0tZm9yY2VdCiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQpAQCAtNzIsNiArNzIsMTAgQEAKIC0tcXVpZXQ6OgogCVN1cHByZXNzIGFsbCBwcm9ncmVzcyByZXBvcnRzLgogCistLWZvcmNlOjoKKwlGb3JjZSBgZ2l0IGdjYCB0byBydW4gZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBgZ2l0IGdjYAorCWluc3RhbmNlIHJ1bm5pbmcgb24gdGhpcyByZXBvc2l0b3J5LgorCiBDb25maWd1cmF0aW9uCiAtLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWdyZXAudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZ3JlcC50eHQKaW5kZXggODQ5N2FhNC4uZjgzNzMzNCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZ3JlcC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZ3JlcC50eHQKQEAgLTksNyArOSw3IEBACiBTWU5PUFNJUwogLS0tLS0tLS0KIFt2ZXJzZV0KLSdnaXQgZ3JlcCcgWy1hIHwgLS10ZXh0XSBbLUldIFstaSB8IC0taWdub3JlLWNhc2VdIFstdyB8IC0td29yZC1yZWdleHBdCisnZ2l0IGdyZXAnIFstYSB8IC0tdGV4dF0gWy1JXSBbLS10ZXh0Y29udl0gWy1pIHwgLS1pZ25vcmUtY2FzZV0gWy13IHwgLS13b3JkLXJlZ2V4cF0KIAkgICBbLXYgfCAtLWludmVydC1tYXRjaF0gWy1ofC1IXSBbLS1mdWxsLW5hbWVdCiAJICAgWy1FIHwgLS1leHRlbmRlZC1yZWdleHBdIFstRyB8IC0tYmFzaWMtcmVnZXhwXQogCSAgIFstUCB8IC0tcGVybC1yZWdleHBdCkBAIC04MCw2ICs4MCwxMyBAQAogLS10ZXh0OjoKIAlQcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyBpZiB0aGV5IHdlcmUgdGV4dC4KIAorLS10ZXh0Y29udjo6CisJSG9ub3IgdGV4dGNvbnYgZmlsdGVyIHNldHRpbmdzLgorCistLW5vLXRleHRjb252OjoKKwlEbyBub3QgaG9ub3IgdGV4dGNvbnYgZmlsdGVyIHNldHRpbmdzLgorCVRoaXMgaXMgdGhlIGRlZmF1bHQuCisKIC1pOjoKIC0taWdub3JlLWNhc2U6OgogCUlnbm9yZSBjYXNlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIHBhdHRlcm5zIGFuZCB0aGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWxvZy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1sb2cudHh0CmluZGV4IGFjMjY5NGQuLjM0MDk3ZWYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWxvZy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtbG9nLnR4dApAQCAtNjIsNyArNjIsOCBAQAogCU5vdGUgdGhhdCBvbmx5IG1lc3NhZ2UgaXMgY29uc2lkZXJlZCwgaWYgYWxzbyBhIGRpZmYgaXMgc2hvd24KIAlpdHMgc2l6ZSBpcyBub3QgaW5jbHVkZWQuCiAKLS1MIDxzdGFydD4sPGVuZD46PGZpbGU+LCAtTCA6PHJlZ2V4Pjo8ZmlsZT46OgorLUwgPHN0YXJ0Piw8ZW5kPjo8ZmlsZT46OgorLUwgOjxyZWdleD46PGZpbGU+OjoKIAogCVRyYWNlIHRoZSBldm9sdXRpb24gb2YgdGhlIGxpbmUgcmFuZ2UgZ2l2ZW4gYnkgIjxzdGFydD4sPGVuZD4iCiAJKG9yIHRoZSBmdW5jbmFtZSByZWdleCA8cmVnZXg+KSB3aXRoaW4gdGhlIDxmaWxlPi4gIFlvdSBtYXkKQEAgLTcxLDggKzcyLDYgQEAKIAlnaXZlIHplcm8gb3Igb25lIHBvc2l0aXZlIHJldmlzaW9uIGFyZ3VtZW50cy4KIAlZb3UgY2FuIHNwZWNpZnkgdGhpcyBvcHRpb24gbW9yZSB0aGFuIG9uY2UuCiArCi08c3RhcnQ+IGFuZCA8ZW5kPiBjYW4gdGFrZSBvbmUgb2YgdGhlc2UgZm9ybXM6Ci0KIGluY2x1ZGU6OmxpbmUtcmFuZ2UtZm9ybWF0LnR4dFtdCiAKIDxyZXZpc2lvbiByYW5nZT46OgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2UtZmlsZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZS1maWxlLnR4dAppbmRleCBkN2RiMmEzLi5kMmZjMTJlIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZS1maWxlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZS1maWxlLnR4dApAQCAtMTEsNyArMTEsNyBAQAogW3ZlcnNlXQogJ2dpdCBtZXJnZS1maWxlJyBbLUwgPGN1cnJlbnQtbmFtZT4gWy1MIDxiYXNlLW5hbWU+IFstTCA8b3RoZXItbmFtZT5dXV0KIAlbLS1vdXJzfC0tdGhlaXJzfC0tdW5pb25dIFstcHwtLXN0ZG91dF0gWy1xfC0tcXVpZXRdIFstLW1hcmtlci1zaXplPTxuPl0KLQk8Y3VycmVudC1maWxlPiA8YmFzZS1maWxlPiA8b3RoZXItZmlsZT4KKwlbLS1bbm8tXWRpZmYzXSA8Y3VycmVudC1maWxlPiA8YmFzZS1maWxlPiA8b3RoZXItZmlsZT4KIAogCiBERVNDUklQVElPTgpAQCAtNjYsNiArNjYsOSBAQAogLXE6OgogCVF1aWV0OyBkbyBub3Qgd2FybiBhYm91dCBjb25mbGljdHMuCiAKKy0tZGlmZjM6OgorCVNob3cgY29uZmxpY3RzIGluICJkaWZmMyIgc3R5bGUuCisKIC0tb3Vyczo6CiAtLXRoZWlyczo6CiAtLXVuaW9uOjoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdlLXRyZWUudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2UtdHJlZS50eHQKaW5kZXggYzVmODRiNi4uNTg3MzFjMSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2UtdHJlZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2UtdHJlZS50eHQKQEAgLTEzLDcgKzEzLDcgQEAKIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCi1SZWFkcyB0aHJlZSB0cmVlaXNoLCBhbmQgb3V0cHV0IHRyaXZpYWwgbWVyZ2UgcmVzdWx0cyBhbmQKK1JlYWRzIHRocmVlIHRyZWUtaXNoLCBhbmQgb3V0cHV0IHRyaXZpYWwgbWVyZ2UgcmVzdWx0cyBhbmQKIGNvbmZsaWN0aW5nIHN0YWdlcyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LiAgVGhpcyBpcyBzaW1pbGFyIHRvCiB3aGF0IHRocmVlLXdheSAnZ2l0IHJlYWQtdHJlZSAtbScgZG9lcywgYnV0IGluc3RlYWQgb2Ygc3RvcmluZyB0aGUKIHJlc3VsdHMgaW4gdGhlIGluZGV4LCB0aGUgY29tbWFuZCBvdXRwdXRzIHRoZSBlbnRyaWVzIHRvIHRoZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtbXYudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtbXYudHh0CmluZGV4IGU5M2ZjYjQuLmIxZjc5ODggMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LW12LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1tdi50eHQKQEAgLTEzLDcgKzEzLDcgQEAKIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCi1UaGlzIHNjcmlwdCBpcyB1c2VkIHRvIG1vdmUgb3IgcmVuYW1lIGEgZmlsZSwgZGlyZWN0b3J5IG9yIHN5bWxpbmsuCitNb3ZlIG9yIHJlbmFtZSBhIGZpbGUsIGRpcmVjdG9yeSBvciBzeW1saW5rLgogCiAgZ2l0IG12IFstdl0gWy1mXSBbLW5dIFsta10gPHNvdXJjZT4gPGRlc3RpbmF0aW9uPgogIGdpdCBtdiBbLXZdIFstZl0gWy1uXSBbLWtdIDxzb3VyY2U+IC4uLiA8ZGVzdGluYXRpb24gZGlyZWN0b3J5PgpAQCAtNDQsNiArNDQsMTQgQEAKIC0tdmVyYm9zZTo6CiAJUmVwb3J0IHRoZSBuYW1lcyBvZiBmaWxlcyBhcyB0aGV5IGFyZSBtb3ZlZC4KIAorU1VCTU9EVUxFUworLS0tLS0tLS0tLQorTW92aW5nIGEgc3VibW9kdWxlIHVzaW5nIGEgZ2l0ZmlsZSAod2hpY2ggbWVhbnMgdGhleSB3ZXJlIGNsb25lZAord2l0aCBhIEdpdCB2ZXJzaW9uIDEuNy44IG9yIG5ld2VyKSB3aWxsIHVwZGF0ZSB0aGUgZ2l0ZmlsZSBhbmQKK2NvcmUud29ya3RyZWUgc2V0dGluZyB0byBtYWtlIHRoZSBzdWJtb2R1bGUgd29yayBpbiB0aGUgbmV3IGxvY2F0aW9uLgorSXQgYWxzbyB3aWxsIGF0dGVtcHQgdG8gdXBkYXRlIHRoZSBzdWJtb2R1bGUuPG5hbWU+LnBhdGggc2V0dGluZyBpbgordGhlIGxpbmtnaXQ6Z2l0bW9kdWxlc1s1XSBmaWxlIGFuZCBzdGFnZSB0aGF0IGZpbGUgKHVubGVzcyAtbiBpcyB1c2VkKS4KKwogR0lUCiAtLS0KIFBhcnQgb2YgdGhlIGxpbmtnaXQ6Z2l0WzFdIHN1aXRlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1uYW1lLXJldi50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1uYW1lLXJldi50eHQKaW5kZXggMTViMDBlMC4uY2EyOGZiOCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtbmFtZS1yZXYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LW5hbWUtcmV2LnR4dApAQCAtMTAsNyArMTAsNyBAQAogLS0tLS0tLS0KIFt2ZXJzZV0KICdnaXQgbmFtZS1yZXYnIFstLXRhZ3NdIFstLXJlZnM9PHBhdHRlcm4+XQotCSAgICAgICAoIC0tYWxsIHwgLS1zdGRpbiB8IDxjb21taXR0aXNoPi4uLiApCisJICAgICAgICggLS1hbGwgfCAtLXN0ZGluIHwgPGNvbW1pdC1pc2g+Li4uICkKIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1wdWxsLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXB1bGwudHh0CmluZGV4IDZlZjhkNTkuLjYwODNhYWIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXB1bGwudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXB1bGwudHh0CkBAIC00Miw2ICs0Miw4IEBACiAJICBBLS0tQi0tLUMgbWFzdGVyIG9uIG9yaWdpbgogCSAvCiAgICAgRC0tLUUtLS1GLS0tRyBtYXN0ZXIKKwleCisJb3JpZ2luL21hc3RlciBpbiB5b3VyIHJlcG9zaXRvcnkKIC0tLS0tLS0tLS0tLQogCiBUaGVuICJgZ2l0IHB1bGxgIiB3aWxsIGZldGNoIGFuZCByZXBsYXkgdGhlIGNoYW5nZXMgZnJvbSB0aGUgcmVtb3RlCkBAIC01MSw3ICs1Myw3IEBACiBhbmQgYSBsb2cgbWVzc2FnZSBmcm9tIHRoZSB1c2VyIGRlc2NyaWJpbmcgdGhlIGNoYW5nZXMuCiAKIC0tLS0tLS0tLS0tLQotCSAgQS0tLUItLS1DIHJlbW90ZXMvb3JpZ2luL21hc3RlcgorCSAgQS0tLUItLS1DIG9yaWdpbi9tYXN0ZXIKIAkgLyAgICAgICAgIFwKICAgICBELS0tRS0tLUYtLS1HLS0tSCBtYXN0ZXIKIC0tLS0tLS0tLS0tLQpAQCAtMTAyLDEyICsxMDQsMTggQEAKIDpnaXQtcHVsbDogMQogCiAtcjo6Ci0tLXJlYmFzZTo6Ci0JUmViYXNlIHRoZSBjdXJyZW50IGJyYW5jaCBvbiB0b3Agb2YgdGhlIHVwc3RyZWFtIGJyYW5jaCBhZnRlcgotCWZldGNoaW5nLiAgSWYgdGhlcmUgaXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIGNvcnJlc3BvbmRpbmcgdG8KLQl0aGUgdXBzdHJlYW0gYnJhbmNoIGFuZCB0aGUgdXBzdHJlYW0gYnJhbmNoIHdhcyByZWJhc2VkIHNpbmNlIGxhc3QKLQlmZXRjaGVkLCB0aGUgcmViYXNlIHVzZXMgdGhhdCBpbmZvcm1hdGlvbiB0byBhdm9pZCByZWJhc2luZwotCW5vbi1sb2NhbCBjaGFuZ2VzLgorLS1yZWJhc2VbPWZhbHNlfHRydWV8cHJlc2VydmVdOjoKKwlXaGVuIHRydWUsIHJlYmFzZSB0aGUgY3VycmVudCBicmFuY2ggb24gdG9wIG9mIHRoZSB1cHN0cmVhbQorCWJyYW5jaCBhZnRlciBmZXRjaGluZy4gSWYgdGhlcmUgaXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoCisJY29ycmVzcG9uZGluZyB0byB0aGUgdXBzdHJlYW0gYnJhbmNoIGFuZCB0aGUgdXBzdHJlYW0gYnJhbmNoCisJd2FzIHJlYmFzZWQgc2luY2UgbGFzdCBmZXRjaGVkLCB0aGUgcmViYXNlIHVzZXMgdGhhdCBpbmZvcm1hdGlvbgorCXRvIGF2b2lkIHJlYmFzaW5nIG5vbi1sb2NhbCBjaGFuZ2VzLgorKworV2hlbiBwcmVzZXJ2ZSwgYWxzbyByZWJhc2UgdGhlIGN1cnJlbnQgYnJhbmNoIG9uIHRvcCBvZiB0aGUgdXBzdHJlYW0KK2JyYW5jaCwgYnV0IHBhc3MgYC0tcHJlc2VydmUtbWVyZ2VzYCBhbG9uZyB0byBgZ2l0IHJlYmFzZWAgc28gdGhhdAorbG9jYWxseSBjcmVhdGVkIG1lcmdlIGNvbW1pdHMgd2lsbCBub3QgYmUgZmxhdHRlbmVkLgorKworV2hlbiBmYWxzZSwgbWVyZ2UgdGhlIGN1cnJlbnQgYnJhbmNoIGludG8gdGhlIHVwc3RyZWFtIGJyYW5jaC4KICsKIFNlZSBgcHVsbC5yZWJhc2VgLCBgYnJhbmNoLjxuYW1lPi5yZWJhc2VgIGFuZCBgYnJhbmNoLmF1dG9zZXR1cHJlYmFzZWAgaW4KIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXSBpZiB5b3Ugd2FudCB0byBtYWtlIGBnaXQgcHVsbGAgYWx3YXlzIHVzZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcHVzaC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1wdXNoLnR4dAppbmRleCBmN2RmZTQ4Li45ZWVjNzQwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1wdXNoLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1wdXNoLnR4dApAQCAtMTEsNiArMTEsNyBAQAogW3ZlcnNlXQogJ2dpdCBwdXNoJyBbLS1hbGwgfCAtLW1pcnJvciB8IC0tdGFnc10gWy0tZm9sbG93LXRhZ3NdIFstbiB8IC0tZHJ5LXJ1bl0gWy0tcmVjZWl2ZS1wYWNrPTxnaXQtcmVjZWl2ZS1wYWNrPl0KIAkgICBbLS1yZXBvPTxyZXBvc2l0b3J5Pl0gWy1mIHwgLS1mb3JjZV0gWy0tcHJ1bmVdIFstdiB8IC0tdmVyYm9zZV0gWy11IHwgLS1zZXQtdXBzdHJlYW1dCisJICAgWy0tZm9yY2Utd2l0aC1sZWFzZVs9PHJlZm5hbWU+Wzo8ZXhwZWN0Pl1dXQogCSAgIFstLW5vLXZlcmlmeV0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0KIAogREVTQ1JJUFRJT04KQEAgLTEyMCw3ICsxMjEsNyBAQAogLS1mb2xsb3ctdGFnczo6CiAJUHVzaCBhbGwgdGhlIHJlZnMgdGhhdCB3b3VsZCBiZSBwdXNoZWQgd2l0aG91dCB0aGlzIG9wdGlvbiwKIAlhbmQgYWxzbyBwdXNoIGFubm90YXRlZCB0YWdzIGluIGByZWZzL3RhZ3NgIHRoYXQgYXJlIG1pc3NpbmcKLQlmcm9tIHRoZSByZW1vdGUgYnV0IGFyZSBwb2ludGluZyBhdCBjb21taXR0aXNoIHRoYXQgYXJlCisJZnJvbSB0aGUgcmVtb3RlIGJ1dCBhcmUgcG9pbnRpbmcgYXQgY29tbWl0LWlzaCB0aGF0IGFyZQogCXJlYWNoYWJsZSBmcm9tIHRoZSByZWZzIGJlaW5nIHB1c2hlZC4KIAogLS1yZWNlaXZlLXBhY2s9PGdpdC1yZWNlaXZlLXBhY2s+OjoKQEAgLTEzMCwyMSArMTMxLDc1IEBACiAJcmVwb3NpdG9yeSBvdmVyIHNzaCwgYW5kIHlvdSBkbyBub3QgaGF2ZSB0aGUgcHJvZ3JhbSBpbgogCWEgZGlyZWN0b3J5IG9uIHRoZSBkZWZhdWx0ICRQQVRILgogCistLVtuby1dZm9yY2Utd2l0aC1sZWFzZTo6CistLWZvcmNlLXdpdGgtbGVhc2U9PHJlZm5hbWU+OjoKKy0tZm9yY2Utd2l0aC1sZWFzZT08cmVmbmFtZT46PGV4cGVjdD46OgorCVVzdWFsbHksICJnaXQgcHVzaCIgcmVmdXNlcyB0byB1cGRhdGUgYSByZW1vdGUgcmVmIHRoYXQgaXMKKwlub3QgYW4gYW5jZXN0b3Igb2YgdGhlIGxvY2FsIHJlZiB1c2VkIHRvIG92ZXJ3cml0ZSBpdC4KKysKK1RoaXMgb3B0aW9uIGJ5cGFzc2VzIHRoZSBjaGVjaywgYnV0IGluc3RlYWQgcmVxdWlyZXMgdGhhdCB0aGUKK2N1cnJlbnQgdmFsdWUgb2YgdGhlIHJlZiB0byBiZSB0aGUgZXhwZWN0ZWQgdmFsdWUuICAiZ2l0IHB1c2giCitmYWlscyBvdGhlcndpc2UuCisrCitJbWFnaW5lIHRoYXQgeW91IGhhdmUgdG8gcmViYXNlIHdoYXQgeW91IGhhdmUgYWxyZWFkeSBwdWJsaXNoZWQuCitZb3Ugd2lsbCBoYXZlIHRvIGJ5cGFzcyB0aGUgIm11c3QgZmFzdC1mb3J3YXJkIiBydWxlIGluIG9yZGVyIHRvCityZXBsYWNlIHRoZSBoaXN0b3J5IHlvdSBvcmlnaW5hbGx5IHB1Ymxpc2hlZCB3aXRoIHRoZSByZWJhc2VkIGhpc3RvcnkuCitJZiBzb21lYm9keSBlbHNlIGJ1aWx0IG9uIHRvcCBvZiB5b3VyIG9yaWdpbmFsIGhpc3Rvcnkgd2hpbGUgeW91IGFyZQorcmViYXNpbmcsIHRoZSB0aXAgb2YgdGhlIGJyYW5jaCBhdCB0aGUgcmVtb3RlIG1heSBhZHZhbmNlIHdpdGggaGVyCitjb21taXQsIGFuZCBibGluZGx5IHB1c2hpbmcgd2l0aCBgLS1mb3JjZWAgd2lsbCBsb3NlIGhlciB3b3JrLgorKworVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBzYXkgdGhhdCB5b3UgZXhwZWN0IHRoZSBoaXN0b3J5IHlvdSBhcmUKK3VwZGF0aW5nIGlzIHdoYXQgeW91IHJlYmFzZWQgYW5kIHdhbnQgdG8gcmVwbGFjZS4gSWYgdGhlIHJlbW90ZSByZWYKK3N0aWxsIHBvaW50cyBhdCB0aGUgY29tbWl0IHlvdSBzcGVjaWZpZWQsIHlvdSBjYW4gYmUgc3VyZSB0aGF0IG5vCitvdGhlciBwZW9wbGUgZGlkIGFueXRoaW5nIHRvIHRoZSByZWYgKGl0IGlzIGxpa2UgdGFraW5nIGEgImxlYXNlIiBvbgordGhlIHJlZiB3aXRob3V0IGV4cGxpY2l0bHkgbG9ja2luZyBpdCwgYW5kIHlvdSB1cGRhdGUgdGhlIHJlZiB3aGlsZQorbWFraW5nIHN1cmUgdGhhdCB5b3VyIGVhcmxpZXIgImxlYXNlIiBpcyBzdGlsbCB2YWxpZCkuCisrCitgLS1mb3JjZS13aXRoLWxlYXNlYCBhbG9uZSwgd2l0aG91dCBzcGVjaWZ5aW5nIHRoZSBkZXRhaWxzLCB3aWxsIHByb3RlY3QKK2FsbCByZW1vdGUgcmVmcyB0aGF0IGFyZSBnb2luZyB0byBiZSB1cGRhdGVkIGJ5IHJlcXVpcmluZyB0aGVpcgorY3VycmVudCB2YWx1ZSB0byBiZSB0aGUgc2FtZSBhcyB0aGUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCB3ZSBoYXZlCitmb3IgdGhlbSwgdW5sZXNzIHNwZWNpZmllZCB3aXRoIGEgYC0tZm9yY2Utd2l0aC1sZWFzZT08cmVmbmFtZT46PGV4cGVjdD5gCitvcHRpb24gdGhhdCBleHBsaWNpdGx5IHN0YXRlcyB3aGF0IHRoZSBleHBlY3RlZCB2YWx1ZSBpcy4KKysKK2AtLWZvcmNlLXdpdGgtbGVhc2U9PHJlZm5hbWU+YCwgd2l0aG91dCBzcGVjaWZ5aW5nIHRoZSBleHBlY3RlZCB2YWx1ZSwgd2lsbAorcHJvdGVjdCB0aGUgbmFtZWQgcmVmIChhbG9uZSksIGlmIGl0IGlzIGdvaW5nIHRvIGJlIHVwZGF0ZWQsIGJ5CityZXF1aXJpbmcgaXRzIGN1cnJlbnQgdmFsdWUgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIHJlbW90ZS10cmFja2luZworYnJhbmNoIHdlIGhhdmUgZm9yIGl0LgorKworYC0tZm9yY2Utd2l0aC1sZWFzZT08cmVmbmFtZT46PGV4cGVjdD5gIHdpbGwgcHJvdGVjdCB0aGUgbmFtZWQgcmVmIChhbG9uZSksCitpZiBpdCBpcyBnb2luZyB0byBiZSB1cGRhdGVkLCBieSByZXF1aXJpbmcgaXRzIGN1cnJlbnQgdmFsdWUgdG8gYmUKK3RoZSBzYW1lIGFzIHRoZSBzcGVjaWZpZWQgdmFsdWUgPGV4cGVjdD4gKHdoaWNoIGlzIGFsbG93ZWQgdG8gYmUKK2RpZmZlcmVudCBmcm9tIHRoZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIHdlIGhhdmUgZm9yIHRoZSByZWZuYW1lLAorb3Igd2UgZG8gbm90IGV2ZW4gaGF2ZSB0byBoYXZlIHN1Y2ggYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIHdoZW4KK3RoaXMgZm9ybSBpcyB1c2VkKS4KKysKK05vdGUgdGhhdCBhbGwgZm9ybXMgb3RoZXIgdGhhbiBgLS1mb3JjZS13aXRoLWxlYXNlPTxyZWZuYW1lPjo8ZXhwZWN0PmAKK3RoYXQgc3BlY2lmaWVzIHRoZSBleHBlY3RlZCBjdXJyZW50IHZhbHVlIG9mIHRoZSByZWYgZXhwbGljaXRseSBhcmUKK3N0aWxsIGV4cGVyaW1lbnRhbCBhbmQgdGhlaXIgc2VtYW50aWNzIG1heSBjaGFuZ2UgYXMgd2UgZ2FpbiBleHBlcmllbmNlCit3aXRoIHRoaXMgZmVhdHVyZS4KKysKKyItLW5vLWZvcmNlLXdpdGgtbGVhc2UiIHdpbGwgY2FuY2VsIGFsbCB0aGUgcHJldmlvdXMgLS1mb3JjZS13aXRoLWxlYXNlIG9uIHRoZQorY29tbWFuZCBsaW5lLgorCiAtZjo6CiAtLWZvcmNlOjoKIAlVc3VhbGx5LCB0aGUgY29tbWFuZCByZWZ1c2VzIHRvIHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBpcwogCW5vdCBhbiBhbmNlc3RvciBvZiB0aGUgbG9jYWwgcmVmIHVzZWQgdG8gb3ZlcndyaXRlIGl0LgotCVRoaXMgZmxhZyBkaXNhYmxlcyB0aGUgY2hlY2suICBUaGlzIGNhbiBjYXVzZSB0aGUKLQlyZW1vdGUgcmVwb3NpdG9yeSB0byBsb3NlIGNvbW1pdHM7IHVzZSBpdCB3aXRoIGNhcmUuCi0JTm90ZSB0aGF0IGAtLWZvcmNlYCBhcHBsaWVzIHRvIGFsbCB0aGUgcmVmcyB0aGF0IGFyZSBwdXNoZWQsCi0JaGVuY2UgdXNpbmcgaXQgd2l0aCBgcHVzaC5kZWZhdWx0YCBzZXQgdG8gYG1hdGNoaW5nYCBvciB3aXRoCi0JbXVsdGlwbGUgcHVzaCBkZXN0aW5hdGlvbnMgY29uZmlndXJlZCB3aXRoIGByZW1vdGUuKi5wdXNoYAotCW1heSBvdmVyd3JpdGUgcmVmcyBvdGhlciB0aGFuIHRoZSBjdXJyZW50IGJyYW5jaCAoaW5jbHVkaW5nCi0JbG9jYWwgcmVmcyB0aGF0IGFyZSBzdHJpY3RseSBiZWhpbmQgdGhlaXIgcmVtb3RlIGNvdW50ZXJwYXJ0KS4KLQlUbyBmb3JjZSBhIHB1c2ggdG8gb25seSBvbmUgYnJhbmNoLCB1c2UgYSBgK2AgaW4gZnJvbnQgb2YgdGhlCi0JcmVmc3BlYyB0byBwdXNoCShlLmcgYGdpdCBwdXNoIG9yaWdpbiArbWFzdGVyYCB0byBmb3JjZSBhIHB1c2gKLQl0byB0aGUgYG1hc3RlcmAJYnJhbmNoKS4gU2VlIHRoZSBgPHJlZnNwZWM+Li4uYCBzZWN0aW9uIGFib3ZlCi0JZm9yIGRldGFpbHMuCisJQWxzbywgd2hlbiBgLS1mb3JjZS13aXRoLWxlYXNlYCBvcHRpb24gaXMgdXNlZCwgdGhlIGNvbW1hbmQgcmVmdXNlcworCXRvIHVwZGF0ZSBhIHJlbW90ZSByZWYgd2hvc2UgY3VycmVudCB2YWx1ZSBkb2VzIG5vdCBtYXRjaAorCXdoYXQgaXMgZXhwZWN0ZWQuCisrCitUaGlzIGZsYWcgZGlzYWJsZXMgdGhlc2UgY2hlY2tzLCBhbmQgY2FuIGNhdXNlIHRoZSByZW1vdGUgcmVwb3NpdG9yeQordG8gbG9zZSBjb21taXRzOyB1c2UgaXQgd2l0aCBjYXJlLgorKworTm90ZSB0aGF0IGAtLWZvcmNlYCBhcHBsaWVzIHRvIGFsbCB0aGUgcmVmcyB0aGF0IGFyZSBwdXNoZWQsIGhlbmNlCit1c2luZyBpdCB3aXRoIGBwdXNoLmRlZmF1bHRgIHNldCB0byBgbWF0Y2hpbmdgIG9yIHdpdGggbXVsdGlwbGUgcHVzaAorZGVzdGluYXRpb25zIGNvbmZpZ3VyZWQgd2l0aCBgcmVtb3RlLioucHVzaGAgbWF5IG92ZXJ3cml0ZSByZWZzCitvdGhlciB0aGFuIHRoZSBjdXJyZW50IGJyYW5jaCAoaW5jbHVkaW5nIGxvY2FsIHJlZnMgdGhhdCBhcmUKK3N0cmljdGx5IGJlaGluZCB0aGVpciByZW1vdGUgY291bnRlcnBhcnQpLiAgVG8gZm9yY2UgYSBwdXNoIHRvIG9ubHkKK29uZSBicmFuY2gsIHVzZSBhIGArYCBpbiBmcm9udCBvZiB0aGUgcmVmc3BlYyB0byBwdXNoIChlLmcgYGdpdCBwdXNoCitvcmlnaW4gK21hc3RlcmAgdG8gZm9yY2UgYSBwdXNoIHRvIHRoZSBgbWFzdGVyYCBicmFuY2gpLiBTZWUgdGhlCitgPHJlZnNwZWM+Li4uYCBzZWN0aW9uIGFib3ZlIGZvciBkZXRhaWxzLgogCiAtLXJlcG89PHJlcG9zaXRvcnk+OjoKIAlUaGlzIG9wdGlvbiBpcyBvbmx5IHJlbGV2YW50IGlmIG5vIDxyZXBvc2l0b3J5PiBhcmd1bWVudCBpcwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmViYXNlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlYmFzZS50eHQKaW5kZXggNmIyZTFjOC4uOTRlMDdmZCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmViYXNlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZWJhc2UudHh0CkBAIC0zMjIsNyArMzIyLDcgQEAKIHJldmVydGluZyBhIHRvcGljIGJyYW5jaCBtZXJnZSwgYXMgdGhpcyBvcHRpb24gcmVjcmVhdGVzIHRoZSB0b3BpYyBicmFuY2ggd2l0aAogZnJlc2ggY29tbWl0cyBzbyBpdCBjYW4gYmUgcmVtZXJnZWQgc3VjY2Vzc2Z1bGx5IHdpdGhvdXQgbmVlZGluZyB0byAicmV2ZXJ0CiB0aGUgcmV2ZXJzaW9uIiAoc2VlIHRoZQotbGluazpob3d0by9yZXZlcnQtYS1mYXVsdHktbWVyZ2UudHh0W3JldmVydC1hLWZhdWx0eS1tZXJnZSBIb3ctVG9dIGZvciBkZXRhaWxzKS4KK2xpbms6aG93dG8vcmV2ZXJ0LWEtZmF1bHR5LW1lcmdlLmh0bWxbcmV2ZXJ0LWEtZmF1bHR5LW1lcmdlIEhvdy1Ub10gZm9yIGRldGFpbHMpLgogCiAtLWlnbm9yZS13aGl0ZXNwYWNlOjoKIC0td2hpdGVzcGFjZT08b3B0aW9uPjo6CkBAIC00MTYsNyArNDE2LDcgQEAKIFlvdSBtYXkgZmluZCB0aGlzIGhlbHBmdWwgYWZ0ZXIgcmV2ZXJ0aW5nIGEgdG9waWMgYnJhbmNoIG1lcmdlLCBhcyB0aGlzIG9wdGlvbgogcmVjcmVhdGVzIHRoZSB0b3BpYyBicmFuY2ggd2l0aCBmcmVzaCBjb21taXRzIHNvIGl0IGNhbiBiZSByZW1lcmdlZAogc3VjY2Vzc2Z1bGx5IHdpdGhvdXQgbmVlZGluZyB0byAicmV2ZXJ0IHRoZSByZXZlcnNpb24iIChzZWUgdGhlCi1saW5rOmhvd3RvL3JldmVydC1hLWZhdWx0eS1tZXJnZS50eHRbcmV2ZXJ0LWEtZmF1bHR5LW1lcmdlIEhvdy1Ub10gZm9yIGRldGFpbHMpLgorbGluazpob3d0by9yZXZlcnQtYS1mYXVsdHktbWVyZ2UuaHRtbFtyZXZlcnQtYS1mYXVsdHktbWVyZ2UgSG93LVRvXSBmb3IgZGV0YWlscykuCiAKIGluY2x1ZGU6Om1lcmdlLXN0cmF0ZWdpZXMudHh0W10KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlbW90ZS50eHQKaW5kZXggOWMzZTNiZi4uMjUwN2M4YiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZW1vdGUudHh0CkBAIC0xMyw3ICsxMyw3IEBACiAnZ2l0IHJlbW90ZSBhZGQnIFstdCA8YnJhbmNoPl0gWy1tIDxtYXN0ZXI+XSBbLWZdIFstLVtuby1ddGFnc10gWy0tbWlycm9yPTxmZXRjaHxwdXNoPl0gPG5hbWU+IDx1cmw+CiAnZ2l0IHJlbW90ZSByZW5hbWUnIDxvbGQ+IDxuZXc+CiAnZ2l0IHJlbW90ZSByZW1vdmUnIDxuYW1lPgotJ2dpdCByZW1vdGUgc2V0LWhlYWQnIDxuYW1lPiAoLWEgfCAtZCB8IDxicmFuY2g+KQorJ2dpdCByZW1vdGUgc2V0LWhlYWQnIDxuYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPGJyYW5jaD4pCiAnZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMnIFstLWFkZF0gPG5hbWU+IDxicmFuY2g+Li4uCiAnZ2l0IHJlbW90ZSBzZXQtdXJsJyBbLS1wdXNoXSA8bmFtZT4gPG5ld3VybD4gWzxvbGR1cmw+XQogJ2dpdCByZW1vdGUgc2V0LXVybCAtLWFkZCcgWy0tcHVzaF0gPG5hbWU+IDxuZXd1cmw+CkBAIC0xMDEsOSArMTAxLDkgQEAKIGBtYXN0ZXJgLCB0aGVuIGBvcmlnaW5gIG1heSBiZSBzcGVjaWZpZWQgd2hlcmV2ZXIgeW91IHdvdWxkIG5vcm1hbGx5CiBzcGVjaWZ5IGBvcmlnaW4vbWFzdGVyYC4KICsKLVdpdGggYC1kYCwgdGhlIHN5bWJvbGljIHJlZiBgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEYCBpcyBkZWxldGVkLgorV2l0aCBgLWRgIG9yIGAtLWRlbGV0ZWAsIHRoZSBzeW1ib2xpYyByZWYgYHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRGAgaXMgZGVsZXRlZC4KICsKLVdpdGggYC1hYCwgdGhlIHJlbW90ZSBpcyBxdWVyaWVkIHRvIGRldGVybWluZSBpdHMgYEhFQURgLCB0aGVuIHRoZQorV2l0aCBgLWFgIG9yIGAtLWF1dG9gLCB0aGUgcmVtb3RlIGlzIHF1ZXJpZWQgdG8gZGV0ZXJtaW5lIGl0cyBgSEVBRGAsIHRoZW4gdGhlCiBzeW1ib2xpYy1yZWYgYHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRGAgaXMgc2V0IHRvIHRoZSBzYW1lIGJyYW5jaC4gZS5nLiwgaWYgdGhlIHJlbW90ZQogYEhFQURgIGlzIHBvaW50ZWQgYXQgYG5leHRgLCAiYGdpdCByZW1vdGUgc2V0LWhlYWQgb3JpZ2luIC1hYCIgd2lsbCBzZXQKIHRoZSBzeW1ib2xpYy1yZWYgYHJlZnMvcmVtb3Rlcy9vcmlnaW4vSEVBRGAgdG8gYHJlZnMvcmVtb3Rlcy9vcmlnaW4vbmV4dGAuIFRoaXMgd2lsbApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmVwYWNrLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlcGFjay50eHQKaW5kZXggNGMxYWZmNi4uNTA5Y2Y3MyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmVwYWNrLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXBhY2sudHh0CkBAIC0xNCw3ICsxNCw3IEBACiBERVNDUklQVElPTgogLS0tLS0tLS0tLS0KIAotVGhpcyBzY3JpcHQgaXMgdXNlZCB0byBjb21iaW5lIGFsbCBvYmplY3RzIHRoYXQgZG8gbm90IGN1cnJlbnRseQorVGhpcyBjb21tYW5kIGlzIHVzZWQgdG8gY29tYmluZSBhbGwgb2JqZWN0cyB0aGF0IGRvIG5vdCBjdXJyZW50bHkKIHJlc2lkZSBpbiBhICJwYWNrIiwgaW50byBhIHBhY2suICBJdCBjYW4gYWxzbyBiZSB1c2VkIHRvIHJlLW9yZ2FuaXplCiBleGlzdGluZyBwYWNrcyBpbnRvIGEgc2luZ2xlLCBtb3JlIGVmZmljaWVudCBwYWNrLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXBsYWNlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlcGxhY2UudHh0CmluZGV4IGUwYjQwNTcuLmYzNzNhYjQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXJlcGxhY2UudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJlcGxhY2UudHh0CkBAIC0yMCw4ICsyMCwxNCBAQAogcmVwbGFjZWQuIFRoZSBjb250ZW50IG9mIHRoZSAncmVwbGFjZScgcmVmZXJlbmNlIGlzIHRoZSBTSEEtMSBvZiB0aGUKIHJlcGxhY2VtZW50IG9iamVjdC4KIAorVGhlIHJlcGxhY2VkIG9iamVjdCBhbmQgdGhlIHJlcGxhY2VtZW50IG9iamVjdCBtdXN0IGJlIG9mIHRoZSBzYW1lIHR5cGUuCitUaGlzIHJlc3RyaWN0aW9uIGNhbiBiZSBieXBhc3NlZCB1c2luZyBgLWZgLgorCiBVbmxlc3MgYC1mYCBpcyBnaXZlbiwgdGhlICdyZXBsYWNlJyByZWZlcmVuY2UgbXVzdCBub3QgeWV0IGV4aXN0LgogCitUaGVyZSBpcyBubyBvdGhlciByZXN0cmljdGlvbiBvbiB0aGUgcmVwbGFjZWQgYW5kIHJlcGxhY2VtZW50IG9iamVjdHMuCitNZXJnZSBjb21taXRzIGNhbiBiZSByZXBsYWNlZCBieSBub24tbWVyZ2UgY29tbWl0cyBhbmQgdmljZSB2ZXJzYS4KKwogUmVwbGFjZW1lbnQgcmVmZXJlbmNlcyB3aWxsIGJlIHVzZWQgYnkgZGVmYXVsdCBieSBhbGwgR2l0IGNvbW1hbmRzCiBleGNlcHQgdGhvc2UgZG9pbmcgcmVhY2hhYmlsaXR5IHRyYXZlcnNhbCAocHJ1bmUsIHBhY2sgdHJhbnNmZXIgYW5kCiBmc2NrKS4KQEAgLTQ5LDE4ICs1NSwzNCBAQAogT1BUSU9OUwogLS0tLS0tLQogLWY6OgorLS1mb3JjZTo6CiAJSWYgYW4gZXhpc3RpbmcgcmVwbGFjZSByZWYgZm9yIHRoZSBzYW1lIG9iamVjdCBleGlzdHMsIGl0IHdpbGwKIAliZSBvdmVyd3JpdHRlbiAoaW5zdGVhZCBvZiBmYWlsaW5nKS4KIAogLWQ6OgorLS1kZWxldGU6OgogCURlbGV0ZSBleGlzdGluZyByZXBsYWNlIHJlZnMgZm9yIHRoZSBnaXZlbiBvYmplY3RzLgogCiAtbCA8cGF0dGVybj46OgorLS1saXN0IDxwYXR0ZXJuPjo6CiAJTGlzdCByZXBsYWNlIHJlZnMgZm9yIG9iamVjdHMgdGhhdCBtYXRjaCB0aGUgZ2l2ZW4gcGF0dGVybiAob3IKIAlhbGwgaWYgbm8gcGF0dGVybiBpcyBnaXZlbikuCiAJVHlwaW5nICJnaXQgcmVwbGFjZSIgd2l0aG91dCBhcmd1bWVudHMsIGFsc28gbGlzdHMgYWxsIHJlcGxhY2UKIAlyZWZzLgogCitDUkVBVElORyBSRVBMQUNFTUVOVCBPQkpFQ1RTCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK2xpbmtnaXQ6Z2l0LWZpbHRlci1icmFuY2hbMV0sIGxpbmtnaXQ6Z2l0LWhhc2gtb2JqZWN0WzFdIGFuZAorbGlua2dpdDpnaXQtcmViYXNlWzFdLCBhbW9uZyBvdGhlciBnaXQgY29tbWFuZHMsIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZQorcmVwbGFjZW1lbnQgb2JqZWN0cyBmcm9tIGV4aXN0aW5nIG9iamVjdHMuCisKK0lmIHlvdSB3YW50IHRvIHJlcGxhY2UgbWFueSBibG9icywgdHJlZXMgb3IgY29tbWl0cyB0aGF0IGFyZSBwYXJ0IG9mIGEKK3N0cmluZyBvZiBjb21taXRzLCB5b3UgbWF5IGp1c3Qgd2FudCB0byBjcmVhdGUgYSByZXBsYWNlbWVudCBzdHJpbmcgb2YKK2NvbW1pdHMgYW5kIHRoZW4gb25seSByZXBsYWNlIHRoZSBjb21taXQgYXQgdGhlIHRpcCBvZiB0aGUgdGFyZ2V0CitzdHJpbmcgb2YgY29tbWl0cyB3aXRoIHRoZSBjb21taXQgYXQgdGhlIHRpcCBvZiB0aGUgcmVwbGFjZW1lbnQgc3RyaW5nCitvZiBjb21taXRzLgorCiBCVUdTCiAtLS0tCiBDb21wYXJpbmcgYmxvYnMgb3IgdHJlZXMgdGhhdCBoYXZlIGJlZW4gcmVwbGFjZWQgd2l0aCB0aG9zZSB0aGF0CkBAIC02OSwxMiArOTEsMTMgQEAKIGNvbW1pdCBpbnN0ZWFkIG9mIHRoZSByZXBsYWNlZCBjb21taXQuCiAKIFRoZXJlIG1heSBiZSBvdGhlciBwcm9ibGVtcyB3aGVuIHVzaW5nICdnaXQgcmV2LWxpc3QnIHJlbGF0ZWQgdG8KLXBlbmRpbmcgb2JqZWN0cy4gQW5kIG9mIGNvdXJzZSB0aGluZ3MgbWF5IGJyZWFrIGlmIGFuIG9iamVjdCBvZiBvbmUKLXR5cGUgaXMgcmVwbGFjZWQgYnkgYW4gb2JqZWN0IG9mIGFub3RoZXIgdHlwZSAoZm9yIGV4YW1wbGUgYSBibG9iCi1yZXBsYWNlZCBieSBhIGNvbW1pdCkuCitwZW5kaW5nIG9iamVjdHMuCiAKIFNFRSBBTFNPCiAtLS0tLS0tLQorbGlua2dpdDpnaXQtaGFzaC1vYmplY3RbMV0KK2xpbmtnaXQ6Z2l0LWZpbHRlci1icmFuY2hbMV0KK2xpbmtnaXQ6Z2l0LXJlYmFzZVsxXQogbGlua2dpdDpnaXQtdGFnWzFdCiBsaW5rZ2l0OmdpdC1icmFuY2hbMV0KIGxpbmtnaXQ6Z2l0WzFdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXYtcGFyc2UudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcmV2LXBhcnNlLnR4dAppbmRleCAyYjEyNmMwLi5kMDY4YTY1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXYtcGFyc2UudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJldi1wYXJzZS50eHQKQEAgLTI0LDkgKzI0LDIzIEBACiAKIE9QVElPTlMKIC0tLS0tLS0KKworT3BlcmF0aW9uIE1vZGVzCit+fn5+fn5+fn5+fn5+fn4KKworRWFjaCBvZiB0aGVzZSBvcHRpb25zIG11c3QgYXBwZWFyIGZpcnN0IG9uIHRoZSBjb21tYW5kIGxpbmUuCisKIC0tcGFyc2VvcHQ6OgogCVVzZSAnZ2l0IHJldi1wYXJzZScgaW4gb3B0aW9uIHBhcnNpbmcgbW9kZSAoc2VlIFBBUlNFT1BUIHNlY3Rpb24gYmVsb3cpLgogCistLXNxLXF1b3RlOjoKKwlVc2UgJ2dpdCByZXYtcGFyc2UnIGluIHNoZWxsIHF1b3RpbmcgbW9kZSAoc2VlIFNRLVFVT1RFCisJc2VjdGlvbiBiZWxvdykuIEluIGNvbnRyYXN0IHRvIHRoZSBgLS1zcWAgb3B0aW9uIGJlbG93LCB0aGlzCisJbW9kZSBkb2VzIG9ubHkgcXVvdGluZy4gTm90aGluZyBlbHNlIGlzIGRvbmUgdG8gY29tbWFuZCBpbnB1dC4KKworT3B0aW9ucyBmb3IgLS1wYXJzZW9wdAorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCiAtLWtlZXAtZGFzaGRhc2g6OgogCU9ubHkgbWVhbmluZ2Z1bCBpbiBgLS1wYXJzZW9wdGAgbW9kZS4gVGVsbHMgdGhlIG9wdGlvbiBwYXJzZXIgdG8gZWNobwogCW91dCB0aGUgZmlyc3QgYC0tYCBtZXQgaW5zdGVhZCBvZiBza2lwcGluZyBpdC4KQEAgLTM2LDEwICs1MCw4IEBACiAJdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQuICBUaGlzIGNhbiBiZSB1c2VkIHRvIHBhcnNlIHN1Yi1jb21tYW5kcwogCXRoYXQgdGFrZSBvcHRpb25zIHRoZW1zZWx2ZXMuCiAKLS0tc3EtcXVvdGU6OgotCVVzZSAnZ2l0IHJldi1wYXJzZScgaW4gc2hlbGwgcXVvdGluZyBtb2RlIChzZWUgU1EtUVVPVEUKLQlzZWN0aW9uIGJlbG93KS4gSW4gY29udHJhc3QgdG8gdGhlIGAtLXNxYCBvcHRpb24gYmVsb3csIHRoaXMKLQltb2RlIGRvZXMgb25seSBxdW90aW5nLiBOb3RoaW5nIGVsc2UgaXMgZG9uZSB0byBjb21tYW5kIGlucHV0LgorT3B0aW9ucyBmb3IgRmlsdGVyaW5nCit+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAogLS1yZXZzLW9ubHk6OgogCURvIG5vdCBvdXRwdXQgZmxhZ3MgYW5kIHBhcmFtZXRlcnMgbm90IG1lYW50IGZvcgpAQCAtNTUsNiArNjcsOSBAQAogLS1uby1mbGFnczo6CiAJRG8gbm90IG91dHB1dCBmbGFnIHBhcmFtZXRlcnMuCiAKK09wdGlvbnMgZm9yIE91dHB1dAorfn5+fn5+fn5+fn5+fn5+fn5+CisKIC0tZGVmYXVsdCA8YXJnPjo6CiAJSWYgdGhlcmUgaXMgbm8gcGFyYW1ldGVyIGdpdmVuIGJ5IHRoZSB1c2VyLCB1c2UgYDxhcmc+YAogCWluc3RlYWQuCkBAIC0xMTAsNiArMTI1LDE3IEBACiAJc3RyaXAgJ3tjYXJldH0nIHByZWZpeCBmcm9tIHRoZSBvYmplY3QgbmFtZXMgdGhhdCBhbHJlYWR5IGhhdmUKIAlvbmUuCiAKKy0tYWJicmV2LXJlZls9KHN0cmljdHxsb29zZSldOjoKKwlBIG5vbi1hbWJpZ3VvdXMgc2hvcnQgbmFtZSBvZiB0aGUgb2JqZWN0cyBuYW1lLgorCVRoZSBvcHRpb24gY29yZS53YXJuQW1iaWd1b3VzUmVmcyBpcyB1c2VkIHRvIHNlbGVjdCB0aGUgc3RyaWN0CisJYWJicmV2aWF0aW9uIG1vZGUuCisKKy0tc2hvcnQ6OgorLS1zaG9ydD1udW1iZXI6OgorCUluc3RlYWQgb2Ygb3V0cHV0dGluZyB0aGUgZnVsbCBTSEEtMSB2YWx1ZXMgb2Ygb2JqZWN0IG5hbWVzIHRyeSB0bworCWFiYnJldmlhdGUgdGhlbSB0byBhIHNob3J0ZXIgdW5pcXVlIG5hbWUuIFdoZW4gbm8gbGVuZ3RoIGlzIHNwZWNpZmllZAorCTcgaXMgdXNlZC4gVGhlIG1pbmltdW0gbGVuZ3RoIGlzIDQuCisKIC0tc3ltYm9saWM6OgogCVVzdWFsbHkgdGhlIG9iamVjdCBuYW1lcyBhcmUgb3V0cHV0IGluIFNIQS0xIGZvcm0gKHdpdGgKIAlwb3NzaWJsZSAne2NhcmV0fScgcHJlZml4KTsgdGhpcyBvcHRpb24gbWFrZXMgdGhlbSBvdXRwdXQgaW4gYQpAQCAtMTIzLDE2ICsxNDksOCBAQAogCXVuZm9ydHVuYXRlbHkgbmFtZWQgdGFnICJtYXN0ZXIiKSwgYW5kIHNob3cgdGhlbSBhcyBmdWxsCiAJcmVmbmFtZXMgKGUuZy4gInJlZnMvaGVhZHMvbWFzdGVyIikuCiAKLS0tYWJicmV2LXJlZls9KHN0cmljdHxsb29zZSldOjoKLQlBIG5vbi1hbWJpZ3VvdXMgc2hvcnQgbmFtZSBvZiB0aGUgb2JqZWN0cyBuYW1lLgotCVRoZSBvcHRpb24gY29yZS53YXJuQW1iaWd1b3VzUmVmcyBpcyB1c2VkIHRvIHNlbGVjdCB0aGUgc3RyaWN0Ci0JYWJicmV2aWF0aW9uIG1vZGUuCi0KLS0tZGlzYW1iaWd1YXRlPTxwcmVmaXg+OjoKLQlTaG93IGV2ZXJ5IG9iamVjdCB3aG9zZSBuYW1lIGJlZ2lucyB3aXRoIHRoZSBnaXZlbiBwcmVmaXguCi0JVGhlIDxwcmVmaXg+IG11c3QgYmUgYXQgbGVhc3QgNCBoZXhhZGVjaW1hbCBkaWdpdHMgbG9uZyB0bwotCWF2b2lkIGxpc3RpbmcgZWFjaCBhbmQgZXZlcnkgb2JqZWN0IGluIHRoZSByZXBvc2l0b3J5IGJ5Ci0JbWlzdGFrZS4KK09wdGlvbnMgZm9yIE9iamVjdHMKK35+fn5+fn5+fn5+fn5+fn5+fn4KIAogLS1hbGw6OgogCVNob3cgYWxsIHJlZnMgZm91bmQgaW4gYHJlZnMvYC4KQEAgLTE1NSwxOCArMTczLDIwIEBACiAJY2hhcmFjdGVyIChgP2AsIGAqYCwgb3IgYFtgKSwgaXQgaXMgdHVybmVkIGludG8gYSBwcmVmaXgKIAltYXRjaCBieSBhcHBlbmRpbmcgYC8qYC4KIAotLS1zaG93LXRvcGxldmVsOjoKLQlTaG93IHRoZSBhYnNvbHV0ZSBwYXRoIG9mIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5LgorLS1kaXNhbWJpZ3VhdGU9PHByZWZpeD46OgorCVNob3cgZXZlcnkgb2JqZWN0IHdob3NlIG5hbWUgYmVnaW5zIHdpdGggdGhlIGdpdmVuIHByZWZpeC4KKwlUaGUgPHByZWZpeD4gbXVzdCBiZSBhdCBsZWFzdCA0IGhleGFkZWNpbWFsIGRpZ2l0cyBsb25nIHRvCisJYXZvaWQgbGlzdGluZyBlYWNoIGFuZCBldmVyeSBvYmplY3QgaW4gdGhlIHJlcG9zaXRvcnkgYnkKKwltaXN0YWtlLgogCi0tLXNob3ctcHJlZml4OjoKLQlXaGVuIHRoZSBjb21tYW5kIGlzIGludm9rZWQgZnJvbSBhIHN1YmRpcmVjdG9yeSwgc2hvdyB0aGUKLQlwYXRoIG9mIHRoZSBjdXJyZW50IGRpcmVjdG9yeSByZWxhdGl2ZSB0byB0aGUgdG9wLWxldmVsCi0JZGlyZWN0b3J5LgorT3B0aW9ucyBmb3IgRmlsZXMKK35+fn5+fn5+fn5+fn5+fn5+CiAKLS0tc2hvdy1jZHVwOjoKLQlXaGVuIHRoZSBjb21tYW5kIGlzIGludm9rZWQgZnJvbSBhIHN1YmRpcmVjdG9yeSwgc2hvdyB0aGUKLQlwYXRoIG9mIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5IHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50Ci0JZGlyZWN0b3J5ICh0eXBpY2FsbHkgYSBzZXF1ZW5jZSBvZiAiLi4vIiwgb3IgYW4gZW1wdHkgc3RyaW5nKS4KKy0tbG9jYWwtZW52LXZhcnM6OgorCUxpc3QgdGhlIEdJVF8qIGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0IGFyZSBsb2NhbCB0byB0aGUKKwlyZXBvc2l0b3J5IChlLmcuIEdJVF9ESVIgb3IgR0lUX1dPUktfVFJFRSwgYnV0IG5vdCBHSVRfRURJVE9SKS4KKwlPbmx5IHRoZSBuYW1lcyBvZiB0aGUgdmFyaWFibGVzIGFyZSBsaXN0ZWQsIG5vdCB0aGVpciB2YWx1ZSwKKwlldmVuIGlmIHRoZXkgYXJlIHNldC4KIAogLS1naXQtZGlyOjoKIAlTaG93IGAkR0lUX0RJUmAgaWYgZGVmaW5lZC4gT3RoZXJ3aXNlIHNob3cgdGhlIHBhdGggdG8KQEAgLTE4OCwxNyArMjA4LDI3IEBACiAtLWlzLWJhcmUtcmVwb3NpdG9yeTo6CiAJV2hlbiB0aGUgcmVwb3NpdG9yeSBpcyBiYXJlIHByaW50ICJ0cnVlIiwgb3RoZXJ3aXNlICJmYWxzZSIuCiAKLS0tbG9jYWwtZW52LXZhcnM6OgotCUxpc3QgdGhlIEdJVF8qIGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0IGFyZSBsb2NhbCB0byB0aGUKLQlyZXBvc2l0b3J5IChlLmcuIEdJVF9ESVIgb3IgR0lUX1dPUktfVFJFRSwgYnV0IG5vdCBHSVRfRURJVE9SKS4KLQlPbmx5IHRoZSBuYW1lcyBvZiB0aGUgdmFyaWFibGVzIGFyZSBsaXN0ZWQsIG5vdCB0aGVpciB2YWx1ZSwKLQlldmVuIGlmIHRoZXkgYXJlIHNldC4KKy0tcmVzb2x2ZS1naXQtZGlyIDxwYXRoPjo6CisJQ2hlY2sgaWYgPHBhdGg+IGlzIGEgdmFsaWQgcmVwb3NpdG9yeSBvciBhIGdpdGZpbGUgdGhhdAorCXBvaW50cyBhdCBhIHZhbGlkIHJlcG9zaXRvcnksIGFuZCBwcmludCB0aGUgbG9jYXRpb24gb2YgdGhlCisJcmVwb3NpdG9yeS4gIElmIDxwYXRoPiBpcyBhIGdpdGZpbGUgdGhlbiB0aGUgcmVzb2x2ZWQgcGF0aAorCXRvIHRoZSByZWFsIHJlcG9zaXRvcnkgaXMgcHJpbnRlZC4KIAotLS1zaG9ydDo6Ci0tLXNob3J0PW51bWJlcjo6Ci0JSW5zdGVhZCBvZiBvdXRwdXR0aW5nIHRoZSBmdWxsIFNIQS0xIHZhbHVlcyBvZiBvYmplY3QgbmFtZXMgdHJ5IHRvCi0JYWJicmV2aWF0ZSB0aGVtIHRvIGEgc2hvcnRlciB1bmlxdWUgbmFtZS4gV2hlbiBubyBsZW5ndGggaXMgc3BlY2lmaWVkCi0JNyBpcyB1c2VkLiBUaGUgbWluaW11bSBsZW5ndGggaXMgNC4KKy0tc2hvdy1jZHVwOjoKKwlXaGVuIHRoZSBjb21tYW5kIGlzIGludm9rZWQgZnJvbSBhIHN1YmRpcmVjdG9yeSwgc2hvdyB0aGUKKwlwYXRoIG9mIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5IHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50CisJZGlyZWN0b3J5ICh0eXBpY2FsbHkgYSBzZXF1ZW5jZSBvZiAiLi4vIiwgb3IgYW4gZW1wdHkgc3RyaW5nKS4KKworLS1zaG93LXByZWZpeDo6CisJV2hlbiB0aGUgY29tbWFuZCBpcyBpbnZva2VkIGZyb20gYSBzdWJkaXJlY3RvcnksIHNob3cgdGhlCisJcGF0aCBvZiB0aGUgY3VycmVudCBkaXJlY3RvcnkgcmVsYXRpdmUgdG8gdGhlIHRvcC1sZXZlbAorCWRpcmVjdG9yeS4KKworLS1zaG93LXRvcGxldmVsOjoKKwlTaG93IHRoZSBhYnNvbHV0ZSBwYXRoIG9mIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5LgorCitPdGhlciBPcHRpb25zCit+fn5+fn5+fn5+fn5+CiAKIC0tc2luY2U9ZGF0ZXN0cmluZzo6CiAtLWFmdGVyPWRhdGVzdHJpbmc6OgpAQCAtMjEzLDEyICsyNDMsNiBAQAogPGFyZ3M+Li4uOjoKIAlGbGFncyBhbmQgcGFyYW1ldGVycyB0byBiZSBwYXJzZWQuCiAKLS0tcmVzb2x2ZS1naXQtZGlyIDxwYXRoPjo6Ci0JQ2hlY2sgaWYgPHBhdGg+IGlzIGEgdmFsaWQgcmVwb3NpdG9yeSBvciBhIGdpdGZpbGUgdGhhdAotCXBvaW50cyBhdCBhIHZhbGlkIHJlcG9zaXRvcnksIGFuZCBwcmludCB0aGUgbG9jYXRpb24gb2YgdGhlCi0JcmVwb3NpdG9yeS4gIElmIDxwYXRoPiBpcyBhIGdpdGZpbGUgdGhlbiB0aGUgcmVzb2x2ZWQgcGF0aAotCXRvIHRoZSByZWFsIHJlcG9zaXRvcnkgaXMgcHJpbnRlZC4KLQogCiBpbmNsdWRlOjpyZXZpc2lvbnMudHh0W10KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmV2ZXJ0LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJldmVydC50eHQKaW5kZXggZjc5YzlkOC4uMmRlNjdhNSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmV2ZXJ0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXZlcnQudHh0CkBAIC01OSw3ICs1OSw3IEBACiBjaGFuZ2VzIGludHJvZHVjZWQgYnkgY29tbWl0cyB0aGF0IGFyZSBub3QgYW5jZXN0b3JzIG9mIHRoZSBwcmV2aW91c2x5CiByZXZlcnRlZCBtZXJnZS4gIFRoaXMgbWF5IG9yIG1heSBub3QgYmUgd2hhdCB5b3Ugd2FudC4KICsKLVNlZSB0aGUgbGluazpob3d0by9yZXZlcnQtYS1mYXVsdHktbWVyZ2UudHh0W3JldmVydC1hLWZhdWx0eS1tZXJnZSBIb3ctVG9dIGZvcgorU2VlIHRoZSBsaW5rOmhvd3RvL3JldmVydC1hLWZhdWx0eS1tZXJnZS5odG1sW3JldmVydC1hLWZhdWx0eS1tZXJnZSBIb3ctVG9dIGZvcgogbW9yZSBkZXRhaWxzLgogCiAtLW5vLWVkaXQ6OgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcm0udHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcm0udHh0CmluZGV4IDFkODc2YzIuLjlkNzMxYjQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXJtLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1ybS50eHQKQEAgLTEzNCwxNCArMTM0LDE2IEBACiBnaXQgZGlmZiAtLW5hbWUtb25seSAtLWRpZmYtZmlsdGVyPUQgLXogfCB4YXJncyAtMCBnaXQgcm0gLS1jYWNoZWQKIC0tLS0tLS0tLS0tLS0tLS0KIAotU3VibW9kdWxlcwotfn5+fn5+fn5+fgorU1VCTU9EVUxFUworLS0tLS0tLS0tLQogT25seSBzdWJtb2R1bGVzIHVzaW5nIGEgZ2l0ZmlsZSAod2hpY2ggbWVhbnMgdGhleSB3ZXJlIGNsb25lZAogd2l0aCBhIEdpdCB2ZXJzaW9uIDEuNy44IG9yIG5ld2VyKSB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0aGUgd29yawogdHJlZSwgYXMgdGhlaXIgcmVwb3NpdG9yeSBsaXZlcyBpbnNpZGUgdGhlIC5naXQgZGlyZWN0b3J5IG9mIHRoZQogc3VwZXJwcm9qZWN0LiBJZiBhIHN1Ym1vZHVsZSAob3Igb25lIG9mIHRob3NlIG5lc3RlZCBpbnNpZGUgaXQpCiBzdGlsbCB1c2VzIGEgLmdpdCBkaXJlY3RvcnksIGBnaXQgcm1gIHdpbGwgZmFpbCAtIG5vIG1hdHRlciBpZiBmb3JjZWQKLW9yIG5vdCAtIHRvIHByb3RlY3QgdGhlIHN1Ym1vZHVsZSdzIGhpc3RvcnkuCitvciBub3QgLSB0byBwcm90ZWN0IHRoZSBzdWJtb2R1bGUncyBoaXN0b3J5LiBJZiBpdCBleGlzdHMgdGhlCitzdWJtb2R1bGUuPG5hbWU+IHNlY3Rpb24gaW4gdGhlIGxpbmtnaXQ6Z2l0bW9kdWxlc1s1XSBmaWxlIHdpbGwgYWxzbworYmUgcmVtb3ZlZCBhbmQgdGhhdCBmaWxlIHdpbGwgYmUgc3RhZ2VkICh1bmxlc3MgLS1jYWNoZWQgb3IgLW4gYXJlIHVzZWQpLgogCiBBIHN1Ym1vZHVsZSBpcyBjb25zaWRlcmVkIHVwLXRvLWRhdGUgd2hlbiB0aGUgSEVBRCBpcyB0aGUgc2FtZSBhcwogcmVjb3JkZWQgaW4gdGhlIGluZGV4LCBubyB0cmFja2VkIGZpbGVzIGFyZSBtb2RpZmllZCBhbmQgbm8gdW50cmFja2VkCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1zaC1zZXR1cC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1zaC1zZXR1cC50eHQKaW5kZXggNWQ3MDlkMC4uNGY2N2M0YyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtc2gtc2V0dXAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXNoLXNldHVwLnR4dApAQCAtNDEsOSArNDEsMTEgQEAKIAlkaWUgd2l0aCB0aGUgdXNhZ2UgbWVzc2FnZS4KIAogc2V0X3JlZmxvZ19hY3Rpb246OgotCXNldCB0aGUgbWVzc2FnZSB0aGF0IHdpbGwgYmUgcmVjb3JkZWQgdG8gZGVzY3JpYmUgdGhlCi0JZW5kLXVzZXIgYWN0aW9uIGluIHRoZSByZWZsb2csIHdoZW4gdGhlIHNjcmlwdCB1cGRhdGVzIGEKLQlyZWYuCisJU2V0IEdJVF9SRUZMT0dfQUNUSU9OIGVudmlyb25tZW50IHRvIGEgZ2l2ZW4gc3RyaW5nICh0eXBpY2FsbHkKKwl0aGUgbmFtZSBvZiB0aGUgcHJvZ3JhbSkgdW5sZXNzIGl0IGlzIGFscmVhZHkgc2V0LiAgV2hlbmV2ZXIKKwl0aGUgc2NyaXB0IHJ1bnMgYSBgZ2l0YCBjb21tYW5kIHRoYXQgdXBkYXRlcyByZWZzLCBhIHJlZmxvZworCWVudHJ5IGlzIGNyZWF0ZWQgdXNpbmcgdGhlIHZhbHVlIG9mIHRoaXMgc3RyaW5nIHRvIGxlYXZlIHRoZQorCXJlY29yZCBvZiB3aGF0IGNvbW1hbmQgdXBkYXRlZCB0aGUgcmVmLgogCiBnaXRfZWRpdG9yOjoKIAlydW5zIGFuIGVkaXRvciBvZiB1c2VyJ3MgY2hvaWNlIChHSVRfRURJVE9SLCBjb3JlLmVkaXRvciwgVklTVUFMIG9yCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1zdGF0dXMudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtc3RhdHVzLnR4dAppbmRleCA5MDQ2ZGY5Li5hNGFjYWEwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1zdGF0dXMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXN0YXR1cy50eHQKQEAgLTIxMCw3ICsyMTAsMTMgQEAKIElmIGBzdGF0dXMuc3VibW9kdWxlc3VtbWFyeWAgaXMgc2V0IHRvIGEgbm9uIHplcm8gbnVtYmVyIG9yIHRydWUgKGlkZW50aWNhbAogdG8gLTEgb3IgYW4gdW5saW1pdGVkIG51bWJlciksIHRoZSBzdWJtb2R1bGUgc3VtbWFyeSB3aWxsIGJlIGVuYWJsZWQgZm9yCiB0aGUgbG9uZyBmb3JtYXQgYW5kIGEgc3VtbWFyeSBvZiBjb21taXRzIGZvciBtb2RpZmllZCBzdWJtb2R1bGVzIHdpbGwgYmUKLXNob3duIChzZWUgLS1zdW1tYXJ5LWxpbWl0IG9wdGlvbiBvZiBsaW5rZ2l0OmdpdC1zdWJtb2R1bGVbMV0pLgorc2hvd24gKHNlZSAtLXN1bW1hcnktbGltaXQgb3B0aW9uIG9mIGxpbmtnaXQ6Z2l0LXN1Ym1vZHVsZVsxXSkuIFBsZWFzZSBub3RlCit0aGF0IHRoZSBzdW1tYXJ5IG91dHB1dCBmcm9tIHRoZSBzdGF0dXMgY29tbWFuZCB3aWxsIGJlIHN1cHByZXNzZWQgZm9yIGFsbAorc3VibW9kdWxlcyB3aGVuIGBkaWZmLmlnbm9yZVN1Ym1vZHVsZXNgIGlzIHNldCB0byAnYWxsJyBvciBvbmx5IGZvciB0aG9zZQorc3VibW9kdWxlcyB3aGVyZSBgc3VibW9kdWxlLjxuYW1lPi5pZ25vcmU9YWxsYC4gVG8gYWxzbyB2aWV3IHRoZSBzdW1tYXJ5IGZvcgoraWdub3JlZCBzdWJtb2R1bGVzIHlvdSBjYW4gZWl0aGVyIHVzZSB0aGUgLS1pZ25vcmUtc3VibW9kdWxlcz1kaXJ0eSBjb21tYW5kCitsaW5lIG9wdGlvbiBvciB0aGUgJ2dpdCBzdWJtb2R1bGUgc3VtbWFyeScgY29tbWFuZCwgd2hpY2ggc2hvd3MgYSBzaW1pbGFyCitvdXRwdXQgYnV0IGRvZXMgbm90IGhvbm9yIHRoZXNlIHNldHRpbmdzLgogCiBTRUUgQUxTTwogLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXN2bi50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1zdm4udHh0CmluZGV4IDRkZDNiY2IuLjMwYzVlZTIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXN2bi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtc3ZuLnR4dApAQCAtNzksOCArNzksMjEgQEAKIAl0cmFpbGluZyBzbGFzaCwgc28gYmUgc3VyZSB5b3UgaW5jbHVkZSBvbmUgaW4gdGhlCiAJYXJndW1lbnQgaWYgdGhhdCBpcyB3aGF0IHlvdSB3YW50LiAgSWYgLS1icmFuY2hlcy8tYiBpcwogCXNwZWNpZmllZCwgdGhlIHByZWZpeCBtdXN0IGluY2x1ZGUgYSB0cmFpbGluZyBzbGFzaC4KLQlTZXR0aW5nIGEgcHJlZml4IGlzIHVzZWZ1bCBpZiB5b3Ugd2lzaCB0byB0cmFjayBtdWx0aXBsZQotCXByb2plY3RzIHRoYXQgc2hhcmUgYSBjb21tb24gcmVwb3NpdG9yeS4KKwlTZXR0aW5nIGEgcHJlZml4ICh3aXRoIGEgdHJhaWxpbmcgc2xhc2gpIGlzIHN0cm9uZ2x5CisJZW5jb3VyYWdlZCBpbiBhbnkgY2FzZSwgYXMgeW91ciBTVk4tdHJhY2tpbmcgcmVmcyB3aWxsCisJdGhlbiBiZSBsb2NhdGVkIGF0ICJyZWZzL3JlbW90ZXMvJHByZWZpeC8qIiwgd2hpY2ggaXMKKwljb21wYXRpYmxlIHdpdGggR2l0J3Mgb3duIHJlbW90ZS10cmFja2luZyByZWYgbGF5b3V0CisJKHJlZnMvcmVtb3Rlcy8kcmVtb3RlLyopLiBTZXR0aW5nIGEgcHJlZml4IGlzIGFsc28gdXNlZnVsCisJaWYgeW91IHdpc2ggdG8gdHJhY2sgbXVsdGlwbGUgcHJvamVjdHMgdGhhdCBzaGFyZSBhIGNvbW1vbgorCXJlcG9zaXRvcnkuCisrCitOT1RFOiBJbiBHaXQgdjIuMCwgdGhlIGRlZmF1bHQgcHJlZml4IHdpbGwgQ0hBTkdFIGZyb20gIiIgKG5vIHByZWZpeCkKK3RvICJvcmlnaW4vIi4gVGhpcyBpcyBkb25lIHRvIHB1dCBTVk4tdHJhY2tpbmcgcmVmcyBhdAorInJlZnMvcmVtb3Rlcy9vcmlnaW4vKiIgaW5zdGVhZCBvZiAicmVmcy9yZW1vdGVzLyoiLCBhbmQgbWFrZSB0aGVtCittb3JlIGNvbXBhdGlibGUgd2l0aCBob3cgR2l0J3Mgb3duIHJlbW90ZS10cmFja2luZyByZWZzIGFyZSBvcmdhbml6ZWQKKyhpLmUuIHJlZnMvcmVtb3Rlcy8kcmVtb3RlLyopLiBZb3UgY2FuIGVuam95IHRoZSBzYW1lIGJlbmVmaXRzIHRvZGF5LAorYnkgdXNpbmcgdGhlIC0tcHJlZml4IG9wdGlvbi4KKwogLS1pZ25vcmUtcGF0aHM9PHJlZ2V4Pjs7CiAJV2hlbiBwYXNzZWQgdG8gJ2luaXQnIG9yICdjbG9uZScgdGhpcyByZWd1bGFyIGV4cHJlc3Npb24gd2lsbAogCWJlIHByZXNlcnZlZCBhcyBhIGNvbmZpZyBrZXkuICBTZWUgJ2ZldGNoJyBmb3IgYSBkZXNjcmlwdGlvbgpAQCAtMTA0LDE5ICsxMTcsMjIgQEAKICdmZXRjaCc6OgogCUZldGNoIHVuZmV0Y2hlZCByZXZpc2lvbnMgZnJvbSB0aGUgU3VidmVyc2lvbiByZW1vdGUgd2UgYXJlCiAJdHJhY2tpbmcuICBUaGUgbmFtZSBvZiB0aGUgW3N2bi1yZW1vdGUgIi4uLiJdIHNlY3Rpb24gaW4gdGhlCi0JLmdpdC9jb25maWcgZmlsZSBtYXkgYmUgc3BlY2lmaWVkIGFzIGFuIG9wdGlvbmFsIGNvbW1hbmQtbGluZQotCWFyZ3VtZW50LgorCSRHSVRfRElSL2NvbmZpZyBmaWxlIG1heSBiZSBzcGVjaWZpZWQgYXMgYW4gb3B0aW9uYWwKKwljb21tYW5kLWxpbmUgYXJndW1lbnQuCisrCitUaGlzIGF1dG9tYXRpY2FsbHkgdXBkYXRlcyB0aGUgcmV2X21hcCBpZiBuZWVkZWQgKHNlZQorJyRHSVRfRElSL3N2bi9cKlwqLy5yZXZfbWFwLionIGluIHRoZSBGSUxFUyBzZWN0aW9uIGJlbG93IGZvciBkZXRhaWxzKS4KIAogLS1sb2NhbHRpbWU7OwotCVN0b3JlIEdpdCBjb21taXQgdGltZXMgaW4gdGhlIGxvY2FsIHRpbWV6b25lIGluc3RlYWQgb2YgVVRDLiAgVGhpcworCVN0b3JlIEdpdCBjb21taXQgdGltZXMgaW4gdGhlIGxvY2FsIHRpbWUgem9uZSBpbnN0ZWFkIG9mIFVUQy4gIFRoaXMKIAltYWtlcyAnZ2l0IGxvZycgKGV2ZW4gd2l0aG91dCAtLWRhdGU9bG9jYWwpIHNob3cgdGhlIHNhbWUgdGltZXMKLQl0aGF0IGBzdm4gbG9nYCB3b3VsZCBpbiB0aGUgbG9jYWwgdGltZXpvbmUuCisJdGhhdCBgc3ZuIGxvZ2Agd291bGQgaW4gdGhlIGxvY2FsIHRpbWUgem9uZS4KICsKIFRoaXMgZG9lc24ndCBpbnRlcmZlcmUgd2l0aCBpbnRlcm9wZXJhdGluZyB3aXRoIHRoZSBTdWJ2ZXJzaW9uCiByZXBvc2l0b3J5IHlvdSBjbG9uZWQgZnJvbSwgYnV0IGlmIHlvdSB3aXNoIGZvciB5b3VyIGxvY2FsIEdpdAogcmVwb3NpdG9yeSB0byBiZSBhYmxlIHRvIGludGVyb3BlcmF0ZSB3aXRoIHNvbWVvbmUgZWxzZSdzIGxvY2FsIEdpdAogcmVwb3NpdG9yeSwgZWl0aGVyIGRvbid0IHVzZSB0aGlzIG9wdGlvbiBvciB5b3Ugc2hvdWxkIGJvdGggdXNlIGl0IGluCi10aGUgc2FtZSBsb2NhbCB0aW1lem9uZS4KK3RoZSBzYW1lIGxvY2FsIHRpbWUgem9uZS4KIAogLS1wYXJlbnQ7OwogCUZldGNoIG9ubHkgZnJvbSB0aGUgU1ZOIHBhcmVudCBvZiB0aGUgY3VycmVudCBIRUFELgpAQCAtMTU5LDExICsxNzUsMTEgQEAKIAlwcmVjZWRlbmNlIG92ZXIgJy0taW5jbHVkZS1wYXRocycuCiAKIC0tbG9nLXdpbmRvdy1zaXplPTxuPjs7Ci0gICAgRmV0Y2ggPG4+IGxvZyBlbnRyaWVzIHBlciByZXF1ZXN0IHdoZW4gc2Nhbm5pbmcgU3VidmVyc2lvbiBoaXN0b3J5LgotICAgIFRoZSBkZWZhdWx0IGlzIDEwMC4gRm9yIHZlcnkgbGFyZ2UgU3VidmVyc2lvbiByZXBvc2l0b3JpZXMsIGxhcmdlcgotICAgIHZhbHVlcyBtYXkgYmUgbmVlZGVkIGZvciAnY2xvbmUnLydmZXRjaCcgdG8gY29tcGxldGUgaW4gcmVhc29uYWJsZQotICAgIHRpbWUuIEJ1dCBvdmVybHkgbGFyZ2UgdmFsdWVzIG1heSBsZWFkIHRvIGhpZ2hlciBtZW1vcnkgdXNhZ2UgYW5kCi0gICAgcmVxdWVzdCB0aW1lb3V0cy4KKwlGZXRjaCA8bj4gbG9nIGVudHJpZXMgcGVyIHJlcXVlc3Qgd2hlbiBzY2FubmluZyBTdWJ2ZXJzaW9uIGhpc3RvcnkuCisJVGhlIGRlZmF1bHQgaXMgMTAwLiBGb3IgdmVyeSBsYXJnZSBTdWJ2ZXJzaW9uIHJlcG9zaXRvcmllcywgbGFyZ2VyCisJdmFsdWVzIG1heSBiZSBuZWVkZWQgZm9yICdjbG9uZScvJ2ZldGNoJyB0byBjb21wbGV0ZSBpbiByZWFzb25hYmxlCisJdGltZS4gQnV0IG92ZXJseSBsYXJnZSB2YWx1ZXMgbWF5IGxlYWQgdG8gaGlnaGVyIG1lbW9yeSB1c2FnZSBhbmQKKwlyZXF1ZXN0IHRpbWVvdXRzLgogCiAnY2xvbmUnOjoKIAlSdW5zICdpbml0JyBhbmQgJ2ZldGNoJy4gIEl0IHdpbGwgYXV0b21hdGljYWxseSBjcmVhdGUgYQpAQCAtMjAxLDYgKzIxNyw5IEBACiArCiBMaWtlICdnaXQgcmViYXNlJzsgdGhpcyByZXF1aXJlcyB0aGF0IHRoZSB3b3JraW5nIHRyZWUgYmUgY2xlYW4KIGFuZCBoYXZlIG5vIHVuY29tbWl0dGVkIGNoYW5nZXMuCisrCitUaGlzIGF1dG9tYXRpY2FsbHkgdXBkYXRlcyB0aGUgcmV2X21hcCBpZiBuZWVkZWQgKHNlZQorJyRHSVRfRElSL3N2bi9cKlwqLy5yZXZfbWFwLionIGluIHRoZSBGSUxFUyBzZWN0aW9uIGJlbG93IGZvciBkZXRhaWxzKS4KIAogLWw7OwogLS1sb2NhbDs7CkBAIC0yNTYsNyArMjc1LDcgQEAKIAlGb3IgZWFjaCBwYXRjaCwgb25lIG1heSBhbnN3ZXIgInllcyIgKGFjY2VwdCB0aGlzIHBhdGNoKSwgIm5vIiAoZGlzY2FyZCB0aGlzCiAJcGF0Y2gpLCAiYWxsIiAoYWNjZXB0IGFsbCBwYXRjaGVzKSwgb3IgInF1aXQiLgogCSsKLSAgICAgICAnZ2l0IHN2biBkY29tbWl0JyByZXR1cm5zIGltbWVkaWF0ZWx5IGlmIGFuc3dlciBpcyAibm8iIG9yICJxdWl0Iiwgd2l0aG91dAorCSdnaXQgc3ZuIGRjb21taXQnIHJldHVybnMgaW1tZWRpYXRlbHkgaWYgYW5zd2VyIGlzICJubyIgb3IgInF1aXQiLCB3aXRob3V0CiAJY29tbWl0dGluZyBhbnl0aGluZyB0byBTVk4uCiAKICdicmFuY2gnOjoKQEAgLTM0NywxMiArMzY2LDEyIEBACiBBbnkgb3RoZXIgYXJndW1lbnRzIGFyZSBwYXNzZWQgZGlyZWN0bHkgdG8gJ2dpdCBsb2cnCiAKICdibGFtZSc6OgotICAgICAgIFNob3cgd2hhdCByZXZpc2lvbiBhbmQgYXV0aG9yIGxhc3QgbW9kaWZpZWQgZWFjaCBsaW5lIG9mIGEgZmlsZS4gVGhlCi0gICAgICAgb3V0cHV0IG9mIHRoaXMgbW9kZSBpcyBmb3JtYXQtY29tcGF0aWJsZSB3aXRoIHRoZSBvdXRwdXQgb2YKLSAgICAgICBgc3ZuIGJsYW1lJyBieSBkZWZhdWx0LiBMaWtlIHRoZSBTVk4gYmxhbWUgY29tbWFuZCwKLSAgICAgICBsb2NhbCB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHRoZSB3b3JraW5nIHRyZWUgYXJlIGlnbm9yZWQ7Ci0gICAgICAgdGhlIHZlcnNpb24gb2YgdGhlIGZpbGUgaW4gdGhlIEhFQUQgcmV2aXNpb24gaXMgYW5ub3RhdGVkLiBVbmtub3duCi0gICAgICAgYXJndW1lbnRzIGFyZSBwYXNzZWQgZGlyZWN0bHkgdG8gJ2dpdCBibGFtZScuCisJU2hvdyB3aGF0IHJldmlzaW9uIGFuZCBhdXRob3IgbGFzdCBtb2RpZmllZCBlYWNoIGxpbmUgb2YgYSBmaWxlLiBUaGUKKwlvdXRwdXQgb2YgdGhpcyBtb2RlIGlzIGZvcm1hdC1jb21wYXRpYmxlIHdpdGggdGhlIG91dHB1dCBvZgorCWBzdm4gYmxhbWUnIGJ5IGRlZmF1bHQuIExpa2UgdGhlIFNWTiBibGFtZSBjb21tYW5kLAorCWxvY2FsIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4gdGhlIHdvcmtpbmcgdHJlZSBhcmUgaWdub3JlZDsKKwl0aGUgdmVyc2lvbiBvZiB0aGUgZmlsZSBpbiB0aGUgSEVBRCByZXZpc2lvbiBpcyBhbm5vdGF0ZWQuIFVua25vd24KKwlhcmd1bWVudHMgYXJlIHBhc3NlZCBkaXJlY3RseSB0byAnZ2l0IGJsYW1lJy4KICsKIC0tZ2l0LWZvcm1hdDs7CiAJUHJvZHVjZSBvdXRwdXQgaW4gdGhlIHNhbWUgZm9ybWF0IGFzICdnaXQgYmxhbWUnLCBidXQgd2l0aApAQCAtNDM1LDggKzQ1NCw4IEBACiAJc3BlY2lmaWMgcmV2aXNpb24uCiAKICdnYyc6OgotCUNvbXByZXNzICRHSVRfRElSL3N2bi88cmVmbmFtZT4vdW5oYW5kbGVkLmxvZyBmaWxlcyBpbiAuZ2l0L3N2bgotCWFuZCByZW1vdmUgJEdJVF9ESVIvc3ZuLzxyZWZuYW1lPmluZGV4IGZpbGVzIGluIC5naXQvc3ZuLgorCUNvbXByZXNzICRHSVRfRElSL3N2bi88cmVmbmFtZT4vdW5oYW5kbGVkLmxvZyBmaWxlcyBhbmQgcmVtb3ZlCisJJEdJVF9ESVIvc3ZuLzxyZWZuYW1lPi9pbmRleCBmaWxlcy4KIAogJ3Jlc2V0Jzo6CiAJVW5kb2VzIHRoZSBlZmZlY3RzIG9mICdmZXRjaCcgYmFjayB0byB0aGUgc3BlY2lmaWVkIHJldmlzaW9uLgpAQCAtNDQ5LDkgKzQ2OCwxMCBAQAogCWZpbGUgY2Fubm90IGJlIGlnbm9yZWQgZm9yZXZlciAod2l0aCAtLWlnbm9yZS1wYXRocykgdGhlIG9ubHkKIAl3YXkgdG8gcmVwYWlyIHRoZSByZXBvIGlzIHRvIHVzZSAncmVzZXQnLgogKwotT25seSB0aGUgcmV2X21hcCBhbmQgcmVmcy9yZW1vdGVzL2dpdC1zdm4gYXJlIGNoYW5nZWQuICBGb2xsb3cgJ3Jlc2V0Jwotd2l0aCBhICdmZXRjaCcgYW5kIHRoZW4gJ2dpdCByZXNldCcgb3IgJ2dpdCByZWJhc2UnIHRvIG1vdmUgbG9jYWwKLWJyYW5jaGVzIG9udG8gdGhlIG5ldyB0cmVlLgorT25seSB0aGUgcmV2X21hcCBhbmQgcmVmcy9yZW1vdGVzL2dpdC1zdm4gYXJlIGNoYW5nZWQgKHNlZQorJyRHSVRfRElSL3N2bi9cKlwqLy5yZXZfbWFwLionIGluIHRoZSBGSUxFUyBzZWN0aW9uIGJlbG93IGZvciBkZXRhaWxzKS4KK0ZvbGxvdyAncmVzZXQnIHdpdGggYSAnZmV0Y2gnIGFuZCB0aGVuICdnaXQgcmVzZXQnIG9yICdnaXQgcmViYXNlJyB0bworbW92ZSBsb2NhbCBicmFuY2hlcyBvbnRvIHRoZSBuZXcgdHJlZS4KIAogLXIgPG4+OzsKIC0tcmV2aXNpb249PG4+OzsKQEAgLTY4NCw3ICs3MDQsNyBAQAogKwogVGhpcyBvcHRpb24gY2FuIG9ubHkgYmUgdXNlZCBmb3Igb25lLXNob3QgaW1wb3J0cyBhcyAnZ2l0IHN2bicKIHdpbGwgbm90IGJlIGFibGUgdG8gZmV0Y2ggYWdhaW4gd2l0aG91dCBtZXRhZGF0YS4gQWRkaXRpb25hbGx5LAotaWYgeW91IGxvc2UgeW91ciAuZ2l0L3N2bi8qKi8ucmV2X21hcC4qIGZpbGVzLCAnZ2l0IHN2bicgd2lsbCBub3QKK2lmIHlvdSBsb3NlIHlvdXIgJyRHSVRfRElSL3N2bi9cKlwqLy5yZXZfbWFwLionIGZpbGVzLCAnZ2l0IHN2bicgd2lsbCBub3QKIGJlIGFibGUgdG8gcmVidWlsZCB0aGVtLgogKwogVGhlICdnaXQgc3ZuIGxvZycgY29tbWFuZCB3aWxsIG5vdCB3b3JrIG9uIHJlcG9zaXRvcmllcyB1c2luZwpAQCAtODA0LDE2ICs4MjQsMTYgQEAKIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIENsb25lIGEgcmVwbyB3aXRoIHN0YW5kYXJkIFNWTiBkaXJlY3RvcnkgbGF5b3V0IChsaWtlIGdpdCBjbG9uZSk6Ci0JZ2l0IHN2biBjbG9uZSBodHRwOi8vc3ZuLmV4YW1wbGUuY29tL3Byb2plY3QgLS1zdGRsYXlvdXQKKwlnaXQgc3ZuIGNsb25lIGh0dHA6Ly9zdm4uZXhhbXBsZS5jb20vcHJvamVjdCAtLXN0ZGxheW91dCAtLXByZWZpeCBzdm4vCiAjIE9yLCBpZiB0aGUgcmVwbyB1c2VzIGEgbm9uLXN0YW5kYXJkIGRpcmVjdG9yeSBsYXlvdXQ6Ci0JZ2l0IHN2biBjbG9uZSBodHRwOi8vc3ZuLmV4YW1wbGUuY29tL3Byb2plY3QgLVQgdHIgLWIgYnJhbmNoIC10IHRhZworCWdpdCBzdm4gY2xvbmUgaHR0cDovL3N2bi5leGFtcGxlLmNvbS9wcm9qZWN0IC1UIHRyIC1iIGJyYW5jaCAtdCB0YWcgLS1wcmVmaXggc3ZuLwogIyBWaWV3IGFsbCBicmFuY2hlcyBhbmQgdGFncyB5b3UgaGF2ZSBjbG9uZWQ6CiAJZ2l0IGJyYW5jaCAtcgogIyBDcmVhdGUgYSBuZXcgYnJhbmNoIGluIFNWTgotICAgIGdpdCBzdm4gYnJhbmNoIHdhbGRvCisJZ2l0IHN2biBicmFuY2ggd2FsZG8KICMgUmVzZXQgeW91ciBtYXN0ZXIgdG8gdHJ1bmsgKG9yIGFueSBvdGhlciBicmFuY2gsIHJlcGxhY2luZyAndHJ1bmsnCiAjIHdpdGggdGhlIGFwcHJvcHJpYXRlIG5hbWUpOgotCWdpdCByZXNldCAtLWhhcmQgcmVtb3Rlcy90cnVuaworCWdpdCByZXNldCAtLWhhcmQgc3ZuL3RydW5rCiAjIFlvdSBtYXkgb25seSBkY29tbWl0IHRvIG9uZSBicmFuY2gvdGFnL3RydW5rIGF0IGEgdGltZS4gIFRoZSB1c2FnZQogIyBvZiBkY29tbWl0L3JlYmFzZS9zaG93LWlnbm9yZSBzaG91bGQgYmUgdGhlIHNhbWUgYXMgYWJvdmUuCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTgyNyw3ICs4NDcsNyBAQAogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgRG8gdGhlIGluaXRpYWwgaW1wb3J0IG9uIGEgc2VydmVyCi0Jc3NoIHNlcnZlciAiY2QgL3B1YiAmJiBnaXQgc3ZuIGNsb25lIGh0dHA6Ly9zdm4uZXhhbXBsZS5jb20vcHJvamVjdAorCXNzaCBzZXJ2ZXIgImNkIC9wdWIgJiYgZ2l0IHN2biBjbG9uZSBodHRwOi8vc3ZuLmV4YW1wbGUuY29tL3Byb2plY3QgW29wdGlvbnMuLi5dIgogIyBDbG9uZSBsb2NhbGx5IC0gbWFrZSBzdXJlIHRoZSByZWZzL3JlbW90ZXMvIHNwYWNlIG1hdGNoZXMgdGhlIHNlcnZlcgogCW1rZGlyIHByb2plY3QKIAljZCBwcm9qZWN0CkBAIC04NDAsOCArODYwLDkgQEAKIAlnaXQgY29uZmlnIC0tcmVtb3ZlLXNlY3Rpb24gcmVtb3RlLm9yaWdpbgogIyBDcmVhdGUgYSBsb2NhbCBicmFuY2ggZnJvbSBvbmUgb2YgdGhlIGJyYW5jaGVzIGp1c3QgZmV0Y2hlZAogCWdpdCBjaGVja291dCAtYiBtYXN0ZXIgRkVUQ0hfSEVBRAotIyBJbml0aWFsaXplICdnaXQgc3ZuJyBsb2NhbGx5IChiZSBzdXJlIHRvIHVzZSB0aGUgc2FtZSBVUkwgYW5kIC1ULy1iLy10IG9wdGlvbnMgYXMgd2VyZSB1c2VkIG9uIHNlcnZlcikKLQlnaXQgc3ZuIGluaXQgaHR0cDovL3N2bi5leGFtcGxlLmNvbS9wcm9qZWN0CisjIEluaXRpYWxpemUgJ2dpdCBzdm4nIGxvY2FsbHkgKGJlIHN1cmUgdG8gdXNlIHRoZSBzYW1lIFVSTCBhbmQKKyMgLS1zdGRsYXlvdXQvLVQvLWIvLXQvLS1wcmVmaXggb3B0aW9ucyBhcyB3ZXJlIHVzZWQgb24gc2VydmVyKQorCWdpdCBzdm4gaW5pdCBodHRwOi8vc3ZuLmV4YW1wbGUuY29tL3Byb2plY3QgW29wdGlvbnMuLi5dCiAjIFB1bGwgdGhlIGxhdGVzdCBjaGFuZ2VzIGZyb20gU3VidmVyc2lvbgogCWdpdCBzdm4gcmViYXNlCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTk3MywxMiArOTk0LDIyIEBACiBicmFuY2hlcyBhbmQgdGFncyBpcyByZXF1aXJlZCwgdGhlIG9wdGlvbnMgJy0tdHJ1bmsnIC8gJy0tYnJhbmNoZXMnIC8KICctLXRhZ3MnIG11c3QgYmUgdXNlZC4KIAorV2hlbiB1c2luZyB0aGUgb3B0aW9ucyBmb3IgZGVzY3JpYmluZyB0aGUgcmVwb3NpdG9yeSBsYXlvdXQgKC0tdHJ1bmssCistLXRhZ3MsIC0tYnJhbmNoZXMsIC0tc3RkbGF5b3V0KSwgcGxlYXNlIGFsc28gc3BlY2lmeSB0aGUgLS1wcmVmaXgKK29wdGlvbiAoZS5nLiAnLS1wcmVmaXg9b3JpZ2luLycpIHRvIGNhdXNlIHlvdXIgU1ZOLXRyYWNraW5nIHJlZnMgdG8gYmUKK3BsYWNlZCBhdCByZWZzL3JlbW90ZXMvb3JpZ2luLyogcmF0aGVyIHRoYW4gdGhlIGRlZmF1bHQgcmVmcy9yZW1vdGVzLyouCitUaGUgZm9ybWVyIGlzIG1vcmUgY29tcGF0aWJsZSB3aXRoIHRoZSBsYXlvdXQgb2YgR2l0J3MgInJlZ3VsYXIiCityZW1vdGUtdHJhY2tpbmcgcmVmcyAocmVmcy9yZW1vdGVzLyRyZW1vdGUvKiksIGFuZCBtYXkgcG90ZW50aWFsbHkKK3ByZXZlbnQgc2ltaWxhcmx5IG5hbWVkIFNWTiBicmFuY2hlcyBhbmQgR2l0IHJlbW90ZXMgZnJvbSBjbG9iYmVyaW5nCitlYWNoIG90aGVyLiBJbiBHaXQgdjIuMCB0aGUgZGVmYXVsdCBwcmVmaXggdXNlZCAoaS5lLiB3aGVuIG5vIC0tcHJlZml4CitpcyBnaXZlbikgd2lsbCBjaGFuZ2UgZnJvbSAiIiAobm8gcHJlZml4KSB0byAib3JpZ2luLyIuCisKIFdoZW4gdXNpbmcgbXVsdGlwbGUgLS1icmFuY2hlcyBvciAtLXRhZ3MsICdnaXQgc3ZuJyBkb2VzIG5vdCBhdXRvbWF0aWNhbGx5CiBoYW5kbGUgbmFtZSBjb2xsaXNpb25zIChmb3IgZXhhbXBsZSwgaWYgdHdvIGJyYW5jaGVzIGZyb20gZGlmZmVyZW50IHBhdGhzIGhhdmUKIHRoZSBzYW1lIG5hbWUsIG9yIGlmIGEgYnJhbmNoIGFuZCBhIHRhZyBoYXZlIHRoZSBzYW1lIG5hbWUpLiAgSW4gdGhlc2UgY2FzZXMsCiB1c2UgJ2luaXQnIHRvIHNldCB1cCB5b3VyIEdpdCByZXBvc2l0b3J5IHRoZW4sIGJlZm9yZSB5b3VyIGZpcnN0ICdmZXRjaCcsIGVkaXQKLXRoZSAuZ2l0L2NvbmZpZyBmaWxlIHNvIHRoYXQgdGhlIGJyYW5jaGVzIGFuZCB0YWdzIGFyZSBhc3NvY2lhdGVkIHdpdGgKLWRpZmZlcmVudCBuYW1lIHNwYWNlcy4gIEZvciBleGFtcGxlOgordGhlICRHSVRfRElSL2NvbmZpZyBmaWxlIHNvIHRoYXQgdGhlIGJyYW5jaGVzIGFuZCB0YWdzIGFyZSBhc3NvY2lhdGVkCit3aXRoIGRpZmZlcmVudCBuYW1lIHNwYWNlcy4gIEZvciBleGFtcGxlOgogCiAJYnJhbmNoZXMgPSBzdGFibGUvKjpyZWZzL3JlbW90ZXMvc3ZuL3N0YWJsZS8qCiAJYnJhbmNoZXMgPSBkZWJ1Zy8qOnJlZnMvcmVtb3Rlcy9zdm4vZGVidWcvKgpAQCAtMTAwNiw3ICsxMDM3LDcgQEAKIC0tLS0tLS0tLS0tLS0KIAogJ2dpdCBzdm4nIHN0b3JlcyBbc3ZuLXJlbW90ZV0gY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBpbiB0aGUKLXJlcG9zaXRvcnkgLmdpdC9jb25maWcgZmlsZS4gIEl0IGlzIHNpbWlsYXIgdGhlIGNvcmUgR2l0CityZXBvc2l0b3J5ICRHSVRfRElSL2NvbmZpZyBmaWxlLiAgSXQgaXMgc2ltaWxhciB0aGUgY29yZSBHaXQKIFtyZW1vdGVdIHNlY3Rpb25zIGV4Y2VwdCAnZmV0Y2gnIGtleXMgZG8gbm90IGFjY2VwdCBnbG9iCiBhcmd1bWVudHM7IGJ1dCB0aGV5IGFyZSBpbnN0ZWFkIGhhbmRsZWQgYnkgdGhlICdicmFuY2hlcycKIGFuZCAndGFncycga2V5cy4gIFNpbmNlIHNvbWUgU1ZOIHJlcG9zaXRvcmllcyBhcmUgb2RkbHkKQEAgLTEwMzUsOCArMTA2Niw4IEBACiBbc3ZuLXJlbW90ZSAiaHVnZS1wcm9qZWN0Il0KIAl1cmwgPSBodHRwOi8vc2VydmVyLm9yZy9zdm4KIAlmZXRjaCA9IHRydW5rL3NyYzpyZWZzL3JlbW90ZXMvdHJ1bmsKLQlicmFuY2hlcyA9IGJyYW5jaGVzL3tyZWQsZ3JlZW59L3NyYzpyZWZzL3JlbW90ZXMvYnJhbmNoZXMvKgotCXRhZ3MgPSB0YWdzL3sxLjAsMi4wfS9zcmM6cmVmcy9yZW1vdGVzL3RhZ3MvKgorCWJyYW5jaGVzID0gYnJhbmNoZXMve3JlZCxncmVlbn0vc3JjOnJlZnMvcmVtb3Rlcy9wcm9qZWN0LWEvYnJhbmNoZXMvKgorCXRhZ3MgPSB0YWdzL3sxLjAsMi4wfS9zcmM6cmVmcy9yZW1vdGVzL3Byb2plY3QtYS90YWdzLyoKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBNdWx0aXBsZSBmZXRjaCwgYnJhbmNoZXMsIGFuZCB0YWdzIGtleXMgYXJlIHN1cHBvcnRlZDoKQEAgLTEwNjAsOCArMTA5MSwyMSBAQAogCiBOb3RlIHRoYXQgZ2l0LXN2biBrZWVwcyB0cmFjayBvZiB0aGUgaGlnaGVzdCByZXZpc2lvbiBpbiB3aGljaCBhIGJyYW5jaAogb3IgdGFnIGhhcyBhcHBlYXJlZC4gSWYgdGhlIHN1YnNldCBvZiBicmFuY2hlcyBvciB0YWdzIGlzIGNoYW5nZWQgYWZ0ZXIKLWZldGNoaW5nLCB0aGVuIC5naXQvc3ZuLy5tZXRhZGF0YSBtdXN0IGJlIG1hbnVhbGx5IGVkaXRlZCB0byByZW1vdmUgKG9yCi1yZXNldCkgYnJhbmNoZXMtbWF4UmV2IGFuZC9vciB0YWdzLW1heFJldiBhcyBhcHByb3ByaWF0ZS4KK2ZldGNoaW5nLCB0aGVuICRHSVRfRElSL3N2bi8ubWV0YWRhdGEgbXVzdCBiZSBtYW51YWxseSBlZGl0ZWQgdG8gcmVtb3ZlCisob3IgcmVzZXQpIGJyYW5jaGVzLW1heFJldiBhbmQvb3IgdGFncy1tYXhSZXYgYXMgYXBwcm9wcmlhdGUuCisKK0ZJTEVTCistLS0tLQorJEdJVF9ESVIvc3ZuL1wqXCovLnJldl9tYXAuKjo6CisJTWFwcGluZyBiZXR3ZWVuIFN1YnZlcnNpb24gcmV2aXNpb24gbnVtYmVycyBhbmQgR2l0IGNvbW1pdAorCW5hbWVzLiAgSW4gYSByZXBvc2l0b3J5IHdoZXJlIHRoZSBub01ldGFkYXRhIG9wdGlvbiBpcyBub3Qgc2V0LAorCXRoaXMgY2FuIGJlIHJlYnVpbHQgZnJvbSB0aGUgZ2l0LXN2bi1pZDogbGluZXMgdGhhdCBhcmUgYXQgdGhlCisJZW5kIG9mIGV2ZXJ5IGNvbW1pdCAoc2VlIHRoZSAnc3ZuLm5vTWV0YWRhdGEnIHNlY3Rpb24gYWJvdmUgZm9yCisJZGV0YWlscykuCisrCisnZ2l0IHN2biBmZXRjaCcgYW5kICdnaXQgc3ZuIHJlYmFzZScgYXV0b21hdGljYWxseSB1cGRhdGUgdGhlIHJldl9tYXAKK2lmIGl0IGlzIG1pc3Npbmcgb3Igbm90IHVwIHRvIGRhdGUuICAnZ2l0IHN2biByZXNldCcgYXV0b21hdGljYWxseQorcmV3aW5kcyBpdC4KIAogU0VFIEFMU08KIC0tLS0tLS0tCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC11cGRhdGUtcmVmLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXVwZGF0ZS1yZWYudHh0CmluZGV4IDBkZjEzZmYuLjBhMGE1NTEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXVwZGF0ZS1yZWYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXVwZGF0ZS1yZWYudHh0CkBAIC04LDcgKzgsNyBAQAogU1lOT1BTSVMKIC0tLS0tLS0tCiBbdmVyc2VdCi0nZ2l0IHVwZGF0ZS1yZWYnIFstbSA8cmVhc29uPl0gKC1kIDxyZWY+IFs8b2xkdmFsdWU+XSB8IFstLW5vLWRlcmVmXSA8cmVmPiA8bmV3dmFsdWU+IFs8b2xkdmFsdWU+XSkKKydnaXQgdXBkYXRlLXJlZicgWy1tIDxyZWFzb24+XSAoLWQgPHJlZj4gWzxvbGR2YWx1ZT5dIHwgWy0tbm8tZGVyZWZdIDxyZWY+IDxuZXd2YWx1ZT4gWzxvbGR2YWx1ZT5dIHwgLS1zdGRpbiBbLXpdKQogCiBERVNDUklQVElPTgogLS0tLS0tLS0tLS0KQEAgLTU4LDYgKzU4LDU4IEBACiBXaXRoIGAtZGAgZmxhZywgaXQgZGVsZXRlcyB0aGUgbmFtZWQgPHJlZj4gYWZ0ZXIgdmVyaWZ5aW5nIGl0CiBzdGlsbCBjb250YWlucyA8b2xkdmFsdWU+LgogCitXaXRoIGAtLXN0ZGluYCwgdXBkYXRlLXJlZiByZWFkcyBpbnN0cnVjdGlvbnMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQKK3BlcmZvcm1zIGFsbCBtb2RpZmljYXRpb25zIHRvZ2V0aGVyLiAgU3BlY2lmeSBjb21tYW5kcyBvZiB0aGUgZm9ybToKKworCXVwZGF0ZSBTUCA8cmVmPiBTUCA8bmV3dmFsdWU+IFtTUCA8b2xkdmFsdWU+XSBMRgorCWNyZWF0ZSBTUCA8cmVmPiBTUCA8bmV3dmFsdWU+IExGCisJZGVsZXRlIFNQIDxyZWY+IFtTUCA8b2xkdmFsdWU+XSBMRgorCXZlcmlmeSBTUCA8cmVmPiBbU1AgPG9sZHZhbHVlPl0gTEYKKwlvcHRpb24gU1AgPG9wdD4gTEYKKworUXVvdGUgZmllbGRzIGNvbnRhaW5pbmcgd2hpdGVzcGFjZSBhcyBpZiB0aGV5IHdlcmUgc3RyaW5ncyBpbiBDIHNvdXJjZQorY29kZS4gIEFsdGVybmF0aXZlbHksIHVzZSBgLXpgIHRvIHNwZWNpZnkgY29tbWFuZHMgd2l0aG91dCBxdW90aW5nOgorCisJdXBkYXRlIFNQIDxyZWY+IE5VTCA8bmV3dmFsdWU+IE5VTCBbPG9sZHZhbHVlPl0gTlVMCisJY3JlYXRlIFNQIDxyZWY+IE5VTCA8bmV3dmFsdWU+IE5VTAorCWRlbGV0ZSBTUCA8cmVmPiBOVUwgWzxvbGR2YWx1ZT5dIE5VTAorCXZlcmlmeSBTUCA8cmVmPiBOVUwgWzxvbGR2YWx1ZT5dIE5VTAorCW9wdGlvbiBTUCA8b3B0PiBOVUwKKworTGluZXMgb2YgYW55IG90aGVyIGZvcm1hdCBvciBhIHJlcGVhdGVkIDxyZWY+IHByb2R1Y2UgYW4gZXJyb3IuCitDb21tYW5kIG1lYW5pbmdzIGFyZToKKwordXBkYXRlOjoKKwlTZXQgPHJlZj4gdG8gPG5ld3ZhbHVlPiBhZnRlciB2ZXJpZnlpbmcgPG9sZHZhbHVlPiwgaWYgZ2l2ZW4uCisJU3BlY2lmeSBhIHplcm8gPG5ld3ZhbHVlPiB0byBlbnN1cmUgdGhlIHJlZiBkb2VzIG5vdCBleGlzdAorCWFmdGVyIHRoZSB1cGRhdGUgYW5kL29yIGEgemVybyA8b2xkdmFsdWU+IHRvIG1ha2Ugc3VyZSB0aGUKKwlyZWYgZG9lcyBub3QgZXhpc3QgYmVmb3JlIHRoZSB1cGRhdGUuCisKK2NyZWF0ZTo6CisJQ3JlYXRlIDxyZWY+IHdpdGggPG5ld3ZhbHVlPiBhZnRlciB2ZXJpZnlpbmcgaXQgZG9lcyBub3QKKwlleGlzdC4gIFRoZSBnaXZlbiA8bmV3dmFsdWU+IG1heSBub3QgYmUgemVyby4KKworZGVsZXRlOjoKKwlEZWxldGUgPHJlZj4gYWZ0ZXIgdmVyaWZ5aW5nIGl0IGV4aXN0cyB3aXRoIDxvbGR2YWx1ZT4sIGlmCisJZ2l2ZW4uICBJZiBnaXZlbiwgPG9sZHZhbHVlPiBtYXkgbm90IGJlIHplcm8uCisKK3ZlcmlmeTo6CisJVmVyaWZ5IDxyZWY+IGFnYWluc3QgPG9sZHZhbHVlPiBidXQgZG8gbm90IGNoYW5nZSBpdC4gIElmCisJPG9sZHZhbHVlPiB6ZXJvIG9yIG1pc3NpbmcsIHRoZSByZWYgbXVzdCBub3QgZXhpc3QuCisKK29wdGlvbjo6CisJTW9kaWZ5IGJlaGF2aW9yIG9mIHRoZSBuZXh0IGNvbW1hbmQgbmFtaW5nIGEgPHJlZj4uCisJVGhlIG9ubHkgdmFsaWQgb3B0aW9uIGlzIGBuby1kZXJlZmAgdG8gYXZvaWQgZGVyZWZlcmVuY2luZworCWEgc3ltYm9saWMgcmVmLgorCitVc2UgNDAgIjAiIG9yIHRoZSBlbXB0eSBzdHJpbmcgdG8gc3BlY2lmeSBhIHplcm8gdmFsdWUsIGV4Y2VwdCB0aGF0Cit3aXRoIGAtemAgYW4gZW1wdHkgPG9sZHZhbHVlPiBpcyBjb25zaWRlcmVkIG1pc3NpbmcuCisKK0lmIGFsbCA8cmVmPnMgY2FuIGJlIGxvY2tlZCB3aXRoIG1hdGNoaW5nIDxvbGR2YWx1ZT5zCitzaW11bHRhbmVvdXNseSwgYWxsIG1vZGlmaWNhdGlvbnMgYXJlIHBlcmZvcm1lZC4gIE90aGVyd2lzZSwgbm8KK21vZGlmaWNhdGlvbnMgYXJlIHBlcmZvcm1lZC4gIE5vdGUgdGhhdCB3aGlsZSBlYWNoIGluZGl2aWR1YWwKKzxyZWY+IGlzIHVwZGF0ZWQgb3IgZGVsZXRlZCBhdG9taWNhbGx5LCBhIGNvbmN1cnJlbnQgcmVhZGVyIG1heQorc3RpbGwgc2VlIGEgc3Vic2V0IG9mIHRoZSBtb2RpZmljYXRpb25zLgogCiBMb2dnaW5nIFVwZGF0ZXMKIC0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtd2ViLS1icm93c2UudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtd2ViLS1icm93c2UudHh0CmluZGV4IDVhZWM0ZWMuLjJkZTU3NWYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXdlYi0tYnJvd3NlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC13ZWItLWJyb3dzZS50eHQKQEAgLTM1LDYgKzM1LDcgQEAKICogb3BlbiAodGhpcyBpcyB0aGUgZGVmYXVsdCB1bmRlciBNYWMgT1MgWCBHVUkpCiAqIHN0YXJ0ICh0aGlzIGlzIHRoZSBkZWZhdWx0IHVuZGVyIE1pbkdXKQogKiBjeWdzdGFydCAodGhpcyBpcyB0aGUgZGVmYXVsdCB1bmRlciBDeWd3aW4pCisqIHhkZy1vcGVuCiAKIEN1c3RvbSBjb21tYW5kcyBtYXkgYWxzbyBiZSBzcGVjaWZpZWQuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXdoYXRjaGFuZ2VkLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXdoYXRjaGFuZ2VkLnR4dAppbmRleCBjNjAwYjYxLi44YjYzY2ViIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC13aGF0Y2hhbmdlZC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtd2hhdGNoYW5nZWQudHh0CkBAIC0xMyw0MyArMTMsMTcgQEAKIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCi1TaG93cyBjb21taXQgbG9ncyBhbmQgZGlmZiBvdXRwdXQgZWFjaCBjb21taXQgaW50cm9kdWNlcy4gIFRoZQotY29tbWFuZCBpbnRlcm5hbGx5IGludm9rZXMgJ2dpdCByZXYtbGlzdCcgcGlwZWQgdG8KLSdnaXQgZGlmZi10cmVlJywgYW5kIHRha2VzIGNvbW1hbmQgbGluZSBvcHRpb25zIGZvciBib3RoIG9mCi10aGVzZSBjb21tYW5kcy4KIAotVGhpcyBtYW51YWwgcGFnZSBkZXNjcmliZXMgb25seSB0aGUgbW9zdCBmcmVxdWVudGx5IHVzZWQgb3B0aW9ucy4KK1Nob3dzIGNvbW1pdCBsb2dzIGFuZCBkaWZmIG91dHB1dCBlYWNoIGNvbW1pdCBpbnRyb2R1Y2VzLgogCitOZXcgdXNlcnMgYXJlIGVuY291cmFnZWQgdG8gdXNlIGxpbmtnaXQ6Z2l0LWxvZ1sxXSBpbnN0ZWFkLiAgVGhlCitgd2hhdGNoYW5nZWRgIGNvbW1hbmQgaXMgZXNzZW50aWFsbHkgdGhlIHNhbWUgYXMgbGlua2dpdDpnaXQtbG9nWzFdCitidXQgZGVmYXVsdHMgdG8gc2hvdyB0aGUgcmF3IGZvcm1hdCBkaWZmIG91dHB1dCBhbmQgdG8gc2tpcCBtZXJnZXMuCiAKLU9QVElPTlMKLS0tLS0tLS0KLS1wOjoKLQlTaG93IHRleHR1YWwgZGlmZnMsIGluc3RlYWQgb2YgdGhlIEdpdCBpbnRlcm5hbCBkaWZmCi0Jb3V0cHV0IGZvcm1hdCB0aGF0IGlzIHVzZWZ1bCBvbmx5IHRvIHRlbGwgdGhlIGNoYW5nZWQKLQlwYXRocyBhbmQgdGhlaXIgbmF0dXJlIG9mIGNoYW5nZXMuCitUaGUgY29tbWFuZCBpcyBrZXB0IHByaW1hcmlseSBmb3IgaGlzdG9yaWNhbCByZWFzb25zOyBmaW5nZXJzIG9mCittYW55IHBlb3BsZSB3aG8gbGVhcm5lZCBHaXQgbG9uZyBiZWZvcmUgYGdpdCBsb2dgIHdhcyBpbnZlbnRlZCBieQorcmVhZGluZyBMaW51eCBrZXJuZWwgbWFpbGluZyBsaXN0IGFyZSB0cmFpbmVkIHRvIHR5cGUgaXQuCiAKLS08bj46OgotCUxpbWl0IG91dHB1dCB0byA8bj4gY29tbWl0cy4KLQotPHNpbmNlPi4uPHVudGlsPjo6Ci0JTGltaXQgb3V0cHV0IHRvIGJldHdlZW4gdGhlIHR3byBuYW1lZCBjb21taXRzIChib3R0b20KLQlleGNsdXNpdmUsIHRvcCBpbmNsdXNpdmUpLgotCi0tcjo6Ci0JU2hvdyBHaXQgaW50ZXJuYWwgZGlmZiBvdXRwdXQsIGJ1dCBmb3IgdGhlIHdob2xlIHRyZWUsCi0Jbm90IGp1c3QgdGhlIHRvcCBsZXZlbC4KLQotLW06OgotCUJ5IGRlZmF1bHQsIGRpZmZlcmVuY2VzIGZvciBtZXJnZSBjb21taXRzIGFyZSBub3Qgc2hvd24uCi0JV2l0aCB0aGlzIGZsYWcsIHNob3cgZGlmZmVyZW5jZXMgdG8gdGhhdCBjb21taXQgZnJvbSBhbGwKLQlvZiBpdHMgcGFyZW50cy4KLSsKLUhvd2V2ZXIsIGl0IGlzIG5vdCB2ZXJ5IHVzZWZ1bCBpbiBnZW5lcmFsLCBhbHRob3VnaCBpdAotKmlzKiB1c2VmdWwgb24gYSBmaWxlLWJ5LWZpbGUgYmFzaXMuCi0KLWluY2x1ZGU6OnByZXR0eS1vcHRpb25zLnR4dFtdCi0KLWluY2x1ZGU6OnByZXR0eS1mb3JtYXRzLnR4dFtdCiAKIEV4YW1wbGVzCiAtLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQudHh0CmluZGV4IDhmN2E0NjAuLjQ1NDVhZmIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC50eHQKQEAgLTksNyArOSw3IEBACiBTWU5PUFNJUwogLS0tLS0tLS0KIFt2ZXJzZV0KLSdnaXQnIFstLXZlcnNpb25dIFstLWhlbHBdIFstYyA8bmFtZT49PHZhbHVlPl0KKydnaXQnIFstLXZlcnNpb25dIFstLWhlbHBdIFstQyA8cGF0aD5dIFstYyA8bmFtZT49PHZhbHVlPl0KICAgICBbLS1leGVjLXBhdGhbPTxwYXRoPl1dIFstLWh0bWwtcGF0aF0gWy0tbWFuLXBhdGhdIFstLWluZm8tcGF0aF0KICAgICBbLXB8LS1wYWdpbmF0ZXwtLW5vLXBhZ2VyXSBbLS1uby1yZXBsYWNlLW9iamVjdHNdIFstLWJhcmVdCiAgICAgWy0tZ2l0LWRpcj08cGF0aD5dIFstLXdvcmstdHJlZT08cGF0aD5dIFstLW5hbWVzcGFjZT08bmFtZT5dCkBAIC00Myw2ICs0MywxMSBAQAogYnJhbmNoIG9mIHRoZSBgZ2l0LmdpdGAgcmVwb3NpdG9yeS4KIERvY3VtZW50YXRpb24gZm9yIG9sZGVyIHJlbGVhc2VzIGFyZSBhdmFpbGFibGUgaGVyZToKIAorKiBsaW5rOnYxLjguNS9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDEuOC41XQorCisqIHJlbGVhc2Ugbm90ZXMgZm9yCisgIGxpbms6UmVsTm90ZXMvMS44LjUudHh0WzEuOC41XS4KKwogKiBsaW5rOnYxLjguNC41L2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMS44LjQuNV0KIAogKiByZWxlYXNlIG5vdGVzIGZvcgpAQCAtNDAwLDYgKzQwNSwyMCBAQAogYmVjYXVzZSBgZ2l0IC0taGVscCAuLi5gIGlzIGNvbnZlcnRlZCBpbnRlcm5hbGx5IGludG8gYGdpdAogaGVscCAuLi5gLgogCistQyA8cGF0aD46OgorCVJ1biBhcyBpZiBnaXQgd2FzIHN0YXJ0ZWQgaW4gJzxwYXRoPicgaW5zdGVhZCBvZiB0aGUgY3VycmVudCB3b3JraW5nCisJZGlyZWN0b3J5LiAgV2hlbiBtdWx0aXBsZSBgLUNgIG9wdGlvbnMgYXJlIGdpdmVuLCBlYWNoIHN1YnNlcXVlbnQKKwlub24tYWJzb2x1dGUgYC1DIDxwYXRoPmAgaXMgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gdGhlIHByZWNlZGluZyBgLUMKKwk8cGF0aD5gLgorKworVGhpcyBvcHRpb24gYWZmZWN0cyBvcHRpb25zIHRoYXQgZXhwZWN0IHBhdGggbmFtZSBsaWtlIGAtLWdpdC1kaXJgIGFuZAorYC0td29yay10cmVlYCBpbiB0aGF0IHRoZWlyIGludGVycHJldGF0aW9ucyBvZiB0aGUgcGF0aCBuYW1lcyB3b3VsZCBiZQorbWFkZSByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgY2F1c2VkIGJ5IHRoZSBgLUNgIG9wdGlvbi4gRm9yCitleGFtcGxlIHRoZSBmb2xsb3dpbmcgaW52b2NhdGlvbnMgYXJlIGVxdWl2YWxlbnQ6CisKKyAgICBnaXQgLS1naXQtZGlyPWEuZ2l0IC0td29yay10cmVlPWIgLUMgYyBzdGF0dXMKKyAgICBnaXQgLS1naXQtZGlyPWMvYS5naXQgLS13b3JrLXRyZWU9Yy9iIHN0YXR1cworCiAtYyA8bmFtZT49PHZhbHVlPjo6CiAJUGFzcyBhIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyIHRvIHRoZSBjb21tYW5kLiBUaGUgdmFsdWUKIAlnaXZlbiB3aWxsIG92ZXJyaWRlIHZhbHVlcyBmcm9tIGNvbmZpZ3VyYXRpb24gZmlsZXMuCkBAIC00NjIsMTAgKzQ4MSwyNSBAQAogCWxpbmtnaXQ6Z2l0LXJlcGxhY2VbMV0gZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAKIC0tbGl0ZXJhbC1wYXRoc3BlY3M6OgotCVRyZWF0IHBhdGhzcGVjcyBsaXRlcmFsbHksIHJhdGhlciB0aGFuIGFzIGdsb2IgcGF0dGVybnMuIFRoaXMgaXMKLQllcXVpdmFsZW50IHRvIHNldHRpbmcgdGhlIGBHSVRfTElURVJBTF9QQVRIU1BFQ1NgIGVudmlyb25tZW50CisJVHJlYXQgcGF0aHNwZWNzIGxpdGVyYWxseSAoaS5lLiBubyBnbG9iYmluZywgbm8gcGF0aHNwZWMgbWFnaWMpLgorCVRoaXMgaXMgZXF1aXZhbGVudCB0byBzZXR0aW5nIHRoZSBgR0lUX0xJVEVSQUxfUEFUSFNQRUNTYCBlbnZpcm9ubWVudAogCXZhcmlhYmxlIHRvIGAxYC4KIAorLS1nbG9iLXBhdGhzcGVjczo6CisJQWRkICJnbG9iIiBtYWdpYyB0byBhbGwgcGF0aHNwZWMuIFRoaXMgaXMgZXF1aXZhbGVudCB0byBzZXR0aW5nCisJdGhlIGBHSVRfR0xPQl9QQVRIU1BFQ1NgIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGAxYC4gRGlzYWJsaW5nCisJZ2xvYmJpbmcgb24gaW5kaXZpZHVhbCBwYXRoc3BlY3MgY2FuIGJlIGRvbmUgdXNpbmcgcGF0aHNwZWMKKwltYWdpYyAiOihsaXRlcmFsKSIKKworLS1ub2dsb2ItcGF0aHNwZWNzOjoKKwlBZGQgImxpdGVyYWwiIG1hZ2ljIHRvIGFsbCBwYXRoc3BlYy4gVGhpcyBpcyBlcXVpdmFsZW50IHRvIHNldHRpbmcKKwl0aGUgYEdJVF9OT0dMT0JfUEFUSFNQRUNTYCBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBgMWAuIEVuYWJsaW5nCisJZ2xvYmJpbmcgb24gaW5kaXZpZHVhbCBwYXRoc3BlY3MgY2FuIGJlIGRvbmUgdXNpbmcgcGF0aHNwZWMKKwltYWdpYyAiOihnbG9iKSIKKworLS1pY2FzZS1wYXRoc3BlY3M6OgorCUFkZCAiaWNhc2UiIG1hZ2ljIHRvIGFsbCBwYXRoc3BlYy4gVGhpcyBpcyBlcXVpdmFsZW50IHRvIHNldHRpbmcKKwl0aGUgYEdJVF9JQ0FTRV9QQVRIU1BFQ1NgIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGAxYC4KIAogR0lUIENPTU1BTkRTCiAtLS0tLS0tLS0tLS0KQEAgLTgyOCw3ICs4NjIsNyBAQAogJ0dJVF9GTFVTSCc6OgogCUlmIHRoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0IHRvICIxIiwgdGhlbiBjb21tYW5kcyBzdWNoCiAJYXMgJ2dpdCBibGFtZScgKGluIGluY3JlbWVudGFsIG1vZGUpLCAnZ2l0IHJldi1saXN0JywgJ2dpdCBsb2cnLAotCSdnaXQgY2hlY2stYXR0cicsICdnaXQgY2hlY2staWdub3JlJywgYW5kICdnaXQgd2hhdGNoYW5nZWQnIHdpbGwKKwknZ2l0IGNoZWNrLWF0dHInIGFuZCAnZ2l0IGNoZWNrLWlnbm9yZScgd2lsbAogCWZvcmNlIGEgZmx1c2ggb2YgdGhlIG91dHB1dCBzdHJlYW0gYWZ0ZXIgZWFjaCByZWNvcmQgaGF2ZSBiZWVuCiAJZmx1c2hlZC4gSWYgdGhpcwogCXZhcmlhYmxlIGlzIHNldCB0byAiMCIsIHRoZSBvdXRwdXQgb2YgdGhlc2UgY29tbWFuZHMgd2lsbCBiZSBkb25lCkBAIC04NzIsNiArOTA2LDI4IEBACiAJbGl0ZXJhbCBwYXRocyB0byBHaXQgKGUuZy4sIHBhdGhzIHByZXZpb3VzbHkgZ2l2ZW4gdG8geW91IGJ5CiAJYGdpdCBscy10cmVlYCwgYC0tcmF3YCBkaWZmIG91dHB1dCwgZXRjKS4KIAorR0lUX0dMT0JfUEFUSFNQRUNTOjoKKwlTZXR0aW5nIHRoaXMgdmFyaWFibGUgdG8gYDFgIHdpbGwgY2F1c2UgR2l0IHRvIHRyZWF0IGFsbAorCXBhdGhzcGVjcyBhcyBnbG9iIHBhdHRlcm5zIChha2EgImdsb2IiIG1hZ2ljKS4KKworR0lUX05PR0xPQl9QQVRIU1BFQ1M6OgorCVNldHRpbmcgdGhpcyB2YXJpYWJsZSB0byBgMWAgd2lsbCBjYXVzZSBHaXQgdG8gdHJlYXQgYWxsCisJcGF0aHNwZWNzIGFzIGxpdGVyYWwgKGFrYSAibGl0ZXJhbCIgbWFnaWMpLgorCitHSVRfSUNBU0VfUEFUSFNQRUNTOjoKKwlTZXR0aW5nIHRoaXMgdmFyaWFibGUgdG8gYDFgIHdpbGwgY2F1c2UgR2l0IHRvIHRyZWF0IGFsbAorCXBhdGhzcGVjcyBhcyBjYXNlLWluc2Vuc2l0aXZlLgorCisnR0lUX1JFRkxPR19BQ1RJT04nOjoKKwlXaGVuIGEgcmVmIGlzIHVwZGF0ZWQsIHJlZmxvZyBlbnRyaWVzIGFyZSBjcmVhdGVkIHRvIGtlZXAKKwl0cmFjayBvZiB0aGUgcmVhc29uIHdoeSB0aGUgcmVmIHdhcyB1cGRhdGVkICh3aGljaCBpcworCXR5cGljYWxseSB0aGUgbmFtZSBvZiB0aGUgaGlnaC1sZXZlbCBjb21tYW5kIHRoYXQgdXBkYXRlZAorCXRoZSByZWYpLCBpbiBhZGRpdGlvbiB0byB0aGUgb2xkIGFuZCBuZXcgdmFsdWVzIG9mIHRoZSByZWYuCisJQSBzY3JpcHRlZCBQb3JjZWxhaW4gY29tbWFuZCBjYW4gdXNlIHNldF9yZWZsb2dfYWN0aW9uCisJaGVscGVyIGZ1bmN0aW9uIGluIGBnaXQtc2gtc2V0dXBgIHRvIHNldCBpdHMgbmFtZSB0byB0aGlzCisJdmFyaWFibGUgd2hlbiBpdCBpcyBpbnZva2VkIGFzIHRoZSB0b3AgbGV2ZWwgY29tbWFuZCBieSB0aGUKKwllbmQgdXNlciwgdG8gYmUgcmVjb3JkZWQgaW4gdGhlIGJvZHkgb2YgdGhlIHJlZmxvZy4KKwogCiBEaXNjdXNzaW9uW1tEaXNjdXNzaW9uXV0KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXRjbGkudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRjbGkudHh0CmluZGV4IDlhYzUwODguLjMxNDY0MTMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0Y2xpLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdGNsaS50eHQKQEAgLTU5LDYgKzU5LDEwIEBACiBzZWUgYGhlbGxvLmNgIGluIHlvdXIgd29ya2luZyB0cmVlIHdpdGggdGhlIGZvcm1lciwgYnV0IHdpdGggdGhlIGxhdHRlcgogeW91IHdpbGwuCiAKKyAqIEp1c3QgYXMgdGhlIGZpbGVzeXN0ZW0gJy4nIChwZXJpb2QpIHJlZmVycyB0byB0aGUgY3VycmVudCBkaXJlY3RvcnksCisgICB1c2luZyBhICcuJyBhcyBhIHJlcG9zaXRvcnkgbmFtZSBpbiBHaXQgKGEgZG90LXJlcG9zaXRvcnkpIGlzIGEgcmVsYXRpdmUKKyAgIHBhdGggYW5kIG1lYW5zIHlvdXIgY3VycmVudCByZXBvc2l0b3J5LgorCiBIZXJlIGFyZSB0aGUgcnVsZXMgcmVnYXJkaW5nIHRoZSAiZmxhZ3MiIHRoYXQgeW91IHNob3VsZCBmb2xsb3cgd2hlbiB5b3UgYXJlCiBzY3JpcHRpbmcgR2l0OgogCkBAIC0xMDYsNyArMTEwLDcgQEAKICsKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogJCBnaXQgZGVzY3JpYmUgLWgKLXVzYWdlOiBnaXQgZGVzY3JpYmUgW29wdGlvbnNdIDxjb21taXR0aXNoPioKK3VzYWdlOiBnaXQgZGVzY3JpYmUgW29wdGlvbnNdIDxjb21taXQtaXNoPioKICAgIG9yOiBnaXQgZGVzY3JpYmUgW29wdGlvbnNdIC0tZGlydHkKIAogICAgIC0tY29udGFpbnMgICAgICAgICAgICBmaW5kIHRoZSB0YWcgdGhhdCBjb21lcyBhZnRlciB0aGUgY29tbWl0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdGNvcmUtdHV0b3JpYWwudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRjb3JlLXR1dG9yaWFsLnR4dAppbmRleCBmNTM4YTg3Li4wNThhMzUyIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdGNvcmUtdHV0b3JpYWwudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0Y29yZS10dXRvcmlhbC50eHQKQEAgLTUzNCw0MiArNTM0LDkgQEAKIAogSW4gZmFjdCwgdG9nZXRoZXIgd2l0aCB0aGUgJ2dpdCByZXYtbGlzdCcgcHJvZ3JhbSAod2hpY2ggZ2VuZXJhdGVzIGEKIGxpc3Qgb2YgcmV2aXNpb25zKSwgJ2dpdCBkaWZmLXRyZWUnIGVuZHMgdXAgYmVpbmcgYSB2ZXJpdGFibGUgZm91bnQgb2YKLWNoYW5nZXMuIEEgdHJpdmlhbCAoYnV0IHZlcnkgdXNlZnVsKSBzY3JpcHQgY2FsbGVkICdnaXQgd2hhdGNoYW5nZWQnIGlzCi1pbmNsdWRlZCB3aXRoIEdpdCB3aGljaCBkb2VzIGV4YWN0bHkgdGhpcywgYW5kIHNob3dzIGEgbG9nIG9mIHJlY2VudAotYWN0aXZpdGllcy4KLQotVG8gc2VlIHRoZSB3aG9sZSBoaXN0b3J5IG9mIG91ciBwaXRpZnVsIGxpdHRsZSBnaXQtdHV0b3JpYWwgcHJvamVjdCwgeW91Ci1jYW4gZG8KLQotLS0tLS0tLS0tLS0tLS0tLQotJCBnaXQgbG9nCi0tLS0tLS0tLS0tLS0tLS0tCi0KLXdoaWNoIHNob3dzIGp1c3QgdGhlIGxvZyBtZXNzYWdlcywgb3IgaWYgd2Ugd2FudCB0byBzZWUgdGhlIGxvZyB0b2dldGhlcgotd2l0aCB0aGUgYXNzb2NpYXRlZCBwYXRjaGVzIHVzZSB0aGUgbW9yZSBjb21wbGV4IChhbmQgbXVjaCBtb3JlCi1wb3dlcmZ1bCkKLQotLS0tLS0tLS0tLS0tLS0tLQotJCBnaXQgd2hhdGNoYW5nZWQgLXAKLS0tLS0tLS0tLS0tLS0tLS0KLQotYW5kIHlvdSB3aWxsIHNlZSBleGFjdGx5IHdoYXQgaGFzIGNoYW5nZWQgaW4gdGhlIHJlcG9zaXRvcnkgb3ZlciBpdHMKLXNob3J0IGhpc3RvcnkuCi0KLVtOT1RFXQotV2hlbiB1c2luZyB0aGUgYWJvdmUgdHdvIGNvbW1hbmRzLCB0aGUgaW5pdGlhbCBjb21taXQgd2lsbCBiZSBzaG93bi4KLUlmIHRoaXMgaXMgYSBwcm9ibGVtIGJlY2F1c2UgaXQgaXMgaHVnZSwgeW91IGNhbiBoaWRlIGl0IGJ5IHNldHRpbmcKLXRoZSBsb2cuc2hvd3Jvb3QgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0byBmYWxzZS4gSGF2aW5nIHRoaXMsIHlvdQotY2FuIHN0aWxsIHNob3cgaXQgZm9yIGVhY2ggY29tbWFuZCBqdXN0IGFkZGluZyB0aGUgYC0tcm9vdGAgb3B0aW9uLAotd2hpY2ggaXMgYSBmbGFnIGZvciAnZ2l0IGRpZmYtdHJlZScgYWNjZXB0ZWQgYnkgYm90aCBjb21tYW5kcy4KLQotV2l0aCB0aGF0LCB5b3Ugc2hvdWxkIG5vdyBiZSBoYXZpbmcgc29tZSBpbmtsaW5nIG9mIHdoYXQgR2l0IGRvZXMsIGFuZAotY2FuIGV4cGxvcmUgb24geW91ciBvd24uCi0KLVtOT1RFXQotTW9zdCBsaWtlbHksIHlvdSBhcmUgbm90IGRpcmVjdGx5IHVzaW5nIHRoZSBjb3JlCi1HaXQgUGx1bWJpbmcgY29tbWFuZHMsIGJ1dCB1c2luZyBQb3JjZWxhaW4gc3VjaCBhcyAnZ2l0IGFkZCcsIGBnaXQtcm0nCi1hbmQgYGdpdC1jb21taXQnLgorY2hhbmdlcy4gIFlvdSBjYW4gZW11bGF0ZSBgZ2l0IGxvZ2AsIGBnaXQgbG9nIC1wYCwgZXRjLiB3aXRoIGEgdHJpdmlhbAorc2NyaXB0IHRoYXQgcGlwZXMgdGhlIG91dHB1dCBvZiBgZ2l0IHJldi1saXN0YCB0byBgZ2l0IGRpZmYtdHJlZSAtLXN0ZGluYCwKK3doaWNoIHdhcyBleGFjdGx5IGhvdyBlYXJseSB2ZXJzaW9ucyBvZiBgZ2l0IGxvZ2Agd2VyZSBpbXBsZW1lbnRlZC4KIAogCiBUYWdnaW5nIGEgdmVyc2lvbgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXRjdnMtbWlncmF0aW9uLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0Y3ZzLW1pZ3JhdGlvbi50eHQKaW5kZXggNWFiNWIwNy4uNWVhOTRjYiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXRjdnMtbWlncmF0aW9uLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdGN2cy1taWdyYXRpb24udHh0CkBAIC0xNTcsNyArMTU3LDcgQEAKIHJlcG9zaXRvcnkgdG8gYSBtYWlsaW5nIGxpc3QuICBTZWUgbGlua2dpdDpnaXRob29rc1s1XS4KIAogWW91IGNhbiBlbmZvcmNlIGZpbmVyIGdyYWluZWQgcGVybWlzc2lvbnMgdXNpbmcgdXBkYXRlIGhvb2tzLiAgU2VlCi1saW5rOmhvd3RvL3VwZGF0ZS1ob29rLWV4YW1wbGUudHh0W0NvbnRyb2xsaW5nIGFjY2VzcyB0byBicmFuY2hlcyB1c2luZworbGluazpob3d0by91cGRhdGUtaG9vay1leGFtcGxlLmh0bWxbQ29udHJvbGxpbmcgYWNjZXNzIHRvIGJyYW5jaGVzIHVzaW5nCiB1cGRhdGUgaG9va3NdLgogCiBQcm92aWRpbmcgQ1ZTIEFjY2VzcyB0byBhIEdpdCBSZXBvc2l0b3J5CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdGsudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRrLnR4dAppbmRleCBjMTdlNzYwLi5kNDRlMTRjIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdGsudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0ay50eHQKQEAgLTgsNyArOCw3IEBACiBTWU5PUFNJUwogLS0tLS0tLS0KIFt2ZXJzZV0KLSdnaXRrJyBbPG9wdGlvbj4uLi5dIFs8cmV2cz5dIFstLV0gWzxwYXRoPi4uLl0KKydnaXRrJyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uIHJhbmdlPl0gW1wtLV0gWzxwYXRoPi4uLl0KIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCkBAIC0xNiwyMSArMTYsMzggQEAKIHZpc3VhbGl6aW5nIHRoZSBjb21taXQgZ3JhcGgsIHNob3dpbmcgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBlYWNoIGNvbW1pdCwgYW5kCiB0aGUgZmlsZXMgaW4gdGhlIHRyZWVzIG9mIGVhY2ggcmV2aXNpb24uCiAKLUhpc3RvcmljYWxseSwgZ2l0ayB3YXMgdGhlIGZpcnN0IHJlcG9zaXRvcnkgYnJvd3Nlci4gSXQncyB3cml0dGVuIGluIHRjbC90awotYW5kIHN0YXJ0ZWQgb2ZmIGluIGEgc2VwYXJhdGUgcmVwb3NpdG9yeSBidXQgd2FzIGxhdGVyIG1lcmdlZCBpbnRvIHRoZSBtYWluCi1HaXQgcmVwb3NpdG9yeS4KLQogT1BUSU9OUwogLS0tLS0tLQotVG8gY29udHJvbCB3aGljaCByZXZpc2lvbnMgdG8gc2hvdywgdGhlIGNvbW1hbmQgdGFrZXMgb3B0aW9ucyBhcHBsaWNhYmxlIHRvCi10aGUgJ2dpdCByZXYtbGlzdCcgY29tbWFuZCAoc2VlIGxpbmtnaXQ6Z2l0LXJldi1saXN0WzFdKS4KLVRoaXMgbWFudWFsIHBhZ2UgZGVzY3JpYmVzIG9ubHkgdGhlIG1vc3QKLWZyZXF1ZW50bHkgdXNlZCBvcHRpb25zLgogCi0tbiA8bnVtYmVyPjo6Ci0tLW1heC1jb3VudD08bnVtYmVyPjo6CitUbyBjb250cm9sIHdoaWNoIHJldmlzaW9ucyB0byBzaG93LCBnaXRrIHN1cHBvcnRzIG1vc3Qgb3B0aW9ucworYXBwbGljYWJsZSB0byB0aGUgJ2dpdCByZXYtbGlzdCcgY29tbWFuZC4gIEl0IGFsc28gc3VwcG9ydHMgYSBmZXcKK29wdGlvbnMgYXBwbGljYWJsZSB0byB0aGUgJ2dpdCBkaWZmLSonIGNvbW1hbmRzIHRvIGNvbnRyb2wgaG93IHRoZQorY2hhbmdlcyBlYWNoIGNvbW1pdCBpbnRyb2R1Y2VzIGFyZSBzaG93bi4gIEZpbmFsbHksIGl0IHN1cHBvcnRzIHNvbWUKK2dpdGstc3BlY2lmaWMgb3B0aW9ucy4KIAotCUxpbWl0cyB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgdG8gc2hvdy4KK2dpdGsgZ2VuZXJhbGx5IG9ubHkgdW5kZXJzdGFuZHMgb3B0aW9ucyB3aXRoIGFyZ3VtZW50cyBpbiB0aGUKKydzdGlja2VkJyBmb3JtIChzZWUgbGlua2dpdDpnaXRjbGlbN10pIGR1ZSB0byBsaW1pdGF0aW9ucyBpbiB0aGUKK2NvbW1hbmQgbGluZSBwYXJzZXIuCisKK3Jldi1saXN0IG9wdGlvbnMgYW5kIGFyZ3VtZW50cworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKK1RoaXMgbWFudWFsIHBhZ2UgZGVzY3JpYmVzIG9ubHkgdGhlIG1vc3QgZnJlcXVlbnRseSB1c2VkIG9wdGlvbnMuICBTZWUKK2xpbmtnaXQ6Z2l0LXJldi1saXN0WzFdIGZvciBhIGNvbXBsZXRlIGxpc3QuCisKKy0tYWxsOjoKKworCVNob3cgYWxsIHJlZnMgKGJyYW5jaGVzLCB0YWdzLCBldGMuKS4KKworLS1icmFuY2hlc1s9PHBhdHRlcm4+XTo6CistLXRhZ3NbPTxwYXR0ZXJuPl06OgorLS1yZW1vdGVzWz08cGF0dGVybj5dOjoKKworCVByZXRlbmQgYXMgaWYgYWxsIHRoZSBicmFuY2hlcyAodGFncywgcmVtb3RlIGJyYW5jaGVzLCByZXNwLikKKwlhcmUgbGlzdGVkIG9uIHRoZSBjb21tYW5kIGxpbmUgYXMgJzxjb21taXQ+Jy4gSWYgJzxwYXR0ZXJuPicKKwlpcyBnaXZlbiwgbGltaXQgcmVmcyB0byBvbmVzIG1hdGNoaW5nIGdpdmVuIHNoZWxsIGdsb2IuIElmCisJcGF0dGVybiBsYWNrcyAnPycsICd7YXN0ZXJpc2t9Jywgb3IgJ1snLCAnL3thc3Rlcmlza30nIGF0IHRoZQorCWVuZCBpcyBpbXBsaWVkLgogCiAtLXNpbmNlPTxkYXRlPjo6CiAKQEAgLTQwLDkgKzU3LDkgQEAKIAogCVNob3cgY29tbWl0cyBvbGRlciB0aGFuIGEgc3BlY2lmaWMgZGF0ZS4KIAotLS1hbGw6OgorLS1kYXRlLW9yZGVyOjoKIAotCVNob3cgYWxsIGJyYW5jaGVzLgorCVNvcnQgY29tbWl0cyBieSBkYXRlIHdoZW4gcG9zc2libGUuCiAKIC0tbWVyZ2U6OgogCkBAIC01MSwxOSArNjgsMzcgQEAKIAl0aGF0IG1vZGlmeSB0aGUgY29uZmxpY3RlZCBmaWxlcyBhbmQgZG8gbm90IGV4aXN0IG9uIGFsbCB0aGUgaGVhZHMKIAliZWluZyBtZXJnZWQuCiAKLS0tYXJnc2NtZD08Y29tbWFuZD46OgotCUNvbW1hbmQgdG8gYmUgcnVuIGVhY2ggdGltZSBnaXRrIGhhcyB0byBkZXRlcm1pbmUgdGhlIGxpc3Qgb2YKLQk8cmV2cz4gdG8gc2hvdy4gIFRoZSBjb21tYW5kIGlzIGV4cGVjdGVkIHRvIHByaW50IG9uIGl0cyBzdGFuZGFyZAotCW91dHB1dCBhIGxpc3Qgb2YgYWRkaXRpb25hbCByZXZzIHRvIGJlIHNob3duLCBvbmUgcGVyIGxpbmUuCi0JVXNlIHRoaXMgaW5zdGVhZCBvZiBleHBsaWNpdGx5IHNwZWNpZnlpbmcgPHJldnM+IGlmIHRoZSBzZXQgb2YKLQljb21taXRzIHRvIHNob3cgbWF5IHZhcnkgYmV0d2VlbiByZWZyZXNoZXMuCistLWxlZnQtcmlnaHQ6OgogCi0tLXNlbGVjdC1jb21taXQ9PHJlZj46OgorCU1hcmsgd2hpY2ggc2lkZSBvZiBhIHN5bW1ldHJpYyBkaWZmIGEgY29tbWl0IGlzIHJlYWNoYWJsZQorCWZyb20uICBDb21taXRzIGZyb20gdGhlIGxlZnQgc2lkZSBhcmUgcHJlZml4ZWQgd2l0aCBhIGA8YAorCXN5bWJvbCBhbmQgdGhvc2UgZnJvbSB0aGUgcmlnaHQgd2l0aCBhIGA+YCBzeW1ib2wuCiAKLQlBdXRvbWF0aWNhbGx5IHNlbGVjdCB0aGUgc3BlY2lmaWVkIGNvbW1pdCBhZnRlciBsb2FkaW5nIHRoZSBncmFwaC4KLQlEZWZhdWx0IGJlaGF2aW9yIGlzIGVxdWl2YWxlbnQgdG8gc3BlY2lmeWluZyAnLS1zZWxlY3QtY29tbWl0PUhFQUQnLgorLS1mdWxsLWhpc3Rvcnk6OgogCi08cmV2cz46OgorCVdoZW4gZmlsdGVyaW5nIGhpc3Rvcnkgd2l0aCAnPHBhdGg+Li4uJywgZG9lcyBub3QgcHJ1bmUgc29tZQorCWhpc3RvcnkuICAoU2VlICJIaXN0b3J5IHNpbXBsaWZpY2F0aW9uIiBpbiBsaW5rZ2l0OmdpdC1sb2dbMV0KKwlmb3IgYSBtb3JlIGRldGFpbGVkIGV4cGxhbmF0aW9uLikKKworLS1zaW1wbGlmeS1tZXJnZXM6OgorCisJQWRkaXRpb25hbCBvcHRpb24gdG8gJy0tZnVsbC1oaXN0b3J5JyB0byByZW1vdmUgc29tZSBuZWVkbGVzcworCW1lcmdlcyBmcm9tIHRoZSByZXN1bHRpbmcgaGlzdG9yeSwgYXMgdGhlcmUgYXJlIG5vIHNlbGVjdGVkCisJY29tbWl0cyBjb250cmlidXRpbmcgdG8gdGhpcyBtZXJnZS4gIChTZWUgIkhpc3RvcnkKKwlzaW1wbGlmaWNhdGlvbiIgaW4gbGlua2dpdDpnaXQtbG9nWzFdIGZvciBhIG1vcmUgZGV0YWlsZWQKKwlleHBsYW5hdGlvbi4pCisKKy0tYW5jZXN0cnktcGF0aDo6CisKKwlXaGVuIGdpdmVuIGEgcmFuZ2Ugb2YgY29tbWl0cyB0byBkaXNwbGF5CisJKGUuZy4gJ2NvbW1pdDEuLmNvbW1pdDInIG9yICdjb21taXQyIHtjYXJldH1jb21taXQxJyksIG9ubHkKKwlkaXNwbGF5IGNvbW1pdHMgdGhhdCBleGlzdCBkaXJlY3RseSBvbiB0aGUgYW5jZXN0cnkgY2hhaW4KKwliZXR3ZWVuIHRoZSAnY29tbWl0MScgYW5kICdjb21taXQyJywgaS5lLiBjb21taXRzIHRoYXQgYXJlCisJYm90aCBkZXNjZW5kYW50cyBvZiAnY29tbWl0MScsIGFuZCBhbmNlc3RvcnMgb2YgJ2NvbW1pdDInLgorCShTZWUgIkhpc3Rvcnkgc2ltcGxpZmljYXRpb24iIGluIGxpbmtnaXQ6Z2l0LWxvZ1sxXSBmb3IgYSBtb3JlCisJZGV0YWlsZWQgZXhwbGFuYXRpb24uKQorCis8cmV2aXNpb24gcmFuZ2U+OjoKIAogCUxpbWl0IHRoZSByZXZpc2lvbnMgdG8gc2hvdy4gVGhpcyBjYW4gYmUgZWl0aGVyIGEgc2luZ2xlIHJldmlzaW9uCiAJbWVhbmluZyBzaG93IGZyb20gdGhlIGdpdmVuIHJldmlzaW9uIGFuZCBiYWNrLCBvciBpdCBjYW4gYmUgYSByYW5nZSBpbgpAQCAtNzgsNiArMTEzLDIzIEBACiAJYXZvaWQgYW1iaWd1aXR5IHdpdGggcmVzcGVjdCB0byByZXZpc2lvbiBuYW1lcyB1c2UgIi0tIiB0byBzZXBhcmF0ZSB0aGUgcGF0aHMKIAlmcm9tIGFueSBwcmVjZWRpbmcgb3B0aW9ucy4KIAorZ2l0ay1zcGVjaWZpYyBvcHRpb25zCit+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworLS1hcmdzY21kPTxjb21tYW5kPjo6CisKKwlDb21tYW5kIHRvIGJlIHJ1biBlYWNoIHRpbWUgZ2l0ayBoYXMgdG8gZGV0ZXJtaW5lIHRoZSByZXZpc2lvbgorCXJhbmdlIHRvIHNob3cuICBUaGUgY29tbWFuZCBpcyBleHBlY3RlZCB0byBwcmludCBvbiBpdHMKKwlzdGFuZGFyZCBvdXRwdXQgYSBsaXN0IG9mIGFkZGl0aW9uYWwgcmV2aXNpb25zIHRvIGJlIHNob3duLAorCW9uZSBwZXIgbGluZS4gIFVzZSB0aGlzIGluc3RlYWQgb2YgZXhwbGljaXRseSBzcGVjaWZ5aW5nIGEKKwknPHJldmlzaW9uIHJhbmdlPicgaWYgdGhlIHNldCBvZiBjb21taXRzIHRvIHNob3cgbWF5IHZhcnkKKwliZXR3ZWVuIHJlZnJlc2hlcy4KKworLS1zZWxlY3QtY29tbWl0PTxyZWY+OjoKKworCVNlbGVjdCB0aGUgc3BlY2lmaWVkIGNvbW1pdCBhZnRlciBsb2FkaW5nIHRoZSBncmFwaC4KKwlEZWZhdWx0IGJlaGF2aW9yIGlzIGVxdWl2YWxlbnQgdG8gc3BlY2lmeWluZyAnLS1zZWxlY3QtY29tbWl0PUhFQUQnLgorCiBFeGFtcGxlcwogLS0tLS0tLS0KIGdpdGsgdjIuNi4xMi4uIGluY2x1ZGUvc2NzaSBkcml2ZXJzL3Njc2k6OgpAQCAtMTAxLDYgKzE1MywxMyBAQAogR2l0ayBjcmVhdGVzIHRoZSAuZ2l0ayBmaWxlIGluIHlvdXIgJEhPTUUgZGlyZWN0b3J5IHRvIHN0b3JlIHByZWZlcmVuY2VzCiBzdWNoIGFzIGRpc3BsYXkgb3B0aW9ucywgZm9udCwgYW5kIGNvbG9ycy4KIAorSGlzdG9yeQorLS0tLS0tLQorR2l0ayB3YXMgdGhlIGZpcnN0IGdyYXBoaWNhbCByZXBvc2l0b3J5IGJyb3dzZXIuIEl0J3Mgd3JpdHRlbiBpbgordGNsL3RrIGFuZCBzdGFydGVkIG9mZiBpbiBhIHNlcGFyYXRlIHJlcG9zaXRvcnkgYnV0IHdhcyBsYXRlciBtZXJnZWQKK2ludG8gdGhlIG1haW4gR2l0IHJlcG9zaXRvcnkuCisKKwogU0VFIEFMU08KIC0tLS0tLS0tCiAncWdpdCgxKSc6OgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXRtb2R1bGVzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0bW9kdWxlcy50eHQKaW5kZXggNmExY2E0YS4uZjdiZTkzZiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXRtb2R1bGVzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdG1vZHVsZXMudHh0CkBAIC03NSw3ICs3NSw4IEBACiAJdGhlIHN1cGVycHJvamVjdCwgdGhlIHNldHRpbmcgdGhlcmUgd2lsbCBvdmVycmlkZSB0aGUgb25lIGZvdW5kIGluCiAJLmdpdG1vZHVsZXMuCiAJQm90aCBzZXR0aW5ncyBjYW4gYmUgb3ZlcnJpZGRlbiBvbiB0aGUgY29tbWFuZCBsaW5lIGJ5IHVzaW5nIHRoZQotCSItLWlnbm9yZS1zdWJtb2R1bGUiIG9wdGlvbi4KKwkiLS1pZ25vcmUtc3VibW9kdWxlIiBvcHRpb24uIFRoZSAnZ2l0IHN1Ym1vZHVsZScgY29tbWFuZHMgYXJlIG5vdAorCWFmZmVjdGVkIGJ5IHRoaXMgc2V0dGluZy4KIAogCiBFWEFNUExFUwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXRyZW1vdGUtaGVscGVycy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdHJlbW90ZS1oZWxwZXJzLnR4dAppbmRleCAwODI3ZjY5Li5mMWY0Y2E5IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdHJlbW90ZS1oZWxwZXJzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdHJlbW90ZS1oZWxwZXJzLnR4dApAQCAtMTIwLDYgKzEyMCwxMSBAQAogV2hlbiBjaG9vc2luZyBiZXR3ZWVuICdwdXNoJyBhbmQgJ2V4cG9ydCcsIEdpdCBwcmVmZXJzICdwdXNoJy4KIE90aGVyIGZyb250ZW5kcyBtYXkgaGF2ZSBzb21lIG90aGVyIG9yZGVyIG9mIHByZWZlcmVuY2UuCiAKKyduby1wcml2YXRlLXVwZGF0ZSc6OgorCVdoZW4gdXNpbmcgdGhlICdyZWZzcGVjJyBjYXBhYmlsaXR5LCBnaXQgbm9ybWFsbHkgdXBkYXRlcyB0aGUKKwlwcml2YXRlIHJlZiBvbiBzdWNjZXNzZnVsIHB1c2guIFRoaXMgdXBkYXRlIGlzIGRpc2FibGVkIHdoZW4KKwl0aGUgcmVtb3RlLWhlbHBlciBkZWNsYXJlcyB0aGUgY2FwYWJpbGl0eSAnbm8tcHJpdmF0ZS11cGRhdGUnLgorCiAKIENhcGFiaWxpdGllcyBmb3IgRmV0Y2hpbmcKIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KQEAgLTE0Myw2ICsxNDgsMTAgQEAKICsKIFN1cHBvcnRlZCBjb21tYW5kczogJ2xpc3QnLCAnaW1wb3J0Jy4KIAorJ2NoZWNrLWNvbm5lY3Rpdml0eSc6OgorCUNhbiBndWFyYW50ZWUgdGhhdCB3aGVuIGEgY2xvbmUgaXMgcmVxdWVzdGVkLCB0aGUgcmVjZWl2ZWQKKwlwYWNrIGlzIHNlbGYgY29udGFpbmVkIGFuZCBpcyBjb25uZWN0ZWQuCisKIElmIGEgaGVscGVyIGFkdmVydGlzZXMgJ2Nvbm5lY3QnLCBHaXQgd2lsbCB1c2UgaXQgaWYgcG9zc2libGUgYW5kCiBmYWxsIGJhY2sgdG8gYW5vdGhlciBjYXBhYmlsaXR5IGlmIHRoZSBoZWxwZXIgcmVxdWVzdHMgc28gd2hlbgogY29ubmVjdGluZyAoc2VlIHRoZSAnY29ubmVjdCcgY29tbWFuZCB1bmRlciBDT01NQU5EUykuCkBAIC0xNzYsNiArMTg1LDEyIEBACiBhZHZlcnRpc2VkIHdpdGggdGhpcyBjYXBhYmlsaXR5IG11c3QgY292ZXIgYWxsIHJlZnMgcmVwb3J0ZWQgYnkKIHRoZSBsaXN0IGNvbW1hbmQuICBJZiBubyAncmVmc3BlYycgY2FwYWJpbGl0eSBpcyBhZHZlcnRpc2VkLAogdGhlcmUgaXMgYW4gaW1wbGllZCBgcmVmc3BlYyAqOipgLgorKworV2hlbiB3cml0aW5nIHJlbW90ZS1oZWxwZXJzIGZvciBkZWNlbnRyYWxpemVkIHZlcnNpb24gY29udHJvbAorc3lzdGVtcywgaXQgaXMgYWR2aXNlZCB0byBrZWVwIGEgbG9jYWwgY29weSBvZiB0aGUgcmVwb3NpdG9yeSB0bworaW50ZXJhY3Qgd2l0aCwgYW5kIHRvIGxldCB0aGUgcHJpdmF0ZSBuYW1lc3BhY2UgcmVmcyBwb2ludCB0byB0aGlzCitsb2NhbCByZXBvc2l0b3J5LCB3aGlsZSB0aGUgcmVmcy9yZW1vdGVzIG5hbWVzcGFjZSBpcyB1c2VkIHRvIHRyYWNrCit0aGUgcmVtb3RlIHJlcG9zaXRvcnkuCiAKICdiaWRpLWltcG9ydCc6OgogCVRoaXMgbW9kaWZpZXMgdGhlICdpbXBvcnQnIGNhcGFiaWxpdHkuCkBAIC0yNzAsNiArMjg1LDkgQEAKIEdJVF9ESVIvb2JqZWN0cy9wYWNrIHdoaWNoIGlzIGtlZXBpbmcgYSBwYWNrIHVudGlsIHJlZnMgY2FuIGJlCiBzdWl0YWJseSB1cGRhdGVkLgogKworSWYgb3B0aW9uICdjaGVjay1jb25uZWN0aXZpdHknIGlzIHJlcXVlc3RlZCwgdGhlIGhlbHBlciBtdXN0IG91dHB1dAorJ2Nvbm5lY3Rpdml0eS1vaycgaWYgdGhlIGNsb25lIGlzIHNlbGYtY29udGFpbmVkIGFuZCBjb25uZWN0ZWQuCisrCiBTdXBwb3J0ZWQgaWYgdGhlIGhlbHBlciBoYXMgdGhlICJmZXRjaCIgY2FwYWJpbGl0eS4KIAogJ3B1c2gnICs8c3JjPjo8ZHN0Pjo6CkBAIC00MTYsNiArNDM0LDkgQEAKIAltdXN0IG5vdCByZWx5IG9uIHRoaXMgb3B0aW9uIGJlaW5nIHNldCBiZWZvcmUKIAljb25uZWN0IHJlcXVlc3Qgb2NjdXJzLgogCisnb3B0aW9uIGNoZWNrLWNvbm5lY3Rpdml0eScgXHsndHJ1ZSd8J2ZhbHNlJ1x9OjoKKwlSZXF1ZXN0IHRoZSBoZWxwZXIgdG8gY2hlY2sgY29ubmVjdGl2aXR5IG9mIGEgY2xvbmUuCisKIFNFRSBBTFNPCiAtLS0tLS0tLQogbGlua2dpdDpnaXQtcmVtb3RlWzFdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdHdlYi5jb25mLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0d2ViLmNvbmYudHh0CmluZGV4IDMwNWRiNjMuLmUyMTEzZDkgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0d2ViLmNvbmYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0d2ViLmNvbmYudHh0CkBAIC04MjIsMTggKzgyMiwxOCBAQAogUHJvamVjdCBzcGVjaWZpYyBvdmVycmlkZSBpcyBub3Qgc3VwcG9ydGVkLgogCiBqYXZhc2NyaXB0LXRpbWV6b25lOjoKLQlFbmFibGUgYW5kIGNvbmZpZ3VyZSB0aGUgYWJpbGl0eSB0byBjaGFuZ2UgYSBjb21tb24gdGltZXpvbmUgZm9yIGRhdGVzCisJRW5hYmxlIGFuZCBjb25maWd1cmUgdGhlIGFiaWxpdHkgdG8gY2hhbmdlIGEgY29tbW9uIHRpbWUgem9uZSBmb3IgZGF0ZXMKIAlpbiBnaXR3ZWIgb3V0cHV0IHZpYSBKYXZhU2NyaXB0LiAgRGF0ZXMgaW4gZ2l0d2ViIG91dHB1dCBpbmNsdWRlCiAJYXV0aG9yZGF0ZSBhbmQgY29tbWl0dGVyZGF0ZSBpbiAiY29tbWl0IiwgImNvbW1pdGRpZmYiIGFuZCAibG9nIgogCXZpZXdzLCBhbmQgdGFnZ2VyZGF0ZSBpbiAidGFnIiB2aWV3LiAgRW5hYmxlZCBieSBkZWZhdWx0LgogKwotVGhlIHZhbHVlIGlzIGEgbGlzdCBvZiB0aHJlZSB2YWx1ZXM6IGEgZGVmYXVsdCB0aW1lem9uZSAoZm9yIGlmIHRoZSBjbGllbnQKLWhhc24ndCBzZWxlY3RlZCBzb21lIG90aGVyIHRpbWV6b25lIGFuZCBzYXZlZCBpdCBpbiBhIGNvb2tpZSksIGEgbmFtZSBvZiBjb29raWUKLXdoZXJlIHRvIHN0b3JlIHNlbGVjdGVkIHRpbWV6b25lLCBhbmQgYSBDU1MgY2xhc3MgdXNlZCB0byBtYXJrIHVwCitUaGUgdmFsdWUgaXMgYSBsaXN0IG9mIHRocmVlIHZhbHVlczogYSBkZWZhdWx0IHRpbWUgem9uZSAoZm9yIGlmIHRoZSBjbGllbnQKK2hhc24ndCBzZWxlY3RlZCBzb21lIG90aGVyIHRpbWUgem9uZSBhbmQgc2F2ZWQgaXQgaW4gYSBjb29raWUpLCBhIG5hbWUgb2YgY29va2llCit3aGVyZSB0byBzdG9yZSBzZWxlY3RlZCB0aW1lIHpvbmUsIGFuZCBhIENTUyBjbGFzcyB1c2VkIHRvIG1hcmsgdXAKIGRhdGVzIGZvciBtYW5pcHVsYXRpb24uICBJZiB5b3Ugd2FudCB0byB0dXJuIHRoaXMgZmVhdHVyZSBvZmYsIHNldCAiZGVmYXVsdCIKIHRvIGVtcHR5IGxpc3Q6IGBbXWAuCiArCi1UeXBpY2FsIGdpdHdlYiBjb25maWcgZmlsZXMgd2lsbCBvbmx5IGNoYW5nZSBzdGFydGluZyAoZGVmYXVsdCkgdGltZXpvbmUsCitUeXBpY2FsIGdpdHdlYiBjb25maWcgZmlsZXMgd2lsbCBvbmx5IGNoYW5nZSBzdGFydGluZyAoZGVmYXVsdCkgdGltZSB6b25lLAogYW5kIGxlYXZlIG90aGVyIGVsZW1lbnRzIGF0IHRoZWlyIGRlZmF1bHQgdmFsdWVzOgogKwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC04NDMsOSArODQzLDkgQEAKIFRoZSBleGFtcGxlIGNvbmZpZ3VyYXRpb24gcHJlc2VudGVkIGhlcmUgaXMgZ3VhcmFudGVlZCB0byBiZSBiYWNrd2FyZHMKIGFuZCBmb3J3YXJkIGNvbXBhdGlibGUuCiArCi1UaW1lem9uZSB2YWx1ZXMgY2FuIGJlICJsb2NhbCIgKGZvciBsb2NhbCB0aW1lem9uZSB0aGF0IGJyb3dzZXIgdXNlcyksICJ1dGMiCitUaW1lIHpvbmUgdmFsdWVzIGNhbiBiZSAibG9jYWwiIChmb3IgbG9jYWwgdGltZSB6b25lIHRoYXQgYnJvd3NlciB1c2VzKSwgInV0YyIKICh3aGF0IGdpdHdlYiB1c2VzIHdoZW4gSmF2YVNjcmlwdCBvciB0aGlzIGZlYXR1cmUgaXMgZGlzYWJsZWQpLCBvciBudW1lcmljYWwKLXRpbWV6b25lcyBpbiB0aGUgZm9ybSBvZiAiKy8tSEhNTSIsIHN1Y2ggYXMgIiswMjAwIi4KK3RpbWUgem9uZXMgaW4gdGhlIGZvcm0gb2YgIisvLUhITU0iLCBzdWNoIGFzICIrMDIwMCIuCiArCiBQcm9qZWN0IHNwZWNpZmljIG92ZXJyaWRlIGlzIG5vdCBzdXBwb3J0ZWQuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2xvc3NhcnktY29udGVudC50eHQgYi9Eb2N1bWVudGF0aW9uL2dsb3NzYXJ5LWNvbnRlbnQudHh0CmluZGV4IGRiYTUwNjIuLmU0NzA2NjEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2xvc3NhcnktY29udGVudC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9nbG9zc2FyeS1jb250ZW50LnR4dApAQCAtODIsNiArODIsMTggQEAKIAl0byB0aGUgdG9wIDw8ZGVmX2RpcmVjdG9yeSxkaXJlY3Rvcnk+PiBvZiB0aGUgc3RvcmVkCiAJcmV2aXNpb24uCiAKK1tbZGVmX2NvbW1pdC1pc2hdXWNvbW1pdC1pc2ggKGFsc28gY29tbWl0dGlzaCk6OgorCUEgPDxkZWZfY29tbWl0X29iamVjdCxjb21taXQgb2JqZWN0Pj4gb3IgYW4KKwk8PGRlZl9vYmplY3Qsb2JqZWN0Pj4gdGhhdCBjYW4gYmUgcmVjdXJzaXZlbHkgZGVyZWZlcmVuY2VkIHRvCisJYSBjb21taXQgb2JqZWN0LgorCVRoZSBmb2xsb3dpbmcgYXJlIGFsbCBjb21taXQtaXNoZXM6CisJYSBjb21taXQgb2JqZWN0LAorCWEgPDxkZWZfdGFnX29iamVjdCx0YWcgb2JqZWN0Pj4gdGhhdCBwb2ludHMgdG8gYSBjb21taXQKKwlvYmplY3QsCisJYSB0YWcgb2JqZWN0IHRoYXQgcG9pbnRzIHRvIGEgdGFnIG9iamVjdCB0aGF0IHBvaW50cyB0byBhCisJY29tbWl0IG9iamVjdCwKKwlldGMuCisKIFtbZGVmX2NvcmVfZ2l0XV1jb3JlIEdpdDo6CiAJRnVuZGFtZW50YWwgZGF0YSBzdHJ1Y3R1cmVzIGFuZCB1dGlsaXRpZXMgb2YgR2l0LiBFeHBvc2VzIG9ubHkgbGltaXRlZAogCXNvdXJjZSBjb2RlIG1hbmFnZW1lbnQgdG9vbHMuCkBAIC0zMjIsMTAgKzMzNCw1NCBAQAogYWdhaW5zdCB0aGUgcGF0aC4KICsKIFRoZSAibWFnaWMgc2lnbmF0dXJlIiBjb25zaXN0cyBvZiBhbiBBU0NJSSBzeW1ib2wgdGhhdCBpcyBub3QKLWFscGhhbnVtZXJpYy4gQ3VycmVudGx5IG9ubHkgdGhlIHNsYXNoIGAvYCBpcyByZWNvZ25pemVkIGFzIGEKLSJtYWdpYyBzaWduYXR1cmUiOiBpdCBtYWtlcyB0aGUgcGF0dGVybiBtYXRjaCBmcm9tIHRoZSByb290IG9mCi10aGUgd29ya2luZyB0cmVlLCBldmVuIHdoZW4geW91IGFyZSBydW5uaW5nIHRoZSBjb21tYW5kIGZyb20KLWluc2lkZSBhIHN1YmRpcmVjdG9yeS4KK2FscGhhbnVtZXJpYy4KKysKKy0tCit0b3AgYC9gOzsKKwlUaGUgbWFnaWMgd29yZCBgdG9wYCAobW5lbW9uaWM6IGAvYCkgbWFrZXMgdGhlIHBhdHRlcm4gbWF0Y2gKKwlmcm9tIHRoZSByb290IG9mIHRoZSB3b3JraW5nIHRyZWUsIGV2ZW4gd2hlbiB5b3UgYXJlIHJ1bm5pbmcKKwl0aGUgY29tbWFuZCBmcm9tIGluc2lkZSBhIHN1YmRpcmVjdG9yeS4KKworbGl0ZXJhbDs7CisJV2lsZGNhcmRzIGluIHRoZSBwYXR0ZXJuIHN1Y2ggYXMgYCpgIG9yIGA/YCBhcmUgdHJlYXRlZAorCWFzIGxpdGVyYWwgY2hhcmFjdGVycy4KKworaWNhc2U7OworCUNhc2UgaW5zZW5zaXRpdmUgbWF0Y2guCisKK2dsb2I7OworCUdpdCB0cmVhdHMgdGhlIHBhdHRlcm4gYXMgYSBzaGVsbCBnbG9iIHN1aXRhYmxlIGZvcgorCWNvbnN1bXB0aW9uIGJ5IGZubWF0Y2goMykgd2l0aCB0aGUgRk5NX1BBVEhOQU1FIGZsYWc6CisJd2lsZGNhcmRzIGluIHRoZSBwYXR0ZXJuIHdpbGwgbm90IG1hdGNoIGEgLyBpbiB0aGUgcGF0aG5hbWUuCisJRm9yIGV4YW1wbGUsICJEb2N1bWVudGF0aW9uL3thc3Rlcmlza30uaHRtbCIgbWF0Y2hlcworCSJEb2N1bWVudGF0aW9uL2dpdC5odG1sIiBidXQgbm90ICJEb2N1bWVudGF0aW9uL3BwYy9wcGMuaHRtbCIKKwlvciAidG9vbHMvcGVyZi9Eb2N1bWVudGF0aW9uL3BlcmYuaHRtbCIuCisrCitUd28gY29uc2VjdXRpdmUgYXN0ZXJpc2tzICgiYCoqYCIpIGluIHBhdHRlcm5zIG1hdGNoZWQgYWdhaW5zdAorZnVsbCBwYXRobmFtZSBtYXkgaGF2ZSBzcGVjaWFsIG1lYW5pbmc6CisKKyAtIEEgbGVhZGluZyAiYCoqYCIgZm9sbG93ZWQgYnkgYSBzbGFzaCBtZWFucyBtYXRjaCBpbiBhbGwKKyAgIGRpcmVjdG9yaWVzLiBGb3IgZXhhbXBsZSwgImAqKi9mb29gIiBtYXRjaGVzIGZpbGUgb3IgZGlyZWN0b3J5CisgICAiYGZvb2AiIGFueXdoZXJlLCB0aGUgc2FtZSBhcyBwYXR0ZXJuICJgZm9vYCIuICIqKi9mb28vYmFyIgorICAgbWF0Y2hlcyBmaWxlIG9yIGRpcmVjdG9yeSAiYGJhcmAiIGFueXdoZXJlIHRoYXQgaXMgZGlyZWN0bHkKKyAgIHVuZGVyIGRpcmVjdG9yeSAiYGZvb2AiLgorCisgLSBBIHRyYWlsaW5nICIvKioiIG1hdGNoZXMgZXZlcnl0aGluZyBpbnNpZGUuIEZvciBleGFtcGxlLAorICAgImFiYy8qKiIgbWF0Y2hlcyBhbGwgZmlsZXMgaW5zaWRlIGRpcmVjdG9yeSAiYWJjIiwgcmVsYXRpdmUKKyAgIHRvIHRoZSBsb2NhdGlvbiBvZiB0aGUgYC5naXRpZ25vcmVgIGZpbGUsIHdpdGggaW5maW5pdGUgZGVwdGguCisKKyAtIEEgc2xhc2ggZm9sbG93ZWQgYnkgdHdvIGNvbnNlY3V0aXZlIGFzdGVyaXNrcyB0aGVuIGEgc2xhc2gKKyAgIG1hdGNoZXMgemVybyBvciBtb3JlIGRpcmVjdG9yaWVzLiBGb3IgZXhhbXBsZSwgImBhLyoqL2JgIgorICAgbWF0Y2hlcyAiYGEvYmAiLCAiYGEveC9iYCIsICJgYS94L3kvYmAiIGFuZCBzbyBvbi4KKworIC0gT3RoZXIgY29uc2VjdXRpdmUgYXN0ZXJpc2tzIGFyZSBjb25zaWRlcmVkIGludmFsaWQuCisrCitHbG9iIG1hZ2ljIGlzIGluY29tcGF0aWJsZSB3aXRoIGxpdGVyYWwgbWFnaWMuCistLQorKworQ3VycmVudGx5IG9ubHkgdGhlIHNsYXNoIGAvYCBpcyByZWNvZ25pemVkIGFzIHRoZSAibWFnaWMgc2lnbmF0dXJlIiwKK2J1dCBpdCBpcyBlbnZpc2lvbmVkIHRoYXQgd2Ugd2lsbCBzdXBwb3J0IG1vcmUgdHlwZXMgb2YgbWFnaWMgaW4gbGF0ZXIKK3ZlcnNpb25zIG9mIEdpdC4KICsKIEEgcGF0aHNwZWMgd2l0aCBvbmx5IGEgY29sb24gbWVhbnMgInRoZXJlIGlzIG5vIHBhdGhzcGVjIi4gVGhpcyBmb3JtCiBzaG91bGQgbm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgcGF0aHNwZWMuCkBAIC0zODMsMTAgKzQzOSwyMCBAQAogCXRvIHRoZSByZXN1bHQuCiAKIFtbZGVmX3JlZl1dcmVmOjoKLQlBIDQwLWJ5dGUgaGV4IHJlcHJlc2VudGF0aW9uIG9mIGEgPDxkZWZfU0hBMSxTSEEtMT4+IG9yIGEgbmFtZSB0aGF0Ci0JZGVub3RlcyBhIHBhcnRpY3VsYXIgPDxkZWZfb2JqZWN0LG9iamVjdD4+LiBUaGV5IG1heSBiZSBzdG9yZWQgaW4KLQlhIGZpbGUgdW5kZXIgYCRHSVRfRElSL3JlZnMvYCBkaXJlY3RvcnksIG9yCi0JaW4gdGhlIGAkR0lUX0RJUi9wYWNrZWQtcmVmc2AgZmlsZS4KKwlBIG5hbWUgdGhhdCBiZWdpbnMgd2l0aCBgcmVmcy9gIChlLmcuIGByZWZzL2hlYWRzL21hc3RlcmApCisJdGhhdCBwb2ludHMgdG8gYW4gPDxkZWZfb2JqZWN0X25hbWUsb2JqZWN0IG5hbWU+PiBvciBhbm90aGVyCisJcmVmICh0aGUgbGF0dGVyIGlzIGNhbGxlZCBhIDw8ZGVmX3N5bXJlZixzeW1ib2xpYyByZWY+PikuCisJRm9yIGNvbnZlbmllbmNlLCBhIHJlZiBjYW4gc29tZXRpbWVzIGJlIGFiYnJldmlhdGVkIHdoZW4gdXNlZAorCWFzIGFuIGFyZ3VtZW50IHRvIGEgR2l0IGNvbW1hbmQ7IHNlZSBsaW5rZ2l0OmdpdHJldmlzaW9uc1s3XQorCWZvciBkZXRhaWxzLgorCVJlZnMgYXJlIHN0b3JlZCBpbiB0aGUgPDxkZWZfcmVwb3NpdG9yeSxyZXBvc2l0b3J5Pj4uCisrCitUaGUgcmVmIG5hbWVzcGFjZSBpcyBoaWVyYXJjaGljYWwuCitEaWZmZXJlbnQgc3ViaGllcmFyY2hpZXMgYXJlIHVzZWQgZm9yIGRpZmZlcmVudCBwdXJwb3NlcyAoZS5nLiB0aGUKK2ByZWZzL2hlYWRzL2AgaGllcmFyY2h5IGlzIHVzZWQgdG8gcmVwcmVzZW50IGxvY2FsIGJyYW5jaGVzKS4KKysKK1RoZXJlIGFyZSBhIGZldyBzcGVjaWFsLXB1cnBvc2UgcmVmcyB0aGF0IGRvIG5vdCBiZWdpbiB3aXRoIGByZWZzL2AuCitUaGUgbW9zdCBub3RhYmxlIGV4YW1wbGUgaXMgYEhFQURgLgogCiBbW2RlZl9yZWZsb2ddXXJlZmxvZzo6CiAJQSByZWZsb2cgc2hvd3MgdGhlIGxvY2FsICJoaXN0b3J5IiBvZiBhIHJlZi4gIEluIG90aGVyIHdvcmRzLApAQCAtNDg2LDEwICs1NTIsMTkgQEAKIAl3aXRoIHJlZnMgdG8gdGhlIGFzc29jaWF0ZWQgYmxvYiBhbmQvb3IgdHJlZSBvYmplY3RzLiBBCiAJPDxkZWZfdHJlZSx0cmVlPj4gaXMgZXF1aXZhbGVudCB0byBhIDw8ZGVmX2RpcmVjdG9yeSxkaXJlY3Rvcnk+Pi4KIAotW1tkZWZfdHJlZS1pc2hdXXRyZWUtaXNoOjoKLQlBIDw8ZGVmX3JlZixyZWY+PiBwb2ludGluZyB0byBlaXRoZXIgYSA8PGRlZl9jb21taXRfb2JqZWN0LGNvbW1pdAotCW9iamVjdD4+LCBhIDw8ZGVmX3RyZWVfb2JqZWN0LHRyZWUgb2JqZWN0Pj4sIG9yIGEgPDxkZWZfdGFnX29iamVjdCx0YWcKLQlvYmplY3Q+PiBwb2ludGluZyB0byBhIHRhZyBvciBjb21taXQgb3IgdHJlZSBvYmplY3QuCitbW2RlZl90cmVlLWlzaF1ddHJlZS1pc2ggKGFsc28gdHJlZWlzaCk6OgorCUEgPDxkZWZfdHJlZV9vYmplY3QsdHJlZSBvYmplY3Q+PiBvciBhbiA8PGRlZl9vYmplY3Qsb2JqZWN0Pj4KKwl0aGF0IGNhbiBiZSByZWN1cnNpdmVseSBkZXJlZmVyZW5jZWQgdG8gYSB0cmVlIG9iamVjdC4KKwlEZXJlZmVyZW5jaW5nIGEgPDxkZWZfY29tbWl0X29iamVjdCxjb21taXQgb2JqZWN0Pj4geWllbGRzIHRoZQorCXRyZWUgb2JqZWN0IGNvcnJlc3BvbmRpbmcgdG8gdGhlIDw8ZGVmX3JldmlzaW9uLHJldmlzaW9uPj4ncworCXRvcCA8PGRlZl9kaXJlY3RvcnksZGlyZWN0b3J5Pj4uCisJVGhlIGZvbGxvd2luZyBhcmUgYWxsIHRyZWUtaXNoZXM6CisJYSA8PGRlZl9jb21taXQtaXNoLGNvbW1pdC1pc2g+PiwKKwlhIHRyZWUgb2JqZWN0LAorCWEgPDxkZWZfdGFnX29iamVjdCx0YWcgb2JqZWN0Pj4gdGhhdCBwb2ludHMgdG8gYSB0cmVlIG9iamVjdCwKKwlhIHRhZyBvYmplY3QgdGhhdCBwb2ludHMgdG8gYSB0YWcgb2JqZWN0IHRoYXQgcG9pbnRzIHRvIGEgdHJlZQorCW9iamVjdCwKKwlldGMuCiAKIFtbZGVmX3VubWVyZ2VkX2luZGV4XV11bm1lcmdlZCBpbmRleDo6CiAJQW4gPDxkZWZfaW5kZXgsaW5kZXg+PiB3aGljaCBjb250YWlucyB1bm1lcmdlZApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ob3d0by9yZWNvdmVyLWNvcnJ1cHRlZC1vYmplY3QtaGFyZGVyLnR4dCBiL0RvY3VtZW50YXRpb24vaG93dG8vcmVjb3Zlci1jb3JydXB0ZWQtb2JqZWN0LWhhcmRlci50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmYzM2RhYwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaG93dG8vcmVjb3Zlci1jb3JydXB0ZWQtb2JqZWN0LWhhcmRlci50eHQKQEAgLTAsMCArMSwyNDIgQEAKK0RhdGU6IFdlZCwgMTYgT2N0IDIwMTMgMDQ6MzQ6MDEgLTA0MDAKK0Zyb206IEplZmYgS2luZyA8cGVmZkBwZWZmLm5ldD4KK1N1YmplY3Q6IHBhY2sgY29ycnVwdGlvbiBwb3N0LW1vcnRlbQorQWJzdHJhY3Q6IFJlY292ZXJpbmcgYSBjb3JydXB0ZWQgb2JqZWN0IHdoZW4gbm8gZ29vZCBjb3B5IGlzIGF2YWlsYWJsZS4KK0NvbnRlbnQtdHlwZTogdGV4dC9hc2NpaWRvYworCitIb3cgdG8gcmVjb3ZlciBhbiBvYmplY3QgZnJvbSBzY3JhdGNoCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK0kgd2FzIHJlY2VudGx5IHByZXNlbnRlZCB3aXRoIGEgcmVwb3NpdG9yeSB3aXRoIGEgY29ycnVwdGVkIHBhY2tmaWxlLAorYW5kIHdhcyBhc2tlZCBpZiB0aGUgZGF0YSB3YXMgcmVjb3ZlcmFibGUuIFRoaXMgcG9zdC1tb3J0ZW0gZGVzY3JpYmVzCit0aGUgc3RlcHMgSSB0b29rIHRvIGludmVzdGlnYXRlIGFuZCBmaXggdGhlIHByb2JsZW0uIEkgdGhvdWdodCBvdGhlcnMKK21pZ2h0IGZpbmQgdGhlIHByb2Nlc3MgaW50ZXJlc3RpbmcsIGFuZCBpdCBtaWdodCBoZWxwIHNvbWVib2R5IGluIHRoZQorc2FtZSBzaXR1YXRpb24uCisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitOb3RlOiBJbiB0aGlzIGNhc2UsIG5vIGdvb2QgY29weSBvZiB0aGUgcmVwb3NpdG9yeSB3YXMgYXZhaWxhYmxlLiBGb3IKK3RoZSBtdWNoIGVhc2llciBjYXNlIHdoZXJlIHlvdSBjYW4gZ2V0IHRoZSBjb3JydXB0ZWQgb2JqZWN0IGZyb20KK2Vsc2V3aGVyZSwgc2VlIGxpbms6cmVjb3Zlci1jb3JydXB0ZWQtYmxvYi1vYmplY3QuaHRtbFt0aGlzIGhvd3RvXS4KKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKK0kgc3RhcnRlZCB3aXRoIGFuIGZzY2ssIHdoaWNoIGZvdW5kIGEgcHJvYmxlbSB3aXRoIGV4YWN0bHkgb25lIG9iamVjdAorKEkndmUgdXNlZCAkcGFjayBhbmQgJG9iaiBiZWxvdyB0byBrZWVwIHRoZSBvdXRwdXQgcmVhZGFibGUsIGFuZCBhbHNvCitiZWNhdXNlIEknbGwgcmVmZXIgdG8gdGhlbSBsYXRlcik6CisKKy0tLS0tLS0tLS0tCisgICAgJCBnaXQgZnNjaworICAgIGVycm9yOiAkcGFjayBTSEExIGNoZWNrc3VtIG1pc21hdGNoCisgICAgZXJyb3I6IGluZGV4IENSQyBtaXNtYXRjaCBmb3Igb2JqZWN0ICRvYmogZnJvbSAkcGFjayBhdCBvZmZzZXQgNTE2NTM4NzMKKyAgICBlcnJvcjogaW5mbGF0ZTogZGF0YSBzdHJlYW0gZXJyb3IgKGluY29ycmVjdCBkYXRhIGNoZWNrKQorICAgIGVycm9yOiBjYW5ub3QgdW5wYWNrICRvYmogZnJvbSAkcGFjayBhdCBvZmZzZXQgNTE2NTM4NzMKKy0tLS0tLS0tLS0tCisKK1RoZSBwYWNrIGNoZWNrc3VtIGZhaWxpbmcgbWVhbnMgYSBieXRlIGlzIG11bmdlZCBzb21ld2hlcmUsIGFuZCBpdCBpcworcHJlc3VtYWJseSBpbiB0aGUgb2JqZWN0IG1lbnRpb25lZCAoc2luY2UgYm90aCB0aGUgaW5kZXggY2hlY2tzdW0gYW5kCit6bGliIHdlcmUgZmFpbGluZykuCisKK1JlYWRpbmcgdGhlIHpsaWIgc291cmNlIGNvZGUsIEkgZm91bmQgdGhhdCAiaW5jb3JyZWN0IGRhdGEgY2hlY2siIG1lYW5zCit0aGF0IHRoZSBhZGxlci0zMiBjaGVja3N1bSBhdCB0aGUgZW5kIG9mIHRoZSB6bGliIGRhdGEgZGlkIG5vdCBtYXRjaCB0aGUKK2luZmxhdGVkIGRhdGEuIFNvIHN0ZXBwaW5nIHRoZSBkYXRhIHRocm91Z2ggemxpYiB3b3VsZCBub3QgaGVscCwgYXMgaXQKK2RpZCBub3QgZmFpbCB1bnRpbCB0aGUgdmVyeSBlbmQsIHdoZW4gd2UgcmVhbGl6ZSB0aGUgY3JjIGRvZXMgbm90IG1hdGNoLgorVGhlIHByb2JsZW1hdGljIGJ5dGVzIGNvdWxkIGJlIGFueXdoZXJlIGluIHRoZSBvYmplY3QgZGF0YS4KKworVGhlIGZpcnN0IHRoaW5nIEkgZGlkIHdhcyBwdWxsIHRoZSBicm9rZW4gZGF0YSBvdXQgb2YgdGhlIHBhY2tmaWxlLiBJCituZWVkZWQgdG8ga25vdyBob3cgYmlnIHRoZSBvYmplY3Qgd2FzLCB3aGljaCBJIGZvdW5kIG91dCB3aXRoOgorCistLS0tLS0tLS0tLS0KKyAgICAkIGdpdCBzaG93LWluZGV4IDwkaWR4IHwgY3V0IC1kJyAnIC1mMSB8IHNvcnQgLW4gfCBncmVwIC1BMSA1MTY1Mzg3MworICAgIDUxNjUzODczCisgICAgNTE2NjQ3MzYKKy0tLS0tLS0tLS0tLQorCitTaG93LWluZGV4IGdpdmVzIHVzIHRoZSBsaXN0IG9mIG9iamVjdHMgYW5kIHRoZWlyIG9mZnNldHMuIFdlIHRocm93IGF3YXkKK2V2ZXJ5dGhpbmcgYnV0IHRoZSBvZmZzZXRzLCBhbmQgdGhlbiBzb3J0IHRoZW0gc28gdGhhdCBvdXIgaW50ZXJlc3RpbmcKK29mZnNldCAod2hpY2ggd2UgZ290IGZyb20gdGhlIGZzY2sgb3V0cHV0IGFib3ZlKSBpcyBmb2xsb3dlZCBpbW1lZGlhdGVseQorYnkgdGhlIG9mZnNldCBvZiB0aGUgbmV4dCBvYmplY3QuIE5vdyB3ZSBrbm93IHRoYXQgdGhlIG9iamVjdCBkYXRhIGlzCisxMDg2MyBieXRlcyBsb25nLCBhbmQgd2UgY2FuIGdyYWIgaXQgd2l0aDoKKworLS0tLS0tLS0tLS0tCisgIGRkIGlmPSRwYWNrIG9mPW9iamVjdCBicz0xIHNraXA9NTE2NTM4NzMgY291bnQ9MTA4NjMKKy0tLS0tLS0tLS0tLQorCitJIGluc3BlY3RlZCBhIGhleGR1bXAgb2YgdGhlIGRhdGEsIGxvb2tpbmcgZm9yIGFueSBvYnZpb3VzIGJvZ29zaXR5CisoZS5nLiwgYSA0SyBydW4gb2YgemVyb2VzIHdvdWxkIGJlIGEgZ29vZCBzaWduIG9mIGZpbGVzeXN0ZW0KK2NvcnJ1cHRpb24pLiBCdXQgZXZlcnl0aGluZyBsb29rZWQgcHJldHR5IHJlYXNvbmFibGUuCisKK05vdGUgdGhhdCB0aGUgIm9iamVjdCIgZmlsZSBpc24ndCBmaXQgZm9yIGZlZWRpbmcgc3RyYWlnaHQgdG8gemxpYjsgaXQKK2hhcyB0aGUgZ2l0IHBhY2tlZCBvYmplY3QgaGVhZGVyLCB3aGljaCBpcyB2YXJpYWJsZS1sZW5ndGguIFdlIHdhbnQgdG8KK3N0cmlwIHRoYXQgb2ZmIHNvIHdlIGNhbiBzdGFydCBwbGF5aW5nIHdpdGggdGhlIHpsaWIgZGF0YSBkaXJlY3RseS4gWW91CitjYW4gZWl0aGVyIHdvcmsgeW91ciB3YXkgdGhyb3VnaCBpdCBtYW51YWxseSAodGhlIGZvcm1hdCBpcyBkZXNjcmliZWQgaW4KK2xpbms6Li4vdGVjaG5pY2FsL3BhY2stZm9ybWF0Lmh0bWxbRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcGFjay1mb3JtYXQudHh0XSksCitvciB5b3UgY2FuIHdhbGsgdGhyb3VnaCBpdCBpbiBhIGRlYnVnZ2VyLiBJIGRpZCB0aGUgbGF0dGVyLCBjcmVhdGluZyBhCit2YWxpZCBwYWNrIGxpa2U6CisKKy0tLS0tLS0tLS0tLQorICAgICMgcGFjayBtYWdpYyBhbmQgdmVyc2lvbgorICAgIHByaW50ZiAnUEFDS1wwXDBcMFwyJyA+dG1wLnBhY2sKKyAgICAjIHBhY2sgaGFzIG9uZSBvYmplY3QKKyAgICBwcmludGYgJ1wwXDBcMFwxJyA+PnRtcC5wYWNrCisgICAgIyBub3cgYWRkIG91ciBvYmplY3QgZGF0YQorICAgIGNhdCBvYmplY3QgPj50bXAucGFjaworICAgICMgYW5kIHRoZW4gYXBwZW5kIHRoZSBwYWNrIHRyYWlsZXIKKyAgICAvcGF0aC90by9naXQuZ2l0L3Rlc3Qtc2hhMSAtYiA8dG1wLnBhY2sgPnRyYWlsZXIKKyAgICBjYXQgdHJhaWxlciA+PnRtcC5wYWNrCistLS0tLS0tLS0tLS0KKworYW5kIHRoZW4gcnVubmluZyAiZ2l0IGluZGV4LXBhY2sgdG1wLnBhY2siIGluIHRoZSBkZWJ1Z2dlciAoc3RvcCBhdAordW5wYWNrX3Jhd19lbnRyeSkuIERvaW5nIHRoaXMsIEkgZm91bmQgdGhhdCB0aGVyZSB3ZXJlIDMgYnl0ZXMgb2YgaGVhZGVyCisoYW5kIHRoZSBoZWFkZXIgaXRzZWxmIGhhZCBhIHNhbmUgdHlwZSBhbmQgc2l6ZSkuIFNvIEkgc3RyaXBwZWQgdGhvc2UKK29mZiB3aXRoOgorCistLS0tLS0tLS0tLS0KKyAgICBkZCBpZj1vYmplY3Qgb2Y9emxpYiBicz0xIHNraXA9MworLS0tLS0tLS0tLS0tCisKK0kgcmFuIHRoZSByZXN1bHQgdGhyb3VnaCB6bGliJ3MgaW5mbGF0ZSB1c2luZyBhIGN1c3RvbSBDIHByb2dyYW0uIEFuZAord2hpbGUgaXQgZGlkIHJlcG9ydCB0aGUgZXJyb3IsIEkgZGlkIGdldCB0aGUgcmlnaHQgbnVtYmVyIG9mIG91dHB1dAorYnl0ZXMgKGkuZS4sIGl0IG1hdGNoZWQgZ2l0J3Mgc2l6ZSBoZWFkZXIgdGhhdCB3ZSBkZWNvZGVkIGFib3ZlKS4gQnV0CitmZWVkaW5nIHRoZSByZXN1bHQgYmFjayB0byAiZ2l0IGhhc2gtb2JqZWN0IiBkaWRuJ3QgcHJvZHVjZSB0aGUgc2FtZQorc2hhMS4gU28gdGhlcmUgd2VyZSBzb21lIHdyb25nIGJ5dGVzLCBidXQgSSBkaWRuJ3Qga25vdyB3aGljaC4gVGhlIGZpbGUKK2hhcHBlbmVkIHRvIGJlIEMgc291cmNlIGNvZGUsIHNvIEkgaG9wZWQgSSBjb3VsZCBub3RpY2Ugc29tZXRoaW5nCitvYnZpb3VzbHkgd3Jvbmcgd2l0aCBpdCwgYnV0IEkgZGlkbid0LiBJIGV2ZW4gZ290IGl0IHRvIGNvbXBpbGUhCisKK0kgYWxzbyB0cmllZCBjb21wYXJpbmcgaXQgdG8gb3RoZXIgdmVyc2lvbnMgb2YgdGhlIHNhbWUgcGF0aCBpbiB0aGUKK3JlcG9zaXRvcnksIGhvcGluZyB0aGF0IHRoZXJlIHdvdWxkIGJlIHNvbWUgcGFydCBvZiB0aGUgZGlmZiB0aGF0IGRpZG4ndAorbWFrZSBzZW5zZS4gVW5mb3J0dW5hdGVseSwgdGhpcyBoYXBwZW5lZCB0byBiZSB0aGUgb25seSByZXZpc2lvbiBvZiB0aGlzCitwYXJ0aWN1bGFyIGZpbGUgaW4gdGhlIHJlcG9zaXRvcnksIHNvIEkgaGFkIG5vdGhpbmcgdG8gY29tcGFyZSBhZ2FpbnN0LgorCitTbyBJIHRvb2sgYSBkaWZmZXJlbnQgYXBwcm9hY2guIFdvcmtpbmcgdW5kZXIgdGhlIGd1ZXNzIHRoYXQgdGhlCitjb3JydXB0aW9uIHdhcyBsaW1pdGVkIHRvIGEgc2luZ2xlIGJ5dGUsIEkgd3JvdGUgYSBwcm9ncmFtIHRvIG11bmdlIGVhY2gKK2J5dGUgaW5kaXZpZHVhbGx5LCBhbmQgdHJ5IGluZmxhdGluZyB0aGUgcmVzdWx0LiBTaW5jZSB0aGUgb2JqZWN0IHdhcworb25seSAxMEsgY29tcHJlc3NlZCwgdGhhdCB3b3JrZWQgb3V0IHRvIGFib3V0IDIuNU0gYXR0ZW1wdHMsIHdoaWNoIHRvb2sKK2EgZmV3IG1pbnV0ZXMuCisKK1RoZSBwcm9ncmFtIEkgdXNlZCBpcyBoZXJlOgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDx6bGliLmg+CisKK3N0YXRpYyBpbnQgdHJ5X3psaWIodW5zaWduZWQgY2hhciAqYnVmLCBpbnQgbGVuKQoreworCS8qIG1ha2UgdGhpcyBhYnN1cmRseSBsYXJnZSBzbyB3ZSBkb24ndCBoYXZlIHRvIGxvb3AgKi8KKwlzdGF0aWMgdW5zaWduZWQgY2hhciBvdXRbMTAyNCoxMDI0XTsKKwl6X3N0cmVhbSB6OworCWludCByZXQ7CisKKwltZW1zZXQoJnosIDAsIHNpemVvZih6KSk7CisJaW5mbGF0ZUluaXQoJnopOworCisJei5uZXh0X2luID0gYnVmOworCXouYXZhaWxfaW4gPSBsZW47CisJei5uZXh0X291dCA9IG91dDsKKwl6LmF2YWlsX291dCA9IHNpemVvZihvdXQpOworCisJcmV0ID0gaW5mbGF0ZSgmeiwgMCk7CisJaW5mbGF0ZUVuZCgmeik7CisJcmV0dXJuIHJldCA+PSAwOworfQorCisvKiBleWUgY2FuZHkgKi8KK3N0YXRpYyBpbnQgY291bnRlciA9IDA7CitzdGF0aWMgdm9pZCBwcm9ncmVzcyhpbnQgc2lnKQoreworCWZwcmludGYoc3RkZXJyLCAiXHIlZCIsIGNvdW50ZXIpOworCWFsYXJtKDEpOworfQorCitpbnQgbWFpbih2b2lkKQoreworCS8qIG92ZXJzaXplZCBzbyB3ZSBjYW4gcmVhZCB0aGUgd2hvbGUgYnVmZmVyIGluICovCisJdW5zaWduZWQgY2hhciBidWZbMTAyNCoxMDI0XTsKKwlpbnQgbGVuOworCXVuc2lnbmVkIGksIGo7CisKKwlzaWduYWwoU0lHQUxSTSwgcHJvZ3Jlc3MpOworCWFsYXJtKDEpOworCisJbGVuID0gcmVhZCgwLCBidWYsIHNpemVvZihidWYpKTsKKwlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKKwkJdW5zaWduZWQgY2hhciBjID0gYnVmW2ldOworCQlmb3IgKGogPSAwOyBqIDw9IDB4ZmY7IGorKykgeworCQkJYnVmW2ldID0gajsKKworCQkJY291bnRlcisrOworCQkJaWYgKHRyeV96bGliKGJ1ZiwgbGVuKSkKKwkJCQlwcmludGYoImk9JWQsIGo9JXhcbiIsIGksIGopOworCQl9CisJCWJ1ZltpXSA9IGM7CisJfQorCisJYWxhcm0oMCk7CisJZnByaW50ZihzdGRlcnIsICJcbiIpOworCXJldHVybiAwOworfQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitJIGNvbXBpbGVkIGFuZCByYW4gd2l0aDoKKworLS0tLS0tLQorICBnY2MgLVdhbGwgLVdlcnJvciAtTzMgbXVuZ2UuYyAtbyBtdW5nZSAtbHoKKyAgLi9tdW5nZSA8emxpYgorLS0tLS0tLQorCisKK1RoZXJlIHdlcmUgYSBmZXcgZmFsc2UgcG9zaXRpdmVzIGVhcmx5IG9uIChpZiB5b3Ugd3JpdGUgIm5vIGRhdGEiIGluIHRoZQoremxpYiBoZWFkZXIsIHpsaWIgdGhpbmtzIGl0J3MganVzdCBmaW5lIDopICkuIEJ1dCBJIGdvdCBhIGhpdCBhYm91dAoraGFsZndheSB0aHJvdWdoOgorCistLS0tLS0tCisgIGk9NTY0Miwgaj1jNworLS0tLS0tLQorCitJIGxldCBpdCBydW4gdG8gY29tcGxldGlvbiwgYW5kIGdvdCBhIGZldyBtb3JlIGhpdHMgYXQgdGhlIGVuZCAod2hlcmUgaXQKK3dhcyBtdW5naW5nIHRoZSBjcmMgdG8gbWF0Y2ggb3VyIGJyb2tlbiBkYXRhKS4gU28gdGhlcmUgd2FzIGEgZ29vZAorY2hhbmNlIHRoaXMgbWlkZGxlIGhpdCB3YXMgdGhlIHNvdXJjZSBvZiB0aGUgcHJvYmxlbS4KKworSSBjb25maXJtZWQgYnkgdHdlYWtpbmcgdGhlIGJ5dGUgaW4gYSBoZXggZWRpdG9yLCB6bGliIGluZmxhdGluZyB0aGUKK3Jlc3VsdCAobm8gZXJyb3JzISksIGFuZCB0aGVuIHBpcGluZyB0aGUgb3V0cHV0IGludG8gImdpdCBoYXNoLW9iamVjdCIsCit3aGljaCByZXBvcnRlZCB0aGUgc2hhMSBvZiB0aGUgYnJva2VuIG9iamVjdC4gU3VjY2VzcyEKKworSSBmaXhlZCB0aGUgcGFja2ZpbGUgaXRzZWxmIHdpdGg6CisKKy0tLS0tLS0KKyAgY2htb2QgK3cgJHBhY2sKKyAgcHJpbnRmICdceGM3JyB8IGRkIG9mPSRwYWNrIGJzPTEgc2Vlaz01MTY1OTUxOCBjb252PW5vdHJ1bmMKKyAgY2htb2QgLXcgJHBhY2sKKy0tLS0tLS0KKworVGhlIGBceGM3YCBjb21lcyBmcm9tIHRoZSByZXBsYWNlbWVudCBieXRlIG91ciAibXVuZ2UiIHByb2dyYW0gZm91bmQuCitUaGUgb2Zmc2V0IDUxNjU5NTE4IGlzIGRlcml2ZWQgYnkgdGFraW5nIHRoZSBvcmlnaW5hbCBvYmplY3Qgb2Zmc2V0CisoNTE2NTM4NzMpLCBhZGRpbmcgdGhlIHJlcGxhY2VtZW50IG9mZnNldCBmb3VuZCBieSAibXVuZ2UiICg1NjQyKSwgYW5kCit0aGVuIGFkZGluZyBiYWNrIGluIHRoZSAzIGJ5dGVzIG9mIGdpdCBoZWFkZXIgd2Ugc3RyaXBwZWQuCisKK0FmdGVyIHRoYXQsICJnaXQgZnNjayIgcmFuIGNsZWFuLgorCitBcyBmb3IgdGhlIGNvcnJ1cHRpb24gaXRzZWxmLCBJIHdhcyBsdWNreSB0aGF0IGl0IHdhcyBpbmRlZWQgYSBzaW5nbGUKK2J5dGUuIEluIGZhY3QsIGl0IHR1cm5lZCBvdXQgdG8gYmUgYSBzaW5nbGUgYml0LiBUaGUgYnl0ZSAweGM3IHdhcworY29ycnVwdGVkIHRvIDB4YzUuIFNvIHByZXN1bWFibHkgaXQgd2FzIGNhdXNlZCBieSBmYXVsdHkgaGFyZHdhcmUsIG9yIGEKK2Nvc21pYyByYXkuCisKK0FuZCB0aGUgYWJvcnRlZCBhdHRlbXB0IHRvIGxvb2sgYXQgdGhlIGluZmxhdGVkIG91dHB1dCB0byBzZWUgd2hhdCB3YXMKK3dyb25nPyBJIGNvdWxkIGhhdmUgbG9va2VkIGZvcmV2ZXIgYW5kIG5ldmVyIGZvdW5kIGl0LiBIZXJlJ3MgdGhlIGRpZmYKK2JldHdlZW4gd2hhdCB0aGUgY29ycnVwdGVkIGRhdGEgaW5mbGF0ZXMgdG8sIHZlcnN1cyB0aGUgcmVhbCBkYXRhOgorCistLS0tLS0tLS0tLS0tLQorICAtICAgICAgIGNwID0gc3RydG9rIChhcmcsICIrIik7CisgICsgICAgICAgY3AgPSBzdHJ0b2sgKGFyZywgIi4iKTsKKy0tLS0tLS0tLS0tLS0tCisKK0l0IHR3ZWFrZWQgb25lIGJ5dGUgYW5kIHN0aWxsIGVuZGVkIHVwIGFzIHZhbGlkLCByZWFkYWJsZSBDIHRoYXQganVzdAoraGFwcGVuZWQgdG8gZG8gc29tZXRoaW5nIHRvdGFsbHkgZGlmZmVyZW50ISBPbmUgdGFrZWF3YXkgaXMgdGhhdCBvbiBhCitsZXNzIHVubHVja3kgZGF5LCBsb29raW5nIGF0IHRoZSB6bGliIG91dHB1dCBtaWdodCBoYXZlIGFjdHVhbGx5IGJlZW4KK2hlbHBmdWwsIGFzIG1vc3QgcmFuZG9tIGNoYW5nZXMgd291bGQgYWN0dWFsbHkgYnJlYWsgdGhlIEMgY29kZS4KKworQnV0IG1vcmUgaW1wb3J0YW50bHksIGdpdCdzIGhhc2hpbmcgYW5kIGNoZWNrc3VtbWluZyBub3RpY2VkIGEgcHJvYmxlbQordGhhdCBlYXNpbHkgY291bGQgaGF2ZSBnb25lIHVuZGV0ZWN0ZWQgaW4gYW5vdGhlciBzeXN0ZW0uIFRoZSByZXN1bHQKK3N0aWxsIGNvbXBpbGVkLCBidXQgd291bGQgaGF2ZSBjYXVzZWQgYW4gaW50ZXJlc3RpbmcgYnVnICh0aGF0IHdvdWxkCitoYXZlIGJlZW4gYmxhbWVkIG9uIHNvbWUgcmFuZG9tIGNvbW1pdCkuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2hvd3RvL3JldmVydC1hLWZhdWx0eS1tZXJnZS50eHQgYi9Eb2N1bWVudGF0aW9uL2hvd3RvL3JldmVydC1hLWZhdWx0eS1tZXJnZS50eHQKaW5kZXggMDc1NDE4ZS4uYWNmM2U0NyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9ob3d0by9yZXZlcnQtYS1mYXVsdHktbWVyZ2UudHh0CisrKyBiL0RvY3VtZW50YXRpb24vaG93dG8vcmV2ZXJ0LWEtZmF1bHR5LW1lcmdlLnR4dApAQCAtMzcsNyArMzcsNyBAQAogbWVyZ2UgdGhhdCBicmluZ3MgdGhlc2UgcHJlbWF0dXJlIGNoYW5nZXMgaW50byB0aGUgbWFpbmxpbmUsIHggYXJlIGNoYW5nZXMKIHVucmVsYXRlZCB0byB3aGF0IHRoZSBzaWRlIGJyYW5jaCBkaWQgYW5kIGFscmVhZHkgbWFkZSBvbiB0aGUgbWFpbmxpbmUsCiBhbmQgVyBpcyB0aGUgInJldmVydCBvZiB0aGUgbWVyZ2UgTSIgKGRvZXNuJ3QgVyBsb29rIE0gdXBzaWRlIGRvd24/KS4KLUlPVywgImRpZmYgV14uLlciIGlzIHNpbWlsYXIgdG8gImRpZmYgLVIgTV4uLk0iLgorSU9XLCBgImRpZmYgV14uLlciYCBpcyBzaW1pbGFyIHRvIGAiZGlmZiAtUiBNXi4uTSJgLgogCiBTdWNoIGEgInJldmVydCIgb2YgYSBtZXJnZSBjYW4gYmUgbWFkZSB3aXRoOgogCkBAIC0xMjEsOSArMTIxLDkgQEAKICAgICAgICAtLS1BLS0tQiAgICAgICAgICAgICAgICAgICBBJy0tQictLUMnCiAKIHdoZXJlIFkgaXMgdGhlIHJldmVydCBvZiBXLCBBJyBhbmQgQicgYXJlIHJlcm9sbGVkIEEgYW5kIEIsIGFuZCB0aGVyZSBtYXkKLWFsc28gYmUgYSBmdXJ0aGVyIGZpeC11cCBDJyBvbiB0aGUgc2lkZSBicmFuY2guICAiZGlmZiBZXi4uWSIgaXMgc2ltaWxhcgotdG8gImRpZmYgLVIgV14uLlciICh3aGljaCBpbiB0dXJuIG1lYW5zIGl0IGlzIHNpbWlsYXIgdG8gImRpZmYgTV4uLk0iKSwKLWFuZCAiZGlmZiBBJ14uLkMnIiBieSBkZWZpbml0aW9uIHdvdWxkIGJlIHNpbWlsYXIgYnV0IGRpZmZlcmVudCBmcm9tIHRoYXQsCithbHNvIGJlIGEgZnVydGhlciBmaXgtdXAgQycgb24gdGhlIHNpZGUgYnJhbmNoLiAgYCJkaWZmIFleLi5ZImAgaXMgc2ltaWxhcgordG8gYCJkaWZmIC1SIFdeLi5XImAgKHdoaWNoIGluIHR1cm4gbWVhbnMgaXQgaXMgc2ltaWxhciB0byBgImRpZmYgTV4uLk0iYCksCithbmQgYCJkaWZmIEEnXi4uQyciYCBieSBkZWZpbml0aW9uIHdvdWxkIGJlIHNpbWlsYXIgYnV0IGRpZmZlcmVudCBmcm9tIHRoYXQsCiBiZWNhdXNlIGl0IGlzIGEgcmVyb2xsZWQgc2VyaWVzIG9mIHRoZSBlYXJsaWVyIGNoYW5nZS4gIFRoZXJlIHdpbGwgYmUgYQogbG90IG9mIG92ZXJsYXBwaW5nIGNoYW5nZXMgdGhhdCByZXN1bHQgaW4gY29uZmxpY3RzLiAgU28gZG8gbm90IGRvICJyZXZlcnQKIG9mIHJldmVydCIgYmxpbmRseSB3aXRob3V0IHRoaW5raW5nLi4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaG93dG8vcmV2ZXJ0LWJyYW5jaC1yZWJhc2UudHh0IGIvRG9jdW1lbnRhdGlvbi9ob3d0by9yZXZlcnQtYnJhbmNoLXJlYmFzZS50eHQKaW5kZXggMGQ1NDE5ZS4uODVmNjlkYiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9ob3d0by9yZXZlcnQtYnJhbmNoLXJlYmFzZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9ob3d0by9yZXZlcnQtYnJhbmNoLXJlYmFzZS50eHQKQEAgLTE1NCw3ICsxNTQsNyBAQAogUGFja2luZyAwIG9iamVjdHMKIFVucGFja2luZyAwIG9iamVjdHMKIAotKiBjb21taXR0aXNoOiBlM2E2OTNjLi4uCXJlZnMvaGVhZHMvbWFzdGVyIGZyb20gLgorKiBjb21taXQtaXNoOiBlM2E2OTNjLi4uCXJlZnMvaGVhZHMvbWFzdGVyIGZyb20gLgogVHJ5aW5nIHRvIG1lcmdlIGUzYTY5M2MuLi4gaW50byA4YzFmNWYwLi4uIHVzaW5nIDEwZDc4MWIuLi4KIENvbW1pdHRlZCBtZXJnZSA3ZmI5YjcyNjJhMWQxZTBhNDdiYmZkY2JiY2Y1MGNlMDYzNWQzZjhmCiAgY2FjaGUuaCAgICAgICAgfCAgICA4ICsrKystLS0tCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2hvd3RvL3NldHVwLWdpdC1zZXJ2ZXItb3Zlci1odHRwLnR4dCBiL0RvY3VtZW50YXRpb24vaG93dG8vc2V0dXAtZ2l0LXNlcnZlci1vdmVyLWh0dHAudHh0CmluZGV4IGM4MDM2NDkuLjZkZTRmM2MgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vaG93dG8vc2V0dXAtZ2l0LXNlcnZlci1vdmVyLWh0dHAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vaG93dG8vc2V0dXAtZ2l0LXNlcnZlci1vdmVyLWh0dHAudHh0CkBAIC04NSw4ICs4NSw4IEBACiAgICAgJCBnaXQgLS1iYXJlIGluaXQKIAogCi1DaGFuZ2UgdGhlIG93bmVyc2hpcCB0byB5b3VyIHdlYi1zZXJ2ZXIncyBjcmVkZW50aWFscy4gVXNlICJncmVwIF5Vc2VyCi1odHRwZC5jb25mIiBhbmQgImdyZXAgXkdyb3VwIGh0dHBkLmNvbmYiIHRvIGZpbmQgb3V0OgorQ2hhbmdlIHRoZSBvd25lcnNoaXAgdG8geW91ciB3ZWItc2VydmVyJ3MgY3JlZGVudGlhbHMuIFVzZSBgImdyZXAgXlVzZXIKK2h0dHBkLmNvbmYiYCBhbmQgYCJncmVwIF5Hcm91cCBodHRwZC5jb25mImAgdG8gZmluZCBvdXQ6CiAKICAgICAkIGNob3duIC1SIHd3dy53d3cgLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2xpbmUtcmFuZ2UtZm9ybWF0LnR4dCBiL0RvY3VtZW50YXRpb24vbGluZS1yYW5nZS1mb3JtYXQudHh0CmluZGV4IDNlN2NlNzIuLmQ3ZjI2MDMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vbGluZS1yYW5nZS1mb3JtYXQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vbGluZS1yYW5nZS1mb3JtYXQudHh0CkBAIC0xLDMgKzEsNSBAQAorPHN0YXJ0PiBhbmQgPGVuZD4gY2FuIHRha2Ugb25lIG9mIHRoZXNlIGZvcm1zOgorCiAtIG51bWJlcgogKwogSWYgPHN0YXJ0PiBvciA8ZW5kPiBpcyBhIG51bWJlciwgaXQgc3BlY2lmaWVzIGFuCkBAIC03LDcgKzksMTAgQEAKIC0gL3JlZ2V4LwogKwogVGhpcyBmb3JtIHdpbGwgdXNlIHRoZSBmaXJzdCBsaW5lIG1hdGNoaW5nIHRoZSBnaXZlbgotUE9TSVggcmVnZXguICBJZiA8ZW5kPiBpcyBhIHJlZ2V4LCBpdCB3aWxsIHNlYXJjaAorUE9TSVggcmVnZXguIElmIDxzdGFydD4gaXMgYSByZWdleCwgaXQgd2lsbCBzZWFyY2ggZnJvbSB0aGUgZW5kIG9mCit0aGUgcHJldmlvdXMgYC1MYCByYW5nZSwgaWYgYW55LCBvdGhlcndpc2UgZnJvbSB0aGUgc3RhcnQgb2YgZmlsZS4KK0lmIDxzdGFydD4gaXMgYGBeL3JlZ2V4LycnLCBpdCB3aWxsIHNlYXJjaCBmcm9tIHRoZSBzdGFydCBvZiBmaWxlLgorSWYgPGVuZD4gaXMgYSByZWdleCwgaXQgd2lsbCBzZWFyY2gKIHN0YXJ0aW5nIGF0IHRoZSBsaW5lIGdpdmVuIGJ5IDxzdGFydD4uCiArCiAKQEAgLTE1LDExICsyMCwxMCBAQAogKwogVGhpcyBpcyBvbmx5IHZhbGlkIGZvciA8ZW5kPiBhbmQgd2lsbCBzcGVjaWZ5IGEgbnVtYmVyCiBvZiBsaW5lcyBiZWZvcmUgb3IgYWZ0ZXIgdGhlIGxpbmUgZ2l2ZW4gYnkgPHN0YXJ0Pi4KLSsKIAotLSA6cmVnZXgKICsKLUlmIHRoZSBvcHRpb24ncyBhcmd1bWVudCBpcyBvZiB0aGUgZm9ybSA6cmVnZXgsIGl0IGRlbm90ZXMgdGhlIHJhbmdlCitJZiBgYDo8cmVnZXg+JycgaXMgZ2l2ZW4gaW4gcGxhY2Ugb2YgPHN0YXJ0PiBhbmQgPGVuZD4sIGl0IGRlbm90ZXMgdGhlIHJhbmdlCiBmcm9tIHRoZSBmaXJzdCBmdW5jbmFtZSBsaW5lIHRoYXQgbWF0Y2hlcyA8cmVnZXg+LCB1cCB0byB0aGUgbmV4dAotZnVuY25hbWUgbGluZS4KLSsKK2Z1bmNuYW1lIGxpbmUuIGBgOjxyZWdleD4nJyBzZWFyY2hlcyBmcm9tIHRoZSBlbmQgb2YgdGhlIHByZXZpb3VzIGAtTGAgcmFuZ2UsCitpZiBhbnksIG90aGVyd2lzZSBmcm9tIHRoZSBzdGFydCBvZiBmaWxlLgorYGBeOjxyZWdleD4nJyBzZWFyY2hlcyBmcm9tIHRoZSBzdGFydCBvZiBmaWxlLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZXYtbGlzdC1vcHRpb25zLnR4dCBiL0RvY3VtZW50YXRpb24vcmV2LWxpc3Qtb3B0aW9ucy50eHQKaW5kZXggNWJkZmI0Mi4uZWM4NmQwOSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9yZXYtbGlzdC1vcHRpb25zLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3Jldi1saXN0LW9wdGlvbnMudHh0CkBAIC03MjAsNyArNzIwLDcgQEAKIGAtLWRhdGU9cmVsYXRpdmVgIHNob3dzIGRhdGVzIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHRpbWUsCiBlLmcuICIyIGhvdXJzIGFnbyIuCiArCi1gLS1kYXRlPWxvY2FsYCBzaG93cyB0aW1lc3RhbXBzIGluIHVzZXIncyBsb2NhbCB0aW1lem9uZS4KK2AtLWRhdGU9bG9jYWxgIHNob3dzIHRpbWVzdGFtcHMgaW4gdXNlcidzIGxvY2FsIHRpbWUgem9uZS4KICsKIGAtLWRhdGU9aXNvYCAob3IgYC0tZGF0ZT1pc284NjAxYCkgc2hvd3MgdGltZXN0YW1wcyBpbiBJU08gODYwMSBmb3JtYXQuCiArCkBAIC03MzEsNyArNzMxLDcgQEAKICsKIGAtLWRhdGU9cmF3YCBzaG93cyB0aGUgZGF0ZSBpbiB0aGUgaW50ZXJuYWwgcmF3IEdpdCBmb3JtYXQgYCVzICV6YCBmb3JtYXQuCiArCi1gLS1kYXRlPWRlZmF1bHRgIHNob3dzIHRpbWVzdGFtcHMgaW4gdGhlIG9yaWdpbmFsIHRpbWV6b25lCitgLS1kYXRlPWRlZmF1bHRgIHNob3dzIHRpbWVzdGFtcHMgaW4gdGhlIG9yaWdpbmFsIHRpbWUgem9uZQogKGVpdGhlciBjb21taXR0ZXIncyBvciBhdXRob3IncykuCiAKIGlmZGVmOjpnaXQtcmV2LWxpc3RbXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZXZpc2lvbnMudHh0IGIvRG9jdW1lbnRhdGlvbi9yZXZpc2lvbnMudHh0CmluZGV4IGQ0NzdiM2YuLjJjMDZlZDMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vcmV2aXNpb25zLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3JldmlzaW9ucy50eHQKQEAgLTU4LDYgKzU4LDkgQEAKIFdoaWxlIHRoZSByZWYgbmFtZSBlbmNvZGluZyBpcyB1bnNwZWNpZmllZCwgVVRGLTggaXMgcHJlZmVycmVkIGFzCiBzb21lIG91dHB1dCBwcm9jZXNzaW5nIG1heSBhc3N1bWUgcmVmIG5hbWVzIGluIFVURi04LgogCisnQCc6OgorICAnQCcgYWxvbmUgaXMgYSBzaG9ydGN1dCBmb3IgJ0hFQUQnLgorCiAnPHJlZm5hbWU+QFx7PGRhdGU+XH0nLCBlLmcuICdtYXN0ZXJAXHt5ZXN0ZXJkYXlcfScsICdIRUFEQFx7NSBtaW51dGVzIGFnb1x9Jzo6CiAgIEEgcmVmIGZvbGxvd2VkIGJ5IHRoZSBzdWZmaXggJ0AnIHdpdGggYSBkYXRlIHNwZWNpZmljYXRpb24KICAgZW5jbG9zZWQgaW4gYSBicmFjZQpAQCAtMTExLDE2ICsxMTQsMjMgQEAKIAogJzxyZXY+e2NhcmV0fVx7PHR5cGU+XH0nLCBlLmcuICd2MC45OS44e2NhcmV0fVx7Y29tbWl0XH0nOjoKICAgQSBzdWZmaXggJ3tjYXJldH0nIGZvbGxvd2VkIGJ5IGFuIG9iamVjdCB0eXBlIG5hbWUgZW5jbG9zZWQgaW4KLSAgYnJhY2UgcGFpciBtZWFucyB0aGUgb2JqZWN0Ci0gIGNvdWxkIGJlIGEgdGFnLCBhbmQgZGVyZWZlcmVuY2UgdGhlIHRhZyByZWN1cnNpdmVseSB1bnRpbCBhbgotICBvYmplY3Qgb2YgdGhhdCB0eXBlIGlzIGZvdW5kIG9yIHRoZSBvYmplY3QgY2Fubm90IGJlCi0gIGRlcmVmZXJlbmNlZCBhbnltb3JlIChpbiB3aGljaCBjYXNlLCBiYXJmKS4gICc8cmV2PntjYXJldH0wJworICBicmFjZSBwYWlyIG1lYW5zIGRlcmVmZXJlbmNlIHRoZSBvYmplY3QgYXQgJzxyZXY+JyByZWN1cnNpdmVseSB1bnRpbAorICBhbiBvYmplY3Qgb2YgdHlwZSAnPHR5cGU+JyBpcyBmb3VuZCBvciB0aGUgb2JqZWN0IGNhbm5vdCBiZQorICBkZXJlZmVyZW5jZWQgYW55bW9yZSAoaW4gd2hpY2ggY2FzZSwgYmFyZikuCisgIEZvciBleGFtcGxlLCBpZiAnPHJldj4nIGlzIGEgY29tbWl0LWlzaCwgJzxyZXY+e2NhcmV0fVx7Y29tbWl0XH0nCisgIGRlc2NyaWJlcyB0aGUgY29ycmVzcG9uZGluZyBjb21taXQgb2JqZWN0LgorICBTaW1pbGFybHksIGlmICc8cmV2PicgaXMgYSB0cmVlLWlzaCwgJzxyZXY+e2NhcmV0fVx7dHJlZVx9JworICBkZXNjcmliZXMgdGhlIGNvcnJlc3BvbmRpbmcgdHJlZSBvYmplY3QuCisgICc8cmV2PntjYXJldH0wJwogICBpcyBhIHNob3J0LWhhbmQgZm9yICc8cmV2PntjYXJldH1ce2NvbW1pdFx9Jy4KICsKICdyZXZ7Y2FyZXR9XHtvYmplY3RcfScgY2FuIGJlIHVzZWQgdG8gbWFrZSBzdXJlICdyZXYnIG5hbWVzIGFuCiBvYmplY3QgdGhhdCBleGlzdHMsIHdpdGhvdXQgcmVxdWlyaW5nICdyZXYnIHRvIGJlIGEgdGFnLCBhbmQKIHdpdGhvdXQgZGVyZWZlcmVuY2luZyAncmV2JzsgYmVjYXVzZSBhIHRhZyBpcyBhbHJlYWR5IGFuIG9iamVjdCwKIGl0IGRvZXMgbm90IGhhdmUgdG8gYmUgZGVyZWZlcmVuY2VkIGV2ZW4gb25jZSB0byBnZXQgdG8gYW4gb2JqZWN0LgorKworJ3JldntjYXJldH1ce3RhZ1x9JyBjYW4gYmUgdXNlZCB0byBlbnN1cmUgdGhhdCAncmV2JyBpZGVudGlmaWVzIGFuCitleGlzdGluZyB0YWcgb2JqZWN0LgogCiAnPHJldj57Y2FyZXR9XHtcfScsIGUuZy4gJ3YwLjk5Ljh7Y2FyZXR9XHtcfSc6OgogICBBIHN1ZmZpeCAne2NhcmV0fScgZm9sbG93ZWQgYnkgYW4gZW1wdHkgYnJhY2UgcGFpcgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWRpZmYudHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWRpZmYudHh0CmluZGV4IDJkMmViYzAuLjhiMDAxZGUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1kaWZmLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktZGlmZi50eHQKQEAgLTI4LDcgKzI4LDggQEAKIAogKiBDYWxsIGBkaWZmX3NldHVwX2RvbmUoKWA7IHRoaXMgaW5zcGVjdHMgdGhlIG9wdGlvbnMgc2V0IHVwIHNvIGZhciBmb3IKICAgaW50ZXJuYWwgY29uc2lzdGVuY3kgYW5kIG1ha2UgbmVjZXNzYXJ5IHR3ZWFraW5nIHRvIGl0IChlLmcuIGlmCi0gIHRleHR1YWwgcGF0Y2ggb3V0cHV0IHdhcyBhc2tlZCwgcmVjdXJzaXZlIGJlaGF2aW91ciBpcyB0dXJuZWQgb24pLgorICB0ZXh0dWFsIHBhdGNoIG91dHB1dCB3YXMgYXNrZWQsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIgaXMgdHVybmVkIG9uKTsKKyAgdGhlIGNhbGxiYWNrIHNldF9kZWZhdWx0IGluIGRpZmZfb3B0aW9ucyBjYW4gYmUgdXNlZCB0byB0d2VhayB0aGlzIG1vcmUuCiAKICogQXMgeW91IGZpbmQgZGlmZmVyZW50IHBhaXJzIG9mIGZpbGVzLCBjYWxsIGBkaWZmX2NoYW5nZSgpYCB0byBmZWVkCiAgIG1vZGlmaWVkIGZpbGVzLCBgZGlmZl9hZGRyZW1vdmUoKWAgdG8gZmVlZCBjcmVhdGVkIG9yIGRlbGV0ZWQgZmlsZXMsCkBAIC0xMTUsNiArMTE2LDEzIEBACiAJb3BlcmF0aW9uLCBidXQgc29tZSBkbyBub3QgaGF2ZSBhbnl0aGluZyB0byBkbyB3aXRoIHRoZSBkaWZmY29yZQogCWxpYnJhcnkuCiAKK2B0b3VjaGVkX2ZsYWdzYDo6CisJUmVjb3JkcyB3aGV0aGVyIGEgZmxhZyBoYXMgYmVlbiBjaGFuZ2VkIGR1ZSB0byB1c2VyIHJlcXVlc3QKKwkocmF0aGVyIHRoYW4ganVzdCBzZXQvdW5zZXQgYnkgZGVmYXVsdCkuCisKK2BzZXRfZGVmYXVsdGA6OgorCUNhbGxiYWNrIHdoaWNoIGFsbG93cyB0d2Vha2luZyB0aGUgb3B0aW9ucyBpbiBkaWZmX3NldHVwX2RvbmUoKS4KKwogQklOQVJZLCBURVhUOzsKIAlBZmZlY3RzIHRoZSB3YXkgaG93IGEgZmlsZSB0aGF0IGlzIHNlZW1pbmdseSBiaW5hcnkgaXMgdHJlYXRlZC4KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXNldHVwLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1zZXR1cC50eHQKaW5kZXggNGY2M2EwNC4uNTQwZTQ1NSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXNldHVwLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktc2V0dXAudHh0CkBAIC04LDYgKzgsNDIgQEAKICogaXNfaW5zaWRlX2dpdF9kaXIoKQogKiBpc19pbnNpZGVfd29ya190cmVlKCkKICogc2V0dXBfd29ya190cmVlKCkKLSogZ2V0X3BhdGhzcGVjKCkKIAogKERzY2hvKQorCitQYXRoc3BlYworLS0tLS0tLS0KKworU2VlIGdsb3NzYXJ5LWNvbnRleHQudHh0IGZvciB0aGUgc3ludGF4IG9mIHBhdGhzcGVjLiBJbiBtZW1vcnksIGEKK3BhdGhzcGVjIHNldCBpcyByZXByZXNlbnRlZCBieSAic3RydWN0IHBhdGhzcGVjIiBhbmQgaXMgcHJlcGFyZWQgYnkKK3BhcnNlX3BhdGhzcGVjKCkuIFRoaXMgZnVuY3Rpb24gdGFrZXMgc2V2ZXJhbCBhcmd1bWVudHM6CisKKy0gbWFnaWNfbWFzayBzcGVjaWZpZXMgd2hhdCBmZWF0dXJlcyB0aGF0IGFyZSBOT1Qgc3VwcG9ydGVkIGJ5IHRoZQorICBmb2xsb3dpbmcgY29kZS4gSWYgYSB1c2VyIGF0dGVtcHRzIHRvIHVzZSBzdWNoIGEgZmVhdHVyZSwKKyAgcGFyc2VfcGF0aHNwZWMoKSBjYW4gcmVqZWN0IGl0IGVhcmx5LgorCistIGZsYWdzIHNwZWNpZmllcyBvdGhlciB0aGluZ3MgdGhhdCB0aGUgY2FsbGVyIHdhbnRzIHBhcnNlX3BhdGhzcGVjIHRvCisgIHBlcmZvcm0uCisKKy0gcHJlZml4IGFuZCBhcmdzIGNvbWUgZnJvbSBjbWRfKiBmdW5jdGlvbnMKKworZ2V0X3BhdGhzcGVjKCkgaXMgb2Jzb2xldGUgYW5kIHNob3VsZCBuZXZlciBiZSB1c2VkIGluIG5ldyBjb2RlLgorCitwYXJzZV9wYXRoc3BlYygpIGhlbHBzIGNhdGNoIHVuc3VwcG9ydGVkIGZlYXR1cmVzIGFuZCByZWplY3QgdGhlbQorcG9saXRlbHkuIEF0IGEgbG93ZXIgbGV2ZWwsIGRpZmZlcmVudCBwYXRoc3BlYy1yZWxhdGVkIGZ1bmN0aW9ucyBtYXkKK25vdCBzdXBwb3J0IHRoZSBzYW1lIHNldCBvZiBmZWF0dXJlcy4gU3VjaCBwYXRoc3BlYy1zZW5zaXRpdmUKK2Z1bmN0aW9ucyBhcmUgZ3VhcmRlZCB3aXRoIEdVQVJEX1BBVEhTUEVDKCksIHdoaWNoIHdpbGwgZGllIGluIGFuCit1bmZyaWVuZGx5IHdheSB3aGVuIGFuIHVuc3VwcG9ydGVkIGZlYXR1cmUgaXMgcmVxdWVzdGVkLgorCitUaGUgY29tbWFuZCBkZXNpZ25lcnMgYXJlIHN1cHBvc2VkIHRvIG1ha2Ugc3VyZSB0aGF0IEdVQVJEX1BBVEhTUEVDKCkKK25ldmVyIGRpZXMuIFRoZXkgaGF2ZSB0byBtYWtlIHN1cmUgYWxsIHVuc3VwcG9ydGVkIGZlYXR1cmVzIGFyZSBjYXVnaHQKK2J5IHBhcnNlX3BhdGhzcGVjKCksIG5vdCBieSBHVUFSRF9QQVRIU1BFQy4gZ3JlcHBpbmcgR1VBUkRfUEFUSFNQRUMoKQorc2hvdWxkIGdpdmUgdGhlIGRlc2lnbmVycyBhbGwgcGF0aHNwZWMtc2Vuc2l0aXZlIGNvZGVwYXRocyBhbmQgd2hhdAorZmVhdHVyZXMgdGhleSBzdXBwb3J0LgorCitBIHNpbWlsYXIgcHJvY2VzcyBpcyBhcHBsaWVkIHdoZW4gYSBuZXcgcGF0aHNwZWMgbWFnaWMgaXMgYWRkZWQuIFRoZQorZGVzaWduZXIgbGlmdHMgdGhlIEdVQVJEX1BBVEhTUEVDIHJlc3RyaWN0aW9uIGluIHRoZSBmdW5jdGlvbnMgdGhhdAorc3VwcG9ydCB0aGUgbmV3IG1hZ2ljLiBBdCB0aGUgc2FtZSB0aW1lIChzKWhlIGhhcyB0byBtYWtlIHN1cmUgdGhpcworbmV3IGZlYXR1cmUgd2lsbCBiZSBjYXVnaHQgYXQgcGFyc2VfcGF0aHNwZWMoKSBpbiBjb21tYW5kcyB0aGF0IGNhbm5vdAoraGFuZGxlIHRoZSBuZXcgbWFnaWMgaW4gc29tZSBjYXNlcy4gZ3JlcHBpbmcgcGFyc2VfcGF0aHNwZWMoKSBzaG91bGQKK2hlbHAuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9odHRwLXByb3RvY29sLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2h0dHAtcHJvdG9jb2wudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhZjk0MWEKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9odHRwLXByb3RvY29sLnR4dApAQCAtMCwwICsxLDUwMyBAQAorSFRUUCB0cmFuc2ZlciBwcm90b2NvbHMKKz09PT09PT09PT09PT09PT09PT09PT09CisKK0dpdCBzdXBwb3J0cyB0d28gSFRUUCBiYXNlZCB0cmFuc2ZlciBwcm90b2NvbHMuICBBICJkdW1iIiBwcm90b2NvbAord2hpY2ggcmVxdWlyZXMgb25seSBhIHN0YW5kYXJkIEhUVFAgc2VydmVyIG9uIHRoZSBzZXJ2ZXIgZW5kIG9mIHRoZQorY29ubmVjdGlvbiwgYW5kIGEgInNtYXJ0IiBwcm90b2NvbCB3aGljaCByZXF1aXJlcyBhIEdpdCBhd2FyZSBDR0kKKyhvciBzZXJ2ZXIgbW9kdWxlKS4gIFRoaXMgZG9jdW1lbnQgZGVzY3JpYmVzIGJvdGggcHJvdG9jb2xzLgorCitBcyBhIGRlc2lnbiBmZWF0dXJlIHNtYXJ0IGNsaWVudHMgY2FuIGF1dG9tYXRpY2FsbHkgdXBncmFkZSAiZHVtYiIKK3Byb3RvY29sIFVSTHMgdG8gc21hcnQgVVJMcy4gIFRoaXMgcGVybWl0cyBhbGwgdXNlcnMgdG8gaGF2ZSB0aGUKK3NhbWUgcHVibGlzaGVkIFVSTCwgYW5kIHRoZSBwZWVycyBhdXRvbWF0aWNhbGx5IHNlbGVjdCB0aGUgbW9zdAorZWZmaWNpZW50IHRyYW5zcG9ydCBhdmFpbGFibGUgdG8gdGhlbS4KKworCitVUkwgRm9ybWF0CistLS0tLS0tLS0tCisKK1VSTHMgZm9yIEdpdCByZXBvc2l0b3JpZXMgYWNjZXNzZWQgYnkgSFRUUCB1c2UgdGhlIHN0YW5kYXJkIEhUVFAKK1VSTCBzeW50YXggZG9jdW1lbnRlZCBieSBSRkMgMTczOCwgc28gdGhleSBhcmUgb2YgdGhlIGZvcm06CisKKyAgaHR0cDovLzxob3N0Pjo8cG9ydD4vPHBhdGg+PzxzZWFyY2hwYXJ0PgorCitXaXRoaW4gdGhpcyBkb2N1bWVudGF0aW9uIHRoZSBwbGFjZWhvbGRlciAkR0lUX1VSTCB3aWxsIHN0YW5kIGZvcgordGhlIGh0dHA6Ly8gcmVwb3NpdG9yeSBVUkwgZW50ZXJlZCBieSB0aGUgZW5kLXVzZXIuCisKK1NlcnZlcnMgU0hPVUxEIGhhbmRsZSBhbGwgcmVxdWVzdHMgdG8gbG9jYXRpb25zIG1hdGNoaW5nICRHSVRfVVJMLCBhcworYm90aCB0aGUgInNtYXJ0IiBhbmQgImR1bWIiIEhUVFAgcHJvdG9jb2xzIHVzZWQgYnkgR2l0IG9wZXJhdGUKK2J5IGFwcGVuZGluZyBhZGRpdGlvbmFsIHBhdGggY29tcG9uZW50cyBvbnRvIHRoZSBlbmQgb2YgdGhlIHVzZXIKK3N1cHBsaWVkICRHSVRfVVJMIHN0cmluZy4KKworQW4gZXhhbXBsZSBvZiBhIGR1bWIgY2xpZW50IHJlcXVlc3RpbmcgZm9yIGEgbG9vc2Ugb2JqZWN0OgorCisgICRHSVRfVVJMOiAgICAgaHR0cDovL2V4YW1wbGUuY29tOjgwODAvZ2l0L3JlcG8uZ2l0CisgIFVSTCByZXF1ZXN0OiAgaHR0cDovL2V4YW1wbGUuY29tOjgwODAvZ2l0L3JlcG8uZ2l0L29iamVjdHMvZDAvNDlmNmMyN2EyMjQ0ZTEyMDQxOTU1ZTI2MmE0MDRjN2ZhYmEzNTUKKworQW4gZXhhbXBsZSBvZiBhIHNtYXJ0IHJlcXVlc3QgdG8gYSBjYXRjaC1hbGwgZ2F0ZXdheToKKworICAkR0lUX1VSTDogICAgIGh0dHA6Ly9leGFtcGxlLmNvbS9kYWVtb24uY2dpP3N2Yz1naXQmcT0KKyAgVVJMIHJlcXVlc3Q6ICBodHRwOi8vZXhhbXBsZS5jb20vZGFlbW9uLmNnaT9zdmM9Z2l0JnE9L2luZm8vcmVmcyZzZXJ2aWNlPWdpdC1yZWNlaXZlLXBhY2sKKworQW4gZXhhbXBsZSBvZiBhIHJlcXVlc3QgdG8gYSBzdWJtb2R1bGU6CisKKyAgJEdJVF9VUkw6ICAgICBodHRwOi8vZXhhbXBsZS5jb20vZ2l0L3JlcG8uZ2l0L3BhdGgvc3VibW9kdWxlLmdpdAorICBVUkwgcmVxdWVzdDogIGh0dHA6Ly9leGFtcGxlLmNvbS9naXQvcmVwby5naXQvcGF0aC9zdWJtb2R1bGUuZ2l0L2luZm8vcmVmcworCitDbGllbnRzIE1VU1Qgc3RyaXAgYSB0cmFpbGluZyAnLycsIGlmIHByZXNlbnQsIGZyb20gdGhlIHVzZXIgc3VwcGxpZWQKKyRHSVRfVVJMIHN0cmluZyB0byBwcmV2ZW50IGVtcHR5IHBhdGggdG9rZW5zICgnLy8nKSBmcm9tIGFwcGVhcmluZworaW4gYW55IFVSTCBzZW50IHRvIGEgc2VydmVyLiAgQ29tcGF0aWJsZSBjbGllbnRzIE1VU1QgZXhwYW5kCisnJEdJVF9VUkwvaW5mby9yZWZzJyBhcyAnZm9vL2luZm8vcmVmcycgYW5kIG5vdCAnZm9vLy9pbmZvL3JlZnMnLgorCisKK0F1dGhlbnRpY2F0aW9uCistLS0tLS0tLS0tLS0tLQorCitTdGFuZGFyZCBIVFRQIGF1dGhlbnRpY2F0aW9uIGlzIHVzZWQgaWYgYXV0aGVudGljYXRpb24gaXMgcmVxdWlyZWQKK3RvIGFjY2VzcyBhIHJlcG9zaXRvcnksIGFuZCBNQVkgYmUgY29uZmlndXJlZCBhbmQgZW5mb3JjZWQgYnkgdGhlCitIVFRQIHNlcnZlciBzb2Z0d2FyZS4KKworQmVjYXVzZSBHaXQgcmVwb3NpdG9yaWVzIGFyZSBhY2Nlc3NlZCBieSBzdGFuZGFyZCBwYXRoIGNvbXBvbmVudHMKK3NlcnZlciBhZG1pbmlzdHJhdG9ycyBNQVkgdXNlIGRpcmVjdG9yeSBiYXNlZCBwZXJtaXNzaW9ucyB3aXRoaW4KK3RoZWlyIEhUVFAgc2VydmVyIHRvIGNvbnRyb2wgcmVwb3NpdG9yeSBhY2Nlc3MuCisKK0NsaWVudHMgU0hPVUxEIHN1cHBvcnQgQmFzaWMgYXV0aGVudGljYXRpb24gYXMgZGVzY3JpYmVkIGJ5IFJGQyAyNjE2LgorU2VydmVycyBTSE9VTEQgc3VwcG9ydCBCYXNpYyBhdXRoZW50aWNhdGlvbiBieSByZWx5aW5nIHVwb24gdGhlCitIVFRQIHNlcnZlciBwbGFjZWQgaW4gZnJvbnQgb2YgdGhlIEdpdCBzZXJ2ZXIgc29mdHdhcmUuCisKK1NlcnZlcnMgU0hPVUxEIE5PVCByZXF1aXJlIEhUVFAgY29va2llcyBmb3IgdGhlIHB1cnBvc2VzIG9mCithdXRoZW50aWNhdGlvbiBvciBhY2Nlc3MgY29udHJvbC4KKworQ2xpZW50cyBhbmQgc2VydmVycyBNQVkgc3VwcG9ydCBvdGhlciBjb21tb24gZm9ybXMgb2YgSFRUUCBiYXNlZAorYXV0aGVudGljYXRpb24sIHN1Y2ggYXMgRGlnZXN0IGF1dGhlbnRpY2F0aW9uLgorCisKK1NTTAorLS0tCisKK0NsaWVudHMgYW5kIHNlcnZlcnMgU0hPVUxEIHN1cHBvcnQgU1NMLCBwYXJ0aWN1bGFybHkgdG8gcHJvdGVjdAorcGFzc3dvcmRzIHdoZW4gcmVseWluZyBvbiBCYXNpYyBIVFRQIGF1dGhlbnRpY2F0aW9uLgorCisKK1Nlc3Npb24gU3RhdGUKKy0tLS0tLS0tLS0tLS0KKworVGhlIEdpdCBvdmVyIEhUVFAgcHJvdG9jb2wgKG11Y2ggbGlrZSBIVFRQIGl0c2VsZikgaXMgc3RhdGVsZXNzCitmcm9tIHRoZSBwZXJzcGVjdGl2ZSBvZiB0aGUgSFRUUCBzZXJ2ZXIgc2lkZS4gIEFsbCBzdGF0ZSBNVVNUIGJlCityZXRhaW5lZCBhbmQgbWFuYWdlZCBieSB0aGUgY2xpZW50IHByb2Nlc3MuICBUaGlzIHBlcm1pdHMgc2ltcGxlCityb3VuZC1yb2JpbiBsb2FkLWJhbGFuY2luZyBvbiB0aGUgc2VydmVyIHNpZGUsIHdpdGhvdXQgbmVlZGluZyB0bword29ycnkgYWJvdXQgc3RhdGUgbWFuYWdlbWVudC4KKworQ2xpZW50cyBNVVNUIE5PVCByZXF1aXJlIHN0YXRlIG1hbmFnZW1lbnQgb24gdGhlIHNlcnZlciBzaWRlIGluCitvcmRlciB0byBmdW5jdGlvbiBjb3JyZWN0bHkuCisKK1NlcnZlcnMgTVVTVCBOT1QgcmVxdWlyZSBIVFRQIGNvb2tpZXMgaW4gb3JkZXIgdG8gZnVuY3Rpb24gY29ycmVjdGx5LgorQ2xpZW50cyBNQVkgc3RvcmUgYW5kIGZvcndhcmQgSFRUUCBjb29raWVzIGR1cmluZyByZXF1ZXN0IHByb2Nlc3NpbmcKK2FzIGRlc2NyaWJlZCBieSBSRkMgMjYxNiAoSFRUUC8xLjEpLiAgU2VydmVycyBTSE9VTEQgaWdub3JlIGFueQorY29va2llcyBzZW50IGJ5IGEgY2xpZW50LgorCisKK0dlbmVyYWwgUmVxdWVzdCBQcm9jZXNzaW5nCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitFeGNlcHQgd2hlcmUgbm90ZWQsIGFsbCBzdGFuZGFyZCBIVFRQIGJlaGF2aW9yIFNIT1VMRCBiZSBhc3N1bWVkCitieSBib3RoIGNsaWVudCBhbmQgc2VydmVyLiAgVGhpcyBpbmNsdWRlcyAoYnV0IGlzIG5vdCBuZWNlc3NhcmlseQorbGltaXRlZCB0byk6CisKK0lmIHRoZXJlIGlzIG5vIHJlcG9zaXRvcnkgYXQgJEdJVF9VUkwsIG9yIHRoZSByZXNvdXJjZSBwb2ludGVkIHRvIGJ5IGEKK2xvY2F0aW9uIG1hdGNoaW5nICRHSVRfVVJMIGRvZXMgbm90IGV4aXN0LCB0aGUgc2VydmVyIE1VU1QgTk9UIHJlc3BvbmQKK3dpdGggJzIwMCBPSycgcmVzcG9uc2UuICBBIHNlcnZlciBTSE9VTEQgcmVzcG9uZCB3aXRoCisnNDA0IE5vdCBGb3VuZCcsICc0MTAgR29uZScsIG9yIGFueSBvdGhlciBzdWl0YWJsZSBIVFRQIHN0YXR1cyBjb2RlCit3aGljaCBkb2VzIG5vdCBpbXBseSB0aGUgcmVzb3VyY2UgZXhpc3RzIGFzIHJlcXVlc3RlZC4KKworSWYgdGhlcmUgaXMgYSByZXBvc2l0b3J5IGF0ICRHSVRfVVJMLCBidXQgYWNjZXNzIGlzIG5vdCBjdXJyZW50bHkKK3Blcm1pdHRlZCwgdGhlIHNlcnZlciBNVVNUIHJlc3BvbmQgd2l0aCB0aGUgJzQwMyBGb3JiaWRkZW4nIEhUVFAKK3N0YXR1cyBjb2RlLgorCitTZXJ2ZXJzIFNIT1VMRCBzdXBwb3J0IGJvdGggSFRUUCAxLjAgYW5kIEhUVFAgMS4xLgorU2VydmVycyBTSE9VTEQgc3VwcG9ydCBjaHVua2VkIGVuY29kaW5nIGZvciBib3RoIHJlcXVlc3QgYW5kIHJlc3BvbnNlCitib2RpZXMuCisKK0NsaWVudHMgU0hPVUxEIHN1cHBvcnQgYm90aCBIVFRQIDEuMCBhbmQgSFRUUCAxLjEuCitDbGllbnRzIFNIT1VMRCBzdXBwb3J0IGNodW5rZWQgZW5jb2RpbmcgZm9yIGJvdGggcmVxdWVzdCBhbmQgcmVzcG9uc2UKK2JvZGllcy4KKworU2VydmVycyBNQVkgcmV0dXJuIEVUYWcgYW5kL29yIExhc3QtTW9kaWZpZWQgaGVhZGVycy4KKworQ2xpZW50cyBNQVkgcmV2YWxpZGF0ZSBjYWNoZWQgZW50aXRpZXMgYnkgaW5jbHVkaW5nIElmLU1vZGlmaWVkLVNpbmNlCithbmQvb3IgSWYtTm9uZS1NYXRjaCByZXF1ZXN0IGhlYWRlcnMuCisKK1NlcnZlcnMgTUFZIHJldHVybiAnMzA0IE5vdCBNb2RpZmllZCcgaWYgdGhlIHJlbGV2YW50IGhlYWRlcnMgYXBwZWFyCitpbiB0aGUgcmVxdWVzdCBhbmQgdGhlIGVudGl0eSBoYXMgbm90IGNoYW5nZWQuICBDbGllbnRzIE1VU1QgdHJlYXQKKyczMDQgTm90IE1vZGlmaWVkJyBpZGVudGljYWwgdG8gJzIwMCBPSycgYnkgcmV1c2luZyB0aGUgY2FjaGVkIGVudGl0eS4KKworQ2xpZW50cyBNQVkgcmV1c2UgYSBjYWNoZWQgZW50aXR5IHdpdGhvdXQgcmV2YWxpZGF0aW9uIGlmIHRoZQorQ2FjaGUtQ29udHJvbCBhbmQvb3IgRXhwaXJlcyBoZWFkZXIgcGVybWl0cyBjYWNoaW5nLiAgQ2xpZW50cyBhbmQKK3NlcnZlcnMgTVVTVCBmb2xsb3cgUkZDIDI2MTYgZm9yIGNhY2hlIGNvbnRyb2xzLgorCisKK0Rpc2NvdmVyaW5nIFJlZmVyZW5jZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQWxsIEhUVFAgY2xpZW50cyBNVVNUIGJlZ2luIGVpdGhlciBhIGZldGNoIG9yIGEgcHVzaCBleGNoYW5nZSBieQorZGlzY292ZXJpbmcgdGhlIHJlZmVyZW5jZXMgYXZhaWxhYmxlIG9uIHRoZSByZW1vdGUgcmVwb3NpdG9yeS4KKworRHVtYiBDbGllbnRzCit+fn5+fn5+fn5+fn4KKworSFRUUCBjbGllbnRzIHRoYXQgb25seSBzdXBwb3J0IHRoZSAiZHVtYiIgcHJvdG9jb2wgTVVTVCBkaXNjb3ZlcgorcmVmZXJlbmNlcyBieSBtYWtpbmcgYSByZXF1ZXN0IGZvciB0aGUgc3BlY2lhbCBpbmZvL3JlZnMgZmlsZSBvZgordGhlIHJlcG9zaXRvcnkuCisKK0R1bWIgSFRUUCBjbGllbnRzIE1VU1QgbWFrZSBhIEdFVCByZXF1ZXN0IHRvICRHSVRfVVJML2luZm8vcmVmcywKK3dpdGhvdXQgYW55IHNlYXJjaC9xdWVyeSBwYXJhbWV0ZXJzLgorCisgICBDOiBHRVQgJEdJVF9VUkwvaW5mby9yZWZzIEhUVFAvMS4wCisKKyAgIFM6IDIwMCBPSworICAgUzoKKyAgIFM6IDk1ZGNmYTM2MzMwMDRkYTAwNDlkM2QwZmEwM2Y4MDU4OWNiY2FmMzEJcmVmcy9oZWFkcy9tYWludAorICAgUzogZDA0OWY2YzI3YTIyNDRlMTIwNDE5NTVlMjYyYTQwNGM3ZmFiYTM1NQlyZWZzL2hlYWRzL21hc3RlcgorICAgUzogMmNiNThiNzk0ODhhOThkMjcyMWNlYTY0NDg3NWE4ZGQwMDI2YjExNQlyZWZzL3RhZ3MvdjEuMAorICAgUzogYTNjMmUyNDAyYjk5MTYzZDFkNTk3NTZlNWYyMDdhZTIxY2NjYmE0YwlyZWZzL3RhZ3MvdjEuMF57fQorCitUaGUgQ29udGVudC1UeXBlIG9mIHRoZSByZXR1cm5lZCBpbmZvL3JlZnMgZW50aXR5IFNIT1VMRCBiZQorInRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgiLCBidXQgTUFZIGJlIGFueSBjb250ZW50IHR5cGUuCitDbGllbnRzIE1VU1QgTk9UIGF0dGVtcHQgdG8gdmFsaWRhdGUgdGhlIHJldHVybmVkIENvbnRlbnQtVHlwZS4KK0R1bWIgc2VydmVycyBNVVNUIE5PVCByZXR1cm4gYSByZXR1cm4gdHlwZSBzdGFydGluZyB3aXRoCisiYXBwbGljYXRpb24veC1naXQtIi4KKworQ2FjaGUtQ29udHJvbCBoZWFkZXJzIE1BWSBiZSByZXR1cm5lZCB0byBkaXNhYmxlIGNhY2hpbmcgb2YgdGhlCityZXR1cm5lZCBlbnRpdHkuCisKK1doZW4gZXhhbWluaW5nIHRoZSByZXNwb25zZSBjbGllbnRzIFNIT1VMRCBvbmx5IGV4YW1pbmUgdGhlIEhUVFAKK3N0YXR1cyBjb2RlLiAgVmFsaWQgcmVzcG9uc2VzIGFyZSAnMjAwIE9LJywgb3IgJzMwNCBOb3QgTW9kaWZpZWQnLgorCitUaGUgcmV0dXJuZWQgY29udGVudCBpcyBhIFVOSVggZm9ybWF0dGVkIHRleHQgZmlsZSBkZXNjcmliaW5nCitlYWNoIHJlZiBhbmQgaXRzIGtub3duIHZhbHVlLiAgVGhlIGZpbGUgU0hPVUxEIGJlIHNvcnRlZCBieSBuYW1lCithY2NvcmRpbmcgdG8gdGhlIEMgbG9jYWxlIG9yZGVyaW5nLiAgVGhlIGZpbGUgU0hPVUxEIE5PVCBpbmNsdWRlCit0aGUgZGVmYXVsdCByZWYgbmFtZWQgJ0hFQUQnLgorCisgIGluZm9fcmVmcyAgID0gICooIHJlZl9yZWNvcmQgKQorICByZWZfcmVjb3JkICA9ICBhbnlfcmVmIC8gcGVlbGVkX3JlZgorCisgIGFueV9yZWYgICAgID0gIG9iai1pZCBIVEFCIHJlZm5hbWUgTEYKKyAgcGVlbGVkX3JlZiAgPSAgb2JqLWlkIEhUQUIgcmVmbmFtZSBMRgorCQkgb2JqLWlkIEhUQUIgcmVmbmFtZSAiXnt9IiBMRgorCitTbWFydCBDbGllbnRzCit+fn5+fn5+fn5+fn5+CisKK0hUVFAgY2xpZW50cyB0aGF0IHN1cHBvcnQgdGhlICJzbWFydCIgcHJvdG9jb2wgKG9yIGJvdGggdGhlCisic21hcnQiIGFuZCAiZHVtYiIgcHJvdG9jb2xzKSBNVVNUIGRpc2NvdmVyIHJlZmVyZW5jZXMgYnkgbWFraW5nCithIHBhcmFtZXRlcml6ZWQgcmVxdWVzdCBmb3IgdGhlIGluZm8vcmVmcyBmaWxlIG9mIHRoZSByZXBvc2l0b3J5LgorCitUaGUgcmVxdWVzdCBNVVNUIGNvbnRhaW4gZXhhY3RseSBvbmUgcXVlcnkgcGFyYW1ldGVyLAorJ3NlcnZpY2U9JHNlcnZpY2VuYW1lJywgd2hlcmUgJHNlcnZpY2VuYW1lIE1VU1QgYmUgdGhlIHNlcnZpY2UKK25hbWUgdGhlIGNsaWVudCB3aXNoZXMgdG8gY29udGFjdCB0byBjb21wbGV0ZSB0aGUgb3BlcmF0aW9uLgorVGhlIHJlcXVlc3QgTVVTVCBOT1QgY29udGFpbiBhZGRpdGlvbmFsIHF1ZXJ5IHBhcmFtZXRlcnMuCisKKyAgIEM6IEdFVCAkR0lUX1VSTC9pbmZvL3JlZnM/c2VydmljZT1naXQtdXBsb2FkLXBhY2sgSFRUUC8xLjAKKworICAgZHVtYiBzZXJ2ZXIgcmVwbHk6CisgICBTOiAyMDAgT0sKKyAgIFM6CisgICBTOiA5NWRjZmEzNjMzMDA0ZGEwMDQ5ZDNkMGZhMDNmODA1ODljYmNhZjMxCXJlZnMvaGVhZHMvbWFpbnQKKyAgIFM6IGQwNDlmNmMyN2EyMjQ0ZTEyMDQxOTU1ZTI2MmE0MDRjN2ZhYmEzNTUJcmVmcy9oZWFkcy9tYXN0ZXIKKyAgIFM6IDJjYjU4Yjc5NDg4YTk4ZDI3MjFjZWE2NDQ4NzVhOGRkMDAyNmIxMTUJcmVmcy90YWdzL3YxLjAKKyAgIFM6IGEzYzJlMjQwMmI5OTE2M2QxZDU5NzU2ZTVmMjA3YWUyMWNjY2JhNGMJcmVmcy90YWdzL3YxLjBee30KKworICAgc21hcnQgc2VydmVyIHJlcGx5OgorICAgUzogMjAwIE9LCisgICBTOiBDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtZ2l0LXVwbG9hZC1wYWNrLWFkdmVydGlzZW1lbnQKKyAgIFM6IENhY2hlLUNvbnRyb2w6IG5vLWNhY2hlCisgICBTOgorICAgUzogMDAxZSMgc2VydmljZT1naXQtdXBsb2FkLXBhY2tcbgorICAgUzogMDA0ODk1ZGNmYTM2MzMwMDRkYTAwNDlkM2QwZmEwM2Y4MDU4OWNiY2FmMzEgcmVmcy9oZWFkcy9tYWludFwwbXVsdGlfYWNrXG4KKyAgIFM6IDAwNDJkMDQ5ZjZjMjdhMjI0NGUxMjA0MTk1NWUyNjJhNDA0YzdmYWJhMzU1IHJlZnMvaGVhZHMvbWFzdGVyXG4KKyAgIFM6IDAwM2MyY2I1OGI3OTQ4OGE5OGQyNzIxY2VhNjQ0ODc1YThkZDAwMjZiMTE1IHJlZnMvdGFncy92MS4wXG4KKyAgIFM6IDAwM2ZhM2MyZTI0MDJiOTkxNjNkMWQ1OTc1NmU1ZjIwN2FlMjFjY2NiYTRjIHJlZnMvdGFncy92MS4wXnt9XG4KKworRHVtYiBTZXJ2ZXIgUmVzcG9uc2UKK15eXl5eXl5eXl5eXl5eXl5eXl5eCitEdW1iIHNlcnZlcnMgTVVTVCByZXNwb25kIHdpdGggdGhlIGR1bWIgc2VydmVyIHJlcGx5IGZvcm1hdC4KKworU2VlIHRoZSBwcmlvciBzZWN0aW9uIHVuZGVyIGR1bWIgY2xpZW50cyBmb3IgYSBtb3JlIGRldGFpbGVkCitkZXNjcmlwdGlvbiBvZiB0aGUgZHVtYiBzZXJ2ZXIgcmVzcG9uc2UuCisKK1NtYXJ0IFNlcnZlciBSZXNwb25zZQorXl5eXl5eXl5eXl5eXl5eXl5eXl5eCitJZiB0aGUgc2VydmVyIGRvZXMgbm90IHJlY29nbml6ZSB0aGUgcmVxdWVzdGVkIHNlcnZpY2UgbmFtZSwgb3IgdGhlCityZXF1ZXN0ZWQgc2VydmljZSBuYW1lIGhhcyBiZWVuIGRpc2FibGVkIGJ5IHRoZSBzZXJ2ZXIgYWRtaW5pc3RyYXRvciwKK3RoZSBzZXJ2ZXIgTVVTVCByZXNwb25kIHdpdGggdGhlICc0MDMgRm9yYmlkZGVuJyBIVFRQIHN0YXR1cyBjb2RlLgorCitPdGhlcndpc2UsIHNtYXJ0IHNlcnZlcnMgTVVTVCByZXNwb25kIHdpdGggdGhlIHNtYXJ0IHNlcnZlciByZXBseQorZm9ybWF0IGZvciB0aGUgcmVxdWVzdGVkIHNlcnZpY2UgbmFtZS4KKworQ2FjaGUtQ29udHJvbCBoZWFkZXJzIFNIT1VMRCBiZSB1c2VkIHRvIGRpc2FibGUgY2FjaGluZyBvZiB0aGUKK3JldHVybmVkIGVudGl0eS4KKworVGhlIENvbnRlbnQtVHlwZSBNVVNUIGJlICdhcHBsaWNhdGlvbi94LSRzZXJ2aWNlbmFtZS1hZHZlcnRpc2VtZW50Jy4KK0NsaWVudHMgU0hPVUxEIGZhbGwgYmFjayB0byB0aGUgZHVtYiBwcm90b2NvbCBpZiBhbm90aGVyIGNvbnRlbnQKK3R5cGUgaXMgcmV0dXJuZWQuICBXaGVuIGZhbGxpbmcgYmFjayB0byB0aGUgZHVtYiBwcm90b2NvbCBjbGllbnRzCitTSE9VTEQgTk9UIG1ha2UgYW4gYWRkaXRpb25hbCByZXF1ZXN0IHRvICRHSVRfVVJML2luZm8vcmVmcywgYnV0CitpbnN0ZWFkIFNIT1VMRCB1c2UgdGhlIHJlc3BvbnNlIGFscmVhZHkgaW4gaGFuZC4gIENsaWVudHMgTVVTVCBOT1QKK2NvbnRpbnVlIGlmIHRoZXkgZG8gbm90IHN1cHBvcnQgdGhlIGR1bWIgcHJvdG9jb2wuCisKK0NsaWVudHMgTVVTVCB2YWxpZGF0ZSB0aGUgc3RhdHVzIGNvZGUgaXMgZWl0aGVyICcyMDAgT0snIG9yCisnMzA0IE5vdCBNb2RpZmllZCcuCisKK0NsaWVudHMgTVVTVCB2YWxpZGF0ZSB0aGUgZmlyc3QgZml2ZSBieXRlcyBvZiB0aGUgcmVzcG9uc2UgZW50aXR5CittYXRjaGVzIHRoZSByZWdleCAiXlswLTlhLWZdezR9IyIuICBJZiB0aGlzIHRlc3QgZmFpbHMsIGNsaWVudHMKK01VU1QgTk9UIGNvbnRpbnVlLgorCitDbGllbnRzIE1VU1QgcGFyc2UgdGhlIGVudGlyZSByZXNwb25zZSBhcyBhIHNlcXVlbmNlIG9mIHBrdC1saW5lCityZWNvcmRzLgorCitDbGllbnRzIE1VU1QgdmVyaWZ5IHRoZSBmaXJzdCBwa3QtbGluZSBpcyAiIyBzZXJ2aWNlPSRzZXJ2aWNlbmFtZSIuCitTZXJ2ZXJzIE1VU1Qgc2V0ICRzZXJ2aWNlbmFtZSB0byBiZSB0aGUgcmVxdWVzdCBwYXJhbWV0ZXIgdmFsdWUuCitTZXJ2ZXJzIFNIT1VMRCBpbmNsdWRlIGFuIExGIGF0IHRoZSBlbmQgb2YgdGhpcyBsaW5lLgorQ2xpZW50cyBNVVNUIGlnbm9yZSBhbiBMRiBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lLgorCitTZXJ2ZXJzIE1VU1QgdGVybWluYXRlIHRoZSByZXNwb25zZSB3aXRoIHRoZSBtYWdpYyAiMDAwMCIgZW5kCitwa3QtbGluZSBtYXJrZXIuCisKK1RoZSByZXR1cm5lZCByZXNwb25zZSBpcyBhIHBrdC1saW5lIHN0cmVhbSBkZXNjcmliaW5nIGVhY2ggcmVmIGFuZAoraXRzIGtub3duIHZhbHVlLiAgVGhlIHN0cmVhbSBTSE9VTEQgYmUgc29ydGVkIGJ5IG5hbWUgYWNjb3JkaW5nIHRvCit0aGUgQyBsb2NhbGUgb3JkZXJpbmcuICBUaGUgc3RyZWFtIFNIT1VMRCBpbmNsdWRlIHRoZSBkZWZhdWx0IHJlZgorbmFtZWQgJ0hFQUQnIGFzIHRoZSBmaXJzdCByZWYuICBUaGUgc3RyZWFtIE1VU1QgaW5jbHVkZSBjYXBhYmlsaXR5CitkZWNsYXJhdGlvbnMgYmVoaW5kIGEgTlVMIG9uIHRoZSBmaXJzdCByZWYuCisKKyAgc21hcnRfcmVwbHkgICAgID0gIFBLVC1MSU5FKCIjIHNlcnZpY2U9JHNlcnZpY2VuYW1lIiBMRikKKwkJICAgICByZWZfbGlzdAorCQkgICAgICIwMDAwIgorICByZWZfbGlzdCAgICAgICAgPSAgZW1wdHlfbGlzdCAvIG5vbl9lbXB0eV9saXN0CisKKyAgZW1wdHlfbGlzdCAgICAgID0gIFBLVC1MSU5FKHplcm8taWQgU1AgImNhcGFiaWxpdGllc157fSIgTlVMIGNhcC1saXN0IExGKQorCisgIG5vbl9lbXB0eV9saXN0ICA9ICBQS1QtTElORShvYmotaWQgU1AgbmFtZSBOVUwgY2FwX2xpc3QgTEYpCisJCSAgICAgKnJlZl9yZWNvcmQKKworICBjYXAtbGlzdCAgICAgICAgPSAgY2FwYWJpbGl0eSAqKFNQIGNhcGFiaWxpdHkpCisgIGNhcGFiaWxpdHkgICAgICA9ICAxKihMQ19BTFBIQSAvIERJR0lUIC8gIi0iIC8gIl8iKQorICBMQ19BTFBIQSAgICAgICAgPSAgJXg2MS03QQorCisgIHJlZl9yZWNvcmQgICAgICA9ICBhbnlfcmVmIC8gcGVlbGVkX3JlZgorICBhbnlfcmVmICAgICAgICAgPSAgUEtULUxJTkUob2JqLWlkIFNQIG5hbWUgTEYpCisgIHBlZWxlZF9yZWYgICAgICA9ICBQS1QtTElORShvYmotaWQgU1AgbmFtZSBMRikKKwkJICAgICBQS1QtTElORShvYmotaWQgU1AgbmFtZSAiXnt9IiBMRgorCitTbWFydCBTZXJ2aWNlIGdpdC11cGxvYWQtcGFjaworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitUaGlzIHNlcnZpY2UgcmVhZHMgZnJvbSB0aGUgcmVwb3NpdG9yeSBwb2ludGVkIHRvIGJ5ICRHSVRfVVJMLgorCitDbGllbnRzIE1VU1QgZmlyc3QgcGVyZm9ybSByZWYgZGlzY292ZXJ5IHdpdGgKKyckR0lUX1VSTC9pbmZvL3JlZnM/c2VydmljZT1naXQtdXBsb2FkLXBhY2snLgorCisgICBDOiBQT1NUICRHSVRfVVJML2dpdC11cGxvYWQtcGFjayBIVFRQLzEuMAorICAgQzogQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LWdpdC11cGxvYWQtcGFjay1yZXF1ZXN0CisgICBDOgorICAgQzogMDAzMndhbnQgMGE1M2U5ZGRlYWRkYWQ2M2FkMTA2ODYwMjM3YmJmNTM0MTFkMTFhN1xuCisgICBDOiAwMDMyaGF2ZSA0NDFiNDBkODMzZmRmYTkzZWIyOTA4ZTUyNzQyMjQ4ZmFmMGVlOTkzXG4KKyAgIEM6IDAwMDAKKworICAgUzogMjAwIE9LCisgICBTOiBDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtZ2l0LXVwbG9hZC1wYWNrLXJlc3VsdAorICAgUzogQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUKKyAgIFM6CisgICBTOiAuLi4uQUNLICVzLCBjb250aW51ZQorICAgUzogLi4uLk5BSworCitDbGllbnRzIE1VU1QgTk9UIHJldXNlIG9yIHJldmFsaWRhdGUgYSBjYWNoZWQgcmVwb25zZS4KK1NlcnZlcnMgTVVTVCBpbmNsdWRlIHN1ZmZpY2llbnQgQ2FjaGUtQ29udHJvbCBoZWFkZXJzCit0byBwcmV2ZW50IGNhY2hpbmcgb2YgdGhlIHJlc3BvbnNlLgorCitTZXJ2ZXJzIFNIT1VMRCBzdXBwb3J0IGFsbCBjYXBhYmlsaXRpZXMgZGVmaW5lZCBoZXJlLgorCitDbGllbnRzIE1VU1Qgc2VuZCBhdCBsZWFzdCBvbmUgJ3dhbnQnIGNvbW1hbmQgaW4gdGhlIHJlcXVlc3QgYm9keS4KK0NsaWVudHMgTVVTVCBOT1QgcmVmZXJlbmNlIGFuIGlkIGluIGEgJ3dhbnQnIGNvbW1hbmQgd2hpY2ggZGlkIG5vdAorYXBwZWFyIGluIHRoZSByZXNwb25zZSBvYnRhaW5lZCB0aHJvdWdoIHJlZiBkaXNjb3ZlcnkgdW5sZXNzIHRoZQorc2VydmVyIGFkdmVydGlzZXMgY2FwYWJpbGl0eSAiYWxsb3ctdGlwLXNoYTEtaW4td2FudCIuCisKKyAgY29tcHV0ZV9yZXF1ZXN0ICAgPSAgd2FudF9saXN0CisJCSAgICAgICBoYXZlX2xpc3QKKwkJICAgICAgIHJlcXVlc3RfZW5kCisgIHJlcXVlc3RfZW5kICAgICAgID0gICIwMDAwIiAvICJkb25lIgorCisgIHdhbnRfbGlzdCAgICAgICAgID0gIFBLVC1MSU5FKHdhbnQgTlVMIGNhcF9saXN0IExGKQorCQkgICAgICAgKih3YW50X3BrdCkKKyAgd2FudF9wa3QgICAgICAgICAgPSAgUEtULUxJTkUod2FudCBMRikKKyAgd2FudCAgICAgICAgICAgICAgPSAgIndhbnQiIFNQIGlkCisgIGNhcF9saXN0ICAgICAgICAgID0gICooU1AgY2FwYWJpbGl0eSkgU1AKKworICBoYXZlX2xpc3QgICAgICAgICA9ICAqUEtULUxJTkUoImhhdmUiIFNQIGlkIExGKQorCitUT0RPOiBEb2N1bWVudCB0aGlzIGZ1cnRoZXIuCitUT0RPOiBEb24ndCB1c2UgdXBwZXJjYXNlIGZvciB2YXJpYWJsZSBuYW1lcyBiZWxvdy4KKworVGhlIE5lZ290aWF0aW9uIEFsZ29yaXRobQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorVGhlIGNvbXB1dGF0aW9uIHRvIHNlbGVjdCB0aGUgbWluaW1hbCBwYWNrIHByb2NlZWRzIGFzIGZvbGxvd3MKKyhjID0gY2xpZW50LCBzID0gc2VydmVyKToKKworIGluaXQgc3RlcDoKKyAoYykgVXNlIHJlZiBkaXNjb3ZlcnkgdG8gb2J0YWluIHRoZSBhZHZlcnRpc2VkIHJlZnMuCisgKGMpIFBsYWNlIGFueSBvYmplY3Qgc2VlbiBpbnRvIHNldCBBRFZFUlRJU0VELgorCisgKGMpIEJ1aWxkIGFuIGVtcHR5IHNldCwgQ09NTU9OLCB0byBob2xkIHRoZSBvYmplY3RzIHRoYXQgYXJlIGxhdGVyCisgICAgIGRldGVybWluZWQgdG8gYmUgb24gYm90aCBlbmRzLgorIChjKSBCdWlsZCBhIHNldCwgV0FOVCwgb2YgdGhlIG9iamVjdHMgZnJvbSBBRFZFUlRJU0VEIHRoZSBjbGllbnQKKyAgICAgd2FudHMgdG8gZmV0Y2gsIGJhc2VkIG9uIHdoYXQgaXQgc2F3IGR1cmluZyByZWYgZGlzY292ZXJ5LgorCisgKGMpIFN0YXJ0IGEgcXVldWUsIENfUEVORElORywgb3JkZXJlZCBieSBjb21taXQgdGltZSAocG9wcGluZyBuZXdlc3QKKyAgICAgZmlyc3QpLiAgQWRkIGFsbCBjbGllbnQgcmVmcy4gIFdoZW4gYSBjb21taXQgaXMgcG9wcGVkIGZyb20KKyAgICAgdGhlIHF1ZXVlIGl0cyBwYXJlbnRzIFNIT1VMRCBiZSBhdXRvbWF0aWNhbGx5IGluc2VydGVkIGJhY2suCisgICAgIENvbW1pdHMgTVVTVCBvbmx5IGVudGVyIHRoZSBxdWV1ZSBvbmNlLgorCisgb25lIGNvbXB1dGUgc3RlcDoKKyAoYykgU2VuZCBvbmUgJEdJVF9VUkwvZ2l0LXVwbG9hZC1wYWNrIHJlcXVlc3Q6CisKKyAgIEM6IDAwMzJ3YW50IDxXQU5UICMxPi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyAgIEM6IDAwMzJ3YW50IDxXQU5UICMyPi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyAgIC4uLi4KKyAgIEM6IDAwMzJoYXZlIDxDT01NT04gIzE+Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyAgIEM6IDAwMzJoYXZlIDxDT01NT04gIzI+Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyAgIC4uLi4KKyAgIEM6IDAwMzJoYXZlIDxIQVZFICMxPi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyAgIEM6IDAwMzJoYXZlIDxIQVZFICMyPi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyAgIC4uLi4KKyAgIEM6IDAwMDAKKworICAgICBUaGUgc3RyZWFtIGlzIG9yZ2FuaXplZCBpbnRvICJjb21tYW5kcyIsIHdpdGggZWFjaCBjb21tYW5kCisgICAgIGFwcGVhcmluZyBieSBpdHNlbGYgaW4gYSBwa3QtbGluZS4gIFdpdGhpbiBhIGNvbW1hbmQgbGluZQorICAgICB0aGUgdGV4dCBsZWFkaW5nIHVwIHRvIHRoZSBmaXJzdCBzcGFjZSBpcyB0aGUgY29tbWFuZCBuYW1lLAorICAgICBhbmQgdGhlIHJlbWFpbmRlciBvZiB0aGUgbGluZSB0byB0aGUgZmlyc3QgTEYgaXMgdGhlIHZhbHVlLgorICAgICBDb21tYW5kIGxpbmVzIGFyZSB0ZXJtaW5hdGVkIHdpdGggYW4gTEYgYXMgdGhlIGxhc3QgYnl0ZSBvZgorICAgICB0aGUgcGt0LWxpbmUgdmFsdWUuCisKKyAgICAgQ29tbWFuZHMgTVVTVCBhcHBlYXIgaW4gdGhlIGZvbGxvd2luZyBvcmRlciwgaWYgdGhleSBhcHBlYXIKKyAgICAgYXQgYWxsIGluIHRoZSByZXF1ZXN0IHN0cmVhbToKKworICAgICAgICogd2FudAorICAgICAgICogaGF2ZQorCisgICAgIFRoZSBzdHJlYW0gaXMgdGVybWluYXRlZCBieSBhIHBrdC1saW5lIGZsdXNoICgiMDAwMCIpLgorCisgICAgIEEgc2luZ2xlICJ3YW50IiBvciAiaGF2ZSIgY29tbWFuZCBNVVNUIGhhdmUgb25lIGhleCBmb3JtYXR0ZWQKKyAgICAgU0hBLTEgYXMgaXRzIHZhbHVlLiAgTXVsdGlwbGUgU0hBLTFzIE1VU1QgYmUgc2VudCBieSBzZW5kaW5nCisgICAgIG11bHRpcGxlIGNvbW1hbmRzLgorCisgICAgIFRoZSBIQVZFIGxpc3QgaXMgY3JlYXRlZCBieSBwb3BwaW5nIHRoZSBmaXJzdCAzMiBjb21taXRzCisgICAgIGZyb20gQ19QRU5ESU5HLiAgTGVzcyBjYW4gYmUgc3VwcGxpZWQgaWYgQ19QRU5ESU5HIGVtcHRpZXMuCisKKyAgICAgSWYgdGhlIGNsaWVudCBoYXMgc2VudCAyNTYgSEFWRSBjb21taXRzIGFuZCBoYXMgbm90IHlldAorICAgICByZWNlaXZlZCBvbmUgb2YgdGhvc2UgYmFjayBmcm9tIFNfQ09NTU9OLCBvciB0aGUgY2xpZW50IGhhcworICAgICBlbXB0aWVkIENfUEVORElORyBpdCBTSE9VTEQgaW5jbHVkZSBhICJkb25lIiBjb21tYW5kIHRvIGxldAorICAgICB0aGUgc2VydmVyIGtub3cgaXQgd29uJ3QgcHJvY2VlZDoKKworICAgQzogMDAwOWRvbmUKKworICAocykgUGFyc2UgdGhlIGdpdC11cGxvYWQtcGFjayByZXF1ZXN0OgorCisgICAgICBWZXJpZnkgYWxsIG9iamVjdHMgaW4gV0FOVCBhcmUgZGlyZWN0bHkgcmVhY2hhYmxlIGZyb20gcmVmcy4KKworICAgICAgVGhlIHNlcnZlciBNQVkgd2FsayBiYWNrd2FyZHMgdGhyb3VnaCBoaXN0b3J5IG9yIHRocm91Z2gKKyAgICAgIHRoZSByZWZsb2cgdG8gcGVybWl0IHNsaWdodGx5IHN0YWxlIHJlcXVlc3RzLgorCisgICAgICBJZiBubyBXQU5UIG9iamVjdHMgYXJlIHJlY2VpdmVkLCBzZW5kIGFuIGVycm9yOgorCitUT0RPOiBEZWZpbmUgZXJyb3IgaWYgbm8gd2FudCBsaW5lcyBhcmUgcmVxdWVzdGVkLgorCisgICAgICBJZiBhbnkgV0FOVCBvYmplY3QgaXMgbm90IHJlYWNoYWJsZSwgc2VuZCBhbiBlcnJvcjoKKworVE9ETzogRGVmaW5lIGVycm9yIGlmIGFuIGludmFsaWQgd2FudCBpcyByZXF1ZXN0ZWQuCisKKyAgICAgQ3JlYXRlIGFuIGVtcHR5IGxpc3QsIFNfQ09NTU9OLgorCisgICAgIElmICdoYXZlJyB3YXMgc2VudDoKKworICAgICBMb29wIHRocm91Z2ggdGhlIG9iamVjdHMgaW4gdGhlIG9yZGVyIHN1cHBsaWVkIGJ5IHRoZSBjbGllbnQuCisgICAgIEZvciBlYWNoIG9iamVjdCwgaWYgdGhlIHNlcnZlciBoYXMgdGhlIG9iamVjdCByZWFjaGFibGUgZnJvbQorICAgICBhIHJlZiwgYWRkIGl0IHRvIFNfQ09NTU9OLiAgSWYgYSBjb21taXQgaXMgYWRkZWQgdG8gU19DT01NT04sCisgICAgIGRvIG5vdCBhZGQgYW55IGFuY2VzdG9ycywgZXZlbiBpZiB0aGV5IGFsc28gYXBwZWFyIGluIEhBVkUuCisKKyAgKHMpIFNlbmQgdGhlIGdpdC11cGxvYWQtcGFjayByZXNwb25zZToKKworICAgICBJZiB0aGUgc2VydmVyIGhhcyBmb3VuZCBhIGNsb3NlZCBzZXQgb2Ygb2JqZWN0cyB0byBwYWNrIG9yIHRoZQorICAgICByZXF1ZXN0IGVuZHMgd2l0aCAiZG9uZSIsIGl0IHJlcGxpZXMgd2l0aCB0aGUgcGFjay4KKworVE9ETzogRG9jdW1lbnQgdGhlIHBhY2sgYmFzZWQgcmVzcG9uc2UKKyAgIFM6IFBBQ0suLi4KKworICAgICBUaGUgcmV0dXJuZWQgc3RyZWFtIGlzIHRoZSBzaWRlLWJhbmQtNjRrIHByb3RvY29sIHN1cHBvcnRlZAorICAgICBieSB0aGUgZ2l0LXVwbG9hZC1wYWNrIHNlcnZpY2UsIGFuZCB0aGUgcGFjayBpcyBlbWJlZGRlZCBpbnRvCisgICAgIHN0cmVhbSAxLiAgUHJvZ3Jlc3MgbWVzc2FnZXMgZnJvbSB0aGUgc2VydmVyIHNpZGUgTUFZIGFwcGVhcgorICAgICBpbiBzdHJlYW0gMi4KKworICAgICBIZXJlIGEgImNsb3NlZCBzZXQgb2Ygb2JqZWN0cyIgaXMgZGVmaW5lZCB0byBoYXZlIGF0IGxlYXN0CisgICAgIG9uZSBwYXRoIGZyb20gZXZlcnkgV0FOVCB0byBhdCBsZWFzdCBvbmUgQ09NTU9OIG9iamVjdC4KKworICAgICBJZiB0aGUgc2VydmVyIG5lZWRzIG1vcmUgaW5mb3JtYXRpb24sIGl0IHJlcGxpZXMgd2l0aCBhCisgICAgIHN0YXR1cyBjb250aW51ZSByZXNwb25zZToKKworVE9ETzogRG9jdW1lbnQgdGhlIG5vbi1wYWNrIHJlc3BvbnNlCisKKyAgKGMpIFBhcnNlIHRoZSB1cGxvYWQtcGFjayByZXNwb25zZToKKworVE9ETzogRG9jdW1lbnQgcGFyc2luZyByZXNwb25zZQorCisgICAgICBEbyBhbm90aGVyIGNvbXB1dGUgc3RlcC4KKworCitTbWFydCBTZXJ2aWNlIGdpdC1yZWNlaXZlLXBhY2sKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVGhpcyBzZXJ2aWNlIHJlYWRzIGZyb20gdGhlIHJlcG9zaXRvcnkgcG9pbnRlZCB0byBieSAkR0lUX1VSTC4KKworQ2xpZW50cyBNVVNUIGZpcnN0IHBlcmZvcm0gcmVmIGRpc2NvdmVyeSB3aXRoCisnJEdJVF9VUkwvaW5mby9yZWZzP3NlcnZpY2U9Z2l0LXJlY2VpdmUtcGFjaycuCisKKyAgIEM6IFBPU1QgJEdJVF9VUkwvZ2l0LXJlY2VpdmUtcGFjayBIVFRQLzEuMAorICAgQzogQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LWdpdC1yZWNlaXZlLXBhY2stcmVxdWVzdAorICAgQzoKKyAgIEM6IC4uLi4wYTUzZTlkZGVhZGRhZDYzYWQxMDY4NjAyMzdiYmY1MzQxMWQxMWE3IDQ0MWI0MGQ4MzNmZGZhOTNlYjI5MDhlNTI3NDIyNDhmYWYwZWU5OTMgcmVmcy9oZWFkcy9tYWludFwwIHJlcG9ydC1zdGF0dXMKKyAgIEM6IDAwMDAKKyAgIEM6IFBBQ0suLi4uCisKKyAgIFM6IDIwMCBPSworICAgUzogQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LWdpdC1yZWNlaXZlLXBhY2stcmVzdWx0CisgICBTOiBDYWNoZS1Db250cm9sOiBuby1jYWNoZQorICAgUzoKKyAgIFM6IC4uLi4KKworQ2xpZW50cyBNVVNUIE5PVCByZXVzZSBvciByZXZhbGlkYXRlIGEgY2FjaGVkIHJlcG9uc2UuCitTZXJ2ZXJzIE1VU1QgaW5jbHVkZSBzdWZmaWNpZW50IENhY2hlLUNvbnRyb2wgaGVhZGVycwordG8gcHJldmVudCBjYWNoaW5nIG9mIHRoZSByZXNwb25zZS4KKworU2VydmVycyBTSE9VTEQgc3VwcG9ydCBhbGwgY2FwYWJpbGl0aWVzIGRlZmluZWQgaGVyZS4KKworQ2xpZW50cyBNVVNUIHNlbmQgYXQgbGVhc3Qgb25lIGNvbW1hbmQgaW4gdGhlIHJlcXVlc3QgYm9keS4KK1dpdGhpbiB0aGUgY29tbWFuZCBwb3J0aW9uIG9mIHRoZSByZXF1ZXN0IGJvZHkgY2xpZW50cyBTSE9VTEQgc2VuZAordGhlIGlkIG9idGFpbmVkIHRocm91Z2ggcmVmIGRpc2NvdmVyeSBhcyBvbGRfaWQuCisKKyAgdXBkYXRlX3JlcXVlc3QgID0gIGNvbW1hbmRfbGlzdAorCQkgICAgICJQQUNLIiA8YmluYXJ5IGRhdGE+CisKKyAgY29tbWFuZF9saXN0ICAgID0gIFBLVC1MSU5FKGNvbW1hbmQgTlVMIGNhcF9saXN0IExGKQorCQkgICAgICooY29tbWFuZF9wa3QpCisgIGNvbW1hbmRfcGt0ICAgICA9ICBQS1QtTElORShjb21tYW5kIExGKQorICBjYXBfbGlzdCAgICAgICAgPSAgKihTUCBjYXBhYmlsaXR5KSBTUAorCisgIGNvbW1hbmQgICAgICAgICA9ICBjcmVhdGUgLyBkZWxldGUgLyB1cGRhdGUKKyAgY3JlYXRlICAgICAgICAgID0gIHplcm8taWQgU1AgbmV3X2lkIFNQIG5hbWUKKyAgZGVsZXRlICAgICAgICAgID0gIG9sZF9pZCBTUCB6ZXJvLWlkIFNQIG5hbWUKKyAgdXBkYXRlICAgICAgICAgID0gIG9sZF9pZCBTUCBuZXdfaWQgU1AgbmFtZQorCitUT0RPOiBEb2N1bWVudCB0aGlzIGZ1cnRoZXIuCisKKworUmVmZXJlbmNlcworLS0tLS0tLS0tLQorCitsaW5rOmh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzE3MzgudHh0W1JGQyAxNzM4OiBVbmlmb3JtIFJlc291cmNlIExvY2F0b3JzIChVUkwpXQorbGluazpodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyNjE2LnR4dFtSRkMgMjYxNjogSHlwZXJ0ZXh0IFRyYW5zZmVyIFByb3RvY29sIC0tIEhUVFAvMS4xXQorbGluazp0ZWNobmljYWwvcGFjay1wcm90b2NvbC5odG1sCitsaW5rOnRlY2huaWNhbC9wcm90b2NvbC1jYXBhYmlsaXRpZXMuaHRtbApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcGFjay1oZXVyaXN0aWNzLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3BhY2staGV1cmlzdGljcy50eHQKaW5kZXggOGI3YWUxYy4uYjdiZDk1MSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcGFjay1oZXVyaXN0aWNzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wYWNrLWhldXJpc3RpY3MudHh0CkBAIC0zNjYsMTIgKzM2Niw2IEBACiAKICAgICA8bGludXM+IFllcywgd2UgYWx3YXlzIHdyaXRlIG91dCBtb3N0IHJlY2VudCBmaXJzdAogCi1Gb3IgdGhlIG90aGVyIHJlY29yZDoKLQotICAgIDxwYXNreT4gbmpzYDogaHR0cDovL3Bhc3RlYmluLmNvbS81NDc5NjUKLQotVGhlICduZXQgbmV2ZXIgZm9yZ2V0cywgc28gdGhhdCBzaG91bGQgYmUgZ29vZCB1bnRpbCB0aGUgZW5kIG9mIHRpbWUuCi0KICAgICA8bmpzYD4gQW5kLCB5ZWFoLCBJIGdvdCB0aGUgcGFydCBhYm91dCBkZWVwZXItaW4taGlzdG9yeSBzdHVmZgogICAgICAgICBoYXZpbmcgd29yc2UgSU8gY2hhcmFjdGVyaXN0aWNzLCBvbmUgc29ydCBvZiBkb2Vzbid0IGNhcmUuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdXNlci1tYW51YWwudHh0IGIvRG9jdW1lbnRhdGlvbi91c2VyLW1hbnVhbC50eHQKaW5kZXggZmU3MjNlNC4uY2JiMDFhMSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi91c2VyLW1hbnVhbC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi91c2VyLW1hbnVhbC50eHQKQEAgLTEsNiArMSw1IEBACi1HaXQgVXNlcidzIE1hbnVhbCAoZm9yIHZlcnNpb24gMS41LjMgb3IgbmV3ZXIpCi1fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCi0KK0dpdCBVc2VyIE1hbnVhbAorX19fX19fX19fX19fX19fCiAKIEdpdCBpcyBhIGZhc3QgZGlzdHJpYnV0ZWQgcmV2aXNpb24gY29udHJvbCBzeXN0ZW0uCiAKQEAgLTIyMCw3ICsyMTksNyBAQAogCiBUaGUgYmVzdCB3YXkgdG8gc2VlIGhvdyB0aGlzIHdvcmtzIGlzIHVzaW5nIHRoZSBsaW5rZ2l0OmdpdGtbMV0KIGNvbW1hbmQ7IHJ1bm5pbmcgZ2l0ayBub3cgb24gYSBHaXQgcmVwb3NpdG9yeSBhbmQgbG9va2luZyBmb3IgbWVyZ2UKLWNvbW1pdHMgd2lsbCBoZWxwIHVuZGVyc3RhbmQgaG93IHRoZSBHaXQgb3JnYW5pemVzIGhpc3RvcnkuCitjb21taXRzIHdpbGwgaGVscCB1bmRlcnN0YW5kIGhvdyBHaXQgb3JnYW5pemVzIGhpc3RvcnkuCiAKIEluIHRoZSBmb2xsb3dpbmcsIHdlIHNheSB0aGF0IGNvbW1pdCBYIGlzICJyZWFjaGFibGUiIGZyb20gY29tbWl0IFkKIGlmIGNvbW1pdCBYIGlzIGFuIGFuY2VzdG9yIG9mIGNvbW1pdCBZLiAgRXF1aXZhbGVudGx5LCB5b3UgY291bGQgc2F5CkBAIC0yNjksMjcgKzI2OCwyMyBAQAogYSBzdW1tYXJ5IG9mIHRoZSBjb21tYW5kczoKIAogYGdpdCBicmFuY2hgOjoKLQlsaXN0IGFsbCBicmFuY2hlcworCWxpc3QgYWxsIGJyYW5jaGVzLgogYGdpdCBicmFuY2ggPGJyYW5jaD5gOjoKIAljcmVhdGUgYSBuZXcgYnJhbmNoIG5hbWVkIGA8YnJhbmNoPmAsIHJlZmVyZW5jaW5nIHRoZSBzYW1lCi0JcG9pbnQgaW4gaGlzdG9yeSBhcyB0aGUgY3VycmVudCBicmFuY2gKKwlwb2ludCBpbiBoaXN0b3J5IGFzIHRoZSBjdXJyZW50IGJyYW5jaC4KIGBnaXQgYnJhbmNoIDxicmFuY2g+IDxzdGFydC1wb2ludD5gOjoKIAljcmVhdGUgYSBuZXcgYnJhbmNoIG5hbWVkIGA8YnJhbmNoPmAsIHJlZmVyZW5jaW5nCiAJYDxzdGFydC1wb2ludD5gLCB3aGljaCBtYXkgYmUgc3BlY2lmaWVkIGFueSB3YXkgeW91IGxpa2UsCi0JaW5jbHVkaW5nIHVzaW5nIGEgYnJhbmNoIG5hbWUgb3IgYSB0YWcgbmFtZQorCWluY2x1ZGluZyB1c2luZyBhIGJyYW5jaCBuYW1lIG9yIGEgdGFnIG5hbWUuCiBgZ2l0IGJyYW5jaCAtZCA8YnJhbmNoPmA6OgotCWRlbGV0ZSB0aGUgYnJhbmNoIGA8YnJhbmNoPmA7IGlmIHRoZSBicmFuY2ggeW91IGFyZSBkZWxldGluZwotCXBvaW50cyB0byBhIGNvbW1pdCB3aGljaCBpcyBub3QgcmVhY2hhYmxlIGZyb20gdGhlIGN1cnJlbnQKLQlicmFuY2gsIHRoaXMgY29tbWFuZCB3aWxsIGZhaWwgd2l0aCBhIHdhcm5pbmcuCisJZGVsZXRlIHRoZSBicmFuY2ggYDxicmFuY2g+YDsgaWYgdGhlIGJyYW5jaCBpcyBub3QgZnVsbHkKKwltZXJnZWQgaW4gaXRzIHVwc3RyZWFtIGJyYW5jaCBvciBjb250YWluZWQgaW4gdGhlIGN1cnJlbnQgYnJhbmNoLAorCXRoaXMgY29tbWFuZCB3aWxsIGZhaWwgd2l0aCBhIHdhcm5pbmcuCiBgZ2l0IGJyYW5jaCAtRCA8YnJhbmNoPmA6OgotCWV2ZW4gaWYgdGhlIGJyYW5jaCBwb2ludHMgdG8gYSBjb21taXQgbm90IHJlYWNoYWJsZQotCWZyb20gdGhlIGN1cnJlbnQgYnJhbmNoLCB5b3UgbWF5IGtub3cgdGhhdCB0aGF0IGNvbW1pdAotCWlzIHN0aWxsIHJlYWNoYWJsZSBmcm9tIHNvbWUgb3RoZXIgYnJhbmNoIG9yIHRhZy4gIEluIHRoYXQKLQljYXNlIGl0IGlzIHNhZmUgdG8gdXNlIHRoaXMgY29tbWFuZCB0byBmb3JjZSBHaXQgdG8gZGVsZXRlCi0JdGhlIGJyYW5jaC4KKwlkZWxldGUgdGhlIGJyYW5jaCBgPGJyYW5jaD5gIGlycmVzcGVjdGl2ZSBvZiBpdHMgbWVyZ2VkIHN0YXR1cy4KIGBnaXQgY2hlY2tvdXQgPGJyYW5jaD5gOjoKIAltYWtlIHRoZSBjdXJyZW50IGJyYW5jaCBgPGJyYW5jaD5gLCB1cGRhdGluZyB0aGUgd29ya2luZwotCWRpcmVjdG9yeSB0byByZWZsZWN0IHRoZSB2ZXJzaW9uIHJlZmVyZW5jZWQgYnkgYDxicmFuY2g+YAorCWRpcmVjdG9yeSB0byByZWZsZWN0IHRoZSB2ZXJzaW9uIHJlZmVyZW5jZWQgYnkgYDxicmFuY2g+YC4KIGBnaXQgY2hlY2tvdXQgLWIgPG5ldz4gPHN0YXJ0LXBvaW50PmA6OgogCWNyZWF0ZSBhIG5ldyBicmFuY2ggYDxuZXc+YCByZWZlcmVuY2luZyBgPHN0YXJ0LXBvaW50PmAsIGFuZAogCWNoZWNrIGl0IG91dC4KQEAgLTMxMywxMCArMzA4LDE3IEBACiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogJCBnaXQgY2hlY2tvdXQgdjIuNi4xNwotTm90ZTogbW92aW5nIHRvICJ2Mi42LjE3IiB3aGljaCBpc24ndCBhIGxvY2FsIGJyYW5jaAotSWYgeW91IHdhbnQgdG8gY3JlYXRlIGEgbmV3IGJyYW5jaCBmcm9tIHRoaXMgY2hlY2tvdXQsIHlvdSBtYXkgZG8gc28KLShub3cgb3IgbGF0ZXIpIGJ5IHVzaW5nIC1iIHdpdGggdGhlIGNoZWNrb3V0IGNvbW1hbmQgYWdhaW4uIEV4YW1wbGU6Ci0gIGdpdCBjaGVja291dCAtYiA8bmV3X2JyYW5jaF9uYW1lPgorTm90ZTogY2hlY2tpbmcgb3V0ICd2Mi42LjE3Jy4KKworWW91IGFyZSBpbiAnZGV0YWNoZWQgSEVBRCcgc3RhdGUuIFlvdSBjYW4gbG9vayBhcm91bmQsIG1ha2UgZXhwZXJpbWVudGFsCitjaGFuZ2VzIGFuZCBjb21taXQgdGhlbSwgYW5kIHlvdSBjYW4gZGlzY2FyZCBhbnkgY29tbWl0cyB5b3UgbWFrZSBpbiB0aGlzCitzdGF0ZSB3aXRob3V0IGltcGFjdGluZyBhbnkgYnJhbmNoZXMgYnkgcGVyZm9ybWluZyBhbm90aGVyIGNoZWNrb3V0LgorCitJZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBuZXcgYnJhbmNoIHRvIHJldGFpbiBjb21taXRzIHlvdSBjcmVhdGUsIHlvdSBtYXkKK2RvIHNvIChub3cgb3IgbGF0ZXIpIGJ5IHVzaW5nIC1iIHdpdGggdGhlIGNoZWNrb3V0IGNvbW1hbmQgYWdhaW4uIEV4YW1wbGU6CisKKyAgZ2l0IGNoZWNrb3V0IC1iIG5ld19icmFuY2hfbmFtZQorCiBIRUFEIGlzIG5vdyBhdCA0MjdhYmZhLi4uIExpbnV4IHYyLjYuMTcKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCkBAIC0zMjcsNyArMzI5LDcgQEAKICQgY2F0IC5naXQvSEVBRAogNDI3YWJmYTI4YWZlZGZmYWRmY2E5ZGQ4YjA2N2ViNmQzNmJhYzUzZgogJCBnaXQgYnJhbmNoCi0qIChubyBicmFuY2gpCisqIChkZXRhY2hlZCBmcm9tIHYyLjYuMTcpCiAgIG1hc3RlcgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKQEAgLTc4Nyw3ICs3ODksNyBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBPciB5b3UgY291bGQgcmVjYWxsIHRoYXQgdGhlIGAuLi5gIG9wZXJhdG9yIHNlbGVjdHMgYWxsIGNvbW1pdHMKLWNvbnRhaW5lZCByZWFjaGFibGUgZnJvbSBlaXRoZXIgb25lIHJlZmVyZW5jZSBvciB0aGUgb3RoZXIgYnV0IG5vdAorcmVhY2hhYmxlIGZyb20gZWl0aGVyIG9uZSByZWZlcmVuY2Ugb3IgdGhlIG90aGVyIGJ1dCBub3QKIGJvdGg7IHNvCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTgxNCw3ICs4MTYsNyBAQAogJCBnaXRrIGUwNWRiMGZkLi4KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotT3IgeW91IGNhbiB1c2UgbGlua2dpdDpnaXQtbmFtZS1yZXZbMV0sIHdoaWNoIHdpbGwgZ2l2ZSB0aGUgY29tbWl0IGEKK29yIHlvdSBjYW4gdXNlIGxpbmtnaXQ6Z2l0LW5hbWUtcmV2WzFdLCB3aGljaCB3aWxsIGdpdmUgdGhlIGNvbW1pdCBhCiBuYW1lIGJhc2VkIG9uIGFueSB0YWcgaXQgZmluZHMgcG9pbnRpbmcgdG8gb25lIG9mIHRoZSBjb21taXQncwogZGVzY2VuZGFudHM6CiAKQEAgLTg1OCw4ICs4NjAsOCBAQAogCiBBcyB5ZXQgYW5vdGhlciBhbHRlcm5hdGl2ZSwgdGhlIGxpbmtnaXQ6Z2l0LXNob3ctYnJhbmNoWzFdIGNvbW1hbmQgbGlzdHMKIHRoZSBjb21taXRzIHJlYWNoYWJsZSBmcm9tIGl0cyBhcmd1bWVudHMgd2l0aCBhIGRpc3BsYXkgb24gdGhlIGxlZnQtaGFuZAotc2lkZSB0aGF0IGluZGljYXRlcyB3aGljaCBhcmd1bWVudHMgdGhhdCBjb21taXQgaXMgcmVhY2hhYmxlIGZyb20uICBTbywKLXlvdSBjYW4gcnVuIHNvbWV0aGluZyBsaWtlCitzaWRlIHRoYXQgaW5kaWNhdGVzIHdoaWNoIGFyZ3VtZW50cyB0aGF0IGNvbW1pdCBpcyByZWFjaGFibGUgZnJvbS4KK1NvLCBpZiB5b3UgcnVuIHNvbWV0aGluZyBsaWtlCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICQgZ2l0IHNob3ctYnJhbmNoIGUwNWRiMGZkIHYxLjUuMC1yYzAgdjEuNS4wLXJjMSB2MS41LjAtcmMyCkBAIC04NzEsMTUgKzg3MywxNSBAQAogLi4uCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLXRoZW4gc2VhcmNoIGZvciBhIGxpbmUgdGhhdCBsb29rcyBsaWtlCit0aGVuIGEgbGluZSBsaWtlCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICsgKysgW2UwNWRiMGZkXSBGaXggd2FybmluZ3MgaW4gc2hhMV9maWxlLmMgLSB1c2UgQzk5IHByaW50ZiBmb3JtYXQgaWYKIGF2YWlsYWJsZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1XaGljaCBzaG93cyB0aGF0IGUwNWRiMGZkIGlzIHJlYWNoYWJsZSBmcm9tIGl0c2VsZiwgZnJvbSB2MS41LjAtcmMxLCBhbmQKLWZyb20gdjEuNS4wLXJjMiwgYnV0IG5vdCBmcm9tIHYxLjUuMC1yYzAuCitzaG93cyB0aGF0IGUwNWRiMGZkIGlzIHJlYWNoYWJsZSBmcm9tIGl0c2VsZiwgZnJvbSB2MS41LjAtcmMxLAorYW5kIGZyb20gdjEuNS4wLXJjMiwgYW5kIG5vdCBmcm9tIHYxLjUuMC1yYzAuCiAKIFtbc2hvd2luZy1jb21taXRzLXVuaXF1ZS10by1hLWJyYW5jaF1dCiBTaG93aW5nIGNvbW1pdHMgdW5pcXVlIHRvIGEgZ2l2ZW4gYnJhbmNoCkBAIC0xMDc0LDE5ICsxMDc2LDEzIEBACiAKIE1vZGlmeWluZyB0aGUgaW5kZXggaXMgZWFzeToKIAotVG8gdXBkYXRlIHRoZSBpbmRleCB3aXRoIHRoZSBuZXcgY29udGVudHMgb2YgYSBtb2RpZmllZCBmaWxlLCB1c2UKK1RvIHVwZGF0ZSB0aGUgaW5kZXggd2l0aCB0aGUgY29udGVudHMgb2YgYSBuZXcgb3IgbW9kaWZpZWQgZmlsZSwgdXNlCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICQgZ2l0IGFkZCBwYXRoL3RvL2ZpbGUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotVG8gYWRkIHRoZSBjb250ZW50cyBvZiBhIG5ldyBmaWxlIHRvIHRoZSBpbmRleCwgdXNlCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSQgZ2l0IGFkZCBwYXRoL3RvL2ZpbGUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotVG8gcmVtb3ZlIGEgZmlsZSBmcm9tIHRoZSBpbmRleCBhbmQgZnJvbSB0aGUgd29ya2luZyB0cmVlLAorVG8gcmVtb3ZlIGEgZmlsZSBmcm9tIHRoZSBpbmRleCBhbmQgZnJvbSB0aGUgd29ya2luZyB0cmVlLCB1c2UKIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogJCBnaXQgcm0gcGF0aC90by9maWxlCkBAIC0xNzg3LDcgKzE3ODMsNyBAQAogJCBnaXQgbWVyZ2UgYnJhbmNoCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLWFyZSByb3VnaGx5IGVxdWl2YWxlbnQuICBUaGUgZm9ybWVyIGlzIGFjdHVhbGx5IHZlcnkgY29tbW9ubHkgdXNlZC4KK2FyZSByb3VnaGx5IGVxdWl2YWxlbnQuCiAKIFtbc3VibWl0dGluZy1wYXRjaGVzXV0KIFN1Ym1pdHRpbmcgcGF0Y2hlcyB0byBhIHByb2plY3QKQEAgLTE5NzcsNyArMTk3Myw3IEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIChTZWUgYWxzbwotbGluazpob3d0by9zZXR1cC1naXQtc2VydmVyLW92ZXItaHR0cC50eHRbc2V0dXAtZ2l0LXNlcnZlci1vdmVyLWh0dHBdCitsaW5rOmhvd3RvL3NldHVwLWdpdC1zZXJ2ZXItb3Zlci1odHRwLmh0bWxbc2V0dXAtZ2l0LXNlcnZlci1vdmVyLWh0dHBdCiBmb3IgYSBzbGlnaHRseSBtb3JlIHNvcGhpc3RpY2F0ZWQgc2V0dXAgdXNpbmcgV2ViREFWIHdoaWNoIGFsc28KIGFsbG93cyBwdXNoaW5nIG92ZXIgSFRUUC4pCiAKQEAgLTIyNDksMTEgKzIyNDUsMTEgQEAKICQgLi4uIHBhdGNoIC4uLiB0ZXN0ICAuLi4gY29tbWl0IFsgLi4uIHBhdGNoIC4uLiB0ZXN0IC4uLiBjb21taXQgXSoKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotV2hlbiB5b3UgYXJlIGhhcHB5IHdpdGggdGhlIHN0YXRlIG9mIHRoaXMgY2hhbmdlLCB5b3UgY2FuIHB1bGwgaXQgaW50byB0aGUKK1doZW4geW91IGFyZSBoYXBweSB3aXRoIHRoZSBzdGF0ZSBvZiB0aGlzIGNoYW5nZSwgeW91IGNhbiBtZXJnZSBpdCBpbnRvIHRoZQogInRlc3QiIGJyYW5jaCBpbiBwcmVwYXJhdGlvbiB0byBtYWtlIGl0IHB1YmxpYzoKIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotJCBnaXQgY2hlY2tvdXQgdGVzdCAmJiBnaXQgcHVsbCAuIHNwZWVkLXVwLXNwaW5sb2NrcworJCBnaXQgY2hlY2tvdXQgdGVzdCAmJiBnaXQgbWVyZ2Ugc3BlZWQtdXAtc3BpbmxvY2tzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIEl0IGlzIHVubGlrZWx5IHRoYXQgeW91IHdvdWxkIGhhdmUgYW55IGNvbmZsaWN0cyBoZXJlIC4uLiBidXQgeW91IG1pZ2h0IGlmIHlvdQpAQCAtMjI2NSw3ICsyMjYxLDcgQEAKIG1lYW5zIHRoYXQgdGhlIHBhdGNoZXMgY2FuIGJlIG1vdmVkIGludG8gdGhlIGByZWxlYXNlYCB0cmVlIGluIGFueSBvcmRlci4KIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotJCBnaXQgY2hlY2tvdXQgcmVsZWFzZSAmJiBnaXQgcHVsbCAuIHNwZWVkLXVwLXNwaW5sb2NrcworJCBnaXQgY2hlY2tvdXQgcmVsZWFzZSAmJiBnaXQgbWVyZ2Ugc3BlZWQtdXAtc3BpbmxvY2tzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIEFmdGVyIGEgd2hpbGUsIHlvdSB3aWxsIGhhdmUgYSBudW1iZXIgb2YgYnJhbmNoZXMsIGFuZCBkZXNwaXRlIHRoZQpAQCAtMzE5MSwyMyArMzE4NywyMSBAQAogWW91IGNhbiBzYXZlIHNwYWNlIGFuZCBtYWtlIEdpdCBmYXN0ZXIgYnkgbW92aW5nIHRoZXNlIGxvb3NlIG9iamVjdHMgaW4KIHRvIGEgInBhY2sgZmlsZSIsIHdoaWNoIHN0b3JlcyBhIGdyb3VwIG9mIG9iamVjdHMgaW4gYW4gZWZmaWNpZW50CiBjb21wcmVzc2VkIGZvcm1hdDsgdGhlIGRldGFpbHMgb2YgaG93IHBhY2sgZmlsZXMgYXJlIGZvcm1hdHRlZCBjYW4gYmUKLWZvdW5kIGluIGxpbms6dGVjaG5pY2FsL3BhY2stZm9ybWF0LnR4dFt0ZWNobmljYWwvcGFjay1mb3JtYXQudHh0XS4KK2ZvdW5kIGluIGxpbms6dGVjaG5pY2FsL3BhY2stZm9ybWF0Lmh0bWxbcGFjayBmb3JtYXRdLgogCiBUbyBwdXQgdGhlIGxvb3NlIG9iamVjdHMgaW50byBhIHBhY2ssIGp1c3QgcnVuIGdpdCByZXBhY2s6CiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogJCBnaXQgcmVwYWNrCi1HZW5lcmF0aW5nIHBhY2suLi4KLURvbmUgY291bnRpbmcgNjAyMCBvYmplY3RzLgotRGVsdGlmeWluZyA2MDIwIG9iamVjdHMuCi0gMTAwJSAoNjAyMC82MDIwKSBkb25lCi1Xcml0aW5nIDYwMjAgb2JqZWN0cy4KLSAxMDAlICg2MDIwLzYwMjApIGRvbmUKLVRvdGFsIDYwMjAsIHdyaXR0ZW4gNjAyMCAoZGVsdGEgNDA3MCksIHJldXNlZCAwIChkZWx0YSAwKQotUGFjayBwYWNrLTNlNTRhZDI5ZDViMmUwNTgzOGM3NWRmNTgyYzY1MjU3YjhkMDhlMWMgY3JlYXRlZC4KK0NvdW50aW5nIG9iamVjdHM6IDYwMjAsIGRvbmUuCitEZWx0YSBjb21wcmVzc2lvbiB1c2luZyB1cCB0byA0IHRocmVhZHMuCitDb21wcmVzc2luZyBvYmplY3RzOiAxMDAlICg2MDIwLzYwMjApLCBkb25lLgorV3JpdGluZyBvYmplY3RzOiAxMDAlICg2MDIwLzYwMjApLCBkb25lLgorVG90YWwgNjAyMCAoZGVsdGEgNDA3MCksIHJldXNlZCAwIChkZWx0YSAwKQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVlvdSBjYW4gdGhlbiBydW4KK1RoaXMgY3JlYXRlcyBhIHNpbmdsZSAicGFjayBmaWxlIiBpbiAuZ2l0L29iamVjdHMvcGFjay8KK2NvbnRhaW5pbmcgYWxsIGN1cnJlbnRseSB1bnBhY2tlZCBvYmplY3RzLiAgWW91IGNhbiB0aGVuIHJ1bgogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICQgZ2l0IHBydW5lCkBAIC0zMzA1LDE3ICszMjk5LDExIEBACiAkIGdpdCBwcnVuZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLWFuZCB0aGV5J2xsIGJlIGdvbmUuIEJ1dCB5b3Ugc2hvdWxkIG9ubHkgcnVuIGBnaXQgcHJ1bmVgIG9uIGEgcXVpZXNjZW50CithbmQgdGhleSdsbCBiZSBnb25lLiAoWW91IHNob3VsZCBvbmx5IHJ1biBgZ2l0IHBydW5lYCBvbiBhIHF1aWVzY2VudAogcmVwb3NpdG9yeS0taXQncyBraW5kIG9mIGxpa2UgZG9pbmcgYSBmaWxlc3lzdGVtIGZzY2sgcmVjb3Zlcnk6IHlvdQogZG9uJ3Qgd2FudCB0byBkbyB0aGF0IHdoaWxlIHRoZSBmaWxlc3lzdGVtIGlzIG1vdW50ZWQuCi0KLShUaGUgc2FtZSBpcyB0cnVlIG9mIGBnaXQgZnNja2AgaXRzZWxmLCBidHcsIGJ1dCBzaW5jZQotYGdpdCBmc2NrYCBuZXZlciBhY3R1YWxseSAqY2hhbmdlcyogdGhlIHJlcG9zaXRvcnksIGl0IGp1c3QgcmVwb3J0cwotb24gd2hhdCBpdCBmb3VuZCwgYGdpdCBmc2NrYCBpdHNlbGYgaXMgbmV2ZXIgJ2Rhbmdlcm91cycgdG8gcnVuLgotUnVubmluZyBpdCB3aGlsZSBzb21lYm9keSBpcyBhY3R1YWxseSBjaGFuZ2luZyB0aGUgcmVwb3NpdG9yeSBjYW4gY2F1c2UKLWNvbmZ1c2luZyBhbmQgc2NhcnkgbWVzc2FnZXMsIGJ1dCBpdCB3b24ndCBhY3R1YWxseSBkbyBhbnl0aGluZyBiYWQuIEluCi1jb250cmFzdCwgcnVubmluZyBgZ2l0IHBydW5lYCB3aGlsZSBzb21lYm9keSBpcyBhY3RpdmVseSBjaGFuZ2luZyB0aGUKLXJlcG9zaXRvcnkgaXMgYSAqQkFEKiBpZGVhKS4KK2BnaXQgcHJ1bmVgIGlzIGRlc2lnbmVkIG5vdCB0byBjYXVzZSBhbnkgaGFybSBpbiBzdWNoIGNhc2VzIG9mIGNvbmN1cnJlbnQKK2FjY2Vzc2VzIHRvIGEgcmVwb3NpdG9yeSBidXQgeW91IG1pZ2h0IHJlY2VpdmUgY29uZnVzaW5nIG9yIHNjYXJ5IG1lc3NhZ2VzLikKIAogW1tyZWNvdmVyaW5nLWZyb20tcmVwb3NpdG9yeS1jb3JydXB0aW9uXV0KIFJlY292ZXJpbmcgZnJvbSByZXBvc2l0b3J5IGNvcnJ1cHRpb24KQEAgLTM1MzgsNyArMzUyNiw3IEBACiBtYW51YWxseSBjaGVjayB0aGVtIG91dDsgZWFybGllciB2ZXJzaW9ucyB3b24ndCByZWNvZ25pemUgdGhlIHN1Ym1vZHVsZXMgYXQKIGFsbC4KIAotVG8gc2VlIGhvdyBzdWJtb2R1bGUgc3VwcG9ydCB3b3JrcywgY3JlYXRlIChmb3IgZXhhbXBsZSkgZm91ciBleGFtcGxlCitUbyBzZWUgaG93IHN1Ym1vZHVsZSBzdXBwb3J0IHdvcmtzLCBjcmVhdGUgZm91ciBleGFtcGxlCiByZXBvc2l0b3JpZXMgdGhhdCBjYW4gYmUgdXNlZCBsYXRlciBhcyBhIHN1Ym1vZHVsZToKIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMzY0MCw3ICszNjI4LDcgQEAKIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogJCBnaXQgYnJhbmNoCi0qIChubyBicmFuY2gpCisqIChkZXRhY2hlZCBmcm9tIGQyNjZiOTgpCiAgIG1hc3RlcgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCkBAIC0zOTEwLDcgKzM4OTgsNyBAQAogcHJldmlvdXMgc3RhdGVzIHJlcHJlc2VudGVkIGJ5IG90aGVyIGNvbW1pdHMuCiAKIEluIG90aGVyIHdvcmRzLCB3aGlsZSBhICJ0cmVlIiByZXByZXNlbnRzIGEgcGFydGljdWxhciBkaXJlY3Rvcnkgc3RhdGUKLW9mIGEgd29ya2luZyBkaXJlY3RvcnksIGEgImNvbW1pdCIgcmVwcmVzZW50cyB0aGF0IHN0YXRlIGluICJ0aW1lIiwKK29mIGEgd29ya2luZyBkaXJlY3RvcnksIGEgImNvbW1pdCIgcmVwcmVzZW50cyB0aGF0IHN0YXRlIGluIHRpbWUsCiBhbmQgZXhwbGFpbnMgaG93IHdlIGdvdCB0aGVyZS4KIAogWW91IGNyZWF0ZSBhIGNvbW1pdCBvYmplY3QgYnkgZ2l2aW5nIGl0IHRoZSB0cmVlIHRoYXQgZGVzY3JpYmVzIHRoZQpAQCAtMzkzMCw4ICszOTE4LDcgQEAKIHJlc3VsdCB0byB0aGUgZmlsZSBwb2ludGVkIGF0IGJ5IGAuZ2l0L0hFQURgLCBzbyB0aGF0IHdlIGNhbiBhbHdheXMgc2VlCiB3aGF0IHRoZSBsYXN0IGNvbW1pdHRlZCBzdGF0ZSB3YXMuCiAKLUhlcmUgaXMgYW4gQVNDSUkgYXJ0IGJ5IEpvbiBMb2VsaWdlciB0aGF0IGlsbHVzdHJhdGVzIGhvdwotdmFyaW91cyBwaWVjZXMgZml0IHRvZ2V0aGVyLgorSGVyZSBpcyBhIHBpY3R1cmUgdGhhdCBpbGx1c3RyYXRlcyBob3cgdmFyaW91cyBwaWVjZXMgZml0IHRvZ2V0aGVyOgogCiAtLS0tLS0tLS0tLS0KIApAQCAtNDAxMCwyNyArMzk5NywyNiBAQAogTWVyZ2luZyBtdWx0aXBsZSB0cmVlcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1HaXQgaGVscHMgeW91IGRvIGEgdGhyZWUtd2F5IG1lcmdlLCB3aGljaCB5b3UgY2FuIGV4cGFuZCB0byBuLXdheSBieQotcmVwZWF0aW5nIHRoZSBtZXJnZSBwcm9jZWR1cmUgYXJiaXRyYXJ5IHRpbWVzIHVudGlsIHlvdSBmaW5hbGx5Ci0iY29tbWl0IiB0aGUgc3RhdGUuICBUaGUgbm9ybWFsIHNpdHVhdGlvbiBpcyB0aGF0IHlvdSdkIG9ubHkgZG8gb25lCi10aHJlZS13YXkgbWVyZ2UgKHR3byBwYXJlbnRzKSwgYW5kIGNvbW1pdCBpdCwgYnV0IGlmIHlvdSBsaWtlIHRvLCB5b3UKLWNhbiBkbyBtdWx0aXBsZSBwYXJlbnRzIGluIG9uZSBnby4KK0dpdCBjYW4gaGVscCB5b3UgcGVyZm9ybSBhIHRocmVlLXdheSBtZXJnZSwgd2hpY2ggY2FuIGluIHR1cm4gYmUKK3VzZWQgZm9yIGEgbWFueS13YXkgbWVyZ2UgYnkgcmVwZWF0aW5nIHRoZSBtZXJnZSBwcm9jZWR1cmUgc2V2ZXJhbAordGltZXMuICBUaGUgdXN1YWwgc2l0dWF0aW9uIGlzIHRoYXQgeW91IG9ubHkgZG8gb25lIHRocmVlLXdheSBtZXJnZQorKHJlY29uY2lsaW5nIHR3byBsaW5lcyBvZiBoaXN0b3J5KSBhbmQgY29tbWl0IHRoZSByZXN1bHQsIGJ1dCBpZgoreW91IGxpa2UgdG8sIHlvdSBjYW4gbWVyZ2Ugc2V2ZXJhbCBicmFuY2hlcyBpbiBvbmUgZ28uCiAKLVRvIGRvIGEgdGhyZWUtd2F5IG1lcmdlLCB5b3UgbmVlZCB0aGUgdHdvIHNldHMgb2YgImNvbW1pdCIgb2JqZWN0cwotdGhhdCB5b3Ugd2FudCB0byBtZXJnZSwgdXNlIHRob3NlIHRvIGZpbmQgdGhlIGNsb3Nlc3QgY29tbW9uIHBhcmVudCAoYQotdGhpcmQgImNvbW1pdCIgb2JqZWN0KSwgYW5kIHRoZW4gdXNlIHRob3NlIGNvbW1pdCBvYmplY3RzIHRvIGZpbmQgdGhlCi1zdGF0ZSBvZiB0aGUgZGlyZWN0b3J5ICgidHJlZSIgb2JqZWN0KSBhdCB0aGVzZSBwb2ludHMuCitUbyBwZXJmb3JtIGEgdGhyZWUtd2F5IG1lcmdlLCB5b3Ugc3RhcnQgd2l0aCB0aGUgdHdvIGNvbW1pdHMgeW91Cit3YW50IHRvIG1lcmdlLCBmaW5kIHRoZWlyIGNsb3Nlc3QgY29tbW9uIHBhcmVudCAoYSB0aGlyZCBjb21taXQpLAorYW5kIGNvbXBhcmUgdGhlIHRyZWVzIGNvcnJlc3BvbmRpbmcgdG8gdGhlc2UgdGhyZWUgY29tbWl0cy4KIAotVG8gZ2V0IHRoZSAiYmFzZSIgZm9yIHRoZSBtZXJnZSwgeW91IGZpcnN0IGxvb2sgdXAgdGhlIGNvbW1vbiBwYXJlbnQKLW9mIHR3byBjb21taXRzIHdpdGgKK1RvIGdldCB0aGUgImJhc2UiIGZvciB0aGUgbWVyZ2UsIGxvb2sgdXAgdGhlIGNvbW1vbiBwYXJlbnQgb2YgdHdvCitjb21taXRzOgogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAkIGdpdCBtZXJnZS1iYXNlIDxjb21taXQxPiA8Y29tbWl0Mj4KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotd2hpY2ggd2lsbCByZXR1cm4geW91IHRoZSBjb21taXQgdGhleSBhcmUgYm90aCBiYXNlZCBvbi4gIFlvdSBzaG91bGQKLW5vdyBsb29rIHVwIHRoZSAidHJlZSIgb2JqZWN0cyBvZiB0aG9zZSBjb21taXRzLCB3aGljaCB5b3UgY2FuIGVhc2lseQotZG8gd2l0aCAoZm9yIGV4YW1wbGUpCitUaGlzIHByaW50cyB0aGUgbmFtZSBvZiBhIGNvbW1pdCB0aGV5IGFyZSBib3RoIGJhc2VkIG9uLiBZb3Ugc2hvdWxkCitub3cgbG9vayB1cCB0aGUgdHJlZSBvYmplY3RzIG9mIHRob3NlIGNvbW1pdHMsIHdoaWNoIHlvdSBjYW4gZWFzaWx5CitkbyB3aXRoCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICQgZ2l0IGNhdC1maWxlIGNvbW1pdCA8Y29tbWl0bmFtZT4gfCBoZWFkIC0xCkBAIC00MTUyLDggKzQxMzgsNiBAQAogdGhhdCBpcyB1c2VkIHRvIG5hbWUgdGhlIG9iamVjdCBpcyB0aGUgaGFzaCBvZiB0aGUgb3JpZ2luYWwgZGF0YQogcGx1cyB0aGlzIGhlYWRlciwgc28gYHNoYTFzdW1gICdmaWxlJyBkb2VzIG5vdCBtYXRjaCB0aGUgb2JqZWN0IG5hbWUKIGZvciAnZmlsZScuCi0oSGlzdG9yaWNhbCBub3RlOiBpbiB0aGUgZGF3biBvZiB0aGUgYWdlIG9mIEdpdCB0aGUgaGFzaAotd2FzIHRoZSBTSEEtMSBvZiB0aGUgJ2NvbXByZXNzZWQnIG9iamVjdC4pCiAKIEFzIGEgcmVzdWx0LCB0aGUgZ2VuZXJhbCBjb25zaXN0ZW5jeSBvZiBhbiBvYmplY3QgY2FuIGFsd2F5cyBiZSB0ZXN0ZWQKIGluZGVwZW5kZW50bHkgb2YgdGhlIGNvbnRlbnRzIG9yIHRoZSB0eXBlIG9mIHRoZSBvYmplY3Q6IGFsbCBvYmplY3RzIGNhbgpkaWZmIC0tZ2l0IGEvR0lULVZFUlNJT04tR0VOIGIvR0lULVZFUlNJT04tR0VOCmluZGV4IDkxOWExZDQuLjk5YTYyZjMgMTAwNzU1Ci0tLSBhL0dJVC1WRVJTSU9OLUdFTgorKysgYi9HSVQtVkVSU0lPTi1HRU4KQEAgLTEsNyArMSw3IEBACiAjIS9iaW4vc2gKIAogR1ZGPUdJVC1WRVJTSU9OLUZJTEUKLURFRl9WRVI9djEuOC40LjUKK0RFRl9WRVI9djEuOC41CiAKIExGPScKICcKZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKaW5kZXggNDAyNjIxMS4uYWY4NDdmOCAxMDA2NDQKLS0tIGEvTWFrZWZpbGUKKysrIGIvTWFrZWZpbGUKQEAgLTQ2MSw3ICs0NjEsNiBAQAogU0NSSVBUX1NIICs9IGdpdC1xdWlsdGltcG9ydC5zaAogU0NSSVBUX1NIICs9IGdpdC1yZWJhc2Uuc2gKIFNDUklQVF9TSCArPSBnaXQtcmVtb3RlLXRlc3RnaXQuc2gKLVNDUklQVF9TSCArPSBnaXQtcmVwYWNrLnNoCiBTQ1JJUFRfU0ggKz0gZ2l0LXJlcXVlc3QtcHVsbC5zaAogU0NSSVBUX1NIICs9IGdpdC1zdGFzaC5zaAogU0NSSVBUX1NIICs9IGdpdC1zdWJtb2R1bGUuc2gKQEAgLTQ4NSwxMSArNDg0LDkgQEAKIFNDUklQVF9QRVJMICs9IGdpdC1zZW5kLWVtYWlsLnBlcmwKIFNDUklQVF9QRVJMICs9IGdpdC1zdm4ucGVybAogCi1TQ1JJUFRfUFlUSE9OICs9IGdpdC1yZW1vdGUtdGVzdHB5LnB5CiBTQ1JJUFRfUFlUSE9OICs9IGdpdC1wNC5weQogCiBOT19JTlNUQUxMICs9IGdpdC1yZW1vdGUtdGVzdGdpdAotTk9fSU5TVEFMTCArPSBnaXQtcmVtb3RlLXRlc3RweQogCiAjIEdlbmVyYXRlZCBmaWxlcyBmb3Igc2NyaXB0cwogU0NSSVBUX1NIX0dFTiA9ICQocGF0c3Vic3QgJS5zaCwlLCQoU0NSSVBUX1NIKSkKQEAgLTU3Nyw2ICs1NzQsNyBAQAogVEVTVF9QUk9HUkFNU19ORUVEX1ggKz0gdGVzdC1zdHJpbmctbGlzdAogVEVTVF9QUk9HUkFNU19ORUVEX1ggKz0gdGVzdC1zdWJwcm9jZXNzCiBURVNUX1BST0dSQU1TX05FRURfWCArPSB0ZXN0LXN2bi1mZQorVEVTVF9QUk9HUkFNU19ORUVEX1ggKz0gdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uCiBURVNUX1BST0dSQU1TX05FRURfWCArPSB0ZXN0LXdpbGRtYXRjaAogCiBURVNUX1BST0dSQU1TID0gJChwYXRzdWJzdCAlLCUkWCwkKFRFU1RfUFJPR1JBTVNfTkVFRF9YKSkKQEAgLTczMyw2ICs3MzEsNyBAQAogTElCX0ggKz0gdHJlZS5oCiBMSUJfSCArPSB1bnBhY2stdHJlZXMuaAogTElCX0ggKz0gdXJsLmgKK0xJQl9IICs9IHVybG1hdGNoLmgKIExJQl9IICs9IHVzZXJkaWZmLmgKIExJQl9IICs9IHV0ZjguaAogTElCX0ggKz0gdmFyaW50LmgKQEAgLTg4Myw2ICs4ODIsNyBAQAogTElCX09CSlMgKz0gdHJlZS13YWxrLm8KIExJQl9PQkpTICs9IHVucGFjay10cmVlcy5vCiBMSUJfT0JKUyArPSB1cmwubworTElCX09CSlMgKz0gdXJsbWF0Y2gubwogTElCX09CSlMgKz0gdXNhZ2UubwogTElCX09CSlMgKz0gdXNlcmRpZmYubwogTElCX09CSlMgKz0gdXRmOC5vCkBAIC05NjgsNiArOTY4LDcgQEAKIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL3JlbW90ZS5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9yZW1vdGUtZXh0Lm8KIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL3JlbW90ZS1mZC5vCitCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9yZXBhY2subwogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vcmVwbGFjZS5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9yZXJlcmUubwogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vcmVzZXQubwpAQCAtMTE3OSw2ICsxMTgwLDkgQEAKIGVsc2UKIAlMSUJfNF9DUllQVE8gPSAkKE9QRU5TU0xfTElOSykgLWxjcnlwdG8KIGVuZGlmCitpZmRlZiBBUFBMRV9DT01NT05fQ1JZUFRPCisJTElCXzRfQ1JZUFRPICs9IC1mcmFtZXdvcmsgU2VjdXJpdHkgLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbgorZW5kaWYKIGVuZGlmCiBpZmRlZiBORUVEU19MSUJJQ09OVgogCWlmZGVmIElDT05WRElSCkBAIC0xNjU5LDkgKzE2NjMsNiBAQAogaWZuZGVmIE5PX1BFUkwKIAkkKFFVSUVUX1NVQkRJUjApcGVybCAkKFFVSUVUX1NVQkRJUjEpIFBFUkxfUEFUSD0nJChQRVJMX1BBVEhfU1EpJyBwcmVmaXg9JyQocHJlZml4X1NRKScgbG9jYWxlZGlyPSckKGxvY2FsZWRpcl9TUSknIGFsbAogZW5kaWYKLWlmbmRlZiBOT19QWVRIT04KLQkkKFFVSUVUX1NVQkRJUjApZ2l0X3JlbW90ZV9oZWxwZXJzICQoUVVJRVRfU1VCRElSMSkgUFlUSE9OX1BBVEg9JyQoUFlUSE9OX1BBVEhfU1EpJyBwcmVmaXg9JyQocHJlZml4X1NRKScgYWxsCi1lbmRpZgogCSQoUVVJRVRfU1VCRElSMCl0ZW1wbGF0ZXMgJChRVUlFVF9TVUJESVIxKSBTSEVMTF9QQVRIPSckKFNIRUxMX1BBVEhfU1EpJyBQRVJMX1BBVEg9JyQoUEVSTF9QQVRIX1NRKScKIAogcGxlYXNlX3NldF9TSEVMTF9QQVRIX3RvX2FfbW9yZV9tb2Rlcm5fc2hlbGw6CkBAIC0xODI5LDEyICsxODMwLDcgQEAKICQoU0NSSVBUX1BZVEhPTl9HRU4pOiBHSVQtQ0ZMQUdTIEdJVC1QUkVGSVggR0lULVBZVEhPTi1WQVJTCiAkKFNDUklQVF9QWVRIT05fR0VOKTogJSA6ICUucHkKIAkkKFFVSUVUX0dFTikkKFJNKSAkQCAkQCsgJiYgXAotCUlOU1RMSUJESVI9YE1BS0VGTEFHUz0gJChNQUtFKSAtQyBnaXRfcmVtb3RlX2hlbHBlcnMgLXMgXAotCQktLW5vLXByaW50LWRpcmVjdG9yeSBwcmVmaXg9JyQocHJlZml4X1NRKScgREVTVERJUj0nJChERVNURElSX1NRKScgXAotCQlpbnN0bGliZGlyYCAmJiBcCiAJc2VkIC1lICcxc3wjIS4qcHl0aG9ufCMhJChQWVRIT05fUEFUSF9TUSl8JyBcCi0JICAgIC1lICdzfFwob3NcLmdldGVudigiR0lUUFlUSE9OTElCIlwpW14pXSopfFwxLCJAQElOU1RMSUJESVJAQCIpfCcgXAotCSAgICAtZSAnc3xAQElOU1RMSUJESVJAQHwnIiQkSU5TVExJQkRJUiInfGcnIFwKIAkgICAgJDwgPiRAKyAmJiBcCiAJY2htb2QgK3ggJEArICYmIFwKIAltdiAkQCsgJEAKQEAgLTIwMjIsNiArMjAxOCw5IEBACiBnZXR0ZXh0LnNwIGdldHRleHQucyBnZXR0ZXh0Lm86IEVYVFJBX0NQUEZMQUdTID0gXAogCS1ER0lUX0xPQ0FMRV9QQVRIPSciJChsb2NhbGVkaXJfU1EpIicKIAoraHR0cC1wdXNoLnNwIGh0dHAuc3AgaHR0cC13YWxrZXIuc3AgcmVtb3RlLWN1cmwuc3A6IFNQQVJTRV9GTEFHUyArPSBcCisJLURDVVJMX0RJU0FCTEVfVFlQRUNIRUNLCisKIGlmZGVmIE5PX0VYUEFUCiBodHRwLXdhbGtlci5zcCBodHRwLXdhbGtlci5zIGh0dHAtd2Fsa2VyLm86IEVYVFJBX0NQUEZMQUdTID0gLUROT19FWFBBVAogZW5kaWYKQEAgLTIzNDEsOSArMjM0MCw2IEBACiAJJChNQUtFKSAtQyBwZXJsIHByZWZpeD0nJChwcmVmaXhfU1EpJyBERVNURElSPSckKERFU1RESVJfU1EpJyBpbnN0YWxsCiAJJChNQUtFKSAtQyBnaXR3ZWIgaW5zdGFsbAogZW5kaWYKLWlmbmRlZiBOT19QWVRIT04KLQkkKE1BS0UpIC1DIGdpdF9yZW1vdGVfaGVscGVycyBwcmVmaXg9JyQocHJlZml4X1NRKScgREVTVERJUj0nJChERVNURElSX1NRKScgaW5zdGFsbAotZW5kaWYKIGlmbmRlZiBOT19UQ0xUSwogCSQoTUFLRSkgLUMgZ2l0ay1naXQgaW5zdGFsbAogCSQoTUFLRSkgLUMgZ2l0LWd1aSBnaXRleGVjZGlyPSckKGdpdGV4ZWNfaW5zdGRpcl9TUSknIGluc3RhbGwKQEAgLTI0OTEsOSArMjQ4Nyw2IEBACiAJJChNQUtFKSAtQyBnaXR3ZWIgY2xlYW4KIAkkKE1BS0UpIC1DIHBlcmwgY2xlYW4KIGVuZGlmCi1pZm5kZWYgTk9fUFlUSE9OCi0JJChNQUtFKSAtQyBnaXRfcmVtb3RlX2hlbHBlcnMgY2xlYW4KLWVuZGlmCiAJJChNQUtFKSAtQyB0ZW1wbGF0ZXMvIGNsZWFuCiAJJChNQUtFKSAtQyB0LyBjbGVhbgogaWZuZGVmIE5PX1RDTFRLCmRpZmYgLS1naXQgYS9SZWxOb3RlcyBiL1JlbE5vdGVzCmluZGV4IGNiMDJmMzEuLjYxYzNiNTQgMTIwMDAwCi0tLSBhL1JlbE5vdGVzCisrKyBiL1JlbE5vdGVzCkBAIC0xICsxIEBACi1Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuOC40LjUudHh0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjguNS50eHQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hYnNwYXRoLmMgYi9hYnNwYXRoLmMKaW5kZXggNjRhZGJlMi4uZTM5MDk5NCAxMDA2NDQKLS0tIGEvYWJzcGF0aC5jCisrKyBiL2Fic3BhdGguYwpAQCAtMTEwLDcgKzExMCw3IEBACiAJCQkJZWxzZQogCQkJCQlnb3RvIGVycm9yX291dDsKIAkJCX0KLQkJCWlmIChsZW4gJiYgIWlzX2Rpcl9zZXAoYnVmW2xlbi0xXSkpCisJCQlpZiAobGVuICYmICFpc19kaXJfc2VwKGJ1ZltsZW4gLSAxXSkpCiAJCQkJYnVmW2xlbisrXSA9ICcvJzsKIAkJCXN0cmNweShidWYgKyBsZW4sIGxhc3RfZWxlbSk7CiAJCQlmcmVlKGxhc3RfZWxlbSk7CkBAIC0yMDEsNyArMjAxLDcgQEAKIAkJaWYgKCFjd2QpCiAJCQlkaWVfZXJybm8oIkNhbm5vdCBkZXRlcm1pbmUgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiKTsKIAkJbGVuID0gc3RybGVuKGN3ZCk7Ci0JCWZtdCA9IChsZW4gPiAwICYmIGlzX2Rpcl9zZXAoY3dkW2xlbi0xXSkpID8gIiVzJXMiIDogIiVzLyVzIjsKKwkJZm10ID0gKGxlbiA+IDAgJiYgaXNfZGlyX3NlcChjd2RbbGVuIC0gMV0pKSA/ICIlcyVzIiA6ICIlcy8lcyI7CiAJCWlmIChzbnByaW50ZihidWYsIFBBVEhfTUFYLCBmbXQsIGN3ZCwgcGF0aCkgPj0gUEFUSF9NQVgpCiAJCQlkaWUoIlRvbyBsb25nIHBhdGg6ICUuKnMiLCA2MCwgcGF0aCk7CiAJfQpkaWZmIC0tZ2l0IGEvYWxpYXMuYyBiL2FsaWFzLmMKaW5kZXggZWI5ZjA4Yi4uOTkzOGYwMyAxMDA2NDQKLS0tIGEvYWxpYXMuYworKysgYi9hbGlhcy5jCkBAIC01LDcgKzUsNyBAQAogCiBzdGF0aWMgaW50IGFsaWFzX2xvb2t1cF9jYihjb25zdCBjaGFyICprLCBjb25zdCBjaGFyICp2LCB2b2lkICpjYikKIHsKLQlpZiAoIXByZWZpeGNtcChrLCAiYWxpYXMuIikgJiYgIXN0cmNtcChrKzYsIGFsaWFzX2tleSkpIHsKKwlpZiAoIXByZWZpeGNtcChrLCAiYWxpYXMuIikgJiYgIXN0cmNtcChrICsgNiwgYWxpYXNfa2V5KSkgewogCQlpZiAoIXYpCiAJCQlyZXR1cm4gY29uZmlnX2Vycm9yX25vbmJvb2woayk7CiAJCWFsaWFzX3ZhbCA9IHhzdHJkdXAodik7CkBAIC0zNCw3ICszNCw3IEBACiAJaW50IHNyYywgZHN0LCBjb3VudCA9IDAsIHNpemUgPSAxNjsKIAljaGFyIHF1b3RlZCA9IDA7CiAKLQkqYXJndiA9IHhtYWxsb2Moc2l6ZW9mKGNoYXIgKikgKiBzaXplKTsKKwkqYXJndiA9IHhtYWxsb2Moc2l6ZW9mKCoqYXJndikgKiBzaXplKTsKIAogCS8qIHNwbGl0IGFsaWFzX3N0cmluZyAqLwogCSgqYXJndilbY291bnQrK10gPSBjbWRsaW5lOwpAQCAtNDUsNyArNDUsNyBAQAogCQkJd2hpbGUgKGNtZGxpbmVbKytzcmNdCiAJCQkJCSYmIGlzc3BhY2UoY21kbGluZVtzcmNdKSkKIAkJCQk7IC8qIHNraXAgKi8KLQkJCUFMTE9DX0dST1coKmFyZ3YsIGNvdW50KzEsIHNpemUpOworCQkJQUxMT0NfR1JPVygqYXJndiwgY291bnQgKyAxLCBzaXplKTsKIAkJCSgqYXJndilbY291bnQrK10gPSBjbWRsaW5lICsgZHN0OwogCQl9IGVsc2UgaWYgKCFxdW90ZWQgJiYgKGMgPT0gJ1wnJyB8fCBjID09ICciJykpIHsKIAkJCXF1b3RlZCA9IGM7CkBAIC03NiwxMiArNzYsMTMgQEAKIAkJcmV0dXJuIC1TUExJVF9DTURMSU5FX1VOQ0xPU0VEX1FVT1RFOwogCX0KIAotCUFMTE9DX0dST1coKmFyZ3YsIGNvdW50KzEsIHNpemUpOworCUFMTE9DX0dST1coKmFyZ3YsIGNvdW50ICsgMSwgc2l6ZSk7CiAJKCphcmd2KVtjb3VudF0gPSBOVUxMOwogCiAJcmV0dXJuIGNvdW50OwogfQogCi1jb25zdCBjaGFyICpzcGxpdF9jbWRsaW5lX3N0cmVycm9yKGludCBzcGxpdF9jbWRsaW5lX2Vycm5vKSB7Ci0JcmV0dXJuIHNwbGl0X2NtZGxpbmVfZXJyb3JzWy1zcGxpdF9jbWRsaW5lX2Vycm5vLTFdOworY29uc3QgY2hhciAqc3BsaXRfY21kbGluZV9zdHJlcnJvcihpbnQgc3BsaXRfY21kbGluZV9lcnJubykKK3sKKwlyZXR1cm4gc3BsaXRfY21kbGluZV9lcnJvcnNbLXNwbGl0X2NtZGxpbmVfZXJybm8gLSAxXTsKIH0KZGlmZiAtLWdpdCBhL2FsbG9jLmMgYi9hbGxvYy5jCmluZGV4IGFlYWU1NWMuLmYzZWU3NDUgMTAwNjQ0Ci0tLSBhL2FsbG9jLmMKKysrIGIvYWxsb2MuYwpAQCAtNTgsNyArNTgsNyBAQAogfQogCiAjZGVmaW5lIFJFUE9SVChuYW1lKQlcCi0gICAgcmVwb3J0KCNuYW1lLCBuYW1lIyNfYWxsb2NzLCBuYW1lIyNfYWxsb2NzKnNpemVvZihzdHJ1Y3QgbmFtZSkgPj4gMTApCisgICAgcmVwb3J0KCNuYW1lLCBuYW1lIyNfYWxsb2NzLCBuYW1lIyNfYWxsb2NzICogc2l6ZW9mKHN0cnVjdCBuYW1lKSA+PiAxMCkKIAogdm9pZCBhbGxvY19yZXBvcnQodm9pZCkKIHsKZGlmZiAtLWdpdCBhL2FyY2hpdmUuYyBiL2FyY2hpdmUuYwppbmRleCBkMjU0ZmE1Li4zNDZmM2IyIDEwMDY0NAotLS0gYS9hcmNoaXZlLmMKKysrIGIvYXJjaGl2ZS5jCkBAIC0xNTEsNyArMTUxLDYgQEAKIAlzdHJ1Y3QgYXJjaGl2ZXJfY29udGV4dCBjb250ZXh0OwogCXN0cnVjdCB1bnBhY2tfdHJlZXNfb3B0aW9ucyBvcHRzOwogCXN0cnVjdCB0cmVlX2Rlc2MgdDsKLQlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAJaW50IGVycjsKIAogCWlmIChhcmdzLT5iYXNlbGVuID4gMCAmJiBhcmdzLT5iYXNlW2FyZ3MtPmJhc2VsZW4gLSAxXSA9PSAnLycpIHsKQEAgLTE4NiwxMCArMTg1LDggQEAKIAkJZ2l0X2F0dHJfc2V0X2RpcmVjdGlvbihHSVRfQVRUUl9JTkRFWCwgJnRoZV9pbmRleCk7CiAJfQogCi0JaW5pdF9wYXRoc3BlYygmcGF0aHNwZWMsIGFyZ3MtPnBhdGhzcGVjKTsKLQllcnIgPSByZWFkX3RyZWVfcmVjdXJzaXZlKGFyZ3MtPnRyZWUsICIiLCAwLCAwLCAmcGF0aHNwZWMsCisJZXJyID0gcmVhZF90cmVlX3JlY3Vyc2l2ZShhcmdzLT50cmVlLCAiIiwgMCwgMCwgJmFyZ3MtPnBhdGhzcGVjLAogCQkJCSAgd3JpdGVfYXJjaGl2ZV9lbnRyeSwgJmNvbnRleHQpOwotCWZyZWVfcGF0aHNwZWMoJnBhdGhzcGVjKTsKIAlpZiAoZXJyID09IFJFQURfVFJFRV9SRUNVUlNJVkUpCiAJCWVyciA9IDA7CiAJcmV0dXJuIGVycjsKQEAgLTIyMiw3ICsyMTksNyBAQAogCXN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKIAlpbnQgcmV0OwogCi0JaW5pdF9wYXRoc3BlYygmcGF0aHNwZWMsIHBhdGhzKTsKKwlwYXJzZV9wYXRoc3BlYygmcGF0aHNwZWMsIDAsIDAsICIiLCBwYXRocyk7CiAJcmV0ID0gcmVhZF90cmVlX3JlY3Vyc2l2ZSh0cmVlLCAiIiwgMCwgMCwgJnBhdGhzcGVjLCByZWplY3RfZW50cnksIE5VTEwpOwogCWZyZWVfcGF0aHNwZWMoJnBhdGhzcGVjKTsKIAlyZXR1cm4gcmV0ICE9IDA7CkBAIC0yMzEsMTEgKzIyOCwxOCBAQAogc3RhdGljIHZvaWQgcGFyc2VfcGF0aHNwZWNfYXJnKGNvbnN0IGNoYXIgKipwYXRoc3BlYywKIAkJc3RydWN0IGFyY2hpdmVyX2FyZ3MgKmFyX2FyZ3MpCiB7Ci0JYXJfYXJncy0+cGF0aHNwZWMgPSBwYXRoc3BlYyA9IGdldF9wYXRoc3BlYygiIiwgcGF0aHNwZWMpOworCS8qCisJICogbXVzdCBiZSBjb25zaXN0ZW50IHdpdGggcGFyc2VfcGF0aHNwZWMgaW4gcGF0aF9leGlzdHMoKQorCSAqIEFsc28gaWYgcGF0aHNwZWMgcGF0dGVybnMgYXJlIGRlcGVuZGVudCwgd2UncmUgaW4gYmlnCisJICogdHJvdWJsZSBhcyB3ZSB0ZXN0IGVhY2ggb25lIHNlcGFyYXRlbHkKKwkgKi8KKwlwYXJzZV9wYXRoc3BlYygmYXJfYXJncy0+cGF0aHNwZWMsIDAsCisJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfRlVMTCwKKwkJICAgICAgICIiLCBwYXRoc3BlYyk7CiAJaWYgKHBhdGhzcGVjKSB7CiAJCXdoaWxlICgqcGF0aHNwZWMpIHsKIAkJCWlmICgqKnBhdGhzcGVjICYmICFwYXRoX2V4aXN0cyhhcl9hcmdzLT50cmVlLCAqcGF0aHNwZWMpKQotCQkJCWRpZSgicGF0aCBub3QgZm91bmQ6ICVzIiwgKnBhdGhzcGVjKTsKKwkJCQlkaWUoXygicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIpLCAqcGF0aHNwZWMpOwogCQkJcGF0aHNwZWMrKzsKIAkJfQogCX0KQEAgLTQzNiw3ICs0NDAsNyBAQAogCSAqIHByZWZpeCBpcyBub24tZW1wdHkgKGsuZS4sIHdlIGRvbid0IG1hdGNoIC50YXIuZ3ogd2l0aCBubyBhY3R1YWwKIAkgKiBmaWxlbmFtZSkuCiAJICovCi0JaWYgKHByZWZpeGxlbiA8IDIgfHwgZmlsZW5hbWVbcHJlZml4bGVuLTFdICE9ICcuJykKKwlpZiAocHJlZml4bGVuIDwgMiB8fCBmaWxlbmFtZVtwcmVmaXhsZW4gLSAxXSAhPSAnLicpCiAJCXJldHVybiAwOwogCXJldHVybiAhc3RyY21wKGZpbGVuYW1lICsgcHJlZml4bGVuLCBleHQpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS5oIGIvYXJjaGl2ZS5oCmluZGV4IDg5NWFmY2QuLjRhNzkxZTEgMTAwNjQ0Ci0tLSBhL2FyY2hpdmUuaAorKysgYi9hcmNoaXZlLmgKQEAgLTEsNiArMSw4IEBACiAjaWZuZGVmIEFSQ0hJVkVfSAogI2RlZmluZSBBUkNISVZFX0gKIAorI2luY2x1ZGUgInBhdGhzcGVjLmgiCisKIHN0cnVjdCBhcmNoaXZlcl9hcmdzIHsKIAljb25zdCBjaGFyICpiYXNlOwogCXNpemVfdCBiYXNlbGVuOwpAQCAtOCw3ICsxMCw3IEBACiAJY29uc3QgdW5zaWduZWQgY2hhciAqY29tbWl0X3NoYTE7CiAJY29uc3Qgc3RydWN0IGNvbW1pdCAqY29tbWl0OwogCXRpbWVfdCB0aW1lOwotCWNvbnN0IGNoYXIgKipwYXRoc3BlYzsKKwlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAJdW5zaWduZWQgaW50IHZlcmJvc2UgOiAxOwogCXVuc2lnbmVkIGludCB3b3JrdHJlZV9hdHRyaWJ1dGVzIDogMTsKIAl1bnNpZ25lZCBpbnQgY29udmVydCA6IDE7CmRpZmYgLS1naXQgYS9iYXNlODUuYyBiL2Jhc2U4NS5jCmluZGV4IDc4MWI1NzUuLjVjYTYwMWUgMTAwNjQ0Ci0tLSBhL2Jhc2U4NS5jCisrKyBiL2Jhc2U4NS5jCkBAIC00MSw3ICs0MSw3IEBACiB7CiAJcHJlcF9iYXNlODUoKTsKIAotCXNheTIoImRlY29kZSA4NSA8JS4qcz4iLCBsZW4vNCo1LCBidWZmZXIpOworCXNheTIoImRlY29kZSA4NSA8JS4qcz4iLCBsZW4gLyA0ICogNSwgYnVmZmVyKTsKIAl3aGlsZSAobGVuKSB7CiAJCXVuc2lnbmVkIGFjYyA9IDA7CiAJCWludCBkZSwgY250ID0gNDsKZGlmZiAtLWdpdCBhL2Jsb2NrLXNoYTEvc2hhMS5jIGIvYmxvY2stc2hhMS9zaGExLmMKaW5kZXggYThkNGJmOS4uZTFhMWViNiAxMDA2NDQKLS0tIGEvYmxvY2stc2hhMS9zaGExLmMKKysrIGIvYmxvY2stc2hhMS9zaGExLmMKQEAgLTI3NCwxMCArMjc0LDEwIEBACiAJcGFkbGVuWzFdID0gaHRvbmwoKHVpbnQzMl90KShjdHgtPnNpemUgPDwgMykpOwogCiAJaSA9IGN0eC0+c2l6ZSAmIDYzOwotCWJsa19TSEExX1VwZGF0ZShjdHgsIHBhZCwgMSsgKDYzICYgKDU1IC0gaSkpKTsKKwlibGtfU0hBMV9VcGRhdGUoY3R4LCBwYWQsIDEgKyAoNjMgJiAoNTUgLSBpKSkpOwogCWJsa19TSEExX1VwZGF0ZShjdHgsIHBhZGxlbiwgOCk7CiAKIAkvKiBPdXRwdXQgaGFzaCAqLwogCWZvciAoaSA9IDA7IGkgPCA1OyBpKyspCi0JCXB1dF9iZTMyKGhhc2hvdXQgKyBpKjQsIGN0eC0+SFtpXSk7CisJCXB1dF9iZTMyKGhhc2hvdXQgKyBpICogNCwgY3R4LT5IW2ldKTsKIH0KZGlmZiAtLWdpdCBhL2JyYW5jaC5jIGIvYnJhbmNoLmMKaW5kZXggMmQxNWMxOS4uOWU2YzY4ZSAxMDA2NDQKLS0tIGEvYnJhbmNoLmMKKysrIGIvYnJhbmNoLmMKQEAgLTI5MCw3ICsyOTAsNyBAQAogCWhhc2hjcHkoc2hhMSwgY29tbWl0LT5vYmplY3Quc2hhMSk7CiAKIAlpZiAoIWRvbnRfY2hhbmdlX3JlZikgewotCQlsb2NrID0gbG9ja19hbnlfcmVmX2Zvcl91cGRhdGUocmVmLmJ1ZiwgTlVMTCwgMCk7CisJCWxvY2sgPSBsb2NrX2FueV9yZWZfZm9yX3VwZGF0ZShyZWYuYnVmLCBOVUxMLCAwLCBOVUxMKTsKIAkJaWYgKCFsb2NrKQogCQkJZGllX2Vycm5vKF8oIkZhaWxlZCB0byBsb2NrIHJlZiBmb3IgdXBkYXRlIikpOwogCX0KQEAgLTMwNiw3ICszMDYsNyBAQAogCQkJIHN0YXJ0X25hbWUpOwogCiAJaWYgKHJlYWxfcmVmICYmIHRyYWNrKQotCQlzZXR1cF90cmFja2luZyhyZWYuYnVmKzExLCByZWFsX3JlZiwgdHJhY2ssIHF1aWV0KTsKKwkJc2V0dXBfdHJhY2tpbmcocmVmLmJ1ZiArIDExLCByZWFsX3JlZiwgdHJhY2ssIHF1aWV0KTsKIAogCWlmICghZG9udF9jaGFuZ2VfcmVmKQogCQlpZiAod3JpdGVfcmVmX3NoYTEobG9jaywgc2hhMSwgbXNnKSA8IDApCmRpZmYgLS1naXQgYS9idWlsdGluLmggYi9idWlsdGluLmgKaW5kZXggOGFmYTJkZS4uYjU2Y2YwNyAxMDA2NDQKLS0tIGEvYnVpbHRpbi5oCisrKyBiL2J1aWx0aW4uaApAQCAtMTAyLDYgKzEwMiw3IEBACiBleHRlcm4gaW50IGNtZF9yZW1vdGUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwogZXh0ZXJuIGludCBjbWRfcmVtb3RlX2V4dChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CiBleHRlcm4gaW50IGNtZF9yZW1vdGVfZmQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworZXh0ZXJuIGludCBjbWRfcmVwYWNrKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKIGV4dGVybiBpbnQgY21kX3JlcG9fY29uZmlnKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKIGV4dGVybiBpbnQgY21kX3JlcmVyZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CiBleHRlcm4gaW50IGNtZF9yZXNldChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CmRpZmYgLS1naXQgYS9idWlsdGluL2FkZC5jIGIvYnVpbHRpbi9hZGQuYwppbmRleCA4MjY2YTljLi4yMjZmNzU4IDEwMDY0NAotLS0gYS9idWlsdGluL2FkZC5jCisrKyBiL2J1aWx0aW4vYWRkLmMKQEAgLTE2NiwxNCArMTY2LDE2IEBACiAJfQogfQogCi1zdGF0aWMgdm9pZCB1cGRhdGVfZmlsZXNfaW5fY2FjaGUoY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICoqcGF0aHNwZWMsCitzdGF0aWMgdm9pZCB1cGRhdGVfZmlsZXNfaW5fY2FjaGUoY29uc3QgY2hhciAqcHJlZml4LAorCQkJCSAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKIAkJCQkgIHN0cnVjdCB1cGRhdGVfY2FsbGJhY2tfZGF0YSAqZGF0YSkKIHsKIAlzdHJ1Y3QgcmV2X2luZm8gcmV2OwogCiAJaW5pdF9yZXZpc2lvbnMoJnJldiwgcHJlZml4KTsKIAlzZXR1cF9yZXZpc2lvbnMoMCwgTlVMTCwgJnJldiwgTlVMTCk7Ci0JaW5pdF9wYXRoc3BlYygmcmV2LnBydW5lX2RhdGEsIHBhdGhzcGVjKTsKKwlpZiAocGF0aHNwZWMpCisJCWNvcHlfcGF0aHNwZWMoJnJldi5wcnVuZV9kYXRhLCBwYXRoc3BlYyk7CiAJcmV2LmRpZmZvcHQub3V0cHV0X2Zvcm1hdCA9IERJRkZfRk9STUFUX0NBTExCQUNLOwogCXJldi5kaWZmb3B0LmZvcm1hdF9jYWxsYmFjayA9IHVwZGF0ZV9jYWxsYmFjazsKIAlyZXYuZGlmZm9wdC5mb3JtYXRfY2FsbGJhY2tfZGF0YSA9IGRhdGE7CkBAIC0xODEsNyArMTgzLDggQEAKIAlydW5fZGlmZl9maWxlcygmcmV2LCBESUZGX1JBQ1lfSVNfTU9ESUZJRUQpOwogfQogCi1pbnQgYWRkX2ZpbGVzX3RvX2NhY2hlKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqKnBhdGhzcGVjLCBpbnQgZmxhZ3MpCitpbnQgYWRkX2ZpbGVzX3RvX2NhY2hlKGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsIGludCBmbGFncykKIHsKIAlzdHJ1Y3QgdXBkYXRlX2NhbGxiYWNrX2RhdGEgZGF0YTsKIApAQCAtMTkyLDIzICsxOTUsMjEgQEAKIH0KIAogI2RlZmluZSBXQVJOX0lNUExJQ0lUX0RPVCAoMXUgPDwgMCkKLXN0YXRpYyBjaGFyICpwcnVuZV9kaXJlY3Rvcnkoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwgY29uc3QgY2hhciAqKnBhdGhzcGVjLAorc3RhdGljIGNoYXIgKnBydW5lX2RpcmVjdG9yeShzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAogCQkJICAgICBpbnQgcHJlZml4LCB1bnNpZ25lZCBmbGFnKQogewogCWNoYXIgKnNlZW47Ci0JaW50IGksIHNwZWNzOworCWludCBpOwogCXN0cnVjdCBkaXJfZW50cnkgKipzcmMsICoqZHN0OwogCi0JZm9yIChzcGVjcyA9IDA7IHBhdGhzcGVjW3NwZWNzXTsgIHNwZWNzKyspCi0JCS8qIG5vdGhpbmcgKi87Ci0Jc2VlbiA9IHhjYWxsb2Moc3BlY3MsIDEpOworCXNlZW4gPSB4Y2FsbG9jKHBhdGhzcGVjLT5uciwgMSk7CiAKIAlzcmMgPSBkc3QgPSBkaXItPmVudHJpZXM7CiAJaSA9IGRpci0+bnI7CiAJd2hpbGUgKC0taSA+PSAwKSB7CiAJCXN0cnVjdCBkaXJfZW50cnkgKmVudHJ5ID0gKnNyYysrOwotCQlpZiAobWF0Y2hfcGF0aHNwZWMocGF0aHNwZWMsIGVudHJ5LT5uYW1lLCBlbnRyeS0+bGVuLAotCQkJCSAgIHByZWZpeCwgc2VlbikpCisJCWlmIChtYXRjaF9wYXRoc3BlY19kZXB0aChwYXRoc3BlYywgZW50cnktPm5hbWUsIGVudHJ5LT5sZW4sCisJCQkJCSBwcmVmaXgsIHNlZW4pKQogCQkJKmRzdCsrID0gZW50cnk7CiAJCWVsc2UgaWYgKGZsYWcgJiBXQVJOX0lNUExJQ0lUX0RPVCkKIAkJCS8qCkBAIC0yMjIsNzIgKzIyMywzMyBAQAogCQkJd2Fybl9wYXRobGVzc19hZGQoKTsKIAl9CiAJZGlyLT5uciA9IGRzdCAtIGRpci0+ZW50cmllczsKLQlhZGRfcGF0aHNwZWNfbWF0Y2hlc19hZ2FpbnN0X2luZGV4KHBhdGhzcGVjLCBzZWVuLCBzcGVjcyk7CisJYWRkX3BhdGhzcGVjX21hdGNoZXNfYWdhaW5zdF9pbmRleChwYXRoc3BlYywgc2Vlbik7CiAJcmV0dXJuIHNlZW47CiB9CiAKLS8qCi0gKiBDaGVja3MgdGhlIGluZGV4IHRvIHNlZSB3aGV0aGVyIGFueSBwYXRoIGluIHBhdGhzcGVjIHJlZmVycyB0bwotICogc29tZXRoaW5nIGluc2lkZSBhIHN1Ym1vZHVsZS4gIElmIHNvLCBkaWVzIHdpdGggYW4gZXJyb3IgbWVzc2FnZS4KLSAqLwotc3RhdGljIHZvaWQgdHJlYXRfZ2l0bGlua3MoY29uc3QgY2hhciAqKnBhdGhzcGVjKQotewotCWludCBpOwotCi0JaWYgKCFwYXRoc3BlYyB8fCAhKnBhdGhzcGVjKQotCQlyZXR1cm47Ci0KLQlmb3IgKGkgPSAwOyBwYXRoc3BlY1tpXTsgaSsrKQotCQlwYXRoc3BlY1tpXSA9IGNoZWNrX3BhdGhfZm9yX2dpdGxpbmsocGF0aHNwZWNbaV0pOwotfQotCi1zdGF0aWMgdm9pZCByZWZyZXNoKGludCB2ZXJib3NlLCBjb25zdCBjaGFyICoqcGF0aHNwZWMpCitzdGF0aWMgdm9pZCByZWZyZXNoKGludCB2ZXJib3NlLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewogCWNoYXIgKnNlZW47Ci0JaW50IGksIHNwZWNzOworCWludCBpOwogCi0JZm9yIChzcGVjcyA9IDA7IHBhdGhzcGVjW3NwZWNzXTsgIHNwZWNzKyspCi0JCS8qIG5vdGhpbmcgKi87Ci0Jc2VlbiA9IHhjYWxsb2Moc3BlY3MsIDEpOworCXNlZW4gPSB4Y2FsbG9jKHBhdGhzcGVjLT5uciwgMSk7CiAJcmVmcmVzaF9pbmRleCgmdGhlX2luZGV4LCB2ZXJib3NlID8gUkVGUkVTSF9JTl9QT1JDRUxBSU4gOiBSRUZSRVNIX1FVSUVULAogCQkgICAgICBwYXRoc3BlYywgc2VlbiwgXygiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZWZyZXNoaW5nIHRoZSBpbmRleDoiKSk7Ci0JZm9yIChpID0gMDsgaSA8IHNwZWNzOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgcGF0aHNwZWMtPm5yOyBpKyspIHsKIAkJaWYgKCFzZWVuW2ldKQotCQkJZGllKF8oInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiKSwgcGF0aHNwZWNbaV0pOworCQkJZGllKF8oInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiKSwKKwkJCSAgICBwYXRoc3BlYy0+aXRlbXNbaV0ubWF0Y2gpOwogCX0KICAgICAgICAgZnJlZShzZWVuKTsKIH0KIAotLyoKLSAqIE5vcm1hbGl6ZXMgYXJndiByZWxhdGl2ZSB0byBwcmVmaXgsIHZpYSBnZXRfcGF0aHNwZWMoKSwgYW5kIHRoZW4KLSAqIHJ1bnMgZGllX2lmX3BhdGhfYmV5b25kX3N5bWxpbmsoKSBvbiBlYWNoIHBhdGggaW4gdGhlIG5vcm1hbGl6ZWQKLSAqIGxpc3QuCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICoqdmFsaWRhdGVfcGF0aHNwZWMoY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKLXsKLQljb25zdCBjaGFyICoqcGF0aHNwZWMgPSBnZXRfcGF0aHNwZWMocHJlZml4LCBhcmd2KTsKLQotCWlmIChwYXRoc3BlYykgewotCQljb25zdCBjaGFyICoqcDsKLQkJZm9yIChwID0gcGF0aHNwZWM7ICpwOyBwKyspIHsKLQkJCWRpZV9pZl9wYXRoX2JleW9uZF9zeW1saW5rKCpwLCBwcmVmaXgpOwotCQl9Ci0JfQotCi0JcmV0dXJuIHBhdGhzcGVjOwotfQotCiBpbnQgcnVuX2FkZF9pbnRlcmFjdGl2ZShjb25zdCBjaGFyICpyZXZpc2lvbiwgY29uc3QgY2hhciAqcGF0Y2hfbW9kZSwKLQkJCWNvbnN0IGNoYXIgKipwYXRoc3BlYykKKwkJCWNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCiB7Ci0JaW50IHN0YXR1cywgYWMsIHBjID0gMDsKKwlpbnQgc3RhdHVzLCBhYywgaTsKIAljb25zdCBjaGFyICoqYXJnczsKIAotCWlmIChwYXRoc3BlYykKLQkJd2hpbGUgKHBhdGhzcGVjW3BjXSkKLQkJCXBjKys7Ci0KLQlhcmdzID0geGNhbGxvYyhzaXplb2YoY29uc3QgY2hhciAqKSwgKHBjICsgNSkpOworCWFyZ3MgPSB4Y2FsbG9jKHNpemVvZihjb25zdCBjaGFyICopLCAocGF0aHNwZWMtPm5yICsgNikpOwogCWFjID0gMDsKIAlhcmdzW2FjKytdID0gImFkZC0taW50ZXJhY3RpdmUiOwogCWlmIChwYXRjaF9tb2RlKQpAQCAtMjk1LDExICsyNTcsOSBAQAogCWlmIChyZXZpc2lvbikKIAkJYXJnc1thYysrXSA9IHJldmlzaW9uOwogCWFyZ3NbYWMrK10gPSAiLS0iOwotCWlmIChwYykgewotCQltZW1jcHkoJihhcmdzW2FjXSksIHBhdGhzcGVjLCBzaXplb2YoY29uc3QgY2hhciAqKSAqIHBjKTsKLQkJYWMgKz0gcGM7Ci0JfQotCWFyZ3NbYWNdID0gTlVMTDsKKwlmb3IgKGkgPSAwOyBpIDwgcGF0aHNwZWMtPm5yOyBpKyspCisJCS8qIHBhc3Mgb3JpZ2luYWwgcGF0aHNwZWMsIHRvIGJlIHJlLXBhcnNlZCAqLworCQlhcmdzW2FjKytdID0gcGF0aHNwZWMtPml0ZW1zW2ldLm9yaWdpbmFsOwogCiAJc3RhdHVzID0gcnVuX2NvbW1hbmRfdl9vcHQoYXJncywgUlVOX0dJVF9DTUQpOwogCWZyZWUoYXJncyk7CkBAIC0zMDgsMTcgKzI2OCwxNyBAQAogCiBpbnQgaW50ZXJhY3RpdmVfYWRkKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4LCBpbnQgcGF0Y2gpCiB7Ci0JY29uc3QgY2hhciAqKnBhdGhzcGVjID0gTlVMTDsKKwlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAKLQlpZiAoYXJnYykgewotCQlwYXRoc3BlYyA9IHZhbGlkYXRlX3BhdGhzcGVjKGFyZ3YsIHByZWZpeCk7Ci0JCWlmICghcGF0aHNwZWMpCi0JCQlyZXR1cm4gLTE7Ci0JfQorCXBhcnNlX3BhdGhzcGVjKCZwYXRoc3BlYywgMCwKKwkJICAgICAgIFBBVEhTUEVDX1BSRUZFUl9GVUxMIHwKKwkJICAgICAgIFBBVEhTUEVDX1NZTUxJTktfTEVBRElOR19QQVRIIHwKKwkJICAgICAgIFBBVEhTUEVDX1BSRUZJWF9PUklHSU4sCisJCSAgICAgICBwcmVmaXgsIGFyZ3YpOwogCiAJcmV0dXJuIHJ1bl9hZGRfaW50ZXJhY3RpdmUoTlVMTCwKIAkJCQkgICBwYXRjaCA/ICItLXBhdGNoIiA6IE5VTEwsCi0JCQkJICAgcGF0aHNwZWMpOworCQkJCSAgICZwYXRoc3BlYyk7CiB9CiAKIHN0YXRpYyBpbnQgZWRpdF9wYXRjaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKQEAgLTMzNiw3ICsyOTYsNyBAQAogCWdpdF9jb25maWcoZ2l0X2RpZmZfYmFzaWNfY29uZmlnLCBOVUxMKTsgLyogbm8gImRpZmYiIFVJIG9wdGlvbnMgKi8KIAogCWlmIChyZWFkX2NhY2hlKCkgPCAwKQotCQlkaWUgKF8oIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIpKTsKKwkJZGllKF8oIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIpKTsKIAogCWluaXRfcmV2aXNpb25zKCZyZXYsIHByZWZpeCk7CiAJcmV2LmRpZmZvcHQuY29udGV4dCA9IDc7CkBAIC0zNDcsMTEgKzMwNywxMSBAQAogCURJRkZfT1BUX1NFVCgmcmV2LmRpZmZvcHQsIElHTk9SRV9ESVJUWV9TVUJNT0RVTEVTKTsKIAlvdXQgPSBvcGVuKGZpbGUsIE9fQ1JFQVQgfCBPX1dST05MWSwgMDY2Nik7CiAJaWYgKG91dCA8IDApCi0JCWRpZSAoXygiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iKSwgZmlsZSk7CisJCWRpZShfKCJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIpLCBmaWxlKTsKIAlyZXYuZGlmZm9wdC5maWxlID0geGZkb3BlbihvdXQsICJ3Iik7CiAJcmV2LmRpZmZvcHQuY2xvc2VfZmlsZSA9IDE7CiAJaWYgKHJ1bl9kaWZmX2ZpbGVzKCZyZXYsIDApKQotCQlkaWUgKF8oIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIpKTsKKwkJZGllKF8oIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIpKTsKIAogCWxhdW5jaF9lZGl0b3IoZmlsZSwgTlVMTCwgTlVMTCk7CiAKQEAgLTM2NCw3ICszMjQsNyBAQAogCWNoaWxkLmdpdF9jbWQgPSAxOwogCWNoaWxkLmFyZ3YgPSBhcHBseV9hcmd2OwogCWlmIChydW5fY29tbWFuZCgmY2hpbGQpKQotCQlkaWUgKF8oIkNvdWxkIG5vdCBhcHBseSAnJXMnIiksIGZpbGUpOworCQlkaWUoXygiQ291bGQgbm90IGFwcGx5ICclcyciKSwgZmlsZSk7CiAKIAl1bmxpbmsoZmlsZSk7CiAJZnJlZShmaWxlKTsKQEAgLTQ0Niw3ICs0MDYsNyBAQAogewogCWludCBleGl0X3N0YXR1cyA9IDA7CiAJaW50IG5ld2ZkOwotCWNvbnN0IGNoYXIgKipwYXRoc3BlYzsKKwlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAJc3RydWN0IGRpcl9zdHJ1Y3QgZGlyOwogCWludCBmbGFnczsKIAlpbnQgYWRkX25ld19maWxlczsKQEAgLTUyNywxNCArNDg3LDIzIEBACiAJCWZwcmludGYoc3RkZXJyLCBfKCJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIpKTsKIAkJcmV0dXJuIDA7CiAJfQotCXBhdGhzcGVjID0gdmFsaWRhdGVfcGF0aHNwZWMoYXJndiwgcHJlZml4KTsKIAogCWlmIChyZWFkX2NhY2hlKCkgPCAwKQogCQlkaWUoXygiaW5kZXggZmlsZSBjb3JydXB0IikpOwotCXRyZWF0X2dpdGxpbmtzKHBhdGhzcGVjKTsKKworCS8qCisJICogQ2hlY2sgdGhlICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIiBibG9jaworCSAqIGJlbG93IGJlZm9yZSBlbmFibGluZyBuZXcgbWFnaWMuCisJICovCisJcGFyc2VfcGF0aHNwZWMoJnBhdGhzcGVjLCAwLAorCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0ZVTEwgfAorCQkgICAgICAgUEFUSFNQRUNfU1lNTElOS19MRUFESU5HX1BBVEggfAorCQkgICAgICAgUEFUSFNQRUNfU1RSSVBfU1VCTU9EVUxFX1NMQVNIX0VYUEVOU0lWRSwKKwkJICAgICAgIHByZWZpeCwgYXJndik7CiAKIAlpZiAoYWRkX25ld19maWxlcykgewogCQlpbnQgYmFzZWxlbjsKKwkJc3RydWN0IHBhdGhzcGVjIGVtcHR5X3BhdGhzcGVjOwogCiAJCS8qIFNldCB1cCB0aGUgZGVmYXVsdCBnaXQgcG9yY2VsYWluIGV4Y2x1ZGVzICovCiAJCW1lbXNldCgmZGlyLCAwLCBzaXplb2YoZGlyKSk7CkBAIC01NDMsMzUgKzUxMiw0OSBAQAogCQkJc2V0dXBfc3RhbmRhcmRfZXhjbHVkZXMoJmRpcik7CiAJCX0KIAorCQltZW1zZXQoJmVtcHR5X3BhdGhzcGVjLCAwLCBzaXplb2YoZW1wdHlfcGF0aHNwZWMpKTsKIAkJLyogVGhpcyBwaWNrcyB1cCB0aGUgcGF0aHMgdGhhdCBhcmUgbm90IHRyYWNrZWQgKi8KLQkJYmFzZWxlbiA9IGZpbGxfZGlyZWN0b3J5KCZkaXIsIGltcGxpY2l0X2RvdCA/IE5VTEwgOiBwYXRoc3BlYyk7Ci0JCWlmIChwYXRoc3BlYykKLQkJCXNlZW4gPSBwcnVuZV9kaXJlY3RvcnkoJmRpciwgcGF0aHNwZWMsIGJhc2VsZW4sCisJCWJhc2VsZW4gPSBmaWxsX2RpcmVjdG9yeSgmZGlyLCBpbXBsaWNpdF9kb3QgPyAmZW1wdHlfcGF0aHNwZWMgOiAmcGF0aHNwZWMpOworCQlpZiAocGF0aHNwZWMubnIpCisJCQlzZWVuID0gcHJ1bmVfZGlyZWN0b3J5KCZkaXIsICZwYXRoc3BlYywgYmFzZWxlbiwKIAkJCQkJaW1wbGljaXRfZG90ID8gV0FSTl9JTVBMSUNJVF9ET1QgOiAwKTsKIAl9CiAKIAlpZiAocmVmcmVzaF9vbmx5KSB7Ci0JCXJlZnJlc2godmVyYm9zZSwgcGF0aHNwZWMpOworCQlyZWZyZXNoKHZlcmJvc2UsICZwYXRoc3BlYyk7CiAJCWdvdG8gZmluaXNoOwogCX0KIAlpZiAoaW1wbGljaXRfZG90ICYmIHByZWZpeCkKIAkJcmVmcmVzaF9jYWNoZShSRUZSRVNIX1FVSUVUKTsKIAotCWlmIChwYXRoc3BlYykgeworCWlmIChwYXRoc3BlYy5ucikgewogCQlpbnQgaTsKIAogCQlpZiAoIXNlZW4pCi0JCQlzZWVuID0gZmluZF9wYXRoc3BlY3NfbWF0Y2hpbmdfYWdhaW5zdF9pbmRleChwYXRoc3BlYyk7Ci0JCWZvciAoaSA9IDA7IHBhdGhzcGVjW2ldOyBpKyspIHsKLQkJCWlmICghc2VlbltpXSAmJiBwYXRoc3BlY1tpXVswXQotCQkJICAgICYmICFmaWxlX2V4aXN0cyhwYXRoc3BlY1tpXSkpIHsKKwkJCXNlZW4gPSBmaW5kX3BhdGhzcGVjc19tYXRjaGluZ19hZ2FpbnN0X2luZGV4KCZwYXRoc3BlYyk7CisKKwkJLyoKKwkJICogZmlsZV9leGlzdHMoKSBhc3N1bWVzIGV4YWN0IG1hdGNoCisJCSAqLworCQlHVUFSRF9QQVRIU1BFQygmcGF0aHNwZWMsCisJCQkgICAgICAgUEFUSFNQRUNfRlJPTVRPUCB8CisJCQkgICAgICAgUEFUSFNQRUNfTElURVJBTCB8CisJCQkgICAgICAgUEFUSFNQRUNfR0xPQiB8CisJCQkgICAgICAgUEFUSFNQRUNfSUNBU0UpOworCisJCWZvciAoaSA9IDA7IGkgPCBwYXRoc3BlYy5ucjsgaSsrKSB7CisJCQljb25zdCBjaGFyICpwYXRoID0gcGF0aHNwZWMuaXRlbXNbaV0ubWF0Y2g7CisJCQlpZiAoIXNlZW5baV0gJiYKKwkJCSAgICAoKHBhdGhzcGVjLml0ZW1zW2ldLm1hZ2ljICYKKwkJCSAgICAgIChQQVRIU1BFQ19HTE9CIHwgUEFUSFNQRUNfSUNBU0UpKSB8fAorCQkJICAgICAhZmlsZV9leGlzdHMocGF0aCkpKSB7CiAJCQkJaWYgKGlnbm9yZV9taXNzaW5nKSB7CiAJCQkJCWludCBkdHlwZSA9IERUX1VOS05PV047Ci0JCQkJCWlmIChpc19leGNsdWRlZCgmZGlyLCBwYXRoc3BlY1tpXSwgJmR0eXBlKSkKLQkJCQkJCWRpcl9hZGRfaWdub3JlZCgmZGlyLCBwYXRoc3BlY1tpXSwgc3RybGVuKHBhdGhzcGVjW2ldKSk7CisJCQkJCWlmIChpc19leGNsdWRlZCgmZGlyLCBwYXRoLCAmZHR5cGUpKQorCQkJCQkJZGlyX2FkZF9pZ25vcmVkKCZkaXIsIHBhdGgsIHBhdGhzcGVjLml0ZW1zW2ldLmxlbik7CiAJCQkJfSBlbHNlCiAJCQkJCWRpZShfKCJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIiksCi0JCQkJCSAgICBwYXRoc3BlY1tpXSk7CisJCQkJCSAgICBwYXRoc3BlYy5pdGVtc1tpXS5vcmlnaW5hbCk7CiAJCQl9CiAJCX0KIAkJZnJlZShzZWVuKTsKQEAgLTU4NywxMCArNTcwLDExIEBACiAJCSAqLwogCQl1cGRhdGVfZGF0YS5pbXBsaWNpdF9kb3QgPSBwcmVmaXg7CiAJCXVwZGF0ZV9kYXRhLmltcGxpY2l0X2RvdF9sZW4gPSBzdHJsZW4ocHJlZml4KTsKLQkJcGF0aHNwZWMgPSBOVUxMOworCQlmcmVlX3BhdGhzcGVjKCZwYXRoc3BlYyk7CisJCW1lbXNldCgmcGF0aHNwZWMsIDAsIHNpemVvZihwYXRoc3BlYykpOwogCX0KIAl1cGRhdGVfZGF0YS5mbGFncyA9IGZsYWdzICYgfkFERF9DQUNIRV9JTVBMSUNJVF9ET1Q7Ci0JdXBkYXRlX2ZpbGVzX2luX2NhY2hlKHByZWZpeCwgcGF0aHNwZWMsICZ1cGRhdGVfZGF0YSk7CisJdXBkYXRlX2ZpbGVzX2luX2NhY2hlKHByZWZpeCwgJnBhdGhzcGVjLCAmdXBkYXRlX2RhdGEpOwogCiAJZXhpdF9zdGF0dXMgfD0gISF1cGRhdGVfZGF0YS5hZGRfZXJyb3JzOwogCWlmIChhZGRfbmV3X2ZpbGVzKQpAQCAtNTk4LDcgKzU4Miw3IEBACiAKIAl1bnBsdWdfYnVsa19jaGVja2luKCk7CiAKLSBmaW5pc2g6CitmaW5pc2g6CiAJaWYgKGFjdGl2ZV9jYWNoZV9jaGFuZ2VkKSB7CiAJCWlmICh3cml0ZV9jYWNoZShuZXdmZCwgYWN0aXZlX2NhY2hlLCBhY3RpdmVfbnIpIHx8CiAJCSAgICBjb21taXRfbG9ja2VkX2luZGV4KCZsb2NrX2ZpbGUpKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9hcHBseS5jIGIvYnVpbHRpbi9hcHBseS5jCmluZGV4IDUwOTEyYzkuLmVmMzJlNGYgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vYXBwbHkuYworKysgYi9idWlsdGluL2FwcGx5LmMKQEAgLTQzNjMsMjMgKzQzNjMsMjMgQEAKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssICdwJywgTlVMTCwgTlVMTCwgTl8oIm51bSIpLAogCQkJTl8oInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIiksCiAJCQkwLCBvcHRpb25fcGFyc2VfcCB9LAotCQlPUFRfQk9PTEVBTigwLCAibm8tYWRkIiwgJm5vX2FkZCwKKwkJT1BUX0JPT0woMCwgIm5vLWFkZCIsICZub19hZGQsCiAJCQlOXygiaWdub3JlIGFkZGl0aW9ucyBtYWRlIGJ5IHRoZSBwYXRjaCIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgInN0YXQiLCAmZGlmZnN0YXQsCisJCU9QVF9CT09MKDAsICJzdGF0IiwgJmRpZmZzdGF0LAogCQkJTl8oImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIpKSwKIAkJT1BUX05PT1BfTk9BUkcoMCwgImFsbG93LWJpbmFyeS1yZXBsYWNlbWVudCIpLAogCQlPUFRfTk9PUF9OT0FSRygwLCAiYmluYXJ5IiksCi0JCU9QVF9CT09MRUFOKDAsICJudW1zdGF0IiwgJm51bXN0YXQsCisJCU9QVF9CT09MKDAsICJudW1zdGF0IiwgJm51bXN0YXQsCiAJCQlOXygic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgInN1bW1hcnkiLCAmc3VtbWFyeSwKKwkJT1BUX0JPT0woMCwgInN1bW1hcnkiLCAmc3VtbWFyeSwKIAkJCU5fKCJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IikpLAotCQlPUFRfQk9PTEVBTigwLCAiY2hlY2siLCAmY2hlY2ssCisJCU9QVF9CT09MKDAsICJjaGVjayIsICZjaGVjaywKIAkJCU5fKCJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIikpLAotCQlPUFRfQk9PTEVBTigwLCAiaW5kZXgiLCAmY2hlY2tfaW5kZXgsCisJCU9QVF9CT09MKDAsICJpbmRleCIsICZjaGVja19pbmRleCwKIAkJCU5fKCJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiKSksCi0JCU9QVF9CT09MRUFOKDAsICJjYWNoZWQiLCAmY2FjaGVkLAorCQlPUFRfQk9PTCgwLCAiY2FjaGVkIiwgJmNhY2hlZCwKIAkJCU5fKCJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImFwcGx5IiwgJmZvcmNlX2FwcGx5LAorCQlPUFRfQk9PTCgwLCAiYXBwbHkiLCAmZm9yY2VfYXBwbHksCiAJCQlOXygiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiKSksCiAJCU9QVF9CT09MKCczJywgIjN3YXkiLCAmdGhyZWV3YXksCiAJCQkgTl8oICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IikpLApAQCAtNDM5OSwxMyArNDM5OSwxMyBAQAogCQl7IE9QVElPTl9DQUxMQkFDSywgMCwgImlnbm9yZS13aGl0ZXNwYWNlIiwgTlVMTCwgTlVMTCwKIAkJCU5fKCJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IiksCiAJCQlQQVJTRV9PUFRfTk9BUkcsIG9wdGlvbl9wYXJzZV9zcGFjZV9jaGFuZ2UgfSwKLQkJT1BUX0JPT0xFQU4oJ1InLCAicmV2ZXJzZSIsICZhcHBseV9pbl9yZXZlcnNlLAorCQlPUFRfQk9PTCgnUicsICJyZXZlcnNlIiwgJmFwcGx5X2luX3JldmVyc2UsCiAJCQlOXygiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiKSksCi0JCU9QVF9CT09MRUFOKDAsICJ1bmlkaWZmLXplcm8iLCAmdW5pZGlmZl96ZXJvLAorCQlPUFRfQk9PTCgwLCAidW5pZGlmZi16ZXJvIiwgJnVuaWRpZmZfemVybywKIAkJCU5fKCJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgInJlamVjdCIsICZhcHBseV93aXRoX3JlamVjdCwKKwkJT1BUX0JPT0woMCwgInJlamVjdCIsICZhcHBseV93aXRoX3JlamVjdCwKIAkJCU5fKCJsZWF2ZSB0aGUgcmVqZWN0ZWQgaHVua3MgaW4gY29ycmVzcG9uZGluZyAqLnJlaiBmaWxlcyIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImFsbG93LW92ZXJsYXAiLCAmYWxsb3dfb3ZlcmxhcCwKKwkJT1BUX0JPT0woMCwgImFsbG93LW92ZXJsYXAiLCAmYWxsb3dfb3ZlcmxhcCwKIAkJCU5fKCJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIpKSwKIAkJT1BUX19WRVJCT1NFKCZhcHBseV92ZXJib3NlbHksIE5fKCJiZSB2ZXJib3NlIikpLAogCQlPUFRfQklUKDAsICJpbmFjY3VyYXRlLWVvZiIsICZvcHRpb25zLApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jIGIvYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jCmluZGV4IGUzODg0ZTMuLjMzMjQyMjkwIDEwMDY0NAotLS0gYS9idWlsdGluL2Jpc2VjdC0taGVscGVyLmMKKysrIGIvYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jCkBAIC0xMywxMCArMTMsMTAgQEAKIAlpbnQgbmV4dF9hbGwgPSAwOwogCWludCBub19jaGVja291dCA9IDA7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MRUFOKDAsICJuZXh0LWFsbCIsICZuZXh0X2FsbCwKLQkJCSAgICBOXygicGVyZm9ybSAnZ2l0IGJpc2VjdCBuZXh0JyIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgIm5vLWNoZWNrb3V0IiwgJm5vX2NoZWNrb3V0LAotCQkJICAgIE5fKCJ1cGRhdGUgQklTRUNUX0hFQUQgaW5zdGVhZCBvZiBjaGVja2luZyBvdXQgdGhlIGN1cnJlbnQgY29tbWl0IikpLAorCQlPUFRfQk9PTCgwLCAibmV4dC1hbGwiLCAmbmV4dF9hbGwsCisJCQkgTl8oInBlcmZvcm0gJ2dpdCBiaXNlY3QgbmV4dCciKSksCisJCU9QVF9CT09MKDAsICJuby1jaGVja291dCIsICZub19jaGVja291dCwKKwkJCSBOXygidXBkYXRlIEJJU0VDVF9IRUFEIGluc3RlYWQgb2YgY2hlY2tpbmcgb3V0IHRoZSBjdXJyZW50IGNvbW1pdCIpKSwKIAkJT1BUX0VORCgpCiAJfTsKIApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9ibGFtZS5jIGIvYnVpbHRpbi9ibGFtZS5jCmluZGV4IDA3OWRjZDMuLjE0MDdhZTcgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vYmxhbWUuYworKysgYi9idWlsdGluL2JsYW1lLmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlICJ1dGY4LmgiCiAjaW5jbHVkZSAidXNlcmRpZmYuaCIKICNpbmNsdWRlICJsaW5lLXJhbmdlLmgiCisjaW5jbHVkZSAibGluZS1sb2cuaCIKIAogc3RhdGljIGNoYXIgYmxhbWVfdXNhZ2VbXSA9IE5fKCJnaXQgYmxhbWUgW29wdGlvbnNdIFtyZXYtb3B0c10gW3Jldl0gWy0tXSBmaWxlIik7CiAKQEAgLTQwOCw3ICs0MDksOSBAQAogCXBhdGhzWzBdID0gb3JpZ2luLT5wYXRoOwogCXBhdGhzWzFdID0gTlVMTDsKIAotCWRpZmZfdHJlZV9zZXR1cF9wYXRocyhwYXRocywgJmRpZmZfb3B0cyk7CisJcGFyc2VfcGF0aHNwZWMoJmRpZmZfb3B0cy5wYXRoc3BlYywKKwkJICAgICAgIFBBVEhTUEVDX0FMTF9NQUdJQyAmIH5QQVRIU1BFQ19MSVRFUkFMLAorCQkgICAgICAgUEFUSFNQRUNfTElURVJBTF9QQVRILCAiIiwgcGF0aHMpOwogCWRpZmZfc2V0dXBfZG9uZSgmZGlmZl9vcHRzKTsKIAogCWlmIChpc19udWxsX3NoYTEob3JpZ2luLT5jb21taXQtPm9iamVjdC5zaGExKSkKQEAgLTQ1OCw3ICs0NjEsNyBAQAogCQl9CiAJfQogCWRpZmZfZmx1c2goJmRpZmZfb3B0cyk7Ci0JZGlmZl90cmVlX3JlbGVhc2VfcGF0aHMoJmRpZmZfb3B0cyk7CisJZnJlZV9wYXRoc3BlYygmZGlmZl9vcHRzLnBhdGhzcGVjKTsKIAlpZiAocG9yaWdpbikgewogCQkvKgogCQkgKiBDcmVhdGUgYSBmcmVlc3RhbmRpbmcgY29weSB0aGF0IGlzIG5vdCBwYXJ0IG9mCkBAIC00ODYsMTUgKzQ4OSwxMiBAQAogCXN0cnVjdCBvcmlnaW4gKnBvcmlnaW4gPSBOVUxMOwogCXN0cnVjdCBkaWZmX29wdGlvbnMgZGlmZl9vcHRzOwogCWludCBpOwotCWNvbnN0IGNoYXIgKnBhdGhzWzJdOwogCiAJZGlmZl9zZXR1cCgmZGlmZl9vcHRzKTsKIAlESUZGX09QVF9TRVQoJmRpZmZfb3B0cywgUkVDVVJTSVZFKTsKIAlkaWZmX29wdHMuZGV0ZWN0X3JlbmFtZSA9IERJRkZfREVURUNUX1JFTkFNRTsKIAlkaWZmX29wdHMub3V0cHV0X2Zvcm1hdCA9IERJRkZfRk9STUFUX05PX09VVFBVVDsKIAlkaWZmX29wdHMuc2luZ2xlX2ZvbGxvdyA9IG9yaWdpbi0+cGF0aDsKLQlwYXRoc1swXSA9IE5VTEw7Ci0JZGlmZl90cmVlX3NldHVwX3BhdGhzKHBhdGhzLCAmZGlmZl9vcHRzKTsKIAlkaWZmX3NldHVwX2RvbmUoJmRpZmZfb3B0cyk7CiAKIAlpZiAoaXNfbnVsbF9zaGExKG9yaWdpbi0+Y29tbWl0LT5vYmplY3Quc2hhMSkpCkBAIC01MTYsNyArNTE2LDcgQEAKIAkJfQogCX0KIAlkaWZmX2ZsdXNoKCZkaWZmX29wdHMpOwotCWRpZmZfdHJlZV9yZWxlYXNlX3BhdGhzKCZkaWZmX29wdHMpOworCWZyZWVfcGF0aHNwZWMoJmRpZmZfb3B0cy5wYXRoc3BlYyk7CiAJcmV0dXJuIHBvcmlnaW47CiB9CiAKQEAgLTEwNjQsNyArMTA2NCw2IEBACiAJCQkgICAgICAgaW50IG9wdCkKIHsKIAlzdHJ1Y3QgZGlmZl9vcHRpb25zIGRpZmZfb3B0czsKLQljb25zdCBjaGFyICpwYXRoc1sxXTsKIAlpbnQgaSwgajsKIAlpbnQgcmV0dmFsOwogCXN0cnVjdCBibGFtZV9saXN0ICpibGFtZV9saXN0OwpAQCAtMTA3OCw4ICsxMDc3LDYgQEAKIAlESUZGX09QVF9TRVQoJmRpZmZfb3B0cywgUkVDVVJTSVZFKTsKIAlkaWZmX29wdHMub3V0cHV0X2Zvcm1hdCA9IERJRkZfRk9STUFUX05PX09VVFBVVDsKIAotCXBhdGhzWzBdID0gTlVMTDsKLQlkaWZmX3RyZWVfc2V0dXBfcGF0aHMocGF0aHMsICZkaWZmX29wdHMpOwogCWRpZmZfc2V0dXBfZG9uZSgmZGlmZl9vcHRzKTsKIAogCS8qIFRyeSAiZmluZCBjb3BpZXMgaGFyZGVyIiBvbiBuZXcgcGF0aCBpZiByZXF1ZXN0ZWQ7CkBAIC0xMTYyLDcgKzExNTksNyBAQAogCX0KIAlyZXNldF9zY2FubmVkX2ZsYWcoc2IpOwogCWRpZmZfZmx1c2goJmRpZmZfb3B0cyk7Ci0JZGlmZl90cmVlX3JlbGVhc2VfcGF0aHMoJmRpZmZfb3B0cyk7CisJZnJlZV9wYXRoc3BlYygmZGlmZl9vcHRzLnBhdGhzcGVjKTsKIAlyZXR1cm4gcmV0dmFsOwogfQogCkBAIC0xOTM3LDE4ICsxOTM0LDYgQEAKIAlyZXR1cm4gcHJlZml4X3BhdGgocHJlZml4LCBwcmVmaXggPyBzdHJsZW4ocHJlZml4KSA6IDAsIHBhdGgpOwogfQogCi0vKgotICogUGFyc2luZyBvZiAtTCBvcHRpb24KLSAqLwotc3RhdGljIHZvaWQgcHJlcGFyZV9ibGFtZV9yYW5nZShzdHJ1Y3Qgc2NvcmVib2FyZCAqc2IsCi0JCQkJY29uc3QgY2hhciAqYm90dG9tdG9wLAotCQkJCWxvbmcgbG5vLAotCQkJCWxvbmcgKmJvdHRvbSwgbG9uZyAqdG9wKQotewotCWlmIChwYXJzZV9yYW5nZV9hcmcoYm90dG9tdG9wLCBudGhfbGluZV9jYiwgc2IsIGxubywgYm90dG9tLCB0b3AsIHNiLT5wYXRoKSkKLQkJdXNhZ2UoYmxhbWVfdXNhZ2UpOwotfQotCiBzdGF0aWMgaW50IGdpdF9ibGFtZV9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpCiB7CiAJaWYgKCFzdHJjbXAodmFyLCAiYmxhbWUuc2hvd3Jvb3QiKSkgewpAQCAtMjI0NSwzOCArMjIzMCwyNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGJsYW1lX2JvdHRvbXRvcF9jYWxsYmFjayhjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHRpb24sIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQotewotCWNvbnN0IGNoYXIgKipib3R0b210b3AgPSBvcHRpb24tPnZhbHVlOwotCWlmICghYXJnKQotCQlyZXR1cm4gLTE7Ci0JaWYgKCpib3R0b210b3ApCi0JCWRpZSgiTW9yZSB0aGFuIG9uZSAnLUwgbixtJyBvcHRpb24gZ2l2ZW4iKTsKLQkqYm90dG9tdG9wID0gYXJnOwotCXJldHVybiAwOwotfQotCiBpbnQgY21kX2JsYW1lKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCXN0cnVjdCByZXZfaW5mbyByZXZzOwogCWNvbnN0IGNoYXIgKnBhdGg7CiAJc3RydWN0IHNjb3JlYm9hcmQgc2I7CiAJc3RydWN0IG9yaWdpbiAqbzsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudDsKLQlsb25nIGRhc2hkYXNoX3BvcywgYm90dG9tLCB0b3AsIGxubzsKKwlzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudCA9IE5VTEw7CisJbG9uZyBkYXNoZGFzaF9wb3MsIGxubzsKIAljb25zdCBjaGFyICpmaW5hbF9jb21taXRfbmFtZSA9IE5VTEw7CiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwogCi0Jc3RhdGljIGNvbnN0IGNoYXIgKmJvdHRvbXRvcCA9IE5VTEw7CisJc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCByYW5nZV9saXN0OwogCXN0YXRpYyBpbnQgb3V0cHV0X29wdGlvbiA9IDAsIG9wdCA9IDA7CiAJc3RhdGljIGludCBzaG93X3N0YXRzID0gMDsKIAlzdGF0aWMgY29uc3QgY2hhciAqcmV2c19maWxlID0gTlVMTDsKIAlzdGF0aWMgY29uc3QgY2hhciAqY29udGVudHNfZnJvbSA9IE5VTEw7CiAJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewotCQlPUFRfQk9PTEVBTigwLCAiaW5jcmVtZW50YWwiLCAmaW5jcmVtZW50YWwsIE5fKCJTaG93IGJsYW1lIGVudHJpZXMgYXMgd2UgZmluZCB0aGVtLCBpbmNyZW1lbnRhbGx5IikpLAotCQlPUFRfQk9PTEVBTignYicsIE5VTEwsICZibGFua19ib3VuZGFyeSwgTl8oIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiKSksCi0JCU9QVF9CT09MRUFOKDAsICJyb290IiwgJnNob3dfcm9vdCwgTl8oIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgInNob3ctc3RhdHMiLCAmc2hvd19zdGF0cywgTl8oIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiKSksCisJCU9QVF9CT09MKDAsICJpbmNyZW1lbnRhbCIsICZpbmNyZW1lbnRhbCwgTl8oIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiKSksCisJCU9QVF9CT09MKCdiJywgTlVMTCwgJmJsYW5rX2JvdW5kYXJ5LCBOXygiU2hvdyBibGFuayBTSEEtMSBmb3IgYm91bmRhcnkgY29tbWl0cyAoRGVmYXVsdDogb2ZmKSIpKSwKKwkJT1BUX0JPT0woMCwgInJvb3QiLCAmc2hvd19yb290LCBOXygiRG8gbm90IHRyZWF0IHJvb3QgY29tbWl0cyBhcyBib3VuZGFyaWVzIChEZWZhdWx0OiBvZmYpIikpLAorCQlPUFRfQk9PTCgwLCAic2hvdy1zdGF0cyIsICZzaG93X3N0YXRzLCBOXygiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIpKSwKIAkJT1BUX0JJVCgwLCAic2NvcmUtZGVidWciLCAmb3V0cHV0X29wdGlvbiwgTl8oIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIiksIE9VVFBVVF9TSE9XX1NDT1JFKSwKIAkJT1BUX0JJVCgnZicsICJzaG93LW5hbWUiLCAmb3V0cHV0X29wdGlvbiwgTl8oIlNob3cgb3JpZ2luYWwgZmlsZW5hbWUgKERlZmF1bHQ6IGF1dG8pIiksIE9VVFBVVF9TSE9XX05BTUUpLAogCQlPUFRfQklUKCduJywgInNob3ctbnVtYmVyIiwgJm91dHB1dF9vcHRpb24sIE5fKCJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiKSwgT1VUUFVUX1NIT1dfTlVNQkVSKSwKQEAgLTIyOTMsMTMgKzIyNjcsMTYgQEAKIAkJT1BUX1NUUklORygwLCAiY29udGVudHMiLCAmY29udGVudHNfZnJvbSwgTl8oImZpbGUiKSwgTl8oIlVzZSA8ZmlsZT4ncyBjb250ZW50cyBhcyB0aGUgZmluYWwgaW1hZ2UiKSksCiAJCXsgT1BUSU9OX0NBTExCQUNLLCAnQycsIE5VTEwsICZvcHQsIE5fKCJzY29yZSIpLCBOXygiRmluZCBsaW5lIGNvcGllcyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIpLCBQQVJTRV9PUFRfT1BUQVJHLCBibGFtZV9jb3B5X2NhbGxiYWNrIH0sCiAJCXsgT1BUSU9OX0NBTExCQUNLLCAnTScsIE5VTEwsICZvcHQsIE5fKCJzY29yZSIpLCBOXygiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIpLCBQQVJTRV9PUFRfT1BUQVJHLCBibGFtZV9tb3ZlX2NhbGxiYWNrIH0sCi0JCU9QVF9DQUxMQkFDSygnTCcsIE5VTEwsICZib3R0b210b3AsIE5fKCJuLG0iKSwgTl8oIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIiksIGJsYW1lX2JvdHRvbXRvcF9jYWxsYmFjayksCisJCU9QVF9TVFJJTkdfTElTVCgnTCcsIE5VTEwsICZyYW5nZV9saXN0LCBOXygibixtIiksIE5fKCJQcm9jZXNzIG9ubHkgbGluZSByYW5nZSBuLG0sIGNvdW50aW5nIGZyb20gMSIpKSwKIAkJT1BUX19BQkJSRVYoJmFiYnJldiksCiAJCU9QVF9FTkQoKQogCX07CiAKIAlzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90IGN0eDsKIAlpbnQgY21kX2lzX2Fubm90YXRlID0gIXN0cmNtcChhcmd2WzBdLCAiYW5ub3RhdGUiKTsKKwlzdHJ1Y3QgcmFuZ2Vfc2V0IHJhbmdlczsKKwl1bnNpZ25lZCBpbnQgcmFuZ2VfaTsKKwlsb25nIGFuY2hvcjsKIAogCWdpdF9jb25maWcoZ2l0X2JsYW1lX2NvbmZpZywgTlVMTCk7CiAJaW5pdF9yZXZpc2lvbnMoJnJldnMsIE5VTEwpOwpAQCAtMjQ5MiwyMiArMjQ2OSw0OCBAQAogCW51bV9yZWFkX2Jsb2IrKzsKIAlsbm8gPSBwcmVwYXJlX2xpbmVzKCZzYik7CiAKLQlib3R0b20gPSB0b3AgPSAwOwotCWlmIChib3R0b210b3ApCi0JCXByZXBhcmVfYmxhbWVfcmFuZ2UoJnNiLCBib3R0b210b3AsIGxubywgJmJvdHRvbSwgJnRvcCk7Ci0JaWYgKGJvdHRvbSA8IDEpCi0JCWJvdHRvbSA9IDE7Ci0JaWYgKHRvcCA8IDEpCi0JCXRvcCA9IGxubzsKLQlib3R0b20tLTsKLQlpZiAobG5vIDwgdG9wIHx8IGxubyA8IGJvdHRvbSkKLQkJZGllKCJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lcyIsIHBhdGgsIGxubyk7CisJaWYgKGxubyAmJiAhcmFuZ2VfbGlzdC5ucikKKwkJc3RyaW5nX2xpc3RfYXBwZW5kKCZyYW5nZV9saXN0LCB4c3RyZHVwKCIxIikpOwogCi0JZW50ID0geGNhbGxvYygxLCBzaXplb2YoKmVudCkpOwotCWVudC0+bG5vID0gYm90dG9tOwotCWVudC0+bnVtX2xpbmVzID0gdG9wIC0gYm90dG9tOwotCWVudC0+c3VzcGVjdCA9IG87Ci0JZW50LT5zX2xubyA9IGJvdHRvbTsKKwlhbmNob3IgPSAxOworCXJhbmdlX3NldF9pbml0KCZyYW5nZXMsIHJhbmdlX2xpc3QubnIpOworCWZvciAocmFuZ2VfaSA9IDA7IHJhbmdlX2kgPCByYW5nZV9saXN0Lm5yOyArK3JhbmdlX2kpIHsKKwkJbG9uZyBib3R0b20sIHRvcDsKKwkJaWYgKHBhcnNlX3JhbmdlX2FyZyhyYW5nZV9saXN0Lml0ZW1zW3JhbmdlX2ldLnN0cmluZywKKwkJCQkgICAgbnRoX2xpbmVfY2IsICZzYiwgbG5vLCBhbmNob3IsCisJCQkJICAgICZib3R0b20sICZ0b3AsIHNiLnBhdGgpKQorCQkJdXNhZ2UoYmxhbWVfdXNhZ2UpOworCQlpZiAobG5vIDwgdG9wIHx8ICgobG5vIHx8IGJvdHRvbSkgJiYgbG5vIDwgYm90dG9tKSkKKwkJCWRpZSgiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZXMiLCBwYXRoLCBsbm8pOworCQlpZiAoYm90dG9tIDwgMSkKKwkJCWJvdHRvbSA9IDE7CisJCWlmICh0b3AgPCAxKQorCQkJdG9wID0gbG5vOworCQlib3R0b20tLTsKKwkJcmFuZ2Vfc2V0X2FwcGVuZF91bnNhZmUoJnJhbmdlcywgYm90dG9tLCB0b3ApOworCQlhbmNob3IgPSB0b3AgKyAxOworCX0KKwlzb3J0X2FuZF9tZXJnZV9yYW5nZV9zZXQoJnJhbmdlcyk7CisKKwlmb3IgKHJhbmdlX2kgPSByYW5nZXMubnI7IHJhbmdlX2kgPiAwOyAtLXJhbmdlX2kpIHsKKwkJY29uc3Qgc3RydWN0IHJhbmdlICpyID0gJnJhbmdlcy5yYW5nZXNbcmFuZ2VfaSAtIDFdOworCQlsb25nIGJvdHRvbSA9IHItPnN0YXJ0OworCQlsb25nIHRvcCA9IHItPmVuZDsKKwkJc3RydWN0IGJsYW1lX2VudHJ5ICpuZXh0ID0gZW50OworCQllbnQgPSB4Y2FsbG9jKDEsIHNpemVvZigqZW50KSk7CisJCWVudC0+bG5vID0gYm90dG9tOworCQllbnQtPm51bV9saW5lcyA9IHRvcCAtIGJvdHRvbTsKKwkJZW50LT5zdXNwZWN0ID0gbzsKKwkJZW50LT5zX2xubyA9IGJvdHRvbTsKKwkJZW50LT5uZXh0ID0gbmV4dDsKKwkJaWYgKG5leHQpCisJCQluZXh0LT5wcmV2ID0gZW50OworCQlvcmlnaW5faW5jcmVmKG8pOworCX0KKwlvcmlnaW5fZGVjcmVmKG8pOworCisJcmFuZ2Vfc2V0X3JlbGVhc2UoJnJhbmdlcyk7CisJc3RyaW5nX2xpc3RfY2xlYXIoJnJhbmdlX2xpc3QsIDApOwogCiAJc2IuZW50ID0gZW50OwogCXNiLnBhdGggPSBwYXRoOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9icmFuY2guYyBiL2J1aWx0aW4vYnJhbmNoLmMKaW5kZXggMDgzNjg5MC4uZjE1N2Y5MiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9icmFuY2guYworKysgYi9idWlsdGluL2JyYW5jaC5jCkBAIC00MjMsMTkgKzQyMywyMCBAQAogCWNoYXIgKnJlZiA9IE5VTEw7CiAJc3RydWN0IGJyYW5jaCAqYnJhbmNoID0gYnJhbmNoX2dldChicmFuY2hfbmFtZSk7CiAJc3RydWN0IHN0cmJ1ZiBmYW5jeSA9IFNUUkJVRl9JTklUOworCWludCB1cHN0cmVhbV9pc19nb25lID0gMDsKKwlpbnQgYWRkZWRfZGVjb3JhdGlvbiA9IDE7CiAKLQlpZiAoIXN0YXRfdHJhY2tpbmdfaW5mbyhicmFuY2gsICZvdXJzLCAmdGhlaXJzKSkgewotCQlpZiAoYnJhbmNoICYmIGJyYW5jaC0+bWVyZ2UgJiYgYnJhbmNoLT5tZXJnZVswXS0+ZHN0ICYmCi0JCSAgICBzaG93X3Vwc3RyZWFtX3JlZikgewotCQkJcmVmID0gc2hvcnRlbl91bmFtYmlndW91c19yZWYoYnJhbmNoLT5tZXJnZVswXS0+ZHN0LCAwKTsKLQkJCWlmICh3YW50X2NvbG9yKGJyYW5jaF91c2VfY29sb3IpKQotCQkJCXN0cmJ1Zl9hZGRmKHN0YXQsICJbJXMlcyVzXSAiLAotCQkJCQkJYnJhbmNoX2dldF9jb2xvcihCUkFOQ0hfQ09MT1JfVVBTVFJFQU0pLAotCQkJCQkJcmVmLCBicmFuY2hfZ2V0X2NvbG9yKEJSQU5DSF9DT0xPUl9SRVNFVCkpOwotCQkJZWxzZQotCQkJCXN0cmJ1Zl9hZGRmKHN0YXQsICJbJXNdICIsIHJlZik7Ci0JCX0KKwlzd2l0Y2ggKHN0YXRfdHJhY2tpbmdfaW5mbyhicmFuY2gsICZvdXJzLCAmdGhlaXJzKSkgeworCWNhc2UgMDoKKwkJLyogbm8gYmFzZSAqLwogCQlyZXR1cm47CisJY2FzZSAtMToKKwkJLyogd2l0aCAiZ29uZSIgYmFzZSAqLworCQl1cHN0cmVhbV9pc19nb25lID0gMTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJLyogd2l0aCBiYXNlICovCisJCWJyZWFrOwogCX0KIAogCWlmIChzaG93X3Vwc3RyZWFtX3JlZikgewpAQCAtNDQ4LDE5ICs0NDksMjkgQEAKIAkJCXN0cmJ1Zl9hZGRzdHIoJmZhbmN5LCByZWYpOwogCX0KIAotCWlmICghb3VycykgewotCQlpZiAocmVmKQorCWlmICh1cHN0cmVhbV9pc19nb25lKSB7CisJCWlmIChzaG93X3Vwc3RyZWFtX3JlZikKKwkJCXN0cmJ1Zl9hZGRmKHN0YXQsIF8oIlslczogZ29uZV0iKSwgZmFuY3kuYnVmKTsKKwkJZWxzZQorCQkJYWRkZWRfZGVjb3JhdGlvbiA9IDA7CisJfSBlbHNlIGlmICghb3VycyAmJiAhdGhlaXJzKSB7CisJCWlmIChzaG93X3Vwc3RyZWFtX3JlZikKKwkJCXN0cmJ1Zl9hZGRmKHN0YXQsIF8oIlslc10iKSwgZmFuY3kuYnVmKTsKKwkJZWxzZQorCQkJYWRkZWRfZGVjb3JhdGlvbiA9IDA7CisJfSBlbHNlIGlmICghb3VycykgeworCQlpZiAoc2hvd191cHN0cmVhbV9yZWYpCiAJCQlzdHJidWZfYWRkZihzdGF0LCBfKCJbJXM6IGJlaGluZCAlZF0iKSwgZmFuY3kuYnVmLCB0aGVpcnMpOwogCQllbHNlCiAJCQlzdHJidWZfYWRkZihzdGF0LCBfKCJbYmVoaW5kICVkXSIpLCB0aGVpcnMpOwogCiAJfSBlbHNlIGlmICghdGhlaXJzKSB7Ci0JCWlmIChyZWYpCisJCWlmIChzaG93X3Vwc3RyZWFtX3JlZikKIAkJCXN0cmJ1Zl9hZGRmKHN0YXQsIF8oIlslczogYWhlYWQgJWRdIiksIGZhbmN5LmJ1Ziwgb3Vycyk7CiAJCWVsc2UKIAkJCXN0cmJ1Zl9hZGRmKHN0YXQsIF8oIlthaGVhZCAlZF0iKSwgb3Vycyk7CiAJfSBlbHNlIHsKLQkJaWYgKHJlZikKKwkJaWYgKHNob3dfdXBzdHJlYW1fcmVmKQogCQkJc3RyYnVmX2FkZGYoc3RhdCwgXygiWyVzOiBhaGVhZCAlZCwgYmVoaW5kICVkXSIpLAogCQkJCSAgICBmYW5jeS5idWYsIG91cnMsIHRoZWlycyk7CiAJCWVsc2UKQEAgLTQ2OCw3ICs0NzksOCBAQAogCQkJCSAgICBvdXJzLCB0aGVpcnMpOwogCX0KIAlzdHJidWZfcmVsZWFzZSgmZmFuY3kpOwotCXN0cmJ1Zl9hZGRjaChzdGF0LCAnICcpOworCWlmIChhZGRlZF9kZWNvcmF0aW9uKQorCQlzdHJidWZfYWRkY2goc3RhdCwgJyAnKTsKIAlmcmVlKHJlZik7CiB9CiAKQEAgLTc5Nyw3ICs4MDksNyBAQAogCQlPUFRfU0VUX0lOVCggMCwgInNldC11cHN0cmVhbSIsICAmdHJhY2ssIE5fKCJjaGFuZ2UgdXBzdHJlYW0gaW5mbyIpLAogCQkJQlJBTkNIX1RSQUNLX09WRVJSSURFKSwKIAkJT1BUX1NUUklORygndScsICJzZXQtdXBzdHJlYW0tdG8iLCAmbmV3X3Vwc3RyZWFtLCAidXBzdHJlYW0iLCAiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIiksCi0JCU9QVF9CT09MRUFOKDAsICJ1bnNldC11cHN0cmVhbSIsICZ1bnNldF91cHN0cmVhbSwgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIiksCisJCU9QVF9CT09MKDAsICJ1bnNldC11cHN0cmVhbSIsICZ1bnNldF91cHN0cmVhbSwgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIiksCiAJCU9QVF9fQ09MT1IoJmJyYW5jaF91c2VfY29sb3IsIE5fKCJ1c2UgY29sb3JlZCBvdXRwdXQiKSksCiAJCU9QVF9TRVRfSU5UKCdyJywgInJlbW90ZXMiLCAgICAgJmtpbmRzLCBOXygiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIpLAogCQkJUkVGX1JFTU9URV9CUkFOQ0gpLApAQCAtODIyLDEwICs4MzQsMTAgQEAKIAkJT1BUX0JJVCgnRCcsIE5VTEwsICZkZWxldGUsIE5fKCJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIiksIDIpLAogCQlPUFRfQklUKCdtJywgIm1vdmUiLCAmcmVuYW1lLCBOXygibW92ZS9yZW5hbWUgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciKSwgMSksCiAJCU9QVF9CSVQoJ00nLCBOVUxMLCAmcmVuYW1lLCBOXygibW92ZS9yZW5hbWUgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIpLCAyKSwKLQkJT1BUX0JPT0xFQU4oMCwgImxpc3QiLCAmbGlzdCwgTl8oImxpc3QgYnJhbmNoIG5hbWVzIikpLAotCQlPUFRfQk9PTEVBTignbCcsICJjcmVhdGUtcmVmbG9nIiwgJnJlZmxvZywgTl8oImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIikpLAotCQlPUFRfQk9PTEVBTigwLCAiZWRpdC1kZXNjcmlwdGlvbiIsICZlZGl0X2Rlc2NyaXB0aW9uLAotCQkJICAgIE5fKCJlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaCIpKSwKKwkJT1BUX0JPT0woMCwgImxpc3QiLCAmbGlzdCwgTl8oImxpc3QgYnJhbmNoIG5hbWVzIikpLAorCQlPUFRfQk9PTCgnbCcsICJjcmVhdGUtcmVmbG9nIiwgJnJlZmxvZywgTl8oImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIikpLAorCQlPUFRfQk9PTCgwLCAiZWRpdC1kZXNjcmlwdGlvbiIsICZlZGl0X2Rlc2NyaXB0aW9uLAorCQkJIE5fKCJlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaCIpKSwKIAkJT1BUX19GT1JDRSgmZm9yY2VfY3JlYXRlLCBOXygiZm9yY2UgY3JlYXRpb24gKHdoZW4gYWxyZWFkeSBleGlzdHMpIikpLAogCQl7CiAJCQlPUFRJT05fQ0FMTEJBQ0ssIDAsICJuby1tZXJnZWQiLCAmbWVyZ2VfZmlsdGVyX3JlZiwKQEAgLTg3Miw3ICs4ODQsOCBAQAogCWlmICh3aXRoX2NvbW1pdCB8fCBtZXJnZV9maWx0ZXIgIT0gTk9fRklMVEVSKQogCQlsaXN0ID0gMTsKIAotCWlmICghIWRlbGV0ZSArICEhcmVuYW1lICsgISFmb3JjZV9jcmVhdGUgKyAhIWxpc3QgKyAhIW5ld191cHN0cmVhbSArICEhdW5zZXRfdXBzdHJlYW0gPiAxKQorCWlmICghIWRlbGV0ZSArICEhcmVuYW1lICsgISFmb3JjZV9jcmVhdGUgKyAhIW5ld191cHN0cmVhbSArCisJICAgIGxpc3QgKyB1bnNldF91cHN0cmVhbSA+IDEpCiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhidWlsdGluX2JyYW5jaF91c2FnZSwgb3B0aW9ucyk7CiAKIAlpZiAoYWJicmV2ID09IC0xKQpAQCAtOTY4LDkgKzk4MSw4IEBACiAJCQlkaWUoXygibm8gc3VjaCBicmFuY2ggJyVzJyIpLCBhcmd2WzBdKTsKIAkJfQogCi0JCWlmICghYnJhbmNoX2hhc19tZXJnZV9jb25maWcoYnJhbmNoKSkgeworCQlpZiAoIWJyYW5jaF9oYXNfbWVyZ2VfY29uZmlnKGJyYW5jaCkpCiAJCQlkaWUoXygiQnJhbmNoICclcycgaGFzIG5vIHVwc3RyZWFtIGluZm9ybWF0aW9uIiksIGJyYW5jaC0+bmFtZSk7Ci0JCX0KIAogCQlzdHJidWZfYWRkZigmYnVmLCAiYnJhbmNoLiVzLnJlbW90ZSIsIGJyYW5jaC0+bmFtZSk7CiAJCWdpdF9jb25maWdfc2V0X211bHRpdmFyKGJ1Zi5idWYsIE5VTEwsIE5VTEwsIDEpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jYXQtZmlsZS5jIGIvYnVpbHRpbi9jYXQtZmlsZS5jCmluZGV4IDQyNTM0NjAuLmIyY2E3NzUgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY2F0LWZpbGUuYworKysgYi9idWlsdGluL2NhdC1maWxlLmMKQEAgLTQ1LDYgKzQ1LDE0IEBACiAJY2FzZSAnZSc6CiAJCXJldHVybiAhaGFzX3NoYTFfZmlsZShzaGExKTsKIAorCWNhc2UgJ2MnOgorCQlpZiAoIW9ial9jb250ZXh0LnBhdGhbMF0pCisJCQlkaWUoImdpdCBjYXQtZmlsZSAtLXRleHRjb252ICVzOiA8b2JqZWN0PiBtdXN0IGJlIDxzaGExOnBhdGg+IiwKKwkJCSAgICBvYmpfbmFtZSk7CisKKwkJaWYgKHRleHRjb252X29iamVjdChvYmpfY29udGV4dC5wYXRoLCBvYmpfY29udGV4dC5tb2RlLCBzaGExLCAxLCAmYnVmLCAmc2l6ZSkpCisJCQlicmVhazsKKwogCWNhc2UgJ3AnOgogCQl0eXBlID0gc2hhMV9vYmplY3RfaW5mbyhzaGExLCBOVUxMKTsKIAkJaWYgKHR5cGUgPCAwKQpAQCAtNjcsMTYgKzc1LDYgQEAKIAkJLyogb3RoZXJ3aXNlIGp1c3Qgc3BpdCBvdXQgdGhlIGRhdGEgKi8KIAkJYnJlYWs7CiAKLQljYXNlICdjJzoKLQkJaWYgKCFvYmpfY29udGV4dC5wYXRoWzBdKQotCQkJZGllKCJnaXQgY2F0LWZpbGUgLS10ZXh0Y29udiAlczogPG9iamVjdD4gbXVzdCBiZSA8c2hhMTpwYXRoPiIsCi0JCQkgICAgb2JqX25hbWUpOwotCi0JCWlmICghdGV4dGNvbnZfb2JqZWN0KG9ial9jb250ZXh0LnBhdGgsIG9ial9jb250ZXh0Lm1vZGUsIHNoYTEsIDEsICZidWYsICZzaXplKSkKLQkJCWRpZSgiZ2l0IGNhdC1maWxlIC0tdGV4dGNvbnY6IHVuYWJsZSB0byBydW4gdGV4dGNvbnYgb24gJXMiLAotCQkJICAgIG9ial9uYW1lKTsKLQkJYnJlYWs7Ci0KIAljYXNlIDA6CiAJCWlmICh0eXBlX2Zyb21fc3RyaW5nKGV4cF90eXBlKSA9PSBPQkpfQkxPQikgewogCQkJdW5zaWduZWQgY2hhciBibG9iX3NoYTFbMjBdOwpAQCAtMTE5LDYgKzExNyw3IEBACiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwogCXVuc2lnbmVkIGxvbmcgc2l6ZTsKIAl1bnNpZ25lZCBsb25nIGRpc2tfc2l6ZTsKKwljb25zdCBjaGFyICpyZXN0OwogCiAJLyoKIAkgKiBJZiBtYXJrX3F1ZXJ5IGlzIHRydWUsIHdlIGRvIG5vdCBleHBhbmQgYW55dGhpbmcsIGJ1dCByYXRoZXIKQEAgLTEyNyw2ICsxMjYsMTMgQEAKIAlpbnQgbWFya19xdWVyeTsKIAogCS8qCisJICogV2hldGhlciB0byBzcGxpdCB0aGUgaW5wdXQgb24gd2hpdGVzcGFjZSBiZWZvcmUgZmVlZGluZyBpdCB0bworCSAqIGdldF9zaGExOyB0aGlzIGlzIGRlY2lkZWQgZHVyaW5nIHRoZSBtYXJrX3F1ZXJ5IHBoYXNlIGJhc2VkIG9uCisJICogd2hldGhlciB3ZSBoYXZlIGEgJShyZXN0KSB0b2tlbiBpbiBvdXIgZm9ybWF0LgorCSAqLworCWludCBzcGxpdF9vbl93aGl0ZXNwYWNlOworCisJLyoKIAkgKiBBZnRlciBhIG1hcmtfcXVlcnkgcnVuLCB0aGlzIG9iamVjdF9pbmZvIGlzIHNldCB1cCB0byBiZQogCSAqIHBhc3NlZCB0byBzaGExX29iamVjdF9pbmZvX2V4dGVuZGVkLiBJdCB3aWxsIHBvaW50IHRvIHRoZSBkYXRhCiAJICogZWxlbWVudHMgYWJvdmUsIHNvIHlvdSBjYW4gcmV0cmlldmUgdGhlIHJlc3BvbnNlIGZyb20gdGhlcmUuCkBAIC0xNjMsNiArMTY5LDExIEBACiAJCQlkYXRhLT5pbmZvLmRpc2tfc2l6ZXAgPSAmZGF0YS0+ZGlza19zaXplOwogCQllbHNlCiAJCQlzdHJidWZfYWRkZihzYiwgIiVsdSIsIGRhdGEtPmRpc2tfc2l6ZSk7CisJfSBlbHNlIGlmIChpc19hdG9tKCJyZXN0IiwgYXRvbSwgbGVuKSkgeworCQlpZiAoZGF0YS0+bWFya19xdWVyeSkKKwkJCWRhdGEtPnNwbGl0X29uX3doaXRlc3BhY2UgPSAxOworCQllbHNlIGlmIChkYXRhLT5yZXN0KQorCQkJc3RyYnVmX2FkZHN0cihzYiwgZGF0YS0+cmVzdCk7CiAJfSBlbHNlCiAJCWRpZSgidW5rbm93biBmb3JtYXQgZWxlbWVudDogJS4qcyIsIGxlbiwgYXRvbSk7CiB9CkBAIC0yNzMsNyArMjg0LDIzIEBACiAJd2Fybl9vbl9vYmplY3RfcmVmbmFtZV9hbWJpZ3VpdHkgPSAwOwogCiAJd2hpbGUgKHN0cmJ1Zl9nZXRsaW5lKCZidWYsIHN0ZGluLCAnXG4nKSAhPSBFT0YpIHsKLQkJaW50IGVycm9yID0gYmF0Y2hfb25lX29iamVjdChidWYuYnVmLCBvcHQsICZkYXRhKTsKKwkJaW50IGVycm9yOworCisJCWlmIChkYXRhLnNwbGl0X29uX3doaXRlc3BhY2UpIHsKKwkJCS8qCisJCQkgKiBTcGxpdCBhdCBmaXJzdCB3aGl0ZXNwYWNlLCB0eWluZyBvZmYgdGhlIGJlZ2lubmluZworCQkJICogb2YgdGhlIHN0cmluZyBhbmQgc2F2aW5nIHRoZSByZW1haW5kZXIgKG9yIE5VTEwpIGluCisJCQkgKiBkYXRhLnJlc3QuCisJCQkgKi8KKwkJCWNoYXIgKnAgPSBzdHJwYnJrKGJ1Zi5idWYsICIgXHQiKTsKKwkJCWlmIChwKSB7CisJCQkJd2hpbGUgKCpwICYmIHN0cmNocigiIFx0IiwgKnApKQorCQkJCQkqcCsrID0gJ1wwJzsKKwkJCX0KKwkJCWRhdGEucmVzdCA9IHA7CisJCX0KKworCQllcnJvciA9IGJhdGNoX29uZV9vYmplY3QoYnVmLmJ1Ziwgb3B0LCAmZGF0YSk7CiAJCWlmIChlcnJvcikKIAkJCXJldHVybiBlcnJvcjsKIAl9CmRpZmYgLS1naXQgYS9idWlsdGluL2NoZWNrLWF0dHIuYyBiL2J1aWx0aW4vY2hlY2stYXR0ci5jCmluZGV4IDA3NWQwMWQuLmU5YWY3YjIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY2hlY2stYXR0ci5jCisrKyBiL2J1aWx0aW4vY2hlY2stYXR0ci5jCkBAIC0xMywxNCArMTMsMTQgQEAKIE5VTEwKIH07CiAKLXN0YXRpYyBpbnQgbnVsbF90ZXJtX2xpbmU7CitzdGF0aWMgaW50IG51bF90ZXJtX2xpbmU7CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGNoZWNrX2F0dHJfb3B0aW9uc1tdID0gewotCU9QVF9CT09MRUFOKCdhJywgImFsbCIsICZhbGxfYXR0cnMsIE5fKCJyZXBvcnQgYWxsIGF0dHJpYnV0ZXMgc2V0IG9uIGZpbGUiKSksCi0JT1BUX0JPT0xFQU4oMCwgICJjYWNoZWQiLCAmY2FjaGVkX2F0dHJzLCBOXygidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiKSksCi0JT1BUX0JPT0xFQU4oMCAsICJzdGRpbiIsICZzdGRpbl9wYXRocywgTl8oInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIikpLAotCU9QVF9CT09MRUFOKCd6JywgTlVMTCwgJm51bGxfdGVybV9saW5lLAotCQlOXygiaW5wdXQgcGF0aHMgYXJlIHRlcm1pbmF0ZWQgYnkgYSBudWxsIGNoYXJhY3RlciIpKSwKKwlPUFRfQk9PTCgnYScsICJhbGwiLCAmYWxsX2F0dHJzLCBOXygicmVwb3J0IGFsbCBhdHRyaWJ1dGVzIHNldCBvbiBmaWxlIikpLAorCU9QVF9CT09MKDAsICAiY2FjaGVkIiwgJmNhY2hlZF9hdHRycywgTl8oInVzZSAuZ2l0YXR0cmlidXRlcyBvbmx5IGZyb20gdGhlIGluZGV4IikpLAorCU9QVF9CT09MKDAgLCAic3RkaW4iLCAmc3RkaW5fcGF0aHMsIE5fKCJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIpKSwKKwlPUFRfQk9PTCgneicsIE5VTEwsICZudWxfdGVybV9saW5lLAorCQkgTl8oInRlcm1pbmF0ZSBpbnB1dCBhbmQgb3V0cHV0IHJlY29yZHMgYnkgYSBOVUwgY2hhcmFjdGVyIikpLAogCU9QVF9FTkQoKQogfTsKIApAQCAtMzgsOCArMzgsMTYgQEAKIAkJZWxzZSBpZiAoQVRUUl9VTlNFVCh2YWx1ZSkpCiAJCQl2YWx1ZSA9ICJ1bnNwZWNpZmllZCI7CiAKLQkJcXVvdGVfY19zdHlsZShmaWxlLCBOVUxMLCBzdGRvdXQsIDApOwotCQlwcmludGYoIjogJXM6ICVzXG4iLCBnaXRfYXR0cl9uYW1lKGNoZWNrW2pdLmF0dHIpLCB2YWx1ZSk7CisJCWlmIChudWxfdGVybV9saW5lKSB7CisJCQlwcmludGYoIiVzJWMiIC8qIHBhdGggKi8KKwkJCSAgICAgICAiJXMlYyIgLyogYXR0cm5hbWUgKi8KKwkJCSAgICAgICAiJXMlYyIgLyogYXR0cnZhbHVlICovLAorCQkJICAgICAgIGZpbGUsIDAsIGdpdF9hdHRyX25hbWUoY2hlY2tbal0uYXR0ciksIDAsIHZhbHVlLCAwKTsKKwkJfSBlbHNlIHsKKwkJCXF1b3RlX2Nfc3R5bGUoZmlsZSwgTlVMTCwgc3Rkb3V0LCAwKTsKKwkJCXByaW50ZigiOiAlczogJXNcbiIsIGdpdF9hdHRyX25hbWUoY2hlY2tbal0uYXR0ciksIHZhbHVlKTsKKwkJfQorCiAJfQogfQogCkBAIC02NSw3ICs3Myw3IEBACiAJc3RydWN0IGdpdF9hdHRyX2NoZWNrICpjaGVjaykKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiwgbmJ1ZjsKLQlpbnQgbGluZV90ZXJtaW5hdGlvbiA9IG51bGxfdGVybV9saW5lID8gMCA6ICdcbic7CisJaW50IGxpbmVfdGVybWluYXRpb24gPSBudWxfdGVybV9saW5lID8gMCA6ICdcbic7CiAKIAlzdHJidWZfaW5pdCgmYnVmLCAwKTsKIAlzdHJidWZfaW5pdCgmbmJ1ZiwgMCk7CmRpZmYgLS1naXQgYS9idWlsdGluL2NoZWNrLWlnbm9yZS5jIGIvYnVpbHRpbi9jaGVjay1pZ25vcmUuYwppbmRleCA0YThmYzcwLi41OTQ0NjNhIDEwMDY0NAotLS0gYS9idWlsdGluL2NoZWNrLWlnbm9yZS5jCisrKyBiL2J1aWx0aW4vY2hlY2staWdub3JlLmMKQEAgLTUsMjUgKzUsMjcgQEAKICNpbmNsdWRlICJwYXRoc3BlYy5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKIAotc3RhdGljIGludCBxdWlldCwgdmVyYm9zZSwgc3RkaW5fcGF0aHMsIHNob3dfbm9uX21hdGNoaW5nOworc3RhdGljIGludCBxdWlldCwgdmVyYm9zZSwgc3RkaW5fcGF0aHMsIHNob3dfbm9uX21hdGNoaW5nLCBub19pbmRleDsKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgY2hlY2tfaWdub3JlX3VzYWdlW10gPSB7CiAiZ2l0IGNoZWNrLWlnbm9yZSBbb3B0aW9uc10gcGF0aG5hbWUuLi4iLAogImdpdCBjaGVjay1pZ25vcmUgW29wdGlvbnNdIC0tc3RkaW4gPCA8bGlzdC1vZi1wYXRocz4iLAogTlVMTAogfTsKIAotc3RhdGljIGludCBudWxsX3Rlcm1fbGluZTsKK3N0YXRpYyBpbnQgbnVsX3Rlcm1fbGluZTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gY2hlY2tfaWdub3JlX29wdGlvbnNbXSA9IHsKIAlPUFRfX1FVSUVUKCZxdWlldCwgTl8oInN1cHByZXNzIHByb2dyZXNzIHJlcG9ydGluZyIpKSwKIAlPUFRfX1ZFUkJPU0UoJnZlcmJvc2UsIE5fKCJiZSB2ZXJib3NlIikpLAogCU9QVF9HUk9VUCgiIiksCi0JT1BUX0JPT0xFQU4oMCwgInN0ZGluIiwgJnN0ZGluX3BhdGhzLAotCQkgICAgTl8oInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIikpLAotCU9QVF9CT09MRUFOKCd6JywgTlVMTCwgJm51bGxfdGVybV9saW5lLAotCQkgICAgTl8oImlucHV0IHBhdGhzIGFyZSB0ZXJtaW5hdGVkIGJ5IGEgbnVsbCBjaGFyYWN0ZXIiKSksCi0JT1BUX0JPT0xFQU4oJ24nLCAibm9uLW1hdGNoaW5nIiwgJnNob3dfbm9uX21hdGNoaW5nLAotCQkgICAgTl8oInNob3cgbm9uLW1hdGNoaW5nIGlucHV0IHBhdGhzIikpLAorCU9QVF9CT09MKDAsICJzdGRpbiIsICZzdGRpbl9wYXRocywKKwkJIE5fKCJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIpKSwKKwlPUFRfQk9PTCgneicsIE5VTEwsICZudWxfdGVybV9saW5lLAorCQkgTl8oInRlcm1pbmF0ZSBpbnB1dCBhbmQgb3V0cHV0IHJlY29yZHMgYnkgYSBOVUwgY2hhcmFjdGVyIikpLAorCU9QVF9CT09MKCduJywgIm5vbi1tYXRjaGluZyIsICZzaG93X25vbl9tYXRjaGluZywKKwkJIE5fKCJzaG93IG5vbi1tYXRjaGluZyBpbnB1dCBwYXRocyIpKSwKKwlPUFRfQk9PTCgwLCAibm8taW5kZXgiLCAmbm9faW5kZXgsCisJCSBOXygiaWdub3JlIGluZGV4IHdoZW4gY2hlY2tpbmciKSksCiAJT1BUX0VORCgpCiB9OwogCkBAIC0zMSw3ICszMyw3IEBACiB7CiAJY2hhciAqYmFuZyAgPSAoZXhjbHVkZSAmJiBleGNsdWRlLT5mbGFncyAmIEVYQ19GTEFHX05FR0FUSVZFKSAgPyAiISIgOiAiIjsKIAljaGFyICpzbGFzaCA9IChleGNsdWRlICYmIGV4Y2x1ZGUtPmZsYWdzICYgRVhDX0ZMQUdfTVVTVEJFRElSKSA/ICIvIiA6ICIiOwotCWlmICghbnVsbF90ZXJtX2xpbmUpIHsKKwlpZiAoIW51bF90ZXJtX2xpbmUpIHsKIAkJaWYgKCF2ZXJib3NlKSB7CiAJCQl3cml0ZV9uYW1lX3F1b3RlZChwYXRoLCBzdGRvdXQsICdcbicpOwogCQl9IGVsc2UgewpAQCAtNjQsMzcgKzY2LDQ1IEBACiB9CiAKIHN0YXRpYyBpbnQgY2hlY2tfaWdub3JlKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsCi0JCQljb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKipwYXRoc3BlYykKKwkJCWNvbnN0IGNoYXIgKnByZWZpeCwgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogewotCWNvbnN0IGNoYXIgKnBhdGgsICpmdWxsX3BhdGg7CisJY29uc3QgY2hhciAqZnVsbF9wYXRoOwogCWNoYXIgKnNlZW47CiAJaW50IG51bV9pZ25vcmVkID0gMCwgZHR5cGUgPSBEVF9VTktOT1dOLCBpOwogCXN0cnVjdCBleGNsdWRlICpleGNsdWRlOworCXN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKIAotCWlmICghcGF0aHNwZWMgfHwgISpwYXRoc3BlYykgeworCWlmICghYXJnYykgewogCQlpZiAoIXF1aWV0KQogCQkJZnByaW50ZihzdGRlcnIsICJubyBwYXRoc3BlYyBnaXZlbi5cbiIpOwogCQlyZXR1cm4gMDsKIAl9CiAKIAkvKgorCSAqIGNoZWNrLWlnbm9yZSBqdXN0IG5lZWRzIHBhdGhzLiBNYWdpYyBiZXlvbmQgOi8gaXMgcmVhbGx5CisJICogaXJyZWxldmFudC4KKwkgKi8KKwlwYXJzZV9wYXRoc3BlYygmcGF0aHNwZWMsCisJCSAgICAgICBQQVRIU1BFQ19BTExfTUFHSUMgJiB+UEFUSFNQRUNfRlJPTVRPUCwKKwkJICAgICAgIFBBVEhTUEVDX1NZTUxJTktfTEVBRElOR19QQVRIIHwKKwkJICAgICAgIFBBVEhTUEVDX1NUUklQX1NVQk1PRFVMRV9TTEFTSF9FWFBFTlNJVkUgfAorCQkgICAgICAgUEFUSFNQRUNfS0VFUF9PUkRFUiwKKwkJICAgICAgIHByZWZpeCwgYXJndik7CisKKwkvKgogCSAqIGxvb2sgZm9yIHBhdGhzcGVjcyBtYXRjaGluZyBlbnRyaWVzIGluIHRoZSBpbmRleCwgc2luY2UgdGhlc2UKIAkgKiBzaG91bGQgbm90IGJlIGlnbm9yZWQsIGluIG9yZGVyIHRvIGJlIGNvbnNpc3RlbnQgd2l0aAogCSAqICdnaXQgc3RhdHVzJywgJ2dpdCBhZGQnIGV0Yy4KIAkgKi8KLQlzZWVuID0gZmluZF9wYXRoc3BlY3NfbWF0Y2hpbmdfYWdhaW5zdF9pbmRleChwYXRoc3BlYyk7Ci0JZm9yIChpID0gMDsgcGF0aHNwZWNbaV07IGkrKykgewotCQlwYXRoID0gcGF0aHNwZWNbaV07Ci0JCWZ1bGxfcGF0aCA9IHByZWZpeF9wYXRoKHByZWZpeCwgcHJlZml4Ci0JCQkJCT8gc3RybGVuKHByZWZpeCkgOiAwLCBwYXRoKTsKLQkJZnVsbF9wYXRoID0gY2hlY2tfcGF0aF9mb3JfZ2l0bGluayhmdWxsX3BhdGgpOwotCQlkaWVfaWZfcGF0aF9iZXlvbmRfc3ltbGluayhmdWxsX3BhdGgsIHByZWZpeCk7CisJc2VlbiA9IGZpbmRfcGF0aHNwZWNzX21hdGNoaW5nX2FnYWluc3RfaW5kZXgoJnBhdGhzcGVjKTsKKwlmb3IgKGkgPSAwOyBpIDwgcGF0aHNwZWMubnI7IGkrKykgeworCQlmdWxsX3BhdGggPSBwYXRoc3BlYy5pdGVtc1tpXS5tYXRjaDsKIAkJZXhjbHVkZSA9IE5VTEw7CiAJCWlmICghc2VlbltpXSkgewogCQkJZXhjbHVkZSA9IGxhc3RfZXhjbHVkZV9tYXRjaGluZyhkaXIsIGZ1bGxfcGF0aCwgJmR0eXBlKTsKIAkJfQogCQlpZiAoIXF1aWV0ICYmIChleGNsdWRlIHx8IHNob3dfbm9uX21hdGNoaW5nKSkKLQkJCW91dHB1dF9leGNsdWRlKHBhdGgsIGV4Y2x1ZGUpOworCQkJb3V0cHV0X2V4Y2x1ZGUocGF0aHNwZWMuaXRlbXNbaV0ub3JpZ2luYWwsIGV4Y2x1ZGUpOwogCQlpZiAoZXhjbHVkZSkKIAkJCW51bV9pZ25vcmVkKys7CiAJfQpAQCAtMTA3LDcgKzExNyw3IEBACiB7CiAJc3RydWN0IHN0cmJ1ZiBidWYsIG5idWY7CiAJY2hhciAqcGF0aHNwZWNbMl0gPSB7IE5VTEwsIE5VTEwgfTsKLQlpbnQgbGluZV90ZXJtaW5hdGlvbiA9IG51bGxfdGVybV9saW5lID8gMCA6ICdcbic7CisJaW50IGxpbmVfdGVybWluYXRpb24gPSBudWxfdGVybV9saW5lID8gMCA6ICdcbic7CiAJaW50IG51bV9pZ25vcmVkID0gMDsKIAogCXN0cmJ1Zl9pbml0KCZidWYsIDApOwpAQCAtMTIwLDcgKzEzMCw4IEBACiAJCQlzdHJidWZfc3dhcCgmYnVmLCAmbmJ1Zik7CiAJCX0KIAkJcGF0aHNwZWNbMF0gPSBidWYuYnVmOwotCQludW1faWdub3JlZCArPSBjaGVja19pZ25vcmUoZGlyLCBwcmVmaXgsIChjb25zdCBjaGFyICoqKXBhdGhzcGVjKTsKKwkJbnVtX2lnbm9yZWQgKz0gY2hlY2tfaWdub3JlKGRpciwgcHJlZml4LAorCQkJCQkgICAgMSwgKGNvbnN0IGNoYXIgKiopcGF0aHNwZWMpOwogCQltYXliZV9mbHVzaF9vcl9kaWUoc3Rkb3V0LCAiY2hlY2staWdub3JlIHRvIHN0ZG91dCIpOwogCX0KIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKQEAgLTE0Miw3ICsxNTMsNyBAQAogCQlpZiAoYXJnYyA+IDApCiAJCQlkaWUoXygiY2Fubm90IHNwZWNpZnkgcGF0aG5hbWVzIHdpdGggLS1zdGRpbiIpKTsKIAl9IGVsc2UgewotCQlpZiAobnVsbF90ZXJtX2xpbmUpCisJCWlmIChudWxfdGVybV9saW5lKQogCQkJZGllKF8oIi16IG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCAtLXN0ZGluIikpOwogCQlpZiAoYXJnYyA9PSAwKQogCQkJZGllKF8oIm5vIHBhdGggc3BlY2lmaWVkIikpOwpAQCAtMTU3LDcgKzE2OCw3IEBACiAJCWRpZShfKCItLW5vbi1tYXRjaGluZyBpcyBvbmx5IHZhbGlkIHdpdGggLS12ZXJib3NlIikpOwogCiAJLyogcmVhZF9jYWNoZSgpIGlzIG9ubHkgbmVjZXNzYXJ5IHNvIHdlIGNhbiB3YXRjaCBvdXQgZm9yIHN1Ym1vZHVsZXMuICovCi0JaWYgKHJlYWRfY2FjaGUoKSA8IDApCisJaWYgKCFub19pbmRleCAmJiByZWFkX2NhY2hlKCkgPCAwKQogCQlkaWUoXygiaW5kZXggZmlsZSBjb3JydXB0IikpOwogCiAJbWVtc2V0KCZkaXIsIDAsIHNpemVvZihkaXIpKTsKQEAgLTE2Niw3ICsxNzcsNyBAQAogCWlmIChzdGRpbl9wYXRocykgewogCQludW1faWdub3JlZCA9IGNoZWNrX2lnbm9yZV9zdGRpbl9wYXRocygmZGlyLCBwcmVmaXgpOwogCX0gZWxzZSB7Ci0JCW51bV9pZ25vcmVkID0gY2hlY2tfaWdub3JlKCZkaXIsIHByZWZpeCwgYXJndik7CisJCW51bV9pZ25vcmVkID0gY2hlY2tfaWdub3JlKCZkaXIsIHByZWZpeCwgYXJnYywgYXJndik7CiAJCW1heWJlX2ZsdXNoX29yX2RpZShzdGRvdXQsICJpZ25vcmUgdG8gc3Rkb3V0Iik7CiAJfQogCmRpZmYgLS1naXQgYS9idWlsdGluL2NoZWNrb3V0LWluZGV4LmMgYi9idWlsdGluL2NoZWNrb3V0LWluZGV4LmMKaW5kZXggYjFmZWRhNy4uNjFlNzVlYiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jaGVja291dC1pbmRleC5jCisrKyBiL2J1aWx0aW4vY2hlY2tvdXQtaW5kZXguYwpAQCAtMTQsNyArMTQsNyBAQAogc3RhdGljIGludCBsaW5lX3Rlcm1pbmF0aW9uID0gJ1xuJzsKIHN0YXRpYyBpbnQgY2hlY2tvdXRfc3RhZ2U7IC8qIGRlZmF1bHQgdG8gY2hlY2tvdXQgc3RhZ2UwICovCiBzdGF0aWMgaW50IHRvX3RlbXBmaWxlOwotc3RhdGljIGNoYXIgdG9wYXRoWzRdW1BBVEhfTUFYICsgMV07CitzdGF0aWMgY2hhciB0b3BhdGhbNF1bVEVNUE9SQVJZX0ZJTEVOQU1FX0xFTkdUSCArIDFdOwogCiBzdGF0aWMgc3RydWN0IGNoZWNrb3V0IHN0YXRlOwogCkBAIC0xODMsMTIgKzE4MywxMiBAQAogCWludCBwcmVmaXhfbGVuZ3RoOwogCWludCBmb3JjZSA9IDAsIHF1aWV0ID0gMCwgbm90X25ldyA9IDA7CiAJc3RydWN0IG9wdGlvbiBidWlsdGluX2NoZWNrb3V0X2luZGV4X29wdGlvbnNbXSA9IHsKLQkJT1BUX0JPT0xFQU4oJ2EnLCAiYWxsIiwgJmFsbCwKKwkJT1BUX0JPT0woJ2EnLCAiYWxsIiwgJmFsbCwKIAkJCU5fKCJjaGVjayBvdXQgYWxsIGZpbGVzIGluIHRoZSBpbmRleCIpKSwKIAkJT1BUX19GT1JDRSgmZm9yY2UsIE5fKCJmb3JjZSBvdmVyd3JpdGUgb2YgZXhpc3RpbmcgZmlsZXMiKSksCiAJCU9QVF9fUVVJRVQoJnF1aWV0LAogCQkJTl8oIm5vIHdhcm5pbmcgZm9yIGV4aXN0aW5nIGZpbGVzIGFuZCBmaWxlcyBub3QgaW4gaW5kZXgiKSksCi0JCU9QVF9CT09MRUFOKCduJywgIm5vLWNyZWF0ZSIsICZub3RfbmV3LAorCQlPUFRfQk9PTCgnbicsICJuby1jcmVhdGUiLCAmbm90X25ldywKIAkJCU5fKCJkb24ndCBjaGVja291dCBuZXcgZmlsZXMiKSksCiAJCXsgT1BUSU9OX0NBTExCQUNLLCAndScsICJpbmRleCIsICZuZXdmZCwgTlVMTCwKIAkJCU5fKCJ1cGRhdGUgc3RhdCBpbmZvcm1hdGlvbiBpbiB0aGUgaW5kZXggZmlsZSIpLApAQCAtMTk2LDkgKzE5Niw5IEBACiAJCXsgT1BUSU9OX0NBTExCQUNLLCAneicsIE5VTEwsIE5VTEwsIE5VTEwsCiAJCQlOXygicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiKSwKIAkJCVBBUlNFX09QVF9OT0FSRywgb3B0aW9uX3BhcnNlX3ogfSwKLQkJT1BUX0JPT0xFQU4oMCwgInN0ZGluIiwgJnJlYWRfZnJvbV9zdGRpbiwKKwkJT1BUX0JPT0woMCwgInN0ZGluIiwgJnJlYWRfZnJvbV9zdGRpbiwKIAkJCU5fKCJyZWFkIGxpc3Qgb2YgcGF0aHMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiKSksCi0JCU9QVF9CT09MRUFOKDAsICJ0ZW1wIiwgJnRvX3RlbXBmaWxlLAorCQlPUFRfQk9PTCgwLCAidGVtcCIsICZ0b190ZW1wZmlsZSwKIAkJCU5fKCJ3cml0ZSB0aGUgY29udGVudCB0byB0ZW1wb3JhcnkgZmlsZXMiKSksCiAJCU9QVF9DQUxMQkFDSygwLCAicHJlZml4IiwgTlVMTCwgTl8oInN0cmluZyIpLAogCQkJTl8oIndoZW4gY3JlYXRpbmcgZmlsZXMsIHByZXBlbmQgPHN0cmluZz4iKSwKZGlmZiAtLWdpdCBhL2J1aWx0aW4vY2hlY2tvdXQuYyBiL2J1aWx0aW4vY2hlY2tvdXQuYwppbmRleCAyMmNjN2ZjLi41NGY4MGJkIDEwMDY0NAotLS0gYS9idWlsdGluL2NoZWNrb3V0LmMKKysrIGIvYnVpbHRpbi9jaGVja291dC5jCkBAIC00Niw3ICs0Niw3IEBACiAKIAlpbnQgYnJhbmNoX2V4aXN0czsKIAljb25zdCBjaGFyICpwcmVmaXg7Ci0JY29uc3QgY2hhciAqKnBhdGhzcGVjOworCXN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKIAlzdHJ1Y3QgdHJlZSAqc291cmNlX3RyZWU7CiB9OwogCkBAIC04MywxMiArODMsOSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHJlYWRfdHJlZV9zb21lKHN0cnVjdCB0cmVlICp0cmVlLCBjb25zdCBjaGFyICoqcGF0aHNwZWMpCitzdGF0aWMgaW50IHJlYWRfdHJlZV9zb21lKHN0cnVjdCB0cmVlICp0cmVlLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewotCXN0cnVjdCBwYXRoc3BlYyBwczsKLQlpbml0X3BhdGhzcGVjKCZwcywgcGF0aHNwZWMpOwotCXJlYWRfdHJlZV9yZWN1cnNpdmUodHJlZSwgIiIsIDAsIDAsICZwcywgdXBkYXRlX3NvbWUsIE5VTEwpOwotCWZyZWVfcGF0aHNwZWMoJnBzKTsKKwlyZWFkX3RyZWVfcmVjdXJzaXZlKHRyZWUsICIiLCAwLCAwLCBwYXRoc3BlYywgdXBkYXRlX3NvbWUsIE5VTEwpOwogCiAJLyogdXBkYXRlIHRoZSBpbmRleCB3aXRoIHRoZSBnaXZlbiB0cmVlJ3MgaW5mbwogCSAqIGZvciBhbGwgYXJncywgZXhwYW5kaW5nIHdpbGRjYXJkcywgYW5kIGV4aXQKQEAgLTIyOCw4ICsyMjUsNiBAQAogCWludCBmbGFnOwogCXN0cnVjdCBjb21taXQgKmhlYWQ7CiAJaW50IGVycnMgPSAwOwotCWludCBzdGFnZSA9IG9wdHMtPndyaXRlb3V0X3N0YWdlOwotCWludCBtZXJnZSA9IG9wdHMtPm1lcmdlOwogCWludCBuZXdmZDsKIAlzdHJ1Y3QgbG9ja19maWxlICpsb2NrX2ZpbGU7CiAKQEAgLTI1NywyMCArMjUyLDE4IEBACiAKIAlpZiAob3B0cy0+cGF0Y2hfbW9kZSkKIAkJcmV0dXJuIHJ1bl9hZGRfaW50ZXJhY3RpdmUocmV2aXNpb24sICItLXBhdGNoPWNoZWNrb3V0IiwKLQkJCQkJICAgb3B0cy0+cGF0aHNwZWMpOworCQkJCQkgICAmb3B0cy0+cGF0aHNwZWMpOwogCiAJbG9ja19maWxlID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGxvY2tfZmlsZSkpOwogCiAJbmV3ZmQgPSBob2xkX2xvY2tlZF9pbmRleChsb2NrX2ZpbGUsIDEpOwotCWlmIChyZWFkX2NhY2hlX3ByZWxvYWQob3B0cy0+cGF0aHNwZWMpIDwgMCkKKwlpZiAocmVhZF9jYWNoZV9wcmVsb2FkKCZvcHRzLT5wYXRoc3BlYykgPCAwKQogCQlyZXR1cm4gZXJyb3IoXygiY29ycnVwdCBpbmRleCBmaWxlIikpOwogCiAJaWYgKG9wdHMtPnNvdXJjZV90cmVlKQotCQlyZWFkX3RyZWVfc29tZShvcHRzLT5zb3VyY2VfdHJlZSwgb3B0cy0+cGF0aHNwZWMpOworCQlyZWFkX3RyZWVfc29tZShvcHRzLT5zb3VyY2VfdHJlZSwgJm9wdHMtPnBhdGhzcGVjKTsKIAotCWZvciAocG9zID0gMDsgb3B0cy0+cGF0aHNwZWNbcG9zXTsgcG9zKyspCi0JCTsKLQlwc19tYXRjaGVkID0geGNhbGxvYygxLCBwb3MpOworCXBzX21hdGNoZWQgPSB4Y2FsbG9jKDEsIG9wdHMtPnBhdGhzcGVjLm5yKTsKIAogCS8qCiAJICogTWFrZSBzdXJlIGFsbCBwYXRoc3BlY3MgcGFydGljaXBhdGVkIGluIGxvY2F0aW5nIHRoZSBwYXRocwpAQCAtMzA0LDEyICsyOTcsMTIgQEAKIAkJICogbWF0Y2hfcGF0aHNwZWMoKSBmb3IgX2FsbF8gZW50cmllcyB3aGVuCiAJCSAqIG9wdHMtPnNvdXJjZV90cmVlICE9IE5VTEwuCiAJCSAqLwotCQlpZiAobWF0Y2hfcGF0aHNwZWMob3B0cy0+cGF0aHNwZWMsIGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSwKKwkJaWYgKG1hdGNoX3BhdGhzcGVjX2RlcHRoKCZvcHRzLT5wYXRoc3BlYywgY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpLAogCQkJCSAgIDAsIHBzX21hdGNoZWQpKQogCQkJY2UtPmNlX2ZsYWdzIHw9IENFX01BVENIRUQ7CiAJfQogCi0JaWYgKHJlcG9ydF9wYXRoX2Vycm9yKHBzX21hdGNoZWQsIG9wdHMtPnBhdGhzcGVjLCBvcHRzLT5wcmVmaXgpKSB7CisJaWYgKHJlcG9ydF9wYXRoX2Vycm9yKHBzX21hdGNoZWQsICZvcHRzLT5wYXRoc3BlYywgb3B0cy0+cHJlZml4KSkgewogCQlmcmVlKHBzX21hdGNoZWQpOwogCQlyZXR1cm4gMTsKIAl9CkBAIC0zMjcsOCArMzIwLDggQEAKIAkJCQljb250aW51ZTsKIAkJCWlmIChvcHRzLT5mb3JjZSkgewogCQkJCXdhcm5pbmcoXygicGF0aCAnJXMnIGlzIHVubWVyZ2VkIiksIGNlLT5uYW1lKTsKLQkJCX0gZWxzZSBpZiAoc3RhZ2UpIHsKLQkJCQllcnJzIHw9IGNoZWNrX3N0YWdlKHN0YWdlLCBjZSwgcG9zKTsKKwkJCX0gZWxzZSBpZiAob3B0cy0+d3JpdGVvdXRfc3RhZ2UpIHsKKwkJCQllcnJzIHw9IGNoZWNrX3N0YWdlKG9wdHMtPndyaXRlb3V0X3N0YWdlLCBjZSwgcG9zKTsKIAkJCX0gZWxzZSBpZiAob3B0cy0+bWVyZ2UpIHsKIAkJCQllcnJzIHw9IGNoZWNrX3N0YWdlcygoMTw8MikgfCAoMTw8MyksIGNlLCBwb3MpOwogCQkJfSBlbHNlIHsKQEAgLTM1Miw5ICszNDUsOSBAQAogCQkJCWVycnMgfD0gY2hlY2tvdXRfZW50cnkoY2UsICZzdGF0ZSwgTlVMTCk7CiAJCQkJY29udGludWU7CiAJCQl9Ci0JCQlpZiAoc3RhZ2UpCi0JCQkJZXJycyB8PSBjaGVja291dF9zdGFnZShzdGFnZSwgY2UsIHBvcywgJnN0YXRlKTsKLQkJCWVsc2UgaWYgKG1lcmdlKQorCQkJaWYgKG9wdHMtPndyaXRlb3V0X3N0YWdlKQorCQkJCWVycnMgfD0gY2hlY2tvdXRfc3RhZ2Uob3B0cy0+d3JpdGVvdXRfc3RhZ2UsIGNlLCBwb3MsICZzdGF0ZSk7CisJCQllbHNlIGlmIChvcHRzLT5tZXJnZSkKIAkJCQllcnJzIHw9IGNoZWNrb3V0X21lcmdlZChwb3MsICZzdGF0ZSk7CiAJCQlwb3MgPSBza2lwX3NhbWVfbmFtZShjZSwgcG9zKSAtIDE7CiAJCX0KQEAgLTEwNDUsNyArMTAzOCw3IEBACiBzdGF0aWMgaW50IGNoZWNrb3V0X2JyYW5jaChzdHJ1Y3QgY2hlY2tvdXRfb3B0cyAqb3B0cywKIAkJCSAgIHN0cnVjdCBicmFuY2hfaW5mbyAqbmV3KQogewotCWlmIChvcHRzLT5wYXRoc3BlYykKKwlpZiAob3B0cy0+cGF0aHNwZWMubnIpCiAJCWRpZShfKCJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIpKTsKIAogCWlmIChvcHRzLT5wYXRjaF9tb2RlKQpAQCAtMTA5OSw4ICsxMDkyLDggQEAKIAkJCSAgIE5fKCJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIpKSwKIAkJT1BUX1NUUklORygnQicsIE5VTEwsICZvcHRzLm5ld19icmFuY2hfZm9yY2UsIE5fKCJicmFuY2giKSwKIAkJCSAgIE5fKCJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIikpLAotCQlPUFRfQk9PTEVBTignbCcsIE5VTEwsICZvcHRzLm5ld19icmFuY2hfbG9nLCBOXygiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImRldGFjaCIsICZvcHRzLmZvcmNlX2RldGFjaCwgTl8oImRldGFjaCB0aGUgSEVBRCBhdCBuYW1lZCBjb21taXQiKSksCisJCU9QVF9CT09MKCdsJywgTlVMTCwgJm9wdHMubmV3X2JyYW5jaF9sb2csIE5fKCJjcmVhdGUgcmVmbG9nIGZvciBuZXcgYnJhbmNoIikpLAorCQlPUFRfQk9PTCgwLCAiZGV0YWNoIiwgJm9wdHMuZm9yY2VfZGV0YWNoLCBOXygiZGV0YWNoIHRoZSBIRUFEIGF0IG5hbWVkIGNvbW1pdCIpKSwKIAkJT1BUX1NFVF9JTlQoJ3QnLCAidHJhY2siLCAgJm9wdHMudHJhY2ssIE5fKCJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIpLAogCQkJQlJBTkNIX1RSQUNLX0VYUExJQ0lUKSwKIAkJT1BUX1NUUklORygwLCAib3JwaGFuIiwgJm9wdHMubmV3X29ycGhhbl9icmFuY2gsIE5fKCJuZXcgYnJhbmNoIiksIE5fKCJuZXcgdW5wYXJlbnRlZCBicmFuY2giKSksCkBAIC0xMTA5LDE2ICsxMTAyLDE1IEBACiAJCU9QVF9TRVRfSU5UKCczJywgInRoZWlycyIsICZvcHRzLndyaXRlb3V0X3N0YWdlLCBOXygiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiKSwKIAkJCSAgICAzKSwKIAkJT1BUX19GT1JDRSgmb3B0cy5mb3JjZSwgTl8oImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIikpLAotCQlPUFRfQk9PTEVBTignbScsICJtZXJnZSIsICZvcHRzLm1lcmdlLCBOXygicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giKSksCi0JCU9QVF9CT09MRUFOKDAsICJvdmVyd3JpdGUtaWdub3JlIiwgJm9wdHMub3ZlcndyaXRlX2lnbm9yZSwgTl8oInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIpKSwKKwkJT1BUX0JPT0woJ20nLCAibWVyZ2UiLCAmb3B0cy5tZXJnZSwgTl8oInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIikpLAorCQlPUFRfQk9PTCgwLCAib3ZlcndyaXRlLWlnbm9yZSIsICZvcHRzLm92ZXJ3cml0ZV9pZ25vcmUsIE5fKCJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiKSksCiAJCU9QVF9TVFJJTkcoMCwgImNvbmZsaWN0IiwgJmNvbmZsaWN0X3N0eWxlLCBOXygic3R5bGUiKSwKIAkJCSAgIE5fKCJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIikpLAotCQlPUFRfQk9PTEVBTigncCcsICJwYXRjaCIsICZvcHRzLnBhdGNoX21vZGUsIE5fKCJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIpKSwKKwkJT1BUX0JPT0woJ3AnLCAicGF0Y2giLCAmb3B0cy5wYXRjaF9tb2RlLCBOXygic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiKSksCiAJCU9QVF9CT09MKDAsICJpZ25vcmUtc2tpcC13b3JrdHJlZS1iaXRzIiwgJm9wdHMuaWdub3JlX3NraXB3b3JrdHJlZSwKIAkJCSBOXygiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IikpLAotCQl7IE9QVElPTl9CT09MRUFOLCAwLCAiZ3Vlc3MiLCAmZHdpbV9uZXdfbG9jYWxfYnJhbmNoLCBOVUxMLAotCQkgIE5fKCJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCBuby1zdWNoLWJyYW5jaCciKSwKLQkJICBQQVJTRV9PUFRfTk9BUkcgfCBQQVJTRV9PUFRfSElEREVOIH0sCisJCU9QVF9ISURERU5fQk9PTCgwLCAiZ3Vlc3MiLCAmZHdpbV9uZXdfbG9jYWxfYnJhbmNoLAorCQkJCU5fKCJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCBuby1zdWNoLWJyYW5jaCciKSksCiAJCU9QVF9FTkQoKSwKIAl9OwogCkBAIC0xMTk3LDkgKzExODksMTEgQEAKIAl9CiAKIAlpZiAoYXJnYykgewotCQlvcHRzLnBhdGhzcGVjID0gZ2V0X3BhdGhzcGVjKHByZWZpeCwgYXJndik7CisJCXBhcnNlX3BhdGhzcGVjKCZvcHRzLnBhdGhzcGVjLCAwLAorCQkJICAgICAgIG9wdHMucGF0Y2hfbW9kZSA/IFBBVEhTUEVDX1BSRUZJWF9PUklHSU4gOiAwLAorCQkJICAgICAgIHByZWZpeCwgYXJndik7CiAKLQkJaWYgKCFvcHRzLnBhdGhzcGVjKQorCQlpZiAoIW9wdHMucGF0aHNwZWMubnIpCiAJCQlkaWUoXygiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iKSk7CiAKIAkJLyoKQEAgLTEyMzEsNyArMTIyNSw3IEBACiAJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCX0KIAotCWlmIChvcHRzLnBhdGNoX21vZGUgfHwgb3B0cy5wYXRoc3BlYykKKwlpZiAob3B0cy5wYXRjaF9tb2RlIHx8IG9wdHMucGF0aHNwZWMubnIpCiAJCXJldHVybiBjaGVja291dF9wYXRocygmb3B0cywgbmV3Lm5hbWUpOwogCWVsc2UKIAkJcmV0dXJuIGNoZWNrb3V0X2JyYW5jaCgmb3B0cywgJm5ldyk7CmRpZmYgLS1naXQgYS9idWlsdGluL2NsZWFuLmMgYi9idWlsdGluL2NsZWFuLmMKaW5kZXggM2M4NWUxNS4uNjE1Y2Q1NyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jbGVhbi5jCisrKyBiL2J1aWx0aW4vY2xlYW4uYwpAQCAtMTUsNiArMTUsNyBAQAogI2luY2x1ZGUgInF1b3RlLmgiCiAjaW5jbHVkZSAiY29sdW1uLmgiCiAjaW5jbHVkZSAiY29sb3IuaCIKKyNpbmNsdWRlICJwYXRoc3BlYy5oIgogCiBzdGF0aWMgaW50IGZvcmNlID0gLTE7IC8qIHVuc2V0ICovCiBzdGF0aWMgaW50IGludGVyYWN0aXZlOwpAQCAtODYzLDI0ICs4NjQsMjMgQEAKIAlpbnQgcm1fZmxhZ3MgPSBSRU1PVkVfRElSX0tFRVBfTkVTVEVEX0dJVDsKIAlzdHJ1Y3Qgc3RyYnVmIGFic19wYXRoID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IGRpcl9zdHJ1Y3QgZGlyOwotCXN0YXRpYyBjb25zdCBjaGFyICoqcGF0aHNwZWM7CisJc3RydWN0IHBhdGhzcGVjIHBhdGhzcGVjOwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0cmluZ19saXN0IGV4Y2x1ZGVfbGlzdCA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiAJc3RydWN0IGV4Y2x1ZGVfbGlzdCAqZWw7CiAJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CiAJY29uc3QgY2hhciAqcW5hbWU7Ci0JY2hhciAqc2VlbiA9IE5VTEw7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CiAJCU9QVF9fUVVJRVQoJnF1aWV0LCBOXygiZG8gbm90IHByaW50IG5hbWVzIG9mIGZpbGVzIHJlbW92ZWQiKSksCiAJCU9QVF9fRFJZX1JVTigmZHJ5X3J1biwgTl8oImRyeSBydW4iKSksCiAJCU9QVF9fRk9SQ0UoJmZvcmNlLCBOXygiZm9yY2UiKSksCiAJCU9QVF9CT09MKCdpJywgImludGVyYWN0aXZlIiwgJmludGVyYWN0aXZlLCBOXygiaW50ZXJhY3RpdmUgY2xlYW5pbmciKSksCi0JCU9QVF9CT09MRUFOKCdkJywgTlVMTCwgJnJlbW92ZV9kaXJlY3RvcmllcywKKwkJT1BUX0JPT0woJ2QnLCBOVUxMLCAmcmVtb3ZlX2RpcmVjdG9yaWVzLAogCQkJCU5fKCJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiKSksCiAJCXsgT1BUSU9OX0NBTExCQUNLLCAnZScsICJleGNsdWRlIiwgJmV4Y2x1ZGVfbGlzdCwgTl8oInBhdHRlcm4iKSwKIAkJICBOXygiYWRkIDxwYXR0ZXJuPiB0byBpZ25vcmUgcnVsZXMiKSwgUEFSU0VfT1BUX05PTkVHLCBleGNsdWRlX2NiIH0sCi0JCU9QVF9CT09MRUFOKCd4JywgTlVMTCwgJmlnbm9yZWQsIE5fKCJyZW1vdmUgaWdub3JlZCBmaWxlcywgdG9vIikpLAotCQlPUFRfQk9PTEVBTignWCcsIE5VTEwsICZpZ25vcmVkX29ubHksCisJCU9QVF9CT09MKCd4JywgTlVMTCwgJmlnbm9yZWQsIE5fKCJyZW1vdmUgaWdub3JlZCBmaWxlcywgdG9vIikpLAorCQlPUFRfQk9PTCgnWCcsIE5VTEwsICZpZ25vcmVkX29ubHksCiAJCQkJTl8oInJlbW92ZSBvbmx5IGlnbm9yZWQgZmlsZXMiKSksCiAJCU9QVF9FTkQoKQogCX07CkBAIC05MjUsMTIgKzkyNSwxMSBAQAogCWZvciAoaSA9IDA7IGkgPCBleGNsdWRlX2xpc3QubnI7IGkrKykKIAkJYWRkX2V4Y2x1ZGUoZXhjbHVkZV9saXN0Lml0ZW1zW2ldLnN0cmluZywgIiIsIDAsIGVsLCAtKGkrMSkpOwogCi0JcGF0aHNwZWMgPSBnZXRfcGF0aHNwZWMocHJlZml4LCBhcmd2KTsKKwlwYXJzZV9wYXRoc3BlYygmcGF0aHNwZWMsIDAsCisJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfQ1dELAorCQkgICAgICAgcHJlZml4LCBhcmd2KTsKIAotCWZpbGxfZGlyZWN0b3J5KCZkaXIsIHBhdGhzcGVjKTsKLQotCWlmIChwYXRoc3BlYykKLQkJc2VlbiA9IHhtYWxsb2MoYXJnYyA+IDAgPyBhcmdjIDogMSk7CisJZmlsbF9kaXJlY3RvcnkoJmRpciwgJnBhdGhzcGVjKTsKIAogCWZvciAoaSA9IDA7IGkgPCBkaXIubnI7IGkrKykgewogCQlzdHJ1Y3QgZGlyX2VudHJ5ICplbnQgPSBkaXIuZW50cmllc1tpXTsKQEAgLTk2MSwxMSArOTYwLDkgQEAKIAkJaWYgKGxzdGF0KGVudC0+bmFtZSwgJnN0KSkKIAkJCWRpZV9lcnJubygiQ2Fubm90IGxzdGF0ICclcyciLCBlbnQtPm5hbWUpOwogCi0JCWlmIChwYXRoc3BlYykgewotCQkJbWVtc2V0KHNlZW4sIDAsIGFyZ2MgPiAwID8gYXJnYyA6IDEpOwotCQkJbWF0Y2hlcyA9IG1hdGNoX3BhdGhzcGVjKHBhdGhzcGVjLCBlbnQtPm5hbWUsIGxlbiwKLQkJCQkJCSAwLCBzZWVuKTsKLQkJfQorCQlpZiAocGF0aHNwZWMubnIpCisJCQltYXRjaGVzID0gbWF0Y2hfcGF0aHNwZWNfZGVwdGgoJnBhdGhzcGVjLCBlbnQtPm5hbWUsCisJCQkJCQkgICAgICAgbGVuLCAwLCBOVUxMKTsKIAogCQlpZiAoU19JU0RJUihzdC5zdF9tb2RlKSkgewogCQkJaWYgKHJlbW92ZV9kaXJlY3RvcmllcyB8fCAobWF0Y2hlcyA9PSBNQVRDSEVEX0VYQUNUTFkpKSB7CkBAIC05NzMsNyArOTcwLDcgQEAKIAkJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmRlbF9saXN0LCByZWwpOwogCQkJfQogCQl9IGVsc2UgewotCQkJaWYgKHBhdGhzcGVjICYmICFtYXRjaGVzKQorCQkJaWYgKHBhdGhzcGVjLm5yICYmICFtYXRjaGVzKQogCQkJCWNvbnRpbnVlOwogCQkJcmVsID0gcmVsYXRpdmVfcGF0aChlbnQtPm5hbWUsIHByZWZpeCwgJmJ1Zik7CiAJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmRlbF9saXN0LCByZWwpOwpAQCAtMTAxOSw3ICsxMDE2LDYgQEAKIAkJfQogCQlzdHJidWZfcmVzZXQoJmFic19wYXRoKTsKIAl9Ci0JZnJlZShzZWVuKTsKIAogCXN0cmJ1Zl9yZWxlYXNlKCZhYnNfcGF0aCk7CiAJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CmRpZmYgLS1naXQgYS9idWlsdGluL2Nsb25lLmMgYi9idWlsdGluL2Nsb25lLmMKaW5kZXggNTUyZjM0MC4uODc0ZTBmZCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jbG9uZS5jCisrKyBiL2J1aWx0aW4vY2xvbmUuYwpAQCAtNjIsMjMgKzYyLDIyIEBACiAJT1BUX19WRVJCT1NJVFkoJm9wdGlvbl92ZXJib3NpdHkpLAogCU9QVF9CT09MKDAsICJwcm9ncmVzcyIsICZvcHRpb25fcHJvZ3Jlc3MsCiAJCSBOXygiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIikpLAotCU9QVF9CT09MRUFOKCduJywgIm5vLWNoZWNrb3V0IiwgJm9wdGlvbl9ub19jaGVja291dCwKLQkJICAgIE5fKCJkb24ndCBjcmVhdGUgYSBjaGVja291dCIpKSwKLQlPUFRfQk9PTEVBTigwLCAiYmFyZSIsICZvcHRpb25fYmFyZSwgTl8oImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIpKSwKLQl7IE9QVElPTl9CT09MRUFOLCAwLCAibmFrZWQiLCAmb3B0aW9uX2JhcmUsIE5VTEwsCi0JCU5fKCJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiKSwKLQkJUEFSU0VfT1BUX05PQVJHIHwgUEFSU0VfT1BUX0hJRERFTiB9LAotCU9QVF9CT09MRUFOKDAsICJtaXJyb3IiLCAmb3B0aW9uX21pcnJvciwKLQkJICAgIE5fKCJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIpKSwKKwlPUFRfQk9PTCgnbicsICJuby1jaGVja291dCIsICZvcHRpb25fbm9fY2hlY2tvdXQsCisJCSBOXygiZG9uJ3QgY3JlYXRlIGEgY2hlY2tvdXQiKSksCisJT1BUX0JPT0woMCwgImJhcmUiLCAmb3B0aW9uX2JhcmUsIE5fKCJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiKSksCisJT1BUX0hJRERFTl9CT09MKDAsICJuYWtlZCIsICZvcHRpb25fYmFyZSwKKwkJCU5fKCJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiKSksCisJT1BUX0JPT0woMCwgIm1pcnJvciIsICZvcHRpb25fbWlycm9yLAorCQkgTl8oImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIikpLAogCU9QVF9CT09MKCdsJywgImxvY2FsIiwgJm9wdGlvbl9sb2NhbCwKIAkJTl8oInRvIGNsb25lIGZyb20gYSBsb2NhbCByZXBvc2l0b3J5IikpLAotCU9QVF9CT09MRUFOKDAsICJuby1oYXJkbGlua3MiLCAmb3B0aW9uX25vX2hhcmRsaW5rcywKKwlPUFRfQk9PTCgwLCAibm8taGFyZGxpbmtzIiwgJm9wdGlvbl9ub19oYXJkbGlua3MsCiAJCSAgICBOXygiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiKSksCi0JT1BUX0JPT0xFQU4oJ3MnLCAic2hhcmVkIiwgJm9wdGlvbl9zaGFyZWQsCisJT1BUX0JPT0woJ3MnLCAic2hhcmVkIiwgJm9wdGlvbl9zaGFyZWQsCiAJCSAgICBOXygic2V0dXAgYXMgc2hhcmVkIHJlcG9zaXRvcnkiKSksCi0JT1BUX0JPT0xFQU4oMCwgInJlY3Vyc2l2ZSIsICZvcHRpb25fcmVjdXJzaXZlLAorCU9QVF9CT09MKDAsICJyZWN1cnNpdmUiLCAmb3B0aW9uX3JlY3Vyc2l2ZSwKIAkJICAgIE5fKCJpbml0aWFsaXplIHN1Ym1vZHVsZXMgaW4gdGhlIGNsb25lIikpLAotCU9QVF9CT09MRUFOKDAsICJyZWN1cnNlLXN1Ym1vZHVsZXMiLCAmb3B0aW9uX3JlY3Vyc2l2ZSwKKwlPUFRfQk9PTCgwLCAicmVjdXJzZS1zdWJtb2R1bGVzIiwgJm9wdGlvbl9yZWN1cnNpdmUsCiAJCSAgICBOXygiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIpKSwKIAlPUFRfU1RSSU5HKDAsICJ0ZW1wbGF0ZSIsICZvcHRpb25fdGVtcGxhdGUsIE5fKCJ0ZW1wbGF0ZS1kaXJlY3RvcnkiKSwKIAkJICAgTl8oImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiKSksCkBAIC01NTcsNyArNTU2LDcgQEAKIAkJCQkJCQkgICAgICAwLCAmcm0sIHRyYW5zcG9ydCkpCiAJCQlkaWUoXygicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiKSk7CiAJCWlmICh0cmFuc3BvcnQtPnByb2dyZXNzKQotCQkJZnByaW50ZihzdGRlcnIsIF8oImRvbmVcbiIpKTsKKwkJCWZwcmludGYoc3RkZXJyLCBfKCJkb25lLlxuIikpOwogCX0KIAogCWlmIChyZWZzKSB7CmRpZmYgLS1naXQgYS9idWlsdGluL2NvbW1pdC5jIGIvYnVpbHRpbi9jb21taXQuYwppbmRleCBhNDhhN2ZlLi42YWI0NjA1IDEwMDY0NAotLS0gYS9idWlsdGluL2NvbW1pdC5jCisrKyBiL2J1aWx0aW4vY29tbWl0LmMKQEAgLTE2NCw2ICsxNjQsMTUgQEAKIAkJcy0+d2hlbmNlID0gd2hlbmNlOwogfQogCitzdGF0aWMgdm9pZCBzdGF0dXNfaW5pdF9jb25maWcoc3RydWN0IHd0X3N0YXR1cyAqcywgY29uZmlnX2ZuX3QgZm4pCit7CisJd3Rfc3RhdHVzX3ByZXBhcmUocyk7CisJZ2l0bW9kdWxlc19jb25maWcoKTsKKwlnaXRfY29uZmlnKGZuLCBzKTsKKwlkZXRlcm1pbmVfd2hlbmNlKHMpOworCXMtPmhpbnRzID0gYWR2aWNlX3N0YXR1c19oaW50czsgLyogbXVzdCBjb21lIGFmdGVyIGdpdF9jb25maWcoKSAqLworfQorCiBzdGF0aWMgdm9pZCByb2xsYmFja19pbmRleF9maWxlcyh2b2lkKQogewogCXN3aXRjaCAoY29tbWl0X3N0eWxlKSB7CkBAIC0yMDMsMTcgKzIxMiwxNSBAQAogICogYW5kIHJldHVybiB0aGUgcGF0aHMgdGhhdCBtYXRjaCB0aGUgZ2l2ZW4gcGF0dGVybiBpbiBsaXN0LgogICovCiBzdGF0aWMgaW50IGxpc3RfcGF0aHMoc3RydWN0IHN0cmluZ19saXN0ICpsaXN0LCBjb25zdCBjaGFyICp3aXRoX3RyZWUsCi0JCSAgICAgIGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqKnBhdHRlcm4pCisJCSAgICAgIGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXR0ZXJuKQogewogCWludCBpOwogCWNoYXIgKm07CiAKLQlpZiAoIXBhdHRlcm4pCisJaWYgKCFwYXR0ZXJuLT5ucikKIAkJcmV0dXJuIDA7CiAKLQlmb3IgKGkgPSAwOyBwYXR0ZXJuW2ldOyBpKyspCi0JCTsKLQltID0geGNhbGxvYygxLCBpKTsKKwltID0geGNhbGxvYygxLCBwYXR0ZXJuLT5ucik7CiAKIAlpZiAod2l0aF90cmVlKSB7CiAJCWNoYXIgKm1heF9wcmVmaXggPSBjb21tb25fcHJlZml4KHBhdHRlcm4pOwpAQCAtMjI3LDcgKzIzNCw3IEBACiAKIAkJaWYgKGNlLT5jZV9mbGFncyAmIENFX1VQREFURSkKIAkJCWNvbnRpbnVlOwotCQlpZiAoIW1hdGNoX3BhdGhzcGVjKHBhdHRlcm4sIGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSwgMCwgbSkpCisJCWlmICghbWF0Y2hfcGF0aHNwZWNfZGVwdGgocGF0dGVybiwgY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpLCAwLCBtKSkKIAkJCWNvbnRpbnVlOwogCQlpdGVtID0gc3RyaW5nX2xpc3RfaW5zZXJ0KGxpc3QsIGNlLT5uYW1lKTsKIAkJaWYgKGNlX3NraXBfd29ya3RyZWUoY2UpKQpAQCAtMjk5LDE3ICszMDYsMTcgQEAKIHsKIAlpbnQgZmQ7CiAJc3RydWN0IHN0cmluZ19saXN0IHBhcnRpYWw7Ci0JY29uc3QgY2hhciAqKnBhdGhzcGVjID0gTlVMTDsKKwlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAJY2hhciAqb2xkX2luZGV4X2VudiA9IE5VTEw7CiAJaW50IHJlZnJlc2hfZmxhZ3MgPSBSRUZSRVNIX1FVSUVUOwogCiAJaWYgKGlzX3N0YXR1cykKIAkJcmVmcmVzaF9mbGFncyB8PSBSRUZSRVNIX1VOTUVSR0VEOworCXBhcnNlX3BhdGhzcGVjKCZwYXRoc3BlYywgMCwKKwkJICAgICAgIFBBVEhTUEVDX1BSRUZFUl9GVUxMLAorCQkgICAgICAgcHJlZml4LCBhcmd2KTsKIAotCWlmICgqYXJndikKLQkJcGF0aHNwZWMgPSBnZXRfcGF0aHNwZWMocHJlZml4LCBhcmd2KTsKLQotCWlmIChyZWFkX2NhY2hlX3ByZWxvYWQocGF0aHNwZWMpIDwgMCkKKwlpZiAocmVhZF9jYWNoZV9wcmVsb2FkKCZwYXRoc3BlYykgPCAwKQogCQlkaWUoXygiaW5kZXggZmlsZSBjb3JydXB0IikpOwogCiAJaWYgKGludGVyYWN0aXZlKSB7CkBAIC0zNTEsOSArMzU4LDkgQEAKIAkgKiAoQSkgaWYgYWxsIGdvZXMgd2VsbCwgY29tbWl0IHRoZSByZWFsIGluZGV4OwogCSAqIChCKSBvbiBmYWlsdXJlLCByb2xsYmFjayB0aGUgcmVhbCBpbmRleC4KIAkgKi8KLQlpZiAoYWxsIHx8IChhbHNvICYmIHBhdGhzcGVjICYmICpwYXRoc3BlYykpIHsKKwlpZiAoYWxsIHx8IChhbHNvICYmIHBhdGhzcGVjLm5yKSkgewogCQlmZCA9IGhvbGRfbG9ja2VkX2luZGV4KCZpbmRleF9sb2NrLCAxKTsKLQkJYWRkX2ZpbGVzX3RvX2NhY2hlKGFsc28gPyBwcmVmaXggOiBOVUxMLCBwYXRoc3BlYywgMCk7CisJCWFkZF9maWxlc190b19jYWNoZShhbHNvID8gcHJlZml4IDogTlVMTCwgJnBhdGhzcGVjLCAwKTsKIAkJcmVmcmVzaF9jYWNoZV9vcl9kaWUocmVmcmVzaF9mbGFncyk7CiAJCXVwZGF0ZV9tYWluX2NhY2hlX3RyZWUoV1JJVEVfVFJFRV9TSUxFTlQpOwogCQlpZiAod3JpdGVfY2FjaGUoZmQsIGFjdGl2ZV9jYWNoZSwgYWN0aXZlX25yKSB8fApAQCAtMzcyLDcgKzM3OSw3IEBACiAJICogYW5kIGNyZWF0ZSBjb21taXQgZnJvbSB0aGVfaW5kZXguCiAJICogV2Ugc3RpbGwgbmVlZCB0byByZWZyZXNoIHRoZSBpbmRleCBoZXJlLgogCSAqLwotCWlmICghb25seSAmJiAoIXBhdGhzcGVjIHx8ICEqcGF0aHNwZWMpKSB7CisJaWYgKCFvbmx5ICYmICFwYXRoc3BlYy5ucikgewogCQlmZCA9IGhvbGRfbG9ja2VkX2luZGV4KCZpbmRleF9sb2NrLCAxKTsKIAkJcmVmcmVzaF9jYWNoZV9vcl9kaWUocmVmcmVzaF9mbGFncyk7CiAJCWlmIChhY3RpdmVfY2FjaGVfY2hhbmdlZCkgewpAQCAtNDE3LDcgKzQyNCw3IEBACiAKIAltZW1zZXQoJnBhcnRpYWwsIDAsIHNpemVvZihwYXJ0aWFsKSk7CiAJcGFydGlhbC5zdHJkdXBfc3RyaW5ncyA9IDE7Ci0JaWYgKGxpc3RfcGF0aHMoJnBhcnRpYWwsICFjdXJyZW50X2hlYWQgPyBOVUxMIDogIkhFQUQiLCBwcmVmaXgsIHBhdGhzcGVjKSkKKwlpZiAobGlzdF9wYXRocygmcGFydGlhbCwgIWN1cnJlbnRfaGVhZCA/IE5VTEwgOiAiSEVBRCIsIHByZWZpeCwgJnBhdGhzcGVjKSkKIAkJZXhpdCgxKTsKIAogCWRpc2NhcmRfY2FjaGUoKTsKQEAgLTYwMCw2ICs2MDcsNyBAQAogCWNvbnN0IGNoYXIgKmhvb2tfYXJnMiA9IE5VTEw7CiAJaW50IGlkZW50X3Nob3duID0gMDsKIAlpbnQgY2xlYW5fbWVzc2FnZV9jb250ZW50cyA9IChjbGVhbnVwX21vZGUgIT0gQ0xFQU5VUF9OT05FKTsKKwlpbnQgb2xkX2Rpc3BsYXlfY29tbWVudF9wcmVmaXg7CiAKIAkvKiBUaGlzIGNoZWNrcyBhbmQgYmFyZnMgaWYgYXV0aG9yIGlzIGJhZGx5IHNwZWNpZmllZCAqLwogCWRldGVybWluZV9hdXRob3JfaW5mbyhhdXRob3JfaWRlbnQpOwpAQCAtNjk3LDYgKzcwNSwxNiBAQAogCWlmIChzLT5mcCA9PSBOVUxMKQogCQlkaWVfZXJybm8oXygiY291bGQgbm90IG9wZW4gJyVzJyIpLCBnaXRfcGF0aChjb21taXRfZWRpdG1zZykpOwogCisJLyogSWdub3JlIHN0YXR1cy5kaXNwbGF5Q29tbWVudFByZWZpeDogd2UgZG8gbmVlZCBjb21tZW50cyBpbiBDT01NSVRfRURJVE1TRy4gKi8KKwlvbGRfZGlzcGxheV9jb21tZW50X3ByZWZpeCA9IHMtPmRpc3BsYXlfY29tbWVudF9wcmVmaXg7CisJcy0+ZGlzcGxheV9jb21tZW50X3ByZWZpeCA9IDE7CisKKwkvKgorCSAqIE1vc3QgaGludHMgYXJlIGNvdW50ZXItcHJvZHVjdGl2ZSB3aGVuIHRoZSBjb21taXQgaGFzCisJICogYWxyZWFkeSBzdGFydGVkLgorCSAqLworCXMtPmhpbnRzID0gMDsKKwogCWlmIChjbGVhbl9tZXNzYWdlX2NvbnRlbnRzKQogCQlzdHJpcHNwYWNlKCZzYiwgMCk7CiAKQEAgLTgyMiw2ICs4NDAsNyBAQAogCSAqLwogCWlmICghY29tbWl0YWJsZSAmJiB3aGVuY2UgIT0gRlJPTV9NRVJHRSAmJiAhYWxsb3dfZW1wdHkgJiYKIAkgICAgIShhbWVuZCAmJiBpc19hX21lcmdlKGN1cnJlbnRfaGVhZCkpKSB7CisJCXMtPmRpc3BsYXlfY29tbWVudF9wcmVmaXggPSBvbGRfZGlzcGxheV9jb21tZW50X3ByZWZpeDsKIAkJcnVuX3N0YXR1cyhzdGRvdXQsIGluZGV4X2ZpbGUsIHByZWZpeCwgMCwgcyk7CiAJCWlmIChhbWVuZCkKIAkJCWZwdXRzKF8oZW1wdHlfYW1lbmRfYWR2aWNlKSwgc3RkZXJyKTsKQEAgLTEwOTcsNyArMTExNiw3IEBACiAJaWYgKHBhdGNoX2ludGVyYWN0aXZlKQogCQlpbnRlcmFjdGl2ZSA9IDE7CiAKLQlpZiAoISFhbHNvICsgISFvbmx5ICsgISFhbGwgKyAhIWludGVyYWN0aXZlID4gMSkKKwlpZiAoYWxzbyArIG9ubHkgKyBhbGwgKyBpbnRlcmFjdGl2ZSA+IDEpCiAJCWRpZShfKCJPbmx5IG9uZSBvZiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBjYW4gYmUgdXNlZC4iKSk7CiAJaWYgKGFyZ2MgPT0gMCAmJiAoYWxzbyB8fCAob25seSAmJiAhYW1lbmQpKSkKIAkJZGllKF8oIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIpKTsKQEAgLTExODgsNiArMTIwNywxMCBAQAogCQlzLT51c2VfY29sb3IgPSBnaXRfY29uZmlnX2NvbG9yYm9vbChrLCB2KTsKIAkJcmV0dXJuIDA7CiAJfQorCWlmICghc3RyY21wKGssICJzdGF0dXMuZGlzcGxheWNvbW1lbnRwcmVmaXgiKSkgeworCQlzLT5kaXNwbGF5X2NvbW1lbnRfcHJlZml4ID0gZ2l0X2NvbmZpZ19ib29sKGssIHYpOworCQlyZXR1cm4gMDsKKwl9CiAJaWYgKCFwcmVmaXhjbXAoaywgInN0YXR1cy5jb2xvci4iKSB8fCAhcHJlZml4Y21wKGssICJjb2xvci5zdGF0dXMuIikpIHsKIAkJaW50IHNsb3QgPSBwYXJzZV9zdGF0dXNfc2xvdChrLCAxMyk7CiAJCWlmIChzbG90IDwgMCkKQEAgLTEyMzQsMTQgKzEyNTcsMTQgQEAKIAkJT1BUX1NFVF9JTlQoMCwgImxvbmciLCAmc3RhdHVzX2Zvcm1hdCwKIAkJCSAgICBOXygic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIiksCiAJCQkgICAgU1RBVFVTX0ZPUk1BVF9MT05HKSwKLQkJT1BUX0JPT0xFQU4oJ3onLCAibnVsbCIsICZzLm51bGxfdGVybWluYXRpb24sCi0JCQkgICAgTl8oInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIikpLAorCQlPUFRfQk9PTCgneicsICJudWxsIiwgJnMubnVsbF90ZXJtaW5hdGlvbiwKKwkJCSBOXygidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiKSksCiAJCXsgT1BUSU9OX1NUUklORywgJ3UnLCAidW50cmFja2VkLWZpbGVzIiwgJnVudHJhY2tlZF9maWxlc19hcmcsCiAJCSAgTl8oIm1vZGUiKSwKIAkJICBOXygic2hvdyB1bnRyYWNrZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiBhbGwsIG5vcm1hbCwgbm8uIChEZWZhdWx0OiBhbGwpIiksCiAJCSAgUEFSU0VfT1BUX09QVEFSRywgTlVMTCwgKGludHB0cl90KSJhbGwiIH0sCi0JCU9QVF9CT09MRUFOKDAsICJpZ25vcmVkIiwgJnNob3dfaWdub3JlZF9pbl9zdGF0dXMsCi0JCQkgICAgTl8oInNob3cgaWdub3JlZCBmaWxlcyIpKSwKKwkJT1BUX0JPT0woMCwgImlnbm9yZWQiLCAmc2hvd19pZ25vcmVkX2luX3N0YXR1cywKKwkJCSBOXygic2hvdyBpZ25vcmVkIGZpbGVzIikpLAogCQl7IE9QVElPTl9TVFJJTkcsIDAsICJpZ25vcmUtc3VibW9kdWxlcyIsICZpZ25vcmVfc3VibW9kdWxlX2FyZywgTl8oIndoZW4iKSwKIAkJICBOXygiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAoRGVmYXVsdDogYWxsKSIpLAogCQkgIFBBUlNFX09QVF9PUFRBUkcsIE5VTEwsIChpbnRwdHJfdCkiYWxsIiB9LApAQCAtMTI1MiwxMCArMTI3NSw3IEBACiAJaWYgKGFyZ2MgPT0gMiAmJiAhc3RyY21wKGFyZ3ZbMV0sICItaCIpKQogCQl1c2FnZV93aXRoX29wdGlvbnMoYnVpbHRpbl9zdGF0dXNfdXNhZ2UsIGJ1aWx0aW5fc3RhdHVzX29wdGlvbnMpOwogCi0Jd3Rfc3RhdHVzX3ByZXBhcmUoJnMpOwotCWdpdG1vZHVsZXNfY29uZmlnKCk7Ci0JZ2l0X2NvbmZpZyhnaXRfc3RhdHVzX2NvbmZpZywgJnMpOwotCWRldGVybWluZV93aGVuY2UoJnMpOworCXN0YXR1c19pbml0X2NvbmZpZygmcywgZ2l0X3N0YXR1c19jb25maWcpOwogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwKIAkJCSAgICAgYnVpbHRpbl9zdGF0dXNfb3B0aW9ucywKIAkJCSAgICAgYnVpbHRpbl9zdGF0dXNfdXNhZ2UsIDApOwpAQCAtMTI2NSwxMSArMTI4NSwxMiBAQAogCWhhbmRsZV91bnRyYWNrZWRfZmlsZXNfYXJnKCZzKTsKIAlpZiAoc2hvd19pZ25vcmVkX2luX3N0YXR1cykKIAkJcy5zaG93X2lnbm9yZWRfZmlsZXMgPSAxOwotCWlmICgqYXJndikKLQkJcy5wYXRoc3BlYyA9IGdldF9wYXRoc3BlYyhwcmVmaXgsIGFyZ3YpOworCXBhcnNlX3BhdGhzcGVjKCZzLnBhdGhzcGVjLCAwLAorCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0ZVTEwsCisJCSAgICAgICBwcmVmaXgsIGFyZ3YpOwogCi0JcmVhZF9jYWNoZV9wcmVsb2FkKHMucGF0aHNwZWMpOwotCXJlZnJlc2hfaW5kZXgoJnRoZV9pbmRleCwgUkVGUkVTSF9RVUlFVHxSRUZSRVNIX1VOTUVSR0VELCBzLnBhdGhzcGVjLCBOVUxMLCBOVUxMKTsKKwlyZWFkX2NhY2hlX3ByZWxvYWQoJnMucGF0aHNwZWMpOworCXJlZnJlc2hfaW5kZXgoJnRoZV9pbmRleCwgUkVGUkVTSF9RVUlFVHxSRUZSRVNIX1VOTUVSR0VELCAmcy5wYXRoc3BlYywgTlVMTCwgTlVMTCk7CiAKIAlmZCA9IGhvbGRfbG9ja2VkX2luZGV4KCZpbmRleF9sb2NrLCAwKTsKIAlpZiAoMCA8PSBmZCkKQEAgLTE0NDAsMjQgKzE0NjEsMjQgQEAKIAkJT1BUX1NUUklORygnQycsICJyZXVzZS1tZXNzYWdlIiwgJnVzZV9tZXNzYWdlLCBOXygiY29tbWl0IiksIE5fKCJyZXVzZSBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIpKSwKIAkJT1BUX1NUUklORygwLCAiZml4dXAiLCAmZml4dXBfbWVzc2FnZSwgTl8oImNvbW1pdCIpLCBOXygidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gZml4dXAgc3BlY2lmaWVkIGNvbW1pdCIpKSwKIAkJT1BUX1NUUklORygwLCAic3F1YXNoIiwgJnNxdWFzaF9tZXNzYWdlLCBOXygiY29tbWl0IiksIE5fKCJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgInJlc2V0LWF1dGhvciIsICZyZW5ld19hdXRob3JzaGlwLCBOXygidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIpKSwKLQkJT1BUX0JPT0xFQU4oJ3MnLCAic2lnbm9mZiIsICZzaWdub2ZmLCBOXygiYWRkIFNpZ25lZC1vZmYtYnk6IikpLAorCQlPUFRfQk9PTCgwLCAicmVzZXQtYXV0aG9yIiwgJnJlbmV3X2F1dGhvcnNoaXAsIE5fKCJ0aGUgY29tbWl0IGlzIGF1dGhvcmVkIGJ5IG1lIG5vdyAodXNlZCB3aXRoIC1DLy1jLy0tYW1lbmQpIikpLAorCQlPUFRfQk9PTCgncycsICJzaWdub2ZmIiwgJnNpZ25vZmYsIE5fKCJhZGQgU2lnbmVkLW9mZi1ieToiKSksCiAJCU9QVF9GSUxFTkFNRSgndCcsICJ0ZW1wbGF0ZSIsICZ0ZW1wbGF0ZV9maWxlLCBOXygidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIikpLAogCQlPUFRfQk9PTCgnZScsICJlZGl0IiwgJmVkaXRfZmxhZywgTl8oImZvcmNlIGVkaXQgb2YgY29tbWl0IikpLAogCQlPUFRfU1RSSU5HKDAsICJjbGVhbnVwIiwgJmNsZWFudXBfYXJnLCBOXygiZGVmYXVsdCIpLCBOXygiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgInN0YXR1cyIsICZpbmNsdWRlX3N0YXR1cywgTl8oImluY2x1ZGUgc3RhdHVzIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIikpLAorCQlPUFRfQk9PTCgwLCAic3RhdHVzIiwgJmluY2x1ZGVfc3RhdHVzLCBOXygiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiKSksCiAJCXsgT1BUSU9OX1NUUklORywgJ1MnLCAiZ3BnLXNpZ24iLCAmc2lnbl9jb21taXQsIE5fKCJrZXkgaWQiKSwKIAkJICBOXygiR1BHIHNpZ24gY29tbWl0IiksIFBBUlNFX09QVF9PUFRBUkcsIE5VTEwsIChpbnRwdHJfdCkgIiIgfSwKIAkJLyogZW5kIGNvbW1pdCBtZXNzYWdlIG9wdGlvbnMgKi8KIAogCQlPUFRfR1JPVVAoTl8oIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIikpLAotCQlPUFRfQk9PTEVBTignYScsICJhbGwiLCAmYWxsLCBOXygiY29tbWl0IGFsbCBjaGFuZ2VkIGZpbGVzIikpLAotCQlPUFRfQk9PTEVBTignaScsICJpbmNsdWRlIiwgJmFsc28sIE5fKCJhZGQgc3BlY2lmaWVkIGZpbGVzIHRvIGluZGV4IGZvciBjb21taXQiKSksCi0JCU9QVF9CT09MRUFOKDAsICJpbnRlcmFjdGl2ZSIsICZpbnRlcmFjdGl2ZSwgTl8oImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIikpLAotCQlPUFRfQk9PTEVBTigncCcsICJwYXRjaCIsICZwYXRjaF9pbnRlcmFjdGl2ZSwgTl8oImludGVyYWN0aXZlbHkgYWRkIGNoYW5nZXMiKSksCi0JCU9QVF9CT09MRUFOKCdvJywgIm9ubHkiLCAmb25seSwgTl8oImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIpKSwKLQkJT1BUX0JPT0xFQU4oJ24nLCAibm8tdmVyaWZ5IiwgJm5vX3ZlcmlmeSwgTl8oImJ5cGFzcyBwcmUtY29tbWl0IGhvb2siKSksCi0JCU9QVF9CT09MRUFOKDAsICJkcnktcnVuIiwgJmRyeV9ydW4sIE5fKCJzaG93IHdoYXQgd291bGQgYmUgY29tbWl0dGVkIikpLAorCQlPUFRfQk9PTCgnYScsICJhbGwiLCAmYWxsLCBOXygiY29tbWl0IGFsbCBjaGFuZ2VkIGZpbGVzIikpLAorCQlPUFRfQk9PTCgnaScsICJpbmNsdWRlIiwgJmFsc28sIE5fKCJhZGQgc3BlY2lmaWVkIGZpbGVzIHRvIGluZGV4IGZvciBjb21taXQiKSksCisJCU9QVF9CT09MKDAsICJpbnRlcmFjdGl2ZSIsICZpbnRlcmFjdGl2ZSwgTl8oImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIikpLAorCQlPUFRfQk9PTCgncCcsICJwYXRjaCIsICZwYXRjaF9pbnRlcmFjdGl2ZSwgTl8oImludGVyYWN0aXZlbHkgYWRkIGNoYW5nZXMiKSksCisJCU9QVF9CT09MKCdvJywgIm9ubHkiLCAmb25seSwgTl8oImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIpKSwKKwkJT1BUX0JPT0woJ24nLCAibm8tdmVyaWZ5IiwgJm5vX3ZlcmlmeSwgTl8oImJ5cGFzcyBwcmUtY29tbWl0IGhvb2siKSksCisJCU9QVF9CT09MKDAsICJkcnktcnVuIiwgJmRyeV9ydW4sIE5fKCJzaG93IHdoYXQgd291bGQgYmUgY29tbWl0dGVkIikpLAogCQlPUFRfU0VUX0lOVCgwLCAic2hvcnQiLCAmc3RhdHVzX2Zvcm1hdCwgTl8oInNob3cgc3RhdHVzIGNvbmNpc2VseSIpLAogCQkJICAgIFNUQVRVU19GT1JNQVRfU0hPUlQpLAogCQlPUFRfQk9PTCgwLCAiYnJhbmNoIiwgJnMuc2hvd19icmFuY2gsIE5fKCJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIpKSwKQEAgLTE0NjYsMTkgKzE0ODcsMTcgQEAKIAkJT1BUX1NFVF9JTlQoMCwgImxvbmciLCAmc3RhdHVzX2Zvcm1hdCwKIAkJCSAgICBOXygic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIiksCiAJCQkgICAgU1RBVFVTX0ZPUk1BVF9MT05HKSwKLQkJT1BUX0JPT0xFQU4oJ3onLCAibnVsbCIsICZzLm51bGxfdGVybWluYXRpb24sCi0JCQkgICAgTl8oInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIikpLAotCQlPUFRfQk9PTEVBTigwLCAiYW1lbmQiLCAmYW1lbmQsIE5fKCJhbWVuZCBwcmV2aW91cyBjb21taXQiKSksCi0JCU9QVF9CT09MRUFOKDAsICJuby1wb3N0LXJld3JpdGUiLCAmbm9fcG9zdF9yZXdyaXRlLCBOXygiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIikpLAorCQlPUFRfQk9PTCgneicsICJudWxsIiwgJnMubnVsbF90ZXJtaW5hdGlvbiwKKwkJCSBOXygidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiKSksCisJCU9QVF9CT09MKDAsICJhbWVuZCIsICZhbWVuZCwgTl8oImFtZW5kIHByZXZpb3VzIGNvbW1pdCIpKSwKKwkJT1BUX0JPT0woMCwgIm5vLXBvc3QtcmV3cml0ZSIsICZub19wb3N0X3Jld3JpdGUsIE5fKCJieXBhc3MgcG9zdC1yZXdyaXRlIGhvb2siKSksCiAJCXsgT1BUSU9OX1NUUklORywgJ3UnLCAidW50cmFja2VkLWZpbGVzIiwgJnVudHJhY2tlZF9maWxlc19hcmcsIE5fKCJtb2RlIiksIE5fKCJzaG93IHVudHJhY2tlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IGFsbCwgbm9ybWFsLCBuby4gKERlZmF1bHQ6IGFsbCkiKSwgUEFSU0VfT1BUX09QVEFSRywgTlVMTCwgKGludHB0cl90KSJhbGwiIH0sCiAJCS8qIGVuZCBjb21taXQgY29udGVudHMgb3B0aW9ucyAqLwogCi0JCXsgT1BUSU9OX0JPT0xFQU4sIDAsICJhbGxvdy1lbXB0eSIsICZhbGxvd19lbXB0eSwgTlVMTCwKLQkJICBOXygib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIpLAotCQkgIFBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9ISURERU4gfSwKLQkJeyBPUFRJT05fQk9PTEVBTiwgMCwgImFsbG93LWVtcHR5LW1lc3NhZ2UiLCAmYWxsb3dfZW1wdHlfbWVzc2FnZSwgTlVMTCwKLQkJICBOXygib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIpLAotCQkgIFBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9ISURERU4gfSwKKwkJT1BUX0hJRERFTl9CT09MKDAsICJhbGxvdy1lbXB0eSIsICZhbGxvd19lbXB0eSwKKwkJCQlOXygib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIpKSwKKwkJT1BUX0hJRERFTl9CT09MKDAsICJhbGxvdy1lbXB0eS1tZXNzYWdlIiwgJmFsbG93X2VtcHR5X21lc3NhZ2UsCisJCQkJTl8oIm9rIHRvIHJlY29yZCBhIGNoYW5nZSB3aXRoIGFuIGVtcHR5IG1lc3NhZ2UiKSksCiAKIAkJT1BUX0VORCgpCiAJfTsKQEAgLTE0OTgsMTEgKzE1MTcsOCBAQAogCWlmIChhcmdjID09IDIgJiYgIXN0cmNtcChhcmd2WzFdLCAiLWgiKSkKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKGJ1aWx0aW5fY29tbWl0X3VzYWdlLCBidWlsdGluX2NvbW1pdF9vcHRpb25zKTsKIAotCXd0X3N0YXR1c19wcmVwYXJlKCZzKTsKLQlnaXRtb2R1bGVzX2NvbmZpZygpOwotCWdpdF9jb25maWcoZ2l0X2NvbW1pdF9jb25maWcsICZzKTsKKwlzdGF0dXNfaW5pdF9jb25maWcoJnMsIGdpdF9jb21taXRfY29uZmlnKTsKIAlzdGF0dXNfZm9ybWF0ID0gU1RBVFVTX0ZPUk1BVF9OT05FOyAvKiBJZ25vcmUgc3RhdHVzLnNob3J0ICovCi0JZGV0ZXJtaW5lX3doZW5jZSgmcyk7CiAJcy5jb2xvcHRzID0gMDsKIAogCWlmIChnZXRfc2hhMSgiSEVBRCIsIHNoYTEpKQpAQCAtMTYyNCw3ICsxNjQwLDcgQEAKIAkJCQkJICAgIWN1cnJlbnRfaGVhZAogCQkJCQkgICA/IE5VTEwKIAkJCQkJICAgOiBjdXJyZW50X2hlYWQtPm9iamVjdC5zaGExLAotCQkJCQkgICAwKTsKKwkJCQkJICAgMCwgTlVMTCk7CiAKIAlubCA9IHN0cmNocihzYi5idWYsICdcbicpOwogCWlmIChubCkKZGlmZiAtLWdpdCBhL2J1aWx0aW4vY29uZmlnLmMgYi9idWlsdGluL2NvbmZpZy5jCmluZGV4IDQwMTBjNDMuLjIwZTg5ZmUgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY29uZmlnLmMKKysrIGIvYnVpbHRpbi9jb25maWcuYwpAQCAtMiw2ICsyLDcgQEAKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgImNvbG9yLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgorI2luY2x1ZGUgInVybG1hdGNoLmgiCiAKIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBidWlsdGluX2NvbmZpZ191c2FnZVtdID0gewogCU5fKCJnaXQgY29uZmlnIFtvcHRpb25zXSIpLApAQCAtNDIsNiArNDMsNyBAQAogI2RlZmluZSBBQ1RJT05fU0VUX0FMTCAoMTw8MTIpCiAjZGVmaW5lIEFDVElPTl9HRVRfQ09MT1IgKDE8PDEzKQogI2RlZmluZSBBQ1RJT05fR0VUX0NPTE9SQk9PTCAoMTw8MTQpCisjZGVmaW5lIEFDVElPTl9HRVRfVVJMTUFUQ0ggKDE8PDE1KQogCiAjZGVmaW5lIFRZUEVfQk9PTCAoMTw8MCkKICNkZWZpbmUgVFlQRV9JTlQgKDE8PDEpCkBAIC01MCwxNSArNTIsMTYgQEAKIAogc3RhdGljIHN0cnVjdCBvcHRpb24gYnVpbHRpbl9jb25maWdfb3B0aW9uc1tdID0gewogCU9QVF9HUk9VUChOXygiQ29uZmlnIGZpbGUgbG9jYXRpb24iKSksCi0JT1BUX0JPT0xFQU4oMCwgImdsb2JhbCIsICZ1c2VfZ2xvYmFsX2NvbmZpZywgTl8oInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiKSksCi0JT1BUX0JPT0xFQU4oMCwgInN5c3RlbSIsICZ1c2Vfc3lzdGVtX2NvbmZpZywgTl8oInVzZSBzeXN0ZW0gY29uZmlnIGZpbGUiKSksCi0JT1BUX0JPT0xFQU4oMCwgImxvY2FsIiwgJnVzZV9sb2NhbF9jb25maWcsIE5fKCJ1c2UgcmVwb3NpdG9yeSBjb25maWcgZmlsZSIpKSwKKwlPUFRfQk9PTCgwLCAiZ2xvYmFsIiwgJnVzZV9nbG9iYWxfY29uZmlnLCBOXygidXNlIGdsb2JhbCBjb25maWcgZmlsZSIpKSwKKwlPUFRfQk9PTCgwLCAic3lzdGVtIiwgJnVzZV9zeXN0ZW1fY29uZmlnLCBOXygidXNlIHN5c3RlbSBjb25maWcgZmlsZSIpKSwKKwlPUFRfQk9PTCgwLCAibG9jYWwiLCAmdXNlX2xvY2FsX2NvbmZpZywgTl8oInVzZSByZXBvc2l0b3J5IGNvbmZpZyBmaWxlIikpLAogCU9QVF9TVFJJTkcoJ2YnLCAiZmlsZSIsICZnaXZlbl9jb25maWdfZmlsZSwgTl8oImZpbGUiKSwgTl8oInVzZSBnaXZlbiBjb25maWcgZmlsZSIpKSwKIAlPUFRfU1RSSU5HKDAsICJibG9iIiwgJmdpdmVuX2NvbmZpZ19ibG9iLCBOXygiYmxvYi1pZCIpLCBOXygicmVhZCBjb25maWcgZnJvbSBnaXZlbiBibG9iIG9iamVjdCIpKSwKIAlPUFRfR1JPVVAoTl8oIkFjdGlvbiIpKSwKIAlPUFRfQklUKDAsICJnZXQiLCAmYWN0aW9ucywgTl8oImdldCB2YWx1ZTogbmFtZSBbdmFsdWUtcmVnZXhdIiksIEFDVElPTl9HRVQpLAogCU9QVF9CSVQoMCwgImdldC1hbGwiLCAmYWN0aW9ucywgTl8oImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIpLCBBQ1RJT05fR0VUX0FMTCksCiAJT1BUX0JJVCgwLCAiZ2V0LXJlZ2V4cCIsICZhY3Rpb25zLCBOXygiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iKSwgQUNUSU9OX0dFVF9SRUdFWFApLAorCU9QVF9CSVQoMCwgImdldC11cmxtYXRjaCIsICZhY3Rpb25zLCBOXygiZ2V0IHZhbHVlIHNwZWNpZmljIGZvciB0aGUgVVJMOiBzZWN0aW9uWy52YXJdIFVSTCIpLCBBQ1RJT05fR0VUX1VSTE1BVENIKSwKIAlPUFRfQklUKDAsICJyZXBsYWNlLWFsbCIsICZhY3Rpb25zLCBOXygicmVwbGFjZSBhbGwgbWF0Y2hpbmcgdmFyaWFibGVzOiBuYW1lIHZhbHVlIFt2YWx1ZV9yZWdleF0iKSwgQUNUSU9OX1JFUExBQ0VfQUxMKSwKIAlPUFRfQklUKDAsICJhZGQiLCAmYWN0aW9ucywgTl8oImFkZCBhIG5ldyB2YXJpYWJsZTogbmFtZSB2YWx1ZSIpLCBBQ1RJT05fQUREKSwKIAlPUFRfQklUKDAsICJ1bnNldCIsICZhY3Rpb25zLCBOXygicmVtb3ZlIGEgdmFyaWFibGU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIpLCBBQ1RJT05fVU5TRVQpLApAQCAtNzUsNyArNzgsNyBAQAogCU9QVF9CSVQoMCwgImJvb2wtb3ItaW50IiwgJnR5cGVzLCBOXygidmFsdWUgaXMgLS1ib29sIG9yIC0taW50IiksIFRZUEVfQk9PTF9PUl9JTlQpLAogCU9QVF9CSVQoMCwgInBhdGgiLCAmdHlwZXMsIE5fKCJ2YWx1ZSBpcyBhIHBhdGggKGZpbGUgb3IgZGlyZWN0b3J5IG5hbWUpIiksIFRZUEVfUEFUSCksCiAJT1BUX0dST1VQKE5fKCJPdGhlciIpKSwKLQlPUFRfQk9PTEVBTigneicsICJudWxsIiwgJmVuZF9udWxsLCBOXygidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIikpLAorCU9QVF9CT09MKCd6JywgIm51bGwiLCAmZW5kX251bGwsIE5fKCJ0ZXJtaW5hdGUgdmFsdWVzIHdpdGggTlVMIGJ5dGUiKSksCiAJT1BUX0JPT0woMCwgImluY2x1ZGVzIiwgJnJlc3BlY3RfaW5jbHVkZXMsIE5fKCJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiKSksCiAJT1BUX0VORCgpLAogfTsKQEAgLTEwMiwyNSArMTA1LDEzIEBACiAJaW50IGFsbG9jOwogfTsKIAotc3RhdGljIGludCBjb2xsZWN0X2NvbmZpZyhjb25zdCBjaGFyICprZXlfLCBjb25zdCBjaGFyICp2YWx1ZV8sIHZvaWQgKmNiKQorc3RhdGljIGludCBmb3JtYXRfY29uZmlnKHN0cnVjdCBzdHJidWYgKmJ1ZiwgY29uc3QgY2hhciAqa2V5XywgY29uc3QgY2hhciAqdmFsdWVfKQogewotCXN0cnVjdCBzdHJidWZfbGlzdCAqdmFsdWVzID0gY2I7Ci0Jc3RydWN0IHN0cmJ1ZiAqYnVmOwotCWNoYXIgdmFsdWVbMjU2XTsKLQljb25zdCBjaGFyICp2cHRyID0gdmFsdWU7CiAJaW50IG11c3RfZnJlZV92cHRyID0gMDsKIAlpbnQgbXVzdF9wcmludF9kZWxpbSA9IDA7CisJY2hhciB2YWx1ZVsyNTZdOworCWNvbnN0IGNoYXIgKnZwdHIgPSB2YWx1ZTsKIAotCWlmICghdXNlX2tleV9yZWdleHAgJiYgc3RyY21wKGtleV8sIGtleSkpCi0JCXJldHVybiAwOwotCWlmICh1c2Vfa2V5X3JlZ2V4cCAmJiByZWdleGVjKGtleV9yZWdleHAsIGtleV8sIDAsIE5VTEwsIDApKQotCQlyZXR1cm4gMDsKLQlpZiAocmVnZXhwICE9IE5VTEwgJiYKLQkgICAgKGRvX25vdF9tYXRjaCBeICEhcmVnZXhlYyhyZWdleHAsICh2YWx1ZV8/dmFsdWVfOiIiKSwgMCwgTlVMTCwgMCkpKQotCQlyZXR1cm4gMDsKLQotCUFMTE9DX0dST1codmFsdWVzLT5pdGVtcywgdmFsdWVzLT5uciArIDEsIHZhbHVlcy0+YWxsb2MpOwotCWJ1ZiA9ICZ2YWx1ZXMtPml0ZW1zW3ZhbHVlcy0+bnIrK107CiAJc3RyYnVmX2luaXQoYnVmLCAwKTsKIAogCWlmIChzaG93X2tleXMpIHsKQEAgLTEyOCw3ICsxMTksOCBAQAogCQltdXN0X3ByaW50X2RlbGltID0gMTsKIAl9CiAJaWYgKHR5cGVzID09IFRZUEVfSU5UKQotCQlzcHJpbnRmKHZhbHVlLCAiJWQiLCBnaXRfY29uZmlnX2ludChrZXlfLCB2YWx1ZV8/dmFsdWVfOiIiKSk7CisJCXNwcmludGYodmFsdWUsICIlIlBSSWQ2NCwKKwkJCWdpdF9jb25maWdfaW50NjQoa2V5XywgdmFsdWVfID8gdmFsdWVfIDogIiIpKTsKIAllbHNlIGlmICh0eXBlcyA9PSBUWVBFX0JPT0wpCiAJCXZwdHIgPSBnaXRfY29uZmlnX2Jvb2woa2V5XywgdmFsdWVfKSA/ICJ0cnVlIiA6ICJmYWxzZSI7CiAJZWxzZSBpZiAodHlwZXMgPT0gVFlQRV9CT09MX09SX0lOVCkgewpAQCAtMTU2LDE1ICsxNDgsMjcgQEAKIAlzdHJidWZfYWRkY2goYnVmLCB0ZXJtKTsKIAogCWlmIChtdXN0X2ZyZWVfdnB0cikKLQkJLyogSWYgdnB0ciBtdXN0IGJlIGZyZWVkLCBpdCdzIGEgcG9pbnRlciB0byBhCi0JCSAqIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBidWZmZXIsIGl0J3Mgc2FmZSB0byBjYXN0IHRvCi0JCSAqIGNvbnN0LgotCQkqLwogCQlmcmVlKChjaGFyICopdnB0cik7Ci0KIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBjb2xsZWN0X2NvbmZpZyhjb25zdCBjaGFyICprZXlfLCBjb25zdCBjaGFyICp2YWx1ZV8sIHZvaWQgKmNiKQoreworCXN0cnVjdCBzdHJidWZfbGlzdCAqdmFsdWVzID0gY2I7CisKKwlpZiAoIXVzZV9rZXlfcmVnZXhwICYmIHN0cmNtcChrZXlfLCBrZXkpKQorCQlyZXR1cm4gMDsKKwlpZiAodXNlX2tleV9yZWdleHAgJiYgcmVnZXhlYyhrZXlfcmVnZXhwLCBrZXlfLCAwLCBOVUxMLCAwKSkKKwkJcmV0dXJuIDA7CisJaWYgKHJlZ2V4cCAhPSBOVUxMICYmCisJICAgIChkb19ub3RfbWF0Y2ggXiAhIXJlZ2V4ZWMocmVnZXhwLCAodmFsdWVfP3ZhbHVlXzoiIiksIDAsIE5VTEwsIDApKSkKKwkJcmV0dXJuIDA7CisKKwlBTExPQ19HUk9XKHZhbHVlcy0+aXRlbXMsIHZhbHVlcy0+bnIgKyAxLCB2YWx1ZXMtPmFsbG9jKTsKKworCXJldHVybiBmb3JtYXRfY29uZmlnKCZ2YWx1ZXMtPml0ZW1zW3ZhbHVlcy0+bnIrK10sIGtleV8sIHZhbHVlXyk7Cit9CisKIHN0YXRpYyBpbnQgZ2V0X3ZhbHVlKGNvbnN0IGNoYXIgKmtleV8sIGNvbnN0IGNoYXIgKnJlZ2V4XykKIHsKIAlpbnQgcmV0ID0gQ09ORklHX0dFTkVSSUNfRVJST1I7CkBAIC0yNjUsOCArMjY5LDggQEAKIAllbHNlIHsKIAkJbm9ybWFsaXplZCA9IHhtYWxsb2MoNjQpOwogCQlpZiAodHlwZXMgPT0gVFlQRV9JTlQpIHsKLQkJCWludCB2ID0gZ2l0X2NvbmZpZ19pbnQoa2V5LCB2YWx1ZSk7Ci0JCQlzcHJpbnRmKG5vcm1hbGl6ZWQsICIlZCIsIHYpOworCQkJaW50NjRfdCB2ID0gZ2l0X2NvbmZpZ19pbnQ2NChrZXksIHZhbHVlKTsKKwkJCXNwcmludGYobm9ybWFsaXplZCwgIiUiUFJJZDY0LCB2KTsKIAkJfQogCQllbHNlIGlmICh0eXBlcyA9PSBUWVBFX0JPT0wpCiAJCQlzcHJpbnRmKG5vcm1hbGl6ZWQsICIlcyIsCkBAIC0zNjQsNiArMzY4LDk3IEBACiAJCWRpZSgid3JpdGluZyBjb25maWcgYmxvYnMgaXMgbm90IHN1cHBvcnRlZCIpOwogfQogCitzdHJ1Y3QgdXJsbWF0Y2hfY3VycmVudF9jYW5kaWRhdGVfdmFsdWUgeworCWNoYXIgdmFsdWVfaXNfbnVsbDsKKwlzdHJ1Y3Qgc3RyYnVmIHZhbHVlOworfTsKKworc3RhdGljIGludCB1cmxtYXRjaF9jb2xsZWN0X2ZuKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKQoreworCXN0cnVjdCBzdHJpbmdfbGlzdCAqdmFsdWVzID0gY2I7CisJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW0gPSBzdHJpbmdfbGlzdF9pbnNlcnQodmFsdWVzLCB2YXIpOworCXN0cnVjdCB1cmxtYXRjaF9jdXJyZW50X2NhbmRpZGF0ZV92YWx1ZSAqbWF0Y2hlZCA9IGl0ZW0tPnV0aWw7CisKKwlpZiAoIW1hdGNoZWQpIHsKKwkJbWF0Y2hlZCA9IHhtYWxsb2Moc2l6ZW9mKCptYXRjaGVkKSk7CisJCXN0cmJ1Zl9pbml0KCZtYXRjaGVkLT52YWx1ZSwgMCk7CisJCWl0ZW0tPnV0aWwgPSBtYXRjaGVkOworCX0gZWxzZSB7CisJCXN0cmJ1Zl9yZXNldCgmbWF0Y2hlZC0+dmFsdWUpOworCX0KKworCWlmICh2YWx1ZSkgeworCQlzdHJidWZfYWRkc3RyKCZtYXRjaGVkLT52YWx1ZSwgdmFsdWUpOworCQltYXRjaGVkLT52YWx1ZV9pc19udWxsID0gMDsKKwl9IGVsc2UgeworCQltYXRjaGVkLT52YWx1ZV9pc19udWxsID0gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjaGFyICpkdXBfZG93bmNhc2UoY29uc3QgY2hhciAqc3RyaW5nKQoreworCWNoYXIgKnJlc3VsdDsKKwlzaXplX3QgbGVuLCBpOworCisJbGVuID0gc3RybGVuKHN0cmluZyk7CisJcmVzdWx0ID0geG1hbGxvYyhsZW4gKyAxKTsKKwlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspCisJCXJlc3VsdFtpXSA9IHRvbG93ZXIoc3RyaW5nW2ldKTsKKwlyZXN1bHRbaV0gPSAnXDAnOworCXJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X3VybG1hdGNoKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdXJsKQoreworCWNoYXIgKnNlY3Rpb25fdGFpbDsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKKwlzdHJ1Y3QgdXJsbWF0Y2hfY29uZmlnIGNvbmZpZyA9IHsgU1RSSU5HX0xJU1RfSU5JVF9EVVAgfTsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgdmFsdWVzID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CisKKwljb25maWcuY29sbGVjdF9mbiA9IHVybG1hdGNoX2NvbGxlY3RfZm47CisJY29uZmlnLmNhc2NhZGVfZm4gPSBOVUxMOworCWNvbmZpZy5jYiA9ICZ2YWx1ZXM7CisKKwlpZiAoIXVybF9ub3JtYWxpemUodXJsLCAmY29uZmlnLnVybCkpCisJCWRpZSgiJXMiLCBjb25maWcudXJsLmVycik7CisKKwljb25maWcuc2VjdGlvbiA9IGR1cF9kb3duY2FzZSh2YXIpOworCXNlY3Rpb25fdGFpbCA9IHN0cmNocihjb25maWcuc2VjdGlvbiwgJy4nKTsKKwlpZiAoc2VjdGlvbl90YWlsKSB7CisJCSpzZWN0aW9uX3RhaWwgPSAnXDAnOworCQljb25maWcua2V5ID0gc2VjdGlvbl90YWlsICsgMTsKKwkJc2hvd19rZXlzID0gMDsKKwl9IGVsc2UgeworCQljb25maWcua2V5ID0gTlVMTDsKKwkJc2hvd19rZXlzID0gMTsKKwl9CisKKwlnaXRfY29uZmlnX3dpdGhfb3B0aW9ucyh1cmxtYXRjaF9jb25maWdfZW50cnksICZjb25maWcsCisJCQkJZ2l2ZW5fY29uZmlnX2ZpbGUsIE5VTEwsIHJlc3BlY3RfaW5jbHVkZXMpOworCisJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShpdGVtLCAmdmFsdWVzKSB7CisJCXN0cnVjdCB1cmxtYXRjaF9jdXJyZW50X2NhbmRpZGF0ZV92YWx1ZSAqbWF0Y2hlZCA9IGl0ZW0tPnV0aWw7CisJCXN0cnVjdCBzdHJidWYga2V5ID0gU1RSQlVGX0lOSVQ7CisJCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisKKwkJc3RyYnVmX2FkZHN0cigma2V5LCBpdGVtLT5zdHJpbmcpOworCQlmb3JtYXRfY29uZmlnKCZidWYsIGtleS5idWYsCisJCQkgICAgICBtYXRjaGVkLT52YWx1ZV9pc19udWxsID8gTlVMTCA6IG1hdGNoZWQtPnZhbHVlLmJ1Zik7CisJCWZ3cml0ZShidWYuYnVmLCAxLCBidWYubGVuLCBzdGRvdXQpOworCQlzdHJidWZfcmVsZWFzZSgma2V5KTsKKwkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CisKKwkJc3RyYnVmX3JlbGVhc2UoJm1hdGNoZWQtPnZhbHVlKTsKKwl9CisJc3RyaW5nX2xpc3RfY2xlYXIoJmNvbmZpZy52YXJzLCAxKTsKKwlzdHJpbmdfbGlzdF9jbGVhcigmdmFsdWVzLCAxKTsKKwlmcmVlKGNvbmZpZy51cmwudXJsKTsKKworCWZyZWUoKHZvaWQgKiljb25maWcuc2VjdGlvbik7CisJcmV0dXJuIDA7Cit9CisKIGludCBjbWRfY29uZmlnKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCWludCBub25naXQgPSAhc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnk7CkBAIC01MjMsNiArNjE4LDEwIEBACiAJCWNoZWNrX2FyZ2MoYXJnYywgMSwgMik7CiAJCXJldHVybiBnZXRfdmFsdWUoYXJndlswXSwgYXJndlsxXSk7CiAJfQorCWVsc2UgaWYgKGFjdGlvbnMgPT0gQUNUSU9OX0dFVF9VUkxNQVRDSCkgeworCQljaGVja19hcmdjKGFyZ2MsIDIsIDIpOworCQlyZXR1cm4gZ2V0X3VybG1hdGNoKGFyZ3ZbMF0sIGFyZ3ZbMV0pOworCX0KIAllbHNlIGlmIChhY3Rpb25zID09IEFDVElPTl9VTlNFVCkgewogCQljaGVja19ibG9iX3dyaXRlKCk7CiAJCWNoZWNrX2FyZ2MoYXJnYywgMSwgMik7CmRpZmYgLS1naXQgYS9idWlsdGluL2Rlc2NyaWJlLmMgYi9idWlsdGluL2Rlc2NyaWJlLmMKaW5kZXggN2Q3MzcyMi4uNmY2MjEwOSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9kZXNjcmliZS5jCisrKyBiL2J1aWx0aW4vZGVzY3JpYmUuYwpAQCAtOSwxMSArOSwxMSBAQAogI2luY2x1ZGUgImhhc2guaCIKICNpbmNsdWRlICJhcmd2LWFycmF5LmgiCiAKLSNkZWZpbmUgU0VFTgkJKDF1PDwwKQorI2RlZmluZSBTRUVOCQkoMXUgPDwgMCkKICNkZWZpbmUgTUFYX1RBR1MJKEZMQUdfQklUUyAtIDEpCiAKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZGVzY3JpYmVfdXNhZ2VbXSA9IHsKLQlOXygiZ2l0IGRlc2NyaWJlIFtvcHRpb25zXSA8Y29tbWl0dGlzaD4qIiksCisJTl8oImdpdCBkZXNjcmliZSBbb3B0aW9uc10gPGNvbW1pdC1pc2g+KiIpLAogCU5fKCJnaXQgZGVzY3JpYmUgW29wdGlvbnNdIC0tZGlydHkiKSwKIAlOVUxMCiB9OwpAQCAtMzYsNyArMzYsNiBAQAogCSJkaWZmLWluZGV4IiwgIi0tcXVpZXQiLCAiSEVBRCIsICItLSIsIE5VTEwKIH07CiAKLQogc3RydWN0IGNvbW1pdF9uYW1lIHsKIAlzdHJ1Y3QgY29tbWl0X25hbWUgKm5leHQ7CiAJdW5zaWduZWQgY2hhciBwZWVsZWRbMjBdOwpAQCAtNDYsNiArNDUsNyBAQAogCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CiAJY2hhciAqcGF0aDsKIH07CisKIHN0YXRpYyBjb25zdCBjaGFyICpwcmlvX25hbWVzW10gPSB7CiAJImhlYWQiLCAibGlnaHR3ZWlnaHQiLCAiYW5ub3RhdGVkIiwKIH07CkBAIC00MDYsMTIgKzQwNiwxMiBAQAogewogCWludCBjb250YWlucyA9IDA7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MRUFOKDAsICJjb250YWlucyIsICAgJmNvbnRhaW5zLCBOXygiZmluZCB0aGUgdGFnIHRoYXQgY29tZXMgYWZ0ZXIgdGhlIGNvbW1pdCIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImRlYnVnIiwgICAgICAmZGVidWcsIE5fKCJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIikpLAotCQlPUFRfQk9PTEVBTigwLCAiYWxsIiwgICAgICAgICZhbGwsIE5fKCJ1c2UgYW55IHJlZiIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgInRhZ3MiLCAgICAgICAmdGFncywgTl8oInVzZSBhbnkgdGFnLCBldmVuIHVuYW5ub3RhdGVkIikpLAotCQlPUFRfQk9PTEVBTigwLCAibG9uZyIsICAgICAgICZsb25nZm9ybWF0LCBOXygiYWx3YXlzIHVzZSBsb25nIGZvcm1hdCIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImZpcnN0LXBhcmVudCIsICZmaXJzdF9wYXJlbnQsIE5fKCJvbmx5IGZvbGxvdyBmaXJzdCBwYXJlbnQiKSksCisJCU9QVF9CT09MKDAsICJjb250YWlucyIsICAgJmNvbnRhaW5zLCBOXygiZmluZCB0aGUgdGFnIHRoYXQgY29tZXMgYWZ0ZXIgdGhlIGNvbW1pdCIpKSwKKwkJT1BUX0JPT0woMCwgImRlYnVnIiwgICAgICAmZGVidWcsIE5fKCJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIikpLAorCQlPUFRfQk9PTCgwLCAiYWxsIiwgICAgICAgICZhbGwsIE5fKCJ1c2UgYW55IHJlZiIpKSwKKwkJT1BUX0JPT0woMCwgInRhZ3MiLCAgICAgICAmdGFncywgTl8oInVzZSBhbnkgdGFnLCBldmVuIHVuYW5ub3RhdGVkIikpLAorCQlPUFRfQk9PTCgwLCAibG9uZyIsICAgICAgICZsb25nZm9ybWF0LCBOXygiYWx3YXlzIHVzZSBsb25nIGZvcm1hdCIpKSwKKwkJT1BUX0JPT0woMCwgImZpcnN0LXBhcmVudCIsICZmaXJzdF9wYXJlbnQsIE5fKCJvbmx5IGZvbGxvdyBmaXJzdCBwYXJlbnQiKSksCiAJCU9QVF9fQUJCUkVWKCZhYmJyZXYpLAogCQlPUFRfU0VUX0lOVCgwLCAiZXhhY3QtbWF0Y2giLCAmbWF4X2NhbmRpZGF0ZXMsCiAJCQkgICAgTl8oIm9ubHkgb3V0cHV0IGV4YWN0IG1hdGNoZXMiKSwgMCksCkBAIC00MTksMTEgKzQxOSwxMSBAQAogCQkJICAgIE5fKCJjb25zaWRlciA8bj4gbW9zdCByZWNlbnQgdGFncyAoZGVmYXVsdDogMTApIikpLAogCQlPUFRfU1RSSU5HKDAsICJtYXRjaCIsICAgICAgICZwYXR0ZXJuLCBOXygicGF0dGVybiIpLAogCQkJICAgTl8oIm9ubHkgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iKSksCi0JCU9QVF9CT09MRUFOKDAsICJhbHdheXMiLCAgICAgJmFsd2F5cywKLQkJCSAgIE5fKCJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siKSksCisJCU9QVF9CT09MKDAsICJhbHdheXMiLCAgICAgICAgJmFsd2F5cywKKwkJCU5fKCJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siKSksCiAJCXtPUFRJT05fU1RSSU5HLCAwLCAiZGlydHkiLCAgJmRpcnR5LCBOXygibWFyayIpLAotCQkJICAgTl8oImFwcGVuZCA8bWFyaz4gb24gZGlydHkgd29ya2luZyB0cmVlIChkZWZhdWx0OiBcIi1kaXJ0eVwiKSIpLAotCQkgUEFSU0VfT1BUX09QVEFSRywgTlVMTCwgKGludHB0cl90KSAiLWRpcnR5In0sCisJCQlOXygiYXBwZW5kIDxtYXJrPiBvbiBkaXJ0eSB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWRpcnR5XCIpIiksCisJCQlQQVJTRV9PUFRfT1BUQVJHLCBOVUxMLCAoaW50cHRyX3QpICItZGlydHkifSwKIAkJT1BUX0VORCgpLAogCX07CiAKQEAgLTQ4NiwxMSArNDg2LDEwIEBACiAJCX0KIAkJZGVzY3JpYmUoIkhFQUQiLCAxKTsKIAl9IGVsc2UgaWYgKGRpcnR5KSB7Ci0JCWRpZShfKCItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdHRpc2hlcyIpKTsKKwkJZGllKF8oIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIikpOwogCX0gZWxzZSB7Ci0JCXdoaWxlIChhcmdjLS0gPiAwKSB7CisJCXdoaWxlIChhcmdjLS0gPiAwKQogCQkJZGVzY3JpYmUoKmFyZ3YrKywgYXJnYyA9PSAwKTsKLQkJfQogCX0KIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vZGlmZi1maWxlcy5jIGIvYnVpbHRpbi9kaWZmLWZpbGVzLmMKaW5kZXggNDYwODVmOC4uOTIwMDA2OSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9kaWZmLWZpbGVzLmMKKysrIGIvYnVpbHRpbi9kaWZmLWZpbGVzLmMKQEAgLTYxLDcgKzYxLDcgQEAKIAkgICAgKHJldi5kaWZmb3B0Lm91dHB1dF9mb3JtYXQgJiBESUZGX0ZPUk1BVF9QQVRDSCkpCiAJCXJldi5jb21iaW5lX21lcmdlcyA9IHJldi5kZW5zZV9jb21iaW5lZF9tZXJnZXMgPSAxOwogCi0JaWYgKHJlYWRfY2FjaGVfcHJlbG9hZChyZXYuZGlmZm9wdC5wYXRoc3BlYy5yYXcpIDwgMCkgeworCWlmIChyZWFkX2NhY2hlX3ByZWxvYWQoJnJldi5kaWZmb3B0LnBhdGhzcGVjKSA8IDApIHsKIAkJcGVycm9yKCJyZWFkX2NhY2hlX3ByZWxvYWQiKTsKIAkJcmV0dXJuIC0xOwogCX0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vZGlmZi1pbmRleC5jIGIvYnVpbHRpbi9kaWZmLWluZGV4LmMKaW5kZXggMWM3MzdmNy4uY2UxNWIyMyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9kaWZmLWluZGV4LmMKKysrIGIvYnVpbHRpbi9kaWZmLWluZGV4LmMKQEAgLTQzLDcgKzQzLDcgQEAKIAkJdXNhZ2UoZGlmZl9jYWNoZV91c2FnZSk7CiAJaWYgKCFjYWNoZWQpIHsKIAkJc2V0dXBfd29ya190cmVlKCk7Ci0JCWlmIChyZWFkX2NhY2hlX3ByZWxvYWQocmV2LmRpZmZvcHQucGF0aHNwZWMucmF3KSA8IDApIHsKKwkJaWYgKHJlYWRfY2FjaGVfcHJlbG9hZCgmcmV2LmRpZmZvcHQucGF0aHNwZWMpIDwgMCkgewogCQkJcGVycm9yKCJyZWFkX2NhY2hlX3ByZWxvYWQiKTsKIAkJCXJldHVybiAtMTsKIAkJfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9kaWZmLmMgYi9idWlsdGluL2RpZmYuYwppbmRleCA5ZmMyNzNkLi5hZGI5M2E5IDEwMDY0NAotLS0gYS9idWlsdGluL2RpZmYuYworKysgYi9idWlsdGluL2RpZmYuYwpAQCAtMTQwLDcgKzE0MCw3IEBACiAJCXVzYWdlKGJ1aWx0aW5fZGlmZl91c2FnZSk7CiAJaWYgKCFjYWNoZWQpIHsKIAkJc2V0dXBfd29ya190cmVlKCk7Ci0JCWlmIChyZWFkX2NhY2hlX3ByZWxvYWQocmV2cy0+ZGlmZm9wdC5wYXRoc3BlYy5yYXcpIDwgMCkgeworCQlpZiAocmVhZF9jYWNoZV9wcmVsb2FkKCZyZXZzLT5kaWZmb3B0LnBhdGhzcGVjKSA8IDApIHsKIAkJCXBlcnJvcigicmVhZF9jYWNoZV9wcmVsb2FkIik7CiAJCQlyZXR1cm4gLTE7CiAJCX0KQEAgLTE2OSw3ICsxNjksNyBAQAogCWlmIChlbnQxLT5pdGVtLT5mbGFncyAmIFVOSU5URVJFU1RJTkcpCiAJCXN3YXAgPSAxOwogCXNoYTFbc3dhcF0gPSBlbnQwLT5pdGVtLT5zaGExOwotCXNoYTFbMS1zd2FwXSA9IGVudDEtPml0ZW0tPnNoYTE7CisJc2hhMVsxIC0gc3dhcF0gPSBlbnQxLT5pdGVtLT5zaGExOwogCWRpZmZfdHJlZV9zaGExKHNoYTFbMF0sIHNoYTFbMV0sICIiLCAmcmV2cy0+ZGlmZm9wdCk7CiAJbG9nX3RyZWVfZGlmZl9mbHVzaChyZXZzKTsKIAlyZXR1cm4gMDsKQEAgLTI0Miw3ICsyNDIsNyBAQAogCQlyZXZzLT5jb21iaW5lX21lcmdlcyA9IHJldnMtPmRlbnNlX2NvbWJpbmVkX21lcmdlcyA9IDE7CiAKIAlzZXR1cF93b3JrX3RyZWUoKTsKLQlpZiAocmVhZF9jYWNoZV9wcmVsb2FkKHJldnMtPmRpZmZvcHQucGF0aHNwZWMucmF3KSA8IDApIHsKKwlpZiAocmVhZF9jYWNoZV9wcmVsb2FkKCZyZXZzLT5kaWZmb3B0LnBhdGhzcGVjKSA8IDApIHsKIAkJcGVycm9yKCJyZWFkX2NhY2hlX3ByZWxvYWQiKTsKIAkJcmV0dXJuIC0xOwogCX0KQEAgLTM2Nyw2ICszNjcsOCBAQAogCQl9CiAJfQogCWlmIChyZXYucHJ1bmVfZGF0YS5ucikgeworCQkvKiBidWlsdGluX2RpZmZfYl9mKCkgKi8KKwkJR1VBUkRfUEFUSFNQRUMoJnJldi5wcnVuZV9kYXRhLCBQQVRIU1BFQ19GUk9NVE9QIHwgUEFUSFNQRUNfTElURVJBTCk7CiAJCWlmICghcGF0aCkKIAkJCXBhdGggPSByZXYucHJ1bmVfZGF0YS5pdGVtc1swXS5tYXRjaDsKIAkJcGF0aHMgKz0gcmV2LnBydW5lX2RhdGEubnI7CmRpZmYgLS1naXQgYS9idWlsdGluL2Zhc3QtZXhwb3J0LmMgYi9idWlsdGluL2Zhc3QtZXhwb3J0LmMKaW5kZXggOGUxOTA1OC4uNzgyNTBlYSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9mYXN0LWV4cG9ydC5jCisrKyBiL2J1aWx0aW4vZmFzdC1leHBvcnQuYwpAQCAtMzAsNiArMzAsNyBAQAogc3RhdGljIGludCB1c2VfZG9uZV9mZWF0dXJlOwogc3RhdGljIGludCBub19kYXRhOwogc3RhdGljIGludCBmdWxsX3RyZWU7CitzdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IGV4dHJhX3JlZnMgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogCiBzdGF0aWMgaW50IHBhcnNlX29wdF9zaWduZWRfdGFnX21vZGUoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAogCQkJCSAgICAgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCkBAIC00ODQsMTAgKzQ4NSwzMiBAQAogCSAgICAgICAoaW50KW1lc3NhZ2Vfc2l6ZSwgKGludCltZXNzYWdlX3NpemUsIG1lc3NhZ2UgPyBtZXNzYWdlIDogIiIpOwogfQogCi1zdGF0aWMgdm9pZCBnZXRfdGFnc19hbmRfZHVwbGljYXRlcyhzdHJ1Y3QgcmV2X2NtZGxpbmVfaW5mbyAqaW5mbywKLQkJCQkgICAgc3RydWN0IHN0cmluZ19saXN0ICpleHRyYV9yZWZzKQorc3RhdGljIHN0cnVjdCBjb21taXQgKmdldF9jb21taXQoc3RydWN0IHJldl9jbWRsaW5lX2VudHJ5ICplLCBjaGFyICpmdWxsX25hbWUpCiB7Ci0Jc3RydWN0IHRhZyAqdGFnOworCXN3aXRjaCAoZS0+aXRlbS0+dHlwZSkgeworCWNhc2UgT0JKX0NPTU1JVDoKKwkJcmV0dXJuIChzdHJ1Y3QgY29tbWl0ICopZS0+aXRlbTsKKwljYXNlIE9CSl9UQUc6IHsKKwkJc3RydWN0IHRhZyAqdGFnID0gKHN0cnVjdCB0YWcgKillLT5pdGVtOworCisJCS8qIGhhbmRsZSBuZXN0ZWQgdGFncyAqLworCQl3aGlsZSAodGFnICYmIHRhZy0+b2JqZWN0LnR5cGUgPT0gT0JKX1RBRykgeworCQkJcGFyc2Vfb2JqZWN0KHRhZy0+b2JqZWN0LnNoYTEpOworCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZleHRyYV9yZWZzLCBmdWxsX25hbWUpLT51dGlsID0gdGFnOworCQkJdGFnID0gKHN0cnVjdCB0YWcgKil0YWctPnRhZ2dlZDsKKwkJfQorCQlpZiAoIXRhZykKKwkJCWRpZSgiVGFnICVzIHBvaW50cyBub3doZXJlPyIsIGUtPm5hbWUpOworCQlyZXR1cm4gKHN0cnVjdCBjb21taXQgKil0YWc7CisJCWJyZWFrOworCX0KKwlkZWZhdWx0OgorCQlyZXR1cm4gTlVMTDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGdldF90YWdzX2FuZF9kdXBsaWNhdGVzKHN0cnVjdCByZXZfY21kbGluZV9pbmZvICppbmZvKQorewogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IGluZm8tPm5yOyBpKyspIHsKQEAgLTUwMiw2MCArNTI1LDQ1IEBACiAJCWlmIChkd2ltX3JlZihlLT5uYW1lLCBzdHJsZW4oZS0+bmFtZSksIHNoYTEsICZmdWxsX25hbWUpICE9IDEpCiAJCQljb250aW51ZTsKIAotCQlzd2l0Y2ggKGUtPml0ZW0tPnR5cGUpIHsKLQkJY2FzZSBPQkpfQ09NTUlUOgotCQkJY29tbWl0ID0gKHN0cnVjdCBjb21taXQgKillLT5pdGVtOwotCQkJYnJlYWs7Ci0JCWNhc2UgT0JKX1RBRzoKLQkJCXRhZyA9IChzdHJ1Y3QgdGFnICopZS0+aXRlbTsKLQotCQkJLyogaGFuZGxlIG5lc3RlZCB0YWdzICovCi0JCQl3aGlsZSAodGFnICYmIHRhZy0+b2JqZWN0LnR5cGUgPT0gT0JKX1RBRykgewotCQkJCXBhcnNlX29iamVjdCh0YWctPm9iamVjdC5zaGExKTsKLQkJCQlzdHJpbmdfbGlzdF9hcHBlbmQoZXh0cmFfcmVmcywgZnVsbF9uYW1lKS0+dXRpbCA9IHRhZzsKLQkJCQl0YWcgPSAoc3RydWN0IHRhZyAqKXRhZy0+dGFnZ2VkOwotCQkJfQotCQkJaWYgKCF0YWcpCi0JCQkJZGllICgiVGFnICVzIHBvaW50cyBub3doZXJlPyIsIGUtPm5hbWUpOwotCQkJc3dpdGNoKHRhZy0+b2JqZWN0LnR5cGUpIHsKLQkJCWNhc2UgT0JKX0NPTU1JVDoKLQkJCQljb21taXQgPSAoc3RydWN0IGNvbW1pdCAqKXRhZzsKLQkJCQlicmVhazsKLQkJCWNhc2UgT0JKX0JMT0I6Ci0JCQkJZXhwb3J0X2Jsb2IodGFnLT5vYmplY3Quc2hhMSk7Ci0JCQkJY29udGludWU7Ci0JCQlkZWZhdWx0OiAvKiBPQkpfVEFHIChuZXN0ZWQgdGFncykgaXMgYWxyZWFkeSBoYW5kbGVkICovCi0JCQkJd2FybmluZygiVGFnIHBvaW50cyB0byBvYmplY3Qgb2YgdW5leHBlY3RlZCB0eXBlICVzLCBza2lwcGluZy4iLAotCQkJCQl0eXBlbmFtZSh0YWctPm9iamVjdC50eXBlKSk7Ci0JCQkJY29udGludWU7Ci0JCQl9Ci0JCQlicmVhazsKLQkJZGVmYXVsdDoKKwkJY29tbWl0ID0gZ2V0X2NvbW1pdChlLCBmdWxsX25hbWUpOworCQlpZiAoIWNvbW1pdCkgewogCQkJd2FybmluZygiJXM6IFVuZXhwZWN0ZWQgb2JqZWN0IG9mIHR5cGUgJXMsIHNraXBwaW5nLiIsCiAJCQkJZS0+bmFtZSwKIAkJCQl0eXBlbmFtZShlLT5pdGVtLT50eXBlKSk7CiAJCQljb250aW51ZTsKIAkJfQogCisJCXN3aXRjaChjb21taXQtPm9iamVjdC50eXBlKSB7CisJCWNhc2UgT0JKX0NPTU1JVDoKKwkJCWJyZWFrOworCQljYXNlIE9CSl9CTE9COgorCQkJZXhwb3J0X2Jsb2IoY29tbWl0LT5vYmplY3Quc2hhMSk7CisJCQljb250aW51ZTsKKwkJZGVmYXVsdDogLyogT0JKX1RBRyAobmVzdGVkIHRhZ3MpIGlzIGFscmVhZHkgaGFuZGxlZCAqLworCQkJd2FybmluZygiVGFnIHBvaW50cyB0byBvYmplY3Qgb2YgdW5leHBlY3RlZCB0eXBlICVzLCBza2lwcGluZy4iLAorCQkJCXR5cGVuYW1lKGNvbW1pdC0+b2JqZWN0LnR5cGUpKTsKKwkJCWNvbnRpbnVlOworCQl9CisKIAkJLyoKIAkJICogVGhpcyByZWYgd2lsbCBub3QgYmUgdXBkYXRlZCB0aHJvdWdoIGEgY29tbWl0LCBsZXRzIG1ha2UKIAkJICogc3VyZSBpdCBnZXRzIHByb3Blcmx5IHVwZGF0ZWQgZXZlbnR1YWxseS4KIAkJICovCiAJCWlmIChjb21taXQtPnV0aWwgfHwgY29tbWl0LT5vYmplY3QuZmxhZ3MgJiBTSE9XTikKLQkJCXN0cmluZ19saXN0X2FwcGVuZChleHRyYV9yZWZzLCBmdWxsX25hbWUpLT51dGlsID0gY29tbWl0OworCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZleHRyYV9yZWZzLCBmdWxsX25hbWUpLT51dGlsID0gY29tbWl0OwogCQlpZiAoIWNvbW1pdC0+dXRpbCkKIAkJCWNvbW1pdC0+dXRpbCA9IGZ1bGxfbmFtZTsKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIGhhbmRsZV90YWdzX2FuZF9kdXBsaWNhdGVzKHN0cnVjdCBzdHJpbmdfbGlzdCAqZXh0cmFfcmVmcykKK3N0YXRpYyB2b2lkIGhhbmRsZV90YWdzX2FuZF9kdXBsaWNhdGVzKHZvaWQpCiB7CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwogCWludCBpOwogCi0JZm9yIChpID0gZXh0cmFfcmVmcy0+bnIgLSAxOyBpID49IDA7IGktLSkgewotCQljb25zdCBjaGFyICpuYW1lID0gZXh0cmFfcmVmcy0+aXRlbXNbaV0uc3RyaW5nOwotCQlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3QgPSBleHRyYV9yZWZzLT5pdGVtc1tpXS51dGlsOworCWZvciAoaSA9IGV4dHJhX3JlZnMubnIgLSAxOyBpID49IDA7IGktLSkgeworCQljb25zdCBjaGFyICpuYW1lID0gZXh0cmFfcmVmcy5pdGVtc1tpXS5zdHJpbmc7CisJCXN0cnVjdCBvYmplY3QgKm9iamVjdCA9IGV4dHJhX3JlZnMuaXRlbXNbaV0udXRpbDsKIAkJc3dpdGNoIChvYmplY3QtPnR5cGUpIHsKIAkJY2FzZSBPQkpfVEFHOgogCQkJaGFuZGxlX3RhZyhuYW1lLCAoc3RydWN0IHRhZyAqKW9iamVjdCk7CkBAIC02NTcsNyArNjY1LDYgQEAKIHsKIAlzdHJ1Y3QgcmV2X2luZm8gcmV2czsKIAlzdHJ1Y3Qgb2JqZWN0X2FycmF5IGNvbW1pdHMgPSBPQkpFQ1RfQVJSQVlfSU5JVDsKLQlzdHJ1Y3Qgc3RyaW5nX2xpc3QgZXh0cmFfcmVmcyA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwogCWNoYXIgKmV4cG9ydF9maWxlbmFtZSA9IE5VTEwsICppbXBvcnRfZmlsZW5hbWUgPSBOVUxMOwogCXVpbnQzMl90IGxhc3RpbXBvcnRpZDsKQEAgLTY3NCwxMSArNjgxLDExIEBACiAJCQkgICAgIE5fKCJEdW1wIG1hcmtzIHRvIHRoaXMgZmlsZSIpKSwKIAkJT1BUX1NUUklORygwLCAiaW1wb3J0LW1hcmtzIiwgJmltcG9ydF9maWxlbmFtZSwgTl8oImZpbGUiKSwKIAkJCSAgICAgTl8oIkltcG9ydCBtYXJrcyBmcm9tIHRoaXMgZmlsZSIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImZha2UtbWlzc2luZy10YWdnZXIiLCAmZmFrZV9taXNzaW5nX3RhZ2dlciwKLQkJCSAgICAgTl8oIkZha2UgYSB0YWdnZXIgd2hlbiB0YWdzIGxhY2sgb25lIikpLAotCQlPUFRfQk9PTEVBTigwLCAiZnVsbC10cmVlIiwgJmZ1bGxfdHJlZSwKLQkJCSAgICAgTl8oIk91dHB1dCBmdWxsIHRyZWUgZm9yIGVhY2ggY29tbWl0IikpLAotCQlPUFRfQk9PTEVBTigwLCAidXNlLWRvbmUtZmVhdHVyZSIsICZ1c2VfZG9uZV9mZWF0dXJlLAorCQlPUFRfQk9PTCgwLCAiZmFrZS1taXNzaW5nLXRhZ2dlciIsICZmYWtlX21pc3NpbmdfdGFnZ2VyLAorCQkJIE5fKCJGYWtlIGEgdGFnZ2VyIHdoZW4gdGFncyBsYWNrIG9uZSIpKSwKKwkJT1BUX0JPT0woMCwgImZ1bGwtdHJlZSIsICZmdWxsX3RyZWUsCisJCQkgTl8oIk91dHB1dCBmdWxsIHRyZWUgZm9yIGVhY2ggY29tbWl0IikpLAorCQlPUFRfQk9PTCgwLCAidXNlLWRvbmUtZmVhdHVyZSIsICZ1c2VfZG9uZV9mZWF0dXJlLAogCQkJICAgICBOXygiVXNlIHRoZSBkb25lIGZlYXR1cmUgdG8gdGVybWluYXRlIHRoZSBzdHJlYW0iKSksCiAJCU9QVF9CT09MKDAsICJuby1kYXRhIiwgJm5vX2RhdGEsIE5fKCJTa2lwIG91dHB1dCBvZiBibG9iIGRhdGEiKSksCiAJCU9QVF9FTkQoKQpAQCAtNzA5LDcgKzcxNiw3IEBACiAJaWYgKGltcG9ydF9maWxlbmFtZSAmJiByZXZzLnBydW5lX2RhdGEubnIpCiAJCWZ1bGxfdHJlZSA9IDE7CiAKLQlnZXRfdGFnc19hbmRfZHVwbGljYXRlcygmcmV2cy5jbWRsaW5lLCAmZXh0cmFfcmVmcyk7CisJZ2V0X3RhZ3NfYW5kX2R1cGxpY2F0ZXMoJnJldnMuY21kbGluZSk7CiAKIAlpZiAocHJlcGFyZV9yZXZpc2lvbl93YWxrKCZyZXZzKSkKIAkJZGllKCJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIpOwpAQCAtNzI1LDcgKzczMiw3IEBACiAJCX0KIAl9CiAKLQloYW5kbGVfdGFnc19hbmRfZHVwbGljYXRlcygmZXh0cmFfcmVmcyk7CisJaGFuZGxlX3RhZ3NfYW5kX2R1cGxpY2F0ZXMoKTsKIAogCWlmIChleHBvcnRfZmlsZW5hbWUgJiYgbGFzdGltcG9ydGlkICE9IGxhc3RfaWRudW0pCiAJCWV4cG9ydF9tYXJrcyhleHBvcnRfZmlsZW5hbWUpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9mZXRjaC1wYWNrLmMgYi9idWlsdGluL2ZldGNoLXBhY2suYwppbmRleCBhYmE0NDY1Li5jOGU4NTgyIDEwMDY0NAotLS0gYS9idWlsdGluL2ZldGNoLXBhY2suYworKysgYi9idWlsdGluL2ZldGNoLXBhY2suYwpAQCAtMSw2ICsxLDggQEAKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAicGt0LWxpbmUuaCIKICNpbmNsdWRlICJmZXRjaC1wYWNrLmgiCisjaW5jbHVkZSAicmVtb3RlLmgiCisjaW5jbHVkZSAiY29ubmVjdC5oIgogCiBzdGF0aWMgY29uc3QgY2hhciBmZXRjaF9wYWNrX3VzYWdlW10gPQogImdpdCBmZXRjaC1wYWNrIFstLWFsbF0gWy0tc3RkaW5dIFstLXF1aWV0fC1xXSBbLS1rZWVwfC1rXSBbLS10aGluXSAiCkBAIC0xMDAsNiArMTAyLDEwIEBACiAJCQlwYWNrX2xvY2tmaWxlX3B0ciA9ICZwYWNrX2xvY2tmaWxlOwogCQkJY29udGludWU7CiAJCX0KKwkJaWYgKCFzdHJjbXAoIi0tY2hlY2stc2VsZi1jb250YWluZWQtYW5kLWNvbm5lY3RlZCIsIGFyZykpIHsKKwkJCWFyZ3MuY2hlY2tfc2VsZl9jb250YWluZWRfYW5kX2Nvbm5lY3RlZCA9IDE7CisJCQljb250aW51ZTsKKwkJfQogCQl1c2FnZShmZXRjaF9wYWNrX3VzYWdlKTsKIAl9CiAKQEAgLTE1Miw2ICsxNTgsMTEgQEAKIAkJcHJpbnRmKCJsb2NrICVzXG4iLCBwYWNrX2xvY2tmaWxlKTsKIAkJZmZsdXNoKHN0ZG91dCk7CiAJfQorCWlmIChhcmdzLmNoZWNrX3NlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQgJiYKKwkgICAgYXJncy5zZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkKSB7CisJCXByaW50ZigiY29ubmVjdGl2aXR5LW9rXG4iKTsKKwkJZmZsdXNoKHN0ZG91dCk7CisJfQogCWNsb3NlKGZkWzBdKTsKIAljbG9zZShmZFsxXSk7CiAJaWYgKGZpbmlzaF9jb25uZWN0KGNvbm4pKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9mZXRjaC5jIGIvYnVpbHRpbi9mZXRjaC5jCmluZGV4IDU2NDcwNTUuLmJkN2ExMDEgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vZmV0Y2guYworKysgYi9idWlsdGluL2ZldGNoLmMKQEAgLTMwLDcgKzMwLDExIEBACiAJVEFHU19TRVQgPSAyCiB9OwogCi1zdGF0aWMgaW50IGFsbCwgYXBwZW5kLCBkcnlfcnVuLCBmb3JjZSwga2VlcCwgbXVsdGlwbGUsIHBydW5lLCB1cGRhdGVfaGVhZF9vaywgdmVyYm9zaXR5Oworc3RhdGljIGludCBmZXRjaF9wcnVuZV9jb25maWcgPSAtMTsgLyogdW5zcGVjaWZpZWQgKi8KK3N0YXRpYyBpbnQgcHJ1bmUgPSAtMTsgLyogdW5zcGVjaWZpZWQgKi8KKyNkZWZpbmUgUFJVTkVfQllfREVGQVVMVCAwIC8qIGRvIHdlIHBydW5lIGJ5IGRlZmF1bHQ/ICovCisKK3N0YXRpYyBpbnQgYWxsLCBhcHBlbmQsIGRyeV9ydW4sIGZvcmNlLCBrZWVwLCBtdWx0aXBsZSwgdXBkYXRlX2hlYWRfb2ssIHZlcmJvc2l0eTsKIHN0YXRpYyBpbnQgcHJvZ3Jlc3MgPSAtMSwgcmVjdXJzZV9zdWJtb2R1bGVzID0gUkVDVVJTRV9TVUJNT0RVTEVTX0RFRkFVTFQ7CiBzdGF0aWMgaW50IHRhZ3MgPSBUQUdTX0RFRkFVTFQsIHVuc2hhbGxvdzsKIHN0YXRpYyBjb25zdCBjaGFyICpkZXB0aDsKQEAgLTU1LDMwICs1OSwzOSBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGdpdF9mZXRjaF9jb25maWcoY29uc3QgY2hhciAqaywgY29uc3QgY2hhciAqdiwgdm9pZCAqY2IpCit7CisJaWYgKCFzdHJjbXAoaywgImZldGNoLnBydW5lIikpIHsKKwkJZmV0Y2hfcHJ1bmVfY29uZmlnID0gZ2l0X2NvbmZpZ19ib29sKGssIHYpOworCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIGJ1aWx0aW5fZmV0Y2hfb3B0aW9uc1tdID0gewogCU9QVF9fVkVSQk9TSVRZKCZ2ZXJib3NpdHkpLAotCU9QVF9CT09MRUFOKDAsICJhbGwiLCAmYWxsLAotCQkgICAgTl8oImZldGNoIGZyb20gYWxsIHJlbW90ZXMiKSksCi0JT1BUX0JPT0xFQU4oJ2EnLCAiYXBwZW5kIiwgJmFwcGVuZCwKLQkJICAgIE5fKCJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciKSksCisJT1BUX0JPT0woMCwgImFsbCIsICZhbGwsCisJCSBOXygiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIpKSwKKwlPUFRfQk9PTCgnYScsICJhcHBlbmQiLCAmYXBwZW5kLAorCQkgTl8oImFwcGVuZCB0byAuZ2l0L0ZFVENIX0hFQUQgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyIpKSwKIAlPUFRfU1RSSU5HKDAsICJ1cGxvYWQtcGFjayIsICZ1cGxvYWRfcGFjaywgTl8oInBhdGgiKSwKIAkJICAgTl8oInBhdGggdG8gdXBsb2FkIHBhY2sgb24gcmVtb3RlIGVuZCIpKSwKIAlPUFRfX0ZPUkNFKCZmb3JjZSwgTl8oImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giKSksCi0JT1BUX0JPT0xFQU4oJ20nLCAibXVsdGlwbGUiLCAmbXVsdGlwbGUsCi0JCSAgICBOXygiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIikpLAorCU9QVF9CT09MKCdtJywgIm11bHRpcGxlIiwgJm11bHRpcGxlLAorCQkgTl8oImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIpKSwKIAlPUFRfU0VUX0lOVCgndCcsICJ0YWdzIiwgJnRhZ3MsCiAJCSAgICBOXygiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIpLCBUQUdTX1NFVCksCiAJT1BUX1NFVF9JTlQoJ24nLCBOVUxMLCAmdGFncywKIAkJICAgIE5fKCJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiKSwgVEFHU19VTlNFVCksCi0JT1BUX0JPT0xFQU4oJ3AnLCAicHJ1bmUiLCAmcHJ1bmUsCi0JCSAgICBOXygicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiKSksCisJT1BUX0JPT0woJ3AnLCAicHJ1bmUiLCAmcHJ1bmUsCisJCSBOXygicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiKSksCiAJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJyZWN1cnNlLXN1Ym1vZHVsZXMiLCBOVUxMLCBOXygib24tZGVtYW5kIiksCiAJCSAgICBOXygiY29udHJvbCByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIpLAogCQkgICAgUEFSU0VfT1BUX09QVEFSRywgb3B0aW9uX3BhcnNlX3JlY3Vyc2Vfc3VibW9kdWxlcyB9LAotCU9QVF9CT09MRUFOKDAsICJkcnktcnVuIiwgJmRyeV9ydW4sCi0JCSAgICBOXygiZHJ5IHJ1biIpKSwKLQlPUFRfQk9PTEVBTignaycsICJrZWVwIiwgJmtlZXAsIE5fKCJrZWVwIGRvd25sb2FkZWQgcGFjayIpKSwKLQlPUFRfQk9PTEVBTigndScsICJ1cGRhdGUtaGVhZC1vayIsICZ1cGRhdGVfaGVhZF9vaywKKwlPUFRfQk9PTCgwLCAiZHJ5LXJ1biIsICZkcnlfcnVuLAorCQkgTl8oImRyeSBydW4iKSksCisJT1BUX0JPT0woJ2snLCAia2VlcCIsICZrZWVwLCBOXygia2VlcCBkb3dubG9hZGVkIHBhY2siKSksCisJT1BUX0JPT0woJ3UnLCAidXBkYXRlLWhlYWQtb2siLCAmdXBkYXRlX2hlYWRfb2ssCiAJCSAgICBOXygiYWxsb3cgdXBkYXRpbmcgb2YgSEVBRCByZWYiKSksCiAJT1BUX0JPT0woMCwgInByb2dyZXNzIiwgJnByb2dyZXNzLCBOXygiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIikpLAogCU9QVF9TVFJJTkcoMCwgImRlcHRoIiwgJmRlcHRoLCBOXygiZGVwdGgiKSwKQEAgLTI0OSw3ICsyNjIsOCBAQAogCQlybGEgPSBkZWZhdWx0X3JsYS5idWY7CiAJc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzOiAlcyIsIHJsYSwgYWN0aW9uKTsKIAlsb2NrID0gbG9ja19hbnlfcmVmX2Zvcl91cGRhdGUocmVmLT5uYW1lLAotCQkJCSAgICAgICBjaGVja19vbGQgPyByZWYtPm9sZF9zaGExIDogTlVMTCwgMCk7CisJCQkJICAgICAgIGNoZWNrX29sZCA/IHJlZi0+b2xkX3NoYTEgOiBOVUxMLAorCQkJCSAgICAgICAwLCBOVUxMKTsKIAlpZiAoIWxvY2spCiAJCXJldHVybiBlcnJubyA9PSBFTk9URElSID8gU1RPUkVfUkVGX0VSUk9SX0RGX0NPTkZMSUNUIDoKIAkJCQkJICBTVE9SRV9SRUZfRVJST1JfT1RIRVI7CkBAIC04MTYsNyArODMwLDEwIEBACiAJCWdvdG8gY2xlYW51cDsKIAl9CiAJaWYgKHBydW5lKSB7Ci0JCS8qIElmIC0tdGFncyB3YXMgc3BlY2lmaWVkLCBwcmV0ZW5kIHRoZSB1c2VyIGdhdmUgdXMgdGhlIGNhbm9uaWNhbCB0YWdzIHJlZnNwZWMgKi8KKwkJLyoKKwkJICogSWYgLS10YWdzIHdhcyBzcGVjaWZpZWQsIHByZXRlbmQgdGhhdCB0aGUgdXNlciBnYXZlIHVzCisJCSAqIHRoZSBjYW5vbmljYWwgdGFncyByZWZzcGVjCisJCSAqLwogCQlpZiAodGFncyA9PSBUQUdTX1NFVCkgewogCQkJY29uc3QgY2hhciAqdGFnc19zdHIgPSAicmVmcy90YWdzLyo6cmVmcy90YWdzLyoiOwogCQkJc3RydWN0IHJlZnNwZWMgKnRhZ3NfcmVmc3BlYywgKnJlZnNwZWM7CkBAIC05MTMsNyArOTMwLDcgQEAKIHsKIAlpZiAoZHJ5X3J1bikKIAkJYXJndl9hcnJheV9wdXNoKGFyZ3YsICItLWRyeS1ydW4iKTsKLQlpZiAocHJ1bmUpCisJaWYgKHBydW5lID4gMCkKIAkJYXJndl9hcnJheV9wdXNoKGFyZ3YsICItLXBydW5lIik7CiAJaWYgKHVwZGF0ZV9oZWFkX29rKQogCQlhcmd2X2FycmF5X3B1c2goYXJndiwgIi0tdXBkYXRlLWhlYWQtb2siKTsKQEAgLTk4MSw2ICs5OTgsMTcgQEAKIAkJICAgICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIikpOwogCiAJZ3RyYW5zcG9ydCA9IHByZXBhcmVfdHJhbnNwb3J0KHJlbW90ZSk7CisKKwlpZiAocHJ1bmUgPCAwKSB7CisJCS8qIG5vIGNvbW1hbmQgbGluZSByZXF1ZXN0ICovCisJCWlmICgwIDw9IGd0cmFuc3BvcnQtPnJlbW90ZS0+cHJ1bmUpCisJCQlwcnVuZSA9IGd0cmFuc3BvcnQtPnJlbW90ZS0+cHJ1bmU7CisJCWVsc2UgaWYgKDAgPD0gZmV0Y2hfcHJ1bmVfY29uZmlnKQorCQkJcHJ1bmUgPSBmZXRjaF9wcnVuZV9jb25maWc7CisJCWVsc2UKKwkJCXBydW5lID0gUFJVTkVfQllfREVGQVVMVDsKKwl9CisKIAlpZiAoYXJnYyA+IDApIHsKIAkJaW50IGogPSAwOwogCQlyZWZzID0geGNhbGxvYyhhcmdjICsgMSwgc2l6ZW9mKGNvbnN0IGNoYXIgKikpOwpAQCAtMTAzMCw2ICsxMDU4LDggQEAKIAlmb3IgKGkgPSAxOyBpIDwgYXJnYzsgaSsrKQogCQlzdHJidWZfYWRkZigmZGVmYXVsdF9ybGEsICIgJXMiLCBhcmd2W2ldKTsKIAorCWdpdF9jb25maWcoZ2l0X2ZldGNoX2NvbmZpZywgTlVMTCk7CisKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsCiAJCQkgICAgIGJ1aWx0aW5fZmV0Y2hfb3B0aW9ucywgYnVpbHRpbl9mZXRjaF91c2FnZSwgMCk7CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZm9yLWVhY2gtcmVmLmMgYi9idWlsdGluL2Zvci1lYWNoLXJlZi5jCmluZGV4IDdmMDU5YzMuLmQwOTYwNTEgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vZm9yLWVhY2gtcmVmLmMKKysrIGIvYnVpbHRpbi9mb3ItZWFjaC1yZWYuYwpAQCAtMjA1LDYgKzIwNSwyMiBAQAogCXJldHVybiBidWY7CiB9CiAKK3N0YXRpYyBpbnQgZ3JhYl9vYmplY3RuYW1lKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCisJCQkgICAgc3RydWN0IGF0b21fdmFsdWUgKnYpCit7CisJaWYgKCFzdHJjbXAobmFtZSwgIm9iamVjdG5hbWUiKSkgeworCQljaGFyICpzID0geG1hbGxvYyg0MSk7CisJCXN0cmNweShzLCBzaGExX3RvX2hleChzaGExKSk7CisJCXYtPnMgPSBzOworCQlyZXR1cm4gMTsKKwl9CisJaWYgKCFzdHJjbXAobmFtZSwgIm9iamVjdG5hbWU6c2hvcnQiKSkgeworCQl2LT5zID0geHN0cmR1cChmaW5kX3VuaXF1ZV9hYmJyZXYoc2hhMSwgREVGQVVMVF9BQkJSRVYpKTsKKwkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorCiAvKiBTZWUgZ3JhYl92YWx1ZXMgKi8KIHN0YXRpYyB2b2lkIGdyYWJfY29tbW9uX3ZhbHVlcyhzdHJ1Y3QgYXRvbV92YWx1ZSAqdmFsLCBpbnQgZGVyZWYsIHN0cnVjdCBvYmplY3QgKm9iaiwgdm9pZCAqYnVmLCB1bnNpZ25lZCBsb25nIHN6KQogewpAQCAtMjI1LDE1ICsyNDEsOCBAQAogCQkJdi0+dWwgPSBzejsKIAkJCXYtPnMgPSBzOwogCQl9Ci0JCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIm9iamVjdG5hbWUiKSkgewotCQkJY2hhciAqcyA9IHhtYWxsb2MoNDEpOwotCQkJc3RyY3B5KHMsIHNoYTFfdG9faGV4KG9iai0+c2hhMSkpOwotCQkJdi0+cyA9IHM7Ci0JCX0KLQkJZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAib2JqZWN0bmFtZTpzaG9ydCIpKSB7Ci0JCQl2LT5zID0geHN0cmR1cChmaW5kX3VuaXF1ZV9hYmJyZXYob2JqLT5zaGExLAotCQkJCQkJCSAgREVGQVVMVF9BQkJSRVYpKTsKLQkJfQorCQllbHNlIGlmIChkZXJlZikKKwkJCWdyYWJfb2JqZWN0bmFtZShuYW1lLCBvYmotPnNoYTEsIHYpOwogCX0KIH0KIApAQCAtNjc2LDYgKzY4NSw4IEBACiAJCQl9CiAJCQljb250aW51ZTsKIAkJfQorCQllbHNlIGlmICghZGVyZWYgJiYgZ3JhYl9vYmplY3RuYW1lKG5hbWUsIHJlZi0+b2JqZWN0bmFtZSwgdikpCisJCQljb250aW51ZTsKIAkJZWxzZQogCQkJY29udGludWU7CiAKQEAgLTg2NywyNCArODc4LDI5IEBACiBzdGF0aWMgdm9pZCBwcmludF92YWx1ZShzdHJ1Y3QgcmVmaW5mbyAqcmVmLCBpbnQgYXRvbSwgaW50IHF1b3RlX3N0eWxlKQogewogCXN0cnVjdCBhdG9tX3ZhbHVlICp2OworCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKIAlnZXRfdmFsdWUocmVmLCBhdG9tLCAmdik7CiAJc3dpdGNoIChxdW90ZV9zdHlsZSkgewogCWNhc2UgUVVPVEVfTk9ORToKIAkJZnB1dHModi0+cywgc3Rkb3V0KTsKIAkJYnJlYWs7CiAJY2FzZSBRVU9URV9TSEVMTDoKLQkJc3FfcXVvdGVfcHJpbnQoc3Rkb3V0LCB2LT5zKTsKKwkJc3FfcXVvdGVfYnVmKCZzYiwgdi0+cyk7CiAJCWJyZWFrOwogCWNhc2UgUVVPVEVfUEVSTDoKLQkJcGVybF9xdW90ZV9wcmludChzdGRvdXQsIHYtPnMpOworCQlwZXJsX3F1b3RlX2J1Zigmc2IsIHYtPnMpOwogCQlicmVhazsKIAljYXNlIFFVT1RFX1BZVEhPTjoKLQkJcHl0aG9uX3F1b3RlX3ByaW50KHN0ZG91dCwgdi0+cyk7CisJCXB5dGhvbl9xdW90ZV9idWYoJnNiLCB2LT5zKTsKIAkJYnJlYWs7CiAJY2FzZSBRVU9URV9UQ0w6Ci0JCXRjbF9xdW90ZV9wcmludChzdGRvdXQsIHYtPnMpOworCQl0Y2xfcXVvdGVfYnVmKCZzYiwgdi0+cyk7CiAJCWJyZWFrOwogCX0KKwlpZiAocXVvdGVfc3R5bGUgIT0gUVVPVEVfTk9ORSkgeworCQlmcHV0cyhzYi5idWYsIHN0ZG91dCk7CisJCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CisJfQogfQogCiBzdGF0aWMgaW50IGhleDEoY2hhciBjaCkKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZnNjay5jIGIvYnVpbHRpbi9mc2NrLmMKaW5kZXggOTkwOWI2ZC4uOTdjZTY3OCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9mc2NrLmMKKysrIGIvYnVpbHRpbi9mc2NrLmMKQEAgLTE2LDYgKzE2LDcgQEAKIAogI2RlZmluZSBSRUFDSEFCTEUgMHgwMDAxCiAjZGVmaW5lIFNFRU4gICAgICAweDAwMDIKKyNkZWZpbmUgSEFTX09CSiAgIDB4MDAwNAogCiBzdGF0aWMgaW50IHNob3dfcm9vdDsKIHN0YXRpYyBpbnQgc2hvd190YWdzOwpAQCAtMTAxLDcgKzEwMiw3IEBACiAJaWYgKG9iai0+ZmxhZ3MgJiBSRUFDSEFCTEUpCiAJCXJldHVybiAwOwogCW9iai0+ZmxhZ3MgfD0gUkVBQ0hBQkxFOwotCWlmICghb2JqLT5wYXJzZWQpIHsKKwlpZiAoIShvYmotPmZsYWdzICYgSEFTX09CSikpIHsKIAkJaWYgKHBhcmVudCAmJiAhaGFzX3NoYTFfZmlsZShvYmotPnNoYTEpKSB7CiAJCQlwcmludGYoImJyb2tlbiBsaW5rIGZyb20gJTdzICVzXG4iLAogCQkJCSB0eXBlbmFtZShwYXJlbnQtPnR5cGUpLCBzaGExX3RvX2hleChwYXJlbnQtPnNoYTEpKTsKQEAgLTEyNywxNiArMTI4LDEzIEBACiAJc3RydWN0IHRyZWUgKnRyZWUgPSBOVUxMOwogCiAJaWYgKG9iai0+dHlwZSA9PSBPQkpfVFJFRSkgewotCQlvYmotPnBhcnNlZCA9IDA7CiAJCXRyZWUgPSAoc3RydWN0IHRyZWUgKilvYmo7CiAJCWlmIChwYXJzZV90cmVlKHRyZWUpIDwgMCkKIAkJCXJldHVybiAxOyAvKiBlcnJvciBhbHJlYWR5IGRpc3BsYXllZCAqLwogCX0KIAlyZXN1bHQgPSBmc2NrX3dhbGsob2JqLCBtYXJrX29iamVjdCwgb2JqKTsKLQlpZiAodHJlZSkgewotCQlmcmVlKHRyZWUtPmJ1ZmZlcik7Ci0JCXRyZWUtPmJ1ZmZlciA9IE5VTEw7Ci0JfQorCWlmICh0cmVlKQorCQlmcmVlX3RyZWVfYnVmZmVyKHRyZWUpOwogCXJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTE3OCw3ICsxNzYsNyBAQAogCSAqIGV4Y2VwdCBpZiBpdCB3YXMgaW4gYSBwYWNrLWZpbGUgYW5kIHdlIGRpZG4ndAogCSAqIGRvIGEgZnVsbCBmc2NrCiAJICovCi0JaWYgKCFvYmotPnBhcnNlZCkgeworCWlmICghKG9iai0+ZmxhZ3MgJiBIQVNfT0JKKSkgewogCQlpZiAoaGFzX3NoYTFfcGFjayhvYmotPnNoYTEpKQogCQkJcmV0dXJuOyAvKiBpdCBpcyBpbiBwYWNrIC0gZm9yZ2V0IGFib3V0IGl0ICovCiAJCXByaW50ZigibWlzc2luZyAlcyAlc1xuIiwgdHlwZW5hbWUob2JqLT50eXBlKSwgc2hhMV90b19oZXgob2JqLT5zaGExKSk7CkBAIC0zMDYsOCArMzA0LDcgQEAKIAlpZiAob2JqLT50eXBlID09IE9CSl9UUkVFKSB7CiAJCXN0cnVjdCB0cmVlICppdGVtID0gKHN0cnVjdCB0cmVlICopIG9iajsKIAotCQlmcmVlKGl0ZW0tPmJ1ZmZlcik7Ci0JCWl0ZW0tPmJ1ZmZlciA9IE5VTEw7CisJCWZyZWVfdHJlZV9idWZmZXIoaXRlbSk7CiAJfQogCiAJaWYgKG9iai0+dHlwZSA9PSBPQkpfQ09NTUlUKSB7CkBAIC0zNDAsNiArMzM3LDcgQEAKIAkJcmV0dXJuIGVycm9yKCIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZyIsCiAJCQkgICAgIHNoYTFfdG9faGV4KHNoYTEpKTsKIAl9CisJb2JqLT5mbGFncyB8PSBIQVNfT0JKOwogCXJldHVybiBmc2NrX29iaihvYmopOwogfQogCkBAIC0zNTIsNiArMzUwLDcgQEAKIAkJZXJyb3JzX2ZvdW5kIHw9IEVSUk9SX09CSkVDVDsKIAkJcmV0dXJuIGVycm9yKCIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKIAl9CisJb2JqLT5mbGFncyA9IEhBU19PQko7CiAJcmV0dXJuIGZzY2tfb2JqKG9iaik7CiB9CiAKQEAgLTYxMSwxNSArNjEwLDE1IEBACiAKIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIGZzY2tfb3B0c1tdID0gewogCU9QVF9fVkVSQk9TRSgmdmVyYm9zZSwgTl8oImJlIHZlcmJvc2UiKSksCi0JT1BUX0JPT0xFQU4oMCwgInVucmVhY2hhYmxlIiwgJnNob3dfdW5yZWFjaGFibGUsIE5fKCJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiKSksCisJT1BUX0JPT0woMCwgInVucmVhY2hhYmxlIiwgJnNob3dfdW5yZWFjaGFibGUsIE5fKCJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiKSksCiAJT1BUX0JPT0woMCwgImRhbmdsaW5nIiwgJnNob3dfZGFuZ2xpbmcsIE5fKCJzaG93IGRhbmdsaW5nIG9iamVjdHMiKSksCi0JT1BUX0JPT0xFQU4oMCwgInRhZ3MiLCAmc2hvd190YWdzLCBOXygicmVwb3J0IHRhZ3MiKSksCi0JT1BUX0JPT0xFQU4oMCwgInJvb3QiLCAmc2hvd19yb290LCBOXygicmVwb3J0IHJvb3Qgbm9kZXMiKSksCi0JT1BUX0JPT0xFQU4oMCwgImNhY2hlIiwgJmtlZXBfY2FjaGVfb2JqZWN0cywgTl8oIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIikpLAotCU9QVF9CT09MRUFOKDAsICJyZWZsb2dzIiwgJmluY2x1ZGVfcmVmbG9ncywgTl8oIm1ha2UgcmVmbG9ncyBoZWFkIG5vZGVzIChkZWZhdWx0KSIpKSwKLQlPUFRfQk9PTEVBTigwLCAiZnVsbCIsICZjaGVja19mdWxsLCBOXygiYWxzbyBjb25zaWRlciBwYWNrcyBhbmQgYWx0ZXJuYXRlIG9iamVjdHMiKSksCi0JT1BUX0JPT0xFQU4oMCwgInN0cmljdCIsICZjaGVja19zdHJpY3QsIE5fKCJlbmFibGUgbW9yZSBzdHJpY3QgY2hlY2tpbmciKSksCi0JT1BUX0JPT0xFQU4oMCwgImxvc3QtZm91bmQiLCAmd3JpdGVfbG9zdF9hbmRfZm91bmQsCisJT1BUX0JPT0woMCwgInRhZ3MiLCAmc2hvd190YWdzLCBOXygicmVwb3J0IHRhZ3MiKSksCisJT1BUX0JPT0woMCwgInJvb3QiLCAmc2hvd19yb290LCBOXygicmVwb3J0IHJvb3Qgbm9kZXMiKSksCisJT1BUX0JPT0woMCwgImNhY2hlIiwgJmtlZXBfY2FjaGVfb2JqZWN0cywgTl8oIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIikpLAorCU9QVF9CT09MKDAsICJyZWZsb2dzIiwgJmluY2x1ZGVfcmVmbG9ncywgTl8oIm1ha2UgcmVmbG9ncyBoZWFkIG5vZGVzIChkZWZhdWx0KSIpKSwKKwlPUFRfQk9PTCgwLCAiZnVsbCIsICZjaGVja19mdWxsLCBOXygiYWxzbyBjb25zaWRlciBwYWNrcyBhbmQgYWx0ZXJuYXRlIG9iamVjdHMiKSksCisJT1BUX0JPT0woMCwgInN0cmljdCIsICZjaGVja19zdHJpY3QsIE5fKCJlbmFibGUgbW9yZSBzdHJpY3QgY2hlY2tpbmciKSksCisJT1BUX0JPT0woMCwgImxvc3QtZm91bmQiLCAmd3JpdGVfbG9zdF9hbmRfZm91bmQsCiAJCQkJTl8oIndyaXRlIGRhbmdsaW5nIG9iamVjdHMgaW4gLmdpdC9sb3N0LWZvdW5kIikpLAogCU9QVF9CT09MKDAsICJwcm9ncmVzcyIsICZzaG93X3Byb2dyZXNzLCBOXygic2hvdyBwcm9ncmVzcyIpKSwKIAlPUFRfRU5EKCksCmRpZmYgLS1naXQgYS9idWlsdGluL2djLmMgYi9idWlsdGluL2djLmMKaW5kZXggNmJlNmM4ZC4uYzE0MTkwZiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9nYy5jCisrKyBiL2J1aWx0aW4vZ2MuYwpAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCisjaW5jbHVkZSAic2lnY2hhaW4uaCIKICNpbmNsdWRlICJhcmd2LWFycmF5LmgiCiAKICNkZWZpbmUgRkFJTEVEX1JVTiAiZmFpbGVkIHRvIHJ1biAlcyIKQEAgLTM1LDYgKzM2LDIxIEBACiBzdGF0aWMgc3RydWN0IGFyZ3ZfYXJyYXkgcHJ1bmUgPSBBUkdWX0FSUkFZX0lOSVQ7CiBzdGF0aWMgc3RydWN0IGFyZ3ZfYXJyYXkgcmVyZXJlID0gQVJHVl9BUlJBWV9JTklUOwogCitzdGF0aWMgY2hhciAqcGlkZmlsZTsKKworc3RhdGljIHZvaWQgcmVtb3ZlX3BpZGZpbGUodm9pZCkKK3sKKwlpZiAocGlkZmlsZSkKKwkJdW5saW5rKHBpZGZpbGUpOworfQorCitzdGF0aWMgdm9pZCByZW1vdmVfcGlkZmlsZV9vbl9zaWduYWwoaW50IHNpZ25vKQoreworCXJlbW92ZV9waWRmaWxlKCk7CisJc2lnY2hhaW5fcG9wKHNpZ25vKTsKKwlyYWlzZShzaWdubyk7Cit9CisKIHN0YXRpYyBpbnQgZ2NfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKQogewogCWlmICghc3RyY21wKHZhciwgImdjLnBhY2tyZWZzIikpIHsKQEAgLTE2NywxOSArMTgzLDg2IEBACiAJcmV0dXJuIDE7CiB9CiAKKy8qIHJldHVybiBOVUxMIG9uIHN1Y2Nlc3MsIGVsc2UgaG9zdG5hbWUgcnVubmluZyB0aGUgZ2MgKi8KK3N0YXRpYyBjb25zdCBjaGFyICpsb2NrX3JlcG9fZm9yX2djKGludCBmb3JjZSwgcGlkX3QqIHJldF9waWQpCit7CisJc3RhdGljIHN0cnVjdCBsb2NrX2ZpbGUgbG9jazsKKwlzdGF0aWMgY2hhciBsb2NraW5nX2hvc3RbMTI4XTsKKwljaGFyIG15X2hvc3RbMTI4XTsKKwlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0YXQgc3Q7CisJdWludG1heF90IHBpZDsKKwlGSUxFICpmcDsKKwlpbnQgZmQsIHNob3VsZF9leGl0OworCisJaWYgKHBpZGZpbGUpCisJCS8qIGFscmVhZHkgbG9ja2VkICovCisJCXJldHVybiBOVUxMOworCisJaWYgKGdldGhvc3RuYW1lKG15X2hvc3QsIHNpemVvZihteV9ob3N0KSkpCisJCXN0cmNweShteV9ob3N0LCAidW5rbm93biIpOworCisJZmQgPSBob2xkX2xvY2tfZmlsZV9mb3JfdXBkYXRlKCZsb2NrLCBnaXRfcGF0aCgiZ2MucGlkIiksCisJCQkJICAgICAgIExPQ0tfRElFX09OX0VSUk9SKTsKKwlpZiAoIWZvcmNlKSB7CisJCWZwID0gZm9wZW4oZ2l0X3BhdGgoImdjLnBpZCIpLCAiciIpOworCQltZW1zZXQobG9ja2luZ19ob3N0LCAwLCBzaXplb2YobG9ja2luZ19ob3N0KSk7CisJCXNob3VsZF9leGl0ID0KKwkJCWZwICE9IE5VTEwgJiYKKwkJCSFmc3RhdChmaWxlbm8oZnApLCAmc3QpICYmCisJCQkvKgorCQkJICogMTIgaG91ciBsaW1pdCBpcyB2ZXJ5IGdlbmVyb3VzIGFzIGdjIHNob3VsZAorCQkJICogbmV2ZXIgdGFrZSB0aGF0IGxvbmcuIE9uIHRoZSBvdGhlciBoYW5kIHdlCisJCQkgKiBkb24ndCByZWFsbHkgbmVlZCBhIHN0cmljdCBsaW1pdCBoZXJlLAorCQkJICogcnVubmluZyBnYyAtLWF1dG8gb25lIGRheSBsYXRlIGlzIG5vdCBhIGJpZworCQkJICogcHJvYmxlbS4gLS1mb3JjZSBjYW4gYmUgdXNlZCBpbiBtYW51YWwgZ2MKKwkJCSAqIGFmdGVyIHRoZSB1c2VyIHZlcmlmaWVzIHRoYXQgbm8gZ2MgaXMKKwkJCSAqIHJ1bm5pbmcuCisJCQkgKi8KKwkJCXRpbWUoTlVMTCkgLSBzdC5zdF9tdGltZSA8PSAxMiAqIDM2MDAgJiYKKwkJCWZzY2FuZihmcCwgIiUiUFJJdU1BWCIgJTEyN2MiLCAmcGlkLCBsb2NraW5nX2hvc3QpID09IDIgJiYKKwkJCS8qIGJlIGdlbnRsZSB0byBjb25jdXJyZW50ICJnYyIgb24gcmVtb3RlIGhvc3RzICovCisJCQkoc3RyY21wKGxvY2tpbmdfaG9zdCwgbXlfaG9zdCkgfHwgIWtpbGwocGlkLCAwKSk7CisJCWlmIChmcCAhPSBOVUxMKQorCQkJZmNsb3NlKGZwKTsKKwkJaWYgKHNob3VsZF9leGl0KSB7CisJCQlpZiAoZmQgPj0gMCkKKwkJCQlyb2xsYmFja19sb2NrX2ZpbGUoJmxvY2spOworCQkJKnJldF9waWQgPSBwaWQ7CisJCQlyZXR1cm4gbG9ja2luZ19ob3N0OworCQl9CisJfQorCisJc3RyYnVmX2FkZGYoJnNiLCAiJSJQUkl1TUFYIiAlcyIsCisJCSAgICAodWludG1heF90KSBnZXRwaWQoKSwgbXlfaG9zdCk7CisJd3JpdGVfaW5fZnVsbChmZCwgc2IuYnVmLCBzYi5sZW4pOworCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CisJY29tbWl0X2xvY2tfZmlsZSgmbG9jayk7CisKKwlwaWRmaWxlID0gZ2l0X3BhdGhkdXAoImdjLnBpZCIpOworCXNpZ2NoYWluX3B1c2hfY29tbW9uKHJlbW92ZV9waWRmaWxlX29uX3NpZ25hbCk7CisJYXRleGl0KHJlbW92ZV9waWRmaWxlKTsKKworCXJldHVybiBOVUxMOworfQorCiBpbnQgY21kX2djKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCWludCBhZ2dyZXNzaXZlID0gMDsKIAlpbnQgYXV0b19nYyA9IDA7CiAJaW50IHF1aWV0ID0gMDsKKwlpbnQgZm9yY2UgPSAwOworCWNvbnN0IGNoYXIgKm5hbWU7CisJcGlkX3QgcGlkOwogCiAJc3RydWN0IG9wdGlvbiBidWlsdGluX2djX29wdGlvbnNbXSA9IHsKIAkJT1BUX19RVUlFVCgmcXVpZXQsIE5fKCJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciKSksCiAJCXsgT1BUSU9OX1NUUklORywgMCwgInBydW5lIiwgJnBydW5lX2V4cGlyZSwgTl8oImRhdGUiKSwKIAkJCU5fKCJwcnVuZSB1bnJlZmVyZW5jZWQgb2JqZWN0cyIpLAogCQkJUEFSU0VfT1BUX09QVEFSRywgTlVMTCwgKGludHB0cl90KXBydW5lX2V4cGlyZSB9LAotCQlPUFRfQk9PTEVBTigwLCAiYWdncmVzc2l2ZSIsICZhZ2dyZXNzaXZlLCBOXygiYmUgbW9yZSB0aG9yb3VnaCAoaW5jcmVhc2VkIHJ1bnRpbWUpIikpLAotCQlPUFRfQk9PTEVBTigwLCAiYXV0byIsICZhdXRvX2djLCBOXygiZW5hYmxlIGF1dG8tZ2MgbW9kZSIpKSwKKwkJT1BUX0JPT0woMCwgImFnZ3Jlc3NpdmUiLCAmYWdncmVzc2l2ZSwgTl8oImJlIG1vcmUgdGhvcm91Z2ggKGluY3JlYXNlZCBydW50aW1lKSIpKSwKKwkJT1BUX0JPT0woMCwgImF1dG8iLCAmYXV0b19nYywgTl8oImVuYWJsZSBhdXRvLWdjIG1vZGUiKSksCisJCU9QVF9CT09MKDAsICJmb3JjZSIsICZmb3JjZSwgTl8oImZvcmNlIHJ1bm5pbmcgZ2MgZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBnYyBydW5uaW5nIikpLAogCQlPUFRfRU5EKCkKIAl9OwogCkBAIC0yMjUsNiArMzA4LDE0IEBACiAJfSBlbHNlCiAJCWFkZF9yZXBhY2tfYWxsX29wdGlvbigpOwogCisJbmFtZSA9IGxvY2tfcmVwb19mb3JfZ2MoZm9yY2UsICZwaWQpOworCWlmIChuYW1lKSB7CisJCWlmIChhdXRvX2djKQorCQkJcmV0dXJuIDA7IC8qIGJlIHF1aWV0IG9uIC0tYXV0byAqLworCQlkaWUoXygiZ2MgaXMgYWxyZWFkeSBydW5uaW5nIG9uIG1hY2hpbmUgJyVzJyBwaWQgJSJQUkl1TUFYIiAodXNlIC0tZm9yY2UgaWYgbm90KSIpLAorCQkgICAgbmFtZSwgKHVpbnRtYXhfdClwaWQpOworCX0KKwogCWlmIChwYWNrX3JlZnMgJiYgcnVuX2NvbW1hbmRfdl9vcHQocGFja19yZWZzX2NtZC5hcmd2LCBSVU5fR0lUX0NNRCkpCiAJCXJldHVybiBlcnJvcihGQUlMRURfUlVOLCBwYWNrX3JlZnNfY21kLmFyZ3ZbMF0pOwogCmRpZmYgLS1naXQgYS9idWlsdGluL2dyZXAuYyBiL2J1aWx0aW4vZ3JlcC5jCmluZGV4IGQzYjNiMWQuLjYzZjg2MDMgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vZ3JlcC5jCisrKyBiL2J1aWx0aW4vZ3JlcC5jCkBAIC0xNyw2ICsxNyw3IEBACiAjaW5jbHVkZSAiZ3JlcC5oIgogI2luY2x1ZGUgInF1b3RlLmgiCiAjaW5jbHVkZSAiZGlyLmgiCisjaW5jbHVkZSAicGF0aHNwZWMuaCIKIAogc3RhdGljIGNoYXIgY29uc3QgKiBjb25zdCBncmVwX3VzYWdlW10gPSB7CiAJTl8oImdpdCBncmVwIFtvcHRpb25zXSBbLWVdIDxwYXR0ZXJuPiBbPHJldj4uLi5dIFtbLS1dIDxwYXRoPi4uLl0iKSwKQEAgLTQ1NywxMCArNDU4LDEwIEBACiB9CiAKIHN0YXRpYyBpbnQgZ3JlcF9vYmplY3Qoc3RydWN0IGdyZXBfb3B0ICpvcHQsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCi0JCSAgICAgICBzdHJ1Y3Qgb2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKm5hbWUpCisJCSAgICAgICBzdHJ1Y3Qgb2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3RfY29udGV4dCAqb2MpCiB7CiAJaWYgKG9iai0+dHlwZSA9PSBPQkpfQkxPQikKLQkJcmV0dXJuIGdyZXBfc2hhMShvcHQsIG9iai0+c2hhMSwgbmFtZSwgMCwgTlVMTCk7CisJCXJldHVybiBncmVwX3NoYTEob3B0LCBvYmotPnNoYTEsIG5hbWUsIDAsIG9jID8gb2MtPnBhdGggOiBOVUxMKTsKIAlpZiAob2JqLT50eXBlID09IE9CSl9DT01NSVQgfHwgb2JqLT50eXBlID09IE9CSl9UUkVFKSB7CiAJCXN0cnVjdCB0cmVlX2Rlc2MgdHJlZTsKIAkJdm9pZCAqZGF0YTsKQEAgLTUwMiw3ICs1MDMsNyBAQAogCWZvciAoaSA9IDA7IGkgPCBucjsgaSsrKSB7CiAJCXN0cnVjdCBvYmplY3QgKnJlYWxfb2JqOwogCQlyZWFsX29iaiA9IGRlcmVmX3RhZyhsaXN0LT5vYmplY3RzW2ldLml0ZW0sIE5VTEwsIDApOwotCQlpZiAoZ3JlcF9vYmplY3Qob3B0LCBwYXRoc3BlYywgcmVhbF9vYmosIGxpc3QtPm9iamVjdHNbaV0ubmFtZSkpIHsKKwkJaWYgKGdyZXBfb2JqZWN0KG9wdCwgcGF0aHNwZWMsIHJlYWxfb2JqLCBsaXN0LT5vYmplY3RzW2ldLm5hbWUsIGxpc3QtPm9iamVjdHNbaV0uY29udGV4dCkpIHsKIAkJCWhpdCA9IDE7CiAJCQlpZiAob3B0LT5zdGF0dXNfb25seSkKIAkJCQlicmVhazsKQEAgLTUyMSw3ICs1MjIsNyBAQAogCWlmIChleGNfc3RkKQogCQlzZXR1cF9zdGFuZGFyZF9leGNsdWRlcygmZGlyKTsKIAotCWZpbGxfZGlyZWN0b3J5KCZkaXIsIHBhdGhzcGVjLT5yYXcpOworCWZpbGxfZGlyZWN0b3J5KCZkaXIsIHBhdGhzcGVjKTsKIAlmb3IgKGkgPSAwOyBpIDwgZGlyLm5yOyBpKyspIHsKIAkJY29uc3QgY2hhciAqbmFtZSA9IGRpci5lbnRyaWVzW2ldLT5uYW1lOwogCQlpbnQgbmFtZWxlbiA9IHN0cmxlbihuYW1lKTsKQEAgLTYyOSw3ICs2MzAsNiBAQAogCWNvbnN0IGNoYXIgKnNob3dfaW5fcGFnZXIgPSBOVUxMLCAqZGVmYXVsdF9wYWdlciA9ICJkdW1teSI7CiAJc3RydWN0IGdyZXBfb3B0IG9wdDsKIAlzdHJ1Y3Qgb2JqZWN0X2FycmF5IGxpc3QgPSBPQkpFQ1RfQVJSQVlfSU5JVDsKLQljb25zdCBjaGFyICoqcGF0aHMgPSBOVUxMOwogCXN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgcGF0aF9saXN0ID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKIAlpbnQgaTsKQEAgLTYzOCwyNiArNjM4LDI4IEBACiAJaW50IHBhdHRlcm5fdHlwZV9hcmcgPSBHUkVQX1BBVFRFUk5fVFlQRV9VTlNQRUNJRklFRDsKIAogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewotCQlPUFRfQk9PTEVBTigwLCAiY2FjaGVkIiwgJmNhY2hlZCwKKwkJT1BUX0JPT0woMCwgImNhY2hlZCIsICZjYWNoZWQsCiAJCQlOXygic2VhcmNoIGluIGluZGV4IGluc3RlYWQgb2YgaW4gdGhlIHdvcmsgdHJlZSIpKSwKIAkJT1BUX05FR0JJVCgwLCAibm8taW5kZXgiLCAmdXNlX2luZGV4LAogCQkJIE5fKCJmaW5kIGluIGNvbnRlbnRzIG5vdCBtYW5hZ2VkIGJ5IGdpdCIpLCAxKSwKLQkJT1BUX0JPT0xFQU4oMCwgInVudHJhY2tlZCIsICZ1bnRyYWNrZWQsCisJCU9QVF9CT09MKDAsICJ1bnRyYWNrZWQiLCAmdW50cmFja2VkLAogCQkJTl8oInNlYXJjaCBpbiBib3RoIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIpKSwKIAkJT1BUX1NFVF9JTlQoMCwgImV4Y2x1ZGUtc3RhbmRhcmQiLCAmb3B0X2V4Y2x1ZGUsCiAJCQkgICAgTl8oInNlYXJjaCBhbHNvIGluIGlnbm9yZWQgZmlsZXMiKSwgMSksCiAJCU9QVF9HUk9VUCgiIiksCi0JCU9QVF9CT09MRUFOKCd2JywgImludmVydC1tYXRjaCIsICZvcHQuaW52ZXJ0LAorCQlPUFRfQk9PTCgndicsICJpbnZlcnQtbWF0Y2giLCAmb3B0LmludmVydCwKIAkJCU5fKCJzaG93IG5vbi1tYXRjaGluZyBsaW5lcyIpKSwKLQkJT1BUX0JPT0xFQU4oJ2knLCAiaWdub3JlLWNhc2UiLCAmb3B0Lmlnbm9yZV9jYXNlLAorCQlPUFRfQk9PTCgnaScsICJpZ25vcmUtY2FzZSIsICZvcHQuaWdub3JlX2Nhc2UsCiAJCQlOXygiY2FzZSBpbnNlbnNpdGl2ZSBtYXRjaGluZyIpKSwKLQkJT1BUX0JPT0xFQU4oJ3cnLCAid29yZC1yZWdleHAiLCAmb3B0LndvcmRfcmVnZXhwLAorCQlPUFRfQk9PTCgndycsICJ3b3JkLXJlZ2V4cCIsICZvcHQud29yZF9yZWdleHAsCiAJCQlOXygibWF0Y2ggcGF0dGVybnMgb25seSBhdCB3b3JkIGJvdW5kYXJpZXMiKSksCiAJCU9QVF9TRVRfSU5UKCdhJywgInRleHQiLCAmb3B0LmJpbmFyeSwKIAkJCU5fKCJwcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyB0ZXh0IiksIEdSRVBfQklOQVJZX1RFWFQpLAogCQlPUFRfU0VUX0lOVCgnSScsIE5VTEwsICZvcHQuYmluYXJ5LAogCQkJTl8oImRvbid0IG1hdGNoIHBhdHRlcm5zIGluIGJpbmFyeSBmaWxlcyIpLAogCQkJR1JFUF9CSU5BUllfTk9NQVRDSCksCisJCU9QVF9CT09MKDAsICJ0ZXh0Y29udiIsICZvcHQuYWxsb3dfdGV4dGNvbnYsCisJCQkgTl8oInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIpKSwKIAkJeyBPUFRJT05fSU5URUdFUiwgMCwgIm1heC1kZXB0aCIsICZvcHQubWF4X2RlcHRoLCBOXygiZGVwdGgiKSwKIAkJCU5fKCJkZXNjZW5kIGF0IG1vc3QgPGRlcHRoPiBsZXZlbHMiKSwgUEFSU0VfT1BUX05PTkVHLAogCQkJTlVMTCwgMSB9LApAQCAtNjc1LDI2ICs2NzcsMjYgQEAKIAkJCSAgICBOXygidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIiksCiAJCQkgICAgR1JFUF9QQVRURVJOX1RZUEVfUENSRSksCiAJCU9QVF9HUk9VUCgiIiksCi0JCU9QVF9CT09MRUFOKCduJywgImxpbmUtbnVtYmVyIiwgJm9wdC5saW5lbnVtLCBOXygic2hvdyBsaW5lIG51bWJlcnMiKSksCisJCU9QVF9CT09MKCduJywgImxpbmUtbnVtYmVyIiwgJm9wdC5saW5lbnVtLCBOXygic2hvdyBsaW5lIG51bWJlcnMiKSksCiAJCU9QVF9ORUdCSVQoJ2gnLCBOVUxMLCAmb3B0LnBhdGhuYW1lLCBOXygiZG9uJ3Qgc2hvdyBmaWxlbmFtZXMiKSwgMSksCiAJCU9QVF9CSVQoJ0gnLCBOVUxMLCAmb3B0LnBhdGhuYW1lLCBOXygic2hvdyBmaWxlbmFtZXMiKSwgMSksCiAJCU9QVF9ORUdCSVQoMCwgImZ1bGwtbmFtZSIsICZvcHQucmVsYXRpdmUsCiAJCQlOXygic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIpLCAxKSwKLQkJT1BUX0JPT0xFQU4oJ2wnLCAiZmlsZXMtd2l0aC1tYXRjaGVzIiwgJm9wdC5uYW1lX29ubHksCisJCU9QVF9CT09MKCdsJywgImZpbGVzLXdpdGgtbWF0Y2hlcyIsICZvcHQubmFtZV9vbmx5LAogCQkJTl8oInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgIm5hbWUtb25seSIsICZvcHQubmFtZV9vbmx5LAorCQlPUFRfQk9PTCgwLCAibmFtZS1vbmx5IiwgJm9wdC5uYW1lX29ubHksCiAJCQlOXygic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiKSksCi0JCU9QVF9CT09MRUFOKCdMJywgImZpbGVzLXdpdGhvdXQtbWF0Y2giLAorCQlPUFRfQk9PTCgnTCcsICJmaWxlcy13aXRob3V0LW1hdGNoIiwKIAkJCSZvcHQudW5tYXRjaF9uYW1lX29ubHksCiAJCQlOXygic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIikpLAotCQlPUFRfQk9PTEVBTigneicsICJudWxsIiwgJm9wdC5udWxsX2ZvbGxvd2luZ19uYW1lLAorCQlPUFRfQk9PTCgneicsICJudWxsIiwgJm9wdC5udWxsX2ZvbGxvd2luZ19uYW1lLAogCQkJTl8oInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiKSksCi0JCU9QVF9CT09MRUFOKCdjJywgImNvdW50IiwgJm9wdC5jb3VudCwKKwkJT1BUX0JPT0woJ2MnLCAiY291bnQiLCAmb3B0LmNvdW50LAogCQkJTl8oInNob3cgdGhlIG51bWJlciBvZiBtYXRjaGVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiKSksCiAJCU9QVF9fQ09MT1IoJm9wdC5jb2xvciwgTl8oImhpZ2hsaWdodCBtYXRjaGVzIikpLAotCQlPUFRfQk9PTEVBTigwLCAiYnJlYWsiLCAmb3B0LmZpbGVfYnJlYWssCisJCU9QVF9CT09MKDAsICJicmVhayIsICZvcHQuZmlsZV9icmVhaywKIAkJCU5fKCJwcmludCBlbXB0eSBsaW5lIGJldHdlZW4gbWF0Y2hlcyBmcm9tIGRpZmZlcmVudCBmaWxlcyIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImhlYWRpbmciLCAmb3B0LmhlYWRpbmcsCisJCU9QVF9CT09MKDAsICJoZWFkaW5nIiwgJm9wdC5oZWFkaW5nLAogCQkJTl8oInNob3cgZmlsZW5hbWUgb25seSBvbmNlIGFib3ZlIG1hdGNoZXMgZnJvbSBzYW1lIGZpbGUiKSksCiAJCU9QVF9HUk9VUCgiIiksCiAJCU9QVF9DQUxMQkFDSygnQycsICJjb250ZXh0IiwgJm9wdCwgTl8oIm4iKSwKQEAgLTcwNiw5ICs3MDgsOSBAQAogCQkJTl8oInNob3cgPG4+IGNvbnRleHQgbGluZXMgYWZ0ZXIgbWF0Y2hlcyIpKSwKIAkJT1BUX05VTUJFUl9DQUxMQkFDSygmb3B0LCBOXygic2hvcnRjdXQgZm9yIC1DIE5VTSIpLAogCQkJY29udGV4dF9jYWxsYmFjayksCi0JCU9QVF9CT09MRUFOKCdwJywgInNob3ctZnVuY3Rpb24iLCAmb3B0LmZ1bmNuYW1lLAorCQlPUFRfQk9PTCgncCcsICJzaG93LWZ1bmN0aW9uIiwgJm9wdC5mdW5jbmFtZSwKIAkJCU5fKCJzaG93IGEgbGluZSB3aXRoIHRoZSBmdW5jdGlvbiBuYW1lIGJlZm9yZSBtYXRjaGVzIikpLAotCQlPUFRfQk9PTEVBTignVycsICJmdW5jdGlvbi1jb250ZXh0IiwgJm9wdC5mdW5jYm9keSwKKwkJT1BUX0JPT0woJ1cnLCAiZnVuY3Rpb24tY29udGV4dCIsICZvcHQuZnVuY2JvZHksCiAJCQlOXygic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iKSksCiAJCU9QVF9HUk9VUCgiIiksCiAJCU9QVF9DQUxMQkFDSygnZicsIE5VTEwsICZvcHQsIE5fKCJmaWxlIiksCkBAIC03MTgsNyArNzIwLDcgQEAKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJhbmQiLCAmb3B0LCBOVUxMLAogCQkgIE5fKCJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIiksCiAJCSAgUEFSU0VfT1BUX05PQVJHIHwgUEFSU0VfT1BUX05PTkVHLCBhbmRfY2FsbGJhY2sgfSwKLQkJT1BUX0JPT0xFQU4oMCwgIm9yIiwgJmR1bW15LCAiIiksCisJCU9QVF9CT09MKDAsICJvciIsICZkdW1teSwgIiIpLAogCQl7IE9QVElPTl9DQUxMQkFDSywgMCwgIm5vdCIsICZvcHQsIE5VTEwsICIiLAogCQkgIFBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9OT05FRywgbm90X2NhbGxiYWNrIH0sCiAJCXsgT1BUSU9OX0NBTExCQUNLLCAnKCcsIE5VTEwsICZvcHQsIE5VTEwsICIiLApAQCAtNzI5LDcgKzczMSw3IEBACiAJCSAgY2xvc2VfY2FsbGJhY2sgfSwKIAkJT1BUX19RVUlFVCgmb3B0LnN0YXR1c19vbmx5LAogCQkJICAgTl8oImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IikpLAotCQlPUFRfQk9PTEVBTigwLCAiYWxsLW1hdGNoIiwgJm9wdC5hbGxfbWF0Y2gsCisJCU9QVF9CT09MKDAsICJhbGwtbWF0Y2giLCAmb3B0LmFsbF9tYXRjaCwKIAkJCU5fKCJzaG93IG9ubHkgbWF0Y2hlcyBmcm9tIGZpbGVzIHRoYXQgbWF0Y2ggYWxsIHBhdHRlcm5zIikpLAogCQl7IE9QVElPTl9TRVRfSU5ULCAwLCAiZGVidWciLCAmb3B0LmRlYnVnLCBOVUxMLAogCQkgIE5fKCJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIpLApAQCAtNzM4LDggKzc0MCw4IEBACiAJCXsgT1BUSU9OX1NUUklORywgJ08nLCAib3Blbi1maWxlcy1pbi1wYWdlciIsICZzaG93X2luX3BhZ2VyLAogCQkJTl8oInBhZ2VyIiksIE5fKCJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIpLAogCQkJUEFSU0VfT1BUX09QVEFSRywgTlVMTCwgKGludHB0cl90KWRlZmF1bHRfcGFnZXIgfSwKLQkJT1BUX0JPT0xFQU4oMCwgImV4dC1ncmVwIiwgJmV4dGVybmFsX2dyZXBfYWxsb3dlZF9faWdub3JlZCwKLQkJCSAgICBOXygiYWxsb3cgY2FsbGluZyBvZiBncmVwKDEpIChpZ25vcmVkIGJ5IHRoaXMgYnVpbGQpIikpLAorCQlPUFRfQk9PTCgwLCAiZXh0LWdyZXAiLCAmZXh0ZXJuYWxfZ3JlcF9hbGxvd2VkX19pZ25vcmVkLAorCQkJIE5fKCJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiKSksCiAJCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAiaGVscC1hbGwiLCAmb3B0aW9ucywgTlVMTCwgTl8oInNob3cgdXNhZ2UiKSwKIAkJICBQQVJTRV9PUFRfSElEREVOIHwgUEFSU0VfT1BUX05PQVJHLCBoZWxwX2NhbGxiYWNrIH0sCiAJCU9QVF9FTkQoKQpAQCAtODE3LDEyICs4MTksMTMgQEAKIAlmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrKSB7CiAJCWNvbnN0IGNoYXIgKmFyZyA9IGFyZ3ZbaV07CiAJCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJCXN0cnVjdCBvYmplY3RfY29udGV4dCBvYzsKIAkJLyogSXMgaXQgYSByZXY/ICovCi0JCWlmICghZ2V0X3NoYTEoYXJnLCBzaGExKSkgeworCQlpZiAoIWdldF9zaGExX3dpdGhfY29udGV4dChhcmcsIDAsIHNoYTEsICZvYykpIHsKIAkJCXN0cnVjdCBvYmplY3QgKm9iamVjdCA9IHBhcnNlX29iamVjdF9vcl9kaWUoc2hhMSwgYXJnKTsKIAkJCWlmICghc2Vlbl9kYXNoZGFzaCkKIAkJCQl2ZXJpZnlfbm9uX2ZpbGVuYW1lKHByZWZpeCwgYXJnKTsKLQkJCWFkZF9vYmplY3RfYXJyYXkob2JqZWN0LCBhcmcsICZsaXN0KTsKKwkJCWFkZF9vYmplY3RfYXJyYXlfd2l0aF9jb250ZXh0KG9iamVjdCwgYXJnLCAmbGlzdCwgeG1lbWR1cHooJm9jLCBzaXplb2Yoc3RydWN0IG9iamVjdF9jb250ZXh0KSkpOwogCQkJY29udGludWU7CiAJCX0KIAkJaWYgKCFzdHJjbXAoYXJnLCAiLS0iKSkgewpAQCAtODU2LDggKzg1OSwxMCBAQAogCQkJdmVyaWZ5X2ZpbGVuYW1lKHByZWZpeCwgYXJndltqXSwgaiA9PSBpKTsKIAl9CiAKLQlwYXRocyA9IGdldF9wYXRoc3BlYyhwcmVmaXgsIGFyZ3YgKyBpKTsKLQlpbml0X3BhdGhzcGVjKCZwYXRoc3BlYywgcGF0aHMpOworCXBhcnNlX3BhdGhzcGVjKCZwYXRoc3BlYywgMCwKKwkJICAgICAgIFBBVEhTUEVDX1BSRUZFUl9DV0QgfAorCQkgICAgICAgKG9wdC5tYXhfZGVwdGggIT0gLTEgPyBQQVRIU1BFQ19NQVhERVBUSF9WQUxJRCA6IDApLAorCQkgICAgICAgcHJlZml4LCBhcmd2ICsgaSk7CiAJcGF0aHNwZWMubWF4X2RlcHRoID0gb3B0Lm1heF9kZXB0aDsKIAlwYXRoc3BlYy5yZWN1cnNpdmUgPSAxOwogCmRpZmYgLS1naXQgYS9idWlsdGluL2hhc2gtb2JqZWN0LmMgYi9idWlsdGluL2hhc2gtb2JqZWN0LmMKaW5kZXggOGQxODRmMS4uZDdmY2Y0YyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9oYXNoLW9iamVjdC5jCisrKyBiL2J1aWx0aW4vaGFzaC1vYmplY3QuYwpAQCAtNzAsMTAgKzcwLDEwIEBACiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGhhc2hfb2JqZWN0X29wdGlvbnNbXSA9IHsKIAlPUFRfU1RSSU5HKCd0JywgTlVMTCwgJnR5cGUsIE5fKCJ0eXBlIiksIE5fKCJvYmplY3QgdHlwZSIpKSwKLQlPUFRfQk9PTEVBTigndycsIE5VTEwsICZ3cml0ZV9vYmplY3QsIE5fKCJ3cml0ZSB0aGUgb2JqZWN0IGludG8gdGhlIG9iamVjdCBkYXRhYmFzZSIpKSwKLQlPUFRfQk9PTEVBTiggMCAsICJzdGRpbiIsICZoYXNoc3RkaW4sIE5fKCJyZWFkIHRoZSBvYmplY3QgZnJvbSBzdGRpbiIpKSwKLQlPUFRfQk9PTEVBTiggMCAsICJzdGRpbi1wYXRocyIsICZzdGRpbl9wYXRocywgTl8oInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIikpLAotCU9QVF9CT09MRUFOKCAwICwgIm5vLWZpbHRlcnMiLCAmbm9fZmlsdGVycywgTl8oInN0b3JlIGZpbGUgYXMgaXMgd2l0aG91dCBmaWx0ZXJzIikpLAorCU9QVF9CT09MKCd3JywgTlVMTCwgJndyaXRlX29iamVjdCwgTl8oIndyaXRlIHRoZSBvYmplY3QgaW50byB0aGUgb2JqZWN0IGRhdGFiYXNlIikpLAorCU9QVF9DT1VOVFVQKCAwICwgInN0ZGluIiwgJmhhc2hzdGRpbiwgTl8oInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIikpLAorCU9QVF9CT09MKCAwICwgInN0ZGluLXBhdGhzIiwgJnN0ZGluX3BhdGhzLCBOXygicmVhZCBmaWxlIG5hbWVzIGZyb20gc3RkaW4iKSksCisJT1BUX0JPT0woIDAgLCAibm8tZmlsdGVycyIsICZub19maWx0ZXJzLCBOXygic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiKSksCiAJT1BUX1NUUklORyggMCAsICJwYXRoIiwgJnZwYXRoLCBOXygiZmlsZSIpLCBOXygicHJvY2VzcyBmaWxlIGFzIGl0IHdlcmUgZnJvbSB0aGlzIHBhdGgiKSksCiAJT1BUX0VORCgpCiB9OwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9pbmRleC1wYWNrLmMgYi9idWlsdGluL2luZGV4LXBhY2suYwppbmRleCA5YzFjZmFjLi45ZTllYjRiIDEwMDY0NAotLS0gYS9idWlsdGluL2luZGV4LXBhY2suYworKysgYi9idWlsdGluL2luZGV4LXBhY2suYwpAQCAtNzcwLDYgKzc3MCw3IEBACiAJCQlpZiAob2JqLT50eXBlID09IE9CSl9UUkVFKSB7CiAJCQkJc3RydWN0IHRyZWUgKml0ZW0gPSAoc3RydWN0IHRyZWUgKikgb2JqOwogCQkJCWl0ZW0tPmJ1ZmZlciA9IE5VTEw7CisJCQkJb2JqLT5wYXJzZWQgPSAwOwogCQkJfQogCQkJaWYgKG9iai0+dHlwZSA9PSBPQkpfQ09NTUlUKSB7CiAJCQkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gKHN0cnVjdCBjb21taXQgKikgb2JqOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9sb2cuYyBiL2J1aWx0aW4vbG9nLmMKaW5kZXggMjYyNWY5OC4uYjcwODUxNyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9sb2cuYworKysgYi9idWlsdGluL2xvZy5jCkBAIC0xMTEsNiArMTExLDcgQEAKIAogCWlmIChkZWZhdWx0X2RhdGVfbW9kZSkKIAkJcmV2LT5kYXRlX21vZGUgPSBwYXJzZV9kYXRlX2Zvcm1hdChkZWZhdWx0X2RhdGVfbW9kZSk7CisJcmV2LT5kaWZmb3B0LnRvdWNoZWRfZmxhZ3MgPSAwOwogfQogCiBzdGF0aWMgdm9pZCBjbWRfbG9nX2luaXRfZmluaXNoKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4LApAQCAtMTIxLDcgKzEyMiw3IEBACiAJc3RhdGljIHN0cnVjdCBsaW5lX29wdF9jYWxsYmFja19kYXRhIGxpbmVfY2IgPSB7TlVMTCwgTlVMTCwgU1RSSU5HX0xJU1RfSU5JVF9EVVB9OwogCiAJY29uc3Qgc3RydWN0IG9wdGlvbiBidWlsdGluX2xvZ19vcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MKDAsICJxdWlldCIsICZxdWlldCwgTl8oInN1cHByZXNzIGRpZmYgb3V0cHV0IikpLAorCQlPUFRfX1FVSUVUKCZxdWlldCwgTl8oInN1cHByZXNzIGRpZmYgb3V0cHV0IikpLAogCQlPUFRfQk9PTCgwLCAic291cmNlIiwgJnNvdXJjZSwgTl8oInNob3cgc291cmNlIikpLAogCQlPUFRfQk9PTCgwLCAidXNlLW1haWxtYXAiLCAmbWFpbG1hcCwgTl8oIlVzZSBtYWlsIG1hcCBmaWxlIikpLAogCQl7IE9QVElPTl9DQUxMQkFDSywgMCwgImRlY29yYXRlIiwgTlVMTCwgTlVMTCwgTl8oImRlY29yYXRlIG9wdGlvbnMiKSwKQEAgLTQzNiwxMCArNDM3LDI5IEBACiAJc3RyYnVmX3JlbGVhc2UoJm91dCk7CiB9CiAKLXN0YXRpYyBpbnQgc2hvd19ibG9iX29iamVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBzdHJ1Y3QgcmV2X2luZm8gKnJldikKK3N0YXRpYyBpbnQgc2hvd19ibG9iX29iamVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBzdHJ1Y3QgcmV2X2luZm8gKnJldiwgY29uc3QgY2hhciAqb2JqX25hbWUpCiB7CisJdW5zaWduZWQgY2hhciBzaGExY1syMF07CisJc3RydWN0IG9iamVjdF9jb250ZXh0IG9ial9jb250ZXh0OworCWNoYXIgKmJ1ZjsKKwl1bnNpZ25lZCBsb25nIHNpemU7CisKIAlmZmx1c2goc3Rkb3V0KTsKLQlyZXR1cm4gc3RyZWFtX2Jsb2JfdG9fZmQoMSwgc2hhMSwgTlVMTCwgMCk7CisJaWYgKCFESUZGX09QVF9UT1VDSEVEKCZyZXYtPmRpZmZvcHQsIEFMTE9XX1RFWFRDT05WKSB8fAorCSAgICAhRElGRl9PUFRfVFNUKCZyZXYtPmRpZmZvcHQsIEFMTE9XX1RFWFRDT05WKSkKKwkJcmV0dXJuIHN0cmVhbV9ibG9iX3RvX2ZkKDEsIHNoYTEsIE5VTEwsIDApOworCisJaWYgKGdldF9zaGExX3dpdGhfY29udGV4dChvYmpfbmFtZSwgMCwgc2hhMWMsICZvYmpfY29udGV4dCkpCisJCWRpZSgiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiLCBvYmpfbmFtZSk7CisJaWYgKCFvYmpfY29udGV4dC5wYXRoWzBdIHx8CisJICAgICF0ZXh0Y29udl9vYmplY3Qob2JqX2NvbnRleHQucGF0aCwgb2JqX2NvbnRleHQubW9kZSwgc2hhMWMsIDEsICZidWYsICZzaXplKSkKKwkJcmV0dXJuIHN0cmVhbV9ibG9iX3RvX2ZkKDEsIHNoYTEsIE5VTEwsIDApOworCisJaWYgKCFidWYpCisJCWRpZSgiZ2l0IHNob3cgJXM6IGJhZCBmaWxlIiwgb2JqX25hbWUpOworCisJd3JpdGVfb3JfZGllKDEsIGJ1Ziwgc2l6ZSk7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgc2hvd190YWdfb2JqZWN0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHN0cnVjdCByZXZfaW5mbyAqcmV2KQpAQCAtNTAzLDcgKzUyMyw3IEBACiAJaW5pdF9ncmVwX2RlZmF1bHRzKCk7CiAJZ2l0X2NvbmZpZyhnaXRfbG9nX2NvbmZpZywgTlVMTCk7CiAKLQlpbml0X3BhdGhzcGVjKCZtYXRjaF9hbGwsIE5VTEwpOworCW1lbXNldCgmbWF0Y2hfYWxsLCAwLCBzaXplb2YobWF0Y2hfYWxsKSk7CiAJaW5pdF9yZXZpc2lvbnMoJnJldiwgcHJlZml4KTsKIAlyZXYuZGlmZiA9IDE7CiAJcmV2LmFsd2F5c19zaG93X2hlYWRlciA9IDE7CkBAIC01MjUsNyArNTQ1LDcgQEAKIAkJY29uc3QgY2hhciAqbmFtZSA9IG9iamVjdHNbaV0ubmFtZTsKIAkJc3dpdGNoIChvLT50eXBlKSB7CiAJCWNhc2UgT0JKX0JMT0I6Ci0JCQlyZXQgPSBzaG93X2Jsb2Jfb2JqZWN0KG8tPnNoYTEsIE5VTEwpOworCQkJcmV0ID0gc2hvd19ibG9iX29iamVjdChvLT5zaGExLCAmcmV2LCBuYW1lKTsKIAkJCWJyZWFrOwogCQljYXNlIE9CSl9UQUc6IHsKIAkJCXN0cnVjdCB0YWcgKnQgPSAoc3RydWN0IHRhZyAqKW87CkBAIC0xMTc5LDEzICsxMTk5LDEzIEBACiAJCXsgT1BUSU9OX0NBTExCQUNLLCAnaycsICJrZWVwLXN1YmplY3QiLCAmcmV2LCBOVUxMLAogCQkJICAgIE5fKCJkb24ndCBzdHJpcC9hZGQgW1BBVENIXSIpLAogCQkJICAgIFBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9OT05FRywga2VlcF9jYWxsYmFjayB9LAotCQlPUFRfQk9PTEVBTigwLCAibm8tYmluYXJ5IiwgJm5vX2JpbmFyeV9kaWZmLAotCQkJICAgIE5fKCJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIikpLAotCQlPUFRfQk9PTEVBTigwLCAiaWdub3JlLWlmLWluLXVwc3RyZWFtIiwgJmlnbm9yZV9pZl9pbl91cHN0cmVhbSwKLQkJCSAgICBOXygiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIikpLAotCQl7IE9QVElPTl9CT09MRUFOLCAncCcsICJuby1zdGF0IiwgJnVzZV9wYXRjaF9mb3JtYXQsIE5VTEwsCisJCU9QVF9CT09MKDAsICJuby1iaW5hcnkiLCAmbm9fYmluYXJ5X2RpZmYsCisJCQkgTl8oImRvbid0IG91dHB1dCBiaW5hcnkgZGlmZnMiKSksCisJCU9QVF9CT09MKDAsICJpZ25vcmUtaWYtaW4tdXBzdHJlYW0iLCAmaWdub3JlX2lmX2luX3Vwc3RyZWFtLAorCQkJIE5fKCJkb24ndCBpbmNsdWRlIGEgcGF0Y2ggbWF0Y2hpbmcgYSBjb21taXQgdXBzdHJlYW0iKSksCisJCXsgT1BUSU9OX1NFVF9JTlQsICdwJywgIm5vLXN0YXQiLCAmdXNlX3BhdGNoX2Zvcm1hdCwgTlVMTCwKIAkJICBOXygic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIiksCi0JCSAgUEFSU0VfT1BUX05PTkVHIHwgUEFSU0VfT1BUX05PQVJHIH0sCisJCSAgUEFSU0VfT1BUX05PTkVHIHwgUEFSU0VfT1BUX05PQVJHLCBOVUxMLCAxfSwKIAkJT1BUX0dST1VQKE5fKCJNZXNzYWdpbmciKSksCiAJCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAiYWRkLWhlYWRlciIsIE5VTEwsIE5fKCJoZWFkZXIiKSwKIAkJCSAgICBOXygiYWRkIGVtYWlsIGhlYWRlciIpLCAwLCBoZWFkZXJfY2FsbGJhY2sgfSwKQEAgLTEyMTAsOCArMTIzMCw3IEBACiAJCQkgICAgUEFSU0VfT1BUX09QVEFSRywgdGhyZWFkX2NhbGxiYWNrIH0sCiAJCU9QVF9TVFJJTkcoMCwgInNpZ25hdHVyZSIsICZzaWduYXR1cmUsIE5fKCJzaWduYXR1cmUiKSwKIAkJCSAgICBOXygiYWRkIGEgc2lnbmF0dXJlIikpLAotCQlPUFRfQk9PTEVBTigwLCAicXVpZXQiLCAmcXVpZXQsCi0JCQkgICAgTl8oImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiKSksCisJCU9QVF9fUVVJRVQoJnF1aWV0LCBOXygiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIpKSwKIAkJT1BUX0VORCgpCiAJfTsKIApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9scy1maWxlcy5jIGIvYnVpbHRpbi9scy1maWxlcy5jCmluZGV4IDg1MDA0NDYuLmUxY2Y2ZDggMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vbHMtZmlsZXMuYworKysgYi9idWlsdGluL2xzLWZpbGVzLmMKQEAgLTEzLDYgKzEzLDcgQEAKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCiAjaW5jbHVkZSAicmVzb2x2ZS11bmRvLmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKKyNpbmNsdWRlICJwYXRoc3BlYy5oIgogCiBzdGF0aWMgaW50IGFiYnJldjsKIHN0YXRpYyBpbnQgc2hvd19kZWxldGVkOwpAQCAtMzAsNyArMzEsNyBAQAogc3RhdGljIGNvbnN0IGNoYXIgKnByZWZpeDsKIHN0YXRpYyBpbnQgbWF4X3ByZWZpeF9sZW47CiBzdGF0aWMgaW50IHByZWZpeF9sZW47Ci1zdGF0aWMgY29uc3QgY2hhciAqKnBhdGhzcGVjOworc3RhdGljIHN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKIHN0YXRpYyBpbnQgZXJyb3JfdW5tYXRjaDsKIHN0YXRpYyBjaGFyICpwc19tYXRjaGVkOwogc3RhdGljIGNvbnN0IGNoYXIgKndpdGhfdHJlZTsKQEAgLTYzLDcgKzY0LDcgQEAKIAlpZiAobGVuID49IGVudC0+bGVuKQogCQlkaWUoImdpdCBscy1maWxlczogaW50ZXJuYWwgZXJyb3IgLSBkaXJlY3RvcnkgZW50cnkgbm90IHN1cGVyc2V0IG9mIHByZWZpeCIpOwogCi0JaWYgKCFtYXRjaF9wYXRoc3BlYyhwYXRoc3BlYywgZW50LT5uYW1lLCBlbnQtPmxlbiwgbGVuLCBwc19tYXRjaGVkKSkKKwlpZiAoIW1hdGNoX3BhdGhzcGVjX2RlcHRoKCZwYXRoc3BlYywgZW50LT5uYW1lLCBlbnQtPmxlbiwgbGVuLCBwc19tYXRjaGVkKSkKIAkJcmV0dXJuOwogCiAJZnB1dHModGFnLCBzdGRvdXQpOwpAQCAtMTM4LDcgKzEzOSw3IEBACiAJaWYgKGxlbiA+PSBjZV9uYW1lbGVuKGNlKSkKIAkJZGllKCJnaXQgbHMtZmlsZXM6IGludGVybmFsIGVycm9yIC0gY2FjaGUgZW50cnkgbm90IHN1cGVyc2V0IG9mIHByZWZpeCIpOwogCi0JaWYgKCFtYXRjaF9wYXRoc3BlYyhwYXRoc3BlYywgY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpLCBsZW4sIHBzX21hdGNoZWQpKQorCWlmICghbWF0Y2hfcGF0aHNwZWNfZGVwdGgoJnBhdGhzcGVjLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSksIGxlbiwgcHNfbWF0Y2hlZCkpCiAJCXJldHVybjsKIAogCWlmICh0YWcgJiYgKnRhZyAmJiBzaG93X3ZhbGlkX2JpdCAmJgpAQCAtMTk0LDcgKzE5NSw3IEBACiAJCWxlbiA9IHN0cmxlbihwYXRoKTsKIAkJaWYgKGxlbiA8IG1heF9wcmVmaXhfbGVuKQogCQkJY29udGludWU7IC8qIG91dHNpZGUgb2YgdGhlIHByZWZpeCAqLwotCQlpZiAoIW1hdGNoX3BhdGhzcGVjKHBhdGhzcGVjLCBwYXRoLCBsZW4sIG1heF9wcmVmaXhfbGVuLCBwc19tYXRjaGVkKSkKKwkJaWYgKCFtYXRjaF9wYXRoc3BlY19kZXB0aCgmcGF0aHNwZWMsIHBhdGgsIGxlbiwgbWF4X3ByZWZpeF9sZW4sIHBzX21hdGNoZWQpKQogCQkJY29udGludWU7IC8qIHVuaW50ZXJlc3RlZCAqLwogCQlmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKSB7CiAJCQlpZiAoIXVpLT5tb2RlW2ldKQpAQCAtMjIxLDcgKzIyMiw3IEBACiAJaWYgKHNob3dfb3RoZXJzIHx8IHNob3dfa2lsbGVkKSB7CiAJCWlmICghc2hvd19vdGhlcnMpCiAJCQlkaXItPmZsYWdzIHw9IERJUl9DT0xMRUNUX0tJTExFRF9PTkxZOwotCQlmaWxsX2RpcmVjdG9yeShkaXIsIHBhdGhzcGVjKTsKKwkJZmlsbF9kaXJlY3RvcnkoZGlyLCAmcGF0aHNwZWMpOwogCQlpZiAoc2hvd19vdGhlcnMpCiAJCQlzaG93X290aGVyX2ZpbGVzKGRpcik7CiAJCWlmIChzaG93X2tpbGxlZCkKQEAgLTI4OSwyMSArMjkwLDYgQEAKIAlhY3RpdmVfbnIgPSBsYXN0OwogfQogCi1zdGF0aWMgdm9pZCBzdHJpcF90cmFpbGluZ19zbGFzaF9mcm9tX3N1Ym1vZHVsZXModm9pZCkKLXsKLQljb25zdCBjaGFyICoqcDsKLQotCWZvciAocCA9IHBhdGhzcGVjOyAqcCAhPSBOVUxMOyBwKyspIHsKLQkJaW50IGxlbiA9IHN0cmxlbigqcCksIHBvczsKLQotCQlpZiAobGVuIDwgMSB8fCAoKnApW2xlbiAtIDFdICE9ICcvJykKLQkJCWNvbnRpbnVlOwotCQlwb3MgPSBjYWNoZV9uYW1lX3BvcygqcCwgbGVuIC0gMSk7Ci0JCWlmIChwb3MgPj0gMCAmJiBTX0lTR0lUTElOSyhhY3RpdmVfY2FjaGVbcG9zXS0+Y2VfbW9kZSkpCi0JCQkqcCA9IHhzdHJuZHVwKCpwLCBsZW4gLSAxKTsKLQl9Ci19Ci0KIC8qCiAgKiBSZWFkIHRoZSB0cmVlIHNwZWNpZmllZCB3aXRoIC0td2l0aC10cmVlIG9wdGlvbgogICogKHR5cGljYWxseSwgSEVBRCkgaW50byBzdGFnZSAjMSBhbmQgdGhlbgpAQCAtMzM1LDEzICszMjEsMTIgQEAKIAl9CiAKIAlpZiAocHJlZml4KSB7Ci0JCXN0YXRpYyBjb25zdCBjaGFyICoobWF0Y2hidWZbMl0pOwotCQltYXRjaGJ1ZlswXSA9IHByZWZpeDsKLQkJbWF0Y2hidWZbMV0gPSBOVUxMOwotCQlpbml0X3BhdGhzcGVjKCZwYXRoc3BlYywgbWF0Y2hidWYpOwotCQlwYXRoc3BlYy5pdGVtc1swXS5ub3dpbGRjYXJkX2xlbiA9IHBhdGhzcGVjLml0ZW1zWzBdLmxlbjsKKwkJc3RhdGljIGNvbnN0IGNoYXIgKihtYXRjaGJ1ZlsxXSk7CisJCW1hdGNoYnVmWzBdID0gTlVMTDsKKwkJcGFyc2VfcGF0aHNwZWMoJnBhdGhzcGVjLCBQQVRIU1BFQ19BTExfTUFHSUMsCisJCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0NXRCwgcHJlZml4LCBtYXRjaGJ1Zik7CiAJfSBlbHNlCi0JCWluaXRfcGF0aHNwZWMoJnBhdGhzcGVjLCBOVUxMKTsKKwkJbWVtc2V0KCZwYXRoc3BlYywgMCwgc2l6ZW9mKHBhdGhzcGVjKSk7CiAJaWYgKHJlYWRfdHJlZSh0cmVlLCAxLCAmcGF0aHNwZWMpKQogCQlkaWUoInVuYWJsZSB0byByZWFkIHRyZWUgZW50cmllcyAlcyIsIHRyZWVfbmFtZSk7CiAKQEAgLTM2NiwxNSArMzUxLDE2IEBACiAJfQogfQogCi1pbnQgcmVwb3J0X3BhdGhfZXJyb3IoY29uc3QgY2hhciAqcHNfbWF0Y2hlZCwgY29uc3QgY2hhciAqKnBhdGhzcGVjLCBjb25zdCBjaGFyICpwcmVmaXgpCitpbnQgcmVwb3J0X3BhdGhfZXJyb3IoY29uc3QgY2hhciAqcHNfbWF0Y2hlZCwKKwkJICAgICAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJICAgICAgY29uc3QgY2hhciAqcHJlZml4KQogewogCS8qCiAJICogTWFrZSBzdXJlIGFsbCBwYXRoc3BlYyBtYXRjaGVkOyBvdGhlcndpc2UgaXQgaXMgYW4gZXJyb3IuCiAJICovCiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwotCWNvbnN0IGNoYXIgKm5hbWU7CiAJaW50IG51bSwgZXJyb3JzID0gMDsKLQlmb3IgKG51bSA9IDA7IHBhdGhzcGVjW251bV07IG51bSsrKSB7CisJZm9yIChudW0gPSAwOyBudW0gPCBwYXRoc3BlYy0+bnI7IG51bSsrKSB7CiAJCWludCBvdGhlciwgZm91bmRfZHVwOwogCiAJCWlmIChwc19tYXRjaGVkW251bV0pCkBAIC0zODIsMTMgKzM2OCwxNiBAQAogCQkvKgogCQkgKiBUaGUgY2FsbGVyIG1pZ2h0IGhhdmUgZmVkIGlkZW50aWNhbCBwYXRoc3BlYwogCQkgKiB0d2ljZS4gIERvIG5vdCBiYXJmIG9uIHN1Y2ggYSBtaXN0YWtlLgorCQkgKiBGSVhNRTogcGFyc2VfcGF0aHNwZWMgc2hvdWxkIGhhdmUgZWxpbWluYXRlZAorCQkgKiBkdXBsaWNhdGUgcGF0aHNwZWMuCiAJCSAqLwogCQlmb3IgKGZvdW5kX2R1cCA9IG90aGVyID0gMDsKLQkJICAgICAhZm91bmRfZHVwICYmIHBhdGhzcGVjW290aGVyXTsKKwkJICAgICAhZm91bmRfZHVwICYmIG90aGVyIDwgcGF0aHNwZWMtPm5yOwogCQkgICAgIG90aGVyKyspIHsKIAkJCWlmIChvdGhlciA9PSBudW0gfHwgIXBzX21hdGNoZWRbb3RoZXJdKQogCQkJCWNvbnRpbnVlOwotCQkJaWYgKCFzdHJjbXAocGF0aHNwZWNbb3RoZXJdLCBwYXRoc3BlY1tudW1dKSkKKwkJCWlmICghc3RyY21wKHBhdGhzcGVjLT5pdGVtc1tvdGhlcl0ub3JpZ2luYWwsCisJCQkJICAgIHBhdGhzcGVjLT5pdGVtc1tudW1dLm9yaWdpbmFsKSkKIAkJCQkvKgogCQkJCSAqIE9rLCB3ZSBoYXZlIGEgbWF0Y2ggYWxyZWFkeS4KIAkJCQkgKi8KQEAgLTM5Nyw5ICszODYsOCBAQAogCQlpZiAoZm91bmRfZHVwKQogCQkJY29udGludWU7CiAKLQkJbmFtZSA9IHF1b3RlX3BhdGhfcmVsYXRpdmUocGF0aHNwZWNbbnVtXSwgcHJlZml4LCAmc2IpOwogCQllcnJvcigicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlKHMpIGtub3duIHRvIGdpdC4iLAotCQkgICAgICBuYW1lKTsKKwkJICAgICAgcGF0aHNwZWMtPml0ZW1zW251bV0ub3JpZ2luYWwpOwogCQllcnJvcnMrKzsKIAl9CiAJc3RyYnVmX3JlbGVhc2UoJnNiKTsKQEAgLTQ2MywyNCArNDUxLDI0IEBACiAJCXsgT1BUSU9OX0NBTExCQUNLLCAneicsIE5VTEwsIE5VTEwsIE5VTEwsCiAJCQlOXygicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiKSwKIAkJCVBBUlNFX09QVF9OT0FSRywgb3B0aW9uX3BhcnNlX3ogfSwKLQkJT1BUX0JPT0xFQU4oJ3QnLCBOVUxMLCAmc2hvd190YWcsCisJCU9QVF9CT09MKCd0JywgTlVMTCwgJnNob3dfdGFnLAogCQkJTl8oImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiKSksCi0JCU9QVF9CT09MRUFOKCd2JywgTlVMTCwgJnNob3dfdmFsaWRfYml0LAorCQlPUFRfQk9PTCgndicsIE5VTEwsICZzaG93X3ZhbGlkX2JpdCwKIAkJCU5fKCJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdhc3N1bWUgdW5jaGFuZ2VkJyBmaWxlcyIpKSwKLQkJT1BUX0JPT0xFQU4oJ2MnLCAiY2FjaGVkIiwgJnNob3dfY2FjaGVkLAorCQlPUFRfQk9PTCgnYycsICJjYWNoZWQiLCAmc2hvd19jYWNoZWQsCiAJCQlOXygic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiKSksCi0JCU9QVF9CT09MRUFOKCdkJywgImRlbGV0ZWQiLCAmc2hvd19kZWxldGVkLAorCQlPUFRfQk9PTCgnZCcsICJkZWxldGVkIiwgJnNob3dfZGVsZXRlZCwKIAkJCU5fKCJzaG93IGRlbGV0ZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIpKSwKLQkJT1BUX0JPT0xFQU4oJ20nLCAibW9kaWZpZWQiLCAmc2hvd19tb2RpZmllZCwKKwkJT1BUX0JPT0woJ20nLCAibW9kaWZpZWQiLCAmc2hvd19tb2RpZmllZCwKIAkJCU5fKCJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiKSksCi0JCU9QVF9CT09MRUFOKCdvJywgIm90aGVycyIsICZzaG93X290aGVycywKKwkJT1BUX0JPT0woJ28nLCAib3RoZXJzIiwgJnNob3dfb3RoZXJzLAogCQkJTl8oInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIpKSwKIAkJT1BUX0JJVCgnaScsICJpZ25vcmVkIiwgJmRpci5mbGFncywKIAkJCU5fKCJzaG93IGlnbm9yZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIpLAogCQkJRElSX1NIT1dfSUdOT1JFRCksCi0JCU9QVF9CT09MRUFOKCdzJywgInN0YWdlIiwgJnNob3dfc3RhZ2UsCisJCU9QVF9CT09MKCdzJywgInN0YWdlIiwgJnNob3dfc3RhZ2UsCiAJCQlOXygic2hvdyBzdGFnZWQgY29udGVudHMnIG9iamVjdCBuYW1lIGluIHRoZSBvdXRwdXQiKSksCi0JCU9QVF9CT09MRUFOKCdrJywgImtpbGxlZCIsICZzaG93X2tpbGxlZCwKKwkJT1BUX0JPT0woJ2snLCAia2lsbGVkIiwgJnNob3dfa2lsbGVkLAogCQkJTl8oInNob3cgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0gdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQiKSksCiAJCU9QVF9CSVQoMCwgImRpcmVjdG9yeSIsICZkaXIuZmxhZ3MsCiAJCQlOXygic2hvdyAnb3RoZXInIGRpcmVjdG9yaWVzJyBuYW1lIG9ubHkiKSwKQEAgLTQ4OCw5ICs0NzYsOSBAQAogCQlPUFRfTkVHQklUKDAsICJlbXB0eS1kaXJlY3RvcnkiLCAmZGlyLmZsYWdzLAogCQkJTl8oImRvbid0IHNob3cgZW1wdHkgZGlyZWN0b3JpZXMiKSwKIAkJCURJUl9ISURFX0VNUFRZX0RJUkVDVE9SSUVTKSwKLQkJT1BUX0JPT0xFQU4oJ3UnLCAidW5tZXJnZWQiLCAmc2hvd191bm1lcmdlZCwKKwkJT1BUX0JPT0woJ3UnLCAidW5tZXJnZWQiLCAmc2hvd191bm1lcmdlZCwKIAkJCU5fKCJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiKSksCi0JCU9QVF9CT09MRUFOKDAsICJyZXNvbHZlLXVuZG8iLCAmc2hvd19yZXNvbHZlX3VuZG8sCisJCU9QVF9CT09MKDAsICJyZXNvbHZlLXVuZG8iLCAmc2hvd19yZXNvbHZlX3VuZG8sCiAJCQkgICAgTl8oInNob3cgcmVzb2x2ZS11bmRvIGluZm9ybWF0aW9uIikpLAogCQl7IE9QVElPTl9DQUxMQkFDSywgJ3gnLCAiZXhjbHVkZSIsICZleGNsdWRlX2xpc3QsIE5fKCJwYXR0ZXJuIiksCiAJCQlOXygic2tpcCBmaWxlcyBtYXRjaGluZyBwYXR0ZXJuIiksCkBAIC01MDYsMTIgKzQ5NCwxMiBAQAogCQl7IE9QVElPTl9TRVRfSU5ULCAwLCAiZnVsbC1uYW1lIiwgJnByZWZpeF9sZW4sIE5VTEwsCiAJCQlOXygibWFrZSB0aGUgb3V0cHV0IHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHRvcCBkaXJlY3RvcnkiKSwKIAkJCVBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9OT05FRywgTlVMTCB9LAotCQlPUFRfQk9PTEVBTigwLCAiZXJyb3ItdW5tYXRjaCIsICZlcnJvcl91bm1hdGNoLAorCQlPUFRfQk9PTCgwLCAiZXJyb3ItdW5tYXRjaCIsICZlcnJvcl91bm1hdGNoLAogCQkJTl8oImlmIGFueSA8ZmlsZT4gaXMgbm90IGluIHRoZSBpbmRleCwgdHJlYXQgdGhpcyBhcyBhbiBlcnJvciIpKSwKIAkJT1BUX1NUUklORygwLCAid2l0aC10cmVlIiwgJndpdGhfdHJlZSwgTl8oInRyZWUtaXNoIiksCiAJCQlOXygicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIpKSwKIAkJT1BUX19BQkJSRVYoJmFiYnJldiksCi0JCU9QVF9CT09MRUFOKDAsICJkZWJ1ZyIsICZkZWJ1Z19tb2RlLCBOXygic2hvdyBkZWJ1Z2dpbmcgZGF0YSIpKSwKKwkJT1BUX0JPT0woMCwgImRlYnVnIiwgJmRlYnVnX21vZGUsIE5fKCJzaG93IGRlYnVnZ2luZyBkYXRhIikpLAogCQlPUFRfRU5EKCkKIAl9OwogCkBAIC01NTcsMjMgKzU0NSwxOCBAQAogCWlmIChyZXF1aXJlX3dvcmtfdHJlZSAmJiAhaXNfaW5zaWRlX3dvcmtfdHJlZSgpKQogCQlzZXR1cF93b3JrX3RyZWUoKTsKIAotCXBhdGhzcGVjID0gZ2V0X3BhdGhzcGVjKHByZWZpeCwgYXJndik7Ci0KLQkvKiBiZSBuaWNlIHdpdGggc3VibW9kdWxlIHBhdGhzIGVuZGluZyBpbiBhIHNsYXNoICovCi0JaWYgKHBhdGhzcGVjKQotCQlzdHJpcF90cmFpbGluZ19zbGFzaF9mcm9tX3N1Ym1vZHVsZXMoKTsKKwlwYXJzZV9wYXRoc3BlYygmcGF0aHNwZWMsIDAsCisJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfQ1dEIHwKKwkJICAgICAgIFBBVEhTUEVDX1NUUklQX1NVQk1PRFVMRV9TTEFTSF9DSEVBUCwKKwkJICAgICAgIHByZWZpeCwgYXJndik7CiAKIAkvKiBGaW5kIGNvbW1vbiBwcmVmaXggZm9yIGFsbCBwYXRoc3BlYydzICovCi0JbWF4X3ByZWZpeCA9IGNvbW1vbl9wcmVmaXgocGF0aHNwZWMpOworCW1heF9wcmVmaXggPSBjb21tb25fcHJlZml4KCZwYXRoc3BlYyk7CiAJbWF4X3ByZWZpeF9sZW4gPSBtYXhfcHJlZml4ID8gc3RybGVuKG1heF9wcmVmaXgpIDogMDsKIAogCS8qIFRyZWF0IHVubWF0Y2hpbmcgcGF0aHNwZWMgZWxlbWVudHMgYXMgZXJyb3JzICovCi0JaWYgKHBhdGhzcGVjICYmIGVycm9yX3VubWF0Y2gpIHsKLQkJaW50IG51bTsKLQkJZm9yIChudW0gPSAwOyBwYXRoc3BlY1tudW1dOyBudW0rKykKLQkJCTsKLQkJcHNfbWF0Y2hlZCA9IHhjYWxsb2MoMSwgbnVtKTsKLQl9CisJaWYgKHBhdGhzcGVjLm5yICYmIGVycm9yX3VubWF0Y2gpCisJCXBzX21hdGNoZWQgPSB4Y2FsbG9jKDEsIHBhdGhzcGVjLm5yKTsKIAogCWlmICgoZGlyLmZsYWdzICYgRElSX1NIT1dfSUdOT1JFRCkgJiYgIWV4Y19naXZlbikKIAkJZGllKCJscy1maWxlcyAtLWlnbm9yZWQgbmVlZHMgc29tZSBleGNsdWRlIHBhdHRlcm4iKTsKQEAgLTYwMCw3ICs1ODMsNyBAQAogCiAJaWYgKHBzX21hdGNoZWQpIHsKIAkJaW50IGJhZDsKLQkJYmFkID0gcmVwb3J0X3BhdGhfZXJyb3IocHNfbWF0Y2hlZCwgcGF0aHNwZWMsIHByZWZpeCk7CisJCWJhZCA9IHJlcG9ydF9wYXRoX2Vycm9yKHBzX21hdGNoZWQsICZwYXRoc3BlYywgcHJlZml4KTsKIAkJaWYgKGJhZCkKIAkJCWZwcmludGYoc3RkZXJyLCAiRGlkIHlvdSBmb3JnZXQgdG8gJ2dpdCBhZGQnP1xuIik7CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vbHMtdHJlZS5jIGIvYnVpbHRpbi9scy10cmVlLmMKaW5kZXggZmI3NmUzOC4uNjVlYzkzMSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9scy10cmVlLmMKKysrIGIvYnVpbHRpbi9scy10cmVlLmMKQEAgLTEwLDYgKzEwLDcgQEAKICNpbmNsdWRlICJxdW90ZS5oIgogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCisjaW5jbHVkZSAicGF0aHNwZWMuaCIKIAogc3RhdGljIGludCBsaW5lX3Rlcm1pbmF0aW9uID0gJ1xuJzsKICNkZWZpbmUgTFNfUkVDVVJTSVZFIDEKQEAgLTM1LDcgKzM2LDcgQEAKIAlpZiAobHNfb3B0aW9ucyAmIExTX1JFQ1VSU0lWRSkKIAkJcmV0dXJuIDE7CiAKLQlzID0gcGF0aHNwZWMucmF3OworCXMgPSBwYXRoc3BlYy5fcmF3OwogCWlmICghcykKIAkJcmV0dXJuIDA7CiAKQEAgLTEzOCw5ICsxMzksOSBAQAogCQkJTFNfTkFNRV9PTkxZKSwKIAkJT1BUX1NFVF9JTlQoMCwgImZ1bGwtbmFtZSIsICZjaG9tcF9wcmVmaXgsCiAJCQkgICAgTl8oInVzZSBmdWxsIHBhdGggbmFtZXMiKSwgMCksCi0JCU9QVF9CT09MRUFOKDAsICJmdWxsLXRyZWUiLCAmZnVsbF90cmVlLAotCQkJICAgIE5fKCJsaXN0IGVudGlyZSB0cmVlOyBub3QganVzdCBjdXJyZW50IGRpcmVjdG9yeSAiCi0JCQkgICAgICAgIihpbXBsaWVzIC0tZnVsbC1uYW1lKSIpKSwKKwkJT1BUX0JPT0woMCwgImZ1bGwtdHJlZSIsICZmdWxsX3RyZWUsCisJCQkgTl8oImxpc3QgZW50aXJlIHRyZWU7IG5vdCBqdXN0IGN1cnJlbnQgZGlyZWN0b3J5ICIKKwkJCSAgICAiKGltcGxpZXMgLS1mdWxsLW5hbWUpIikpLAogCQlPUFRfX0FCQlJFVigmYWJicmV2KSwKIAkJT1BUX0VORCgpCiAJfTsKQEAgLTE2Niw3ICsxNjcsMTUgQEAKIAlpZiAoZ2V0X3NoYTEoYXJndlswXSwgc2hhMSkpCiAJCWRpZSgiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiLCBhcmd2WzBdKTsKIAotCWluaXRfcGF0aHNwZWMoJnBhdGhzcGVjLCBnZXRfcGF0aHNwZWMocHJlZml4LCBhcmd2ICsgMSkpOworCS8qCisJICogc2hvd19yZWN1cnNpdmUoKSByb2xscyBpdHMgb3duIG1hdGNoaW5nIGNvZGUgYW5kIGlzCisJICogZ2VuZXJhbGx5IGlnbm9yYW50IG9mICdzdHJ1Y3QgcGF0aHNwZWMnLiBUaGUgbWFnaWMgbWFzaworCSAqIGNhbm5vdCBiZSBsaWZ0ZWQgdW50aWwgaXQgaXMgY29udmVydGVkIHRvIHVzZQorCSAqIG1hdGNoX3BhdGhzcGVjX2RlcHRoKCkgb3IgdHJlZV9lbnRyeV9pbnRlcmVzdGluZygpCisJICovCisJcGFyc2VfcGF0aHNwZWMoJnBhdGhzcGVjLCBQQVRIU1BFQ19HTE9CIHwgUEFUSFNQRUNfSUNBU0UsCisJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfQ1dELAorCQkgICAgICAgcHJlZml4LCBhcmd2ICsgMSk7CiAJZm9yIChpID0gMDsgaSA8IHBhdGhzcGVjLm5yOyBpKyspCiAJCXBhdGhzcGVjLml0ZW1zW2ldLm5vd2lsZGNhcmRfbGVuID0gcGF0aHNwZWMuaXRlbXNbaV0ubGVuOwogCXBhdGhzcGVjLmhhc193aWxkY2FyZCA9IDA7CmRpZmYgLS1naXQgYS9idWlsdGluL21lcmdlLWJhc2UuYyBiL2J1aWx0aW4vbWVyZ2UtYmFzZS5jCmluZGV4IDBjNGNkMmYuLmU4OGViOTMgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vbWVyZ2UtYmFzZS5jCisrKyBiL2J1aWx0aW4vbWVyZ2UtYmFzZS5jCkBAIC05NSwxMSArOTUsMTEgQEAKIAlpbnQgaXNfYW5jZXN0b3IgPSAwOwogCiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MRUFOKCdhJywgImFsbCIsICZzaG93X2FsbCwgTl8oIm91dHB1dCBhbGwgY29tbW9uIGFuY2VzdG9ycyIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgIm9jdG9wdXMiLCAmb2N0b3B1cywgTl8oImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImluZGVwZW5kZW50IiwgJnJlZHVjZSwgTl8oImxpc3QgcmV2cyBub3QgcmVhY2hhYmxlIGZyb20gb3RoZXJzIikpLAotCQlPUFRfQk9PTEVBTigwLCAiaXMtYW5jZXN0b3IiLCAmaXNfYW5jZXN0b3IsCi0JCQkgICAgTl8oImlzIHRoZSBmaXJzdCBvbmUgYW5jZXN0b3Igb2YgdGhlIG90aGVyPyIpKSwKKwkJT1BUX0JPT0woJ2EnLCAiYWxsIiwgJnNob3dfYWxsLCBOXygib3V0cHV0IGFsbCBjb21tb24gYW5jZXN0b3JzIikpLAorCQlPUFRfQk9PTCgwLCAib2N0b3B1cyIsICZvY3RvcHVzLCBOXygiZmluZCBhbmNlc3RvcnMgZm9yIGEgc2luZ2xlIG4td2F5IG1lcmdlIikpLAorCQlPUFRfQk9PTCgwLCAiaW5kZXBlbmRlbnQiLCAmcmVkdWNlLCBOXygibGlzdCByZXZzIG5vdCByZWFjaGFibGUgZnJvbSBvdGhlcnMiKSksCisJCU9QVF9CT09MKDAsICJpcy1hbmNlc3RvciIsICZpc19hbmNlc3RvciwKKwkJCSBOXygiaXMgdGhlIGZpcnN0IG9uZSBhbmNlc3RvciBvZiB0aGUgb3RoZXI/IikpLAogCQlPUFRfRU5EKCkKIAl9OwogCmRpZmYgLS1naXQgYS9idWlsdGluL21lcmdlLWZpbGUuYyBiL2J1aWx0aW4vbWVyZ2UtZmlsZS5jCmluZGV4IGMwNTcwZjIuLjg0NGY4NGYgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vbWVyZ2UtZmlsZS5jCisrKyBiL2J1aWx0aW4vbWVyZ2UtZmlsZS5jCkBAIC0zMCw3ICszMCw3IEBACiAJaW50IHF1aWV0ID0gMDsKIAlpbnQgcHJlZml4bGVuID0gMDsKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKLQkJT1BUX0JPT0xFQU4oJ3AnLCAic3Rkb3V0IiwgJnRvX3N0ZG91dCwgTl8oInNlbmQgcmVzdWx0cyB0byBzdGFuZGFyZCBvdXRwdXQiKSksCisJCU9QVF9CT09MKCdwJywgInN0ZG91dCIsICZ0b19zdGRvdXQsIE5fKCJzZW5kIHJlc3VsdHMgdG8gc3RhbmRhcmQgb3V0cHV0IikpLAogCQlPUFRfU0VUX0lOVCgwLCAiZGlmZjMiLCAmeG1wLnN0eWxlLCBOXygidXNlIGEgZGlmZjMgYmFzZWQgbWVyZ2UiKSwgWERMX01FUkdFX0RJRkYzKSwKIAkJT1BUX1NFVF9JTlQoMCwgIm91cnMiLCAmeG1wLmZhdm9yLCBOXygiZm9yIGNvbmZsaWN0cywgdXNlIG91ciB2ZXJzaW9uIiksCiAJCQkgICAgWERMX01FUkdFX0ZBVk9SX09VUlMpLApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9tZXJnZS5jIGIvYnVpbHRpbi9tZXJnZS5jCmluZGV4IDM0YTYxNjYuLjQxZmI2NmQgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vbWVyZ2UuYworKysgYi9idWlsdGluL21lcmdlLmMKQEAgLTE4NiwzMyArMTg2LDI2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgb3B0aW9uX3BhcnNlX2ZmX29ubHkoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAotCQkJICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKLXsKLQlmYXN0X2ZvcndhcmQgPSBGRl9PTkxZOwotCXJldHVybiAwOwotfQotCiBzdGF0aWMgc3RydWN0IG9wdGlvbiBidWlsdGluX21lcmdlX29wdGlvbnNbXSA9IHsKIAl7IE9QVElPTl9DQUxMQkFDSywgJ24nLCBOVUxMLCBOVUxMLCBOVUxMLAogCQlOXygiZG8gbm90IHNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIpLAogCQlQQVJTRV9PUFRfTk9BUkcsIG9wdGlvbl9wYXJzZV9uIH0sCi0JT1BUX0JPT0xFQU4oMCwgInN0YXQiLCAmc2hvd19kaWZmc3RhdCwKKwlPUFRfQk9PTCgwLCAic3RhdCIsICZzaG93X2RpZmZzdGF0LAogCQlOXygic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIikpLAotCU9QVF9CT09MRUFOKDAsICJzdW1tYXJ5IiwgJnNob3dfZGlmZnN0YXQsIE5fKCIoc3lub255bSB0byAtLXN0YXQpIikpLAorCU9QVF9CT09MKDAsICJzdW1tYXJ5IiwgJnNob3dfZGlmZnN0YXQsIE5fKCIoc3lub255bSB0byAtLXN0YXQpIikpLAogCXsgT1BUSU9OX0lOVEVHRVIsIDAsICJsb2ciLCAmc2hvcnRsb2dfbGVuLCBOXygibiIpLAogCSAgTl8oImFkZCAoYXQgbW9zdCA8bj4pIGVudHJpZXMgZnJvbSBzaG9ydGxvZyB0byBtZXJnZSBjb21taXQgbWVzc2FnZSIpLAogCSAgUEFSU0VfT1BUX09QVEFSRywgTlVMTCwgREVGQVVMVF9NRVJHRV9MT0dfTEVOIH0sCi0JT1BUX0JPT0xFQU4oMCwgInNxdWFzaCIsICZzcXVhc2gsCisJT1BUX0JPT0woMCwgInNxdWFzaCIsICZzcXVhc2gsCiAJCU5fKCJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIpKSwKLQlPUFRfQk9PTEVBTigwLCAiY29tbWl0IiwgJm9wdGlvbl9jb21taXQsCisJT1BUX0JPT0woMCwgImNvbW1pdCIsICZvcHRpb25fY29tbWl0LAogCQlOXygicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIikpLAogCU9QVF9CT09MKCdlJywgImVkaXQiLCAmb3B0aW9uX2VkaXQsCiAJCU5fKCJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciKSksCiAJT1BUX1NFVF9JTlQoMCwgImZmIiwgJmZhc3RfZm9yd2FyZCwgTl8oImFsbG93IGZhc3QtZm9yd2FyZCAoZGVmYXVsdCkiKSwgRkZfQUxMT1cpLAotCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAiZmYtb25seSIsIE5VTEwsIE5VTEwsCisJeyBPUFRJT05fU0VUX0lOVCwgMCwgImZmLW9ubHkiLCAmZmFzdF9mb3J3YXJkLCBOVUxMLAogCQlOXygiYWJvcnQgaWYgZmFzdC1mb3J3YXJkIGlzIG5vdCBwb3NzaWJsZSIpLAotCQlQQVJTRV9PUFRfTk9BUkcgfCBQQVJTRV9PUFRfTk9ORUcsIG9wdGlvbl9wYXJzZV9mZl9vbmx5IH0sCisJCVBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9OT05FRywgTlVMTCwgRkZfT05MWSB9LAogCU9QVF9SRVJFUkVfQVVUT1VQREFURSgmYWxsb3dfcmVyZXJlX2F1dG8pLAogCU9QVF9CT09MKDAsICJ2ZXJpZnktc2lnbmF0dXJlcyIsICZ2ZXJpZnlfc2lnbmF0dXJlcywKIAkJTl8oIlZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIpKSwKQEAgLTIyNCwxMiArMjE3LDEyIEBACiAJCU5fKCJtZXJnZSBjb21taXQgbWVzc2FnZSAoZm9yIGEgbm9uLWZhc3QtZm9yd2FyZCBtZXJnZSkiKSwKIAkJb3B0aW9uX3BhcnNlX21lc3NhZ2UpLAogCU9QVF9fVkVSQk9TSVRZKCZ2ZXJib3NpdHkpLAotCU9QVF9CT09MRUFOKDAsICJhYm9ydCIsICZhYm9ydF9jdXJyZW50X21lcmdlLAorCU9QVF9CT09MKDAsICJhYm9ydCIsICZhYm9ydF9jdXJyZW50X21lcmdlLAogCQlOXygiYWJvcnQgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiKSksCiAJT1BUX1NFVF9JTlQoMCwgInByb2dyZXNzIiwgJnNob3dfcHJvZ3Jlc3MsIE5fKCJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciKSwgMSksCiAJeyBPUFRJT05fU1RSSU5HLCAnUycsICJncGctc2lnbiIsICZzaWduX2NvbW1pdCwgTl8oImtleSBpZCIpLAogCSAgTl8oIkdQRyBzaWduIGNvbW1pdCIpLCBQQVJTRV9PUFRfT1BUQVJHLCBOVUxMLCAoaW50cHRyX3QpICIiIH0sCi0JT1BUX0JPT0xFQU4oMCwgIm92ZXJ3cml0ZS1pZ25vcmUiLCAmb3ZlcndyaXRlX2lnbm9yZSwgTl8oInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIpKSwKKwlPUFRfQk9PTCgwLCAib3ZlcndyaXRlLWlnbm9yZSIsICZvdmVyd3JpdGVfaWdub3JlLCBOXygidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIikpLAogCU9QVF9FTkQoKQogfTsKIApAQCAtMTE5Myw3ICsxMTg2LDcgQEAKIAkgKiBUaGlzIGNvdWxkIGJlIHRyYWRpdGlvbmFsICJtZXJnZSA8bXNnPiBIRUFEIDxjb21taXQ+Li4uIiAgYW5kCiAJICogdGhlIHdheSB3ZSBjYW4gdGVsbCBpdCBpcyB0byBzZWUgaWYgdGhlIHNlY29uZCB0b2tlbiBpcyBIRUFELAogCSAqIGJ1dCBzb21lIHBlb3BsZSBtaWdodCBoYXZlIG1pc3VzZWQgdGhlIGludGVyZmFjZSBhbmQgdXNlZCBhCi0JICogY29tbWl0dGlzaCB0aGF0IGlzIHRoZSBzYW1lIGFzIEhFQUQgdGhlcmUgaW5zdGVhZC4KKwkgKiBjb21taXQtaXNoIHRoYXQgaXMgdGhlIHNhbWUgYXMgSEVBRCB0aGVyZSBpbnN0ZWFkLgogCSAqIFRyYWRpdGlvbmFsIGZvcm1hdCBuZXZlciB3b3VsZCBoYXZlICItbSIgc28gaXQgaXMgYW4KIAkgKiBhZGRpdGlvbmFsIHNhZmV0eSBtZWFzdXJlIHRvIGNoZWNrIGZvciBpdC4KIAkgKi8KZGlmZiAtLWdpdCBhL2J1aWx0aW4vbXYuYyBiL2J1aWx0aW4vbXYuYwppbmRleCAwMzRmZWM5Li4yZTBlNjFiIDEwMDY0NAotLS0gYS9idWlsdGluL212LmMKKysrIGIvYnVpbHRpbi9tdi5jCkBAIC05LDE0ICs5LDE2IEBACiAjaW5jbHVkZSAiY2FjaGUtdHJlZS5oIgogI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgorI2luY2x1ZGUgInN1Ym1vZHVsZS5oIgogCiBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGJ1aWx0aW5fbXZfdXNhZ2VbXSA9IHsKIAlOXygiZ2l0IG12IFtvcHRpb25zXSA8c291cmNlPi4uLiA8ZGVzdGluYXRpb24+IiksCiAJTlVMTAogfTsKIAotc3RhdGljIGNvbnN0IGNoYXIgKipjb3B5X3BhdGhzcGVjKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqKnBhdGhzcGVjLAotCQkJCSAgaW50IGNvdW50LCBpbnQgYmFzZV9uYW1lKQorc3RhdGljIGNvbnN0IGNoYXIgKippbnRlcm5hbF9jb3B5X3BhdGhzcGVjKGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCQkJICAgY29uc3QgY2hhciAqKnBhdGhzcGVjLAorCQkJCQkgICBpbnQgY291bnQsIGludCBiYXNlX25hbWUpCiB7CiAJaW50IGk7CiAJY29uc3QgY2hhciAqKnJlc3VsdCA9IHhtYWxsb2MoKGNvdW50ICsgMSkgKiBzaXplb2YoY29uc3QgY2hhciAqKSk7CkBAIC01MywyMyArNTUsMjUgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBsb2NrX2ZpbGUgbG9ja19maWxlOworI2RlZmluZSBTVUJNT0RVTEVfV0lUSF9HSVRESVIgKChjb25zdCBjaGFyICopMSkKIAogaW50IGNtZF9tdihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKLQlpbnQgaSwgbmV3ZmQ7CisJaW50IGksIG5ld2ZkLCBnaXRtb2R1bGVzX21vZGlmaWVkID0gMDsKIAlpbnQgdmVyYm9zZSA9IDAsIHNob3dfb25seSA9IDAsIGZvcmNlID0gMCwgaWdub3JlX2Vycm9ycyA9IDA7CiAJc3RydWN0IG9wdGlvbiBidWlsdGluX212X29wdGlvbnNbXSA9IHsKIAkJT1BUX19WRVJCT1NFKCZ2ZXJib3NlLCBOXygiYmUgdmVyYm9zZSIpKSwKIAkJT1BUX19EUllfUlVOKCZzaG93X29ubHksIE5fKCJkcnkgcnVuIikpLAogCQlPUFRfX0ZPUkNFKCZmb3JjZSwgTl8oImZvcmNlIG1vdmUvcmVuYW1lIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIpKSwKLQkJT1BUX0JPT0xFQU4oJ2snLCBOVUxMLCAmaWdub3JlX2Vycm9ycywgTl8oInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIikpLAorCQlPUFRfQk9PTCgnaycsIE5VTEwsICZpZ25vcmVfZXJyb3JzLCBOXygic2tpcCBtb3ZlL3JlbmFtZSBlcnJvcnMiKSksCiAJCU9QVF9FTkQoKSwKIAl9OwotCWNvbnN0IGNoYXIgKipzb3VyY2UsICoqZGVzdGluYXRpb24sICoqZGVzdF9wYXRoOworCWNvbnN0IGNoYXIgKipzb3VyY2UsICoqZGVzdGluYXRpb24sICoqZGVzdF9wYXRoLCAqKnN1Ym1vZHVsZV9naXRmaWxlOwogCWVudW0gdXBkYXRlX21vZGUgeyBCT1RIID0gMCwgV09SS0lOR19ESVJFQ1RPUlksIElOREVYIH0gKm1vZGVzOwogCXN0cnVjdCBzdGF0IHN0OwogCXN0cnVjdCBzdHJpbmdfbGlzdCBzcmNfZm9yX2RzdCA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiAKKwlnaXRtb2R1bGVzX2NvbmZpZygpOwogCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKIAogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgYnVpbHRpbl9tdl9vcHRpb25zLApAQCAtODEsMTcgKzg1LDE4IEBACiAJaWYgKHJlYWRfY2FjaGUoKSA8IDApCiAJCWRpZShfKCJpbmRleCBmaWxlIGNvcnJ1cHQiKSk7CiAKLQlzb3VyY2UgPSBjb3B5X3BhdGhzcGVjKHByZWZpeCwgYXJndiwgYXJnYywgMCk7CisJc291cmNlID0gaW50ZXJuYWxfY29weV9wYXRoc3BlYyhwcmVmaXgsIGFyZ3YsIGFyZ2MsIDApOwogCW1vZGVzID0geGNhbGxvYyhhcmdjLCBzaXplb2YoZW51bSB1cGRhdGVfbW9kZSkpOwotCWRlc3RfcGF0aCA9IGNvcHlfcGF0aHNwZWMocHJlZml4LCBhcmd2ICsgYXJnYywgMSwgMCk7CisJZGVzdF9wYXRoID0gaW50ZXJuYWxfY29weV9wYXRoc3BlYyhwcmVmaXgsIGFyZ3YgKyBhcmdjLCAxLCAwKTsKKwlzdWJtb2R1bGVfZ2l0ZmlsZSA9IHhjYWxsb2MoYXJnYywgc2l6ZW9mKGNoYXIgKikpOwogCiAJaWYgKGRlc3RfcGF0aFswXVswXSA9PSAnXDAnKQogCQkvKiBzcGVjaWFsIGNhc2U6ICIuIiB3YXMgbm9ybWFsaXplZCB0byAiIiAqLwotCQlkZXN0aW5hdGlvbiA9IGNvcHlfcGF0aHNwZWMoZGVzdF9wYXRoWzBdLCBhcmd2LCBhcmdjLCAxKTsKKwkJZGVzdGluYXRpb24gPSBpbnRlcm5hbF9jb3B5X3BhdGhzcGVjKGRlc3RfcGF0aFswXSwgYXJndiwgYXJnYywgMSk7CiAJZWxzZSBpZiAoIWxzdGF0KGRlc3RfcGF0aFswXSwgJnN0KSAmJgogCQkJU19JU0RJUihzdC5zdF9tb2RlKSkgewogCQlkZXN0X3BhdGhbMF0gPSBhZGRfc2xhc2goZGVzdF9wYXRoWzBdKTsKLQkJZGVzdGluYXRpb24gPSBjb3B5X3BhdGhzcGVjKGRlc3RfcGF0aFswXSwgYXJndiwgYXJnYywgMSk7CisJCWRlc3RpbmF0aW9uID0gaW50ZXJuYWxfY29weV9wYXRoc3BlYyhkZXN0X3BhdGhbMF0sIGFyZ3YsIGFyZ2MsIDEpOwogCX0gZWxzZSB7CiAJCWlmIChhcmdjICE9IDEpCiAJCQlkaWUoImRlc3RpbmF0aW9uICclcycgaXMgbm90IGEgZGlyZWN0b3J5IiwgZGVzdF9wYXRoWzBdKTsKQEAgLTExNyw1NSArMTIyLDcwIEBACiAJCQkJJiYgbHN0YXQoZHN0LCAmc3QpID09IDApCiAJCQliYWQgPSBfKCJjYW5ub3QgbW92ZSBkaXJlY3Rvcnkgb3ZlciBmaWxlIik7CiAJCWVsc2UgaWYgKHNyY19pc19kaXIpIHsKLQkJCWNvbnN0IGNoYXIgKnNyY193X3NsYXNoID0gYWRkX3NsYXNoKHNyYyk7Ci0JCQlpbnQgbGVuX3dfc2xhc2ggPSBsZW5ndGggKyAxOwotCQkJaW50IGZpcnN0LCBsYXN0OworCQkJaW50IGZpcnN0ID0gY2FjaGVfbmFtZV9wb3Moc3JjLCBsZW5ndGgpOworCQkJaWYgKGZpcnN0ID49IDApIHsKKwkJCQlzdHJ1Y3Qgc3RyYnVmIHN1Ym1vZHVsZV9kb3RnaXQgPSBTVFJCVUZfSU5JVDsKKwkJCQlpZiAoIVNfSVNHSVRMSU5LKGFjdGl2ZV9jYWNoZVtmaXJzdF0tPmNlX21vZGUpKQorCQkJCQlkaWUgKF8oIkh1aD8gRGlyZWN0b3J5ICVzIGlzIGluIGluZGV4IGFuZCBubyBzdWJtb2R1bGU/IiksIHNyYyk7CisJCQkJaWYgKCFpc19zdGFnaW5nX2dpdG1vZHVsZXNfb2soKSkKKwkJCQkJZGllIChfKCJQbGVhc2UsIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiKSk7CisJCQkJc3RyYnVmX2FkZGYoJnN1Ym1vZHVsZV9kb3RnaXQsICIlcy8uZ2l0Iiwgc3JjKTsKKwkJCQlzdWJtb2R1bGVfZ2l0ZmlsZVtpXSA9IHJlYWRfZ2l0ZmlsZShzdWJtb2R1bGVfZG90Z2l0LmJ1Zik7CisJCQkJaWYgKHN1Ym1vZHVsZV9naXRmaWxlW2ldKQorCQkJCQlzdWJtb2R1bGVfZ2l0ZmlsZVtpXSA9IHhzdHJkdXAoc3VibW9kdWxlX2dpdGZpbGVbaV0pOworCQkJCWVsc2UKKwkJCQkJc3VibW9kdWxlX2dpdGZpbGVbaV0gPSBTVUJNT0RVTEVfV0lUSF9HSVRESVI7CisJCQkJc3RyYnVmX3JlbGVhc2UoJnN1Ym1vZHVsZV9kb3RnaXQpOworCQkJfSBlbHNlIHsKKwkJCQljb25zdCBjaGFyICpzcmNfd19zbGFzaCA9IGFkZF9zbGFzaChzcmMpOworCQkJCWludCBsYXN0LCBsZW5fd19zbGFzaCA9IGxlbmd0aCArIDE7CiAKLQkJCW1vZGVzW2ldID0gV09SS0lOR19ESVJFQ1RPUlk7CisJCQkJbW9kZXNbaV0gPSBXT1JLSU5HX0RJUkVDVE9SWTsKIAotCQkJZmlyc3QgPSBjYWNoZV9uYW1lX3BvcyhzcmNfd19zbGFzaCwgbGVuX3dfc2xhc2gpOwotCQkJaWYgKGZpcnN0ID49IDApCi0JCQkJZGllIChfKCJIdWg/ICUuKnMgaXMgaW4gaW5kZXg/IiksCi0JCQkJCQlsZW5fd19zbGFzaCwgc3JjX3dfc2xhc2gpOworCQkJCWZpcnN0ID0gY2FjaGVfbmFtZV9wb3Moc3JjX3dfc2xhc2gsIGxlbl93X3NsYXNoKTsKKwkJCQlpZiAoZmlyc3QgPj0gMCkKKwkJCQkJZGllIChfKCJIdWg/ICUuKnMgaXMgaW4gaW5kZXg/IiksCisJCQkJCQkJbGVuX3dfc2xhc2gsIHNyY193X3NsYXNoKTsKIAotCQkJZmlyc3QgPSAtMSAtIGZpcnN0OwotCQkJZm9yIChsYXN0ID0gZmlyc3Q7IGxhc3QgPCBhY3RpdmVfbnI7IGxhc3QrKykgewotCQkJCWNvbnN0IGNoYXIgKnBhdGggPSBhY3RpdmVfY2FjaGVbbGFzdF0tPm5hbWU7Ci0JCQkJaWYgKHN0cm5jbXAocGF0aCwgc3JjX3dfc2xhc2gsIGxlbl93X3NsYXNoKSkKLQkJCQkJYnJlYWs7Ci0JCQl9Ci0JCQlmcmVlKChjaGFyICopc3JjX3dfc2xhc2gpOwotCi0JCQlpZiAobGFzdCAtIGZpcnN0IDwgMSkKLQkJCQliYWQgPSBfKCJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5Iik7Ci0JCQllbHNlIHsKLQkJCQlpbnQgaiwgZHN0X2xlbjsKLQotCQkJCWlmIChsYXN0IC0gZmlyc3QgPiAwKSB7Ci0JCQkJCXNvdXJjZSA9IHhyZWFsbG9jKHNvdXJjZSwKLQkJCQkJCQkoYXJnYyArIGxhc3QgLSBmaXJzdCkKLQkJCQkJCQkqIHNpemVvZihjaGFyICopKTsKLQkJCQkJZGVzdGluYXRpb24gPSB4cmVhbGxvYyhkZXN0aW5hdGlvbiwKLQkJCQkJCQkoYXJnYyArIGxhc3QgLSBmaXJzdCkKLQkJCQkJCQkqIHNpemVvZihjaGFyICopKTsKLQkJCQkJbW9kZXMgPSB4cmVhbGxvYyhtb2RlcywKLQkJCQkJCQkoYXJnYyArIGxhc3QgLSBmaXJzdCkKLQkJCQkJCQkqIHNpemVvZihlbnVtIHVwZGF0ZV9tb2RlKSk7CisJCQkJZmlyc3QgPSAtMSAtIGZpcnN0OworCQkJCWZvciAobGFzdCA9IGZpcnN0OyBsYXN0IDwgYWN0aXZlX25yOyBsYXN0KyspIHsKKwkJCQkJY29uc3QgY2hhciAqcGF0aCA9IGFjdGl2ZV9jYWNoZVtsYXN0XS0+bmFtZTsKKwkJCQkJaWYgKHN0cm5jbXAocGF0aCwgc3JjX3dfc2xhc2gsIGxlbl93X3NsYXNoKSkKKwkJCQkJCWJyZWFrOwogCQkJCX0KKwkJCQlmcmVlKChjaGFyICopc3JjX3dfc2xhc2gpOwogCi0JCQkJZHN0ID0gYWRkX3NsYXNoKGRzdCk7Ci0JCQkJZHN0X2xlbiA9IHN0cmxlbihkc3QpOworCQkJCWlmIChsYXN0IC0gZmlyc3QgPCAxKQorCQkJCQliYWQgPSBfKCJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5Iik7CisJCQkJZWxzZSB7CisJCQkJCWludCBqLCBkc3RfbGVuOwogCi0JCQkJZm9yIChqID0gMDsgaiA8IGxhc3QgLSBmaXJzdDsgaisrKSB7Ci0JCQkJCWNvbnN0IGNoYXIgKnBhdGggPQotCQkJCQkJYWN0aXZlX2NhY2hlW2ZpcnN0ICsgal0tPm5hbWU7Ci0JCQkJCXNvdXJjZVthcmdjICsgal0gPSBwYXRoOwotCQkJCQlkZXN0aW5hdGlvblthcmdjICsgal0gPQotCQkJCQkJcHJlZml4X3BhdGgoZHN0LCBkc3RfbGVuLAotCQkJCQkJCXBhdGggKyBsZW5ndGggKyAxKTsKLQkJCQkJbW9kZXNbYXJnYyArIGpdID0gSU5ERVg7CisJCQkJCWlmIChsYXN0IC0gZmlyc3QgPiAwKSB7CisJCQkJCQlzb3VyY2UgPSB4cmVhbGxvYyhzb3VyY2UsCisJCQkJCQkJCShhcmdjICsgbGFzdCAtIGZpcnN0KQorCQkJCQkJCQkqIHNpemVvZihjaGFyICopKTsKKwkJCQkJCWRlc3RpbmF0aW9uID0geHJlYWxsb2MoZGVzdGluYXRpb24sCisJCQkJCQkJCShhcmdjICsgbGFzdCAtIGZpcnN0KQorCQkJCQkJCQkqIHNpemVvZihjaGFyICopKTsKKwkJCQkJCW1vZGVzID0geHJlYWxsb2MobW9kZXMsCisJCQkJCQkJCShhcmdjICsgbGFzdCAtIGZpcnN0KQorCQkJCQkJCQkqIHNpemVvZihlbnVtIHVwZGF0ZV9tb2RlKSk7CisJCQkJCX0KKworCQkJCQlkc3QgPSBhZGRfc2xhc2goZHN0KTsKKwkJCQkJZHN0X2xlbiA9IHN0cmxlbihkc3QpOworCisJCQkJCWZvciAoaiA9IDA7IGogPCBsYXN0IC0gZmlyc3Q7IGorKykgeworCQkJCQkJY29uc3QgY2hhciAqcGF0aCA9CisJCQkJCQkJYWN0aXZlX2NhY2hlW2ZpcnN0ICsgal0tPm5hbWU7CisJCQkJCQlzb3VyY2VbYXJnYyArIGpdID0gcGF0aDsKKwkJCQkJCWRlc3RpbmF0aW9uW2FyZ2MgKyBqXSA9CisJCQkJCQkJcHJlZml4X3BhdGgoZHN0LCBkc3RfbGVuLAorCQkJCQkJCQlwYXRoICsgbGVuZ3RoICsgMSk7CisJCQkJCQltb2Rlc1thcmdjICsgal0gPSBJTkRFWDsKKwkJCQkJfQorCQkJCQlhcmdjICs9IGxhc3QgLSBmaXJzdDsKIAkJCQl9Ci0JCQkJYXJnYyArPSBsYXN0IC0gZmlyc3Q7CiAJCQl9CiAJCX0gZWxzZSBpZiAoY2FjaGVfbmFtZV9wb3Moc3JjLCBsZW5ndGgpIDwgMCkKIAkJCWJhZCA9IF8oIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiKTsKQEAgLTIxMCw5ICsyMzAsMTYgQEAKIAkJaW50IHBvczsKIAkJaWYgKHNob3dfb25seSB8fCB2ZXJib3NlKQogCQkJcHJpbnRmKF8oIlJlbmFtaW5nICVzIHRvICVzXG4iKSwgc3JjLCBkc3QpOwotCQlpZiAoIXNob3dfb25seSAmJiBtb2RlICE9IElOREVYICYmCi0JCQkJcmVuYW1lKHNyYywgZHN0KSA8IDAgJiYgIWlnbm9yZV9lcnJvcnMpCi0JCQlkaWVfZXJybm8gKF8oInJlbmFtaW5nICclcycgZmFpbGVkIiksIHNyYyk7CisJCWlmICghc2hvd19vbmx5ICYmIG1vZGUgIT0gSU5ERVgpIHsKKwkJCWlmIChyZW5hbWUoc3JjLCBkc3QpIDwgMCAmJiAhaWdub3JlX2Vycm9ycykKKwkJCQlkaWVfZXJybm8gKF8oInJlbmFtaW5nICclcycgZmFpbGVkIiksIHNyYyk7CisJCQlpZiAoc3VibW9kdWxlX2dpdGZpbGVbaV0pIHsKKwkJCQlpZiAoc3VibW9kdWxlX2dpdGZpbGVbaV0gIT0gU1VCTU9EVUxFX1dJVEhfR0lURElSKQorCQkJCQljb25uZWN0X3dvcmtfdHJlZV9hbmRfZ2l0X2Rpcihkc3QsIHN1Ym1vZHVsZV9naXRmaWxlW2ldKTsKKwkJCQlpZiAoIXVwZGF0ZV9wYXRoX2luX2dpdG1vZHVsZXMoc3JjLCBkc3QpKQorCQkJCQlnaXRtb2R1bGVzX21vZGlmaWVkID0gMTsKKwkJCX0KKwkJfQogCiAJCWlmIChtb2RlID09IFdPUktJTkdfRElSRUNUT1JZKQogCQkJY29udGludWU7CkBAIC0yMjMsNiArMjUwLDkgQEAKIAkJCXJlbmFtZV9jYWNoZV9lbnRyeV9hdChwb3MsIGRzdCk7CiAJfQogCisJaWYgKGdpdG1vZHVsZXNfbW9kaWZpZWQpCisJCXN0YWdlX3VwZGF0ZWRfZ2l0bW9kdWxlcygpOworCiAJaWYgKGFjdGl2ZV9jYWNoZV9jaGFuZ2VkKSB7CiAJCWlmICh3cml0ZV9jYWNoZShuZXdmZCwgYWN0aXZlX2NhY2hlLCBhY3RpdmVfbnIpIHx8CiAJCSAgICBjb21taXRfbG9ja2VkX2luZGV4KCZsb2NrX2ZpbGUpKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9uYW1lLXJldi5jIGIvYnVpbHRpbi9uYW1lLXJldi5jCmluZGV4IDBhYWExOWUuLjIwZmNmOGMgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vbmFtZS1yZXYuYworKysgYi9idWlsdGluL25hbWUtcmV2LmMKQEAgLTMxMCwxNSArMzEwLDE1IEBACiAJaW50IGFsbCA9IDAsIHRyYW5zZm9ybV9zdGRpbiA9IDAsIGFsbG93X3VuZGVmaW5lZCA9IDEsIGFsd2F5cyA9IDAsIHBlZWxfdGFnID0gMDsKIAlzdHJ1Y3QgbmFtZV9yZWZfZGF0YSBkYXRhID0geyAwLCAwLCBOVUxMIH07CiAJc3RydWN0IG9wdGlvbiBvcHRzW10gPSB7Ci0JCU9QVF9CT09MRUFOKDAsICJuYW1lLW9ubHkiLCAmZGF0YS5uYW1lX29ubHksIE5fKCJwcmludCBvbmx5IG5hbWVzIChubyBTSEEtMSkiKSksCi0JCU9QVF9CT09MRUFOKDAsICJ0YWdzIiwgJmRhdGEudGFnc19vbmx5LCBOXygib25seSB1c2UgdGFncyB0byBuYW1lIHRoZSBjb21taXRzIikpLAorCQlPUFRfQk9PTCgwLCAibmFtZS1vbmx5IiwgJmRhdGEubmFtZV9vbmx5LCBOXygicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIikpLAorCQlPUFRfQk9PTCgwLCAidGFncyIsICZkYXRhLnRhZ3Nfb25seSwgTl8oIm9ubHkgdXNlIHRhZ3MgdG8gbmFtZSB0aGUgY29tbWl0cyIpKSwKIAkJT1BUX1NUUklORygwLCAicmVmcyIsICZkYXRhLnJlZl9maWx0ZXIsIE5fKCJwYXR0ZXJuIiksCiAJCQkJICAgTl8oIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IikpLAogCQlPUFRfR1JPVVAoIiIpLAotCQlPUFRfQk9PTEVBTigwLCAiYWxsIiwgJmFsbCwgTl8oImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiKSksCi0JCU9QVF9CT09MRUFOKDAsICJzdGRpbiIsICZ0cmFuc2Zvcm1fc3RkaW4sIE5fKCJyZWFkIGZyb20gc3RkaW4iKSksCi0JCU9QVF9CT09MRUFOKDAsICJ1bmRlZmluZWQiLCAmYWxsb3dfdW5kZWZpbmVkLCBOXygiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMiKSksCi0JCU9QVF9CT09MRUFOKDAsICJhbHdheXMiLCAgICAgJmFsd2F5cywKKwkJT1BUX0JPT0woMCwgImFsbCIsICZhbGwsIE5fKCJsaXN0IGFsbCBjb21taXRzIHJlYWNoYWJsZSBmcm9tIGFsbCByZWZzIikpLAorCQlPUFRfQk9PTCgwLCAic3RkaW4iLCAmdHJhbnNmb3JtX3N0ZGluLCBOXygicmVhZCBmcm9tIHN0ZGluIikpLAorCQlPUFRfQk9PTCgwLCAidW5kZWZpbmVkIiwgJmFsbG93X3VuZGVmaW5lZCwgTl8oImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIChkZWZhdWx0KSIpKSwKKwkJT1BUX0JPT0woMCwgImFsd2F5cyIsICAgICAmYWx3YXlzLAogCQkJICAgTl8oInNob3cgYWJicmV2aWF0ZWQgY29tbWl0IG9iamVjdCBhcyBmYWxsYmFjayIpKSwKIAkJewogCQkJLyogQSBIaWRkZW4gT1BUX0JPT0wgKi8KQEAgLTMzMSw3ICszMzEsNyBAQAogCiAJZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0cywgbmFtZV9yZXZfdXNhZ2UsIDApOwotCWlmICghIWFsbCArICEhdHJhbnNmb3JtX3N0ZGluICsgISFhcmdjID4gMSkgeworCWlmIChhbGwgKyB0cmFuc2Zvcm1fc3RkaW4gKyAhIWFyZ2MgPiAxKSB7CiAJCWVycm9yKCJTcGVjaWZ5IGVpdGhlciBhIGxpc3QsIG9yIC0tYWxsLCBub3QgYm90aCEiKTsKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKG5hbWVfcmV2X3VzYWdlLCBvcHRzKTsKIAl9CmRpZmYgLS1naXQgYS9idWlsdGluL25vdGVzLmMgYi9idWlsdGluL25vdGVzLmMKaW5kZXggZTQxMDBjNC4uZDQ1OWUyMyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9ub3Rlcy5jCisrKyBiL2J1aWx0aW4vbm90ZXMuYwpAQCAtNDgzLDcgKzQ4Myw3IEBACiAJY29uc3QgY2hhciAqcmV3cml0ZV9jbWQgPSBOVUxMOwogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewogCQlPUFRfX0ZPUkNFKCZmb3JjZSwgTl8oInJlcGxhY2UgZXhpc3Rpbmcgbm90ZXMiKSksCi0JCU9QVF9CT09MRUFOKDAsICJzdGRpbiIsICZmcm9tX3N0ZGluLCBOXygicmVhZCBvYmplY3RzIGZyb20gc3RkaW4iKSksCisJCU9QVF9CT09MKDAsICJzdGRpbiIsICZmcm9tX3N0ZGluLCBOXygicmVhZCBvYmplY3RzIGZyb20gc3RkaW4iKSksCiAJCU9QVF9TVFJJTkcoMCwgImZvci1yZXdyaXRlIiwgJnJld3JpdGVfY21kLCBOXygiY29tbWFuZCIpLAogCQkJICAgTl8oImxvYWQgcmV3cml0aW5nIGNvbmZpZyBmb3IgPGNvbW1hbmQ+IChpbXBsaWVzICIKIAkJCSAgICAgICItLXN0ZGluKSIpKSwKQEAgLTczOSwxMyArNzM5LDEzIEBACiAJCQkgICBOXygicmVzb2x2ZSBub3RlcyBjb25mbGljdHMgdXNpbmcgdGhlIGdpdmVuIHN0cmF0ZWd5ICIKIAkJCSAgICAgICIobWFudWFsL291cnMvdGhlaXJzL3VuaW9uL2NhdF9zb3J0X3VuaXEpIikpLAogCQlPUFRfR1JPVVAoTl8oIkNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiKSksCi0JCXsgT1BUSU9OX0JPT0xFQU4sIDAsICJjb21taXQiLCAmZG9fY29tbWl0LCBOVUxMLAorCQl7IE9QVElPTl9TRVRfSU5ULCAwLCAiY29tbWl0IiwgJmRvX2NvbW1pdCwgTlVMTCwKIAkJCU5fKCJmaW5hbGl6ZSBub3RlcyBtZXJnZSBieSBjb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIiksCi0JCQlQQVJTRV9PUFRfTk9BUkcgfCBQQVJTRV9PUFRfTk9ORUcgfSwKKwkJCVBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9OT05FRywgTlVMTCwgMX0sCiAJCU9QVF9HUk9VUChOXygiQWJvcnRpbmcgbm90ZXMgbWVyZ2UgcmVzb2x1dGlvbiIpKSwKLQkJeyBPUFRJT05fQk9PTEVBTiwgMCwgImFib3J0IiwgJmRvX2Fib3J0LCBOVUxMLAorCQl7IE9QVElPTl9TRVRfSU5ULCAwLCAiYWJvcnQiLCAmZG9fYWJvcnQsIE5VTEwsCiAJCQlOXygiYWJvcnQgbm90ZXMgbWVyZ2UiKSwKLQkJCVBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9OT05FRyB9LAorCQkJUEFSU0VfT1BUX05PQVJHIHwgUEFSU0VfT1BUX05PTkVHLCBOVUxMLCAxfSwKIAkJT1BUX0VORCgpCiAJfTsKIApAQCAtODUzLDcgKzg1Myw3IEBACiAJCU9QVF9CSVQoMCwgImlnbm9yZS1taXNzaW5nIiwgJmZsYWcsCiAJCQlOXygiYXR0ZW1wdCB0byByZW1vdmUgbm9uLWV4aXN0ZW50IG5vdGUgaXMgbm90IGFuIGVycm9yIiksCiAJCQlJR05PUkVfTUlTU0lORyksCi0JCU9QVF9CT09MRUFOKDAsICJzdGRpbiIsICZmcm9tX3N0ZGluLAorCQlPUFRfQk9PTCgwLCAic3RkaW4iLCAmZnJvbV9zdGRpbiwKIAkJCSAgICBOXygicmVhZCBvYmplY3QgbmFtZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiKSksCiAJCU9QVF9FTkQoKQogCX07CmRpZmYgLS1naXQgYS9idWlsdGluL3BhY2stb2JqZWN0cy5jIGIvYnVpbHRpbi9wYWNrLW9iamVjdHMuYwppbmRleCBkZDExN2IzLi4zNjI3M2RkIDEwMDY0NAotLS0gYS9idWlsdGluL3BhY2stb2JqZWN0cy5jCisrKyBiL2J1aWx0aW4vcGFjay1vYmplY3RzLmMKQEAgLTM4LDE3ICszOCwxOCBAQAogCXZvaWQgKmRlbHRhX2RhdGE7CS8qIGNhY2hlZCBkZWx0YSAodW5jb21wcmVzc2VkKSAqLwogCXVuc2lnbmVkIGxvbmcgZGVsdGFfc2l6ZTsJLyogZGVsdGEgZGF0YSBzaXplICh1bmNvbXByZXNzZWQpICovCiAJdW5zaWduZWQgbG9uZyB6X2RlbHRhX3NpemU7CS8qIGRlbHRhIGRhdGEgc2l6ZSAoY29tcHJlc3NlZCkgKi8KLQl1bnNpZ25lZCBpbnQgaGFzaDsJLyogbmFtZSBoaW50IGhhc2ggKi8KIAllbnVtIG9iamVjdF90eXBlIHR5cGU7CiAJZW51bSBvYmplY3RfdHlwZSBpbl9wYWNrX3R5cGU7CS8qIGNvdWxkIGJlIGRlbHRhICovCisJdWludDMyX3QgaGFzaDsJCQkvKiBuYW1lIGhpbnQgaGFzaCAqLwogCXVuc2lnbmVkIGNoYXIgaW5fcGFja19oZWFkZXJfc2l6ZTsKLQl1bnNpZ25lZCBjaGFyIHByZWZlcnJlZF9iYXNlOyAvKiB3ZSBkbyBub3QgcGFjayB0aGlzLCBidXQgaXMgYXZhaWxhYmxlCi0JCQkJICAgICAgICogdG8gYmUgdXNlZCBhcyB0aGUgYmFzZSBvYmplY3QgdG8gZGVsdGEKLQkJCQkgICAgICAgKiBvYmplY3RzIGFnYWluc3QuCi0JCQkJICAgICAgICovCi0JdW5zaWduZWQgY2hhciBub190cnlfZGVsdGE7Ci0JdW5zaWduZWQgY2hhciB0YWdnZWQ7IC8qIG5lYXIgdGhlIHZlcnkgdGlwIG9mIHJlZnMgKi8KLQl1bnNpZ25lZCBjaGFyIGZpbGxlZDsgLyogYXNzaWduZWQgd3JpdGUtb3JkZXIgKi8KKwl1bnNpZ25lZCBwcmVmZXJyZWRfYmFzZToxOyAvKgorCQkJCSAgICAqIHdlIGRvIG5vdCBwYWNrIHRoaXMsIGJ1dCBpcyBhdmFpbGFibGUKKwkJCQkgICAgKiB0byBiZSB1c2VkIGFzIHRoZSBiYXNlIG9iamVjdCB0byBkZWx0YQorCQkJCSAgICAqIG9iamVjdHMgYWdhaW5zdC4KKwkJCQkgICAgKi8KKwl1bnNpZ25lZCBub190cnlfZGVsdGE6MTsKKwl1bnNpZ25lZCB0YWdnZWQ6MTsgLyogbmVhciB0aGUgdmVyeSB0aXAgb2YgcmVmcyAqLworCXVuc2lnbmVkIGZpbGxlZDoxOyAvKiBhc3NpZ25lZCB3cml0ZS1vcmRlciAqLwogfTsKIAogLyoKQEAgLTg1OSw5ICs4NjAsOSBAQAogCX0KIH0KIAotc3RhdGljIHVuc2lnbmVkIG5hbWVfaGFzaChjb25zdCBjaGFyICpuYW1lKQorc3RhdGljIHVpbnQzMl90IG5hbWVfaGFzaChjb25zdCBjaGFyICpuYW1lKQogewotCXVuc2lnbmVkIGMsIGhhc2ggPSAwOworCXVpbnQzMl90IGMsIGhhc2ggPSAwOwogCiAJaWYgKCFuYW1lKQogCQlyZXR1cm4gMDsKQEAgLTkwOCw3ICs5MDksNyBAQAogCXN0cnVjdCBwYWNrZWRfZ2l0ICpwLCAqZm91bmRfcGFjayA9IE5VTEw7CiAJb2ZmX3QgZm91bmRfb2Zmc2V0ID0gMDsKIAlpbnQgaXg7Ci0JdW5zaWduZWQgaGFzaCA9IG5hbWVfaGFzaChuYW1lKTsKKwl1aW50MzJfdCBoYXNoID0gbmFtZV9oYXNoKG5hbWUpOwogCiAJaXggPSBucl9vYmplY3RzID8gbG9jYXRlX29iamVjdF9lbnRyeV9oYXNoKHNoYTEpIDogLTE7CiAJaWYgKGl4ID49IDApIHsKQEAgLTE4MDksNyArMTgxMCw3IEBACiBzdGF0aWMgdm9pZCB0cnlfdG9fZnJlZV9mcm9tX3RocmVhZHMoc2l6ZV90IHNpemUpCiB7CiAJcmVhZF9sb2NrKCk7Ci0JcmVsZWFzZV9wYWNrX21lbW9yeShzaXplLCAtMSk7CisJcmVsZWFzZV9wYWNrX21lbW9yeShzaXplKTsKIAlyZWFkX3VubG9jaygpOwogfQogCmRpZmYgLS1naXQgYS9idWlsdGluL3B1c2guYyBiL2J1aWx0aW4vcHVzaC5jCmluZGV4IDA0ZjBlYWYuLjdiMWI2NmMgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcHVzaC5jCisrKyBiL2J1aWx0aW4vcHVzaC5jCkBAIC0xNSwxMiArMTUsMTQgQEAKIAlOVUxMLAogfTsKIAotc3RhdGljIGludCB0aGluOworc3RhdGljIGludCB0aGluID0gMTsKIHN0YXRpYyBpbnQgZGVsZXRlcmVmczsKIHN0YXRpYyBjb25zdCBjaGFyICpyZWNlaXZlcGFjazsKIHN0YXRpYyBpbnQgdmVyYm9zaXR5Owogc3RhdGljIGludCBwcm9ncmVzcyA9IC0xOwogCitzdGF0aWMgc3RydWN0IHB1c2hfY2FzX29wdGlvbiBjYXM7CisKIHN0YXRpYyBjb25zdCBjaGFyICoqcmVmc3BlYzsKIHN0YXRpYyBpbnQgcmVmc3BlY19ucjsKIHN0YXRpYyBpbnQgcmVmc3BlY19hbGxvYzsKQEAgLTMxMyw4ICszMTUsMTQgQEAKIAlpZiAocmVjZWl2ZXBhY2spCiAJCXRyYW5zcG9ydF9zZXRfb3B0aW9uKHRyYW5zcG9ydCwKIAkJCQkgICAgIFRSQU5TX09QVF9SRUNFSVZFUEFDSywgcmVjZWl2ZXBhY2spOwotCWlmICh0aGluKQotCQl0cmFuc3BvcnRfc2V0X29wdGlvbih0cmFuc3BvcnQsIFRSQU5TX09QVF9USElOLCAieWVzIik7CisJdHJhbnNwb3J0X3NldF9vcHRpb24odHJhbnNwb3J0LCBUUkFOU19PUFRfVEhJTiwgdGhpbiA/ICJ5ZXMiIDogTlVMTCk7CisKKwlpZiAoIWlzX2VtcHR5X2NhcygmY2FzKSkgeworCQlpZiAoIXRyYW5zcG9ydC0+c21hcnRfb3B0aW9ucykKKwkJCWRpZSgidW5kZXJseWluZyB0cmFuc3BvcnQgZG9lcyBub3Qgc3VwcG9ydCAtLSVzIG9wdGlvbiIsCisJCQkgICAgQ0FTX09QVF9OQU1FKTsKKwkJdHJhbnNwb3J0LT5zbWFydF9vcHRpb25zLT5jYXMgPSAmY2FzOworCX0KIAogCWlmICh2ZXJib3NpdHkgPiAwKQogCQlmcHJpbnRmKHN0ZGVyciwgXygiUHVzaGluZyB0byAlc1xuIiksIHRyYW5zcG9ydC0+dXJsKTsKQEAgLTQ0NiwxNSArNDU0LDE5IEBACiAJCU9QVF9CSVQoIDAgLCAiYWxsIiwgJmZsYWdzLCBOXygicHVzaCBhbGwgcmVmcyIpLCBUUkFOU1BPUlRfUFVTSF9BTEwpLAogCQlPUFRfQklUKCAwICwgIm1pcnJvciIsICZmbGFncywgTl8oIm1pcnJvciBhbGwgcmVmcyIpLAogCQkJICAgIChUUkFOU1BPUlRfUFVTSF9NSVJST1J8VFJBTlNQT1JUX1BVU0hfRk9SQ0UpKSwKLQkJT1BUX0JPT0xFQU4oIDAsICJkZWxldGUiLCAmZGVsZXRlcmVmcywgTl8oImRlbGV0ZSByZWZzIikpLAotCQlPUFRfQk9PTEVBTiggMCAsICJ0YWdzIiwgJnRhZ3MsIE5fKCJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiKSksCisJCU9QVF9CT09MKCAwLCAiZGVsZXRlIiwgJmRlbGV0ZXJlZnMsIE5fKCJkZWxldGUgcmVmcyIpKSwKKwkJT1BUX0JPT0woIDAgLCAidGFncyIsICZ0YWdzLCBOXygicHVzaCB0YWdzIChjYW4ndCBiZSB1c2VkIHdpdGggLS1hbGwgb3IgLS1taXJyb3IpIikpLAogCQlPUFRfQklUKCduJyAsICJkcnktcnVuIiwgJmZsYWdzLCBOXygiZHJ5IHJ1biIpLCBUUkFOU1BPUlRfUFVTSF9EUllfUlVOKSwKIAkJT1BUX0JJVCggMCwgICJwb3JjZWxhaW4iLCAmZmxhZ3MsIE5fKCJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIpLCBUUkFOU1BPUlRfUFVTSF9QT1JDRUxBSU4pLAogCQlPUFRfQklUKCdmJywgImZvcmNlIiwgJmZsYWdzLCBOXygiZm9yY2UgdXBkYXRlcyIpLCBUUkFOU1BPUlRfUFVTSF9GT1JDRSksCisJCXsgT1BUSU9OX0NBTExCQUNLLAorCQkgIDAsIENBU19PUFRfTkFNRSwgJmNhcywgTl8oInJlZm5hbWU+OjxleHBlY3QiKSwKKwkJICBOXygicmVxdWlyZSBvbGQgdmFsdWUgb2YgcmVmIHRvIGJlIGF0IHRoaXMgdmFsdWUiKSwKKwkJICBQQVJTRV9PUFRfT1BUQVJHLCBwYXJzZW9wdF9wdXNoX2Nhc19vcHRpb24gfSwKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJyZWN1cnNlLXN1Ym1vZHVsZXMiLCAmZmxhZ3MsIE5fKCJjaGVjayIpLAogCQkJTl8oImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIpLAogCQkJUEFSU0VfT1BUX09QVEFSRywgb3B0aW9uX3BhcnNlX3JlY3Vyc2Vfc3VibW9kdWxlcyB9LAotCQlPUFRfQk9PTEVBTiggMCAsICJ0aGluIiwgJnRoaW4sIE5fKCJ1c2UgdGhpbiBwYWNrIikpLAorCQlPUFRfQk9PTCggMCAsICJ0aGluIiwgJnRoaW4sIE5fKCJ1c2UgdGhpbiBwYWNrIikpLAogCQlPUFRfU1RSSU5HKCAwICwgInJlY2VpdmUtcGFjayIsICZyZWNlaXZlcGFjaywgInJlY2VpdmUtcGFjayIsIE5fKCJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIpKSwKIAkJT1BUX1NUUklORyggMCAsICJleGVjIiwgJnJlY2VpdmVwYWNrLCAicmVjZWl2ZS1wYWNrIiwgTl8oInJlY2VpdmUgcGFjayBwcm9ncmFtIikpLAogCQlPUFRfQklUKCd1JywgInNldC11cHN0cmVhbSIsICZmbGFncywgTl8oInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIiksCmRpZmYgLS1naXQgYS9idWlsdGluL3JlYWQtdHJlZS5jIGIvYnVpbHRpbi9yZWFkLXRyZWUuYwppbmRleCAwZjVkN2ZlLi4wZDdlZjg0IDEwMDY0NAotLS0gYS9idWlsdGluL3JlYWQtdHJlZS5jCisrKyBiL2J1aWx0aW4vcmVhZC10cmVlLmMKQEAgLTE3OCw3ICsxNzgsNyBAQAogCiAJaWYgKDEgPCBvcHRzLmluZGV4X29ubHkgKyBvcHRzLnVwZGF0ZSkKIAkJZGllKCItdSBhbmQgLWkgYXQgdGhlIHNhbWUgdGltZSBtYWtlcyBubyBzZW5zZSIpOwotCWlmICgob3B0cy51cGRhdGV8fG9wdHMuaW5kZXhfb25seSkgJiYgIW9wdHMubWVyZ2UpCisJaWYgKChvcHRzLnVwZGF0ZSB8fCBvcHRzLmluZGV4X29ubHkpICYmICFvcHRzLm1lcmdlKQogCQlkaWUoIiVzIGlzIG1lYW5pbmdsZXNzIHdpdGhvdXQgLW0sIC0tcmVzZXQsIG9yIC0tcHJlZml4IiwKIAkJICAgIG9wdHMudXBkYXRlID8gIi11IiA6ICItaSIpOwogCWlmICgob3B0cy5kaXIgJiYgIW9wdHMudXBkYXRlKSkKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVjZWl2ZS1wYWNrLmMgYi9idWlsdGluL3JlY2VpdmUtcGFjay5jCmluZGV4IGUzZWI1ZmMuLjY3Y2UxZWYgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVjZWl2ZS1wYWNrLmMKKysrIGIvYnVpbHRpbi9yZWNlaXZlLXBhY2suYwpAQCAtOCw2ICs4LDcgQEAKICNpbmNsdWRlICJjb21taXQuaCIKICNpbmNsdWRlICJvYmplY3QuaCIKICNpbmNsdWRlICJyZW1vdGUuaCIKKyNpbmNsdWRlICJjb25uZWN0LmgiCiAjaW5jbHVkZSAidHJhbnNwb3J0LmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKICNpbmNsdWRlICJzaGExLWFycmF5LmgiCkBAIC0zOCw2ICszOSw3IEBACiBzdGF0aWMgaW50IHByZWZlcl9vZnNfZGVsdGEgPSAxOwogc3RhdGljIGludCBhdXRvX3VwZGF0ZV9zZXJ2ZXJfaW5mbzsKIHN0YXRpYyBpbnQgYXV0b19nYyA9IDE7CitzdGF0aWMgaW50IGZpeF90aGluID0gMTsKIHN0YXRpYyBjb25zdCBjaGFyICpoZWFkX25hbWU7CiBzdGF0aWMgdm9pZCAqaGVhZF9uYW1lX3RvX2ZyZWU7CiBzdGF0aWMgaW50IHNlbnRfY2FwYWJpbGl0aWVzOwpAQCAtNTI0LDcgKzUyNiw4IEBACiAJCXJldHVybiBOVUxMOyAvKiBnb29kICovCiAJfQogCWVsc2UgewotCQlsb2NrID0gbG9ja19hbnlfcmVmX2Zvcl91cGRhdGUobmFtZXNwYWNlZF9uYW1lLCBvbGRfc2hhMSwgMCk7CisJCWxvY2sgPSBsb2NrX2FueV9yZWZfZm9yX3VwZGF0ZShuYW1lc3BhY2VkX25hbWUsIG9sZF9zaGExLAorCQkJCQkgICAgICAgMCwgTlVMTCk7CiAJCWlmICghbG9jaykgewogCQkJcnBfZXJyb3IoImZhaWxlZCB0byBsb2NrICVzIiwgbmFtZSk7CiAJCQlyZXR1cm4gImZhaWxlZCB0byBsb2NrIjsKQEAgLTg2OSw3ICs4NzIsOCBAQAogCQlrZWVwZXJbaSsrXSA9ICItLXN0ZGluIjsKIAkJaWYgKGZzY2tfb2JqZWN0cykKIAkJCWtlZXBlcltpKytdID0gIi0tc3RyaWN0IjsKLQkJa2VlcGVyW2krK10gPSAiLS1maXgtdGhpbiI7CisJCWlmIChmaXhfdGhpbikKKwkJCWtlZXBlcltpKytdID0gIi0tZml4LXRoaW4iOwogCQlrZWVwZXJbaSsrXSA9IGhkcl9hcmc7CiAJCWtlZXBlcltpKytdID0ga2VlcF9hcmc7CiAJCWtlZXBlcltpKytdID0gTlVMTDsKQEAgLTk3NSw2ICs5NzksMTAgQEAKIAkJCQlzdGF0ZWxlc3NfcnBjID0gMTsKIAkJCQljb250aW51ZTsKIAkJCX0KKwkJCWlmICghc3RyY21wKGFyZywgIi0tcmVqZWN0LXRoaW4tcGFjay1mb3ItdGVzdGluZyIpKSB7CisJCQkJZml4X3RoaW4gPSAwOworCQkJCWNvbnRpbnVlOworCQkJfQogCiAJCQl1c2FnZShyZWNlaXZlX3BhY2tfdXNhZ2UpOwogCQl9CmRpZmYgLS1naXQgYS9idWlsdGluL3JlZmxvZy5jIGIvYnVpbHRpbi9yZWZsb2cuYwppbmRleCA1NDE4NGIzLi42ZWIyNGM4IDEwMDY0NAotLS0gYS9idWlsdGluL3JlZmxvZy5jCisrKyBiL2J1aWx0aW4vcmVmbG9nLmMKQEAgLTk0LDggKzk0LDcgQEAKIAkJCWNvbXBsZXRlID0gMDsKIAkJfQogCX0KLQlmcmVlKHRyZWUtPmJ1ZmZlcik7Ci0JdHJlZS0+YnVmZmVyID0gTlVMTDsKKwlmcmVlX3RyZWVfYnVmZmVyKHRyZWUpOwogCiAJaWYgKGNvbXBsZXRlKQogCQl0cmVlLT5vYmplY3QuZmxhZ3MgfD0gU0VFTjsKQEAgLTM2Niw3ICszNjUsNyBAQAogCSAqIHdlIHRha2UgdGhlIGxvY2sgZm9yIHRoZSByZWYgaXRzZWxmIHRvIHByZXZlbnQgaXQgZnJvbQogCSAqIGdldHRpbmcgdXBkYXRlZC4KIAkgKi8KLQlsb2NrID0gbG9ja19hbnlfcmVmX2Zvcl91cGRhdGUocmVmLCBzaGExLCAwKTsKKwlsb2NrID0gbG9ja19hbnlfcmVmX2Zvcl91cGRhdGUocmVmLCBzaGExLCAwLCBOVUxMKTsKIAlpZiAoIWxvY2spCiAJCXJldHVybiBlcnJvcigiY2Fubm90IGxvY2sgcmVmICclcyciLCByZWYpOwogCWxvZ19maWxlID0gZ2l0X3BhdGhkdXAoImxvZ3MvJXMiLCByZWYpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZW1vdGUuYyBiL2J1aWx0aW4vcmVtb3RlLmMKaW5kZXggNWU1NGQzNi4uNGUxNDg5MSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9yZW1vdGUuYworKysgYi9idWlsdGluL3JlbW90ZS5jCkBAIC0xMiw3ICsxMiw3IEBACiAJTl8oImdpdCByZW1vdGUgYWRkIFstdCA8YnJhbmNoPl0gWy1tIDxtYXN0ZXI+XSBbLWZdIFstLXRhZ3N8LS1uby10YWdzXSBbLS1taXJyb3I9PGZldGNofHB1c2g+XSA8bmFtZT4gPHVybD4iKSwKIAlOXygiZ2l0IHJlbW90ZSByZW5hbWUgPG9sZD4gPG5ldz4iKSwKIAlOXygiZ2l0IHJlbW90ZSByZW1vdmUgPG5hbWU+IiksCi0JTl8oImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC1kIHwgPGJyYW5jaD4pIiksCisJTl8oImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfDxicmFuY2g+KSIpLAogCU5fKCJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDxuYW1lPiIpLAogCU5fKCJnaXQgcmVtb3RlIHBydW5lIFstbiB8IC0tZHJ5LXJ1bl0gPG5hbWU+IiksCiAJTl8oImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8Z3JvdXA+IHwgPHJlbW90ZT4pLi4uXSIpLApAQCAtMzksNyArMzksNyBAQAogfTsKIAogc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBidWlsdGluX3JlbW90ZV9zZXRoZWFkX3VzYWdlW10gPSB7Ci0JTl8oImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC1kIHwgPGJyYW5jaD4pIiksCisJTl8oImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8YnJhbmNoPikiKSwKIAlOVUxMCiB9OwogCkBAIC0xNjAsNyArMTYwLDcgQEAKIAlpbnQgaTsKIAogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewotCQlPUFRfQk9PTEVBTignZicsICJmZXRjaCIsICZmZXRjaCwgTl8oImZldGNoIHRoZSByZW1vdGUgYnJhbmNoZXMiKSksCisJCU9QVF9CT09MKCdmJywgImZldGNoIiwgJmZldGNoLCBOXygiZmV0Y2ggdGhlIHJlbW90ZSBicmFuY2hlcyIpKSwKIAkJT1BUX1NFVF9JTlQoMCwgInRhZ3MiLCAmZmV0Y2hfdGFncywKIAkJCSAgICBOXygiaW1wb3J0IGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMgd2hlbiBmZXRjaGluZyIpLAogCQkJICAgIFRBR1NfU0VUKSwKQEAgLTEwODgsNyArMTA4OCw3IEBACiB7CiAJaW50IG5vX3F1ZXJ5ID0gMCwgcmVzdWx0ID0gMCwgcXVlcnlfZmxhZyA9IDA7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MRUFOKCduJywgTlVMTCwgJm5vX3F1ZXJ5LCBOXygiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiKSksCisJCU9QVF9CT09MKCduJywgTlVMTCwgJm5vX3F1ZXJ5LCBOXygiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiKSksCiAJCU9QVF9FTkQoKQogCX07CiAJc3RydWN0IHJlZl9zdGF0ZXMgc3RhdGVzOwpAQCAtMTE5NSwxMCArMTE5NSwxMCBAQAogCWNoYXIgKmhlYWRfbmFtZSA9IE5VTEw7CiAKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKLQkJT1BUX0JPT0xFQU4oJ2EnLCAiYXV0byIsICZvcHRfYSwKLQkJCSAgICBOXygic2V0IHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCBhY2NvcmRpbmcgdG8gcmVtb3RlIikpLAotCQlPUFRfQk9PTEVBTignZCcsICJkZWxldGUiLCAmb3B0X2QsCi0JCQkgICAgTl8oImRlbGV0ZSByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQiKSksCisJCU9QVF9CT09MKCdhJywgImF1dG8iLCAmb3B0X2EsCisJCQkgTl8oInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIpKSwKKwkJT1BUX0JPT0woJ2QnLCAiZGVsZXRlIiwgJm9wdF9kLAorCQkJIE5fKCJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIikpLAogCQlPUFRfRU5EKCkKIAl9OwogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIE5VTEwsIG9wdGlvbnMsIGJ1aWx0aW5fcmVtb3RlX3NldGhlYWRfdXNhZ2UsCkBAIC0xMzE3LDggKzEzMTcsOCBAQAogewogCWludCBpLCBwcnVuZSA9IDA7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MRUFOKCdwJywgInBydW5lIiwgJnBydW5lLAotCQkJICAgIE5fKCJwcnVuZSByZW1vdGVzIGFmdGVyIGZldGNoaW5nIikpLAorCQlPUFRfQk9PTCgncCcsICJwcnVuZSIsICZwcnVuZSwKKwkJCSBOXygicHJ1bmUgcmVtb3RlcyBhZnRlciBmZXRjaGluZyIpKSwKIAkJT1BUX0VORCgpCiAJfTsKIAljb25zdCBjaGFyICoqZmV0Y2hfYXJndjsKQEAgLTE0MDQsNyArMTQwNCw3IEBACiB7CiAJaW50IGFkZF9tb2RlID0gMDsKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKLQkJT1BUX0JPT0xFQU4oJ1wwJywgImFkZCIsICZhZGRfbW9kZSwgTl8oImFkZCBicmFuY2giKSksCisJCU9QVF9CT09MKCdcMCcsICJhZGQiLCAmYWRkX21vZGUsIE5fKCJhZGQgYnJhbmNoIikpLAogCQlPUFRfRU5EKCkKIAl9OwogCkBAIC0xNDMyLDExICsxNDMyLDExIEBACiAJaW50IHVybHNldF9ucjsKIAlzdHJ1Y3Qgc3RyYnVmIG5hbWVfYnVmID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MRUFOKCdcMCcsICJwdXNoIiwgJnB1c2hfbW9kZSwKLQkJCSAgICBOXygibWFuaXB1bGF0ZSBwdXNoIFVSTHMiKSksCi0JCU9QVF9CT09MRUFOKCdcMCcsICJhZGQiLCAmYWRkX21vZGUsCi0JCQkgICAgTl8oImFkZCBVUkwiKSksCi0JCU9QVF9CT09MRUFOKCdcMCcsICJkZWxldGUiLCAmZGVsZXRlX21vZGUsCisJCU9QVF9CT09MKCdcMCcsICJwdXNoIiwgJnB1c2hfbW9kZSwKKwkJCSBOXygibWFuaXB1bGF0ZSBwdXNoIFVSTHMiKSksCisJCU9QVF9CT09MKCdcMCcsICJhZGQiLCAmYWRkX21vZGUsCisJCQkgTl8oImFkZCBVUkwiKSksCisJCU9QVF9CT09MKCdcMCcsICJkZWxldGUiLCAmZGVsZXRlX21vZGUsCiAJCQkgICAgTl8oImRlbGV0ZSBVUkxzIikpLAogCQlPUFRfRU5EKCkKIAl9OwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZXBhY2suYyBiL2J1aWx0aW4vcmVwYWNrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTBmZjVjNwotLS0gL2Rldi9udWxsCisrKyBiL2J1aWx0aW4vcmVwYWNrLmMKQEAgLTAsMCArMSwzODggQEAKKyNpbmNsdWRlICJidWlsdGluLmgiCisjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJkaXIuaCIKKyNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCisjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKKyNpbmNsdWRlICJzaWdjaGFpbi5oIgorI2luY2x1ZGUgInN0cmJ1Zi5oIgorI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCisjaW5jbHVkZSAiYXJndi1hcnJheS5oIgorCitzdGF0aWMgaW50IGRlbHRhX2Jhc2Vfb2Zmc2V0ID0gMTsKK3N0YXRpYyBjaGFyICpwYWNrZGlyLCAqcGFja3RtcDsKKworc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IGdpdF9yZXBhY2tfdXNhZ2VbXSA9IHsKKwlOXygiZ2l0IHJlcGFjayBbb3B0aW9uc10iKSwKKwlOVUxMCit9OworCitzdGF0aWMgaW50IHJlcGFja19jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpCit7CisJaWYgKCFzdHJjbXAodmFyLCAicmVwYWNrLnVzZWRlbHRhYmFzZW9mZnNldCIpKSB7CisJCWRlbHRhX2Jhc2Vfb2Zmc2V0ID0gZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpOworCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIGdpdF9kZWZhdWx0X2NvbmZpZyh2YXIsIHZhbHVlLCBjYik7Cit9CisKKy8qCisgKiBSZW1vdmUgdGVtcG9yYXJ5ICRHSVRfT0JKRUNUX0RJUkVDVE9SWS9wYWNrLy50bXAtJCQtcGFjay0qIGZpbGVzLgorICovCitzdGF0aWMgdm9pZCByZW1vdmVfdGVtcG9yYXJ5X2ZpbGVzKHZvaWQpCit7CisJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKKwlzaXplX3QgZGlybGVuLCBwcmVmaXhsZW47CisJRElSICpkaXI7CisJc3RydWN0IGRpcmVudCAqZTsKKworCWRpciA9IG9wZW5kaXIocGFja2Rpcik7CisJaWYgKCFkaXIpCisJCXJldHVybjsKKworCS8qIFBvaW50IGF0IHRoZSBzbGFzaCBhdCB0aGUgZW5kIG9mICIuLi4vb2JqZWN0cy9wYWNrLyIgKi8KKwlkaXJsZW4gPSBzdHJsZW4ocGFja2RpcikgKyAxOworCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgcGFja3RtcCk7CisJLyogSG9sZCB0aGUgbGVuZ3RoIG9mICAiLnRtcC0lZC1wYWNrLSIgKi8KKwlwcmVmaXhsZW4gPSBidWYubGVuIC0gZGlybGVuOworCisJd2hpbGUgKChlID0gcmVhZGRpcihkaXIpKSkgeworCQlpZiAoc3RybmNtcChlLT5kX25hbWUsIGJ1Zi5idWYgKyBkaXJsZW4sIHByZWZpeGxlbikpCisJCQljb250aW51ZTsKKwkJc3RyYnVmX3NldGxlbigmYnVmLCBkaXJsZW4pOworCQlzdHJidWZfYWRkc3RyKCZidWYsIGUtPmRfbmFtZSk7CisJCXVubGluayhidWYuYnVmKTsKKwl9CisJY2xvc2VkaXIoZGlyKTsKKwlzdHJidWZfcmVsZWFzZSgmYnVmKTsKK30KKworc3RhdGljIHZvaWQgcmVtb3ZlX3BhY2tfb25fc2lnbmFsKGludCBzaWdubykKK3sKKwlyZW1vdmVfdGVtcG9yYXJ5X2ZpbGVzKCk7CisJc2lnY2hhaW5fcG9wKHNpZ25vKTsKKwlyYWlzZShzaWdubyk7Cit9CisKKy8qCisgKiBBZGRzIGFsbCBwYWNrcyBoZXggc3RyaW5ncyB0byB0aGUgZm5hbWUgbGlzdCwgd2hpY2ggZG8gbm90CisgKiBoYXZlIGEgY29ycmVzcG9uZGluZyAua2VlcCBmaWxlLgorICovCitzdGF0aWMgdm9pZCBnZXRfbm9uX2tlcHRfcGFja19maWxlbmFtZXMoc3RydWN0IHN0cmluZ19saXN0ICpmbmFtZV9saXN0KQoreworCURJUiAqZGlyOworCXN0cnVjdCBkaXJlbnQgKmU7CisJY2hhciAqZm5hbWU7CisJc2l6ZV90IGxlbjsKKworCWlmICghKGRpciA9IG9wZW5kaXIocGFja2RpcikpKQorCQlyZXR1cm47CisKKwl3aGlsZSAoKGUgPSByZWFkZGlyKGRpcikpICE9IE5VTEwpIHsKKwkJaWYgKHN1ZmZpeGNtcChlLT5kX25hbWUsICIucGFjayIpKQorCQkJY29udGludWU7CisKKwkJbGVuID0gc3RybGVuKGUtPmRfbmFtZSkgLSBzdHJsZW4oIi5wYWNrIik7CisJCWZuYW1lID0geG1lbWR1cHooZS0+ZF9uYW1lLCBsZW4pOworCisJCWlmICghZmlsZV9leGlzdHMobWtwYXRoKCIlcy8lcy5rZWVwIiwgcGFja2RpciwgZm5hbWUpKSkKKwkJCXN0cmluZ19saXN0X2FwcGVuZF9ub2R1cChmbmFtZV9saXN0LCBmbmFtZSk7CisJCWVsc2UKKwkJCWZyZWUoZm5hbWUpOworCX0KKwljbG9zZWRpcihkaXIpOworfQorCitzdGF0aWMgdm9pZCByZW1vdmVfcmVkdW5kYW50X3BhY2soY29uc3QgY2hhciAqZGlyX25hbWUsIGNvbnN0IGNoYXIgKmJhc2VfbmFtZSkKK3sKKwljb25zdCBjaGFyICpleHRzW10gPSB7Ii5wYWNrIiwgIi5pZHgiLCAiLmtlZXAifTsKKwlpbnQgaTsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCXNpemVfdCBwbGVuOworCisJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzLyVzIiwgZGlyX25hbWUsIGJhc2VfbmFtZSk7CisJcGxlbiA9IGJ1Zi5sZW47CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShleHRzKTsgaSsrKSB7CisJCXN0cmJ1Zl9zZXRsZW4oJmJ1ZiwgcGxlbik7CisJCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgZXh0c1tpXSk7CisJCXVubGluayhidWYuYnVmKTsKKwl9CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7Cit9CisKKyNkZWZpbmUgQUxMX0lOVE9fT05FIDEKKyNkZWZpbmUgTE9PU0VOX1VOUkVBQ0hBQkxFIDIKKworaW50IGNtZF9yZXBhY2soaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJY29uc3QgY2hhciAqZXh0c1syXSA9IHsiLnBhY2siLCAiLmlkeCJ9OworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNtZDsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKKwlzdHJ1Y3QgYXJndl9hcnJheSBjbWRfYXJncyA9IEFSR1ZfQVJSQVlfSU5JVDsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgbmFtZXMgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3Qgcm9sbGJhY2sgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOworCXN0cnVjdCBzdHJpbmdfbGlzdCBleGlzdGluZ19wYWNrcyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOworCXN0cnVjdCBzdHJidWYgbGluZSA9IFNUUkJVRl9JTklUOworCWludCBucl9wYWNrcywgZXh0LCByZXQsIGZhaWxlZDsKKwlGSUxFICpvdXQ7CisKKwkvKiB2YXJpYWJsZXMgdG8gYmUgZmlsbGVkIGJ5IG9wdGlvbiBwYXJzaW5nICovCisJaW50IHBhY2tfZXZlcnl0aGluZyA9IDA7CisJaW50IGRlbGV0ZV9yZWR1bmRhbnQgPSAwOworCWNoYXIgKnVucGFja191bnJlYWNoYWJsZSA9IE5VTEw7CisJaW50IHdpbmRvdyA9IDAsIHdpbmRvd19tZW1vcnkgPSAwOworCWludCBkZXB0aCA9IDA7CisJaW50IG1heF9wYWNrX3NpemUgPSAwOworCWludCBub19yZXVzZV9kZWx0YSA9IDAsIG5vX3JldXNlX29iamVjdCA9IDA7CisJaW50IG5vX3VwZGF0ZV9zZXJ2ZXJfaW5mbyA9IDA7CisJaW50IHF1aWV0ID0gMDsKKwlpbnQgbG9jYWwgPSAwOworCisJc3RydWN0IG9wdGlvbiBidWlsdGluX3JlcGFja19vcHRpb25zW10gPSB7CisJCU9QVF9CSVQoJ2EnLCBOVUxMLCAmcGFja19ldmVyeXRoaW5nLAorCQkJCU5fKCJwYWNrIGV2ZXJ5dGhpbmcgaW4gYSBzaW5nbGUgcGFjayIpLCBBTExfSU5UT19PTkUpLAorCQlPUFRfQklUKCdBJywgTlVMTCwgJnBhY2tfZXZlcnl0aGluZywKKwkJCQlOXygic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIpLAorCQkJCSAgIExPT1NFTl9VTlJFQUNIQUJMRSB8IEFMTF9JTlRPX09ORSksCisJCU9QVF9CT09MKCdkJywgTlVMTCwgJmRlbGV0ZV9yZWR1bmRhbnQsCisJCQkJTl8oInJlbW92ZSByZWR1bmRhbnQgcGFja3MsIGFuZCBydW4gZ2l0LXBydW5lLXBhY2tlZCIpKSwKKwkJT1BUX0JPT0woJ2YnLCBOVUxMLCAmbm9fcmV1c2VfZGVsdGEsCisJCQkJTl8oInBhc3MgLS1uby1yZXVzZS1kZWx0YSB0byBnaXQtcGFjay1vYmplY3RzIikpLAorCQlPUFRfQk9PTCgnRicsIE5VTEwsICZub19yZXVzZV9vYmplY3QsCisJCQkJTl8oInBhc3MgLS1uby1yZXVzZS1vYmplY3QgdG8gZ2l0LXBhY2stb2JqZWN0cyIpKSwKKwkJT1BUX0JPT0woJ24nLCBOVUxMLCAmbm9fdXBkYXRlX3NlcnZlcl9pbmZvLAorCQkJCU5fKCJkbyBub3QgcnVuIGdpdC11cGRhdGUtc2VydmVyLWluZm8iKSksCisJCU9QVF9fUVVJRVQoJnF1aWV0LCBOXygiYmUgcXVpZXQiKSksCisJCU9QVF9CT09MKCdsJywgImxvY2FsIiwgJmxvY2FsLAorCQkJCU5fKCJwYXNzIC0tbG9jYWwgdG8gZ2l0LXBhY2stb2JqZWN0cyIpKSwKKwkJT1BUX1NUUklORygwLCAidW5wYWNrLXVucmVhY2hhYmxlIiwgJnVucGFja191bnJlYWNoYWJsZSwgTl8oImFwcHJveGlkYXRlIiksCisJCQkJTl8oIndpdGggLUEsIGRvIG5vdCBsb29zZW4gb2JqZWN0cyBvbGRlciB0aGFuIHRoaXMiKSksCisJCU9QVF9JTlRFR0VSKDAsICJ3aW5kb3ciLCAmd2luZG93LAorCQkJCU5fKCJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iKSksCisJCU9QVF9JTlRFR0VSKDAsICJ3aW5kb3ctbWVtb3J5IiwgJndpbmRvd19tZW1vcnksCisJCQkJTl8oInNhbWUgYXMgdGhlIGFib3ZlLCBidXQgbGltaXQgbWVtb3J5IHNpemUgaW5zdGVhZCBvZiBlbnRyaWVzIGNvdW50IikpLAorCQlPUFRfSU5URUdFUigwLCAiZGVwdGgiLCAmZGVwdGgsCisJCQkJTl8oImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIpKSwKKwkJT1BUX0lOVEVHRVIoMCwgIm1heC1wYWNrLXNpemUiLCAmbWF4X3BhY2tfc2l6ZSwKKwkJCQlOXygibWF4aW11bSBzaXplIG9mIGVhY2ggcGFja2ZpbGUiKSksCisJCU9QVF9FTkQoKQorCX07CisKKwlnaXRfY29uZmlnKHJlcGFja19jb25maWcsIE5VTEwpOworCisJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBidWlsdGluX3JlcGFja19vcHRpb25zLAorCQkJCWdpdF9yZXBhY2tfdXNhZ2UsIDApOworCisJcGFja2RpciA9IG1rcGF0aGR1cCgiJXMvcGFjayIsIGdldF9vYmplY3RfZGlyZWN0b3J5KCkpOworCXBhY2t0bXAgPSBta3BhdGhkdXAoIiVzLy50bXAtJWQtcGFjayIsIHBhY2tkaXIsIChpbnQpZ2V0cGlkKCkpOworCisJc2lnY2hhaW5fcHVzaF9jb21tb24ocmVtb3ZlX3BhY2tfb25fc2lnbmFsKTsKKworCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICJwYWNrLW9iamVjdHMiKTsKKwlhcmd2X2FycmF5X3B1c2goJmNtZF9hcmdzLCAiLS1rZWVwLXRydWUtcGFyZW50cyIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICItLWhvbm9yLXBhY2sta2VlcCIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICItLW5vbi1lbXB0eSIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICItLWFsbCIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICItLXJlZmxvZyIpOworCWlmICh3aW5kb3cpCisJCWFyZ3ZfYXJyYXlfcHVzaGYoJmNtZF9hcmdzLCAiLS13aW5kb3c9JXUiLCB3aW5kb3cpOworCWlmICh3aW5kb3dfbWVtb3J5KQorCQlhcmd2X2FycmF5X3B1c2hmKCZjbWRfYXJncywgIi0td2luZG93LW1lbW9yeT0ldSIsIHdpbmRvd19tZW1vcnkpOworCWlmIChkZXB0aCkKKwkJYXJndl9hcnJheV9wdXNoZigmY21kX2FyZ3MsICItLWRlcHRoPSV1IiwgZGVwdGgpOworCWlmIChtYXhfcGFja19zaXplKQorCQlhcmd2X2FycmF5X3B1c2hmKCZjbWRfYXJncywgIi0tbWF4X3BhY2tfc2l6ZT0ldSIsIG1heF9wYWNrX3NpemUpOworCWlmIChub19yZXVzZV9kZWx0YSkKKwkJYXJndl9hcnJheV9wdXNoZigmY21kX2FyZ3MsICItLW5vLXJldXNlLWRlbHRhIik7CisJaWYgKG5vX3JldXNlX29iamVjdCkKKwkJYXJndl9hcnJheV9wdXNoZigmY21kX2FyZ3MsICItLW5vLXJldXNlLW9iamVjdCIpOworCisJaWYgKHBhY2tfZXZlcnl0aGluZyAmIEFMTF9JTlRPX09ORSkgeworCQlnZXRfbm9uX2tlcHRfcGFja19maWxlbmFtZXMoJmV4aXN0aW5nX3BhY2tzKTsKKworCQlpZiAoZXhpc3RpbmdfcGFja3MubnIgJiYgZGVsZXRlX3JlZHVuZGFudCkgeworCQkJaWYgKHVucGFja191bnJlYWNoYWJsZSkKKwkJCQlhcmd2X2FycmF5X3B1c2hmKCZjbWRfYXJncywKKwkJCQkJCSItLXVucGFjay11bnJlYWNoYWJsZT0lcyIsCisJCQkJCQl1bnBhY2tfdW5yZWFjaGFibGUpOworCQkJZWxzZSBpZiAocGFja19ldmVyeXRoaW5nICYgTE9PU0VOX1VOUkVBQ0hBQkxFKQorCQkJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsCisJCQkJCQkiLS11bnBhY2stdW5yZWFjaGFibGUiKTsKKwkJfQorCX0gZWxzZSB7CisJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICItLXVucGFja2VkIik7CisJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICItLWluY3JlbWVudGFsIik7CisJfQorCisJaWYgKGxvY2FsKQorCQlhcmd2X2FycmF5X3B1c2goJmNtZF9hcmdzLCAgIi0tbG9jYWwiKTsKKwlpZiAocXVpZXQpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICAiLS1xdWlldCIpOworCWlmIChkZWx0YV9iYXNlX29mZnNldCkKKwkJYXJndl9hcnJheV9wdXNoKCZjbWRfYXJncywgICItLWRlbHRhLWJhc2Utb2Zmc2V0Iik7CisKKwlhcmd2X2FycmF5X3B1c2goJmNtZF9hcmdzLCBwYWNrdG1wKTsKKworCW1lbXNldCgmY21kLCAwLCBzaXplb2YoY21kKSk7CisJY21kLmFyZ3YgPSBjbWRfYXJncy5hcmd2OworCWNtZC5naXRfY21kID0gMTsKKwljbWQub3V0ID0gLTE7CisJY21kLm5vX3N0ZGluID0gMTsKKworCXJldCA9IHN0YXJ0X2NvbW1hbmQoJmNtZCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCW5yX3BhY2tzID0gMDsKKwlvdXQgPSB4ZmRvcGVuKGNtZC5vdXQsICJyIik7CisJd2hpbGUgKHN0cmJ1Zl9nZXRsaW5lKCZsaW5lLCBvdXQsICdcbicpICE9IEVPRikgeworCQlpZiAobGluZS5sZW4gIT0gNDApCisJCQlkaWUoInJlcGFjazogRXhwZWN0aW5nIDQwIGNoYXJhY3RlciBzaGExIGxpbmVzIG9ubHkgZnJvbSBwYWNrLW9iamVjdHMuIik7CisJCXN0cmluZ19saXN0X2FwcGVuZCgmbmFtZXMsIGxpbmUuYnVmKTsKKwkJbnJfcGFja3MrKzsKKwl9CisJZmNsb3NlKG91dCk7CisJcmV0ID0gZmluaXNoX2NvbW1hbmQoJmNtZCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwlhcmd2X2FycmF5X2NsZWFyKCZjbWRfYXJncyk7CisKKwlpZiAoIW5yX3BhY2tzICYmICFxdWlldCkKKwkJcHJpbnRmKCJOb3RoaW5nIG5ldyB0byBwYWNrLlxuIik7CisKKwkvKgorCSAqIE9rIHdlIGhhdmUgcHJlcGFyZWQgYWxsIG5ldyBwYWNrZmlsZXMuCisJICogRmlyc3Qgc2VlIGlmIHRoZXJlIGFyZSBwYWNrcyBvZiB0aGUgc2FtZSBuYW1lIGFuZCBpZiBzbworCSAqIGlmIHdlIGNhbiBtb3ZlIHRoZW0gb3V0IG9mIHRoZSB3YXkgKHRoaXMgY2FuIGhhcHBlbiBpZiB3ZQorCSAqIHJlcGFja2VkIGltbWVkaWF0ZWx5IGFmdGVyIHBhY2tpbmcgZnVsbHkuCisJICovCisJZmFpbGVkID0gMDsKKwlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sICZuYW1lcykgeworCQlmb3IgKGV4dCA9IDA7IGV4dCA8IDI7IGV4dCsrKSB7CisJCQljaGFyICpmbmFtZSwgKmZuYW1lX29sZDsKKwkJCWZuYW1lID0gbWtwYXRoZHVwKCIlcy8lcyVzIiwgcGFja2RpciwKKwkJCQkJCWl0ZW0tPnN0cmluZywgZXh0c1tleHRdKTsKKwkJCWlmICghZmlsZV9leGlzdHMoZm5hbWUpKSB7CisJCQkJZnJlZShmbmFtZSk7CisJCQkJY29udGludWU7CisJCQl9CisKKwkJCWZuYW1lX29sZCA9IG1rcGF0aCgiJXMvb2xkLSVzJXMiLCBwYWNrZGlyLAorCQkJCQkJaXRlbS0+c3RyaW5nLCBleHRzW2V4dF0pOworCQkJaWYgKGZpbGVfZXhpc3RzKGZuYW1lX29sZCkpCisJCQkJaWYgKHVubGluayhmbmFtZV9vbGQpKQorCQkJCQlmYWlsZWQgPSAxOworCisJCQlpZiAoIWZhaWxlZCAmJiByZW5hbWUoZm5hbWUsIGZuYW1lX29sZCkpIHsKKwkJCQlmcmVlKGZuYW1lKTsKKwkJCQlmYWlsZWQgPSAxOworCQkJCWJyZWFrOworCQkJfSBlbHNlIHsKKwkJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJnJvbGxiYWNrLCBmbmFtZSk7CisJCQl9CisJCX0KKwkJaWYgKGZhaWxlZCkKKwkJCWJyZWFrOworCX0KKwlpZiAoZmFpbGVkKSB7CisJCXN0cnVjdCBzdHJpbmdfbGlzdCByb2xsYmFja19mYWlsdXJlID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CisJCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgJnJvbGxiYWNrKSB7CisJCQljaGFyICpmbmFtZSwgKmZuYW1lX29sZDsKKwkJCWZuYW1lID0gbWtwYXRoZHVwKCIlcy8lcyIsIHBhY2tkaXIsIGl0ZW0tPnN0cmluZyk7CisJCQlmbmFtZV9vbGQgPSBta3BhdGgoIiVzL29sZC0lcyIsIHBhY2tkaXIsIGl0ZW0tPnN0cmluZyk7CisJCQlpZiAocmVuYW1lKGZuYW1lX29sZCwgZm5hbWUpKQorCQkJCXN0cmluZ19saXN0X2FwcGVuZCgmcm9sbGJhY2tfZmFpbHVyZSwgZm5hbWUpOworCQkJZnJlZShmbmFtZSk7CisJCX0KKworCQlpZiAocm9sbGJhY2tfZmFpbHVyZS5ucikgeworCQkJaW50IGk7CisJCQlmcHJpbnRmKHN0ZGVyciwKKwkJCQkiV0FSTklORzogU29tZSBwYWNrcyBpbiB1c2UgaGF2ZSBiZWVuIHJlbmFtZWQgYnlcbiIKKwkJCQkiV0FSTklORzogcHJlZml4aW5nIG9sZC0gdG8gdGhlaXIgbmFtZSwgaW4gb3JkZXIgdG9cbiIKKwkJCQkiV0FSTklORzogcmVwbGFjZSB0aGVtIHdpdGggdGhlIG5ldyB2ZXJzaW9uIG9mIHRoZVxuIgorCQkJCSJXQVJOSU5HOiBmaWxlLiAgQnV0IHRoZSBvcGVyYXRpb24gZmFpbGVkLCBhbmQgdGhlXG4iCisJCQkJIldBUk5JTkc6IGF0dGVtcHQgdG8gcmVuYW1lIHRoZW0gYmFjayB0byB0aGVpclxuIgorCQkJCSJXQVJOSU5HOiBvcmlnaW5hbCBuYW1lcyBhbHNvIGZhaWxlZC5cbiIKKwkJCQkiV0FSTklORzogUGxlYXNlIHJlbmFtZSB0aGVtIGluICVzIG1hbnVhbGx5OlxuIiwgcGFja2Rpcik7CisJCQlmb3IgKGkgPSAwOyBpIDwgcm9sbGJhY2tfZmFpbHVyZS5ucjsgaSsrKQorCQkJCWZwcmludGYoc3RkZXJyLCAiV0FSTklORzogICBvbGQtJXMgLT4gJXNcbiIsCisJCQkJCXJvbGxiYWNrX2ZhaWx1cmUuaXRlbXNbaV0uc3RyaW5nLAorCQkJCQlyb2xsYmFja19mYWlsdXJlLml0ZW1zW2ldLnN0cmluZyk7CisJCX0KKwkJZXhpdCgxKTsKKwl9CisKKwkvKiBOb3cgdGhlIG9uZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGFyZSBvdXQgb2YgdGhlIHdheS4uLiAqLworCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgJm5hbWVzKSB7CisJCWZvciAoZXh0ID0gMDsgZXh0IDwgMjsgZXh0KyspIHsKKwkJCWNoYXIgKmZuYW1lLCAqZm5hbWVfb2xkOworCQkJc3RydWN0IHN0YXQgc3RhdGJ1ZmZlcjsKKwkJCWZuYW1lID0gbWtwYXRoZHVwKCIlcy9wYWNrLSVzJXMiLAorCQkJCQlwYWNrZGlyLCBpdGVtLT5zdHJpbmcsIGV4dHNbZXh0XSk7CisJCQlmbmFtZV9vbGQgPSBta3BhdGhkdXAoIiVzLSVzJXMiLAorCQkJCQlwYWNrdG1wLCBpdGVtLT5zdHJpbmcsIGV4dHNbZXh0XSk7CisJCQlpZiAoIXN0YXQoZm5hbWVfb2xkLCAmc3RhdGJ1ZmZlcikpIHsKKwkJCQlzdGF0YnVmZmVyLnN0X21vZGUgJj0gfihTX0lXVVNSIHwgU19JV0dSUCB8IFNfSVdPVEgpOworCQkJCWNobW9kKGZuYW1lX29sZCwgc3RhdGJ1ZmZlci5zdF9tb2RlKTsKKwkJCX0KKwkJCWlmIChyZW5hbWUoZm5hbWVfb2xkLCBmbmFtZSkpCisJCQkJZGllX2Vycm5vKF8oInJlbmFtaW5nICclcycgZmFpbGVkIiksIGZuYW1lX29sZCk7CisJCQlmcmVlKGZuYW1lKTsKKwkJCWZyZWUoZm5hbWVfb2xkKTsKKwkJfQorCX0KKworCS8qIFJlbW92ZSB0aGUgIm9sZC0iIGZpbGVzICovCisJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShpdGVtLCAmbmFtZXMpIHsKKwkJZm9yIChleHQgPSAwOyBleHQgPCAyOyBleHQrKykgeworCQkJY2hhciAqZm5hbWU7CisJCQlmbmFtZSA9IG1rcGF0aCgiJXMvb2xkLXBhY2stJXMlcyIsCisJCQkJCXBhY2tkaXIsCisJCQkJCWl0ZW0tPnN0cmluZywKKwkJCQkJZXh0c1tleHRdKTsKKwkJCWlmIChyZW1vdmVfcGF0aChmbmFtZSkpCisJCQkJd2FybmluZyhfKCJyZW1vdmluZyAnJXMnIGZhaWxlZCIpLCBmbmFtZSk7CisJCX0KKwl9CisKKwkvKiBFbmQgb2YgcGFjayByZXBsYWNlbWVudC4gKi8KKworCWlmIChkZWxldGVfcmVkdW5kYW50KSB7CisJCXNvcnRfc3RyaW5nX2xpc3QoJm5hbWVzKTsKKwkJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShpdGVtLCAmZXhpc3RpbmdfcGFja3MpIHsKKwkJCWNoYXIgKnNoYTE7CisJCQlzaXplX3QgbGVuID0gc3RybGVuKGl0ZW0tPnN0cmluZyk7CisJCQlpZiAobGVuIDwgNDApCisJCQkJY29udGludWU7CisJCQlzaGExID0gaXRlbS0+c3RyaW5nICsgbGVuIC0gNDA7CisJCQlpZiAoIXN0cmluZ19saXN0X2hhc19zdHJpbmcoJm5hbWVzLCBzaGExKSkKKwkJCQlyZW1vdmVfcmVkdW5kYW50X3BhY2socGFja2RpciwgaXRlbS0+c3RyaW5nKTsKKwkJfQorCQlhcmd2X2FycmF5X3B1c2goJmNtZF9hcmdzLCAicHJ1bmUtcGFja2VkIik7CisJCWlmIChxdWlldCkKKwkJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kX2FyZ3MsICItLXF1aWV0Iik7CisKKwkJbWVtc2V0KCZjbWQsIDAsIHNpemVvZihjbWQpKTsKKwkJY21kLmFyZ3YgPSBjbWRfYXJncy5hcmd2OworCQljbWQuZ2l0X2NtZCA9IDE7CisJCXJ1bl9jb21tYW5kKCZjbWQpOworCQlhcmd2X2FycmF5X2NsZWFyKCZjbWRfYXJncyk7CisJfQorCisJaWYgKCFub191cGRhdGVfc2VydmVyX2luZm8pIHsKKwkJYXJndl9hcnJheV9wdXNoKCZjbWRfYXJncywgInVwZGF0ZS1zZXJ2ZXItaW5mbyIpOworCQltZW1zZXQoJmNtZCwgMCwgc2l6ZW9mKGNtZCkpOworCQljbWQuYXJndiA9IGNtZF9hcmdzLmFyZ3Y7CisJCWNtZC5naXRfY21kID0gMTsKKwkJcnVuX2NvbW1hbmQoJmNtZCk7CisJCWFyZ3ZfYXJyYXlfY2xlYXIoJmNtZF9hcmdzKTsKKwl9CisJcmVtb3ZlX3RlbXBvcmFyeV9maWxlcygpOworCXN0cmluZ19saXN0X2NsZWFyKCZuYW1lcywgMCk7CisJc3RyaW5nX2xpc3RfY2xlYXIoJnJvbGxiYWNrLCAwKTsKKwlzdHJpbmdfbGlzdF9jbGVhcigmZXhpc3RpbmdfcGFja3MsIDApOworCXN0cmJ1Zl9yZWxlYXNlKCZsaW5lKTsKKworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZXBsYWNlLmMgYi9idWlsdGluL3JlcGxhY2UuYwppbmRleCA1OWQzMTE1Li5iMWJkM2VmIDEwMDY0NAotLS0gYS9idWlsdGluL3JlcGxhY2UuYworKysgYi9idWlsdGluL3JlcGxhY2UuYwpAQCAtODUsNiArODUsNyBAQAogCQkJICBpbnQgZm9yY2UpCiB7CiAJdW5zaWduZWQgY2hhciBvYmplY3RbMjBdLCBwcmV2WzIwXSwgcmVwbFsyMF07CisJZW51bSBvYmplY3RfdHlwZSBvYmpfdHlwZSwgcmVwbF90eXBlOwogCWNoYXIgcmVmW1BBVEhfTUFYXTsKIAlzdHJ1Y3QgcmVmX2xvY2sgKmxvY2s7CiAKQEAgLTEwMCwxMiArMTAxLDIxIEBACiAJaWYgKGNoZWNrX3JlZm5hbWVfZm9ybWF0KHJlZiwgMCkpCiAJCWRpZSgiJyVzJyBpcyBub3QgYSB2YWxpZCByZWYgbmFtZS4iLCByZWYpOwogCisJb2JqX3R5cGUgPSBzaGExX29iamVjdF9pbmZvKG9iamVjdCwgTlVMTCk7CisJcmVwbF90eXBlID0gc2hhMV9vYmplY3RfaW5mbyhyZXBsLCBOVUxMKTsKKwlpZiAoIWZvcmNlICYmIG9ial90eXBlICE9IHJlcGxfdHlwZSkKKwkJZGllKCJPYmplY3RzIG11c3QgYmUgb2YgdGhlIHNhbWUgdHlwZS5cbiIKKwkJICAgICInJXMnIHBvaW50cyB0byBhIHJlcGxhY2VkIG9iamVjdCBvZiB0eXBlICclcydcbiIKKwkJICAgICJ3aGlsZSAnJXMnIHBvaW50cyB0byBhIHJlcGxhY2VtZW50IG9iamVjdCBvZiB0eXBlICclcycuIiwKKwkJICAgIG9iamVjdF9yZWYsIHR5cGVuYW1lKG9ial90eXBlKSwKKwkJICAgIHJlcGxhY2VfcmVmLCB0eXBlbmFtZShyZXBsX3R5cGUpKTsKKwogCWlmIChyZWFkX3JlZihyZWYsIHByZXYpKQogCQloYXNoY2xyKHByZXYpOwogCWVsc2UgaWYgKCFmb3JjZSkKIAkJZGllKCJyZXBsYWNlIHJlZiAnJXMnIGFscmVhZHkgZXhpc3RzIiwgcmVmKTsKIAotCWxvY2sgPSBsb2NrX2FueV9yZWZfZm9yX3VwZGF0ZShyZWYsIHByZXYsIDApOworCWxvY2sgPSBsb2NrX2FueV9yZWZfZm9yX3VwZGF0ZShyZWYsIHByZXYsIDAsIE5VTEwpOwogCWlmICghbG9jaykKIAkJZGllKCIlczogY2Fubm90IGxvY2sgdGhlIHJlZiIsIHJlZik7CiAJaWYgKHdyaXRlX3JlZl9zaGExKGxvY2ssIHJlcGwsIE5VTEwpIDwgMCkKQEAgLTExOCw5ICsxMjgsOSBAQAogewogCWludCBsaXN0ID0gMCwgZGVsZXRlID0gMCwgZm9yY2UgPSAwOwogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewotCQlPUFRfQk9PTEVBTignbCcsIE5VTEwsICZsaXN0LCBOXygibGlzdCByZXBsYWNlIHJlZnMiKSksCi0JCU9QVF9CT09MRUFOKCdkJywgTlVMTCwgJmRlbGV0ZSwgTl8oImRlbGV0ZSByZXBsYWNlIHJlZnMiKSksCi0JCU9QVF9CT09MRUFOKCdmJywgTlVMTCwgJmZvcmNlLCBOXygicmVwbGFjZSB0aGUgcmVmIGlmIGl0IGV4aXN0cyIpKSwKKwkJT1BUX0JPT0woJ2wnLCAibGlzdCIsICZsaXN0LCBOXygibGlzdCByZXBsYWNlIHJlZnMiKSksCisJCU9QVF9CT09MKCdkJywgImRlbGV0ZSIsICZkZWxldGUsIE5fKCJkZWxldGUgcmVwbGFjZSByZWZzIikpLAorCQlPUFRfQk9PTCgnZicsICJmb3JjZSIsICZmb3JjZSwgTl8oInJlcGxhY2UgdGhlIHJlZiBpZiBpdCBleGlzdHMiKSksCiAJCU9QVF9FTkQoKQogCX07CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVyZXJlLmMgYi9idWlsdGluL3JlcmVyZS5jCmluZGV4IGRjMTcwOGUuLjRlNTFhZGQgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVyZXJlLmMKKysrIGIvYnVpbHRpbi9yZXJlcmUuYwpAQCAtNiw2ICs2LDcgQEAKICNpbmNsdWRlICJyZXJlcmUuaCIKICNpbmNsdWRlICJ4ZGlmZi94ZGlmZi5oIgogI2luY2x1ZGUgInhkaWZmLWludGVyZmFjZS5oIgorI2luY2x1ZGUgInBhdGhzcGVjLmgiCiAKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgcmVyZXJlX3VzYWdlW10gPSB7CiAJTl8oImdpdCByZXJlcmUgW2NsZWFyIHwgZm9yZ2V0IHBhdGguLi4gfCBzdGF0dXMgfCByZW1haW5pbmcgfCBkaWZmIHwgZ2NdIiksCkBAIC02OCwxMSArNjksMTIgQEAKIAkJcmV0dXJuIHJlcmVyZShmbGFncyk7CiAKIAlpZiAoIXN0cmNtcChhcmd2WzBdLCAiZm9yZ2V0IikpIHsKLQkJY29uc3QgY2hhciAqKnBhdGhzcGVjOworCQlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAJCWlmIChhcmdjIDwgMikKIAkJCXdhcm5pbmcoIidnaXQgcmVyZXJlIGZvcmdldCcgd2l0aG91dCBwYXRocyBpcyBkZXByZWNhdGVkIik7Ci0JCXBhdGhzcGVjID0gZ2V0X3BhdGhzcGVjKHByZWZpeCwgYXJndiArIDEpOwotCQlyZXR1cm4gcmVyZXJlX2ZvcmdldChwYXRoc3BlYyk7CisJCXBhcnNlX3BhdGhzcGVjKCZwYXRoc3BlYywgMCwgUEFUSFNQRUNfUFJFRkVSX0NXRCwKKwkJCSAgICAgICBwcmVmaXgsIGFyZ3YgKyAxKTsKKwkJcmV0dXJuIHJlcmVyZV9mb3JnZXQoJnBhdGhzcGVjKTsKIAl9CiAKIAlmZCA9IHNldHVwX3JlcmVyZSgmbWVyZ2VfcnIsIGZsYWdzKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVzZXQuYyBiL2J1aWx0aW4vcmVzZXQuYwppbmRleCBhZmE2ZTAyLi42MDA0ODAzIDEwMDY0NAotLS0gYS9idWlsdGluL3Jlc2V0LmMKKysrIGIvYnVpbHRpbi9yZXNldC5jCkBAIC0xMzMsMjEgKzEzMywyMSBAQAogCX0KIH0KIAotc3RhdGljIGludCByZWFkX2Zyb21fdHJlZShjb25zdCBjaGFyICoqcGF0aHNwZWMsIHVuc2lnbmVkIGNoYXIgKnRyZWVfc2hhMSkKK3N0YXRpYyBpbnQgcmVhZF9mcm9tX3RyZWUoY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJCSAgdW5zaWduZWQgY2hhciAqdHJlZV9zaGExKQogewogCXN0cnVjdCBkaWZmX29wdGlvbnMgb3B0OwogCiAJbWVtc2V0KCZvcHQsIDAsIHNpemVvZihvcHQpKTsKLQlkaWZmX3RyZWVfc2V0dXBfcGF0aHMocGF0aHNwZWMsICZvcHQpOworCWNvcHlfcGF0aHNwZWMoJm9wdC5wYXRoc3BlYywgcGF0aHNwZWMpOwogCW9wdC5vdXRwdXRfZm9ybWF0ID0gRElGRl9GT1JNQVRfQ0FMTEJBQ0s7CiAJb3B0LmZvcm1hdF9jYWxsYmFjayA9IHVwZGF0ZV9pbmRleF9mcm9tX2RpZmY7CiAKLQlyZWFkX2NhY2hlKCk7CiAJaWYgKGRvX2RpZmZfY2FjaGUodHJlZV9zaGExLCAmb3B0KSkKIAkJcmV0dXJuIDE7CiAJZGlmZmNvcmVfc3RkKCZvcHQpOwogCWRpZmZfZmx1c2goJm9wdCk7Ci0JZGlmZl90cmVlX3JlbGVhc2VfcGF0aHMoJm9wdCk7CisJZnJlZV9wYXRoc3BlYygmb3B0LnBhdGhzcGVjKTsKIAogCXJldHVybiAwOwogfQpAQCAtMTY4LDEzICsxNjgsMTYgQEAKIAogc3RhdGljIHZvaWQgZGllX2lmX3VubWVyZ2VkX2NhY2hlKGludCByZXNldF90eXBlKQogewotCWlmIChpc19tZXJnZSgpIHx8IHJlYWRfY2FjaGUoKSA8IDAgfHwgdW5tZXJnZWRfY2FjaGUoKSkKKwlpZiAoaXNfbWVyZ2UoKSB8fCB1bm1lcmdlZF9jYWNoZSgpKQogCQlkaWUoXygiQ2Fubm90IGRvIGEgJXMgcmVzZXQgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlLiIpLAogCQkgICAgXyhyZXNldF90eXBlX25hbWVzW3Jlc2V0X3R5cGVdKSk7CiAKIH0KIAotc3RhdGljIGNvbnN0IGNoYXIgKipwYXJzZV9hcmdzKGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKipyZXZfcmV0KQorc3RhdGljIHZvaWQgcGFyc2VfYXJncyhzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAorCQkgICAgICAgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJICAgICAgIGludCBwYXRjaF9tb2RlLAorCQkgICAgICAgY29uc3QgY2hhciAqKnJldl9yZXQpCiB7CiAJY29uc3QgY2hhciAqcmV2ID0gIkhFQUQiOwogCXVuc2lnbmVkIGNoYXIgdW51c2VkWzIwXTsKQEAgLTIxNiwxMCArMjE5LDE4IEBACiAJCX0KIAl9CiAJKnJldl9yZXQgPSByZXY7Ci0JcmV0dXJuIGFyZ3ZbMF0gPyBnZXRfcGF0aHNwZWMocHJlZml4LCBhcmd2KSA6IE5VTEw7CisKKwlpZiAocmVhZF9jYWNoZSgpIDwgMCkKKwkJZGllKF8oImluZGV4IGZpbGUgY29ycnVwdCIpKTsKKworCXBhcnNlX3BhdGhzcGVjKHBhdGhzcGVjLCAwLAorCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0ZVTEwgfAorCQkgICAgICAgUEFUSFNQRUNfU1RSSVBfU1VCTU9EVUxFX1NMQVNIX0NIRUFQIHwKKwkJICAgICAgIChwYXRjaF9tb2RlID8gUEFUSFNQRUNfUFJFRklYX09SSUdJTiA6IDApLAorCQkgICAgICAgcHJlZml4LCBhcmd2KTsKIH0KIAotc3RhdGljIGludCB1cGRhdGVfcmVmcyhjb25zdCBjaGFyICpyZXYsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCitzdGF0aWMgaW50IHJlc2V0X3JlZnMoY29uc3QgY2hhciAqcmV2LCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQogewogCWludCB1cGRhdGVfcmVmX3N0YXR1czsKIAlzdHJ1Y3Qgc3RyYnVmIG1zZyA9IFNUUkJVRl9JTklUOwpAQCAtMjQ2LDcgKzI1Nyw3IEBACiAJaW50IHBhdGNoX21vZGUgPSAwLCB1bmJvcm47CiAJY29uc3QgY2hhciAqcmV2OwogCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07Ci0JY29uc3QgY2hhciAqKnBhdGhzcGVjID0gTlVMTDsKKwlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAJY29uc3Qgc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CiAJCU9QVF9fUVVJRVQoJnF1aWV0LCBOXygiYmUgcXVpZXQsIG9ubHkgcmVwb3J0IGVycm9ycyIpKSwKIAkJT1BUX1NFVF9JTlQoMCwgIm1peGVkIiwgJnJlc2V0X3R5cGUsCkBAIC0yNTgsNyArMjY5LDcgQEAKIAkJCQlOXygicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIpLCBNRVJHRSksCiAJCU9QVF9TRVRfSU5UKDAsICJrZWVwIiwgJnJlc2V0X3R5cGUsCiAJCQkJTl8oInJlc2V0IEhFQUQgYnV0IGtlZXAgbG9jYWwgY2hhbmdlcyIpLCBLRUVQKSwKLQkJT1BUX0JPT0xFQU4oJ3AnLCAicGF0Y2giLCAmcGF0Y2hfbW9kZSwgTl8oInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IikpLAorCQlPUFRfQk9PTCgncCcsICJwYXRjaCIsICZwYXRjaF9tb2RlLCBOXygic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiKSksCiAJCU9QVF9FTkQoKQogCX07CiAKQEAgLTI2NiwxMyArMjc3LDEzIEBACiAKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIG9wdGlvbnMsIGdpdF9yZXNldF91c2FnZSwKIAkJCQkJCVBBUlNFX09QVF9LRUVQX0RBU0hEQVNIKTsKLQlwYXRoc3BlYyA9IHBhcnNlX2FyZ3MoYXJndiwgcHJlZml4LCAmcmV2KTsKKwlwYXJzZV9hcmdzKCZwYXRoc3BlYywgYXJndiwgcHJlZml4LCBwYXRjaF9tb2RlLCAmcmV2KTsKIAogCXVuYm9ybiA9ICFzdHJjbXAocmV2LCAiSEVBRCIpICYmIGdldF9zaGExKCJIRUFEIiwgc2hhMSk7CiAJaWYgKHVuYm9ybikgewogCQkvKiByZXNldCBvbiB1bmJvcm4gYnJhbmNoOiB0cmVhdCBhcyByZXNldCB0byBlbXB0eSB0cmVlICovCiAJCWhhc2hjcHkoc2hhMSwgRU1QVFlfVFJFRV9TSEExX0JJTik7Ci0JfSBlbHNlIGlmICghcGF0aHNwZWMpIHsKKwl9IGVsc2UgaWYgKCFwYXRoc3BlYy5ucikgewogCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAJCWlmIChnZXRfc2hhMV9jb21taXR0aXNoKHJldiwgc2hhMSkpCiAJCQlkaWUoXygiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJldmlzaW9uLiIpLCByZXYpOwpAQCAtMjkzLDEzICszMDQsMTMgQEAKIAlpZiAocGF0Y2hfbW9kZSkgewogCQlpZiAocmVzZXRfdHlwZSAhPSBOT05FKQogCQkJZGllKF8oIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIpKTsKLQkJcmV0dXJuIHJ1bl9hZGRfaW50ZXJhY3RpdmUoc2hhMV90b19oZXgoc2hhMSksICItLXBhdGNoPXJlc2V0IiwgcGF0aHNwZWMpOworCQlyZXR1cm4gcnVuX2FkZF9pbnRlcmFjdGl2ZShyZXYsICItLXBhdGNoPXJlc2V0IiwgJnBhdGhzcGVjKTsKIAl9CiAKIAkvKiBnaXQgcmVzZXQgdHJlZSBbLS1dIHBhdGhzLi4uIGNhbiBiZSB1c2VkIHRvCiAJICogbG9hZCBjaG9zZW4gcGF0aHMgZnJvbSB0aGUgdHJlZSBpbnRvIHRoZSBpbmRleCB3aXRob3V0CiAJICogYWZmZWN0aW5nIHRoZSB3b3JraW5nIHRyZWUgbm9yIEhFQUQuICovCi0JaWYgKHBhdGhzcGVjKSB7CisJaWYgKHBhdGhzcGVjLm5yKSB7CiAJCWlmIChyZXNldF90eXBlID09IE1JWEVEKQogCQkJd2FybmluZyhfKCItLW1peGVkIHdpdGggcGF0aHMgaXMgZGVwcmVjYXRlZDsgdXNlICdnaXQgcmVzZXQgLS0gPHBhdGhzPicgaW5zdGVhZC4iKSk7CiAJCWVsc2UgaWYgKHJlc2V0X3R5cGUgIT0gTk9ORSkKQEAgLTMyMywxMSArMzM0LDE0IEBACiAJCWRpZV9pZl91bm1lcmdlZF9jYWNoZShyZXNldF90eXBlKTsKIAogCWlmIChyZXNldF90eXBlICE9IFNPRlQpIHsKLQkJc3RydWN0IGxvY2tfZmlsZSAqbG9jayA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBsb2NrX2ZpbGUpKTsKKwkJc3RydWN0IGxvY2tfZmlsZSAqbG9jayA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpsb2NrKSk7CiAJCWludCBuZXdmZCA9IGhvbGRfbG9ja2VkX2luZGV4KGxvY2ssIDEpOwogCQlpZiAocmVzZXRfdHlwZSA9PSBNSVhFRCkgewotCQkJaWYgKHJlYWRfZnJvbV90cmVlKHBhdGhzcGVjLCBzaGExKSkKKwkJCWludCBmbGFncyA9IHF1aWV0ID8gUkVGUkVTSF9RVUlFVCA6IFJFRlJFU0hfSU5fUE9SQ0VMQUlOOworCQkJaWYgKHJlYWRfZnJvbV90cmVlKCZwYXRoc3BlYywgc2hhMSkpCiAJCQkJcmV0dXJuIDE7CisJCQlyZWZyZXNoX2luZGV4KCZ0aGVfaW5kZXgsIGZsYWdzLCBOVUxMLCBOVUxMLAorCQkJCSAgICAgIF8oIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IikpOwogCQl9IGVsc2UgewogCQkJaW50IGVyciA9IHJlc2V0X2luZGV4KHNoYTEsIHJlc2V0X3R5cGUsIHF1aWV0KTsKIAkJCWlmIChyZXNldF90eXBlID09IEtFRVAgJiYgIWVycikKQEAgLTMzNiwyNiArMzUwLDIwIEBACiAJCQkJZGllKF8oIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIiksIHJldik7CiAJCX0KIAotCQlpZiAocmVzZXRfdHlwZSA9PSBNSVhFRCkgeyAvKiBSZXBvcnQgd2hhdCBoYXMgbm90IGJlZW4gdXBkYXRlZC4gKi8KLQkJCWludCBmbGFncyA9IHF1aWV0ID8gUkVGUkVTSF9RVUlFVCA6IFJFRlJFU0hfSU5fUE9SQ0VMQUlOOwotCQkJcmVmcmVzaF9pbmRleCgmdGhlX2luZGV4LCBmbGFncywgTlVMTCwgTlVMTCwKLQkJCQkgICAgICBfKCJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIpKTsKLQkJfQotCiAJCWlmICh3cml0ZV9jYWNoZShuZXdmZCwgYWN0aXZlX2NhY2hlLCBhY3RpdmVfbnIpIHx8CiAJCSAgICBjb21taXRfbG9ja2VkX2luZGV4KGxvY2spKQogCQkJZGllKF8oIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iKSk7CiAJfQogCi0JaWYgKCFwYXRoc3BlYyAmJiAhdW5ib3JuKSB7CisJaWYgKCFwYXRoc3BlYy5uciAmJiAhdW5ib3JuKSB7CiAJCS8qIEFueSByZXNldHMgd2l0aG91dCBwYXRocyB1cGRhdGUgSEVBRCB0byB0aGUgaGVhZCBiZWluZwogCQkgKiBzd2l0Y2hlZCB0bywgc2F2aW5nIHRoZSBwcmV2aW91cyBoZWFkIGluIE9SSUdfSEVBRCBiZWZvcmUuICovCi0JCXVwZGF0ZV9yZWZfc3RhdHVzID0gdXBkYXRlX3JlZnMocmV2LCBzaGExKTsKKwkJdXBkYXRlX3JlZl9zdGF0dXMgPSByZXNldF9yZWZzKHJldiwgc2hhMSk7CiAKIAkJaWYgKHJlc2V0X3R5cGUgPT0gSEFSRCAmJiAhdXBkYXRlX3JlZl9zdGF0dXMgJiYgIXF1aWV0KQogCQkJcHJpbnRfbmV3X2hlYWRfbGluZShsb29rdXBfY29tbWl0X3JlZmVyZW5jZShzaGExKSk7CiAJfQotCWlmICghcGF0aHNwZWMpCisJaWYgKCFwYXRoc3BlYy5ucikKIAkJcmVtb3ZlX2JyYW5jaF9zdGF0ZSgpOwogCiAJcmV0dXJuIHVwZGF0ZV9yZWZfc3RhdHVzOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZXYtbGlzdC5jIGIvYnVpbHRpbi9yZXYtbGlzdC5jCmluZGV4IDRmYzE2MTYuLjA3NDVlMmQgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmV2LWxpc3QuYworKysgYi9idWlsdGluL3Jldi1saXN0LmMKQEAgLTMyMiw3ICszMjIsNyBAQAogCQlyZXZzLmNvbW1pdF9mb3JtYXQgPSBDTUlUX0ZNVF9SQVc7CiAKIAlpZiAoKCFyZXZzLmNvbW1pdHMgJiYKLQkgICAgICghKHJldnMudGFnX29iamVjdHN8fHJldnMudHJlZV9vYmplY3RzfHxyZXZzLmJsb2Jfb2JqZWN0cykgJiYKKwkgICAgICghKHJldnMudGFnX29iamVjdHMgfHwgcmV2cy50cmVlX29iamVjdHMgfHwgcmV2cy5ibG9iX29iamVjdHMpICYmCiAJICAgICAgIXJldnMucGVuZGluZy5ucikpIHx8CiAJICAgIHJldnMuZGlmZikKIAkJdXNhZ2UocmV2X2xpc3RfdXNhZ2UpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZXYtcGFyc2UuYyBiL2J1aWx0aW4vcmV2LXBhcnNlLmMKaW5kZXggZGU4OTRjNy4uYzc2Yjg5ZCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9yZXYtcGFyc2UuYworKysgYi9idWlsdGluL3Jldi1wYXJzZS5jCkBAIC0zNDYsOSArMzQ2LDkgQEAKIAkJTlVMTAogCX07CiAJc3RhdGljIHN0cnVjdCBvcHRpb24gcGFyc2VvcHRfb3B0c1tdID0gewotCQlPUFRfQk9PTEVBTigwLCAia2VlcC1kYXNoZGFzaCIsICZrZWVwX2Rhc2hkYXNoLAorCQlPUFRfQk9PTCgwLCAia2VlcC1kYXNoZGFzaCIsICZrZWVwX2Rhc2hkYXNoLAogCQkJCQlOXygia2VlcCB0aGUgYC0tYCBwYXNzZWQgYXMgYW4gYXJnIikpLAotCQlPUFRfQk9PTEVBTigwLCAic3RvcC1hdC1ub24tb3B0aW9uIiwgJnN0b3BfYXRfbm9uX29wdGlvbiwKKwkJT1BUX0JPT0woMCwgInN0b3AtYXQtbm9uLW9wdGlvbiIsICZzdG9wX2F0X25vbl9vcHRpb24sCiAJCQkJCU5fKCJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlICIKIAkJCQkJICAgImZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiKSksCiAJCU9QVF9FTkQoKSwKQEAgLTQ4NiwyMSArNDg2LDYgQEAKIAlpZiAoYXJnYyA+IDEgJiYgIXN0cmNtcCgiLS1zcS1xdW90ZSIsIGFyZ3ZbMV0pKQogCQlyZXR1cm4gY21kX3NxX3F1b3RlKGFyZ2MgLSAyLCBhcmd2ICsgMik7CiAKLQlpZiAoYXJnYyA9PSAyICYmICFzdHJjbXAoIi0tbG9jYWwtZW52LXZhcnMiLCBhcmd2WzFdKSkgewotCQlpbnQgaTsKLQkJZm9yIChpID0gMDsgbG9jYWxfcmVwb19lbnZbaV07IGkrKykKLQkJCXByaW50ZigiJXNcbiIsIGxvY2FsX3JlcG9fZW52W2ldKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JaWYgKGFyZ2MgPiAyICYmICFzdHJjbXAoYXJndlsxXSwgIi0tcmVzb2x2ZS1naXQtZGlyIikpIHsKLQkJY29uc3QgY2hhciAqZ2l0ZGlyID0gcmVzb2x2ZV9naXRkaXIoYXJndlsyXSk7Ci0JCWlmICghZ2l0ZGlyKQotCQkJZGllKCJub3QgYSBnaXRkaXIgJyVzJyIsIGFyZ3ZbMl0pOwotCQlwdXRzKGdpdGRpcik7Ci0JCXJldHVybiAwOwotCX0KLQogCWlmIChhcmdjID4gMSAmJiAhc3RyY21wKCItaCIsIGFyZ3ZbMV0pKQogCQl1c2FnZShidWlsdGluX3Jldl9wYXJzZV91c2FnZSk7CiAKQEAgLTY2MSw2ICs2NDYsMTIgQEAKIAkJCQlmb3JfZWFjaF9yZW1vdGVfcmVmKHNob3dfcmVmZXJlbmNlLCBOVUxMKTsKIAkJCQljb250aW51ZTsKIAkJCX0KKwkJCWlmICghc3RyY21wKGFyZywgIi0tbG9jYWwtZW52LXZhcnMiKSkgeworCQkJCWludCBpOworCQkJCWZvciAoaSA9IDA7IGxvY2FsX3JlcG9fZW52W2ldOyBpKyspCisJCQkJCXByaW50ZigiJXNcbiIsIGxvY2FsX3JlcG9fZW52W2ldKTsKKwkJCQljb250aW51ZTsKKwkJCX0KIAkJCWlmICghc3RyY21wKGFyZywgIi0tc2hvdy10b3BsZXZlbCIpKSB7CiAJCQkJY29uc3QgY2hhciAqd29ya190cmVlID0gZ2V0X2dpdF93b3JrX3RyZWUoKTsKIAkJCQlpZiAod29ya190cmVlKQpAQCAtNzExLDYgKzcwMiwxMyBAQAogCQkJCXByaW50ZigiJXMlcy5naXRcbiIsIGN3ZCwgbGVuICYmIGN3ZFtsZW4tMV0gIT0gJy8nID8gIi8iIDogIiIpOwogCQkJCWNvbnRpbnVlOwogCQkJfQorCQkJaWYgKCFzdHJjbXAoYXJnLCAiLS1yZXNvbHZlLWdpdC1kaXIiKSkgeworCQkJCWNvbnN0IGNoYXIgKmdpdGRpciA9IHJlc29sdmVfZ2l0ZGlyKGFyZ3ZbaSsxXSk7CisJCQkJaWYgKCFnaXRkaXIpCisJCQkJCWRpZSgibm90IGEgZ2l0ZGlyICclcyciLCBhcmd2W2krMV0pOworCQkJCXB1dHMoZ2l0ZGlyKTsKKwkJCQljb250aW51ZTsKKwkJCX0KIAkJCWlmICghc3RyY21wKGFyZywgIi0taXMtaW5zaWRlLWdpdC1kaXIiKSkgewogCQkJCXByaW50ZigiJXNcbiIsIGlzX2luc2lkZV9naXRfZGlyKCkgPyAidHJ1ZSIKIAkJCQkJCTogImZhbHNlIik7CmRpZmYgLS1naXQgYS9idWlsdGluL3JldmVydC5jIGIvYnVpbHRpbi9yZXZlcnQuYwppbmRleCAxZDI2NDhiLi44NzY1OWM5IDEwMDY0NAotLS0gYS9idWlsdGluL3JldmVydC5jCisrKyBiL2J1aWx0aW4vcmV2ZXJ0LmMKQEAgLTcxLDQ0ICs3MSwxOSBAQAogCQlkaWUoXygiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiKSwgbWUsIHRoaXNfb3B0LCBiYXNlX29wdCk7CiB9CiAKLUxBU1RfQVJHX01VU1RfQkVfTlVMTAotc3RhdGljIHZvaWQgdmVyaWZ5X29wdF9tdXR1YWxseV9jb21wYXRpYmxlKGNvbnN0IGNoYXIgKm1lLCAuLi4pCi17Ci0JY29uc3QgY2hhciAqb3B0MSwgKm9wdDIgPSBOVUxMOwotCXZhX2xpc3QgYXA7Ci0KLQl2YV9zdGFydChhcCwgbWUpOwotCXdoaWxlICgob3B0MSA9IHZhX2FyZyhhcCwgY29uc3QgY2hhciAqKSkpIHsKLQkJaWYgKHZhX2FyZyhhcCwgaW50KSkKLQkJCWJyZWFrOwotCX0KLQlpZiAob3B0MSkgewotCQl3aGlsZSAoKG9wdDIgPSB2YV9hcmcoYXAsIGNvbnN0IGNoYXIgKikpKSB7Ci0JCQlpZiAodmFfYXJnKGFwLCBpbnQpKQotCQkJCWJyZWFrOwotCQl9Ci0JfQotCXZhX2VuZChhcCk7Ci0KLQlpZiAob3B0MSAmJiBvcHQyKQotCQlkaWUoXygiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiKSwJbWUsIG9wdDEsIG9wdDIpOwotfQotCiBzdGF0aWMgdm9pZCBwYXJzZV9hcmdzKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewogCWNvbnN0IGNoYXIgKiBjb25zdCAqIHVzYWdlX3N0ciA9IHJldmVydF9vcl9jaGVycnlfcGlja191c2FnZShvcHRzKTsKIAljb25zdCBjaGFyICptZSA9IGFjdGlvbl9uYW1lKG9wdHMpOwotCWludCByZW1vdmVfc3RhdGUgPSAwOwotCWludCBjb250aW4gPSAwOwotCWludCByb2xsYmFjayA9IDA7CisJaW50IGNtZCA9IDA7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MRUFOKDAsICJxdWl0IiwgJnJlbW92ZV9zdGF0ZSwgTl8oImVuZCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiKSksCi0JCU9QVF9CT09MRUFOKDAsICJjb250aW51ZSIsICZjb250aW4sIE5fKCJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIikpLAotCQlPUFRfQk9PTEVBTigwLCAiYWJvcnQiLCAmcm9sbGJhY2ssIE5fKCJjYW5jZWwgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIikpLAotCQlPUFRfQk9PTEVBTignbicsICJuby1jb21taXQiLCAmb3B0cy0+bm9fY29tbWl0LCBOXygiZG9uJ3QgYXV0b21hdGljYWxseSBjb21taXQiKSksCi0JCU9QVF9CT09MRUFOKCdlJywgImVkaXQiLCAmb3B0cy0+ZWRpdCwgTl8oImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIikpLAorCQlPUFRfQ01ETU9ERSgwLCAicXVpdCIsICZjbWQsIE5fKCJlbmQgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIiksICdxJyksCisJCU9QVF9DTURNT0RFKDAsICJjb250aW51ZSIsICZjbWQsIE5fKCJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIiksICdjJyksCisJCU9QVF9DTURNT0RFKDAsICJhYm9ydCIsICZjbWQsIE5fKCJjYW5jZWwgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIiksICdhJyksCisJCU9QVF9CT09MKCduJywgIm5vLWNvbW1pdCIsICZvcHRzLT5ub19jb21taXQsIE5fKCJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIpKSwKKwkJT1BUX0JPT0woJ2UnLCAiZWRpdCIsICZvcHRzLT5lZGl0LCBOXygiZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UiKSksCiAJCU9QVF9OT09QX05PQVJHKCdyJywgTlVMTCksCi0JCU9QVF9CT09MRUFOKCdzJywgInNpZ25vZmYiLCAmb3B0cy0+c2lnbm9mZiwgTl8oImFkZCBTaWduZWQtb2ZmLWJ5OiIpKSwKKwkJT1BUX0JPT0woJ3MnLCAic2lnbm9mZiIsICZvcHRzLT5zaWdub2ZmLCBOXygiYWRkIFNpZ25lZC1vZmYtYnk6IikpLAogCQlPUFRfSU5URUdFUignbScsICJtYWlubGluZSIsICZvcHRzLT5tYWlubGluZSwgTl8oInBhcmVudCBudW1iZXIiKSksCiAJCU9QVF9SRVJFUkVfQVVUT1VQREFURSgmb3B0cy0+YWxsb3dfcmVyZXJlX2F1dG8pLAogCQlPUFRfU1RSSU5HKDAsICJzdHJhdGVneSIsICZvcHRzLT5zdHJhdGVneSwgTl8oInN0cmF0ZWd5IiksIE5fKCJtZXJnZSBzdHJhdGVneSIpKSwKQEAgLTEyNCwxMSArOTksMTEgQEAKIAogCWlmIChvcHRzLT5hY3Rpb24gPT0gUkVQTEFZX1BJQ0spIHsKIAkJc3RydWN0IG9wdGlvbiBjcF9leHRyYVtdID0gewotCQkJT1BUX0JPT0xFQU4oJ3gnLCBOVUxMLCAmb3B0cy0+cmVjb3JkX29yaWdpbiwgTl8oImFwcGVuZCBjb21taXQgbmFtZSIpKSwKLQkJCU9QVF9CT09MRUFOKDAsICJmZiIsICZvcHRzLT5hbGxvd19mZiwgTl8oImFsbG93IGZhc3QtZm9yd2FyZCIpKSwKLQkJCU9QVF9CT09MRUFOKDAsICJhbGxvdy1lbXB0eSIsICZvcHRzLT5hbGxvd19lbXB0eSwgTl8oInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIikpLAotCQkJT1BUX0JPT0xFQU4oMCwgImFsbG93LWVtcHR5LW1lc3NhZ2UiLCAmb3B0cy0+YWxsb3dfZW1wdHlfbWVzc2FnZSwgTl8oImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIpKSwKLQkJCU9QVF9CT09MRUFOKDAsICJrZWVwLXJlZHVuZGFudC1jb21taXRzIiwgJm9wdHMtPmtlZXBfcmVkdW5kYW50X2NvbW1pdHMsIE5fKCJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIpKSwKKwkJCU9QVF9CT09MKCd4JywgTlVMTCwgJm9wdHMtPnJlY29yZF9vcmlnaW4sIE5fKCJhcHBlbmQgY29tbWl0IG5hbWUiKSksCisJCQlPUFRfQk9PTCgwLCAiZmYiLCAmb3B0cy0+YWxsb3dfZmYsIE5fKCJhbGxvdyBmYXN0LWZvcndhcmQiKSksCisJCQlPUFRfQk9PTCgwLCAiYWxsb3ctZW1wdHkiLCAmb3B0cy0+YWxsb3dfZW1wdHksIE5fKCJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIpKSwKKwkJCU9QVF9CT09MKDAsICJhbGxvdy1lbXB0eS1tZXNzYWdlIiwgJm9wdHMtPmFsbG93X2VtcHR5X21lc3NhZ2UsIE5fKCJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiKSksCisJCQlPUFRfQk9PTCgwLCAia2VlcC1yZWR1bmRhbnQtY29tbWl0cyIsICZvcHRzLT5rZWVwX3JlZHVuZGFudF9jb21taXRzLCBOXygia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiKSksCiAJCQlPUFRfRU5EKCksCiAJCX07CiAJCWlmIChwYXJzZV9vcHRpb25zX2NvbmNhdChvcHRpb25zLCBBUlJBWV9TSVpFKG9wdGlvbnMpLCBjcF9leHRyYSkpCkBAIC0xMzksMjMgKzExNCwxNiBAQAogCQkJUEFSU0VfT1BUX0tFRVBfQVJHVjAgfAogCQkJUEFSU0VfT1BUX0tFRVBfVU5LTk9XTik7CiAKLQkvKiBDaGVjayBmb3IgaW5jb21wYXRpYmxlIHN1YmNvbW1hbmRzICovCi0JdmVyaWZ5X29wdF9tdXR1YWxseV9jb21wYXRpYmxlKG1lLAotCQkJCSItLXF1aXQiLCByZW1vdmVfc3RhdGUsCi0JCQkJIi0tY29udGludWUiLCBjb250aW4sCi0JCQkJIi0tYWJvcnQiLCByb2xsYmFjaywKLQkJCQlOVUxMKTsKLQogCS8qIGltcGxpZXMgYWxsb3dfZW1wdHkgKi8KIAlpZiAob3B0cy0+a2VlcF9yZWR1bmRhbnRfY29tbWl0cykKIAkJb3B0cy0+YWxsb3dfZW1wdHkgPSAxOwogCiAJLyogU2V0IHRoZSBzdWJjb21tYW5kICovCi0JaWYgKHJlbW92ZV9zdGF0ZSkKKwlpZiAoY21kID09ICdxJykKIAkJb3B0cy0+c3ViY29tbWFuZCA9IFJFUExBWV9SRU1PVkVfU1RBVEU7Ci0JZWxzZSBpZiAoY29udGluKQorCWVsc2UgaWYgKGNtZCA9PSAnYycpCiAJCW9wdHMtPnN1YmNvbW1hbmQgPSBSRVBMQVlfQ09OVElOVUU7Ci0JZWxzZSBpZiAocm9sbGJhY2spCisJZWxzZSBpZiAoY21kID09ICdhJykKIAkJb3B0cy0+c3ViY29tbWFuZCA9IFJFUExBWV9ST0xMQkFDSzsKIAllbHNlCiAJCW9wdHMtPnN1YmNvbW1hbmQgPSBSRVBMQVlfTk9ORTsKQEAgLTIwMCw2ICsxNjgsOCBAQAogCQlvcHRzLT5yZXZzLT5ub193YWxrID0gUkVWSVNJT05fV0FMS19OT19XQUxLX1VOU09SVEVEOwogCQlpZiAoYXJnYyA8IDIpCiAJCQl1c2FnZV93aXRoX29wdGlvbnModXNhZ2Vfc3RyLCBvcHRpb25zKTsKKwkJaWYgKCFzdHJjbXAoYXJndlsxXSwgIi0iKSkKKwkJCWFyZ3ZbMV0gPSAiQHstMX0iOwogCQltZW1zZXQoJnNfcl9vcHQsIDAsIHNpemVvZihzX3Jfb3B0KSk7CiAJCXNfcl9vcHQuYXNzdW1lX2Rhc2hkYXNoID0gMTsKIAkJYXJnYyA9IHNldHVwX3JldmlzaW9ucyhhcmdjLCBhcmd2LCBvcHRzLT5yZXZzLCAmc19yX29wdCk7CmRpZmYgLS1naXQgYS9idWlsdGluL3JtLmMgYi9idWlsdGluL3JtLmMKaW5kZXggMGRmMGI0ZC4uM2EwZTBlYSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9ybS5jCisrKyBiL2J1aWx0aW4vcm0uYwpAQCAtMTEsNiArMTEsNyBAQAogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgogI2luY2x1ZGUgInN1Ym1vZHVsZS5oIgorI2luY2x1ZGUgInBhdGhzcGVjLmgiCiAKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYnVpbHRpbl9ybV91c2FnZVtdID0gewogCU5fKCJnaXQgcm0gW29wdGlvbnNdIFstLV0gPGZpbGU+Li4uIiksCkBAIC0yNjcsMTAgKzI2OCwxMCBAQAogc3RhdGljIHN0cnVjdCBvcHRpb24gYnVpbHRpbl9ybV9vcHRpb25zW10gPSB7CiAJT1BUX19EUllfUlVOKCZzaG93X29ubHksIE5fKCJkcnkgcnVuIikpLAogCU9QVF9fUVVJRVQoJnF1aWV0LCBOXygiZG8gbm90IGxpc3QgcmVtb3ZlZCBmaWxlcyIpKSwKLQlPUFRfQk9PTEVBTiggMCAsICJjYWNoZWQiLCAgICAgICAgICZpbmRleF9vbmx5LCBOXygib25seSByZW1vdmUgZnJvbSB0aGUgaW5kZXgiKSksCisJT1BUX0JPT0woIDAgLCAiY2FjaGVkIiwgICAgICAgICAmaW5kZXhfb25seSwgTl8oIm9ubHkgcmVtb3ZlIGZyb20gdGhlIGluZGV4IikpLAogCU9QVF9fRk9SQ0UoJmZvcmNlLCBOXygib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siKSksCi0JT1BUX0JPT0xFQU4oJ3InLCBOVUxMLCAgICAgICAgICAgICAmcmVjdXJzaXZlLCAgTl8oImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIikpLAotCU9QVF9CT09MRUFOKCAwICwgImlnbm9yZS11bm1hdGNoIiwgJmlnbm9yZV91bm1hdGNoLAorCU9QVF9CT09MKCdyJywgTlVMTCwgICAgICAgICAgICAgJnJlY3Vyc2l2ZSwgIE5fKCJhbGxvdyByZWN1cnNpdmUgcmVtb3ZhbCIpKSwKKwlPUFRfQk9PTCggMCAsICJpZ25vcmUtdW5tYXRjaCIsICZpZ25vcmVfdW5tYXRjaCwKIAkJCQlOXygiZXhpdCB3aXRoIGEgemVybyBzdGF0dXMgZXZlbiBpZiBub3RoaW5nIG1hdGNoZWQiKSksCiAJT1BUX0VORCgpLAogfTsKQEAgLTI3OCw5ICsyNzksMTAgQEAKIGludCBjbWRfcm0oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJaW50IGksIG5ld2ZkOwotCWNvbnN0IGNoYXIgKipwYXRoc3BlYzsKKwlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAJY2hhciAqc2VlbjsKIAorCWdpdG1vZHVsZXNfY29uZmlnKCk7CiAJZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwogCiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBidWlsdGluX3JtX29wdGlvbnMsCkBAIC0yOTYsNDYgKzI5OCwzNSBAQAogCWlmIChyZWFkX2NhY2hlKCkgPCAwKQogCQlkaWUoXygiaW5kZXggZmlsZSBjb3JydXB0IikpOwogCi0JLyoKLQkgKiBEcm9wIHRyYWlsaW5nIGRpcmVjdG9yeSBzZXBhcmF0b3JzIGZyb20gZGlyZWN0b3JpZXMgc28gd2UnbGwgZmluZAotCSAqIHN1Ym1vZHVsZXMgaW4gdGhlIGluZGV4LgotCSAqLwotCWZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKLQkJc2l6ZV90IHBhdGhsZW4gPSBzdHJsZW4oYXJndltpXSk7Ci0JCWlmIChwYXRobGVuICYmIGlzX2Rpcl9zZXAoYXJndltpXVtwYXRobGVuIC0gMV0pICYmCi0JCSAgICBpc19kaXJlY3RvcnkoYXJndltpXSkpIHsKLQkJCWRvIHsKLQkJCQlwYXRobGVuLS07Ci0JCQl9IHdoaWxlIChwYXRobGVuICYmIGlzX2Rpcl9zZXAoYXJndltpXVtwYXRobGVuIC0gMV0pKTsKLQkJCWFyZ3ZbaV0gPSB4bWVtZHVweihhcmd2W2ldLCBwYXRobGVuKTsKLQkJfQotCX0KKwlwYXJzZV9wYXRoc3BlYygmcGF0aHNwZWMsIDAsCisJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfQ1dEIHwKKwkJICAgICAgIFBBVEhTUEVDX1NUUklQX1NVQk1PRFVMRV9TTEFTSF9DSEVBUCwKKwkJICAgICAgIHByZWZpeCwgYXJndik7CisJcmVmcmVzaF9pbmRleCgmdGhlX2luZGV4LCBSRUZSRVNIX1FVSUVULCAmcGF0aHNwZWMsIE5VTEwsIE5VTEwpOwogCi0JcGF0aHNwZWMgPSBnZXRfcGF0aHNwZWMocHJlZml4LCBhcmd2KTsKLQlyZWZyZXNoX2luZGV4KCZ0aGVfaW5kZXgsIFJFRlJFU0hfUVVJRVQsIHBhdGhzcGVjLCBOVUxMLCBOVUxMKTsKLQotCXNlZW4gPSBOVUxMOwotCWZvciAoaSA9IDA7IHBhdGhzcGVjW2ldIDsgaSsrKQotCQkvKiBub3RoaW5nICovOwotCXNlZW4gPSB4Y2FsbG9jKGksIDEpOworCXNlZW4gPSB4Y2FsbG9jKHBhdGhzcGVjLm5yLCAxKTsKIAogCWZvciAoaSA9IDA7IGkgPCBhY3RpdmVfbnI7IGkrKykgewogCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gYWN0aXZlX2NhY2hlW2ldOwotCQlpZiAoIW1hdGNoX3BhdGhzcGVjKHBhdGhzcGVjLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSksIDAsIHNlZW4pKQorCQlpZiAoIW1hdGNoX3BhdGhzcGVjX2RlcHRoKCZwYXRoc3BlYywgY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpLCAwLCBzZWVuKSkKIAkJCWNvbnRpbnVlOwogCQlBTExPQ19HUk9XKGxpc3QuZW50cnksIGxpc3QubnIgKyAxLCBsaXN0LmFsbG9jKTsKIAkJbGlzdC5lbnRyeVtsaXN0Lm5yXS5uYW1lID0gY2UtPm5hbWU7Ci0JCWxpc3QuZW50cnlbbGlzdC5ucisrXS5pc19zdWJtb2R1bGUgPSBTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSk7CisJCWxpc3QuZW50cnlbbGlzdC5ucl0uaXNfc3VibW9kdWxlID0gU19JU0dJVExJTksoY2UtPmNlX21vZGUpOworCQlpZiAobGlzdC5lbnRyeVtsaXN0Lm5yKytdLmlzX3N1Ym1vZHVsZSAmJgorCQkgICAgIWlzX3N0YWdpbmdfZ2l0bW9kdWxlc19vaygpKQorCQkJZGllIChfKCJQbGVhc2UsIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiKSk7CiAJfQogCi0JaWYgKHBhdGhzcGVjKSB7Ci0JCWNvbnN0IGNoYXIgKm1hdGNoOworCWlmIChwYXRoc3BlYy5ucikgeworCQljb25zdCBjaGFyICpvcmlnaW5hbDsKIAkJaW50IHNlZW5fYW55ID0gMDsKLQkJZm9yIChpID0gMDsgKG1hdGNoID0gcGF0aHNwZWNbaV0pICE9IE5VTEwgOyBpKyspIHsKKwkJZm9yIChpID0gMDsgaSA8IHBhdGhzcGVjLm5yOyBpKyspIHsKKwkJCW9yaWdpbmFsID0gcGF0aHNwZWMuaXRlbXNbaV0ub3JpZ2luYWw7CiAJCQlpZiAoIXNlZW5baV0pIHsKIAkJCQlpZiAoIWlnbm9yZV91bm1hdGNoKSB7CiAJCQkJCWRpZShfKCJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIiksCi0JCQkJCSAgICBtYXRjaCk7CisJCQkJCSAgICBvcmlnaW5hbCk7CiAJCQkJfQogCQkJfQogCQkJZWxzZSB7CkBAIC0zNDMsMTAgKzMzNCwxMCBAQAogCQkJfQogCQkJaWYgKCFyZWN1cnNpdmUgJiYgc2VlbltpXSA9PSBNQVRDSEVEX1JFQ1VSU0lWRUxZKQogCQkJCWRpZShfKCJub3QgcmVtb3ZpbmcgJyVzJyByZWN1cnNpdmVseSB3aXRob3V0IC1yIiksCi0JCQkJICAgICptYXRjaCA/IG1hdGNoIDogIi4iKTsKKwkJCQkgICAgKm9yaWdpbmFsID8gb3JpZ2luYWwgOiAiLiIpOwogCQl9CiAKLQkJaWYgKCEgc2Vlbl9hbnkpCisJCWlmICghc2Vlbl9hbnkpCiAJCQlleGl0KDApOwogCX0KIApAQCAtMzk2LDEzICszODcsMTUgQEAKIAkgKiBpbiB0aGUgbWlkZGxlKQogCSAqLwogCWlmICghaW5kZXhfb25seSkgewotCQlpbnQgcmVtb3ZlZCA9IDA7CisJCWludCByZW1vdmVkID0gMCwgZ2l0bW9kdWxlc19tb2RpZmllZCA9IDA7CiAJCWZvciAoaSA9IDA7IGkgPCBsaXN0Lm5yOyBpKyspIHsKIAkJCWNvbnN0IGNoYXIgKnBhdGggPSBsaXN0LmVudHJ5W2ldLm5hbWU7CiAJCQlpZiAobGlzdC5lbnRyeVtpXS5pc19zdWJtb2R1bGUpIHsKIAkJCQlpZiAoaXNfZW1wdHlfZGlyKHBhdGgpKSB7CiAJCQkJCWlmICghcm1kaXIocGF0aCkpIHsKIAkJCQkJCXJlbW92ZWQgPSAxOworCQkJCQkJaWYgKCFyZW1vdmVfcGF0aF9mcm9tX2dpdG1vZHVsZXMocGF0aCkpCisJCQkJCQkJZ2l0bW9kdWxlc19tb2RpZmllZCA9IDE7CiAJCQkJCQljb250aW51ZTsKIAkJCQkJfQogCQkJCX0gZWxzZSB7CkBAIC00MTAsOSArNDAzLDE0IEBACiAJCQkJCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgcGF0aCk7CiAJCQkJCWlmICghcmVtb3ZlX2Rpcl9yZWN1cnNpdmVseSgmYnVmLCAwKSkgewogCQkJCQkJcmVtb3ZlZCA9IDE7CisJCQkJCQlpZiAoIXJlbW92ZV9wYXRoX2Zyb21fZ2l0bW9kdWxlcyhwYXRoKSkKKwkJCQkJCQlnaXRtb2R1bGVzX21vZGlmaWVkID0gMTsKIAkJCQkJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCQkJCQkJY29udGludWU7Ci0JCQkJCX0KKwkJCQkJfSBlbHNlIGlmICghZmlsZV9leGlzdHMocGF0aCkpCisJCQkJCQkvKiBTdWJtb2R1bGUgd2FzIHJlbW92ZWQgYnkgdXNlciAqLworCQkJCQkJaWYgKCFyZW1vdmVfcGF0aF9mcm9tX2dpdG1vZHVsZXMocGF0aCkpCisJCQkJCQkJZ2l0bW9kdWxlc19tb2RpZmllZCA9IDE7CiAJCQkJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCQkJCQkvKiBGYWxsdGhyb3VnaCBhbmQgbGV0IHJlbW92ZV9wYXRoKCkgZmFpbC4gKi8KIAkJCQl9CkBAIC00MjQsNiArNDIyLDggQEAKIAkJCWlmICghcmVtb3ZlZCkKIAkJCQlkaWVfZXJybm8oImdpdCBybTogJyVzJyIsIHBhdGgpOwogCQl9CisJCWlmIChnaXRtb2R1bGVzX21vZGlmaWVkKQorCQkJc3RhZ2VfdXBkYXRlZF9naXRtb2R1bGVzKCk7CiAJfQogCiAJaWYgKGFjdGl2ZV9jYWNoZV9jaGFuZ2VkKSB7CmRpZmYgLS1naXQgYS9idWlsdGluL3NlbmQtcGFjay5jIGIvYnVpbHRpbi9zZW5kLXBhY2suYwppbmRleCAxNTJjNGVhLi40NDgyZjE2IDEwMDY0NAotLS0gYS9idWlsdGluL3NlbmQtcGFjay5jCisrKyBiL2J1aWx0aW4vc2VuZC1wYWNrLmMKQEAgLTUsNiArNSw3IEBACiAjaW5jbHVkZSAic2lkZWJhbmQuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgogI2luY2x1ZGUgInJlbW90ZS5oIgorI2luY2x1ZGUgImNvbm5lY3QuaCIKICNpbmNsdWRlICJzZW5kLXBhY2suaCIKICNpbmNsdWRlICJxdW90ZS5oIgogI2luY2x1ZGUgInRyYW5zcG9ydC5oIgpAQCAtNTQsNiArNTUsMTEgQEAKIAkJCW1zZyA9ICJuZWVkcyBmb3JjZSI7CiAJCQlicmVhazsKIAorCQljYXNlIFJFRl9TVEFUVVNfUkVKRUNUX1NUQUxFOgorCQkJcmVzID0gImVycm9yIjsKKwkJCW1zZyA9ICJzdGFsZSBpbmZvIjsKKwkJCWJyZWFrOworCiAJCWNhc2UgUkVGX1NUQVRVU19SRUpFQ1RfQUxSRUFEWV9FWElTVFM6CiAJCQlyZXMgPSAiZXJyb3IiOwogCQkJbXNnID0gImFscmVhZHkgZXhpc3RzIjsKQEAgLTEwMiw2ICsxMDgsNyBAQAogCWludCBmbGFnczsKIAl1bnNpZ25lZCBpbnQgcmVqZWN0X3JlYXNvbnM7CiAJaW50IHByb2dyZXNzID0gLTE7CisJc3RydWN0IHB1c2hfY2FzX29wdGlvbiBjYXMgPSB7MH07CiAKIAlhcmd2Kys7CiAJZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKywgYXJndisrKSB7CkBAIC0xNjQsNiArMTcxLDIyIEBACiAJCQkJaGVscGVyX3N0YXR1cyA9IDE7CiAJCQkJY29udGludWU7CiAJCQl9CisJCQlpZiAoIXN0cmNtcChhcmcsICItLSIgQ0FTX09QVF9OQU1FKSkgeworCQkJCWlmIChwYXJzZV9wdXNoX2Nhc19vcHRpb24oJmNhcywgTlVMTCwgMCkgPCAwKQorCQkJCQlleGl0KDEpOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJaWYgKCFzdHJjbXAoYXJnLCAiLS1uby0iIENBU19PUFRfTkFNRSkpIHsKKwkJCQlpZiAocGFyc2VfcHVzaF9jYXNfb3B0aW9uKCZjYXMsIE5VTEwsIDEpIDwgMCkKKwkJCQkJZXhpdCgxKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWlmICghcHJlZml4Y21wKGFyZywgIi0tIiBDQVNfT1BUX05BTUUgIj0iKSkgeworCQkJCWlmIChwYXJzZV9wdXNoX2Nhc19vcHRpb24oJmNhcywKKwkJCQkJCQkgIHN0cmNocihhcmcsICc9JykgKyAxLCAwKSA8IDApCisJCQkJCWV4aXQoMSk7CisJCQkJY29udGludWU7CisJCQl9CiAJCQl1c2FnZShzZW5kX3BhY2tfdXNhZ2UpOwogCQl9CiAJCWlmICghZGVzdCkgewpAQCAtMjI0LDYgKzI0Nyw5IEBACiAJaWYgKG1hdGNoX3B1c2hfcmVmcyhsb2NhbF9yZWZzLCAmcmVtb3RlX3JlZnMsIG5yX3JlZnNwZWNzLCByZWZzcGVjcywgZmxhZ3MpKQogCQlyZXR1cm4gLTE7CiAKKwlpZiAoIWlzX2VtcHR5X2NhcygmY2FzKSkKKwkJYXBwbHlfcHVzaF9jYXMoJmNhcywgcmVtb3RlLCByZW1vdGVfcmVmcyk7CisKIAlzZXRfcmVmX3N0YXR1c19mb3JfcHVzaChyZW1vdGVfcmVmcywgYXJncy5zZW5kX21pcnJvciwKIAkJYXJncy5mb3JjZV91cGRhdGUpOwogCmRpZmYgLS1naXQgYS9idWlsdGluL3Nob3J0bG9nLmMgYi9idWlsdGluL3Nob3J0bG9nLmMKaW5kZXggODRmZmJiNy4uYzIyNmY3NiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9zaG9ydGxvZy5jCisrKyBiL2J1aWx0aW4vc2hvcnRsb2cuYwpAQCAtMjI2LDEyICsyMjYsMTIgQEAKIAlpbnQgbm9uZ2l0ID0gIXN0YXJ0dXBfaW5mby0+aGF2ZV9yZXBvc2l0b3J5OwogCiAJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewotCQlPUFRfQk9PTEVBTignbicsICJudW1iZXJlZCIsICZsb2cuc29ydF9ieV9udW1iZXIsCi0JCQkgICAgTl8oInNvcnQgb3V0cHV0IGFjY29yZGluZyB0byB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgcGVyIGF1dGhvciIpKSwKLQkJT1BUX0JPT0xFQU4oJ3MnLCAic3VtbWFyeSIsICZsb2cuc3VtbWFyeSwKLQkJCSAgICBOXygiU3VwcHJlc3MgY29tbWl0IGRlc2NyaXB0aW9ucywgb25seSBwcm92aWRlcyBjb21taXQgY291bnQiKSksCi0JCU9QVF9CT09MRUFOKCdlJywgImVtYWlsIiwgJmxvZy5lbWFpbCwKLQkJCSAgICBOXygiU2hvdyB0aGUgZW1haWwgYWRkcmVzcyBvZiBlYWNoIGF1dGhvciIpKSwKKwkJT1BUX0JPT0woJ24nLCAibnVtYmVyZWQiLCAmbG9nLnNvcnRfYnlfbnVtYmVyLAorCQkJIE5fKCJzb3J0IG91dHB1dCBhY2NvcmRpbmcgdG8gdGhlIG51bWJlciBvZiBjb21taXRzIHBlciBhdXRob3IiKSksCisJCU9QVF9CT09MKCdzJywgInN1bW1hcnkiLCAmbG9nLnN1bW1hcnksCisJCQkgTl8oIlN1cHByZXNzIGNvbW1pdCBkZXNjcmlwdGlvbnMsIG9ubHkgcHJvdmlkZXMgY29tbWl0IGNvdW50IikpLAorCQlPUFRfQk9PTCgnZScsICJlbWFpbCIsICZsb2cuZW1haWwsCisJCQkgTl8oIlNob3cgdGhlIGVtYWlsIGFkZHJlc3Mgb2YgZWFjaCBhdXRob3IiKSksCiAJCXsgT1BUSU9OX0NBTExCQUNLLCAndycsIE5VTEwsICZsb2csIE5fKCJ3WyxpMVssaTJdXSIpLAogCQkJTl8oIkxpbmV3cmFwIG91dHB1dCIpLCBQQVJTRV9PUFRfT1BUQVJHLCAmcGFyc2Vfd3JhcF9hcmdzIH0sCiAJCU9QVF9FTkQoKSwKZGlmZiAtLWdpdCBhL2J1aWx0aW4vc2hvdy1icmFuY2guYyBiL2J1aWx0aW4vc2hvdy1icmFuY2guYwppbmRleCA5Nzg4ZWIxLi4wMDFmMjljIDEwMDY0NAotLS0gYS9idWlsdGluL3Nob3ctYnJhbmNoLmMKKysrIGIvYnVpbHRpbi9zaG93LWJyYW5jaC5jCkBAIC02NDYsMzAgKzY0NiwzMCBAQAogCWludCBkZW5zZSA9IDE7CiAJY29uc3QgY2hhciAqcmVmbG9nX2Jhc2UgPSBOVUxMOwogCXN0cnVjdCBvcHRpb24gYnVpbHRpbl9zaG93X2JyYW5jaF9vcHRpb25zW10gPSB7Ci0JCU9QVF9CT09MRUFOKCdhJywgImFsbCIsICZhbGxfaGVhZHMsCi0JCQkgICAgTl8oInNob3cgcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIpKSwKLQkJT1BUX0JPT0xFQU4oJ3InLCAicmVtb3RlcyIsICZhbGxfcmVtb3RlcywKLQkJCSAgICBOXygic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiKSksCisJCU9QVF9CT09MKCdhJywgImFsbCIsICZhbGxfaGVhZHMsCisJCQkgTl8oInNob3cgcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIpKSwKKwkJT1BUX0JPT0woJ3InLCAicmVtb3RlcyIsICZhbGxfcmVtb3RlcywKKwkJCSBOXygic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiKSksCiAJCU9QVF9fQ09MT1IoJnNob3dicmFuY2hfdXNlX2NvbG9yLAogCQkJICAgIE5fKCJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIikpLAogCQl7IE9QVElPTl9JTlRFR0VSLCAwLCAibW9yZSIsICZleHRyYSwgTl8oIm4iKSwKIAkJCSAgICBOXygic2hvdyA8bj4gbW9yZSBjb21taXRzIGFmdGVyIHRoZSBjb21tb24gYW5jZXN0b3IiKSwKIAkJCSAgICBQQVJTRV9PUFRfT1BUQVJHLCBOVUxMLCAoaW50cHRyX3QpMSB9LAogCQlPUFRfU0VUX0lOVCgwLCAibGlzdCIsICZleHRyYSwgTl8oInN5bm9ueW0gdG8gbW9yZT0tMSIpLCAtMSksCi0JCU9QVF9CT09MRUFOKDAsICJuby1uYW1lIiwgJm5vX25hbWUsIE5fKCJzdXBwcmVzcyBuYW1pbmcgc3RyaW5ncyIpKSwKLQkJT1BUX0JPT0xFQU4oMCwgImN1cnJlbnQiLCAmd2l0aF9jdXJyZW50X2JyYW5jaCwKLQkJCSAgICBOXygiaW5jbHVkZSB0aGUgY3VycmVudCBicmFuY2giKSksCi0JCU9QVF9CT09MRUFOKDAsICJzaGExLW5hbWUiLCAmc2hhMV9uYW1lLAotCQkJICAgIE5fKCJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiKSksCi0JCU9QVF9CT09MRUFOKDAsICJtZXJnZS1iYXNlIiwgJm1lcmdlX2Jhc2UsCi0JCQkgICAgTl8oInNob3cgcG9zc2libGUgbWVyZ2UgYmFzZXMiKSksCi0JCU9QVF9CT09MRUFOKDAsICJpbmRlcGVuZGVudCIsICZpbmRlcGVuZGVudCwKKwkJT1BUX0JPT0woMCwgIm5vLW5hbWUiLCAmbm9fbmFtZSwgTl8oInN1cHByZXNzIG5hbWluZyBzdHJpbmdzIikpLAorCQlPUFRfQk9PTCgwLCAiY3VycmVudCIsICZ3aXRoX2N1cnJlbnRfYnJhbmNoLAorCQkJIE5fKCJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIpKSwKKwkJT1BUX0JPT0woMCwgInNoYTEtbmFtZSIsICZzaGExX25hbWUsCisJCQkgTl8oIm5hbWUgY29tbWl0cyB3aXRoIHRoZWlyIG9iamVjdCBuYW1lcyIpKSwKKwkJT1BUX0JPT0woMCwgIm1lcmdlLWJhc2UiLCAmbWVyZ2VfYmFzZSwKKwkJCSBOXygic2hvdyBwb3NzaWJsZSBtZXJnZSBiYXNlcyIpKSwKKwkJT1BUX0JPT0woMCwgImluZGVwZW5kZW50IiwgJmluZGVwZW5kZW50LAogCQkJICAgIE5fKCJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIikpLAogCQlPUFRfU0VUX0lOVCgwLCAidG9wby1vcmRlciIsICZzb3J0X29yZGVyLAogCQkJICAgIE5fKCJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiKSwKIAkJCSAgICBSRVZfU09SVF9JTl9HUkFQSF9PUkRFUiksCi0JCU9QVF9CT09MRUFOKDAsICJ0b3BpY3MiLCAmdG9waWNzLAotCQkJICAgIE5fKCJzaG93IG9ubHkgY29tbWl0cyBub3Qgb24gdGhlIGZpcnN0IGJyYW5jaCIpKSwKKwkJT1BUX0JPT0woMCwgInRvcGljcyIsICZ0b3BpY3MsCisJCQkgTl8oInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIikpLAogCQlPUFRfU0VUX0lOVCgwLCAic3BhcnNlIiwgJmRlbnNlLAogCQkJICAgIE5fKCJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiKSwgMCksCiAJCU9QVF9TRVRfSU5UKDAsICJkYXRlLW9yZGVyIiwgJnNvcnRfb3JkZXIsCmRpZmYgLS1naXQgYS9idWlsdGluL3Nob3ctcmVmLmMgYi9idWlsdGluL3Nob3ctcmVmLmMKaW5kZXggODc4MDZhZC4uOWYzZjVlMyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9zaG93LXJlZi5jCisrKyBiL2J1aWx0aW4vc2hvdy1yZWYuYwpAQCAtMTY1LDE2ICsxNjUsMTUgQEAKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gc2hvd19yZWZfb3B0aW9uc1tdID0gewotCU9QVF9CT09MRUFOKDAsICJ0YWdzIiwgJnRhZ3Nfb25seSwgTl8oIm9ubHkgc2hvdyB0YWdzIChjYW4gYmUgY29tYmluZWQgd2l0aCBoZWFkcykiKSksCi0JT1BUX0JPT0xFQU4oMCwgImhlYWRzIiwgJmhlYWRzX29ubHksIE5fKCJvbmx5IHNob3cgaGVhZHMgKGNhbiBiZSBjb21iaW5lZCB3aXRoIHRhZ3MpIikpLAotCU9QVF9CT09MRUFOKDAsICJ2ZXJpZnkiLCAmdmVyaWZ5LCBOXygic3RyaWN0ZXIgcmVmZXJlbmNlIGNoZWNraW5nLCAiCisJT1BUX0JPT0woMCwgInRhZ3MiLCAmdGFnc19vbmx5LCBOXygib25seSBzaG93IHRhZ3MgKGNhbiBiZSBjb21iaW5lZCB3aXRoIGhlYWRzKSIpKSwKKwlPUFRfQk9PTCgwLCAiaGVhZHMiLCAmaGVhZHNfb25seSwgTl8oIm9ubHkgc2hvdyBoZWFkcyAoY2FuIGJlIGNvbWJpbmVkIHdpdGggdGFncykiKSksCisJT1BUX0JPT0woMCwgInZlcmlmeSIsICZ2ZXJpZnksIE5fKCJzdHJpY3RlciByZWZlcmVuY2UgY2hlY2tpbmcsICIKIAkJICAgICJyZXF1aXJlcyBleGFjdCByZWYgcGF0aCIpKSwKLQl7IE9QVElPTl9CT09MRUFOLCAnaCcsIE5VTEwsICZzaG93X2hlYWQsIE5VTEwsCi0JICBOXygic2hvdyB0aGUgSEVBRCByZWZlcmVuY2UsIGV2ZW4gaWYgaXQgd291bGQgYmUgZmlsdGVyZWQgb3V0IiksCi0JICBQQVJTRV9PUFRfTk9BUkcgfCBQQVJTRV9PUFRfSElEREVOIH0sCi0JT1BUX0JPT0xFQU4oMCwgImhlYWQiLCAmc2hvd19oZWFkLAorCU9QVF9ISURERU5fQk9PTCgnaCcsIE5VTEwsICZzaG93X2hlYWQsCisJCQlOXygic2hvdyB0aGUgSEVBRCByZWZlcmVuY2UsIGV2ZW4gaWYgaXQgd291bGQgYmUgZmlsdGVyZWQgb3V0IikpLAorCU9QVF9CT09MKDAsICJoZWFkIiwgJnNob3dfaGVhZCwKIAkgIE5fKCJzaG93IHRoZSBIRUFEIHJlZmVyZW5jZSwgZXZlbiBpZiBpdCB3b3VsZCBiZSBmaWx0ZXJlZCBvdXQiKSksCi0JT1BUX0JPT0xFQU4oJ2QnLCAiZGVyZWZlcmVuY2UiLCAmZGVyZWZfdGFncywKKwlPUFRfQk9PTCgnZCcsICJkZXJlZmVyZW5jZSIsICZkZXJlZl90YWdzLAogCQkgICAgTl8oImRlcmVmZXJlbmNlIHRhZ3MgaW50byBvYmplY3QgSURzIikpLAogCXsgT1BUSU9OX0NBTExCQUNLLCAncycsICJoYXNoIiwgJmFiYnJldiwgTl8oIm4iKSwKIAkgIE5fKCJvbmx5IHNob3cgU0hBMSBoYXNoIHVzaW5nIDxuPiBkaWdpdHMiKSwKZGlmZiAtLWdpdCBhL2J1aWx0aW4vc3RyaXBzcGFjZS5jIGIvYnVpbHRpbi9zdHJpcHNwYWNlLmMKaW5kZXggZTk4MWRmYi4uMTI1OWVkNyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9zdHJpcHNwYWNlLmMKKysrIGIvYnVpbHRpbi9zdHJpcHNwYWNlLmMKQEAgLTg5LDExICs4OSwxMSBAQAogCiAJaWYgKGFyZ2MgPT0gMikgewogCQlpZiAoIXN0cmNtcChhcmd2WzFdLCAiLXMiKSB8fAotCQkJIXN0cmNtcChhcmd2WzFdLCAiLS1zdHJpcC1jb21tZW50cyIpKSB7Ci0JCQkgc3RyaXBfY29tbWVudHMgPSAxOworCQkgICAgIXN0cmNtcChhcmd2WzFdLCAiLS1zdHJpcC1jb21tZW50cyIpKSB7CisJCQlzdHJpcF9jb21tZW50cyA9IDE7CiAJCX0gZWxzZSBpZiAoIXN0cmNtcChhcmd2WzFdLCAiLWMiKSB8fAotCQkJCQkgIXN0cmNtcChhcmd2WzFdLCAiLS1jb21tZW50LWxpbmVzIikpIHsKLQkJCSBtb2RlID0gQ09NTUVOVF9MSU5FUzsKKwkJCSAgICFzdHJjbXAoYXJndlsxXSwgIi0tY29tbWVudC1saW5lcyIpKSB7CisJCQltb2RlID0gQ09NTUVOVF9MSU5FUzsKIAkJfSBlbHNlIHsKIAkJCW1vZGUgPSBJTlZBTDsKIAkJfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9zeW1ib2xpYy1yZWYuYyBiL2J1aWx0aW4vc3ltYm9saWMtcmVmLmMKaW5kZXggZjQ4MTk1OS4uNzEyODZiNCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9zeW1ib2xpYy1yZWYuYworKysgYi9idWlsdGluL3N5bWJvbGljLXJlZi5jCkBAIC00Nyw3ICs0Nyw3IEBACiAJZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0aW9ucywKIAkJCSAgICAgZ2l0X3N5bWJvbGljX3JlZl91c2FnZSwgMCk7Ci0JaWYgKG1zZyAmJiEqbXNnKQorCWlmIChtc2cgJiYgISptc2cpCiAJCWRpZSgiUmVmdXNpbmcgdG8gcGVyZm9ybSB1cGRhdGUgd2l0aCBlbXB0eSBtZXNzYWdlIik7CiAKIAlpZiAoZGVsZXRlKSB7CmRpZmYgLS1naXQgYS9idWlsdGluL3RhZy5jIGIvYnVpbHRpbi90YWcuYwppbmRleCBhZjNhZjNmLi5lYTU1ZjFkIDEwMDY0NAotLS0gYS9idWlsdGluL3RhZy5jCisrKyBiL2J1aWx0aW4vdGFnLmMKQEAgLTQzNiwyNiArNDM2LDI2IEBACiAJc3RydWN0IHJlZl9sb2NrICpsb2NrOwogCXN0cnVjdCBjcmVhdGVfdGFnX29wdGlvbnMgb3B0OwogCWNoYXIgKmNsZWFudXBfYXJnID0gTlVMTDsKLQlpbnQgYW5ub3RhdGUgPSAwLCBmb3JjZSA9IDAsIGxpbmVzID0gLTEsIGxpc3QgPSAwLAotCQlkZWxldGUgPSAwLCB2ZXJpZnkgPSAwOworCWludCBhbm5vdGF0ZSA9IDAsIGZvcmNlID0gMCwgbGluZXMgPSAtMTsKKwlpbnQgY21kbW9kZSA9IDA7CiAJY29uc3QgY2hhciAqbXNnZmlsZSA9IE5VTEwsICprZXlpZCA9IE5VTEw7CiAJc3RydWN0IG1zZ19hcmcgbXNnID0geyAwLCBTVFJCVUZfSU5JVCB9OwogCXN0cnVjdCBjb21taXRfbGlzdCAqd2l0aF9jb21taXQgPSBOVUxMOwogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewotCQlPUFRfQk9PTEVBTignbCcsICJsaXN0IiwgJmxpc3QsIE5fKCJsaXN0IHRhZyBuYW1lcyIpKSwKKwkJT1BUX0NNRE1PREUoJ2wnLCAibGlzdCIsICZjbWRtb2RlLCBOXygibGlzdCB0YWcgbmFtZXMiKSwgJ2wnKSwKIAkJeyBPUFRJT05fSU5URUdFUiwgJ24nLCBOVUxMLCAmbGluZXMsIE5fKCJuIiksCiAJCQkJTl8oInByaW50IDxuPiBsaW5lcyBvZiBlYWNoIHRhZyBtZXNzYWdlIiksCiAJCQkJUEFSU0VfT1BUX09QVEFSRywgTlVMTCwgMSB9LAotCQlPUFRfQk9PTEVBTignZCcsICJkZWxldGUiLCAmZGVsZXRlLCBOXygiZGVsZXRlIHRhZ3MiKSksCi0JCU9QVF9CT09MRUFOKCd2JywgInZlcmlmeSIsICZ2ZXJpZnksIE5fKCJ2ZXJpZnkgdGFncyIpKSwKKwkJT1BUX0NNRE1PREUoJ2QnLCAiZGVsZXRlIiwgJmNtZG1vZGUsIE5fKCJkZWxldGUgdGFncyIpLCAnZCcpLAorCQlPUFRfQ01ETU9ERSgndicsICJ2ZXJpZnkiLCAmY21kbW9kZSwgTl8oInZlcmlmeSB0YWdzIiksICd2JyksCiAKIAkJT1BUX0dST1VQKE5fKCJUYWcgY3JlYXRpb24gb3B0aW9ucyIpKSwKLQkJT1BUX0JPT0xFQU4oJ2EnLCAiYW5ub3RhdGUiLCAmYW5ub3RhdGUsCisJCU9QVF9CT09MKCdhJywgImFubm90YXRlIiwgJmFubm90YXRlLAogCQkJCQlOXygiYW5ub3RhdGVkIHRhZywgbmVlZHMgYSBtZXNzYWdlIikpLAogCQlPUFRfQ0FMTEJBQ0soJ20nLCAibWVzc2FnZSIsICZtc2csIE5fKCJtZXNzYWdlIiksCiAJCQkgICAgIE5fKCJ0YWcgbWVzc2FnZSIpLCBwYXJzZV9tc2dfYXJnKSwKIAkJT1BUX0ZJTEVOQU1FKCdGJywgImZpbGUiLCAmbXNnZmlsZSwgTl8oInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiKSksCi0JCU9QVF9CT09MRUFOKCdzJywgInNpZ24iLCAmb3B0LnNpZ24sIE5fKCJhbm5vdGF0ZWQgYW5kIEdQRy1zaWduZWQgdGFnIikpLAorCQlPUFRfQk9PTCgncycsICJzaWduIiwgJm9wdC5zaWduLCBOXygiYW5ub3RhdGVkIGFuZCBHUEctc2lnbmVkIHRhZyIpKSwKIAkJT1BUX1NUUklORygwLCAiY2xlYW51cCIsICZjbGVhbnVwX2FyZywgTl8oIm1vZGUiKSwKIAkJCU5fKCJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIikpLAogCQlPUFRfU1RSSU5HKCd1JywgImxvY2FsLXVzZXIiLCAma2V5aWQsIE5fKCJrZXkgaWQiKSwKQEAgLTQ4OSwyMiArNDg5LDE5IEBACiAJfQogCWlmIChvcHQuc2lnbikKIAkJYW5ub3RhdGUgPSAxOwotCWlmIChhcmdjID09IDAgJiYgIShkZWxldGUgfHwgdmVyaWZ5KSkKLQkJbGlzdCA9IDE7CisJaWYgKGFyZ2MgPT0gMCAmJiAhY21kbW9kZSkKKwkJY21kbW9kZSA9ICdsJzsKIAotCWlmICgoYW5ub3RhdGUgfHwgbXNnLmdpdmVuIHx8IG1zZ2ZpbGUgfHwgZm9yY2UpICYmCi0JICAgIChsaXN0IHx8IGRlbGV0ZSB8fCB2ZXJpZnkpKQorCWlmICgoYW5ub3RhdGUgfHwgbXNnLmdpdmVuIHx8IG1zZ2ZpbGUgfHwgZm9yY2UpICYmIChjbWRtb2RlICE9IDApKQogCQl1c2FnZV93aXRoX29wdGlvbnMoZ2l0X3RhZ191c2FnZSwgb3B0aW9ucyk7CiAKLQlpZiAobGlzdCArIGRlbGV0ZSArIHZlcmlmeSA+IDEpCi0JCXVzYWdlX3dpdGhfb3B0aW9ucyhnaXRfdGFnX3VzYWdlLCBvcHRpb25zKTsKIAlmaW5hbGl6ZV9jb2xvcHRzKCZjb2xvcHRzLCAtMSk7Ci0JaWYgKGxpc3QgJiYgbGluZXMgIT0gLTEpIHsKKwlpZiAoY21kbW9kZSA9PSAnbCcgJiYgbGluZXMgIT0gLTEpIHsKIAkJaWYgKGV4cGxpY2l0bHlfZW5hYmxlX2NvbHVtbihjb2xvcHRzKSkKIAkJCWRpZShfKCItLWNvbHVtbiBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIpKTsKIAkJY29sb3B0cyA9IDA7CiAJfQotCWlmIChsaXN0KSB7CisJaWYgKGNtZG1vZGUgPT0gJ2wnKSB7CiAJCWludCByZXQ7CiAJCWlmIChjb2x1bW5fYWN0aXZlKGNvbG9wdHMpKSB7CiAJCQlzdHJ1Y3QgY29sdW1uX29wdGlvbnMgY29wdHM7CkBAIC01MjMsOSArNTIwLDkgQEAKIAkJZGllKF8oIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIpKTsKIAlpZiAocG9pbnRzX2F0Lm5yKQogCQlkaWUoXygiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIpKTsKLQlpZiAoZGVsZXRlKQorCWlmIChjbWRtb2RlID09ICdkJykKIAkJcmV0dXJuIGZvcl9lYWNoX3RhZ19uYW1lKGFyZ3YsIGRlbGV0ZV90YWcpOwotCWlmICh2ZXJpZnkpCisJaWYgKGNtZG1vZGUgPT0gJ3YnKQogCQlyZXR1cm4gZm9yX2VhY2hfdGFnX25hbWUoYXJndiwgdmVyaWZ5X3RhZyk7CiAKIAlpZiAobXNnLmdpdmVuIHx8IG1zZ2ZpbGUpIHsKQEAgLTU3Nyw3ICs1NzQsNyBAQAogCWlmIChhbm5vdGF0ZSkKIAkJY3JlYXRlX3RhZyhvYmplY3QsIHRhZywgJmJ1ZiwgJm9wdCwgcHJldiwgb2JqZWN0KTsKIAotCWxvY2sgPSBsb2NrX2FueV9yZWZfZm9yX3VwZGF0ZShyZWYuYnVmLCBwcmV2LCAwKTsKKwlsb2NrID0gbG9ja19hbnlfcmVmX2Zvcl91cGRhdGUocmVmLmJ1ZiwgcHJldiwgMCwgTlVMTCk7CiAJaWYgKCFsb2NrKQogCQlkaWUoXygiJXM6IGNhbm5vdCBsb2NrIHRoZSByZWYiKSwgcmVmLmJ1Zik7CiAJaWYgKHdyaXRlX3JlZl9zaGExKGxvY2ssIG9iamVjdCwgTlVMTCkgPCAwKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi90YXItdHJlZS5jIGIvYnVpbHRpbi90YXItdHJlZS5jCmluZGV4IDNmMWU3MDEuLmJhM2ZmZTYgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vdGFyLXRyZWUuYworKysgYi9idWlsdGluL3Rhci10cmVlLmMKQEAgLTI2LDggKzI2LDggQEAKIAkgKiAkMCB0cmVlLWlzaCBiYXNlZGlyID09PgogCSAqIAlnaXQgYXJjaGl2ZSAtLWZvcm1hdC10YXIgLS1wcmVmaXg9YmFzZWRpciB0cmVlLWlzaAogCSAqLwotCWludCBpOwogCWNvbnN0IGNoYXIgKipuYXJndiA9IHhjYWxsb2Moc2l6ZW9mKCpuYXJndiksIGFyZ2MgKyAzKTsKKwlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJY2hhciAqYmFzZWRpcl9hcmc7CiAJaW50IG5hcmdjID0gMDsKIApAQCAtNjUsMTEgKzY1LDEwIEBACiAJZnByaW50ZihzdGRlcnIsCiAJCSIqKiogXCJnaXQgdGFyLXRyZWVcIiBpcyBub3cgZGVwcmVjYXRlZC5cbiIKIAkJIioqKiBSdW5uaW5nIFwiZ2l0IGFyY2hpdmVcIiBpbnN0ZWFkLlxuKioqIik7Ci0JZm9yIChpID0gMDsgaSA8IG5hcmdjOyBpKyspIHsKLQkJZnB1dGMoJyAnLCBzdGRlcnIpOwotCQlzcV9xdW90ZV9wcmludChzdGRlcnIsIG5hcmd2W2ldKTsKLQl9Ci0JZnB1dGMoJ1xuJywgc3RkZXJyKTsKKwlzcV9xdW90ZV9hcmd2KCZzYiwgbmFyZ3YsIDApOworCXN0cmJ1Zl9hZGRjaCgmc2IsICdcbicpOworCWZwdXRzKHNiLmJ1Ziwgc3RkZXJyKTsKKwlzdHJidWZfcmVsZWFzZSgmc2IpOwogCXJldHVybiBjbWRfYXJjaGl2ZShuYXJnYywgbmFyZ3YsIHByZWZpeCk7CiB9CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vdXBkYXRlLWluZGV4LmMgYi9idWlsdGluL3VwZGF0ZS1pbmRleC5jCmluZGV4IGMzMTc5ODEuLmUzYTEwZDcgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vdXBkYXRlLWluZGV4LmMKKysrIGIvYnVpbHRpbi91cGRhdGUtaW5kZXguYwpAQCAtMTEsNiArMTEsNyBAQAogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJyZXNvbHZlLXVuZG8uaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCisjaW5jbHVkZSAicGF0aHNwZWMuaCIKIAogLyoKICAqIERlZmF1bHQgdG8gbm90IGFsbG93aW5nIGNoYW5nZXMgdG8gdGhlIGxpc3Qgb2YgZmlsZXMuIFRoZQpAQCAtNTQ2LDEwICs1NDcsMTEgQEAKIAkgKi8KIAlpbnQgcG9zOwogCWludCBoYXNfaGVhZCA9IDE7Ci0JY29uc3QgY2hhciAqKnBhdGhzID0gZ2V0X3BhdGhzcGVjKHByZWZpeCwgYXYgKyAxKTsKIAlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAKLQlpbml0X3BhdGhzcGVjKCZwYXRoc3BlYywgcGF0aHMpOworCXBhcnNlX3BhdGhzcGVjKCZwYXRoc3BlYywgMCwKKwkJICAgICAgIFBBVEhTUEVDX1BSRUZFUl9DV0QsCisJCSAgICAgICBwcmVmaXgsIGF2ICsgMSk7CiAKIAlpZiAocmVhZF9yZWYoIkhFQUQiLCBoZWFkX3NoYTEpKQogCQkvKiBJZiB0aGVyZSBpcyBubyBIRUFELCB0aGF0IG1lYW5zIGl0IGlzIGFuIGluaXRpYWwKZGlmZiAtLWdpdCBhL2J1aWx0aW4vdXBkYXRlLXJlZi5jIGIvYnVpbHRpbi91cGRhdGUtcmVmLmMKaW5kZXggNTFkMjY4NC4uNzAyZTkwZCAxMDA2NDQKLS0tIGEvYnVpbHRpbi91cGRhdGUtcmVmLmMKKysrIGIvYnVpbHRpbi91cGRhdGUtcmVmLmMKQEAgLTIsMjMgKzIsMjYxIEBACiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCisjaW5jbHVkZSAicXVvdGUuaCIKKyNpbmNsdWRlICJhcmd2LWFycmF5LmgiCiAKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZ2l0X3VwZGF0ZV9yZWZfdXNhZ2VbXSA9IHsKIAlOXygiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdIC1kIDxyZWZuYW1lPiBbPG9sZHZhbD5dIiksCiAJTl8oImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAgICA8cmVmbmFtZT4gPG5ld3ZhbD4gWzxvbGR2YWw+XSIpLAorCU5fKCJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gLS1zdGRpbiBbLXpdIiksCiAJTlVMTAogfTsKIAorc3RhdGljIGludCB1cGRhdGVzX2FsbG9jOworc3RhdGljIGludCB1cGRhdGVzX2NvdW50Oworc3RhdGljIGNvbnN0IHN0cnVjdCByZWZfdXBkYXRlICoqdXBkYXRlczsKKworc3RhdGljIGNoYXIgbGluZV90ZXJtaW5hdGlvbiA9ICdcbic7CitzdGF0aWMgaW50IHVwZGF0ZV9mbGFnczsKKworc3RhdGljIHN0cnVjdCByZWZfdXBkYXRlICp1cGRhdGVfYWxsb2Modm9pZCkKK3sKKwlzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlOworCisJLyogQWxsb2NhdGUgYW5kIHplcm8taW5pdCBhIHN0cnVjdCByZWZfdXBkYXRlICovCisJdXBkYXRlID0geGNhbGxvYygxLCBzaXplb2YoKnVwZGF0ZSkpOworCUFMTE9DX0dST1codXBkYXRlcywgdXBkYXRlc19jb3VudCArIDEsIHVwZGF0ZXNfYWxsb2MpOworCXVwZGF0ZXNbdXBkYXRlc19jb3VudCsrXSA9IHVwZGF0ZTsKKworCS8qIFN0b3JlIGFuZCByZXNldCBhY2N1bXVsYXRlZCBvcHRpb25zICovCisJdXBkYXRlLT5mbGFncyA9IHVwZGF0ZV9mbGFnczsKKwl1cGRhdGVfZmxhZ3MgPSAwOworCisJcmV0dXJuIHVwZGF0ZTsKK30KKworc3RhdGljIHZvaWQgdXBkYXRlX3N0b3JlX3JlZl9uYW1lKHN0cnVjdCByZWZfdXBkYXRlICp1cGRhdGUsCisJCQkJICBjb25zdCBjaGFyICpyZWZfbmFtZSkKK3sKKwlpZiAoY2hlY2tfcmVmbmFtZV9mb3JtYXQocmVmX25hbWUsIFJFRk5BTUVfQUxMT1dfT05FTEVWRUwpKQorCQlkaWUoImludmFsaWQgcmVmIGZvcm1hdDogJXMiLCByZWZfbmFtZSk7CisJdXBkYXRlLT5yZWZfbmFtZSA9IHhzdHJkdXAocmVmX25hbWUpOworfQorCitzdGF0aWMgdm9pZCB1cGRhdGVfc3RvcmVfbmV3X3NoYTEoc3RydWN0IHJlZl91cGRhdGUgKnVwZGF0ZSwKKwkJCQkgIGNvbnN0IGNoYXIgKm5ld3ZhbHVlKQoreworCWlmICgqbmV3dmFsdWUgJiYgZ2V0X3NoYTEobmV3dmFsdWUsIHVwZGF0ZS0+bmV3X3NoYTEpKQorCQlkaWUoImludmFsaWQgbmV3IHZhbHVlIGZvciByZWYgJXM6ICVzIiwKKwkJICAgIHVwZGF0ZS0+cmVmX25hbWUsIG5ld3ZhbHVlKTsKK30KKworc3RhdGljIHZvaWQgdXBkYXRlX3N0b3JlX29sZF9zaGExKHN0cnVjdCByZWZfdXBkYXRlICp1cGRhdGUsCisJCQkJICBjb25zdCBjaGFyICpvbGR2YWx1ZSkKK3sKKwlpZiAoKm9sZHZhbHVlICYmIGdldF9zaGExKG9sZHZhbHVlLCB1cGRhdGUtPm9sZF9zaGExKSkKKwkJZGllKCJpbnZhbGlkIG9sZCB2YWx1ZSBmb3IgcmVmICVzOiAlcyIsCisJCSAgICB1cGRhdGUtPnJlZl9uYW1lLCBvbGR2YWx1ZSk7CisKKwkvKiBXZSBoYXZlIGFuIG9sZCB2YWx1ZSBpZiBub24tZW1wdHksIG9yIGlmIGVtcHR5IHdpdGhvdXQgLXogKi8KKwl1cGRhdGUtPmhhdmVfb2xkID0gKm9sZHZhbHVlIHx8IGxpbmVfdGVybWluYXRpb247Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpwYXJzZV9hcmcoY29uc3QgY2hhciAqbmV4dCwgc3RydWN0IHN0cmJ1ZiAqYXJnKQoreworCS8qIFBhcnNlIFNQLXRlcm1pbmF0ZWQsIHBvc3NpYmx5IEMtcXVvdGVkIGFyZ3VtZW50ICovCisJaWYgKCpuZXh0ICE9ICciJykKKwkJd2hpbGUgKCpuZXh0ICYmICFpc3NwYWNlKCpuZXh0KSkKKwkJCXN0cmJ1Zl9hZGRjaChhcmcsICpuZXh0KyspOworCWVsc2UgaWYgKHVucXVvdGVfY19zdHlsZShhcmcsIG5leHQsICZuZXh0KSkKKwkJZGllKCJiYWRseSBxdW90ZWQgYXJndW1lbnQ6ICVzIiwgbmV4dCk7CisKKwkvKiBSZXR1cm4gcG9zaXRpb24gYWZ0ZXIgdGhlIGFyZ3VtZW50ICovCisJcmV0dXJuIG5leHQ7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpwYXJzZV9maXJzdF9hcmcoY29uc3QgY2hhciAqbmV4dCwgc3RydWN0IHN0cmJ1ZiAqYXJnKQoreworCS8qIFBhcnNlIGFyZ3VtZW50IGltbWVkaWF0ZWx5IGFmdGVyICJjb21tYW5kIFNQIiAqLworCXN0cmJ1Zl9yZXNldChhcmcpOworCWlmIChsaW5lX3Rlcm1pbmF0aW9uKSB7CisJCS8qIFdpdGhvdXQgLXosIHVzZSB0aGUgbmV4dCBhcmd1bWVudCAqLworCQluZXh0ID0gcGFyc2VfYXJnKG5leHQsIGFyZyk7CisJfSBlbHNlIHsKKwkJLyogV2l0aCAteiwgdXNlIHJlc3Qgb2YgZmlyc3QgTlVMLXRlcm1pbmF0ZWQgbGluZSAqLworCQlzdHJidWZfYWRkc3RyKGFyZywgbmV4dCk7CisJCW5leHQgPSBuZXh0ICsgYXJnLT5sZW47CisJfQorCXJldHVybiBuZXh0OworfQorCitzdGF0aWMgY29uc3QgY2hhciAqcGFyc2VfbmV4dF9hcmcoY29uc3QgY2hhciAqbmV4dCwgc3RydWN0IHN0cmJ1ZiAqYXJnKQoreworCS8qIFBhcnNlIG5leHQgU1AtdGVybWluYXRlZCBvciBOVUwtdGVybWluYXRlZCBhcmd1bWVudCwgaWYgYW55ICovCisJc3RyYnVmX3Jlc2V0KGFyZyk7CisJaWYgKGxpbmVfdGVybWluYXRpb24pIHsKKwkJLyogV2l0aG91dCAteiwgY29uc3VtZSBTUCBhbmQgdXNlIG5leHQgYXJndW1lbnQgKi8KKwkJaWYgKCEqbmV4dCkKKwkJCXJldHVybiBOVUxMOworCQlpZiAoKm5leHQgIT0gJyAnKQorCQkJZGllKCJleHBlY3RlZCBTUCBidXQgZ290OiAlcyIsIG5leHQpOworCQluZXh0ID0gcGFyc2VfYXJnKG5leHQgKyAxLCBhcmcpOworCX0gZWxzZSB7CisJCS8qIFdpdGggLXosIHJlYWQgdGhlIG5leHQgTlVMLXRlcm1pbmF0ZWQgbGluZSAqLworCQlpZiAoKm5leHQpCisJCQlkaWUoImV4cGVjdGVkIE5VTCBidXQgZ290OiAlcyIsIG5leHQpOworCQlpZiAoc3RyYnVmX2dldGxpbmUoYXJnLCBzdGRpbiwgJ1wwJykgPT0gRU9GKQorCQkJcmV0dXJuIE5VTEw7CisJCW5leHQgPSBhcmctPmJ1ZiArIGFyZy0+bGVuOworCX0KKwlyZXR1cm4gbmV4dDsKK30KKworc3RhdGljIHZvaWQgcGFyc2VfY21kX3VwZGF0ZShjb25zdCBjaGFyICpuZXh0KQoreworCXN0cnVjdCBzdHJidWYgcmVmID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBuZXd2YWx1ZSA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJidWYgb2xkdmFsdWUgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlOworCisJdXBkYXRlID0gdXBkYXRlX2FsbG9jKCk7CisKKwlpZiAoKG5leHQgPSBwYXJzZV9maXJzdF9hcmcobmV4dCwgJnJlZikpICE9IE5VTEwgJiYgcmVmLmJ1ZlswXSkKKwkJdXBkYXRlX3N0b3JlX3JlZl9uYW1lKHVwZGF0ZSwgcmVmLmJ1Zik7CisJZWxzZQorCQlkaWUoInVwZGF0ZSBsaW5lIG1pc3NpbmcgPHJlZj4iKTsKKworCWlmICgobmV4dCA9IHBhcnNlX25leHRfYXJnKG5leHQsICZuZXd2YWx1ZSkpICE9IE5VTEwpCisJCXVwZGF0ZV9zdG9yZV9uZXdfc2hhMSh1cGRhdGUsIG5ld3ZhbHVlLmJ1Zik7CisJZWxzZQorCQlkaWUoInVwZGF0ZSAlcyBtaXNzaW5nIDxuZXd2YWx1ZT4iLCByZWYuYnVmKTsKKworCWlmICgobmV4dCA9IHBhcnNlX25leHRfYXJnKG5leHQsICZvbGR2YWx1ZSkpICE9IE5VTEwpCisJCXVwZGF0ZV9zdG9yZV9vbGRfc2hhMSh1cGRhdGUsIG9sZHZhbHVlLmJ1Zik7CisJZWxzZSBpZighbGluZV90ZXJtaW5hdGlvbikKKwkJZGllKCJ1cGRhdGUgJXMgbWlzc2luZyBbPG9sZHZhbHVlPl0gTlVMIiwgcmVmLmJ1Zik7CisKKwlpZiAobmV4dCAmJiAqbmV4dCkKKwkJZGllKCJ1cGRhdGUgJXMgaGFzIGV4dHJhIGlucHV0OiAlcyIsIHJlZi5idWYsIG5leHQpOworfQorCitzdGF0aWMgdm9pZCBwYXJzZV9jbWRfY3JlYXRlKGNvbnN0IGNoYXIgKm5leHQpCit7CisJc3RydWN0IHN0cmJ1ZiByZWYgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIG5ld3ZhbHVlID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHJlZl91cGRhdGUgKnVwZGF0ZTsKKworCXVwZGF0ZSA9IHVwZGF0ZV9hbGxvYygpOworCisJaWYgKChuZXh0ID0gcGFyc2VfZmlyc3RfYXJnKG5leHQsICZyZWYpKSAhPSBOVUxMICYmIHJlZi5idWZbMF0pCisJCXVwZGF0ZV9zdG9yZV9yZWZfbmFtZSh1cGRhdGUsIHJlZi5idWYpOworCWVsc2UKKwkJZGllKCJjcmVhdGUgbGluZSBtaXNzaW5nIDxyZWY+Iik7CisKKwlpZiAoKG5leHQgPSBwYXJzZV9uZXh0X2FyZyhuZXh0LCAmbmV3dmFsdWUpKSAhPSBOVUxMKQorCQl1cGRhdGVfc3RvcmVfbmV3X3NoYTEodXBkYXRlLCBuZXd2YWx1ZS5idWYpOworCWVsc2UKKwkJZGllKCJjcmVhdGUgJXMgbWlzc2luZyA8bmV3dmFsdWU+IiwgcmVmLmJ1Zik7CisJaWYgKGlzX251bGxfc2hhMSh1cGRhdGUtPm5ld19zaGExKSkKKwkJZGllKCJjcmVhdGUgJXMgZ2l2ZW4gemVybyBuZXcgdmFsdWUiLCByZWYuYnVmKTsKKworCWlmIChuZXh0ICYmICpuZXh0KQorCQlkaWUoImNyZWF0ZSAlcyBoYXMgZXh0cmEgaW5wdXQ6ICVzIiwgcmVmLmJ1ZiwgbmV4dCk7Cit9CisKK3N0YXRpYyB2b2lkIHBhcnNlX2NtZF9kZWxldGUoY29uc3QgY2hhciAqbmV4dCkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIHJlZiA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJidWYgb2xkdmFsdWUgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlOworCisJdXBkYXRlID0gdXBkYXRlX2FsbG9jKCk7CisKKwlpZiAoKG5leHQgPSBwYXJzZV9maXJzdF9hcmcobmV4dCwgJnJlZikpICE9IE5VTEwgJiYgcmVmLmJ1ZlswXSkKKwkJdXBkYXRlX3N0b3JlX3JlZl9uYW1lKHVwZGF0ZSwgcmVmLmJ1Zik7CisJZWxzZQorCQlkaWUoImRlbGV0ZSBsaW5lIG1pc3NpbmcgPHJlZj4iKTsKKworCWlmICgobmV4dCA9IHBhcnNlX25leHRfYXJnKG5leHQsICZvbGR2YWx1ZSkpICE9IE5VTEwpCisJCXVwZGF0ZV9zdG9yZV9vbGRfc2hhMSh1cGRhdGUsIG9sZHZhbHVlLmJ1Zik7CisJZWxzZSBpZighbGluZV90ZXJtaW5hdGlvbikKKwkJZGllKCJkZWxldGUgJXMgbWlzc2luZyBbPG9sZHZhbHVlPl0gTlVMIiwgcmVmLmJ1Zik7CisJaWYgKHVwZGF0ZS0+aGF2ZV9vbGQgJiYgaXNfbnVsbF9zaGExKHVwZGF0ZS0+b2xkX3NoYTEpKQorCQlkaWUoImRlbGV0ZSAlcyBnaXZlbiB6ZXJvIG9sZCB2YWx1ZSIsIHJlZi5idWYpOworCisJaWYgKG5leHQgJiYgKm5leHQpCisJCWRpZSgiZGVsZXRlICVzIGhhcyBleHRyYSBpbnB1dDogJXMiLCByZWYuYnVmLCBuZXh0KTsKK30KKworc3RhdGljIHZvaWQgcGFyc2VfY21kX3ZlcmlmeShjb25zdCBjaGFyICpuZXh0KQoreworCXN0cnVjdCBzdHJidWYgcmVmID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiB2YWx1ZSA9IFNUUkJVRl9JTklUOworCXN0cnVjdCByZWZfdXBkYXRlICp1cGRhdGU7CisKKwl1cGRhdGUgPSB1cGRhdGVfYWxsb2MoKTsKKworCWlmICgobmV4dCA9IHBhcnNlX2ZpcnN0X2FyZyhuZXh0LCAmcmVmKSkgIT0gTlVMTCAmJiByZWYuYnVmWzBdKQorCQl1cGRhdGVfc3RvcmVfcmVmX25hbWUodXBkYXRlLCByZWYuYnVmKTsKKwllbHNlCisJCWRpZSgidmVyaWZ5IGxpbmUgbWlzc2luZyA8cmVmPiIpOworCisJaWYgKChuZXh0ID0gcGFyc2VfbmV4dF9hcmcobmV4dCwgJnZhbHVlKSkgIT0gTlVMTCkgeworCQl1cGRhdGVfc3RvcmVfb2xkX3NoYTEodXBkYXRlLCB2YWx1ZS5idWYpOworCQl1cGRhdGVfc3RvcmVfbmV3X3NoYTEodXBkYXRlLCB2YWx1ZS5idWYpOworCX0gZWxzZSBpZighbGluZV90ZXJtaW5hdGlvbikKKwkJZGllKCJ2ZXJpZnkgJXMgbWlzc2luZyBbPG9sZHZhbHVlPl0gTlVMIiwgcmVmLmJ1Zik7CisKKwlpZiAobmV4dCAmJiAqbmV4dCkKKwkJZGllKCJ2ZXJpZnkgJXMgaGFzIGV4dHJhIGlucHV0OiAlcyIsIHJlZi5idWYsIG5leHQpOworfQorCitzdGF0aWMgdm9pZCBwYXJzZV9jbWRfb3B0aW9uKGNvbnN0IGNoYXIgKm5leHQpCit7CisJaWYgKCFzdHJjbXAobmV4dCwgIm5vLWRlcmVmIikpCisJCXVwZGF0ZV9mbGFncyB8PSBSRUZfTk9ERVJFRjsKKwllbHNlCisJCWRpZSgib3B0aW9uIHVua25vd246ICVzIiwgbmV4dCk7Cit9CisKK3N0YXRpYyB2b2lkIHVwZGF0ZV9yZWZzX3N0ZGluKHZvaWQpCit7CisJc3RydWN0IHN0cmJ1ZiBjbWQgPSBTVFJCVUZfSU5JVDsKKworCS8qIFJlYWQgZWFjaCBsaW5lIGRpc3BhdGNoIGl0cyBjb21tYW5kICovCisJd2hpbGUgKHN0cmJ1Zl9nZXRsaW5lKCZjbWQsIHN0ZGluLCBsaW5lX3Rlcm1pbmF0aW9uKSAhPSBFT0YpCisJCWlmICghY21kLmJ1ZlswXSkKKwkJCWRpZSgiZW1wdHkgY29tbWFuZCBpbiBpbnB1dCIpOworCQllbHNlIGlmIChpc3NwYWNlKCpjbWQuYnVmKSkKKwkJCWRpZSgid2hpdGVzcGFjZSBiZWZvcmUgY29tbWFuZDogJXMiLCBjbWQuYnVmKTsKKwkJZWxzZSBpZiAoIXByZWZpeGNtcChjbWQuYnVmLCAidXBkYXRlICIpKQorCQkJcGFyc2VfY21kX3VwZGF0ZShjbWQuYnVmICsgNyk7CisJCWVsc2UgaWYgKCFwcmVmaXhjbXAoY21kLmJ1ZiwgImNyZWF0ZSAiKSkKKwkJCXBhcnNlX2NtZF9jcmVhdGUoY21kLmJ1ZiArIDcpOworCQllbHNlIGlmICghcHJlZml4Y21wKGNtZC5idWYsICJkZWxldGUgIikpCisJCQlwYXJzZV9jbWRfZGVsZXRlKGNtZC5idWYgKyA3KTsKKwkJZWxzZSBpZiAoIXByZWZpeGNtcChjbWQuYnVmLCAidmVyaWZ5ICIpKQorCQkJcGFyc2VfY21kX3ZlcmlmeShjbWQuYnVmICsgNyk7CisJCWVsc2UgaWYgKCFwcmVmaXhjbXAoY21kLmJ1ZiwgIm9wdGlvbiAiKSkKKwkJCXBhcnNlX2NtZF9vcHRpb24oY21kLmJ1ZiArIDcpOworCQllbHNlCisJCQlkaWUoInVua25vd24gY29tbWFuZDogJXMiLCBjbWQuYnVmKTsKKworCXN0cmJ1Zl9yZWxlYXNlKCZjbWQpOworfQorCiBpbnQgY21kX3VwZGF0ZV9yZWYoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJY29uc3QgY2hhciAqcmVmbmFtZSwgKm9sZHZhbCwgKm1zZyA9IE5VTEw7CiAJdW5zaWduZWQgY2hhciBzaGExWzIwXSwgb2xkc2hhMVsyMF07Ci0JaW50IGRlbGV0ZSA9IDAsIG5vX2RlcmVmID0gMCwgZmxhZ3MgPSAwOworCWludCBkZWxldGUgPSAwLCBub19kZXJlZiA9IDAsIHJlYWRfc3RkaW4gPSAwLCBlbmRfbnVsbCA9IDAsIGZsYWdzID0gMDsKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKIAkJT1BUX1NUUklORyggJ20nLCBOVUxMLCAmbXNnLCBOXygicmVhc29uIiksIE5fKCJyZWFzb24gb2YgdGhlIHVwZGF0ZSIpKSwKLQkJT1BUX0JPT0xFQU4oJ2QnLCBOVUxMLCAmZGVsZXRlLCBOXygiZGVsZXRlIHRoZSByZWZlcmVuY2UiKSksCi0JCU9QVF9CT09MRUFOKCAwICwgIm5vLWRlcmVmIiwgJm5vX2RlcmVmLAorCQlPUFRfQk9PTCgnZCcsIE5VTEwsICZkZWxldGUsIE5fKCJkZWxldGUgdGhlIHJlZmVyZW5jZSIpKSwKKwkJT1BUX0JPT0woIDAgLCAibm8tZGVyZWYiLCAmbm9fZGVyZWYsCiAJCQkJCU5fKCJ1cGRhdGUgPHJlZm5hbWU+IG5vdCB0aGUgb25lIGl0IHBvaW50cyB0byIpKSwKKwkJT1BUX0JPT0woJ3onLCBOVUxMLCAmZW5kX251bGwsIE5fKCJzdGRpbiBoYXMgTlVMLXRlcm1pbmF0ZWQgYXJndW1lbnRzIikpLAorCQlPUFRfQk9PTCggMCAsICJzdGRpbiIsICZyZWFkX3N0ZGluLCBOXygicmVhZCB1cGRhdGVzIGZyb20gc3RkaW4iKSksCiAJCU9QVF9FTkQoKSwKIAl9OwogCkBAIC0yOCw2ICsyNjYsMTggQEAKIAlpZiAobXNnICYmICEqbXNnKQogCQlkaWUoIlJlZnVzaW5nIHRvIHBlcmZvcm0gdXBkYXRlIHdpdGggZW1wdHkgbWVzc2FnZS4iKTsKIAorCWlmIChyZWFkX3N0ZGluKSB7CisJCWlmIChkZWxldGUgfHwgbm9fZGVyZWYgfHwgYXJnYyA+IDApCisJCQl1c2FnZV93aXRoX29wdGlvbnMoZ2l0X3VwZGF0ZV9yZWZfdXNhZ2UsIG9wdGlvbnMpOworCQlpZiAoZW5kX251bGwpCisJCQlsaW5lX3Rlcm1pbmF0aW9uID0gJ1wwJzsKKwkJdXBkYXRlX3JlZnNfc3RkaW4oKTsKKwkJcmV0dXJuIHVwZGF0ZV9yZWZzKG1zZywgdXBkYXRlcywgdXBkYXRlc19jb3VudCwgRElFX09OX0VSUik7CisJfQorCisJaWYgKGVuZF9udWxsKQorCQl1c2FnZV93aXRoX29wdGlvbnMoZ2l0X3VwZGF0ZV9yZWZfdXNhZ2UsIG9wdGlvbnMpOworCiAJaWYgKGRlbGV0ZSkgewogCQlpZiAoYXJnYyA8IDEgfHwgYXJnYyA+IDIpCiAJCQl1c2FnZV93aXRoX29wdGlvbnMoZ2l0X3VwZGF0ZV9yZWZfdXNhZ2UsIG9wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvY2FjaGUuaCBiL2NhY2hlLmgKaW5kZXggNDE1ZDg4My4uY2UzNzdlMSAxMDA2NDQKLS0tIGEvY2FjaGUuaAorKysgYi9jYWNoZS5oCkBAIC0xMDEsOSArMTAxLDkgQEAKIAogI2RlZmluZSBDQUNIRV9TSUdOQVRVUkUgMHg0NDQ5NTI0MwkvKiAiRElSQyIgKi8KIHN0cnVjdCBjYWNoZV9oZWFkZXIgewotCXVuc2lnbmVkIGludCBoZHJfc2lnbmF0dXJlOwotCXVuc2lnbmVkIGludCBoZHJfdmVyc2lvbjsKLQl1bnNpZ25lZCBpbnQgaGRyX2VudHJpZXM7CisJdWludDMyX3QgaGRyX3NpZ25hdHVyZTsKKwl1aW50MzJfdCBoZHJfdmVyc2lvbjsKKwl1aW50MzJfdCBoZHJfZW50cmllczsKIH07CiAKICNkZWZpbmUgSU5ERVhfRk9STUFUX0xCIDIKQEAgLTExNSw4ICsxMTUsOCBAQAogICogY2hlY2sgaXQgZm9yIGVxdWFsaXR5IGluIHRoZSAzMiBiaXRzIHdlIHNhdmUuCiAgKi8KIHN0cnVjdCBjYWNoZV90aW1lIHsKLQl1bnNpZ25lZCBpbnQgc2VjOwotCXVuc2lnbmVkIGludCBuc2VjOworCXVpbnQzMl90IHNlYzsKKwl1aW50MzJfdCBuc2VjOwogfTsKIAogc3RydWN0IHN0YXRfZGF0YSB7CkBAIC0xODksNiArMTg5LDggQEAKICNlcnJvciAiQ0VfRVhURU5ERURfRkxBR1Mgb3V0IG9mIHJhbmdlIgogI2VuZGlmCiAKK3N0cnVjdCBwYXRoc3BlYzsKKwogLyoKICAqIENvcHkgdGhlIHNoYTEgYW5kIHN0YXQgc3RhdGUgb2YgYSBjYWNoZSBlbnRyeSBmcm9tIG9uZSB0bwogICogYW5vdGhlci4gQnV0IHdlIG5ldmVyIGNoYW5nZSB0aGUgbmFtZSwgb3IgdGhlIGhhc2ggc3RhdGUhCkBAIC0zMTIsNiArMzE0LDggQEAKICNkZWZpbmUgcmVmcmVzaF9jYWNoZShmbGFncykgcmVmcmVzaF9pbmRleCgmdGhlX2luZGV4LCAoZmxhZ3MpLCBOVUxMLCBOVUxMLCBOVUxMKQogI2RlZmluZSBjZV9tYXRjaF9zdGF0KGNlLCBzdCwgb3B0aW9ucykgaWVfbWF0Y2hfc3RhdCgmdGhlX2luZGV4LCAoY2UpLCAoc3QpLCAob3B0aW9ucykpCiAjZGVmaW5lIGNlX21vZGlmaWVkKGNlLCBzdCwgb3B0aW9ucykgaWVfbW9kaWZpZWQoJnRoZV9pbmRleCwgKGNlKSwgKHN0KSwgKG9wdGlvbnMpKQorI2RlZmluZSBjYWNoZV9kaXJfZXhpc3RzKG5hbWUsIG5hbWVsZW4pIGluZGV4X2Rpcl9leGlzdHMoJnRoZV9pbmRleCwgKG5hbWUpLCAobmFtZWxlbikpCisjZGVmaW5lIGNhY2hlX2ZpbGVfZXhpc3RzKG5hbWUsIG5hbWVsZW4sIGlnbmNhc2UpIGluZGV4X2ZpbGVfZXhpc3RzKCZ0aGVfaW5kZXgsIChuYW1lKSwgKG5hbWVsZW4pLCAoaWduY2FzZSkpCiAjZGVmaW5lIGNhY2hlX25hbWVfZXhpc3RzKG5hbWUsIG5hbWVsZW4sIGlnbmNhc2UpIGluZGV4X25hbWVfZXhpc3RzKCZ0aGVfaW5kZXgsIChuYW1lKSwgKG5hbWVsZW4pLCAoaWduY2FzZSkpCiAjZGVmaW5lIGNhY2hlX25hbWVfaXNfb3RoZXIobmFtZSwgbmFtZWxlbikgaW5kZXhfbmFtZV9pc19vdGhlcigmdGhlX2luZGV4LCAobmFtZSksIChuYW1lbGVuKSkKICNkZWZpbmUgcmVzb2x2ZV91bmRvX2NsZWFyKCkgcmVzb2x2ZV91bmRvX2NsZWFyX2luZGV4KCZ0aGVfaW5kZXgpCkBAIC0zNjUsNiArMzY5LDkgQEAKICNkZWZpbmUgR0lUX05PVEVTX1JFV1JJVEVfUkVGX0VOVklST05NRU5UICJHSVRfTk9URVNfUkVXUklURV9SRUYiCiAjZGVmaW5lIEdJVF9OT1RFU19SRVdSSVRFX01PREVfRU5WSVJPTk1FTlQgIkdJVF9OT1RFU19SRVdSSVRFX01PREUiCiAjZGVmaW5lIEdJVF9MSVRFUkFMX1BBVEhTUEVDU19FTlZJUk9OTUVOVCAiR0lUX0xJVEVSQUxfUEFUSFNQRUNTIgorI2RlZmluZSBHSVRfR0xPQl9QQVRIU1BFQ1NfRU5WSVJPTk1FTlQgIkdJVF9HTE9CX1BBVEhTUEVDUyIKKyNkZWZpbmUgR0lUX05PR0xPQl9QQVRIU1BFQ1NfRU5WSVJPTk1FTlQgIkdJVF9OT0dMT0JfUEFUSFNQRUNTIgorI2RlZmluZSBHSVRfSUNBU0VfUEFUSFNQRUNTX0VOVklST05NRU5UICJHSVRfSUNBU0VfUEFUSFNQRUNTIgogCiAvKgogICogVGhpcyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBleHBlY3RlZCB0byBjb250YWluIGEgYm9vbGVhbiBpbmRpY2F0aW5nCkBAIC0zOTEsNyArMzk4LDYgQEAKIGV4dGVybiBpbnQgaXNfaW5zaWRlX2dpdF9kaXIodm9pZCk7CiBleHRlcm4gY2hhciAqZ2l0X3dvcmtfdHJlZV9jZmc7CiBleHRlcm4gaW50IGlzX2luc2lkZV93b3JrX3RyZWUodm9pZCk7Ci1leHRlcm4gaW50IGhhdmVfZ2l0X2Rpcih2b2lkKTsKIGV4dGVybiBjb25zdCBjaGFyICpnZXRfZ2l0X2Rpcih2b2lkKTsKIGV4dGVybiBpbnQgaXNfZ2l0X2RpcmVjdG9yeShjb25zdCBjaGFyICpwYXRoKTsKIGV4dGVybiBjaGFyICpnZXRfb2JqZWN0X2RpcmVjdG9yeSh2b2lkKTsKQEAgLTQxMiw2ICs0MTgsNyBAQAogZXh0ZXJuIGNvbnN0IGNoYXIgKnNldHVwX2dpdF9kaXJlY3RvcnlfZ2VudGx5KGludCAqKTsKIGV4dGVybiBjb25zdCBjaGFyICpzZXR1cF9naXRfZGlyZWN0b3J5KHZvaWQpOwogZXh0ZXJuIGNoYXIgKnByZWZpeF9wYXRoKGNvbnN0IGNoYXIgKnByZWZpeCwgaW50IGxlbiwgY29uc3QgY2hhciAqcGF0aCk7CitleHRlcm4gY2hhciAqcHJlZml4X3BhdGhfZ2VudGx5KGNvbnN0IGNoYXIgKnByZWZpeCwgaW50IGxlbiwgaW50ICpyZW1haW5pbmcsIGNvbnN0IGNoYXIgKnBhdGgpOwogZXh0ZXJuIGNvbnN0IGNoYXIgKnByZWZpeF9maWxlbmFtZShjb25zdCBjaGFyICpwcmVmaXgsIGludCBsZW4sIGNvbnN0IGNoYXIgKnBhdGgpOwogZXh0ZXJuIGludCBjaGVja19maWxlbmFtZShjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKm5hbWUpOwogZXh0ZXJuIHZvaWQgdmVyaWZ5X2ZpbGVuYW1lKGNvbnN0IGNoYXIgKnByZWZpeCwKQEAgLTQ0OSw3ICs0NTYsNyBAQAogCiAvKiBJbml0aWFsaXplIGFuZCB1c2UgdGhlIGNhY2hlIGluZm9ybWF0aW9uICovCiBleHRlcm4gaW50IHJlYWRfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICopOwotZXh0ZXJuIGludCByZWFkX2luZGV4X3ByZWxvYWQoc3RydWN0IGluZGV4X3N0YXRlICosIGNvbnN0IGNoYXIgKipwYXRoc3BlYyk7CitleHRlcm4gaW50IHJlYWRfaW5kZXhfcHJlbG9hZChzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYyk7CiBleHRlcm4gaW50IHJlYWRfaW5kZXhfZnJvbShzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3QgY2hhciAqcGF0aCk7CiBleHRlcm4gaW50IGlzX2luZGV4X3VuYm9ybihzdHJ1Y3QgaW5kZXhfc3RhdGUgKik7CiBleHRlcm4gaW50IHJlYWRfaW5kZXhfdW5tZXJnZWQoc3RydWN0IGluZGV4X3N0YXRlICopOwpAQCAtNDU3LDYgKzQ2NCw4IEBACiBleHRlcm4gaW50IGRpc2NhcmRfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICopOwogZXh0ZXJuIGludCB1bm1lcmdlZF9pbmRleChjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKik7CiBleHRlcm4gaW50IHZlcmlmeV9wYXRoKGNvbnN0IGNoYXIgKnBhdGgpOworZXh0ZXJuIHN0cnVjdCBjYWNoZV9lbnRyeSAqaW5kZXhfZGlyX2V4aXN0cyhzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4pOworZXh0ZXJuIHN0cnVjdCBjYWNoZV9lbnRyeSAqaW5kZXhfZmlsZV9leGlzdHMoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLCBpbnQgaWduY2FzZSk7CiBleHRlcm4gc3RydWN0IGNhY2hlX2VudHJ5ICppbmRleF9uYW1lX2V4aXN0cyhzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4sIGludCBpZ25jYXNlKTsKIGV4dGVybiBpbnQgaW5kZXhfbmFtZV9wb3MoY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICosIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuKTsKICNkZWZpbmUgQUREX0NBQ0hFX09LX1RPX0FERCAxCQkvKiBPayB0byBhZGQgKi8KQEAgLTQ5MSwyOCArNTAwLDggQEAKIGV4dGVybiBpbnQgaWVfbWF0Y2hfc3RhdChjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICosIHN0cnVjdCBzdGF0ICosIHVuc2lnbmVkIGludCk7CiBleHRlcm4gaW50IGllX21vZGlmaWVkKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKiwgc3RydWN0IHN0YXQgKiwgdW5zaWduZWQgaW50KTsKIAotI2RlZmluZSBQQVRIU1BFQ19PTkVTVEFSIDEJLyogdGhlIHBhdGhzcGVjIHBhdHRlcm4gc2F0aXNmaWVzIEdGTk1fT05FU1RBUiAqLwotCi1zdHJ1Y3QgcGF0aHNwZWMgewotCWNvbnN0IGNoYXIgKipyYXc7IC8qIGdldF9wYXRoc3BlYygpIHJlc3VsdCwgbm90IGZyZWVkIGJ5IGZyZWVfcGF0aHNwZWMoKSAqLwotCWludCBucjsKLQl1bnNpZ25lZCBpbnQgaGFzX3dpbGRjYXJkOjE7Ci0JdW5zaWduZWQgaW50IHJlY3Vyc2l2ZToxOwotCWludCBtYXhfZGVwdGg7Ci0Jc3RydWN0IHBhdGhzcGVjX2l0ZW0gewotCQljb25zdCBjaGFyICptYXRjaDsKLQkJaW50IGxlbjsKLQkJaW50IG5vd2lsZGNhcmRfbGVuOwotCQlpbnQgZmxhZ3M7Ci0JfSAqaXRlbXM7Ci19OwotCi1leHRlcm4gaW50IGluaXRfcGF0aHNwZWMoc3RydWN0IHBhdGhzcGVjICosIGNvbnN0IGNoYXIgKiopOwotZXh0ZXJuIHZvaWQgZnJlZV9wYXRoc3BlYyhzdHJ1Y3QgcGF0aHNwZWMgKik7CiBleHRlcm4gaW50IGNlX3BhdGhfbWF0Y2goY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYyk7CiAKLWV4dGVybiBpbnQgbGltaXRfcGF0aHNwZWNfdG9fbGl0ZXJhbCh2b2lkKTsKLQogI2RlZmluZSBIQVNIX1dSSVRFX09CSkVDVCAxCiAjZGVmaW5lIEhBU0hfRk9STUFUX0NIRUNLIDIKIGV4dGVybiBpbnQgaW5kZXhfZmQodW5zaWduZWQgY2hhciAqc2hhMSwgaW50IGZkLCBzdHJ1Y3Qgc3RhdCAqc3QsIGVudW0gb2JqZWN0X3R5cGUgdHlwZSwgY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQgZmxhZ3MpOwpAQCAtNTQwLDcgKzUyOSw3IEBACiAjZGVmaW5lIFJFRlJFU0hfSUdOT1JFX01JU1NJTkcJMHgwMDA4CS8qIGlnbm9yZSBub24tZXhpc3RlbnQgKi8KICNkZWZpbmUgUkVGUkVTSF9JR05PUkVfU1VCTU9EVUxFUwkweDAwMTAJLyogaWdub3JlIHN1Ym1vZHVsZXMgKi8KICNkZWZpbmUgUkVGUkVTSF9JTl9QT1JDRUxBSU4JMHgwMDIwCS8qIHVzZXIgZnJpZW5kbHkgb3V0cHV0LCBub3QgIm5lZWRzIHVwZGF0ZSIgKi8KLWV4dGVybiBpbnQgcmVmcmVzaF9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgdW5zaWduZWQgaW50IGZsYWdzLCBjb25zdCBjaGFyICoqcGF0aHNwZWMsIGNoYXIgKnNlZW4sIGNvbnN0IGNoYXIgKmhlYWRlcl9tc2cpOworZXh0ZXJuIGludCByZWZyZXNoX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCB1bnNpZ25lZCBpbnQgZmxhZ3MsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsIGNoYXIgKnNlZW4sIGNvbnN0IGNoYXIgKmhlYWRlcl9tc2cpOwogCiBzdHJ1Y3QgbG9ja19maWxlIHsKIAlzdHJ1Y3QgbG9ja19maWxlICpuZXh0OwpAQCAtNzYxLDcgKzc1MCw5IEBACiBjb25zdCBjaGFyICpyZWFsX3BhdGgoY29uc3QgY2hhciAqcGF0aCk7CiBjb25zdCBjaGFyICpyZWFsX3BhdGhfaWZfdmFsaWQoY29uc3QgY2hhciAqcGF0aCk7CiBjb25zdCBjaGFyICphYnNvbHV0ZV9wYXRoKGNvbnN0IGNoYXIgKnBhdGgpOworY29uc3QgY2hhciAqcmVtb3ZlX2xlYWRpbmdfcGF0aChjb25zdCBjaGFyICppbiwgY29uc3QgY2hhciAqcHJlZml4KTsKIGNvbnN0IGNoYXIgKnJlbGF0aXZlX3BhdGgoY29uc3QgY2hhciAqaW4sIGNvbnN0IGNoYXIgKnByZWZpeCwgc3RydWN0IHN0cmJ1ZiAqc2IpOworaW50IG5vcm1hbGl6ZV9wYXRoX2NvcHlfbGVuKGNoYXIgKmRzdCwgY29uc3QgY2hhciAqc3JjLCBpbnQgKnByZWZpeF9sZW4pOwogaW50IG5vcm1hbGl6ZV9wYXRoX2NvcHkoY2hhciAqZHN0LCBjb25zdCBjaGFyICpzcmMpOwogaW50IGxvbmdlc3RfYW5jZXN0b3JfbGVuZ3RoKGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdHJpbmdfbGlzdCAqcHJlZml4ZXMpOwogY2hhciAqc3RyaXBfcGF0aF9zdWZmaXgoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqc3VmZml4KTsKQEAgLTg5Myw3ICs4ODQsNyBAQAogCiBleHRlcm4gaW50IGR3aW1fcmVmKGNvbnN0IGNoYXIgKnN0ciwgaW50IGxlbiwgdW5zaWduZWQgY2hhciAqc2hhMSwgY2hhciAqKnJlZik7CiBleHRlcm4gaW50IGR3aW1fbG9nKGNvbnN0IGNoYXIgKnN0ciwgaW50IGxlbiwgdW5zaWduZWQgY2hhciAqc2hhMSwgY2hhciAqKnJlZik7Ci1leHRlcm4gaW50IGludGVycHJldF9icmFuY2hfbmFtZShjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBzdHJidWYgKik7CitleHRlcm4gaW50IGludGVycHJldF9icmFuY2hfbmFtZShjb25zdCBjaGFyICpzdHIsIGludCBsZW4sIHN0cnVjdCBzdHJidWYgKik7CiBleHRlcm4gaW50IGdldF9zaGExX21iKGNvbnN0IGNoYXIgKnN0ciwgdW5zaWduZWQgY2hhciAqc2hhMSk7CiAKIGV4dGVybiBpbnQgcmVmbmFtZV9tYXRjaChjb25zdCBjaGFyICphYmJyZXZfbmFtZSwgY29uc3QgY2hhciAqZnVsbF9uYW1lLCBjb25zdCBjaGFyICoqcnVsZXMpOwpAQCAtOTg0LDYgKzk3NSw3IEBACiAJCSByZWZyZXNoX2NhY2hlOjE7CiB9OwogCisjZGVmaW5lIFRFTVBPUkFSWV9GSUxFTkFNRV9MRU5HVEggMjUKIGV4dGVybiBpbnQgY2hlY2tvdXRfZW50cnkoc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwgY29uc3Qgc3RydWN0IGNoZWNrb3V0ICpzdGF0ZSwgY2hhciAqdG9wYXRoKTsKIAogc3RydWN0IGNhY2hlX2RlZiB7CkBAIC0xMDQ3LDY3ICsxMDM5LDYgQEAKIAlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKIH07CiAKLXN0cnVjdCByZWYgewotCXN0cnVjdCByZWYgKm5leHQ7Ci0JdW5zaWduZWQgY2hhciBvbGRfc2hhMVsyMF07Ci0JdW5zaWduZWQgY2hhciBuZXdfc2hhMVsyMF07Ci0JY2hhciAqc3ltcmVmOwotCXVuc2lnbmVkIGludAotCQlmb3JjZToxLAotCQlmb3JjZWRfdXBkYXRlOjEsCi0JCWRlbGV0aW9uOjEsCi0JCW1hdGNoZWQ6MTsKLQotCS8qCi0JICogT3JkZXIgaXMgaW1wb3J0YW50IGhlcmUsIGFzIHdlIHdyaXRlIHRvIEZFVENIX0hFQUQKLQkgKiBpbiBudW1lcmljIG9yZGVyLiBBbmQgdGhlIGRlZmF1bHQgTk9UX0ZPUl9NRVJHRQotCSAqIHNob3VsZCBiZSAwLCBzbyB0aGF0IHhjYWxsb2MnZCBzdHJ1Y3R1cmVzIGdldCBpdAotCSAqIGJ5IGRlZmF1bHQuCi0JICovCi0JZW51bSB7Ci0JCUZFVENIX0hFQURfTUVSR0UgPSAtMSwKLQkJRkVUQ0hfSEVBRF9OT1RfRk9SX01FUkdFID0gMCwKLQkJRkVUQ0hfSEVBRF9JR05PUkUgPSAxCi0JfSBmZXRjaF9oZWFkX3N0YXR1czsKLQotCWVudW0gewotCQlSRUZfU1RBVFVTX05PTkUgPSAwLAotCQlSRUZfU1RBVFVTX09LLAotCQlSRUZfU1RBVFVTX1JFSkVDVF9OT05GQVNURk9SV0FSRCwKLQkJUkVGX1NUQVRVU19SRUpFQ1RfQUxSRUFEWV9FWElTVFMsCi0JCVJFRl9TVEFUVVNfUkVKRUNUX05PREVMRVRFLAotCQlSRUZfU1RBVFVTX1JFSkVDVF9GRVRDSF9GSVJTVCwKLQkJUkVGX1NUQVRVU19SRUpFQ1RfTkVFRFNfRk9SQ0UsCi0JCVJFRl9TVEFUVVNfVVBUT0RBVEUsCi0JCVJFRl9TVEFUVVNfUkVNT1RFX1JFSkVDVCwKLQkJUkVGX1NUQVRVU19FWFBFQ1RJTkdfUkVQT1JUCi0JfSBzdGF0dXM7Ci0JY2hhciAqcmVtb3RlX3N0YXR1czsKLQlzdHJ1Y3QgcmVmICpwZWVyX3JlZjsgLyogd2hlbiByZW5hbWluZyAqLwotCWNoYXIgbmFtZVtGTEVYX0FSUkFZXTsgLyogbW9yZSAqLwotfTsKLQotI2RlZmluZSBSRUZfTk9STUFMCSgxdSA8PCAwKQotI2RlZmluZSBSRUZfSEVBRFMJKDF1IDw8IDEpCi0jZGVmaW5lIFJFRl9UQUdTCSgxdSA8PCAyKQotCi1leHRlcm4gc3RydWN0IHJlZiAqZmluZF9yZWZfYnlfbmFtZShjb25zdCBzdHJ1Y3QgcmVmICpsaXN0LCBjb25zdCBjaGFyICpuYW1lKTsKLQotI2RlZmluZSBDT05ORUNUX1ZFUkJPU0UgICAgICAgKDF1IDw8IDApCi1leHRlcm4gc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmdpdF9jb25uZWN0KGludCBmZFsyXSwgY29uc3QgY2hhciAqdXJsLCBjb25zdCBjaGFyICpwcm9nLCBpbnQgZmxhZ3MpOwotZXh0ZXJuIGludCBmaW5pc2hfY29ubmVjdChzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY29ubik7Ci1leHRlcm4gaW50IGdpdF9jb25uZWN0aW9uX2lzX3NvY2tldChzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY29ubik7Ci1zdHJ1Y3QgZXh0cmFfaGF2ZV9vYmplY3RzIHsKLQlpbnQgbnIsIGFsbG9jOwotCXVuc2lnbmVkIGNoYXIgKCphcnJheSlbMjBdOwotfTsKLWV4dGVybiBzdHJ1Y3QgcmVmICoqZ2V0X3JlbW90ZV9oZWFkcyhpbnQgaW4sIGNoYXIgKnNyY19idWYsIHNpemVfdCBzcmNfbGVuLAotCQkJCSAgICAgc3RydWN0IHJlZiAqKmxpc3QsIHVuc2lnbmVkIGludCBmbGFncywKLQkJCQkgICAgIHN0cnVjdCBleHRyYV9oYXZlX29iamVjdHMgKik7Ci1leHRlcm4gaW50IHNlcnZlcl9zdXBwb3J0cyhjb25zdCBjaGFyICpmZWF0dXJlKTsKLWV4dGVybiBpbnQgcGFyc2VfZmVhdHVyZV9yZXF1ZXN0KGNvbnN0IGNoYXIgKmZlYXR1cmVzLCBjb25zdCBjaGFyICpmZWF0dXJlKTsKLWV4dGVybiBjb25zdCBjaGFyICpzZXJ2ZXJfZmVhdHVyZV92YWx1ZShjb25zdCBjaGFyICpmZWF0dXJlLCBpbnQgKmxlbl9yZXQpOwotCiBleHRlcm4gc3RydWN0IHBhY2tlZF9naXQgKnBhcnNlX3BhY2tfaW5kZXgodW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgY2hhciAqaWR4X3BhdGgpOwogCiAvKiBBIGhvb2sgZm9yIGNvdW50LW9iamVjdHMgdG8gcmVwb3J0IGludmFsaWQgZmlsZXMgaW4gcGFjayBkaXJlY3RvcnkgKi8KQEAgLTExOTgsNiArMTEyOSw3IEBACiBleHRlcm4gaW50IGdpdF9jb25maWdfZWFybHkoY29uZmlnX2ZuX3QgZm4sIHZvaWQgKiwgY29uc3QgY2hhciAqcmVwb19jb25maWcpOwogZXh0ZXJuIGludCBnaXRfcGFyc2VfdWxvbmcoY29uc3QgY2hhciAqLCB1bnNpZ25lZCBsb25nICopOwogZXh0ZXJuIGludCBnaXRfY29uZmlnX2ludChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CitleHRlcm4gaW50NjRfdCBnaXRfY29uZmlnX2ludDY0KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIGdpdF9jb25maWdfdWxvbmcoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOwogZXh0ZXJuIGludCBnaXRfY29uZmlnX2Jvb2xfb3JfaW50KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBpbnQgKik7CiBleHRlcm4gaW50IGdpdF9jb25maWdfYm9vbChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CkBAIC0xMzEzLDcgKzEyNDUsNyBAQAogICogcmV0dXJuIDAgaWYgc3VjY2VzcywgMSAtIGlmIGFkZGl0aW9uIG9mIGEgZmlsZSBmYWlsZWQgYW5kCiAgKiBBRERfRklMRVNfSUdOT1JFX0VSUk9SUyB3YXMgc3BlY2lmaWVkIGluIGZsYWdzCiAgKi8KLWludCBhZGRfZmlsZXNfdG9fY2FjaGUoY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICoqcGF0aHNwZWMsIGludCBmbGFncyk7CitpbnQgYWRkX2ZpbGVzX3RvX2NhY2hlKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywgaW50IGZsYWdzKTsKIAogLyogZGlmZi5jICovCiBleHRlcm4gaW50IGRpZmZfYXV0b19yZWZyZXNoX2luZGV4OwpAQCAtMTM0Nyw3ICsxMjc5LDcgQEAKICNkZWZpbmUgd3NfdGFiX3dpZHRoKHJ1bGUpICAgICAoKHJ1bGUpICYgV1NfVEFCX1dJRFRIX01BU0spCiAKIC8qIGxzLWZpbGVzICovCi1pbnQgcmVwb3J0X3BhdGhfZXJyb3IoY29uc3QgY2hhciAqcHNfbWF0Y2hlZCwgY29uc3QgY2hhciAqKnBhdGhzcGVjLCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IHJlcG9ydF9wYXRoX2Vycm9yKGNvbnN0IGNoYXIgKnBzX21hdGNoZWQsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsIGNvbnN0IGNoYXIgKnByZWZpeCk7CiB2b2lkIG92ZXJsYXlfdHJlZV9vbl9jYWNoZShjb25zdCBjaGFyICp0cmVlX25hbWUsIGNvbnN0IGNoYXIgKnByZWZpeCk7CiAKIGNoYXIgKmFsaWFzX2xvb2t1cChjb25zdCBjaGFyICphbGlhcyk7CmRpZmYgLS1naXQgYS9jb21iaW5lLWRpZmYuYyBiL2NvbWJpbmUtZGlmZi5jCmluZGV4IDRmYzE2YWQuLjNiOTJjNDQ4IDEwMDY0NAotLS0gYS9jb21iaW5lLWRpZmYuYworKysgYi9jb21iaW5lLWRpZmYuYwpAQCAtMTMwNiw3ICsxMzA2LDcgQEAKIAlpbnQgaSwgbnVtX3BhdGhzLCBuZWVkc2VwLCBzaG93X2xvZ19maXJzdCwgbnVtX3BhcmVudCA9IHBhcmVudHMtPm5yOwogCiAJZGlmZm9wdHMgPSAqb3B0OwotCWRpZmZfdHJlZV9zZXR1cF9wYXRocyhkaWZmb3B0cy5wYXRoc3BlYy5yYXcsICZkaWZmb3B0cyk7CisJY29weV9wYXRoc3BlYygmZGlmZm9wdHMucGF0aHNwZWMsICZvcHQtPnBhdGhzcGVjKTsKIAlkaWZmb3B0cy5vdXRwdXRfZm9ybWF0ID0gRElGRl9GT1JNQVRfTk9fT1VUUFVUOwogCURJRkZfT1BUX1NFVCgmZGlmZm9wdHMsIFJFQ1VSU0lWRSk7CiAJRElGRl9PUFRfQ0xSKCZkaWZmb3B0cywgQUxMT1dfRVhURVJOQUwpOwpAQCAtMTM3OCw3ICsxMzc4LDcgQEAKIAkJZnJlZSh0bXApOwogCX0KIAotCWRpZmZfdHJlZV9yZWxlYXNlX3BhdGhzKCZkaWZmb3B0cyk7CisJZnJlZV9wYXRoc3BlYygmZGlmZm9wdHMucGF0aHNwZWMpOwogfQogCiB2b2lkIGRpZmZfdHJlZV9jb21iaW5lZF9tZXJnZShjb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQsIGludCBkZW5zZSwKZGlmZiAtLWdpdCBhL2NvbW1pdC5oIGIvY29tbWl0LmgKaW5kZXggYzMwODY3NC4uYmQ4NDFmNCAxMDA2NDQKLS0tIGEvY29tbWl0LmgKKysrIGIvY29tbWl0LmgKQEAgLTIxMiw3ICsyMTIsNyBAQAogCiBleHRlcm4gaW50IGludGVyYWN0aXZlX2FkZChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCwgaW50IHBhdGNoKTsKIGV4dGVybiBpbnQgcnVuX2FkZF9pbnRlcmFjdGl2ZShjb25zdCBjaGFyICpyZXZpc2lvbiwgY29uc3QgY2hhciAqcGF0Y2hfbW9kZSwKLQkJCSAgICAgICBjb25zdCBjaGFyICoqcGF0aHNwZWMpOworCQkJICAgICAgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpOwogCiBzdGF0aWMgaW5saW5lIGludCBzaW5nbGVfcGFyZW50KHN0cnVjdCBjb21taXQgKmNvbW1pdCkKIHsKZGlmZiAtLWdpdCBhL2NvbXBhdC9hcHBsZS1jb21tb24tY3J5cHRvLmggYi9jb21wYXQvYXBwbGUtY29tbW9uLWNyeXB0by5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4YjliMGUKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wYXQvYXBwbGUtY29tbW9uLWNyeXB0by5oCkBAIC0wLDAgKzEsODYgQEAKKy8qIHN1cHByZXNzIGluY2x1c2lvbiBvZiBjb25mbGljdGluZyBvcGVuc3NsIGZ1bmN0aW9ucyAqLworI2RlZmluZSBPUEVOU1NMX05PX01ENQorI2RlZmluZSBIRUFERVJfSE1BQ19ICisjZGVmaW5lIEhFQURFUl9TSEFfSAorI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25ITUFDLmg+CisjZGVmaW5lIEhNQUNfQ1RYIENDSG1hY0NvbnRleHQKKyNkZWZpbmUgSE1BQ19Jbml0KGhtYWMsIGtleSwgbGVuLCBhbGdvKSBDQ0htYWNJbml0KGhtYWMsIGFsZ28sIGtleSwgbGVuKQorI2RlZmluZSBITUFDX1VwZGF0ZSBDQ0htYWNVcGRhdGUKKyNkZWZpbmUgSE1BQ19GaW5hbChobWFjLCBoYXNoLCBwdHIpIENDSG1hY0ZpbmFsKGhtYWMsIGhhc2gpCisjZGVmaW5lIEhNQUNfQ1RYX2NsZWFudXAoaWdub3JlKQorI2RlZmluZSBFVlBfbWQ1KC4uLikga0NDSG1hY0FsZ01ENQorI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA3MAorI2RlZmluZSBBUFBMRV9MSU9OX09SX05FV0VSCisjaW5jbHVkZSA8U2VjdXJpdHkvU2VjdXJpdHkuaD4KKy8qIEFwcGxlJ3MgVFlQRV9CT09MIGNvbmZsaWN0cyB3aXRoIGNvbmZpZy5jICovCisjdW5kZWYgVFlQRV9CT09MCisjZW5kaWYKKworI2lmZGVmIEFQUExFX0xJT05fT1JfTkVXRVIKKyNkZWZpbmUgZ2l0X0NDX2Vycm9yX2NoZWNrKHBhdHRlcm4sIGVycikgXAorCWRvIHsgXAorCQlpZiAoZXJyKSB7IFwKKwkJCWRpZShwYXR0ZXJuLCAobG9uZylDRkVycm9yR2V0Q29kZShlcnIpKTsgXAorCQl9IFwKKwl9IHdoaWxlKDApCisKKyNkZWZpbmUgRVZQX0VuY29kZUJsb2NrIGdpdF9DQ19FVlBfRW5jb2RlQmxvY2sKK3N0YXRpYyBpbmxpbmUgaW50IGdpdF9DQ19FVlBfRW5jb2RlQmxvY2sodW5zaWduZWQgY2hhciAqb3V0LAorCQljb25zdCB1bnNpZ25lZCBjaGFyICppbiwgaW50IGlubGVuKQoreworCUNGRXJyb3JSZWYgZXJyOworCVNlY1RyYW5zZm9ybVJlZiBlbmNvZGVyOworCUNGRGF0YVJlZiBpbnB1dCwgb3V0cHV0OworCUNGSW5kZXggbGVuZ3RoOworCisJZW5jb2RlciA9IFNlY0VuY29kZVRyYW5zZm9ybUNyZWF0ZShrU2VjQmFzZTY0RW5jb2RpbmcsICZlcnIpOworCWdpdF9DQ19lcnJvcl9jaGVjaygiU2VjRW5jb2RlVHJhbnNmb3JtQ3JlYXRlIGZhaWxlZDogJWxkIiwgZXJyKTsKKworCWlucHV0ID0gQ0ZEYXRhQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGluLCBpbmxlbik7CisJU2VjVHJhbnNmb3JtU2V0QXR0cmlidXRlKGVuY29kZXIsIGtTZWNUcmFuc2Zvcm1JbnB1dEF0dHJpYnV0ZU5hbWUsCisJCQlpbnB1dCwgJmVycik7CisJZ2l0X0NDX2Vycm9yX2NoZWNrKCJTZWNUcmFuc2Zvcm1TZXRBdHRyaWJ1dGUgZmFpbGVkOiAlbGQiLCBlcnIpOworCisJb3V0cHV0ID0gU2VjVHJhbnNmb3JtRXhlY3V0ZShlbmNvZGVyLCAmZXJyKTsKKwlnaXRfQ0NfZXJyb3JfY2hlY2soIlNlY1RyYW5zZm9ybUV4ZWN1dGUgZmFpbGVkOiAlbGQiLCBlcnIpOworCisJbGVuZ3RoID0gQ0ZEYXRhR2V0TGVuZ3RoKG91dHB1dCk7CisJQ0ZEYXRhR2V0Qnl0ZXMob3V0cHV0LCBDRlJhbmdlTWFrZSgwLCBsZW5ndGgpLCBvdXQpOworCisJQ0ZSZWxlYXNlKG91dHB1dCk7CisJQ0ZSZWxlYXNlKGlucHV0KTsKKwlDRlJlbGVhc2UoZW5jb2Rlcik7CisKKwlyZXR1cm4gKGludClzdHJsZW4oKGNvbnN0IGNoYXIgKilvdXQpOworfQorCisjZGVmaW5lIEVWUF9EZWNvZGVCbG9jayBnaXRfQ0NfRVZQX0RlY29kZUJsb2NrCitzdGF0aWMgaW50IGlubGluZSBnaXRfQ0NfRVZQX0RlY29kZUJsb2NrKHVuc2lnbmVkIGNoYXIgKm91dCwKKwkJY29uc3QgdW5zaWduZWQgY2hhciAqaW4sIGludCBpbmxlbikKK3sKKwlDRkVycm9yUmVmIGVycjsKKwlTZWNUcmFuc2Zvcm1SZWYgZGVjb2RlcjsKKwlDRkRhdGFSZWYgaW5wdXQsIG91dHB1dDsKKwlDRkluZGV4IGxlbmd0aDsKKworCWRlY29kZXIgPSBTZWNEZWNvZGVUcmFuc2Zvcm1DcmVhdGUoa1NlY0Jhc2U2NEVuY29kaW5nLCAmZXJyKTsKKwlnaXRfQ0NfZXJyb3JfY2hlY2soIlNlY0VuY29kZVRyYW5zZm9ybUNyZWF0ZSBmYWlsZWQ6ICVsZCIsIGVycik7CisKKwlpbnB1dCA9IENGRGF0YUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBpbiwgaW5sZW4pOworCVNlY1RyYW5zZm9ybVNldEF0dHJpYnV0ZShkZWNvZGVyLCBrU2VjVHJhbnNmb3JtSW5wdXRBdHRyaWJ1dGVOYW1lLAorCQkJaW5wdXQsICZlcnIpOworCWdpdF9DQ19lcnJvcl9jaGVjaygiU2VjVHJhbnNmb3JtU2V0QXR0cmlidXRlIGZhaWxlZDogJWxkIiwgZXJyKTsKKworCW91dHB1dCA9IFNlY1RyYW5zZm9ybUV4ZWN1dGUoZGVjb2RlciwgJmVycik7CisJZ2l0X0NDX2Vycm9yX2NoZWNrKCJTZWNUcmFuc2Zvcm1FeGVjdXRlIGZhaWxlZDogJWxkIiwgZXJyKTsKKworCWxlbmd0aCA9IENGRGF0YUdldExlbmd0aChvdXRwdXQpOworCUNGRGF0YUdldEJ5dGVzKG91dHB1dCwgQ0ZSYW5nZU1ha2UoMCwgbGVuZ3RoKSwgb3V0KTsKKworCUNGUmVsZWFzZShvdXRwdXQpOworCUNGUmVsZWFzZShpbnB1dCk7CisJQ0ZSZWxlYXNlKGRlY29kZXIpOworCisJcmV0dXJuIChpbnQpc3RybGVuKChjb25zdCBjaGFyICopb3V0KTsKK30KKyNlbmRpZiAvKiBBUFBMRV9MSU9OX09SX05FV0VSICovCmRpZmYgLS1naXQgYS9jb21wYXQvbWluZ3cuYyBiL2NvbXBhdC9taW5ndy5jCmluZGV4IGJiOTJjNDMuLmZlY2I5OGIgMTAwNjQ0Ci0tLSBhL2NvbXBhdC9taW5ndy5jCisrKyBiL2NvbXBhdC9taW5ndy5jCkBAIC00OTEsNyArNDkxLDYgQEAKIAlyZXR1cm4gZG9fc3RhdF9pbnRlcm5hbCgxLCBmaWxlX25hbWUsIGJ1Zik7CiB9CiAKLSN1bmRlZiBmc3RhdAogaW50IG1pbmd3X2ZzdGF0KGludCBmZCwgc3RydWN0IHN0YXQgKmJ1ZikKIHsKIAlIQU5ETEUgZmggPSAoSEFORExFKV9nZXRfb3NmaGFuZGxlKGZkKTsKQEAgLTEwODYsNiArMTA4NSwxMiBAQAogCQllcnJubyA9IGVycl93aW5fdG9fcG9zaXgoR2V0TGFzdEVycm9yKCkpOwogCQlDbG9zZUhhbmRsZShoKTsKIAkJcmV0dXJuIC0xOworCX0gZWxzZSBpZiAocGlkID4gMCAmJiBzaWcgPT0gMCkgeworCQlIQU5ETEUgaCA9IE9wZW5Qcm9jZXNzKFBST0NFU1NfUVVFUllfSU5GT1JNQVRJT04sIEZBTFNFLCBwaWQpOworCQlpZiAoaCkgeworCQkJQ2xvc2VIYW5kbGUoaCk7CisJCQlyZXR1cm4gMDsKKwkJfQogCX0KIAogCWVycm5vID0gRUlOVkFMOwpkaWZmIC0tZ2l0IGEvY29tcGF0L21pbmd3LmggYi9jb21wYXQvbWluZ3cuaAppbmRleCBiZDBhODhiLi45MmNkNzI4IDEwMDY0NAotLS0gYS9jb21wYXQvbWluZ3cuaAorKysgYi9jb21wYXQvbWluZ3cuaApAQCAtMzIsNyArMzIsOSBAQAogI2RlZmluZSBXRVhJVFNUQVRVUyh4KSAoKHgpICYgMHhmZikKICNkZWZpbmUgV1RFUk1TSUcoeCkgU0lHVEVSTQogCisjaWZuZGVmIEVXT1VMREJMT0NLCiAjZGVmaW5lIEVXT1VMREJMT0NLIEVBR0FJTgorI2VuZGlmCiAjZGVmaW5lIFNIVVRfV1IgU0RfU0VORAogCiAjZGVmaW5lIFNJR0hVUCAxCkBAIC00Niw4ICs0OCwxMiBAQAogI2RlZmluZSBGX1NFVEZEIDIKICNkZWZpbmUgRkRfQ0xPRVhFQyAweDEKIAorI2lmbmRlZiBFQUZOT1NVUFBPUlQKICNkZWZpbmUgRUFGTk9TVVBQT1JUIFdTQUVBRk5PU1VQUE9SVAorI2VuZGlmCisjaWZuZGVmIEVDT05OQUJPUlRFRAogI2RlZmluZSBFQ09OTkFCT1JURUQgV1NBRUNPTk5BQk9SVEVECisjZW5kaWYKIAogc3RydWN0IHBhc3N3ZCB7CiAJY2hhciAqcHdfbmFtZTsKQEAgLTI1OCwxOSArMjY0LDM1IEBACiAJcmV0dXJuIDA7CiB9CiAKLS8qIFVzZSBtaW5nd19sc3RhdCgpIGluc3RlYWQgb2YgbHN0YXQoKS9zdGF0KCkgYW5kCi0gKiBtaW5nd19mc3RhdCgpIGluc3RlYWQgb2YgZnN0YXQoKSBvbiBXaW5kb3dzLgorLyoKKyAqIFVzZSBtaW5ndyBzcGVjaWZpYyBzdGF0KCkvbHN0YXQoKS9mc3RhdCgpIGltcGxlbWVudGF0aW9ucyBvbiBXaW5kb3dzLgogICovCiAjZGVmaW5lIG9mZl90IG9mZjY0X3QKICNkZWZpbmUgbHNlZWsgX2xzZWVraTY0Ci0jaWZuZGVmIEFMUkVBRFlfREVDTEFSRURfU1RBVF9GVU5DUworCisvKiB1c2Ugc3RydWN0IHN0YXQgd2l0aCA2NCBiaXQgc3Rfc2l6ZSAqLworI2lmZGVmIHN0YXQKKyN1bmRlZiBzdGF0CisjZW5kaWYKICNkZWZpbmUgc3RhdCBfc3RhdGk2NAogaW50IG1pbmd3X2xzdGF0KGNvbnN0IGNoYXIgKmZpbGVfbmFtZSwgc3RydWN0IHN0YXQgKmJ1Zik7CiBpbnQgbWluZ3dfc3RhdChjb25zdCBjaGFyICpmaWxlX25hbWUsIHN0cnVjdCBzdGF0ICpidWYpOwogaW50IG1pbmd3X2ZzdGF0KGludCBmZCwgc3RydWN0IHN0YXQgKmJ1Zik7CisjaWZkZWYgZnN0YXQKKyN1bmRlZiBmc3RhdAorI2VuZGlmCiAjZGVmaW5lIGZzdGF0IG1pbmd3X2ZzdGF0CisjaWZkZWYgbHN0YXQKKyN1bmRlZiBsc3RhdAorI2VuZGlmCiAjZGVmaW5lIGxzdGF0IG1pbmd3X2xzdGF0Ci0jZGVmaW5lIF9zdGF0aTY0KHgseSkgbWluZ3dfc3RhdCh4LHkpCisKKyNpZm5kZWYgX3N0YXRpNjQKKyMgZGVmaW5lIF9zdGF0aTY0KHgseSkgbWluZ3dfc3RhdCh4LHkpCisjZWxpZiBkZWZpbmVkIChfVVNFXzMyQklUX1RJTUVfVCkKKyMgZGVmaW5lIF9zdGF0MzJpNjQoeCx5KSBtaW5nd19zdGF0KHgseSkKKyNlbHNlCisjIGRlZmluZSBfc3RhdDY0KHgseSkgbWluZ3dfc3RhdCh4LHkpCiAjZW5kaWYKIAogaW50IG1pbmd3X3V0aW1lKGNvbnN0IGNoYXIgKmZpbGVfbmFtZSwgY29uc3Qgc3RydWN0IHV0aW1idWYgKnRpbWVzKTsKQEAgLTMyMiw2ICszNDQsNyBAQAogI2RlZmluZSBmaW5kX2xhc3RfZGlyX3NlcCBtaW5nd19maW5kX2xhc3RfZGlyX3NlcAogI2RlZmluZSBQQVRIX1NFUCAnOycKICNkZWZpbmUgUFJJdU1BWCAiSTY0dSIKKyNkZWZpbmUgUFJJZDY0ICJJNjRkIgogCiB2b2lkIG1pbmd3X29wZW5faHRtbChjb25zdCBjaGFyICpwYXRoKTsKICNkZWZpbmUgb3Blbl9odG1sIG1pbmd3X29wZW5faHRtbApkaWZmIC0tZ2l0IGEvY29tcGF0L21zdmMuaCBiL2NvbXBhdC9tc3ZjLmgKaW5kZXggOTZiNmQ2MC4uNTgwYmI1NSAxMDA2NDQKLS0tIGEvY29tcGF0L21zdmMuaAorKysgYi9jb21wYXQvbXN2Yy5oCkBAIC0yNCwyMSArMjQsNiBAQAogCiAjdW5kZWYgRVJST1IKIAotLyogVXNlIG1pbmd3X2xzdGF0KCkgaW5zdGVhZCBvZiBsc3RhdCgpL3N0YXQoKSBhbmQgbWluZ3dfZnN0YXQoKSBpbnN0ZWFkCi0gKiBvZiBmc3RhdCgpLiBXZSBhZGQgdGhlIGRlY2xhcmF0aW9uIG9mIHRoZXNlIGZ1bmN0aW9ucyBoZXJlLCBzdXBwcmVzc2luZwotICogdGhlIGNvcnJlc3BvbmRpbmcgZGVjbGFyYXRpb25zIGluIG1pbmd3LmgsIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGUKLSAqIGFwcHJvcHJpYXRlIHN0cnVjdHVyZSB0eXBlIChhbmQgZnVuY3Rpb24pIG5hbWVzIGZyb20gdGhlIG1zdmMgaGVhZGVycy4KLSAqLwotI2RlZmluZSBzdGF0IF9zdGF0NjQKLWludCBtaW5nd19sc3RhdChjb25zdCBjaGFyICpmaWxlX25hbWUsIHN0cnVjdCBzdGF0ICpidWYpOwotaW50IG1pbmd3X2ZzdGF0KGludCBmZCwgc3RydWN0IHN0YXQgKmJ1Zik7Ci0jZGVmaW5lIGZzdGF0IG1pbmd3X2ZzdGF0Ci0jZGVmaW5lIGxzdGF0IG1pbmd3X2xzdGF0Ci0jZGVmaW5lIF9zdGF0NjQoeCx5KSBtaW5nd19sc3RhdCh4LHkpCi0jZGVmaW5lIEFMUkVBRFlfREVDTEFSRURfU1RBVF9GVU5DUwotCiAjaW5jbHVkZSAiY29tcGF0L21pbmd3LmgiCiAKLSN1bmRlZiBBTFJFQURZX0RFQ0xBUkVEX1NUQVRfRlVOQ1MKLQogI2VuZGlmCmRpZmYgLS1naXQgYS9jb21wYXQvbmVkbWFsbG9jL21hbGxvYy5jLmggYi9jb21wYXQvbmVkbWFsbG9jL21hbGxvYy5jLmgKaW5kZXggZWQ0ZjFmYS4uZjIxNmEyYSAxMDA2NDQKLS0tIGEvY29tcGF0L25lZG1hbGxvYy9tYWxsb2MuYy5oCisrKyBiL2NvbXBhdC9uZWRtYWxsb2MvbWFsbG9jLmMuaApAQCAtNDk5LDcgKzQ5OSw5IEBACiAjZW5kaWYgIC8qIFdJTjMyICovCiAjaWZkZWYgV0lOMzIKICNkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTgorI2lmbmRlZiBfV0lOMzJfV0lOTlQKICNkZWZpbmUgX1dJTjMyX1dJTk5UIDB4NDAzCisjZW5kaWYKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjZGVmaW5lIEhBVkVfTU1BUCAxCiAjZGVmaW5lIEhBVkVfTU9SRUNPUkUgMApkaWZmIC0tZ2l0IGEvY29tcGF0L3BvbGwvcG9sbC5jIGIvY29tcGF0L3BvbGwvcG9sbC5jCmluZGV4IDQ0MTAzMTAuLjMxMTYzZjIgMTAwNjQ0Ci0tLSBhL2NvbXBhdC9wb2xsL3BvbGwuYworKysgYi9jb21wYXQvcG9sbC9wb2xsLmMKQEAgLTM5LDcgKzM5LDcgQEAKIAogI2lmIChkZWZpbmVkIF9XSU4zMiB8fCBkZWZpbmVkIF9fV0lOMzJfXykgJiYgISBkZWZpbmVkIF9fQ1lHV0lOX18KICMgZGVmaW5lIFdJTjMyX05BVElWRQotIyBpZiBkZWZpbmVkIChfTVNDX1ZFUikKKyMgaWYgZGVmaW5lZCAoX01TQ19WRVIpICYmICFkZWZpbmVkKF9XSU4zMl9XSU5OVCkKICMgIGRlZmluZSBfV0lOMzJfV0lOTlQgMHgwNTAyCiAjIGVuZGlmCiAjIGluY2x1ZGUgPHdpbnNvY2syLmg+CmRpZmYgLS1naXQgYS9jb21wYXQvcHJlY29tcG9zZV91dGY4LmMgYi9jb21wYXQvcHJlY29tcG9zZV91dGY4LmMKaW5kZXggNzk4MGFiZC4uOTVmZTg0OSAxMDA2NDQKLS0tIGEvY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jCisrKyBiL2NvbXBhdC9wcmVjb21wb3NlX3V0ZjguYwpAQCAtNDgsMTEgKzQ4LDggQEAKIAlpZiAob3V0cHV0X2ZkID49IDApIHsKIAkJY2xvc2Uob3V0cHV0X2ZkKTsKIAkJc3RyY3B5KHBhdGggKyBsZW4sIGF1bWxfbmZkKTsKLQkJLyogSW5kaWNhdGUgdG8gdGhlIHVzZXIsIHRoYXQgd2UgY2FuIGNvbmZpZ3VyZSBpdCB0byB0cnVlICovCi0JCWlmICghYWNjZXNzKHBhdGgsIFJfT0spKQotCQkJZ2l0X2NvbmZpZ19zZXQoImNvcmUucHJlY29tcG9zZXVuaWNvZGUiLCAiZmFsc2UiKTsKLQkJLyogVG8gYmUgYmFja3dhcmQgY29tcGF0aWJsZSwgc2V0IHByZWNvbXBvc2VkX3VuaWNvZGUgdG8gMCAqLwotCQlwcmVjb21wb3NlZF91bmljb2RlID0gMDsKKwkJcHJlY29tcG9zZWRfdW5pY29kZSA9IGFjY2VzcyhwYXRoLCBSX09LKSA/IDAgOiAxOworCQlnaXRfY29uZmlnX3NldCgiY29yZS5wcmVjb21wb3NldW5pY29kZSIsIHByZWNvbXBvc2VkX3VuaWNvZGUgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKIAkJc3RyY3B5KHBhdGggKyBsZW4sIGF1bWxfbmZjKTsKIAkJaWYgKHVubGluayhwYXRoKSkKIAkJCWRpZV9lcnJubyhfKCJmYWlsZWQgdG8gdW5saW5rICclcyciKSwgcGF0aCk7CmRpZmYgLS1naXQgYS9jb21wYXQvcmVnZXgvcmVnY29tcC5jIGIvY29tcGF0L3JlZ2V4L3JlZ2NvbXAuYwppbmRleCBiMmM1ZDQ2Li4wNmYzMDg4IDEwMDY0NAotLS0gYS9jb21wYXQvcmVnZXgvcmVnY29tcC5jCisrKyBiL2NvbXBhdC9yZWdleC9yZWdjb21wLmMKQEAgLTMzOSw3ICszMzksNyBAQAogCSAgICAgIHAgPSBidWY7CiAJICAgICAgKnArKyA9IGRmYS0+bm9kZXNbbm9kZV0ub3ByLmM7CiAJICAgICAgd2hpbGUgKCsrbm9kZSA8IGRmYS0+bm9kZXNfbGVuCi0JCSAgICAgJiYJZGZhLT5ub2Rlc1tub2RlXS50eXBlID09IENIQVJBQ1RFUgorCQkgICAgICYmIGRmYS0+bm9kZXNbbm9kZV0udHlwZSA9PSBDSEFSQUNURVIKIAkJICAgICAmJiBkZmEtPm5vZGVzW25vZGVdLm1iX3BhcnRpYWwpCiAJCSpwKysgPSBkZmEtPm5vZGVzW25vZGVdLm9wci5jOwogCSAgICAgIG1lbXNldCAoJnN0YXRlLCAnXDAnLCBzaXplb2YgKHN0YXRlKSk7CmRpZmYgLS1naXQgYS9jb25maWcuYyBiL2NvbmZpZy5jCmluZGV4IDlmOWJmMGMuLmUxZDY2YTEgMTAwNjQ0Ci0tLSBhL2NvbmZpZy5jCisrKyBiL2NvbmZpZy5jCkBAIC00NjgsNyArNDY4LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBnaXRfcGFyc2VfbG9uZyhjb25zdCBjaGFyICp2YWx1ZSwgbG9uZyAqcmV0KQorc3RhdGljIGludCBnaXRfcGFyc2Vfc2lnbmVkKGNvbnN0IGNoYXIgKnZhbHVlLCBpbnRtYXhfdCAqcmV0LCBpbnRtYXhfdCBtYXgpCiB7CiAJaWYgKHZhbHVlICYmICp2YWx1ZSkgewogCQljaGFyICplbmQ7CkBAIC00ODAsMjEgKzQ4MCwyNSBAQAogCQl2YWwgPSBzdHJ0b2ltYXgodmFsdWUsICZlbmQsIDApOwogCQlpZiAoZXJybm8gPT0gRVJBTkdFKQogCQkJcmV0dXJuIDA7Ci0JCWlmICghcGFyc2VfdW5pdF9mYWN0b3IoZW5kLCAmZmFjdG9yKSkKKwkJaWYgKCFwYXJzZV91bml0X2ZhY3RvcihlbmQsICZmYWN0b3IpKSB7CisJCQllcnJubyA9IEVJTlZBTDsKIAkJCXJldHVybiAwOworCQl9CiAJCXV2YWwgPSBhYnModmFsKTsKIAkJdXZhbCAqPSBmYWN0b3I7Ci0JCWlmICgodXZhbCA+IG1heGltdW1fc2lnbmVkX3ZhbHVlX29mX3R5cGUobG9uZykpIHx8Ci0JCSAgICAoYWJzKHZhbCkgPiB1dmFsKSkKKwkJaWYgKHV2YWwgPiBtYXggfHwgYWJzKHZhbCkgPiB1dmFsKSB7CisJCQllcnJubyA9IEVSQU5HRTsKIAkJCXJldHVybiAwOworCQl9CiAJCXZhbCAqPSBmYWN0b3I7CiAJCSpyZXQgPSB2YWw7CiAJCXJldHVybiAxOwogCX0KKwllcnJubyA9IEVJTlZBTDsKIAlyZXR1cm4gMDsKIH0KIAotaW50IGdpdF9wYXJzZV91bG9uZyhjb25zdCBjaGFyICp2YWx1ZSwgdW5zaWduZWQgbG9uZyAqcmV0KQorc3RhdGljIGludCBnaXRfcGFyc2VfdW5zaWduZWQoY29uc3QgY2hhciAqdmFsdWUsIHVpbnRtYXhfdCAqcmV0LCB1aW50bWF4X3QgbWF4KQogewogCWlmICh2YWx1ZSAmJiAqdmFsdWUpIHsKIAkJY2hhciAqZW5kOwpAQCAtNTA2LDI5ICs1MTAsNzUgQEAKIAkJaWYgKGVycm5vID09IEVSQU5HRSkKIAkJCXJldHVybiAwOwogCQlvbGR2YWwgPSB2YWw7Ci0JCWlmICghcGFyc2VfdW5pdF9mYWN0b3IoZW5kLCAmdmFsKSkKKwkJaWYgKCFwYXJzZV91bml0X2ZhY3RvcihlbmQsICZ2YWwpKSB7CisJCQllcnJubyA9IEVJTlZBTDsKIAkJCXJldHVybiAwOwotCQlpZiAoKHZhbCA+IG1heGltdW1fdW5zaWduZWRfdmFsdWVfb2ZfdHlwZShsb25nKSkgfHwKLQkJICAgIChvbGR2YWwgPiB2YWwpKQorCQl9CisJCWlmICh2YWwgPiBtYXggfHwgb2xkdmFsID4gdmFsKSB7CisJCQllcnJubyA9IEVSQU5HRTsKIAkJCXJldHVybiAwOworCQl9CiAJCSpyZXQgPSB2YWw7CiAJCXJldHVybiAxOwogCX0KKwllcnJubyA9IEVJTlZBTDsKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgZGllX2JhZF9jb25maWcoY29uc3QgY2hhciAqbmFtZSkKK3N0YXRpYyBpbnQgZ2l0X3BhcnNlX2ludChjb25zdCBjaGFyICp2YWx1ZSwgaW50ICpyZXQpCiB7CisJaW50bWF4X3QgdG1wOworCWlmICghZ2l0X3BhcnNlX3NpZ25lZCh2YWx1ZSwgJnRtcCwgbWF4aW11bV9zaWduZWRfdmFsdWVfb2ZfdHlwZShpbnQpKSkKKwkJcmV0dXJuIDA7CisJKnJldCA9IHRtcDsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBnaXRfcGFyc2VfaW50NjQoY29uc3QgY2hhciAqdmFsdWUsIGludDY0X3QgKnJldCkKK3sKKwlpbnRtYXhfdCB0bXA7CisJaWYgKCFnaXRfcGFyc2Vfc2lnbmVkKHZhbHVlLCAmdG1wLCBtYXhpbXVtX3NpZ25lZF92YWx1ZV9vZl90eXBlKGludDY0X3QpKSkKKwkJcmV0dXJuIDA7CisJKnJldCA9IHRtcDsKKwlyZXR1cm4gMTsKK30KKworaW50IGdpdF9wYXJzZV91bG9uZyhjb25zdCBjaGFyICp2YWx1ZSwgdW5zaWduZWQgbG9uZyAqcmV0KQoreworCXVpbnRtYXhfdCB0bXA7CisJaWYgKCFnaXRfcGFyc2VfdW5zaWduZWQodmFsdWUsICZ0bXAsIG1heGltdW1fdW5zaWduZWRfdmFsdWVfb2ZfdHlwZShsb25nKSkpCisJCXJldHVybiAwOworCSpyZXQgPSB0bXA7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyB2b2lkIGRpZV9iYWRfbnVtYmVyKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCWNvbnN0IGNoYXIgKnJlYXNvbiA9IGVycm5vID09IEVSQU5HRSA/CisJCQkgICAgICJvdXQgb2YgcmFuZ2UiIDoKKwkJCSAgICAgImludmFsaWQgdW5pdCI7CisJaWYgKCF2YWx1ZSkKKwkJdmFsdWUgPSAiIjsKKwogCWlmIChjZiAmJiBjZi0+bmFtZSkKLQkJZGllKCJiYWQgY29uZmlnIHZhbHVlIGZvciAnJXMnIGluICVzIiwgbmFtZSwgY2YtPm5hbWUpOwotCWRpZSgiYmFkIGNvbmZpZyB2YWx1ZSBmb3IgJyVzJyIsIG5hbWUpOworCQlkaWUoImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzOiAlcyIsCisJCSAgICB2YWx1ZSwgbmFtZSwgY2YtPm5hbWUsIHJlYXNvbik7CisJZGllKCJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJzogJXMiLCB2YWx1ZSwgbmFtZSwgcmVhc29uKTsKIH0KIAogaW50IGdpdF9jb25maWdfaW50KGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQogewotCWxvbmcgcmV0ID0gMDsKLQlpZiAoIWdpdF9wYXJzZV9sb25nKHZhbHVlLCAmcmV0KSkKLQkJZGllX2JhZF9jb25maWcobmFtZSk7CisJaW50IHJldDsKKwlpZiAoIWdpdF9wYXJzZV9pbnQodmFsdWUsICZyZXQpKQorCQlkaWVfYmFkX251bWJlcihuYW1lLCB2YWx1ZSk7CisJcmV0dXJuIHJldDsKK30KKworaW50NjRfdCBnaXRfY29uZmlnX2ludDY0KGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCWludDY0X3QgcmV0OworCWlmICghZ2l0X3BhcnNlX2ludDY0KHZhbHVlLCAmcmV0KSkKKwkJZGllX2JhZF9udW1iZXIobmFtZSwgdmFsdWUpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTUzNiw3ICs1ODYsNyBAQAogewogCXVuc2lnbmVkIGxvbmcgcmV0OwogCWlmICghZ2l0X3BhcnNlX3Vsb25nKHZhbHVlLCAmcmV0KSkKLQkJZGllX2JhZF9jb25maWcobmFtZSk7CisJCWRpZV9iYWRfbnVtYmVyKG5hbWUsIHZhbHVlKTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC01NTksMTAgKzYwOSwxMCBAQAogCiBpbnQgZ2l0X2NvbmZpZ19tYXliZV9ib29sKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQogewotCWxvbmcgdiA9IGdpdF9jb25maWdfbWF5YmVfYm9vbF90ZXh0KG5hbWUsIHZhbHVlKTsKKwlpbnQgdiA9IGdpdF9jb25maWdfbWF5YmVfYm9vbF90ZXh0KG5hbWUsIHZhbHVlKTsKIAlpZiAoMCA8PSB2KQogCQlyZXR1cm4gdjsKLQlpZiAoZ2l0X3BhcnNlX2xvbmcodmFsdWUsICZ2KSkKKwlpZiAoZ2l0X3BhcnNlX2ludCh2YWx1ZSwgJnYpKQogCQlyZXR1cm4gISF2OwogCXJldHVybiAtMTsKIH0KZGlmZiAtLWdpdCBhL2NvbmZpZy5tYWsudW5hbWUgYi9jb25maWcubWFrLnVuYW1lCmluZGV4IDdkNjE1MzEuLjgyZDU0OWUgMTAwNjQ0Ci0tLSBhL2NvbmZpZy5tYWsudW5hbWUKKysrIGIvY29uZmlnLm1hay51bmFtZQpAQCAtMzM5LDYgKzMzOSw3IEBACiAJT0JKRUNUX0NSRUFUSU9OX1VTRVNfUkVOQU1FUyA9IFVuZm9ydHVuYXRlbHlOZWVkc1RvCiAJTk9fUkVHRVggPSBZZXNQbGVhc2UKIAlOT19DVVJMID0gWWVzUGxlYXNlCisJTk9fR0VUVEVYVCA9IFllc1BsZWFzZQogCU5PX1BZVEhPTiA9IFllc1BsZWFzZQogCUJMS19TSEExID0gWWVzUGxlYXNlCiAJRVRBR1NfVEFSR0VUID0gRVRBR1MKQEAgLTQ5OSw3ICs1MDAsNyBAQAogCU5PX0lORVRfTlRPUCA9IFllc1BsZWFzZQogCU5PX1BPU0lYX0dPT0RJRVMgPSBVbmZvcnR1bmF0ZWx5WWVzCiAJREVGQVVMVF9IRUxQX0ZPUk1BVCA9IGh0bWwKLQlDT01QQVRfQ0ZMQUdTICs9IC1EX19VU0VfTUlOR1dfQUNDRVNTIC1ETk9HREkgLUljb21wYXQgLUljb21wYXQvd2luMzIKKwlDT01QQVRfQ0ZMQUdTICs9IC1EX19VU0VfTUlOR1dfQUNDRVNTIC1EX1VTRV8zMkJJVF9USU1FX1QgLUROT0dESSAtSWNvbXBhdCAtSWNvbXBhdC93aW4zMgogCUNPTVBBVF9DRkxBR1MgKz0gLURTVFJJUF9FWFRFTlNJT049XCIuZXhlXCIKIAlDT01QQVRfT0JKUyArPSBjb21wYXQvbWluZ3cubyBjb21wYXQvd2luYW5zaS5vIFwKIAkJY29tcGF0L3dpbjMyL3B0aHJlYWQubyBjb21wYXQvd2luMzIvc3lzbG9nLm8gXApkaWZmIC0tZ2l0IGEvY29ubmVjdC5jIGIvY29ubmVjdC5jCmluZGV4IDU1M2E4MGMuLjA2ZTg4YjAgMTAwNjQ0Ci0tLSBhL2Nvbm5lY3QuYworKysgYi9jb25uZWN0LmMKQEAgLTUsNiArNSw3IEBACiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAjaW5jbHVkZSAicmVtb3RlLmgiCisjaW5jbHVkZSAiY29ubmVjdC5oIgogI2luY2x1ZGUgInVybC5oIgogI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCiAKQEAgLTYxMiw3ICs2MTMsNyBAQAogCXBhdGggPSBzdHJjaHIoZW5kLCBjKTsKIAlpZiAocGF0aCAmJiAhaGFzX2Rvc19kcml2ZV9wcmVmaXgoZW5kKSkgewogCQlpZiAoYyA9PSAnOicpIHsKLQkJCWlmIChwYXRoIDwgc3RyY2hybnVsKGhvc3QsICcvJykpIHsKKwkJCWlmIChob3N0ICE9IHVybCB8fCBwYXRoIDwgc3RyY2hybnVsKGhvc3QsICcvJykpIHsKIAkJCQlwcm90b2NvbCA9IFBST1RPX1NTSDsKIAkJCQkqcGF0aCsrID0gJ1wwJzsKIAkJCX0gZWxzZSAvKiAnLycgaW4gdGhlIGhvc3QgcGFydCwgYXNzdW1lIGxvY2FsIHBhdGggKi8KZGlmZiAtLWdpdCBhL2Nvbm5lY3QuaCBiL2Nvbm5lY3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NGZiN2RiCi0tLSAvZGV2L251bGwKKysrIGIvY29ubmVjdC5oCkBAIC0wLDAgKzEsMTIgQEAKKyNpZm5kZWYgQ09OTkVDVF9ICisjZGVmaW5lIENPTk5FQ1RfSAorCisjZGVmaW5lIENPTk5FQ1RfVkVSQk9TRSAgICAgICAoMXUgPDwgMCkKK2V4dGVybiBzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqZ2l0X2Nvbm5lY3QoaW50IGZkWzJdLCBjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNoYXIgKnByb2csIGludCBmbGFncyk7CitleHRlcm4gaW50IGZpbmlzaF9jb25uZWN0KHN0cnVjdCBjaGlsZF9wcm9jZXNzICpjb25uKTsKK2V4dGVybiBpbnQgZ2l0X2Nvbm5lY3Rpb25faXNfc29ja2V0KHN0cnVjdCBjaGlsZF9wcm9jZXNzICpjb25uKTsKK2V4dGVybiBpbnQgc2VydmVyX3N1cHBvcnRzKGNvbnN0IGNoYXIgKmZlYXR1cmUpOworZXh0ZXJuIGludCBwYXJzZV9mZWF0dXJlX3JlcXVlc3QoY29uc3QgY2hhciAqZmVhdHVyZXMsIGNvbnN0IGNoYXIgKmZlYXR1cmUpOworZXh0ZXJuIGNvbnN0IGNoYXIgKnNlcnZlcl9mZWF0dXJlX3ZhbHVlKGNvbnN0IGNoYXIgKmZlYXR1cmUsIGludCAqbGVuX3JldCk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvY29udHJpYi9jaWFib3QvSU5TVEFMTCBiL2NvbnRyaWIvY2lhYm90L0lOU1RBTEwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyMjI5NjEuLjAwMDAwMDAKLS0tIGEvY29udHJpYi9jaWFib3QvSU5TVEFMTAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLT0gSW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucyA9Ci0KLVR3byBzY3JpcHRzIGFyZSBpbmNsdWRlZC4gIFRoZSBQeXRob24gb25lIChjaWFib3QucHkpIGlzIGZhc3RlciBhbmQKLW1vcmUgY2FwYWJsZTsgdGhlIHNoZWxsIG9uZSAoY2lhYm90LnNoKSBpcyBhIGZhbGxiYWNrIGluIGNhc2UgUHl0aG9uCi1naXZlcyB5b3VyIGdpdCBob3N0aW5nIHNpdGUgaW5kaWdlc3Rpb24uIChJIGtub3cgb2Ygbm8gc3VjaCBzaXRlcy4pCi0KLUl0IGlzIG5vIGxvbmdlciBuZWNlc3NhcnkgdG8gbW9kaWZ5IHRoZSBzY3JpcHQgaW4gb3JkZXIgdG8gcHV0IGl0Ci1pbiBwbGFjZTsgaW4gZmFjdCwgdGhpcyBpcyBub3cgZGlzY291cmFnZWQuIEl0IGlzIGVudGlyZWx5Ci1jb25maWd1cmFibGUgd2l0aCB0aGUgZm9sbG93aW5nIGdpdCBjb25maWcgdmFyaWFibGVzOgotCi1jaWFib3QucHJvamVjdCA9IG5hbWUgb2YgdGhlIHByb2plY3QKLWNpYWJvdC5yZXBvID0gbmFtZSBvZiB0aGUgcHJvamVjdCByZXBvIGZvciBnaXR3ZWIvY2dpdCBwdXJwb3NlcwotY2lhYm90LnhtbHJwYyAgPSBpZiB0cnVlLCBzaGlwIG5vdGlmaWNhdGlvbnMgdmlhIFhNTC1SUEMKLWNpYWJvdC5yZXZmb3JtYXQgPSBmb3JtYXQgaW4gd2hpY2ggdGhlIHJldmlzaW9uIGlzIHNob3duCi0KLVRoZSByZXZmb3JtYXQgdmFyaWFibGUgbWF5IGhhdmUgdGhlIGZvbGxvd2luZyB2YWx1ZXMKLXJhdyAtPiBmdWxsIGhleCBJRCBvZiBjb21taXQKLXNob3J0IC0+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+Ci0gIDwvYm9keT4KLTwvbWVzc2FnZT4iCi0KLWlmIFsgIiRtb2RlIiA9ICJkdW1waXQiIF0KLXRoZW4KLSAgICBzZW5kbWFpbD1jYXQKLWZpCi0KLSR7c2VuZG1haWx9IDw8IEVPTQotTWVzc2FnZS1JRDogPCR7bWVyZ2VkfS4ke2F1dGhvcn1AJHtwcm9qZWN0fT4KLUZyb206ICR7ZnJvbX0KLVRvOiAke3RvfQotQ29udGVudC10eXBlOiB0ZXh0L3htbAotU3ViamVjdDogRGVsaXZlclhNTAotJHtvdXR9Ci1FT00KLQotIyB2aW06IHNldCB0dz03MCA6CmRpZmYgLS1naXQgYS9jb250cmliL2NvbXBsZXRpb24vZ2l0LWNvbXBsZXRpb24uYmFzaCBiL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi5iYXNoCmluZGV4IGUxYjczMTMuLmRiYTNjMTUgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi5iYXNoCisrKyBiL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi5iYXNoCkBAIC05MDEsNyArOTAxLDcgQEAKIAllc2FjCiAKIAkjIFhYWCBzaG91bGQgd2UgY2hlY2sgZm9yIC0tdXBkYXRlIGFuZCAtLWFsbCBvcHRpb25zID8KLQlfX2dpdF9jb21wbGV0ZV9pbmRleF9maWxlICItLW90aGVycyAtLW1vZGlmaWVkIgorCV9fZ2l0X2NvbXBsZXRlX2luZGV4X2ZpbGUgIi0tb3RoZXJzIC0tbW9kaWZpZWQgLS1kaXJlY3RvcnkgLS1uby1lbXB0eS1kaXJlY3RvcnkiCiB9CiAKIF9naXRfYXJjaGl2ZSAoKQpAQCAtMTA2Myw3ICsxMDYzLDcgQEAKIAllc2FjCiAKIAkjIFhYWCBzaG91bGQgd2UgY2hlY2sgZm9yIC14IG9wdGlvbiA/Ci0JX19naXRfY29tcGxldGVfaW5kZXhfZmlsZSAiLS1vdGhlcnMiCisJX19naXRfY29tcGxldGVfaW5kZXhfZmlsZSAiLS1vdGhlcnMgLS1kaXJlY3RvcnkiCiB9CiAKIF9naXRfY2xvbmUgKCkKQEAgLTExODgsNyArMTE4OCw3IEBACiAJX19naXRfY29tcGxldGVfcmV2bGlzdF9maWxlCiB9CiAKLV9fZ2l0X21lcmdldG9vbHNfY29tbW9uPSJkaWZmdXNlIGVjbWVyZ2UgZW1lcmdlIGtkaWZmMyBtZWxkIG9wZW5kaWZmCitfX2dpdF9tZXJnZXRvb2xzX2NvbW1vbj0iZGlmZnVzZSBkaWZmbWVyZ2UgZWNtZXJnZSBlbWVyZ2Uga2RpZmYzIG1lbGQgb3BlbmRpZmYKIAkJCXRrZGlmZiB2aW1kaWZmIGd2aW1kaWZmIHh4ZGlmZiBhcmF4aXMgcDRtZXJnZSBiYzMgY29kZWNvbXBhcmUKICIKIApkaWZmIC0tZ2l0IGEvY29udHJpYi9jb21wbGV0aW9uL2dpdC1wcm9tcHQuc2ggYi9jb250cmliL2NvbXBsZXRpb24vZ2l0LXByb21wdC5zaAppbmRleCA5OTg3MjJjLi43YjczMmQyIDEwMDY0NAotLS0gYS9jb250cmliL2NvbXBsZXRpb24vZ2l0LXByb21wdC5zaAorKysgYi9jb250cmliL2NvbXBsZXRpb24vZ2l0LXByb21wdC5zaApAQCAtNjAsNiArNjAsNyBAQAogIyBvZiB2YWx1ZXM6CiAjCiAjICAgICB2ZXJib3NlICAgICAgIHNob3cgbnVtYmVyIG9mIGNvbW1pdHMgYWhlYWQvYmVoaW5kICgrLy0pIHVwc3RyZWFtCisjICAgICBuYW1lICAgICAgICAgIGlmIHZlcmJvc2UsIHRoZW4gYWxzbyBzaG93IHRoZSB1cHN0cmVhbSBhYmJyZXYgbmFtZQogIyAgICAgbGVnYWN5ICAgICAgICBkb24ndCB1c2UgdGhlICctLWNvdW50JyBvcHRpb24gYXZhaWxhYmxlIGluIHJlY2VudAogIyAgICAgICAgICAgICAgICAgICB2ZXJzaW9ucyBvZiBnaXQtcmV2LWxpc3QKICMgICAgIGdpdCAgICAgICAgICAgYWx3YXlzIGNvbXBhcmUgSEVBRCB0byBAe3Vwc3RyZWFtfQpAQCAtOTQsNyArOTUsNyBAQAogewogCWxvY2FsIGtleSB2YWx1ZQogCWxvY2FsIHN2bl9yZW1vdGUgc3ZuX3VybF9wYXR0ZXJuIGNvdW50IG4KLQlsb2NhbCB1cHN0cmVhbT1naXQgbGVnYWN5PSIiIHZlcmJvc2U9IiIKKwlsb2NhbCB1cHN0cmVhbT1naXQgbGVnYWN5PSIiIHZlcmJvc2U9IiIgbmFtZT0iIgogCiAJc3ZuX3JlbW90ZT0oKQogCSMgZ2V0IHNvbWUgY29uZmlnIG9wdGlvbnMgZnJvbSBnaXQtY29uZmlnCkBAIC0xMjIsNiArMTIzLDcgQEAKIAkJZ2l0fHN2bikgdXBzdHJlYW09IiRvcHRpb24iIDs7CiAJCXZlcmJvc2UpIHZlcmJvc2U9MSA7OwogCQlsZWdhY3kpICBsZWdhY3k9MSAgOzsKKwkJbmFtZSkgICAgbmFtZT0xIDs7CiAJCWVzYWMKIAlkb25lCiAKQEAgLTIwNCw2ICsyMDYsOSBAQAogCQkqKQkgICAgIyBkaXZlcmdlZCBmcm9tIHVwc3RyZWFtCiAJCQlwPSIgdSske2NvdW50IyoJfS0ke2NvdW50JQkqfSIgOzsKIAkJZXNhYworCQlpZiBbWyAtbiAiJGNvdW50IiAmJiAtbiAiJG5hbWUiIF1dOyB0aGVuCisJCQlwPSIkcCAkKGdpdCByZXYtcGFyc2UgLS1hYmJyZXYtcmVmICIkdXBzdHJlYW0iIDI+L2Rldi9udWxsKSIKKwkJZmkKIAlmaQogCiB9CmRpZmYgLS1naXQgYS9jb250cmliL2NvbnRhY3RzL2dpdC1jb250YWN0cyBiL2NvbnRyaWIvY29udGFjdHMvZ2l0LWNvbnRhY3RzCmluZGV4IGQ4MGY3ZDEuLjQyOGNjMWEgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvY29udGFjdHMvZ2l0LWNvbnRhY3RzCisrKyBiL2NvbnRyaWIvY29udGFjdHMvZ2l0LWNvbnRhY3RzCkBAIC01OSwxMSArNTksMTEgQEAKIH0KIAogc3ViIGdldF9ibGFtZSB7Ci0JbXkgKCRjb21taXRzLCAkc291cmNlLCAkc3RhcnQsICRsZW4sICRmcm9tKSA9IEBfOwotCSRsZW4gPSAxIHVubGVzcyBkZWZpbmVkKCRsZW4pOwotCXJldHVybiBpZiAkbGVuID09IDA7CisJbXkgKCRjb21taXRzLCAkc291cmNlLCAkZnJvbSwgJHJhbmdlcykgPSBAXzsKKwlyZXR1cm4gdW5sZXNzIEAkcmFuZ2VzOwogCW9wZW4gbXkgJGYsICctfCcsCi0JCXF3KGdpdCBibGFtZSAtLXBvcmNlbGFpbiAtQyksICctTCcsICIkc3RhcnQsKyRsZW4iLAorCQlxdyhnaXQgYmxhbWUgLS1wb3JjZWxhaW4gLUMpLAorCQltYXAoeyItTCRfLT5bMF0sKyRfLT5bMV0ifSBAJHJhbmdlcyksCiAJCSctLXNpbmNlJywgJHNpbmNlLCAiJGZyb21eIiwgJy0tJywgJHNvdXJjZSBvciBkaWU7CiAJd2hpbGUgKDwkZj4pIHsKIAkJaWYgKC9eKFswLTlhLWZdezQwfSkgXGQrIFxkKyBcZCskLykgewpAQCAtNzYsOCArNzYsMTcgQEAKIAljbG9zZSAkZjsKIH0KIAorc3ViIGJsYW1lX3NvdXJjZXMgeworCW15ICgkc291cmNlcywgJGNvbW1pdHMpID0gQF87CisJZm9yIG15ICRzIChrZXlzICUkc291cmNlcykgeworCQlmb3IgbXkgJGlkIChrZXlzICV7JHNvdXJjZXMtPnskc319KSB7CisJCQlnZXRfYmxhbWUoJGNvbW1pdHMsICRzLCAkaWQsICRzb3VyY2VzLT57JHN9eyRpZH0pOworCQl9CisJfQorfQorCiBzdWIgc2Nhbl9wYXRjaGVzIHsKLQlteSAoJGNvbW1pdHMsICRpZCwgJGYpID0gQF87CisJbXkgKCRzb3VyY2VzLCAkaWQsICRmKSA9IEBfOwogCW15ICRzb3VyY2U7CiAJd2hpbGUgKDwkZj4pIHsKIAkJaWYgKC9eRnJvbSAoWzAtOWEtZl17NDB9KSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEkLykgewpAQCAtOTAsNyArOTksOCBAQAogCQl9IGVsc2lmICgvXi0tLSAvKSB7CiAJCQlkaWUgIkNhbm5vdCBwYXJzZSBodW5rIHNvdXJjZTogJF9cbiI7CiAJCX0gZWxzaWYgKC9eQEAgLShcZCspKD86LChcZCspKT8vICYmICRzb3VyY2UpIHsKLQkJCWdldF9ibGFtZSgkY29tbWl0cywgJHNvdXJjZSwgJDEsICQyLCAkaWQpOworCQkJbXkgJGxlbiA9IGRlZmluZWQoJDIpID8gJDIgOiAxOworCQkJcHVzaCBAeyRzb3VyY2VzLT57JHNvdXJjZX17JGlkfX0sIFskMSwgJGxlbl0gaWYgJGxlbjsKIAkJfQogCX0KIH0KQEAgLTE2MywxMyArMTczLDIwIEBACiAJfQogfQogCi1teSAlY29tbWl0czsKK215ICVzb3VyY2VzOwogZm9yIChAZmlsZXMpIHsKLQlzY2FuX3BhdGNoX2ZpbGUoXCVjb21taXRzLCAkXyk7CisJc2Nhbl9wYXRjaF9maWxlKFwlc291cmNlcywgJF8pOwogfQogaWYgKEByZXZfYXJncykgewotCXNjYW5fcmV2X2FyZ3MoXCVjb21taXRzLCBcQHJldl9hcmdzKQorCXNjYW5fcmV2X2FyZ3MoXCVzb3VyY2VzLCBcQHJldl9hcmdzKQogfQorCitteSAkdG9wbGV2ZWwgPSBgZ2l0IHJldi1wYXJzZSAtLXNob3ctdG9wbGV2ZWxgOworY2hvbXAgJHRvcGxldmVsOworY2hkaXIoJHRvcGxldmVsKSBvciBkaWUgImNoZGlyIGZhaWx1cmU6ICR0b3BsZXZlbDogJCFcbiI7CisKK215ICVjb21taXRzOworYmxhbWVfc291cmNlcyhcJXNvdXJjZXMsIFwlY29tbWl0cyk7CiBpbXBvcnRfY29tbWl0cyhcJWNvbW1pdHMpOwogCiBteSAkY29udGFjdHMgPSB7fTsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvY3JlZGVudGlhbC9nbm9tZS1rZXlyaW5nL01ha2VmaWxlIGIvY29udHJpYi9jcmVkZW50aWFsL2dub21lLWtleXJpbmcvTWFrZWZpbGUKaW5kZXggZTY1NjFkOC4uYzNjN2M5OCAxMDA2NDQKLS0tIGEvY29udHJpYi9jcmVkZW50aWFsL2dub21lLWtleXJpbmcvTWFrZWZpbGUKKysrIGIvY29udHJpYi9jcmVkZW50aWFsL2dub21lLWtleXJpbmcvTWFrZWZpbGUKQEAgLTgsOCArOCw4IEBACiAtaW5jbHVkZSAuLi8uLi8uLi9jb25maWcubWFrLmF1dG9nZW4KIC1pbmNsdWRlIC4uLy4uLy4uL2NvbmZpZy5tYWsKIAotSU5DUzo9JChzaGVsbCBwa2ctY29uZmlnIC0tY2ZsYWdzIGdub21lLWtleXJpbmctMSkKLUxJQlM6PSQoc2hlbGwgcGtnLWNvbmZpZyAtLWxpYnMgZ25vbWUta2V5cmluZy0xKQorSU5DUzo9JChzaGVsbCBwa2ctY29uZmlnIC0tY2ZsYWdzIGdub21lLWtleXJpbmctMSBnbGliLTIuMCkKK0xJQlM6PSQoc2hlbGwgcGtnLWNvbmZpZyAtLWxpYnMgZ25vbWUta2V5cmluZy0xIGdsaWItMi4wKQogCiBTUkNTOj0kKE1BSU4pLmMKIE9CSlM6PSQoU1JDUzouYz0ubykKZGlmZiAtLWdpdCBhL2NvbnRyaWIvY3JlZGVudGlhbC9nbm9tZS1rZXlyaW5nL2dpdC1jcmVkZW50aWFsLWdub21lLWtleXJpbmcuYyBiL2NvbnRyaWIvY3JlZGVudGlhbC9nbm9tZS1rZXlyaW5nL2dpdC1jcmVkZW50aWFsLWdub21lLWtleXJpbmcuYwppbmRleCBmMmNkZWZlLi42MzVjOTZiIDEwMDY0NAotLS0gYS9jb250cmliL2NyZWRlbnRpYWwvZ25vbWUta2V5cmluZy9naXQtY3JlZGVudGlhbC1nbm9tZS1rZXlyaW5nLmMKKysrIGIvY29udHJpYi9jcmVkZW50aWFsL2dub21lLWtleXJpbmcvZ2l0LWNyZWRlbnRpYWwtZ25vbWUta2V5cmluZy5jCkBAIC0yNSwxMSArMjUsMTA4IEBACiAKICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgPHN0ZGFyZy5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Z2xpYi5oPgogI2luY2x1ZGUgPGdub21lLWtleXJpbmcuaD4KIAorI2lmZGVmIEdOT01FX0tFWVJJTkdfREVGQVVMVAorCisgICAvKiBNb2Rlcm4gZ25vbWUta2V5cmluZyAqLworCisjaW5jbHVkZSA8Z25vbWUta2V5cmluZy1tZW1vcnkuaD4KKworI2Vsc2UKKworICAgLyoKKyAgICAqIFN1cHBvcnQgYW5jaWVudCBnbm9tZS1rZXlyaW5nLCBjaXJjLiBSSEVMIDUuWC4KKyAgICAqIEdOT01FX0tFWVJJTkdfREVGQVVMVCBzZWVtcyB0byBoYXZlIGJlZW4gaW50cm9kdWNlZCB3aXRoIEdub21lIDIuMjIsCisgICAgKiBhbmQgdGhlIG90aGVyIGZlYXR1cmVzIHJvdWdobHkgYXJvdW5kIEdub21lIDIuMjAsIDYgbW9udGhzIGJlZm9yZS4KKyAgICAqIFVidW50dSA4LjA0IHVzZWQgR25vbWUgMi4yMiAoSSB0aGluaykuICBOb3Qgc3VyZSBhbnkgZGlzdHJvIHVzZWQgMi4yMC4KKyAgICAqIFNvIHRoZSBleGlzdGVuY2Uvbm9uLWV4aXN0ZW5jZSBvZiBHTk9NRV9LRVlSSU5HX0RFRkFVTFQgc2VlbXMgbGlrZQorICAgICogYSBkZWNlbnQgdGhpbmcgdG8gdXNlIGFzIGFuIGluZGljYXRvci4KKyAgICAqLworCisjZGVmaW5lIEdOT01FX0tFWVJJTkdfREVGQVVMVCBOVUxMCisKKy8qCisgKiBhbmNpZW50IGdub21lLWtleXJpbmcgcmV0dXJucyBERU5JRUQgd2hlbiBhbiBlbnRyeSBpcyBub3QgZm91bmQuCisgKiBTZXR0aW5nIE5PX01BVENIIHRvIERFTklFRCB3aWxsIHByZXZlbnQgdXMgZnJvbSByZXBvcnRpbmcgREVOSUVECisgKiBlcnJvcnMgZHVyaW5nIGdldCBhbmQgZXJhc2Ugb3BlcmF0aW9ucywgYnV0IHdlIHdpbGwgc3RpbGwgcmVwb3J0CisgKiBERU5JRUQgZXJyb3JzIGR1cmluZyBhIHN0b3JlLgorICovCisjZGVmaW5lIEdOT01FX0tFWVJJTkdfUkVTVUxUX05PX01BVENIIEdOT01FX0tFWVJJTkdfUkVTVUxUX0RFTklFRAorCisjZGVmaW5lIGdub21lX2tleXJpbmdfbWVtb3J5X2FsbG9jIGdfbWFsbG9jCisjZGVmaW5lIGdub21lX2tleXJpbmdfbWVtb3J5X2ZyZWUgZ25vbWVfa2V5cmluZ19mcmVlX3Bhc3N3b3JkCisjZGVmaW5lIGdub21lX2tleXJpbmdfbWVtb3J5X3N0cmR1cCBnX3N0cmR1cAorCitzdGF0aWMgY29uc3QgY2hhciogZ25vbWVfa2V5cmluZ19yZXN1bHRfdG9fbWVzc2FnZShHbm9tZUtleXJpbmdSZXN1bHQgcmVzdWx0KQoreworCXN3aXRjaCAocmVzdWx0KSB7CisJY2FzZSBHTk9NRV9LRVlSSU5HX1JFU1VMVF9PSzoKKwkJcmV0dXJuICJPSyI7CisJY2FzZSBHTk9NRV9LRVlSSU5HX1JFU1VMVF9ERU5JRUQ6CisJCXJldHVybiAiRGVuaWVkIjsKKwljYXNlIEdOT01FX0tFWVJJTkdfUkVTVUxUX05PX0tFWVJJTkdfREFFTU9OOgorCQlyZXR1cm4gIk5vIEtleXJpbmcgRGFlbW9uIjsKKwljYXNlIEdOT01FX0tFWVJJTkdfUkVTVUxUX0FMUkVBRFlfVU5MT0NLRUQ6CisJCXJldHVybiAiQWxyZWFkeSBVbkxvY2tlZCI7CisJY2FzZSBHTk9NRV9LRVlSSU5HX1JFU1VMVF9OT19TVUNIX0tFWVJJTkc6CisJCXJldHVybiAiTm8gU3VjaCBLZXlyaW5nIjsKKwljYXNlIEdOT01FX0tFWVJJTkdfUkVTVUxUX0JBRF9BUkdVTUVOVFM6CisJCXJldHVybiAiQmFkIEFyZ3VtZW50cyI7CisJY2FzZSBHTk9NRV9LRVlSSU5HX1JFU1VMVF9JT19FUlJPUjoKKwkJcmV0dXJuICJJTyBFcnJvciI7CisJY2FzZSBHTk9NRV9LRVlSSU5HX1JFU1VMVF9DQU5DRUxMRUQ6CisJCXJldHVybiAiQ2FuY2VsbGVkIjsKKwljYXNlIEdOT01FX0tFWVJJTkdfUkVTVUxUX0FMUkVBRFlfRVhJU1RTOgorCQlyZXR1cm4gIkFscmVhZHkgRXhpc3RzIjsKKwlkZWZhdWx0OgorCQlyZXR1cm4gIlVua25vd24gRXJyb3IiOworCX0KK30KKworLyoKKyAqIFN1cHBvcnQgcmVhbGx5IGFuY2llbnQgZ25vbWUta2V5cmluZywgY2lyYy4gUkhFTCA0LlguCisgKiBKdXN0IGEgZ3Vlc3MgZm9yIHRoZSBHbGliIHZlcnNpb24uICBHbGliIDIuOCB3YXMgcm91Z2hseSBHbm9tZSAyLjEyID8KKyAqIFdoaWNoIHdhcyByZWxlYXNlZCB3aXRoIGdub21lLWtleXJpbmcgMC40LjMgPz8KKyAqLworI2lmIEdMSUJfTUFKT1JfVkVSU0lPTiA9PSAyICYmIEdMSUJfTUlOT1JfVkVSU0lPTiA8IDgKKworc3RhdGljIHZvaWQgZ25vbWVfa2V5cmluZ19kb25lX2NiKEdub21lS2V5cmluZ1Jlc3VsdCByZXN1bHQsIGdwb2ludGVyIHVzZXJfZGF0YSkKK3sKKwlncG9pbnRlciAqZGF0YSA9IChncG9pbnRlciopIHVzZXJfZGF0YTsKKwlpbnQgKmRvbmUgPSAoaW50KikgZGF0YVswXTsKKwlHbm9tZUtleXJpbmdSZXN1bHQgKnIgPSAoR25vbWVLZXlyaW5nUmVzdWx0KikgZGF0YVsxXTsKKworCSpyID0gcmVzdWx0OworCSpkb25lID0gMTsKK30KKworc3RhdGljIHZvaWQgd2FpdF9mb3JfcmVxdWVzdF9jb21wbGV0aW9uKGludCAqZG9uZSkKK3sKKwlHTWFpbkNvbnRleHQgKm1jID0gZ19tYWluX2NvbnRleHRfZGVmYXVsdCgpOworCXdoaWxlICghKmRvbmUpCisJCWdfbWFpbl9jb250ZXh0X2l0ZXJhdGlvbihtYywgVFJVRSk7Cit9CisKK3N0YXRpYyBHbm9tZUtleXJpbmdSZXN1bHQgZ25vbWVfa2V5cmluZ19pdGVtX2RlbGV0ZV9zeW5jKGNvbnN0IGNoYXIgKmtleXJpbmcsIGd1aW50MzIgaWQpCit7CisJaW50IGRvbmUgPSAwOworCUdub21lS2V5cmluZ1Jlc3VsdCByZXN1bHQ7CisJZ3BvaW50ZXIgZGF0YVtdID0geyAmZG9uZSwgJnJlc3VsdCB9OworCisJZ25vbWVfa2V5cmluZ19pdGVtX2RlbGV0ZShrZXlyaW5nLCBpZCwgZ25vbWVfa2V5cmluZ19kb25lX2NiLCBkYXRhLAorCQlOVUxMKTsKKworCXdhaXRfZm9yX3JlcXVlc3RfY29tcGxldGlvbigmZG9uZSk7CisKKwlyZXR1cm4gcmVzdWx0OworfQorCisjZW5kaWYKKyNlbmRpZgorCiAvKgogICogVGhpcyBjcmVkZW50aWFsIHN0cnVjdCBhbmQgQVBJIGlzIHNpbXBsaWZpZWQgZnJvbSBnaXQncyBjcmVkZW50aWFsLntoLGN9CiAgKi8KQEAgLTQ2LDExICsxNDMsNiBAQAogI2RlZmluZSBDUkVERU5USUFMX0lOSVQgXAogICB7IE5VTEwsTlVMTCwwLE5VTEwsTlVMTCxOVUxMIH0KIAotdm9pZCBjcmVkZW50aWFsX2luaXQoc3RydWN0IGNyZWRlbnRpYWwgKmMpOwotdm9pZCBjcmVkZW50aWFsX2NsZWFyKHN0cnVjdCBjcmVkZW50aWFsICpjKTsKLWludCAgY3JlZGVudGlhbF9yZWFkKHN0cnVjdCBjcmVkZW50aWFsICpjKTsKLXZvaWQgY3JlZGVudGlhbF93cml0ZShjb25zdCBzdHJ1Y3QgY3JlZGVudGlhbCAqYyk7Ci0KIHR5cGVkZWYgaW50ICgqY3JlZGVudGlhbF9vcF9jYikoc3RydWN0IGNyZWRlbnRpYWwqKTsKIAogc3RydWN0IGNyZWRlbnRpYWxfb3BlcmF0aW9uCkBAIC02Miw5NiArMTU0LDIxIEBACiAjZGVmaW5lIENSRURFTlRJQUxfT1BfRU5EIFwKICAgeyBOVUxMLE5VTEwgfQogCi0vKgotICogVGFibGUgd2l0aCBvcGVyYXRpb24gY2FsbGJhY2tzIGlzIGRlZmluZWQgaW4gY29uY3JldGUKLSAqIGNyZWRlbnRpYWwgaGVscGVyIGltcGxlbWVudGF0aW9uIGFuZCBjb250YWlucyBlbnRyaWVzCi0gKiBsaWtlIHsgImdldCIsIGZ1bmN0aW9uX3RvX2dldF9jcmVkZW50aWFsIH0gdGVybWluYXRlZAotICogYnkgQ1JFREVOVElBTF9PUF9FTkQuCi0gKi8KLXN0cnVjdCBjcmVkZW50aWFsX29wZXJhdGlvbiBjb25zdCBjcmVkZW50aWFsX2hlbHBlcl9vcHNbXTsKLQotLyogLS0tLS0tLS0tLS0tLS0tLSBjb21tb24gaGVscGVyIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLSAqLwotCi1zdGF0aWMgaW5saW5lIHZvaWQgZnJlZV9wYXNzd29yZChjaGFyICpwYXNzd29yZCkKLXsKLQljaGFyICpjID0gcGFzc3dvcmQ7Ci0JaWYgKCFwYXNzd29yZCkKLQkJcmV0dXJuOwotCi0Jd2hpbGUgKCpjKSAqYysrID0gJ1wwJzsKLQlmcmVlKHBhc3N3b3JkKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHdhcm5pbmcoY29uc3QgY2hhciAqZm10LCAuLi4pCi17Ci0JdmFfbGlzdCBhcDsKLQotCXZhX3N0YXJ0KGFwLCBmbXQpOwotCWZwcmludGYoc3RkZXJyLCAid2FybmluZzogIik7Ci0JdmZwcmludGYoc3RkZXJyLCBmbXQsIGFwKTsKLQlmcHJpbnRmKHN0ZGVyciwgIlxuIiApOwotCXZhX2VuZChhcCk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBlcnJvcihjb25zdCBjaGFyICpmbXQsIC4uLikKLXsKLQl2YV9saXN0IGFwOwotCi0JdmFfc3RhcnQoYXAsIGZtdCk7Ci0JZnByaW50ZihzdGRlcnIsICJlcnJvcjogIik7Ci0JdmZwcmludGYoc3RkZXJyLCBmbXQsIGFwKTsKLQlmcHJpbnRmKHN0ZGVyciwgIlxuIiApOwotCXZhX2VuZChhcCk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkaWUoY29uc3QgY2hhciAqZm10LCAuLi4pCi17Ci0JdmFfbGlzdCBhcDsKLQotCXZhX3N0YXJ0KGFwLGZtdCk7Ci0JZXJyb3IoZm10LCBhcCk7Ci0JdmFfZW5kKGFwKTsKLQlleGl0KEVYSVRfRkFJTFVSRSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkaWVfZXJybm8oaW50IGVycikKLXsKLQllcnJvcigiJXMiLCBzdHJlcnJvcihlcnIpKTsKLQlleGl0KEVYSVRfRkFJTFVSRSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgY2hhciAqeHN0cmR1cChjb25zdCBjaGFyICpzdHIpCi17Ci0JY2hhciAqcmV0ID0gc3RyZHVwKHN0cik7Ci0JaWYgKCFyZXQpCi0JCWRpZV9lcnJubyhlcnJubyk7Ci0KLQlyZXR1cm4gcmV0OwotfQotCiAvKiAtLS0tLS0tLS0tLS0tLS0tLSBHTk9NRSBLZXlyaW5nIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLSAqLwogCiAvKiBjcmVhdGUgYSBzcGVjaWFsIGtleXJpbmcgb3B0aW9uIHN0cmluZywgaWYgcGF0aCBpcyBnaXZlbiAqLwogc3RhdGljIGNoYXIqIGtleXJpbmdfb2JqZWN0KHN0cnVjdCBjcmVkZW50aWFsICpjKQogewotCWNoYXIqIG9iamVjdCA9IE5VTEw7Ci0KIAlpZiAoIWMtPnBhdGgpCi0JCXJldHVybiBvYmplY3Q7CisJCXJldHVybiBOVUxMOwogCi0Jb2JqZWN0ID0gKGNoYXIqKSBtYWxsb2Moc3RybGVuKGMtPmhvc3QpK3N0cmxlbihjLT5wYXRoKSs4KTsKLQlpZighb2JqZWN0KQotCQlkaWVfZXJybm8oZXJybm8pOworCWlmIChjLT5wb3J0KQorCQlyZXR1cm4gZ19zdHJkdXBfcHJpbnRmKCIlczolaGQvJXMiLCBjLT5ob3N0LCBjLT5wb3J0LCBjLT5wYXRoKTsKIAotCWlmKGMtPnBvcnQpCi0JCXNwcmludGYob2JqZWN0LCIlczolaGQvJXMiLGMtPmhvc3QsYy0+cG9ydCxjLT5wYXRoKTsKLQllbHNlCi0JCXNwcmludGYob2JqZWN0LCIlcy8lcyIsYy0+aG9zdCxjLT5wYXRoKTsKLQotCXJldHVybiBvYmplY3Q7CisJcmV0dXJuIGdfc3RyZHVwX3ByaW50ZigiJXMvJXMiLCBjLT5ob3N0LCBjLT5wYXRoKTsKIH0KIAotaW50IGtleXJpbmdfZ2V0KHN0cnVjdCBjcmVkZW50aWFsICpjKQorc3RhdGljIGludCBrZXlyaW5nX2dldChzdHJ1Y3QgY3JlZGVudGlhbCAqYykKIHsKIAljaGFyKiBvYmplY3QgPSBOVUxMOwogCUdMaXN0ICplbnRyaWVzOwpAQCAtMTczLDcgKzE5MCw3IEBACiAJCQkJYy0+cG9ydCwKIAkJCQkmZW50cmllcyk7CiAKLQlmcmVlKG9iamVjdCk7CisJZ19mcmVlKG9iamVjdCk7CiAKIAlpZiAocmVzdWx0ID09IEdOT01FX0tFWVJJTkdfUkVTVUxUX05PX01BVENIKQogCQlyZXR1cm4gRVhJVF9TVUNDRVNTOwpAQCAtMTgyLDE4ICsxOTksMTggQEAKIAkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKIAogCWlmIChyZXN1bHQgIT0gR05PTUVfS0VZUklOR19SRVNVTFRfT0spIHsKLQkJZXJyb3IoIiVzIixnbm9tZV9rZXlyaW5nX3Jlc3VsdF90b19tZXNzYWdlKHJlc3VsdCkpOworCQlnX2NyaXRpY2FsKCIlcyIsIGdub21lX2tleXJpbmdfcmVzdWx0X3RvX21lc3NhZ2UocmVzdWx0KSk7CiAJCXJldHVybiBFWElUX0ZBSUxVUkU7CiAJfQogCiAJLyogcGljayB0aGUgZmlyc3Qgb25lIGZyb20gdGhlIGxpc3QgKi8KIAlwYXNzd29yZF9kYXRhID0gKEdub21lS2V5cmluZ05ldHdvcmtQYXNzd29yZERhdGEgKikgZW50cmllcy0+ZGF0YTsKIAotCWZyZWVfcGFzc3dvcmQoYy0+cGFzc3dvcmQpOwotCWMtPnBhc3N3b3JkID0geHN0cmR1cChwYXNzd29yZF9kYXRhLT5wYXNzd29yZCk7CisJZ25vbWVfa2V5cmluZ19tZW1vcnlfZnJlZShjLT5wYXNzd29yZCk7CisJYy0+cGFzc3dvcmQgPSBnbm9tZV9rZXlyaW5nX21lbW9yeV9zdHJkdXAocGFzc3dvcmRfZGF0YS0+cGFzc3dvcmQpOwogCiAJaWYgKCFjLT51c2VybmFtZSkKLQkJYy0+dXNlcm5hbWUgPSB4c3RyZHVwKHBhc3N3b3JkX2RhdGEtPnVzZXIpOworCQljLT51c2VybmFtZSA9IGdfc3RyZHVwKHBhc3N3b3JkX2RhdGEtPnVzZXIpOwogCiAJZ25vbWVfa2V5cmluZ19uZXR3b3JrX3Bhc3N3b3JkX2xpc3RfZnJlZShlbnRyaWVzKTsKIApAQCAtMjAxLDEwICsyMTgsMTEgQEAKIH0KIAogCi1pbnQga2V5cmluZ19zdG9yZShzdHJ1Y3QgY3JlZGVudGlhbCAqYykKK3N0YXRpYyBpbnQga2V5cmluZ19zdG9yZShzdHJ1Y3QgY3JlZGVudGlhbCAqYykKIHsKIAlndWludDMyIGl0ZW1faWQ7CiAJY2hhciAgKm9iamVjdCA9IE5VTEw7CisJR25vbWVLZXlyaW5nUmVzdWx0IHJlc3VsdDsKIAogCS8qCiAJICogU2FuaXR5IGNoZWNrIHRoYXQgd2hhdCB3ZSBhcmUgc3RvcmluZyBpcyBhY3R1YWxseSBzZW5zaWJsZS4KQEAgLTIxOSw3ICsyMzcsNyBAQAogCiAJb2JqZWN0ID0ga2V5cmluZ19vYmplY3QoYyk7CiAKLQlnbm9tZV9rZXlyaW5nX3NldF9uZXR3b3JrX3Bhc3N3b3JkX3N5bmMoCisJcmVzdWx0ID0gZ25vbWVfa2V5cmluZ19zZXRfbmV0d29ya19wYXNzd29yZF9zeW5jKAogCQkJCUdOT01FX0tFWVJJTkdfREVGQVVMVCwKIAkJCQljLT51c2VybmFtZSwKIAkJCQlOVUxMIC8qIGRvbWFpbiAqLywKQEAgLTIzMSwxMSArMjQ5LDE4IEBACiAJCQkJYy0+cGFzc3dvcmQsCiAJCQkJJml0ZW1faWQpOwogCi0JZnJlZShvYmplY3QpOworCWdfZnJlZShvYmplY3QpOworCisJaWYgKHJlc3VsdCAhPSBHTk9NRV9LRVlSSU5HX1JFU1VMVF9PSyAmJgorCSAgICByZXN1bHQgIT0gR05PTUVfS0VZUklOR19SRVNVTFRfQ0FOQ0VMTEVEKSB7CisJCWdfY3JpdGljYWwoIiVzIiwgZ25vbWVfa2V5cmluZ19yZXN1bHRfdG9fbWVzc2FnZShyZXN1bHQpKTsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisKIAlyZXR1cm4gRVhJVF9TVUNDRVNTOwogfQogCi1pbnQga2V5cmluZ19lcmFzZShzdHJ1Y3QgY3JlZGVudGlhbCAqYykKK3N0YXRpYyBpbnQga2V5cmluZ19lcmFzZShzdHJ1Y3QgY3JlZGVudGlhbCAqYykKIHsKIAljaGFyICAqb2JqZWN0ID0gTlVMTDsKIAlHTGlzdCAqZW50cmllczsKQEAgLTI2NSw3ICsyOTAsNyBAQAogCQkJCWMtPnBvcnQsCiAJCQkJJmVudHJpZXMpOwogCi0JZnJlZShvYmplY3QpOworCWdfZnJlZShvYmplY3QpOwogCiAJaWYgKHJlc3VsdCA9PSBHTk9NRV9LRVlSSU5HX1JFU1VMVF9OT19NQVRDSCkKIAkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKQEAgLTI3NSw3ICszMDAsNyBAQAogCiAJaWYgKHJlc3VsdCAhPSBHTk9NRV9LRVlSSU5HX1JFU1VMVF9PSykKIAl7Ci0JCWVycm9yKCIlcyIsZ25vbWVfa2V5cmluZ19yZXN1bHRfdG9fbWVzc2FnZShyZXN1bHQpKTsKKwkJZ19jcml0aWNhbCgiJXMiLCBnbm9tZV9rZXlyaW5nX3Jlc3VsdF90b19tZXNzYWdlKHJlc3VsdCkpOwogCQlyZXR1cm4gRVhJVF9GQUlMVVJFOwogCX0KIApAQCAtMjg5LDcgKzMxNCw3IEBACiAKIAlpZiAocmVzdWx0ICE9IEdOT01FX0tFWVJJTkdfUkVTVUxUX09LKQogCXsKLQkJZXJyb3IoIiVzIixnbm9tZV9rZXlyaW5nX3Jlc3VsdF90b19tZXNzYWdlKHJlc3VsdCkpOworCQlnX2NyaXRpY2FsKCIlcyIsIGdub21lX2tleXJpbmdfcmVzdWx0X3RvX21lc3NhZ2UocmVzdWx0KSk7CiAJCXJldHVybiBFWElUX0ZBSUxVUkU7CiAJfQogCkBAIC0zMDAsNyArMzI1LDcgQEAKICAqIFRhYmxlIHdpdGggaGVscGVyIG9wZXJhdGlvbiBjYWxsYmFja3MsIHVzZWQgYnkgZ2VuZXJpYwogICogY3JlZGVudGlhbCBoZWxwZXIgbWFpbiBmdW5jdGlvbi4KICAqLwotc3RydWN0IGNyZWRlbnRpYWxfb3BlcmF0aW9uIGNvbnN0IGNyZWRlbnRpYWxfaGVscGVyX29wc1tdID0KK3N0YXRpYyBzdHJ1Y3QgY3JlZGVudGlhbF9vcGVyYXRpb24gY29uc3QgY3JlZGVudGlhbF9oZWxwZXJfb3BzW10gPQogewogCXsgImdldCIsICAga2V5cmluZ19nZXQgICB9LAogCXsgInN0b3JlIiwga2V5cmluZ19zdG9yZSB9LApAQCAtMzEwLDY2ICszMzUsNjkgQEAKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tIGNyZWRlbnRpYWwgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCi12b2lkIGNyZWRlbnRpYWxfaW5pdChzdHJ1Y3QgY3JlZGVudGlhbCAqYykKK3N0YXRpYyB2b2lkIGNyZWRlbnRpYWxfaW5pdChzdHJ1Y3QgY3JlZGVudGlhbCAqYykKIHsKIAltZW1zZXQoYywgMCwgc2l6ZW9mKCpjKSk7CiB9CiAKLXZvaWQgY3JlZGVudGlhbF9jbGVhcihzdHJ1Y3QgY3JlZGVudGlhbCAqYykKK3N0YXRpYyB2b2lkIGNyZWRlbnRpYWxfY2xlYXIoc3RydWN0IGNyZWRlbnRpYWwgKmMpCiB7Ci0JZnJlZShjLT5wcm90b2NvbCk7Ci0JZnJlZShjLT5ob3N0KTsKLQlmcmVlKGMtPnBhdGgpOwotCWZyZWUoYy0+dXNlcm5hbWUpOwotCWZyZWVfcGFzc3dvcmQoYy0+cGFzc3dvcmQpOworCWdfZnJlZShjLT5wcm90b2NvbCk7CisJZ19mcmVlKGMtPmhvc3QpOworCWdfZnJlZShjLT5wYXRoKTsKKwlnX2ZyZWUoYy0+dXNlcm5hbWUpOworCWdub21lX2tleXJpbmdfbWVtb3J5X2ZyZWUoYy0+cGFzc3dvcmQpOwogCiAJY3JlZGVudGlhbF9pbml0KGMpOwogfQogCi1pbnQgY3JlZGVudGlhbF9yZWFkKHN0cnVjdCBjcmVkZW50aWFsICpjKQorc3RhdGljIGludCBjcmVkZW50aWFsX3JlYWQoc3RydWN0IGNyZWRlbnRpYWwgKmMpCiB7Ci0JY2hhciAgICBidWZbMTAyNF07Ci0Jc3NpemVfdCBsaW5lX2xlbiA9IDA7Ci0JY2hhciAgICprZXkgICAgICA9IGJ1ZjsKKwljaGFyICAgICpidWY7CisJc2l6ZV90IGxpbmVfbGVuOworCWNoYXIgICAqa2V5OwogCWNoYXIgICAqdmFsdWU7CiAKLQl3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgc3RkaW4pKQorCWtleSA9IGJ1ZiA9IGdub21lX2tleXJpbmdfbWVtb3J5X2FsbG9jKDEwMjQpOworCisJd2hpbGUgKGZnZXRzKGJ1ZiwgMTAyNCwgc3RkaW4pKQogCXsKIAkJbGluZV9sZW4gPSBzdHJsZW4oYnVmKTsKIAotCQlpZihidWZbbGluZV9sZW4tMV09PSdcbicpCisJCWlmIChsaW5lX2xlbiAmJiBidWZbbGluZV9sZW4tMV0gPT0gJ1xuJykKIAkJCWJ1ZlstLWxpbmVfbGVuXT0nXDAnOwogCi0JCWlmKCFsaW5lX2xlbikKKwkJaWYgKCFsaW5lX2xlbikKIAkJCWJyZWFrOwogCiAJCXZhbHVlID0gc3RyY2hyKGJ1ZiwnPScpOwotCQlpZighdmFsdWUpIHsKLQkJCXdhcm5pbmcoImludmFsaWQgY3JlZGVudGlhbCBsaW5lOiAlcyIsIGtleSk7CisJCWlmICghdmFsdWUpIHsKKwkJCWdfd2FybmluZygiaW52YWxpZCBjcmVkZW50aWFsIGxpbmU6ICVzIiwga2V5KTsKKwkJCWdub21lX2tleXJpbmdfbWVtb3J5X2ZyZWUoYnVmKTsKIAkJCXJldHVybiAtMTsKIAkJfQogCQkqdmFsdWUrKyA9ICdcMCc7CiAKIAkJaWYgKCFzdHJjbXAoa2V5LCAicHJvdG9jb2wiKSkgewotCQkJZnJlZShjLT5wcm90b2NvbCk7Ci0JCQljLT5wcm90b2NvbCA9IHhzdHJkdXAodmFsdWUpOworCQkJZ19mcmVlKGMtPnByb3RvY29sKTsKKwkJCWMtPnByb3RvY29sID0gZ19zdHJkdXAodmFsdWUpOwogCQl9IGVsc2UgaWYgKCFzdHJjbXAoa2V5LCAiaG9zdCIpKSB7Ci0JCQlmcmVlKGMtPmhvc3QpOwotCQkJYy0+aG9zdCA9IHhzdHJkdXAodmFsdWUpOworCQkJZ19mcmVlKGMtPmhvc3QpOworCQkJYy0+aG9zdCA9IGdfc3RyZHVwKHZhbHVlKTsKIAkJCXZhbHVlID0gc3RycmNocihjLT5ob3N0LCc6Jyk7CiAJCQlpZiAodmFsdWUpIHsKIAkJCQkqdmFsdWUrKyA9ICdcMCc7CiAJCQkJYy0+cG9ydCA9IGF0b2kodmFsdWUpOwogCQkJfQogCQl9IGVsc2UgaWYgKCFzdHJjbXAoa2V5LCAicGF0aCIpKSB7Ci0JCQlmcmVlKGMtPnBhdGgpOwotCQkJYy0+cGF0aCA9IHhzdHJkdXAodmFsdWUpOworCQkJZ19mcmVlKGMtPnBhdGgpOworCQkJYy0+cGF0aCA9IGdfc3RyZHVwKHZhbHVlKTsKIAkJfSBlbHNlIGlmICghc3RyY21wKGtleSwgInVzZXJuYW1lIikpIHsKLQkJCWZyZWUoYy0+dXNlcm5hbWUpOwotCQkJYy0+dXNlcm5hbWUgPSB4c3RyZHVwKHZhbHVlKTsKKwkJCWdfZnJlZShjLT51c2VybmFtZSk7CisJCQljLT51c2VybmFtZSA9IGdfc3RyZHVwKHZhbHVlKTsKIAkJfSBlbHNlIGlmICghc3RyY21wKGtleSwgInBhc3N3b3JkIikpIHsKLQkJCWZyZWVfcGFzc3dvcmQoYy0+cGFzc3dvcmQpOwotCQkJYy0+cGFzc3dvcmQgPSB4c3RyZHVwKHZhbHVlKTsKKwkJCWdub21lX2tleXJpbmdfbWVtb3J5X2ZyZWUoYy0+cGFzc3dvcmQpOworCQkJYy0+cGFzc3dvcmQgPSBnbm9tZV9rZXlyaW5nX21lbW9yeV9zdHJkdXAodmFsdWUpOwogCQkJd2hpbGUgKCp2YWx1ZSkgKnZhbHVlKysgPSAnXDAnOwogCQl9CiAJCS8qCkBAIC0zNzgsMTcgKzQwNiwyMCBAQAogCQkgKiBsZWFybiBuZXcgbGluZXMsIGFuZCB0aGUgaGVscGVycyBhcmUgdXBkYXRlZCB0byBtYXRjaC4KIAkJICovCiAJfQorCisJZ25vbWVfa2V5cmluZ19tZW1vcnlfZnJlZShidWYpOworCiAJcmV0dXJuIDA7CiB9CiAKLXZvaWQgY3JlZGVudGlhbF93cml0ZV9pdGVtKEZJTEUgKmZwLCBjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnZhbHVlKQorc3RhdGljIHZvaWQgY3JlZGVudGlhbF93cml0ZV9pdGVtKEZJTEUgKmZwLCBjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnZhbHVlKQogewogCWlmICghdmFsdWUpCiAJCXJldHVybjsKIAlmcHJpbnRmKGZwLCAiJXM9JXNcbiIsIGtleSwgdmFsdWUpOwogfQogCi12b2lkIGNyZWRlbnRpYWxfd3JpdGUoY29uc3Qgc3RydWN0IGNyZWRlbnRpYWwgKmMpCitzdGF0aWMgdm9pZCBjcmVkZW50aWFsX3dyaXRlKGNvbnN0IHN0cnVjdCBjcmVkZW50aWFsICpjKQogewogCS8qIG9ubHkgd3JpdGUgdXNlcm5hbWUvcGFzc3dvcmQsIGlmIHNldCAqLwogCWNyZWRlbnRpYWxfd3JpdGVfaXRlbShzdGRvdXQsICJ1c2VybmFtZSIsIGMtPnVzZXJuYW1lKTsKQEAgLTQwMiw5ICs0MzMsOSBAQAogCiAJYmFzZW5hbWUgPSAoYmFzZW5hbWUpID8gYmFzZW5hbWUgKyAxIDogbmFtZTsKIAlmcHJpbnRmKHN0ZGVyciwgInVzYWdlOiAlcyA8IiwgYmFzZW5hbWUpOwotCXdoaWxlKHRyeV9vcC0+bmFtZSkgeworCXdoaWxlICh0cnlfb3AtPm5hbWUpIHsKIAkJZnByaW50ZihzdGRlcnIsIiVzIiwodHJ5X29wKyspLT5uYW1lKTsKLQkJaWYodHJ5X29wLT5uYW1lKQorCQlpZiAodHJ5X29wLT5uYW1lKQogCQkJZnByaW50ZihzdGRlcnIsIiVzIiwifCIpOwogCX0KIAlmcHJpbnRmKHN0ZGVyciwiJXMiLCI+XG4iKTsKQEAgLTQxOSwxOSArNDUwLDIxIEBACiAKIAlpZiAoIWFyZ3ZbMV0pIHsKIAkJdXNhZ2UoYXJndlswXSk7Ci0JCWdvdG8gb3V0OworCQlleGl0KEVYSVRfRkFJTFVSRSk7CiAJfQogCisJZ19zZXRfYXBwbGljYXRpb25fbmFtZSgiR2l0IENyZWRlbnRpYWwgSGVscGVyIik7CisKIAkvKiBsb29rdXAgb3BlcmF0aW9uIGNhbGxiYWNrICovCi0Jd2hpbGUodHJ5X29wLT5uYW1lICYmIHN0cmNtcChhcmd2WzFdLCB0cnlfb3AtPm5hbWUpKQorCXdoaWxlICh0cnlfb3AtPm5hbWUgJiYgc3RyY21wKGFyZ3ZbMV0sIHRyeV9vcC0+bmFtZSkpCiAJCXRyeV9vcCsrOwogCiAJLyogdW5zdXBwb3J0ZWQgb3BlcmF0aW9uIGdpdmVuIC0tIGlnbm9yZSBzaWxlbnRseSAqLwotCWlmKCF0cnlfb3AtPm5hbWUgfHwgIXRyeV9vcC0+b3ApCisJaWYgKCF0cnlfb3AtPm5hbWUgfHwgIXRyeV9vcC0+b3ApCiAJCWdvdG8gb3V0OwogCiAJcmV0ID0gY3JlZGVudGlhbF9yZWFkKCZjcmVkKTsKLQlpZihyZXQpCisJaWYgKHJldCkKIAkJZ290byBvdXQ7CiAKIAkvKiBwZXJmb3JtIGNyZWRlbnRpYWwgb3BlcmF0aW9uICovCmRpZmYgLS1naXQgYS9jb250cmliL2NyZWRlbnRpYWwvbmV0cmMvZ2l0LWNyZWRlbnRpYWwtbmV0cmMgYi9jb250cmliL2NyZWRlbnRpYWwvbmV0cmMvZ2l0LWNyZWRlbnRpYWwtbmV0cmMKaW5kZXggNmM1MWM0My4uMTU3MWE3YiAxMDA3NTUKLS0tIGEvY29udHJpYi9jcmVkZW50aWFsL25ldHJjL2dpdC1jcmVkZW50aWFsLW5ldHJjCisrKyBiL2NvbnRyaWIvY3JlZGVudGlhbC9uZXRyYy9naXQtY3JlZGVudGlhbC1uZXRyYwpAQCAtMzY5LDcgKzM2OSw5IEBACiAJewogCQlteSAkZW50cnlfdGV4dCA9IGpvaW4gJywgJywgbWFwIHsgIiRfPSRlbnRyeS0+eyRffSIgfSBrZXlzICUkZW50cnk7CiAJCWZvcmVhY2ggbXkgJGNoZWNrIChzb3J0IGtleXMgJSRxdWVyeSkgewotCQkJaWYgKGRlZmluZWQgJHF1ZXJ5LT57JGNoZWNrfSkgeworCQkJaWYgKCFkZWZpbmVkICRlbnRyeS0+eyRjaGVja30pIHsKKwkJCSAgICAgICAgbG9nX2RlYnVnKCJPSzogZW50cnkgaGFzIG5vICRjaGVjayB0b2tlbiwgc28gYW55IHZhbHVlIHNhdGlzZmllcyBjaGVjayAkY2hlY2siKTsKKwkJCX0gZWxzaWYgKGRlZmluZWQgJHF1ZXJ5LT57JGNoZWNrfSkgewogCQkJCWxvZ19kZWJ1ZygiY29tcGFyZSAlcyBbJXNdIHRvIFslc10gKGVudHJ5OiAlcykiLAogCQkJCQkgICRjaGVjaywKIAkJCQkJICAkZW50cnktPnskY2hlY2t9LApkaWZmIC0tZ2l0IGEvY29udHJpYi9leGFtcGxlcy9naXQtbG9nLnNoIGIvY29udHJpYi9leGFtcGxlcy9naXQtbG9nLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMyZWE3MWMKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2V4YW1wbGVzL2dpdC1sb2cuc2gKQEAgLTAsMCArMSwxNSBAQAorIyEvYmluL3NoCisjCisjIENvcHlyaWdodCAoYykgMjAwNSBMaW51cyBUb3J2YWxkcworIworCitVU0FHRT0nWy0tbWF4LWNvdW50PTxuPl0gWzxzaW5jZT4uLjxsaW1pdD5dIFstLXByZXR0eT08Zm9ybWF0Pl0gW2dpdC1yZXYtbGlzdCBvcHRpb25zXScKK1NVQkRJUkVDVE9SWV9PSz0nWWVzJworLiBnaXQtc2gtc2V0dXAKKworcmV2cz0kKGdpdC1yZXYtcGFyc2UgLS1yZXZzLW9ubHkgLS1uby1mbGFncyAtLWRlZmF1bHQgSEVBRCAiJEAiKSB8fCBleGl0CitbICIkcmV2cyIgXSB8fCB7CisJZGllICJObyBIRUFEIHJlZiIKK30KK2dpdC1yZXYtbGlzdCAtLXByZXR0eSAkKGdpdC1yZXYtcGFyc2UgLS1kZWZhdWx0IEhFQUQgIiRAIikgfAorTEVTUz0tUyAke1BBR0VSOi1sZXNzfQpkaWZmIC0tZ2l0IGEvY29udHJpYi9leGFtcGxlcy9naXQtbWVyZ2Uuc2ggYi9jb250cmliL2V4YW1wbGVzL2dpdC1tZXJnZS5zaAppbmRleCA3YjkyMmMzLi5hNWU0MmE5IDEwMDc1NQotLS0gYS9jb250cmliL2V4YW1wbGVzL2dpdC1tZXJnZS5zaAorKysgYi9jb250cmliL2V4YW1wbGVzL2dpdC1tZXJnZS5zaApAQCAtMjYzLDcgKzI2Myw3IEBACiAKICMgVGhpcyBjb3VsZCBiZSB0cmFkaXRpb25hbCAibWVyZ2UgPG1zZz4gSEVBRCA8Y29tbWl0Pi4uLiIgIGFuZCB0aGUKICMgd2F5IHdlIGNhbiB0ZWxsIGl0IGlzIHRvIHNlZSBpZiB0aGUgc2Vjb25kIHRva2VuIGlzIEhFQUQsIGJ1dCBzb21lCi0jIHBlb3BsZSBtaWdodCBoYXZlIG1pc3VzZWQgdGhlIGludGVyZmFjZSBhbmQgdXNlZCBhIGNvbW1pdHRpc2ggdGhhdAorIyBwZW9wbGUgbWlnaHQgaGF2ZSBtaXN1c2VkIHRoZSBpbnRlcmZhY2UgYW5kIHVzZWQgYSBjb21taXQtaXNoIHRoYXQKICMgaXMgdGhlIHNhbWUgYXMgSEVBRCB0aGVyZSBpbnN0ZWFkLiAgVHJhZGl0aW9uYWwgZm9ybWF0IG5ldmVyIHdvdWxkCiAjIGhhdmUgIi1tIiBzbyBpdCBpcyBhbiBhZGRpdGlvbmFsIHNhZmV0eSBtZWFzdXJlIHRvIGNoZWNrIGZvciBpdC4KIApkaWZmIC0tZ2l0IGEvZ2l0LXJlcGFjay5zaCBiL2NvbnRyaWIvZXhhbXBsZXMvZ2l0LXJlcGFjay5zaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZ2l0LXJlcGFjay5zaApyZW5hbWUgdG8gY29udHJpYi9leGFtcGxlcy9naXQtcmVwYWNrLnNoCmRpZmYgLS1naXQgYS9jb250cmliL2V4YW1wbGVzL2dpdC13aGF0Y2hhbmdlZC5zaCBiL2NvbnRyaWIvZXhhbXBsZXMvZ2l0LXdoYXRjaGFuZ2VkLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFmYjlmZWIKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2V4YW1wbGVzL2dpdC13aGF0Y2hhbmdlZC5zaApAQCAtMCwwICsxLDI4IEBACisjIS9iaW4vc2gKKworVVNBR0U9J1stcF0gWy0tbWF4LWNvdW50PTxuPl0gWzxzaW5jZT4uLjxsaW1pdD5dIFstLXByZXR0eT08Zm9ybWF0Pl0gWy1tXSBbZ2l0LWRpZmYtdHJlZSBvcHRpb25zXSBbZ2l0LXJldi1saXN0IG9wdGlvbnNdJworU1VCRElSRUNUT1JZX09LPSdZZXMnCisuIGdpdC1zaC1zZXR1cAorCitkaWZmX3RyZWVfZmxhZ3M9JChnaXQtcmV2LXBhcnNlIC0tc3EgLS1uby1yZXZzIC0tZmxhZ3MgIiRAIikgfHwgZXhpdAorY2FzZSAiJDAiIGluCisqd2hhdGNoYW5nZWQpCisJY291bnQ9CisJdGVzdCAteiAiJGRpZmZfdHJlZV9mbGFncyIgJiYKKwkJZGlmZl90cmVlX2ZsYWdzPSQoZ2l0LXJlcG8tY29uZmlnIC0tZ2V0IHdoYXRjaGFuZ2VkLmRpZmZ0cmVlKQorCWRpZmZfdHJlZV9kZWZhdWx0X2ZsYWdzPSctYyAtTSAtLWFiYnJldicgOzsKKypzaG93KQorCWNvdW50PS1uMQorCXRlc3QgLXogIiRkaWZmX3RyZWVfZmxhZ3MiICYmCisJCWRpZmZfdHJlZV9mbGFncz0kKGdpdC1yZXBvLWNvbmZpZyAtLWdldCBzaG93LmRpZmZ0cmVlKQorCWRpZmZfdHJlZV9kZWZhdWx0X2ZsYWdzPSctLWNjIC0tYWx3YXlzJyA7OworZXNhYwordGVzdCAteiAiJGRpZmZfdHJlZV9mbGFncyIgJiYKKwlkaWZmX3RyZWVfZmxhZ3M9IiRkaWZmX3RyZWVfZGVmYXVsdF9mbGFncyIKKworcmV2X2xpc3RfYXJncz0kKGdpdC1yZXYtcGFyc2UgLS1zcSAtLWRlZmF1bHQgSEVBRCAtLXJldnMtb25seSAiJEAiKSAmJgorZGlmZl90cmVlX2FyZ3M9JChnaXQtcmV2LXBhcnNlIC0tc3EgLS1uby1yZXZzIC0tbm8tZmxhZ3MgIiRAIikgJiYKKworZXZhbCAiZ2l0LXJldi1saXN0ICRjb3VudCAkcmV2X2xpc3RfYXJncyIgfAorZXZhbCAiZ2l0LWRpZmYtdHJlZSAtLXN0ZGluIC0tcHJldHR5IC1yICRkaWZmX3RyZWVfZmxhZ3MgJGRpZmZfdHJlZV9hcmdzIiB8CitMRVNTPSIkTEVTUyAtUyIgJHtQQUdFUjotbGVzc30KZGlmZiAtLWdpdCBhL2NvbnRyaWIvaG9va3MvcG9zdC1yZWNlaXZlLWVtYWlsIGIvY29udHJpYi9ob29rcy9wb3N0LXJlY2VpdmUtZW1haWwKaW5kZXggMTUzMTE1MC4uOGVlNDEwZiAxMDA3NTUKLS0tIGEvY29udHJpYi9ob29rcy9wb3N0LXJlY2VpdmUtZW1haWwKKysrIGIvY29udHJpYi9ob29rcy9wb3N0LXJlY2VpdmUtZW1haWwKQEAgLTI0Miw2ICsyNDIsOSBAQAogCWNhdCA8PC1FT0YKIAlUbzogJHJlY2lwaWVudHMKIAlTdWJqZWN0OiAke2VtYWlscHJlZml4fSRwcm9qZWN0ZGVzYyAkcmVmbmFtZV90eXBlICRzaG9ydF9yZWZuYW1lICR7Y2hhbmdlX3R5cGV9ZC4gJGRlc2NyaWJlCisJTUlNRS1WZXJzaW9uOiAxLjAKKwlDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgKKwlDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CiAJWC1HaXQtUmVmbmFtZTogJHJlZm5hbWUKIAlYLUdpdC1SZWZ0eXBlOiAkcmVmbmFtZV90eXBlCiAJWC1HaXQtT2xkcmV2OiAkb2xkcmV2CkBAIC00NzEsNyArNDc0LDcgQEAKIAllY2hvICIgICAgICAgd2FzICAkb2xkcmV2IgogCWVjaG8gIiIKIAllY2hvICRMT0dCRUdJTgotCWdpdCBzaG93IC1zIC0tcHJldHR5PW9uZWxpbmUgJG9sZHJldgorCWdpdCBkaWZmLXRyZWUgLXMgLS1hbHdheXMgLS1lbmNvZGluZz1VVEYtOCAtLXByZXR0eT1vbmVsaW5lICRvbGRyZXYKIAllY2hvICRMT0dFTkQKIH0KIApAQCAtNTQ3LDExICs1NTAsMTEgQEAKIAkJIyBwZXJmb3JtZWQgb24gdGhlbQogCQlpZiBbIC1uICIkcHJldnRhZyIgXTsgdGhlbgogCQkJIyBTaG93IGNoYW5nZXMgc2luY2UgdGhlIHByZXZpb3VzIHJlbGVhc2UKLQkJCWdpdCByZXYtbGlzdCAtLXByZXR0eT1zaG9ydCAiJHByZXZ0YWcuLiRuZXdyZXYiIHwgZ2l0IHNob3J0bG9nCisJCQlnaXQgc2hvcnRsb2cgIiRwcmV2dGFnLi4kbmV3cmV2IgogCQllbHNlCiAJCQkjIE5vIHByZXZpb3VzIHRhZywgc2hvdyBhbGwgdGhlIGNoYW5nZXMgc2luY2UgdGltZQogCQkJIyBiZWdhbgotCQkJZ2l0IHJldi1saXN0IC0tcHJldHR5PXNob3J0ICRuZXdyZXYgfCBnaXQgc2hvcnRsb2cKKwkJCWdpdCBzaG9ydGxvZyAkbmV3cmV2CiAJCWZpCiAJCTs7CiAJKikKQEAgLTU3MSw3ICs1NzQsNyBAQAogCWVjaG8gIiAgICAgICB3YXMgICRvbGRyZXYiCiAJZWNobyAiIgogCWVjaG8gJExPR0JFR0lOCi0JZ2l0IHNob3cgLXMgLS1wcmV0dHk9b25lbGluZSAkb2xkcmV2CisJZ2l0IGRpZmYtdHJlZSAtcyAtLWFsd2F5cyAtLWVuY29kaW5nPVVURi04IC0tcHJldHR5PW9uZWxpbmUgJG9sZHJldgogCWVjaG8gJExPR0VORAogfQogCkBAIC02MTcsNyArNjIwLDcgQEAKIAllY2hvICIiCiAJaWYgWyAiJG5ld3Jldl90eXBlIiA9ICJjb21taXQiIF07IHRoZW4KIAkJZWNobyAkTE9HQkVHSU4KLQkJZ2l0IHNob3cgLS1uby1jb2xvciAtLXJvb3QgLXMgLS1wcmV0dHk9bWVkaXVtICRuZXdyZXYKKwkJZ2l0IGRpZmYtdHJlZSAtcyAtLWFsd2F5cyAtLWVuY29kaW5nPVVURi04IC0tcHJldHR5PW1lZGl1bSAkbmV3cmV2CiAJCWVjaG8gJExPR0VORAogCWVsc2UKIAkJIyBXaGF0IGNhbiB3ZSBkbyBoZXJlPyAgVGhlIHRhZyBtYXJrcyBhbiBvYmplY3QgdGhhdCBpcyBub3QKQEAgLTYzNiw3ICs2MzksNyBAQAogCWVjaG8gIiAgICAgICB3YXMgICRvbGRyZXYiCiAJZWNobyAiIgogCWVjaG8gJExPR0JFR0lOCi0JZ2l0IHNob3cgLXMgLS1wcmV0dHk9b25lbGluZSAkb2xkcmV2CisJZ2l0IGRpZmYtdHJlZSAtcyAtLWFsd2F5cyAtLWVuY29kaW5nPVVURi04IC0tcHJldHR5PW9uZWxpbmUgJG9sZHJldgogCWVjaG8gJExPR0VORAogfQogCmRpZmYgLS1naXQgYS9jb250cmliL213LXRvLWdpdC9NYWtlZmlsZSBiL2NvbnRyaWIvbXctdG8tZ2l0L01ha2VmaWxlCmluZGV4IDc2ZmNkNGQuLmYyMDZmOTYgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvbXctdG8tZ2l0L01ha2VmaWxlCisrKyBiL2NvbnRyaWIvbXctdG8tZ2l0L01ha2VmaWxlCkBAIC0yNCw2ICsyNCwxMSBAQAogCiBhbGw6IGJ1aWxkCiAKK3Rlc3Q6IGFsbAorCSQoTUFLRSkgLUMgdAorCitjaGVjazogcGVybGNyaXRpYyB0ZXN0CisKIGluc3RhbGxfcG06CiAJaW5zdGFsbCAkKEdJVF9NRURJQVdJS0lfUE0pICQoSU5TVExJQkRJUikvJChHSVRfTUVESUFXSUtJX1BNKQogCkBAIC00MSw0ICs0Niw3IEBACiAJcm0gJChJTlNUTElCRElSKS8kKEdJVF9NRURJQVdJS0lfUE0pCiAKIHBlcmxjcml0aWM6Ci0JcGVybGNyaXRpYyAtMiAqLnBlcmwKKwlwZXJsY3JpdGljIC01ICQoU0NSSVBUX1BFUkwpCisJLXBlcmxjcml0aWMgLTIgJChTQ1JJUFRfUEVSTCkKKworLlBIT05ZOiBhbGwgdGVzdCBjaGVjayBpbnN0YWxsX3BtIGluc3RhbGwgY2xlYW4gcGVybGNyaXRpYwpkaWZmIC0tZ2l0IGEvY29udHJpYi9tdy10by1naXQvZ2l0LXJlbW90ZS1tZWRpYXdpa2kucGVybCBiL2NvbnRyaWIvbXctdG8tZ2l0L2dpdC1yZW1vdGUtbWVkaWF3aWtpLnBlcmwKaW5kZXggODVkMGM0Mi4uNDc2ZTBhMiAxMDA3NTUKLS0tIGEvY29udHJpYi9tdy10by1naXQvZ2l0LXJlbW90ZS1tZWRpYXdpa2kucGVybAorKysgYi9jb250cmliL213LXRvLWdpdC9naXQtcmVtb3RlLW1lZGlhd2lraS5wZXJsCkBAIC01OTAsNiArNTkwLDkgQEAKIAlwcmludCB7KlNURE9VVH0gImltcG9ydFxuIjsKIAlwcmludCB7KlNURE9VVH0gImxpc3RcbiI7CiAJcHJpbnQgeypTVERPVVR9ICJwdXNoXG4iOworCWlmICgkZHVtYl9wdXNoKSB7CisJCXByaW50IHsqU1RET1VUfSAibm8tcHJpdmF0ZS11cGRhdGVcbiI7CisJfQogCXByaW50IHsqU1RET1VUfSAiXG4iOwogCXJldHVybjsKIH0KQEAgLTEyMjEsNyArMTIyNCw2IEBACiAJCX0KIAkJaWYgKCEkZHVtYl9wdXNoKSB7CiAJCQlydW5fZ2l0KHFxKG5vdGVzIC0tcmVmPSR7cmVtb3RlbmFtZX0vbWVkaWF3aWtpIGFkZCAtZiAtbSAibWVkaWF3aWtpX3JldmlzaW9uOiAke213X3JldmlzaW9ufSIgJHtzaGExX2NvbW1pdH0pKTsKLQkJCXJ1bl9naXQocXEodXBkYXRlLXJlZiAtbSAiR2l0LU1lZGlhV2lraSBwdXNoIiByZWZzL21lZGlhd2lraS8ke3JlbW90ZW5hbWV9L21hc3RlciAke3NoYTFfY29tbWl0fSAke3NoYTFfY2hpbGR9KSk7CiAJCX0KIAl9CiAKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcmVtb3RlLWhlbHBlcnMvZ2l0LXJlbW90ZS1ienIgYi9jb250cmliL3JlbW90ZS1oZWxwZXJzL2dpdC1yZW1vdGUtYnpyCmluZGV4IGMzYTNjYWMuLjA1NDE2MWEgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvcmVtb3RlLWhlbHBlcnMvZ2l0LXJlbW90ZS1ienIKKysrIGIvY29udHJpYi9yZW1vdGUtaGVscGVycy9naXQtcmVtb3RlLWJ6cgpAQCAtMTMsOCArMTMsMTEgQEAKICMgb3IKICMgJSBnaXQgY2xvbmUgYnpyOjpscDpteXJlcG8KICMKLSMgSWYgeW91IHdhbnQgdG8gc3BlY2lmeSB3aGljaCBicmFuY2hlcyB5b3Ugd2FudCB0cmFjayAocGVyIHJlcG8pOgotIyBnaXQgY29uZmlnIHJlbW90ZS1ienIuYnJhbmNoZXMgJ3RydW5rLCBkZXZlbCwgdGVzdCcKKyMgSWYgeW91IHdhbnQgdG8gc3BlY2lmeSB3aGljaCBicmFuY2hlcyB5b3Ugd2FudCB0byB0cmFjayAocGVyIHJlcG8pOgorIyAlIGdpdCBjb25maWcgcmVtb3RlLm9yaWdpbi5ienItYnJhbmNoZXMgJ3RydW5rLCBkZXZlbCwgdGVzdCcKKyMKKyMgV2hlcmUgJ29yaWdpbicgaXMgdGhlIG5hbWUgb2YgdGhlIHJlcG9zaXRvcnkgeW91IHdhbnQgdG8gc3BlY2lmeSB0aGUKKyMgYnJhbmNoZXMuCiAjCiAKIGltcG9ydCBzeXMKQEAgLTE2OCwxNyArMTcxLDE2IEBACiAgICAgICAgIGlmIG5vdCBtOgogICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgXywgbmFtZSwgZW1haWwsIGRhdGUsIHR6ID0gbS5ncm91cHMoKQorICAgICAgICBuYW1lID0gbmFtZS5kZWNvZGUoJ3V0Zi04JykKICAgICAgICAgY29tbWl0dGVyID0gJyVzIDwlcz4nICUgKG5hbWUsIGVtYWlsKQogICAgICAgICB0eiA9IGludCh0eikKICAgICAgICAgdHogPSAoKHR6IC8gMTAwKSAqIDM2MDApICsgKCh0eiAlIDEwMCkgKiA2MCkKICAgICAgICAgcmV0dXJuIChjb21taXR0ZXIsIGludChkYXRlKSwgdHopCiAKIGRlZiByZXZfdG9fbWFyayhyZXYpOgotICAgIGdsb2JhbCBtYXJrcwogICAgIHJldHVybiBtYXJrcy5mcm9tX3JldihyZXYpCiAKIGRlZiBtYXJrX3RvX3JldihtYXJrKToKLSAgICBnbG9iYWwgbWFya3MKICAgICByZXR1cm4gbWFya3MudG9fcmV2KG1hcmspCiAKIGRlZiBmaXh1cF91c2VyKHVzZXIpOgpAQCAtMjMzLDggKzIzNSw2IEBACiAgICAgcmV0dXJuIG1vZGlmaWVkLCByZW1vdmVkCiAKIGRlZiBleHBvcnRfZmlsZXModHJlZSwgZmlsZXMpOgotICAgIGdsb2JhbCBtYXJrcywgZmlsZW5vZGVzCi0KICAgICBmaW5hbCA9IFtdCiAgICAgZm9yIHBhdGgsIGZpZCBpbiBmaWxlcy5pdGVyaXRlbXMoKToKICAgICAgICAga2luZCA9IHRyZWUua2luZChmaWQpCkBAIC0yNzYsOCArMjc2LDYgQEAKICAgICByZXR1cm4gZmluYWwKIAogZGVmIGV4cG9ydF9icmFuY2gocmVwbywgbmFtZSk6Ci0gICAgZ2xvYmFsIHByZWZpeAotCiAgICAgcmVmID0gJyVzL2hlYWRzLyVzJyAlIChwcmVmaXgsIG5hbWUpCiAgICAgdGlwID0gbWFya3MuZ2V0X3RpcChuYW1lKQogCkBAIC0zNzgsMTYgKzM3NiwxMiBAQAogICAgIG1hcmtzLnNldF90aXAobmFtZSwgcmV2aWQpCiAKIGRlZiBleHBvcnRfdGFnKHJlcG8sIG5hbWUpOgotICAgIGdsb2JhbCB0YWdzLCBwcmVmaXgKLQogICAgIHJlZiA9ICclcy90YWdzLyVzJyAlIChwcmVmaXgsIG5hbWUpCiAgICAgcHJpbnQgInJlc2V0ICVzIiAlIHJlZgogICAgIHByaW50ICJmcm9tIDoldSIgJSByZXZfdG9fbWFyayh0YWdzW25hbWVdKQogICAgIHByaW50CiAKIGRlZiBkb19pbXBvcnQocGFyc2VyKToKLSAgICBnbG9iYWwgZGlybmFtZQotCiAgICAgcmVwbyA9IHBhcnNlci5yZXBvCiAgICAgcGF0aCA9IG9zLnBhdGguam9pbihkaXJuYW1lLCAnbWFya3MtZ2l0JykKIApAQCAtNDEzLDggKzQwNyw2IEBACiAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCiAKIGRlZiBwYXJzZV9ibG9iKHBhcnNlcik6Ci0gICAgZ2xvYmFsIGJsb2JfbWFya3MKLQogICAgIHBhcnNlci5uZXh0KCkKICAgICBtYXJrID0gcGFyc2VyLmdldF9tYXJrKCkKICAgICBwYXJzZXIubmV4dCgpCkBAIC00MjUsOCArNDE3LDYgQEAKIGNsYXNzIEN1c3RvbVRyZWUoKToKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicmFuY2gsIHJldmlkLCBwYXJlbnRzLCBmaWxlcyk6Ci0gICAgICAgIGdsb2JhbCBmaWxlc19jYWNoZQotCiAgICAgICAgIHNlbGYudXBkYXRlcyA9IHt9CiAgICAgICAgIHNlbGYuYnJhbmNoID0gYnJhbmNoCiAKQEAgLTQ4NCw3ICs0NzQsNyBAQAogICAgICAgICAgICAgYWRkX2VudHJ5KGZpZCwgZGlybmFtZSwgJ2RpcmVjdG9yeScpCiAgICAgICAgICAgICByZXR1cm4gZmlkCiAKLSAgICAgICAgZGVmIGFkZF9lbnRyeShmaWQsIHBhdGgsIGtpbmQsIG1vZGUgPSBOb25lKToKKyAgICAgICAgZGVmIGFkZF9lbnRyeShmaWQsIHBhdGgsIGtpbmQsIG1vZGU9Tm9uZSk6CiAgICAgICAgICAgICBkaXJuYW1lLCBiYXNlbmFtZSA9IG9zLnBhdGguc3BsaXQocGF0aCkKICAgICAgICAgICAgIHBhcmVudF9maWQgPSBnZXRfcGFyZW50KGRpcm5hbWUsIGJhc2VuYW1lKQogCkBAIC01MDUsNyArNDk1LDcgQEAKICAgICAgICAgICAgIHNlbGYuZmlsZXNbcGF0aF0gPSBbY2hhbmdlWzBdLCBOb25lXQogICAgICAgICAgICAgY2hhbmdlcy5hcHBlbmQoY2hhbmdlKQogCi0gICAgICAgIGRlZiB1cGRhdGVfZW50cnkoZmlkLCBwYXRoLCBraW5kLCBtb2RlID0gTm9uZSk6CisgICAgICAgIGRlZiB1cGRhdGVfZW50cnkoZmlkLCBwYXRoLCBraW5kLCBtb2RlPU5vbmUpOgogICAgICAgICAgICAgZGlybmFtZSwgYmFzZW5hbWUgPSBvcy5wYXRoLnNwbGl0KHBhdGgpCiAgICAgICAgICAgICBwYXJlbnRfZmlkID0gZ2V0X3BhcmVudChkaXJuYW1lLCBiYXNlbmFtZSkKIApAQCAtNTgzLDkgKzU3Myw2IEBACiAgICAgcmV0dXJuIHN0cmluZwogCiBkZWYgcGFyc2VfY29tbWl0KHBhcnNlcik6Ci0gICAgZ2xvYmFsIG1hcmtzLCBibG9iX21hcmtzLCBwYXJzZWRfcmVmcwotICAgIGdsb2JhbCBtb2RlCi0KICAgICBwYXJlbnRzID0gW10KIAogICAgIHJlZiA9IHBhcnNlclsxXQpAQCAtNjU3LDggKzY0NCw2IEBACiAgICAgbWFya3MubmV3X21hcmsocmV2aWQsIGNvbW1pdF9tYXJrKQogCiBkZWYgcGFyc2VfcmVzZXQocGFyc2VyKToKLSAgICBnbG9iYWwgcGFyc2VkX3JlZnMKLQogICAgIHJlZiA9IHBhcnNlclsxXQogICAgIHBhcnNlci5uZXh0KCkKIApAQCAtNjc0LDggKzY1OSw2IEBACiAgICAgcGFyc2VkX3JlZnNbcmVmXSA9IG1hcmtfdG9fcmV2KGZyb21fbWFyaykKIAogZGVmIGRvX2V4cG9ydChwYXJzZXIpOgotICAgIGdsb2JhbCBwYXJzZWRfcmVmcywgZGlybmFtZQotCiAgICAgcGFyc2VyLm5leHQoKQogCiAgICAgZm9yIGxpbmUgaW4gcGFyc2VyLmVhY2hfYmxvY2soJ2RvbmUnKToKQEAgLTY5OSw3ICs2ODIsOCBAQAogICAgICAgICAgICAgYnJhbmNoLmdlbmVyYXRlX3JldmlzaW9uX2hpc3RvcnkocmV2aWQsIG1hcmtzLmdldF90aXAobmFtZSkpCiAKICAgICAgICAgICAgIGlmIG5hbWUgaW4gcGVlcnM6Ci0gICAgICAgICAgICAgICAgcGVlciA9IGJ6cmxpYi5icmFuY2guQnJhbmNoLm9wZW4ocGVlcnNbbmFtZV0pCisgICAgICAgICAgICAgICAgcGVlciA9IGJ6cmxpYi5icmFuY2guQnJhbmNoLm9wZW4ocGVlcnNbbmFtZV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zc2libGVfdHJhbnNwb3J0cz10cmFuc3BvcnRzKQogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgcGVlci5ienJkaXIucHVzaF9icmFuY2goYnJhbmNoLCByZXZpc2lvbl9pZD1yZXZpZCkKICAgICAgICAgICAgICAgICBleGNlcHQgYnpybGliLmVycm9ycy5EaXZlcmdlZEJyYW5jaGVzOgpAQCAtNzI0LDggKzcwOCw2IEBACiAgICAgcHJpbnQKIAogZGVmIGRvX2NhcGFiaWxpdGllcyhwYXJzZXIpOgotICAgIGdsb2JhbCBkaXJuYW1lCi0KICAgICBwcmludCAiaW1wb3J0IgogICAgIHByaW50ICJleHBvcnQiCiAgICAgcHJpbnQgInJlZnNwZWMgcmVmcy9oZWFkcy8qOiVzL2hlYWRzLyoiICUgcHJlZml4CkBAIC03NDMsOCArNzI1LDYgQEAKICAgICByZXR1cm4gbm90IFRydWUgaW4gW2MgaW4gbmFtZSBmb3IgYyBpbiAnfl46IFxcJ10KIAogZGVmIGRvX2xpc3QocGFyc2VyKToKLSAgICBnbG9iYWwgdGFncwotCiAgICAgbWFzdGVyX2JyYW5jaCA9IE5vbmUKIAogICAgIGZvciBuYW1lIGluIGJyYW5jaGVzOgpAQCAtNzcwLDI0ICs3NTAsMjQgQEAKIAogZGVmIGNsb25lKHBhdGgsIHJlbW90ZV9icmFuY2gpOgogICAgIHRyeToKLSAgICAgICAgYmRpciA9IGJ6cmxpYi5ienJkaXIuQnpyRGlyLmNyZWF0ZShwYXRoKQorICAgICAgICBiZGlyID0gYnpybGliLmJ6cmRpci5CenJEaXIuY3JlYXRlKHBhdGgsIHBvc3NpYmxlX3RyYW5zcG9ydHM9dHJhbnNwb3J0cykKICAgICBleGNlcHQgYnpybGliLmVycm9ycy5BbHJlYWR5Q29udHJvbERpckVycm9yOgotICAgICAgICBiZGlyID0gYnpybGliLmJ6cmRpci5CenJEaXIub3BlbihwYXRoKQorICAgICAgICBiZGlyID0gYnpybGliLmJ6cmRpci5CenJEaXIub3BlbihwYXRoLCBwb3NzaWJsZV90cmFuc3BvcnRzPXRyYW5zcG9ydHMpCiAgICAgcmVwbyA9IGJkaXIuZmluZF9yZXBvc2l0b3J5KCkKICAgICByZXBvLmZldGNoKHJlbW90ZV9icmFuY2gucmVwb3NpdG9yeSkKICAgICByZXR1cm4gcmVtb3RlX2JyYW5jaC5zcHJvdXQoYmRpciwgcmVwb3NpdG9yeT1yZXBvKQogCiBkZWYgZ2V0X3JlbW90ZV9icmFuY2gobmFtZSk6Ci0gICAgZ2xvYmFsIGRpcm5hbWUsIGJyYW5jaGVzCi0KLSAgICByZW1vdGVfYnJhbmNoID0gYnpybGliLmJyYW5jaC5CcmFuY2gub3BlbihicmFuY2hlc1tuYW1lXSkKKyAgICByZW1vdGVfYnJhbmNoID0gYnpybGliLmJyYW5jaC5CcmFuY2gub3BlbihicmFuY2hlc1tuYW1lXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NzaWJsZV90cmFuc3BvcnRzPXRyYW5zcG9ydHMpCiAgICAgaWYgaXNpbnN0YW5jZShyZW1vdGVfYnJhbmNoLnVzZXJfdHJhbnNwb3J0LCBienJsaWIudHJhbnNwb3J0LmxvY2FsLkxvY2FsVHJhbnNwb3J0KToKICAgICAgICAgcmV0dXJuIHJlbW90ZV9icmFuY2gKIAogICAgIGJyYW5jaF9wYXRoID0gb3MucGF0aC5qb2luKGRpcm5hbWUsICdjbG9uZScsIG5hbWUpCiAKICAgICB0cnk6Ci0gICAgICAgIGJyYW5jaCA9IGJ6cmxpYi5icmFuY2guQnJhbmNoLm9wZW4oYnJhbmNoX3BhdGgpCisgICAgICAgIGJyYW5jaCA9IGJ6cmxpYi5icmFuY2guQnJhbmNoLm9wZW4oYnJhbmNoX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zc2libGVfdHJhbnNwb3J0cz10cmFuc3BvcnRzKQogICAgIGV4Y2VwdCBienJsaWIuZXJyb3JzLk5vdEJyYW5jaEVycm9yOgogICAgICAgICAjIGNsb25lCiAgICAgICAgIGJyYW5jaCA9IGNsb25lKGJyYW5jaF9wYXRoLCByZW1vdGVfYnJhbmNoKQpAQCAtODIxLDE3ICs4MDEsMTcgQEAKICAgICAgICAgICAgIHlpZWxkIG5hbWUsIGJyYW5jaC5iYXNlCiAKIGRlZiBnZXRfcmVwbyh1cmwsIGFsaWFzKToKLSAgICBnbG9iYWwgZGlybmFtZSwgcGVlciwgYnJhbmNoZXMKLQogICAgIG5vcm1hbF91cmwgPSBienJsaWIudXJsdXRpbHMubm9ybWFsaXplX3VybCh1cmwpCi0gICAgb3JpZ2luID0gYnpybGliLmJ6cmRpci5CenJEaXIub3Blbih1cmwpCisgICAgb3JpZ2luID0gYnpybGliLmJ6cmRpci5CenJEaXIub3Blbih1cmwsIHBvc3NpYmxlX3RyYW5zcG9ydHM9dHJhbnNwb3J0cykKICAgICBpc19sb2NhbCA9IGlzaW5zdGFuY2Uob3JpZ2luLnRyYW5zcG9ydCwgYnpybGliLnRyYW5zcG9ydC5sb2NhbC5Mb2NhbFRyYW5zcG9ydCkKIAogICAgIHNoYXJlZF9wYXRoID0gb3MucGF0aC5qb2luKGdpdGRpciwgJ2J6cicpCiAgICAgdHJ5OgotICAgICAgICBzaGFyZWRfZGlyID0gYnpybGliLmJ6cmRpci5CenJEaXIub3BlbihzaGFyZWRfcGF0aCkKKyAgICAgICAgc2hhcmVkX2RpciA9IGJ6cmxpYi5ienJkaXIuQnpyRGlyLm9wZW4oc2hhcmVkX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc3NpYmxlX3RyYW5zcG9ydHM9dHJhbnNwb3J0cykKICAgICBleGNlcHQgYnpybGliLmVycm9ycy5Ob3RCcmFuY2hFcnJvcjoKLSAgICAgICAgc2hhcmVkX2RpciA9IGJ6cmxpYi5ienJkaXIuQnpyRGlyLmNyZWF0ZShzaGFyZWRfcGF0aCkKKyAgICAgICAgc2hhcmVkX2RpciA9IGJ6cmxpYi5ienJkaXIuQnpyRGlyLmNyZWF0ZShzaGFyZWRfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NzaWJsZV90cmFuc3BvcnRzPXRyYW5zcG9ydHMpCiAgICAgdHJ5OgogICAgICAgICBzaGFyZWRfcmVwbyA9IHNoYXJlZF9kaXIub3Blbl9yZXBvc2l0b3J5KCkKICAgICBleGNlcHQgYnpybGliLmVycm9ycy5Ob1JlcG9zaXRvcnlQcmVzZW50OgpAQCAtODQ0LDE2ICs4MjQsMjEgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgICMgY2hlY2sgYW5kIHJlbW92ZSBvbGQgb3JnYW5pemF0aW9uCiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgYmRpciA9IGJ6cmxpYi5ienJkaXIuQnpyRGlyLm9wZW4oY2xvbmVfcGF0aCkKKyAgICAgICAgICAgICAgICBiZGlyID0gYnpybGliLmJ6cmRpci5CenJEaXIub3BlbihjbG9uZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc3NpYmxlX3RyYW5zcG9ydHM9dHJhbnNwb3J0cykKICAgICAgICAgICAgICAgICBiZGlyLmRlc3Ryb3lfcmVwb3NpdG9yeSgpCiAgICAgICAgICAgICBleGNlcHQgYnpybGliLmVycm9ycy5Ob3RCcmFuY2hFcnJvcjoKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBleGNlcHQgYnpybGliLmVycm9ycy5Ob1JlcG9zaXRvcnlQcmVzZW50OgogICAgICAgICAgICAgICAgIHBhc3MKIAotICAgIHdhbnRlZCA9IGdldF9jb25maWcoJ3JlbW90ZS1ienIuYnJhbmNoZXMnKS5yc3RyaXAoKS5zcGxpdCgnLCAnKQorICAgIHdhbnRlZCA9IGdldF9jb25maWcoJ3JlbW90ZS4lcy5ienItYnJhbmNoZXMnICUgYWxpYXMpLnJzdHJpcCgpLnNwbGl0KCcsICcpCiAgICAgIyBzdHVwaWQgcHl0aG9uCiAgICAgd2FudGVkID0gW2UgZm9yIGUgaW4gd2FudGVkIGlmIGVdCisgICAgaWYgbm90IHdhbnRlZDoKKyAgICAgICAgd2FudGVkID0gZ2V0X2NvbmZpZygncmVtb3RlLWJ6ci5icmFuY2hlcycpLnJzdHJpcCgpLnNwbGl0KCcsICcpCisgICAgICAgICMgc3R1cGlkIHB5dGhvbgorICAgICAgICB3YW50ZWQgPSBbZSBmb3IgZSBpbiB3YW50ZWQgaWYgZV0KIAogICAgIGlmIG5vdCB3YW50ZWQ6CiAgICAgICAgIHRyeToKQEAgLTg5Nyw2ICs4ODIsNyBAQAogICAgIGdsb2JhbCBmaWxlc19jYWNoZQogICAgIGdsb2JhbCBpc190bXAKICAgICBnbG9iYWwgYnJhbmNoZXMsIHBlZXJzCisgICAgZ2xvYmFsIHRyYW5zcG9ydHMKIAogICAgIGFsaWFzID0gYXJnc1sxXQogICAgIHVybCA9IGFyZ3NbMl0KQEAgLTkwOSw2ICs4OTUsNyBAQAogICAgIG1hcmtzID0gTm9uZQogICAgIGJyYW5jaGVzID0ge30KICAgICBwZWVycyA9IHt9CisgICAgdHJhbnNwb3J0cyA9IFtdCiAKICAgICBpZiBhbGlhc1s1Ol0gPT0gdXJsOgogICAgICAgICBpc190bXAgPSBUcnVlCmRpZmYgLS1naXQgYS9jb250cmliL3JlbW90ZS1oZWxwZXJzL2dpdC1yZW1vdGUtaGcgYi9jb250cmliL3JlbW90ZS1oZWxwZXJzL2dpdC1yZW1vdGUtaGcKaW5kZXggMWM3MTNlMC4uYzYwMjZiOSAxMDA3NTUKLS0tIGEvY29udHJpYi9yZW1vdGUtaGVscGVycy9naXQtcmVtb3RlLWhnCisrKyBiL2NvbnRyaWIvcmVtb3RlLWhlbHBlcnMvZ2l0LXJlbW90ZS1oZwpAQCAtMjMsOCArMjMsMTIgQEAKIGltcG9ydCB1cmxsaWIKIGltcG9ydCBhdGV4aXQKIGltcG9ydCB1cmxwYXJzZSwgaGFzaGxpYgoraW1wb3J0IHRpbWUgYXMgcHRpbWUKIAogIworIyBJZiB5b3Ugd2FudCB0byBzZWUgTWVyY3VyaWFsIHJldmlzaW9ucyBhcyBHaXQgY29tbWl0IG5vdGVzOgorIyBnaXQgY29uZmlnIGNvcmUubm90ZXNSZWYgcmVmcy9ub3Rlcy9oZworIwogIyBJZiB5b3UgYXJlIG5vdCBpbiBoZy1naXQtY29tcGF0IG1vZGUgYW5kIHdhbnQgdG8gZGlzYWJsZSB0aGUgdHJhY2tpbmcgb2YKICMgbmFtZWQgYnJhbmNoZXM6CiAjIGdpdCBjb25maWcgLS1nbG9iYWwgcmVtb3RlLWhnLnRyYWNrLWJyYW5jaGVzIGZhbHNlCkBAIC0xMjYsNiArMTMwLDcgQEAKICAgICAgICAgc2VsZi5yZXZfbWFya3MgPSB7fQogICAgICAgICBzZWxmLmxhc3RfbWFyayA9IDAKICAgICAgICAgc2VsZi52ZXJzaW9uID0gMAorICAgICAgICBzZWxmLmxhc3Rfbm90ZSA9IDAKIAogICAgIGRlZiBsb2FkKHNlbGYpOgogICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc2VsZi5wYXRoKToKQEAgLTEzNyw2ICsxNDIsNyBAQAogICAgICAgICBzZWxmLm1hcmtzID0gdG1wWydtYXJrcyddCiAgICAgICAgIHNlbGYubGFzdF9tYXJrID0gdG1wWydsYXN0LW1hcmsnXQogICAgICAgICBzZWxmLnZlcnNpb24gPSB0bXAuZ2V0KCd2ZXJzaW9uJywgMSkKKyAgICAgICAgc2VsZi5sYXN0X25vdGUgPSB0bXAuZ2V0KCdsYXN0LW5vdGUnLCAwKQogCiAgICAgICAgIGZvciByZXYsIG1hcmsgaW4gc2VsZi5tYXJrcy5pdGVyaXRlbXMoKToKICAgICAgICAgICAgIHNlbGYucmV2X21hcmtzW21hcmtdID0gcmV2CkBAIC0xNTAsNyArMTU2LDcgQEAKICAgICAgICAgc2VsZi52ZXJzaW9uID0gMgogCiAgICAgZGVmIGRpY3Qoc2VsZik6Ci0gICAgICAgIHJldHVybiB7ICd0aXBzJzogc2VsZi50aXBzLCAnbWFya3MnOiBzZWxmLm1hcmtzLCAnbGFzdC1tYXJrJyA6IHNlbGYubGFzdF9tYXJrLCAndmVyc2lvbicgOiBzZWxmLnZlcnNpb24gfQorICAgICAgICByZXR1cm4geyAndGlwcyc6IHNlbGYudGlwcywgJ21hcmtzJzogc2VsZi5tYXJrcywgJ2xhc3QtbWFyaycgOiBzZWxmLmxhc3RfbWFyaywgJ3ZlcnNpb24nIDogc2VsZi52ZXJzaW9uLCAnbGFzdC1ub3RlJyA6IHNlbGYubGFzdF9ub3RlIH0KIAogICAgIGRlZiBzdG9yZShzZWxmKToKICAgICAgICAganNvbi5kdW1wKHNlbGYuZGljdCgpLCBvcGVuKHNlbGYucGF0aCwgJ3cnKSkKQEAgLTIyNyw4ICsyMzMsNiBAQAogICAgICAgICByZXR1cm4gc3lzLnN0ZGluLnJlYWQoc2l6ZSkKIAogICAgIGRlZiBnZXRfYXV0aG9yKHNlbGYpOgotICAgICAgICBnbG9iYWwgYmFkX21haWwKLQogICAgICAgICBleCA9IE5vbmUKICAgICAgICAgbSA9IFJBV19BVVRIT1JfUkUubWF0Y2goc2VsZi5saW5lKQogICAgICAgICBpZiBub3QgbToKQEAgLTI2MSw4ICsyNjUsNiBAQAogICAgIHJldHVybiBvcy5wYXRoLnJlbHBhdGgocGF0aCwgJy8nKQogCiBkZWYgZXhwb3J0X2ZpbGVzKGZpbGVzKToKLSAgICBnbG9iYWwgbWFya3MsIGZpbGVub2RlcwotCiAgICAgZmluYWwgPSBbXQogICAgIGZvciBmIGluIGZpbGVzOgogICAgICAgICBmaWQgPSBub2RlLmhleChmLmZpbGVub2RlKCkpCkBAIC0zNDQsOCArMzQ2LDYgQEAKICAgICByZXR1cm4gKG5hbWUsIG1haWwpCiAKIGRlZiBmaXh1cF91c2VyKHVzZXIpOgotICAgIGdsb2JhbCBtb2RlLCBiYWRfbWFpbAotCiAgICAgaWYgbW9kZSA9PSAnZ2l0JzoKICAgICAgICAgbmFtZSwgbWFpbCA9IGZpeHVwX3VzZXJfZ2l0KHVzZXIpCiAgICAgZWxzZToKQEAgLTM3NCw3ICszNzQsNyBAQAogICAgICAgICBib29rbWFya3Mud3JpdGUocmVwbykKIAogZGVmIGdldF9yZXBvKHVybCwgYWxpYXMpOgotICAgIGdsb2JhbCBkaXJuYW1lLCBwZWVyCisgICAgZ2xvYmFsIHBlZXIKIAogICAgIG15dWkgPSB1aS51aSgpCiAgICAgbXl1aS5zZXRjb25maWcoJ3VpJywgJ2ludGVyYWN0aXZlJywgJ29mZicpCkBAIC0zOTEsMTEgKzM5MSwyNCBAQAogICAgICAgICAgICAgb3MubWFrZWRpcnMoZGlybmFtZSkKICAgICBlbHNlOgogICAgICAgICBzaGFyZWRfcGF0aCA9IG9zLnBhdGguam9pbihnaXRkaXIsICdoZycpCi0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzaGFyZWRfcGF0aCk6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgaGcuY2xvbmUobXl1aSwge30sIHVybCwgc2hhcmVkX3BhdGgsIHVwZGF0ZT1GYWxzZSwgcHVsbD1UcnVlKQotICAgICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgICAgIGRpZSgnUmVwb3NpdG9yeSBlcnJvcicpCisKKyAgICAgICAgIyBjaGVjayBhbmQgdXBncmFkZSBvbGQgb3JnYW5pemF0aW9uCisgICAgICAgIGhnX3BhdGggPSBvcy5wYXRoLmpvaW4oc2hhcmVkX3BhdGgsICcuaGcnKQorICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhzaGFyZWRfcGF0aCkgYW5kIG5vdCBvcy5wYXRoLmV4aXN0cyhoZ19wYXRoKToKKyAgICAgICAgICAgIHJlcG9zID0gb3MubGlzdGRpcihzaGFyZWRfcGF0aCkKKyAgICAgICAgICAgIGZvciB4IGluIHJlcG9zOgorICAgICAgICAgICAgICAgIGxvY2FsX2hnID0gb3MucGF0aC5qb2luKHNoYXJlZF9wYXRoLCB4LCAnY2xvbmUnLCAnLmhnJykKKyAgICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMobG9jYWxfaGcpOgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhoZ19wYXRoKToKKyAgICAgICAgICAgICAgICAgICAgc2h1dGlsLm1vdmUobG9jYWxfaGcsIGhnX3BhdGgpCisgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShvcy5wYXRoLmpvaW4oc2hhcmVkX3BhdGgsIHgsICdjbG9uZScpKQorCisgICAgICAgICMgc2V0dXAgc2hhcmVkIHJlcG8gKGlmIG5vdCB0aGVyZSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaGcucGVlcihteXVpLCB7fSwgc2hhcmVkX3BhdGgsIGNyZWF0ZT1UcnVlKQorICAgICAgICBleGNlcHQgZXJyb3IuUmVwb0Vycm9yOgorICAgICAgICAgICAgcGFzcwogCiAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhkaXJuYW1lKToKICAgICAgICAgICAgIG9zLm1ha2VkaXJzKGRpcm5hbWUpCkBAIC00MTYsMTYgKzQyOSwxMiBAQAogICAgIHJldHVybiByZXBvCiAKIGRlZiByZXZfdG9fbWFyayhyZXYpOgotICAgIGdsb2JhbCBtYXJrcwogICAgIHJldHVybiBtYXJrcy5mcm9tX3JldihyZXYuaGV4KCkpCiAKIGRlZiBtYXJrX3RvX3JldihtYXJrKToKLSAgICBnbG9iYWwgbWFya3MKICAgICByZXR1cm4gbWFya3MudG9fcmV2KG1hcmspCiAKIGRlZiBleHBvcnRfcmVmKHJlcG8sIG5hbWUsIGtpbmQsIGhlYWQpOgotICAgIGdsb2JhbCBwcmVmaXgsIG1hcmtzLCBtb2RlCi0KICAgICBlbmFtZSA9ICclcy8lcycgJSAoa2luZCwgbmFtZSkKICAgICB0cnk6CiAgICAgICAgIHRpcCA9IG1hcmtzLmdldF90aXAoZW5hbWUpCkBAIC01MjIsNiArNTMxLDMxIEBACiAgICAgcHJpbnQgImZyb20gOiV1IiAlIHJldl90b19tYXJrKGhlYWQpCiAgICAgcHJpbnQKIAorICAgIHBlbmRpbmdfcmV2cyA9IHNldChyZXZzKSAtIG5vdGVzCisgICAgaWYgcGVuZGluZ19yZXZzOgorICAgICAgICBub3RlX21hcmsgPSBtYXJrcy5uZXh0X21hcmsoKQorICAgICAgICByZWYgPSAicmVmcy9ub3Rlcy9oZyIKKworICAgICAgICBwcmludCAiY29tbWl0ICVzIiAlIHJlZgorICAgICAgICBwcmludCAibWFyayA6JWQiICUgKG5vdGVfbWFyaykKKyAgICAgICAgcHJpbnQgImNvbW1pdHRlciByZW1vdGUtaGcgPD4gJXMiICUgKHB0aW1lLnN0cmZ0aW1lKCclcyAleicpKQorICAgICAgICBkZXNjID0gIk5vdGVzIGZvciAlc1xuIiAlIChuYW1lKQorICAgICAgICBwcmludCAiZGF0YSAlZCIgJSAobGVuKGRlc2MpKQorICAgICAgICBwcmludCBkZXNjCisgICAgICAgIGlmIG1hcmtzLmxhc3Rfbm90ZToKKyAgICAgICAgICAgIHByaW50ICJmcm9tIDoldSIgJSBtYXJrcy5sYXN0X25vdGUKKworICAgICAgICBmb3IgcmV2IGluIHBlbmRpbmdfcmV2czoKKyAgICAgICAgICAgIG5vdGVzLmFkZChyZXYpCisgICAgICAgICAgICBjID0gcmVwb1tyZXZdCisgICAgICAgICAgICBwcmludCAiTiBpbmxpbmUgOiV1IiAlIHJldl90b19tYXJrKGMpCisgICAgICAgICAgICBtc2cgPSBjLmhleCgpCisgICAgICAgICAgICBwcmludCAiZGF0YSAlZCIgJSAobGVuKG1zZykpCisgICAgICAgICAgICBwcmludCBtc2cKKyAgICAgICAgcHJpbnQKKworICAgICAgICBtYXJrcy5sYXN0X25vdGUgPSBub3RlX21hcmsKKwogICAgIG1hcmtzLnNldF90aXAoZW5hbWUsIGhlYWQuaGV4KCkpCiAKIGRlZiBleHBvcnRfdGFnKHJlcG8sIHRhZyk6CkBAIC01MzcsMTIgKzU3MSw5IEBACiAgICAgZXhwb3J0X3JlZihyZXBvLCBicmFuY2gsICdicmFuY2hlcycsIGhlYWQpCiAKIGRlZiBleHBvcnRfaGVhZChyZXBvKToKLSAgICBnbG9iYWwgZ19oZWFkCiAgICAgZXhwb3J0X3JlZihyZXBvLCBnX2hlYWRbMF0sICdib29rbWFya3MnLCBnX2hlYWRbMV0pCiAKIGRlZiBkb19jYXBhYmlsaXRpZXMocGFyc2VyKToKLSAgICBnbG9iYWwgcHJlZml4LCBkaXJuYW1lCi0KICAgICBwcmludCAiaW1wb3J0IgogICAgIHByaW50ICJleHBvcnQiCiAgICAgcHJpbnQgInJlZnNwZWMgcmVmcy9oZWFkcy9icmFuY2hlcy8qOiVzL2JyYW5jaGVzLyoiICUgcHJlZml4CkBAIC01NjIsOCArNTkzLDYgQEAKICAgICByZXR1cm4gYnJhbmNoZXNbYnJhbmNoXVstMV0KIAogZGVmIGdldF9icmFuY2hfdGlwKHJlcG8sIGJyYW5jaCk6Ci0gICAgZ2xvYmFsIGJyYW5jaGVzCi0KICAgICBoZWFkcyA9IGJyYW5jaGVzLmdldChoZ3JlZihicmFuY2gpLCBOb25lKQogICAgIGlmIG5vdCBoZWFkczoKICAgICAgICAgcmV0dXJuIE5vbmUKQEAgLTU3Niw3ICs2MDUsNyBAQAogICAgIHJldHVybiBoZWFkc1swXQogCiBkZWYgbGlzdF9oZWFkKHJlcG8sIGN1cik6Ci0gICAgZ2xvYmFsIGdfaGVhZCwgYm1hcmtzLCBmYWtlX2JtYXJrCisgICAgZ2xvYmFsIGdfaGVhZCwgZmFrZV9ibWFyawogCiAgICAgaWYgJ2RlZmF1bHQnIG5vdCBpbiBicmFuY2hlczoKICAgICAgICAgIyBlbXB0eSByZXBvCkBAIC01OTIsOCArNjIxLDYgQEAKICAgICBnX2hlYWQgPSAoaGVhZCwgbm9kZSkKIAogZGVmIGRvX2xpc3QocGFyc2VyKToKLSAgICBnbG9iYWwgYnJhbmNoZXMsIGJtYXJrcywgdHJhY2tfYnJhbmNoZXMKLQogICAgIHJlcG8gPSBwYXJzZXIucmVwbwogICAgIGZvciBibWFyaywgbm9kZSBpbiBib29rbWFya3MubGlzdGJvb2ttYXJrcyhyZXBvKS5pdGVyaXRlbXMoKToKICAgICAgICAgYm1hcmtzW2JtYXJrXSA9IHJlcG9bbm9kZV0KQEAgLTY2MSw4ICs2ODgsNiBAQAogICAgIHByaW50ICdkb25lJwogCiBkZWYgcGFyc2VfYmxvYihwYXJzZXIpOgotICAgIGdsb2JhbCBibG9iX21hcmtzCi0KICAgICBwYXJzZXIubmV4dCgpCiAgICAgbWFyayA9IHBhcnNlci5nZXRfbWFyaygpCiAgICAgcGFyc2VyLm5leHQoKQpAQCAtNjg0LDkgKzcwOSw2IEBACiAgICAgcmV0dXJuIHN0cmluZwogCiBkZWYgcGFyc2VfY29tbWl0KHBhcnNlcik6Ci0gICAgZ2xvYmFsIG1hcmtzLCBibG9iX21hcmtzLCBwYXJzZWRfcmVmcwotICAgIGdsb2JhbCBtb2RlCi0KICAgICBmcm9tX21hcmsgPSBtZXJnZV9tYXJrID0gTm9uZQogCiAgICAgcmVmID0gcGFyc2VyWzFdCkBAIC04MDUsOCArODI3LDYgQEAKICAgICBtYXJrcy5uZXdfbWFyayhub2RlLCBjb21taXRfbWFyaykKIAogZGVmIHBhcnNlX3Jlc2V0KHBhcnNlcik6Ci0gICAgZ2xvYmFsIHBhcnNlZF9yZWZzCi0KICAgICByZWYgPSBwYXJzZXJbMV0KICAgICBwYXJzZXIubmV4dCgpCiAgICAgIyB1Z2gKQEAgLTk5OSw4ICsxMDE5LDYgQEAKICAgICAgICAgcmV0dXJuIHRpcCBpbiBoZWFkcwogCiBkZWYgZG9fZXhwb3J0KHBhcnNlcik6Ci0gICAgZ2xvYmFsIHBhcnNlZF9yZWZzLCBibWFya3MsIHBlZXIKLQogICAgIHBfYm1hcmtzID0gW10KICAgICBwX3JldnMgPSB7fQogCkBAIC0xMDcyLDcgKzEwOTAsNyBAQAogICAgICAgICAgICAgYXV0aG9yLCBtc2cgPSBwYXJzZWRfdGFncy5nZXQodGFnLCAoTm9uZSwgTm9uZSkpCiAgICAgICAgICAgICBpZiBtb2RlID09ICdnaXQnOgogICAgICAgICAgICAgICAgIGlmIG5vdCBtc2c6Ci0gICAgICAgICAgICAgICAgICAgIG1zZyA9ICdBZGRlZCB0YWcgJXMgZm9yIGNoYW5nZXNldCAlcycgJSAodGFnLCBub2RlWzoxMl0pOworICAgICAgICAgICAgICAgICAgICBtc2cgPSAnQWRkZWQgdGFnICVzIGZvciBjaGFuZ2VzZXQgJXMnICUgKHRhZywgbm9kZVs6MTJdKQogICAgICAgICAgICAgICAgIHRhZ25vZGUsIGJyYW5jaCA9IHdyaXRlX3RhZyhwYXJzZXIucmVwbywgdGFnLCBub2RlLCBtc2csIGF1dGhvcikKICAgICAgICAgICAgICAgICBwX3JldnNbdGFnbm9kZV0gPSAncmVmcy9oZWFkcy9icmFuY2hlcy8nICsgZ2l0cmVmKGJyYW5jaCkKICAgICAgICAgICAgIGVsc2U6CkBAIC0xMTMwLDcgKzExNDgsNyBAQAogCiBkZWYgZml4X3BhdGgoYWxpYXMsIHJlcG8sIG9yaWdfdXJsKToKICAgICB1cmwgPSB1cmxwYXJzZS51cmxwYXJzZShvcmlnX3VybCwgJ2ZpbGUnKQotICAgIGlmIHVybC5zY2hlbWUgIT0gJ2ZpbGUnIG9yIG9zLnBhdGguaXNhYnModXJsLnBhdGgpOgorICAgIGlmIHVybC5zY2hlbWUgIT0gJ2ZpbGUnIG9yIG9zLnBhdGguaXNhYnMob3MucGF0aC5leHBhbmR1c2VyKHVybC5wYXRoKSk6CiAgICAgICAgIHJldHVybgogICAgIGFic191cmwgPSB1cmxwYXJzZS51cmxqb2luKCIlcy8iICUgb3MuZ2V0Y3dkKCksIG9yaWdfdXJsKQogICAgIGNtZCA9IFsnZ2l0JywgJ2NvbmZpZycsICdyZW1vdGUuJXMudXJsJyAlIGFsaWFzLCAiaGc6OiVzIiAlIGFic191cmxdCkBAIC0xMTQ1LDYgKzExNjMsNyBAQAogICAgIGdsb2JhbCBmaWxlbm9kZXMKICAgICBnbG9iYWwgZmFrZV9ibWFyaywgaGdfdmVyc2lvbgogICAgIGdsb2JhbCBkcnlfcnVuCisgICAgZ2xvYmFsIG5vdGVzLCBhbGlhcwogCiAgICAgYWxpYXMgPSBhcmdzWzFdCiAgICAgdXJsID0gYXJnc1syXQpAQCAtMTE4NCw2ICsxMjAzLDcgQEAKICAgICBleGNlcHQ6CiAgICAgICAgIGhnX3ZlcnNpb24gPSBOb25lCiAgICAgZHJ5X3J1biA9IEZhbHNlCisgICAgbm90ZXMgPSBzZXQoKQogCiAgICAgcmVwbyA9IGdldF9yZXBvKHVybCwgYWxpYXMpCiAgICAgcHJlZml4ID0gJ3JlZnMvaGcvJXMnICUgYWxpYXMKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcmVtb3RlLWhlbHBlcnMvdGVzdC1ienIuc2ggYi9jb250cmliL3JlbW90ZS1oZWxwZXJzL3Rlc3QtYnpyLnNoCmluZGV4IGRjZTI4MWYuLjVjNTAyNTEgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvcmVtb3RlLWhlbHBlcnMvdGVzdC1ienIuc2gKKysrIGIvY29udHJpYi9yZW1vdGUtaGVscGVycy90ZXN0LWJ6ci5zaApAQCAtNywxOSArNywyMSBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAotaWYgISB0ZXN0X2hhdmVfcHJlcmVxIFBZVEhPTjsgdGhlbgoraWYgISB0ZXN0X2hhdmVfcHJlcmVxIFBZVEhPTgordGhlbgogCXNraXBfYWxsPSdza2lwcGluZyByZW1vdGUtYnpyIHRlc3RzOyBweXRob24gbm90IGF2YWlsYWJsZScKIAl0ZXN0X2RvbmUKIGZpCiAKLWlmICEgcHl0aG9uIC1jICdpbXBvcnQgYnpybGliJzsgdGhlbgoraWYgISBweXRob24gLWMgJ2ltcG9ydCBienJsaWInCit0aGVuCiAJc2tpcF9hbGw9J3NraXBwaW5nIHJlbW90ZS1ienIgdGVzdHM7IGJ6ciBub3QgYXZhaWxhYmxlJwogCXRlc3RfZG9uZQogZmkKIAogY2hlY2sgKCkgewotCWVjaG8gJDMgPiBleHBlY3RlZCAmJgotCWdpdCAtLWdpdC1kaXI9JDEvLmdpdCBsb2cgLS1mb3JtYXQ9JyVzJyAtMSAkMiA+IGFjdHVhbAorCWVjaG8gJDMgPmV4cGVjdGVkICYmCisJZ2l0IC0tZ2l0LWRpcj0kMS8uZ2l0IGxvZyAtLWZvcm1hdD0nJXMnIC0xICQyID5hY3R1YWwKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKIH0KIApAQCAtMjksNyArMzEsNyBAQAogCSgKIAlienIgaW5pdCBienJyZXBvICYmCiAJY2QgYnpycmVwbyAmJgotCWVjaG8gb25lID4gY29udGVudCAmJgorCWVjaG8gb25lID5jb250ZW50ICYmCiAJYnpyIGFkZCBjb250ZW50ICYmCiAJYnpyIGNvbW1pdCAtbSBvbmUKIAkpICYmCkBAIC00MSw3ICs0Myw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdWxsaW5nJyAnCiAJKAogCWNkIGJ6cnJlcG8gJiYKLQllY2hvIHR3byA+IGNvbnRlbnQgJiYKKwllY2hvIHR3byA+Y29udGVudCAmJgogCWJ6ciBjb21taXQgLW0gdHdvCiAJKSAmJgogCkBAIC01MywxMyArNTUsMTMgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2hpbmcnICcKIAkoCiAJY2QgZ2l0cmVwbyAmJgotCWVjaG8gdGhyZWUgPiBjb250ZW50ICYmCisJZWNobyB0aHJlZSA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLWEgLW0gdGhyZWUgJiYKIAlnaXQgcHVzaAogCSkgJiYKIAotCWVjaG8gdGhyZWUgPiBleHBlY3RlZCAmJgotCWNhdCBienJyZXBvL2NvbnRlbnQgPiBhY3R1YWwgJiYKKwllY2hvIHRocmVlID5leHBlY3RlZCAmJgorCWNhdCBienJyZXBvL2NvbnRlbnQgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCkBAIC02NywxNiArNjksMTYgQEAKIAkoCiAJY2QgZ2l0cmVwbyAmJgogCWdpdCBwdWxsICYmCi0JZ2l0IGxvZyAtLWZvcm1hdD0iJXMiIC0xIG9yaWdpbi9tYXN0ZXIgPiBhY3R1YWwKKwlnaXQgbG9nIC0tZm9ybWF0PSIlcyIgLTEgb3JpZ2luL21hc3RlciA+YWN0dWFsCiAJKSAmJgotCWVjaG8gdGhyZWUgPiBleHBlY3RlZCAmJgorCWVjaG8gdGhyZWUgPmV4cGVjdGVkICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCiAKIAkoY2QgZ2l0cmVwbyAmJiBnaXQgcHVzaCAmJiBnaXQgcHVsbCkgJiYKIAogCSgKIAljZCBienJyZXBvICYmCi0JZWNobyBmb3VyID4gY29udGVudCAmJgorCWVjaG8gZm91ciA+Y29udGVudCAmJgogCWJ6ciBjb21taXQgLW0gZm91cgogCSkgJiYKIApAQCAtODYsMTkgKzg4LDE5IEBACiAKIAkoCiAJY2QgZ2l0cmVwbyAmJgotCWVjaG8gZml2ZSA+IGNvbnRlbnQgJiYKKwllY2hvIGZpdmUgPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1hIC1tIGZpdmUgJiYKIAlnaXQgcHVzaCAmJiBnaXQgcHVsbAogCSkgJiYKIAogCShjZCBienJyZXBvICYmIGJ6ciByZXZlcnQpICYmCiAKLQllY2hvIGZpdmUgPiBleHBlY3RlZCAmJgotCWNhdCBienJyZXBvL2NvbnRlbnQgPiBhY3R1YWwgJiYKKwllY2hvIGZpdmUgPmV4cGVjdGVkICYmCisJY2F0IGJ6cnJlcG8vY29udGVudCA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKLWNhdCA+IGV4cGVjdGVkIDw8RU9GCitjYXQgPmV4cGVjdGVkIDw8XEVPRgogMTAwNjQ0IGJsb2IgNTRmOWQ2ZGE1YzkxZDU1NmU2YjU0MzQwYjEzMjc1NzMwNzMwMzBhZgljb250ZW50CiAxMDA3NTUgYmxvYiA2ODc2OTU3OWMzZWFhZGJlNTU1Mzc5YjljMzUzOGU2NjI4YmFlMWViCWV4ZWN1dGFibGUKIDEyMDAwMCBibG9iIDZiNTg0ZThlY2U1NjJlYmZmYzE1ZDM4ODA4Y2Q2Yjk4ZmMzZDk3ZWEJbGluawpAQCAtMTA3LDcgKzEwOSw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzcGVjaWFsIG1vZGVzJyAnCiAJKAogCWNkIGJ6cnJlcG8gJiYKLQllY2hvIGV4ZWMgPiBleGVjdXRhYmxlCisJZWNobyBleGVjID5leGVjdXRhYmxlCiAJY2htb2QgK3ggZXhlY3V0YWJsZSAmJgogCWJ6ciBhZGQgZXhlY3V0YWJsZQogCWJ6ciBjb21taXQgLW0gZXhlYyAmJgpAQCAtMTIyLDIxICsxMjQsMjEgQEAKIAkoCiAJY2QgZ2l0cmVwbyAmJgogCWdpdCBwdWxsCi0JZ2l0IGxzLXRyZWUgSEVBRCA+IC4uL2FjdHVhbAorCWdpdCBscy10cmVlIEhFQUQgPi4uL2FjdHVhbAogCSkgJiYKIAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgogCiAJKAogCWNkIGdpdHJlcG8gJiYKLQlnaXQgY2F0LWZpbGUgLXAgSEVBRDpsaW5rID4gLi4vYWN0dWFsCisJZ2l0IGNhdC1maWxlIC1wIEhFQUQ6bGluayA+Li4vYWN0dWFsCiAJKSAmJgogCi0JcHJpbnRmIGNvbnRlbnQgPiBleHBlY3RlZCAmJgorCXByaW50ZiBjb250ZW50ID5leHBlY3RlZCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCi1jYXQgPiBleHBlY3RlZCA8PEVPRgorY2F0ID5leHBlY3RlZCA8PFxFT0YKIDEwMDY0NCBibG9iIDU0ZjlkNmRhNWM5MWQ1NTZlNmI1NDM0MGIxMzI3NTczMDczMDMwYWYJY29udGVudAogMTAwNzU1IGJsb2IgNjg3Njk1NzljM2VhYWRiZTU1NTM3OWI5YzM1MzhlNjYyOGJhZTFlYglleGVjdXRhYmxlCiAxMjAwMDAgYmxvYiA2YjU4NGU4ZWNlNTYyZWJmZmMxNWQzODgwOGNkNmI5OGZjM2Q5N2VhCWxpbmsKQEAgLTE0Nyw4ICsxNDksOCBAQAogCSgKIAljZCBienJyZXBvICYmCiAJbWtkaXIgbW92ZWRpciAmJgotCWVjaG8gb25lID4gbW92ZWRpci9vbmUgJiYKLQllY2hvIHR3byA+IG1vdmVkaXIvdHdvICYmCisJZWNobyBvbmUgPm1vdmVkaXIvb25lICYmCisJZWNobyB0d28gPm1vdmVkaXIvdHdvICYmCiAJYnpyIGFkZCBtb3ZlZGlyICYmCiAJYnpyIGNvbW1pdCAtbSBtb3ZlZGlyICYmCiAJYnpyIG12IG1vdmVkaXIgbW92ZWRpci1uZXcgJiYKQEAgLTE1OCw3ICsxNjAsNyBAQAogCSgKIAljZCBnaXRyZXBvICYmCiAJZ2l0IHB1bGwgJiYKLQlnaXQgbHMtdHJlZSBIRUFEID4gLi4vYWN0dWFsCisJZ2l0IGxzLXRyZWUgSEVBRCA+Li4vYWN0dWFsCiAJKSAmJgogCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCkBAIC0xNjcsNyArMTY5LDcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmZlcmVudCBhdXRob3JzJyAnCiAJKAogCWNkIGJ6cnJlcG8gJiYKLQllY2hvIGpvaG4gPj4gY29udGVudCAmJgorCWVjaG8gam9obiA+PmNvbnRlbnQgJiYKIAlienIgY29tbWl0IC1tIGpvaG4gXAogCSAgLS1hdXRob3IgIkphbmUgUmV5IDxqcmV5QGV4YW1wbGUuY29tPiIgXAogCSAgLS1hdXRob3IgIkpvaG4gRG9lIDxqZG9lQGV4YW1wbGUuY29tPiIKQEAgLTE3NiwxMCArMTc4LDEwIEBACiAJKAogCWNkIGdpdHJlcG8gJiYKIAlnaXQgcHVsbCAmJgotCWdpdCBzaG93IC0tZm9ybWF0PSIlYW4gPCVhZT4sICVjbiA8JWNlPiIgLS1xdWlldCA+IC4uL2FjdHVhbAorCWdpdCBzaG93IC0tZm9ybWF0PSIlYW4gPCVhZT4sICVjbiA8JWNlPiIgLS1xdWlldCA+Li4vYWN0dWFsCiAJKSAmJgogCi0JZWNobyAiSmFuZSBSZXkgPGpyZXlAZXhhbXBsZS5jb20+LCBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPiIgPiBleHBlY3RlZCAmJgorCWVjaG8gIkphbmUgUmV5IDxqcmV5QGV4YW1wbGUuY29tPiwgQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4iID5leHBlY3RlZCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCkBAIC0xOTYsMTIgKzE5OCwxMiBAQAogCWJ6ciBpbml0IGJ6cnJlcG8gJiYKIAljZCBienJyZXBvICYmCiAKLQllY2hvIHRlc3QgPj4gIsOmcsO4IiAmJgorCWVjaG8gdGVzdCA+PiLDpnLDuCIgJiYKIAlienIgYWRkICLDpnLDuCIgJiYKLQllY2hvIHRlc3QgPj4gIsO4fj8iICYmCisJZWNobyB0ZXN0ID4+IsO4fj8iICYmCiAJYnpyIGFkZCAiw7h+PyIgJiYKIAlienIgY29tbWl0IC1tIGFkZC11dGYtOCAmJgotCWVjaG8gdGVzdCA+PiAiw6Zyw7giICYmCisJZWNobyB0ZXN0ID4+IsOmcsO4IiAmJgogCWJ6ciBjb21taXQgLW0gdGVzdC11dGYtOCAmJgogCWJ6ciBybSAiw7h+PyIgJiYKIAlienIgbXYgIsOmcsO4IiAiw7h+PyIgJiYKQEAgLTIxMSw5ICsyMTMsOSBAQAogCSgKIAlnaXQgY2xvbmUgImJ6cjo6YnpycmVwbyIgZ2l0cmVwbyAmJgogCWNkIGdpdHJlcG8gJiYKLQlnaXQgLWMgY29yZS5xdW90ZXBhdGg9ZmFsc2UgbHMtZmlsZXMgPiAuLi9hY3R1YWwKKwlnaXQgLWMgY29yZS5xdW90ZXBhdGg9ZmFsc2UgbHMtZmlsZXMgPi4uL2FjdHVhbAogCSkgJiYKLQllY2hvICLDuH4/IiA+IGV4cGVjdGVkICYmCisJZWNobyAiw7h+PyIgPmV4cGVjdGVkICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKQEAgLTIyOSw3ICsyMzEsNyBAQAogCWJ6ciBpbml0IGJ6cnJlcG8gJiYKIAljZCBienJyZXBvICYmCiAKLQllY2hvIG9uZSA+PiBjb250ZW50ICYmCisJZWNobyBvbmUgPj5jb250ZW50ICYmCiAJYnpyIGFkZCBjb250ZW50ICYmCiAJYnpyIGNvbW1pdCAtbSBvbmUKIAkpICYmCkBAIC0yMzgsMTUgKzI0MCwxNSBAQAogCWdpdCBjbG9uZSAiYnpyOjpienJyZXBvIiBnaXRyZXBvICYmCiAJY2QgZ2l0cmVwbyAmJgogCi0JZWNobyB0ZXN0ID4+ICLDpnLDuCIgJiYKKwllY2hvIHRlc3QgPj4iw6Zyw7giICYmCiAJZ2l0IGFkZCAiw6Zyw7giICYmCiAJZ2l0IGNvbW1pdCAtbSB1dGYtOCAmJgogCiAJZ2l0IHB1c2gKIAkpICYmCiAKLQkoY2QgYnpycmVwbyAmJiBienIgbHMgPiAuLi9hY3R1YWwpICYmCi0JcHJpbnRmICJjb250ZW50XG7DpnLDuFxuIiA+IGV4cGVjdGVkICYmCisJKGNkIGJ6cnJlcG8gJiYgYnpyIGxzID4uLi9hY3R1YWwpICYmCisJcHJpbnRmICJjb250ZW50XG7DpnLDuFxuIiA+ZXhwZWN0ZWQgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIApAQCAtMjU2LDcgKzI1OCw3IEBACiAJKAogCWJ6ciBpbml0IGJ6cnJlcG8gJiYKIAljZCBienJyZXBvICYmCi0JZWNobyBvbmUgPiBjb250ZW50ICYmCisJZWNobyBvbmUgPmNvbnRlbnQgJiYKIAlienIgYWRkIGNvbnRlbnQgJiYKIAlienIgY29tbWl0IC1tIG9uZQogCSkgJiYKQEAgLTI2NSwyNyArMjY3LDI3IEBACiAKIAkoCiAJY2QgYnpycmVwbyAmJgotCWVjaG8gdHdvID4gY29udGVudCAmJgorCWVjaG8gdHdvID5jb250ZW50ICYmCiAJYnpyIGNvbW1pdCAtbSB0d28KIAkpICYmCiAKIAkoCiAJY2QgZ2l0cmVwbyAmJgotCWVjaG8gdGhyZWUgPiBjb250ZW50ICYmCisJZWNobyB0aHJlZSA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLWEgLW0gdGhyZWUgJiYKIAlnaXQgZmV0Y2ggJiYKIAlnaXQgbWVyZ2Ugb3JpZ2luL21hc3RlciB8fCB0cnVlICYmCi0JZWNobyB0aHJlZSA+IGNvbnRlbnQgJiYKKwllY2hvIHRocmVlID5jb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtYSAtLW5vLWVkaXQgJiYKIAlnaXQgcHVzaAogCSkgJiYKIAotCWVjaG8gdGhyZWUgPiBleHBlY3RlZCAmJgotCWNhdCBienJyZXBvL2NvbnRlbnQgPiBhY3R1YWwgJiYKKwllY2hvIHRocmVlID5leHBlY3RlZCAmJgorCWNhdCBienJyZXBvL2NvbnRlbnQgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCi1jYXQgPiBleHBlY3RlZCA8PEVPRgorY2F0ID5leHBlY3RlZCA8PFxFT0YKIG9yaWdpbi9IRUFECiBvcmlnaW4vYnJhbmNoCiBvcmlnaW4vdHJ1bmsKQEAgLTI5OSw3ICszMDEsNyBAQAogCSgKIAlienIgaW5pdCBienJyZXBvL3RydW5rICYmCiAJY2QgYnpycmVwby90cnVuayAmJgotCWVjaG8gb25lID4+IGNvbnRlbnQgJiYKKwllY2hvIG9uZSA+PmNvbnRlbnQgJiYKIAlienIgYWRkIGNvbnRlbnQgJiYKIAlienIgY29tbWl0IC1tIG9uZQogCSkgJiYKQEAgLTMwNywxNCArMzA5LDE0IEBACiAJKAogCWJ6ciBicmFuY2ggYnpycmVwby90cnVuayBienJyZXBvL2JyYW5jaCAmJgogCWNkIGJ6cnJlcG8vYnJhbmNoICYmCi0JZWNobyB0d28gPj4gY29udGVudCAmJgorCWVjaG8gdHdvID4+Y29udGVudCAmJgogCWJ6ciBjb21taXQgLW0gb25lCiAJKSAmJgogCiAJKAogCWdpdCBjbG9uZSAiYnpyOjpienJyZXBvIiBnaXRyZXBvICYmCiAJY2QgZ2l0cmVwbyAmJgotCWdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQgIiUocmVmbmFtZTpzaG9ydCkiIHJlZnMvcmVtb3Rlcy9vcmlnaW4gPiAuLi9hY3R1YWwKKwlnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0ICIlKHJlZm5hbWU6c2hvcnQpIiByZWZzL3JlbW90ZXMvb3JpZ2luID4uLi9hY3R1YWwKIAkpICYmCiAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKQEAgLTMyNywxMSArMzI5LDExIEBACiAJYnpyIGluaXQgYnpycmVwbyAmJgogCWNkIGJ6cnJlcG8gJiYKIAotCWVjaG8gb25lID4+IGNvbnRlbnQgJiYKKwllY2hvIG9uZSA+PmNvbnRlbnQgJiYKIAlienIgYWRkIGNvbnRlbnQgJiYKIAlienIgY29tbWl0IC1tIG9uZSAmJgogCi0JZWNobyB0d28gPj4gY29udGVudCAmJgorCWVjaG8gdHdvID4+Y29udGVudCAmJgogCWJ6ciBjb21taXQgLW0gdHdvCiAJKSAmJgogCkBAIC0zNDEsMjEgKzM0Myw1MSBAQAogCWNkIGJ6cnJlcG8gJiYKIAlienIgdW5jb21taXQgLS1mb3JjZSAmJgogCi0JZWNobyB0aHJlZSA+PiBjb250ZW50ICYmCisJZWNobyB0aHJlZSA+PmNvbnRlbnQgJiYKIAlienIgY29tbWl0IC1tIHRocmVlICYmCiAKLQllY2hvIGZvdXIgPj4gY29udGVudCAmJgorCWVjaG8gZm91ciA+PmNvbnRlbnQgJiYKIAlienIgY29tbWl0IC1tIGZvdXIgJiYKLQlienIgbG9nIC0tbGluZSB8IHNlZCAtZSAicy9eWzAtOV1bMC05XSo6IC8vIiA+IC4uL2V4cGVjdGVkCisJYnpyIGxvZyAtLWxpbmUgfCBzZWQgLWUgInMvXlswLTldWzAtOV0qOiAvLyIgPi4uL2V4cGVjdGVkCiAJKSAmJgogCiAJKAogCWNkIGdpdHJlcG8gJiYKIAlnaXQgZmV0Y2ggJiYKLQlnaXQgbG9nIC0tZm9ybWF0PSIlYW4gJWFkICVzIiAtLWRhdGU9c2hvcnQgb3JpZ2luL21hc3RlciA+IC4uL2FjdHVhbAorCWdpdCBsb2cgLS1mb3JtYXQ9IiVhbiAlYWQgJXMiIC0tZGF0ZT1zaG9ydCBvcmlnaW4vbWFzdGVyID4uLi9hY3R1YWwKIAkpICYmCiAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZXhwb3J0IHV0Zi04IGF1dGhvcnMnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBienJyZXBvIGdpdHJlcG8gJiYgTENfQUxMPUMgJiYgdW5zZXQgR0lUX0NPTU1JVFRFUl9OQU1FIiAmJgorCisJTENfQUxMPWVuX1VTLlVURi04CisJZXhwb3J0IExDX0FMTAorCisJR0lUX0NPTU1JVFRFUl9OQU1FPSJHcsOpZ29pcmUiCisJZXhwb3J0IEdJVF9DT01NSVRURVJfTkFNRQorCisJYnpyIGluaXQgYnpycmVwbyAmJgorCisJKAorCWdpdCBpbml0IGdpdHJlcG8gJiYKKwljZCBnaXRyZXBvICYmCisJZWNobyBncmVnID4+Y29udGVudCAmJgorCWdpdCBhZGQgY29udGVudCAmJgorCWdpdCBjb21taXQgLW0gb25lICYmCisJZ2l0IHJlbW90ZSBhZGQgYnpyICJienI6Oi4uL2J6cnJlcG8iICYmCisJZ2l0IHB1c2ggYnpyCisJKSAmJgorCisJKAorCWNkIGJ6cnJlcG8gJiYKKwlienIgbG9nIHwgZ3JlcCAiXmNvbW1pdHRlcjogIiA+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+Im91dHB1dC0keCIKIAlkb25lICYmCiAKIAl0ZXN0X2NtcCBvdXRwdXQtaGcgb3V0cHV0LWdpdApkaWZmIC0tZ2l0IGEvY29udHJpYi9yZW1vdGUtaGVscGVycy90ZXN0LWhnLnNoIGIvY29udHJpYi9yZW1vdGUtaGVscGVycy90ZXN0LWhnLnNoCmluZGV4IGY3Y2U4YWEuLjcyZjc0NWQgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvcmVtb3RlLWhlbHBlcnMvdGVzdC1oZy5zaAorKysgYi9jb250cmliL3JlbW90ZS1oZWxwZXJzL3Rlc3QtaGcuc2gKQEAgLTEwLDQwICsxMCw0NCBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAotaWYgISB0ZXN0X2hhdmVfcHJlcmVxIFBZVEhPTjsgdGhlbgoraWYgISB0ZXN0X2hhdmVfcHJlcmVxIFBZVEhPTgordGhlbgogCXNraXBfYWxsPSdza2lwcGluZyByZW1vdGUtaGcgdGVzdHM7IHB5dGhvbiBub3QgYXZhaWxhYmxlJwogCXRlc3RfZG9uZQogZmkKIAotaWYgISBweXRob24gLWMgJ2ltcG9ydCBtZXJjdXJpYWwnOyB0aGVuCitpZiAhIHB5dGhvbiAtYyAnaW1wb3J0IG1lcmN1cmlhbCcKK3RoZW4KIAlza2lwX2FsbD0nc2tpcHBpbmcgcmVtb3RlLWhnIHRlc3RzOyBtZXJjdXJpYWwgbm90IGF2YWlsYWJsZScKIAl0ZXN0X2RvbmUKIGZpCiAKIGNoZWNrICgpIHsKLQllY2hvICQzID4gZXhwZWN0ZWQgJiYKLQlnaXQgLS1naXQtZGlyPSQxLy5naXQgbG9nIC0tZm9ybWF0PSclcycgLTEgJDIgPiBhY3R1YWwKKwllY2hvICQzID5leHBlY3RlZCAmJgorCWdpdCAtLWdpdC1kaXI9JDEvLmdpdCBsb2cgLS1mb3JtYXQ9JyVzJyAtMSAkMiA+YWN0dWFsCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiB9CiAKIGNoZWNrX2JyYW5jaCAoKSB7Ci0JaWYgWyAtbiAiJDMiIF07IHRoZW4KLQkJZWNobyAkMyA+IGV4cGVjdGVkICYmCi0JCWhnIC1SICQxIGxvZyAtciAkMiAtLXRlbXBsYXRlICd7ZGVzY31cbicgPiBhY3R1YWwgJiYKKwlpZiB0ZXN0IC1uICIkMyIKKwl0aGVuCisJCWVjaG8gJDMgPmV4cGVjdGVkICYmCisJCWhnIC1SICQxIGxvZyAtciAkMiAtLXRlbXBsYXRlICd7ZGVzY31cbicgPmFjdHVhbCAmJgogCQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKIAllbHNlCi0JCWhnIC1SICQxIGJyYW5jaGVzID4gb3V0ICYmCisJCWhnIC1SICQxIGJyYW5jaGVzID5vdXQgJiYKIAkJISBncmVwICQyIG91dAogCWZpCiB9CiAKIGNoZWNrX2Jvb2ttYXJrICgpIHsKLQlpZiBbIC1uICIkMyIgXTsgdGhlbgotCQllY2hvICQzID4gZXhwZWN0ZWQgJiYKLQkJaGcgLVIgJDEgbG9nIC1yICJib29rbWFyaygnJDInKSIgLS10ZW1wbGF0ZSAne2Rlc2N9XG4nID4gYWN0dWFsICYmCisJaWYgdGVzdCAtbiAiJDMiCisJdGhlbgorCQllY2hvICQzID5leHBlY3RlZCAmJgorCQloZyAtUiAkMSBsb2cgLXIgImJvb2ttYXJrKCckMicpIiAtLXRlbXBsYXRlICd7ZGVzY31cbicgPmFjdHVhbCAmJgogCQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKIAllbHNlCi0JCWhnIC1SICQxIGJvb2ttYXJrcyA+IG91dCAmJgorCQloZyAtUiAkMSBib29rbWFya3MgPm91dCAmJgogCQkhIGdyZXAgJDIgb3V0CiAJZmkKIH0KQEAgLTUyLDcgKzU2LDcgQEAKIAlsb2NhbCBleHBlY3RlZF9yZXQ9JDEgcmV0PTAgcmVmX3JldD0wIElGUz0nOicKIAogCXNoaWZ0Ci0JZ2l0IHB1c2ggb3JpZ2luICIkQCIgMj4gZXJyb3IKKwlnaXQgcHVzaCBvcmlnaW4gIiRAIiAyPmVycm9yCiAJcmV0PSQ/CiAJY2F0IGVycm9yCiAKQEAgLTc1LDEwICs3OSwxMCBAQAogCQkJZ3JlcCAiXiAgIFthLWYwLTldKlwuXC5bYS1mMC05XSogKiR7YnJhbmNofSAtPiAke2JyYW5jaH0kIiBlcnJvciB8fCByZWZfcmV0PTEKIAkJCTs7CiAJCWVzYWMKLQkJbGV0ICdyZWZfcmV0JyAmJiBlY2hvICJtYXRjaCBmb3IgJyRicmFuY2gnIGZhaWxlZCIgJiYgYnJlYWsKKwkJdGVzdCAkcmVmX3JldCAtbmUgMCAmJiBlY2hvICJtYXRjaCBmb3IgJyRicmFuY2gnIGZhaWxlZCIgJiYgYnJlYWsKIAlkb25lCiAKLQlpZiBsZXQgJ2V4cGVjdGVkX3JldCAhPSByZXQgfHwgcmVmX3JldCcKKwlpZiB0ZXN0ICRleHBlY3RlZF9yZXQgLW5lICRyZXQgLW8gJHJlZl9yZXQgLW5lIDAKIAl0aGVuCiAJCXJldHVybiAxCiAJZmkKQEAgLTkyLDcgKzk2LDcgQEAKIAllY2hvICJ1c2VybmFtZSA9IEggRyBXZWxscyA8d2VsbHNAZXhhbXBsZS5jb20+IgogCWVjaG8gIltleHRlbnNpb25zXSIKIAllY2hvICJtcSA9IgotCSkgPj4gIiRIT01FIi8uaGdyYyAmJgorCSkgPj4iJEhPTUUiLy5oZ3JjICYmCiAKIAlHSVRfQVVUSE9SX0RBVEU9IjIwMDctMDEtMDEgMDA6MDA6MDAgKzAyMzAiICYmCiAJR0lUX0NPTU1JVFRFUl9EQVRFPSIkR0lUX0FVVEhPUl9EQVRFIiAmJgpAQCAtMTA3LDcgKzExMSw3IEBACiAJKAogCWhnIGluaXQgaGdyZXBvICYmCiAJY2QgaGdyZXBvICYmCi0JZWNobyB6ZXJvID4gY29udGVudCAmJgorCWVjaG8gemVybyA+Y29udGVudCAmJgogCWhnIGFkZCBjb250ZW50ICYmCiAJaGcgY29tbWl0IC1tIHplcm8KIAkpICYmCkBAIC0xMjIsNyArMTI2LDcgQEAKIAkoCiAJY2QgaGdyZXBvICYmCiAJaGcgYnJhbmNoIG5leHQgJiYKLQllY2hvIG5leHQgPiBjb250ZW50ICYmCisJZWNobyBuZXh0ID5jb250ZW50ICYmCiAJaGcgY29tbWl0IC1tIG5leHQKIAkpICYmCiAKQEAgLTEzNyw3ICsxNDEsNyBAQAogCWNkIGhncmVwbyAmJgogCWhnIGNoZWNrb3V0IGRlZmF1bHQgJiYKIAloZyBib29rbWFyayBmZWF0dXJlLWEgJiYKLQllY2hvIGZlYXR1cmUtYSA+IGNvbnRlbnQgJiYKKwllY2hvIGZlYXR1cmUtYSA+Y29udGVudCAmJgogCWhnIGNvbW1pdCAtbSBmZWF0dXJlLWEKIAkpICYmCiAKQEAgLTE1Nyw3ICsxNjEsNyBAQAogCWdpdCBjbG9uZSAiaGc6OmhncmVwbyIgZ2l0cmVwbyAmJgogCWNkIGdpdHJlcG8gJiYKIAlnaXQgY2hlY2tvdXQgLS1xdWlldCBkZXZlbCAmJgotCWVjaG8gZGV2ZWwgPiBjb250ZW50ICYmCisJZWNobyBkZXZlbCA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLWEgLW0gZGV2ZWwgJiYKIAlnaXQgcHVzaCAtLXF1aWV0CiAJKSAmJgpAQCAtMTcyLDcgKzE3Niw3IEBACiAJZ2l0IGNsb25lICJoZzo6aGdyZXBvIiBnaXRyZXBvICYmCiAJY2QgZ2l0cmVwbyAmJgogCWdpdCBjaGVja291dCAtLXF1aWV0IC1iIGZlYXR1cmUtYiAmJgotCWVjaG8gZmVhdHVyZS1iID4gY29udGVudCAmJgorCWVjaG8gZmVhdHVyZS1iID5jb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtYSAtbSBmZWF0dXJlLWIgJiYKIAlnaXQgcHVzaCAtLXF1aWV0IG9yaWdpbiBmZWF0dXJlLWIKIAkpICYmCkBAIC0xODQsOSArMTg4LDkgQEAKIHJtIC1yZiBoZ3JlcG8KIAogYXV0aG9yX3Rlc3QgKCkgewotCWVjaG8gJDEgPj4gY29udGVudCAmJgorCWVjaG8gJDEgPj5jb250ZW50ICYmCiAJaGcgY29tbWl0IC11ICIkMiIgLW0gImFkZCAkMSIgJiYKLQllY2hvICIkMyIgPj4gLi4vZXhwZWN0ZWQKKwllY2hvICIkMyIgPj4uLi9leHBlY3RlZAogfQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhdXRob3JzJyAnCkBAIC0xOTksNyArMjAzLDcgQEAKIAl0b3VjaCBjb250ZW50ICYmCiAJaGcgYWRkIGNvbnRlbnQgJiYKIAotCT4gLi4vZXhwZWN0ZWQgJiYKKwk+Li4vZXhwZWN0ZWQgJiYKIAlhdXRob3JfdGVzdCBhbHBoYSAiIiAiSCBHIFdlbGxzIDx3ZWxsc0BleGFtcGxlLmNvbT4iICYmCiAJYXV0aG9yX3Rlc3QgYmV0YSAidGVzdCIgInRlc3QgPHVua25vd24+IiAmJgogCWF1dGhvcl90ZXN0IGJldGEgInRlc3QgPHRlc3RAZXhhbXBsZS5jb20+IChjb21tZW50KSIgInRlc3QgPHRlc3RAZXhhbXBsZS5jb20+IiAmJgpAQCAtMjE0LDcgKzIxOCw3IEBACiAJKSAmJgogCiAJZ2l0IGNsb25lICJoZzo6aGdyZXBvIiBnaXRyZXBvICYmCi0JZ2l0IC0tZ2l0LWRpcj1naXRyZXBvLy5naXQgbG9nIC0tcmV2ZXJzZSAtLWZvcm1hdD0iJWFuIDwlYWU+IiA+IGFjdHVhbCAmJgorCWdpdCAtLWdpdC1kaXI9Z2l0cmVwby8uZ2l0IGxvZyAtLXJldmVyc2UgLS1mb3JtYXQ9IiVhbiA8JWFlPiIgPmFjdHVhbCAmJgogCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCkBAIC0yMjYsMTEgKzIzMCwxMSBAQAogCWhnIGluaXQgaGdyZXBvICYmCiAJY2QgaGdyZXBvICYmCiAKLQllY2hvIG9uZSA+PiBjb250ZW50ICYmCisJZWNobyBvbmUgPj5jb250ZW50ICYmCiAJaGcgYWRkIGNvbnRlbnQgJiYKIAloZyBjb21taXQgLW0gb25lICYmCiAKLQllY2hvIHR3byA+PiBjb250ZW50ICYmCisJZWNobyB0d28gPj5jb250ZW50ICYmCiAJaGcgY29tbWl0IC1tIHR3bwogCSkgJiYKIApAQCAtMjQwLDIwICsyNDQsMjAgQEAKIAljZCBoZ3JlcG8gJiYKIAloZyBzdHJpcCAxICYmCiAKLQllY2hvIHRocmVlID4+IGNvbnRlbnQgJiYKKwllY2hvIHRocmVlID4+Y29udGVudCAmJgogCWhnIGNvbW1pdCAtbSB0aHJlZSAmJgogCi0JZWNobyBmb3VyID4+IGNvbnRlbnQgJiYKKwllY2hvIGZvdXIgPj5jb250ZW50ICYmCiAJaGcgY29tbWl0IC1tIGZvdXIKIAkpICYmCiAKIAkoCiAJY2QgZ2l0cmVwbyAmJgogCWdpdCBmZXRjaCAmJgotCWdpdCBsb2cgLS1mb3JtYXQ9IiVzIiBvcmlnaW4vbWFzdGVyID4gLi4vYWN0dWFsCisJZ2l0IGxvZyAtLWZvcm1hdD0iJXMiIG9yaWdpbi9tYXN0ZXIgPi4uL2FjdHVhbAogCSkgJiYKIAotCWhnIC1SIGhncmVwbyBsb2cgLS10ZW1wbGF0ZSAie2Rlc2N9XG4iID4gZXhwZWN0ZWQgJiYKKwloZyAtUiBoZ3JlcG8gbG9nIC0tdGVtcGxhdGUgIntkZXNjfVxuIiA+ZXhwZWN0ZWQgJiYKIAl0ZXN0X2NtcCBhY3R1YWwgZXhwZWN0ZWQKICcKIApAQCAtMjYzLDE4ICsyNjcsMTggQEAKIAkoCiAJaGcgaW5pdCBoZ3JlcG8gJiYKIAljZCBoZ3JlcG8gJiYKLQllY2hvIHplcm8gPiBjb250ZW50ICYmCisJZWNobyB6ZXJvID5jb250ZW50ICYmCiAJaGcgYWRkIGNvbnRlbnQgJiYKIAloZyBjb21taXQgLW0gemVybyAmJgogCWhnIGJvb2ttYXJrIG1hc3RlciAmJgotCWVjaG8gb25lID4gY29udGVudCAmJgorCWVjaG8gb25lID5jb250ZW50ICYmCiAJaGcgY29tbWl0IC1tIG9uZQogCSkgJiYKIAogCSgKIAlnaXQgY2xvbmUgImhnOjpoZ3JlcG8iIGdpdHJlcG8gJiYKIAljZCBnaXRyZXBvICYmCi0JZWNobyB0d28gPiBjb250ZW50ICYmCisJZWNobyB0d28gPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1hIC1tIHR3byAmJgogCWdpdCBwdXNoCiAJKSAmJgpAQCAtMjgyLDcgKzI4Niw3IEBACiAJY2hlY2tfYnJhbmNoIGhncmVwbyBkZWZhdWx0IHR3bwogJwogCi1jYXQgPiBleHBlY3RlZCA8PEVPRgorY2F0ID5leHBlY3RlZCA8PFxFT0YKIGNoYW5nZXNldDogICAwOjZlMjEyNjQ4OWQzZAogdGFnOiAgICAgICAgIHRpcAogdXNlcjogICAgICAgIEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CkBAIC0zMDAsMTMgKzMwNCwxMyBAQAogCWdpdCBpbml0IGdpdHJlcG8gJiYKIAljZCBnaXRyZXBvICYmCiAJZ2l0IHJlbW90ZSBhZGQgb3JpZ2luICJoZzo6Li4vaGdyZXBvIiAmJgotCWVjaG8gb25lID4gY29udGVudCAmJgorCWVjaG8gb25lID5jb250ZW50ICYmCiAJZ2l0IGFkZCBjb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtYSAtbSBvbmUgJiYKIAlnaXQgcHVzaCBvcmlnaW4gbWFzdGVyCiAJKSAmJgogCi0JaGcgLVIgaGdyZXBvIGxvZyA+IGFjdHVhbCAmJgorCWhnIC1SIGhncmVwbyBsb2cgPmFjdHVhbCAmJgogCWNhdCBhY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwgJiYKIApAQCAtMzIyLDcgKzMyNiw3IEBACiAJKAogCWhnIGluaXQgaGdyZXBvICYmCiAJY2QgaGdyZXBvICYmCi0JZWNobyB6ZXJvID4gY29udGVudCAmJgorCWVjaG8gemVybyA+Y29udGVudCAmJgogCWhnIGFkZCBjb250ZW50ICYmCiAJaGcgY29tbWl0IC1tIHplcm8KIAkpICYmCkBAIC0zNDMsNyArMzQ3LDcgQEAKIAlnaXQgY2xvbmUgImhnOjpoZ3JlcG8iIGdpdHJlcG8gJiYKIAljZCBnaXRyZXBvICYmCiAJZ2l0IGNoZWNrb3V0IC0tcXVpZXQgZGV2ZWwgJiYKLQllY2hvIGRldmVsID4gY29udGVudCAmJgorCWVjaG8gZGV2ZWwgPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1hIC1tIGRldmVsICYmCiAJZ2l0IHB1c2ggLS1xdWlldAogCSkgJiYKQEAgLTM1OCw3ICszNjIsNyBAQAogCWdpdCBjbG9uZSAiaGc6OmhncmVwbyIgZ2l0cmVwbyAmJgogCWNkIGdpdHJlcG8gJiYKIAlnaXQgY2hlY2tvdXQgLS1xdWlldCAtYiBmZWF0dXJlLWIgJiYKLQllY2hvIGZlYXR1cmUtYiA+IGNvbnRlbnQgJiYKKwllY2hvIGZlYXR1cmUtYiA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLWEgLW0gZmVhdHVyZS1iICYmCiAJZ2l0IHB1c2ggLS1xdWlldCBvcmlnaW4gZmVhdHVyZS1iCiAJKSAmJgpAQCAtMzc0LDE1ICszNzgsMTUgQEAKIAkoCiAJY2QgaGdyZXBvICYmCiAJaGcgY2hlY2tvdXQgZGVmYXVsdCAmJgotCWVjaG8gYnVtcCA+IGNvbnRlbnQgJiYKKwllY2hvIGJ1bXAgPmNvbnRlbnQgJiYKIAloZyBjb21taXQgLW0gYnVtcAogCSkgJiYKIAogCSgKIAljZCBnaXRyZXBvICYmCi0JZWNobyBkaXZlcmdlID4gY29udGVudCAmJgorCWVjaG8gZGl2ZXJnZSA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLWEgLW0gZGl2ZXJnZWQgJiYKLQljaGVja19wdXNoIDEgPDwtRU9GCisJY2hlY2tfcHVzaCAxIDw8LVxFT0YKIAltYXN0ZXI6bm9uLWZhc3QtZm9yd2FyZAogCUVPRgogCSkgJiYKQEAgLTQwMywxNiArNDA3LDE2IEBACiAKIAkoCiAJY2QgaGdyZXBvICYmCi0JZWNobyAiYnVtcCBib29rbWFyayIgPiBjb250ZW50ICYmCisJZWNobyAiYnVtcCBib29rbWFyayIgPmNvbnRlbnQgJiYKIAloZyBjb21taXQgLW0gImJ1bXAgYm9va21hcmsiCiAJKSAmJgogCiAJKAogCWNkIGdpdHJlcG8gJiYKIAlnaXQgY2hlY2tvdXQgLS1xdWlldCBkaXZlcmdlICYmCi0JZWNobyBkaXZlcmdlID4gY29udGVudCAmJgorCWVjaG8gZGl2ZXJnZSA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLWEgLW0gZGl2ZXJnZSAmJgotCWNoZWNrX3B1c2ggMSA8PC1FT0YKKwljaGVja19wdXNoIDEgPDwtXEVPRgogCWRpdmVyZ2U6ZmV0Y2gtZmlyc3QKIAlFT0YKIAkpICYmCkBAIC00MjcsNyArNDMxLDcgQEAKIAlnaXQgY2xvbmUgImhnOjpoZ3JlcG8iIGdpdHJlcG8gJiYKIAljZCBnaXRyZXBvICYmCiAJZ2l0IGNoZWNrb3V0IC0tcXVpZXQgLWIgZmVhdHVyZS1jIEhFQUReICYmCi0JZWNobyBmZWF0dXJlLWMgPiBjb250ZW50ICYmCisJZWNobyBmZWF0dXJlLWMgPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1hIC1tIGZlYXR1cmUtYyAmJgogCWdpdCBwdXNoIC0tcXVpZXQgb3JpZ2luIGZlYXR1cmUtYwogCSkgJiYKQEAgLTQ0MiwyMCArNDQ2LDIwIEBACiAJKAogCWhnIGluaXQgaGdyZXBvICYmCiAJY2QgaGdyZXBvICYmCi0JZWNobyB6ZXJvID4gY29udGVudCAmJgorCWVjaG8gemVybyA+Y29udGVudCAmJgogCWhnIGFkZCBjb250ZW50ICYmCiAJaGcgY29tbWl0IC1tIHplcm8gJiYKIAloZyBib29rbWFyayBiYWRfYm1hcmsxICYmCi0JZWNobyBvbmUgPiBjb250ZW50ICYmCisJZWNobyBvbmUgPmNvbnRlbnQgJiYKIAloZyBjb21taXQgLW0gb25lICYmCiAJaGcgYm9va21hcmsgYmFkX2JtYXJrMiAmJgogCWhnIGJvb2ttYXJrIGdvb2RfYm1hcmsgJiYKIAloZyBib29rbWFyayAtaSBnb29kX2JtYXJrICYmCiAJaGcgLXEgYnJhbmNoIGdvb2RfYnJhbmNoICYmCi0JZWNobyAiZ29vZCBicmFuY2giID4gY29udGVudCAmJgorCWVjaG8gImdvb2QgYnJhbmNoIiA+Y29udGVudCAmJgogCWhnIGNvbW1pdCAtbSAiZ29vZCBicmFuY2giICYmCiAJaGcgLXEgYnJhbmNoIGJhZF9icmFuY2ggJiYKLQllY2hvICJiYWQgYnJhbmNoIiA+IGNvbnRlbnQgJiYKKwllY2hvICJiYWQgYnJhbmNoIiA+Y29udGVudCAmJgogCWhnIGNvbW1pdCAtbSAiYmFkIGJyYW5jaCIKIAkpICYmCiAKQEAgLTQ2Myw0MCArNDY3LDQwIEBACiAKIAkoCiAJY2QgZ2l0cmVwbyAmJgotCWVjaG8gdHdvID4gY29udGVudCAmJgorCWVjaG8gdHdvID5jb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtcSAtYSAtbSB0d28gJiYKIAogCWdpdCBjaGVja291dCAtcSBnb29kX2JtYXJrICYmCi0JZWNobyB0aHJlZSA+IGNvbnRlbnQgJiYKKwllY2hvIHRocmVlID5jb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtcSAtYSAtbSB0aHJlZSAmJgogCiAJZ2l0IGNoZWNrb3V0IC1xIGJhZF9ibWFyazEgJiYKIAlnaXQgcmVzZXQgLS1oYXJkIEhFQUReICYmCi0JZWNobyBmb3VyID4gY29udGVudCAmJgorCWVjaG8gZm91ciA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLXEgLWEgLW0gZm91ciAmJgogCiAJZ2l0IGNoZWNrb3V0IC1xIGJhZF9ibWFyazIgJiYKIAlnaXQgcmVzZXQgLS1oYXJkIEhFQUReICYmCi0JZWNobyBmaXZlID4gY29udGVudCAmJgorCWVjaG8gZml2ZSA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLXEgLWEgLW0gZml2ZSAmJgogCiAJZ2l0IGNoZWNrb3V0IC1xIC1iIG5ld19ibWFyayBtYXN0ZXIgJiYKLQllY2hvIHNpeCA+IGNvbnRlbnQgJiYKKwllY2hvIHNpeCA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLXEgLWEgLW0gc2l4ICYmCiAKIAlnaXQgY2hlY2tvdXQgLXEgYnJhbmNoZXMvZ29vZF9icmFuY2ggJiYKLQllY2hvIHNldmVuID4gY29udGVudCAmJgorCWVjaG8gc2V2ZW4gPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1xIC1hIC1tIHNldmVuICYmCi0JZWNobyBlaWdodCA+IGNvbnRlbnQgJiYKKwllY2hvIGVpZ2h0ID5jb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtcSAtYSAtbSBlaWdodCAmJgogCiAJZ2l0IGNoZWNrb3V0IC1xIGJyYW5jaGVzL2JhZF9icmFuY2ggJiYKIAlnaXQgcmVzZXQgLS1oYXJkIEhFQUReICYmCi0JZWNobyBuaW5lID4gY29udGVudCAmJgorCWVjaG8gbmluZSA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLXEgLWEgLW0gbmluZSAmJgogCiAJZ2l0IGNoZWNrb3V0IC1xIC1iIGJyYW5jaGVzL25ld19icmFuY2ggbWFzdGVyICYmCi0JZWNobyB0ZW4gPiBjb250ZW50ICYmCisJZWNobyB0ZW4gPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1xIC1hIC1tIHRlbgogCSkKIH0KQEAgLTUwOSw3ICs1MTMsNyBAQAogCSgKIAljZCBnaXRyZXBvICYmCiAKLQljaGVja19wdXNoIDEgLS1hbGwgPDwtRU9GCisJY2hlY2tfcHVzaCAxIC0tYWxsIDw8LVxFT0YKIAltYXN0ZXIKIAlnb29kX2JtYXJrCiAJYnJhbmNoZXMvZ29vZF9icmFuY2gKQEAgLTUzNywxNyArNTQxLDE3IEBACiAJKAogCWhnIGluaXQgaGdyZXBvICYmCiAJY2QgaGdyZXBvICYmCi0JZWNobyB6ZXJvID4gY29udGVudCAmJgorCWVjaG8gemVybyA+Y29udGVudCAmJgogCWhnIGFkZCBjb250ZW50ICYmCiAJaGcgY29tbWl0IC1tIHplcm8gJiYKIAloZyBib29rbWFyayBiYWRfYm1hcmsgJiYKIAloZyBib29rbWFyayBnb29kX2JtYXJrICYmCiAJaGcgYm9va21hcmsgLWkgZ29vZF9ibWFyayAmJgogCWhnIC1xIGJyYW5jaCBnb29kX2JyYW5jaCAmJgotCWVjaG8gImdvb2QgYnJhbmNoIiA+IGNvbnRlbnQgJiYKKwllY2hvICJnb29kIGJyYW5jaCIgPmNvbnRlbnQgJiYKIAloZyBjb21taXQgLW0gImdvb2QgYnJhbmNoIiAmJgogCWhnIC1xIGJyYW5jaCBiYWRfYnJhbmNoICYmCi0JZWNobyAiYmFkIGJyYW5jaCIgPiBjb250ZW50ICYmCisJZWNobyAiYmFkIGJyYW5jaCIgPmNvbnRlbnQgJiYKIAloZyBjb21taXQgLW0gImJhZCBicmFuY2giCiAJKSAmJgogCkBAIC01NTYsMzkgKzU2MCwzNyBAQAogCSgKIAljZCBoZ3JlcG8gJiYKIAloZyBib29rbWFyayAtZiBiYWRfYm1hcmsgJiYKLQllY2hvIHVwZGF0ZV9ibWFyayA+IGNvbnRlbnQgJiYKKwllY2hvIHVwZGF0ZV9ibWFyayA+Y29udGVudCAmJgogCWhnIGNvbW1pdCAtbSAidXBkYXRlIGJtYXJrIgogCSkgJiYKIAogCSgKIAljZCBnaXRyZXBvICYmCi0JZWNobyB0d28gPiBjb250ZW50ICYmCisJZWNobyB0d28gPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1xIC1hIC1tIHR3byAmJgogCiAJZ2l0IGNoZWNrb3V0IC1xIGdvb2RfYm1hcmsgJiYKLQllY2hvIHRocmVlID4gY29udGVudCAmJgorCWVjaG8gdGhyZWUgPmNvbnRlbnQgJiYKIAlnaXQgY29tbWl0IC1xIC1hIC1tIHRocmVlICYmCiAKIAlnaXQgY2hlY2tvdXQgLXEgYmFkX2JtYXJrICYmCi0JZWNobyBmb3VyID4gY29udGVudCAmJgorCWVjaG8gZm91ciA+Y29udGVudCAmJgogCWdpdCBjb21taXQgLXEgLWEgLW0gZm91ciAmJgogCiAJZ2l0IGNoZWNrb3V0IC1xIGJyYW5jaGVzL2JhZF9icmFuY2ggJiYKLQllY2hvIGZpdmUgPiBjb250ZW50ICYmCisJZWNobyBmaXZlID5jb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtcSAtYSAtbSBmaXZlICYmCiAKLQljaGVja19wdXNoIDEgLS1hbGwgPDwtRU9GCisJY2hlY2tfcHVzaCAxIC0tYWxsIDw8LVxFT0YgJiYKIAltYXN0ZXIKIAlnb29kX2JtYXJrCi0JbmV3X2JtYXJrOm5ldwotCW5ld19icmFuY2g6bmV3CiAJYmFkX2JtYXJrOmZldGNoLWZpcnN0CiAJYnJhbmNoZXMvYmFkX2JyYW5jaDpmZXN0Y2gtZmlyc3QKIAlFT0YKIAogCWdpdCBmZXRjaCAmJgogCi0JY2hlY2tfcHVzaCAxIC0tYWxsIDw8LUVPRgorCWNoZWNrX3B1c2ggMSAtLWFsbCA8PC1cRU9GCiAJbWFzdGVyCiAJZ29vZF9ibWFyawogCWJhZF9ibWFyazpub24tZmFzdC1mb3J3YXJkCkBAIC02MDUsNyArNjA3LDcgQEAKIAkoCiAJY2QgZ2l0cmVwbyAmJgogCi0JY2hlY2tfcHVzaCAwIC0tZm9yY2UgLS1hbGwgPDwtRU9GCisJY2hlY2tfcHVzaCAwIC0tZm9yY2UgLS1hbGwgPDwtXEVPRgogCW1hc3RlcgogCWdvb2RfYm1hcmsKIAlicmFuY2hlcy9nb29kX2JyYW5jaApAQCAtNjM1LDcgKzYzNyw3IEBACiAJKAogCWNkIGdpdHJlcG8gJiYKIAotCWNoZWNrX3B1c2ggMCAtLWRyeS1ydW4gLS1hbGwgPDwtRU9GCisJY2hlY2tfcHVzaCAxIC0tZHJ5LXJ1biAtLWFsbCA8PC1cRU9GICYmCiAJbWFzdGVyCiAJZ29vZF9ibWFyawogCWJyYW5jaGVzL2dvb2RfYnJhbmNoCkBAIC02NDYsNyArNjQ4LDcgQEAKIAlicmFuY2hlcy9iYWRfYnJhbmNoOm5vbi1mYXN0LWZvcndhcmQKIAlFT0YKIAotCWNoZWNrX3B1c2ggMCAtLWRyeS1ydW4gbWFzdGVyIGdvb2RfYm1hcmsgbmV3X2JtYXJrIGJyYW5jaGVzL2dvb2RfYnJhbmNoIGJyYW5jaGVzL25ld19icmFuY2ggPDwtRU9GCisJY2hlY2tfcHVzaCAwIC0tZHJ5LXJ1biBtYXN0ZXIgZ29vZF9ibWFyayBuZXdfYm1hcmsgYnJhbmNoZXMvZ29vZF9icmFuY2ggYnJhbmNoZXMvbmV3X2JyYW5jaCA8PC1cRU9GCiAJbWFzdGVyCiAJZ29vZF9ibWFyawogCWJyYW5jaGVzL2dvb2RfYnJhbmNoCkBAIC02NzEsMTAgKzY3MywxMCBAQAogCSgKIAloZyBpbml0IGhncmVwbyAmJgogCWNkIGhncmVwbyAmJgotCWVjaG8gemVybyA+IGNvbnRlbnQgJiYKKwllY2hvIHplcm8gPmNvbnRlbnQgJiYKIAloZyBhZGQgY29udGVudCAmJgogCWhnIGNvbW1pdCAtbSB6ZXJvICYmCi0JZWNobyBvbmUgPiBjb250ZW50ICYmCisJZWNobyBvbmUgPmNvbnRlbnQgJiYKIAloZyBjb21taXQgLW0gb25lCiAJKSAmJgogCkBAIC02ODIsNyArNjg0LDcgQEAKIAlnaXQgY2xvbmUgImhnOjpoZ3JlcG8iIGdpdHJlcG8gJiYKIAljZCBnaXRyZXBvICYmCiAJZ2l0IHJlc2V0IC0taGFyZCBIRUFEXiAmJgotCWVjaG8gdHdvID4gY29udGVudCAmJgorCWVjaG8gdHdvID5jb250ZW50ICYmCiAJZ2l0IGNvbW1pdCAtYSAtbSB0d28gJiYKIAl0ZXN0X2V4cGVjdF9jb2RlIDEgZ2l0IHB1c2ggJiYKIAl0ZXN0X2V4cGVjdF9jb2RlIDEgZ2l0IHB1c2gKZGlmZiAtLWdpdCBhL2RhdGUuYyBiL2RhdGUuYwppbmRleCAyOWYxNTQwLi44M2I0MTY2IDEwMDY0NAotLS0gYS9kYXRlLmMKKysrIGIvZGF0ZS5jCkBAIC05MDcsNyArOTA3LDcgQEAKIAljb25zdCBjaGFyICplbmQgPSBkYXRlOwogCWludCBpOwogCi0Jd2hpbGUgKGlzYWxwaGEoKisrZW5kKSk7CisJd2hpbGUgKGlzYWxwaGEoKisrZW5kKSkKIAkJOwogCiAJZm9yIChpID0gMDsgaSA8IDEyOyBpKyspIHsKZGlmZiAtLWdpdCBhL2RpZmYtZGVsdGEuYyBiL2RpZmYtZGVsdGEuYwppbmRleCA5MzM4NWUxLi4zNzk3Y2U2IDEwMDY0NAotLS0gYS9kaWZmLWRlbHRhLmMKKysrIGIvZGlmZi1kZWx0YS5jCkBAIC0xNTUsNyArMTU1LDcgQEAKIAkJZW50cmllcyA9IDB4ZmZmZmZmZmVVIC8gUkFCSU5fV0lORE9XOwogCX0KIAloc2l6ZSA9IGVudHJpZXMgLyA0OwotCWZvciAoaSA9IDQ7ICgxdSA8PCBpKSA8IGhzaXplICYmIGkgPCAzMTsgaSsrKTsKKwlmb3IgKGkgPSA0OyAoMXUgPDwgaSkgPCBoc2l6ZTsgaSsrKTsKIAloc2l6ZSA9IDEgPDwgaTsKIAlobWFzayA9IGhzaXplIC0gMTsKIApkaWZmIC0tZ2l0IGEvZGlmZi1saWIuYyBiL2RpZmYtbGliLmMKaW5kZXggYjZmNGIyMS4uMzQ2Y2FjNiAxMDA2NDQKLS0tIGEvZGlmZi1saWIuYworKysgYi9kaWZmLWxpYi5jCkBAIC04NywxMCArODcsMTIgQEAKIHsKIAlpbnQgZW50cmllcywgaTsKIAlpbnQgZGlmZl91bm1lcmdlZF9zdGFnZSA9IHJldnMtPm1heF9jb3VudDsKLQlpbnQgc2lsZW50X29uX3JlbW92ZWQgPSBvcHRpb24gJiBESUZGX1NJTEVOVF9PTl9SRU1PVkVEOwogCXVuc2lnbmVkIGNlX29wdGlvbiA9ICgob3B0aW9uICYgRElGRl9SQUNZX0lTX01PRElGSUVEKQogCQkJICAgICAgPyBDRV9NQVRDSF9SQUNZX0lTX0RJUlRZIDogMCk7CiAKKwlpZiAob3B0aW9uICYgRElGRl9TSUxFTlRfT05fUkVNT1ZFRCkKKwkJaGFuZGxlX2RlcHJlY2F0ZWRfc2hvd19kaWZmX3EoJnJldnMtPmRpZmZvcHQpOworCiAJZGlmZl9zZXRfbW5lbW9uaWNfcHJlZml4KCZyZXZzLT5kaWZmb3B0LCAiaS8iLCAidy8iKTsKIAogCWlmIChkaWZmX3VubWVyZ2VkX3N0YWdlIDwgMCkKQEAgLTEzNyw4ICsxMzksNiBAQAogCQkJCQlwZXJyb3IoY2UtPm5hbWUpOwogCQkJCQljb250aW51ZTsKIAkJCQl9Ci0JCQkJaWYgKHNpbGVudF9vbl9yZW1vdmVkKQotCQkJCQljb250aW51ZTsKIAkJCQl3dF9tb2RlID0gMDsKIAkJCX0KIAkJCWRwYXRoLT5tb2RlID0gd3RfbW9kZTsKQEAgLTIwNCw4ICsyMDQsNiBAQAogCQkJCXBlcnJvcihjZS0+bmFtZSk7CiAJCQkJY29udGludWU7CiAJCQl9Ci0JCQlpZiAoc2lsZW50X29uX3JlbW92ZWQpCi0JCQkJY29udGludWU7CiAJCQlkaWZmX2FkZHJlbW92ZSgmcmV2cy0+ZGlmZm9wdCwgJy0nLCBjZS0+Y2VfbW9kZSwKIAkJCQkgICAgICAgY2UtPnNoYTEsICFpc19udWxsX3NoYTEoY2UtPnNoYTEpLAogCQkJCSAgICAgICBjZS0+bmFtZSwgMCk7CkBAIC00NzYsNyArNDc0LDYgQEAKIAlvcHRzLmRzdF9pbmRleCA9IE5VTEw7CiAJb3B0cy5wYXRoc3BlYyA9ICZyZXZzLT5kaWZmb3B0LnBhdGhzcGVjOwogCW9wdHMucGF0aHNwZWMtPnJlY3Vyc2l2ZSA9IDE7Ci0Jb3B0cy5wYXRoc3BlYy0+bWF4X2RlcHRoID0gLTE7CiAKIAlpbml0X3RyZWVfZGVzYygmdCwgdHJlZS0+YnVmZmVyLCB0cmVlLT5zaXplKTsKIAlyZXR1cm4gdW5wYWNrX3RyZWVzKDEsICZ0LCAmb3B0cyk7CkBAIC01MDIsNyArNDk5LDcgQEAKIAlzdHJ1Y3QgcmV2X2luZm8gcmV2czsKIAogCWluaXRfcmV2aXNpb25zKCZyZXZzLCBOVUxMKTsKLQlpbml0X3BhdGhzcGVjKCZyZXZzLnBydW5lX2RhdGEsIG9wdC0+cGF0aHNwZWMucmF3KTsKKwljb3B5X3BhdGhzcGVjKCZyZXZzLnBydW5lX2RhdGEsICZvcHQtPnBhdGhzcGVjKTsKIAlyZXZzLmRpZmZvcHQgPSAqb3B0OwogCiAJaWYgKGRpZmZfY2FjaGUoJnJldnMsIHRyZWVfc2hhMSwgTlVMTCwgMSkpCmRpZmYgLS1naXQgYS9kaWZmLW5vLWluZGV4LmMgYi9kaWZmLW5vLWluZGV4LmMKaW5kZXggZTY2ZmRmMy4uMDBhOGVlZiAxMDA2NDQKLS0tIGEvZGlmZi1uby1pbmRleC5jCisrKyBiL2RpZmYtbm8taW5kZXguYwpAQCAtMTg3LDcgKzE4Nyw3IEBACiB7CiAJaW50IGksIHByZWZpeGxlbjsKIAlpbnQgbm9faW5kZXggPSAwOwotCXVuc2lnbmVkIG9wdGlvbnMgPSAwOworCXVuc2lnbmVkIGRlcHJlY2F0ZWRfc2hvd19kaWZmX3Ffb3B0aW9uX3VzZWQgPSAwOwogCWNvbnN0IGNoYXIgKnBhdGhzWzJdOwogCiAJLyogV2VyZSB3ZSBhc2tlZCB0byBkbyAtLW5vLWluZGV4IGV4cGxpY2l0bHk/ICovCkBAIC0yMTUsOSArMjE1LDIxIEBACiAJCSAgICAgcGF0aF9pbnNpZGVfcmVwbyhwcmVmaXgsIGFyZ3ZbaSsxXSkpKQogCQkJcmV0dXJuOwogCX0KLQlpZiAoYXJnYyAhPSBpICsgMikKKwlpZiAoYXJnYyAhPSBpICsgMikgeworCQlpZiAoIW5vX2luZGV4KSB7CisJCQkvKgorCQkJICogVGhlcmUgd2FzIG5vIC0tbm8taW5kZXggYW5kIHRoZXJlIHdlcmUgbm90IHR3bworCQkJICogcGF0aHMuIEl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIHVzZXIgaW50ZW5kZWQKKwkJCSAqIHRvIGRvIGFuIGluc2lkZS1yZXBvc2l0b3J5IG9wZXJhdGlvbi4KKwkJCSAqLworCQkJZnByaW50ZihzdGRlcnIsICJOb3QgYSBnaXQgcmVwb3NpdG9yeVxuIik7CisJCQlmcHJpbnRmKHN0ZGVyciwKKwkJCQkiVG8gY29tcGFyZSB0d28gcGF0aHMgb3V0c2lkZSBhIHdvcmtpbmcgdHJlZTpcbiIpOworCQl9CisJCS8qIEdpdmUgdGhlIHVzYWdlIG1lc3NhZ2UgZm9yIG5vbi1yZXBvc2l0b3J5IHVzYWdlIGFuZCBleGl0LiAqLwogCQl1c2FnZWYoImdpdCBkaWZmICVzIDxwYXRoPiA8cGF0aD4iLAogCQkgICAgICAgbm9faW5kZXggPyAiLS1uby1pbmRleCIgOiAiWy0tbm8taW5kZXhdIik7CisJfQogCiAJZGlmZl9zZXR1cCgmcmV2cy0+ZGlmZm9wdCk7CiAJZm9yIChpID0gMTsgaSA8IGFyZ2MgLSAyOyApIHsKQEAgLTIyNSw3ICsyMzcsNyBAQAogCQlpZiAoIXN0cmNtcChhcmd2W2ldLCAiLS1uby1pbmRleCIpKQogCQkJaSsrOwogCQllbHNlIGlmICghc3RyY21wKGFyZ3ZbaV0sICItcSIpKSB7Ci0JCQlvcHRpb25zIHw9IERJRkZfU0lMRU5UX09OX1JFTU9WRUQ7CisJCQlkZXByZWNhdGVkX3Nob3dfZGlmZl9xX29wdGlvbl91c2VkID0gMTsKIAkJCWkrKzsKIAkJfQogCQllbHNlIGlmICghc3RyY21wKGFyZ3ZbaV0sICItLSIpKQpAQCAtMjYwLDYgKzI3Miw5IEBACiAJcmV2cy0+bWF4X2NvdW50ID0gLTI7CiAJZGlmZl9zZXR1cF9kb25lKCZyZXZzLT5kaWZmb3B0KTsKIAorCWlmIChkZXByZWNhdGVkX3Nob3dfZGlmZl9xX29wdGlvbl91c2VkKQorCQloYW5kbGVfZGVwcmVjYXRlZF9zaG93X2RpZmZfcSgmcmV2cy0+ZGlmZm9wdCk7CisKIAlzZXR1cF9kaWZmX3BhZ2VyKCZyZXZzLT5kaWZmb3B0KTsKIAlESUZGX09QVF9TRVQoJnJldnMtPmRpZmZvcHQsIEVYSVRfV0lUSF9TVEFUVVMpOwogCmRpZmYgLS1naXQgYS9kaWZmLmMgYi9kaWZmLmMKaW5kZXggMjY2MTEyYy4uZTM0YmY5NyAxMDA2NDQKLS0tIGEvZGlmZi5jCisrKyBiL2RpZmYuYwpAQCAtNjY5LDcgKzY2OSw3IEBACiAJbWVtc2V0KCZlY2JkYXRhLCAwLCBzaXplb2YoZWNiZGF0YSkpOwogCWVjYmRhdGEuY29sb3JfZGlmZiA9IHdhbnRfY29sb3Ioby0+dXNlX2NvbG9yKTsKIAllY2JkYXRhLmZvdW5kX2NoYW5nZXNwID0gJm8tPmZvdW5kX2NoYW5nZXM7Ci0JZWNiZGF0YS53c19ydWxlID0gd2hpdGVzcGFjZV9ydWxlKG5hbWVfYiA/IG5hbWVfYiA6IG5hbWVfYSk7CisJZWNiZGF0YS53c19ydWxlID0gd2hpdGVzcGFjZV9ydWxlKG5hbWVfYik7CiAJZWNiZGF0YS5vcHQgPSBvOwogCWlmIChlY2JkYXRhLndzX3J1bGUgJiBXU19CTEFOS19BVF9FT0YpIHsKIAkJbW1maWxlX3QgbWYxLCBtZjI7CkBAIC0yMjUyLDcgKzIyNTIsNyBAQAogCQkJKCF0d28tPm1vZGUgfHwgU19JU0dJVExJTksodHdvLT5tb2RlKSkpIHsKIAkJY29uc3QgY2hhciAqZGVsID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfRklMRV9PTEQpOwogCQljb25zdCBjaGFyICphZGQgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9GSUxFX05FVyk7Ci0JCXNob3dfc3VibW9kdWxlX3N1bW1hcnkoby0+ZmlsZSwgb25lID8gb25lLT5wYXRoIDogdHdvLT5wYXRoLAorCQlzaG93X3N1Ym1vZHVsZV9zdW1tYXJ5KG8tPmZpbGUsIG9uZS0+cGF0aCA/IG9uZS0+cGF0aCA6IHR3by0+cGF0aCwKIAkJCQlsaW5lX3ByZWZpeCwKIAkJCQlvbmUtPnNoYTEsIHR3by0+c2hhMSwgdHdvLT5kaXJ0eV9zdWJtb2R1bGUsCiAJCQkJbWV0YSwgZGVsLCBhZGQsIHJlc2V0KTsKQEAgLTIzNzIsNyArMjM3Miw3IEBACiAJCWVjYmRhdGEubGFiZWxfcGF0aCA9IGxibDsKIAkJZWNiZGF0YS5jb2xvcl9kaWZmID0gd2FudF9jb2xvcihvLT51c2VfY29sb3IpOwogCQllY2JkYXRhLmZvdW5kX2NoYW5nZXNwID0gJm8tPmZvdW5kX2NoYW5nZXM7Ci0JCWVjYmRhdGEud3NfcnVsZSA9IHdoaXRlc3BhY2VfcnVsZShuYW1lX2IgPyBuYW1lX2IgOiBuYW1lX2EpOworCQllY2JkYXRhLndzX3J1bGUgPSB3aGl0ZXNwYWNlX3J1bGUobmFtZV9iKTsKIAkJaWYgKGVjYmRhdGEud3NfcnVsZSAmIFdTX0JMQU5LX0FUX0VPRikKIAkJCWNoZWNrX2JsYW5rX2F0X2VvZigmbWYxLCAmbWYyLCAmZWNiZGF0YSk7CiAJCWVjYmRhdGEub3B0ID0gbzsKQEAgLTMyMTksNiArMzIxOSw5IEBACiB7CiAJaW50IGNvdW50ID0gMDsKIAorCWlmIChvcHRpb25zLT5zZXRfZGVmYXVsdCkKKwkJb3B0aW9ucy0+c2V0X2RlZmF1bHQob3B0aW9ucyk7CisKIAlpZiAob3B0aW9ucy0+b3V0cHV0X2Zvcm1hdCAmIERJRkZfRk9STUFUX05BTUUpCiAJCWNvdW50Kys7CiAJaWYgKG9wdGlvbnMtPm91dHB1dF9mb3JtYXQgJiBESUZGX0ZPUk1BVF9OQU1FX1NUQVRVUykKQEAgLTM1MDMsNiArMzUwNiw4OCBAQAogCXJldHVybiAxOwogfQogCitzdGF0aWMgY29uc3QgY2hhciBkaWZmX3N0YXR1c19sZXR0ZXJzW10gPSB7CisJRElGRl9TVEFUVVNfQURERUQsCisJRElGRl9TVEFUVVNfQ09QSUVELAorCURJRkZfU1RBVFVTX0RFTEVURUQsCisJRElGRl9TVEFUVVNfTU9ESUZJRUQsCisJRElGRl9TVEFUVVNfUkVOQU1FRCwKKwlESUZGX1NUQVRVU19UWVBFX0NIQU5HRUQsCisJRElGRl9TVEFUVVNfVU5LTk9XTiwKKwlESUZGX1NUQVRVU19VTk1FUkdFRCwKKwlESUZGX1NUQVRVU19GSUxURVJfQU9OLAorCURJRkZfU1RBVFVTX0ZJTFRFUl9CUk9LRU4sCisJJ1wwJywKK307CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgZmlsdGVyX2JpdFsnWicgKyAxXTsKKworc3RhdGljIHZvaWQgcHJlcGFyZV9maWx0ZXJfYml0cyh2b2lkKQoreworCWludCBpOworCisJaWYgKCFmaWx0ZXJfYml0W0RJRkZfU1RBVFVTX0FEREVEXSkgeworCQlmb3IgKGkgPSAwOyBkaWZmX3N0YXR1c19sZXR0ZXJzW2ldOyBpKyspCisJCQlmaWx0ZXJfYml0WyhpbnQpIGRpZmZfc3RhdHVzX2xldHRlcnNbaV1dID0gKDEgPDwgaSk7CisJfQorfQorCitzdGF0aWMgdW5zaWduZWQgZmlsdGVyX2JpdF90c3QoY2hhciBzdGF0dXMsIGNvbnN0IHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCkKK3sKKwlyZXR1cm4gb3B0LT5maWx0ZXIgJiBmaWx0ZXJfYml0WyhpbnQpIHN0YXR1c107Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfZGlmZl9maWx0ZXJfb3B0KGNvbnN0IGNoYXIgKm9wdGFyZywgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KQoreworCWludCBpLCBvcHRjaDsKKworCXByZXBhcmVfZmlsdGVyX2JpdHMoKTsKKworCS8qCisJICogSWYgdGhlcmUgaXMgYSBuZWdhdGlvbiBlLmcuICdkJyBpbiB0aGUgaW5wdXQsIGFuZCB3ZSBoYXZlbid0CisJICogaW5pdGlhbGl6ZWQgdGhlIGZpbHRlciBmaWVsZCB3aXRoIGFub3RoZXIgLS1kaWZmLWZpbHRlciwgc3RhcnQKKwkgKiBmcm9tIGZ1bGwgc2V0IG9mIGJpdHMsIGV4Y2VwdCBmb3IgQU9OLgorCSAqLworCWlmICghb3B0LT5maWx0ZXIpIHsKKwkJZm9yIChpID0gMDsgKG9wdGNoID0gb3B0YXJnW2ldKSAhPSAnXDAnOyBpKyspIHsKKwkJCWlmIChvcHRjaCA8ICdhJyB8fCAneicgPCBvcHRjaCkKKwkJCQljb250aW51ZTsKKwkJCW9wdC0+ZmlsdGVyID0gKDEgPDwgKEFSUkFZX1NJWkUoZGlmZl9zdGF0dXNfbGV0dGVycykgLSAxKSkgLSAxOworCQkJb3B0LT5maWx0ZXIgJj0gfmZpbHRlcl9iaXRbRElGRl9TVEFUVVNfRklMVEVSX0FPTl07CisJCQlicmVhazsKKwkJfQorCX0KKworCWZvciAoaSA9IDA7IChvcHRjaCA9IG9wdGFyZ1tpXSkgIT0gJ1wwJzsgaSsrKSB7CisJCXVuc2lnbmVkIGludCBiaXQ7CisJCWludCBuZWdhdGU7CisKKwkJaWYgKCdhJyA8PSBvcHRjaCAmJiBvcHRjaCA8PSAneicpIHsKKwkJCW5lZ2F0ZSA9IDE7CisJCQlvcHRjaCA9IHRvdXBwZXIob3B0Y2gpOworCQl9IGVsc2UgeworCQkJbmVnYXRlID0gMDsKKwkJfQorCisJCWJpdCA9ICgwIDw9IG9wdGNoICYmIG9wdGNoIDw9ICdaJykgPyBmaWx0ZXJfYml0W29wdGNoXSA6IDA7CisJCWlmICghYml0KQorCQkJcmV0dXJuIG9wdGFyZ1tpXTsKKwkJaWYgKG5lZ2F0ZSkKKwkJCW9wdC0+ZmlsdGVyICY9IH5iaXQ7CisJCWVsc2UKKwkJCW9wdC0+ZmlsdGVyIHw9IGJpdDsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qIFVzZWQgb25seSBieSAiZGlmZi1maWxlcyIgYW5kICJkaWZmIC0tbm8taW5kZXgiICovCit2b2lkIGhhbmRsZV9kZXByZWNhdGVkX3Nob3dfZGlmZl9xKHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCkKK3sKKwl3YXJuaW5nKCInZGlmZiAtcScgYW5kICdkaWZmLWZpbGVzIC1xJyBhcmUgZGVwcmVjYXRlZC4iKTsKKwl3YXJuaW5nKCJVc2UgJ2RpZmYgLS1kaWZmLWZpbHRlcj1kJyBpbnN0ZWFkIHRvIGlnbm9yZSBkZWxldGVkIGZpbGVwYWlycy4iKTsKKwlwYXJzZV9kaWZmX2ZpbHRlcl9vcHQoImQiLCBvcHQpOworfQorCiBzdGF0aWMgdm9pZCBlbmFibGVfcGF0Y2hfb3V0cHV0KGludCAqZm10KSB7CiAJKmZtdCAmPSB+RElGRl9GT1JNQVRfTk9fT1VUUFVUOwogCSpmbXQgfD0gRElGRl9GT1JNQVRfUEFUQ0g7CkBAIC0zNzMyLDcgKzM4MTcsMTAgQEAKIAkJcmV0dXJuIGFyZ2NvdW50OwogCX0KIAllbHNlIGlmICgoYXJnY291bnQgPSBwYXJzZV9sb25nX29wdCgiZGlmZi1maWx0ZXIiLCBhdiwgJm9wdGFyZykpKSB7Ci0JCW9wdGlvbnMtPmZpbHRlciA9IG9wdGFyZzsKKwkJaW50IG9mZmVuZGluZyA9IHBhcnNlX2RpZmZfZmlsdGVyX29wdChvcHRhcmcsIG9wdGlvbnMpOworCQlpZiAob2ZmZW5kaW5nKQorCQkJZGllKCJ1bmtub3duIGNoYW5nZSBjbGFzcyAnJWMnIGluIC0tZGlmZi1maWx0ZXI9JXMiLAorCQkJICAgIG9mZmVuZGluZywgb3B0YXJnKTsKIAkJcmV0dXJuIGFyZ2NvdW50OwogCX0KIAllbHNlIGlmICghc3RyY21wKGFyZywgIi0tYWJicmV2IikpCkBAIC00NTI0LDI3ICs0NjEyLDMyIEBACiAJfQogfQogCi1zdGF0aWMgdm9pZCBkaWZmY29yZV9hcHBseV9maWx0ZXIoY29uc3QgY2hhciAqZmlsdGVyKQorc3RhdGljIGludCBtYXRjaF9maWx0ZXIoY29uc3Qgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucywgY29uc3Qgc3RydWN0IGRpZmZfZmlsZXBhaXIgKnApCit7CisJcmV0dXJuICgoKHAtPnN0YXR1cyA9PSBESUZGX1NUQVRVU19NT0RJRklFRCkgJiYKKwkJICgocC0+c2NvcmUgJiYKKwkJICAgZmlsdGVyX2JpdF90c3QoRElGRl9TVEFUVVNfRklMVEVSX0JST0tFTiwgb3B0aW9ucykpIHx8CisJCSAgKCFwLT5zY29yZSAmJgorCQkgICBmaWx0ZXJfYml0X3RzdChESUZGX1NUQVRVU19NT0RJRklFRCwgb3B0aW9ucykpKSkgfHwKKwkJKChwLT5zdGF0dXMgIT0gRElGRl9TVEFUVVNfTU9ESUZJRUQpICYmCisJCSBmaWx0ZXJfYml0X3RzdChwLT5zdGF0dXMsIG9wdGlvbnMpKSk7Cit9CisKK3N0YXRpYyB2b2lkIGRpZmZjb3JlX2FwcGx5X2ZpbHRlcihzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zKQogewogCWludCBpOwogCXN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCAqcSA9ICZkaWZmX3F1ZXVlZF9kaWZmOwogCXN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCBvdXRxOworCiAJRElGRl9RVUVVRV9DTEVBUigmb3V0cSk7CiAKLQlpZiAoIWZpbHRlcikKKwlpZiAoIW9wdGlvbnMtPmZpbHRlcikKIAkJcmV0dXJuOwogCi0JaWYgKHN0cmNocihmaWx0ZXIsIERJRkZfU1RBVFVTX0ZJTFRFUl9BT04pKSB7CisJaWYgKGZpbHRlcl9iaXRfdHN0KERJRkZfU1RBVFVTX0ZJTFRFUl9BT04sIG9wdGlvbnMpKSB7CiAJCWludCBmb3VuZDsKIAkJZm9yIChpID0gZm91bmQgPSAwOyAhZm91bmQgJiYgaSA8IHEtPm5yOyBpKyspIHsKLQkJCXN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwID0gcS0+cXVldWVbaV07Ci0JCQlpZiAoKChwLT5zdGF0dXMgPT0gRElGRl9TVEFUVVNfTU9ESUZJRUQpICYmCi0JCQkgICAgICgocC0+c2NvcmUgJiYKLQkJCSAgICAgICBzdHJjaHIoZmlsdGVyLCBESUZGX1NUQVRVU19GSUxURVJfQlJPS0VOKSkgfHwKLQkJCSAgICAgICghcC0+c2NvcmUgJiYKLQkJCSAgICAgICBzdHJjaHIoZmlsdGVyLCBESUZGX1NUQVRVU19NT0RJRklFRCkpKSkgfHwKLQkJCSAgICAoKHAtPnN0YXR1cyAhPSBESUZGX1NUQVRVU19NT0RJRklFRCkgJiYKLQkJCSAgICAgc3RyY2hyKGZpbHRlciwgcC0+c3RhdHVzKSkpCisJCQlpZiAobWF0Y2hfZmlsdGVyKG9wdGlvbnMsIHEtPnF1ZXVlW2ldKSkKIAkJCQlmb3VuZCsrOwogCQl9CiAJCWlmIChmb3VuZCkKQEAgLTQ1NjIsMTQgKzQ2NTUsNyBAQAogCQkvKiBPbmx5IHRoZSBtYXRjaGluZyBvbmVzICovCiAJCWZvciAoaSA9IDA7IGkgPCBxLT5ucjsgaSsrKSB7CiAJCQlzdHJ1Y3QgZGlmZl9maWxlcGFpciAqcCA9IHEtPnF1ZXVlW2ldOwotCi0JCQlpZiAoKChwLT5zdGF0dXMgPT0gRElGRl9TVEFUVVNfTU9ESUZJRUQpICYmCi0JCQkgICAgICgocC0+c2NvcmUgJiYKLQkJCSAgICAgICBzdHJjaHIoZmlsdGVyLCBESUZGX1NUQVRVU19GSUxURVJfQlJPS0VOKSkgfHwKLQkJCSAgICAgICghcC0+c2NvcmUgJiYKLQkJCSAgICAgICBzdHJjaHIoZmlsdGVyLCBESUZGX1NUQVRVU19NT0RJRklFRCkpKSkgfHwKLQkJCSAgICAoKHAtPnN0YXR1cyAhPSBESUZGX1NUQVRVU19NT0RJRklFRCkgJiYKLQkJCSAgICAgc3RyY2hyKGZpbHRlciwgcC0+c3RhdHVzKSkpCisJCQlpZiAobWF0Y2hfZmlsdGVyKG9wdGlvbnMsIHApKQogCQkJCWRpZmZfcSgmb3V0cSwgcCk7CiAJCQllbHNlCiAJCQkJZGlmZl9mcmVlX2ZpbGVwYWlyKHApOwpAQCAtNDY3Niw3ICs0NzYyLDcgQEAKIAlpZiAoIW9wdGlvbnMtPmZvdW5kX2ZvbGxvdykKIAkJLyogU2VlIHRyeV90b19mb2xsb3dfcmVuYW1lcygpIGluIHRyZWUtZGlmZi5jICovCiAJCWRpZmZfcmVzb2x2ZV9yZW5hbWVfY29weSgpOwotCWRpZmZjb3JlX2FwcGx5X2ZpbHRlcihvcHRpb25zLT5maWx0ZXIpOworCWRpZmZjb3JlX2FwcGx5X2ZpbHRlcihvcHRpb25zKTsKIAogCWlmIChkaWZmX3F1ZXVlZF9kaWZmLm5yICYmICFESUZGX09QVF9UU1Qob3B0aW9ucywgRElGRl9GUk9NX0NPTlRFTlRTKSkKIAkJRElGRl9PUFRfU0VUKG9wdGlvbnMsIEhBU19DSEFOR0VTKTsKZGlmZiAtLWdpdCBhL2RpZmYuaCBiL2RpZmYuaAppbmRleCA3OGI0MDkxLi5lMzQyMzI1IDEwMDY0NAotLS0gYS9kaWZmLmgKKysrIGIvZGlmZi5oCkBAIC01LDYgKzUsNyBAQAogI2RlZmluZSBESUZGX0gKIAogI2luY2x1ZGUgInRyZWUtd2Fsay5oIgorI2luY2x1ZGUgInBhdGhzcGVjLmgiCiAKIHN0cnVjdCByZXZfaW5mbzsKIHN0cnVjdCBkaWZmX29wdGlvbnM7CkBAIC04Nyw4ICs4OCw5IEBACiAjZGVmaW5lIERJRkZfT1BUX1BJQ0tBWEVfSUdOT1JFX0NBU0UgKDEgPDwgMzApCiAKICNkZWZpbmUgRElGRl9PUFRfVFNUKG9wdHMsIGZsYWcpICAgICgob3B0cyktPmZsYWdzICYgRElGRl9PUFRfIyNmbGFnKQotI2RlZmluZSBESUZGX09QVF9TRVQob3B0cywgZmxhZykgICAgKChvcHRzKS0+ZmxhZ3MgfD0gRElGRl9PUFRfIyNmbGFnKQotI2RlZmluZSBESUZGX09QVF9DTFIob3B0cywgZmxhZykgICAgKChvcHRzKS0+ZmxhZ3MgJj0gfkRJRkZfT1BUXyMjZmxhZykKKyNkZWZpbmUgRElGRl9PUFRfVE9VQ0hFRChvcHRzLCBmbGFnKSAgICAoKG9wdHMpLT50b3VjaGVkX2ZsYWdzICYgRElGRl9PUFRfIyNmbGFnKQorI2RlZmluZSBESUZGX09QVF9TRVQob3B0cywgZmxhZykgICAgKCgob3B0cyktPmZsYWdzIHw9IERJRkZfT1BUXyMjZmxhZyksKChvcHRzKS0+dG91Y2hlZF9mbGFncyB8PSBESUZGX09QVF8jI2ZsYWcpKQorI2RlZmluZSBESUZGX09QVF9DTFIob3B0cywgZmxhZykgICAgKCgob3B0cyktPmZsYWdzICY9IH5ESUZGX09QVF8jI2ZsYWcpLCgob3B0cyktPnRvdWNoZWRfZmxhZ3MgfD0gRElGRl9PUFRfIyNmbGFnKSkKICNkZWZpbmUgRElGRl9YRExfVFNUKG9wdHMsIGZsYWcpICAgICgob3B0cyktPnhkbF9vcHRzICYgWERGXyMjZmxhZykKICNkZWZpbmUgRElGRl9YRExfU0VUKG9wdHMsIGZsYWcpICAgICgob3B0cyktPnhkbF9vcHRzIHw9IFhERl8jI2ZsYWcpCiAjZGVmaW5lIERJRkZfWERMX0NMUihvcHRzLCBmbGFnKSAgICAoKG9wdHMpLT54ZGxfb3B0cyAmPSB+WERGXyMjZmxhZykKQEAgLTEwMywxMiArMTA1LDE2IEBACiB9OwogCiBzdHJ1Y3QgZGlmZl9vcHRpb25zIHsKLQljb25zdCBjaGFyICpmaWx0ZXI7CiAJY29uc3QgY2hhciAqb3JkZXJmaWxlOwogCWNvbnN0IGNoYXIgKnBpY2theGU7CiAJY29uc3QgY2hhciAqc2luZ2xlX2ZvbGxvdzsKIAljb25zdCBjaGFyICphX3ByZWZpeCwgKmJfcHJlZml4OwogCXVuc2lnbmVkIGZsYWdzOworCXVuc2lnbmVkIHRvdWNoZWRfZmxhZ3M7CisKKwkvKiBkaWZmLWZpbHRlciBiaXRzICovCisJdW5zaWduZWQgaW50IGZpbHRlcjsKKwogCWludCB1c2VfY29sb3I7CiAJaW50IGNvbnRleHQ7CiAJaW50IGludGVyaHVua2NvbnRleHQ7CkBAIC0xNDUsNiArMTUxLDggQEAKIAkvKiB0byBzdXBwb3J0IGludGVybmFsIGRpZmYgcmVjdXJzaW9uIGJ5IC0tZm9sbG93IGhhY2sqLwogCWludCBmb3VuZF9mb2xsb3c7CiAKKwl2b2lkICgqc2V0X2RlZmF1bHQpKHN0cnVjdCBkaWZmX29wdGlvbnMgKik7CisKIAlGSUxFICpmaWxlOwogCWludCBjbG9zZV9maWxlOwogCkBAIC0xNzksOCArMTg3LDYgQEAKIAogZXh0ZXJuIGNvbnN0IGNoYXIgbWltZV9ib3VuZGFyeV9sZWFkZXJbXTsKIAotZXh0ZXJuIHZvaWQgZGlmZl90cmVlX3NldHVwX3BhdGhzKGNvbnN0IGNoYXIgKipwYXRocywgc3RydWN0IGRpZmZfb3B0aW9ucyAqKTsKLWV4dGVybiB2b2lkIGRpZmZfdHJlZV9yZWxlYXNlX3BhdGhzKHN0cnVjdCBkaWZmX29wdGlvbnMgKik7CiBleHRlcm4gaW50IGRpZmZfdHJlZShzdHJ1Y3QgdHJlZV9kZXNjICp0MSwgc3RydWN0IHRyZWVfZGVzYyAqdDIsCiAJCSAgICAgY29uc3QgY2hhciAqYmFzZSwgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KTsKIGV4dGVybiBpbnQgZGlmZl90cmVlX3NoYTEoY29uc3QgdW5zaWduZWQgY2hhciAqb2xkLCBjb25zdCB1bnNpZ25lZCBjaGFyICpuZXcsCkBAIC0zMzgsNiArMzQ0LDggQEAKIAogZXh0ZXJuIGxvbmcgcGFyc2VfYWxnb3JpdGhtX3ZhbHVlKGNvbnN0IGNoYXIgKnZhbHVlKTsKIAorZXh0ZXJuIHZvaWQgaGFuZGxlX2RlcHJlY2F0ZWRfc2hvd19kaWZmX3Eoc3RydWN0IGRpZmZfb3B0aW9ucyAqKTsKKwogZXh0ZXJuIGludCBwcmludF9zdGF0X3N1bW1hcnkoRklMRSAqZnAsIGludCBmaWxlcywKIAkJCSAgICAgIGludCBpbnNlcnRpb25zLCBpbnQgZGVsZXRpb25zKTsKIGV4dGVybiB2b2lkIHNldHVwX2RpZmZfcGFnZXIoc3RydWN0IGRpZmZfb3B0aW9ucyAqKTsKZGlmZiAtLWdpdCBhL2Rpci5jIGIvZGlyLmMKaW5kZXggMWQ2M2U5OC4uMjNiNmRlNCAxMDA2NDQKLS0tIGEvZGlyLmMKKysrIGIvZGlyLmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlICJkaXIuaCIKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAid2lsZG1hdGNoLmgiCisjaW5jbHVkZSAicGF0aHNwZWMuaCIKIAogc3RydWN0IHBhdGhfc2ltcGxpZnkgewogCWludCBsZW47CkBAIC01MSwyNiArNTIsMzIgQEAKIAlyZXR1cm4gZm5tYXRjaChwYXR0ZXJuLCBzdHJpbmcsIGZsYWdzIHwgKGlnbm9yZV9jYXNlID8gRk5NX0NBU0VGT0xEIDogMCkpOwogfQogCi1pbmxpbmUgaW50IGdpdF9mbm1hdGNoKGNvbnN0IGNoYXIgKnBhdHRlcm4sIGNvbnN0IGNoYXIgKnN0cmluZywKLQkJICAgICAgIGludCBmbGFncywgaW50IHByZWZpeCkKK2lubGluZSBpbnQgZ2l0X2ZubWF0Y2goY29uc3Qgc3RydWN0IHBhdGhzcGVjX2l0ZW0gKml0ZW0sCisJCSAgICAgICBjb25zdCBjaGFyICpwYXR0ZXJuLCBjb25zdCBjaGFyICpzdHJpbmcsCisJCSAgICAgICBpbnQgcHJlZml4KQogewotCWludCBmbm1fZmxhZ3MgPSAwOwotCWlmIChmbGFncyAmIEdGTk1fUEFUSE5BTUUpCi0JCWZubV9mbGFncyB8PSBGTk1fUEFUSE5BTUU7CiAJaWYgKHByZWZpeCA+IDApIHsKLQkJaWYgKHN0cm5jbXAocGF0dGVybiwgc3RyaW5nLCBwcmVmaXgpKQorCQlpZiAocHNfc3RybmNtcChpdGVtLCBwYXR0ZXJuLCBzdHJpbmcsIHByZWZpeCkpCiAJCQlyZXR1cm4gRk5NX05PTUFUQ0g7CiAJCXBhdHRlcm4gKz0gcHJlZml4OwogCQlzdHJpbmcgKz0gcHJlZml4OwogCX0KLQlpZiAoZmxhZ3MgJiBHRk5NX09ORVNUQVIpIHsKKwlpZiAoaXRlbS0+ZmxhZ3MgJiBQQVRIU1BFQ19PTkVTVEFSKSB7CiAJCWludCBwYXR0ZXJuX2xlbiA9IHN0cmxlbigrK3BhdHRlcm4pOwogCQlpbnQgc3RyaW5nX2xlbiA9IHN0cmxlbihzdHJpbmcpOwogCQlyZXR1cm4gc3RyaW5nX2xlbiA8IHBhdHRlcm5fbGVuIHx8Ci0JCSAgICAgICBzdHJjbXAocGF0dGVybiwKLQkJCSAgICAgIHN0cmluZyArIHN0cmluZ19sZW4gLSBwYXR0ZXJuX2xlbik7CisJCQlwc19zdHJjbXAoaXRlbSwgcGF0dGVybiwKKwkJCQkgIHN0cmluZyArIHN0cmluZ19sZW4gLSBwYXR0ZXJuX2xlbik7CiAJfQotCXJldHVybiBmbm1hdGNoKHBhdHRlcm4sIHN0cmluZywgZm5tX2ZsYWdzKTsKKwlpZiAoaXRlbS0+bWFnaWMgJiBQQVRIU1BFQ19HTE9CKQorCQlyZXR1cm4gd2lsZG1hdGNoKHBhdHRlcm4sIHN0cmluZywKKwkJCQkgV01fUEFUSE5BTUUgfAorCQkJCSAoaXRlbS0+bWFnaWMgJiBQQVRIU1BFQ19JQ0FTRSA/IFdNX0NBU0VGT0xEIDogMCksCisJCQkJIE5VTEwpOworCWVsc2UKKwkJLyogd2lsZG1hdGNoIGhhcyBub3QgbGVhcm5lZCBubyBGTk1fUEFUSE5BTUUgbW9kZSB5ZXQgKi8KKwkJcmV0dXJuIGZubWF0Y2gocGF0dGVybiwgc3RyaW5nLAorCQkJICAgICAgIGl0ZW0tPm1hZ2ljICYgUEFUSFNQRUNfSUNBU0UgPyBGTk1fQ0FTRUZPTEQgOiAwKTsKIH0KIAogc3RhdGljIGludCBmbm1hdGNoX2ljYXNlX21lbShjb25zdCBjaGFyICpwYXR0ZXJuLCBpbnQgcGF0dGVybmxlbiwKQEAgLTEwMiwyNiArMTA5LDQwIEBACiAJcmV0dXJuIG1hdGNoX3N0YXR1czsKIH0KIAotc3RhdGljIHNpemVfdCBjb21tb25fcHJlZml4X2xlbihjb25zdCBjaGFyICoqcGF0aHNwZWMpCitzdGF0aWMgc2l6ZV90IGNvbW1vbl9wcmVmaXhfbGVuKGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCiB7Ci0JY29uc3QgY2hhciAqbiwgKmZpcnN0OworCWludCBuOwogCXNpemVfdCBtYXggPSAwOwotCWludCBsaXRlcmFsID0gbGltaXRfcGF0aHNwZWNfdG9fbGl0ZXJhbCgpOwogCi0JaWYgKCFwYXRoc3BlYykKLQkJcmV0dXJuIG1heDsKKwkvKgorCSAqICI6KGljYXNlKXBhdGgiIGlzIHRyZWF0ZWQgYXMgYSBwYXRoc3BlYyBmdWxsIG9mCisJICogd2lsZGNhcmQuIEluIG90aGVyIHdvcmRzLCBvbmx5IHByZWZpeCBpcyBjb25zaWRlcmVkIGNvbW1vbgorCSAqIHByZWZpeC4gSWYgdGhlIHBhdGhzcGVjIGlzIGFiYy9mb28gYWJjL2JhciwgcnVubmluZyBpbgorCSAqIHN1YmRpciB4eXosIHRoZSBjb21tb24gcHJlZml4IGlzIHN0aWxsIHh5eiwgbm90IHh1ei9hYmMgYXMKKwkgKiBpbiBub24tOihpY2FzZSkuCisJICovCisJR1VBUkRfUEFUSFNQRUMocGF0aHNwZWMsCisJCSAgICAgICBQQVRIU1BFQ19GUk9NVE9QIHwKKwkJICAgICAgIFBBVEhTUEVDX01BWERFUFRIIHwKKwkJICAgICAgIFBBVEhTUEVDX0xJVEVSQUwgfAorCQkgICAgICAgUEFUSFNQRUNfR0xPQiB8CisJCSAgICAgICBQQVRIU1BFQ19JQ0FTRSk7CiAKLQlmaXJzdCA9ICpwYXRoc3BlYzsKLQl3aGlsZSAoKG4gPSAqcGF0aHNwZWMrKykpIHsKLQkJc2l6ZV90IGksIGxlbiA9IDA7Ci0JCWZvciAoaSA9IDA7IGZpcnN0ID09IG4gfHwgaSA8IG1heDsgaSsrKSB7Ci0JCQljaGFyIGMgPSBuW2ldOwotCQkJaWYgKCFjIHx8IGMgIT0gZmlyc3RbaV0gfHwgKCFsaXRlcmFsICYmIGlzX2dsb2Jfc3BlY2lhbChjKSkpCisJZm9yIChuID0gMDsgbiA8IHBhdGhzcGVjLT5ucjsgbisrKSB7CisJCXNpemVfdCBpID0gMCwgbGVuID0gMCwgaXRlbV9sZW47CisJCWlmIChwYXRoc3BlYy0+aXRlbXNbbl0ubWFnaWMgJiBQQVRIU1BFQ19JQ0FTRSkKKwkJCWl0ZW1fbGVuID0gcGF0aHNwZWMtPml0ZW1zW25dLnByZWZpeDsKKwkJZWxzZQorCQkJaXRlbV9sZW4gPSBwYXRoc3BlYy0+aXRlbXNbbl0ubm93aWxkY2FyZF9sZW47CisJCXdoaWxlIChpIDwgaXRlbV9sZW4gJiYgKG4gPT0gMCB8fCBpIDwgbWF4KSkgeworCQkJY2hhciBjID0gcGF0aHNwZWMtPml0ZW1zW25dLm1hdGNoW2ldOworCQkJaWYgKGMgIT0gcGF0aHNwZWMtPml0ZW1zWzBdLm1hdGNoW2ldKQogCQkJCWJyZWFrOwogCQkJaWYgKGMgPT0gJy8nKQogCQkJCWxlbiA9IGkgKyAxOworCQkJaSsrOwogCQl9Ci0JCWlmIChmaXJzdCA9PSBuIHx8IGxlbiA8IG1heCkgeworCQlpZiAobiA9PSAwIHx8IGxlbiA8IG1heCkgewogCQkJbWF4ID0gbGVuOwogCQkJaWYgKCFtYXgpCiAJCQkJYnJlYWs7CkBAIC0xMzQsMTQgKzE1NSwxNCBAQAogICogUmV0dXJucyBhIGNvcHkgb2YgdGhlIGxvbmdlc3QgbGVhZGluZyBwYXRoIGNvbW1vbiBhbW9uZyBhbGwKICAqIHBhdGhzcGVjcy4KICAqLwotY2hhciAqY29tbW9uX3ByZWZpeChjb25zdCBjaGFyICoqcGF0aHNwZWMpCitjaGFyICpjb21tb25fcHJlZml4KGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCiB7CiAJdW5zaWduZWQgbG9uZyBsZW4gPSBjb21tb25fcHJlZml4X2xlbihwYXRoc3BlYyk7CiAKLQlyZXR1cm4gbGVuID8geG1lbWR1cHooKnBhdGhzcGVjLCBsZW4pIDogTlVMTDsKKwlyZXR1cm4gbGVuID8geG1lbWR1cHoocGF0aHNwZWMtPml0ZW1zWzBdLm1hdGNoLCBsZW4pIDogTlVMTDsKIH0KIAotaW50IGZpbGxfZGlyZWN0b3J5KHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsIGNvbnN0IGNoYXIgKipwYXRoc3BlYykKK2ludCBmaWxsX2RpcmVjdG9yeShzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewogCXNpemVfdCBsZW47CiAKQEAgLTE1Miw3ICsxNzMsNyBAQAogCWxlbiA9IGNvbW1vbl9wcmVmaXhfbGVuKHBhdGhzcGVjKTsKIAogCS8qIFJlYWQgdGhlIGRpcmVjdG9yeSBhbmQgcHJ1bmUgaXQgKi8KLQlyZWFkX2RpcmVjdG9yeShkaXIsIHBhdGhzcGVjID8gKnBhdGhzcGVjIDogIiIsIGxlbiwgcGF0aHNwZWMpOworCXJlYWRfZGlyZWN0b3J5KGRpciwgcGF0aHNwZWMtPm5yID8gcGF0aHNwZWMtPl9yYXdbMF0gOiAiIiwgbGVuLCBwYXRoc3BlYyk7CiAJcmV0dXJuIGxlbjsKIH0KIApAQCAtMTgzLDExMyArMjA0LDYgQEAKICAqCiAgKiBJdCByZXR1cm5zIDAgd2hlbiB0aGVyZSBpcyBubyBtYXRjaC4KICAqLwotc3RhdGljIGludCBtYXRjaF9vbmUoY29uc3QgY2hhciAqbWF0Y2gsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuKQotewotCWludCBtYXRjaGxlbjsKLQlpbnQgbGl0ZXJhbCA9IGxpbWl0X3BhdGhzcGVjX3RvX2xpdGVyYWwoKTsKLQotCS8qIElmIHRoZSBtYXRjaCB3YXMganVzdCB0aGUgcHJlZml4LCB3ZSBtYXRjaGVkICovCi0JaWYgKCEqbWF0Y2gpCi0JCXJldHVybiBNQVRDSEVEX1JFQ1VSU0lWRUxZOwotCi0JaWYgKGlnbm9yZV9jYXNlKSB7Ci0JCWZvciAoOzspIHsKLQkJCXVuc2lnbmVkIGNoYXIgYzEgPSB0b2xvd2VyKCptYXRjaCk7Ci0JCQl1bnNpZ25lZCBjaGFyIGMyID0gdG9sb3dlcigqbmFtZSk7Ci0JCQlpZiAoYzEgPT0gJ1wwJyB8fCAoIWxpdGVyYWwgJiYgaXNfZ2xvYl9zcGVjaWFsKGMxKSkpCi0JCQkJYnJlYWs7Ci0JCQlpZiAoYzEgIT0gYzIpCi0JCQkJcmV0dXJuIDA7Ci0JCQltYXRjaCsrOwotCQkJbmFtZSsrOwotCQkJbmFtZWxlbi0tOwotCQl9Ci0JfSBlbHNlIHsKLQkJZm9yICg7OykgewotCQkJdW5zaWduZWQgY2hhciBjMSA9ICptYXRjaDsKLQkJCXVuc2lnbmVkIGNoYXIgYzIgPSAqbmFtZTsKLQkJCWlmIChjMSA9PSAnXDAnIHx8ICghbGl0ZXJhbCAmJiBpc19nbG9iX3NwZWNpYWwoYzEpKSkKLQkJCQlicmVhazsKLQkJCWlmIChjMSAhPSBjMikKLQkJCQlyZXR1cm4gMDsKLQkJCW1hdGNoKys7Ci0JCQluYW1lKys7Ci0JCQluYW1lbGVuLS07Ci0JCX0KLQl9Ci0KLQkvKgotCSAqIElmIHdlIGRvbid0IG1hdGNoIHRoZSBtYXRjaHN0cmluZyBleGFjdGx5LAotCSAqIHdlIG5lZWQgdG8gbWF0Y2ggYnkgZm5tYXRjaAotCSAqLwotCW1hdGNobGVuID0gc3RybGVuKG1hdGNoKTsKLQlpZiAoc3RybmNtcF9pY2FzZShtYXRjaCwgbmFtZSwgbWF0Y2hsZW4pKSB7Ci0JCWlmIChsaXRlcmFsKQotCQkJcmV0dXJuIDA7Ci0JCXJldHVybiAhZm5tYXRjaF9pY2FzZShtYXRjaCwgbmFtZSwgMCkgPyBNQVRDSEVEX0ZOTUFUQ0ggOiAwOwotCX0KLQotCWlmIChuYW1lbGVuID09IG1hdGNobGVuKQotCQlyZXR1cm4gTUFUQ0hFRF9FWEFDVExZOwotCWlmIChtYXRjaFttYXRjaGxlbi0xXSA9PSAnLycgfHwgbmFtZVttYXRjaGxlbl0gPT0gJy8nKQotCQlyZXR1cm4gTUFUQ0hFRF9SRUNVUlNJVkVMWTsKLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIEdpdmVuIGEgbmFtZSBhbmQgYSBsaXN0IG9mIHBhdGhzcGVjcywgcmV0dXJucyB0aGUgbmF0dXJlIG9mIHRoZQotICogY2xvc2VzdCAoaS5lLiBtb3N0IHNwZWNpZmljKSBtYXRjaCBvZiB0aGUgbmFtZSB0byBhbnkgb2YgdGhlCi0gKiBwYXRoc3BlY3MuCi0gKgotICogVGhlIGNhbGxlciB0eXBpY2FsbHkgY2FsbHMgdGhpcyBtdWx0aXBsZSB0aW1lcyB3aXRoIHRoZSBzYW1lCi0gKiBwYXRoc3BlYyBhbmQgc2VlbltdIGFycmF5IGJ1dCB3aXRoIGRpZmZlcmVudCBuYW1lL25hbWVsZW4KLSAqIChlLmcuIGVudHJpZXMgZnJvbSB0aGUgaW5kZXgpIGFuZCBpcyBpbnRlcmVzdGVkIGluIHNlZWluZyBpZiBhbmQKLSAqIGhvdyBlYWNoIHBhdGhzcGVjIG1hdGNoZXMgYWxsIHRoZSBuYW1lcyBpdCBjYWxscyB0aGlzIGZ1bmN0aW9uCi0gKiB3aXRoLiAgQSBtYXJrIGlzIGxlZnQgaW4gdGhlIHNlZW5bXSBhcnJheSBmb3IgZWFjaCBwYXRoc3BlYyBlbGVtZW50Ci0gKiBpbmRpY2F0aW5nIHRoZSBjbG9zZXN0IHR5cGUgb2YgbWF0Y2ggdGhhdCBlbGVtZW50IGFjaGlldmVkLCBzbyBpZgotICogc2VlbltuXSByZW1haW5zIHplcm8gYWZ0ZXIgbXVsdGlwbGUgaW52b2NhdGlvbnMsIHRoYXQgbWVhbnMgdGhlIG50aAotICogcGF0aHNwZWMgZGlkIG5vdCBtYXRjaCBhbnkgbmFtZXMsIHdoaWNoIGNvdWxkIGluZGljYXRlIHRoYXQgdGhlCi0gKiB1c2VyIG1pc3R5cGVkIHRoZSBudGggcGF0aHNwZWMuCi0gKi8KLWludCBtYXRjaF9wYXRoc3BlYyhjb25zdCBjaGFyICoqcGF0aHNwZWMsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLAotCQlpbnQgcHJlZml4LCBjaGFyICpzZWVuKQotewotCWludCBpLCByZXR2YWwgPSAwOwotCi0JaWYgKCFwYXRoc3BlYykKLQkJcmV0dXJuIDE7Ci0KLQluYW1lICs9IHByZWZpeDsKLQluYW1lbGVuIC09IHByZWZpeDsKLQotCWZvciAoaSA9IDA7IHBhdGhzcGVjW2ldICE9IE5VTEw7IGkrKykgewotCQlpbnQgaG93OwotCQljb25zdCBjaGFyICptYXRjaCA9IHBhdGhzcGVjW2ldICsgcHJlZml4OwotCQlpZiAoc2VlbiAmJiBzZWVuW2ldID09IE1BVENIRURfRVhBQ1RMWSkKLQkJCWNvbnRpbnVlOwotCQlob3cgPSBtYXRjaF9vbmUobWF0Y2gsIG5hbWUsIG5hbWVsZW4pOwotCQlpZiAoaG93KSB7Ci0JCQlpZiAocmV0dmFsIDwgaG93KQotCQkJCXJldHZhbCA9IGhvdzsKLQkJCWlmIChzZWVuICYmIHNlZW5baV0gPCBob3cpCi0JCQkJc2VlbltpXSA9IGhvdzsKLQkJfQotCX0KLQlyZXR1cm4gcmV0dmFsOwotfQotCi0vKgotICogRG9lcyAnbWF0Y2gnIG1hdGNoIHRoZSBnaXZlbiBuYW1lPwotICogQSBtYXRjaCBpcyBmb3VuZCBpZgotICoKLSAqICgxKSB0aGUgJ21hdGNoJyBzdHJpbmcgaXMgbGVhZGluZyBkaXJlY3Rvcnkgb2YgJ25hbWUnLCBvcgotICogKDIpIHRoZSAnbWF0Y2gnIHN0cmluZyBpcyBhIHdpbGRjYXJkIGFuZCBtYXRjaGVzICduYW1lJywgb3IKLSAqICgzKSB0aGUgJ21hdGNoJyBzdHJpbmcgaXMgZXhhY3RseSB0aGUgc2FtZSBhcyAnbmFtZScuCi0gKgotICogYW5kIHRoZSByZXR1cm4gdmFsdWUgdGVsbHMgd2hpY2ggY2FzZSBpdCB3YXMuCi0gKgotICogSXQgcmV0dXJucyAwIHdoZW4gdGhlcmUgaXMgbm8gbWF0Y2guCi0gKi8KIHN0YXRpYyBpbnQgbWF0Y2hfcGF0aHNwZWNfaXRlbShjb25zdCBzdHJ1Y3QgcGF0aHNwZWNfaXRlbSAqaXRlbSwgaW50IHByZWZpeCwKIAkJCSAgICAgICBjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbikKIHsKQEAgLTI5NywxMSArMjExLDQ0IEBACiAJY29uc3QgY2hhciAqbWF0Y2ggPSBpdGVtLT5tYXRjaCArIHByZWZpeDsKIAlpbnQgbWF0Y2hsZW4gPSBpdGVtLT5sZW4gLSBwcmVmaXg7CiAKKwkvKgorCSAqIFRoZSBub3JtYWwgY2FsbCBwYXR0ZXJuIGlzOgorCSAqIDEuIHByZWZpeCA9IGNvbW1vbl9wcmVmaXhfbGVuKHBzKTsKKwkgKiAyLiBwcnVuZSBzb21ldGhpbmcsIG9yIGZpbGxfZGlyZWN0b3J5CisJICogMy4gbWF0Y2hfcGF0aHNwZWNfZGVwdGgoKQorCSAqCisJICogJ3ByZWZpeCcgYXQgIzEgbWF5IGJlIHNob3J0ZXIgdGhhbiB0aGUgY29tbWFuZCdzIHByZWZpeCBhbmQKKwkgKiBpdCdzIG9rIGZvciAjMiB0byBtYXRjaCBleHRyYSBmaWxlcy4gVGhvc2UgZXh0cmFzIHdpbGwgYmUKKwkgKiB0cmltbWVkIGF0ICMzLgorCSAqCisJICogU3VwcG9zZSB0aGUgcGF0aHNwZWMgaXMgJ2ZvbycgYW5kICcuLi9iYXInIHJ1bm5pbmcgZnJvbQorCSAqIHN1YmRpciAneHl6Jy4gVGhlIGNvbW1vbiBwcmVmaXggYXQgIzEgd2lsbCBiZSBlbXB0eSwgdGhhbmtzCisJICogdG8gIi4uLyIuIFdlIG1heSBoYXZlIHh5ei9mb28gX2FuZF8gWFlaL2ZvbyBhZnRlciAjMi4gVGhlCisJICogdXNlciBkb2VzIG5vdCB3YW50IFhZWi9mb28sIG9ubHkgdGhlICJmb28iIHBhcnQgc2hvdWxkIGJlCisJICogY2FzZS1pbnNlbnNpdGl2ZS4gV2UgbmVlZCB0byBmaWx0ZXIgb3V0IFhZWi9mb28gaGVyZS4gSW4KKwkgKiBvdGhlciB3b3Jkcywgd2UgZG8gbm90IHRydXN0IHRoZSBjYWxsZXIgb24gY29tcGFyaW5nIHRoZQorCSAqIHByZWZpeCBwYXJ0IHdoZW4gOihpY2FzZSkgaXMgaW52b2x2ZWQuIFdlIGRvIGV4YWN0CisJICogY29tcGFyaXNvbiBvdXJzZWx2ZXMuCisJICoKKwkgKiBOb3JtYWxseSB0aGUgY2FsbGVyIChjb21tb25fcHJlZml4X2xlbigpIGluIGZhY3QpIGRvZXMKKwkgKiBfZXhhY3RfIG1hdGNoaW5nIG9uIG5hbWVbLXByZWZpeCsxLi4tMV0gYW5kIHdlIGRvIG5vdCBuZWVkCisJICogdG8gY2hlY2sgdGhhdCBwYXJ0LiBCZSBkZWZlbnNpdmUgYW5kIGNoZWNrIGl0IGFueXdheSwgaW4KKwkgKiBjYXNlIGNvbW1vbl9wcmVmaXhfbGVuIGlzIGNoYW5nZWQsIG9yIGEgbmV3IGNhbGxlciBpcworCSAqIGludHJvZHVjZWQgdGhhdCBkb2VzIG5vdCB1c2UgY29tbW9uX3ByZWZpeF9sZW4uCisJICoKKwkgKiBJZiB0aGUgcGVuYWx0eSB0dXJucyBvdXQgdG9vIGhpZ2ggd2hlbiBwcmVmaXggaXMgcmVhbGx5CisJICogbG9uZywgbWF5YmUgY2hhbmdlIGl0IHRvCisJICogc3RybmNtcChtYXRjaCwgbmFtZSwgaXRlbS0+cHJlZml4IC0gcHJlZml4KQorCSAqLworCWlmIChpdGVtLT5wcmVmaXggJiYgKGl0ZW0tPm1hZ2ljICYgUEFUSFNQRUNfSUNBU0UpICYmCisJICAgIHN0cm5jbXAoaXRlbS0+bWF0Y2gsIG5hbWUgLSBwcmVmaXgsIGl0ZW0tPnByZWZpeCkpCisJCXJldHVybiAwOworCiAJLyogSWYgdGhlIG1hdGNoIHdhcyBqdXN0IHRoZSBwcmVmaXgsIHdlIG1hdGNoZWQgKi8KIAlpZiAoISptYXRjaCkKIAkJcmV0dXJuIE1BVENIRURfUkVDVVJTSVZFTFk7CiAKLQlpZiAobWF0Y2hsZW4gPD0gbmFtZWxlbiAmJiAhc3RybmNtcChtYXRjaCwgbmFtZSwgbWF0Y2hsZW4pKSB7CisJaWYgKG1hdGNobGVuIDw9IG5hbWVsZW4gJiYgIXBzX3N0cm5jbXAoaXRlbSwgbWF0Y2gsIG5hbWUsIG1hdGNobGVuKSkgewogCQlpZiAobWF0Y2hsZW4gPT0gbmFtZWxlbikKIAkJCXJldHVybiBNQVRDSEVEX0VYQUNUTFk7CiAKQEAgLTMxMCw4ICsyNTcsNyBAQAogCX0KIAogCWlmIChpdGVtLT5ub3dpbGRjYXJkX2xlbiA8IGl0ZW0tPmxlbiAmJgotCSAgICAhZ2l0X2ZubWF0Y2gobWF0Y2gsIG5hbWUsCi0JCQkgaXRlbS0+ZmxhZ3MgJiBQQVRIU1BFQ19PTkVTVEFSID8gR0ZOTV9PTkVTVEFSIDogMCwKKwkgICAgIWdpdF9mbm1hdGNoKGl0ZW0sIG1hdGNoLCBuYW1lLAogCQkJIGl0ZW0tPm5vd2lsZGNhcmRfbGVuIC0gcHJlZml4KSkKIAkJcmV0dXJuIE1BVENIRURfRk5NQVRDSDsKIApAQCAtMzM5LDggKzI4NSwxNyBAQAogewogCWludCBpLCByZXR2YWwgPSAwOwogCisJR1VBUkRfUEFUSFNQRUMocHMsCisJCSAgICAgICBQQVRIU1BFQ19GUk9NVE9QIHwKKwkJICAgICAgIFBBVEhTUEVDX01BWERFUFRIIHwKKwkJICAgICAgIFBBVEhTUEVDX0xJVEVSQUwgfAorCQkgICAgICAgUEFUSFNQRUNfR0xPQiB8CisJCSAgICAgICBQQVRIU1BFQ19JQ0FTRSk7CisKIAlpZiAoIXBzLT5ucikgewotCQlpZiAoIXBzLT5yZWN1cnNpdmUgfHwgcHMtPm1heF9kZXB0aCA9PSAtMSkKKwkJaWYgKCFwcy0+cmVjdXJzaXZlIHx8CisJCSAgICAhKHBzLT5tYWdpYyAmIFBBVEhTUEVDX01BWERFUFRIKSB8fAorCQkgICAgcHMtPm1heF9kZXB0aCA9PSAtMSkKIAkJCXJldHVybiBNQVRDSEVEX1JFQ1VSU0lWRUxZOwogCiAJCWlmICh3aXRoaW5fZGVwdGgobmFtZSwgbmFtZWxlbiwgMCwgcHMtPm1heF9kZXB0aCkpCkBAIC0zNTcsNyArMzEyLDkgQEAKIAkJaWYgKHNlZW4gJiYgc2VlbltpXSA9PSBNQVRDSEVEX0VYQUNUTFkpCiAJCQljb250aW51ZTsKIAkJaG93ID0gbWF0Y2hfcGF0aHNwZWNfaXRlbShwcy0+aXRlbXMraSwgcHJlZml4LCBuYW1lLCBuYW1lbGVuKTsKLQkJaWYgKHBzLT5yZWN1cnNpdmUgJiYgcHMtPm1heF9kZXB0aCAhPSAtMSAmJgorCQlpZiAocHMtPnJlY3Vyc2l2ZSAmJgorCQkgICAgKHBzLT5tYWdpYyAmIFBBVEhTUEVDX01BWERFUFRIKSAmJgorCQkgICAgcHMtPm1heF9kZXB0aCAhPSAtMSAmJgogCQkgICAgaG93ICYmIGhvdyAhPSBNQVRDSEVEX0ZOTUFUQ0gpIHsKIAkJCWludCBsZW4gPSBwcy0+aXRlbXNbaV0ubGVuOwogCQkJaWYgKG5hbWVbbGVuXSA9PSAnLycpCkBAIC0zODAsNyArMzM3LDcgQEAKIC8qCiAgKiBSZXR1cm4gdGhlIGxlbmd0aCBvZiB0aGUgInNpbXBsZSIgcGFydCBvZiBhIHBhdGggbWF0Y2ggbGltaXRlci4KICAqLwotc3RhdGljIGludCBzaW1wbGVfbGVuZ3RoKGNvbnN0IGNoYXIgKm1hdGNoKQoraW50IHNpbXBsZV9sZW5ndGgoY29uc3QgY2hhciAqbWF0Y2gpCiB7CiAJaW50IGxlbiA9IC0xOwogCkBAIC0zOTIsNyArMzQ5LDcgQEAKIAl9CiB9CiAKLXN0YXRpYyBpbnQgbm9fd2lsZGNhcmQoY29uc3QgY2hhciAqc3RyaW5nKQoraW50IG5vX3dpbGRjYXJkKGNvbnN0IGNoYXIgKnN0cmluZykKIHsKIAlyZXR1cm4gc3RyaW5nW3NpbXBsZV9sZW5ndGgoc3RyaW5nKV0gPT0gJ1wwJzsKIH0KQEAgLTkwMyw3ICs4NjAsNyBAQAogCiBzdGF0aWMgc3RydWN0IGRpcl9lbnRyeSAqZGlyX2FkZF9uYW1lKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsIGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBpbnQgbGVuKQogewotCWlmIChjYWNoZV9uYW1lX2V4aXN0cyhwYXRobmFtZSwgbGVuLCBpZ25vcmVfY2FzZSkpCisJaWYgKGNhY2hlX2ZpbGVfZXhpc3RzKHBhdGhuYW1lLCBsZW4sIGlnbm9yZV9jYXNlKSkKIAkJcmV0dXJuIE5VTEw7CiAKIAlBTExPQ19HUk9XKGRpci0+ZW50cmllcywgZGlyLT5ucisxLCBkaXItPmFsbG9jKTsKQEAgLTkyOCwxMSArODg1LDExIEBACiAvKgogICogRG8gbm90IHVzZSB0aGUgYWxwaGFiZXRpY2FsbHkgc29ydGVkIGluZGV4IHRvIGxvb2sgdXAKICAqIHRoZSBkaXJlY3RvcnkgbmFtZTsgaW5zdGVhZCwgdXNlIHRoZSBjYXNlIGluc2Vuc2l0aXZlCi0gKiBuYW1lIGhhc2guCisgKiBkaXJlY3RvcnkgaGFzaC4KICAqLwogc3RhdGljIGVudW0gZXhpc3Rfc3RhdHVzIGRpcmVjdG9yeV9leGlzdHNfaW5faW5kZXhfaWNhc2UoY29uc3QgY2hhciAqZGlybmFtZSwgaW50IGxlbikKIHsKLQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gY2FjaGVfbmFtZV9leGlzdHMoZGlybmFtZSwgbGVuICsgMSwgaWdub3JlX2Nhc2UpOworCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBjYWNoZV9kaXJfZXhpc3RzKGRpcm5hbWUsIGxlbik7CiAJdW5zaWduZWQgY2hhciBlbmRjaGFyOwogCiAJaWYgKCFjZSkKQEAgLTExMTQsNyArMTA3MSw3IEBACiAJaW50IHBvczsKIAljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOwogCi0JY2UgPSBjYWNoZV9uYW1lX2V4aXN0cyhwYXRoLCBsZW4sIDApOworCWNlID0gY2FjaGVfZmlsZV9leGlzdHMocGF0aCwgbGVuLCAwKTsKIAlpZiAoY2UpIHsKIAkJaWYgKCFjZV91cHRvZGF0ZShjZSkpCiAJCQlyZXR1cm4gRFRfVU5LTk9XTjsKQEAgLTExNzQsNyArMTEzMSw3IEBACiAJCQkJCSAgaW50IGR0eXBlLCBzdHJ1Y3QgZGlyZW50ICpkZSkKIHsKIAlpbnQgZXhjbHVkZTsKLQlpbnQgaGFzX3BhdGhfaW5faW5kZXggPSAhIWNhY2hlX25hbWVfZXhpc3RzKHBhdGgtPmJ1ZiwgcGF0aC0+bGVuLCBpZ25vcmVfY2FzZSk7CisJaW50IGhhc19wYXRoX2luX2luZGV4ID0gISFjYWNoZV9maWxlX2V4aXN0cyhwYXRoLT5idWYsIHBhdGgtPmxlbiwgaWdub3JlX2Nhc2UpOwogCiAJaWYgKGR0eXBlID09IERUX1VOS05PV04pCiAJCWR0eXBlID0gZ2V0X2R0eXBlKGRlLCBwYXRoLT5idWYsIHBhdGgtPmxlbik7CkBAIC0xMjAzLDIxICsxMTYwLDkgQEAKIAkgKi8KIAlpZiAoKGRpci0+ZmxhZ3MgJiBESVJfQ09MTEVDVF9LSUxMRURfT05MWSkgJiYKIAkgICAgKGR0eXBlID09IERUX0RJUikgJiYKLQkgICAgIWhhc19wYXRoX2luX2luZGV4KSB7Ci0JCS8qCi0JCSAqIE5FRURTV09SSzogZGlyZWN0b3J5X2V4aXN0c19pbl9pbmRleF9pY2FzZSgpCi0JCSAqIGFzc3VtZXMgdGhhdCBvbmUgYnl0ZSBwYXN0IHRoZSBnaXZlbiBwYXRoIGlzCi0JCSAqIHJlYWRhYmxlIGFuZCBoYXMgJy8nLCB3aGljaCBuZWVkcyB0byBiZSBmaXhlZCwgYnV0Ci0JCSAqIHVudGlsIHRoZW4sIHdvcmsgaXQgYXJvdW5kIGluIHRoZSBjYWxsZXIuCi0JCSAqLwotCQlzdHJidWZfYWRkY2gocGF0aCwgJy8nKTsKLQkJaWYgKGRpcmVjdG9yeV9leGlzdHNfaW5faW5kZXgocGF0aC0+YnVmLCBwYXRoLT5sZW4gLSAxKSA9PQotCQkgICAgaW5kZXhfbm9uZXhpc3RlbnQpIHsKLQkJCXN0cmJ1Zl9zZXRsZW4ocGF0aCwgcGF0aC0+bGVuIC0gMSk7Ci0JCQlyZXR1cm4gcGF0aF9ub25lOwotCQl9Ci0JCXN0cmJ1Zl9zZXRsZW4ocGF0aCwgcGF0aC0+bGVuIC0gMSk7Ci0JfQorCSAgICAhaGFzX3BhdGhfaW5faW5kZXggJiYKKwkgICAgKGRpcmVjdG9yeV9leGlzdHNfaW5faW5kZXgocGF0aC0+YnVmLCBwYXRoLT5sZW4pID09IGluZGV4X25vbmV4aXN0ZW50KSkKKwkJcmV0dXJuIHBhdGhfbm9uZTsKIAogCWV4Y2x1ZGUgPSBpc19leGNsdWRlZChkaXIsIHBhdGgtPmJ1ZiwgJmR0eXBlKTsKIApAQCAtMTQxNywxNCArMTM2MiwyNSBAQAogCXJldHVybiByYzsKIH0KIAotaW50IHJlYWRfZGlyZWN0b3J5KHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsIGNvbnN0IGNoYXIgKnBhdGgsIGludCBsZW4sIGNvbnN0IGNoYXIgKipwYXRoc3BlYykKK2ludCByZWFkX2RpcmVjdG9yeShzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBjb25zdCBjaGFyICpwYXRoLCBpbnQgbGVuLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewogCXN0cnVjdCBwYXRoX3NpbXBsaWZ5ICpzaW1wbGlmeTsKIAorCS8qCisJICogQ2hlY2sgb3V0IGNyZWF0ZV9zaW1wbGlmeSgpCisJICovCisJaWYgKHBhdGhzcGVjKQorCQlHVUFSRF9QQVRIU1BFQyhwYXRoc3BlYywKKwkJCSAgICAgICBQQVRIU1BFQ19GUk9NVE9QIHwKKwkJCSAgICAgICBQQVRIU1BFQ19NQVhERVBUSCB8CisJCQkgICAgICAgUEFUSFNQRUNfTElURVJBTCB8CisJCQkgICAgICAgUEFUSFNQRUNfR0xPQiB8CisJCQkgICAgICAgUEFUSFNQRUNfSUNBU0UpOworCiAJaWYgKGhhc19zeW1saW5rX2xlYWRpbmdfcGF0aChwYXRoLCBsZW4pKQogCQlyZXR1cm4gZGlyLT5ucjsKIAotCXNpbXBsaWZ5ID0gY3JlYXRlX3NpbXBsaWZ5KHBhdGhzcGVjKTsKKwlzaW1wbGlmeSA9IGNyZWF0ZV9zaW1wbGlmeShwYXRoc3BlYyA/IHBhdGhzcGVjLT5fcmF3IDogTlVMTCk7CiAJaWYgKCFsZW4gfHwgdHJlYXRfbGVhZGluZ19wYXRoKGRpciwgcGF0aCwgbGVuLCBzaW1wbGlmeSkpCiAJCXJlYWRfZGlyZWN0b3J5X3JlY3Vyc2l2ZShkaXIsIHBhdGgsIGxlbiwgMCwgc2ltcGxpZnkpOwogCWZyZWVfc2ltcGxpZnkoc2ltcGxpZnkpOwpAQCAtMTYwNCw3MSArMTU2MCw2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcGF0aHNwZWNfaXRlbV9jbXAoY29uc3Qgdm9pZCAqYV8sIGNvbnN0IHZvaWQgKmJfKQotewotCXN0cnVjdCBwYXRoc3BlY19pdGVtICphLCAqYjsKLQotCWEgPSAoc3RydWN0IHBhdGhzcGVjX2l0ZW0gKilhXzsKLQliID0gKHN0cnVjdCBwYXRoc3BlY19pdGVtICopYl87Ci0JcmV0dXJuIHN0cmNtcChhLT5tYXRjaCwgYi0+bWF0Y2gpOwotfQotCi1pbnQgaW5pdF9wYXRoc3BlYyhzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLCBjb25zdCBjaGFyICoqcGF0aHMpCi17Ci0JY29uc3QgY2hhciAqKnAgPSBwYXRoczsKLQlpbnQgaTsKLQotCW1lbXNldChwYXRoc3BlYywgMCwgc2l6ZW9mKCpwYXRoc3BlYykpOwotCWlmICghcCkKLQkJcmV0dXJuIDA7Ci0Jd2hpbGUgKCpwKQotCQlwKys7Ci0JcGF0aHNwZWMtPnJhdyA9IHBhdGhzOwotCXBhdGhzcGVjLT5uciA9IHAgLSBwYXRoczsKLQlpZiAoIXBhdGhzcGVjLT5ucikKLQkJcmV0dXJuIDA7Ci0KLQlwYXRoc3BlYy0+aXRlbXMgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgcGF0aHNwZWNfaXRlbSkqcGF0aHNwZWMtPm5yKTsKLQlmb3IgKGkgPSAwOyBpIDwgcGF0aHNwZWMtPm5yOyBpKyspIHsKLQkJc3RydWN0IHBhdGhzcGVjX2l0ZW0gKml0ZW0gPSBwYXRoc3BlYy0+aXRlbXMraTsKLQkJY29uc3QgY2hhciAqcGF0aCA9IHBhdGhzW2ldOwotCi0JCWl0ZW0tPm1hdGNoID0gcGF0aDsKLQkJaXRlbS0+bGVuID0gc3RybGVuKHBhdGgpOwotCQlpdGVtLT5mbGFncyA9IDA7Ci0JCWlmIChsaW1pdF9wYXRoc3BlY190b19saXRlcmFsKCkpIHsKLQkJCWl0ZW0tPm5vd2lsZGNhcmRfbGVuID0gaXRlbS0+bGVuOwotCQl9IGVsc2UgewotCQkJaXRlbS0+bm93aWxkY2FyZF9sZW4gPSBzaW1wbGVfbGVuZ3RoKHBhdGgpOwotCQkJaWYgKGl0ZW0tPm5vd2lsZGNhcmRfbGVuIDwgaXRlbS0+bGVuKSB7Ci0JCQkJcGF0aHNwZWMtPmhhc193aWxkY2FyZCA9IDE7Ci0JCQkJaWYgKHBhdGhbaXRlbS0+bm93aWxkY2FyZF9sZW5dID09ICcqJyAmJgotCQkJCSAgICBub193aWxkY2FyZChwYXRoICsgaXRlbS0+bm93aWxkY2FyZF9sZW4gKyAxKSkKLQkJCQkJaXRlbS0+ZmxhZ3MgfD0gUEFUSFNQRUNfT05FU1RBUjsKLQkJCX0KLQkJfQotCX0KLQotCXFzb3J0KHBhdGhzcGVjLT5pdGVtcywgcGF0aHNwZWMtPm5yLAotCSAgICAgIHNpemVvZihzdHJ1Y3QgcGF0aHNwZWNfaXRlbSksIHBhdGhzcGVjX2l0ZW1fY21wKTsKLQotCXJldHVybiAwOwotfQotCi12b2lkIGZyZWVfcGF0aHNwZWMoc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYykKLXsKLQlmcmVlKHBhdGhzcGVjLT5pdGVtcyk7Ci0JcGF0aHNwZWMtPml0ZW1zID0gTlVMTDsKLX0KLQotaW50IGxpbWl0X3BhdGhzcGVjX3RvX2xpdGVyYWwodm9pZCkKLXsKLQlzdGF0aWMgaW50IGZsYWcgPSAtMTsKLQlpZiAoZmxhZyA8IDApCi0JCWZsYWcgPSBnaXRfZW52X2Jvb2woR0lUX0xJVEVSQUxfUEFUSFNQRUNTX0VOVklST05NRU5ULCAwKTsKLQlyZXR1cm4gZmxhZzsKLX0KLQogLyoKICAqIEZyZWVzIG1lbW9yeSB3aXRoaW4gZGlyIHdoaWNoIHdhcyBhbGxvY2F0ZWQgZm9yIGV4Y2x1ZGUgbGlzdHMgYW5kCiAgKiB0aGUgZXhjbHVkZV9zdGFjay4gIERvZXMgbm90IGZyZWUgZGlyIGl0c2VsZi4KZGlmZiAtLWdpdCBhL2Rpci5oIGIvZGlyLmgKaW5kZXggNDY3N2I4Ni4uOWI3ZTRlNyAxMDA2NDQKLS0tIGEvZGlyLmgKKysrIGIvZGlyLmgKQEAgLTEyOSwxNSArMTI5LDE2IEBACiAjZGVmaW5lIE1BVENIRURfUkVDVVJTSVZFTFkgMQogI2RlZmluZSBNQVRDSEVEX0ZOTUFUQ0ggMgogI2RlZmluZSBNQVRDSEVEX0VYQUNUTFkgMwotZXh0ZXJuIGNoYXIgKmNvbW1vbl9wcmVmaXgoY29uc3QgY2hhciAqKnBhdGhzcGVjKTsKLWV4dGVybiBpbnQgbWF0Y2hfcGF0aHNwZWMoY29uc3QgY2hhciAqKnBhdGhzcGVjLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwgaW50IHByZWZpeCwgY2hhciAqc2Vlbik7CitleHRlcm4gaW50IHNpbXBsZV9sZW5ndGgoY29uc3QgY2hhciAqbWF0Y2gpOworZXh0ZXJuIGludCBub193aWxkY2FyZChjb25zdCBjaGFyICpzdHJpbmcpOworZXh0ZXJuIGNoYXIgKmNvbW1vbl9wcmVmaXgoY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYyk7CiBleHRlcm4gaW50IG1hdGNoX3BhdGhzcGVjX2RlcHRoKGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCiAJCQkJY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4sCiAJCQkJaW50IHByZWZpeCwgY2hhciAqc2Vlbik7CiBleHRlcm4gaW50IHdpdGhpbl9kZXB0aChjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwgaW50IGRlcHRoLCBpbnQgbWF4X2RlcHRoKTsKIAotZXh0ZXJuIGludCBmaWxsX2RpcmVjdG9yeShzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBjb25zdCBjaGFyICoqcGF0aHNwZWMpOwotZXh0ZXJuIGludCByZWFkX2RpcmVjdG9yeShzdHJ1Y3QgZGlyX3N0cnVjdCAqLCBjb25zdCBjaGFyICpwYXRoLCBpbnQgbGVuLCBjb25zdCBjaGFyICoqcGF0aHNwZWMpOworZXh0ZXJuIGludCBmaWxsX2RpcmVjdG9yeShzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKTsKK2V4dGVybiBpbnQgcmVhZF9kaXJlY3Rvcnkoc3RydWN0IGRpcl9zdHJ1Y3QgKiwgY29uc3QgY2hhciAqcGF0aCwgaW50IGxlbiwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYyk7CiAKIGV4dGVybiBpbnQgaXNfZXhjbHVkZWRfZnJvbV9saXN0KGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBpbnQgcGF0aGxlbiwgY29uc3QgY2hhciAqYmFzZW5hbWUsCiAJCQkJIGludCAqZHR5cGUsIHN0cnVjdCBleGNsdWRlX2xpc3QgKmVsKTsKQEAgLTE5OSwxMCArMjAwLDkgQEAKIC8qCiAgKiBUaGUgcHJlZml4IHBhcnQgb2YgcGF0dGVybiBtdXN0IG5vdCBjb250YWlucyB3aWxkY2FyZHMuCiAgKi8KLSNkZWZpbmUgR0ZOTV9QQVRITkFNRSAxCQkvKiBzaW1pbGFyIHRvIEZOTV9QQVRITkFNRSAqLwotI2RlZmluZSBHRk5NX09ORVNUQVIgIDIJCS8qIHRoZXJlIGlzIG9ubHkgX29uZV8gd2lsZGNhcmQsIGEgc3RhciAqLwotCi1leHRlcm4gaW50IGdpdF9mbm1hdGNoKGNvbnN0IGNoYXIgKnBhdHRlcm4sIGNvbnN0IGNoYXIgKnN0cmluZywKLQkJICAgICAgIGludCBmbGFncywgaW50IHByZWZpeCk7CitzdHJ1Y3QgcGF0aHNwZWNfaXRlbTsKK2V4dGVybiBpbnQgZ2l0X2ZubWF0Y2goY29uc3Qgc3RydWN0IHBhdGhzcGVjX2l0ZW0gKml0ZW0sCisJCSAgICAgICBjb25zdCBjaGFyICpwYXR0ZXJuLCBjb25zdCBjaGFyICpzdHJpbmcsCisJCSAgICAgICBpbnQgcHJlZml4KTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9lZGl0b3IuYyBiL2VkaXRvci5jCmluZGV4IDI3YmRlY2QuLjBhYmJkOGQgMTAwNjQ0Ci0tLSBhL2VkaXRvci5jCisrKyBiL2VkaXRvci5jCkBAIC0zNyw3ICszNyw3IEBACiAJCXJldHVybiBlcnJvcigiVGVybWluYWwgaXMgZHVtYiwgYnV0IEVESVRPUiB1bnNldCIpOwogCiAJaWYgKHN0cmNtcChlZGl0b3IsICI6IikpIHsKLQkJY29uc3QgY2hhciAqYXJnc1tdID0geyBlZGl0b3IsIHBhdGgsIE5VTEwgfTsKKwkJY29uc3QgY2hhciAqYXJnc1tdID0geyBlZGl0b3IsIHJlYWxfcGF0aChwYXRoKSwgTlVMTCB9OwogCQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBwOwogCQlpbnQgcmV0LCBzaWc7CiAKZGlmZiAtLWdpdCBhL2VudHJ5LmMgYi9lbnRyeS5jCmluZGV4IGFjYzg5MmYuLjdiN2FhODEgMTAwNjQ0Ci0tLSBhL2VudHJ5LmMKKysrIGIvZW50cnkuYwpAQCAtMjM0LDE5ICsyMzQsMzAgQEAKIAlyZXR1cm4gbHN0YXQocGF0aCwgc3QpOwogfQogCisvKgorICogV3JpdGUgdGhlIGNvbnRlbnRzIGZyb20gY2Ugb3V0IHRvIHRoZSB3b3JraW5nIHRyZWUuCisgKgorICogV2hlbiB0b3BhdGhbXSBpcyBub3QgTlVMTCwgaW5zdGVhZCBvZiB3cml0aW5nIHRvIHRoZSB3b3JraW5nIHRyZWUKKyAqIGZpbGUgbmFtZWQgYnkgY2UsIGEgdGVtcG9yYXJ5IGZpbGUgaXMgY3JlYXRlZCBieSB0aGlzIGZ1bmN0aW9uIGFuZAorICogaXRzIG5hbWUgaXMgcmV0dXJuZWQgaW4gdG9wYXRoW10sIHdoaWNoIG11c3QgYmUgYWJsZSB0byBob2xkIGF0CisgKiBsZWFzdCBURU1QT1JBUllfRklMRU5BTUVfTEVOR1RIIGJ5dGVzIGxvbmcuCisgKi8KIGludCBjaGVja291dF9lbnRyeShzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLAogCQkgICBjb25zdCBzdHJ1Y3QgY2hlY2tvdXQgKnN0YXRlLCBjaGFyICp0b3BhdGgpCiB7Ci0Jc3RhdGljIGNoYXIgcGF0aFtQQVRIX01BWCArIDFdOworCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIHBhdGhfYnVmID0gU1RSQlVGX0lOSVQ7CisJY2hhciAqcGF0aDsKIAlzdHJ1Y3Qgc3RhdCBzdDsKLQlpbnQgbGVuID0gc3RhdGUtPmJhc2VfZGlyX2xlbjsKKwlpbnQgbGVuOwogCiAJaWYgKHRvcGF0aCkKIAkJcmV0dXJuIHdyaXRlX2VudHJ5KGNlLCB0b3BhdGgsIHN0YXRlLCAxKTsKIAotCW1lbWNweShwYXRoLCBzdGF0ZS0+YmFzZV9kaXIsIGxlbik7Ci0Jc3RyY3B5KHBhdGggKyBsZW4sIGNlLT5uYW1lKTsKLQlsZW4gKz0gY2VfbmFtZWxlbihjZSk7CisJc3RyYnVmX3Jlc2V0KCZwYXRoX2J1Zik7CisJc3RyYnVmX2FkZCgmcGF0aF9idWYsIHN0YXRlLT5iYXNlX2Rpciwgc3RhdGUtPmJhc2VfZGlyX2xlbik7CisJc3RyYnVmX2FkZCgmcGF0aF9idWYsIGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSk7CisJcGF0aCA9IHBhdGhfYnVmLmJ1ZjsKKwlsZW4gPSBwYXRoX2J1Zi5sZW47CiAKIAlpZiAoIWNoZWNrX3BhdGgocGF0aCwgbGVuLCAmc3QsIHN0YXRlLT5iYXNlX2Rpcl9sZW4pKSB7CiAJCXVuc2lnbmVkIGNoYW5nZWQgPSBjZV9tYXRjaF9zdGF0KGNlLCAmc3QsIENFX01BVENIX0lHTk9SRV9WQUxJRHxDRV9NQVRDSF9JR05PUkVfU0tJUF9XT1JLVFJFRSk7CmRpZmYgLS1naXQgYS9lbnZpcm9ubWVudC5jIGIvZW52aXJvbm1lbnQuYwppbmRleCAzNzgyNTRjLi4wYTE1MzQ5IDEwMDY0NAotLS0gYS9lbnZpcm9ubWVudC5jCisrKyBiL2Vudmlyb25tZW50LmMKQEAgLTE1NSwxMSArMTU1LDYgQEAKIAlyZXR1cm4gaXNfYmFyZV9yZXBvc2l0b3J5X2NmZyAmJiAhZ2V0X2dpdF93b3JrX3RyZWUoKTsKIH0KIAotaW50IGhhdmVfZ2l0X2Rpcih2b2lkKQotewotCXJldHVybiAhIWdpdF9kaXI7Ci19Ci0KIGNvbnN0IGNoYXIgKmdldF9naXRfZGlyKHZvaWQpCiB7CiAJaWYgKCFnaXRfZGlyKQpkaWZmIC0tZ2l0IGEvZmFzdC1pbXBvcnQuYyBiL2Zhc3QtaW1wb3J0LmMKaW5kZXggMjNmNjI1Zi4uZjRkOTk2OSAxMDA2NDQKLS0tIGEvZmFzdC1pbXBvcnQuYworKysgYi9mYXN0LWltcG9ydC5jCkBAIC0yMiw4ICsyMiw4IEBACiAgICAgKCdhdXRob3InIChzcCBuYW1lKT8gc3AgJzwnIGVtYWlsICc+JyBzcCB3aGVuIGxmKT8KICAgICAnY29tbWl0dGVyJyAoc3AgbmFtZSk/IHNwICc8JyBlbWFpbCAnPicgc3Agd2hlbiBsZgogICAgIGNvbW1pdF9tc2cKLSAgICAoJ2Zyb20nIHNwIGNvbW1pdHRpc2ggbGYpPwotICAgICgnbWVyZ2UnIHNwIGNvbW1pdHRpc2ggbGYpKgorICAgICgnZnJvbScgc3AgY29tbWl0LWlzaCBsZik/CisgICAgKCdtZXJnZScgc3AgY29tbWl0LWlzaCBsZikqCiAgICAgKGZpbGVfY2hhbmdlIHwgbHMpKgogICAgIGxmPzsKICAgY29tbWl0X21zZyA6Oj0gZGF0YTsKQEAgLTQzLDE4ICs0MywxOCBAQAogICBmaWxlX29ibSA6Oj0gJ00nIHNwIG1vZGUgc3AgKGhleHNoYTEgfCBpZG51bSkgc3AgcGF0aF9zdHIgbGY7CiAgIGZpbGVfaW5tIDo6PSAnTScgc3AgbW9kZSBzcCAnaW5saW5lJyBzcCBwYXRoX3N0ciBsZgogICAgIGRhdGE7Ci0gIG5vdGVfb2JtIDo6PSAnTicgc3AgKGhleHNoYTEgfCBpZG51bSkgc3AgY29tbWl0dGlzaCBsZjsKLSAgbm90ZV9pbm0gOjo9ICdOJyBzcCAnaW5saW5lJyBzcCBjb21taXR0aXNoIGxmCisgIG5vdGVfb2JtIDo6PSAnTicgc3AgKGhleHNoYTEgfCBpZG51bSkgc3AgY29tbWl0LWlzaCBsZjsKKyAgbm90ZV9pbm0gOjo9ICdOJyBzcCAnaW5saW5lJyBzcCBjb21taXQtaXNoIGxmCiAgICAgZGF0YTsKIAogICBuZXdfdGFnIDo6PSAndGFnJyBzcCB0YWdfc3RyIGxmCi0gICAgJ2Zyb20nIHNwIGNvbW1pdHRpc2ggbGYKKyAgICAnZnJvbScgc3AgY29tbWl0LWlzaCBsZgogICAgICgndGFnZ2VyJyAoc3AgbmFtZSk/IHNwICc8JyBlbWFpbCAnPicgc3Agd2hlbiBsZik/CiAgICAgdGFnX21zZzsKICAgdGFnX21zZyA6Oj0gZGF0YTsKIAogICByZXNldF9icmFuY2ggOjo9ICdyZXNldCcgc3AgcmVmX3N0ciBsZgotICAgICgnZnJvbScgc3AgY29tbWl0dGlzaCBsZik/CisgICAgKCdmcm9tJyBzcCBjb21taXQtaXNoIGxmKT8KICAgICBsZj87CiAKICAgY2hlY2twb2ludCA6Oj0gJ2NoZWNrcG9pbnQnIGxmCkBAIC05Myw3ICs5Myw3IEBACiAgICAgICMgc3RyZWFtIGZvcm1hdHRpbmcgaXM6IFwsICIgYW5kIExGLiAgT3RoZXJ3aXNlIHRoZXNlIHZhbHVlcwogICAgICAjIGFyZSBVVEY4LgogICAgICAjCi0gIGNvbW1pdHRpc2ggIDo6PSAocmVmX3N0ciB8IGhleHNoYTEgfCBzaGExZXhwX3N0ciB8IGlkbnVtKTsKKyAgY29tbWl0LWlzaCAgOjo9IChyZWZfc3RyIHwgaGV4c2hhMSB8IHNoYTFleHBfc3RyIHwgaWRudW0pOwogICByZWZfc3RyICAgICA6Oj0gcmVmOwogICBzaGExZXhwX3N0ciA6Oj0gc2hhMWV4cDsKICAgdGFnX3N0ciAgICAgOjo9IHRhZzsKQEAgLTE1NjgsNyArMTU2OCw4IEBACiBzdGF0aWMgaW50IHRyZWVfY29udGVudF9yZW1vdmUoCiAJc3RydWN0IHRyZWVfZW50cnkgKnJvb3QsCiAJY29uc3QgY2hhciAqcCwKLQlzdHJ1Y3QgdHJlZV9lbnRyeSAqYmFja3VwX2xlYWYpCisJc3RydWN0IHRyZWVfZW50cnkgKmJhY2t1cF9sZWFmLAorCWludCBhbGxvd19yb290KQogewogCXN0cnVjdCB0cmVlX2NvbnRlbnQgKnQ7CiAJY29uc3QgY2hhciAqc2xhc2gxOwpAQCAtMTU4Myw2ICsxNTg0LDEyIEBACiAKIAlpZiAoIXJvb3QtPnRyZWUpCiAJCWxvYWRfdHJlZShyb290KTsKKworCWlmICghKnAgJiYgYWxsb3dfcm9vdCkgeworCQllID0gcm9vdDsKKwkJZ290byBkZWxfZW50cnk7CisJfQorCiAJdCA9IHJvb3QtPnRyZWU7CiAJZm9yIChpID0gMDsgaSA8IHQtPmVudHJ5X2NvdW50OyBpKyspIHsKIAkJZSA9IHQtPmVudHJpZXNbaV07CkBAIC0xNTk5LDcgKzE2MDYsNyBAQAogCQkJCWdvdG8gZGVsX2VudHJ5OwogCQkJaWYgKCFlLT50cmVlKQogCQkJCWxvYWRfdHJlZShlKTsKLQkJCWlmICh0cmVlX2NvbnRlbnRfcmVtb3ZlKGUsIHNsYXNoMSArIDEsIGJhY2t1cF9sZWFmKSkgeworCQkJaWYgKHRyZWVfY29udGVudF9yZW1vdmUoZSwgc2xhc2gxICsgMSwgYmFja3VwX2xlYWYsIDApKSB7CiAJCQkJZm9yIChuID0gMDsgbiA8IGUtPnRyZWUtPmVudHJ5X2NvdW50OyBuKyspIHsKIAkJCQkJaWYgKGUtPnRyZWUtPmVudHJpZXNbbl0tPnZlcnNpb25zWzFdLm1vZGUpIHsKIAkJCQkJCWhhc2hjbHIocm9vdC0+dmVyc2lvbnNbMV0uc2hhMSk7CkBAIC0xNjI5LDcgKzE2MzYsOCBAQAogc3RhdGljIGludCB0cmVlX2NvbnRlbnRfZ2V0KAogCXN0cnVjdCB0cmVlX2VudHJ5ICpyb290LAogCWNvbnN0IGNoYXIgKnAsCi0Jc3RydWN0IHRyZWVfZW50cnkgKmxlYWYpCisJc3RydWN0IHRyZWVfZW50cnkgKmxlYWYsCisJaW50IGFsbG93X3Jvb3QpCiB7CiAJc3RydWN0IHRyZWVfY29udGVudCAqdDsKIAljb25zdCBjaGFyICpzbGFzaDE7CkBAIC0xNjQxLDMxICsxNjQ5LDM5IEBACiAJCW4gPSBzbGFzaDEgLSBwOwogCWVsc2UKIAkJbiA9IHN0cmxlbihwKTsKLQlpZiAoIW4pCisJaWYgKCFuICYmICFhbGxvd19yb290KQogCQlkaWUoIkVtcHR5IHBhdGggY29tcG9uZW50IGZvdW5kIGluIGlucHV0Iik7CiAKIAlpZiAoIXJvb3QtPnRyZWUpCiAJCWxvYWRfdHJlZShyb290KTsKKworCWlmICghbikgeworCQllID0gcm9vdDsKKwkJZ290byBmb3VuZF9lbnRyeTsKKwl9CisKIAl0ID0gcm9vdC0+dHJlZTsKIAlmb3IgKGkgPSAwOyBpIDwgdC0+ZW50cnlfY291bnQ7IGkrKykgewogCQllID0gdC0+ZW50cmllc1tpXTsKIAkJaWYgKGUtPm5hbWUtPnN0cl9sZW4gPT0gbiAmJiAhc3RybmNtcF9pY2FzZShwLCBlLT5uYW1lLT5zdHJfZGF0LCBuKSkgewotCQkJaWYgKCFzbGFzaDEpIHsKLQkJCQltZW1jcHkobGVhZiwgZSwgc2l6ZW9mKCpsZWFmKSk7Ci0JCQkJaWYgKGUtPnRyZWUgJiYgaXNfbnVsbF9zaGExKGUtPnZlcnNpb25zWzFdLnNoYTEpKQotCQkJCQlsZWFmLT50cmVlID0gZHVwX3RyZWVfY29udGVudChlLT50cmVlKTsKLQkJCQllbHNlCi0JCQkJCWxlYWYtPnRyZWUgPSBOVUxMOwotCQkJCXJldHVybiAxOwotCQkJfQorCQkJaWYgKCFzbGFzaDEpCisJCQkJZ290byBmb3VuZF9lbnRyeTsKIAkJCWlmICghU19JU0RJUihlLT52ZXJzaW9uc1sxXS5tb2RlKSkKIAkJCQlyZXR1cm4gMDsKIAkJCWlmICghZS0+dHJlZSkKIAkJCQlsb2FkX3RyZWUoZSk7Ci0JCQlyZXR1cm4gdHJlZV9jb250ZW50X2dldChlLCBzbGFzaDEgKyAxLCBsZWFmKTsKKwkJCXJldHVybiB0cmVlX2NvbnRlbnRfZ2V0KGUsIHNsYXNoMSArIDEsIGxlYWYsIDApOwogCQl9CiAJfQogCXJldHVybiAwOworCitmb3VuZF9lbnRyeToKKwltZW1jcHkobGVhZiwgZSwgc2l6ZW9mKCpsZWFmKSk7CisJaWYgKGUtPnRyZWUgJiYgaXNfbnVsbF9zaGExKGUtPnZlcnNpb25zWzFdLnNoYTEpKQorCQlsZWFmLT50cmVlID0gZHVwX3RyZWVfY29udGVudChlLT50cmVlKTsKKwllbHNlCisJCWxlYWYtPnRyZWUgPSBOVUxMOworCXJldHVybiAxOwogfQogCiBzdGF0aWMgaW50IHVwZGF0ZV9icmFuY2goc3RydWN0IGJyYW5jaCAqYikKQEAgLTE2NzgsNyArMTY5NCw3IEBACiAJCXJldHVybiAwOwogCWlmIChyZWFkX3JlZihiLT5uYW1lLCBvbGRfc2hhMSkpCiAJCWhhc2hjbHIob2xkX3NoYTEpOwotCWxvY2sgPSBsb2NrX2FueV9yZWZfZm9yX3VwZGF0ZShiLT5uYW1lLCBvbGRfc2hhMSwgMCk7CisJbG9jayA9IGxvY2tfYW55X3JlZl9mb3JfdXBkYXRlKGItPm5hbWUsIG9sZF9zaGExLCAwLCBOVUxMKTsKIAlpZiAoIWxvY2spCiAJCXJldHVybiBlcnJvcigiVW5hYmxlIHRvIGxvY2sgJXMiLCBiLT5uYW1lKTsKIAlpZiAoIWZvcmNlX3VwZGF0ZSAmJiAhaXNfbnVsbF9zaGExKG9sZF9zaGExKSkgewpAQCAtMjE3OSw3ICsyMTk1LDcgQEAKIAkJCX0KIAogCQkJLyogUmVuYW1lIGZ1bGxwYXRoIHRvIHJlYWxwYXRoICovCi0JCQlpZiAoIXRyZWVfY29udGVudF9yZW1vdmUob3JpZ19yb290LCBmdWxscGF0aCwgJmxlYWYpKQorCQkJaWYgKCF0cmVlX2NvbnRlbnRfcmVtb3ZlKG9yaWdfcm9vdCwgZnVsbHBhdGgsICZsZWFmLCAwKSkKIAkJCQlkaWUoIkZhaWxlZCB0byByZW1vdmUgcGF0aCAlcyIsIGZ1bGxwYXRoKTsKIAkJCXRyZWVfY29udGVudF9zZXQob3JpZ19yb290LCByZWFscGF0aCwKIAkJCQlsZWFmLnZlcnNpb25zWzFdLnNoYTEsCkBAIC0yMzE0LDcgKzIzMzAsNyBAQAogCiAJLyogR2l0IGRvZXMgbm90IHRyYWNrIGVtcHR5LCBub24tdG9wbGV2ZWwgZGlyZWN0b3JpZXMuICovCiAJaWYgKFNfSVNESVIobW9kZSkgJiYgIW1lbWNtcChzaGExLCBFTVBUWV9UUkVFX1NIQTFfQklOLCAyMCkgJiYgKnApIHsKLQkJdHJlZV9jb250ZW50X3JlbW92ZSgmYi0+YnJhbmNoX3RyZWUsIHAsIE5VTEwpOworCQl0cmVlX2NvbnRlbnRfcmVtb3ZlKCZiLT5icmFuY2hfdHJlZSwgcCwgTlVMTCwgMCk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTIzNzUsNyArMjM5MSw3IEBACiAJCQlkaWUoIkdhcmJhZ2UgYWZ0ZXIgcGF0aCBpbjogJXMiLCBjb21tYW5kX2J1Zi5idWYpOwogCQlwID0gdXEuYnVmOwogCX0KLQl0cmVlX2NvbnRlbnRfcmVtb3ZlKCZiLT5icmFuY2hfdHJlZSwgcCwgTlVMTCk7CisJdHJlZV9jb250ZW50X3JlbW92ZSgmYi0+YnJhbmNoX3RyZWUsIHAsIE5VTEwsIDEpOwogfQogCiBzdGF0aWMgdm9pZCBmaWxlX2NoYW5nZV9jcihzdHJ1Y3QgYnJhbmNoICpiLCBpbnQgcmVuYW1lKQpAQCAtMjQxMyw5ICsyNDI5LDkgQEAKIAogCW1lbXNldCgmbGVhZiwgMCwgc2l6ZW9mKGxlYWYpKTsKIAlpZiAocmVuYW1lKQotCQl0cmVlX2NvbnRlbnRfcmVtb3ZlKCZiLT5icmFuY2hfdHJlZSwgcywgJmxlYWYpOworCQl0cmVlX2NvbnRlbnRfcmVtb3ZlKCZiLT5icmFuY2hfdHJlZSwgcywgJmxlYWYsIDEpOwogCWVsc2UKLQkJdHJlZV9jb250ZW50X2dldCgmYi0+YnJhbmNoX3RyZWUsIHMsICZsZWFmKTsKKwkJdHJlZV9jb250ZW50X2dldCgmYi0+YnJhbmNoX3RyZWUsIHMsICZsZWFmLCAxKTsKIAlpZiAoIWxlYWYudmVyc2lvbnNbMV0ubW9kZSkKIAkJZGllKCJQYXRoICVzIG5vdCBpbiBicmFuY2giLCBzKTsKIAlpZiAoISpkKSB7CS8qIEMgInBhdGgvdG8vc3ViZGlyIiAiIiAqLwpAQCAtMjQ3OCw3ICsyNDk0LDcgQEAKIAlhc3NlcnQoKnAgPT0gJyAnKTsKIAlwKys7ICAvKiBza2lwIHNwYWNlICovCiAKLQkvKiA8Y29tbWl0dGlzaD4gKi8KKwkvKiA8Y29tbWl0LWlzaD4gKi8KIAlzID0gbG9va3VwX2JyYW5jaChwKTsKIAlpZiAocykgewogCQlpZiAoaXNfbnVsbF9zaGExKHMtPnNoYTEpKQpAQCAtMjUyMSw3ICsyNTM3LDcgQEAKIAl9CiAKIAljb25zdHJ1Y3RfcGF0aF93aXRoX2Zhbm91dChzaGExX3RvX2hleChjb21taXRfc2hhMSksICpvbGRfZmFub3V0LCBwYXRoKTsKLQlpZiAodHJlZV9jb250ZW50X3JlbW92ZSgmYi0+YnJhbmNoX3RyZWUsIHBhdGgsIE5VTEwpKQorCWlmICh0cmVlX2NvbnRlbnRfcmVtb3ZlKCZiLT5icmFuY2hfdHJlZSwgcGF0aCwgTlVMTCwgMCkpCiAJCWItPm51bV9ub3Rlcy0tOwogCiAJaWYgKGlzX251bGxfc2hhMShzaGExKSkKQEAgLTI5NTcsNyArMjk3Myw3IEBACiAJY2FzZSBPQkpfVEFHOgogCQlicmVhazsKIAlkZWZhdWx0OgotCQlkaWUoIk5vdCBhIHRyZWVpc2g6ICVzIiwgY29tbWFuZF9idWYuYnVmKTsKKwkJZGllKCJOb3QgYSB0cmVlLWlzaDogJXMiLCBjb21tYW5kX2J1Zi5idWYpOwogCX0KIAogCWlmIChvZS0+cGFja19pZCAhPSBNQVhfUEFDS19JRCkgewkvKiBpbiBhIHBhY2sgYmVpbmcgd3JpdHRlbiAqLwpAQCAtMzA0MSw3ICszMDU3LDcgQEAKIAlzdHJ1Y3QgdHJlZV9lbnRyeSAqcm9vdCA9IE5VTEw7CiAJc3RydWN0IHRyZWVfZW50cnkgbGVhZiA9IHtOVUxMfTsKIAotCS8qIGxzIFNQICg8dHJlZWlzaD4gU1ApPyA8cGF0aD4gKi8KKwkvKiBscyBTUCAoPHRyZWUtaXNoPiBTUCk/IDxwYXRoPiAqLwogCXAgPSBjb21tYW5kX2J1Zi5idWYgKyBzdHJsZW4oImxzICIpOwogCWlmICgqcCA9PSAnIicpIHsKIAkJaWYgKCFiKQpAQCAtMzA1MSw2ICszMDY3LDggQEAKIAkJc3RydWN0IG9iamVjdF9lbnRyeSAqZSA9IHBhcnNlX3RyZWVpc2hfZGF0YXJlZigmcCk7CiAJCXJvb3QgPSBuZXdfdHJlZV9lbnRyeSgpOwogCQloYXNoY3B5KHJvb3QtPnZlcnNpb25zWzFdLnNoYTEsIGUtPmlkeC5zaGExKTsKKwkJaWYgKCFpc19udWxsX3NoYTEocm9vdC0+dmVyc2lvbnNbMV0uc2hhMSkpCisJCQlyb290LT52ZXJzaW9uc1sxXS5tb2RlID0gU19JRkRJUjsKIAkJbG9hZF90cmVlKHJvb3QpOwogCQlpZiAoKnArKyAhPSAnICcpCiAJCQlkaWUoIk1pc3Npbmcgc3BhY2UgYWZ0ZXIgdHJlZS1pc2g6ICVzIiwgY29tbWFuZF9idWYuYnVmKTsKQEAgLTMwNjUsNyArMzA4Myw3IEBACiAJCQlkaWUoIkdhcmJhZ2UgYWZ0ZXIgcGF0aCBpbjogJXMiLCBjb21tYW5kX2J1Zi5idWYpOwogCQlwID0gdXEuYnVmOwogCX0KLQl0cmVlX2NvbnRlbnRfZ2V0KHJvb3QsIHAsICZsZWFmKTsKKwl0cmVlX2NvbnRlbnRfZ2V0KHJvb3QsIHAsICZsZWFmLCAxKTsKIAkvKgogCSAqIEEgZGlyZWN0b3J5IGluIHByZXBhcmF0aW9uIHdvdWxkIGhhdmUgYSBzaGExIG9mIHplcm8KIAkgKiB1bnRpbCBpdCBpcyBzYXZlZC4gIFNhdmUsIGZvciBzaW1wbGljaXR5LgpkaWZmIC0tZ2l0IGEvZmV0Y2gtcGFjay5jIGIvZmV0Y2gtcGFjay5jCmluZGV4IGFmZjRmNWEuLjEwNDI0NDggMTAwNjQ0Ci0tLSBhL2ZldGNoLXBhY2suYworKysgYi9mZXRjaC1wYWNrLmMKQEAgLTksNiArOSw3IEBACiAjaW5jbHVkZSAiZmV0Y2gtcGFjay5oIgogI2luY2x1ZGUgInJlbW90ZS5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCisjaW5jbHVkZSAiY29ubmVjdC5oIgogI2luY2x1ZGUgInRyYW5zcG9ydC5oIgogI2luY2x1ZGUgInZlcnNpb24uaCIKICNpbmNsdWRlICJwcmlvLXF1ZXVlLmgiCkBAIC02NTgsNyArNjU5LDcgQEAKIAljb25zdCBjaGFyICphcmd2WzIyXTsKIAljaGFyIGtlZXBfYXJnWzI1Nl07CiAJY2hhciBoZHJfYXJnWzI1Nl07Ci0JY29uc3QgY2hhciAqKmF2OworCWNvbnN0IGNoYXIgKiphdiwgKmNtZF9uYW1lOwogCWludCBkb19rZWVwID0gYXJncy0+a2VlcF9wYWNrOwogCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNtZDsKIAlpbnQgcmV0OwpAQCAtNzA1LDcgKzcwNiw3IEBACiAJaWYgKGRvX2tlZXApIHsKIAkJaWYgKHBhY2tfbG9ja2ZpbGUpCiAJCQljbWQub3V0ID0gLTE7Ci0JCSphdisrID0gImluZGV4LXBhY2siOworCQkqYXYrKyA9IGNtZF9uYW1lID0gImluZGV4LXBhY2siOwogCQkqYXYrKyA9ICItLXN0ZGluIjsKIAkJaWYgKCFhcmdzLT5xdWlldCAmJiAhYXJncy0+bm9fcHJvZ3Jlc3MpCiAJCQkqYXYrKyA9ICItdiI7CkBAIC03MjIsNyArNzIzLDcgQEAKIAkJCSphdisrID0gIi0tY2hlY2stc2VsZi1jb250YWluZWQtYW5kLWNvbm5lY3RlZCI7CiAJfQogCWVsc2UgewotCQkqYXYrKyA9ICJ1bnBhY2stb2JqZWN0cyI7CisJCSphdisrID0gY21kX25hbWUgPSAidW5wYWNrLW9iamVjdHMiOwogCQlpZiAoYXJncy0+cXVpZXQgfHwgYXJncy0+bm9fcHJvZ3Jlc3MpCiAJCQkqYXYrKyA9ICItcSI7CiAJCWFyZ3MtPmNoZWNrX3NlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQgPSAwOwpAQCAtNzQwLDE5ICs3NDEsMjMgQEAKIAljbWQuaW4gPSBkZW11eC5vdXQ7CiAJY21kLmdpdF9jbWQgPSAxOwogCWlmIChzdGFydF9jb21tYW5kKCZjbWQpKQotCQlkaWUoImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIsIGFyZ3ZbMF0pOworCQlkaWUoImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIsIGNtZF9uYW1lKTsKIAlpZiAoZG9fa2VlcCAmJiBwYWNrX2xvY2tmaWxlKSB7CiAJCSpwYWNrX2xvY2tmaWxlID0gaW5kZXhfcGFja19sb2NrZmlsZShjbWQub3V0KTsKIAkJY2xvc2UoY21kLm91dCk7CiAJfQogCisJaWYgKCF1c2Vfc2lkZWJhbmQpCisJCS8qIENsb3NlZCBieSBzdGFydF9jb21tYW5kKCkgKi8KKwkJeGRbMF0gPSAtMTsKKwogCXJldCA9IGZpbmlzaF9jb21tYW5kKCZjbWQpOwogCWlmICghcmV0IHx8IChhcmdzLT5jaGVja19zZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkICYmIHJldCA9PSAxKSkKIAkJYXJncy0+c2VsZl9jb250YWluZWRfYW5kX2Nvbm5lY3RlZCA9CiAJCQlhcmdzLT5jaGVja19zZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkICYmCiAJCQlyZXQgPT0gMDsKIAllbHNlCi0JCWRpZSgiJXMgZmFpbGVkIiwgYXJndlswXSk7CisJCWRpZSgiJXMgZmFpbGVkIiwgY21kX25hbWUpOwogCWlmICh1c2Vfc2lkZWJhbmQgJiYgZmluaXNoX2FzeW5jKCZkZW11eCkpCiAJCWRpZSgiZXJyb3IgaW4gc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIpOwogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZmV0Y2gtcGFjay5oIGIvZmV0Y2gtcGFjay5oCmluZGV4IDQwZjA4YmEuLjQ2MWNiZjMgMTAwNjQ0Ci0tLSBhL2ZldGNoLXBhY2suaAorKysgYi9mZXRjaC1wYWNrLmgKQEAgLTIsNiArMiw3IEBACiAjZGVmaW5lIEZFVENIX1BBQ0tfSAogCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKKyNpbmNsdWRlICJydW4tY29tbWFuZC5oIgogCiBzdHJ1Y3QgZmV0Y2hfcGFja19hcmdzIHsKIAljb25zdCBjaGFyICp1cGxvYWRwYWNrOwpkaWZmIC0tZ2l0IGEvZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybCBiL2dpdC1hZGQtLWludGVyYWN0aXZlLnBlcmwKaW5kZXggNTE1NjM4NC4uMjRiYjFhYiAxMDA3NTUKLS0tIGEvZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybAorKysgYi9naXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsCkBAIC0yNjMsNiArMjYzLDE3IEBACiAJcmV0dXJuICc0YjgyNWRjNjQyY2I2ZWI5YTA2MGU1NGJmOGQ2OTI4OGZiZWU0OTA0JzsKIH0KIAorc3ViIGdldF9kaWZmX3JlZmVyZW5jZSB7CisJbXkgJHJlZiA9IHNoaWZ0OworCWlmIChkZWZpbmVkICRyZWYgYW5kICRyZWYgbmUgJ0hFQUQnKSB7CisJCXJldHVybiAkcmVmOworCX0gZWxzaWYgKGlzX2luaXRpYWxfY29tbWl0KCkpIHsKKwkJcmV0dXJuIGdldF9lbXB0eV90cmVlKCk7CisJfSBlbHNlIHsKKwkJcmV0dXJuICdIRUFEJzsKKwl9Cit9CisKICMgUmV0dXJucyBsaXN0IG9mIGhhc2hlcywgY29udGVudHMgb2YgZWFjaCBvZiB3aGljaCBhcmU6CiAjIFZBTFVFOglwYXRobmFtZQogIyBCSU5BUlk6CWlzIGEgYmluYXJ5IHBhdGgKQEAgLTI4NiwxNCArMjk3LDcgQEAKIAkJcmV0dXJuIGlmICghQHRyYWNrZWQpOwogCX0KIAotCW15ICRyZWZlcmVuY2U7Ci0JaWYgKGRlZmluZWQgJHBhdGNoX21vZGVfcmV2aXNpb24gYW5kICRwYXRjaF9tb2RlX3JldmlzaW9uIG5lICdIRUFEJykgewotCQkkcmVmZXJlbmNlID0gJHBhdGNoX21vZGVfcmV2aXNpb247Ci0JfSBlbHNpZiAoaXNfaW5pdGlhbF9jb21taXQoKSkgewotCQkkcmVmZXJlbmNlID0gZ2V0X2VtcHR5X3RyZWUoKTsKLQl9IGVsc2UgewotCQkkcmVmZXJlbmNlID0gJ0hFQUQnOwotCX0KKwlteSAkcmVmZXJlbmNlID0gZ2V0X2RpZmZfcmVmZXJlbmNlKCRwYXRjaF9tb2RlX3JldmlzaW9uKTsKIAlmb3IgKHJ1bl9jbWRfcGlwZShxdyhnaXQgZGlmZi1pbmRleCAtLWNhY2hlZAogCQkJICAgICAtLW51bXN0YXQgLS1zdW1tYXJ5KSwgJHJlZmVyZW5jZSwKIAkJCSAgICAgJy0tJywgQHRyYWNrZWQpKSB7CkBAIC03MzcsNyArNzQxLDcgQEAKIAkJc3BsaWNlIEBkaWZmX2NtZCwgMSwgMCwgIi0tZGlmZi1hbGdvcml0aG09JHtkaWZmX2FsZ29yaXRobX0iOwogCX0KIAlpZiAoZGVmaW5lZCAkcGF0Y2hfbW9kZV9yZXZpc2lvbikgewotCQlwdXNoIEBkaWZmX2NtZCwgJHBhdGNoX21vZGVfcmV2aXNpb247CisJCXB1c2ggQGRpZmZfY21kLCBnZXRfZGlmZl9yZWZlcmVuY2UoJHBhdGNoX21vZGVfcmV2aXNpb24pOwogCX0KIAlteSBAZGlmZiA9IHJ1bl9jbWRfcGlwZSgiZ2l0IiwgQGRpZmZfY21kLCAiLS0iLCAkcGF0aCk7CiAJbXkgQGNvbG9yZWQgPSAoKTsKZGlmZiAtLWdpdCBhL2dpdC1jb21wYXQtdXRpbC5oIGIvZ2l0LWNvbXBhdC11dGlsLmgKaW5kZXggOTZkODg4MS4uNzc3NmYxMiAxMDA2NDQKLS0tIGEvZ2l0LWNvbXBhdC11dGlsLmgKKysrIGIvZ2l0LWNvbXBhdC11dGlsLmgKQEAgLTg2LDcgKzg2LDcgQEAKICNkZWZpbmUgX1NHSV9TT1VSQ0UgMQogCiAjaWYgZGVmaW5lZChXSU4zMikgJiYgIWRlZmluZWQoX19DWUdXSU5fXykgLyogQm90aCBNaW5HVyBhbmQgTVNWQyAqLwotIyBpZiBkZWZpbmVkIChfTVNDX1ZFUikKKyMgaWYgZGVmaW5lZCAoX01TQ19WRVIpICYmICFkZWZpbmVkKF9XSU4zMl9XSU5OVCkKICMgIGRlZmluZSBfV0lOMzJfV0lOTlQgMHgwNTAyCiAjIGVuZGlmCiAjZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01FQU4gIC8qIHN0b3BzIHdpbmRvd3MuaCBpbmNsdWRpbmcgd2luc29jay5oICovCkBAIC0zMjUsNiArMzI1LDE2IEBACiBleHRlcm4gaW50IGVycm9yKGNvbnN0IGNoYXIgKmVyciwgLi4uKSBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKTsKIGV4dGVybiB2b2lkIHdhcm5pbmcoY29uc3QgY2hhciAqZXJyLCAuLi4pIF9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAxLCAyKSkpOwogCisjaWZuZGVmIE5PX09QRU5TU0wKKyNpZmRlZiBBUFBMRV9DT01NT05fQ1JZUFRPCisjaW5jbHVkZSAiY29tcGF0L2FwcGxlLWNvbW1vbi1jcnlwdG8uaCIKKyNlbHNlCisjaW5jbHVkZSA8b3BlbnNzbC9ldnAuaD4KKyNpbmNsdWRlIDxvcGVuc3NsL2htYWMuaD4KKyNlbmRpZiAvKiBBUFBMRV9DT01NT05fQ1JZUFRPICovCisjaW5jbHVkZSA8b3BlbnNzbC94NTA5djMuaD4KKyNlbmRpZiAvKiBOT19PUEVOU1NMICovCisKIC8qCiAgKiBMZXQgY2FsbGVycyBiZSBhd2FyZSBvZiB0aGUgY29uc3RhbnQgcmV0dXJuIHZhbHVlOyB0aGlzIGNhbiBoZWxwCiAgKiBnY2Mgd2l0aCAtV3VuaW5pdGlhbGl6ZWQgYW5hbHlzaXMuIFdlIHJlc3RyaWN0IHRoaXMgdHJpY2sgdG8gZ2NjLCB0aG91Z2gsCkBAIC01MDksNyArNTE5LDcgQEAKIGNvbnN0IGNoYXIgKmluZXRfbnRvcChpbnQgYWYsIGNvbnN0IHZvaWQgKnNyYywgY2hhciAqZHN0LCBzaXplX3Qgc2l6ZSk7CiAjZW5kaWYKIAotZXh0ZXJuIHZvaWQgcmVsZWFzZV9wYWNrX21lbW9yeShzaXplX3QsIGludCk7CitleHRlcm4gdm9pZCByZWxlYXNlX3BhY2tfbWVtb3J5KHNpemVfdCk7CiAKIHR5cGVkZWYgdm9pZCAoKnRyeV90b19mcmVlX3QpKHNpemVfdCk7CiBleHRlcm4gdHJ5X3RvX2ZyZWVfdCBzZXRfdHJ5X3RvX2ZyZWVfcm91dGluZSh0cnlfdG9fZnJlZV90KTsKZGlmZiAtLWdpdCBhL2dpdC1jdnNzZXJ2ZXIucGVybCBiL2dpdC1jdnNzZXJ2ZXIucGVybAppbmRleCA2N2IxZTdiLi45NWU2OWIxIDEwMDc1NQotLS0gYS9naXQtY3Zzc2VydmVyLnBlcmwKKysrIGIvZ2l0LWN2c3NlcnZlci5wZXJsCkBAIC00MzAsMTAgKzQzMCwxMCBAQAogCiAgICAgJGxvZy0+ZGVidWcoInJlcV92YWxpZHJlcXVlc3RzIik7CiAKLSAgICAkbG9nLT5kZWJ1ZygiU0VORCA6IFZhbGlkLXJlcXVlc3RzICIgLiBqb2luKCIgIixrZXlzICUkbWV0aG9kcykpOworICAgICRsb2ctPmRlYnVnKCJTRU5EIDogVmFsaWQtcmVxdWVzdHMgIiAuIGpvaW4oIiAiLHNvcnQga2V5cyAlJG1ldGhvZHMpKTsKICAgICAkbG9nLT5kZWJ1ZygiU0VORCA6IG9rIik7CiAKLSAgICBwcmludCAiVmFsaWQtcmVxdWVzdHMgIiAuIGpvaW4oIiAiLGtleXMgJSRtZXRob2RzKSAuICJcbiI7CisgICAgcHJpbnQgIlZhbGlkLXJlcXVlc3RzICIgLiBqb2luKCIgIixzb3J0IGtleXMgJSRtZXRob2RzKSAuICJcbiI7CiAgICAgcHJpbnQgIm9rXG4iOwogfQogCkBAIC0yMTI0LDcgKzIxMjQsNyBAQAogICAgICAgICAgICAgcHJpbnQgIk0gcmV0cmlldmluZyByZXZpc2lvbiAkbWV0YTItPntyZXZpc2lvbn1cbiIKICAgICAgICAgfQogICAgICAgICBwcmludCAiTSBkaWZmICI7Ci0gICAgICAgIGZvcmVhY2ggbXkgJG9wdCAoIGtleXMgJXskc3RhdGUtPntvcHR9fSApCisgICAgICAgIGZvcmVhY2ggbXkgJG9wdCAoIHNvcnQga2V5cyAleyRzdGF0ZS0+e29wdH19ICkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCByZWYgJHN0YXRlLT57b3B0fXskb3B0fSBlcSAiQVJSQVkiICkKICAgICAgICAgICAgIHsKQEAgLTQwNTAsNyArNDA1MCw3IEBACiAgICAgICAgICAgICBjbG9zZSBGSUxFTElTVDsKIAogICAgICAgICAgICAgIyBEZXRlY3QgZGVsZXRlZCBmaWxlcwotICAgICAgICAgICAgZm9yZWFjaCBteSAkZmlsZSAoIGtleXMgJSRoZWFkICkKKyAgICAgICAgICAgIGZvcmVhY2ggbXkgJGZpbGUgKCBzb3J0IGtleXMgJSRoZWFkICkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB1bmxlc3MgKCBleGlzdHMgJHNlZW5fZmlsZXMtPnskZmlsZX0gb3IgJGhlYWQtPnskZmlsZX17ZmlsZWhhc2h9IGVxICJkZWxldGVkIiApCiAgICAgICAgICAgICAgICAgewpAQCAtNDA3OCw3ICs0MDc4LDcgQEAKICAgICB9CiAKICAgICAkc2VsZi0+ZGVsZXRlX2hlYWQoKTsKLSAgICBmb3JlYWNoIG15ICRmaWxlICgga2V5cyAlJGhlYWQgKQorICAgIGZvcmVhY2ggbXkgJGZpbGUgKCBzb3J0IGtleXMgJSRoZWFkICkKICAgICB7CiAgICAgICAgICRzZWxmLT5pbnNlcnRfaGVhZCgKICAgICAgICAgICAgICRmaWxlLApAQCAtNDMzOCw3ICs0MzM4LDcgQEAKID1oZWFkMiBnZXRSZXZpc2lvbkRpck1hcAogCiBBICJyZXZpc2lvbiBkaXIgbWFwIiBjb250YWlucyBhbGwgdGhlIHBsYWluLWZpbGUgZmlsZW5hbWVzIGFzc29jaWF0ZWQKLXdpdGggYSBwYXJ0aWN1bGFyIHJldmlzaW9uICh0cmVlaXNoKSwgb3JnYW5pemVkIGJ5IGRpcmVjdG9yeToKK3dpdGggYSBwYXJ0aWN1bGFyIHJldmlzaW9uICh0cmVlLWlzaCksIG9yZ2FuaXplZCBieSBkaXJlY3Rvcnk6CiAKICAgJHR5cGUgPSAkb3V0LT57JGRpcn17JGZ1bGxOYW1lfQogCmRpZmYgLS1naXQgYS9naXQtZmlsdGVyLWJyYW5jaC5zaCBiL2dpdC1maWx0ZXItYnJhbmNoLnNoCmluZGV4IGFjMmEwMDUuLjg2ZDY5OTQgMTAwNzU1Ci0tLSBhL2dpdC1maWx0ZXItYnJhbmNoLnNoCisrKyBiL2dpdC1maWx0ZXItYnJhbmNoLnNoCkBAIC0yNTUsNyArMjU1LDcgQEAKIAlyZW1hcF90b19hbmNlc3Rvcj10CiBmaQogCi1yZXZfYXJncz0kKGdpdCByZXYtcGFyc2UgLS1yZXZzLW9ubHkgIiRAIikKK2dpdCByZXYtcGFyc2UgLS1yZXZzLW9ubHkgIiRAIiA+Li4vcGFyc2UKIAogY2FzZSAiJGZpbHRlcl9zdWJkaXIiIGluCiAiIikKQEAgLTI2OCw3ICsyNjgsNyBAQAogZXNhYwogCiBnaXQgcmV2LWxpc3QgLS1yZXZlcnNlIC0tdG9wby1vcmRlciAtLWRlZmF1bHQgSEVBRCBcCi0JLS1wYXJlbnRzIC0tc2ltcGxpZnktbWVyZ2VzICRyZXZfYXJncyAiJEAiID4gLi4vcmV2cyB8fAorCS0tcGFyZW50cyAtLXNpbXBsaWZ5LW1lcmdlcyAtLXN0ZGluICIkQCIgPC4uL3BhcnNlID4uLi9yZXZzIHx8CiAJZGllICJDb3VsZCBub3QgZ2V0IHRoZSBjb21taXRzIgogY29tbWl0cz0kKHdjIC1sIDwuLi9yZXZzIHwgdHIgLWQgIiAiKQogCkBAIC0yODMsMTEgKzI4MywxMiBAQAogCiAJY2FzZSAiJGZpbHRlcl9zdWJkaXIiIGluCiAJIiIpCi0JCWdpdCByZWFkLXRyZWUgLWkgLW0gJGNvbW1pdAorCQlHSVRfQUxMT1dfTlVMTF9TSEExPTEgZ2l0IHJlYWQtdHJlZSAtaSAtbSAkY29tbWl0CiAJCTs7CiAJKikKIAkJIyBUaGUgY29tbWl0IG1heSBub3QgaGF2ZSB0aGUgc3ViZGlyZWN0b3J5IGF0IGFsbAotCQllcnI9JChnaXQgcmVhZC10cmVlIC1pIC1tICRjb21taXQ6IiRmaWx0ZXJfc3ViZGlyIiAyPiYxKSB8fCB7CisJCWVycj0kKEdJVF9BTExPV19OVUxMX1NIQTE9MSBcCisJCSAgICAgIGdpdCByZWFkLXRyZWUgLWkgLW0gJGNvbW1pdDoiJGZpbHRlcl9zdWJkaXIiIDI+JjEpIHx8IHsKIAkJCWlmICEgZ2l0IHJldi1wYXJzZSAtcSAtLXZlcmlmeSAkY29tbWl0OiIkZmlsdGVyX3N1YmRpciIKIAkJCXRoZW4KIAkJCQlybSAtZiAiJEdJVF9JTkRFWF9GSUxFIgpkaWZmIC0tZ2l0IGEvZ2l0LW1lcmdldG9vbC0tbGliLnNoIGIvZ2l0LW1lcmdldG9vbC0tbGliLnNoCmluZGV4IGZlZWU2YTQuLmEyODBmNDkgMTAwNjQ0Ci0tLSBhL2dpdC1tZXJnZXRvb2wtLWxpYi5zaAorKysgYi9naXQtbWVyZ2V0b29sLS1saWIuc2gKQEAgLTI1MCw3ICsyNTAsOCBAQAogCQllbHNlCiAJCQl0b29scz0ib3BlbmRpZmYga2RpZmYzIHRrZGlmZiB4eGRpZmYgbWVsZCAkdG9vbHMiCiAJCWZpCi0JCXRvb2xzPSIkdG9vbHMgZ3ZpbWRpZmYgZGlmZnVzZSBlY21lcmdlIHA0bWVyZ2UgYXJheGlzIGJjMyBjb2RlY29tcGFyZSIKKwkJdG9vbHM9IiR0b29scyBndmltZGlmZiBkaWZmdXNlIGRpZmZtZXJnZSBlY21lcmdlIgorCQl0b29scz0iJHRvb2xzIHA0bWVyZ2UgYXJheGlzIGJjMyBjb2RlY29tcGFyZSIKIAlmaQogCWNhc2UgIiR7VklTVUFMOi0kRURJVE9SfSIgaW4KIAkqdmltKikKQEAgLTI2Myw3ICsyNjQsNyBAQAogfQogCiBzaG93X3Rvb2xfaGVscCAoKSB7Ci0JdG9vbF9vcHQ9IidnaXQgJHtUT09MX01PREV9dG9vbCAtLXRvb2wtPHRvb2w+JyIKKwl0b29sX29wdD0iJ2dpdCAke1RPT0xfTU9ERX10b29sIC0tdG9vbD08dG9vbD4nIgogCiAJdGFiPScJJwogCUxGPScKZGlmZiAtLWdpdCBhL2dpdC1wNC5weSBiL2dpdC1wNC5weQppbmRleCAzMWU3MWZmLi4wNmEzY2M2IDEwMDc1NQotLS0gYS9naXQtcDQucHkKKysrIGIvZ2l0LXA0LnB5CkBAIC03ODAsMTEgKzc4MCwxNCBAQAogICAgICMgZGljdGlvbmFyeSBvZiBhbGwgY2xpZW50IHBhcmFtZXRlcnMKICAgICBlbnRyeSA9IHNwZWNMaXN0WzBdCiAKKyAgICAjIHRoZSAvL2NsaWVudC8gbmFtZQorICAgIGNsaWVudF9uYW1lID0gZW50cnlbIkNsaWVudCJdCisKICAgICAjIGp1c3QgdGhlIGtleXMgdGhhdCBzdGFydCB3aXRoICJWaWV3IgogICAgIHZpZXdfa2V5cyA9IFsgayBmb3IgayBpbiBlbnRyeS5rZXlzKCkgaWYgay5zdGFydHN3aXRoKCJWaWV3IikgXQogCiAgICAgIyBob2xkIHRoaXMgbmV3IFZpZXcKLSAgICB2aWV3ID0gVmlldygpCisgICAgdmlldyA9IFZpZXcoY2xpZW50X25hbWUpCiAKICAgICAjIGFwcGVuZCB0aGUgbGluZXMsIGluIG9yZGVyLCB0byB0aGUgdmlldwogICAgIGZvciB2aWV3X251bSBpbiByYW5nZShsZW4odmlld19rZXlzKSk6CkBAIC0xNTU1LDggKzE1NTgsOCBAQAogICAgICAgICAgICAgZm9yIGIgaW4gYm9keToKICAgICAgICAgICAgICAgICBsYWJlbFRlbXBsYXRlICs9ICJcdCIgKyBiICsgIlxuIgogICAgICAgICAgICAgbGFiZWxUZW1wbGF0ZSArPSAiVmlldzpcbiIKLSAgICAgICAgICAgIGZvciBtYXBwaW5nIGluIGNsaWVudFNwZWMubWFwcGluZ3M6Ci0gICAgICAgICAgICAgICAgbGFiZWxUZW1wbGF0ZSArPSAiXHQlc1xuIiAlIG1hcHBpbmcuZGVwb3Rfc2lkZS5wYXRoCisgICAgICAgICAgICBmb3IgZGVwb3Rfc2lkZSBpbiBjbGllbnRTcGVjLm1hcHBpbmdzOgorICAgICAgICAgICAgICAgIGxhYmVsVGVtcGxhdGUgKz0gIlx0JXNcbiIgJSBkZXBvdF9zaWRlCiAKICAgICAgICAgICAgIGlmIHNlbGYuZHJ5X3J1bjoKICAgICAgICAgICAgICAgICBwcmludCAiV291bGQgY3JlYXRlIHA0IGxhYmVsICVzIGZvciB0YWciICUgbmFtZQpAQCAtMTU2OCw3ICsxNTcxLDcgQEAKIAogICAgICAgICAgICAgICAgICMgVXNlIHRoZSBsYWJlbAogICAgICAgICAgICAgICAgIHA0X3N5c3RlbShbInRhZyIsICItbCIsIG5hbWVdICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgWyIlc0AlcyIgJSAobWFwcGluZy5kZXBvdF9zaWRlLnBhdGgsIGNoYW5nZWxpc3QpIGZvciBtYXBwaW5nIGluIGNsaWVudFNwZWMubWFwcGluZ3NdKQorICAgICAgICAgICAgICAgICAgICAgICAgICBbIiVzQCVzIiAlIChkZXBvdF9zaWRlLCBjaGFuZ2VsaXN0KSBmb3IgZGVwb3Rfc2lkZSBpbiBjbGllbnRTcGVjLm1hcHBpbmdzXSkKIAogICAgICAgICAgICAgICAgIGlmIHZlcmJvc2U6CiAgICAgICAgICAgICAgICAgICAgIHByaW50ICJjcmVhdGVkIHA0IGxhYmVsIGZvciB0YWcgJXMiICUgbmFtZQpAQCAtMTc5NiwxMTcgKzE3OTksMTYgQEAKICAgICAiIiJSZXByZXNlbnQgYSBwNCB2aWV3ICgicDQgaGVscCB2aWV3cyIpLCBhbmQgbWFwIGZpbGVzIGluIGEKICAgICAgICByZXBvIGFjY29yZGluZyB0byB0aGUgdmlldy4iIiIKIAotICAgIGNsYXNzIFBhdGgob2JqZWN0KToKLSAgICAgICAgIiIiQSBkZXBvdCBvciBjbGllbnQgcGF0aCwgcG9zc2libHkgY29udGFpbmluZyB3aWxkY2FyZHMuCi0gICAgICAgICAgIFRoZSBvbmx5IG9uZSBzdXBwb3J0ZWQgaXMgLi4uIGF0IHRoZSBlbmQsIGN1cnJlbnRseS4KLSAgICAgICAgICAgSW5pdGlhbGl6ZSB3aXRoIHRoZSBmdWxsIHBhdGgsIHdpdGggLy9kZXBvdCBvciAvL2NsaWVudC4iIiIKLQotICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgcGF0aCwgaXNfZGVwb3QpOgotICAgICAgICAgICAgc2VsZi5wYXRoID0gcGF0aAotICAgICAgICAgICAgc2VsZi5pc19kZXBvdCA9IGlzX2RlcG90Ci0gICAgICAgICAgICBzZWxmLmZpbmRfd2lsZGNhcmRzKCkKLSAgICAgICAgICAgICMgcmVtZW1iZXIgdGhlIHByZWZpeCBiaXQsIHVzZWZ1bCBmb3IgcmVsYXRpdmUgbWFwcGluZ3MKLSAgICAgICAgICAgIG0gPSByZS5tYXRjaCgiKC8vW14vXSsvKSIsIHNlbGYucGF0aCkKLSAgICAgICAgICAgIGlmIG5vdCBtOgotICAgICAgICAgICAgICAgIGRpZSgiUGF0aCAlcyBkb2VzIG5vdCBzdGFydCB3aXRoIC8vcHJlZml4LyIgJSBzZWxmLnBhdGgpCi0gICAgICAgICAgICBwcmVmaXggPSBtLmdyb3VwKDEpCi0gICAgICAgICAgICBpZiBub3Qgc2VsZi5pc19kZXBvdDoKLSAgICAgICAgICAgICAgICAjIHN0cmlwIC8vY2xpZW50LyBvbiBjbGllbnQgcGF0aHMKLSAgICAgICAgICAgICAgICBzZWxmLnBhdGggPSBzZWxmLnBhdGhbbGVuKHByZWZpeCk6XQotCi0gICAgICAgIGRlZiBmaW5kX3dpbGRjYXJkcyhzZWxmKToKLSAgICAgICAgICAgICIiIk1ha2Ugc3VyZSB3aWxkY2FyZHMgYXJlIHZhbGlkLCBhbmQgc2V0IHVwIGludGVybmFsCi0gICAgICAgICAgICAgICB2YXJpYWJsZXMuIiIiCi0KLSAgICAgICAgICAgIHNlbGYuZW5kc190cmlwbGVfZG90ID0gRmFsc2UKLSAgICAgICAgICAgICMgVGhlcmUgYXJlIHRocmVlIHdpbGRjYXJkcyBhbGxvd2VkIGluIHA0IHZpZXdzCi0gICAgICAgICAgICAjIChzZWUgInA0IGhlbHAgdmlld3MiKS4gIFRoaXMgY29kZSBrbm93cyBob3cgdG8KLSAgICAgICAgICAgICMgaGFuZGxlICIuLi4iIChvbmx5IGF0IHRoZSBlbmQpLCBidXQgY2Fubm90IGRlYWwgd2l0aAotICAgICAgICAgICAgIyAiJSVuIiBvciAiKiIuICBPbmx5IGNoZWNrIHRoZSBkZXBvdF9zaWRlLCBhcyBwNCBzaG91bGQKLSAgICAgICAgICAgICMgdmFsaWRhdGUgdGhhdCB0aGUgY2xpZW50X3NpZGUgbWF0Y2hlcyB0b28uCi0gICAgICAgICAgICBpZiByZS5zZWFyY2gociclJVsxLTldJywgc2VsZi5wYXRoKToKLSAgICAgICAgICAgICAgICBkaWUoIkNhbid0IGhhbmRsZSAlJW4gd2lsZGNhcmRzIGluIHZpZXc6ICVzIiAlIHNlbGYucGF0aCkKLSAgICAgICAgICAgIGlmIHNlbGYucGF0aC5maW5kKCIqIikgPj0gMDoKLSAgICAgICAgICAgICAgICBkaWUoIkNhbid0IGhhbmRsZSAqIHdpbGRjYXJkcyBpbiB2aWV3OiAlcyIgJSBzZWxmLnBhdGgpCi0gICAgICAgICAgICB0cmlwbGVfZG90X2luZGV4ID0gc2VsZi5wYXRoLmZpbmQoIi4uLiIpCi0gICAgICAgICAgICBpZiB0cmlwbGVfZG90X2luZGV4ID49IDA6Ci0gICAgICAgICAgICAgICAgaWYgdHJpcGxlX2RvdF9pbmRleCAhPSBsZW4oc2VsZi5wYXRoKSAtIDM6Ci0gICAgICAgICAgICAgICAgICAgIGRpZSgiQ2FuIGhhbmRsZSBvbmx5IHNpbmdsZSAuLi4gd2lsZGNhcmQsIGF0IGVuZDogJXMiICUKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGF0aCkKLSAgICAgICAgICAgICAgICBzZWxmLmVuZHNfdHJpcGxlX2RvdCA9IFRydWUKLQotICAgICAgICBkZWYgZW5zdXJlX2NvbXBhdGlibGUoc2VsZiwgb3RoZXJfcGF0aCk6Ci0gICAgICAgICAgICAiIiJNYWtlIHN1cmUgdGhlIHdpbGRjYXJkcyBhZ3JlZS4iIiIKLSAgICAgICAgICAgIGlmIHNlbGYuZW5kc190cmlwbGVfZG90ICE9IG90aGVyX3BhdGguZW5kc190cmlwbGVfZG90OgotICAgICAgICAgICAgICAgICBkaWUoIkJvdGggcGF0aHMgbXVzdCBlbmQgd2l0aCAuLi4gaWYgZWl0aGVyIGRvZXM7XG4iICsKLSAgICAgICAgICAgICAgICAgICAgICJwYXRoczogJXMgJXMiICUgKHNlbGYucGF0aCwgb3RoZXJfcGF0aC5wYXRoKSkKLQotICAgICAgICBkZWYgbWF0Y2hfd2lsZGNhcmRzKHNlbGYsIHRlc3RfcGF0aCk6Ci0gICAgICAgICAgICAiIiJTZWUgaWYgdGhpcyB0ZXN0X3BhdGggbWF0Y2hlcyB1cywgYW5kIGZpbGwgaW4gdGhlIHZhbHVlCi0gICAgICAgICAgICAgICBvZiB0aGUgd2lsZGNhcmRzIGlmIHNvLiAgUmV0dXJucyBhIHR1cGxlIG9mCi0gICAgICAgICAgICAgICAoVHJ1ZXxGYWxzZSwgd2lsZGNhcmRzW10pLiAgRm9yIG5vdywgb25seSB0aGUgLi4uIGF0IGVuZAotICAgICAgICAgICAgICAgaXMgc3VwcG9ydGVkLCBzbyBhdCBtb3N0IG9uZSB3aWxkY2FyZC4iIiIKLSAgICAgICAgICAgIGlmIHNlbGYuZW5kc190cmlwbGVfZG90OgotICAgICAgICAgICAgICAgIGRvdGxlc3MgPSBzZWxmLnBhdGhbOi0zXQotICAgICAgICAgICAgICAgIGlmIHRlc3RfcGF0aC5zdGFydHN3aXRoKGRvdGxlc3MpOgotICAgICAgICAgICAgICAgICAgICB3aWxkY2FyZCA9IHRlc3RfcGF0aFtsZW4oZG90bGVzcyk6XQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFRydWUsIFsgd2lsZGNhcmQgXSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgaWYgdGVzdF9wYXRoID09IHNlbGYucGF0aDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChUcnVlLCBbXSkKLSAgICAgICAgICAgIHJldHVybiAoRmFsc2UsIFtdKQotCi0gICAgICAgIGRlZiBtYXRjaChzZWxmLCB0ZXN0X3BhdGgpOgotICAgICAgICAgICAgIiIiSnVzdCByZXR1cm4gaWYgaXQgbWF0Y2hlczsgZG9uJ3QgYm90aGVyIHdpdGggdGhlIHdpbGRjYXJkcy4iIiIKLSAgICAgICAgICAgIGIsIF8gPSBzZWxmLm1hdGNoX3dpbGRjYXJkcyh0ZXN0X3BhdGgpCi0gICAgICAgICAgICByZXR1cm4gYgotCi0gICAgICAgIGRlZiBmaWxsX2luX3dpbGRjYXJkcyhzZWxmLCB3aWxkY2FyZHMpOgotICAgICAgICAgICAgIiIiUmV0dXJuIHRoZSByZWxhdGl2ZSBwYXRoLCB3aXRoIHRoZSB3aWxkY2FyZHMgZmlsbGVkIGluCi0gICAgICAgICAgICAgICBpZiB0aGVyZSBhcmUgYW55LiIiIgotICAgICAgICAgICAgaWYgc2VsZi5lbmRzX3RyaXBsZV9kb3Q6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYucGF0aFs6LTNdICsgd2lsZGNhcmRzWzBdCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnBhdGgKLQotICAgIGNsYXNzIE1hcHBpbmcob2JqZWN0KToKLSAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRlcG90X3NpZGUsIGNsaWVudF9zaWRlLCBvdmVybGF5LCBleGNsdWRlKToKLSAgICAgICAgICAgICMgZGVwb3Rfc2lkZSBpcyB3aXRob3V0IHRoZSB0cmFpbGluZyAvLi4uIGlmIGl0IGhhZCBvbmUKLSAgICAgICAgICAgIHNlbGYuZGVwb3Rfc2lkZSA9IFZpZXcuUGF0aChkZXBvdF9zaWRlLCBpc19kZXBvdD1UcnVlKQotICAgICAgICAgICAgc2VsZi5jbGllbnRfc2lkZSA9IFZpZXcuUGF0aChjbGllbnRfc2lkZSwgaXNfZGVwb3Q9RmFsc2UpCi0gICAgICAgICAgICBzZWxmLm92ZXJsYXkgPSBvdmVybGF5ICAjIHN0YXJ0ZWQgd2l0aCAiKyIKLSAgICAgICAgICAgIHNlbGYuZXhjbHVkZSA9IGV4Y2x1ZGUgICMgc3RhcnRlZCB3aXRoICItIgotICAgICAgICAgICAgYXNzZXJ0IG5vdCAoc2VsZi5vdmVybGF5IGFuZCBzZWxmLmV4Y2x1ZGUpCi0gICAgICAgICAgICBzZWxmLmRlcG90X3NpZGUuZW5zdXJlX2NvbXBhdGlibGUoc2VsZi5jbGllbnRfc2lkZSkKLQotICAgICAgICBkZWYgX19zdHJfXyhzZWxmKToKLSAgICAgICAgICAgIGMgPSAiICIKLSAgICAgICAgICAgIGlmIHNlbGYub3ZlcmxheToKLSAgICAgICAgICAgICAgICBjID0gIisiCi0gICAgICAgICAgICBpZiBzZWxmLmV4Y2x1ZGU6Ci0gICAgICAgICAgICAgICAgYyA9ICItIgotICAgICAgICAgICAgcmV0dXJuICJWaWV3Lk1hcHBpbmc6ICVzJXMgLT4gJXMiICUgXAotICAgICAgICAgICAgICAgICAgIChjLCBzZWxmLmRlcG90X3NpZGUucGF0aCwgc2VsZi5jbGllbnRfc2lkZS5wYXRoKQotCi0gICAgICAgIGRlZiBtYXBfZGVwb3RfdG9fY2xpZW50KHNlbGYsIGRlcG90X3BhdGgpOgotICAgICAgICAgICAgIiIiQ2FsY3VsYXRlIHRoZSBjbGllbnQgcGF0aCBpZiB1c2luZyB0aGlzIG1hcHBpbmcgb24gdGhlCi0gICAgICAgICAgICAgICBnaXZlbiBkZXBvdCBwYXRoOyBkb2VzIG5vdCBjb25zaWRlciB0aGUgZWZmZWN0IG9mIG90aGVyCi0gICAgICAgICAgICAgICBtYXBwaW5ncyBpbiBhIHZpZXcuICBFdmVuIGV4Y2x1ZGVkIG1hcHBpbmdzIGFyZSByZXR1cm5lZC4iIiIKLSAgICAgICAgICAgIG1hdGNoZXMsIHdpbGRjYXJkcyA9IHNlbGYuZGVwb3Rfc2lkZS5tYXRjaF93aWxkY2FyZHMoZGVwb3RfcGF0aCkKLSAgICAgICAgICAgIGlmIG5vdCBtYXRjaGVzOgotICAgICAgICAgICAgICAgIHJldHVybiAiIgotICAgICAgICAgICAgY2xpZW50X3BhdGggPSBzZWxmLmNsaWVudF9zaWRlLmZpbGxfaW5fd2lsZGNhcmRzKHdpbGRjYXJkcykKLSAgICAgICAgICAgIHJldHVybiBjbGllbnRfcGF0aAotCi0gICAgIwotICAgICMgVmlldyBtZXRob2RzCi0gICAgIwotICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgY2xpZW50X25hbWUpOgogICAgICAgICBzZWxmLm1hcHBpbmdzID0gW10KKyAgICAgICAgc2VsZi5jbGllbnRfcHJlZml4ID0gIi8vJXMvIiAlIGNsaWVudF9uYW1lCisgICAgICAgICMgY2FjaGUgcmVzdWx0cyBvZiAicDQgd2hlcmUiIHRvIGxvb2t1cCBjbGllbnQgZmlsZSBsb2NhdGlvbnMKKyAgICAgICAgc2VsZi5jbGllbnRfc3BlY19wYXRoX2NhY2hlID0ge30KIAogICAgIGRlZiBhcHBlbmQoc2VsZiwgdmlld19saW5lKToKICAgICAgICAgIiIiUGFyc2UgYSB2aWV3IGxpbmUsIHNwbGl0dGluZyBpdCBpbnRvIGRlcG90IGFuZCBjbGllbnQKLSAgICAgICAgICAgc2lkZXMuICBBcHBlbmQgdG8gc2VsZi5tYXBwaW5ncywgcHJlc2VydmluZyBvcmRlci4iIiIKKyAgICAgICAgICAgc2lkZXMuICBBcHBlbmQgdG8gc2VsZi5tYXBwaW5ncywgcHJlc2VydmluZyBvcmRlci4gIFRoaXMKKyAgICAgICAgICAgaXMgb25seSBuZWVkZWQgZm9yIHRhZyBjcmVhdGlvbi4iIiIKIAogICAgICAgICAjIFNwbGl0IHRoZSB2aWV3IGxpbmUgaW50byBleGFjdGx5IHR3byB3b3Jkcy4gIFA0IGVuZm9yY2VzCiAgICAgICAgICMgc3RydWN0dXJlIG9uIHRoZXNlIGxpbmVzIHRoYXQgc2ltcGxpZmllcyB0aGlzIHF1aXRlIGEgYml0LgpAQCAtMTkzNCw3NiArMTgzNiw2MiBAQAogICAgICAgICAgICAgZGVwb3Rfc2lkZSA9IHZpZXdfbGluZVswOnNwYWNlX2luZGV4XQogICAgICAgICAgICAgcmhzX2luZGV4ID0gc3BhY2VfaW5kZXggKyAxCiAKLSAgICAgICAgaWYgdmlld19saW5lW3Joc19pbmRleF0gPT0gJyInOgotICAgICAgICAgICAgIyBTZWNvbmQgd29yZCBpcyBkb3VibGUgcXVvdGVkLiAgTWFrZSBzdXJlIHRoZXJlIGlzIGEKLSAgICAgICAgICAgICMgZG91YmxlIHF1b3RlIGF0IHRoZSBlbmQgdG9vLgotICAgICAgICAgICAgaWYgbm90IHZpZXdfbGluZS5lbmRzd2l0aCgnIicpOgotICAgICAgICAgICAgICAgIGRpZSgiVmlldyBsaW5lIHdpdGggcmhzIHF1b3RlIHNob3VsZCBlbmQgd2l0aCBvbmU6ICVzIiAlCi0gICAgICAgICAgICAgICAgICAgIHZpZXdfbGluZSkKLSAgICAgICAgICAgICMgc2tpcCB0aGUgcXVvdGVzCi0gICAgICAgICAgICBjbGllbnRfc2lkZSA9IHZpZXdfbGluZVtyaHNfaW5kZXgrMTotMV0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGNsaWVudF9zaWRlID0gdmlld19saW5lW3Joc19pbmRleDpdCi0KICAgICAgICAgIyBwcmVmaXggKyBtZWFucyBvdmVybGF5IG9uIHByZXZpb3VzIG1hcHBpbmcKLSAgICAgICAgb3ZlcmxheSA9IEZhbHNlCiAgICAgICAgIGlmIGRlcG90X3NpZGUuc3RhcnRzd2l0aCgiKyIpOgotICAgICAgICAgICAgb3ZlcmxheSA9IFRydWUKICAgICAgICAgICAgIGRlcG90X3NpZGUgPSBkZXBvdF9zaWRlWzE6XQogCi0gICAgICAgICMgcHJlZml4IC0gbWVhbnMgZXhjbHVkZSB0aGlzIHBhdGgKKyAgICAgICAgIyBwcmVmaXggLSBtZWFucyBleGNsdWRlIHRoaXMgcGF0aCwgbGVhdmUgb3V0IG9mIG1hcHBpbmdzCiAgICAgICAgIGV4Y2x1ZGUgPSBGYWxzZQogICAgICAgICBpZiBkZXBvdF9zaWRlLnN0YXJ0c3dpdGgoIi0iKToKICAgICAgICAgICAgIGV4Y2x1ZGUgPSBUcnVlCiAgICAgICAgICAgICBkZXBvdF9zaWRlID0gZGVwb3Rfc2lkZVsxOl0KIAotICAgICAgICBtID0gVmlldy5NYXBwaW5nKGRlcG90X3NpZGUsIGNsaWVudF9zaWRlLCBvdmVybGF5LCBleGNsdWRlKQotICAgICAgICBzZWxmLm1hcHBpbmdzLmFwcGVuZChtKQorICAgICAgICBpZiBub3QgZXhjbHVkZToKKyAgICAgICAgICAgIHNlbGYubWFwcGluZ3MuYXBwZW5kKGRlcG90X3NpZGUpCisKKyAgICBkZWYgY29udmVydF9jbGllbnRfcGF0aChzZWxmLCBjbGllbnRGaWxlKToKKyAgICAgICAgIyBjaG9wIG9mZiAvL2NsaWVudC8gcGFydCB0byBtYWtlIGl0IHJlbGF0aXZlCisgICAgICAgIGlmIG5vdCBjbGllbnRGaWxlLnN0YXJ0c3dpdGgoc2VsZi5jbGllbnRfcHJlZml4KToKKyAgICAgICAgICAgIGRpZSgiTm8gcHJlZml4ICclcycgb24gY2xpZW50RmlsZSAnJXMnIiAlCisgICAgICAgICAgICAgICAgKHNlbGYuY2xpZW50X3ByZWZpeCwgY2xpZW50RmlsZSkpCisgICAgICAgIHJldHVybiBjbGllbnRGaWxlW2xlbihzZWxmLmNsaWVudF9wcmVmaXgpOl0KKworICAgIGRlZiB1cGRhdGVfY2xpZW50X3NwZWNfcGF0aF9jYWNoZShzZWxmLCBmaWxlcyk6CisgICAgICAgICIiIiBDYWNoaW5nIGZpbGUgcGF0aHMgYnkgInA0IHdoZXJlIiBiYXRjaCBxdWVyeSAiIiIKKworICAgICAgICAjIExpc3QgZGVwb3QgZmlsZSBwYXRocyBleGNsdWRlIHRoYXQgYWxyZWFkeSBjYWNoZWQKKyAgICAgICAgZmlsZUFyZ3MgPSBbZlsncGF0aCddIGZvciBmIGluIGZpbGVzIGlmIGZbJ3BhdGgnXSBub3QgaW4gc2VsZi5jbGllbnRfc3BlY19wYXRoX2NhY2hlXQorCisgICAgICAgIGlmIGxlbihmaWxlQXJncykgPT0gMDoKKyAgICAgICAgICAgIHJldHVybiAgIyBBbGwgZmlsZXMgaW4gY2FjaGUKKworICAgICAgICB3aGVyZV9yZXN1bHQgPSBwNENtZExpc3QoWyIteCIsICItIiwgIndoZXJlIl0sIHN0ZGluPWZpbGVBcmdzKQorICAgICAgICBmb3IgcmVzIGluIHdoZXJlX3Jlc3VsdDoKKyAgICAgICAgICAgIGlmICJjb2RlIiBpbiByZXMgYW5kIHJlc1siY29kZSJdID09ICJlcnJvciI6CisgICAgICAgICAgICAgICAgIyBhc3N1bWUgZXJyb3IgaXMgIi4uLiBmaWxlKHMpIG5vdCBpbiBjbGllbnQgdmlldyIKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgImNsaWVudEZpbGUiIG5vdCBpbiByZXM6CisgICAgICAgICAgICAgICAgZGllKCJObyBjbGllbnRGaWxlIGZyb20gJ3A0IHdoZXJlICVzJyIgJSBkZXBvdF9wYXRoKQorICAgICAgICAgICAgaWYgInVubWFwIiBpbiByZXM6CisgICAgICAgICAgICAgICAgIyBpdCB3aWxsIGxpc3QgYWxsIG9mIHRoZW0sIGJ1dCBvbmx5IG9uZSBub3QgdW5tYXAtcGVkCisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHNlbGYuY2xpZW50X3NwZWNfcGF0aF9jYWNoZVtyZXNbJ2RlcG90RmlsZSddXSA9IHNlbGYuY29udmVydF9jbGllbnRfcGF0aChyZXNbImNsaWVudEZpbGUiXSkKKworICAgICAgICAjIG5vdCBmb3VuZCBmaWxlcyBvciB1bm1hcCBmaWxlcyBzZXQgdG8gIiIKKyAgICAgICAgZm9yIGRlcG90RmlsZSBpbiBmaWxlQXJnczoKKyAgICAgICAgICAgIGlmIGRlcG90RmlsZSBub3QgaW4gc2VsZi5jbGllbnRfc3BlY19wYXRoX2NhY2hlOgorICAgICAgICAgICAgICAgIHNlbGYuY2xpZW50X3NwZWNfcGF0aF9jYWNoZVtkZXBvdEZpbGVdID0gIiIKIAogICAgIGRlZiBtYXBfaW5fY2xpZW50KHNlbGYsIGRlcG90X3BhdGgpOgogICAgICAgICAiIiJSZXR1cm4gdGhlIHJlbGF0aXZlIGxvY2F0aW9uIGluIHRoZSBjbGllbnQgd2hlcmUgdGhpcwogICAgICAgICAgICBkZXBvdCBmaWxlIHNob3VsZCBsaXZlLiAgUmV0dXJucyAiIiBpZiB0aGUgZmlsZSBzaG91bGQKICAgICAgICAgICAgbm90IGJlIG1hcHBlZCBpbiB0aGUgY2xpZW50LiIiIgogCi0gICAgICAgIHBhdGhzX2ZpbGxlZCA9IFtdCi0gICAgICAgIGNsaWVudF9wYXRoID0gIiIKKyAgICAgICAgaWYgZGVwb3RfcGF0aCBpbiBzZWxmLmNsaWVudF9zcGVjX3BhdGhfY2FjaGU6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5jbGllbnRfc3BlY19wYXRoX2NhY2hlW2RlcG90X3BhdGhdCiAKLSAgICAgICAgIyBsb29rIGF0IGxhdGVyIGVudHJpZXMgZmlyc3QKLSAgICAgICAgZm9yIG0gaW4gc2VsZi5tYXBwaW5nc1s6Oi0xXToKLQotICAgICAgICAgICAgIyBzZWUgd2hlcmUgd2lsbCB0aGlzIHBhdGggZW5kIHVwIGluIHRoZSBjbGllbnQKLSAgICAgICAgICAgIHAgPSBtLm1hcF9kZXBvdF90b19jbGllbnQoZGVwb3RfcGF0aCkKLQotICAgICAgICAgICAgaWYgcCA9PSAiIjoKLSAgICAgICAgICAgICAgICAjIERlcG90IHBhdGggZG9lcyBub3QgYmVsb25nIGluIGNsaWVudC4gIE11c3QgcmVtZW1iZXIKLSAgICAgICAgICAgICAgICAjIHRoaXMsIGFzIHByZXZpb3VzIGl0ZW1zIHNob3VsZCBub3QgY2F1c2UgZmlsZXMgdG8KLSAgICAgICAgICAgICAgICAjIGV4aXN0IGluIHRoaXMgcGF0aCBlaXRoZXIuICBSZW1lbWJlciB0aGF0IHRoZSBsaXN0IGlzCi0gICAgICAgICAgICAgICAgIyBiZWluZyB3YWxrZWQgZnJvbSB0aGUgZW5kLCB3aGljaCBoYXMgaGlnaGVyIHByZWNlZGVuY2UuCi0gICAgICAgICAgICAgICAgIyBPdmVybGFwIG1hcHBpbmdzIGRvIG5vdCBleGNsdWRlIHByZXZpb3VzIG1hcHBpbmdzLgotICAgICAgICAgICAgICAgIGlmIG5vdCBtLm92ZXJsYXk6Ci0gICAgICAgICAgICAgICAgICAgIHBhdGhzX2ZpbGxlZC5hcHBlbmQobS5jbGllbnRfc2lkZSkKLQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAjIFRoaXMgbWFwcGluZyBtYXRjaGVkOyBubyBuZWVkIHRvIHNlYXJjaCBhbnkgZnVydGhlci4KLSAgICAgICAgICAgICAgICAjIEJ1dCwgdGhlIG1hcHBpbmcgY291bGQgYmUgcmVqZWN0ZWQgaWYgdGhlIGNsaWVudCBwYXRoCi0gICAgICAgICAgICAgICAgIyBoYXMgYWxyZWFkeSBiZWVuIGNsYWltZWQgYnkgYW4gZWFybGllciBtYXBwaW5nIChpLmUuCi0gICAgICAgICAgICAgICAgIyBvbmUgbGF0ZXIgaW4gdGhlIGxpc3QsIHdoaWNoIHdlIGFyZSB3YWxraW5nIGJhY2t3YXJkcykuCi0gICAgICAgICAgICAgICAgYWxyZWFkeV9tYXBwZWRfaW5fY2xpZW50ID0gRmFsc2UKLSAgICAgICAgICAgICAgICBmb3IgZiBpbiBwYXRoc19maWxsZWQ6Ci0gICAgICAgICAgICAgICAgICAgICMgdGhpcyBpcyBWaWV3LlBhdGgubWF0Y2gKLSAgICAgICAgICAgICAgICAgICAgaWYgZi5tYXRjaChwKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGFscmVhZHlfbWFwcGVkX2luX2NsaWVudCA9IFRydWUKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgaWYgbm90IGFscmVhZHlfbWFwcGVkX2luX2NsaWVudDoKLSAgICAgICAgICAgICAgICAgICAgIyBJbmNsdWRlIHRoaXMgZmlsZSwgdW5sZXNzIGl0IGlzIGZyb20gYSBsaW5lIHRoYXQKLSAgICAgICAgICAgICAgICAgICAgIyBleHBsaWNpdGx5IHNhaWQgdG8gZXhjbHVkZSBpdC4KLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IG0uZXhjbHVkZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9wYXRoID0gcAotCi0gICAgICAgICAgICAgICAgIyBhIG1hdGNoLCBldmVuIGlmIHJlamVjdGVkLCBhbHdheXMgc3RvcHMgdGhlIHNlYXJjaAotICAgICAgICAgICAgICAgIGJyZWFrCi0KLSAgICAgICAgcmV0dXJuIGNsaWVudF9wYXRoCisgICAgICAgIGRpZSggIkVycm9yOiAlcyBpcyBub3QgZm91bmQgaW4gY2xpZW50IHNwZWMgcGF0aCIgJSBkZXBvdF9wYXRoICkKKyAgICAgICAgcmV0dXJuICIiCiAKIGNsYXNzIFA0U3luYyhDb21tYW5kLCBQNFVzZXJNYXApOgogICAgIGRlbGV0ZV9hY3Rpb25zID0gKCAiZGVsZXRlIiwgIm1vdmUvZGVsZXRlIiwgInB1cmdlIiApCkBAIC0yMTMwLDYgKzIwMTgsMTAgQEAKICAgICAgICAgIiIiTG9vayBhdCBlYWNoIGRlcG90RmlsZSBpbiB0aGUgY29tbWl0IHRvIGZpZ3VyZSBvdXQgdG8gd2hhdAogICAgICAgICAgICBicmFuY2ggaXQgYmVsb25ncy4iIiIKIAorICAgICAgICBpZiBzZWxmLmNsaWVudFNwZWNEaXJzOgorICAgICAgICAgICAgZmlsZXMgPSBzZWxmLmV4dHJhY3RGaWxlc0Zyb21Db21taXQoY29tbWl0KQorICAgICAgICAgICAgc2VsZi5jbGllbnRTcGVjRGlycy51cGRhdGVfY2xpZW50X3NwZWNfcGF0aF9jYWNoZShmaWxlcykKKwogICAgICAgICBicmFuY2hlcyA9IHt9CiAgICAgICAgIGZudW0gPSAwCiAgICAgICAgIHdoaWxlIGNvbW1pdC5oYXNfa2V5KCJkZXBvdEZpbGUlcyIgJSBmbnVtKToKQEAgLTIxODAsOSArMjA3MiwxMyBAQAogICAgICAgICAgICAgZ2l0X21vZGUgPSAiMTAwNzU1IgogICAgICAgICBpZiB0eXBlX2Jhc2UgPT0gInN5bWxpbmsiOgogICAgICAgICAgICAgZ2l0X21vZGUgPSAiMTIwMDAwIgotICAgICAgICAgICAgIyBwNCBwcmludCBvbiBhIHN5bWxpbmsgY29udGFpbnMgInRhcmdldFxuIjsgcmVtb3ZlIHRoZSBuZXdsaW5lCisgICAgICAgICAgICAjIHA0IHByaW50IG9uIGEgc3ltbGluayBzb21ldGltZXMgY29udGFpbnMgInRhcmdldFxuIjsKKyAgICAgICAgICAgICMgaWYgaXQgZG9lcywgcmVtb3ZlIHRoZSBuZXdsaW5lCiAgICAgICAgICAgICBkYXRhID0gJycuam9pbihjb250ZW50cykKLSAgICAgICAgICAgIGNvbnRlbnRzID0gW2RhdGFbOi0xXV0KKyAgICAgICAgICAgIGlmIGRhdGFbLTFdID09ICdcbic6CisgICAgICAgICAgICAgICAgY29udGVudHMgPSBbZGF0YVs6LTFdXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBjb250ZW50cyA9IFtkYXRhXQogCiAgICAgICAgIGlmIHR5cGVfYmFzZSA9PSAidXRmMTYiOgogICAgICAgICAgICAgIyBwNCBkZWxpdmVycyBkaWZmZXJlbnQgdGV4dCBpbiB0aGUgcHl0aG9uIG91dHB1dCB0byAtRwpAQCAtMjM3OSw2ICsyMjc1LDkgQEAKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiSWdub3JpbmcgZmlsZSBvdXRzaWRlIG9mIHByZWZpeDogJXNcbiIgJSBmWydwYXRoJ10pCiAKKyAgICAgICAgaWYgc2VsZi5jbGllbnRTcGVjRGlyczoKKyAgICAgICAgICAgIHNlbGYuY2xpZW50U3BlY0RpcnMudXBkYXRlX2NsaWVudF9zcGVjX3BhdGhfY2FjaGUoZmlsZXMpCisKICAgICAgICAgc2VsZi5naXRTdHJlYW0ud3JpdGUoImNvbW1pdCAlc1xuIiAlIGJyYW5jaCkKICMgICAgICAgIGdpdFN0cmVhbS53cml0ZSgibWFyayA6JXNcbiIgJSBkZXRhaWxzWyJjaGFuZ2UiXSkKICAgICAgICAgc2VsZi5jb21taXR0ZWRDaGFuZ2VzLmFkZChpbnQoZGV0YWlsc1siY2hhbmdlIl0pKQpkaWZmIC0tZ2l0IGEvZ2l0LXB1bGwuc2ggYi9naXQtcHVsbC5zaAppbmRleCBmMGRmNDFjLi5iOTQ2ZmQ5IDEwMDc1NQotLS0gYS9naXQtcHVsbC5zaAorKysgYi9naXQtcHVsbC5zaApAQCAtNCw3ICs0LDcgQEAKICMKICMgRmV0Y2ggb25lIG9yIG1vcmUgcmVtb3RlIHJlZnMgYW5kIG1lcmdlIGl0L3RoZW0gaW50byB0aGUgY3VycmVudCBIRUFELgogCi1VU0FHRT0nWy1uIHwgLS1uby1zdGF0XSBbLS1bbm8tXWNvbW1pdF0gWy0tW25vLV1zcXVhc2hdIFstLVtuby1dZmZdIFstcyBzdHJhdGVneV0uLi4gWzxmZXRjaC1vcHRpb25zPl0gPHJlcG8+IDxoZWFkPi4uLicKK1VTQUdFPSdbLW4gfCAtLW5vLXN0YXRdIFstLVtuby1dY29tbWl0XSBbLS1bbm8tXXNxdWFzaF0gWy0tW25vLV1mZl0gWy0tW25vLV1yZWJhc2V8LS1yZWJhc2U9cHJlc2VydmVdIFstcyBzdHJhdGVneV0uLi4gWzxmZXRjaC1vcHRpb25zPl0gPHJlcG8+IDxoZWFkPi4uLicKIExPTkdfVVNBR0U9J0ZldGNoIG9uZSBvciBtb3JlIHJlbW90ZSByZWZzIGFuZCBpbnRlZ3JhdGUgaXQvdGhlbSB3aXRoIHRoZSBjdXJyZW50IEhFQUQuJwogU1VCRElSRUNUT1JZX09LPVllcwogT1BUSU9OU19TUEVDPQpAQCAtMzgsMTUgKzM4LDE5IEBACiB0ZXN0IC16ICIkKGdpdCBscy1maWxlcyAtdSkiIHx8IGRpZV9jb25mbGljdAogdGVzdCAtZiAiJEdJVF9ESVIvTUVSR0VfSEVBRCIgJiYgZGllX21lcmdlCiAKK2Jvb2xfb3Jfc3RyaW5nX2NvbmZpZyAoKSB7CisJZ2l0IGNvbmZpZyAtLWJvb2wgIiQxIiAyPi9kZXYvbnVsbCB8fCBnaXQgY29uZmlnICIkMSIKK30KKwogc3RyYXRlZ3lfYXJncz0gZGlmZnN0YXQ9IG5vX2NvbW1pdD0gc3F1YXNoPSBub19mZj0gZmZfb25seT0KIGxvZ19hcmc9IHZlcmJvc2l0eT0gcHJvZ3Jlc3M9IHJlY3Vyc2Vfc3VibW9kdWxlcz0gdmVyaWZ5X3NpZ25hdHVyZXM9Ci1tZXJnZV9hcmdzPSBlZGl0PQorbWVyZ2VfYXJncz0gZWRpdD0gcmViYXNlX2FyZ3M9CiBjdXJyX2JyYW5jaD0kKGdpdCBzeW1ib2xpYy1yZWYgLXEgSEVBRCkKIGN1cnJfYnJhbmNoX3Nob3J0PSIke2N1cnJfYnJhbmNoI3JlZnMvaGVhZHMvfSIKLXJlYmFzZT0kKGdpdCBjb25maWcgLS1ib29sIGJyYW5jaC4kY3Vycl9icmFuY2hfc2hvcnQucmViYXNlKQorcmViYXNlPSQoYm9vbF9vcl9zdHJpbmdfY29uZmlnIGJyYW5jaC4kY3Vycl9icmFuY2hfc2hvcnQucmViYXNlKQogaWYgdGVzdCAteiAiJHJlYmFzZSIKIHRoZW4KLQlyZWJhc2U9JChnaXQgY29uZmlnIC0tYm9vbCBwdWxsLnJlYmFzZSkKKwlyZWJhc2U9JChib29sX29yX3N0cmluZ19jb25maWcgcHVsbC5yZWJhc2UpCiBmaQogZHJ5X3J1bj0KIHdoaWxlIDoKQEAgLTExMCw2ICsxMTQsOSBAQAogCQllc2FjCiAJCW1lcmdlX2FyZ3M9IiRtZXJnZV9hcmdzJHh4ICIKIAkJOzsKKwktcj0qfC0tcj0qfC0tcmU9KnwtLXJlYj0qfC0tcmViYT0qfC0tcmViYXM9KnwtLXJlYmFzZT0qKQorCQlyZWJhc2U9IiR7MSMqPX0iCisJCTs7CiAJLXJ8LS1yfC0tcmV8LS1yZWJ8LS1yZWJhfC0tcmViYXN8LS1yZWJhc2UpCiAJCXJlYmFzZT10cnVlCiAJCTs7CkBAIC0xNDUsNiArMTUyLDIwIEBACiAJc2hpZnQKIGRvbmUKIAorY2FzZSAiJHJlYmFzZSIgaW4KK3ByZXNlcnZlKQorCXJlYmFzZT10cnVlCisJcmViYXNlX2FyZ3M9LS1wcmVzZXJ2ZS1tZXJnZXMKKwk7OwordHJ1ZXxmYWxzZXwnJykKKwk7OworKikKKwllY2hvICJJbnZhbGlkIHZhbHVlIGZvciAtLXJlYmFzZSwgc2hvdWxkIGJlIHRydWUsIGZhbHNlLCBvciBwcmVzZXJ2ZSIKKwl1c2FnZQorCWV4aXQgMQorCTs7Citlc2FjCisKIGVycm9yX29uX25vX21lcmdlX2NhbmRpZGF0ZXMgKCkgewogCWV4ZWMgPiYyCiAJZm9yIG9wdApAQCAtMTY2LDkgKzE4Nyw4IEBACiAJCW9wX3ByZXA9d2l0aAogCWZpCiAKLQljdXJyX2JyYW5jaD0ke2N1cnJfYnJhbmNoI3JlZnMvaGVhZHMvfQotCXVwc3RyZWFtPSQoZ2l0IGNvbmZpZyAiYnJhbmNoLiRjdXJyX2JyYW5jaC5tZXJnZSIpCi0JcmVtb3RlPSQoZ2l0IGNvbmZpZyAiYnJhbmNoLiRjdXJyX2JyYW5jaC5yZW1vdGUiKQorCXVwc3RyZWFtPSQoZ2l0IGNvbmZpZyAiYnJhbmNoLiRjdXJyX2JyYW5jaF9zaG9ydC5tZXJnZSIpCisJcmVtb3RlPSQoZ2l0IGNvbmZpZyAiYnJhbmNoLiRjdXJyX2JyYW5jaF9zaG9ydC5yZW1vdGUiKQogCiAJaWYgWyAkIyAtZ3QgMSBdOyB0aGVuCiAJCWlmIFsgIiRyZWJhc2UiID0gdHJ1ZSBdOyB0aGVuCkBAIC0yOTIsNyArMzEyLDcgQEAKIG1lcmdlX25hbWU9JChnaXQgZm10LW1lcmdlLW1zZyAkbG9nX2FyZyA8IiRHSVRfRElSL0ZFVENIX0hFQUQiKSB8fCBleGl0CiBjYXNlICIkcmViYXNlIiBpbgogdHJ1ZSkKLQlldmFsPSJnaXQtcmViYXNlICRkaWZmc3RhdCAkc3RyYXRlZ3lfYXJncyAkbWVyZ2VfYXJncyAkdmVyYm9zaXR5IgorCWV2YWw9ImdpdC1yZWJhc2UgJGRpZmZzdGF0ICRzdHJhdGVneV9hcmdzICRtZXJnZV9hcmdzICRyZWJhc2VfYXJncyAkdmVyYm9zaXR5IgogCWV2YWw9IiRldmFsIC0tb250byAkbWVyZ2VfaGVhZCAke29sZHJlbW90ZXJlZjotJG1lcmdlX2hlYWR9IgogCTs7CiAqKQpkaWZmIC0tZ2l0IGEvZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2ggYi9naXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaAppbmRleCAxMGJmMzE4Li4zYzZiZWQ5IDEwMDY0NAotLS0gYS9naXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaAorKysgYi9naXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaApAQCAtNzEzLDcgKzcxMyw3IEBACiB9CiAKIGNvbGxhcHNlX3RvZG9faWRzKCkgewotCXRyYW5zZm9ybV90b2RvX2lkcyAtLXNob3J0PTcKKwl0cmFuc2Zvcm1fdG9kb19pZHMgLS1zaG9ydAogfQogCiAjIFJlYXJyYW5nZSB0aGUgdG9kbyBsaXN0IHRoYXQgaGFzIGJvdGggInBpY2sgc2hhMSBtc2ciIGFuZApkaWZmIC0tZ2l0IGEvZ2l0LXJlbW90ZS10ZXN0Z2l0LnNoIGIvZ2l0LXJlbW90ZS10ZXN0Z2l0LnNoCmluZGV4IDIxMDkwNzAuLjZkMmYyODIgMTAwNzU1Ci0tLSBhL2dpdC1yZW1vdGUtdGVzdGdpdC5zaAorKysgYi9naXQtcmVtb3RlLXRlc3RnaXQuc2gKQEAgLTM4LDYgKzM4LDcgQEAKIAkJCWVjaG8gIipleHBvcnQtbWFya3MgJGdpdG1hcmtzIgogCQlmaQogCQl0ZXN0IC1uICIkR0lUX1JFTU9URV9URVNUR0lUX1NJR05FRF9UQUdTIiAmJiBlY2hvICJzaWduZWQtdGFncyIKKwkJdGVzdCAtbiAiJEdJVF9SRU1PVEVfVEVTVEdJVF9OT19QUklWQVRFX1VQREFURSIgJiYgZWNobyAibm8tcHJpdmF0ZS11cGRhdGUiCiAJCWVjaG8KIAkJOzsKIAlsaXN0KQpkaWZmIC0tZ2l0IGEvZ2l0LXJlbW90ZS10ZXN0cHkucHkgYi9naXQtcmVtb3RlLXRlc3RweS5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2E2Nzg5OS4uMDAwMDAwMAotLS0gYS9naXQtcmVtb3RlLXRlc3RweS5weQorKysgL2Rldi9udWxsCkBAIC0xLDMwNSArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24KLQotIyBUaGlzIGNvbW1hbmQgaXMgYSBzaW1wbGUgcmVtb3RlLWhlbHBlciwgdGhhdCBpcyB1c2VkIGJvdGggYXMgYQotIyB0ZXN0Y2FzZSBmb3IgdGhlIHJlbW90ZS1oZWxwZXIgZnVuY3Rpb25hbGl0eSwgYW5kIGFzIGFuIGV4YW1wbGUgdG8KLSMgc2hvdyByZW1vdGUtaGVscGVyIGF1dGhvcnMgb25lIHBvc3NpYmxlIGltcGxlbWVudGF0aW9uLgotIwotIyBUaGlzIGlzIGEgR2l0IDwtPiBHaXQgaW1wb3J0ZXIvZXhwb3J0ZXIsIHRoYXQgc2ltcGx5IHVzZXMgZ2l0Ci0jIGZhc3QtaW1wb3J0IGFuZCBnaXQgZmFzdC1leHBvcnQgdG8gY29uc3VtZSBhbmQgcHJvZHVjZSBmYXN0LWltcG9ydAotIyBzdHJlYW1zLgotIwotIyBUbyB1bmRlcnN0YW5kIGJldHRlciB0aGUgd2F5IHRoaW5ncyB3b3JrLCBvbmUgY2FuIGFjdGl2YXRlIGRlYnVnCi0jIHRyYWNlcyBieSBzZXR0aW5nICh0byBhbnkgdmFsdWUpIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMKLSMgR0lUX1RSQU5TUE9SVF9IRUxQRVJfREVCVUcgYW5kIEdJVF9ERUJVR19URVNUR0lULCB0byBzZWUgbWVzc2FnZXMKLSMgZnJvbSB0aGUgdHJhbnNwb3J0LWhlbHBlciBzaWRlLCBvciBmcm9tIHRoaXMgZXhhbXBsZSByZW1vdGUtaGVscGVyLgotCi0jIGhhc2hsaWIgaXMgb25seSBhdmFpbGFibGUgaW4gcHl0aG9uID49IDIuNQotdHJ5OgotICAgIGltcG9ydCBoYXNobGliCi0gICAgX2RpZ2VzdCA9IGhhc2hsaWIuc2hhMQotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIGltcG9ydCBzaGEKLSAgICBfZGlnZXN0ID0gc2hhLm5ldwotaW1wb3J0IHN5cwotaW1wb3J0IG9zCi1pbXBvcnQgdGltZQotc3lzLnBhdGguaW5zZXJ0KDAsIG9zLmdldGVudigiR0lUUFlUSE9OTElCIiwiLiIpKQotCi1mcm9tIGdpdF9yZW1vdGVfaGVscGVycy51dGlsIGltcG9ydCBkaWUsIGRlYnVnLCB3YXJuCi1mcm9tIGdpdF9yZW1vdGVfaGVscGVycy5naXQucmVwbyBpbXBvcnQgR2l0UmVwbwotZnJvbSBnaXRfcmVtb3RlX2hlbHBlcnMuZ2l0LmV4cG9ydGVyIGltcG9ydCBHaXRFeHBvcnRlcgotZnJvbSBnaXRfcmVtb3RlX2hlbHBlcnMuZ2l0LmltcG9ydGVyIGltcG9ydCBHaXRJbXBvcnRlcgotZnJvbSBnaXRfcmVtb3RlX2hlbHBlcnMuZ2l0Lm5vbl9sb2NhbCBpbXBvcnQgTm9uTG9jYWxHaXQKLQotaWYgc3lzLmhleHZlcnNpb24gPCAweDAyMDAwMDAwOgotICAgICMgc3RyaW5nLmVuY29kZSgpIGlzIHRoZSBsaW1pdGVyCi0gICAgc3lzLnN0ZGVyci53cml0ZSgiZ2l0LXJlbW90ZS10ZXN0Z2l0OiByZXF1aXJlcyBQeXRob24gMi4wIG9yIGxhdGVyLlxuIikKLSAgICBzeXMuZXhpdCgxKQotCi0KLWRlZiBlbmNvZGVfZmlsZXBhdGgocGF0aCk6Ci0gICAgIiIiRW5jb2RlcyBhIFVuaWNvZGUgZmlsZSBwYXRoIHRvIGEgYnl0ZSBzdHJpbmcuCi0KLSAgICBPbiBQeXRob24gMiB0aGlzIGlzIGEgbm8tb3A7IG9uIFB5dGhvbiAzIHdlIGVuY29kZSB0aGUgc3RyaW5nIGFzCi0gICAgc3VnZ2VzdGVkIGJ5IFsxXSB3aGljaCBhbGxvd3MgYW4gZXhhY3Qgcm91bmQtdHJpcCBmcm9tIHRoZSBjb21tYW5kIGxpbmUKLSAgICB0byB0aGUgZmlsZXN5c3RlbS4KLQotICAgIFsxXSBodHRwOi8vZG9jcy5weXRob24ub3JnLzMvYy1hcGkvdW5pY29kZS5odG1sI2ZpbGUtc3lzdGVtLWVuY29kaW5nCi0KLSAgICAiIiIKLSAgICBpZiBzeXMuaGV4dmVyc2lvbiA8IDB4MDMwMDAwMDA6Ci0gICAgICAgIHJldHVybiBwYXRoCi0gICAgcmV0dXJuIHBhdGguZW5jb2RlKHN5cy5nZXRmaWxlc3lzdGVtZW5jb2RpbmcoKSwgJ3N1cnJvZ2F0ZWVzY2FwZScpCi0KLQotZGVmIGdldF9yZXBvKGFsaWFzLCB1cmwpOgotICAgICIiIlJldHVybnMgYSBnaXQgcmVwb3NpdG9yeSBvYmplY3QgaW5pdGlhbGl6ZWQgZm9yIHVzYWdlLgotICAgICIiIgotCi0gICAgcmVwbyA9IEdpdFJlcG8odXJsKQotICAgIHJlcG8uZ2V0X3JldnMoKQotICAgIHJlcG8uZ2V0X2hlYWQoKQotCi0gICAgaGFzaGVyID0gX2RpZ2VzdCgpCi0gICAgaGFzaGVyLnVwZGF0ZShlbmNvZGVfZmlsZXBhdGgocmVwby5wYXRoKSkKLSAgICByZXBvLmhhc2ggPSBoYXNoZXIuaGV4ZGlnZXN0KCkKLQotICAgIHJlcG8uZ2V0X2Jhc2VfcGF0aCA9IGxhbWJkYSBiYXNlOiBvcy5wYXRoLmpvaW4oCi0gICAgICAgIGJhc2UsICdpbmZvJywgJ2Zhc3QtaW1wb3J0JywgcmVwby5oYXNoKQotCi0gICAgcHJlZml4ID0gJ3JlZnMvdGVzdGdpdC8lcy8nICUgYWxpYXMKLSAgICBkZWJ1ZygicHJlZml4OiAnJXMnIiwgcHJlZml4KQotCi0gICAgcmVwby5naXRkaXIgPSBvcy5lbnZpcm9uWyJHSVRfRElSIl0KLSAgICByZXBvLmFsaWFzID0gYWxpYXMKLSAgICByZXBvLnByZWZpeCA9IHByZWZpeAotCi0gICAgcmVwby5leHBvcnRlciA9IEdpdEV4cG9ydGVyKHJlcG8pCi0gICAgcmVwby5pbXBvcnRlciA9IEdpdEltcG9ydGVyKHJlcG8pCi0gICAgcmVwby5ub25fbG9jYWwgPSBOb25Mb2NhbEdpdChyZXBvKQotCi0gICAgcmV0dXJuIHJlcG8KLQotCi1kZWYgbG9jYWxfcmVwbyhyZXBvLCBwYXRoKToKLSAgICAiIiJSZXR1cm5zIGEgZ2l0IHJlcG9zaXRvcnkgb2JqZWN0IGluaXRhbGl6ZWQgZm9yIHVzYWdlLgotICAgICIiIgotCi0gICAgbG9jYWwgPSBHaXRSZXBvKHBhdGgpCi0KLSAgICBsb2NhbC5ub25fbG9jYWwgPSBOb25lCi0gICAgbG9jYWwuZ2l0ZGlyID0gcmVwby5naXRkaXIKLSAgICBsb2NhbC5hbGlhcyA9IHJlcG8uYWxpYXMKLSAgICBsb2NhbC5wcmVmaXggPSByZXBvLnByZWZpeAotICAgIGxvY2FsLmhhc2ggPSByZXBvLmhhc2gKLSAgICBsb2NhbC5nZXRfYmFzZV9wYXRoID0gcmVwby5nZXRfYmFzZV9wYXRoCi0gICAgbG9jYWwuZXhwb3J0ZXIgPSBHaXRFeHBvcnRlcihsb2NhbCkKLSAgICBsb2NhbC5pbXBvcnRlciA9IEdpdEltcG9ydGVyKGxvY2FsKQotCi0gICAgcmV0dXJuIGxvY2FsCi0KLQotZGVmIGRvX2NhcGFiaWxpdGllcyhyZXBvLCBhcmdzKToKLSAgICAiIiJQcmludHMgdGhlIHN1cHBvcnRlZCBjYXBhYmlsaXRpZXMuCi0gICAgIiIiCi0KLSAgICBwcmludCgiaW1wb3J0IikKLSAgICBwcmludCgiZXhwb3J0IikKLSAgICBwcmludCgicmVmc3BlYyByZWZzL2hlYWRzLyo6JXMqIiAlIHJlcG8ucHJlZml4KQotCi0gICAgZGlybmFtZSA9IHJlcG8uZ2V0X2Jhc2VfcGF0aChyZXBvLmdpdGRpcikKLQotICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhkaXJuYW1lKToKLSAgICAgICAgb3MubWFrZWRpcnMoZGlybmFtZSkKLQotICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oZGlybmFtZSwgJ2dpdC5tYXJrcycpCi0KLSAgICBwcmludCgiKmV4cG9ydC1tYXJrcyAlcyIgJSBwYXRoKQotICAgIGlmIG9zLnBhdGguZXhpc3RzKHBhdGgpOgotICAgICAgICBwcmludCgiKmltcG9ydC1tYXJrcyAlcyIgJSBwYXRoKQotCi0gICAgcHJpbnQoJycpICMgZW5kIGNhcGFiaWxpdGllcwotCi0KLWRlZiBkb19saXN0KHJlcG8sIGFyZ3MpOgotICAgICIiIkxpc3RzIGFsbCBrbm93biByZWZlcmVuY2VzLgotCi0gICAgQnVnOiBUaGlzIHdpbGwgYWx3YXlzIHNldCB0aGUgcmVtb3RlIGhlYWQgdG8gbWFzdGVyIGZvciBub24tbG9jYWwKLSAgICByZXBvc2l0b3JpZXMsIHNpbmNlIHdlIGhhdmUgbm8gd2F5IG9mIGRldGVybWluaW5nIHdoYXQgdGhlIHJlbW90ZQotICAgIGhlYWQgaXMgYXQgY2xvbmUgdGltZS4KLSAgICAiIiIKLQotICAgIGZvciByZWYgaW4gcmVwby5yZXZzOgotICAgICAgICBkZWJ1ZygiPyByZWZzL2hlYWRzLyVzIiwgcmVmKQotICAgICAgICBwcmludCgiPyByZWZzL2hlYWRzLyVzIiAlIHJlZikKLQotICAgIGlmIHJlcG8uaGVhZDoKLSAgICAgICAgZGVidWcoIkByZWZzL2hlYWRzLyVzIEhFQUQiICUgcmVwby5oZWFkKQotICAgICAgICBwcmludCgiQHJlZnMvaGVhZHMvJXMgSEVBRCIgJSByZXBvLmhlYWQpCi0gICAgZWxzZToKLSAgICAgICAgZGVidWcoIkByZWZzL2hlYWRzL21hc3RlciBIRUFEIikKLSAgICAgICAgcHJpbnQoIkByZWZzL2hlYWRzL21hc3RlciBIRUFEIikKLQotICAgIHByaW50KCcnKSAjIGVuZCBsaXN0Ci0KLQotZGVmIHVwZGF0ZV9sb2NhbF9yZXBvKHJlcG8pOgotICAgICIiIlVwZGF0ZXMgKG9yIGNsb25lcykgYSBsb2NhbCByZXBvLgotICAgICIiIgotCi0gICAgaWYgcmVwby5sb2NhbDoKLSAgICAgICAgcmV0dXJuIHJlcG8KLQotICAgIHBhdGggPSByZXBvLm5vbl9sb2NhbC5jbG9uZShyZXBvLmdpdGRpcikKLSAgICByZXBvLm5vbl9sb2NhbC51cGRhdGUocmVwby5naXRkaXIpCi0gICAgcmVwbyA9IGxvY2FsX3JlcG8ocmVwbywgcGF0aCkKLSAgICByZXR1cm4gcmVwbwotCi0KLWRlZiBkb19pbXBvcnQocmVwbywgYXJncyk6Ci0gICAgIiIiRXhwb3J0cyBhIGZhc3QtaW1wb3J0IHN0cmVhbSBmcm9tIHRlc3RnaXQgZm9yIGdpdCB0byBpbXBvcnQuCi0gICAgIiIiCi0KLSAgICBpZiBsZW4oYXJncykgIT0gMToKLSAgICAgICAgZGllKCJJbXBvcnQgbmVlZHMgZXhhY3RseSBvbmUgcmVmIikKLQotICAgIGlmIG5vdCByZXBvLmdpdGRpcjoKLSAgICAgICAgZGllKCJOZWVkIGdpdGRpciB0byBpbXBvcnQiKQotCi0gICAgcmVmID0gYXJnc1swXQotICAgIHJlZnMgPSBbcmVmXQotCi0gICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgbGluZSA9IHN5cy5zdGRpbi5yZWFkbGluZSgpLmRlY29kZSgpCi0gICAgICAgIGlmIGxpbmUgPT0gJ1xuJzoKLSAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIGlmIG5vdCBsaW5lLnN0YXJ0c3dpdGgoJ2ltcG9ydCAnKToKLSAgICAgICAgICAgIGRpZSgiRXhwZWN0ZWQgaW1wb3J0IGxpbmUuIikKLQotICAgICAgICAjIHN0cmlwIG9mIGxlYWRpbmcgJ2ltcG9ydCAnCi0gICAgICAgIHJlZiA9IGxpbmVbNzpdLnN0cmlwKCkKLSAgICAgICAgcmVmcy5hcHBlbmQocmVmKQotCi0gICAgcHJpbnQoImZlYXR1cmUgZG9uZSIpCi0KLSAgICBpZiBvcy5lbnZpcm9uLmdldCgiR0lUX1JFTU9URV9URVNUR0lUX0ZBSUxVUkUiKToKLSAgICAgICAgZGllKCdUb2xkIHRvIGZhaWwnKQotCi0gICAgcmVwbyA9IHVwZGF0ZV9sb2NhbF9yZXBvKHJlcG8pCi0gICAgcmVwby5leHBvcnRlci5leHBvcnRfcmVwbyhyZXBvLmdpdGRpciwgcmVmcykKLQotICAgIHByaW50KCJkb25lIikKLQotCi1kZWYgZG9fZXhwb3J0KHJlcG8sIGFyZ3MpOgotICAgICIiIkltcG9ydHMgYSBmYXN0LWltcG9ydCBzdHJlYW0gZnJvbSBnaXQgdG8gdGVzdGdpdC4KLSAgICAiIiIKLQotICAgIGlmIG5vdCByZXBvLmdpdGRpcjoKLSAgICAgICAgZGllKCJOZWVkIGdpdGRpciB0byBleHBvcnQiKQotCi0gICAgaWYgb3MuZW52aXJvbi5nZXQoIkdJVF9SRU1PVEVfVEVTVEdJVF9GQUlMVVJFIik6Ci0gICAgICAgIGRpZSgnVG9sZCB0byBmYWlsJykKLQotICAgIHVwZGF0ZV9sb2NhbF9yZXBvKHJlcG8pCi0gICAgY2hhbmdlZCA9IHJlcG8uaW1wb3J0ZXIuZG9faW1wb3J0KHJlcG8uZ2l0ZGlyKQotCi0gICAgaWYgbm90IHJlcG8ubG9jYWw6Ci0gICAgICAgIHJlcG8ubm9uX2xvY2FsLnB1c2gocmVwby5naXRkaXIpCi0KLSAgICBmb3IgcmVmIGluIGNoYW5nZWQ6Ci0gICAgICAgIHByaW50KCJvayAlcyIgJSByZWYpCi0gICAgcHJpbnQoJycpCi0KLQotQ09NTUFORFMgPSB7Ci0gICAgJ2NhcGFiaWxpdGllcyc6IGRvX2NhcGFiaWxpdGllcywKLSAgICAnbGlzdCc6IGRvX2xpc3QsCi0gICAgJ2ltcG9ydCc6IGRvX2ltcG9ydCwKLSAgICAnZXhwb3J0JzogZG9fZXhwb3J0LAotfQotCi0KLWRlZiBzYW5pdGl6ZSh2YWx1ZSk6Ci0gICAgIiIiQ2xlYW5zIHVwIHRoZSB1cmwuCi0gICAgIiIiCi0KLSAgICBpZiB2YWx1ZS5zdGFydHN3aXRoKCd0ZXN0Z2l0OjonKToKLSAgICAgICAgdmFsdWUgPSB2YWx1ZVs5Ol0KLQotICAgIHJldHVybiB2YWx1ZQotCi0KLWRlZiByZWFkX29uZV9saW5lKHJlcG8pOgotICAgICIiIlJlYWRzIGFuZCBwcm9jZXNzZXMgb25lIGNvbW1hbmQuCi0gICAgIiIiCi0KLSAgICBzbGVlcHkgPSBvcy5lbnZpcm9uLmdldCgiR0lUX1JFTU9URV9URVNUR0lUX1NMRUVQWSIpCi0gICAgaWYgc2xlZXB5OgotICAgICAgICBkZWJ1ZygiU2xlZXBpbmcgJWQgc2VjIGJlZm9yZSByZWFkbGluZSIgJSBpbnQoc2xlZXB5KSkKLSAgICAgICAgdGltZS5zbGVlcChpbnQoc2xlZXB5KSkKLQotICAgIGxpbmUgPSBzeXMuc3RkaW4ucmVhZGxpbmUoKQotCi0gICAgY21kbGluZSA9IGxpbmUuZGVjb2RlKCkKLQotICAgIGlmIG5vdCBjbWRsaW5lOgotICAgICAgICB3YXJuKCJVbmV4cGVjdGVkIEVPRiIpCi0gICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgY21kbGluZSA9IGNtZGxpbmUuc3RyaXAoKS5zcGxpdCgpCi0gICAgaWYgbm90IGNtZGxpbmU6Ci0gICAgICAgICMgQmxhbmsgbGluZSBtZWFucyB3ZSdyZSBhYm91dCB0byBxdWl0Ci0gICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgY21kID0gY21kbGluZS5wb3AoMCkKLSAgICBkZWJ1ZygiR290IGNvbW1hbmQgJyVzJyB3aXRoIGFyZ3MgJyVzJyIsIGNtZCwgJyAnLmpvaW4oY21kbGluZSkpCi0KLSAgICBpZiBjbWQgbm90IGluIENPTU1BTkRTOgotICAgICAgICBkaWUoIlVua25vd24gY29tbWFuZCwgJXMiLCBjbWQpCi0KLSAgICBmdW5jID0gQ09NTUFORFNbY21kXQotICAgIGZ1bmMocmVwbywgY21kbGluZSkKLSAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKLQotICAgIHJldHVybiBUcnVlCi0KLQotZGVmIG1haW4oYXJncyk6Ci0gICAgIiIiU3RhcnRzIGEgbmV3IHJlbW90ZSBoZWxwZXIgZm9yIHRoZSBzcGVjaWZpZWQgcmVwb3NpdG9yeS4KLSAgICAiIiIKLQotICAgIGlmIGxlbihhcmdzKSAhPSAzOgotICAgICAgICBkaWUoIkV4cGVjdGluZyBleGFjdGx5IHRocmVlIGFyZ3VtZW50cy4iKQotICAgICAgICBzeXMuZXhpdCgxKQotCi0gICAgaWYgb3MuZ2V0ZW52KCJHSVRfREVCVUdfVEVTVEdJVCIpOgotICAgICAgICBpbXBvcnQgZ2l0X3JlbW90ZV9oZWxwZXJzLnV0aWwKLSAgICAgICAgZ2l0X3JlbW90ZV9oZWxwZXJzLnV0aWwuREVCVUcgPSBUcnVlCi0KLSAgICBhbGlhcyA9IHNhbml0aXplKGFyZ3NbMV0pCi0gICAgdXJsID0gc2FuaXRpemUoYXJnc1syXSkKLQotICAgIGlmIG5vdCBhbGlhcy5pc2FsbnVtKCk6Ci0gICAgICAgIHdhcm4oIm5vbi1hbG51bSBhbGlhcyAnJXMnIiwgYWxpYXMpCi0gICAgICAgIGFsaWFzID0gInRtcCIKLQotICAgIGFyZ3NbMV0gPSBhbGlhcwotICAgIGFyZ3NbMl0gPSB1cmwKLQotICAgIHJlcG8gPSBnZXRfcmVwbyhhbGlhcywgdXJsKQotCi0gICAgZGVidWcoIkdvdCBhcmd1bWVudHMgJXMiLCBhcmdzWzE6XSkKLQotICAgIG1vcmUgPSBUcnVlCi0KLSAgICAjIFVzZSBiaW5hcnkgbW9kZSBzaW5jZSBQeXRob24gMyBkb2VzIG5vdCBwZXJtaXQgdW5idWZmZXJlZCBJL08gaW4gdGV4dAotICAgICMgbW9kZS4gIFVuYnVmZmVyZWQgSS9PIGlzIHJlcXVpcmVkIHRvIGF2b2lkIGRhdGEgdGhhdCBzaG91bGQgYmUgZ29pbmcKLSAgICAjIHRvIGdpdC1mYXN0LWltcG9ydCBhZnRlciBhbiAiZXhwb3J0IiBjb21tYW5kIGdldHRpbmcgY2F1Z2h0IGluIG91cgotICAgICMgc3RkaW4gYnVmZmVyIGluc3RlYWQuCi0gICAgc3lzLnN0ZGluID0gb3MuZmRvcGVuKHN5cy5zdGRpbi5maWxlbm8oKSwgJ3JiJywgMCkKLSAgICB3aGlsZSAobW9yZSk6Ci0gICAgICAgIG1vcmUgPSByZWFkX29uZV9saW5lKHJlcG8pCi0KLWlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gICAgc3lzLmV4aXQobWFpbihzeXMuYXJndikpCmRpZmYgLS1naXQgYS9naXQtc2gtc2V0dXAuc2ggYi9naXQtc2gtc2V0dXAuc2gKaW5kZXggZTE1YmU1MS4uZWJmZThmNyAxMDA2NDQKLS0tIGEvZ2l0LXNoLXNldHVwLnNoCisrKyBiL2dpdC1zaC1zZXR1cC5zaApAQCAtMTAzLDYgKzEwMyw0MCBAQAogCWVzYWMKIGZpCiAKKyMgU2V0IHRoZSBuYW1lIG9mIHRoZSBlbmQtdXNlciBmYWNpbmcgY29tbWFuZCBpbiB0aGUgcmVmbG9nIHdoZW4gdGhlCisjIHNjcmlwdCBtYXkgdXBkYXRlIHJlZnMuICBXaGVuIEdJVF9SRUZMT0dfQUNUSU9OIGlzIGFscmVhZHkgc2V0LCB0aGlzCisjIHdpbGwgbm90IG92ZXJ3cml0ZSBpdCwgc28gdGhhdCBhIHNjcmlwdGVkIFBvcmNlbGFpbiAoZS5nLiAiZ2l0CisjIHJlYmFzZSIpIGNhbiBzZXQgaXQgdG8gaXRzIG93biBuYW1lIChlLmcuICJyZWJhc2UiKSBhbmQgdGhlbiBjYWxsCisjIGFub3RoZXIgc2NyaXB0ZWQgUG9yY2VsYWluIChlLmcuICJnaXQgYW0iKSBhbmQgYSBjYWxsIHRvIHRoaXMKKyMgZnVuY3Rpb24gaW4gdGhlIGxhdHRlciB3aWxsIGtlZXAgdGhlIG5hbWUgb2YgdGhlIGVuZC11c2VyIGZhY2luZworIyBwcm9ncmFtIChlLmcuICJyZWJhc2UiKSBpbiBHSVRfUkVGTE9HX0FDVElPTiwgZW5zdXJpbmcgd2hhdGV2ZXIgaXQKKyMgZG9lcyB3aWxsIGJlIHJlY29yZCBhcyBhY3Rpb25zIGRvbmUgYXMgcGFydCBvZiB0aGUgZW5kLXVzZXIgZmFjaW5nCisjIG9wZXJhdGlvbiAoZS5nLiAicmViYXNlIikuCisjCisjIE5PVEUgTk9URSBOT1RFOiBjb25zZXF1ZW50bHksIGFmdGVyIGFzc2lnbmluZyBhIHNwZWNpZmljIG1lc3NhZ2UgdG8KKyMgR0lUX1JFRkxPR19BQ1RJT04gd2hlbiBjYWxsaW5nIGEgImdpdCIgY29tbWFuZCB0byByZWNvcmQgYSBjdXN0b20KKyMgcmVmbG9nIG1lc3NhZ2UsIGRvIG5vdCBsZWF2ZSB0aGF0IGN1c3RvbSB2YWx1ZSBpbiBHSVRfUkVGTE9HX0FDVElPTiwKKyMgYWZ0ZXIgeW91IGFyZSBkb25lLiAgT3RoZXIgY2FsbGVycyBvZiAiZ2l0IiBjb21tYW5kcyB0aGF0IHJlbHkgb24KKyMgd3JpdGluZyB0aGUgZGVmYXVsdCAicHJvZ3JhbSBuYW1lIiBpbiByZWZsb2cgZXhwZWN0IHRoZSB2YXJpYWJsZSB0bworIyBjb250YWluIHRoZSB2YWx1ZSBzZXQgYnkgdGhpcyBmdW5jdGlvbi4KKyMKKyMgVG8gdXNlIGEgY3VzdG9tIHJlZmxvZyBtZXNzYWdlLCBkbyBlaXRoZXIgb25lIG9mIHRoZXNlIHRocmVlOgorIworIyAoYSkgdXNlIGEgc2luZ2xlLXNob3QgZXhwb3J0IGZvcm06CisjICAgICBHSVRfUkVGTE9HX0FDVElPTj0iJEdJVF9SRUZMT0dfQUNUSU9OOiBwcmVwYXJpbmcgZnJvdHoiIFwKKyMgICAgICAgICBnaXQgY29tbWFuZC10aGF0LXVwZGF0ZXMtYS1yZWYKKyMKKyMgKGIpIHNhdmUgdGhlIG9yaWdpbmFsIGF3YXkgYW5kIHJlc3RvcmU6CisjICAgICBTQVZFRF9BQ1RJT049JEdJVF9SRUZMT0dfQUNUSU9OCisjICAgICBHSVRfUkVGTE9HX0FDVElPTj0iJEdJVF9SRUZMT0dfQUNUSU9OOiBwcmVwYXJpbmcgZnJvdHoiCisjICAgICBnaXQgY29tbWFuZC10aGF0LXVwZGF0ZXMtYS1yZWYKKyMgICAgIEdJVF9SRUZMT0dfQUNJVE9OPSRTQVZFRF9BQ1RJT04KKyMKKyMgKGMpIGFzc2lnbiB0aGUgdmFyaWFibGUgaW4gYSBzdWJzaGVsbDoKKyMgICAgICgKKyMgICAgICAgICBHSVRfUkVGTE9HX0FDVElPTj0iJEdJVF9SRUZMT0dfQUNUSU9OOiBwcmVwYXJpbmcgZnJvdHoiCisjICAgICAgICAgZ2l0IGNvbW1hbmQtdGhhdC11cGRhdGVzLWEtcmVmCisjICAgICApCiBzZXRfcmVmbG9nX2FjdGlvbigpIHsKIAlpZiBbIC16ICIke0dJVF9SRUZMT0dfQUNUSU9OOitzZXR9IiBdCiAJdGhlbgpkaWZmIC0tZ2l0IGEvZ2l0LXN1Ym1vZHVsZS5zaCBiL2dpdC1zdWJtb2R1bGUuc2gKaW5kZXggODM5MTdkOC4uNjZmNWY3NSAxMDA3NTUKLS0tIGEvZ2l0LXN1Ym1vZHVsZS5zaAorKysgYi9naXQtc3VibW9kdWxlLnNoCkBAIC0xMDQyLDEzICsxMDQyLDIwIEBACiAJIyBHZXQgbW9kaWZpZWQgbW9kdWxlcyBjYXJlZCBieSB1c2VyCiAJbW9kdWxlcz0kKGdpdCAkZGlmZl9jbWQgJGNhY2hlZCAtLWlnbm9yZS1zdWJtb2R1bGVzPWRpcnR5IC0tcmF3ICRoZWFkIC0tICIkQCIgfAogCQlzYW5lX2VncmVwICdeOihbMC03XSogKT8xNjAwMDAnIHwKLQkJd2hpbGUgcmVhZCBtb2Rfc3JjIG1vZF9kc3Qgc2hhMV9zcmMgc2hhMV9kc3Qgc3RhdHVzIG5hbWUKKwkJd2hpbGUgcmVhZCBtb2Rfc3JjIG1vZF9kc3Qgc2hhMV9zcmMgc2hhMV9kc3Qgc3RhdHVzIHNtX3BhdGgKIAkJZG8KIAkJCSMgQWx3YXlzIHNob3cgbW9kdWxlcyBkZWxldGVkIG9yIHR5cGUtY2hhbmdlZCAoYmxvYjwtPm1vZHVsZSkKLQkJCXRlc3QgJHN0YXR1cyA9IEQgLW8gJHN0YXR1cyA9IFQgJiYgZWNobyAiJG5hbWUiICYmIGNvbnRpbnVlCisJCQl0ZXN0ICRzdGF0dXMgPSBEIC1vICRzdGF0dXMgPSBUICYmIGVjaG8gIiRzbV9wYXRoIiAmJiBjb250aW51ZQorCQkJIyBSZXNwZWN0IHRoZSBpZ25vcmUgc2V0dGluZyBmb3IgLS1mb3Itc3RhdHVzLgorCQkJaWYgdGVzdCAtbiAiJGZvcl9zdGF0dXMiCisJCQl0aGVuCisJCQkJbmFtZT0kKG1vZHVsZV9uYW1lICIkc21fcGF0aCIpCisJCQkJaWdub3JlX2NvbmZpZz0kKGdldF9zdWJtb2R1bGVfY29uZmlnICIkbmFtZSIgaWdub3JlIG5vbmUpCisJCQkJdGVzdCAkc3RhdHVzICE9IEEgLWEgJGlnbm9yZV9jb25maWcgPSBhbGwgJiYgY29udGludWUKKwkJCWZpCiAJCQkjIEFsc28gc2hvdyBhZGRlZCBvciBtb2RpZmllZCBtb2R1bGVzIHdoaWNoIGFyZSBjaGVja2VkIG91dAotCQkJR0lUX0RJUj0iJG5hbWUvLmdpdCIgZ2l0LXJldi1wYXJzZSAtLWdpdC1kaXIgPi9kZXYvbnVsbCAyPiYxICYmCi0JCQllY2hvICIkbmFtZSIKKwkJCUdJVF9ESVI9IiRzbV9wYXRoLy5naXQiIGdpdC1yZXYtcGFyc2UgLS1naXQtZGlyID4vZGV2L251bGwgMj4mMSAmJgorCQkJZWNobyAiJHNtX3BhdGgiCiAJCWRvbmUKIAkpCiAKQEAgLTExNTksMTggKzExNjYsNyBAQAogCQkJZWNobwogCQlmaQogCQllY2hvCi0JZG9uZSB8Ci0JaWYgdGVzdCAtbiAiJGZvcl9zdGF0dXMiOyB0aGVuCi0JCWlmIFsgLW4gIiRmaWxlcyIgXTsgdGhlbgotCQkJZ2V0dGV4dGxuICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIgfCBnaXQgc3RyaXBzcGFjZSAtYwotCQllbHNlCi0JCQlnZXR0ZXh0bG4gIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiIHwgZ2l0IHN0cmlwc3BhY2UgLWMKLQkJZmkKLQkJcHJpbnRmICJcbiIgfCBnaXQgc3RyaXBzcGFjZSAtYwotCQlnaXQgc3RyaXBzcGFjZSAtYwotCWVsc2UKLQkJY2F0Ci0JZmkKKwlkb25lCiB9CiAjCiAjIExpc3QgYWxsIHN1Ym1vZHVsZXMsIHByZWZpeGVkIHdpdGg6CmRpZmYgLS1naXQgYS9naXQtc3ZuLnBlcmwgYi9naXQtc3ZuLnBlcmwKaW5kZXggZmYxY2UzZC4uNzM0OWZmZSAxMDA3NTUKLS0tIGEvZ2l0LXN2bi5wZXJsCisrKyBiL2dpdC1zdm4ucGVybApAQCAtMTM4OSw3ICsxMzg5LDE3IEBACiAJCXVzYWdlKDEpOwogCX0KIAotCSRfcHJlZml4ID0gJycgdW5sZXNzIGRlZmluZWQgJF9wcmVmaXg7CisJdW5sZXNzIChkZWZpbmVkICRfcHJlZml4KSB7CisJCSRfcHJlZml4ID0gJyc7CisJCXdhcm4gPDxFT0YKK1dBUk5JTkc6IC0tcHJlZml4IGlzIG5vdCBnaXZlbiwgZGVmYXVsdGluZyB0byBlbXB0eSBwcmVmaXguCisgICAgICAgICBUaGlzIGlzIHByb2JhYmx5IG5vdCB3aGF0IHlvdSB3YW50ISBJbiBvcmRlciB0byBzdGF5IGNvbXBhdGlibGUKKyAgICAgICAgIHdpdGggcmVndWxhciByZW1vdGUtdHJhY2tpbmcgcmVmcywgcHJvdmlkZSBhIHByZWZpeCBsaWtlCisgICAgICAgICAtLXByZWZpeD1vcmlnaW4vIChyZW1lbWJlciB0aGUgdHJhaWxpbmcgc2xhc2gpLCB3aGljaCB3aWxsIGNhdXNlCisgICAgICAgICB0aGUgU1ZOLXRyYWNraW5nIHJlZnMgdG8gYmUgcGxhY2VkIGF0IHJlZnMvcmVtb3Rlcy9vcmlnaW4vKi4KK05PVEU6IEluIEdpdCB2Mi4wLCB0aGUgZGVmYXVsdCBwcmVmaXggd2lsbCBjaGFuZ2UgZnJvbSBlbXB0eSB0byAnb3JpZ2luLycuCitFT0YKKwl9CiAJaWYgKGRlZmluZWQgJHVybCkgewogCQkkdXJsID0gY2Fub25pY2FsaXplX3VybCgkdXJsKTsKIAkJaW5pdF9zdWJkaXIoQF8pOwpAQCAtMTc1OSw3ICsxNzY5LDcgQEAKIAkJbXkgJG1zZ2J1ZiA9ICIiOwogCQl3aGlsZSAoPCRtc2dfZmg+KSB7CiAJCQlpZiAoISRpbl9tc2cpIHsKLQkJCQkkaW5fbXNnID0gMSBpZiAoL15ccyokLyk7CisJCQkJJGluX21zZyA9IDEgaWYgKC9eJC8pOwogCQkJCSRhdXRob3IgPSAkMSBpZiAoL15hdXRob3IgKC4qPikvKTsKIAkJCX0gZWxzaWYgKC9eZ2l0LXN2bi1pZDogLykgewogCQkJCSMgc2tpcCB0aGlzIGZvciBub3csIHdlIHJlZ2VuZXJhdGUgdGhlCmRpZmYgLS1naXQgYS9naXQtd2ViLS1icm93c2Uuc2ggYi9naXQtd2ViLS1icm93c2Uuc2gKaW5kZXggMWQ3MmVjNy4uZWJkZmJhNiAxMDA3NTUKLS0tIGEvZ2l0LXdlYi0tYnJvd3NlLnNoCisrKyBiL2dpdC13ZWItLWJyb3dzZS5zaApAQCAtMzQsNyArMzQsNyBAQAogCWZpcmVmb3ggfCBpY2V3ZWFzZWwgfCBzZWFtb25rZXkgfCBpY2VhcGUgfCBcCiAJY2hyb21lIHwgZ29vZ2xlLWNocm9tZSB8IGNocm9taXVtIHwgY2hyb21pdW0tYnJvd3NlciB8IFwKIAlrb25xdWVyb3IgfCBvcGVyYSB8IHczbSB8IGVsaW5rcyB8IGxpbmtzIHwgbHlueCB8IGRpbGxvIHwgb3BlbiB8IFwKLQlzdGFydCB8IGN5Z3N0YXJ0KQorCXN0YXJ0IHwgY3lnc3RhcnQgfCB4ZGctb3BlbikKIAkJOzsgIyBoYXBweQogCSopCiAJCXZhbGlkX2N1c3RvbV90b29sICIkMSIgfHwgcmV0dXJuIDEKQEAgLTExMiw3ICsxMTIsNyBAQAogCiBpZiB0ZXN0IC16ICIkYnJvd3NlciIgOyB0aGVuCiAJaWYgdGVzdCAtbiAiJERJU1BMQVkiOyB0aGVuCi0JCWJyb3dzZXJfY2FuZGlkYXRlcz0iZmlyZWZveCBpY2V3ZWFzZWwgZ29vZ2xlLWNocm9tZSBjaHJvbWUgY2hyb21pdW0gY2hyb21pdW0tYnJvd3NlciBrb25xdWVyb3Igb3BlcmEgc2VhbW9ua2V5IGljZWFwZSB3M20gZWxpbmtzIGxpbmtzIGx5bnggZGlsbG8iCisJCWJyb3dzZXJfY2FuZGlkYXRlcz0iZmlyZWZveCBpY2V3ZWFzZWwgZ29vZ2xlLWNocm9tZSBjaHJvbWUgY2hyb21pdW0gY2hyb21pdW0tYnJvd3NlciBrb25xdWVyb3Igb3BlcmEgc2VhbW9ua2V5IGljZWFwZSB3M20gZWxpbmtzIGxpbmtzIGx5bnggZGlsbG8geGRnLW9wZW4iCiAJCWlmIHRlc3QgIiRLREVfRlVMTF9TRVNTSU9OIiA9ICJ0cnVlIjsgdGhlbgogCQkJYnJvd3Nlcl9jYW5kaWRhdGVzPSJrb25xdWVyb3IgJGJyb3dzZXJfY2FuZGlkYXRlcyIKIAkJZmkKQEAgLTE3OSw3ICsxNzksNyBAQAogCQk7OwogCWVzYWMKIAk7OwotdzNtfGVsaW5rc3xsaW5rc3xseW54fG9wZW58Y3lnc3RhcnQpCit3M218ZWxpbmtzfGxpbmtzfGx5bnh8b3BlbnxjeWdzdGFydHx4ZGctb3BlbikKIAkiJGJyb3dzZXJfcGF0aCIgIiRAIgogCTs7CiBzdGFydCkKZGlmZiAtLWdpdCBhL2dpdC5jIGIvZ2l0LmMKaW5kZXggMjAyNWY3Ny4uY2I1MjA4ZCAxMDA2NDQKLS0tIGEvZ2l0LmMKKysrIGIvZ2l0LmMKQEAgLTcsNyArNyw3IEBACiAjaW5jbHVkZSAiY29tbWl0LmgiCiAKIGNvbnN0IGNoYXIgZ2l0X3VzYWdlX3N0cmluZ1tdID0KLQkiZ2l0IFstLXZlcnNpb25dIFstLWhlbHBdIFstYyBuYW1lPXZhbHVlXVxuIgorCSJnaXQgWy0tdmVyc2lvbl0gWy0taGVscF0gWy1DIDxwYXRoPl0gWy1jIG5hbWU9dmFsdWVdXG4iCiAJIiAgICAgICAgICAgWy0tZXhlYy1wYXRoWz08cGF0aD5dXSBbLS1odG1sLXBhdGhdIFstLW1hbi1wYXRoXSBbLS1pbmZvLXBhdGhdXG4iCiAJIiAgICAgICAgICAgWy1wfC0tcGFnaW5hdGV8LS1uby1wYWdlcl0gWy0tbm8tcmVwbGFjZS1vYmplY3RzXSBbLS1iYXJlXVxuIgogCSIgICAgICAgICAgIFstLWdpdC1kaXI9PHBhdGg+XSBbLS13b3JrLXRyZWU9PHBhdGg+XSBbLS1uYW1lc3BhY2U9PG5hbWU+XVxuIgpAQCAtMTQ3LDEyICsxNDcsMzUgQEAKIAkJCXNldGVudihHSVRfTElURVJBTF9QQVRIU1BFQ1NfRU5WSVJPTk1FTlQsICIwIiwgMSk7CiAJCQlpZiAoZW52Y2hhbmdlZCkKIAkJCQkqZW52Y2hhbmdlZCA9IDE7CisJCX0gZWxzZSBpZiAoIXN0cmNtcChjbWQsICItLWdsb2ItcGF0aHNwZWNzIikpIHsKKwkJCXNldGVudihHSVRfR0xPQl9QQVRIU1BFQ1NfRU5WSVJPTk1FTlQsICIxIiwgMSk7CisJCQlpZiAoZW52Y2hhbmdlZCkKKwkJCQkqZW52Y2hhbmdlZCA9IDE7CisJCX0gZWxzZSBpZiAoIXN0cmNtcChjbWQsICItLW5vZ2xvYi1wYXRoc3BlY3MiKSkgeworCQkJc2V0ZW52KEdJVF9OT0dMT0JfUEFUSFNQRUNTX0VOVklST05NRU5ULCAiMSIsIDEpOworCQkJaWYgKGVudmNoYW5nZWQpCisJCQkJKmVudmNoYW5nZWQgPSAxOworCQl9IGVsc2UgaWYgKCFzdHJjbXAoY21kLCAiLS1pY2FzZS1wYXRoc3BlY3MiKSkgeworCQkJc2V0ZW52KEdJVF9JQ0FTRV9QQVRIU1BFQ1NfRU5WSVJPTk1FTlQsICIxIiwgMSk7CisJCQlpZiAoZW52Y2hhbmdlZCkKKwkJCQkqZW52Y2hhbmdlZCA9IDE7CiAJCX0gZWxzZSBpZiAoIXN0cmNtcChjbWQsICItLXNoYWxsb3ctZmlsZSIpKSB7CiAJCQkoKmFyZ3YpKys7CiAJCQkoKmFyZ2MpLS07CiAJCQlzZXRfYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZSgoKmFyZ3YpWzBdKTsKIAkJCWlmIChlbnZjaGFuZ2VkKQogCQkJCSplbnZjaGFuZ2VkID0gMTsKKwkJfSBlbHNlIGlmICghc3RyY21wKGNtZCwgIi1DIikpIHsKKwkJCWlmICgqYXJnYyA8IDIpIHsKKwkJCQlmcHJpbnRmKHN0ZGVyciwgIk5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLUMuXG4iICk7CisJCQkJdXNhZ2UoZ2l0X3VzYWdlX3N0cmluZyk7CisJCQl9CisJCQlpZiAoY2hkaXIoKCphcmd2KVsxXSkpCisJCQkJZGllX2Vycm5vKCJDYW5ub3QgY2hhbmdlIHRvICclcyciLCAoKmFyZ3YpWzFdKTsKKwkJCWlmIChlbnZjaGFuZ2VkKQorCQkJCSplbnZjaGFuZ2VkID0gMTsKKwkJCSgqYXJndikrKzsKKwkJCSgqYXJnYyktLTsKIAkJfSBlbHNlIHsKIAkJCWZwcmludGYoc3RkZXJyLCAiVW5rbm93biBvcHRpb246ICVzXG4iLCBjbWQpOwogCQkJdXNhZ2UoZ2l0X3VzYWdlX3N0cmluZyk7CkBAIC0zOTYsNiArNDE5LDcgQEAKIAkJeyAicmVtb3RlIiwgY21kX3JlbW90ZSwgUlVOX1NFVFVQIH0sCiAJCXsgInJlbW90ZS1leHQiLCBjbWRfcmVtb3RlX2V4dCB9LAogCQl7ICJyZW1vdGUtZmQiLCBjbWRfcmVtb3RlX2ZkIH0sCisJCXsgInJlcGFjayIsIGNtZF9yZXBhY2ssIFJVTl9TRVRVUCB9LAogCQl7ICJyZXBsYWNlIiwgY21kX3JlcGxhY2UsIFJVTl9TRVRVUCB9LAogCQl7ICJyZXBvLWNvbmZpZyIsIGNtZF9yZXBvX2NvbmZpZywgUlVOX1NFVFVQX0dFTlRMWSB9LAogCQl7ICJyZXJlcmUiLCBjbWRfcmVyZXJlLCBSVU5fU0VUVVAgfSwKZGlmZiAtLWdpdCBhL2dpdF9yZW1vdGVfaGVscGVycy8uZ2l0aWdub3JlIGIvZ2l0X3JlbW90ZV9oZWxwZXJzLy5naXRpZ25vcmUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNmMDQwYWYuLjAwMDAwMDAKLS0tIGEvZ2l0X3JlbW90ZV9oZWxwZXJzLy5naXRpZ25vcmUKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLS9HSVQtUFlUSE9OLVZFUlNJT04KLS9idWlsZAotL2Rpc3QKZGlmZiAtLWdpdCBhL2dpdF9yZW1vdGVfaGVscGVycy9NYWtlZmlsZSBiL2dpdF9yZW1vdGVfaGVscGVycy9NYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2QxMjIzMi4uMDAwMDAwMAotLS0gYS9naXRfcmVtb3RlX2hlbHBlcnMvTWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi0jCi0jIE1ha2VmaWxlIGZvciB0aGUgZ2l0X3JlbW90ZV9oZWxwZXJzIHB5dGhvbiBzdXBwb3J0IG1vZHVsZXMKLSMKLXB5c2V0dXBmaWxlOj1zZXR1cC5weQotCi0jIFNoZWxsIHF1b3RlIChkbyBub3QgdXNlICQoY2FsbCkgdG8gYWNjb21tb2RhdGUgYW5jaWVudCBzZXR1cHMpOwotREVTVERJUl9TUSA9ICQoc3Vic3QgJywnXCcnLCQoREVTVERJUikpCi0KLWlmbmRlZiBQWVRIT05fUEFUSAotCWlmZXEgKCQodW5hbWVfUyksRnJlZUJTRCkKLQkJUFlUSE9OX1BBVEggPSAvdXNyL2xvY2FsL2Jpbi9weXRob24KLQllbHNlCi0JCVBZVEhPTl9QQVRIID0gL3Vzci9iaW4vcHl0aG9uCi0JZW5kaWYKLWVuZGlmCi1pZm5kZWYgcHJlZml4Ci0JcHJlZml4ID0gJChIT01FKQotZW5kaWYKLWlmbmRlZiBWCi0JUVVJRVQgPSBACi0JUVVJRVRTRVRVUCA9IC0tcXVpZXQKLWVuZGlmCi0KLVBZTElCRElSPSQoc2hlbGwgJChQWVRIT05fUEFUSCkgLWMgXAotCSAiaW1wb3J0IHN5czsgXAotCSBwcmludCgnbGliL3B5dGhvbiVpLiVpL3NpdGUtcGFja2FnZXMnICUgc3lzLnZlcnNpb25faW5mb1s6Ml0pIikKLQotcHlfdmVyc2lvbj0kKHNoZWxsICQoUFlUSE9OX1BBVEgpIC1jIFwKLQknaW1wb3J0IHN5czsgcHJpbnQoIiVpLiVpIiAlIHN5cy52ZXJzaW9uX2luZm9bOjJdKScpCi0KLWFsbDogJChweXNldHVwZmlsZSkKLQkkKFFVSUVUKXRlc3QgIiQkKGNhdCBHSVQtUFlUSE9OLVZFUlNJT04gMj4vZGV2L251bGwpIiA9ICIkKHB5X3ZlcnNpb24pIiB8fCBcCi0JZmxhZ3M9LS1mb3JjZTsgXAotCSQoUFlUSE9OX1BBVEgpICQocHlzZXR1cGZpbGUpICQoUVVJRVRTRVRVUCkgYnVpbGQgJCRmbGFncwotCSQoUVVJRVQpZWNobyAiJChweV92ZXJzaW9uKSIgPkdJVC1QWVRIT04tVkVSU0lPTgotCi1pbnN0YWxsOiAkKHB5c2V0dXBmaWxlKQotCSQoUFlUSE9OX1BBVEgpICQocHlzZXR1cGZpbGUpIGluc3RhbGwgLS1wcmVmaXggJChERVNURElSX1NRKSQocHJlZml4KQotCi1pbnN0bGliZGlyOiAkKHB5c2V0dXBmaWxlKQotCUBlY2hvICIkKERFU1RESVJfU1EpJChwcmVmaXgpLyQoUFlMSUJESVIpIgotCi1jbGVhbjoKLQkkKFFVSUVUKSQoUFlUSE9OX1BBVEgpICQocHlzZXR1cGZpbGUpICQoUVVJRVRTRVRVUCkgY2xlYW4gLWEKLQkkKFJNKSAqLnB5byAqLnB5YyBHSVQtUFlUSE9OLVZFUlNJT04KZGlmZiAtLWdpdCBhL2dpdF9yZW1vdGVfaGVscGVycy9fX2luaXRfXy5weSBiL2dpdF9yZW1vdGVfaGVscGVycy9fX2luaXRfXy5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDBmNjljYi4uMDAwMDAwMAotLS0gYS9naXRfcmVtb3RlX2hlbHBlcnMvX19pbml0X18ucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24KLQotIiIiU3VwcG9ydCBsaWJyYXJ5IHBhY2thZ2UgZm9yIGdpdCByZW1vdGUgaGVscGVycy4KLQotR2l0IHJlbW90ZSBoZWxwZXJzIGFyZSBoZWxwZXIgY29tbWFuZHMgdGhhdCBpbnRlcmZhY2VzIHdpdGggYSBub24tZ2l0Ci1yZXBvc2l0b3J5IHRvIHByb3ZpZGUgYXV0b21hdGljIGltcG9ydCBvZiBub24tZ2l0IGhpc3RvcnkgaW50byBhIEdpdAotcmVwb3NpdG9yeS4KLQotVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHRoZSBzdXBwb3J0IGxpYnJhcnkgbmVlZGVkIGJ5IHRoZXNlIGhlbHBlcnMuLgotVGhlIGZvbGxvd2luZyBtb2R1bGVzIGFyZSBpbmNsdWRlZDoKLQotLSBnaXQuZ2l0IC0gSW50ZXJhY3Rpb24gd2l0aCBHaXQgcmVwb3NpdG9yaWVzCi0KLS0gdXRpbCAtIEdlbmVyYWwgdXRpbGl0eSBmdW5jdGlvbmFsaXR5IHVzZSBieSB0aGUgb3RoZXIgbW9kdWxlcyBpbgotICAgICAgICAgdGhpcyBwYWNrYWdlLCBhbmQgYWxzbyB1c2VkIGRpcmVjdGx5IGJ5IHRoZSBoZWxwZXJzLgotIiIiCmRpZmYgLS1naXQgYS9naXRfcmVtb3RlX2hlbHBlcnMvZ2l0L19faW5pdF9fLnB5IGIvZ2l0X3JlbW90ZV9oZWxwZXJzL2dpdC9fX2luaXRfXy5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWRiYjFiMC4uMDAwMDAwMAotLS0gYS9naXRfcmVtb3RlX2hlbHBlcnMvZ2l0L19faW5pdF9fLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1pbXBvcnQgc3lzCi1pZiBzeXMuaGV4dmVyc2lvbiA8IDB4MDIwNDAwMDA6Ci0gICAgIyBUaGUgbGltaXRlciBpcyB0aGUgc3VicHJvY2VzcyBtb2R1bGUKLSAgICBzeXMuc3RkZXJyLndyaXRlKCJnaXRfcmVtb3RlX2hlbHBlcnM6IHJlcXVpcmVzIFB5dGhvbiAyLjQgb3IgbGF0ZXIuXG4iKQotICAgIHN5cy5leGl0KDEpCmRpZmYgLS1naXQgYS9naXRfcmVtb3RlX2hlbHBlcnMvZ2l0L2V4cG9ydGVyLnB5IGIvZ2l0X3JlbW90ZV9oZWxwZXJzL2dpdC9leHBvcnRlci5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWVlNWY5Ni4uMDAwMDAwMAotLS0gYS9naXRfcmVtb3RlX2hlbHBlcnMvZ2l0L2V4cG9ydGVyLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNTggKzAsMCBAQAotaW1wb3J0IG9zCi1pbXBvcnQgc3VicHJvY2VzcwotaW1wb3J0IHN5cwotCi1mcm9tIGdpdF9yZW1vdGVfaGVscGVycy51dGlsIGltcG9ydCBjaGVja19jYWxsCi0KLQotY2xhc3MgR2l0RXhwb3J0ZXIob2JqZWN0KToKLSAgICAiIiJBbiBleHBvcnRlciBmb3IgdGVzdGdpdCByZXBvc2l0b3JpZXMuCi0KLSAgICBUaGUgZXhwb3J0ZXIgc2ltcGx5IGRlbGVnYXRlcyB0byBnaXQgZmFzdC1leHBvcnQuCi0gICAgIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgcmVwbyk6Ci0gICAgICAgICIiIkNyZWF0ZXMgYSBuZXcgZXhwb3J0ZXIgZm9yIHRoZSBzcGVjaWZpZWQgcmVwby4KLSAgICAgICAgIiIiCi0KLSAgICAgICAgc2VsZi5yZXBvID0gcmVwbwotCi0gICAgZGVmIGV4cG9ydF9yZXBvKHNlbGYsIGJhc2UsIHJlZnM9Tm9uZSk6Ci0gICAgICAgICIiIkV4cG9ydHMgYSBmYXN0LWV4cG9ydCBzdHJlYW0gZm9yIHRoZSBnaXZlbiBkaXJlY3RvcnkuCi0KLSAgICAgICAgU2ltcGx5IGRlbGVnYXRlcyB0byBnaXQgZmFzdC1lcHhvcnQgYW5kIHBpcGVzIGl0IHRocm91Z2ggc2VkCi0gICAgICAgIHRvIG1ha2UgdGhlIHJlZnMgc2hvdyB1cCB1bmRlciB0aGUgcHJlZml4IHJhdGhlciB0aGFuIHRoZQotICAgICAgICBkZWZhdWx0IHJlZnMvaGVhZHMuIFRoaXMgaXMgdG8gZGVtb25zdHJhdGUgaG93IHRoZSBleHBvcnQKLSAgICAgICAgZGF0YSBjYW4gYmUgc3RvcmVkIHVuZGVyIGl0J3Mgb3duIHJlZiAodXNpbmcgdGhlIHJlZnNwZWMKLSAgICAgICAgY2FwYWJpbGl0eSkuCi0KLSAgICAgICAgSWYgTm9uZSwgcmVmcyBkZWZhdWx0cyB0byBbIkhFQUQiXS4KLSAgICAgICAgIiIiCi0KLSAgICAgICAgaWYgbm90IHJlZnM6Ci0gICAgICAgICAgICByZWZzID0gWyJIRUFEIl0KLQotICAgICAgICBkaXJuYW1lID0gc2VsZi5yZXBvLmdldF9iYXNlX3BhdGgoYmFzZSkKLSAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oZGlybmFtZSwgJ3Rlc3RnaXQubWFya3MnKSkKLQotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZGlybmFtZSk6Ci0gICAgICAgICAgICBvcy5tYWtlZGlycyhkaXJuYW1lKQotCi0gICAgICAgIHByaW50ICJmZWF0dXJlIHJlbGF0aXZlLW1hcmtzIgotICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oZGlybmFtZSwgJ2dpdC5tYXJrcycpKToKLSAgICAgICAgICAgIHByaW50ICJmZWF0dXJlIGltcG9ydC1tYXJrcz0lcy9naXQubWFya3MiICUgc2VsZi5yZXBvLmhhc2gKLSAgICAgICAgcHJpbnQgImZlYXR1cmUgZXhwb3J0LW1hcmtzPSVzL2dpdC5tYXJrcyIgJSBzZWxmLnJlcG8uaGFzaAotICAgICAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKLQotICAgICAgICBhcmdzID0gWyJnaXQiLCAiLS1naXQtZGlyPSIgKyBzZWxmLnJlcG8uZ2l0cGF0aCwgImZhc3QtZXhwb3J0IiwgIi0tZXhwb3J0LW1hcmtzPSIgKyBwYXRoXQotCi0gICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHBhdGgpOgotICAgICAgICAgICAgYXJncy5hcHBlbmQoIi0taW1wb3J0LW1hcmtzPSIgKyBwYXRoKQotCi0gICAgICAgIGFyZ3MuZXh0ZW5kKHJlZnMpCi0KLSAgICAgICAgcDEgPSBzdWJwcm9jZXNzLlBvcGVuKGFyZ3MsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUpCi0KLSAgICAgICAgYXJncyA9IFsic2VkIiwgInNfcmVmcy9oZWFkcy9fIiArIHNlbGYucmVwby5wcmVmaXggKyAiX2ciXQotCi0gICAgICAgIGNoZWNrX2NhbGwoYXJncywgc3RkaW49cDEuc3Rkb3V0KQpkaWZmIC0tZ2l0IGEvZ2l0X3JlbW90ZV9oZWxwZXJzL2dpdC9naXQucHkgYi9naXRfcmVtb3RlX2hlbHBlcnMvZ2l0L2dpdC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDA3YTFiZi4uMDAwMDAwMAotLS0gYS9naXRfcmVtb3RlX2hlbHBlcnMvZ2l0L2dpdC5weQorKysgL2Rldi9udWxsCkBAIC0xLDY3OCArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24KLQotIiIiRnVuY3Rpb25hbGl0eSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBHaXQgcmVwb3NpdG9yaWVzLgotCi1UaGlzIG1vZHVsZSBwcm92aWRlcyBjbGFzc2VzIGZvciBpbnRlcmZhY2luZyB3aXRoIGEgR2l0IHJlcG9zaXRvcnkuCi0iIiIKLQotaW1wb3J0IG9zCi1pbXBvcnQgcmUKLWltcG9ydCB0aW1lCi1mcm9tIGJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5Ci1mcm9tIGNTdHJpbmdJTyBpbXBvcnQgU3RyaW5nSU8KLWltcG9ydCB1bml0dGVzdAotCi1mcm9tIGdpdF9yZW1vdGVfaGVscGVycy51dGlsIGltcG9ydCBkZWJ1ZywgZXJyb3IsIGRpZSwgc3RhcnRfY29tbWFuZCwgcnVuX2NvbW1hbmQKLQotCi1kZWYgZ2V0X2dpdF9kaXIgKCk6Ci0gICAgIiIiUmV0dXJuIHRoZSBwYXRoIHRvIHRoZSBHSVRfRElSIGZvciB0aGlzIHJlcG8uIiIiCi0gICAgYXJncyA9ICgiZ2l0IiwgInJldi1wYXJzZSIsICItLWdpdC1kaXIiKQotICAgIGV4aXRfY29kZSwgb3V0cHV0LCBlcnJvcnMgPSBydW5fY29tbWFuZChhcmdzKQotICAgIGlmIGV4aXRfY29kZToKLSAgICAgICAgZGllKCJGYWlsZWQgdG8gcmV0cmlldmUgZ2l0IGRpciIpCi0gICAgYXNzZXJ0IG5vdCBlcnJvcnMKLSAgICByZXR1cm4gb3V0cHV0LnN0cmlwKCkKLQotCi1kZWYgcGFyc2VfZ2l0X2NvbmZpZyAoKToKLSAgICAiIiJSZXR1cm4gYSBkaWN0IGNvbnRhaW5pbmcgdGhlIHBhcnNlZCB2ZXJzaW9uIG9mICdnaXQgY29uZmlnIC1sJy4iIiIKLSAgICBleGl0X2NvZGUsIG91dHB1dCwgZXJyb3JzID0gcnVuX2NvbW1hbmQoKCJnaXQiLCAiY29uZmlnIiwgIi16IiwgIi1sIikpCi0gICAgaWYgZXhpdF9jb2RlOgotICAgICAgICBkaWUoIkZhaWxlZCB0byByZXRyaWV2ZSBnaXQgY29uZmlndXJhdGlvbiIpCi0gICAgYXNzZXJ0IG5vdCBlcnJvcnMKLSAgICByZXR1cm4gZGljdChbZS5zcGxpdCgnXG4nLCAxKSBmb3IgZSBpbiBvdXRwdXQuc3BsaXQoIlwwIikgaWYgZV0pCi0KLQotZGVmIGdpdF9jb25maWdfYm9vbCAodmFsdWUpOgotICAgICIiIkNvbnZlcnQgdGhlIGdpdmVuIGdpdCBjb25maWcgc3RyaW5nIHZhbHVlIHRvIFRydWUgb3IgRmFsc2UuCi0KLSAgICBSYWlzZSBWYWx1ZUVycm9yIGlmIHRoZSBnaXZlbiBzdHJpbmcgd2FzIG5vdCByZWNvZ25pemVkIGFzIGEKLSAgICBib29sZWFuIHZhbHVlLgotCi0gICAgIiIiCi0gICAgbm9ybV92YWx1ZSA9IHN0cih2YWx1ZSkuc3RyaXAoKS5sb3dlcigpCi0gICAgaWYgbm9ybV92YWx1ZSBpbiAoInRydWUiLCAiMSIsICJ5ZXMiLCAib24iLCAiIik6Ci0gICAgICAgIHJldHVybiBUcnVlCi0gICAgaWYgbm9ybV92YWx1ZSBpbiAoImZhbHNlIiwgIjAiLCAibm8iLCAib2ZmIiwgIm5vbmUiKToKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgcmFpc2UgVmFsdWVFcnJvcigiRmFpbGVkIHRvIHBhcnNlICclcycgaW50byBhIGJvb2xlYW4gdmFsdWUiICUgKHZhbHVlKSkKLQotCi1kZWYgdmFsaWRfZ2l0X3JlZiAocmVmX25hbWUpOgotICAgICIiIlJldHVybiBUcnVlIGlmZiB0aGUgZ2l2ZW4gcmVmIG5hbWUgaXMgYSB2YWxpZCBnaXQgcmVmIG5hbWUuIiIiCi0gICAgIyBUaGUgZm9sbG93aW5nIGlzIGEgcmVpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZ2l0IGNoZWNrLXJlZi1mb3JtYXQKLSAgICAjIGNvbW1hbmQuICBUaGUgcnVsZXMgd2VyZSBkZXJpdmVkIGZyb20gdGhlIGdpdCBjaGVjay1yZWYtZm9ybWF0KDEpCi0gICAgIyBtYW51YWwgcGFnZS4gIFRoaXMgY29kZSBzaG91bGQgYmUgcmVwbGFjZWQgYnkgYSBjYWxsIHRvCi0gICAgIyBjaGVja19yZWZuYW1lX2Zvcm1hdCgpIGluIHRoZSBnaXQgbGlicmFyeSwgd2hlbiBzdWNoIGlzIGF2YWlsYWJsZS4KLSAgICBpZiByZWZfbmFtZS5lbmRzd2l0aCgnLycpIG9yIFwKLSAgICAgICByZWZfbmFtZS5zdGFydHN3aXRoKCcuJykgb3IgXAotICAgICAgIHJlZl9uYW1lLmNvdW50KCcvLicpIG9yIFwKLSAgICAgICByZWZfbmFtZS5jb3VudCgnLi4nKSBvciBcCi0gICAgICAgcmVmX25hbWUuZW5kc3dpdGgoJy5sb2NrJyk6Ci0gICAgICAgIHJldHVybiBGYWxzZQotICAgIGZvciBjIGluIHJlZl9uYW1lOgotICAgICAgICBpZiBvcmQoYykgPCAweDIwIG9yIG9yZChjKSA9PSAweDdmIG9yIGMgaW4gIiB+Xjo/KlsiOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgcmV0dXJuIFRydWUKLQotCi1jbGFzcyBHaXRPYmplY3RGZXRjaGVyKG9iamVjdCk6Ci0KLSAgICAiIiJQcm92aWRlIHBhcnNlZCBhY2Nlc3MgdG8gJ2dpdCBjYXQtZmlsZSAtLWJhdGNoJy4KLQotICAgIFRoaXMgcHJvdmlkZXMgYSByZWFkLW9ubHkgaW50ZXJmYWNlIHRvIHRoZSBHaXQgb2JqZWN0IGRhdGFiYXNlLgotCi0gICAgIiIiCi0KLSAgICBkZWYgX19pbml0X18gKHNlbGYpOgotICAgICAgICAiIiJJbml0aWF0ZSBhICdnaXQgY2F0LWZpbGUgLS1iYXRjaCcgc2Vzc2lvbi4iIiIKLSAgICAgICAgc2VsZi5xdWV1ZSA9IFtdICAjIExpc3Qgb2Ygb2JqZWN0IG5hbWVzIHRvIGJlIHN1Ym1pdHRlZAotICAgICAgICBzZWxmLmluX3RyYW5zaXQgPSBOb25lICAjIE9iamVjdCBuYW1lIGN1cnJlbnRseSBpbiB0cmFuc2l0Ci0KLSAgICAgICAgIyAnZ2l0IGNhdC1maWxlIC0tYmF0Y2gnIHByb2R1Y2VzIGJpbmFyeSBvdXRwdXQgd2hpY2ggaXMgbGlrZWx5Ci0gICAgICAgICMgdG8gYmUgY29ycnVwdGVkIGJ5IHRoZSBkZWZhdWx0ICJyVSItbW9kZSBwaXBlIG9wZW5lZCBieQotICAgICAgICAjIHN0YXJ0X2NvbW1hbmQuICAoTW9kZSA9PSAiclUiIGRvZXMgdW5pdmVyc2FsIG5ldy1saW5lCi0gICAgICAgICMgY29udmVyc2lvbiwgd2hpY2ggbWFuZ2xlcyBjYXJyaWFnZSByZXR1cm5zLikgVGhlcmVmb3JlLCB3ZQotICAgICAgICAjIG9wZW4gYW4gZXhwbGljaXRseSBiaW5hcnktc2FmZSBwaXBlIGZvciB0cmFuc2ZlcnJpbmcgdGhlCi0gICAgICAgICMgb3V0cHV0IGZyb20gJ2dpdCBjYXQtZmlsZSAtLWJhdGNoJy4KLSAgICAgICAgcGlwZV9yX2ZkLCBwaXBlX3dfZmQgPSBvcy5waXBlKCkKLSAgICAgICAgcGlwZV9yID0gb3MuZmRvcGVuKHBpcGVfcl9mZCwgInJiIikKLSAgICAgICAgcGlwZV93ID0gb3MuZmRvcGVuKHBpcGVfd19mZCwgIndiIikKLSAgICAgICAgc2VsZi5wcm9jID0gc3RhcnRfY29tbWFuZCgoImdpdCIsICJjYXQtZmlsZSIsICItLWJhdGNoIiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0ID0gcGlwZV93KQotICAgICAgICBzZWxmLmYgPSBwaXBlX3IKLQotICAgIGRlZiBfX2RlbF9fIChzZWxmKToKLSAgICAgICAgIiIiVmVyaWZ5IGNvbXBsZXRlZCBjb21tdW5pY2F0aW9uIHdpdGggJ2dpdCBjYXQtZmlsZSAtLWJhdGNoJy4iIiIKLSAgICAgICAgYXNzZXJ0IG5vdCBzZWxmLnF1ZXVlCi0gICAgICAgIGFzc2VydCBzZWxmLmluX3RyYW5zaXQgaXMgTm9uZQotICAgICAgICBzZWxmLnByb2Muc3RkaW4uY2xvc2UoKQotICAgICAgICBhc3NlcnQgc2VsZi5wcm9jLndhaXQoKSA9PSAwICAjIFplcm8gZXhpdCBjb2RlCi0gICAgICAgIGFzc2VydCBzZWxmLmYucmVhZCgpID09ICIiICAjIE5vIHJlbWFpbmluZyBvdXRwdXQKLQotICAgIGRlZiBfc3VibWl0X25leHRfb2JqZWN0IChzZWxmKToKLSAgICAgICAgIiIiU3VibWl0IHF1ZXVlIGl0ZW1zIHRvIHRoZSAnZ2l0IGNhdC1maWxlIC0tYmF0Y2gnIHByb2Nlc3MuCi0KLSAgICAgICAgSWYgdGhlcmUgYXJlIGl0ZW1zIGluIHRoZSBxdWV1ZSwgYW5kIHRoZXJlIGlzIGN1cnJlbnRseSBubyBpdGVtCi0gICAgICAgIGN1cnJlbnRseSBpbiAndHJhbnNpdCcsIHRoZW4gcG9wIHRoZSBmaXJzdCBpdGVtIG9mZiB0aGUgcXVldWUsCi0gICAgICAgIGFuZCBzdWJtaXQgaXQuCi0KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHNlbGYucXVldWUgYW5kIHNlbGYuaW5fdHJhbnNpdCBpcyBOb25lOgotICAgICAgICAgICAgc2VsZi5pbl90cmFuc2l0ID0gc2VsZi5xdWV1ZS5wb3AoMCkKLSAgICAgICAgICAgIHByaW50ID4+IHNlbGYucHJvYy5zdGRpbiwgc2VsZi5pbl90cmFuc2l0WzBdCi0KLSAgICBkZWYgcHVzaCAoc2VsZiwgb2JqLCBjYWxsYmFjayk6Ci0gICAgICAgICIiIlB1c2ggdGhlIGdpdmVuIG9iamVjdCBuYW1lIG9udG8gdGhlIHF1ZXVlLgotCi0gICAgICAgIFRoZSBnaXZlbiBjYWxsYmFjayBmdW5jdGlvbiB3aWxsIGF0IHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZQotICAgICAgICBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIHdpdGggdGhlIGZvbGxvd2luZyBhcmd1bWVudHM6Ci0gICAgICAgIC0gc2VsZiAtIHRoaXMgR2l0T2JqZWN0RmV0Y2hlciBpbnN0YW5jZQotICAgICAgICAtIG9iaiAgLSB0aGUgb2JqZWN0IG5hbWUgcHJvdmlkZWQgdG8gcHVzaCgpCi0gICAgICAgIC0gc2hhMSAtIHRoZSBTSEExIG9mIHRoZSBvYmplY3QsIGlmICdOb25lJyBvYmogaXMgbWlzc2luZwotICAgICAgICAtIHQgICAgLSB0aGUgdHlwZSBvZiB0aGUgb2JqZWN0ICh0YWcvY29tbWl0L3RyZWUvYmxvYikKLSAgICAgICAgLSBzaXplIC0gdGhlIHNpemUgb2YgdGhlIG9iamVjdCBpbiBieXRlcwotICAgICAgICAtIGRhdGEgLSB0aGUgb2JqZWN0IGNvbnRlbnRzCi0KLSAgICAgICAgIiIiCi0gICAgICAgIHNlbGYucXVldWUuYXBwZW5kKChvYmosIGNhbGxiYWNrKSkKLSAgICAgICAgc2VsZi5fc3VibWl0X25leHRfb2JqZWN0KCkgICMgKFJlKXN0YXJ0IHF1ZXVlIHByb2Nlc3NpbmcKLQotICAgIGRlZiBwcm9jZXNzX25leHRfZW50cnkgKHNlbGYpOgotICAgICAgICAiIiJSZWFkIHRoZSBuZXh0IGVudHJ5IG9mZiB0aGUgcXVldWUgYW5kIGludm9rZSBjYWxsYmFjay4iIiIKLSAgICAgICAgb2JqLCBjYiA9IHNlbGYuaW5fdHJhbnNpdAotICAgICAgICBzZWxmLmluX3RyYW5zaXQgPSBOb25lCi0gICAgICAgIGhlYWRlciA9IHNlbGYuZi5yZWFkbGluZSgpCi0gICAgICAgIGlmIGhlYWRlciA9PSAiJXMgbWlzc2luZ1xuIiAlIChvYmopOgotICAgICAgICAgICAgY2Ioc2VsZiwgb2JqLCBOb25lLCBOb25lLCBOb25lLCBOb25lKQotICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIHNoYTEsIHQsIHNpemUgPSBoZWFkZXIuc3BsaXQoIiAiKQotICAgICAgICBhc3NlcnQgbGVuKHNoYTEpID09IDQwCi0gICAgICAgIGFzc2VydCB0IGluICgidGFnIiwgImNvbW1pdCIsICJ0cmVlIiwgImJsb2IiKQotICAgICAgICBhc3NlcnQgc2l6ZS5lbmRzd2l0aCgiXG4iKQotICAgICAgICBzaXplID0gaW50KHNpemUuc3RyaXAoKSkKLSAgICAgICAgZGF0YSA9IHNlbGYuZi5yZWFkKHNpemUpCi0gICAgICAgIGFzc2VydCBzZWxmLmYucmVhZCgxKSA9PSAiXG4iCi0gICAgICAgIGNiKHNlbGYsIG9iaiwgc2hhMSwgdCwgc2l6ZSwgZGF0YSkKLSAgICAgICAgc2VsZi5fc3VibWl0X25leHRfb2JqZWN0KCkKLQotICAgIGRlZiBwcm9jZXNzIChzZWxmKToKLSAgICAgICAgIiIiUHJvY2VzcyB0aGUgY3VycmVudCBxdWV1ZSB1bnRpbCBlbXB0eS4iIiIKLSAgICAgICAgd2hpbGUgc2VsZi5pbl90cmFuc2l0IGlzIG5vdCBOb25lOgotICAgICAgICAgICAgc2VsZi5wcm9jZXNzX25leHRfZW50cnkoKQotCi0gICAgIyBIaWdoLWxldmVsIGNvbnZlbmllbmNlIG1ldGhvZHM6Ci0KLSAgICBkZWYgZ2V0X3NoYTEgKHNlbGYsIG9ianNwZWMpOgotICAgICAgICAiIiJSZXR1cm4gdGhlIFNIQTEgb2YgdGhlIG9iamVjdCBzcGVjaWZpZWQgYnkgJ29ianNwZWMnLgotCi0gICAgICAgIFJldHVybiBOb25lIGlmICdvYmpzcGVjJyBkb2VzIG5vdCBzcGVjaWZ5IGFuIGV4aXN0aW5nIG9iamVjdC4KLQotICAgICAgICAiIiIKLSAgICAgICAgY2xhc3MgX09iakhhbmRsZXIob2JqZWN0KToKLSAgICAgICAgICAgICIiIkhlbHBlciBjbGFzcyBmb3IgZ2V0dGluZyB0aGUgcmV0dXJuZWQgU0hBMS4iIiIKLSAgICAgICAgICAgIGRlZiBfX2luaXRfXyAoc2VsZiwgcGFyc2VyKToKLSAgICAgICAgICAgICAgICBzZWxmLnBhcnNlciA9IHBhcnNlcgotICAgICAgICAgICAgICAgIHNlbGYuc2hhMSA9IE5vbmUKLQotICAgICAgICAgICAgZGVmIF9fY2FsbF9fIChzZWxmLCBwYXJzZXIsIG9iaiwgc2hhMSwgdCwgc2l6ZSwgZGF0YSk6Ci0gICAgICAgICAgICAgICAgIyBGSVhNRTogTWFueSB1bnVzZWQgYXJndW1lbnRzLiBDb3VsZCB0aGlzIGJlIGNoZWFwZXI/Ci0gICAgICAgICAgICAgICAgYXNzZXJ0IHBhcnNlciA9PSBzZWxmLnBhcnNlcgotICAgICAgICAgICAgICAgIHNlbGYuc2hhMSA9IHNoYTEKLQotICAgICAgICBoYW5kbGVyID0gX09iakhhbmRsZXIoc2VsZikKLSAgICAgICAgc2VsZi5wdXNoKG9ianNwZWMsIGhhbmRsZXIpCi0gICAgICAgIHNlbGYucHJvY2VzcygpCi0gICAgICAgIHJldHVybiBoYW5kbGVyLnNoYTEKLQotICAgIGRlZiBvcGVuX29iaiAoc2VsZiwgb2Jqc3BlYyk6Ci0gICAgICAgICIiIlJldHVybiBhIGZpbGUgb2JqZWN0IHdyYXBwaW5nIHRoZSBjb250ZW50cyBvZiBhIG5hbWVkIG9iamVjdC4KLQotICAgICAgICBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIC5jbG9zZSgpIG9uIHRoZSByZXR1cm5lZAotICAgICAgICBmaWxlIG9iamVjdC4KLQotICAgICAgICBSYWlzZSBLZXlFcnJvciBpZiAnb2Jqc3BlYycgZG9lcyBub3QgZXhpc3QgaW4gdGhlIHJlcG8uCi0KLSAgICAgICAgIiIiCi0gICAgICAgIGNsYXNzIF9PYmpIYW5kbGVyKG9iamVjdCk6Ci0gICAgICAgICAgICAiIiJIZWxwZXIgY2xhc3MgZm9yIHBhcnNpbmcgdGhlIHJldHVybmVkIGdpdCBvYmplY3QuIiIiCi0gICAgICAgICAgICBkZWYgX19pbml0X18gKHNlbGYsIHBhcnNlcik6Ci0gICAgICAgICAgICAgICAgIiIiU2V0IHVwIGhlbHBlci4iIiIKLSAgICAgICAgICAgICAgICBzZWxmLnBhcnNlciA9IHBhcnNlcgotICAgICAgICAgICAgICAgIHNlbGYuY29udGVudHMgPSBTdHJpbmdJTygpCi0gICAgICAgICAgICAgICAgc2VsZi5lcnIgPSBOb25lCi0KLSAgICAgICAgICAgIGRlZiBfX2NhbGxfXyAoc2VsZiwgcGFyc2VyLCBvYmosIHNoYTEsIHQsIHNpemUsIGRhdGEpOgotICAgICAgICAgICAgICAgICIiIkdpdCBvYmplY3QgY2FsbGJhY2sgKHNlZSBHaXRPYmplY3RGZXRjaGVyIGRvY3VtZW50YXRpb24pLiIiIgotICAgICAgICAgICAgICAgIGFzc2VydCBwYXJzZXIgPT0gc2VsZi5wYXJzZXIKLSAgICAgICAgICAgICAgICBpZiBub3Qgc2hhMTogICMgTWlzc2luZyBvYmplY3QKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5lcnIgPSAiTWlzc2luZyBvYmplY3QgJyVzJyIgJSBvYmoKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBhc3NlcnQgc2l6ZSA9PSBsZW4oZGF0YSkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5jb250ZW50cy53cml0ZShkYXRhKQotCi0gICAgICAgIGhhbmRsZXIgPSBfT2JqSGFuZGxlcihzZWxmKQotICAgICAgICBzZWxmLnB1c2gob2Jqc3BlYywgaGFuZGxlcikKLSAgICAgICAgc2VsZi5wcm9jZXNzKCkKLSAgICAgICAgaWYgaGFuZGxlci5lcnI6Ci0gICAgICAgICAgICByYWlzZSBLZXlFcnJvcihoYW5kbGVyLmVycikKLSAgICAgICAgaGFuZGxlci5jb250ZW50cy5zZWVrKDApCi0gICAgICAgIHJldHVybiBoYW5kbGVyLmNvbnRlbnRzCi0KLSAgICBkZWYgd2Fsa190cmVlIChzZWxmLCB0cmVlX29ianNwZWMsIGNhbGxiYWNrLCBwcmVmaXggPSAiIik6Ci0gICAgICAgICIiIlJlY3Vyc2l2ZWx5IHdhbGsgdGhlIGdpdmVuIEdpdCB0cmVlIG9iamVjdC4KLQotICAgICAgICBSZWN1cnNpdmVseSB3YWxrIGFsbCBzdWJ0cmVlcyBvZiB0aGUgZ2l2ZW4gdHJlZSBvYmplY3QsIGFuZAotICAgICAgICBpbnZva2UgdGhlIGdpdmVuIGNhbGxiYWNrIHBhc3NpbmcgdGhyZWUgYXJndW1lbnRzOgotICAgICAgICAocGF0aCwgbW9kZSwgZGF0YSkgd2l0aCB0aGUgcGF0aCwgcGVybWlzc2lvbiBiaXRzLCBhbmQgY29udGVudHMKLSAgICAgICAgb2YgYWxsIHRoZSBibG9icyBmb3VuZCBpbiB0aGUgZW50aXJlIHRyZWUgc3RydWN0dXJlLgotCi0gICAgICAgICIiIgotICAgICAgICBjbGFzcyBfT2JqSGFuZGxlcihvYmplY3QpOgotICAgICAgICAgICAgIiIiSGVscGVyIGNsYXNzIGZvciB3YWxraW5nIGEgZ2l0IHRyZWUgc3RydWN0dXJlLiIiIgotICAgICAgICAgICAgZGVmIF9faW5pdF9fIChzZWxmLCBwYXJzZXIsIGNiLCBwYXRoLCBtb2RlID0gTm9uZSk6Ci0gICAgICAgICAgICAgICAgIiIiU2V0IHVwIGhlbHBlci4iIiIKLSAgICAgICAgICAgICAgICBzZWxmLnBhcnNlciA9IHBhcnNlcgotICAgICAgICAgICAgICAgIHNlbGYuY2IgPSBjYgotICAgICAgICAgICAgICAgIHNlbGYucGF0aCA9IHBhdGgKLSAgICAgICAgICAgICAgICBzZWxmLm1vZGUgPSBtb2RlCi0gICAgICAgICAgICAgICAgc2VsZi5lcnIgPSBOb25lCi0KLSAgICAgICAgICAgIGRlZiBwYXJzZV90cmVlIChzZWxmLCB0cmVlZGF0YSk6Ci0gICAgICAgICAgICAgICAgIiIiUGFyc2UgdHJlZSBvYmplY3QgZGF0YSwgeWllbGQgdHJlZSBlbnRyaWVzLgotCi0gICAgICAgICAgICAgICAgRWFjaCB0cmVlIGVudHJ5IGlzIGEgMy10dXBsZSAobW9kZSwgc2hhMSwgcGF0aCkKLQotICAgICAgICAgICAgICAgIHNlbGYucGF0aCBpcyBwcmVwZW5kZWQgdG8gYWxsIHBhdGhzIHlpZWxkZWQKLSAgICAgICAgICAgICAgICBmcm9tIHRoaXMgbWV0aG9kLgotCi0gICAgICAgICAgICAgICAgIiIiCi0gICAgICAgICAgICAgICAgd2hpbGUgdHJlZWRhdGE6Ci0gICAgICAgICAgICAgICAgICAgIG1vZGUgPSBpbnQodHJlZWRhdGFbOjZdLCAxMCkKLSAgICAgICAgICAgICAgICAgICAgIyBUdXJuIDEwMHh4eCBpbnRvIHh4eAotICAgICAgICAgICAgICAgICAgICBpZiBtb2RlID4gMTAwMDAwOgotICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSAtPSAxMDAwMDAKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IHRyZWVkYXRhWzZdID09ICIgIgotICAgICAgICAgICAgICAgICAgICBpID0gdHJlZWRhdGEuZmluZCgiXDAiLCA3KQotICAgICAgICAgICAgICAgICAgICBhc3NlcnQgaSA+IDAKLSAgICAgICAgICAgICAgICAgICAgcGF0aCA9IHRyZWVkYXRhWzc6aV0KLSAgICAgICAgICAgICAgICAgICAgc2hhMSA9IGhleGxpZnkodHJlZWRhdGFbaSArIDE6IGkgKyAyMV0pCi0gICAgICAgICAgICAgICAgICAgIHlpZWxkIChtb2RlLCBzaGExLCBzZWxmLnBhdGggKyBwYXRoKQotICAgICAgICAgICAgICAgICAgICB0cmVlZGF0YSA9IHRyZWVkYXRhW2kgKyAyMTpdCi0KLSAgICAgICAgICAgIGRlZiBfX2NhbGxfXyAoc2VsZiwgcGFyc2VyLCBvYmosIHNoYTEsIHQsIHNpemUsIGRhdGEpOgotICAgICAgICAgICAgICAgICIiIkdpdCBvYmplY3QgY2FsbGJhY2sgKHNlZSBHaXRPYmplY3RGZXRjaGVyIGRvY3VtZW50YXRpb24pLiIiIgotICAgICAgICAgICAgICAgIGFzc2VydCBwYXJzZXIgPT0gc2VsZi5wYXJzZXIKLSAgICAgICAgICAgICAgICBpZiBub3Qgc2hhMTogICMgTWlzc2luZyBvYmplY3QKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5lcnIgPSAiTWlzc2luZyBvYmplY3QgJyVzJyIgJSAob2JqKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgICAgICBhc3NlcnQgc2l6ZSA9PSBsZW4oZGF0YSkKLSAgICAgICAgICAgICAgICBpZiB0ID09ICJ0cmVlIjoKLSAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5wYXRoOgotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wYXRoICs9ICIvIgotICAgICAgICAgICAgICAgICAgICAjIFJlY3Vyc2UgaW50byBhbGwgYmxvYnMgYW5kIHN1YnRyZWVzCi0gICAgICAgICAgICAgICAgICAgIGZvciBtLCBzLCBwIGluIHNlbGYucGFyc2VfdHJlZShkYXRhKToKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlci5wdXNoKHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXyhzZWxmLnBhcnNlciwgc2VsZi5jYiwgcCwgbSkpCi0gICAgICAgICAgICAgICAgZWxpZiB0ID09ICJibG9iIjoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5jYihzZWxmLnBhdGgsIHNlbGYubW9kZSwgZGF0YSkKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJVbmtub3duIG9iamVjdCB0eXBlICclcyciICUgKHQpKQotCi0gICAgICAgIHNlbGYucHVzaCh0cmVlX29ianNwZWMsIF9PYmpIYW5kbGVyKHNlbGYsIGNhbGxiYWNrLCBwcmVmaXgpKQotICAgICAgICBzZWxmLnByb2Nlc3MoKQotCi0KLWNsYXNzIEdpdFJlZk1hcChvYmplY3QpOgotCi0gICAgIiIiTWFwIEdpdCByZWYgbmFtZXMgdG8gdGhlIEdpdCBvYmplY3QgbmFtZXMgdGhleSBjdXJyZW50bHkgcG9pbnQgdG8uCi0KLSAgICBCZWhhdmVzIGxpa2UgYSBkaWN0aW9uYXJ5IG9mIEdpdCByZWYgbmFtZXMgLT4gR2l0IG9iamVjdCBuYW1lcy4KLQotICAgICIiIgotCi0gICAgZGVmIF9faW5pdF9fIChzZWxmLCBvYmpfZmV0Y2hlcik6Ci0gICAgICAgICIiIkNyZWF0ZSBhIG5ldyBHaXQgcmVmIC0+IG9iamVjdCBtYXAuIiIiCi0gICAgICAgIHNlbGYub2JqX2ZldGNoZXIgPSBvYmpfZmV0Y2hlcgotICAgICAgICBzZWxmLl9jYWNoZSA9IHt9ICAjIGRpY3Q6IHJlZm5hbWUgLT4gb2JqbmFtZQotCi0gICAgZGVmIF9sb2FkIChzZWxmLCByZWYpOgotICAgICAgICAiIiJSZXRyaWV2ZSB0aGUgb2JqZWN0IGN1cnJlbnRseSBib3VuZCB0byB0aGUgZ2l2ZW4gcmVmLgotCi0gICAgICAgIFRoZSBuYW1lIG9mIHRoZSBvYmplY3QgcG9pbnRlZCB0byBieSB0aGUgZ2l2ZW4gcmVmIGlzIHN0b3JlZAotICAgICAgICBpbnRvIHRoaXMgbWFwcGluZywgYW5kIGFsc28gcmV0dXJuZWQuCi0KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHJlZiBub3QgaW4gc2VsZi5fY2FjaGU6Ci0gICAgICAgICAgICBzZWxmLl9jYWNoZVtyZWZdID0gc2VsZi5vYmpfZmV0Y2hlci5nZXRfc2hhMShyZWYpCi0gICAgICAgIHJldHVybiBzZWxmLl9jYWNoZVtyZWZdCi0KLSAgICBkZWYgX19jb250YWluc19fIChzZWxmLCByZWZuYW1lKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgdGhlIGdpdmVuIHJlZm5hbWUgaXMgcHJlc2VudCBpbiB0aGlzIGNhY2hlLiIiIgotICAgICAgICByZXR1cm4gYm9vbChzZWxmLl9sb2FkKHJlZm5hbWUpKQotCi0gICAgZGVmIF9fZ2V0aXRlbV9fIChzZWxmLCByZWZuYW1lKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBnaXQgb2JqZWN0IG5hbWUgcG9pbnRlZCB0byBieSB0aGUgZ2l2ZW4gcmVmbmFtZS4iIiIKLSAgICAgICAgY29tbWl0ID0gc2VsZi5fbG9hZChyZWZuYW1lKQotICAgICAgICBpZiBjb21taXQgaXMgTm9uZToKLSAgICAgICAgICAgIHJhaXNlIEtleUVycm9yKCJVbmtub3duIHJlZiAnJXMnIiAlIChyZWZuYW1lKSkKLSAgICAgICAgcmV0dXJuIGNvbW1pdAotCi0gICAgZGVmIGdldCAoc2VsZiwgcmVmbmFtZSwgZGVmYXVsdCA9IE5vbmUpOgotICAgICAgICAiIiJSZXR1cm4gdGhlIGdpdCBvYmplY3QgbmFtZSBwb2ludGVkIHRvIGJ5IHRoZSBnaXZlbiByZWZuYW1lLiIiIgotICAgICAgICBjb21taXQgPSBzZWxmLl9sb2FkKHJlZm5hbWUpCi0gICAgICAgIGlmIGNvbW1pdCBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHQKLSAgICAgICAgcmV0dXJuIGNvbW1pdAotCi0KLWNsYXNzIEdpdEZJQ29tbWl0KG9iamVjdCk6Ci0KLSAgICAiIiJFbmNhcHN1bGF0ZSB0aGUgZGF0YSBpbiBhIEdpdCBmYXN0LWltcG9ydCBjb21taXQgY29tbWFuZC4iIiIKLQotICAgIFNIQTFSRSA9IHJlLmNvbXBpbGUocideWzAtOWEtZl17NDB9JCcpCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgcGFyc2VfbW9kZSAoY2xzLCBtb2RlKToKLSAgICAgICAgIiIiVmVyaWZ5IHRoZSBnaXZlbiBnaXQgZmlsZSBtb2RlLCBhbmQgcmV0dXJuIGl0IGFzIGEgc3RyaW5nLiIiIgotICAgICAgICBhc3NlcnQgbW9kZSBpbiAoNjQ0LCA3NTUsIDEwMDY0NCwgMTAwNzU1LCAxMjAwMDApCi0gICAgICAgIHJldHVybiAiJWkiICUgKG1vZGUpCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgcGFyc2Vfb2JqbmFtZSAoY2xzLCBvYmpuYW1lKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBnaXZlbiBvYmplY3QgbmFtZSAob3IgbWFyayBudW1iZXIpIGFzIGEgc3RyaW5nLiIiIgotICAgICAgICBpZiBpc2luc3RhbmNlKG9iam5hbWUsIGludCk6ICAjIE9iamVjdCBuYW1lIGlzIGEgbWFyayBudW1iZXIKLSAgICAgICAgICAgIGFzc2VydCBvYmpuYW1lID4gMAotICAgICAgICAgICAgcmV0dXJuICI6JWkiICUgKG9iam5hbWUpCi0KLSAgICAgICAgIyBObyBleGlzdGVuY2UgY2hlY2sgaXMgZG9uZSwgb25seSBjaGVja3MgZm9yIHZhbGlkIGZvcm1hdAotICAgICAgICBhc3NlcnQgY2xzLlNIQTFSRS5tYXRjaChvYmpuYW1lKSAgIyBPYmplY3QgbmFtZSBpcyB2YWxpZCBTSEExCi0gICAgICAgIHJldHVybiBvYmpuYW1lCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgcXVvdGVfcGF0aCAoY2xzLCBwYXRoKToKLSAgICAgICAgIiIiUmV0dXJuIGEgcXVvdGVkIHZlcnNpb24gb2YgdGhlIGdpdmVuIHBhdGguIiIiCi0gICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoIlxcIiwgIlxcXFwiKQotICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKCJcbiIsICJcXG4iKQotICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKCciJywgJ1xcIicpCi0gICAgICAgIHJldHVybiAnIiVzIicgJSAocGF0aCkKLQotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBwYXJzZV9wYXRoIChjbHMsIHBhdGgpOgotICAgICAgICAiIiJWZXJpZnkgdGhhdCB0aGUgZ2l2ZW4gcGF0aCBpcyB2YWxpZCwgYW5kIHF1b3RlIGl0LCBpZiBuZWVkZWQuIiIiCi0gICAgICAgIGFzc2VydCBub3QgaXNpbnN0YW5jZShwYXRoLCBpbnQpICAjIENhbm5vdCBiZSBhIG1hcmsgbnVtYmVyCi0KLSAgICAgICAgIyBUaGVzZSBjaGVja3MgdmVyaWZ5IHRoZSBydWxlcyBvbiB0aGUgZmFzdC1pbXBvcnQgbWFuIHBhZ2UKLSAgICAgICAgYXNzZXJ0IG5vdCBwYXRoLmNvdW50KCIvLyIpCi0gICAgICAgIGFzc2VydCBub3QgcGF0aC5lbmRzd2l0aCgiLyIpCi0gICAgICAgIGFzc2VydCBub3QgcGF0aC5zdGFydHN3aXRoKCIvIikKLSAgICAgICAgYXNzZXJ0IG5vdCBwYXRoLmNvdW50KCIvLi8iKQotICAgICAgICBhc3NlcnQgbm90IHBhdGguY291bnQoIi8uLi8iKQotICAgICAgICBhc3NlcnQgbm90IHBhdGguZW5kc3dpdGgoIi8uIikKLSAgICAgICAgYXNzZXJ0IG5vdCBwYXRoLmVuZHN3aXRoKCIvLi4iKQotICAgICAgICBhc3NlcnQgbm90IHBhdGguc3RhcnRzd2l0aCgiLi8iKQotICAgICAgICBhc3NlcnQgbm90IHBhdGguc3RhcnRzd2l0aCgiLi4vIikKLQotICAgICAgICBpZiBwYXRoLmNvdW50KCciJykgKyBwYXRoLmNvdW50KCdcbicpICsgcGF0aC5jb3VudCgnXFwnKToKLSAgICAgICAgICAgIHJldHVybiBjbHMucXVvdGVfcGF0aChwYXRoKQotICAgICAgICByZXR1cm4gcGF0aAotCi0gICAgZGVmIF9faW5pdF9fIChzZWxmLCBuYW1lLCBlbWFpbCwgdGltZXN0YW1wLCB0aW1lem9uZSwgbWVzc2FnZSk6Ci0gICAgICAgICIiIkNyZWF0ZSBhIG5ldyBHaXQgZmFzdC1pbXBvcnQgY29tbWl0LCB3aXRoIHRoZSBnaXZlbiBtZXRhZGF0YS4iIiIKLSAgICAgICAgc2VsZi5uYW1lID0gbmFtZQotICAgICAgICBzZWxmLmVtYWlsID0gZW1haWwKLSAgICAgICAgc2VsZi50aW1lc3RhbXAgPSB0aW1lc3RhbXAKLSAgICAgICAgc2VsZi50aW1lem9uZSA9IHRpbWV6b25lCi0gICAgICAgIHNlbGYubWVzc2FnZSA9IG1lc3NhZ2UKLSAgICAgICAgc2VsZi5wYXRob3BzID0gW10gICMgTGlzdCBvZiBwYXRoIG9wZXJhdGlvbnMgaW4gdGhpcyBjb21taXQKLQotICAgIGRlZiBtb2RpZnkgKHNlbGYsIG1vZGUsIGJsb2JuYW1lLCBwYXRoKToKLSAgICAgICAgIiIiQWRkIGEgZmlsZSBtb2RpZmljYXRpb24gdG8gdGhpcyBHaXQgZmFzdC1pbXBvcnQgY29tbWl0LiIiIgotICAgICAgICBzZWxmLnBhdGhvcHMuYXBwZW5kKCgiTSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGFyc2VfbW9kZShtb2RlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wYXJzZV9vYmpuYW1lKGJsb2JuYW1lKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wYXJzZV9wYXRoKHBhdGgpKSkKLQotICAgIGRlZiBkZWxldGUgKHNlbGYsIHBhdGgpOgotICAgICAgICAiIiJBZGQgYSBmaWxlIGRlbGV0aW9uIHRvIHRoaXMgR2l0IGZhc3QtaW1wb3J0IGNvbW1pdC4iIiIKLSAgICAgICAgc2VsZi5wYXRob3BzLmFwcGVuZCgoIkQiLCBzZWxmLnBhcnNlX3BhdGgocGF0aCkpKQotCi0gICAgZGVmIGNvcHkgKHNlbGYsIHBhdGgsIG5ld3BhdGgpOgotICAgICAgICAiIiJBZGQgYSBmaWxlIGNvcHkgdG8gdGhpcyBHaXQgZmFzdC1pbXBvcnQgY29tbWl0LiIiIgotICAgICAgICBzZWxmLnBhdGhvcHMuYXBwZW5kKCgiQyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGFyc2VfcGF0aChwYXRoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wYXJzZV9wYXRoKG5ld3BhdGgpKSkKLQotICAgIGRlZiByZW5hbWUgKHNlbGYsIHBhdGgsIG5ld3BhdGgpOgotICAgICAgICAiIiJBZGQgYSBmaWxlIHJlbmFtZSB0byB0aGlzIEdpdCBmYXN0LWltcG9ydCBjb21taXQuIiIiCi0gICAgICAgIHNlbGYucGF0aG9wcy5hcHBlbmQoKCJSIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wYXJzZV9wYXRoKHBhdGgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnBhcnNlX3BhdGgobmV3cGF0aCkpKQotCi0gICAgZGVmIG5vdGUgKHNlbGYsIGJsb2JuYW1lLCBjb21taXQpOgotICAgICAgICAiIiJBZGQgYSBub3RlIG9iamVjdCB0byB0aGlzIEdpdCBmYXN0LWltcG9ydCBjb21taXQuIiIiCi0gICAgICAgIHNlbGYucGF0aG9wcy5hcHBlbmQoKCJOIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wYXJzZV9vYmpuYW1lKGJsb2JuYW1lKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wYXJzZV9vYmpuYW1lKGNvbW1pdCkpKQotCi0gICAgZGVmIGRlbGV0ZWFsbCAoc2VsZik6Ci0gICAgICAgICIiIkRlbGV0ZSBhbGwgZmlsZXMgaW4gdGhpcyBHaXQgZmFzdC1pbXBvcnQgY29tbWl0LiIiIgotICAgICAgICBzZWxmLnBhdGhvcHMuYXBwZW5kKCJkZWxldGVhbGwiKQotCi0KLWNsYXNzIFRlc3RHaXRGSUNvbW1pdCh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0KLSAgICAiIiJHaXRGSUNvbW1pdCBzZWxmdGVzdHMuIiIiCi0KLSAgICBkZWYgdGVzdF9iYXNpYyAoc2VsZik6Ci0gICAgICAgICIiIkdpdEZJQ29tbWl0IGJhc2ljIHNlbGZ0ZXN0cy4iIiIKLQotICAgICAgICBkZWYgZXhwZWN0X2ZhaWwgKG1ldGhvZCwgZGF0YSk6Ci0gICAgICAgICAgICAiIiJWZXJpZnkgdGhhdCB0aGUgbWV0aG9kKGRhdGEpIHJhaXNlcyBhbiBBc3NlcnRpb25FcnJvci4iIiIKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBtZXRob2QoZGF0YSkKLSAgICAgICAgICAgIGV4Y2VwdCBBc3NlcnRpb25FcnJvcjoKLSAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKCJGYWlsZWQgdGVzdCBmb3IgaW52YWxpZCBkYXRhICclcyglcyknIiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWV0aG9kLl9fbmFtZV9fLCByZXByKGRhdGEpKSkKLQotICAgIGRlZiB0ZXN0X3BhcnNlX21vZGUgKHNlbGYpOgotICAgICAgICAiIiJHaXRGSUNvbW1pdC5wYXJzZV9tb2RlKCkgc2VsZnRlc3RzLiIiIgotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEdpdEZJQ29tbWl0LnBhcnNlX21vZGUoNjQ0KSwgIjY0NCIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoR2l0RklDb21taXQucGFyc2VfbW9kZSg3NTUpLCAiNzU1IikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChHaXRGSUNvbW1pdC5wYXJzZV9tb2RlKDEwMDY0NCksICIxMDA2NDQiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEdpdEZJQ29tbWl0LnBhcnNlX21vZGUoMTAwNzU1KSwgIjEwMDc1NSIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoR2l0RklDb21taXQucGFyc2VfbW9kZSgxMjAwMDApLCAiMTIwMDAwIikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIEdpdEZJQ29tbWl0LnBhcnNlX21vZGUsIDApCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBHaXRGSUNvbW1pdC5wYXJzZV9tb2RlLCAxMjMpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBHaXRGSUNvbW1pdC5wYXJzZV9tb2RlLCA2MDApCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBHaXRGSUNvbW1pdC5wYXJzZV9tb2RlLCAiNjQ0IikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIEdpdEZJQ29tbWl0LnBhcnNlX21vZGUsICJhYmMiKQotCi0gICAgZGVmIHRlc3RfcGFyc2Vfb2JqbmFtZSAoc2VsZik6Ci0gICAgICAgICIiIkdpdEZJQ29tbWl0LnBhcnNlX29iam5hbWUoKSBzZWxmdGVzdHMuIiIiCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoR2l0RklDb21taXQucGFyc2Vfb2JqbmFtZSgxKSwgIjoxIikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIEdpdEZJQ29tbWl0LnBhcnNlX29iam5hbWUsIDApCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBHaXRGSUNvbW1pdC5wYXJzZV9vYmpuYW1lLCAtMSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChHaXRGSUNvbW1pdC5wYXJzZV9vYmpuYW1lKCIwMTIzNDU2Nzg5IiAqIDQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICIwMTIzNDU2Nzg5IiAqIDQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoR2l0RklDb21taXQucGFyc2Vfb2JqbmFtZSgiMjQ2OGFiY2RlZiIgKiA0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiMjQ2OGFiY2RlZiIgKiA0KQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgR2l0RklDb21taXQucGFyc2Vfb2JqbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgImFiY2RlZmdoaWoiICogNCkKLQotICAgIGRlZiB0ZXN0X3BhcnNlX3BhdGggKHNlbGYpOgotICAgICAgICAiIiJHaXRGSUNvbW1pdC5wYXJzZV9wYXRoKCkgc2VsZnRlc3RzLiIiIgotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEdpdEZJQ29tbWl0LnBhcnNlX3BhdGgoImZvby9iYXIiKSwgImZvby9iYXIiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEdpdEZJQ29tbWl0LnBhcnNlX3BhdGgoInBhdGgvd2l0aFxuIGFuZCBcIiBpbiBpdCIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICcicGF0aC93aXRoXFxuIGFuZCBcXCIgaW4gaXQiJykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIEdpdEZJQ29tbWl0LnBhcnNlX3BhdGgsIDEpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBHaXRGSUNvbW1pdC5wYXJzZV9wYXRoLCAwKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgR2l0RklDb21taXQucGFyc2VfcGF0aCwgLTEpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBHaXRGSUNvbW1pdC5wYXJzZV9wYXRoLCAiZm9vLy9iYXIiKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgR2l0RklDb21taXQucGFyc2VfcGF0aCwgImZvby9iYXIvIikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIEdpdEZJQ29tbWl0LnBhcnNlX3BhdGgsICIvZm9vL2JhciIpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBHaXRGSUNvbW1pdC5wYXJzZV9wYXRoLCAiZm9vLy4vYmFyIikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIEdpdEZJQ29tbWl0LnBhcnNlX3BhdGgsICJmb28vLi4vYmFyIikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIEdpdEZJQ29tbWl0LnBhcnNlX3BhdGgsICJmb28vYmFyLy4iKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgR2l0RklDb21taXQucGFyc2VfcGF0aCwgImZvby9iYXIvLi4iKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgR2l0RklDb21taXQucGFyc2VfcGF0aCwgIi4vZm9vL2JhciIpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBHaXRGSUNvbW1pdC5wYXJzZV9wYXRoLCAiLi4vZm9vL2JhciIpCi0KLQotY2xhc3MgR2l0RmFzdEltcG9ydChvYmplY3QpOgotCi0gICAgIiIiRW5jYXBzdWxhdGUgY29tbXVuaWNhdGlvbiB3aXRoIGdpdCBmYXN0LWltcG9ydC4iIiIKLQotICAgIGRlZiBfX2luaXRfXyAoc2VsZiwgZiwgb2JqX2ZldGNoZXIsIGxhc3RfbWFyayA9IDApOgotICAgICAgICAiIiJTZXQgdXAgc2VsZiB0byBjb21tdW5pY2F0ZSB3aXRoIGEgZmFzdC1pbXBvcnQgcHJvY2VzcyB0aHJvdWdoIGYuIiIiCi0gICAgICAgIHNlbGYuZiA9IGYgICMgRmlsZSBvYmplY3Qgd2hlcmUgZmFzdC1pbXBvcnQgc3RyZWFtIGlzIHdyaXR0ZW4KLSAgICAgICAgc2VsZi5vYmpfZmV0Y2hlciA9IG9ial9mZXRjaGVyICAjIEdpdE9iamVjdEZldGNoZXIgaW5zdGFuY2UKLSAgICAgICAgc2VsZi5uZXh0X21hcmsgPSBsYXN0X21hcmsgKyAxICAjIE5leHQgbWFyayBudW1iZXIKLSAgICAgICAgc2VsZi5yZWZzID0gc2V0KCkgICMgS2VlcCB0cmFjayBvZiB0aGUgcmVmbmFtZXMgd2UndmUgc2VlbgotCi0gICAgZGVmIGNvbW1lbnQgKHNlbGYsIHMpOgotICAgICAgICAiIiJXcml0ZSB0aGUgZ2l2ZW4gY29tbWVudCBpbiB0aGUgZmFzdC1pbXBvcnQgc3RyZWFtLiIiIgotICAgICAgICBhc3NlcnQgIlxuIiBub3QgaW4gcywgIk1hbGZvcm1lZCBjb21tZW50OiAnJXMnIiAlIChzKQotICAgICAgICBzZWxmLmYud3JpdGUoIiMgJXNcbiIgJSAocykpCi0KLSAgICBkZWYgY29tbWl0IChzZWxmLCByZWYsIGNvbW1pdGRhdGEpOgotICAgICAgICAiIiJNYWtlIGEgY29tbWl0IG9uIHRoZSBnaXZlbiByZWYsIHdpdGggdGhlIGdpdmVuIEdpdEZJQ29tbWl0LgotCi0gICAgICAgIFJldHVybiB0aGUgbWFyayBudW1iZXIgaWRlbnRpZnlpbmcgdGhpcyBjb21taXQuCi0KLSAgICAgICAgIiIiCi0gICAgICAgIHNlbGYuZi53cml0ZSgiIiJcCi1jb21taXQgJShyZWYpcwotbWFyayA6JShtYXJrKWkKLWNvbW1pdHRlciAlKG5hbWUpcyA8JShlbWFpbClzPiAlKHRpbWVzdGFtcClpICUodGltZXpvbmUpcwotZGF0YSAlKG1zZ0xlbmd0aClpCi0lKG1zZylzCi0iIiIgJSB7Ci0gICAgJ3JlZic6IHJlZiwKLSAgICAnbWFyayc6IHNlbGYubmV4dF9tYXJrLAotICAgICduYW1lJzogY29tbWl0ZGF0YS5uYW1lLAotICAgICdlbWFpbCc6IGNvbW1pdGRhdGEuZW1haWwsCi0gICAgJ3RpbWVzdGFtcCc6IGNvbW1pdGRhdGEudGltZXN0YW1wLAotICAgICd0aW1lem9uZSc6IGNvbW1pdGRhdGEudGltZXpvbmUsCi0gICAgJ21zZ0xlbmd0aCc6IGxlbihjb21taXRkYXRhLm1lc3NhZ2UpLAotICAgICdtc2cnOiBjb21taXRkYXRhLm1lc3NhZ2UsCi19KQotCi0gICAgICAgIGlmIHJlZiBub3QgaW4gc2VsZi5yZWZzOgotICAgICAgICAgICAgc2VsZi5yZWZzLmFkZChyZWYpCi0gICAgICAgICAgICBwYXJlbnQgPSByZWYgKyAiXjAiCi0gICAgICAgICAgICBpZiBzZWxmLm9ial9mZXRjaGVyLmdldF9zaGExKHBhcmVudCk6Ci0gICAgICAgICAgICAgICAgc2VsZi5mLndyaXRlKCJmcm9tICVzXG4iICUgKHBhcmVudCkpCi0KLSAgICAgICAgZm9yIG9wIGluIGNvbW1pdGRhdGEucGF0aG9wczoKLSAgICAgICAgICAgIHNlbGYuZi53cml0ZSgiICIuam9pbihvcCkpCi0gICAgICAgICAgICBzZWxmLmYud3JpdGUoIlxuIikKLSAgICAgICAgc2VsZi5mLndyaXRlKCJcbiIpCi0gICAgICAgIHJldHZhbCA9IHNlbGYubmV4dF9tYXJrCi0gICAgICAgIHNlbGYubmV4dF9tYXJrICs9IDEKLSAgICAgICAgcmV0dXJuIHJldHZhbAotCi0gICAgZGVmIGJsb2IgKHNlbGYsIGRhdGEpOgotICAgICAgICAiIiJJbXBvcnQgdGhlIGdpdmVuIGJsb2IuCi0KLSAgICAgICAgUmV0dXJuIHRoZSBtYXJrIG51bWJlciBpZGVudGlmeWluZyB0aGlzIGJsb2IuCi0KLSAgICAgICAgIiIiCi0gICAgICAgIHNlbGYuZi53cml0ZSgiYmxvYlxubWFyayA6JWlcbmRhdGEgJWlcbiVzXG4iICUKLSAgICAgICAgICAgICAgICAgICAgIChzZWxmLm5leHRfbWFyaywgbGVuKGRhdGEpLCBkYXRhKSkKLSAgICAgICAgcmV0dmFsID0gc2VsZi5uZXh0X21hcmsKLSAgICAgICAgc2VsZi5uZXh0X21hcmsgKz0gMQotICAgICAgICByZXR1cm4gcmV0dmFsCi0KLSAgICBkZWYgcmVzZXQgKHNlbGYsIHJlZiwgb2JqbmFtZSk6Ci0gICAgICAgICIiIlJlc2V0IHRoZSBnaXZlbiByZWYgdG8gcG9pbnQgYXQgdGhlIGdpdmVuIEdpdCBvYmplY3QuIiIiCi0gICAgICAgIHNlbGYuZi53cml0ZSgicmVzZXQgJXNcbmZyb20gJXNcblxuIiAlCi0gICAgICAgICAgICAgICAgICAgICAocmVmLCBHaXRGSUNvbW1pdC5wYXJzZV9vYmpuYW1lKG9iam5hbWUpKSkKLSAgICAgICAgaWYgcmVmIG5vdCBpbiBzZWxmLnJlZnM6Ci0gICAgICAgICAgICBzZWxmLnJlZnMuYWRkKHJlZikKLQotCi1jbGFzcyBHaXROb3RlcyhvYmplY3QpOgotCi0gICAgIiIiRW5jYXBzdWxhdGUgYWNjZXNzIHRvIEdpdCBub3Rlcy4KLQotICAgIFNpbXVsYXRlcyBhIGRpY3Rpb25hcnkgb2Ygb2JqZWN0IG5hbWUgKFNIQTEpIC0+IEdpdCBub3RlIG1hcHBpbmdzLgotCi0gICAgIiIiCi0KLSAgICBkZWYgX19pbml0X18gKHNlbGYsIG5vdGVzX3JlZiwgb2JqX2ZldGNoZXIpOgotICAgICAgICAiIiJDcmVhdGUgYSBuZXcgR2l0IG5vdGVzIGludGVyZmFjZSwgYm91bmQgdG8gdGhlIGdpdmVuIG5vdGVzIHJlZi4iIiIKLSAgICAgICAgc2VsZi5ub3Rlc19yZWYgPSBub3Rlc19yZWYKLSAgICAgICAgc2VsZi5vYmpfZmV0Y2hlciA9IG9ial9mZXRjaGVyICAjIFVzZWQgdG8gZ2V0IG9iamVjdHMgZnJvbSByZXBvCi0gICAgICAgIHNlbGYuaW1wb3J0cyA9IFtdICAjIGxpc3Q6IChvYmpuYW1lLCBub3RlIGRhdGEgYmxvYiBuYW1lKSB0dXBsZXMKLQotICAgIGRlZiBfX2RlbF9fIChzZWxmKToKLSAgICAgICAgIiIiVmVyaWZ5IHRoYXQgc2VsZi5jb21taXRfbm90ZXMoKSB3YXMgY2FsbGVkIGJlZm9yZSBkZXN0cnVjdGlvbi4iIiIKLSAgICAgICAgaWYgc2VsZi5pbXBvcnRzOgotICAgICAgICAgICAgZXJyb3IoIk1pc3NpbmcgY2FsbCB0byBzZWxmLmNvbW1pdF9ub3RlcygpLiIpCi0gICAgICAgICAgICBlcnJvcigiJWkgbm90ZXMgYXJlIG5vdCBjb21taXR0ZWQhIiwgbGVuKHNlbGYuaW1wb3J0cykpCi0KLSAgICBkZWYgX2xvYWQgKHNlbGYsIG9iam5hbWUpOgotICAgICAgICAiIiJSZXR1cm4gdGhlIG5vdGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIGdpdCBvYmplY3QuCi0KLSAgICAgICAgVGhlIG5vdGUgZGF0YSBpcyByZXR1cm5lZCBpbiBzdHJpbmcgZm9ybS4gSWYgbm8gbm90ZSBpcyBmb3VuZAotICAgICAgICBmb3IgdGhlIGdpdmVuIG9iamVjdCwgTm9uZSBpcyByZXR1cm5lZC4KLQotICAgICAgICAiIiIKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgZiA9IHNlbGYub2JqX2ZldGNoZXIub3Blbl9vYmooIiVzOiVzIiAlIChzZWxmLm5vdGVzX3JlZiwgb2JqbmFtZSkpCi0gICAgICAgICAgICByZXQgPSBmLnJlYWQoKQotICAgICAgICAgICAgZi5jbG9zZSgpCi0gICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgIHJldCA9IE5vbmUKLSAgICAgICAgcmV0dXJuIHJldAotCi0gICAgZGVmIF9fZ2V0aXRlbV9fIChzZWxmLCBvYmpuYW1lKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBub3RlIGNvbnRlbnRzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gb2JqZWN0LgotCi0gICAgICAgIFJhaXNlIEtleUVycm9yIGlmIGdpdmVuIG9iamVjdCBoYXMgbm8gYXNzb2NpYXRlZCBub3RlLgotCi0gICAgICAgICIiIgotICAgICAgICBibG9iZGF0YSA9IHNlbGYuX2xvYWQob2JqbmFtZSkKLSAgICAgICAgaWYgYmxvYmRhdGEgaXMgTm9uZToKLSAgICAgICAgICAgIHJhaXNlIEtleUVycm9yKCJPYmplY3QgJyVzJyBoYXMgbm8gbm90ZSIgJSAob2JqbmFtZSkpCi0gICAgICAgIHJldHVybiBibG9iZGF0YQotCi0gICAgZGVmIGdldCAoc2VsZiwgb2JqbmFtZSwgZGVmYXVsdCA9IE5vbmUpOgotICAgICAgICAiIiJSZXR1cm4gdGhlIG5vdGUgY29udGVudHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBvYmplY3QuCi0KLSAgICAgICAgUmV0dXJuIGdpdmVuIGRlZmF1bHQgaWYgZ2l2ZW4gb2JqZWN0IGhhcyBubyBhc3NvY2lhdGVkIG5vdGUuCi0KLSAgICAgICAgIiIiCi0gICAgICAgIGJsb2JkYXRhID0gc2VsZi5fbG9hZChvYmpuYW1lKQotICAgICAgICBpZiBibG9iZGF0YSBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHQKLSAgICAgICAgcmV0dXJuIGJsb2JkYXRhCi0KLSAgICBkZWYgaW1wb3J0X25vdGUgKHNlbGYsIG9iam5hbWUsIGRhdGEsIGdmaSk6Ci0gICAgICAgICIiIlRlbGwgZ2l0IGZhc3QtaW1wb3J0IHRvIHN0b3JlIGRhdGEgYXMgYSBub3RlIGZvciBvYmpuYW1lLgotCi0gICAgICAgIFRoaXMgbWV0aG9kIHVzZXMgdGhlIGdpdmVuIEdpdEZhc3RJbXBvcnQgb2JqZWN0IHRvIGNyZWF0ZSBhCi0gICAgICAgIGJsb2IgY29udGFpbmluZyB0aGUgZ2l2ZW4gbm90ZSBkYXRhLiAgQWxzbyBhbiBlbnRyeSBtYXBwaW5nIHRoZQotICAgICAgICBnaXZlbiBvYmplY3QgbmFtZSB0byB0aGUgY3JlYXRlZCBibG9iIGlzIHN0b3JlZCB1bnRpbAotICAgICAgICBjb21taXRfbm90ZXMoKSBpcyBjYWxsZWQuCi0KLSAgICAgICAgTm90ZSB0aGF0IHRoaXMgbWV0aG9kIG9ubHkgd29ya3MgaWYgaXQgaXMgbGF0ZXIgZm9sbG93ZWQgYnkgYQotICAgICAgICBjYWxsIHRvIHNlbGYuY29tbWl0X25vdGVzKCkgKHdoaWNoIHByb2R1Y2VzIHRoZSBub3RlIGNvbW1pdAotICAgICAgICB0aGF0IHJlZmVycyB0byB0aGUgYmxvYiBwcm9kdWNlZCBoZXJlKS4KLQotICAgICAgICAiIiIKLSAgICAgICAgaWYgbm90IGRhdGEuZW5kc3dpdGgoIlxuIik6Ci0gICAgICAgICAgICBkYXRhICs9ICJcbiIKLSAgICAgICAgZ2ZpLmNvbW1lbnQoIkltcG9ydGluZyBub3RlIGZvciBvYmplY3QgJXMiICUgKG9iam5hbWUpKQotICAgICAgICBtYXJrID0gZ2ZpLmJsb2IoZGF0YSkKLSAgICAgICAgc2VsZi5pbXBvcnRzLmFwcGVuZCgob2JqbmFtZSwgbWFyaykpCi0KLSAgICBkZWYgY29tbWl0X25vdGVzIChzZWxmLCBnZmksIGF1dGhvciwgbWVzc2FnZSk6Ci0gICAgICAgICIiIlByb2R1Y2UgYSBnaXQgZmFzdC1pbXBvcnQgbm90ZSBjb21taXQgZm9yIHRoZSBpbXBvcnRlZCBub3Rlcy4KLQotICAgICAgICBUaGlzIG1ldGhvZCB1c2VzIHRoZSBnaXZlbiBHaXRGYXN0SW1wb3J0IG9iamVjdCB0byBjcmVhdGUgYQotICAgICAgICBjb21taXQgb24gdGhlIG5vdGVzIHJlZiwgaW50cm9kdWNpbmcgdGhlIG5vdGVzIHByZXZpb3VzbHkKLSAgICAgICAgc3VibWl0dGVkIHRvIGltcG9ydF9ub3RlKCkuCi0KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIG5vdCBzZWxmLmltcG9ydHM6Ci0gICAgICAgICAgICByZXR1cm4KLSAgICAgICAgY29tbWl0ZGF0YSA9IEdpdEZJQ29tbWl0KGF1dGhvclswXSwgYXV0aG9yWzFdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZS50aW1lKCksICIwMDAwIiwgbWVzc2FnZSkKLSAgICAgICAgZm9yIG9iam5hbWUsIGJsb2JuYW1lIGluIHNlbGYuaW1wb3J0czoKLSAgICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKG9iam5hbWUsIGludCkgYW5kIG9iam5hbWUgPiAwCi0gICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShibG9ibmFtZSwgaW50KSBhbmQgYmxvYm5hbWUgPiAwCi0gICAgICAgICAgICBjb21taXRkYXRhLm5vdGUoYmxvYm5hbWUsIG9iam5hbWUpCi0gICAgICAgIGdmaS5jb21taXQoc2VsZi5ub3Rlc19yZWYsIGNvbW1pdGRhdGEpCi0gICAgICAgIHNlbGYuaW1wb3J0cyA9IFtdCi0KLQotY2xhc3MgR2l0Q2FjaGVkTm90ZXMoR2l0Tm90ZXMpOgotCi0gICAgIiIiRW5jYXBzdWxhdGUgYWNjZXNzIHRvIEdpdCBub3RlcyAoY2FjaGVkIHZlcnNpb24pLgotCi0gICAgT25seSB1c2UgdGhpcyBjbGFzcyBpZiBubyBjYWNoaW5nIGlzIGRvbmUgYXQgYSBoaWdoZXIgbGV2ZWwuCi0KLSAgICBTaW11bGF0ZXMgYSBkaWN0aW9uYXJ5IG9mIG9iamVjdCBuYW1lIChTSEExKSAtPiBHaXQgbm90ZSBtYXBwaW5ncy4KLQotICAgICIiIgotCi0gICAgZGVmIF9faW5pdF9fIChzZWxmLCBub3Rlc19yZWYsIG9ial9mZXRjaGVyKToKLSAgICAgICAgIiIiU2V0IHVwIGEgY2FjaGluZyB3cmFwcGVyIGFyb3VuZCBHaXROb3Rlcy4iIiIKLSAgICAgICAgR2l0Tm90ZXMuX19pbml0X18oc2VsZiwgbm90ZXNfcmVmLCBvYmpfZmV0Y2hlcikKLSAgICAgICAgc2VsZi5fY2FjaGUgPSB7fSAgIyBDYWNoZTogb2JqZWN0IG5hbWUgLT4gbm90ZSBkYXRhCi0KLSAgICBkZWYgX19kZWxfXyAoc2VsZik6Ci0gICAgICAgICIiIlZlcmlmeSB0aGF0IEdpdE5vdGVzJyBkZXN0cnVjdG9yIGlzIGNhbGxlZC4iIiIKLSAgICAgICAgR2l0Tm90ZXMuX19kZWxfXyhzZWxmKQotCi0gICAgZGVmIF9sb2FkIChzZWxmLCBvYmpuYW1lKToKLSAgICAgICAgIiIiRXh0ZW5kIEdpdE5vdGVzLl9sb2FkKCkgd2l0aCBhIGxvY2FsIG9iam5hbWUgLT4gbm90ZSBjYWNoZS4iIiIKLSAgICAgICAgaWYgb2JqbmFtZSBub3QgaW4gc2VsZi5fY2FjaGU6Ci0gICAgICAgICAgICBzZWxmLl9jYWNoZVtvYmpuYW1lXSA9IEdpdE5vdGVzLl9sb2FkKHNlbGYsIG9iam5hbWUpCi0gICAgICAgIHJldHVybiBzZWxmLl9jYWNoZVtvYmpuYW1lXQotCi0gICAgZGVmIGltcG9ydF9ub3RlIChzZWxmLCBvYmpuYW1lLCBkYXRhLCBnZmkpOgotICAgICAgICAiIiJFeHRlbmQgR2l0Tm90ZXMuaW1wb3J0X25vdGUoKSB3aXRoIGEgbG9jYWwgb2JqbmFtZSAtPiBub3RlIGNhY2hlLiIiIgotICAgICAgICBpZiBub3QgZGF0YS5lbmRzd2l0aCgiXG4iKToKLSAgICAgICAgICAgIGRhdGEgKz0gIlxuIgotICAgICAgICBhc3NlcnQgb2JqbmFtZSBub3QgaW4gc2VsZi5fY2FjaGUKLSAgICAgICAgc2VsZi5fY2FjaGVbb2JqbmFtZV0gPSBkYXRhCi0gICAgICAgIEdpdE5vdGVzLmltcG9ydF9ub3RlKHNlbGYsIG9iam5hbWUsIGRhdGEsIGdmaSkKLQotCi1pZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvZ2l0X3JlbW90ZV9oZWxwZXJzL2dpdC9pbXBvcnRlci5weSBiL2dpdF9yZW1vdGVfaGVscGVycy9naXQvaW1wb3J0ZXIucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzZjkwZTEuLjAwMDAwMDAKLS0tIGEvZ2l0X3JlbW90ZV9oZWxwZXJzL2dpdC9pbXBvcnRlci5weQorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLWltcG9ydCBvcwotaW1wb3J0IHN1YnByb2Nlc3MKLQotZnJvbSBnaXRfcmVtb3RlX2hlbHBlcnMudXRpbCBpbXBvcnQgY2hlY2tfY2FsbCwgY2hlY2tfb3V0cHV0Ci0KLQotY2xhc3MgR2l0SW1wb3J0ZXIob2JqZWN0KToKLSAgICAiIiJBbiBpbXBvcnRlciBmb3IgdGVzdGdpdCByZXBvc2l0b3JpZXMuCi0KLSAgICBUaGlzIGltcG9ydGVyIHNpbXBseSBkZWxlZ2F0ZXMgdG8gZ2l0IGZhc3QtaW1wb3J0LgotICAgICIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHJlcG8pOgotICAgICAgICAiIiJDcmVhdGVzIGEgbmV3IGltcG9ydGVyIGZvciB0aGUgc3BlY2lmaWVkIHJlcG8uCi0gICAgICAgICIiIgotCi0gICAgICAgIHNlbGYucmVwbyA9IHJlcG8KLQotICAgIGRlZiBnZXRfcmVmcyhzZWxmLCBnaXRkaXIpOgotICAgICAgICAiIiJSZXR1cm5zIGEgZGljdGlvbmFyeSB3aXRoIHJlZnMuCi0KLSAgICAgICAgTm90ZSB0aGF0IHRoZSBrZXlzIGluIHRoZSByZXR1cm5lZCBkaWN0aW9uYXJ5IGFyZSBieXRlIHN0cmluZ3MgYXMKLSAgICAgICAgcmVhZCBmcm9tIGdpdC4KLSAgICAgICAgIiIiCi0gICAgICAgIGFyZ3MgPSBbImdpdCIsICItLWdpdC1kaXI9IiArIGdpdGRpciwgImZvci1lYWNoLXJlZiIsICJyZWZzL2hlYWRzIl0KLSAgICAgICAgbGluZXMgPSBjaGVja19vdXRwdXQoYXJncykuc3RyaXAoKS5zcGxpdCgnXG4nLmVuY29kZSgnYXNjaWknKSkKLSAgICAgICAgcmVmcyA9IHt9Ci0gICAgICAgIGZvciBsaW5lIGluIGxpbmVzOgotICAgICAgICAgICAgdmFsdWUsIG5hbWUgPSBsaW5lLnNwbGl0KCcgJy5lbmNvZGUoJ2FzY2lpJykpCi0gICAgICAgICAgICBuYW1lID0gbmFtZS5zdHJpcCgnY29tbWl0XHQnLmVuY29kZSgnYXNjaWknKSkKLSAgICAgICAgICAgIHJlZnNbbmFtZV0gPSB2YWx1ZQotICAgICAgICByZXR1cm4gcmVmcwotCi0gICAgZGVmIGRvX2ltcG9ydChzZWxmLCBiYXNlKToKLSAgICAgICAgIiIiSW1wb3J0cyBhIGZhc3QtaW1wb3J0IHN0cmVhbSB0byB0aGUgZ2l2ZW4gZGlyZWN0b3J5LgotCi0gICAgICAgIFNpbXBseSBkZWxlZ2F0ZXMgdG8gZ2l0IGZhc3QtaW1wb3J0LgotICAgICAgICAiIiIKLQotICAgICAgICBkaXJuYW1lID0gc2VsZi5yZXBvLmdldF9iYXNlX3BhdGgoYmFzZSkKLSAgICAgICAgaWYgc2VsZi5yZXBvLmxvY2FsOgotICAgICAgICAgICAgZ2l0ZGlyID0gc2VsZi5yZXBvLmdpdHBhdGgKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGdpdGRpciA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oZGlybmFtZSwgJy5naXQnKSkKLSAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oZGlybmFtZSwgJ3Rlc3RnaXQubWFya3MnKSkKLQotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZGlybmFtZSk6Ci0gICAgICAgICAgICBvcy5tYWtlZGlycyhkaXJuYW1lKQotCi0gICAgICAgIHJlZnNfYmVmb3JlID0gc2VsZi5nZXRfcmVmcyhnaXRkaXIpCi0KLSAgICAgICAgYXJncyA9IFsiZ2l0IiwgIi0tZ2l0LWRpcj0iICsgZ2l0ZGlyLCAiZmFzdC1pbXBvcnQiLCAiLS1xdWlldCIsICItLWV4cG9ydC1tYXJrcz0iICsgcGF0aF0KLQotICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhwYXRoKToKLSAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCItLWltcG9ydC1tYXJrcz0iICsgcGF0aCkKLQotICAgICAgICBjaGVja19jYWxsKGFyZ3MpCi0KLSAgICAgICAgcmVmc19hZnRlciA9IHNlbGYuZ2V0X3JlZnMoZ2l0ZGlyKQotCi0gICAgICAgIGNoYW5nZWQgPSB7fQotCi0gICAgICAgIGZvciBuYW1lLCB2YWx1ZSBpbiByZWZzX2FmdGVyLml0ZXJpdGVtcygpOgotICAgICAgICAgICAgaWYgcmVmc19iZWZvcmUuZ2V0KG5hbWUpID09IHZhbHVlOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgIGNoYW5nZWRbbmFtZV0gPSB2YWx1ZQotCi0gICAgICAgIHJldHVybiBjaGFuZ2VkCmRpZmYgLS1naXQgYS9naXRfcmVtb3RlX2hlbHBlcnMvZ2l0L25vbl9sb2NhbC5weSBiL2dpdF9yZW1vdGVfaGVscGVycy9naXQvbm9uX2xvY2FsLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNzAwMjUwLi4wMDAwMDAwCi0tLSBhL2dpdF9yZW1vdGVfaGVscGVycy9naXQvbm9uX2xvY2FsLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNjEgKzAsMCBAQAotaW1wb3J0IG9zCi1pbXBvcnQgc3VicHJvY2VzcwotCi1mcm9tIGdpdF9yZW1vdGVfaGVscGVycy51dGlsIGltcG9ydCBjaGVja19jYWxsLCBkaWUsIHdhcm4KLQotCi1jbGFzcyBOb25Mb2NhbEdpdChvYmplY3QpOgotICAgICIiIkhhbmRsZXIgdG8gaW50ZXJhY3Qgd2l0aCBub24tbG9jYWwgcmVwb3MuCi0gICAgIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgcmVwbyk6Ci0gICAgICAgICIiIkNyZWF0ZXMgYSBuZXcgbm9uLWxvY2FsIGhhbmRsZXIgZm9yIHRoZSBzcGVjaWZpZWQgcmVwby4KLSAgICAgICAgIiIiCi0KLSAgICAgICAgc2VsZi5yZXBvID0gcmVwbwotCi0gICAgZGVmIGNsb25lKHNlbGYsIGJhc2UpOgotICAgICAgICAiIiJDbG9uZXMgdGhlIG5vbi1sb2NhbCByZXBvIHRvIGJhc2UuCi0KLSAgICAgICAgRG9lcyBub3RoaW5nIGlmIGEgY2xvbmUgYWxyZWFkeSBleGlzdHMuCi0gICAgICAgICIiIgotCi0gICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5yZXBvLmdldF9iYXNlX3BhdGgoYmFzZSksICcuZ2l0JykKLQotICAgICAgICAjIGFscmVhZHkgY2xvbmVkCi0gICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHBhdGgpOgotICAgICAgICAgICAgcmV0dXJuIHBhdGgKLQotICAgICAgICBvcy5tYWtlZGlycyhwYXRoKQotICAgICAgICBhcmdzID0gWyJnaXQiLCAiY2xvbmUiLCAiLS1iYXJlIiwgIi0tcXVpZXQiLCBzZWxmLnJlcG8uZ2l0cGF0aCwgcGF0aF0KLQotICAgICAgICBjaGVja19jYWxsKGFyZ3MpCi0KLSAgICAgICAgcmV0dXJuIHBhdGgKLQotICAgIGRlZiB1cGRhdGUoc2VsZiwgYmFzZSk6Ci0gICAgICAgICIiIlVwZGF0ZXMgY2hlY2tvdXQgb2YgdGhlIG5vbi1sb2NhbCByZXBvIGluIGJhc2UuCi0gICAgICAgICIiIgotCi0gICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5yZXBvLmdldF9iYXNlX3BhdGgoYmFzZSksICcuZ2l0JykKLQotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocGF0aCk6Ci0gICAgICAgICAgICBkaWUoImNvdWxkIG5vdCBmaW5kIHJlcG8gYXQgJXMiLCBwYXRoKQotCi0gICAgICAgIGFyZ3MgPSBbImdpdCIsICItLWdpdC1kaXI9IiArIHBhdGgsICJmZXRjaCIsICItLXF1aWV0Iiwgc2VsZi5yZXBvLmdpdHBhdGhdCi0gICAgICAgIGNoZWNrX2NhbGwoYXJncykKLQotICAgICAgICBhcmdzID0gWyJnaXQiLCAiLS1naXQtZGlyPSIgKyBwYXRoLCAidXBkYXRlLXJlZiIsICJyZWZzL2hlYWRzL21hc3RlciIsICJGRVRDSF9IRUFEIl0KLSAgICAgICAgY2hpbGQgPSBjaGVja19jYWxsKGFyZ3MpCi0KLSAgICBkZWYgcHVzaChzZWxmLCBiYXNlKToKLSAgICAgICAgIiIiUHVzaGVzIGZyb20gdGhlIG5vbi1sb2NhbCByZXBvIHRvIGJhc2UuCi0gICAgICAgICIiIgotCi0gICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5yZXBvLmdldF9iYXNlX3BhdGgoYmFzZSksICcuZ2l0JykKLQotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocGF0aCk6Ci0gICAgICAgICAgICBkaWUoImNvdWxkIG5vdCBmaW5kIHJlcG8gYXQgJXMiLCBwYXRoKQotCi0gICAgICAgIGFyZ3MgPSBbImdpdCIsICItLWdpdC1kaXI9IiArIHBhdGgsICJwdXNoIiwgIi0tcXVpZXQiLCBzZWxmLnJlcG8uZ2l0cGF0aCwgIi0tYWxsIl0KLSAgICAgICAgY2hpbGQgPSBjaGVja19jYWxsKGFyZ3MpCmRpZmYgLS1naXQgYS9naXRfcmVtb3RlX2hlbHBlcnMvZ2l0L3JlcG8ucHkgYi9naXRfcmVtb3RlX2hlbHBlcnMvZ2l0L3JlcG8ucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjYmY4ZDcuLjAwMDAwMDAKLS0tIGEvZ2l0X3JlbW90ZV9oZWxwZXJzL2dpdC9yZXBvLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotaW1wb3J0IG9zCi1pbXBvcnQgc3VicHJvY2VzcwotCi1mcm9tIGdpdF9yZW1vdGVfaGVscGVycy51dGlsIGltcG9ydCBjaGVja19jYWxsCi0KLQotZGVmIHNhbml0aXplKHJldiwgc2VwPSdcdCcpOgotICAgICIiIkNvbnZlcnRzIGEgZm9yLWVhY2gtcmVmIGxpbmUgdG8gYSBuYW1lL3ZhbHVlIHBhaXIuCi0gICAgIiIiCi0KLSAgICBzcGxpdHJldiA9IHJldi5zcGxpdChzZXApCi0gICAgYnJhbmNodmFsID0gc3BsaXRyZXZbMF0KLSAgICBicmFuY2huYW1lID0gc3BsaXRyZXZbMV0uc3RyaXAoKQotICAgIGlmIGJyYW5jaG5hbWUuc3RhcnRzd2l0aCgicmVmcy9oZWFkcy8iKToKLSAgICAgICAgYnJhbmNobmFtZSA9IGJyYW5jaG5hbWVbMTE6XQotCi0gICAgcmV0dXJuIGJyYW5jaG5hbWUsIGJyYW5jaHZhbAotCi1kZWYgaXNfcmVtb3RlKHVybCk6Ci0gICAgIiIiQ2hlY2tzIHdoZXRoZXIgdGhlIHNwZWNpZmllZCB2YWx1ZSBpcyBhIHJlbW90ZSB1cmwuCi0gICAgIiIiCi0KLSAgICBwcmVmaXhlcyA9IFsiaHR0cCIsICJmaWxlIiwgImdpdCJdCi0KLSAgICBmb3IgcHJlZml4IGluIHByZWZpeGVzOgotICAgICAgICBpZiB1cmwuc3RhcnRzd2l0aChwcmVmaXgpOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICByZXR1cm4gRmFsc2UKLQotY2xhc3MgR2l0UmVwbyhvYmplY3QpOgotICAgICIiIlJlcG8gb2JqZWN0IHJlcHJlc2VudGluZyBhIHJlcG8uCi0gICAgIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGF0aCk6Ci0gICAgICAgICIiIkluaXRpYWxpemVzIGEgbmV3IHJlcG8gYXQgdGhlIGdpdmVuIHBhdGguCi0gICAgICAgICIiIgotCi0gICAgICAgIHNlbGYucGF0aCA9IHBhdGgKLSAgICAgICAgc2VsZi5oZWFkID0gTm9uZQotICAgICAgICBzZWxmLnJldm1hcCA9IHt9Ci0gICAgICAgIHNlbGYubG9jYWwgPSBub3QgaXNfcmVtb3RlKHNlbGYucGF0aCkKLQotICAgICAgICBpZihzZWxmLnBhdGguZW5kc3dpdGgoJy5naXQnKSk6Ci0gICAgICAgICAgICBzZWxmLmdpdHBhdGggPSBzZWxmLnBhdGgKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZ2l0cGF0aCA9IG9zLnBhdGguam9pbihzZWxmLnBhdGgsICcuZ2l0JykKLQotICAgICAgICBpZiBzZWxmLmxvY2FsIGFuZCBub3Qgb3MucGF0aC5leGlzdHMoc2VsZi5naXRwYXRoKToKLSAgICAgICAgICAgIG9zLm1ha2VkaXJzKHNlbGYuZ2l0cGF0aCkKLQotICAgIGRlZiBnZXRfcmV2cyhzZWxmKToKLSAgICAgICAgIiIiRmV0Y2hlcyBhbGwgcmV2cyBmcm9tIHRoZSByZW1vdGUuCi0gICAgICAgICIiIgotCi0gICAgICAgIGFyZ3MgPSBbImdpdCIsICJscy1yZW1vdGUiLCBzZWxmLmdpdHBhdGhdCi0gICAgICAgIHBhdGggPSAiLmNhY2hlZF9yZXZzIgotICAgICAgICBvZmlsZSA9IG9wZW4ocGF0aCwgInciKQotCi0gICAgICAgIGNoZWNrX2NhbGwoYXJncywgc3Rkb3V0PW9maWxlKQotICAgICAgICBvdXRwdXQgPSBvcGVuKHBhdGgpLnJlYWRsaW5lcygpCi0gICAgICAgIHNlbGYucmV2bWFwID0gZGljdChzYW5pdGl6ZShpKSBmb3IgaSBpbiBvdXRwdXQpCi0gICAgICAgIGlmICJIRUFEIiBpbiBzZWxmLnJldm1hcDoKLSAgICAgICAgICAgIGRlbCBzZWxmLnJldm1hcFsiSEVBRCJdCi0gICAgICAgIHNlbGYucmV2cyA9IHNlbGYucmV2bWFwLmtleXMoKQotICAgICAgICBvZmlsZS5jbG9zZSgpCi0KLSAgICBkZWYgZ2V0X2hlYWQoc2VsZik6Ci0gICAgICAgICIiIkRldGVybWluZXMgdGhlIGhlYWQgb2YgYSBsb2NhbCByZXBvLgotICAgICAgICAiIiIKLQotICAgICAgICBpZiBub3Qgc2VsZi5sb2NhbDoKLSAgICAgICAgICAgIHJldHVybgotCi0gICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5naXRwYXRoLCAiSEVBRCIpCi0gICAgICAgIGhlYWQgPSBvcGVuKHBhdGgpLnJlYWRsaW5lKCkKLSAgICAgICAgc2VsZi5oZWFkLCBfID0gc2FuaXRpemUoaGVhZCwgJyAnKQpkaWZmIC0tZ2l0IGEvZ2l0X3JlbW90ZV9oZWxwZXJzL3NldHVwLmNmZyBiL2dpdF9yZW1vdGVfaGVscGVycy9zZXR1cC5jZmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiZmY4ODcuLjAwMDAwMDAKLS0tIGEvZ2l0X3JlbW90ZV9oZWxwZXJzL3NldHVwLmNmZworKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotW2J1aWxkXQotYnVpbGRfcHVyZWxpYiA9IGJ1aWxkL2xpYgotYnVpbGRfcGxhdGxpYiA9IGJ1aWxkL2xpYgpkaWZmIC0tZ2l0IGEvZ2l0X3JlbW90ZV9oZWxwZXJzL3NldHVwLnB5IGIvZ2l0X3JlbW90ZV9oZWxwZXJzL3NldHVwLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZGU0MWRlLi4wMDAwMDAwCi0tLSBhL2dpdF9yZW1vdGVfaGVscGVycy9zZXR1cC5weQorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotCi0iIiJEaXN0dXRpbHMgYnVpbGQvaW5zdGFsbCBzY3JpcHQgZm9yIHRoZSBnaXRfcmVtb3RlX2hlbHBlcnMgcGFja2FnZS4iIiIKLQotZnJvbSBkaXN0dXRpbHMuY29yZSBpbXBvcnQgc2V0dXAKLQotIyBJZiBidWlsZGluZyB1bmRlciBQeXRob24zIHdlIG5lZWQgdG8gcnVuIDJ0bzMgb24gdGhlIGNvZGUsIGRvIHRoaXMgYnkKLSMgdHJ5aW5nIHRvIGltcG9ydCBkaXN0dXRpbHMnIDJ0bzMgYnVpbGRlciwgd2hpY2ggaXMgb25seSBhdmFpbGFibGUgaW4KLSMgUHl0aG9uMy4KLXRyeToKLSAgICBmcm9tIGRpc3R1dGlscy5jb21tYW5kLmJ1aWxkX3B5IGltcG9ydCBidWlsZF9weV8ydG8zIGFzIGJ1aWxkX3B5Ci1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgIyAyLngKLSAgICBmcm9tIGRpc3R1dGlscy5jb21tYW5kLmJ1aWxkX3B5IGltcG9ydCBidWlsZF9weQotCi1zZXR1cCgKLSAgICBuYW1lID0gJ2dpdF9yZW1vdGVfaGVscGVycycsCi0gICAgdmVyc2lvbiA9ICcwLjEuMCcsCi0gICAgZGVzY3JpcHRpb24gPSAnR2l0IHJlbW90ZSBoZWxwZXIgcHJvZ3JhbSBmb3Igbm9uLWdpdCByZXBvc2l0b3JpZXMnLAotICAgIGxpY2Vuc2UgPSAnR1BMdjInLAotICAgIGF1dGhvciA9ICdUaGUgR2l0IENvbW11bml0eScsCi0gICAgYXV0aG9yX2VtYWlsID0gJ2dpdEB2Z2VyLmtlcm5lbC5vcmcnLAotICAgIHVybCA9ICdodHRwOi8vd3d3LmdpdC1zY20uY29tLycsCi0gICAgcGFja2FnZV9kaXIgPSB7J2dpdF9yZW1vdGVfaGVscGVycyc6ICcnfSwKLSAgICBwYWNrYWdlcyA9IFsnZ2l0X3JlbW90ZV9oZWxwZXJzJywgJ2dpdF9yZW1vdGVfaGVscGVycy5naXQnXSwKLSAgICBjbWRjbGFzcyA9IHsnYnVpbGRfcHknOiBidWlsZF9weX0sCi0pCmRpZmYgLS1naXQgYS9naXRfcmVtb3RlX2hlbHBlcnMvdXRpbC5weSBiL2dpdF9yZW1vdGVfaGVscGVycy91dGlsLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYmJiMDFiLi4wMDAwMDAwCi0tLSBhL2dpdF9yZW1vdGVfaGVscGVycy91dGlsLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMjc1ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotCi0iIiJNaXNjLiB1c2VmdWwgZnVuY3Rpb25hbGl0eSB1c2VkIGJ5IHRoZSByZXN0IG9mIHRoaXMgcGFja2FnZS4KLQotVGhpcyBtb2R1bGUgcHJvdmlkZXMgY29tbW9uIGZ1bmN0aW9uYWxpdHkgdXNlZCBieSB0aGUgb3RoZXIgbW9kdWxlcyBpbgotdGhpcyBwYWNrYWdlLgotCi0iIiIKLQotaW1wb3J0IHN5cwotaW1wb3J0IG9zCi1pbXBvcnQgc3VicHJvY2VzcwotCi10cnk6Ci0gICAgZnJvbSBzdWJwcm9jZXNzIGltcG9ydCBDYWxsZWRQcm9jZXNzRXJyb3IKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAjIGZyb20gcHl0aG9uMi43OnN1YnByb2Nlc3MucHkKLSAgICAjIEV4Y2VwdGlvbiBjbGFzc2VzIHVzZWQgYnkgdGhpcyBtb2R1bGUuCi0gICAgY2xhc3MgQ2FsbGVkUHJvY2Vzc0Vycm9yKEV4Y2VwdGlvbik6Ci0gICAgICAgICIiIlRoaXMgZXhjZXB0aW9uIGlzIHJhaXNlZCB3aGVuIGEgcHJvY2VzcyBydW4gYnkgY2hlY2tfY2FsbCgpIHJldHVybnMKLSAgICAgICAgYSBub24temVybyBleGl0IHN0YXR1cy4gIFRoZSBleGl0IHN0YXR1cyB3aWxsIGJlIHN0b3JlZCBpbiB0aGUKLSAgICAgICAgcmV0dXJuY29kZSBhdHRyaWJ1dGUuIiIiCi0gICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCByZXR1cm5jb2RlLCBjbWQpOgotICAgICAgICAgICAgc2VsZi5yZXR1cm5jb2RlID0gcmV0dXJuY29kZQotICAgICAgICAgICAgc2VsZi5jbWQgPSBjbWQKLSAgICAgICAgZGVmIF9fc3RyX18oc2VsZik6Ci0gICAgICAgICAgICByZXR1cm4gIkNvbW1hbmQgJyVzJyByZXR1cm5lZCBub24temVybyBleGl0IHN0YXR1cyAlZCIgJSAoc2VsZi5jbWQsIHNlbGYucmV0dXJuY29kZSkKLQotCi0jIFdoZXRoZXIgb3Igbm90IHRvIHNob3cgZGVidWcgbWVzc2FnZXMKLURFQlVHID0gRmFsc2UKLQotZGVmIG5vdGlmeShtc2csICphcmdzKToKLSAgICAiIiJQcmludCBhIG1lc3NhZ2UgdG8gc3RkZXJyLiIiIgotICAgIHByaW50ID4+IHN5cy5zdGRlcnIsIG1zZyAlIGFyZ3MKLQotZGVmIGRlYnVnIChtc2csICphcmdzKToKLSAgICAiIiJQcmludCBhIGRlYnVnIG1lc3NhZ2UgdG8gc3RkZXJyIHdoZW4gREVCVUcgaXMgZW5hYmxlZC4iIiIKLSAgICBpZiBERUJVRzoKLSAgICAgICAgcHJpbnQgPj4gc3lzLnN0ZGVyciwgbXNnICUgYXJncwotCi1kZWYgZXJyb3IgKG1zZywgKmFyZ3MpOgotICAgICIiIlByaW50IGFuIGVycm9yIG1lc3NhZ2UgdG8gc3RkZXJyLiIiIgotICAgIHByaW50ID4+IHN5cy5zdGRlcnIsICJFUlJPUjoiLCBtc2cgJSBhcmdzCi0KLWRlZiB3YXJuKG1zZywgKmFyZ3MpOgotICAgICIiIlByaW50IGEgd2FybmluZyBtZXNzYWdlIHRvIHN0ZGVyci4iIiIKLSAgICBwcmludCA+PiBzeXMuc3RkZXJyLCAid2FybmluZzoiLCBtc2cgJSBhcmdzCi0KLWRlZiBkaWUgKG1zZywgKmFyZ3MpOgotICAgICIiIlByaW50IGFzIGVycm9yIG1lc3NhZ2UgdG8gc3RkZXJyIGFuZCBleGl0IHRoZSBwcm9ncmFtLiIiIgotICAgIGVycm9yKG1zZywgKmFyZ3MpCi0gICAgc3lzLmV4aXQoMSkKLQotCi1jbGFzcyBQcm9ncmVzc0luZGljYXRvcihvYmplY3QpOgotCi0gICAgIiIiU2ltcGxlIHByb2dyZXNzIGluZGljYXRvci4KLQotICAgIERpc3BsYXllZCBhcyBhIHNwaW5uaW5nIGNoYXJhY3RlciBieSBkZWZhdWx0LCBidXQgY2FuIGJlIGN1c3RvbWl6ZWQKLSAgICBieSBwYXNzaW5nIGN1c3RvbSBtZXNzYWdlcyB0aGF0IG92ZXJyaWRlcyB0aGUgc3Bpbm5pbmcgY2hhcmFjdGVyLgotCi0gICAgIiIiCi0KLSAgICBTdGF0ZXMgPSAoInwiLCAiLyIsICItIiwgIlxcIikKLQotICAgIGRlZiBfX2luaXRfXyAoc2VsZiwgcHJlZml4ID0gIiIsIGYgPSBzeXMuc3Rkb3V0KToKLSAgICAgICAgIiIiQ3JlYXRlIGEgbmV3IFByb2dyZXNzSW5kaWNhdG9yLCBib3VuZCB0byB0aGUgZ2l2ZW4gZmlsZSBvYmplY3QuIiIiCi0gICAgICAgIHNlbGYubiA9IDAgICMgU2ltcGxlIHByb2dyZXNzIGNvdW50ZXIKLSAgICAgICAgc2VsZi5mID0gZiAgIyBQcm9ncmVzcyBpcyB3cml0dGVuIHRvIHRoaXMgZmlsZSBvYmplY3QKLSAgICAgICAgc2VsZi5wcmV2X2xlbiA9IDAgICMgTGVuZ3RoIG9mIHByZXZpb3VzIG1zZyAodG8gYmUgb3ZlcndyaXR0ZW4pCi0gICAgICAgIHNlbGYucHJlZml4ID0gcHJlZml4ICAjIFByZWZpeCBwcmVwZW5kZWQgdG8gZWFjaCBwcm9ncmVzcyBtZXNzYWdlCi0gICAgICAgIHNlbGYucHJlZml4X2xlbnMgPSBbXSAjIFN0YWNrIG9mIHByZWZpeCBzdHJpbmcgbGVuZ3RocwotCi0gICAgZGVmIHB1c2hwcmVmaXggKHNlbGYsIHByZWZpeCk6Ci0gICAgICAgICIiIkFwcGVuZCB0aGUgZ2l2ZW4gcHJlZml4IG9udG8gdGhlIHByZWZpeCBzdGFjay4iIiIKLSAgICAgICAgc2VsZi5wcmVmaXhfbGVucy5hcHBlbmQobGVuKHNlbGYucHJlZml4KSkKLSAgICAgICAgc2VsZi5wcmVmaXggKz0gcHJlZml4Ci0KLSAgICBkZWYgcG9wcHJlZml4IChzZWxmKToKLSAgICAgICAgIiIiUmVtb3ZlIHRoZSBsYXN0IHByZWZpeCBmcm9tIHRoZSBwcmVmaXggc3RhY2suIiIiCi0gICAgICAgIHByZXZfbGVuID0gc2VsZi5wcmVmaXhfbGVucy5wb3AoKQotICAgICAgICBzZWxmLnByZWZpeCA9IHNlbGYucHJlZml4WzpwcmV2X2xlbl0KLQotICAgIGRlZiBfX2NhbGxfXyAoc2VsZiwgbXNnID0gTm9uZSwgbGYgPSBGYWxzZSk6Ci0gICAgICAgICIiIkluZGljYXRlIHByb2dyZXNzLCBwb3NzaWJseSB3aXRoIGEgY3VzdG9tIG1lc3NhZ2UuIiIiCi0gICAgICAgIGlmIG1zZyBpcyBOb25lOgotICAgICAgICAgICAgbXNnID0gc2VsZi5TdGF0ZXNbc2VsZi5uICUgbGVuKHNlbGYuU3RhdGVzKV0KLSAgICAgICAgbXNnID0gc2VsZi5wcmVmaXggKyBtc2cKLSAgICAgICAgcHJpbnQgPj4gc2VsZi5mLCAiXHIlLSpzIiAlIChzZWxmLnByZXZfbGVuLCBtc2cpLAotICAgICAgICBzZWxmLnByZXZfbGVuID0gbGVuKG1zZy5leHBhbmR0YWJzKCkpCi0gICAgICAgIGlmIGxmOgotICAgICAgICAgICAgcHJpbnQgPj4gc2VsZi5mCi0gICAgICAgICAgICBzZWxmLnByZXZfbGVuID0gMAotICAgICAgICBzZWxmLm4gKz0gMQotCi0gICAgZGVmIGZpbmlzaCAoc2VsZiwgbXNnID0gImRvbmUiLCBub3ByZWZpeCA9IEZhbHNlKToKLSAgICAgICAgIiIiRmluYWxpemUgcHJvZ3Jlc3MgaW5kaWNhdGlvbiB3aXRoIHRoZSBnaXZlbiBtZXNzYWdlLiIiIgotICAgICAgICBpZiBub3ByZWZpeDoKLSAgICAgICAgICAgIHNlbGYucHJlZml4ID0gIiIKLSAgICAgICAgc2VsZihtc2csIFRydWUpCi0KLQotZGVmIHN0YXJ0X2NvbW1hbmQgKGFyZ3MsIGN3ZCA9IE5vbmUsIHNoZWxsID0gRmFsc2UsIGFkZF9lbnYgPSBOb25lLAotICAgICAgICAgICAgICAgICAgIHN0ZGluID0gc3VicHJvY2Vzcy5QSVBFLCBzdGRvdXQgPSBzdWJwcm9jZXNzLlBJUEUsCi0gICAgICAgICAgICAgICAgICAgc3RkZXJyID0gc3VicHJvY2Vzcy5QSVBFKToKLSAgICAiIiJTdGFydCB0aGUgZ2l2ZW4gY29tbWFuZCwgYW5kIHJldHVybiBhIHN1YnByb2Nlc3Mgb2JqZWN0LgotCi0gICAgVGhpcyBwcm92aWRlcyBhIHNpbXBsZXIgaW50ZXJmYWNlIHRvIHRoZSBzdWJwcm9jZXNzIG1vZHVsZS4KLQotICAgICIiIgotICAgIGVudiA9IE5vbmUKLSAgICBpZiBhZGRfZW52IGlzIG5vdCBOb25lOgotICAgICAgICBlbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQotICAgICAgICBlbnYudXBkYXRlKGFkZF9lbnYpCi0gICAgcmV0dXJuIHN1YnByb2Nlc3MuUG9wZW4oYXJncywgYnVmc2l6ZSA9IDEsIHN0ZGluID0gc3RkaW4sIHN0ZG91dCA9IHN0ZG91dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnIgPSBzdGRlcnIsIGN3ZCA9IGN3ZCwgc2hlbGwgPSBzaGVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnYgPSBlbnYsIHVuaXZlcnNhbF9uZXdsaW5lcyA9IFRydWUpCi0KLQotZGVmIHJ1bl9jb21tYW5kIChhcmdzLCBjd2QgPSBOb25lLCBzaGVsbCA9IEZhbHNlLCBhZGRfZW52ID0gTm9uZSwKLSAgICAgICAgICAgICAgICAgZmxhZ19lcnJvciA9IFRydWUpOgotICAgICIiIlJ1biB0aGUgZ2l2ZW4gY29tbWFuZCB0byBjb21wbGV0aW9uLCBhbmQgcmV0dXJuIGl0cyByZXN1bHRzLgotCi0gICAgVGhpcyBwcm92aWRlcyBhIHNpbXBsZXIgaW50ZXJmYWNlIHRvIHRoZSBzdWJwcm9jZXNzIG1vZHVsZS4KLQotICAgIFRoZSByZXN1bHRzIGFyZSBmb3JtYXR0ZWQgYXMgYSAzLXR1cGxlOiAoZXhpdF9jb2RlLCBvdXRwdXQsIGVycm9ycykKLQotICAgIElmIGZsYWdfZXJyb3IgaXMgZW5hYmxlZCwgRXJyb3IgbWVzc2FnZXMgd2lsbCBiZSBwcm9kdWNlZCBpZiB0aGUKLSAgICBzdWJwcm9jZXNzIHRlcm1pbmF0ZWQgd2l0aCBhIG5vbi16ZXJvIGV4aXQgY29kZSBhbmQvb3Igc3RkZXJyCi0gICAgb3V0cHV0LgotCi0gICAgVGhlIG90aGVyIGFyZ3VtZW50cyBhcmUgcGFzc2VkIG9uIHRvIHN0YXJ0X2NvbW1hbmQoKS4KLQotICAgICIiIgotICAgIHByb2Nlc3MgPSBzdGFydF9jb21tYW5kKGFyZ3MsIGN3ZCwgc2hlbGwsIGFkZF9lbnYpCi0gICAgKG91dHB1dCwgZXJyb3JzKSA9IHByb2Nlc3MuY29tbXVuaWNhdGUoKQotICAgIGV4aXRfY29kZSA9IHByb2Nlc3MucmV0dXJuY29kZQotICAgIGlmIGZsYWdfZXJyb3IgYW5kIGVycm9yczoKLSAgICAgICAgZXJyb3IoIiclcycgcmV0dXJuZWQgZXJyb3JzOlxuLS0tXG4lcy0tLSIsICIgIi5qb2luKGFyZ3MpLCBlcnJvcnMpCi0gICAgaWYgZmxhZ19lcnJvciBhbmQgZXhpdF9jb2RlOgotICAgICAgICBlcnJvcigiJyVzJyByZXR1cm5lZCBleGl0IGNvZGUgJWkiLCAiICIuam9pbihhcmdzKSwgZXhpdF9jb2RlKQotICAgIHJldHVybiAoZXhpdF9jb2RlLCBvdXRwdXQsIGVycm9ycykKLQotCi0jIGZyb20gcHl0aG9uMi43OnN1YnByb2Nlc3MucHkKLWRlZiBjYWxsKCpwb3BlbmFyZ3MsICoqa3dhcmdzKToKLSAgICAiIiJSdW4gY29tbWFuZCB3aXRoIGFyZ3VtZW50cy4gIFdhaXQgZm9yIGNvbW1hbmQgdG8gY29tcGxldGUsIHRoZW4KLSAgICByZXR1cm4gdGhlIHJldHVybmNvZGUgYXR0cmlidXRlLgotCi0gICAgVGhlIGFyZ3VtZW50cyBhcmUgdGhlIHNhbWUgYXMgZm9yIHRoZSBQb3BlbiBjb25zdHJ1Y3Rvci4gIEV4YW1wbGU6Ci0KLSAgICByZXRjb2RlID0gY2FsbChbImxzIiwgIi1sIl0pCi0gICAgIiIiCi0gICAgcmV0dXJuIHN1YnByb2Nlc3MuUG9wZW4oKnBvcGVuYXJncywgKiprd2FyZ3MpLndhaXQoKQotCi0KLSMgZnJvbSBweXRob24yLjc6c3VicHJvY2Vzcy5weQotZGVmIGNoZWNrX2NhbGwoKnBvcGVuYXJncywgKiprd2FyZ3MpOgotICAgICIiIlJ1biBjb21tYW5kIHdpdGggYXJndW1lbnRzLiAgV2FpdCBmb3IgY29tbWFuZCB0byBjb21wbGV0ZS4gIElmCi0gICAgdGhlIGV4aXQgY29kZSB3YXMgemVybyB0aGVuIHJldHVybiwgb3RoZXJ3aXNlIHJhaXNlCi0gICAgQ2FsbGVkUHJvY2Vzc0Vycm9yLiAgVGhlIENhbGxlZFByb2Nlc3NFcnJvciBvYmplY3Qgd2lsbCBoYXZlIHRoZQotICAgIHJldHVybiBjb2RlIGluIHRoZSByZXR1cm5jb2RlIGF0dHJpYnV0ZS4KLQotICAgIFRoZSBhcmd1bWVudHMgYXJlIHRoZSBzYW1lIGFzIGZvciB0aGUgUG9wZW4gY29uc3RydWN0b3IuICBFeGFtcGxlOgotCi0gICAgY2hlY2tfY2FsbChbImxzIiwgIi1sIl0pCi0gICAgIiIiCi0gICAgcmV0Y29kZSA9IGNhbGwoKnBvcGVuYXJncywgKiprd2FyZ3MpCi0gICAgaWYgcmV0Y29kZToKLSAgICAgICAgY21kID0ga3dhcmdzLmdldCgiYXJncyIpCi0gICAgICAgIGlmIGNtZCBpcyBOb25lOgotICAgICAgICAgICAgY21kID0gcG9wZW5hcmdzWzBdCi0gICAgICAgIHJhaXNlIENhbGxlZFByb2Nlc3NFcnJvcihyZXRjb2RlLCBjbWQpCi0gICAgcmV0dXJuIDAKLQotCi0jIGZyb20gcHl0aG9uMi43OnN1YnByb2Nlc3MucHkKLWRlZiBjaGVja19vdXRwdXQoKnBvcGVuYXJncywgKiprd2FyZ3MpOgotICAgIHIiIiJSdW4gY29tbWFuZCB3aXRoIGFyZ3VtZW50cyBhbmQgcmV0dXJuIGl0cyBvdXRwdXQgYXMgYSBieXRlIHN0cmluZy4KLQotICAgIElmIHRoZSBleGl0IGNvZGUgd2FzIG5vbi16ZXJvIGl0IHJhaXNlcyBhIENhbGxlZFByb2Nlc3NFcnJvci4gIFRoZQotICAgIENhbGxlZFByb2Nlc3NFcnJvciBvYmplY3Qgd2lsbCBoYXZlIHRoZSByZXR1cm4gY29kZSBpbiB0aGUgcmV0dXJuY29kZQotICAgIGF0dHJpYnV0ZSBhbmQgb3V0cHV0IGluIHRoZSBvdXRwdXQgYXR0cmlidXRlLgotCi0gICAgVGhlIGFyZ3VtZW50cyBhcmUgdGhlIHNhbWUgYXMgZm9yIHRoZSBQb3BlbiBjb25zdHJ1Y3Rvci4gIEV4YW1wbGU6Ci0KLSAgICA+Pj4gY2hlY2tfb3V0cHV0KFsibHMiLCAiLWwiLCAiL2Rldi9udWxsIl0pCi0gICAgJ2Nydy1ydy1ydy0gMSByb290IHJvb3QgMSwgMyBPY3QgMTggIDIwMDcgL2Rldi9udWxsXG4nCi0KLSAgICBUaGUgc3Rkb3V0IGFyZ3VtZW50IGlzIG5vdCBhbGxvd2VkIGFzIGl0IGlzIHVzZWQgaW50ZXJuYWxseS4KLSAgICBUbyBjYXB0dXJlIHN0YW5kYXJkIGVycm9yIGluIHRoZSByZXN1bHQsIHVzZSBzdGRlcnI9U1RET1VULgotCi0gICAgPj4+IGNoZWNrX291dHB1dChbIi9iaW4vc2giLCAiLWMiLAotICAgIC4uLiAgICAgICAgICAgICAgICJscyAtbCBub25fZXhpc3RlbnRfZmlsZSA7IGV4aXQgMCJdLAotICAgIC4uLiAgICAgICAgICAgICAgc3RkZXJyPVNURE9VVCkKLSAgICAnbHM6IG5vbl9leGlzdGVudF9maWxlOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4nCi0gICAgIiIiCi0gICAgaWYgJ3N0ZG91dCcgaW4ga3dhcmdzOgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdzdGRvdXQgYXJndW1lbnQgbm90IGFsbG93ZWQsIGl0IHdpbGwgYmUgb3ZlcnJpZGRlbi4nKQotICAgIHByb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVuKHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsICpwb3BlbmFyZ3MsICoqa3dhcmdzKQotICAgIG91dHB1dCwgdW51c2VkX2VyciA9IHByb2Nlc3MuY29tbXVuaWNhdGUoKQotICAgIHJldGNvZGUgPSBwcm9jZXNzLnBvbGwoKQotICAgIGlmIHJldGNvZGU6Ci0gICAgICAgIGNtZCA9IGt3YXJncy5nZXQoImFyZ3MiKQotICAgICAgICBpZiBjbWQgaXMgTm9uZToKLSAgICAgICAgICAgIGNtZCA9IHBvcGVuYXJnc1swXQotICAgICAgICByYWlzZSBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcihyZXRjb2RlLCBjbWQpCi0gICAgcmV0dXJuIG91dHB1dAotCi0KLWRlZiBmaWxlX3JlYWRlcl9tZXRob2QgKG1pc3Npbmdfb2sgPSBGYWxzZSk6Ci0gICAgIiIiRGVjb3JhdG9yIGZvciBzaW1wbGlmeWluZyByZWFkaW5nIG9mIGZpbGVzLgotCi0gICAgSWYgbWlzc2luZ19vayBpcyBUcnVlLCBhIGZhaWx1cmUgdG8gb3BlbiBhIGZpbGUgZm9yIHJlYWRpbmcgd2lsbAotICAgIG5vdCByYWlzZSB0aGUgdXN1YWwgSU9FcnJvciwgYnV0IGluc3RlYWQgdGhlIHdyYXBwZWQgbWV0aG9kIHdpbGwgYmUKLSAgICBjYWxsZWQgd2l0aCBmID09IE5vbmUuICBUaGUgbWV0aG9kIG11c3QgaW4gdGhpcyBjYXNlIHByb3Blcmx5Ci0gICAgaGFuZGxlIGYgPT0gTm9uZS4KLQotICAgICIiIgotICAgIGRlZiBfd3JhcCAobWV0aG9kKToKLSAgICAgICAgIiIiVGVhY2ggZ2l2ZW4gbWV0aG9kIHRvIGhhbmRsZSBib3RoIGZpbGVuYW1lcyBhbmQgZmlsZSBvYmplY3RzLgotCi0gICAgICAgIFRoZSBnaXZlbiBtZXRob2QgbXVzdCB0YWtlIGEgZmlsZSBvYmplY3QgYXMgaXRzIHNlY29uZCBhcmd1bWVudAotICAgICAgICAodGhlIGZpcnN0IGFyZ3VtZW50IGJlaW5nICdzZWxmJywgb2YgY291cnNlKS4gIFRoaXMgZGVjb3JhdG9yCi0gICAgICAgIHdpbGwgdGFrZSBhIGZpbGVuYW1lIGdpdmVuIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQgYW5kIHByb21vdGUKLSAgICAgICAgaXQgdG8gYSBmaWxlIG9iamVjdC4KLQotICAgICAgICAiIiIKLSAgICAgICAgZGVmIF93cmFwcGVkX21ldGhvZCAoc2VsZiwgZmlsZW5hbWUsICphcmdzLCAqKmt3YXJncyk6Ci0gICAgICAgICAgICBpZiBpc2luc3RhbmNlKGZpbGVuYW1lLCBmaWxlKToKLSAgICAgICAgICAgICAgICBmID0gZmlsZW5hbWUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBmID0gb3BlbihmaWxlbmFtZSwgJ3InKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yOgotICAgICAgICAgICAgICAgICAgICBpZiBtaXNzaW5nX29rOgotICAgICAgICAgICAgICAgICAgICAgICAgZiA9IE5vbmUKLSAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG1ldGhvZChzZWxmLCBmLCAqYXJncywgKiprd2FyZ3MpCi0gICAgICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGZpbGVuYW1lLCBmaWxlKSBhbmQgZjoKLSAgICAgICAgICAgICAgICAgICAgZi5jbG9zZSgpCi0gICAgICAgIHJldHVybiBfd3JhcHBlZF9tZXRob2QKLSAgICByZXR1cm4gX3dyYXAKLQotCi1kZWYgZmlsZV93cml0ZXJfbWV0aG9kIChtZXRob2QpOgotICAgICIiIkRlY29yYXRvciBmb3Igc2ltcGxpZnlpbmcgd3JpdGluZyBvZiBmaWxlcy4KLQotICAgIEVuYWJsZXMgdGhlIGdpdmVuIG1ldGhvZCB0byBoYW5kbGUgYm90aCBmaWxlbmFtZXMgYW5kIGZpbGUgb2JqZWN0cy4KLQotICAgIFRoZSBnaXZlbiBtZXRob2QgbXVzdCB0YWtlIGEgZmlsZSBvYmplY3QgYXMgaXRzIHNlY29uZCBhcmd1bWVudAotICAgICh0aGUgZmlyc3QgYXJndW1lbnQgYmVpbmcgJ3NlbGYnLCBvZiBjb3Vyc2UpLiAgVGhpcyBkZWNvcmF0b3Igd2lsbAotICAgIHRha2UgYSBmaWxlbmFtZSBnaXZlbiBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IGFuZCBwcm9tb3RlIGl0IHRvIGEKLSAgICBmaWxlIG9iamVjdC4KLQotICAgICIiIgotICAgIGRlZiBfbmV3X21ldGhvZCAoc2VsZiwgZmlsZW5hbWUsICphcmdzLCAqKmt3YXJncyk6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2UoZmlsZW5hbWUsIGZpbGUpOgotICAgICAgICAgICAgZiA9IGZpbGVuYW1lCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAjIE1ha2Ugc3VyZSB0aGUgY29udGFpbmluZyBkaXJlY3RvcnkgZXhpc3RzCi0gICAgICAgICAgICBwYXJlbnRfZGlyID0gb3MucGF0aC5kaXJuYW1lKGZpbGVuYW1lKQotICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIocGFyZW50X2Rpcik6Ci0gICAgICAgICAgICAgICAgb3MubWFrZWRpcnMocGFyZW50X2RpcikKLSAgICAgICAgICAgIGYgPSBvcGVuKGZpbGVuYW1lLCAndycpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBtZXRob2Qoc2VsZiwgZiwgKmFyZ3MsICoqa3dhcmdzKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZmlsZW5hbWUsIGZpbGUpOgotICAgICAgICAgICAgICAgIGYuY2xvc2UoKQotICAgIHJldHVybiBfbmV3X21ldGhvZApkaWZmIC0tZ2l0IGEvZ2l0d2ViL2dpdHdlYi5wZXJsIGIvZ2l0d2ViL2dpdHdlYi5wZXJsCmluZGV4IGY0MjlmNzUuLjY4Yzc3ZjYgMTAwNzU1Ci0tLSBhL2dpdHdlYi9naXR3ZWIucGVybAorKysgYi9naXR3ZWIvZ2l0d2ViLnBlcmwKQEAgLTQwMzUsOCArNDAzNSw4IEBACiAJICAgICAgJGNnaS0+aW5wdXQoey1uYW1lPT4iaCIsIC12YWx1ZT0+JHNlYXJjaF9oYXNoLCAtdHlwZT0+ImhpZGRlbiJ9KSAuICJcbiIgLgogCSAgICAgICRjZ2ktPnBvcHVwX21lbnUoLW5hbWUgPT4gJ3N0JywgLWRlZmF1bHQgPT4gJ2NvbW1pdCcsCiAJICAgICAgICAgICAgICAgICAgICAgICAtdmFsdWVzID0+IFsnY29tbWl0JywgJ2dyZXAnLCAnYXV0aG9yJywgJ2NvbW1pdHRlcicsICdwaWNrYXhlJ10pIC4KLQkgICAgICAkY2dpLT5zdXAoJGNnaS0+YSh7LWhyZWYgPT4gaHJlZihhY3Rpb249PiJzZWFyY2hfaGVscCIpfSwgIj8iKSkgLgotCSAgICAgICIgc2VhcmNoOlxuIiwKKwkgICAgICAiICIgLiAkY2dpLT5hKHstaHJlZiA9PiBocmVmKGFjdGlvbj0+InNlYXJjaF9oZWxwIiksCisJCQkgICAgIC10aXRsZSA9PiAic2VhcmNoIGhlbHAiIH0sICI/IikgLiAiIHNlYXJjaDpcbiIsCiAJICAgICAgJGNnaS0+dGV4dGZpZWxkKC1uYW1lID0+ICJzIiwgLXZhbHVlID0+ICRzZWFyY2h0ZXh0LCAtb3ZlcnJpZGUgPT4gMSkgLiAiXG4iIC4KIAkgICAgICAiPHNwYW4gdGl0bGU9XCJFeHRlbmRlZCByZWd1bGFyIGV4cHJlc3Npb25cIj4iIC4KIAkgICAgICAkY2dpLT5jaGVja2JveCgtbmFtZSA9PiAnc3InLCAtdmFsdWUgPT4gMSwgLWxhYmVsID0+ICdyZScsCkBAIC02NDY4LDcgKzY0NjgsNyBAQAogCXByaW50ICI8ZGl2IGNsYXNzPVwidGl0bGVcIj4mbmJzcDs8L2Rpdj5cbiI7CiAJcHJpbnQgIjx0YWJsZSBjbGFzcz1cInByb2plY3RzX2xpc3RcIj5cbiIgLgogCSAgICAgICI8dHIgaWQ9XCJtZXRhZGF0YV9kZXNjXCI+PHRkPmRlc2NyaXB0aW9uPC90ZD48dGQ+IiAuIGVzY19odG1sKCRkZXNjcikgLiAiPC90ZD48L3RyPlxuIjsKLSAgICAgICAgdW5sZXNzICgkb21pdF9vd25lcikgeworICAgICAgICBpZiAoJG93bmVyIGFuZCBub3QgJG9taXRfb3duZXIpIHsKIAkgICAgICAgIHByaW50ICAiPHRyIGlkPVwibWV0YWRhdGFfb3duZXJcIj48dGQ+b3duZXI8L3RkPjx0ZD4iIC4gZXNjX2h0bWwoJG93bmVyKSAuICI8L3RkPjwvdHI+XG4iOwogICAgICAgICB9CiAJaWYgKGRlZmluZWQgJGNkeydyZmMyODIyJ30pIHsKQEAgLTY2MzEsNiArNjYzMSw3IEBACiAJCQkkaGFzaF9iYXNlLCAnLS0nLCAkZmlsZV9uYW1lCiAJCQlvciBkaWVfZXJyb3IoNTAwLCAiT3BlbiBnaXQtYmxhbWUgLS1wb3JjZWxhaW4gZmFpbGVkIik7CiAJfQorCWJpbm1vZGUgJGZkLCAnOnV0ZjgnOwogCiAJIyBpbmNyZW1lbnRhbCBibGFtZSBkYXRhIHJldHVybnMgZWFybHkKIAlpZiAoJGZvcm1hdCBlcSAnZGF0YScpIHsKZGlmZiAtLWdpdCBhL2dpdHdlYi9zdGF0aWMvZ2l0d2ViLmNzcyBiL2dpdHdlYi9zdGF0aWMvZ2l0d2ViLmNzcwppbmRleCBjYjg2ZDJkLi4zYjRkODMzIDEwMDY0NAotLS0gYS9naXR3ZWIvc3RhdGljL2dpdHdlYi5jc3MKKysrIGIvZ2l0d2ViL3N0YXRpYy9naXR3ZWIuY3NzCkBAIC02OCwxMiArNjgsMTMgQEAKIH0KIAogZGl2LnBhZ2VfZm9vdGVyIHsKLQloZWlnaHQ6IDE3cHg7CisJaGVpZ2h0OiAyMnB4OwogCXBhZGRpbmc6IDRweCA4cHg7CiAJYmFja2dyb3VuZC1jb2xvcjogI2Q5ZDhkMTsKIH0KIAogZGl2LnBhZ2VfZm9vdGVyX3RleHQgeworCWxpbmUtaGVpZ2h0OiAyMnB4OwogCWZsb2F0OiBsZWZ0OwogCWNvbG9yOiAjNTU1NTU1OwogCWZvbnQtc3R5bGU6IGl0YWxpYzsKQEAgLTU0OCw4ICs1NDksNyBAQAogCiBhLnJzc19sb2dvIHsKIAlmbG9hdDogcmlnaHQ7Ci0JcGFkZGluZzogM3B4IDBweDsKLQl3aWR0aDogMzVweDsKKwlwYWRkaW5nOiAzcHggNXB4OwogCWxpbmUtaGVpZ2h0OiAxMHB4OwogCWJvcmRlcjogMXB4IHNvbGlkOwogCWJvcmRlci1jb2xvcjogI2ZjYzdhNSAjN2QzMzAyICMzZTFhMDEgI2ZmOTU0ZTsKZGlmZiAtLWdpdCBhL2dyZXAuYyBiL2dyZXAuYwppbmRleCBiYjU0OGNhLi5jNjY4MDM0IDEwMDY0NAotLS0gYS9ncmVwLmMKKysrIGIvZ3JlcC5jCkBAIC0yLDYgKzIsOCBAQAogI2luY2x1ZGUgImdyZXAuaCIKICNpbmNsdWRlICJ1c2VyZGlmZi5oIgogI2luY2x1ZGUgInhkaWZmLWludGVyZmFjZS5oIgorI2luY2x1ZGUgImRpZmYuaCIKKyNpbmNsdWRlICJkaWZmY29yZS5oIgogCiBzdGF0aWMgaW50IGdyZXBfc291cmNlX2xvYWQoc3RydWN0IGdyZXBfc291cmNlICpncyk7CiBzdGF0aWMgaW50IGdyZXBfc291cmNlX2lzX2JpbmFyeShzdHJ1Y3QgZ3JlcF9zb3VyY2UgKmdzKTsKQEAgLTEzMjIsNiArMTMyNCw1OCBAQAogCWZ3cml0ZShidWYsIHNpemUsIDEsIHN0ZG91dCk7CiB9CiAKK3N0YXRpYyBpbnQgZmlsbF90ZXh0Y29udl9ncmVwKHN0cnVjdCB1c2VyZGlmZl9kcml2ZXIgKmRyaXZlciwKKwkJCSAgICAgIHN0cnVjdCBncmVwX3NvdXJjZSAqZ3MpCit7CisJc3RydWN0IGRpZmZfZmlsZXNwZWMgKmRmOworCWNoYXIgKmJ1ZjsKKwlzaXplX3Qgc2l6ZTsKKworCWlmICghZHJpdmVyIHx8ICFkcml2ZXItPnRleHRjb252KQorCQlyZXR1cm4gZ3JlcF9zb3VyY2VfbG9hZChncyk7CisKKwkvKgorCSAqIFRoZSB0ZXh0Y29udiBpbnRlcmZhY2UgaXMgaW50aW1hdGVseSB0aWVkIHRvIGRpZmZfZmlsZXNwZWNzLCBzbyB3ZQorCSAqIGhhdmUgdG8gcHJldGVuZCB0byBiZSBvbmUuIElmIHdlIGNvdWxkIHVuaWZ5IHRoZSBncmVwX3NvdXJjZQorCSAqIGFuZCBkaWZmX2ZpbGVzcGVjIHN0cnVjdHMsIHRoaXMgbWVzcyBjb3VsZCBqdXN0IGdvIGF3YXkuCisJICovCisJZGYgPSBhbGxvY19maWxlc3BlYyhncy0+cGF0aCk7CisJc3dpdGNoIChncy0+dHlwZSkgeworCWNhc2UgR1JFUF9TT1VSQ0VfU0hBMToKKwkJZmlsbF9maWxlc3BlYyhkZiwgZ3MtPmlkZW50aWZpZXIsIDEsIDAxMDA2NDQpOworCQlicmVhazsKKwljYXNlIEdSRVBfU09VUkNFX0ZJTEU6CisJCWZpbGxfZmlsZXNwZWMoZGYsIG51bGxfc2hhMSwgMCwgMDEwMDY0NCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRpZSgiQlVHOiBhdHRlbXB0IHRvIHRleHRjb252IHNvbWV0aGluZyB3aXRob3V0IGEgcGF0aD8iKTsKKwl9CisKKwkvKgorCSAqIGZpbGxfdGV4dGNvbnYgaXMgbm90IHJlbW90ZWx5IHRocmVhZC1zYWZlOyBpdCBtYXkgbG9hZCBvYmplY3RzCisJICogYmVoaW5kIHRoZSBzY2VuZXMsIGFuZCBpdCBtb2RpZmllcyB0aGUgZ2xvYmFsIGRpZmYgdGVtcGZpbGUKKwkgKiBzdHJ1Y3R1cmUuCisJICovCisJZ3JlcF9yZWFkX2xvY2soKTsKKwlzaXplID0gZmlsbF90ZXh0Y29udihkcml2ZXIsIGRmLCAmYnVmKTsKKwlncmVwX3JlYWRfdW5sb2NrKCk7CisJZnJlZV9maWxlc3BlYyhkZik7CisKKwkvKgorCSAqIFRoZSBub3JtYWwgZmlsbF90ZXh0Y29udiB1c2FnZSBieSB0aGUgZGlmZiBtYWNoaW5lcnkgd291bGQganVzdCBrZWVwCisJICogdGhlIHRleHRjb252J2QgYnVmIHNlcGFyYXRlIGZyb20gdGhlIGRpZmZfZmlsZXNwZWMuIEJ1dCBtdWNoIG9mIHRoZQorCSAqIGdyZXAgY29kZSBwYXNzZXMgYXJvdW5kIGEgZ3JlcF9zb3VyY2UgYW5kIGFzc3VtZXMgdGhhdCBpdHMgImJ1ZiIKKwkgKiBwb2ludGVyIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRoaW5nIHdlIGFyZSBzZWFyY2hpbmcuIFNvIGxldCdzCisJICogaW5zdGFsbCBvdXIgdGV4dGNvbnYnZCB2ZXJzaW9uIGludG8gdGhlIGdyZXBfc291cmNlLCB0YWtpbmcgY2FyZSBub3QKKwkgKiB0byBsZWFrIGFueSBleGlzdGluZyBidWZmZXIuCisJICovCisJZ3JlcF9zb3VyY2VfY2xlYXJfZGF0YShncyk7CisJZ3MtPmJ1ZiA9IGJ1ZjsKKwlncy0+c2l6ZSA9IHNpemU7CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBncmVwX3NvdXJjZV8xKHN0cnVjdCBncmVwX29wdCAqb3B0LCBzdHJ1Y3QgZ3JlcF9zb3VyY2UgKmdzLCBpbnQgY29sbGVjdF9oaXRzKQogewogCWNoYXIgKmJvbDsKQEAgLTEzMzIsNiArMTM4Niw3IEBACiAJdW5zaWduZWQgY291bnQgPSAwOwogCWludCB0cnlfbG9va2FoZWFkID0gMDsKIAlpbnQgc2hvd19mdW5jdGlvbiA9IDA7CisJc3RydWN0IHVzZXJkaWZmX2RyaXZlciAqdGV4dGNvbnYgPSBOVUxMOwogCWVudW0gZ3JlcF9jb250ZXh0IGN0eCA9IEdSRVBfQ09OVEVYVF9IRUFEOwogCXhkZW1pdGNvbmZfdCB4ZWNmZzsKIApAQCAtMTM1MywxOSArMTQwOCwzNiBAQAogCX0KIAlvcHQtPmxhc3Rfc2hvd24gPSAwOwogCi0Jc3dpdGNoIChvcHQtPmJpbmFyeSkgewotCWNhc2UgR1JFUF9CSU5BUllfREVGQVVMVDoKLQkJaWYgKGdyZXBfc291cmNlX2lzX2JpbmFyeShncykpCi0JCQliaW5hcnlfbWF0Y2hfb25seSA9IDE7Ci0JCWJyZWFrOwotCWNhc2UgR1JFUF9CSU5BUllfTk9NQVRDSDoKLQkJaWYgKGdyZXBfc291cmNlX2lzX2JpbmFyeShncykpCi0JCQlyZXR1cm4gMDsgLyogQXNzdW1lIHVubWF0Y2ggKi8KLQkJYnJlYWs7Ci0JY2FzZSBHUkVQX0JJTkFSWV9URVhUOgotCQlicmVhazsKLQlkZWZhdWx0OgotCQlkaWUoImJ1ZzogdW5rbm93biBiaW5hcnkgaGFuZGxpbmcgbW9kZSIpOworCWlmIChvcHQtPmFsbG93X3RleHRjb252KSB7CisJCWdyZXBfc291cmNlX2xvYWRfZHJpdmVyKGdzKTsKKwkJLyoKKwkJICogV2UgbWlnaHQgc2V0IHVwIHRoZSBzaGFyZWQgdGV4dGNvbnYgY2FjaGUgZGF0YSBoZXJlLCB3aGljaAorCQkgKiBpcyBub3QgdGhyZWFkLXNhZmUuCisJCSAqLworCQlncmVwX2F0dHJfbG9jaygpOworCQl0ZXh0Y29udiA9IHVzZXJkaWZmX2dldF90ZXh0Y29udihncy0+ZHJpdmVyKTsKKwkJZ3JlcF9hdHRyX3VubG9jaygpOworCX0KKworCS8qCisJICogV2Uga25vdyB0aGUgcmVzdWx0IG9mIGEgdGV4dGNvbnYgaXMgdGV4dCwgc28gd2Ugb25seSBoYXZlIHRvIGNhcmUKKwkgKiBhYm91dCBiaW5hcnkgaGFuZGxpbmcgaWYgd2UgYXJlIG5vdCB1c2luZyBpdC4KKwkgKi8KKwlpZiAoIXRleHRjb252KSB7CisJCXN3aXRjaCAob3B0LT5iaW5hcnkpIHsKKwkJY2FzZSBHUkVQX0JJTkFSWV9ERUZBVUxUOgorCQkJaWYgKGdyZXBfc291cmNlX2lzX2JpbmFyeShncykpCisJCQkJYmluYXJ5X21hdGNoX29ubHkgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgR1JFUF9CSU5BUllfTk9NQVRDSDoKKwkJCWlmIChncmVwX3NvdXJjZV9pc19iaW5hcnkoZ3MpKQorCQkJCXJldHVybiAwOyAvKiBBc3N1bWUgdW5tYXRjaCAqLworCQkJYnJlYWs7CisJCWNhc2UgR1JFUF9CSU5BUllfVEVYVDoKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZGllKCJidWc6IHVua25vd24gYmluYXJ5IGhhbmRsaW5nIG1vZGUiKTsKKwkJfQogCX0KIAogCW1lbXNldCgmeGVjZmcsIDAsIHNpemVvZih4ZWNmZykpOwpAQCAtMTM3Myw3ICsxNDQ1LDcgQEAKIAogCXRyeV9sb29rYWhlYWQgPSBzaG91bGRfbG9va2FoZWFkKG9wdCk7CiAKLQlpZiAoZ3JlcF9zb3VyY2VfbG9hZChncykgPCAwKQorCWlmIChmaWxsX3RleHRjb252X2dyZXAodGV4dGNvbnYsIGdzKSA8IDApCiAJCXJldHVybiAwOwogCiAJYm9sID0gZ3MtPmJ1ZjsKZGlmZiAtLWdpdCBhL2dyZXAuaCBiL2dyZXAuaAppbmRleCBlNGExZGY1Li5lYWFjZWQxIDEwMDY0NAotLS0gYS9ncmVwLmgKKysrIGIvZ3JlcC5oCkBAIC0xMDcsNiArMTA3LDcgQEAKICNkZWZpbmUgR1JFUF9CSU5BUllfTk9NQVRDSAkxCiAjZGVmaW5lIEdSRVBfQklOQVJZX1RFWFQJMgogCWludCBiaW5hcnk7CisJaW50IGFsbG93X3RleHRjb252OwogCWludCBleHRlbmRlZDsKIAlpbnQgdXNlX3JlZmxvZ19maWx0ZXI7CiAJaW50IHBjcmU7CmRpZmYgLS1naXQgYS9odHRwLXB1c2guYyBiL2h0dHAtcHVzaC5jCmluZGV4IGIxZTc0ZDIuLjM0Y2I3MGYgMTAwNjQ0Ci0tLSBhL2h0dHAtcHVzaC5jCisrKyBiL2h0dHAtcHVzaC5jCkBAIC0xMzMwLDggKzEzMzAsNyBAQAogCQkJYnJlYWs7CiAJCX0KIAotCWZyZWUodHJlZS0+YnVmZmVyKTsKLQl0cmVlLT5idWZmZXIgPSBOVUxMOworCWZyZWVfdHJlZV9idWZmZXIodHJlZSk7CiAJcmV0dXJuIHA7CiB9CiAKZGlmZiAtLWdpdCBhL2h0dHAuYyBiL2h0dHAuYwppbmRleCAzNDQ3OTQ1Li5iY2Y1NGFhIDEwMDY0NAotLS0gYS9odHRwLmMKKysrIGIvaHR0cC5jCkBAIC0zLDYgKzMsNyBAQAogI2luY2x1ZGUgInNpZGViYW5kLmgiCiAjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKICNpbmNsdWRlICJ1cmwuaCIKKyNpbmNsdWRlICJ1cmxtYXRjaC5oIgogI2luY2x1ZGUgImNyZWRlbnRpYWwuaCIKICNpbmNsdWRlICJ2ZXJzaW9uLmgiCiAjaW5jbHVkZSAicGt0LWxpbmUuaCIKQEAgLTQ1LDYgKzQ2LDcgQEAKIHN0YXRpYyBpbnQgY3VybF9mdHBfbm9fZXBzdjsKIHN0YXRpYyBjb25zdCBjaGFyICpjdXJsX2h0dHBfcHJveHk7CiBzdGF0aWMgY29uc3QgY2hhciAqY3VybF9jb29raWVfZmlsZTsKK3N0YXRpYyBpbnQgY3VybF9zYXZlX2Nvb2tpZXM7CiBzdHJ1Y3QgY3JlZGVudGlhbCBodHRwX2F1dGggPSBDUkVERU5USUFMX0lOSVQ7CiBzdGF0aWMgaW50IGh0dHBfcHJvYWN0aXZlX2F1dGg7CiBzdGF0aWMgY29uc3QgY2hhciAqdXNlcl9hZ2VudDsKQEAgLTE2MCw4ICsxNjIsNyBAQAogCWlmICghc3RyY21wKCJodHRwLnNzbGNhaW5mbyIsIHZhcikpCiAJCXJldHVybiBnaXRfY29uZmlnX3N0cmluZygmc3NsX2NhaW5mbywgdmFyLCB2YWx1ZSk7CiAJaWYgKCFzdHJjbXAoImh0dHAuc3NsY2VydHBhc3N3b3JkcHJvdGVjdGVkIiwgdmFyKSkgewotCQlpZiAoZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpKQotCQkJc3NsX2NlcnRfcGFzc3dvcmRfcmVxdWlyZWQgPSAxOworCQlzc2xfY2VydF9wYXNzd29yZF9yZXF1aXJlZCA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKIAkJcmV0dXJuIDA7CiAJfQogCWlmICghc3RyY21wKCJodHRwLnNzbHRyeSIsIHZhcikpIHsKQEAgLTIwMCw2ICsyMDEsMTAgQEAKIAogCWlmICghc3RyY21wKCJodHRwLmNvb2tpZWZpbGUiLCB2YXIpKQogCQlyZXR1cm4gZ2l0X2NvbmZpZ19zdHJpbmcoJmN1cmxfY29va2llX2ZpbGUsIHZhciwgdmFsdWUpOworCWlmICghc3RyY21wKCJodHRwLnNhdmVjb29raWVzIiwgdmFyKSkgeworCQljdXJsX3NhdmVfY29va2llcyA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKKwkJcmV0dXJuIDA7CisJfQogCiAJaWYgKCFzdHJjbXAoImh0dHAucG9zdGJ1ZmZlciIsIHZhcikpIHsKIAkJaHR0cF9wb3N0X2J1ZmZlciA9IGdpdF9jb25maWdfaW50KHZhciwgdmFsdWUpOwpAQCAtMjU1LDYgKzI2MCw0MiBAQAogCXJldHVybiAxOwogfQogCisjaWYgTElCQ1VSTF9WRVJTSU9OX05VTSA+PSAweDA3MTkwMAorc3RhdGljIHZvaWQgc2V0X2N1cmxfa2VlcGFsaXZlKENVUkwgKmMpCit7CisJY3VybF9lYXN5X3NldG9wdChjLCBDVVJMT1BUX1RDUF9LRUVQQUxJVkUsIDEpOworfQorCisjZWxpZiBMSUJDVVJMX1ZFUlNJT05fTlVNID49IDB4MDcxMDAwCitzdGF0aWMgaW50IHNvY2tvcHRfY2FsbGJhY2sodm9pZCAqY2xpZW50LCBjdXJsX3NvY2tldF90IGZkLCBjdXJsc29ja3R5cGUgdHlwZSkKK3sKKwlpbnQga2EgPSAxOworCWludCByYzsKKwlzb2NrbGVuX3QgbGVuID0gKHNvY2tsZW5fdClzaXplb2Yoa2EpOworCisJaWYgKHR5cGUgIT0gQ1VSTFNPQ0tUWVBFX0lQQ1hOKQorCQlyZXR1cm4gMDsKKworCXJjID0gc2V0c29ja29wdChmZCwgU09MX1NPQ0tFVCwgU09fS0VFUEFMSVZFLCAodm9pZCAqKSZrYSwgbGVuKTsKKwlpZiAocmMgPCAwKQorCQl3YXJuaW5nKCJ1bmFibGUgdG8gc2V0IFNPX0tFRVBBTElWRSBvbiBzb2NrZXQgJXMiLAorCQkJc3RyZXJyb3IoZXJybm8pKTsKKworCXJldHVybiAwOyAvKiBDVVJMX1NPQ0tPUFRfT0sgb25seSBleGlzdHMgc2luY2UgY3VybCA3LjIxLjUgKi8KK30KKworc3RhdGljIHZvaWQgc2V0X2N1cmxfa2VlcGFsaXZlKENVUkwgKmMpCit7CisJY3VybF9lYXN5X3NldG9wdChjLCBDVVJMT1BUX1NPQ0tPUFRGVU5DVElPTiwgc29ja29wdF9jYWxsYmFjayk7Cit9CisKKyNlbHNlCitzdGF0aWMgdm9pZCBzZXRfY3VybF9rZWVwYWxpdmUoQ1VSTCAqYykKK3sKKwkvKiBub3Qgc3VwcG9ydGVkIG9uIG9sZGVyIGN1cmwgdmVyc2lvbnMgKi8KK30KKyNlbmRpZgorCiBzdGF0aWMgQ1VSTCAqZ2V0X2N1cmxfaGFuZGxlKHZvaWQpCiB7CiAJQ1VSTCAqcmVzdWx0ID0gY3VybF9lYXN5X2luaXQoKTsKQEAgLTMyNyw2ICszNjgsOCBAQAogCQljdXJsX2Vhc3lfc2V0b3B0KHJlc3VsdCwgQ1VSTE9QVF9QUk9YWUFVVEgsIENVUkxBVVRIX0FOWSk7CiAJfQogCisJc2V0X2N1cmxfa2VlcGFsaXZlKHJlc3VsdCk7CisKIAlyZXR1cm4gcmVzdWx0OwogfQogCkBAIC0zNDEsMTAgKzM4NCwyMCBAQAogewogCWNoYXIgKmxvd19zcGVlZF9saW1pdDsKIAljaGFyICpsb3dfc3BlZWRfdGltZTsKKwljaGFyICpub3JtYWxpemVkX3VybDsKKwlzdHJ1Y3QgdXJsbWF0Y2hfY29uZmlnIGNvbmZpZyA9IHsgU1RSSU5HX0xJU1RfSU5JVF9EVVAgfTsKKworCWNvbmZpZy5zZWN0aW9uID0gImh0dHAiOworCWNvbmZpZy5rZXkgPSBOVUxMOworCWNvbmZpZy5jb2xsZWN0X2ZuID0gaHR0cF9vcHRpb25zOworCWNvbmZpZy5jYXNjYWRlX2ZuID0gZ2l0X2RlZmF1bHRfY29uZmlnOworCWNvbmZpZy5jYiA9IE5VTEw7CiAKIAlodHRwX2lzX3ZlcmJvc2UgPSAwOworCW5vcm1hbGl6ZWRfdXJsID0gdXJsX25vcm1hbGl6ZSh1cmwsICZjb25maWcudXJsKTsKIAotCWdpdF9jb25maWcoaHR0cF9vcHRpb25zLCBOVUxMKTsKKwlnaXRfY29uZmlnKHVybG1hdGNoX2NvbmZpZ19lbnRyeSwgJmNvbmZpZyk7CisJZnJlZShub3JtYWxpemVkX3VybCk7CiAKIAljdXJsX2dsb2JhbF9pbml0KENVUkxfR0xPQkFMX0FMTCk7CiAKQEAgLTUxMyw2ICs1NjYsOCBAQAogCXNsb3QtPmNhbGxiYWNrX2RhdGEgPSBOVUxMOwogCXNsb3QtPmNhbGxiYWNrX2Z1bmMgPSBOVUxMOwogCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9DT09LSUVGSUxFLCBjdXJsX2Nvb2tpZV9maWxlKTsKKwlpZiAoY3VybF9zYXZlX2Nvb2tpZXMpCisJCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9DT09LSUVKQVIsIGN1cmxfY29va2llX2ZpbGUpOwogCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9IVFRQSEVBREVSLCBwcmFnbWFfaGVhZGVyKTsKIAljdXJsX2Vhc3lfc2V0b3B0KHNsb3QtPmN1cmwsIENVUkxPUFRfRVJST1JCVUZGRVIsIGN1cmxfZXJyb3JzdHIpOwogCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9DVVNUT01SRVFVRVNULCBOVUxMKTsKZGlmZiAtLWdpdCBhL2ltYXAtc2VuZC5jIGIvaW1hcC1zZW5kLmMKaW5kZXggZDZiNjVlMi4uNmY1Y2M0ZiAxMDA2NDQKLS0tIGEvaW1hcC1zZW5kLmMKKysrIGIvaW1hcC1zZW5kLmMKQEAgLTI4LDIwICsyOCw2IEBACiAjaW5jbHVkZSAicHJvbXB0LmgiCiAjaWZkZWYgTk9fT1BFTlNTTAogdHlwZWRlZiB2b2lkICpTU0w7Ci0jZWxzZQotI2lmZGVmIEFQUExFX0NPTU1PTl9DUllQVE8KLSNpbmNsdWRlIDxDb21tb25DcnlwdG8vQ29tbW9uSE1BQy5oPgotI2RlZmluZSBITUFDX0NUWCBDQ0htYWNDb250ZXh0Ci0jZGVmaW5lIEhNQUNfSW5pdChobWFjLCBrZXksIGxlbiwgYWxnbykgQ0NIbWFjSW5pdChobWFjLCBhbGdvLCBrZXksIGxlbikKLSNkZWZpbmUgSE1BQ19VcGRhdGUgQ0NIbWFjVXBkYXRlCi0jZGVmaW5lIEhNQUNfRmluYWwoaG1hYywgaGFzaCwgcHRyKSBDQ0htYWNGaW5hbChobWFjLCBoYXNoKQotI2RlZmluZSBITUFDX0NUWF9jbGVhbnVwKGlnbm9yZSkKLSNkZWZpbmUgRVZQX21kNSgpIGtDQ0htYWNBbGdNRDUKLSNlbHNlCi0jaW5jbHVkZSA8b3BlbnNzbC9ldnAuaD4KLSNpbmNsdWRlIDxvcGVuc3NsL2htYWMuaD4KLSNlbmRpZgotI2luY2x1ZGUgPG9wZW5zc2wveDUwOXYzLmg+CiAjZW5kaWYKIAogc3RhdGljIGNvbnN0IGNoYXIgaW1hcF9zZW5kX3VzYWdlW10gPSAiZ2l0IGltYXAtc2VuZCA8IDxtYm94PiI7CmRpZmYgLS1naXQgYS9saW5lLWxvZy5jIGIvbGluZS1sb2cuYwppbmRleCBjMmQwMWRjLi43MTc2MzhiIDEwMDY0NAotLS0gYS9saW5lLWxvZy5jCisrKyBiL2xpbmUtbG9nLmMKQEAgLTIzLDcgKzIzLDcgQEAKIC8qIEVpdGhlciBpbml0aWFsaXphdGlvbiB3b3VsZCBiZSBmaW5lICovCiAjZGVmaW5lIFJBTkdFX1NFVF9JTklUIHswfQogCi1zdGF0aWMgdm9pZCByYW5nZV9zZXRfaW5pdChzdHJ1Y3QgcmFuZ2Vfc2V0ICpycywgc2l6ZV90IHByZWFsbG9jKQordm9pZCByYW5nZV9zZXRfaW5pdChzdHJ1Y3QgcmFuZ2Vfc2V0ICpycywgc2l6ZV90IHByZWFsbG9jKQogewogCXJzLT5hbGxvYyA9IHJzLT5uciA9IDA7CiAJcnMtPnJhbmdlcyA9IE5VTEw7CkBAIC0zMSw3ICszMSw3IEBACiAJCXJhbmdlX3NldF9ncm93KHJzLCBwcmVhbGxvYyk7CiB9CiAKLXN0YXRpYyB2b2lkIHJhbmdlX3NldF9yZWxlYXNlKHN0cnVjdCByYW5nZV9zZXQgKnJzKQordm9pZCByYW5nZV9zZXRfcmVsZWFzZShzdHJ1Y3QgcmFuZ2Vfc2V0ICpycykKIHsKIAlmcmVlKHJzLT5yYW5nZXMpOwogCXJzLT5hbGxvYyA9IHJzLT5uciA9IDA7CkBAIC01Niw3ICs1Niw3IEBACiB9CiAKIC8qIHRhY2sgb24gYSBfbmV3XyByYW5nZSBfYXQgdGhlIGVuZF8gKi8KLXN0YXRpYyB2b2lkIHJhbmdlX3NldF9hcHBlbmRfdW5zYWZlKHN0cnVjdCByYW5nZV9zZXQgKnJzLCBsb25nIGEsIGxvbmcgYikKK3ZvaWQgcmFuZ2Vfc2V0X2FwcGVuZF91bnNhZmUoc3RydWN0IHJhbmdlX3NldCAqcnMsIGxvbmcgYSwgbG9uZyBiKQogewogCWFzc2VydChhIDw9IGIpOwogCXJhbmdlX3NldF9ncm93KHJzLCAxKTsKQEAgLTY1LDcgKzY1LDcgQEAKIAlycy0+bnIrKzsKIH0KIAotc3RhdGljIHZvaWQgcmFuZ2Vfc2V0X2FwcGVuZChzdHJ1Y3QgcmFuZ2Vfc2V0ICpycywgbG9uZyBhLCBsb25nIGIpCit2b2lkIHJhbmdlX3NldF9hcHBlbmQoc3RydWN0IHJhbmdlX3NldCAqcnMsIGxvbmcgYSwgbG9uZyBiKQogewogCWFzc2VydChycy0+bnIgPT0gMCB8fCBycy0+cmFuZ2VzW3JzLT5uci0xXS5lbmQgPD0gYSk7CiAJcmFuZ2Vfc2V0X2FwcGVuZF91bnNhZmUocnMsIGEsIGIpOwpAQCAtMTA3LDcgKzEwNyw3IEBACiAgKiBJbi1wbGFjZSBwYXNzIG9mIHNvcnRpbmcgYW5kIG1lcmdpbmcgdGhlIHJhbmdlcyBpbiB0aGUgcmFuZ2Ugc2V0LAogICogdG8gZXN0YWJsaXNoIHRoZSBpbnZhcmlhbnRzIHdoZW4gd2UgZ2V0IHRoZSByYW5nZXMgZnJvbSB0aGUgdXNlcgogICovCi1zdGF0aWMgdm9pZCBzb3J0X2FuZF9tZXJnZV9yYW5nZV9zZXQoc3RydWN0IHJhbmdlX3NldCAqcnMpCit2b2lkIHNvcnRfYW5kX21lcmdlX3JhbmdlX3NldChzdHJ1Y3QgcmFuZ2Vfc2V0ICpycykKIHsKIAlpbnQgaTsKIAlpbnQgbyA9IDA7IC8qIG91dHB1dCBjdXJzb3IgKi8KQEAgLTI5MSw3ICsyOTEsNiBAQAogCiAJaWYgKHApIHsKIAkJcmFuZ2Vfc2V0X2FwcGVuZF91bnNhZmUoJnAtPnJhbmdlcywgYmVnaW4sIGVuZCk7Ci0JCXNvcnRfYW5kX21lcmdlX3JhbmdlX3NldCgmcC0+cmFuZ2VzKTsKIAkJZnJlZShwYXRoKTsKIAkJcmV0dXJuOwogCX0KQEAgLTI5OSw3ICsyOTgsNiBAQAogCXAgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbGluZV9sb2dfZGF0YSkpOwogCXAtPnBhdGggPSBwYXRoOwogCXJhbmdlX3NldF9hcHBlbmQoJnAtPnJhbmdlcywgYmVnaW4sIGVuZCk7Ci0Jc29ydF9hbmRfbWVyZ2VfcmFuZ2Vfc2V0KCZwLT5yYW5nZXMpOwogCWlmIChpcCkgewogCQlwLT5uZXh0ID0gaXAtPm5leHQ7CiAJCWlwLT5uZXh0ID0gcDsKQEAgLTU2NiwxMiArNTY0LDE0IEBACiAJc3RydWN0IG50aF9saW5lX2NiIGNiX2RhdGE7CiAJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CiAJc3RydWN0IGxpbmVfbG9nX2RhdGEgKnJhbmdlcyA9IE5VTEw7CisJc3RydWN0IGxpbmVfbG9nX2RhdGEgKnA7CiAKIAlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sIGFyZ3MpIHsKIAkJY29uc3QgY2hhciAqbmFtZV9wYXJ0LCAqcmFuZ2VfcGFydDsKIAkJY2hhciAqZnVsbF9uYW1lOwogCQlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqc3BlYzsKIAkJbG9uZyBiZWdpbiA9IDAsIGVuZCA9IDA7CisJCWxvbmcgYW5jaG9yOwogCiAJCW5hbWVfcGFydCA9IHNraXBfcmFuZ2VfYXJnKGl0ZW0tPnN0cmluZyk7CiAJCWlmICghbmFtZV9wYXJ0IHx8ICpuYW1lX3BhcnQgIT0gJzonIHx8ICFuYW1lX3BhcnRbMV0pCkBAIC01OTAsMTcgKzU5MCwyMyBAQAogCQljYl9kYXRhLmxpbmVzID0gbGluZXM7CiAJCWNiX2RhdGEubGluZV9lbmRzID0gZW5kczsKIAorCQlwID0gc2VhcmNoX2xpbmVfbG9nX2RhdGEocmFuZ2VzLCBmdWxsX25hbWUsIE5VTEwpOworCQlpZiAocCAmJiBwLT5yYW5nZXMubnIpCisJCQlhbmNob3IgPSBwLT5yYW5nZXMucmFuZ2VzW3AtPnJhbmdlcy5uciAtIDFdLmVuZCArIDE7CisJCWVsc2UKKwkJCWFuY2hvciA9IDE7CisKIAkJaWYgKHBhcnNlX3JhbmdlX2FyZyhyYW5nZV9wYXJ0LCBudGhfbGluZSwgJmNiX2RhdGEsCi0JCQkJICAgIGxpbmVzLCAmYmVnaW4sICZlbmQsCisJCQkJICAgIGxpbmVzLCBhbmNob3IsICZiZWdpbiwgJmVuZCwKIAkJCQkgICAgZnVsbF9uYW1lKSkKIAkJCWRpZSgibWFsZm9ybWVkIC1MIGFyZ3VtZW50ICclcyciLCByYW5nZV9wYXJ0KTsKKwkJaWYgKGxpbmVzIDwgZW5kIHx8ICgobGluZXMgfHwgYmVnaW4pICYmIGxpbmVzIDwgYmVnaW4pKQorCQkJZGllKCJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lcyIsIG5hbWVfcGFydCwgbGluZXMpOwogCQlpZiAoYmVnaW4gPCAxKQogCQkJYmVnaW4gPSAxOwogCQlpZiAoZW5kIDwgMSkKIAkJCWVuZCA9IGxpbmVzOwogCQliZWdpbi0tOwotCQlpZiAobGluZXMgPCBlbmQgfHwgbGluZXMgPCBiZWdpbikKLQkJCWRpZSgiZmlsZSAlcyBoYXMgb25seSAlbGQgbGluZXMiLCBuYW1lX3BhcnQsIGxpbmVzKTsKIAkJbGluZV9sb2dfZGF0YV9pbnNlcnQoJnJhbmdlcywgZnVsbF9uYW1lLCBiZWdpbiwgZW5kKTsKIAogCQlmcmVlX2ZpbGVzcGVjKHNwZWMpOwpAQCAtNjA4LDYgKzYxNCw5IEBACiAJCWVuZHMgPSBOVUxMOwogCX0KIAorCWZvciAocCA9IHJhbmdlczsgcDsgcCA9IHAtPm5leHQpCisJCXNvcnRfYW5kX21lcmdlX3JhbmdlX3NldCgmcC0+cmFuZ2VzKTsKKwogCXJldHVybiByYW5nZXM7CiB9CiAKQEAgLTc1MSw3ICs3NjAsOCBAQAogCQkJciA9IHItPm5leHQ7CiAJCX0KIAkJcGF0aHNbY291bnRdID0gTlVMTDsKLQkJaW5pdF9wYXRoc3BlYygmcmV2LT5kaWZmb3B0LnBhdGhzcGVjLCBwYXRocyk7CisJCXBhcnNlX3BhdGhzcGVjKCZyZXYtPmRpZmZvcHQucGF0aHNwZWMsIDAsCisJCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0ZVTEwsICIiLCBwYXRocyk7CiAJCWZyZWUocGF0aHMpOwogCX0KIH0KZGlmZiAtLWdpdCBhL2xpbmUtbG9nLmggYi9saW5lLWxvZy5oCmluZGV4IDhiZWE0NWYuLmE5MjEyZDggMTAwNjQ0Ci0tLSBhL2xpbmUtbG9nLmgKKysrIGIvbGluZS1sb2cuaApAQCAtMjUsNiArMjUsMTggQEAKIAlzdHJ1Y3QgcmFuZ2Vfc2V0IHRhcmdldDsKIH07CiAKK2V4dGVybiB2b2lkIHJhbmdlX3NldF9pbml0KHN0cnVjdCByYW5nZV9zZXQgKiwgc2l6ZV90IHByZWFsbG9jKTsKK2V4dGVybiB2b2lkIHJhbmdlX3NldF9yZWxlYXNlKHN0cnVjdCByYW5nZV9zZXQgKik7CisvKiBSYW5nZSBpbmNsdWRlcyBzdGFydDsgZXhjbHVkZXMgZW5kICovCitleHRlcm4gdm9pZCByYW5nZV9zZXRfYXBwZW5kX3Vuc2FmZShzdHJ1Y3QgcmFuZ2Vfc2V0ICosIGxvbmcgc3RhcnQsIGxvbmcgZW5kKTsKKy8qIE5ldyByYW5nZSBtdXN0IGJlZ2luIGF0IG9yIGFmdGVyIGVuZCBvZiBsYXN0IGFkZGVkIHJhbmdlICovCitleHRlcm4gdm9pZCByYW5nZV9zZXRfYXBwZW5kKHN0cnVjdCByYW5nZV9zZXQgKiwgbG9uZyBzdGFydCwgbG9uZyBlbmQpOworLyoKKyAqIEluLXBsYWNlIHBhc3Mgb2Ygc29ydGluZyBhbmQgbWVyZ2luZyB0aGUgcmFuZ2VzIGluIHRoZSByYW5nZSBzZXQsCisgKiB0byBzb3J0IGFuZCBtYWtlIHRoZSByYW5nZXMgZGlzam9pbnQuCisgKi8KK2V4dGVybiB2b2lkIHNvcnRfYW5kX21lcmdlX3JhbmdlX3NldChzdHJ1Y3QgcmFuZ2Vfc2V0ICopOworCiAvKiBMaW5rZWQgbGlzdCBvZiBpbnRlcmVzdGluZyBmaWxlcyBhbmQgdGhlaXIgYXNzb2NpYXRlZCByYW5nZXMuICBUaGUKICAqIGxpc3QgbXVzdCBiZSBrZXB0IHNvcnRlZCBieSBwYXRoLgogICoKZGlmZiAtLWdpdCBhL2xpbmUtcmFuZ2UuYyBiL2xpbmUtcmFuZ2UuYwppbmRleCAzOTQyNDc1Li5kZTRlMzJmIDEwMDY0NAotLS0gYS9saW5lLXJhbmdlLmMKKysrIGIvbGluZS1yYW5nZS5jCkBAIC02LDYgKzYsMTggQEAKIAogLyoKICAqIFBhcnNlIG9uZSBpdGVtIGluIHRoZSAtTCBvcHRpb24KKyAqCisgKiAnYmVnaW4nIGlzIGFwcGxpY2FibGUgb25seSB0byByZWxhdGl2ZSByYW5nZSBhbmNob3JzLiBBYnNvbHV0ZSBhbmNob3JzCisgKiBpZ25vcmUgdGhpcyB2YWx1ZS4KKyAqCisgKiBXaGVuIHBhcnNpbmcgIi1MIEEsQiIsIHBhcnNlX2xvYygpIGlzIGNhbGxlZCBvbmNlIGZvciBBIGFuZCBvbmNlIGZvciBCLgorICoKKyAqIFdoZW4gcGFyc2luZyBBLCAnYmVnaW4nIG11c3QgYmUgYSBuZWdhdGl2ZSBudW1iZXIsIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZgorICogd2hpY2ggaXMgdGhlIGxpbmUgYXQgd2hpY2ggcmVsYXRpdmUgc3RhcnQtb2YtcmFuZ2UgYW5jaG9ycyBzaG91bGQgYmUKKyAqIGJhc2VkLiBCZWdpbm5pbmcgb2YgZmlsZSBpcyByZXByZXNlbnRlZCBieSAtMS4KKyAqCisgKiBXaGVuIHBhcnNpbmcgQiwgJ2JlZ2luJyBtdXN0IGJlIHRoZSBwb3NpdGl2ZSBsaW5lIG51bWJlciBpbW1lZGlhdGVseQorICogZm9sbG93aW5nIHRoZSBsaW5lIGNvbXB1dGVkIGZvciAnQScuCiAgKi8KIHN0YXRpYyBjb25zdCBjaGFyICpwYXJzZV9sb2MoY29uc3QgY2hhciAqc3BlYywgbnRoX2xpbmVfZm5fdCBudGhfbGluZSwKIAkJCSAgICAgdm9pZCAqZGF0YSwgbG9uZyBsaW5lcywgbG9uZyBiZWdpbiwgbG9uZyAqcmV0KQpAQCAtMjEsMTEgKzMzLDEzIEBACiAJICogZm9yIDIwIGxpbmVzLCBvciAiLUwgPHNvbWV0aGluZz4sLTUiIGZvciA1IGxpbmVzIGVuZGluZyBhdAogCSAqIDxzb21ldGhpbmc+LgogCSAqLwotCWlmICgxIDwgYmVnaW4gJiYgKHNwZWNbMF0gPT0gJysnIHx8IHNwZWNbMF0gPT0gJy0nKSkgeworCWlmICgxIDw9IGJlZ2luICYmIChzcGVjWzBdID09ICcrJyB8fCBzcGVjWzBdID09ICctJykpIHsKIAkJbnVtID0gc3RydG9sKHNwZWMgKyAxLCAmdGVybSwgMTApOwogCQlpZiAodGVybSAhPSBzcGVjICsgMSkgewogCQkJaWYgKCFyZXQpCiAJCQkJcmV0dXJuIHRlcm07CisJCQlpZiAobnVtID09IDApCisJCQkJZGllKCItTCBpbnZhbGlkIGVtcHR5IHJhbmdlIik7CiAJCQlpZiAoc3BlY1swXSA9PSAnLScpCiAJCQkJbnVtID0gMCAtIG51bTsKIAkJCWlmICgwIDwgbnVtKQpAQCAtNDAsMTAgKzU0LDIzIEBACiAJfQogCW51bSA9IHN0cnRvbChzcGVjLCAmdGVybSwgMTApOwogCWlmICh0ZXJtICE9IHNwZWMpIHsKLQkJaWYgKHJldCkKKwkJaWYgKHJldCkgeworCQkJaWYgKG51bSA8PSAwKQorCQkJCWRpZSgiLUwgaW52YWxpZCBsaW5lIG51bWJlcjogJWxkIiwgbnVtKTsKIAkJCSpyZXQgPSBudW07CisJCX0KIAkJcmV0dXJuIHRlcm07CiAJfQorCisJaWYgKGJlZ2luIDwgMCkgeworCQlpZiAoc3BlY1swXSAhPSAnXicpCisJCQliZWdpbiA9IC1iZWdpbjsKKwkJZWxzZSB7CisJCQliZWdpbiA9IDE7CisJCQlzcGVjKys7CisJCX0KKwl9CisKIAlpZiAoc3BlY1swXSAhPSAnLycpCiAJCXJldHVybiBzcGVjOwogCkBAIC04Myw3ICsxMTAsOCBAQAogCWVsc2UgewogCQljaGFyIGVycmJ1ZlsxMDI0XTsKIAkJcmVnZXJyb3IocmVnX2Vycm9yLCAmcmVnZXhwLCBlcnJidWYsIDEwMjQpOwotCQlkaWUoIi1MIHBhcmFtZXRlciAnJXMnOiAlcyIsIHNwZWMgKyAxLCBlcnJidWYpOworCQlkaWUoIi1MIHBhcmFtZXRlciAnJXMnIHN0YXJ0aW5nIGF0IGxpbmUgJWxkOiAlcyIsCisJCSAgICBzcGVjICsgMSwgYmVnaW4gKyAxLCBlcnJidWYpOwogCX0KIH0KIApAQCAtMTM2LDcgKzE2NCw3IEBACiB9CiAKIHN0YXRpYyBjb25zdCBjaGFyICpwYXJzZV9yYW5nZV9mdW5jbmFtZShjb25zdCBjaGFyICphcmcsIG50aF9saW5lX2ZuX3QgbnRoX2xpbmVfY2IsCi0JCQkJCXZvaWQgKmNiX2RhdGEsIGxvbmcgbGluZXMsIGxvbmcgKmJlZ2luLCBsb25nICplbmQsCisJCQkJCXZvaWQgKmNiX2RhdGEsIGxvbmcgbGluZXMsIGxvbmcgYW5jaG9yLCBsb25nICpiZWdpbiwgbG9uZyAqZW5kLAogCQkJCQljb25zdCBjaGFyICpwYXRoKQogewogCWNoYXIgKnBhdHRlcm47CkBAIC0xNDgsNiArMTc2LDExIEBACiAJaW50IHJlZ19lcnJvcjsKIAlyZWdleF90IHJlZ2V4cDsKIAorCWlmICgqYXJnID09ICdeJykgeworCQlhbmNob3IgPSAxOworCQlhcmcrKzsKKwl9CisKIAlhc3NlcnQoKmFyZyA9PSAnOicpOwogCXRlcm0gPSBhcmcrMTsKIAl3aGlsZSAoKnRlcm0gJiYgKnRlcm0gIT0gJzonKSB7CkBAIC0xNjIsNyArMTk1LDggQEAKIAogCXBhdHRlcm4gPSB4c3RybmR1cChhcmcrMSwgdGVybS0oYXJnKzEpKTsKIAotCXN0YXJ0ID0gbnRoX2xpbmVfY2IoY2JfZGF0YSwgMCk7CisJYW5jaG9yLS07IC8qIGlucHV0IGlzIGluIGh1bWFuIHRlcm1zICovCisJc3RhcnQgPSBudGhfbGluZV9jYihjYl9kYXRhLCBhbmNob3IpOwogCiAJZHJ2ID0gdXNlcmRpZmZfZmluZF9ieV9wYXRoKHBhdGgpOwogCWlmIChkcnYgJiYgZHJ2LT5mdW5jbmFtZS5wYXR0ZXJuKSB7CkBAIC0xODAsNyArMjE0LDggQEAKIAogCXAgPSBmaW5kX2Z1bmNuYW1lX21hdGNoaW5nX3JlZ2V4cCh4ZWNmZywgKGNoYXIqKSBzdGFydCwgJnJlZ2V4cCk7CiAJaWYgKCFwKQotCQlkaWUoIi1MIHBhcmFtZXRlciAnJXMnOiBubyBtYXRjaCIsIHBhdHRlcm4pOworCQlkaWUoIi1MIHBhcmFtZXRlciAnJXMnIHN0YXJ0aW5nIGF0IGxpbmUgJWxkOiBubyBtYXRjaCIsCisJCSAgICBwYXR0ZXJuLCBhbmNob3IgKyAxKTsKIAkqYmVnaW4gPSAwOwogCXdoaWxlIChwID4gbnRoX2xpbmVfY2IoY2JfZGF0YSwgKmJlZ2luKSkKIAkJKCpiZWdpbikrKzsKQEAgLTIwOCwxOSArMjQzLDI0IEBACiB9CiAKIGludCBwYXJzZV9yYW5nZV9hcmcoY29uc3QgY2hhciAqYXJnLCBudGhfbGluZV9mbl90IG50aF9saW5lX2NiLAotCQkgICAgdm9pZCAqY2JfZGF0YSwgbG9uZyBsaW5lcywgbG9uZyAqYmVnaW4sIGxvbmcgKmVuZCwKLQkJICAgIGNvbnN0IGNoYXIgKnBhdGgpCisJCSAgICB2b2lkICpjYl9kYXRhLCBsb25nIGxpbmVzLCBsb25nIGFuY2hvciwKKwkJICAgIGxvbmcgKmJlZ2luLCBsb25nICplbmQsIGNvbnN0IGNoYXIgKnBhdGgpCiB7CiAJKmJlZ2luID0gKmVuZCA9IDA7CiAKLQlpZiAoKmFyZyA9PSAnOicpIHsKLQkJYXJnID0gcGFyc2VfcmFuZ2VfZnVuY25hbWUoYXJnLCBudGhfbGluZV9jYiwgY2JfZGF0YSwgbGluZXMsIGJlZ2luLCBlbmQsIHBhdGgpOworCWlmIChhbmNob3IgPCAxKQorCQlhbmNob3IgPSAxOworCWlmIChhbmNob3IgPiBsaW5lcykKKwkJYW5jaG9yID0gbGluZXMgKyAxOworCisJaWYgKCphcmcgPT0gJzonIHx8ICgqYXJnID09ICdeJyAmJiAqKGFyZyArIDEpID09ICc6JykpIHsKKwkJYXJnID0gcGFyc2VfcmFuZ2VfZnVuY25hbWUoYXJnLCBudGhfbGluZV9jYiwgY2JfZGF0YSwgbGluZXMsIGFuY2hvciwgYmVnaW4sIGVuZCwgcGF0aCk7CiAJCWlmICghYXJnIHx8ICphcmcpCiAJCQlyZXR1cm4gLTE7CiAJCXJldHVybiAwOwogCX0KIAotCWFyZyA9IHBhcnNlX2xvYyhhcmcsIG50aF9saW5lX2NiLCBjYl9kYXRhLCBsaW5lcywgMSwgYmVnaW4pOworCWFyZyA9IHBhcnNlX2xvYyhhcmcsIG50aF9saW5lX2NiLCBjYl9kYXRhLCBsaW5lcywgLWFuY2hvciwgYmVnaW4pOwogCiAJaWYgKCphcmcgPT0gJywnKQogCQlhcmcgPSBwYXJzZV9sb2MoYXJnICsgMSwgbnRoX2xpbmVfY2IsIGNiX2RhdGEsIGxpbmVzLCAqYmVnaW4gKyAxLCBlbmQpOwpAQCAtMjM4LDggKzI3OCw4IEBACiAKIGNvbnN0IGNoYXIgKnNraXBfcmFuZ2VfYXJnKGNvbnN0IGNoYXIgKmFyZykKIHsKLQlpZiAoKmFyZyA9PSAnOicpCi0JCXJldHVybiBwYXJzZV9yYW5nZV9mdW5jbmFtZShhcmcsIE5VTEwsIE5VTEwsIDAsIE5VTEwsIE5VTEwsIE5VTEwpOworCWlmICgqYXJnID09ICc6JyB8fCAoKmFyZyA9PSAnXicgJiYgKihhcmcgKyAxKSA9PSAnOicpKQorCQlyZXR1cm4gcGFyc2VfcmFuZ2VfZnVuY25hbWUoYXJnLCBOVUxMLCBOVUxMLCAwLCAwLCBOVUxMLCBOVUxMLCBOVUxMKTsKIAogCWFyZyA9IHBhcnNlX2xvYyhhcmcsIE5VTEwsIE5VTEwsIDAsIC0xLCBOVUxMKTsKIApkaWZmIC0tZ2l0IGEvbGluZS1yYW5nZS5oIGIvbGluZS1yYW5nZS5oCmluZGV4IGFlM2QwMTIuLjgzYmEzYzIgMTAwNjQ0Ci0tLSBhL2xpbmUtcmFuZ2UuaAorKysgYi9saW5lLXJhbmdlLmgKQEAgLTksNiArOSw5IEBACiAgKiBsaW5lICdsbm8nIGluc2lkZSB0aGUgJ2NiX2RhdGEnLiAgVGhlIGNhbGxlciBpcyBleHBlY3RlZCB0byBhbHJlYWR5CiAgKiBoYXZlIGEgc3VpdGFibGUgbWFwIGF0IGhhbmQgdG8gbWFrZSB0aGlzIGEgY29uc3RhbnQtdGltZSBsb29rdXAuCiAgKgorICogJ2FuY2hvcicgaXMgdGhlIDEtYmFzZWQgbGluZSBhdCB3aGljaCByZWxhdGl2ZSByYW5nZSBzcGVjaWZpY2F0aW9ucworICogc2hvdWxkIGJlIGFuY2hvcmVkLiBBYnNvbHV0ZSByYW5nZXMgYXJlIHVuYWZmZWN0ZWQgYnkgdGhpcyB2YWx1ZS4KKyAqCiAgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpZiB0aGVyZSB3YXMgYW4gZXJyb3IuICBUaGUKICAqIGFjdHVhbCByYW5nZSBpcyBzdG9yZWQgaW4gKmJlZ2luIGFuZCAqZW5kLiAgVGhlIGNvdW50aW5nIHN0YXJ0cwogICogYXQgMSEgIEluIGNhc2Ugb2YgZXJyb3IsIHRoZSBjYWxsZXIgc2hvdWxkIHNob3cgdXNhZ2UgbWVzc2FnZS4KQEAgLTE4LDcgKzIxLDcgQEAKIAogZXh0ZXJuIGludCBwYXJzZV9yYW5nZV9hcmcoY29uc3QgY2hhciAqYXJnLAogCQkJICAgbnRoX2xpbmVfZm5fdCBudGhfbGluZV9jYiwKLQkJCSAgIHZvaWQgKmNiX2RhdGEsIGxvbmcgbGluZXMsCisJCQkgICB2b2lkICpjYl9kYXRhLCBsb25nIGxpbmVzLCBsb25nIGFuY2hvciwKIAkJCSAgIGxvbmcgKmJlZ2luLCBsb25nICplbmQsCiAJCQkgICBjb25zdCBjaGFyICpwYXRoKTsKIApkaWZmIC0tZ2l0IGEvbGlzdC1vYmplY3RzLmMgYi9saXN0LW9iamVjdHMuYwppbmRleCAwNWM4YzVjLi42Y2JlZGYwIDEwMDY0NAotLS0gYS9saXN0LW9iamVjdHMuYworKysgYi9saXN0LW9iamVjdHMuYwpAQCAtMTIzLDggKzEyMyw3IEBACiAJCQkJICAgICBjYl9kYXRhKTsKIAl9CiAJc3RyYnVmX3NldGxlbihiYXNlLCBiYXNlbGVuKTsKLQlmcmVlKHRyZWUtPmJ1ZmZlcik7Ci0JdHJlZS0+YnVmZmVyID0gTlVMTDsKKwlmcmVlX3RyZWVfYnVmZmVyKHRyZWUpOwogfQogCiBzdGF0aWMgdm9pZCBtYXJrX2VkZ2VfcGFyZW50c191bmludGVyZXN0aW5nKHN0cnVjdCBjb21taXQgKmNvbW1pdCwKZGlmZiAtLWdpdCBhL21haWxtYXAuYyBiL21haWxtYXAuYwppbmRleCAzMDYxNDM0Li44MTg5MGE2IDEwMDY0NAotLS0gYS9tYWlsbWFwLmMKKysrIGIvbWFpbG1hcC5jCkBAIC01Miw2ICs1MiwyMCBAQAogCXN0cmluZ19saXN0X2NsZWFyX2Z1bmMoJm1lLT5uYW1lbWFwLCBmcmVlX21haWxtYXBfaW5mbyk7CiB9CiAKKy8qCisgKiBPbiBzb21lIHN5c3RlbXMgKGUuZy4gTWluR1cgNC4wKSwgc3RyaW5nLmggaGFzIF9vbmx5XyBpbmxpbmUKKyAqIGRlZmluaXRpb24gb2Ygc3RyY2FzZWNtcCBhbmQgbm8gbm9uLWlubGluZSBpbXBsZW1lbnRhdGlvbiBpcworICogc3VwcGxpZWQgYW55d2hlcmUsIHdoaWNoIGlzLCBlaCwgInVudXN1YWwiOyB3ZSBjYW5ub3QgdGFrZSBhbgorICogYWRkcmVzcyBvZiBzdWNoIGEgZnVuY3Rpb24gdG8gc3RvcmUgaXQgaW4gbmFtZW1hcC5jbXAuICBUaGlzIGlzCisgKiBoZXJlIGFzIGEgd29ya2Fyb3VuZC0tLWRvIG5vdCBhc3NpZ24gc3RyY2FzZWNtcCBkaXJlY3RseSB0bworICogbmFtZW1hcC5jbXAgdW50aWwgd2Uga25vdyBubyBzeXN0ZW1zIHRoYXQgbWF0dGVyIGhhdmUgc3VjaCBhbgorICogInVudXN1YWwiIHN0cmluZy5oLgorICovCitzdGF0aWMgaW50IG5hbWVtYXBfY21wKGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIpCit7CisJcmV0dXJuIHN0cmNhc2VjbXAoYSwgYik7Cit9CisKIHN0YXRpYyB2b2lkIGFkZF9tYXBwaW5nKHN0cnVjdCBzdHJpbmdfbGlzdCAqbWFwLAogCQkJY2hhciAqbmV3X25hbWUsIGNoYXIgKm5ld19lbWFpbCwKIAkJCWNoYXIgKm9sZF9uYW1lLCBjaGFyICpvbGRfZW1haWwpCkBAIC03NSw3ICs4OSw3IEBACiAJCWl0ZW0gPSBzdHJpbmdfbGlzdF9pbnNlcnRfYXRfaW5kZXgobWFwLCBpbmRleCwgb2xkX2VtYWlsKTsKIAkJbWUgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbWFpbG1hcF9lbnRyeSkpOwogCQltZS0+bmFtZW1hcC5zdHJkdXBfc3RyaW5ncyA9IDE7Ci0JCW1lLT5uYW1lbWFwLmNtcCA9IHN0cmNhc2VjbXA7CisJCW1lLT5uYW1lbWFwLmNtcCA9IG5hbWVtYXBfY21wOwogCQlpdGVtLT51dGlsID0gbWU7CiAJfQogCkBAIC0xNTMsOCArMTY3LDcgQEAKIAkJaWYgKCFzdHJuY21wKGJ1ZmZlciwgYWJicmV2LCBhYmJsZW4pKSB7CiAJCQljaGFyICpjcDsKIAotCQkJaWYgKHJlcG9fYWJicmV2KQotCQkJCWZyZWUoKnJlcG9fYWJicmV2KTsKKwkJCWZyZWUoKnJlcG9fYWJicmV2KTsKIAkJCSpyZXBvX2FiYnJldiA9IHhtYWxsb2MobGVuKTsKIAogCQkJZm9yIChjcCA9IGJ1ZmZlciArIGFiYmxlbjsgaXNzcGFjZSgqY3ApOyBjcCsrKQpAQCAtMjM4LDcgKzI1MSw3IEBACiAJaW50IGVyciA9IDA7CiAKIAltYXAtPnN0cmR1cF9zdHJpbmdzID0gMTsKLQltYXAtPmNtcCA9IHN0cmNhc2VjbXA7CisJbWFwLT5jbXAgPSBuYW1lbWFwX2NtcDsKIAogCWlmICghZ2l0X21haWxtYXBfYmxvYiAmJiBpc19iYXJlX3JlcG9zaXRvcnkoKSkKIAkJZ2l0X21haWxtYXBfYmxvYiA9ICJIRUFEOi5tYWlsbWFwIjsKZGlmZiAtLWdpdCBhL21lcmdlLXJlY3Vyc2l2ZS5jIGIvbWVyZ2UtcmVjdXJzaXZlLmMKaW5kZXggZmMyZjAwMS4uZGJiNzEwNCAxMDA2NDQKLS0tIGEvbWVyZ2UtcmVjdXJzaXZlLmMKKysrIGIvbWVyZ2UtcmVjdXJzaXZlLmMKQEAgLTI5OCw3ICsyOTgsNyBAQAogewogCWludCBuOwogCXN0cnVjdCBwYXRoc3BlYyBtYXRjaF9hbGw7Ci0JaW5pdF9wYXRoc3BlYygmbWF0Y2hfYWxsLCBOVUxMKTsKKwltZW1zZXQoJm1hdGNoX2FsbCwgMCwgc2l6ZW9mKG1hdGNoX2FsbCkpOwogCWlmIChyZWFkX3RyZWVfcmVjdXJzaXZlKHRyZWUsICIiLCAwLCAwLCAmbWF0Y2hfYWxsLCBzYXZlX2ZpbGVzX2RpcnMsIG8pKQogCQlyZXR1cm4gMDsKIAluID0gby0+Y3VycmVudF9maWxlX3NldC5uciArIG8tPmN1cnJlbnRfZGlyZWN0b3J5X3NldC5ucjsKZGlmZiAtLWdpdCBhL21lcmdldG9vbHMvZGlmZm1lcmdlIGIvbWVyZ2V0b29scy9kaWZmbWVyZ2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODVhYzcyMAotLS0gL2Rldi9udWxsCisrKyBiL21lcmdldG9vbHMvZGlmZm1lcmdlCkBAIC0wLDAgKzEsMTUgQEAKK2RpZmZfY21kICgpIHsKKwkiJG1lcmdlX3Rvb2xfcGF0aCIgIiRMT0NBTCIgIiRSRU1PVEUiID4vZGV2L251bGwgMj4mMQorfQorCittZXJnZV9jbWQgKCkgeworCWlmICRiYXNlX3ByZXNlbnQKKwl0aGVuCisJCSIkbWVyZ2VfdG9vbF9wYXRoIiAtLW1lcmdlIC0tcmVzdWx0PSIkTUVSR0VEIiBcCisJCQkiJExPQ0FMIiAiJEJBU0UiICIkUkVNT1RFIgorCWVsc2UKKwkJIiRtZXJnZV90b29sX3BhdGgiIC0tbWVyZ2UgXAorCQkJLS1yZXN1bHQ9IiRNRVJHRUQiICIkTE9DQUwiICIkUkVNT1RFIgorCWZpCisJc3RhdHVzPSQ/Cit9CmRpZmYgLS1naXQgYS9uYW1lLWhhc2guYyBiL25hbWUtaGFzaC5jCmluZGV4IDYxN2M4NmMuLmU1YjZlMWEgMTAwNjQ0Ci0tLSBhL25hbWUtaGFzaC5jCisrKyBiL25hbWUtaGFzaC5jCkBAIC01OCw5ICs1OCw5IEBACiB7CiAJLyoKIAkgKiBUaHJvdyBlYWNoIGRpcmVjdG9yeSBjb21wb25lbnQgaW4gdGhlIGhhc2ggZm9yIHF1aWNrIGxvb2t1cAotCSAqIGR1cmluZyBhIGdpdCBzdGF0dXMuIERpcmVjdG9yeSBjb21wb25lbnRzIGFyZSBzdG9yZWQgd2l0aCB0aGVpcgorCSAqIGR1cmluZyBhIGdpdCBzdGF0dXMuIERpcmVjdG9yeSBjb21wb25lbnRzIGFyZSBzdG9yZWQgd2l0aG91dCB0aGVpcgogCSAqIGNsb3Npbmcgc2xhc2guICBEZXNwaXRlIHN1Ym1vZHVsZXMgYmVpbmcgYSBkaXJlY3RvcnksIHRoZXkgbmV2ZXIKLQkgKiByZWFjaCB0aGlzIHBvaW50LCBiZWNhdXNlIHRoZXkgYXJlIHN0b3JlZCB3aXRob3V0IGEgY2xvc2luZyBzbGFzaAorCSAqIHJlYWNoIHRoaXMgcG9pbnQsIGJlY2F1c2UgdGhleSBhcmUgc3RvcmVkCiAJICogaW4gaW5kZXhfc3RhdGUubmFtZV9oYXNoIChhcyBvcmRpbmFyeSBjYWNoZV9lbnRyaWVzKS4KIAkgKgogCSAqIE5vdGUgdGhhdCB0aGUgY2FjaGVfZW50cnkgc3RvcmVkIHdpdGggdGhlIGRpcl9lbnRyeSBtZXJlbHkKQEAgLTc4LDYgKzc4LDcgQEAKIAkJbmFtZWxlbi0tOwogCWlmIChuYW1lbGVuIDw9IDApCiAJCXJldHVybiBOVUxMOworCW5hbWVsZW4tLTsKIAogCS8qIGxvb2t1cCBleGlzdGluZyBlbnRyeSBmb3IgdGhhdCBkaXJlY3RvcnkgKi8KIAlkaXIgPSBmaW5kX2Rpcl9lbnRyeShpc3RhdGUsIGNlLT5uYW1lLCBuYW1lbGVuKTsKQEAgLTk3LDcgKzk4LDcgQEAKIAkJfQogCiAJCS8qIHJlY3Vyc2l2ZWx5IGFkZCBtaXNzaW5nIHBhcmVudCBkaXJlY3RvcmllcyAqLwotCQlkaXItPnBhcmVudCA9IGhhc2hfZGlyX2VudHJ5KGlzdGF0ZSwgY2UsIG5hbWVsZW4gLSAxKTsKKwkJZGlyLT5wYXJlbnQgPSBoYXNoX2Rpcl9lbnRyeShpc3RhdGUsIGNlLCBuYW1lbGVuKTsKIAl9CiAJcmV0dXJuIGRpcjsKIH0KQEAgLTIyMiw3ICsyMjMsMjkgQEAKIAlyZXR1cm4gc2xvd19zYW1lX25hbWUobmFtZSwgbmFtZWxlbiwgY2UtPm5hbWUsIGxlbik7CiB9CiAKLXN0cnVjdCBjYWNoZV9lbnRyeSAqaW5kZXhfbmFtZV9leGlzdHMoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLCBpbnQgaWNhc2UpCitzdHJ1Y3QgY2FjaGVfZW50cnkgKmluZGV4X2Rpcl9leGlzdHMoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuKQoreworCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2U7CisJc3RydWN0IGRpcl9lbnRyeSAqZGlyOworCisJbGF6eV9pbml0X25hbWVfaGFzaChpc3RhdGUpOworCWRpciA9IGZpbmRfZGlyX2VudHJ5KGlzdGF0ZSwgbmFtZSwgbmFtZWxlbik7CisJaWYgKGRpciAmJiBkaXItPm5yKQorCQlyZXR1cm4gZGlyLT5jZTsKKworCS8qCisJICogSXQgbWlnaHQgYmUgYSBzdWJtb2R1bGUuIFVubGlrZSBwbGFpbiBkaXJlY3Rvcmllcywgd2hpY2ggYXJlIHN0b3JlZAorCSAqIGluIHRoZSBkaXItaGFzaCwgc3VibW9kdWxlcyBhcmUgc3RvcmVkIGluIHRoZSBuYW1lLWhhc2gsIHNvIGNoZWNrCisJICogdGhlcmUsIGFzIHdlbGwuCisJICovCisJY2UgPSBpbmRleF9maWxlX2V4aXN0cyhpc3RhdGUsIG5hbWUsIG5hbWVsZW4sIDEpOworCWlmIChjZSAmJiBTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSkpCisJCXJldHVybiBjZTsKKworCXJldHVybiBOVUxMOworfQorCitzdHJ1Y3QgY2FjaGVfZW50cnkgKmluZGV4X2ZpbGVfZXhpc3RzKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwgaW50IGljYXNlKQogewogCXVuc2lnbmVkIGludCBoYXNoID0gaGFzaF9uYW1lKG5hbWUsIG5hbWVsZW4pOwogCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2U7CkBAIC0yMzcsMzIgKzI2MCwxNiBAQAogCQl9CiAJCWNlID0gY2UtPm5leHQ7CiAJfQotCi0JLyoKLQkgKiBXaGVuIGxvb2tpbmcgZm9yIGEgZGlyZWN0b3J5ICh0cmFpbGluZyAnLycpLCBpdCBtaWdodCBiZSBhCi0JICogc3VibW9kdWxlIG9yIGEgZGlyZWN0b3J5LiBEZXNwaXRlIHN1Ym1vZHVsZXMgYmVpbmcgZGlyZWN0b3JpZXMsCi0JICogdGhleSBhcmUgc3RvcmVkIGluIHRoZSBuYW1lIGhhc2ggd2l0aG91dCBhIGNsb3Npbmcgc2xhc2guCi0JICogV2hlbiBpZ25vcmVfY2FzZSBpcyAxLCBkaXJlY3RvcmllcyBhcmUgc3RvcmVkIGluIGEgc2VwYXJhdGUgaGFzaAotCSAqIHRhYmxlICp3aXRoKiB0aGVpciBjbG9zaW5nIHNsYXNoLgotCSAqCi0JICogVGhlIHNpZGUgZWZmZWN0IG9mIHRoaXMgc3RvcmFnZSB0ZWNobmlxdWUgaXMgd2UgaGF2ZSBuZWVkIHRvCi0JICogbG9va3VwIHRoZSBkaXJlY3RvcnkgaW4gYSBzZXBhcmF0ZSBoYXNoIHRhYmxlLCBhbmQgaWYgbm90IGZvdW5kCi0JICogcmVtb3ZlIHRoZSBzbGFzaCBmcm9tIG5hbWUgYW5kIHBlcmZvcm0gdGhlIGxvb2t1cCBhZ2FpbiB3aXRob3V0Ci0JICogdGhlIHNsYXNoLiAgSWYgYSBtYXRjaCBpcyBtYWRlLCBTX0lTR0lUTElOSyhjZS0+bW9kZSkgd2lsbCBiZQotCSAqIHRydWUuCi0JICovCi0JaWYgKGljYXNlICYmIG5hbWVbbmFtZWxlbiAtIDFdID09ICcvJykgewotCQlzdHJ1Y3QgZGlyX2VudHJ5ICpkaXIgPSBmaW5kX2Rpcl9lbnRyeShpc3RhdGUsIG5hbWUsIG5hbWVsZW4pOwotCQlpZiAoZGlyICYmIGRpci0+bnIpCi0JCQlyZXR1cm4gZGlyLT5jZTsKLQotCQljZSA9IGluZGV4X25hbWVfZXhpc3RzKGlzdGF0ZSwgbmFtZSwgbmFtZWxlbiAtIDEsIGljYXNlKTsKLQkJaWYgKGNlICYmIFNfSVNHSVRMSU5LKGNlLT5jZV9tb2RlKSkKLQkJCXJldHVybiBjZTsKLQl9CiAJcmV0dXJuIE5VTEw7CiB9CiAKK3N0cnVjdCBjYWNoZV9lbnRyeSAqaW5kZXhfbmFtZV9leGlzdHMoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLCBpbnQgaWNhc2UpCit7CisJaWYgKG5hbWVsZW4gPiAwICYmIG5hbWVbbmFtZWxlbiAtIDFdID09ICcvJykKKwkJcmV0dXJuIGluZGV4X2Rpcl9leGlzdHMoaXN0YXRlLCBuYW1lLCBuYW1lbGVuIC0gMSk7CisJcmV0dXJuIGluZGV4X2ZpbGVfZXhpc3RzKGlzdGF0ZSwgbmFtZSwgbmFtZWxlbiwgaWNhc2UpOworfQorCiBzdGF0aWMgaW50IGZyZWVfZGlyX2VudHJ5KHZvaWQgKmVudHJ5LCB2b2lkICp1bnVzZWQpCiB7CiAJc3RydWN0IGRpcl9lbnRyeSAqZGlyID0gZW50cnk7CmRpZmYgLS1naXQgYS9ub3Rlcy1tZXJnZS5jIGIvbm90ZXMtbWVyZ2UuYwppbmRleCBhYjE4ODU3Li45NGExYThhIDEwMDY0NAotLS0gYS9ub3Rlcy1tZXJnZS5jCisrKyBiL25vdGVzLW1lcmdlLmMKQEAgLTE3MCw3ICsxNzAsNyBAQAogCQkgICAgICAgc2hhMV90b19oZXgobXAtPnJlbW90ZSkpOwogCX0KIAlkaWZmX2ZsdXNoKCZvcHQpOwotCWRpZmZfdHJlZV9yZWxlYXNlX3BhdGhzKCZvcHQpOworCWZyZWVfcGF0aHNwZWMoJm9wdC5wYXRoc3BlYyk7CiAKIAkqbnVtX2NoYW5nZXMgPSBsZW47CiAJcmV0dXJuIGNoYW5nZXM7CkBAIC0yNTYsNyArMjU2LDcgQEAKIAkJICAgICAgIHNoYTFfdG9faGV4KG1wLT5sb2NhbCkpOwogCX0KIAlkaWZmX2ZsdXNoKCZvcHQpOwotCWRpZmZfdHJlZV9yZWxlYXNlX3BhdGhzKCZvcHQpOworCWZyZWVfcGF0aHNwZWMoJm9wdC5wYXRoc3BlYyk7CiB9CiAKIHN0YXRpYyB2b2lkIGNoZWNrX25vdGVzX21lcmdlX3dvcmt0cmVlKHN0cnVjdCBub3Rlc19tZXJnZV9vcHRpb25zICpvKQpkaWZmIC0tZ2l0IGEvbm90ZXMtdXRpbHMuaCBiL25vdGVzLXV0aWxzLmgKaW5kZXggYjRjYjFiZi4uNTY0ZTMwYyAxMDA2NDQKLS0tIGEvbm90ZXMtdXRpbHMuaAorKysgYi9ub3Rlcy11dGlscy5oCkBAIC05LDcgKzksNyBAQAogICogUHJvcGVydGllcyBvZiB0aGUgY3JlYXRlZCBjb21taXQ6CiAgKiAtIHRyZWU6IHRoZSByZXN1bHQgb2YgY29udmVydGluZyB0IHRvIGEgdHJlZSBvYmplY3Qgd2l0aCB3cml0ZV9ub3Rlc190cmVlKCkuCiAgKiAtIHBhcmVudHM6IHRoZSBnaXZlbiBwYXJlbnRzIE9SIChpZiBOVUxMKSB0aGUgY29tbWl0IHJlZmVyZW5jZWQgYnkgdC0+cmVmLgotICogLSBhdXRob3IvY29tbWl0dGVyOiB0aGUgZGVmYXVsdCBkZXRlcm1pbmVkIGJ5IGNvbW1taXRfdHJlZSgpLgorICogLSBhdXRob3IvY29tbWl0dGVyOiB0aGUgZGVmYXVsdCBkZXRlcm1pbmVkIGJ5IGNvbW1pdF90cmVlKCkuCiAgKiAtIGNvbW1pdCBtZXNzYWdlOiBtc2cKICAqCiAgKiBUaGUgcmVzdWx0aW5nIGNvbW1pdCBTSEExIGlzIHN0b3JlZCBpbiByZXN1bHRfc2hhMS4KZGlmZiAtLWdpdCBhL29iamVjdC5jIGIvb2JqZWN0LmMKaW5kZXggZDhhNGIxZi4uNTg0ZjdhYyAxMDA2NDQKLS0tIGEvb2JqZWN0LmMKKysrIGIvb2JqZWN0LmMKQEAgLTQzLDE2ICs0MywxNyBAQAogCWRpZSgiaW52YWxpZCBvYmplY3QgdHlwZSBcIiVzXCIiLCBzdHIpOwogfQogCi1zdGF0aWMgdW5zaWduZWQgaW50IGhhc2hfb2JqKHN0cnVjdCBvYmplY3QgKm9iaiwgdW5zaWduZWQgaW50IG4pCitzdGF0aWMgdW5zaWduZWQgaW50IGhhc2hfb2JqKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHVuc2lnbmVkIGludCBuKQogewogCXVuc2lnbmVkIGludCBoYXNoOwotCW1lbWNweSgmaGFzaCwgb2JqLT5zaGExLCBzaXplb2YodW5zaWduZWQgaW50KSk7Ci0JcmV0dXJuIGhhc2ggJSBuOworCW1lbWNweSgmaGFzaCwgc2hhMSwgc2l6ZW9mKHVuc2lnbmVkIGludCkpOworCS8qIEFzc3VtZXMgcG93ZXItb2YtMiBoYXNoIHNpemVzIGluIGdyb3dfb2JqZWN0X2hhc2ggKi8KKwlyZXR1cm4gaGFzaCAmIChuIC0gMSk7CiB9CiAKIHN0YXRpYyB2b2lkIGluc2VydF9vYmpfaGFzaChzdHJ1Y3Qgb2JqZWN0ICpvYmosIHN0cnVjdCBvYmplY3QgKipoYXNoLCB1bnNpZ25lZCBpbnQgc2l6ZSkKIHsKLQl1bnNpZ25lZCBpbnQgaiA9IGhhc2hfb2JqKG9iaiwgc2l6ZSk7CisJdW5zaWduZWQgaW50IGogPSBoYXNoX29iaihvYmotPnNoYTEsIHNpemUpOwogCiAJd2hpbGUgKGhhc2hbal0pIHsKIAkJaisrOwpAQCAtNjIsMTMgKzYzLDYgQEAKIAloYXNoW2pdID0gb2JqOwogfQogCi1zdGF0aWMgdW5zaWduZWQgaW50IGhhc2h0YWJsZV9pbmRleChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQotewotCXVuc2lnbmVkIGludCBpOwotCW1lbWNweSgmaSwgc2hhMSwgc2l6ZW9mKHVuc2lnbmVkIGludCkpOwotCXJldHVybiBpICUgb2JqX2hhc2hfc2l6ZTsKLX0KLQogc3RydWN0IG9iamVjdCAqbG9va3VwX29iamVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQogewogCXVuc2lnbmVkIGludCBpLCBmaXJzdDsKQEAgLTc3LDcgKzcxLDcgQEAKIAlpZiAoIW9ial9oYXNoKQogCQlyZXR1cm4gTlVMTDsKIAotCWZpcnN0ID0gaSA9IGhhc2h0YWJsZV9pbmRleChzaGExKTsKKwlmaXJzdCA9IGkgPSBoYXNoX29iaihzaGExLCBvYmpfaGFzaF9zaXplKTsKIAl3aGlsZSAoKG9iaiA9IG9ial9oYXNoW2ldKSAhPSBOVUxMKSB7CiAJCWlmICghaGFzaGNtcChzaGExLCBvYmotPnNoYTEpKQogCQkJYnJlYWs7CkBAIC0xMDEsNiArOTUsMTAgQEAKIHN0YXRpYyB2b2lkIGdyb3dfb2JqZWN0X2hhc2godm9pZCkKIHsKIAlpbnQgaTsKKwkvKgorCSAqIE5vdGUgdGhhdCB0aGlzIHNpemUgbXVzdCBhbHdheXMgYmUgcG93ZXItb2YtMiB0byBtYXRjaCBoYXNoX29iagorCSAqIGFib3ZlLgorCSAqLwogCWludCBuZXdfaGFzaF9zaXplID0gb2JqX2hhc2hfc2l6ZSA8IDMyID8gMzIgOiAyICogb2JqX2hhc2hfc2l6ZTsKIAlzdHJ1Y3Qgb2JqZWN0ICoqbmV3X2hhc2g7CiAKQEAgLTI2NCwxOCArMjYyLDE2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXZvaWQgYWRkX29iamVjdF9hcnJheShzdHJ1Y3Qgb2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3RfYXJyYXkgKmFycmF5KQotewotCWFkZF9vYmplY3RfYXJyYXlfd2l0aF9tb2RlKG9iaiwgbmFtZSwgYXJyYXksIFNfSUZJTlZBTElEKTsKLX0KLQogLyoKICAqIEEgemVyby1sZW5ndGggc3RyaW5nIHRvIHdoaWNoIG9iamVjdF9hcnJheV9lbnRyeTo6bmFtZSBjYW4gYmUKICAqIGluaXRpYWxpemVkIHdpdGhvdXQgcmVxdWlyaW5nIGEgbWFsbG9jL2ZyZWUuCiAgKi8KIHN0YXRpYyBjaGFyIG9iamVjdF9hcnJheV9zbG9wYnVmWzFdOwogCi12b2lkIGFkZF9vYmplY3RfYXJyYXlfd2l0aF9tb2RlKHN0cnVjdCBvYmplY3QgKm9iaiwgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9hcnJheSAqYXJyYXksIHVuc2lnbmVkIG1vZGUpCitzdGF0aWMgdm9pZCBhZGRfb2JqZWN0X2FycmF5X3dpdGhfbW9kZV9jb250ZXh0KHN0cnVjdCBvYmplY3QgKm9iaiwgY29uc3QgY2hhciAqbmFtZSwKKwkJCQkJICAgICAgIHN0cnVjdCBvYmplY3RfYXJyYXkgKmFycmF5LAorCQkJCQkgICAgICAgdW5zaWduZWQgbW9kZSwKKwkJCQkJICAgICAgIHN0cnVjdCBvYmplY3RfY29udGV4dCAqY29udGV4dCkKIHsKIAl1bnNpZ25lZCBuciA9IGFycmF5LT5ucjsKIAl1bnNpZ25lZCBhbGxvYyA9IGFycmF5LT5hbGxvYzsKQEAgLTI5OCw5ICsyOTQsMjggQEAKIAllbHNlCiAJCWVudHJ5LT5uYW1lID0geHN0cmR1cChuYW1lKTsKIAllbnRyeS0+bW9kZSA9IG1vZGU7CisJZW50cnktPmNvbnRleHQgPSBjb250ZXh0OwogCWFycmF5LT5uciA9ICsrbnI7CiB9CiAKK3ZvaWQgYWRkX29iamVjdF9hcnJheShzdHJ1Y3Qgb2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3RfYXJyYXkgKmFycmF5KQoreworCWFkZF9vYmplY3RfYXJyYXlfd2l0aF9tb2RlKG9iaiwgbmFtZSwgYXJyYXksIFNfSUZJTlZBTElEKTsKK30KKwordm9pZCBhZGRfb2JqZWN0X2FycmF5X3dpdGhfbW9kZShzdHJ1Y3Qgb2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3RfYXJyYXkgKmFycmF5LCB1bnNpZ25lZCBtb2RlKQoreworCWFkZF9vYmplY3RfYXJyYXlfd2l0aF9tb2RlX2NvbnRleHQob2JqLCBuYW1lLCBhcnJheSwgbW9kZSwgTlVMTCk7Cit9CisKK3ZvaWQgYWRkX29iamVjdF9hcnJheV93aXRoX2NvbnRleHQoc3RydWN0IG9iamVjdCAqb2JqLCBjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgb2JqZWN0X2FycmF5ICphcnJheSwgc3RydWN0IG9iamVjdF9jb250ZXh0ICpjb250ZXh0KQoreworCWlmIChjb250ZXh0KQorCQlhZGRfb2JqZWN0X2FycmF5X3dpdGhfbW9kZV9jb250ZXh0KG9iaiwgbmFtZSwgYXJyYXksIGNvbnRleHQtPm1vZGUsIGNvbnRleHQpOworCWVsc2UKKwkJYWRkX29iamVjdF9hcnJheV93aXRoX21vZGVfY29udGV4dChvYmosIG5hbWUsIGFycmF5LCBTX0lGSU5WQUxJRCwgY29udGV4dCk7Cit9CisKIHZvaWQgb2JqZWN0X2FycmF5X2ZpbHRlcihzdHJ1Y3Qgb2JqZWN0X2FycmF5ICphcnJheSwKIAkJCSBvYmplY3RfYXJyYXlfZWFjaF9mdW5jX3Qgd2FudCwgdm9pZCAqY2JfZGF0YSkKIHsKZGlmZiAtLWdpdCBhL29iamVjdC5oIGIvb2JqZWN0LmgKaW5kZXggMmZmNjhjNS4uZGM1ZGY4YyAxMDA2NDQKLS0tIGEvb2JqZWN0LmgKKysrIGIvb2JqZWN0LmgKQEAgLTE5LDYgKzE5LDcgQEAKIAkJICovCiAJCWNoYXIgKm5hbWU7CiAJCXVuc2lnbmVkIG1vZGU7CisJCXN0cnVjdCBvYmplY3RfY29udGV4dCAqY29udGV4dDsKIAl9ICpvYmplY3RzOwogfTsKIApAQCAtOTEsNiArOTIsNyBAQAogLyogT2JqZWN0IGFycmF5IGhhbmRsaW5nIC4uICovCiB2b2lkIGFkZF9vYmplY3RfYXJyYXkoc3RydWN0IG9iamVjdCAqb2JqLCBjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgb2JqZWN0X2FycmF5ICphcnJheSk7CiB2b2lkIGFkZF9vYmplY3RfYXJyYXlfd2l0aF9tb2RlKHN0cnVjdCBvYmplY3QgKm9iaiwgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9hcnJheSAqYXJyYXksIHVuc2lnbmVkIG1vZGUpOwordm9pZCBhZGRfb2JqZWN0X2FycmF5X3dpdGhfY29udGV4dChzdHJ1Y3Qgb2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3RfYXJyYXkgKmFycmF5LCBzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgKmNvbnRleHQpOwogCiB0eXBlZGVmIGludCAoKm9iamVjdF9hcnJheV9lYWNoX2Z1bmNfdCkoc3RydWN0IG9iamVjdF9hcnJheV9lbnRyeSAqLCB2b2lkICopOwogCmRpZmYgLS1naXQgYS9wYWdlci5jIGIvcGFnZXIuYwppbmRleCBjMWVjZjY1Li5mYTE5NzY1IDEwMDY0NAotLS0gYS9wYWdlci5jCisrKyBiL3BhZ2VyLmMKQEAgLTU0LDcgKzU0LDcgQEAKIAkJcGFnZXIgPSBnZXRlbnYoIlBBR0VSIik7CiAJaWYgKCFwYWdlcikKIAkJcGFnZXIgPSBERUZBVUxUX1BBR0VSOwotCWVsc2UgaWYgKCEqcGFnZXIgfHwgIXN0cmNtcChwYWdlciwgImNhdCIpKQorCWlmICghKnBhZ2VyIHx8ICFzdHJjbXAocGFnZXIsICJjYXQiKSkKIAkJcGFnZXIgPSBOVUxMOwogCiAJcmV0dXJuIHBhZ2VyOwpkaWZmIC0tZ2l0IGEvcGFyc2Utb3B0aW9ucy5jIGIvcGFyc2Utb3B0aW9ucy5jCmluZGV4IGMyY2JjYTIuLjYyZTliMWMgMTAwNjQ0Ci0tLSBhL3BhcnNlLW9wdGlvbnMuYworKysgYi9wYXJzZS1vcHRpb25zLmMKQEAgLTQzLDggKzQzLDQyIEBACiAJKmZpbGUgPSB4c3RyZHVwKHByZWZpeF9maWxlbmFtZShwcmVmaXgsIHN0cmxlbihwcmVmaXgpLCAqZmlsZSkpOwogfQogCitzdGF0aWMgaW50IG9wdF9jb21tYW5kX21vZGVfZXJyb3IoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQkJCSAgY29uc3Qgc3RydWN0IG9wdGlvbiAqYWxsX29wdHMsCisJCQkJICBpbnQgZmxhZ3MpCit7CisJY29uc3Qgc3RydWN0IG9wdGlvbiAqdGhhdDsKKwlzdHJ1Y3Qgc3RyYnVmIG1lc3NhZ2UgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIHRoYXRfbmFtZSA9IFNUUkJVRl9JTklUOworCisJLyoKKwkgKiBGaW5kIHRoZSBvdGhlciBvcHRpb24gdGhhdCB3YXMgdXNlZCB0byBzZXQgdGhlIHZhcmlhYmxlCisJICogYWxyZWFkeSwgYW5kIHJlcG9ydCB0aGF0IHRoaXMgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBpdC4KKwkgKi8KKwlmb3IgKHRoYXQgPSBhbGxfb3B0czsgdGhhdC0+dHlwZSAhPSBPUFRJT05fRU5EOyB0aGF0KyspIHsKKwkJaWYgKHRoYXQgPT0gb3B0IHx8CisJCSAgICB0aGF0LT50eXBlICE9IE9QVElPTl9DTURNT0RFIHx8CisJCSAgICB0aGF0LT52YWx1ZSAhPSBvcHQtPnZhbHVlIHx8CisJCSAgICB0aGF0LT5kZWZ2YWwgIT0gKihpbnQgKilvcHQtPnZhbHVlKQorCQkJY29udGludWU7CisKKwkJaWYgKHRoYXQtPmxvbmdfbmFtZSkKKwkJCXN0cmJ1Zl9hZGRmKCZ0aGF0X25hbWUsICItLSVzIiwgdGhhdC0+bG9uZ19uYW1lKTsKKwkJZWxzZQorCQkJc3RyYnVmX2FkZGYoJnRoYXRfbmFtZSwgIi0lYyIsIHRoYXQtPnNob3J0X25hbWUpOworCQlzdHJidWZfYWRkZigmbWVzc2FnZSwgIjogaW5jb21wYXRpYmxlIHdpdGggJXMiLCB0aGF0X25hbWUuYnVmKTsKKwkJc3RyYnVmX3JlbGVhc2UoJnRoYXRfbmFtZSk7CisJCW9wdGVycm9yKG9wdCwgbWVzc2FnZS5idWYsIGZsYWdzKTsKKwkJc3RyYnVmX3JlbGVhc2UoJm1lc3NhZ2UpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiBvcHRlcnJvcihvcHQsICI6IGluY29tcGF0aWJsZSB3aXRoIHNvbWV0aGluZyBlbHNlIiwgZmxhZ3MpOworfQorCiBzdGF0aWMgaW50IGdldF92YWx1ZShzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90ICpwLAotCQkgICAgIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwgaW50IGZsYWdzKQorCQkgICAgIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJICAgICBjb25zdCBzdHJ1Y3Qgb3B0aW9uICphbGxfb3B0cywKKwkJICAgICBpbnQgZmxhZ3MpCiB7CiAJY29uc3QgY2hhciAqcywgKmFyZzsKIAljb25zdCBpbnQgdW5zZXQgPSBmbGFncyAmIE9QVF9VTlNFVDsKQEAgLTgzLDYgKzExNywxNiBAQAogCQkqKGludCAqKW9wdC0+dmFsdWUgPSB1bnNldCA/IDAgOiBvcHQtPmRlZnZhbDsKIAkJcmV0dXJuIDA7CiAKKwljYXNlIE9QVElPTl9DTURNT0RFOgorCQkvKgorCQkgKiBHaXZpbmcgdGhlIHNhbWUgbW9kZSBvcHRpb24gdHdpY2UsIGFsdGhvdWdoIGlzIHVubmVjZXNzYXJ5LAorCQkgKiBpcyBub3QgYSBncmF2ZSBlcnJvciwgc28gbGV0IGl0IHBhc3MuCisJCSAqLworCQlpZiAoKihpbnQgKilvcHQtPnZhbHVlICYmICooaW50ICopb3B0LT52YWx1ZSAhPSBvcHQtPmRlZnZhbCkKKwkJCXJldHVybiBvcHRfY29tbWFuZF9tb2RlX2Vycm9yKG9wdCwgYWxsX29wdHMsIGZsYWdzKTsKKwkJKihpbnQgKilvcHQtPnZhbHVlID0gb3B0LT5kZWZ2YWw7CisJCXJldHVybiAwOworCiAJY2FzZSBPUFRJT05fU0VUX1BUUjoKIAkJKih2b2lkICoqKW9wdC0+dmFsdWUgPSB1bnNldCA/IE5VTEwgOiAodm9pZCAqKW9wdC0+ZGVmdmFsOwogCQlyZXR1cm4gMDsKQEAgLTE0MywxMiArMTg3LDEzIEBACiAKIHN0YXRpYyBpbnQgcGFyc2Vfc2hvcnRfb3B0KHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKnAsIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdGlvbnMpCiB7CisJY29uc3Qgc3RydWN0IG9wdGlvbiAqYWxsX29wdHMgPSBvcHRpb25zOwogCWNvbnN0IHN0cnVjdCBvcHRpb24gKm51bW9wdCA9IE5VTEw7CiAKIAlmb3IgKDsgb3B0aW9ucy0+dHlwZSAhPSBPUFRJT05fRU5EOyBvcHRpb25zKyspIHsKIAkJaWYgKG9wdGlvbnMtPnNob3J0X25hbWUgPT0gKnAtPm9wdCkgewogCQkJcC0+b3B0ID0gcC0+b3B0WzFdID8gcC0+b3B0ICsgMSA6IE5VTEw7Ci0JCQlyZXR1cm4gZ2V0X3ZhbHVlKHAsIG9wdGlvbnMsIE9QVF9TSE9SVCk7CisJCQlyZXR1cm4gZ2V0X3ZhbHVlKHAsIG9wdGlvbnMsIGFsbF9vcHRzLCBPUFRfU0hPUlQpOwogCQl9CiAKIAkJLyoKQEAgLTE3Nyw2ICsyMjIsNyBAQAogc3RhdGljIGludCBwYXJzZV9sb25nX29wdChzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90ICpwLCBjb25zdCBjaGFyICphcmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdGlvbnMpCiB7CisJY29uc3Qgc3RydWN0IG9wdGlvbiAqYWxsX29wdHMgPSBvcHRpb25zOwogCWNvbnN0IGNoYXIgKmFyZ19lbmQgPSBzdHJjaHIoYXJnLCAnPScpOwogCWNvbnN0IHN0cnVjdCBvcHRpb24gKmFiYnJldl9vcHRpb24gPSBOVUxMLCAqYW1iaWd1b3VzX29wdGlvbiA9IE5VTEw7CiAJaW50IGFiYnJldl9mbGFncyA9IDAsIGFtYmlndW91c19mbGFncyA9IDA7CkBAIC0yNTMsNyArMjk5LDcgQEAKIAkJCQljb250aW51ZTsKIAkJCXAtPm9wdCA9IHJlc3QgKyAxOwogCQl9Ci0JCXJldHVybiBnZXRfdmFsdWUocCwgb3B0aW9ucywgZmxhZ3MgXiBvcHRfZmxhZ3MpOworCQlyZXR1cm4gZ2V0X3ZhbHVlKHAsIG9wdGlvbnMsIGFsbF9vcHRzLCBmbGFncyBeIG9wdF9mbGFncyk7CiAJfQogCiAJaWYgKGFtYmlndW91c19vcHRpb24pCkBAIC0yNjUsMTggKzMxMSwyMCBAQAogCQkJKGFiYnJldl9mbGFncyAmIE9QVF9VTlNFVCkgPyAgIm5vLSIgOiAiIiwKIAkJCWFiYnJldl9vcHRpb24tPmxvbmdfbmFtZSk7CiAJaWYgKGFiYnJldl9vcHRpb24pCi0JCXJldHVybiBnZXRfdmFsdWUocCwgYWJicmV2X29wdGlvbiwgYWJicmV2X2ZsYWdzKTsKKwkJcmV0dXJuIGdldF92YWx1ZShwLCBhYmJyZXZfb3B0aW9uLCBhbGxfb3B0cywgYWJicmV2X2ZsYWdzKTsKIAlyZXR1cm4gLTI7CiB9CiAKIHN0YXRpYyBpbnQgcGFyc2Vfbm9kYXNoX29wdChzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90ICpwLCBjb25zdCBjaGFyICphcmcsCiAJCQkgICAgY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0aW9ucykKIHsKKwljb25zdCBzdHJ1Y3Qgb3B0aW9uICphbGxfb3B0cyA9IG9wdGlvbnM7CisKIAlmb3IgKDsgb3B0aW9ucy0+dHlwZSAhPSBPUFRJT05fRU5EOyBvcHRpb25zKyspIHsKIAkJaWYgKCEob3B0aW9ucy0+ZmxhZ3MgJiBQQVJTRV9PUFRfTk9EQVNIKSkKIAkJCWNvbnRpbnVlOwogCQlpZiAob3B0aW9ucy0+c2hvcnRfbmFtZSA9PSBhcmdbMF0gJiYgYXJnWzFdID09ICdcMCcpCi0JCQlyZXR1cm4gZ2V0X3ZhbHVlKHAsIG9wdGlvbnMsIE9QVF9TSE9SVCk7CisJCQlyZXR1cm4gZ2V0X3ZhbHVlKHAsIG9wdGlvbnMsIGFsbF9vcHRzLCBPUFRfU0hPUlQpOwogCX0KIAlyZXR1cm4gLTI7CiB9CmRpZmYgLS1naXQgYS9wYXJzZS1vcHRpb25zLmggYi9wYXJzZS1vcHRpb25zLmgKaW5kZXggOWI5NDU5Ni4uODczNjAwNiAxMDA2NDQKLS0tIGEvcGFyc2Utb3B0aW9ucy5oCisrKyBiL3BhcnNlLW9wdGlvbnMuaApAQCAtMTMsNiArMTMsNyBAQAogCU9QVElPTl9DT1VOVFVQLAogCU9QVElPTl9TRVRfSU5ULAogCU9QVElPTl9TRVRfUFRSLAorCU9QVElPTl9DTURNT0RFLAogCS8qIG9wdGlvbnMgd2l0aCBhcmd1bWVudHMgKHVzdWFsbHkpICovCiAJT1BUSU9OX1NUUklORywKIAlPUFRJT05fSU5URUdFUiwKQEAgLTIxLDkgKzIyLDYgQEAKIAlPUFRJT05fRklMRU5BTUUKIH07CiAKLS8qIERlcHJlY2F0ZWQgc3lub255bSAqLwotI2RlZmluZSBPUFRJT05fQk9PTEVBTiBPUFRJT05fQ09VTlRVUAotCiBlbnVtIHBhcnNlX29wdF9mbGFncyB7CiAJUEFSU0VfT1BUX0tFRVBfREFTSERBU0ggPSAxLAogCVBBUlNFX09QVF9TVE9QX0FUX05PTl9PUFRJT04gPSAyLApAQCAtMTI4LDggKzEyNiwxMiBAQAogI2RlZmluZSBPUFRfU0VUX0lOVChzLCBsLCB2LCBoLCBpKSAgeyBPUFRJT05fU0VUX0lOVCwgKHMpLCAobCksICh2KSwgTlVMTCwgXAogCQkJCSAgICAgIChoKSwgUEFSU0VfT1BUX05PQVJHLCBOVUxMLCAoaSkgfQogI2RlZmluZSBPUFRfQk9PTChzLCBsLCB2LCBoKSAgICAgICAgT1BUX1NFVF9JTlQocywgbCwgdiwgaCwgMSkKKyNkZWZpbmUgT1BUX0hJRERFTl9CT09MKHMsIGwsIHYsIGgpIHsgT1BUSU9OX1NFVF9JTlQsIChzKSwgKGwpLCAodiksIE5VTEwsIFwKKwkJCQkgICAgICAoaCksIFBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9ISURERU4sIE5VTEwsIDF9CiAjZGVmaW5lIE9QVF9TRVRfUFRSKHMsIGwsIHYsIGgsIHApICB7IE9QVElPTl9TRVRfUFRSLCAocyksIChsKSwgKHYpLCBOVUxMLCBcCiAJCQkJICAgICAgKGgpLCBQQVJTRV9PUFRfTk9BUkcsIE5VTEwsIChwKSB9CisjZGVmaW5lIE9QVF9DTURNT0RFKHMsIGwsIHYsIGgsIGkpIHsgT1BUSU9OX0NNRE1PREUsIChzKSwgKGwpLCAodiksIE5VTEwsIFwKKwkJCQkgICAgICAoaCksIFBBUlNFX09QVF9OT0FSR3xQQVJTRV9PUFRfTk9ORUcsIE5VTEwsIChpKSB9CiAjZGVmaW5lIE9QVF9JTlRFR0VSKHMsIGwsIHYsIGgpICAgICB7IE9QVElPTl9JTlRFR0VSLCAocyksIChsKSwgKHYpLCBOXygibiIpLCAoaCkgfQogI2RlZmluZSBPUFRfU1RSSU5HKHMsIGwsIHYsIGEsIGgpICAgeyBPUFRJT05fU1RSSU5HLCAgKHMpLCAobCksICh2KSwgKGEpLCAoaCkgfQogI2RlZmluZSBPUFRfU1RSSU5HX0xJU1QocywgbCwgdiwgYSwgaCkgXApkaWZmIC0tZ2l0IGEvcGF0aC5jIGIvcGF0aC5jCmluZGV4IDNkMjQ0ZDMuLjI0NTk0YzQgMTAwNjQ0Ci0tLSBhL3BhdGguYworKysgYi9wYXRoLmMKQEAgLTQzNCw2ICs0MzQsMTYgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBoYXZlX3NhbWVfcm9vdChjb25zdCBjaGFyICpwYXRoMSwgY29uc3QgY2hhciAqcGF0aDIpCit7CisJaW50IGlzX2FiczEsIGlzX2FiczI7CisKKwlpc19hYnMxID0gaXNfYWJzb2x1dGVfcGF0aChwYXRoMSk7CisJaXNfYWJzMiA9IGlzX2Fic29sdXRlX3BhdGgocGF0aDIpOworCXJldHVybiAoaXNfYWJzMSAmJiBpc19hYnMyICYmIHRvbG93ZXIocGF0aDFbMF0pID09IHRvbG93ZXIocGF0aDJbMF0pKSB8fAorCSAgICAgICAoIWlzX2FiczEgJiYgIWlzX2FiczIpOworfQorCiAvKgogICogR2l2ZSBwYXRoIGFzIHJlbGF0aXZlIHRvIHByZWZpeC4KICAqCkBAIC00NTQsNiArNDY0LDE2IEBACiAJZWxzZSBpZiAoIXByZWZpeF9sZW4pCiAJCXJldHVybiBpbjsKIAorCWlmIChoYXZlX3NhbWVfcm9vdChpbiwgcHJlZml4KSkgeworCQkvKiBieXBhc3MgZG9zX2RyaXZlLCBmb3IgImM6IiBpcyBpZGVudGljYWwgdG8gIkM6IiAqLworCQlpZiAoaGFzX2Rvc19kcml2ZV9wcmVmaXgoaW4pKSB7CisJCQlpID0gMjsKKwkJCWogPSAyOworCQl9CisJfSBlbHNlIHsKKwkJcmV0dXJuIGluOworCX0KKwogCXdoaWxlIChpIDwgcHJlZml4X2xlbiAmJiBqIDwgaW5fbGVuICYmIHByZWZpeFtpXSA9PSBpbltqXSkgewogCQlpZiAoaXNfZGlyX3NlcChwcmVmaXhbaV0pKSB7CiAJCQl3aGlsZSAoaXNfZGlyX3NlcChwcmVmaXhbaV0pKQpAQCAtNTMxLDYgKzU1MSw1MSBAQAogfQogCiAvKgorICogQSBzaW1wbGVyIGltcGxlbWVudGF0aW9uIG9mIHJlbGF0aXZlX3BhdGgKKyAqCisgKiBHZXQgcmVsYXRpdmUgcGF0aCBieSByZW1vdmluZyAicHJlZml4IiBmcm9tICJpbiIuIFRoaXMgZnVuY3Rpb24KKyAqIGZpcnN0IGFwcGVhcnMgaW4gdjEuNS42LTEtZzA0NGJiYmMsIGFuZCBtYWtlcyBnaXRfZGlyIHNob3J0ZXIKKyAqIHRvIGluY3JlYXNlIHBlcmZvcm1hbmNlIHdoZW4gdHJhdmVyc2luZyB0aGUgcGF0aCB0byB3b3JrX3RyZWUuCisgKi8KK2NvbnN0IGNoYXIgKnJlbW92ZV9sZWFkaW5nX3BhdGgoY29uc3QgY2hhciAqaW4sIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwlzdGF0aWMgY2hhciBidWZbUEFUSF9NQVggKyAxXTsKKwlpbnQgaSA9IDAsIGogPSAwOworCisJaWYgKCFwcmVmaXggfHwgIXByZWZpeFswXSkKKwkJcmV0dXJuIGluOworCXdoaWxlIChwcmVmaXhbaV0pIHsKKwkJaWYgKGlzX2Rpcl9zZXAocHJlZml4W2ldKSkgeworCQkJaWYgKCFpc19kaXJfc2VwKGluW2pdKSkKKwkJCQlyZXR1cm4gaW47CisJCQl3aGlsZSAoaXNfZGlyX3NlcChwcmVmaXhbaV0pKQorCQkJCWkrKzsKKwkJCXdoaWxlIChpc19kaXJfc2VwKGluW2pdKSkKKwkJCQlqKys7CisJCQljb250aW51ZTsKKwkJfSBlbHNlIGlmIChpbltqXSAhPSBwcmVmaXhbaV0pIHsKKwkJCXJldHVybiBpbjsKKwkJfQorCQlpKys7CisJCWorKzsKKwl9CisJaWYgKAorCSAgICAvKiAiL2ZvbyIgaXMgYSBwcmVmaXggb2YgIi9mb28iICovCisJICAgIGluW2pdICYmCisJICAgIC8qICIvZm9vIiBpcyBub3QgYSBwcmVmaXggb2YgIi9mb29iYXIiICovCisJICAgICFpc19kaXJfc2VwKHByZWZpeFtpLTFdKSAmJiAhaXNfZGlyX3NlcChpbltqXSkKKwkgICApCisJCXJldHVybiBpbjsKKwl3aGlsZSAoaXNfZGlyX3NlcChpbltqXSkpCisJCWorKzsKKwlpZiAoIWluW2pdKQorCQlzdHJjcHkoYnVmLCAiLiIpOworCWVsc2UKKwkJc3RyY3B5KGJ1ZiwgaW4gKyBqKTsKKwlyZXR1cm4gYnVmOworfQorCisvKgogICogSXQgaXMgb2theSBpZiBkc3QgPT0gc3JjLCBidXQgdGhleSBzaG91bGQgbm90IG92ZXJsYXAgb3RoZXJ3aXNlLgogICoKICAqIFBlcmZvcm1zIHRoZSBmb2xsb3dpbmcgbm9ybWFsaXphdGlvbnMgb24gc3JjLCBzdG9yaW5nIHRoZSByZXN1bHQgaW4gZHN0OgpAQCAtNTQzLDggKzYwOCwxNCBAQAogICoKICAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGlzIHB1cmVseSB0ZXh0dWFsLiAgSXQgZG9lcyBub3QgZm9sbG93IHN5bWxpbmtzLAogICogdmVyaWZ5IHRoZSBleGlzdGVuY2Ugb2YgdGhlIHBhdGgsIG9yIG1ha2UgYW55IHN5c3RlbSBjYWxscy4KKyAqCisgKiBwcmVmaXhfbGVuICE9IE5VTEwgaXMgZm9yIGEgc3BlY2lmaWMgY2FzZSBvZiBwcmVmaXhfcGF0aHNwZWMoKToKKyAqIGFzc3VtZSB0aGF0IHNyYyA9PSBkc3QgYW5kIHNyY1swLi5wcmVmaXhfbGVuLTFdIGlzIGFscmVhZHkKKyAqIG5vcm1hbGl6ZWQsIGFueSB0aW1lICIuLi8iIGVhdHMgdXAgdG8gdGhlIHByZWZpeF9sZW4gcGFydCwKKyAqIHByZWZpeF9sZW4gaXMgcmVkdWNlZC4gSW4gdGhlIGVuZCBwcmVmaXhfbGVuIGlzIHRoZSByZW1haW5pbmcKKyAqIHByZWZpeCB0aGF0IGhhcyBub3QgYmVlbiBvdmVycmlkZGVuIGJ5IHVzZXIgcGF0aHNwZWMuCiAgKi8KLWludCBub3JtYWxpemVfcGF0aF9jb3B5KGNoYXIgKmRzdCwgY29uc3QgY2hhciAqc3JjKQoraW50IG5vcm1hbGl6ZV9wYXRoX2NvcHlfbGVuKGNoYXIgKmRzdCwgY29uc3QgY2hhciAqc3JjLCBpbnQgKnByZWZpeF9sZW4pCiB7CiAJY2hhciAqZHN0MDsKIApAQCAtNjE5LDExICs2OTAsMTggQEAKIAkJLyogV2luZG93czogZHN0Wy0xXSBjYW5ub3QgYmUgYmFja3NsYXNoIGFueW1vcmUgKi8KIAkJd2hpbGUgKGRzdDAgPCBkc3QgJiYgZHN0Wy0xXSAhPSAnLycpCiAJCQlkc3QtLTsKKwkJaWYgKHByZWZpeF9sZW4gJiYgKnByZWZpeF9sZW4gPiBkc3QgLSBkc3QwKQorCQkJKnByZWZpeF9sZW4gPSBkc3QgLSBkc3QwOwogCX0KIAkqZHN0ID0gJ1wwJzsKIAlyZXR1cm4gMDsKIH0KIAoraW50IG5vcm1hbGl6ZV9wYXRoX2NvcHkoY2hhciAqZHN0LCBjb25zdCBjaGFyICpzcmMpCit7CisJcmV0dXJuIG5vcm1hbGl6ZV9wYXRoX2NvcHlfbGVuKGRzdCwgc3JjLCBOVUxMKTsKK30KKwogLyoKICAqIHBhdGggPSBDYW5vbmljYWwgYWJzb2x1dGUgcGF0aAogICogcHJlZml4ZXMgPSBzdHJpbmdfbGlzdCBjb250YWluaW5nIG5vcm1hbGl6ZWQsIGFic29sdXRlIHBhdGhzIHdpdGhvdXQKZGlmZiAtLWdpdCBhL3BhdGhzcGVjLmMgYi9wYXRoc3BlYy5jCmluZGV4IDZlYTA4NjcuLjRjZjJiZDMgMTAwNjQ0Ci0tLSBhL3BhdGhzcGVjLmMKKysrIGIvcGF0aHNwZWMuYwpAQCAtMTUsOCArMTUsOCBAQAogICogSWYgc2VlbltdIGhhcyBub3QgYWxyZWFkeSBiZWVuIHdyaXR0ZW4gdG8sIGl0IG1heSBtYWtlIHNlbnNlCiAgKiB0byB1c2UgZmluZF9wYXRoc3BlY3NfbWF0Y2hpbmdfYWdhaW5zdF9pbmRleCgpIGluc3RlYWQuCiAgKi8KLXZvaWQgYWRkX3BhdGhzcGVjX21hdGNoZXNfYWdhaW5zdF9pbmRleChjb25zdCBjaGFyICoqcGF0aHNwZWMsCi0JCQkJCWNoYXIgKnNlZW4sIGludCBzcGVjcykKK3ZvaWQgYWRkX3BhdGhzcGVjX21hdGNoZXNfYWdhaW5zdF9pbmRleChjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAorCQkJCQljaGFyICpzZWVuKQogewogCWludCBudW1fdW5tYXRjaGVkID0gMCwgaTsKIApAQCAtMjYsMTQgKzI2LDE0IEBACiAJICogbWlzdGFrZW5seSB0aGluayB0aGF0IHRoZSB1c2VyIGdhdmUgYSBwYXRoc3BlYyB0aGF0IGRpZCBub3QgbWF0Y2gKIAkgKiBhbnl0aGluZy4KIAkgKi8KLQlmb3IgKGkgPSAwOyBpIDwgc3BlY3M7IGkrKykKKwlmb3IgKGkgPSAwOyBpIDwgcGF0aHNwZWMtPm5yOyBpKyspCiAJCWlmICghc2VlbltpXSkKIAkJCW51bV91bm1hdGNoZWQrKzsKIAlpZiAoIW51bV91bm1hdGNoZWQpCiAJCXJldHVybjsKIAlmb3IgKGkgPSAwOyBpIDwgYWN0aXZlX25yOyBpKyspIHsKIAkJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGFjdGl2ZV9jYWNoZVtpXTsKLQkJbWF0Y2hfcGF0aHNwZWMocGF0aHNwZWMsIGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSwgMCwgc2Vlbik7CisJCW1hdGNoX3BhdGhzcGVjX2RlcHRoKHBhdGhzcGVjLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSksIDAsIHNlZW4pOwogCX0KIH0KIApAQCAtNDUsNTcgKzQ1LDQzNyBAQAogICogbmF0dXJlIG9mIHRoZSAiY2xvc2VzdCIgKGkuZS4gbW9zdCBzcGVjaWZpYykgbWF0Y2hlcyB3aGljaCBlYWNoIG9mIHRoZQogICogZ2l2ZW4gcGF0aHNwZWNzIGFjaGlldmVzIGFnYWluc3QgYWxsIGl0ZW1zIGluIHRoZSBpbmRleC4KICAqLwotY2hhciAqZmluZF9wYXRoc3BlY3NfbWF0Y2hpbmdfYWdhaW5zdF9pbmRleChjb25zdCBjaGFyICoqcGF0aHNwZWMpCitjaGFyICpmaW5kX3BhdGhzcGVjc19tYXRjaGluZ19hZ2FpbnN0X2luZGV4KGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCiB7Ci0JY2hhciAqc2VlbjsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IHBhdGhzcGVjW2ldOyAgaSsrKQotCQk7IC8qIGp1c3QgY291bnRpbmcgKi8KLQlzZWVuID0geGNhbGxvYyhpLCAxKTsKLQlhZGRfcGF0aHNwZWNfbWF0Y2hlc19hZ2FpbnN0X2luZGV4KHBhdGhzcGVjLCBzZWVuLCBpKTsKKwljaGFyICpzZWVuID0geGNhbGxvYyhwYXRoc3BlYy0+bnIsIDEpOworCWFkZF9wYXRoc3BlY19tYXRjaGVzX2FnYWluc3RfaW5kZXgocGF0aHNwZWMsIHNlZW4pOwogCXJldHVybiBzZWVuOwogfQogCiAvKgotICogQ2hlY2sgdGhlIGluZGV4IHRvIHNlZSB3aGV0aGVyIHBhdGggcmVmZXJzIHRvIGEgc3VibW9kdWxlLCBvcgotICogc29tZXRoaW5nIGluc2lkZSBhIHN1Ym1vZHVsZS4gIElmIHRoZSBmb3JtZXIsIHJldHVybnMgdGhlIHBhdGggd2l0aAotICogYW55IHRyYWlsaW5nIHNsYXNoIHN0cmlwcGVkLiAgSWYgdGhlIGxhdHRlciwgZGllcyB3aXRoIGFuIGVycm9yCi0gKiBtZXNzYWdlLgorICogTWFnaWMgcGF0aHNwZWMKKyAqCisgKiBQb3NzaWJsZSBmdXR1cmUgbWFnaWMgc2VtYW50aWNzIGluY2x1ZGUgc3R1ZmYgbGlrZToKKyAqCisgKgl7IFBBVEhTUEVDX1JFQ1VSU0lWRSwgJyonLCAicmVjdXJzaXZlIiB9LAorICoJeyBQQVRIU1BFQ19SRUdFWFAsICdcMCcsICJyZWdleHAiIH0sCisgKgogICovCi1jb25zdCBjaGFyICpjaGVja19wYXRoX2Zvcl9naXRsaW5rKGNvbnN0IGNoYXIgKnBhdGgpCisKK3N0YXRpYyBzdHJ1Y3QgcGF0aHNwZWNfbWFnaWMgeworCXVuc2lnbmVkIGJpdDsKKwljaGFyIG1uZW1vbmljOyAvKiB0aGlzIGNhbm5vdCBiZSAnOichICovCisJY29uc3QgY2hhciAqbmFtZTsKK30gcGF0aHNwZWNfbWFnaWNbXSA9IHsKKwl7IFBBVEhTUEVDX0ZST01UT1AsICcvJywgInRvcCIgfSwKKwl7IFBBVEhTUEVDX0xJVEVSQUwsICAgMCwgImxpdGVyYWwiIH0sCisJeyBQQVRIU1BFQ19HTE9CLCAgICdcMCcsICJnbG9iIiB9LAorCXsgUEFUSFNQRUNfSUNBU0UsICAnXDAnLCAiaWNhc2UiIH0sCit9OworCisvKgorICogVGFrZSBhbiBlbGVtZW50IG9mIGEgcGF0aHNwZWMgYW5kIGNoZWNrIGZvciBtYWdpYyBzaWduYXR1cmVzLgorICogQXBwZW5kIHRoZSByZXN1bHQgdG8gdGhlIHByZWZpeC4gUmV0dXJuIHRoZSBtYWdpYyBiaXRtYXAuCisgKgorICogRm9yIG5vdywgd2Ugb25seSBwYXJzZSB0aGUgc3ludGF4IGFuZCB0aHJvdyBvdXQgYW55dGhpbmcgb3RoZXIgdGhhbgorICogInRvcCIgbWFnaWMuCisgKgorICogTkVFRFNXT1JLOiBUaGlzIG5lZWRzIHRvIGJlIHJld3JpdHRlbiB3aGVuIHdlIHN0YXJ0IG1pZ3JhdGluZworICogZ2V0X3BhdGhzcGVjKCkgdXNlcnMgdG8gdXNlIHRoZSAic3RydWN0IHBhdGhzcGVjIiBpbnRlcmZhY2UuICBGb3IKKyAqIGV4YW1wbGUsIGEgcGF0aHNwZWMgZWxlbWVudCBtYXkgYmUgbWFya2VkIGFzIGNhc2UtaW5zZW5zaXRpdmUsIGJ1dAorICogdGhlIHByZWZpeCBwYXJ0IG11c3QgYWx3YXlzIG1hdGNoIGxpdGVyYWxseSwgYW5kIGEgc2luZ2xlIHN0dXBpZAorICogc3RyaW5nIGNhbm5vdCBleHByZXNzIHN1Y2ggYSBjYXNlLgorICovCitzdGF0aWMgdW5zaWduZWQgcHJlZml4X3BhdGhzcGVjKHN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtLAorCQkJCXVuc2lnbmVkICpwX3Nob3J0X21hZ2ljLAorCQkJCWNvbnN0IGNoYXIgKipyYXcsIHVuc2lnbmVkIGZsYWdzLAorCQkJCWNvbnN0IGNoYXIgKnByZWZpeCwgaW50IHByZWZpeGxlbiwKKwkJCQljb25zdCBjaGFyICplbHQpCiB7Ci0JaW50IGksIHBhdGhfbGVuID0gc3RybGVuKHBhdGgpOwotCWZvciAoaSA9IDA7IGkgPCBhY3RpdmVfbnI7IGkrKykgewotCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gYWN0aXZlX2NhY2hlW2ldOwotCQlpZiAoU19JU0dJVExJTksoY2UtPmNlX21vZGUpKSB7Ci0JCQlpbnQgY2VfbGVuID0gY2VfbmFtZWxlbihjZSk7Ci0JCQlpZiAocGF0aF9sZW4gPD0gY2VfbGVuIHx8IHBhdGhbY2VfbGVuXSAhPSAnLycgfHwKLQkJCSAgICBtZW1jbXAoY2UtPm5hbWUsIHBhdGgsIGNlX2xlbikpCi0JCQkJLyogcGF0aCBkb2VzIG5vdCByZWZlciB0byB0aGlzCi0JCQkJICogc3VibW9kdWxlIG9yIGFueXRoaW5nIGluc2lkZSBpdCAqLworCXN0YXRpYyBpbnQgbGl0ZXJhbF9nbG9iYWwgPSAtMTsKKwlzdGF0aWMgaW50IGdsb2JfZ2xvYmFsID0gLTE7CisJc3RhdGljIGludCBub2dsb2JfZ2xvYmFsID0gLTE7CisJc3RhdGljIGludCBpY2FzZV9nbG9iYWwgPSAtMTsKKwl1bnNpZ25lZCBtYWdpYyA9IDAsIHNob3J0X21hZ2ljID0gMCwgZ2xvYmFsX21hZ2ljID0gMDsKKwljb25zdCBjaGFyICpjb3B5ZnJvbSA9IGVsdCwgKmxvbmdfbWFnaWNfZW5kID0gTlVMTDsKKwljaGFyICptYXRjaDsKKwlpbnQgaSwgcGF0aHNwZWNfcHJlZml4ID0gLTE7CisKKwlpZiAobGl0ZXJhbF9nbG9iYWwgPCAwKQorCQlsaXRlcmFsX2dsb2JhbCA9IGdpdF9lbnZfYm9vbChHSVRfTElURVJBTF9QQVRIU1BFQ1NfRU5WSVJPTk1FTlQsIDApOworCWlmIChsaXRlcmFsX2dsb2JhbCkKKwkJZ2xvYmFsX21hZ2ljIHw9IFBBVEhTUEVDX0xJVEVSQUw7CisKKwlpZiAoZ2xvYl9nbG9iYWwgPCAwKQorCQlnbG9iX2dsb2JhbCA9IGdpdF9lbnZfYm9vbChHSVRfR0xPQl9QQVRIU1BFQ1NfRU5WSVJPTk1FTlQsIDApOworCWlmIChnbG9iX2dsb2JhbCkKKwkJZ2xvYmFsX21hZ2ljIHw9IFBBVEhTUEVDX0dMT0I7CisKKwlpZiAobm9nbG9iX2dsb2JhbCA8IDApCisJCW5vZ2xvYl9nbG9iYWwgPSBnaXRfZW52X2Jvb2woR0lUX05PR0xPQl9QQVRIU1BFQ1NfRU5WSVJPTk1FTlQsIDApOworCisJaWYgKGdsb2JfZ2xvYmFsICYmIG5vZ2xvYl9nbG9iYWwpCisJCWRpZShfKCJnbG9iYWwgJ2dsb2InIGFuZCAnbm9nbG9iJyBwYXRoc3BlYyBzZXR0aW5ncyBhcmUgaW5jb21wYXRpYmxlIikpOworCisKKwlpZiAoaWNhc2VfZ2xvYmFsIDwgMCkKKwkJaWNhc2VfZ2xvYmFsID0gZ2l0X2Vudl9ib29sKEdJVF9JQ0FTRV9QQVRIU1BFQ1NfRU5WSVJPTk1FTlQsIDApOworCWlmIChpY2FzZV9nbG9iYWwpCisJCWdsb2JhbF9tYWdpYyB8PSBQQVRIU1BFQ19JQ0FTRTsKKworCWlmICgoZ2xvYmFsX21hZ2ljICYgUEFUSFNQRUNfTElURVJBTCkgJiYKKwkgICAgKGdsb2JhbF9tYWdpYyAmIH5QQVRIU1BFQ19MSVRFUkFMKSkKKwkJZGllKF8oImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgIgorCQkgICAgICAid2l0aCBhbGwgb3RoZXIgZ2xvYmFsIHBhdGhzcGVjIHNldHRpbmdzIikpOworCisJaWYgKGZsYWdzICYgUEFUSFNQRUNfTElURVJBTF9QQVRIKQorCQlnbG9iYWxfbWFnaWMgPSAwOworCisJaWYgKGVsdFswXSAhPSAnOicgfHwgbGl0ZXJhbF9nbG9iYWwgfHwKKwkgICAgKGZsYWdzICYgUEFUSFNQRUNfTElURVJBTF9QQVRIKSkgeworCQk7IC8qIG5vdGhpbmcgdG8gZG8gKi8KKwl9IGVsc2UgaWYgKGVsdFsxXSA9PSAnKCcpIHsKKwkJLyogbG9uZ2hhbmQgKi8KKwkJY29uc3QgY2hhciAqbmV4dGF0OworCQlmb3IgKGNvcHlmcm9tID0gZWx0ICsgMjsKKwkJICAgICAqY29weWZyb20gJiYgKmNvcHlmcm9tICE9ICcpJzsKKwkJICAgICBjb3B5ZnJvbSA9IG5leHRhdCkgeworCQkJc2l6ZV90IGxlbiA9IHN0cmNzcG4oY29weWZyb20sICIsKSIpOworCQkJaWYgKGNvcHlmcm9tW2xlbl0gPT0gJywnKQorCQkJCW5leHRhdCA9IGNvcHlmcm9tICsgbGVuICsgMTsKKwkJCWVsc2UKKwkJCQkvKiBoYW5kbGUgJyknIGFuZCAnXDAnICovCisJCQkJbmV4dGF0ID0gY29weWZyb20gKyBsZW47CisJCQlpZiAoIWxlbikKIAkJCQljb250aW51ZTsKLQkJCWlmIChwYXRoX2xlbiA9PSBjZV9sZW4gKyAxKSB7Ci0JCQkJLyogcGF0aCByZWZlcnMgdG8gc3VibW9kdWxlOwotCQkJCSAqIHN0cmlwIHRyYWlsaW5nIHNsYXNoICovCi0JCQkJcmV0dXJuIHhzdHJuZHVwKGNlLT5uYW1lLCBjZV9sZW4pOworCQkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocGF0aHNwZWNfbWFnaWMpOyBpKyspIHsKKwkJCQlpZiAoc3RybGVuKHBhdGhzcGVjX21hZ2ljW2ldLm5hbWUpID09IGxlbiAmJgorCQkJCSAgICAhc3RybmNtcChwYXRoc3BlY19tYWdpY1tpXS5uYW1lLCBjb3B5ZnJvbSwgbGVuKSkgeworCQkJCQltYWdpYyB8PSBwYXRoc3BlY19tYWdpY1tpXS5iaXQ7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCQlpZiAoIXByZWZpeGNtcChjb3B5ZnJvbSwgInByZWZpeDoiKSkgeworCQkJCQljaGFyICplbmRwdHI7CisJCQkJCXBhdGhzcGVjX3ByZWZpeCA9IHN0cnRvbChjb3B5ZnJvbSArIDcsCisJCQkJCQkJCSAmZW5kcHRyLCAxMCk7CisJCQkJCWlmIChlbmRwdHIgLSBjb3B5ZnJvbSAhPSBsZW4pCisJCQkJCQlkaWUoXygiaW52YWxpZCBwYXJhbWV0ZXIgZm9yIHBhdGhzcGVjIG1hZ2ljICdwcmVmaXgnIikpOworCQkJCQkvKiAiaSIgd291bGQgYmUgd3JvbmcsIGJ1dCBpdCBkb2VzIG5vdCBtYXR0ZXIgKi8KKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJfQorCQkJaWYgKEFSUkFZX1NJWkUocGF0aHNwZWNfbWFnaWMpIDw9IGkpCisJCQkJZGllKF8oIkludmFsaWQgcGF0aHNwZWMgbWFnaWMgJyUuKnMnIGluICclcyciKSwKKwkJCQkgICAgKGludCkgbGVuLCBjb3B5ZnJvbSwgZWx0KTsKKwkJfQorCQlpZiAoKmNvcHlmcm9tICE9ICcpJykKKwkJCWRpZShfKCJNaXNzaW5nICcpJyBhdCB0aGUgZW5kIG9mIHBhdGhzcGVjIG1hZ2ljIGluICclcyciKSwgZWx0KTsKKwkJbG9uZ19tYWdpY19lbmQgPSBjb3B5ZnJvbTsKKwkJY29weWZyb20rKzsKKwl9IGVsc2UgeworCQkvKiBzaG9ydGhhbmQgKi8KKwkJZm9yIChjb3B5ZnJvbSA9IGVsdCArIDE7CisJCSAgICAgKmNvcHlmcm9tICYmICpjb3B5ZnJvbSAhPSAnOic7CisJCSAgICAgY29weWZyb20rKykgeworCQkJY2hhciBjaCA9ICpjb3B5ZnJvbTsKKworCQkJaWYgKCFpc19wYXRoc3BlY19tYWdpYyhjaCkpCisJCQkJYnJlYWs7CisJCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwYXRoc3BlY19tYWdpYyk7IGkrKykKKwkJCQlpZiAocGF0aHNwZWNfbWFnaWNbaV0ubW5lbW9uaWMgPT0gY2gpIHsKKwkJCQkJc2hvcnRfbWFnaWMgfD0gcGF0aHNwZWNfbWFnaWNbaV0uYml0OworCQkJCQlicmVhazsKKwkJCQl9CisJCQlpZiAoQVJSQVlfU0laRShwYXRoc3BlY19tYWdpYykgPD0gaSkKKwkJCQlkaWUoXygiVW5pbXBsZW1lbnRlZCBwYXRoc3BlYyBtYWdpYyAnJWMnIGluICclcyciKSwKKwkJCQkgICAgY2gsIGVsdCk7CisJCX0KKwkJaWYgKCpjb3B5ZnJvbSA9PSAnOicpCisJCQljb3B5ZnJvbSsrOworCX0KKworCW1hZ2ljIHw9IHNob3J0X21hZ2ljOworCSpwX3Nob3J0X21hZ2ljID0gc2hvcnRfbWFnaWM7CisKKwkvKiAtLW5vZ2xvYi1wYXRoc3BlYyBhZGRzIDoobGl0ZXJhbCkgX3VubGVzc18gOihnbG9iKSBpcyBzcGVjaWZlZCAqLworCWlmIChub2dsb2JfZ2xvYmFsICYmICEobWFnaWMgJiBQQVRIU1BFQ19HTE9CKSkKKwkJZ2xvYmFsX21hZ2ljIHw9IFBBVEhTUEVDX0xJVEVSQUw7CisKKwkvKiAtLWdsb2ItcGF0aHNwZWMgaXMgb3ZlcnJpZGVuIGJ5IDoobGl0ZXJhbCkgKi8KKwlpZiAoKGdsb2JhbF9tYWdpYyAmIFBBVEhTUEVDX0dMT0IpICYmIChtYWdpYyAmIFBBVEhTUEVDX0xJVEVSQUwpKQorCQlnbG9iYWxfbWFnaWMgJj0gflBBVEhTUEVDX0dMT0I7CisKKwltYWdpYyB8PSBnbG9iYWxfbWFnaWM7CisKKwlpZiAocGF0aHNwZWNfcHJlZml4ID49IDAgJiYKKwkgICAgKHByZWZpeGxlbiB8fCAocHJlZml4ICYmICpwcmVmaXgpKSkKKwkJZGllKCJCVUc6ICdwcmVmaXgnIG1hZ2ljIGlzIHN1cHBvc2VkIHRvIGJlIHVzZWQgYXQgd29ya3RyZWUncyByb290Iik7CisKKwlpZiAoKG1hZ2ljICYgUEFUSFNQRUNfTElURVJBTCkgJiYgKG1hZ2ljICYgUEFUSFNQRUNfR0xPQikpCisJCWRpZShfKCIlczogJ2xpdGVyYWwnIGFuZCAnZ2xvYicgYXJlIGluY29tcGF0aWJsZSIpLCBlbHQpOworCisJaWYgKHBhdGhzcGVjX3ByZWZpeCA+PSAwKSB7CisJCW1hdGNoID0geHN0cmR1cChjb3B5ZnJvbSk7CisJCXByZWZpeGxlbiA9IHBhdGhzcGVjX3ByZWZpeDsKKwl9IGVsc2UgaWYgKG1hZ2ljICYgUEFUSFNQRUNfRlJPTVRPUCkgeworCQltYXRjaCA9IHhzdHJkdXAoY29weWZyb20pOworCQlwcmVmaXhsZW4gPSAwOworCX0gZWxzZSB7CisJCW1hdGNoID0gcHJlZml4X3BhdGhfZ2VudGx5KHByZWZpeCwgcHJlZml4bGVuLCAmcHJlZml4bGVuLCBjb3B5ZnJvbSk7CisJCWlmICghbWF0Y2gpCisJCQlkaWUoXygiJXM6ICclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IiksIGVsdCwgY29weWZyb20pOworCX0KKwkqcmF3ID0gaXRlbS0+bWF0Y2ggPSBtYXRjaDsKKwkvKgorCSAqIFByZWZpeCB0aGUgcGF0aHNwZWMgKGtlZXAgYWxsIG1hZ2ljKSBhbmQgYXNzaWduIHRvCisJICogb3JpZ2luYWwuIFVzZWZ1bCBmb3IgcGFzc2luZyB0byBhbm90aGVyIGNvbW1hbmQuCisJICovCisJaWYgKGZsYWdzICYgUEFUSFNQRUNfUFJFRklYX09SSUdJTikgeworCQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisJCWNvbnN0IGNoYXIgKnN0YXJ0ID0gZWx0OworCQlpZiAocHJlZml4bGVuICYmICFsaXRlcmFsX2dsb2JhbCkgeworCQkJLyogUHJlc2VydmUgdGhlIGFjdHVhbCBwcmVmaXggbGVuZ3RoIG9mIGVhY2ggcGF0dGVybiAqLworCQkJaWYgKHNob3J0X21hZ2ljKQorCQkJCWRpZSgiQlVHOiBwcmVmaXhpbmcgb24gc2hvcnQgbWFnaWMgaXMgbm90IHN1cHBvcnRlZCIpOworCQkJZWxzZSBpZiAobG9uZ19tYWdpY19lbmQpIHsKKwkJCQlzdHJidWZfYWRkKCZzYiwgc3RhcnQsIGxvbmdfbWFnaWNfZW5kIC0gc3RhcnQpOworCQkJCXN0cmJ1Zl9hZGRmKCZzYiwgIixwcmVmaXg6JWQiLCBwcmVmaXhsZW4pOworCQkJCXN0YXJ0ID0gbG9uZ19tYWdpY19lbmQ7CiAJCQl9IGVsc2UgewotCQkJCWRpZSAoXygiUGF0aCAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciKSwKLQkJCQkgICAgIHBhdGgsIGNlX2xlbiwgY2UtPm5hbWUpOworCQkJCWlmICgqc3RhcnQgPT0gJzonKQorCQkJCQlzdGFydCsrOworCQkJCXN0cmJ1Zl9hZGRmKCZzYiwgIjoocHJlZml4OiVkKSIsIHByZWZpeGxlbik7CiAJCQl9CiAJCX0KKwkJc3RyYnVmX2FkZCgmc2IsIHN0YXJ0LCBjb3B5ZnJvbSAtIHN0YXJ0KTsKKwkJc3RyYnVmX2FkZHN0cigmc2IsIG1hdGNoKTsKKwkJaXRlbS0+b3JpZ2luYWwgPSBzdHJidWZfZGV0YWNoKCZzYiwgTlVMTCk7CisJfSBlbHNlCisJCWl0ZW0tPm9yaWdpbmFsID0gZWx0OworCWl0ZW0tPmxlbiA9IHN0cmxlbihpdGVtLT5tYXRjaCk7CisJaXRlbS0+cHJlZml4ID0gcHJlZml4bGVuOworCisJaWYgKChmbGFncyAmIFBBVEhTUEVDX1NUUklQX1NVQk1PRFVMRV9TTEFTSF9DSEVBUCkgJiYKKwkgICAgKGl0ZW0tPmxlbiA+PSAxICYmIGl0ZW0tPm1hdGNoW2l0ZW0tPmxlbiAtIDFdID09ICcvJykgJiYKKwkgICAgKGkgPSBjYWNoZV9uYW1lX3BvcyhpdGVtLT5tYXRjaCwgaXRlbS0+bGVuIC0gMSkpID49IDAgJiYKKwkgICAgU19JU0dJVExJTksoYWN0aXZlX2NhY2hlW2ldLT5jZV9tb2RlKSkgeworCQlpdGVtLT5sZW4tLTsKKwkJbWF0Y2hbaXRlbS0+bGVuXSA9ICdcMCc7CiAJfQotCXJldHVybiBwYXRoOworCisJaWYgKGZsYWdzICYgUEFUSFNQRUNfU1RSSVBfU1VCTU9EVUxFX1NMQVNIX0VYUEVOU0lWRSkKKwkJZm9yIChpID0gMDsgaSA8IGFjdGl2ZV9ucjsgaSsrKSB7CisJCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gYWN0aXZlX2NhY2hlW2ldOworCQkJaW50IGNlX2xlbiA9IGNlX25hbWVsZW4oY2UpOworCisJCQlpZiAoIVNfSVNHSVRMSU5LKGNlLT5jZV9tb2RlKSkKKwkJCQljb250aW51ZTsKKworCQkJaWYgKGl0ZW0tPmxlbiA8PSBjZV9sZW4gfHwgbWF0Y2hbY2VfbGVuXSAhPSAnLycgfHwKKwkJCSAgICBtZW1jbXAoY2UtPm5hbWUsIG1hdGNoLCBjZV9sZW4pKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKGl0ZW0tPmxlbiA9PSBjZV9sZW4gKyAxKSB7CisJCQkJLyogc3RyaXAgdHJhaWxpbmcgc2xhc2ggKi8KKwkJCQlpdGVtLT5sZW4tLTsKKwkJCQltYXRjaFtpdGVtLT5sZW5dID0gJ1wwJzsKKwkJCX0gZWxzZQorCQkJCWRpZSAoXygiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIiksCisJCQkJICAgICBlbHQsIGNlX2xlbiwgY2UtPm5hbWUpOworCQl9CisKKwlpZiAobWFnaWMgJiBQQVRIU1BFQ19MSVRFUkFMKQorCQlpdGVtLT5ub3dpbGRjYXJkX2xlbiA9IGl0ZW0tPmxlbjsKKwllbHNlIHsKKwkJaXRlbS0+bm93aWxkY2FyZF9sZW4gPSBzaW1wbGVfbGVuZ3RoKGl0ZW0tPm1hdGNoKTsKKwkJaWYgKGl0ZW0tPm5vd2lsZGNhcmRfbGVuIDwgcHJlZml4bGVuKQorCQkJaXRlbS0+bm93aWxkY2FyZF9sZW4gPSBwcmVmaXhsZW47CisJfQorCWl0ZW0tPmZsYWdzID0gMDsKKwlpZiAobWFnaWMgJiBQQVRIU1BFQ19HTE9CKSB7CisJCS8qCisJCSAqIEZJWE1FOiBzaG91bGQgd2UgZW5hYmxlIE9ORVNUQVIgaW4gX0dMT0IgZm9yCisJCSAqIHBhdHRlcm4gIiogKiAvICogLiBjIj8KKwkJICovCisJfSBlbHNlIHsKKwkJaWYgKGl0ZW0tPm5vd2lsZGNhcmRfbGVuIDwgaXRlbS0+bGVuICYmCisJCSAgICBpdGVtLT5tYXRjaFtpdGVtLT5ub3dpbGRjYXJkX2xlbl0gPT0gJyonICYmCisJCSAgICBub193aWxkY2FyZChpdGVtLT5tYXRjaCArIGl0ZW0tPm5vd2lsZGNhcmRfbGVuICsgMSkpCisJCQlpdGVtLT5mbGFncyB8PSBQQVRIU1BFQ19PTkVTVEFSOworCX0KKworCS8qIHNhbml0eSBjaGVja3MsIHBhdGhzcGVjIG1hdGNoZXJzIGFzc3VtZSB0aGVzZSBhcmUgc2FuZSAqLworCWFzc2VydChpdGVtLT5ub3dpbGRjYXJkX2xlbiA8PSBpdGVtLT5sZW4gJiYKKwkgICAgICAgaXRlbS0+cHJlZml4ICAgICAgICAgPD0gaXRlbS0+bGVuKTsKKwlyZXR1cm4gbWFnaWM7Cit9CisKK3N0YXRpYyBpbnQgcGF0aHNwZWNfaXRlbV9jbXAoY29uc3Qgdm9pZCAqYV8sIGNvbnN0IHZvaWQgKmJfKQoreworCXN0cnVjdCBwYXRoc3BlY19pdGVtICphLCAqYjsKKworCWEgPSAoc3RydWN0IHBhdGhzcGVjX2l0ZW0gKilhXzsKKwliID0gKHN0cnVjdCBwYXRoc3BlY19pdGVtICopYl87CisJcmV0dXJuIHN0cmNtcChhLT5tYXRjaCwgYi0+bWF0Y2gpOworfQorCitzdGF0aWMgdm9pZCBOT1JFVFVSTiB1bnN1cHBvcnRlZF9tYWdpYyhjb25zdCBjaGFyICpwYXR0ZXJuLAorCQkJCSAgICAgICB1bnNpZ25lZCBtYWdpYywKKwkJCQkgICAgICAgdW5zaWduZWQgc2hvcnRfbWFnaWMpCit7CisJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOworCWludCBpLCBuOworCWZvciAobiA9IGkgPSAwOyBpIDwgQVJSQVlfU0laRShwYXRoc3BlY19tYWdpYyk7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgcGF0aHNwZWNfbWFnaWMgKm0gPSBwYXRoc3BlY19tYWdpYyArIGk7CisJCWlmICghKG1hZ2ljICYgbS0+Yml0KSkKKwkJCWNvbnRpbnVlOworCQlpZiAoc2IubGVuKQorCQkJc3RyYnVmX2FkZHN0cigmc2IsICIgIik7CisJCWlmIChzaG9ydF9tYWdpYyAmIG0tPmJpdCkKKwkJCXN0cmJ1Zl9hZGRmKCZzYiwgIiclYyciLCBtLT5tbmVtb25pYyk7CisJCWVsc2UKKwkJCXN0cmJ1Zl9hZGRmKCZzYiwgIiclcyciLCBtLT5uYW1lKTsKKwkJbisrOworCX0KKwkvKgorCSAqIFdlIG1heSB3YW50IHRvIHN1YnN0aXR1dGUgInRoaXMgY29tbWFuZCIgd2l0aCBhIGNvbW1hbmQKKwkgKiBuYW1lLiBFLmcuIHdoZW4gYWRkLS1pbnRlcmFjdGl2ZSBkaWVzIHdoZW4gcnVubmluZworCSAqICJjaGVja291dCAtcCIKKwkgKi8KKwlkaWUoXygiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIpLAorCSAgICBwYXR0ZXJuLCBzYi5idWYpOwogfQogCiAvKgotICogRGllcyBpZiB0aGUgZ2l2ZW4gcGF0aCByZWZlcnMgdG8gYSBmaWxlIGluc2lkZSBhIHN5bWxpbmtlZAotICogZGlyZWN0b3J5IGluIHRoZSBpbmRleC4KKyAqIEdpdmVuIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgYW5kIGEgcHJlZml4LCBjb252ZXJ0IHRoZSBpbnB1dCB0bworICogcGF0aHNwZWMuIGRpZSgpIGlmIGFueSBtYWdpYyBpbiBtYWdpY19tYXNrIGlzIHVzZWQuCiAgKi8KLXZvaWQgZGllX2lmX3BhdGhfYmV5b25kX3N5bWxpbmsoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqcHJlZml4KQordm9pZCBwYXJzZV9wYXRoc3BlYyhzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAorCQkgICAgdW5zaWduZWQgbWFnaWNfbWFzaywgdW5zaWduZWQgZmxhZ3MsCisJCSAgICBjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKiphcmd2KQogewotCWlmIChoYXNfc3ltbGlua19sZWFkaW5nX3BhdGgocGF0aCwgc3RybGVuKHBhdGgpKSkgewotCQlpbnQgbGVuID0gcHJlZml4ID8gc3RybGVuKHByZWZpeCkgOiAwOwotCQlkaWUoXygiJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIiksIHBhdGggKyBsZW4pOworCXN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtOworCWNvbnN0IGNoYXIgKmVudHJ5ID0gYXJndiA/ICphcmd2IDogTlVMTDsKKwlpbnQgaSwgbiwgcHJlZml4bGVuOworCisJbWVtc2V0KHBhdGhzcGVjLCAwLCBzaXplb2YoKnBhdGhzcGVjKSk7CisKKwlpZiAoZmxhZ3MgJiBQQVRIU1BFQ19NQVhERVBUSF9WQUxJRCkKKwkJcGF0aHNwZWMtPm1hZ2ljIHw9IFBBVEhTUEVDX01BWERFUFRIOworCisJLyogTm8gYXJndW1lbnRzLCBubyBwcmVmaXggLT4gbm8gcGF0aHNwZWMgKi8KKwlpZiAoIWVudHJ5ICYmICFwcmVmaXgpCisJCXJldHVybjsKKworCWlmICgoZmxhZ3MgJiBQQVRIU1BFQ19QUkVGRVJfQ1dEKSAmJgorCSAgICAoZmxhZ3MgJiBQQVRIU1BFQ19QUkVGRVJfRlVMTCkpCisJCWRpZSgiQlVHOiBQQVRIU1BFQ19QUkVGRVJfQ1dEIGFuZCBQQVRIU1BFQ19QUkVGRVJfRlVMTCBhcmUgaW5jb21wYXRpYmxlIik7CisKKwkvKiBObyBhcmd1bWVudHMgd2l0aCBwcmVmaXggLT4gcHJlZml4IHBhdGhzcGVjICovCisJaWYgKCFlbnRyeSkgeworCQlzdGF0aWMgY29uc3QgY2hhciAqcmF3WzJdOworCisJCWlmIChmbGFncyAmIFBBVEhTUEVDX1BSRUZFUl9GVUxMKQorCQkJcmV0dXJuOworCisJCWlmICghKGZsYWdzICYgUEFUSFNQRUNfUFJFRkVSX0NXRCkpCisJCQlkaWUoIkJVRzogUEFUSFNQRUNfUFJFRkVSX0NXRCByZXF1aXJlcyBhcmd1bWVudHMiKTsKKworCQlwYXRoc3BlYy0+aXRlbXMgPSBpdGVtID0geG1hbGxvYyhzaXplb2YoKml0ZW0pKTsKKwkJbWVtc2V0KGl0ZW0sIDAsIHNpemVvZigqaXRlbSkpOworCQlpdGVtLT5tYXRjaCA9IHByZWZpeDsKKwkJaXRlbS0+b3JpZ2luYWwgPSBwcmVmaXg7CisJCWl0ZW0tPm5vd2lsZGNhcmRfbGVuID0gaXRlbS0+bGVuID0gc3RybGVuKHByZWZpeCk7CisJCWl0ZW0tPnByZWZpeCA9IGl0ZW0tPmxlbjsKKwkJcmF3WzBdID0gcHJlZml4OworCQlyYXdbMV0gPSBOVUxMOworCQlwYXRoc3BlYy0+bnIgPSAxOworCQlwYXRoc3BlYy0+X3JhdyA9IHJhdzsKKwkJcmV0dXJuOwogCX0KKworCW4gPSAwOworCXdoaWxlIChhcmd2W25dKQorCQluKys7CisKKwlwYXRoc3BlYy0+bnIgPSBuOworCXBhdGhzcGVjLT5pdGVtcyA9IGl0ZW0gPSB4bWFsbG9jKHNpemVvZigqaXRlbSkgKiBuKTsKKwlwYXRoc3BlYy0+X3JhdyA9IGFyZ3Y7CisJcHJlZml4bGVuID0gcHJlZml4ID8gc3RybGVuKHByZWZpeCkgOiAwOworCisJZm9yIChpID0gMDsgaSA8IG47IGkrKykgeworCQl1bnNpZ25lZCBzaG9ydF9tYWdpYzsKKwkJZW50cnkgPSBhcmd2W2ldOworCisJCWl0ZW1baV0ubWFnaWMgPSBwcmVmaXhfcGF0aHNwZWMoaXRlbSArIGksICZzaG9ydF9tYWdpYywKKwkJCQkJCWFyZ3YgKyBpLCBmbGFncywKKwkJCQkJCXByZWZpeCwgcHJlZml4bGVuLCBlbnRyeSk7CisJCWlmICgoZmxhZ3MgJiBQQVRIU1BFQ19MSVRFUkFMX1BBVEgpICYmCisJCSAgICAhKG1hZ2ljX21hc2sgJiBQQVRIU1BFQ19MSVRFUkFMKSkKKwkJCWl0ZW1baV0ubWFnaWMgfD0gUEFUSFNQRUNfTElURVJBTDsKKwkJaWYgKGl0ZW1baV0ubWFnaWMgJiBtYWdpY19tYXNrKQorCQkJdW5zdXBwb3J0ZWRfbWFnaWMoZW50cnksCisJCQkJCSAgaXRlbVtpXS5tYWdpYyAmIG1hZ2ljX21hc2ssCisJCQkJCSAgc2hvcnRfbWFnaWMpOworCisJCWlmICgoZmxhZ3MgJiBQQVRIU1BFQ19TWU1MSU5LX0xFQURJTkdfUEFUSCkgJiYKKwkJICAgIGhhc19zeW1saW5rX2xlYWRpbmdfcGF0aChpdGVtW2ldLm1hdGNoLCBpdGVtW2ldLmxlbikpIHsKKwkJCWRpZShfKCJwYXRoc3BlYyAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiKSwgZW50cnkpOworCQl9CisKKwkJaWYgKGl0ZW1baV0ubm93aWxkY2FyZF9sZW4gPCBpdGVtW2ldLmxlbikKKwkJCXBhdGhzcGVjLT5oYXNfd2lsZGNhcmQgPSAxOworCQlwYXRoc3BlYy0+bWFnaWMgfD0gaXRlbVtpXS5tYWdpYzsKKwl9CisKKworCWlmIChwYXRoc3BlYy0+bWFnaWMgJiBQQVRIU1BFQ19NQVhERVBUSCkgeworCQlpZiAoZmxhZ3MgJiBQQVRIU1BFQ19LRUVQX09SREVSKQorCQkJZGllKCJCVUc6IFBBVEhTUEVDX01BWERFUFRIX1ZBTElEIGFuZCBQQVRIU1BFQ19LRUVQX09SREVSIGFyZSBpbmNvbXBhdGlibGUiKTsKKwkJcXNvcnQocGF0aHNwZWMtPml0ZW1zLCBwYXRoc3BlYy0+bnIsCisJCSAgICAgIHNpemVvZihzdHJ1Y3QgcGF0aHNwZWNfaXRlbSksIHBhdGhzcGVjX2l0ZW1fY21wKTsKKwl9Cit9CisKKy8qCisgKiBOLkIuIGdldF9wYXRoc3BlYygpIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgdGhlICJzdHJ1Y3QgcGF0aHNwZWMiCisgKiBiYXNlZCBpbnRlcmZhY2UgLSBzZWUgcGF0aHNwZWMuYzpwYXJzZV9wYXRoc3BlYygpLgorICoKKyAqIEFyZ3VtZW50czoKKyAqICAtIHByZWZpeCAtIGEgcGF0aCByZWxhdGl2ZSB0byB0aGUgcm9vdCBvZiB0aGUgd29ya2luZyB0cmVlCisgKiAgLSBwYXRoc3BlYyAtIGEgbGlzdCBvZiBwYXRocyB1bmRlcm5lYXRoIHRoZSBwcmVmaXggcGF0aAorICoKKyAqIEl0ZXJhdGVzIG92ZXIgcGF0aHNwZWMsIHByZXBlbmRpbmcgZWFjaCBwYXRoIHdpdGggcHJlZml4LAorICogYW5kIHJldHVybiB0aGUgcmVzdWx0aW5nIGxpc3QuCisgKgorICogSWYgcGF0aHNwZWMgaXMgZW1wdHksIHJldHVybiBhIHNpbmdsZXRvbiBsaXN0IGNvbnRhaW5pbmcgcHJlZml4LgorICoKKyAqIElmIHBhdGhzcGVjIGFuZCBwcmVmaXggYXJlIGJvdGggZW1wdHksIHJldHVybiBhbiBlbXB0eSBsaXN0LgorICoKKyAqIFRoaXMgaXMgdHlwaWNhbGx5IHVzZWQgYnkgYnVpbHQtaW4gY29tbWFuZHMgc3VjaCBhcyBhZGQuYywgaW4gb3JkZXIKKyAqIHRvIG5vcm1hbGl6ZSBhcmd2IGFyZ3VtZW50cyBwcm92aWRlZCB0byB0aGUgYnVpbHQtaW4gaW50byBhIGxpc3Qgb2YKKyAqIHBhdGhzIHRvIHByb2Nlc3MsIGFsbCByZWxhdGl2ZSB0byB0aGUgcm9vdCBvZiB0aGUgd29ya2luZyB0cmVlLgorICovCitjb25zdCBjaGFyICoqZ2V0X3BhdGhzcGVjKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqKnBhdGhzcGVjKQoreworCXN0cnVjdCBwYXRoc3BlYyBwczsKKwlwYXJzZV9wYXRoc3BlYygmcHMsCisJCSAgICAgICBQQVRIU1BFQ19BTExfTUFHSUMgJgorCQkgICAgICAgfihQQVRIU1BFQ19GUk9NVE9QIHwgUEFUSFNQRUNfTElURVJBTCksCisJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfQ1dELAorCQkgICAgICAgcHJlZml4LCBwYXRoc3BlYyk7CisJcmV0dXJuIHBzLl9yYXc7Cit9CisKK3ZvaWQgY29weV9wYXRoc3BlYyhzdHJ1Y3QgcGF0aHNwZWMgKmRzdCwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpzcmMpCit7CisJKmRzdCA9ICpzcmM7CisJZHN0LT5pdGVtcyA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBwYXRoc3BlY19pdGVtKSAqIGRzdC0+bnIpOworCW1lbWNweShkc3QtPml0ZW1zLCBzcmMtPml0ZW1zLAorCSAgICAgICBzaXplb2Yoc3RydWN0IHBhdGhzcGVjX2l0ZW0pICogZHN0LT5ucik7Cit9CisKK3ZvaWQgZnJlZV9wYXRoc3BlYyhzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQoreworCWZyZWUocGF0aHNwZWMtPml0ZW1zKTsKKwlwYXRoc3BlYy0+aXRlbXMgPSBOVUxMOwogfQpkaWZmIC0tZ2l0IGEvcGF0aHNwZWMuaCBiL3BhdGhzcGVjLmgKaW5kZXggZGIwMTg0YS4uYTc1ZTkyNCAxMDA2NDQKLS0tIGEvcGF0aHNwZWMuaAorKysgYi9wYXRoc3BlYy5oCkBAIC0xLDggKzEsOTkgQEAKICNpZm5kZWYgUEFUSFNQRUNfSAogI2RlZmluZSBQQVRIU1BFQ19ICiAKLWV4dGVybiBjaGFyICpmaW5kX3BhdGhzcGVjc19tYXRjaGluZ19hZ2FpbnN0X2luZGV4KGNvbnN0IGNoYXIgKipwYXRoc3BlYyk7Ci1leHRlcm4gdm9pZCBhZGRfcGF0aHNwZWNfbWF0Y2hlc19hZ2FpbnN0X2luZGV4KGNvbnN0IGNoYXIgKipwYXRoc3BlYywgY2hhciAqc2VlbiwgaW50IHNwZWNzKTsKKy8qIFBhdGhzcGVjIG1hZ2ljICovCisjZGVmaW5lIFBBVEhTUEVDX0ZST01UT1AJKDE8PDApCisjZGVmaW5lIFBBVEhTUEVDX01BWERFUFRICSgxPDwxKQorI2RlZmluZSBQQVRIU1BFQ19MSVRFUkFMCSgxPDwyKQorI2RlZmluZSBQQVRIU1BFQ19HTE9CCQkoMTw8MykKKyNkZWZpbmUgUEFUSFNQRUNfSUNBU0UJCSgxPDw0KQorI2RlZmluZSBQQVRIU1BFQ19BTExfTUFHSUMJICBcCisJKFBBVEhTUEVDX0ZST01UT1AJfCBcCisJIFBBVEhTUEVDX01BWERFUFRICXwgXAorCSBQQVRIU1BFQ19MSVRFUkFMCXwgXAorCSBQQVRIU1BFQ19HTE9CCQl8IFwKKwkgUEFUSFNQRUNfSUNBU0UpCisKKyNkZWZpbmUgUEFUSFNQRUNfT05FU1RBUiAxCS8qIHRoZSBwYXRoc3BlYyBwYXR0ZXJuIHNhdGlzZmllcyBHRk5NX09ORVNUQVIgKi8KKworc3RydWN0IHBhdGhzcGVjIHsKKwljb25zdCBjaGFyICoqX3JhdzsgLyogZ2V0X3BhdGhzcGVjKCkgcmVzdWx0LCBub3QgZnJlZWQgYnkgZnJlZV9wYXRoc3BlYygpICovCisJaW50IG5yOworCXVuc2lnbmVkIGludCBoYXNfd2lsZGNhcmQ6MTsKKwl1bnNpZ25lZCBpbnQgcmVjdXJzaXZlOjE7CisJdW5zaWduZWQgbWFnaWM7CisJaW50IG1heF9kZXB0aDsKKwlzdHJ1Y3QgcGF0aHNwZWNfaXRlbSB7CisJCWNvbnN0IGNoYXIgKm1hdGNoOworCQljb25zdCBjaGFyICpvcmlnaW5hbDsKKwkJdW5zaWduZWQgbWFnaWM7CisJCWludCBsZW4sIHByZWZpeDsKKwkJaW50IG5vd2lsZGNhcmRfbGVuOworCQlpbnQgZmxhZ3M7CisJfSAqaXRlbXM7Cit9OworCisjZGVmaW5lIEdVQVJEX1BBVEhTUEVDKHBzLCBtYXNrKSBcCisJZG8geyBcCisJCWlmICgocHMpLT5tYWdpYyAmIH4obWFzaykpCSAgICAgICBcCisJCQlkaWUoIkJVRzolczolZDogdW5zdXBwb3J0ZWQgbWFnaWMgJXgiLAlcCisJCQkgICAgX19GSUxFX18sIF9fTElORV9fLCAocHMpLT5tYWdpYyAmIH4obWFzaykpOyBcCisJfSB3aGlsZSAoMCkKKworLyogcGFyc2VfcGF0aHNwZWMgZmxhZ3MgKi8KKyNkZWZpbmUgUEFUSFNQRUNfUFJFRkVSX0NXRCAoMTw8MCkgLyogTm8gYXJncyBtZWFucyBtYXRjaCBjd2QgKi8KKyNkZWZpbmUgUEFUSFNQRUNfUFJFRkVSX0ZVTEwgKDE8PDEpIC8qIE5vIGFyZ3MgbWVhbnMgbWF0Y2ggZXZlcnl0aGluZyAqLworI2RlZmluZSBQQVRIU1BFQ19NQVhERVBUSF9WQUxJRCAoMTw8MikgLyogbWF4X2RlcHRoIGZpZWxkIGlzIHZhbGlkICovCisvKiBzdHJpcCB0aGUgdHJhaWxpbmcgc2xhc2ggaWYgdGhlIGdpdmVuIHBhdGggaXMgYSBnaXRsaW5rICovCisjZGVmaW5lIFBBVEhTUEVDX1NUUklQX1NVQk1PRFVMRV9TTEFTSF9DSEVBUCAoMTw8MykKKy8qIGRpZSBpZiBhIHN5bWxpbmsgaXMgcGFydCBvZiB0aGUgZ2l2ZW4gcGF0aCdzIGRpcmVjdG9yeSAqLworI2RlZmluZSBQQVRIU1BFQ19TWU1MSU5LX0xFQURJTkdfUEFUSCAoMTw8NCkKKy8qCisgKiBUaGlzIGlzIGxpa2UgYSBjb21iaW5hdGlvbiBvZiAuLkxFQURJTkdfUEFUSCBhbmQgLi5fU0xBU0hfQ0hFQVAKKyAqIChidXQgbm90IHRoZSBzYW1lKTogaXQgc3RyaXBzIHRoZSB0cmFpbGluZyBzbGFzaCBpZiB0aGUgZ2l2ZW4gcGF0aAorICogaXMgYSBnaXRsaW5rIGJ1dCBhbHNvIGNoZWNrcyBhbmQgZGllcyBpZiBnaXRsaW5rIGlzIHBhcnQgb2YgdGhlCisgKiBsZWFkaW5nIHBhdGggKGkuZS4gdGhlIGdpdmVuIHBhdGggZ29lcyBiZXlvbmQgYSBzdWJtb2R1bGUpLiBJdCdzCisgKiBzYWZlciB0aGFuIF9TTEFTSF9DSEVBUCBhbmQgYWxzbyBtb3JlIGV4cGVuc2l2ZS4KKyAqLworI2RlZmluZSBQQVRIU1BFQ19TVFJJUF9TVUJNT0RVTEVfU0xBU0hfRVhQRU5TSVZFICgxPDw1KQorI2RlZmluZSBQQVRIU1BFQ19QUkVGSVhfT1JJR0lOICgxPDw2KQorI2RlZmluZSBQQVRIU1BFQ19LRUVQX09SREVSICgxPDw3KQorLyoKKyAqIEZvciB0aGUgY2FsbGVycyB0aGF0IGp1c3QgbmVlZCBwdXJlIHBhdGhzIGZyb20gc29tZXdoZXJlIGVsc2UsIG5vdAorICogZnJvbSBjb21tYW5kIGxpbmUuIEdsb2JhbCAtLSotcGF0aHNwZWNzIG9wdGlvbnMgYXJlIGlnbm9yZWQuIE5vCisgKiBtYWdpYyBpcyBwYXJzZWQgaW4gZWFjaCBwYXRoc3BlYyBlaXRoZXIuIElmIFBBVEhTUEVDX0xJVEVSQUwgaXMKKyAqIGFsbG93ZWQsIHRoZW4gaXQgd2lsbCBhdXRvbWF0aWNhbGx5IHNldCBmb3IgZXZlcnkgcGF0aHNwZWMuCisgKi8KKyNkZWZpbmUgUEFUSFNQRUNfTElURVJBTF9QQVRIICgxPDw4KQorCitleHRlcm4gdm9pZCBwYXJzZV9wYXRoc3BlYyhzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAorCQkJICAgdW5zaWduZWQgbWFnaWNfbWFzaywKKwkJCSAgIHVuc2lnbmVkIGZsYWdzLAorCQkJICAgY29uc3QgY2hhciAqcHJlZml4LAorCQkJICAgY29uc3QgY2hhciAqKmFyZ3MpOworZXh0ZXJuIHZvaWQgY29weV9wYXRoc3BlYyhzdHJ1Y3QgcGF0aHNwZWMgKmRzdCwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpzcmMpOworZXh0ZXJuIHZvaWQgZnJlZV9wYXRoc3BlYyhzdHJ1Y3QgcGF0aHNwZWMgKik7CisKK3N0YXRpYyBpbmxpbmUgaW50IHBzX3N0cm5jbXAoY29uc3Qgc3RydWN0IHBhdGhzcGVjX2l0ZW0gKml0ZW0sCisJCQkgICAgIGNvbnN0IGNoYXIgKnMxLCBjb25zdCBjaGFyICpzMiwgc2l6ZV90IG4pCit7CisJaWYgKGl0ZW0tPm1hZ2ljICYgUEFUSFNQRUNfSUNBU0UpCisJCXJldHVybiBzdHJuY2FzZWNtcChzMSwgczIsIG4pOworCWVsc2UKKwkJcmV0dXJuIHN0cm5jbXAoczEsIHMyLCBuKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgcHNfc3RyY21wKGNvbnN0IHN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtLAorCQkJICAgIGNvbnN0IGNoYXIgKnMxLCBjb25zdCBjaGFyICpzMikKK3sKKwlpZiAoaXRlbS0+bWFnaWMgJiBQQVRIU1BFQ19JQ0FTRSkKKwkJcmV0dXJuIHN0cmNhc2VjbXAoczEsIHMyKTsKKwllbHNlCisJCXJldHVybiBzdHJjbXAoczEsIHMyKTsKK30KKworZXh0ZXJuIGNoYXIgKmZpbmRfcGF0aHNwZWNzX21hdGNoaW5nX2FnYWluc3RfaW5kZXgoY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYyk7CitleHRlcm4gdm9pZCBhZGRfcGF0aHNwZWNfbWF0Y2hlc19hZ2FpbnN0X2luZGV4KGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsIGNoYXIgKnNlZW4pOwogZXh0ZXJuIGNvbnN0IGNoYXIgKmNoZWNrX3BhdGhfZm9yX2dpdGxpbmsoY29uc3QgY2hhciAqcGF0aCk7CiBleHRlcm4gdm9pZCBkaWVfaWZfcGF0aF9iZXlvbmRfc3ltbGluayhjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpwcmVmaXgpOwogCmRpZmYgLS1naXQgYS9wZXJsL0dpdC9TVk4vUmEucG0gYi9wZXJsL0dpdC9TVk4vUmEucG0KaW5kZXggNzVlY2M0Mi4uYTdiMDExOSAxMDA2NDQKLS0tIGEvcGVybC9HaXQvU1ZOL1JhLnBtCisrKyBiL3BlcmwvR2l0L1NWTi9SYS5wbQpAQCAtMzIsNiArMzIsMTQgQEAKIAl9CiB9CiAKKyMgc2VyZiBoYXMgYSBidWcgdGhhdCBsZWFkcyB0byBhIGNvcmVkdW1wIHVwb24gdGVybWluYXRpb24gaWYgdGhlCisjIHJlbW90ZSBhY2Nlc3Mgb2JqZWN0IGlzIGxlZnQgYXJvdW5kIChub3QgZml4ZWQgeWV0IGluIHNlcmYgMS4zLjEpLgorIyBFeHBsaWNpdGx5IGZyZWUgaXQgdG8gd29yayBhcm91bmQgdGhlIGlzc3VlLgorRU5EIHsKKwkkUkEgPSB1bmRlZjsKKwkkcmFfaW52YWxpZCA9IDE7Cit9CisKIHN1YiBfYXV0aF9wcm92aWRlcnMgKCkgewogCW15IEBydiA9ICgKIAkgIFNWTjo6Q2xpZW50OjpnZXRfc2ltcGxlX3Byb3ZpZGVyKCksCmRpZmYgLS1naXQgYS9wby9URUFNUyBiL3BvL1RFQU1TCmluZGV4IDEwN2FhNTkuLmY5YTk5ZWQgMTAwNjQ0Ci0tLSBhL3BvL1RFQU1TCisrKyBiL3BvL1RFQU1TCkBAIC04LDcgKzgsNyBAQAogTGFuZ3VhZ2U6CWRlIChHZXJtYW4pCiBSZXBvc2l0b3J5OglodHRwczovL2dpdGh1Yi5jb20vcmFsZnRoL2dpdC1wby1kZQogTGVhZGVyOgkJUmFsZiBUaGllbG93IDxyYWxmLnRoaWVsb3dAZ29vZ2xlbWFpbC5jb20+Ci1NZW1iZXJzOglUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorTWVtYmVyczoJVGhvbWFzIFJhc3QgPHRyQHRob21hc3Jhc3QuY2g+CiAJCUphbiBLcsO8Z2VyIDxqa0Bqay5ncz4KIAkJQ2hyaXN0aWFuIFN0aW1taW5nIDxzdGltbWluZ0B0dWhoLmRlPgogCmRpZmYgLS1naXQgYS9wby9kYS5wbyBiL3BvL2RhLnBvCmluZGV4IDIwYTg4ZWEuLjg5OGIxOGQgMTAwNjQ0Ci0tLSBhL3BvL2RhLnBvCisrKyBiL3BvL2RhLnBvCkBAIC0xNjc0LDcgKzE2NzQsNyBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0ODIKLW1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdHRpc2hlcyIKK21zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2RpZmYuYzo3NwpkaWZmIC0tZ2l0IGEvcG8vZGUucG8gYi9wby9kZS5wbwppbmRleCBmNDA3NmZiLi41ZTJkNzA5IDEwMDY0NAotLS0gYS9wby9kZS5wbworKysgYi9wby9kZS5wbwpAQCAtNSw5ICs1LDkgQEAKICMKIG1zZ2lkICIiCiBtc2dzdHIgIiIKLSJQcm9qZWN0LUlkLVZlcnNpb246IGdpdCAxLjguNFxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogZ2l0IDEuOC41XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTMtMDgtMDYgMTQ6MTArMDgwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDEzLTExLTAyIDA4OjA2KzA4MDBcbiIKICJQTy1SZXZpc2lvbi1EYXRlOiAyMDEzLTA3LTI4IDE4OjQyKzAyMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IFJhbGYgVGhpZWxvdyA8cmFsZi50aGllbG93QGdtYWlsLmNvbT5cbiIKICJMYW5ndWFnZS1UZWFtOiBHZXJtYW4gPD5cbiIKQEAgLTU3LDcxICs1Nyw3NiBAQAogbXNnaWQgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSAtLWxpc3QiCiBtc2dzdHIgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxSZXBvc2l0b3J5PiBbLS1leGVjIDxQcm9ncmFtbT5dIC0tbGlzdCIKIAotIzogYXJjaGl2ZS5jOjMyMworIzogYXJjaGl2ZS5jOjI0MiBidWlsdGluL2FkZC5jOjI0MCBidWlsdGluL2FkZC5jOjU1NiBidWlsdGluL3JtLmM6MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiCittc2dzdHIgIlBmYWRzcGV6aWZpa2F0aW9uICclcycgc3RpbW10IG1pdCBrZWluZW4gRGF0ZWllbiDDvGJlcmVpbiIKKworIzogYXJjaGl2ZS5jOjMyNwogbXNnaWQgImZtdCIKIG1zZ3N0ciAiRm9ybWF0IgogCi0jOiBhcmNoaXZlLmM6MzIzCisjOiBhcmNoaXZlLmM6MzI3CiBtc2dpZCAiYXJjaGl2ZSBmb3JtYXQiCiBtc2dzdHIgIkFyY2hpdmZvcm1hdCIKIAotIzogYXJjaGl2ZS5jOjMyNCBidWlsdGluL2xvZy5jOjExNzMKKyM6IGFyY2hpdmUuYzozMjggYnVpbHRpbi9sb2cuYzoxMTkzCiBtc2dpZCAicHJlZml4IgogbXNnc3RyICJQcmVmaXgiCiAKLSM6IGFyY2hpdmUuYzozMjUKKyM6IGFyY2hpdmUuYzozMjkKIG1zZ2lkICJwcmVwZW5kIHByZWZpeCB0byBlYWNoIHBhdGhuYW1lIGluIHRoZSBhcmNoaXZlIgogbXNnc3RyICJzdGVsbHQgZWluZW4gUHLDpGZpeCB2b3IgamVkZW4gUGZhZG5hbWVuIGluIGRlbSBBcmNoaXYiCiAKLSM6IGFyY2hpdmUuYzozMjYgYnVpbHRpbi9hcmNoaXZlLmM6ODggYnVpbHRpbi9ibGFtZS5jOjIyOTIKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkzIGJ1aWx0aW4vY29uZmlnLmM6NTYgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MwotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NSBidWlsdGluL2dyZXAuYzo3MTQgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjc3Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDk2IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTkgYnVpbHRpbi9ub3Rlcy5jOjQwOAotIzogYnVpbHRpbi9ub3Rlcy5jOjU2NSBidWlsdGluL3JlYWQtdHJlZS5jOjEwOCBwYXJzZS1vcHRpb25zLmg6MTUyCisjOiBhcmNoaXZlLmM6MzMwIGJ1aWx0aW4vYXJjaGl2ZS5jOjg4IGJ1aWx0aW4vYmxhbWUuYzoyMjY0CisjOiBidWlsdGluL2JsYW1lLmM6MjI2NSBidWlsdGluL2NvbmZpZy5jOjU4IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODIgYnVpbHRpbi9ncmVwLmM6NzE2IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3NworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NiBidWlsdGluL2xzLWZpbGVzLmM6NDg5IGJ1aWx0aW4vbm90ZXMuYzo0MDgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDggcGFyc2Utb3B0aW9ucy5oOjE1NAogbXNnaWQgImZpbGUiCiBtc2dzdHIgIkRhdGVpIgogCi0jOiBhcmNoaXZlLmM6MzI3IGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CisjOiBhcmNoaXZlLmM6MzMxIGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CiBtc2dpZCAid3JpdGUgdGhlIGFyY2hpdmUgdG8gdGhpcyBmaWxlIgogbXNnc3RyICJzY2hyZWlidCBkYXMgQXJjaGl2IGluIGRpZXNlIERhdGVpIgogCi0jOiBhcmNoaXZlLmM6MzI5CisjOiBhcmNoaXZlLmM6MzMzCiBtc2dpZCAicmVhZCAuZ2l0YXR0cmlidXRlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAibGllc3QgLmdpdGF0dHJpYnV0ZXMgYXVzIGRlbSBBcmJlaXRzdmVyemVpY2huaXMiCiAKLSM6IGFyY2hpdmUuYzozMzAKKyM6IGFyY2hpdmUuYzozMzQKIG1zZ2lkICJyZXBvcnQgYXJjaGl2ZWQgZmlsZXMgb24gc3RkZXJyIgogbXNnc3RyICJnaWJ0IGFyY2hpdmllcnRlIERhdGVpZW4gaW4gZGVyIFN0YW5kYXJkLUZlaGxlcmF1c2dhYmUgYXVzIgogCi0jOiBhcmNoaXZlLmM6MzMxCisjOiBhcmNoaXZlLmM6MzM1CiBtc2dpZCAic3RvcmUgb25seSIKIG1zZ3N0ciAibnVyIHNwZWljaGVybiIKIAotIzogYXJjaGl2ZS5jOjMzMgorIzogYXJjaGl2ZS5jOjMzNgogbXNnaWQgImNvbXByZXNzIGZhc3RlciIKIG1zZ3N0ciAic2NobmVsbGVyIGtvbXByaW1pZXJlbiIKIAotIzogYXJjaGl2ZS5jOjM0MAorIzogYXJjaGl2ZS5jOjM0NAogbXNnaWQgImNvbXByZXNzIGJldHRlciIKIG1zZ3N0ciAiYmVzc2VyIGtvbXByaW1pZXJlbiIKIAotIzogYXJjaGl2ZS5jOjM0MworIzogYXJjaGl2ZS5jOjM0NwogbXNnaWQgImxpc3Qgc3VwcG9ydGVkIGFyY2hpdmUgZm9ybWF0cyIKIG1zZ3N0ciAibGlzdGV0IHVudGVyc3TDvHR6dGUgQXJjaGl2Zm9ybWF0ZSBhdWYiCiAKLSM6IGFyY2hpdmUuYzozNDUgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjg1CisjOiBhcmNoaXZlLmM6MzQ5IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4NAogbXNnaWQgInJlcG8iCiBtc2dzdHIgIlJlcG9zaXRvcnkiCiAKLSM6IGFyY2hpdmUuYzozNDYgYnVpbHRpbi9hcmNoaXZlLmM6OTEKKyM6IGFyY2hpdmUuYzozNTAgYnVpbHRpbi9hcmNoaXZlLmM6OTEKIG1zZ2lkICJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIKIG1zZ3N0ciAicnVmdCBkYXMgQXJjaGl2IHZvbiBSZW1vdGUtUmVwb3NpdG9yeSA8UmVwb3NpdG9yeT4gYWIiCiAKLSM6IGFyY2hpdmUuYzozNDcgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4NworIzogYXJjaGl2ZS5jOjM1MSBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDg3CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAiUHJvZ3JhbW0iCiAKLSM6IGFyY2hpdmUuYzozNDggYnVpbHRpbi9hcmNoaXZlLmM6OTMKKyM6IGFyY2hpdmUuYzozNTIgYnVpbHRpbi9hcmNoaXZlLmM6OTMKIG1zZ2lkICJwYXRoIHRvIHRoZSByZW1vdGUgZ2l0LXVwbG9hZC1hcmNoaXZlIGNvbW1hbmQiCiBtc2dzdHIgIlBmYWQgenVtIGV4dGVybmVuIFwiZ2l0LXVwbG9hZC1hcmNoaXZlXCItUHJvZ3JhbW0iCiAKQEAgLTIwNywxOSArMjEyLDE5IEBACiBtc2dpZCAiQ2Fubm90IGZvcmNlIHVwZGF0ZSB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJLYW5uIEFrdHVhbGlzaWVydW5nIGRlcyBha3R1ZWxsZW4gQnJhbmNoZXMgbmljaHQgZXJ6d2luZ2VuLiIKIAotIzogYnJhbmNoLmM6MjE2CisjOiBicmFuY2guYzoyMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHNldHVwIHRyYWNraW5nIGluZm9ybWF0aW9uOyBzdGFydGluZyBwb2ludCAnJXMnIGlzIG5vdCBhIGJyYW5jaC4iCiBtc2dzdHIgIiIKICJLYW5uIFRyYWNraW5nLUluZm9ybWF0aW9uZW4gbmljaHQgZWlucmljaHRlbjsgU3RhcnRwdW5rdCAnJXMnIGlzdCBrZWluICIKICJCcmFuY2guIgogCi0jOiBicmFuY2guYzoyMTgKKyM6IGJyYW5jaC5jOjIxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgcmVxdWVzdGVkIHVwc3RyZWFtIGJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJkZXIgYW5nZWZvcmRlcnRlIFVwc3RyZWFtLUJyYW5jaCAnJXMnIGV4aXN0aWVydCBuaWNodCIKIAotIzogYnJhbmNoLmM6MjIwCisjOiBicmFuY2guYzoyMTkKIG1zZ2lkICIiCiAiXG4iCiAiSWYgeW91IGFyZSBwbGFubmluZyBvbiBiYXNpbmcgeW91ciB3b3JrIG9uIGFuIHVwc3RyZWFtXG4iCkBAIC0yNDAsMjYgKzI0NSwyNiBAQAogIlwiZ2l0IHB1c2ggLXVcIiB2ZXJ3ZW5kZW4sIHVtIGRlbiBVcHN0cmVhbS1CcmFuY2ggYmVpbSBcInB1c2hcIlxuIgogInp1IGtvbmZpZ3VyaWVyZW4uIgogCi0jOiBicmFuY2guYzoyNjUKKyM6IGJyYW5jaC5jOjI2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIE9iamVrdC1OYW1lOiAnJXMnIgogCi0jOiBicmFuY2guYzoyODUKKyM6IGJyYW5jaC5jOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBbWJpZ3VvdXMgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICJtZWhyZGV1dGlnZXIgT2JqZWt0LU5hbWU6ICclcyciCiAKLSM6IGJyYW5jaC5jOjI5MAorIzogYnJhbmNoLmM6Mjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIGJyYW5jaCBwb2ludDogJyVzJy4iCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIEJyYW5jaHB1bmt0OiAnJXMnIgogCi0jOiBicmFuY2guYzoyOTYKKyM6IGJyYW5jaC5jOjI5NQogbXNnaWQgIkZhaWxlZCB0byBsb2NrIHJlZiBmb3IgdXBkYXRlIgogbXNnc3RyICJGZWhsZXIgYmVpbSBTcGVycmVuIGRlciBSZWZlcmVueiB6dXIgQWt0dWFsaXNpZXJ1bmcuIgogCi0jOiBicmFuY2guYzozMTQKKyM6IGJyYW5jaC5jOjMxMwogbXNnaWQgIkZhaWxlZCB0byB3cml0ZSByZWYiCiBtc2dzdHIgIkZlaGxlciBiZWltIFNjaHJlaWJlbiBkZXIgUmVmZXJlbnouIgogCkBAIC0yNzMsNyArMjc4LDcgQEAKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVhZGVyOiAlcyVzICglZCkiCiBtc2dzdHIgIm5pY2h0IGVya2FubnRlciBLb3BmYmVyZWljaDogJXMlcyAoJWQpIgogCi0jOiBidW5kbGUuYzo4OSBidWlsdGluL2NvbW1pdC5jOjY5NworIzogYnVuZGxlLmM6ODkgYnVpbHRpbi9jb21taXQuYzo3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgw7ZmZm5lbiIKQEAgLTI4Miw5ICsyODcsOSBAQAogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgdGhlc2UgcHJlcmVxdWlzaXRlIGNvbW1pdHM6IgogbXNnc3RyICJEZW0gUmVwb3NpdG9yeSBmZWhsZW4gZm9sZ2VuZGUgdm9yYXVzZ2VzZXR6dGUgQ29tbWl0czoiCiAKLSM6IGJ1bmRsZS5jOjE2NCBzZXF1ZW5jZXIuYzo2NjEgc2VxdWVuY2VyLmM6MTExMSBidWlsdGluL2xvZy5jOjMzMQotIzogYnVpbHRpbi9sb2cuYzo4MDEgYnVpbHRpbi9sb2cuYzoxMzk5IGJ1aWx0aW4vbG9nLmM6MTYyNSBidWlsdGluL21lcmdlLmM6MzY0Ci0jOiBidWlsdGluL3Nob3J0bG9nLmM6MTU2CisjOiBidW5kbGUuYzoxNjQgc2VxdWVuY2VyLmM6NjYyIHNlcXVlbmNlci5jOjExMTIgYnVpbHRpbi9sb2cuYzozMzIKKyM6IGJ1aWx0aW4vbG9nLmM6ODIxIGJ1aWx0aW4vbG9nLmM6MTQxOCBidWlsdGluL2xvZy5jOjE2NDQgYnVpbHRpbi9tZXJnZS5jOjM2NAorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE1OAogbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgogbXNnc3RyICJFaW5yaWNodHVuZyBkZXMgUmV2aXNpb25zZ2FuZ3MgZmVobGdlc2NobGFnZW4iCiAKQEAgLTMxMCw3ICszMTUsNyBAQAogbXNnaWQgInJldi1saXN0IGRpZWQiCiBtc2dzdHIgIlwicmV2LWxpc3RcIiBhYmdlYnJvY2hlbiIKIAotIzogYnVuZGxlLmM6MzAwIGJ1aWx0aW4vbG9nLmM6MTMxMCBidWlsdGluL3Nob3J0bG9nLmM6MjU5CisjOiBidW5kbGUuYzozMDAgYnVpbHRpbi9sb2cuYzoxMzI5IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAibmljaHQgZXJrYW5udGVzIEFyZ3VtZW50OiAlcyIKQEAgLTQ2MSw3ICs0NjYsNyBAQAogIkZlaGxlciBpbiAnZGlmZi5kaXJzdGF0JyBLb25maWd1cmF0aW9uc3ZhcmlhYmxlIGdlZnVuZGVuOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzQ4NworIzogZGlmZi5jOjM0OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBwYXJzZSAtLWRpcnN0YXQvLVggb3B0aW9uIHBhcmFtZXRlcjpcbiIKQEAgLTQ3MCw3ICs0NzUsNyBAQAogIkZlaGxlciBiZWltIFBhcnNlbiBkZXMgLS1kaXJzdGF0Ly1YIE9wdGlvbnNwYXJhbWV0ZXJzOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzUwMQorIzogZGlmZi5jOjM1MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIFBhcnNlbiBkZXMgLS1zdWJtb2R1bGUgT3B0aW9uc3BhcmFtZXRlcnM6ICclcyciCkBAIC00OTcsMTcgKzUwMiwxNyBAQAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnOiAlcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gU2NocmVpYmVuIGRlciBTaWduYXR1ciBuYWNoICclcyc6ICVzIgogCi0jOiBncmVwLmM6MTYyMworIzogZ3JlcC5jOjE2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIiclcyc6IGtvbm50ZSBuaWNodCBsZXNlbiAlcyIKIAotIzogZ3JlcC5jOjE2NDAKKyM6IGdyZXAuYzoxNzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6ICVzIgogbXNnc3RyICInJXMnOiAlcyIKIAotIzogZ3JlcC5jOjE2NTEKKyM6IGdyZXAuYzoxNzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQgJXMiCiBtc2dzdHIgIiclcyc6IHJlYWQoKSB6dSBrdXJ6ICVzIgpAQCAtNTgwLDggKzU4NSw4IEBACiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGNhY2hlIgogbXNnc3RyICJMZXNlbiBkZXMgWndpc2NoZW5zcGVpY2hlcnMgZmVobGdlc2NobGFnZW4iCiAKLSM6IG1lcmdlLmM6MTEwIGJ1aWx0aW4vY2hlY2tvdXQuYzozNjUgYnVpbHRpbi9jaGVja291dC5jOjU2NgotIzogYnVpbHRpbi9jbG9uZS5jOjY1NgorIzogbWVyZ2UuYzoxMTAgYnVpbHRpbi9jaGVja291dC5jOjM1OCBidWlsdGluL2NoZWNrb3V0LmM6NTU5CisjOiBidWlsdGluL2Nsb25lLmM6NjU1CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJLb25udGUgbmV1ZSBTdGFnaW5nLUFyZWEtRGF0ZWkgbmljaHQgc2NocmVpYmVuLiIKIApAQCAtNjMwLDcgKzYzNSw3IEBACiBtc2dpZCAiYmxvYiBleHBlY3RlZCBmb3IgJXMgJyVzJyIKIG1zZ3N0ciAiQmxvYiBlcndhcnRldCBmw7xyICVzICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc3NCBidWlsdGluL2Nsb25lLmM6MzEyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NzQgYnVpbHRpbi9jbG9uZS5jOjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSDDlmZmbmVuIHZvbiAnJXMnIgpAQCAtNzY3LDcgKzc3Miw3IEBACiBtc2dpZCAiQXV0by1tZXJnaW5nICVzIgogbXNnc3RyICJhdXRvbWF0aXNjaGVyIE1lcmdlIHZvbiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYzNCBnaXQtc3VibW9kdWxlLnNoOjExMTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzQgZ2l0LXN1Ym1vZHVsZS5zaDoxMTI1CiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICJTdWJtb2R1bCIKIApAQCAtODY2LDU4ICs4NzEsMTIyIEBACiBtc2dpZCAiQmFkICVzIHZhbHVlOiAnJXMnIgogbXNnc3RyICJVbmfDvGx0aWdlciAlcyBXZXJ0OiAnJXMnIgogCi0jOiBvYmplY3QuYzoyMDQKKyM6IG9iamVjdC5jOjIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2Ugb2JqZWN0OiAlcyIKIG1zZ3N0ciAiS29ubnRlIE9iamVrdCAnJXMnIG5pY2h0IHBhcnNlbi4iCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo0ODkKKyM6IHBhcnNlLW9wdGlvbnMuYzo1MzcKIG1zZ2lkICIuLi4iCiBtc2dzdHIgIi4uLiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjUwNworIzogcGFyc2Utb3B0aW9ucy5jOjU1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMiCiBtc2dzdHIgIlZlcndlbmR1bmc6ICVzIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uIGhlcmUgc2hvdWxkIGFsaWduIHdpdGggdGhlCiAjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24KLSM6IHBhcnNlLW9wdGlvbnMuYzo1MTEKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgb3I6ICVzIgogbXNnc3RyICIgICAgICBvZGVyOiAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjUxNAorIzogcGFyc2Utb3B0aW9ucy5jOjU2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJXMiCiBtc2dzdHIgIiAgICAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjU0OAorIzogcGFyc2Utb3B0aW9ucy5jOjU5NgogbXNnaWQgIi1OVU0iCiBtc2dzdHIgIi1OVU0iCiAKLSM6IHBhdGhzcGVjLmM6ODMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUGF0aCAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCi1tc2dzdHIgIlBmYWQgJyVzJyBiZWZpbmRldCBzaWNoIGluIFN1Ym1vZHVsICclLipzJyIKKyM6IHBhdGhzcGVjLmM6MTE4Cittc2dpZCAiZ2xvYmFsICdnbG9iJyBhbmQgJ25vZ2xvYicgcGF0aHNwZWMgc2V0dGluZ3MgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiR2xvYmFsZSBFaW5zdGVsbHVuZ2VuIHp1ciBQZmFkc3BlemlmaWthdGlvbiAnZ2xvYicgdW5kICdub2dsb2InIHNpbmQgaW5rb21wYXRpYmVsLiIKIAotIzogcGF0aHNwZWMuYzo5OQotIywgYy1mb3JtYXQKLW1zZ2lkICInJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCi1tc2dzdHIgIiclcycgaXN0IGhpbnRlciBlaW5lbSBzeW1ib2xpc2NoZW4gVmVyd2VpcyIKKyM6IHBhdGhzcGVjLmM6MTI4Cittc2dpZCAiIgorImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgZ2xvYmFsICIKKyJwYXRoc3BlYyBzZXR0aW5ncyIKK21zZ3N0ciAiR2xvYmFsZSBFaW5zdGVsbHVuZyB6dXIgUGZhZHNwZXppZmlrYXRpb24gJ2xpdGVyYWwnIGlzdCBpbmtvbXBhdGliZWxcbiIKKyJtaXQgYWxsZW4gYW5kZXJlbiBPcHRpb25lbi4iCiAKLSM6IHJlbW90ZS5jOjE3ODgKKyM6IHBhdGhzcGVjLmM6MTU4Cittc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXIgZm9yIHBhdGhzcGVjIG1hZ2ljICdwcmVmaXgnIgorbXNnc3RyICJ1bmfDvGx0aWdlciBQYXJhbWV0ZXIgZsO8ciBQZmFkc3BlemlmaWthdGlvbnNhbmdhYmUgJ3ByZWZpeCciCisKKyM6IHBhdGhzcGVjLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGF0aHNwZWMgbWFnaWMgJyUuKnMnIGluICclcyciCittc2dzdHIgInVuZ8O8bHRpZ2UgUGZhZHNwZXppZmlrYXRpb25zYW5nYWJlICclLipzJyBpbiAnJXMnIgorCisjOiBwYXRoc3BlYy5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJNaXNzaW5nICcpJyBhdCB0aGUgZW5kIG9mIHBhdGhzcGVjIG1hZ2ljIGluICclcyciCittc2dzdHIgIkZlaGxlbmRlcyAnKScgYW0gRW5kZSBkZXIgUGZhZHNwZXppZmlrYXRpb25zYW5nYWJlIGluICclcyciCisKKyM6IHBhdGhzcGVjLmM6MTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaW1wbGVtZW50ZWQgcGF0aHNwZWMgbWFnaWMgJyVjJyBpbiAnJXMnIgorbXNnc3RyICJuaWNodCB1bnRlcnN0w7x0enRlIFBmYWRzcGV6aWZpa2F0aW9uc2FuZ2FiZSAnJWMnIGluICclcyciCisKKyM6IHBhdGhzcGVjLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAnbGl0ZXJhbCcgYW5kICdnbG9iJyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIlczogJ2xpdGVyYWwnIHVuZCAnZ2xvYicgc2luZCBpbmtvbXBhdGliZWwiCisKKyM6IHBhdGhzcGVjLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAnJXMnIGlzIG91dHNpZGUgcmVwb3NpdG9yeSIKK21zZ3N0ciAiJXM6ICclcycgbGllZ3QgYXXDn2VyaGFsYiBkZXMgUmVwb3NpdG9yaWVzIgorCisjOiBwYXRoc3BlYy5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXRoc3BlYyAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCittc2dzdHIgIlBmYWRzcGV6aWZpa2F0aW9uICclcycgYmVmaW5kZXQgc2ljaCBpbiBTdWJtb2R1bCAnJS4qcyciCisKKyMuCisjLiAqIFdlIG1heSB3YW50IHRvIHN1YnN0aXR1dGUgInRoaXMgY29tbWFuZCIgd2l0aCBhIGNvbW1hbmQKKyMuICogbmFtZS4gRS5nLiB3aGVuIGFkZC0taW50ZXJhY3RpdmUgZGllcyB3aGVuIHJ1bm5pbmcKKyMuICogImNoZWNrb3V0IC1wIgorIy4KKyM6IHBhdGhzcGVjLmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXRoc3BlYyBtYWdpYyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29tbWFuZDogJXMiCittc2dzdHIgIiVzOiBQZmFkc3BlemlmaWthdGlvbnNhbmdhYmUgd2lyZCB2b24gZGllc2VtIEtvbW1hbmRvIG5pY2h0IHVudGVyc3TDvHR6dDogJXMiCisKKyM6IHBhdGhzcGVjLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiUGZhZHNwZXppZmlrYXRpb24gJyVzJyBpc3QgaGludGVyIGVpbmVtIHN5bWJvbGlzY2hlbiBWZXJ3ZWlzIgorCisjOiByZW1vdGUuYzoxODMzCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJhc2VkIG9uICclcycsIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS5cbiIKK21zZ3N0ciAiSWhyIEJyYW5jaCBiYXNpZXJ0IGF1ZiAnJXMnLCBhYmVyIFVwc3RyZWFtLUJyYW5jaCB3dXJkZSBlbnRmZXJudC5cbiIKKworIzogcmVtb3RlLmM6MTgzNworbXNnaWQgIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIgorbXNnc3RyICIgIChiZW51dHplbiBTaWUgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB6dW0gQmVoZWJlbilcbiIKKworIzogcmVtb3RlLmM6MTg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIGJyYW5jaCBpcyB1cC10by1kYXRlIHdpdGggJyVzJy5cbiIKK21zZ3N0ciAiSWhyIEJyYW5jaCBpc3QgYXVmIGRlbSBzZWxiZW4gU3RhbmQgd2llICclcycuXG4iCisKKyM6IHJlbW90ZS5jOjE4NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKIG1zZ3N0clswXSAiSWhyIEJyYW5jaCBpc3Qgdm9yICclcycgdW0gJWQgQ29tbWl0LlxuIgogbXNnc3RyWzFdICJJaHIgQnJhbmNoIGlzdCB2b3IgJyVzJyB1bSAlZCBDb21taXRzLlxuIgogCi0jOiByZW1vdGUuYzoxNzk0CisjOiByZW1vdGUuYzoxODUwCiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1c2hcIiB0byBwdWJsaXNoIHlvdXIgbG9jYWwgY29tbWl0cylcbiIKIG1zZ3N0ciAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHB1c2hcIiB1bSBsb2thbGUgQ29tbWl0cyB6dSBwdWJsaXppZXJlbilcbiIKIAotIzogcmVtb3RlLmM6MTc5NworIzogcmVtb3RlLmM6MTg1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiZWhpbmQgJyVzJyBieSAlZCBjb21taXQsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCiBtc2dpZF9wbHVyYWwgIiIKQEAgLTkyNywxMiArOTk2LDEyIEBACiBtc2dzdHJbMV0gIiIKICJJaHIgQnJhbmNoIGlzdCB6dSAnJXMnIHVtICVkIENvbW1pdHMgaGludGVyaGVyLCB1bmQga2FubiB2b3JnZXNwdWx0IHdlcmRlbi5cbiIKIAotIzogcmVtb3RlLmM6MTgwNQorIzogcmVtb3RlLmM6MTg2MQogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHB1bGxcIiB1bSBJaHJlbiBsb2thbGVuIEJyYW5jaCB6dSBha3R1YWxpc2llcmVuKVxuIgogCi0jOiByZW1vdGUuYzoxODA4CisjOiByZW1vdGUuYzoxODY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgpAQCAtOTQ3LDcgKzEwMTYsNyBAQAogIklociBCcmFuY2ggdW5kICclcycgc2luZCBkaXZlcmdpZXJ0LFxuIgogInVuZCBoYWJlbiBqZXdlaWxzICVkIHVuZCAlZCB1bnRlcnNjaGllZGxpY2hlIENvbW1pdHMuXG4iCiAKLSM6IHJlbW90ZS5jOjE4MTgKKyM6IHJlbW90ZS5jOjE4NzQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgcHVsbFwiIHVtIElocmVuIEJyYW5jaCBtaXQgZGVtIFJlbW90ZS1CcmFuY2ggIgpAQCAtOTkyLDcgKzEwNjEsNyBAQAogIm1pdCAnZ2l0IGFkZCA8UGZhZGU+JyBvZGVyICdnaXQgcm0gPFBmYWRlPid1bmQgdHJhZ2VuIFNpZSBkYXMgRXJnZWJuaXMgbWl0XG4iCiAiJ2dpdCBjb21taXQnIGVpbiIKIAotIzogc2VxdWVuY2VyLmM6MjQ1IHNlcXVlbmNlci5jOjg2OSBzZXF1ZW5jZXIuYzo5NTIKKyM6IHNlcXVlbmNlci5jOjI0NSBzZXF1ZW5jZXIuYzo4NzAgc2VxdWVuY2VyLmM6OTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAlcyIKIG1zZ3N0ciAiS29ubnRlIG5pY2h0IG5hY2ggJXMgc2NocmVpYmVuIgpAQCAtMTAxNywxOTcgKzEwODYsMTk3IEBACiAiVHJhZ2VuIFNpZSBJaHJlIMOEbmRlcnVuZ2VuIGVpbiBvZGVyIGJlbnV0emVuIFNpZSBcInN0YXNoXCIgdW0gZm9ydHp1ZmFocmVuLiIKIAogIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIgb3IgImNoZXJyeS1waWNrIgotIzogc2VxdWVuY2VyLmM6MzI0CisjOiBzZXF1ZW5jZXIuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiJXM6IEtvbm50ZSBuZXVlIFN0YWdpbmctQXJlYS1EYXRlaSBuaWNodCBzY2hyZWliZW4iCiAKLSM6IHNlcXVlbmNlci5jOjM1NQorIzogc2VxdWVuY2VyLmM6MzU2CiBtc2dpZCAiQ291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXRcbiIKIG1zZ3N0ciAiS29ubnRlIENvbW1pdCB2b24gSEVBRCBuaWNodCBhdWZsw7ZzZW5cbiIKIAotIzogc2VxdWVuY2VyLmM6Mzc3CisjOiBzZXF1ZW5jZXIuYzozNzgKIG1zZ2lkICJVbmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWVcbiIKIG1zZ3N0ciAiS29ubnRlIENhY2hlLVZlcnplaWNobmlzIG5pY2h0IGFrdHVhbGlzaWVyZW5cbiIKIAotIzogc2VxdWVuY2VyLmM6NDIyCisjOiBzZXF1ZW5jZXIuYzo0MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIgogbXNnc3RyICJLb25udGUgQ29tbWl0ICVzIG5pY2h0IHBhcnNlblxuIgogCi0jOiBzZXF1ZW5jZXIuYzo0MjcKKyM6IHNlcXVlbmNlci5jOjQyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgogbXNnc3RyICJLb25udGUgRWx0ZXJuLUNvbW1pdCAlcyBuaWNodCBwYXJzZW5cbiIKIAotIzogc2VxdWVuY2VyLmM6NDkzCisjOiBzZXF1ZW5jZXIuYzo0OTQKIG1zZ2lkICJZb3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgogbXNnc3RyICJJaHJlIFN0YWdpbmctQXJlYS1EYXRlaSBpc3QgbmljaHQgenVzYW1tZW5nZWbDvGhydC4iCiAKLSM6IHNlcXVlbmNlci5jOjUxMgorIzogc2VxdWVuY2VyLmM6NTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKIG1zZ3N0ciAiQ29tbWl0ICVzIGlzdCBlaW4gTWVyZ2UsIGFiZXIgZGllIE9wdGlvbiAtbSB3dXJkZSBuaWNodCBhbmdlZ2ViZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzo1MjAKKyM6IHNlcXVlbmNlci5jOjUyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCiBtc2dzdHIgIkNvbW1pdCAlcyBoYXQga2VpbmVuIEVsdGVybnRlaWwgJWQiCiAKLSM6IHNlcXVlbmNlci5jOjUyNAorIzogc2VxdWVuY2VyLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCiBtc2dzdHIgIkhhdXB0bGluaWUgd3VyZGUgc3BlemlmaXppZXJ0LCBhYmVyIENvbW1pdCAlcyBpc3Qga2VpbiBNZXJnZS4iCiAKICMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSAicmV2ZXJ0IiBvcgogIy4gImNoZXJyeS1waWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEKLSM6IHNlcXVlbmNlci5jOjUzNworIzogc2VxdWVuY2VyLmM6NTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXM6IGthbm4gRWx0ZXJuLUNvbW1pdCAlcyBuaWNodCBwYXJzZW4iCiAKLSM6IHNlcXVlbmNlci5jOjU0MQorIzogc2VxdWVuY2VyLmM6NTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgogbXNnc3RyICJLYW5uIGtlaW5lIENvbW1pdC1CZXNjaHJlaWJ1bmcgZsO8ciAlcyBiZWtvbW1lbiIKIAotIzogc2VxdWVuY2VyLmM6NjI3CisjOiBzZXF1ZW5jZXIuYzo2MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAiS29ubnRlIFwicmV2ZXJ0XCIgbmljaHQgYXVmICVzIGF1c2bDvGhyZW4uLi4gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjYyOAorIzogc2VxdWVuY2VyLmM6NjI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhcHBseSAlcy4uLiAlcyIKIG1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IGFud2VuZGVuLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo2NjQKKyM6IHNlcXVlbmNlci5jOjY2NQogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgogbXNnc3RyICJsZWVyZSBNZW5nZSB2b24gQ29tbWl0cyDDvGJlcmdlYmVuIgogCi0jOiBzZXF1ZW5jZXIuYzo2NzIKKyM6IHNlcXVlbmNlci5jOjY3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzOiBGZWhsZXIgYmVpbSBMZXNlbiBkZXIgU3RhZ2luZy1BcmVhIgogCi0jOiBzZXF1ZW5jZXIuYzo2NzcKKyM6IHNlcXVlbmNlci5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzOiBGZWhsZXIgYmVpbSBBa3R1YWxpc2llcmVuIGRlciBTdGFnaW5nLUFyZWEiCiAKLSM6IHNlcXVlbmNlci5jOjczNQorIzogc2VxdWVuY2VyLmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCAlcyBkdXJpbmcgYSAlcyIKIG1zZ3N0ciAiS2FubiAlcyBuaWNodCB3w6RocmVuZCBlaW5lcyAlcyBkdXJjaGbDvGhyZW4iCiAKLSM6IHNlcXVlbmNlci5jOjc1NworIzogc2VxdWVuY2VyLmM6NzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBsaW5lICVkLiIKIG1zZ3N0ciAiS29ubnRlIFplaWxlICVkIG5pY2h0IHBhcnNlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjc2MgorIzogc2VxdWVuY2VyLmM6NzYzCiBtc2dpZCAiTm8gY29tbWl0cyBwYXJzZWQuIgogbXNnc3RyICJLZWluZSBDb21taXRzIGdlcGFyc3QuIgogCi0jOiBzZXF1ZW5jZXIuYzo3NzUKKyM6IHNlcXVlbmNlci5jOjc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAlcyIKIG1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IMO2ZmZuZW4iCiAKLSM6IHNlcXVlbmNlci5jOjc3OQorIzogc2VxdWVuY2VyLmM6NzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkICVzLiIKIG1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IGxlc2VuLiIKIAotIzogc2VxdWVuY2VyLmM6Nzg2CisjOiBzZXF1ZW5jZXIuYzo3ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICVzIgogbXNnc3RyICJVbmJlbnV0emJhcmVzIEluc3RydWt0aW9uc2JsYXR0OiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODE0CisjOiBzZXF1ZW5jZXIuYzo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBrZXk6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBTY2hsw7xzc2VsOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODE3CisjOiBzZXF1ZW5jZXIuYzo4MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBXZXJ0IGbDvHIgJXM6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4MjkKKyM6IHNlcXVlbmNlci5jOjgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJXMiCiBtc2dzdHIgIkZlaGxlcmhhZnRlcyBPcHRpb25zYmxhdHQ6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTAKKyM6IHNlcXVlbmNlci5jOjg1MQogbXNnaWQgImEgY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgIlwiY2hlcnJ5LXBpY2tcIiBvZGVyIFwicmV2ZXJ0XCIgaXN0IGJlcmVpdHMgaW0gR2FuZyIKIAotIzogc2VxdWVuY2VyLmM6ODUxCisjOiBzZXF1ZW5jZXIuYzo4NTIKIG1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogbXNnc3RyICJ2ZXJzdWNoZW4gU2llIFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIAotIzogc2VxdWVuY2VyLmM6ODU1CisjOiBzZXF1ZW5jZXIuYzo4NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICVzIgogbXNnc3RyICJLb25udGUgXCJzZXF1ZW5jZXJcIi1WZXJ6ZWljaG5pcyAlcyBuaWNodCBlcnN0ZWxsZW4iCiAKLSM6IHNlcXVlbmNlci5jOjg3MSBzZXF1ZW5jZXIuYzo5NTYKKyM6IHNlcXVlbmNlci5jOjg3MiBzZXF1ZW5jZXIuYzo5NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3Igd3JhcHBpbmcgdXAgJXMuIgogbXNnc3RyICJGZWhsZXIgYmVpbSBFaW5wYWNrZW4gdm9uICVzLiIKIAotIzogc2VxdWVuY2VyLmM6ODkwIHNlcXVlbmNlci5jOjEwMjQKKyM6IHNlcXVlbmNlci5jOjg5MSBzZXF1ZW5jZXIuYzoxMDI1CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICJrZWluIFwiY2hlcnJ5LXBpY2tcIiBvZGVyIFwicmV2ZXJ0XCIgaW0gR2FuZyIKIAotIzogc2VxdWVuY2VyLmM6ODkyCisjOiBzZXF1ZW5jZXIuYzo4OTMKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgogbXNnc3RyICJrYW5uIEhFQUQgbmljaHQgYXVmbMO2c2VuIgogCi0jOiBzZXF1ZW5jZXIuYzo4OTQKKyM6IHNlcXVlbmNlci5jOjg5NQogbXNnaWQgImNhbm5vdCBhYm9ydCBmcm9tIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJrYW5uIG5pY2h0IGFiYnJlY2hlbjogYmluIGF1ZiBlaW5lbSBCcmFuY2gsIGRlciBub2NoIGdlYm9yZW4gd2lyZCIKIAotIzogc2VxdWVuY2VyLmM6OTE2IGJ1aWx0aW4vYXBwbHkuYzo0MDYxCisjOiBzZXF1ZW5jZXIuYzo5MTcgYnVpbHRpbi9hcHBseS5jOjQwNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgogbXNnc3RyICJLYW5uICVzIG5pY2h0IMO2ZmZuZW46ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo5MTkKKyM6IHNlcXVlbmNlci5jOjkyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAlczogJXMiCiBtc2dzdHIgIkthbm4gJXMgbmljaHQgbGVzZW46ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo5MjAKKyM6IHNlcXVlbmNlci5jOjkyMQogbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgIlVuZXJ3YXJ0ZXRlcyBEYXRlaWVuZGUiCiAKLSM6IHNlcXVlbmNlci5jOjkyNgorIzogc2VxdWVuY2VyLmM6OTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKIG1zZ3N0ciAiZ2VzcGVpY2hlcnRlIFwicHJlLWNoZXJyeS1waWNrXCIgSEVBRCBEYXRlaSAnJXMnIGlzdCBiZXNjaMOkZGlndCIKIAotIzogc2VxdWVuY2VyLmM6OTQ5CisjOiBzZXF1ZW5jZXIuYzo5NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZvcm1hdCAlcy4iCiBtc2dzdHIgIktvbm50ZSAlcyBuaWNodCBmb3JtYXRpZXJlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjEwOTIKKyM6IHNlcXVlbmNlci5jOjEwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiVzOiAlcyBrYW5uIG5pY2h0IGluIFwiY2hlcnJ5LXBpY2tcIiBiZW51dHp0IHdlcmRlbiIKIAotIzogc2VxdWVuY2VyLmM6MTA5NQorIzogc2VxdWVuY2VyLmM6MTA5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHJldmlzaW9uIgogbXNnc3RyICIlczogdW5nw7xsdGlnZXIgQ29tbWl0IgogCi0jOiBzZXF1ZW5jZXIuYzoxMTI5CisjOiBzZXF1ZW5jZXIuYzoxMTMwCiBtc2dpZCAiQ2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgogbXNnc3RyICJLYW5uIG5pY2h0IGFscyBhbGxlcmVyc3RlbiBDb21taXQgZWluZW4gUmV2ZXJ0IGF1c2bDvGhyZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTMwCisjOiBzZXF1ZW5jZXIuYzoxMTMxCiBtc2dpZCAiQ2FuJ3QgY2hlcnJ5LXBpY2sgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICJLYW5uIG5pY2h0IGFscyBhbGxlcmVyc3RlbiBDb21taXQgZWluZW4gQ2hlcnJ5LVBpY2sgYXVzZsO8aHJlbi4iCiAKQEAgLTEyMzYsMjc1ICsxMzA1LDM2OCBAQAogImluZGVtIFNpZSBcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlXCJcbiIKICJhdXNmw7xocmVuLiIKIAotIzogc2hhMV9uYW1lLmM6MTA5NworIzogc2hhMV9uYW1lLmM6MTExMgogbXNnaWQgIkhFQUQgZG9lcyBub3QgcG9pbnQgdG8gYSBicmFuY2giCiBtc2dzdHIgIkhFQUQgemVpZ3QgYXVmIGtlaW5lbiBCcmFuY2giCiAKLSM6IHNoYTFfbmFtZS5jOjExMDAKKyM6IHNoYTFfbmFtZS5jOjExMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBicmFuY2g6ICclcyciCiBtc2dzdHIgIktlaW4gc29sY2hlciBCcmFuY2ggJyVzJyIKIAotIzogc2hhMV9uYW1lLmM6MTEwMgorIzogc2hhMV9uYW1lLmM6MTExNwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiS2VpbiBVcHN0cmVhbS1CcmFuY2ggZsO8ciBCcmFuY2ggJyVzJyBrb25maWd1cmllcnQuIgogCi0jOiBzaGExX25hbWUuYzoxMTA2CisjOiBzaGExX25hbWUuYzoxMTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICJVcHN0cmVhbS1CcmFuY2ggJyVzJyBpc3QgbmljaHQgYWxzIFJlbW90ZS1UcmFja2luZy1CcmFuY2ggZ2VzcGVpY2hlcnQiCiAKLSM6IHdyYXBwZXIuYzo0MDgKKyM6IHN1Ym1vZHVsZS5jOjY0IHN1Ym1vZHVsZS5jOjk4Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB1bm1lcmdlZCAuZ2l0bW9kdWxlcywgcmVzb2x2ZSBtZXJnZSBjb25mbGljdHMgZmlyc3QiCittc2dzdHIgIkthbm4gbmljaHQgenVzYW1tZW5nZWbDvGhydGUgLmdpdG1vZHVsZXMtRGF0ZWkgbmljaHQgw6RuZGVybiwgbMO2c2VuXG4iCisiU2llIHp1ZXJzdCBkaWUgS29uZmxpa3RlIGF1ZiIKKworIzogc3VibW9kdWxlLmM6Njggc3VibW9kdWxlLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKK21zZ3N0ciAiS29ubnRlIGtlaW5lIFNla3Rpb24gaW4gLmdpdG1vZHVsZXMgbWl0IFBmYWQgXCIlc1wiIGZpbmRlbiIKKworIy4gTWF5YmUgdGhlIHVzZXIgYWxyZWFkeSBkaWQgdGhhdCwgZG9uJ3QgZXJyb3Igb3V0IGhlcmUKKyM6IHN1Ym1vZHVsZS5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgLmdpdG1vZHVsZXMgZW50cnkgJXMiCittc2dzdHIgIktvbm50ZSBFaW50cmFnICclcycgaW4gLmdpdG1vZHVsZXMgbmljaHQgYWt0dWFsaXNpZXJlbiIKKworIy4gTWF5YmUgdGhlIHVzZXIgYWxyZWFkeSBkaWQgdGhhdCwgZG9uJ3QgZXJyb3Igb3V0IGhlcmUKKyM6IHN1Ym1vZHVsZS5jOjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIC5naXRtb2R1bGVzIGVudHJ5IGZvciAlcyIKK21zZ3N0ciAiS29ubnRlIEVpbnRyYWcgJyVzJyBuaWNodCBhdXMgLmdpdG1vZHVsZXMgZW50ZmVybmVuIgorCisjOiBzdWJtb2R1bGUuYzoxMjcKK21zZ2lkICJjb3VsZCBub3QgZmluZCAuZ2l0bW9kdWxlcyBpbiBpbmRleCIKK21zZ3N0ciAiS29ubnRlIC5naXRtb2R1bGVzIG5pY2h0IGluIGRlciBTdGFnaW5nLUFyZWEgZmluZGVuIgorCisjOiBzdWJtb2R1bGUuYzoxMzMKK21zZ2lkICJyZWFkaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgorbXNnc3RyICJMZXNlbiBkZXIgYWt0dWFsaXNpZXJ0ZW4gLmdpdG1vZHVsZXMtRGF0ZWkgZmVobGdlc2NobGFnZW4iCisKKyM6IHN1Ym1vZHVsZS5jOjEzNQorbXNnaWQgInVuYWJsZSB0byBzdGF0IHVwZGF0ZWQgLmdpdG1vZHVsZXMiCittc2dzdHIgIktvbm50ZSBha3R1YWxpc2llcnRlIC5naXRtb2R1bGVzLURhdGVpIG5pY2h0IGxlc2VuIgorCisjOiBzdWJtb2R1bGUuYzoxMzkKK21zZ2lkICJ1bmFibGUgdG8gcmVtb3ZlIC5naXRtb2R1bGVzIGZyb20gaW5kZXgiCittc2dzdHIgIktvbm50ZSAuZ2l0bW9kdWxlcyBuaWNodCBhdXMgZGVyIFN0YWdpbmctQXJlYSBlbnRmZXJuZW4iCisKKyM6IHN1Ym1vZHVsZS5jOjE0MQorbXNnaWQgImFkZGluZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKK21zZ3N0ciAiS29ubnRlIGFrdHVhbGlzaWVydGUgLmdpdG1vZHVsZXMtRGF0ZWkgbmljaHQgaGluenVmw7xnZW4iCisKKyM6IHN1Ym1vZHVsZS5jOjE0MworbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCittc2dzdHIgIktvbm50ZSBha3R1YWxpc2llcnRlIC5naXRtb2R1bGVzLURhdGVpIG5pY2h0IHp1bSBDb21taXQgdm9ybWVya2VuIgorCisjOiBzdWJtb2R1bGUuYzoxMTQ0IGJ1aWx0aW4vaW5pdC1kYi5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGdpdCBsaW5rICVzIgorbXNnc3RyICJLb25udGUgZ2l0LVZlcndlaXMgJXMgbmljaHQgZXJzdGVsbGVuIgorCisjOiBzdWJtb2R1bGUuYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBzZXQgY29yZS53b3JrdHJlZSBpbiAlcyIKK21zZ3N0ciAiS29ubnRlIGNvcmUud29ya3RyZWUgaW4gJyVzJyBuaWNodCBzZXR6ZW4uIgorCisjOiB1cmxtYXRjaC5jOjEyMAorbXNnaWQgImludmFsaWQgVVJMIHNjaGVtZSBuYW1lIG9yIG1pc3NpbmcgJzovLycgc3VmZml4IgorbXNnc3RyICJVbmfDvGx0aWdlcyBVUkwtU2NoZW1hIG9kZXIgU3VmZml4ICc6Ly8nIGZlaGx0IgorCisjOiB1cmxtYXRjaC5jOjE0NCB1cmxtYXRjaC5jOjI5NyB1cmxtYXRjaC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkICVYWCBlc2NhcGUgc2VxdWVuY2UiCittc2dzdHIgInVuZ8O8bHRpZ2UgRXNjYXBlLVNlcXVlbnogJVhYIgorCisjOiB1cmxtYXRjaC5jOjE3MgorbXNnaWQgIm1pc3NpbmcgaG9zdCBhbmQgc2NoZW1lIGlzIG5vdCAnZmlsZTonIgorbXNnc3RyICJmZWhsZW5kZXIgSG9zdCB1bmQgU2NoZW1hIGlzdCBuaWNodCAnZmlsZTonIgorCisjOiB1cmxtYXRjaC5jOjE4OQorbXNnaWQgImEgJ2ZpbGU6JyBVUkwgbWF5IG5vdCBoYXZlIGEgcG9ydCBudW1iZXIiCittc2dzdHIgImVpbmUgJ2ZpbGU6JyBVUkwgZGFyZiBrZWluZSBQb3J0bnVtbWVyIGVudGhhbHRlbiIKKworIzogdXJsbWF0Y2guYzoxOTkKK21zZ2lkICJpbnZhbGlkIGNoYXJhY3RlcnMgaW4gaG9zdCBuYW1lIgorbXNnc3RyICJIb3N0bmFtZSBlbnRow6RsdCB1bmfDvGx0aWdlIFplaWNoZW4iCisKKyM6IHVybG1hdGNoLmM6MjQ0IHVybG1hdGNoLmM6MjU1Cittc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciIKK21zZ3N0ciAidW5nw7xsdGlnZSBQb3J0bnVtbWVyIgorCisjOiB1cmxtYXRjaC5jOjMyMgorbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzICcuLicgUGZhZHNlZ21lbnQiCisKKyM6IHdyYXBwZXIuYzo0MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnOiAlcyIKIG1zZ3N0ciAia29ubnRlIG5pY2h0IGF1ZiAnJXMnIHp1Z3JlaWZlbjogJXMiCiAKLSM6IHdyYXBwZXIuYzo0MjkKKyM6IHdyYXBwZXIuYzo0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICJrb25udGUgbmljaHQgYXVmICclcycgenVncmVpZmVuIgogCi0jOiB3cmFwcGVyLmM6NDQwCisjOiB3cmFwcGVyLmM6NDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBsb29rIHVwIGN1cnJlbnQgdXNlciBpbiB0aGUgcGFzc3dkIGZpbGU6ICVzIgogbXNnc3RyICJrb25udGUgYWt0dWVsbGVuIEJlbnV0emVyIG5pY2h0IGluIFBhc3N3b3J0LURhdGVpIGZpbmRlbjogJXMiCiAKLSM6IHdyYXBwZXIuYzo0NDEKKyM6IHdyYXBwZXIuYzo0NTUKIG1zZ2lkICJubyBzdWNoIHVzZXIiCiBtc2dzdHIgImtlaW4gc29sY2hlciBCZW51dHplciIKIAotIzogd3Qtc3RhdHVzLmM6MTQxCisjOiB3dC1zdGF0dXMuYzoxNDYKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgIk5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIFBmYWRlOiIKIAotIzogd3Qtc3RhdHVzLmM6MTY4IHd0LXN0YXR1cy5jOjE5NQorIzogd3Qtc3RhdHVzLmM6MTczIHd0LXN0YXR1cy5jOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmVzZXQgJXMgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgcmVzZXQgJXMgPERhdGVpPi4uLlwiIHp1bSBFbnRmZXJuZW4gYXVzIGRlciBTdGFnaW5nLSIKICJBcmVhKSIKIAotIzogd3Qtc3RhdHVzLmM6MTcwIHd0LXN0YXR1cy5jOjE5NworIzogd3Qtc3RhdHVzLmM6MTc1IHd0LXN0YXR1cy5jOjIwMgogbXNnaWQgIiAgKHVzZSBcImdpdCBybSAtLWNhY2hlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBybSAtLWNhY2hlZCA8RGF0ZWk+Li4uXCIgenVtIEVudGZlcm5lbiBhdXMgZGVyIFN0YWdpbmctIgogIkFyZWEpIgogCi0jOiB3dC1zdGF0dXMuYzoxNzQKKyM6IHd0LXN0YXR1cy5jOjE3OQogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBhZGQvcm0gPERhdGVpPi4uLlwiIHVtIGRpZSBBdWZsw7ZzdW5nIHp1IG1hcmtpZXJlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NiB3dC1zdGF0dXMuYzoxODAKKyM6IHd0LXN0YXR1cy5jOjE4MSB3dC1zdGF0dXMuYzoxODUKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgYWRkL3JtIDxEYXRlaT4uLi5cIiB1bSBkaWUgQXVmbMO2c3VuZyBlbnRzcHJlY2hlbmQgenUgIgogIm1hcmtpZXJlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjE3OAorIzogd3Qtc3RhdHVzLmM6MTgzCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgYWRkL3JtIDxEYXRlaT4uLi5cIiB1bSBkaWUgQXVmbMO2c3VuZyB6dSBtYXJraWVyZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxODkKKyM6IHd0LXN0YXR1cy5jOjE5NAogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAienVtIENvbW1pdCB2b3JnZW1lcmt0ZSDDhG5kZXJ1bmdlbjoiCiAKLSM6IHd0LXN0YXR1cy5jOjIwNworIzogd3Qtc3RhdHVzLmM6MjEyCiBtc2dpZCAiQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6IgogbXNnc3RyICLDhG5kZXJ1bmdlbiwgZGllIG5pY2h0IHp1bSBDb21taXQgdm9yZ2VtZXJrdCBzaW5kOiIKIAotIzogd3Qtc3RhdHVzLmM6MjExCisjOiB3dC1zdGF0dXMuYzoyMTYKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBhZGQgPERhdGVpPi4uLlwiIHVtIGRpZSDDhG5kZXJ1bmdlbiB6dW0gQ29tbWl0ICIKICJ2b3J6dW1lcmtlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjIxMworIzogd3Qtc3RhdHVzLmM6MjE4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgYWRkL3JtIDxEYXRlaT4uLi5cIiB1bSBkaWUgw4RuZGVydW5nZW4genVtIENvbW1pdCAiCiAidm9yenVtZXJrZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoyMTQKKyM6IHd0LXN0YXR1cy5jOjIxOQogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBjaGVja291dCAtLSA8RGF0ZWk+Li4uXCIgdW0gZGllIMOEbmRlcnVuZ2VuIGltICIKICJBcmJlaXRzdmVyemVpY2huaXMgenUgdmVyd2VyZmVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MjE2CisjOiB3dC1zdGF0dXMuYzoyMjEKIG1zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCiBtc2dzdHIgIiIKICIgIChjb21taXR0ZW4gb2RlciB2ZXJ3ZXJmZW4gU2llIGRlbiB1bmJlb2JhY2h0ZXRlbiBvZGVyIGdlw6RuZGVydGVuIEluaGFsdCBpbiAiCiAiZGVuIFN1Ym1vZHVsZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoyMjgKKyM6IHd0LXN0YXR1cy5jOjIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgJXMgPGZpbGU+Li4uXCIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCAlcyA8RGF0ZWk+Li4uXCIgdW0gZGllIMOEbmRlcnVuZ2VuIHp1bSBDb21taXQgIgogInZvcnp1bWVya2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6MjQ1CisjOiB3dC1zdGF0dXMuYzoyNTAKIG1zZ2lkICJidWciCiBtc2dzdHIgIkZlaGxlciIKIAotIzogd3Qtc3RhdHVzLmM6MjUwCisjOiB3dC1zdGF0dXMuYzoyNTUKIG1zZ2lkICJib3RoIGRlbGV0ZWQ6IgogbXNnc3RyICJiZWlkZSBnZWzDtnNjaHQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTEKKyM6IHd0LXN0YXR1cy5jOjI1NgogbXNnaWQgImFkZGVkIGJ5IHVzOiIKIG1zZ3N0ciAidm9uIHVucyBoaW56dWdlZsO8Z3Q6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTIKKyM6IHd0LXN0YXR1cy5jOjI1NwogbXNnaWQgImRlbGV0ZWQgYnkgdGhlbToiCiBtc2dzdHIgInZvbiBkZW5lbiBnZWzDtnNjaHQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTMKKyM6IHd0LXN0YXR1cy5jOjI1OAogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICJ2b24gZGVuZW4gaGluenVnZWbDvGd0OiIKIAotIzogd3Qtc3RhdHVzLmM6MjU0CisjOiB3dC1zdGF0dXMuYzoyNTkKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAidm9uIHVucyBnZWzDtnNjaHQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTUKKyM6IHd0LXN0YXR1cy5jOjI2MAogbXNnaWQgImJvdGggYWRkZWQ6IgogbXNnc3RyICJ2b24gYmVpZGVuIGhpbnp1Z2Vmw7xndDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NgorIzogd3Qtc3RhdHVzLmM6MjYxCiBtc2dpZCAiYm90aCBtb2RpZmllZDoiCiBtc2dzdHIgInZvbiBiZWlkZW4gZ2XDpG5kZXJ0OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg2CisjOiB3dC1zdGF0dXMuYzoyOTEKIG1zZ2lkICJuZXcgY29tbWl0cywgIgogbXNnc3RyICJuZXVlIENvbW1pdHMsICIKIAotIzogd3Qtc3RhdHVzLmM6Mjg4CisjOiB3dC1zdGF0dXMuYzoyOTMKIG1zZ2lkICJtb2RpZmllZCBjb250ZW50LCAiCiBtc2dzdHIgImdlw6RuZGVydGVyIEluaGFsdCwgIgogCi0jOiB3dC1zdGF0dXMuYzoyOTAKKyM6IHd0LXN0YXR1cy5jOjI5NQogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgInVuYmVvYmFjaHRldGVyIEluaGFsdCwgIgogCi0jOiB3dC1zdGF0dXMuYzozMDcKKyM6IHd0LXN0YXR1cy5jOjMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgZmlsZTogICAlcyIKIG1zZ3N0ciAibmV1ZSBEYXRlaTogICAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MzEwCisjOiB3dC1zdGF0dXMuYzozMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29waWVkOiAgICAgJXMgLT4gJXMiCiBtc2dzdHIgImtvcGllcnQ6ICAgICAlcyAtPiAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MzEzCisjOiB3dC1zdGF0dXMuYzozMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRlZDogICAgJXMiCiBtc2dzdHIgImdlbMO2c2NodDogICAgJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjMxNgorIzogd3Qtc3RhdHVzLmM6MzIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vZGlmaWVkOiAgICVzIgogbXNnc3RyICJnZcOkbmRlcnQ6ICAgJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjMxOQorIzogd3Qtc3RhdHVzLmM6MzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtZWQ6ICAgICVzIC0+ICVzIgogbXNnc3RyICJ1bWJlbmFubnQ6ICAgICVzIC0+ICVzIgogCi0jOiB3dC1zdGF0dXMuYzozMjIKKyM6IHd0LXN0YXR1cy5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0eXBlY2hhbmdlOiAlcyIKIG1zZ3N0ciAiVHlww6RuZGVydW5nOiAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MzI1CisjOiB3dC1zdGF0dXMuYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93bjogICAgJXMiCiBtc2dzdHIgInVuYmVrYW5udDogICAgJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjMyOAorIzogd3Qtc3RhdHVzLmM6MzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVubWVyZ2VkOiAgICVzIgogbXNnc3RyICJuaWNodCB6dXNhbW1lbmdlZsO8aHJ0OiAgICVzIgogCi0jOiB3dC1zdGF0dXMuYzozMzEKKyM6IHd0LXN0YXR1cy5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJidWc6IHVuaGFuZGxlZCBkaWZmIHN0YXR1cyAlYyIKIG1zZ3N0ciAiRmVobGVyOiB1bmJlaGFuZGVsdGVyIERpZmZlcmVuei1TdGF0dXMgJWMiCiAKLSM6IHd0LXN0YXR1cy5jOjgwMworIzogd3Qtc3RhdHVzLmM6NzAzCittc2dpZCAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCittc2dzdHIgIlN1Ym1vZHVsZSBnZcOkbmRlcnQsIGFiZXIgbmljaHQgYWt0dWFsaXNpZXJ0OiIKKworIzogd3Qtc3RhdHVzLmM6NzA1Cittc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKK21zZ3N0ciAiw4RuZGVydW5nZW4gaW4gU3VibW9kdWwgenVtIENvbW1pdHRlbjoiCisKKyM6IHd0LXN0YXR1cy5jOjg0OAogbXNnaWQgIllvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLiIKIG1zZ3N0ciAiU2llIGhhYmVuIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIFBmYWRlLiIKIAotIzogd3Qtc3RhdHVzLmM6ODA2CisjOiB3dC1zdGF0dXMuYzo4NTEKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgogbXNnc3RyICIgKGJlaGViZW4gU2llIGRpZSBLb25mbGlrdGUgdW5kIGbDvGhyZW4gU2llIFwiZ2l0IGNvbW1pdFwiIGF1cykiCiAKLSM6IHd0LXN0YXR1cy5jOjgwOQorIzogd3Qtc3RhdHVzLmM6ODU0CiBtc2dpZCAiQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLiIKIG1zZ3N0ciAiQWxsZSBLb25mbGlrdGUgc2luZCBiZWhvYmVuLCBhYmVyIFNpZSBzaW5kIGltbWVyIG5vY2ggYmVpbSBNZXJnZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjgxMgorIzogd3Qtc3RhdHVzLmM6ODU3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGNvbW1pdFwiIHVtIGRlbiBNZXJnZSBhYnp1c2NobGllw59lbikiCiAKLSM6IHd0LXN0YXR1cy5jOjgyMgorIzogd3Qtc3RhdHVzLmM6ODY3CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICJFaW5lIFwiYW1cIi1TaXR6dW5nIGlzdCBpbSBHYW5nZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjgyNQorIzogd3Qtc3RhdHVzLmM6ODcwCiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICJEZXIgYWt0dWVsbGUgUGF0Y2ggaXN0IGxlZXIuIgogCi0jOiB3dC1zdGF0dXMuYzo4MjkKKyM6IHd0LXN0YXR1cy5jOjg3NAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChiZWhlYmVuIFNpZSBkaWUgS29uZmxpa3RlIHVuZCBmw7xocmVuIFNpZSBkYW5uIFwiZ2l0IGFtIC0tY29udGludWVcIiBhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzo4MzEKKyM6IHd0LXN0YXR1cy5jOjg3NgogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgIChiZW51dHplbiBTaWUgXCJnaXQgYW0gLS1za2lwXCIgdW0gZGllc2VuIFBhdGNoIGF1c3p1bGFzc2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6ODMzCisjOiB3dC1zdGF0dXMuYzo4NzgKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgYW0gLS1hYm9ydFwiIHVtIGRlbiB1cnNwcsO8bmdsaWNoZW4gQnJhbmNoICIKICJ3aWVkZXJoZXJ6dXN0ZWxsZW4pIgogCi0jOiB3dC1zdGF0dXMuYzo4OTMgd3Qtc3RhdHVzLmM6OTEwCisjOiB3dC1zdGF0dXMuYzo5Mzggd3Qtc3RhdHVzLmM6OTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICJTaWUgc2luZCBnZXJhZGUgYmVpbSBSZWJhc2Ugdm9uIEJyYW5jaCAnJXMnIGF1ZiAnJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6ODk4IHd0LXN0YXR1cy5jOjkxNQorIzogd3Qtc3RhdHVzLmM6OTQzIHd0LXN0YXR1cy5jOjk2MAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiU2llIHNpbmQgZ2VyYWRlIGJlaW0gUmViYXNlLiIKIAotIzogd3Qtc3RhdHVzLmM6OTAxCisjOiB3dC1zdGF0dXMuYzo5NDYKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKGJlaGViZW4gU2llIGRpZSBLb25mbGlrdGUgdW5kIGbDvGhyZW4gU2llIGRhbm4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIiAiCiAiYXVzKSIKIAotIzogd3Qtc3RhdHVzLmM6OTAzCisjOiB3dC1zdGF0dXMuYzo5NDgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKGJlbnV0emVuIFNpZSBcImdpdCByZWJhc2UgLS1za2lwXCIgdW0gZGllc2VuIFBhdGNoIGF1c3p1bGFzc2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6OTA1CisjOiB3dC1zdGF0dXMuYzo5NTAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiB0byBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiB1bSBkZW4gdXJzcHLDvG5nbGljaGVuIEJyYW5jaCAiCiAiYXVzenVjaGVja2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6OTE4CisjOiB3dC1zdGF0dXMuYzo5NjMKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGFsbGUgS29uZmxpa3RlIGJlaG9iZW46IGbDvGhyZW4gU2llIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgYXVzKSIKIAotIzogd3Qtc3RhdHVzLmM6OTIyCisjOiB3dC1zdGF0dXMuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKQEAgLTE1MTIsMTI4ICsxNjc0LDEyOSBAQAogIlNpZSB0ZWlsZW4gZ2VyYWRlIGVpbmVuIENvbW1pdCBhdWYsIHfDpGhyZW5kIGVpbiBSZWJhc2Ugdm9uIEJyYW5jaCAnJXMnIGF1ZiAiCiAiJyVzJyBpbSBHYW5nZSBpc3QuIgogCi0jOiB3dC1zdGF0dXMuYzo5MjcKKyM6IHd0LXN0YXR1cy5jOjk3MgogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICJTaWUgdGVpbGVuIGdlcmFkZSBlaW5lbiBDb21taXQgd8OkaHJlbmQgZWluZXMgUmViYXNlIGF1Zi4iCiAKLSM6IHd0LXN0YXR1cy5jOjkzMAorIzogd3Qtc3RhdHVzLmM6OTc1CiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChTb2JhbGQgSWhyIEFyYmVpdHN2ZXJ6ZWljaG5pcyB1bnZlcsOkbmRlcnQgaXN0LCBmw7xocmVuIFNpZSBcImdpdCByZWJhc2UgLS0iCiAiY29udGludWVcIiBhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzo5MzQKKyM6IHd0LXN0YXR1cy5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCiAiU2llIGVkaXRpZXJlbiBnZXJhZGUgZWluZW4gQ29tbWl0IHfDpGhyZW5kIGVpbmVzIFJlYmFzZSB2b24gQnJhbmNoICclcycgYXVmICIKICInJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6OTM5CisjOiB3dC1zdGF0dXMuYzo5ODQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIlNpZSBlZGl0aWVyZW4gZ2VyYWRlIGVpbmVuIENvbW1pdCB3w6RocmVuZCBlaW5lcyBSZWJhc2UuIgogCi0jOiB3dC1zdGF0dXMuYzo5NDIKKyM6IHd0LXN0YXR1cy5jOjk4NwogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiB1bSBkZW4gYWt0dWVsbGVuIENvbW1pdCBuYWNoenViZXNzZXJuKSIKIAotIzogd3Qtc3RhdHVzLmM6OTQ0CisjOiB3dC1zdGF0dXMuYzo5ODkKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBzb2JhbGQgSWhyZSDDhG5kZXJ1bmdlbiAiCiAiYWJnZXNjaGxvc3NlbiBzaW5kKSIKIAotIzogd3Qtc3RhdHVzLmM6OTU0Ci1tc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcuIgotbXNnc3RyICJTaWUgZsO8aHJlbiBnZXJhZGUgXCJjaGVycnktcGlja1wiIGF1cy4iCisjOiB3dC1zdGF0dXMuYzo5OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICVzLiIKK21zZ3N0ciAiU2llIGbDvGhyZW4gZ2VyYWRlIFwiY2hlcnJ5LXBpY2tcIiB2b24gQ29tbWl0ICVzIGF1cy4iCiAKLSM6IHd0LXN0YXR1cy5jOjk1OAorIzogd3Qtc3RhdHVzLmM6MTAwNAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoYmVoZWJlbiBTaWUgZGllIEtvbmZsaWt0ZSB1bmQgZsO8aHJlbiBTaWUgZGFubiBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlIgogIlwiIGF1cykiCiAKLSM6IHd0LXN0YXR1cy5jOjk2MQorIzogd3Qtc3RhdHVzLmM6MTAwNwogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoYWxsZSBLb25mbGlrdGUgYmVob2JlbjogZsO8aHJlbiBTaWUgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIGF1cykiCiAKLSM6IHd0LXN0YXR1cy5jOjk2MworIzogd3Qtc3RhdHVzLmM6MTAwOQogbXNnaWQgIiAgKHVzZSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSBjaGVycnktcGljayBvcGVyYXRpb24pIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB1bSBkaWUgQ2hlcnJ5LVBpY2stT3BlcmF0aW9uICIKICJhYnp1YnJlY2hlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjk3MgorIzogd3Qtc3RhdHVzLmM6MTAxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZXZlcnRpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiU2llIHNpbmQgZ2VyYWRlIGFuIGVpbmVtIFJldmVydCB2b24gQ29tbWl0ICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzo5NzcKKyM6IHd0LXN0YXR1cy5jOjEwMjMKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChiZWhlYmVuIFNpZSBkaWUgS29uZmxpa3RlIHVuZCBmw7xocmVuIFNpZSBkYW5uIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIgIgogImF1cykiCiAKLSM6IHd0LXN0YXR1cy5jOjk4MAorIzogd3Qtc3RhdHVzLmM6MTAyNgogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoYWxsZSBLb25mbGlrdGUgYmVob2JlbjogZsO8aHJlbiBTaWUgXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIiBhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzo5ODIKKyM6IHd0LXN0YXR1cy5jOjEwMjgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgdW0gZGllIFJldmVydC1PcGVyYXRpb24gYWJ6dWJyZWNoZW4pIgogCi0jOiB3dC1zdGF0dXMuYzo5OTMKKyM6IHd0LXN0YXR1cy5jOjEwMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLCBzdGFydGVkIGZyb20gYnJhbmNoICclcycuIgogbXNnc3RyICJTaWUgc2luZCBnZXJhZGUgYmVpIGVpbmVyIGJpbsOkcmVuIFN1Y2hlLCBnZXN0YXJ0ZXQgdm9uIEJyYW5jaCAnJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6OTk3CisjOiB3dC1zdGF0dXMuYzoxMDQzCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIKIG1zZ3N0ciAiU2llIHNpbmQgZ2VyYWRlIGJlaSBlaW5lciBiaW7DpHJlbiBTdWNoZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwMDAKKyM6IHd0LXN0YXR1cy5jOjEwNDYKIG1zZ2lkICIgICh1c2UgXCJnaXQgYmlzZWN0IHJlc2V0XCIgdG8gZ2V0IGJhY2sgdG8gdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgYmlzZWN0IHJlc2V0XCIgdW0genVtIHVyc3Byw7xuZ2xpY2hlbiBCcmFuY2ggIgogInp1csO8Y2t6dWtlaHJlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzMKKyM6IHd0LXN0YXR1cy5jOjEyMjEKIG1zZ2lkICJPbiBicmFuY2ggIgogbXNnc3RyICJBdWYgQnJhbmNoICIKIAotIzogd3Qtc3RhdHVzLmM6MTE4MAorIzogd3Qtc3RhdHVzLmM6MTIyOAogbXNnaWQgInJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgIlJlYmFzZSBpbSBHYW5nZTsgYXVmICIKIAotIzogd3Qtc3RhdHVzLmM6MTE4NworIzogd3Qtc3RhdHVzLmM6MTIzNQogbXNnaWQgIkhFQUQgZGV0YWNoZWQgYXQgIgogbXNnc3RyICJIRUFEIGxvc2dlbMO2c3QgYmVpICIKIAotIzogd3Qtc3RhdHVzLmM6MTE4OQorIzogd3Qtc3RhdHVzLmM6MTIzNwogbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCiBtc2dzdHIgIkhFQUQgbG9zZ2Vsw7ZzdCB2b24gIgogCi0jOiB3dC1zdGF0dXMuYzoxMTkyCisjOiB3dC1zdGF0dXMuYzoxMjQwCiBtc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiSW0gTW9tZW50IGF1ZiBrZWluZW0gQnJhbmNoLiIKIAotIzogd3Qtc3RhdHVzLmM6MTIwOQorIzogd3Qtc3RhdHVzLmM6MTI1NwogbXNnaWQgIkluaXRpYWwgY29tbWl0IgogbXNnc3RyICJJbml0aWFsZXIgQ29tbWl0IgogCi0jOiB3dC1zdGF0dXMuYzoxMjIzCisjOiB3dC1zdGF0dXMuYzoxMjcxCiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJVbmJlb2JhY2h0ZXRlIERhdGVpZW4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjUKKyM6IHd0LXN0YXR1cy5jOjEyNzMKIG1zZ2lkICJJZ25vcmVkIGZpbGVzIgogbXNnc3RyICJJZ25vcmllcnRlIERhdGVpZW4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjkKKyM6IHd0LXN0YXR1cy5jOjEyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGVudW1lcmF0ZSB1bnRyYWNrZWQgZmlsZXMuICdzdGF0dXMgLXVubydcbiIKQEAgLTE2NDQsMzIgKzE4MDcsMzIgQEAKICInc3RhdHVzIC11bm8nIGvDtm5udGUgZGFzIGJlc2NobGV1bmlnZW4sIGFiZXIgU2llIG3DvHNzZW4gZGFyYXVmIGFjaHRlbixcbiIKICJuZXVlIERhdGVpZW4gc2VsYnN0c3TDpG5kaWcgaGluenV6dWbDvGdlbiAoc2llaGUgJ2dpdCBoZWxwIHN0YXR1cycpLiIKIAotIzogd3Qtc3RhdHVzLmM6MTIzNQorIzogd3Qtc3RhdHVzLmM6MTI4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIgogbXNnc3RyICJVbmJlb2JhY2h0ZXRlIERhdGVpZW4gbmljaHQgYXVmZ2VsaXN0ZXQlcyIKIAotIzogd3Qtc3RhdHVzLmM6MTIzNworIzogd3Qtc3RhdHVzLmM6MTI4NQogbXNnaWQgIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCiBtc2dzdHIgIiAoYmVudXR6ZW4gU2llIGRpZSBPcHRpb24gLXUgdW0gdW5iZW9iYWNodGV0ZW4gRGF0ZWllbiBhbnp1emVpZ2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI0MworIzogd3Qtc3RhdHVzLmM6MTI5MQogbXNnaWQgIk5vIGNoYW5nZXMiCiBtc2dzdHIgIktlaW5lIMOEbmRlcnVuZ2VuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQ4CisjOiB3dC1zdGF0dXMuYzoxMjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgXCJnaXQgYWRkXCIgYW5kL29yIFwiZ2l0IGNvbW1pdCAtYVwiKVxuIgogbXNnc3RyICIiCiAia2VpbmUgw4RuZGVydW5nZW4genVtIENvbW1pdCB2b3JnZW1lcmt0IChiZW51dHplbiBTaWUgXCJnaXQgYWRkXCIgdW5kL29kZXIgIgogIlwiZ2l0IGNvbW1pdCAtYVwiKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjUxCisjOiB3dC1zdGF0dXMuYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgImtlaW5lIMOEbmRlcnVuZ2VuIHp1bSBDb21taXQgdm9yZ2VtZXJrdFxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjU0CisjOiB3dC1zdGF0dXMuYzoxMzAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnQgKHVzZSBcImdpdCBhZGRcIiB0byAiCkBAIC0xNjc4LDU2ICsxODQxLDYwIEBACiAibmljaHRzIHp1bSBDb21taXQgdm9yZ2VtZXJrdCwgYWJlciBlcyBnaWJ0IHVuYmVvYmFjaHRldGUgRGF0ZWllbiAoYmVudXR6ZW4gIgogIlNpZSBcImdpdCBhZGRcIiB6dW0gQmVvYmFjaHRlbilcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NworIzogd3Qtc3RhdHVzLmM6MTMwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnRcbiIKIG1zZ3N0ciAibmljaHRzIHp1bSBDb21taXQgdm9yZ2VtZXJrdCwgYWJlciBlcyBnaWJ0IHVuYmVvYmFjaHRldGUgRGF0ZWllblxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYwCisjOiB3dC1zdGF0dXMuYzoxMzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0IChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIgogbXNnc3RyICIiCiAibmljaHRzIHp1IGNvbW1pdHRlbiAoRXJzdGVsbGVuL0tvcGllcmVuIFNpZSBEYXRlaWVuIHVuZCBiZW51dHplbiBTaWUgXCJnaXQgIgogImFkZFwiIHp1bSBCZW9iYWNodGVuKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYzIHd0LXN0YXR1cy5jOjEyNjgKKyM6IHd0LXN0YXR1cy5jOjEzMTEgd3Qtc3RhdHVzLmM6MTMxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICJuaWNodHMgenUgY29tbWl0dGVuXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjYKKyM6IHd0LXN0YXR1cy5jOjEzMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAiIgogIm5pY2h0cyB6dSBjb21taXR0ZW4gKGJlbnV0emVuIFNpZSBkaWUgT3B0aW9uIC11LCB1bSB1bmJlb2JhY2h0ZXRlIERhdGVpZW4gIgogImFuenV6ZWlnZW4pXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNzAKKyM6IHd0LXN0YXR1cy5jOjEzMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgZGlyZWN0b3J5IGNsZWFuXG4iCiBtc2dzdHIgIm5pY2h0cyB6dSBjb21taXR0ZW4sIEFyYmVpdHN2ZXJ6ZWljaG5pcyB1bnZlcsOkbmRlcnRcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTM3OAorIzogd3Qtc3RhdHVzLmM6MTQyNwogbXNnaWQgIkhFQUQgKG5vIGJyYW5jaCkiCiBtc2dzdHIgIkhFQUQgKGtlaW4gQnJhbmNoKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM4NAorIzogd3Qtc3RhdHVzLmM6MTQzMwogbXNnaWQgIkluaXRpYWwgY29tbWl0IG9uICIKIG1zZ3N0ciAiSW5pdGlhbGVyIENvbW1pdCBhdWYgIgogCi0jOiB3dC1zdGF0dXMuYzoxMzk5CisjOiB3dC1zdGF0dXMuYzoxNDYzCittc2dpZCAiZ29uZSIKK21zZ3N0ciAiZW50ZmVybnQiCisKKyM6IHd0LXN0YXR1cy5jOjE0NjUKIG1zZ2lkICJiZWhpbmQgIgogbXNnc3RyICJoaW50ZXJoZXIgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDAyIHd0LXN0YXR1cy5jOjE0MDUKKyM6IHd0LXN0YXR1cy5jOjE0Njggd3Qtc3RhdHVzLmM6MTQ3MQogbXNnaWQgImFoZWFkICIKIG1zZ3N0ciAidm9yYXVzICIKIAotIzogd3Qtc3RhdHVzLmM6MTQwNworIzogd3Qtc3RhdHVzLmM6MTQ3MwogbXNnaWQgIiwgYmVoaW5kICIKIG1zZ3N0ciAiLCBoaW50ZXJoZXIgIgogCi0jOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTggYnVpbHRpbi9jbG9uZS5jOjM1MQorIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU1IGJ1aWx0aW4vY2xvbmUuYzozNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHVubGluayAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBlbnRmZXJuZW4uIgpAQCAtMTgxMyw3ICsxOTgwLDcgQEAKIG1zZ2lkICJ1bmV4cGVjdGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICJ1bmVyd2FydGV0ZXIgRGlmZmVyZW56LVN0YXR1cyAlYyIKIAotIzogYnVpbHRpbi9hZGQuYzoxNDkgYnVpbHRpbi9jb21taXQuYzoyNTIKKyM6IGJ1aWx0aW4vYWRkLmM6MTQ5IGJ1aWx0aW4vY29tbWl0LmM6MjYwCiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICJBa3R1YWxpc2llcnVuZyBkZXIgRGF0ZWllbiBmZWhsZ2VzY2hsYWdlbiIKIApAQCAtMTgyMiwxNDcgKzE5ODksMTQyIEBACiBtc2dpZCAicmVtb3ZlICclcydcbiIKIG1zZ3N0ciAibMO2c2NoZSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjUzCisjOiBidWlsdGluL2FkZC5jOjIzNwogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVmcmVzaGluZyB0aGUgaW5kZXg6IgogbXNnc3RyICIiCiAiTmljaHQgenVtIENvbW1pdCB2b3JnZW1lcmt0ZSDDhG5kZXJ1bmdlbiBuYWNoIEFrdHVhbGlzaWVydW5nIGRlciBTdGFnaW5nLUFyZWE6IgogCi0jOiBidWlsdGluL2FkZC5jOjI1NiBidWlsdGluL2FkZC5jOjU3MyBidWlsdGluL3JtLmM6MzM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiCi1tc2dzdHIgIlBmYWRzcGV6aWZpa2F0aW9uICclcycgc3RpbW10IG1pdCBrZWluZW4gRGF0ZWllbiDDvGJlcmVpbiIKLQotIzogYnVpbHRpbi9hZGQuYzozMzkKKyM6IGJ1aWx0aW4vYWRkLmM6Mjk5CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJLb25udGUgZGllIFN0YWdpbmctQXJlYSBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTAKKyM6IGJ1aWx0aW4vYWRkLmM6MzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmcuIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCB6dW0gU2NocmVpYmVuIMO2ZmZuZW4uIgogCi0jOiBidWlsdGluL2FkZC5jOjM1NAorIzogYnVpbHRpbi9hZGQuYzozMTQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgIktvbm50ZSBQYXRjaCBuaWNodCBzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzU5CisjOiBidWlsdGluL2FkZC5jOjMxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJLb25udGUgVmVyemVpY2huaXMgJyVzJyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9hZGQuYzozNjEKKyM6IGJ1aWx0aW4vYWRkLmM6MzIxCiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICJMZWVyZXIgUGF0Y2guIEFiZ2Vicm9jaGVuLiIKIAotIzogYnVpbHRpbi9hZGQuYzozNjcKKyM6IGJ1aWx0aW4vYWRkLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBhbndlbmRlbi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzc3CisjOiBidWlsdGluL2FkZC5jOjMzNwogbXNnaWQgIlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKIG1zZ3N0ciAiIgogIkRpZSBmb2xnZW5kZW4gUGZhZGUgd2VyZGVuIGR1cmNoIGVpbmUgSWhyZXIgXCIuZ2l0aWdub3JlXCIgRGF0ZWllbiAiCiAiaWdub3JpZXJ0OlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjM5NCBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZmV0Y2guYzo3OCBidWlsdGluL212LmM6NjMKLSM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzMgYnVpbHRpbi9wdXNoLmM6NDUxIGJ1aWx0aW4vcmVtb3RlLmM6MTI1MwotIzogYnVpbHRpbi9ybS5jOjI2OAorIzogYnVpbHRpbi9hZGQuYzozNTQgYnVpbHRpbi9jbGVhbi5jOjg3NSBidWlsdGluL2ZldGNoLmM6OTIgYnVpbHRpbi9tdi5jOjY2CisjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjczIGJ1aWx0aW4vcHVzaC5jOjQ1OSBidWlsdGluL3JlbW90ZS5jOjEyNTMKKyM6IGJ1aWx0aW4vcm0uYzoyNjkKIG1zZ2lkICJkcnkgcnVuIgogbXNnc3RyICJQcm9iZWxhdWYiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzk1IGJ1aWx0aW4vYXBwbHkuYzo0NDEwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyMCBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NSBidWlsdGluL2ZzY2suYzo2MTMKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3MyBidWlsdGluL212LmM6NjIgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTMKKyM6IGJ1aWx0aW4vYWRkLmM6MzU1IGJ1aWx0aW4vYXBwbHkuYzo0NDEwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI0OSBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NSBidWlsdGluL2ZzY2suYzo2MTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5MiBidWlsdGluL212LmM6NjUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTMKIG1zZ2lkICJiZSB2ZXJib3NlIgogbXNnc3RyICJlcndlaXRlcnRlIEF1c2dhYmVuIgogCi0jOiBidWlsdGluL2FkZC5jOjM5NworIzogYnVpbHRpbi9hZGQuYzozNTcKIG1zZ2lkICJpbnRlcmFjdGl2ZSBwaWNraW5nIgogbXNnc3RyICJpbnRlcmFrdGl2ZXMgQXVzd8OkaGxlbiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTggYnVpbHRpbi9jaGVja291dC5jOjEwNzMgYnVpbHRpbi9yZXNldC5jOjI2MQorIzogYnVpbHRpbi9hZGQuYzozNTggYnVpbHRpbi9jaGVja291dC5jOjExMDkgYnVpbHRpbi9yZXNldC5jOjI3MgogbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICJCbMO2Y2tlIGludGVyYWt0aXYgYXVzd8OkaGxlbiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTkKKyM6IGJ1aWx0aW4vYWRkLmM6MzU5CiBtc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgogbXNnc3RyICJha3R1ZWxsZSBVbnRlcnNjaGllZGUgZWRpdGllcmVuIHVuZCBhbndlbmRlbiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDAKKyM6IGJ1aWx0aW4vYWRkLmM6MzYwCiBtc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJlcmxhdWJ0IGRhcyBIaW56dWbDvGdlbiBhbmRlcm5mYWxscyBpZ25vcmllcnRlciBEYXRlaWVuIgogCi0jOiBidWlsdGluL2FkZC5jOjQwMQorIzogYnVpbHRpbi9hZGQuYzozNjEKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiYWt0dWFsaXNpZXJ0IGJlb2JhY2h0ZXRlIERhdGVpZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAyCisjOiBidWlsdGluL2FkZC5jOjM2MgogbXNnaWQgInJlY29yZCBvbmx5IHRoZSBmYWN0IHRoYXQgdGhlIHBhdGggd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAic3BlaWNoZXJ0IG51ciwgZGFzcyBkZXIgUGZhZCBzcMOkdGVyIGhpbnp1Z2Vmw7xndCB3ZXJkZW4gc29sbCIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDMKKyM6IGJ1aWx0aW4vYWRkLmM6MzYzCiBtc2dpZCAiYWRkIGNoYW5nZXMgZnJvbSBhbGwgdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICIiCiAiZsO8Z3Qgw4RuZGVydW5nZW4gdm9uIGFsbGVuIGJlb2JhY2h0ZXRlbiB1bmQgdW5iZW9iYWNodGV0ZW4gRGF0ZWllbiBoaW56dSIKIAogIy4gdGFrZXMgbm8gYXJndW1lbnRzCi0jOiBidWlsdGluL2FkZC5jOjQwNgorIzogYnVpbHRpbi9hZGQuYzozNjYKIG1zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKIG1zZ3N0ciAiaWdub3JpZXJ0IGdlbMO2c2NodGUgUGZhZGUgaW0gQXJiZWl0c3ZlcnplaWNobmlzIChnZW5hdSB3aWUgLS1uby1hbGwpIgogCi0jOiBidWlsdGluL2FkZC5jOjQwOAorIzogYnVpbHRpbi9hZGQuYzozNjgKIG1zZ2lkICJkb24ndCBhZGQsIG9ubHkgcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgImbDvGd0IG5pY2h0cyBoaW56dSwgYWt0dWFsaXNpZXJ0IG51ciBkaWUgU3RhZ2luZy1BcmVhIgogCi0jOiBidWlsdGluL2FkZC5jOjQwOQorIzogYnVpbHRpbi9hZGQuYzozNjkKIG1zZ2lkICJqdXN0IHNraXAgZmlsZXMgd2hpY2ggY2Fubm90IGJlIGFkZGVkIGJlY2F1c2Ugb2YgZXJyb3JzIgogbXNnc3RyICIiCiAiw7xiZXJzcHJpbmd0IERhdGVpZW4sIGRpZSBhdWZncnVuZCB2b24gRmVobGVybiBuaWNodCBoaW56dWdlZsO8Z3Qgd2VyZGVuICIKICJrb25udGVuIgogCi0jOiBidWlsdGluL2FkZC5jOjQxMAorIzogYnVpbHRpbi9hZGQuYzozNzAKIG1zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCiBtc2dzdHIgInByw7xmdCBvYiAtIGF1Y2ggZmVobGVuZGUgLSBEYXRlaWVuIGltIFByb2JlbGF1ZiBpZ25vcmllcnQgd2VyZGVuIgogCi0jOiBidWlsdGluL2FkZC5jOjQzMgorIzogYnVpbHRpbi9hZGQuYzozOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKIG1zZ3N0ciAiVmVyd2VuZGVuIFNpZSAtZiB3ZW5uIFNpZSBkaWVzZSB3aXJrbGljaCBoaW56dWbDvGdlbiBtw7ZjaHRlbi5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzMKKyM6IGJ1aWx0aW4vYWRkLmM6MzkzCiBtc2dpZCAibm8gZmlsZXMgYWRkZWQiCiBtc2dzdHIgImtlaW5lIERhdGVpZW4gaGluenVnZWbDvGd0IgogCi0jOiBidWlsdGluL2FkZC5jOjQzOQorIzogYnVpbHRpbi9hZGQuYzozOTkKIG1zZ2lkICJhZGRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICJIaW56dWbDvGdlbiB2b24gRGF0ZWllbiBmZWhsZ2VzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9hZGQuYzo0NzgKKyM6IGJ1aWx0aW4vYWRkLmM6NDM4CiBtc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIkRpZSBPcHRpb25lbiAtQSB1bmQgLXUgc2luZCB6dWVpbmFuZGVyIGlua29tcGF0aWJlbC4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDk2CisjOiBidWlsdGluL2FkZC5jOjQ1NgogbXNnaWQgIk9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWRyeS1ydW4iCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uIC0taWdub3JlLW1pc3Npbmcga2FubiBudXIgenVzYW1tZW4gbWl0IC0tZHJ5LXJ1biB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9hZGQuYzo1MjYKKyM6IGJ1aWx0aW4vYWRkLmM6NDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdGhpbmcgc3BlY2lmaWVkLCBub3RoaW5nIGFkZGVkLlxuIgogbXNnc3RyICJOaWNodHMgc3BlemlmaXppZXJ0LCBuaWNodHMgaGluenVnZWbDvGd0LlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjUyNworIzogYnVpbHRpbi9hZGQuYzo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWF5YmUgeW91IHdhbnRlZCB0byBzYXkgJ2dpdCBhZGQgLic/XG4iCiBtc2dzdHIgIldvbGx0ZW4gU2llIHZpZWxsZWljaHQgJ2dpdCBhZGQgLicgc2FnZW4/XG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NTMzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYxIGJ1aWx0aW4vY2xlYW4uYzo5MTkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzEyIGJ1aWx0aW4vbXYuYzo4MiBidWlsdGluL3JtLmM6Mjk3CisjOiBidWlsdGluL2FkZC5jOjQ5MiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NsZWFuLmM6OTE5CisjOiBidWlsdGluL2NvbW1pdC5jOjMyMCBidWlsdGluL212LmM6ODYgYnVpbHRpbi9yZXNldC5jOjIyNCBidWlsdGluL3JtLmM6Mjk5CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICJTdGFnaW5nLUFyZWEtRGF0ZWkgYmVzY2jDpGRpZ3QiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NjA1IGJ1aWx0aW4vYXBwbHkuYzo0NTA2IGJ1aWx0aW4vbXYuYzoyMjkgYnVpbHRpbi9ybS5jOjQzMgorIzogYnVpbHRpbi9hZGQuYzo1ODkgYnVpbHRpbi9hcHBseS5jOjQ1MDYgYnVpbHRpbi9tdi5jOjI1OSBidWlsdGluL3JtLmM6NDMyCiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJLb25udGUgbmV1ZSBTdGFnaW5nLUFyZWEtRGF0ZWkgbmljaHQgc2NocmVpYmVuLiIKIApAQCAtMjIyMCw3ICsyMzgyLDcgQEAKIG1zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKIG1zZ3N0ciAiUHLDvGZlIFBhdGNoICVzLi4uIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MzY4MCBidWlsdGluL2NoZWNrb3V0LmM6MjE2IGJ1aWx0aW4vcmVzZXQuYzoxMjcKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNjgwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTMgYnVpbHRpbi9yZXNldC5jOjEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICJtYWtlX2NhY2hlX2VudHJ5IGbDvHIgUGZhZCAnJXMnIGZlaGxnZXNjaGxhZ2VuIgpAQCAtMjMwMCw4ICsyNDYyLDggQEAKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgogbXNnc3RyICJLb25udGUgU3RhZ2luZy1BcmVhLURhdGVpIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM1NyBidWlsdGluL2FwcGx5LmM6NDM2MCBidWlsdGluL2Nsb25lLmM6OTEKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MworIzogYnVpbHRpbi9hcHBseS5jOjQzNTcgYnVpbHRpbi9hcHBseS5jOjQzNjAgYnVpbHRpbi9jbG9uZS5jOjkwCisjOiBidWlsdGluL2ZldGNoLmM6NzcKIG1zZ2lkICJwYXRoIgogbXNnc3RyICJQZmFkIgogCkBAIC0yMzc0LDcgKzI1MzYsNyBAQAogImVyc3RlbGx0IGVpbmUgdGVtcG9yw6RyZSBTdGFnaW5nLUFyZWEgYmFzaWVyZW5kIGF1ZiBkZW4gaW50ZWdyaWVydGVuIFN0YWdpbmctIgogIkFyZWEtSW5mb3JtYXRpb25lbiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzODkgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE5NyBidWlsdGluL2xzLWZpbGVzLmM6NDYyCisjOiBidWlsdGluL2FwcGx5LmM6NDM4OSBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTk3IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTIKIG1zZ2lkICJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAiUGZhZGUgc2luZCBnZXRyZW5udCBkdXJjaCBOVUwgWmVpY2hlbiIKIApAQCAtMjUwOCwxMDQgKzI2NzAsMTA0IEBACiBtc2dpZCAidXBkYXRlIEJJU0VDVF9IRUFEIGluc3RlYWQgb2YgY2hlY2tpbmcgb3V0IHRoZSBjdXJyZW50IGNvbW1pdCIKIG1zZ3N0ciAiYWt0dWFsaXNpZXJ0IEJJU0VDVF9IRUFELCBhbnN0YXR0IGRlbiBha3R1ZWxsZW4gQ29tbWl0IGF1c3p1Y2hlY2tlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2CisjOiBidWlsdGluL2JsYW1lLmM6MjcKIG1zZ2lkICJnaXQgYmxhbWUgW29wdGlvbnNdIFtyZXYtb3B0c10gW3Jldl0gWy0tXSBmaWxlIgogbXNnc3RyICJnaXQgYmxhbWUgW09wdGlvbmVuXSBbcmV2LW9wdHNdIFtyZXZdIFstLV0gRGF0ZWkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzozMQorIzogYnVpbHRpbi9ibGFtZS5jOjMyCiBtc2dpZCAiW3Jldi1vcHRzXSBhcmUgZG9jdW1lbnRlZCBpbiBnaXQtcmV2LWxpc3QoMSkiCiBtc2dzdHIgIltyZXYtb3B0c10gc2luZCBkb2t1bWVudGllcnQgaW4gZ2l0LXJldi1saXN0KDEpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI3NgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNDgKIG1zZ2lkICJTaG93IGJsYW1lIGVudHJpZXMgYXMgd2UgZmluZCB0aGVtLCBpbmNyZW1lbnRhbGx5IgogbXNnc3RyICJaZWlndCBcImJsYW1lXCItRWludHLDpGdlIHNjaHJpdHR3ZWlzZSwgd8OkaHJlbmQgd2lyIHNpZSBnZW5lcmllcmVuIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI3NworIzogYnVpbHRpbi9ibGFtZS5jOjIyNDkKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJaZWlndCBsZWVyZSBTSEEtMSBmw7xyIEdyZW56LUNvbW1pdHMgKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI3OAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTAKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkJlaGFuZGVsdCBVcnNwcnVuZ3MtQ29tbWl0IG5pY2h0IGFscyBHcmVuemVuIChTdGFuZGFyZDogYXVzKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyNzkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjUxCiBtc2dpZCAiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIKIG1zZ3N0ciAiWmVpZ3QgU3RhdGlzdGlrZW4genVtIEFyYmVpdHNhdWZ3YW5kIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4MAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTIKIG1zZ2lkICJTaG93IG91dHB1dCBzY29yZSBmb3IgYmxhbWUgZW50cmllcyIKIG1zZ3N0ciAiWmVpZ3QgQXVzZ2FiZWJld2VydHVuZyBmw7xyIFwiYmxhbWVcIi1FaW50csOkZ2UiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgxCisjOiBidWlsdGluL2JsYW1lLmM6MjI1MwogbXNnaWQgIlNob3cgb3JpZ2luYWwgZmlsZW5hbWUgKERlZmF1bHQ6IGF1dG8pIgogbXNnc3RyICJaZWlndCB1cnNwcsO8bmdsaWNoZW4gRGF0ZWluYW1lbiAoU3RhbmRhcmQ6IGF1dG8pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4MgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTQKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlplaWd0IHVyc3Byw7xuZ2xpY2hlIFplaWxlbm51bW1lciAoU3RhbmRhcmQ6IGF1cykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgzCisjOiBidWlsdGluL2JsYW1lLmM6MjI1NQogbXNnaWQgIlNob3cgaW4gYSBmb3JtYXQgZGVzaWduZWQgZm9yIG1hY2hpbmUgY29uc3VtcHRpb24iCiBtc2dzdHIgIkFuemVpZ2UgaW4gZWluZW0gRm9ybWF0IGbDvHIgbWFzY2hpbmVsbGUgQXVzd2VydHVuZyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU2CiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICIiCiAiQW56ZWlnZSBpbiBGb3JtYXQgZsO8ciBGcmVtZHByb2dyYW1tZSBtaXQgQ29tbWl0LUluZm9ybWF0aW9uZW4gcHJvIFplaWxlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTcKIG1zZ2lkICJVc2UgdGhlIHNhbWUgb3V0cHV0IG1vZGUgYXMgZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJCZW51dHp0IGRlbiBnbGVpY2hlbiBBdXNnYWJlbW9kdXMgd2llIFwiZ2l0LWFubm90YXRlXCIgKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4NgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTgKIG1zZ2lkICJTaG93IHJhdyB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlplaWd0IHVuYmVhcmJlaXRldGVuIFplaXRzdGVtcGVsIChTdGFuZGFyZDogYXVzKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODcKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU5CiBtc2dpZCAiU2hvdyBsb25nIGNvbW1pdCBTSEExIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJaZWlndCBsYW5nZW4gQ29tbWl0LVNIQTEgKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4OAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjAKIG1zZ2lkICJTdXBwcmVzcyBhdXRob3IgbmFtZSBhbmQgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJVbnRlcmRyw7xja3QgZGVuIE5hbWVuIGRlcyBBdXRvcnMgdW5kIGRlbiBaZWl0c3RlbXBlbCAoU3RhbmRhcmQ6IGF1cykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg5CisjOiBidWlsdGluL2JsYW1lLmM6MjI2MQogbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiWmVpZ3QgYW5zdGF0dCBkZXMgTmFtZW5zIGRpZSBFbWFpbC1BZHJlc3NlIGRlcyBBdXRvcnMgKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5MAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjIKIG1zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKIG1zZ3N0ciAiSWdub3JpZXJ0IFVudGVyc2NoaWVkZSBpbSBXaGl0ZXNwYWNlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5MQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjMKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgImFyYmVpdGUgbMOkbmdlciwgdW0gYmVzc2VyZSDDnGJlcmVpbnN0aW1tdW5nZW4genUgZmluZGVuIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5MgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjQKIG1zZ2lkICJVc2UgcmV2aXNpb25zIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgY2FsbGluZyBnaXQtcmV2LWxpc3QiCiBtc2dzdHIgIkJlbnV0enQgQ29tbWl0cyB2b24gPERhdGVpPiBhbnN0YXR0IFwiZ2l0LXJldi1saXN0XCIgYXVmenVydWZlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY1CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAiQmVudXR6dCBJbmhhbHRlIGRlciA8RGF0ZWk+ZW4gYWxzIGVudGfDvGx0aWdlcyBBYmJpbGQiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjk0IGJ1aWx0aW4vYmxhbWUuYzoyMjk1CisjOiBidWlsdGluL2JsYW1lLmM6MjI2NiBidWlsdGluL2JsYW1lLmM6MjI2NwogbXNnaWQgInNjb3JlIgogbXNnc3RyICJCZXdlcnR1bmciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjk0CisjOiBidWlsdGluL2JsYW1lLmM6MjI2NgogbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIkZpbmRldCBrb3BpZXJ0ZSBaZWlsZW4gaW5uZXJoYWxiIG9kZXIgendpc2NoZW4gRGF0ZWllbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY3CiBtc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiRmluZGV0IHZlcnNjaG9iZW5lIFplaWxlbiBpbm5lcmhhbGIgb2RlciB6d2lzY2hlbiBEYXRlaWVuIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjgKIG1zZ2lkICJuLG0iCiBtc2dzdHIgIm4sbSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY4CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIlZlcmFyYmVpdGV0IG51ciBaZWlsZW4gaW0gQmVyZWljaCBuLG0sIGdlesOkaGx0IHZvbiAxIgogCkBAIC0yNzEzLDI0MCArMjg3NSwyNTAgQEAKIAogIzogYnVpbHRpbi9icmFuY2guYzo0NTMKICMsIGMtZm9ybWF0Cittc2dpZCAiWyVzOiBnb25lXSIKK21zZ3N0ciAiWyVzOiBlbnRmZXJudF0iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlslc10iCittc2dzdHIgIlslc10iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU5CisjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYmVoaW5kICVkXSIKIG1zZ3N0ciAiWyVzOiAlZCBoaW50ZXJoZXJdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ1NQorIzogYnVpbHRpbi9icmFuY2guYzo0NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2JlaGluZCAlZF0iCiBtc2dzdHIgIlslZCBoaW50ZXJoZXJdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ1OQorIzogYnVpbHRpbi9icmFuY2guYzo0NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBhaGVhZCAlZF0iCiBtc2dzdHIgIlslczogJWQgdm9yYXVzXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlthaGVhZCAlZF0iCiBtc2dzdHIgIlslZCB2b3JhdXNdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ2NAorIzogYnVpbHRpbi9icmFuY2guYzo0NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBhaGVhZCAlZCwgYmVoaW5kICVkXSIKIG1zZ3N0ciAiWyVzOiAlZCB2b3JhdXMsICVkIGhpbnRlcmhlcl0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY3CisjOiBidWlsdGluL2JyYW5jaC5jOjQ3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIlslZCB2b3JhdXMsICVkIGhpbnRlcmhlcl0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDkwCisjOiBidWlsdGluL2JyYW5jaC5jOjQ5NgogbXNnaWQgIiAqKioqIGludmFsaWQgcmVmICoqKioiCiBtc2dzdHIgIiAqKioqIHVuZ8O8bHRpZ2UgUmVmZXJlbnogKioqKiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKIG1zZ3N0ciAiKGtlaW4gQnJhbmNoLCBSZWJhc2Ugdm9uIEJyYW5jaCAlcyBpbSBHYW5nZSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg1CisjOiBidWlsdGluL2JyYW5jaC5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCiBtc2dzdHIgIihrZWluIEJyYW5jaCwgYmluw6RyZSBTdWNoZSBiZWdvbm5lbiBiZWkgJXMpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4OAorIzogYnVpbHRpbi9icmFuY2guYzo1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiKGRldGFjaGVkIGZyb20gJXMpIgogbXNnc3RyICIobG9zZ2Vsw7ZzdCB2b24gJXMpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5MQorIzogYnVpbHRpbi9icmFuY2guYzo1OTcKIG1zZ2lkICIobm8gYnJhbmNoKSIKIG1zZ3N0ciAiKGtlaW4gQnJhbmNoKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAnJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgY29tbWl0IgogbXNnc3RyICJPYmpla3QgJyVzJyB6ZWlndCBhdWYga2VpbmVuIENvbW1pdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc1CiBtc2dpZCAic29tZSByZWZzIGNvdWxkIG5vdCBiZSByZWFkIgogbXNnc3RyICJLb25udGUgZWluaWdlIFJlZmVyZW56ZW4gbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjgyCisjOiBidWlsdGluL2JyYW5jaC5jOjY4OAogbXNnaWQgImNhbm5vdCByZW5hbWUgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgogbXNnc3RyICIiCiAiS2FubiBha3R1ZWxsZW4gQnJhbmNoIG5pY2h0IHVtYmVuZW5uZW4sIHNvbGFuZ2UgU2llIHNpY2ggYXVmIGtlaW5lbSBiZWZpbmRlbi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjkyCisjOiBidWlsdGluL2JyYW5jaC5jOjY5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGJyYW5jaCBuYW1lOiAnJXMnIgogbXNnc3RyICJVbmfDvGx0aWdlciBCcmFuY2huYW1lOiAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcwNworIzogYnVpbHRpbi9icmFuY2guYzo3MTMKIG1zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKIG1zZ3N0ciAiVW1iZW5lbm51bmcgZGVzIEJyYW5jaGVzIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcxMQorIzogYnVpbHRpbi9icmFuY2guYzo3MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1lZCBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIGF3YXkiCiBtc2dzdHIgImZhbHNjaCBiZW5hbm50ZW4gQnJhbmNoICclcycgdW1iZW5hbm50IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcxNQorIzogYnVpbHRpbi9icmFuY2guYzo3MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoIHJlbmFtZWQgdG8gJXMsIGJ1dCBIRUFEIGlzIG5vdCB1cGRhdGVkISIKIG1zZ3N0ciAiQnJhbmNoIHVtYmVuYW5udCB6dSAlcywgYWJlciBIRUFEIGlzdCBuaWNodCBha3R1YWxpc2llcnQhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcyMgorIzogYnVpbHRpbi9icmFuY2guYzo3MjgKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIiIKICJCcmFuY2ggaXN0IHVtYmVuYW5udCwgYWJlciBkaWUgQWt0dWFsaXNpZXJ1bmcgZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgaXN0ICIKICJmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzM3CisjOiBidWlsdGluL2JyYW5jaC5jOjc0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgIk1pc3NnZWJpbGRldGVyIE9iamVrdG5hbWUgJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzYxCisjOiBidWlsdGluL2JyYW5jaC5jOjc2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgYnJhbmNoIGRlc2NyaXB0aW9uIHRlbXBsYXRlOiAlcyIKIG1zZ3N0ciAiS29ubnRlIEJlc2NocmVpYnVuZ3N2b3JsYWdlIGbDvHIgQnJhbmNoIG5pY2h0IHNjaHJlaWJlbjogJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkxCisjOiBidWlsdGluL2JyYW5jaC5jOjc5NwogbXNnaWQgIkdlbmVyaWMgb3B0aW9ucyIKIG1zZ3N0ciAiQWxsZ2VtZWluZSBPcHRpb25lbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk5CiBtc2dpZCAic2hvdyBoYXNoIGFuZCBzdWJqZWN0LCBnaXZlIHR3aWNlIGZvciB1cHN0cmVhbSBicmFuY2giCiBtc2dzdHIgIlplaWd0IEhhc2ggdW5kIEJldHJlZmY7IC12djogenVzw6R0emxpY2ggVXBzdHJlYW0tQnJhbmNoIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NAorIzogYnVpbHRpbi9icmFuY2guYzo4MDAKIG1zZ2lkICJzdXBwcmVzcyBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzIgogbXNnc3RyICJ1bnRlcmRyw7xja3QgSW5mb3JtYXRpb25zbWVsZHVuZ2VuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NQorIzogYnVpbHRpbi9icmFuY2guYzo4MDEKIG1zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKIG1zZ3N0ciAic3RlbGx0IGRlbiDDnGJlcm5haG1lbW9kdXMgZWluIChzaWVoZSBnaXQtcHVsbCgxKSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk3CisjOiBidWlsdGluL2JyYW5jaC5jOjgwMwogbXNnaWQgImNoYW5nZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICLDpG5kZXJ0IEluZm9ybWF0aW9uZW4genVtIFVwc3RyZWFtLUJyYW5jaCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA3CiBtc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgogbXNnc3RyICJ2ZXJ3ZW5kZXQgZmFyYmxpY2hlIEF1c2dhYmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwMgorIzogYnVpbHRpbi9icmFuY2guYzo4MDgKIG1zZ2lkICJhY3Qgb24gcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICJ3aXJrdCBhdWYgUmVtb3RlLVRyYWNraW5nLUJyYW5jaGVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwNSBidWlsdGluL2JyYW5jaC5jOjgxMSBidWlsdGluL2JyYW5jaC5jOjgzMgotIzogYnVpbHRpbi9icmFuY2guYzo4MzggYnVpbHRpbi9jb21taXQuYzoxNDMzIGJ1aWx0aW4vY29tbWl0LmM6MTQzNAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM1IGJ1aWx0aW4vY29tbWl0LmM6MTQzNiBidWlsdGluL3RhZy5jOjQ2OAorIzogYnVpbHRpbi9icmFuY2guYzo4MTEgYnVpbHRpbi9icmFuY2guYzo4MTcgYnVpbHRpbi9icmFuY2guYzo4MzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ0IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MCBidWlsdGluL2NvbW1pdC5jOjE0NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MiBidWlsdGluL2NvbW1pdC5jOjE0NjMgYnVpbHRpbi90YWcuYzo0NjgKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgIkNvbW1pdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDYgYnVpbHRpbi9icmFuY2guYzo4MTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODEyIGJ1aWx0aW4vYnJhbmNoLmM6ODE4CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAiZ2lidCBudXIgQnJhbmNoZXMgYXVzLCB3ZWxjaGUgZGllc2VuIENvbW1pdCBiZWluaGFsdGVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgxOAorIzogYnVpbHRpbi9icmFuY2guYzo4MjQKIG1zZ2lkICJTcGVjaWZpYyBnaXQtYnJhbmNoIGFjdGlvbnM6IgogbXNnc3RyICJzcGV6aWZpc2NoZSBBa3Rpb25lbiBmw7xyIFwiZ2l0LWJyYW5jaFwiOiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI1CiBtc2dpZCAibGlzdCBib3RoIHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgImxpc3RldCBSZW1vdGUtVHJhY2tpbmcgdW5kIGxva2FsZSBCcmFuY2hlcyBhdWYiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIxCisjOiBidWlsdGluL2JyYW5jaC5jOjgyNwogbXNnaWQgImRlbGV0ZSBmdWxseSBtZXJnZWQgYnJhbmNoIgogbXNnc3RyICJlbnRmZXJudCB2b2xsc3TDpG5kaWcgenVzYW1tZW5nZWbDvGhydGVuIEJyYW5jaCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI4CiBtc2dpZCAiZGVsZXRlIGJyYW5jaCAoZXZlbiBpZiBub3QgbWVyZ2VkKSIKIG1zZ3N0ciAibMO2c2NodCBCcmFuY2ggKGF1Y2ggd2VubiBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0KSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI5CiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCiBtc2dzdHIgInZlcnNjaGllYnQvYmVuZW5udCBlaW5lbiBCcmFuY2ggdW5kIGRlc3NlbiBSZWZsb2cgdW0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI0CisjOiBidWlsdGluL2JyYW5jaC5jOjgzMAogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgIiIKICJ2ZXJzY2hpZWJ0L2JlbmVubnQgZWluZW4gQnJhbmNoIHVtLCBhdWNoIHdlbm4gZGFzIFppZWwgYmVyZWl0cyBleGlzdGllcnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI1CisjOiBidWlsdGluL2JyYW5jaC5jOjgzMQogbXNnaWQgImxpc3QgYnJhbmNoIG5hbWVzIgogbXNnc3RyICJsaXN0ZXQgQnJhbmNobmFtZW4gYXVmIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyNgorIzogYnVpbHRpbi9icmFuY2guYzo4MzIKIG1zZ2lkICJjcmVhdGUgdGhlIGJyYW5jaCdzIHJlZmxvZyIKIG1zZ3N0ciAiZXJ6ZXVndCBkYXMgUmVmbG9nIGRlcyBCcmFuY2hlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM0CiBtc2dpZCAiZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2giCiBtc2dzdHIgImJlYXJiZWl0ZXQgZGllIEJlc2NocmVpYnVuZyBmw7xyIGRlbiBCcmFuY2giCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI5CisjOiBidWlsdGluL2JyYW5jaC5jOjgzNQogbXNnaWQgImZvcmNlIGNyZWF0aW9uICh3aGVuIGFscmVhZHkgZXhpc3RzKSIKIG1zZ3N0ciAiZXJ6ZXVnZSBhdWNoLCB3ZW5uIGRlciBCcmFuY2ggYmVyZWl0cyBleGlzdGllcnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMyCisjOiBidWlsdGluL2JyYW5jaC5jOjgzOAogbXNnaWQgInByaW50IG9ubHkgbm90IG1lcmdlZCBicmFuY2hlcyIKIG1zZ3N0ciAiZ2lidCBudXIgQnJhbmNoZXMgYXVzLCBkaWUgbmljaHQgenVzYW1tZW5nZWbDvGhydCBzaW5kIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzOAorIzogYnVpbHRpbi9icmFuY2guYzo4NDQKIG1zZ2lkICJwcmludCBvbmx5IG1lcmdlZCBicmFuY2hlcyIKIG1zZ3N0ciAiZ2lidCBudXIgQnJhbmNoZXMgYXVzLCBkaWUgenVzYW1tZW5nZWbDvGhydCBzaW5kIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg0MgorIzogYnVpbHRpbi9icmFuY2guYzo4NDgKIG1zZ2lkICJsaXN0IGJyYW5jaGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgImxpc3RldCBCcmFuY2hlcyBpbiBTcGFsdGVuIGF1ZiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODYxCiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIktvbm50ZSBIRUFEIG5pY2h0IGFscyBnw7xsdGlnZSBSZWZlcmVueiBhdWZsw7ZzZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg2MCBidWlsdGluL2Nsb25lLmM6NjMwCisjOiBidWlsdGluL2JyYW5jaC5jOjg2NiBidWlsdGluL2Nsb25lLmM6NjI5CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIkhFQUQgd3VyZGUgbmljaHQgdW50ZXIgXCJyZWZzL2hlYWRzXCIgZ2VmdW5kZW4hIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg4MworIzogYnVpbHRpbi9icmFuY2guYzo4OTAKIG1zZ2lkICItLWNvbHVtbiBhbmQgLS12ZXJib3NlIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIkRpZSBPcHRpb25lbiAtLWNvbHVtbiB1bmQgLS12ZXJib3NlIHNpbmQgaW5rb21wYXRpYmVsLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4ODkgYnVpbHRpbi9icmFuY2guYzo5MjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODk2IGJ1aWx0aW4vYnJhbmNoLmM6OTM1CiBtc2dpZCAiYnJhbmNoIG5hbWUgcmVxdWlyZWQiCiBtc2dzdHIgIkJyYW5jaG5hbWUgZXJmb3JkZXJsaWNoIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkwNAorIzogYnVpbHRpbi9icmFuY2guYzo5MTEKIG1zZ2lkICJDYW5ub3QgZ2l2ZSBkZXNjcmlwdGlvbiB0byBkZXRhY2hlZCBIRUFEIgogbXNnc3RyICJ6dSBsb3NnZWzDtnN0ZW0gSEVBRCBrYW5uIGtlaW5lIEJlc2NocmVpYnVuZyBoaW50ZXJsZWd0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTE2CiBtc2dpZCAiY2Fubm90IGVkaXQgZGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBicmFuY2giCiBtc2dzdHIgIkJlc2NocmVpYnVuZyB2b24gbWVociBhbHMgZWluZW0gQnJhbmNoIGthbm4gbmljaHQgYmVhcmJlaXRldCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTE2CisjOiBidWlsdGluL2JyYW5jaC5jOjkyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBjb21taXQgb24gYnJhbmNoICclcycgeWV0LiIKIG1zZ3N0ciAiTm9jaCBrZWluIENvbW1pdCBpbiBCcmFuY2ggJyVzJy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTE5CisjOiBidWlsdGluL2JyYW5jaC5jOjkyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBicmFuY2ggbmFtZWQgJyVzJy4iCiBtc2dzdHIgIkJyYW5jaCAnJXMnIG5pY2h0IHZvcmhhbmRlbi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTM0CisjOiBidWlsdGluL2JyYW5jaC5jOjk0MQogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIGZvciBhIHJlbmFtZSBvcGVyYXRpb24iCiBtc2dzdHIgInp1IHZpZWxlIEJyYW5jaGVzIGbDvHIgZWluZSBVbWJlbmVubmVuLU9wZXJhdGlvbiBhbmdlZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTM5CisjOiBidWlsdGluL2JyYW5jaC5jOjk0NgogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHNldCBuZXcgdXBzdHJlYW0iCiBtc2dzdHIgInp1IHZpZWxlIEJyYW5jaGVzIGFuZ2VnZWJlbiB1bSBVcHN0cmVhbS1CcmFuY2ggenUgc2V0emVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk0MworIzogYnVpbHRpbi9icmFuY2guYzo5NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBzZXQgdXBzdHJlYW0gb2YgSEVBRCB0byAlcyB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgpAQCAtMjk1NCw0MyArMzEyNiw0MyBAQAogIktvbm50ZSBrZWluZW4gbmV1ZW4gVXBzdHJlYW0tQnJhbmNoIHZvbiBIRUFEIHp1ICVzIHNldHplbiwgZGEgZGllc2VyIGF1ZlxuIgogImtlaW5lbiBCcmFuY2ggemVpZ3QuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk0NiBidWlsdGluL2JyYW5jaC5jOjk2OCBidWlsdGluL2JyYW5jaC5jOjk5MAorIzogYnVpbHRpbi9icmFuY2guYzo5NTMgYnVpbHRpbi9icmFuY2guYzo5NzUgYnVpbHRpbi9icmFuY2guYzo5OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiS2VpbiBzb2xjaGVyIEJyYW5jaCAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk1MAorIzogYnVpbHRpbi9icmFuY2guYzo5NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIkJyYW5jaCAnJXMnIGV4aXN0aWVydCBuaWNodCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTY5CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gdW5zZXQgdXBzdHJlYW0iCiBtc2dzdHIgIiIKICJ6dSB2aWVsZSBCcmFuY2hlcyBhbmdlZ2ViZW4gdW0gS29uZmlndXJhdGlvbiB6dSBVcHN0cmVhbS1CcmFuY2ggenUgZW50ZmVybmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk2NgorIzogYnVpbHRpbi9icmFuY2guYzo5NzMKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgdXBzdHJlYW0gb2YgSEVBRCB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgogbXNnc3RyICIiCiAiS29ubnRlIEtvbmZpZ3VyYXRpb24genUgVXBzdHJlYW0tQnJhbmNoIHZvbiBIRUFEIG5pY2h0IGVudGZlcm5lbiwgZGEgZGllc2VyXG4iCiAiYXVmIGtlaW5lbiBCcmFuY2ggemVpZ3QuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk3MgorIzogYnVpbHRpbi9icmFuY2guYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgaGFzIG5vIHVwc3RyZWFtIGluZm9ybWF0aW9uIgogbXNnc3RyICJCcmFuY2ggJyVzJyBoYXQga2VpbmVuIFVwc3RyZWFtLUJyYW5jaCBnZXNldHp0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk4NworIzogYnVpbHRpbi9icmFuY2guYzo5OTQKIG1zZ2lkICJpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNyZWF0ZSAnSEVBRCcgbWFudWFsbHkiCiBtc2dzdHIgIidIRUFEJyBkYXJmIG5pY2h0IG1hbnVlbGwgZXJzdGVsbHQgd2VyZGVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk5MworIzogYnVpbHRpbi9icmFuY2guYzoxMDAwCiBtc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb25lbiAtYSB1bmQgLXIgYmVpICdnaXQgYnJhbmNoJyBrw7ZubmVuIG5pY2h0IGdlbWVpbXNhbSBtaXQgZWluZW0gIgogIkJyYW5jaG5hbWVuIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk5NgorIzogYnVpbHRpbi9icmFuY2guYzoxMDAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgLS1zZXQtdXBzdHJlYW0gZmxhZyBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIENvbnNpZGVyIHVzaW5nIC0tIgpAQCAtMjk5OSw3ICszMTcxLDcgQEAKICJEaWUgLS1zZXQtdXBzdHJlYW0gT3B0aW9uIGlzdCB2ZXJhbHRldCB1bmQgd2lyZCBlbnRmZXJudC4gQmVudXR6ZW4gU2llIC0tIgogInRyYWNrIG9kZXIgLS1zZXQtdXBzdHJlYW0tdG9cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxMDEzCisjOiBidWlsdGluL2JyYW5jaC5jOjEwMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMzAxMCwxMiArMzE4MiwxMiBAQAogIldlbm4gU2llIHdvbGx0ZW4sIGRhc3MgJyVzJyBkZW4gQnJhbmNoICclcycgYWxzIFVwc3RyZWFtLUJyYW5jaCBoYXQsIGbDvGhyZW4gIgogIlNpZSBhdXM6XG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAxNAorIzogYnVpbHRpbi9icmFuY2guYzoxMDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICBnaXQgYnJhbmNoIC1kICVzXG4iCiBtc2dzdHIgIiAgICBnaXQgYnJhbmNoIC1kICVzXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAxNQorIzogYnVpbHRpbi9icmFuY2guYzoxMDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvICVzXG4iCiBtc2dzdHIgIiAgICBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvICVzXG4iCkBAIC0zMDMzLDQ1ICszMjA1LDQ1IEBACiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gdW5idW5kbGUuIgogbXNnc3RyICJadW0gRW50cGFja2VuIHdpcmQgZWluIFJlcG9zaXRvcnkgYmVuw7Z0aWd0LiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjI4NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMxMgogbXNnaWQgImdpdCBjYXQtZmlsZSAoLXR8LXN8LWV8LXB8PHR5cGU+fC0tdGV4dGNvbnYpIDxvYmplY3Q+IgogbXNnc3RyICJnaXQgY2F0LWZpbGUgKC10fC1zfC1lfC1wfDxBcnQ+fC0tdGV4dGNvbnYpIDxPYmpla3Q+IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6Mjg2CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzEzCiBtc2dpZCAiZ2l0IGNhdC1maWxlICgtLWJhdGNofC0tYmF0Y2gtY2hlY2spIDwgPGxpc3Rfb2Zfb2JqZWN0cz4iCiBtc2dzdHIgImdpdCBjYXQtZmlsZSAoLS1iYXRjaHwtLWJhdGNoLWNoZWNrKSA8IDxMaXN0ZV92b25fT2JqZWt0ZW4+IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzIzCisjOiBidWlsdGluL2NhdC1maWxlLmM6MzUwCiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogbXNnc3RyICI8QXJ0PiBrYW5uIHNlaW46IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzI0CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzUxCiBtc2dpZCAic2hvdyBvYmplY3QgdHlwZSIKIG1zZ3N0ciAiemVpZ3QgT2JqZWt0YXJ0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzI1CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzUyCiBtc2dpZCAic2hvdyBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAiemVpZ3QgT2JqZWt0Z3LDtsOfZSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyNworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM1NAogbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKIG1zZ3N0ciAiYmVlbmRldCBtaXQgUsO8Y2tnYWJld2VydCAwLCB3ZW5uIGtlaW4gRmVobGVyIGF1ZmdldHJldGVuIGlzdCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM1NQogbXNnaWQgInByZXR0eS1wcmludCBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJhbnNwcmVjaGVuZGUgQW56ZWlnZSBkZXMgT2JqZWt0aW5oYWx0ZXMiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMzAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNTcKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gdGV4dGNvbnYgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiZsO8aHJ0IGVpbmUgVGV4dGtvbnZlcnRpZXJ1bmcgYXVmIGRlbiBJbmhhbHQgdm9uIEJsb2ItT2JqZWt0ZW4gYXVzIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzMyCisjOiBidWlsdGluL2NhdC1maWxlLmM6MzU5CiBtc2dpZCAic2hvdyBpbmZvIGFuZCBjb250ZW50IG9mIG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICIiCiAiQW56ZWlnZSB2b24gSW5mb3JtYXRpb25lbiB1bmQgSW5oYWx0IHZvbiBPYmpla3RlbiwgZ2VsZXNlbiB2b24gZGVyIFN0YW5kYXJkLSIKICJFaW5nYWJlIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzM1CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzYyCiBtc2dpZCAic2hvdyBpbmZvIGFib3V0IG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICIiCiAiQW56ZWlnZSB2b24gSW5mb3JtYXRpb25lbiDDvGJlciBPYmpla3RlLCBnZWxlc2VuIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSIKQEAgLTMwOTgsMTAgKzMyNzAsMTAgQEAKIG1zZ3N0ciAibGllc3QgRGF0ZWluYW1lbiB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUiCiAKICM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjQKLW1zZ2lkICJpbnB1dCBwYXRocyBhcmUgdGVybWluYXRlZCBieSBhIG51bGwgY2hhcmFjdGVyIgotbXNnc3RyICJFaW5nYWJlcGZhZGUgc2luZCBkdXJjaCBlaW4gTlVMIFplaWNoZW4gYWJnZXNjaGxvc3NlbiIKK21zZ2lkICJ0ZXJtaW5hdGUgaW5wdXQgYW5kIG91dHB1dCByZWNvcmRzIGJ5IGEgTlVMIGNoYXJhY3RlciIKK21zZ3N0ciAic2NobGllw590IEVpbnRyw6RnZSB2b24gRWluLSB1bmQgQXVzZ2FiZSBtaXQgTlVMLVplaWNoZW4gYWIiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjEwNTQgYnVpbHRpbi9nYy5jOjE3NworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTA5MCBidWlsdGluL2djLmM6MjU5CiBtc2dpZCAic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJ1bnRlcmRyw7xja3QgRm9ydHNjaHJpdHRzYW56ZWlnZSIKIApAQCAtMzEwOSwyOCArMzI4MSwzMiBAQAogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGlucHV0IHBhdGhzIgogbXNnc3RyICJ6ZWlndCBFaW5nYWJlLVBmYWRlIG9obmUgw5xiZXJlaW5zdGltbXVuZ2VuIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE0MworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOAorbXNnaWQgImlnbm9yZSBpbmRleCB3aGVuIGNoZWNraW5nIgorbXNnc3RyICJpZ25vcmllcnQgU3RhZ2luZy1BcmVhIGJlaSBkZXIgUHLDvGZ1bmciCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU0CiBtc2dpZCAiY2Fubm90IHNwZWNpZnkgcGF0aG5hbWVzIHdpdGggLS1zdGRpbiIKIG1zZ3N0ciAiQW5nYWJlIHZvbiBQZmFkbmFtZW4ga2FubiBuaWNodCBnZW1laW5zYW0gbWl0IC0tc3RkaW4gdmVyd2VuZGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNDYKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU3CiBtc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIkRpZSBPcHRpb24gLXoga2FubiBudXIgbWl0IC0tc3RkaW4gdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTQ4CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1OQogbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkIgogbXNnc3RyICJrZWluIFBmYWQgYW5nZWdlYmVuIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1MgorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjMKIG1zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLXF1aWV0IGlzdCBudXIgbWl0IGVpbmVtIGVpbnplbG5lbiBQZmFkbmFtZW4gZ8O8bHRpZy4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU0CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NQogbXNnaWQgImNhbm5vdCBoYXZlIGJvdGggLS1xdWlldCBhbmQgLS12ZXJib3NlIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbmVuIC0tcXVpZXQgdW5kIC0tdmVyYm9zZSBrw7ZubmVuIG5pY2h0IGdlbWVpbnNhbSB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTcKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY4CiBtc2dpZCAiLS1ub24tbWF0Y2hpbmcgaXMgb25seSB2YWxpZCB3aXRoIC0tdmVyYm9zZSIKIG1zZ3N0ciAiLS1ub24tbWF0Y2hpbmcgaXN0IG51ciBtaXQgLS12ZXJib3NlIHp1bMOkc3NpZyIKIApAQCAtMzIwNiwxMDcgKzMzODIsMTA3IEBACiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFtvcHRpb25zXSBbPGJyYW5jaD5dIC0tIDxmaWxlPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0IFtPcHRpb25lbl0gWzxCcmFuY2g+XSAtLSA8RGF0ZWk+Li4uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQgYnVpbHRpbi9jaGVja291dC5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBvdXIgdmVyc2lvbiIKIG1zZ3N0ciAiUGZhZCAnJXMnIGhhdCBuaWNodCB1bnNlcmUgVmVyc2lvbi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTkgYnVpbHRpbi9jaGVja291dC5jOjE1MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNiBidWlsdGluL2NoZWNrb3V0LmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIHRoZWlyIHZlcnNpb24iCiBtc2dzdHIgIlBmYWQgJyVzJyBoYXQgbmljaHQgZGVyZW4gVmVyc2lvbi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgYWxsIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAiUGZhZCAnJXMnIGhhdCBuaWNodCBhbGxlIG5vdHdlbmRpZ2VuIFZlcnNpb25lbi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICJQZmFkICclcycgaGF0IG5pY2h0IGRpZSBub3R3ZW5kaWdlbiBWZXJzaW9uZW4uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJzogY2Fubm90IG1lcmdlIgogbXNnc3RyICJQZmFkICclcyc6IGthbm4gbmljaHQgenVzYW1tZW5mw7xocmVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjEzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgbWVyZ2UgcmVzdWx0IGZvciAnJXMnIgogbXNnc3RyICJLb25udGUgTWVyZ2UtRXJnZWJuaXMgdm9uICclcycgbmljaHQgaGluenVmw7xnZW4uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjM3IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDAgYnVpbHRpbi9jaGVja291dC5jOjI0MwotIzogYnVpbHRpbi9jaGVja291dC5jOjI0NgorIzogYnVpbHRpbi9jaGVja291dC5jOjIzMiBidWlsdGluL2NoZWNrb3V0LmM6MjM1IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHVwZGF0aW5nIHBhdGhzIgogbXNnc3RyICInJXMnIGthbm4gbmljaHQgbWl0IFBmYWRlbiB2ZXJ3ZW5kZXQgd2VyZGVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjQ5IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDQgYnVpbHRpbi9jaGVja291dC5jOjI0NwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiclcycga2FubiBuaWNodCBtaXQgJyVzJyB2ZXJ3ZW5kZXQgd2VyZGVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjU1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLiIKIG1zZ3N0ciAiIgogIkthbm4gbmljaHQgZ2xlaWNoemVpdGlnIFBmYWRlIGFrdHVhbGlzaWVyZW4gdW5kIHp1IEJyYW5jaCAnJXMnIHdlY2hzZWxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY2IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjEgYnVpbHRpbi9jaGVja291dC5jOjQ1MQogbXNnaWQgImNvcnJ1cHQgaW5kZXggZmlsZSIKIG1zZ3N0ciAiYmVzY2jDpGRpZ3RlIFN0YWdpbmctQXJlYS1EYXRlaSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjMyOSBidWlsdGluL2NoZWNrb3V0LmM6MzM2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzIyIGJ1aWx0aW4vY2hlY2tvdXQuYzozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGlzIHVubWVyZ2VkIgogbXNnc3RyICJQZmFkICclcycgaXN0IG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnQuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NDgwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDczCiBtc2dpZCAieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCiBtc2dzdHIgIlNpZSBtw7xzc2VuIHp1ZXJzdCBJaHJlIGFrdHVlbGxlIFN0YWdpbmctQXJlYSBhdWZsw7ZzZW4uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjAxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnXG4iCiBtc2dzdHIgIktvbm50ZSBcInJlZmxvZ1wiIGbDvHIgJyVzJyBuaWNodCBkdXJjaGbDvGhyZW5cbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYzOQorIzogYnVpbHRpbi9jaGVja291dC5jOjYzMgogbXNnaWQgIkhFQUQgaXMgbm93IGF0IgogbXNnc3RyICJIRUFEIGlzdCBqZXR6dCBiZWkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiU2V0emUgQnJhbmNoICclcycgbmV1XG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWxyZWFkeSBvbiAnJXMnXG4iCiBtc2dzdHIgIkJlcmVpdHMgYXVmICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY1MworIzogYnVpbHRpbi9jaGVja291dC5jOjY0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiR2V3ZWNoc2VsdCB6dSB1bWdlc2V0enRlbiBCcmFuY2ggJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjU1IGJ1aWx0aW4vY2hlY2tvdXQuYzo5OTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDggYnVpbHRpbi9jaGVja291dC5jOjEwMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiR2V3ZWNoc2VsdCB6dSBlaW5lbSBuZXVlbSBCcmFuY2ggJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjU3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIkdld2VjaHNlbHQgenUgQnJhbmNoICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjcxMworIzogYnVpbHRpbi9jaGVja291dC5jOjcwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgLi4uIGFuZCAlZCBtb3JlLlxuIgogbXNnc3RyICIgLi4uIHVuZCAlZCB3ZWl0ZXJlLlxuIgogCiAjLiBUaGUgc2luZ3VsYXIgdmVyc2lvbgotIzogYnVpbHRpbi9jaGVja291dC5jOjcxOQorIzogYnVpbHRpbi9jaGVja291dC5jOjcxMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV2FybmluZzogeW91IGFyZSBsZWF2aW5nICVkIGNvbW1pdCBiZWhpbmQsIG5vdCBjb25uZWN0ZWQgdG9cbiIKQEAgLTMzMjksNyArMzUwNSw3IEBACiAiXG4iCiAiJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjczNworIzogYnVpbHRpbi9jaGVja291dC5jOjczMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8ga2VlcCB0aGVtIGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTMzNDQsMTM2ICszNTIwLDE0MCBAQAogIiBnaXQgYnJhbmNoIG5ldWVyX2JyYW5jaF9uYW1lICVzXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjAKIG1zZ2lkICJpbnRlcm5hbCBlcnJvciBpbiByZXZpc2lvbiB3YWxrIgogbXNnc3RyICJpbnRlcm5lciBGZWhsZXIgaW0gUmV2aXNpb25zZ2FuZyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc3MQorIzogYnVpbHRpbi9jaGVja291dC5jOjc2NAogbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgogbXNnc3RyICJWb3JoZXJpZ2UgUG9zaXRpb24gdm9uIEhFQUQgd2FyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk4IGJ1aWx0aW4vY2hlY2tvdXQuYzo5OTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTEgYnVpbHRpbi9jaGVja291dC5jOjEwMjgKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJTaWUgc2luZCBhdWYgZWluZW0gQnJhbmNoLCBkZXIgbm9jaCBnZWJvcmVuIHdpcmQiCiAKLSMuIGNhc2UgKDEpCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTI4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgorbXNnc3RyICJudXIgZWluZSBSZWZlcmVueiBlcndhcnRldCwgJWQgZ2VnZWJlbi4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCByZWZlcmVuY2U6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlIFJlZmVyZW56OiAlcyIKIAogIy4gY2FzZSAoMSk6IHdhbnQgYSB0cmVlCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCiBtc2dzdHIgIlJlZmVyZW56IGlzdCBrZWluIFwiVHJlZVwiLU9iamVrdDogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0MgogbXNnaWQgInBhdGhzIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICJQZmFkZSBrw7ZubmVuIG5pY2h0IGJlaW0gV2VjaHNlbG4gdm9uIEJyYW5jaGVzIHZlcndlbmRldCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDEzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0NSBidWlsdGluL2NoZWNrb3V0LmM6MTA0OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICInJXMnIGthbm4gbmljaHQgYmVpbSBXZWNoc2VsbiB2b24gQnJhbmNoZXMgdmVyd2VuZGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTcgYnVpbHRpbi9jaGVja291dC5jOjEwMjAgYnVpbHRpbi9jaGVja291dC5jOjEwMjUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDI4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1MyBidWlsdGluL2NoZWNrb3V0LmM6MTA1NiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciCiBtc2dzdHIgIiclcycga2FubiBuaWNodCBtaXQgJyVzJyB2ZXJ3ZW5kZXQgd2VyZGVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAzMworIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN3aXRjaCBicmFuY2ggdG8gYSBub24tY29tbWl0ICclcyciCiBtc2dzdHIgIkthbm4gQnJhbmNoIG5pY2h0IHp1IE5pY2h0LUNvbW1pdCAnJXMnIHdlY2hzZWxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1NSBidWlsdGluL2NoZWNrb3V0LmM6MTA1NyBidWlsdGluL2Nsb25lLmM6ODkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkzIGJ1aWx0aW4vY2xvbmUuYzo4OAogIzogYnVpbHRpbi9yZW1vdGUuYzoxNjkgYnVpbHRpbi9yZW1vdGUuYzoxNzEKIG1zZ2lkICJicmFuY2giCiBtc2dzdHIgIkJyYW5jaCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkyCiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgImVyemV1Z3QgdW5kIGNoZWNrdCBlaW5lbiBuZXVlbiBCcmFuY2ggYXVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTQKIG1zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgogbXNnc3RyICJlcnpldWd0L3NldHp0IHVtIHVuZCBjaGVja3QgZWluZW4gQnJhbmNoIGF1cyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1CiBtc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiZXJ6ZXVndCBkYXMgUmVmbG9nIGbDvHIgZGVuIG5ldWVuIEJyYW5jaCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk2CiBtc2dpZCAiZGV0YWNoIHRoZSBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKIG1zZ3N0ciAic2V0enQgSEVBRCB6dSBiZW5hbm50ZW0gQ29tbWl0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTcKIG1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAic2V0enQgSW5mb3JtYXRpb25lbiB6dW0gVXBzdHJlYW0tQnJhbmNoIGbDvHIgZGVuIG5ldWVuIEJyYW5jaCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk5CiBtc2dpZCAibmV3IGJyYW5jaCIKIG1zZ3N0ciAibmV1ZXIgQnJhbmNoIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MworIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTkKIG1zZ2lkICJuZXcgdW5wYXJlbnRlZCBicmFuY2giCiBtc2dzdHIgIm5ldWVyIEJyYW5jaCBvaG5lIEVsdGVybi1Db21taXQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwMAogbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAiY2hlY2t0IHVuc2VyZSBWYXJpYW50ZSBmw7xyIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gYXVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDIKIG1zZ2lkICJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAiY2hlY2t0IGlocmUgVmFyaWFudGUgZsO8ciBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBEYXRlaWVuIGF1cyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA0CiBtc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCiBtc2dzdHIgImVyendpbmd0IEF1c2NoZWNrZW4gKHZlcndpcmZ0IGxva2FsZSDDhG5kZXJ1bmdlbikiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNQogbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgogbXNnc3RyICJmw7xocnQgZWluZW4gMy1XZWdlLU1lcmdlIG1pdCBkZW0gbmV1ZW4gQnJhbmNoIGF1cyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzAgYnVpbHRpbi9tZXJnZS5jOjIzMgorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDYgYnVpbHRpbi9tZXJnZS5jOjIzMgogbXNnaWQgInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIKIG1zZ3N0ciAiYWt0dWFsaXNpZXJ0IGlnbm9yaWVydGUgRGF0ZWllbiAoU3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3MSBidWlsdGluL2xvZy5jOjEyMDggcGFyc2Utb3B0aW9ucy5oOjI0OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDcgYnVpbHRpbi9sb2cuYzoxMjI4IHBhcnNlLW9wdGlvbnMuaDoyNTEKIG1zZ2lkICJzdHlsZSIKIG1zZ3N0ciAiU3RpbCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA4CiBtc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKIG1zZ3N0ciAiS29uZmxpa3RzdGlsIChtZXJnZSBvZGVyIGRpZmYzKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTExCiBtc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgogbXNnc3RyICJQZmFkc3BlemlmaWthdGlvbmVuIGlnbm9yaWVyZW4gRWluc3RlbGx1bmdlbiB6dW0gcGFydGllbGxlbiBBdXNjaGVja2VuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3NworIzogYnVpbHRpbi9jaGVja291dC5jOjExMTMKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCBuby1zdWNoLWJyYW5jaCciCiBtc2dzdHIgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IG5vLXN1Y2gtYnJhbmNoJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMDEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM2CiBtc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLWIsIC1CIHVuZCAtLW9ycGhhbiBzY2hsaWXDn2VuIHNpY2ggZ2VnZW5zZWl0aWcgYXVzLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUzCiBtc2dpZCAiLS10cmFjayBuZWVkcyBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICJCZWkgZGVyIE9wdGlvbiAtLXRyYWNrIG11c3MgZWluIEJyYW5jaG5hbWUgYW5nZWdlYmVuIHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MAogbXNnaWQgIk1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAiVmVybWlzc2UgQnJhbmNobmFtZW47IHZlcnN1Y2hlbiBTaWUgLWIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5NwogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICJ1bmfDvGx0aWdlIFBmYWRzcGV6aWZpa2F0aW9uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2NworIzogYnVpbHRpbi9jaGVja291dC5jOjEyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLlxuIgpAQCAtMzQ4MywxMiArMzY2MywxMiBAQAogIkhhYmVuIFNpZSBiZWFic2ljaHRpZ3QgJyVzJyBhdXN6dWNoZWNrZW4sIHdlbGNoZXIgbmljaHQgYWxzIENvbW1pdCBhdWZnZWzDtnN0ICIKICJ3ZXJkZW4ga2Fubj8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTcyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50ICclcyciCiBtc2dzdHIgImdpdCBjaGVja291dDogLS1kZXRhY2ggbmltbXQga2VpbiBQZmFkLUFyZ3VtZW50ICclcyciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTc2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxMwogbXNnaWQgIiIKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKICJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIKQEAgLTM0OTYsMzggKzM2NzYsMzggQEAKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSB1bmQgLS1tZXJnZSBzaW5kIGlua29tcGF0aWJlbCB3ZW5uXG4iCiAiU2llIGF1cyBkZXIgU3RhZ2luZy1BcmVhIGF1c2NoZWNrZW4uIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjUKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyNgogbXNnaWQgIiIKICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA8cGF0dGVybj5dIFsteCB8IC1YXSBbLS1dIDxwYXRocz4uLi4iCiBtc2dzdHIgIiIKICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA8TXVzdGVyPl0gWy14IHwgLVhdIFstLV0gPFBmYWRlPi4uLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5CisjOiBidWlsdGluL2NsZWFuLmM6MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXNcbiIKIG1zZ3N0ciAiTMO2c2NoZSAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzAKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMQogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCByZW1vdmUgJXNcbiIKIG1zZ3N0ciAiV8O8cmRlICVzIGzDtnNjaGVuXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMQorIzogYnVpbHRpbi9jbGVhbi5jOjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAiw5xiZXJzcHJpbmdlIFJlcG9zaXRvcnkgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMyCisjOiBidWlsdGluL2NsZWFuLmM6MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgc2tpcCByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIlfDvHJkZSBSZXBvc2l0b3J5ICVzIMO8YmVyc3ByaW5nZW5cbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMzCisjOiBidWlsdGluL2NsZWFuLmM6MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gTMO2c2NoZW4gdm9uICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjkzCisjOiBidWlsdGluL2NsZWFuLmM6Mjk0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgogIjEgICAgICAgICAgLSBzZWxlY3QgYSBudW1iZXJlZCBpdGVtXG4iCkBAIC0zNTM5LDcgKzM3MTksNyBAQAogImZvbyAgICAgICAgLSBFbGVtZW50IGFuaGFuZCBlaW5lcyBlaW5kZXV0aWdlbiBQcmVmaXggYXVzd8OkaGxlblxuIgogIiAgICAgICAgICAgLSAobGVlcikgbmljaHRzIGF1c3fDpGhsZW4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTcKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyOTgKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCiAiMSAgICAgICAgICAtIHNlbGVjdCBhIHNpbmdsZSBpdGVtXG4iCkBAIC0zNTU5LDM1ICszNzM5LDM1IEBACiAiKiAgICAgICAgICAtIGFsbGUgRWxlbWVudGUgYXVzd8OkaGxlblxuIgogIiAgICAgICAgICAgLSAobGVlcikgQXVzd2FobCBiZWVuZGVuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NTE1CisjOiBidWlsdGluL2NsZWFuLmM6NTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1aCAoJXMpPyIKIG1zZ3N0ciAiV2llIGJpdHRlICglcyk/IgogCi0jOiBidWlsdGluL2NsZWFuLmM6NjU4CisjOiBidWlsdGluL2NsZWFuLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIklucHV0IGlnbm9yZSBwYXR0ZXJucz4+ICIKIG1zZ3N0ciAiSWdub3JpZXItTXVzdGVyIGVpbmdlYmVuPj4gIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Njk1CisjOiBidWlsdGluL2NsZWFuLmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgogbXNnc3RyICJXQVJOVU5HOiBLYW5uIGtlaW5lIEVpbnRyw6RnZSBmaW5kZW4gZGllIE11c3RlciBlbnRzcHJlY2hlbjogJXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3MTYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3MTcKIG1zZ2lkICJTZWxlY3QgaXRlbXMgdG8gZGVsZXRlIgogbXNnc3RyICJXw6RobGVuIFNpZSBFaW50csOkZ2UgenVtIEzDtnNjaGVuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzU2CisjOiBidWlsdGluL2NsZWFuLmM6NzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAlcz8gIgogbXNnc3RyICInJXMnIGzDtnNjaGVuPyAiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3ODIKIG1zZ2lkICJCeWUuIgogbXNnc3RyICJUc2Now7xzcy4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3OTAKIG1zZ2lkICIiCiAiY2xlYW4gICAgICAgICAgICAgICAtIHN0YXJ0IGNsZWFuaW5nXG4iCiAiZmlsdGVyIGJ5IHBhdHRlcm4gICAtIGV4Y2x1ZGUgaXRlbXMgZnJvbSBkZWxldGlvblxuIgpAQCAtMzYwNSwyMSArMzc4NSwyMSBAQAogImhlbHAgICAgICAgICAgICAgICAgLSBkaWVzZSBNZWxkdW5nIGFuemVpZ2VuXG4iCiAiPyAgICAgICAgICAgICAgICAgICAtIEhpbGZlIHp1ciBBdXN3YWhsIG1pdHRlbHMgRWluZ2FiZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxNgorIzogYnVpbHRpbi9jbGVhbi5jOjgxNwogbXNnaWQgIioqKiBDb21tYW5kcyAqKioiCiBtc2dzdHIgIioqKiBLb21tYW5kb3MgKioqIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODE3CisjOiBidWlsdGluL2NsZWFuLmM6ODE4CiBtc2dpZCAiV2hhdCBub3ciCiBtc2dzdHIgIldhcyBudW4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjUKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjYKIG1zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKIG1zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgogbXNnc3RyWzBdICJXw7xyZGUgZGFzIGZvbGdlbmRlIEVsZW1lbnQgZW50ZmVybmVuOiIKIG1zZ3N0clsxXSAiV8O8cmRlIGRpZSBmb2xnZW5kZW4gRWxlbWVudGUgZW50ZmVybmVuOiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg0MgorIzogYnVpbHRpbi9jbGVhbi5jOjg0MwogbXNnaWQgIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIgogbXNnc3RyICJLZWluZSBEYXRlaWVuIG1laHIgenVtIEzDtnNjaGVuLCBiZWVuZGUuIgogCkBAIC0zNjM5LDggKzM4MTksOCBAQAogbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAibMO2c2NodCBnYW56ZSBWZXJ6ZWljaG5pc3NlIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODgwIGJ1aWx0aW4vZGVzY3JpYmUuYzo0MjAgYnVpbHRpbi9ncmVwLmM6NzE2Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDkzIGJ1aWx0aW4vbmFtZS1yZXYuYzozMTUgYnVpbHRpbi9zaG93LXJlZi5jOjE4NgorIzogYnVpbHRpbi9jbGVhbi5jOjg4MCBidWlsdGluL2Rlc2NyaWJlLmM6NDIwIGJ1aWx0aW4vZ3JlcC5jOjcxOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MyBidWlsdGluL25hbWUtcmV2LmM6MzE1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODUKIG1zZ2lkICJwYXR0ZXJuIgogbXNnc3RyICJNdXN0ZXIiCiAKQEAgLTM2ODAsOCArMzg2MCw4IEBACiBtc2dpZCAiZ2l0IGNsb25lIFtvcHRpb25zXSBbLS1dIDxyZXBvPiBbPGRpcj5dIgogbXNnc3RyICJnaXQgY2xvbmUgW09wdGlvbmVuXSBbLS1dIDxSZXBvc2l0b3J5PiBbPFZlcnplaWNobmlzPl0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NCBidWlsdGluL2ZldGNoLmM6ODIgYnVpbHRpbi9tZXJnZS5jOjIyOQotIzogYnVpbHRpbi9wdXNoLmM6NDYyCisjOiBidWlsdGluL2Nsb25lLmM6NjQgYnVpbHRpbi9mZXRjaC5jOjk2IGJ1aWx0aW4vbWVyZ2UuYzoyMjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3NAogbXNnaWQgImZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiZXJ6d2luZ3QgRm9ydHNjaHJpdHRzYW56ZWlnZSIKIApAQCAtMzY5MywxMjMgKzM4NzMsMTIzIEBACiBtc2dpZCAiY3JlYXRlIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJlcnN0ZWxsdCBlaW4gQmFyZS1SZXBvc2l0b3J5IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MQogbXNnaWQgImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIgogbXNnc3RyICJlcnN0ZWxsdCBlaW4gU3BpZWdlbGFyY2hpdiAoaW1wbGl6aWVydCAtLWJhcmUpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MwogbXNnaWQgInRvIGNsb25lIGZyb20gYSBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICJ1bSB2b24gZWluZW0gbG9rYWxlbiBSZXBvc2l0b3J5IHp1IGtsb25lbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2CisjOiBidWlsdGluL2Nsb25lLmM6NzUKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAidmVyd2VuZGV0IGxva2FsIGtlaW5lIGhhcnRlbiBWZXJ3ZWlzZSwgaW1tZXIgS29waWVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NwogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICJFaW5yaWNodHVuZyBhbHMgdmVydGVpbHRlcyBSZXBvc2l0b3J5IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODAgYnVpbHRpbi9jbG9uZS5jOjgyCisjOiBidWlsdGluL2Nsb25lLmM6NzkgYnVpbHRpbi9jbG9uZS5jOjgxCiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAiaW5pdGlhbGlzaWVydCBTdWJtb2R1bGUgaW0gS2xvbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NQorIzogYnVpbHRpbi9jbG9uZS5jOjgyIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NQogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAiVm9ybGFnZW52ZXJ6ZWljaG5pcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgorIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgogbXNnaWQgImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiCiBtc2dzdHIgIlZlcnplaWNobmlzLCB2b24gd2VsY2hlbSBkaWUgVm9ybGFnZW4gdmVyd2VuZGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2CisjOiBidWlsdGluL2Nsb25lLmM6ODUKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKIG1zZ3N0ciAicmVmZXJlbnppZXJ0IFJlcG9zaXRvcnkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NyBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CisjOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAogbXNnaWQgIm5hbWUiCiBtc2dzdHIgIk5hbWUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OAorIzogYnVpbHRpbi9jbG9uZS5jOjg3CiBtc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgogbXNnc3RyICJ2ZXJ3ZW5kZXQgPE5hbWU+IHN0YXR0ICdvcmlnaW4nIGbDvHIgVXBzdHJlYW0tUmVwb3NpdG9yeSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkwCisjOiBidWlsdGluL2Nsb25lLmM6ODkKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBpbnN0ZWFkIG9mIHRoZSByZW1vdGUncyBIRUFEIgogbXNnc3RyICJjaGVja3QgPEJyYW5jaD4gYXVzLCBhbnN0YXR0IEhFQUQgZGVzIFJlbW90ZS1SZXBvc2l0b3JpZXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MgorIzogYnVpbHRpbi9jbG9uZS5jOjkxCiBtc2dpZCAicGF0aCB0byBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSIKIG1zZ3N0ciAiUGZhZCB6dSBcImdpdC11cGxvYWQtcGFja1wiIGF1ZiBkZXIgR2VnZW5zZWl0ZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzIGJ1aWx0aW4vZmV0Y2guYzo4MyBidWlsdGluL2dyZXAuYzo2NjEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MiBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9ncmVwLmM6NjYzCiBtc2dpZCAiZGVwdGgiCiBtc2dzdHIgIlRpZWZlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MwogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgb2YgdGhhdCBkZXB0aCIKIG1zZ3N0ciAiZXJzdGVsbHQgZWluZW4gZmxhY2hlbiBLbG9uIG1pdCBkaWVzZXIgVGllZmUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NgorIzogYnVpbHRpbi9jbG9uZS5jOjk1CiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICJrbG9udCBudXIgZWluZW4gQnJhbmNoLCBIRUFEIG9kZXIgLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NyBidWlsdGluL2luaXQtZGIuYzo0OTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NiBidWlsdGluL2luaXQtZGIuYzo0OTQKIG1zZ2lkICJnaXRkaXIiCiBtc2dzdHIgIi5naXQtVmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OCBidWlsdGluL2luaXQtZGIuYzo0OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NyBidWlsdGluL2luaXQtZGIuYzo0OTUKIG1zZ2lkICJzZXBhcmF0ZSBnaXQgZGlyIGZyb20gd29ya2luZyB0cmVlIgogbXNnc3RyICJzZXBhcmllcnQgR2l0LVZlcnplaWNobmlzIHZvbSBBcmJlaXRzdmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OQorIzogYnVpbHRpbi9jbG9uZS5jOjk4CiBtc2dpZCAia2V5PXZhbHVlIgogbXNnc3RyICJTY2hsw7xzc2VsPVdlcnQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OQogbXNnaWQgInNldCBjb25maWcgaW5zaWRlIHRoZSBuZXcgcmVwb3NpdG9yeSIKIG1zZ3N0ciAic2V0enQgS29uZmlndXJhdGlvbiBpbm5lcmhhbGIgZGVzIG5ldWVuIFJlcG9zaXRvcmllcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjI1MworIzogYnVpbHRpbi9jbG9uZS5jOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgogbXNnc3RyICJSZWZlcmVuemllcnRlcyBSZXBvc2l0b3J5ICclcycgaXN0IGtlaW4gbG9rYWxlcyBSZXBvc2l0b3J5LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMxNgorIzogYnVpbHRpbi9jbG9uZS5jOjMxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBFcnN0ZWxsZW4gdm9uIFZlcnplaWNobmlzICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTggYnVpbHRpbi9kaWZmLmM6NzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMTcgYnVpbHRpbi9kaWZmLmM6NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJyVzJyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzIGV4aXN0aWVydCB1bmQgaXN0IGtlaW4gVmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMzQKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXNcbiIKIG1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IGxlc2VuXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozNTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzozNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgIktvbm50ZSBWZXJ3ZWlzICclcycgbmljaHQgZXJzdGVsbGVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzYwCisjOiBidWlsdGluL2Nsb25lLmM6MzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IGZpbGUgdG8gJyVzJyIKIG1zZ3N0ciAiS29ubnRlIERhdGVpIG5pY2h0IG5hY2ggJyVzJyBrb3BpZXJlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM4MworIzogYnVpbHRpbi9jbG9uZS5jOjM4MiBidWlsdGluL2Nsb25lLmM6NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvbmUuXG4iCiBtc2dzdHIgIkZlcnRpZy5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM5NgorIzogYnVpbHRpbi9jbG9uZS5jOjM5NQogbXNnaWQgIiIKICJDbG9uZSBzdWNjZWVkZWQsIGJ1dCBjaGVja291dCBmYWlsZWQuXG4iCiAiWW91IGNhbiBpbnNwZWN0IHdoYXQgd2FzIGNoZWNrZWQgb3V0IHdpdGggJ2dpdCBzdGF0dXMnXG4iCkBAIC0zODE5LDEwOCArMzk5OSwxMDMgQEAKICJTaWUga8O2bm5lbiBtaXQgJ2dpdCBzdGF0dXMnIHByw7xmZW4sIHdhcyBhdXNnZWNoZWNrdCB3b3JkZW4gaXN0XG4iCiAidW5kIGRhcyBBdXNjaGVja2VuIG1pdCAnZ2l0IGNoZWNrb3V0IC1mIEhFQUQnIGVybmV1dCB2ZXJzdWNoZW4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCiBtc2dzdHIgIktvbm50ZSB6dSBrbG9uZW5kZW4gUmVtb3RlLUJyYW5jaCAlcyBuaWNodCBmaW5kZW4uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTU1CisjOiBidWlsdGluL2Nsb25lLmM6NTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eS4uLiAiCiBtc2dzdHIgIlByw7xmZSBLb25uZWt0aXZpdMOkdC4uLiAiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1NTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1NTcKIG1zZ2lkICJyZW1vdGUgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0cyIKIG1zZ3N0ciAiUmVtb3RlLVJlcG9zaXRvcnkgaGF0IG5pY2h0IGFsbGUgZXJmb3JkZXJsaWNoZW4gT2JqZWt0ZSBnZXNlbmRldC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1NjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZG9uZVxuIgotbXNnc3RyICJGZXJ0aWdcbiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjYyMQorIzogYnVpbHRpbi9jbG9uZS5jOjYyMAogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAiIgogIkV4dGVybmVyIEhFQUQgYmV6aWVodCBzaWNoIGF1ZiBlaW5lIG5pY2h0IGV4aXN0aWVyZW5kZSBSZWZlcmVueiB1bmQga2FubiAiCiAibmljaHQgYXVzZ2VjaGVja3Qgd2VyZGVuLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjUyCisjOiBidWlsdGluL2Nsb25lLmM6NjUxCiBtc2dpZCAidW5hYmxlIHRvIGNoZWNrb3V0IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiQXJiZWl0c3ZlcnplaWNobmlzIGtvbm50ZSBuaWNodCBhdXNnZWNoZWNrdCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NTkKIG1zZ2lkICJUb28gbWFueSBhcmd1bWVudHMuIgogbXNnc3RyICJadSB2aWVsZSBBcmd1bWVudGUuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzY0CisjOiBidWlsdGluL2Nsb25lLmM6NzYzCiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICJTaWUgbcO8c3NlbiBlaW4gUmVwb3NpdG9yeSB6dW0gS2xvbmVuIGFuZ2ViZW4uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzc1CisjOiBidWlsdGluL2Nsb25lLmM6Nzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC0tYmFyZSB1bmQgLS1vcmlnaW4gJXMgc2luZCBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzc4CisjOiBidWlsdGluL2Nsb25lLmM6Nzc3CiBtc2dpZCAiLS1iYXJlIGFuZCAtLXNlcGFyYXRlLWdpdC1kaXIgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgIkRpZSBPcHRpb25lbiAtLWJhcmUgdW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBzaW5kIGlua29tcGF0aWJlbC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3OTEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwb3NpdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJSZXBvc2l0b3J5ICclcycgZXhpc3RpZXJ0IG5pY2h0LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc5NgorIzogYnVpbHRpbi9jbG9uZS5jOjc5NQogbXNnaWQgIi0tZGVwdGggaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbiAtLWRlcHRoIHdpcmQgaW4gbG9rYWxlbiBLbG9uZW4gaWdub3JpZXJ0OyBiZW51dHplbiBTaWUgIgogInN0YXR0ZGVzc2VuIGZpbGU6Ly8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3OTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3OTcKIG1zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCiBtc2dzdHIgIi0tbG9jYWwgd2lyZCBpZ25vcmllcnQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gcGF0aCAnJXMnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYW4gZW1wdHkgZGlyZWN0b3J5LiIKIG1zZ3N0ciAiWmllbHBmYWQgJyVzJyBleGlzdGllcnQgYmVyZWl0cyB1bmQgaXN0IGtlaW4gbGVlcmVzIFZlcnplaWNobmlzLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgxOAorIzogYnVpbHRpbi9jbG9uZS5jOjgxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgIkFyYmVpdHN2ZXJ6ZWljaG5pcyAnJXMnIGV4aXN0aWVydCBiZXJlaXRzLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzMSBidWlsdGluL2Nsb25lLmM6ODQzCisjOiBidWlsdGluL2Nsb25lLmM6ODMwIGJ1aWx0aW4vY2xvbmUuYzo4NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgIktvbm50ZSBmw7xocmVuZGUgVmVyemVpY2huaXNzZSB2b24gJyVzJyBuaWNodCBlcnN0ZWxsZW4uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODM0CisjOiBidWlsdGluL2Nsb25lLmM6ODMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgd29yayB0cmVlIGRpciAnJXMnLiIKIG1zZ3N0ciAiS29ubnRlIEFyYmVpdHN2ZXJ6ZWljaG5pcyAnJXMnIG5pY2h0IGVyc3RlbGxlbi4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NTMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCiBtc2dzdHIgIktsb25lIGluIEJhcmUtUmVwb3NpdG9yeSAnJXMnLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAiS2xvbmUgbmFjaCAnJXMnLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gY2xvbmUgJXMiCiBtc2dzdHIgIldlacOfIG5pY2h0IHdpZSAlcyB6dSBrbG9uZW4gaXN0LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0MgorIzogYnVpbHRpbi9jbG9uZS5jOjkzOSBidWlsdGluL2Nsb25lLmM6OTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgogbXNnc3RyICJSZW1vdGUtQnJhbmNoICVzIG5pY2h0IGltIFVwc3RyZWFtLVJlcG9zaXRvcnkgJXMgZ2VmdW5kZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NTAKIG1zZ2lkICJZb3UgYXBwZWFyIHRvIGhhdmUgY2xvbmVkIGFuIGVtcHR5IHJlcG9zaXRvcnkuIgogbXNnc3RyICJTaWUgc2NoZWluZW4gZWluIGxlZXJlcyBSZXBvc2l0b3J5IGdla2xvbnQgenUgaGFiZW4uIgogCkBAIC0zOTU2LDE1ICs0MTMxLDE1IEBACiBtc2dpZCAiLS1jb21tYW5kIG11c3QgYmUgdGhlIGZpcnN0IGFyZ3VtZW50IgogbXNnc3RyICJEaWUgT3B0aW9uIC0tY29tbWFuZCBtdXNzIGFuIGVyc3RlciBTdGVsbGUgc3RlaGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNQorIzogYnVpbHRpbi9jb21taXQuYzozNgogbXNnaWQgImdpdCBjb21taXQgW29wdGlvbnNdIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IGNvbW1pdCBbT3B0aW9uZW5dIFstLV0gPFBmYWRzcGV6aWZpa2F0aW9uPi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MAorIzogYnVpbHRpbi9jb21taXQuYzo0MQogbXNnaWQgImdpdCBzdGF0dXMgW29wdGlvbnNdIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IHN0YXR1cyBbT3B0aW9uZW5dIFstLV0gPFBmYWRzcGV6aWZpa2F0aW9uPi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NQorIzogYnVpbHRpbi9jb21taXQuYzo0NgogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC0zOTkwLDcgKzQxNjUsNyBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NworIzogYnVpbHRpbi9jb21taXQuYzo1OAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gYW1lbmQgdGhlIG1vc3QgcmVjZW50IGNvbW1pdCwgYnV0IGRvaW5nIHNvIHdvdWxkIG1ha2VcbiIKICJpdCBlbXB0eS4gWW91IGNhbiByZXBlYXQgeW91ciBjb21tYW5kIHdpdGggLS1hbGxvdy1lbXB0eSwgb3IgeW91IGNhblxuIgpAQCAtNDAwMCw3ICs0MTc1LDcgQEAKICJtYWNoZW4uIFNpZSBrw7ZubmVuIElociBLb21tYW5kbyBtaXQgLS1hbGxvdy1lbXB0eSB3aWVkZXJob2xlbiwgb2RlciBkaWVzZW5cbiIKICJDb21taXQgbWl0IFwiZ2l0IHJlc2V0IEhFQUReXCIgdm9sbHN0w6RuZGlnIGVudGZlcm5lbi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MgorIzogYnVpbHRpbi9jb21taXQuYzo2MwogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCkBAIC00MDE1LDExICs0MTkwLDExIEBACiAiICAgIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eVxuIgogIlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5CisjOiBidWlsdGluL2NvbW1pdC5jOjcwCiBtc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgcmVzZXQnXG4iCiBtc2dzdHIgIkFuZGVybmZhbGxzIGJlbnV0emVuIFNpZSBiaXR0ZSAnZ2l0IHJlc2V0J1xuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcyCisjOiBidWlsdGluL2NvbW1pdC5jOjczCiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKICJcbiIKQEAgLTQwMzUsOTQgKzQyMTAsOTQgQEAKICJCZW51dHplbiBTaWUgYW5zY2hsaWXDn2VuZCBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIsIHVtIGRpZVxuIgogIkNoZXJyeS1QaWNrLU9wZXJhdGlvbiBtaXQgZGVuIHZlcmJsZWliZW5kZW4gQ29tbWl0cyBmb3J0enVzZXR6ZW4uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Mjc5CisjOiBidWlsdGluL2NvbW1pdC5jOjI4NwogbXNnaWQgImZhaWxlZCB0byB1bnBhY2sgSEVBRCB0cmVlIG9iamVjdCIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRW50cGFja2VuIGRlcyBcIlRyZWVcIi1PYmpla3RlcyB2b24gSEVBRC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzIxCisjOiBidWlsdGluL2NvbW1pdC5jOjMyOQogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJLb25udGUgdGVtcG9yw6RyZSBTdGFnaW5nLUFyZWEgbmljaHQgZXJzdGVsbGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzM1CiBtc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKIG1zZ3N0ciAiaW50ZXJha3RpdmVzIEhpbnp1ZsO8Z2VuIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM2MCBidWlsdGluL2NvbW1pdC5jOjM4MSBidWlsdGluL2NvbW1pdC5jOjQzMQorIzogYnVpbHRpbi9jb21taXQuYzozNjggYnVpbHRpbi9jb21taXQuYzozODkgYnVpbHRpbi9jb21taXQuYzo0MzkKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3X2luZGV4IGZpbGUiCiBtc2dzdHIgIktvbm50ZSBuZXdfaW5kZXggRGF0ZWkgbmljaHQgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQxMgorIzogYnVpbHRpbi9jb21taXQuYzo0MjAKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBtZXJnZS4iCiBtc2dzdHIgIkthbm4ga2VpbmVuIFRlaWwtQ29tbWl0IGR1cmNoZsO8aHJlbiwgd8OkaHJlbmQgZWluIE1lcmdlIGltIEdhbmdlIGlzdC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDE0CisjOiBidWlsdGluL2NvbW1pdC5jOjQyMgogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAiIgogIkthbm4ga2VpbmVuIFRlaWwtQ29tbWl0IGR1cmNoZsO8aHJlbiwgd8OkaHJlbmQgXCJjaGVycnktcGlja1wiIGltIEdhbmdlIGlzdC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDI0CisjOiBidWlsdGluL2NvbW1pdC5jOjQzMgogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiS2FubiBTdGFnaW5nLUFyZWEgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDQ0CisjOiBidWlsdGluL2NvbW1pdC5jOjQ1MgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSIKIG1zZ3N0ciAiS29ubnRlIHRlbXBvcsOkcmUgU3RhZ2luZy1BcmVhLURhdGVpIG5pY2h0IHNjaHJlaWJlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTM1IGJ1aWx0aW4vY29tbWl0LmM6NTQxCisjOiBidWlsdGluL2NvbW1pdC5jOjU0MyBidWlsdGluL2NvbW1pdC5jOjU0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbW1pdDogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIENvbW1pdDogJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTYzCisjOiBidWlsdGluL2NvbW1pdC5jOjU3MQogbXNnaWQgIm1hbGZvcm1lZCAtLWF1dGhvciBwYXJhbWV0ZXIiCiBtc2dzdHIgIkZlaGxlcmhhZnRlciAtLWF1dGhvciBQYXJhbWV0ZXIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTgzCisjOiBidWlsdGluL2NvbW1pdC5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaWRlbnQgc3RyaW5nOiAnJXMnIgogbXNnc3RyICJGZWhsZXJoYWZ0ZXIgSWRlbnQtU3RyaW5nOiAnJXMnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYyMSBidWlsdGluL2NvbW1pdC5jOjY1NCBidWlsdGluL2NvbW1pdC5jOjk4MgorIzogYnVpbHRpbi9jb21taXQuYzo2MzAgYnVpbHRpbi9jb21taXQuYzo2NjMgYnVpbHRpbi9jb21taXQuYzoxMDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgY29tbWl0ICVzIgogbXNnc3RyICJLb25udGUgQ29tbWl0ICVzIG5pY2h0IG5hY2hzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MzMgYnVpbHRpbi9zaG9ydGxvZy5jOjI3MQorIzogYnVpbHRpbi9jb21taXQuYzo2NDIgYnVpbHRpbi9zaG9ydGxvZy5jOjI3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIocmVhZGluZyBsb2cgbWVzc2FnZSBmcm9tIHN0YW5kYXJkIGlucHV0KVxuIgogbXNnc3RyICIobGVzZSBMb2ctTmFjaHJpY2h0IHZvbiBTdGFuZGFyZC1FaW5nYWJlKVxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYzNQorIzogYnVpbHRpbi9jb21taXQuYzo2NDQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiS29ubnRlIExvZyBuaWNodCB2b24gU3RhbmRhcmQtRWluZ2FiZSBsZXNlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjM5CisjOiBidWlsdGluL2NvbW1pdC5jOjY0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZmlsZSAnJXMnIgogbXNnc3RyICJLb25udGUgTG9nLURhdGVpICclcycgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjY1NAogbXNnaWQgImNvbW1pdCBoYXMgZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAiQ29tbWl0IGhhdCBlaW5lIGxlZXJlIEJlc2NocmVpYnVuZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjcwCiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTVNHIgogbXNnc3RyICJLb25udGUgTUVSR0VfTVNHIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY2NQorIzogYnVpbHRpbi9jb21taXQuYzo2NzQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBTUVVBU0hfTVNHIgogbXNnc3RyICJLb25udGUgU1FVQVNIX01TRyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkICclcyciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczMAorIzogYnVpbHRpbi9jb21taXQuYzo3NDkKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgY29tbWl0IHRlbXBsYXRlIgogbXNnc3RyICJLb25udGUgQ29tbWl0LVZvcmxhZ2UgbmljaHQgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc0MQorIzogYnVpbHRpbi9jb21taXQuYzo3NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNDEzNyw3ICs0MzEyLDcgQEAKICJcdCVzXG4iCiAidW5kIHZlcnN1Y2hlbiBTaWUgZXMgZXJuZXV0LlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc0NgorIzogYnVpbHRpbi9jb21taXQuYzo3NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNDE1Miw3ICs0MzI3LDcgQEAKICJcdCVzXG4iCiAidW5kIHZlcnN1Y2hlbiBTaWUgZXMgZXJuZXV0LlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc1OAorIzogYnVpbHRpbi9jb21taXQuYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTQxNjIsNyArNDMzNyw3IEBACiAiZGllIG1pdCAnJWMnIGJlZ2lubmVuLCB3ZXJkZW4gaWdub3JpZXJ0LCB1bmQgZWluZSBsZWVyZSBCZXNjaHJlaWJ1bmdcbiIKICJicmljaHQgZGVuIENvbW1pdCBhYi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC00MTc1LDE1MiArNDM1MCwxNTIgQEAKICJlbnRmZXJuZW4uXG4iCiAiRWluZSBsZWVyZSBCZXNjaHJlaWJ1bmcgYnJpY2h0IGRlbiBDb21taXQgYWIuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Nzc2CisjOiBidWlsdGluL2NvbW1pdC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0F1dGhvcjogICAgJXMiCiBtc2dzdHIgIiVzQXV0b3I6ICAgICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc4MworIzogYnVpbHRpbi9jb21taXQuYzo4MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNDb21taXR0ZXI6ICVzIgogbXNnc3RyICIlc0NvbW1pdC1FcnN0ZWxsZXI6ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgwMworIzogYnVpbHRpbi9jb21taXQuYzo4MjIKIG1zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAiS2FubiBTdGFnaW5nLUFyZWEgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NQogbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSBFcnpldWdlbiBkZXIgXCJUcmVlXCItT2JqZWt0ZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NjAgYnVpbHRpbi90YWcuYzozNTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODgwIGJ1aWx0aW4vdGFnLmM6MzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBsZWFzZSBzdXBwbHkgdGhlIG1lc3NhZ2UgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbi5cbiIKIG1zZ3N0ciAiIgogIkJpdHRlIGxpZWZlcm4gU2llIGVpbmUgQmVzY2hyZWlidW5nIGVudHdlZGVyIG1pdCBkZXIgT3B0aW9uIC1tIG9kZXIgLUYuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTU3CisjOiBidWlsdGluL2NvbW1pdC5jOjk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBleGlzdGluZyBhdXRob3IgZm91bmQgd2l0aCAnJXMnIgogbXNnc3RyICJLZWluIGV4aXN0aWVyZW5kZXIgQXV0b3IgbWl0ICclcycgZ2VmdW5kZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk3MiBidWlsdGluL2NvbW1pdC5jOjEyMDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTk3IGJ1aWx0aW4vY29tbWl0LmM6MTIzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHVudHJhY2tlZCBmaWxlcyBtb2RlICclcyciCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIE1vZHVzICclcycgZsO8ciB1bmJlb2JhY2h0ZXRlIERhdGVpZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAwOQorIzogYnVpbHRpbi9jb21taXQuYzoxMDM0CiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1sb25nIHVuZCAteiBzaW5kIGlua29tcGF0aWJlbC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAzOQorIzogYnVpbHRpbi9jb21taXQuYzoxMDY0CiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb25lbiAtLXJlc2V0LWF1dGhvciB1bmQgLS1hdXRob3Iga8O2bm5lbiBuaWNodCBnZW1laW5zYW0gdmVyd2VuZGV0ICIKICJ3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3NQogbXNnaWQgIllvdSBoYXZlIG5vdGhpbmcgdG8gYW1lbmQuIgogbXNnc3RyICJTaWUgaGFiZW4gbmljaHRzIGbDvHIgXCItLWFtZW5kXCIuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3OAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIkVpbiBNZXJnZSBpc3QgaW0gR2FuZ2UgLS0ga2FubiBcIi0tYW1lbmRcIiBuaWNodCBhdXNmw7xocmVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODAKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJcImNoZXJyeS1waWNrXCIgaXN0IGltIEdhbmdlIC0tIGthbm4gXCItLWFtZW5kXCIgbmljaHQgYXVzZsO8aHJlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA1OAorIzogYnVpbHRpbi9jb21taXQuYzoxMDgzCiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb25lbiAtLXNxdWFzaCB1bmQgLS1maXh1cCBrw7ZubmVuIG5pY2h0IGdlbWVpbnNhbSB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDY4CisjOiBidWlsdGluL2NvbW1pdC5jOjEwOTMKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiRXMga2FubiBudXIgZWluZSBPcHRpb24gdm9uIC1jLy1DLy1GLy0tZml4dXAgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3MAorIzogYnVpbHRpbi9jb21taXQuYzoxMDk1CiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLy0tZml4dXAuIgogbXNnc3RyICJEaWUgT3B0aW9uIC1tIGthbm4gbmljaHQgbWl0IC1jLy1DLy1GLy0tZml4dXAga29tYmluaWVydCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEwMwogbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uIC0tcmVzZXQtLWF1dGhvciBrYW5uIG51ciBtaXQgLUMsIC1jIG9kZXIgLS1hbWVuZCB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDk1CisjOiBidWlsdGluL2NvbW1pdC5jOjExMjAKIG1zZ2lkICJPbmx5IG9uZSBvZiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIiIKICJFcyBrYW5uIG51ciBlaW5lIE9wdGlvbiB2b24gLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggIgogInZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwOTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyMgogbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb25lbiAtLWluY2x1ZGUgdW5kIC0tb25seSBrw7ZubmVuIG51ciBtaXQgZGVyIEFuZ2FiZSB2b24gUGZhZGVuICIKICJ2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDk5CisjOiBidWlsdGluL2NvbW1pdC5jOjExMjQKIG1zZ2lkICJDbGV2ZXIuLi4gYW1lbmRpbmcgdGhlIGxhc3Qgb25lIHdpdGggZGlydHkgaW5kZXguIgogbXNnc3RyICIiCiAiS2x1Zy4uLiBkZW4gbGV0enRlbiBDb21taXQgbWl0IGVpbmVyIGdlw6RuZGVydGVuIFN0YWdpbmctQXJlYSBuYWNoYmVzc2Vybi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEwMQorIzogYnVpbHRpbi9jb21taXQuYzoxMTI2CiBtc2dpZCAiRXhwbGljaXQgcGF0aHMgc3BlY2lmaWVkIHdpdGhvdXQgLWkgbm9yIC1vOyBhc3N1bWluZyAtLW9ubHkgcGF0aHMuLi4iCiBtc2dzdHIgIiIKICJFeHBsaXppdGUgUGZhZGUgb2huZSAtaSBvZGVyIC1vIGFuZ2VnZWJlbjsgdW50ZXIgZGVyIEFubmFobWUgdm9uIC0tb25seSAiCiAiUGZhZGVuLi4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMTEgYnVpbHRpbi90YWcuYzo1NzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEzNiBidWlsdGluL3RhZy5jOjU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgXCJjbGVhbnVwXCIgTW9kdXMgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExNgorIzogYnVpbHRpbi9jb21taXQuYzoxMTQxCiBtc2dpZCAiUGF0aHMgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtYSBrYW5uIG51ciBtaXQgZGVyIEFuZ2FiZSB2b24gUGZhZGVuIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjIgYnVpbHRpbi9jb21taXQuYzoxNDU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTEgYnVpbHRpbi9jb21taXQuYzoxNDgyCiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICJ6ZWlndCBTdGF0dXMgaW0gS3VyemZvcm1hdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjI0IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NworIzogYnVpbHRpbi9jb21taXQuYzoxMjUzIGJ1aWx0aW4vY29tbWl0LmM6MTQ4NAogbXNnaWQgInNob3cgYnJhbmNoIGluZm9ybWF0aW9uIgogbXNnc3RyICJ6ZWlndCBCcmFuY2hpbmZvcm1hdGlvbmVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjYgYnVpbHRpbi9jb21taXQuYzoxNDU5IGJ1aWx0aW4vcHVzaC5jOjQ1MgorIzogYnVpbHRpbi9jb21taXQuYzoxMjU1IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NiBidWlsdGluL3B1c2guYzo0NjAKIG1zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKIG1zZ3N0ciAibWFzY2hpbmVubGVzYmFyZSBBdXNnYWJlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjkgYnVpbHRpbi9jb21taXQuYzoxNDYxCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTggYnVpbHRpbi9jb21taXQuYzoxNDg4CiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICJ6ZWlndCBTdGF0dXMgaW0gTGFuZ2Zvcm1hdCAoU3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzIgYnVpbHRpbi9jb21taXQuYzoxNDY0CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjEgYnVpbHRpbi9jb21taXQuYzoxNDkxCiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiCiBtc2dzdHIgInNjaGxpZcOfdCBFaW50csOkZ2UgbWl0IE5VTC1aZWljaGVuIGFiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzQgYnVpbHRpbi9jb21taXQuYzoxNDY3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NjcKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzAgYnVpbHRpbi90YWcuYzo0NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2MyBidWlsdGluL2NvbW1pdC5jOjE0OTQgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NyBidWlsdGluL3RhZy5jOjQ1OQogbXNnaWQgIm1vZGUiCiBtc2dzdHIgIk1vZHVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzUgYnVpbHRpbi9jb21taXQuYzoxNDY3CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjQgYnVpbHRpbi9jb21taXQuYzoxNDk0CiBtc2dpZCAic2hvdyB1bnRyYWNrZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiBhbGwsIG5vcm1hbCwgbm8uIChEZWZhdWx0OiBhbGwpIgogbXNnc3RyICIiCiAiemVpZ3QgbmljaHQgYmVvYmFjaHRldGUgRGF0ZWllbiwgb3B0aW9uYWxlIE1vZGk6IGFsbCwgbm9ybWFsLCBuby4gKFN0YW5kYXJkOiAiCiAiYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjM4CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjcKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgInplaWd0IGlnbm9yaWVydGUgRGF0ZWllbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjM5IHBhcnNlLW9wdGlvbnMuaDoxNTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2OCBwYXJzZS1vcHRpb25zLmg6MTU2CiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAid2FubiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjQwCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjkKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCkBAIC00MzI4LDIxOSArNDUwMywyMTkgQEAKICJpZ25vcmllcnQgw4RuZGVydW5nZW4gaW4gU3VibW9kdWxlbiwgb3B0aW9uYWwgd2VubjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKFN0YW5kYXJkOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyNDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI3MQogbXNnaWQgImxpc3QgdW50cmFja2VkIGZpbGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgImxpc3RldCB1bmJlb2JhY2h0ZXRlIERhdGVpZW4gaW4gU3BhbHRlbiBhdWYiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxMworIzogYnVpbHRpbi9jb21taXQuYzoxMzQwCiBtc2dpZCAiY291bGRuJ3QgbG9vayB1cCBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAiS29ubnRlIG5ldSBlcnN0ZWxsdGVuIENvbW1pdCBuaWNodCBuYWNoc2NobGFnZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MgogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAiS29ubnRlIG5ldWxpY2ggZXJzdGVsbHRlbiBDb21taXQgbmljaHQgYW5hbHlzaWVyZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4MwogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgImxvc2dlbMO2c3RlciBIRUFEIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4NQogbXNnaWQgIiAocm9vdC1jb21taXQpIgogbXNnc3RyICIgKEJhc2lzLUNvbW1pdCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQyNQorIzogYnVpbHRpbi9jb21taXQuYzoxNDUyCiBtc2dpZCAic3VwcHJlc3Mgc3VtbWFyeSBhZnRlciBzdWNjZXNzZnVsIGNvbW1pdCIKIG1zZ3N0ciAidW50ZXJkcsO8Y2t0IFp1c2FtbWVuZmFzc3VuZyBuYWNoIGVyZm9sZ3JlaWNoZW0gQ29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MwogbXNnaWQgInNob3cgZGlmZiBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAiemVpZ3QgVW50ZXJzY2hpZWRlIGluIENvbW1pdC1CZXNjaHJlaWJ1bmdzdm9ybGFnZSBhbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDI4CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTUKIG1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgogbXNnc3RyICJPcHRpb25lbiBmw7xyIENvbW1pdC1CZXNjaHJlaWJ1bmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQyOSBidWlsdGluL3RhZy5jOjQ1NworIzogYnVpbHRpbi9jb21taXQuYzoxNDU2IGJ1aWx0aW4vdGFnLmM6NDU3CiBtc2dpZCAicmVhZCBtZXNzYWdlIGZyb20gZmlsZSIKIG1zZ3N0ciAibGllc3QgQmVzY2hyZWlidW5nIHZvbiBEYXRlaSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTcKIG1zZ2lkICJhdXRob3IiCiBtc2dzdHIgIkF1dG9yIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NwogbXNnaWQgIm92ZXJyaWRlIGF1dGhvciBmb3IgY29tbWl0IgogbXNnc3RyICLDvGJlcnNjaHJlaWJ0IEF1dG9yIGVpbmVzIENvbW1pdHMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMSBidWlsdGluL2djLmM6MTc4CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTggYnVpbHRpbi9nYy5jOjI2MAogbXNnaWQgImRhdGUiCiBtc2dzdHIgIkRhdHVtIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OAogbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKIG1zZ3N0ciAiw7xiZXJzY2hyZWlidCBEYXR1bSBlaW5lcyBDb21taXRzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzIgYnVpbHRpbi9tZXJnZS5jOjIyMyBidWlsdGluL25vdGVzLmM6NDA1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTkgYnVpbHRpbi9tZXJnZS5jOjIyMyBidWlsdGluL25vdGVzLmM6NDA1CiAjOiBidWlsdGluL25vdGVzLmM6NTYyIGJ1aWx0aW4vdGFnLmM6NDU1CiBtc2dpZCAibWVzc2FnZSIKIG1zZ3N0ciAiQmVzY2hyZWlidW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OQogbXNnaWQgImNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJDb21taXQtQmVzY2hyZWlidW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MAogbXNnaWQgInJldXNlIGFuZCBlZGl0IG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICJ2ZXJ3ZW5kZXQgd2llZGVyIHVuZCBlZGl0aWVydCBCZXNjaHJlaWJ1bmcgZGVzIGFuZ2VnZWJlbmVuIENvbW1pdHMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNAorIzogYnVpbHRpbi9jb21taXQuYzoxNDYxCiBtc2dpZCAicmV1c2UgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgInZlcndlbmRldCBCZXNjaHJlaWJ1bmcgZGVzIGFuZ2VnZWJlbmVuIENvbW1pdHMgd2llZGVyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MgogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIGZpeHVwIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKICJ2ZXJ3ZW5kZXQgZWluZSBhdXRvbWF0aXNjaCB6dXNhbW1lbmdlc2V0enRlIEJlc2NocmVpYnVuZyB6dW0gTmFjaGJlc3Nlcm4gZGVzICIKICJhbmdlZ2ViZW5lbiBDb21taXRzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MwogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIHNxdWFzaCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAidmVyd2VuZGV0IGVpbmUgYXV0b21hdGlzY2ggenVzYW1tZW5nZXNldHp0ZSBCZXNjaHJlaWJ1bmcgYmVpbSBcInNxdWFzaFwiIGRlcyAiCiAiYW5nZWdlYmVuZW4gQ29tbWl0cyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM3CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjQKIG1zZ2lkICJ0aGUgY29tbWl0IGlzIGF1dGhvcmVkIGJ5IG1lIG5vdyAodXNlZCB3aXRoIC1DLy1jLy0tYW1lbmQpIgogbXNnc3RyICJTZXR6dCBTaWUgYWxzIEF1dG9yIGRlcyBDb21taXRzICh2ZXJ3ZW5kZXQgbWl0IC1DLy1jLy0tYW1lbmQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzggYnVpbHRpbi9sb2cuYzoxMTYwIGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjUgYnVpbHRpbi9sb2cuYzoxMTgwIGJ1aWx0aW4vcmV2ZXJ0LmM6ODYKIG1zZ2lkICJhZGQgU2lnbmVkLW9mZi1ieToiCiBtc2dzdHIgImbDvGd0ICdTaWduZWQtb2ZmLWJ5OictWmVpbGUgaGluenUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzOQorIzogYnVpbHRpbi9jb21taXQuYzoxNDY2CiBtc2dpZCAidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIgogbXNnc3RyICJ2ZXJ3ZW5kZXQgYW5nZWdlYmVuZSBWb3JsYWdlbmRhdGVpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NwogbXNnaWQgImZvcmNlIGVkaXQgb2YgY29tbWl0IgogbXNnc3RyICJlcnp3aW5ndCBCZWFyYmVpdHVuZyBkZXMgQ29tbWl0cyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjgKIG1zZ2lkICJkZWZhdWx0IgogbXNnc3RyICJTdGFuZGFyZCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQxIGJ1aWx0aW4vdGFnLmM6NDYwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjggYnVpbHRpbi90YWcuYzo0NjAKIG1zZ2lkICJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIgogbXNnc3RyICIiCiAid2llIExlZXJ6ZWljaGVuIHVuZCAjS29tbWVudGFyZSB2b24gZGVyIEJlc2NocmVpYnVuZyBnZXRyZW5udCB3ZXJkZW4gc29sbGVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OQogbXNnaWQgImluY2x1ZGUgc3RhdHVzIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICJmw7xndCBTdGF0dXMgaW4gZGllIENvbW1pdC1CZXNjaHJlaWJ1bmdzdm9ybGFnZSBlaW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MyBidWlsdGluL21lcmdlLmM6MjMwIGJ1aWx0aW4vdGFnLmM6NDYxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzAgYnVpbHRpbi9tZXJnZS5jOjIzMCBidWlsdGluL3RhZy5jOjQ2MQogbXNnaWQgImtleSBpZCIKIG1zZ3N0ciAiU2NobMO8c3NlbC1JRCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQ0IGJ1aWx0aW4vbWVyZ2UuYzoyMzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MSBidWlsdGluL21lcmdlLmM6MjMxCiBtc2dpZCAiR1BHIHNpZ24gY29tbWl0IgogbXNnc3RyICJzaWduaWVydCBDb21taXQgbWl0IEdQRyIKIAogIy4gZW5kIGNvbW1pdCBtZXNzYWdlIG9wdGlvbnMKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0NworIzogYnVpbHRpbi9jb21taXQuYzoxNDc0CiBtc2dpZCAiQ29tbWl0IGNvbnRlbnRzIG9wdGlvbnMiCiBtc2dzdHIgIk9wdGlvbmVuIGbDvHIgQ29tbWl0LUluaGFsdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzUKIG1zZ2lkICJjb21taXQgYWxsIGNoYW5nZWQgZmlsZXMiCiBtc2dzdHIgImNvbW1pdHRldCBhbGxlIGdlw6RuZGVydGVuIERhdGVpZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0OQorIzogYnVpbHRpbi9jb21taXQuYzoxNDc2CiBtc2dpZCAiYWRkIHNwZWNpZmllZCBmaWxlcyB0byBpbmRleCBmb3IgY29tbWl0IgogbXNnc3RyICJtZXJrdCBkaWUgYW5nZWdlYmVuZW4gRGF0ZWllbiB6dXPDpHR6bGljaCB6dW0gQ29tbWl0IHZvciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDUwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzcKIG1zZ2lkICJpbnRlcmFjdGl2ZWx5IGFkZCBmaWxlcyIKIG1zZ3N0ciAiaW50ZXJha3RpdmVzIEhpbnp1ZsO8Z2VuIHZvbiBEYXRlaWVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OAogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGNoYW5nZXMiCiBtc2dzdHIgImludGVyYWt0aXZlcyBIaW56dWbDvGdlbiB2b24gw4RuZGVydW5nZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MgorIzogYnVpbHRpbi9jb21taXQuYzoxNDc5CiBtc2dpZCAiY29tbWl0IG9ubHkgc3BlY2lmaWVkIGZpbGVzIgogbXNnc3RyICJjb21taXR0ZXQgbnVyIGRpZSBhbmdlZ2ViZW5lbiBEYXRlaWVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MAogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGhvb2siCiBtc2dzdHIgInVtZ2VodCBcInByZS1jb21taXQgaG9va1wiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MQogbXNnaWQgInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiCiBtc2dzdHIgInplaWd0IGFuLCB3YXMgY29tbWl0dGV0IHdlcmRlbiB3w7xyZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNDkyCiBtc2dpZCAiYW1lbmQgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICLDpG5kZXJ0IHZvcmhlcmlnZW4gQ29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MwogbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKIG1zZ3N0ciAidW1nZWh0IFwicG9zdC1yZXdyaXRlIGhvb2tcIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTgKIG1zZ2lkICJvayB0byByZWNvcmQgYW4gZW1wdHkgY2hhbmdlIgogbXNnc3RyICJlcmxhdWJ0IEF1ZnplaWNobnVuZyBlaW5lciBsZWVyZW4gw4RuZGVydW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMAogbXNnaWQgIm9rIHRvIHJlY29yZCBhIGNoYW5nZSB3aXRoIGFuIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgImVybGF1YnQgQXVmemVpY2hudW5nIGVpbmVyIMOEbmRlcnVuZyBtaXQgZWluZXIgbGVlcmVuIEJlc2NocmVpYnVuZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTA3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MjkKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiCiBtc2dzdHIgIktvbm50ZSBDb21taXQgdm9uIEhFQUQgbmljaHQgYW5hbHlzaWVyZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NDUgYnVpbHRpbi9tZXJnZS5jOjUyNQorIzogYnVpbHRpbi9jb21taXQuYzoxNTY3IGJ1aWx0aW4vbWVyZ2UuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgenVtIExlc2VuIMO2ZmZuZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgogbXNnc3RyICJCZXNjaMOkZGlndGUgTUVSR0VfSEVBRC1EYXRlaSAoJXMpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MQogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCiBtc2dzdHIgIktvbm50ZSBNRVJHRV9NT0RFIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZTogJXMiCiBtc2dzdHIgIktvbm50ZSBDb21taXQtQmVzY2hyZWlidW5nIG5pY2h0IGxlc2VuOiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0OyB5b3UgZGlkIG5vdCBlZGl0IHRoZSBtZXNzYWdlLlxuIgogbXNnc3RyICJDb21taXQgYWJnZWJyb2NoZW47IFNpZSBoYWJlbiBkaWUgQmVzY2hyZWlidW5nIG5pY2h0IGVkaXRpZXJ0LlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICJDb21taXQgYXVmZ3J1bmQgbGVlcmVyIEJlc2NocmVpYnVuZyBhYmdlYnJvY2hlbi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjEyIGJ1aWx0aW4vbWVyZ2UuYzo4NjEgYnVpbHRpbi9tZXJnZS5jOjg4NgorIzogYnVpbHRpbi9jb21taXQuYzoxNjM0IGJ1aWx0aW4vbWVyZ2UuYzo4NjEgYnVpbHRpbi9tZXJnZS5jOjg4NgogbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb21taXQgb2JqZWN0IgogbXNnc3RyICJGZWhsZXIgYmVpbSBTY2hyZWliZW4gZGVzIENvbW1pdC1PYmpla3Rlcy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMworIzogYnVpbHRpbi9jb21taXQuYzoxNjU1CiBtc2dpZCAiY2Fubm90IGxvY2sgSEVBRCByZWYiCiBtc2dzdHIgIkthbm4gUmVmZXJlbnogdm9uIEhFQUQgbmljaHQgc3BlcnJlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNworIzogYnVpbHRpbi9jb21taXQuYzoxNjU5CiBtc2dpZCAiY2Fubm90IHVwZGF0ZSBIRUFEIHJlZiIKIG1zZ3N0ciAiS2FubiBSZWZlcmVueiB2b24gSEVBRCBuaWNodCBha3R1YWxpc2llcmVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NzAKIG1zZ2lkICIiCiAiUmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLCBidXQgdW5hYmxlIHRvIHdyaXRlXG4iCiAibmV3X2luZGV4IGZpbGUuIENoZWNrIHRoYXQgZGlzayBpcyBub3QgZnVsbCBvciBxdW90YSBpc1xuIgpAQCAtNDU1MSwxMjcgKzQ3MjYsMTMxIEBACiAidm9sbCB1bmQgSWhyIEtvbnRpbmdlbnQgbmljaHQgYXVmZ2VicmF1Y2h0IGlzdCB1bmQgZsO8aHJlbiBTaWVcbiIKICJhbnNjaGxpZcOfZW5kIFwiZ2l0IHJlc2V0IEhFQURcIiB6dSBXaWVkZXJoZXJzdGVsbHVuZyBhdXMuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6OAogbXNnaWQgImdpdCBjb25maWcgW29wdGlvbnNdIgogbXNnc3RyICJnaXQgY29uZmlnIFtPcHRpb25lbl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTQKIG1zZ2lkICJDb25maWcgZmlsZSBsb2NhdGlvbiIKIG1zZ3N0ciAiT3J0IGRlciBLb25maWd1cmF0aW9uc2RhdGVpIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjUzCisjOiBidWlsdGluL2NvbmZpZy5jOjU1CiBtc2dpZCAidXNlIGdsb2JhbCBjb25maWcgZmlsZSIKIG1zZ3N0ciAidmVyd2VuZGV0IGdsb2JhbGUgS29uZmlndXJhdGlvbnNkYXRlaSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NAorIzogYnVpbHRpbi9jb25maWcuYzo1NgogbXNnaWQgInVzZSBzeXN0ZW0gY29uZmlnIGZpbGUiCiBtc2dzdHIgInZlcndlbmRldCBzeXN0ZW13ZWl0ZSBLb25maWd1cmF0aW9uc2RhdGVpIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU1CisjOiBidWlsdGluL2NvbmZpZy5jOjU3CiBtc2dpZCAidXNlIHJlcG9zaXRvcnkgY29uZmlnIGZpbGUiCiBtc2dzdHIgInZlcndlbmRldCBLb25maWd1cmF0aW9uc2RhdGVpIGRlcyBSZXBvc2l0b3JpZXMiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKIG1zZ2lkICJ1c2UgZ2l2ZW4gY29uZmlnIGZpbGUiCiBtc2dzdHIgInZlcndlbmRldCBkaWUgYW5nZWdlYmVuZSBLb25maWd1cmF0aW9uc2RhdGVpIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjU5CiBtc2dpZCAiYmxvYi1pZCIKIG1zZ3N0ciAiQmxvYi1JZCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgInJlYWQgY29uZmlnIGZyb20gZ2l2ZW4gYmxvYiBvYmplY3QiCiBtc2dzdHIgImxpZXN0IEtvbmZpZ3VyYXRpb24gdm9uIGFuZ2VnZWJlbmVtIEJsb2ItT2JqZWt0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU4CisjOiBidWlsdGluL2NvbmZpZy5jOjYwCiBtc2dpZCAiQWN0aW9uIgogbXNnc3RyICJBa3Rpb24iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKIG1zZ2lkICJnZXQgdmFsdWU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiZ2lidCBXZXJ0IHp1csO8Y2s6IE5hbWUgW1dlcnQtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYwCisjOiBidWlsdGluL2NvbmZpZy5jOjYyCiBtc2dpZCAiZ2V0IGFsbCB2YWx1ZXM6IGtleSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJnaWJ0IGFsbGUgV2VydGUgenVyw7xjazogU2NobMO8c3NlbCBbV2VydC1yZWdleF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKIG1zZ2lkICJnZXQgdmFsdWVzIGZvciByZWdleHA6IG5hbWUtcmVnZXggW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiZ2lidCBXZXJ0ZSBmw7xyIGRlbiByZWd1bMOkcmVuIEF1c2RydWNrIHp1csO8Y2s6IE5hbWUtcmVnZXggW1dlcnQtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYyCisjOiBidWlsdGluL2NvbmZpZy5jOjY0Cittc2dpZCAiZ2V0IHZhbHVlIHNwZWNpZmljIGZvciB0aGUgVVJMOiBzZWN0aW9uWy52YXJdIFVSTCIKK21zZ3N0ciAiZ2lidCBXZXJ0IHNwZXppZmlzY2ggZsO8ciBlaW5lIFVSTCB6dXLDvGNrOiBzZWN0aW9uWy52YXJdIFVSTCIKKworIzogYnVpbHRpbi9jb25maWcuYzo2NQogbXNnaWQgInJlcGxhY2UgYWxsIG1hdGNoaW5nIHZhcmlhYmxlczogbmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgogbXNnc3RyICJlcnNldHp0IGFsbGUgcGFzc2VuZGVuIFZhcmlhYmxlbjogTmFtZSBXZXJ0IFtXZXJ0LXJlZ2V4XSAiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjYKIG1zZ2lkICJhZGQgYSBuZXcgdmFyaWFibGU6IG5hbWUgdmFsdWUiCiBtc2dzdHIgImbDvGd0IG5ldWUgVmFyaWFibGUgaGluenU6IE5hbWUgV2VydCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NAorIzogYnVpbHRpbi9jb25maWcuYzo2NwogbXNnaWQgInJlbW92ZSBhIHZhcmlhYmxlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImVudGZlcm50IGVpbmUgVmFyaWFibGU6IE5hbWUgW1dlcnQtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY1CisjOiBidWlsdGluL2NvbmZpZy5jOjY4CiBtc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImVudGZlcm50IGFsbGUgw5xiZXJlaW5zdGltbXVuZ2VuOiBOYW1lIFtXZXJ0LXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NgorIzogYnVpbHRpbi9jb25maWcuYzo2OQogbXNnaWQgInJlbmFtZSBzZWN0aW9uOiBvbGQtbmFtZSBuZXctbmFtZSIKIG1zZ3N0ciAiYmVuZW5udCBlaW5lIFNla3Rpb24gdW06IGFsdGVyLU5hbWUgbmV1ZXItTmFtZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NworIzogYnVpbHRpbi9jb25maWcuYzo3MAogbXNnaWQgInJlbW92ZSBhIHNlY3Rpb246IG5hbWUiCiBtc2dzdHIgImVudGZlcm50IGVpbmUgU2VrdGlvbjogTmFtZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OAorIzogYnVpbHRpbi9jb25maWcuYzo3MQogbXNnaWQgImxpc3QgYWxsIgogbXNnc3RyICJsaXN0ZXQgYWxsZXMgYXVmIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY5CisjOiBidWlsdGluL2NvbmZpZy5jOjcyCiBtc2dpZCAib3BlbiBhbiBlZGl0b3IiCiBtc2dzdHIgIsO2ZmZuZXQgZWluZW4gRWRpdG9yIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwIGJ1aWx0aW4vY29uZmlnLmM6NzEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMgYnVpbHRpbi9jb25maWcuYzo3NAogbXNnaWQgInNsb3QiCiBtc2dzdHIgIlNsb3QiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBjb25maWd1cmVkOiBbZGVmYXVsdF0iCiBtc2dzdHIgImZpbmRldCBkaWUga29uZmlndXJpZXJ0ZSBGYXJiZTogW1N0YW5kYXJkXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3NAogbXNnaWQgImZpbmQgdGhlIGNvbG9yIHNldHRpbmc6IFtzdGRvdXQtaXMtdHR5XSIKIG1zZ3N0ciAiZmluZGV0IGRpZSBGYXJiZWluc3RlbGx1bmc6IFtTdGFuZGFyZC1BdXNnYWJlLWlzdC1UZXJtaW5hbF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKIG1zZ2lkICJUeXBlIgogbXNnc3RyICJUeXAiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzYKIG1zZ2lkICJ2YWx1ZSBpcyBcInRydWVcIiBvciBcImZhbHNlXCIiCiBtc2dzdHIgIldlcnQgaXN0IFwidHJ1ZVwiIG9kZXIgXCJmYWxzZVwiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0CisjOiBidWlsdGluL2NvbmZpZy5jOjc3CiBtc2dpZCAidmFsdWUgaXMgZGVjaW1hbCBudW1iZXIiCiBtc2dzdHIgIldlcnQgaXN0IGVpbmUgRGV6aW1hbHphaGwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKIG1zZ2lkICJ2YWx1ZSBpcyAtLWJvb2wgb3IgLS1pbnQiCiBtc2dzdHIgIldlcnQgaXN0IC0tYm9vbCBvZGVyIC0taW50IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc2CisjOiBidWlsdGluL2NvbmZpZy5jOjc5CiBtc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKIG1zZ3N0ciAiV2VydCBpc3QgZWluIFBmYWQgKERhdGVpIG9kZXIgVmVyemVpY2huaXNuYW1lKSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NworIzogYnVpbHRpbi9jb25maWcuYzo4MAogbXNnaWQgIk90aGVyIgogbXNnc3RyICJTb25zdGlnZXMiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODEKIG1zZ2lkICJ0ZXJtaW5hdGUgdmFsdWVzIHdpdGggTlVMIGJ5dGUiCiBtc2dzdHIgInNjaGxpZcOfdCBXZXJ0ZSBtaXQgTlVMLUJ5dGUgYWIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODIKIG1zZ2lkICJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiCiBtc2dzdHIgImJlYWNodGV0IFwiaW5jbHVkZVwiLURpcmVrdGl2ZW4gYmVpbSBOYWNoc2NobGFnZW4iCiAKQEAgLTQ2ODQsOCArNDg2Myw4IEBACiBtc2dzdHIgImdpYnQgR3LDtsOfZW5hbmdhYmVuIGluIG1lbnNjaGVubGVzYmFyZW4gRm9ybWF0IGF1cyIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjE2Ci1tc2dpZCAiZ2l0IGRlc2NyaWJlIFtvcHRpb25zXSA8Y29tbWl0dGlzaD4qIgotbXNnc3RyICJnaXQgZGVzY3JpYmUgW09wdGlvbmVuXSA8Y29tbWl0dGlzaD4qIgorbXNnaWQgImdpdCBkZXNjcmliZSBbb3B0aW9uc10gPGNvbW1pdC1pc2g+KiIKK21zZ3N0ciAiZ2l0IGRlc2NyaWJlIFtPcHRpb25lbl0gPGNvbW1pdC1pc2g+KiIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjE3CiBtc2dpZCAiZ2l0IGRlc2NyaWJlIFtvcHRpb25zXSAtLWRpcnR5IgpAQCAtNDgyMiw3ICs1MDAxLDcgQEAKIG1zZ3N0ciAiS2VpbmUgTmFtZW4gZ2VmdW5kZW4sIGthbm4gbmljaHRzIGJlc2NocmVpYmVuLiIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ4OQotbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0dGlzaGVzIgorbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tZGlydHkga2FubiBuaWNodCBtaXQgQ29tbWl0cyB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAogIzogYnVpbHRpbi9kaWZmLmM6NzkKQEAgLTQ4NTgsMzkgKzUwMzcsMzkgQEAKIG1zZ2lkICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgogbXNnc3RyICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjY2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjczCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBhZnRlciA8bj4gb2JqZWN0cyIKIG1zZ3N0ciAiemVpZ3QgRm9ydHNjaHJpdHQgbmFjaCA8bj4gT2JqZWt0ZW4gYW4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NjgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzUKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2Ygc2lnbmVkIHRhZ3MiCiBtc2dzdHIgInfDpGhsdCBCZWhhbmRsdW5nIHZvbiBzaWduaWVydGVuIFRhZ3MiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzEKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzgKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgogbXNnc3RyICJ3w6RobHQgQmVoYW5kbHVuZyB2b24gVGFncywgZGllIGdlZmlsdGVydGUgT2JqZWt0ZSBtYXJraWVyZW4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzQKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODEKIG1zZ2lkICJEdW1wIG1hcmtzIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAiU2NocmVpYnQgS2VubnplaWNoZW4gaW4gZGllc2UgRGF0ZWkiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODMKIG1zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUiCiBtc2dzdHIgIkltcG9ydGllcnQgS2VubnplaWNoZW4gdm9uIGRpZXNlciBEYXRlaSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4NQogbXNnaWQgIkZha2UgYSB0YWdnZXIgd2hlbiB0YWdzIGxhY2sgb25lIgogbXNnc3RyICJlcnpldWd0IGvDvG5zdGxpY2ggZWluZW4gVGFnLUVyc3RlbGxlciwgd2VubiBkYXMgVGFnIGtlaW5lbiBoYXQiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODcKIG1zZ2lkICJPdXRwdXQgZnVsbCB0cmVlIGZvciBlYWNoIGNvbW1pdCIKIG1zZ3N0ciAiZ2lidCBmw7xyIGplZGVuIENvbW1pdCBkYXMgZ2VzYW10ZSBWZXJ6ZWljaG5pcyBhdXMiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODkKIG1zZ2lkICJVc2UgdGhlIGRvbmUgZmVhdHVyZSB0byB0ZXJtaW5hdGUgdGhlIHN0cmVhbSIKIG1zZ3N0ciAiQmVudXR6dCBkaWUgXCJkb25lXCItRnVua3Rpb24gdW0gZGVuIFN0cm9tIGFienVzY2hsaWXDn2VuIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjkwCiBtc2dpZCAiU2tpcCBvdXRwdXQgb2YgYmxvYiBkYXRhIgogbXNnc3RyICLDnGJlcnNwcmluZ3QgQXVzZ2FiZSB2b24gQmxvYi1EYXRlbiIKIApAQCAtNDkxMCwxNDcgKzUwODksMTQ3IEBACiBtc2dpZCAiZ2l0IGZldGNoIC0tYWxsIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1hbGwgWzxPcHRpb25lbj5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NAogbXNnaWQgImZldGNoIGZyb20gYWxsIHJlbW90ZXMiCiBtc2dzdHIgImZvcmRlcnQgdm9uIGFsbGVuIFJlbW90ZS1SZXBvc2l0b3JpZXMgYW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MgorIzogYnVpbHRpbi9mZXRjaC5jOjc2CiBtc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgogbXNnc3RyICJow6RuZ3QgYW4gLmdpdC9GRVRDSF9IRUFEIGFuLCBhbnN0YXR0IHp1IMO8YmVyc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3OAogbXNnaWQgInBhdGggdG8gdXBsb2FkIHBhY2sgb24gcmVtb3RlIGVuZCIKIG1zZ3N0ciAiUGZhZCBkZXMgUHJvZ3JhbW1zIHp1bSBIb2NobGFkZW4gdm9uIFBha2V0ZW4gYXVmIGRlciBHZWdlbnNlaXRlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3OQogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgImVyendpbmd0IGRhcyDDnGJlcnNjaHJlaWJlbiB2b24gbG9rYWxlbiBCcmFuY2hlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY3CisjOiBidWlsdGluL2ZldGNoLmM6ODEKIG1zZ2lkICJmZXRjaCBmcm9tIG11bHRpcGxlIHJlbW90ZXMiCiBtc2dzdHIgImZvcmRlcnQgdm9uIG1laHJlcmVuIFJlbW90ZS1SZXBvc2l0b3JpZXMgYW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2OQorIzogYnVpbHRpbi9mZXRjaC5jOjgzCiBtc2dpZCAiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIKIG1zZ3N0ciAiZm9yZGVydCBhbGxlIFRhZ3MgdW5kIHZlcmJ1bmRlbmUgT2JqZWt0ZSBhbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcxCisjOiBidWlsdGluL2ZldGNoLmM6ODUKIG1zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCiBtc2dzdHIgImZvcmRlcnQgbmljaHQgYWxsZSBUYWdzIGFuICgtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NwogbXNnaWQgInBydW5lIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyBubyBsb25nZXIgb24gcmVtb3RlIgogbXNnc3RyICIiCiAiZW50ZmVybnQgUmVtb3RlLVRyYWNraW5nLUJyYW5jaGVzLCBkaWUgc2ljaCBuaWNodCBtZWhyIGltIFJlbW90ZS1SZXBvc2l0b3J5ICIKICJiZWZpbmRlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc0CisjOiBidWlsdGluL2ZldGNoLmM6ODgKIG1zZ2lkICJvbi1kZW1hbmQiCiBtc2dzdHIgImJlaS1CZWRhcmYiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NQorIzogYnVpbHRpbi9mZXRjaC5jOjg5CiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAia29udHJvbGxpZXJ0IHJla3Vyc2l2ZSBBbmZvcmRlcnVuZ2VuIHZvbiBTdWJtb2R1bGVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MwogbXNnaWQgImtlZXAgZG93bmxvYWRlZCBwYWNrIgogbXNnc3RyICJiZWjDpGx0IGhlcnVudGVyZ2VsYWRlbmVzIFBha2V0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NQogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICJlcmxhdWJ0IEFrdHVhbGlzaWVydW5nIGRlciBcIkhFQURcIi1SZWZlcmVueiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg0CisjOiBidWlsdGluL2ZldGNoLmM6OTgKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgogbXNnc3RyICJ2ZXJ0aWVmdCBkaWUgSGlzdG9yaWUgZWluZXMgZmxhY2hlbiBLbG9ucyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg2CisjOiBidWlsdGluL2ZldGNoLmM6MTAwCiBtc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImtvbnZlcnRpZXJ0IHp1IGVpbmVtIHZvbGxzdMOkbmRpZ2VuIFJlcG9zaXRvcnkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4OCBidWlsdGluL2xvZy5jOjExNzcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDIgYnVpbHRpbi9sb2cuYzoxMTk3CiBtc2dpZCAiZGlyIgogbXNnc3RyICJWZXJ6ZWljaG5pcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg5CisjOiBidWlsdGluL2ZldGNoLmM6MTAzCiBtc2dpZCAicHJlcGVuZCB0aGlzIHRvIHN1Ym1vZHVsZSBwYXRoIG91dHB1dCIKIG1zZ3N0ciAic3RlbGx0IGRpZXMgYW4gZGllIEF1c2dhYmUgZGVyIFN1Ym1vZHVsLVBmYWRlIHZvcmFuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDYKIG1zZ2lkICJkZWZhdWx0IG1vZGUgZm9yIHJlY3Vyc2lvbiIKIG1zZ3N0ciAiU3RhbmRhcmQtTW9kdXMgZsO8ciBSZWt1cnNpb24iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMzYKIG1zZ2lkICJDb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgSEVBRCIKIG1zZ3N0ciAiS29ubnRlIFJlbW90ZS1SZWZlcmVueiB2b24gSEVBRCBuaWNodCBmaW5kZW4uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjczCisjOiBidWlsdGluL2ZldGNoLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCiBtc2dzdHIgIk9iamVrdCAlcyBuaWNodCBnZWZ1bmRlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI3OAorIzogYnVpbHRpbi9mZXRjaC5jOjI5NQogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW2FrdHVlbGxdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjkyCisjOiBidWlsdGluL2ZldGNoLmM6MzA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiEgJS0qcyAlLSpzIC0+ICVzICAoY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2gpIgogbXNnc3RyICIiCiAiISAlLSpzICUtKnMgLT4gJXMgIChrYW5uIFwiZmV0Y2hcIiBpbSBha3R1ZWxsZW4gQnJhbmNoIG5pY2h0IGF1c2bDvGhyZW4pIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjkzIGJ1aWx0aW4vZmV0Y2guYzozNzkKKyM6IGJ1aWx0aW4vZmV0Y2guYzozMTAgYnVpbHRpbi9mZXRjaC5jOjM5NgogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIlt6dXLDvGNrZ2V3aWVzZW5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzA0CisjOiBidWlsdGluL2ZldGNoLmM6MzIxCiBtc2dpZCAiW3RhZyB1cGRhdGVdIgogbXNnc3RyICJbVGFnIEFrdHVhbGlzaWVydW5nXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMwNiBidWlsdGluL2ZldGNoLmM6MzQxIGJ1aWx0aW4vZmV0Y2guYzozNTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzozMjMgYnVpbHRpbi9mZXRjaC5jOjM1OCBidWlsdGluL2ZldGNoLmM6Mzc2CiBtc2dpZCAiICAodW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYpIgogbXNnc3RyICIgIChrYW5uIGxva2FsZSBSZWZlcmVueiBuaWNodCBha3R1YWxpc2llcmVuKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMyNAorIzogYnVpbHRpbi9mZXRjaC5jOjM0MQogbXNnaWQgIltuZXcgdGFnXSIKIG1zZ3N0ciAiW25ldWVzIFRhZ10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMjcKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNDQKIG1zZ2lkICJbbmV3IGJyYW5jaF0iCiBtc2dzdHIgIltuZXVlciBCcmFuY2hdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzMwCisjOiBidWlsdGluL2ZldGNoLmM6MzQ3CiBtc2dpZCAiW25ldyByZWZdIgogbXNnc3RyICJbbmV1ZSBSZWZlcmVuel0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozNzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzozOTIKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKIG1zZ3N0ciAia2FubiBsb2thbGUgUmVmZXJlbnogbmljaHQgYWt0dWFsaXNpZXJlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM3NQorIzogYnVpbHRpbi9mZXRjaC5jOjM5MgogbXNnaWQgImZvcmNlZCB1cGRhdGUiCiBtc2dzdHIgIkFrdHVhbGlzaWVydW5nIGVyend1bmdlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM4MQorIzogYnVpbHRpbi9mZXRjaC5jOjM5OAogbXNnaWQgIihub24tZmFzdC1mb3J3YXJkKSIKIG1zZ3N0ciAiKGtlaW4gVm9yc3B1bGVuKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQxMiBidWlsdGluL2ZldGNoLmM6NzE4CisjOiBidWlsdGluL2ZldGNoLmM6NDI5IGJ1aWx0aW4vZmV0Y2guYzo3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzXG4iCiBtc2dzdHIgImthbm4gJXMgbmljaHQgw7ZmZm5lbjogJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQyMQorIzogYnVpbHRpbi9mZXRjaC5jOjQzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzXG4iCiBtc2dzdHIgIiVzIGhhdCBuaWNodCBhbGxlIGVyZm9yZGVybGljaGVuIE9iamVrdGUgZ2VzZW5kZXRcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjUyMAorIzogYnVpbHRpbi9mZXRjaC5jOjUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJGcm9tICUuKnNcbiIKIG1zZ3N0ciAiVm9uICUuKnNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjUzMQorIzogYnVpbHRpbi9mZXRjaC5jOjU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAic29tZSBsb2NhbCByZWZzIGNvdWxkIG5vdCBiZSB1cGRhdGVkOyB0cnkgcnVubmluZ1xuIgpAQCAtNTA1OSw1NyArNTIzOCw1NyBAQAogIkVpbmlnZSBsb2thbGUgUmVmZXJlbnplbiBrb25udGVuIG5pY2h0IGFrdHVhbGlzaWVydCB3ZXJkZW47IHZlcnN1Y2hlbiBTaWVcbiIKICInZ2l0IHJlbW90ZSBwcnVuZSAlcycgdW0gamVkZW4gw6RsdGVyZW4sIHdpZGVyc3Byw7xjaGxpY2hlbiBCcmFuY2ggenUgbMO2c2NoZW4uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTgxCisjOiBidWlsdGluL2ZldGNoLmM6NTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyB3aXJkIHVucmVmZXJlbnppZXJ0KSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU4MgorIzogYnVpbHRpbi9mZXRjaC5jOjU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgaGFzIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyB3dXJkZSB1bnJlZmVyZW56aWVydCkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1ODkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MDYKIG1zZ2lkICJbZGVsZXRlZF0iCiBtc2dzdHIgIltnZWzDtnNjaHRdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTkwIGJ1aWx0aW4vcmVtb3RlLmM6MTA1NQorIzogYnVpbHRpbi9mZXRjaC5jOjYwNyBidWlsdGluL3JlbW90ZS5jOjEwNTUKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIihuaWNodHMpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzA4CisjOiBidWlsdGluL2ZldGNoLmM6NzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogIkRlciBcImZldGNoXCIgaW4gZGVuIGFrdHVlbGxlbiBCcmFuY2ggJXMgdm9uIGVpbmVtIG5pY2h0LUJhcmUtUmVwb3NpdG9yeSAiCiAid3VyZGUgdmVyd2VpZ2VydC4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZmV0Y2ggZnJvbSAlcyIKLW1zZ3N0ciAiV2Vpw58gbmljaHQgd2llIHZvbiAlcyBhbmdlZm9yZGVydCB3aXJkLiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjgyMworIzogYnVpbHRpbi9mZXRjaC5jOjc0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgogbXNnc3RyICJPcHRpb24gXCIlc1wiIFdlcnQgXCIlc1wiIGlzdCBuaWNodCBnw7xsdGlnIGbDvHIgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICJPcHRpb24gXCIlc1wiIHdpcmQgaWdub3JpZXJ0IGbDvHIgJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkyOAorIzogYnVpbHRpbi9mZXRjaC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgorbXNnc3RyICJXZWnDnyBuaWNodCB3aWUgdm9uICVzIGFuZ2Vmb3JkZXJ0IHdpcmQuIgorCisjOiBidWlsdGluL2ZldGNoLmM6OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZldGNoaW5nICVzXG4iCiBtc2dzdHIgIkZvcmRlcmUgYW4gdm9uICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MzAgYnVpbHRpbi9yZW1vdGUuYzoxMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NzggYnVpbHRpbi9yZW1vdGUuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgogbXNnc3RyICJLb25udGUgbmljaHQgdm9uICVzIGFuZm9yZGVybiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk0OQorIzogYnVpbHRpbi9mZXRjaC5jOjk5NwogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgpAQCAtNTExOCwzNSArNTI5NywzNSBAQAogIm9kZXIgZGVuIE5hbWVuIGRlcyBSZW1vdGUtUmVwb3NpdG9yaWVzIGFuLCB2b24gd2VsY2hlbSBuZXVlXG4iCiAiQ29tbWl0cyBhbmdlZm9yZGVydCB3ZXJkZW4gc29sbGVuLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk2OQorIzogYnVpbHRpbi9mZXRjaC5jOjEwMjAKIG1zZ2lkICJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgdGFnIG5hbWUuIgogbXNnc3RyICJTaWUgbcO8c3NlbiBkZW4gTmFtZW4gZGVzIFRhZ3MgYW5nZWJlbi4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE1CisjOiBidWlsdGluL2ZldGNoLmM6MTA2OAogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbmVuIC0tZGVwdGggdW5kIC0tdW5zaGFsbG93IGvDtm5uZW4gbmljaHQgZ2VtZWluc2FtIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAxNworIzogYnVpbHRpbi9mZXRjaC5jOjEwNzAKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb24gLS11bnNoYWxsb3cga2FubiBuaWNodCBpbiBlaW5lbSB2b2xsc3TDpG5kaWdlbiBSZXBvc2l0b3J5ICIKICJ2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMzYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDg5CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiCiBtc2dzdHIgImZldGNoIC0tYWxsIGFremVwdGllcnQga2VpbiBSZXBvc2l0b3J5IGFscyBBcmd1bWVudCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMzgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDkxCiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgbWFrZSBzZW5zZSB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICJmZXRjaCAtLWFsbCBrYW5uIG5pY2h0IG1pdCBSZWZzcGVjcyB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNDkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlIG9yIHJlbW90ZSBncm91cDogJXMiCiBtc2dzdHIgIktlaW4gUmVtb3RlLVJlcG9zaXRvcnkgKGVpbnplbG4gb2RlciBHcnVwcGUpOiAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEwCiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICIiCiAiRGFzIEFiaG9sZW4gZWluZXIgR3J1cHBlIHZvbiBSZW1vdGUtUmVwb3NpdG9yaWVzIGthbm4gbmljaHQgbWl0IGRlciBBbmdhYmVcbiIKQEAgLTUxNTcsOSArNTMzNiw5IEBACiBtc2dzdHIgIiIKICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPEJlc2NocmVpYnVuZz5dIFstLWxvZ1s9PG4+XXwtLW5vLWxvZ10gWy0tZmlsZSA8RGF0ZWk+XSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NiBidWlsdGluL2dyZXAuYzo3MDAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDMgYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NSBidWlsdGluL3Nob3ctcmVmLmM6MTc5Ci0jOiBidWlsdGluL3RhZy5jOjQ0NiBwYXJzZS1vcHRpb25zLmg6MTMzIHBhcnNlLW9wdGlvbnMuaDoyNDMKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYgYnVpbHRpbi9ncmVwLmM6NzAyCisjOiBidWlsdGluL21lcmdlLmM6MjAzIGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUgYnVpbHRpbi9zaG93LXJlZi5jOjE3OAorIzogYnVpbHRpbi90YWcuYzo0NDYgcGFyc2Utb3B0aW9ucy5oOjEzNSBwYXJzZS1vcHRpb25zLmg6MjQ1CiBtc2dpZCAibiIKIG1zZ3N0ciAiQW56YWhsIgogCkBAIC01MTgzLDExNyArNTM2MiwxMjIgQEAKIG1zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKIG1zZ3N0ciAiRGF0ZWkgenVtIEVpbmxlc2VuIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk3OQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5OTUKIG1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFtvcHRpb25zXSBbPHBhdHRlcm4+XSIKIG1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbT3B0aW9uZW5dIFs8TXVzdGVyPl0iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTk0CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMTAKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHNoZWxscyIKIG1zZ3N0ciAiZm9ybWF0aWVydCBQbGF0emhhbHRlciBhbHMgU2hlbGwtU3RyaW5nIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5NgorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDEyCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBwZXJsIgogbXNnc3RyICJmb3JtYXRpZXJ0IFBsYXR6aGFsdGVyIGFscyBQZXJsLVN0cmluZyIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5OTgKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAxNAogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgcHl0aG9uIgogbXNnc3RyICJmb3JtYXRpZXJ0IFBsYXR6aGFsdGVyIGFscyBQeXRob24tU3RyaW5nIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDAKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAxNgogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgdGNsIgogbXNnc3RyICJmb3JtYXRpZXJ0IFBsYXR6aGFsdGVyIGFscyBUQ0wtU3RyaW5nIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDMKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAxOQogbXNnaWQgInNob3cgb25seSA8bj4gbWF0Y2hlZCByZWZzIgogbXNnc3RyICJ6ZWlndCBudXIgPG4+IHBhc3NlbmRlIFJlZmVyZW56ZW4iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDIwCiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICJGb3JtYXQiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDIwCiBtc2dpZCAiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIKIG1zZ3N0ciAiZsO8ciBkaWUgQXVzZ2FiZSB6dSB2ZXJ3ZW5kZW5kZXMgRm9ybWF0IgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDUKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAyMQogbXNnaWQgImtleSIKIG1zZ3N0ciAiU2Now7xzc2VsIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDYKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAyMgogbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKIG1zZ3N0ciAic29ydGllcmUgbmFjaCBkaWVzZW0gRmVsZCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjA4CisjOiBidWlsdGluL2ZzY2suYzo2MDcKIG1zZ2lkICJnaXQgZnNjayBbb3B0aW9uc10gWzxvYmplY3Q+Li4uXSIKIG1zZ3N0ciAiZ2l0IGZzY2sgW09wdGlvbmVuXSBbPE9iamVrdD4uLi5dIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTQKKyM6IGJ1aWx0aW4vZnNjay5jOjYxMwogbXNnaWQgInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAiemVpZ3QgdW5lcnJlaWNoYmFyZSBPYmpla3RlIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTUKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNAogbXNnaWQgInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiemVpZ3QgdW5yZWZlcmVuemllcnRlIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYxNgorIzogYnVpbHRpbi9mc2NrLmM6NjE1CiBtc2dpZCAicmVwb3J0IHRhZ3MiCiBtc2dzdHIgIm1lbGRldCBUYWdzIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTcKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNgogbXNnaWQgInJlcG9ydCByb290IG5vZGVzIgogbXNnc3RyICJtZWxkZXQgSGF1cHR3dXJ6ZWxuIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTgKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNwogbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgogbXNnc3RyICJwcsO8ZnQgT2JqZWt0ZSBpbiBkZXIgU3RhZ2luZy1BcmVhIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTkKKyM6IGJ1aWx0aW4vZnNjay5jOjYxOAogbXNnaWQgIm1ha2UgcmVmbG9ncyBoZWFkIG5vZGVzIChkZWZhdWx0KSIKIG1zZ3N0ciAicHLDvGZ0IGRpZSBSZWZsb2dzIChTdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYyMAorIzogYnVpbHRpbi9mc2NrLmM6NjE5CiBtc2dpZCAiYWxzbyBjb25zaWRlciBwYWNrcyBhbmQgYWx0ZXJuYXRlIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjIxCisjOiBidWlsdGluL2ZzY2suYzo2MjAKIG1zZ2lkICJlbmFibGUgbW9yZSBzdHJpY3QgY2hlY2tpbmciCiBtc2dzdHIgImFrdGl2aWVydCBnZW5hdWVyZSBQcsO8ZnVuZyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjIzCisjOiBidWlsdGluL2ZzY2suYzo2MjIKIG1zZ2lkICJ3cml0ZSBkYW5nbGluZyBvYmplY3RzIGluIC5naXQvbG9zdC1mb3VuZCIKIG1zZ3N0ciAic2NocmVpYnQgdW5yZWZlcmVuemllcnRlIE9iamVrdGUgbmFjaCAuZ2l0L2xvc3QtZm91bmQiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYyNCBidWlsdGluL3BydW5lLmM6MTM0CisjOiBidWlsdGluL2ZzY2suYzo2MjMgYnVpbHRpbi9wcnVuZS5jOjEzNAogbXNnaWQgInNob3cgcHJvZ3Jlc3MiCiBtc2dzdHIgInplaWd0IEZvcnRzY2hyaXR0c2FuemVpZ2UiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoyMgorIzogYnVpbHRpbi9nYy5jOjIzCiBtc2dpZCAiZ2l0IGdjIFtvcHRpb25zXSIKIG1zZ3N0ciAiZ2l0IGdjIFtPcHRpb25lbl0iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo2MworIzogYnVpbHRpbi9nYy5jOjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgJXM6ICclcyciCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyICVzOiAnJXMnIgogCi0jOiBidWlsdGluL2djLmM6OTAKKyM6IGJ1aWx0aW4vZ2MuYzoxMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5zYW5lbHkgbG9uZyBvYmplY3QgZGlyZWN0b3J5ICUuKnMiCiBtc2dzdHIgInp1IGxhbmdlcyBPYmpla3QtVmVyemVpY2huaXMgJS4qcyIKIAotIzogYnVpbHRpbi9nYy5jOjE3OQorIzogYnVpbHRpbi9nYy5jOjI2MQogbXNnaWQgInBydW5lIHVucmVmZXJlbmNlZCBvYmplY3RzIgogbXNnc3RyICJlbnRmZXJudCB1bnJlZmVyZW56aWVydGUgT2JqZWt0ZSIKIAotIzogYnVpbHRpbi9nYy5jOjE4MQorIzogYnVpbHRpbi9nYy5jOjI2MwogbXNnaWQgImJlIG1vcmUgdGhvcm91Z2ggKGluY3JlYXNlZCBydW50aW1lKSIKIG1zZ3N0ciAibWVociBHcsO8bmRsaWNoa2VpdCAoZXJow7ZodCBMYXVmemVpdCkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxODIKKyM6IGJ1aWx0aW4vZ2MuYzoyNjQKIG1zZ2lkICJlbmFibGUgYXV0by1nYyBtb2RlIgogbXNnc3RyICJha3RpdmllcnQgXCJhdXRvLWdjXCIgTW9kdXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoyMjIKKyM6IGJ1aWx0aW4vZ2MuYzoyNjUKK21zZ2lkICJmb3JjZSBydW5uaW5nIGdjIGV2ZW4gaWYgdGhlcmUgbWF5IGJlIGFub3RoZXIgZ2MgcnVubmluZyIKK21zZ3N0ciAiZXJ6d2luZ3QgQXVzZsO8aHJ1bmcgdm9uIFwiZ2l0IGdjXCIgc2VsYnN0IHdlbm4gZWluIGFuZGVyZXNcbiIKKyJcImdpdCBnY1wiIGJlcmVpdHMgYXVzZ2Vmw7xocnQgd2lyZCIKKworIzogYnVpbHRpbi9nYy5jOjMwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXV0byBwYWNraW5nIHRoZSByZXBvc2l0b3J5IGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLiBZb3UgbWF5IGFsc29cbiIKQEAgLTUzMDMsNDMgKzU0ODcsNTIgQEAKICJrb21wcmltaWVydC4gU2llIGvDtm5uZW4gYXVjaCBcImdpdCBnY1wiIG1hbnVlbGwgYXVzZsO8aHJlbi5cbiIKICJTaWVoZSBcImdpdCBoZWxwIGdjXCIgZsO8ciB3ZWl0ZXJlIEluZm9ybWF0aW9uZW4uXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzoyNDkKKyMuIGJlIHF1aWV0IG9uIC0tYXV0bworIzogYnVpbHRpbi9nYy5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZ2MgaXMgYWxyZWFkeSBydW5uaW5nIG9uIG1hY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiAodXNlIC0tZm9yY2UgaWYgbm90KSIKK21zZ3N0ciAiIgorIlwiZ2l0IGdjXCIgd2lyZCBiZXJlaXRzIGF1ZiBNYXNjaGluZSAnJXMnIHBpZCAlPFBSSXVNQVg+IGF1c2dlZsO8aHJ0XG4iCisiKGJlbnV0emVuIFNpZSAtLWZvcmNlIGZhbGxzIG5pY2h0KSIKKworIzogYnVpbHRpbi9nYy5jOjM0MAogbXNnaWQgIiIKICJUaGVyZSBhcmUgdG9vIG1hbnkgdW5yZWFjaGFibGUgbG9vc2Ugb2JqZWN0czsgcnVuICdnaXQgcHJ1bmUnIHRvIHJlbW92ZSB0aGVtLiIKIG1zZ3N0ciAiIgogIkVzIGdpYnQgenUgdmllbGUgdW5lcnJlaWNoYmFyZSBsb3NlIE9iamVrdGU7IGbDvGhyZW4gU2llICdnaXQgcHJ1bmUnIGF1cywgdW0gIgogImRpZXNlIHp1IGzDtnNjaGVuLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIzCiBtc2dpZCAiZ2l0IGdyZXAgW29wdGlvbnNdIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGdyZXAgW09wdGlvbmVuXSBbLWVdIDxNdXN0ZXI+IFs8Q29tbWl0Pi4uLl0gW1stLV0gPFBmYWQ+Li4uXSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjE3CisjOiBidWlsdGluL2dyZXAuYzoyMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ3JlcDogZmFpbGVkIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJncmVwOiBGZWhsZXIgYmVpbSBFcnpldWdlbiBlaW5lcyBUaHJlYWQ6ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzozNjQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjM2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2hkaXI6ICVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSBWZXJ6ZWljaG5pc3dlY2hzZWw6ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo0NDIgYnVpbHRpbi9ncmVwLmM6NDc3CisjOiBidWlsdGluL2dyZXAuYzo0NDMgYnVpbHRpbi9ncmVwLmM6NDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKIG1zZ3N0ciAia29ubnRlIFwiVHJlZVwiLU9iamVrdCAoJXMpIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo0OTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ3JlcCBmcm9tIG9iamVjdCBvZiB0eXBlICVzIgogbXNnc3RyICJrYW5uIFwiZ3JlcFwiIG5pY2h0IG1pdCBPYmpla3RlbiBkZXMgVHlwcyAlcyBkdXJjaGbDvGhyZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjU1MAorIzogYnVpbHRpbi9ncmVwLmM6NTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgInN3aXRjaCBgJWMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCiBtc2dzdHIgIlNjaGFsdGVyICclYycgZXJ3YXJ0ZXQgZWluZW4gbnVtZXJpc2NoZW4gV2VydCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTY3CisjOiBidWlsdGluL2dyZXAuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAia2FubiAnJXMnIG5pY2h0IMO2ZmZuZW4iCkBAIC01MzgxLDE2OSArNTU3NCwxNzMgQEAKIG1zZ3N0ciAiZmluZGV0IGtlaW5lIE11c3RlciBpbiBCaW7DpHJkYXRlaWVuIgogCiAjOiBidWlsdGluL2dyZXAuYzo2NjIKK21zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCittc2dzdHIgInZlcmFyYmVpdGV0IGJpbsOkcmUgRGF0ZWllbiBtaXQgXCJ0ZXh0Y29udlwiLUZpbHRlcm4iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2NAogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAiZHVyY2hsw6R1ZnQgaMO2Y2hzdGVucyA8VGllZmU+IEViZW5lbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjY2CisjOiBidWlsdGluL2dyZXAuYzo2NjgKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAidmVyd2VuZGV0IGVyd2VpdGVydGUgcmVndWzDpHJlIEF1c2Ryw7xja2UgYXVzIFBPU0lYIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3MQogbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKIG1zZ3N0ciAidmVyd2VuZGV0IGdydW5kbGVnZW5kZSByZWd1bMOkcmUgQXVzZHLDvGNrZSBhdXMgUE9TSVggKFN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjcyCisjOiBidWlsdGluL2dyZXAuYzo2NzQKIG1zZ2lkICJpbnRlcnByZXQgcGF0dGVybnMgYXMgZml4ZWQgc3RyaW5ncyIKIG1zZ3N0ciAiaW50ZXJwcmV0aWVydCBNdXN0ZXIgYWxzIGZlc3RlIFplaWNoZW5rZXR0ZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3NQorIzogYnVpbHRpbi9ncmVwLmM6Njc3CiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJ2ZXJ3ZW5kZXQgUGVybC1rb21wYXRpYmxlIHJlZ3Vsw6RyZSBBdXNkcsO8Y2tlIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4MAogbXNnaWQgInNob3cgbGluZSBudW1iZXJzIgogbXNnc3RyICJ6ZWlndCBaZWlsZW5udW1tZXJuIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4MQogbXNnaWQgImRvbid0IHNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJ6ZWlndCBrZWluZSBEYXRlaW5hbWVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4MgogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJ6ZWlndCBEYXRlaW5hbWVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NAogbXNnaWQgInNob3cgZmlsZW5hbWVzIHJlbGF0aXZlIHRvIHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgInplaWd0IERhdGVpbmFtZW4gcmVsYXRpdiB6dW0gUHJvamVrdHZlcnplaWNobmlzIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NgogbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiemVpZ3QgbnVyIERhdGVpbmFtZW4gYW5zdGF0dCDDvGJlcmVpbnN0aW1tZW5kZSBaZWlsZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NgorIzogYnVpbHRpbi9ncmVwLmM6Njg4CiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgIlN5bm9ueW0gZsO8ciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg5CisjOiBidWlsdGluL2dyZXAuYzo2OTEKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgInplaWd0IG51ciBkaWUgRGF0ZWluYW1lbiBvaG5lIMOcYmVyZWluc3RpbW11bmdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjkxCisjOiBidWlsdGluL2dyZXAuYzo2OTMKIG1zZ2lkICJwcmludCBOVUwgYWZ0ZXIgZmlsZW5hbWVzIgogbXNnc3RyICJnaWJ0IE5VTC1aZWljaGVuIG5hY2ggRGF0ZWluYW1lbiBhdXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5MworIzogYnVpbHRpbi9ncmVwLmM6Njk1CiBtc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiemVpZ3QsIGFuc3RhdHQgZGVyIFplaWxlbiwgZGllIEFuemFobCBkZXIgw7xiZXJlaW5zdGltbWVuZGVuIFplaWxlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk0CisjOiBidWlsdGluL2dyZXAuYzo2OTYKIG1zZ2lkICJoaWdobGlnaHQgbWF0Y2hlcyIKIG1zZ3N0ciAiaGVidCDDnGJlcmVpbnN0aW1tdW5nZW4gaGVydm9yIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5OAogbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgogbXNnc3RyICIiCiAiZ2lidCBlaW5lIExlZXJ6ZWlsZSB6d2lzY2hlbiDDnGJlcmVpbnN0aW1tdW5nZW4gaW4gdmVyc2NoaWVkZW5lbiBEYXRlaWVuIGF1cyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk4CisjOiBidWlsdGluL2dyZXAuYzo3MDAKIG1zZ2lkICJzaG93IGZpbGVuYW1lIG9ubHkgb25jZSBhYm92ZSBtYXRjaGVzIGZyb20gc2FtZSBmaWxlIgogbXNnc3RyICIiCiAiemVpZ3QgZGVuIERhdGVpbmFtZW4gbnVyIGVpbm1hbCBvYmVyaGFsYiBkZXIgw5xiZXJlaW5zdGltbXVuZ2VuIGF1cyBkaWVzZXIgIgogIkRhdGVpIGFuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMwogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICJ6ZWlndCA8bj4gWmVpbGVuIHZvciB1bmQgbmFjaCBkZW4gw5xiZXJlaW5zdGltbXVuZ2VuIGFuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwNgogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgInplaWd0IDxuPiBaZWlsZW4gdm9yIGRlbiDDnGJlcmVpbnN0aW1tdW5nZW4gYW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNgorIzogYnVpbHRpbi9ncmVwLmM6NzA4CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBhZnRlciBtYXRjaGVzIgogbXNnc3RyICJ6ZWlndCA8bj4gWmVpbGVuIG5hY2ggZGVuIMOcYmVyZWluc3RpbW11bmdlbiBhbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA3CisjOiBidWlsdGluL2dyZXAuYzo3MDkKIG1zZ2lkICJzaG9ydGN1dCBmb3IgLUMgTlVNIgogbXNnc3RyICJLdXJ6Zm9ybSBmw7xyIC1DIE5VTSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEwCisjOiBidWlsdGluL2dyZXAuYzo3MTIKIG1zZ2lkICJzaG93IGEgbGluZSB3aXRoIHRoZSBmdW5jdGlvbiBuYW1lIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICJ6ZWlndCBlaW5lIFplaWxlIG1pdCBkZW0gRnVua3Rpb25zbmFtZW4gdm9yIMOcYmVyZWluc3RpbW11bmdlbiBhbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEyCisjOiBidWlsdGluL2dyZXAuYzo3MTQKIG1zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKIG1zZ3N0ciAiemVpZ3QgZGllIHVtZ2ViZW5kZSBGdW5rdGlvbiBhbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE1CisjOiBidWlsdGluL2dyZXAuYzo3MTcKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKIG1zZ3N0ciAibGllc3QgTXVzdGVyIHZvbiBlaW5lciBEYXRlaSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE3CisjOiBidWlsdGluL2dyZXAuYzo3MTkKIG1zZ2lkICJtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgImZpbmRldCA8TXVzdGVyPiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE5CisjOiBidWlsdGluL2dyZXAuYzo3MjEKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICJrb21iaW5pZXJ0IE11c3RlciwgZGllIG1pdCAtZSBhbmdlZ2ViZW4gd3VyZGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczMwogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICJ6ZWlndCDDnGJlcmVpbnN0aW1tdW5nZW4gbnVyIGR1cmNoIEJlZW5kaWd1bmdzc3RhdHVzIGFuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczNQogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgInplaWd0IG51ciDDnGJlcmVpbnN0aW1tdW5nZW4gdm9uIERhdGVpZW4sIGRpZSBhbGxlbiBNdXN0ZXJuIGVudHNwcmVjaGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczNwogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICJ6ZWlndCBnZXBhcnN0ZXMgVmVyemVpY2huaXMgZsO8ciBcImdyZXBcIi1BdXNkcnVjayIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzM5CisjOiBidWlsdGluL2dyZXAuYzo3NDEKIG1zZ2lkICJwYWdlciIKIG1zZ3N0ciAiQW56ZWlnZXByb2dyYW1tIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQogbXNnaWQgInNob3cgbWF0Y2hpbmcgZmlsZXMgaW4gdGhlIHBhZ2VyIgogbXNnc3RyICJ6ZWlndCBEYXRlaWVuIG1pdCDDnGJlcmVpbnN0aW1tdW5nZW4gaW0gQW56ZWlnZXByb2dyYW1tIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0NAogbXNnaWQgImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIKIG1zZ3N0ciAiZXJsYXVidCBkZW4gQXVmcnVmIHZvbiBncmVwKDEpICh2b24gZGllc2VyIFByb2dyYW1tdmVyc2lvbiBpZ25vcmllcnQpIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDMgYnVpbHRpbi9zaG93LXJlZi5jOjE4OAorIzogYnVpbHRpbi9ncmVwLmM6NzQ1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODcKIG1zZ2lkICJzaG93IHVzYWdlIgogbXNnc3RyICJ6ZWlndCBWZXJ3ZW5kdW5nIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxMgogbXNnaWQgIm5vIHBhdHRlcm4gZ2l2ZW4uIgogbXNnc3RyICJrZWluZSBNdXN0ZXIgYW5nZWdlYmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3MAogbXNnaWQgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBvbmx5IHdvcmtzIG9uIHRoZSB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb24gLS1vcGVuLWZpbGVzLWluLXBhZ2VyIGthbm4gbnVyIGlubmVyaGFsYiBkZXMgIgogIkFyYmVpdHN2ZXJ6ZWljaG5pc3NlcyB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg4CisjOiBidWlsdGluL2dyZXAuYzo4OTMKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXguIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbmVuIC0tY2FjaGVkIHVuZCAtLXVudHJhY2tlZCBrw7ZubmVuIG5pY2h0IG1pdCAtLW5vLWluZGV4IHZlcndlbmRldCAiCiAid2VyZGVuLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODkzCisjOiBidWlsdGluL2dyZXAuYzo4OTgKIG1zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cy4iCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uZW4gLS1uby1pbmRleCB1bmQgLS11bnRyYWNrZWQga8O2bm5lbiBuaWNodCBtaXQgQ29tbWl0cyB2ZXJ3ZW5kZXQgIgogIndlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg5NgorIzogYnVpbHRpbi9ncmVwLmM6OTAxCiBtc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMuIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbiAtLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBrYW5uIG5pY2h0IG1pdCBiZW9iYWNodGV0ZW4gSW5oYWx0ZW4gIgogInZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1jYWNoZWQga2FubiBuaWNodCBtaXQgXCJUcmVlXCItT2JqZWt0ZW4gdmVyd2VuZGV0IHdlcmRlbi4iCiAKQEAgLTU3OTksOCArNTk5Niw4IEBACiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgogbXNnc3RyICJTSEExIEtPTExJU0lPTiBNSVQgJXMgR0VGVU5ERU4gISIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjY5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTcwCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjY5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTcxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAia2FubiAlcyBuaWNodCBsZXNlbiIKQEAgLTU4MjksMTU1ICs2MDI2LDE1NSBAQAogbXNnaWQgIk5vdCBhbGwgY2hpbGQgb2JqZWN0cyBvZiAlcyBhcmUgcmVhY2hhYmxlIgogbXNnc3RyICJOaWNodCBhbGxlIEtpbmQtT2JqZWt0ZSB2b24gJXMgc2luZCBlcnJlaWNoYmFyIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzggYnVpbHRpbi9pbmRleC1wYWNrLmM6ODY4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzkgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODY5CiBtc2dpZCAiZmFpbGVkIHRvIGFwcGx5IGRlbHRhIgogbXNnc3RyICJLb25udGUgRGF0ZWl1bnRlcnNjaGllZCBuaWNodCBhbndlbmRlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTAwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTAxMAogbXNnaWQgIlJlY2VpdmluZyBvYmplY3RzIgogbXNnc3RyICJFbXBmYW5nZSBPYmpla3RlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDEwCiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiSW5kaXppZXJlIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMzUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMzYKIG1zZ2lkICJwYWNrIGlzIGNvcnJ1cHRlZCAoU0hBMSBtaXNtYXRjaCkiCiBtc2dzdHIgIlBha2V0IGlzdCBiZXNjaMOkZGlndCAoU0hBMSB1bnRlcnNjaGllZGxpY2gpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQxCiBtc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgogbXNnc3RyICJrYW5uIFBha2V0ZGF0ZWkgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNDQKIG1zZ2lkICJwYWNrIGhhcyBqdW5rIGF0IHRoZSBlbmQiCiBtc2dzdHIgIlBha2V0ZW5kZSBlbnRow6RsdCBuaWNodCB2ZXJ3ZW5kYmFyZW4gSW5oYWx0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDU0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDU1CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gQXVzZsO8aHJlbiB2b24gXCJwYXJzZV9wYWNrX29iamVjdHMoKVwiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDc3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDc4CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAiTMO2c2UgVW50ZXJzY2hpZWRlIGF1ZiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA4NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgImthbm4gVGhyZWFkIG5pY2h0IGVyemV1Z2VuOiAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzMAogbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkiCiBtc2dzdHIgIkZlaGxlciBiZWltIEF1ZmzDtnNlbiBkZXIgVW50ZXJzY2hpZWRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTM3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdHMiCiBtc2dzdHIgInZlcnZvbGxzdMOkbmRpZ3QgbWl0ICVkIGxva2FsZW4gT2JqZWt0ZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5leHBlY3RlZCB0YWlsIGNoZWNrc3VtIGZvciAlcyAoZGlzayBjb3JydXB0aW9uPykiCiBtc2dzdHIgIlVuZXJ3YXJ0ZXRlIFByw7xmc3VtbWUgZsO8ciAlcyAoRmVzdHBsYXR0ZW5mZWhsZXI/KSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAiUGFrZXQgaGF0ICVkIHVuYXVmZ2Vsw7ZzdGUgVW50ZXJzY2hpZWQiCiBtc2dzdHJbMV0gIlBha2V0IGhhdCAlZCB1bmF1ZmdlbMO2c3RlIFVudGVyc2NoaWVkZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKIG1zZ3N0ciAiS29ubnRlIGFuZ2Vow6RuZ3RlcyBPYmpla3QgKCVkKSBuaWNodCBrb21wcmltaWVyZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9jYWwgb2JqZWN0ICVzIGlzIGNvcnJ1cHQiCiBtc2dzdHIgImxva2FsZXMgT2JqZWt0ICVzIGlzdCBiZXNjaMOkZGlndCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI3OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI4MAogbXNnaWQgImVycm9yIHdoaWxlIGNsb3NpbmcgcGFjayBmaWxlIgogbXNnc3RyICJGZWhsZXIgYmVpbSBTY2hsaWXDn2VuIGRlciBQYWtldGRhdGVpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAiS2FubiBQYWtldGJlc2NocmVpYnVuZ3NkYXRlaSAnJXMnIG5pY2h0IHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMwMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAiS2FubiBlYmVuIGVyc3RlbGx0ZSBQYWtldGJlc2NocmVpYnVuZ3NkYXRlaSAnJXMnIG5pY2h0IHNjaGxpZcOfZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMTQKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgogbXNnc3RyICJLYW5uIFBha2V0ZGF0ZWkgbmljaHQgc3BlaWNoZXJuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzI0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzI1CiBtc2dpZCAiY2Fubm90IHN0b3JlIGluZGV4IGZpbGUiCiBtc2dzdHIgIkthbm4gSW5kZXhkYXRlaSBuaWNodCBzcGVpY2hlcm4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNTcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPiIKIG1zZ3N0ciAiXCJwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj5cIiBpc3QgdW5nw7xsdGlnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzYzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCiBtc2dzdHIgInVuZ8O8bHRpZ2UgQW56YWhsIHZvbiBUaHJlYWRzIGFuZ2VnZWJlbiAoJWQpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzY3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgogbXNnc3RyICJrZWluZSBVbnRlcnN0w7x0enVuZyB2b24gVGhyZWFkcywgJyVzJyB3aXJkIGlnbm9yaWVydCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGZpbGUgJyVzJyIKIG1zZ3N0ciAiS2FubiBleGlzdGllcmVuZGUgUGFrZXRkYXRlaSAnJXMnIG5pY2h0IMO2ZmZuZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBpZHggZmlsZSBmb3IgJyVzJyIKIG1zZ3N0ciAiS2FubiBleGlzdGllcmVuZGUgSW5kZXhkYXRlaSBmw7xyIFBha2V0ICclcycgbmljaHQgw7ZmZm5lbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgogbXNnc3RyWzBdICJrZWluIFVudGVyc2NoaWVkOiAlZCBPYmpla3QiCiBtc2dzdHJbMV0gImtlaW4gVW50ZXJzY2hpZWQ6ICVkIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKIG1zZ3N0clswXSAiTMOkbmdlIGRlciBPYmpla3QtTGlzdGUgPSAlZDogJWx1IE9iamVrdCIKIG1zZ3N0clsxXSAiTMOkbmdlIGRlciBPYmpla3QtTGlzdGUgPSAlZDogJWx1IE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MTAKIG1zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKIG1zZ3N0ciAiS2FubiBuaWNodCB6dXLDvGNrIHp1IEFyYmVpdHN2ZXJ6ZWljaG5pcyB3ZWNoc2VsbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU1NyBidWlsdGluL2luZGV4LXBhY2suYzoxNTYwCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTcyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3MyBidWlsdGluL2luZGV4LXBhY2suYzoxNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCAlcyIKIG1zZ3N0ciAiJXMgaXN0IHVuZ8O8bHRpZyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MQogbXNnaWQgIi0tZml4LXRoaW4gY2Fubm90IGJlIHVzZWQgd2l0aG91dCAtLXN0ZGluIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tZml4LXRoaW4ga2FubiBuaWNodCBvaG5lIC0tc3RkaW4gdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NSBidWlsdGluL2luZGV4LXBhY2suYzoxNjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgogbXNnc3RyICJOYW1lIGRlciBQYWtldGRhdGVpICclcycgZW5kZXQgbmljaHQgbWl0ICcucGFjayciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTQKIG1zZ2lkICItLXZlcmlmeSB3aXRoIG5vIHBhY2tmaWxlIG5hbWUgZ2l2ZW4iCiBtc2dzdHIgIkRpZSBPcHRpb24gLS12ZXJpZnkgd3VyZGUgb2huZSBOYW1lbiBkZXIgUGFrZXRkYXRlaSBhbmdlZ2ViZW4uIgogCkBAIC02MDY2LDExICs2MjYzLDYgQEAKIG1zZ2lkICJ1bmFibGUgdG8gbW92ZSAlcyB0byAlcyIKIG1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IG5hY2ggJXMgdmVyc2NoaWViZW4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM2MwotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGdpdCBsaW5rICVzIgotbXNnc3RyICJLb25udGUgZ2l0LVZlcndlaXMgJXMgbmljaHQgZXJzdGVsbGVuIgotCiAjLgogIy4gKiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICclcycgaXMgZWl0aGVyICJSZWluaXRpYWxpemVkCiAjLiAqIGV4aXN0aW5nIiBvciAiSW5pdGlhbGl6ZWQgZW1wdHkiLCB0aGUgc2Vjb25kICIgc2hhcmVkIiBvcgpAQCAtNjExMyw3ICs2MzA1LDcgQEAKIG1zZ2lkICJzcGVjaWZ5IHRoYXQgdGhlIGdpdCByZXBvc2l0b3J5IGlzIHRvIGJlIHNoYXJlZCBhbW9uZ3N0IHNldmVyYWwgdXNlcnMiCiBtc2dzdHIgImdpYnQgYW4sIGRhc3MgZGFzIEdpdC1SZXBvc2l0b3J5IG1pdCBtZWhyZXJlbiBCZW51dHplcm4gZ2V0ZWlsdCB3aXJkIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0OTMgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDkzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzUgYnVpbHRpbi9yZXBhY2suYzoxNTUKIG1zZ2lkICJiZSBxdWlldCIKIG1zZ3N0ciAid2VuaWdlciBBdXNnYWJlbiIKIApAQCAtNjE1MywyNDkgKzYzNDUsMjQ5IEBACiBtc2dpZCAiICAgb3I6IGdpdCBzaG93IFtvcHRpb25zXSA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiICAgb2RlcjogZ2l0IHNob3cgW09wdGlvbmVuXSA8T2JqZWt0Pi4uLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTI1CiBtc2dpZCAic3VwcHJlc3MgZGlmZiBvdXRwdXQiCiBtc2dzdHIgInVudGVyZHLDvGNrdCBBdXNnYWJlIGRlciBVbnRlcnNjaGllZGUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1CisjOiBidWlsdGluL2xvZy5jOjEyNgogbXNnaWQgInNob3cgc291cmNlIgogbXNnc3RyICJ6ZWlndCBRdWVsbGUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI2CisjOiBidWlsdGluL2xvZy5jOjEyNwogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICJ2ZXJ3ZW5kZXQgXCJtYWlsbWFwXCItRGF0ZWkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI3CisjOiBidWlsdGluL2xvZy5jOjEyOAogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCiBtc2dzdHIgImRlY29yYXRlLU9wdGlvbmVuIgogCi0jOiBidWlsdGluL2xvZy5jOjIzMAorIzogYnVpbHRpbi9sb2cuYzoyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmluYWwgb3V0cHV0OiAlZCAlc1xuIgogbXNnc3RyICJsZXR6dGUgQXVzZ2FiZTogJWQgJXNcbiIKIAotIzogYnVpbHRpbi9sb2cuYzo0NTMgYnVpbHRpbi9sb2cuYzo1NDUKKyM6IGJ1aWx0aW4vbG9nLmM6NDczIGJ1aWx0aW4vbG9nLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAiS2FubiBPYmpla3QgJXMgbmljaHQgbGVzZW4uIgogCi0jOiBidWlsdGluL2xvZy5jOjU2OQorIzogYnVpbHRpbi9sb2cuYzo1ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB0eXBlOiAlZCIKIG1zZ3N0ciAiVW5iZWthbm50ZXIgVHlwOiAlZCIKIAotIzogYnVpbHRpbi9sb2cuYzo2NjkKKyM6IGJ1aWx0aW4vbG9nLmM6Njg5CiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiZm9ybWF0LmhlYWRlcnMgb2huZSBXZXJ0IgogCi0jOiBidWlsdGluL2xvZy5jOjc1MQorIzogYnVpbHRpbi9sb2cuYzo3NzEKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgIk5hbWUgZGVzIEF1c2dhYmV2ZXJ6ZWljaG5pc3NlcyBpc3QgenUgbGFuZy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NzY3CisjOiBidWlsdGluL2xvZy5jOjc4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICJLYW5uIFBhdGNoLURhdGVpICVzIG5pY2h0IMO2ZmZuZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NzgxCisjOiBidWlsdGluL2xvZy5jOjgwMQogbXNnaWQgIk5lZWQgZXhhY3RseSBvbmUgcmFuZ2UuIgogbXNnc3RyICJCcmF1Y2hlIGdlbmF1IGVpbmVuIENvbW1pdC1CZXJlaWNoLiIKIAotIzogYnVpbHRpbi9sb2cuYzo3ODkKKyM6IGJ1aWx0aW4vbG9nLmM6ODA5CiBtc2dpZCAiTm90IGEgcmFuZ2UuIgogbXNnc3RyICJLZWluIENvbW1pdC1CZXJlaWNoLiIKIAotIzogYnVpbHRpbi9sb2cuYzo4OTEKKyM6IGJ1aWx0aW4vbG9nLmM6OTExCiBtc2dpZCAiQ292ZXIgbGV0dGVyIG5lZWRzIGVtYWlsIGZvcm1hdCIKIG1zZ3N0ciAiQW5zY2hyZWliZW4gYmVuw7Z0aWd0IEUtTWFpbC1Gb3JtYXQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTY3CisjOiBidWlsdGluL2xvZy5jOjk4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmUgaW4tcmVwbHktdG86ICVzIgogbXNnc3RyICJ1bmfDvGx0aWdlcyBpbi1yZXBseS10bzogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTk1CisjOiBidWlsdGluL2xvZy5jOjEwMTUKIG1zZ2lkICJnaXQgZm9ybWF0LXBhdGNoIFtvcHRpb25zXSBbPHNpbmNlPiB8IDxyZXZpc2lvbiByYW5nZT5dIgogbXNnc3RyICJnaXQgZm9ybWF0LXBhdGNoIFtPcHRpb25lbl0gWzxzZWl0PiB8IDxDb21taXRiZXJlaWNoPl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA0MAorIzogYnVpbHRpbi9sb2cuYzoxMDYwCiBtc2dpZCAiVHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCiBtc2dzdHIgIlp3ZWkgQXVzZ2FiZXZlcnplaWNobmlzc2U/IgogCi0jOiBidWlsdGluL2xvZy5jOjExNTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTE3NQogbXNnaWQgInVzZSBbUEFUQ0ggbi9tXSBldmVuIHdpdGggYSBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgInZlcndlbmRldCBbUEFUQ0ggbi9tXSBhdWNoIG1pdCBlaW56ZWxuZW0gUGF0Y2giCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE1OAorIzogYnVpbHRpbi9sb2cuYzoxMTc4CiBtc2dpZCAidXNlIFtQQVRDSF0gZXZlbiB3aXRoIG11bHRpcGxlIHBhdGNoZXMiCiBtc2dzdHIgInZlcndlbmRldCBbUEFUQ0hdIGF1Y2ggbWl0IG1laHJlcmVuIFBhdGNoZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2MgorIzogYnVpbHRpbi9sb2cuYzoxMTgyCiBtc2dpZCAicHJpbnQgcGF0Y2hlcyB0byBzdGFuZGFyZCBvdXQiCiBtc2dzdHIgIkF1c2dhYmUgZGVyIFBhdGNoZXMgaW4gU3RhbmRhcmQtQXVzZ2FiZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTY0CisjOiBidWlsdGluL2xvZy5jOjExODQKIG1zZ2lkICJnZW5lcmF0ZSBhIGNvdmVyIGxldHRlciIKIG1zZ3N0ciAiZXJ6ZXVndCBlaW4gRGVja2JsYXR0IgogCi0jOiBidWlsdGluL2xvZy5jOjExNjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4NgogbXNnaWQgInVzZSBzaW1wbGUgbnVtYmVyIHNlcXVlbmNlIGZvciBvdXRwdXQgZmlsZSBuYW1lcyIKIG1zZ3N0ciAidmVyd2VuZGV0IGVpbmZhY2hlIE51bW1lcm5mb2xnZSBmw7xyIGRpZSBOYW1lbiBkZXIgQXVzZ2FiZWRhdGVpZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2NworIzogYnVpbHRpbi9sb2cuYzoxMTg3CiBtc2dpZCAic2Z4IgogbXNnc3RyICJEYXRlaWVuZHVuZyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTY4CisjOiBidWlsdGluL2xvZy5jOjExODgKIG1zZ2lkICJ1c2UgPHNmeD4gaW5zdGVhZCBvZiAnLnBhdGNoJyIKIG1zZ3N0ciAidmVyd2VuZGV0IDxEYXRlaWVuZHVuZz4gYW5zdGF0dCAnLnBhdGNoJyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTcwCisjOiBidWlsdGluL2xvZy5jOjExOTAKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICJiZWdpbm50IGRpZSBOdW1tZXJpZXJ1bmcgZGVyIFBhdGNoZXMgYmVpIDxuPiBhbnN0YXR0IGJlaSAxIgogCi0jOiBidWlsdGluL2xvZy5jOjExNzIKKyM6IGJ1aWx0aW4vbG9nLmM6MTE5MgogbXNnaWQgIm1hcmsgdGhlIHNlcmllcyBhcyBOdGggcmUtcm9sbCIKIG1zZ3N0ciAia2VubnplaWNobmV0IGRpZSBTZXJpZSBhbHMgbi10ZSBGYXNzdW5nIgogCi0jOiBidWlsdGluL2xvZy5jOjExNzQKKyM6IGJ1aWx0aW4vbG9nLmM6MTE5NAogbXNnaWQgIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAidmVyd2VuZGV0IFs8UHJlZml4Pl0gYW5zdGF0dCBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjExNzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTE5NwogbXNnaWQgInN0b3JlIHJlc3VsdGluZyBmaWxlcyBpbiA8ZGlyPiIKIG1zZ3N0ciAic3BlaWNoZXJ0IGVyemV1Z3RlIERhdGVpZW4gaW4gPFZlcnplaWNobmlzPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTgwCisjOiBidWlsdGluL2xvZy5jOjEyMDAKIG1zZ2lkICJkb24ndCBzdHJpcC9hZGQgW1BBVENIXSIKIG1zZ3N0ciAiW1BBVENIXSB3aXJkIG5pY2h0IGVudGZlcm50L2hpbnp1Z2Vmw7xndCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTgzCisjOiBidWlsdGluL2xvZy5jOjEyMDMKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICJnaWJ0IGtlaW5lIGJpbsOkcmVuIFVudGVyc2NoaWVkZSBhdXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE4NQorIzogYnVpbHRpbi9sb2cuYzoxMjA1CiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICIiCiAic2NobGllw590IGtlaW5lIFBhdGNoZXMgZWluLCBkaWUgZWluZW0gQ29tbWl0IGltIFVwc3RyZWFtLUJyYW5jaCBlbnRzcHJlY2hlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTg3CisjOiBidWlsdGluL2xvZy5jOjEyMDcKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgInplaWd0IFBhdGNoZm9ybWF0IGFuc3RhdHQgZGVzIFN0YW5kYXJkcyAoUGF0Y2ggKyBadXNhbW1lbmZhc3N1bmcpIgogCi0jOiBidWlsdGluL2xvZy5jOjExODkKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwOQogbXNnaWQgIk1lc3NhZ2luZyIKIG1zZ3N0ciAiRW1haWwtRWluc3RlbGx1bmdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTkwCisjOiBidWlsdGluL2xvZy5jOjEyMTAKIG1zZ2lkICJoZWFkZXIiCiBtc2dzdHIgIkhlYWRlciIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTkxCisjOiBidWlsdGluL2xvZy5jOjEyMTEKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgogbXNnc3RyICJmw7xndCBFbWFpbC1IZWFkZXIgaGluenUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5MiBidWlsdGluL2xvZy5jOjExOTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxMiBidWlsdGluL2xvZy5jOjEyMTQKIG1zZ2lkICJlbWFpbCIKIG1zZ3N0ciAiRW1haWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5MgorIzogYnVpbHRpbi9sb2cuYzoxMjEyCiBtc2dpZCAiYWRkIFRvOiBoZWFkZXIiCiBtc2dzdHIgImbDvGd0ICBcIlRvOlwiLUhlYWRlciBoaW56dSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTk0CisjOiBidWlsdGluL2xvZy5jOjEyMTQKIG1zZ2lkICJhZGQgQ2M6IGhlYWRlciIKIG1zZ3N0ciAiZsO8Z3QgXCJDYzpcIi1IZWFkZXIgaGluenUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5NgorIzogYnVpbHRpbi9sb2cuYzoxMjE2CiBtc2dpZCAiaWRlbnQiCiBtc2dzdHIgIklkZW50IgogCi0jOiBidWlsdGluL2xvZy5jOjExOTcKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNwogbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCiBtc2dzdHIgIiIKICJzZXR6dCBcIkZyb21cIi1BZHJlc3NlIGF1ZiA8SWRlbnQ+IChvZGVyIElkZW50IGRlcyBDb21taXQtRXJzdGVsbGVycyx3ZW5uICIKICJmZWhsZW5kKSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTk5CisjOiBidWlsdGluL2xvZy5jOjEyMTkKIG1zZ2lkICJtZXNzYWdlLWlkIgogbXNnc3RyICJtZXNzYWdlLWlkIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTIyMAogbXNnaWQgIm1ha2UgZmlyc3QgbWFpbCBhIHJlcGx5IHRvIDxtZXNzYWdlLWlkPiIKIG1zZ3N0ciAibWFjaHQgYXVzIGVyc3RlciBFbWFpbCBlaW5lIEFudHdvcnQgenUgPG1lc3NhZ2UtaWQ+IgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDEgYnVpbHRpbi9sb2cuYzoxMjA0CisjOiBidWlsdGluL2xvZy5jOjEyMjEgYnVpbHRpbi9sb2cuYzoxMjI0CiBtc2dpZCAiYm91bmRhcnkiCiBtc2dzdHIgIkdyZW56ZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjAyCisjOiBidWlsdGluL2xvZy5jOjEyMjIKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICJow6RuZ3QgZWluZW4gUGF0Y2ggYW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwNQorIzogYnVpbHRpbi9sb2cuYzoxMjI1CiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAiZsO8Z3QgZGVuIFBhdGNoIGRpcmVrdCBpbiBkaWUgTmFjaHJpY2h0IGVpbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjA5CisjOiBidWlsdGluL2xvZy5jOjEyMjkKIG1zZ2lkICJlbmFibGUgbWVzc2FnZSB0aHJlYWRpbmcsIHN0eWxlczogc2hhbGxvdywgZGVlcCIKIG1zZ3N0ciAiYWt0aXZpZXJ0IE5hY2hyaWNodGVudmVya2V0dHVuZywgU3RpbGU6IHNoYWxsb3csIGRlZXAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIxMQorIzogYnVpbHRpbi9sb2cuYzoxMjMxCiBtc2dpZCAic2lnbmF0dXJlIgogbXNnc3RyICJTaWduYXR1ciIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjEyCisjOiBidWlsdGluL2xvZy5jOjEyMzIKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUiCiBtc2dzdHIgImbDvGd0IGVpbmUgU2lnbmF0dXIgaGluenUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIxNAorIzogYnVpbHRpbi9sb2cuYzoxMjMzCiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKIG1zZ3N0ciAiemVpZ3Qga2VpbmUgRGF0ZWluYW1lbiBkZXIgUGF0Y2hlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjg4CisjOiBidWlsdGluL2xvZy5jOjEzMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBJZGVudGlmaWthdGlvbnN6ZWlsZTogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMwMworIzogYnVpbHRpbi9sb2cuYzoxMzIyCiBtc2dpZCAiLW4gYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLW4gdW5kIC1rIHNjaGxpZcOfZW4gc2ljaCBnZWdlbnNlaXRpZyBhdXMuIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTMyNAogbXNnaWQgIi0tc3ViamVjdC1wcmVmaXggYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1zdWJqZWN0LXByZWZpeCB1bmQgLWsgc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1cy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMxMworIzogYnVpbHRpbi9sb2cuYzoxMzMyCiBtc2dpZCAiLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLW5hbWUtb25seSBrYW5uIG5pY2h0IHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTMzNAogbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLW5hbWUtc3RhdHVzIGthbm4gbmljaHQgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMxNworIzogYnVpbHRpbi9sb2cuYzoxMzM2CiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tY2hlY2sga2FubiBuaWNodCB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzQwCisjOiBidWlsdGluL2xvZy5jOjEzNTkKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKIG1zZ3N0ciAiU3RhbmRhcmQtQXVzZ2FiZSBvZGVyIFZlcnplaWNobmlzLCB3ZWxjaGVzIHZvbiBiZWlkZW0/IgogCi0jOiBidWlsdGluL2xvZy5jOjEzNDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTM2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJLb25udGUgVmVyemVpY2huaXMgJyVzJyBuaWNodCBlcnN0ZWxsZW4uIgogCi0jOiBidWlsdGluL2xvZy5jOjE0OTAKKyM6IGJ1aWx0aW4vbG9nLmM6MTUwOQogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSBFcnN0ZWxsZW4gZGVyIEF1c2dhYmVkYXRlaWVuLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTM5CisjOiBidWlsdGluL2xvZy5jOjE1NTgKIG1zZ2lkICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGxpbWl0Pl1dXSIKIG1zZ3N0ciAiZ2l0IGNoZXJyeSBbLXZdIFs8VXBzdHJlYW0+IFs8QnJhbmNoPiBbPExpbWl0Pl1dXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTk0CisjOiBidWlsdGluL2xvZy5jOjE2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBmaW5kIGEgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBwbGVhc2Ugc3BlY2lmeSA8dXBzdHJlYW0+IG1hbnVhbGx5LlxuIgpAQCAtNjQwMywxNDMgKzY1OTUsMTQzIEBACiAiS29ubnRlIGdlZm9sZ3RlbiBSZW1vdGUtQnJhbmNoIG5pY2h0IGZpbmRlbiwgYml0dGUgZ2ViZW4gU2llIDxVcHN0cmVhbT4gIgogIm1hbnVlbGwgYW4uXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTYwNyBidWlsdGluL2xvZy5jOjE2MDkgYnVpbHRpbi9sb2cuYzoxNjIxCisjOiBidWlsdGluL2xvZy5jOjE2MjYgYnVpbHRpbi9sb2cuYzoxNjI4IGJ1aWx0aW4vbG9nLmM6MTY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKIG1zZ3N0ciAiVW5iZWthbm50ZXIgQ29tbWl0ICVzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDA4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6Mzk4CiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxzLWZpbGVzIFtPcHRpb25lbl0gWzxEYXRlaT4uLi5dIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU1CiBtc2dpZCAiaWRlbnRpZnkgdGhlIGZpbGUgc3RhdHVzIHdpdGggdGFncyIKIG1zZ3N0ciAiemVpZ3QgZGVuIERhdGVpc3RhdHVzIG1pdCBUYWdzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU3CiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCiBtc2dzdHIgIiIKICJ2ZXJ3ZW5kZXQgS2xlaW5idWNoc3RhYmVuIGbDvHIgRGF0ZWllbiBtaXQgJ2Fzc3VtZSB1bmNoYW5nZWQnIE1hcmtpZXJ1bmciCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTkKIG1zZ2lkICJzaG93IGNhY2hlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IChkZWZhdWx0KSIKIG1zZ3N0ciAiemVpZ3Qgendpc2NoZW5nZXNwZWljaGVydGVuIERhdGVpZW4gaW4gZGVyIEF1c2dhYmUgYW4gKFN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MQogbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJ6ZWlndCBlbnRmZXJudGUgRGF0ZWllbiBpbiBkZXIgQXVzZ2FiZSBhbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MwogbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiemVpZ3QgZ2XDpG5kZXJ0ZSBEYXRlaWVuIGluIGRlciBBdXNnYWJlIGFuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDc1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDY1CiBtc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJ6ZWlndCBzb25zdGlnZSBEYXRlaWVuIGluIGRlciBBdXNnYWJlIGFuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDc3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDY3CiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgInplaWd0IGlnbm9yaWVydGUgRGF0ZWllbiBpbiBkZXIgQXVzZ2FiZSBhbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MAogbXNnaWQgInNob3cgc3RhZ2VkIGNvbnRlbnRzJyBvYmplY3QgbmFtZSBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICIiCiAiemVpZ3QgT2JqZWt0bmFtZW4gdm9uIEluaGFsdGVuLCBkaWUgenVtIENvbW1pdCB2b3JnZW1lcmt0IHNpbmQsIGluIGRlciAiCiAiQXVzZ2FiZSBhbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MgorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MgogbXNnaWQgInNob3cgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0gdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQiCiBtc2dzdHIgInplaWd0IERhdGVpZW4gaW0gRGF0ZWlzeXN0ZW0sIGRpZSBnZWzDtnNjaHQgd2VyZGVuIG3DvHNzZW4sIGFuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDg0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDc0CiBtc2dpZCAic2hvdyAnb3RoZXInIGRpcmVjdG9yaWVzJyBuYW1lIG9ubHkiCiBtc2dzdHIgInplaWd0IG51ciBOYW1lbiB2b24gJ3NvbnN0aWdlbicgVmVyemVpY2huaXNzZW4gYW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzcKIG1zZ2lkICJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIgogbXNnc3RyICJ6ZWlndCBrZWluZSBsZWVyZW4gVmVyemVpY2huaXNzZSBhbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MAogbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiemVpZ3QgbmljaHQgenVzYW1tZW5nZWbDvGhydGUgRGF0ZWllbiBpbiBkZXIgQXVzZ2FiZSBhbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MgorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MgogbXNnaWQgInNob3cgcmVzb2x2ZS11bmRvIGluZm9ybWF0aW9uIgogbXNnc3RyICJ6ZWlndCAncmVzb2x2ZS11bmRvJyBJbmZvcm1hdGlvbmVuIGFuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDk0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDg0CiBtc2dpZCAic2tpcCBmaWxlcyBtYXRjaGluZyBwYXR0ZXJuIgogbXNnc3RyICJsw6Rzc3QgRGF0ZWllbiBhdXMsIGRpZSBlaW5lbSBNdXN0ZXIgZW50c3ByZWNoZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODcKIG1zZ2lkICJleGNsdWRlIHBhdHRlcm5zIGFyZSByZWFkIGZyb20gPGZpbGU+IgogbXNnc3RyICJzY2hsaWXDn3QgTXVzdGVyLCBnZWxlc2VuIHZvbiA8RGF0ZWk+LCBhdXMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTAKIG1zZ2lkICJyZWFkIGFkZGl0aW9uYWwgcGVyLWRpcmVjdG9yeSBleGNsdWRlIHBhdHRlcm5zIGluIDxmaWxlPiIKIG1zZ3N0ciAibGllc3QgenVzw6R0emxpY2hlIHByby1WZXJ6ZWljaG5pcyBBdXNjaGx1c3NtdXN0ZXIgYXVzIDxEYXRlaT4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTIKIG1zZ2lkICJhZGQgdGhlIHN0YW5kYXJkIGdpdCBleGNsdXNpb25zIgogbXNnc3RyICJmw7xndCBkaWUgc3RhbmRhcmRtw6TDn2lnZW4gR2l0LUF1c3NjaGzDvHNzZSBoaW56dSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5NQogbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJBdXNnYWJlIHJlbGF0aXYgenVtIFByb2pla3R2ZXJ6ZWljaG5pcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5OAogbXNnaWQgImlmIGFueSA8ZmlsZT4gaXMgbm90IGluIHRoZSBpbmRleCwgdHJlYXQgdGhpcyBhcyBhbiBlcnJvciIKIG1zZ3N0ciAiIgogImJlaGFuZGxlIGVzIGFscyBGZWhsZXIsIHdlbm4gc2ljaCBlaW5lIDxEYXRlaT4gbmljaHQgaW4gZGVyIFN0YWdpbmctQXJlYSAiCiAiYmVmaW5kZXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTkKIG1zZ2lkICJ0cmVlLWlzaCIKIG1zZ3N0ciAiQ29tbWl0LVJlZmVyZW56IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTEwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTAwCiBtc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAiIgogImdpYnQgdm9yLCBkYXNzIFBmYWRlLCBkaWUgc2VpdCA8Q29tbWl0LVJlZmVyZW56PiBnZWzDtnNjaHQgd3VyZGVuLCBpbW1lciBub2NoICIKICJ2b3JoYW5kZW4gc2luZCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMgorIzogYnVpbHRpbi9scy1maWxlcy5jOjUwMgogbXNnaWQgInNob3cgZGVidWdnaW5nIGRhdGEiCiBtc2dzdHIgInplaWd0IEF1c2dhYmVuIHp1ciBGZWhsZXJzdWNoZSBhbiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MjcKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjI4CiBtc2dpZCAiZ2l0IGxzLXRyZWUgWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxzLXRyZWUgWzxPcHRpb25lbj5dIDxDb21taXQtUmVmZXJlbno+IFs8UGZhZD4uLi5dIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjUKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyNgogbXNnaWQgIm9ubHkgc2hvdyB0cmVlcyIKIG1zZ3N0ciAiemVpZ3QgbnVyIFZlcnplaWNobmlzc2UgYW4iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyNworIzogYnVpbHRpbi9scy10cmVlLmM6MTI4CiBtc2dpZCAicmVjdXJzZSBpbnRvIHN1YnRyZWVzIgogbXNnc3RyICJmw7xocnQgUmVrdXJzaW9uIGluIFVudGVydmVyemVpY2huaXNzZW4gZHVyY2giCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyOQorIzogYnVpbHRpbi9scy10cmVlLmM6MTMwCiBtc2dpZCAic2hvdyB0cmVlcyB3aGVuIHJlY3Vyc2luZyIKIG1zZ3N0ciAiemVpZ3QgVmVyemVpY2huaXNzZSBiZWkgUmVrdXJzaW9uIGFuIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzIKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMwogbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIGJ5dGUiCiBtc2dzdHIgInNjaGxpZcOfdCBFaW50csOkZ2UgbWl0IE5VTC1CeXRlIGFiIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzMKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNAogbXNnaWQgImluY2x1ZGUgb2JqZWN0IHNpemUiCiBtc2dzdHIgInNjaGxpZcOfdCBPYmpla3RncsO2w59lIGVpbiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTM1IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNworIzogYnVpbHRpbi9scy10cmVlLmM6MTM2IGJ1aWx0aW4vbHMtdHJlZS5jOjEzOAogbXNnaWQgImxpc3Qgb25seSBmaWxlbmFtZXMiCiBtc2dzdHIgImxpc3RldCBudXIgRGF0ZWluYW1lbiBhdWYiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MAorIzogYnVpbHRpbi9scy10cmVlLmM6MTQxCiBtc2dpZCAidXNlIGZ1bGwgcGF0aCBuYW1lcyIKIG1zZ3N0ciAidmVyd2VuZGV0IHZvbGxzdMOkbmRpZ2UgUGZhZG5hbWVuIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxNDIKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MwogbXNnaWQgImxpc3QgZW50aXJlIHRyZWU7IG5vdCBqdXN0IGN1cnJlbnQgZGlyZWN0b3J5IChpbXBsaWVzIC0tZnVsbC1uYW1lKSIKIG1zZ3N0ciAiIgogImxpc3RldCBkYXMgZ2VzYW10ZSBWZXJ6ZWljaG5pcyBhdWY7IG5pY2h0IG51ciBkYXMgYWt0dWVsbGUgVmVyemVpY2huaXMgIgpAQCAtNjYxOCw3ICs2ODEwLDcgQEAKIG1zZ2lkICJWZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCiBtc2dzdHIgIsO8YmVycHLDvGZ0IGRlbiBnZW5hbm50ZW4gQ29tbWl0IGF1ZiBlaW5lIGfDvGx0aWdlIEdQRy1TaWduYXR1ciIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL25vdGVzLmM6NzM4IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE0CisjOiBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vbm90ZXMuYzo3MzggYnVpbHRpbi9yZXZlcnQuYzo4OQogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICJTdHJhdGVnaWUiCiAKQEAgLTY5OTQsNzYgKzcxODYsODcgQEAKIG1zZ2lkICJhbGxvdyBjcmVhdGlvbiBvZiBtb3JlIHRoYW4gb25lIHRyZWUiCiBtc2dzdHIgImVybGF1YnQgZGllIEVyc3RlbGx1bmcgdm9uIG1laHIgYWxzIGVpbmVtIFwiVHJlZVwiLU9iamVrdCIKIAotIzogYnVpbHRpbi9tdi5jOjE0CisjOiBidWlsdGluL212LmM6MTUKIG1zZ2lkICJnaXQgbXYgW29wdGlvbnNdIDxzb3VyY2U+Li4uIDxkZXN0aW5hdGlvbj4iCiBtc2dzdHIgImdpdCBtdiBbT3B0aW9uZW5dIDxRdWVsbGU+Li4uIDxaaWVsPiIKIAotIzogYnVpbHRpbi9tdi5jOjY0CisjOiBidWlsdGluL212LmM6NjcKIG1zZ2lkICJmb3JjZSBtb3ZlL3JlbmFtZSBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgImVyendpbmd0IFZlcnNjaGllYmVuL1VtYmVuZW5uZW4sIGF1Y2ggd2VubiBkYXMgWmllbCBleGlzdGllcnQiCiAKLSM6IGJ1aWx0aW4vbXYuYzo2NQorIzogYnVpbHRpbi9tdi5jOjY4CiBtc2dpZCAic2tpcCBtb3ZlL3JlbmFtZSBlcnJvcnMiCiBtc2dzdHIgIsO8YmVyc3ByaW5ndCBGZWhsZXIgYmVpbSBWZXJzY2hpZWJlbiBvZGVyIFVtYmVuZW5uZW4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMDgKKyM6IGJ1aWx0aW4vbXYuYzoxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICJQcsO8ZmUgVW1iZW5lbm51bmcgdm9uICclcycgbmFjaCAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTIKKyM6IGJ1aWx0aW4vbXYuYzoxMTcKIG1zZ2lkICJiYWQgc291cmNlIgogbXNnc3RyICJ1bmfDvGx0aWdlIFF1ZWxsZSIKIAotIzogYnVpbHRpbi9tdi5jOjExNQorIzogYnVpbHRpbi9tdi5jOjEyMAogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCiBtc2dzdHIgImthbm4gVmVyemVpY2huaXMgbmljaHQgaW4gc2ljaCBzZWxic3QgdmVyc2NoaWViZW4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTgKKyM6IGJ1aWx0aW4vbXYuYzoxMjMKIG1zZ2lkICJjYW5ub3QgbW92ZSBkaXJlY3Rvcnkgb3ZlciBmaWxlIgogbXNnc3RyICJrYW5uIFZlcnplaWNobmlzIG5pY2h0IMO8YmVyIERhdGVpIHZlcnNjaGllYmVuIgogCi0jOiBidWlsdGluL212LmM6MTI4CisjOiBidWlsdGluL212LmM6MTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkh1aD8gRGlyZWN0b3J5ICVzIGlzIGluIGluZGV4IGFuZCBubyBzdWJtb2R1bGU/IgorbXNnc3RyICJIdWg/IFZlcnplaWNobmlzICVzIGlzdCB6dW0gQ29tbWl0IHZvcmdlbWVya3QgdW5kIGtlaW4gU3VibW9kdWw/IgorCisjOiBidWlsdGluL212LmM6MTMxIGJ1aWx0aW4vcm0uYzozMTgKK21zZ2lkICJQbGVhc2UsIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCittc2dzdHIgIiIKKyJCaXR0ZSBtZXJrZW4gU2llIElocmUgw4RuZGVydW5nZW4gaW4gLmdpdG1vZHVsZXMgenVtIENvbW1pdCB2b3Igb2RlciBiZW51dHplblxuIgorIlNpZSBcInN0YXNoXCIgdW0gZm9ydHp1ZmFocmVuLiIKKworIzogYnVpbHRpbi9tdi5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJIdWg/ICUuKnMgaXMgaW4gaW5kZXg/IgogbXNnc3RyICJIdWg/ICUuKnMgaXN0IHp1bSBDb21taXQgdm9yZ2VtZXJrdD8iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNDAKKyM6IGJ1aWx0aW4vbXYuYzoxNTkKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgogbXNnc3RyICJRdWVsbHZlcnplaWNobmlzIGlzdCBsZWVyIgogCi0jOiBidWlsdGluL212LmM6MTcxCisjOiBidWlsdGluL212LmM6MTkxCiBtc2dpZCAibm90IHVuZGVyIHZlcnNpb24gY29udHJvbCIKIG1zZ3N0ciAibmljaHQgdW50ZXIgVmVyc2lvbnNrb250cm9sbGUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzMKKyM6IGJ1aWx0aW4vbXYuYzoxOTMKIG1zZ2lkICJkZXN0aW5hdGlvbiBleGlzdHMiCiBtc2dzdHIgIlppZWwgZXhpc3RpZXJ0IGJlcmVpdHMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODEKKyM6IGJ1aWx0aW4vbXYuYzoyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAib3ZlcndyaXRpbmcgJyVzJyIKIG1zZ3N0ciAiw7xiZXJzY2hyZWliZSAnJXMnIgogCi0jOiBidWlsdGluL212LmM6MTg0CisjOiBidWlsdGluL212LmM6MjA0CiBtc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKIG1zZ3N0ciAiS2FubiBuaWNodCDDvGJlcnNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9tdi5jOjE4NworIzogYnVpbHRpbi9tdi5jOjIwNwogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKIG1zZ3N0ciAibWVocmVyZSBRdWVsbGVuIGbDvHIgZGFzIHNlbGJlIFppZWwiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMDIKKyM6IGJ1aWx0aW4vbXYuYzoyMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCiBtc2dzdHIgIiVzLCBRdWVsbGU9JXMsIFppZWw9JXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTIKKyM6IGJ1aWx0aW4vbXYuYzoyMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAiQmVuZW5uZSAlcyBuYWNoICVzIHVtXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTUgYnVpbHRpbi9yZW1vdGUuYzo3MzEKKyM6IGJ1aWx0aW4vbXYuYzoyMzUgYnVpbHRpbi9yZW1vdGUuYzo3MzEgYnVpbHRpbi9yZXBhY2suYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIlVtYmVuZW5udW5nIHZvbiAnJXMnIGZlaGxnZXNjaGxhZ2VuIgpAQCAtNzEwMSw4ICs3MzA0LDggQEAKIG1zZ3N0ciAibGllc3Qgdm9uIGRlciBTdGFuZGFyZC1FaW5nYWJlIgogCiAjOiBidWlsdGluL25hbWUtcmV2LmM6MzIwCi1tc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMiCi1tc2dzdHIgImVybGF1YnQgQXVzZ2FiZSB2b24gYHVuZGVmaW5pZXJ0ZW5gIE5hbWVuIgorbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIChkZWZhdWx0KSIKK21zZ3N0ciAiZXJsYXVidCBBdXNnYWJlIHZvbiBgdW5kZWZpbmllcnRlbmAgTmFtZW4gKFN0YW5kYXJkKSIKIAogIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyNgogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW4gdGhlIGlucHV0IChpbnRlcm5hbCB1c2UpIgpAQCAtNzI1OCwxMiArNzQ2MSwxMiBAQAogbXNnaWQgIlRoZSBub3RlIGNvbnRlbnRzIGhhcyBiZWVuIGxlZnQgaW4gJXMiCiBtc2dzdHIgIkRpZSBOb3Rpei1JbmhhbHRlIHd1cmRlbiBpbiAlcyBiZWxhc3NlbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI0OCBidWlsdGluL3RhZy5jOjU0MAorIzogYnVpbHRpbi9ub3Rlcy5jOjI0OCBidWlsdGluL3RhZy5jOjUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAnJXMnIgogbXNnc3RyICJrYW5uICclcycgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNTAgYnVpbHRpbi90YWcuYzo1NDMKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNTAgYnVpbHRpbi90YWcuYzo1NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gb3IgcmVhZCAnJXMnIgogbXNnc3RyICJrb25udGUgJyVzJyBuaWNodCDDtmZmbmVuIG9kZXIgbGVzZW4iCkBAIC03MjcxLDcgKzc0NzQsNyBAQAogIzogYnVpbHRpbi9ub3Rlcy5jOjI2OSBidWlsdGluL25vdGVzLmM6MzE2IGJ1aWx0aW4vbm90ZXMuYzozMTgKICM6IGJ1aWx0aW4vbm90ZXMuYzozNzggYnVpbHRpbi9ub3Rlcy5jOjQzMiBidWlsdGluL25vdGVzLmM6NTE1CiAjOiBidWlsdGluL25vdGVzLmM6NTIwIGJ1aWx0aW4vbm90ZXMuYzo1OTUgYnVpbHRpbi9ub3Rlcy5jOjYzNwotIzogYnVpbHRpbi9ub3Rlcy5jOjgzOSBidWlsdGluL3RhZy5jOjU1NgorIzogYnVpbHRpbi9ub3Rlcy5jOjgzOSBidWlsdGluL3RhZy5jOjU1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgYWxzIGfDvGx0aWdlIFJlZmVyZW56IGF1ZmzDtnNlbi4iCkBAIC03NDQ4LDE1MyArNzY1MSwxNTMgQEAKIG1zZ3N0ciAiIgogImdpdCBwYWNrLW9iamVjdHMgW09wdGlvbmVuLi4uXSBCYXNpcy1OYW1lIFs8IFJlZmVyZW56bGlzdGUgfCA8IE9iamVrdGxpc3RlXSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODMgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlZmxhdGUgZXJyb3IgKCVkKSIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gS29tcHJpbWllcmVuICglZCkiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjM5NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCiBtc2dzdHIgIk5pY2h0IHVudGVyc3TDvHR6dGUgU3RhZ2luZy1BcmVhLVZlcnNpb24gJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICclcyciCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgU3RhZ2luZy1BcmVhLVZlcnNpb24gJyVzJyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDI0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAib3B0aW9uICVzIGRvZXMgbm90IGFjY2VwdCBuZWdhdGl2ZSBmb3JtIgogbXNnc3RyICJPcHRpb24gJXMgYWt6ZXB0aWVydCBrZWluZSBuZWdhdGl2ZSBGb3JtIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgdmFsdWUgJyVzJyBmb3Igb3B0aW9uICVzIgogbXNnc3RyICJrb25udGUgV2VydCAnJXMnIGbDvHIgT3B0aW9uICVzIG5pY2h0IHBhcnNlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NDgKIG1zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAiemVpZ3Qga2VpbmUgRm9ydHNjaHJpdHRzYW56ZWlnZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQ5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTAKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICJ6ZWlndCBGb3J0c2Nocml0dHNhbnplaWdlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1MgogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgogbXNnc3RyICJ6ZWlndCBGb3JzY2hyaXR0c2FuemVpZ2Ugd8OkaHJlbmQgZGVyIFBoYXNlIGRlcyBTY2hyZWliZW5zIGRlciBPYmpla3RlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NQogbXNnaWQgInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIKIG1zZ3N0ciAiw6RobmxpY2ggenUgLS1hbGwtcHJvZ3Jlc3Mgd2VubiBGb3J0c2Nocml0dHNhbnplaWdlIGRhcnN0ZWxsdCB3aXJkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NgogbXNnaWQgInZlcnNpb25bLG9mZnNldF0iCiBtc2dzdHIgInZlcnNpb25bLG9mZnNldF0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU3CiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogInNjaHJlaWJ0IGRpZSBJbmRleC1EYXRlaSBkZXMgUGFrZXRlcyBpbiBkZXIgYW5nZWdlYmVuZW4gSW5kZXhmb3JtYXQtVmVyc2lvbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjAKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBvdXRwdXQgcGFjayBmaWxlIgogbXNnc3RyICJtYXhpbWFsZSBHcsO2w59lIGbDvHIgamVkZSBhdXNnZWdlYmVuZSBQYWtldGRhdGVpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2MgogbXNnaWQgImlnbm9yZSBib3Jyb3dlZCBvYmplY3RzIGZyb20gYWx0ZXJuYXRlIG9iamVjdCBzdG9yZSIKIG1zZ3N0ciAiaWdub3JpZXJ0IGdlbGllaGVuZSBPYmpla3RlIHZvbiBhbHRlcm5hdGl2ZW0gT2JqZWt0c3BlaWNoZXIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY0CiBtc2dpZCAiaWdub3JlIHBhY2tlZCBvYmplY3RzIgogbXNnc3RyICJpZ25vcmllcnQgZ2VwYWNrdGUgT2JqZWt0ZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjYKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBvYmplY3RzIgogbXNnc3RyICJiZWdyZW56dCBQYWtldGZlbnN0ZXIgZHVyY2ggT2JqZWt0ZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjgKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBtZW1vcnkgaW4gYWRkaXRpb24gdG8gb2JqZWN0IGxpbWl0IgogbXNnc3RyICJiZWdyZW56dCBQYWtldGZlbnN0ZXIsIHp1c8OkdHpsaWNoIHp1ciBPYmpla3RiZWdyZW56dW5nLCBkdXJjaCBTcGVpY2hlciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzAKIG1zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKIG1zZ3N0ciAiIgogIm1heGltYWxlIEzDpG5nZSBkZXIgZXJsYXVidGVuIERpZmZlcmVuenZlcmtldHR1bmcgaW0gcmVzdWx0aWVyZW5kZW4gUGFrZXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDcyCiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICJ2ZXJ3ZW5kZXQgZXhpc3RpZXJlbmRlIFVudGVyc2NoaWVkZSB3aWVkZXIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc0CiBtc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKIG1zZ3N0ciAidmVyd2VuZGV0IGV4aXN0aWVyZW5kZSBPYmpla3RlIHdpZWRlciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzYKIG1zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCiBtc2dzdHIgInZlcndlbmRldCBPRlNfREVMVEEgT2JqZWt0ZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzgKIG1zZ2lkICJ1c2UgdGhyZWFkcyB3aGVuIHNlYXJjaGluZyBmb3IgYmVzdCBkZWx0YSBtYXRjaGVzIgogbXNnc3RyICIiCiAidmVyd2VuZGV0IFRocmVhZHMgYmVpIGRlciBTdWNoZSBuYWNoIGRlbiBiZXN0ZW4gw5xiZXJlaW5zdGltbXVuZ2VuIGJlaSAiCiAiVW50ZXJzY2hpZWRlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODAKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICJlcnpldWd0IGtlaW5lIGxlZXJlbiBQYWtldGUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgyCiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibGllc3QgQXJndW1lbnRlIGJlesO8Z2xpY2ggQ29tbWl0cyB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg0CiBtc2dpZCAibGltaXQgdGhlIG9iamVjdHMgdG8gdGhvc2UgdGhhdCBhcmUgbm90IHlldCBwYWNrZWQiCiBtc2dzdHIgImJlZ3Jlbnp0IGRpZSBPYmpla3RlIHp1IHNvbGNoZW4sIGRpZSBub2NoIG5pY2h0IGdlcGFja3Qgd3VyZGVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4NwogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgogbXNnc3RyICJzY2hsaWXDn3QgT2JqZWt0ZSBlaW4sIGRpZSB2b24gamVkZXIgUmVmZXJlbnogZXJyZWljaGJhciBzaW5kIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5MAogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAiIgogInNjaGxpZcOfdCBPYmpla3RlIGVpbiwgZGllIHZvbiBFaW50csOkZ2VuIGRlcyBSZWZsb2dzIHJlZmVyZW56aWVydCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDkzCiBtc2dpZCAib3V0cHV0IHBhY2sgdG8gc3Rkb3V0IgogbXNnc3RyICJzY2hyZWlidCBQYWtldCBpbiBkaWUgU3RhbmRhcmQtQXVzZ2FiZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTUKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgInNjaGxpZcOfdCBUYWctT2JqZWt0ZSBlaW4sIGRpZSBhdWYgZ2VwYWNrdGUgT2JqZWt0ZSByZWZlcmVuemllcmVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NwogbXNnaWQgImtlZXAgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAiYmVow6RsdCBuaWNodCBlcnJlaWNoYmFyZSBPYmpla3RlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTcgcGFyc2Utb3B0aW9ucy5oOjE0MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk4IHBhcnNlLW9wdGlvbnMuaDoxNDMKIG1zZ2lkICJ0aW1lIgogbXNnc3RyICJaZWl0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5OQogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgogbXNnc3RyICJlbnRwYWNrdCBuaWNodCBlcnJlaWNoYmFyZSBPYmpla3RlLCBkaWUgbmV1ZXIgYWxzIDxaZWl0PiBzaW5kIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwMgogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICJlcnpldWd0IGTDvG5uZXJlIFBha2V0ZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTAzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDQKIG1zZ2lkICJpZ25vcmUgcGFja3MgdGhhdCBoYXZlIGNvbXBhbmlvbiAua2VlcCBmaWxlIgogbXNnc3RyICJpZ25vcmllcnQgUGFrZXRlIGRpZSAua2VlcCBEYXRlaWVuIGhhYmVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNgogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgIktvbXByaW1pZXJ1bmdzZ3JhZCBmw7xyIFBha2V0aWVydW5nIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwOAogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgogbXNnc3RyICJ2ZXJiaXJndCBrZWluZSBDb21taXRzIG1pdCBrw7xuc3RsaWNoZW4gVm9yZ8Okbmdlcm4gKFwiZ3JhZnRzXCIpIgogCkBAIC03NjM0LDE1ICs3ODM3LDE1IEBACiBtc2dpZCAiZ2l0IHB1c2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgImdpdCBwdXNoIFs8T3B0aW9uZW4+XSBbPFJlcG9zaXRvcnk+IFs8UmVmc3BlYz4uLi5dXSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDUKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3CiBtc2dpZCAidGFnIHNob3J0aGFuZCB3aXRob3V0IDx0YWc+IgogbXNnc3RyICJLdXJ6c2NocmlmdCBmw7xyIFRhZyBvaG5lIDxUYWc+IgogCi0jOiBidWlsdGluL3B1c2guYzo2NAorIzogYnVpbHRpbi9wdXNoLmM6NjYKIG1zZ2lkICItLWRlbGV0ZSBvbmx5IGFjY2VwdHMgcGxhaW4gdGFyZ2V0IHJlZiBuYW1lcyIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLWRlbGV0ZSBha3plcHRpZXJ0IG51ciByZWluZSBSZWZlcmVuem5hbWVuIGFscyBaaWVsLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6OTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjEwMQogbXNnaWQgIiIKICJcbiIKICJUbyBjaG9vc2UgZWl0aGVyIG9wdGlvbiBwZXJtYW5lbnRseSwgc2VlIHB1c2guZGVmYXVsdCBpbiAnZ2l0IGhlbHAgY29uZmlnJy4iCkBAIC03NjUxLDcgKzc4NTQsNyBAQAogIlVtIGVpbmUgVmFyaWFudGUgcGVybWFuZW50IHp1IHZlcndlbmRlbiwgc2llaGUgcHVzaC5kZWZhdWx0IGluICdnaXQgaGVscCAiCiAiY29uZmlnJy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEwMgorIzogYnVpbHRpbi9wdXNoLmM6MTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgdXBzdHJlYW0gYnJhbmNoIG9mIHlvdXIgY3VycmVudCBicmFuY2ggZG9lcyBub3QgbWF0Y2hcbiIKQEAgLTc2NzcsNyArNzg4MCw3IEBACiAiICAgIGdpdCBwdXNoICVzICVzXG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjExNworIzogYnVpbHRpbi9wdXNoLmM6MTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guXG4iCkBAIC03NjkyLDcgKzc4OTUsNyBAQAogIlxuIgogIiAgICBnaXQgcHVzaCAlcyBIRUFEOjxOYW1lLWRlcy1SZW1vdGUtQnJhbmNoZXM+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEzMQorIzogYnVpbHRpbi9wdXNoLmM6MTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG5vIHVwc3RyZWFtIGJyYW5jaC5cbiIKQEAgLTc3MDYsMTMgKzc5MDksMTMgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggLS1zZXQtdXBzdHJlYW0gJXMgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTM5CisjOiBidWlsdGluL3B1c2guYzoxNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBtdWx0aXBsZSB1cHN0cmVhbSBicmFuY2hlcywgcmVmdXNpbmcgdG8gcHVzaC4iCiBtc2dzdHIgIiIKICJEZXIgYWt0dWVsbGUgQnJhbmNoICVzIGhhdCBtZWhyZXJlIFVwc3RyZWFtLUJyYW5jaGVzLCBcInB1c2hcIiB2ZXJ3ZWlnZXJ0LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTQyCisjOiBidWlsdGluL3B1c2guYzoxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgcHVzaGluZyB0byByZW1vdGUgJyVzJywgd2hpY2ggaXMgbm90IHRoZSB1cHN0cmVhbSBvZlxuIgpAQCAtNzcyMCwxMCArNzkyMywxMCBAQAogInRvIHVwZGF0ZSB3aGljaCByZW1vdGUgYnJhbmNoLiIKIG1zZ3N0ciAiIgogIlNpZSB2ZXJzZW5kZW4gbmFjaCAnJXMnLCB3ZWxjaGVzIGtlaW4gVXBzdHJlYW0tUmVwb3NpdG9yeSBJaHJlcyBha3R1ZWxsZW5cbiIKLSJCcmFuY2hlcyAnJXMnIGlzdCwgb2huZSBtaXIgbWl0enV0ZWlsZW4sIHdhcyBpY2ggdmVyc2VuZGVuIHNvbGwsIHVtIHdlbGNoZW5cbiIKKyJCcmFuY2hlcyAnJXMnIGlzdCwgb2huZSBhbnp1Z2ViZW4sIHdhcyB2ZXJzZW5kZXQgd2VyZGVuIHNvbGwsIHVtIHdlbGNoZW5cbiIKICJSZW1vdGUtQnJhbmNoIHp1IGFrdHVhbGlzaWVyZW4uIgogCi0jOiBidWlsdGluL3B1c2guYzoxNjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjE2NwogbXNnaWQgIiIKICJwdXNoLmRlZmF1bHQgaXMgdW5zZXQ7IGl0cyBpbXBsaWNpdCB2YWx1ZSBpcyBjaGFuZ2luZyBpblxuIgogIkdpdCAyLjAgZnJvbSAnbWF0Y2hpbmcnIHRvICdzaW1wbGUnLiBUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZVxuIgpAQCAtNzc1OCwxNCArNzk2MSwxNCBAQAogIk1vZHVzICdjdXJyZW50JyBhbnN0YXR0ICdzaW1wbGUnLCBmYWxscyBTaWUgZ2VsZWdlbnRsaWNoIMOkbHRlcmUgVmVyc2lvbmVuICIKICJ2b24gR2l0IGJlbnV0emVuLikiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIyNQorIzogYnVpbHRpbi9wdXNoLmM6MjI3CiBtc2dpZCAiIgogIllvdSBkaWRuJ3Qgc3BlY2lmeSBhbnkgcmVmc3BlY3MgdG8gcHVzaCwgYW5kIHB1c2guZGVmYXVsdCBpcyBcIm5vdGhpbmdcIi4iCiBtc2dzdHIgIiIKICJTaWUgaGFiZW4ga2VpbmUgUmVmc3BlYyBmw7xyIFwicHVzaFwiIGFuZ2VnZWJlbiwgdW5kIHB1c2guZGVmYXVsdCBpc3QgIgogIlwibm90aGluZ1wiLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjMyCisjOiBidWlsdGluL3B1c2guYzoyMzQKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRpcCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGlzIGJlaGluZFxuIgogIml0cyByZW1vdGUgY291bnRlcnBhcnQuIEludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXMgKGUuZy5cbiIKQEAgLTc3NzksNyArNzk4Miw3IEBACiAiU2llaGUgYXVjaCBkaWUgU2VrdGlvbiAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJ1xuIgogImbDvHIgd2VpdGVyZSBEZXRhaWxzLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjM4CisjOiBidWlsdGluL3B1c2guYzoyNDAKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgogImNvdW50ZXJwYXJ0LiBJZiB5b3UgZGlkIG5vdCBpbnRlbmQgdG8gcHVzaCB0aGF0IGJyYW5jaCwgeW91IG1heSB3YW50IHRvXG4iCkBAIC03Nzk1LDcgKzc5OTgsNyBAQAogIidzaW1wbGUnLCAnY3VycmVudCdcbiIKICJvZGVyICd1cHN0cmVhbScgc2V0emVuLCB1bSBudXIgZGVuIGFrdHVlbGxlbiBCcmFuY2ggenUgdmVyc2VuZGVuLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjQ0CisjOiBidWlsdGluL3B1c2guYzoyNDYKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgogImNvdW50ZXJwYXJ0LiBDaGVjayBvdXQgdGhpcyBicmFuY2ggYW5kIGludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXNcbiIKQEAgLTc4MDksNyArODAxMiw3IEBACiAiU2llaGUgYXVjaCBkaWUgU2VrdGlvbiAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJ1xuIgogImbDvHIgd2VpdGVyZSBEZXRhaWxzLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjUwCisjOiBidWlsdGluL3B1c2guYzoyNTIKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHJlbW90ZSBjb250YWlucyB3b3JrIHRoYXQgeW91IGRvXG4iCiAibm90IGhhdmUgbG9jYWxseS4gVGhpcyBpcyB1c3VhbGx5IGNhdXNlZCBieSBhbm90aGVyIHJlcG9zaXRvcnkgcHVzaGluZ1xuIgpAQCAtNzgyOCwxMyArODAzMSwxMyBAQAogIlNpZWhlIGF1Y2ggZGllIFNla3Rpb24gJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCdcbiIKICJmw7xyIHdlaXRlcmUgRGV0YWlscy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI1NworIzogYnVpbHRpbi9wdXNoLmM6MjU5CiBtc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKIG1zZ3N0ciAiIgogIkFrdHVhbGlzaWVydW5nZW4gd3VyZGVuIHp1csO8Y2tnZXdpZXNlbiwgd2VpbCBkYXMgVGFnIGJlcmVpdHNcbiIKICJpbSBSZW1vdGUtUmVwb3NpdG9yeSBleGlzdGllcnQuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNjAKKyM6IGJ1aWx0aW4vcHVzaC5jOjI2MgogbXNnaWQgIiIKICJZb3UgY2Fubm90IHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBwb2ludHMgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJvciB1cGRhdGUgYSByZW1vdGUgcmVmIHRvIG1ha2UgaXQgcG9pbnQgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKQEAgLTc4NDQsMjIgKzgwNDcsMjIgQEAKICJkYXMga2VpbiBDb21taXQgaXN0LCBvZGVyIGVzIGF1ZiBlaW4gc29sY2hlcyBPYmpla3QgemVpZ2VuIGxhc3Nlbiwgb2huZVxuIgogImRpZSBPcHRpb24gJy0tZm9yY2UnIHp1IHZlcndlbmRlbi5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzIwCisjOiBidWlsdGluL3B1c2guYzozMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHVzaGluZyB0byAlc1xuIgogbXNnc3RyICJWZXJzZW5kZSBuYWNoICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjMyNAorIzogYnVpbHRpbi9wdXNoLmM6MzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwdXNoIHNvbWUgcmVmcyB0byAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBWZXJzZW5kZW4gZWluaWdlciBSZWZlcmVuemVuIG5hY2ggJyVzJyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzU3CisjOiBidWlsdGluL3B1c2guYzozNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKIG1zZ3N0ciAidW5nw7xsdGlnZXMgUmVwb3NpdG9yeSAnJXMnIgogCi0jOiBidWlsdGluL3B1c2guYzozNTgKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NgogbXNnaWQgIiIKICJObyBjb25maWd1cmVkIHB1c2ggZGVzdGluYXRpb24uXG4iCiAiRWl0aGVyIHNwZWNpZnkgdGhlIFVSTCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJlIGEgcmVtb3RlICIKQEAgLTc4ODEsODcgKzgwODQsOTUgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggPE5hbWU+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3MworIzogYnVpbHRpbi9wdXNoLmM6MzgxCiBtc2dpZCAiLS1hbGwgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1hbGwgdW5kIC0tdGFncyBzaW5kIGlua29tcGF0aWJlbC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3NAorIzogYnVpbHRpbi9wdXNoLmM6MzgyCiBtc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLWFsbCBrYW5uIG5pY2h0IG1pdCBSZWZzcGVjcyBrb21iaW5pZXJ0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3OQorIzogYnVpbHRpbi9wdXNoLmM6Mzg3CiBtc2dpZCAiLS1taXJyb3IgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1taXJyb3IgdW5kIC0tdGFncyBzaW5kIGlua29tcGF0aWJlbC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4MAorIzogYnVpbHRpbi9wdXNoLmM6Mzg4CiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLW1pcnJvciBrYW5uIG5pY2h0IG1pdCBSZWZzcGVjcyBrb21iaW5pZXJ0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4NQorIzogYnVpbHRpbi9wdXNoLmM6MzkzCiBtc2dpZCAiLS1hbGwgYW5kIC0tbWlycm9yIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIkRpZSBPcHRpb25lbiAtLWFsbCB1bmQgLS1taXJyb3Igc2luZCBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL3B1c2guYzo0NDUKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ1MwogbXNnaWQgInJlcG9zaXRvcnkiCiBtc2dzdHIgIlJlcG9zaXRvcnkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ0NgorIzogYnVpbHRpbi9wdXNoLmM6NDU0CiBtc2dpZCAicHVzaCBhbGwgcmVmcyIKIG1zZ3N0ciAidmVyc2VuZGV0IGFsbGUgUmVmZXJlbnplbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDQ3CisjOiBidWlsdGluL3B1c2guYzo0NTUKIG1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCiBtc2dzdHIgInNwaWVnZWx0IGFsbGUgUmVmZXJlbnplbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDQ5CisjOiBidWlsdGluL3B1c2guYzo0NTcKIG1zZ2lkICJkZWxldGUgcmVmcyIKIG1zZ3N0ciAibMO2c2NodCBSZWZlcmVuemVuIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTAKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ1OAogbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKIG1zZ3N0ciAidmVyc2VuZGV0IFRhZ3MgKGthbm4gbmljaHQgbWl0IC0tYWxsIG9kZXIgLS1taXJyb3IgdmVyd2VuZGV0IHdlcmRlbikiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1MworIzogYnVpbHRpbi9wdXNoLmM6NDYxCiBtc2dpZCAiZm9yY2UgdXBkYXRlcyIKIG1zZ3N0ciAiZXJ6d2luZ3QgQWt0dWFsaXNpZXJ1bmciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1NAorIzogYnVpbHRpbi9wdXNoLmM6NDYzCittc2dpZCAicmVmbmFtZT46PGV4cGVjdCIKK21zZ3N0ciAiUmVmZXJlbnpuYW1lPjo8RXJ3YXJ0dW5nc3dlcnQiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ2NAorbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgorbXNnc3RyICJSZWZlcmVueiBtdXNzIHNpY2ggYXVmIGRlbSBhbmdlZ2ViZW5lbiBXZXJ0IGJlZmluZGVuIgorCisjOiBidWlsdGluL3B1c2guYzo0NjYKIG1zZ2lkICJjaGVjayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTUKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ2NwogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAic3RldWVydCByZWt1cnNpdmVuIFwicHVzaFwiIHZvbiBTdWJtb2R1bGVuIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ2OQogbXNnaWQgInVzZSB0aGluIHBhY2siCiBtc2dzdHIgInZlcndlbmRldCBrbGVpbmVyZSBQYWtldGUiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1OCBidWlsdGluL3B1c2guYzo0NTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3MCBidWlsdGluL3B1c2guYzo0NzEKIG1zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKIG1zZ3N0ciAiJ3JlY2VpdmUgcGFjaycgUHJvZ3JhbW0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2MAorIzogYnVpbHRpbi9wdXNoLmM6NDcyCiBtc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCiBtc2dzdHIgInNldHp0IFVwc3RyZWFtIGbDvHIgXCJnaXQgcHVsbC9zdGF0dXNcIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDYzCisjOiBidWlsdGluL3B1c2guYzo0NzUKIG1zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKIG1zZ3N0ciAiZW50ZmVybnQgbG9rYWwgZ2Vsw7ZzY2h0ZSBSZWZlcmVuemVuIgogCi0jOiBidWlsdGluL3B1c2guYzo0NjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3NwogbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgogbXNnc3RyICJ1bWdlaHQgXCJwcmUtcHVzaCBob29rXCIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2NgorIzogYnVpbHRpbi9wdXNoLmM6NDc4CiBtc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgogbXNnc3RyICJ2ZXJzZW5kZXQgZmVobGVuZGUsIGFiZXIgcmVsZXZhbnRlIFRhZ3MiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ3NgorIzogYnVpbHRpbi9wdXNoLmM6NDg4CiBtc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1kZWxldGUgaXN0IGlua29tcGF0aWJlbCBtaXQgLS1hbGwsIC0tbWlycm9yIHVuZCAtLXRhZ3MuIgogCi0jOiBidWlsdGluL3B1c2guYzo0NzgKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ5MAogbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tZGVsZXRlIGthbm4gbnVyIG1pdCBSZWZlcmVuemVuIHZlcndlbmRldCB3ZXJkZW4uIgogCkBAIC04MDQwLDEyICs4MjUxLDEyIEBACiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICJwcm90b2tvbGxpZXJ0IEVudHBhY2tlbiBkZXIgQsOkdW1lIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjUwMAorIzogYnVpbHRpbi9yZWZsb2cuYzo0OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMnIGZvciAnJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAiJyVzJyBmw7xyICclcycgaXN0IGtlaW4gZ8O8bHRpZ2VyIFplaXRzdGVtcGVsIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjYxNiBidWlsdGluL3JlZmxvZy5jOjYyMQorIzogYnVpbHRpbi9yZWZsb2cuYzo2MTUgYnVpbHRpbi9yZWZsb2cuYzo2MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIiclcycgaXN0IGtlaW4gZ8O8bHRpZ2VyIFplaXRzdGVtcGVsIgpAQCAtODA3MCw5ICs4MjgxLDkgQEAKIG1zZ2lkICJnaXQgcmVtb3RlIHJlbW92ZSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgcmVtb3ZlIDxOYW1lPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNSBidWlsdGluL3JlbW90ZS5jOjQyCi1tc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLWQgfCA8YnJhbmNoPikiCi1tc2dzdHIgImdpdCByZW1vdGUgc2V0LWhlYWQgPE5hbWU+ICgtYSB8IC1kIHwgPEJyYW5jaD4pIgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNQorbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfDxicmFuY2g+KSIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8TmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxCcmFuY2g+KSIKIAogIzogYnVpbHRpbi9yZW1vdGUuYzoxNgogbXNnaWQgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSBzaG93IFstbl0gPG5hbWU+IgpAQCAtODEwOCw2ICs4MzE5LDEwIEBACiBtc2dpZCAiZ2l0IHJlbW90ZSBhZGQgWzxvcHRpb25zPl0gPG5hbWU+IDx1cmw+IgogbXNnc3RyICJnaXQgcmVtb3RlIGFkZCBbPE9wdGlvbmVuPl0gPE5hbWU+IDxVUkw+IgogCisjOiBidWlsdGluL3JlbW90ZS5jOjQyCittc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxicmFuY2g+KSIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8TmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxCcmFuY2g+KSIKKwogIzogYnVpbHRpbi9yZW1vdGUuYzo0NwogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPE5hbWU+IDxCcmFuY2g+Li4uIgpAQCAtODU1Nyw2ICs4NzcyLDY4IEBACiBtc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKIG1zZ3N0ciAiZXJ3ZWl0ZXJ0ZSBBdXNnYWJlbjsgbXVzcyB2b3IgZWluZW0gVW50ZXJrb21tYW5kbyBhbmdlZ2ViZW4gd2VyZGVuIgogCisjOiBidWlsdGluL3JlcGFjay5jOjE1Cittc2dpZCAiZ2l0IHJlcGFjayBbb3B0aW9uc10iCittc2dzdHIgImdpdCByZXBhY2sgW09wdGlvbmVuXSIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNDMKK21zZ2lkICJwYWNrIGV2ZXJ5dGhpbmcgaW4gYSBzaW5nbGUgcGFjayIKK21zZ3N0ciAicGFja3QgYWxsZXMgaW4gZWluZSBlaW56aWdlIFBhY2stRGF0ZWkiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTQ1Cittc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKK21zZ3N0ciAiZ2VuYXUgd2llIC1hLCB1bmVycmVpY2hiYXJlIE9iamVrdGUgd2VyZGVuIGFiZXIgbmljaHQgZ2Vsw7ZzY2h0IgorCisjOiBidWlsdGluL3JlcGFjay5jOjE0OAorbXNnaWQgInJlbW92ZSByZWR1bmRhbnQgcGFja3MsIGFuZCBydW4gZ2l0LXBydW5lLXBhY2tlZCIKK21zZ3N0ciAiZW50ZmVybnQgcmVkdW5kYW50ZSBQYWtldGUgdW5kIGbDvGhydCBcImdpdC1wcnVuZS1wYWNrZWRcIiBhdXMiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTUwCittc2dpZCAicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgIsO8YmVyZ2lidCAtLW5vLXJldXNlLWRlbHRhIGFuIGdpdC1wYWNrLW9iamVjdHMiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTUyCittc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICLDvGJlcmdpYnQgLS1uby1yZXVzZS1vYmplY3QgYW4gZ2l0LXBhY2stb2JqZWN0cyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTQKK21zZ2lkICJkbyBub3QgcnVuIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCittc2dzdHIgImdpdC11cGRhdGUtc2VydmVyLWluZm8gbmljaHQgYXVzZsO8aHJlbiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTcKK21zZ2lkICJwYXNzIC0tbG9jYWwgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAiw7xiZXJnaWJ0IC0tbG9jYWwgYW4gZ2l0LXBhY2stb2JqZWN0cyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTgKK21zZ2lkICJhcHByb3hpZGF0ZSIKK21zZ3N0ciAiRGF0dW1zYW5nYWJlIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1OQorbXNnaWQgIndpdGggLUEsIGRvIG5vdCBsb29zZW4gb2JqZWN0cyBvbGRlciB0aGFuIHRoaXMiCittc2dzdHIgIm1pdCAtQSwgbMO2c2NodCBrZWluZSBPYmpla3RlIMOkbHRlciBhbHMgZGllc2VzIERhdHVtIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2MQorbXNnaWQgInNpemUgb2YgdGhlIHdpbmRvdyB1c2VkIGZvciBkZWx0YSBjb21wcmVzc2lvbiIKK21zZ3N0ciAiR3LDtsOfZSBkZXMgRmVuc3RlcnMgZsO8ciBkaWUgRGVsdGEtS29tcHJlc3Npb24iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYzCittc2dpZCAic2FtZSBhcyB0aGUgYWJvdmUsIGJ1dCBsaW1pdCBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIGVudHJpZXMgY291bnQiCittc2dzdHIgImdsZWljaGVzIHdpZSBvYmVuLCBsaW1pdGllcnQgYWJlciBkaWUgU3BlaWNoZXJncsO2w59lIGFuc3RhdHQgZGVyXG4iCisiQW56YWhsIGRlciBFaW50csOkZ2UiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY1Cittc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIGRlbHRhIGRlcHRoIgorbXNnc3RyICJsaW1pdGllcnQgZGllIG1heGltYWxlIERlbHRhLVRpZWZlIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2NworbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgorbXNnc3RyICJtYXhpbWFsZSBHcsO2w59lIGbDvHIgamVkZSBQYWtldGRhdGVpIgorCisjOiBidWlsdGluL3JlcGFjay5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiTMO2c2NoZW4gdm9uICclcycgZmVobGdlc2NobGFnZW4iCisKICM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3CiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZWN0PiA8cmVwbGFjZW1lbnQ+IgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIDxPYmpla3Q+IDxFcnNldHp1bmc+IgpAQCAtODU2OSwyMyArODg0NiwyMyBAQAogbXNnaWQgImdpdCByZXBsYWNlIC1sIFs8cGF0dGVybj5dIgogbXNnc3RyICJnaXQgcmVwbGFjZSAtbCBbPE11c3Rlcj5dIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEzMQogbXNnaWQgImxpc3QgcmVwbGFjZSByZWZzIgogbXNnc3RyICJsaXN0ZXQgZXJzZXR6ZW5kZSBSZWZlcmVuemVuIGF1ZiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIyCisjOiBidWlsdGluL3JlcGxhY2UuYzoxMzIKIG1zZ2lkICJkZWxldGUgcmVwbGFjZSByZWZzIgogbXNnc3RyICJsw7ZzY2h0IGVyc2V0emVuZGUgUmVmZXJlbnplbiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIzCisjOiBidWlsdGluL3JlcGxhY2UuYzoxMzMKIG1zZ2lkICJyZXBsYWNlIHRoZSByZWYgaWYgaXQgZXhpc3RzIgogbXNnc3RyICJlcnNldHp0IGRpZSBSZWZlcmVueiwgd2VubiBzaWUgZXhpc3RpZXJ0IgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjExCisjOiBidWlsdGluL3JlcmVyZS5jOjEyCiBtc2dpZCAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgcGF0aC4uLiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCiBtc2dzdHIgImdpdCByZXJlcmUgW2NsZWFuIHwgZm9yZ2V0IHBhdGguLi4gfCBzdGF0dXMgfCByZW1haW5pbmcgfCBkaWZmIHwgZ2NdIgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjU2CisjOiBidWlsdGluL3JlcmVyZS5jOjU3CiBtc2dpZCAicmVnaXN0ZXIgY2xlYW4gcmVzb2x1dGlvbnMgaW4gaW5kZXgiCiBtc2dzdHIgInJlZ2lzdHJpZXJ0IHNhdWJlcmUgQXVmbMO2c3VuZ2VuIGluIGRlciBTdGFnaW5nLUFyZWEiCiAKQEAgLTg2NDYsNzEgKzg5MjMsNzEgQEAKIG1zZ2lkICJDYW5ub3QgZG8gYSAlcyByZXNldCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UuIgogbXNnc3RyICJLYW5uIGtlaW5lbiAnJXMnLVJlc2V0IGR1cmNoZsO8aHJlbiwgd8OkaHJlbmQgZWluIE1lcmdlIGltIEdhbmdlIGlzdC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTEKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNjIKIG1zZ2lkICJiZSBxdWlldCwgb25seSByZXBvcnQgZXJyb3JzIgogbXNnc3RyICJ3ZW5pZ2VyIEF1c2dhYmVuLCBtZWxkZXQgbnVyIEZlaGxlciIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI1MworIzogYnVpbHRpbi9yZXNldC5jOjI2NAogbXNnaWQgInJlc2V0IEhFQUQgYW5kIGluZGV4IgogbXNnc3RyICJzZXR6dCBIRUFEIHVuZCBTdGFnaW5nLUFyZWEgdW0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTQKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNjUKIG1zZ2lkICJyZXNldCBvbmx5IEhFQUQiCiBtc2dzdHIgInNldHp0IG51ciBIRUFEIHVtIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjU2IGJ1aWx0aW4vcmVzZXQuYzoyNTgKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNjcgYnVpbHRpbi9yZXNldC5jOjI2OQogbXNnaWQgInJlc2V0IEhFQUQsIGluZGV4IGFuZCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgInNldHp0IEhFQUQsIFN0YWdpbmctQXJlYSB1bmQgQXJiZWl0c3ZlcnplaWNobmlzIHVtIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjYwCisjOiBidWlsdGluL3Jlc2V0LmM6MjcxCiBtc2dpZCAicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICJzZXR6dCBIRUFEIHVtLCBiZWjDpGx0IGFiZXIgbG9rYWxlIMOEbmRlcnVuZ2VuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjc4CisjOiBidWlsdGluL3Jlc2V0LmM6Mjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGFscyBnw7xsdGlnZW4gQ29tbWl0IGF1ZmzDtnNlbi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODEgYnVpbHRpbi9yZXNldC5jOjI4OQorIzogYnVpbHRpbi9yZXNldC5jOjI5MiBidWlsdGluL3Jlc2V0LmM6MzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJy4iCiBtc2dzdHIgIktvbm50ZSBPYmpla3QgJyVzJyBuaWNodCBwYXJzZW4uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjg2CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCB0cmVlLiIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgYWxzIGfDvGx0aWdlcyBcIlRyZWVcIi1PYmpla3QgYXVmbMO2c2VuLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5NQorIzogYnVpbHRpbi9yZXNldC5jOjMwNgogbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIKIG1zZ3N0ciAiLS1wYXRjaCBpc3QgaW5rb21wYXRpYmVsIG1pdCAtLXtoYXJkLG1peGVkLHNvZnR9IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzA0CisjOiBidWlsdGluL3Jlc2V0LmM6MzE1CiBtc2dpZCAiLS1taXhlZCB3aXRoIHBhdGhzIGlzIGRlcHJlY2F0ZWQ7IHVzZSAnZ2l0IHJlc2V0IC0tIDxwYXRocz4nIGluc3RlYWQuIgogbXNnc3RyICIiCiAiLS1taXhlZCBtaXQgUGZhZGVuIGlzdCB2ZXJhbHRldDsgYmVudXR6ZW4gU2llIHN0YXR0ZGVzc2VuICdnaXQgcmVzZXQgLS0gIgogIjxQZmFkZT4nLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMwNgorIzogYnVpbHRpbi9yZXNldC5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gJXMgcmVzZXQgd2l0aCBwYXRocy4iCiBtc2dzdHIgIkVpbiAnJXMnLVJlc2V0IG1pdCBQZmFkZW4gaXN0IG5pY2h0IG3DtmdsaWNoLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMxNgorIzogYnVpbHRpbi9yZXNldC5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyByZXNldCBpcyBub3QgYWxsb3dlZCBpbiBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiJyVzJy1SZXNldCBpc3QgaW4gZWluZW0gQmFyZS1SZXBvc2l0b3J5IG5pY2h0IGVybGF1YnQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMzYKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNDQKK21zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKK21zZ3N0ciAiTmljaHQgenVtIENvbW1pdCB2b3JnZW1lcmt0ZSDDhG5kZXJ1bmdlbiBuYWNoIFp1csO8Y2tzZXR6dW5nOiIKKworIzogYnVpbHRpbi9yZXNldC5jOjM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVzZXQgaW5kZXggZmlsZSB0byByZXZpc2lvbiAnJXMnLiIKIG1zZ3N0ciAiS29ubnRlIFN0YWdpbmctQXJlYS1EYXRlaSBuaWNodCB6dSBDb21taXQgJyVzJyBzZXR6ZW4uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQyCi1tc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZXNldDoiCi1tc2dzdHIgIk5pY2h0IHp1bSBDb21taXQgdm9yZ2VtZXJrdGUgw4RuZGVydW5nZW4gbmFjaCBadXLDvGNrc2V0enVuZzoiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDcKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTUKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgbmV3IGluZGV4IGZpbGUuIgogbXNnc3RyICJLb25udGUgbmV1ZSBTdGFnaW5nLUFyZWEtRGF0ZWkgbmljaHQgc2NocmVpYmVuLiIKIApAQCAtODc1Nyw4NCArOTAzNCw4NCBAQAogbXNnaWQgImdpdCBjaGVycnktcGljayA8c3ViY29tbWFuZD4iCiBtc2dzdHIgImdpdCBjaGVycnktcGljayA8VW50ZXJrb21tYW5kbz4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6NzEgYnVpbHRpbi9yZXZlcnQuYzo5NAorIzogYnVpbHRpbi9yZXZlcnQuYzo3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXMgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAiJXM6ICVzIGthbm4gbmljaHQgbWl0ICVzIHZlcndlbmRldCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CisjOiBidWlsdGluL3JldmVydC5jOjgwCiBtc2dpZCAiZW5kIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiYmVlbmRldCBcInJldmVydFwiIG9kZXIgXCJjaGVycnktcGlja1wiIEFibGF1ZiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDYKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODEKIG1zZ2lkICJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJzZXR6dCBcInJldmVydFwiIG9kZXIgXCJjaGVycnktcGlja1wiIEFibGF1ZiBmb3J0IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNworIzogYnVpbHRpbi9yZXZlcnQuYzo4MgogbXNnaWQgImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgImJyaWNodCBcInJldmVydFwiIG9kZXIgXCJjaGVycnktcGlja1wiIEFibGF1ZiBhYiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODMKIG1zZ2lkICJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIKIG1zZ3N0ciAiY29tbWl0dGV0IG5pY2h0IGF1dG9tYXRpc2NoIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwOQorIzogYnVpbHRpbi9yZXZlcnQuYzo4NAogbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJCZWFyYmVpdHVuZyBkZXIgQ29tbWl0LUJlc2NocmVpYnVuZyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODcKIG1zZ2lkICJwYXJlbnQgbnVtYmVyIgogbXNnc3RyICJOdW1tZXIgZGVzIEVsdGVybnRlaWxzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjExNAorIzogYnVpbHRpbi9yZXZlcnQuYzo4OQogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJNZXJnZS1TdHJhdGVnaWUiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE1CisjOiBidWlsdGluL3JldmVydC5jOjkwCiBtc2dpZCAib3B0aW9uIgogbXNnc3RyICJPcHRpb24iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE2CisjOiBidWlsdGluL3JldmVydC5jOjkxCiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAiT3B0aW9uIGbDvHIgTWVyZ2UtU3RyYXRlZ2llIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyNworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJhcHBlbmQgY29tbWl0IG5hbWUiCiBtc2dzdHIgImjDpG5ndCBDb21taXQtTmFtZW4gYW4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI4CisjOiBidWlsdGluL3JldmVydC5jOjEwMwogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAiZXJsYXVidCBWb3JzcHVsZW4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI5CisjOiBidWlsdGluL3JldmVydC5jOjEwNAogbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgogbXNnc3RyICJlcmjDpGx0IHVyc3Byw7xuZ2xpY2hlLCBsZWVyZSBDb21taXRzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEzMAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDUKIG1zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCiBtc2dzdHIgImVybGF1YnQgQ29tbWl0cyBtaXQgbGVlcmVyIEJlc2NocmVpYnVuZyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMzEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CiBtc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgImJlaMOkbHQgcmVkdW5kYW50ZSwgbGVlcmUgQ29tbWl0cyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMzUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCiBtc2dpZCAicHJvZ3JhbSBlcnJvciIKIG1zZ3N0ciAiUHJvZ3JhbW1mZWhsZXIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjI1CisjOiBidWlsdGluL3JldmVydC5jOjE5NQogbXNnaWQgInJldmVydCBmYWlsZWQiCiBtc2dzdHIgIlwicmV2ZXJ0XCIgZmVobGdlc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjQwCisjOiBidWlsdGluL3JldmVydC5jOjIxMAogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAiXCJjaGVycnktcGlja1wiIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBidWlsdGluL3JtLmM6MTYKKyM6IGJ1aWx0aW4vcm0uYzoxNwogbXNnaWQgImdpdCBybSBbb3B0aW9uc10gWy0tXSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBybSBbT3B0aW9uZW5dIFstLV0gWzxEYXRlaT4uLi5dIgogCi0jOiBidWlsdGluL3JtLmM6NjQKKyM6IGJ1aWx0aW4vcm0uYzo2NQogbXNnaWQgIiIKICJ0aGUgZm9sbG93aW5nIHN1Ym1vZHVsZSAob3Igb25lIG9mIGl0cyBuZXN0ZWQgc3VibW9kdWxlcylcbiIKICJ1c2VzIGEgLmdpdCBkaXJlY3Rvcnk6IgpAQCAtODg0OCw3ICs5MTI1LDcgQEAKICJkaWUgZm9sZ2VuZGVuIFN1Ym1vZHVsZSAob2RlciBlaW4gZ2VzY2hhY2h0ZWx0ZXMgU3VibW9kdWwgaGllcnZvbilcbiIKICJiZW51dHplbiBlaW4gLmdpdC1WZXJ6ZWljaG5pczoiCiAKLSM6IGJ1aWx0aW4vcm0uYzo3MAorIzogYnVpbHRpbi9ybS5jOjcxCiBtc2dpZCAiIgogIlxuIgogIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKQEAgLTg4NTcsNyArOTEzNCw3IEBACiAiKGJlbnV0emVuIFNpZSAncm0gLXJmJyB3ZW5uIFNpZSBkaWVzZXMgU3VibW9kdWwgd2lya2xpY2ggbWl0c2FtdFxuIgogInNlaW5lciBIaXN0b3JpZSBsw7ZzY2hlbiBtw7ZjaHRlbikiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMzAKKyM6IGJ1aWx0aW4vcm0uYzoyMzEKIG1zZ2lkICIiCiAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBzdGFnZWQgY29udGVudCBkaWZmZXJlbnQgZnJvbSBib3RoIHRoZVxuIgogImZpbGUgYW5kIHRoZSBIRUFEOiIKQEAgLTg4NzIsNyArOTE0OSw3IEBACiAidW50ZXJzY2hpZWRsaWNoXG4iCiAienUgZGVyIERhdGVpIHVuZCBIRUFEOiIKIAotIzogYnVpbHRpbi9ybS5jOjIzNQorIzogYnVpbHRpbi9ybS5jOjIzNgogbXNnaWQgIiIKICJcbiIKICIodXNlIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtODg4MCwxMyArOTE1NywxMyBAQAogIlxuIgogIihiZW51dHplbiBTaWUgLWYgdW0gZGllIEzDtnNjaHVuZyB6dSBlcnp3aW5nZW4pIgogCi0jOiBidWlsdGluL3JtLmM6MjM5CisjOiBidWlsdGluL3JtLmM6MjQwCiBtc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ3N0clswXSAiZGllIGZvbGdlbmRlIERhdGVpIGhhdCB6dW0gQ29tbWl0IHZvcmdlbWVya3RlIMOEbmRlcnVuZ2VuOiIKIG1zZ3N0clsxXSAiZGllIGZvbGdlbmRlbiBEYXRlaWVuIGhhYmVuIHp1bSBDb21taXQgdm9yZ2VtZXJrdGUgw4RuZGVydW5nZW46IgogCi0jOiBidWlsdGluL3JtLmM6MjQzIGJ1aWx0aW4vcm0uYzoyNTQKKyM6IGJ1aWx0aW4vcm0uYzoyNDQgYnVpbHRpbi9ybS5jOjI1NQogbXNnaWQgIiIKICJcbiIKICIodXNlIC0tY2FjaGVkIHRvIGtlZXAgdGhlIGZpbGUsIG9yIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtODg5NSwzOCArOTE3MiwzOCBAQAogIihiZW51dHplbiBTaWUgLS1jYWNoZWQgdW0gZGllIERhdGVpIHp1IGJlaGFsdGVuLCBvZGVyIC1mIHVtIGRpZSBFbnRmZXJudW5nICIKICJ6dSBlcnp3aW5nZW4pIgogCi0jOiBidWlsdGluL3JtLmM6MjUxCisjOiBidWlsdGluL3JtLmM6MjUyCiBtc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgogbXNnc3RyWzBdICJkaWUgZm9sZ2VuZGUgRGF0ZWkgaGF0IGxva2FsZSDDhG5kZXJ1bmdlbjoiCiBtc2dzdHJbMV0gImRpZSBmb2xnZW5kZW4gRGF0ZWllbiBoYWJlbiBsb2thbGUgw4RuZGVydW5nZW46IgogCi0jOiBidWlsdGluL3JtLmM6MjY5CisjOiBidWlsdGluL3JtLmM6MjcwCiBtc2dpZCAiZG8gbm90IGxpc3QgcmVtb3ZlZCBmaWxlcyIKIG1zZ3N0ciAibGlzdGV0IGtlaW5lIGdlbMO2c2NodGVuIERhdGVpZW4gYXVmIgogCi0jOiBidWlsdGluL3JtLmM6MjcwCisjOiBidWlsdGluL3JtLmM6MjcxCiBtc2dpZCAib25seSByZW1vdmUgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgImVudGZlcm50IG51ciBhdXMgZGVyIFN0YWdpbmctQXJlYSIKIAotIzogYnVpbHRpbi9ybS5jOjI3MQorIzogYnVpbHRpbi9ybS5jOjI3MgogbXNnaWQgIm92ZXJyaWRlIHRoZSB1cC10by1kYXRlIGNoZWNrIgogbXNnc3RyICLDvGJlcnNjaHJlaWJ0IGRpZSBcInVwLXRvLWRhdGVcIiBQcsO8ZnVuZyIKIAotIzogYnVpbHRpbi9ybS5jOjI3MgorIzogYnVpbHRpbi9ybS5jOjI3MwogbXNnaWQgImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIgogbXNnc3RyICJlcmxhdWJ0IHJla3Vyc2l2ZSBFbnRmZXJudW5nIgogCi0jOiBidWlsdGluL3JtLmM6Mjc0CisjOiBidWlsdGluL3JtLmM6Mjc1CiBtc2dpZCAiZXhpdCB3aXRoIGEgemVybyBzdGF0dXMgZXZlbiBpZiBub3RoaW5nIG1hdGNoZWQiCiBtc2dzdHIgImJlZW5kZXQgbWl0IFLDvGNrZ2FiZXdlcnQgMCwgd2VubiBrZWluZSDDnGJlcmVpbnN0aW1tdW5nIGdlZnVuZGVuIHd1cmRlIgogCi0jOiBidWlsdGluL3JtLmM6MzQ1CisjOiBidWlsdGluL3JtLmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCByZW1vdmluZyAnJXMnIHJlY3Vyc2l2ZWx5IHdpdGhvdXQgLXIiCiBtc2dzdHIgIiclcycgd2lyZCBuaWNodCBvaG5lIC1yIHJla3Vyc2l2IGVudGZlcm50IgogCi0jOiBidWlsdGluL3JtLmM6Mzg0CisjOiBidWlsdGluL3JtLmM6Mzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBybTogdW5hYmxlIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAiZ2l0IHJtOiBrb25udGUgJXMgbmljaHQgbMO2c2NoZW4iCkBAIC04OTQwLDIzICs5MjE3LDIzIEBACiBtc2dpZCAiTWlzc2luZyBhdXRob3I6ICVzIgogbXNnc3RyICJmZWhsZW5kZXIgQXV0b3I6ICVzIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjI4CisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjMwCiBtc2dpZCAic29ydCBvdXRwdXQgYWNjb3JkaW5nIHRvIHRoZSBudW1iZXIgb2YgY29tbWl0cyBwZXIgYXV0aG9yIgogbXNnc3RyICJzb3J0aWVydCBkaWUgQXVzZ2FiZSBlbnRzcHJlY2hlbmQgZGVyIEFuemFobCB2b24gQ29tbWl0cyBwcm8gQXV0b3IiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzAKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzIKIG1zZ2lkICJTdXBwcmVzcyBjb21taXQgZGVzY3JpcHRpb25zLCBvbmx5IHByb3ZpZGVzIGNvbW1pdCBjb3VudCIKIG1zZ3N0ciAiVW50ZXJkcsO8Y2t0IENvbW1pdC1CZXNjaHJlaWJ1bmdlbiwgbGllZmVydCBudXIgQW56YWhsIGRlciBDb21taXRzIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjMyCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjM0CiBtc2dpZCAiU2hvdyB0aGUgZW1haWwgYWRkcmVzcyBvZiBlYWNoIGF1dGhvciIKIG1zZ3N0ciAiWmVpZ3QgZGllIEVtYWlsLUFkcmVzc2Ugdm9uIGplZGVtIEF1dG9yIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjMzCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjM1CiBtc2dpZCAid1ssaTFbLGkyXV0iCiBtc2dzdHIgIndbLGkxWyxpMl1dIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjM0CisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjM2CiBtc2dpZCAiTGluZXdyYXAgb3V0cHV0IgogbXNnc3RyICJBdXNnYWJlIG1pdCBaZWlsZW51bWJyw7xjaGVuIgogCkBAIC05MDY0LDI0ICs5MzQxLDI0IEBACiBtc2dpZCAic3RyaWN0ZXIgcmVmZXJlbmNlIGNoZWNraW5nLCByZXF1aXJlcyBleGFjdCByZWYgcGF0aCIKIG1zZ3N0ciAic3RyZW5nZXJlIFJlZmVyZW56cHLDvGZ1bmcsIGVyZm9yZGVydCBleGFrdGVuIFJlZmVyZW56cGZhZCIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MyBidWlsdGluL3Nob3ctcmVmLmM6MTc2CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTczIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzUKIG1zZ2lkICJzaG93IHRoZSBIRUFEIHJlZmVyZW5jZSwgZXZlbiBpZiBpdCB3b3VsZCBiZSBmaWx0ZXJlZCBvdXQiCiBtc2dzdHIgInplaWd0IGRpZSBIRUFELVJlZmVyZW56LCBzZWxic3Qgd2VubiBkaWVzZSBhdXNnZWZpbHRlcnQgd2VyZGVuIHfDvHJkZSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NwogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW50byBvYmplY3QgSURzIgogbXNnc3RyICJkZXJlZmVyZW56aWVydCBUYWdzIGluIE9iamVrdC1JZGVudGlmaWthdGlvbmVuIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTgwCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc5CiBtc2dpZCAib25seSBzaG93IFNIQTEgaGFzaCB1c2luZyA8bj4gZGlnaXRzIgogbXNnc3RyICJ6ZWlndCBudXIgU0hBMSBIYXNoIG1pdCA8bj4gWmlmZmVybiIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4NAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4MwogbXNnaWQgImRvIG5vdCBwcmludCByZXN1bHRzIHRvIHN0ZG91dCAodXNlZnVsIHdpdGggLS12ZXJpZnkpIgogbXNnc3RyICIiCiAia2VpbmUgQXVzZ2FiZSBkZXIgRXJnZWJuaXNzZSBpbiBkaWUgU3RhbmRhcmQtQXVzZ2FiZSAobsO8dHpsaWNoIG1pdCAtLXZlcmlmeSkiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODYKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODUKIG1zZ2lkICJzaG93IHJlZnMgZnJvbSBzdGRpbiB0aGF0IGFyZW4ndCBpbiBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAiemVpZ3QgUmVmZXJlbnplbiB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUsIGRpZSBzaWNoIG5pY2h0IGltIGxva2FsZW4gIgpAQCAtOTEwOCwxMSArOTM4NSwxMSBAQAogbXNnaWQgInNob3J0ZW4gcmVmIG91dHB1dCIKIG1zZ3N0ciAidmVya8O8cnp0ZSBBdXNnYWJlIGRlciBSZWZlcmVuemVuIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjE4CisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1NAogbXNnaWQgInJlYXNvbiIKIG1zZ3N0ciAiR3J1bmQiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MTgKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU0CiBtc2dpZCAicmVhc29uIG9mIHRoZSB1cGRhdGUiCiBtc2dzdHIgIkdydW5kIGbDvHIgZGllIEFrdHVhbGlzaWVydW5nIgogCkBAIC05Mjc4LDE5MSArOTU1NSwyMDMgQEAKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAiZ2lidCBudXIgVGFncyB2b24gZGVtIE9iamVrdCBhdXMiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTA0CisjOiBidWlsdGluL3RhZy5jOjUwMQogbXNnaWQgIi0tY29sdW1uIGFuZCAtbiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWNvbHVtbiB1bmQgLW4gc2luZCBpbmtvbXBhdGliZWwiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTIxCisjOiBidWlsdGluL3RhZy5jOjUxOAogbXNnaWQgIi1uIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCiBtc2dzdHIgIi1uIE9wdGlvbiBpc3QgbnVyIGVybGF1YnQgbWl0IC1sLiIKIAotIzogYnVpbHRpbi90YWcuYzo1MjMKKyM6IGJ1aWx0aW4vdGFnLmM6NTIwCiBtc2dpZCAiLS1jb250YWlucyBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgogbXNnc3RyICItLWNvbnRhaW5zIE9wdGlvbiBpc3QgbnVyIGVybGF1YnQgbWl0IC1sLiIKIAotIzogYnVpbHRpbi90YWcuYzo1MjUKKyM6IGJ1aWx0aW4vdGFnLmM6NTIyCiBtc2dpZCAiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKIG1zZ3N0ciAiLS1wb2ludHMtYXQgT3B0aW9uIGlzdCBudXIgZXJsYXVidCBtaXQgLWwuIgogCi0jOiBidWlsdGluL3RhZy5jOjUzMworIzogYnVpbHRpbi90YWcuYzo1MzAKIG1zZ2lkICJvbmx5IG9uZSAtRiBvciAtbSBvcHRpb24gaXMgYWxsb3dlZC4iCiBtc2dzdHIgIm51ciBlaW5lIC1GIG9kZXIgLW0gT3B0aW9uIGlzdCBlcmxhdWJ0LiIKIAotIzogYnVpbHRpbi90YWcuYzo1NTMKKyM6IGJ1aWx0aW4vdGFnLmM6NTUwCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1zIgogbXNnc3RyICJ6dSB2aWVsZSBQYXJhbWV0ZXIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTU5CisjOiBidWlsdGluL3RhZy5jOjU1NgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRhZyBuYW1lLiIKIG1zZ3N0ciAiJyVzJyBpc3Qga2VpbiBnw7xsdGlnZXIgVGFnbmFtZS4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTY0CisjOiBidWlsdGluL3RhZy5jOjU2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiVGFnICclcycgZXhpc3RpZXJ0IGJlcmVpdHMiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTgyCisjOiBidWlsdGluL3RhZy5jOjU3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGxvY2sgdGhlIHJlZiIKIG1zZ3N0ciAiJXM6IGthbm4gUmVmZXJlbnogbmljaHQgc3BlcnJlbiIKIAotIzogYnVpbHRpbi90YWcuYzo1ODQKKyM6IGJ1aWx0aW4vdGFnLmM6NTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdXBkYXRlIHRoZSByZWYiCiBtc2dzdHIgIiVzOiBrYW5uIFJlZmVyZW56IG5pY2h0IGFrdHVhbGlzaWVyZW4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTg2CisjOiBidWlsdGluL3RhZy5jOjU4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIlRhZyAnJXMnIGFrdHVhbGlzaWVydCAod2FyICVzKVxuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjQwMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo0MDIKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFtvcHRpb25zXSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgdXBkYXRlLWluZGV4IFtPcHRpb25lbl0gWy0tXSBbPERhdGVpPi4uLl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzE4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyMAogbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKIG1zZ3N0ciAiIgogIkFrdHVhbGlzaWVydW5nIGZvcnRzZXR6ZW4sIGF1Y2ggd2VubiBkaWUgU3RhZ2luZy1BcmVhIGFrdHVhbGlzaWVydCB3ZXJkZW4gIgogIm11c3MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzIxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyMwogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICJBa3R1YWxpc2llcnVuZzogaWdub3JpZXJ0IFN1Ym1vZHVsZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI2CiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgImlnbm9yaWVydCBrZWluZSBuZXVlbiBEYXRlaWVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjgKIG1zZ2lkICJsZXQgZmlsZXMgcmVwbGFjZSBkaXJlY3RvcmllcyBhbmQgdmljZS12ZXJzYSIKIG1zZ3N0ciAibMOkc3N0IERhdGVpZW4gVmVyemVpY2huaXNzZSBlcnNldHplbiwgdW5kIHVtZ2VkcmVodCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMwCiBtc2dpZCAibm90aWNlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAiYmVhY2h0ZXQgZmVobGVuZGUgRGF0ZWllbiBpbSBBcmJlaXRzdmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczMgogbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICIiCiAiYWt0dWFsaXNpZXJ0LCBhdWNoIHdlbm4gZGllIFN0YWdpbmctQXJlYSBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBFaW50csOkZ2UgIgogImJlaW5oYWx0ZXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczNQogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiYWt0dWFsaXNpZXJ0IERhdGVpaW5mb3JtYXRpb25lbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzM5CiBtc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgogbXNnc3RyICJ3aWUgLS1yZWZyZXNoLCBpZ25vcmllcnQgYWJlciBcImFzc3VtZS11bmNoYW5nZWRcIiBFaW5zdGVsbHVuZyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQzCiBtc2dpZCAiPG1vZGU+IDxvYmplY3Q+IDxwYXRoPiIKIG1zZ3N0ciAiPE1vZHVzPiA8T2JqZWt0PiA8UGZhZD4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0NAogbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAibWVya3QgZGVuIGFuZ2VnZWJlbmVuIEVpbnRyYWcgenVtIENvbW1pdCB2b3IiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0OAogbXNnaWQgIigrLy0peCIKIG1zZ3N0ciAiKCsvLSl4IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDkKIG1zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKIG1zZ3N0ciAiw7xiZXJzY2hyZWlidCBkYXMgXCJhdXNmw7xocmJhclwiLUJpdCBkZXIgYXVmZ2VsaXN0ZXRlbiBEYXRlaWVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTMKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCiBtc2dzdHIgImJldHJhY2h0ZSBkaWVzZSBEYXRlaSBpbW1lciBhbHMgdW52ZXLDpG5kZXJ0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTYKIG1zZ2lkICJjbGVhciBhc3N1bWVkLXVuY2hhbmdlZCBiaXQiCiBtc2dzdHIgImzDtnNjaHQgXCJhc3N1bWVkLXVuY2hhbmdlZFwiLUJpdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU5CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAibWFya2llcnQgRGF0ZWllbiBhbHMgXCJpbmRleC1vbmx5XCIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzYwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2MgogbXNnaWQgImNsZWFyIHNraXAtd29ya3RyZWUgYml0IgogbXNnc3RyICJsw7ZzY2h0IFwic2tpcC13b3JrdHJlZVwiLUJpdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY1CiBtc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgIiIKICJtZXJrdCBkaWUgw4RuZGVydW5nZW4gbnVyIHp1bSBDb21taXQgdm9yOyBJbmhhbHQgd2lyZCBuaWNodCBkZXIgT2JqZWt0LSIKICJEYXRlbmJhbmsgaGluenVnZWbDvGd0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjcKIG1zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgogbXNnc3RyICIiCiAibMO2c2NodCBiZW5hbm50ZSBQZmFkZSwgYXVjaCB3ZW5uIHNpZSBzaWNoIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyBiZWZpbmRlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY5CiBtc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgogbXNnc3RyICJtaXQgLS1zdGRpbjogZWluZ2VnZWJlbmUgWmVpbGVuIHNpbmQgZHVyY2ggTlVMLUJ5dGVzIGFiZ2VzY2hsb3NzZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3MQogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxpZXN0IExpc3RlIGRlciB6dSBha3R1YWxpc2llcmVuZGVuIFBmYWRlIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzc1CiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIm1lcmt0IEVpbnRyw6RnZSB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUgenVtIENvbW1pdCB2b3IiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzc3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3OQogbXNnaWQgInJlcG9wdWxhdGUgc3RhZ2VzICMyIGFuZCAjMyBmb3IgdGhlIGxpc3RlZCBwYXRocyIKIG1zZ3N0ciAiIgogIndpZWRlcmhvbHRlcyBFaW5wZmxlZ2VuIGRlciBadXN0w6RuZGUgIzIgdW5kICMzIGbDvHIgZGllIGF1ZmdlbGlzdGV0ZW4gUGZhZGUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzgxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4MwogbXNnaWQgIm9ubHkgdXBkYXRlIGVudHJpZXMgdGhhdCBkaWZmZXIgZnJvbSBIRUFEIgogbXNnc3RyICJha3R1YWxpc2llcnQgbnVyIEVpbnRyw6RnZSwgZGllIHVudGVyc2NoaWVkbGljaCB6dSBIRUFEIHNpbmQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzg1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4NwogbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImlnbm9yaWVydCBmZWhsZW5kZSBEYXRlaWVuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkwCiBtc2dpZCAicmVwb3J0IGFjdGlvbnMgdG8gc3RhbmRhcmQgb3V0cHV0IgogbXNnc3RyICJnaWJ0IGRpZSBBa3Rpb25lbiBpbiBkZXIgU3RhbmRhcmQtQXVzZ2FiZSBhdXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5MgogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICIoZsO8ciBGcmVtZHByb2dyYW1tZSkga2VpbmUgZ2VzcGVpY2hlcnRlbiwgbmljaHQgYXVmZ2Vsw7ZzdGUgS29uZmxpa3RlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTYKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAic2NocmVpYnQgU3RhZ2luZy1BcmVhLURhdGVpIGluIGRpZXNlbSBGb3JtYXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjcKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjkKIG1zZ2lkICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gLWQgPHJlZm5hbWU+IFs8b2xkdmFsPl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtcmVmIFtPcHRpb25lbl0gLWQgPFJlZmVyZW56bmFtZT4gWzxhbHRlcldlcnQ+XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6OAorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTAKIG1zZ2lkICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gICAgPHJlZm5hbWU+IDxuZXd2YWw+IFs8b2xkdmFsPl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtcmVmIFtPcHRpb25lbl0gICAgPFJlZmVyZW56bmFtZT4gPG5ldWVyV2VydD4gWzxhbHRlcldlcnQ+XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTkKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjExCittc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdIC0tc3RkaW4gWy16XSIKK21zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgW09wdGlvbmVuXSAtLXN0ZGluIFstel0iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1NQogbXNnaWQgImRlbGV0ZSB0aGUgcmVmZXJlbmNlIgogbXNnc3RyICJsw7ZzY2h0IGRpZXNlIFJlZmVyZW56IgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyMQorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU3CiBtc2dpZCAidXBkYXRlIDxyZWZuYW1lPiBub3QgdGhlIG9uZSBpdCBwb2ludHMgdG8iCiBtc2dzdHIgImFrdHVhbGlzaWVydCA8UmVmZXJlbnpuYW1lPiwgbmljaHQgZGVuIFZlcndlaXMiCiAKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1OAorbXNnaWQgInN0ZGluIGhhcyBOVUwtdGVybWluYXRlZCBhcmd1bWVudHMiCittc2dzdHIgIlN0YW5kYXJkLUVpbmdhYmUgaGF0IGR1cmNoIE5VTC1aZWljaGVuIGFiZ2VzY2hsb3NzZW5lIEFyZ3VtZW50ZSIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU5Cittc2dpZCAicmVhZCB1cGRhdGVzIGZyb20gc3RkaW4iCittc2dzdHIgImxpZXN0IEFrdHVhbGlzaWVydW5nZW4gdm9uIGRlciBTdGFuZGFyZC1FaW5nYWJlIgorCiAjOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjYKIG1zZ2lkICJnaXQgdXBkYXRlLXNlcnZlci1pbmZvIFstLWZvcmNlXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyBbLS1mb3JjZV0iCkBAIC05NTE4LDIzICs5ODA3LDIzIEBACiAib2RlciAnZ2l0IGhlbHAgPEtvbnplcHQ+JyB1bSBtZWhyIMO8YmVyIGVpbiBzcGV6aWZpc2NoZXMgS29tbWFuZG8gb2RlclxuIgogIktvbnplcHQgenUgZXJmYWhyZW4uIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MTQ0CisjOiBwYXJzZS1vcHRpb25zLmg6MTQ2CiBtc2dpZCAiZXhwaXJ5IGRhdGUiCiBtc2dzdHIgIlZlcmZhbGxzZGF0dW0iCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNTkKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNjEKIG1zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCiBtc2dzdHIgIktlaW4gRWZmZWt0IChSw7xja3fDpHJ0c2tvbXBhdGliaWxpdMOkdCkiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyMzYKKyM6IHBhcnNlLW9wdGlvbnMuaDoyMzgKIG1zZ2lkICJiZSBtb3JlIHZlcmJvc2UiCiBtc2dzdHIgImVyd2VpdGVydGUgQXVzZ2FiZW4iCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyMzgKKyM6IHBhcnNlLW9wdGlvbnMuaDoyNDAKIG1zZ2lkICJiZSBtb3JlIHF1aWV0IgogbXNnc3RyICJ3ZW5pZ2VyIEF1c2dhYmVuIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjQ0CisjOiBwYXJzZS1vcHRpb25zLmg6MjQ2CiBtc2dpZCAidXNlIDxuPiBkaWdpdHMgdG8gZGlzcGxheSBTSEEtMXMiCiBtc2dzdHIgImJlbnV0emUgPG4+IFppZmZlcm4genVyIEFuemVpZ2Ugdm9uIFNIQS0xcyIKIApAQCAtOTk5Myw3ICsxMDI4Miw3IEBACiBtc2dzdHIgIiIKICJcInB1bGxcIiBpc3QgbmljaHQgbcO2Z2xpY2gsIHdlaWwgU2llIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gaGFiZW4uIgogCi0jOiBnaXQtcHVsbC5zaDoyMDMKKyM6IGdpdC1wdWxsLnNoOjIyMwogbXNnaWQgInVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogIkFrdHVhbGlzaWVyZSBlaW5lbiB1bmdlYm9yZW5lbiBCcmFuY2ggbWl0IMOEbmRlcnVuZ2VuLCBkaWUgenVtIENvbW1pdCAiCkBAIC0xMDAwMyw3ICsxMDI5Miw3IEBACiAjLiBUaGUgd29ya2luZyB0cmVlIGFuZCB0aGUgaW5kZXggZmlsZSBpcyBzdGlsbCBiYXNlZCBvbiB0aGUKICMuICRvcmlnX2hlYWQgY29tbWl0LCBidXQgd2UgYXJlIG1lcmdpbmcgaW50byAkY3Vycl9oZWFkLgogIy4gRmlyc3QgdXBkYXRlIHRoZSB3b3JraW5nIHRyZWUgdG8gbWF0Y2ggJGN1cnJfaGVhZC4KLSM6IGdpdC1wdWxsLnNoOjIzNQorIzogZ2l0LXB1bGwuc2g6MjU1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiV2FybmluZzogZmV0Y2ggdXBkYXRlZCB0aGUgY3VycmVudCBicmFuY2ggaGVhZC5cbiIKQEAgLTEwMDEzLDExICsxMDMwMiwxMSBAQAogIldhcm51bmc6IFwiZmV0Y2hcIiBha3R1YWxpc2llcnRlIGRpZSBTcGl0emUgZGVzIGFrdHVlbGxlbiBCcmFuY2hlcy5cbiIKICJXYXJudW5nOiBTcHVsZSBJaHIgQXJiZWl0c3ZlcnplaWNobmlzIHZvbiBDb21taXQgJG9yaWdfaGVhZCB2b3IuIgogCi0jOiBnaXQtcHVsbC5zaDoyNjAKKyM6IGdpdC1wdWxsLnNoOjI4MAogbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIkthbm4gbmljaHQgbWVocmVyZSBCcmFuY2hlcyBpbiBlaW5lbiB1bmdlYm9yZW5lbiBCcmFuY2ggenVzYW1tZW5mw7xocmVuIgogCi0jOiBnaXQtcHVsbC5zaDoyNjQKKyM6IGdpdC1wdWxsLnNoOjI4NAogbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcyIKIG1zZ3N0ciAia2FubiBSZWJhc2UgbmljaHQgYXVmIG1laHJlcmUgQnJhbmNoZXMgYXVzZsO8aHJlbiIKIApAQCAtMTAwNTQsMzMgKzEwMzQzLDMzIEBACiAiSWhyZSDDhG5kZXJ1bmdlbiBzaW5kIGltIFN0YXNoIHNpY2hlci5cbiIKICJTaWUga8O2bm5lbiBqZWRlcnplaXQgXCJnaXQgc3Rhc2ggcG9wXCIgb2RlciBcImdpdCBzdGFzaCBkcm9wXCIgYXVzZsO8aHJlbi5cbiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxOTAKKyM6IGdpdC1yZWJhc2Uuc2g6MTk5CiBtc2dpZCAiVGhlIHByZS1yZWJhc2UgaG9vayByZWZ1c2VkIHRvIHJlYmFzZS4iCiBtc2dzdHIgIkRlciBcInByZS1yZWJhc2UgaG9va1wiIGhhdCBkZW4gUmViYXNlIHp1csO8Y2tnZXdpZXNlbi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTk1CisjOiBnaXQtcmViYXNlLnNoOjIwNAogbXNnaWQgIkl0IGxvb2tzIGxpa2UgZ2l0LWFtIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKIG1zZ3N0ciAiXCJnaXQtYW1cIiBzY2hlaW50IGltIEdhbmdlIHp1IHNlaW4uIEthbm4gUmViYXNlIG5pY2h0IGR1cmNoZsO8aHJlbi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzI5CisjOiBnaXQtcmViYXNlLnNoOjMzOAogbXNnaWQgIlRoZSAtLWV4ZWMgb3B0aW9uIG11c3QgYmUgdXNlZCB3aXRoIHRoZSAtLWludGVyYWN0aXZlIG9wdGlvbiIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLWV4ZWMgbXVzcyBtaXQgLS1pbnRlcmFjdGl2ZSB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogZ2l0LXJlYmFzZS5zaDozMzQKKyM6IGdpdC1yZWJhc2Uuc2g6MzQzCiBtc2dpZCAiTm8gcmViYXNlIGluIHByb2dyZXNzPyIKIG1zZ3N0ciAiS2VpbiBSZWJhc2UgaW0gR2FuZ2U/IgogCi0jOiBnaXQtcmViYXNlLnNoOjM0NQorIzogZ2l0LXJlYmFzZS5zaDozNTQKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIiIKICJEaWUgLS1lZGl0LXRvZG8gQWt0aW9uIGthbm4gbnVyIHfDpGhyZW5kIGVpbmVzIGludGVyYWt0aXZlbiBSZWJhc2UgdmVyd2VuZGV0ICIKICJ3ZXJkZW4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjM1MgorIzogZ2l0LXJlYmFzZS5zaDozNjEKIG1zZ2lkICJDYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICJLYW5uIEhFQUQgbmljaHQgbGVzZW4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzU1CisjOiBnaXQtcmViYXNlLnNoOjM2NAogbXNnaWQgIiIKICJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKICJtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgdXNpbmcgZ2l0IGFkZCIKQEAgLTEwMDg4LDEyICsxMDM3NywxMiBAQAogIlNpZSBtw7xzc2VuIGFsbGUgTWVyZ2UtS29uZmxpa3RlIGVkaXRpZXJlbiB1bmQgZGllc2UgZGFublxuIgogIm1pdHRlbHMgXCJnaXQgYWRkXCIgYWxzIGF1ZmdlbMO2c3QgbWFya2llcmVuIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3MworIzogZ2l0LXJlYmFzZS5zaDozODIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKIG1zZ3N0ciAiS29ubnRlIG5pY2h0IHp1ICRoZWFkX25hbWUgenVyw7xja2dlaGVuIgogCi0jOiBnaXQtcmViYXNlLnNoOjM5MgorIzogZ2l0LXJlYmFzZS5zaDo0MDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKQEAgLTEwMTE0LDY4ICsxMDQwMyw2OCBAQAogInVuZCBmw7xocmVuIFNpZSBkaWVzZXMgS29tbWFuZG8gbm9jaG1hbCBhdXMuIEVzIHdpcmQgYW5nZWhhbHRlbiwgZmFsbHMgbm9jaFxuIgogImV0d2FzIFNjaMO8dHplbnN3ZXJ0ZXMgdm9yaGFuZGVuIGlzdC4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDM3CisjOiBnaXQtcmViYXNlLnNoOjQ0NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAkdXBzdHJlYW1fbmFtZSIKIG1zZ3N0ciAidW5nw7xsdGlnZXIgVXBzdHJlYW0tQnJhbmNoICR1cHN0cmVhbV9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ2MQorIzogZ2l0LXJlYmFzZS5zaDo0NzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgogbXNnc3RyICIkb250b19uYW1lOiBlcyBnaWJ0IG1laHIgYWxzIGVpbmUgTWVyZ2UtQmFzaXMiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDY0IGdpdC1yZWJhc2Uuc2g6NDY4CisjOiBnaXQtcmViYXNlLnNoOjQ3MyBnaXQtcmViYXNlLnNoOjQ3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiJG9udG9fbmFtZTogZXMgZ2lidCBrZWluZSBNZXJnZS1CYXNpcyIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NzMKKyM6IGdpdC1yZWJhc2Uuc2g6NDgyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKIG1zZ3N0ciAiJG9udG9fbmFtZSB6ZWlndCBhdWYga2VpbmVuIGfDvGx0aWdlbiBDb21taXQiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDk2CisjOiBnaXQtcmViYXNlLnNoOjUwNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoOiAkYnJhbmNoX25hbWUiCiBtc2dzdHIgImZhdGFsOiBCcmFuY2ggJGJyYW5jaF9uYW1lIG5pY2h0IGdlZnVuZGVuIgogCi0jOiBnaXQtcmViYXNlLnNoOjUxOQorIzogZ2l0LXJlYmFzZS5zaDo1MjgKIG1zZ2lkICJDYW5ub3QgYXV0b3N0YXNoIgogbXNnc3RyICJLYW5uIFwiYXV0b3N0YXNoXCIgbmljaHQgYXVzZsO8aHJlbi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTI0CisjOiBnaXQtcmViYXNlLnNoOjUzMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCiBtc2dzdHIgIlwiYXV0b3N0YXNoXCIgZXJ6ZXVndDogJHN0YXNoX2FiYnJldiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MjgKKyM6IGdpdC1yZWJhc2Uuc2g6NTM3CiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAiQml0dGUgY29tbWl0dGVuIFNpZSBkaWUgw4RuZGVydW5nZW4gb2RlciBiZW51dHplbiBTaWUgXCJzdGFzaFwiLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NDgKKyM6IGdpdC1yZWJhc2Uuc2g6NTU3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIkFrdHVlbGxlciBCcmFuY2ggJGJyYW5jaF9uYW1lIGlzdCBhdWYgZGVtIG5ldXN0ZW4gU3RhbmQuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU1MgorIzogZ2l0LXJlYmFzZS5zaDo1NjEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKIG1zZ3N0ciAiIgogIkFrdHVlbGxlciBCcmFuY2ggJGJyYW5jaF9uYW1lIGlzdCBhdWYgZGVtIG5ldXN0ZW4gU3RhbmQsIFJlYmFzZSBlcnp3dW5nZW4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjU2MworIzogZ2l0LXJlYmFzZS5zaDo1NzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgogbXNnc3RyICLDhG5kZXJ1bmdlbiB2b24gJG1iIHp1ICRvbnRvOiIKIAogIy4gRGV0YWNoIEhFQUQgYW5kIHJlc2V0IHRoZSB0cmVlCi0jOiBnaXQtcmViYXNlLnNoOjU3MgorIzogZ2l0LXJlYmFzZS5zaDo1ODEKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCiBtc2dzdHIgIiIKICJadW7DpGNoc3Qgd2lyZCBkZXIgQnJhbmNoIHp1csO8Y2tnZXNwdWx0LCB1bSBJaHJlIMOEbmRlcnVuZ2VuXG4iCiAiZGFyYXVmIG5ldSBhbnp1d2VuZGVuLi4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjU4MgorIzogZ2l0LXJlYmFzZS5zaDo1OTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKIG1zZ3N0ciAiJGJyYW5jaF9uYW1lIHp1ICRvbnRvX25hbWUgdm9yZ2VzcHVsdC4iCkBAIC0xMDIyMyw3ICsxMDUxMiw3IEBACiAjLiAkIGdpdCBzdGFzaCBzYXZlIC0tYmxhaC1ibGFoIDI+JjEgfCBoZWFkIC1uIDIKICMuIGVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAtLWJsYWgtYmxhaAogIy4gVG8gcHJvdmlkZSBhIG1lc3NhZ2UsIHVzZSBnaXQgc3Rhc2ggc2F2ZSAtLSAnLS1ibGFoLWJsYWgnCi0jOiBnaXQtc3Rhc2guc2g6MjQxCisjOiBnaXQtc3Rhc2guc2g6MjM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKQEAgLTEwMjMzLDEwMCArMTA1MjIsODUgQEAKICIgICAgICAgIFVtIGVpbmUgQmVzY2hyZWlidW5nIGFuenVnZWJlbiwgYmVudXR6ZW4gU2llIFwiZ2l0IHN0YXNoIHNhdmUgLS0gIgogIickb3B0aW9uJ1wiIgogCi0jOiBnaXQtc3Rhc2guc2g6MjYyCisjOiBnaXQtc3Rhc2guc2g6MjU4CiBtc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgogbXNnc3RyICJLZWluZSBsb2thbGVuIMOEbmRlcnVuZ2VuIHp1bSBTcGVpY2hlcm4iCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjgKLW1zZ2lkICIiCi0iVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgZmlsZXMgd291bGQgTk9UIGJlIHNhdmVkIGJ1dCBuZWVkIHRvIGJlIHJlbW92ZWQgYnkgIgotInN0YXNoIHNhdmU6IgotbXNnc3RyICIiCi0iRGllIGZvbGdlbmRlbiB1bmJlb2JhY2h0ZXRlbiBEYXRlaWVuIHfDvHJkZW4gTklDSFQgZ2VzcGVpY2hlcnQgd2VyZGVuLFxuIgotIm3DvHNzZW4gYWJlciBkdXJjaCBcInN0YXNoIHNhdmVcIiBlbnRmZXJudCB3ZXJkZW46IgotCi0jOiBnaXQtc3Rhc2guc2g6MjcwCi1tc2dpZCAiIgotIkFib3J0aW5nLiBDb25zaWRlciB1c2luZyBlaXRoZXIgdGhlIC0tZm9yY2Ugb3IgLS1pbmNsdWRlLXVudHJhY2tlZCBvcHRpb24uIgotbXNnc3RyICIiCi0iQWJnZWJyb2NoZW4uIEJlbnV0emVuIFNpZSBlbnR3ZWRlciBkaWUgT3B0aW9uIC0tZm9yY2Ugb2RlciAtLWluY2x1ZGUtIgotInVudHJhY2tlZC4iCi0KLSM6IGdpdC1zdGFzaC5zaDoyNzQKKyM6IGdpdC1zdGFzaC5zaDoyNjIKIG1zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKIG1zZ3N0ciAiS2FubiBcInN0YXNoXCIgbmljaHQgaW5pdGlhbGlzaWVyZW4iCiAKLSM6IGdpdC1zdGFzaC5zaDoyNzgKKyM6IGdpdC1zdGFzaC5zaDoyNjYKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCiBtc2dzdHIgIkthbm4gZGVuIGFrdHVlbGxlbiBTdGF0dXMgbmljaHQgc3BlaWNoZXJuIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjk2CisjOiBnaXQtc3Rhc2guc2g6Mjg0CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICJLYW5uIMOEbmRlcnVuZ2VuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyBuaWNodCBsw7ZzY2hlbiIKIAotIzogZ2l0LXN0YXNoLnNoOjM5NQorIzogZ2l0LXN0YXNoLnNoOjM4MwogbXNnaWQgIk5vIHN0YXNoIGZvdW5kLiIKIG1zZ3N0ciAiS2VpbiBcInN0YXNoXCIgZ2VmdW5kZW4uIgogCi0jOiBnaXQtc3Rhc2guc2g6NDAyCisjOiBnaXQtc3Rhc2guc2g6MzkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICJadSB2aWVsZSBDb21taXRzIGFuZ2VnZWJlbjogJFJFViIKIAotIzogZ2l0LXN0YXNoLnNoOjQwOAorIzogZ2l0LXN0YXNoLnNoOjM5NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlIGlzdCBrZWluZSBnw7xsdGlnZSBSZWZlcmVueiIKIAotIzogZ2l0LXN0YXNoLnNoOjQzNgorIzogZ2l0LXN0YXNoLnNoOjQyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKIG1zZ3N0ciAiJyRhcmdzJyBpc3Qga2VpbiBcInN0YXNoXCItYXJ0aWdlciBDb21taXQiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NDcKKyM6IGdpdC1zdGFzaC5zaDo0MzUKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2ggcmVmZXJlbmNlIgogbXNnc3RyICInJGFyZ3MnIGlzdCBrZWluZSBcInN0YXNoXCItUmVmZXJlbnoiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NTUKKyM6IGdpdC1zdGFzaC5zaDo0NDMKIG1zZ2lkICJ1bmFibGUgdG8gcmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAidW5mw6RoaWcgZGllIFN0YWdpbmctQXJlYSB6dSBha3R1YWxpc2llcmVuIgogCi0jOiBnaXQtc3Rhc2guc2g6NDU5CisjOiBnaXQtc3Rhc2guc2g6NDQ3CiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgogbXNnc3RyICJLYW5uIFwic3Rhc2hcIiBuaWNodCBhbndlbmRlbiwgc29sYW5nIGVpbiBNZXJnZSBpbSBHYW5nZSBpc3QiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NjcKKyM6IGdpdC1zdGFzaC5zaDo0NTUKIG1zZ2lkICJDb25mbGljdHMgaW4gaW5kZXguIFRyeSB3aXRob3V0IC0taW5kZXguIgogbXNnc3RyICJLb25mbGlrdGUgaW4gZGVyIFN0YWdpbmctQXJlYS4gVmVyc3VjaGVuIFNpZSBlcyBvaG5lIC0taW5kZXguIgogCi0jOiBnaXQtc3Rhc2guc2g6NDY5CisjOiBnaXQtc3Rhc2guc2g6NDU3CiBtc2dpZCAiQ291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKIG1zZ3N0ciAiS29ubnRlIFN0YWdpbmctQXJlYS1WZXJ6ZWljaG5pcyBuaWNodCBzcGVpY2hlcm4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1MDMKKyM6IGdpdC1zdGFzaC5zaDo0OTEKIG1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKIG1zZ3N0ciAiS2FubiBnZcOkbmRlcnRlIERhdGVpZW4gbmljaHQgYXVzIGRlciBTdGFnaW5nLUFyZWEgZW50ZmVybmVuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTE4CisjOiBnaXQtc3Rhc2guc2g6NTA2CiBtc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgogbXNnc3RyICJTdGFnaW5nLUFyZWEgd3VyZGUgbmljaHQgYXVzIGRlbSBTdGFzaCB6dXLDvGNrZ2VsYWRlbi4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1MzUKKyM6IGdpdC1zdGFzaC5zaDo1MjMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCiBtc2dzdHIgIkdlbMO2c2NodCAke1JFVn0gKCRzKSIKIAotIzogZ2l0LXN0YXNoLnNoOjUzNgorIzogZ2l0LXN0YXNoLnNoOjUyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiJHtSRVZ9OiBLb25udGUgXCJzdGFzaFwiLUVpbnRyYWcgbmljaHQgbMO2c2NoZW4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NDMKKyM6IGdpdC1zdGFzaC5zaDo1MzEKIG1zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCiBtc2dzdHIgIktlaW4gQnJhbmNobmFtZSBzcGV6aWZpemllcnQiCiAKLSM6IGdpdC1zdGFzaC5zaDo2MTUKKyM6IGdpdC1zdGFzaC5zaDo2MDMKIG1zZ2lkICIoVG8gcmVzdG9yZSB0aGVtIHR5cGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiBtc2dzdHIgIihadXIgV2llZGVyaGVyc3RlbGx1bmcgZ2ViZW4gU2llIFwiZ2l0IHN0YXNoIGFwcGx5XCIgZWluKSIKIApAQCAtMTA2MDgsNDkgKzEwODgyLDYwIEBACiAiRGllIE9wdGlvbmVuIC0tY2FjaGVkIHVuZCAtLWZpbGVzIGvDtm5uZW4gbmljaHQgZ2VtZWluc2FtIHZlcndlbmRldCB3ZXJkZW4uIgogCiAjLiB1bmV4cGVjdGVkIHR5cGUKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA2NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDczCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG1vZGUgJG1vZF9kc3QiCiBtc2dzdHIgInVuZXJ3YXJ0ZXRlciBNb2R1cyAkbW9kX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDg2CisjOiBnaXQtc3VibW9kdWxlLnNoOjEwOTMKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX3NyYyIKIG1zZ3N0ciAiICBXYXJudW5nOiAkZGlzcGxheV9uYW1lIGJlaW5oYWx0ZXQgbmljaHQgQ29tbWl0ICRzaGExX3NyYyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDg5CisjOiBnaXQtc3VibW9kdWxlLnNoOjEwOTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiICBXYXJudW5nOiAkZGlzcGxheV9uYW1lIGJlaW5oYWx0ZXQgbmljaHQgQ29tbWl0ICRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDkyCisjOiBnaXQtc3VibW9kdWxlLnNoOjEwOTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0cyAkc2hhMV9zcmMgYW5kICRzaGExX2RzdCIKIG1zZ3N0ciAiIgogIiAgV2FybnVuZzogJGRpc3BsYXlfbmFtZSBiZWluaGFsdGV0IG5pY2h0IGRpZSBDb21taXRzICRzaGExX3NyYyB1bmQgJHNoYTFfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExMTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTEyNAogbXNnaWQgImJsb2IiCiBtc2dzdHIgIkJsb2IiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTE1NQotbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgotbXNnc3RyICJTdWJtb2R1bGUgZ2XDpG5kZXJ0LCBhYmVyIG5pY2h0IGFrdHVhbGlzaWVydDoiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTE1NwotbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCi1tc2dzdHIgIsOEbmRlcnVuZ2VuIGluIFN1Ym1vZHVsIHp1bSBDb21taXR0ZW46IgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEyNDIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTIzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgogbXNnc3RyICJGZWhsZXIgYmVpIFJla3Vyc2lvbiBpbiBTdWJtb2R1bC1QZmFkICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTMwNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMzAyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJTeW5jaHJvbmlzaWVyZSBTdWJtb2R1bC1VUkwgZsO8ciAnJGRpc3BsYXlwYXRoJyIKIAorI34gbXNnaWQgImlucHV0IHBhdGhzIGFyZSB0ZXJtaW5hdGVkIGJ5IGEgbnVsbCBjaGFyYWN0ZXIiCisjfiBtc2dzdHIgIkVpbmdhYmVwZmFkZSBzaW5kIGR1cmNoIGVpbiBOVUwgWmVpY2hlbiBhYmdlc2NobG9zc2VuIgorCisjfiBtc2dpZCAiZG9uZVxuIgorI34gbXNnc3RyICJGZXJ0aWdcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCBmaWxlcyB3b3VsZCBOT1QgYmUgc2F2ZWQgYnV0IG5lZWQgdG8gYmUgcmVtb3ZlZCAiCisjfiAiYnkgc3Rhc2ggc2F2ZToiCisjfiBtc2dzdHIgIiIKKyN+ICJEaWUgZm9sZ2VuZGVuIHVuYmVvYmFjaHRldGVuIERhdGVpZW4gd8O8cmRlbiBOSUNIVCBnZXNwZWljaGVydCB3ZXJkZW4sXG4iCisjfiAibcO8c3NlbiBhYmVyIGR1cmNoIFwic3Rhc2ggc2F2ZVwiIGVudGZlcm50IHdlcmRlbjoiCisKKyN+IG1zZ2lkICIiCisjfiAiQWJvcnRpbmcuIENvbnNpZGVyIHVzaW5nIGVpdGhlciB0aGUgLS1mb3JjZSBvciAtLWluY2x1ZGUtdW50cmFja2VkIG9wdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJBYmdlYnJvY2hlbi4gQmVudXR6ZW4gU2llIGVudHdlZGVyIGRpZSBPcHRpb24gLS1mb3JjZSBvZGVyIC0taW5jbHVkZS0iCisjfiAidW50cmFja2VkLiIKKwogI34gbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tcmVzb2x2ZWRcIikiCiAjfiBtc2dzdHIgIiIKICN+ICIgIChiZWhlYmVuIFNpZSBkaWUgS29uZmxpa3RlIHVuZCBmw7xocmVuIFNpZSBkYW5uIFwiZ2l0IGFtIC0tcmVzb2x2ZWRcIiAiCkBAIC0xMDc4Myw5ICsxMTA2OCw2IEBACiAjfiBtc2dpZCAiLUIgY2Fubm90IGJlIHVzZWQgd2l0aCAtYiIKICN+IG1zZ3N0ciAiLUIga2FubiBuaWNodCBtaXQgLWIgYmVudXR6dCB3ZXJkZW4iCiAKLSN+IG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgotI34gbXNnc3RyICItLXBhdGNoIGlzdCBpbmtvbXBhdGliZWwgbWl0IGFsbGVuIGFuZGVyZW4gT3B0aW9uZW4iCi0KICN+IG1zZ2lkICItLWRldGFjaCBjYW5ub3QgYmUgdXNlZCB3aXRoIC1iLy1CLy0tb3JwaGFuIgogI34gbXNnc3RyICItLWRldGFjaCBrYW5uIG5pY2h0IG1pdCAtYi8tQi8tLW9ycGhhbiBiZW51dHp0IHdlcmRlbiIKIApkaWZmIC0tZ2l0IGEvcG8vZnIucG8gYi9wby9mci5wbwppbmRleCAyY2RiNmY5Li40NDk5NWJhIDEwMDY0NAotLS0gYS9wby9mci5wbworKysgYi9wby9mci5wbwpAQCAtOCw2ICs4LDcgQEAKICMKICMgICBFbmdsaXNoICAgICAgICAgIHwgIEZyZW5jaAogIyAgIC0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAgIDMtd2F5IG1lcmdlICAgICAgfCAgZnVzaW9uIMOgIDMgcG9pbnRzCiAjICAgI05OICAgICAgICAgICAgICB8ICBuwrBOTgogIyAgIGEgY29tbWl0ICAgICAgICAgfCAgdW4gY29tbWl0CiAjICAgYmFja3dhcmQgICAgICAgICB8CkBAIC0xNywzNSArMTgsNTMgQEAKICMgICBibG9iICAgICAgICAgICAgIHwgIGJsb2IKICMgICBidWcgICAgICAgICAgICAgIHwgIGJvZ3VlCiAjICAgYnVuZGxlICAgICAgICAgICB8ICBjb2xpcworIyAgIGJ5cGFzcyAgICAgICAgICAgfCAgw6l2aXRlciBkJ3V0aWxpc2VyCisjICAgdG8gY2hlY2tvdXQgICAgICB8ICBleHRyYWlyZQogIyAgIGNoZXJyeS1waWNrICAgICAgfCAgcGljb3JlcgorIyAgIHRvIGNvbW1pdCAgICAgICAgfCAgdmFsaWRlcgorIyAgIGNvbW1pdC1pc2ggICAgICAgfCAgY29tbWl0IG91IGFwcGFyZW50w6kKKyMgICBjb25maWcgZmlsZSAgICAgIHwgIGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbgogIyAgIGRhbmdsaW5nICAgICAgICAgfCAgZW4gc3VzcGVucworIyAgIHRvIGRlYnVnICAgICAgICAgfCAgZMOpYm9ndWVyCiAjICAgZGVidWdnaW5nICAgICAgICB8ICBkw6lib2dhZ2UKKyMgICB0byBkZWZsYXRlICAgICAgIHwgIGNvbXByZXNzZXIKKyMgICBlbWFpbCAgICAgICAgICAgIHwgIGUtbWFpbAorIyAgIGVudHJ5ICAgICAgICAgICAgfCAgw6lsw6ltZW50CiAjICAgZmFzdC1mb3J3YXJkICAgICB8ICBhdmFuY2UgcmFwaWRlCiAjICAgZmFzdC1mb3J3YXJkZWQgICB8ICBtaXMgw6Agam91ciBlbiBhdmFuY2UgcmFwaWRlCisjICAgdG8gZmV0Y2ggICAgICAgICB8ICByYXBhdHJpZXIKKyMgICBmaXggY29uZmxpY3RzICAgIHwgIHLDqWdsZXogbGVzIGNvbmZsaXRzCisjICAgdG8gZm9ybWF0ICAgICAgICB8ICBmb3JtYXRlcgogIyAgIGdsb2IgICAgICAgICAgICAgfCAgZ2xvYgogIyAgIGhhc2ggICAgICAgICAgICAgfCAgaGFjaGFnZQogIyAgIEhFQUQgICAgICAgICAgICAgfCAgSEVBRCAoZ2VucmUgZsOpbWluaW4pCi0jICAgaG9vayAgICAgICAgICAgICB8ICBob29rCisjICAgaG9vayAgICAgICAgICAgICB8ICBjcm9jaGV0CiAjICAgaHVuayAgICAgICAgICAgICB8ICBzZWN0aW9uCisjICAgdG8gaW5mbGF0ZSAgICAgICB8ICBkw6ljb21wcmVzc2VyCisjICAgdG8gbGlzdCAgICAgICAgICB8ICBhZmZpY2hlcgorIyAgIG1hcHBpbmcgICAgICAgICAgfCAgbWlzZSBlbiBjb3JyZXNwb25kYW5jZQogIyAgIG1lcmdlICAgICAgICAgICAgfCAgZnVzaW9uCisjICAgcGFjayAgICAgICAgICAgICB8ICBwYXF1ZXQKKyMgICBwYXRjaGVzICAgICAgICAgIHwgIHBhdGNocwogIyAgIHBhdHRlcm4gICAgICAgICAgfCAgbW90aWYKKyMgICB0byBwcnVuZSAgICAgICAgIHwgIMOpbGltaW5lcgorIyAgIHRvIHB1c2ggICAgICAgICAgfCAgcG91c3NlcgorIyAgIHRvIHJlYmFzZSAgICAgICAgfCAgcmViYXNlcgogIyAgIHJlcG9zaXRvcnkgICAgICAgfCAgZMOpcMO0dAogIyAgIHJlbW90ZSAgICAgICAgICAgfCAgZGlzdGFudGUgKG91IHNlcnZldXIgZGlzdGFudCkKICMgICByZXZpc2lvbiAgICAgICAgIHwgIHLDqXZpc2lvbgorIyAgIHNoZWxsICAgICAgICAgICAgfCAgaW50ZXJwcsOpdGV1ciBkZSBjb21tYW5kZXMKICMgICBzdGFzaCAgICAgICAgICAgIHwgIHJlbWlzYWdlCisjICAgdG8gc3Rhc2ggICAgICAgICB8ICByZW1pc2VyCiAjICAgdGFnICAgICAgICAgICAgICB8ICDDqXRpcXVldHRlCiAjICAgdGVtcGxhdGUgICAgICAgICB8ICBtb2TDqGxlCi0jICAgdG8gY2hlY2tvdXQgICAgICB8ICBleHRyYWlyZQotIyAgIHRvIGNvbW1pdCAgICAgICAgfCAgdmFsaWRlcgotIyAgIHRvIGZldGNoICAgICAgICAgfCAgcmFwYXRyaWVyCi0jICAgdG8gcHJ1bmUgICAgICAgICB8ICDDqWxhZ3VlcgotIyAgIHRvIHB1c2ggICAgICAgICAgfCAgcG91c3NlcgotIyAgIHRvIHJlYmFzZSAgICAgICAgfCAgcmViYXNlcgotIyAgIHRvIHN0YXNoICAgICAgICAgfCAgcmVtaXNlcgorIyAgIHRocmVhZCAgICAgICAgICAgfCAgZmlsCiAjICAgdG8gdHJhY2sgICAgICAgICB8ICBzdWl2cmUKKyMgICB0cmVlICAgICAgICAgICAgIHwgIGFyYnJlCisjICAgdHJlZS1pc2ggICAgICAgICB8ICBhcmJyZSBvdSBhcHBhcmVudMOpCiAjICAgdG8gdW5zdGFnZSAgICAgICB8ICBkw6lzaW5kZXhlcgotIyAgIHRyZWUtaXNoICAgICAgICAgfCAgYXJicmUKICMgICB1cHN0cmVhbSAgICAgICAgIHwgIGFtb250CisjICAgdmlld2VyICAgICAgICAgICB8ICB2aXN1YWxpc2V1cgogIyAgIHdvcmt0cmVlIC8gICAgICAgfAogIyAgIHdvcmsoaW5nKSB0cmVlICAgfCAgY29waWUgZGUgdHJhdmFpbAogIwpAQCAtNTMsOCArNzIsOCBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBnaXRcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogR2l0IE1haWxpbmcgTGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz5cbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMy0wNC0zMCAwODoyNSswODAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxMy0wOC0yNyAxOTo0MyswMjAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTMtMTEtMDIgMDg6MDYrMDgwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTMtMTEtMDcgMjE6NDErMDEwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogU8OpYmFzdGllbiBIZWxsZXUgPGZsYXNoY29kZUBmbGFzaHR1eC5vcmc+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogSmVhbi1Ob8OrbCBBdmlsYSA8am4uYXZpbGFAZnJlZS5mcj5cbiIKICJMYW5ndWFnZTogZnJcbiIKQEAgLTY0LDcgKzgzLDcgQEAKICJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD1uPD0xID8wIDogMTtcbiIKICJYLUdlbmVyYXRvcjogUG9lZGl0IDEuNS40XG4iCiAKLSM6IGFkdmljZS5jOjUzCisjOiBhZHZpY2UuYzo1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJoaW50OiAlLipzXG4iCiBtc2dzdHIgImFzdHVjZTogJS4qc1xuIgpAQCAtNzMsNyArOTIsNyBAQAogIy4gKiBNZXNzYWdlIHVzZWQgYm90aCB3aGVuICdnaXQgY29tbWl0JyBmYWlscyBhbmQgd2hlbgogIy4gKiBvdGhlciBjb21tYW5kcyBkb2luZyBhIG1lcmdlIGRvLgogIy4KLSM6IGFkdmljZS5jOjgzCisjOiBhZHZpY2UuYzo4NwogbXNnaWQgIiIKICJGaXggdGhlbSB1cCBpbiB0aGUgd29yayB0cmVlLFxuIgogImFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nIGFzXG4iCkBAIC04Nyw3ICsxMDYsNyBAQAogCiAjOiBhcmNoaXZlLmM6MTAKIG1zZ2lkICJnaXQgYXJjaGl2ZSBbb3B0aW9uc10gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKLW1zZ3N0ciAiZ2l0IGFyY2hpdmUgW29wdGlvbnNdIDxhcmJyZT4gWzxjaGVtaW4+Li4uXSIKK21zZ3N0ciAiZ2l0IGFyY2hpdmUgW29wdGlvbnNdIDxhcmJyZSBvdSBhcHBhcmVudMOpPiBbPGNoZW1pbj4uLi5dIgogCiAjOiBhcmNoaXZlLmM6MTEKIG1zZ2lkICJnaXQgYXJjaGl2ZSAtLWxpc3QiCkBAIC05Niw3NyArMTE1LDg0IEBACiAjOiBhcmNoaXZlLmM6MTIKIG1zZ2lkICIiCiAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIFtvcHRpb25zXSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgotbXNnc3RyICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8ZMOpcMO0dD4gWy0tZXhlYyA8Y29tbWFuZGU+XSBbb3B0aW9uc10gPGFyYnJlPiBbPGNoZW1pbj4uLi5dIgorbXNnc3RyICIiCisiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPGTDqXDDtHQ+IFstLWV4ZWMgPGNvbW1hbmRlPl0gW29wdGlvbnNdIDxhcmJyZSBvdSAiCisiYXBwYXJlbnTDqT4gWzxjaGVtaW4+Li4uXSIKIAogIzogYXJjaGl2ZS5jOjEzCiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPGTDqXDDtHQ+IFstLWV4ZWMgPGNvbW1hbmRlPl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzIzCisjOiBhcmNoaXZlLmM6MjQyIGJ1aWx0aW4vYWRkLmM6MjQwIGJ1aWx0aW4vYWRkLmM6NTU2IGJ1aWx0aW4vcm0uYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKK21zZ3N0ciAibGUgY2hlbWluICclcycgbmUgY29ycmVzcG9uZCDDoCBhdWN1biBmaWNoaWVyIgorCisjOiBhcmNoaXZlLmM6MzI3CiBtc2dpZCAiZm10IgogbXNnc3RyICJmbXQiCiAKLSM6IGFyY2hpdmUuYzozMjMKKyM6IGFyY2hpdmUuYzozMjcKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAiZm9ybWF0IGQnYXJjaGl2ZSIKIAotIzogYXJjaGl2ZS5jOjMyNCBidWlsdGluL2xvZy5jOjExMjYKKyM6IGFyY2hpdmUuYzozMjggYnVpbHRpbi9sb2cuYzoxMTkzCiBtc2dpZCAicHJlZml4IgogbXNnc3RyICJwcsOpZml4ZSIKIAotIzogYXJjaGl2ZS5jOjMyNQorIzogYXJjaGl2ZS5jOjMyOQogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgInByw6lmaXhlciBjaGFxdWUgY2hlbWluIGRlIGZpY2hpZXIgZGFucyBsJ2FyY2hpdmUiCiAKLSM6IGFyY2hpdmUuYzozMjYgYnVpbHRpbi9hcmNoaXZlLmM6ODggYnVpbHRpbi9ibGFtZS5jOjIzNzEKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMzcyIGJ1aWx0aW4vY29uZmlnLmM6NTUgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY2NQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY2NyBidWlsdGluL2dyZXAuYzo3MTUgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjc3Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDkwIGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTMgYnVpbHRpbi9ub3Rlcy5jOjUzNgotIzogYnVpbHRpbi9ub3Rlcy5jOjY5MyBidWlsdGluL3JlYWQtdHJlZS5jOjEwNyBwYXJzZS1vcHRpb25zLmg6MTQ5CisjOiBhcmNoaXZlLmM6MzMwIGJ1aWx0aW4vYXJjaGl2ZS5jOjg4IGJ1aWx0aW4vYmxhbWUuYzoyMjY0CisjOiBidWlsdGluL2JsYW1lLmM6MjI2NSBidWlsdGluL2NvbmZpZy5jOjU4IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODIgYnVpbHRpbi9ncmVwLmM6NzE2IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3NworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NiBidWlsdGluL2xzLWZpbGVzLmM6NDg5IGJ1aWx0aW4vbm90ZXMuYzo0MDgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDggcGFyc2Utb3B0aW9ucy5oOjE1NAogbXNnaWQgImZpbGUiCiBtc2dzdHIgImZpY2hpZXIiCiAKLSM6IGFyY2hpdmUuYzozMjcgYnVpbHRpbi9hcmNoaXZlLmM6ODkKKyM6IGFyY2hpdmUuYzozMzEgYnVpbHRpbi9hcmNoaXZlLmM6ODkKIG1zZ2lkICJ3cml0ZSB0aGUgYXJjaGl2ZSB0byB0aGlzIGZpbGUiCiBtc2dzdHIgIsOpY3JpcmUgbCdhcmNoaXZlIGRhbnMgY2UgZmljaGllciIKIAotIzogYXJjaGl2ZS5jOjMyOQorIzogYXJjaGl2ZS5jOjMzMwogbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgImxpcmUgLmdpdGF0dHJpYnV0ZXMgZGFucyBsZSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsIgogCi0jOiBhcmNoaXZlLmM6MzMwCisjOiBhcmNoaXZlLmM6MzM0CiBtc2dpZCAicmVwb3J0IGFyY2hpdmVkIGZpbGVzIG9uIHN0ZGVyciIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIGFyY2hpdsOpcyBzdXIgc3RkZXJyIgogCi0jOiBhcmNoaXZlLmM6MzMxCisjOiBhcmNoaXZlLmM6MzM1CiBtc2dpZCAic3RvcmUgb25seSIKIG1zZ3N0ciAic3RvY2thZ2Ugc2V1bGVtZW50IgogCi0jOiBhcmNoaXZlLmM6MzMyCisjOiBhcmNoaXZlLmM6MzM2CiBtc2dpZCAiY29tcHJlc3MgZmFzdGVyIgogbXNnc3RyICJjb21wcmVzc2lvbiByYXBpZGUiCiAKLSM6IGFyY2hpdmUuYzozNDAKKyM6IGFyY2hpdmUuYzozNDQKIG1zZ2lkICJjb21wcmVzcyBiZXR0ZXIiCiBtc2dzdHIgImNvbXByZXNzaW9uIGVmZmljYWNlIgogCi0jOiBhcmNoaXZlLmM6MzQzCisjOiBhcmNoaXZlLmM6MzQ3CiBtc2dpZCAibGlzdCBzdXBwb3J0ZWQgYXJjaGl2ZSBmb3JtYXRzIgotbXNnc3RyICJsaXN0ZXIgbGVzIGZvcm1hdHMgZCdhcmNoaXZlIHN1cHBvcnTDqXMiCittc2dzdHIgImFmZmljaGVyIGxlcyBmb3JtYXRzIGQnYXJjaGl2ZSBzdXBwb3J0w6lzIgogCi0jOiBhcmNoaXZlLmM6MzQ1IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4NgorIzogYXJjaGl2ZS5jOjM0OSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODQKIG1zZ2lkICJyZXBvIgogbXNnc3RyICJkw6lww7R0IgogCi0jOiBhcmNoaXZlLmM6MzQ2IGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCisjOiBhcmNoaXZlLmM6MzUwIGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCiBtc2dpZCAicmV0cmlldmUgdGhlIGFyY2hpdmUgZnJvbSByZW1vdGUgcmVwb3NpdG9yeSA8cmVwbz4iCiBtc2dzdHIgInLDqWN1cMOpcmVyIGwnYXJjaGl2ZSBkZXB1aXMgbGUgZMOpcMO0dCBkaXN0YW50IDxkw6lww7R0PiIKIAotIzogYXJjaGl2ZS5jOjM0NyBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NjE1CisjOiBhcmNoaXZlLmM6MzUxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODcKIG1zZ2lkICJjb21tYW5kIgogbXNnc3RyICJjb21tYW5kZSIKIAotIzogYXJjaGl2ZS5jOjM0OCBidWlsdGluL2FyY2hpdmUuYzo5MworIzogYXJjaGl2ZS5jOjM1MiBidWlsdGluL2FyY2hpdmUuYzo5MwogbXNnaWQgInBhdGggdG8gdGhlIHJlbW90ZSBnaXQtdXBsb2FkLWFyY2hpdmUgY29tbWFuZCIKIG1zZ3N0ciAiY2hlbWluIHZlcnMgbGEgY29tbWFuZGUgZGlzdGFudGUgZ2l0LXVwbG9hZC1hcmNoaXZlIgogCkBAIC0xODYsMTcgKzIxMiwyMSBAQAogIzogYnJhbmNoLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayByZW1vdGUgYnJhbmNoICVzIGZyb20gJXMgYnkgcmViYXNpbmcuIgotbXNnc3RyICJMYSBicmFuY2hlICVzIGVzdCBwYXJhbcOpdHLDqWUgcG91ciBzdWl2cmUgbGEgYnJhbmNoZSBkaXN0YW50ZSAlcyBkZSAlcyBlbiByZWJhc2FudC4iCittc2dzdHIgIiIKKyJMYSBicmFuY2hlICVzIGVzdCBwYXJhbcOpdHLDqWUgcG91ciBzdWl2cmUgbGEgYnJhbmNoZSBkaXN0YW50ZSAlcyBkZSAlcyBlbiAiCisicmViYXNhbnQuIgogCiAjOiBicmFuY2guYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJXMgZnJvbSAlcy4iCi1tc2dzdHIgIkxhIGJyYW5jaGUgJXMgZXN0IHBhcmFtw6l0csOpZSBwb3VyIHN1aXZyZSBsYSBicmFuY2hlIGRpc3RhbnRlICVzIGRlcHVpcyAlcy4iCittc2dzdHIgIiIKKyJMYSBicmFuY2hlICVzIGVzdCBwYXJhbcOpdHLDqWUgcG91ciBzdWl2cmUgbGEgYnJhbmNoZSBkaXN0YW50ZSAlcyBkZXB1aXMgJXMuIgogCiAjOiBicmFuY2guYzo4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIGJyYW5jaCAlcyBieSByZWJhc2luZy4iCi1tc2dzdHIgIkxhIGJyYW5jaGUgJXMgZXN0IHBhcmFtw6l0csOpZSBwb3VyIHN1aXZyZSBsYSBicmFuY2hlIGxvY2FsZSAlcyBlbiByZWJhc2FudC4iCittc2dzdHIgIiIKKyJMYSBicmFuY2hlICVzIGVzdCBwYXJhbcOpdHLDqWUgcG91ciBzdWl2cmUgbGEgYnJhbmNoZSBsb2NhbGUgJXMgZW4gcmViYXNhbnQuIgogCiAjOiBicmFuY2guYzo4OAogIywgYy1mb3JtYXQKQEAgLTIwNiw3ICsyMzYsOSBAQAogIzogYnJhbmNoLmM6OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICVzIGJ5IHJlYmFzaW5nLiIKLW1zZ3N0ciAiTGEgYnJhbmNoZSAlcyBlc3QgcGFyYW3DqXRyw6llIHBvdXIgc3VpdnJlIGxhIHLDqWbDqXJlbmNlIGRpc3RhbnRlICVzIGVuIHJlYmFzYW50LiIKK21zZ3N0ciAiIgorIkxhIGJyYW5jaGUgJXMgZXN0IHBhcmFtw6l0csOpZSBwb3VyIHN1aXZyZSBsYSByw6lmw6lyZW5jZSBkaXN0YW50ZSAlcyBlbiAiCisicmViYXNhbnQuIgogCiAjOiBicmFuY2guYzo5MwogIywgYy1mb3JtYXQKQEAgLTIxNiw3ICsyNDgsOCBAQAogIzogYnJhbmNoLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayBsb2NhbCByZWYgJXMgYnkgcmViYXNpbmcuIgotbXNnc3RyICJMYSBicmFuY2hlICVzIGVzdCBwYXJhbcOpdHLDqWUgcG91ciBzdWl2cmUgbGEgcsOpZsOpcmVuY2UgbG9jYWxlICVzIGVuIHJlYmFzYW50LiIKK21zZ3N0ciAiIgorIkxhIGJyYW5jaGUgJXMgZXN0IHBhcmFtw6l0csOpZSBwb3VyIHN1aXZyZSBsYSByw6lmw6lyZW5jZSBsb2NhbGUgJXMgZW4gcmViYXNhbnQuIgogCiAjOiBicmFuY2guYzo5OAogIywgYy1mb3JtYXQKQEAgLTI0NywxNyArMjgwLDE5IEBACiBtc2dpZCAiQ2Fubm90IGZvcmNlIHVwZGF0ZSB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGZvcmNlciBsYSBtaXNlIMOgIGpvdXIgZGUgbGEgYnJhbmNoZSBjb3VyYW50ZS4iCiAKLSM6IGJyYW5jaC5jOjIwMQorIzogYnJhbmNoLmM6MjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzZXR1cCB0cmFja2luZyBpbmZvcm1hdGlvbjsgc3RhcnRpbmcgcG9pbnQgJyVzJyBpcyBub3QgYSBicmFuY2guIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIHBhcmFtw6l0cmVyIGxlIHN1aXZpIGRlIGJyYW5jaGUgOyBsZSBwb2ludCBkZSBkw6lwYXJ0ICclcycgbidlc3QgcGFzIHVuZSBicmFuY2hlLiIKK21zZ3N0ciAiIgorIkltcG9zc2libGUgZGUgcGFyYW3DqXRyZXIgbGUgc3VpdmkgZGUgYnJhbmNoZSA7IGxlIHBvaW50IGRlIGTDqXBhcnQgJyVzJyBuJ2VzdCAiCisicGFzIHVuZSBicmFuY2hlLiIKIAotIzogYnJhbmNoLmM6MjAzCisjOiBicmFuY2guYzoyMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHJlcXVlc3RlZCB1cHN0cmVhbSBicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAibGEgYnJhbmNoZSBhbW9udCBkZW1hbmTDqWUgJyVzJyBuJ2V4aXN0ZSBwYXMiCiAKLSM6IGJyYW5jaC5jOjIwNQorIzogYnJhbmNoLmM6MjE5CiBtc2dpZCAiIgogIlxuIgogIklmIHlvdSBhcmUgcGxhbm5pbmcgb24gYmFzaW5nIHlvdXIgd29yayBvbiBhbiB1cHN0cmVhbVxuIgpAQCAtMjc3LDI2ICszMTIsMjYgQEAKICJzYSBqdW1lbGxlIGRpc3RhbnRlLCB2b3VzIHNvdWhhaXRlcmV6IHV0aWxpc2VyIFwiZ2l0IHB1c2ggLXVcIlxuIgogInBvdXIgcGFyYW3DqXRyZXIgbGUgc3VpdmkgZGlzdGFudCBlbiBtw6ptZSB0ZW1wcyBxdWUgdm91cyBwb3Vzc2V6LiIKIAotIzogYnJhbmNoLmM6MjUwCisjOiBicmFuY2guYzoyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICJOb20gZCdvYmpldCBpbnZhbGlkZSA6ICclcycuIgogCi0jOiBicmFuY2guYzoyNzAKKyM6IGJyYW5jaC5jOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBbWJpZ3VvdXMgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICJOb20gZCdvYmpldCBhbWJpZ3UgOiAnJXMnLiIKIAotIzogYnJhbmNoLmM6Mjc1CisjOiBicmFuY2guYzoyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgYnJhbmNoIHBvaW50OiAnJXMnLiIKIG1zZ3N0ciAiUG9pbnQgZCdlbWJyYW5jaGVtZW50IGludmFsaWRlIDogJyVzJy4iCiAKLSM6IGJyYW5jaC5jOjI4MQorIzogYnJhbmNoLmM6Mjk1CiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgcmVmIGZvciB1cGRhdGUiCiBtc2dzdHIgIsOJY2hlYyBkdSB2ZXJyb3VpbGxhZ2UgZGUgbGEgcsOpZsOpcmVuY2UgcG91ciBtaXNlIMOgIGpvdXIiCiAKLSM6IGJyYW5jaC5jOjI5OQorIzogYnJhbmNoLmM6MzEzCiBtc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHJlZiIKIG1zZ3N0ciAiw4ljaGVjIGRlIGwnw6ljcml0dXJlIGRlIGxhIHLDqWbDqXJlbmNlIgogCkBAIC0zMTAsNyArMzQ1LDcgQEAKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVhZGVyOiAlcyVzICglZCkiCiBtc2dzdHIgImVuLXTDqnRlIG5vbiByZWNvbm51IDogJXMlcyAoJWQpIgogCi0jOiBidW5kbGUuYzo4OSBidWlsdGluL2NvbW1pdC5jOjY3NgorIzogYnVuZGxlLmM6ODkgYnVpbHRpbi9jb21taXQuYzo3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAnJXMnIgpAQCAtMzE5LDkgKzM1NCw5IEBACiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyB0aGVzZSBwcmVyZXF1aXNpdGUgY29tbWl0czoiCiBtc2dzdHIgIkxlIGTDqXDDtHQgbmUgZGlzcG9zZSBwYXMgZGVzIGNvbW1pdHMgcHLDqXJlcXVpcyA6IgogCi0jOiBidW5kbGUuYzoxNjQgc2VxdWVuY2VyLmM6NjUxIHNlcXVlbmNlci5jOjExMDEgYnVpbHRpbi9sb2cuYzozMDAKLSM6IGJ1aWx0aW4vbG9nLmM6NzcwIGJ1aWx0aW4vbG9nLmM6MTM0NCBidWlsdGluL2xvZy5jOjE1NzAgYnVpbHRpbi9tZXJnZS5jOjM0OQotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE1NQorIzogYnVuZGxlLmM6MTY0IHNlcXVlbmNlci5jOjY2MiBzZXF1ZW5jZXIuYzoxMTEyIGJ1aWx0aW4vbG9nLmM6MzMyCisjOiBidWlsdGluL2xvZy5jOjgyMSBidWlsdGluL2xvZy5jOjE0MTggYnVpbHRpbi9sb2cuYzoxNjQ0IGJ1aWx0aW4vbWVyZ2UuYzozNjQKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNTgKIG1zZ2lkICJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIHByw6lwYXJhdGlvbiBkdSBwYXJjb3VycyBkZXMgcsOpdmlzaW9ucyIKIApAQCAtMzQ3LDcgKzM4Miw3IEBACiBtc2dpZCAicmV2LWxpc3QgZGllZCIKIG1zZ3N0ciAicmV2LWxpc3QgYSBkaXNwYXJ1IgogCi0jOiBidW5kbGUuYzozMDAgYnVpbHRpbi9sb2cuYzoxMjU1IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNTgKKyM6IGJ1bmRsZS5jOjMwMCBidWlsdGluL2xvZy5jOjEzMjkgYnVpbHRpbi9zaG9ydGxvZy5jOjI2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJhcmd1bWVudCBub24gcmVjb25udSA6ICVzIgpAQCAtMzc4LDEyICs0MTMsMTIgQEAKIG1zZ2lkICJpbmRleC1wYWNrIGRpZWQiCiBtc2dzdHIgImwnaW5kZXggZGUgZ3JvdXBlIGEgZGlzcGFydSIKIAotIzogY29tbWl0LmM6NTAKKyM6IGNvbW1pdC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyICVzIgogCi0jOiBjb21taXQuYzo1MgorIzogY29tbWl0LmM6NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiJXMgJXMgbidlc3QgcGFzIHVuIGNvbW1pdCAhIgpAQCAtMzkyLDE5ICs0MjcsMTkgQEAKIG1zZ2lkICJtZW1vcnkgZXhoYXVzdGVkIgogbXNnc3RyICJwbHVzIGRlIG3DqW1vaXJlIgogCi0jOiBjb25uZWN0ZWQuYzozOQorIzogY29ubmVjdGVkLmM6NjAKIG1zZ2lkICJDb3VsZCBub3QgcnVuICdnaXQgcmV2LWxpc3QnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxhbmNlciAnZ2l0IHJldi1saXN0JyIKIAotIzogY29ubmVjdGVkLmM6NDgKKyM6IGNvbm5lY3RlZC5jOjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB3cml0ZSB0byByZXYtbGlzdDogJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGRhbnMgbGEgcmV2LWxpc3QgOiAlcyIKIAotIzogY29ubmVjdGVkLmM6NTYKKyM6IGNvbm5lY3RlZC5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjbG9zZSByZXYtbGlzdCdzIHN0ZGluOiAlcyIKLW1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmZXJtZXIgbGUgc3RkaW4gZHUgcmV2LWxpc3QgOiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmZXJtZXIgbCdlbnRyw6llIHN0YW5kYXJkIGR1IHJldi1saXN0IDogJXMiCiAKICM6IGRhdGUuYzo5NQogbXNnaWQgImluIHRoZSBmdXR1cmUiCkBAIC00NzYsNyArNTExLDggQEAKICM6IGRpZmYuYzoxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyVzJ1xuIgotbXNnc3RyICIgIEltcG9zc2libGUgZCdhbmFseXNlciBsZSBwb3VyY2VudGFnZSBkZSBtb2RpZmljYXRpb24gZGUgZGlyc3RhdCAnJXMnXG4iCittc2dzdHIgIiIKKyIgIEltcG9zc2libGUgZCdhbmFseXNlciBsZSBwb3VyY2VudGFnZSBkZSBtb2RpZmljYXRpb24gZGUgZGlyc3RhdCAnJXMnXG4iCiAKICM6IGRpZmYuYzoxMTcKICMsIGMtZm9ybWF0CkBAIC00ODYsMjUgKzUyMiwyOCBAQAogIzogZGlmZi5jOjIxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHZhbHVlIGZvciAnZGlmZi5zdWJtb2R1bGUnIGNvbmZpZyB2YXJpYWJsZTogJyVzJyIKLW1zZ3N0ciAiVmFsZXVyIGluY29ubnVlIHBvdXIgbGEgdmFyaWFibGUgZGUgY29uZmlndXJhdGlvbiAnZGlmZi5zdWJtb2R1bGUnIDogJyVzJyIKK21zZ3N0ciAiIgorIlZhbGV1ciBpbmNvbm51ZSBwb3VyIGxhIHZhcmlhYmxlIGRlIGNvbmZpZ3VyYXRpb24gJ2RpZmYuc3VibW9kdWxlJyA6ICclcyciCiAKICM6IGRpZmYuYzoyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZvdW5kIGVycm9ycyBpbiAnZGlmZi5kaXJzdGF0JyBjb25maWcgdmFyaWFibGU6XG4iCiAiJXMiCi1tc2dzdHIgIkVycmV1cnMgZGFucyBsYSB2YXJpYWJsZSBkZSBjb25maWd1cmF0aW9uICdkaWZmLmRpcnN0YXQnIDpcbiIKK21zZ3N0ciAiIgorIkVycmV1cnMgZGFucyBsYSB2YXJpYWJsZSBkZSBjb25maWd1cmF0aW9uICdkaWZmLmRpcnN0YXQnIDpcbiIKICIlcyIKIAotIzogZGlmZi5jOjM0ODEKKyM6IGRpZmYuYzozNDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCiAiJXMiCi1tc2dzdHIgIkltcG9zc2libGUgZCdhbmFseXNlciBsZSBwYXJhbcOodHJlIGRlIGwnb3B0aW9uIC0tZGlyc3RhdC8tWCA6XG4iCittc2dzdHIgIiIKKyJJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgcGFyYW3DqHRyZSBkZSBsJ29wdGlvbiAtLWRpcnN0YXQvLVggOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzQ5NQorIzogZGlmZi5jOjM1MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZCdhbmFseXNlciBsZSBwYXJhbcOodHJlIGRlIGwnb3B0aW9uIC0tc3VibW9kdWxlIDogJyVzJyIKQEAgLTUzMSwzNSArNTcwLDM1IEBACiBtc2dpZCAiZmFpbGVkIHdyaXRpbmcgZGV0YWNoZWQgc2lnbmF0dXJlIHRvICclcyc6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsYSBzaWduYXR1cmUgZMOpdGFjaMOpZSBkYW5zICclcycgOiAlcyIKIAotIzogZ3JlcC5jOjE2MjMKKyM6IGdyZXAuYzoxNjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICInJXMnIDogbGVjdHVyZSBkZSAlcyBpbXBvc3NpYmxlIgogCi0jOiBncmVwLmM6MTY0MAorIzogZ3JlcC5jOjE3MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogJXMiCiBtc2dzdHIgIiclcycgOiAlcyIKIAotIzogZ3JlcC5jOjE2NTEKKyM6IGdyZXAuYzoxNzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQgJXMiCiBtc2dzdHIgIiclcycgOiBsZWN0dXJlIHRyb25xdcOpZSAlcyIKIAotIzogaGVscC5jOjIxMgorIzogaGVscC5jOjIxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJhdmFpbGFibGUgZ2l0IGNvbW1hbmRzIGluICclcyciCiBtc2dzdHIgImNvbW1hbmRlcyBnaXQgZGlzcG9uaWJsZXMgZGFucyAnJXMnIgogCi0jOiBoZWxwLmM6MjE5CisjOiBoZWxwLmM6MjE3CiBtc2dpZCAiZ2l0IGNvbW1hbmRzIGF2YWlsYWJsZSBmcm9tIGVsc2V3aGVyZSBvbiB5b3VyICRQQVRIIgogbXNnc3RyICJjb21tYW5kZXMgZ2l0IGRpc3BvbmlibGVzIGRlcHVpcyB1biBhdXRyZSBlbmRyb2l0IGRlIHZvdHJlICRQQVRIIgogCi0jOiBoZWxwLmM6MjM1CisjOiBoZWxwLmM6MjMzCiBtc2dpZCAiVGhlIG1vc3QgY29tbW9ubHkgdXNlZCBnaXQgY29tbWFuZHMgYXJlOiIKIG1zZ3N0ciAiTGVzIGNvbW1hbmRlcyBnaXQgbGVzIHBsdXMgdXRpbGlzw6llcyBzb250IDoiCiAKLSM6IGhlbHAuYzoyOTIKKyM6IGhlbHAuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgYXBwZWFycyB0byBiZSBhIGdpdCBjb21tYW5kLCBidXQgd2Ugd2VyZSBub3RcbiIKQEAgLTU2OCw0NSArNjA3LDU1IEBACiAiJyVzJyBzZW1ibGUgw6p0cmUgdW5lIGNvbW1hbmRlIGdpdCwgbWFpcyBlbGxlIG4nYSBwYXMgcHVcbiIKICLDqnRyZSBleMOpY3V0w6llLiBQZXV0LcOqdHJlIGdpdC0lcyBlc3QtZWxsZSBjYXNzw6llID8iCiAKLSM6IGhlbHAuYzozNDkKKyM6IGhlbHAuYzozNDcKIG1zZ2lkICJVaCBvaC4gWW91ciBzeXN0ZW0gcmVwb3J0cyBubyBHaXQgY29tbWFuZHMgYXQgYWxsLiIKIG1zZ3N0ciAiQWhlbS4gVm90cmUgc3lzdMOobWUgbidpbmRpcXVlIGF1Y3VuZSBjb21tYW5kZSBHaXQuIgogCi0jOiBoZWxwLmM6MzcxCisjOiBoZWxwLmM6MzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXQVJOSU5HOiBZb3UgY2FsbGVkIGEgR2l0IGNvbW1hbmQgbmFtZWQgJyVzJywgd2hpY2ggZG9lcyBub3QgZXhpc3QuXG4iCiAiQ29udGludWluZyB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHlvdSBtZWFudCAnJXMnIgotbXNnc3RyICJBVFRFTlRJT04gOiB2b3VzIGF2ZXogaW52b3F1w6kgdW5lIGNvbW1hbmRlIEdpdCBub21tw6llICclcycgcXVpIG4nZXhpc3RlIHBhcy5cbiIKK21zZ3N0ciAiIgorIkFUVEVOVElPTiA6IHZvdXMgYXZleiBpbnZvcXXDqSB1bmUgY29tbWFuZGUgR2l0IG5vbW3DqWUgJyVzJyBxdWkgbidleGlzdGUgIgorInBhcy5cbiIKICJQb3Vyc3VpdGUgZW4gc3VwcG9zYW50IHF1ZSB2b3VzIGF2ZXogdm91bHUgZGlyZSAnJXMnIgogCi0jOiBoZWxwLmM6Mzc2CisjOiBoZWxwLmM6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImluICUwLjFmIHNlY29uZHMgYXV0b21hdGljYWxseS4uLiIKIG1zZ3N0ciAiZGFucyAlMC4xZiBzZWNvbmRlcyBhdXRvbWF0aXF1ZW1lbnQuLi4iCiAKLSM6IGhlbHAuYzozODMKKyM6IGhlbHAuYzozODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0OiAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kLiBTZWUgJ2dpdCAtLWhlbHAnLiIKIG1zZ3N0ciAiZ2l0IDogJyVzJyBuJ2VzdCBwYXMgdW5lIGNvbW1hbmRlIGdpdC4gVm9pciAnZ2l0IC0taGVscCcuIgogCi0jOiBoZWxwLmM6Mzg3CisjOiBoZWxwLmM6Mzg1IGhlbHAuYzo0NDQKIG1zZ2lkICIiCiAiXG4iCiAiRGlkIHlvdSBtZWFuIHRoaXM/IgogbXNnaWRfcGx1cmFsICIiCiAiXG4iCiAiRGlkIHlvdSBtZWFuIG9uZSBvZiB0aGVzZT8iCi1tc2dzdHJbMF0gIlxuIgorbXNnc3RyWzBdICIiCisiXG4iCiAiVm91bGllei12b3VzIGRpcmUgY2VsYSA/IgotbXNnc3RyWzFdICJcblZvdWxpZXotdm91cyBkaXJlIHVuIGRlIGNldXgtbMOgID8iCittc2dzdHJbMV0gIiIKKyJcbiIKKyJWb3VsaWV6LXZvdXMgZGlyZSB1biBkZSBjZXV4LWzDoCA/IgorCisjOiBoZWxwLmM6NDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAtICVzIgorbXNnc3RyICIlczogJXMgLSAlcyIKIAogIzogbWVyZ2UuYzo1NgogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBjYWNoZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxlIGNhY2hlIgogCi0jOiBtZXJnZS5jOjExMCBidWlsdGluL2NoZWNrb3V0LmM6MzY1IGJ1aWx0aW4vY2hlY2tvdXQuYzo1NjYKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NDUKKyM6IG1lcmdlLmM6MTEwIGJ1aWx0aW4vY2hlY2tvdXQuYzozNTggYnVpbHRpbi9jaGVja291dC5jOjU1OQorIzogYnVpbHRpbi9jbG9uZS5jOjY1NQogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgbm91dmVhdSBmaWNoaWVyIGQnaW5kZXgiCiAKQEAgLTYyMCwzMDYgKzY2OSw0MDQgQEAKIG1zZ2lkICJhZGRpbmZvX2NhY2hlIGZhaWxlZCBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICLDqWNoZWMgZGUgYWRkaW5mb19jYWNoZSBwb3VyIGxlIGNoZW1pbiAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNjgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI2OQogbXNnaWQgImVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICJlcnJldXIgZGUgY29uc3RydWN0aW9uIGRlcyBhcmJyZXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjY3MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NjczCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcGF0aCAnJXMnJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIGNoZW1pbiAnJXMnICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo2ODMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjY4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlcyB0byBtYWtlIHJvb20gZm9yIHN1YmRpcmVjdG9yeVxuIgogbXNnc3RyICJTdXBwcmVzc2lvbiBkZSAlcyBwb3VyIGZhaXJlIGRlIGxhIHBsYWNlIHBvdXIgbGUgc291cy1yw6lwZXJ0b2lyZVxuIgogCiAjLiBzb21ldGhpbmcgZWxzZSBleGlzdHMKICMuIC4uIGJ1dCBub3Qgc29tZSBvdGhlciBlcnJvciAod2hvIHJlYWxseSBjYXJlcyB3aGF0PykKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjY5NyBtZXJnZS1yZWN1cnNpdmUuYzo3MTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjY5OCBtZXJnZS1yZWN1cnNpdmUuYzo3MTkKIG1zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgogbXNnc3RyICI6IHBldXQtw6p0cmUgdW4gY29uZmxpdCBEL0YgPyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzA4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAnJXMnIgogbXNnc3RyICJyZWZ1cyBkZSBwZXJkcmUgbGUgZmljaGllciBub24gc3VpdmkgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzQ4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsJ29iamV0ICVzICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJsb2IgZXhwZWN0ZWQgZm9yICVzICclcyciCiBtc2dzdHIgImJsb2IgYXR0ZW5kdSBwb3VyICVzICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc3MyBidWlsdGluL2Nsb25lLmM6MzEzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NzQgYnVpbHRpbi9jbG9uZS5jOjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgogbXNnc3RyICLDqWNoZWMgw6AgbCdvdXZlcnR1cmUgZGUgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzgxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIMOgIGxhIGNyw6lhdGlvbiBkdSBsaWVuIHN5bWJvbGlxdWUgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzg0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG8gbm90IGtub3cgd2hhdCB0byBkbyB3aXRoICUwNm8gJXMgJyVzJyIKIG1zZ3N0ciAibmUgc2FpdCBwYXMgdHJhaXRlciAlMDZvICVzICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkyMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTIzCiBtc2dpZCAiRmFpbGVkIHRvIGV4ZWN1dGUgaW50ZXJuYWwgbWVyZ2UiCiBtc2dzdHIgIsOJY2hlYyDDoCBsJ2V4w6ljdXRpb24gZGUgbGEgZnVzaW9uIGludGVybmUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkyNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgJXMgdG8gZGF0YWJhc2UiCiBtc2dzdHIgIkltcG9zc2libGUgZCdham91dGVyICVzIMOgIGxhIGJhc2UgZGUgZG9ubsOpZXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk0MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTQzCiBtc2dpZCAidW5zdXBwb3J0ZWQgb2JqZWN0IHR5cGUgaW4gdGhlIHRyZWUiCiBtc2dzdHIgInR5cGUgZCdvYmpldCBub24gc3VwcG9ydMOpIGRhbnMgbCdhcmJyZSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAyMSBtZXJnZS1yZWN1cnNpdmUuYzoxMDM1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDIyIG1lcmdlLXJlY3Vyc2l2ZS5jOjEwMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKICJpbiB0cmVlLiIKLW1zZ3N0ciAiQ09ORkxJVCAoJXMvc3VwcHJlc3Npb24pIDogJXMgc3VwcHJpbcOpIGRhbnMgJXMgZXQgJXMgZGFucyAlcy4gVmVyc2lvbiAlcyBkZSAlcyBsYWlzc8OpZSBkYW5zIGwnYXJicmUuIgorbXNnc3RyICIiCisiQ09ORkxJVCAoJXMvc3VwcHJlc3Npb24pIDogJXMgc3VwcHJpbcOpIGRhbnMgJXMgZXQgJXMgZGFucyAlcy4gVmVyc2lvbiAlcyBkZSAiCisiJXMgbGFpc3PDqWUgZGFucyBsJ2FyYnJlLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAyNyBtZXJnZS1yZWN1cnNpdmUuYzoxMDQwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDI4IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKICJpbiB0cmVlIGF0ICVzLiIKLW1zZ3N0ciAiQ09ORkxJVCAoJXMvc3VwcHJlc3Npb24pIDogJXMgc3VwcHJpbcOpIGRhbnMgJXMgZXQgJXMgZGFucyAlcy4gVmVyc2lvbiAlcyBkZSAlcyBsYWlzc8OpZSBkYW5zIGwnYXJicmUgZGFucyBsZSBmaWNoaWVyICVzLiIKK21zZ3N0ciAiIgorIkNPTkZMSVQgKCVzL3N1cHByZXNzaW9uKSA6ICVzIHN1cHByaW3DqSBkYW5zICVzIGV0ICVzIGRhbnMgJXMuIFZlcnNpb24gJXMgZGUgIgorIiVzIGxhaXNzw6llIGRhbnMgbCdhcmJyZSBkYW5zIGxlIGZpY2hpZXIgJXMuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgyCiBtc2dpZCAicmVuYW1lIgogbXNnc3RyICJyZW5vbW1hZ2UiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwODEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwODIKIG1zZ2lkICJyZW5hbWVkIgogbXNnc3RyICJyZW5vbW3DqSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTEzNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBhIGRpcmVjdG9yeSBpbiAlcyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiJXMgZXN0IHVuIHLDqXBlcnRvaXJlIGRhbnMgJXMgYWpvdXTDqSBwbHV0w7R0IGNvbW1lICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTU5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSBcIiVzXCItPlwiJXNcIiBpbiBicmFuY2ggXCIlc1wiIHJlbmFtZSBcIiVzIgogIlwiLT5cIiVzXCIgaW4gXCIlc1wiJXMiCi1tc2dzdHIgIkNPTkZMSVQgKHJlbm9tbWFnZS9yZW5vbW1hZ2UpIDogUmVub21tYWdlIGRlIFwiJXNcIi0+XCIlc1wiIGRhbnMgbGEgYnJhbmNoZSBcIiVzXCIgZXQgcmVub21tYWdlIFwiJXNcIi0+XCIlc1wiIGRhbnMgXCIlc1wiJXMiCittc2dzdHIgIiIKKyJDT05GTElUIChyZW5vbW1hZ2UvcmVub21tYWdlKSA6IFJlbm9tbWFnZSBkZSBcIiVzXCItPlwiJXNcIiBkYW5zIGxhIGJyYW5jaGUgIgorIlwiJXNcIiBldCByZW5vbW1hZ2UgXCIlc1wiLT5cIiVzXCIgZGFucyBcIiVzXCIlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE2NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE2NQogbXNnaWQgIiAobGVmdCB1bnJlc29sdmVkKSIKIG1zZ3N0ciAiIChsYWlzc8OpIG5vbiByw6lzb2x1KSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIxOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuIFJlbmFtZSAlcy0+JXMgaW4gJXMiCi1tc2dzdHIgIkNPTkZMSVQgKHJlbm9tbWFnZS9yZW5vbW1hZ2UpIDogcmVub21tYWdlICclcyctPiclcycgZGFucyAlcy4gUmVub21tYWdlICclcyctPiclcycgZGFucyAlcyIKK21zZ3N0ciAiIgorIkNPTkZMSVQgKHJlbm9tbWFnZS9yZW5vbW1hZ2UpIDogcmVub21tYWdlICclcyctPiclcycgZGFucyAlcy4gUmVub21tYWdlICclcyctIgorIj4nJXMnIGRhbnMgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNDgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXMgYW5kICVzIHRvICVzIGluc3RlYWQiCiBtc2dzdHIgIlJlbm9tbWFnZSBkZSAlcyBlbiAlcyBldCBkZSAlcyBlbiAlcyDDoCBsYSBwbGFjZSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ0NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL2FkZCk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuICVzIGFkZGVkIGluICVzIgotbXNnc3RyICJDT05GTElUIChyZW5vbW1hZ2UvYWpvdXQpIDogUmVub21tYWdlIGRlICVzLT4lcyBkYW5zICVzLiAlcyBham91dMOpIGRhbnMgJXMiCittc2dzdHIgIiIKKyJDT05GTElUIChyZW5vbW1hZ2UvYWpvdXQpIDogUmVub21tYWdlIGRlICVzLT4lcyBkYW5zICVzLiAlcyBham91dMOpIGRhbnMgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0NTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIG1lcmdlZCAlcyIKIG1zZ3N0ciAiQWpvdXQgZGUgJXMgZnVzaW9ubsOpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDYyIG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NjAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0NjMgbWVyZ2UtcmVjdXJzaXZlLmM6MTY2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiQWpvdXQgcGx1dMO0dCBjb21tZSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUxMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsJ29iamV0ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTE2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpcyBub3QgYSBibG9iIgogbXNnc3RyICJsJ29iamV0ICVzIG4nZXN0IHBhcyB1biBibG9iIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTY0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTY1CiBtc2dpZCAibW9kaWZ5IgogbXNnc3RyICJtb2RpZmljYXRpb24iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NjQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NjUKIG1zZ2lkICJtb2RpZmllZCIKIG1zZ3N0ciAibW9kaWZpw6kiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NzQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NzUKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICJjb250ZW51IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTgxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTgyCiBtc2dpZCAiYWRkL2FkZCIKIG1zZ3N0ciAiYWpvdXQvYWpvdXQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBlZCAlcyAobWVyZ2VkIHNhbWUgYXMgZXhpc3RpbmcpIgotbXNnc3RyICIlcyBpZ25vcsOpIChmdXNpb24gaWRlbnRpcXVlIMOgIGwnZXhpc3RhbnQpIgorbXNnc3RyICIlcyBzYXV0w6kgKGZ1c2lvbiBpZGVudGlxdWUgw6AgbCdleGlzdGFudCkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MjkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0by1tZXJnaW5nICVzIgogbXNnc3RyICJGdXNpb24gYXV0b21hdGlxdWUgZGUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzMgZ2l0LXN1Ym1vZHVsZS5zaDoxMDI5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjM0IGdpdC1zdWJtb2R1bGUuc2g6MTEyNQogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAic291cy1tb2R1bGUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCiBtc2dzdHIgIkNPTkZMSVQgKCVzKSA6IENvbmZsaXQgZGUgZnVzaW9uIGRhbnMgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MjQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMiCiBtc2dzdHIgIlN1cHByZXNzaW9uIGRlICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQ5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzUwCiBtc2dpZCAiZmlsZS9kaXJlY3RvcnkiCiBtc2dzdHIgImZpY2hpZXIvcsOpcGVydG9pcmUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NTUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NTYKIG1zZ2lkICJkaXJlY3RvcnkvZmlsZSIKIG1zZ3N0ciAicsOpcGVydG9pcmUvZmljaGllciIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc2MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBUaGVyZSBpcyBhIGRpcmVjdG9yeSB3aXRoIG5hbWUgJXMgaW4gJXMuIEFkZGluZyAlcyBhcyAlcyIKLW1zZ3N0ciAiQ09ORkxJVCAoJXMpIDogSWwgeSBhIHVuIHLDqXBlcnRvaXJlIG5vbW3DqSAlcyBkYW5zICVzLiBBam91dCBkZSAlcyBjb21tZSAlcyIKK21zZ3N0ciAiIgorIkNPTkZMSVQgKCVzKSA6IElsIHkgYSB1biByw6lwZXJ0b2lyZSBub21tw6kgJXMgZGFucyAlcy4gQWpvdXQgZGUgJXMgY29tbWUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NzAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nICVzIgogbXNnc3RyICJBam91dCBkZSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc4NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc4OAogbXNnaWQgIkZhdGFsIG1lcmdlIGZhaWx1cmUsIHNob3VsZG4ndCBoYXBwZW4uIgogbXNnc3RyICLDiWNoZWMgZmF0YWwgZGUgZnVzaW9uLCBxdWkgbmUgZGV2cmFpdCBqYW1haXMgYXJyaXZlci4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MDcKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUhIgogbXNnc3RyICJEw6lqw6Agw6Agam91ciAhIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODE1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdpbmcgb2YgdHJlZXMgJXMgYW5kICVzIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGZ1c2lvbiBkZXMgYXJicmVzICVzIGV0ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODQ1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVucHJvY2Vzc2VkIHBhdGg/Pz8gJXMiCiBtc2dzdHIgIkNoZW1pbiBub24gdHJhaXTDqSA/Pz8gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4OTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4OTEKIG1zZ2lkICJNZXJnaW5nOiIKIG1zZ3N0ciAiRnVzaW9uIDoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MDMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yOiIKIG1zZ2lkX3BsdXJhbCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yczoiCiBtc2dzdHJbMF0gIiV1IGFuY8OqdHJlIGNvbW11biB0cm91dsOpIDoiCiBtc2dzdHJbMV0gIiV1IGFuY8OqdHJlcyBjb21tdW5zIHRyb3V2w6lzIDoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5NDAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5NDEKIG1zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCiBtc2dzdHIgImxhIGZ1c2lvbiBuJ2EgcGFzIHJldG91cm7DqSBkZSBjb21taXQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5OTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbCdvYmpldCAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDA5IGJ1aWx0aW4vbWVyZ2UuYzo2NTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMTAgYnVpbHRpbi9tZXJnZS5jOjY3MgogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCiBtc2dzdHIgIkltcG9zc2libGUgZCfDqWNyaXJlIGwnaW5kZXguIgogCi0jOiBvYmplY3QuYzoxOTUKKyM6IG5vdGVzLXV0aWxzLmM6NDAKK21zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCittc2dzdHIgIkltcG9zc2libGUgZGUgdmFsaWRlciB1biBhcmJyZSBkZSBub3RlcyBub24gaW5pdGlhbGlzw6kvcsOpZsOpcmVuY8OpIgorCisjOiBub3Rlcy11dGlscy5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCBub3Rlcy5yZXdyaXRlTW9kZSB2YWx1ZTogJyVzJyIKK21zZ3N0ciAiTWF1dmFpc2UgdmFsZXVyIGRlIG5vdGVzLnJld3JpdGVNb2RlIDogJyVzJyIKKworIzogbm90ZXMtdXRpbHMuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWZ1c2luZyB0byByZXdyaXRlIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKK21zZ3N0ciAiUmVmdXMgZGUgcsOpw6ljcmlyZSBkZXMgbm90ZXMgZGFucyAlcyAoaG9ycyBkZSByZWZzL25vdGVzLykiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgdGhlIG5hbWUgb2YgdGhlCisjLiBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcyBpdHMgdmFsdWUKKyM6IG5vdGVzLXV0aWxzLmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCAlcyB2YWx1ZTogJyVzJyIKK21zZ3N0ciAiTWF1dmFpc2UgdmFsZXVyIGRlICVzIDogJyVzJyIKKworIzogb2JqZWN0LmM6MjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBvYmplY3Q6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbCdvYmpldCA6ICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NDg5CisjOiBwYXJzZS1vcHRpb25zLmM6NTM3CiBtc2dpZCAiLi4uIgogbXNnc3RyICIuLi4iCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1MDcKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzIgogbXNnc3RyICJ1c2FnZSA6ICVzIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uIGhlcmUgc2hvdWxkIGFsaWduIHdpdGggdGhlCiAjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24KLSM6IHBhcnNlLW9wdGlvbnMuYzo1MTEKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgb3I6ICVzIgogbXNnc3RyICIgICBvdSA6ICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTE0CisjOiBwYXJzZS1vcHRpb25zLmM6NTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlcyIKIG1zZ3N0ciAiICAgICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTQ4CisjOiBwYXJzZS1vcHRpb25zLmM6NTk2CiBtc2dpZCAiLU5VTSIKIG1zZ3N0ciAiLU5VTSIKIAotIzogcGF0aHNwZWMuYzo4MworIzogcGF0aHNwZWMuYzoxMTgKK21zZ2lkICJnbG9iYWwgJ2dsb2InIGFuZCAnbm9nbG9iJyBwYXRoc3BlYyBzZXR0aW5ncyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICJsZXMgcsOpZ2xhZ2VzIGRlIHNww6ljaWZpY2F0ZXVycyBkZSBjaGVtaW4gZ8OpbsOpcmF1eCAnZ2xvYicgZXQgJ25vZ2xvYicgc29udCBpbmNvbXBhdGlibGVzIgorCisjOiBwYXRoc3BlYy5jOjEyOAorbXNnaWQgIiIKKyJnbG9iYWwgJ2xpdGVyYWwnIHBhdGhzcGVjIHNldHRpbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIGdsb2JhbCAiCisicGF0aHNwZWMgc2V0dGluZ3MiCittc2dzdHIgImxlIHLDqWdsYWdlIGdsb2JhbCBkZSBzcMOpY2lmaWNhdGV1ciBkZSBjaGVtaW4gJ2xpdGVyYWwnIGVzdCBpbmNvbXBhdGlibGUgYXZlYyB0b3VzIGxlcyBhdXRyZXMgcsOpZ2xhZ2VzIGdsb2JhdXggZGUgc3DDqWNpZmljYXRldXIgZGUgY2hlbWluIgorCisjOiBwYXRoc3BlYy5jOjE1OAorbXNnaWQgImludmFsaWQgcGFyYW1ldGVyIGZvciBwYXRoc3BlYyBtYWdpYyAncHJlZml4JyIKK21zZ3N0ciAicGFyYW3DqHRyZSBpbnZhbGlkZSBwb3VyIGxlIHNww6ljaWZpY2F0ZXVyIG1hZ2lxdWUgZGUgY2hlbWluICdwcmVmaXgnIgorCisjOiBwYXRoc3BlYy5jOjE2NAogIywgYy1mb3JtYXQKLW1zZ2lkICJQYXRoICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKK21zZ2lkICJJbnZhbGlkIHBhdGhzcGVjIG1hZ2ljICclLipzJyBpbiAnJXMnIgorbXNnc3RyICJMYSBzcMOpY2lmaWNhdGlvbiBtYWdpcXVlIGRlIGNoZW1pbiAnJS4qcycgZXN0IGludmFsaWRlIGRhbnMgJyVzJyIKKworIzogcGF0aHNwZWMuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWlzc2luZyAnKScgYXQgdGhlIGVuZCBvZiBwYXRoc3BlYyBtYWdpYyBpbiAnJXMnIgorbXNnc3RyICInKScgbWFucXVhbnRlIMOgIGxhIGZpbiBkdSBzcMOpY2lmaWNhdGV1ciBtYWdpcXVlIGRlIGNoZW1pbiBkYW5zICclcyciCisKKyM6IHBhdGhzcGVjLmM6MTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaW1wbGVtZW50ZWQgcGF0aHNwZWMgbWFnaWMgJyVjJyBpbiAnJXMnIgorbXNnc3RyICJTcMOpY2lmaWNhdGV1ciBtYWdpcXVlICclYycgbm9uIGltcGzDqW1lbnTDqSBkYW5zICclcyciCisKKyM6IHBhdGhzcGVjLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAnbGl0ZXJhbCcgYW5kICdnbG9iJyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIlcyA6ICdsaXRlcmFsJyBldCAnZ2xvYicgc29udCBpbmNvbXBhdGlibGVzIgorCisjOiBwYXRoc3BlYy5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCittc2dzdHIgIiVzIDogJyVzJyBlc3QgaG9ycyBkdSBkw6lww7R0IgorCisjOiBwYXRoc3BlYy5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXRoc3BlYyAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCiBtc2dzdHIgIkxlIGNoZW1pbiAnJXMnIGVzdCBkYW5zIGxlIHNvdXMtbW9kdWxlICclLipzJyIKIAotIzogcGF0aHNwZWMuYzo5OQorIy4KKyMuICogV2UgbWF5IHdhbnQgdG8gc3Vic3RpdHV0ZSAidGhpcyBjb21tYW5kIiB3aXRoIGEgY29tbWFuZAorIy4gKiBuYW1lLiBFLmcuIHdoZW4gYWRkLS1pbnRlcmFjdGl2ZSBkaWVzIHdoZW4gcnVubmluZworIy4gKiAiY2hlY2tvdXQgLXAiCisjLgorIzogcGF0aHNwZWMuYzozNDAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgotbXNnc3RyICInJXMnIGVzdCBhdSBkZWzDoCBkJ3VuIGxpZW4gc3ltYm9saXF1ZSIKK21zZ2lkICIlczogcGF0aHNwZWMgbWFnaWMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvbW1hbmQ6ICVzIgorbXNnc3RyICIlcyA6IGxlIHNww6ljaWZpY2F0ZXVyIG1hZ2lxdWUgZGUgY2hlbWluIG4nZXN0IHBhcyBzdXBwb3J0w6kgcGFyIGNldHRlIGNvbW1hbmRlIDogJXMiCiAKLSM6IHJlbW90ZS5jOjE3ODEKKyM6IHBhdGhzcGVjLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAibGUgY2hlbWluICclcycgZXN0IGF1LWRlbMOgIGQndW4gbGllbiBzeW1ib2xpcXVlIgorCisjOiByZW1vdGUuYzoxODMzCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJhc2VkIG9uICclcycsIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS5cbiIKK21zZ3N0ciAiVm90cmUgYnJhbmNoZSBlc3QgYmFzw6llIHN1ciAnJXMnLCBtYWlzIGxhIGJyYW5jaGUgYW1vbnQgYSBkaXNwYXJ1LlxuIgorCisjOiByZW1vdGUuYzoxODM3Cittc2dpZCAiICAodXNlIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgdG8gZml4dXApXG4iCittc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IGJyYW5jaCAtdW5zZXQtdXBzdHJlYW1cIiBwb3VyIGNvcnJpZ2VyKVxuIgorCisjOiByZW1vdGUuYzoxODQwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwLXRvLWRhdGUgd2l0aCAnJXMnLlxuIgorbXNnc3RyICJWb3RyZSBicmFuY2hlIGVzdCDDoCBqb3VyIGF2ZWMgJyVzJy5cbiIKKworIzogcmVtb3RlLmM6MTg0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdC5cbiIKIG1zZ2lkX3BsdXJhbCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXRzLlxuIgogbXNnc3RyWzBdICJWb3RyZSBicmFuY2hlIGVzdCBlbiBhdmFuY2Ugc3VyICclcycgZGUgJWQgY29tbWl0LlxuIgogbXNnc3RyWzFdICJWb3RyZSBicmFuY2hlIGVzdCBlbiBhdmFuY2Ugc3VyICclcycgZGUgJWQgY29tbWl0cy5cbiIKIAotIzogcmVtb3RlLmM6MTc4NworIzogcmVtb3RlLmM6MTg1MAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHB1c2hcIiBwb3VyIHB1YmxpZXIgdm9zIGNvbW1pdHMgbG9jYXV4KVxuIgogCi0jOiByZW1vdGUuYzoxNzkwCisjOiByZW1vdGUuYzoxODUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdCwgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKIG1zZ2lkX3BsdXJhbCAiIgogIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdHMsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCi1tc2dzdHJbMF0gIlZvdHJlIGJyYW5jaGUgZXN0IGVuIHJldGFyZCBzdXIgJyVzJyBkZSAlZCBjb21taXQsIGV0IHBldXQgw6p0cmUgbWlzZSDDoCBqb3VyIGVuIGF2YW5jZSByYXBpZGUuXG4iCi1tc2dzdHJbMV0gIlZvdHJlIGJyYW5jaGUgZXN0IGVuIHJldGFyZCBzdXIgJyVzJyBkZSAlZCBjb21taXRzLCBldCBwZXV0IMOqdHJlIG1pc2Ugw6Agam91ciBlbiBhdmFuY2UgcmFwaWRlLlxuIgorbXNnc3RyWzBdICIiCisiVm90cmUgYnJhbmNoZSBlc3QgZW4gcmV0YXJkIHN1ciAnJXMnIGRlICVkIGNvbW1pdCwgZXQgcGV1dCDDqnRyZSBtaXNlIMOgIGpvdXIgIgorImVuIGF2YW5jZSByYXBpZGUuXG4iCittc2dzdHJbMV0gIiIKKyJWb3RyZSBicmFuY2hlIGVzdCBlbiByZXRhcmQgc3VyICclcycgZGUgJWQgY29tbWl0cywgZXQgcGV1dCDDqnRyZSBtaXNlIMOgIGpvdXIgIgorImVuIGF2YW5jZSByYXBpZGUuXG4iCiAKLSM6IHJlbW90ZS5jOjE3OTgKKyM6IHJlbW90ZS5jOjE4NjEKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIHVwZGF0ZSB5b3VyIGxvY2FsIGJyYW5jaClcbiIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgcHVsbFwiIHBvdXIgbWV0dHJlIMOgIGpvdXIgdm90cmUgYnJhbmNoZSBsb2NhbGUpXG4iCiAKLSM6IHJlbW90ZS5jOjE4MDEKKyM6IHJlbW90ZS5jOjE4NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCkBAIC05MjcsMjMgKzEwNzQsMzUgQEAKIG1zZ2lkX3BsdXJhbCAiIgogIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCiAiYW5kIGhhdmUgJWQgYW5kICVkIGRpZmZlcmVudCBjb21taXRzIGVhY2gsIHJlc3BlY3RpdmVseS5cbiIKLW1zZ3N0clswXSAiVm90cmUgYnJhbmNoZSBldCAnJXMnIG9udCBkaXZlcmfDqSxcbiIKK21zZ3N0clswXSAiIgorIlZvdHJlIGJyYW5jaGUgZXQgJyVzJyBvbnQgZGl2ZXJnw6ksXG4iCiAiZXQgb250ICVkIGV0ICVkIGNvbW1pdCBkaWZmw6lyZW50IGNoYWN1bmUgcmVzcGVjdGl2ZW1lbnQuXG4iCi1tc2dzdHJbMV0gIlZvdHJlIGJyYW5jaGUgZXQgJyVzJyBvbnQgZGl2ZXJnw6ksXG4iCittc2dzdHJbMV0gIiIKKyJWb3RyZSBicmFuY2hlIGV0ICclcycgb250IGRpdmVyZ8OpLFxuIgogImV0IG9udCAlZCBldCAlZCBjb21taXRzIGRpZmbDqXJlbnRzIGNoYWN1bmUgcmVzcGVjdGl2ZW1lbnQuXG4iCiAKLSM6IHJlbW90ZS5jOjE4MTEKKyM6IHJlbW90ZS5jOjE4NzQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCi1tc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHB1bGxcIiBwb3VyIGZ1c2lvbm5lciBsYSBicmFuY2hlIGRpc3RhbnRlIGRhbnMgbGEgdsO0dHJlKVxuIgorbXNnc3RyICIiCisiICAodXRpbGlzZXogXCJnaXQgcHVsbFwiIHBvdXIgZnVzaW9ubmVyIGxhIGJyYW5jaGUgZGlzdGFudGUgZGFucyBsYSB2w7R0cmUpXG4iCiAKLSM6IHNlcXVlbmNlci5jOjIwNiBidWlsdGluL21lcmdlLmM6Nzc2IGJ1aWx0aW4vbWVyZ2UuYzo4ODkgYnVpbHRpbi9tZXJnZS5jOjk5OQotIzogYnVpbHRpbi9tZXJnZS5jOjEwMDkKKyM6IHJ1bi1jb21tYW5kLmM6ODAKK21zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsJ291dmVydHVyZSBkZSAvZGV2L251bGwiCisKKyM6IHJ1bi1jb21tYW5kLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHVwMiglZCwlZCkgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgZHVwMiglZCwlZCkiCisKKyM6IHNlcXVlbmNlci5jOjIwNiBidWlsdGluL21lcmdlLmM6NzkwIGJ1aWx0aW4vbWVyZ2UuYzo5MDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDEzIGJ1aWx0aW4vbWVyZ2UuYzoxMDIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgJyVzJyBlbiDDqWNyaXR1cmUiCiAKLSM6IHNlcXVlbmNlci5jOjIwOCBidWlsdGluL21lcmdlLmM6MzM1IGJ1aWx0aW4vbWVyZ2UuYzo3NzkKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDAxIGJ1aWx0aW4vbWVyZ2UuYzoxMDE0CisjOiBzZXF1ZW5jZXIuYzoyMDggYnVpbHRpbi9tZXJnZS5jOjM1MCBidWlsdGluL21lcmdlLmM6NzkzCisjOiBidWlsdGluL21lcmdlLmM6MTAxNSBidWlsdGluL21lcmdlLmM6MTAyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ8OpY3JpcmUgZGFucyAnJXMnIgpAQCAtOTUyLDcgKzExMTEsOCBAQAogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nIgotbXNnc3RyICJhcHLDqHMgcsOpc29sdXRpb24gZGVzIGNvbmZsaXRzLCBtYXJxdWV6IGxlcyBjaGVtaW5zIGNvcnJpZ8Opc1xuIgorbXNnc3RyICIiCisiYXByw6hzIHLDqXNvbHV0aW9uIGRlcyBjb25mbGl0cywgbWFycXVleiBsZXMgY2hlbWlucyBjb3JyaWfDqXNcbiIKICJhdmVjICdnaXQgYWRkIDxjaGVtaW5zPicgb3UgJ2dpdCBybSA8Y2hlbWlucz4nIgogCiAjOiBzZXF1ZW5jZXIuYzoyMzIKQEAgLTk2NSw3ICsxMTI1LDcgQEAKICJhdmVjICdnaXQgYWRkIDxjaGVtaW5zPicgb3UgJ2dpdCBybSA8Y2hlbWlucz4nXG4iCiAicHVpcyB2YWxpZGV6IGxlIHLDqXN1bHRhdCBhdmVjICdnaXQgY29tbWl0JyIKIAotIzogc2VxdWVuY2VyLmM6MjQ1IHNlcXVlbmNlci5jOjg1OSBzZXF1ZW5jZXIuYzo5NDIKKyM6IHNlcXVlbmNlci5jOjI0NSBzZXF1ZW5jZXIuYzo4NzAgc2VxdWVuY2VyLmM6OTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ8OpY3JpcmUgZGFucyAlcyIKQEAgLTk4NSw2MzMgKzExNDUsODAyIEBACiAKICM6IHNlcXVlbmNlci5jOjI2OAogbXNnaWQgIkNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKLW1zZ3N0ciAiVmFsaWRleiB2b3MgbW9kaWZpY2F0aW9ucyBvdSByZW1pc2V6LWxlcyBwb3VyIGNvbnRpbnVlci4iCittc2dzdHIgIlZhbGlkZXogdm9zIG1vZGlmaWNhdGlvbnMgb3UgbGVzIHJlbWlzZXIgcG91ciBjb250aW51ZXIuIgogCiAjLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiBvciAiY2hlcnJ5LXBpY2siCi0jOiBzZXF1ZW5jZXIuYzozMTkKKyM6IHNlcXVlbmNlci5jOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIlczogSW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgbm91dmVhdSBmaWNoaWVyIGluZGV4IgogCi0jOiBzZXF1ZW5jZXIuYzozNTAKKyM6IHNlcXVlbmNlci5jOjM1NgogbXNnaWQgIkNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcsOpc291ZHJlIGxlIGNvbW1pdCBIRUFEXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM3MQorIzogc2VxdWVuY2VyLmM6Mzc4CiBtc2dpZCAiVW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlXG4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbCdhcmJyZSBkZSBjYWNoZVxuIgogCi0jOiBzZXF1ZW5jZXIuYzo0MTYKKyM6IHNlcXVlbmNlci5jOjQyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCiBtc2dzdHIgIkltcG9zc2libGUgZCdhbmFseXNlciBsZSBjb21taXQgJXNcbiIKIAotIzogc2VxdWVuY2VyLmM6NDIxCisjOiBzZXF1ZW5jZXIuYzo0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIHBhcmVudCBjb21taXQgJXNcbiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGNvbW1pdCBwYXJlbnQgJXNcbiIKIAotIzogc2VxdWVuY2VyLmM6NDg3CisjOiBzZXF1ZW5jZXIuYzo0OTQKIG1zZ2lkICJZb3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgogbXNnc3RyICJWb3RyZSBmaWNoaWVyIGQnaW5kZXggbidlc3QgcGFzIGZ1c2lvbm7DqS4iCiAKLSM6IHNlcXVlbmNlci5jOjUwNgorIzogc2VxdWVuY2VyLmM6NTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKIG1zZ3N0ciAiTGUgY29tbWl0ICVzIGVzdCB1bmUgZnVzaW9uIG1haXMgbCdvcHRpb24gLW0gbidhIHBhcyDDqXTDqSBzcMOpY2lmacOpZS4iCiAKLSM6IHNlcXVlbmNlci5jOjUxNAorIzogc2VxdWVuY2VyLmM6NTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKIG1zZ3N0ciAiTGUgY29tbWl0ICVzIG4nYSBwYXMgbGUgcGFyZW50ICVkIgogCi0jOiBzZXF1ZW5jZXIuYzo1MTgKKyM6IHNlcXVlbmNlci5jOjUyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgotbXNnc3RyICJVbmUgYnJhbmNoZSBwcmluY2lwYWxlIGEgw6l0w6kgc3DDqWNpZmnDqWUgbWFpcyBsZSBjb21taXQgJXMgbidlc3QgcGFzIHVuZSBmdXNpb24uIgorbXNnc3RyICIiCisiVW5lIGJyYW5jaGUgcHJpbmNpcGFsZSBhIMOpdMOpIHNww6ljaWZpw6llIG1haXMgbGUgY29tbWl0ICVzIG4nZXN0IHBhcyB1bmUgIgorImZ1c2lvbi4iCiAKICMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSAicmV2ZXJ0IiBvcgogIy4gImNoZXJyeS1waWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEKLSM6IHNlcXVlbmNlci5jOjUzMQorIzogc2VxdWVuY2VyLmM6NTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXMgOiBpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgY29tbWl0IHBhcmVudCAlcyIKIAotIzogc2VxdWVuY2VyLmM6NTM1CisjOiBzZXF1ZW5jZXIuYzo1NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCiBtc2dzdHIgIkltcG9zc2libGUgZCdvYnRlbmlyIHVuIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBwb3VyICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo2MjEKKyM6IHNlcXVlbmNlci5jOjYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmV2ZXJ0ICVzLi4uICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5udWxlciAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6NjIyCisjOiBzZXF1ZW5jZXIuYzo2MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGFwcGx5ICVzLi4uICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYXBwbGlxdWVyICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo2NTQKKyM6IHNlcXVlbmNlci5jOjY2NQogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgotbXNnc3RyICJsJ2Vuc2VtYmxlIGRlIGNvbW1pdHMgc3DDqWZpY2lmacOpIGVzdCB2aWRlIgorbXNnc3RyICJsJ2Vuc2VtYmxlIGRlIGNvbW1pdHMgc3DDqWNpZmnDqSBlc3QgdmlkZSIKIAotIzogc2VxdWVuY2VyLmM6NjYyCisjOiBzZXF1ZW5jZXIuYzo2NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlcyA6IMOpY2hlYyDDoCBsYSBsZWN0dXJlIGRlIGwnaW5kZXgiCiAKLSM6IHNlcXVlbmNlci5jOjY2NworIzogc2VxdWVuY2VyLmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlZnJlc2ggdGhlIGluZGV4IgotbXNnc3RyICJnaXQgJXMgOiDDqWNoZWMgZHUgcmFmZnJhw65jaGlzc2VtZW50IGRlIGwnaW5kZXgiCittc2dzdHIgImdpdCAlcyA6IMOpY2hlYyBkdSByYWZyYcOuY2hpc3NlbWVudCBkZSBsJ2luZGV4IgogCi0jOiBzZXF1ZW5jZXIuYzo3MjUKKyM6IHNlcXVlbmNlci5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgJXMgZHVyaW5nIGEgJXMiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgJXMgcGVuZGFudCB1biAlcyIKIAotIzogc2VxdWVuY2VyLmM6NzQ3CisjOiBzZXF1ZW5jZXIuYzo3NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIGxpbmUgJWQuIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGEgbGlnbmUgJWQuIgogCi0jOiBzZXF1ZW5jZXIuYzo3NTIKKyM6IHNlcXVlbmNlci5jOjc2MwogbXNnaWQgIk5vIGNvbW1pdHMgcGFyc2VkLiIKIG1zZ3N0ciAiQXVjdW4gY29tbWl0IGFuYWx5c8OpLiIKIAotIzogc2VxdWVuY2VyLmM6NzY1CisjOiBzZXF1ZW5jZXIuYzo3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJXMiCiBtc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjc2OQorIzogc2VxdWVuY2VyLmM6NzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkICVzLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlICVzLiIKIAotIzogc2VxdWVuY2VyLmM6Nzc2CisjOiBzZXF1ZW5jZXIuYzo3ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICVzIgogbXNnc3RyICJGZXVpbGxlIGQnaW5zdHJ1Y3Rpb24gaW51dGlsaXNhYmxlIDogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjgwNAorIzogc2VxdWVuY2VyLmM6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQga2V5OiAlcyIKIG1zZ3N0ciAiQ2zDqSBpbnZhbGlkZTogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjgwNworIzogc2VxdWVuY2VyLmM6ODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKIG1zZ3N0ciAiVmFsZXVyIGludmFsaWRlIHBvdXIgJXMgOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODE5CisjOiBzZXF1ZW5jZXIuYzo4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIG9wdGlvbnMgc2hlZXQ6ICVzIgogbXNnc3RyICJGZXVpbGxlIGQnb3B0aW9ucyBtYWxmb3Jtw6llIDogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjg0MAorIzogc2VxdWVuY2VyLmM6ODUxCiBtc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAidW4gcGljb3JhZ2Ugb3UgdW4gcmV0b3VyIGVzdCBkw6lqw6AgZW4gY291cnMiCiAKLSM6IHNlcXVlbmNlci5jOjg0MQorIzogc2VxdWVuY2VyLmM6ODUyCiBtc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIG1zZ3N0ciAiZXNzYXlleiBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZXwtLXF1aXR8LS0gYWJvcnQpXCIiCiAKLSM6IHNlcXVlbmNlci5jOjg0NQorIzogc2VxdWVuY2VyLmM6ODU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgcsOpcGVydG9pcmUgZGUgc8OpcXVlbmNldXIgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjg2MSBzZXF1ZW5jZXIuYzo5NDYKKyM6IHNlcXVlbmNlci5jOjg3MiBzZXF1ZW5jZXIuYzo5NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3Igd3JhcHBpbmcgdXAgJXMuIgogbXNnc3RyICJFcnJldXIgbG9ycyBkZSBsJ2VtYmFsbGFnZSBkZSAlcy4iCiAKLSM6IHNlcXVlbmNlci5jOjg4MCBzZXF1ZW5jZXIuYzoxMDE0CisjOiBzZXF1ZW5jZXIuYzo4OTEgc2VxdWVuY2VyLmM6MTAyNQogbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAiYXVjdW4gcGljb3JhZ2Ugb3UgcmV0b3VyIGVuIGNvdXJzIgogCi0jOiBzZXF1ZW5jZXIuYzo4ODIKKyM6IHNlcXVlbmNlci5jOjg5MwogbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCiBtc2dzdHIgImltcG9zc2libGUgZGUgcsOpc291ZHJlIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjg4NAorIzogc2VxdWVuY2VyLmM6ODk1CiBtc2dpZCAiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgImltcG9zc2libGUgZCdhYmFuZG9ubmVyIGRlcHVpcyB1bmUgYnJhbmNoZSBub24gZW5jb3JlIGNyw6nDqWUiCiAKLSM6IHNlcXVlbmNlci5jOjkwNiBidWlsdGluL2FwcGx5LmM6NDA2MAorIzogc2VxdWVuY2VyLmM6OTE3IGJ1aWx0aW4vYXBwbHkuYzo0MDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAlcyA6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo5MDkKKyM6IHNlcXVlbmNlci5jOjkyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAlczogJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSAlcyA6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo5MTAKKyM6IHNlcXVlbmNlci5jOjkyMQogbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgImZpbiBkZSBmaWNoaWVyIGluYXR0ZW5kdWUiCiAKLSM6IHNlcXVlbmNlci5jOjkxNgorIzogc2VxdWVuY2VyLmM6OTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKIG1zZ3N0ciAibGUgZmljaGllciBIRUFEIGRlIHByw6lwYXJhdGlvbiBkZSBwaWNvcmFnZSAnJXMnIGVzdCBjb3Jyb21wdSIKIAotIzogc2VxdWVuY2VyLmM6OTM5CisjOiBzZXF1ZW5jZXIuYzo5NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZvcm1hdCAlcy4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZm9ybWF0ZXIgJXMuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDgzCisjOiBzZXF1ZW5jZXIuYzoxMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgogbXNnc3RyICIlcyA6IGltcG9zc2libGUgZGUgcGljb3JlciB1biAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTA4NQorIzogc2VxdWVuY2VyLmM6MTA5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHJldmlzaW9uIgogbXNnc3RyICIlcyA6IG1hdXZhaXNlIHLDqXZpc2lvbiIKIAotIzogc2VxdWVuY2VyLmM6MTExOQorIzogc2VxdWVuY2VyLmM6MTEzMAogbXNnaWQgIkNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FubnVsZXIgZW4gdGFudCBxdWUgY29tbWl0IGluaXRpYWwiCiAKLSM6IHNlcXVlbmNlci5jOjExMjAKKyM6IHNlcXVlbmNlci5jOjExMzEKIG1zZ2lkICJDYW4ndCBjaGVycnktcGljayBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcGljb3JlciB2ZXJzIHVuZSBIRUFEIHZpZGUiCiAKLSM6IHNoYTFfbmFtZS5jOjEwMzYKKyM6IHNoYTFfbmFtZS5jOjQ0MAorbXNnaWQgIiIKKyJHaXQgbm9ybWFsbHkgbmV2ZXIgY3JlYXRlcyBhIHJlZiB0aGF0IGVuZHMgd2l0aCA0MCBoZXggY2hhcmFjdGVyc1xuIgorImJlY2F1c2UgaXQgd2lsbCBiZSBpZ25vcmVkIHdoZW4geW91IGp1c3Qgc3BlY2lmeSA0MC1oZXguIFRoZXNlIHJlZnNcbiIKKyJtYXkgYmUgY3JlYXRlZCBieSBtaXN0YWtlLiBGb3IgZXhhbXBsZSxcbiIKKyJcbiIKKyIgIGdpdCBjaGVja291dCAtYiAkYnIgJChnaXQgcmV2LXBhcnNlIC4uLilcbiIKKyJcbiIKKyJ3aGVyZSBcIiRiclwiIGlzIHNvbWVob3cgZW1wdHkgYW5kIGEgNDAtaGV4IHJlZiBpcyBjcmVhdGVkLiBQbGVhc2VcbiIKKyJleGFtaW5lIHRoZXNlIHJlZnMgYW5kIG1heWJlIGRlbGV0ZSB0aGVtLiBUdXJuIHRoaXMgbWVzc2FnZSBvZmYgYnlcbiIKKyJydW5uaW5nIFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIiIKK21zZ3N0ciAiIgorIkdpdCBuZSBjcsOpw6kgbm9ybWFsZW1lbnQgamFtYWlzIGRlIHLDqWbDqXJlbmNlIHF1aSBzZSB0ZXJtaW5lIHBhciA0MCBjYXJhY3TDqHJlcyAiCisiaGV4YVxuIgorImNhciBlbGxlIHNlcmFpdCBpZ25vcsOpZSBzaSB2b3VzIHNww6ljaWZpaWV6IDQwLWhleGEuIENlcyByw6lmw6lyZW5jZXNcbiIKKyJwZXV2ZW50IMOqdHJlIGNyw6nDqWVzIHBhciBlcnJldXIuIFBhciBleGVtcGxlLFxuIgorIlxuIgorIiAgZ2l0IGNoZWNrb3V0IC1iICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgorIlxuIgorIm/DuSBcIiRiclwiIGVzdCBkJ3VuZSBtYW5pw6hyZSBvdSBkJ3VuZSBhdXRyZSB2aWRlIGV0IHVuZSByw6lmw6lyZW5jZSA0MC1oZXhhICIKKyJlc3QgY3LDqcOpZS5cbiIKKyJWZXVpbGxleiBleGFtaW5lciBjZXMgcsOpZsOpcmVuY2VzIGV0IHBldXQtw6p0cmUgbGVzIHN1cHByaW1lci4gRMOpc2FjdGl2ZXogY2UgIgorIm1lc3NhZ2VcbiIKKyJlbiBsYW7Dp2FudCBcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlXCIiCisKKyM6IHNoYTFfbmFtZS5jOjExMTIKIG1zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgogbXNnc3RyICJIRUFEIG5lIHBvaW50ZSBwYXMgc3VyIHVuZSBicmFuY2hlIgogCi0jOiBzaGExX25hbWUuYzoxMDM5CisjOiBzaGExX25hbWUuYzoxMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggYnJhbmNoOiAnJXMnIgogbXNnc3RyICJCcmFuY2hlIGluY29ubnVlIDogJyVzJyIKIAotIzogc2hhMV9uYW1lLmM6MTA0MQorIzogc2hhMV9uYW1lLmM6MTExNwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiQXVjdW5lIGJyYW5jaGUgYW1vbnQgY29uZmlndXLDqWUgcG91ciBsYSBicmFuY2hlICclcyciCiAKLSM6IHNoYTFfbmFtZS5jOjEwNDQKKyM6IHNoYTFfbmFtZS5jOjExMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBzdHJlYW0gYnJhbmNoICclcycgbm90IHN0b3JlZCBhcyBhIHJlbW90ZS10cmFja2luZyBicmFuY2giCiBtc2dzdHIgIkxhIGJyYW5jaGUgYW1vbnQgJyVzJyBuJ2VzdCBwYXMgc3RvY2vDqWUgY29tbWUgYnJhbmNoZSBkZSBzdWl2aSIKIAotIzogd3JhcHBlci5jOjQwOAorIzogc3VibW9kdWxlLmM6NjQgc3VibW9kdWxlLmM6OTgKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHVubWVyZ2VkIC5naXRtb2R1bGVzLCByZXNvbHZlIG1lcmdlIGNvbmZsaWN0cyBmaXJzdCIKK21zZ3N0ciAiTW9kaWZpY2F0aW9uIGltcG9zc2libGUgZGUgLmdpdG1vZHVsZXMgbm9uIGZ1c2lvbm7DqSwgcsOpc29sdmV6IGxlcyBjb25mbGl0cyBkJ2Fib3JkIgorCisjOiBzdWJtb2R1bGUuYzo2OCBzdWJtb2R1bGUuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGZpbmQgc2VjdGlvbiBpbiAuZ2l0bW9kdWxlcyB3aGVyZSBwYXRoPSVzIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgdW5lIHNlY3Rpb24gb8O5IHBhdGg9JXMgZGFucyAuZ2l0bW9kdWxlcyIKKworIy4gTWF5YmUgdGhlIHVzZXIgYWxyZWFkeSBkaWQgdGhhdCwgZG9uJ3QgZXJyb3Igb3V0IGhlcmUKKyM6IHN1Ym1vZHVsZS5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgLmdpdG1vZHVsZXMgZW50cnkgJXMiCittc2dzdHIgIkltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbCfDqWzDqW1lbnQgJXMgZGUgLmdpdG1vZHVsZXMiCisKKyMgaWNpICVzIGVzdCB1biBjaGVtaW4KKyMuIE1heWJlIHRoZSB1c2VyIGFscmVhZHkgZGlkIHRoYXQsIGRvbid0IGVycm9yIG91dCBoZXJlCisjOiBzdWJtb2R1bGUuYzoxMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHJlbW92ZSAuZ2l0bW9kdWxlcyBlbnRyeSBmb3IgJXMiCittc2dzdHIgIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGwnw6lsw6ltZW50IGRlIC5naXRtb2R1bGVzIHBvdXIgJXMiCisKKyM6IHN1Ym1vZHVsZS5jOjEyNworbXNnaWQgImNvdWxkIG5vdCBmaW5kIC5naXRtb2R1bGVzIGluIGluZGV4IgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgLmdpdG1vZHVsZXMgZGFucyBsJ2luZGV4IgorCisjOiBzdWJtb2R1bGUuYzoxMzMKK21zZ2lkICJyZWFkaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgbGVjdHVyZSBkdSAuZ2l0bW9kdWxlcyBtaXMgw6Agam91ciIKKworIzogc3VibW9kdWxlLmM6MTM1Cittc2dpZCAidW5hYmxlIHRvIHN0YXQgdXBkYXRlZCAuZ2l0bW9kdWxlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIHN0YXQgZHUgLmdpdG1vZHVsZXMgbWlzIMOgIGpvdXIiCisKKyM6IHN1Ym1vZHVsZS5jOjEzOQorbXNnaWQgInVuYWJsZSB0byByZW1vdmUgLmdpdG1vZHVsZXMgZnJvbSBpbmRleCIKK21zZ3N0ciAic3VwcHJlc3Npb24gZHUgLmdpdG1vZHVsZXMgZGFucyBsJ2luZGV4IGltcG9zc2libGUiCisKKyM6IHN1Ym1vZHVsZS5jOjE0MQorbXNnaWQgImFkZGluZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGwnYWpvdXQgZHUgLmdpdG1vZHVsZXMgbWlzIMOgIGpvdXIiCisKKyM6IHN1Ym1vZHVsZS5jOjE0MworbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBtaXNlIGVuIGluZGV4IGR1IC5naXRtb2R1bGVzIG1pcyDDoCBqb3VyIgorCisjOiBzdWJtb2R1bGUuYzoxMTQ0IGJ1aWx0aW4vaW5pdC1kYi5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGdpdCBsaW5rICVzIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNyw6llciBsZSBsaWVuIGdpdCAlcyIKKworIzogc3VibW9kdWxlLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgc2V0IGNvcmUud29ya3RyZWUgaW4gJXMiCittc2dzdHIgIkltcG9zc2libGUgZGUgcGFyYW3DqXRyZXIgY29yZS53b3JrdHJlZSBkYW5zICVzIgorCisjOiB1cmxtYXRjaC5jOjEyMAorbXNnaWQgImludmFsaWQgVVJMIHNjaGVtZSBuYW1lIG9yIG1pc3NpbmcgJzovLycgc3VmZml4IgorbXNnc3RyICJub20gZGUgc2Now6ltYSBkJ1VSTCBpbnZhbGlkZSBvdSBzdWZmaXhlICc6Ly8nIG1hbnF1YW50IgorCisjOiB1cmxtYXRjaC5jOjE0NCB1cmxtYXRjaC5jOjI5NyB1cmxtYXRjaC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkICVYWCBlc2NhcGUgc2VxdWVuY2UiCittc2dzdHIgInPDqXF1ZW5jZSBkJ8OpY2hhcHBlbWVudCAlWFggaW52YWxpZGUiCisKKyM6IHVybG1hdGNoLmM6MTcyCittc2dpZCAibWlzc2luZyBob3N0IGFuZCBzY2hlbWUgaXMgbm90ICdmaWxlOiciCittc2dzdHIgImjDtHRlIG1hbnF1YW50IGV0IGxlIHNjaMOpbWEgbidlc3QgcGFzICdmaWxlOiciCisKKyM6IHVybG1hdGNoLmM6MTg5Cittc2dpZCAiYSAnZmlsZTonIFVSTCBtYXkgbm90IGhhdmUgYSBwb3J0IG51bWJlciIKK21zZ3N0ciAidW5lIFVSTCAnZmlsZTonIG5lIHBldXQgcGFzIGNvbnRlbmlyIGRlIG51bcOpcm8gZGUgcG9ydCIKKworIzogdXJsbWF0Y2guYzoxOTkKK21zZ2lkICJpbnZhbGlkIGNoYXJhY3RlcnMgaW4gaG9zdCBuYW1lIgorbXNnc3RyICJjYXJhY3TDqHJlcyBpbnZhbGlkZXMgZGFucyBsZSBub20gZCdow7R0ZSIKKworIzogdXJsbWF0Y2guYzoyNDQgdXJsbWF0Y2guYzoyNTUKK21zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIgorbXNnc3RyICJudW3DqXJvIGRlIHBvcnQgaW52YWxpZGUiCisKKyM6IHVybG1hdGNoLmM6MzIyCittc2dpZCAiaW52YWxpZCAnLi4nIHBhdGggc2VnbWVudCIKK21zZ3N0ciAic2VnbWVudCBkZSBjaGVtaW4gJy4uJyBpbnZhbGlkZSIKKworIzogd3JhcHBlci5jOjQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyc6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYWNjw6lkZXIgw6AgJyVzJyA6ICVzIgogCi0jOiB3cmFwcGVyLmM6NDIzCisjOiB3cmFwcGVyLmM6NDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FjY8OpZGVyIMOgICclcyciCiAKLSM6IHdyYXBwZXIuYzo0MzQKKyM6IHdyYXBwZXIuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGxvb2sgdXAgY3VycmVudCB1c2VyIGluIHRoZSBwYXNzd2QgZmlsZTogJXMiCi1tc2dzdHIgImltcG9zc2libGUgZGUgcmVjaGVyY2hlciBsJ3V0aWxpc2F0ZXVyIGFjdHVlbCBkYW5zIGxlIGZpY2hpZXIgZGUgbW90cyBkZSBwYXNzZSA6ICVzIgorbXNnc3RyICIiCisiaW1wb3NzaWJsZSBkZSByZWNoZXJjaGVyIGwndXRpbGlzYXRldXIgYWN0dWVsIGRhbnMgbGUgZmljaGllciBkZSBtb3RzIGRlICIKKyJwYXNzZSA6ICVzIgogCi0jOiB3cmFwcGVyLmM6NDM1CisjOiB3cmFwcGVyLmM6NDU1CiBtc2dpZCAibm8gc3VjaCB1c2VyIgogbXNnc3RyICJ1dGlsaXNhdGV1ciBpbmNvbm51IgogCi0jOiB3dC1zdGF0dXMuYzoxNDAKKyM6IHd0LXN0YXR1cy5jOjE0NgogbXNnaWQgIlVubWVyZ2VkIHBhdGhzOiIKIG1zZ3N0ciAiQ2hlbWlucyBub24gZnVzaW9ubsOpcyA6IgogCi0jOiB3dC1zdGF0dXMuYzoxNjcgd3Qtc3RhdHVzLmM6MTk0CisjOiB3dC1zdGF0dXMuYzoxNzMgd3Qtc3RhdHVzLmM6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCByZXNldCAlcyA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgcmVzZXQgJXMgPGZpY2hpZXI+Li4uXCIgcG91ciBkw6lzaW5kZXhlcikiCiAKLSM6IHd0LXN0YXR1cy5jOjE2OSB3dC1zdGF0dXMuYzoxOTYKKyM6IHd0LXN0YXR1cy5jOjE3NSB3dC1zdGF0dXMuYzoyMDIKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWNoaWVyPi4uLlwiIHBvdXIgZMOpc2luZGV4ZXIpIgogCi0jOiB3dC1zdGF0dXMuYzoxNzMKKyM6IHd0LXN0YXR1cy5jOjE3OQogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgYWRkIDxmaWNoaWVyPi4uLlwiIHBvdXIgbWFycXVlciBjb21tZSByw6lzb2x1KSIKIAotIzogd3Qtc3RhdHVzLmM6MTc1IHd0LXN0YXR1cy5jOjE3OQorIzogd3Qtc3RhdHVzLmM6MTgxIHd0LXN0YXR1cy5jOjE4NQogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKSIKLW1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgYWRkL3JtIDxmaWNoaWVyPi4uLlwiIHNpIG7DqWNlc3NhaXJlIHBvdXIgbWFycXVlciBjb21tZSByw6lzb2x1KSIKK21zZ3N0ciAiIgorIiAgKHV0aWxpc2V6IFwiZ2l0IGFkZC9ybSA8ZmljaGllcj4uLi5cIiBzaSBuw6ljZXNzYWlyZSBwb3VyIG1hcnF1ZXIgY29tbWUgIgorInLDqXNvbHUpIgogCi0jOiB3dC1zdGF0dXMuYzoxNzcKKyM6IHd0LXN0YXR1cy5jOjE4MwogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBybSA8ZmljaGllcj4uLi5cIiBwb3VyIG1hcnF1ZXIgY29tbWUgcsOpc29sdSkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4OAorIzogd3Qtc3RhdHVzLmM6MTk0CiBtc2dpZCAiQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgogbXNnc3RyICJNb2RpZmljYXRpb25zIHF1aSBzZXJvbnQgdmFsaWTDqWVzIDoiCiAKLSM6IHd0LXN0YXR1cy5jOjIwNgorIzogd3Qtc3RhdHVzLmM6MjEyCiBtc2dpZCAiQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6IgogbXNnc3RyICJNb2RpZmljYXRpb25zIHF1aSBuZSBzZXJvbnQgcGFzIHZhbGlkw6llcyA6IgogCi0jOiB3dC1zdGF0dXMuYzoyMTAKKyM6IHd0LXN0YXR1cy5jOjIxNgogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgotbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBhZGQgPGZpY2hpZXI+Li4uXCIgcG91ciBtZXR0cmUgw6Agam91ciBjZSBxdWkgc2VyYSB2YWxpZMOpKSIKK21zZ3N0ciAiIgorIiAgKHV0aWxpc2V6IFwiZ2l0IGFkZCA8ZmljaGllcj4uLi5cIiBwb3VyIG1ldHRyZSDDoCBqb3VyIGNlIHF1aSBzZXJhIHZhbGlkw6kpIgogCi0jOiB3dC1zdGF0dXMuYzoyMTIKKyM6IHd0LXN0YXR1cy5jOjIxOAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgotbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBhZGQvcm0gPGZpY2hpZXI+Li4uXCIgcG91ciBtZXR0cmUgw6Agam91ciBjZSBxdWkgc2VyYSB2YWxpZMOpKSIKK21zZ3N0ciAiIgorIiAgKHV0aWxpc2V6IFwiZ2l0IGFkZC9ybSA8ZmljaGllcj4uLi5cIiBwb3VyIG1ldHRyZSDDoCBqb3VyIGNlIHF1aSBzZXJhICIKKyJ2YWxpZMOpKSIKIAotIzogd3Qtc3RhdHVzLmM6MjEzCisjOiB3dC1zdGF0dXMuYzoyMTkKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCi1tc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWNoaWVyPi4uLlwiIHBvdXIgYW5udWxlciBsZXMgbW9kaWZpY2F0aW9ucyBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwpIgorbXNnc3RyICIiCisiICAodXRpbGlzZXogXCJnaXQgY2hlY2tvdXQgLS0gPGZpY2hpZXI+Li4uXCIgcG91ciBhbm51bGVyIGxlcyBtb2RpZmljYXRpb25zICIKKyJkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwpIgogCi0jOiB3dC1zdGF0dXMuYzoyMTUKKyM6IHd0LXN0YXR1cy5jOjIyMQogbXNnaWQgIiAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKSIKLW1zZ3N0ciAiICAodmFsaWRlciBvdSBhbm51bGVyIGxlIGNvbnRlbnUgbm9uIHN1aXZpIG91IG1vZGlmacOpIGRhbnMgbGVzIHNvdXMtbW9kdWxlcykiCittc2dzdHIgIiIKKyIgICh2YWxpZGVyIG91IGFubnVsZXIgbGUgY29udGVudSBub24gc3Vpdmkgb3UgbW9kaWZpw6kgZGFucyBsZXMgc291cy1tb2R1bGVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MjI3CisjOiB3dC1zdGF0dXMuYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCi1tc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0ICVzIDxmaWNoaWVyPi4uLlwiIHBvdXIgaW5jbHVyZSBkYW5zIGNlIHF1aSBzZXJhIHZhbGlkw6kpIgorbXNnc3RyICIiCisiICAodXRpbGlzZXogXCJnaXQgJXMgPGZpY2hpZXI+Li4uXCIgcG91ciBpbmNsdXJlIGRhbnMgY2UgcXVpIHNlcmEgdmFsaWTDqSkiCiAKLSM6IHd0LXN0YXR1cy5jOjI0NAorIzogd3Qtc3RhdHVzLmM6MjUwCiBtc2dpZCAiYnVnIgogbXNnc3RyICJib2d1ZSIKIAotIzogd3Qtc3RhdHVzLmM6MjQ5CisjOiB3dC1zdGF0dXMuYzoyNTUKIG1zZ2lkICJib3RoIGRlbGV0ZWQ6IgogbXNnc3RyICJzdXBwcmltw6kgZGVzIGRldXggY8O0dMOpcyA6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTAKKyM6IHd0LXN0YXR1cy5jOjI1NgogbXNnaWQgImFkZGVkIGJ5IHVzOiIKIG1zZ3N0ciAiYWpvdXTDqSBwYXIgbm91cyA6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTEKKyM6IHd0LXN0YXR1cy5jOjI1NwogbXNnaWQgImRlbGV0ZWQgYnkgdGhlbToiCiBtc2dzdHIgInN1cHByaW3DqSBwYXIgZXV4IDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MgorIzogd3Qtc3RhdHVzLmM6MjU4CiBtc2dpZCAiYWRkZWQgYnkgdGhlbToiCiBtc2dzdHIgImFqb3V0w6kgcGFyIGV1eCA6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTMKKyM6IHd0LXN0YXR1cy5jOjI1OQogbXNnaWQgImRlbGV0ZWQgYnkgdXM6IgogbXNnc3RyICJzdXBwcmltw6kgcGFyIG5vdXMgOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU0CisjOiB3dC1zdGF0dXMuYzoyNjAKIG1zZ2lkICJib3RoIGFkZGVkOiIKIG1zZ3N0ciAiYWpvdXTDqSBkZSBkZXV4IGPDtHTDqXMgOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU1CisjOiB3dC1zdGF0dXMuYzoyNjEKIG1zZ2lkICJib3RoIG1vZGlmaWVkOiIKIG1zZ3N0ciAibW9kaWZpw6kgZGVzIGRldXggY8O0dMOpcyA6IgogCi0jOiB3dC1zdGF0dXMuYzoyODUKKyM6IHd0LXN0YXR1cy5jOjI5MQogbXNnaWQgIm5ldyBjb21taXRzLCAiCiBtc2dzdHIgIm5vdXZlYXV4IGNvbW1pdHMsICIKIAotIzogd3Qtc3RhdHVzLmM6Mjg3CisjOiB3dC1zdGF0dXMuYzoyOTMKIG1zZ2lkICJtb2RpZmllZCBjb250ZW50LCAiCiBtc2dzdHIgImNvbnRlbnUgbW9kaWZpw6ksICIKIAotIzogd3Qtc3RhdHVzLmM6Mjg5CisjOiB3dC1zdGF0dXMuYzoyOTUKIG1zZ2lkICJ1bnRyYWNrZWQgY29udGVudCwgIgogbXNnc3RyICJjb250ZW51IG5vbiBzdWl2aSwgIgogCi0jOiB3dC1zdGF0dXMuYzozMDYKKyM6IHd0LXN0YXR1cy5jOjMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgZmlsZTogICAlcyIKIG1zZ3N0ciAibm91dmVhdSA6ICAgJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjMwOQorIzogd3Qtc3RhdHVzLmM6MzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcGllZDogICAgICVzIC0+ICVzIgogbXNnc3RyICJjb3Bpw6kgOiAgICAgJXMgLT4gJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjMxMgorIzogd3Qtc3RhdHVzLmM6MzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0ZWQ6ICAgICVzIgogbXNnc3RyICJzdXBwcmltw6kgOiAgJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjMxNQorIzogd3Qtc3RhdHVzLmM6MzIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vZGlmaWVkOiAgICVzIgogbXNnc3RyICJtb2RpZmnDqSA6ICAgJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjMxOAorIzogd3Qtc3RhdHVzLmM6MzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtZWQ6ICAgICVzIC0+ICVzIgogbXNnc3RyICJyZW5vbW3DqSA6ICAgJXMgLT4gJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjMyMQorIzogd3Qtc3RhdHVzLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInR5cGVjaGFuZ2U6ICVzIgogbXNnc3RyICJudiB0eXBlIDogICAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MzI0CisjOiB3dC1zdGF0dXMuYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93bjogICAgJXMiCiBtc2dzdHIgImluY29ubnUgOiAgICVzIgogCi0jOiB3dC1zdGF0dXMuYzozMjcKKyM6IHd0LXN0YXR1cy5jOjMzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bm1lcmdlZDogICAlcyIKIG1zZ3N0ciAibm9uIGZ1cy4gOiAgJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjMzMAorIzogd3Qtc3RhdHVzLmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJ1ZzogdW5oYW5kbGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICJib2d1ZSA6IMOpdGF0IGRlIGRpZmYgbm9uIGfDqXLDqSAlYyIKIAotIzogd3Qtc3RhdHVzLmM6ODAzCisjOiB3dC1zdGF0dXMuYzo3MDMKK21zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKK21zZ3N0ciAiU291cy1tb2R1bGVzIG1vZGlmacOpcyBtYWlzIG5vbiBtaXMgw6Agam91ciA6IgorCisjOiB3dC1zdGF0dXMuYzo3MDUKK21zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgorbXNnc3RyICJDaGFuZ2VtZW50cyBkdSBzb3VzLW1vZHVsZSDDoCB2YWxpZGVyIDoiCisKKyM6IHd0LXN0YXR1cy5jOjg0OAogbXNnaWQgIllvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLiIKIG1zZ3N0ciAiVm91cyBhdmV6IGRlcyBjaGVtaW5zIG5vbiBmdXNpb25uw6lzLiIKIAotIzogd3Qtc3RhdHVzLmM6ODA2IHd0LXN0YXR1cy5jOjk1OAorIzogd3Qtc3RhdHVzLmM6ODUxCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKLW1zZ3N0ciAiICAocsOpZ2xleiBsZXMgY29uZmxpdHMgZXQgbGFuY2V6IFwiZ2l0IGNvbW1pdFwiKSIKK21zZ3N0ciAiICAocsOpZ2xleiBsZXMgY29uZmxpdHMgcHVpcyBsYW5jZXogXCJnaXQgY29tbWl0XCIpIgogCi0jOiB3dC1zdGF0dXMuYzo4MDkKKyM6IHd0LXN0YXR1cy5jOjg1NAogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgIlRvdXMgbGVzIGNvbmZsaXRzIHNvbnQgcsOpZ2zDqXMgbWFpcyBsYSBmdXNpb24gbidlc3QgcGFzIHRlcm1pbsOpZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjgxMgorIzogd3Qtc3RhdHVzLmM6ODU3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgY29tbWl0XCIgcG91ciB0ZXJtaW5lciBsYSBmdXNpb24pIgogCi0jOiB3dC1zdGF0dXMuYzo4MjIKKyM6IHd0LXN0YXR1cy5jOjg2NwogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLiIKIG1zZ3N0ciAiVm91cyDDqnRlcyBhdSBtaWxpZXUgZCd1bmUgc2Vzc2lvbiBhbS4iCiAKLSM6IHd0LXN0YXR1cy5jOjgyNQorIzogd3Qtc3RhdHVzLmM6ODcwCiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICJMZSBwYXRjaCBhY3R1ZWwgZXN0IHZpZGUuIgogCi0jOiB3dC1zdGF0dXMuYzo4MjkKLW1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLXJlc29sdmVkXCIpIgotbXNnc3RyICIgIChyw6lnbGV6IGxlcyBjb25mbGl0cyBwdWlzIGxhbmNleiBcImdpdCBhbSAtLXJlc29sdmVkXCIpIgorIzogd3Qtc3RhdHVzLmM6ODc0Cittc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiICAocsOpZ2xleiBsZXMgY29uZmxpdHMgcHVpcyBsYW5jZXogXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6ODMxCisjOiB3dC1zdGF0dXMuYzo4NzYKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgYW0gLS1za2lwXCIgcG91ciBzYXV0ZXIgY2UgcGF0Y2gpIgogCi0jOiB3dC1zdGF0dXMuYzo4MzMKKyM6IHd0LXN0YXR1cy5jOjg3OAogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgYW0gLS1hYm9ydFwiIHBvdXIgcmVzdGF1cmVyIGxhIGJyYW5jaGUgZCdvcmlnaW5lKSIKIAotIzogd3Qtc3RhdHVzLmM6ODkzIHd0LXN0YXR1cy5jOjkxMAorIzogd3Qtc3RhdHVzLmM6OTM4IHd0LXN0YXR1cy5jOjk1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiVm91cyDDqnRlcyBlbiB0cmFpbiBkZSByZWJhc2VyIGxhIGJyYW5jaGUgJyVzJyBzdXIgJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjg5OCB3dC1zdGF0dXMuYzo5MTUKKyM6IHd0LXN0YXR1cy5jOjk0MyB3dC1zdGF0dXMuYzo5NjAKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgZW4gdHJhaW4gZGUgcmViYXNlci4iCiAKLSM6IHd0LXN0YXR1cy5jOjkwMQorIzogd3Qtc3RhdHVzLmM6OTQ2CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCi1tc2dzdHIgIiAgKHLDqXNvbHZleiBsZXMgY29uZmxpdHMgcHVpcyBsYW5jZXogXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCittc2dzdHIgIiAgKHLDqWdsZXogbGVzIGNvbmZsaXRzIHB1aXMgbGFuY2V6IFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5MDMKKyM6IHd0LXN0YXR1cy5jOjk0OAogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgcmViYXNlIC0tc2tpcFwiIHBvdXIgc2F1dGVyIGNlIHBhdGNoKSIKIAotIzogd3Qtc3RhdHVzLmM6OTA1CisjOiB3dC1zdGF0dXMuYzo5NTAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiB0byBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgcG91ciBleHRyYWlyZSBsYSBicmFuY2hlIGQnb3JpZ2luZSkiCiAKLSM6IHd0LXN0YXR1cy5jOjkxOAorIzogd3Qtc3RhdHVzLmM6OTYzCiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgotbXNnc3RyICIgICh0b3VzIGxlcyBjb25mbGl0cyBzb250IHLDqXNvbHVzIDogbGFuY2V6IFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgorbXNnc3RyICIgICh0b3VzIGxlcyBjb25mbGl0cyBzb250IHLDqWdsw6lzIDogbGFuY2V6IFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5MjIKKyM6IHd0LXN0YXR1cy5jOjk2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgotbXNnc3RyICJWb3VzIMOqdGVzIGFjdHVlbGxlbWVudCBlbiB0cmFpbiBkZSBmcmFjdGlvbm5lciB1biBjb21taXQgcGVuZGFudCB1biByZWJhc2FnZSBkZSBsYSBicmFuY2hlICclcycgc3VyICclcycuIgorbXNnc3RyICIiCisiVm91cyDDqnRlcyBhY3R1ZWxsZW1lbnQgZW4gdHJhaW4gZGUgZnJhY3Rpb25uZXIgdW4gY29tbWl0IHBlbmRhbnQgdW4gcmViYXNhZ2UgIgorImRlIGxhIGJyYW5jaGUgJyVzJyBzdXIgJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjkyNworIzogd3Qtc3RhdHVzLmM6OTcyCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCi1tc2dzdHIgIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGRlIGZyYWN0aW9ubmVyIHVuIGNvbW1pdCBwZW5kYW50IHVuIHJlYmFzYWdlLiIKK21zZ3N0ciAiIgorIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGRlIGZyYWN0aW9ubmVyIHVuIGNvbW1pdCBwZW5kYW50IHVuIHJlYmFzYWdlLiIKIAotIzogd3Qtc3RhdHVzLmM6OTMwCisjOiB3dC1zdGF0dXMuYzo5NzUKIG1zZ2lkICIgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKLW1zZ3N0ciAiICAoVW5lIGZvaXMgbGEgY29waWUgZGUgdHJhdmFpbCBuZXR0b3nDqWUsIGxhbmNleiBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiIgorIiAgKFVuZSBmb2lzIGxhIGNvcGllIGRlIHRyYXZhaWwgbmV0dG95w6llLCBsYW5jZXogXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjkzNAorIzogd3Qtc3RhdHVzLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCi1tc2dzdHIgIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGQnw6lkaXRlciB1biBjb21taXQgcGVuZGFudCB1biByZWJhc2FnZSBkZSBsYSBicmFuY2hlICclcycgc3VyICclcycuIgorbXNnc3RyICIiCisiVm91cyDDqnRlcyBhY3R1ZWxsZW1lbnQgZW4gdHJhaW4gZCfDqWRpdGVyIHVuIGNvbW1pdCBwZW5kYW50IHVuIHJlYmFzYWdlIGRlIGxhICIKKyJicmFuY2hlICclcycgc3VyICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzo5MzkKKyM6IHd0LXN0YXR1cy5jOjk4NAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKLW1zZ3N0ciAiVm91cyDDqnRlcyBhY3R1ZWxsZW1lbnQgZW4gdHJhaW4gZCfDqWRpdGVyIHVuIGNvbW1pdCBwZW5kYW50IHVuIHJlYmFzYWdlLiIKK21zZ3N0ciAiIgorIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGQnw6lkaXRlciB1biBjb21taXQgcGVuZGFudCB1biByZWJhc2FnZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjk0MgorIzogd3Qtc3RhdHVzLmM6OTg3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgY29tbWl0IC0tYW1lbmRcIiBwb3VyIGNvcnJpZ2VyIGxlIGNvbW1pdCBhY3R1ZWwpIgogCi0jOiB3dC1zdGF0dXMuYzo5NDQKKyM6IHd0LXN0YXR1cy5jOjk4OQogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKSIKLW1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBxdWFuZCB2b3VzIMOqdGVzIHNhdGlzZmFpdCBkZSB2b3MgbW9kaWZpY2F0aW9ucykiCittc2dzdHIgIiIKKyIgICh1dGlsaXNleiBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIHF1YW5kIHZvdXMgw6p0ZXMgc2F0aXNmYWl0IGRlIHZvcyAiCisibW9kaWZpY2F0aW9ucykiCiAKLSM6IHd0LXN0YXR1cy5jOjk1NAotbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nLiIKLW1zZ3N0ciAiVm91cyDDqnRlcyBhY3R1ZWxsZW1lbnQgZW4gdHJhaW4gZGUgcGljb3Jlci4iCisjOiB3dC1zdGF0dXMuYzo5OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICVzLiIKK21zZ3N0ciAiVm91cyDDqnRlcyBhY3R1ZWxsZW1lbnQgZW4gdHJhaW4gZGUgcGljb3JlciBsZSBjb21taXQgJXMuIgogCi0jOiB3dC1zdGF0dXMuYzo5NjEKLW1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY29tbWl0XCIpIgotbXNnc3RyICIgICh0b3VzIGxlcyBjb25mbGl0cyBzb250IHLDqXNvbHVzIDogbGFuY2V6IFwiZ2l0IGNvbW1pdFwiKSIKKyM6IHd0LXN0YXR1cy5jOjEwMDQKK21zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiICAocsOpZ2xleiBsZXMgY29uZmxpdHMgcHVpcyBsYW5jZXogXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6OTcwCisjOiB3dC1zdGF0dXMuYzoxMDA3Cittc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCittc2dzdHIgIiIKKyIgICh0b3VzIGxlcyBjb25mbGl0cyBzb250IHLDqWdsw6lzIDogbGFuY2V6IFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCisKKyM6IHd0LXN0YXR1cy5jOjEwMDkKK21zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIKK21zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHBvdXIgYW5udWxlciBsZSBwaWNvcmFnZSkiCisKKyM6IHd0LXN0YXR1cy5jOjEwMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGRlIHLDqXRhYmxpciBsZSBjb21taXQgJXMuIgogCi0jOiB3dC1zdGF0dXMuYzo5NzUKKyM6IHd0LXN0YXR1cy5jOjEwMjMKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCi1tc2dzdHIgIiAgKHLDqXNvbHZleiBsZXMgY29uZmxpdHMgZXQgbGFuY2V6IFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgorbXNnc3RyICIgIChyw6lnbGV6IGxlcyBjb25mbGl0cyBwdWlzIGxhbmNleiBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6OTc4CisjOiB3dC1zdGF0dXMuYzoxMDI2CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgotbXNnc3RyICIgICh0b3VzIGxlcyBjb25mbGl0cyBzb250IHLDqXNvbHVzIDogbGFuY2V6IFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgorbXNnc3RyICIgICh0b3VzIGxlcyBjb25mbGl0cyBzb250IHLDqWdsw6lzIDogbGFuY2V6IFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5ODAKKyM6IHd0LXN0YXR1cy5jOjEwMjgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHBvdXIgYW5udWxlciBsZSByw6l0YWJsaXNzZW1lbnQpIgogCi0jOiB3dC1zdGF0dXMuYzo5OTEKKyM6IHd0LXN0YXR1cy5jOjEwMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLCBzdGFydGVkIGZyb20gYnJhbmNoICclcycuIgogbXNnc3RyICJWb3VzIMOqdGVzIGVuIGNvdXJzIGRlIGJpc3NlY3Rpb24sIGRlcHVpcyBsYSBicmFuY2hlICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzo5OTUKKyM6IHd0LXN0YXR1cy5jOjEwNDMKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcuIgogbXNnc3RyICJWb3VzIMOqdGVzIGVuIGNvdXJzIGRlIGJpc3NlY3Rpb24uIgogCi0jOiB3dC1zdGF0dXMuYzo5OTgKKyM6IHd0LXN0YXR1cy5jOjEwNDYKIG1zZ2lkICIgICh1c2UgXCJnaXQgYmlzZWN0IHJlc2V0XCIgdG8gZ2V0IGJhY2sgdG8gdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IGJpc2VjdCByZXNldFwiIHBvdXIgcmV2ZW5pciDDoCBsYSBicmFuY2hlIGQnb3JpZ2luZSkiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzMKKyM6IHd0LXN0YXR1cy5jOjEyMjEKIG1zZ2lkICJPbiBicmFuY2ggIgogbXNnc3RyICJTdXIgbGEgYnJhbmNoZSAiCiAKLSM6IHd0LXN0YXR1cy5jOjExODQKKyM6IHd0LXN0YXR1cy5jOjEyMjgKK21zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgorbXNnc3RyICJyZWJhc2FnZSBlbiBjb3VycyA7IHN1ciAiCisKKyM6IHd0LXN0YXR1cy5jOjEyMzUKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKIG1zZ3N0ciAiSEVBRCBkw6l0YWNow6llIHN1ciAiCiAKLSM6IHd0LXN0YXR1cy5jOjExODYKKyM6IHd0LXN0YXR1cy5jOjEyMzcKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgogbXNnc3RyICJIRUFEIGTDqXRhY2jDqWUgZGVwdWlzICIKIAotIzogd3Qtc3RhdHVzLmM6MTE4OQorIzogd3Qtc3RhdHVzLmM6MTI0MAogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIkFjdHVlbGxlbWVudCBzdXIgYXVjdW4gYnJhbmNoZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDYKKyM6IHd0LXN0YXR1cy5jOjEyNTcKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAiVmFsaWRhdGlvbiBpbml0aWFsZSIKIAotIzogd3Qtc3RhdHVzLmM6MTIyMAorIzogd3Qtc3RhdHVzLmM6MTI3MQogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiRmljaGllcnMgbm9uIHN1aXZpcyIKIAotIzogd3Qtc3RhdHVzLmM6MTIyMgorIzogd3Qtc3RhdHVzLmM6MTI3MwogbXNnaWQgIklnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIkZpY2hpZXJzIGlnbm9yw6lzIgogCi0jOiB3dC1zdGF0dXMuYzoxMjI2CisjOiB3dC1zdGF0dXMuYzoxMjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCiAibWF5IHNwZWVkIGl0IHVwLCBidXQgeW91IGhhdmUgdG8gYmUgY2FyZWZ1bCBub3QgdG8gZm9yZ2V0IHRvIGFkZFxuIgogIm5ldyBmaWxlcyB5b3Vyc2VsZiAoc2VlICdnaXQgaGVscCBzdGF0dXMnKS4iCi1tc2dzdHIgIkwnw6ludW3DqXJhdGlvbiBkZXMgZmljaGllcnMgbm9uIHN1aXZpcyBhIGR1csOpICUuMmYgc2Vjb25kZXMuICdzdGF0dXMgLXVubydcbiIKLSJwZXV0IGwnYWNjw6lsZXJlciwgbWFpcyB2b3VzIGRldmV6IGFsb3JzIGZhaXJlIGF0dGVudGlvbiDDoCBuZSBwYXNcbiIKLSJvdWJsaWVyIGQnYWpvdXRlciBsZXMgbm91dmVhdXggZmljaGllcnMgcGFyIHZvdXMtbcOqbWUgKHZvaXIgJ2dpdCBoZWxwIHN0YXR1cycpLiIKK21zZ3N0ciAiIgorIkwnw6ludW3DqXJhdGlvbiBkZXMgZmljaGllcnMgbm9uIHN1aXZpcyBhIGR1csOpICUuMmYgc2Vjb25kZXMuICdzdGF0dXMgLXVubydcbiIKKyJwZXV0IGwnYWNjw6lsw6lyZXIsIG1haXMgdm91cyBkZXZleiBhbG9ycyBmYWlyZSBhdHRlbnRpb24gw6AgbmUgcGFzXG4iCisib3VibGllciBkJ2Fqb3V0ZXIgbGVzIG5vdXZlYXV4IGZpY2hpZXJzIHBhciB2b3VzLW3Dqm1lICh2b2lyICdnaXQgaGVscCAiCisic3RhdHVzJykuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjMyCisjOiB3dC1zdGF0dXMuYzoxMjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkJXMiCi1tc2dzdHIgIkZpY2hpZXJzIG5vbiBzdWl2aXMgbm9uIGxpc3TDqXMlcyIKK21zZ3N0ciAiRmljaGllcnMgbm9uIHN1aXZpcyBub24gYWZmaWNow6lzJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMzQKKyM6IHd0LXN0YXR1cy5jOjEyODUKIG1zZ2lkICIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIgogbXNnc3RyICIgKHV0aWxpc2V6IC11IHBvdXIgYWZmaWNoZXIgbGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQwCisjOiB3dC1zdGF0dXMuYzoxMjkxCiBtc2dpZCAiTm8gY2hhbmdlcyIKIG1zZ3N0ciAiQXVjdW5lIG1vZGlmaWNhdGlvbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI0NQorIzogd3Qtc3RhdHVzLmM6MTI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKLW1zZ3N0ciAiYXVjdW5lIG1vZGlmaWNhdGlvbiBuJ2Egw6l0w6kgYWpvdXTDqWUgw6AgbGEgdmFsaWRhdGlvbiAodXRpbGlzZXogXCJnaXQgYWRkXCIgb3UgXCJnaXQgY29tbWl0IC1hXCIpXG4iCittc2dzdHIgIiIKKyJhdWN1bmUgbW9kaWZpY2F0aW9uIG4nYSDDqXTDqSBham91dMOpZSDDoCBsYSB2YWxpZGF0aW9uICh1dGlsaXNleiBcImdpdCBhZGRcIiBvdSAiCisiXCJnaXQgY29tbWl0IC1hXCIpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDgKKyM6IHd0LXN0YXR1cy5jOjEyOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXRcbiIKIG1zZ3N0ciAiYXVjdW5lIG1vZGlmaWNhdGlvbiBham91dMOpZSDDoCBsYSB2YWxpZGF0aW9uXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTEKKyM6IHd0LXN0YXR1cy5jOjEzMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKICJ0cmFjaylcbiIKLW1zZ3N0ciAiYXVjdW5lIG1vZGlmaWNhdGlvbiBham91dMOpZSDDoCBsYSB2YWxpZGF0aW9uIG1haXMgZGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMgc29udCBwcsOpc2VudHMgKHV0aWxpc2V6IFwiZ2l0IGFkZFwiIHBvdXIgbGVzIHN1aXZyZSlcbiIKK21zZ3N0ciAiIgorImF1Y3VuZSBtb2RpZmljYXRpb24gYWpvdXTDqWUgw6AgbGEgdmFsaWRhdGlvbiBtYWlzIGRlcyBmaWNoaWVycyBub24gc3VpdmlzICIKKyJzb250IHByw6lzZW50cyAodXRpbGlzZXogXCJnaXQgYWRkXCIgcG91ciBsZXMgc3VpdnJlKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjU0CisjOiB3dC1zdGF0dXMuYzoxMzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgotbXNnc3RyICJhdWN1bmUgbW9kaWZpY2F0aW9uIGFqb3V0w6llIMOgIGxhIHZhbGlkYXRpb24gbWFpcyBkZXMgZmljaGllcnMgbm9uIHN1aXZpcyBzb250IHByw6lzZW50c1xuIgorbXNnc3RyICIiCisiYXVjdW5lIG1vZGlmaWNhdGlvbiBham91dMOpZSDDoCBsYSB2YWxpZGF0aW9uIG1haXMgZGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMgIgorInNvbnQgcHLDqXNlbnRzXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTcKKyM6IHd0LXN0YXR1cy5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCi1tc2dzdHIgInJpZW4gw6AgdmFsaWRlciAoY3LDqWV6L2NvcGlleiBkZXMgZmljaGllcnMgZXQgdXRpbGlzZXogXCJnaXQgYWRkXCIgcG91ciBsZXMgc3VpdnJlKVxuIgorbXNnc3RyICIiCisicmllbiDDoCB2YWxpZGVyIChjcsOpZXovY29waWV6IGRlcyBmaWNoaWVycyBldCB1dGlsaXNleiBcImdpdCBhZGRcIiBwb3VyIGxlcyAiCisic3VpdnJlKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYwIHd0LXN0YXR1cy5jOjEyNjUKKyM6IHd0LXN0YXR1cy5jOjEzMTEgd3Qtc3RhdHVzLmM6MTMxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICJyaWVuIMOgIHZhbGlkZXJcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MworIzogd3Qtc3RhdHVzLmM6MTMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKVxuIgogbXNnc3RyICJyaWVuIMOgIHZhbGlkZXIgKHV0aWxpc2V6IC11IHBvdXIgYWZmaWNoZXIgbGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjcKKyM6IHd0LXN0YXR1cy5jOjEzMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgZGlyZWN0b3J5IGNsZWFuXG4iCiBtc2dzdHIgInJpZW4gw6AgdmFsaWRlciwgbGEgY29waWUgZGUgdHJhdmFpbCBlc3QgcHJvcHJlXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNzUKKyM6IHd0LXN0YXR1cy5jOjE0MjcKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFEIChhdWN1bmUgYnJhbmNoZSkiCiAKLSM6IHd0LXN0YXR1cy5jOjEzODEKKyM6IHd0LXN0YXR1cy5jOjE0MzMKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCiBtc2dzdHIgIlZhbGlkYXRpb24gaW5pdGlhbGUgc3VyICIKIAotIzogd3Qtc3RhdHVzLmM6MTM5NgorIyDDoCBwcmlvcmkgb24gcGFybGUgZCd1bmUgYnJhbmNoZSBpY2kKKyM6IHd0LXN0YXR1cy5jOjE0NjMKK21zZ2lkICJnb25lIgorbXNnc3RyICJkaXNwYXJ1ZSIKKworIzogd3Qtc3RhdHVzLmM6MTQ2NQogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgImRlcnJpw6hyZSAiCiAKLSM6IHd0LXN0YXR1cy5jOjEzOTkgd3Qtc3RhdHVzLmM6MTQwMgorIzogd3Qtc3RhdHVzLmM6MTQ2OCB3dC1zdGF0dXMuYzoxNDcxCiBtc2dpZCAiYWhlYWQgIgogbXNnc3RyICJkZXZhbnQgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDA0CisjOiB3dC1zdGF0dXMuYzoxNDczCiBtc2dpZCAiLCBiZWhpbmQgIgogbXNnc3RyICIsIGRlcnJpw6hyZSAiCiAKLSM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1OCBidWlsdGluL2Nsb25lLmM6MzUyCisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTUgYnVpbHRpbi9jbG9uZS5jOjM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCi1tc2dzdHIgImVjaGVjIGxvcnMgZGUgbCd1bmxpbmsgZGUgJyVzJyIKK21zZ3N0ciAiw6ljaGVjIGxvcnMgZGUgbCd1bmxpbmsgZGUgJyVzJyIKIAogIzogYnVpbHRpbi9hZGQuYzoyMAogbXNnaWQgImdpdCBhZGQgW29wdGlvbnNdIFstLV0gPHBhdGhzcGVjPi4uLiIKQEAgLTE2NDcsNyArMTk3Niw4IEBACiAiZGlyZWN0b3J5LlxuIgogbXNnc3RyICIiCiAiTGUgY29tcG9ydGVtZW50IGRlICdnaXQgYWRkICVzIChvdSAlcyknIHNhbnMgYXJndW1lbnQgZGUgY2hlbWluIGRlcHVpcyB1blxuIgotInNvdXMtcsOpcGVydG9pcmUgZHUgcHJvamV0IHZhIGNoYW5nZXIgZGFucyBHaXQgMi4wIGV0IG5lIGRvaXQgcGx1cyDDqnRyZSB1dGlsaXPDqS5cbiIKKyJzb3VzLXLDqXBlcnRvaXJlIGR1IHByb2pldCB2YSBjaGFuZ2VyIGRhbnMgR2l0IDIuMCBldCBuZSBkb2l0IHBsdXMgw6p0cmUgIgorInV0aWxpc8OpLlxuIgogIlBvdXIgYWpvdXRlciBsZSBjb250ZW51IGRlIHRvdXRlIGwnYXJib3Jlc2NlbmNlLCBsYW5jZXogOlxuIgogIlxuIgogIiAgZ2l0IGFkZCAlcyA6L1xuIgpAQCAtMTY1OCw3ICsxOTg4LDggQEAKICIgIGdpdCBhZGQgJXMgLlxuIgogIiAgKG91IGdpdCBhZGQgJXMgLilcbiIKICJcbiIKLSJBdmVjIGxhIHZlcnNpb24gYWN0dWVsbGUgZGUgR2l0LCBsYSBjb21tYW5kZSBlc3QgcmVzdHJlaW50ZSBhdSByw6lwZXJ0b2lyZSBjb3VyYW50LlxuIgorIkF2ZWMgbGEgdmVyc2lvbiBhY3R1ZWxsZSBkZSBHaXQsIGxhIGNvbW1hbmRlIGVzdCByZXN0cmVpbnRlIGF1IHLDqXBlcnRvaXJlICIKKyJjb3VyYW50LlxuIgogCiAjOiBidWlsdGluL2FkZC5jOjEwMAogIywgYy1mb3JtYXQKQEAgLTE2NzYsMjMgKzIwMDcsMjYgQEAKICJSdW4gJ2dpdCBzdGF0dXMnIHRvIGNoZWNrIHRoZSBwYXRocyB5b3UgcmVtb3ZlZCBmcm9tIHlvdXIgd29ya2luZyB0cmVlLlxuIgogbXNnc3RyICIiCiAiVm91cyBhdmV6IGxhbmPDqSAnZ2l0IGFkZCcgc2FucyAnLUEgKC0tYWxsKScgbmkgJy0taWdub3JlLXJlbW92YWwnLFxuIgotImRvbnQgbGUgY29tcG9ydGVtZW50IHZhIGNoYW5nZXIgZGFucyBHaXQgMi4wIGF2ZWMgbGUgcmVzcGVjdCBkZXMgY2hlbWlucyBxdWUgdm91cyBzdXBwcmltZXouXG4iCisiZG9udCBsZSBjb21wb3J0ZW1lbnQgdmEgY2hhbmdlciBkYW5zIEdpdCAyLjAgYXZlYyBsZSByZXNwZWN0IGRlcyBjaGVtaW5zIHF1ZSAiCisidm91cyBzdXBwcmltZXouXG4iCiAiTGVzIGNoZW1pbnMgdGVscyBxdWUgJyVzJyBxdWkgb250IMOpdMOpXG4iCiAicmV0aXLDqXMgZGUgdm90cmUgY29waWUgZGUgdHJhdmFpbCBzb250IGlnbm9yw6lzIGF2ZWMgY2V0dGUgdmVyc2lvbiBkZSBHaXQuXG4iCiAiXG4iCi0iKiAnZ2l0IGFkZCAtLWlnbm9yZS1yZW1vdmFsIDxjaGVtaW4+JywgcXVpIGVzdCBsJ29wdGlvbiBwYXIgZMOpZmF1dCBhY3R1ZWxsZSxcbiIKKyIqICdnaXQgYWRkIC0taWdub3JlLXJlbW92YWwgPGNoZW1pbj4nLCBxdWkgZXN0IGwnb3B0aW9uIHBhciBkw6lmYXV0ICIKKyJhY3R1ZWxsZSxcbiIKICIgIGlnbm9yZSBsZXMgY2hlbWlucyBxdWUgdm91cyBhdmV6IHN1cHByaW3DqXMgZGUgdm90cmUgY29waWUgZGUgdHJhdmFpbC5cbiIKICJcbiIKICIqICdnaXQgYWRkIC0tYWxsIDxjaGVtaW4+JyBwZXJtZXQgZCdlbnJlZ2lzdHJlciBhdXNzaSBsZXMgc3VwcHJlc3Npb25zLlxuIgogIlxuIgotIkxhbmNleiAnZ2l0IHN0YXR1cycgcG91ciB2w6lyaWZpZXIgbGVzIGNoZW1pbnMgcXVlIHZvdXMgYXZleiBzdXBwcmltw6lzIGRlIHZvdHJlIGNvcGllIGRlIHRyYXZhaWwuXG4iCisiTGFuY2V6ICdnaXQgc3RhdHVzJyBwb3VyIHbDqXJpZmllciBsZXMgY2hlbWlucyBxdWUgdm91cyBhdmV6IHN1cHByaW3DqXMgZGUgIgorInZvdHJlIGNvcGllIGRlIHRyYXZhaWwuXG4iCiAKICM6IGJ1aWx0aW4vYWRkLmM6MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgInN0YXR1cyBkZSBkaWZmIGluYXR0ZW5kdSAlYyIKIAotIzogYnVpbHRpbi9hZGQuYzoxNDkgYnVpbHRpbi9jb21taXQuYzoyMzMKKyM6IGJ1aWx0aW4vYWRkLmM6MTQ5IGJ1aWx0aW4vY29tbWl0LmM6MjYwCiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgbWlzZSDDoCBqb3VyIGRlcyBmaWNoaWVycyIKIApAQCAtMTcwMSwxNDAgKzIwMzUsMTQwIEBACiBtc2dpZCAicmVtb3ZlICclcydcbiIKIG1zZ3N0ciAic3VwcHJlc3Npb24gZGUgJyVzJ1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjI1MworIzogYnVpbHRpbi9hZGQuYzoyMzcKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKIG1zZ3N0ciAiTW9kaWZpY2F0aW9ucyBub24gaW5kZXjDqWVzIGFwcsOocyByYWZyYcOuY2hpc3NlbWVudCBkZSBsJ2luZGV4IDoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU2IGJ1aWx0aW4vYWRkLmM6NTcyIGJ1aWx0aW4vcm0uYzoyNzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKLW1zZ3N0ciAibGUgY2hlbWluICclcycgbmUgY29ycmVzcG9uZCDDoCBhdWN1biBmaWNoaWVyIgotCi0jOiBidWlsdGluL2FkZC5jOjMzOQorIzogYnVpbHRpbi9hZGQuYzoyOTkKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZSBsJ2luZGV4IgogCi0jOiBidWlsdGluL2FkZC5jOjM0OQorIzogYnVpbHRpbi9hZGQuYzozMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iCiBtc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgJyVzJyBlbiDDqWNyaXR1cmUuIgogCi0jOiBidWlsdGluL2FkZC5jOjM1MworIzogYnVpbHRpbi9hZGQuYzozMTQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgIkltcG9zc2libGUgZCfDqWNyaXJlIGxlIHBhdGNoIgogCi0jOiBidWlsdGluL2FkZC5jOjM1OAorIzogYnVpbHRpbi9hZGQuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAiU3RhdCBkZSAnJXMnIGltcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzYwCisjOiBidWlsdGluL2FkZC5jOjMyMQogbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKIG1zZ3N0ciAiUGF0Y2ggdmlkZS4gQWJhbmRvbi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzY2CisjOiBidWlsdGluL2FkZC5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FwcGxpcXVlciAnJXMnIgogCi0jOiBidWlsdGluL2FkZC5jOjM3NgorIzogYnVpbHRpbi9hZGQuYzozMzcKIG1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCi1tc2dzdHIgIkxlcyBjaGVtaW5zIHN1aXZhbnRzIHNvbnQgaWdub3LDqXMgcGFyIHVuIGRlIHZvcyBmaWNoaWVycyAuZ2l0aWdub3JlIDpcbiIKK21zZ3N0ciAiIgorIkxlcyBjaGVtaW5zIHN1aXZhbnRzIHNvbnQgaWdub3LDqXMgcGFyIHVuIGRlIHZvcyBmaWNoaWVycyAuZ2l0aWdub3JlIDpcbiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTMgYnVpbHRpbi9jbGVhbi5jOjE2MSBidWlsdGluL2ZldGNoLmM6NzggYnVpbHRpbi9tdi5jOjYzCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjc2IGJ1aWx0aW4vcHVzaC5jOjQyNSBidWlsdGluL3JlbW90ZS5jOjEyNTMKLSM6IGJ1aWx0aW4vcm0uYzoyMDYKKyM6IGJ1aWx0aW4vYWRkLmM6MzU0IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9mZXRjaC5jOjkyIGJ1aWx0aW4vbXYuYzo2NgorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3MyBidWlsdGluL3B1c2guYzo0NTkgYnVpbHRpbi9yZW1vdGUuYzoxMjUzCisjOiBidWlsdGluL3JtLmM6MjY5CiBtc2dpZCAiZHJ5IHJ1biIKLW1zZ3N0ciAiw6AgdmlkZSIKK21zZ3N0ciAic2ltdWxlciBsJ2FjdGlvbiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTQgYnVpbHRpbi9hcHBseS5jOjQ0MDkgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMTUyIGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk1IGJ1aWx0aW4vZnNjay5jOjYxMwotIzogYnVpbHRpbi9sb2cuYzoxNTE4IGJ1aWx0aW4vbXYuYzo2MiBidWlsdGluL3JlYWQtdHJlZS5jOjExMgorIzogYnVpbHRpbi9hZGQuYzozNTUgYnVpbHRpbi9hcHBseS5jOjQ0MTAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQorIzogYnVpbHRpbi9jb21taXQuYzoxMjQ5IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk1IGJ1aWx0aW4vZnNjay5jOjYxMgorIzogYnVpbHRpbi9sb2cuYzoxNTkyIGJ1aWx0aW4vbXYuYzo2NSBidWlsdGluL3JlYWQtdHJlZS5jOjExMwogbXNnaWQgImJlIHZlcmJvc2UiCiBtc2dzdHIgIm1vZGUgdmVyYmV1eCIKIAotIzogYnVpbHRpbi9hZGQuYzozOTYKKyM6IGJ1aWx0aW4vYWRkLmM6MzU3CiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAic8OpbGVjdGlvbiBpbnRlcmFjdGl2ZSIKIAotIzogYnVpbHRpbi9hZGQuYzozOTcgYnVpbHRpbi9jaGVja291dC5jOjEwNjMgYnVpbHRpbi9yZXNldC5jOjI1OAorIzogYnVpbHRpbi9hZGQuYzozNTggYnVpbHRpbi9jaGVja291dC5jOjExMDkgYnVpbHRpbi9yZXNldC5jOjI3MgogbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICJzw6lsZWN0aW9uIGludGVyYWN0aXZlIGRlcyBzZWN0aW9ucyIKIAotIzogYnVpbHRpbi9hZGQuYzozOTgKKyM6IGJ1aWx0aW4vYWRkLmM6MzU5CiBtc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgogbXNnc3RyICLDqWRpdGlvbiBkdSBkaWZmIGFjdHVlbCBldCBhcHBsaWNhdGlvbiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTkKKyM6IGJ1aWx0aW4vYWRkLmM6MzYwCiBtc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJwZXJtZXR0cmUgbCdham91dCBkZSBmaWNoaWVycyBpZ25vcsOpcyIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDAKKyM6IGJ1aWx0aW4vYWRkLmM6MzYxCiBtc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIm1ldHRyZSDDoCBqb3VyIGxlcyBmaWNoaWVycyBzdWl2aXMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAxCisjOiBidWlsdGluL2FkZC5jOjM2MgogbXNnaWQgInJlY29yZCBvbmx5IHRoZSBmYWN0IHRoYXQgdGhlIHBhdGggd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAiZW5yZWdpc3RyZXIgc2V1bGVtZW50IGxlIGZhaXQgcXVlIGxlIGNoZW1pbiBzZXJhIGFqb3V0w6kgcGx1cyB0YXJkIgogCi0jOiBidWlsdGluL2FkZC5jOjQwMgorIzogYnVpbHRpbi9hZGQuYzozNjMKIG1zZ2lkICJhZGQgY2hhbmdlcyBmcm9tIGFsbCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgImFqb3V0ZXIgbGVzIG1vZGlmaWNhdGlvbnMgZGUgdG91cyBsZXMgZmljaGllcnMgc3VpdmlzIGV0IG5vbiBzdWl2aXMiCiAKICMuIHRha2VzIG5vIGFyZ3VtZW50cwotIzogYnVpbHRpbi9hZGQuYzo0MDUKKyM6IGJ1aWx0aW4vYWRkLmM6MzY2CiBtc2dpZCAiaWdub3JlIHBhdGhzIHJlbW92ZWQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoc2FtZSBhcyAtLW5vLWFsbCkiCi1tc2dzdHIgImlnbm9yZXIgbGVzIGNoZW1pbnMgZWZmYWPDqXMgZGFucyBsYSBjb3BpZSBkZSB0cmF2YWlsIChpZGVudGlxdWUgw6AgLS1uby1hbGwpIgorbXNnc3RyICIiCisiaWdub3JlciBsZXMgY2hlbWlucyBlZmZhY8OpcyBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwgKGlkZW50aXF1ZSDDoCAtLW5vLWFsbCkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDA3CisjOiBidWlsdGluL2FkZC5jOjM2OAogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAibmUgcGFzIGFqb3V0ZXIsIGp1c3RlIHJhZnJhw65jaGlyIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDA4CisjOiBidWlsdGluL2FkZC5jOjM2OQogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCi1tc2dzdHIgInNhdXRlciBzZXVsZW1lbnQgbGVzIGZpY2hpZXJzIHF1aSBuZSBwZXV2ZW50IHBhcyDDqnRyZSBham91dMOpcyBkdSBmYWl0IGQnZXJyZXVycyIKK21zZ3N0ciAiIgorInNhdXRlciBzZXVsZW1lbnQgbGVzIGZpY2hpZXJzIHF1aSBuZSBwZXV2ZW50IHBhcyDDqnRyZSBham91dMOpcyBkdSBmYWl0ICIKKyJkJ2VycmV1cnMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDA5CisjOiBidWlsdGluL2FkZC5jOjM3MAogbXNnaWQgImNoZWNrIGlmIC0gZXZlbiBtaXNzaW5nIC0gZmlsZXMgYXJlIGlnbm9yZWQgaW4gZHJ5IHJ1biIKIG1zZ3N0ciAidsOpcmlmaWVyIHNpIGRlcyBmaWNoaWVycyAtIG3Dqm1lIG1hbnF1YW50cyAtIHNvbnQgaWdub3LDqXMsIMOgIHZpZGUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDMxCisjOiBidWlsdGluL2FkZC5jOjM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLlxuIgogbXNnc3RyICJVdGlsaXNleiAtZiBzaSB2b3VzIHZvdWxleiByw6llbGxlbWVudCBsZXMgYWpvdXRlci5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzIKKyM6IGJ1aWx0aW4vYWRkLmM6MzkzCiBtc2dpZCAibm8gZmlsZXMgYWRkZWQiCiBtc2dzdHIgImF1Y3VuIGZpY2hpZXIgYWpvdXTDqSIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzgKKyM6IGJ1aWx0aW4vYWRkLmM6Mzk5CiBtc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGwnYWpvdXQgZGUgZmljaGllcnMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDc3CisjOiBidWlsdGluL2FkZC5jOjQzOAogbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgogbXNnc3RyICItQSBldCAtdSBzb250IG11dHVlbGxlbWVudCBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL2FkZC5jOjQ5NQorIzogYnVpbHRpbi9hZGQuYzo0NTYKIG1zZ2lkICJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIgotbXNnc3RyICJMJ29wdGlvbiAtLWlnbm9yZS1taXNzaW5nIG5lIHBldXQgw6p0cmUgdXRpbGlzw6llIHF1J2VuIGNvbXBsw6ltZW50IGRlIC0tZHJ5LXJ1biIKK21zZ3N0ciAiIgorIkwnb3B0aW9uIC0taWdub3JlLW1pc3NpbmcgbmUgcGV1dCDDqnRyZSB1dGlsaXPDqWUgcXUnZW4gY29tcGzDqW1lbnQgZGUgLS1kcnktcnVuIgogCi0jOiBidWlsdGluL2FkZC5jOjUyNQorIzogYnVpbHRpbi9hZGQuYzo0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIlJpZW4gZGUgc3DDqWNpZmnDqSwgcmllbiBuJ2Egw6l0w6kgYWpvdXTDqS5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzo1MjYKKyM6IGJ1aWx0aW4vYWRkLmM6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgogbXNnc3RyICJWb3VzIHZvdWxpZXogc8O7cmVtZW50IGRpcmUgJ2dpdCBhZGQgLicgP1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjUzMiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjY2IGJ1aWx0aW4vY2xlYW4uYzoyMDQKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MjkzIGJ1aWx0aW4vbXYuYzo4MiBidWlsdGluL3JtLmM6MjM1CisjOiBidWlsdGluL2FkZC5jOjQ5MiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NsZWFuLmM6OTE5CisjOiBidWlsdGluL2NvbW1pdC5jOjMyMCBidWlsdGluL212LmM6ODYgYnVpbHRpbi9yZXNldC5jOjIyNCBidWlsdGluL3JtLmM6Mjk5CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICJmaWNoaWVyIGQnaW5kZXggY29ycm9tcHUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NjA0IGJ1aWx0aW4vYXBwbHkuYzo0NTA1IGJ1aWx0aW4vbXYuYzoyMjkgYnVpbHRpbi9ybS5jOjM3MAorIzogYnVpbHRpbi9hZGQuYzo1ODkgYnVpbHRpbi9hcHBseS5jOjQ1MDYgYnVpbHRpbi9tdi5jOjI1OSBidWlsdGluL3JtLmM6NDMyCiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBub3V2ZWF1IGZpY2hpZXIgZCdpbmRleCIKIApAQCAtMTg1MCw3ICsyMTg0LDcgQEAKICM6IGJ1aWx0aW4vYXBwbHkuYzoxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgotbXNnc3RyICJvcHRpb24gZCdpZ25vcmFuY2UgZCdlc3BjZSBub24gcmVjb25udWUgJyVzJyIKK21zZ3N0ciAib3B0aW9uIGQnaWdub3JhbmNlIGQnZXNwYWNlIG5vbiByZWNvbm51ZSAnJXMnIgogCiAjOiBidWlsdGluL2FwcGx5LmM6ODIzCiAjLCBjLWZvcm1hdApAQCAtMTg3MCwyNyArMjIwNCwzNCBAQAogIzogYnVpbHRpbi9hcHBseS5jOjk0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCi1tc2dzdHIgImdpdCBhcHBseSA6IG1hdXZhaXMgZm9ybWF0IGRlIGdpdC1kaWZmIC0gL2Rldi9udWxsIGF0dGVuZHUsICVzIHRyb3V2w6kgw6AgbGEgbGlnbmUgJWQiCittc2dzdHIgIiIKKyJnaXQgYXBwbHkgOiBtYXV2YWlzIGZvcm1hdCBkZSBnaXQtZGlmZiAtIC9kZXYvbnVsbCBhdHRlbmR1LCAlcyB0cm91dsOpIMOgIGxhICIKKyJsaWduZSAlZCIKIAogIzogYnVpbHRpbi9hcHBseS5jOjk0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKLW1zZ3N0ciAiZ2l0IGFwcGx5IDogbWF1dmFpcyBmb3JtYXQgZGUgZ2l0LWRpZmYgLSBub3V2ZWF1IG5vbSBkZSBmaWNoaWVyIGluY29uc2lzdGFudCDDoCBsYSBsaWduZSAlZCIKK21zZ3N0ciAiIgorImdpdCBhcHBseSA6IG1hdXZhaXMgZm9ybWF0IGRlIGdpdC1kaWZmIC0gbm91dmVhdSBub20gZGUgZmljaGllciBpbmNvbnNpc3RhbnQgIgorIsOgIGxhIGxpZ25lICVkIgogCiAjOiBidWlsdGluL2FwcGx5LmM6OTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgotbXNnc3RyICJnaXQgYXBwbHkgOiBtYXV2YWlzIGZvcm1hdCBkZSBnaXQtZGlmZiAtIGFuY2llbiBub20gZGUgZmljaGllciBpbmNvbnNpc3RhbnQgw6AgbGEgbGlnbmUgJWQiCittc2dzdHIgIiIKKyJnaXQgYXBwbHkgOiBtYXV2YWlzIGZvcm1hdCBkZSBnaXQtZGlmZiAtIGFuY2llbiBub20gZGUgZmljaGllciBpbmNvbnNpc3RhbnQgIgorIsOgIGxhIGxpZ25lICVkIgogCiAjOiBidWlsdGluL2FwcGx5LmM6OTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCi1tc2dzdHIgImdpdCBhcHBseSA6IG1hdXZhaXMgZm9ybWF0IGRlIGdpdC1kaWZmIC0gL2Rldi9udWxsIGF0dGVuZHUgw6AgbGEgbGlnbmUgJWQiCittc2dzdHIgIiIKKyJnaXQgYXBwbHkgOiBtYXV2YWlzIGZvcm1hdCBkZSBnaXQtZGlmZiAtIC9kZXYvbnVsbCBhdHRlbmR1IMOgIGxhIGxpZ25lICVkIgogCiAjOiBidWlsdGluL2FwcGx5LmM6MTQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWNvdW50OiB1bmV4cGVjdGVkIGxpbmU6ICUuKnMiCi1tc2dzdHIgInJlY291bnQgOiBsaWduZSBpbmF0dGVuZHVlIDogJS4qcyIKK21zZ3N0ciAicmVjb21wdGFnZSA6IGxpZ25lIGluYXR0ZW5kdWUgOiAlLipzIgogCiAjOiBidWlsdGluL2FwcGx5LmM6MTQ3OQogIywgYy1mb3JtYXQKQEAgLTE5MDUsOCArMjI0NiwxMiBAQAogbXNnaWRfcGx1cmFsICIiCiAiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCiAiY29tcG9uZW50cyAobGluZSAlZCkiCi1tc2dzdHJbMF0gImluZm9ybWF0aW9uIGRlIG5vbSBkZSBmaWNoaWVyIG1hbnF1YW50ZSBkYW5zIGwnZW4tdMOqdGUgZGUgZ2l0IGRpZmYgbG9ycyBkZSBsYSBzdXBwcmVzc2lvbiBkZSAlZCBjb21wb3NhbnQgZGUgcHLDqWZpeGUgZGUgY2hlbWluIChsaWduZSAlZCkiCi1tc2dzdHJbMV0gImluZm9ybWF0aW9uIGRlIG5vbSBkZSBmaWNoaWVyIG1hbnF1YW50ZSBkYW5zIGwnZW4tdMOqdGUgZGUgZ2l0IGRpZmYgbG9ycyBkZSBsYSBzdXBwcmVzc2lvbiBkZSAlZCBjb21wb3NhbnRzIGRlIHByw6lmaXhlIGRlIGNoZW1pbiAobGlnbmUgJWQpIgorbXNnc3RyWzBdICIiCisiaW5mb3JtYXRpb24gZGUgbm9tIGRlIGZpY2hpZXIgbWFucXVhbnRlIGRhbnMgbCdlbi10w6p0ZSBkZSBnaXQgZGlmZiBsb3JzIGRlICIKKyJsYSBzdXBwcmVzc2lvbiBkZSAlZCBjb21wb3NhbnQgZGUgcHLDqWZpeGUgZGUgY2hlbWluIChsaWduZSAlZCkiCittc2dzdHJbMV0gIiIKKyJpbmZvcm1hdGlvbiBkZSBub20gZGUgZmljaGllciBtYW5xdWFudGUgZGFucyBsJ2VuLXTDqnRlIGRlIGdpdCBkaWZmIGxvcnMgZGUgIgorImxhIHN1cHByZXNzaW9uIGRlICVkIGNvbXBvc2FudHMgZGUgcHLDqWZpeGUgZGUgY2hlbWluIChsaWduZSAlZCkiCiAKICM6IGJ1aWx0aW4vYXBwbHkuYzoxNjU2CiBtc2dpZCAibmV3IGZpbGUgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCkBAIC0xOTg0LDcgKzIzMjksOCBAQAogbXNnaWQgIiIKICJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgogIiUuKnMiCi1tc2dzdHIgInBlbmRhbnQgbGEgcmVjaGVyY2hlIGRlIDpcbiIKK21zZ3N0ciAiIgorInBlbmRhbnQgbGEgcmVjaGVyY2hlIGRlIDpcbiIKICIlLipzIgogCiAjOiBidWlsdGluL2FwcGx5LmM6Mjg0MwpAQCAtMjAwMCw3ICsyMzQ2LDkgQEAKICM6IGJ1aWx0aW4vYXBwbHkuYzoyOTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgotbXNnc3RyICJsZSBwYXRjaCBiaW5haXJlIHN1ciAnJXMnIGNyw6llIHVuIHLDqXN1bHRhdCBpbmNvcnJlY3QgKCVzIGF0dGVuZHUsIG1haXMgJXMgdHJvdXbDqSkiCittc2dzdHIgIiIKKyJsZSBwYXRjaCBiaW5haXJlIHN1ciAnJXMnIGNyw6llIHVuIHLDqXN1bHRhdCBpbmNvcnJlY3QgKCVzIGF0dGVuZHUsIG1haXMgJXMgIgorInRyb3V2w6kpIgogCiAjOiBidWlsdGluL2FwcGx5LmM6Mjk3MwogIywgYy1mb3JtYXQKQEAgLTIwMTIsMjkzICsyMzYwLDMwMiBAQAogbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKIG1zZ3N0ciAiZXh0cmFjdGlvbiBkZSAlcyBpbXBvc3NpYmxlIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MzE0MCBidWlsdGluL2FwcGx5LmM6MzE0OSBidWlsdGluL2FwcGx5LmM6MzE5MworIzogYnVpbHRpbi9hcHBseS5jOjMxNDAgYnVpbHRpbi9hcHBseS5jOjMxNDkgYnVpbHRpbi9hcHBseS5jOjMxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCBvZiAlcyBmYWlsZWQiCi1tc2dzdHIgImVjaGVjIGRlIGxhIGxlY3R1cmUgZGUgJXMiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBsZWN0dXJlIGRlICVzIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MzE3MyBidWlsdGluL2FwcGx5LmM6MzM5NQorIzogYnVpbHRpbi9hcHBseS5jOjMxNzQgYnVpbHRpbi9hcHBseS5jOjMzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAlcyBoYXMgYmVlbiByZW5hbWVkL2RlbGV0ZWQiCiBtc2dzdHIgImxlIGNoZW1pbiAlcyBhIMOpdMOpIHJlbm9tbcOpL3N1cHByaW3DqSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjMyNTQgYnVpbHRpbi9hcHBseS5jOjM0MDkKKyM6IGJ1aWx0aW4vYXBwbHkuYzozMjU1IGJ1aWx0aW4vYXBwbHkuYzozNDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKIG1zZ3N0ciAiJXMgOiBuJ2V4aXN0ZSBwYXMgZGFucyBsJ2luZGV4IgogCi0jOiBidWlsdGluL2FwcGx5LmM6MzI1OCBidWlsdGluL2FwcGx5LmM6MzQwMSBidWlsdGluL2FwcGx5LmM6MzQyMworIzogYnVpbHRpbi9hcHBseS5jOjMyNTkgYnVpbHRpbi9hcHBseS5jOjM0MDIgYnVpbHRpbi9hcHBseS5jOjM0MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIgogbXNnc3RyICIlcyA6ICVzIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MzI2MyBidWlsdGluL2FwcGx5LmM6MzQxNworIzogYnVpbHRpbi9hcHBseS5jOjMyNjQgYnVpbHRpbi9hcHBseS5jOjM0MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IgogbXNnc3RyICIlcyA6IG5lIGNvcnJlc3BvbmQgcGFzIMOgIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzozMzY1CisjOiBidWlsdGluL2FwcGx5LmM6MzM2NgogbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCiBtc2dzdHIgImxlIHBhdGNoIGRlIHN1cHByZXNzaW9uIGxhaXNzZSB1biBjb250ZW51IGRhbnMgbGUgZmljaGllciIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM0MzQKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgogbXNnc3RyICIlcyA6IHR5cGUgZXJyb27DqSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM0MzYKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyB0eXBlICVvLCBleHBlY3RlZCAlbyIKIG1zZ3N0ciAiJXMgZXN0IGRlIHR5cGUgJW8sIG1haXMgJW8gYXR0ZW5kdSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM1MzcKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKIG1zZ3N0ciAiJXMgOiBleGlzdGUgZMOpasOgIGRhbnMgbCdpbmRleCIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM1NDAKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgOiBleGlzdGUgZMOpasOgIGRhbnMgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM1NjAKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSIKIG1zZ3N0ciAibGUgbm91dmVhdSBtb2RlICglbykgZGUgJXMgbmUgY29ycmVzcG9uZCBwYXMgw6AgbCdhbmNpZW4gbW9kZSAoJW8pIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MzU2NQorIzogYnVpbHRpbi9hcHBseS5jOjM1NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIG9mICVzIgotbXNnc3RyICJsZSBub3V2ZWF1IG1vZGUgKCVvKSBkZSAlcyBuZSBjb3JyZXNwb25kIHBhcyDDoCBsJ2FuY2llbiBtb2RlICglbykgZGUgJXMiCittc2dzdHIgIiIKKyJsZSBub3V2ZWF1IG1vZGUgKCVvKSBkZSAlcyBuZSBjb3JyZXNwb25kIHBhcyDDoCBsJ2FuY2llbiBtb2RlICglbykgZGUgJXMiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzozNTczCisjOiBidWlsdGluL2FwcGx5LmM6MzU3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgIiVzIDogbGUgcGF0Y2ggbmUgcydhcHBsaXF1ZSBwYXMiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzozNTg2CisjOiBidWlsdGluL2FwcGx5LmM6MzU4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKIG1zZ3N0ciAiVsOpcmlmaWNhdGlvbiBkdSBwYXRjaCAlcy4uLiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM2NzkgYnVpbHRpbi9jaGVja291dC5jOjIxNiBidWlsdGluL3Jlc2V0LmM6MTI0CisjOiBidWlsdGluL2FwcGx5LmM6MzY4MCBidWlsdGluL2NoZWNrb3V0LmM6MjEzIGJ1aWx0aW4vcmVzZXQuYzoxMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKLW1zZ3N0ciAiZWNoZWMgZGUgbWFrZV9jYWNoZV9lbnRyeSBwb3VyIGxlIGNoZW1pbiAnJXMnIgorbXNnc3RyICLDqWNoZWMgZGUgbWFrZV9jYWNoZV9lbnRyeSBwb3VyIGxlIGNoZW1pbiAnJXMnIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MzgyMgorIzogYnVpbHRpbi9hcHBseS5jOjM4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgogbXNnc3RyICJzdXBwcmVzc2lvbiBkZSAlcyBkYW5zIGwnaW5kZXggaW1wb3NzaWJsZSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM4NTAKKyM6IGJ1aWx0aW4vYXBwbHkuYzozODUxCiAjLCBjLWZvcm1hdAotbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1YnByb2plY3QgJXMiCi1tc2dzdHIgInBhdGNoIGNvcnJvbXB1IHBvdXIgbGUgc291cy1wcm9qZXQgJXMiCittc2dpZCAiY29ycnVwdCBwYXRjaCBmb3Igc3VibW9kdWxlICVzIgorbXNnc3RyICJwYXRjaCBjb3Jyb21wdSBwb3VyIGxlIHNvdXMtbW9kdWxlICVzIgogCi0jOiBidWlsdGluL2FwcGx5LmM6Mzg1NAorIzogYnVpbHRpbi9hcHBseS5jOjM4NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCiBtc2dzdHIgInN0YXQgZHUgZmljaGllciBub3V2ZWxsZW1lbnQgY3LDqcOpICclcycgaW1wb3NzaWJsZSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM4NTkKKyM6IGJ1aWx0aW4vYXBwbHkuYzozODYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgotbXNnc3RyICJjcsOpYXRpb24gZHUgbWFnYXNpbiBkZSBzdG9ja2FnZSBwb3VyIGxlIGZpY2hpZXIgbm91dmVsbGVtZW50IGNyw6nDqSAlcyBpbXBvc3NpYmxlIgorbXNnc3RyICIiCisiY3LDqWF0aW9uIGR1IG1hZ2FzaW4gZGUgc3RvY2thZ2UgcG91ciBsZSBmaWNoaWVyIG5vdXZlbGxlbWVudCBjcsOpw6kgJXMgIgorImltcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzozODYyIGJ1aWx0aW4vYXBwbHkuYzozOTcwCisjOiBidWlsdGluL2FwcGx5LmM6Mzg2MyBidWlsdGluL2FwcGx5LmM6Mzk3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKLW1zZ3N0ciAiYWpvdXQgZGUgbCdlbnRyw6llIGRlIGNhY2hlICVzIGltcG9zc2libGUiCittc2dzdHIgImFqb3V0IGRlIGwnw6lsw6ltZW50IGRlIGNhY2hlICVzIGltcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzozODk1CisjOiBidWlsdGluL2FwcGx5LmM6Mzg5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKIG1zZ3N0ciAiZmVybWV0dXJlIGR1IGZpY2hpZXIgJyVzJyIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM5NDQKKyM6IGJ1aWx0aW4vYXBwbHkuYzozOTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKIG1zZ3N0ciAiw6ljcml0dXJlIGR1IGZpY2hpZXIgJyVzJyBtb2RlICVvIGltcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDMxCisjOiBidWlsdGluL2FwcGx5LmM6NDAzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgogbXNnc3RyICJQYXRjaCAlcyBhcHBsaXF1w6kgcHJvcHJlbWVudC4iCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDM5CisjOiBidWlsdGluL2FwcGx5LmM6NDA0MAogbXNnaWQgImludGVybmFsIGVycm9yIgogbXNnc3RyICJlcnJldXIgaW50ZXJuZSIKIAogIy4gU2F5IHRoaXMgZXZlbiB3aXRob3V0IC0tdmVyYm9zZQotIzogYnVpbHRpbi9hcHBseS5jOjQwNDIKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdC4uLiIKIG1zZ2lkX3BsdXJhbCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0cy4uLiIKIG1zZ3N0clswXSAiQXBwbGljYXRpb24gZHUgcGF0Y2ggJSVzIGF2ZWMgJWQgcmVqZXQuLi4iCiBtc2dzdHJbMV0gIkFwcGxpY2F0aW9uIGR1IHBhdGNoICUlcyBhdmVjICVkIHJlamV0cy4uLiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQwNTIKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKIG1zZ3N0ciAidHJvbmNhdHVyZSBkdSBub20gZGUgZmljaGllciAucmVqIGVuICUuKnMucmVqIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDA3MworIzogYnVpbHRpbi9hcHBseS5jOjQwNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKIG1zZ3N0ciAiU2VjdGlvbiBuwrAlZCBhcHBsaXF1w6llIHByb3ByZW1lbnQuIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDA3NgorIzogYnVpbHRpbi9hcHBseS5jOjQwNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVqZWN0ZWQgaHVuayAjJWQuIgogbXNnc3RyICJTZWN0aW9uIG7CsCVkIHJlamV0w6llLiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQyMjYKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MjI3CiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgogbXNnc3RyICJlbnRyw6llIG5vbiByZWNvbm51ZSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQyMzcKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MjM4CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKIG1zZ3N0ciAibGVjdHVyZSBkdSBmaWNoaWVyIGQnaW5kZXggaW1wb3NzaWJsZSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzNTYgYnVpbHRpbi9hcHBseS5jOjQzNTkgYnVpbHRpbi9jbG9uZS5jOjkyCi0jOiBidWlsdGluL2ZldGNoLmM6NjMKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzU3IGJ1aWx0aW4vYXBwbHkuYzo0MzYwIGJ1aWx0aW4vY2xvbmUuYzo5MAorIzogYnVpbHRpbi9mZXRjaC5jOjc3CiBtc2dpZCAicGF0aCIKIG1zZ3N0ciAiY2hlbWluIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM1NworIzogYnVpbHRpbi9hcHBseS5jOjQzNTgKIG1zZ2lkICJkb24ndCBhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgogbXNnc3RyICJuZSBwYXMgYXBwbGlxdWVyIGxlcyBtb2RpZmljYXRpb25zIHF1aSBjb3JyZXNwb25kZW50IGF1IGNoZW1pbiBkb25uw6kiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MzYwCisjOiBidWlsdGluL2FwcGx5LmM6NDM2MQogbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgImFwcGxpcXVlciBsZXMgbW9kaWZpY2F0aW9ucyBxdWkgY29ycmVzcG9uZGVudCBhdSBjaGVtaW4gZG9ubsOpIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM2MgorIzogYnVpbHRpbi9hcHBseS5jOjQzNjMKIG1zZ2lkICJudW0iCiBtc2dzdHIgIm51bSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzNjMKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzY0CiBtc2dpZCAicmVtb3ZlIDxudW0+IGxlYWRpbmcgc2xhc2hlcyBmcm9tIHRyYWRpdGlvbmFsIGRpZmYgcGF0aHMiCiBtc2dzdHIgInN1cHByaW1lciA8bnVtPiBiYXJyZXMgb2JsaXF1ZXMgZGVzIGNoZW1pbnMgdHJhZGl0aW9ubmVscyBkZSBkaWZmIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM2NgorIzogYnVpbHRpbi9hcHBseS5jOjQzNjcKIG1zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgogbXNnc3RyICJpZ25vcmVyIGxlcyBhZGRpdGlvbnMgcsOpYWxpc8OpZXMgcGFyIGxlIHBhdGNoIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM2OAorIzogYnVpbHRpbi9hcHBseS5jOjQzNjkKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgImF1IGxpZXUgZCdhcHBsaXF1ZXIgbGUgcGF0Y2gsIGFmZmljaGVyIGxlIGRpZmZzdGF0IGRlIGwnZW50csOpZSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzNzIKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzczCiBtc2dpZCAic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIKLW1zZ3N0ciAiYWZmaWNoZXIgbGUgbm9tYnJlIGRlIGxpZ25lcyBham91dMOpZXMgZXQgc3VwcHJpbcOpZXMgZW4gbm90YXRpb24gZMOpY2ltYWxlIgorbXNnc3RyICIiCisiYWZmaWNoZXIgbGUgbm9tYnJlIGRlIGxpZ25lcyBham91dMOpZXMgZXQgc3VwcHJpbcOpZXMgZW4gbm90YXRpb24gZMOpY2ltYWxlIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM3NAorIzogYnVpbHRpbi9hcHBseS5jOjQzNzUKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgogbXNnc3RyICJhdSBsaWV1IGQnYXBwbGlxdWVyIGxlIHBhdGNoLCBhZmZpY2hlciB1biByw6lzdW1lciBkZSBsJ2VudHLDqWUiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzc2CisjOiBidWlsdGluL2FwcGx5LmM6NDM3NwogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCiBtc2dzdHIgImF1IGxpZXUgZCdhcHBsaXF1ZXIgbGUgcGF0Y2gsIHZvaXIgc2kgbGUgcGF0Y2ggZXN0IGFwcGxpY2FibGUiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzc4CisjOiBidWlsdGluL2FwcGx5LmM6NDM3OQogbXNnaWQgIm1ha2Ugc3VyZSB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSB0byB0aGUgY3VycmVudCBpbmRleCIKIG1zZ3N0ciAicydhc3N1cmVyIHF1ZSBsZSBwYXRjaCBlc3QgYXBwbGljYWJsZSBzdXIgbCdpbmRleCBhY3R1ZWwiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MzgwCisjOiBidWlsdGluL2FwcGx5LmM6NDM4MQogbXNnaWQgImFwcGx5IGEgcGF0Y2ggd2l0aG91dCB0b3VjaGluZyB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICJhcHBsaXF1ZXIgbGVzIHBhdGNoIHNhbnMgdG91Y2hlciDDoCBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM4MgorIzogYnVpbHRpbi9hcHBseS5jOjQzODMKIG1zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKIG1zZ3N0ciAiYXBwbGlxdWVyIGF1c3NpIGxlIHBhdGNoICjDoCB1dGlsaXNlciBhdmVjIC0tLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM4NAorIzogYnVpbHRpbi9hcHBseS5jOjQzODUKIG1zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgogbXNnc3RyICJ0ZW50ZXIgdW5lIGZ1c2lvbiDDoCAzIHBvaW50cyBzaSBsZSBwYXRjaCBuZSBzJ2FwcGxpcXVlIHBhcyBwcm9wcmVtZW50IgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM4NgorIzogYnVpbHRpbi9hcHBseS5jOjQzODcKIG1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKLW1zZ3N0ciAiY29uc3RydWlyZSB1biBpbmRleCB0ZW1wb3JhaXJlIGZvbmTDqSBzdXIgbCdpbmZvcm1hdGlvbiBkZSBsJ2luZGV4IGVtYmFycXXDqSIKK21zZ3N0ciAiIgorImNvbnN0cnVpcmUgdW4gaW5kZXggdGVtcG9yYWlyZSBmb25kw6kgc3VyIGwnaW5mb3JtYXRpb24gZGUgbCdpbmRleCBlbWJhcnF1w6kiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzg4IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxOTcgYnVpbHRpbi9scy1maWxlcy5jOjQ1NgorIzogYnVpbHRpbi9hcHBseS5jOjQzODkgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE5NyBidWlsdGluL2xzLWZpbGVzLmM6NDUyCiBtc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgImxlcyBjaGVtaW5zIHNvbnQgc8OpcGFyw6lzIHBhciB1biBjYXJhY3TDqHJlIE5VTCIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzOTEKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzkyCiBtc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgogbXNnc3RyICJzJ2Fzc3VyZXIgZCdhdSBtb2lucyA8bj4gbGlnbmVzIGRlIGNvcnJlc3BvbmRhbmNlIGRlIGNvbnRleHRlIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM5MgorIzogYnVpbHRpbi9hcHBseS5jOjQzOTMKIG1zZ2lkICJhY3Rpb24iCiBtc2dzdHIgImFjdGlvbiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzOTMKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzk0CiBtc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCi1tc2dzdHIgImTDqXRlY3RlciBkZXMgbGlnbmVzIG5vdXZlbGxlcyBvdSBtb2RpZmnDqWVzIHF1aSBjb250aWVubmVudCBkZXMgZXJyZXVycyBkJ2VzcGFjZSIKK21zZ3N0ciAiIgorImTDqXRlY3RlciBkZXMgbGlnbmVzIG5vdXZlbGxlcyBvdSBtb2RpZmnDqWVzIHF1aSBjb250aWVubmVudCBkZXMgZXJyZXVycyAiCisiZCdlc3BhY2UiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzk2IGJ1aWx0aW4vYXBwbHkuYzo0Mzk5CisjOiBidWlsdGluL2FwcGx5LmM6NDM5NyBidWlsdGluL2FwcGx5LmM6NDQwMAogbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2Ugd2hlbiBmaW5kaW5nIGNvbnRleHQiCiBtc2dzdHIgImlnbm9yZXIgZGVzIG1vZGlmaWNhdGlvbnMgZCdlc3BhY2UgbG9ycyBkZSBsYSByZWNoZXJjaGUgZGUgY29udGV4dGUiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NDAyCisjOiBidWlsdGluL2FwcGx5LmM6NDQwMwogbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgogbXNnc3RyICJhcHBsaXF1ZXIgbGUgcGF0Y2ggZW4gc2VucyBpbnZlcnNlIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDQwNAorIzogYnVpbHRpbi9hcHBseS5jOjQ0MDUKIG1zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKIG1zZ3N0ciAibmUgcGFzIHMnYXR0ZW5kcmUgw6AgYXUgbW9pbnMgdW5lIGxpZ25lIGRlIGNvbnRleHRlIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDQwNgorIzogYnVpbHRpbi9hcHBseS5jOjQ0MDcKIG1zZ2lkICJsZWF2ZSB0aGUgcmVqZWN0ZWQgaHVua3MgaW4gY29ycmVzcG9uZGluZyAqLnJlaiBmaWxlcyIKIG1zZ3N0ciAibGFpc3NlciBsZXMgc2VjdGlvbnMgcmVqZXTDqWVzIGRhbnMgbGVzIGZpY2hpZXJzICoucmVqIGNvcnJlc3BvbmRhbnRzIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDQwOAorIzogYnVpbHRpbi9hcHBseS5jOjQ0MDkKIG1zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKIG1zZ3N0ciAiYWNjZXB0ZXIgbGVzIHJlY291dnJlbWVudHMgZGUgc2VjdGlvbnMiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NDExCisjOiBidWlsdGluL2FwcGx5LmM6NDQxMgogbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgotbXNnc3RyICJ0b2zDqXJlciBkZXMgZXJyZXVycyBkZSBkw6l0ZWN0aW9uIGRlIHJldG91cnMgY2hhcmlvdCBtYW5xdWFudHMgZW4gZmluIGRlIGZpY2hpZXIiCittc2dzdHIgIiIKKyJ0b2zDqXJlciBkZXMgZXJyZXVycyBkZSBkw6l0ZWN0aW9uIGRlIHJldG91cnMgY2hhcmlvdCBtYW5xdWFudHMgZW4gZmluIGRlICIKKyJmaWNoaWVyIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDQxNAorIzogYnVpbHRpbi9hcHBseS5jOjQ0MTUKIG1zZ2lkICJkbyBub3QgdHJ1c3QgdGhlIGxpbmUgY291bnRzIGluIHRoZSBodW5rIGhlYWRlcnMiCiBtc2dzdHIgIm5lIHBhcyBzZSBmaWVyIGF1IGNvbXB0ZSBkZSBsaWduZXMgZGFucyBsZXMgZW4tdMOqdGVzIGRlIHNlY3Rpb24iCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NDE2CisjOiBidWlsdGluL2FwcGx5LmM6NDQxNwogbXNnaWQgInJvb3QiCiBtc2dzdHIgInJhY2luZSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQ0MTcKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0NDE4CiBtc2dpZCAicHJlcGVuZCA8cm9vdD4gdG8gYWxsIGZpbGVuYW1lcyIKIG1zZ3N0ciAicHLDqWZpeGVyIHRvdXMgbGVzIG5vbXMgZGUgZmljaGllciBhdmVjIDxyb290PiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQ0MzkKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0NDQwCiBtc2dpZCAiLS0zd2F5IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLTN3YXkgaG9ycyBkJ3VuIGTDqXDDtHQiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NDQ3CisjOiBidWlsdGluL2FwcGx5LmM6NDQ0OAogbXNnaWQgIi0taW5kZXggb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0taW5kZXggaG9ycyBkJ3VuIGTDqXDDtHQiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NDUwCisjOiBidWlsdGluL2FwcGx5LmM6NDQ1MQogbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLWNhY2hlZCBob3JzIGQndW4gZMOpcMO0dCIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQ0NjYKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0NDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJyIKIG1zZ3N0ciAib3V2ZXJ0dXJlIGltcG9zc2libGUgZHUgcGF0Y2ggJyVzJyIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQ0ODAKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgogbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCiBtc2dzdHJbMF0gIiVkIGVycmV1ciBkJ2VzcGFjZSBpZ25vcsOpZSIKIG1zZ3N0clsxXSAiJWQgZXJyZXVycyBkJ2VzcGFjZSBpZ25vcsOpZXMiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NDg2IGJ1aWx0aW4vYXBwbHkuYzo0NDk2CisjOiBidWlsdGluL2FwcGx5LmM6NDQ4NyBidWlsdGluL2FwcGx5LmM6NDQ5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgpAQCAtMjM1MiwxMDUgKzI3MDksMTExIEBACiBtc2dpZCAidXBkYXRlIEJJU0VDVF9IRUFEIGluc3RlYWQgb2YgY2hlY2tpbmcgb3V0IHRoZSBjdXJyZW50IGNvbW1pdCIKIG1zZ3N0ciAibWV0dHJlIMOgIGpvdXIgQklTRUNUX0hFQUQgYXUgbGlldSBkJ2V4dHJhaXJlIGxlIGNvbW1pdCBhY3R1ZWwiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNQorIzogYnVpbHRpbi9ibGFtZS5jOjI3CiBtc2dpZCAiZ2l0IGJsYW1lIFtvcHRpb25zXSBbcmV2LW9wdHNdIFtyZXZdIFstLV0gZmlsZSIKIG1zZ3N0ciAiZ2l0IGJsYW1lIFtvcHRpb25zXSBbb3B0aW9ucy1kZS1yw6l2aXNpb25dIFtyZXZdIFstLV0gZmljaGllciIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjMwCisjOiBidWlsdGluL2JsYW1lLmM6MzIKIG1zZ2lkICJbcmV2LW9wdHNdIGFyZSBkb2N1bWVudGVkIGluIGdpdC1yZXYtbGlzdCgxKSIKIG1zZ3N0ciAiW29wdGlvbnMtZGUtcsOpdmlzaW9uXSBzb250IGRvY3VtZW50w6lzIGRhbnMgZ2l0LXJldi1saXN0KDEpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM1NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNDgKIG1zZ2lkICJTaG93IGJsYW1lIGVudHJpZXMgYXMgd2UgZmluZCB0aGVtLCBpbmNyZW1lbnRhbGx5IgotbXNnc3RyICJNb250cmVyIGxlcyBlbnRyw6llIGRlIGJsw6JtZSBhdSBmdXIgZXQgw6AgbWVzdXJlIGRlIGxldXIgZMOpY291dmVydGUsIGRlIG1hbmnDqHJlIGluY3LDqW1lbnRhbGUiCittc2dzdHIgIiIKKyJNb250cmVyIGxlcyDDqWzDqW1lbnRzIGRlIGJsw6JtZSBhdSBmdXIgZXQgw6AgbWVzdXJlIGRlIGxldXIgZMOpY291dmVydGUsIGRlICIKKyJtYW5pw6hyZSBpbmNyw6ltZW50YWxlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM1NgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNDkKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJNb250cmVyIHVuIFNIQS0xIGJsYW5jIHBvdXIgbGVzIGNvbW1pdHMgZGUgbGltaXRlIChEw6lmYXV0IDogZMOpc2FjdGl2w6kpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM1NworIzogYnVpbHRpbi9ibGFtZS5jOjIyNTAKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCi1tc2dzdHIgIk5lIHBhcyB0cmFpdGVyIGxlcyBjb21taXRzIHJhY2luZSBjb21tZSBkZXMgbGltaXRlcyAoRMOpZmF1dCA6IGTDqXNhY3RpdsOpKSIKK21zZ3N0ciAiIgorIk5lIHBhcyB0cmFpdGVyIGxlcyBjb21taXRzIHJhY2luZSBjb21tZSBkZXMgbGltaXRlcyAoRMOpZmF1dCA6IGTDqXNhY3RpdsOpKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNTgKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjUxCiBtc2dpZCAiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIKIG1zZ3N0ciAiTW9udHJlciBsZXMgc3RhdGlzdGlxdWVzIGRlIGNvw7t0IGQnYWN0aXZpdMOpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM1OQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTIKIG1zZ2lkICJTaG93IG91dHB1dCBzY29yZSBmb3IgYmxhbWUgZW50cmllcyIKLW1zZ3N0ciAiTW9udHJlciBsZSBzY29yZSBkZSBzb3J0aWUgcG91ciBsZXMgZW50csOpZXMgZGUgYmzDom1lIgorbXNnc3RyICJNb250cmVyIGxlIHNjb3JlIGRlIHNvcnRpZSBwb3VyIGxlcyDDqWzDqW1lbnRzIGRlIGJsw6JtZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNjAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjUzCiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIk1vbnRyZXIgbGVzIG5vbXMgZGUgZmljaGllciBvcmlnaW5hdXggKETDqWZhdXQgOiBhdXRvKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNjEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU0CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBsaW5lbnVtYmVyIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJNb250cmVyIGxlcyBudW3DqXJvcyBkZSBsaWduZXMgb3JpZ2luYXV4IChEw6lmYXV0IDogZMOpc2FjdGl2w6kpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM2MgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTUKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICJBZmZpY2hlciBkYW5zIHVuIGZvcm1hdCBwcm9waWNlIMOgIGxhIGNvbnNvbW1hdGlvbiBwYXIgbWFjaGluZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNjMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU2CiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICJBZmZpY2hlciBlbiBmb3JtYXQgcG9yY2VsYWluZSBhdmVjIGwnaW5mb3JtYXRpb24gZGUgY29tbWl0IHBhciBsaWduZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNjQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU3CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiVXRpbGlzZXIgbGUgbcOqbWUgbW9kZSBkZSBzb3J0aWUgcXVlIGdpdC1hbm5vdGF0ZSAoRMOpZmF1dCA6IGTDqXNhY3RpdsOpKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNjUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU4CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgotbXNnc3RyICJBZmZpY2hlciBsZXMgaG9yb2RhdGFnZXMgYnJ1dHMgKETDqWZhdXQ6IGTDqXNhY3RpdsOpKSIKK21zZ3N0ciAiQWZmaWNoZXIgbGVzIGhvcm9kYXRhZ2VzIGJydXRzIChEw6lmYXV0IDogZMOpc2FjdGl2w6kpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM2NgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTkKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkFmZmljaGVyIGxlcyBsb25ncyBTSEExIGRlIGNvbW1pdHMgKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMzY3CisjOiBidWlsdGluL2JsYW1lLmM6MjI2MAogbXNnaWQgIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlN1cHByaW1lciBsZSBub20gZGUgbCdhdXRldXIgZXQgbCdob3JvZGF0YWdlIChEw6lmYXV0IDogZMOpc2FjdGl2w6kpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM2OAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjEKIG1zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkFmZmljaGVyIGwnZS1tYWlsIGRlIGwnYXV0ZXVyIGF1IGxpZXUgZHUgbm9tIChEw6lmYXV0IDogZMOpc2FjdGl2w6kpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM2OQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjIKIG1zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKIG1zZ3N0ciAiSWdub3JlciBsZXMgZGlmZsOpcmVuY2VzIGQnZXNwYWNlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM3MAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjMKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCi1tc2dzdHIgIkTDqXBlbnNlciBkZXMgY3ljbGVzIHN1cHBsw6ltZW50YWlyZXMgcG91ciB0cm91dmVyIHVuZSBtZWlsbGV1cmUgY29ycmVzcG9uZGFuY2UiCittc2dzdHIgIiIKKyJEw6lwZW5zZXIgZGVzIGN5Y2xlcyBzdXBwbMOpbWVudGFpcmVzIHBvdXIgdHJvdXZlciB1bmUgbWVpbGxldXJlIGNvcnJlc3BvbmRhbmNlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM3MQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjQKIG1zZ2lkICJVc2UgcmV2aXNpb25zIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgY2FsbGluZyBnaXQtcmV2LWxpc3QiCi1tc2dzdHIgIlV0aWxpc2VyIGxlcyByw6l2aXNpb25zIGR1IGZpY2hpZXIgPGZpY2hpZXI+IGF1IGxpZXUgZCdhcHBlbGVyIGdpdC1yZXYtbGlzdCIKK21zZ3N0ciAiIgorIlV0aWxpc2VyIGxlcyByw6l2aXNpb25zIGR1IGZpY2hpZXIgPGZpY2hpZXI+IGF1IGxpZXUgZCdhcHBlbGVyIGdpdC1yZXYtbGlzdCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNzIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY1CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAiVXRpbGlzZXIgbGUgY29udGVudSBkZSA8ZmljaGllcj4gY29tbWUgaW1hZ2UgZmluYWxlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjM3MyBidWlsdGluL2JsYW1lLmM6MjM3NAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjYgYnVpbHRpbi9ibGFtZS5jOjIyNjcKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAic2NvcmUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMzczCisjOiBidWlsdGluL2JsYW1lLmM6MjI2NgogbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIlRyb3V2ZXIgbGVzIGNvcGllcyBkZSBsaWduZSBkYW5zIGV0IGVudHJlIGxlcyBmaWNoaWVycyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNzQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY3CiBtc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiVHJvdXZlciBsZXMgbW91dmVtZW50cyBkZSBsaWduZSBkYW5zIGV0IGVudHJlIGxlcyBmaWNoaWVycyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIzNzUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY4CiBtc2dpZCAibixtIgogbXNnc3RyICJuLG0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMzc1CisjOiBidWlsdGluL2JsYW1lLmM6MjI2OAogbXNnaWQgIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIgotbXNnc3RyICJUcmFpdGVyIHNldWxlbWVudCBsJ2ludGVydmFsbGUgZGUgbGlnbmUgbixtIGVuIGNvbW1lbsOnYW50IGxlIGNvbXB0ZSDDoCAxIgorbXNnc3RyICIiCisiVHJhaXRlciBzZXVsZW1lbnQgbCdpbnRlcnZhbGxlIGRlIGxpZ25lIG4sbSBlbiBjb21tZW7Dp2FudCBsZSBjb21wdGUgw6AgMSIKIAogIzogYnVpbHRpbi9icmFuY2guYzoyNAogbXNnaWQgImdpdCBicmFuY2ggW29wdGlvbnNdIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCkBAIC0yNDU4LDcgKzI4MjEsNyBAQAogCiAjOiBidWlsdGluL2JyYW5jaC5jOjI1CiBtc2dpZCAiZ2l0IGJyYW5jaCBbb3B0aW9uc10gWy1sXSBbLWZdIDxicmFuY2huYW1lPiBbPHN0YXJ0LXBvaW50Pl0iCi1tc2dzdHIgImdpdCBicmFuY2ggW29wdGlvbnNdIFstbF0gWy1mXSA8bm9tZGVicmFuY2g+IFs8cG9pbnQtZGUtZMOpcGFydD5dIgorbXNnc3RyICJnaXQgYnJhbmNoIFtvcHRpb25zXSBbLWxdIFstZl0gPG5vbWRlYnJhbmNoZT4gWzxwb2ludC1kZS1kw6lwYXJ0Pl0iCiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6MjYKIG1zZ2lkICJnaXQgYnJhbmNoIFtvcHRpb25zXSBbLXJdICgtZCB8IC1EKSA8YnJhbmNobmFtZT4uLi4iCkBAIC0yNTAyLDcgKzI4NjUsNyBAQAogCiAjOiBidWlsdGluL2JyYW5jaC5jOjE4NQogbXNnaWQgIlVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCi1tc2dzdHIgIsOJY2hlYyBkZSBsYSBtaXNlIMOgIGpvdXIgZHUgZmljaGllciBkZSBjb25maWciCittc2dzdHIgIsOJY2hlYyBkZSBsYSBtaXNlIMOgIGpvdXIgZHUgZmljaGllciBkZSBjb25maWd1cmF0aW9uIgogCiAjOiBidWlsdGluL2JyYW5jaC5jOjIxMwogbXNnaWQgImNhbm5vdCB1c2UgLWEgd2l0aCAtZCIKQEAgLTI1NTIsMjk3ICsyOTE1LDMxOCBAQAogbXNnaWQgImJyYW5jaCAnJXMnIGRvZXMgbm90IHBvaW50IGF0IGEgY29tbWl0IgogbXNnc3RyICJsYSBicmFuY2hlICclcycgbmUgcG9pbnRlIHBhcyBzdXIgdW4gY29tbWl0IgogCisjIGbDqW1pbmluIHBvdXIgdW5lIGJyYW5jaGUKICM6IGJ1aWx0aW4vYnJhbmNoLmM6NDUzCiAjLCBjLWZvcm1hdAorbXNnaWQgIlslczogZ29uZV0iCittc2dzdHIgIlslczogZGlzcGFydWVdIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJbJXNdIgorbXNnc3RyICJbJXNdIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ1OQorIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCiBtc2dzdHIgIlslczogZW4gcmV0YXJkIGRlICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIltiZWhpbmQgJWRdIgogbXNnc3RyICJbZW4gcmV0YXJkIGRlICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYWhlYWQgJWRdIgogbXNnc3RyICJbJXMgOiBlbiBhdmFuY2UgZGUgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ2MQorIzogYnVpbHRpbi9icmFuY2guYzo0NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2FoZWFkICVkXSIKIG1zZ3N0ciAiW2VuIGF2YW5jZSBkZSAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY0CisjOiBidWlsdGluL2JyYW5jaC5jOjQ3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIgogbXNnc3RyICJbJXMgOiBlbiBhdmFuY2UgZGUgJWQsIGVuIHJldGFyZCBkZSAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY3CisjOiBidWlsdGluL2JyYW5jaC5jOjQ3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIltlbiBhdmFuY2UgZGUgJWQsIGVuIHJldGFyZCBkZSAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDkwCisjOiBidWlsdGluL2JyYW5jaC5jOjQ5NgogbXNnaWQgIiAqKioqIGludmFsaWQgcmVmICoqKioiCiBtc2dzdHIgIiAqKioqIHLDqWbDqXJlbmNlIGludmFsaWRlICoqKioiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgyCisjOiBidWlsdGluL2JyYW5jaC5jOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyAlcykiCiBtc2dzdHIgIihhdWN1bmUgYnJhbmNoZSwgcmViYXNhZ2UgZGUgJXMpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4NQorIzogYnVpbHRpbi9icmFuY2guYzo1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgogbXNnc3RyICIoYXVjdW5lIGJyYW5jaGUsIGJpc2VjdCBhIGTDqW1hcnLDqSBzdXIgJXMpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4OAorIzogYnVpbHRpbi9icmFuY2guYzo1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiKGRldGFjaGVkIGZyb20gJXMpIgogbXNnc3RyICIoZMOpdGFjaMOpIGRlICVzKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk3CiBtc2dpZCAiKG5vIGJyYW5jaCkiCiBtc2dzdHIgIihhdWN1bmUgYnJhbmNoZSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM3CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGNvbW1pdCIKIG1zZ3N0ciAibCdvYmpldCAnJXMnIG5lIHBvaW50ZSBwYXMgc3VyIHVuIGNvbW1pdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc1CiBtc2dpZCAic29tZSByZWZzIGNvdWxkIG5vdCBiZSByZWFkIgogbXNnc3RyICJkZXMgcsOpZsOpcmVuY2VzIG4nb250IHBhcyBwdSDDqnRyZSBsdWVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MgorIzogYnVpbHRpbi9icmFuY2guYzo2ODgKIG1zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByZW5vbW1lciBsYSBicmFuY2hlIGFjdHVlbGxlLCBpbCBuJ3kgZW4gYSBwYXMuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY5MgorIzogYnVpbHRpbi9icmFuY2guYzo2OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKIG1zZ3N0ciAiTm9tIGRlIGJyYW5jaGUgaW52YWxpZGUgOiAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcwNworIzogYnVpbHRpbi9icmFuY2guYzo3MTMKIG1zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKLW1zZ3N0ciAiRWNoZWMgZGUgcmVub21tYWdlIGRlIGxhIGJyYW5jaGUiCittc2dzdHIgIsOJY2hlYyBkZSByZW5vbW1hZ2UgZGUgbGEgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICJSZW5vbW1hZ2UgZCd1biBicmFuY2hlIG1hbCBub21tw6llICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzE1CisjOiBidWlsdGluL2JyYW5jaC5jOjcyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgogbXNnc3RyICJMYSBicmFuY2hlIGEgw6l0w6kgcmVub21tw6llIGVuICVzLCBtYWlzIEhFQUQgbidlc3QgcGFzIG1pc2Ugw6Agam91ciAhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcyMgorIzogYnVpbHRpbi9icmFuY2guYzo3MjgKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCi1tc2dzdHIgIkxhIGJyYW5jaGUgZXN0IHJlbm9tbcOpZSwgbWFpcyBsYSBtaXNlIMOgIGpvdXIgZHUgZmljaGllciBkZSBjb25maWcgYSDDqWNob3XDqSIKK21zZ3N0ciAiIgorIkxhIGJyYW5jaGUgZXN0IHJlbm9tbcOpZSwgbWFpcyBsYSBtaXNlIMOgIGpvdXIgZHUgZmljaGllciBkZSBjb25maWd1cmF0aW9uIGEgIgorIsOpY2hvdcOpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjczNworIzogYnVpbHRpbi9icmFuY2guYzo3NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICJub20gZCdvYmpldCBtYWxmb3Jtw6kgJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzYxCisjOiBidWlsdGluL2JyYW5jaC5jOjc2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgYnJhbmNoIGRlc2NyaXB0aW9uIHRlbXBsYXRlOiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgbW9kw6hsZSBkZSBkZXNjcmlwdGlvbiBkZSBicmFuY2hlIDogJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkxCisjOiBidWlsdGluL2JyYW5jaC5jOjc5NwogbXNnaWQgIkdlbmVyaWMgb3B0aW9ucyIKIG1zZ3N0ciAiT3B0aW9ucyBnw6luw6lyaXF1ZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkzCisjOiBidWlsdGluL2JyYW5jaC5jOjc5OQogbXNnaWQgInNob3cgaGFzaCBhbmQgc3ViamVjdCwgZ2l2ZSB0d2ljZSBmb3IgdXBzdHJlYW0gYnJhbmNoIgogbXNnc3RyICJhZmZpY2hlciBsZSBoYWNoYWdlIGV0IGxlIHN1amV0LCBkb3VibMOpIHBvdXIgbGEgYnJhbmNoZSBhbW9udCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAwCiBtc2dpZCAic3VwcHJlc3MgaW5mb3JtYXRpb25hbCBtZXNzYWdlcyIKIG1zZ3N0ciAic3VwcHJpbWVyIGxlcyBtZXNzYWdlcyBkJ2luZm9ybWF0aW9uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NQorIzogYnVpbHRpbi9icmFuY2guYzo4MDEKIG1zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKIG1zZ3N0ciAicsOpZ2xlciBsZSBtb2RlIGRlIHN1aXZpICh2b2lyIGdpdC1wdWxsKDEpKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAzCiBtc2dpZCAiY2hhbmdlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgIm1vZGlmaWVyIGwnaW5mb3JtYXRpb24gYW1vbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAxCisjOiBidWlsdGluL2JyYW5jaC5jOjgwNwogbXNnaWQgInVzZSBjb2xvcmVkIG91dHB1dCIKIG1zZ3N0ciAidXRpbGlzZXIgbGEgY29sb3JhdGlvbiBkYW5zIGxhIHNvcnRpZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA4CiBtc2dpZCAiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAiYWdpciBzdXIgbGVzIGJyYW5jaGVzIGRlIHN1aXZpIGRpc3RhbnRlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDUgYnVpbHRpbi9icmFuY2guYzo4MTEgYnVpbHRpbi9icmFuY2guYzo4MzIKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM4IGJ1aWx0aW4vY29tbWl0LmM6MTM2OCBidWlsdGluL2NvbW1pdC5jOjEzNjkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3MCBidWlsdGluL2NvbW1pdC5jOjEzNzEgYnVpbHRpbi90YWcuYzo0NjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODExIGJ1aWx0aW4vYnJhbmNoLmM6ODE3IGJ1aWx0aW4vYnJhbmNoLmM6ODM4CisjOiBidWlsdGluL2JyYW5jaC5jOjg0NCBidWlsdGluL2NvbW1pdC5jOjE0NjAgYnVpbHRpbi9jb21taXQuYzoxNDYxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjIgYnVpbHRpbi9jb21taXQuYzoxNDYzIGJ1aWx0aW4vdGFnLmM6NDY4CiBtc2dpZCAiY29tbWl0IgotbXNnc3RyICJ2YWxpZGVyIgorbXNnc3RyICJjb21taXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA2IGJ1aWx0aW4vYnJhbmNoLmM6ODEyCisjOiBidWlsdGluL2JyYW5jaC5jOjgxMiBidWlsdGluL2JyYW5jaC5jOjgxOAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgYnJhbmNoZXMgcXVpIGNvbnRpZW5uZW50IGxlIGNvbW1pdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI0CiBtc2dpZCAiU3BlY2lmaWMgZ2l0LWJyYW5jaCBhY3Rpb25zOiIKIG1zZ3N0ciAiQWN0aW9ucyBzcMOpY2lmaXF1ZXMgw6AgZ2l0LWJyYW5jaCA6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgxOQorIzogYnVpbHRpbi9icmFuY2guYzo4MjUKIG1zZ2lkICJsaXN0IGJvdGggcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAiYWZmaWNoZXIgw6AgbGEgZm9pcyBsZXMgYnJhbmNoZXMgZGUgc3VpdmkgZXQgbGVzIGJyYW5jaGVzIGxvY2FsZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIxCisjOiBidWlsdGluL2JyYW5jaC5jOjgyNwogbXNnaWQgImRlbGV0ZSBmdWxseSBtZXJnZWQgYnJhbmNoIgogbXNnc3RyICJzdXBwcmltZXIgdW5lIGJyYW5jaGUgdG90YWxlbWVudCBmdXNpb25uw6llIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyMgorIzogYnVpbHRpbi9icmFuY2guYzo4MjgKIG1zZ2lkICJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIgogbXNnc3RyICJzdXBwcmltZXIgdW5lIGJyYW5jaGUgKG3Dqm1lIG5vbiBmdXNpb25uw6llKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI5CiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCiBtc2dzdHIgImTDqXBsYWNlci9yZW5vbW1lciB1bmUgYnJhbmNoZSBldCBzb24gcmVmbG9nIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyNAorIzogYnVpbHRpbi9icmFuY2guYzo4MzAKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICJkw6lwbGFjZXIvcmVub21tZXIgdW5lIGJyYW5jaGUsIG3Dqm1lIHNpIGxhIGNpYmxlIGV4aXN0ZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMxCiBtc2dpZCAibGlzdCBicmFuY2ggbmFtZXMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBub21zIGRlcyBicmFuY2hlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMyCiBtc2dpZCAiY3JlYXRlIHRoZSBicmFuY2gncyByZWZsb2ciCiBtc2dzdHIgImNyw6llciBsZSByZWZsb2cgZGUgbGEgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM0CiBtc2dpZCAiZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2giCiBtc2dzdHIgIsOpZGl0ZXIgbGEgZGVzY3JpcHRpb24gZGUgbGEgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM1CiBtc2dpZCAiZm9yY2UgY3JlYXRpb24gKHdoZW4gYWxyZWFkeSBleGlzdHMpIgogbXNnc3RyICJmb3JjZXIgbGEgY3LDqWF0aW9uIChtw6ptZSBzaSBsYSBjaWJsZSBleGlzdGUpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzMgorIzogYnVpbHRpbi9icmFuY2guYzo4MzgKIG1zZ2lkICJwcmludCBvbmx5IG5vdCBtZXJnZWQgYnJhbmNoZXMiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgYnJhbmNoZXMgbm9uIGZ1c2lvbm7DqWVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzOAorIzogYnVpbHRpbi9icmFuY2guYzo4NDQKIG1zZ2lkICJwcmludCBvbmx5IG1lcmdlZCBicmFuY2hlcyIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyBicmFuY2hlcyBmdXNpb25uw6llcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ4CiBtc2dpZCAibGlzdCBicmFuY2hlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJhZmZpY2hlciBsZXMgYnJhbmNoZXMgZW4gY29sb25uZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODU1CisjOiBidWlsdGluL2JyYW5jaC5jOjg2MQogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICLDiWNoZWMgZGUgcsOpc29sdXRpb24gZGUgSEVBRCBjb21tZSByw6lmw6lyZW5jZSB2YWxpZGUuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg2MCBidWlsdGluL2Nsb25lLmM6NjE5CisjOiBidWlsdGluL2JyYW5jaC5jOjg2NiBidWlsdGluL2Nsb25lLmM6NjI5CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIkhFQUQgbm9uIHRyb3V2w6llIHNvdXMgcmVmcy9oZWFkcyAhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg4MworIzogYnVpbHRpbi9icmFuY2guYzo4OTAKIG1zZ2lkICItLWNvbHVtbiBhbmQgLS12ZXJib3NlIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tY29sdW1uIGV0IC0tdmVyYm9zZSBzb250IGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODg5IGJ1aWx0aW4vYnJhbmNoLmM6OTI4CisjOiBidWlsdGluL2JyYW5jaC5jOjg5NiBidWlsdGluL2JyYW5jaC5jOjkzNQogbXNnaWQgImJyYW5jaCBuYW1lIHJlcXVpcmVkIgogbXNnc3RyICJsZSBub20gZGUgYnJhbmNoZSBlc3QgcmVxdWlzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkwNAorIzogYnVpbHRpbi9icmFuY2guYzo5MTEKIG1zZ2lkICJDYW5ub3QgZ2l2ZSBkZXNjcmlwdGlvbiB0byBkZXRhY2hlZCBIRUFEIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGTDqWNyaXJlIHVuZSBIRUFEIGTDqXRhY2jDqWUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTA5CisjOiBidWlsdGluL2JyYW5jaC5jOjkxNgogbXNnaWQgImNhbm5vdCBlZGl0IGRlc2NyaXB0aW9uIG9mIG1vcmUgdGhhbiBvbmUgYnJhbmNoIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6lkaXRlciBsYSBkZXNjcmlwdGlvbiBkZSBwbHVzIGQndW5lIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTE2CisjOiBidWlsdGluL2JyYW5jaC5jOjkyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBjb21taXQgb24gYnJhbmNoICclcycgeWV0LiIKIG1zZ3N0ciAiQXVjdW4gY29tbWl0IHN1ciBsYSBicmFuY2hlICclcycuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkxOQorIzogYnVpbHRpbi9icmFuY2guYzo5MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gYnJhbmNoIG5hbWVkICclcycuIgogbXNnc3RyICJBdWN1bmUgYnJhbmNoZSBub21tw6llICclcycuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkzNAorIzogYnVpbHRpbi9icmFuY2guYzo5NDEKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyBmb3IgYSByZW5hbWUgb3BlcmF0aW9uIgogbXNnc3RyICJ0cm9wIGRlIGJyYW5jaGVzIHBvdXIgdW5lIG9ww6lyYXRpb24gZGUgcmVub21tYWdlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkzOQorIzogYnVpbHRpbi9icmFuY2guYzo5NDYKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyB0byBzZXQgbmV3IHVwc3RyZWFtIgogbXNnc3RyICJ0cm9wIGRlIGJyYW5jaGVzIHBvdXIgc3DDqWNpZmllciB1bmUgYnJhbmNoZSBhbW9udCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjb3VsZCBub3Qgc2V0IHVwc3RyZWFtIG9mIEhFQUQgdG8gJXMgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKLW1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzcMOpY2lmaWVyIHVuZSBicmFuY2hlIGFtb250IGRlIEhFQUQgcGFyICVzIHF1aSBuZSBwb2ludGUgc3VyIGF1Y3VuZSBicmFuY2hlLiIKK21zZ3N0ciAiIgorImltcG9zc2libGUgZGUgc3DDqWNpZmllciB1bmUgYnJhbmNoZSBhbW9udCBkZSBIRUFEIHBhciAlcyBxdWkgbmUgcG9pbnRlIHN1ciAiCisiYXVjdW5lIGJyYW5jaGUuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk0NiBidWlsdGluL2JyYW5jaC5jOjk2OCBidWlsdGluL2JyYW5jaC5jOjk5MAorIzogYnVpbHRpbi9icmFuY2guYzo5NTMgYnVpbHRpbi9icmFuY2guYzo5NzUgYnVpbHRpbi9icmFuY2guYzo5OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2ggJyVzJyIKIG1zZ3N0ciAicGFzIGRlIGJyYW5jaGUgJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NTAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJsYSBicmFuY2hlICclcycgbidleGlzdGUgcGFzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk2MgorIzogYnVpbHRpbi9icmFuY2guYzo5NjkKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyB0byB1bnNldCB1cHN0cmVhbSIKIG1zZ3N0ciAidHJvcCBkZSBicmFuY2hlcyBwb3VyIGTDqXNhY3RpdmVyIHVuIGFtb250IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk2NgorIzogYnVpbHRpbi9icmFuY2guYzo5NzMKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgdXBzdHJlYW0gb2YgSEVBRCB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgotbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqXNhY3RpdmVyIHVuZSBicmFuY2hlIGFtb250IGRlIEhFQUQgcXVhbmQgZWxsZSBuZSBwb2ludGUgc3VyIGF1Y3VuZSBicmFuY2hlLiIKK21zZ3N0ciAiIgorImltcG9zc2libGUgZGUgZMOpc2FjdGl2ZXIgdW5lIGJyYW5jaGUgYW1vbnQgZGUgSEVBRCBxdWFuZCBlbGxlIG5lIHBvaW50ZSBzdXIgIgorImF1Y3VuZSBicmFuY2hlLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NzIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIGhhcyBubyB1cHN0cmVhbSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiTGEgYnJhbmNoZSAnJXMnIG4nYSBhdWN1bmUgaW5mb3JtYXRpb24gZGUgYnJhbmNoZSBhbW9udCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5ODcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTk0CiBtc2dpZCAiaXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBjcmVhdGUgJ0hFQUQnIG1hbnVhbGx5IgotbXNnc3RyICJjcsOpZXIgbWFudWVsbGVtZW50ICdIRUFEJyBuJ2EgYXVjdW4gc2VucyIKK21zZ3N0ciAiY3LDqWVyIG1hbnVlbGxlbWVudCAnSEVBRCcgbidhIHBhcyBkZSBzZW5zIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk5MworIzogYnVpbHRpbi9icmFuY2guYzoxMDAwCiBtc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKLW1zZ3N0ciAibGVzIG9wdGlvbnMgLWEgZXQgLXIgZGUgJ2dpdCBicmFuY2gnIG4nb250IHBhcyBkZSBzZW5zIGF2ZWMgdW4gbm9tIGRlIGJyYW5jaGUiCittc2dzdHIgIiIKKyJsZXMgb3B0aW9ucyAtYSBldCAtciBkZSAnZ2l0IGJyYW5jaCcgbidvbnQgcGFzIGRlIHNlbnMgYXZlYyB1biBub20gZGUgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5OTYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC0tc2V0LXVwc3RyZWFtIGZsYWcgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBDb25zaWRlciB1c2luZyAtLSIKICJ0cmFjayBvciAtLXNldC11cHN0cmVhbS10b1xuIgotbXNnc3RyICJsJ29wdGlvbiAtLXNldC11cHN0cmVhbSBlc3Qgb2Jzb2zDqHRlIGV0IHZhIGRpc3BhcmHDrnRyZS4gVXRpbGlzZXogcGx1dMO0dCAtLXRyYWNrIG91IC0tc2V0LXVwc3RyZWFtLXRvXG4iCittc2dzdHIgIiIKKyJsJ29wdGlvbiAtLXNldC11cHN0cmVhbSBlc3Qgb2Jzb2zDqHRlIGV0IHZhIGRpc3BhcmHDrnRyZS4gVXRpbGlzZXogcGx1dMO0dCAtLSIKKyJ0cmFjayBvdSAtLXNldC11cHN0cmVhbS10b1xuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjEwMTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCiAiSWYgeW91IHdhbnRlZCB0byBtYWtlICclcycgdHJhY2sgJyVzJywgZG8gdGhpczpcbiIKICJcbiIKLW1zZ3N0ciAiXG4iCittc2dzdHIgIiIKKyJcbiIKICJTaSB2b3VzIHZvdWxpZXogcXVlICclcycgc3VpdmUgJyVzJywgZmHDrnRlcyBjZWNpIDpcbiIKICJcbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxMDE0CisjOiBidWlsdGluL2JyYW5jaC5jOjEwMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgIGdpdCBicmFuY2ggLWQgJXNcbiIKIG1zZ3N0ciAiICAgIGdpdCBicmFuY2ggLWQgJXNcbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxMDE1CisjOiBidWlsdGluL2JyYW5jaC5jOjEwMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gJXNcbiIKIG1zZ3N0ciAiICAgIGdpdCBicmFuY2ggLXNldC11cHN0cmVhbS10byAlc1xuIgpAQCAtMjg2MCw0MyArMzI0NCw0NCBAQAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAiTGUgZMOpcGFxdWV0YWdlIGQndW4gY29saXMgcmVxdWllcnQgdW4gZMOpcMO0dC4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzoxNzYKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMTIKIG1zZ2lkICJnaXQgY2F0LWZpbGUgKC10fC1zfC1lfC1wfDx0eXBlPnwtLXRleHRjb252KSA8b2JqZWN0PiIKIG1zZ3N0ciAiZ2l0IGNhdC1maWxlICgtdHwtc3wtZXwtcHw8dHlwZT58LS10ZXh0Y29udikgPG9iamV0PiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjE3NworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMxMwogbXNnaWQgImdpdCBjYXQtZmlsZSAoLS1iYXRjaHwtLWJhdGNoLWNoZWNrKSA8IDxsaXN0X29mX29iamVjdHM+IgogbXNnc3RyICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2h8LS1iYXRjaC1jaGVjaykgPCA8bGlzdGVfZF9vYmpldHM+IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MTk1CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzUwCiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogbXNnc3RyICI8dHlwZT4gcGV1dCDDqnRyZSA6IGJsb2IsIHRyZWUsIGNvbW1pdCBvdSB0YWciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzoxOTYKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNTEKIG1zZ2lkICJzaG93IG9iamVjdCB0eXBlIgogbXNnc3RyICJhZmZpY2hlciBsZSB0eXBlIGRlIGwnb2JqZXQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzoxOTcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNTIKIG1zZ2lkICJzaG93IG9iamVjdCBzaXplIgogbXNnc3RyICJhZmZpY2hlciBsYSB0YWlsbGUgZGUgbCdvYmpldCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjE5OQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM1NAogbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKIG1zZ3N0ciAic29ydGlyIGF2ZWMgdW4gY29kZSBkJ2VycmV1ciBudWwgcXVhbmQgaWwgbid5IGEgYXVjdW5lIGVycmV1ciIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjIwMAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM1NQogbXNnaWQgInByZXR0eS1wcmludCBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJhZmZpY2hlciBhdmVjIG1pc2UgZW4gZm9ybWUgbGUgY29udGVudSBkZSBsJ29iamV0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MjAyCisjOiBidWlsdGluL2NhdC1maWxlLmM6MzU3CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgInBvdXIgbGVzIG9iamV0cyBibG9iLCBsYW5jZXIgdGV4dGNvbnYgc3VyIGxlIGNvbnRlbnUgZGUgbCdvYmpldCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjIwNAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM1OQogbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKLW1zZ3N0ciAiYWZmaWNoZXIgbCdpbmZvcm1hdGlvbiBldCBsZSBjb250ZW51IGRlcyBvYmpldHMgcGFzc8OpcyBlbiBlbnRyw6llIHN0YW5kYXJkIgorbXNnc3RyICIiCisiYWZmaWNoZXIgbCdpbmZvcm1hdGlvbiBldCBsZSBjb250ZW51IGRlcyBvYmpldHMgcGFzc8OpcyBlbiBlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MjA3CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzYyCiBtc2dpZCAic2hvdyBpbmZvIGFib3V0IG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJhZmZpY2hlciBsJ2luZm9ybWF0aW9uIGRlcyBvYmpldHMgcGFzc8OpcyBlbiBlbnRyw6llIHN0YW5kYXJkIgogCkBAIC0yOTA2LDcgKzMyOTEsOCBAQAogCiAjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMgogbXNnaWQgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IGF0dHIuLi5dIDwgPGxpc3Qtb2YtcGF0aHM+IgotbXNnc3RyICJnaXQgY2hlY2stYXR0ciAtLXN0ZGluIFstel0gWy1hIHwgLS1hbGwgfCBhdHRyLi4uXSA8IDxsaXN0ZS1kZS1jaGVtaW5zPiIKK21zZ3N0ciAiIgorImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IGF0dHIuLi5dIDwgPGxpc3RlLWRlLWNoZW1pbnM+IgogCiAjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxOQogbXNnaWQgInJlcG9ydCBhbGwgYXR0cmlidXRlcyBzZXQgb24gZmlsZSIKQEAgLTI5MTgsMzYgKzMzMDQsNjUgQEAKIAogIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6NzUKIG1zZ2lkICJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIKLW1zZ3N0ciAibGlyZSBsZXMgbm9tcyBkZSBmaWNoaWVyIGRlcHVpcyBzdGRpbiIKK21zZ3N0ciAibGlyZSBsZXMgbm9tcyBkZSBmaWNoaWVyIGRlcHVpcyBsJ2VudHLDqWUgc3RhbmRhcmQiCiAKICM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjQKLW1zZ2lkICJpbnB1dCBwYXRocyBhcmUgdGVybWluYXRlZCBieSBhIG51bGwgY2hhcmFjdGVyIgotbXNnc3RyICJsZXMgY2hlbWlucyBlbiBlbnRyw6llIHNvbnQgdGVybWluw6lzIHBhciBsZSBjYXJhY3TDqHJlIG51bCIKK21zZ2lkICJ0ZXJtaW5hdGUgaW5wdXQgYW5kIG91dHB1dCByZWNvcmRzIGJ5IGEgTlVMIGNoYXJhY3RlciIKK21zZ3N0ciAidGVybWluZXIgbGVzIGVucmVnaXN0cmVtZW50cyBlbiBlbnRyw6llIGV0IGVuIHNvcnRpZSBwYXIgdW4gY2FyYWN0w6hyZSBOVUwiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjEwNDQgYnVpbHRpbi9nYy5jOjE3NworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTA5MCBidWlsdGluL2djLmM6MjU5CiBtc2dpZCAic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJzdXBwcmltZXIgbCfDqXRhdCBkJ2F2YW5jZW1lbnQiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTQ2CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI2Cittc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCittc2dzdHIgImFmZmljaGVyIGxlcyBjaGVtaW5zIGVuIGVudHLDqWUgcXVpIG5lIGNvcnJlc3BvbmRlbnQgcGFzIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI4Cittc2dpZCAiaWdub3JlIGluZGV4IHdoZW4gY2hlY2tpbmciCittc2dzdHIgImlnbm9yZXIgbCdpbmRleCBwZW5kYW50IGxhIHbDqXJpZmljYXRpb24iCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU0CiBtc2dpZCAiY2Fubm90IHNwZWNpZnkgcGF0aG5hbWVzIHdpdGggLS1zdGRpbiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzcMOpY2lmaWVyIGxlcyBjaGVtaW5zIGF2ZWMgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNDkKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU3CiBtc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIi16IG4nYSBkZSBzZW5zIHF1J2F2ZWMgbCdvcHRpb24gLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTEKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU5CiBtc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCiBtc2dzdHIgImF1Y3VuIGNoZW1pbiBzcMOpY2lmacOpIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjMKIG1zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKIG1zZ3N0ciAiLS1xdWlldCBuJ2VzdCB2YWxpZGUgcXUnYXZlYyB1biBzZXVsIGNoZW1pbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTcKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY1CiBtc2dpZCAiY2Fubm90IGhhdmUgYm90aCAtLXF1aWV0IGFuZCAtLXZlcmJvc2UiCiBtc2dzdHIgImltcG9zc2libGUgZCdhdm9pciAtLXF1aWV0IGV0IC0tdmVyYm9zZSIKIAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjgKK21zZ2lkICItLW5vbi1tYXRjaGluZyBpcyBvbmx5IHZhbGlkIHdpdGggLS12ZXJib3NlIgorbXNnc3RyICItLW5vbi1tYXRjaGluZyBuJ2VzdCB2YWxpZGUgcXUnYXZlYyAtLXZlcmJvc2UiCisKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjgKK21zZ2lkICJnaXQgY2hlY2stbWFpbG1hcCBbb3B0aW9uc10gPGNvbnRhY3Q+Li4uIgorbXNnc3RyICJnaXQgY2hlY2stbWFpbG1hcCBbb3B0aW9uc10gPGNvbnRhY3Q+Li4uIgorCisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoxMworbXNnaWQgImFsc28gcmVhZCBjb250YWN0cyBmcm9tIHN0ZGluIgorbXNnc3RyICJsaXJlIGF1c3NpIGxlcyBjb250YWN0cyBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgorCisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoyNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29udGFjdDogJXMiCittc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsZSBjb250YWN0IDogJXMiCisKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjQ3Cittc2dpZCAibm8gY29udGFjdHMgc3BlY2lmaWVkIgorbXNnc3RyICJhdWN1biBjb250YWN0IHNww6ljaWZpw6kiCisKICM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxMjYKIG1zZ2lkICJnaXQgY2hlY2tvdXQtaW5kZXggW29wdGlvbnNdIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCBjaGVja291dC1pbmRleCBbb3B0aW9uc10gWy0tXSBbPGZpY2hpZXI+Li4uXSIKQEAgLTI5NjIsNyArMzM3Nyw5IEBACiAKICM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxOTAKIG1zZ2lkICJubyB3YXJuaW5nIGZvciBleGlzdGluZyBmaWxlcyBhbmQgZmlsZXMgbm90IGluIGluZGV4IgotbXNnc3RyICJwYXMgZCdhdmVydGlzc2VtZW50IHBvdXIgbGVzIGZpY2hpZXJzIGV4aXN0YW50cyBldCBsZXMgZmljaGllcnMgYWJzZW50cyBkZSBsJ2luZGV4IgorbXNnc3RyICIiCisicGFzIGQnYXZlcnRpc3NlbWVudCBwb3VyIGxlcyBmaWNoaWVycyBleGlzdGFudHMgZXQgbGVzIGZpY2hpZXJzIGFic2VudHMgZGUgIgorImwnaW5kZXgiCiAKICM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxOTIKIG1zZ2lkICJkb24ndCBjaGVja291dCBuZXcgZmlsZXMiCkBAIC0zMDAwLDEwNiArMzQxNywxMDggQEAKIG1zZ2lkICJnaXQgY2hlY2tvdXQgW29wdGlvbnNdIFs8YnJhbmNoPl0gLS0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgY2hlY2tvdXQgW29wdGlvbnNdIFs8YnJhbmNoZT5dIC0tIDxmaWNoaWVyPi4uLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNyBidWlsdGluL2NoZWNrb3V0LmM6MTUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCiBtc2dzdHIgImxlIGNoZW1pbiAnJXMnIG4nYSBwYXMgbm90cmUgdmVyc2lvbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOSBidWlsdGluL2NoZWNrb3V0LmM6MTUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgdGhlaXIgdmVyc2lvbiIKIG1zZ3N0ciAibGUgY2hlbWluICclcycgbidhIHBhcyBsZXVyIHZlcnNpb24iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgYWxsIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAibGUgY2hlbWluICclcycgbidhIGF1Y3VuZSBkZXMgdmVyc2lvbnMgbsOpY2Vzc2FpcmVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTc5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAibGUgY2hlbWluICclcycgbidhIHBhcyBsZXMgdmVyc2lvbnMgbsOpY2Vzc2FpcmVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJzogY2Fubm90IG1lcmdlIgogbXNnc3RyICJjaGVtaW4gJyVzJyA6IGltcG9zc2libGUgZGUgZnVzaW9ubmVyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjEzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgbWVyZ2UgcmVzdWx0IGZvciAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYWpvdXRlciBsZSByw6lzdWx0YXQgZGUgZnVzaW9uIHBvdXIgJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIzNyBidWlsdGluL2NoZWNrb3V0LmM6MjQwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDMKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzIgYnVpbHRpbi9jaGVja291dC5jOjIzNSBidWlsdGluL2NoZWNrb3V0LmM6MjM4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAiJyVzJyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjIGRlcyBtaXNlcyDDoCBqb3VyIGRlIGNoZW1pbnMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDkgYnVpbHRpbi9jaGVja291dC5jOjI1MgorIzogYnVpbHRpbi9jaGVja291dC5jOjI0NCBidWlsdGluL2NoZWNrb3V0LmM6MjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAiJyVzJyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjU1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLiIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBtZXR0cmUgw6Agam91ciBsZXMgY2hlbWlucyBldCBiYXNjdWxlciBzdXIgbGEgYnJhbmNoZSAnJXMnIGVuIG3Dqm1lIHRlbXBzLiIKK21zZ3N0ciAiIgorIkltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGVzIGNoZW1pbnMgZXQgYmFzY3VsZXIgc3VyIGxhIGJyYW5jaGUgJyVzJyBlbiAiCisibcOqbWUgdGVtcHMuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY2IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjEgYnVpbHRpbi9jaGVja291dC5jOjQ1MQogbXNnaWQgImNvcnJ1cHQgaW5kZXggZmlsZSIKIG1zZ3N0ciAiZmljaGllciBkJ2luZGV4IGNvcnJvbXB1IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MzI5IGJ1aWx0aW4vY2hlY2tvdXQuYzozMzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMjIgYnVpbHRpbi9jaGVja291dC5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgImxlIGNoZW1pbiAnJXMnIG4nZXN0IHBhcyBmdXNpb25uw6kiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0ODAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NzMKIG1zZ2lkICJ5b3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKIG1zZ3N0ciAidm91cyBkZXZleiBkJ2Fib3JkIHLDqXNvdWRyZSB2b3RyZSBpbmRleCBjb3VyYW50IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjAxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnXG4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZmFpcmUgdW4gcmVmbG9nIHBvdXIgJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjM0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjMyCiBtc2dpZCAiSEVBRCBpcyBub3cgYXQiCiBtc2dzdHIgIkhFQUQgZXN0IG1haW50ZW5hbnQgc3VyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjQxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlJlbWlzZSDDoCB6w6lybyBkZSBsYSBicmFuY2hlICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY0NAorIzogYnVpbHRpbi9jaGVja291dC5jOjY0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJBbHJlYWR5IG9uICclcydcbiIKIG1zZ3N0ciAiRMOpasOgIHN1ciAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYW5kIHJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIkJhc2N1bGVtZW50IGV0IHJlbWlzZSDDoCB6w6lybyBkZSBsYSBicmFuY2hlICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY1MCBidWlsdGluL2NoZWNrb3V0LmM6OTg3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIkJhc2N1bGVtZW50IHN1ciBsYSBub3V2ZWxsZSBicmFuY2hlICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY1MgorIzogYnVpbHRpbi9jaGVja291dC5jOjY1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJCYXNjdWxlbWVudCBzdXIgbGEgYnJhbmNoZSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MDgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIC4uLiBldCAlZCBlbiBwbHVzLlxuIgogCiAjLiBUaGUgc2luZ3VsYXIgdmVyc2lvbgotIzogYnVpbHRpbi9jaGVja291dC5jOjcxNAorIzogYnVpbHRpbi9jaGVja291dC5jOjcxMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV2FybmluZzogeW91IGFyZSBsZWF2aW5nICVkIGNvbW1pdCBiZWhpbmQsIG5vdCBjb25uZWN0ZWQgdG9cbiIKQEAgLTMxMjIsNyArMzU0MSw3IEBACiAiXG4iCiAiJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjczMgorIzogYnVpbHRpbi9jaGVja291dC5jOjczMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8ga2VlcCB0aGVtIGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTMxMzEsMTU2ICszNTUwLDE2MiBAQAogIiBnaXQgYnJhbmNoIG5ld19icmFuY2hfbmFtZSAlc1xuIgogIlxuIgogbXNnc3RyICIiCi0iU2kgdm91cyBzb3VoYWl0ZXogbGVzIGdhcmRlciBlbiBjcsOpYW50IHVuZSBub3V2ZWxsZSBicmFuY2hlLCBjJ2VzdCBsZSBib24gbW9tZW50XG4iCisiU2kgdm91cyBzb3VoYWl0ZXogbGVzIGdhcmRlciBlbiBjcsOpYW50IHVuZSBub3V2ZWxsZSBicmFuY2hlLCBjJ2VzdCBsZSBib24gIgorIm1vbWVudFxuIgogImRlIGxlIGZhaXJlIGF2ZWMgOlxuIgogIlxuIgogImdpdCBicmFuY2hlIG5vdXZlbGxlX2JyYW5jaGUgJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjc2MAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgImVycmV1ciBpbnRlcm5lIGxvcnMgZHUgcGFyY291cnMgZGVzIHLDqXZpc2lvbnMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjQKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAiTGEgcG9zaXRpb24gcHLDqWPDqWRlbnRlIGRlIEhFQUQgw6l0YWl0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzkzIGJ1aWx0aW4vY2hlY2tvdXQuYzo5ODIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTEgYnVpbHRpbi9jaGVja291dC5jOjEwMjgKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJWb3VzIMOqdGVzIHN1ciB1bmUgYnJhbmNoZSBxdWkgZG9pdCBlbmNvcmUgbmHDrnRyZSIKIAotIy4gY2FzZSAoMSkKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5MTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCittc2dzdHIgInVuZSBzZXVsZSByw6lmw6lyZW5jZSBhdHRlbmR1ZSwgJWQgZm91cm5pZXMuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAicsOpZsOpcmVuY2UgaW52YWxpZGUgOiAlcyIKIAogIy4gY2FzZSAoMSk6IHdhbnQgYSB0cmVlCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTU3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCiBtc2dzdHIgImxhIHLDqWbDqXJlbmNlIG4nZXN0IHBhcyB1biBhcmJyZSA6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0MgogbXNnaWQgInBhdGhzIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQndXRpbGlzZXIgZGVzIGNoZW1pbnMgYXZlYyB1biBiYXNjdWxlbWVudCBkZSBicmFuY2hlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjk5OSBidWlsdGluL2NoZWNrb3V0LmM6MTAwMworIzogYnVpbHRpbi9jaGVja291dC5jOjEwNDUgYnVpbHRpbi9jaGVja291dC5jOjEwNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiJyVzJyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjIHVuIGJhc2N1bGVtZW50IGRlIGJyYW5jaGVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwNyBidWlsdGluL2NoZWNrb3V0LmM6MTAxMCBidWlsdGluL2NoZWNrb3V0LmM6MTAxNQotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJyVzJyIKIG1zZ3N0ciAiJyVzJyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjICclcyciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDIzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3dpdGNoIGJyYW5jaCB0byBhIG5vbi1jb21taXQgJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBiYXNjdWxlciBkZSBicmFuY2hlIHZlcnMgJyVzJyBxdWkgbidlc3QgcGFzIHVuIGNvbW1pdCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNDUgYnVpbHRpbi9jaGVja291dC5jOjEwNDcgYnVpbHRpbi9jbG9uZS5jOjkwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5MSBidWlsdGluL2NoZWNrb3V0LmM6MTA5MyBidWlsdGluL2Nsb25lLmM6ODgKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY5IGJ1aWx0aW4vcmVtb3RlLmM6MTcxCiBtc2dpZCAiYnJhbmNoIgogbXNnc3RyICJicmFuY2hlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0NgorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTIKIG1zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiY3LDqWVyIGV0IGV4dHJhaXJlIHVuZSBub3V2ZWxsZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTQKIG1zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgogbXNnc3RyICJjcsOpZXIvcsOpaW5pdGlhbGlzZXIgZXQgZXh0cmFpcmUgdW5lIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NQogbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCi1tc2dzdHIgImNyw6llciB1biByZWZvZyBwb3VyIHVuZSBub3V2ZWxsZSBicmFuY2hlIgorbXNnc3RyICJjcsOpZXIgdW4gcmVmbG9nIHBvdXIgdW5lIG5vdXZlbGxlIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NgogbXNnaWQgImRldGFjaCB0aGUgSEVBRCBhdCBuYW1lZCBjb21taXQiCiBtc2dzdHIgImTDqXRhY2hlciBsYSBIRUFEIMOgIGxhIHZhbGlkYXRpb24gbm9tbcOpZSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk3CiBtc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgInBhcmFtw6l0cmVyIGwnaW5mb3JtYXRpb24gZGUgYnJhbmNoZSBhbW9udCBwb3VyIHVuZSBub3V2ZWxsZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1MworIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTkKIG1zZ2lkICJuZXcgYnJhbmNoIgogbXNnc3RyICJub3V2ZWxsZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1MworIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTkKIG1zZ2lkICJuZXcgdW5wYXJlbnRlZCBicmFuY2giCiBtc2dzdHIgIm5vdXZlbGxlIGJyYW5jaGUgc2FucyBwYXJlbnQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwMAogbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAiZXh0cmFpcmUgbm90cmUgdmVyc2lvbiBwb3VyIGxlcyBmaWNoaWVycyBub24gZnVzaW9ubsOpcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAyCiBtc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgImV4dHJhaXJlIGxldXIgdmVyc2lvbiBwb3VyIGxlcyBmaWNoaWVycyBub24gZnVzaW9ubsOpcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA0CiBtc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCiBtc2dzdHIgImZvcmNlciBsJ2V4dHJhY3Rpb24gKGxhaXNzZXIgdG9tYmVyIGxlcyBtb2RpZmljYXRpb25zIGxvY2FsZXMpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDUKIG1zZ2lkICJwZXJmb3JtIGEgMy13YXkgbWVyZ2Ugd2l0aCB0aGUgbmV3IGJyYW5jaCIKLW1zZ3N0ciAicsOpYWxpc2VyIHVuZSBmdXNpb24gw6AgMyBwb2ludHMgYXZlYyBsYSBub3V2ZWxsZSBicmFuY2hlIgorbXNnc3RyICJlZmZlY3R1ZXIgdW5lIGZ1c2lvbiDDoCAzIHBvaW50cyBhdmVjIGxhIG5vdXZlbGxlIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYwIGJ1aWx0aW4vbWVyZ2UuYzoyMTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA2IGJ1aWx0aW4vbWVyZ2UuYzoyMzIKIG1zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCiBtc2dzdHIgIm1ldHRyZSDDoCBqb3VyIGxlcyBmaWNoaWVycyBpZ25vcsOpcyAocGFyIGTDqWZhdXQpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MSBidWlsdGluL2xvZy5jOjExNTggcGFyc2Utb3B0aW9ucy5oOjI0NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDcgYnVpbHRpbi9sb2cuYzoxMjI4IHBhcnNlLW9wdGlvbnMuaDoyNTEKIG1zZ2lkICJzdHlsZSIKIG1zZ3N0ciAic3R5bGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwOAogbXNnaWQgImNvbmZsaWN0IHN0eWxlIChtZXJnZSBvciBkaWZmMykiCiBtc2dzdHIgInN0eWxlIGRlIGNvbmZsaXQgKGZ1c2lvbiBvdSBkaWZmMykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTExMQogbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKLW1zZ3N0ciAibmUgcGFzIGxpbWl0ZXIgbGVzIHNww6ljaWZpY2F0ZXVycyBkZSBjaGVtaW5zIGF1eCBzZXVsZXMgZW50csOpZXMgY3JldXNlcyIKK21zZ3N0ciAibmUgcGFzIGxpbWl0ZXIgbGVzIHNww6ljaWZpY2F0ZXVycyBkZSBjaGVtaW5zIGF1eCBzZXVscyDDqWzDqW1lbnRzIGNyZXV4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NworIzogYnVpbHRpbi9jaGVja291dC5jOjExMTMKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCBuby1zdWNoLWJyYW5jaCciCiBtc2dzdHIgImRldXhpw6htZSBjaGFuY2UgJ2dpdCBjaGVja291dCBicmFuY2hlLWluZXhpc3RhbnRlJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM2CiBtc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItYiwgLUIgZXQgLS1vcnBoYW4gc29udCBtdXR1ZWxsZW1lbnQgZXhjbHVzaWZzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwOAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIi0tdHJhY2sgcmVxdWllcnQgdW4gbm9tIGRlIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTE1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MAogbXNnaWQgIk1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAiTm9tIGRlIGJyYW5jaGUgbWFucXVhbnQgOyBlc3NheWV6IC1iIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExOTcKIG1zZ2lkICJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAic3DDqWNpZmljYXRpb24gZGUgY2hlbWluIGludmFsaWRlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NworIzogYnVpbHRpbi9jaGVja291dC5jOjEyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLlxuIgogIkRpZCB5b3UgaW50ZW5kIHRvIGNoZWNrb3V0ICclcycgd2hpY2ggY2FuIG5vdCBiZSByZXNvbHZlZCBhcyBjb21taXQ/IgogbXNnc3RyICIiCi0iSW1wb3NzaWJsZSBkZSBtZXR0cmUgw6Agam91ciBsZXMgY2hlbWlucyBldCBkZSBiYXNjdWxlciBzdXIgbGEgYnJhbmNoZSAnJXMnIGVuIG3Dqm1lIHRlbXBzLlxuIgorIkltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGVzIGNoZW1pbnMgZXQgZGUgYmFzY3VsZXIgc3VyIGxhIGJyYW5jaGUgJyVzJyAiCisiZW4gbcOqbWUgdGVtcHMuXG4iCiAiU291aGFpdGllei12b3VzIGV4dHJhaXJlICclcycgcXVpIG5lIHBldXQgw6p0cmUgcsOpc29sdSBjb21tZSBjb21taXQgPyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBuJ2FjY2VwdGUgcGFzIHVuIGFyZ3VtZW50IGRlIGNoZW1pbiAnJXMnIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTMKIG1zZ2lkICIiCiAiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2UgYW5kIC0tbWVyZ2UgYXJlIGluY29tcGF0aWJsZSB3aGVuXG4iCiAiY2hlY2tpbmcgb3V0IG9mIHRoZSBpbmRleC4iCkBAIC0zMjg4LDMwNSArMzcxMyw0MjYgQEAKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBldCAtLW1lcmdlIHNvbnQgaW5jb21wYXRpYmxlcyBsb3JzXG4iCiAiZGUgbCdleHRyYWN0aW9uIGRlIGwnaW5kZXguIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjAKLW1zZ2lkICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstbl0gWy1xXSBbLWUgPHBhdHRlcm4+XSBbLXggfCAtWF0gWy0tXSA8cGF0aHM+Li4uIgotbXNnc3RyICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstbl0gWy1xXSBbLWUgPG1vdGlmPl0gWy14IHwgLVhdIFstLV0gPGNoZW1pbnM+Li4uIgorIzogYnVpbHRpbi9jbGVhbi5jOjI2Cittc2dpZCAiIgorImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxwYXR0ZXJuPl0gWy14IHwgLVhdIFstLV0gPHBhdGhzPi4uLiIKK21zZ3N0ciAiIgorImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxtb3RpZj5dIFsteCB8IC1YXSBbLS1dIDxjaGVtaW5zPi4uLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI0CisjOiBidWlsdGluL2NsZWFuLmM6MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXNcbiIKIG1zZ3N0ciAiU3VwcHJlc3Npb24gZGUgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI1CisjOiBidWlsdGluL2NsZWFuLmM6MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgcmVtb3ZlICVzXG4iCiBtc2dzdHIgIlN1cHByaW1lcmFpdCAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjYKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMgogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIklnbm9yZSBsZSBkw6lww7R0ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyNworIzogYnVpbHRpbi9jbGVhbi5jOjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHNraXAgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICJJZ25vcmVyYWl0IGxlIGTDqXDDtHQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI4CisjOiBidWlsdGluL2NsZWFuLmM6MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIHN1cHByZXNzaW9uIGRlICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MTYwCisjOiBidWlsdGluL2NsZWFuLmM6Mjk0Cittc2dpZCAiIgorIlByb21wdCBoZWxwOlxuIgorIjEgICAgICAgICAgLSBzZWxlY3QgYSBudW1iZXJlZCBpdGVtXG4iCisiZm9vICAgICAgICAtIHNlbGVjdCBpdGVtIGJhc2VkIG9uIHVuaXF1ZSBwcmVmaXhcbiIKKyIgICAgICAgICAgIC0gKGVtcHR5KSBzZWxlY3Qgbm90aGluZyIKK21zZ3N0ciAiIgorIkFpZGUgZW4gbGlnbmUgOlxuIgorIjEgICAgICAgICAgIC0gc8OpbGVjdGlvbm5lciB1biDDqWzDqW1lbnQgbnVtw6lyb3TDqVxuIgorImZvbyAgICAgICAgIC0gc8OpbGVjdGlvbm5lciB1biDDqWzDqW1lbnQgcGFyIHVuIHByw6lmaXhlIHVuaXF1ZVxuIgorIiAgICAgICAgICAgIC0gKHZpZGUpIG5lIHJpZW4gc8OpbGVjdGlvbm5lciIKKworIzogYnVpbHRpbi9jbGVhbi5jOjI5OAorbXNnaWQgIiIKKyJQcm9tcHQgaGVscDpcbiIKKyIxICAgICAgICAgIC0gc2VsZWN0IGEgc2luZ2xlIGl0ZW1cbiIKKyIzLTUgICAgICAgIC0gc2VsZWN0IGEgcmFuZ2Ugb2YgaXRlbXNcbiIKKyIyLTMsNi05ICAgIC0gc2VsZWN0IG11bHRpcGxlIHJhbmdlc1xuIgorImZvbyAgICAgICAgLSBzZWxlY3QgaXRlbSBiYXNlZCBvbiB1bmlxdWUgcHJlZml4XG4iCisiLS4uLiAgICAgICAtIHVuc2VsZWN0IHNwZWNpZmllZCBpdGVtc1xuIgorIiogICAgICAgICAgLSBjaG9vc2UgYWxsIGl0ZW1zXG4iCisiICAgICAgICAgICAtIChlbXB0eSkgZmluaXNoIHNlbGVjdGluZyIKK21zZ3N0ciAiIgorIkFpZGUgZW4gbGlnbmUgOlxuIgorIjEgICAgICAgICAgLSBzw6lsZWN0aW9ubmVyIHVuIHNldWwgw6lsw6ltZW50XG4iCisiMy01ICAgICAgICAtIHPDqWxlY3Rpb25uZXIgdW5lIHBsYWdlIGQnw6lsw6ltZW50c1xuIgorIjItMyw2LTkgICAgLSBzw6lsZWN0aW9ubmVyIHBsdXNpZXVycyBwbGFnZXNcbiIKKyJmb28gICAgICAgIC0gc8OpbGVjdGlvbm5lciB1biDDqWzDqW1lbnQgcGFyIHVuIHByw6lmaXhlIHVuaXF1ZVxuIgorIi0uLi4gICAgICAgLSBkw6lzw6lsZWN0aW9ubmVyIGxlcyDDqWzDqW1lbnRzIHNww6ljaWZpw6lzXG4iCisiKiAgICAgICAgICAtIGNob2lzaXIgdG91cyBsZXMgw6lsw6ltZW50c1xuIgorIiAgICAgICAgICAgLSAodmlkZSkgdGVybWluZXIgbGEgc8OpbGVjdGlvbiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjUxNgorIywgYy1mb3JtYXQKK21zZ2lkICJIdWggKCVzKT8iCittc2dzdHIgIkhlaW4gKCVzKSA/IgorCisjOiBidWlsdGluL2NsZWFuLmM6NjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIklucHV0IGlnbm9yZSBwYXR0ZXJucz4+ICIKK21zZ3N0ciAiRW50cmV6IGxlcyBtb3RpZnMgw6AgaWdub3Jlcj4+ICIKKworIzogYnVpbHRpbi9jbGVhbi5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBDYW5ub3QgZmluZCBpdGVtcyBtYXRjaGVkIGJ5OiAlcyIKK21zZ3N0ciAiQVRURU5USU9OIDogSW1wb3NzaWJsZSBkZSB0cm91dmVyIGxlcyDDqWzDqW1lbnRzIGNvcnJlc3BvbmRhbnQgw6AgOiAlcyIKKworIzogYnVpbHRpbi9jbGVhbi5jOjcxNworbXNnaWQgIlNlbGVjdCBpdGVtcyB0byBkZWxldGUiCittc2dzdHIgIlPDqWxlY3Rpb25uZXIgbGVzIMOpbMOpbWVudHMgw6Agc3VwcHJpbWVyIgorCisjOiBidWlsdGluL2NsZWFuLmM6NzU3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92ZSAlcz8gIgorbXNnc3RyICJzdXBwcmltZXIgJXMgPyAiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3ODIKK21zZ2lkICJCeWUuIgorbXNnc3RyICJBdSByZXZvaXIuIgorCisjOiBidWlsdGluL2NsZWFuLmM6NzkwCittc2dpZCAiIgorImNsZWFuICAgICAgICAgICAgICAgLSBzdGFydCBjbGVhbmluZ1xuIgorImZpbHRlciBieSBwYXR0ZXJuICAgLSBleGNsdWRlIGl0ZW1zIGZyb20gZGVsZXRpb25cbiIKKyJzZWxlY3QgYnkgbnVtYmVycyAgIC0gc2VsZWN0IGl0ZW1zIHRvIGJlIGRlbGV0ZWQgYnkgbnVtYmVyc1xuIgorImFzayBlYWNoICAgICAgICAgICAgLSBjb25maXJtIGVhY2ggZGVsZXRpb24gKGxpa2UgXCJybSAtaVwiKVxuIgorInF1aXQgICAgICAgICAgICAgICAgLSBzdG9wIGNsZWFuaW5nXG4iCisiaGVscCAgICAgICAgICAgICAgICAtIHRoaXMgc2NyZWVuXG4iCisiPyAgICAgICAgICAgICAgICAgICAtIGhlbHAgZm9yIHByb21wdCBzZWxlY3Rpb24iCittc2dzdHIgIiIKKyJjbGVhbiAgICAgICAgICAgICAgIC0gZMOpbWFycmVyIGxlIG5ldHRveWFnZVxuIgorImZpbHRlciBieSBwYXR0ZXJuICAgLSBleGNsdXJlIGRlcyDDqWzDqW1lbnRzIHBhciBtb3RpZlxuIgorInNlbGVjdCBieSBudW1iZXJzICAgLSBzw6lsZWN0aW9ubmVyIGxlcyDDqWzDqW1lbnRzIMOgIHN1cHByaW1lciBwYXIgbnVtw6lyb3NcbiIKKyJhc2sgZWFjaCAgICAgICAgICAgIC0gY29uZmlybWVyIGNoYXF1ZSBzdXBwcmVzc2lvbiAoY29tbWUgXCJybSAtaVwiKVxuIgorInF1aXQgICAgICAgICAgICAgICAgLSBhcnLDqnRlciBsZSBuZXR0b3lhZ2VcbiIKKyJoZWxwICAgICAgICAgICAgICAgIC0gY2V0IMOpY3JhblxuIgorIj8gICAgICAgICAgICAgICAgICAgLSBhaWRlIHBvdXIgbGEgc8OpbGVjdGlvbiBlbiBsaWduZSIKKworIzogYnVpbHRpbi9jbGVhbi5jOjgxNworbXNnaWQgIioqKiBDb21tYW5kcyAqKioiCittc2dzdHIgIioqKiBDb21tYW5kZXMgKioqIgorCisjOiBidWlsdGluL2NsZWFuLmM6ODE4Cittc2dpZCAiV2hhdCBub3ciCittc2dzdHIgIkV0IG1haW50ZW5hbnQgPyIKKworIzogYnVpbHRpbi9jbGVhbi5jOjgyNgorbXNnaWQgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW06IgorbXNnaWRfcGx1cmFsICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtczoiCittc2dzdHJbMF0gIlN1cHByaW1lcmFpdCBsJ8OpbMOpbWVudCBzdWl2YW50IDoiCittc2dzdHJbMV0gIlN1cHByaW1lcmFpdCBsZXMgw6lsw6ltZW50cyBzdWl2YW50cyA6IgorCisjOiBidWlsdGluL2NsZWFuLmM6ODQzCittc2dpZCAiTm8gbW9yZSBmaWxlcyB0byBjbGVhbiwgZXhpdGluZy4iCittc2dzdHIgIlBsdXMgZGUgZmljaGllciDDoCBuZXR0b3llciwgc29ydGllLiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjg3NAogbXNnaWQgImRvIG5vdCBwcmludCBuYW1lcyBvZiBmaWxlcyByZW1vdmVkIgogbXNnc3RyICJuZSBwYXMgYWZmaWNoZXIgbGVzIG5vbXMgZGVzIGZpY2hpZXJzIHN1cHByaW3DqXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoxNjIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NzYKIG1zZ2lkICJmb3JjZSIKIG1zZ3N0ciAiZm9yY2VyIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MTY0CisjOiBidWlsdGluL2NsZWFuLmM6ODc3Cittc2dpZCAiaW50ZXJhY3RpdmUgY2xlYW5pbmciCittc2dzdHIgIm5ldHRveWFnZSBpbnRlcmFjdGlmIgorCisjOiBidWlsdGluL2NsZWFuLmM6ODc5CiBtc2dpZCAicmVtb3ZlIHdob2xlIGRpcmVjdG9yaWVzIgogbXNnc3RyICJzdXBwcmltZXIgbGVzIHLDqXBlcnRvaXJlcyBlbnRpZXJzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MTY1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTIgYnVpbHRpbi9ncmVwLmM6NzE3Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDg3IGJ1aWx0aW4vbmFtZS1yZXYuYzoyMzEgYnVpbHRpbi9zaG93LXJlZi5jOjE4MgorIzogYnVpbHRpbi9jbGVhbi5jOjg4MCBidWlsdGluL2Rlc2NyaWJlLmM6NDIwIGJ1aWx0aW4vZ3JlcC5jOjcxOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MyBidWlsdGluL25hbWUtcmV2LmM6MzE1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODUKIG1zZ2lkICJwYXR0ZXJuIgogbXNnc3RyICJtb3RpZiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjE2NgorIzogYnVpbHRpbi9jbGVhbi5jOjg4MQogbXNnaWQgImFkZCA8cGF0dGVybj4gdG8gaWdub3JlIHJ1bGVzIgogbXNnc3RyICJham91dGVyIDxtb3RpZj4gYXV4IHLDqGdsZXMgaWdub3JlIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MTY3CisjOiBidWlsdGluL2NsZWFuLmM6ODgyCiBtc2dpZCAicmVtb3ZlIGlnbm9yZWQgZmlsZXMsIHRvbyIKIG1zZ3N0ciAic3VwcHJpbWVyIGxlcyBmaWNoaWVycyBpZ25vcsOpcywgYXVzc2kiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoxNjkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4ODQKIG1zZ2lkICJyZW1vdmUgb25seSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJzdXBwcmltZXIgc2V1bGVtZW50IGxlcyBmaWNoaWVycyBpZ25vcsOpcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjE4NworIzogYnVpbHRpbi9jbGVhbi5jOjkwMgogbXNnaWQgIi14IGFuZCAtWCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiLXggZXQgLVggbmUgcGV1dmVudCBwYXMgw6p0cmUgdXRpbGlzw6lzIGVuc2VtYmxlIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MTkxCisjOiBidWlsdGluL2NsZWFuLmM6OTA2CiBtc2dpZCAiIgotImNsZWFuLnJlcXVpcmVGb3JjZSBzZXQgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtbiBub3IgLWYgZ2l2ZW47IHJlZnVzaW5nIHRvIGNsZWFuIgotbXNnc3RyICJjbGVhbi5yZXF1aXJlRm9yY2UgcG9zaXRpb25uw6kgw6AgdHJ1ZSBldCBuaSAtbiBuaSAtZiBmb3VybmkgOyByZWZ1cyBkZSBuZXR0b3llciIKLQotIzogYnVpbHRpbi9jbGVhbi5jOjE5NAotbXNnaWQgIiIKLSJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtbiBub3IgLWYgZ2l2ZW47IHJlZnVzaW5nIHRvICIKKyJjbGVhbi5yZXF1aXJlRm9yY2Ugc2V0IHRvIHRydWUgYW5kIG5laXRoZXIgLWksIC1uIG5vciAtZiBnaXZlbjsgcmVmdXNpbmcgdG8gIgogImNsZWFuIgotbXNnc3RyICJjbGVhbi5yZXF1aXJlRm9yY2Ugw6AgdHJ1ZSBwYXIgZMOpZmF1dCBldCBuaSAtbiBuaSAtZiBmb3VybmkgOyByZWZ1cyBkZSBuZXR0b3llciIKK21zZ3N0ciAiIgorImNsZWFuLnJlcXVpcmVGb3JjZSBwb3NpdGlvbm7DqSDDoCB0cnVlIGV0IG5pIC1pLCAtbiBvdSAtZiBmb3VybmkgOyByZWZ1cyBkZSAiCisibmV0dG95ZXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozNworIzogYnVpbHRpbi9jbGVhbi5jOjkwOQorbXNnaWQgIiIKKyJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4gbm9yIC1mIGdpdmVuOyAiCisicmVmdXNpbmcgdG8gY2xlYW4iCittc2dzdHIgIiIKKyJjbGVhbi5yZXF1aXJlRm9yY2Ugw6AgdHJ1ZSBwYXIgZMOpZmF1dCBldCBuaSAtaSwgLW4gb3UgLWYgZm91cm5pIDsgcmVmdXMgZGUgIgorIm5ldHRveWVyIgorCisjOiBidWlsdGluL2Nsb25lLmM6MzYKIG1zZ2lkICJnaXQgY2xvbmUgW29wdGlvbnNdIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBbb3B0aW9uc10gWy0tXSA8ZMOpcMO0dD4gWzxyw6lwZXJ0b2lyZT5dIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjUgYnVpbHRpbi9mZXRjaC5jOjgyIGJ1aWx0aW4vbWVyZ2UuYzoyMTQKLSM6IGJ1aWx0aW4vcHVzaC5jOjQzNgorIzogYnVpbHRpbi9jbG9uZS5jOjY0IGJ1aWx0aW4vZmV0Y2guYzo5NiBidWlsdGluL21lcmdlLmM6MjI5CisjOiBidWlsdGluL3B1c2guYzo0NzQKIG1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgImZvcmNlciBsJ8OpdGF0IGQnYXZhbmNlbWVudCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY3CisjOiBidWlsdGluL2Nsb25lLmM6NjYKIG1zZ2lkICJkb24ndCBjcmVhdGUgYSBjaGVja291dCIKIG1zZ3N0ciAibmUgcGFzIGNyw6llciBkJ2V4dHJhY3Rpb24iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2OCBidWlsdGluL2Nsb25lLmM6NzAgYnVpbHRpbi9pbml0LWRiLmM6NDg4CisjOiBidWlsdGluL2Nsb25lLmM6NjcgYnVpbHRpbi9jbG9uZS5jOjY5IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4OAogbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiY3LDqWVyIHVuIGTDqXDDtHQgbnUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MworIzogYnVpbHRpbi9jbG9uZS5jOjcxCiBtc2dpZCAiY3JlYXRlIGEgbWlycm9yIHJlcG9zaXRvcnkgKGltcGxpZXMgYmFyZSkiCiBtc2dzdHIgImNyw6llciB1biBkw6lww7R0IG1pcm9pciAoaW1wbGlxdWUgZMOpcMO0dCBudSkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NQorIzogYnVpbHRpbi9jbG9uZS5jOjczCiBtc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgInBvdXIgY2xvbmVyIGRlcHVpcyB1biBkw6lww7R0IGxvY2FsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NQogbXNnaWQgImRvbid0IHVzZSBsb2NhbCBoYXJkbGlua3MsIGFsd2F5cyBjb3B5IgogbXNnc3RyICJuZSBwYXMgdXRpbGlzZXIgZGUgbGllbnMgZHVycyBsb2NhdXgsIHRvdWpvdXJzIGNvcGllciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc5CisjOiBidWlsdGluL2Nsb25lLmM6NzcKIG1zZ2lkICJzZXR1cCBhcyBzaGFyZWQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAicsOpZ2xlciBjb21tZSBkw6lww7R0IHBhcnRhZ8OpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODEgYnVpbHRpbi9jbG9uZS5jOjgzCisjOiBidWlsdGluL2Nsb25lLmM6NzkgYnVpbHRpbi9jbG9uZS5jOjgxCiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAiaW5pdGlhbGlzZXIgbGVzIHNvdXMtbW9kdWxlcyBkYW5zIGxlIGNsb25lIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODQgYnVpbHRpbi9pbml0LWRiLmM6NDg1CisjOiBidWlsdGluL2Nsb25lLmM6ODIgYnVpbHRpbi9pbml0LWRiLmM6NDg1CiBtc2dpZCAidGVtcGxhdGUtZGlyZWN0b3J5IgogbXNnc3RyICJyw6lwZXJ0b2lyZS1tb2TDqGxlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODUgYnVpbHRpbi9pbml0LWRiLmM6NDg2CisjOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDg2CiBtc2dpZCAiZGlyZWN0b3J5IGZyb20gd2hpY2ggdGVtcGxhdGVzIHdpbGwgYmUgdXNlZCIKIG1zZ3N0ciAicsOpcGVydG9pcmUgZGVwdWlzIGxlcXVlbCBsZXMgbW9kw6hsZXMgdm9udCDDqnRyZSB1dGlsaXPDqXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NworIzogYnVpbHRpbi9jbG9uZS5jOjg1CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImTDqXDDtHQgZGUgcsOpZsOpcmVuY2UiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OCBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CisjOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAogbXNnaWQgIm5hbWUiCiBtc2dzdHIgIm5vbSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5CisjOiBidWlsdGluL2Nsb25lLmM6ODcKIG1zZ2lkICJ1c2UgPG5hbWU+IGluc3RlYWQgb2YgJ29yaWdpbicgdG8gdHJhY2sgdXBzdHJlYW0iCiBtc2dzdHIgInV0aWxpc2VyIDxub20+IGF1IGxpZXUgZGUgJ29yaWdpbicgcG91ciBzdWl2cmUgbGEgYnJhbmNoZSBhbW9udCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxCisjOiBidWlsdGluL2Nsb25lLmM6ODkKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBpbnN0ZWFkIG9mIHRoZSByZW1vdGUncyBIRUFEIgogbXNnc3RyICJleHRyYWlyZSA8YnJhbmNoZT4gYXUgbGlldSBkZSBsYSBIRUFEIGR1IHLDqXBlcnRvaXJlIGRpc3RhbnQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MworIzogYnVpbHRpbi9jbG9uZS5jOjkxCiBtc2dpZCAicGF0aCB0byBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSIKIG1zZ3N0ciAiY2hlbWluIHZlcnMgZ2l0LXVwbG9hZC1wYWNrIHN1ciBsZSBzZXJ2ZXVyIGRpc3RhbnQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NCBidWlsdGluL2ZldGNoLmM6ODMgYnVpbHRpbi9ncmVwLmM6NjYyCisjOiBidWlsdGluL2Nsb25lLmM6OTIgYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vZ3JlcC5jOjY2MwogbXNnaWQgImRlcHRoIgogbXNnc3RyICJwcm9mb25kZXVyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MwogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgb2YgdGhhdCBkZXB0aCIKIG1zZ3N0ciAiY3LDqWVyIHVuIGNsb25lIHN1cGVyZmljaWVsIGRlIGNldHRlIHByb2ZvbmRldXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NworIzogYnVpbHRpbi9jbG9uZS5jOjk1CiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICJjbG9uZXIgc2V1bGVtZW50IHVuZSBicmFuY2hlLCBIRUFEIG91IC0tYnJhbmNoIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTggYnVpbHRpbi9pbml0LWRiLmM6NDk0CisjOiBidWlsdGluL2Nsb25lLmM6OTYgYnVpbHRpbi9pbml0LWRiLmM6NDk0CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICJnaXRkaXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OSBidWlsdGluL2luaXQtZGIuYzo0OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NyBidWlsdGluL2luaXQtZGIuYzo0OTUKIG1zZ2lkICJzZXBhcmF0ZSBnaXQgZGlyIGZyb20gd29ya2luZyB0cmVlIgogbXNnc3RyICJzw6lwYXJlciBsZSByw6lwZXJ0b2lyZSBnaXQgZGUgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMAorIzogYnVpbHRpbi9jbG9uZS5jOjk4CiBtc2dpZCAia2V5PXZhbHVlIgogbXNnc3RyICJjbMOpPXZhbGV1ciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMQorIzogYnVpbHRpbi9jbG9uZS5jOjk5CiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICJyw6lnbGVyIGxhIGNvbmZpZ3VyYXRpb24gZGFucyBsZSBub3V2ZWF1IGTDqXDDtHQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoyNTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKIG1zZ3N0ciAibGUgZMOpcMO0dCBkZSByw6lmw6lyZW5jZSAnJXMnIG4nZXN0IHBhcyB1biBkw6lww7R0IGxvY2FsLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMxNworIzogYnVpbHRpbi9jbG9uZS5jOjMxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgY3LDqWF0aW9uIGR1IHLDqXBlcnRvaXJlICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTkgYnVpbHRpbi9kaWZmLmM6NzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMTcgYnVpbHRpbi9kaWZmLmM6NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIGR1IHN0YXQgZGUgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMyMQorIzogYnVpbHRpbi9jbG9uZS5jOjMxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgZXhpc3RlIGV0IG4nZXN0IHBhcyB1biByw6lwZXJ0b2lyZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMzNQorIzogYnVpbHRpbi9jbG9uZS5jOjMzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgogbXNnc3RyICLDqWNoZWMgZHUgc3RhdCBkZSAlc1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzU3CisjOiBidWlsdGluL2Nsb25lLmM6MzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgbGluayAnJXMnIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgY3LDqWF0aW9uIGR1IGxpZW4gJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM2MQorIzogYnVpbHRpbi9jbG9uZS5jOjM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBjb3BpZSB2ZXJzICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozODQKKyM6IGJ1aWx0aW4vY2xvbmUuYzozODIgYnVpbHRpbi9jbG9uZS5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJkb25lLlxuIgogbXNnc3RyICJmYWl0LlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzk3CisjOiBidWlsdGluL2Nsb25lLmM6Mzk1CiBtc2dpZCAiIgogIkNsb25lIHN1Y2NlZWRlZCwgYnV0IGNoZWNrb3V0IGZhaWxlZC5cbiIKICJZb3UgY2FuIGluc3BlY3Qgd2hhdCB3YXMgY2hlY2tlZCBvdXQgd2l0aCAnZ2l0IHN0YXR1cydcbiIKICJhbmQgcmV0cnkgdGhlIGNoZWNrb3V0IHdpdGggJ2dpdCBjaGVja291dCAtZiBIRUFEJ1xuIgotbXNnc3RyICJMZSBjbG9uZSBhIHLDqXVzc2ksIG1haXMgbCdleHRyYWN0aW9uIGEgw6ljaG91w6kuXG4iCittc2dzdHIgIiIKKyJMZSBjbG9uZSBhIHLDqXVzc2ksIG1haXMgbCdleHRyYWN0aW9uIGEgw6ljaG91w6kuXG4iCiAiVm91cyBwb3V2ZXogaW5zcGVjdGVyIGNlIHF1aSBhIMOpdMOpIGV4dHJhaXQgYXZlYyAnZ2l0IHN0YXR1cydcbiIKICJldCByw6llc3NheWVyIGwnZXh0cmFjdGlvbiBhdmVjICdnaXQgY2hlY2tvdXQgLWYgSEVBRCdcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ3NgorIzogYnVpbHRpbi9jbG9uZS5jOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCByZW1vdGUgYnJhbmNoICVzIHRvIGNsb25lLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSB0cm91dmVyIGxhIGJyYW5jaGUgZGlzdGFudGUgJyVzJyDDoCBjbG9uZXIuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTUwCisjOiBidWlsdGluL2Nsb25lLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eS4uLiAiCittc2dzdHIgIlbDqXJpZmljYXRpb24gZGUgbGEgY29ubmVjdGl2aXTDqS4uLiAiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1NTcKIG1zZ2lkICJyZW1vdGUgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0cyIKIG1zZ3N0ciAibGUgc2VydmV1ciBkaXN0YW50IG4nYSBwYXMgZW52b3nDqSB0b3VzIGxlcyBvYmpldHMgbsOpY2Vzc2FpcmVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjEwCisjOiBidWlsdGluL2Nsb25lLmM6NjIwCiBtc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgotbXNnc3RyICJsYSBIRUFEIGRpc3RhbnRlIHLDqWbDqHJlIMOgIHVuZSByw6lmw6lyZW5jZSBub24gZXhpc3RhbnRlLCBpbXBvc3NpYmxlIGRlIGwnZXh0cmFpcmUuXG4iCittc2dzdHIgIiIKKyJsYSBIRUFEIGRpc3RhbnRlIHLDqWbDqHJlIMOgIHVuZSByw6lmw6lyZW5jZSBub24gZXhpc3RhbnRlLCBpbXBvc3NpYmxlIGRlICIKKyJsJ2V4dHJhaXJlLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjQxCisjOiBidWlsdGluL2Nsb25lLmM6NjUxCiBtc2dpZCAidW5hYmxlIHRvIGNoZWNrb3V0IHdvcmtpbmcgdHJlZSIKLW1zZ3N0ciAiaW5wb3NzaWJsZSBkJ2V4dHJhaXJlIGxhIGNvcGllIGRlIHRyYXZhaWwiCittc2dzdHIgImltcG9zc2libGUgZCdleHRyYWlyZSBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzQ5CisjOiBidWlsdGluL2Nsb25lLmM6NzU5CiBtc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKIG1zZ3N0ciAiVHJvcCBkJ2FyZ3VtZW50cy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NTMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NjMKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgcmVwb3NpdG9yeSB0byBjbG9uZS4iCiBtc2dzdHIgIlZvdXMgZGV2ZXogc3DDqWNpZmllciB1biBkw6lww7R0IMOgIGNsb25lci4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NjQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1iYXJlIGFuZCAtLW9yaWdpbiAlcyBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICJsZXMgb3B0aW9ucyAtLWJhcmUgZXQgLS1vcmlnaW4gJXMgc29udCBpbmNvbXBhdGlibGVzLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2NworIzogYnVpbHRpbi9jbG9uZS5jOjc3NwogbXNnaWQgIi0tYmFyZSBhbmQgLS1zZXBhcmF0ZS1naXQtZGlyIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICItLWJhcmUgZXQgLS1zZXBhcmF0ZS1naXQtZGlyIHNvbnQgaW5jb21wYXRpYmxlcy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3ODAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwb3NpdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJsZSBkw6lww7R0ICclcycgbidleGlzdGUgcGFzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzg1Ci1tc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCi1tc2dzdHIgIi0tZGVwdGggZXN0IGlnbm9yw6kgZGFucyBsZXMgY2xvbmVzIGxvY2F1eCA6IHV0aWxpc2V6IHBsdXTDtHQgXCJmaWxlOi8vXCIuIgotCiAjOiBidWlsdGluL2Nsb25lLmM6Nzk1Cittc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCittc2dzdHIgIiIKKyItLWRlcHRoIGVzdCBpZ25vcsOpIGRhbnMgbGVzIGNsb25lcyBsb2NhdXggOiB1dGlsaXNleiBwbHV0w7R0IFwiZmlsZTovL1wiLiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjc5NworbXNnaWQgIi0tbG9jYWwgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1sb2NhbCBlc3QgaWdub3LDqSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjgwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhbiBlbXB0eSBkaXJlY3RvcnkuIgotbXNnc3RyICJsZSBjaGVtaW4gZGUgZGVzdGluYXRpb24gJyVzJyBleGlzdGUgZMOpasOgIGV0IG4nZXN0IHBhcyB1biByw6lwZXJ0b2lyZSB2aWRlLiIKK21zZ3N0ciAiIgorImxlIGNoZW1pbiBkZSBkZXN0aW5hdGlvbiAnJXMnIGV4aXN0ZSBkw6lqw6AgZXQgbidlc3QgcGFzIHVuIHLDqXBlcnRvaXJlIHZpZGUuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODA1CisjOiBidWlsdGluL2Nsb25lLmM6ODE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIndvcmtpbmcgdHJlZSAnJXMnIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAibGEgY29waWUgZGUgdHJhdmFpbCAnJXMnIGV4aXN0ZSBkw6lqw6AuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODE4IGJ1aWx0aW4vY2xvbmUuYzo4MzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MzAgYnVpbHRpbi9jbG9uZS5jOjg0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGVzIHLDqXBlcnRvaXJlcyBkZSBwcmVtaWVyIG5pdmVhdSBkYW5zICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MjEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcycuIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciBsZSByw6lwZXJ0b2lyZSBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsICclcycuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODQwCisjOiBidWlsdGluL2Nsb25lLmM6ODUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byBiYXJlIHJlcG9zaXRvcnkgJyVzJy4uLlxuIgogbXNnc3RyICJDbG9uYWdlIGRhbnMgbGUgZMOpcMO0dCBudSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NDIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAiQ2xvbmFnZSBkYW5zICclcycuLi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg3NworIzogYnVpbHRpbi9jbG9uZS5jOjg4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBjbG9uZSAlcyIKIG1zZ3N0ciAiSmUgbmUgc2FpcyBwYXMgY2xvbmVyICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTI2CisjOiBidWlsdGluL2Nsb25lLmM6OTM5IGJ1aWx0aW4vY2xvbmUuYzo5NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIkxhIGJyYW5jaGUgZGlzdGFudGUgJXMgbidhIHBhcyDDqXTDqSB0cm91dsOpZSBkYW5zIGxlIGTDqXDDtHQgYW1vbnQgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MzMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NTAKIG1zZ2lkICJZb3UgYXBwZWFyIHRvIGhhdmUgY2xvbmVkIGFuIGVtcHR5IHJlcG9zaXRvcnkuIgogbXNnc3RyICJWb3VzIHNlbWJsZXogYXZvaXIgY2xvbsOpIHVuIGTDqXDDtHQgdmlkZS4iCiAKQEAgLTM2MjIsMTUgKzQxNjgsMTUgQEAKIG1zZ2lkICItLWNvbW1hbmQgbXVzdCBiZSB0aGUgZmlyc3QgYXJndW1lbnQiCiBtc2dzdHIgIi0tY29tbWFuZCBkb2l0IMOqdHJlIGxlIHByZW1pZXIgYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzYKIG1zZ2lkICJnaXQgY29tbWl0IFtvcHRpb25zXSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBjb21taXQgW29wdGlvbnNdIFstLV0gPHNww6ljaWZpY2F0aW9uLWRlLWNoZW1pbj4uLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDEKIG1zZ2lkICJnaXQgc3RhdHVzIFtvcHRpb25zXSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBzdGF0dXMgW29wdGlvbnNdIFstLV0gPHNww6ljaWZpY2F0aW9uLWRlLWNoZW1pbj4uLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDYKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtMzY0Myw4ICs0MTg5LDEwIEBACiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogbXNnc3RyICIiCi0iVm90cmUgbm9tIGV0IHZvdHJlIGFkcmVzc2UgZS1tYWlsIG9udCDDqXTDqSBjb25maWd1csOpcyBhdXRvbWF0aXF1ZW1lbnQgZW4gc2UgZm9uZGFudFxuIgotInN1ciB2b3RyZSBub20gZCd1dGlsaXNhdGV1ciBldCB2b3RyZSBub20gZCdvcmRpbmF0ZXVyLiBWZXVpbGxleiB2w6lyaWZpZXIgcXUnaWxzIHNvbnQgY29ycmVjdHMuXG4iCisiVm90cmUgbm9tIGV0IHZvdHJlIGFkcmVzc2UgZS1tYWlsIG9udCDDqXTDqSBjb25maWd1csOpcyBhdXRvbWF0aXF1ZW1lbnQgZW4gc2UgIgorImZvbmRhbnRcbiIKKyJzdXIgdm90cmUgbm9tIGQndXRpbGlzYXRldXIgZXQgdm90cmUgbm9tIGQnb3JkaW5hdGV1ci4gVmV1aWxsZXogdsOpcmlmaWVyICIKKyJxdSdpbHMgc29udCBjb3JyZWN0cy5cbiIKICJWb3VzIHBvdXZleiBzdXBwcmltZXIgY2UgbWVzc2FnZSBlbiBsZXMgcGFyYW3DqXRyYW50IGV4cGxpY2l0ZW1lbnQgOlxuIgogIlxuIgogIiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSBcIlZvdHJlIE5vbVwiXG4iCkBAIC0zNjU0LDExOCArNDIwMiwxMzkgQEAKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTgKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIGFtZW5kIHRoZSBtb3N0IHJlY2VudCBjb21taXQsIGJ1dCBkb2luZyBzbyB3b3VsZCBtYWtlXG4iCiAiaXQgZW1wdHkuIFlvdSBjYW4gcmVwZWF0IHlvdXIgY29tbWFuZCB3aXRoIC0tYWxsb3ctZW1wdHksIG9yIHlvdSBjYW5cbiIKICJyZW1vdmUgdGhlIGNvbW1pdCBlbnRpcmVseSB3aXRoIFwiZ2l0IHJlc2V0IEhFQUReXCIuXG4iCi1tc2dzdHIgIlZvdXMgYXZleiBkZW1hbmTDqSBkZSBjb3JyaWdlciBsZSBjb21taXQgbGUgcGx1cyByw6ljZW50LCBtYWlzIGxlIGZhaXJlIGxlIHJlbmRyYWl0XG4iCittc2dzdHIgIiIKKyJWb3VzIGF2ZXogZGVtYW5kw6kgZGUgY29ycmlnZXIgbGUgY29tbWl0IGxlIHBsdXMgcsOpY2VudCwgbWFpcyBsZSBmYWlyZSBsZSAiCisicmVuZHJhaXRcbiIKICJ2aWRlLiBWb3VzIHBvdXZleiByw6lww6l0ZXIgdm90cmUgY29tbWFuZGUgYXZlYyAtLWFsbG93LWVtcHR5LCBvdSB2b3VzIHBvdXZlelxuIgogInN1cHByaW1lciBjb21wbMOodGVtZW50IGxlIGNvbW1pdCBhdmVjIFwiZ2l0IHJlc2V0IEhFQUReXCIuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjMKIG1zZ2lkICIiCiAiVGhlIHByZXZpb3VzIGNoZXJyeS1waWNrIGlzIG5vdyBlbXB0eSwgcG9zc2libHkgZHVlIHRvIGNvbmZsaWN0IHJlc29sdXRpb24uXG4iCiAiSWYgeW91IHdpc2ggdG8gY29tbWl0IGl0IGFueXdheSwgdXNlOlxuIgogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHlcbiIKICJcbiIKLSJPdGhlcndpc2UsIHBsZWFzZSB1c2UgJ2dpdCByZXNldCdcbiIKIG1zZ3N0ciAiIgotIkxlIHBpY29yYWdlIHByw6ljw6lkZW50IGVzdCDDoCBwcsOpc2VudCB2aWRlLCB2cmFpc2VtYmxhYmxlbWVudCBkw7sgw6AgdW5lIHLDqXNvbHV0aW9uIGRlIGNvbmZsaXQuXG4iCisiTGUgcGljb3JhZ2UgcHLDqWPDqWRlbnQgZXN0IMOgIHByw6lzZW50IHZpZGUsIHZyYWlzZW1ibGFibGVtZW50IGTDuyDDoCB1bmUgIgorInLDqXNvbHV0aW9uIGRlIGNvbmZsaXQuXG4iCiAiU2kgdm91cyBzb3VoYWl0ZXogdG91dCBkZSBtw6ptZSBsZSB2YWxpZGVyLCB1dGlsaXNleiA6XG4iCiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eVxuIgogIlxuIgotIlNpbm9uLCB1dGlsaXNleiAnZ2l0IHJlc2V0J1xuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjI2MAorIzogYnVpbHRpbi9jb21taXQuYzo3MAorbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgorbXNnc3RyICJTaW5vbiwgdmV1aWxsZXogdXRpbGlzZXIgJ2dpdCByZXNldCdcbiIKKworIzogYnVpbHRpbi9jb21taXQuYzo3MworbXNnaWQgIiIKKyJJZiB5b3Ugd2lzaCB0byBza2lwIHRoaXMgY29tbWl0LCB1c2U6XG4iCisiXG4iCisiICAgIGdpdCByZXNldFxuIgorIlxuIgorIlRoZW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHdpbGwgcmVzdW1lIGNoZXJyeS1waWNraW5nXG4iCisidGhlIHJlbWFpbmluZyBjb21taXRzLlxuIgorbXNnc3RyICIiCisiU2kgdm91cyBzb3VoYWl0ZXogc2F1dGVyIGNlIGNvbW1pdCwgdXRpbGlzZXogOlxuIgorIlxuIgorIiAgICBnaXQgcmVzZXRcbiIKKyJcbiIKKyJQdWlzIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiBjb250aW51ZXJhIGxlIHBpY29yYWdlIFxuIgorImRlcyBjb21taXRzIHJlc3RhbnRzLlxuIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjI4NwogbXNnaWQgImZhaWxlZCB0byB1bnBhY2sgSEVBRCB0cmVlIG9iamVjdCIKIG1zZ3N0ciAiw6ljaGVjIGR1IGTDqXBhcXVldGFnZSBkZSBsJ29iamV0IGFyYnJlIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzAyCisjOiBidWlsdGluL2NvbW1pdC5jOjMyOQogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciBsJ2luZGV4IHRlbXBvcmFpcmUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzA4CisjOiBidWlsdGluL2NvbW1pdC5jOjMzNQogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSBsJ2Fqb3V0IGludGVyYWN0aWYiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzQxIGJ1aWx0aW4vY29tbWl0LmM6MzYyIGJ1aWx0aW4vY29tbWl0LmM6NDEyCisjOiBidWlsdGluL2NvbW1pdC5jOjM2OCBidWlsdGluL2NvbW1pdC5jOjM4OSBidWlsdGluL2NvbW1pdC5jOjQzOQogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXdfaW5kZXggZmlsZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgZmljaGllciBuZXdfaW5kZXgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzkzCisjOiBidWlsdGluL2NvbW1pdC5jOjQyMAogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmYWlyZSB1bmUgdmFsaWRhdGlvbiBwYXJ0aWVsbGUgcGVuZGFudCB1bmUgZnVzaW9uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozOTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDIyCiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZhaXJlIHVuZSB2YWxpZGF0aW9uIHBhcnRpZWxsZSBwZW5kYW50IHVuIHBpY29yYWdlLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDMyCiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbCdpbmRleCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDUyCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRlbXBvcmFyeSBpbmRleCBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBmaWNoaWVyIGQnaW5kZXggdGVtcG9yYWlyZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1MTMgYnVpbHRpbi9jb21taXQuYzo1MTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTQzIGJ1aWx0aW4vY29tbWl0LmM6NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0OiAlcyIKIG1zZ3N0ciAiY29tbWl0IGludmFsaWRlIDogJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTQyCisjOiBidWlsdGluL2NvbW1pdC5jOjU3MQogbXNnaWQgIm1hbGZvcm1lZCAtLWF1dGhvciBwYXJhbWV0ZXIiCiBtc2dzdHIgInBhcmFtw6h0cmUgLS1hdXRob3IgbWFsIGZvcm3DqSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBpZGVudCBzdHJpbmc6ICclcyciCiBtc2dzdHIgIkNoYcOubmUgaWRlbnQgbWFsIGZvcm3DqWUgOiAnJXMnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYwMCBidWlsdGluL2NvbW1pdC5jOjYzMyBidWlsdGluL2NvbW1pdC5jOjk1NgorIzogYnVpbHRpbi9jb21taXQuYzo2MzAgYnVpbHRpbi9jb21taXQuYzo2NjMgYnVpbHRpbi9jb21taXQuYzoxMDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgY29tbWl0ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJlY2hlcmNoZXIgbGUgY29tbWl0ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYxMiBidWlsdGluL3Nob3J0bG9nLmM6MjcwCisjOiBidWlsdGluL2NvbW1pdC5jOjY0MiBidWlsdGluL3Nob3J0bG9nLmM6MjczCiAjLCBjLWZvcm1hdAogbXNnaWQgIihyZWFkaW5nIGxvZyBtZXNzYWdlIGZyb20gc3RhbmRhcmQgaW5wdXQpXG4iCiBtc2dzdHIgIihsZWN0dXJlIGR1IG1lc3NhZ2UgZGUgam91cm5hbCBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkKVxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYxNAorIzogYnVpbHRpbi9jb21taXQuYzo2NDQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxlIGpvdXJuYWwgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmaWxlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsZSBmaWNoaWVyIGRlIGpvdXJuYWwgJyVzJyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjU0CiBtc2dpZCAiY29tbWl0IGhhcyBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICJsZSBjb21taXQgYSB1biBtZXNzYWdlIHZpZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjQwCisjOiBidWlsdGluL2NvbW1pdC5jOjY3MAogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01TRyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIE1FUkdFX01TRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Njc0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgU1FVQVNIX01TRyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIFNRVUFTSF9NU0ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgJyVzJyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ5CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgbW9kw6hsZSBkZSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzIwCisjOiBidWlsdGluL2NvbW1pdC5jOjc2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0zNzgwLDcgKzQzNDksNyBAQAogIlx0JXNcbiIKICJldCBlc3NheWV6IMOgIG5vdXZlYXUuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzI1CisjOiBidWlsdGluL2NvbW1pdC5jOjc2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0zNzk1LDE2ICs0MzY0LDE3IEBACiAiXHQlc1xuIgogImV0IGVzc2F5ZXogw6Agbm91dmVhdS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCiAid2l0aCAnJWMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCiBtc2dzdHIgIiIKICJWZXVpbGxleiBzYWlzaXIgbGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIHBvdXIgdm9zIG1vZGlmaWNhdGlvbnMuIExlcyBsaWduZXNcbiIKLSJjb21tZW7Dp2FudCBwYXIgJyVjJyBzZXJvbnQgaWdub3LDqWVzLCBldCB1biBtZXNzYWdlIHZpZGUgYWJhbmRvbm5lIGxhIHZhbGlkYXRpb24uXG4iCisiY29tbWVuw6dhbnQgcGFyICclYycgc2Vyb250IGlnbm9yw6llcywgZXQgdW4gbWVzc2FnZSB2aWRlIGFiYW5kb25uZSBsYSAiCisidmFsaWRhdGlvbi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC0zODE1LDE4MDIgKzQzODUsMTg4NCBAQAogImNvbW1lbsOnYW50IHBhciAnJWMnIHNlcm9udCBjb25zZXJ2w6llcyA7IHZvdXMgcG91dmV6IGxlcyBzdXBwcmltZXIgdm91cy1tw6ptZVxuIgogInNpIHZvdXMgbGUgc291aGFpdGV6LiBVbiBtZXNzYWdlIHZpZGUgYWJhbmRvbm5lIGxhIHZhbGlkYXRpb24uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzU1CisjOiBidWlsdGluL2NvbW1pdC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0F1dGhvcjogICAgJXMiCiBtc2dzdHIgIiVzQXV0ZXVyIDogICAgICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc2MgorIzogYnVpbHRpbi9jb21taXQuYzo4MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNDb21taXR0ZXI6ICVzIgogbXNnc3RyICIlc1ZhbGlkYXRldXIgOiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODIyCiBtc2dpZCAiQ2Fubm90IHJlYWQgaW5kZXgiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZSBsJ2luZGV4IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgxOQorIzogYnVpbHRpbi9jb21taXQuYzo4NjUKIG1zZ2lkICJFcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAiRXJyZXVyIGxvcnMgZGUgbGEgY29uc3RydWN0aW9uIGRlcyBhcmJyZXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODM0IGJ1aWx0aW4vdGFnLmM6MzU5CisjOiBidWlsdGluL2NvbW1pdC5jOjg4MCBidWlsdGluL3RhZy5jOjM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgIlZldWlsbGV6IGZvdXJuaXIgbGUgbWVzc2FnZSBlbiB1dGlsaXNhbnQgbCdvcHRpb24gLW0gb3UgLUYuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTMxCisjOiBidWlsdGluL2NvbW1pdC5jOjk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBleGlzdGluZyBhdXRob3IgZm91bmQgd2l0aCAnJXMnIgogbXNnc3RyICJBdWN1biBhdXRldXIgZXhpc3RhbnQgdHJvdXbDqSBhdmVjICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTQ2IGJ1aWx0aW4vY29tbWl0LmM6MTE0MAorIzogYnVpbHRpbi9jb21taXQuYzo5OTcgYnVpbHRpbi9jb21taXQuYzoxMjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAiTW9kZSBkZSBmaWNoaWVyIG5vbiBzdWl2aSBpbnZhbGlkZSAnJXMnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk3NgorIzogYnVpbHRpbi9jb21taXQuYzoxMDM0Cittc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICItLWxvbmcgZXQgLXogc29udCBpbmNvbXBhdGlibGVzIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNjQKIG1zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJMJ3V0aWxpc2F0aW9uIHNpbXVsdGFuw6llIGRlIC0tcmVzZXQtYXV0aG9yIGV0IC0tYXV0aG9yIG4nYSBwYXMgZGUgc2VucyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3NQogbXNnaWQgIllvdSBoYXZlIG5vdGhpbmcgdG8gYW1lbmQuIgogbXNnc3RyICJJbCBuJ3kgYSByaWVuIMOgIGNvcnJpZ2VyLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5OTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3OAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgZW4gcGxlaW5lIGZ1c2lvbiAtLSBpbXBvc3NpYmxlIGRlIGNvcnJpZ2VyIChhbWVuZCkuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk5MgorIzogYnVpbHRpbi9jb21taXQuYzoxMDgwCiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgY2hlcnJ5LXBpY2sgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiVm91cyDDqnRlcyBlbiBwbGVpbiBwaWNvcmFnZSAtLSBpbXBvc3NpYmxlIGRlIGNvcnJpZ2VyIChhbWVuZCkuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk5NQorIzogYnVpbHRpbi9jb21taXQuYzoxMDgzCiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiTGVzIG9wdGlvbnMgLS1zcXVhc2ggZXQgLS1maXh1cCBuZSBwZXV2ZW50IHBhcyDDqnRyZSB1dGlsaXPDqWVzIGVuc2VtYmxlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5MwogbXNnaWQgIk9ubHkgb25lIG9mIC1jLy1DLy1GLy0tZml4dXAgY2FuIGJlIHVzZWQuIgogbXNnc3RyICJVbmUgc2V1bGUgb3B0aW9uIHBhcm1pIC1jLy1DLy1GLy0tZml4dXAgcGV1dCDDqnRyZSB1dGlsaXPDqWUuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5NQogbXNnaWQgIk9wdGlvbiAtbSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtYy8tQy8tRi8tLWZpeHVwLiIKIG1zZ3N0ciAiTCdvcHRpb24gLW0gbmUgcGV1dCBwYXMgw6p0cmUgY29tYmluw6llIGF2ZWMgLWMvLUMvLUYvLS1maXh1cC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAxNQorIzogYnVpbHRpbi9jb21taXQuYzoxMTAzCiBtc2dpZCAiLS1yZXNldC1hdXRob3IgY2FuIGJlIHVzZWQgb25seSB3aXRoIC1DLCAtYyBvciAtLWFtZW5kLiIKIG1zZ3N0ciAiLS1yZXNldC1hdXRob3IgbmUgcGV1dCDDqnRyZSB1dGlsaXPDqSBxdSdhdmVjIC1DLCAtYyBvdSAtLWFtZW5kLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDMyCisjOiBidWlsdGluL2NvbW1pdC5jOjExMjAKIG1zZ2lkICJPbmx5IG9uZSBvZiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBjYW4gYmUgdXNlZC4iCi1tc2dzdHIgIlVuZSBzZXVsZSBvcHRpb24gcGFybWkgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggcGV1dCDDqnRyZSB1dGlsaXPDqWUuIgorbXNnc3RyICIiCisiVW5lIHNldWxlIG9wdGlvbiBwYXJtaSAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBwZXV0ICIKKyLDqnRyZSB1dGlsaXPDqWUuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyMgogbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiQXVjdW4gY2hlbWluIGF2ZWMgbGVzIG9wdGlvbnMgLS1pbmNsdWRlLy0tb25seSBuJ2EgcGFzIGRlIHNlbnMuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMzYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNAogbXNnaWQgIkNsZXZlci4uLiBhbWVuZGluZyB0aGUgbGFzdCBvbmUgd2l0aCBkaXJ0eSBpbmRleC4iCiBtc2dzdHIgIk1hbGluLi4uIGNvcnJlY3Rpb24gZHUgZGVybmllciBhdmVjIHVuIGluZGV4IHNhbGUuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNgogbXNnaWQgIkV4cGxpY2l0IHBhdGhzIHNwZWNpZmllZCB3aXRob3V0IC1pIG5vciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgotbXNnc3RyICIiCittc2dzdHIgIkNoZW1pbnMgZXhwbGljaXRlcyBzcMOpY2lmacOpcyBzYW5zIC1pIG5pIC1vIDsgLS1vbmx5IHN1cHBvc8OpLi4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNDggYnVpbHRpbi90YWcuYzo1NzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEzNiBidWlsdGluL3RhZy5jOjU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJNb2RlIGRlIG5ldHRveWFnZSBpbnZhbGlkZSAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDUzCisjOiBidWlsdGluL2NvbW1pdC5jOjExNDEKIG1zZ2lkICJQYXRocyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgotbXNnc3RyICIiCittc2dzdHIgIlNww6ljaWZpZXIgZGVzIGNoZW1pbnMgYXZlYyBsJ29wdGlvbiAtYSBuJ2EgcGFzIGRlIHNlbnMuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNTkgYnVpbHRpbi9jb21taXQuYzoxMTk0Ci1tc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NCBidWlsdGluL2NvbW1pdC5jOjEzOTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1MSBidWlsdGluL2NvbW1pdC5jOjE0ODIKIG1zZ2lkICJzaG93IHN0YXR1cyBjb25jaXNlbHkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGUgc3RhdHV0IGF2ZWMgY29uY2lzaW9uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNTYgYnVpbHRpbi9jb21taXQuYzoxMzkyCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTMgYnVpbHRpbi9jb21taXQuYzoxNDg0CiBtc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbCdpbmZvcm1hdGlvbiBkZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNTggYnVpbHRpbi9jb21taXQuYzoxMzk0IGJ1aWx0aW4vcHVzaC5jOjQyNgorIzogYnVpbHRpbi9jb21taXQuYzoxMjU1IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NiBidWlsdGluL3B1c2guYzo0NjAKIG1zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKLW1zZ3N0ciAiIgorbXNnc3RyICJzb3J0aWUgcG91ciB0cmFpdGVtZW50IGF1dG9tYXRpcXVlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjEgYnVpbHRpbi9jb21taXQuYzoxMzk2CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTggYnVpbHRpbi9jb21taXQuYzoxNDg4CiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgotbXNnc3RyICIiCittc2dzdHIgImFmZmljaGVyIGxlIHN0YXR1dCBlbiBmb3JtYXQgbG9uZyAocGFyIGTDqWZhdXQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjQgYnVpbHRpbi9jb21taXQuYzoxMzk5CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjEgYnVpbHRpbi9jb21taXQuYzoxNDkxCiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiCi1tc2dzdHIgIiIKK21zZ3N0ciAidGVybWluZXIgbGVzIMOpbMOpbWVudHMgcGFyIE5VTCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTY2IGJ1aWx0aW4vY29tbWl0LmM6MTQwMiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjU5Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjYyIGJ1aWx0aW4vdGFnLmM6NDU5CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjMgYnVpbHRpbi9jb21taXQuYzoxNDk0IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzQKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzcgYnVpbHRpbi90YWcuYzo0NTkKIG1zZ2lkICJtb2RlIgotbXNnc3RyICIiCittc2dzdHIgIm1vZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NyBidWlsdGluL2NvbW1pdC5jOjE0MDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2NCBidWlsdGluL2NvbW1pdC5jOjE0OTQKIG1zZ2lkICJzaG93IHVudHJhY2tlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IGFsbCwgbm9ybWFsLCBuby4gKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIiIKKyJhZmZpY2hlciBsZXMgZmljaGllcnMgbm9uIHN1aXZpcywgXCJtb2RlXCIgZmFjdWx0YXRpZiA6IGFsbCAodG91cyksIG5vcm1hbCwgIgorIm5vLiAoRMOpZmF1dCA6IGFsbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3MAorIzogYnVpbHRpbi9jb21taXQuYzoxMjY3CiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIgotbXNnc3RyICIiCittc2dzdHIgImFmZmljaGVyIGxlcyBmaWNoaWVycyBpZ25vcsOpcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTcxIHBhcnNlLW9wdGlvbnMuaDoxNTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2OCBwYXJzZS1vcHRpb25zLmg6MTU2CiBtc2dpZCAid2hlbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJxdWFuZCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTcyCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjkKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIiIKKyJpZ25vcmVyIGxlcyBtb2RpZmljYXRpb25zIGRhbnMgbGVzIHNvdXMtbW9kdWxlcywgXCJxdWFuZFwiIGZhY3VsdGF0aWYgOiBhbGwgIgorIih0b3VzKSwgZGlydHkgKHNhbGUpLCB1bnRyYWNrZWQgKG5vbiBzdWl2aSkuIChEw6lmYXV0IDogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTc0CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNzEKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgotbXNnc3RyICIiCittc2dzdHIgImFmZmljaGVyIGxlcyBmaWNoaWVycyBub24gc3VpdmlzIGVuIGNvbG9ubmVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyNDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MAogbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSByZXRyb3V2ZXIgbGUgY29tbWl0IG5vdXZlbGxlbWVudCBjcsOpw6kiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1MAorIzogYnVpbHRpbi9jb21taXQuYzoxMzQyCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTI5MQotbXNnaWQgImRldGFjaGVkIEhFQUQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMjkzCi1tc2dpZCAiIChyb290LWNvbW1pdCkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzYwCi1tc2dpZCAic3VwcHJlc3Mgc3VtbWFyeSBhZnRlciBzdWNjZXNzZnVsIGNvbW1pdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNjEKLW1zZ2lkICJzaG93IGRpZmYgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzYzCi1tc2dpZCAiQ29tbWl0IG1lc3NhZ2Ugb3B0aW9ucyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNjQgYnVpbHRpbi90YWcuYzo0NTcKLW1zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2NQotbXNnaWQgImF1dGhvciIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNjUKLW1zZ2lkICJvdmVycmlkZSBhdXRob3IgZm9yIGNvbW1pdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNjYgYnVpbHRpbi9nYy5jOjE3OAotbXNnaWQgImRhdGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzY2Ci1tc2dpZCAib3ZlcnJpZGUgZGF0ZSBmb3IgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2NyBidWlsdGluL21lcmdlLmM6MjA4IGJ1aWx0aW4vbm90ZXMuYzo1MzMKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2OTAgYnVpbHRpbi90YWcuYzo0NTUKLW1zZ2lkICJtZXNzYWdlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2NwotbXNnaWQgImNvbW1pdCBtZXNzYWdlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2OAotbXNnaWQgInJldXNlIGFuZCBlZGl0IG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2OQotbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3MAotbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIGZpeHVwIHNwZWNpZmllZCBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzcxCi1tc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gc3F1YXNoIHNwZWNpZmllZCBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzcyCi1tc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNzMgYnVpbHRpbi9sb2cuYzoxMTEzIGJ1aWx0aW4vcmV2ZXJ0LmM6MTA5Ci1tc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3NAotbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNzUKLW1zZ2lkICJmb3JjZSBlZGl0IG9mIGNvbW1pdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNzYKLW1zZ2lkICJkZWZhdWx0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3NiBidWlsdGluL3RhZy5jOjQ2MAotbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzc3Ci1tc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzc4IGJ1aWx0aW4vbWVyZ2UuYzoyMTUgYnVpbHRpbi90YWcuYzo0NjEKLW1zZ2lkICJrZXkgaWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzc5IGJ1aWx0aW4vbWVyZ2UuYzoyMTYKLW1zZ2lkICJHUEcgc2lnbiBjb21taXQiCi1tc2dzdHIgIiIKLQotIy4gZW5kIGNvbW1pdCBtZXNzYWdlIG9wdGlvbnMKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4MgotbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsZSBjb21taXQgbm91dmVsbGVtZW50IGNyw6nDqSIKIAogIzogYnVpbHRpbi9jb21taXQuYzoxMzgzCi1tc2dpZCAiY29tbWl0IGFsbCBjaGFuZ2VkIGZpbGVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4NAotbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKLW1zZ3N0ciAiIgorbXNnaWQgImRldGFjaGVkIEhFQUQiCittc2dzdHIgIkhFQUQgZMOpdGFjaMOpZSIKIAogIzogYnVpbHRpbi9jb21taXQuYzoxMzg1Cittc2dpZCAiIChyb290LWNvbW1pdCkiCittc2dzdHIgIiAoY29tbWl0IHJhY2luZSkiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MgorbXNnaWQgInN1cHByZXNzIHN1bW1hcnkgYWZ0ZXIgc3VjY2Vzc2Z1bCBjb21taXQiCittc2dzdHIgInN1cHByaW1lciBsZSByw6lzdW3DqSBhcHLDqHMgdW5lIHZhbGlkYXRpb24gcsOpdXNzaWUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MworbXNnaWQgInNob3cgZGlmZiBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIGRpZmYgZGFucyBsZSBtb2TDqGxlIGRlIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDU1Cittc2dpZCAiQ29tbWl0IG1lc3NhZ2Ugb3B0aW9ucyIKK21zZ3N0ciAiT3B0aW9ucyBkdSBtZXNzYWdlIGRlIHZhbGlkYXRpb24iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NiBidWlsdGluL3RhZy5jOjQ1NworbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCittc2dzdHIgImxpcmUgbGUgbWVzc2FnZSBkZXB1aXMgdW4gZmljaGllciIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDU3Cittc2dpZCAiYXV0aG9yIgorbXNnc3RyICJhdXRldXIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NworbXNnaWQgIm92ZXJyaWRlIGF1dGhvciBmb3IgY29tbWl0IgorbXNnc3RyICJyZW1wbGFjZXIgbCdhdXRldXIgcG91ciBsYSB2YWxpZGF0aW9uIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTggYnVpbHRpbi9nYy5jOjI2MAorbXNnaWQgImRhdGUiCittc2dzdHIgImRhdGUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OAorbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKK21zZ3N0ciAicmVtcGxhY2VyIGxhIGRhdGUgcG91ciBsYSB2YWxpZGF0aW9uIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTkgYnVpbHRpbi9tZXJnZS5jOjIyMyBidWlsdGluL25vdGVzLmM6NDA1CisjOiBidWlsdGluL25vdGVzLmM6NTYyIGJ1aWx0aW4vdGFnLmM6NDU1Cittc2dpZCAibWVzc2FnZSIKK21zZ3N0ciAibWVzc2FnZSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDU5Cittc2dpZCAiY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgIm1lc3NhZ2UgZGUgdmFsaWRhdGlvbiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDYwCittc2dpZCAicmV1c2UgYW5kIGVkaXQgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCittc2dzdHIgInLDqXV0aWxpc2VyIGV0IMOpZGl0ZXIgbGUgbWVzc2FnZSBkdSBjb21taXQgc3DDqWNpZmnDqSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDYxCittc2dpZCAicmV1c2UgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCittc2dzdHIgInLDqXV0aWxpc2VyIGxlIG1lc3NhZ2UgZHUgY29tbWl0IHNww6ljaWZpw6kiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MgorbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIGZpeHVwIHNwZWNpZmllZCBjb21taXQiCittc2dzdHIgIiIKKyJ1dGlsaXNlciB1biBtZXNzYWdlIGZvcm1hdMOpIHBhciBhdXRvc3F1YXNoIHBvdXIgY29ycmlnZXIgbGUgY29tbWl0IHNww6ljaWZpw6kiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MworbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIHNxdWFzaCBzcGVjaWZpZWQgY29tbWl0IgorbXNnc3RyICIiCisidXRpbGlzZXIgdW4gbWVzc2FnZSBmb3JtYXTDqSBwYXIgYXV0b3NxdWFzaCBwb3VyIGNvbXByZXNzZXIgbGUgY29tbWl0IHNww6ljaWZpw6kiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NAorbXNnaWQgInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiCittc2dzdHIgIiIKKyLDoCBwcsOpc2VudCBqZSBzdWlzIGwnYXV0ZXVyIGRlIGxhIHZhbGlkYXRpb24gKHV0aWxpc8OpIGF2ZWMgLUMvLWMvLS1hbWVuZCkiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NSBidWlsdGluL2xvZy5jOjExODAgYnVpbHRpbi9yZXZlcnQuYzo4NgorbXNnaWQgImFkZCBTaWduZWQtb2ZmLWJ5OiIKK21zZ3N0ciAiYWpvdXRlciB1bmUgZW50csOpZSBTaWduZWQtb2ZmLWJ5IDoiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NgorbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKK21zZ3N0ciAidXRpbGlzZXIgbGUgZmljaGllciBkZSBtb2TDqGxlIHNww6ljaWZpw6kiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NworbXNnaWQgImZvcmNlIGVkaXQgb2YgY29tbWl0IgorbXNnc3RyICJmb3JjZXIgbCfDqWRpdGlvbiBkdSBjb21taXQiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OAorbXNnaWQgImRlZmF1bHQiCittc2dzdHIgImTDqWZhdXQiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OCBidWlsdGluL3RhZy5jOjQ2MAorbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCittc2dzdHIgImNvbW1lbnQgw6lsaW1pbmVyIGxlcyBlc3BhY2VzIGV0IGxlcyBjb21tZW50YWlyZXMgIyBkdSBtZXNzYWdlIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjkKK21zZ2lkICJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKK21zZ3N0ciAiaW5jbHVyZSBsZSBzdGF0dXQgZGFucyBsZSBtb2TDqGxlIGRlIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDcwIGJ1aWx0aW4vbWVyZ2UuYzoyMzAgYnVpbHRpbi90YWcuYzo0NjEKK21zZ2lkICJrZXkgaWQiCittc2dzdHIgImlkZW50aWZpYW50IGRlIGNsw6kiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MSBidWlsdGluL21lcmdlLmM6MjMxCittc2dpZCAiR1BHIHNpZ24gY29tbWl0IgorbXNnc3RyICJzaWduZXIgbGEgdmFsaWRhdGlvbiBhdmVjIEdQRyIKKworIy4gZW5kIGNvbW1pdCBtZXNzYWdlIG9wdGlvbnMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NAorbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgorbXNnc3RyICJWYWxpZGVyIGxlcyBvcHRpb25zIGRlcyBjb250ZW51cyIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDc1Cittc2dpZCAiY29tbWl0IGFsbCBjaGFuZ2VkIGZpbGVzIgorbXNnc3RyICJ2YWxpZGVyIHRvdXMgbGVzIGZpY2hpZXJzIG1vZGlmacOpcyIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDc2Cittc2dpZCAiYWRkIHNwZWNpZmllZCBmaWxlcyB0byBpbmRleCBmb3IgY29tbWl0IgorbXNnc3RyICJham91dGVyIGxlcyBmaWNoaWVycyBzcMOpY2lmacOpcyDDoCBsJ2luZGV4IHBvdXIgbGEgdmFsaWRhdGlvbiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDc3CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWpvdXRlciBkZXMgZmljaGllcnMgZW4gbW9kZSBpbnRlcmFjdGlmIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzODYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OAogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGNoYW5nZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWpvdXRlciBsZXMgbW9kaWZpY2F0aW9ucyBlbiBtb2RlIGludGVyYWN0aWYiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4NworIzogYnVpbHRpbi9jb21taXQuYzoxNDc5CiBtc2dpZCAiY29tbWl0IG9ubHkgc3BlY2lmaWVkIGZpbGVzIgotbXNnc3RyICIiCittc2dzdHIgInZhbGlkZXIgc2V1bGVtZW50IGxlcyBmaWNoaWVycyBzcMOpY2lmacOpcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzg4CisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODAKIG1zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBob29rIgotbXNnc3RyICIiCittc2dzdHIgIsOpdml0ZXIgZCd1dGlsaXNlciBsZSBjcm9jaGV0IHByZS1jb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4OQorIzogYnVpbHRpbi9jb21taXQuYzoxNDgxCiBtc2dpZCAic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBjZSBxdWkgc2VyYWl0IHZhbGlkw6kiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQwMAorIzogYnVpbHRpbi9jb21taXQuYzoxNDkyCiBtc2dpZCAiYW1lbmQgcHJldmlvdXMgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQwMQotbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MDYKLW1zZ2lkICJvayB0byByZWNvcmQgYW4gZW1wdHkgY2hhbmdlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQwOQotbXNnaWQgIm9rIHRvIHJlY29yZCBhIGNoYW5nZSB3aXRoIGFuIGVtcHR5IG1lc3NhZ2UiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDQxCi1tc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OSBidWlsdGluL21lcmdlLmM6NTEwCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDg2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvcnJ1cHQgTUVSR0VfSEVBRCBmaWxlICglcykiCi1tc2dzdHIgIiIKK21zZ3N0ciAiY29ycmlnZXIgbGEgdmFsaWRhdGlvbiBwcsOpY8OpZGVudGUiCiAKICM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MwotbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCi1tc2dzdHIgIiIKK21zZ2lkICJieXBhc3MgcG9zdC1yZXdyaXRlIGhvb2siCittc2dzdHIgIsOpdml0ZXIgZCd1dGlsaXNlciBsZSBjcm9jaGV0IHBvc3QtcmV3cml0ZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTEyCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTgKK21zZ2lkICJvayB0byByZWNvcmQgYW4gZW1wdHkgY2hhbmdlIgorbXNnc3RyICJhY2NlcHRlciBkJ2VucmVnaXN0cmVyIHVuZSBtb2RpZmljYXRpb24gdmlkZSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNTAwCittc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKK21zZ3N0ciAiYWNjZXB0ZXIgZCdlbnJlZ2lzdHJlciB1bmUgbW9kaWZpY2F0aW9uIGF2ZWMgdW4gbWVzc2FnZSB2aWRlIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MjkKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiCittc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsZSBjb21taXQgSEVBRCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNTY3IGJ1aWx0aW4vbWVyZ2UuYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAnJXMnIGVuIGxlY3R1cmUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgorbXNnc3RyICJGaWNoaWVyIE1FUkdFX0hFQUQgY29ycm9tcHUgKCVzKSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNTgxCittc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIE1FUkdFX01PREUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZTogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxlIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiA6ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiQWJhbmRvbiBkZSBsYSB2YWxpZGF0aW9uIDsgdm91cyBuJ2F2ZXogcGFzIMOpZGl0w6kgbGUgbWVzc2FnZVxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgotbXNnc3RyICIiCittc2dzdHIgIkFiYW5kb24gZGUgbGEgdmFsaWRhdGlvbiBkdSDDoCB1biBtZXNzYWdlIGRlIHZhbGlkYXRpb24gdmlkZVxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NDYgYnVpbHRpbi9tZXJnZS5jOjg0NyBidWlsdGluL21lcmdlLmM6ODcyCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MzQgYnVpbHRpbi9tZXJnZS5jOjg2MSBidWlsdGluL21lcmdlLmM6ODg2CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvbW1pdCBvYmplY3QiCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6ljaGVjIGRlIGwnw6ljcml0dXJlIGRlIGwnb2JqZXQgY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY1NQogbXNnaWQgImNhbm5vdCBsb2NrIEhFQUQgcmVmIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgdmVycm91aWxsZXIgbGEgcsOpZsOpcmVuY2UgSEVBRCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTcxCisjOiBidWlsdGluL2NvbW1pdC5jOjE2NTkKIG1zZ2lkICJjYW5ub3QgdXBkYXRlIEhFQUQgcmVmIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGEgcsOpZsOpcmVuY2UgSEVBRCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTgyCisjOiBidWlsdGluL2NvbW1pdC5jOjE2NzAKIG1zZ2lkICIiCiAiUmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLCBidXQgdW5hYmxlIHRvIHdyaXRlXG4iCiAibmV3X2luZGV4IGZpbGUuIENoZWNrIHRoYXQgZGlzayBpcyBub3QgZnVsbCBvciBxdW90YSBpc1xuIgogIm5vdCBleGNlZWRlZCwgYW5kIHRoZW4gXCJnaXQgcmVzZXQgSEVBRFwiIHRvIHJlY292ZXIuIgogbXNnc3RyICIiCisiTGUgZMOpcMO0dCBhIMOpdMOpIG1pcyDDoCBqb3VyLCBtYWlzIGltcG9zc2libGUgZCfDqWNyaXJlIGxlIGZpY2hpZXJcbiIKKyJuZXdfaW5kZXguIFbDqXJpZmlleiBxdWUgbGUgZGlzcXVlIG4nZXN0IHBhcyBwbGVpbiBvdSBxdWUgbGUgcXVvdGFcbiIKKyJuJ2EgcGFzIMOpdMOpIGTDqXBhc3PDqSwgcHVpcyBsYW5jZXogXCJnaXQgcmVzZXQgSEVBRFwiIHBvdXIgcsOpcGFyZXIuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6OAogbXNnaWQgImdpdCBjb25maWcgW29wdGlvbnNdIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTEKLW1zZ2lkICJDb25maWcgZmlsZSBsb2NhdGlvbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbmZpZy5jOjUyCi1tc2dpZCAidXNlIGdsb2JhbCBjb25maWcgZmlsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbmZpZy5jOjUzCi1tc2dpZCAidXNlIHN5c3RlbSBjb25maWcgZmlsZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgY29uZmlnIFtvcHRpb25zXSIKIAogIzogYnVpbHRpbi9jb25maWcuYzo1NAotbXNnaWQgInVzZSByZXBvc2l0b3J5IGNvbmZpZyBmaWxlIgotbXNnc3RyICIiCittc2dpZCAiQ29uZmlnIGZpbGUgbG9jYXRpb24iCittc2dzdHIgIkVtcGxhY2VtZW50IGR1IGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiIKIAogIzogYnVpbHRpbi9jb25maWcuYzo1NQotbXNnaWQgInVzZSBnaXZlbiBjb25maWcgZmlsZSIKLW1zZ3N0ciAiIgorbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCittc2dzdHIgInV0aWxpc2VyIGxlcyBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gZ2xvYmFsIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjU2Ci1tc2dpZCAiQWN0aW9uIgotbXNnc3RyICIiCittc2dpZCAidXNlIHN5c3RlbSBjb25maWcgZmlsZSIKK21zZ3N0ciAidXRpbGlzZXIgbGUgZmljaGllciBkZSBjb25maWd1cmF0aW9uIGR1IHN5c3TDqG1lIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjU3Ci1tc2dpZCAiZ2V0IHZhbHVlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCi1tc2dzdHIgIiIKK21zZ2lkICJ1c2UgcmVwb3NpdG9yeSBjb25maWcgZmlsZSIKK21zZ3N0ciAidXRpbGlzZXIgbGUgZmljaGllciBkZSBjb25maWd1cmF0aW9uIGR1IGTDqXDDtHQiCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKLW1zZ2lkICJnZXQgYWxsIHZhbHVlczoga2V5IFt2YWx1ZS1yZWdleF0iCi1tc2dzdHIgIiIKK21zZ2lkICJ1c2UgZ2l2ZW4gY29uZmlnIGZpbGUiCittc2dzdHIgInV0aWxpc2VyIGxlIGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiBzcMOpY2lmacOpIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjU5Ci1tc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCi1tc2dzdHIgIiIKK21zZ2lkICJibG9iLWlkIgorbXNnc3RyICJibG9iLWlkIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjU5Cittc2dpZCAicmVhZCBjb25maWcgZnJvbSBnaXZlbiBibG9iIG9iamVjdCIKK21zZ3N0ciAibGlyZSBsYSBjb25maWd1cmF0aW9uIGRlcHVpcyBsJ29iamV0IGJsb2IgZm91cm5pIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjYwCi1tc2dpZCAicmVwbGFjZSBhbGwgbWF0Y2hpbmcgdmFyaWFibGVzOiBuYW1lIHZhbHVlIFt2YWx1ZV9yZWdleF0iCi1tc2dzdHIgIiIKK21zZ2lkICJBY3Rpb24iCittc2dzdHIgIkFjdGlvbiIKIAogIzogYnVpbHRpbi9jb25maWcuYzo2MQotbXNnaWQgImFkZCBhIG5ldyB2YXJpYWJsZTogbmFtZSB2YWx1ZSIKLW1zZ3N0ciAiIgorbXNnaWQgImdldCB2YWx1ZTogbmFtZSBbdmFsdWUtcmVnZXhdIgorbXNnc3RyICJvYnRlbmlyIGxhIHZhbGV1ciA6IG5vbSBbcmVnZXgtZGUtdmFsZXVyXSIKIAogIzogYnVpbHRpbi9jb25maWcuYzo2MgotbXNnaWQgInJlbW92ZSBhIHZhcmlhYmxlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCi1tc2dzdHIgIiIKK21zZ2lkICJnZXQgYWxsIHZhbHVlczoga2V5IFt2YWx1ZS1yZWdleF0iCittc2dzdHIgIm9idGVuaXIgdG91dGVzIGxlIHZhbGV1cnMgOiBjbMOpIFtyZWdleC1kZS12YWxldXJdIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjYzCi1tc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCi1tc2dzdHIgIiIKK21zZ2lkICJnZXQgdmFsdWVzIGZvciByZWdleHA6IG5hbWUtcmVnZXggW3ZhbHVlLXJlZ2V4XSIKK21zZ3N0ciAib2J0ZW5pciBsZXMgdmFsZXVyIHBvdXIgbGEgcmVnZXhwIDogcmVnZXgtZGUtbm9tIFtyZWdleC1kZS12YWxldXJdIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjY0Ci1tc2dpZCAicmVuYW1lIHNlY3Rpb246IG9sZC1uYW1lIG5ldy1uYW1lIgotbXNnc3RyICIiCittc2dpZCAiZ2V0IHZhbHVlIHNwZWNpZmljIGZvciB0aGUgVVJMOiBzZWN0aW9uWy52YXJdIFVSTCIKK21zZ3N0ciAib2J0ZW5pciBsYSB2YWxldXIgc3DDqWNpZmlxdWUgcG91ciBsJ1VSTCA6IHNlY3Rpb25bLnZhcl0gVVJMIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjY1Ci1tc2dpZCAicmVtb3ZlIGEgc2VjdGlvbjogbmFtZSIKK21zZ2lkICJyZXBsYWNlIGFsbCBtYXRjaGluZyB2YXJpYWJsZXM6IG5hbWUgdmFsdWUgW3ZhbHVlX3JlZ2V4XSIKIG1zZ3N0ciAiIgorInJlbXBsYWNlciB0b3V0ZXMgbGVzIHZhcmlhYmxlcyBjb3JyZXNwb25kYW50IDogbm9tIHZhbGV1ciBbcmVnZXgtZGUtdmFsZXVyXSIKIAogIzogYnVpbHRpbi9jb25maWcuYzo2NgotbXNnaWQgImxpc3QgYWxsIgotbXNnc3RyICIiCittc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgorbXNnc3RyICJham91dGVyIHVuZSBub3V2ZWxsZSB2YXJpYWJsZSA6IG5vbSB2YWxldXIiCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKLW1zZ2lkICJvcGVuIGFuIGVkaXRvciIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbmZpZy5jOjY4IGJ1aWx0aW4vY29uZmlnLmM6NjkKLW1zZ2lkICJzbG90IgotbXNnc3RyICIiCittc2dpZCAicmVtb3ZlIGEgdmFyaWFibGU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKK21zZ3N0ciAic3VwcHJpbWVyIHVuZSB2YXJpYWJsZSA6IG5vbSBbcmVnZXgtZGUtdmFsZXVyXSIKIAogIzogYnVpbHRpbi9jb25maWcuYzo2OAotbXNnaWQgImZpbmQgdGhlIGNvbG9yIGNvbmZpZ3VyZWQ6IFtkZWZhdWx0XSIKLW1zZ3N0ciAiIgorbXNnaWQgInJlbW92ZSBhbGwgbWF0Y2hlczogbmFtZSBbdmFsdWUtcmVnZXhdIgorbXNnc3RyICJzdXBwcmltZXIgdG91dGVzIGxlcyBjb3JyZXNwb25kYW5jZXMgbm9tIFtyZWdleC1kZS12YWxldXJdIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjY5Ci1tc2dpZCAiZmluZCB0aGUgY29sb3Igc2V0dGluZzogW3N0ZG91dC1pcy10dHldIgotbXNnc3RyICIiCittc2dpZCAicmVuYW1lIHNlY3Rpb246IG9sZC1uYW1lIG5ldy1uYW1lIgorbXNnc3RyICJyZW5vbW1lciB1bmUgc2VjdGlvbiA6IGFuY2llbi1ub20gbm91dmVhdS1ub20iCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKLW1zZ2lkICJUeXBlIgotbXNnc3RyICIiCittc2dpZCAicmVtb3ZlIGEgc2VjdGlvbjogbmFtZSIKK21zZ3N0ciAic3VwcHJpbWVyIHVuZSBzZWN0aW9uIDogbm9tIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjcxCi1tc2dpZCAidmFsdWUgaXMgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiIgotbXNnc3RyICIiCittc2dpZCAibGlzdCBhbGwiCittc2dzdHIgImFmZmljaGVyIHRvdXQiCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKLW1zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKLW1zZ3N0ciAiIgorbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgorbXNnc3RyICJvdXZyaXIgdW4gw6lkaXRldXIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMgYnVpbHRpbi9jb25maWcuYzo3NAorbXNnaWQgInNsb3QiCittc2dzdHIgImVtcGxhY2VtZW50IgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjczCi1tc2dpZCAidmFsdWUgaXMgLS1ib29sIG9yIC0taW50IgotbXNnc3RyICIiCittc2dpZCAiZmluZCB0aGUgY29sb3IgY29uZmlndXJlZDogW2RlZmF1bHRdIgorbXNnc3RyICJ0cm91dmVyIGxhIGNvdWxldXIgY29uZmlndXLDqWUgOiBbcGFyIGTDqWZhdXRdIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjc0Ci1tc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKLW1zZ3N0ciAiIgorbXNnaWQgImZpbmQgdGhlIGNvbG9yIHNldHRpbmc6IFtzdGRvdXQtaXMtdHR5XSIKK21zZ3N0ciAidHJvdXZlciBsZSByw6lnbGFnZSBkZSBsYSBjb3VsZXVyIDogW3N0ZG91dC1lc3QtdHR5XSIKIAogIzogYnVpbHRpbi9jb25maWcuYzo3NQotbXNnaWQgIk90aGVyIgotbXNnc3RyICIiCittc2dpZCAiVHlwZSIKK21zZ3N0ciAiVHlwZSIKIAogIzogYnVpbHRpbi9jb25maWcuYzo3NgotbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKLW1zZ3N0ciAiIgorbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKK21zZ3N0ciAibGEgdmFsZXVyIGVzdCBcInRydWVcIiAodnJhaSkgb3VyIFwiZmFsc2VcIiAoZmF1eCkiCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKK21zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKK21zZ3N0ciAibGEgdmFsZXVyIGVzdCB1biBub21icmUgZMOpY2ltYWwiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKK21zZ2lkICJ2YWx1ZSBpcyAtLWJvb2wgb3IgLS1pbnQiCittc2dzdHIgImxhIHZhbGV1ciBlc3QgLS1ib29sIG91IC0taW50IgorCisjOiBidWlsdGluL2NvbmZpZy5jOjc5Cittc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKK21zZ3N0ciAibGEgdmFsZXVyIGVzdCB1biBjaGVtaW4gKHZlcnMgdW4gZmljaGllciBvdSB1biByw6lwZXJ0b2lyZSkiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODAKK21zZ2lkICJPdGhlciIKK21zZ3N0ciAiQXV0cmUiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODEKK21zZ2lkICJ0ZXJtaW5hdGUgdmFsdWVzIHdpdGggTlVMIGJ5dGUiCittc2dzdHIgInRlcm1pbmVyIGxlcyB2YWxldXJzIGF2ZWMgdW4gY2FyYWN0w6hyZSBOVUwiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODIKIG1zZ2lkICJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVzcGVjdGVyIGxlcyBkaXJlY3RpdmVzIGQnaW5jbHVzaW9uIGxvcnMgZGUgbGEgcmVjaGVyY2hlIgogCiAjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4MgogbXNnaWQgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IGNvdW50LW9iamVjdHMgWy12XSBbLUggfCAtLWh1bWFuLXJlYWRhYmxlXSIKIAogIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTcKIG1zZ2lkICJwcmludCBzaXplcyBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjE1Ci1tc2dpZCAiZ2l0IGRlc2NyaWJlIFtvcHRpb25zXSA8Y29tbWl0dGlzaD4qIgotbXNnc3RyICIiCittc2dzdHIgImFmZmljaGUgbGVzIHRhaWxsZXMgZGFucyB1biBmb3JtYXQgaHVtYWluZW1lbnQgbGlzaWJsZSIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjE2Ci1tc2dpZCAiZ2l0IGRlc2NyaWJlIFtvcHRpb25zXSAtLWRpcnR5IgotbXNnc3RyICIiCittc2dpZCAiZ2l0IGRlc2NyaWJlIFtvcHRpb25zXSA8Y29tbWl0LWlzaD4qIgorbXNnc3RyICJnaXQgZGVzY3JpYmUgW29wdGlvbnNdIDxjb21taXQgb3UgYXBwYXJlbnTDqT4qIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjMzCi0jLCBjLWZvcm1hdAotbXNnaWQgImFubm90YXRlZCB0YWcgJXMgbm90IGF2YWlsYWJsZSIKLW1zZ3N0ciAiIgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjE3Cittc2dpZCAiZ2l0IGRlc2NyaWJlIFtvcHRpb25zXSAtLWRpcnR5IgorbXNnc3RyICJnaXQgZGVzY3JpYmUgW29wdGlvbnNdIC0tZGlydHkiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMzcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBoYXMgbm8gZW1iZWRkZWQgbmFtZSIKLW1zZ3N0ciAiIgorbXNnaWQgImFubm90YXRlZCB0YWcgJXMgbm90IGF2YWlsYWJsZSIKK21zZ3N0ciAibCfDqXRpcXVldHRlIGFubm90w6llICVzIG4nZXN0IHBhcyBkaXNwb25pYmxlIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjM5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgImFubm90YXRlZCB0YWcgJXMgaGFzIG5vIGVtYmVkZGVkIG5hbWUiCittc2dzdHIgImwnw6l0aXF1ZXR0ZSBhbm5vdMOpZSAlcyBuJ2EgcGFzIGRlIG5vbSBlbWJhcnF1w6kiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgaXMgcmVhbGx5ICclcycgaGVyZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJsJ8OpdGlxdWV0dGUgJyVzJyBlc3QgZW4gZmFpdCAnJXMnIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjY2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgotbXNnc3RyICIiCittc2dzdHIgIiVzIG4nZXN0IHBhcyB1biBub20gZCdvYmpldCB2YWxpZGUiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNjkKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgJyVzJyBvYmplY3QiCiBtc2dzdHIgIiVzIG4nZXN0IHBhcyB1biBvYmpldCAnJXMnIHZhbGlkZSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0YWcgZXhhY3RseSBtYXRjaGVzICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiYXVjdW5lIMOpdGlxdWV0dGUgbmUgY29ycmVzcG9uZCBwYXJmYWl0ZW1lbnQgw6AgJyVzJyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJzZWFyY2hpbmcgdG8gZGVzY3JpYmUgJXNcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZWNoZXJjaGUgZGUgbGEgZGVzY3JpcHRpb24gZGUgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjMyOAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjMzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJmaW5pc2hlZCBzZWFyY2ggYXQgJXNcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZWNoZXJjaGUgdGVybWluw6llIMOgICVzXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNTIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIGFubm90YXRlZCB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgogIkhvd2V2ZXIsIHRoZXJlIHdlcmUgdW5hbm5vdGF0ZWQgdGFnczogdHJ5IC0tdGFncy4iCiBtc2dzdHIgIiIKKyJBdWN1bmUgw6l0aXF1ZXR0ZSBhbm5vdMOpZSBuZSBwZXV0IGTDqWNyaXJlICclcycuXG4iCisiQ2VwZW5kYW50LCBpbCBleGlzdGUgZGVzIMOpdGlxdWV0dGVzIG5vbi1hbm5vdMOpZXMgOiBlc3NheWV6IGF2ZWMgLS10YWdzLiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM1NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKICJUcnkgLS1hbHdheXMsIG9yIGNyZWF0ZSBzb21lIHRhZ3MuIgogbXNnc3RyICIiCisiQXVjdW5lIMOpdGlxdWV0dGUgbmUgcGV1dCBkw6ljcmlyZSAnJXMnLlxuIgorIkVzc2F5ZXogLS1hbHdheXMsIG91IGNyw6lleiBkZXMgw6l0aXF1ZXR0ZXMuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzc3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXZlcnNlZCAlbHUgY29tbWl0c1xuIgotbXNnc3RyICIiCittc2dzdHIgIiVsdSBjb21taXRzIHBhcmNvdXJ1c1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzgwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJtb3JlIHRoYW4gJWkgdGFncyBmb3VuZDsgbGlzdGVkICVpIG1vc3QgcmVjZW50XG4iCiAiZ2F2ZSB1cCBzZWFyY2ggYXQgJXNcbiIKIG1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDAyCi1tc2dpZCAiZmluZCB0aGUgdGFnIHRoYXQgY29tZXMgYWZ0ZXIgdGhlIGNvbW1pdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDAzCi1tc2dpZCAiZGVidWcgc2VhcmNoIHN0cmF0ZWd5IG9uIHN0ZGVyciIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA0Ci1tc2dpZCAidXNlIGFueSByZWYiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwNQotbXNnaWQgInVzZSBhbnkgdGFnLCBldmVuIHVuYW5ub3RhdGVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDYKLW1zZ2lkICJhbHdheXMgdXNlIGxvbmcgZm9ybWF0IgotbXNnc3RyICIiCisicGx1cyBkZSAlaSDDqXRpcXVldHRlcyBvbnQgw6l0w6kgdHJvdXbDqWVzOyBzZXVsZXMgbGVzICVpIHBsdXMgcsOpY2VudGVzIHNvbnQgIgorImFmZmljaMOpZXNcbiIKKyJhYmFuZG9uIGRlIGxhIHJlY2hlcmNoZSDDoCAlc1xuIgogCiAjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA5Ci1tc2dpZCAib25seSBvdXRwdXQgZXhhY3QgbWF0Y2hlcyIKLW1zZ3N0ciAiIgorbXNnaWQgImZpbmQgdGhlIHRhZyB0aGF0IGNvbWVzIGFmdGVyIHRoZSBjb21taXQiCittc2dzdHIgInJlY2hlcmNoZXIgbCfDqXRpcXVldHRlIHF1aSBzdWl0IGxlIGNvbW1pdCIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMAorbXNnaWQgImRlYnVnIHNlYXJjaCBzdHJhdGVneSBvbiBzdGRlcnIiCittc2dzdHIgImTDqWJvZ3VlciBsYSBzdHJhdMOpZ2llIGRlIHJlY2hlcmNoZSBzdXIgc3RkZXJyIgogCiAjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDExCi1tc2dpZCAiY29uc2lkZXIgPG4+IG1vc3QgcmVjZW50IHRhZ3MgKGRlZmF1bHQ6IDEwKSIKLW1zZ3N0ciAiIgorbXNnaWQgInVzZSBhbnkgcmVmIgorbXNnc3RyICJ1dGlsaXNlciBuJ2ltcG9ydGUgcXVlbGxlIHLDqWbDqXJlbmNlIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEyCittc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCittc2dzdHIgInV0aWxpc2VyIG4naW1wb3J0ZSBxdWVsbGUgw6l0aXF1ZXR0ZSwgbcOqbWUgbm9uLWFubm90w6llIgogCiAjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEzCi1tc2dpZCAib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKLW1zZ3N0ciAiIgorbXNnaWQgImFsd2F5cyB1c2UgbG9uZyBmb3JtYXQiCittc2dzdHIgInRvdWpvdXJzIHV0aWxpc2VyIGxlIGZvcm1hdCBsb25nIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDE1IGJ1aWx0aW4vbmFtZS1yZXYuYzoyMzgKLW1zZ2lkICJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxNgotbXNnaWQgIm1hcmsiCi1tc2dzdHIgIiIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTQKK21zZ2lkICJvbmx5IGZvbGxvdyBmaXJzdCBwYXJlbnQiCittc2dzdHIgIm5lIHN1aXZyZSBxdWUgbGUgcHJlbWllciBwYXJlbnQiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTcKK21zZ2lkICJvbmx5IG91dHB1dCBleGFjdCBtYXRjaGVzIgorbXNnc3RyICJuJ2FmZmljaGVyIHF1ZSBsZXMgY29ycmVzcG9uZGFuY2VzIGV4YWN0ZXMiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTkKK21zZ2lkICJjb25zaWRlciA8bj4gbW9zdCByZWNlbnQgdGFncyAoZGVmYXVsdDogMTApIgorbXNnc3RyICIiCisiY29uc2lkw6lyZXIgdW5pcXVlbWVudCBsZXMgPG4+IMOpdGlxdWV0dGVzIGxlIHBsdXMgcsOpY2VudGVzIChkw6lmYXV0IDogMTApIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDIxCittc2dpZCAib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKK21zZ3N0ciAibmUgY29uc2lkw6lyZXIgcXVlIGxlcyDDqXRpcXVldHRlcyBjb3JyZXNwb25kYW50IMOgIDxtb3RpZj4iCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MjMgYnVpbHRpbi9uYW1lLXJldi5jOjMyMgorbXNnaWQgInNob3cgYWJicmV2aWF0ZWQgY29tbWl0IG9iamVjdCBhcyBmYWxsYmFjayIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIG9iamV0cyBjb21taXRzIGFicsOpZ8OpcyBlbiBkZXJuaWVyIHJlY291cnMiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MjQKK21zZ2lkICJtYXJrIgorbXNnc3RyICJtYXJxdWUiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MjUKIG1zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGRpcnR5IHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItZGlydHlcIikiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWpvdXRlciA8bWFycXVlPiBzaSBsYSBjb3BpZSBkZSB0cmF2YWlsIGVzdCBzYWxlIChkw6lmYXV0IDogXCItZGlydHlcIikiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MzUKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDMKIG1zZ2lkICItLWxvbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hYmJyZXY9MCIKLW1zZ3N0ciAiIgorbXNnc3RyICItLWxvbmcgZXQgLS1hYmJyZXY9MCBzb250IGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NjEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NjkKIG1zZ2lkICJObyBuYW1lcyBmb3VuZCwgY2Fubm90IGRlc2NyaWJlIGFueXRoaW5nLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJhdWN1biBub20gdHJvdXbDqSwgaW1wb3NzaWJsZSBkZSBkw6ljcmlyZSBxdW9pIHF1ZSBjZSBzb2l0LiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ4MQotbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0dGlzaGVzIgotbXNnc3RyICIiCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDg5Cittc2dpZCAiLS1kaXJ0eSBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXQtaXNoZXMiCittc2dzdHIgIi0tZGlydHkgZXN0IGluY29tcGF0aWJsZSBhdmVjIGxhIHNww6ljaWZpY2F0aW9uIGRlIGNvbW1pdHMgb3UgYXNzaW1pbMOpcyIKIAogIzogYnVpbHRpbi9kaWZmLmM6NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogbm90IGEgcmVndWxhciBmaWxlIG9yIHN5bWxpbmsiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJyVzJyA6IG4nZXN0IHBhcyB1biBmaWNoaWVyIHLDqWd1bGllciBuaSB1biBsaWVuIHN5bWJvbGlxdWUiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjIyOAorIzogYnVpbHRpbi9kaWZmLmM6MjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJvcHRpb24gaW52YWxpZGUgOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzA1CisjOiBidWlsdGluL2RpZmYuYzozMDcKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiIgorbXNnc3RyICJDZSBuJ2VzdCBwYXMgdW4gZMOpcMO0dCBnaXQgISIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzQ4CisjOiBidWlsdGluL2RpZmYuYzozNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvYmplY3QgJyVzJyBnaXZlbi4iCi1tc2dzdHIgIiIKK21zZ3N0ciAib2JqZXQgc3DDqWNpZmnDqSAnJXMnIGludmFsaWRlLiIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzUzCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1vcmUgdGhhbiAlZCB0cmVlcyBnaXZlbjogJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2RpZmYuYzozNjMKKyM6IGJ1aWx0aW4vZGlmZi5jOjM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgInBsdXMgZGUgZGV1eCBibG9icyBzcMOpY2lmacOpcyA6ICclcyciCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM3MQorIzogYnVpbHRpbi9kaWZmLmM6MzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCi1tc2dzdHIgIiIKK21zZ3N0ciAib2JqZXQgbm9uIGfDqXLDqSAnJXMnIHNww6ljaWZpw6kuIgogCiAjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MjIKIG1zZ2lkICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBmYXN0LWV4cG9ydCBbb3B0aW9ucy1kZS1saXN0ZS1kZS1yw6l2aXNpb25zXSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY1OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MwogbXNnaWQgInNob3cgcHJvZ3Jlc3MgYWZ0ZXIgPG4+IG9iamVjdHMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY2MAotbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBzaWduZWQgdGFncyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjYzCi1tc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHRhZ3MgdGhhdCB0YWcgZmlsdGVyZWQgb2JqZWN0cyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjY2Ci1tc2dpZCAiRHVtcCBtYXJrcyB0byB0aGlzIGZpbGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY2OAotbXNnaWQgIkltcG9ydCBtYXJrcyBmcm9tIHRoaXMgZmlsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjcwCi1tc2dpZCAiRmFrZSBhIHRhZ2dlciB3aGVuIHRhZ3MgbGFjayBvbmUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MgotbXNnaWQgIk91dHB1dCBmdWxsIHRyZWUgZm9yIGVhY2ggY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzQKLW1zZ2lkICJVc2UgdGhlIGRvbmUgZmVhdHVyZSB0byB0ZXJtaW5hdGUgdGhlIHN0cmVhbSIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsYSBwcm9ncmVzc2lvbiBhcHLDqHMgPG4+IG9iamV0cyIKIAogIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NQotbXNnaWQgIlNraXAgb3V0cHV0IG9mIGJsb2IgZGF0YSIKK21zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2Ygc2lnbmVkIHRhZ3MiCittc2dzdHIgInPDqWxlY3Rpb25uZXIgbGEgZ2VzdGlvbiBkZXMgw6l0aXF1ZXR0ZXMgc2lnbsOpZXMiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzgKK21zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgogbXNnc3RyICIiCisic8OpbGVjdGlvbm5lciBsYSBnZXN0aW9uIGRlcyDDqXRpcXVldHRlcyBxdWkgcG9pbnRlbnQgc3VyIGRlcyBvYmpldHMgZmlsdHLDqXMiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODEKK21zZ2lkICJEdW1wIG1hcmtzIHRvIHRoaXMgZmlsZSIKK21zZ3N0ciAiRW5yZWdpc3RyZXIgbGVzIG1hcnF1ZXMgZGFucyBjZSBmaWNoaWVyIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgzCittc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIgorbXNnc3RyICJpbXBvcnRlciBsZXMgbWFycXVlcyBkZXB1aXMgY2UgZmljaGllciIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4NQorbXNnaWQgIkZha2UgYSB0YWdnZXIgd2hlbiB0YWdzIGxhY2sgb25lIgorbXNnc3RyICJmYWxzaWZpZXIgdW4gYXV0ZXVyIGQnw6l0aXF1ZXR0ZSBzaSBsJ8OpdGlxdWV0dGUgbidlbiBwcsOpc2VudGUgcGFzIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njg3Cittc2dpZCAiT3V0cHV0IGZ1bGwgdHJlZSBmb3IgZWFjaCBjb21taXQiCittc2dzdHIgIkFmZmljaGVyIGwnYXJicmUgY29tcGxldCBwb3VyIGNoYXF1ZSBjb21taXQiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODkKK21zZ2lkICJVc2UgdGhlIGRvbmUgZmVhdHVyZSB0byB0ZXJtaW5hdGUgdGhlIHN0cmVhbSIKK21zZ3N0ciAiVXRpbGlzZXIgbGEgZm9uY3Rpb24gXCJkb25lXCIgcG91ciB0ZXJtaW5lciBsZSBmbHV4IgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjkwCittc2dpZCAiU2tpcCBvdXRwdXQgb2YgYmxvYiBkYXRhIgorbXNnc3RyICJTYXV0ZXIgbCdhZmZpY2hhZ2UgZGUgZG9ubsOpZXMgZGUgYmxvYiIKIAogIzogYnVpbHRpbi9mZXRjaC5jOjIwCiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPGTDqXDDtHQ+IFs8c3DDqWNpZmljYXRpb24tZGUtcsOpZsOpcmVuY2U+Li4uXV0iCiAKICM6IGJ1aWx0aW4vZmV0Y2guYzoyMQogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXA+IgotbXNnc3RyICIiCittc2dzdHIgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXBlPiIKIAogIzogYnVpbHRpbi9mZXRjaC5jOjIyCiBtc2dpZCAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzxvcHRpb25zPl0gWyg8cmVwb3NpdG9yeT4gfCA8Z3JvdXA+KS4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzxvcHRpb25zPl0gWyg8ZMOpcMO0dD4gfCA8Z3JvdXBlPikuLi5dIgogCiAjOiBidWlsdGluL2ZldGNoLmM6MjMKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjYwCi1tc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NjIKLW1zZ2lkICJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjY0Ci1tc2dpZCAicGF0aCB0byB1cGxvYWQgcGFjayBvbiByZW1vdGUgZW5kIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NQotbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjY3Ci1tc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo2OQotbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjcxCi1tc2dpZCAiZG8gbm90IGZldGNoIGFsbCB0YWdzICgtLW5vLXRhZ3MpIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MwotbXNnaWQgInBydW5lIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyBubyBsb25nZXIgb24gcmVtb3RlIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPG9wdGlvbnM+XSIKIAogIzogYnVpbHRpbi9mZXRjaC5jOjc0Ci1tc2dpZCAib24tZGVtYW5kIgotbXNnc3RyICIiCittc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKK21zZ3N0ciAicsOpY3Vww6lyZXIgZGVwdWlzIHRvdXMgbGUgZMOpcMO0dHMgZGlzdGFudHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NQotbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCi1tc2dzdHIgIiIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NgorbXNnaWQgImFwcGVuZCB0byAuZ2l0L0ZFVENIX0hFQUQgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyIKK21zZ3N0ciAiYWpvdXRlciDDoCAuZ2l0L0ZFVENIX0hFQUQgYXUgbGlldSBkZSBsJ8OpY3Jhc2VyIgorCisjOiBidWlsdGluL2ZldGNoLmM6NzgKK21zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCittc2dzdHIgImNoZW1pbiB2ZXJzIGxlcXVlbCB0w6lsw6ljaGFyZ2VyIGxlIHBhcXVldCBzdXIgbGUgcG9zdGUgZGlzdGFudCIKIAogIzogYnVpbHRpbi9mZXRjaC5jOjc5Ci1tc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCi1tc2dzdHIgIiIKK21zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgbG9jYWwgYnJhbmNoIgorbXNnc3RyICJmb3JjZXIgbCfDqWNyYXNlbWVudCBkZSBsYSBicmFuY2hlIGxvY2FsZSIKIAogIzogYnVpbHRpbi9mZXRjaC5jOjgxCi1tc2dpZCAiYWxsb3cgdXBkYXRpbmcgb2YgSEVBRCByZWYiCi1tc2dzdHIgIiIKK21zZ2lkICJmZXRjaCBmcm9tIG11bHRpcGxlIHJlbW90ZXMiCittc2dzdHIgInLDqWN1cMOpcmVyIGRlcHVpcyBwbHVzaWV1cnMgZMOpcMO0dHMgZGlzdGFudHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NAotbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCi1tc2dzdHIgIiIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4MworbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCittc2dzdHIgInLDqWN1cMOpcmVyIHRvdXRlcyBsZXMgw6l0aXF1ZXR0ZXMgZXQgbGV1cnMgb2JqZXRzIGFzc29jacOpcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg2Ci1tc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCi1tc2dzdHIgIiIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NQorbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKK21zZ3N0ciAibmUgcGFzIHLDqWN1cMOpcmVyIHRvdXRlcyBsZXMgw6l0aXF1ZXR0ZXMgKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4OCBidWlsdGluL2xvZy5jOjExMzAKLW1zZ2lkICJkaXIiCisjOiBidWlsdGluL2ZldGNoLmM6ODcKK21zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKIG1zZ3N0ciAiIgorIsOpbGltaW5lciBsZXMgYnJhbmNoZXMgZGUgc3VpdmkgZGlzdGFudCBzaSBsYSBicmFuY2hlIG4nZXhpc3RlIHBsdXMgZGFucyBsZSAiCisiZMOpcMO0dCBkaXN0YW50IgorCisjOiBidWlsdGluL2ZldGNoLmM6ODgKK21zZ2lkICJvbi1kZW1hbmQiCittc2dzdHIgIsOgIGxhIGRlbWFuZGUiCiAKICM6IGJ1aWx0aW4vZmV0Y2guYzo4OQorbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCittc2dzdHIgImNvbnRyw7RsZXIgbGEgcsOpY3Vww6lyYXRpb24gcsOpY3Vyc2l2ZSBkYW5zIGxlcyBzb3VzLW1vZHVsZXMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MworbXNnaWQgImtlZXAgZG93bmxvYWRlZCBwYWNrIgorbXNnc3RyICJjb25zZXJ2ZXIgbGUgcGFxdWV0IHTDqWzDqWNoYXJnw6kiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NQorbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgorbXNnc3RyICJwZXJtZXR0cmUgbGEgbWlzZSDDoCBqb3VyIGRlIGxhIHLDqWbDqXJlbmNlIEhFQUQiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OAorbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCittc2dzdHIgImFwcHJvZm9uZGlyIGwnaGlzdG9yaXF1ZSBkJ3VuIGNsb25lIHN1cGVyZmljaWVsIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTAwCittc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCittc2dzdHIgImNvbnZlcnRpciBlbiB1biBkw6lww7R0IGNvbXBsZXQiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDIgYnVpbHRpbi9sb2cuYzoxMTk3Cittc2dpZCAiZGlyIgorbXNnc3RyICJkaXIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDMKIG1zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgotbXNnc3RyICIiCittc2dzdHIgInByw6lmaXhlciBjZWNpIMOgIGxhIHNvcnRpZSBkdSBjaGVtaW4gZHUgc291cy1tb2R1bGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MgorIzogYnVpbHRpbi9mZXRjaC5jOjEwNgogbXNnaWQgImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIgotbXNnc3RyICIiCittc2dzdHIgIm1vZGUgcGFyIGTDqWZhdXQgcG91ciBsYSByw6ljdXJzaW9uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjA0CisjOiBidWlsdGluL2ZldGNoLmM6MjM2CiBtc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSB0cm91dmVyIGxhIHLDqWbDqXJlbmNlIEhFQUQgZGlzdGFudGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyNTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJvYmpldCAlcyBub24gdHJvdXbDqSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI2MgorIzogYnVpbHRpbi9mZXRjaC5jOjI5NQogbXNnaWQgIlt1cCB0byBkYXRlXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJbw6Agam91cl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyNzYKKyM6IGJ1aWx0aW4vZmV0Y2guYzozMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiISAlLSpzICUtKnMgLT4gJXMgIChjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiISAlLSpzICUtKnMgLT4gJXMgIChpbXBvc3NpYmxlIGRlIHLDqWN1cMOpcmVyIGxhIGJyYW5jaGUgYWN0dWVsbGUpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mjc3IGJ1aWx0aW4vZmV0Y2guYzozNjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzozMTAgYnVpbHRpbi9mZXRjaC5jOjM5NgogbXNnaWQgIltyZWplY3RlZF0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiW3JlamV0w6ldIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mjg4CisjOiBidWlsdGluL2ZldGNoLmM6MzIxCiBtc2dpZCAiW3RhZyB1cGRhdGVdIgotbXNnc3RyICIiCittc2dzdHIgIlttaXNlIMOgIGpvdXIgZGUgbCfDqXRpcXVldHRlXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI5MCBidWlsdGluL2ZldGNoLmM6MzI1IGJ1aWx0aW4vZmV0Y2guYzozNDMKKyM6IGJ1aWx0aW4vZmV0Y2guYzozMjMgYnVpbHRpbi9mZXRjaC5jOjM1OCBidWlsdGluL2ZldGNoLmM6Mzc2CiBtc2dpZCAiICAodW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYpIgotbXNnc3RyICIiCittc2dzdHIgIiAgKGltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGEgcsOpZsOpcmVuY2UgbG9jYWxlKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMwOAorIzogYnVpbHRpbi9mZXRjaC5jOjM0MQogbXNnaWQgIltuZXcgdGFnXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJbbm91dmVsbGUgw6l0aXF1ZXR0ZV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNDQKIG1zZ2lkICJbbmV3IGJyYW5jaF0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiW25vdXZlbGxlIGJyYW5jaGVdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzE0CisjOiBidWlsdGluL2ZldGNoLmM6MzQ3CiBtc2dpZCAiW25ldyByZWZdIgotbXNnc3RyICIiCittc2dzdHIgIltub3V2ZWxsZSByw6lmw6lyZW5jZV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozNTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzozOTIKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIGxhIHLDqWbDqXJlbmNlIGxvY2FsZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM1OQorIzogYnVpbHRpbi9mZXRjaC5jOjM5MgogbXNnaWQgImZvcmNlZCB1cGRhdGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAibWlzZSDDoCBqb3VyIGZvcmPDqWUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozNjUKKyM6IGJ1aWx0aW4vZmV0Y2guYzozOTgKIG1zZ2lkICIobm9uLWZhc3QtZm9yd2FyZCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiKHBhcyBkJ2F2YW5jZSByYXBpZGUpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mzk2IGJ1aWx0aW4vZmV0Y2guYzo2ODgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0MjkgYnVpbHRpbi9mZXRjaC5jOjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXNcbiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAlcyA6ICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0MDUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIgogbXNnc3RyICIlcyBuJ2EgcGFzIGVudm95w6kgdG91cyBsZXMgb2JqZXRzIG7DqWNlc3NhaXJlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDkxCisjOiBidWlsdGluL2ZldGNoLmM6NTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgotbXNnc3RyICIiCittc2dzdHIgIkRlcHVpcyAlLipzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MDIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKICIgJ2dpdCByZW1vdGUgcHJ1bmUgJXMnIHRvIHJlbW92ZSBhbnkgb2xkLCBjb25mbGljdGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiIgorImRlcyByw6lmw6lyZW5jZXMgbG9jYWxlcyBuJ29udCBwYXMgcHUgw6p0cmUgbWlzZXMgw6Agam91ciA7IGVzc2F5ZXogZGUgbGFuY2VyXG4iCisiICdnaXQgcmVtb3RlIHBydW5lICVzJyBwb3VyIHN1cHByaW1lciBkZXMgYnJhbmNoZXMgYW5jaWVubmVzIGVuIGNvbmZsaXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1NTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIHdpbGwgYmVjb21lIGRhbmdsaW5nKSIKLW1zZ3N0ciAiIgorbXNnc3RyICIgICAoJXMgc2VyYSBlbiBzdXNwZW5zKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU1MworIzogYnVpbHRpbi9mZXRjaC5jOjU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgaGFzIGJlY29tZSBkYW5nbGluZykiCi1tc2dzdHIgIiIKK21zZ3N0ciAiICAgKCVzIGVzdCBkZXZlbnUgZW4gc3VzcGVucykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1NjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MDYKIG1zZ2lkICJbZGVsZXRlZF0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiW3N1cHByaW3DqV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1NjEgYnVpbHRpbi9yZW1vdGUuYzoxMDU1CisjOiBidWlsdGluL2ZldGNoLmM6NjA3IGJ1aWx0aW4vcmVtb3RlLmM6MTA1NQogbXNnaWQgIihub25lKSIKLW1zZ3N0ciAiIgorbXNnc3RyICIoYXVjdW4oZSkpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Njc4CisjOiBidWlsdGluL2ZldGNoLmM6NzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiIgorbXNnc3RyICJSZWZ1cyBkZSByw6ljdXDDqXJlciBkYW5zIGxhIGJyYW5jaGUgY291cmFudCAlcyBkJ3VuIGTDqXDDtHQgbm9uIG51IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzEyCi0jLCBjLWZvcm1hdAotbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjc4OQorIzogYnVpbHRpbi9mZXRjaC5jOjc0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgotbXNnc3RyICIiCittc2dzdHIgIkxhIHZhbGV1ciBcIiUyJHNcIiBkZSBsJ29wdGlvbiBcIiUxJHNcIiBlc3QgaW52YWxpZGUgcG91ciAlMyRzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzkyCisjOiBidWlsdGluL2ZldGNoLmM6NzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgaXMgaWdub3JlZCBmb3IgJXNcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJMJ29wdGlvbiBcIiVzXCIgZXN0IGlnbm9yw6llIHBvdXIgJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg5NAorIzogYnVpbHRpbi9mZXRjaC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgorbXNnc3RyICJKZSBuZSBzYWlzIHBhcyByw6ljdXDDqXJlciBkZXB1aXMgJXMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmV0Y2hpbmcgJXNcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJSw6ljdXDDqXJhdGlvbiBkZSAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODk2IGJ1aWx0aW4vcmVtb3RlLmM6MTAwCisjOiBidWlsdGluL2ZldGNoLmM6OTc4IGJ1aWx0aW4vcmVtb3RlLmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmZXRjaCAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHLDqWN1cMOpcmVyICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTE1CisjOiBidWlsdGluL2ZldGNoLmM6OTk3CiBtc2dpZCAiIgogIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgogInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCiBtc2dzdHIgIiIKKyJBdWN1biBkw6lww7R0IGRpc3RhbnQgc3DDqWNpZmnDqS4gVmV1aWxsZXogc3DDqWNpZmllciB1bmUgVVJMIG91IHVuIG5vbVxuIgorImRpc3RhbnQgZGVwdWlzIGxlc3F1ZWxzIGxlcyBub3V2ZWxsZXMgcsOpdmlzaW9ucyBkZXZyYWllbnQgw6p0cmUgcsOpY3Vww6lyw6llcy4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDIwCiBtc2dpZCAiWW91IG5lZWQgdG8gc3BlY2lmeSBhIHRhZyBuYW1lLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJWb3VzIGRldmV6IHNww6ljaWZpZXIgdW4gbm9tIGQnw6l0aXF1ZXR0ZS4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5ODEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDY4CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCi1tc2dzdHIgIiIKK21zZ3N0ciAiLS1kZXB0aCBldCAtLXVuc2hhbGxvdyBuZSBwZXV2ZW50IHBhcyDDqnRyZSB1dGlsaXPDqXMgZW5zZW1ibGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5ODMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDcwCiBtc2dpZCAiLS11bnNoYWxsb3cgb24gYSBjb21wbGV0ZSByZXBvc2l0b3J5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiLS11bnNoYWxsb3cgc3VyIHVuIGTDqXDDtHQgY29tcGxldCBuJ2EgcGFzIGRlIHNlbnMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAyCisjOiBidWlsdGluL2ZldGNoLmM6MTA4OQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgotbXNnc3RyICIiCittc2dzdHIgImZldGNoIC0tYWxsIG4nYWNjZXB0ZSBwYXMgZCdhcmd1bWVudCBkZSBkw6lww7R0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAwNAorIzogYnVpbHRpbi9mZXRjaC5jOjEwOTEKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZmV0Y2ggLS1hbGwgbidhIHBhcyBkZSBzZW5zIGF2ZWMgZGVzIHNww6ljaWZpY2F0aW9ucyBkZSByw6lmw6lyZW5jZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlIG9yIHJlbW90ZSBncm91cDogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZGlzdGFudCBvdSBncm91cGUgZGlzdGFudCBpbmV4aXN0YW50IDogJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDIzCisjOiBidWlsdGluL2ZldGNoLmM6MTExMAogbXNnaWQgIkZldGNoaW5nIGEgZ3JvdXAgYW5kIHNwZWNpZnlpbmcgcmVmc3BlY3MgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgorIkxhIHLDqWN1cMOpcmF0aW9uIGQndW4gZ3JvdXBlIGV0IGxlcyBzcMOpY2lmaWNhdGlvbnMgZGUgcsOpZsOpcmVuY2UgbidvbnQgcGFzIGRlICIKKyJzZW5zIgogCiAjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxMwogbXNnaWQgImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWVzc2FnZT5dIFstLWxvZ1s9PG4+XXwtLW5vLWxvZ10gWy0tZmlsZSA8ZmlsZT5dIgogbXNnc3RyICIiCisiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dfC0tbm8tbG9nXSBbLS1maWxlIDxmaWNoaWVyPl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYgYnVpbHRpbi9ncmVwLmM6NzAxCi0jOiBidWlsdGluL21lcmdlLmM6MTg4IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUgYnVpbHRpbi9zaG93LXJlZi5jOjE3NQotIzogYnVpbHRpbi90YWcuYzo0NDYgcGFyc2Utb3B0aW9ucy5oOjEzMyBwYXJzZS1vcHRpb25zLmg6MjM5CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2IGJ1aWx0aW4vZ3JlcC5jOjcwMgorIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzgKKyM6IGJ1aWx0aW4vdGFnLmM6NDQ2IHBhcnNlLW9wdGlvbnMuaDoxMzUgcGFyc2Utb3B0aW9ucy5oOjI0NQogbXNnaWQgIm4iCi1tc2dzdHIgIiIKK21zZ3N0ciAibiIKIAogIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY0CiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgotbXNnc3RyICIiCittc2dzdHIgInBldXBsZXIgbGUgam91cm5hbCBhdmVjIGF1IHBsdXMgPG4+IMOpbMOpbWVudHMgZGVwdWlzIGxlIGpvdXJuYWwgY291cnQiCiAKICM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NwogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWxpYXMgcG91ciAtLWxvZyAob2Jzb2zDqHRlKSIKIAogIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcwCiBtc2dpZCAidGV4dCIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0ZXh0ZSIKIAogIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCiBtc2dpZCAidXNlIDx0ZXh0PiBhcyBzdGFydCBvZiBtZXNzYWdlIgotbXNnc3RyICIiCittc2dzdHIgInV0aWxpc2VyIDx0ZXh0ZT4gY29tbWUgZMOpYnV0IGRlIG1lc3NhZ2UiCiAKICM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MgogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgotbXNnc3RyICIiCittc2dzdHIgImZpY2hpZXIgZCdvw7kgbGlyZSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5NzkKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTk1CiBtc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbb3B0aW9uc10gWzxwYXR0ZXJuPl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbb3B0aW9uc10gWzxtb3RpZj5dIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5NAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDEwCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBzaGVsbHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6ljaGFwcGVyIGxlcyBjaGFtcHMgcsOpc2VydsOpcyBwb3VyIGxlcyBpbnRlcnByw6l0ZXVycyBkZSBjb21tYW5kZXMiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTk2CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMTIKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHBlcmwiCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6ljaGFwcGVyIGxlcyBjaGFtcHMgcsOpc2VydsOpcyBwb3VyIHBlcmwiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTk4CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMTQKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHB5dGhvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICLDqWNoYXBwZXIgbGVzIGNoYW1wcyByw6lzZXJ2w6lzIHBvdXIgcHl0aG9uIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDAKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAxNgogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgdGNsIgotbXNnc3RyICIiCittc2dzdHIgIsOpY2hhcHBlciBsZXMgY2hhbXBzIHLDqXNlcnbDqXMgcG91ciB0Y2wiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwMworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDE5CiBtc2dpZCAic2hvdyBvbmx5IDxuPiBtYXRjaGVkIHJlZnMiCi1tc2dzdHIgIiIKK21zZ3N0ciAibidhZmZpY2hlciBxdWUgPG4+IHLDqWbDqXJlbmNlcyBjb3JyZXNwb25kYW50IgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAyMAogbXNnaWQgImZvcm1hdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJmb3JtYXQiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDIwCiBtc2dpZCAiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIKLW1zZ3N0ciAiIgorbXNnc3RyICJmb3JtYXQgw6AgdXRpbGlzZXIgcG91ciBsYSBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDIxCiBtc2dpZCAia2V5IgotbXNnc3RyICIiCittc2dzdHIgImNsw6kiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNgorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDIyCiBtc2dpZCAiZmllbGQgbmFtZSB0byBzb3J0IG9uIgotbXNnc3RyICIiCittc2dzdHIgIm5vbSBkdSBjaGFtcCBzZXJ2YW50IMOgIHRyaWVyIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MDgKKyM6IGJ1aWx0aW4vZnNjay5jOjYwNwogbXNnaWQgImdpdCBmc2NrIFtvcHRpb25zXSBbPG9iamVjdD4uLi5dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBmc2NrIFtvcHRpb25zXSBbPG9iamV0Pi4uLl0iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYxMworbXNnaWQgInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIG9iamV0cyBpbmFjY2Vzc2libGVzIgogCiAjOiBidWlsdGluL2ZzY2suYzo2MTQKLW1zZ2lkICJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiCi1tc2dzdHIgIiIKK21zZ2lkICJzaG93IGRhbmdsaW5nIG9iamVjdHMiCittc2dzdHIgImFmZmljaGVyIGxlcyBvYmpldHMgZW4gc3VzcGVucyIKIAogIzogYnVpbHRpbi9mc2NrLmM6NjE1Ci1tc2dpZCAic2hvdyBkYW5nbGluZyBvYmplY3RzIgotbXNnc3RyICIiCittc2dpZCAicmVwb3J0IHRhZ3MiCittc2dzdHIgImFmZmljaGVyIGxlcyDDqXRpcXVldHRlcyIKIAogIzogYnVpbHRpbi9mc2NrLmM6NjE2Ci1tc2dpZCAicmVwb3J0IHRhZ3MiCi1tc2dzdHIgIiIKK21zZ2lkICJyZXBvcnQgcm9vdCBub2RlcyIKK21zZ3N0ciAic2lnbmFsZXIgbGVzIG7Fk3VkcyByYWNpbmVzIgogCiAjOiBidWlsdGluL2ZzY2suYzo2MTcKLW1zZ2lkICJyZXBvcnQgcm9vdCBub2RlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZzY2suYzo2MTgKIG1zZ2lkICJtYWtlIGluZGV4IG9iamVjdHMgaGVhZCBub2RlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJjb25zaWTDqXJlciBsZXMgb2JqZXRzIGRlIGwnaW5kZXggY29tbWUgbsWTdWRzIHTDqnRlIgorCisjIHRyYW5zbGF0ZWQgZnJvbSBtYW4gcGFnZQorIzogYnVpbHRpbi9mc2NrLmM6NjE4Cittc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgorbXNnc3RyICJjb25zaWTDqXJlciBsZXMgcmVmbG9ncyBjb21tZSBuxZN1ZHMgdMOqdGUgKHBhciBkw6lmYXV0KSIKIAogIzogYnVpbHRpbi9mc2NrLmM6NjE5Ci1tc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgotbXNnc3RyICIiCittc2dpZCAiYWxzbyBjb25zaWRlciBwYWNrcyBhbmQgYWx0ZXJuYXRlIG9iamVjdHMiCittc2dzdHIgImluc3BlY3RlciBhdXNzaSBsZXMgb2JqZXRzIHBhY2sgZXQgYWx0ZXJuYXRpZnMiCiAKICM6IGJ1aWx0aW4vZnNjay5jOjYyMAotbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZnNjay5jOjYyMQogbXNnaWQgImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIKLW1zZ3N0ciAiIgorbXNnc3RyICJhY3RpdmVyIHVuZSB2w6lyaWZpY2F0aW9uIHBsdXMgc3RyaWN0IgogCi0jOiBidWlsdGluL2ZzY2suYzo2MjMKKyM6IGJ1aWx0aW4vZnNjay5jOjYyMgogbXNnaWQgIndyaXRlIGRhbmdsaW5nIG9iamVjdHMgaW4gLmdpdC9sb3N0LWZvdW5kIgotbXNnc3RyICIiCittc2dzdHIgIsOpY3JpcmUgbGVzIG9iamV0cyBlbiBzdXNwZW5zIGRhbnMgLmdpdC9sb3N0LWZvdW5kIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MjQgYnVpbHRpbi9wcnVuZS5jOjEzNAorIzogYnVpbHRpbi9mc2NrLmM6NjIzIGJ1aWx0aW4vcHJ1bmUuYzoxMzQKIG1zZ2lkICJzaG93IHByb2dyZXNzIgotbXNnc3RyICIiCittc2dzdHIgImFmZmljaGVyIGxhIHByb2dyZXNzaW9uIgogCi0jOiBidWlsdGluL2djLmM6MjIKKyM6IGJ1aWx0aW4vZ2MuYzoyMwogbXNnaWQgImdpdCBnYyBbb3B0aW9uc10iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IGdjIFtvcHRpb25zXSIKIAotIzogYnVpbHRpbi9nYy5jOjYzCisjOiBidWlsdGluL2djLmM6NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCAlczogJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICIlcyBpbnZhbGlkZSA6ICclcyciCiAKLSM6IGJ1aWx0aW4vZ2MuYzo5MAorIzogYnVpbHRpbi9nYy5jOjEwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmVseSBsb25nIG9iamVjdCBkaXJlY3RvcnkgJS4qcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJvYmpldCByw6lwZXJ0b2lyZSBkw6ltZW50aWVsbGVtZW50IGxvbmcgJS4qcyIKIAotIzogYnVpbHRpbi9nYy5jOjE3OQorIzogYnVpbHRpbi9nYy5jOjI2MQogbXNnaWQgInBydW5lIHVucmVmZXJlbmNlZCBvYmplY3RzIgotbXNnc3RyICIiCittc2dzdHIgIsOpbGltaW5lciBsZXMgb2JqZXRzIG5vbiByw6lmw6lyZW5jw6lzIgogCi0jOiBidWlsdGluL2djLmM6MTgxCisjOiBidWlsdGluL2djLmM6MjYzCiBtc2dpZCAiYmUgbW9yZSB0aG9yb3VnaCAoaW5jcmVhc2VkIHJ1bnRpbWUpIgotbXNnc3RyICIiCittc2dzdHIgIsOqdHJlIHBsdXMgY29uc2NpZW5jaWV1eCAoZHVyw6llIGRlIHRyYWl0ZW1lbnQgYWxsb25nw6llKSIKIAotIzogYnVpbHRpbi9nYy5jOjE4MgorIzogYnVpbHRpbi9nYy5jOjI2NAogbXNnaWQgImVuYWJsZSBhdXRvLWdjIG1vZGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWN0aXZlciBsZSBtb2RlIGF1dG8tZ2MiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoyMjIKKyM6IGJ1aWx0aW4vZ2MuYzoyNjUKK21zZ2lkICJmb3JjZSBydW5uaW5nIGdjIGV2ZW4gaWYgdGhlcmUgbWF5IGJlIGFub3RoZXIgZ2MgcnVubmluZyIKK21zZ3N0ciAiZm9yY2VyIGxlIGxhbmNlbWVudCBkdSByYW1hc3NlLW1pZXR0ZXMgbcOqbWUgc2kgdW4gYXV0cmUgcmFtYXNzZS1taWV0dGVzIHRvdXJuZSBkw6lqw6AiCisKKyM6IGJ1aWx0aW4vZ2MuYzozMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS4gWW91IG1heSBhbHNvXG4iCiAicnVuIFwiZ2l0IGdjXCIgbWFudWFsbHkuIFNlZSBcImdpdCBoZWxwIGdjXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCiBtc2dzdHIgIiIKKyJDb21wcmVzc2lvbiBhdXRvbWF0aXF1ZSBkdSBkw6lww7R0IHBvdXIgdW5lIHBlcmZvcm1hbmNlIG9wdGltdW0uIFZvdXMgcG91dmV6ICIKKyJhdXNzaVxuIgorImxhbmNlciBcImdpdCBnY1wiIG1hbnVlbGxlbWVudC4gVm9pciBcImdpdCBoZWxwIGdjXCIgcG91ciBwbHVzICIKKyJkJ2luZm9ybWF0aW9uLlxuIgogCi0jOiBidWlsdGluL2djLmM6MjQ5CisjLiBiZSBxdWlldCBvbiAtLWF1dG8KKyM6IGJ1aWx0aW4vZ2MuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImdjIGlzIGFscmVhZHkgcnVubmluZyBvbiBtYWNoaW5lICclcycgcGlkICU8UFJJdU1BWD4gKHVzZSAtLWZvcmNlIGlmIG5vdCkiCittc2dzdHIgInVuIHJhbWFzc2UtbWlldHRlcyBlc3QgZMOpasOgIGVuIGNvdXJzIHN1ciBsYSBtYWNoaW5lICclcycgcGlkICU8UFJJdU1BWD4gKHV0aWxpc2V6IC0tZm9yY2Ugc2kgY2Ugbidlc3QgcGFzIGxlIGNhcykiCisKKyM6IGJ1aWx0aW4vZ2MuYzozNDAKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgdGhlbS4iCiBtc2dzdHIgIiIKKyJJbCB5IGEgdHJvcCBkJ29iamV0cyBzZXVscyBpbmFjY2Vzc2libGVzIDsgbGFuY2V6ICdnaXQgcHJ1bmUnIHBvdXIgbGVzICIKKyJzdXBwcmltZXIuIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMgorIzogYnVpbHRpbi9ncmVwLmM6MjMKIG1zZ2lkICJnaXQgZ3JlcCBbb3B0aW9uc10gWy1lXSA8cGF0dGVybj4gWzxyZXY+Li4uXSBbWy0tXSA8cGF0aD4uLi5dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBncmVwIFtvcHRpb25zXSBbLWVdIDxtb3RpZj4gWzxyw6l2aXNpb24+Li4uXSBbWy0tXSA8Y2hlbWluPi4uLl0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIxNworIzogYnVpbHRpbi9ncmVwLmM6MjE4CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyZXA6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJncmVwIDogw6ljaGVjIGRlIGNyw6lhdGlvbiBkdSBmaWw6ICVzIgogCiAjOiBidWlsdGluL2dyZXAuYzozNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNoZGlyOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICLDiWNoZWMgZGUgY2hkaXI6ICVzIgogCiAjOiBidWlsdGluL2dyZXAuYzo0NDMgYnVpbHRpbi9ncmVwLmM6NDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbCdhcmJyZSAoJXMpIgogCiAjOiBidWlsdGluL2dyZXAuYzo0OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZhaXJlIHVuIGdyZXAgc3VyIHVuIG9iamV0IGRlIHR5cGUgJXMiCiAKICM6IGJ1aWx0aW4vZ3JlcC5jOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgotbXNnc3RyICIiCittc2dzdHIgImwnb3B0aW9uICclYycgYXR0ZW5kIHVuIHZhbGV1ciBudW3DqXJpcXVlIgogCiAjOiBidWlsdGluL2dyZXAuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICclcyciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY0MworIzogYnVpbHRpbi9ncmVwLmM6NjQyCiBtc2dpZCAic2VhcmNoIGluIGluZGV4IGluc3RlYWQgb2YgaW4gdGhlIHdvcmsgdHJlZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZWNoZXJjaGVyIGRhbnMgbCdpbmRleCBwbHV0w7R0IHF1ZSBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY0NQorIzogYnVpbHRpbi9ncmVwLmM6NjQ0CiBtc2dpZCAiZmluZCBpbiBjb250ZW50cyBub3QgbWFuYWdlZCBieSBnaXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVjaGVyY2hlciBkYW5zIGxlcyBjb250ZW51cyBub24gZ8OpcsOpcyBwYXIgZ2l0IgogCi0jOiBidWlsdGluL2dyZXAuYzo2NDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY0NgogbXNnaWQgInNlYXJjaCBpbiBib3RoIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZWNoZXJjaGVyIGRhbnMgbGVzIGZpY2hpZXJzIHN1aXZpcyBldCBub24tc3VpdmlzIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NDkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY0OAogbXNnaWQgInNlYXJjaCBhbHNvIGluIGlnbm9yZWQgZmlsZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVjaGVyY2hlciBhdXNzaSBkYW5zIGxlcyBmaWNoaWVycyBpZ25vcsOpcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjUyCisjOiBidWlsdGluL2dyZXAuYzo2NTEKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBsaW5lcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsZXMgbGlnbmVzIHF1aSBuZSBjb3JyZXNwb25kZW50IHBhcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU0CisjOiBidWlsdGluL2dyZXAuYzo2NTMKIG1zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgotbXNnc3RyICIiCittc2dzdHIgImNvcnJlc3BvbmRhbmNlIGluc2Vuc2libGUgw6AgbGEgY2Fzc2UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY1NgorIzogYnVpbHRpbi9ncmVwLmM6NjU1CiBtc2dpZCAibWF0Y2ggcGF0dGVybnMgb25seSBhdCB3b3JkIGJvdW5kYXJpZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVjaGVyY2hlciBsZXMgbW90aWZzIGF1eCBzw6lwYXJhdGV1cnMgZGUgbW90cyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU4CisjOiBidWlsdGluL2dyZXAuYzo2NTcKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyB0ZXh0IgotbXNnc3RyICIiCittc2dzdHIgInRyYWl0ZXIgbGVzIGZpY2hpZXJzIGJpbmFpcmVzIGNvbW1lIHRleHRlIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1OQogbXNnaWQgImRvbid0IG1hdGNoIHBhdHRlcm5zIGluIGJpbmFyeSBmaWxlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJuZSBwYXMgY2hlcmNoZXIgbGVzIG1vdGlmcyBkYW5zIGxlcyBmaWNoaWVycyBiaW5haXJlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjYzCisjOiBidWlsdGluL2dyZXAuYzo2NjIKK21zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCittc2dzdHIgInRyYWl0ZXIgbGVzIGZpY2hpZXJzIGJpbmFpcmVzIGF2ZWMgbGVzIGZpbHRyZXMgdGV4dGNvbnYiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2NAogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKLW1zZ3N0ciAiIgorbXNnc3RyICJkZXNjZW5kcmUgYXUgcGx1cyBkZSA8cHJvZm9uZGV1cj4gZGFucyBsJ2FyYm9yZXNjZW5jZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjY3CisjOiBidWlsdGluL2dyZXAuYzo2NjgKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1dGlsaXNlciBkZXMgZXhwcmVzc2lvbnMgcsOpZ3VsacOocmVzIMOpdGVuZHVlcyBQT1NJWCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjcwCisjOiBidWlsdGluL2dyZXAuYzo2NzEKIG1zZ2lkICJ1c2UgYmFzaWMgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyAoZGVmYXVsdCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAidXRpbGlzZXIgZGVzIGV4cHJlc3Npb25zIHLDqWd1bGnDqHJlcyBiYXNpcXVlcyBQT1NJWCAocGFyIGTDqWZhdXQpIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3NAogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgotbXNnc3RyICIiCittc2dzdHIgImludGVycHLDqXRlciBsZXMgbW90aWZzIGNvbW1lIGRlIGNoYcOubmVzIGZpeGVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3NwogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2dyZXAuYzo2NzkKLW1zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1dGlsaXNlciBkZXMgZXhwcmVzc2lvbnMgcsOpZ3VsacOocmVzIGNvbXBhdGlibGVzIGF2ZWMgUGVybCIKIAogIzogYnVpbHRpbi9ncmVwLmM6NjgwCi1tc2dpZCAiZG9uJ3Qgc2hvdyBmaWxlbmFtZXMiCi1tc2dzdHIgIiIKK21zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIG51bcOpcm9zIGRlIGxpZ25lIgogCiAjOiBidWlsdGluL2dyZXAuYzo2ODEKK21zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKK21zZ3N0ciAibmUgcGFzIHBhcyBhZmZpY2hlciBsZXMgbm9tcyBkZSBmaWNoaWVyIgorCisjOiBidWlsdGluL2dyZXAuYzo2ODIKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsZXMgbm9tcyBkZSBmaWNoaWVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NAogbXNnaWQgInNob3cgZmlsZW5hbWVzIHJlbGF0aXZlIHRvIHRvcCBkaXJlY3RvcnkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIG5vbXMgZGUgZmljaGllcnMgcmVsYXRpdmVtZW50IGF1IHLDqXBlcnRvaXJlIGRlIGJhc2UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NQorIzogYnVpbHRpbi9ncmVwLmM6Njg2CiBtc2dpZCAic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgotbXNnc3RyICIiCittc2dzdHIgIm4nYWZmaWNoZXIgcXVlIGxlcyBub21zIGRlIGZpY2hpZXJzIGF1IGxpZXUgZGVzIGxpZ25lcyBjb3JyZXNwb25kYW50IgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4OAogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgotbXNnc3RyICIiCittc2dzdHIgInN5bm9ueW1lIHBvdXIgLS1maWxlcy13aXRoLW1hdGNoZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5MAorIzogYnVpbHRpbi9ncmVwLmM6NjkxCiBtc2dpZCAic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIgotbXNnc3RyICIiCittc2dzdHIgIm4nYWZmaWNoZXIgcXVlIGxlcyBub21zIGRlcyBmaWNoaWVycyBzYW5zIGNvcnJlc3BvbmRhbmNlIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MwogbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ncmVwLmM6Njk0Ci1tc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXByaW1lciB1bmUgY2FyYWN0w6hyZSBOVUwgYXByw6hzIGxlIG5vbXMgZGUgZmljaGllciIKIAogIzogYnVpbHRpbi9ncmVwLmM6Njk1Ci1tc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCi1tc2dzdHIgIiIKK21zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgorbXNnc3RyICJhZmZpY2hlciBsZSBub21icmUgZGUgY29ycmVzcG9uZGFuY2VzIGF1IGxpZXUgZGVzIGxpZ25lcyBjb3JyZXNwb25kYW50IgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5NgorbXNnaWQgImhpZ2hsaWdodCBtYXRjaGVzIgorbXNnc3RyICJtZXR0cmUgZW4gw6l2aWRlbmNlIGxlcyBjb3JyZXNwb25kYW5jZXMiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5OAogbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgogbXNnc3RyICIiCisiaW1wcmltZXIgdW5lIGxpZ25lIHZpZGUgZW50cmUgbGVzIGNvcnJlc3BvbmRhbmNlcyBkZSBmaWNoaWVycyBkaWZmw6lyZW50cyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk5CisjOiBidWlsdGluL2dyZXAuYzo3MDAKIG1zZ2lkICJzaG93IGZpbGVuYW1lIG9ubHkgb25jZSBhYm92ZSBtYXRjaGVzIGZyb20gc2FtZSBmaWxlIgogbXNnc3RyICIiCisiYWZmaWNoZXIgbGUgbm9tIGRlIGZpY2hpZXIgdW5lIGZvaXMgYXUgZGVzc3VzIGRlcyBjb3JyZXNwb25kYW5jZXMgZHUgbcOqbWUgIgorImZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwMgorIzogYnVpbHRpbi9ncmVwLmM6NzAzCiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgYW5kIGFmdGVyIG1hdGNoZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgPG4+IGxpZ25lcyBkZSBjb250ZXh0ZSBhdmFudCBldCBhcHLDqHMgbGVzIGNvcnJlc3BvbmRhbmNlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA1CisjOiBidWlsdGluL2dyZXAuYzo3MDYKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNwotbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYWZ0ZXIgbWF0Y2hlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciA8bj4gbGlnbmVzIGRlIGNvbnRleHRlIGF2YW50IGxlcyBjb3JyZXNwb25kYW5jZXMiCiAKICM6IGJ1aWx0aW4vZ3JlcC5jOjcwOAotbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCi1tc2dzdHIgIiIKK21zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCittc2dzdHIgImFmZmljaGVyIDxuPiBsaWduZXMgZGUgY29udGV4dGUgYXByw6hzIGxlcyBjb3JyZXNwb25kYW5jZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxMQorIzogYnVpbHRpbi9ncmVwLmM6NzA5Cittc2dpZCAic2hvcnRjdXQgZm9yIC1DIE5VTSIKK21zZ3N0ciAicmFjY291cmNpIHBvdXIgLUMgTlVNIgorCisjOiBidWlsdGluL2dyZXAuYzo3MTIKIG1zZ2lkICJzaG93IGEgbGluZSB3aXRoIHRoZSBmdW5jdGlvbiBuYW1lIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICIiCisiYWZmaWNoZXIgdW5lIGxpZ25lIGF2ZWMgbGUgbm9tIGRlIGxhIGZvbmN0aW9uIGF2YW50IGxlcyBjb3JyZXNwb25kYW5jZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxMworIzogYnVpbHRpbi9ncmVwLmM6NzE0CiBtc2dpZCAic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgZm9uY3Rpb24gY29udGVuYW50ZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE2CisjOiBidWlsdGluL2dyZXAuYzo3MTcKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJsaXJlIGxlcyBtb3RpZnMgZGVwdWlzIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxOAorIzogYnVpbHRpbi9ncmVwLmM6NzE5CiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgotbXNnc3RyICIiCittc2dzdHIgInJlY2hlcmNoZXIgPG1vdGlmPiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzIwCisjOiBidWlsdGluL2dyZXAuYzo3MjEKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgotbXNnc3RyICIiCittc2dzdHIgImNvbWJpbmVyIGxlcyBtb3RpZnMgc3DDqWNpZmnDqXMgcGFyIC1lIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczMwogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICIiCisiaW5kaXF1ZXIgZGVzIGNvcnJlc3BvbmRhbmNlcyBhdmVjIGxlIGNvZGUgZGUgc29ydGllIG1haXMgc2FucyByaWVuIGFmZmljaGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczNQogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgIiIKKyJuJ2FmZmljaGVyIHF1ZSBsZXMgY29ycmVzcG9uZGFuY2VzIGRlIGZpY2hpZXJzIHF1aSBjb3JyZXNwb25kZW50IMOgIHRvdXMgbGVzICIKKyJtb3RpZnMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczNgorIzogYnVpbHRpbi9ncmVwLmM6NzM3CiBtc2dpZCAic2hvdyBwYXJzZSB0cmVlIGZvciBncmVwIGV4cHJlc3Npb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbCdhcmJyZSBkJ2FuYWx5c2UgcG91ciBsZSBtb3RpZiBncmVwIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQogbXNnaWQgInBhZ2VyIgotbXNnc3RyICIiCittc2dzdHIgInBhZ2luZXVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQogbXNnaWQgInNob3cgbWF0Y2hpbmcgZmlsZXMgaW4gdGhlIHBhZ2VyIgotbXNnc3RyICIiCittc2dzdHIgImFmZmljaGVyIGxlcyBmaWNoaWVycyBjb3JyZXNwb25kYW50IGRhbnMgbGUgcGFnaW5ldXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0MworIzogYnVpbHRpbi9ncmVwLmM6NzQ0CiBtc2dpZCAiYWxsb3cgY2FsbGluZyBvZiBncmVwKDEpIChpZ25vcmVkIGJ5IHRoaXMgYnVpbGQpIgotbXNnc3RyICIiCittc2dzdHIgInBlcm1ldHRyZSBsJ2FwcGVsIGRlIGdyZXAoMSkgKGlnbm9yw6kgcGFyIGNlIGJ1aWxkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQ0IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0NSBidWlsdGluL3Nob3ctcmVmLmM6MTg3CiBtc2dpZCAic2hvdyB1c2FnZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsJ3VzYWdlIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxMgogbXNnaWQgIm5vIHBhdHRlcm4gZ2l2ZW4uIgotbXNnc3RyICIiCittc2dzdHIgImF1Y3VuIG1vdGlmIGZvdXJuaS4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2NgorIzogYnVpbHRpbi9ncmVwLmM6ODcwCiBtc2dpZCAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIG9ubHkgd29ya3Mgb24gdGhlIHdvcmt0cmVlIgotbXNnc3RyICIiCittc2dzdHIgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBuZSBmb25jdGlvbm5lIHF1ZSBzdXIgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg5CisjOiBidWlsdGluL2dyZXAuYzo4OTMKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXguIgotbXNnc3RyICIiCittc2dzdHIgIi0tY2FjaGVkIG91IC0tdW50cmFja2VkIG5lIHBldXZlbnQgcGFzIMOqdHJlIHV0aWxpc8OpcyBhdmVjIC0tbm8taW5kZXguIgogCi0jOiBidWlsdGluL2dyZXAuYzo4OTQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5OAogbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzLiIKIG1zZ3N0ciAiIgorIi0tbm8taW5kZXggb3UgLS11bnRyYWNrZWQgbmUgcGV1dmVudCBwYXMgw6p0cmUgdXRpbGlzw6lzIGF2ZWMgZGVzIHLDqXZpc2lvbnMuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4OTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMQogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzLiIKIG1zZ3N0ciAiIgorIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIGF2ZWMgZHUgY29udGVudSBzdWl2aS4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwNQorIzogYnVpbHRpbi9ncmVwLmM6OTA5CiBtc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuLiIKLW1zZ3N0ciAiIgorbXNnc3RyICItLWNhY2hlZCBldCBkZXMgYXJicmVzIHNvbnQgZm91cm5pcyBlbiBtw6ptZSB0ZW1wcy4iCiAKICM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo2MAogbXNnaWQgIiIKICJnaXQgaGFzaC1vYmplY3QgWy10IDx0eXBlPl0gWy13XSBbLS1wYXRoPTxmaWxlPnwtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSBbLS1dICIKICI8ZmlsZT4uLi4iCiBtc2dzdHIgIiIKKyJnaXQgaGFzaC1vYmplY3QgWy10IDx0eXBlPl0gWy13XSBbLS1wYXRoPTxmaWNoaWVyPnwtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCisiWy0tXSA8ZmljaGllcj4uLi4iCiAKICM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo2MQogbXNnaWQgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyA8IDxsaXN0LW9mLXBhdGhzPiIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMgPCA8bGlzdGUtZGUtY2hlbWlucz4iCiAKICM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3MgogbXNnaWQgInR5cGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAidHlwZSIKIAogIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjcyCiBtc2dpZCAib2JqZWN0IHR5cGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAidHlwZSBkJ29iamV0IgogCiAjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6NzMKIG1zZ2lkICJ3cml0ZSB0aGUgb2JqZWN0IGludG8gdGhlIG9iamVjdCBkYXRhYmFzZSIKLW1zZ3N0ciAiIgorbXNnc3RyICLDqWNyaXJlIGwnb2JqZXQgZGFucyBsYSBiYXNlIGRlIGRvbm7DqWUgZCdvYmpldHMiCiAKICM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3NAogbXNnaWQgInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIgotbXNnc3RyICIiCittc2dzdHIgImxpcmUgbCdvYmpldCBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCiAjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6NzYKIG1zZ2lkICJzdG9yZSBmaWxlIGFzIGlzIHdpdGhvdXQgZmlsdGVycyIKLW1zZ3N0ciAiIgorbXNnc3RyICJzdG9ja2VyIGxlIGZpY2hpZXIgdGVsIHF1ZWwgc2FucyBmaWx0cmFnZSIKIAogIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjc3CiBtc2dpZCAicHJvY2VzcyBmaWxlIGFzIGl0IHdlcmUgZnJvbSB0aGlzIHBhdGgiCi1tc2dzdHIgIiIKK21zZ3N0ciAidHJhaXRlciBsZSBmaWNoaWVyIGNvbW1lIHMnaWwgdmVuYWl0IGRlIGNlIGNoZW1pbiIKKworIzogYnVpbHRpbi9oZWxwLmM6NDEKK21zZ2lkICJwcmludCBhbGwgYXZhaWxhYmxlIGNvbW1hbmRzIgorbXNnc3RyICJhZmZpY2hlciB0b3V0ZXMgbGVzIGNvbW1hbmRlcyBkaXNwb25pYmxlcyIKKworIzogYnVpbHRpbi9oZWxwLmM6NDIKK21zZ2lkICJwcmludCBsaXN0IG9mIHVzZWZ1bCBndWlkZXMiCittc2dzdHIgImFmZmljaGVyIHVuZSBsaXN0ZSBkZSBndWlkZXMgdXRpbGVzIgogCiAjOiBidWlsdGluL2hlbHAuYzo0MwotbXNnaWQgInByaW50IGFsbCBhdmFpbGFibGUgY29tbWFuZHMiCi1tc2dzdHIgIiIKK21zZ2lkICJzaG93IG1hbiBwYWdlIgorbXNnc3RyICJhZmZpY2hlciBsYSBwYWdlIGRlIG1hbnVlbCIKIAogIzogYnVpbHRpbi9oZWxwLmM6NDQKLW1zZ2lkICJwcmludCBsaXN0IG9mIHVzZWZ1bCBndWlkZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9oZWxwLmM6NDUKLW1zZ2lkICJzaG93IG1hbiBwYWdlIgotbXNnc3RyICIiCittc2dpZCAic2hvdyBtYW51YWwgaW4gd2ViIGJyb3dzZXIiCittc2dzdHIgImFmZmljaGVyIGxlIG1hbnVlbCBkYW5zIHVuIG5hdmlnYXRldXIgd2ViIgogCiAjOiBidWlsdGluL2hlbHAuYzo0NgotbXNnaWQgInNob3cgbWFudWFsIGluIHdlYiBicm93c2VyIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaGVscC5jOjQ4CiBtc2dpZCAic2hvdyBpbmZvIHBhZ2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgcGFnZSBpbmZvIgogCi0jOiBidWlsdGluL2hlbHAuYzo1NAorIzogYnVpbHRpbi9oZWxwLmM6NTIKIG1zZ2lkICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFufC0td2VifC0taW5mb10gW2NvbW1hbmRdIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW58LS13ZWJ8LS1pbmZvXSBbY29tbWFuZGVdIgogCi0jOiBidWlsdGluL2hlbHAuYzo2NgorIzogYnVpbHRpbi9oZWxwLmM6NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGhlbHAgZm9ybWF0ICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiZm9ybWF0IGQnYWlkZSBub24gcmVjb25udSAnJXMnIgogCi0jOiBidWlsdGluL2hlbHAuYzo5NAorIzogYnVpbHRpbi9oZWxwLmM6OTIKIG1zZ2lkICJGYWlsZWQgdG8gc3RhcnQgZW1hY3NjbGllbnQuIgotbXNnc3RyICIiCittc2dzdHIgIsOpY2hlYyBkZSBkw6ltYXJyYWdlIGQnZW1hY3NjbGllbnQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMDcKKyM6IGJ1aWx0aW4vaGVscC5jOjEwNQogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbWFjc2NsaWVudCB2ZXJzaW9uLiIKLW1zZ3N0ciAiIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGxhIHZlcnNpb24gZCdlbWFjc2NsaWVudC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjExNQorIzogYnVpbHRpbi9oZWxwLmM6MTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImVtYWNzY2xpZW50IHZlcnNpb24gJyVkJyB0b28gb2xkICg8IDIyKS4iCi1tc2dzdHIgIiIKK21zZ3N0ciAibGEgdmVyc2lvbiBkJ2VtYWNzY2xpZW50ICclZCcgZXN0IHRyb3AgYW5jaWVubmUgKDwyMikuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMzMgYnVpbHRpbi9oZWxwLmM6MTYxIGJ1aWx0aW4vaGVscC5jOjE3MCBidWlsdGluL2hlbHAuYzoxNzgKKyM6IGJ1aWx0aW4vaGVscC5jOjEzMSBidWlsdGluL2hlbHAuYzoxNTkgYnVpbHRpbi9oZWxwLmM6MTY4IGJ1aWx0aW4vaGVscC5jOjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICLDqWNoZWMgZGUgbCdleMOpY3V0aW9uIGRlICclcycgOiAlcyIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjE4CisjOiBidWlsdGluL2hlbHAuYzoyMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IHBhdGggZm9yIHVuc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCiAiUGxlYXNlIGNvbnNpZGVyIHVzaW5nICdtYW4uPHRvb2w+LmNtZCcgaW5zdGVhZC4iCiBtc2dzdHIgIiIKKyInJXMnIDogY2hlbWluIHBvdXIgbCd1dGlsaXRhaXJlIGRlIHZpc3VhbGlzYXRpb24gZGUgbWFudWVsIG5vbiBzdXBwb3J0w6kuXG4iCisiVmV1aWxsZXogdXRpbGlzZXIgcGx1dMO0dCAnbWFuLjxvdXRpbD4uY21kJy4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIzMAorIzogYnVpbHRpbi9oZWxwLmM6MjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBjbWQgZm9yIHN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgogIlBsZWFzZSBjb25zaWRlciB1c2luZyAnbWFuLjx0b29sPi5wYXRoJyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgorIiclcycgOiBjaGVtaW4gcG91ciBsJ3V0aWxpdGFpcmUgZGUgdmlzdWFsaXNhdGlvbiBkZSBtYW51ZWwgc3VwcG9ydMOpLlxuIgorIlZldWlsbGV6IHV0aWxpc2VyIHBsdXTDtHQgJ21hbi48b3V0aWw+LmNtZCcuIgogCi0jOiBidWlsdGluL2hlbHAuYzozNTEKKyM6IGJ1aWx0aW4vaGVscC5jOjM0OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmtub3duIG1hbiB2aWV3ZXIuIgotbXNnc3RyICIiCittc2dzdHIgIiclcycgOiB2aXN1YWxpc2V1ciBkZSBtYW51ZWwgaW5jb25udS4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM2OAorIzogYnVpbHRpbi9oZWxwLmM6MzY2CiBtc2dpZCAibm8gbWFuIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgotbXNnc3RyICIiCittc2dzdHIgImF1Y3VuIHZpc3VhbGlzZXVyIGRlIG1hbnVlbCBuJ2EgcHJpcyBlbiBjaGFyZ2UgbGEgZGVtYW5kZSIKIAotIzogYnVpbHRpbi9oZWxwLmM6Mzc2CisjOiBidWlsdGluL2hlbHAuYzozNzQKIG1zZ2lkICJubyBpbmZvIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgotbXNnc3RyICIiCittc2dzdHIgImF1Y3VuIHZpc3VhbGlzZXVyIGRlICdpbmZvJyBuJ2EgcHJpcyBlbiBjaGFyZ2UgbGEgZGVtYW5kZSIKKworIzogYnVpbHRpbi9oZWxwLmM6NDIwCittc2dpZCAiRGVmaW5pbmcgYXR0cmlidXRlcyBwZXIgcGF0aCIKK21zZ3N0ciAiRMOpZmluaXRpb24gZGVzIGF0dHJpYnV0cyBwYXIgY2hlbWluIgorCisjOiBidWlsdGluL2hlbHAuYzo0MjEKK21zZ2lkICJBIEdpdCBnbG9zc2FyeSIKK21zZ3N0ciAiVW4gZ2xvc3NhaXJlIEdpdCIKIAogIzogYnVpbHRpbi9oZWxwLmM6NDIyCi1tc2dpZCAiRGVmaW5pbmcgYXR0cmlidXRlcyBwZXIgcGF0aCIKLW1zZ3N0ciAiIgorbXNnaWQgIlNwZWNpZmllcyBpbnRlbnRpb25hbGx5IHVudHJhY2tlZCBmaWxlcyB0byBpZ25vcmUiCittc2dzdHIgIlNww6ljaWZpZSBsZXMgZmljaGllcnMgbm9uLXN1aXZpcyDDoCBpZ25vcmVyIGludGVudGlvbm5lbGxlbWVudCIKIAogIzogYnVpbHRpbi9oZWxwLmM6NDIzCi1tc2dpZCAiQSBHaXQgZ2xvc3NhcnkiCi1tc2dzdHIgIiIKK21zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKK21zZ3N0ciAiRMOpZmluaXRpb24gZGVzIHByb3ByacOpdMOpcyBkZSBzb3VzLW1vZHVsZSIKIAogIzogYnVpbHRpbi9oZWxwLmM6NDI0Ci1tc2dpZCAiU3BlY2lmaWVzIGludGVudGlvbmFsbHkgdW50cmFja2VkIGZpbGVzIHRvIGlnbm9yZSIKLW1zZ3N0ciAiIgorbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKK21zZ3N0ciAiU3DDqWNpZmljYXRpb24gZGVzIHLDqXZpc2lvbnMgZXQgcG9ydMOpZXMgcG91ciBHaXQiCiAKICM6IGJ1aWx0aW4vaGVscC5jOjQyNQotbXNnaWQgIkRlZmluaW5nIHN1Ym1vZHVsZSBwcm9wZXJ0aWVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaGVscC5jOjQyNgotbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2hlbHAuYzo0MjcKIG1zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQgKGZvciB2ZXJzaW9uIDEuNS4xIG9yIG5ld2VyKSIKIG1zZ3N0ciAiIgorIlVuZSBpbnRyb2R1Y3Rpb24gcHJhdGlxdWUgw6AgR2l0IChwb3VyIGxlcyB2ZXJzaW9ucyAxLjUuMSBldCBzdXDDqXJpZXVyZXMpIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MjgKKyM6IGJ1aWx0aW4vaGVscC5jOjQyNgogbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJVbiBhcGVyw6d1IGRlcyBmbHV4IGRlIHRyYXZhaWwgcmVjb21tYW5kw6lzIGF2ZWMgR2l0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0NDAKKyM6IGJ1aWx0aW4vaGVscC5jOjQzOAogbXNnaWQgIlRoZSBjb21tb24gR2l0IGd1aWRlcyBhcmU6XG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiTGVzIGd1aWRlcyBHaXQgcG9wdWxhaXJlcyBzb250IDogXG4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ2MiBidWlsdGluL2hlbHAuYzo0NzgKKyM6IGJ1aWx0aW4vaGVscC5jOjQ2MCBidWlsdGluL2hlbHAuYzo0NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAidXNhZ2UgOiAlcyVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0OTQKKyM6IGJ1aWx0aW4vaGVscC5jOjQ5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJgZ2l0ICVzJyBpcyBhbGlhc2VkIHRvIGAlcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiYGdpdCAlc1wiIGVzdCB1biBhbGlhcyBkZSBgJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxODIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgdHlwZSBtaXNtYXRjaCBhdCAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0eXBlIGQnb2JqZXQgbm9uIGNvcnJlc3BvbmRhbnQgw6AgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA0CiBtc2dpZCAib2JqZWN0IG9mIHVuZXhwZWN0ZWQgdHlwZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJvYmpldCBkZSB0eXBlIGluYXR0ZW5kdSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjM5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgorbXNnc3RyWzBdICJpbXBvc3NpYmxlIGRlIHJlbXBsaXIgJWQgb2N0ZXQiCittc2dzdHJbMV0gImltcG9zc2libGUgZGUgcmVtcGxpciAlZCBvY3RldHMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI0OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjU0CiBtc2dpZCAiZWFybHkgRU9GIgotbXNnc3RyICIiCittc2dzdHIgImZpbiBkZSBmaWNoaWVyIHByw6ltYXR1csOpZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjUwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTUKIG1zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgotbXNnc3RyICIiCittc2dzdHIgImVycmV1ciBkZSBsZWN0dXJlIHN1ciBsJ2VudHLDqWUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjY3CiBtc2dpZCAidXNlZCBtb3JlIGJ5dGVzIHRoYW4gd2VyZSBhdmFpbGFibGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAicGx1cyBkJ29jdGV0cyB1dGlsaXPDqXMgcXVlIGRpc3BvbmlibGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3NAogbXNnaWQgInBhY2sgdG9vIGxhcmdlIGZvciBjdXJyZW50IGRlZmluaXRpb24gb2Ygb2ZmX3QiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjg1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJsZSBwYXF1ZXQgZXN0IHRyb3AgZ3JhbmQgcG91ciBsYSBkw6lmaW5pdGlvbiBhY3R1ZWxsZSBkZSBvZmZfdCIKIAogIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkwCiAjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgJyVzJyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjk1CisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyIHBhcXVldCAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwOQogbXNnaWQgInBhY2sgc2lnbmF0dXJlIG1pc21hdGNoIgotbXNnc3RyICIiCittc2dzdHIgImxhIHNpZ25hdHVyZSBkdSBwYXF1ZXQgbmUgY29ycmVzcG9uZCBwYXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzExCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgdmVyc2lvbiAlPFBSSXUzMj4gdW5zdXBwb3J0ZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAibGEgdmVyc2lvbiBkZSBwYXF1ZXQgJTxQUkl1MzI+IG5vbiBzdXBwb3J0w6llIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMjQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyBiYWQgb2JqZWN0IGF0IG9mZnNldCAlbHU6ICVzIgotbXNnc3RyICIiCittc2dzdHIgImxlIHBhcXVldCBhIHVuIG1hdXZhaXMgb2JqZXQgw6AgbCdvZmZzZXQgJWx1OiAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDQ2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo0NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbGF0ZSByZXR1cm5lZCAlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJsYSBkw6ljb21wcmVzc2lvbiAoaW5mbGF0ZSkgYSByZXRvdXJuw6kgJWQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ5NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTAwCiBtc2dpZCAib2Zmc2V0IHZhbHVlIG92ZXJmbG93IGZvciBkZWx0YSBiYXNlIG9iamVjdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJkw6lwYXNzZW1lbnQgZGUgbGEgdmFsZXVyIGQnb2Zmc2V0IHBvdXIgbCdvYmpldCBkZWx0YSBkZSBiYXNlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUwOAogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IGlzIG91dCBvZiBib3VuZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJsJ29iamV0IGRlbHRhIGRlIGJhc2UgZXN0IGhvcnMgbGltaXRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MTEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9iamVjdCB0eXBlICVkIgotbXNnc3RyICIiCittc2dzdHIgInR5cGUgZCdvYmpldCBpbmNvbm51ICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NDIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0NwogbXNnaWQgImNhbm5vdCBwcmVhZCBwYWNrIGZpbGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIChwcmVhZCkgbGUgZmljaGllciBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlbHUgYnl0ZSBtaXNzaW5nIgogbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJWx1IGJ5dGVzIG1pc3NpbmciCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgorbXNnc3RyWzBdICJmaW4gcHLDqW1hdHVyw6llIGR1IGZpY2hpZXIgcGFxdWV0LCAlbHUgb2N0ZXQgbHUiCittc2dzdHJbMV0gImZpbiBwcsOpbWF0dXLDqWUgZHUgZmljaGllciBwYXF1ZXQsICVsdSBvY3RldHMgbHVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NQogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgotbXNnc3RyICIiCittc2dzdHIgImdyYXZlIGluY29ow6lyZW5jZSBkYW5zIGxhIGTDqWNvbXByZXNzaW9uIChpbmZsYXRlKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjYxIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjY2NyBidWlsdGluL2luZGV4LXBhY2suYzo2OTAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjcyNCBidWlsdGluL2luZGV4LXBhY2suYzo3MzMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjY2NiBidWlsdGluL2luZGV4LXBhY2suYzo2NzIgYnVpbHRpbi9pbmRleC1wYWNrLmM6Njk1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3MjkgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKLW1zZ3N0ciAiIgorbXNnc3RyICJDT0xMSVNJT04gU0hBMSBUUk9VVsOJRSBBVkVDICVzICEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjY2NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3MAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjY2OSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3MzAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGwnb2JqZXQgZXhpc3RhbnQgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYmxvYiBvYmplY3QgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzU5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzYxCi1tc2dpZCAiRXJyb3IgaW4gb2JqZWN0IgotbXNnc3RyICIiCittc2dzdHIgIm9iamV0IGJsb2IgaW52YWxpZGUgJXMiCiAKICM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc2MwogIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkICVzIgorbXNnc3RyICIlcyBpbnZhbGlkZSIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzY2Cittc2dpZCAiRXJyb3IgaW4gb2JqZWN0IgorbXNnc3RyICJFcnJldXIgZGFucyBsJ29iamV0IgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NjgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGFsbCBjaGlsZCBvYmplY3RzIG9mICVzIGFyZSByZWFjaGFibGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiVG91cyBsZXMgb2JqZXRzIGVuZmFudHMgZGUgJXMgbmUgc29udCBwYXMgYWNjZXNzaWJsZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzMyBidWlsdGluL2luZGV4LXBhY2suYzo4NjMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzOSBidWlsdGluL2luZGV4LXBhY2suYzo4NjkKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6ljaGVjIGQnYXBwbGljYXRpb24gZHUgZGVsdGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMTAKIG1zZ2lkICJSZWNlaXZpbmcgb2JqZWN0cyIKLW1zZ3N0ciAiIgorbXNnc3RyICJSw6ljZXB0aW9uIGQnb2JqZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDA0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDEwCiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbmRleGF0aW9uIGQnb2JqZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDMwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM2CiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgotbXNnc3RyICIiCittc2dzdHIgImxlIHBhcXVldCBlc3QgY29ycm9tcHUgKFNIQTEgbmUgY29ycmVzcG9uZCBwYXMpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQxCiBtc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGxlIHN0YXR1dCAoZnN0YXQpIGR1IGZpY2hpZXIgcGFxdWV0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQ0CiBtc2dpZCAicGFjayBoYXMganVuayBhdCB0aGUgZW5kIgotbXNnc3RyICIiCittc2dzdHIgImxlIHBhcXVldCBlc3QgaW52YWxpZGUgw6AgbGEgZmluIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQ5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDU1CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJjb25mdXNpb24gZXh0csOqbWUgZGFucyBwYXJzZV9wYWNrX29iamVjdHMoKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA3MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA3OAogbXNnaWQgIlJlc29sdmluZyBkZWx0YXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiUsOpc29sdXRpb24gZGVzIGRlbHRhcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA4MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRocmVhZDogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgZmlsIDogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMjQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMzAKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgotbXNnc3RyICIiCittc2dzdHIgImNvbmZ1c2lvbiBleHRyw6ptZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgotbXNnc3RyICIiCittc2dzdHIgImNvbXBsw6l0w6kgYXZlYyAlZCBvYmpldHMgbG9jYXV4IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICIiCisiU29tbWUgZGUgY29udHLDtGxlIGRlIGZpbiBpbmF0dGVuZHVlIHBvdXIgJXMgKGNvcnJ1cHRpb24gc3VyIGxlIGRpc3F1ZSA/KSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKLW1zZ3N0clswXSAiIgotbXNnc3RyWzFdICIiCittc2dzdHJbMF0gImxlIHBhcXVldCBhICVkIGRlbHRhIG5vbiByw6lzb2x1IgorbXNnc3RyWzFdICJsZSBwYXF1ZXQgYSAlZCBkZWx0YXMgbm9uIHLDqXNvbHVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTcxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIGFwcGVuZGVkIG9iamVjdCAoJWQpIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgY29tcHJlc3NlciBsJ29iamV0IGFqb3V0w6kgKCVkKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJsJ29iamV0IGxvY2FsICVzIGVzdCBjb3Jyb21wdSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI4MAogbXNnaWQgImVycm9yIHdoaWxlIGNsb3NpbmcgcGFjayBmaWxlIgotbXNnc3RyICIiCittc2dzdHIgImVycmV1ciBlbiBmZXJtZXR1cmUgZHUgZmljaGllciBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyODcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlIGtlZXAgZmlsZSAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIGZpY2hpZXIgXCJrZWVwXCIgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiBrZWVwIGZpbGUgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZlcm1lciBsZSBmaWNoaWVyIFwia2VlcFwiICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMDgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMTQKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgc3RvY2tlciBsZSBmaWNoaWVyIHBhcXVldCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMxOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMyNQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmFkIHBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPiIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHN0b2NrZXIgbGUgZmljaGllciBkJ2luZGV4IgogCiAjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzU4CiAjLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCi1tc2dzdHIgIiIKK21zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgorbXNnc3RyICJtYXV2YWlzIHBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2MiBidWlsdGluL2luZGV4LXBhY2suYzoxNTM1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCittc2dzdHIgIm5vbWJyZSBkZSBmaWxzIHNww6ljaWZpw6kgaW52YWxpZGUgKCVkKSIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2OCBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAicGFzIGRlIHN1cHBvcnQgZGVzIGZpbHMsIGlnbm9yZSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGZpbGUgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgcGFxdWV0IGV4aXN0YW50ICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBpZHggZmlsZSBmb3IgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgcGFxdWV0IGQnaW5kZXggZXhpc3RhbnQgcG91ciAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDY5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vbiBkZWx0YTogJWQgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJub24gZGVsdGE6ICVkIG9iamVjdHMiCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgorbXNnc3RyWzBdICJwYXMgdW4gZGVsdGEgOiAlZCBvYmpldCIKK21zZ3N0clsxXSAicGFzIHVuIGRlbHRhIDogJWQgb2JqZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgorbXNnc3RyWzBdICJsb25ndWV1ciBjaGHDrm7DqWUgPSAlZCA6ICVsdSBvYmpldCIKK21zZ3N0clsxXSAibG9uZ3VldXIgY2hhw65uw6llID0gJWQgOiAlbHUgb2JqZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTAzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTEwCiBtc2dpZCAiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZXZlbmlyIGF1IHLDqXBlcnRvaXJlIGRlIHRyYXZhaWwgY291cmFudCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NyBidWlsdGluL2luZGV4LXBhY2suYzoxNTUwCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTYyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NjYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3MyBidWlsdGluL2luZGV4LXBhY2suYzoxNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJtYXV2YWlzICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTgwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkxCiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiLS1maXgtdGhpbiBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBzYW5zIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1ODQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NSBidWlsdGluL2luZGV4LXBhY2suYzoxNjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgotbXNnc3RyICIiCittc2dzdHIgImxlIG5vbSBkZSBmaWNoaWVyIHBhcXVldCAnJXMnIG5lIHNlIHRlcm1pbmUgcGFzIHBhciAnLnBhY2snIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjAzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjE0CiBtc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgotbXNnc3RyICIiCittc2dzdHIgIi0tdmVyaWZ5IHNhbnMgbm9tIGRlIGZpY2hpZXIgcGFxdWV0IGRvbm7DqSIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1ha2UgJXMgd3JpdGFibGUgYnkgZ3JvdXAiCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZW5kcmUgJXMgaW5zY3JpcHRpYmxlIHBvdXIgbGUgZ3JvdXBlIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmVseSBsb25nIHRlbXBsYXRlIG5hbWUgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAibm9tIGRlIG1vZMOobGUgZMOpbWVudGllbGxlbWVudCBsb25nICVzIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhdCAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgZmFpcmUgdW4gc3RhdCBkZSAnJXMnIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhdCB0ZW1wbGF0ZSAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgZmFpcmUgdW4gc3RhdCBkdSBtb2TDqGxlICclcyciCiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuZGlyICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAob3BlbmRpcikgJyVzJyIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWRsaW5rICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSByZWFkbGluayAnJXMnIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmVseSBsb25nIHN5bWxpbmsgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAibGllbiBzeW1ib2xpcXVlIGTDqW1lbnRpZWxsZW1lbnQgbG9uZyAlcyIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6MTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzeW1saW5rICclcycgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciB1biBsaWVuIHN5bWJvbGlxdWUgZGUgJyVzJyAnJXMnIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzoxMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNvcHkgJyVzJyB0byAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgY29waWVyICclcycgdmVycyAnJXMnIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdGVtcGxhdGUgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAibW9kw6hsZSAlcyBpZ25vcsOpIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzoxMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5zYW5lbHkgbG9uZyB0ZW1wbGF0ZSBwYXRoICVzIgotbXNnc3RyICIiCittc2dzdHIgImNoZW1pbiBkZSBtb2TDqGxlICVzIGTDqW1lbnRpZWxsZW1lbnQgbG9uZyIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6MTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRlbXBsYXRlcyBub3QgZm91bmQgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAibW9kw6hsZXMgbm9uIHRyb3V2w6lzICVzIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzoxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGNvcHlpbmcgdGVtcGxhdGVzIG9mIGEgd3JvbmcgZm9ybWF0IHZlcnNpb24gJWQgZnJvbSAnJXMnIgogbXNnc3RyICIiCisicGFzIGRlIGNvcGllIGRlcyBtb2TDqGxlcyDDqXRhbnQgZGFucyB1bmUgbWF1dmFpc2UgdmVyc2lvbiBkdSBmb3JtYXQgJWQgZGUgJyVzJyIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBnaXQgZGlyZWN0b3J5ICVzIgotbXNnc3RyICIiCittc2dzdHIgInLDqXBlcnRvaXJlIGdpdCBkw6ltZW50aWVsICVzIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzozMjMgYnVpbHRpbi9pbml0LWRiLmM6MzI2CiAjLCBjLWZvcm1hdApAQCAtNTYyMCwxNyArNjI3MiwxMiBAQAogIzogYnVpbHRpbi9pbml0LWRiLmM6MzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBoYW5kbGUgZmlsZSB0eXBlICVkIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgdHJhaXRlciBsZSBmaWNoaWVyIGRlIHR5cGUgJWQiCiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbW92ZSAlcyB0byAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzozNjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBnaXQgbGluayAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqXBsYWNlciAlcyB2ZXJzICVzIgogCiAjLgogIy4gKiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICclcycgaXMgZWl0aGVyICJSZWluaXRpYWxpemVkCkBAIC01NjQwLDUxICs2Mjg3LDUzIEBACiAjOiBidWlsdGluL2luaXQtZGIuYzo0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMlcyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCi1tc2dzdHIgIiVzJXMgRMOpcMO0dCBnaXQgZGFucyAlcyVzXG4iCittc2dzdHIgIkTDqXDDtHQgR2l0JTIkcyAlMSRzIGRhbnMgJTMkcyU0JHNcbiIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NDIxCiBtc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyIKLW1zZ3N0ciAiIgorbXNnc3RyICJleGlzdGFudCByw6lpbml0aWFsaXPDqSIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NDIxCiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkiCi1tc2dzdHIgIiIKK21zZ3N0ciAidmlkZSBpbml0aWFsaXPDqSIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NDIyCiBtc2dpZCAiIHNoYXJlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICIgcGFydGFnw6kiCiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ0MQogbXNnaWQgImNhbm5vdCB0ZWxsIGN3ZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqXRlcm1pbmVyIGxlIHLDqXBlcnRvaXJlIGRlIHRyYXZhaWwgY291cmFudCIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NDY3CiBtc2dpZCAiIgogImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTx0ZW1wbGF0ZS1kaXJlY3Rvcnk+XSBbLS0iCiAic2hhcmVkWz08cGVybWlzc2lvbnM+XV0gW2RpcmVjdG9yeV0iCiBtc2dzdHIgIiIKKyJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08csOpcGVydG9pcmUtbW9kw6hsZT5dIFstLSIKKyJzaGFyZWRbPTxwZXJtaXNzaW9ucz5dXSBbcsOpcGVydG9pcmVdIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo0OTAKIG1zZ2lkICJwZXJtaXNzaW9ucyIKLW1zZ3N0ciAiIgorbXNnc3RyICJwZXJtaXNzaW9ucyIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NDkxCiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgotbXNnc3RyICIiCittc2dzdHIgInNww6ljaWZpZXIgcXVlIGxlIGTDqXDDtHQgZ2l0IHNlcmEgcGFydGFnw6kgZW50cmUgcGx1c2lldXJzIHV0aWxpc2F0ZXVycyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDkzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5MyBidWlsdGluL3BydW5lLXBhY2tlZC5jOjc1IGJ1aWx0aW4vcmVwYWNrLmM6MTU1CiBtc2dpZCAiYmUgcXVpZXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6p0cmUgc2lsZW5jaWV1eCIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NTIyIGJ1aWx0aW4vaW5pdC1kYi5jOjUyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgcsOpcGVydG9pcmUgKG1rZGlyKSAlcyIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGRpciB0byAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHNlIGTDqXBsYWNlciB2ZXJzIGxlIHLDqXBlcnRvaXJlIChjaGRpcikgJXMiCiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1NQogIywgYy1mb3JtYXQKQEAgLTU2OTIsNTYyICs2MzQxLDU5MSBAQAogIiVzIChvciAtLXdvcmstdHJlZT08ZGlyZWN0b3J5Pikgbm90IGFsbG93ZWQgd2l0aG91dCBzcGVjaWZ5aW5nICVzIChvciAtLWdpdC0iCiAiZGlyPTxkaXJlY3Rvcnk+KSIKIG1zZ3N0ciAiIgorIiVzIChvdSAtLXdvcmstdHJlZT08csOpcGVydG9pcmU+KSBuJ2VzdCBwYXMgYXV0b3Jpc8OpIHNhbnMgc3DDqWNpZmllciAlcyAob3UgLS0iCisiZ2l0LWRpcj08csOpcGVydG9pcmU+KSIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NTc5CiBtc2dpZCAiQ2Fubm90IGFjY2VzcyBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgotbXNnc3RyICIiCittc2dzdHIgIkltcG9zc2libGUgZCdhY2PDqWRlciBhdSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsIGNvdXJhbnQiCiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgYWNjZXNzIHdvcmsgdHJlZSAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6NDAKLW1zZ2lkICJnaXQgbG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24gcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FjY8OpZGVyIMOgIGwnYXJicmUgZGUgdHJhdmFpbCAnJXMnIgogCiAjOiBidWlsdGluL2xvZy5jOjQxCittc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uIHJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXVxuIgorbXNnc3RyICJnaXQgbG9nIFs8b3B0aW9ucz5dIFs8cGFnZSBkZSByw6l2aXNpb25zPl0gW1stLV0gPGNoZW1pbj4uLi5dXG4iCisKKyM6IGJ1aWx0aW4vbG9nLmM6NDIKIG1zZ2lkICIgICBvcjogZ2l0IHNob3cgW29wdGlvbnNdIDxvYmplY3Q+Li4uIgotbXNnc3RyICIiCittc2dzdHIgIiAgIG91IDogZ2l0IHNob3cgW29wdGlvbnNdIDxvYmpldD4uLi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTAzCisjOiBidWlsdGluL2xvZy5jOjEyNQogbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgotbXNnc3RyICIiCittc2dzdHIgInN1cHByaW1lciBsYSBzb3J0aWUgZGVzIGRpZmbDqXJlbmNlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDQKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2CiBtc2dpZCAic2hvdyBzb3VyY2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgc291cmNlIgogCi0jOiBidWlsdGluL2xvZy5jOjEwNQorIzogYnVpbHRpbi9sb2cuYzoxMjcKIG1zZ2lkICJVc2UgbWFpbCBtYXAgZmlsZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJVdGlsaXNlciBsZSBmaWNoaWVyIGRlIGNvcnJlc3BvbmRhbmNlIGRlIG1haWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA2CisjOiBidWlsdGluL2xvZy5jOjEyOAogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZMOpY29yZXIgbGVzIG9wdGlvbnMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTk5CisjOiBidWlsdGluL2xvZy5jOjIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiU29ydGllIGZpbmFsZSA6ICVkICVzXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDIyIGJ1aWx0aW4vbG9nLmM6NTE0CisjOiBidWlsdGluL2xvZy5jOjQ3MyBidWlsdGluL2xvZy5jOjU2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIGwnb2JqZXQgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTM4CisjOiBidWlsdGluL2xvZy5jOjU4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHR5cGU6ICVkIgotbXNnc3RyICIiCittc2dzdHIgIlR5cGUgaW5jb25udSA6ICVkIgogCi0jOiBidWlsdGluL2xvZy5jOjYzOAorIzogYnVpbHRpbi9sb2cuYzo2ODkKIG1zZ2lkICJmb3JtYXQuaGVhZGVycyB3aXRob3V0IHZhbHVlIgotbXNnc3RyICIiCittc2dzdHIgImZvcm1hdC5oZWFkZXJzIHNhbnMgdmFsZXVyIgogCi0jOiBidWlsdGluL2xvZy5jOjcyMAorIzogYnVpbHRpbi9sb2cuYzo3NzEKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCi1tc2dzdHIgIiIKK21zZ3N0ciAibGUgbm9tIGR1IHLDqXBlcnRvaXJlIGRlIHNvcnRpZSBlc3QgdHJvcCBsb25nIgogCi0jOiBidWlsdGluL2xvZy5jOjczNgorIzogYnVpbHRpbi9sb2cuYzo3ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgY29ycmVjdGlmICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjc1MAorIzogYnVpbHRpbi9sb2cuYzo4MDEKIG1zZ2lkICJOZWVkIGV4YWN0bHkgb25lIHJhbmdlLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJFeGFjdGVtZW50IHVuZSBwbGFnZSBuw6ljZXNzYWlyZS4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NzU4CisjOiBidWlsdGluL2xvZy5jOjgwOQogbXNnaWQgIk5vdCBhIHJhbmdlLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJQYXMgdW5lIHBsYWdlLiIKIAotIzogYnVpbHRpbi9sb2cuYzo4NjAKKyM6IGJ1aWx0aW4vbG9nLmM6OTExCiBtc2dpZCAiQ292ZXIgbGV0dGVyIG5lZWRzIGVtYWlsIGZvcm1hdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJMYSBsZXR0cmUgZGUgbW90aXZhdGlvbiBkb2l0IMOqdHJlIGF1IGZvcm1hdCBlLW1haWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTM2CisjOiBidWlsdGluL2xvZy5jOjk4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmUgaW4tcmVwbHktdG86ICVzIgotbXNnc3RyICIiCittc2dzdHIgImluLXJlcGx5LXRvIGFiZXJyYW50IDogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTY0CisjOiBidWlsdGluL2xvZy5jOjEwMTUKIG1zZ2lkICJnaXQgZm9ybWF0LXBhdGNoIFtvcHRpb25zXSBbPHNpbmNlPiB8IDxyZXZpc2lvbiByYW5nZT5dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBmb3JtYXQtcGF0Y2ggW29wdGlvbnNdIFs8ZGVwdWlzPiB8IDxwbGFnZSBkZSByw6l2aXNpb25zPl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTAwOQorIzogYnVpbHRpbi9sb2cuYzoxMDYwCiBtc2dpZCAiVHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCi1tc2dzdHIgIiIKK21zZ3N0ciAiRGV1eCByw6lwZXJ0b2lyZXMgZGUgc29ydGllID8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTEwOAorIzogYnVpbHRpbi9sb2cuYzoxMTc1CiBtc2dpZCAidXNlIFtQQVRDSCBuL21dIGV2ZW4gd2l0aCBhIHNpbmdsZSBwYXRjaCIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1dGlsaXNlciBbUEFUQ0ggbi9tXSBtw6ptZSBhdmVjIHVuIHBhdGNoIHVuaXF1ZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTExCisjOiBidWlsdGluL2xvZy5jOjExNzgKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1dGlsaXNlciBbUEFUQ0hdIG3Dqm1lIGF2ZWMgZGVzIHBhdGNocyBtdWx0aXBsZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTExNQorIzogYnVpbHRpbi9sb2cuYzoxMTgyCiBtc2dpZCAicHJpbnQgcGF0Y2hlcyB0byBzdGFuZGFyZCBvdXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIHBhdGNocyBzdXIgbGEgc29ydGllIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL2xvZy5jOjExMTcKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4NAogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgotbXNnc3RyICIiCittc2dzdHIgImfDqW7DqXJlciB1bmUgbGV0dHJlIGRlIG1vdGl2YXRpb24iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTExOQorIzogYnVpbHRpbi9sb2cuYzoxMTg2CiBtc2dpZCAidXNlIHNpbXBsZSBudW1iZXIgc2VxdWVuY2UgZm9yIG91dHB1dCBmaWxlIG5hbWVzIgogbXNnc3RyICIiCisidXRpbGlzZXIgdW5lIHPDqXF1ZW5jZSBzaW1wbGUgZGUgbm9tYnJlcyBwb3VyIGxlcyBub20gZGVzIGZpY2hpZXJzIGRlIHNvcnRpZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTIwCisjOiBidWlsdGluL2xvZy5jOjExODcKIG1zZ2lkICJzZngiCi1tc2dzdHIgIiIKK21zZ3N0ciAic2Z4IgogCi0jOiBidWlsdGluL2xvZy5jOjExMjEKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4OAogbXNnaWQgInVzZSA8c2Z4PiBpbnN0ZWFkIG9mICcucGF0Y2gnIgotbXNnc3RyICIiCittc2dzdHIgInV0aWxpc2VyIDxzZng+IGF1IGxpZXUgZGUgJy5wYXRjaCciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTEyMworIzogYnVpbHRpbi9sb2cuYzoxMTkwCiBtc2dpZCAic3RhcnQgbnVtYmVyaW5nIHBhdGNoZXMgYXQgPG4+IGluc3RlYWQgb2YgMSIKLW1zZ3N0ciAiIgorbXNnc3RyICJkw6ltYXJyZXIgbGEgbnVtw6lyb3RhdGlvbiBkZXMgcGF0Y2hzIMOgIDxuPiBhdSBsaWV1IGRlIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTEyNQorIzogYnVpbHRpbi9sb2cuYzoxMTkyCiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgotbXNnc3RyICIiCittc2dzdHIgIm1hcnF1ZXIgbGEgc8OpcmllIGNvbW1lIHVuZSBOacOobWUgcsOpw6lkaXRpb24iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTEyNworIzogYnVpbHRpbi9sb2cuYzoxMTk0CiBtc2dpZCAiVXNlIFs8cHJlZml4Pl0gaW5zdGVhZCBvZiBbUEFUQ0hdIgotbXNnc3RyICIiCittc2dzdHIgInV0aWxpc2VyIFs8cHLDqWZpeGU+XSBhdSBsaWV1IGRlIFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTEzMAorIzogYnVpbHRpbi9sb2cuYzoxMTk3CiBtc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgotbXNnc3RyICIiCittc2dzdHIgInN0b2NrZXIgbGVzIGZpY2hpZXJzIHLDqXN1bHRhdHMgZGFucyA8csOpcGVydG9pcmU+IgogCi0jOiBidWlsdGluL2xvZy5jOjExMzMKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwMAogbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgotbXNnc3RyICIiCittc2dzdHIgIm5lIHBhcyByZXRpcmVyL2Fqb3V0ZXIgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTM2CisjOiBidWlsdGluL2xvZy5jOjEyMDMKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgotbXNnc3RyICIiCittc2dzdHIgIm5lIHBhcyBpbXByaW1lciBsZXMgZGlmZnMgYmluYWlyZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTEzOAorIzogYnVpbHRpbi9sb2cuYzoxMjA1CiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgotbXNnc3RyICIiCittc2dzdHIgIm5lIHBhcyBpbmNsdXJlIHVuIHBhdGNoIGNvcnJlc3BvbmRhbnQgw6AgdW4gY29tbWl0IGFtb250IgogCi0jOiBidWlsdGluL2xvZy5jOjExNDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwNwogbXNnaWQgInNob3cgcGF0Y2ggZm9ybWF0IGluc3RlYWQgb2YgZGVmYXVsdCAocGF0Y2ggKyBzdGF0KSIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsZSBmb3JtYXQgZHUgcGF0Y2ggYXUgbGlldSBkdSBkw6lmYXV0IChwYXRjaCArIHN0YXQpIgogCi0jOiBidWlsdGluL2xvZy5jOjExNDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwOQogbXNnaWQgIk1lc3NhZ2luZyIKLW1zZ3N0ciAiIgorbXNnc3RyICJDb21tdW5pY2F0aW9uIgogCi0jOiBidWlsdGluL2xvZy5jOjExNDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxMAogbXNnaWQgImhlYWRlciIKLW1zZ3N0ciAiIgorbXNnc3RyICJlbi10w6p0ZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQ0CisjOiBidWlsdGluL2xvZy5jOjEyMTEKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgotbXNnc3RyICIiCittc2dzdHIgImFqb3V0ZXIgbCdlbi10w6p0ZSBkJ2UtbWFpbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQ1IGJ1aWx0aW4vbG9nLmM6MTE0NworIzogYnVpbHRpbi9sb2cuYzoxMjEyIGJ1aWx0aW4vbG9nLmM6MTIxNAogbXNnaWQgImVtYWlsIgotbXNnc3RyICIiCittc2dzdHIgImUtbWFpbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQ1CisjOiBidWlsdGluL2xvZy5jOjEyMTIKIG1zZ2lkICJhZGQgVG86IGhlYWRlciIKLW1zZ3N0ciAiIgorbXNnc3RyICJham91dGVyIGwnZW4tdMOqdGUgXCJUbzpcIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQ3CisjOiBidWlsdGluL2xvZy5jOjEyMTQKIG1zZ2lkICJhZGQgQ2M6IGhlYWRlciIKLW1zZ3N0ciAiIgorbXNnc3RyICJham91dGVyIGwnZW4tdMOqdGUgXCJDYzpcIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQ5CisjOiBidWlsdGluL2xvZy5jOjEyMTYKK21zZ2lkICJpZGVudCIKK21zZ3N0ciAiaWRlbnQiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNworbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCittc2dzdHIgInJlbnNlaWduZXIgbCdhZHJlc3NlIEZyb20gw6AgPGlkZW50PiAob3Ugw6AgbCdpZGVudCBkdSB2YWxpZGF0ZXVyIHNpIGFic2VudCkiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxOQogbXNnaWQgIm1lc3NhZ2UtaWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaWQtbWVzc2FnZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTUwCisjOiBidWlsdGluL2xvZy5jOjEyMjAKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCi1tc2dzdHIgIiIKK21zZ3N0ciAicsOpcG9uZHJlIGRhbnMgbGUgcHJlbWllciBtZXNzYWdlIMOgIDxpZC1tZXNzYWdlPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTUxIGJ1aWx0aW4vbG9nLmM6MTE1NAorIzogYnVpbHRpbi9sb2cuYzoxMjIxIGJ1aWx0aW4vbG9nLmM6MTIyNAogbXNnaWQgImJvdW5kYXJ5IgotbXNnc3RyICIiCittc2dzdHIgImZyb250acOocmUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE1MgorIzogYnVpbHRpbi9sb2cuYzoxMjIyCiBtc2dpZCAiYXR0YWNoIHRoZSBwYXRjaCIKLW1zZ3N0ciAiIgorbXNnc3RyICJhdHRhY2hlciBsZSBwYXRjaCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTU1CisjOiBidWlsdGluL2xvZy5jOjEyMjUKIG1zZ2lkICJpbmxpbmUgdGhlIHBhdGNoIgotbXNnc3RyICIiCittc2dzdHIgInBhdGNoIMOgIGwnaW50w6lyaWV1ciIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTU5CisjOiBidWlsdGluL2xvZy5jOjEyMjkKIG1zZ2lkICJlbmFibGUgbWVzc2FnZSB0aHJlYWRpbmcsIHN0eWxlczogc2hhbGxvdywgZGVlcCIKIG1zZ3N0ciAiIgorImFjdGl2ZXIgbCdlbmZpbGFnZSBkZSBtZXNzYWdlLCBzdHlsZXMgOiBzaGFsbG93IChzdXBlcmZpY2llbCksIGRlZXAgKHByb2ZvbmQpIgogCi0jOiBidWlsdGluL2xvZy5jOjExNjEKKyM6IGJ1aWx0aW4vbG9nLmM6MTIzMQogbXNnaWQgInNpZ25hdHVyZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJzaWduYXR1cmUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2MgorIzogYnVpbHRpbi9sb2cuYzoxMjMyCiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgotbXNnc3RyICIiCittc2dzdHIgImFqb3V0ZXIgdW5lIHNpZ25hdHVyZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTY0CisjOiBidWlsdGluL2xvZy5jOjEyMzMKIG1zZ2lkICJkb24ndCBwcmludCB0aGUgcGF0Y2ggZmlsZW5hbWVzIgotbXNnc3RyICIiCittc2dzdHIgIm5lIHBhcyBhZmZpY2hlciBsZXMgbm9tcyBkZSBmaWNoaWVycyBkZXMgcGF0Y2hzIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNDgKKyM6IGJ1aWx0aW4vbG9nLmM6MTMwNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgorbXNnc3RyICJsaWduZSBkJ2lkZW50aWZpY2F0aW9uIGludmFsaWRlIDogJXMiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTMyMgogbXNnaWQgIi1uIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKLW1zZ3N0ciAiIgorbXNnc3RyICItbiBldCAtayBzb250IG11dHVlbGxlbWVudCBleGNsdXNpZnMuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNTAKKyM6IGJ1aWx0aW4vbG9nLmM6MTMyNAogbXNnaWQgIi0tc3ViamVjdC1wcmVmaXggYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgotbXNnc3RyICIiCittc2dzdHIgIi0tc3ViamVjdC1wcmVmaXggZXQgLWsgc29udCBtdXR1ZWxsZW1lbnQgZXhjbHVzaWZzLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjU4CisjOiBidWlsdGluL2xvZy5jOjEzMzIKIG1zZ2lkICItLW5hbWUtb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlIgotbXNnc3RyICIiCittc2dzdHIgIi0tbmFtZS1vbmx5IG4nYSBwYXMgZGUgc2VucyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjYwCisjOiBidWlsdGluL2xvZy5jOjEzMzQKIG1zZ2lkICItLW5hbWUtc3RhdHVzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiLS1uYW1lLXN0YXR1cyBuJ2EgcGFzIGRlIHNlbnMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI2MgorIzogYnVpbHRpbi9sb2cuYzoxMzM2CiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgotbXNnc3RyICIiCittc2dzdHIgIi0tY2hlY2sgbidhIHBhcyBkZSBzZW5zIgogCi0jOiBidWlsdGluL2xvZy5jOjEyODUKKyM6IGJ1aWx0aW4vbG9nLmM6MTM1OQogbXNnaWQgInN0YW5kYXJkIG91dHB1dCwgb3IgZGlyZWN0b3J5LCB3aGljaCBvbmU/IgotbXNnc3RyICIiCittc2dzdHIgInNvcnRpZSBzdGFuZGFyZCwgb3UgcsOpcGVydG9pcmUsIGxlcXVlbCA/IgogCi0jOiBidWlsdGluL2xvZy5jOjEyODcKKyM6IGJ1aWx0aW4vbG9nLmM6MTM2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgIkltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlICclcyciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNQorIzogYnVpbHRpbi9sb2cuYzoxNTA5CiBtc2dpZCAiRmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiw4ljaGVjIGRlIGNyw6lhdGlvbiBkZXMgZmljaGllcnMgZW4gc29ydGllIgogCi0jOiBidWlsdGluL2xvZy5jOjE0ODQKKyM6IGJ1aWx0aW4vbG9nLmM6MTU1OAogbXNnaWQgImdpdCBjaGVycnkgWy12XSBbPHVwc3RyZWFtPiBbPGhlYWQ+IFs8bGltaXQ+XV1dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPGJyYW5jaGVfYW1vbnQ+IFs8aGVhZD4gWzxsaW1pdGU+XV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCiBtc2dzdHIgIiIKKyJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgdW5lIGJyYW5jaGUgZGlzdGFudGUgc3VpdmllLCBtZXJjaSBkZSBzcMOpY2lmaWVyICIKKyI8YnJhbmNoZV9hbW9udD4gbWFudWVsbGVtZW50LlxuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTIgYnVpbHRpbi9sb2cuYzoxNTU0IGJ1aWx0aW4vbG9nLmM6MTU2NgorIzogYnVpbHRpbi9sb2cuYzoxNjI2IGJ1aWx0aW4vbG9nLmM6MTYyOCBidWlsdGluL2xvZy5jOjE2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBjb21taXQgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiQ29tbWl0IGluY29ubnUgJXMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MDIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzozOTgKIG1zZ2lkICJnaXQgbHMtZmlsZXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBscy1maWxlcyBbb3B0aW9uc10gWzxmaWNoaWVyPi4uLl0iCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTUKK21zZ2lkICJpZGVudGlmeSB0aGUgZmlsZSBzdGF0dXMgd2l0aCB0YWdzIgorbXNnc3RyICJpZGVudGlmaWVyIGxlIHN0YXR1dCBkZSBmaWNoaWVyIGF2ZWMgbGVzIMOpdGlxdWV0dGVzIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU3Cittc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCittc2dzdHIgInV0aWxpc2VyIGRlcyBtaW51c2N1bGVzIHBvdXIgbGVzIGZpY2hpZXIgJ2Fzc3Vtw6lzIGluY2hhbmfDqXMnIgogCiAjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU5Ci1tc2dpZCAiaWRlbnRpZnkgdGhlIGZpbGUgc3RhdHVzIHdpdGggdGFncyIKLW1zZ3N0ciAiIgorbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgorbXNnc3RyICJhZmZpY2hlciBsZXMgZmljaGllcnMgbWlzIGVuIGNhY2hlIGRhbnMgbGEgc29ydGllIChkw6lmYXV0KSIKIAogIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MQotbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgotbXNnc3RyICIiCittc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCittc2dzdHIgImFmZmljaGVyIGxlcyBmaWNoaWVycyBzdXBwcmltw6lzIGRhbnMgbGEgc29ydGllIgogCiAjOiBidWlsdGluL2xzLWZpbGVzLmM6NDYzCi1tc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCi1tc2dzdHIgIiIKK21zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCittc2dzdHIgImFmZmljaGVyIGxlcyBmaWNoaWVycyBtb2RpZmnDqXMgZGFucyBsYSBzb3J0aWUiCiAKICM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjUKLW1zZ2lkICJzaG93IGRlbGV0ZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKLW1zZ3N0ciAiIgorbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIGF1dHJlcyBmaWNoaWVycyBkYW5zIGxhIHNvcnRpZSIKIAogIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NwotbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY5Ci1tc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzEKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsZXMgZmljaGllcnMgaWdub3LDqXMgZGFucyBsYSBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzQKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzAKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsZXMgbm9tIGRlcyBvYmpldHMgaW5kZXjDqXMgZGFucyBsYSBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzIKIG1zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgogbXNnc3RyICIiCisiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIGR1IHN5c3TDqG1lIGRlIGZpY2hpZXJzIHF1aSBvbnQgYmVzb2luIGQnw6p0cmUgc3VwcHJpbcOpcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NAogbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZSBvbmx5IgotbXNnc3RyICIiCittc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgbm9tcyBkZXMgcsOpcGVydG9pcmVzICdvdGhlciciCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzcKIG1zZ2lkICJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIgotbXNnc3RyICIiCittc2dzdHIgIm5lIHBhcyBhZmZpY2hlciBsZXMgcsOpcGVydG9pcmVzIHZpZGVzIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDgwCittc2dpZCAic2hvdyB1bm1lcmdlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgorbXNnc3RyICJhZmZpY2hlciBsZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMgZGFucyBsYSBzb3J0aWUiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODIKK21zZ2lkICJzaG93IHJlc29sdmUtdW5kbyBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiYWZmaWNoZXIgbCdpbmZvcm1hdGlvbiByZXNvbHYtdW5kbyIKIAogIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NAotbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDg2Ci1tc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4OAogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKLW1zZ3N0ciAiIgorbXNnc3RyICJzYXV0ZXIgbGVzIGZpY2hpZXJzIGNvcnJlc3BvbmRhbnQgYXUgbW90aWYiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODcKIG1zZ2lkICJleGNsdWRlIHBhdHRlcm5zIGFyZSByZWFkIGZyb20gPGZpbGU+IgotbXNnc3RyICIiCittc2dzdHIgImxlcyBtb3RpZnMgZCdleGNsdXNpb24gc29udCBsdXMgZGVwdWlzIDxmaWNoaWVyPiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MAogbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgotbXNnc3RyICIiCittc2dzdHIgImxpcmUgZGVzIG1vdGlmcyBkJ2V4Y2x1c2lvbiBhZGRpdGlvbm5lbHMgcGFyIHLDqXBlcnRvaXJlIGRhbnMgPGZpY2hpZXI+IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDk2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDkyCiBtc2dpZCAiYWRkIHRoZSBzdGFuZGFyZCBnaXQgZXhjbHVzaW9ucyIKLW1zZ3N0ciAiIgorbXNnc3RyICJham91dGVyIGxlcyBleGNsdXNpb25zIGdpdCBzdGFuZGFyZCIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5NQorbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgorbXNnc3RyICJhZmZpY2hlciBlbiByZWxhdGlmIHBhciByYXBwb3J0IGF1IHLDqXBlcnRvaXJlIHJhY2luZSBkdSBwcm9qZXQiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTgKK21zZ2lkICJpZiBhbnkgPGZpbGU+IGlzIG5vdCBpbiB0aGUgaW5kZXgsIHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IiCittc2dzdHIgInNpIHVuIDxmaWNoaWVyPiBuJ2VzdCBwYXMgZGFucyBsJ2luZGV4LCB0cmFpdGVyIGNlbGEgY29tbWUgdW5lIGVycmV1ciIKIAogIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5OQotbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDIKLW1zZ2lkICJpZiBhbnkgPGZpbGU+IGlzIG5vdCBpbiB0aGUgaW5kZXgsIHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwMwogbXNnaWQgInRyZWUtaXNoIgotbXNnc3RyICIiCittc2dzdHIgImFyYnJlIG91IGFwcGFyZW50w6kiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDQKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDAKIG1zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgogbXNnc3RyICIiCisiY29uc2lkw6lyZXIgcXVlIGxlcyBjaGVtaW5zIHN1cHByaW3DqXMgZGVwdWlzIDxhcmJyZSBvdSBhcHBhcmVudMOpPiBzb250ICIKKyJ0b3Vqb3VycyBwcsOpc2VudHMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDIKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgotbXNnc3RyICIiCittc2dzdHIgImFmZmljaGVyIGxlcyBkb25uw6llcyBkZSBkw6lib2dhZ2UiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjI3CisjOiBidWlsdGluL2xzLXRyZWUuYzoyOAogbXNnaWQgImdpdCBscy10cmVlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IGxzLXRyZWUgWzxvcHRpb25zPl0gPGFyYnJlIG91IGFwcGFyZW50w6k+IFs8Y2hlbWluPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyNQorIzogYnVpbHRpbi9scy10cmVlLmM6MTI2CiBtc2dpZCAib25seSBzaG93IHRyZWVzIgotbXNnc3RyICIiCittc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgYXJicmVzIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjcKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyOAogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJ0cmVlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJwYXJjb3VyaXIgbGVzIHNvdXMtYXJicmVzIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjkKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMAogbXNnaWQgInNob3cgdHJlZXMgd2hlbiByZWN1cnNpbmciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9scy10cmVlLmM6MTMyCi1tc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwgYnl0ZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsZXMgYXJicmVzIGVuIGxlcyBwYXJjb3VyYW50IgogCiAjOiBidWlsdGluL2xzLXRyZWUuYzoxMzMKK21zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCBieXRlIgorbXNnc3RyICJ0ZXJtaW5lciBsZXMgw6lsw6ltZW50cyBhdmVjIHVuIG9jdGV0IE5VTCIKKworIzogYnVpbHRpbi9scy10cmVlLmM6MTM0CiBtc2dpZCAiaW5jbHVkZSBvYmplY3Qgc2l6ZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbmNsdXJlIGxhIHRhaWxsZSBkJ29iamV0IgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzUgYnVpbHRpbi9scy10cmVlLmM6MTM3CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzYgYnVpbHRpbi9scy10cmVlLmM6MTM4CiBtc2dpZCAibGlzdCBvbmx5IGZpbGVuYW1lcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIG5vbXMgZGUgZmljaGllcnMiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MAorIzogYnVpbHRpbi9scy10cmVlLmM6MTQxCiBtc2dpZCAidXNlIGZ1bGwgcGF0aCBuYW1lcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1dGlsaXNlciBsZXMgbm9tcyBkZSBjaGVtaW5zIGNvbXBsZXRzIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxNDIKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MwogbXNnaWQgImxpc3QgZW50aXJlIHRyZWU7IG5vdCBqdXN0IGN1cnJlbnQgZGlyZWN0b3J5IChpbXBsaWVzIC0tZnVsbC1uYW1lKSIKIG1zZ3N0ciAiIgorImFmZmljaGVyIGwnYXJicmUgZW50aWVyIDsgcGFzIHNldWxlbWVudCBsZSByw6lwZXJ0b2lyZSBjb3VyYW50IChpbXBsaXF1ZSAtLSIKKyJmdWxsLW5hbWUpIgogCiAjOiBidWlsdGluL21lcmdlLmM6NDMKIG1zZ2lkICJnaXQgbWVyZ2UgW29wdGlvbnNdIFs8Y29tbWl0Pi4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG1lcmdlIFtvcHRpb25zXSBbPGNvbW1pdD4uLi5dIgogCiAjOiBidWlsdGluL21lcmdlLmM6NDQKIG1zZ2lkICJnaXQgbWVyZ2UgW29wdGlvbnNdIDxtc2c+IEhFQUQgPGNvbW1pdD4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG1lcmdlIFtvcHRpb25zXSA8bWVzc2FnZT4gSEVBRCA8Y29tbWl0PiIKIAogIzogYnVpbHRpbi9tZXJnZS5jOjQ1CiBtc2dpZCAiZ2l0IG1lcmdlIC0tYWJvcnQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG1lcmdlIC0tYWJvcnQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MAorIzogYnVpbHRpbi9tZXJnZS5jOjk4CiBtc2dpZCAic3dpdGNoIGBtJyByZXF1aXJlcyBhIHZhbHVlIgotbXNnc3RyICIiCittc2dzdHIgImxlIGNvbW11dGF0ZXVyIGBtJyBhIGJlc29pbiBkJ3VuZSB2YWxldXIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgbWVyZ2Ugc3RyYXRlZ3kgJyVzJy5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgc3RyYXTDqWdpZSBkZSBmdXNpb24gJyVzJy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyOAorIzogYnVpbHRpbi9tZXJnZS5jOjEzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJBdmFpbGFibGUgc3RyYXRlZ2llcyBhcmU6IgotbXNnc3RyICIiCittc2dzdHIgIkxlcyBzdHJhdMOpZ2llcyBkaXNwb25pYmxlcyBzb250IDoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjE4MwotbXNnaWQgImRvIG5vdCBzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjE4NgotbXNnaWQgInNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTg3Ci1tc2dpZCAiKHN5bm9ueW0gdG8gLS1zdGF0KSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTg5Ci1tc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTIKLW1zZ2lkICJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTk0Ci1tc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTYKLW1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCi1tc2dzdHIgIiIKK21zZ3N0ciAiTGVzIHN0cmF0w6lnaWVzIHBlcnNvbm5hbGlzw6llcyBzb250IDoiCiAKICM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTgKLW1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQgKGRlZmF1bHQpIgotbXNnc3RyICIiCittc2dpZCAiZG8gbm90IHNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKK21zZ3N0ciAibmUgcGFzIGFmZmljaGVyIHVuIGRpZmZzdGF0IMOgIGxhIGZpbiBkZSBsYSBmdXNpb24iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDAKLW1zZ2lkICJhYm9ydCBpZiBmYXN0LWZvcndhcmQgaXMgbm90IHBvc3NpYmxlIgotbXNnc3RyICIiCisjOiBidWlsdGluL21lcmdlLmM6MjAxCittc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgorbXNnc3RyICJhZmZpY2hlciB1biBkaWZmc3RhdCDDoCBsYSBmaW4gZGUgbGEgZnVzaW9uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjAzCi1tc2dpZCAiVmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgotbXNnc3RyICIiCisjOiBidWlsdGluL21lcmdlLmM6MjAyCittc2dpZCAiKHN5bm9ueW0gdG8gLS1zdGF0KSIKK21zZ3N0ciAiKHN5bm9ueW1lIGRlIC0tc3RhdCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDQgYnVpbHRpbi9ub3Rlcy5jOjg2NiBidWlsdGluL3JldmVydC5jOjExMgotbXNnaWQgInN0cmF0ZWd5IgorIzogYnVpbHRpbi9tZXJnZS5jOjIwNAorbXNnaWQgImFkZCAoYXQgbW9zdCA8bj4pIGVudHJpZXMgZnJvbSBzaG9ydGxvZyB0byBtZXJnZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MjA1Ci1tc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDYKLW1zZ2lkICJvcHRpb249dmFsdWUiCi1tc2dzdHIgIiIKKyJham91dGVyIChhdSBwbHVzIDxuPikgw6lsw6ltZW50cyBkdSBqb3VybmFsIGNvdXJ0IGF1IG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBkZSAiCisibGEgZnVzaW9uIgogCiAjOiBidWlsdGluL21lcmdlLmM6MjA3Ci1tc2dpZCAib3B0aW9uIGZvciBzZWxlY3RlZCBtZXJnZSBzdHJhdGVneSIKLW1zZ3N0ciAiIgorbXNnaWQgImNyZWF0ZSBhIHNpbmdsZSBjb21taXQgaW5zdGVhZCBvZiBkb2luZyBhIG1lcmdlIgorbXNnc3RyICJjcsOpZXIgdW5lIHZhbGlkYXRpb24gdW5pcXVlIGF1IGxpZXUgZGUgZmFpcmUgdW5lIGZ1c2lvbiIKIAogIzogYnVpbHRpbi9tZXJnZS5jOjIwOQorbXNnaWQgInBlcmZvcm0gYSBjb21taXQgaWYgdGhlIG1lcmdlIHN1Y2NlZWRzIChkZWZhdWx0KSIKK21zZ3N0ciAiZWZmZWN0dWVyIHVuZSB2YWxpZGF0aW9uIHNpIGxhIGZ1c2lvbiByw6l1c3NpdCAoZMOpZmF1dCkiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTEKK21zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCittc2dzdHIgIsOpZGl0ZXIgbGUgbWVzc2FnZSBhdmFudCBsYSB2YWxpZGF0aW9uIgorCisjOiBidWlsdGluL21lcmdlLmM6MjEyCittc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKK21zZ3N0ciAiYXV0b3Jpc2VyIGwnYXZhbmNlIHJhcGlkZSAoZMOpZmF1dCkiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTQKK21zZ2lkICJhYm9ydCBpZiBmYXN0LWZvcndhcmQgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyICJhYmFuZG9ubmVyIHNpIGwnYXZhbmNlIHJhcGlkZSBuJ2VzdCBwYXMgcG9zc2libGUiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTgKK21zZ2lkICJWZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCittc2dzdHIgIlbDqXJpZmllciBxdWUgbGEgdmFsaWRhdGlvbiBhIHVuZSBzaWduYXR1cmUgR1BHIHZhbGlkZSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL25vdGVzLmM6NzM4IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKK21zZ2lkICJzdHJhdGVneSIKK21zZ3N0ciAic3RyYXTDqWdpZSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjIyMAorbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKK21zZ3N0ciAic3RyYXTDqWdpZSBkZSBmdXNpb24gw6AgdXRpbGlzZXIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjEKK21zZ2lkICJvcHRpb249dmFsdWUiCittc2dzdHIgIm9wdGlvbj12YWxldXIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjIKK21zZ2lkICJvcHRpb24gZm9yIHNlbGVjdGVkIG1lcmdlIHN0cmF0ZWd5IgorbXNnc3RyICJvcHRpb24gcG91ciBsYSBzdHJhdMOpZ2llIGRlIGZ1c2lvbiBzw6lsZWN0aW9ubsOpZSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjIyNAogbXNnaWQgIm1lcmdlIGNvbW1pdCBtZXNzYWdlIChmb3IgYSBub24tZmFzdC1mb3J3YXJkIG1lcmdlKSIKIG1zZ3N0ciAiIgorIm1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBkZSBsYSBmdXNpb24gKHBvdXIgdW5lIGZ1c2lvbiBzYW5zIGF2YW5jZSByYXBpZGUpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjEzCisjOiBidWlsdGluL21lcmdlLmM6MjI4CiBtc2dpZCAiYWJvcnQgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWJhbmRvbm5lciBsYSBmdXNpb24gZW4gY291cnMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTcKIG1zZ2lkICJjb3VsZCBub3QgcnVuIHN0YXNoLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxhbmNlciBsZSByZW1pc2FnZS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjIKIG1zZ2lkICJzdGFzaCBmYWlsZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6ljaGVjIGR1IHJlbWlzYWdlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjUyCisjOiBidWlsdGluL21lcmdlLmM6MjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdDogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAicGFzIHVuIG9iamV0IHZhbGlkZSA6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjcxIGJ1aWx0aW4vbWVyZ2UuYzoyODgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODYgYnVpbHRpbi9tZXJnZS5jOjMwMwogbXNnaWQgInJlYWQtdHJlZSBmYWlsZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVhZC10cmVlIGEgw6ljaG91w6kiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozMTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMzMKIG1zZ2lkICIgKG5vdGhpbmcgdG8gc3F1YXNoKSIKIG1zZ3N0ciAiIChyaWVuIMOgIGNvbXByZXNzZXIpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzMxCisjOiBidWlsdGluL21lcmdlLmM6MzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNxdWFzaCBjb21taXQgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJWYWxpZGF0aW9uIGNvbXByZXNzw6llIC0tIEhFQUQgbm9uIG1pc2Ugw6Agam91clxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzYzCisjOiBidWlsdGluL21lcmdlLmM6Mzc4CiBtc2dpZCAiV3JpdGluZyBTUVVBU0hfTVNHIgotbXNnc3RyICIiCittc2dzdHIgIsOJY3JpdHVyZSBkZSBTUVVBU0hfTVNHIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzY1CisjOiBidWlsdGluL21lcmdlLmM6MzgwCiBtc2dpZCAiRmluaXNoaW5nIFNRVUFTSF9NU0ciCi1tc2dzdHIgIiIKK21zZ3N0ciAiRmluaXRpb24gZGUgU1FVQVNIX01TRyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM4OAorIzogYnVpbHRpbi9tZXJnZS5jOjQwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBtZXNzYWdlIC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiUGFzIGRlIG1lc3NhZ2UgZGUgZnVzaW9uIC0tIHBhcyBkZSBtaXNlIMOgIGpvdXIgZGUgSEVBRFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDM4CisjOiBidWlsdGluL21lcmdlLmM6NDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJyVzJyBuZSBwb2ludGUgcGFzIHN1ciB1biBjb21taXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1NTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJNYXV2YWlzZSBjaGHDrm5lIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY0MworIzogYnVpbHRpbi9tZXJnZS5jOjY1NwogbXNnaWQgImdpdCB3cml0ZS10cmVlIGZhaWxlZCB0byB3cml0ZSBhIHRyZWUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjY3MQotbXNnaWQgIk5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUgYSDDqWNob3XDqSDDoCDDqWNyaXJlIHVuIGFyYnJlIgogCiAjOiBidWlsdGluL21lcmdlLmM6Njg1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlVua25vd24gb3B0aW9uIGZvciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCi1tc2dzdHIgIiIKK21zZ2lkICJOb3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGfDqXJlciBhdXRyZSBjaG9zZSBxdWUgbGEgZnVzaW9uIGRlIGRldXggdMOqdGVzLiIKIAogIzogYnVpbHRpbi9tZXJnZS5jOjY5OQogIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCi1tc2dzdHIgIiIKK21zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgorbXNnc3RyICJPcHRpb25zIGluY29ubnVlIHBvdXIgbWVyZ2UtcmVjdXJzaXZlIDogLVglcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc4OAorIzogYnVpbHRpbi9tZXJnZS5jOjcxMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCittc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlICVzIgorCisjOiBidWlsdGluL21lcmdlLmM6ODAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIGZyb20gJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxpcmUgZGVwdWlzICclcyciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGNvbW1pdHRpbmcgbWVyZ2U7IHVzZSAnZ2l0IGNvbW1pdCcgdG8gY29tcGxldGUgdGhlIG1lcmdlLlxuIgogbXNnc3RyICIiCisiUGFzIGRlIHZhbGlkYXRpb24gZGUgbGEgZnVzaW9uIDsgdXRpbGlzZXogJ2dpdCBjb21taXQnIHBvdXIgdGVybWluZXIgbGEgIgorImZ1c2lvbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjgwMworIzogYnVpbHRpbi9tZXJnZS5jOjgxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCkBAIC02MjU2LDg5NyArNjkzNCw5MzIgQEAKICJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLCBhbmQgYW4gZW1wdHkgbWVzc2FnZSBhYm9ydHNcbiIKICJ0aGUgY29tbWl0LlxuIgogbXNnc3RyICIiCisiVmV1aWxsZXogZW50cmVyIHVuIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBwb3VyIGV4cGxpcXVlciBlbiBxdW9pIGNldHRlIGZ1c2lvbiAiCisiZXN0XG4iCisibsOpY2Vzc2FpcmUsIHN1cnRvdXQgc2kgY2VsYSBmdXNpb25uZSB1bmUgYnJhbmNoZSBhbW9udCBtaXNlIMOgIGpvdXIgZGFucyB1bmUgIgorImJyYW5jaGUgZGUgc3VqZXQuXG4iCisiXG4iCisiTGVzIGxpZ25lcyBjb21tZW7Dp2FudCBwYXIgJyVjJyBzZXJvbnQgaWdub3LDqWVzLCBldCB1biBtZXNzYWdlIHZpZGVcbiIKKyJhYmFuZG9ubmUgbGEgdmFsaWRhdGlvbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjgyNworIzogYnVpbHRpbi9tZXJnZS5jOjg0MQogbXNnaWQgIkVtcHR5IGNvbW1pdCBtZXNzYWdlLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJNZXNzYWdlIGRlIHZhbGlkYXRpb24gdmlkZS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgotbXNnc3RyICIiCittc2dzdHIgIk1lcnZlaWxsZXV4LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTA0CisjOiBidWlsdGluL21lcmdlLmM6OTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSBmYWlsZWQ7IGZpeCBjb25mbGljdHMgYW5kIHRoZW4gY29tbWl0IHRoZSByZXN1bHQuXG4iCiBtc2dzdHIgIiIKKyJMYSBmdXNpb24gYXV0b21hdGlxdWUgYSDDqWNob3XDqSA7IHLDqWdsZXogbGVzIGNvbmZsaXRzIGV0IHZhbGlkZXogbGUgIgorInLDqXN1bHRhdC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkyMAorIzogYnVpbHRpbi9tZXJnZS5jOjkzNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKLW1zZ3N0ciAiIgorbXNnc3RyICInJXMnIG4nZXN0IHBhcyB1bmUgdmFsaWRhdGlvbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk2MQorIzogYnVpbHRpbi9tZXJnZS5jOjk3NQogbXNnaWQgIk5vIGN1cnJlbnQgYnJhbmNoLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJQYXMgZGUgYnJhbmNoZSBjb3VyYW50ZS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NjMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzcKIG1zZ2lkICJObyByZW1vdGUgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiUGFzIGRlIGJyYW5jaGUgZGlzdGFudGUgcG91ciBsYSBicmFuY2hlIGNvdXJhbnRlLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk2NQorIzogYnVpbHRpbi9tZXJnZS5jOjk3OQogbXNnaWQgIk5vIGRlZmF1bHQgdXBzdHJlYW0gZGVmaW5lZCBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJQYXMgZGUgYnJhbmNoZSBhbW9udCBwYXIgZMOpZmF1dCBkw6lmaW5pZSBwb3VyIGxhIGJyYW5jaGUgY291cmFudGUuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTcwCisjOiBidWlsdGluL21lcmdlLmM6OTg0CiAjLCBjLWZvcm1hdAotbXNnaWQgIk5vIHJlbW90ZSB0cmFja2luZyBicmFuY2ggZm9yICVzIGZyb20gJXMiCi1tc2dzdHIgIiIKK21zZ2lkICJObyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIGZvciAlcyBmcm9tICVzIgorbXNnc3RyICJQYXMgZGUgYnJhbmNoZSBkZSBzdWl2aSBwb3VyICVzIGRlcHVpcyAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwNTcgYnVpbHRpbi9tZXJnZS5jOjEyMTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgLSBub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTEyNQorIzogYnVpbHRpbi9tZXJnZS5jOjExNDAKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSB0byBhYm9ydCAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiSWwgbid5IGEgcGFzIGRlIGZ1c2lvbiDDoCBhYmFuZG9ubmVyIChNRVJHRV9IRUFEIG1hbnF1YW50KS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQxIGdpdC1wdWxsLnNoOjMxCisjOiBidWlsdGluL21lcmdlLmM6MTE1NiBnaXQtcHVsbC5zaDozMQogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgogbXNnc3RyICIiCisiVm91cyBuJ2F2ZXogcGFzIHRlcm1pbsOpIHZvdHJlIGZ1c2lvbiAoTUVSR0VfSEVBRCBleGlzdGUpLlxuIgorIlZldWlsbGV6IHZhbGlkZXIgdm9zIGNoYW5nZW1lbnRzIGF2YW50IGRlIHBvdXZvaXIgZnVzaW9ubmVyLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNDQgZ2l0LXB1bGwuc2g6MzQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTU5IGdpdC1wdWxsLnNoOjM0CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuIgotbXNnc3RyICIiCittc2dzdHIgIlZvdXMgbidhdmV6IHBhcyB0ZXJtaW7DqSB2b3RyZSBmdXNpb24gKE1FUkdFX0hFQUQgZXhpc3RlKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ4CisjOiBidWlsdGluL21lcmdlLmM6MTE2MwogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgogbXNnc3RyICIiCisiVm91cyBuJ2F2ZXogcGFzIHRlcm1pbsOpIHZvdHJlIHBpY29yYWdlIChDSEVSUllfUElDS19IRUFEIGV4aXN0ZSkuXG4iCisiVmV1aWxsZXogdmFsaWRlciB2b3MgY2hhbmdlbWVudHMgYXZhbnQgZGUgcG91dm9pciBmdXNpb25uZXIuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE1MQorIzogYnVpbHRpbi9tZXJnZS5jOjExNjYKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiVm91cyBuJ2F2ZXogcGFzIHRlcm1pbsOpIHZvdHJlIHBpY29yYWdlIChDSEVSUllfUElDS19IRUFEIGV4aXN0ZSkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE2MAorIzogYnVpbHRpbi9tZXJnZS5jOjExNzUKIG1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJWb3VzIG5lIHBvdXZleiBwYXMgY29tYmluZXIgLS1zcXVhc2ggYXZlYyAtLW5vLWZmLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNjUKLW1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1uby1mZiB3aXRoIC0tZmYtb25seS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjExNzIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg0CiBtc2dpZCAiTm8gY29tbWl0IHNwZWNpZmllZCBhbmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm90IHNldC4iCiBtc2dzdHIgIiIKKyJQYXMgZGUgdmFsaWRhdGlvbiBzcMOpY2lmacOpZSBldCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBuJ2VzdCBwYXMgZMOpZmluaS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjA0CisjOiBidWlsdGluL21lcmdlLmM6MTIxNgogbXNnaWQgIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIiIKKyJQb3NzaWJsZSBkZSBmdXNpb25uZXIgZXhhY3RlbWVudCB1bmUgc2V1bGUgdmFsaWRhdGlvbiBkYW5zIHVuZSB0w6p0ZSB2aWRlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIwNworIzogYnVpbHRpbi9tZXJnZS5jOjEyMTkKIG1zZ2lkICJTcXVhc2ggY29tbWl0IGludG8gZW1wdHkgaGVhZCBub3Qgc3VwcG9ydGVkIHlldCIKLW1zZ3N0ciAiIgorbXNnc3RyICJMYSB2YWxpZGF0aW9uIGNvbXByZXNzw6llIHZlcnMgdW5lIHTDqnRlIHZpZGUgbidlc3QgcGFzIGVuY29yZSBzdXBwb3J0w6llIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIwOQorIzogYnVpbHRpbi9tZXJnZS5jOjEyMjEKIG1zZ2lkICJOb24tZmFzdC1mb3J3YXJkIGNvbW1pdCBkb2VzIG5vdCBtYWtlIHNlbnNlIGludG8gYW4gZW1wdHkgaGVhZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJVbmUgdmFsaWRhdGlvbiBzYW5zIGF2YW5jZSByYXBpZGUgbidhIHBhcyBkZSBzZW5zIGRhbnMgdW5lIHTDqnRlIHZpZGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjY1CisjOiBidWlsdGluL21lcmdlLmM6MTIyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgorbXNnc3RyICIlcyAtIHBhcyBwb3NzaWJsZSBkZSBmdXNpb25uZXIgY2VjaSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSwgYWxsZWdlZGx5IGJ5ICVzLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJMYSB2YWxpZGF0aW9uICVzIGEgdW5lIHNpZ25hdHVyZSBHUEcgbm9uIGZpYWJsZSwgcHLDqXRlbmR1bWVudCBwYXIgJXMuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI2OAorIzogYnVpbHRpbi9tZXJnZS5jOjEyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGJhZCBHUEcgc2lnbmF0dXJlIGFsbGVnZWRseSBieSAlcy4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiTGEgdmFsaWRhdGlvbiAlcyBhIHVuZSBtYXV2YWlzZSBzaWduYXR1cmUgR1BHIHByw6l0ZW5kdW1lbnQgcGFyICVzLiIKIAogIy4gJ04nCi0jOiBidWlsdGluL21lcmdlLmM6MTI3MQorIzogYnVpbHRpbi9tZXJnZS5jOjEyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgYSBHUEcgc2lnbmF0dXJlLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJMYSB2YWxpZGF0aW9uICVzIG4nYSBwYXMgZGUgc2lnbmF0dXJlIEdQRy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjc0CisjOiBidWlsdGluL21lcmdlLmM6MTI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiTGEgdmFsaWRhdGlvbiAlcyBhIHVuZSBzaWduYXR1cmUgR1BHIGNvcnJlY3RlIHBhciAlc1xuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM1OAorIzogYnVpbHRpbi9tZXJnZS5jOjEzNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMuLiVzXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiTWlzZSDDoCBqb3VyICVzLi4lc1xuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM5NworIzogYnVpbHRpbi9tZXJnZS5jOjE0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIHJlYWxseSB0cml2aWFsIGluLWluZGV4IG1lcmdlLi4uXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiRXNzYWkgZGUgZnVzaW9uIHZyYWltZW50IHRyaXZpYWxlIGRhbnMgbCdpbmRleC4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQwNAorIzogYnVpbHRpbi9tZXJnZS5jOjE0MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm9wZS5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJOb24uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDM2CisjOiBidWlsdGluL21lcmdlLmM6MTQ0OAogbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJQYXMgcG9zc2libGUgZCdhdmFuY2VyIHJhcGlkZW1lbnQsIGFiYW5kb24uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ1OSBidWlsdGluL21lcmdlLmM6MTUzOAorIzogYnVpbHRpbi9tZXJnZS5jOjE0NzEgYnVpbHRpbi9tZXJnZS5jOjE1NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiUmV0b3VyIGRlIGwnYXJicmUgw6AgbCdvcmlnaW5hbC4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ2MworIzogYnVpbHRpbi9tZXJnZS5jOjE0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIG1lcmdlIHN0cmF0ZWd5ICVzLi4uXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiRXNzYWkgZGUgbGEgc3RyYXTDqWdpZSBkZSBmdXNpb24gJXMuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MjkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIHN0cmF0ZWd5IGhhbmRsZWQgdGhlIG1lcmdlLlxuIgotbXNnc3RyICIiCittc2dzdHIgIkF1Y3VuZSBzdHJhdMOpZ2llIGRlIGZ1c2lvbiBuJ2EgcHJpcyBlbiBjaGFyZ2UgbGEgZnVzaW9uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUzMQorIzogYnVpbHRpbi9tZXJnZS5jOjE1NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVXNpbmcgdGhlICVzIHRvIHByZXBhcmUgcmVzb2x2aW5nIGJ5IGhhbmQuXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiTGEgZnVzaW9uIGF2ZWMgbGEgc3RyYXTDqWdpZSAlcyBhIMOpY2hvdcOpLlxuIgogCiAjOiBidWlsdGluL21lcmdlLmM6MTU1MgogIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKK21zZ3N0ciAiVXRpbGlzYXRpb24gZGUgJXMgcG91ciBwcsOpcGFyZXIgbGEgcsOpc29sdXRpb24gw6AgbGEgbWFpbi5cbiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE1NjQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIHdlbnQgd2VsbDsgc3RvcHBlZCBiZWZvcmUgY29tbWl0dGluZyBhcyByZXF1ZXN0ZWRcbiIKIG1zZ3N0ciAiIgorIkxhIGZ1c2lvbiBhdXRvbWF0aXF1ZSBhIHLDqXVzc2kgOyBzdG9wcMOpZSBhdmFudCBsYSB2YWxpZGF0aW9uIGNvbW1lIGRlbWFuZMOpXG4iCiAKICM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI2CiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgWy1hfC0tYWxsXSA8Y29tbWl0PiA8Y29tbWl0Pi4uLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSBbLWF8LS1hbGxdIDx2YWxpZGF0aW9uPiA8dmFsaWRhdGlvbj4uLi4iCiAKICM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI3CiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgWy1hfC0tYWxsXSAtLW9jdG9wdXMgPGNvbW1pdD4uLi4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgWy1hfC0tYWxsXSAtLW9jdG9wdXMgPHZhbGlkYXRpb24+Li4uIgogCiAjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyOAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGNvbW1pdD4uLi4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgLS1pbmRlcGVuZGVudCA8dmFsaWRhdGlvbj4uLi4iCiAKICM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI5CiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1pcy1hbmNlc3RvciA8Y29tbWl0PiA8Y29tbWl0PiIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWlzLWFuY2VzdG9yIDx2YWxpZGF0aW9uPiA8dmFsaWRhdGlvbj4iCiAKICM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjk4CiBtc2dpZCAib3V0cHV0IGFsbCBjb21tb24gYW5jZXN0b3JzIgotbXNnc3RyICIiCittc2dzdHIgImFmZmljaGVyIHRvdXMgbGVzIGFuY8OqdHJlcyBjb21tdW5zIgogCiAjOiBidWlsdGluL21lcmdlLWJhc2UuYzo5OQogbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0cm91dmVyIGxlcyBhbmPDqnRyZXMgcG91ciB1bmUgZnVzaW9uIHNpbXBsZSDDoCBuIHBvaW50cyIKIAogIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MTAwCiBtc2dpZCAibGlzdCByZXZzIG5vdCByZWFjaGFibGUgZnJvbSBvdGhlcnMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIHLDqXZpc2lvbnMgaW5hY2Nlc3NpYmxlcyBkZXB1aXMgbGVzIGF1dHJlcyIKIAogIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MTAyCiBtc2dpZCAiaXMgdGhlIGZpcnN0IG9uZSBhbmNlc3RvciBvZiB0aGUgb3RoZXI/IgotbXNnc3RyICIiCittc2dzdHIgImVzdCBsZSBwcmVtaWVyIGFuY8OqdHJlIGRlIGwnYXV0cmUgPyIKIAogIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OAogbXNnaWQgIiIKICJnaXQgbWVyZ2UtZmlsZSBbb3B0aW9uc10gWy1MIG5hbWUxIFstTCBvcmlnIFstTCBuYW1lMl1dXSBmaWxlMSBvcmlnX2ZpbGUgIgogImZpbGUyIgogbXNnc3RyICIiCisiZ2l0IG1lcmdlLWZpbGUgW29wdGlvbnNdIFstTCBub20xIFstTCBvcmlnIFstTCBub20yXV1dIGZpY2hpZXIxIG9yaWdfZmlsZSAiCisiZmljaGllcjIiCiAKICM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjMzCiBtc2dpZCAic2VuZCByZXN1bHRzIHRvIHN0YW5kYXJkIG91dHB1dCIKLW1zZ3N0ciAiIgorbXNnc3RyICJlbnZveWVyIGxlcyByw6lzdWx0YXRzIHN1ciBsYSBzb3J0aWUgc3RhbmRhcmQiCiAKICM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjM0CiBtc2dpZCAidXNlIGEgZGlmZjMgYmFzZWQgbWVyZ2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAidXRpbGlzZXIgdW5lIGZ1c2lvbiBiYXPDqWUgc3VyIGRpZmYzIgogCiAjOiBidWlsdGluL21lcmdlLWZpbGUuYzozNQogbXNnaWQgImZvciBjb25mbGljdHMsIHVzZSBvdXIgdmVyc2lvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJwb3VyIGxlcyBjb25mbGl0cywgdXRpbGlzZXIgbm90cmUgdmVyc2lvbiAob3VyKSIKIAogIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzcKIG1zZ2lkICJmb3IgY29uZmxpY3RzLCB1c2UgdGhlaXIgdmVyc2lvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJwb3VyIGxlcyBjb25mbGl0cywgdXRpbGlzZXIgbGV1ciB2ZXJzaW9uICh0aGVpcikiCiAKICM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjM5CiBtc2dpZCAiZm9yIGNvbmZsaWN0cywgdXNlIGEgdW5pb24gdmVyc2lvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJwb3VyIGxlcyBjb25mbGl0cywgdXRpbGlzZXIgbCdlbnNlbWJsZSBkZXMgdmVyc2lvbnMiCiAKICM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQyCiBtc2dpZCAiZm9yIGNvbmZsaWN0cywgdXNlIHRoaXMgbWFya2VyIHNpemUiCi1tc2dzdHIgIiIKK21zZ3N0ciAicG91ciBsZXMgY29uZmxpdHMsIHV0aWxpc2VyIGNldHRlIHRhaWxsZSBkZSBtYXJxdWV1ciIKIAogIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6NDMKIG1zZ2lkICJkbyBub3Qgd2FybiBhYm91dCBjb25mbGljdHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAibmUgcGFzIGF2ZXJ0aXIgw6AgcHJvcG9zIGRlcyBjb25mbGl0cyIKIAogIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6NDUKIG1zZ2lkICJzZXQgbGFiZWxzIGZvciBmaWxlMS9vcmlnX2ZpbGUvZmlsZTIiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZMOpZmluaXIgbGVzIGxhYmVscyBwb3VyIGZpY2hpZXIxL29yaWdfZmlsZS9maWNoaWVyMiIKIAogIzogYnVpbHRpbi9ta3RyZWUuYzo2NwogbXNnaWQgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG1rdHJlZSBbLXpdIFstLW1pc3NpbmddIFstLWJhdGNoXSIKIAogIzogYnVpbHRpbi9ta3RyZWUuYzoxNTMKIG1zZ2lkICJpbnB1dCBpcyBOVUwgdGVybWluYXRlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJsJ2VudHLDqWUgc2UgdGVybWluZSBwYXIgTlVMIgogCiAjOiBidWlsdGluL21rdHJlZS5jOjE1NCBidWlsdGluL3dyaXRlLXRyZWUuYzoyNAogbXNnaWQgImFsbG93IG1pc3Npbmcgb2JqZWN0cyIKLW1zZ3N0ciAiIgorbXNnc3RyICJhdXRvcmlzZXIgbGVzIG9iamV0cyBtYW5xdWFudHMiCiAKICM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU1CiBtc2dpZCAiYWxsb3cgY3JlYXRpb24gb2YgbW9yZSB0aGFuIG9uZSB0cmVlIgotbXNnc3RyICIiCittc2dzdHIgImF1dG9yaXNlciBsYSBjcsOpYXRpb24gZGUgcGx1cyBkJ3VuIGFyYnJlIgogCi0jOiBidWlsdGluL212LmM6MTQKKyM6IGJ1aWx0aW4vbXYuYzoxNQogbXNnaWQgImdpdCBtdiBbb3B0aW9uc10gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgbXYgW29wdGlvbnNdIDxzb3VyY2U+Li4uIDxkZXN0aW5hdGlvbj4iCiAKLSM6IGJ1aWx0aW4vbXYuYzo2NAorIzogYnVpbHRpbi9tdi5jOjY3CiBtc2dpZCAiZm9yY2UgbW92ZS9yZW5hbWUgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgotbXNnc3RyICIiCittc2dzdHIgImZvcmNlciBsZSBkw6lwbGFjZW1lbnQvcmVub21tYWdlIG3Dqm1lIHNpIGxhIGNpYmxlIGV4aXN0ZSIKIAotIzogYnVpbHRpbi9tdi5jOjY1CisjOiBidWlsdGluL212LmM6NjgKIG1zZ2lkICJza2lwIG1vdmUvcmVuYW1lIGVycm9ycyIKLW1zZ3N0ciAiIgorbXNnc3RyICJzYXV0ZXIgbGVzIGVycmV1cnMgZGUgZMOpcGxhY2VtZW50L3Jlbm9tbWFnZSIKIAotIzogYnVpbHRpbi9tdi5jOjEwOAorIzogYnVpbHRpbi9tdi5jOjExMwogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyByZW5hbWUgb2YgJyVzJyB0byAnJXMnXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiVsOpcmlmaWNhdGlvbiBkdSByZW5vbW1hZ2UgZGUgJyVzJyBlbiAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTIKKyM6IGJ1aWx0aW4vbXYuYzoxMTcKIG1zZ2lkICJiYWQgc291cmNlIgotbXNnc3RyICIiCittc2dzdHIgIm1hdXZhaXNlIHNvdXJjZSIKIAotIzogYnVpbHRpbi9tdi5jOjExNQorIzogYnVpbHRpbi9tdi5jOjEyMAogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6lwbGFjZXIgdW4gcsOpcGVydG9pcmUgZGFucyBsdWktbcOqbWUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTgKKyM6IGJ1aWx0aW4vbXYuYzoxMjMKIG1zZ2lkICJjYW5ub3QgbW92ZSBkaXJlY3Rvcnkgb3ZlciBmaWxlIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgZMOpcGxhY2VyIHVuIHLDqXBlcnRvaXJlIHN1ciB1biBmaWNoaWVyIgogCi0jOiBidWlsdGluL212LmM6MTI4CisjOiBidWlsdGluL212LmM6MTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkh1aD8gRGlyZWN0b3J5ICVzIGlzIGluIGluZGV4IGFuZCBubyBzdWJtb2R1bGU/IgorbXNnc3RyICJIZWluID8gTGUgcsOpcGVydG9pcmUgJXMgZXN0IGRhbnMgbCdpbmRleCBldCBwb3VydGFudCBhdWN1biBzb3VzLW1vZHVsZSA/IgorCisjOiBidWlsdGluL212LmM6MTMxIGJ1aWx0aW4vcm0uYzozMTgKK21zZ2lkICJQbGVhc2UsIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCittc2dzdHIgIlZldWlsbGV6IGluZGV4ZXIgdm9zIG1vZGlmaWNhdGlvbnMgZGUgLmdpdG1vZHVsZXMgb3UgcmVtaXNlei1sZXMgcG91ciBjb250aW51ZXIiCisKKyM6IGJ1aWx0aW4vbXYuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVoPyAlLipzIGlzIGluIGluZGV4PyIKLW1zZ3N0ciAiIgorbXNnc3RyICJIZWluID8gJS4qcyBlc3QgZGFucyBsJ2luZGV4ID8iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNDAKKyM6IGJ1aWx0aW4vbXYuYzoxNTkKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgotbXNnc3RyICIiCittc2dzdHIgImxlIHLDqXBlcnRvaXJlIHNvdXJjZSBlc3QgdmlkZSIKIAotIzogYnVpbHRpbi9tdi5jOjE3MQorIzogYnVpbHRpbi9tdi5jOjE5MQogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCi1tc2dzdHIgIiIKK21zZ3N0ciAicGFzIHNvdXMgbGUgY29udHLDtGxlIGRlIHZlcnNpb24iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzMKKyM6IGJ1aWx0aW4vbXYuYzoxOTMKIG1zZ2lkICJkZXN0aW5hdGlvbiBleGlzdHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAibGEgZGVzdGluYXRpb24gZXhpc3RlIgogCi0jOiBidWlsdGluL212LmM6MTgxCisjOiBidWlsdGluL212LmM6MjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6ljcmFzZW1lbnQgZGUgJyVzJyIKIAotIzogYnVpbHRpbi9tdi5jOjE4NAorIzogYnVpbHRpbi9tdi5jOjIwNAogbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ8OpY3Jhc2VyIgogCi0jOiBidWlsdGluL212LmM6MTg3CisjOiBidWlsdGluL212LmM6MjA3CiBtc2dpZCAibXVsdGlwbGUgc291cmNlcyBmb3IgdGhlIHNhbWUgdGFyZ2V0IgotbXNnc3RyICIiCittc2dzdHIgIm11bHRpcGxlcyBzb3VyY2VzIHBvdXIgbGEgbcOqbWUgZGVzdGluYXRpb24iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMDIKKyM6IGJ1aWx0aW4vbXYuYzoyMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCiBtc2dzdHIgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgogCi0jOiBidWlsdGluL212LmM6MjEyCisjOiBidWlsdGluL212LmM6MjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiUmVub21tYWdlIGRlICVzIGVuICVzXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTUgYnVpbHRpbi9yZW1vdGUuYzo3MzEKKyM6IGJ1aWx0aW4vbXYuYzoyMzUgYnVpbHRpbi9yZW1vdGUuYzo3MzEgYnVpbHRpbi9yZXBhY2suYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAibGUgcmVub21tYWdlIGRlICclcycgYSDDqWNob3XDqSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjE3NQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OQogbXNnaWQgImdpdCBuYW1lLXJldiBbb3B0aW9uc10gPGNvbW1pdD4uLi4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG5hbWUtcmV2IFtvcHRpb25zXSA8dmFsaWRhdGlvbj4uLi4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoxNzYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNjAKIG1zZ2lkICJnaXQgbmFtZS1yZXYgW29wdGlvbnNdIC0tYWxsIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBuYW1lLXJldiBbb3B0aW9uc10gLS1hbGwiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoxNzcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNjEKIG1zZ2lkICJnaXQgbmFtZS1yZXYgW29wdGlvbnNdIC0tc3RkaW4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG5hbWUtcmV2IFtvcHRpb25zXSAtLXN0ZGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjI5CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzEzCiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgotbXNnc3RyICIiCittc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgbm9tcyAocGFzIGRlIFNIQS0xKSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjIzMAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNAogbXNnaWQgIm9ubHkgdXNlIHRhZ3MgdG8gbmFtZSB0aGUgY29tbWl0cyIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1dGlsaXNlciBzZXVsZW1lbnQgbGVzIMOpdGlxdWV0dGVzIHBvdXIgbm9tbWVyIGxlcyB2YWxpZGF0aW9ucyIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjIzMgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNgogbXNnaWQgIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgotbXNnc3RyICIiCittc2dzdHIgInV0aWxpc2VyIHNldWxlbWVudCBsZXMgcsOpZsOpcmVuY2VzIGNvcnJlc3BvbmRhbnQgw6AgPG1vdGlmPiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjIzNAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOAogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgIiIKKyJhZmZpY2hlciB0b3V0ZXMgbGVzIHZhbGlkYXRpb25zIGFjY2Vzc2libGVzIGRlcHVpcyB0b3V0ZXMgbGVzIHLDqWbDqXJlbmNlcyIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjIzNQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOQogbXNnaWQgInJlYWQgZnJvbSBzdGRpbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJsaXJlIGRlcHVpcyBsJ2VudHLDqWUgc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyMzYKLW1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyIKLW1zZ3N0ciAiIgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyMAorbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIChkZWZhdWx0KSIKK21zZ3N0ciAiYXV0b3Jpc2VyIGwnYWZmaWNoYWdlIGRlcyBub21zIGBub24gZMOpZmluaXNgIChwYXIgZMOpZmF1dCkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyNgorbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW4gdGhlIGlucHV0IChpbnRlcm5hbCB1c2UpIgorbXNnc3RyICJkw6lyw6lmw6lyZW5jZXIgbGVzIMOpdGlxdWV0dGVzIGVuIGVudHLDqWUgKHVzYWdlIGludGVybmUpIgorCisjOiBidWlsdGluL25vdGVzLmM6MjQKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlc19yZWY+XSBbbGlzdCBbPG9iamVjdD5dXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxyw6lmw6lyZW5jZXNfbm90ZXM+XSBbbGlzdCBbPG9iamVjdD5dXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI3CisjOiBidWlsdGluL25vdGVzLmM6MjUKIG1zZ2lkICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXNfcmVmPl0gYWRkIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+IHwgKC1jIHwgLUMpICIKICI8b2JqZWN0Pl0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiIgorImdpdCBub3RlcyBbLS1yZWYgPHLDqWbDqXJlbmNlc19ub3Rlcz5dIGFkZCBbLWZdIFstbSA8bWVzc2FnZT4gfCAtRiA8ZmljaGllcj4gfCAiCisiKC1jIHwgLUMpIDxvYmpldD5dIFs8b2JqZXQ+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI4CisjOiBidWlsdGluL25vdGVzLmM6MjYKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlc19yZWY+XSBjb3B5IFstZl0gPGZyb20tb2JqZWN0PiA8dG8tb2JqZWN0PiIKIG1zZ3N0ciAiIgorImdpdCBub3RlcyBbLS1yZWYgPHLDqWbDqXJlbmNlc19ub3Rlcz5dIGNvcHkgWy1mXSA8ZGVwdWlzLW9iamV0PiA8dmVycy1vYmpldD4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyOQorIzogYnVpbHRpbi9ub3Rlcy5jOjI3CiBtc2dpZCAiIgogImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzX3JlZj5dIGFwcGVuZCBbLW0gPG1zZz4gfCAtRiA8ZmlsZT4gfCAoLWMgfCAtQykgIgogIjxvYmplY3Q+XSBbPG9iamVjdD5dIgogbXNnc3RyICIiCisiZ2l0IG5vdGVzIFstLXJlZiA8csOpZsOpcmVuY2VzX25vdGVzPl0gYXBwZW5kIFstbSA8bWVzc2FnZT4gfCAtRiA8ZmljaGllcj4gfCAoLSIKKyJjIHwgLUMpIDxvYmpldD5dIFs8b2JqZXQ+XSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjI4Cittc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXNfcmVmPl0gZWRpdCBbPG9iamVjdD5dIgorbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxyw6lmw6lyZW5jZXNfbm90ZXM+XSBlZGl0IFs8b2JqZXQ+XSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjI5Cittc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXNfcmVmPl0gc2hvdyBbPG9iamVjdD5dIgorbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxyw6lmw6lyZW5jZXNfbm90ZXM+XSBzaG93IFs8b2JqZXQ+XSIKIAogIzogYnVpbHRpbi9ub3Rlcy5jOjMwCi1tc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXNfcmVmPl0gZWRpdCBbPG9iamVjdD5dIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzozMQotbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzX3JlZj5dIHNob3cgWzxvYmplY3Q+XSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MzIKIG1zZ2lkICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXNfcmVmPl0gbWVyZ2UgWy12IHwgLXFdIFstcyA8c3RyYXRlZ3k+IF0gPG5vdGVzX3JlZj4iCiBtc2dzdHIgIiIKKyJnaXQgbm90ZXMgWy0tcmVmIDxyw6lmw6lyZW5jZXNfbm90ZXM+XSBtZXJnZSBbLXYgfCAtcV0gWy1zIDxzdHJhdMOpZ2llPiBdICIKKyI8csOpZsOpcmVuY2VzX25vdGVzPiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjMxCittc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFstdiB8IC1xXSIKK21zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFstdiB8IC1xXSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjMyCittc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWy12IHwgLXFdIgorbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbLXYgfCAtcV0iCiAKICM6IGJ1aWx0aW4vbm90ZXMuYzozMwotbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbLXYgfCAtcV0iCi1tc2dzdHIgIiIKK21zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlc19yZWY+XSByZW1vdmUgWzxvYmplY3Q+Li4uXSIKK21zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA8csOpZsOpcmVuY2VzX25vdGVzPl0gcmVtb3ZlIFs8b2JqZXQ+Li4uXSIKIAogIzogYnVpbHRpbi9ub3Rlcy5jOjM0Ci1tc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWy12IHwgLXFdIgotbXNnc3RyICIiCittc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXNfcmVmPl0gcHJ1bmUgWy1uIHwgLXZdIgorbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxyw6lmw6lyZW5jZXNfbm90ZXM+XSBwcnVuZSBbLW4gfCAtdl0iCiAKICM6IGJ1aWx0aW4vbm90ZXMuYzozNQotbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzX3JlZj5dIHJlbW92ZSBbPG9iamVjdD4uLi5dIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzozNgotbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzX3JlZj5dIHBydW5lIFstbiB8IC12XSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MzcKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlc19yZWY+XSBnZXQtcmVmIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPHLDqWbDqXJlbmNlc19ub3Rlcz5dIGdldC1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQwCiBtc2dpZCAiZ2l0IG5vdGVzIFtsaXN0IFs8b2JqZWN0Pl1dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBub3RlcyBbbGlzdCBbPG9iamV0Pl1dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NQogbXNnaWQgImdpdCBub3RlcyBhZGQgWzxvcHRpb25zPl0gWzxvYmplY3Q+XSIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgbm90ZXMgYWRkIFs8b3B0aW9ucz5dIFs8b2JqZXQ+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUyCisjOiBidWlsdGluL25vdGVzLmM6NTAKIG1zZ2lkICJnaXQgbm90ZXMgY29weSBbPG9wdGlvbnM+XSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgotbXNnc3RyICIiCittc2dzdHIgImdpdCBub3RlcyBjb3B5IFs8b3B0aW9ucz5dIDxkZXB1aXMtb2JqZXQ+IDx2ZXJzLW9iamV0PiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUzCisjOiBidWlsdGluL25vdGVzLmM6NTEKIG1zZ2lkICJnaXQgbm90ZXMgY29weSAtLXN0ZGluIFs8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+XS4uLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgbm90ZXMgY29weSAtLXN0ZGluIFs8ZGVwdWlzLW9iamV0PiA8dmVycy1vYmpldD5dLi4uIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NgogbXNnaWQgImdpdCBub3RlcyBhcHBlbmQgWzxvcHRpb25zPl0gWzxvYmplY3Q+XSIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgbm90ZXMgYXBwZW5kIFs8b3B0aW9ucz5dIFs8b2JqZXQ+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjYzCisjOiBidWlsdGluL25vdGVzLmM6NjEKIG1zZ2lkICJnaXQgbm90ZXMgZWRpdCBbPG9iamVjdD5dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBub3RlcyBlZGl0IFs8b2JqZXQ+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY4CisjOiBidWlsdGluL25vdGVzLmM6NjYKIG1zZ2lkICJnaXQgbm90ZXMgc2hvdyBbPG9iamVjdD5dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBub3RlcyBzaG93IFs8b2JqZXQ+XSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcxCittc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIFs8b3B0aW9ucz5dIDxub3Rlc19yZWY+IgorbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgWzxvcHRpb25zPl0gPHLDqWbDqXJlbmNlc19ub3Rlcz4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MgorbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFs8b3B0aW9ucz5dIgogCiAjOiBidWlsdGluL25vdGVzLmM6NzMKLW1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgWzxvcHRpb25zPl0gPG5vdGVzX3JlZj4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjc0Ci1tc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFs8b3B0aW9ucz5dIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NQogbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFs8b3B0aW9ucz5dIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFs8b3B0aW9ucz5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OAogbXNnaWQgImdpdCBub3RlcyByZW1vdmUgWzxvYmplY3Q+XSIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgbm90ZXMgcmVtb3ZlIFs8b2JqZXQ+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg1CisjOiBidWlsdGluL25vdGVzLmM6ODMKIG1zZ2lkICJnaXQgbm90ZXMgcHJ1bmUgWzxvcHRpb25zPl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IG5vdGVzIHBydW5lIFs8b3B0aW9ucz5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4OAogbXNnaWQgImdpdCBub3RlcyBnZXQtcmVmIgotbXNnc3RyICIiCittc2dzdHIgImdpdCBub3RlcyBnZXQtcmVmIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTM5CisjOiBidWlsdGluL25vdGVzLmM6MTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzdGFydCAnc2hvdycgZm9yIG9iamVjdCAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgZMOpbWFycmVyICdzaG93JyBwb3VyIGwnb2JqZXQgJyVzJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE0MworIzogYnVpbHRpbi9ub3Rlcy5jOjE0MQogbXNnaWQgImNvdWxkIG5vdCByZWFkICdzaG93JyBvdXRwdXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxhIHNvcnRpZSBkZSAnc2hvdyciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZpbmlzaCAnc2hvdycgZm9yIG9iamVjdCAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgZmluaXIgJ3Nob3cnIHBvdXIgbCdvYmpldCAnJXMnIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTY5IGJ1aWx0aW4vdGFnLmM6MzQxCisjOiBidWlsdGluL25vdGVzLmM6MTY3IGJ1aWx0aW4vdGFnLmM6MzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIGZpY2hpZXIgJyVzJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE4OAorIzogYnVpbHRpbi9ub3Rlcy5jOjE4NgogbXNnaWQgIlBsZWFzZSBzdXBwbHkgdGhlIG5vdGUgY29udGVudHMgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJWZXVpbGxleiBmb3VybmlyIGxlIGNvbnRlbnUgZGUgbGEgbm90ZSBlbiB1dGlsaXNhbnQgbCdvcHRpb24gLW0gb3UgLUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDkgYnVpbHRpbi9ub3Rlcy5jOjk3MgorIzogYnVpbHRpbi9ub3Rlcy5jOjIwNyBidWlsdGluL25vdGVzLmM6ODQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIG5vdGUgZm9yIG9iamVjdCAlc1xuIgotbXNnc3RyICIiCittc2dzdHIgIlN1cHByZXNzaW9uIGRlIGxhIG5vdGUgcG91ciBsJ29iamV0ICVzXG4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMTIKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbm90ZSBvYmplY3QiCittc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGwnb2JqZXQgbm90ZSIKIAogIzogYnVpbHRpbi9ub3Rlcy5jOjIxNAotbXNnaWQgInVuYWJsZSB0byB3cml0ZSBub3RlIG9iamVjdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6MjE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBub3RlIGNvbnRlbnRzIGhhcyBiZWVuIGxlZnQgaW4gJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiTGUgY29udGVudSBkZSBsYSBub3RlIGEgw6l0w6kgbGFpc3PDqSBkYW5zICVzIgorCisjOiBidWlsdGluL25vdGVzLmM6MjQ4IGJ1aWx0aW4vdGFnLmM6NTM3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICclcyciCittc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSAnJXMnIgogCiAjOiBidWlsdGluL25vdGVzLmM6MjUwIGJ1aWx0aW4vdGFnLmM6NTQwCiAjLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjI1MiBidWlsdGluL3RhZy5jOjU0MwotIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciBvdSBsaXJlICclcyciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNzEgYnVpbHRpbi9ub3Rlcy5jOjQ0NCBidWlsdGluL25vdGVzLmM6NDQ2Ci0jOiBidWlsdGluL25vdGVzLmM6NTA2IGJ1aWx0aW4vbm90ZXMuYzo1NjAgYnVpbHRpbi9ub3Rlcy5jOjY0MwotIzogYnVpbHRpbi9ub3Rlcy5jOjY0OCBidWlsdGluL25vdGVzLmM6NzIzIGJ1aWx0aW4vbm90ZXMuYzo3NjUKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NjcgYnVpbHRpbi90YWcuYzo1NTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNjkgYnVpbHRpbi9ub3Rlcy5jOjMxNiBidWlsdGluL25vdGVzLmM6MzE4CisjOiBidWlsdGluL25vdGVzLmM6Mzc4IGJ1aWx0aW4vbm90ZXMuYzo0MzIgYnVpbHRpbi9ub3Rlcy5jOjUxNQorIzogYnVpbHRpbi9ub3Rlcy5jOjUyMCBidWlsdGluL25vdGVzLmM6NTk1IGJ1aWx0aW4vbm90ZXMuYzo2MzcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MzkgYnVpbHRpbi90YWcuYzo1NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSByw6lzb3VkcmUgJyVzJyBjb21tZSB1bmUgcsOpZsOpcmVuY2UgdmFsaWRlLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI3NAorIzogYnVpbHRpbi9ub3Rlcy5jOjI3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVhZCBvYmplY3QgJyVzJy4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIGwnb2JqZXQgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyOTgKLW1zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjMzOQotIywgYy1mb3JtYXQKLW1zZ2lkICJCYWQgbm90ZXMucmV3cml0ZU1vZGUgdmFsdWU6ICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjM0OQotIywgYy1mb3JtYXQKLW1zZ2lkICJSZWZ1c2luZyB0byByZXdyaXRlIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKLW1zZ3N0ciAiIgotCi0jLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIHRoZSBuYW1lIG9mIHRoZQotIy4gZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZSBzZWNvbmQgJXMgaXMgaXRzIHZhbHVlCi0jOiBidWlsdGluL25vdGVzLmM6Mzc2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkJhZCAlcyB2YWx1ZTogJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL25vdGVzLmM6NDQwCisjOiBidWlsdGluL25vdGVzLmM6MzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJMaWduZSBlbiBlbnRyw6llIG1hbGZvcm3DqWUgOiAnJXMnLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ1NQorIzogYnVpbHRpbi9ub3Rlcy5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNvcGllciBsZXMgbm90ZXMgZGUgJyVzJyB2ZXJzICclcyciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0OTkgYnVpbHRpbi9ub3Rlcy5jOjU1MyBidWlsdGluL25vdGVzLmM6NjI2Ci0jOiBidWlsdGluL25vdGVzLmM6NjM4IGJ1aWx0aW4vbm90ZXMuYzo3MTEgYnVpbHRpbi9ub3Rlcy5jOjc1OAotIzogYnVpbHRpbi9ub3Rlcy5jOjEwMzIKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzEgYnVpbHRpbi9ub3Rlcy5jOjQyNSBidWlsdGluL25vdGVzLmM6NDk4CisjOiBidWlsdGluL25vdGVzLmM6NTEwIGJ1aWx0aW4vbm90ZXMuYzo1ODMgYnVpbHRpbi9ub3Rlcy5jOjYzMAorIzogYnVpbHRpbi9ub3Rlcy5jOjkwNAogbXNnaWQgInRvbyBtYW55IHBhcmFtZXRlcnMiCi1tc2dzdHIgIiIKK21zZ3N0ciAidHJvcCBkZSBwYXJhbcOodHJlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUxMiBidWlsdGluL25vdGVzLmM6NzcxCisjOiBidWlsdGluL25vdGVzLmM6Mzg0IGJ1aWx0aW4vbm90ZXMuYzo2NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbm90ZSBmb3VuZCBmb3Igb2JqZWN0ICVzLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJQYXMgZGUgbm90ZSB0cm91dsOpZSBwb3VyIGwnb2JqZXQgJXMuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTM0IGJ1aWx0aW4vbm90ZXMuYzo2OTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDYgYnVpbHRpbi9ub3Rlcy5jOjU2MwogbXNnaWQgIm5vdGUgY29udGVudHMgYXMgYSBzdHJpbmciCi1tc2dzdHIgIiIKK21zZ3N0ciAiY29udGVudSBkZSBsYSBub3RlIHNvdXMgZm9ybWUgZGUgY2hhw65uZSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUzNyBidWlsdGluL25vdGVzLmM6Njk0CisjOiBidWlsdGluL25vdGVzLmM6NDA5IGJ1aWx0aW4vbm90ZXMuYzo1NjYKIG1zZ2lkICJub3RlIGNvbnRlbnRzIGluIGEgZmlsZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJjb250ZW51IGRlIGxhIG5vdGUgZGFucyB1biBmaWNoaWVyIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTM5IGJ1aWx0aW4vbm90ZXMuYzo1NDIgYnVpbHRpbi9ub3Rlcy5jOjY5NgotIzogYnVpbHRpbi9ub3Rlcy5jOjY5OSBidWlsdGluL3RhZy5jOjQ3NAorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NDE0IGJ1aWx0aW4vbm90ZXMuYzo1NjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NzEgYnVpbHRpbi90YWcuYzo0NzQKIG1zZ2lkICJvYmplY3QiCi1tc2dzdHIgIiIKK21zZ3N0ciAib2JqZXQiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NDAgYnVpbHRpbi9ub3Rlcy5jOjY5NworIzogYnVpbHRpbi9ub3Rlcy5jOjQxMiBidWlsdGluL25vdGVzLmM6NTY5CiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgotbXNnc3RyICIiCittc2dzdHIgInLDqXV0aWxpc2VyIGV0IMOpZGl0ZXIgbCdvYmpldCBkZSBub3RlIHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NDMgYnVpbHRpbi9ub3Rlcy5jOjcwMAorIzogYnVpbHRpbi9ub3Rlcy5jOjQxNSBidWlsdGluL25vdGVzLmM6NTcyCiBtc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgotbXNnc3RyICIiCittc2dzdHIgInLDqXV0aWxpc2VyIGwnb2JqZXQgZGUgbm90ZSBzcMOpY2lmacOpIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTQ1IGJ1aWx0aW4vbm90ZXMuYzo2MTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTcgYnVpbHRpbi9ub3Rlcy5jOjQ4NQogbXNnaWQgInJlcGxhY2UgZXhpc3Rpbmcgbm90ZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVtcGxhY2VyIGxlcyBub3RlcyBleGlzdGFudGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTc5CisjOiBidWlsdGluL25vdGVzLmM6NDUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgYWRkIG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgogImV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICIiCisiSW1wb3NzaWJsZSBkJ2Fqb3V0ZXIgZGVzIG5vdGVzLiBEZXMgbm90ZXMgb250IMOpdMOpIHRyb3V2w6llcyBwb3VyIGwnb2JqZXQgJXMuICIKKyJVdGlsaXNleiAnLWYnIHBvdXIgw6ljcmFzZXIgbGVzIG5vdGVzIGV4aXN0YW50ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1ODQgYnVpbHRpbi9ub3Rlcy5jOjY2MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ1NiBidWlsdGluL25vdGVzLmM6NTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk92ZXJ3cml0aW5nIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXNcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICLDiWNyYXNlbWVudCBkZXMgbm90ZXMgZXhpc3RhbnRlcyBwb3VyIGwnb2JqZXQgJXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjYxNAorIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NgogbXNnaWQgInJlYWQgb2JqZWN0cyBmcm9tIHN0ZGluIgotbXNnc3RyICIiCittc2dzdHIgImxpcmUgbGVzIG9iamV0cyBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL25vdGVzLmM6NjE2CisjOiBidWlsdGluL25vdGVzLmM6NDg4CiBtc2dpZCAibG9hZCByZXdyaXRpbmcgY29uZmlnIGZvciA8Y29tbWFuZD4gKGltcGxpZXMgLS1zdGRpbikiCiBtc2dzdHIgIiIKKyJjaGFyZ2VyIGxhIGNvbmZpZ3VyYXRpb24gZGUgcsOpw6ljcml0dXJlIHBvdXIgPGNvbW1hbmRlPiAoaW1wbGlxdWUgLS1zdGRpbikiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MDYKIG1zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCi1tc2dzdHIgIiIKK21zZ3N0ciAicGFzIGFzc2V6IGRlIHBhcmFtw6h0cmVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NjU1CisjOiBidWlsdGluL25vdGVzLmM6NTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgY29weSBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKICJleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAiIgorIkltcG9zc2libGUgZGUgY29waWVyIGRlcyBub3Rlcy4gRGVzIG5vdGVzIG9udCDDqXTDqSB0cm91dsOpZXMgcG91ciBsJ29iamV0ICVzLiAiCisiVXRpbGlzZXogJy1mJyBwb3VyIMOpY3Jhc2VyIGxlcyBub3RlcyBleGlzdGFudGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NjY3CisjOiBidWlsdGluL25vdGVzLmM6NTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1pc3Npbmcgbm90ZXMgb24gc291cmNlIG9iamVjdCAlcy4gQ2Fubm90IGNvcHkuIgotbXNnc3RyICIiCittc2dzdHIgIk5vdGVzIG1hbnF1YW50ZXMgc3VyIGwnb2JqZXQgc291cmNlICVzLiBJbXBvc3NpYmxlIGRlIGNvcGllci4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCiAiUGxlYXNlIHVzZSAnZ2l0IG5vdGVzIGFkZCAtZiAtbS8tRi8tYy8tQycgaW5zdGVhZC5cbiIKIG1zZ3N0ciAiIgorIkxlcyBvcHRpb25zIC1tLy1GLy1jLy1DIHNvbnQgb2Jzb2zDqHRlcyBwb3VyIGxhIHNvdXMtY29tbWFuZGUgJ2VkaXQnLlxuIgorIlZldWlsbGV6IHV0aWxpc2VyICdnaXQgbm90ZXMgYWRkIC1mIC1tLy1GLy1jLy1DJyDDoCBsYSBwbGFjZS5cbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg2MworIzogYnVpbHRpbi9ub3Rlcy5jOjczNQogbXNnaWQgIkdlbmVyYWwgb3B0aW9ucyIKLW1zZ3N0ciAiIgorbXNnc3RyICJPcHRpb25zIGfDqW7DqXJhbGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODY1CisjOiBidWlsdGluL25vdGVzLmM6NzM3CiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKLW1zZ3N0ciAiIgorbXNnc3RyICJPcHRpb25zIGRlIGZ1c2lvbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg2NworIzogYnVpbHRpbi9ub3Rlcy5jOjczOQogbXNnaWQgIiIKICJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi8iCiAiY2F0X3NvcnRfdW5pcSkiCiBtc2dzdHIgIiIKKyJyw6lzb3VkcmUgbGVzIGNvbmZsaXRzIGRlIG5vdGVzIGVuIHV0aWxpc2FudCBsYSBzdHJhdMOpZ2llIGRvbm7DqWUgKG1hbnVhbC9vdXJzLyIKKyJ0aGVpcnMvdW5pb24vY2F0X3NvcnRfdW5pcSkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NjkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NDEKIG1zZ2lkICJDb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgotbXNnc3RyICIiCittc2dzdHIgIlZhbGlkYXRpb24gZGVzIG5vdGVzIG5vbiBmdXNpb25uw6llcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjc0MwogbXNnaWQgImZpbmFsaXplIG5vdGVzIG1lcmdlIGJ5IGNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZmluYWxpc2VyIGxhIGZ1c2lvbiBkZSBub3RlcyBlbiB2YWxpZGFudCBsZXMgbm90ZXMgbm9uIGZ1c2lvbm7DqWVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODczCisjOiBidWlsdGluL25vdGVzLmM6NzQ1CiBtc2dpZCAiQWJvcnRpbmcgbm90ZXMgbWVyZ2UgcmVzb2x1dGlvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJBYmFuZG9uIGRlIGxhIHLDqXNvbHV0aW9uIGRlIGZ1c2lvbiBkZXMgbm90ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NzUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NDcKIG1zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJhYmFuZG9ubmVyIGxhIGZ1c2lvbiBkZSBub3RlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk3MAorIzogYnVpbHRpbi9ub3Rlcy5jOjg0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJPYmplY3QgJXMgaGFzIG5vIG5vdGVcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJMJ29iamV0ICVzIG4nYSBwYXMgZGUgbm90ZVxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTgyCisjOiBidWlsdGluL25vdGVzLmM6ODU0CiBtc2dpZCAiYXR0ZW1wdCB0byByZW1vdmUgbm9uLWV4aXN0ZW50IG5vdGUgaXMgbm90IGFuIGVycm9yIgogbXNnc3RyICIiCisibGEgdGVudGF0aXZlIGRlIHN1cHByZXNzaW9uIGQndW5lIG5vdGUgbm9uIGV4aXN0YW50ZSBuJ2VzdCBwYXMgdW5lIGVycmV1ciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk4NQorIzogYnVpbHRpbi9ub3Rlcy5jOjg1NwogbXNnaWQgInJlYWQgb2JqZWN0IG5hbWVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgotbXNnc3RyICIiCittc2dzdHIgImxpcmUgbGVzIG5vbXMgZCdvYmpldCBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTA2NgorIzogYnVpbHRpbi9ub3Rlcy5jOjkzOAogbXNnaWQgIm5vdGVzX3JlZiIKLW1zZ3N0ciAiIgorbXNnc3RyICJyw6lmw6lyZW5jZXNfbm90ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxMDY3CisjOiBidWlsdGluL25vdGVzLmM6OTM5CiBtc2dpZCAidXNlIG5vdGVzIGZyb20gPG5vdGVzX3JlZj4iCi1tc2dzdHIgIiIKK21zZ3N0ciAidXRpbGlzZXIgbGVzIG5vdGVzIGRlcHVpcyA8csOpZsOpcmVuY2VzX25vdGVzPiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjExMDIgYnVpbHRpbi9yZW1vdGUuYzoxNTk4CisjOiBidWlsdGluL25vdGVzLmM6OTc0IGJ1aWx0aW4vcmVtb3RlLmM6MTU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgotbXNnc3RyICIiCittc2dzdHIgIlNvdXMtY29tbWFuZGUgaW5jb25udWUgOiAlcyIKIAogIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMwogbXNnaWQgImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgW29wdGlvbnMuLi5dIFs8IHJlZi1saXN0IHwgPCBvYmplY3QtbGlzdF0iCiBtc2dzdHIgIiIKKyJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFtvcHRpb25zLi4uXSBbPCBsaXN0ZS1yw6lmw6lyZW5jZXMgfCA8IGxpc3RlLW9iamV0c10iCiAKICM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQKIG1zZ2lkICJnaXQgcGFjay1vYmplY3RzIFtvcHRpb25zLi4uXSBiYXNlLW5hbWUgWzwgcmVmLWxpc3QgfCA8IG9iamVjdC1saXN0XSIKIG1zZ3N0ciAiIgorImdpdCBwYWNrLW9iamVjdHMgW29wdGlvbnMuLi5dIGJhc2UtbmFtZSBbPCBsaXN0ZS1yw6lmw6lyZW5jZXMgfCA8IGxpc3RlLW9iamV0c10iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTgzIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWZsYXRlIGVycm9yICglZCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZXJyZXVyIGRlIGNvbXByZXNzaW9uICglZCkiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjM5NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAidmVyc2lvbiBkJ2luZGV4IG5vbiBzdXBwb3J0w6llICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgIm1hdXZhaXNlIHZlcnNpb24gZCdpbmRleCAnJXMnIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJvcHRpb24gJXMgZG9lcyBub3QgYWNjZXB0IG5lZ2F0aXZlIGZvcm0iCi1tc2dzdHIgIiIKK21zZ3N0ciAibCdvcHRpb24gJXMgbidhY2NlcHRlIHBhcyBkZSB2YWxldXIgbsOpZ2F0aXZlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgdmFsdWUgJyVzJyBmb3Igb3B0aW9uICVzIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsYSB2YWxldXIgJyVzJyBwb3VyIGwnb3B0aW9uICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0OAogbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgotbXNnc3RyICIiCittc2dzdHIgIm5lIHBhcyBhZmZpY2hlciBsYSBiYXJyZSBkZSBwcm9ncmVzc2lvbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQ5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTAKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgotbXNnc3RyICIiCittc2dzdHIgImFmZmljaGVyIGxhIGJhcnJlIGRlIHByb2dyZXNzaW9uIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1MgogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NAotbXNnaWQgInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsYSBiYXJyZSBkZSBwcm9ncmVzc2lvbiBkdXJhbnQgbGEgcGhhc2UgZCfDqWNyaXRlIGRlcyBvYmpldHMiCiAKICM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NQotbXNnaWQgInZlcnNpb25bLG9mZnNldF0iCi1tc2dzdHIgIiIKK21zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCittc2dzdHIgInNpbWlsYWlyZSDDoCAtLWFsbC1wcm9ncmVzcyBxdWFuZCBsYSBiYXJyZSBkZSBwcm9ncmVzc2lvbiBlc3QgYWZmaWNow6llIgogCiAjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTYKK21zZ2lkICJ2ZXJzaW9uWyxvZmZzZXRdIgorbXNnc3RyICJ2ZXJzaW9uWyxvZmZzZXRdIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTcKIG1zZ2lkICJ3cml0ZSB0aGUgcGFjayBpbmRleCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgaWR4IGZvcm1hdCB2ZXJzaW9uIgogbXNnc3RyICIiCisiw6ljcmlyZSBsZSBmaWNoaWVyIGQnaW5kZXggZHUgcGFxdWV0IGRhbnMgbGUgZm9ybWF0IGQnaW5kZXggZGUgdmVyc2lvbiAiCisic3DDqWNpZmnDqSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjAKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBvdXRwdXQgcGFjayBmaWxlIgotbXNnc3RyICIiCittc2dzdHIgInRhaWxsZSBtYXhpbXVtIGRlIGNoYXF1ZSBmaWNoaWVyIHBhcXVldCBlbiBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYyCiBtc2dpZCAiaWdub3JlIGJvcnJvd2VkIG9iamVjdHMgZnJvbSBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlIgotbXNnc3RyICIiCittc2dzdHIgImlnbm9yZXIgbGVzIG9iamV0cyBlbXBydW50w6lzIMOgIHVuIGF1dHJlIG1hZ2FzaW4gZCdvYmpldHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY0CiBtc2dpZCAiaWdub3JlIHBhY2tlZCBvYmplY3RzIgotbXNnc3RyICIiCittc2dzdHIgImlnbm9yZXIgbGVzIG9iamV0cyBlbXBhcXVldMOpcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjYKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBvYmplY3RzIgotbXNnc3RyICIiCittc2dzdHIgImxpbWl0ZXIgbGEgZmVuw6p0cmUgZCdlbXBhcXVldGFnZSBwYXIgb2JqZXRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2OAogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgIiIKKyJsaW1pdGVyIGxhIGZlbsOqdHJlIGQnZW1wYXF1ZXRhZ2UgcGFyIG3DqW1vaXJlIGVuIHBsdXMgZGUgbGEgbGltaXRlIGQnb2JqZXRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MAogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICIiCisibG9uZ3VldXIgbWF4aW11bSBkZSBsYSBjaGHDrm5lIGRlIGRlbHRhIGF1dG9yaXPDqWUgZGFucyBsZSBwYXF1ZXQgcsOpc3VsdGFudCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDcxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzIKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBkZWx0YXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAicsOpdXRpbGlzZXIgbGVzIGRlbHRhcyBleGlzdGFudHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc0CiBtc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKLW1zZ3N0ciAiIgorbXNnc3RyICJyw6l1dGlsaXNlciBsZXMgb2JqZXRzIGV4aXN0YW50cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzYKIG1zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAidXRpbGlzZXIgbGVzIG9iamV0cyBPRlNfREVMVEEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc4CiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAiIgorInV0aWxpc2VyIGRlcyBmaWxzIGxvcnMgZGUgbGEgcmVjaGVyY2hlIHBvdXIgdW5lIG1laWxsZXVycyBjb3JyZXNwb25kYW5jZSBkZXMgIgorImRlbHRhcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODAKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgotbXNnc3RyICIiCittc2dzdHIgIm5lIHBhcyBjcsOpZXIgdW4gcGFxdWV0IHZpZGUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgyCiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKLW1zZ3N0ciAiIgorbXNnc3RyICJsaXJlIGxlcyBwYXJhbcOodHJlcyBkZSByw6l2aXNpb24gZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODQKIG1zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJsaW1pdGVyIGxlcyBvYmpldHMgw6AgY2V1eCBxdWkgbmUgc29udCBwYXMgZW5jb3JlIGVtcGFxdWV0w6lzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4NwogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgotbXNnc3RyICIiCittc2dzdHIgImluY2x1cmUgbGVzIG9iamV0cyBhY2Nlc3NpYmxlcyBkZXB1aXMgdG91dGUgcsOpZsOpcmVuY2UiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDkwCiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIGJ5IHJlZmxvZyBlbnRyaWVzIgotbXNnc3RyICIiCittc2dzdHIgImluY2x1cmUgbGVzIG9iamV0cyByw6lmw6lyZW5jw6lzIHBhciBsZXMgw6lsw6ltZW50cyBkZSByZWZsb2ciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDkzCiBtc2dpZCAib3V0cHV0IHBhY2sgdG8gc3Rkb3V0IgotbXNnc3RyICIiCittc2dzdHIgImFmZmljaGVyIGwnZW1wYXF1ZXRhZ2Ugc3VyIGxhIHNvcnRpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTUKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW5jbHVyZSBsZXMgb2JqZXRzIGQnw6l0aXF1ZXR0ZXMgcXVpIHLDqWbDqHJlbnQgw6AgZGVzIG9iamV0cyDDoCBlbXBhcXVldGVyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NwogbXNnaWQgImtlZXAgdW5yZWFjaGFibGUgb2JqZWN0cyIKLW1zZ3N0ciAiIgorbXNnc3RyICJnYXJkZXIgbGVzIG9iamV0cyBpbmFjY2Vzc2libGVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTcgcGFyc2Utb3B0aW9ucy5oOjE0MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk4IHBhcnNlLW9wdGlvbnMuaDoxNDMKIG1zZ2lkICJ0aW1lIgotbXNnc3RyICIiCittc2dzdHIgImhldXJlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5OQogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgotbXNnc3RyICIiCittc2dzdHIgImTDqXBhcXVldGVyIGxlcyBvYmpldHMgaW5hY2Nlc3NpYmxlcyBwbHVzIHLDqWNlbnRzIHF1ZSA8aGV1cmU+IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwMgogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgotbXNnc3RyICIiCittc2dzdHIgImNyw6llciBkZXMgcGFxdWV0cyBsw6lnZXJzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNAogbXNnaWQgImlnbm9yZSBwYWNrcyB0aGF0IGhhdmUgY29tcGFuaW9uIC5rZWVwIGZpbGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaWdub3JlciBsZXMgcGFxdWV0cyBxdWkgb250IHVuIGZpY2hpZXIgLmtlZXAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA2CiBtc2dpZCAicGFjayBjb21wcmVzc2lvbiBsZXZlbCIKLW1zZ3N0ciAiIgorbXNnc3RyICJuaXZlYXUgZGUgY29tcHJlc3Npb24gZHUgcGFxdWV0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwOAogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgotbXNnc3RyICIiCittc2dzdHIgIm5lIHBhcyBjYWNoZXIgbGVzIHZhbGlkYXRpb25zIHBhciBncmVmZmVzIgogCiAjOiBidWlsdGluL3BhY2stcmVmcy5jOjYKIG1zZ2lkICJnaXQgcGFjay1yZWZzIFtvcHRpb25zXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgcGFjay1yZWZzIFtvcHRpb25zXSIKIAogIzogYnVpbHRpbi9wYWNrLXJlZnMuYzoxNAogbXNnaWQgInBhY2sgZXZlcnl0aGluZyIKLW1zZ3N0ciAiIgorbXNnc3RyICJlbXBhcXVldGVyIHRvdXQiCiAKICM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTUKIG1zZ2lkICJwcnVuZSBsb29zZSByZWZzIChkZWZhdWx0KSIKLW1zZ3N0ciAiIgorbXNnc3RyICLDqWxpbWluZXIgbGVzIHLDqWbDqXJlbmNlcyBwZXJkdWVzIChkw6lmYXV0KSIKIAogIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3CiBtc2dpZCAiZ2l0IHBydW5lLXBhY2tlZCBbLW58LS1kcnktcnVuXSBbLXF8LS1xdWlldF0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZ2l0IHBydW5lLXBhY2tlZCBbLW58LS1kcnktcnVuXSBbLXF8LS1xdWlldF0iCiAKICM6IGJ1aWx0aW4vcHJ1bmUuYzoxMgogbXNnaWQgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tZXhwaXJlIDx0aW1lPl0gWy0tXSBbPGhlYWQ+Li4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgcHJ1bmUgWy1uXSBbLXZdIFstLWV4cGlyZSA8aGV1cmU+XSBbLS1dIFs8aGVhZD4uLi5dIgogCiAjOiBidWlsdGluL3BydW5lLmM6MTMyCiBtc2dpZCAiZG8gbm90IHJlbW92ZSwgc2hvdyBvbmx5IgotbXNnc3RyICIiCittc2dzdHIgIm5lIHBhcyBzdXBwcmltZXIsIGFmZmljaGVyIHNldWxlbWVudCIKIAogIzogYnVpbHRpbi9wcnVuZS5jOjEzMwogbXNnaWQgInJlcG9ydCBwcnVuZWQgb2JqZWN0cyIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZmZpY2hlciBsZXMgb2JqZXRzIMOpbGltaW7DqXMiCiAKICM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzYKIG1zZ2lkICJleHBpcmUgb2JqZWN0cyBvbGRlciB0aGFuIDx0aW1lPiIKLW1zZ3N0ciAiIgorbXNnc3RyICJmYWlyZSBleHBpcmVyIGxlcyBvYmpldHMgcGx1cyB2aWV1eCBxdWUgPGhldXJlPiIKIAogIzogYnVpbHRpbi9wdXNoLmM6MTQKIG1zZ2lkICJnaXQgcHVzaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJnaXQgcHVzaCBbPG9wdGlvbnM+XSBbPGTDqXDDtHQ+IFs8c3DDqWNpZmljYXRpb24tZGUtcsOpZsOpcmVuY2U+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1CisjOiBidWlsdGluL3B1c2guYzo0NwogbXNnaWQgInRhZyBzaG9ydGhhbmQgd2l0aG91dCA8dGFnPiIKLW1zZ3N0ciAiIgorbXNnc3RyICJyYWNjb3VyY2kgZCfDqXRpcXVldHRlIHNhbnMgPMOpdGlxdWV0dGU+IgogCi0jOiBidWlsdGluL3B1c2guYzo2NAorIzogYnVpbHRpbi9wdXNoLmM6NjYKIG1zZ2lkICItLWRlbGV0ZSBvbmx5IGFjY2VwdHMgcGxhaW4gdGFyZ2V0IHJlZiBuYW1lcyIKLW1zZ3N0ciAiIgorbXNnc3RyICItLWRlbGV0ZSBhY2NlcHRlIHNldWxlbWVudCBkZXMgbm9tcyBlbnRpZXJzIGRlIHLDqWbDqXJlbmNlcyBjaWJsZXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjk5CisjOiBidWlsdGluL3B1c2guYzoxMDEKIG1zZ2lkICIiCiAiXG4iCiAiVG8gY2hvb3NlIGVpdGhlciBvcHRpb24gcGVybWFuZW50bHksIHNlZSBwdXNoLmRlZmF1bHQgaW4gJ2dpdCBoZWxwIGNvbmZpZycuIgogbXNnc3RyICIiCisiXG4iCisiUG91ciBjaG9pc2lyIGwnb3B0aW9uIGRlIG1hbmnDqHJlIHBlcm1hbmVudGUsIHZvaXIgcHVzaC5kZWZhdWx0IGRhbnMgJ2dpdCAiCisiaGVscCBjb25maWcnLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTAyCisjOiBidWlsdGluL3B1c2guYzoxMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSB1cHN0cmVhbSBicmFuY2ggb2YgeW91ciBjdXJyZW50IGJyYW5jaCBkb2VzIG5vdCBtYXRjaFxuIgpAQCAtNzE2MCw4ICs3ODczLDE4IEBACiAiICAgIGdpdCBwdXNoICVzICVzXG4iCiAiJXMiCiBtc2dzdHIgIiIKKyJMYSBicmFuY2hlIGFtb250IGRlIHZvdHJlIGJyYW5jaGUgY291cmFudGUgbmUgY29ycmVzcG9uZCBwYXNcbiIKKyJhdSBub20gZGUgdm90cmUgYnJhbmNoZSBjb3VyYW50ZS4gIFBvdXIgcG91c3NlciB2ZXJzIGxhIGJyYW5jaGUgYW1vbnRcbiIKKyJzdXIgbGUgc2VydmV1ciBkaXN0YW50LCB1dGlsaXNlelxuIgorIlxuIgorIiAgICBnaXQgcHVzaCAlcyBIRUFEOiVzXG4iCisiXG4iCisiUG91ciBwb3Vzc2VyIHZlcnMgbGEgYnJhbmNoZSBkdSBtw6ptZSBub20gc3VyIGxlIHNlcnZldXIgZGlzdGFudCwgdXRpbGlzZXpcbiIKKyJcbiIKKyIgICAgZ2l0IHB1c2ggJXMgJXNcbiIKKyIlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTIxCisjOiBidWlsdGluL3B1c2guYzoxMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC5cbiIKQEAgLTcxNzAsOCArNzg5MywxMyBAQAogIlxuIgogIiAgICBnaXQgcHVzaCAlcyBIRUFEOjxuYW1lLW9mLXJlbW90ZS1icmFuY2g+XG4iCiBtc2dzdHIgIiIKKyJWb3VzIG4nw6p0ZXMgYWN0dWVsbGVtZW50IHN1ciBhdWN1bmUgYnJhbmNoZS5cbiIKKyJQb3VyIHBvdXNzZXIgbCdoaXN0b3JpcXVlIG1lbmFudCDDoCBsJ8OpdGF0IGFjdHVlbCAoSEVBRCBkw6l0YWNow6llKSxcbiIKKyJ1dGlsaXNlelxuIgorIlxuIgorIiAgICBnaXQgcHVzaCAlcyBIRUFEOjxub20tZGUtbGEtYnJhbmNoZS1hbW9udD5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTI4CisjOiBidWlsdGluL3B1c2guYzoxMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbm8gdXBzdHJlYW0gYnJhbmNoLlxuIgpAQCAtNzE3OSwyMSArNzkwNywzMCBAQAogIlxuIgogIiAgICBnaXQgcHVzaCAtLXNldC11cHN0cmVhbSAlcyAlc1xuIgogbXNnc3RyICIiCisiTGEgYnJhbmNoZSBjb3VyYW50ZSAlcyBuJ2EgcGFzIGRlIGJyYW5jaGUgYW1vbnQuXG4iCisiUG91ciBwb3Vzc2VyIGxhIGJyYW5jaGUgY291cmFudGUgZXQgZMOpZmluaXIgbGEgZGlzdGFudGUgY29tbWUgYW1vbnQsICIKKyJ1dGlsaXNlelxuIgorIlxuIgorIiAgICBnaXQgcHVzaCAtLXNldC11cHN0cmVhbSAlcyAlc1xuIgogCi0jOiBidWlsdGluL3B1c2guYzoxMzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG11bHRpcGxlIHVwc3RyZWFtIGJyYW5jaGVzLCByZWZ1c2luZyB0byBwdXNoLiIKIG1zZ3N0ciAiIgorIkxhIGJyYW5jaGUgY291cmFudGUgJXMgYSBkZSBtdWx0aXBsZXMgYnJhbmNoZXMgYW1vbnQsIGltcG9zc2libGUgZGUgcG91c3Nlci4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEzOQorIzogYnVpbHRpbi9wdXNoLmM6MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIHB1c2hpbmcgdG8gcmVtb3RlICclcycsIHdoaWNoIGlzIG5vdCB0aGUgdXBzdHJlYW0gb2ZcbiIKICJ5b3VyIGN1cnJlbnQgYnJhbmNoICclcycsIHdpdGhvdXQgdGVsbGluZyBtZSB3aGF0IHRvIHB1c2hcbiIKICJ0byB1cGRhdGUgd2hpY2ggcmVtb3RlIGJyYW5jaC4iCiBtc2dzdHIgIiIKKyJWb3VzIMOqdGVzIGVuIHRyYWluIGRlIHBvdXNzZXIgdmVycyBsYSBicmFuY2hlIGRpc3RhbnRlICclcycsIHF1aSBuJ2VzdFxuIgorInBhcyB1bmUgYnJhbmNoZSBhbW9udCBkZSB2b3RyZSBicmFuY2hlIGNvdXJhbnRlICclcycsIHNhbnMgbWUgZGlyZVxuIgorInF1b2kgcG91c3NlciBwb3VyIG1ldHRyZSDDoCBqb3VyIHF1ZWxsZSBicmFuY2hlIGFtb250LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTUxCisjOiBidWlsdGluL3B1c2guYzoxNjcKIG1zZ2lkICIiCiAicHVzaC5kZWZhdWx0IGlzIHVuc2V0OyBpdHMgaW1wbGljaXQgdmFsdWUgaXMgY2hhbmdpbmcgaW5cbiIKICJHaXQgMi4wIGZyb20gJ21hdGNoaW5nJyB0byAnc2ltcGxlJy4gVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2VcbiIKQEAgLTcyMTAsNzIgKzc5NDcsMTI4IEBACiAiKHRoZSAnc2ltcGxlJyBtb2RlIHdhcyBpbnRyb2R1Y2VkIGluIEdpdCAxLjcuMTEuIFVzZSB0aGUgc2ltaWxhciBtb2RlXG4iCiAiJ2N1cnJlbnQnIGluc3RlYWQgb2YgJ3NpbXBsZScgaWYgeW91IHNvbWV0aW1lcyB1c2Ugb2xkZXIgdmVyc2lvbnMgb2YgR2l0KSIKIG1zZ3N0ciAiIgorInB1c2guZGVmYXVsdCBuJ2VzdCBwYXMgZMOpZmluaSA7IHNhIHZhbGV1ciBpbXBsaWNpdGUgY2hhbmdlIGRhbnMgR2l0IDIuMFxuIgorImRlICdtYXRjaGluZycgdmVycyAnc2ltcGxlJy4gUG91ciBzdXBwcmltZXIgY2UgbWVzc2FnZSBldCBtYWludGVuaXJcbiIKKyJsZSBjb21wb3J0ZW1lbnQgYWN0dWVsIGFwcsOocyBsZXMgY2hhbmdlbWVudHMgcGFyIGTDqWZhdXQsIHV0aWxpc2V6IDpcbiIKKyJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgcHVzaC5kZWZhdWx0IG1hdGNoaW5nXG4iCisiXG4iCisiUG91ciBzdXBwcmltZXIgY2UgbWVzc2FnZSBldCBhZG9wdGVyIGxlIG5vdXZlYXUgY29tcG9ydGVtZW50IG1haW50ZW5hbnQsICIKKyJ1dGlsaXNleiA6XG4iCisiXG4iCisiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHB1c2guZGVmYXVsdCBzaW1wbGVcbiIKKyJcbiIKKyJWb2lyICdnaXQgaGVscCBjb25maWcnIGV0IGNoZXJjaGVyICdwdXNoLmRlZmF1bHQnIHBvdXIgcGx1cyBkJ2luZm9ybWF0aW9uLlxuIgorIihsZSBtb2RlICdzaW1wbGUnIGEgw6l0w6kgaW50cm9kdWl0IGRhbnMgR2l0IDEuNy4xMS4gVXRpbGlzZXogbGUgbW9kZSAiCisic2ltaWxhaXJlXG4iCisiJ2N1cnJlbnQnIGF1IGxpZXUgZGUgJ3NpbXBsZScgc2kgdm91cyB1dGlsaXNleiBkZSB0ZW1wcyBlbiB0ZW1wcyBkJ2FuY2llbm5lcyAiCisidmVyc2lvbnMgZGUgR2l0KSIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTk5CisjOiBidWlsdGluL3B1c2guYzoyMjcKIG1zZ2lkICIiCiAiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKIG1zZ3N0ciAiIgorIlZvdXMgbidhdmV6IHBhcyBzcMOpY2lmacOpIGRlIHNww6ljaWZpY2F0aW9ucyBkZSByw6lmw6lyZW5jZSDDoCBwb3Vzc2VyLCBldCBwdXNoLiIKKyJkZWZhdWx0IGVzdCBcIm5vdGhpbmdcIi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIwNgorIzogYnVpbHRpbi9wdXNoLmM6MjM0CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0aXAgb2YgeW91ciBjdXJyZW50IGJyYW5jaCBpcyBiZWhpbmRcbiIKLSJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBNZXJnZSB0aGUgcmVtb3RlIGNoYW5nZXMgKGUuZy4gJ2dpdCBwdWxsJylcbiIKLSJiZWZvcmUgcHVzaGluZyBhZ2Fpbi5cbiIKKyJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBJbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzIChlLmcuXG4iCisiJ2dpdCBwdWxsIC4uLicpIGJlZm9yZSBwdXNoaW5nIGFnYWluLlxuIgogIlNlZSB0aGUgJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCcgZm9yIGRldGFpbHMuIgogbXNnc3RyICIiCisiTGVzIG1pc2VzIMOgIGpvdXIgb250IMOpdMOpIHJlamV0w6llcyBjYXIgbGEgcG9pbnRlIGRlIGxhIGJyYW5jaGUgY291cmFudGUgZXN0ICIKKyJkZXJyacOocmVcbiIKKyJzb24gaG9tb2xvZ3VlIGRpc3RhbnQuIEludMOpZ3JleiBsZXMgY2hhbmdlbWVudHMgZGlzdGFudHMgKHBhciBleGVtcGxlICdnaXQgIgorInB1bGwgLi4uJylcbiIKKyJhdmFudCBkZSBwb3Vzc2VyIMOgIG5vdXZlYXUuXG4iCisiVm9pciBsYSAnTm90ZSDDoCBwcm9wb3MgZGVzIGF2YW5jZXMgcmFwaWRlcycgZGFucyAnZ2l0IHB1c2ggLS1oZWxwJyBwb3VyIHBsdXMgIgorImQnaW5mb3JtYXRpb24uIgogCi0jOiBidWlsdGluL3B1c2guYzoyMTIKKyM6IGJ1aWx0aW4vcHVzaC5jOjI0MAogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIElmIHlvdSBkaWQgbm90IGludGVuZCB0byBwdXNoIHRoYXQgYnJhbmNoLCB5b3UgbWF5IHdhbnQgdG9cbiIKICJzcGVjaWZ5IGJyYW5jaGVzIHRvIHB1c2ggb3Igc2V0IHRoZSAncHVzaC5kZWZhdWx0JyBjb25maWd1cmF0aW9uIHZhcmlhYmxlXG4iCiAidG8gJ3NpbXBsZScsICdjdXJyZW50JyBvciAndXBzdHJlYW0nIHRvIHB1c2ggb25seSB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICIiCisiTGVzIG1pc2VzIMOgIGpvdXIgb250IMOpdMOpIHJlamV0w6llcyBjYXIgbGEgcG9pbnRlIGRlIGxhIGJyYW5jaGUgcG91c3PDqWUgZXN0ICIKKyJkZXJyacOocmVcbiIKKyJzb24gaG9tb2xvZ3VlIGRpc3RhbnQuIFNpIHZvdXMgbmUgdm91bGlleiBwYXMgcG91c3NlciBjZXR0ZSBicmFuY2hlLCB2b3VzICIKKyJwb3VycmllelxuIgorInZvdWxvaXIgc3DDqWNpZmllciBsZXMgYnJhbmNoZXMgw6AgcG91c3NlciBvdSBkw6lmaW5pciBsYSB2YXJpYWJsZSBkZSAiCisiY29uZmlndXJhdGlvblxuIgorIidwdXNoLmRlZmF1bHQnIMOgICdzaW1wbGUnLCAnY3VycmVudCcgb3UgJ3Vwc3RyZWFtJyBwb3VyIHBvdXNzZXIgc2V1bGVtZW50IGxhICIKKyJicmFuY2hlIGNvdXJhbnRlLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjE4CisjOiBidWlsdGluL3B1c2guYzoyNDYKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgotImNvdW50ZXJwYXJ0LiBDaGVjayBvdXQgdGhpcyBicmFuY2ggYW5kIG1lcmdlIHRoZSByZW1vdGUgY2hhbmdlc1xuIgotIihlLmcuICdnaXQgcHVsbCcpIGJlZm9yZSBwdXNoaW5nIGFnYWluLlxuIgorImNvdW50ZXJwYXJ0LiBDaGVjayBvdXQgdGhpcyBicmFuY2ggYW5kIGludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXNcbiIKKyIoZS5nLiAnZ2l0IHB1bGwgLi4uJykgYmVmb3JlIHB1c2hpbmcgYWdhaW4uXG4iCiAiU2VlIHRoZSAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJyBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIiIKKyJMZXMgbWlzZXMgw6Agam91ciBvbnQgw6l0w6kgcmVqZXTDqWVzIGNhciBsYSBwb2ludGUgZGUgbGEgYnJhbmNoZSBjb3VyYW50ZSBlc3QgIgorImRlcnJpw6hyZVxuIgorInNvbiBob21vbG9ndWUgZGlzdGFudC4gRXh0cmF5ZXogY2V0dGUgYnJhbmNoZSBldCBJbnTDqWdyZXogbGVzIGNoYW5nZW1lbnRzICIKKyJkaXN0YW50c1xuIgorIihwYXIgZXhlbXBsZSAnZ2l0IHB1bGwgLi4uJykgYXZhbnQgZGUgcG91c3NlciDDoCBub3V2ZWF1LlxuIgorIlZvaXIgbGEgJ05vdGUgw6AgcHJvcG9zIGRlcyBhdmFuY2VzIHJhcGlkZXMnIGRhbnMgJ2dpdCBwdXNoIC0taGVscCcgcG91ciBwbHVzICIKKyJkJ2luZm9ybWF0aW9uLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjI0CisjOiBidWlsdGluL3B1c2guYzoyNTIKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHJlbW90ZSBjb250YWlucyB3b3JrIHRoYXQgeW91IGRvXG4iCiAibm90IGhhdmUgbG9jYWxseS4gVGhpcyBpcyB1c3VhbGx5IGNhdXNlZCBieSBhbm90aGVyIHJlcG9zaXRvcnkgcHVzaGluZ1xuIgotInRvIHRoZSBzYW1lIHJlZi4gWW91IG1heSB3YW50IHRvIGZpcnN0IG1lcmdlIHRoZSByZW1vdGUgY2hhbmdlcyAoZS5nLixcbiIKLSInZ2l0IHB1bGwnKSBiZWZvcmUgcHVzaGluZyBhZ2Fpbi5cbiIKKyJ0byB0aGUgc2FtZSByZWYuIFlvdSBtYXkgd2FudCB0byBmaXJzdCBpbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzXG4iCisiKGUuZy4sICdnaXQgcHVsbCAuLi4nKSBiZWZvcmUgcHVzaGluZyBhZ2Fpbi5cbiIKICJTZWUgdGhlICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGluICdnaXQgcHVzaCAtLWhlbHAnIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAiIgorIkxlcyBtaXNlcyDDoCBqb3VyIG9udCDDqXTDqSByZWpldMOpZXMgY2FyIGxhIGJyYW5jaGUgZGlzdGFudGUgY29udGllbnQgZHUgIgorInRyYXZhaWwgcXVlXG4iCisidm91cyBuJ2F2ZXogcGFzIGVuIGxvY2FsLiBDZWNpIGVzdCBnw6luw6lyYWxlbWVudCBjYXVzw6kgcGFyIHVuIGF1dHJlIGTDqXDDtHQgIgorInBvdXNzw6lcbiIKKyJ2ZXJzIGxhIG3Dqm1lIHLDqWbDqXJlbmNlLiBWb3VzIHBvdXJyaWV6IGludMOpZ3JlciBkJ2Fib3JkIGxlcyBjaGFuZ2VtZW50cyAiCisiZGlzdGFudHNcbiIKKyIocGFyIGV4ZW1wbGUgJ2dpdCBwdWxsIC4uLicpIGF2YW50IGRlIHBvdXNzZXIgw6Agbm91dmVhdS5cbiIKKyJWb2lyIGxhICdOb3RlIMOgIHByb3BvcyBkZXMgYXZhbmNlcyByYXBpZGVzJyBkYW5zICdnaXQgcHVzaCAtLWhlbHAnIHBvdXIgcGx1cyAiCisiZCdpbmZvcm1hdGlvbi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIzMQorIzogYnVpbHRpbi9wdXNoLmM6MjU5CiBtc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKIG1zZ3N0ciAiIgorIkxlcyBtaXNlcyDDoCBqb3VyIG9udCDDqXTDqSByZWpldMOpZXMgY2FyIGwnw6l0aXF1ZXR0ZSBleGlzdGUgZMOpasOgIGRhbnMgbGEgIgorImJyYW5jaGUgZGlzdGFudGUuIgogCi0jOiBidWlsdGluL3B1c2guYzoyMzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjI2MgogbXNnaWQgIiIKICJZb3UgY2Fubm90IHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBwb2ludHMgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJvciB1cGRhdGUgYSByZW1vdGUgcmVmIHRvIG1ha2UgaXQgcG9pbnQgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJ3aXRob3V0IHVzaW5nIHRoZSAnLS1mb3JjZScgb3B0aW9uLlxuIgogbXNnc3RyICIiCisiVm91cyBuZSBwb3V2ZXogcGFzIG1ldHRyZSDDoCBqb3VyIHVuZSByw6lmw6lyZW5jZSBkaXN0YW50ZSBxdWkgcG9pbnRlIHN1ciB1biAiCisib2JqZXQgcXVpXG4iCisibidlc3QgcGFzIHVuIGNvbW1pdCwgb3UgbWV0dHJlIMOgIGpvdXIgdW5lIHLDqWbDqXJlbmNlIGRpc3RhbnRlIHBvdXIgbGEgZmFpcmUgIgorInBvaW50ZXJcbiIKKyJ2ZXJzIHVuIG9iamV0IHF1aSBuJ2VzdCBwYXMgdW4gY29tbWl0LCBzYW5zIHV0aWxpc2VyIGwnb3B0aW9uICctLWZvcmNlJy5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mjk0CisjOiBidWlsdGluL3B1c2guYzozMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHVzaGluZyB0byAlc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjI5OAotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzozMzEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJQb3Vzc2FnZSB2ZXJzICVzXG4iCiAKICM6IGJ1aWx0aW4vcHVzaC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBwb3Vzc2VyIGRlcyByw6lmw6lyZW5jZXMgdmVycyAnJXMnIgorCisjOiBidWlsdGluL3B1c2guYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKK21zZ3N0ciAibWF1dmFpcyBkw6lww7R0ICclcyciCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NgogbXNnaWQgIiIKICJObyBjb25maWd1cmVkIHB1c2ggZGVzdGluYXRpb24uXG4iCiAiRWl0aGVyIHNwZWNpZnkgdGhlIFVSTCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJlIGEgcmVtb3RlICIKQEAgLTcyODcsOTAgKzgwODAsMTA4IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIDxuYW1lPlxuIgogbXNnc3RyICIiCisiUGFzIGRlIGRlc3RpbmF0aW9uIHBvdXIgcG91c3Nlci5cbiIKKyJTcMOpY2lmaWV6IHVuZSBVUkwgZGVwdWlzIGxhIGxpZ25lIGRlIGNvbW1hbmRlIG91IGNvbmZpZ3VyZXogdW4gZMOpcMO0dCBkaXN0YW50ICIKKyJlbiB1dGlsaXNhbnRcbiIKKyJcbiIKKyIgICAgZ2l0IHJlbW90ZSBhZGQgPG5vbT4gPHVybD5cbiIKKyJcbiIKKyJldCBwb3Vzc2V6IGFsb3JzIGVuIHV0aWxpc2FudCBsZSBkw6lww7R0IGRpc3RhbnRcbiIKKyJcbiIKKyIgICAgZ2l0IHB1c2ggPG5vbT5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzQ3CisjOiBidWlsdGluL3B1c2guYzozODEKIG1zZ2lkICItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiLS1hbGwgZXQgLS10YWdzIHNvbnQgaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzQ4CisjOiBidWlsdGluL3B1c2guYzozODIKIG1zZ2lkICItLWFsbCBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgotbXNnc3RyICIiCittc2dzdHIgIi0tYWxsIG5lIHBldXQgcGFzIMOqdHJlIGNvbWJpbsOpIGF2ZWMgZGVzIHNww6ljaWZpY2F0aW9ucyBkZSByw6lmw6lyZW5jZSIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzUzCisjOiBidWlsdGluL3B1c2guYzozODcKIG1zZ2lkICItLW1pcnJvciBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiLS1taXJyb3IgZXQgLS10YWdzIHNvbnQgaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzU0CisjOiBidWlsdGluL3B1c2guYzozODgKIG1zZ2lkICItLW1pcnJvciBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgotbXNnc3RyICIiCittc2dzdHIgIi0tbWlycm9yIG5lIHBldXQgcGFzIMOqdHJlIGNvbWJpbsOpIGF2ZWMgZGVzIHNww6ljaWZpY2F0aW9ucyBkZSByw6lmw6lyZW5jZSIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzU5CisjOiBidWlsdGluL3B1c2guYzozOTMKIG1zZ2lkICItLWFsbCBhbmQgLS1taXJyb3IgYXJlIGluY29tcGF0aWJsZSIKLW1zZ3N0ciAiIgorbXNnc3RyICItLWFsbCBldCAtLW1pcnJvciBzb250IGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQxOQorIzogYnVpbHRpbi9wdXNoLmM6NDUzCiBtc2dpZCAicmVwb3NpdG9yeSIKLW1zZ3N0ciAiIgorbXNnc3RyICJkw6lww7R0IgogCi0jOiBidWlsdGluL3B1c2guYzo0MjAKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ1NAogbXNnaWQgInB1c2ggYWxsIHJlZnMiCi1tc2dzdHIgIiIKK21zZ3N0ciAicG91c3NlciB0b3V0ZXMgbGVzIHLDqWbDqXJlbmNlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDIxCisjOiBidWlsdGluL3B1c2guYzo0NTUKIG1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVmbMOpdGVyIHRvdXRlcyBsZXMgcsOpZsOpcmVuY2VzIgogCi0jOiBidWlsdGluL3B1c2guYzo0MjMKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ1NwogbXNnaWQgImRlbGV0ZSByZWZzIgotbXNnc3RyICIiCittc2dzdHIgInN1cHByaW1lciBsZXMgcsOpZsOpcmVuY2VzIgogCi0jOiBidWlsdGluL3B1c2guYzo0MjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ1OAogbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKIG1zZ3N0ciAiIgorInBvdXNzZXIgbGVzIMOpdGlxdWV0dGVzIChuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjIC0tYWxsIG91IC0tbWlycm9yKSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDI3CisjOiBidWlsdGluL3B1c2guYzo0NjEKIG1zZ2lkICJmb3JjZSB1cGRhdGVzIgotbXNnc3RyICIiCittc2dzdHIgImZvcmNlciBsZXMgbWlzZXMgw6Agam91ciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDI4CisjOiBidWlsdGluL3B1c2guYzo0NjMKK21zZ2lkICJyZWZuYW1lPjo8ZXhwZWN0IgorbXNnc3RyICJub20gZGUgcsOpZsOpcmVuY2U+OjxhdHRlbmR1IgorCisjOiBidWlsdGluL3B1c2guYzo0NjQKK21zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKK21zZ3N0ciAiZXhpZ2VyIHF1ZSBsJ2FuY2llbm5lIHZhbGV1ciBkZSBsYSByw6lmw6lyZW5jZSBzb2l0IMOgIGNldHRlIHZhbGV1ciIKKworIzogYnVpbHRpbi9wdXNoLmM6NDY2CiBtc2dpZCAiY2hlY2siCi1tc2dzdHIgIiIKK21zZ3N0ciAiY2hlY2siCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQyOQorIzogYnVpbHRpbi9wdXNoLmM6NDY3CiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgotbXNnc3RyICIiCittc2dzdHIgImNvbnRyw7RsZXIgbGUgcG91c3NhZ2UgcsOpY3Vyc2lmIGRlcyBzb3VzLW1vZHVsZXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQzMQorIzogYnVpbHRpbi9wdXNoLmM6NDY5CiBtc2dpZCAidXNlIHRoaW4gcGFjayIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1dGlsaXNlciB1biBlbXBhcXVldGFnZSBsw6lnZXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQzMiBidWlsdGluL3B1c2guYzo0MzMKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3MCBidWlsdGluL3B1c2guYzo0NzEKIG1zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZWNldm9pciBsZSBwcm9ncmFtbWUgZCdlbXBhcXVldGFnZSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDM0CisjOiBidWlsdGluL3B1c2guYzo0NzIKIG1zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL3N0YXR1cyIKLW1zZ3N0ciAiIgorbXNnc3RyICJkw6lmaW5pciBsYSBicmFuY2hlIGFtb250IHBvdXIgZ2l0IHB1bGwvc3RhdHVzIgogCi0jOiBidWlsdGluL3B1c2guYzo0MzcKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3NQogbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgotbXNnc3RyICIiCittc2dzdHIgIsOpbGltaW5lciBsZXMgcsOpZsOpcmVuY2VzIGxvY2FsZXMgc3VwcHJpbcOpZXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQzOQorIzogYnVpbHRpbi9wdXNoLmM6NDc3CiBtc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6l2aXRlciBkJ3V0aWxpc2VyIGxlIGNyb2NoZXQgcHJlLXB1c2giCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ0MAorIzogYnVpbHRpbi9wdXNoLmM6NDc4CiBtc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgotbXNnc3RyICIiCittc2dzdHIgInBvdXNzZXIgbGVzIMOpdGlxdWV0dGVzIG1hbnF1YW50ZXMgbWFpcyBwZXJ0aW5lbnRlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDUwCisjOiBidWlsdGluL3B1c2guYzo0ODgKIG1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKLW1zZ3N0ciAiIgorbXNnc3RyICItLWRlbGV0ZSBlc3QgaW5jb21wYXRpYmxlIGF2ZWMgLS1hbGwsIC0tbWlycm9yIGV0IC0tdGFncyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDUyCisjOiBidWlsdGluL3B1c2guYzo0OTAKIG1zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKLW1zZ3N0ciAiIgorbXNnc3RyICItLWRlbGV0ZSBuJ2EgcGFzIGRlIHNlbnMgc2FucyBhdWN1bmUgcsOpZsOpcmVuY2UiCiAKICM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MzYKIG1zZ2lkICIiCkBAIC03Mzc4LDcwICs4MTg5LDg0IEBACiAiWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gWy0tIgogImluZGV4LW91dHB1dD08ZmlsZT5dICgtLWVtcHR5IHwgPHRyZWUtaXNoMT4gWzx0cmVlLWlzaDI+IFs8dHJlZS1pc2gzPl1dKSIKIG1zZ3N0ciAiIgorImdpdCByZWFkLXRyZWUgW1stbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLSIKKyJwcmVmaXg9PHByw6lmaXhlPl0gWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLSIKKyJzcGFyc2UtY2hlY2tvdXRdIFstLWluZGV4LW91dHB1dD08ZmljaGllcj5dICgtLWVtcHR5IHwgPGFyYnJlIG91IGFwcGFyZW50w6kgIgorIjE+IFs8YXJicmUgb3UgYXBwYXJlbnTDqSAyPiBbPGFyYnJlIG91IGFwcGFyZW50w6kgMz5dXSkiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA4CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEwOQogbXNnaWQgIndyaXRlIHJlc3VsdGluZyBpbmRleCB0byA8ZmlsZT4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6ljcmlyZSBsJ2luZGV4IHLDqXN1bHRhbnQgZGFucyA8ZmljaGllcj4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTExCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjExMgogbXNnaWQgIm9ubHkgZW1wdHkgdGhlIGluZGV4IgotbXNnc3RyICIiCittc2dzdHIgImp1c3RlIHZpZGVyIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjExNAogbXNnaWQgIk1lcmdpbmciCi1tc2dzdHIgIiIKK21zZ3N0ciAiRnVzaW9uIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExNQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTYKIG1zZ2lkICJwZXJmb3JtIGEgbWVyZ2UgaW4gYWRkaXRpb24gdG8gYSByZWFkIgotbXNnc3RyICIiCittc2dzdHIgImVmZmVjdHVlciB1bmUgZnVzaW9uIGVuIHBsdXMgZCd1bmUgbGVjdHVyZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE4CiBtc2dpZCAiMy13YXkgbWVyZ2UgaWYgbm8gZmlsZSBsZXZlbCBtZXJnaW5nIHJlcXVpcmVkIgotbXNnc3RyICIiCittc2dzdHIgImZ1c2lvbiDDoCAzIHBvaW50cyBzaSBhdWN1bmUgZnVzaW9uIGRlIG5pdmVhdSBmaWNoaWVyIG4nZXN0IHJlcXVpc2UiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE5CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMAogbXNnaWQgIjMtd2F5IG1lcmdlIGluIHByZXNlbmNlIG9mIGFkZHMgYW5kIHJlbW92ZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjEKLW1zZ2lkICJzYW1lIGFzIC1tLCBidXQgZGlzY2FyZCB1bm1lcmdlZCBlbnRyaWVzIgotbXNnc3RyICIiCittc2dzdHIgImZ1c2lvbiDDoCAzIHBvaW50cyBlbiBwcsOpc2VuY2UgZCdham91dHMgZXQgc3VwcHJlc3Npb25zIgogCiAjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMgotbXNnaWQgIjxzdWJkaXJlY3Rvcnk+LyIKLW1zZ3N0ciAiIgorbXNnaWQgInNhbWUgYXMgLW0sIGJ1dCBkaXNjYXJkIHVubWVyZ2VkIGVudHJpZXMiCittc2dzdHIgImNvbW1lIC1tLCBtYWlzIGFubnVsZSBsZXMgw6lsw6ltZW50cyBub24gZnVzaW9ubsOpcyIKIAogIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjMKK21zZ2lkICI8c3ViZGlyZWN0b3J5Pi8iCittc2dzdHIgIjxzb3VzLXLDqXBlcnRvaXJlPi8iCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI0CiBtc2dpZCAicmVhZCB0aGUgdHJlZSBpbnRvIHRoZSBpbmRleCB1bmRlciA8c3ViZGlyZWN0b3J5Pi8iCi1tc2dzdHIgIiIKK21zZ3N0ciAibGlyZSBsJ2FyYnJlIGRhbnMgbCdpbmRleCBkYW5zIDxzb3VzLXLDqXBlcnRvaXJlPi8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI2CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNwogbXNnaWQgInVwZGF0ZSB3b3JraW5nIHRyZWUgd2l0aCBtZXJnZSByZXN1bHQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjgKLW1zZ2lkICJnaXRpZ25vcmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAibWV0dHJlIMOgIGpvdXIgbGEgY29waWUgZGUgdHJhdmFpbCBhdmVjIGxlIHLDqXN1bHRhdCBkZSBsYSBmdXNpb24iCiAKICM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI5Ci1tc2dpZCAiYWxsb3cgZXhwbGljaXRseSBpZ25vcmVkIGZpbGVzIHRvIGJlIG92ZXJ3cml0dGVuIgotbXNnc3RyICIiCittc2dpZCAiZ2l0aWdub3JlIgorbXNnc3RyICJnaXRpZ25vcmUiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMyCi1tc2dpZCAiZG9uJ3QgY2hlY2sgdGhlIHdvcmtpbmcgdHJlZSBhZnRlciBtZXJnaW5nIgotbXNnc3RyICIiCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMAorbXNnaWQgImFsbG93IGV4cGxpY2l0bHkgaWdub3JlZCBmaWxlcyB0byBiZSBvdmVyd3JpdHRlbiIKK21zZ3N0ciAiYXV0b3Jpc2VyIGV4cGxpY2l0ZW1lbnQgbGVzIGZpY2hpZXJzIGlnbm9yw6lzIMOgIMOqdHJlIMOpY3Jhc8OpcyIKIAogIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzMKK21zZ2lkICJkb24ndCBjaGVjayB0aGUgd29ya2luZyB0cmVlIGFmdGVyIG1lcmdpbmciCittc2dzdHIgIm5lIHBhcyB2w6lyaWZpZXIgbGEgY29waWUgZGUgdHJhdmFpbCBhcHLDqHMgbGEgZnVzaW9uIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNAogbXNnaWQgImRvbid0IHVwZGF0ZSB0aGUgaW5kZXggb3IgdGhlIHdvcmsgdHJlZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJuZSBwYXMgbWV0dHJlIMOgIGpvdXIgbCdpbmRleCBvdSBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzYKIG1zZ2lkICJza2lwIGFwcGx5aW5nIHNwYXJzZSBjaGVja291dCBmaWx0ZXIiCi1tc2dzdHIgIiIKK21zZ3N0ciAic2F1dGVyIGwnYXBwbGljYXRpb24gZHUgZmlsdHJlIGQnZXh0cmFjdGlvbiBjcmV1c2UiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOAogbXNnaWQgImRlYnVnIHVucGFjay10cmVlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJkw6lib2d1ZXIgdW5wYWNrLXRyZWVzIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcycgZm9yICclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgorbXNnc3RyICIlcycgcG91ciAnJXMnIG4nZXN0IHBhcyB1biBob3JvZGF0YWdlIHZhbGlkZSIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo2MTUgYnVpbHRpbi9yZWZsb2cuYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCittc2dzdHIgIiclcycgbidlc3QgcGFzIHVuIGhvcm9kYXRhZ2UgdmFsaWRlIgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjExCiBtc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIgpAQCAtNzQ1MSw3ICs4Mjc2LDkgQEAKIG1zZ2lkICIiCiAiZ2l0IHJlbW90ZSBhZGQgWy10IDxicmFuY2g+XSBbLW0gPG1hc3Rlcj5dIFstZl0gWy0tdGFnc3wtLW5vLXRhZ3NdIFstLSIKICJtaXJyb3I9PGZldGNofHB1c2g+XSA8bmFtZT4gPHVybD4iCi1tc2dzdHIgImdpdCByZW1vdGUgYWRkIFstdCA8YnJhbmNoZT5dIFstbSA8bWHDrnRyZXNzZT5dIFstZl0gWy0tdGFnc3wtLW5vLXRhZ3NdIFstLW1pcnJvcj08ZmV0Y2h8cHVzaD5dIDxub20+IDxVUkw+IgorbXNnc3RyICIiCisiZ2l0IHJlbW90ZSBhZGQgWy10IDxicmFuY2hlPl0gWy1tIDxtYcOudHJlc3NlPl0gWy1mXSBbLS10YWdzfC0tbm8tdGFnc10gWy0tIgorIm1pcnJvcj08ZmV0Y2h8cHVzaD5dIDxub20+IDxVUkw+IgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjEzIGJ1aWx0aW4vcmVtb3RlLmM6MzIKIG1zZ2lkICJnaXQgcmVtb3RlIHJlbmFtZSA8b2xkPiA8bmV3PiIKQEAgLTc0NjEsOSArODI4OCw5IEBACiBtc2dpZCAiZ2l0IHJlbW90ZSByZW1vdmUgPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHJlbW92ZSA8bm9tPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNSBidWlsdGluL3JlbW90ZS5jOjQyCi1tc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLWQgfCA8YnJhbmNoPikiCi1tc2dzdHIgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5vbT4gKC1hIHwgLWQgfCA8YnJhbmNoZT4pIgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNQorbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfDxicmFuY2g+KSIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bm9tPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHw8YnJhbmNoZT4pIgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjE2CiBtc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHNob3cgWy1uXSA8bmFtZT4iCkBAIC03NDc2LDcgKzgzMDMsOSBAQAogIzogYnVpbHRpbi9yZW1vdGUuYzoxOAogbXNnaWQgIiIKICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gdXBkYXRlIFstcCB8IC0tcHJ1bmVdIFsoPGdyb3VwPiB8IDxyZW1vdGU+KS4uLl0iCi1tc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8Z3JvdXBlPiB8IDxkaXN0YW50ZT4pLi4uXSIKK21zZ3N0ciAiIgorImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8Z3JvdXBlPiB8ICIKKyI8ZGlzdGFudGU+KS4uLl0iCiAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDxuYW1lPiA8YnJhbmNoPi4uLiIKQEAgLTc0OTgsNiArODMyNywxMCBAQAogbXNnaWQgImdpdCByZW1vdGUgYWRkIFs8b3B0aW9ucz5dIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBhZGQgWzxvcHRpb25zPl0gPG5vbT4gPFVSTD4iCiAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDIKK21zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPGJyYW5jaD4pIgorbXNnc3RyICJnaXQgcmVtb3RlIHNldC1oZWFkIDxub20+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8YnJhbmNoZT4pIgorCiAjOiBidWlsdGluL3JlbW90ZS5jOjQ3CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyA8bm9tPiA8YnJhbmNoZT4uLi4iCkBAIC03NTQyLDcgKzgzNzUsOCBAQAogCiAjOiBidWlsdGluL3JlbW90ZS5jOjE2NQogbXNnaWQgImltcG9ydCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIHdoZW4gZmV0Y2hpbmciCi1tc2dzdHIgImltcG9ydGVyIHRvdXRlcyBsZXMgw6l0aXF1ZXR0ZXMgZXQgbGVzIG9iamV0cyBhc3NvY2nDqXMgbG9ycyBkdSByYXBhdHJpZW1lbnQiCittc2dzdHIgIiIKKyJpbXBvcnRlciB0b3V0ZXMgbGVzIMOpdGlxdWV0dGVzIGV0IGxlcyBvYmpldHMgYXNzb2Npw6lzIGxvcnMgZHUgcmFwYXRyaWVtZW50IgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjE2OAogbXNnaWQgIm9yIGRvIG5vdCBmZXRjaCBhbnkgdGFnIGF0IGFsbCAoLS1uby10YWdzKSIKQEAgLTc1NjIsNyArODM5Niw4IEBACiAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTczCiBtc2dpZCAic2V0IHVwIHJlbW90ZSBhcyBhIG1pcnJvciB0byBwdXNoIHRvIG9yIGZldGNoIGZyb20iCi1tc2dzdHIgInBhcmFtw6l0cmVyIGxhIGRpc3RhbnRlIGNvbW1lIG1pcm9pciBwb3VyIHBvdXNzZXIgb3UgcG91ciByYXBhdHJpZXIgZGVwdWlzIgorbXNnc3RyICIiCisicGFyYW3DqXRyZXIgbGEgZGlzdGFudGUgY29tbWUgbWlyb2lyIHBvdXIgcG91c3NlciBvdSBwb3VyIHJhcGF0cmllciBkZXB1aXMiCiAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg1CiBtc2dpZCAic3BlY2lmeWluZyBhIG1hc3RlciBicmFuY2ggbWFrZXMgbm8gc2Vuc2Ugd2l0aCAtLW1pcnJvciIKQEAgLTc1NzAsNyArODQwNSw5IEBACiAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg3CiBtc2dpZCAic3BlY2lmeWluZyBicmFuY2hlcyB0byB0cmFjayBtYWtlcyBzZW5zZSBvbmx5IHdpdGggZmV0Y2ggbWlycm9ycyIKLW1zZ3N0ciAic3DDqWNpZmllciBsZXMgYnJhbmNoZXMgw6Agc3VpdnJlIG4nYSBkZSBzZW5zIHF1J2F2ZWMgZGVzIG1pcm9pcnMgZGUgcmFwYXRyaWVtZW50IgorbXNnc3RyICIiCisic3DDqWNpZmllciBsZXMgYnJhbmNoZXMgw6Agc3VpdnJlIG4nYSBkZSBzZW5zIHF1J2F2ZWMgZGVzIG1pcm9pcnMgZGUgIgorInJhcGF0cmllbWVudCIKIAogIzogYnVpbHRpbi9yZW1vdGUuYzoxOTUgYnVpbHRpbi9yZW1vdGUuYzo2NDYKICMsIGMtZm9ybWF0CkBAIC03NTk2LDYgKzg0MzMsOCBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZ2V0IGZldGNoIG1hcCBmb3IgcmVmc3BlYyAlcyIKIG1zZ3N0ciAiIgorIkltcG9zc2libGUgZCdvYnRlbmlyIHVuZSBjb3JyZXNwb25kYW5jZSBkaXN0YW50ZSBwb3VyIGxhIHNww6ljaWZpY2F0aW9uIGRlICIKKyJyw6lmw6lyZW5jZSAlcyIKIAogIzogYnVpbHRpbi9yZW1vdGUuYzo0NDAgYnVpbHRpbi9yZW1vdGUuYzo0NDgKIG1zZ2lkICIobWF0Y2hpbmcpIgpAQCAtNzYzNCw3ICs4NDczLDcgQEAKIG1zZ3N0ciAiIgogIlBhcyBkZSBtaXNlIMOgIGpvdXIgZHUgcmVmc3BlYyBkZSByYXBhdHJpZW1lbnQgcXVpIG4nZXN0IHBhcyBwYXIgZMOpZmF1dFxuIgogIlx0JXNcbiIKLSJcdE1lcmNpIGRlIG1ldHRyZSDDoCBqb3VyIGxhIGNvbmZpZ3VyYXRpb24gc2kgbsOpY2Vzc2FpcmUuIgorIlx0VmV1aWxsZXogbWV0dHJlIMOgIGpvdXIgbGEgY29uZmlndXJhdGlvbiBtYW51ZWxsZW1lbnQgc2kgbsOpY2Vzc2FpcmUuIgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjY4MwogIywgYy1mb3JtYXQKQEAgLTc2NzIsNyArODUxMSw4IEBACiAiTm90ZSA6IFVuZSBicmFuY2hlIGVuIGRlaG9ycyBkZSByZWZzL3JlbW90ZXMvIG4nYSBwYXMgw6l0w6kgc3VwcHJpbcOpZSA7XG4iCiAicG91ciBsYSBzdXBwcmltZXIsIHV0aWxpc2V6IDoiCiBtc2dzdHJbMV0gIiIKLSJOb3RlIDogUGx1c2lldXJzIGJyYW5jaGVzIGVuIGRlaG9ycyBkZSByZWZzL3JlbW90ZXMvIG4nb250IHBhcyDDqXTDqSBzdXBwcmltw6llcyA7XG4iCisiTm90ZSA6IFBsdXNpZXVycyBicmFuY2hlcyBlbiBkZWhvcnMgZGUgcmVmcy9yZW1vdGVzLyBuJ29udCBwYXMgw6l0w6kgIgorInN1cHByaW3DqWVzIDtcbiIKICJwb3VyIGxlcyBzdXBwcmltZXIsIHV0aWxpc2V6IDoiCiAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQzCkBAIC03NzkyLDcgKzg2MzIsOSBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiICBIRUFEIGJyYW5jaCAocmVtb3RlIEhFQUQgaXMgYW1iaWd1b3VzLCBtYXkgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcpOlxuIgotbXNnc3RyICIgIEJyYW5jaGUgSEVBRCAobGEgSEVBRCBkaXN0YW50ZSBlc3QgYW1iaWd1w6ssIHBldXQgw6p0cmUgbCd1bmUgZGVzIHN1aXZhbnRlcykgOlxuIgorbXNnc3RyICIiCisiICBCcmFuY2hlIEhFQUQgKGxhIEhFQUQgZGlzdGFudGUgZXN0IGFtYmlndcOrLCBwZXV0IMOqdHJlIGwndW5lIGRlcyAiCisic3VpdmFudGVzKSA6XG4iCiAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1MQogIywgYy1mb3JtYXQKQEAgLTc4MzYsNyArODY3OCw5IEBACiAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxOAogbXNnaWQgIk11bHRpcGxlIHJlbW90ZSBIRUFEIGJyYW5jaGVzLiBQbGVhc2UgY2hvb3NlIG9uZSBleHBsaWNpdGx5IHdpdGg6IgotbXNnc3RyICJJbCB5IGEgZGUgbXVsdGlwbGVzIGJyYW5jaGVzIEhFQUQgZGlzdGFudGVzLiBNZXJjaSBkJ2VuIGNob2lzaXIgdW5lIGV4cGxpY2l0ZW1lbnQgYXZlYyA6IgorbXNnc3RyICIiCisiSWwgeSBhIGRlIG11bHRpcGxlcyBicmFuY2hlcyBIRUFEIGRpc3RhbnRlcy4gVmV1aWxsZXogZW4gY2hvaXNpciB1bmUgIgorImV4cGxpY2l0ZW1lbnQgYXZlYyA6IgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjEyMjgKICMsIGMtZm9ybWF0CkBAIC03ODY2LDcgKzg3MTAsNyBAQAogIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlBydW5pbmcgJXMiCi1tc2dzdHIgIsOJbGFnYWdlIGRlICVzIgorbXNnc3RyICLDiWxpbWluYXRpb24gZGUgJXMiCiAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MgogIywgYy1mb3JtYXQKQEAgLTc4NzYsMTYgKzg3MjAsMTYgQEAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbd291bGQgcHJ1bmVdICVzIgotbXNnc3RyICIgKiBbc2VyYWl0IMOpbGFndcOpXSAlcyIKK21zZ3N0ciAiICogW3NlcmFpdCDDqWxpbWluw6ldICVzIgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjEyOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3BydW5lZF0gJXMiCi1tc2dzdHIgIiAqIFvDqWxhZ3XDqV0gJXMiCittc2dzdHIgIiAqIFvDqWxpbWluw6ldICVzIgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjEzMjEKIG1zZ2lkICJwcnVuZSByZW1vdGVzIGFmdGVyIGZldGNoaW5nIgotbXNnc3RyICLDqWxhZ3VlciBsZXMgZGlzdGFudHMgYXByw6hzIGxlIHJhcGF0cmllbWVudCIKK21zZ3N0ciAiw6lsaW1pbmVyIGxlcyBkaXN0YW50cyBhcHLDqHMgbGUgcmFwYXRyaWVtZW50IgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjEzODcgYnVpbHRpbi9yZW1vdGUuYzoxNDYxCiAjLCBjLWZvcm1hdApAQCAtNzkyOCwxMiArODc3Miw3MyBAQAogCiAjOiBidWlsdGluL3JlbW90ZS5jOjE0OTcKIG1zZ2lkICJXaWxsIG5vdCBkZWxldGUgYWxsIG5vbi1wdXNoIFVSTHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiUGFzIGRlIHN1cHByZXNzaW9uIGRlIHRvdXRlcyBsZXMgVVJMcyBub24tcHVzaCIKIAogIzogYnVpbHRpbi9yZW1vdGUuYzoxNTY5CiBtc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKIG1zZ3N0ciAiw6p0cmUgdmVyYmV1eCA6IGRvaXQgw6p0cmUgcGxhY8OpIGF2YW50IHVuZSBzb3VzLWNvbW1hbmRlIgogCisjOiBidWlsdGluL3JlcGFjay5jOjE1Cittc2dpZCAiZ2l0IHJlcGFjayBbb3B0aW9uc10iCittc2dzdHIgImdpdCByZXBhY2sgW29wdGlvbnNdIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE0MworbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgorbXNnc3RyICJlbXBhcXVldGVyIHRvdXQgZGFucyB1biBzZXVsIHBhcXVldCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNDUKK21zZ2lkICJzYW1lIGFzIC1hLCBhbmQgdHVybiB1bnJlYWNoYWJsZSBvYmplY3RzIGxvb3NlIgorbXNnc3RyICJpZGVudGlxdWUgw6AgLWEgZXQgdHJhbnNmb3JtZXIgbGVzIG9iamV0cyBpbmFjY2Vzc2libGVzIGVuIHN1c3BlbnMiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTQ4Cittc2dpZCAicmVtb3ZlIHJlZHVuZGFudCBwYWNrcywgYW5kIHJ1biBnaXQtcHJ1bmUtcGFja2VkIgorbXNnc3RyICJzdXBwcmltZXIgbGVzIHBhcXVldHMgcmVkb25kYW50cyBldCBsYW5jZXIgZ2l0LXBydW5lLXBhY2tlZCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTAKK21zZ2lkICJwYXNzIC0tbm8tcmV1c2UtZGVsdGEgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAicGFzc2VyIC0tbm8tcmV1c2UtZGVsdGEgw6AgZ2l0LXBhY2stb2JqZWN0cyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTIKK21zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgInBhc3NlciAtLW5vLXJldXNlLW9iamVjdCDDoCBnaXQtcGFjay1vYmplY3RzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1NAorbXNnaWQgImRvIG5vdCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKK21zZ3N0ciAibmUgcGFzIGxhbmNlciBnaXQgdXBkYXRlLXNlcnZlci1pbmZvIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1NworbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICJwYXNzZXIgLS1sb2NhbCDDoCBnaXQtcGFjay1vYmplY3RzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1OAorbXNnaWQgImFwcHJveGlkYXRlIgorbXNnc3RyICJkYXRlIGFwcHJveGltYXRpdmUiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU5Cittc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKK21zZ3N0ciAiYXZlYyAtQSwgbmUgcGFzIHN1c3BlbmRyZSBsZXMgb2JqZXRzIHBsdXMgdmlldXggcXVlIGNlbHVpLWNpIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2MQorbXNnaWQgInNpemUgb2YgdGhlIHdpbmRvdyB1c2VkIGZvciBkZWx0YSBjb21wcmVzc2lvbiIKK21zZ3N0ciAidGFpbGxlIGRlIGxhIGZlbsOqdHJlIHV0aWxpc8OpZSBwb3VyIGxhIGNvbXByZXNzaW9uIGRlcyBkZWx0YXMiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYzCittc2dpZCAic2FtZSBhcyB0aGUgYWJvdmUsIGJ1dCBsaW1pdCBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIGVudHJpZXMgY291bnQiCittc2dzdHIgImlkZW0gY2ktZGVzc3VzLCBtYWlzIGxpbWl0ZXIgbGEgdGFpbGxlIG3DqW1vaXJlIGF1IGxpZXUgZHUgbm9tYnJlIGQnw6lsw6ltZW50cyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjUKK21zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCittc2dzdHIgImxpbWl0ZSBsYSBwcm9mb25kZXVyIG1heGltYWxlIGRlcyBkZWx0YXMiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY3Cittc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggcGFja2ZpbGUiCittc2dzdHIgInRhaWxsZSBtYXhpbXVtIGRlIGNoYXF1ZSBmaWNoaWVyIHBhcXVldCIKKworIzogYnVpbHRpbi9yZXBhY2suYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgJyVzJyBmYWlsZWQiCittc2dzdHIgImxhIHN1cHByZXNzaW9uIGRlICclcycgYSDDqWNob3XDqSIKKwogIzogYnVpbHRpbi9yZXBsYWNlLmM6MTcKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIDxvYmplY3Q+IDxyZXBsYWNlbWVudD4iCiBtc2dzdHIgImdpdCByZXBsYWNlIFstZl0gPG9iamV0PiA8cmVtcGxhY2VtZW50PiIKQEAgLTc5NDYsMzggKzg4NTEsMzkgQEAKIG1zZ2lkICJnaXQgcmVwbGFjZSAtbCBbPHBhdHRlcm4+XSIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgLWwgWzxtb3RpZj5dIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEzMQogbXNnaWQgImxpc3QgcmVwbGFjZSByZWZzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgcsOpZsOpcmVuY2VzIGRlIHJlbXBsYWNlbWVudCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIyCisjOiBidWlsdGluL3JlcGxhY2UuYzoxMzIKIG1zZ2lkICJkZWxldGUgcmVwbGFjZSByZWZzIgogbXNnc3RyICJzdXBwcmltZXIgbGVzIHLDqWbDqXJlbmNlcyBkZSByZW1wbGFjZW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEyMworIzogYnVpbHRpbi9yZXBsYWNlLmM6MTMzCiBtc2dpZCAicmVwbGFjZSB0aGUgcmVmIGlmIGl0IGV4aXN0cyIKIG1zZ3N0ciAicmVtcGxhY2VyIGxhIHLDqWbDqXJlbmNlIHNpIGVsbGUgZXhpc3RlIgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjExCisjOiBidWlsdGluL3JlcmVyZS5jOjEyCiBtc2dpZCAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgcGF0aC4uLiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCiBtc2dzdHIgImdpdCByZXJlcmUgW2NsZWFyIHwgZm9yZ2V0IGNoZW1pbi4uLiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6NTYKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6NTcKIG1zZ2lkICJyZWdpc3RlciBjbGVhbiByZXNvbHV0aW9ucyBpbiBpbmRleCIKIG1zZ3N0ciAiZW5yZWdpc3RyZXIgZGVzIHLDqXNvbHV0aW9ucyBwcm9wcmVzIGRhbnMgbCdpbmRleCIKIAogIzogYnVpbHRpbi9yZXNldC5jOjI1CiBtc2dpZCAiIgogImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxjb21taXQ+XSIKLW1zZ3N0ciAiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPGNvbW1pdD5dIgorbXNnc3RyICIiCisiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPGNvbW1pdD5dIgogCiAjOiBidWlsdGluL3Jlc2V0LmM6MjYKIG1zZ2lkICJnaXQgcmVzZXQgWy1xXSA8dHJlZS1pc2g+IFstLV0gPHBhdGhzPi4uLiIKLW1zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gPGFyYnJlPiBbLS1dIDxjaGVtaW5zPi4uLiIKK21zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gPGFyYnJlIG91IGFwcGFyZW50w6k+IFstLV0gPGNoZW1pbnM+Li4uIgogCiAjOiBidWlsdGluL3Jlc2V0LmM6MjcKIG1zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0iCi1tc2dzdHIgImdpdCByZXNldCAtLXBhdGNoIFs8YXJicmU+XSBbLS1dIFs8Y2hlbWlucz4uLi5dIgorbXNnc3RyICJnaXQgcmVzZXQgLS1wYXRjaCBbPGFyYnJlIG91IGFwcGFyZW50w6k+XSBbLS1dIFs8Y2hlbWlucz4uLi5dIgogCiAjOiBidWlsdGluL3Jlc2V0LmM6MzMKIG1zZ2lkICJtaXhlZCIKQEAgLTgwMTIsOTUgKzg5MTgsOTcgQEAKIG1zZ2lkICJGYWlsZWQgdG8gZmluZCB0cmVlIG9mICVzLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSB0cm91dmVyIGwnYXJicmUgcG91ciAlcy4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo5OAorIzogYnVpbHRpbi9yZXNldC5jOjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgaXMgbm93IGF0ICVzIgogbXNnc3RyICJIRUFEIGVzdCBtYWludGVuYW50IMOgICVzIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MTY5CisjOiBidWlsdGluL3Jlc2V0LmM6MTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyBhICVzIHJlc2V0IGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZS4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZmFpcmUgdW4gXCJyZXNldCAlc1wiIGF1IG1pbGlldSBkJ3VuZSBmdXNpb24uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjQ4CisjOiBidWlsdGluL3Jlc2V0LmM6MjYyCiBtc2dpZCAiYmUgcXVpZXQsIG9ubHkgcmVwb3J0IGVycm9ycyIKIG1zZ3N0ciAiw6p0cmUgc2lsZW5jaWV1eCwgYWZmaWNoZXIgc2V1bGVtZW50IGxlcyBlcnJldXJzIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjUwCisjOiBidWlsdGluL3Jlc2V0LmM6MjY0CiBtc2dpZCAicmVzZXQgSEVBRCBhbmQgaW5kZXgiCiBtc2dzdHIgInLDqWluaXRpYWxpc2VyIEhFQUQgZXQgbCdpbmRleCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI1MQorIzogYnVpbHRpbi9yZXNldC5jOjI2NQogbXNnaWQgInJlc2V0IG9ubHkgSEVBRCIKIG1zZ3N0ciAicsOpaW5pdGlhbGlzZXIgc2V1bGVtZW50IEhFQUQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTMgYnVpbHRpbi9yZXNldC5jOjI1NQorIzogYnVpbHRpbi9yZXNldC5jOjI2NyBidWlsdGluL3Jlc2V0LmM6MjY5CiBtc2dpZCAicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAicsOpaW5pdGlhbGlzZXIgSEVBRCwgbCdpbmRleCBldCBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjU3CisjOiBidWlsdGluL3Jlc2V0LmM6MjcxCiBtc2dpZCAicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICJyw6lpbml0aWFsaXNlciBIRUFEIG1haXMgZ2FyZGVyIGxlcyBjaGFuZ2VtZW50cyBsb2NhdXgiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNzUKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJldmlzaW9uLiIKIG1zZ3N0ciAiw4ljaGVjIGRlIHLDqXNvbHV0aW9uIGRlICclcycgY29tbWUgdW5lIHLDqXZpc2lvbiB2YWxpZGUuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjc4IGJ1aWx0aW4vcmVzZXQuYzoyODYKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTIgYnVpbHRpbi9yZXNldC5jOjMwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbCdvYmpldCAnJXMnLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4MworIzogYnVpbHRpbi9yZXNldC5jOjI5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgdHJlZS4iCiBtc2dzdHIgIsOJY2hlYyBkZSByw6lzb2x1dGlvbiBkZSAnJXMnIGNvbW1lIHVuIGFyYnJlIHZhbGlkZS4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTIKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDYKIG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIC0te2hhcmQsbWl4ZWQsc29mdH0iCiBtc2dzdHIgIi0tcGF0Y2ggZXN0IGluY29tcGF0aWJsZSBhdmVjIC0te2hhcmQsbWl4ZWQsc29mdH0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDEKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMTUKIG1zZ2lkICItLW1peGVkIHdpdGggcGF0aHMgaXMgZGVwcmVjYXRlZDsgdXNlICdnaXQgcmVzZXQgLS0gPHBhdGhzPicgaW5zdGVhZC4iCi1tc2dzdHIgIi0tbWl4ZWQgYXZlYyBkZXMgY2hlbWlucyBlc3Qgb2Jzb2zDqHRlIDsgdXRpbGlzZXogJ2dpdCByZXNldCAtLSA8cGF0aHM+JyDDoCBsYSBwbGFjZS4iCittc2dzdHIgIiIKKyItLW1peGVkIGF2ZWMgZGVzIGNoZW1pbnMgZXN0IG9ic29sw6h0ZSA7IHV0aWxpc2V6ICdnaXQgcmVzZXQgLS0gPHBhdGhzPicgw6AgbGEgIgorInBsYWNlLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMwMworIzogYnVpbHRpbi9yZXNldC5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gJXMgcmVzZXQgd2l0aCBwYXRocy4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZmFpcmUgdW4gXCIlcyByZXNldFwiIGF2ZWMgZGVzIGNoZW1pbnMuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzEzCisjOiBidWlsdGluL3Jlc2V0LmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHJlc2V0IGlzIG5vdCBhbGxvd2VkIGluIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJMZSBcIiVzIHJlc2V0XCIgbidlc3QgcGFzIHBlcm1pcyBkYW5zIHVuIGTDqXDDtHQgbnUiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMzMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNDQKK21zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKK21zZ3N0ciAiTW9kaWZpY2F0aW9ucyBub24gaW5kZXjDqWVzIGFwcsOocyByZXNldCA6IgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHLDqWluaXRpYWxpc2VyIGxlIGZpY2hpZXIgZCdpbmRleCDDoCBsYSByw6l2aXNpb24gJyVzJy4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMzkKLW1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKLW1zZ3N0ciAiTW9kaWZpY2F0aW9ucyBub24gaW5kZXjDqWVzIGFwcsOocyByZXNldCA6IgotCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQ0CisjOiBidWlsdGluL3Jlc2V0LmM6MzU1CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgbm91dmVhdSBmaWNoaWVyIGQnaW5kZXguIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjMzOQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNDUKIG1zZ2lkICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgW29wdGlvbnNdIC0tIFs8YXJncz4uLi5dIgogbXNnc3RyICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgW29wdGlvbnNdIC0tIFs8YXJndW1lbnRzPi4uLl0iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzQ0CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM1MAogbXNnaWQgImtlZXAgdGhlIGAtLWAgcGFzc2VkIGFzIGFuIGFyZyIKIG1zZ3N0ciAiZ2FyZGVyIGxlIGAtLWAgcGFzc8OpIGVuIGFyZ3VtZW50IgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM0NgorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNTIKIG1zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCiBtc2dzdHIgImFycsOqdCBkZSBsJ2FuYWx5c2UgYXByw6hzIGxlIHByZW1pZXIgYXJndW1lbnQgcXVpIG4nZXN0IHBhcyB1bmUgb3B0aW9uIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQ2NAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0NzAKIG1zZ2lkICIiCiAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFtvcHRpb25zXSAtLSBbPGFyZ3M+Li4uXVxuIgogIiAgIG9yOiBnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgWzxhcmc+Li4uXVxuIgpAQCAtODExMiwxMSArOTAyMCwxMiBAQAogIiAgIG91IDogZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs8YXJndW1lbnQ+Li4uXVxuIgogIiAgIG91IDogZ2l0IHJldi1wYXJzZSBbb3B0aW9uc10gWzxhcmd1bWVudD4uLi5dXG4iCiAiXG4iCi0iTGFuY2V6IFwiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IC1oXCIgcG91ciBwbHVzIGQnaW5mb3JtYXRpb24gc3VyIGwndXRpbGlzYXRpb24gcHJpbmNpcGFsZS4iCisiTGFuY2V6IFwiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IC1oXCIgcG91ciBwbHVzIGQnaW5mb3JtYXRpb24gc3VyICIKKyJsJ3V0aWxpc2F0aW9uIHByaW5jaXBhbGUuIgogCiAjOiBidWlsdGluL3JldmVydC5jOjIyCiBtc2dpZCAiZ2l0IHJldmVydCBbb3B0aW9uc10gPGNvbW1pdC1pc2g+Li4uIgotbXNnc3RyICJnaXQgcmV2ZXJ0IFtvcHRpb25zXSA8Y29tbWl0Pi4uLiIKK21zZ3N0ciAiZ2l0IHJldmVydCBbb3B0aW9uc10gPGNvbW1pdCBvdSBhcHBhcmVudMOpPi4uLiIKIAogIzogYnVpbHRpbi9yZXZlcnQuYzoyMwogbXNnaWQgImdpdCByZXZlcnQgPHN1YmNvbW1hbmQ+IgpAQCAtODEyNCwxNTEgKzkwMzMsMTgwIEBACiAKICM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjgKIG1zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgW29wdGlvbnNdIDxjb21taXQtaXNoPi4uLiIKLW1zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIFtvcHRpb25zXSA8Y29tbWl0Pi4uLiIKK21zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIFtvcHRpb25zXSA8Y29tbWl0IG91IGFwcGFyZW50w6k+Li4uIgogCiAjOiBidWlsdGluL3JldmVydC5jOjI5CiBtc2dpZCAiZ2l0IGNoZXJyeS1waWNrIDxzdWJjb21tYW5kPiIKIG1zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIDxzb3VzLWNvbW1hbmRlPiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo3MCBidWlsdGluL3JldmVydC5jOjkyCisjOiBidWlsdGluL3JldmVydC5jOjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICIlcyA6ICVzIG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIGF2ZWMgJXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCisjOiBidWlsdGluL3JldmVydC5jOjgwCiBtc2dpZCAiZW5kIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAibWV0dHJlIGZpbiBhdSByZXRvdXIgb3UgcGljb3JhZ2UiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CisjOiBidWlsdGluL3JldmVydC5jOjgxCiBtc2dpZCAicmVzdW1lIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAicmVwcmVuZHJlIGxlIHJldG91ciBvdSBwaWNvcmFnZSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODIKIG1zZ2lkICJjYW5jZWwgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJhbm51bGVyIGxlIHJldG91ciBvdSBwaWNvcmFnZSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDYKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODMKIG1zZ2lkICJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIKIG1zZ3N0ciAibmUgcGFzIHZhbGlkZXIgYXV0b21hdGlxdWVtZW50IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNworIzogYnVpbHRpbi9yZXZlcnQuYzo4NAogbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLDqWRpdGVyIGxlIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODcKIG1zZ2lkICJwYXJlbnQgbnVtYmVyIgogbXNnc3RyICJudW3DqXJvIGRlIHBhcmVudCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAic3RyYXTDqWdpZSBkZSBmdXNpb24iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEzCisjOiBidWlsdGluL3JldmVydC5jOjkwCiBtc2dpZCAib3B0aW9uIgogbXNnc3RyICJvcHRpb24iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE0CisjOiBidWlsdGluL3JldmVydC5jOjkxCiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAib3B0aW9uIHBvdXIgbGEgc3RyYXTDqWdpZSBkZSBmdXNpb24iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI1CisjOiBidWlsdGluL3JldmVydC5jOjEwMgogbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKIG1zZ3N0ciAiYWpvdXRlciBsZSBub20gZGUgdmFsaWRhdGlvbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjYKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIgogbXNnc3RyICJhdXRvcmlzZXIgbCdhdmFuY2UgcmFwaWRlIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyNworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAicHLDqXNlcnZlciBsZXMgdmFsaWRhdGlvbnMgdmlkZXMgaW5pdGlhbGVtZW50IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyOAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDUKIG1zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCiBtc2dzdHIgImF1dG9yaXNlciBsZXMgdmFsaWRhdGlvbnMgYXZlYyBkZXMgbWVzc2FnZXMgdmlkZXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI5CisjOiBidWlsdGluL3JldmVydC5jOjEwNgogbXNnaWQgImtlZXAgcmVkdW5kYW50LCBlbXB0eSBjb21taXRzIgogbXNnc3RyICJnYXJkZXIgbGVzIHZhbGlkYXRpb25zIHJlZG9uZGFudGVzLCB2aWRlcyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMzMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCiBtc2dpZCAicHJvZ3JhbSBlcnJvciIKIG1zZ3N0ciAiZXJyZXVyIGR1IHByb2dyYW1tZSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMjMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTk1CiBtc2dpZCAicmV2ZXJ0IGZhaWxlZCIKIG1zZ3N0ciAicmV2ZXJ0IGEgw6ljaG91w6kiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjM4CisjOiBidWlsdGluL3JldmVydC5jOjIxMAogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAibGUgcGljb3JhZ2UgYSDDqWNob3XDqSIKIAotIzogYnVpbHRpbi9ybS5jOjE1CisjOiBidWlsdGluL3JtLmM6MTcKIG1zZ2lkICJnaXQgcm0gW29wdGlvbnNdIFstLV0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgcm0gW29wdGlvbnNdIFstLV0gPGZpY2hpZXI+Li4uIgogCi0jOiBidWlsdGluL3JtLmM6NjQgYnVpbHRpbi9ybS5jOjE4NgotIywgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vcm0uYzo2NQogbXNnaWQgIiIKLSJzdWJtb2R1bGUgJyVzJyAob3Igb25lIG9mIGl0cyBuZXN0ZWQgc3VibW9kdWxlcykgdXNlcyBhIC5naXQgZGlyZWN0b3J5XG4iCisidGhlIGZvbGxvd2luZyBzdWJtb2R1bGUgKG9yIG9uZSBvZiBpdHMgbmVzdGVkIHN1Ym1vZHVsZXMpXG4iCisidXNlcyBhIC5naXQgZGlyZWN0b3J5OiIKK21zZ2lkX3BsdXJhbCAiIgorInRoZSBmb2xsb3dpbmcgc3VibW9kdWxlcyAob3Igb25lIG9mIGl0cyBuZXN0ZWQgc3VibW9kdWxlcylcbiIKKyJ1c2UgYSAuZ2l0IGRpcmVjdG9yeToiCittc2dzdHJbMF0gIiIKKyJsZSBzb3VzLW1vZHVsZSBzdWl2YW50IChvdSB1biBkZSBzZXMgc291cy1tb2R1bGVzIGltYnJpcXXDqXMpXG4iCisidXRpbGlzZSB1biByw6lwZXJ0b2lyZSAuZ2l0IDoiCittc2dzdHJbMV0gIiIKKyJsZXMgc291cy1tb2R1bGVzIHN1aXZhbnRzIChvdSB1biBkZSBzZXMgc291cy1tb2R1bGVzIGltYnJpcXXDqXMpXG4iCisidXRpbGlzZW50IHVuIHLDqXBlcnRvaXJlIC5naXQgOiIKKworIzogYnVpbHRpbi9ybS5jOjcxCittc2dpZCAiIgorIlxuIgogIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKIG1zZ3N0ciAiIgotImxlIHNvdXMtbW9kdWxlICclcycgKG91IHVuIGRlcyBzb3VzLW1vZHVsZXMgaW1icmlxdcOpcykgdXRpbGlzZSB1biByw6lwZXJ0b2lyZSAuZ2l0XG4iCi0iKHV0aWxpc2V6ICdybSAtcmYnIHNpIHZvdXMgc291aGFpdGV6IHZyYWltZW50IGxlIHN1cHByaW1lciBhdmVjIHRvdXQgc29uIGhpc3RvcmlxdWUpIgorIlxuIgorIih1dGlsaXNleiAncm0gLXJmJyBzaSB2b3VzIHZvdWxleiB2cmFpbWVudCBsZSBzdXBwcmltZXIgZW4gaW5jbHVhbnQgdG91dCBzb24gIgorImhpc3RvcmlxdWUpIgogCi0jOiBidWlsdGluL3JtLmM6MTc0Ci0jLCBjLWZvcm1hdAorIzogYnVpbHRpbi9ybS5jOjIzMQogbXNnaWQgIiIKLSInJXMnIGhhcyBzdGFnZWQgY29udGVudCBkaWZmZXJlbnQgZnJvbSBib3RoIHRoZSBmaWxlIGFuZCB0aGUgSEVBRFxuIgorInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKKyJmaWxlIGFuZCB0aGUgSEVBRDoiCittc2dpZF9wbHVyYWwgIiIKKyJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKKyJmaWxlIGFuZCB0aGUgSEVBRDoiCittc2dzdHJbMF0gIiIKKyJsZSBmaWNoaWVyIHN1aXZhbnQgYSBkdSBjb250ZW51IGluZGV4w6kgZGlmZsOpcmVudFxuIgorImR1IGZpY2hpZXIgZXQgZGUgSEVBRCA6IgorbXNnc3RyWzFdICIiCisibGVzIGZpY2hpZXJzIHN1aXZhbnRzIG9udCBkdSBjb250ZW51IGluZGV4w6kgZGlmZsOpcmVudFxuIgorImR1IGZpY2hpZXIgZXQgZGUgSEVBRCA6IgorCisjOiBidWlsdGluL3JtLmM6MjM2Cittc2dpZCAiIgorIlxuIgogIih1c2UgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCiBtc2dzdHIgIiIKLSInJXMnIGEgZHUgY29udGVudSBpbmRleMOpIGRpZmbDqXJlbnQgZHUgZmljaGllciBldCBkZSBIRUFEXG4iCisiXG4iCiAiKHV0aWxpc2V6IC1mIHBvdXIgZm9yY2VyIGxhIHN1cHByZXNzaW9uKSIKIAotIzogYnVpbHRpbi9ybS5jOjE4MAotIywgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vcm0uYzoyNDAKK21zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCittc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgorbXNnc3RyWzBdICJsZSBmaWNoaWVyIHN1aXZhbnQgYSBkZXMgY2hhbmdlbWVudHMgaW5kZXjDqXMgOiIKK21zZ3N0clsxXSAibGVzIGZpY2hpZXJzIHN1aXZhbnRzIG9udCBkZXMgY2hhbmdlbWVudHMgaW5kZXjDqXMgOiIKKworIzogYnVpbHRpbi9ybS5jOjI0NCBidWlsdGluL3JtLmM6MjU1CiBtc2dpZCAiIgotIiclcycgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleFxuIgorIlxuIgogIih1c2UgLS1jYWNoZWQgdG8ga2VlcCB0aGUgZmlsZSwgb3IgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCiBtc2dzdHIgIiIKLSInJXMnIGEgZGVzIGNoYW5nZW1lbnRzIGRhbnMgbCdpbmRleFxuIgorIlxuIgogIih1dGlsaXNleiAtLWNhY2hlZCBwb3VyIGdhcmRlciBsZSBmaWNoaWVyLCBvdSAtZiBwb3VyIGZvcmNlciBsYSBzdXBwcmVzc2lvbikiCiAKLSM6IGJ1aWx0aW4vcm0uYzoxOTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIiclcycgaGFzIGxvY2FsIG1vZGlmaWNhdGlvbnNcbiIKLSIodXNlIC0tY2FjaGVkIHRvIGtlZXAgdGhlIGZpbGUsIG9yIC1mIHRvIGZvcmNlIHJlbW92YWwpIgotbXNnc3RyICIiCi0iJyVzJyBhIGRlcyBtb2RpZmljYXRpb25zIGxvY2FsZXNcbiIKLSIodXRpbGlzZXogLS1jYWNoZWQgcG91ciBnYXJkZXIgbGUgZmljaGllciwgb3UgLWYgcG91ciBmb3JjZXIgbGEgc3VwcHJlc3Npb24pIgorIzogYnVpbHRpbi9ybS5jOjI1MgorbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCittc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKK21zZ3N0clswXSAibGUgZmljaGllciBzdWl2YW50IGEgZGVzIG1vZGlmaWNhdGlvbnMgbG9jYWxlcyA6IgorbXNnc3RyWzFdICJsZXMgZmljaGllcnMgc3VpdmFudHMgb250IGRlcyBtb2RpZmljYXRpb25zIGxvY2FsZXMgOiIKIAotIzogYnVpbHRpbi9ybS5jOjIwNworIzogYnVpbHRpbi9ybS5jOjI3MAogbXNnaWQgImRvIG5vdCBsaXN0IHJlbW92ZWQgZmlsZXMiCiBtc2dzdHIgIm5lIHBhcyBhZmZpY2hlciBsZXMgZmljaGllcnMgc3VwcHJpbcOpcyIKIAotIzogYnVpbHRpbi9ybS5jOjIwOAorIzogYnVpbHRpbi9ybS5jOjI3MQogbXNnaWQgIm9ubHkgcmVtb3ZlIGZyb20gdGhlIGluZGV4IgogbXNnc3RyICJzdXBwcmltZXIgc2V1bGVtZW50IGRlIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMDkKKyM6IGJ1aWx0aW4vcm0uYzoyNzIKIG1zZ2lkICJvdmVycmlkZSB0aGUgdXAtdG8tZGF0ZSBjaGVjayIKIG1zZ3N0ciAib3V0cmVwYXNzZXIgbGEgdsOpcmlmaWNhdGlvbiBkZXMgZmljaGllcnMgw6Agam91ciIKIAotIzogYnVpbHRpbi9ybS5jOjIxMAorIzogYnVpbHRpbi9ybS5jOjI3MwogbXNnaWQgImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIgogbXNnc3RyICJhdXRvcmlzZXIgbGEgc3VwcHJlc3Npb24gcsOpY3Vyc2l2ZSIKIAotIzogYnVpbHRpbi9ybS5jOjIxMgorIzogYnVpbHRpbi9ybS5jOjI3NQogbXNnaWQgImV4aXQgd2l0aCBhIHplcm8gc3RhdHVzIGV2ZW4gaWYgbm90aGluZyBtYXRjaGVkIgogbXNnc3RyICJzb3J0aXIgYXZlYyB1biBzdGF0dXQgesOpcm8gbcOqbWUgc2kgcmllbiBuZSBjb3JyZXNwb25kYWl0IgogCi0jOiBidWlsdGluL3JtLmM6MjgzCisjOiBidWlsdGluL3JtLmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCByZW1vdmluZyAnJXMnIHJlY3Vyc2l2ZWx5IHdpdGhvdXQgLXIiCiBtc2dzdHIgInBhcyBkZSBzdXBwcmVzc2lvbiByw6ljdXJzaXZlIGRlICclcycgc2FucyAtciIKIAotIzogYnVpbHRpbi9ybS5jOjMyMgorIzogYnVpbHRpbi9ybS5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgcm06IHVuYWJsZSB0byByZW1vdmUgJXMiCiBtc2dzdHIgImdpdCBybSA6IGltcG9zc2libGUgZGUgc3VwcHJpbWVyICVzIgpAQCAtODI4MiwyMyArOTIyMCwyNSBAQAogbXNnaWQgIk1pc3NpbmcgYXV0aG9yOiAlcyIKIG1zZ3N0ciAiQXV0ZXVyIG1hbnF1YW50IDogJXMiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMjcKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzAKIG1zZ2lkICJzb3J0IG91dHB1dCBhY2NvcmRpbmcgdG8gdGhlIG51bWJlciBvZiBjb21taXRzIHBlciBhdXRob3IiCiBtc2dzdHIgInRyaWVyIGxhIHNvcnRpZSBzdXIgbGUgbm9tYnJlIGRlIHZhbGlkYXRpb25zIHBhciBhdXRldXIiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMjkKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzIKIG1zZ2lkICJTdXBwcmVzcyBjb21taXQgZGVzY3JpcHRpb25zLCBvbmx5IHByb3ZpZGVzIGNvbW1pdCBjb3VudCIKLW1zZ3N0ciAiU3VwcHJpbWVyIGxlcyBkZXNjcmlwdGlvbnMgZGUgdmFsaWRhdGlvbiwgZm91cm5pdCBzZXVsZW1lbnQgbGUgbm9tYnJlIGRlIHZhbGlkYXRpb25zIgorbXNnc3RyICIiCisiU3VwcHJpbWVyIGxlcyBkZXNjcmlwdGlvbnMgZGUgdmFsaWRhdGlvbiwgZm91cm5pdCBzZXVsZW1lbnQgbGUgbm9tYnJlIGRlICIKKyJ2YWxpZGF0aW9ucyIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMQorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzNAogbXNnaWQgIlNob3cgdGhlIGVtYWlsIGFkZHJlc3Mgb2YgZWFjaCBhdXRob3IiCiBtc2dzdHIgIkFmZmljaGVyIGwnYWRyZXNzZSBlLW1haWwgZGUgY2hhcXVlIGF1dGV1ciIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMgorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzNQogbXNnaWQgIndbLGkxWyxpMl1dIgogbXNnc3RyICJ3WyxpMVssaTJdXSIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzNgogbXNnaWQgIkxpbmV3cmFwIG91dHB1dCIKIG1zZ3N0ciAiQ291cGVyIGxlcyBsaWduZXMiCiAKQEAgLTgzMDgsNyArOTI0OCwxMSBAQAogImN1cnJlbnRdIFstLWNvbG9yWz08d2hlbj5dIHwgLS1uby1jb2xvcl0gWy0tc3BhcnNlXSBbLS1tb3JlPTxuPiB8IC0tbGlzdCB8IC0tIgogImluZGVwZW5kZW50IHwgLS1tZXJnZS1iYXNlXSBbLS1uby1uYW1lIHwgLS1zaGExLW5hbWVdIFstLXRvcGljc10gWyg8cmV2PiB8ICIKICI8Z2xvYj4pLi4uXSIKLW1zZ3N0ciAiZ2l0IHNob3ctYnJhbmNoIFstYXwtLWFsbF0gWy1yfC0tcmVtb3Rlc10gWy0tdG9wby1vcmRlciB8IC0tZGF0ZS1vcmRlcl0gWy0tY3VycmVudF0gWy0tY29sb3JbPTxxdWFuZD5dIHwgLS1uby1jb2xvcl0gWy0tc3BhcnNlXSBbLS1tb3JlPTxuPiB8IC0tbGlzdCB8IC0taW5kZXBlbmRlbnQgfCAtLW1lcmdlLWJhc2VdIFstLW5vLW5hbWUgfCAtLXNoYTEtbmFtZV0gWy0tdG9waWNzXSBbKDxyw6l2aXNpb24+IHwgPGdsb2I+KS4uLl0iCittc2dzdHIgIiIKKyJnaXQgc2hvdy1icmFuY2ggWy1hfC0tYWxsXSBbLXJ8LS1yZW1vdGVzXSBbLS10b3BvLW9yZGVyIHwgLS1kYXRlLW9yZGVyXSBbLS0iCisiY3VycmVudF0gWy0tY29sb3JbPTxxdWFuZD5dIHwgLS1uby1jb2xvcl0gWy0tc3BhcnNlXSBbLS1tb3JlPTxuPiB8IC0tbGlzdCB8ICIKKyItLWluZGVwZW5kZW50IHwgLS1tZXJnZS1iYXNlXSBbLS1uby1uYW1lIHwgLS1zaGExLW5hbWVdIFstLXRvcGljc10gIgorIlsoPHLDqXZpc2lvbj4gfCA8Z2xvYj4pLi4uXSIKIAogIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjEwCiBtc2dpZCAiZ2l0IHNob3ctYnJhbmNoICgtZ3wtLXJlZmxvZylbPTxuPlssPGJhc2U+XV0gWy0tbGlzdF0gWzxyZWY+XSIKQEAgLTgzMzYsNyArOTI4MCw3IEBACiAKICM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTkKIG1zZ2lkICJzdXBwcmVzcyBuYW1pbmcgc3RyaW5ncyIKLW1zZ3N0ciAiIgorbXNnc3RyICJzdXBwcmltZXIgbGVzIGNoYcOubmVzIGRlIG5vbW1hZ2UiCiAKICM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjEKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKQEAgLTgzNTIsNzMgKzkyOTYsODIgQEAKIAogIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NwogbXNnaWQgInNob3cgcmVmcyB1bnJlYWNoYWJsZSBmcm9tIGFueSBvdGhlciByZWYiCi1tc2dzdHIgImFmZmljaGVyIGxlcyByw6lmw6lyZW5jZXMgbm9uIGFjY2Vzc2libGVzIGRlcHVpcyB0b3V0ZSBhdXRyZSByw6lmw6lyZW5jZSIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIHLDqWbDqXJlbmNlcyBpbmFjY2Vzc2libGVzIGRlcHVpcyB0b3V0ZSBhdXRyZSByw6lmw6lyZW5jZSIKIAogIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQogbXNnaWQgInNob3cgY29tbWl0cyBpbiB0b3BvbG9naWNhbCBvcmRlciIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIHZhbGlkYXRpb25zIGRhbnMgbCdvcmRyZSB0b3BvbG9naXF1ZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MgogbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgotbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIHZhbGlkYXRpb25zIHF1aSBuZSBzb250IHBhcyBzdXIgbGEgcHJlbWnDqHJlIGJyYW5jaGUiCittc2dzdHIgIiIKKyJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIHZhbGlkYXRpb25zIHF1aSBuZSBzb250IHBhcyBzdXIgbGEgcHJlbWnDqHJlIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzQKIG1zZ2lkICJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBmdXNpb25zIGFjY2Vzc2libGVzIGRlcHVpcyB1bmUgc2V1bGUgcG9pbnRlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc1Ci1tc2dpZCAic2hvdyBjb21taXRzIHdoZXJlIG5vIHBhcmVudCBjb21lcyBiZWZvcmUgaXRzIGNoaWxkcmVuIgotbXNnc3RyICJhZmZpY2hlciBsZXMgdmFsaWRhdGlvbnMgb8O5IGF1Y3VuIHBhcmVudCBuZSB2aWVudCBhdmFudCBzZXMgZW5mYW50cyIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzYKK21zZ2lkICJ0b3BvbG9naWNhbGx5IHNvcnQsIG1haW50YWluaW5nIGRhdGUgb3JkZXIgd2hlcmUgcG9zc2libGUiCittc2dzdHIgInRyaSB0b3BvbG9naXF1ZSwgbWFpbnRlbmFudCBsJ29yZHJlIHBhciBkYXRlIHNpIHBvc3NpYmxlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc5CiBtc2dpZCAiPG4+Wyw8YmFzZT5dIgogbXNnc3RyICI8bj5bLDxiYXNlPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2ODAKIG1zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKLW1zZ3N0ciAiYWZmaWNoZXIgbGVzIDxuPiBwbHVzIHLDqWNlbnRlcyBlbnRyw6llcyBkZSByZWYtbG9nIGVuIGNvbW1lbsOnYW50IMOgIGxhIGJhc2UiCittc2dzdHIgIiIKKyJhZmZpY2hlciBsZXMgPG4+IHBsdXMgcsOpY2VudHMgw6lsw6ltZW50cyBkZSByZWYtbG9nIGVuIGNvbW1lbsOnYW50IMOgIGxhIGJhc2UiCiAKICM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMAogbXNnaWQgIiIKICJnaXQgc2hvdy1yZWYgWy1xfC0tcXVpZXRdIFstLXZlcmlmeV0gWy0taGVhZF0gWy1kfC0tZGVyZWZlcmVuY2VdIFstc3wtLSIKICJoYXNoWz08bj5dXSBbLS1hYmJyZXZbPTxuPl1dIFstLXRhZ3NdIFstLWhlYWRzXSBbLS1dIFtwYXR0ZXJuKl0gIgotbXNnc3RyICJnaXQgc2hvdy1yZWYgWy1xfC0tcXVpZXRdIFstLXZlcmlmeV0gWy0taGVhZF0gWy1kfC0tZGVyZWZlcmVuY2VdIFstc3wtLWhhc2hbPTxuPl1dIFstLWFiYnJldls9PG4+XV0gWy0tdGFnc10gWy0taGVhZHNdIFstLV0gW21vdGlmKl0gIgorbXNnc3RyICIiCisiZ2l0IHNob3ctcmVmIFstcXwtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZHwtLWRlcmVmZXJlbmNlXSBbLXN8LS0iCisiaGFzaFs9PG4+XV0gWy0tYWJicmV2Wz08bj5dXSBbLS10YWdzXSBbLS1oZWFkc10gWy0tXSBbbW90aWYqXSAiCiAKICM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMQogbXNnaWQgImdpdCBzaG93LXJlZiAtLWV4Y2x1ZGUtZXhpc3RpbmdbPXBhdHRlcm5dIDwgcmVmLWxpc3QiCiBtc2dzdHIgImdpdCBzaG93LXJlZiAtLWV4Y2x1ZGUtZXhpc3RpbmdbPW1vdGlmXSA8IGxpc3RlLXLDqWbDqXJlbmNlcyIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NQorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2OAogbXNnaWQgIm9ubHkgc2hvdyB0YWdzIChjYW4gYmUgY29tYmluZWQgd2l0aCBoZWFkcykiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgw6l0aXF1ZXR0ZXMgKHBldXQgw6p0cmUgY29tYmluw6kgYXZlYyBkZXMgdMOqdGVzKSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2OQogbXNnaWQgIm9ubHkgc2hvdyBoZWFkcyAoY2FuIGJlIGNvbWJpbmVkIHdpdGggdGFncykiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgdMOqdGVzIChwZXV0IMOqdHJlIGNvbWJpbsOpIGF2ZWMgZGVzIMOpdGlxdWV0dGVzKSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NworIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MAogbXNnaWQgInN0cmljdGVyIHJlZmVyZW5jZSBjaGVja2luZywgcmVxdWlyZXMgZXhhY3QgcmVmIHBhdGgiCi1tc2dzdHIgInbDqXJpZmljYXRpb24gZGUgcsOpZsOpcmVuY2UgcGx1cyBzdHJpY3RlLCByZXF1aWVydCB1biBjaGVtaW4gZGUgcsOpZsOpcmVuY2UgZXhhY3QiCittc2dzdHIgIiIKKyJ2w6lyaWZpY2F0aW9uIGRlIHLDqWbDqXJlbmNlIHBsdXMgc3RyaWN0ZSwgbsOpY2Vzc2l0ZSB1biBjaGVtaW4gZGUgcsOpZsOpcmVuY2UgIgorImV4YWN0IgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTcwIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzIKLW1zZ2lkICJzaG93IHRoZSBIRUFEIHJlZmVyZW5jZSIKLW1zZ3N0ciAiYWZmaWNoZXIgbGEgcsOpZsOpcmVuY2UgSEVBRCIKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzMgYnVpbHRpbi9zaG93LXJlZi5jOjE3NQorbXNnaWQgInNob3cgdGhlIEhFQUQgcmVmZXJlbmNlLCBldmVuIGlmIGl0IHdvdWxkIGJlIGZpbHRlcmVkIG91dCIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgcsOpZsOpcmVuY2UgSEVBRCwgbcOqbWUgc2kgZWxsZSBzZXJhaXQgZmlsdHLDqWUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzQKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzcKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGludG8gb2JqZWN0IElEcyIKIG1zZ3N0ciAiZMOpcsOpZsOpcmVuY2VyIGxlcyDDqXRpcXVldHRlcyBlbiBJRHMgZCdvYmpldCIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OQogbXNnaWQgIm9ubHkgc2hvdyBTSEExIGhhc2ggdXNpbmcgPG4+IGRpZ2l0cyIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlIGhhY2hhZ2UgU0hBMSBlbiB1dGlsaXNhbnQgPG4+IGNoaWZmcmVzIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTgwCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTgzCiBtc2dpZCAiZG8gbm90IHByaW50IHJlc3VsdHMgdG8gc3Rkb3V0ICh1c2VmdWwgd2l0aCAtLXZlcmlmeSkiCi1tc2dzdHIgIm5lIHBhcyBhZmZpY2hlciBsZXMgcsOpc3VsdGF0cyBzdXIgbGEgc29ydGllIHN0YW5kYXJkIChwcmF0aXF1ZSBhdmVjIC0tdmVyaWZ5KSIKK21zZ3N0ciAiIgorIm5lIHBhcyBhZmZpY2hlciBsZXMgcsOpc3VsdGF0cyBzdXIgbGEgc29ydGllIHN0YW5kYXJkIChwcmF0aXF1ZSBhdmVjIC0tdmVyaWZ5KSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4MgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4NQogbXNnaWQgInNob3cgcmVmcyBmcm9tIHN0ZGluIHRoYXQgYXJlbid0IGluIGxvY2FsIHJlcG9zaXRvcnkiCi1tc2dzdHIgImFmZmljaGVyIGxlcyByw6lmw6lyZW5jZXMgZGUgbCdlbnRyw6llIHN0YW5kYXJkIHF1aSBuZSBzb250IHBhcyBkYW5zIGxlIGTDqXDDtHQgbG9jYWwiCittc2dzdHIgIiIKKyJhZmZpY2hlciBsZXMgcsOpZsOpcmVuY2VzIGRlIGwnZW50csOpZSBzdGFuZGFyZCBxdWkgbmUgc29udCBwYXMgZGFucyBsZSBkw6lww7R0ICIKKyJsb2NhbCIKIAogIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo3CiBtc2dpZCAiZ2l0IHN5bWJvbGljLXJlZiBbb3B0aW9uc10gbmFtZSBbcmVmXSIKQEAgLTg0MzAsNyArOTM4Myw4IEBACiAKICM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDAKIG1zZ2lkICJzdXBwcmVzcyBlcnJvciBtZXNzYWdlIGZvciBub24tc3ltYm9saWMgKGRldGFjaGVkKSByZWZzIgotbXNnc3RyICJzdXBwcmltZXIgbGUgbWVzc2FnZSBkJ2VycmV1ciBwb3VyIHVuZSByw6lmw6lyZW5jZSBub24gc3ltYm9saXF1ZSAoZMOpdGFjaMOpZSkiCittc2dzdHIgIiIKKyJzdXBwcmltZXIgbGUgbWVzc2FnZSBkJ2VycmV1ciBwb3VyIHVuZSByw6lmw6lyZW5jZSBub24gc3ltYm9saXF1ZSAoZMOpdGFjaMOpZSkiCiAKICM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDEKIG1zZ2lkICJkZWxldGUgc3ltYm9saWMgcmVmIgpAQCAtODQ0MCwxOCArOTM5NCwyMCBAQAogbXNnaWQgInNob3J0ZW4gcmVmIG91dHB1dCIKIG1zZ3N0ciAicmFjY291cmNpciBsJ2FmZmljaGFnZSBkZSBsYSByw6lmw6lyZW5jZSIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoxOAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTQKIG1zZ2lkICJyZWFzb24iCiBtc2dzdHIgInJhaXNvbiIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoxOAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTQKIG1zZ2lkICJyZWFzb24gb2YgdGhlIHVwZGF0ZSIKIG1zZ3N0ciAicmFpc29uIGRlIGxhIG1pc2Ugw6Agam91ciIKIAogIzogYnVpbHRpbi90YWcuYzoyMgogbXNnaWQgIiIKICJnaXQgdGFnIFstYXwtc3wtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz58LUYgPGZpbGU+XSA8dGFnbmFtZT4gWzxoZWFkPl0iCi1tc2dzdHIgImdpdCB0YWcgWy1hfC1zfC11IDxpZC1jbMOpPl0gWy1mXSBbLW0gPG1zZz58LUYgPGZpbGU+XSA8bm9tw6l0aXF1ZXR0ZT4gWzxoZWFkPl0iCittc2dzdHIgIiIKKyJnaXQgdGFnIFstYXwtc3wtdSA8aWQtY2zDqT5dIFstZl0gWy1tIDxtZXNzYWdlPnwtRiA8ZmlsZT5dIDxub23DqXRpcXVldHRlPiAiCisiWzxoZWFkPl0iCiAKICM6IGJ1aWx0aW4vdGFnLmM6MjMKIG1zZ2lkICJnaXQgdGFnIC1kIDx0YWduYW1lPi4uLiIKQEAgLTg1MTUsNyArOTQ3MSw4IEBACiBtc2dzdHIgIiIKICJcbiIKICLDiWNyaXJlIHVuIG1lc3NhZ2UgcG91ciBsJ8OpdGlxdWV0dGVcbiIKLSJMZXMgbGlnbmVzIGNvbW1lbsOnYW50IHBhciAnJWMnIHNlcm9udCBnYXJkw6llcyA7IHZvdXMgcG91dmV6IGxlcyByZXRpcmVyIHZvdXMtbcOqbWUgc2kgdm91cyBsZSBzb3VoYWl0ZXouXG4iCisiTGVzIGxpZ25lcyBjb21tZW7Dp2FudCBwYXIgJyVjJyBzZXJvbnQgZ2FyZMOpZXMgOyB2b3VzIHBvdXZleiBsZXMgcmV0aXJlciB2b3VzLSIKKyJtw6ptZSBzaSB2b3VzIGxlIHNvdWhhaXRlei5cbiIKIAogIzogYnVpbHRpbi90YWcuYzoyOTIKIG1zZ2lkICJ1bmFibGUgdG8gc2lnbiB0aGUgdGFnIgpAQCAtODU0NCw3ICs5NTAxLDcgQEAKIAogIzogYnVpbHRpbi90YWcuYzo0MjMKIG1zZ2lkICJzd2l0Y2ggJ3BvaW50cy1hdCcgcmVxdWlyZXMgYW4gb2JqZWN0IgotbXNnc3RyICJsZSBjb21tdXRhdGV1ciAncG9pbnRzLWF0JyByZXF1aWVydCB1biBvYmpldCIKK21zZ3N0ciAibGUgY29tbXV0YXRldXIgJ3BvaW50cy1hdCcgYSBiZXNvaW4gZCd1biBvYmpldCIKIAogIzogYnVpbHRpbi90YWcuYzo0MjUKICMsIGMtZm9ybWF0CkBAIC04NjA3LDE4MiArOTU2NCwyMDAgQEAKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyDDqXRpcXVldHRlcyBkZSBsJ29iamV0IgogCi0jOiBidWlsdGluL3RhZy5jOjUwNAorIzogYnVpbHRpbi90YWcuYzo1MDEKIG1zZ2lkICItLWNvbHVtbiBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4gZXQgLW4gc29udCBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3RhZy5jOjUyMQorIzogYnVpbHRpbi90YWcuYzo1MTgKIG1zZ2lkICItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgogbXNnc3RyICJsJ29wdGlvbiAtbiBlc3QgYXV0b3Jpc8OpZSBzZXVsZW1lbnQgYXZlYyAtbC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTIzCisjOiBidWlsdGluL3RhZy5jOjUyMAogbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKIG1zZ3N0ciAibCdvcHRpb24gLS1jb250YWlucyBlc3QgYXV0b3Jpc8OpZSBzZXVsZW1lbnQgYXZlYyAtbC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTI1CisjOiBidWlsdGluL3RhZy5jOjUyMgogbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCiBtc2dzdHIgImwnb3B0aW9uIC0tcG9pbnRzLWF0IGVzdCBhdXRvcmlzw6llIHNldWxlbWVudCBhdmVjIC1sLiIKIAotIzogYnVpbHRpbi90YWcuYzo1MzMKKyM6IGJ1aWx0aW4vdGFnLmM6NTMwCiBtc2dpZCAib25seSBvbmUgLUYgb3IgLW0gb3B0aW9uIGlzIGFsbG93ZWQuIgogbXNnc3RyICJ1bmUgc2V1bGUgb3B0aW9uIC1GIG91IC1tIGVzdCBhdXRvcmlzw6llLiIKIAotIzogYnVpbHRpbi90YWcuYzo1NTMKKyM6IGJ1aWx0aW4vdGFnLmM6NTUwCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1zIgogbXNnc3RyICJ0cm9wIGRlIHBhcmFtw6h0cmVzIgogCi0jOiBidWlsdGluL3RhZy5jOjU1OQorIzogYnVpbHRpbi90YWcuYzo1NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0YWcgbmFtZS4iCiBtc2dzdHIgIiclcycgbidlc3QgcGFzIHVuIG5vbSBkJ8OpdGlxdWV0dGUgdmFsaWRlLiIKIAotIzogYnVpbHRpbi90YWcuYzo1NjQKKyM6IGJ1aWx0aW4vdGFnLmM6NTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJsJ8OpdGlxdWV0dGUgJyVzJyBleGlzdGUgZMOpasOgIgogCi0jOiBidWlsdGluL3RhZy5jOjU4MgorIzogYnVpbHRpbi90YWcuYzo1NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBsb2NrIHRoZSByZWYiCiBtc2dzdHIgIiVzIDogaW1wb3NzaWJsZSBkZSB2ZXJyb3VpbGxlciBsYSByw6lmw6lyZW5jZSIKIAotIzogYnVpbHRpbi90YWcuYzo1ODQKKyM6IGJ1aWx0aW4vdGFnLmM6NTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdXBkYXRlIHRoZSByZWYiCiBtc2dzdHIgIiVzIDogaW1wb3NzaWJsZSBkZSBtZXR0cmUgw6Agam91ciBsYSByw6lmw6lyZW5jZSIKIAotIzogYnVpbHRpbi90YWcuYzo1ODYKKyM6IGJ1aWx0aW4vdGFnLmM6NTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiw4l0aXF1ZXR0ZSAnJXMnIG1pc2Ugw6Agam91ciAoZWxsZSDDqXRhaXQgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NDAxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjQwMgogbXNnaWQgImdpdCB1cGRhdGUtaW5kZXggW29wdGlvbnNdIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggW29wdGlvbnNdIFstLV0gWzxmaWNoaWVyPi4uLl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzE4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyMAogbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKIG1zZ3N0ciAiY29udGludWVyIGRlIHJhZnJhw65jaGlyIG3Dqm1lIHNpIGwnaW5kZXggYSBiZXNvaW4gZCd1bmUgbWlzZSDDoCBqb3VyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjMKIG1zZ2lkICJyZWZyZXNoOiBpZ25vcmUgc3VibW9kdWxlcyIKIG1zZ3N0ciAicmFmcmHDrmNoaXIgOiBpZ25vcmVyIGxlcyBzb3VzLW1vZHVsZXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyNgogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICJuZSBwYXMgaWdub3JlciBsZXMgbm91dmVhdXggZmljaGllcnMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyOAogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICJsYWlzc2VyIGxlcyBmaWNoaWVycyByZW1wbGFjZXIgZGVzIHLDqXBlcnRvaXJlcyBldCB2aWNlLXZlcnNhIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzAKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJhdmlzZXIgZGVzIGZpY2hpZXJzIG1hbnF1YW50cyBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczMgogbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgotbXNnc3RyICJyYWZyYcOuY2hpciBtw6ptZSBzaSBsJ2luZGV4IGNvbnRpZW50IGRlcyBlbnRyw6llcyBub24gZnVzaW9ubsOpZXMiCittc2dzdHIgInJhZnJhw65jaGlyIG3Dqm1lIHNpIGwnaW5kZXggY29udGllbnQgZGVzIMOpbMOpbWVudHMgbm9uIGZ1c2lvbm7DqXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczNQogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAicmFmcmHDrmNoaXIgbCdpbmZvcm1hdGlvbiBkZSBzdGF0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczNworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzkKIG1zZ2lkICJsaWtlIC0tcmVmcmVzaCwgYnV0IGlnbm9yZSBhc3N1bWUtdW5jaGFuZ2VkIHNldHRpbmciCiBtc2dzdHIgImNvbW1lIC0tcmVmcmVzaCwgbWFpcyBlbiBpZ25vcmFudCBsJ29wdGlvbiBhc3N1bWUtdW5jaGFuZ2VkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDMKIG1zZ2lkICI8bW9kZT4gPG9iamVjdD4gPHBhdGg+IgogbXNnc3RyICI8bW9kZT4gPG9iamV0PiA8Y2hlbWluPiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ0CiBtc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgotbXNnc3RyICJham91dGVyIGwnZW50csOpZSBzcMOpY2lmacOpZSBkYW5zIGwnaW5kZXgiCittc2dzdHIgImFqb3V0ZXIgbCfDqWzDqW1lbnQgc3DDqWNpZmnDqSBkYW5zIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0OAogbXNnaWQgIigrLy0peCIKIG1zZ3N0ciAiKCsvLSl4IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDkKIG1zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKIG1zZ3N0ciAib3V0cmVwYXNzZXIgbGUgYml0IGV4w6ljdXRhYmxlIHBvdXIgbGVzIGZpY2hpZXJzIGxpc3TDqXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzUxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1MwogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJub3QgY2hhbmdpbmdcIiIKIG1zZ3N0ciAibWFycXVlciBsZXMgZmljaGllcnMgY29tbWUgXCJub24gY2hhbmdlYW50c1wiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTYKIG1zZ2lkICJjbGVhciBhc3N1bWVkLXVuY2hhbmdlZCBiaXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAibWV0dHJlIMOgIHrDqXJvIGxlIGJpdCBzdXBwb3PDqS1ub24tbW9kaWZpw6kiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1OQogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJpbmRleC1vbmx5XCIiCiBtc2dzdHIgIm1hcnF1ZXIgbGVzIGZpY2hpZXJzIGNvbW1lIFwiaW5kZXggc2V1bGVtZW50XCIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzYwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2MgogbXNnaWQgImNsZWFyIHNraXAtd29ya3RyZWUgYml0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzYzCi1tc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCi1tc2dzdHIgImFqb3V0ZXIgc2V1bGVtZW50IMOgIGwnaW5kZXggOyBuZSBwYXMgYWpvdXRlciBsZSBjb250ZW51IGRhbnMgbGEgYmFzZSBkZSBkb25uw6llcyBkZXMgb2JqZXRzIgorbXNnc3RyICJtZXR0cmUgw6AgesOpcm8gbGUgYml0IHNhdXRlci1sYS1jb3BpZS1kZSB0cmF2YWlsIgogCiAjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2NQotbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCi1tc2dzdHIgInN1cHByaW1lciBsZXMgY2hlbWlucyBub21tw6lzIG3Dqm1lIHMnaWxzIHNvbnQgcHLDqXNlbnRzIGRhbnMgbGEgY29waWUgZGUgdHJhdmFpbCIKK21zZ2lkICJhZGQgdG8gaW5kZXggb25seTsgZG8gbm90IGFkZCBjb250ZW50IHRvIG9iamVjdCBkYXRhYmFzZSIKK21zZ3N0ciAiIgorImFqb3V0ZXIgc2V1bGVtZW50IMOgIGwnaW5kZXggOyBuZSBwYXMgYWpvdXRlciBsZSBjb250ZW51IGRhbnMgbGEgYmFzZSBkZSAiCisiZG9ubsOpZXMgZGVzIG9iamV0cyIKIAogIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjcKK21zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgorbXNnc3RyICIiCisic3VwcHJpbWVyIGxlcyBjaGVtaW5zIG5vbW3DqXMgbcOqbWUgcydpbHMgc29udCBwcsOpc2VudHMgZGFucyBsYSBjb3BpZSBkZSAiCisidHJhdmFpbCIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjkKIG1zZ2lkICJ3aXRoIC0tc3RkaW46IGlucHV0IGxpbmVzIGFyZSB0ZXJtaW5hdGVkIGJ5IG51bGwgYnl0ZXMiCiBtc2dzdHIgImF2ZWMgLS1zdGRpbiA6IGxlcyBsaWduZXMgZW4gZW50csOpZSBzb250IHRlcm1pbsOpZXMgcGFyIGRlcyBvY3RldHMgbnVscyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzcxCiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibGlyZSBsYSBsaXN0ZSBkZXMgY2hlbWlucyDDoCBtZXR0cmUgw6Agam91ciBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzUKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKLW1zZ3N0ciAiYWpvdXRlciBsZXMgZW50csOpZXMgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCDDoCBsJ2luZGV4IgorbXNnc3RyICJham91dGVyIGxlcyDDqWzDqW1lbnRzIGRlcHVpcyBsJ2VudHLDqWUgc3RhbmRhcmQgw6AgbCdpbmRleCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzc5CiBtc2dpZCAicmVwb3B1bGF0ZSBzdGFnZXMgIzIgYW5kICMzIGZvciB0aGUgbGlzdGVkIHBhdGhzIgogbXNnc3RyICJyZXBldXBsZXIgbGVzIMOpdGFwZXMgbsKwMiBldCBuwrAzIHBvdXIgbGVzIGNoZW1pbnMgbGlzdMOpcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzgzCiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCi1tc2dzdHIgIm1ldHRyZSDDoCBqb3VyIHNldWxlbWVudCBsZXMgZW50csOpZXMgcXVpIGRpZmbDqHJlbnQgZGUgSEVBRCIKK21zZ3N0ciAibWV0dHJlIMOgIGpvdXIgc2V1bGVtZW50IGxlcyDDqWzDqW1lbnRzIHF1aSBkaWZmw6hyZW50IGRlIEhFQUQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzg1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4NwogbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImlnbm9yZXIgbGVzIGZpY2hpZXJzIG1hbnF1YW50cyBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzg4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5MAogbXNnaWQgInJlcG9ydCBhY3Rpb25zIHRvIHN0YW5kYXJkIG91dHB1dCIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGFjdGlvbnMgc3VyIGxhIHNvcnRpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkyCiBtc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCiBtc2dzdHIgIihwb3VyIHBvcmNlbGFpbmVzKSBvdWJsaWVyIGxlcyBjb25mbGl0cyBzYXV2w6lzIGV0IG5vbiByw6lzb2x1cyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzk2CiBtc2dpZCAid3JpdGUgaW5kZXggaW4gdGhpcyBmb3JtYXQiCiBtc2dzdHIgIsOpY3JpcmUgbCdpbmRleCBkYW5zIGNlIGZvcm1hdCIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6NworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6OQogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAtZCA8cmVmbmFtZT4gWzxvbGR2YWw+XSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdIC1kIDxub21yw6lmw6lyZW5jZT4gWzxhbmNpZW5uZXZhbGV1cj5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzo4CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMAogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAgICA8cmVmbmFtZT4gPG5ld3ZhbD4gWzxvbGR2YWw+XSIKLW1zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdICAgIDxub21yw6lmw6lyZW5jZT4gPG5vdXZlbGxldmFsZXVyPiBbPGFuY2llbm5ldmFsZXVyPl0iCittc2dzdHIgIiIKKyJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gICAgPG5vbXLDqWbDqXJlbmNlPiA8bm91dmVsbGV2YWxldXI+ICIKKyJbPGFuY2llbm5ldmFsZXVyPl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjE5CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMQorbXNnaWQgImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAtLXN0ZGluIFstel0iCittc2dzdHIgImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAtLXN0ZGluIFstel0iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1NQogbXNnaWQgImRlbGV0ZSB0aGUgcmVmZXJlbmNlIgogbXNnc3RyICJzdXBwcmltZXIgbGEgcsOpZsOpcmVuY2UiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjIxCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTcKIG1zZ2lkICJ1cGRhdGUgPHJlZm5hbWU+IG5vdCB0aGUgb25lIGl0IHBvaW50cyB0byIKLW1zZ3N0ciAiIgorbXNnc3RyICJtZXR0cmUgw6Agam91ciA8bm9tcsOpZsOpcmVuY2U+IGV0IG5vbiBsYSByw6lmw6lyZW5jZSBwb2ludMOpZSBwYXIgbHVpIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTgKK21zZ2lkICJzdGRpbiBoYXMgTlVMLXRlcm1pbmF0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJsJ2VudHLDqWUgc3RhbmRhcmQgYSBkZXMgYXJndW1lbnRzIHF1aSBzZSB0ZXJtaW5lbnQgcGFyIE5VTCIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU5Cittc2dpZCAicmVhZCB1cGRhdGVzIGZyb20gc3RkaW4iCittc2dzdHIgImxpcmUgbGVzIG1pc2VzIMOgIGpvdXIgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCIKIAogIzogYnVpbHRpbi91cGRhdGUtc2VydmVyLWluZm8uYzo2CiBtc2dpZCAiZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyBbLS1mb3JjZV0iCkBAIC04ODI4LDcgKzk4MDMsNyBAQAogbXNnaWQgIm9ubHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmciCiBtc2dzdHIgInNldWxlbWVudCB1dGlsZSBwb3VyIGxlIGTDqWJvZ2FnZSIKIAotIzogZ2l0LmM6MTYKKyM6IGdpdC5jOjE3CiBtc2dpZCAiIgogIidnaXQgaGVscCAtYScgYW5kICdnaXQgaGVscCAtZycgbGlzdHMgYXZhaWxhYmxlIHN1YmNvbW1hbmRzIGFuZCBzb21lXG4iCiAiY29uY2VwdCBndWlkZXMuIFNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyBvciAnZ2l0IGhlbHAgPGNvbmNlcHQ+J1xuIgpAQCAtODgzOCwyOSArOTgxMywzMyBAQAogInF1ZWxxdWVzIGNvbmNlcHRzLiBWb2lyICdnaXQgaGVscCA8Y29tbWFuZD4nIG91ICdnaXQgaGVscCA8Y29uY2VwdD4nXG4iCiAicG91ciBlbiBsaXJlIHBsdXMgw6AgcHJvcG9zIGQndW5lIGNvbW1hbmRlIHNww6ljaWZpcXVlIG91IGQndW4gY29uY2VwdC4iCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNTYKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNDYKK21zZ2lkICJleHBpcnkgZGF0ZSIKK21zZ3N0ciAiZGF0ZSBkJ2V4cGlyYXRpb24iCisKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNjEKIG1zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCiBtc2dzdHIgInNhbnMgYWN0aW9uIChyw6l0cm9jb21wYXRpYmlsaXTDqSkiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyMzIKKyM6IHBhcnNlLW9wdGlvbnMuaDoyMzgKIG1zZ2lkICJiZSBtb3JlIHZlcmJvc2UiCiBtc2dzdHIgIsOqdHJlIHBsdXMgdmVyYmV1eCIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzNAorIzogcGFyc2Utb3B0aW9ucy5oOjI0MAogbXNnaWQgImJlIG1vcmUgcXVpZXQiCiBtc2dzdHIgIsOqdHJlIHBsdXMgc2lsZW5jaWV1eCIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI0MAorIzogcGFyc2Utb3B0aW9ucy5oOjI0NgogbXNnaWQgInVzZSA8bj4gZGlnaXRzIHRvIGRpc3BsYXkgU0hBLTFzIgogbXNnc3RyICJ1dGlsaXNlciA8bj4gY2hpZmZyZXMgcG91ciBhZmZpY2hlciBsZXMgU0hBLTFzIgogCiAjOiBjb21tb24tY21kcy5oOjgKIG1zZ2lkICJBZGQgZmlsZSBjb250ZW50cyB0byB0aGUgaW5kZXgiCi1tc2dzdHIgIkFqb3V0ZXIgbGUgY29udGVudSBkdSBmaWNoaWVyIGRhbnMgbCdpbmRleCIKK21zZ3N0ciAiQWpvdXRlciBsZSBjb250ZW51IGRlIGZpY2hpZXJzIGRhbnMgbCdpbmRleCIKIAogIzogY29tbW9uLWNtZHMuaDo5CiBtc2dpZCAiRmluZCBieSBiaW5hcnkgc2VhcmNoIHRoZSBjaGFuZ2UgdGhhdCBpbnRyb2R1Y2VkIGEgYnVnIgotbXNnc3RyICJSZWNoZXJjaGVyIGRlIG1hbmnDqHJlIGJpbmFpcmUgbGUgY2hhbmdlbWVudCBxdWkgYSBpbnRyb2R1aXQgdW4gYm9ndWUiCittc2dzdHIgIlRyb3V2ZXIgcGFyIHJlY2hlcmNoZSBiaW5haXJlIGxhIG1vZGlmaWNhdGlvbiBxdWkgYSBpbnRyb2R1aXQgdW4gYm9ndWUiCiAKICM6IGNvbW1vbi1jbWRzLmg6MTAKIG1zZ2lkICJMaXN0LCBjcmVhdGUsIG9yIGRlbGV0ZSBicmFuY2hlcyIKQEAgLTg4NzYsMTEgKzk4NTUsMTMgQEAKIAogIzogY29tbW9uLWNtZHMuaDoxMwogbXNnaWQgIlJlY29yZCBjaGFuZ2VzIHRvIHRoZSByZXBvc2l0b3J5IgotbXNnc3RyICJFbnJlZ2lzdHJlciBsZXMgY2hhbmdlbWVudHMgZGFucyBsZSBkw6lww7R0IgorbXNnc3RyICJFbnJlZ2lzdHJlciBsZXMgbW9kaWZpY2F0aW9ucyBkYW5zIGxlIGTDqXDDtHQiCiAKICM6IGNvbW1vbi1jbWRzLmg6MTQKIG1zZ2lkICJTaG93IGNoYW5nZXMgYmV0d2VlbiBjb21taXRzLCBjb21taXQgYW5kIHdvcmtpbmcgdHJlZSwgZXRjIgotbXNnc3RyICJBZmZpY2hlciBsZXMgY2hhbmdlbWVudHMgZW50cmUgbGVzIHZhbGlkYXRpb25zLCBlbnRyZSB2YWxpZGF0aW9uIGV0IGNvcGllIGRlIHRyYXZhaWwsIGV0YyIKK21zZ3N0ciAiIgorIkFmZmljaGVyIGxlcyBjaGFuZ2VtZW50cyBlbnRyZSBsZXMgdmFsaWRhdGlvbnMsIGVudHJlIHZhbGlkYXRpb24gZXQgY29waWUgZGUgIgorInRyYXZhaWwsIGV0YyIKIAogIzogY29tbW9uLWNtZHMuaDoxNQogbXNnaWQgIkRvd25sb2FkIG9iamVjdHMgYW5kIHJlZnMgZnJvbSBhbm90aGVyIHJlcG9zaXRvcnkiCkBAIC04OTAwLDE1ICs5ODgxLDE1IEBACiAKICM6IGNvbW1vbi1jbWRzLmg6MTkKIG1zZ2lkICJKb2luIHR3byBvciBtb3JlIGRldmVsb3BtZW50IGhpc3RvcmllcyB0b2dldGhlciIKLW1zZ3N0ciAiSm9pbmRyZSBkZXV4IG91IHBsdXNpZXVycyBoaXN0b3JpcXVlcyBkZSBkw6l2ZWxvcHBlbWVudCBlbnNlbWJsZSIKK21zZ3N0ciAiRnVzaW9ubmVyIGRldXggb3UgcGx1c2lldXJzIGhpc3RvcmlxdWVzIGRlIGTDqXZlbG9wcGVtZW50IGVuc2VtYmxlIgogCiAjOiBjb21tb24tY21kcy5oOjIwCiBtc2dpZCAiTW92ZSBvciByZW5hbWUgYSBmaWxlLCBhIGRpcmVjdG9yeSwgb3IgYSBzeW1saW5rIgogbXNnc3RyICJEw6lwbGFjZXIgb3UgcmVub21tZXIgdW4gZmljaGllciwgdW4gcsOpcGVydG9pcmUsIG91IHVuIGxpZW4gc3ltYm9saXF1ZSIKIAogIzogY29tbW9uLWNtZHMuaDoyMQotbXNnaWQgIkZldGNoIGZyb20gYW5kIG1lcmdlIHdpdGggYW5vdGhlciByZXBvc2l0b3J5IG9yIGEgbG9jYWwgYnJhbmNoIgotbXNnc3RyICJSYXBhdHJpZXIgZXQgZnVzaW9ubmVyIGF2ZWMgdW4gYXV0cmUgZMOpcMO0dCBvdSB1bmUgYnJhbmNoZSBsb2NhbGUiCittc2dpZCAiRmV0Y2ggZnJvbSBhbmQgaW50ZWdyYXRlIHdpdGggYW5vdGhlciByZXBvc2l0b3J5IG9yIGEgbG9jYWwgYnJhbmNoIgorbXNnc3RyICJSYXBhdHJpZXIgZXQgaW50w6lncmVyIHVuIGF1dHJlIGTDqXDDtHQgb3UgdW5lIGJyYW5jaGUgbG9jYWxlIgogCiAjOiBjb21tb24tY21kcy5oOjIyCiBtc2dpZCAiVXBkYXRlIHJlbW90ZSByZWZzIGFsb25nIHdpdGggYXNzb2NpYXRlZCBvYmplY3RzIgpAQCAtODkxNiw3ICs5ODk3LDggQEAKIAogIzogY29tbW9uLWNtZHMuaDoyMwogbXNnaWQgIkZvcndhcmQtcG9ydCBsb2NhbCBjb21taXRzIHRvIHRoZSB1cGRhdGVkIHVwc3RyZWFtIGhlYWQiCi1tc2dzdHIgIlJlcG9ydGVyIGVuIGF2YW50IGxlcyB2YWxpZGF0aW9ucyBsb2NhbGVzIGRhbnMgbGEgdMOqdGUgZW4gYW1vbnQgbWlzZSDDoCBqb3VyIgorbXNnc3RyICIiCisiUmVwb3J0ZXIgbGVzIHZhbGlkYXRpb25zIGxvY2FsZXMgc3VyIGxlIHNvbW1ldCBtaXMgw6Agam91ciBkJ3VuZSBicmFuY2hlIGFtb250IgogCiAjOiBjb21tb24tY21kcy5oOjI0CiBtc2dpZCAiUmVzZXQgY3VycmVudCBIRUFEIHRvIHRoZSBzcGVjaWZpZWQgc3RhdGUiCkBAIC04OTI0LDExICs5OTA2LDExIEBACiAKICM6IGNvbW1vbi1jbWRzLmg6MjUKIG1zZ2lkICJSZW1vdmUgZmlsZXMgZnJvbSB0aGUgd29ya2luZyB0cmVlIGFuZCBmcm9tIHRoZSBpbmRleCIKLW1zZ3N0ciAiU3VwcHJpbWVyIGxlcyBmaWNoaWVycyBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsIGV0IGRlIGwnaW5kZXgiCittc2dzdHIgIlN1cHByaW1lciBkZXMgZmljaGllcnMgZGUgbGEgY29waWUgZGUgdHJhdmFpbCBldCBkZSBsJ2luZGV4IgogCiAjOiBjb21tb24tY21kcy5oOjI2CiBtc2dpZCAiU2hvdyB2YXJpb3VzIHR5cGVzIG9mIG9iamVjdHMiCi1tc2dzdHIgIkFmZmljaGVyIGRpZmbDqXJlbnRzIHR5cGVzIGQnb2JqZWN0cyIKK21zZ3N0ciAiQWZmaWNoZXIgZGlmZsOpcmVudHMgdHlwZXMgZCdvYmpldHMiCiAKICM6IGNvbW1vbi1jbWRzLmg6MjcKIG1zZ2lkICJTaG93IHRoZSB3b3JraW5nIHRyZWUgc3RhdHVzIgpAQCAtODkzNiw3ICs5OTE4LDggQEAKIAogIzogY29tbW9uLWNtZHMuaDoyOAogbXNnaWQgIkNyZWF0ZSwgbGlzdCwgZGVsZXRlIG9yIHZlcmlmeSBhIHRhZyBvYmplY3Qgc2lnbmVkIHdpdGggR1BHIgotbXNnc3RyICJDcsOpZXIsIGxpc3Rlciwgc3VwcHJpbWVyIG91IHbDqXJpZmllciB1biBvYmpldCBkJ8OpdGlxdWV0dGUgc2lnbsOpIGF2ZWMgR1BHIgorbXNnc3RyICIiCisiQ3LDqWVyLCBsaXN0ZXIsIHN1cHByaW1lciBvdSB2w6lyaWZpZXIgdW4gb2JqZXQgZCfDqXRpcXVldHRlIHNpZ27DqSBhdmVjIEdQRyIKIAogIzogZ2l0LWFtLnNoOjUwCiBtc2dpZCAiWW91IG5lZWQgdG8gc2V0IHlvdXIgY29tbWl0dGVyIGluZm8gZmlyc3QiCkBAIC04OTUzLDI1ICs5OTM2LDI5IEBACiAjOiBnaXQtYW0uc2g6MTA1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCi0iV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcIiRjbWRsaW5lIC0tcmVzb2x2ZWRcIi5cbiIKKyJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJGNtZGxpbmUgLS1jb250aW51ZVwiLlxuIgogIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCIkY21kbGluZSAtLXNraXBcIiBpbnN0ZWFkLlxuIgogIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJGNtZGxpbmUgLS1hYm9ydFwiLiIKIG1zZ3N0ciAiIgotIkxvcnNxdWUgdm91cyBhdXJleiByw6lzb2x1IGNlIHByb2Jsw6htZSwgbGFuY2V6IFwiJGNtZGxpbmUgLS1yZXNvbHZlZFwiLlxuIgorIkxvcnNxdWUgdm91cyBhdXJleiByw6lzb2x1IGNlIHByb2Jsw6htZSwgbGFuY2V6IFwiJGNtZGxpbmUgLS1jb250aW51ZVwiLlxuIgogIlNpIHZvdXMgcHLDqWbDqXJleiBzYXV0ZXIgY2UgcGF0Y2gsIGxhbmNleiBcIiRjbWRsaW5lIC0tc2tpcFwiIMOgIGxhIHBsYWNlLlxuIgotIlBvdXIgcmVzdGF1cmVyIGxhIGJyYW5jaGUgZCdvcmlnaW5lIGV0IHN0b3BwZXIgbGUgcGF0Y2hhZ2UsIGxhbmNleiBcIiRjbWRsaW5lIC0tYWJvcnRcIi4iCisiUG91ciByZXN0YXVyZXIgbGEgYnJhbmNoZSBkJ29yaWdpbmUgZXQgc3RvcHBlciBsZSBwYXRjaGFnZSwgbGFuY2V6ICIKKyJcIiRjbWRsaW5lIC0tYWJvcnRcIi4iCiAKICM6IGdpdC1hbS5zaDoxMjEKIG1zZ2lkICJDYW5ub3QgZmFsbCBiYWNrIHRvIHRocmVlLXdheSBtZXJnZS4iCi1tc2dzdHIgIkltcG9zc2libGUgZGUgcmV0b3VybmVyIMOgIHVuZSBmdXNpb24gMy13YXkuIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHJldG91cm5lciDDoCB1bmUgZnVzaW9uIMOgIDMgcG9pbnRzLiIKIAogIzogZ2l0LWFtLnNoOjEzNwogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgbmVjZXNzYXJ5IGJsb2JzIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCi1tc2dzdHIgIkxlIGTDqXDDtHQgbidhIHBhcyBsZXMgYmxvYnMgbsOpY2Vzc2FpcmVzIHBvdXIgdW4gcmV0b3VyIMOgIHVuZSBmdXNpb24gMy13YXkuIgorbXNnc3RyICIiCisiTGUgZMOpcMO0dCBuJ2EgcGFzIGxlcyBibG9icyBuw6ljZXNzYWlyZXMgcG91ciB1biByZXRvdXIgw6AgdW5lIGZ1c2lvbiDDoCAzICIKKyJwb2ludHMuIgogCiAjOiBnaXQtYW0uc2g6MTM5CiBtc2dpZCAiVXNpbmcgaW5kZXggaW5mbyB0byByZWNvbnN0cnVjdCBhIGJhc2UgdHJlZS4uLiIKLW1zZ3N0ciAiVXRpbGlzYXRpb24gZGUgbCdpbmZvcm1hdGlvbiBkZSBsJ2luZGV4IHBvdXIgcmVjb25zdHJ1aXJlIHVuIGFyYnJlIGRlIGJhc2UuLi4iCittc2dzdHIgIiIKKyJVdGlsaXNhdGlvbiBkZSBsJ2luZm9ybWF0aW9uIGRlIGwnaW5kZXggcG91ciByZWNvbnN0cnVpcmUgdW4gYXJicmUgZGUgYmFzZS4uLiIKIAogIzogZ2l0LWFtLnNoOjE1NAogbXNnaWQgIiIKQEAgLTg5ODMsMTUgKzk5NzAsMTUgQEAKIAogIzogZ2l0LWFtLnNoOjE2MwogbXNnaWQgIkZhbGxpbmcgYmFjayB0byBwYXRjaGluZyBiYXNlIGFuZCAzLXdheSBtZXJnZS4uLiIKLW1zZ3N0ciAiUmV0b3VyIMOgIHVuIHBhdGNoIGRlIGxhIGJhc2UgZXQgZnVzaW9uIDMtd2F5Li4uIgorbXNnc3RyICJSZXRvdXIgw6AgdW4gcGF0Y2ggZGUgbGEgYmFzZSBldCBmdXNpb24gw6AgMyBwb2ludHMuLi4iCiAKICM6IGdpdC1hbS5zaDoxNzkKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2UgaW4gdGhlIGNoYW5nZXMuIgotbXNnc3RyICLDiWNoZWMgZGUgZnVzaW9uIGRhbnMgbGVzIGNoYW5nZW1lbnRzLiIKK21zZ3N0ciAiw4ljaGVjIGQnaW50w6lncmF0aW9uIGRlcyBtb2RpZmljYXRpb25zLiIKIAogIzogZ2l0LWFtLnNoOjI3NAogbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgotbXNnc3RyICJTZXVsZW1lbnQgdW5lIHPDqXJpZSBkZSBwYXRjaGVzIFN0R0lUIHBldXQgw6p0cmUgYXBwbGlxdcOpZSDDoCBsYSBmb2lzIgorbXNnc3RyICJTZXVsZW1lbnQgdW5lIHPDqXJpZSBkZSBwYXRjaHMgU3RHSVQgcGV1dCDDqnRyZSBhcHBsaXF1w6llIMOgIGxhIGZvaXMiCiAKICM6IGdpdC1hbS5zaDozNjEKICMsIHNoLWZvcm1hdApAQCAtOTAwOCwyNyArOTk5NSwzOSBAQAogIml0IHdpbGwgYmUgcmVtb3ZlZC4gUGxlYXNlIGRvIG5vdCB1c2UgaXQgYW55bW9yZS4iCiBtc2dzdHIgIiIKICJMJ29wdGlvbiAtYi8tLWJpbmFyeSBuZSBmYWl0IHBsdXMgcmllbiBkZXB1aXMgbG9uZ3RlbXBzLFxuIgotImV0IGVsbGUgc2VyYSBzdXBwcmltw6llLiBNZXJjaSBkZSBuZSBwbHVzIGwndXRpbGlzZXIuIgorImV0IGVsbGUgc2VyYSBzdXBwcmltw6llLiBWZXVpbGxleiBuZSBwbHVzIGwndXRpbGlzZXIuIgogCi0jOiBnaXQtYW0uc2g6NDc3CisjOiBnaXQtYW0uc2g6NDc5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJwcmV2aW91cyByZWJhc2UgZGlyZWN0b3J5ICRkb3Rlc3Qgc3RpbGwgZXhpc3RzIGJ1dCBtYm94IGdpdmVuLiIKLW1zZ3N0ciAibGUgcsOpcGVydG9pcmUgcHLDqWPDqWRlbnQgZGUgcmViYXNhZ2UgJGRvdGVzdCBleGlzdGUgdG91am91cnMgbWFpcyBtYm94IGRvbm7DqWUuIgorbXNnc3RyICIiCisibGUgcsOpcGVydG9pcmUgcHLDqWPDqWRlbnQgZGUgcmViYXNhZ2UgJGRvdGVzdCBleGlzdGUgdG91am91cnMgbWFpcyBtYm94IGRvbm7DqWUuIgogCi0jOiBnaXQtYW0uc2g6NDgyCisjOiBnaXQtYW0uc2g6NDg0CiBtc2dpZCAiUGxlYXNlIG1ha2UgdXAgeW91ciBtaW5kLiAtLXNraXAgb3IgLS1hYm9ydD8iCiBtc2dzdHIgIkTDqWNpZGV6LXZvdXMuIC0tc2tpcCBvdSAtLWFib3J0ID8iCiAKLSM6IGdpdC1hbS5zaDo1MDkKLW1zZ2lkICJSZXNvbHZlIG9wZXJhdGlvbiBub3QgaW4gcHJvZ3Jlc3MsIHdlIGFyZSBub3QgcmVzdW1pbmcuIgotbXNnc3RyICJQYXMgZGUgcsOpc29sdXRpb24gZGUgbCdvcMOpcmF0aW9uIGVuIGNvdXJzLCBub3VzIG5lIHNvbW1lcyBwYXMgZGFucyB1bmUgcmVwcmlzZS4iCisjOiBnaXQtYW0uc2g6NTIwCisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiU3RyYXkgJGRvdGVzdCBkaXJlY3RvcnkgZm91bmQuXG4iCisiVXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZW1vdmUgaXQuIgorbXNnc3RyICIiCisiUsOpcGVydG9pcmUgYWJhbmRvbm7DqSAkZG90ZXN0IHRyb3V2w6kuXG4iCisiVXRpbGlzZXogXCJnaXQgYW0gLS1hYm9ydFwiIHBvdXIgbGUgc3VwcHJpbWVyLiIKIAotIzogZ2l0LWFtLnNoOjU3NQorIzogZ2l0LWFtLnNoOjUyOAorbXNnaWQgIlJlc29sdmUgb3BlcmF0aW9uIG5vdCBpbiBwcm9ncmVzcywgd2UgYXJlIG5vdCByZXN1bWluZy4iCittc2dzdHIgIiIKKyJQYXMgZGUgcsOpc29sdXRpb24gZGUgbCdvcMOpcmF0aW9uIGVuIGNvdXJzLCBub3VzIG5lIHNvbW1lcyBwYXMgZGFucyB1bmUgIgorInJlcHJpc2UuIgorCisjOiBnaXQtYW0uc2g6NTk0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAkZmlsZXMpIgotbXNnc3RyICJJbmRleCBzYWxlIDogaW1wb3NzaWJsZSBkJ2FwcGxpcXVlciBkZXMgcGF0Y2hlcyAoc2FsZXMgOiAkZmlsZXMpIgorbXNnc3RyICJJbmRleCBzYWxlIDogaW1wb3NzaWJsZSBkJ2FwcGxpcXVlciBkZXMgcGF0Y2hzIChzYWxlcyA6ICRmaWxlcykiCiAKLSM6IGdpdC1hbS5zaDo2NzkKKyM6IGdpdC1hbS5zaDo2OTgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJQYXRjaCBpcyBlbXB0eS4gIFdhcyBpdCBzcGxpdCB3cm9uZz9cbiIKQEAgLTkwMzcsNDAgKzEwMDM2LDQ2IEBACiBtc2dzdHIgIiIKICJMZSBwYXRjaCBlc3QgdmlkZS4gIMOJdGFpdC1pbCBtYWwgZMOpY291cMOpID9cbiIKICJTaSB2b3VzIHByw6lmw6lyZXogc2F1dGVyIGNlIHBhdGNoLCBsYW5jZXogcGx1dMO0dCBcIiRjbWRsaW5lIC0tc2tpcFwiLlxuIgotIlBvdXIgcmVzdGF1cmVyIGxhIGJyYW5jaGUgZCdvcmlnaW5lIGV0IHN0b3BwZXIgbGUgcGF0Y2hhZ2UsIGxhbmNleiBcIiRjbWRsaW5lIC0tYWJvcnRcIi4iCisiUG91ciByZXN0YXVyZXIgbGEgYnJhbmNoZSBkJ29yaWdpbmUgZXQgc3RvcHBlciBsZSBwYXRjaGFnZSwgbGFuY2V6ICIKKyJcIiRjbWRsaW5lIC0tYWJvcnRcIi4iCiAKLSM6IGdpdC1hbS5zaDo3MDYKKyM6IGdpdC1hbS5zaDo3MjUKIG1zZ2lkICJQYXRjaCBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgZS1tYWlsIGFkZHJlc3MuIgogbXNnc3RyICJMZSBwYXRjaCBuJ2EgcGFzIGQnYWRyZXNzZSBlLW1haWwgdmFsaWRlLiIKIAotIzogZ2l0LWFtLnNoOjc1MworIzogZ2l0LWFtLnNoOjc3MgogbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKLW1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OqdHJlIGludGVyYWN0aWYgc2FucyBlbnRyw6llIHN0YW5kYXJkIGNvbm5lY3TDqWUgw6AgdW4gdGVybWluYWwuIgorbXNnc3RyICIiCisiaW1wb3NzaWJsZSBkJ8OqdHJlIGludGVyYWN0aWYgc2FucyBlbnRyw6llIHN0YW5kYXJkIGNvbm5lY3TDqWUgw6AgdW4gdGVybWluYWwuIgogCi0jOiBnaXQtYW0uc2g6NzU3CisjOiBnaXQtYW0uc2g6Nzc2CiBtc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgogbXNnc3RyICJMZSBjb3JwcyBkZSBsYSB2YWxpZGF0aW9uIGVzdCA6IgogCiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3ldLCBbbl0sIFtlXSwgW3ZdIGFuZCBbYV0KICMuIGluIHlvdXIgdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaAogIy4gaW5wdXQgYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1hbS5zaDo3NjQKKyM6IGdpdC1hbS5zaDo3ODMKIG1zZ2lkICJBcHBseT8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbCAiCiBtc2dzdHIgIkFwcGxpcXVlciA/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGwgIgogCi0jOiBnaXQtYW0uc2g6ODAwCisjOiBnaXQtYW0uc2g6ODE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBcHBseWluZzogJEZJUlNUTElORSIKIG1zZ3N0ciAiQXBwbGljYXRpb24gOiAkRklSU1RMSU5FIgogCi0jOiBnaXQtYW0uc2g6ODIxCisjOiBnaXQtYW0uc2g6ODQwCiBtc2dpZCAiIgogIk5vIGNoYW5nZXMgLSBkaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnP1xuIgogIklmIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBzdGFnZSwgY2hhbmNlcyBhcmUgdGhhdCBzb21ldGhpbmcgZWxzZVxuIgogImFscmVhZHkgaW50cm9kdWNlZCB0aGUgc2FtZSBjaGFuZ2VzOyB5b3UgbWlnaHQgd2FudCB0byBza2lwIHRoaXMgcGF0Y2guIgogbXNnc3RyICIiCisiQXVjdW4gY2hhbmdlbWVudCAtIGF2ZXotdm91cyBvdWJsacOpIGQndXRpbGlzZXIgJ2dpdCBhZGQnID9cbiIKKyJTJ2lsIG4neSBhIHBsdXMgcmllbiDDoCBpbmRleGVyLCBpbCBzZSBwZXV0IHF1J2F1dHJlIGNob3NlIGFpdCBkw6lqw6BcbiIKKyJpbnRyb2R1aXQgbGVzIG3Dqm1lcyBjaGFuZ2VtZW50cyA7IHZvdXMgcG91cnJpZXogYXZvaXIgZW52aWUgZGUgc2F1dGVyIGNlICIKKyJwYXRjaC4iCiAKLSM6IGdpdC1hbS5zaDo4MjkKKyM6IGdpdC1hbS5zaDo4NDgKIG1zZ2lkICIiCiAiWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleFxuIgogImRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/IgpAQCAtOTA3OCwxNiArMTAwODMsMTYgQEAKICJWb3VzIGF2ZXogdG91am91cnMgZGVzIGNoZW1pbnMgbm9uIGZ1c2lvbm7DqXMgZGFucyB2b3RyZSBpbmRleFxuIgogImF1cmllei12b3VzIG91Ymxpw6kgZGUgZmFpcmUgJ2dpdCBhZGQnID8iCiAKLSM6IGdpdC1hbS5zaDo4NDUKKyM6IGdpdC1hbS5zaDo4NjQKIG1zZ2lkICJObyBjaGFuZ2VzIC0tIFBhdGNoIGFscmVhZHkgYXBwbGllZC4iCiBtc2dzdHIgIlBhcyBkZSBjaGFuZ2VtZW50IC0tIFBhdGNoIGTDqWrDoCBhcHBsaXF1w6kuIgogCi0jOiBnaXQtYW0uc2g6ODU1CisjOiBnaXQtYW0uc2g6ODc0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJG1zZ251bSAkRklSU1RMSU5FIgogbXNnc3RyICJMZSBwYXRjaCBhIMOpY2hvdcOpIMOgICRtc2dudW0gJEZJUlNUTElORSIKIAotIzogZ2l0LWFtLnNoOjg1OAorIzogZ2l0LWFtLnNoOjg3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBjb3B5IG9mIHRoZSBwYXRjaCB0aGF0IGZhaWxlZCBpcyBmb3VuZCBpbjpcbiIKQEAgLTkwOTYsNyArMTAxMDEsNyBAQAogIkxhIGNvcGllIGR1IHBhdGNoIHF1aSBhIMOpY2hvdcOpIHNlIHRyb3V2ZSBkYW5zIDpcbiIKICIgICAkZG90ZXN0L3BhdGNoIgogCi0jOiBnaXQtYW0uc2g6ODc2CisjOiBnaXQtYW0uc2g6ODk1CiBtc2dpZCAiYXBwbHlpbmcgdG8gYW4gZW1wdHkgaGlzdG9yeSIKIG1zZ3N0ciAiYXBwbGljYXRpb24gw6AgdW4gaGlzdG9yaXF1ZSB2aWRlIgogCkBAIC05MTI5LDExICsxMDEzNCwxMyBAQAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkNoZWNraW5nIG91dCAnJHN0YXJ0X2hlYWQnIGZhaWxlZC4gVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDx2YWxpZGJyYW5jaD4nLiIKLW1zZ3N0ciAiTCdleHRyYWN0aW9uIGRlICckc3RhcnRfaGVhZCcgYSDDqWNob3XDqS4gRXNzYXlleiAnZ2l0IGJpc2VjdCByZXNldCA8YnJhbmNoZXZhbGlkZT4nLiIKK21zZ3N0ciAiIgorIkwnZXh0cmFjdGlvbiBkZSAnJHN0YXJ0X2hlYWQnIGEgw6ljaG91w6kuIEVzc2F5ZXogJ2dpdCBiaXNlY3QgcmVzZXQgIgorIjxicmFuY2hldmFsaWRlPicuIgogCiAjOiBnaXQtYmlzZWN0LnNoOjE0MAogbXNnaWQgIndvbid0IGJpc2VjdCBvbiBzZWVrZWQgdHJlZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZWZ1cyBkZSBiaXNzZWN0ZXIgc3VyIHVuIGFyYnJlICdzZWVrZWQnIgogCiAjOiBnaXQtYmlzZWN0LnNoOjE0NAogbXNnaWQgIkJhZCBIRUFEIC0gc3RyYW5nZSBzeW1ib2xpYyByZWYiCkBAIC05MTUxLDcgKzEwMTU4LDcgQEAKIAogIzogZ2l0LWJpc2VjdC5zaDoyMzIKIG1zZ2lkICJQbGVhc2UgY2FsbCAnYmlzZWN0X3N0YXRlJyB3aXRoIGF0IGxlYXN0IG9uZSBhcmd1bWVudC4iCi1tc2dzdHIgIk1lcmNpIGQnYXBwZWxlciAnYmlzZWN0X3N0YXRlJyBhdmVjIGF1IG1vaW5zIHVuIGFyZ3VtZW50LiIKK21zZ3N0ciAiVmV1aWxsZXogYXBwZWxlciAnYmlzZWN0X3N0YXRlJyBhdmVjIGF1IG1vaW5zIHVuIGFyZ3VtZW50LiIKIAogIzogZ2l0LWJpc2VjdC5zaDoyNDQKICMsIHNoLWZvcm1hdApAQCAtOTI2MiwyMiArMTAyNjksMjUgQEAKICJhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24sIG9yIHVzZSAnZ2l0IGNvbW1pdCAtYScuIgogbXNnc3RyICIiCiAiTGUgcHVsbCBuJ2VzdCBwYXMgcG9zc2libGUgY2FyIHZvdXMgYXZleiBkZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMuXG4iCi0iTWVyY2kgZGUgY29ycmlnZXIgZGFucyB2b3RyZSBjb3BpZSBkZSB0cmF2YWlsLCBldCB1dGlsaXNleiBhbG9ycyAnZ2l0IGFkZC9ybSA8ZmlsZT4nXG4iCisiVmV1aWxsZXogbGVzIGNvcnJpZ2VyIGRhbnMgdm90cmUgY29waWUgZGUgdHJhdmFpbCwgZXQgdXRpbGlzZXogYWxvcnMgJ2dpdCAiCisiYWRkL3JtIDxmaWxlPidcbiIKICJzaSBuw6ljZXNzYWlyZSBwb3VyIG1hcnF1ZXIgY29tbWUgcsOpc29sdSwgb3UgdXRpbGlzZXogJ2dpdCBjb21taXQgLWEnLiIKIAogIzogZ2l0LXB1bGwuc2g6MjUKIG1zZ2lkICJQdWxsIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiTGUgcHVsbCBuJ2VzdCBwYXMgcG9zc2libGUgY2FyIHZvdXMgYXZleiBkZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMuIgogCi0jOiBnaXQtcHVsbC5zaDoyMDMKKyM6IGdpdC1wdWxsLnNoOjIyMwogbXNnaWQgInVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleCIKLW1zZ3N0ciAibWlzZSDDoCBqb3VyIGQndW5lIGJyYW5jaGUgbm9uIGVuY29yZSBjcsOpw6llIGF2ZWMgbGVzIGNoYW5nZW1lbnRzIGFqb3V0w6lzIGRhbnMgbCdpbmRleCIKK21zZ3N0ciAiIgorIm1pc2Ugw6Agam91ciBkJ3VuZSBicmFuY2hlIG5vbiBlbmNvcmUgY3LDqcOpZSBhdmVjIGxlcyBjaGFuZ2VtZW50cyBham91dMOpcyBkYW5zICIKKyJsJ2luZGV4IgogCiAjLiBUaGUgZmV0Y2ggaW52b2x2ZWQgdXBkYXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoLgogIy4gVGhlIHdvcmtpbmcgdHJlZSBhbmQgdGhlIGluZGV4IGZpbGUgaXMgc3RpbGwgYmFzZWQgb24gdGhlCiAjLiAkb3JpZ19oZWFkIGNvbW1pdCwgYnV0IHdlIGFyZSBtZXJnaW5nIGludG8gJGN1cnJfaGVhZC4KICMuIEZpcnN0IHVwZGF0ZSB0aGUgd29ya2luZyB0cmVlIHRvIG1hdGNoICRjdXJyX2hlYWQuCi0jOiBnaXQtcHVsbC5zaDoyMzUKKyM6IGdpdC1wdWxsLnNoOjI1NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IGZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC05Mjg4LDE1ICsxMDI5OCwxNSBAQAogIkF0dGVudGlvbiA6IG1pc2Ugw6Agam91ciBlbiBhdmFuY2UgcmFwaWRlIGRlIHZvdHJlIGNvcGllIGRlIHRyYXZhaWxcbiIKICJBdHRlbnRpb24gOiBkZXB1aXMgbGEgdmFsaWRhdGlvbiAkb3JpZ19oZWFkLiIKIAotIzogZ2l0LXB1bGwuc2g6MjYwCisjOiBnaXQtcHVsbC5zaDoyODAKIG1zZ2lkICJDYW5ub3QgbWVyZ2UgbXVsdGlwbGUgYnJhbmNoZXMgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGZ1c2lvbm5lciBkZSBtdWx0aXBsZXMgYnJhbmNoZXMgc3VyIHVuZSB0w6p0ZSB2aWRlIgogCi0jOiBnaXQtcHVsbC5zaDoyNjQKKyM6IGdpdC1wdWxsLnNoOjI4NAogbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZWJhc2VyIHN1ciBkZSBtdWx0aXBsZXMgYnJhbmNoZXMiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTMKKyM6IGdpdC1yZWJhc2Uuc2g6NTQKIG1zZ2lkICIiCiAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiLlxuIgogIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCJnaXQgcmViYXNlIC0tc2tpcFwiIGluc3RlYWQuXG4iCkBAIC05MzA1LDMzICsxMDMxNSw1NSBAQAogbXNnc3RyICIiCiAiTG9yc3F1ZSB2b3VzIGF1cmV6IHLDqXNvbHUgY2UgcHJvYmzDqG1lLCBsYW5jZXogXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKICJTaSB2b3VzIHByw6lmw6lyZXogc2F1dGVyIGNlIHBhdGNoLCBsYW5jZXogXCJnaXQgcmViYXNlIC0tc2tpcFwiIMOgIGxhIHBsYWNlLlxuIgotIlBvdXIgZXh0cmFpcmUgbGEgYnJhbmNoZSBkJ29yaWdpbmUgZXQgc3RvcHBlciBsZSByZWJhc2FnZSwgbGFuY2V6IFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIuIgorIlBvdXIgZXh0cmFpcmUgbGEgYnJhbmNoZSBkJ29yaWdpbmUgZXQgc3RvcHBlciBsZSByZWJhc2FnZSwgbGFuY2V6IFwiZ2l0ICIKKyJyZWJhc2UgLS1hYm9ydFwiLiIKKworIzogZ2l0LXJlYmFzZS5zaDoxNTYKK21zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCittc2dzdHIgIkF1dG9yZW1pc2FnZSBhcHBsaXF1w6kuIgorCisjOiBnaXQtcmViYXNlLnNoOjE1OQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHN0b2NrZXIgJHN0YXNoX3NoYTEiCiAKICM6IGdpdC1yZWJhc2Uuc2g6MTYwCi1tc2dpZCAiVGhlIHByZS1yZWJhc2UgaG9vayByZWZ1c2VkIHRvIHJlYmFzZS4iCi1tc2dzdHIgIkxlIGhvb2sgcHJlLXJlYmFzZSBhIHJlZnVzw6kgZGUgcmViYXNlci4iCittc2dpZCAiIgorIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCisiWW91ciBjaGFuZ2VzIGFyZSBzYWZlIGluIHRoZSBzdGFzaC5cbiIKKyJZb3UgY2FuIHJ1biBcImdpdCBzdGFzaCBwb3BcIiBvciBcImdpdCBzdGFzaCBkcm9wXCIgYXQgYW55IHRpbWUuXG4iCittc2dzdHIgIiIKKyJMJ2FwcGxpY2F0aW9uIGRlIGwnYXV0b3JlbWlzYWdlIGEgcHJvdm9xdcOpIGRlcyBjb25mbGl0c1xuIgorIlZvcyAgbW9kaWZpY2F0aW9ucyBzb250IMOgIGwnYWJyaSBkYW5zIGxhIHJlbWlzZS5cbiIKKyJWb3VzIHBvdXZleiBsYW5jZXIgXCJnaXQgc3Rhc2ggcG9wXCIgb3UgXCJnaXQgc3Rhc2ggZHJvcFwiIMOgIHRvdXQgbW9tZW50LlxuIgogCi0jOiBnaXQtcmViYXNlLnNoOjE2NQorIzogZ2l0LXJlYmFzZS5zaDoxOTkKK21zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKK21zZ3N0ciAiTGUgY3JvY2hldCBwcmUtcmViYXNlIGEgcmVmdXPDqSBkZSByZWJhc2VyLiIKKworIzogZ2l0LXJlYmFzZS5zaDoyMDQKIG1zZ2lkICJJdCBsb29rcyBsaWtlIGdpdC1hbSBpcyBpbiBwcm9ncmVzcy4gQ2Fubm90IHJlYmFzZS4iCiBtc2dzdHIgIklsIHNlbWJsZSBxdWUgZ2l0LWFtIHNvaXQgZW4gY291cnMuIEltcG9zc2libGUgZGUgcmViYXNlci4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mjk2CisjOiBnaXQtcmViYXNlLnNoOjMzOAogbXNnaWQgIlRoZSAtLWV4ZWMgb3B0aW9uIG11c3QgYmUgdXNlZCB3aXRoIHRoZSAtLWludGVyYWN0aXZlIG9wdGlvbiIKIG1zZ3N0ciAiTCdvcHRpb24gLS1leGVjIGRvaXQgw6p0cmUgdXRpbGlzw6llIGF2ZWMgbCdvcHRpb24gLS1pbnRlcmFjdGl2ZSIKIAotIzogZ2l0LXJlYmFzZS5zaDozMDEKKyM6IGdpdC1yZWJhc2Uuc2g6MzQzCiBtc2dpZCAiTm8gcmViYXNlIGluIHByb2dyZXNzPyIKIG1zZ3N0ciAiUGFzIGRlIHJlYmFzYWdlIGVuIGNvdXJzID8iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzEyCisjOiBnaXQtcmViYXNlLnNoOjM1NAogbXNnaWQgIlRoZSAtLWVkaXQtdG9kbyBhY3Rpb24gY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgaW50ZXJhY3RpdmUgcmViYXNlLiIKLW1zZ3N0ciAiTCdhY3Rpb24gLS1lZGl0LXRvZG8gcGV1dCBzZXVsZW1lbnQgw6p0cmUgdXRpbGlzw6llIGxvcnMgZCd1biByZWJhc2FnZSBpbnRlcmFjdGlmLiIKK21zZ3N0ciAiIgorIkwnYWN0aW9uIC0tZWRpdC10b2RvIHBldXQgc2V1bGVtZW50IMOqdHJlIHV0aWxpc8OpZSBsb3JzIGQndW4gcmViYXNhZ2UgIgorImludGVyYWN0aWYuIgogCi0jOiBnaXQtcmViYXNlLnNoOjMxOQorIzogZ2l0LXJlYmFzZS5zaDozNjEKIG1zZ2lkICJDYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxpcmUgSEVBRCIKIAotIzogZ2l0LXJlYmFzZS5zaDozMjIKKyM6IGdpdC1yZWJhc2Uuc2g6MzY0CiBtc2dpZCAiIgogIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlblxuIgogIm1hcmsgdGhlbSBhcyByZXNvbHZlZCB1c2luZyBnaXQgYWRkIgpAQCAtOTMzOSwxMiArMTAzNzEsMTIgQEAKICJWb3VzIGRldmV6IMOpZGl0ZXIgdG91cyBsZXMgY29uZmxpdHMgZGUgZnVzaW9uIGV0XG4iCiAibGVzIG1hcnF1ZXIgY29tbWUgcsOpc29sdXMgYXZlYyBnaXQgYWRkIgogCi0jOiBnaXQtcmViYXNlLnNoOjM0MAorIzogZ2l0LXJlYmFzZS5zaDozODIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZXZlbmlyIMOgICRoZWFkX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzU5CisjOiBnaXQtcmViYXNlLnNoOjQwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICRzdGF0ZV9kaXJfYmFzZSBkaXJlY3RvcnksIGFuZFxuIgpAQCAtOTM1Nyw2NCArMTAzODksNzUgQEAKICJ2YWx1YWJsZSB0aGVyZS4iCiBtc2dzdHIgIiIKICJJbCBzZW1ibGUgcXUnaWwgeSBhaXQgZMOpasOgIHVuIHLDqXBlcnRvaXJlICRzdGF0ZV9kaXJfYmFzZSwgZXQgamUgbWUgZGVtYW5kZVxuIgotInNpIHZvdXMgbifDqnRlcyBwYXMgYXUgbWlsaWV1IGQndW4gYXV0cmUgcmViYXNhZ2UuICBTaSBjJ2VzdCBsZSBjYXMsXG4iCi0ibWVyY2kgZCdlc3NheWVyXG4iCisic2kgdW4gYXV0cmUgcmViYXNhZ2Ugbidlc3QgcGFzIGTDqWrDoCBlbiBjb3Vycy4gU2kgYydlc3QgbGUgY2FzLFxuIgorImVzc2F5ZXpcbiIKICJcdCRjbWRfbGl2ZV9yZWJhc2VcbiIKLSJTaSDDp2Egbidlc3QgcGFzIGxlIGNhcywgbWVyY2kgZGVcbiIKKyJTaW5vbiwgZXNzYXllelxuIgogIlx0JGNtZF9jbGVhcl9zdGFsZV9yZWJhc2VcbiIKLSJldCByZWxhbmNlciDDoCBub3V2ZWF1LiAgSmUgbSdhcnLDqnRlIGF1IGNhcyBvw7kgdm91cyBhdXJpZXogcXVlbHF1ZSBjaG9zZVxuIgorInB1aXMgcmVsYW5jZXotbW9pIMOgIG5vdXZlYXUuICBKZSBtJ2FycsOqdGUgYXUgY2FzIG/DuSB2b3VzIGF1cmlleiBxdWVscXVlICIKKyJjaG9zZVxuIgogImQnaW1wb3J0YW50IGljaS4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDA0CisjOiBnaXQtcmViYXNlLnNoOjQ0NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAkdXBzdHJlYW1fbmFtZSIKIG1zZ3N0ciAiaW52YWxpZGUgJHVwc3RyZWFtX25hbWUgZW4gYW1vbnQiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDI4CisjOiBnaXQtcmViYXNlLnNoOjQ3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgYXJlIG1vcmUgdGhhbiBvbmUgbWVyZ2UgYmFzZXMiCiBtc2dzdHIgIiRvbnRvX25hbWUgOiBpbCB5IGEgcGx1cyBkJ3VuZSBiYXNlIGRlIGZ1c2lvbiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0MzEgZ2l0LXJlYmFzZS5zaDo0MzUKKyM6IGdpdC1yZWJhc2Uuc2g6NDczIGdpdC1yZWJhc2Uuc2g6NDc3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgogbXNnc3RyICIkb250b19uYW1lIDogaWwgbid5IGEgcGFzIGRlIGJhc2UgZGUgZnVzaW9uIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ0MAorIzogZ2l0LXJlYmFzZS5zaDo0ODIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0OiAkb250b19uYW1lIgogbXNnc3RyICJOZSBwb2ludGUgcGFzIHN1ciB1bmUgdmFsaWRhdGlvbiB2YWxpZGUgOiAkb250b19uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ2MworIzogZ2l0LXJlYmFzZS5zaDo1MDUKICMsIHNoLWZvcm1hdAogbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaDogJGJyYW5jaF9uYW1lIgogbXNnc3RyICJmYXRhbCA6IHBhcyBkZSBicmFuY2hlIDogJGJyYW5jaF9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ4MwotbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCi1tc2dzdHIgIk1lcmNpIGRlIGxlcyB2YWxpZGVyIG91IGRlIGxlcyByZW1pc2VyLiIKKyM6IGdpdC1yZWJhc2Uuc2g6NTI4Cittc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKK21zZ3N0ciAiQXV0b3JlbWlzYWdlIGltcG9zc2libGUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTAxCisjOiBnaXQtcmViYXNlLnNoOjUzMworIywgc2gtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCittc2dzdHIgIkF1dG9yZW1pc2FnZSBjcsOpw6kgOiAkc3Rhc2hfYWJicmV2IgorCisjOiBnaXQtcmViYXNlLnNoOjUzNworbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCittc2dzdHIgIlZldWlsbGV6IGxlcyB2YWxpZGVyIG91IGxlcyByZW1pc2VyLiIKKworIzogZ2l0LXJlYmFzZS5zaDo1NTcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAiTGEgYnJhbmNoZSBjb3VyYW50ZSAkYnJhbmNoX25hbWUgZXN0IMOgIGpvdXIuIgogCi0jOiBnaXQtcmViYXNlLnNoOjUwNAorIzogZ2l0LXJlYmFzZS5zaDo1NjEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKIG1zZ3N0ciAiTGEgYnJhbmNoZSBjb3VyYW50ZSAkYnJhbmNoX25hbWUgZXN0IMOgIGpvdXIsIHJlYmFzYWdlIGZvcmPDqS4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTE1CisjOiBnaXQtcmViYXNlLnNoOjU3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2hhbmdlcyBmcm9tICRtYiB0byAkb250bzoiCiBtc2dzdHIgIkNoYW5nZW1lbnRzIGRlICRtYiBzdXIgJG9udG8gOiIKIAogIy4gRGV0YWNoIEhFQUQgYW5kIHJlc2V0IHRoZSB0cmVlCi0jOiBnaXQtcmViYXNlLnNoOjUyNAorIzogZ2l0LXJlYmFzZS5zaDo1ODEKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCi1tc2dzdHIgIlByZW1pw6hyZW1lbnQsIHJldG91ciBkZSBoZWFkIHBvdXIgcmVqb3VlciB2b3RyZSB0cmF2YWlsIHBhci1kZXNzdXMuLi4iCittc2dzdHIgIiIKKyJQcmVtacOocmVtZW50LCByZW1ib2Jpbm9ucyBoZWFkIHBvdXIgcmVqb3VlciB2b3RyZSB0cmF2YWlsIHBhci1kZXNzdXMuLi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTMyCisjOiBnaXQtcmViYXNlLnNoOjU5MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkZWQgJGJyYW5jaF9uYW1lIHRvICRvbnRvX25hbWUuIgogbXNnc3RyICIkYnJhbmNoX25hbWUgbWlzZSDDoCBqb3VyIGVuIGF2YW5jZSByYXBpZGUgc3VyICRvbnRvX25hbWUuIgpAQCAtOTQ0Nyw2ICsxMDQ5MCwxMSBAQAogbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnZW5yZWdpc3RyZXIgbCfDqXRhdCBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCisjOiBnaXQtc3Rhc2guc2g6MTkwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgdXBkYXRlICRyZWZfc3Rhc2ggd2l0aCAkd19jb21taXQiCittc2dzdHIgIkltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgJHJlZl9zdGFzaCBhdmVjICR3X2NvbW1pdCIKKwogIy4gVFJBTlNMQVRPUlM6ICRvcHRpb24gaXMgYW4gaW52YWxpZCBvcHRpb24sIGxpa2UKICMuIGAtLWJsYWgtYmxhaCcuIFRoZSA3IHNwYWNlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZQogIy4gc2Vjb25kIGxpbmUgY29ycmVzcG9uZCB0byAiZXJyb3I6ICIuIFNvIHlvdSBzaG91bGQgbGluZQpAQCAtOTQ1Nyw3ICsxMDUwNSw3IEBACiAjLiAkIGdpdCBzdGFzaCBzYXZlIC0tYmxhaC1ibGFoIDI+JjEgfCBoZWFkIC1uIDIKICMuIGVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAtLWJsYWgtYmxhaAogIy4gVG8gcHJvdmlkZSBhIG1lc3NhZ2UsIHVzZSBnaXQgc3Rhc2ggc2F2ZSAtLSAnLS1ibGFoLWJsYWgnCi0jOiBnaXQtc3Rhc2guc2g6MjAyCisjOiBnaXQtc3Rhc2guc2g6MjM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKQEAgLTk0NjYsMTE5ICsxMDUxNCwxMjkgQEAKICJlcnJldXI6IG9wdGlvbiBpbmNvbm51ZSBwb3VyICdzdGFzaCBzYXZlJzogJG9wdGlvblxuIgogIiAgICAgICAgUG91ciBmb3VybmlyIHVuIG1lc3NhZ2UsIHV0aWxpc2V6IGdpdCBzdGFzaCBzYXZlIC0tICckb3B0aW9uJyIKIAotIzogZ2l0LXN0YXNoLnNoOjIyMworIzogZ2l0LXN0YXNoLnNoOjI1OAogbXNnaWQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIKLW1zZ3N0ciAiUGFzIGRlIGNoYW5nZW1lbnRzIGVuIGxvY2FsIMOgIHNhdXZlciIKK21zZ3N0ciAiUGFzIGRlIG1vZGlmaWNhdGlvbnMgbG9jYWxlcyDDoCBzYXV2ZXIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyMjcKKyM6IGdpdC1zdGFzaC5zaDoyNjIKIG1zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2luaXRpYWxpc2VyIGxlIHJlbWlzYWdlIgogCi0jOiBnaXQtc3Rhc2guc2g6MjM1CisjOiBnaXQtc3Rhc2guc2g6MjY2CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHNhdXZlciBsZSBzdGF0dXQgY291cmFudCIKIAotIzogZ2l0LXN0YXNoLnNoOjI1MworIzogZ2l0LXN0YXNoLnNoOjI4NAogbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbGVzIGNoYW5nZW1lbnRzIGRlIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGdpdC1zdGFzaC5zaDozNTIKKyM6IGdpdC1zdGFzaC5zaDozODMKIG1zZ2lkICJObyBzdGFzaCBmb3VuZC4iCiBtc2dzdHIgIlBhcyBkZSByZW1pc2FnZSB0cm91dsOpLiIKIAotIzogZ2l0LXN0YXNoLnNoOjM1OQorIzogZ2l0LXN0YXNoLnNoOjM5MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDogJFJFViIKIG1zZ3N0ciAiVHJvcCBkZSByw6l2aXNpb25zIHNww6ljaWZpw6llcyA6ICRSRVYiCiAKLSM6IGdpdC1zdGFzaC5zaDozNjUKKyM6IGdpdC1zdGFzaC5zaDozOTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IHZhbGlkIHJlZmVyZW5jZSIKIG1zZ3N0ciAiJHJlZmVyZW5jZSBuJ2VzdCBwYXMgdW5lIHLDqWbDqXJlbmNlIHZhbGlkZSIKIAotIzogZ2l0LXN0YXNoLnNoOjM5MworIzogZ2l0LXN0YXNoLnNoOjQyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKIG1zZ3N0ciAiJyRhcmdzJyBuJ2VzdCBwYXMgdW5lIHZhbGlkYXRpb24gZGUgdHlwZSByZW1pc2FnZSIKIAotIzogZ2l0LXN0YXNoLnNoOjQwNAorIzogZ2l0LXN0YXNoLnNoOjQzNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIickYXJncycgbidlc3QgcGFzIHVuZSByw6lmw6lyZW5jZSBkZSByZW1pc2FnZSIKIAotIzogZ2l0LXN0YXNoLnNoOjQxMgorIzogZ2l0LXN0YXNoLnNoOjQ0MwogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJhZnJhw65jaGlyIGwnaW5kZXgiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MTYKKyM6IGdpdC1zdGFzaC5zaDo0NDcKIG1zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCi1tc2dzdHIgIkltcG9zc2libGUgZCdhcHBsaXF1ZXIgdW4gcmVtaXNhZ2UgYXUgbWlsaWV1IGQndW5lIGZ1c2lvbiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FwcGxpcXVlciB1biByZW1pc2FnZSBlbiBjb3VycyBkZSBmdXNpb24iCiAKLSM6IGdpdC1zdGFzaC5zaDo0MjQKKyM6IGdpdC1zdGFzaC5zaDo0NTUKIG1zZ2lkICJDb25mbGljdHMgaW4gaW5kZXguIFRyeSB3aXRob3V0IC0taW5kZXguIgogbXNnc3RyICJDb25mbGl0cyBkYW5zIGwnaW5kZXguIEVzc2F5ZXogc2FucyAtLWluZGV4LiIKIAotIzogZ2l0LXN0YXNoLnNoOjQyNgorIzogZ2l0LXN0YXNoLnNoOjQ1NwogbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc2F1dmVyIGwnYXJicmUgZCdpbmRleCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ2MAorIzogZ2l0LXN0YXNoLnNoOjQ5MQogbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGTDqXNpbmRleGVyIGxlcyBmaWNoaWVycyBtb2RpZmnDqXMiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NzUKKyM6IGdpdC1zdGFzaC5zaDo1MDYKIG1zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiTCdpbmRleCBuJ2EgcGFzIMOpdMOpIHNvcnRpIGRlIHJlbWlzZS4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0OTIKKyM6IGdpdC1zdGFzaC5zaDo1MjMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCiBtc2dzdHIgIiR7UkVWfSBzdXBwcmltw6kgKCRzKSIKIAotIzogZ2l0LXN0YXNoLnNoOjQ5MworIzogZ2l0LXN0YXNoLnNoOjUyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKLW1zZ3N0ciAiJHtSRVZ9OiBJbXBvc3NpYmxlIGRlIHN1cHByaW1lciBsJ2VudHLDqWUgZGUgc3Rhc2giCittc2dzdHIgIiR7UkVWfTogSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbCfDqWzDqW1lbnQgZGUgc3Rhc2giCiAKLSM6IGdpdC1zdGFzaC5zaDo1MDAKKyM6IGdpdC1zdGFzaC5zaDo1MzEKIG1zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCiBtc2dzdHIgIkF1Y3VuZSBicmFuY2hlIHNww6ljaWZpw6llIgogCi0jOiBnaXQtc3Rhc2guc2g6NTcxCisjOiBnaXQtc3Rhc2guc2g6NjAzCiBtc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogbXNnc3RyICIoUG91ciBsZXMgcmVzdGF1cmVyIHRhcGV6IFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjkxCisjOiBnaXQtc3VibW9kdWxlLnNoOjk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RyaXAgb25lIGNvbXBvbmVudCBvZmYgdXJsICckcmVtb3RldXJsJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgdW4gY29tcG9zYW50IGRlIGwnVVJMICckcmVtb3RldXJsJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxOTYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJObyBzdWJtb2R1bGUgbWFwcGluZyBmb3VuZCBpbiAuZ2l0bW9kdWxlcyBmb3IgcGF0aCAnJHNtX3BhdGgnIgotbXNnc3RyICJQYXMgZGUgbWFwcGFnZSBkdSBzb3VzLW1vZHVsZSB0cm91dsOpIGRhbnMgLmdpdG1vZHVsZXMgcG91ciBsZSBjaGVtaW4gJyRzbV9wYXRoJyIKK21zZ3N0ciAiIgorIlBhcyBkZSBtaXNlIGVuIGNvcnJlc3BvbmRhbmNlIGR1IHNvdXMtbW9kdWxlIHRyb3V2w6kgZGFucyAuZ2l0bW9kdWxlcyBwb3VyIGxlICIKKyJjaGVtaW4gJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjgxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDbG9uZSBvZiAnJHVybCcgaW50byBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIGZhaWxlZCIKIG1zZ3N0ciAiTGUgY2xvbmFnZSBkZSAnJHVybCcgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRzbV9wYXRoJyBhIMOpY2hvdcOpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI1MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyOTMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkdpdGRpciAnJGEnIGlzIHBhcnQgb2YgdGhlIHN1Ym1vZHVsZSBwYXRoICckYicgb3IgdmljZSB2ZXJzYSIKLW1zZ3N0ciAiTGUgcsOpcGVydG9pcmUgR2l0ICckYScgZmFpdCBwYXJ0aWUgZHUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckYicgb3UgdmljZS12ZXJzYSIKK21zZ3N0ciAiIgorIkxlIHLDqXBlcnRvaXJlIEdpdCAnJGEnIGZhaXQgcGFydGllIGR1IGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJGInIG91IHZpY2UtIgorInZlcnNhIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM0OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MDMKK21zZ2lkICJSZWxhdGl2ZSBwYXRoIGNhbiBvbmx5IGJlIHVzZWQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiIgorIlVuIGNoZW1pbiByZWxhdGlmIG5lIHBldXQgw6p0cmUgdXRpbGlzw6kgcXVlIGRlcHVpcyBsYSByYWNpbmUgZGUgbGEgY29waWUgZGUgIgorInRyYXZhaWwiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDEzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJyZXBvIFVSTDogJyRyZXBvJyBtdXN0IGJlIGFic29sdXRlIG9yIGJlZ2luIHdpdGggLi98Li4vIgogbXNnc3RyICJMJ1VSTCBkZSBkw6lww7R0ICckcmVwbycgZG9pdCDDqnRyZSBhYnNvbHUgb3UgY29tbWVuY2VyIHBhciAuL3wuLi8iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzY2CisjOiBnaXQtc3VibW9kdWxlLnNoOjQzMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgaW5kZXgiCiBtc2dzdHIgIickc21fcGF0aCcgZXhpc3RlIGTDqWrDoCBkYW5zIGwnaW5kZXgiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzcwCisjOiBnaXQtc3VibW9kdWxlLnNoOjQzNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgcGF0aCBpcyBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCkBAIC05NTg5LDIzNSArMTA2NDcsMjg2IEBACiAiJHNtX3BhdGhcbiIKICJVdGlsaXNleiAtZiBzaSB2b3VzIHZvdWxleiB2cmFpbWVudCBsJ2Fqb3V0ZXIuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM4OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgogbXNnc3RyICJBam91dCBkdSBkw6lww7R0IGV4aXN0YW50IMOgICckc21fcGF0aCcgZGFucyBsJ2luZGV4IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM5MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhIHZhbGlkIGdpdCByZXBvIgogbXNnc3RyICInJHNtX3BhdGgnIGV4aXN0ZSBkw6lqw6AgZXQgbidlc3QgcGFzIHVuIGTDqXDDtHQgZ2l0IHZhbGlkZSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozOTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDYyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBIGdpdCBkaXJlY3RvcnkgZm9yICckc21fbmFtZScgaXMgZm91bmQgbG9jYWxseSB3aXRoIHJlbW90ZShzKToiCi1tc2dzdHIgIlVuIHLDqXBlcnRvaXJlIGdpdCBwb3VyICckc21fbmFtZScgZXN0IHRyb3V2w6kgZW4gbG9jYWwgYXZlYyBsZShzKSBzZXJ2ZXVyKHMpIGRpc3RhbnQocykgOiIKK21zZ3N0ciAiIgorIlVuIHLDqXBlcnRvaXJlIGdpdCBwb3VyICckc21fbmFtZScgZXN0IHRyb3V2w6kgZW4gbG9jYWwgYXZlYyBsZShzKSBzZXJ2ZXVyKHMpICIKKyJkaXN0YW50KHMpIDoiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDAwCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ2NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gZnJvbSIKLW1zZ3N0ciAiU2kgdm91cyB2b3VsZXogcsOpdXRpbGlzZXIgY2UgcsOpcGVydG9pcmUgZ2l0IGxvY2FsIGF1IGxpZXUgZGUgY2xvbmVyIMOgIG5vdXZlYXUgZGVwdWlzIgorbXNnc3RyICIiCisiU2kgdm91cyB2b3VsZXogcsOpdXRpbGlzZXIgY2UgcsOpcGVydG9pcmUgZ2l0IGxvY2FsIGF1IGxpZXUgZGUgY2xvbmVyIMOgICIKKyJub3V2ZWF1IGRlcHVpcyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MDIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDY2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAidXNlIHRoZSAnLS1mb3JjZScgb3B0aW9uLiBJZiB0aGUgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpcyBub3QgdGhlIGNvcnJlY3QgcmVwbyIKLW1zZ3N0ciAidXRpbGlzZXogbCdvcHRpb24gJy0tZm9yY2UnLiBTaSBsZSByw6lwZXJ0b2lyZSBsb2NhbCBnaXQgbidlc3QgcGFzIGxlIGTDqXDDtHQgY29ycmVjdCIKK21zZ3N0ciAiIgorInV0aWxpc2V6IGwnb3B0aW9uICctLWZvcmNlJy4gU2kgbGUgcsOpcGVydG9pcmUgbG9jYWwgZ2l0IG4nZXN0IHBhcyBsZSBkw6lww7R0ICIKKyJjb3JyZWN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQwMworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJvciB5b3UgYXJlIHVuc3VyZSB3aGF0IHRoaXMgbWVhbnMgY2hvb3NlIGFub3RoZXIgbmFtZSB3aXRoIHRoZSAnLS1uYW1lJyAiCiAib3B0aW9uLiIKLW1zZ3N0ciAib3Ugdm91cyBuZSBzYXZleiBwYXMgY2UgcXVlIGNlbGEgc2lnbmlmaWUgZGUgY2hvaXNpciB1biBhdXRyZSBub20gYXZlYyBsJ29wdGlvbiAnLS1uYW1lJy4iCittc2dzdHIgIiIKKyJvdSB2b3VzIG5lIHNhdmV6IHBhcyBjZSBxdWUgY2VsYSBzaWduaWZpZSBkZSBjaG9pc2lyIHVuIGF1dHJlIG5vbSBhdmVjICIKKyJsJ29wdGlvbiAnLS1uYW1lJy4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDA1CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ2OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVhY3RpdmF0aW5nIGxvY2FsIGdpdCBkaXJlY3RvcnkgZm9yIHN1Ym1vZHVsZSAnJHNtX25hbWUnLiIKIG1zZ3N0ciAiUsOpYWN0aXZhdGlvbiBkdSByw6lwZXJ0b2lyZSBnaXQgbG9jYWwgcG91ciBsZSBzb3VzLW1vZHVsZSAnJHNtX25hbWUnLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDgxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIkltcG9zc2libGUgZCdleHRyYWlyZSBsZSBzb3VzLW1vZHVsZSAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQyMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0ODYKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBhZGQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIsOJY2hlYyBkJ2Fqb3V0IGR1IHNvdXMtbW9kdWxlICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDMxCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICLDiWNoZWMgZCdlbnJlZ2lzdHJlbWVudCBkdSBzb3VzLW1vZHVsZSAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ3NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo1MzkKICMsIHNoLWZvcm1hdAotbXNnaWQgIkVudGVyaW5nICckcHJlZml4JHNtX3BhdGgnIgotbXNnc3RyICJFbnRyw6llIGRhbnMgJyRwcmVmaXgkc21fcGF0aCciCittc2dpZCAiRW50ZXJpbmcgJyRwcmVmaXgkZGlzcGxheXBhdGgnIgorbXNnc3RyICJFbnRyw6llIGRhbnMgJyRwcmVmaXgkZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ4OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NTQKICMsIHNoLWZvcm1hdAotbXNnaWQgIlN0b3BwaW5nIGF0ICckc21fcGF0aCc7IHNjcmlwdCByZXR1cm5lZCBub24temVybyBzdGF0dXMuIgotbXNnc3RyICJBcnLDqnQgc3VyICckc21fcGF0aCcgOyBsZSBzY3JpcHQgYSByZXRvdXJuw6kgdW4gc3RhdHV0IG5vbiBudWwuIgorbXNnaWQgIlN0b3BwaW5nIGF0ICckcHJlZml4JGRpc3BsYXlwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCittc2dzdHIgIiIKKyJBcnLDqnQgc3VyICckcHJlZml4JGRpc3BsYXlwYXRoJyA7IGxlIHNjcmlwdCBhIHJldG91cm7DqSB1biBzdGF0dXQgbm9uIG51bC4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTMyCisjOiBnaXQtc3VibW9kdWxlLnNoOjYwMAogIywgc2gtZm9ybWF0Ci1tc2dpZCAiTm8gdXJsIGZvdW5kIGZvciBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIGluIC5naXRtb2R1bGVzIgotbXNnc3RyICJVUkwgbm9uIHRyb3V2w6kgcG91ciBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRzbV9wYXRoJyBkYW5zIC5naXRtb2R1bGVzIgorbXNnaWQgIk5vIHVybCBmb3VuZCBmb3Igc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcgaW4gLmdpdG1vZHVsZXMiCittc2dzdHIgIiIKKyJVUkwgbm9uIHRyb3V2w6kgcG91ciBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCcgZGFucyAuZ2l0bW9kdWxlcyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NDEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjA5CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgotbXNnc3RyICLDiWNoZWMgZCdlbnJlZ2lzdHJlbWVudCBkZSBsJ1VSTCBwb3VyIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJHNtX3BhdGgnIgorbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cmwgZm9yIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICIiCisiw4ljaGVjIGQnZW5yZWdpc3RyZW1lbnQgZGUgbCdVUkwgcG91ciBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTQzCisjOiBnaXQtc3VibW9kdWxlLnNoOjYxMQogIywgc2gtZm9ybWF0Ci1tc2dpZCAiU3VibW9kdWxlICckbmFtZScgKCR1cmwpIHJlZ2lzdGVyZWQgZm9yIHBhdGggJyRzbV9wYXRoJyIKLW1zZ3N0ciAiU291cy1tb2R1bGUgJyRuYW1lJyAoJHVybCkgZW5yZWdpc3Ryw6kgcG91ciBsZSBjaGVtaW4gJyRzbV9wYXRoJyIKK21zZ2lkICJTdWJtb2R1bGUgJyRuYW1lJyAoJHVybCkgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiU291cy1tb2R1bGUgJyRuYW1lJyAoJHVybCkgZW5yZWdpc3Ryw6kgcG91ciBsZSBjaGVtaW4gJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTUxCisjOiBnaXQtc3VibW9kdWxlLnNoOjYxOQogIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgotbXNnc3RyICLDiWNoZWMgZCdlbnJlZ2lzdHJlbWVudCBkdSBtb2RlIGRlIG1pc2Ugw6Agam91ciBwb3VyIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJHNtX3BhdGgnIgorbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cGRhdGUgbW9kZSBmb3Igc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIiIKKyLDiWNoZWMgZCdlbnJlZ2lzdHJlbWVudCBkdSBtb2RlIGRlIG1pc2Ugw6Agam91ciBwb3VyIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAiCisiJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTg4CisjOiBnaXQtc3VibW9kdWxlLnNoOjY1NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiVXNlICcuJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgotbXNnc3RyICJVdGlsaXNleiAnLicgc2kgdm91cyB2b3VsZXogdnJhaW1lbnQgcsOpaW5pdGlhbGlzZXIgdG91cyBsZXMgc291cy1tb2R1bGVzIgorbXNnc3RyICIiCisiVXRpbGlzZXogJy4nIHNpIHZvdXMgdm91bGV6IHZyYWltZW50IHLDqWluaXRpYWxpc2VyIHRvdXMgbGVzIHNvdXMtbW9kdWxlcyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MDMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjczCiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJTdWJtb2R1bGUgd29yayB0cmVlICckc21fcGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSIKLW1zZ3N0ciAiTGEgY29waWUgZGUgdHJhdmFpbCBkdSBzb3VzLW1vZHVsZSAnJHNtX3BhdGgnIGNvbnRpZW50IHVuIHLDqXBlcnRvaXJlIC5naXQiCittc2dpZCAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5IgorbXNnc3RyICIiCisiTGEgY29waWUgZGUgdHJhdmFpbCBkdSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyBjb250aWVudCB1biByw6lwZXJ0b2lyZSAuZ2l0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwNAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgaGlzdG9yeSkiCi1tc2dzdHIgIih1dGlsaXNleiAncm0gLXJmJyBzaSB2b3VzIHZvdWxleiB2cmFpbWVudCBsZSBzdXBwcmltZXIgZW4gaW5jbHVhbnQgdG91dCBzb24gaGlzdG9yaXF1ZSkiCittc2dzdHIgIiIKKyIodXRpbGlzZXogJ3JtIC1yZicgc2kgdm91cyB2b3VsZXogdnJhaW1lbnQgbGUgc3VwcHJpbWVyIGVuIGluY2x1YW50IHRvdXQgc29uICIKKyJoaXN0b3JpcXVlKSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjgwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCi0iU3VibW9kdWxlIHdvcmsgdHJlZSAnJHNtX3BhdGgnIGNvbnRhaW5zIGxvY2FsIG1vZGlmaWNhdGlvbnM7IHVzZSAnLWYnIHRvICIKKyJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGxvY2FsIG1vZGlmaWNhdGlvbnM7IHVzZSAnLWYnIHRvICIKICJkaXNjYXJkIHRoZW0iCi1tc2dzdHIgIkxhIGNvcGllIGRlIHRyYXZhaWwgZHUgc291cy1tb2R1bGUgJyRzbV9wYXRoJyBjb250aWVudCBkZXMgbW9kaWZpY2F0aW9ucyBsb2NhbGVzOyB1dGlsaXNleiAnLWYnIHBvdXIgbGVzIGFubnVsZXIiCittc2dzdHIgIiIKKyJMYSBjb3BpZSBkZSB0cmF2YWlsIGR1IHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIGNvbnRpZW50IGRlcyBtb2RpZmljYXRpb25zICIKKyJsb2NhbGVzIDsgdXRpbGlzZXogJy1mJyBwb3VyIGxlcyBhbm51bGVyIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYxMworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODMKICMsIHNoLWZvcm1hdAotbXNnaWQgIkNsZWFyZWQgZGlyZWN0b3J5ICckc21fcGF0aCciCi1tc2dzdHIgIlLDqXBlcnRvaXJlICckc21fcGF0aCcgbmV0dG95w6kiCittc2dpZCAiQ2xlYXJlZCBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIlLDqXBlcnRvaXJlICckZGlzcGxheXBhdGgnIG5ldHRvecOpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYxNAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODQKICMsIHNoLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJHNtX3BhdGgnIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIHN1cHByaW1lciBsYSBjb3BpZSBkZSB0cmF2YWlsIGR1IHNvdXMtbW9kdWxlICckc21fcGF0aCciCittc2dpZCAiQ291bGQgbm90IHJlbW92ZSBzdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIgorbXNnc3RyICIiCisiSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbGEgY29waWUgZGUgdHJhdmFpbCBkdSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njg3CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGVtcHR5IHN1Ym1vZHVsZSBkaXJlY3RvcnkgJyRzbV9wYXRoJyIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgcsOpcGVydG9pcmUgdmlkZSBkdSBzb3VzLW1vZHVsZSAnJHNtX3BhdGgnIgorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgcsOpcGVydG9pcmUgdmlkZSBkdSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njk2CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJTdWJtb2R1bGUgJyRuYW1lJyAoJHVybCkgdW5yZWdpc3RlcmVkIGZvciBwYXRoICckc21fcGF0aCciCi1tc2dzdHIgIkxlIHNvdXMtbW9kdWxlICckbmFtZScgKCR1cmwpIG4nZXN0IHBhcyBlbnJlZ2lzdHLDqSBwb3VyIGxlIGNoZW1pbiAnJHNtX3BhdGgnIgorbXNnaWQgIlN1Ym1vZHVsZSAnJG5hbWUnICgkdXJsKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIiIKKyJMZSBzb3VzLW1vZHVsZSAnJG5hbWUnICgkdXJsKSBuJ2VzdCBwYXMgZW5yZWdpc3Ryw6kgcG91ciBsZSBjaGVtaW4gIgorIickZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjczMQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKLSJTdWJtb2R1bGUgcGF0aCAnJHByZWZpeCRzbV9wYXRoJyBub3QgaW5pdGlhbGl6ZWRcbiIKKyJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyBub3QgaW5pdGlhbGl6ZWRcbiIKICJNYXliZSB5b3Ugd2FudCB0byB1c2UgJ3VwZGF0ZSAtLWluaXQnPyIKIG1zZ3N0ciAiIgotIkNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJHByZWZpeCRzbV9wYXRoJyBub24gaW5pdGlhbGlzw6lcbiIKKyJDaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCcgbm9uIGluaXRpYWxpc8OpXG4iCiAiUGV1dC3DqnRyZSBzb3VoYWl0ZXotdm91cyB1dGlsaXNlciAndXBkYXRlIC0taW5pdCcgPyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3NDQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODI0CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckcHJlZml4JHNtX3BhdGgnIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgcsOpdmlzaW9uIGNvdXJhbnRlIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckcHJlZml4JHNtX3BhdGgnIgorbXNnaWQgIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIiIKKyJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgcsOpdmlzaW9uIGNvdXJhbnRlIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICIKKyInJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3NTMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByYXBhdHJpZXIgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3NzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODU3CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRwcmVmaXgkc21fcGF0aCciCi1tc2dzdHIgIkltcG9zc2libGUgZGUgcmFwYXRyaWVyIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckcHJlZml4JHNtX3BhdGgnIgorbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSByYXBhdHJpZXIgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzkxCisjOiBnaXQtc3VibW9kdWxlLnNoOjg3MQogIywgc2gtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckcHJlZml4JHNtX3BhdGgnIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIHJlYmFzZXIgJyRzaGExJyBkYW5zIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJHByZWZpeCRzbV9wYXRoJyIKK21zZ2lkICJVbmFibGUgdG8gcmViYXNlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIiIKKyJJbXBvc3NpYmxlIGRlIHJlYmFzZXIgJyRzaGExJyBkYW5zIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3OTIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODcyCiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJHByZWZpeCRzbV9wYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCi1tc2dzdHIgIkNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJHByZWZpeCRzbV9wYXRoJyA6IHJlYmFzw6kgZGFucyAnJHNoYTEnIgorbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiByZWJhc2VkIGludG8gJyRzaGExJyIKK21zZ3N0ciAiQ2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIDogcmViYXPDqSBkYW5zICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Nzk3CisjOiBnaXQtc3VibW9kdWxlLnNoOjg3NwogIywgc2gtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRwcmVmaXgkc21fcGF0aCciCi1tc2dzdHIgIkltcG9zc2libGUgZGUgZnVzaW9ubmVyICckc2hhMScgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRwcmVmaXgkc21fcGF0aCciCittc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIiIKKyJJbXBvc3NpYmxlIGRlIGZ1c2lvbm5lciAnJHNoYTEnIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjc5OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NzgKICMsIHNoLWZvcm1hdAotbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckcHJlZml4JHNtX3BhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKLW1zZ3N0ciAiQ2hlbWluIGRlIHNvdXMtbW9kdWxlICckcHJlZml4JHNtX3BhdGgnIDogZnVzaW9ubsOpIGRhbnMgJyRzaGExJyIKK21zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogbWVyZ2VkIGluICckc2hhMSciCittc2dzdHIgIkNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyA6IGZ1c2lvbm7DqSBkYW5zICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODAzCisjOiBnaXQtc3VibW9kdWxlLnNoOjg4MwogIywgc2gtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0ICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRwcmVmaXgkc21fcGF0aCciCi1tc2dzdHIgIkltcG9zc2libGUgZCdleHRyYWlyZSAnJHNoYTEnIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckcHJlZml4JHNtX3BhdGgnIgorbXNnaWQgIiIKKyJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlICBwYXRoICckcHJlZml4JHNtX3BhdGgnIgorbXNnc3RyICIiCisiTCdleMOpY3V0aW9uIGRlICckY29tbWFuZCAkc2hhMScgYSDDqWNob3XDqSBkYW5zIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAiCisiJyRwcmVmaXgkc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODA0CisjOiBnaXQtc3VibW9kdWxlLnNoOjg4NAogIywgc2gtZm9ybWF0Ci1tc2dpZCAiU3VibW9kdWxlIHBhdGggJyRwcmVmaXgkc21fcGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCi1tc2dzdHIgIkNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJHByZWZpeCRzbV9wYXRoJyA6ICckc2hhMScgZXh0cmFpdCIKK21zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJHByZWZpeCRzbV9wYXRoJzogJyRjb21tYW5kICRzaGExJyIKK21zZ3N0ciAiQ2hlbWluIGRlIHNvdXMtbW9kdWxlICckcHJlZml4JHNtX3BhdGgnIDogJyRjb21tYW5kICRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MzEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODg5CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckcHJlZml4JHNtX3BhdGgnIgotbXNnc3RyICLDiWNoZWMgZGUgcGFyY291cnMgZGFucyBsZSBjaGVtaW4gZHUgc291cy1tb2R1bGUgJyRwcmVmaXgkc21fcGF0aCciCittc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0ICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIiIKKyJJbXBvc3NpYmxlIGQnZXh0cmFpcmUgJyRzaGExJyBkYW5zIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MzkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODkwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogY2hlY2tlZCBvdXQgJyRzaGExJyIKK21zZ3N0ciAiQ2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIDogJyRzaGExJyBleHRyYWl0IgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjkxNworIywgc2gtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiw4ljaGVjIGRlIHBhcmNvdXJzIGRhbnMgbGUgY2hlbWluIGR1IHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjEwMjUKIG1zZ2lkICJUaGUgLS1jYWNoZWQgb3B0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhlIC0tZmlsZXMgb3B0aW9uIgogbXNnc3RyICJMJ29wdGlvbiAtLWNhY2hlZCBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqWUgYXZlYyBsJ29wdGlvbiAtLWZpbGVzIgogCiAjLiB1bmV4cGVjdGVkIHR5cGUKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTc5CisjOiBnaXQtc3VibW9kdWxlLnNoOjEwNzMKICMsIHNoLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgbW9kZSAkbW9kX2RzdCIKIG1zZ3N0ciAibW9kZSAkbW9kX2RzdCBpbmF0dGVuZHUiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTk3CisjOiBnaXQtc3VibW9kdWxlLnNoOjEwOTMKICMsIHNoLWZvcm1hdAotbXNnaWQgIiAgV2FybjogJG5hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCi1tc2dzdHIgIiAgQXR0ZW50aW9uIDogJG5hbWUgbmUgY29udGllbnQgcGFzIGxhIHZhbGlkYXRpb24gJHNoYTFfc3JjIgorbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX3NyYyIKK21zZ3N0ciAiICBBdHRlbnRpb24gOiAkZGlzcGxheV9uYW1lIG5lIGNvbnRpZW50IHBhcyBsYSB2YWxpZGF0aW9uICRzaGExX3NyYyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDAwCisjOiBnaXQtc3VibW9kdWxlLnNoOjEwOTYKICMsIHNoLWZvcm1hdAotbXNnaWQgIiAgV2FybjogJG5hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCi1tc2dzdHIgIiAgQXR0ZW50aW9uIDogJG5hbWUgbmUgY29udGllbnQgcGFzIGxhIHZhbGlkYXRpb24gJHNoYTFfZHN0IgorbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKK21zZ3N0ciAiICBBdHRlbnRpb24gOiAkZGlzcGxheV9uYW1lIG5lIGNvbnRpZW50IHBhcyBsYSB2YWxpZGF0aW9uICRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDAzCisjOiBnaXQtc3VibW9kdWxlLnNoOjEwOTkKICMsIHNoLWZvcm1hdAotbXNnaWQgIiAgV2FybjogJG5hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCi1tc2dzdHIgIiAgQXR0ZW50aW9uIDogJG5hbWUgbmUgY29udGllbnQgcGFzIGxlcyB2YWxpZGF0aW9ucyAkc2hhMV9zcmMgZXQgJHNoYTFfZHN0IgorbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0cyAkc2hhMV9zcmMgYW5kICRzaGExX2RzdCIKK21zZ3N0ciAiIgorIiAgQXR0ZW50aW9uIDogJGRpc3BsYXlfbmFtZSBuZSBjb250aWVudCBwYXMgbGVzIHZhbGlkYXRpb25zICRzaGExX3NyYyBldCAiCisiJHNoYTFfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwMjgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTEyNAogbXNnaWQgImJsb2IiCiBtc2dzdHIgImJsb2IiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA2NgotbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgotbXNnc3RyICJTb3VzLW1vZHVsZXMgbW9kaWZpw6lzIG1haXMgbm9uIG1pcyDDoCBqb3VyIDoiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA2OAotbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCi1tc2dzdHIgIkNoYW5nZW1lbnRzIGR1IHNvdXMtbW9kdWxlIMOgIHZhbGlkZXIgOiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTUzCisjOiBnaXQtc3VibW9kdWxlLnNoOjEyMzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiw4ljaGVjIGRlIHBhcmNvdXJzIGRhbnMgbGUgY2hlbWluIGR1IHNvdXMtbW9kdWxlICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTIxNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMzAyCiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckcHJlZml4JHNtX3BhdGgnIgotbXNnc3RyICJTeW5jaHJvbmlzYXRpb24gZGUgbCdVUkwgc291cy1tb2R1bGUgcG91ciAnJHByZWZpeCRzbV9wYXRoJyIKK21zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckZGlzcGxheXBhdGgnIgorbXNnc3RyICJTeW5jaHJvbmlzYXRpb24gZGUgbCdVUkwgc291cy1tb2R1bGUgcG91ciAnJGRpc3BsYXlwYXRoJyIKKworI34gbXNnaWQgImlucHV0IHBhdGhzIGFyZSB0ZXJtaW5hdGVkIGJ5IGEgbnVsbCBjaGFyYWN0ZXIiCisjfiBtc2dzdHIgImxlcyBjaGVtaW5zIGVuIGVudHLDqWUgc29udCB0ZXJtaW7DqXMgcGFyIGxlIGNhcmFjdMOocmUgbnVsIgorCisjfiBtc2dpZCAiZG9uZVxuIgorI34gbXNnc3RyICJmYWl0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgZmlsZXMgd291bGQgTk9UIGJlIHNhdmVkIGJ1dCBuZWVkIHRvIGJlIHJlbW92ZWQgIgorI34gImJ5IHN0YXNoIHNhdmU6IgorI34gbXNnc3RyICIiCisjfiAiTGVzIGZpY2hpZXJzIHN1aXZhbnRzIG5vbiBzdWl2aXMgbmUgc2Vyb250IFBBUyBzYXV2w6lzIG1haXMgZG9pdmVudCDDqnRyZSAiCisjfiAic3VwcHJpbcOpcyBwYXIgbGUgcmVtaXNhZ2UgOiIKKworI34gbXNnaWQgIiIKKyN+ICJBYm9ydGluZy4gQ29uc2lkZXIgdXNpbmcgZWl0aGVyIHRoZSAtLWZvcmNlIG9yIC0taW5jbHVkZS11bnRyYWNrZWQgb3B0aW9uLiIKKyN+IG1zZ3N0ciAiQWJhbmRvbi4gVXRpbGlzZXogbCdvcHRpb24gLS1mb3JjZSBvdSAtLWluY2x1ZGUtdW50cmFja2VkLiIKZGlmZiAtLWdpdCBhL3BvL2dpdC5wb3QgYi9wby9naXQucG90CmluZGV4IGNmMWU0NDYuLjU4YWYwMWEgMTAwNjQ0Ci0tLSBhL3BvL2dpdC5wb3QKKysrIGIvcG8vZ2l0LnBvdApAQCAtOCw3ICs4LDcgQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogUEFDS0FHRSBWRVJTSU9OXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTMtMDgtMDYgMTQ6MTArMDgwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDEzLTExLTAyIDA4OjA2KzA4MDBcbiIKICJQTy1SZXZpc2lvbi1EYXRlOiBZRUFSLU1PLURBIEhPOk1JK1pPTkVcbiIKICJMYXN0LVRyYW5zbGF0b3I6IEZVTEwgTkFNRSA8RU1BSUxAQUREUkVTUz5cbiIKICJMYW5ndWFnZS1UZWFtOiBMQU5HVUFHRSA8TExAbGkub3JnPlxuIgpAQCAtNTIsNzEgKzUyLDc2IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6MzIzCisjOiBhcmNoaXZlLmM6MjQyIGJ1aWx0aW4vYWRkLmM6MjQwIGJ1aWx0aW4vYWRkLmM6NTU2IGJ1aWx0aW4vcm0uYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBhcmNoaXZlLmM6MzI3CiBtc2dpZCAiZm10IgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzozMjMKKyM6IGFyY2hpdmUuYzozMjcKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6MzI0IGJ1aWx0aW4vbG9nLmM6MTE3MworIzogYXJjaGl2ZS5jOjMyOCBidWlsdGluL2xvZy5jOjExOTMKIG1zZ2lkICJwcmVmaXgiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjMyNQorIzogYXJjaGl2ZS5jOjMyOQogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjMyNiBidWlsdGluL2FyY2hpdmUuYzo4OCBidWlsdGluL2JsYW1lLmM6MjI5MgotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTMgYnVpbHRpbi9jb25maWcuYzo1NiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjczCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc1IGJ1aWx0aW4vZ3JlcC5jOjcxNCBidWlsdGluL2hhc2gtb2JqZWN0LmM6NzcKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTYgYnVpbHRpbi9scy1maWxlcy5jOjQ5OSBidWlsdGluL25vdGVzLmM6NDA4Ci0jOiBidWlsdGluL25vdGVzLmM6NTY1IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA4IHBhcnNlLW9wdGlvbnMuaDoxNTIKKyM6IGFyY2hpdmUuYzozMzAgYnVpbHRpbi9hcmNoaXZlLmM6ODggYnVpbHRpbi9ibGFtZS5jOjIyNjQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY1IGJ1aWx0aW4vY29uZmlnLmM6NTggYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MiBidWlsdGluL2dyZXAuYzo3MTYgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjc3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDg2IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODkgYnVpbHRpbi9ub3Rlcy5jOjQwOAorIzogYnVpbHRpbi9ub3Rlcy5jOjU2NSBidWlsdGluL3JlYWQtdHJlZS5jOjEwOCBwYXJzZS1vcHRpb25zLmg6MTU0CiBtc2dpZCAiZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6MzI3IGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CisjOiBhcmNoaXZlLmM6MzMxIGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CiBtc2dpZCAid3JpdGUgdGhlIGFyY2hpdmUgdG8gdGhpcyBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzozMjkKKyM6IGFyY2hpdmUuYzozMzMKIG1zZ2lkICJyZWFkIC5naXRhdHRyaWJ1dGVzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzozMzAKKyM6IGFyY2hpdmUuYzozMzQKIG1zZ2lkICJyZXBvcnQgYXJjaGl2ZWQgZmlsZXMgb24gc3RkZXJyIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzozMzEKKyM6IGFyY2hpdmUuYzozMzUKIG1zZ2lkICJzdG9yZSBvbmx5IgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzozMzIKKyM6IGFyY2hpdmUuYzozMzYKIG1zZ2lkICJjb21wcmVzcyBmYXN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjM0MAorIzogYXJjaGl2ZS5jOjM0NAogbXNnaWQgImNvbXByZXNzIGJldHRlciIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6MzQzCisjOiBhcmNoaXZlLmM6MzQ3CiBtc2dpZCAibGlzdCBzdXBwb3J0ZWQgYXJjaGl2ZSBmb3JtYXRzIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzozNDUgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjg1CisjOiBhcmNoaXZlLmM6MzQ5IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4NAogbXNnaWQgInJlcG8iCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjM0NiBidWlsdGluL2FyY2hpdmUuYzo5MQorIzogYXJjaGl2ZS5jOjM1MCBidWlsdGluL2FyY2hpdmUuYzo5MQogbXNnaWQgInJldHJpZXZlIHRoZSBhcmNoaXZlIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkgPHJlcG8+IgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzozNDcgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4NworIzogYXJjaGl2ZS5jOjM1MSBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDg3CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6MzQ4IGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCisjOiBhcmNoaXZlLmM6MzUyIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICIiCiAKQEAgLTE5NSwxNyArMjAwLDE3IEBACiBtc2dpZCAiQ2Fubm90IGZvcmNlIHVwZGF0ZSB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjIxNgorIzogYnJhbmNoLmM6MjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzZXR1cCB0cmFja2luZyBpbmZvcm1hdGlvbjsgc3RhcnRpbmcgcG9pbnQgJyVzJyBpcyBub3QgYSBicmFuY2guIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjIxOAorIzogYnJhbmNoLmM6MjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSByZXF1ZXN0ZWQgdXBzdHJlYW0gYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIiIKIAotIzogYnJhbmNoLmM6MjIwCisjOiBicmFuY2guYzoyMTkKIG1zZ2lkICIiCiAiXG4iCiAiSWYgeW91IGFyZSBwbGFubmluZyBvbiBiYXNpbmcgeW91ciB3b3JrIG9uIGFuIHVwc3RyZWFtXG4iCkBAIC0yMTcsMjYgKzIyMiwyNiBAQAogIlwiZ2l0IHB1c2ggLXVcIiB0byBzZXQgdGhlIHVwc3RyZWFtIGNvbmZpZyBhcyB5b3UgcHVzaC4iCiBtc2dzdHIgIiIKIAotIzogYnJhbmNoLmM6MjY1CisjOiBicmFuY2guYzoyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjI4NQorIzogYnJhbmNoLmM6Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFtYmlndW91cyBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogYnJhbmNoLmM6MjkwCisjOiBicmFuY2guYzoyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgYnJhbmNoIHBvaW50OiAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBicmFuY2guYzoyOTYKKyM6IGJyYW5jaC5jOjI5NQogbXNnaWQgIkZhaWxlZCB0byBsb2NrIHJlZiBmb3IgdXBkYXRlIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjMxNAorIzogYnJhbmNoLmM6MzEzCiBtc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHJlZiIKIG1zZ3N0ciAiIgogCkBAIC0yNTAsNyArMjU1LDcgQEAKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVhZGVyOiAlcyVzICglZCkiCiBtc2dzdHIgIiIKIAotIzogYnVuZGxlLmM6ODkgYnVpbHRpbi9jb21taXQuYzo2OTcKKyM6IGJ1bmRsZS5jOjg5IGJ1aWx0aW4vY29tbWl0LmM6NzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgIiIKQEAgLTI1OSw5ICsyNjQsOSBAQAogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgdGhlc2UgcHJlcmVxdWlzaXRlIGNvbW1pdHM6IgogbXNnc3RyICIiCiAKLSM6IGJ1bmRsZS5jOjE2NCBzZXF1ZW5jZXIuYzo2NjEgc2VxdWVuY2VyLmM6MTExMSBidWlsdGluL2xvZy5jOjMzMQotIzogYnVpbHRpbi9sb2cuYzo4MDEgYnVpbHRpbi9sb2cuYzoxMzk5IGJ1aWx0aW4vbG9nLmM6MTYyNSBidWlsdGluL21lcmdlLmM6MzY0Ci0jOiBidWlsdGluL3Nob3J0bG9nLmM6MTU2CisjOiBidW5kbGUuYzoxNjQgc2VxdWVuY2VyLmM6NjYyIHNlcXVlbmNlci5jOjExMTIgYnVpbHRpbi9sb2cuYzozMzIKKyM6IGJ1aWx0aW4vbG9nLmM6ODIxIGJ1aWx0aW4vbG9nLmM6MTQxOCBidWlsdGluL2xvZy5jOjE2NDQgYnVpbHRpbi9tZXJnZS5jOjM2NAorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE1OAogbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgogbXNnc3RyICIiCiAKQEAgLTI4Nyw3ICsyOTIsNyBAQAogbXNnaWQgInJldi1saXN0IGRpZWQiCiBtc2dzdHIgIiIKIAotIzogYnVuZGxlLmM6MzAwIGJ1aWx0aW4vbG9nLmM6MTMxMCBidWlsdGluL3Nob3J0bG9nLmM6MjU5CisjOiBidW5kbGUuYzozMDAgYnVpbHRpbi9sb2cuYzoxMzI5IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAiIgpAQCAtNDM1LDE0ICs0NDAsMTQgQEAKICIlcyIKIG1zZ3N0ciAiIgogCi0jOiBkaWZmLmM6MzQ4NworIzogZGlmZi5jOjM0OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBwYXJzZSAtLWRpcnN0YXQvLVggb3B0aW9uIHBhcmFtZXRlcjpcbiIKICIlcyIKIG1zZ3N0ciAiIgogCi0jOiBkaWZmLmM6MzUwMQorIzogZGlmZi5jOjM1MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCiBtc2dzdHIgIiIKQEAgLTQ2OSwxNyArNDc0LDE3IEBACiBtc2dpZCAiZmFpbGVkIHdyaXRpbmcgZGV0YWNoZWQgc2lnbmF0dXJlIHRvICclcyc6ICVzIgogbXNnc3RyICIiCiAKLSM6IGdyZXAuYzoxNjIzCisjOiBncmVwLmM6MTY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBncmVwLmM6MTY0MAorIzogZ3JlcC5jOjE3MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogJXMiCiBtc2dzdHIgIiIKIAotIzogZ3JlcC5jOjE2NTEKKyM6IGdyZXAuYzoxNzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQgJXMiCiBtc2dzdHIgIiIKQEAgLTU0NCw4ICs1NDksOCBAQAogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBjYWNoZSIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS5jOjExMCBidWlsdGluL2NoZWNrb3V0LmM6MzY1IGJ1aWx0aW4vY2hlY2tvdXQuYzo1NjYKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NTYKKyM6IG1lcmdlLmM6MTEwIGJ1aWx0aW4vY2hlY2tvdXQuYzozNTggYnVpbHRpbi9jaGVja291dC5jOjU1OQorIzogYnVpbHRpbi9jbG9uZS5jOjY1NQogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiIgogCkBAIC01OTQsNyArNTk5LDcgQEAKIG1zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc3NCBidWlsdGluL2Nsb25lLmM6MzEyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NzQgYnVpbHRpbi9jbG9uZS5jOjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgogbXNnc3RyICIiCkBAIC03MjEsNyArNzI2LDcgQEAKIG1zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYzNCBnaXQtc3VibW9kdWxlLnNoOjExMTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzQgZ2l0LXN1Ym1vZHVsZS5zaDoxMTI1CiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICIiCiAKQEAgLTgxNiw1OCArODIxLDEyMSBAQAogbXNnaWQgIkJhZCAlcyB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBvYmplY3QuYzoyMDQKKyM6IG9iamVjdC5jOjIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2Ugb2JqZWN0OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NDg5CisjOiBwYXJzZS1vcHRpb25zLmM6NTM3CiBtc2dpZCAiLi4uIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1MDcKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzIgogbXNnc3RyICIiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gaGVyZSBzaG91bGQgYWxpZ24gd2l0aCB0aGUKICMuIG9uZSBpbiAidXNhZ2U6ICVzIiB0cmFuc2xhdGlvbgotIzogcGFyc2Utb3B0aW9ucy5jOjUxMQorIzogcGFyc2Utb3B0aW9ucy5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICBvcjogJXMiCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjUxNAorIzogcGFyc2Utb3B0aW9ucy5jOjU2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJXMiCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjU0OAorIzogcGFyc2Utb3B0aW9ucy5jOjU5NgogbXNnaWQgIi1OVU0iCiBtc2dzdHIgIiIKIAotIzogcGF0aHNwZWMuYzo4MwotIywgYy1mb3JtYXQKLW1zZ2lkICJQYXRoICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKKyM6IHBhdGhzcGVjLmM6MTE4Cittc2dpZCAiZ2xvYmFsICdnbG9iJyBhbmQgJ25vZ2xvYicgcGF0aHNwZWMgc2V0dGluZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjk5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKKyM6IHBhdGhzcGVjLmM6MTI4Cittc2dpZCAiIgorImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgZ2xvYmFsICIKKyJwYXRoc3BlYyBzZXR0aW5ncyIKIG1zZ3N0ciAiIgogCi0jOiByZW1vdGUuYzoxNzg4CisjOiBwYXRoc3BlYy5jOjE1OAorbXNnaWQgImludmFsaWQgcGFyYW1ldGVyIGZvciBwYXRoc3BlYyBtYWdpYyAncHJlZml4JyIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhdGhzcGVjIG1hZ2ljICclLipzJyBpbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IHBhdGhzcGVjLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pc3NpbmcgJyknIGF0IHRoZSBlbmQgb2YgcGF0aHNwZWMgbWFnaWMgaW4gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjE4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmltcGxlbWVudGVkIHBhdGhzcGVjIG1hZ2ljICclYycgaW4gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJ2xpdGVyYWwnIGFuZCAnZ2xvYicgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogcGF0aHNwZWMuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgorbXNnc3RyICIiCisKKyMuCisjLiAqIFdlIG1heSB3YW50IHRvIHN1YnN0aXR1dGUgInRoaXMgY29tbWFuZCIgd2l0aCBhIGNvbW1hbmQKKyMuICogbmFtZS4gRS5nLiB3aGVuIGFkZC0taW50ZXJhY3RpdmUgZGllcyB3aGVuIHJ1bm5pbmcKKyMuICogImNoZWNrb3V0IC1wIgorIy4KKyM6IHBhdGhzcGVjLmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXRoc3BlYyBtYWdpYyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29tbWFuZDogJXMiCittc2dzdHIgIiIKKworIzogcGF0aHNwZWMuYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aHNwZWMgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjE4MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjE4MzcKK21zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUuYzoxODQwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwLXRvLWRhdGUgd2l0aCAnJXMnLlxuIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjE4NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IHJlbW90ZS5jOjE3OTQKKyM6IHJlbW90ZS5jOjE4NTAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE3OTcKKyM6IHJlbW90ZS5jOjE4NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCkBAIC04NzUsMTEgKzk0MywxMSBAQAogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogcmVtb3RlLmM6MTgwNQorIzogcmVtb3RlLmM6MTg2MQogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE4MDgKKyM6IHJlbW90ZS5jOjE4NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCkBAIC04OTAsNyArOTU4LDcgQEAKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IHJlbW90ZS5jOjE4MTgKKyM6IHJlbW90ZS5jOjE4NzQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCiBtc2dzdHIgIiIKIApAQCAtOTI4LDcgKzk5Niw3IEBACiAiYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggJ2dpdCBjb21taXQnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjI0NSBzZXF1ZW5jZXIuYzo4Njkgc2VxdWVuY2VyLmM6OTUyCisjOiBzZXF1ZW5jZXIuYzoyNDUgc2VxdWVuY2VyLmM6ODcwIHNlcXVlbmNlci5jOjk1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgdG8gJXMiCiBtc2dzdHIgIiIKQEAgLTk1MSwxOTcgKzEwMTksMTk3IEBACiBtc2dzdHIgIiIKIAogIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIgb3IgImNoZXJyeS1waWNrIgotIzogc2VxdWVuY2VyLmM6MzI0CisjOiBzZXF1ZW5jZXIuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozNTUKKyM6IHNlcXVlbmNlci5jOjM1NgogbXNnaWQgIkNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Mzc3CisjOiBzZXF1ZW5jZXIuYzozNzgKIG1zZ2lkICJVbmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWVcbiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo0MjIKKyM6IHNlcXVlbmNlci5jOjQyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NDI3CisjOiBzZXF1ZW5jZXIuYzo0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIHBhcmVudCBjb21taXQgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo0OTMKKyM6IHNlcXVlbmNlci5jOjQ5NAogbXNnaWQgIllvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NTEyCisjOiBzZXF1ZW5jZXIuYzo1MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjUyMAorIzogc2VxdWVuY2VyLmM6NTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo1MjQKKyM6IHNlcXVlbmNlci5jOjUyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgogbXNnc3RyICIiCiAKICMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSAicmV2ZXJ0IiBvcgogIy4gImNoZXJyeS1waWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEKLSM6IHNlcXVlbmNlci5jOjUzNworIzogc2VxdWVuY2VyLmM6NTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo1NDEKKyM6IHNlcXVlbmNlci5jOjU0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo2MjcKKyM6IHNlcXVlbmNlci5jOjYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmV2ZXJ0ICVzLi4uICVzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjYyOAorIzogc2VxdWVuY2VyLmM6NjI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhcHBseSAlcy4uLiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo2NjQKKyM6IHNlcXVlbmNlci5jOjY2NQogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjY3MgorIzogc2VxdWVuY2VyLmM6NjczCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjY3NworIzogc2VxdWVuY2VyLmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjczNQorIzogc2VxdWVuY2VyLmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCAlcyBkdXJpbmcgYSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo3NTcKKyM6IHNlcXVlbmNlci5jOjc1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2UgbGluZSAlZC4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NzYyCisjOiBzZXF1ZW5jZXIuYzo3NjMKIG1zZ2lkICJObyBjb21taXRzIHBhcnNlZC4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Nzc1CisjOiBzZXF1ZW5jZXIuYzo3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Nzc5CisjOiBzZXF1ZW5jZXIuYzo3ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgJXMuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjc4NgorIzogc2VxdWVuY2VyLmM6Nzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo4MTQKKyM6IHNlcXVlbmNlci5jOjgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGtleTogJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODE3CisjOiBzZXF1ZW5jZXIuYzo4MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjgyOQorIzogc2VxdWVuY2VyLmM6ODMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTAKKyM6IHNlcXVlbmNlci5jOjg1MQogbXNnaWQgImEgY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODUxCisjOiBzZXF1ZW5jZXIuYzo4NTIKIG1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjg1NQorIzogc2VxdWVuY2VyLmM6ODU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzEgc2VxdWVuY2VyLmM6OTU2CisjOiBzZXF1ZW5jZXIuYzo4NzIgc2VxdWVuY2VyLmM6OTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIHdyYXBwaW5nIHVwICVzLiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo4OTAgc2VxdWVuY2VyLmM6MTAyNAorIzogc2VxdWVuY2VyLmM6ODkxIHNlcXVlbmNlci5jOjEwMjUKIG1zZ2lkICJubyBjaGVycnktcGljayBvciByZXZlcnQgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODkyCisjOiBzZXF1ZW5jZXIuYzo4OTMKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjg5NAorIzogc2VxdWVuY2VyLmM6ODk1CiBtc2dpZCAiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6OTE2IGJ1aWx0aW4vYXBwbHkuYzo0MDYxCisjOiBzZXF1ZW5jZXIuYzo5MTcgYnVpbHRpbi9hcHBseS5jOjQwNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjkxOQorIzogc2VxdWVuY2VyLmM6OTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo5MjAKKyM6IHNlcXVlbmNlci5jOjkyMQogbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6OTI2CisjOiBzZXF1ZW5jZXIuYzo5MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjk0OQorIzogc2VxdWVuY2VyLmM6OTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmb3JtYXQgJXMuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjEwOTIKKyM6IHNlcXVlbmNlci5jOjEwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTA5NQorIzogc2VxdWVuY2VyLmM6MTA5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHJldmlzaW9uIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjExMjkKKyM6IHNlcXVlbmNlci5jOjExMzAKIG1zZ2lkICJDYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTEzMAorIzogc2VxdWVuY2VyLmM6MTEzMQogbXNnaWQgIkNhbid0IGNoZXJyeS1waWNrIGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiIgogCkBAIC0xMTU4LDM2MCArMTIyNiw0NTMgQEAKICJydW5uaW5nIFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIiIKIG1zZ3N0ciAiIgogCi0jOiBzaGExX25hbWUuYzoxMDk3CisjOiBzaGExX25hbWUuYzoxMTEyCiBtc2dpZCAiSEVBRCBkb2VzIG5vdCBwb2ludCB0byBhIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBzaGExX25hbWUuYzoxMTAwCisjOiBzaGExX25hbWUuYzoxMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggYnJhbmNoOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNoYTFfbmFtZS5jOjExMDIKKyM6IHNoYTFfbmFtZS5jOjExMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciCiBtc2dzdHIgIiIKIAotIzogc2hhMV9uYW1lLmM6MTEwNgorIzogc2hhMV9uYW1lLmM6MTEyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJVcHN0cmVhbSBicmFuY2ggJyVzJyBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiB3cmFwcGVyLmM6NDA4CisjOiBzdWJtb2R1bGUuYzo2NCBzdWJtb2R1bGUuYzo5OAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjY4IHN1Ym1vZHVsZS5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZmluZCBzZWN0aW9uIGluIC5naXRtb2R1bGVzIHdoZXJlIHBhdGg9JXMiCittc2dzdHIgIiIKKworIy4gTWF5YmUgdGhlIHVzZXIgYWxyZWFkeSBkaWQgdGhhdCwgZG9uJ3QgZXJyb3Igb3V0IGhlcmUKKyM6IHN1Ym1vZHVsZS5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgLmdpdG1vZHVsZXMgZW50cnkgJXMiCittc2dzdHIgIiIKKworIy4gTWF5YmUgdGhlIHVzZXIgYWxyZWFkeSBkaWQgdGhhdCwgZG9uJ3QgZXJyb3Igb3V0IGhlcmUKKyM6IHN1Ym1vZHVsZS5jOjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIC5naXRtb2R1bGVzIGVudHJ5IGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoxMjcKK21zZ2lkICJjb3VsZCBub3QgZmluZCAuZ2l0bW9kdWxlcyBpbiBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoxMzMKK21zZ2lkICJyZWFkaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjEzNQorbXNnaWQgInVuYWJsZSB0byBzdGF0IHVwZGF0ZWQgLmdpdG1vZHVsZXMiCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MTM5Cittc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAuZ2l0bW9kdWxlcyBmcm9tIGluZGV4IgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjE0MQorbXNnaWQgImFkZGluZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoxNDMKK21zZ2lkICJzdGFnaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjExNDQgYnVpbHRpbi9pbml0LWRiLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZ2l0IGxpbmsgJXMiCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgc2V0IGNvcmUud29ya3RyZWUgaW4gJXMiCittc2dzdHIgIiIKKworIzogdXJsbWF0Y2guYzoxMjAKK21zZ2lkICJpbnZhbGlkIFVSTCBzY2hlbWUgbmFtZSBvciBtaXNzaW5nICc6Ly8nIHN1ZmZpeCIKK21zZ3N0ciAiIgorCisjOiB1cmxtYXRjaC5jOjE0NCB1cmxtYXRjaC5jOjI5NyB1cmxtYXRjaC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkICVYWCBlc2NhcGUgc2VxdWVuY2UiCittc2dzdHIgIiIKKworIzogdXJsbWF0Y2guYzoxNzIKK21zZ2lkICJtaXNzaW5nIGhvc3QgYW5kIHNjaGVtZSBpcyBub3QgJ2ZpbGU6JyIKK21zZ3N0ciAiIgorCisjOiB1cmxtYXRjaC5jOjE4OQorbXNnaWQgImEgJ2ZpbGU6JyBVUkwgbWF5IG5vdCBoYXZlIGEgcG9ydCBudW1iZXIiCittc2dzdHIgIiIKKworIzogdXJsbWF0Y2guYzoxOTkKK21zZ2lkICJpbnZhbGlkIGNoYXJhY3RlcnMgaW4gaG9zdCBuYW1lIgorbXNnc3RyICIiCisKKyM6IHVybG1hdGNoLmM6MjQ0IHVybG1hdGNoLmM6MjU1Cittc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciIKK21zZ3N0ciAiIgorCisjOiB1cmxtYXRjaC5jOjMyMgorbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCittc2dzdHIgIiIKKworIzogd3JhcHBlci5jOjQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyc6ICVzIgogbXNnc3RyICIiCiAKLSM6IHdyYXBwZXIuYzo0MjkKKyM6IHdyYXBwZXIuYzo0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHdyYXBwZXIuYzo0NDAKKyM6IHdyYXBwZXIuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGxvb2sgdXAgY3VycmVudCB1c2VyIGluIHRoZSBwYXNzd2QgZmlsZTogJXMiCiBtc2dzdHIgIiIKIAotIzogd3JhcHBlci5jOjQ0MQorIzogd3JhcHBlci5jOjQ1NQogbXNnaWQgIm5vIHN1Y2ggdXNlciIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNDEKKyM6IHd0LXN0YXR1cy5jOjE0NgogbXNnaWQgIlVubWVyZ2VkIHBhdGhzOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNjggd3Qtc3RhdHVzLmM6MTk1CisjOiB3dC1zdGF0dXMuYzoxNzMgd3Qtc3RhdHVzLmM6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCByZXNldCAlcyA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNzAgd3Qtc3RhdHVzLmM6MTk3CisjOiB3dC1zdGF0dXMuYzoxNzUgd3Qtc3RhdHVzLmM6MjAyCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NAorIzogd3Qtc3RhdHVzLmM6MTc5CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NiB3dC1zdGF0dXMuYzoxODAKKyM6IHd0LXN0YXR1cy5jOjE4MSB3dC1zdGF0dXMuYzoxODUKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTc4CisjOiB3dC1zdGF0dXMuYzoxODMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxODkKKyM6IHd0LXN0YXR1cy5jOjE5NAogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyMDcKKyM6IHd0LXN0YXR1cy5jOjIxMgogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyMTEKKyM6IHd0LXN0YXR1cy5jOjIxNgogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjIxMworIzogd3Qtc3RhdHVzLmM6MjE4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjE0CisjOiB3dC1zdGF0dXMuYzoyMTkKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjE2CisjOiB3dC1zdGF0dXMuYzoyMjEKIG1zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjI4CisjOiB3dC1zdGF0dXMuYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjQ1CisjOiB3dC1zdGF0dXMuYzoyNTAKIG1zZ2lkICJidWciCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjUwCisjOiB3dC1zdGF0dXMuYzoyNTUKIG1zZ2lkICJib3RoIGRlbGV0ZWQ6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MQorIzogd3Qtc3RhdHVzLmM6MjU2CiBtc2dpZCAiYWRkZWQgYnkgdXM6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MgorIzogd3Qtc3RhdHVzLmM6MjU3CiBtc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyNTMKKyM6IHd0LXN0YXR1cy5jOjI1OAogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NAorIzogd3Qtc3RhdHVzLmM6MjU5CiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjU1CisjOiB3dC1zdGF0dXMuYzoyNjAKIG1zZ2lkICJib3RoIGFkZGVkOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyNTYKKyM6IHd0LXN0YXR1cy5jOjI2MQogbXNnaWQgImJvdGggbW9kaWZpZWQ6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NgorIzogd3Qtc3RhdHVzLmM6MjkxCiBtc2dpZCAibmV3IGNvbW1pdHMsICIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyODgKKyM6IHd0LXN0YXR1cy5jOjI5MwogbXNnaWQgIm1vZGlmaWVkIGNvbnRlbnQsICIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyOTAKKyM6IHd0LXN0YXR1cy5jOjI5NQogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MzA3CisjOiB3dC1zdGF0dXMuYzozMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IGZpbGU6ICAgJXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MzEwCisjOiB3dC1zdGF0dXMuYzozMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29waWVkOiAgICAgJXMgLT4gJXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MzEzCisjOiB3dC1zdGF0dXMuYzozMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRlZDogICAgJXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MzE2CisjOiB3dC1zdGF0dXMuYzozMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9kaWZpZWQ6ICAgJXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MzE5CisjOiB3dC1zdGF0dXMuYzozMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1lZDogICAgJXMgLT4gJXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MzIyCisjOiB3dC1zdGF0dXMuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidHlwZWNoYW5nZTogJXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MzI1CisjOiB3dC1zdGF0dXMuYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93bjogICAgJXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MzI4CisjOiB3dC1zdGF0dXMuYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5tZXJnZWQ6ICAgJXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MzMxCisjOiB3dC1zdGF0dXMuYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnVnOiB1bmhhbmRsZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6ODAzCisjOiB3dC1zdGF0dXMuYzo3MDMKK21zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzo3MDUKK21zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjg0OAogbXNnaWQgIllvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo4MDYKKyM6IHd0LXN0YXR1cy5jOjg1MQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjb21taXRcIikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6ODA5CisjOiB3dC1zdGF0dXMuYzo4NTQKIG1zZ2lkICJBbGwgY29uZmxpY3RzIGZpeGVkIGJ1dCB5b3UgYXJlIHN0aWxsIG1lcmdpbmcuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjgxMgorIzogd3Qtc3RhdHVzLmM6ODU3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo4MjIKKyM6IHd0LXN0YXR1cy5jOjg2NwogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo4MjUKKyM6IHd0LXN0YXR1cy5jOjg3MAogbXNnaWQgIlRoZSBjdXJyZW50IHBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo4MjkKKyM6IHd0LXN0YXR1cy5jOjg3NAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6ODMxCisjOiB3dC1zdGF0dXMuYzo4NzYKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo4MzMKKyM6IHd0LXN0YXR1cy5jOjg3OAogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo4OTMgd3Qtc3RhdHVzLmM6OTEwCisjOiB3dC1zdGF0dXMuYzo5Mzggd3Qtc3RhdHVzLmM6OTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjg5OCB3dC1zdGF0dXMuYzo5MTUKKyM6IHd0LXN0YXR1cy5jOjk0MyB3dC1zdGF0dXMuYzo5NjAKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTAxCisjOiB3dC1zdGF0dXMuYzo5NDYKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5MDMKKyM6IHd0LXN0YXR1cy5jOjk0OAogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5MDUKKyM6IHd0LXN0YXR1cy5jOjk1MAogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHRvIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5MTgKKyM6IHd0LXN0YXR1cy5jOjk2MwogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5MjIKKyM6IHd0LXN0YXR1cy5jOjk2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjkyNworIzogd3Qtc3RhdHVzLmM6OTcyCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTMwCisjOiB3dC1zdGF0dXMuYzo5NzUKIG1zZ2lkICIgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5MzQKKyM6IHd0LXN0YXR1cy5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjkzOQorIzogd3Qtc3RhdHVzLmM6OTg0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjk0MgorIzogd3Qtc3RhdHVzLmM6OTg3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5NDQKKyM6IHd0LXN0YXR1cy5jOjk4OQogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5NTQKLW1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZy4iCisjOiB3dC1zdGF0dXMuYzo5OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5NTgKKyM6IHd0LXN0YXR1cy5jOjEwMDQKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5NjEKKyM6IHd0LXN0YXR1cy5jOjEwMDcKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5NjMKKyM6IHd0LXN0YXR1cy5jOjEwMDkKIG1zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5NzIKKyM6IHd0LXN0YXR1cy5jOjEwMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTc3CisjOiB3dC1zdGF0dXMuYzoxMDIzCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjk4MAorIzogd3Qtc3RhdHVzLmM6MTAyNgogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5ODIKKyM6IHd0LXN0YXR1cy5jOjEwMjgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjk5MworIzogd3Qtc3RhdHVzLmM6MTAzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcsIHN0YXJ0ZWQgZnJvbSBicmFuY2ggJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTk3CisjOiB3dC1zdGF0dXMuYzoxMDQzCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMDAwCisjOiB3dC1zdGF0dXMuYzoxMDQ2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzMKKyM6IHd0LXN0YXR1cy5jOjEyMjEKIG1zZ2lkICJPbiBicmFuY2ggIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExODAKKyM6IHd0LXN0YXR1cy5jOjEyMjgKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExODcKKyM6IHd0LXN0YXR1cy5jOjEyMzUKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMTg5CisjOiB3dC1zdGF0dXMuYzoxMjM3CiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMTkyCisjOiB3dC1zdGF0dXMuYzoxMjQwCiBtc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjA5CisjOiB3dC1zdGF0dXMuYzoxMjU3CiBtc2dpZCAiSW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTIyMworIzogd3Qtc3RhdHVzLmM6MTI3MQogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjI1CisjOiB3dC1zdGF0dXMuYzoxMjczCiBtc2dpZCAiSWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjI5CisjOiB3dC1zdGF0dXMuYzoxMjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCkBAIC0xNTE5LDgyICsxNjgwLDg2IEBACiAibmV3IGZpbGVzIHlvdXJzZWxmIChzZWUgJ2dpdCBoZWxwIHN0YXR1cycpLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjM1CisjOiB3dC1zdGF0dXMuYzoxMjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkJXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTIzNworIzogd3Qtc3RhdHVzLmM6MTI4NQogbXNnaWQgIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI0MworIzogd3Qtc3RhdHVzLmM6MTI5MQogbXNnaWQgIk5vIGNoYW5nZXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI0OAorIzogd3Qtc3RhdHVzLmM6MTI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjUxCisjOiB3dC1zdGF0dXMuYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NAorIzogd3Qtc3RhdHVzLmM6MTMwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgogInRyYWNrKVxuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTcKKyM6IHd0LXN0YXR1cy5jOjEzMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50XG4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MAorIzogd3Qtc3RhdHVzLmM6MTMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAoY3JlYXRlL2NvcHkgZmlsZXMgYW5kIHVzZSBcImdpdCBhZGRcIiB0byB0cmFjaylcbiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYzIHd0LXN0YXR1cy5jOjEyNjgKKyM6IHd0LXN0YXR1cy5jOjEzMTEgd3Qtc3RhdHVzLmM6MTMxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjYKKyM6IHd0LXN0YXR1cy5jOjEzMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjcwCisjOiB3dC1zdGF0dXMuYzoxMzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIGRpcmVjdG9yeSBjbGVhblxuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNzgKKyM6IHd0LXN0YXR1cy5jOjE0MjcKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEzODQKKyM6IHd0LXN0YXR1cy5jOjE0MzMKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTM5OQorIzogd3Qtc3RhdHVzLmM6MTQ2MworbXNnaWQgImdvbmUiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTQ2NQogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTQwMiB3dC1zdGF0dXMuYzoxNDA1CisjOiB3dC1zdGF0dXMuYzoxNDY4IHd0LXN0YXR1cy5jOjE0NzEKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTQwNworIzogd3Qtc3RhdHVzLmM6MTQ3MwogbXNnaWQgIiwgYmVoaW5kICIKIG1zZ3N0ciAiIgogCi0jOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTggYnVpbHRpbi9jbG9uZS5jOjM1MQorIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU1IGJ1aWx0aW4vY2xvbmUuYzozNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHVubGluayAnJXMnIgogbXNnc3RyICIiCkBAIC0xNjU0LDcgKzE4MTksNyBAQAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoxNDkgYnVpbHRpbi9jb21taXQuYzoyNTIKKyM6IGJ1aWx0aW4vYWRkLmM6MTQ5IGJ1aWx0aW4vY29tbWl0LmM6MjYwCiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICIiCiAKQEAgLTE2NjMsMTQwICsxODI4LDEzNSBAQAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTMKKyM6IGJ1aWx0aW4vYWRkLmM6MjM3CiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZWZyZXNoaW5nIHRoZSBpbmRleDoiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYgYnVpbHRpbi9hZGQuYzo1NzMgYnVpbHRpbi9ybS5jOjMzNwotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6MzM5CisjOiBidWlsdGluL2FkZC5jOjI5OQogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjM1MAorIzogYnVpbHRpbi9hZGQuYzozMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTQKKyM6IGJ1aWx0aW4vYWRkLmM6MzE0CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHBhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzU5CisjOiBidWlsdGluL2FkZC5jOjMxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzYxCisjOiBidWlsdGluL2FkZC5jOjMyMQogbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjM2NworIzogYnVpbHRpbi9hZGQuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzozNzcKKyM6IGJ1aWx0aW4vYWRkLmM6MzM3CiBtc2dpZCAiVGhlIGZvbGxvd2luZyBwYXRocyBhcmUgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzk0IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9mZXRjaC5jOjc4IGJ1aWx0aW4vbXYuYzo2MwotIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3MyBidWlsdGluL3B1c2guYzo0NTEgYnVpbHRpbi9yZW1vdGUuYzoxMjUzCi0jOiBidWlsdGluL3JtLmM6MjY4CisjOiBidWlsdGluL2FkZC5jOjM1NCBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZmV0Y2guYzo5MiBidWlsdGluL212LmM6NjYKKyM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzMgYnVpbHRpbi9wdXNoLmM6NDU5IGJ1aWx0aW4vcmVtb3RlLmM6MTI1MworIzogYnVpbHRpbi9ybS5jOjI2OQogbXNnaWQgImRyeSBydW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTUgYnVpbHRpbi9hcHBseS5jOjQ0MTAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMjIwIGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk1IGJ1aWx0aW4vZnNjay5jOjYxMwotIzogYnVpbHRpbi9sb2cuYzoxNTczIGJ1aWx0aW4vbXYuYzo2MiBidWlsdGluL3JlYWQtdHJlZS5jOjExMworIzogYnVpbHRpbi9hZGQuYzozNTUgYnVpbHRpbi9hcHBseS5jOjQ0MTAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQorIzogYnVpbHRpbi9jb21taXQuYzoxMjQ5IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk1IGJ1aWx0aW4vZnNjay5jOjYxMgorIzogYnVpbHRpbi9sb2cuYzoxNTkyIGJ1aWx0aW4vbXYuYzo2NSBidWlsdGluL3JlYWQtdHJlZS5jOjExMwogbXNnaWQgImJlIHZlcmJvc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTcKKyM6IGJ1aWx0aW4vYWRkLmM6MzU3CiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjM5OCBidWlsdGluL2NoZWNrb3V0LmM6MTA3MyBidWlsdGluL3Jlc2V0LmM6MjYxCisjOiBidWlsdGluL2FkZC5jOjM1OCBidWlsdGluL2NoZWNrb3V0LmM6MTEwOSBidWlsdGluL3Jlc2V0LmM6MjcyCiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTkKKyM6IGJ1aWx0aW4vYWRkLmM6MzU5CiBtc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAwCisjOiBidWlsdGluL2FkZC5jOjM2MAogbXNnaWQgImFsbG93IGFkZGluZyBvdGhlcndpc2UgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjQwMQorIzogYnVpbHRpbi9hZGQuYzozNjEKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjQwMgorIzogYnVpbHRpbi9hZGQuYzozNjIKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDMKKyM6IGJ1aWx0aW4vYWRkLmM6MzYzCiBtc2dpZCAiYWRkIGNoYW5nZXMgZnJvbSBhbGwgdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICIiCiAKICMuIHRha2VzIG5vIGFyZ3VtZW50cwotIzogYnVpbHRpbi9hZGQuYzo0MDYKKyM6IGJ1aWx0aW4vYWRkLmM6MzY2CiBtc2dpZCAiaWdub3JlIHBhdGhzIHJlbW92ZWQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoc2FtZSBhcyAtLW5vLWFsbCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDgKKyM6IGJ1aWx0aW4vYWRkLmM6MzY4CiBtc2dpZCAiZG9uJ3QgYWRkLCBvbmx5IHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDA5CisjOiBidWlsdGluL2FkZC5jOjM2OQogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MTAKKyM6IGJ1aWx0aW4vYWRkLmM6MzcwCiBtc2dpZCAiY2hlY2sgaWYgLSBldmVuIG1pc3NpbmcgLSBmaWxlcyBhcmUgaWdub3JlZCBpbiBkcnkgcnVuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDMyCisjOiBidWlsdGluL2FkZC5jOjM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDMzCisjOiBidWlsdGluL2FkZC5jOjM5MwogbXNnaWQgIm5vIGZpbGVzIGFkZGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDM5CisjOiBidWlsdGluL2FkZC5jOjM5OQogbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo0NzgKKyM6IGJ1aWx0aW4vYWRkLmM6NDM4CiBtc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo0OTYKKyM6IGJ1aWx0aW4vYWRkLmM6NDU2CiBtc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjUyNgorIzogYnVpbHRpbi9hZGQuYzo0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo1MjcKKyM6IGJ1aWx0aW4vYWRkLmM6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NTMzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYxIGJ1aWx0aW4vY2xlYW4uYzo5MTkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzEyIGJ1aWx0aW4vbXYuYzo4MiBidWlsdGluL3JtLmM6Mjk3CisjOiBidWlsdGluL2FkZC5jOjQ5MiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NsZWFuLmM6OTE5CisjOiBidWlsdGluL2NvbW1pdC5jOjMyMCBidWlsdGluL212LmM6ODYgYnVpbHRpbi9yZXNldC5jOjIyNCBidWlsdGluL3JtLmM6Mjk5CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NjA1IGJ1aWx0aW4vYXBwbHkuYzo0NTA2IGJ1aWx0aW4vbXYuYzoyMjkgYnVpbHRpbi9ybS5jOjQzMgorIzogYnVpbHRpbi9hZGQuYzo1ODkgYnVpbHRpbi9hcHBseS5jOjQ1MDYgYnVpbHRpbi9tdi5jOjI1OSBidWlsdGluL3JtLmM6NDMyCiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIiCiAKQEAgLTIwNDIsNyArMjIwMiw3IEBACiBtc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM2ODAgYnVpbHRpbi9jaGVja291dC5jOjIxNiBidWlsdGluL3Jlc2V0LmM6MTI3CisjOiBidWlsdGluL2FwcGx5LmM6MzY4MCBidWlsdGluL2NoZWNrb3V0LmM6MjEzIGJ1aWx0aW4vcmVzZXQuYzoxMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiIgpAQCAtMjEyMiw4ICsyMjgyLDggQEAKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MzU3IGJ1aWx0aW4vYXBwbHkuYzo0MzYwIGJ1aWx0aW4vY2xvbmUuYzo5MQotIzogYnVpbHRpbi9mZXRjaC5jOjYzCisjOiBidWlsdGluL2FwcGx5LmM6NDM1NyBidWlsdGluL2FwcGx5LmM6NDM2MCBidWlsdGluL2Nsb25lLmM6OTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NwogbXNnaWQgInBhdGgiCiBtc2dzdHIgIiIKIApAQCAtMjE4Myw3ICsyMzQzLDcgQEAKIG1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM4OSBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTk3IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjIKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzg5IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxOTcgYnVpbHRpbi9scy1maWxlcy5jOjQ1MgogbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKQEAgLTIzMTMsMTAzICsyNDczLDEwMyBAQAogbXNnaWQgInVwZGF0ZSBCSVNFQ1RfSEVBRCBpbnN0ZWFkIG9mIGNoZWNraW5nIG91dCB0aGUgY3VycmVudCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2CisjOiBidWlsdGluL2JsYW1lLmM6MjcKIG1zZ2lkICJnaXQgYmxhbWUgW29wdGlvbnNdIFtyZXYtb3B0c10gW3Jldl0gWy0tXSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzozMQorIzogYnVpbHRpbi9ibGFtZS5jOjMyCiBtc2dpZCAiW3Jldi1vcHRzXSBhcmUgZG9jdW1lbnRlZCBpbiBnaXQtcmV2LWxpc3QoMSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyNzYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjQ4CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI3NworIzogYnVpbHRpbi9ibGFtZS5jOjIyNDkKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjc4CisjOiBidWlsdGluL2JsYW1lLmM6MjI1MAogbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI3OQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTEKIG1zZ2lkICJTaG93IHdvcmsgY29zdCBzdGF0aXN0aWNzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgwCisjOiBidWlsdGluL2JsYW1lLmM6MjI1MgogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgxCisjOiBidWlsdGluL2JsYW1lLmM6MjI1MwogbXNnaWQgIlNob3cgb3JpZ2luYWwgZmlsZW5hbWUgKERlZmF1bHQ6IGF1dG8pIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgyCisjOiBidWlsdGluL2JsYW1lLmM6MjI1NAogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4MworIzogYnVpbHRpbi9ibGFtZS5jOjIyNTUKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg0CisjOiBidWlsdGluL2JsYW1lLmM6MjI1NgogbXNnaWQgIlNob3cgcG9yY2VsYWluIGZvcm1hdCB3aXRoIHBlci1saW5lIGNvbW1pdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTcKIG1zZ2lkICJVc2UgdGhlIHNhbWUgb3V0cHV0IG1vZGUgYXMgZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg2CisjOiBidWlsdGluL2JsYW1lLmM6MjI1OAogbXNnaWQgIlNob3cgcmF3IHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4NworIzogYnVpbHRpbi9ibGFtZS5jOjIyNTkKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODgKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYwCiBtc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4OQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjEKIG1zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYyCiBtc2dpZCAiSWdub3JlIHdoaXRlc3BhY2UgZGlmZmVyZW5jZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYzCiBtc2dpZCAiU3BlbmQgZXh0cmEgY3ljbGVzIHRvIGZpbmQgYmV0dGVyIG1hdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkyCisjOiBidWlsdGluL2JsYW1lLmM6MjI2NAogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5MworIzogYnVpbHRpbi9ibGFtZS5jOjIyNjUKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjk0IGJ1aWx0aW4vYmxhbWUuYzoyMjk1CisjOiBidWlsdGluL2JsYW1lLmM6MjI2NiBidWlsdGluL2JsYW1lLmM6MjI2NwogbXNnaWQgInNjb3JlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjk0CisjOiBidWlsdGluL2JsYW1lLmM6MjI2NgogbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY3CiBtc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjgKIG1zZ2lkICJuLG0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY4CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIiIKIApAQCAtMjUwOSwyODAgKzI2NjksMjkwIEBACiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6NDUzCiAjLCBjLWZvcm1hdAotbXNnaWQgIlslczogYmVoaW5kICVkXSIKK21zZ2lkICJbJXM6IGdvbmVdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU1CisjOiBidWlsdGluL2JyYW5jaC5jOjQ1NgogIywgYy1mb3JtYXQKLW1zZ2lkICJbYmVoaW5kICVkXSIKK21zZ2lkICJbJXNdIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU5CiAjLCBjLWZvcm1hdAotbXNnaWQgIlslczogYWhlYWQgJWRdIgorbXNnaWQgIlslczogYmVoaW5kICVkXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2JyYW5jaC5jOjQ2MQogIywgYy1mb3JtYXQKLW1zZ2lkICJbYWhlYWQgJWRdIgorbXNnaWQgIltiZWhpbmQgJWRdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY0CisjOiBidWlsdGluL2JyYW5jaC5jOjQ2NQogIywgYy1mb3JtYXQKLW1zZ2lkICJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIgorbXNnaWQgIlslczogYWhlYWQgJWRdIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY3CiAjLCBjLWZvcm1hdAorbXNnaWQgIlthaGVhZCAlZF0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWyVzOiBhaGVhZCAlZCwgYmVoaW5kICVkXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ3MworIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0OTAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDk2CiBtc2dpZCAiICoqKiogaW52YWxpZCByZWYgKioqKiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4MgotIywgYy1mb3JtYXQKLW1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyAlcykiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzo1ODUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgotbXNnc3RyICIiCi0KICM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg4CiAjLCBjLWZvcm1hdAotbXNnaWQgIihkZXRhY2hlZCBmcm9tICVzKSIKK21zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyAlcykiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9icmFuY2guYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIihkZXRhY2hlZCBmcm9tICVzKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU5NwogbXNnaWQgIihubyBicmFuY2gpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM3CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2OQorIzogYnVpbHRpbi9icmFuY2guYzo2NzUKIG1zZ2lkICJzb21lIHJlZnMgY291bGQgbm90IGJlIHJlYWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njg4CiBtc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2OTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MDcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzEzCiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzE1CisjOiBidWlsdGluL2JyYW5jaC5jOjcyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIyCisjOiBidWlsdGluL2JyYW5jaC5jOjcyOAogbXNnaWQgIkJyYW5jaCBpcyByZW5hbWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjczNworIzogYnVpbHRpbi9icmFuY2guYzo3NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzYxCisjOiBidWlsdGluL2JyYW5jaC5jOjc2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgYnJhbmNoIGRlc2NyaXB0aW9uIHRlbXBsYXRlOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5MQorIzogYnVpbHRpbi9icmFuY2guYzo3OTcKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk5CiBtc2dpZCAic2hvdyBoYXNoIGFuZCBzdWJqZWN0LCBnaXZlIHR3aWNlIGZvciB1cHN0cmVhbSBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAwCiBtc2dpZCAic3VwcHJlc3MgaW5mb3JtYXRpb25hbCBtZXNzYWdlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NQorIzogYnVpbHRpbi9icmFuY2guYzo4MDEKIG1zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NworIzogYnVpbHRpbi9icmFuY2guYzo4MDMKIG1zZ2lkICJjaGFuZ2UgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwMQorIzogYnVpbHRpbi9icmFuY2guYzo4MDcKIG1zZ2lkICJ1c2UgY29sb3JlZCBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA4CiBtc2dpZCAiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwNSBidWlsdGluL2JyYW5jaC5jOjgxMSBidWlsdGluL2JyYW5jaC5jOjgzMgotIzogYnVpbHRpbi9icmFuY2guYzo4MzggYnVpbHRpbi9jb21taXQuYzoxNDMzIGJ1aWx0aW4vY29tbWl0LmM6MTQzNAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM1IGJ1aWx0aW4vY29tbWl0LmM6MTQzNiBidWlsdGluL3RhZy5jOjQ2OAorIzogYnVpbHRpbi9icmFuY2guYzo4MTEgYnVpbHRpbi9icmFuY2guYzo4MTcgYnVpbHRpbi9icmFuY2guYzo4MzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ0IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MCBidWlsdGluL2NvbW1pdC5jOjE0NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MiBidWlsdGluL2NvbW1pdC5jOjE0NjMgYnVpbHRpbi90YWcuYzo0NjgKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDYgYnVpbHRpbi9icmFuY2guYzo4MTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODEyIGJ1aWx0aW4vYnJhbmNoLmM6ODE4CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgxOAorIzogYnVpbHRpbi9icmFuY2guYzo4MjQKIG1zZ2lkICJTcGVjaWZpYyBnaXQtYnJhbmNoIGFjdGlvbnM6IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE5CisjOiBidWlsdGluL2JyYW5jaC5jOjgyNQogbXNnaWQgImxpc3QgYm90aCByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIxCisjOiBidWlsdGluL2JyYW5jaC5jOjgyNwogbXNnaWQgImRlbGV0ZSBmdWxseSBtZXJnZWQgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIyCisjOiBidWlsdGluL2JyYW5jaC5jOjgyOAogbXNnaWQgImRlbGV0ZSBicmFuY2ggKGV2ZW4gaWYgbm90IG1lcmdlZCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI5CiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMwCiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyNQorIzogYnVpbHRpbi9icmFuY2guYzo4MzEKIG1zZ2lkICJsaXN0IGJyYW5jaCBuYW1lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyNgorIzogYnVpbHRpbi9icmFuY2guYzo4MzIKIG1zZ2lkICJjcmVhdGUgdGhlIGJyYW5jaCdzIHJlZmxvZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyOAorIzogYnVpbHRpbi9icmFuY2guYzo4MzQKIG1zZ2lkICJlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyOQorIzogYnVpbHRpbi9icmFuY2guYzo4MzUKIG1zZ2lkICJmb3JjZSBjcmVhdGlvbiAod2hlbiBhbHJlYWR5IGV4aXN0cykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MzIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM4CiBtc2dpZCAicHJpbnQgb25seSBub3QgbWVyZ2VkIGJyYW5jaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM4CisjOiBidWlsdGluL2JyYW5jaC5jOjg0NAogbXNnaWQgInByaW50IG9ubHkgbWVyZ2VkIGJyYW5jaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQyCisjOiBidWlsdGluL2JyYW5jaC5jOjg0OAogbXNnaWQgImxpc3QgYnJhbmNoZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg1NQorIzogYnVpbHRpbi9icmFuY2guYzo4NjEKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg2MCBidWlsdGluL2Nsb25lLmM6NjMwCisjOiBidWlsdGluL2JyYW5jaC5jOjg2NiBidWlsdGluL2Nsb25lLmM6NjI5CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4ODMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODkwCiBtc2dpZCAiLS1jb2x1bW4gYW5kIC0tdmVyYm9zZSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODg5IGJ1aWx0aW4vYnJhbmNoLmM6OTI4CisjOiBidWlsdGluL2JyYW5jaC5jOjg5NiBidWlsdGluL2JyYW5jaC5jOjkzNQogbXNnaWQgImJyYW5jaCBuYW1lIHJlcXVpcmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTA0CisjOiBidWlsdGluL2JyYW5jaC5jOjkxMQogbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTE2CiBtc2dpZCAiY2Fubm90IGVkaXQgZGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MTYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGNvbW1pdCBvbiBicmFuY2ggJyVzJyB5ZXQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTE5CisjOiBidWlsdGluL2JyYW5jaC5jOjkyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBicmFuY2ggbmFtZWQgJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MzQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTQxCiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkzOQorIzogYnVpbHRpbi9icmFuY2guYzo5NDYKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyB0byBzZXQgbmV3IHVwc3RyZWFtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTQzCisjOiBidWlsdGluL2JyYW5jaC5jOjk1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IHNldCB1cHN0cmVhbSBvZiBIRUFEIHRvICVzIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NDYgYnVpbHRpbi9icmFuY2guYzo5NjggYnVpbHRpbi9icmFuY2guYzo5OTAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTUzIGJ1aWx0aW4vYnJhbmNoLmM6OTc1IGJ1aWx0aW4vYnJhbmNoLmM6OTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NTAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTYyCisjOiBidWlsdGluL2JyYW5jaC5jOjk2OQogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHVuc2V0IHVwc3RyZWFtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTY2CisjOiBidWlsdGluL2JyYW5jaC5jOjk3MwogbXNnaWQgImNvdWxkIG5vdCB1bnNldCB1cHN0cmVhbSBvZiBIRUFEIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NzIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIGhhcyBubyB1cHN0cmVhbSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk4NworIzogYnVpbHRpbi9icmFuY2guYzo5OTQKIG1zZ2lkICJpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNyZWF0ZSAnSEVBRCcgbWFudWFsbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5OTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAwMAogbXNnaWQgIi1hIGFuZCAtciBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgbWFrZSBzZW5zZSB3aXRoIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5OTYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC0tc2V0LXVwc3RyZWFtIGZsYWcgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBDb25zaWRlciB1c2luZyAtLSIKICJ0cmFjayBvciAtLXNldC11cHN0cmVhbS10b1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAxMworIzogYnVpbHRpbi9icmFuY2guYzoxMDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTI3OTAsMTIgKzI5NjAsMTIgQEAKICJcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjEwMTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgZ2l0IGJyYW5jaCAtZCAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAxNQorIzogYnVpbHRpbi9icmFuY2guYzoxMDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvICVzXG4iCiBtc2dzdHIgIiIKQEAgLTI4MTMsNDMgKzI5ODMsNDMgQEAKIG1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byB1bmJ1bmRsZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjI4NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMxMgogbXNnaWQgImdpdCBjYXQtZmlsZSAoLXR8LXN8LWV8LXB8PHR5cGU+fC0tdGV4dGNvbnYpIDxvYmplY3Q+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzoyODYKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMTMKIG1zZ2lkICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2h8LS1iYXRjaC1jaGVjaykgPCA8bGlzdF9vZl9vYmplY3RzPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzIzCisjOiBidWlsdGluL2NhdC1maWxlLmM6MzUwCiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjQKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNTEKIG1zZ2lkICJzaG93IG9iamVjdCB0eXBlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNTIKIG1zZ2lkICJzaG93IG9iamVjdCBzaXplIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNTQKIG1zZ2lkICJleGl0IHdpdGggemVybyB3aGVuIHRoZXJlJ3Mgbm8gZXJyb3IiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM1NQogbXNnaWQgInByZXR0eS1wcmludCBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMzAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNTcKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gdGV4dGNvbnYgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzMyCisjOiBidWlsdGluL2NhdC1maWxlLmM6MzU5CiBtc2dpZCAic2hvdyBpbmZvIGFuZCBjb250ZW50IG9mIG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMzUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNjIKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKIApAQCAtMjg3NCwxMCArMzA0NCwxMCBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjQKLW1zZ2lkICJpbnB1dCBwYXRocyBhcmUgdGVybWluYXRlZCBieSBhIG51bGwgY2hhcmFjdGVyIgorbXNnaWQgInRlcm1pbmF0ZSBpbnB1dCBhbmQgb3V0cHV0IHJlY29yZHMgYnkgYSBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjEwNTQgYnVpbHRpbi9nYy5jOjE3NworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTA5MCBidWlsdGluL2djLmM6MjU5CiBtc2dpZCAic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICIiCiAKQEAgLTI4ODUsMjcgKzMwNTUsMzEgQEAKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBpbnB1dCBwYXRocyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE0MwotbXNnaWQgImNhbm5vdCBzcGVjaWZ5IHBhdGhuYW1lcyB3aXRoIC0tc3RkaW4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNDYKLW1zZ2lkICIteiBvbmx5IG1ha2VzIHNlbnNlIHdpdGggLS1zdGRpbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE0OAotbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTUyCi1tc2dpZCAiLS1xdWlldCBpcyBvbmx5IHZhbGlkIHdpdGggYSBzaW5nbGUgcGF0aG5hbWUiCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI4Cittc2dpZCAiaWdub3JlIGluZGV4IHdoZW4gY2hlY2tpbmciCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTQKLW1zZ2lkICJjYW5ub3QgaGF2ZSBib3RoIC0tcXVpZXQgYW5kIC0tdmVyYm9zZSIKK21zZ2lkICJjYW5ub3Qgc3BlY2lmeSBwYXRobmFtZXMgd2l0aCAtLXN0ZGluIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU3Cittc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTkKK21zZ2lkICJubyBwYXRoIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MworbXNnaWQgIi0tcXVpZXQgaXMgb25seSB2YWxpZCB3aXRoIGEgc2luZ2xlIHBhdGhuYW1lIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY1Cittc2dpZCAiY2Fubm90IGhhdmUgYm90aCAtLXF1aWV0IGFuZCAtLXZlcmJvc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjgKIG1zZ2lkICItLW5vbi1tYXRjaGluZyBpcyBvbmx5IHZhbGlkIHdpdGggLS12ZXJib3NlIgogbXNnc3RyICIiCiAKQEAgLTI5NzgsMTA2ICszMTUyLDEwNiBAQAogbXNnaWQgImdpdCBjaGVja291dCBbb3B0aW9uc10gWzxicmFuY2g+XSAtLSA8ZmlsZT4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNyBidWlsdGluL2NoZWNrb3V0LmM6MTUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOSBidWlsdGluL2NoZWNrb3V0LmM6MTUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgdGhlaXIgdmVyc2lvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIGFsbCBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE3OQorIzogYnVpbHRpbi9jaGVja291dC5jOjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE5NgorIzogYnVpbHRpbi9jaGVja291dC5jOjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcyc6IGNhbm5vdCBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjEzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgbWVyZ2UgcmVzdWx0IGZvciAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzcgYnVpbHRpbi9jaGVja291dC5jOjI0MCBidWlsdGluL2NoZWNrb3V0LmM6MjQzCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjQ2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjMyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzUgYnVpbHRpbi9jaGVja291dC5jOjIzOAorIzogYnVpbHRpbi9jaGVja291dC5jOjI0MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggdXBkYXRpbmcgcGF0aHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI0OSBidWlsdGluL2NoZWNrb3V0LmM6MjUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjQ0IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjYgYnVpbHRpbi9jaGVja291dC5jOjQ1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjI2MSBidWlsdGluL2NoZWNrb3V0LmM6NDUxCiBtc2dpZCAiY29ycnVwdCBpbmRleCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMjkgYnVpbHRpbi9jaGVja291dC5jOjMzNgorIzogYnVpbHRpbi9jaGVja291dC5jOjMyMiBidWlsdGluL2NoZWNrb3V0LmM6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBpcyB1bm1lcmdlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NDgwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDczCiBtc2dpZCAieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYwMQorIzogYnVpbHRpbi9jaGVja291dC5jOjU5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MzIKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY0OQorIzogYnVpbHRpbi9jaGVja291dC5jOjY0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJBbHJlYWR5IG9uICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjUzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NTUgYnVpbHRpbi9jaGVja291dC5jOjk5NworIzogYnVpbHRpbi9jaGVja291dC5jOjY0OCBidWlsdGluL2NoZWNrb3V0LmM6MTAzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzEzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAuLi4gYW5kICVkIG1vcmUuXG4iCiBtc2dzdHIgIiIKIAogIy4gVGhlIHNpbmd1bGFyIHZlcnNpb24KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MTkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXQgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCkBAIC0zMDkyLDcgKzMyNjYsNyBAQAogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjczNworIzogYnVpbHRpbi9jaGVja291dC5jOjczMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8ga2VlcCB0aGVtIGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTMxMDIsMTg0ICszMjc2LDE4OCBAQAogIlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjAKIG1zZ2lkICJpbnRlcm5hbCBlcnJvciBpbiByZXZpc2lvbiB3YWxrIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjQKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk4IGJ1aWx0aW4vY2hlY2tvdXQuYzo5OTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTEgYnVpbHRpbi9jaGVja291dC5jOjEwMjgKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICIiCiAKLSMuIGNhc2UgKDEpCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTI4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCByZWZlcmVuY2U6ICVzIgogbXNnc3RyICIiCiAKICMuIGNhc2UgKDEpOiB3YW50IGEgdHJlZQotIzogYnVpbHRpbi9jaGVja291dC5jOjk2NworIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0MgogbXNnaWQgInBhdGhzIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDEzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0NSBidWlsdGluL2NoZWNrb3V0LmM6MTA0OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDE3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDIwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDI1Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAyOAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTMgYnVpbHRpbi9jaGVja291dC5jOjEwNTYgYnVpbHRpbi9jaGVja291dC5jOjEwNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDMzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3dpdGNoIGJyYW5jaCB0byBhIG5vbi1jb21taXQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1NSBidWlsdGluL2NoZWNrb3V0LmM6MTA1NyBidWlsdGluL2Nsb25lLmM6ODkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkzIGJ1aWx0aW4vY2xvbmUuYzo4OAogIzogYnVpbHRpbi9yZW1vdGUuYzoxNjkgYnVpbHRpbi9yZW1vdGUuYzoxNzEKIG1zZ2lkICJicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkyCiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk0CiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1OQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTUKIG1zZ2lkICJjcmVhdGUgcmVmbG9nIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NgogbXNnaWQgImRldGFjaCB0aGUgSEVBRCBhdCBuYW1lZCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk3CiBtc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk5CiBtc2dpZCAibmV3IGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MworIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTkKIG1zZ2lkICJuZXcgdW5wYXJlbnRlZCBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCiBtc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwMgogbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNAogbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNQogbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDcwIGJ1aWx0aW4vbWVyZ2UuYzoyMzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA2IGJ1aWx0aW4vbWVyZ2UuYzoyMzIKIG1zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzEgYnVpbHRpbi9sb2cuYzoxMjA4IHBhcnNlLW9wdGlvbnMuaDoyNDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA3IGJ1aWx0aW4vbG9nLmM6MTIyOCBwYXJzZS1vcHRpb25zLmg6MjUxCiBtc2dpZCAic3R5bGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA4CiBtc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMTEKIG1zZ2lkICJkbyBub3QgbGltaXQgcGF0aHNwZWNzIHRvIHNwYXJzZSBlbnRyaWVzIG9ubHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTEzCiBtc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgbm8tc3VjaC1icmFuY2gnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNgogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTExOAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMjUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYwCiBtc2dpZCAiTWlzc2luZyBicmFuY2ggbmFtZTsgdHJ5IC1iIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5NwogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuXG4iCiAiRGlkIHlvdSBpbnRlbmQgdG8gY2hlY2tvdXQgJyVzJyB3aGljaCBjYW4gbm90IGJlIHJlc29sdmVkIGFzIGNvbW1pdD8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3NgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTMKIG1zZ2lkICIiCiAiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2UgYW5kIC0tbWVyZ2UgYXJlIGluY29tcGF0aWJsZSB3aGVuXG4iCiAiY2hlY2tpbmcgb3V0IG9mIHRoZSBpbmRleC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI1CisjOiBidWlsdGluL2NsZWFuLmM6MjYKIG1zZ2lkICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPHBhdHRlcm4+XSBbLXggfCAtWF0gWy0tXSA8cGF0aHM+Li4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOQorIzogYnVpbHRpbi9jbGVhbi5jOjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMwCisjOiBidWlsdGluL2NsZWFuLmM6MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgcmVtb3ZlICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMgorIzogYnVpbHRpbi9jbGVhbi5jOjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHNraXAgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMworIzogYnVpbHRpbi9jbGVhbi5jOjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5MworIzogYnVpbHRpbi9jbGVhbi5jOjI5NAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKICIxICAgICAgICAgIC0gc2VsZWN0IGEgbnVtYmVyZWQgaXRlbVxuIgpAQCAtMzI4Nyw3ICszNDY1LDcgQEAKICIgICAgICAgICAgIC0gKGVtcHR5KSBzZWxlY3Qgbm90aGluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Mjk3CisjOiBidWlsdGluL2NsZWFuLmM6Mjk4CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgogIjEgICAgICAgICAgLSBzZWxlY3QgYSBzaW5nbGUgaXRlbVxuIgpAQCAtMzI5OSwzNSArMzQ3NywzNSBAQAogIiAgICAgICAgICAgLSAoZW1wdHkpIGZpbmlzaCBzZWxlY3RpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjUxNQorIzogYnVpbHRpbi9jbGVhbi5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJIdWggKCVzKT8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY1OAorIzogYnVpbHRpbi9jbGVhbi5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY5NQorIzogYnVpbHRpbi9jbGVhbi5jOjY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJXQVJOSU5HOiBDYW5ub3QgZmluZCBpdGVtcyBtYXRjaGVkIGJ5OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzE2CisjOiBidWlsdGluL2NsZWFuLmM6NzE3CiBtc2dpZCAiU2VsZWN0IGl0ZW1zIHRvIGRlbGV0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzU2CisjOiBidWlsdGluL2NsZWFuLmM6NzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAlcz8gIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3ODIKIG1zZ2lkICJCeWUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3OTAKIG1zZ2lkICIiCiAiY2xlYW4gICAgICAgICAgICAgICAtIHN0YXJ0IGNsZWFuaW5nXG4iCiAiZmlsdGVyIGJ5IHBhdHRlcm4gICAtIGV4Y2x1ZGUgaXRlbXMgZnJvbSBkZWxldGlvblxuIgpAQCAtMzMzOCwyMSArMzUxNiwyMSBAQAogIj8gICAgICAgICAgICAgICAgICAgLSBoZWxwIGZvciBwcm9tcHQgc2VsZWN0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MTcKIG1zZ2lkICIqKiogQ29tbWFuZHMgKioqIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTcKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MTgKIG1zZ2lkICJXaGF0IG5vdyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODI1CisjOiBidWlsdGluL2NsZWFuLmM6ODI2CiBtc2dpZCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbToiCiBtc2dpZF9wbHVyYWwgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW1zOiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NDIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NDMKIG1zZ2lkICJObyBtb3JlIGZpbGVzIHRvIGNsZWFuLCBleGl0aW5nLiIKIG1zZ3N0ciAiIgogCkBAIC0zMzcyLDggKzM1NTAsOCBAQAogbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODgwIGJ1aWx0aW4vZGVzY3JpYmUuYzo0MjAgYnVpbHRpbi9ncmVwLmM6NzE2Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDkzIGJ1aWx0aW4vbmFtZS1yZXYuYzozMTUgYnVpbHRpbi9zaG93LXJlZi5jOjE4NgorIzogYnVpbHRpbi9jbGVhbi5jOjg4MCBidWlsdGluL2Rlc2NyaWJlLmM6NDIwIGJ1aWx0aW4vZ3JlcC5jOjcxOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MyBidWlsdGluL25hbWUtcmV2LmM6MzE1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODUKIG1zZ2lkICJwYXR0ZXJuIgogbXNnc3RyICIiCiAKQEAgLTM0MDksOCArMzU4Nyw4IEBACiBtc2dpZCAiZ2l0IGNsb25lIFtvcHRpb25zXSBbLS1dIDxyZXBvPiBbPGRpcj5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NCBidWlsdGluL2ZldGNoLmM6ODIgYnVpbHRpbi9tZXJnZS5jOjIyOQotIzogYnVpbHRpbi9wdXNoLmM6NDYyCisjOiBidWlsdGluL2Nsb25lLmM6NjQgYnVpbHRpbi9mZXRjaC5jOjk2IGJ1aWx0aW4vbWVyZ2UuYzoyMjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3NAogbXNnaWQgImZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiIgogCkBAIC0zNDIyLDIyNyArMzYwMCwyMjIgQEAKIG1zZ2lkICJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcyCisjOiBidWlsdGluL2Nsb25lLmM6NzEKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MwogbXNnaWQgInRvIGNsb25lIGZyb20gYSBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NgorIzogYnVpbHRpbi9jbG9uZS5jOjc1CiBtc2dpZCAiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc4CisjOiBidWlsdGluL2Nsb25lLmM6NzcKIG1zZ2lkICJzZXR1cCBhcyBzaGFyZWQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODAgYnVpbHRpbi9jbG9uZS5jOjgyCisjOiBidWlsdGluL2Nsb25lLmM6NzkgYnVpbHRpbi9jbG9uZS5jOjgxCiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDg1CisjOiBidWlsdGluL2Nsb25lLmM6ODIgYnVpbHRpbi9pbml0LWRiLmM6NDg1CiBtc2dpZCAidGVtcGxhdGUtZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NCBidWlsdGluL2luaXQtZGIuYzo0ODYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MyBidWlsdGluL2luaXQtZGIuYzo0ODYKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NgorIzogYnVpbHRpbi9jbG9uZS5jOjg1CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg3IGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CiBtc2dpZCAibmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NwogbXNnaWQgInVzZSA8bmFtZT4gaW5zdGVhZCBvZiAnb3JpZ2luJyB0byB0cmFjayB1cHN0cmVhbSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4OQogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGluc3RlYWQgb2YgdGhlIHJlbW90ZSdzIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyCisjOiBidWlsdGluL2Nsb25lLmM6OTEKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MyBidWlsdGluL2ZldGNoLmM6ODMgYnVpbHRpbi9ncmVwLmM6NjYxCisjOiBidWlsdGluL2Nsb25lLmM6OTIgYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vZ3JlcC5jOjY2MwogbXNnaWQgImRlcHRoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NAorIzogYnVpbHRpbi9jbG9uZS5jOjkzCiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NgorIzogYnVpbHRpbi9jbG9uZS5jOjk1CiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NyBidWlsdGluL2luaXQtZGIuYzo0OTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NiBidWlsdGluL2luaXQtZGIuYzo0OTQKIG1zZ2lkICJnaXRkaXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NQorIzogYnVpbHRpbi9jbG9uZS5jOjk3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NQogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5CisjOiBidWlsdGluL2Nsb25lLmM6OTgKIG1zZ2lkICJrZXk9dmFsdWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMAorIzogYnVpbHRpbi9jbG9uZS5jOjk5CiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoyNTMKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzE2CisjOiBidWlsdGluL2Nsb25lLmM6MzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMxOCBidWlsdGluL2RpZmYuYzo3NworIzogYnVpbHRpbi9jbG9uZS5jOjMxNyBidWlsdGluL2RpZmYuYzo3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMzNAorIzogYnVpbHRpbi9jbG9uZS5jOjMzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozNTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzozNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM2MAorIzogYnVpbHRpbi9jbG9uZS5jOjM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM4MworIzogYnVpbHRpbi9jbG9uZS5jOjM4MiBidWlsdGluL2Nsb25lLmM6NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvbmUuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM5NgorIzogYnVpbHRpbi9jbG9uZS5jOjM5NQogbXNnaWQgIiIKICJDbG9uZSBzdWNjZWVkZWQsIGJ1dCBjaGVja291dCBmYWlsZWQuXG4iCiAiWW91IGNhbiBpbnNwZWN0IHdoYXQgd2FzIGNoZWNrZWQgb3V0IHdpdGggJ2dpdCBzdGF0dXMnXG4iCiAiYW5kIHJldHJ5IHRoZSBjaGVja291dCB3aXRoICdnaXQgY2hlY2tvdXQgLWYgSEVBRCdcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDc1CisjOiBidWlsdGluL2Nsb25lLmM6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1NTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5Li4uICIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTU4CisjOiBidWlsdGluL2Nsb25lLmM6NTU3CiBtc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjU2MAotIywgYy1mb3JtYXQKLW1zZ2lkICJkb25lXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjYyMQorIzogYnVpbHRpbi9jbG9uZS5jOjYyMAogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjUyCisjOiBidWlsdGluL2Nsb25lLmM6NjUxCiBtc2dpZCAidW5hYmxlIHRvIGNoZWNrb3V0IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzYwCisjOiBidWlsdGluL2Nsb25lLmM6NzU5CiBtc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzY0CisjOiBidWlsdGluL2Nsb25lLmM6NzYzCiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1iYXJlIGFuZCAtLW9yaWdpbiAlcyBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NzcKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzkxCisjOiBidWlsdGluL2Nsb25lLmM6NzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzk2CisjOiBidWlsdGluL2Nsb25lLmM6Nzk1CiBtc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc5OAorIzogYnVpbHRpbi9jbG9uZS5jOjc5NwogbXNnaWQgIi0tbG9jYWwgaXMgaWdub3JlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODA4CisjOiBidWlsdGluL2Nsb25lLmM6ODA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgxOAorIzogYnVpbHRpbi9jbG9uZS5jOjgxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzMSBidWlsdGluL2Nsb25lLmM6ODQzCisjOiBidWlsdGluL2Nsb25lLmM6ODMwIGJ1aWx0aW4vY2xvbmUuYzo4NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzNAorIzogYnVpbHRpbi9jbG9uZS5jOjgzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg1MworIzogYnVpbHRpbi9jbG9uZS5jOjg1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODU1CisjOiBidWlsdGluL2Nsb25lLmM6ODU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byAnJXMnLi4uXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5MAorIzogYnVpbHRpbi9jbG9uZS5jOjg4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBjbG9uZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQyCisjOiBidWlsdGluL2Nsb25lLmM6OTM5IGJ1aWx0aW4vY2xvbmUuYzo5NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0OQorIzogYnVpbHRpbi9jbG9uZS5jOjk1MAogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIiIKIApAQCAtMzY3OCwxNSArMzg1MSwxNSBAQAogbXNnaWQgIi0tY29tbWFuZCBtdXN0IGJlIHRoZSBmaXJzdCBhcmd1bWVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1CisjOiBidWlsdGluL2NvbW1pdC5jOjM2CiBtc2dpZCAiZ2l0IGNvbW1pdCBbb3B0aW9uc10gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDEKIG1zZ2lkICJnaXQgc3RhdHVzIFtvcHRpb25zXSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NQorIzogYnVpbHRpbi9jb21taXQuYzo0NgogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC0zNzAwLDE0ICszODczLDE0IEBACiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTgKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIGFtZW5kIHRoZSBtb3N0IHJlY2VudCBjb21taXQsIGJ1dCBkb2luZyBzbyB3b3VsZCBtYWtlXG4iCiAiaXQgZW1wdHkuIFlvdSBjYW4gcmVwZWF0IHlvdXIgY29tbWFuZCB3aXRoIC0tYWxsb3ctZW1wdHksIG9yIHlvdSBjYW5cbiIKICJyZW1vdmUgdGhlIGNvbW1pdCBlbnRpcmVseSB3aXRoIFwiZ2l0IHJlc2V0IEhFQUReXCIuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MgorIzogYnVpbHRpbi9jb21taXQuYzo2MwogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCkBAIC0zNzE2LDExICszODg5LDExIEBACiAiXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2OQorIzogYnVpbHRpbi9jb21taXQuYzo3MAogbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzMKIG1zZ2lkICIiCiAiSWYgeW91IHdpc2ggdG8gc2tpcCB0aGlzIGNvbW1pdCwgdXNlOlxuIgogIlxuIgpAQCAtMzczMCw5MyArMzkwMyw5MyBAQAogInRoZSByZW1haW5pbmcgY29tbWl0cy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjI3OQorIzogYnVpbHRpbi9jb21taXQuYzoyODcKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzI5CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzM1CiBtc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM2MCBidWlsdGluL2NvbW1pdC5jOjM4MSBidWlsdGluL2NvbW1pdC5jOjQzMQorIzogYnVpbHRpbi9jb21taXQuYzozNjggYnVpbHRpbi9jb21taXQuYzozODkgYnVpbHRpbi9jb21taXQuYzo0MzkKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3X2luZGV4IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDIwCiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDE0CisjOiBidWlsdGluL2NvbW1pdC5jOjQyMgogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQyNAorIzogYnVpbHRpbi9jb21taXQuYzo0MzIKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDUyCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRlbXBvcmFyeSBpbmRleCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTM1IGJ1aWx0aW4vY29tbWl0LmM6NTQxCisjOiBidWlsdGluL2NvbW1pdC5jOjU0MyBidWlsdGluL2NvbW1pdC5jOjU0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbW1pdDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTcxCiBtc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU4MworIzogYnVpbHRpbi9jb21taXQuYzo1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIGlkZW50IHN0cmluZzogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYyMSBidWlsdGluL2NvbW1pdC5jOjY1NCBidWlsdGluL2NvbW1pdC5jOjk4MgorIzogYnVpbHRpbi9jb21taXQuYzo2MzAgYnVpbHRpbi9jb21taXQuYzo2NjMgYnVpbHRpbi9jb21taXQuYzoxMDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgY29tbWl0ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjMzIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjQyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYzNQorIzogYnVpbHRpbi9jb21taXQuYzo2NDQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYzOQorIzogYnVpbHRpbi9jb21taXQuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY0NQorIzogYnVpbHRpbi9jb21taXQuYzo2NTQKIG1zZ2lkICJjb21taXQgaGFzIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjcwCiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTVNHIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjY1CisjOiBidWlsdGluL2NvbW1pdC5jOjY3NAogbXNnaWQgImNvdWxkIG5vdCByZWFkIFNRVUFTSF9NU0ciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ5CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc0MQorIzogYnVpbHRpbi9jb21taXQuYzo3NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMzgyNiw3ICszOTk5LDcgQEAKICJhbmQgdHJ5IGFnYWluLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ2CisjOiBidWlsdGluL2NvbW1pdC5jOjc2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0zODM2LDE0ICs0MDA5LDE0IEBACiAiYW5kIHRyeSBhZ2Fpbi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc1OAorIzogYnVpbHRpbi9jb21taXQuYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKICJ3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLCBhbmQgYW4gZW1wdHkgbWVzc2FnZSBhYm9ydHMgdGhlIGNvbW1pdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc2MworIzogYnVpbHRpbi9jb21taXQuYzo3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTM4NTEsNDc4ICs0MDI0LDQ4MiBAQAogIkFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NzYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Nzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQXV0aG9yOiAgICAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc4MworIzogYnVpbHRpbi9jb21taXQuYzo4MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNDb21taXR0ZXI6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODAzCisjOiBidWlsdGluL2NvbW1pdC5jOjgyMgogbXNnaWQgIkNhbm5vdCByZWFkIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NQogbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODYwIGJ1aWx0aW4vdGFnLmM6MzU5CisjOiBidWlsdGluL2NvbW1pdC5jOjg4MCBidWlsdGluL3RhZy5jOjM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGV4aXN0aW5nIGF1dGhvciBmb3VuZCB3aXRoICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NzIgYnVpbHRpbi9jb21taXQuYzoxMjA4CisjOiBidWlsdGluL2NvbW1pdC5jOjk5NyBidWlsdGluL2NvbW1pdC5jOjEyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB1bnRyYWNrZWQgZmlsZXMgbW9kZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAwOQorIzogYnVpbHRpbi9jb21taXQuYzoxMDM0CiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAzOQorIzogYnVpbHRpbi9jb21taXQuYzoxMDY0CiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3NQogbXNnaWQgIllvdSBoYXZlIG5vdGhpbmcgdG8gYW1lbmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA1MworIzogYnVpbHRpbi9jb21taXQuYzoxMDc4CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4MAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIGNoZXJyeS1waWNrIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDU4CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODMKIG1zZ2lkICJPcHRpb25zIC0tc3F1YXNoIGFuZCAtLWZpeHVwIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2OAorIzogYnVpbHRpbi9jb21taXQuYzoxMDkzCiBtc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDcwCisjOiBidWlsdGluL2NvbW1pdC5jOjEwOTUKIG1zZ2lkICJPcHRpb24gLW0gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggLWMvLUMvLUYvLS1maXh1cC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDc4CisjOiBidWlsdGluL2NvbW1pdC5jOjExMDMKIG1zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTIwCiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5NworIzogYnVpbHRpbi9jb21taXQuYzoxMTIyCiBtc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5OQorIzogYnVpbHRpbi9jb21taXQuYzoxMTI0CiBtc2dpZCAiQ2xldmVyLi4uIGFtZW5kaW5nIHRoZSBsYXN0IG9uZSB3aXRoIGRpcnR5IGluZGV4LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNgogbXNnaWQgIkV4cGxpY2l0IHBhdGhzIHNwZWNpZmllZCB3aXRob3V0IC1pIG5vciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExMSBidWlsdGluL3RhZy5jOjU3NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTM2IGJ1aWx0aW4vdGFnLmM6NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExNgorIzogYnVpbHRpbi9jb21taXQuYzoxMTQxCiBtc2dpZCAiUGF0aHMgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjIgYnVpbHRpbi9jb21taXQuYzoxNDU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTEgYnVpbHRpbi9jb21taXQuYzoxNDgyCiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNCBidWlsdGluL2NvbW1pdC5jOjE0NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1MyBidWlsdGluL2NvbW1pdC5jOjE0ODQKIG1zZ2lkICJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjYgYnVpbHRpbi9jb21taXQuYzoxNDU5IGJ1aWx0aW4vcHVzaC5jOjQ1MgorIzogYnVpbHRpbi9jb21taXQuYzoxMjU1IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NiBidWlsdGluL3B1c2guYzo0NjAKIG1zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjkgYnVpbHRpbi9jb21taXQuYzoxNDYxCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTggYnVpbHRpbi9jb21taXQuYzoxNDg4CiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIzMiBidWlsdGluL2NvbW1pdC5jOjE0NjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2MSBidWlsdGluL2NvbW1pdC5jOjE0OTEKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzQgYnVpbHRpbi9jb21taXQuYzoxNDY3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NjcKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzAgYnVpbHRpbi90YWcuYzo0NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2MyBidWlsdGluL2NvbW1pdC5jOjE0OTQgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NyBidWlsdGluL3RhZy5jOjQ1OQogbXNnaWQgIm1vZGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjM1IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NworIzogYnVpbHRpbi9jb21taXQuYzoxMjY0IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAogbXNnaWQgInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2NwogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzkgcGFyc2Utb3B0aW9ucy5oOjE1NAorIzogYnVpbHRpbi9jb21taXQuYzoxMjY4IHBhcnNlLW9wdGlvbnMuaDoxNTYKIG1zZ2lkICJ3aGVuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTI0MAorIzogYnVpbHRpbi9jb21taXQuYzoxMjY5CiBtc2dpZCAiIgogImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihEZWZhdWx0OiBhbGwpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTI0MgorIzogYnVpbHRpbi9jb21taXQuYzoxMjcxCiBtc2dpZCAibGlzdCB1bnRyYWNrZWQgZmlsZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MAogbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzE1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDIKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU2CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODMKIG1zZ2lkICJkZXRhY2hlZCBIRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OAorIzogYnVpbHRpbi9jb21taXQuYzoxMzg1CiBtc2dpZCAiIChyb290LWNvbW1pdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDI1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTIKIG1zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQyNgorIzogYnVpbHRpbi9jb21taXQuYzoxNDUzCiBtc2dpZCAic2hvdyBkaWZmIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQyOAorIzogYnVpbHRpbi9jb21taXQuYzoxNDU1CiBtc2dpZCAiQ29tbWl0IG1lc3NhZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjkgYnVpbHRpbi90YWcuYzo0NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NiBidWlsdGluL3RhZy5jOjQ1NwogbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTcKIG1zZ2lkICJhdXRob3IiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTcKIG1zZ2lkICJvdmVycmlkZSBhdXRob3IgZm9yIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzEgYnVpbHRpbi9nYy5jOjE3OAorIzogYnVpbHRpbi9jb21taXQuYzoxNDU4IGJ1aWx0aW4vZ2MuYzoyNjAKIG1zZ2lkICJkYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMQorIzogYnVpbHRpbi9jb21taXQuYzoxNDU4CiBtc2dpZCAib3ZlcnJpZGUgZGF0ZSBmb3IgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMiBidWlsdGluL21lcmdlLmM6MjIzIGJ1aWx0aW4vbm90ZXMuYzo0MDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OSBidWlsdGluL21lcmdlLmM6MjIzIGJ1aWx0aW4vbm90ZXMuYzo0MDUKICM6IGJ1aWx0aW4vbm90ZXMuYzo1NjIgYnVpbHRpbi90YWcuYzo0NTUKIG1zZ2lkICJtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMgorIzogYnVpbHRpbi9jb21taXQuYzoxNDU5CiBtc2dpZCAiY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMzCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjAKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MQogbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNQorIzogYnVpbHRpbi9jb21taXQuYzoxNDYyCiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gZml4dXAgc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MwogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIHNxdWFzaCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNworIzogYnVpbHRpbi9jb21taXQuYzoxNDY0CiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzggYnVpbHRpbi9sb2cuYzoxMTYwIGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjUgYnVpbHRpbi9sb2cuYzoxMTgwIGJ1aWx0aW4vcmV2ZXJ0LmM6ODYKIG1zZ2lkICJhZGQgU2lnbmVkLW9mZi1ieToiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM5CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjYKIG1zZ2lkICJ1c2Ugc3BlY2lmaWVkIHRlbXBsYXRlIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjcKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OAogbXNnaWQgImRlZmF1bHQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQxIGJ1aWx0aW4vdGFnLmM6NDYwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjggYnVpbHRpbi90YWcuYzo0NjAKIG1zZ2lkICJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MgorIzogYnVpbHRpbi9jb21taXQuYzoxNDY5CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQzIGJ1aWx0aW4vbWVyZ2UuYzoyMzAgYnVpbHRpbi90YWcuYzo0NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MCBidWlsdGluL21lcmdlLmM6MjMwIGJ1aWx0aW4vdGFnLmM6NDYxCiBtc2dpZCAia2V5IGlkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0NCBidWlsdGluL21lcmdlLmM6MjMxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzEgYnVpbHRpbi9tZXJnZS5jOjIzMQogbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKIG1zZ3N0ciAiIgogCiAjLiBlbmQgY29tbWl0IG1lc3NhZ2Ugb3B0aW9ucwotIzogYnVpbHRpbi9jb21taXQuYzoxNDQ3CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzQKIG1zZ2lkICJDb21taXQgY29udGVudHMgb3B0aW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NQogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NgogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NwogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDc4CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OQogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MAogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGhvb2siCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDU0CisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODEKIG1zZ2lkICJzaG93IHdoYXQgd291bGQgYmUgY29tbWl0dGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNDkyCiBtc2dpZCAiYW1lbmQgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NgorIzogYnVpbHRpbi9jb21taXQuYzoxNDkzCiBtc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDk4CiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMAogbXNnaWQgIm9rIHRvIHJlY29yZCBhIGNoYW5nZSB3aXRoIGFuIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTA3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MjkKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTQ1IGJ1aWx0aW4vbWVyZ2UuYzo1MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU2NyBidWlsdGluL21lcmdlLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTUyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MQogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTc4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgorIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMiBidWlsdGluL21lcmdlLmM6ODYxIGJ1aWx0aW4vbWVyZ2UuYzo4ODYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNCBidWlsdGluL21lcmdlLmM6ODYxIGJ1aWx0aW4vbWVyZ2UuYzo4ODYKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY1NQogbXNnaWQgImNhbm5vdCBsb2NrIEhFQUQgcmVmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNworIzogYnVpbHRpbi9jb21taXQuYzoxNjU5CiBtc2dpZCAiY2Fubm90IHVwZGF0ZSBIRUFEIHJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2NDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY3MAogbXNnaWQgIiIKICJSZXBvc2l0b3J5IGhhcyBiZWVuIHVwZGF0ZWQsIGJ1dCB1bmFibGUgdG8gd3JpdGVcbiIKICJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIG9yIHF1b3RhIGlzXG4iCiAibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXNldCBIRUFEXCIgdG8gcmVjb3Zlci4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3CisjOiBidWlsdGluL2NvbmZpZy5jOjgKIG1zZ2lkICJnaXQgY29uZmlnIFtvcHRpb25zXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjUyCisjOiBidWlsdGluL2NvbmZpZy5jOjU0CiBtc2dpZCAiQ29uZmlnIGZpbGUgbG9jYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1MworIzogYnVpbHRpbi9jb25maWcuYzo1NQogbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NAorIzogYnVpbHRpbi9jb25maWcuYzo1NgogbXNnaWQgInVzZSBzeXN0ZW0gY29uZmlnIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NQorIzogYnVpbHRpbi9jb25maWcuYzo1NwogbXNnaWQgInVzZSByZXBvc2l0b3J5IGNvbmZpZyBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKIG1zZ2lkICJ1c2UgZ2l2ZW4gY29uZmlnIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgImJsb2ItaWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgInJlYWQgY29uZmlnIGZyb20gZ2l2ZW4gYmxvYiBvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OAorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgIkFjdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU5CisjOiBidWlsdGluL2NvbmZpZy5jOjYxCiBtc2dpZCAiZ2V0IHZhbHVlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo2MgogbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxCisjOiBidWlsdGluL2NvbmZpZy5jOjYzCiBtc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MgotbXNnaWQgInJlcGxhY2UgYWxsIG1hdGNoaW5nIHZhcmlhYmxlczogbmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKLW1zZ2lkICJhZGQgYSBuZXcgdmFyaWFibGU6IG5hbWUgdmFsdWUiCi1tc2dzdHIgIiIKLQogIzogYnVpbHRpbi9jb25maWcuYzo2NAotbXNnaWQgInJlbW92ZSBhIHZhcmlhYmxlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCittc2dpZCAiZ2V0IHZhbHVlIHNwZWNpZmljIGZvciB0aGUgVVJMOiBzZWN0aW9uWy52YXJdIFVSTCIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjY1Ci1tc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCittc2dpZCAicmVwbGFjZSBhbGwgbWF0Y2hpbmcgdmFyaWFibGVzOiBuYW1lIHZhbHVlIFt2YWx1ZV9yZWdleF0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9jb25maWcuYzo2NgotbXNnaWQgInJlbmFtZSBzZWN0aW9uOiBvbGQtbmFtZSBuZXctbmFtZSIKK21zZ2lkICJhZGQgYSBuZXcgdmFyaWFibGU6IG5hbWUgdmFsdWUiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9jb25maWcuYzo2NwotbXNnaWQgInJlbW92ZSBhIHNlY3Rpb246IG5hbWUiCittc2dpZCAicmVtb3ZlIGEgdmFyaWFibGU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjY4Ci1tc2dpZCAibGlzdCBhbGwiCittc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9jb25maWcuYzo2OQotbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzAgYnVpbHRpbi9jb25maWcuYzo3MQotbXNnaWQgInNsb3QiCittc2dpZCAicmVuYW1lIHNlY3Rpb246IG9sZC1uYW1lIG5ldy1uYW1lIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKLW1zZ2lkICJmaW5kIHRoZSBjb2xvciBjb25maWd1cmVkOiBbZGVmYXVsdF0iCittc2dpZCAicmVtb3ZlIGEgc2VjdGlvbjogbmFtZSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjcxCi1tc2dpZCAiZmluZCB0aGUgY29sb3Igc2V0dGluZzogW3N0ZG91dC1pcy10dHldIgorbXNnaWQgImxpc3QgYWxsIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKLW1zZ2lkICJUeXBlIgorbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMgYnVpbHRpbi9jb25maWcuYzo3NAorbXNnaWQgInNsb3QiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9jb25maWcuYzo3MwotbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKK21zZ2lkICJmaW5kIHRoZSBjb2xvciBjb25maWd1cmVkOiBbZGVmYXVsdF0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9jb25maWcuYzo3NAotbXNnaWQgInZhbHVlIGlzIGRlY2ltYWwgbnVtYmVyIgorbXNnaWQgImZpbmQgdGhlIGNvbG9yIHNldHRpbmc6IFtzdGRvdXQtaXMtdHR5XSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjc1Ci1tc2dpZCAidmFsdWUgaXMgLS1ib29sIG9yIC0taW50IgorbXNnaWQgIlR5cGUiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9jb25maWcuYzo3NgotbXNnaWQgInZhbHVlIGlzIGEgcGF0aCAoZmlsZSBvciBkaXJlY3RvcnkgbmFtZSkiCittc2dpZCAidmFsdWUgaXMgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKLW1zZ2lkICJPdGhlciIKK21zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjc4Ci1tc2dpZCAidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIgorbXNnaWQgInZhbHVlIGlzIC0tYm9vbCBvciAtLWludCIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2NvbmZpZy5jOjc5Cittc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjgwCittc2dpZCAiT3RoZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo4MQorbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjgyCiBtc2dpZCAicmVzcGVjdCBpbmNsdWRlIGRpcmVjdGl2ZXMgb24gbG9va3VwIgogbXNnc3RyICIiCiAKQEAgLTQzMzUsNyArNDUxMiw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjE2Ci1tc2dpZCAiZ2l0IGRlc2NyaWJlIFtvcHRpb25zXSA8Y29tbWl0dGlzaD4qIgorbXNnaWQgImdpdCBkZXNjcmliZSBbb3B0aW9uc10gPGNvbW1pdC1pc2g+KiIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2Rlc2NyaWJlLmM6MTcKQEAgLTQ0NjUsNyArNDY0Miw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ4OQotbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0dGlzaGVzIgorbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vZGlmZi5jOjc5CkBAIC00NTAxLDM5ICs0Njc4LDM5IEBACiBtc2dpZCAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1vcHRzXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjY2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjczCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBhZnRlciA8bj4gb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjY4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc1CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHNpZ25lZCB0YWdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzEKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzgKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzQKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODEKIG1zZ2lkICJEdW1wIG1hcmtzIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgzCiBtc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODUKIG1zZ2lkICJGYWtlIGEgdGFnZ2VyIHdoZW4gdGFncyBsYWNrIG9uZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njg3CiBtc2dpZCAiT3V0cHV0IGZ1bGwgdHJlZSBmb3IgZWFjaCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4OQogbXNnaWQgIlVzZSB0aGUgZG9uZSBmZWF0dXJlIHRvIHRlcm1pbmF0ZSB0aGUgc3RyZWFtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODMKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2OTAKIG1zZ2lkICJTa2lwIG91dHB1dCBvZiBibG9iIGRhdGEiCiBtc2dzdHIgIiIKIApAQCAtNDU1MywyMzAgKzQ3MzAsMjMwIEBACiBtc2dpZCAiZ2l0IGZldGNoIC0tYWxsIFs8b3B0aW9ucz5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MAorIzogYnVpbHRpbi9mZXRjaC5jOjc0CiBtc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NgogbXNnaWQgImFwcGVuZCB0byAuZ2l0L0ZFVENIX0hFQUQgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3OAogbXNnaWQgInBhdGggdG8gdXBsb2FkIHBhY2sgb24gcmVtb3RlIGVuZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3OQogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY3CisjOiBidWlsdGluL2ZldGNoLmM6ODEKIG1zZ2lkICJmZXRjaCBmcm9tIG11bHRpcGxlIHJlbW90ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY5CisjOiBidWlsdGluL2ZldGNoLmM6ODMKIG1zZ2lkICJmZXRjaCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MQorIzogYnVpbHRpbi9mZXRjaC5jOjg1CiBtc2dpZCAiZG8gbm90IGZldGNoIGFsbCB0YWdzICgtLW5vLXRhZ3MpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MworIzogYnVpbHRpbi9mZXRjaC5jOjg3CiBtc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc0CisjOiBidWlsdGluL2ZldGNoLmM6ODgKIG1zZ2lkICJvbi1kZW1hbmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc1CisjOiBidWlsdGluL2ZldGNoLmM6ODkKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3OQorIzogYnVpbHRpbi9mZXRjaC5jOjkzCiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgxCisjOiBidWlsdGluL2ZldGNoLmM6OTUKIG1zZ2lkICJhbGxvdyB1cGRhdGluZyBvZiBIRUFEIHJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OAogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg2CisjOiBidWlsdGluL2ZldGNoLmM6MTAwCiBtc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg4IGJ1aWx0aW4vbG9nLmM6MTE3NworIzogYnVpbHRpbi9mZXRjaC5jOjEwMiBidWlsdGluL2xvZy5jOjExOTcKIG1zZ2lkICJkaXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg5CisjOiBidWlsdGluL2ZldGNoLmM6MTAzCiBtc2dpZCAicHJlcGVuZCB0aGlzIHRvIHN1Ym1vZHVsZSBwYXRoIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDYKIG1zZ2lkICJkZWZhdWx0IG1vZGUgZm9yIHJlY3Vyc2lvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIwCisjOiBidWlsdGluL2ZldGNoLmM6MjM2CiBtc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI3MworIzogYnVpbHRpbi9mZXRjaC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgbm90IGZvdW5kIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyNzgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyOTUKIG1zZ2lkICJbdXAgdG8gZGF0ZV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI5MgorIzogYnVpbHRpbi9mZXRjaC5jOjMwOQogIywgYy1mb3JtYXQKIG1zZ2lkICIhICUtKnMgJS0qcyAtPiAlcyAgKGNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjkzIGJ1aWx0aW4vZmV0Y2guYzozNzkKKyM6IGJ1aWx0aW4vZmV0Y2guYzozMTAgYnVpbHRpbi9mZXRjaC5jOjM5NgogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMwNAorIzogYnVpbHRpbi9mZXRjaC5jOjMyMQogbXNnaWQgIlt0YWcgdXBkYXRlXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzA2IGJ1aWx0aW4vZmV0Y2guYzozNDEgYnVpbHRpbi9mZXRjaC5jOjM1OQorIzogYnVpbHRpbi9mZXRjaC5jOjMyMyBidWlsdGluL2ZldGNoLmM6MzU4IGJ1aWx0aW4vZmV0Y2guYzozNzYKIG1zZ2lkICIgICh1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMyNAorIzogYnVpbHRpbi9mZXRjaC5jOjM0MQogbXNnaWQgIltuZXcgdGFnXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzI3CisjOiBidWlsdGluL2ZldGNoLmM6MzQ0CiBtc2dpZCAiW25ldyBicmFuY2hdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMzAKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNDcKIG1zZ2lkICJbbmV3IHJlZl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM3NQorIzogYnVpbHRpbi9mZXRjaC5jOjM5MgogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozNzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzozOTIKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozODEKKyM6IGJ1aWx0aW4vZmV0Y2guYzozOTgKIG1zZ2lkICIobm9uLWZhc3QtZm9yd2FyZCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQxMiBidWlsdGluL2ZldGNoLmM6NzE4CisjOiBidWlsdGluL2ZldGNoLmM6NDI5IGJ1aWx0aW4vZmV0Y2guYzo3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQyMQorIzogYnVpbHRpbi9mZXRjaC5jOjQzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjUyMAorIzogYnVpbHRpbi9mZXRjaC5jOjUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJGcm9tICUuKnNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTMxCisjOiBidWlsdGluL2ZldGNoLmM6NTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJzb21lIGxvY2FsIHJlZnMgY291bGQgbm90IGJlIHVwZGF0ZWQ7IHRyeSBydW5uaW5nXG4iCiAiICdnaXQgcmVtb3RlIHBydW5lICVzJyB0byByZW1vdmUgYW55IG9sZCwgY29uZmxpY3RpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU4MQorIzogYnVpbHRpbi9mZXRjaC5jOjU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1ODIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1ODkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MDYKIG1zZ2lkICJbZGVsZXRlZF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU5MCBidWlsdGluL3JlbW90ZS5jOjEwNTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MDcgYnVpbHRpbi9yZW1vdGUuYzoxMDU1CiBtc2dpZCAiKG5vbmUpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MDgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gZmV0Y2ggaW50byBjdXJyZW50IGJyYW5jaCAlcyBvZiBub24tYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZmV0Y2ggZnJvbSAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6ODIzCisjOiBidWlsdGluL2ZldGNoLmM6NzQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgdmFsdWUgXCIlc1wiIGlzIG5vdCB2YWxpZCBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgyNgorIzogYnVpbHRpbi9mZXRjaC5jOjc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIGlzIGlnbm9yZWQgZm9yICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkyOAorIzogYnVpbHRpbi9mZXRjaC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmV0Y2hpbmcgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTMwIGJ1aWx0aW4vcmVtb3RlLmM6MTAwCisjOiBidWlsdGluL2ZldGNoLmM6OTc4IGJ1aWx0aW4vcmVtb3RlLmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmZXRjaCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTQ5CisjOiBidWlsdGluL2ZldGNoLmM6OTk3CiBtc2dpZCAiIgogIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgogInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk2OQorIzogYnVpbHRpbi9mZXRjaC5jOjEwMjAKIG1zZ2lkICJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgdGFnIG5hbWUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE1CisjOiBidWlsdGluL2ZldGNoLmM6MTA2OAogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE3CisjOiBidWlsdGluL2ZldGNoLmM6MTA3MAogbXNnaWQgIi0tdW5zaGFsbG93IG9uIGEgY29tcGxldGUgcmVwb3NpdG9yeSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDM2CisjOiBidWlsdGluL2ZldGNoLmM6MTA4OQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDM4CisjOiBidWlsdGluL2ZldGNoLmM6MTA5MQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA0OQorIzogYnVpbHRpbi9mZXRjaC5jOjExMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA1NworIzogYnVpbHRpbi9mZXRjaC5jOjExMTAKIG1zZ2lkICJGZXRjaGluZyBhIGdyb3VwIGFuZCBzcGVjaWZ5aW5nIHJlZnNwZWNzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKIApAQCAtNDc4NCw5ICs0OTYxLDkgQEAKIG1zZ2lkICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPG1lc3NhZ2U+XSBbLS1sb2dbPTxuPl18LS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2IGJ1aWx0aW4vZ3JlcC5jOjcwMAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKLSM6IGJ1aWx0aW4vdGFnLmM6NDQ2IHBhcnNlLW9wdGlvbnMuaDoxMzMgcGFyc2Utb3B0aW9ucy5oOjI0MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NiBidWlsdGluL2dyZXAuYzo3MDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDMgYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NSBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL3RhZy5jOjQ0NiBwYXJzZS1vcHRpb25zLmg6MTM1IHBhcnNlLW9wdGlvbnMuaDoyNDUKIG1zZ2lkICJuIgogbXNnc3RyICIiCiAKQEAgLTQ4MTAsMTU4ICs0OTg3LDE2OSBAQAogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTc5CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5NQogbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgW29wdGlvbnNdIFs8cGF0dGVybj5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTk0CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMTAKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHNoZWxscyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5NgorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDEyCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBwZXJsIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTk4CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMTQKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHB5dGhvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDAKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAxNgogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgdGNsIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwMworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDE5CiBtc2dpZCAic2hvdyBvbmx5IDxuPiBtYXRjaGVkIHJlZnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDA0CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMjAKIG1zZ2lkICJmb3JtYXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDA0CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMjAKIG1zZ2lkICJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDIxCiBtc2dpZCAia2V5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNgorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDIyCiBtc2dpZCAiZmllbGQgbmFtZSB0byBzb3J0IG9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYwOAorIzogYnVpbHRpbi9mc2NrLmM6NjA3CiBtc2dpZCAiZ2l0IGZzY2sgW29wdGlvbnNdIFs8b2JqZWN0Pi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE0CisjOiBidWlsdGluL2ZzY2suYzo2MTMKIG1zZ2lkICJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE1CisjOiBidWlsdGluL2ZzY2suYzo2MTQKIG1zZ2lkICJzaG93IGRhbmdsaW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE2CisjOiBidWlsdGluL2ZzY2suYzo2MTUKIG1zZ2lkICJyZXBvcnQgdGFncyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTcKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNgogbXNnaWQgInJlcG9ydCByb290IG5vZGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYxOAorIzogYnVpbHRpbi9mc2NrLmM6NjE3CiBtc2dpZCAibWFrZSBpbmRleCBvYmplY3RzIGhlYWQgbm9kZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE5CisjOiBidWlsdGluL2ZzY2suYzo2MTgKIG1zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjIwCisjOiBidWlsdGluL2ZzY2suYzo2MTkKIG1zZ2lkICJhbHNvIGNvbnNpZGVyIHBhY2tzIGFuZCBhbHRlcm5hdGUgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MjEKKyM6IGJ1aWx0aW4vZnNjay5jOjYyMAogbXNnaWQgImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MjMKKyM6IGJ1aWx0aW4vZnNjay5jOjYyMgogbXNnaWQgIndyaXRlIGRhbmdsaW5nIG9iamVjdHMgaW4gLmdpdC9sb3N0LWZvdW5kIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYyNCBidWlsdGluL3BydW5lLmM6MTM0CisjOiBidWlsdGluL2ZzY2suYzo2MjMgYnVpbHRpbi9wcnVuZS5jOjEzNAogbXNnaWQgInNob3cgcHJvZ3Jlc3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9nYy5jOjIyCisjOiBidWlsdGluL2djLmM6MjMKIG1zZ2lkICJnaXQgZ2MgW29wdGlvbnNdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo2MworIzogYnVpbHRpbi9nYy5jOjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgJXM6ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9nYy5jOjkwCisjOiBidWlsdGluL2djLmM6MTA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZWx5IGxvbmcgb2JqZWN0IGRpcmVjdG9yeSAlLipzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxNzkKKyM6IGJ1aWx0aW4vZ2MuYzoyNjEKIG1zZ2lkICJwcnVuZSB1bnJlZmVyZW5jZWQgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2djLmM6MTgxCisjOiBidWlsdGluL2djLmM6MjYzCiBtc2dpZCAiYmUgbW9yZSB0aG9yb3VnaCAoaW5jcmVhc2VkIHJ1bnRpbWUpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxODIKKyM6IGJ1aWx0aW4vZ2MuYzoyNjQKIG1zZ2lkICJlbmFibGUgYXV0by1nYyBtb2RlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoyMjIKKyM6IGJ1aWx0aW4vZ2MuYzoyNjUKK21zZ2lkICJmb3JjZSBydW5uaW5nIGdjIGV2ZW4gaWYgdGhlcmUgbWF5IGJlIGFub3RoZXIgZ2MgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2djLmM6MzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuIFlvdSBtYXkgYWxzb1xuIgogInJ1biBcImdpdCBnY1wiIG1hbnVhbGx5LiBTZWUgXCJnaXQgaGVscCBnY1wiIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoyNDkKKyMuIGJlIHF1aWV0IG9uIC0tYXV0bworIzogYnVpbHRpbi9nYy5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZ2MgaXMgYWxyZWFkeSBydW5uaW5nIG9uIG1hY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiAodXNlIC0tZm9yY2UgaWYgbm90KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2djLmM6MzQwCiBtc2dpZCAiIgogIlRoZXJlIGFyZSB0b28gbWFueSB1bnJlYWNoYWJsZSBsb29zZSBvYmplY3RzOyBydW4gJ2dpdCBwcnVuZScgdG8gcmVtb3ZlIHRoZW0uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIyCisjOiBidWlsdGluL2dyZXAuYzoyMwogbXNnaWQgImdpdCBncmVwIFtvcHRpb25zXSBbLWVdIDxwYXR0ZXJuPiBbPHJldj4uLi5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjE3CisjOiBidWlsdGluL2dyZXAuYzoyMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ3JlcDogZmFpbGVkIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjM2NAorIzogYnVpbHRpbi9ncmVwLmM6MzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjaGRpcjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NDQyIGJ1aWx0aW4vZ3JlcC5jOjQ3NworIzogYnVpbHRpbi9ncmVwLmM6NDQzIGJ1aWx0aW4vZ3JlcC5jOjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCB0cmVlICglcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NDkyCisjOiBidWlsdGluL2dyZXAuYzo0OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo1NTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjU2NworIzogYnVpbHRpbi9ncmVwLmM6NTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICclcyciCiBtc2dzdHIgIiIKQEAgLTUwMDMsMTU4ICs1MTkxLDE2MiBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vZ3JlcC5jOjY2MgorbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo2NjQKIG1zZ2lkICJkZXNjZW5kIGF0IG1vc3QgPGRlcHRoPiBsZXZlbHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjY2CisjOiBidWlsdGluL2dyZXAuYzo2NjgKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3MQogbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3NAogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3NQorIzogYnVpbHRpbi9ncmVwLmM6Njc3CiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3OAorIzogYnVpbHRpbi9ncmVwLmM6NjgwCiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc5CisjOiBidWlsdGluL2dyZXAuYzo2ODEKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4MgogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4MgorIzogYnVpbHRpbi9ncmVwLmM6Njg0CiBtc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NgogbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4OAogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4OQorIzogYnVpbHRpbi9ncmVwLmM6NjkxCiBtc2dpZCAic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5MQorIzogYnVpbHRpbi9ncmVwLmM6NjkzCiBtc2dpZCAicHJpbnQgTlVMIGFmdGVyIGZpbGVuYW1lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5NQogbXNnaWQgInNob3cgdGhlIG51bWJlciBvZiBtYXRjaGVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk0CisjOiBidWlsdGluL2dyZXAuYzo2OTYKIG1zZ2lkICJoaWdobGlnaHQgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5OAogbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5OAorIzogYnVpbHRpbi9ncmVwLmM6NzAwCiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMwogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNAorIzogYnVpbHRpbi9ncmVwLmM6NzA2CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwOAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwOQogbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEwCisjOiBidWlsdGluL2dyZXAuYzo3MTIKIG1zZ2lkICJzaG93IGEgbGluZSB3aXRoIHRoZSBmdW5jdGlvbiBuYW1lIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxMgorIzogYnVpbHRpbi9ncmVwLmM6NzE0CiBtc2dpZCAic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE1CisjOiBidWlsdGluL2dyZXAuYzo3MTcKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxOQogbXNnaWQgIm1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcyMQogbXNnaWQgImNvbWJpbmUgcGF0dGVybnMgc3BlY2lmaWVkIHdpdGggLWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzMxCisjOiBidWlsdGluL2dyZXAuYzo3MzMKIG1zZ2lkICJpbmRpY2F0ZSBoaXQgd2l0aCBleGl0IHN0YXR1cyB3aXRob3V0IG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczNQogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzM1CisjOiBidWlsdGluL2dyZXAuYzo3MzcKIG1zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQogbXNnaWQgInBhZ2VyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczOQorIzogYnVpbHRpbi9ncmVwLmM6NzQxCiBtc2dpZCAic2hvdyBtYXRjaGluZyBmaWxlcyBpbiB0aGUgcGFnZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQyCisjOiBidWlsdGluL2dyZXAuYzo3NDQKIG1zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQzIGJ1aWx0aW4vc2hvdy1yZWYuYzoxODgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0NSBidWlsdGluL3Nob3ctcmVmLmM6MTg3CiBtc2dpZCAic2hvdyB1c2FnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxMgogbXNnaWQgIm5vIHBhdHRlcm4gZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2NQorIzogYnVpbHRpbi9ncmVwLmM6ODcwCiBtc2dpZCAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIG9ubHkgd29ya3Mgb24gdGhlIHdvcmt0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4OAorIzogYnVpbHRpbi9ncmVwLmM6ODkzCiBtc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4OTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5OAogbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4OTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMQogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCiBtc2dzdHIgIiIKIApAQCAtNTQwMyw4ICs1NTk1LDggQEAKIG1zZ2lkICJTSEExIENPTExJU0lPTiBGT1VORCBXSVRIICVzICEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjY5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTcwCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjY5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTcxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAiIgpAQCAtNTQzMywxNTUgKzU2MjUsMTU1IEBACiBtc2dpZCAiTm90IGFsbCBjaGlsZCBvYmplY3RzIG9mICVzIGFyZSByZWFjaGFibGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODM4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg2OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODM5IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg2OQogbXNnaWQgImZhaWxlZCB0byBhcHBseSBkZWx0YSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDEwCiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTAwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTAxMAogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTAzNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTAzNgogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQxCiBtc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNDQKIG1zZ2lkICJwYWNrIGhhcyBqdW5rIGF0IHRoZSBlbmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA1NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA1NQogbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkgaW4gcGFyc2VfcGFja19vYmplY3RzKCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA3NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA3OAogbXNnaWQgIlJlc29sdmluZyBkZWx0YXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA4NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzMAogbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5leHBlY3RlZCB0YWlsIGNoZWNrc3VtIGZvciAlcyAoZGlzayBjb3JydXB0aW9uPykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgYXBwZW5kZWQgb2JqZWN0ICglZCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjc5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjgwCiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUga2VlcCBmaWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMwMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzEzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzE0CiBtc2dpZCAiY2Fubm90IHN0b3JlIHBhY2sgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzI0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzI1CiBtc2dpZCAiY2Fubm90IHN0b3JlIGluZGV4IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM1NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzY3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGlkeCBmaWxlIGZvciAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MTAKIG1zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTU3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NjAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NzIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU1OCBidWlsdGluL2luZGV4LXBhY2suYzoxNTYxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTczIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTEKIG1zZ2lkICItLWZpeC10aGluIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgLS1zdGRpbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjEzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjE0CiBtc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgogbXNnc3RyICIiCiAKQEAgLTU2NzAsMTEgKzU4NjIsNiBAQAogbXNnaWQgInVuYWJsZSB0byBtb3ZlICVzIHRvICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM2MwotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGdpdCBsaW5rICVzIgotbXNnc3RyICIiCi0KICMuCiAjLiAqIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJyVzJyBpcyBlaXRoZXIgIlJlaW5pdGlhbGl6ZWQKICMuICogZXhpc3RpbmciIG9yICJJbml0aWFsaXplZCBlbXB0eSIsIHRoZSBzZWNvbmQgIiBzaGFyZWQiIG9yCkBAIC01NzE1LDcgKzU5MDIsNyBAQAogbXNnaWQgInNwZWNpZnkgdGhhdCB0aGUgZ2l0IHJlcG9zaXRvcnkgaXMgdG8gYmUgc2hhcmVkIGFtb25nc3Qgc2V2ZXJhbCB1c2VycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0OTMgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDkzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzUgYnVpbHRpbi9yZXBhY2suYzoxNTUKIG1zZ2lkICJiZSBxdWlldCIKIG1zZ3N0ciAiIgogCkBAIC01NzUzLDM4MSArNTk0MCwzODEgQEAKIG1zZ2lkICIgICBvcjogZ2l0IHNob3cgW29wdGlvbnNdIDxvYmplY3Q+Li4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI0CisjOiBidWlsdGluL2xvZy5jOjEyNQogbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1CisjOiBidWlsdGluL2xvZy5jOjEyNgogbXNnaWQgInNob3cgc291cmNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI2CisjOiBidWlsdGluL2xvZy5jOjEyNwogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI3CisjOiBidWlsdGluL2xvZy5jOjEyOAogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoyMzAKKyM6IGJ1aWx0aW4vbG9nLmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpbmFsIG91dHB1dDogJWQgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjQ1MyBidWlsdGluL2xvZy5jOjU0NQorIzogYnVpbHRpbi9sb2cuYzo0NzMgYnVpbHRpbi9sb2cuYzo1NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTY5CisjOiBidWlsdGluL2xvZy5jOjU4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHR5cGU6ICVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NjY5CisjOiBidWlsdGluL2xvZy5jOjY4OQogbXNnaWQgImZvcm1hdC5oZWFkZXJzIHdpdGhvdXQgdmFsdWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo3NTEKKyM6IGJ1aWx0aW4vbG9nLmM6NzcxCiBtc2dpZCAibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NzY3CisjOiBidWlsdGluL2xvZy5jOjc4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NzgxCisjOiBidWlsdGluL2xvZy5jOjgwMQogbXNnaWQgIk5lZWQgZXhhY3RseSBvbmUgcmFuZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6Nzg5CisjOiBidWlsdGluL2xvZy5jOjgwOQogbXNnaWQgIk5vdCBhIHJhbmdlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjg5MQorIzogYnVpbHRpbi9sb2cuYzo5MTEKIG1zZ2lkICJDb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTY3CisjOiBidWlsdGluL2xvZy5jOjk4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmUgaW4tcmVwbHktdG86ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTk1CisjOiBidWlsdGluL2xvZy5jOjEwMTUKIG1zZ2lkICJnaXQgZm9ybWF0LXBhdGNoIFtvcHRpb25zXSBbPHNpbmNlPiB8IDxyZXZpc2lvbiByYW5nZT5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA0MAorIzogYnVpbHRpbi9sb2cuYzoxMDYwCiBtc2dpZCAiVHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTU1CisjOiBidWlsdGluL2xvZy5jOjExNzUKIG1zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE1OAorIzogYnVpbHRpbi9sb2cuYzoxMTc4CiBtc2dpZCAidXNlIFtQQVRDSF0gZXZlbiB3aXRoIG11bHRpcGxlIHBhdGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTYyCisjOiBidWlsdGluL2xvZy5jOjExODIKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjExNjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4NAogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2NgorIzogYnVpbHRpbi9sb2cuYzoxMTg2CiBtc2dpZCAidXNlIHNpbXBsZSBudW1iZXIgc2VxdWVuY2UgZm9yIG91dHB1dCBmaWxlIG5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2NworIzogYnVpbHRpbi9sb2cuYzoxMTg3CiBtc2dpZCAic2Z4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2OAorIzogYnVpbHRpbi9sb2cuYzoxMTg4CiBtc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTcwCisjOiBidWlsdGluL2xvZy5jOjExOTAKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE3MgorIzogYnVpbHRpbi9sb2cuYzoxMTkyCiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE3NAorIzogYnVpbHRpbi9sb2cuYzoxMTk0CiBtc2dpZCAiVXNlIFs8cHJlZml4Pl0gaW5zdGVhZCBvZiBbUEFUQ0hdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE3NworIzogYnVpbHRpbi9sb2cuYzoxMTk3CiBtc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE4MAorIzogYnVpbHRpbi9sb2cuYzoxMjAwCiBtc2dpZCAiZG9uJ3Qgc3RyaXAvYWRkIFtQQVRDSF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTgzCisjOiBidWlsdGluL2xvZy5jOjEyMDMKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE4NQorIzogYnVpbHRpbi9sb2cuYzoxMjA1CiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE4NworIzogYnVpbHRpbi9sb2cuYzoxMjA3CiBtc2dpZCAic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE4OQorIzogYnVpbHRpbi9sb2cuYzoxMjA5CiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5MAorIzogYnVpbHRpbi9sb2cuYzoxMjEwCiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5MQorIzogYnVpbHRpbi9sb2cuYzoxMjExCiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjExOTIgYnVpbHRpbi9sb2cuYzoxMTk0CisjOiBidWlsdGluL2xvZy5jOjEyMTIgYnVpbHRpbi9sb2cuYzoxMjE0CiBtc2dpZCAiZW1haWwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTkyCisjOiBidWlsdGluL2xvZy5jOjEyMTIKIG1zZ2lkICJhZGQgVG86IGhlYWRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjExOTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNAogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5NgorIzogYnVpbHRpbi9sb2cuYzoxMjE2CiBtc2dpZCAiaWRlbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTk3CisjOiBidWlsdGluL2xvZy5jOjEyMTcKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5OQorIzogYnVpbHRpbi9sb2cuYzoxMjE5CiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTIyMAogbXNnaWQgIm1ha2UgZmlyc3QgbWFpbCBhIHJlcGx5IHRvIDxtZXNzYWdlLWlkPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDEgYnVpbHRpbi9sb2cuYzoxMjA0CisjOiBidWlsdGluL2xvZy5jOjEyMjEgYnVpbHRpbi9sb2cuYzoxMjI0CiBtc2dpZCAiYm91bmRhcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjAyCisjOiBidWlsdGluL2xvZy5jOjEyMjIKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwNQorIzogYnVpbHRpbi9sb2cuYzoxMjI1CiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTIyOQogbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIxMQorIzogYnVpbHRpbi9sb2cuYzoxMjMxCiBtc2dpZCAic2lnbmF0dXJlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIxMgorIzogYnVpbHRpbi9sb2cuYzoxMjMyCiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIxNAorIzogYnVpbHRpbi9sb2cuYzoxMjMzCiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEyODgKKyM6IGJ1aWx0aW4vbG9nLmM6MTMwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMwMworIzogYnVpbHRpbi9sb2cuYzoxMzIyCiBtc2dpZCAiLW4gYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMwNQorIzogYnVpbHRpbi9sb2cuYzoxMzI0CiBtc2dpZCAiLS1zdWJqZWN0LXByZWZpeCBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzEzCisjOiBidWlsdGluL2xvZy5jOjEzMzIKIG1zZ2lkICItLW5hbWUtb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMxNQorIzogYnVpbHRpbi9sb2cuYzoxMzM0CiBtc2dpZCAiLS1uYW1lLXN0YXR1cyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMxNworIzogYnVpbHRpbi9sb2cuYzoxMzM2CiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM0MAorIzogYnVpbHRpbi9sb2cuYzoxMzU5CiBtc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzQyCisjOiBidWlsdGluL2xvZy5jOjEzNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0OTAKKyM6IGJ1aWx0aW4vbG9nLmM6MTUwOQogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzOQorIzogYnVpbHRpbi9sb2cuYzoxNTU4CiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTk0CisjOiBidWlsdGluL2xvZy5jOjE2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBmaW5kIGEgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBwbGVhc2Ugc3BlY2lmeSA8dXBzdHJlYW0+IG1hbnVhbGx5LlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTYwNyBidWlsdGluL2xvZy5jOjE2MDkgYnVpbHRpbi9sb2cuYzoxNjIxCisjOiBidWlsdGluL2xvZy5jOjE2MjYgYnVpbHRpbi9sb2cuYzoxNjI4IGJ1aWx0aW4vbG9nLmM6MTY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDA4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6Mzk4CiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU1CiBtc2dpZCAiaWRlbnRpZnkgdGhlIGZpbGUgc3RhdHVzIHdpdGggdGFncyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU3CiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1OQogbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjEKIG1zZ2lkICJzaG93IGRlbGV0ZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDczCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDYzCiBtc2dpZCAic2hvdyBtb2RpZmllZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjUKIG1zZ2lkICJzaG93IG90aGVyIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NwogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzAKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDgyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDcyCiBtc2dpZCAic2hvdyBmaWxlcyBvbiB0aGUgZmlsZXN5c3RlbSB0aGF0IG5lZWQgdG8gYmUgcmVtb3ZlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDg0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDc0CiBtc2dpZCAic2hvdyAnb3RoZXInIGRpcmVjdG9yaWVzJyBuYW1lIG9ubHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NwogbXNnaWQgImRvbid0IHNob3cgZW1wdHkgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MAogbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDkyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDgyCiBtc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NAogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDk3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDg3CiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTAwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDkwCiBtc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwMgorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MgogbXNnaWQgImFkZCB0aGUgc3RhbmRhcmQgZ2l0IGV4Y2x1c2lvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5NQogbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTgKIG1zZ2lkICJpZiBhbnkgPGZpbGU+IGlzIG5vdCBpbiB0aGUgaW5kZXgsIHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5OQogbXNnaWQgInRyZWUtaXNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDAKIG1zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDIKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjI3CisjOiBidWlsdGluL2xzLXRyZWUuYzoyOAogbXNnaWQgImdpdCBscy10cmVlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI1CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMjYKIG1zZ2lkICJvbmx5IHNob3cgdHJlZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI3CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMjgKIG1zZ2lkICJyZWN1cnNlIGludG8gc3VidHJlZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI5CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzAKIG1zZ2lkICJzaG93IHRyZWVzIHdoZW4gcmVjdXJzaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMgorIzogYnVpbHRpbi9scy10cmVlLmM6MTMzCiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzMKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNAogbXNnaWQgImluY2x1ZGUgb2JqZWN0IHNpemUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTM1IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNworIzogYnVpbHRpbi9scy10cmVlLmM6MTM2IGJ1aWx0aW4vbHMtdHJlZS5jOjEzOAogbXNnaWQgImxpc3Qgb25seSBmaWxlbmFtZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTQwCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDEKIG1zZ2lkICJ1c2UgZnVsbCBwYXRoIG5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MgorIzogYnVpbHRpbi9scy10cmVlLmM6MTQzCiBtc2dpZCAibGlzdCBlbnRpcmUgdHJlZTsgbm90IGp1c3QgY3VycmVudCBkaXJlY3RvcnkgKGltcGxpZXMgLS1mdWxsLW5hbWUpIgogbXNnc3RyICIiCiAKQEAgLTYyMDIsNyArNjM4OSw3IEBACiBtc2dpZCAiVmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTkgYnVpbHRpbi9ub3Rlcy5jOjczOCBidWlsdGluL3JldmVydC5jOjExNAorIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL25vdGVzLmM6NzM4IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKIG1zZ2lkICJzdHJhdGVneSIKIG1zZ3N0ciAiIgogCkBAIC02NTU0LDc2ICs2NzQxLDg1IEBACiBtc2dpZCAiYWxsb3cgY3JlYXRpb24gb2YgbW9yZSB0aGFuIG9uZSB0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNAorIzogYnVpbHRpbi9tdi5jOjE1CiBtc2dpZCAiZ2l0IG12IFtvcHRpb25zXSA8c291cmNlPi4uLiA8ZGVzdGluYXRpb24+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzo2NAorIzogYnVpbHRpbi9tdi5jOjY3CiBtc2dpZCAiZm9yY2UgbW92ZS9yZW5hbWUgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzo2NQorIzogYnVpbHRpbi9tdi5jOjY4CiBtc2dpZCAic2tpcCBtb3ZlL3JlbmFtZSBlcnJvcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjEwOAorIzogYnVpbHRpbi9tdi5jOjExMwogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyByZW5hbWUgb2YgJyVzJyB0byAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjExMgorIzogYnVpbHRpbi9tdi5jOjExNwogbXNnaWQgImJhZCBzb3VyY2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjExNQorIzogYnVpbHRpbi9tdi5jOjEyMAogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjExOAorIzogYnVpbHRpbi9tdi5jOjEyMwogbXNnaWQgImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjEyOAorIzogYnVpbHRpbi9tdi5jOjEyOQorIywgYy1mb3JtYXQKK21zZ2lkICJIdWg/IERpcmVjdG9yeSAlcyBpcyBpbiBpbmRleCBhbmQgbm8gc3VibW9kdWxlPyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL212LmM6MTMxIGJ1aWx0aW4vcm0uYzozMTgKK21zZ2lkICJQbGVhc2UsIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJIdWg/ICUuKnMgaXMgaW4gaW5kZXg/IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNDAKKyM6IGJ1aWx0aW4vbXYuYzoxNTkKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzEKKyM6IGJ1aWx0aW4vbXYuYzoxOTEKIG1zZ2lkICJub3QgdW5kZXIgdmVyc2lvbiBjb250cm9sIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzMKKyM6IGJ1aWx0aW4vbXYuYzoxOTMKIG1zZ2lkICJkZXN0aW5hdGlvbiBleGlzdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjE4MQorIzogYnVpbHRpbi9tdi5jOjIwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJvdmVyd3JpdGluZyAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODQKKyM6IGJ1aWx0aW4vbXYuYzoyMDQKIG1zZ2lkICJDYW5ub3Qgb3ZlcndyaXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODcKKyM6IGJ1aWx0aW4vbXYuYzoyMDcKIG1zZ2lkICJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjIwMgorIzogYnVpbHRpbi9tdi5jOjIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6MjEyCisjOiBidWlsdGluL212LmM6MjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjIxNSBidWlsdGluL3JlbW90ZS5jOjczMQorIzogYnVpbHRpbi9tdi5jOjIzNSBidWlsdGluL3JlbW90ZS5jOjczMSBidWlsdGluL3JlcGFjay5jOjMzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW5hbWluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiIgpAQCAtNjY2MSw3ICs2ODU3LDcgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL25hbWUtcmV2LmM6MzIwCi1tc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMiCittc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMgKGRlZmF1bHQpIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjYKQEAgLTY4MTAsMTIgKzcwMDYsMTIgQEAKIG1zZ2lkICJUaGUgbm90ZSBjb250ZW50cyBoYXMgYmVlbiBsZWZ0IGluICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNDggYnVpbHRpbi90YWcuYzo1NDAKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNDggYnVpbHRpbi90YWcuYzo1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjUwIGJ1aWx0aW4vdGFnLmM6NTQzCisjOiBidWlsdGluL25vdGVzLmM6MjUwIGJ1aWx0aW4vdGFnLmM6NTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIG9yIHJlYWQgJyVzJyIKIG1zZ3N0ciAiIgpAQCAtNjgyMyw3ICs3MDE5LDcgQEAKICM6IGJ1aWx0aW4vbm90ZXMuYzoyNjkgYnVpbHRpbi9ub3Rlcy5jOjMxNiBidWlsdGluL25vdGVzLmM6MzE4CiAjOiBidWlsdGluL25vdGVzLmM6Mzc4IGJ1aWx0aW4vbm90ZXMuYzo0MzIgYnVpbHRpbi9ub3Rlcy5jOjUxNQogIzogYnVpbHRpbi9ub3Rlcy5jOjUyMCBidWlsdGluL25vdGVzLmM6NTk1IGJ1aWx0aW4vbm90ZXMuYzo2MzcKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MzkgYnVpbHRpbi90YWcuYzo1NTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MzkgYnVpbHRpbi90YWcuYzo1NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIiIKQEAgLTY5ODYsMTQ4ICs3MTgyLDE0OCBAQAogbXNnaWQgImdpdCBwYWNrLW9iamVjdHMgW29wdGlvbnMuLi5dIGJhc2UtbmFtZSBbPCByZWYtbGlzdCB8IDwgb2JqZWN0LWxpc3RdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTgzIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWZsYXRlIGVycm9yICglZCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzk3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQyNAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9wdGlvbiAlcyBkb2VzIG5vdCBhY2NlcHQgbmVnYXRpdmUgZm9ybSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgdmFsdWUgJyVzJyBmb3Igb3B0aW9uICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQ4CiBtc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQ5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTAKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDUyCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTUKIG1zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTYKIG1zZ2lkICJ2ZXJzaW9uWyxvZmZzZXRdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU3CiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2MAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIG91dHB1dCBwYWNrIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjIKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjQKIG1zZ2lkICJpZ25vcmUgcGFja2VkIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjYKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY4CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgbWVtb3J5IGluIGFkZGl0aW9uIHRvIG9iamVjdCBsaW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MAogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDcyCiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc0CiBtc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3NgogbXNnaWQgInVzZSBPRlNfREVMVEEgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3OAogbXNnaWQgInVzZSB0aHJlYWRzIHdoZW4gc2VhcmNoaW5nIGZvciBiZXN0IGRlbHRhIG1hdGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODAKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgyCiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4NAogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg3CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIGFueSByZWZlcmVuY2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTAKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgYnkgcmVmbG9nIGVudHJpZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDkyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTMKIG1zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTUKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTcKIG1zZ2lkICJrZWVwIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk3IHBhcnNlLW9wdGlvbnMuaDoxNDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5OCBwYXJzZS1vcHRpb25zLmg6MTQzCiBtc2dpZCAidGltZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5OQogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTAyCiBtc2dpZCAiY3JlYXRlIHRoaW4gcGFja3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTAzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDQKIG1zZ2lkICJpZ25vcmUgcGFja3MgdGhhdCBoYXZlIGNvbXBhbmlvbiAua2VlcCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA2CiBtc2dpZCAicGFjayBjb21wcmVzc2lvbiBsZXZlbCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwOAogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgogbXNnc3RyICIiCiAKQEAgLTcxNjcsMjEgKzczNjMsMjEgQEAKIG1zZ2lkICJnaXQgcHVzaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo0NQorIzogYnVpbHRpbi9wdXNoLmM6NDcKIG1zZ2lkICJ0YWcgc2hvcnRoYW5kIHdpdGhvdXQgPHRhZz4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjY2CiBtc2dpZCAiLS1kZWxldGUgb25seSBhY2NlcHRzIHBsYWluIHRhcmdldCByZWYgbmFtZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6OTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjEwMQogbXNnaWQgIiIKICJcbiIKICJUbyBjaG9vc2UgZWl0aGVyIG9wdGlvbiBwZXJtYW5lbnRseSwgc2VlIHB1c2guZGVmYXVsdCBpbiAnZ2l0IGhlbHAgY29uZmlnJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTAyCisjOiBidWlsdGluL3B1c2guYzoxMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSB1cHN0cmVhbSBicmFuY2ggb2YgeW91ciBjdXJyZW50IGJyYW5jaCBkb2VzIG5vdCBtYXRjaFxuIgpAQCAtNzE5Niw3ICs3MzkyLDcgQEAKICIlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoxMTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjExOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLlxuIgpAQCAtNzIwNiw3ICs3NDAyLDcgQEAKICIgICAgZ2l0IHB1c2ggJXMgSEVBRDo8bmFtZS1vZi1yZW1vdGUtYnJhbmNoPlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEzMQorIzogYnVpbHRpbi9wdXNoLmM6MTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG5vIHVwc3RyZWFtIGJyYW5jaC5cbiIKQEAgLTcyMTUsMTIgKzc0MTEsMTIgQEAKICIgICAgZ2l0IHB1c2ggLS1zZXQtdXBzdHJlYW0gJXMgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoxMzkKKyM6IGJ1aWx0aW4vcHVzaC5jOjE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG11bHRpcGxlIHVwc3RyZWFtIGJyYW5jaGVzLCByZWZ1c2luZyB0byBwdXNoLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoxNDIKKyM6IGJ1aWx0aW4vcHVzaC5jOjE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBwdXNoaW5nIHRvIHJlbW90ZSAnJXMnLCB3aGljaCBpcyBub3QgdGhlIHVwc3RyZWFtIG9mXG4iCkBAIC03MjI4LDcgKzc0MjQsNyBAQAogInRvIHVwZGF0ZSB3aGljaCByZW1vdGUgYnJhbmNoLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoxNjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjE2NwogbXNnaWQgIiIKICJwdXNoLmRlZmF1bHQgaXMgdW5zZXQ7IGl0cyBpbXBsaWNpdCB2YWx1ZSBpcyBjaGFuZ2luZyBpblxuIgogIkdpdCAyLjAgZnJvbSAnbWF0Y2hpbmcnIHRvICdzaW1wbGUnLiBUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZVxuIgpAQCAtNzI0NiwxMiArNzQ0MiwxMiBAQAogIidjdXJyZW50JyBpbnN0ZWFkIG9mICdzaW1wbGUnIGlmIHlvdSBzb21ldGltZXMgdXNlIG9sZGVyIHZlcnNpb25zIG9mIEdpdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjI1CisjOiBidWlsdGluL3B1c2guYzoyMjcKIG1zZ2lkICIiCiAiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoyMzIKKyM6IGJ1aWx0aW4vcHVzaC5jOjIzNAogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGlwIG9mIHlvdXIgY3VycmVudCBicmFuY2ggaXMgYmVoaW5kXG4iCiAiaXRzIHJlbW90ZSBjb3VudGVycGFydC4gSW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlcyAoZS5nLlxuIgpAQCAtNzI1OSw3ICs3NDU1LDcgQEAKICJTZWUgdGhlICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGluICdnaXQgcHVzaCAtLWhlbHAnIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoyMzgKKyM6IGJ1aWx0aW4vcHVzaC5jOjI0MAogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIElmIHlvdSBkaWQgbm90IGludGVuZCB0byBwdXNoIHRoYXQgYnJhbmNoLCB5b3UgbWF5IHdhbnQgdG9cbiIKQEAgLTcyNjcsNyArNzQ2Myw3IEBACiAidG8gJ3NpbXBsZScsICdjdXJyZW50JyBvciAndXBzdHJlYW0nIHRvIHB1c2ggb25seSB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI0NAorIzogYnVpbHRpbi9wdXNoLmM6MjQ2CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIGEgcHVzaGVkIGJyYW5jaCB0aXAgaXMgYmVoaW5kIGl0cyByZW1vdGVcbiIKICJjb3VudGVycGFydC4gQ2hlY2sgb3V0IHRoaXMgYnJhbmNoIGFuZCBpbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzXG4iCkBAIC03Mjc1LDcgKzc0NzEsNyBAQAogIlNlZSB0aGUgJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCcgZm9yIGRldGFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI1MAorIzogYnVpbHRpbi9wdXNoLmM6MjUyCiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgogIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKQEAgLTcyODQsMzMgKzc0ODAsMzMgQEAKICJTZWUgdGhlICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGluICdnaXQgcHVzaCAtLWhlbHAnIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoyNTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjI1OQogbXNnaWQgIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0YWcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIHJlbW90ZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjYwCisjOiBidWlsdGluL3B1c2guYzoyNjIKIG1zZ2lkICIiCiAiWW91IGNhbm5vdCB1cGRhdGUgYSByZW1vdGUgcmVmIHRoYXQgcG9pbnRzIGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCiAib3IgdXBkYXRlIGEgcmVtb3RlIHJlZiB0byBtYWtlIGl0IHBvaW50IGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCiAid2l0aG91dCB1c2luZyB0aGUgJy0tZm9yY2UnIG9wdGlvbi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzozMjAKKyM6IGJ1aWx0aW4vcHVzaC5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJQdXNoaW5nIHRvICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzI0CisjOiBidWlsdGluL3B1c2guYzozMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzU3CisjOiBidWlsdGluL3B1c2guYzozNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzozNTgKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NgogbXNnaWQgIiIKICJObyBjb25maWd1cmVkIHB1c2ggZGVzdGluYXRpb24uXG4iCiAiRWl0aGVyIHNwZWNpZnkgdGhlIFVSTCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJlIGEgcmVtb3RlICIKQEAgLTczMjMsODcgKzc1MTksOTUgQEAKICIgICAgZ2l0IHB1c2ggPG5hbWU+XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzczCisjOiBidWlsdGluL3B1c2guYzozODEKIG1zZ2lkICItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzc0CisjOiBidWlsdGluL3B1c2guYzozODIKIG1zZ2lkICItLWFsbCBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3OQorIzogYnVpbHRpbi9wdXNoLmM6Mzg3CiBtc2dpZCAiLS1taXJyb3IgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4MAorIzogYnVpbHRpbi9wdXNoLmM6Mzg4CiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzozODUKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5MwogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ0NQorIzogYnVpbHRpbi9wdXNoLmM6NDUzCiBtc2dpZCAicmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo0NDYKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ1NAogbXNnaWQgInB1c2ggYWxsIHJlZnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDQ3CisjOiBidWlsdGluL3B1c2guYzo0NTUKIG1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDQ5CisjOiBidWlsdGluL3B1c2guYzo0NTcKIG1zZ2lkICJkZWxldGUgcmVmcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTAKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ1OAogbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTMKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ2MQogbXNnaWQgImZvcmNlIHVwZGF0ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDU0Ci1tc2dpZCAiY2hlY2siCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NDU1Ci1tc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1NwotbXNnaWQgInVzZSB0aGluIHBhY2siCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NDU4IGJ1aWx0aW4vcHVzaC5jOjQ1OQotbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2MAotbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgotbXNnc3RyICIiCi0KICM6IGJ1aWx0aW4vcHVzaC5jOjQ2MwotbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgorbXNnaWQgInJlZm5hbWU+OjxleHBlY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDY1Ci1tc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCisjOiBidWlsdGluL3B1c2guYzo0NjQKK21zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL3B1c2guYzo0NjYKLW1zZ2lkICJwdXNoIG1pc3NpbmcgYnV0IHJlbGV2YW50IHRhZ3MiCittc2dpZCAiY2hlY2siCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDc2Ci1tc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCisjOiBidWlsdGluL3B1c2guYzo0NjcKK21zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NDY5Cittc2dpZCAidXNlIHRoaW4gcGFjayIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzo0NzAgYnVpbHRpbi9wdXNoLmM6NDcxCittc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NDcyCittc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NDc1Cittc2dpZCAicHJ1bmUgbG9jYWxseSByZW1vdmVkIHJlZnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NDc3Cittc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9wdXNoLmM6NDc4Cittc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ4OAorbXNnaWQgIi0tZGVsZXRlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLW1pcnJvciBhbmQgLS10YWdzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ5MAogbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgogbXNnc3RyICIiCiAKQEAgLTc0NzgsMTIgKzc2ODIsMTIgQEAKIG1zZ2lkICJkZWJ1ZyB1bnBhY2stdHJlZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo1MDAKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NDk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJyBmb3IgJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo2MTYgYnVpbHRpbi9yZWZsb2cuYzo2MjEKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NjE1IGJ1aWx0aW4vcmVmbG9nLmM6NjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICIiCkBAIC03NTA2LDggKzc3MTAsOCBAQAogbXNnaWQgImdpdCByZW1vdGUgcmVtb3ZlIDxuYW1lPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1IGJ1aWx0aW4vcmVtb3RlLmM6NDIKLW1zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtZCB8IDxicmFuY2g+KSIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUKK21zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHw8YnJhbmNoPikiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9yZW1vdGUuYzoxNgpAQCAtNzU0Myw2ICs3NzQ3LDEwIEBACiBtc2dpZCAiZ2l0IHJlbW90ZSBhZGQgWzxvcHRpb25zPl0gPG5hbWU+IDx1cmw+IgogbXNnc3RyICIiCiAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDIKK21zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPGJyYW5jaD4pIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW4vcmVtb3RlLmM6NDcKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyA8bmFtZT4gPGJyYW5jaD4uLi4iCiBtc2dzdHIgIiIKQEAgLTc5NzAsNiArODE3OCw2NyBAQAogbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbi9yZXBhY2suYzoxNQorbXNnaWQgImdpdCByZXBhY2sgW29wdGlvbnNdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTQzCittc2dpZCAicGFjayBldmVyeXRoaW5nIGluIGEgc2luZ2xlIHBhY2siCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNDUKK21zZ2lkICJzYW1lIGFzIC1hLCBhbmQgdHVybiB1bnJlYWNoYWJsZSBvYmplY3RzIGxvb3NlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTQ4Cittc2dpZCAicmVtb3ZlIHJlZHVuZGFudCBwYWNrcywgYW5kIHJ1biBnaXQtcHJ1bmUtcGFja2VkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTUwCittc2dpZCAicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTIKK21zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTQKK21zZ2lkICJkbyBub3QgcnVuIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTcKK21zZ2lkICJwYXNzIC0tbG9jYWwgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1OAorbXNnaWQgImFwcHJveGlkYXRlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU5Cittc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2MQorbXNnaWQgInNpemUgb2YgdGhlIHdpbmRvdyB1c2VkIGZvciBkZWx0YSBjb21wcmVzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2MworbXNnaWQgInNhbWUgYXMgdGhlIGFib3ZlLCBidXQgbGltaXQgbWVtb3J5IHNpemUgaW5zdGVhZCBvZiBlbnRyaWVzIGNvdW50IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY1Cittc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIGRlbHRhIGRlcHRoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY3Cittc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggcGFja2ZpbGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgJyVzJyBmYWlsZWQiCittc2dzdHIgIiIKKwogIzogYnVpbHRpbi9yZXBsYWNlLmM6MTcKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIDxvYmplY3Q+IDxyZXBsYWNlbWVudD4iCiBtc2dzdHIgIiIKQEAgLTc5ODIsMjMgKzgyNTEsMjMgQEAKIG1zZ2lkICJnaXQgcmVwbGFjZSAtbCBbPHBhdHRlcm4+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEzMQogbXNnaWQgImxpc3QgcmVwbGFjZSByZWZzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEyMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTMyCiBtc2dpZCAiZGVsZXRlIHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMjMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEzMwogbXNnaWQgInJlcGxhY2UgdGhlIHJlZiBpZiBpdCBleGlzdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXJlcmUuYzoxMQorIzogYnVpbHRpbi9yZXJlcmUuYzoxMgogbXNnaWQgImdpdCByZXJlcmUgW2NsZWFyIHwgZm9yZ2V0IHBhdGguLi4gfCBzdGF0dXMgfCByZW1haW5pbmcgfCBkaWZmIHwgZ2NdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6NTYKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6NTcKIG1zZ2lkICJyZWdpc3RlciBjbGVhbiByZXNvbHV0aW9ucyBpbiBpbmRleCIKIG1zZ3N0ciAiIgogCkBAIC04MDU4LDY5ICs4MzI3LDY5IEBACiBtc2dpZCAiQ2Fubm90IGRvIGEgJXMgcmVzZXQgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjUxCisjOiBidWlsdGluL3Jlc2V0LmM6MjYyCiBtc2dpZCAiYmUgcXVpZXQsIG9ubHkgcmVwb3J0IGVycm9ycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjUzCisjOiBidWlsdGluL3Jlc2V0LmM6MjY0CiBtc2dpZCAicmVzZXQgSEVBRCBhbmQgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI1NAorIzogYnVpbHRpbi9yZXNldC5jOjI2NQogbXNnaWQgInJlc2V0IG9ubHkgSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjU2IGJ1aWx0aW4vcmVzZXQuYzoyNTgKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNjcgYnVpbHRpbi9yZXNldC5jOjI2OQogbXNnaWQgInJlc2V0IEhFQUQsIGluZGV4IGFuZCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI2MAorIzogYnVpbHRpbi9yZXNldC5jOjI3MQogbXNnaWQgInJlc2V0IEhFQUQgYnV0IGtlZXAgbG9jYWwgY2hhbmdlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjc4CisjOiBidWlsdGluL3Jlc2V0LmM6Mjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4MSBidWlsdGluL3Jlc2V0LmM6Mjg5CisjOiBidWlsdGluL3Jlc2V0LmM6MjkyIGJ1aWx0aW4vcmVzZXQuYzozMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjg2CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCB0cmVlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjk1CisjOiBidWlsdGluL3Jlc2V0LmM6MzA2CiBtc2dpZCAiLS1wYXRjaCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXtoYXJkLG1peGVkLHNvZnR9IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMTUKIG1zZ2lkICItLW1peGVkIHdpdGggcGF0aHMgaXMgZGVwcmVjYXRlZDsgdXNlICdnaXQgcmVzZXQgLS0gPHBhdGhzPicgaW5zdGVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMwNgorIzogYnVpbHRpbi9yZXNldC5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gJXMgcmVzZXQgd2l0aCBwYXRocy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMxNgorIzogYnVpbHRpbi9yZXNldC5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyByZXNldCBpcyBub3QgYWxsb3dlZCBpbiBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzM2CisjOiBidWlsdGluL3Jlc2V0LmM6MzQ0Cittc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZXNldDoiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXNldC5jOjM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVzZXQgaW5kZXggZmlsZSB0byByZXZpc2lvbiAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQyCi1tc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZXNldDoiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXNldC5jOjM0NworIzogYnVpbHRpbi9yZXNldC5jOjM1NQogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iCiBtc2dzdHIgIiIKIApAQCAtODE2MSw4NCArODQzMCw4NCBAQAogbXNnaWQgImdpdCBjaGVycnktcGljayA8c3ViY29tbWFuZD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo3MSBidWlsdGluL3JldmVydC5jOjk0CisjOiBidWlsdGluL3JldmVydC5jOjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CisjOiBidWlsdGluL3JldmVydC5jOjgwCiBtc2dpZCAiZW5kIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNgorIzogYnVpbHRpbi9yZXZlcnQuYzo4MQogbXNnaWQgInJlc3VtZSByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDcKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODIKIG1zZ2lkICJjYW5jZWwgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA4CisjOiBidWlsdGluL3JldmVydC5jOjgzCiBtc2dpZCAiZG9uJ3QgYXV0b21hdGljYWxseSBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDkKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODQKIG1zZ2lkICJlZGl0IHRoZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjExMgorIzogYnVpbHRpbi9yZXZlcnQuYzo4NwogbXNnaWQgInBhcmVudCBudW1iZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTQKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjExNQorIzogYnVpbHRpbi9yZXZlcnQuYzo5MAogbXNnaWQgIm9wdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjExNgorIzogYnVpbHRpbi9yZXZlcnQuYzo5MQogbXNnaWQgIm9wdGlvbiBmb3IgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjcKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCiBtc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI4CisjOiBidWlsdGluL3JldmVydC5jOjEwMwogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyOQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEzMAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDUKIG1zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMzEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CiBtc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMzUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCiBtc2dpZCAicHJvZ3JhbSBlcnJvciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIyNQorIzogYnVpbHRpbi9yZXZlcnQuYzoxOTUKIG1zZ2lkICJyZXZlcnQgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjQwCisjOiBidWlsdGluL3JldmVydC5jOjIxMAogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6MTYKKyM6IGJ1aWx0aW4vcm0uYzoxNwogbXNnaWQgImdpdCBybSBbb3B0aW9uc10gWy0tXSA8ZmlsZT4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ybS5jOjY0CisjOiBidWlsdGluL3JtLmM6NjUKIG1zZ2lkICIiCiAidGhlIGZvbGxvd2luZyBzdWJtb2R1bGUgKG9yIG9uZSBvZiBpdHMgbmVzdGVkIHN1Ym1vZHVsZXMpXG4iCiAidXNlcyBhIC5naXQgZGlyZWN0b3J5OiIKQEAgLTgyNDgsMTMgKzg1MTcsMTMgQEAKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzo3MAorIzogYnVpbHRpbi9ybS5jOjcxCiBtc2dpZCAiIgogIlxuIgogIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6MjMwCisjOiBidWlsdGluL3JtLmM6MjMxCiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKICJmaWxlIGFuZCB0aGUgSEVBRDoiCkBAIC04MjY0LDU2ICs4NTMzLDU2IEBACiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL3JtLmM6MjM1CisjOiBidWlsdGluL3JtLmM6MjM2CiBtc2dpZCAiIgogIlxuIgogIih1c2UgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ybS5jOjIzOQorIzogYnVpbHRpbi9ybS5jOjI0MAogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL3JtLmM6MjQzIGJ1aWx0aW4vcm0uYzoyNTQKKyM6IGJ1aWx0aW4vcm0uYzoyNDQgYnVpbHRpbi9ybS5jOjI1NQogbXNnaWQgIiIKICJcbiIKICIodXNlIC0tY2FjaGVkIHRvIGtlZXAgdGhlIGZpbGUsIG9yIC1mIHRvIGZvcmNlIHJlbW92YWwpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNTEKKyM6IGJ1aWx0aW4vcm0uYzoyNTIKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgogbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL3JtLmM6MjY5CisjOiBidWlsdGluL3JtLmM6MjcwCiBtc2dpZCAiZG8gbm90IGxpc3QgcmVtb3ZlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6MjcwCisjOiBidWlsdGluL3JtLmM6MjcxCiBtc2dpZCAib25seSByZW1vdmUgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ybS5jOjI3MQorIzogYnVpbHRpbi9ybS5jOjI3MgogbXNnaWQgIm92ZXJyaWRlIHRoZSB1cC10by1kYXRlIGNoZWNrIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNzIKKyM6IGJ1aWx0aW4vcm0uYzoyNzMKIG1zZ2lkICJhbGxvdyByZWN1cnNpdmUgcmVtb3ZhbCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6Mjc0CisjOiBidWlsdGluL3JtLmM6Mjc1CiBtc2dpZCAiZXhpdCB3aXRoIGEgemVybyBzdGF0dXMgZXZlbiBpZiBub3RoaW5nIG1hdGNoZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ybS5jOjM0NQorIzogYnVpbHRpbi9ybS5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgcmVtb3ZpbmcgJyVzJyByZWN1cnNpdmVseSB3aXRob3V0IC1yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzozODQKKyM6IGJ1aWx0aW4vcm0uYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHJtOiB1bmFibGUgdG8gcmVtb3ZlICVzIgogbXNnc3RyICIiCkBAIC04MzI3LDIzICs4NTk2LDIzIEBACiBtc2dpZCAiTWlzc2luZyBhdXRob3I6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMjgKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzAKIG1zZ2lkICJzb3J0IG91dHB1dCBhY2NvcmRpbmcgdG8gdGhlIG51bWJlciBvZiBjb21taXRzIHBlciBhdXRob3IiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMAorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMgogbXNnaWQgIlN1cHByZXNzIGNvbW1pdCBkZXNjcmlwdGlvbnMsIG9ubHkgcHJvdmlkZXMgY29tbWl0IGNvdW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzIKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzQKIG1zZ2lkICJTaG93IHRoZSBlbWFpbCBhZGRyZXNzIG9mIGVhY2ggYXV0aG9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzMKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzUKIG1zZ2lkICJ3WyxpMVssaTJdXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjM0CisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjM2CiBtc2dpZCAiTGluZXdyYXAgb3V0cHV0IgogbXNnc3RyICIiCiAKQEAgLTg0NDUsMjMgKzg3MTQsMjMgQEAKIG1zZ2lkICJzdHJpY3RlciByZWZlcmVuY2UgY2hlY2tpbmcsIHJlcXVpcmVzIGV4YWN0IHJlZiBwYXRoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzMgYnVpbHRpbi9zaG93LXJlZi5jOjE3NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MyBidWlsdGluL3Nob3ctcmVmLmM6MTc1CiBtc2dpZCAic2hvdyB0aGUgSEVBRCByZWZlcmVuY2UsIGV2ZW4gaWYgaXQgd291bGQgYmUgZmlsdGVyZWQgb3V0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzgKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzcKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGludG8gb2JqZWN0IElEcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTgwCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc5CiBtc2dpZCAib25seSBzaG93IFNIQTEgaGFzaCB1c2luZyA8bj4gZGlnaXRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODQKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODMKIG1zZ2lkICJkbyBub3QgcHJpbnQgcmVzdWx0cyB0byBzdGRvdXQgKHVzZWZ1bCB3aXRoIC0tdmVyaWZ5KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTg2CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTg1CiBtc2dpZCAic2hvdyByZWZzIGZyb20gc3RkaW4gdGhhdCBhcmVuJ3QgaW4gbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCkBAIC04NDg1LDExICs4NzU0LDExIEBACiBtc2dpZCAic2hvcnRlbiByZWYgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MTgKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU0CiBtc2dpZCAicmVhc29uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MTgKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU0CiBtc2dpZCAicmVhc29uIG9mIHRoZSB1cGRhdGUiCiBtc2dzdHIgIiIKIApAQCAtODY0NCwxODMgKzg5MTMsMTk1IEBACiBtc2dpZCAicHJpbnQgb25seSB0YWdzIG9mIHRoZSBvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzo1MDQKKyM6IGJ1aWx0aW4vdGFnLmM6NTAxCiBtc2dpZCAiLS1jb2x1bW4gYW5kIC1uIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzo1MjEKKyM6IGJ1aWx0aW4vdGFnLmM6NTE4CiBtc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjUyMworIzogYnVpbHRpbi90YWcuYzo1MjAKIG1zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzo1MjUKKyM6IGJ1aWx0aW4vdGFnLmM6NTIyCiBtc2dpZCAiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjUzMworIzogYnVpbHRpbi90YWcuYzo1MzAKIG1zZ2lkICJvbmx5IG9uZSAtRiBvciAtbSBvcHRpb24gaXMgYWxsb3dlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzo1NTMKKyM6IGJ1aWx0aW4vdGFnLmM6NTUwCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTU5CisjOiBidWlsdGluL3RhZy5jOjU1NgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRhZyBuYW1lLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjU2NAorIzogYnVpbHRpbi90YWcuYzo1NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzo1ODIKKyM6IGJ1aWx0aW4vdGFnLmM6NTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbG9jayB0aGUgcmVmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTg0CisjOiBidWlsdGluL3RhZy5jOjU4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHVwZGF0ZSB0aGUgcmVmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTg2CisjOiBidWlsdGluL3RhZy5jOjU4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo0MDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NDAyCiBtc2dpZCAiZ2l0IHVwZGF0ZS1pbmRleCBbb3B0aW9uc10gWy0tXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcxOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjAKIG1zZ2lkICJjb250aW51ZSByZWZyZXNoIGV2ZW4gd2hlbiBpbmRleCBuZWVkcyB1cGRhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzIzCiBtc2dpZCAicmVmcmVzaDogaWdub3JlIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI2CiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI4CiBtc2dpZCAibGV0IGZpbGVzIHJlcGxhY2UgZGlyZWN0b3JpZXMgYW5kIHZpY2UtdmVyc2EiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMwCiBtc2dpZCAibm90aWNlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzIKIG1zZ2lkICJyZWZyZXNoIGV2ZW4gaWYgaW5kZXggY29udGFpbnMgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzUKIG1zZ2lkICJyZWZyZXNoIHN0YXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzM5CiBtc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0MwogbXNnaWQgIjxtb2RlPiA8b2JqZWN0PiA8cGF0aD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ0CiBtc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0OAogbXNnaWQgIigrLy0peCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDkKIG1zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTMKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU2CiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1OQogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJpbmRleC1vbmx5XCIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzYyCiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY1CiBtc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY3CiBtc2dpZCAicmVtb3ZlIG5hbWVkIHBhdGhzIGV2ZW4gaWYgcHJlc2VudCBpbiB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjkKIG1zZ2lkICJ3aXRoIC0tc3RkaW46IGlucHV0IGxpbmVzIGFyZSB0ZXJtaW5hdGVkIGJ5IG51bGwgYnl0ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzcxCiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzUKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzkKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzgzCiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzg3CiBtc2dpZCAiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTAKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkyCiBtc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzk2CiBtc2dpZCAid3JpdGUgaW5kZXggaW4gdGhpcyBmb3JtYXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6NworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6OQogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAtZCA8cmVmbmFtZT4gWzxvbGR2YWw+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzo4CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMAogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAgICA8cmVmbmFtZT4gPG5ld3ZhbD4gWzxvbGR2YWw+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxOQorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTEKK21zZ2lkICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gLS1zdGRpbiBbLXpdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1NQogbXNnaWQgImRlbGV0ZSB0aGUgcmVmZXJlbmNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjIxCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTcKIG1zZ2lkICJ1cGRhdGUgPHJlZm5hbWU+IG5vdCB0aGUgb25lIGl0IHBvaW50cyB0byIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTgKK21zZ2lkICJzdGRpbiBoYXMgTlVMLXRlcm1pbmF0ZWQgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1OQorbXNnaWQgInJlYWQgdXBkYXRlcyBmcm9tIHN0ZGluIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6NgogbXNnaWQgImdpdCB1cGRhdGUtc2VydmVyLWluZm8gWy0tZm9yY2VdIgogbXNnc3RyICIiCkBAIC04ODcyLDIzICs5MTUzLDIzIEBACiAidG8gcmVhZCBhYm91dCBhIHNwZWNpZmljIHN1YmNvbW1hbmQgb3IgY29uY2VwdC4iCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjE0NAorIzogcGFyc2Utb3B0aW9ucy5oOjE0NgogbXNnaWQgImV4cGlyeSBkYXRlIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNTkKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNjEKIG1zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzNgorIzogcGFyc2Utb3B0aW9ucy5oOjIzOAogbXNnaWQgImJlIG1vcmUgdmVyYm9zZSIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjM4CisjOiBwYXJzZS1vcHRpb25zLmg6MjQwCiBtc2dpZCAiYmUgbW9yZSBxdWlldCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjQ0CisjOiBwYXJzZS1vcHRpb25zLmg6MjQ2CiBtc2dpZCAidXNlIDxuPiBkaWdpdHMgdG8gZGlzcGxheSBTSEEtMXMiCiBtc2dzdHIgIiIKIApAQCAtOTI4NCw3ICs5NTY1LDcgQEAKIG1zZ2lkICJQdWxsIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcHVsbC5zaDoyMDMKKyM6IGdpdC1wdWxsLnNoOjIyMwogbXNnaWQgInVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCkBAIC05MjkyLDcgKzk1NzMsNyBAQAogIy4gVGhlIHdvcmtpbmcgdHJlZSBhbmQgdGhlIGluZGV4IGZpbGUgaXMgc3RpbGwgYmFzZWQgb24gdGhlCiAjLiAkb3JpZ19oZWFkIGNvbW1pdCwgYnV0IHdlIGFyZSBtZXJnaW5nIGludG8gJGN1cnJfaGVhZC4KICMuIEZpcnN0IHVwZGF0ZSB0aGUgd29ya2luZyB0cmVlIHRvIG1hdGNoICRjdXJyX2hlYWQuCi0jOiBnaXQtcHVsbC5zaDoyMzUKKyM6IGdpdC1wdWxsLnNoOjI1NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IGZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC05MzAwLDExICs5NTgxLDExIEBACiAiV2FybmluZzogY29tbWl0ICRvcmlnX2hlYWQuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1wdWxsLnNoOjI2MAorIzogZ2l0LXB1bGwuc2g6MjgwCiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcHVsbC5zaDoyNjQKKyM6IGdpdC1wdWxsLnNoOjI4NAogbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcyIKIG1zZ3N0ciAiIgogCkBAIC05MzMyLDQyICs5NjEzLDQyIEBACiAiWW91IGNhbiBydW4gXCJnaXQgc3Rhc2ggcG9wXCIgb3IgXCJnaXQgc3Rhc2ggZHJvcFwiIGF0IGFueSB0aW1lLlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTkwCisjOiBnaXQtcmViYXNlLnNoOjE5OQogbXNnaWQgIlRoZSBwcmUtcmViYXNlIGhvb2sgcmVmdXNlZCB0byByZWJhc2UuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTk1CisjOiBnaXQtcmViYXNlLnNoOjIwNAogbXNnaWQgIkl0IGxvb2tzIGxpa2UgZ2l0LWFtIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjMyOQorIzogZ2l0LXJlYmFzZS5zaDozMzgKIG1zZ2lkICJUaGUgLS1leGVjIG9wdGlvbiBtdXN0IGJlIHVzZWQgd2l0aCB0aGUgLS1pbnRlcmFjdGl2ZSBvcHRpb24iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDozMzQKKyM6IGdpdC1yZWJhc2Uuc2g6MzQzCiBtc2dpZCAiTm8gcmViYXNlIGluIHByb2dyZXNzPyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjM0NQorIzogZ2l0LXJlYmFzZS5zaDozNTQKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNTIKKyM6IGdpdC1yZWJhc2Uuc2g6MzYxCiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjM1NQorIzogZ2l0LXJlYmFzZS5zaDozNjQKIG1zZ2lkICIiCiAiWW91IG11c3QgZWRpdCBhbGwgbWVyZ2UgY29uZmxpY3RzIGFuZCB0aGVuXG4iCiAibWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNzMKKyM6IGdpdC1yZWJhc2Uuc2g6MzgyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDozOTIKKyM6IGdpdC1yZWJhc2Uuc2g6NDAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJHN0YXRlX2Rpcl9iYXNlIGRpcmVjdG9yeSwgYW5kXG4iCkBAIC05MzgwLDY1ICs5NjYxLDY1IEBACiAidmFsdWFibGUgdGhlcmUuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDM3CisjOiBnaXQtcmViYXNlLnNoOjQ0NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAkdXBzdHJlYW1fbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ2MQorIzogZ2l0LXJlYmFzZS5zaDo0NzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDY0IGdpdC1yZWJhc2Uuc2g6NDY4CisjOiBnaXQtcmViYXNlLnNoOjQ3MyBnaXQtcmViYXNlLnNoOjQ3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ3MworIzogZ2l0LXJlYmFzZS5zaDo0ODIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0OiAkb250b19uYW1lIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDk2CisjOiBnaXQtcmViYXNlLnNoOjUwNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoOiAkYnJhbmNoX25hbWUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MTkKKyM6IGdpdC1yZWJhc2Uuc2g6NTI4CiBtc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjUyNAorIzogZ2l0LXJlYmFzZS5zaDo1MzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTI4CisjOiBnaXQtcmViYXNlLnNoOjUzNwogbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NDgKKyM6IGdpdC1yZWJhc2Uuc2g6NTU3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NTIKKyM6IGdpdC1yZWJhc2Uuc2g6NTYxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjMKKyM6IGdpdC1yZWJhc2Uuc2g6NTcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDaGFuZ2VzIGZyb20gJG1iIHRvICRvbnRvOiIKIG1zZ3N0ciAiIgogCiAjLiBEZXRhY2ggSEVBRCBhbmQgcmVzZXQgdGhlIHRyZWUKLSM6IGdpdC1yZWJhc2Uuc2g6NTcyCisjOiBnaXQtcmViYXNlLnNoOjU4MQogbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjU4MgorIzogZ2l0LXJlYmFzZS5zaDo1OTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKIG1zZ3N0ciAiIgpAQCAtOTQ4NiwxMDMgKzk3NjcsOTIgQEAKICMuICQgZ2l0IHN0YXNoIHNhdmUgLS1ibGFoLWJsYWggMj4mMSB8IGhlYWQgLW4gMgogIy4gZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6IC0tYmxhaC1ibGFoCiAjLiBUbyBwcm92aWRlIGEgbWVzc2FnZSwgdXNlIGdpdCBzdGFzaCBzYXZlIC0tICctLWJsYWgtYmxhaCcKLSM6IGdpdC1zdGFzaC5zaDoyNDEKKyM6IGdpdC1zdGFzaC5zaDoyMzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogJG9wdGlvblxuIgogIiAgICAgICBUbyBwcm92aWRlIGEgbWVzc2FnZSwgdXNlIGdpdCBzdGFzaCBzYXZlIC0tICckb3B0aW9uJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6MjYyCisjOiBnaXQtc3Rhc2guc2g6MjU4CiBtc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjgKLW1zZ2lkICIiCi0iVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgZmlsZXMgd291bGQgTk9UIGJlIHNhdmVkIGJ1dCBuZWVkIHRvIGJlIHJlbW92ZWQgYnkgIgotInN0YXNoIHNhdmU6IgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDoyNzAKLW1zZ2lkICIiCi0iQWJvcnRpbmcuIENvbnNpZGVyIHVzaW5nIGVpdGhlciB0aGUgLS1mb3JjZSBvciAtLWluY2x1ZGUtdW50cmFja2VkIG9wdGlvbi4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjI3NAorIzogZ2l0LXN0YXNoLnNoOjI2MgogbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNzgKKyM6IGdpdC1zdGFzaC5zaDoyNjYKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjI5NgorIzogZ2l0LXN0YXNoLnNoOjI4NAogbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6Mzk1CisjOiBnaXQtc3Rhc2guc2g6MzgzCiBtc2dpZCAiTm8gc3Rhc2ggZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MDIKKyM6IGdpdC1zdGFzaC5zaDozOTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQwOAorIzogZ2l0LXN0YXNoLnNoOjM5NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MzYKKyM6IGdpdC1zdGFzaC5zaDo0MjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ0NworIzogZ2l0LXN0YXNoLnNoOjQzNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ1NQorIzogZ2l0LXN0YXNoLnNoOjQ0MwogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NTkKKyM6IGdpdC1zdGFzaC5zaDo0NDcKIG1zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ2NworIzogZ2l0LXN0YXNoLnNoOjQ1NQogbXNnaWQgIkNvbmZsaWN0cyBpbiBpbmRleC4gVHJ5IHdpdGhvdXQgLS1pbmRleC4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ2OQorIzogZ2l0LXN0YXNoLnNoOjQ1NwogbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjUwMworIzogZ2l0LXN0YXNoLnNoOjQ5MQogbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MTgKKyM6IGdpdC1zdGFzaC5zaDo1MDYKIG1zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjUzNQorIzogZ2l0LXN0YXNoLnNoOjUyMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NTM2CisjOiBnaXQtc3Rhc2guc2g6NTI0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIke1JFVn06IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NDMKKyM6IGdpdC1zdGFzaC5zaDo1MzEKIG1zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjYxNQorIzogZ2l0LXN0YXNoLnNoOjYwMwogbXNnaWQgIihUbyByZXN0b3JlIHRoZW0gdHlwZSBcImdpdCBzdGFzaCBhcHBseVwiKSIKIG1zZ3N0ciAiIgogCkBAIC05ODI4LDQ0ICsxMDA5OCwzNiBAQAogbXNnc3RyICIiCiAKICMuIHVuZXhwZWN0ZWQgdHlwZQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDY2CisjOiBnaXQtc3VibW9kdWxlLnNoOjEwNzMKICMsIHNoLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgbW9kZSAkbW9kX2RzdCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwODYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTA5MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA4OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDk2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDkyCisjOiBnaXQtc3VibW9kdWxlLnNoOjEwOTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0cyAkc2hhMV9zcmMgYW5kICRzaGExX2RzdCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExMTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTEyNAogbXNnaWQgImJsb2IiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTU1Ci1tc2dpZCAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTU3Ci1tc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEyNDIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTIzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTMwNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMzAyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCmRpZmYgLS1naXQgYS9wby9pdC5wbyBiL3BvL2l0LnBvCmluZGV4IGZlNjFmMWEuLjkwODAyMTkgMTAwNjQ0Ci0tLSBhL3BvL2l0LnBvCisrKyBiL3BvL2l0LnBvCkBAIC0yNDc2LDcgKzI0NzYsNyBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0ODIKLW1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdHRpc2hlcyIKK21zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2RpZmYuYzo3NwpkaWZmIC0tZ2l0IGEvcG8vbmwucG8gYi9wby9ubC5wbwppbmRleCBlMTM5OWUyLi5hZDMxYzY2IDEwMDY0NAotLS0gYS9wby9ubC5wbworKysgYi9wby9ubC5wbwpAQCAtMTY2OSw3ICsxNjY5LDcgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDgyCi1tc2dpZCAiLS1kaXJ0eSBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXR0aXNoZXMiCittc2dpZCAiLS1kaXJ0eSBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXQtaXNoZXMiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9kaWZmLmM6NzcKZGlmZiAtLWdpdCBhL3BvL3B0X1BULnBvIGIvcG8vcHRfUFQucG8KaW5kZXggNTE3ZWMyOS4uNjg5YWQxYiAxMDA2NDQKLS0tIGEvcG8vcHRfUFQucG8KKysrIGIvcG8vcHRfUFQucG8KQEAgLTIzMTIsNyArMjMxMiw3IEBACiBtc2dzdHIgIk5lbmh1bSBub21lIGVuY29udHJhZG8sIG7Do28gZGVzY3JldmUgbmFkYS4iCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0ODIKLW1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdHRpc2hlcyIKK21zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2RpZmYuYzo3NwpkaWZmIC0tZ2l0IGEvcG8vc3YucG8gYi9wby9zdi5wbwppbmRleCAxMmRmY2E5Li41MGNjOGNiIDEwMDY0NAotLS0gYS9wby9zdi5wbworKysgYi9wby9zdi5wbwpAQCAtNyw4ICs3LDggQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogZ2l0IDEuOC40XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTMtMDgtMDYgMTQ6MTArMDgwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTMtMDgtMDYgMTI6MzcrMDEwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDEzLTExLTAyIDA4OjA2KzA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDEzLTExLTA5IDE5OjAyKzAxMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IFBldGVyIEtyZWZ0aW5nIDxwZXRlckBzb2Z0d29sdmVzLnBwLnNlPlxuIgogIkxhbmd1YWdlLVRlYW06IFN3ZWRpc2ggPHRwLXN2QGxpc3Rvci50cC1zdi5zZT5cbiIKICJMYW5ndWFnZTogc3ZcbiIKQEAgLTU3LDcxICs1Nyw3NiBAQAogbXNnaWQgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSAtLWxpc3QiCiBtc2dzdHIgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxhcmtpdj4gWy0tZXhlYyA8a21kPl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzIzCisjOiBhcmNoaXZlLmM6MjQyIGJ1aWx0aW4vYWRkLmM6MjQwIGJ1aWx0aW4vYWRkLmM6NTU2IGJ1aWx0aW4vcm0uYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKK21zZ3N0ciAic8O2a3bDpGdzYW5naXZlbHNlbiBcIiVzXCIgbW90c3ZhcmFkZSBpbnRlIG7DpWdyYSBmaWxlciIKKworIzogYXJjaGl2ZS5jOjMyNwogbXNnaWQgImZtdCIKIG1zZ3N0ciAiZm10IgogCi0jOiBhcmNoaXZlLmM6MzIzCisjOiBhcmNoaXZlLmM6MzI3CiBtc2dpZCAiYXJjaGl2ZSBmb3JtYXQiCiBtc2dzdHIgImFya2l2Zm9ybWF0IgogCi0jOiBhcmNoaXZlLmM6MzI0IGJ1aWx0aW4vbG9nLmM6MTE3MworIzogYXJjaGl2ZS5jOjMyOCBidWlsdGluL2xvZy5jOjExOTMKIG1zZ2lkICJwcmVmaXgiCiBtc2dzdHIgInByZWZpeCIKIAotIzogYXJjaGl2ZS5jOjMyNQorIzogYXJjaGl2ZS5jOjMyOQogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgImzDpGdnIHRpbGwgcHJlZml4IHRpbGwgdmFyamUgc8O2a3bDpGcgaSBhcmtpdmV0IgogCi0jOiBhcmNoaXZlLmM6MzI2IGJ1aWx0aW4vYXJjaGl2ZS5jOjg4IGJ1aWx0aW4vYmxhbWUuYzoyMjkyCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5MyBidWlsdGluL2NvbmZpZy5jOjU2IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzMKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzUgYnVpbHRpbi9ncmVwLmM6NzE0IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3NwotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5NiBidWlsdGluL2xzLWZpbGVzLmM6NDk5IGJ1aWx0aW4vbm90ZXMuYzo0MDgKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NjUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDggcGFyc2Utb3B0aW9ucy5oOjE1MgorIzogYXJjaGl2ZS5jOjMzMCBidWlsdGluL2FyY2hpdmUuYzo4OCBidWlsdGluL2JsYW1lLmM6MjI2NAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjUgYnVpbHRpbi9jb25maWcuYzo1OCBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgyIGJ1aWx0aW4vZ3JlcC5jOjcxNiBidWlsdGluL2hhc2gtb2JqZWN0LmM6NzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODYgYnVpbHRpbi9scy1maWxlcy5jOjQ4OSBidWlsdGluL25vdGVzLmM6NDA4CisjOiBidWlsdGluL25vdGVzLmM6NTY1IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA4IHBhcnNlLW9wdGlvbnMuaDoxNTQKIG1zZ2lkICJmaWxlIgogbXNnc3RyICJmaWwiCiAKLSM6IGFyY2hpdmUuYzozMjcgYnVpbHRpbi9hcmNoaXZlLmM6ODkKKyM6IGFyY2hpdmUuYzozMzEgYnVpbHRpbi9hcmNoaXZlLmM6ODkKIG1zZ2lkICJ3cml0ZSB0aGUgYXJjaGl2ZSB0byB0aGlzIGZpbGUiCiBtc2dzdHIgInNrcml2IGFya2l2ZXQgdGlsbCBmaWxlbiIKIAotIzogYXJjaGl2ZS5jOjMyOQorIzogYXJjaGl2ZS5jOjMzMwogbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgImzDpHMgLmdpdGF0dHJpYnV0ZXMgaSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGFyY2hpdmUuYzozMzAKKyM6IGFyY2hpdmUuYzozMzQKIG1zZ2lkICJyZXBvcnQgYXJjaGl2ZWQgZmlsZXMgb24gc3RkZXJyIgogbXNnc3RyICJyYXBwb3J0ZXJhIGFya2l2ZXJhZGUgZmlsZXIgcMOlIHN0YW5kYXJkIGZlbCIKIAotIzogYXJjaGl2ZS5jOjMzMQorIzogYXJjaGl2ZS5jOjMzNQogbXNnaWQgInN0b3JlIG9ubHkiCiBtc2dzdHIgImVuZGFzdCBzcGFyYSIKIAotIzogYXJjaGl2ZS5jOjMzMgorIzogYXJjaGl2ZS5jOjMzNgogbXNnaWQgImNvbXByZXNzIGZhc3RlciIKIG1zZ3N0ciAia29tcHJpbWVyYSBzbmFiYmFyZSIKIAotIzogYXJjaGl2ZS5jOjM0MAorIzogYXJjaGl2ZS5jOjM0NAogbXNnaWQgImNvbXByZXNzIGJldHRlciIKIG1zZ3N0ciAia29tcHJpbWVyYSBiw6R0dHJlIgogCi0jOiBhcmNoaXZlLmM6MzQzCisjOiBhcmNoaXZlLmM6MzQ3CiBtc2dpZCAibGlzdCBzdXBwb3J0ZWQgYXJjaGl2ZSBmb3JtYXRzIgogbXNnc3RyICJ2aXNhIHVuZGVyc3TDtmRkYSBhcmtpdmZvcm1hdCIKIAotIzogYXJjaGl2ZS5jOjM0NSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODUKKyM6IGFyY2hpdmUuYzozNDkgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjg0CiBtc2dpZCAicmVwbyIKIG1zZ3N0ciAiYXJraXYiCiAKLSM6IGFyY2hpdmUuYzozNDYgYnVpbHRpbi9hcmNoaXZlLmM6OTEKKyM6IGFyY2hpdmUuYzozNTAgYnVpbHRpbi9hcmNoaXZlLmM6OTEKIG1zZ2lkICJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIKIG1zZ3N0ciAiaMOkbXRhIGFya2l2ZXQgZnLDpW4gZmrDpHJyYXJraXZldCA8YXJraXY+IgogCi0jOiBhcmNoaXZlLmM6MzQ3IGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODcKKyM6IGFyY2hpdmUuYzozNTEgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4NwogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgImtvbW1hbmRvIgogCi0jOiBhcmNoaXZlLmM6MzQ4IGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCisjOiBhcmNoaXZlLmM6MzUyIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICJzw7ZrdsOkZyB0aWxsIGtvbW1hbmRvdCBnaXQtdXBsb2FkLWFyY2hpdmUgcMOlIGZqw6RycmVuIgogCkBAIC0yMDQsMTcgKzIwOSwxNyBAQAogbXNnaWQgIkNhbm5vdCBmb3JjZSB1cGRhdGUgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiS2FuIGludGUgdHZpbmdhIHVwcGRhdGVyaW5nIGF2IGFrdHVlbGwgZ3Jlbi4iCiAKLSM6IGJyYW5jaC5jOjIxNgorIzogYnJhbmNoLmM6MjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzZXR1cCB0cmFja2luZyBpbmZvcm1hdGlvbjsgc3RhcnRpbmcgcG9pbnQgJyVzJyBpcyBub3QgYSBicmFuY2guIgogbXNnc3RyICJLYW4gaW50ZSBzdMOkbGxhIGluIHNww6VybmluZzsgc3RhcnRwdW5rdGVuIFwiJXNcIiDDpHIgaW50ZSBlbiBncmVuLiIKIAotIzogYnJhbmNoLmM6MjE4CisjOiBicmFuY2guYzoyMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHJlcXVlc3RlZCB1cHN0cmVhbSBicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiZGVuIGVmdGVyZnLDpWdhZGUgdXBwc3Ryw7Ztc2dyZW5lbiBcIiVzXCIgZmlubnMgaW50ZSIKIAotIzogYnJhbmNoLmM6MjIwCisjOiBicmFuY2guYzoyMTkKIG1zZ2lkICIiCiAiXG4iCiAiSWYgeW91IGFyZSBwbGFubmluZyBvbiBiYXNpbmcgeW91ciB3b3JrIG9uIGFuIHVwc3RyZWFtXG4iCkBAIC0yMzQsMjYgKzIzOSwyNiBAQAogInNww6VyYSBkZXNzIGZqw6Rycm1vdHN2YXJpZ2hldCBrYW4gZHUgYW52w6RuZGEgXCJnaXQgcHVzaCAtdVwiXG4iCiAiZsO2ciBhdHQgc3TDpGxsYSBpbiB1cHBzdHLDtm1za29uZmlndXJhdGlvbmVuIG7DpHIgZHUgc8OkbmRlciBpbi4iCiAKLSM6IGJyYW5jaC5jOjI2NQorIzogYnJhbmNoLmM6MjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAiT2JqZWt0bmFtbmV0IMOkciBpbnRlIGdpbHRpZ3Q6IFwiJXNcIi4iCiAKLSM6IGJyYW5jaC5jOjI4NQorIzogYnJhbmNoLmM6Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFtYmlndW91cyBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIk9iamVrdG5hbW5ldCDDpHIgdHZldHlkaWd0OiBcIiVzXCIuIgogCi0jOiBicmFuY2guYzoyOTAKKyM6IGJyYW5jaC5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgogbXNnc3RyICJBdmdyZW5pbmdzcHVua3RlbiDDpHIgaW50ZSBnaWx0aWc6IFwiJXNcIiIKIAotIzogYnJhbmNoLmM6Mjk2CisjOiBicmFuY2guYzoyOTUKIG1zZ2lkICJGYWlsZWQgdG8gbG9jayByZWYgZm9yIHVwZGF0ZSIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIGzDpXNhIHJlZmVyZW5zIGbDtnIgdXBwZGF0ZXJpbmciCiAKLSM6IGJyYW5jaC5jOjMxNAorIzogYnJhbmNoLmM6MzEzCiBtc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHJlZiIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHNrcml2YSByZWZlcmVucyIKIApAQCAtMjY3LDcgKzI3Miw3IEBACiBtc2dpZCAidW5yZWNvZ25pemVkIGhlYWRlcjogJXMlcyAoJWQpIgogbXNnc3RyICJva8OkbnQgaHV2dWQ6ICVzJXMgKCVkKSIKIAotIzogYnVuZGxlLmM6ODkgYnVpbHRpbi9jb21taXQuYzo2OTcKKyM6IGJ1bmRsZS5jOjg5IGJ1aWx0aW4vY29tbWl0LmM6NzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgw7ZwcG5hIFwiJXNcIiIKQEAgLTI3Niw5ICsyODEsOSBAQAogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgdGhlc2UgcHJlcmVxdWlzaXRlIGNvbW1pdHM6IgogbXNnc3RyICJBcmtpdmV0IHNha25hciBkZXNzYSBuw7ZkdsOkbmRpZ2EgaW5jaGVja25pbmdhcjoiCiAKLSM6IGJ1bmRsZS5jOjE2NCBzZXF1ZW5jZXIuYzo2NjEgc2VxdWVuY2VyLmM6MTExMSBidWlsdGluL2xvZy5jOjMzMQotIzogYnVpbHRpbi9sb2cuYzo4MDEgYnVpbHRpbi9sb2cuYzoxMzk5IGJ1aWx0aW4vbG9nLmM6MTYyNSBidWlsdGluL21lcmdlLmM6MzY0Ci0jOiBidWlsdGluL3Nob3J0bG9nLmM6MTU2CisjOiBidW5kbGUuYzoxNjQgc2VxdWVuY2VyLmM6NjYyIHNlcXVlbmNlci5jOjExMTIgYnVpbHRpbi9sb2cuYzozMzIKKyM6IGJ1aWx0aW4vbG9nLmM6ODIxIGJ1aWx0aW4vbG9nLmM6MTQxOCBidWlsdGluL2xvZy5jOjE2NDQgYnVpbHRpbi9tZXJnZS5jOjM2NAorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE1OAogbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgogbXNnc3RyICJtaXNzbHlja2FkZXMgc2thcGEgcmV2aXNpb25zdHJhdmVyc2VyaW5nIgogCkBAIC0zMDQsNyArMzA5LDcgQEAKIG1zZ2lkICJyZXYtbGlzdCBkaWVkIgogbXNnc3RyICJyZXYtbGlzdCBkb2ciCiAKLSM6IGJ1bmRsZS5jOjMwMCBidWlsdGluL2xvZy5jOjEzMTAgYnVpbHRpbi9zaG9ydGxvZy5jOjI1OQorIzogYnVuZGxlLmM6MzAwIGJ1aWx0aW4vbG9nLmM6MTMyOSBidWlsdGluL3Nob3J0bG9nLmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgIm9rw6RudCBhcmd1bWVudDogJXMiCkBAIC00NTQsNyArNDU5LDcgQEAKICJIaXR0YWRlIGZlbCBpIGtvbmZpZ3VyYXRpb25zdmFyaWFiZWxuIFwiZGlmZi5kaXJzdGF0XCI6XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzozNDg3CisjOiBkaWZmLmM6MzQ5MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIHBhcnNlIC0tZGlyc3RhdC8tWCBvcHRpb24gcGFyYW1ldGVyOlxuIgpAQCAtNDYzLDcgKzQ2OCw3IEBACiAiTWlzc2x5Y2thZGVzIHRvbGthIGFyZ3VtZW50IHRpbGwgZmxhZ2dhbiAtLWRpcnN0YXQvLVg7XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzozNTAxCisjOiBkaWZmLmM6MzUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHRvbGthIGFyZ3VtZW50IHRpbGwgZmxhZ2dhbiAtLXN1Ym1vZHVsZTogXCIlc1wiIgpAQCAtNDkwLDE3ICs0OTUsMTcgQEAKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJzogJXMiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza3JpdmEgZnJpc3TDpWVuZGUgc2lnbmF0dXIgdGlsbCBcIiVzXCI6ICVzIgogCi0jOiBncmVwLmM6MTYyMworIzogZ3JlcC5jOjE2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIlwiJXNcIiBrdW5kZSBpbnRlIGzDpHNhICVzIgogCi0jOiBncmVwLmM6MTY0MAorIzogZ3JlcC5jOjE3MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogJXMiCiBtc2dzdHIgIlwiJXNcIjogJXMiCiAKLSM6IGdyZXAuYzoxNjUxCisjOiBncmVwLmM6MTcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBzaG9ydCByZWFkICVzIgogbXNnc3RyICJcIiVzXCI6IGtvcnQgbMOkc25pbmcgJXMiCkBAIC01NzMsOCArNTc4LDggQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgIm1pc3NseWNrYWRzIGzDpHNhIGNhY2hlbiIKIAotIzogbWVyZ2UuYzoxMTAgYnVpbHRpbi9jaGVja291dC5jOjM2NSBidWlsdGluL2NoZWNrb3V0LmM6NTY2Ci0jOiBidWlsdGluL2Nsb25lLmM6NjU2CisjOiBtZXJnZS5jOjExMCBidWlsdGluL2NoZWNrb3V0LmM6MzU4IGJ1aWx0aW4vY2hlY2tvdXQuYzo1NTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NTUKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIG55IGluZGV4ZmlsIgogCkBAIC02MjMsNyArNjI4LDcgQEAKIG1zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgogbXNnc3RyICJibG9iIGbDtnJ2w6RudGFkZXMgZsO2ciAlcyBcIiVzXCIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc3NCBidWlsdGluL2Nsb25lLmM6MzEyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NzQgYnVpbHRpbi9jbG9uZS5jOjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMgw7ZwcG5hIFwiJXNcIiIKQEAgLTc1Nyw3ICs3NjIsNyBAQAogbXNnaWQgIkF1dG8tbWVyZ2luZyAlcyIKIG1zZ3N0ciAiU2zDpXIgaWhvcCAlcyBhdXRvbWF0aXNrdCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYzNCBnaXQtc3VibW9kdWxlLnNoOjExMTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzQgZ2l0LXN1Ym1vZHVsZS5zaDoxMTI1CiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICJ1bmRlcm1vZHVsIgogCkBAIC04NTMsNTggKzg1OCwxMjQgQEAKIG1zZ2lkICJCYWQgJXMgdmFsdWU6ICclcyciCiBtc2dzdHIgIkZlbGFrdGlndCB2w6RyZGUgcMOlICVzOiBcIiVzXCIiCiAKLSM6IG9iamVjdC5jOjIwNAorIzogb2JqZWN0LmM6MjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBvYmplY3Q6ICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIG9iamVrdGV0OiAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjQ4OQorIzogcGFyc2Utb3B0aW9ucy5jOjUzNwogbXNnaWQgIi4uLiIKIG1zZ3N0ciAiLi4uIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTA3CisjOiBwYXJzZS1vcHRpb25zLmM6NTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyIKIG1zZ3N0ciAiYW52w6RuZG5pbmc6ICVzIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uIGhlcmUgc2hvdWxkIGFsaWduIHdpdGggdGhlCiAjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24KLSM6IHBhcnNlLW9wdGlvbnMuYzo1MTEKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgb3I6ICVzIgogbXNnc3RyICIgICAgIGVsbGVyOiAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjUxNAorIzogcGFyc2Utb3B0aW9ucy5jOjU2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJXMiCiBtc2dzdHIgIiAgICAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjU0OAorIzogcGFyc2Utb3B0aW9ucy5jOjU5NgogbXNnaWQgIi1OVU0iCiBtc2dzdHIgIi1UQUwiCiAKLSM6IHBhdGhzcGVjLmM6ODMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUGF0aCAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCi1tc2dzdHIgIlPDtmt2w6RnZW4gXCIlc1wiIMOkciBpIHVuZGVybW9kdWxlbiBcIiUuKnNcIiIKKyM6IHBhdGhzcGVjLmM6MTE4Cittc2dpZCAiZ2xvYmFsICdnbG9iJyBhbmQgJ25vZ2xvYicgcGF0aHNwZWMgc2V0dGluZ3MgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorImRlIGdsb2JhbGEgc8O2a3bDpGdzaW5zdMOkbGxuaW5nYXJuYSBcImdsb2JcIiBvY2ggXCJub2dsb2JcIiDDpHIgaW5rb21wYXRpYmxhIgogCi0jOiBwYXRoc3BlYy5jOjk5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKLW1zZ3N0ciAiXCIlc1wiIMOkciBww6UgYW5kcmEgc2lkYW4gYXYgZW4gc3ltYm9saXNrIGzDpG5rIgorIzogcGF0aHNwZWMuYzoxMjgKK21zZ2lkICIiCisiZ2xvYmFsICdsaXRlcmFsJyBwYXRoc3BlYyBzZXR0aW5nIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBnbG9iYWwgIgorInBhdGhzcGVjIHNldHRpbmdzIgorbXNnc3RyICIiCisiZGVuIGdsb2JhbGEgc8O2a3bDpGdzaW5zdMOkbGxuaW5nZW4gXCJsaXRlcmFsXCIgw6RyIGlua29tcGF0aWJlbCBtZWQgYWxsYSBhbmRyYSAiCisiZ2xvYmFsYSBzw7ZrdsOkZ3NpbnN0w6RsbG5pbmdhciIKIAotIzogcmVtb3RlLmM6MTc4OAorIzogcGF0aHNwZWMuYzoxNTgKK21zZ2lkICJpbnZhbGlkIHBhcmFtZXRlciBmb3IgcGF0aHNwZWMgbWFnaWMgJ3ByZWZpeCciCittc2dzdHIgIm9naWx0aWcgcGFyYW1ldGVyIGbDtnIgc8O2a3bDpGdzdXR0cnlja2V0IGbDtnIgXCJwcmVmaXhcIiIKKworIzogcGF0aHNwZWMuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXRoc3BlYyBtYWdpYyAnJS4qcycgaW4gJyVzJyIKK21zZ3N0ciAiZmVsYWt0aWd0IHPDtmt2w6Rnc3V0dHJ5Y2sgXCIlLipzXCIgaSBcIiVzXCIiCisKKyM6IHBhdGhzcGVjLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pc3NpbmcgJyknIGF0IHRoZSBlbmQgb2YgcGF0aHNwZWMgbWFnaWMgaW4gJyVzJyIKK21zZ3N0ciAiXCIpXCIgc2FrbmFzIGkgc2x1dGV0IGF2IHPDtmt2w6Rnc3V0dHJ5Y2tldCBmw7ZyIFwiJXNcIiIKKworIzogcGF0aHNwZWMuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pbXBsZW1lbnRlZCBwYXRoc3BlYyBtYWdpYyAnJWMnIGluICclcyciCittc2dzdHIgIlRlY2tuZXQgXCIlY1wiIGkgc8O2a3bDpGdzdXR0cnlja2V0IGkgXCIlc1wiIGhhciBpbnRlIGltcGxlbWVudGVyYXRzIgorCisjOiBwYXRoc3BlYy5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJ2xpdGVyYWwnIGFuZCAnZ2xvYicgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiJXM6IFwibGl0ZXJhbFwiIG9jaCBcImdsb2JcIiDDpHIgaW5rb21wYXRpYmxhIgorCisjOiBwYXRoc3BlYy5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCittc2dzdHIgIiVzOiBcIiVzXCIgw6RyIHV0YW5mw7ZyIGFya2l2ZXQiCisKKyM6IHBhdGhzcGVjLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKK21zZ3N0ciAiU8O2a3bDpGdzYW5naXZlbHNlbiBcIiVzXCIgw6RyIGkgdW5kZXJtb2R1bGVuIFwiJS4qc1wiIgorCisjLgorIy4gKiBXZSBtYXkgd2FudCB0byBzdWJzdGl0dXRlICJ0aGlzIGNvbW1hbmQiIHdpdGggYSBjb21tYW5kCisjLiAqIG5hbWUuIEUuZy4gd2hlbiBhZGQtLWludGVyYWN0aXZlIGRpZXMgd2hlbiBydW5uaW5nCisjLiAqICJjaGVja291dCAtcCIKKyMuCisjOiBwYXRoc3BlYy5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGF0aHNwZWMgbWFnaWMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvbW1hbmQ6ICVzIgorbXNnc3RyICIlczogc8O2a3bDpGdzdXR0cnlja2V0IGhhbnRlcmFzIGludGUgYXYgZGV0IGjDpHIga29tbWFuZG90OiAlcyIKKworIzogcGF0aHNwZWMuYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aHNwZWMgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICJzw7ZrdsOkZ3NhbmdpdmVsc2VuIFwiJXNcIiDDpHIgcMOlIGFuZHJhIHNpZGFuIGF2IGVuIHN5bWJvbGlzayBsw6RuayIKKworIzogcmVtb3RlLmM6MTgzMworIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIGJyYW5jaCBpcyBiYXNlZCBvbiAnJXMnLCBidXQgdGhlIHVwc3RyZWFtIGlzIGdvbmUuXG4iCittc2dzdHIgIkRpbiBncmVuIMOkciBiYXNlcmFkIHDDpSBcIiVzXCIsIG1lbiBkZW4gaGFyIGbDtnJzdnVubml0IHVwcHN0csO2bXMuXG4iCisKKyM6IHJlbW90ZS5jOjE4MzcKK21zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKK21zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIGbDtnIgYXR0IHLDpHR0YSlcbiIKKworIzogcmVtb3RlLmM6MTg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIGJyYW5jaCBpcyB1cC10by1kYXRlIHdpdGggJyVzJy5cbiIKK21zZ3N0ciAiRGluIGdyZW4gw6RyIMOgIGpvdXIgbWVkIFwiJXNcIi5cbiIKKworIzogcmVtb3RlLmM6MTg0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdC5cbiIKIG1zZ2lkX3BsdXJhbCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXRzLlxuIgogbXNnc3RyWzBdICJEaW4gZ3JlbiBsaWdnZXIgZsO2cmUgXCIlc1wiIG1lZCAlZCBpbmNoZWNrbmluZy5cbiIKIG1zZ3N0clsxXSAiRGluIGdyZW4gbGlnZ2VyIGbDtnJlIFwiJXNcIiBtZWQgJWQgaW5jaGVja25pbmdhci5cbiIKIAotIzogcmVtb3RlLmM6MTc5NAorIzogcmVtb3RlLmM6MTg1MAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcHVzaFwiIGbDtnIgYXR0IHB1YmxpY2VyYSBkaW5hIGxva2FsYSBpbmNoZWNrbmluZ2FyKVxuIgogCi0jOiByZW1vdGUuYzoxNzk3CisjOiByZW1vdGUuYzoxODUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdCwgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKIG1zZ2lkX3BsdXJhbCAiIgpAQCAtOTE0LDExICs5ODUsMTEgQEAKIG1zZ3N0clsxXSAiIgogIkRpbiBncmVuIGxpZ2dlciBlZnRlciBcIiVzXCIgbWVkICVkIGluY2hlY2tuaW5nYXIsIG9jaCBrYW4gc25hYmJzcG9sYXMuXG4iCiAKLSM6IHJlbW90ZS5jOjE4MDUKKyM6IHJlbW90ZS5jOjE4NjEKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIHVwZGF0ZSB5b3VyIGxvY2FsIGJyYW5jaClcbiIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBwdWxsXCIgZsO2ciBhdHQgdXBwZGF0ZXJhIGRpbiBsb2thbGEgZ3JlbilcbiIKIAotIzogcmVtb3RlLmM6MTgwOAorIzogcmVtb3RlLmM6MTg2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTkzMyw3ICsxMDA0LDcgQEAKICJEaW4gZ3JlbiBvY2ggXCIlc1wiIGhhciBkaXZlcmdlcmF0LFxuIgogIm9jaCBoYXIgJWQgcmVzcGVrdGl2ZSAlZCBvbGlrYSBpbmNoZWNrbmluZ2FyLlxuIgogCi0jOiByZW1vdGUuYzoxODE4CisjOiByZW1vdGUuYzoxODc0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHB1bGxcIiBmw7ZyIGF0dCBzbMOlIGlob3AgZmrDpHJyZ3JlbmVuIG1lZCBkaW4gZWdlbilcbiIKIApAQCAtOTc2LDcgKzEwNDcsNyBAQAogIm1lZCBcImdpdCBhZGQgPHPDtmt2w6RnYXI+XCIgZWxsZXIgXCJnaXQgcm0gPHPDtmt2w6RnYXI+XCJcbiIKICJvY2ggY2hlY2thIGluIHJlc3VsdGF0ZXQgbWVkIFwiZ2l0IGNvbW1pdFwiIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDUgc2VxdWVuY2VyLmM6ODY5IHNlcXVlbmNlci5jOjk1MgorIzogc2VxdWVuY2VyLmM6MjQ1IHNlcXVlbmNlci5jOjg3MCBzZXF1ZW5jZXIuYzo5NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICVzIgogbXNnc3RyICJLdW5kZSBpbnRlIHNrcml2YSB0aWxsICVzIgpAQCAtOTk5LDE5NyArMTA3MCwxOTcgQEAKIG1zZ3N0ciAiQ2hlY2thIGluIGRpbmEgw6RuZHJpbmdhciBlbGxlciBhbnbDpG5kIFwic3Rhc2hcIiBmw7ZyIGF0dCBmb3J0c8OkdHRhLiIKIAogIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIgb3IgImNoZXJyeS1waWNrIgotIzogc2VxdWVuY2VyLmM6MzI0CisjOiBzZXF1ZW5jZXIuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiJXM6IEt1bmRlIGludGUgc2tyaXZhIG55IGluZGV4ZmlsIgogCi0jOiBzZXF1ZW5jZXIuYzozNTUKKyM6IHNlcXVlbmNlci5jOjM1NgogbXNnaWQgIkNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCiBtc2dzdHIgIkt1bmRlIGludGUgYmVzdMOkbW1hIEhFQUQ6cyBpbmNoZWNrbmluZ1xuIgogCi0jOiBzZXF1ZW5jZXIuYzozNzcKKyM6IHNlcXVlbmNlci5jOjM3OAogbXNnaWQgIlVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgogbXNnc3RyICJLYW4gaW50ZSB1cHBkYXRlcmEgY2FjaGV0csOkZFxuIgogCi0jOiBzZXF1ZW5jZXIuYzo0MjIKKyM6IHNlcXVlbmNlci5jOjQyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCiBtc2dzdHIgIkt1bmRlIGludGUgdG9sa2EgaW5jaGVja25pbmdlbiAlc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzo0MjcKKyM6IHNlcXVlbmNlci5jOjQyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgogbXNnc3RyICJLdW5kZSBpbnRlIHRvbGthIGbDtnLDpGxkcmFpbmNoZWNrbmluZ2VuICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQ5MworIzogc2VxdWVuY2VyLmM6NDk0CiBtc2dpZCAiWW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKIG1zZ3N0ciAiRGluIGluZGV4ZmlsIGhhciBpbnRlIHNsYWdpdHMgaWhvcC4iCiAKLSM6IHNlcXVlbmNlci5jOjUxMgorIzogc2VxdWVuY2VyLmM6NTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKIG1zZ3N0ciAiSW5jaGVja25pbmcgJXMgw6RyIGVuIHNhbW1hbnNsYWduaW5nLCBtZW4gZmxhZ2dhbiAtbSBhbmdhdnMgaW50ZS4iCiAKLSM6IHNlcXVlbmNlci5jOjUyMAorIzogc2VxdWVuY2VyLmM6NTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKIG1zZ3N0ciAiSW5jaGVja25pbmcgJXMgaGFyIGludGUgZsO2csOkbGRlciAlZCIKIAotIzogc2VxdWVuY2VyLmM6NTI0CisjOiBzZXF1ZW5jZXIuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKIG1zZ3N0ciAiSHV2dWRsaW5qZSBhbmdhdnMsIG1lbiBpbmNoZWNrbmluZ2VuICVzIMOkciBpbnRlIGVuIHNhbW1hbnNsYWduaW5nIgogCiAjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgInJldmVydCIgb3IKICMuICJjaGVycnktcGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExCi0jOiBzZXF1ZW5jZXIuYzo1MzcKKyM6IHNlcXVlbmNlci5jOjUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCiBtc2dzdHIgIiVzOiBrYW4gaW50ZSB0b2xrYSBmw7Zyw6RsZHJhaW5jaGVja25pbmdlbiAlcyIKIAotIzogc2VxdWVuY2VyLmM6NTQxCisjOiBzZXF1ZW5jZXIuYzo1NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCiBtc2dzdHIgIkthbiBpbnRlIGjDpG10YSBpbmNoZWNrbmluZ3NtZWRkZWxhbmRlIGbDtnIgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjYyNworIzogc2VxdWVuY2VyLmM6NjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCiBtc2dzdHIgImt1bmRlIGludGUgw6VuZ3JhICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo2MjgKKyM6IHNlcXVlbmNlci5jOjYyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdGlsbMOkbXBhICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo2NjQKKyM6IHNlcXVlbmNlci5jOjY2NQogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgogbXNnc3RyICJkZW4gYW5naXZuYSB1cHBzw6R0dG5pbmdlbiBpbmNoZWNrbmluZ2FyIMOkciB0b20iCiAKLSM6IHNlcXVlbmNlci5jOjY3MgorIzogc2VxdWVuY2VyLmM6NjczCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6IG1pc3NseWNrYWRlcyBsw6RzYSBpbmRleGV0IgogCi0jOiBzZXF1ZW5jZXIuYzo2NzcKKyM6IHNlcXVlbmNlci5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzOiBtaXNzbHlja2FkZXMgdXBwZGF0ZXJhIGluZGV4ZXQiCiAKLSM6IHNlcXVlbmNlci5jOjczNQorIzogc2VxdWVuY2VyLmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCAlcyBkdXJpbmcgYSAlcyIKIG1zZ3N0ciAia2FuIGludGUgJXMgdW5kZXIgZW4gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjc1NworIzogc2VxdWVuY2VyLmM6NzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBsaW5lICVkLiIKIG1zZ3N0ciAiS2FuIGludGUgdG9sa2EgcmFkICVkLiIKIAotIzogc2VxdWVuY2VyLmM6NzYyCisjOiBzZXF1ZW5jZXIuYzo3NjMKIG1zZ2lkICJObyBjb21taXRzIHBhcnNlZC4iCiBtc2dzdHIgIkluZ2EgaW5jaGVja25pbmdhciBsw6RzdGVzLiIKIAotIzogc2VxdWVuY2VyLmM6Nzc1CisjOiBzZXF1ZW5jZXIuYzo3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJXMiCiBtc2dzdHIgIkt1bmRlIGludGUgw7ZwcG5hICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo3NzkKKyM6IHNlcXVlbmNlci5jOjc4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCAlcy4iCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgJXMuIgogCi0jOiBzZXF1ZW5jZXIuYzo3ODYKKyM6IHNlcXVlbmNlci5jOjc4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJXMiCiBtc2dzdHIgIk9hbnbDpG5kYmFydCBtYW51czogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjgxNAorIzogc2VxdWVuY2VyLmM6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQga2V5OiAlcyIKIG1zZ3N0ciAiRmVsYWt0aWcgbnlja2VsOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODE3CisjOiBzZXF1ZW5jZXIuYzo4MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJGZWxha3RpZ3QgdsOkcmRlIGbDtnIgJXM6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4MjkKKyM6IHNlcXVlbmNlci5jOjgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJXMiCiBtc2dzdHIgIlRyYXNpZ3QgbWFudXM6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTAKKyM6IHNlcXVlbmNlci5jOjg1MQogbXNnaWQgImEgY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgImVuIFwiY2hlcnJ5LXBpY2tcIiBlbGxlciBcInJldmVydFwiIHDDpWfDpXIgcmVkYW4iCiAKLSM6IHNlcXVlbmNlci5jOjg1MQorIzogc2VxdWVuY2VyLmM6ODUyCiBtc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIG1zZ3N0ciAidGVzdGEgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTUKKyM6IHNlcXVlbmNlci5jOjg1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgIkt1bmRlIGludGUgc2thcGEgXCJzZXF1ZW5jZXJcIi1rYXRhbG9nZW4gXCIlc1wiIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzEgc2VxdWVuY2VyLmM6OTU2CisjOiBzZXF1ZW5jZXIuYzo4NzIgc2VxdWVuY2VyLmM6OTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIHdyYXBwaW5nIHVwICVzLiIKIG1zZ3N0ciAiRmVsIHZpZCBvbWJyeXRuaW5nIGF2ICVzLiIKIAotIzogc2VxdWVuY2VyLmM6ODkwIHNlcXVlbmNlci5jOjEwMjQKKyM6IHNlcXVlbmNlci5jOjg5MSBzZXF1ZW5jZXIuYzoxMDI1CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICJpbmdlbiBcImNoZXJyeS1waWNrXCIgZWxsZXIgXCJyZXZlcnRcIiBww6Vnw6VyIgogCi0jOiBzZXF1ZW5jZXIuYzo4OTIKKyM6IHNlcXVlbmNlci5jOjg5MwogbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCiBtc2dzdHIgImthbiBpbnRlIGJlc3TDpG1tYSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzo4OTQKKyM6IHNlcXVlbmNlci5jOjg5NQogbXNnaWQgImNhbm5vdCBhYm9ydCBmcm9tIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJrYW4gaW50ZSBhdmJyeXRhIGZyw6VuIGVuIGdyZW4gc29tIMOkbm51IGludGUgw6RyIGbDtmRkIgogCi0jOiBzZXF1ZW5jZXIuYzo5MTYgYnVpbHRpbi9hcHBseS5jOjQwNjEKKyM6IHNlcXVlbmNlci5jOjkxNyBidWlsdGluL2FwcGx5LmM6NDA2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSAlczogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjkxOQorIzogc2VxdWVuY2VyLmM6OTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICVzOiAlcyIKIG1zZ3N0ciAia2FuIGludGUgbMOkc2EgJXM6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo5MjAKKyM6IHNlcXVlbmNlci5jOjkyMQogbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgIm92w6RudGF0IGZpbHNsdXQiCiAKLSM6IHNlcXVlbmNlci5jOjkyNgorIzogc2VxdWVuY2VyLmM6OTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKIG1zZ3N0ciAic3BhcmFkIEhFQUQtZmlsIGZyw6VuIGbDtnJlIFwiY2hlcnJ5LXBpY2tcIiwgXCIlc1wiLCDDpHIgdHJhc2lnIgogCi0jOiBzZXF1ZW5jZXIuYzo5NDkKKyM6IHNlcXVlbmNlci5jOjk1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZm9ybWF0ICVzLiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBmb3JtYXRlcmEgJXMuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDkyCisjOiBzZXF1ZW5jZXIuYzoxMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgogbXNnc3RyICIlczoga2FuIGludGUgZ8O2cmEgXCJjaGVycnktcGlja1wiIHDDpSB0eXBlbiBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjEwOTUKKyM6IHNlcXVlbmNlci5jOjEwOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKIG1zZ3N0ciAiJXM6IGZlbGFrdGlnIHJldmlzaW9uIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTI5CisjOiBzZXF1ZW5jZXIuYzoxMTMwCiBtc2dpZCAiQ2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgogbXNnc3RyICJLYW4gaW50ZSDDpW5ncmEgc29tIGbDtnJzdGEgaW5jaGVja25pbmciCiAKLSM6IHNlcXVlbmNlci5jOjExMzAKKyM6IHNlcXVlbmNlci5jOjExMzEKIG1zZ2lkICJDYW4ndCBjaGVycnktcGljayBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIkthbiBpbnRlIGfDtnJhIFwiY2hlcnJ5LXBpY2tcIiBpIGV0dCB0b210IGh1dnVkIgogCkBAIC0xMjE1LDI1NiArMTI4NiwzNTAgQEAKICJVbmRlcnPDtmsgcmVmZXJlbnNlcm5hIG9jaCB0YSBrYW5za2UgYm9ydCBkZW0uIFN0w6RuZyBhdiBtZWRkZWxhbmRldFxuIgogImdlbm9tIGF0dCBrw7ZyYSBcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlXCIiCiAKLSM6IHNoYTFfbmFtZS5jOjEwOTcKKyM6IHNoYTFfbmFtZS5jOjExMTIKIG1zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgogbXNnc3RyICJIRUFEIHBla2FyIGludGUgcMOlIGVuIGdyZW4iCiAKLSM6IHNoYTFfbmFtZS5jOjExMDAKKyM6IHNoYTFfbmFtZS5jOjExMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBicmFuY2g6ICclcyciCiBtc2dzdHIgIk9rw6RuZCBncmVuOiBcIiVzXCIiCiAKLSM6IHNoYTFfbmFtZS5jOjExMDIKKyM6IHNoYTFfbmFtZS5jOjExMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciCiBtc2dzdHIgIkluZ2VuIHN0YW5kYXJkdXBwc3Ryw7ZtIGFuZ2l2ZW4gZsO2ciBncmVuZW4gXCIlc1wiIgogCi0jOiBzaGExX25hbWUuYzoxMTA2CisjOiBzaGExX25hbWUuYzoxMTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICJVcHBzdHLDtm1zZ3JlbmVuIFwiJXNcIiDDpHIgaW50ZSBsYWdyYWQgc29tIGVuIGZqw6RycnNww6VyYW5kZSBncmVuIgogCi0jOiB3cmFwcGVyLmM6NDA4CisjOiBzdWJtb2R1bGUuYzo2NCBzdWJtb2R1bGUuYzo5OAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgorbXNnc3RyICIiCisiS2FuIGludGUgw6RuZHJhIC5naXRtb2R1bGVzLWZpbCBzb20gaW50ZSBzbGFnaXRzIGlob3AsIGzDtnMgIgorInNhbW1hbnNsYWduaW5nc2tvbmZsaWt0ZXIgZsO2cnN0IgorCisjOiBzdWJtb2R1bGUuYzo2OCBzdWJtb2R1bGUuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGZpbmQgc2VjdGlvbiBpbiAuZ2l0bW9kdWxlcyB3aGVyZSBwYXRoPSVzIgorbXNnc3RyICJIaXR0YWRlIGludGUgbsOlZ29uIHNla3Rpb24gaSAuZ2l0bW9kdWxlcyBkw6RyIHPDtmt2w6RnPSVzIgorCisjLiBNYXliZSB0aGUgdXNlciBhbHJlYWR5IGRpZCB0aGF0LCBkb24ndCBlcnJvciBvdXQgaGVyZQorIzogc3VibW9kdWxlLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKK21zZ3N0ciAiS3VuZGUgaW50ZSB1cHBkYXRlcmEgLmdpdG1vZHVsZXMtcG9zdGVuICVzIgorCisjLiBNYXliZSB0aGUgdXNlciBhbHJlYWR5IGRpZCB0aGF0LCBkb24ndCBlcnJvciBvdXQgaGVyZQorIzogc3VibW9kdWxlLmM6MTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgLmdpdG1vZHVsZXMgZW50cnkgZm9yICVzIgorbXNnc3RyICJLdW5kZSBpbnRlIHRhIGJvcnQgLmdpdG1vZHVsZXMtcG9zdGVuIGbDtnIgJXMiCisKKyM6IHN1Ym1vZHVsZS5jOjEyNworbXNnaWQgImNvdWxkIG5vdCBmaW5kIC5naXRtb2R1bGVzIGluIGluZGV4IgorbXNnc3RyICJrdW5kZSBpbnRlIGhpdHRhIC5naXRtb2R1bGVzIGkgaW5kZXhldCIKKworIzogc3VibW9kdWxlLmM6MTMzCittc2dpZCAicmVhZGluZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIGzDpHNhIHVwcGRhdGVyYWQgLmdpdG1vZHVsZXMiCisKKyM6IHN1Ym1vZHVsZS5jOjEzNQorbXNnaWQgInVuYWJsZSB0byBzdGF0IHVwZGF0ZWQgLmdpdG1vZHVsZXMiCittc2dzdHIgImthbiBpbnRlIHRhIHN0YXR1cyBww6UgdXBwZGF0ZXJhZCAuZ2l0bW9kdWxlcyIKKworIzogc3VibW9kdWxlLmM6MTM5Cittc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAuZ2l0bW9kdWxlcyBmcm9tIGluZGV4IgorbXNnc3RyICJrYW4gaW50ZSB0YSBib3J0IC5naXRtb2R1bGVzIGZyw6VuIGluZGV4ZXQiCisKKyM6IHN1Ym1vZHVsZS5jOjE0MQorbXNnaWQgImFkZGluZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIGzDpGdnYSB0aWxsIHVwcGRhdGVyYWQgLmdpdG1vZHVsZXMiCisKKyM6IHN1Ym1vZHVsZS5jOjE0MworbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBrw7ZhIHVwcGRhdGVyYWQgLmdpdG1vZHVsZXMiCisKKyM6IHN1Ym1vZHVsZS5jOjExNDQgYnVpbHRpbi9pbml0LWRiLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZ2l0IGxpbmsgJXMiCittc2dzdHIgIkt1bmRlIGludGUgc2thcGEgZ2l0bMOkbmsgJXMiCisKKyM6IHN1Ym1vZHVsZS5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHNldCBjb3JlLndvcmt0cmVlIGluICVzIgorbXNnc3RyICJLdW5kZSBpbnRlIHPDpHR0YSBjb3JlLndvcmt0cmVlIGkgJXMiCisKKyM6IHVybG1hdGNoLmM6MTIwCittc2dpZCAiaW52YWxpZCBVUkwgc2NoZW1lIG5hbWUgb3IgbWlzc2luZyAnOi8vJyBzdWZmaXgiCittc2dzdHIgIm9naWx0aWcgVVJMLXNjaGVtYW5hbW4gZWxsZXIgc2FrbmF0IFwiOi8vXCItc3VmZml4IgorCisjOiB1cmxtYXRjaC5jOjE0NCB1cmxtYXRjaC5jOjI5NyB1cmxtYXRjaC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkICVYWCBlc2NhcGUgc2VxdWVuY2UiCittc2dzdHIgIm9naWx0aWcgJVhYLXRlY2tlbnNla3ZlbnMiCisKKyM6IHVybG1hdGNoLmM6MTcyCittc2dpZCAibWlzc2luZyBob3N0IGFuZCBzY2hlbWUgaXMgbm90ICdmaWxlOiciCittc2dzdHIgInbDpHJkIHNha25hcyBvY2ggc2NoZW1hdCDDpHIgaW50ZSBcImZpbGU6XCIiCisKKyM6IHVybG1hdGNoLmM6MTg5Cittc2dpZCAiYSAnZmlsZTonIFVSTCBtYXkgbm90IGhhdmUgYSBwb3J0IG51bWJlciIKK21zZ3N0ciAiZW4gXCJmaWxlOlwiLVVSTCBrYW4gaW50ZSBpbm5laMOlbGxhIHBvcnRudW1tZXIiCisKKyM6IHVybG1hdGNoLmM6MTk5Cittc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXJzIGluIGhvc3QgbmFtZSIKK21zZ3N0ciAib2dpbHRpZ2EgdGVja2VuIGkgdsOkcmRuYW1uZXQiCisKKyM6IHVybG1hdGNoLmM6MjQ0IHVybG1hdGNoLmM6MjU1Cittc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciIKK21zZ3N0ciAiZmVsYWt0aWd0IHBvcnRudW1tZXIiCisKKyM6IHVybG1hdGNoLmM6MzIyCittc2dpZCAiaW52YWxpZCAnLi4nIHBhdGggc2VnbWVudCIKK21zZ3N0ciAiZmVsYWt0aXQgXCIuLlwiLXPDtmt2w6Rnc3NlZ21lbnQiCisKKyM6IHdyYXBwZXIuYzo0MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnOiAlcyIKIG1zZ3N0ciAia2FuIGludGUga29tbWEgw6V0IFwiJXNcIjogJXMiCiAKLSM6IHdyYXBwZXIuYzo0MjkKKyM6IHdyYXBwZXIuYzo0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSBrb21tYSDDpXQgXCIlc1wiIgogCi0jOiB3cmFwcGVyLmM6NDQwCisjOiB3cmFwcGVyLmM6NDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBsb29rIHVwIGN1cnJlbnQgdXNlciBpbiB0aGUgcGFzc3dkIGZpbGU6ICVzIgogbXNnc3RyICJrYW4gaW50ZSBzbMOlIHVwcCBha3R1ZWxsIGFudsOkbmRhcmUgaSBwYXNzd2QtZmlsZW46ICVzIgogCi0jOiB3cmFwcGVyLmM6NDQxCisjOiB3cmFwcGVyLmM6NDU1CiBtc2dpZCAibm8gc3VjaCB1c2VyIgogbXNnc3RyICJva8OkbmQgYW52w6RuZGFyZSIKIAotIzogd3Qtc3RhdHVzLmM6MTQxCisjOiB3dC1zdGF0dXMuYzoxNDYKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgIkVqIHNhbW1hbnNsYWduYSBzw7ZrdsOkZ2FyOiIKIAotIzogd3Qtc3RhdHVzLmM6MTY4IHd0LXN0YXR1cy5jOjE5NQorIzogd3Qtc3RhdHVzLmM6MTczIHd0LXN0YXR1cy5jOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmVzZXQgJXMgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcmVzZXQgJXMgPGZpbD4uLi5cIiBmw7ZyIGF0dCB0YSBib3J0IGZyw6VuIGvDtikiCiAKLSM6IHd0LXN0YXR1cy5jOjE3MCB3dC1zdGF0dXMuYzoxOTcKKyM6IHd0LXN0YXR1cy5jOjE3NSB3dC1zdGF0dXMuYzoyMDIKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbD4uLi5cIiBmw7ZyIGF0dCB0YSBib3J0IGZyw6VuIGvDtikiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NAorIzogd3Qtc3RhdHVzLmM6MTc5CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IGFkZCA8ZmlsPi4uLlwiIGbDtnIgYXR0IGFuZ2UgbMO2c25pbmcpIgogCi0jOiB3dC1zdGF0dXMuYzoxNzYgd3Qtc3RhdHVzLmM6MTgwCisjOiB3dC1zdGF0dXMuYzoxODEgd3Qtc3RhdHVzLmM6MTg1CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IGFkZC9ybSA8ZmlsPi4uLlwiIHNvbSBsw6RtcGxpZ3QgZsO2ciBhdHQgYW5nZSBsw7ZzbmluZykiCiAKLSM6IHd0LXN0YXR1cy5jOjE3OAorIzogd3Qtc3RhdHVzLmM6MTgzCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcm0gPGZpbD4uLi5cIiBmw7ZyIGF0dCBhbmdlIGzDtnNuaW5nKSIKIAotIzogd3Qtc3RhdHVzLmM6MTg5CisjOiB3dC1zdGF0dXMuYzoxOTQKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIsOEbmRyaW5nYXIgYXR0IGNoZWNrYSBpbjoiCiAKLSM6IHd0LXN0YXR1cy5jOjIwNworIzogd3Qtc3RhdHVzLmM6MjEyCiBtc2dpZCAiQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6IgogbXNnc3RyICLDhG5kcmluZ2FyIGVqIGkgaW5jaGVja25pbmdza8O2bjoiCiAKLSM6IHd0LXN0YXR1cy5jOjIxMQorIzogd3Qtc3RhdHVzLmM6MjE2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgIChhbnbDpG5kIFwiZ2l0IGFkZCA8ZmlsPi4uLlwiIGbDtnIgYXR0IHVwcGRhdGVyYSB2YWQgc29tIHNrYWxsIGNoZWNrYXMgaW4pIgogCi0jOiB3dC1zdGF0dXMuYzoyMTMKKyM6IHd0LXN0YXR1cy5jOjIxOAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAoYW52w6RuZCBcImdpdCBhZGQvcm0gPGZpbD4uLi5cIiBmw7ZyIGF0dCB1cHBkYXRlcmEgdmFkIHNvbSBza2FsbCBjaGVja2FzIGluKSIKIAotIzogd3Qtc3RhdHVzLmM6MjE0CisjOiB3dC1zdGF0dXMuYzoyMTkKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiIKICIgIChhbnbDpG5kIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWw+Li4uXCIgZsO2ciBhdHQgZsO2cmthc3RhIMOkbmRyaW5nYXIgaSAiCiAiYXJiZXRza2F0YWxvZ2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6MjE2CisjOiB3dC1zdGF0dXMuYzoyMjEKIG1zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCiBtc2dzdHIgIiIKICIgIChjaGVja2EgaW4gZWxsZXIgZsO2cmthc3RhIG9zcMOlcmF0IGVsbGVyIMOkbmRyYXQgaW5uZWjDpWxsIGkgdW5kZXJtb2R1bGVyKSIKIAotIzogd3Qtc3RhdHVzLmM6MjI4CisjOiB3dC1zdGF0dXMuYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgIChhbnbDpG5kIFwiZ2l0ICVzIDxmaWw+Li4uXCIgZsO2ciBhdHQgdGEgbWVkIGkgZGV0IHNvbSBza2FsbCBjaGVja2FzIGluKSIKIAotIzogd3Qtc3RhdHVzLmM6MjQ1CisjOiB3dC1zdGF0dXMuYzoyNTAKIG1zZ2lkICJidWciCiBtc2dzdHIgInByb2dyYW1mZWwiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MAorIzogd3Qtc3RhdHVzLmM6MjU1CiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAiYm9ydHRhZ2V0IGF2IGLDpGdnZToiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MQorIzogd3Qtc3RhdHVzLmM6MjU2CiBtc2dpZCAiYWRkZWQgYnkgdXM6IgogbXNnc3RyICJ0aWxsYWd0IGF2IG9zczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MgorIzogd3Qtc3RhdHVzLmM6MjU3CiBtc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKIG1zZ3N0ciAiYm9ydHRhZ2V0IGF2IGRlbToiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MworIzogd3Qtc3RhdHVzLmM6MjU4CiBtc2dpZCAiYWRkZWQgYnkgdGhlbToiCiBtc2dzdHIgInRpbGxhZ3QgYXYgZGVtOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU0CisjOiB3dC1zdGF0dXMuYzoyNTkKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAiYm9ydHRhZ2V0IGF2IG9zczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NQorIzogd3Qtc3RhdHVzLmM6MjYwCiBtc2dpZCAiYm90aCBhZGRlZDoiCiBtc2dzdHIgInRpbGxhZ3QgYXYgYsOkZ2dlOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU2CisjOiB3dC1zdGF0dXMuYzoyNjEKIG1zZ2lkICJib3RoIG1vZGlmaWVkOiIKIG1zZ3N0ciAiw6RuZHJhdCBhdiBiw6RnZ2U6IgogCi0jOiB3dC1zdGF0dXMuYzoyODYKKyM6IHd0LXN0YXR1cy5jOjI5MQogbXNnaWQgIm5ldyBjb21taXRzLCAiCiBtc2dzdHIgIm55YSBpbmNoZWNrbmluZ2FyLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjI4OAorIzogd3Qtc3RhdHVzLmM6MjkzCiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICLDpG5kcmF0IGlubmVow6VsbCwgIgogCi0jOiB3dC1zdGF0dXMuYzoyOTAKKyM6IHd0LXN0YXR1cy5jOjI5NQogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgIm9zcMOlcmF0IGlubmVow6VsbCwgIgogCi0jOiB3dC1zdGF0dXMuYzozMDcKKyM6IHd0LXN0YXR1cy5jOjMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgZmlsZTogICAlcyIKIG1zZ3N0ciAibnkgZmlsOiAgICAgJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjMxMAorIzogd3Qtc3RhdHVzLmM6MzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcGllZDogICAgICVzIC0+ICVzIgogbXNnc3RyICJrb3BpZXJhZDogICAlcyAtPiAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MzEzCisjOiB3dC1zdGF0dXMuYzozMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRlZDogICAgJXMiCiBtc2dzdHIgImJvcnR0YWdlbjogICVzIgogCi0jOiB3dC1zdGF0dXMuYzozMTYKKyM6IHd0LXN0YXR1cy5jOjMyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb2RpZmllZDogICAlcyIKIG1zZ3N0ciAiw6RuZHJhZDogICAgICVzIgogCi0jOiB3dC1zdGF0dXMuYzozMTkKKyM6IHd0LXN0YXR1cy5jOjMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW5hbWVkOiAgICAlcyAtPiAlcyIKIG1zZ3N0ciAibmFtbmJ5dGU6ICAgJXMgLT4gJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjMyMgorIzogd3Qtc3RhdHVzLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInR5cGVjaGFuZ2U6ICVzIgogbXNnc3RyICJ0eXBieXRlOiAgICAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MzI1CisjOiB3dC1zdGF0dXMuYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93bjogICAgJXMiCiBtc2dzdHIgIm9rw6RuZDogICAgICAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MzI4CisjOiB3dC1zdGF0dXMuYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5tZXJnZWQ6ICAgJXMiCiBtc2dzdHIgIm9zYW1tYW5zbC46ICVzIgogCi0jOiB3dC1zdGF0dXMuYzozMzEKKyM6IHd0LXN0YXR1cy5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJidWc6IHVuaGFuZGxlZCBkaWZmIHN0YXR1cyAlYyIKIG1zZ3N0ciAicHJvZ3JhbWZlbDogZGlmZi1zdGF0dXMgJWMgZWogaGFudGVyYWQiCiAKLSM6IHd0LXN0YXR1cy5jOjgwMworIzogd3Qtc3RhdHVzLmM6NzAzCittc2dpZCAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCittc2dzdHIgIlVuZGVybW9kdWxlciDDpG5kcmFkZSBtZW4gaW50ZSB1cHBkYXRlcmFkZToiCisKKyM6IHd0LXN0YXR1cy5jOjcwNQorbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCittc2dzdHIgIlVuZGVybW9kdWxlcnMgw6RuZHJpbmdhciBhdHQgY2hlY2thIGluOiIKKworIzogd3Qtc3RhdHVzLmM6ODQ4CiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICJEdSBoYXIgZWogc2FtbWFuc2xhZ25hIHPDtmt2w6RnYXIuIgogCi0jOiB3dC1zdGF0dXMuYzo4MDYKKyM6IHd0LXN0YXR1cy5jOjg1MQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjb21taXRcIikiCiBtc2dzdHIgIiAgKHLDpHR0YSBrb25mbGlrdGVyIG9jaCBrw7ZyIFwiZ2l0IGNvbW1pdFwiKSIKIAotIzogd3Qtc3RhdHVzLmM6ODA5CisjOiB3dC1zdGF0dXMuYzo4NTQKIG1zZ2lkICJBbGwgY29uZmxpY3RzIGZpeGVkIGJ1dCB5b3UgYXJlIHN0aWxsIG1lcmdpbmcuIgogbXNnc3RyICJBbGxhIGtvbmZsaWt0ZXIgaGFyIHLDpHR0YXRzIG1lbiBkdSDDpHIgZm9ydGZhcmFuZGUgaSBlbiBzYW1tYW5zbGFnbmluZy4iCiAKLSM6IHd0LXN0YXR1cy5jOjgxMgorIzogd3Qtc3RhdHVzLmM6ODU3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBjb21taXRcIiBmw7ZyIGF0dCBzbHV0ZsO2cmEgc2FtbWFuc2xhZ25pbmdlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjgyMgorIzogd3Qtc3RhdHVzLmM6ODY3CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICJEdSDDpHIgaSBtaXR0ZW4gYXYgZW4ga8O2cm5pbmcgYXYgXCJnaXQgYW1cIi4iCiAKLSM6IHd0LXN0YXR1cy5jOjgyNQorIzogd3Qtc3RhdHVzLmM6ODcwCiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICJBa3R1ZWxsIHBhdGNoIMOkciB0b20uIgogCi0jOiB3dC1zdGF0dXMuYzo4MjkKKyM6IHd0LXN0YXR1cy5jOjg3NAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKHLDpHR0YSBrb25mbGlrdGVyIG9jaCBrw7ZyIHNlZGFuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjgzMQorIzogd3Qtc3RhdHVzLmM6ODc2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgYW0gLS1za2lwXCIgZsO2ciBhdHQgaG9wcGEgw7Z2ZXIgcGF0Y2hlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjgzMworIzogd3Qtc3RhdHVzLmM6ODc4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IGFtIC0tYWJvcnRcIiBmw7ZyIGF0dCDDpXRlcnN0w6RsbGEgdXJzcHJ1bmdzZ3JlbmVuKSIKIAotIzogd3Qtc3RhdHVzLmM6ODkzIHd0LXN0YXR1cy5jOjkxMAorIzogd3Qtc3RhdHVzLmM6OTM4IHd0LXN0YXR1cy5jOjk1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiRHUgaMOlbGxlciBww6UgYXR0IG9tYmFzZXJhIGdyZW5lbiBcIiVzXCIgb3ZhbnDDpSBcIiVzXCIuIgogCi0jOiB3dC1zdGF0dXMuYzo4OTggd3Qtc3RhdHVzLmM6OTE1CisjOiB3dC1zdGF0dXMuYzo5NDMgd3Qtc3RhdHVzLmM6OTYwCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICJEdSBow6VsbGVyIHDDpSBtZWQgZW4gb21iYXNlcmluZy4iCiAKLSM6IHd0LXN0YXR1cy5jOjkwMQorIzogd3Qtc3RhdHVzLmM6OTQ2CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKHLDpHR0YSBrb25mbGlrdGVyIG9jaCBrw7ZyIHNlZGFuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5MDMKKyM6IHd0LXN0YXR1cy5jOjk0OAogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCByZWJhc2UgLS1za2lwXCIgZsO2ciBhdHQgaG9wcGEgw7Z2ZXIgcGF0Y2hlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjkwNQorIzogd3Qtc3RhdHVzLmM6OTUwCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgZsO2ciBhdHQgY2hlY2thIHV0IHVyc3BydW5nc2dyZW5lbikiCiAKLSM6IHd0LXN0YXR1cy5jOjkxOAorIzogd3Qtc3RhdHVzLmM6OTYzCiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChhbGxhIGtvbmZsaWt0ZXIgcsOkdHRhZGU6IGvDtnIgXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjkyMgorIzogd3Qtc3RhdHVzLmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCkBAIC0xNDcyLDExNyArMTYzNywxMTggQEAKICJEdSBow6VsbGVyIHDDpSBhdHQgZGVsYSB1cHAgZW4gaW5jaGVja25pbmcgbWVkYW4gZHUgb21iYXNlcmFyIGdyZW5lbiBcIiVzXCIgIgogIm92YW5ww6UgXCIlc1wiLiIKIAotIzogd3Qtc3RhdHVzLmM6OTI3CisjOiB3dC1zdGF0dXMuYzo5NzIKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiRHUgaMOlbGxlciBww6UgYXR0IGRlbGEgdXBwIGVuIGluY2hlY2tuaW5nIGkgZW4gb21iYXNlcmluZy4iCiAKLSM6IHd0LXN0YXR1cy5jOjkzMAorIzogd3Qtc3RhdHVzLmM6OTc1CiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKFPDpSBmb3J0IGRpbiBhcmJldHNrYXRhbG9nIMOkciByZW4sIGvDtnIgXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjkzNAorIzogd3Qtc3RhdHVzLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIiIKICJEdSBow6VsbGVyIHDDpSBhdHQgcmVkaWdlcmEgZW4gaW5jaGVja25pbmcgbWVkYW4gZHUgb21iYXNlcmFyIGdyZW5lbiBcIiVzXCIgIgogIm92YW5ww6UgXCIlc1wiLiIKIAotIzogd3Qtc3RhdHVzLmM6OTM5CisjOiB3dC1zdGF0dXMuYzo5ODQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIkR1IGjDpWxsZXIgcMOlIGF0dCByZWRpZ2VyYSBlbiBpbmNoZWNrbmluZyB1bmRlciBlbiBvbWJhc2VyaW5nLiIKIAotIzogd3Qtc3RhdHVzLmM6OTQyCisjOiB3dC1zdGF0dXMuYzo5ODcKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpIgogbXNnc3RyICIiCiAiICAoYW52w6RuZCBcImdpdCBjb21taXQgLS1hbWVuZFwiIGbDtnIgYXR0IGzDpGdnYSB0aWxsIHDDpSBha3R1ZWxsIGluY2hlY2tuaW5nKSIKIAotIzogd3Qtc3RhdHVzLmM6OTQ0CisjOiB3dC1zdGF0dXMuYzo5ODkKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBuw6RyIGR1IMOkciBuw7ZqZCBtZWQgZGluYSDDpG5kcmluZ2FyKSIKIAotIzogd3Qtc3RhdHVzLmM6OTU0Ci1tc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcuIgotbXNnc3RyICJEdSBow6VsbGVyIHDDpSBtZWQgZW4gXCJjaGVycnktcGlja1wiLiIKKyM6IHd0LXN0YXR1cy5jOjk5OQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgorbXNnc3RyICJEdSBow6VsbGVyIHDDpSBtZWQgZW4gXCJjaGVycnktcGlja1wiIGF2IGluY2hlY2tuaW5nZW4gJXMuIgogCi0jOiB3dC1zdGF0dXMuYzo5NTgKKyM6IHd0LXN0YXR1cy5jOjEwMDQKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAocsOkdHRhIGtvbmZsaWt0ZXIgb2NoIGvDtnIgc2VkYW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6OTYxCisjOiB3dC1zdGF0dXMuYzoxMDA3CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGFsbGEga29uZmxpa3RlciByw6R0dGFkZToga8O2ciBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5NjMKKyM6IHd0LXN0YXR1cy5jOjEwMDkKIG1zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKGFudsOkbmQgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIGbDtnIgYXR0IGF2YnJ5dGEgXCJjaGVycnktcGlja1wiLSIKICJvcGVyYXRpb25lbikiCiAKLSM6IHd0LXN0YXR1cy5jOjk3MgorIzogd3Qtc3RhdHVzLmM6MTAxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZXZlcnRpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiRHUgaMOlbGxlciBww6UgbWVkIGF0dCDDpW5ncmEgaW5jaGVja25pbmdlbiAlcy4iCiAKLSM6IHd0LXN0YXR1cy5jOjk3NworIzogd3Qtc3RhdHVzLmM6MTAyMwogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAocsOkdHRhIGtvbmZsaWt0ZXIgb2NoIGvDtnIgc2VkYW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjk4MAorIzogd3Qtc3RhdHVzLmM6MTAyNgogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoYWxsYSBrb25mbGlrdGVyIHLDpHR0YWRlOiBrw7ZyIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5ODIKKyM6IHd0LXN0YXR1cy5jOjEwMjgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgZsO2ciBhdHQgYXZicnl0YSDDpW5ncmFuZGV0KSIKIAotIzogd3Qtc3RhdHVzLmM6OTkzCisjOiB3dC1zdGF0dXMuYzoxMDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiRHUgaMOlbGxlciBww6UgbWVkIGVuIFwiYmlzZWN0XCIsIHN0YXJ0YWQgZnLDpW4gZ3JlbmVuIFwiJXNcIi4iCiAKLSM6IHd0LXN0YXR1cy5jOjk5NworIzogd3Qtc3RhdHVzLmM6MTA0MwogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgIkR1IGjDpWxsZXIgcMOlIG1lZCBlbiBcImJpc2VjdFwiLiIKIAotIzogd3Qtc3RhdHVzLmM6MTAwMAorIzogd3Qtc3RhdHVzLmM6MTA0NgogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiIgogIiAgKGFudsOkbmQgXCJnaXQgYmlzZWN0IHJlc2V0XCIgZsO2ciBhdHQga29tbWEgdGlsbGJha2EgdGlsbCB1cnNwcnVuZ3NncmVuZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMTczCisjOiB3dC1zdGF0dXMuYzoxMjIxCiBtc2dpZCAiT24gYnJhbmNoICIKIG1zZ3N0ciAiUMOlIGdyZW5lbiAiCiAKLSM6IHd0LXN0YXR1cy5jOjExODAKKyM6IHd0LXN0YXR1cy5jOjEyMjgKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICJvbWJhc2VyaW5nIHDDpWfDpXI7IG92YW5ww6UiCiAKLSM6IHd0LXN0YXR1cy5jOjExODcKKyM6IHd0LXN0YXR1cy5jOjEyMzUKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKIG1zZ3N0ciAiSEVBRCBmcsOlbmtvcHBsYWQgdmlkICIKIAotIzogd3Qtc3RhdHVzLmM6MTE4OQorIzogd3Qtc3RhdHVzLmM6MTIzNwogbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCiBtc2dzdHIgIkhFQUQgZnLDpW5rb3BwbGFkIGZyw6VuICIKIAotIzogd3Qtc3RhdHVzLmM6MTE5MgorIzogd3Qtc3RhdHVzLmM6MTI0MAogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIkludGUgcMOlIG7DpWdvbiBncmVuIGbDtnIgbsOkcnZhcmFuZGUuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjA5CisjOiB3dC1zdGF0dXMuYzoxMjU3CiBtc2dpZCAiSW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIkbDtnJzdGEgaW5jaGVja25pbmciCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjMKKyM6IHd0LXN0YXR1cy5jOjEyNzEKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIk9zcMOlcmFkZSBmaWxlciIKIAotIzogd3Qtc3RhdHVzLmM6MTIyNQorIzogd3Qtc3RhdHVzLmM6MTI3MwogbXNnaWQgIklnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIklnbm9yZXJhZGUgZmlsZXIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjkKKyM6IHd0LXN0YXR1cy5jOjEyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGVudW1lcmF0ZSB1bnRyYWNrZWQgZmlsZXMuICdzdGF0dXMgLXVubydcbiIKQEAgLTE1OTQsMzIgKzE3NjAsMzIgQEAKICJsw6RnZ2EgdGlsbCBueWEgZmlsZXIgc2rDpGx2IChzZSBcImdpdCBoZWxwIHN0YXR1c1wiKS4iCiAKICMgJXMgw6RyIG7DpHN0YSBzdHLDpG5nIGVsbGVyIHRvbS4KLSM6IHd0LXN0YXR1cy5jOjEyMzUKKyM6IHd0LXN0YXR1cy5jOjEyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKIG1zZ3N0ciAiT3Nww6VyYWRlIGZpbGVyIHZpc2FzIGVqJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMzcKKyM6IHd0LXN0YXR1cy5jOjEyODUKIG1zZ2lkICIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIgogbXNnc3RyICIgKGFudsOkbmQgZmxhZ2dhbiAtdSBmw7ZyIGF0dCB2aXNhIG9zcMOlcmFkZSBmaWxlcikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDMKKyM6IHd0LXN0YXR1cy5jOjEyOTEKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICJJbmdhIMOkbmRyaW5nYXIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDgKKyM6IHd0LXN0YXR1cy5jOjEyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iCiBtc2dzdHIgIiIKICJpbmdhIMOkbmRyaW5nYXIgYXR0IGNoZWNrYSBpbiAoYW52w6RuZCBcImdpdCBhZGRcIiBvY2gvZWxsZXIgXCJnaXQgY29tbWl0IC1hIgogIlwiKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjUxCisjOiB3dC1zdGF0dXMuYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgImluZ2Egw6RuZHJpbmdhciBhdHQgY2hlY2thIGluXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTQKKyM6IHd0LXN0YXR1cy5jOjEzMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKQEAgLTE2MjgsNTIgKzE3OTQsNTYgQEAKICJpbmdldCBrw7ZhdCBmw7ZyIGluY2hlY2tuaW5nLCBtZW4gb3Nww6VyYWRlIGZpbGVyIGZpbm5zIChzcMOlcmEgbWVkIFwiZ2l0IGFkZCIKICJcIilcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NworIzogd3Qtc3RhdHVzLmM6MTMwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnRcbiIKIG1zZ3N0ciAiaW5nZXQga8O2YXQgZsO2ciBpbmNoZWNrbmluZywgbWVuIG9zcMOlcmFkZSBmaWxlciBmaW5uc1xuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYwCisjOiB3dC1zdGF0dXMuYzoxMzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0IChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIgogbXNnc3RyICJpbmdldCBhdHQgY2hlY2thIGluIChza2FwYS9rb3BpZXJhIGZpbGVyIG9jaCBzcMOlcmEgbWVkIFwiZ2l0IGFkZFwiKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYzIHd0LXN0YXR1cy5jOjEyNjgKKyM6IHd0LXN0YXR1cy5jOjEzMTEgd3Qtc3RhdHVzLmM6MTMxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICJpbmdldCBhdHQgY2hlY2thIGluXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjYKKyM6IHd0LXN0YXR1cy5jOjEzMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAiaW5nZXQgYXR0IGNoZWNrYSBpbiAoYW52w6RuZCAtdSBmw7ZyIGF0dCB2aXNhIG9zcMOlcmFkZSBmaWxlcilcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI3MAorIzogd3Qtc3RhdHVzLmM6MTMxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyBkaXJlY3RvcnkgY2xlYW5cbiIKIG1zZ3N0ciAiaW5nZXQgYXR0IGNoZWNrYSBpbiwgYXJiZXRza2F0YWxvZ2VuIHJlblxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzc4CisjOiB3dC1zdGF0dXMuYzoxNDI3CiBtc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKIG1zZ3N0ciAiSEVBRCAoaW5nZW4gZ3JlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzODQKKyM6IHd0LXN0YXR1cy5jOjE0MzMKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCiBtc2dzdHIgIkbDtnJzdGEgaW5jaGVja25pbmcgcMOlICIKIAotIzogd3Qtc3RhdHVzLmM6MTM5OQorIzogd3Qtc3RhdHVzLmM6MTQ2MworbXNnaWQgImdvbmUiCittc2dzdHIgImbDtnJzdnVubmVuIgorCisjOiB3dC1zdGF0dXMuYzoxNDY1CiBtc2dpZCAiYmVoaW5kICIKIG1zZ3N0ciAiZWZ0ZXIgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDAyIHd0LXN0YXR1cy5jOjE0MDUKKyM6IHd0LXN0YXR1cy5jOjE0Njggd3Qtc3RhdHVzLmM6MTQ3MQogbXNnaWQgImFoZWFkICIKIG1zZ3N0ciAiZsO2cmUgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDA3CisjOiB3dC1zdGF0dXMuYzoxNDczCiBtc2dpZCAiLCBiZWhpbmQgIgogbXNnc3RyICIsIGVmdGVyICIKIAotIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU4IGJ1aWx0aW4vY2xvbmUuYzozNTEKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1NSBidWlsdGluL2Nsb25lLmM6MzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHRhIGJvcnQgbMOkbmtlbiBcIiVzXCIiCkBAIC0xNzU5LDcgKzE5MjksNyBAQAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgImRpZmYtc3RhdHVzICVjIGbDtnJ2w6RudGFkZXMgaW50ZSIKIAotIzogYnVpbHRpbi9hZGQuYzoxNDkgYnVpbHRpbi9jb21taXQuYzoyNTIKKyM6IGJ1aWx0aW4vYWRkLmM6MTQ5IGJ1aWx0aW4vY29tbWl0LmM6MjYwCiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdXBwZGF0ZXJhIGZpbGVyIgogCkBAIC0xNzY4LDE0MCArMTkzOCwxMzUgQEAKIG1zZ2lkICJyZW1vdmUgJyVzJ1xuIgogbXNnc3RyICJ0YSBib3J0IFwiJXNcIlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjI1MworIzogYnVpbHRpbi9hZGQuYzoyMzcKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKIG1zZ3N0ciAiT3Nww6VyYWRlIMOkbmRyaW5nYXIgZWZ0ZXIgYXR0IGhhIHVwcGRhdGVyYXQgaW5kZXhldDoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU2IGJ1aWx0aW4vYWRkLmM6NTczIGJ1aWx0aW4vcm0uYzozMzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKLW1zZ3N0ciAic8O2a3bDpGdzYW5naXZlbHNlbiBcIiVzXCIgbW90c3ZhcmFkZSBpbnRlIG7DpWdyYSBmaWxlciIKLQotIzogYnVpbHRpbi9hZGQuYzozMzkKKyM6IGJ1aWx0aW4vYWRkLmM6Mjk5CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJLdW5kZSBpbnRlIGzDpHNhIGluZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUwCisjOiBidWlsdGluL2FkZC5jOjMxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSDDtnBwbmEgXCIlc1wiIGbDtnIgc2tyaXZuaW5nIgogCi0jOiBidWlsdGluL2FkZC5jOjM1NAorIzogYnVpbHRpbi9hZGQuYzozMTQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgIkt1bmRlIGludGUgc2tyaXZhIHBhdGNoIgogCi0jOiBidWlsdGluL2FkZC5jOjM1OQorIzogYnVpbHRpbi9hZGQuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSB0YSBzdGF0dXMgcMOlIFwiJXNcIiIKIAotIzogYnVpbHRpbi9hZGQuYzozNjEKKyM6IGJ1aWx0aW4vYWRkLmM6MzIxCiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICJUb20gcGF0Y2guIEF2YnJ5dGVyLiIKIAotIzogYnVpbHRpbi9hZGQuYzozNjcKKyM6IGJ1aWx0aW4vYWRkLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAnJXMnIgogbXNnc3RyICJLdW5kZSBpbnRlIHRpbGzDpG1wYSBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzc3CisjOiBidWlsdGluL2FkZC5jOjMzNwogbXNnaWQgIlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKIG1zZ3N0ciAiRsO2bGphbmRlIHPDtmt2w6RnYXIgaWdub3JlcmFzIGF2IGVuIGF2IGRpbmEgLmdpdGlnbm9yZS1maWxlcjpcbiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTQgYnVpbHRpbi9jbGVhbi5jOjg3NSBidWlsdGluL2ZldGNoLmM6NzggYnVpbHRpbi9tdi5jOjYzCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjczIGJ1aWx0aW4vcHVzaC5jOjQ1MSBidWlsdGluL3JlbW90ZS5jOjEyNTMKLSM6IGJ1aWx0aW4vcm0uYzoyNjgKKyM6IGJ1aWx0aW4vYWRkLmM6MzU0IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9mZXRjaC5jOjkyIGJ1aWx0aW4vbXYuYzo2NgorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3MyBidWlsdGluL3B1c2guYzo0NTkgYnVpbHRpbi9yZW1vdGUuYzoxMjUzCisjOiBidWlsdGluL3JtLmM6MjY5CiBtc2dpZCAiZHJ5IHJ1biIKIG1zZ3N0ciAidGVzdGvDtnJuaW5nIgogCi0jOiBidWlsdGluL2FkZC5jOjM5NSBidWlsdGluL2FwcGx5LmM6NDQxMCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5Ci0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjAgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTUgYnVpbHRpbi9mc2NrLmM6NjEzCi0jOiBidWlsdGluL2xvZy5jOjE1NzMgYnVpbHRpbi9tdi5jOjYyIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEzCisjOiBidWlsdGluL2FkZC5jOjM1NSBidWlsdGluL2FwcGx5LmM6NDQxMCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNDkgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTUgYnVpbHRpbi9mc2NrLmM6NjEyCisjOiBidWlsdGluL2xvZy5jOjE1OTIgYnVpbHRpbi9tdi5jOjY1IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEzCiBtc2dpZCAiYmUgdmVyYm9zZSIKIG1zZ3N0ciAidmFyIHByYXRzYW0iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzk3CisjOiBidWlsdGluL2FkZC5jOjM1NwogbXNnaWQgImludGVyYWN0aXZlIHBpY2tpbmciCiBtc2dzdHIgInBsb2NrYSBpbnRlcmFrdGl2dCIKIAotIzogYnVpbHRpbi9hZGQuYzozOTggYnVpbHRpbi9jaGVja291dC5jOjEwNzMgYnVpbHRpbi9yZXNldC5jOjI2MQorIzogYnVpbHRpbi9hZGQuYzozNTggYnVpbHRpbi9jaGVja291dC5jOjExMDkgYnVpbHRpbi9yZXNldC5jOjI3MgogbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICJ2w6RsaiBzdHlja2VuIGludGVyYWt0aXZ0IgogCi0jOiBidWlsdGluL2FkZC5jOjM5OQorIzogYnVpbHRpbi9hZGQuYzozNTkKIG1zZ2lkICJlZGl0IGN1cnJlbnQgZGlmZiBhbmQgYXBwbHkiCiBtc2dzdHIgInJlZGlnZXJhIGFrdHVlbGwgZGlmZiBvY2ggYXBwbGljZXJhIgogCi0jOiBidWlsdGluL2FkZC5jOjQwMAorIzogYnVpbHRpbi9hZGQuYzozNjAKIG1zZ2lkICJhbGxvdyBhZGRpbmcgb3RoZXJ3aXNlIGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgInRpbGzDpXQgbMOkZ2dhIHRpbGwgYW5uYXJzIGlnbm9yZXJhZGUgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAxCisjOiBidWlsdGluL2FkZC5jOjM2MQogbXNnaWQgInVwZGF0ZSB0cmFja2VkIGZpbGVzIgogbXNnc3RyICJ1cHBkYXRlcmEgc3DDpXJhZGUgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAyCisjOiBidWlsdGluL2FkZC5jOjM2MgogbXNnaWQgInJlY29yZCBvbmx5IHRoZSBmYWN0IHRoYXQgdGhlIHBhdGggd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAicmVnaXN0cmVyYSBlbmRhc3QgYXR0IHPDtmt2w6RnZW4ga29tbWVyIGzDpGdnYXMgdGlsbCBzZW5hcmUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAzCisjOiBidWlsdGluL2FkZC5jOjM2MwogbXNnaWQgImFkZCBjaGFuZ2VzIGZyb20gYWxsIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAibMOkZ2cgdGlsbCDDpG5kcmluZ2FyIGZyw6VuIGFsbGEgc3DDpXJhZGUgb2NoIG9zcMOlcmFkZSBmaWxlciIKIAogIy4gdGFrZXMgbm8gYXJndW1lbnRzCi0jOiBidWlsdGluL2FkZC5jOjQwNgorIzogYnVpbHRpbi9hZGQuYzozNjYKIG1zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKIG1zZ3N0ciAiaWdub3JlcmEgc8O2a3bDpGdhciBib3J0dGFnbmEgaSBhcmJldHNrYXRhbG9nZW4gKHNhbW1hIHNvbSAtLW5vLWFsbCkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDA4CisjOiBidWlsdGluL2FkZC5jOjM2OAogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAibMOkZ2cgaW50ZSB0aWxsLCB1cHBkYXRlcmEgZW5kYXN0IGluZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDA5CisjOiBidWlsdGluL2FkZC5jOjM2OQogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCiBtc2dzdHIgImhvcHBhIGJhcmEgw7Z2ZXIgZmlsZXIgc29tIGludGUga2FuIGzDpGdnYXMgdGlsbCBww6UgZ3J1bmQgYXYgZmVsIgogCi0jOiBidWlsdGluL2FkZC5jOjQxMAorIzogYnVpbHRpbi9hZGQuYzozNzAKIG1zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCiBtc2dzdHIgInNlIG9tIC0gw6R2ZW4gc2FrbmFkZSAtIGZpbGVyIGlnbm9yZXJhcyBpIHRlc3Rrw7ZybmluZyIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzIKKyM6IGJ1aWx0aW4vYWRkLmM6MzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIHRoZW0uXG4iCiBtc2dzdHIgIkFudsOkbmQgLWYgb20gZHUgdmVya2xpZ2VuIHZpbGwgbMOkZ2dhIHRpbGwgZGVtLlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjQzMworIzogYnVpbHRpbi9hZGQuYzozOTMKIG1zZ2lkICJubyBmaWxlcyBhZGRlZCIKIG1zZ3N0ciAiaW5nYSBmaWxlciBoYXIgbGFndHMgdGlsbCIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzkKKyM6IGJ1aWx0aW4vYWRkLmM6Mzk5CiBtc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGzDpGdnYSB0aWxsIGZpbGVyIgogCi0jOiBidWlsdGluL2FkZC5jOjQ3OAorIzogYnVpbHRpbi9hZGQuYzo0MzgKIG1zZ2lkICItQSBhbmQgLXUgYXJlIG11dHVhbGx5IGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLUEgb2NoIC11IMOkciDDtm1zZXNpZGlndCBpbmtvbXBhdGlibGEiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDk2CisjOiBidWlsdGluL2FkZC5jOjQ1NgogbXNnaWQgIk9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWRyeS1ydW4iCiBtc2dzdHIgIkZsYWdnYW4gLS1pZ25vcmUtbWlzc2luZyBrYW4gZW5kYXN0IGFudsOkbmRhcyB0aWxsc2FtbWFucyBtZWQgLS1kcnktcnVuIgogCi0jOiBidWlsdGluL2FkZC5jOjUyNgorIzogYnVpbHRpbi9hZGQuYzo0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIkluZ2V0IGFuZ2l2ZXQsIGluZ2V0IHRpbGxhZ3QuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NTI3CisjOiBidWlsdGluL2FkZC5jOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAiS2Fuc2tlIG1lbmFkZSBkdSBhdHQgc2tyaXZhIFwiZ2l0IGFkZCAuXCI/XG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NTMzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYxIGJ1aWx0aW4vY2xlYW4uYzo5MTkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzEyIGJ1aWx0aW4vbXYuYzo4MiBidWlsdGluL3JtLmM6Mjk3CisjOiBidWlsdGluL2FkZC5jOjQ5MiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NsZWFuLmM6OTE5CisjOiBidWlsdGluL2NvbW1pdC5jOjMyMCBidWlsdGluL212LmM6ODYgYnVpbHRpbi9yZXNldC5jOjIyNCBidWlsdGluL3JtLmM6Mjk5CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICJpbmRleGZpbGVuIHRyYXNpZyIKIAotIzogYnVpbHRpbi9hZGQuYzo2MDUgYnVpbHRpbi9hcHBseS5jOjQ1MDYgYnVpbHRpbi9tdi5jOjIyOSBidWlsdGluL3JtLmM6NDMyCisjOiBidWlsdGluL2FkZC5jOjU4OSBidWlsdGluL2FwcGx5LmM6NDUwNiBidWlsdGluL212LmM6MjU5IGJ1aWx0aW4vcm0uYzo0MzIKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIkt1bmRlIGludGUgc2tyaXZhIG55IGluZGV4ZmlsIgogCkBAIC0yMTU0LDcgKzIzMTksNyBAQAogbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgogbXNnc3RyICJLb250cm9sbGVyYXIgcGF0Y2hlbiAlcy4uLiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM2ODAgYnVpbHRpbi9jaGVja291dC5jOjIxNiBidWlsdGluL3Jlc2V0LmM6MTI3CisjOiBidWlsdGluL2FwcGx5LmM6MzY4MCBidWlsdGluL2NoZWNrb3V0LmM6MjEzIGJ1aWx0aW4vcmVzZXQuYzoxMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAibWFrZV9jYWNoZV9lbnRyeSBtaXNzbHlja2FkZXMgZsO2ciBzw7ZrdsOkZ2VuIFwiJXNcIiIKQEAgLTIyMzQsOCArMjM5OSw4IEBACiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKIG1zZ3N0ciAia2FuIGludGUgbMOkc2EgaW5kZXhmaWxlbiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzNTcgYnVpbHRpbi9hcHBseS5jOjQzNjAgYnVpbHRpbi9jbG9uZS5jOjkxCi0jOiBidWlsdGluL2ZldGNoLmM6NjMKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzU3IGJ1aWx0aW4vYXBwbHkuYzo0MzYwIGJ1aWx0aW4vY2xvbmUuYzo5MAorIzogYnVpbHRpbi9mZXRjaC5jOjc3CiBtc2dpZCAicGF0aCIKIG1zZ3N0ciAic8O2a3bDpGciCiAKQEAgLTIyOTUsNyArMjQ2MCw3IEBACiBtc2dpZCAiYnVpbGQgYSB0ZW1wb3JhcnkgaW5kZXggYmFzZWQgb24gZW1iZWRkZWQgaW5kZXggaW5mb3JtYXRpb24iCiBtc2dzdHIgImJ5Z2cgZXR0IHRlbXBvcsOkcnQgaW5kZXggYmFzZXJhdCBww6UgaW5ieWdnZCBpbmRleGluZm9ybWF0aW9uIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM4OSBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTk3IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjIKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzg5IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxOTcgYnVpbHRpbi9scy1maWxlcy5jOjQ1MgogbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICJzw7ZrdsOkZ2FyIGF2ZGVsYXMgbWVkIE5VTC10ZWNrZW4iCiAKQEAgLTI0MjUsMTAzICsyNTkwLDEwMyBAQAogbXNnaWQgInVwZGF0ZSBCSVNFQ1RfSEVBRCBpbnN0ZWFkIG9mIGNoZWNraW5nIG91dCB0aGUgY3VycmVudCBjb21taXQiCiBtc2dzdHIgInVwcGRhdGVyYSBCSVNFQ1RfSEVBRCBpc3TDpGxsZXQgZsO2ciBhdHQgY2hlY2thIHV0IGFrdHVlbGwgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNgorIzogYnVpbHRpbi9ibGFtZS5jOjI3CiBtc2dpZCAiZ2l0IGJsYW1lIFtvcHRpb25zXSBbcmV2LW9wdHNdIFtyZXZdIFstLV0gZmlsZSIKIG1zZ3N0ciAiZ2l0IGJsYW1lIFtmbGFnZ29yXSBbcmV2LWZsYWdnb3JdIFtyZXZdIFstLV0gZmlsIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MzEKKyM6IGJ1aWx0aW4vYmxhbWUuYzozMgogbXNnaWQgIltyZXYtb3B0c10gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgogbXNnc3RyICJbcmV2LWZsYWdnb3JdIGRva3VtZW50ZXJhcyBpIGdpdC1yZXYtbGlzdCgxKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyNzYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjQ4CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAiVmlzYSBrbGFuZHJpbmdzcG9zdGVyIG7DpHIgdmkgaGl0dGFyIGRlbSwgaW50ZXJha3RpdnQiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjc3CisjOiBidWlsdGluL2JsYW1lLmM6MjI0OQogbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlZpc2EgYmxhbmsgU0hBLTEgZsO2ciBncsOkbnNpbmNoZWNrbmluZ2FyIChTdGFuZGFyZDogYXYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI3OAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTAKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkJlaGFuZGxhIGludGUgcm90aW5jaGVja25pbmdhciBzb20gZ3LDpG5zZXIgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjc5CisjOiBidWlsdGluL2JsYW1lLmM6MjI1MQogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgIlZpc2Egc3RhdGlzdGlrIMO2dmVyIGFyYmV0c2tvc3RuYWQiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgwCisjOiBidWlsdGluL2JsYW1lLmM6MjI1MgogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICJWaXNhIHV0ZGF0YXBvw6RuZyBmw7ZyIGtsYW5kcmluZ3Nwb3N0ZXIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgxCisjOiBidWlsdGluL2JsYW1lLmM6MjI1MwogbXNnaWQgIlNob3cgb3JpZ2luYWwgZmlsZW5hbWUgKERlZmF1bHQ6IGF1dG8pIgogbXNnc3RyICJWaXNhIG9yaWdpbmFsZmlsbmFtbiAoU3RhbmRhcmQ6IGF1dG8pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4MgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTQKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlZpc2EgdXJzcHJ1bmdsaWd0IHJhZG51bW1lciAoU3RhbmRhcmQ6IGF2KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU1CiBtc2dpZCAiU2hvdyBpbiBhIGZvcm1hdCBkZXNpZ25lZCBmb3IgbWFjaGluZSBjb25zdW1wdGlvbiIKIG1zZ3N0ciAiVmlzYSBpIGV0dCBmb3JtYXQgYXZzZXR0IGbDtnIgbWFza2lua29uc3VtdGlvbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU2CiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICJWaXNhIHBvcnNsaW5zZm9ybWF0IG1lZCBwZXItcmFkLWluY2hlY2tuaW5nc2luZm9ybWF0aW9uIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTcKIG1zZ2lkICJVc2UgdGhlIHNhbWUgb3V0cHV0IG1vZGUgYXMgZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJBbnbDpG5kIHNhbW1hIHV0ZGF0YWzDpGdlIHNvbSBnaXQtYW5ub3RhdGUgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg2CisjOiBidWlsdGluL2JsYW1lLmM6MjI1OAogbXNnaWQgIlNob3cgcmF3IHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiVmlzYSByw6UgdGlkc3N0w6RtcGVsIChTdGFuZGFyZDogYXYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4NworIzogYnVpbHRpbi9ibGFtZS5jOjIyNTkKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlZpc2EgbMOlbmcgaW5jaGVja25pbmdzLVNIQTEgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg4CisjOiBidWlsdGluL2JsYW1lLmM6MjI2MAogbXNnaWQgIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlVuZGVydHJ5Y2sgZsO2cmZhdHRhcm5hbW4gb2NoIHRpZHNzdMOkbXBlbCAoU3RhbmRhcmQ6IGF2KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYxCiBtc2dpZCAiU2hvdyBhdXRob3IgZW1haWwgaW5zdGVhZCBvZiBuYW1lIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJWaXNhIGbDtnJmYXR0YXJlbnMgZS1wb3N0IGlzdMOkbGxldCBmw7ZyIG5hbW4gKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkwCisjOiBidWlsdGluL2JsYW1lLmM6MjI2MgogbXNnaWQgIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIgogbXNnc3RyICJJZ25vcmVyYSDDpG5kcmluZ2FyIGkgYmxhbmtzdGVnIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5MQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjMKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIlNsw7ZzYSBleHRyYSBjeWtsZXIgbWVkIGF0dCBoaXR0YSBiw6R0dHJlIHRyw6RmZiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY0CiBtc2dpZCAiVXNlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIGNhbGxpbmcgZ2l0LXJldi1saXN0IgogbXNnc3RyICJBbnbDpG5kIHJldmlzaW9uZXIgZnLDpW4gPGZpbD4gaXN0w6RsbGV0IGbDtnIgYXR0IGFucm9wYSBnaXQtcmV2LWxpc3QiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkzCisjOiBidWlsdGluL2JsYW1lLmM6MjI2NQogbXNnaWQgIlVzZSA8ZmlsZT4ncyBjb250ZW50cyBhcyB0aGUgZmluYWwgaW1hZ2UiCiBtc2dzdHIgIkFudsOkbmQgPGZpbD5zIGlubmVow6VsbCBzb20gc2x1dGdpbHRpZyBiaWxkIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NCBidWlsdGluL2JsYW1lLmM6MjI5NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjYgYnVpbHRpbi9ibGFtZS5jOjIyNjcKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAicG/DpG5nIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjYKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICJIaXR0YSBrb3BpZXJhZGUgcmFkZXIgaW51dGkgb2NoIG1lbGxhbiBmaWxlciIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY3CiBtc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiSGl0dGEgZmx5dHRhZGUgcmFkZXIgaW51dGkgb2NoIG1lbGxhbiBmaWxlciIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY4CiBtc2dpZCAibixtIgogbXNnc3RyICJuLG0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjk2CisjOiBidWlsdGluL2JsYW1lLmM6MjI2OAogbXNnaWQgIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJCZWhhbmRsYSBlbmRhc3QgcmFkaW50ZXJ2YWxsZXQgbixtLCBtZWQgYsO2cmphbiBww6UgMSIKIApAQCAtMjYyNywyNzggKzI3OTIsMjg4IEBACiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6NDUzCiAjLCBjLWZvcm1hdAorbXNnaWQgIlslczogZ29uZV0iCittc2dzdHIgIlslczogZsO2cnN2dW5uZW5dIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJbJXNdIgorbXNnc3RyICJbJXNdIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ1OQorIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCiBtc2dzdHIgIlslczogYmFrb20gJWRdICIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIltiZWhpbmQgJWRdIgogbXNnc3RyICJbYmFrb20gJWRdICIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYWhlYWQgJWRdIgogbXNnc3RyICJbJXM6IGbDtnJlICVkXSAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYxCisjOiBidWlsdGluL2JyYW5jaC5jOjQ2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWRdIgogbXNnc3RyICJbZsO2cmUgJWRdICIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIlslczogZsO2cmUgJWQsIGJha29tICVkXSAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY3CisjOiBidWlsdGluL2JyYW5jaC5jOjQ3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIltmw7ZyZSAlZCwgYmFrb20gJWRdICIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0OTAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDk2CiBtc2dpZCAiICoqKiogaW52YWxpZCByZWYgKioqKiIKIG1zZ3N0ciAiICoqKiogb2dpbHRpZyByZWYgKioqKiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKIG1zZ3N0ciAiKGluZ2VuIGdyZW4sIG9tYmFzZXJhciAlcykiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg1CisjOiBidWlsdGluL2JyYW5jaC5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCiBtc2dzdHIgIihpbmdlbiBncmVuLCBcImJpc2VjdFwiIHN0YXJ0YWQgcMOlICVzKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIihkZXRhY2hlZCBmcm9tICVzKSIKIG1zZ3N0ciAiKGZyw6Vua29wcGxhZCBmcsOlbiAlcykiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkxCisjOiBidWlsdGluL2JyYW5jaC5jOjU5NwogbXNnaWQgIihubyBicmFuY2gpIgogbXNnc3RyICIoaW5nZW4gZ3JlbikiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM3CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGNvbW1pdCIKIG1zZ3N0ciAib2JqZWt0ZXQgXCIlc1wiIHBla2FyIHDDpSBlbiBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc1CiBtc2dpZCAic29tZSByZWZzIGNvdWxkIG5vdCBiZSByZWFkIgogbXNnc3RyICJ2aXNzYSByZWZlcmVuc2VyIGt1bmRlIGludGUgbMOkc2FzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MgorIzogYnVpbHRpbi9icmFuY2guYzo2ODgKIG1zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAiIgogImt1bmRlIGludGUgYnl0YSBuYW1uIHDDpSBha3R1ZWxsIGdyZW4gbsOkciBkdSBpbnRlIGJlZmlubmVyIGRpZyBww6UgbsOlZ29uLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2OTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCiBtc2dzdHIgIkZlbGFrdGlndCBuYW1uIHDDpSBncmVuOiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzA3CisjOiBidWlsdGluL2JyYW5jaC5jOjcxMwogbXNnaWQgIkJyYW5jaCByZW5hbWUgZmFpbGVkIgogbXNnc3RyICJNaXNzbHlja2FkZXMgYnl0YSBuYW1uIHDDpSBncmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcxMQorIzogYnVpbHRpbi9icmFuY2guYzo3MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1lZCBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIGF3YXkiCiBtc2dzdHIgIkJ5dHRlIGJvcnQgbmFtbiBww6UgZW4gZmVsYWt0aWd0IG5hbW5naXZlbiBncmVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgIkdyZW5lbiBuYW1uYnl0dCB0aWxsICVzLCBtZW4gSEVBRCBoYXIgaW50ZSB1cHBkYXRlcmF0cyEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIyCisjOiBidWlsdGluL2JyYW5jaC5jOjcyOAogbXNnaWQgIkJyYW5jaCBpcyByZW5hbWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiR3JlbmVuIG5hbW5ieXR0LCBtZW4gbWlzc2x5Y2thZGVzIHVwcGRhdGVyYSBrb25maWd1cmF0aW9uc2ZpbGVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjczNworIzogYnVpbHRpbi9icmFuY2guYzo3NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICJmZWxmb3JtYXQgb2JqZWt0bmFtbiAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBicmFuY2ggZGVzY3JpcHRpb24gdGVtcGxhdGU6ICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSBncmVuYmVza3Jpdm5pbmdzbWFsbDogJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkxCisjOiBidWlsdGluL2JyYW5jaC5jOjc5NwogbXNnaWQgIkdlbmVyaWMgb3B0aW9ucyIKIG1zZ3N0ciAiQWxsbcOkbm5hIGZsYWdnb3IiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkzCisjOiBidWlsdGluL2JyYW5jaC5jOjc5OQogbXNnaWQgInNob3cgaGFzaCBhbmQgc3ViamVjdCwgZ2l2ZSB0d2ljZSBmb3IgdXBzdHJlYW0gYnJhbmNoIgogbXNnc3RyICJ2aXNhIGhhc2ggb2NoIMOkcmVuZGVyYWQsIGFuZ2UgdHbDpSBnw6VuZ2VyIGbDtnIgdXBwc3Ryw7Ztc2dyZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk0CisjOiBidWlsdGluL2JyYW5jaC5jOjgwMAogbXNnaWQgInN1cHByZXNzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMiCiBtc2dzdHIgInVuZGVydHJ5Y2sgaW5mb3JtYXRpb25zbWVkZGVsYW5kZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk1CisjOiBidWlsdGluL2JyYW5jaC5jOjgwMQogbXNnaWQgInNldCB1cCB0cmFja2luZyBtb2RlIChzZWUgZ2l0LXB1bGwoMSkpIgogbXNnc3RyICJzdMOkbGwgaW4gc3DDpXJuaW5nc2zDpGdlIChzZSBnaXQtcHVsbCgxKSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk3CisjOiBidWlsdGluL2JyYW5jaC5jOjgwMwogbXNnaWQgImNoYW5nZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICLDpG5kcmEgdXBwc3Ryw7Ztc2luZm9ybWF0aW9uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwMQorIzogYnVpbHRpbi9icmFuY2guYzo4MDcKIG1zZ2lkICJ1c2UgY29sb3JlZCBvdXRwdXQiCiBtc2dzdHIgImFudsOkbmQgZsOkcmdhZCB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAyCisjOiBidWlsdGluL2JyYW5jaC5jOjgwOAogbXNnaWQgImFjdCBvbiByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgImFyYmV0YSBww6UgZmrDpHJyc3DDpXJhbmRlIGdyZW5hciIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDUgYnVpbHRpbi9icmFuY2guYzo4MTEgYnVpbHRpbi9icmFuY2guYzo4MzIKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM4IGJ1aWx0aW4vY29tbWl0LmM6MTQzMyBidWlsdGluL2NvbW1pdC5jOjE0MzQKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNSBidWlsdGluL2NvbW1pdC5jOjE0MzYgYnVpbHRpbi90YWcuYzo0NjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODExIGJ1aWx0aW4vYnJhbmNoLmM6ODE3IGJ1aWx0aW4vYnJhbmNoLmM6ODM4CisjOiBidWlsdGluL2JyYW5jaC5jOjg0NCBidWlsdGluL2NvbW1pdC5jOjE0NjAgYnVpbHRpbi9jb21taXQuYzoxNDYxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjIgYnVpbHRpbi9jb21taXQuYzoxNDYzIGJ1aWx0aW4vdGFnLmM6NDY4CiBtc2dpZCAiY29tbWl0IgogbXNnc3RyICJpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDYgYnVpbHRpbi9icmFuY2guYzo4MTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODEyIGJ1aWx0aW4vYnJhbmNoLmM6ODE4CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgZ3JlbmFyIHNvbSBpbm5laMOlbGxlciBpbmNoZWNrbmluZ2VuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgxOAorIzogYnVpbHRpbi9icmFuY2guYzo4MjQKIG1zZ2lkICJTcGVjaWZpYyBnaXQtYnJhbmNoIGFjdGlvbnM6IgogbXNnc3RyICJTcGVjaWZpa2EgZ2l0LWJyYW5jaC3DpXRnw6RyZGVyOiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI1CiBtc2dpZCAibGlzdCBib3RoIHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgInZpc2EgYsOlZGUgZmrDpHJyc3DDpXJhbmRlIG9jaCBsb2thbGEgZ3JlbmFyIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyMQorIzogYnVpbHRpbi9icmFuY2guYzo4MjcKIG1zZ2lkICJkZWxldGUgZnVsbHkgbWVyZ2VkIGJyYW5jaCIKIG1zZ3N0ciAidGEgYm9ydCBoZWx0IHNhbW1hbnNsYWdlbiBncmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyMgorIzogYnVpbHRpbi9icmFuY2guYzo4MjgKIG1zZ2lkICJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIgogbXNnc3RyICJ0YSBib3J0IGdyZW4gKMOkdmVuIG9tIGludGUgaGVsdCBzYW1tYW5zbGFnZW4pIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyMworIzogYnVpbHRpbi9icmFuY2guYzo4MjkKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKIG1zZ3N0ciAiZmx5dHRhL3RhIGJvcnQgZW4gZ3JlbiBvY2ggZGVzcyByZWZsb2dnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyNAorIzogYnVpbHRpbi9icmFuY2guYzo4MzAKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICJmbHl0dGEvdGEgYm9ydCBlbiBncmVuLCDDpHZlbiBvbSBtw6VsZXQgZmlubnMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI1CisjOiBidWlsdGluL2JyYW5jaC5jOjgzMQogbXNnaWQgImxpc3QgYnJhbmNoIG5hbWVzIgogbXNnc3RyICJsaXN0YSBuYW1uIHDDpSBncmVuYXIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI2CisjOiBidWlsdGluL2JyYW5jaC5jOjgzMgogbXNnaWQgImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIgogbXNnc3RyICJza2FwYSBncmVuZW5zIHJlZmxvZ2ciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI4CisjOiBidWlsdGluL2JyYW5jaC5jOjgzNAogbXNnaWQgImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIgogbXNnc3RyICJyZWRpZ2VyYSBiZXNrcml2bmluZyBmw7ZyIGdyZW5lbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM1CiBtc2dpZCAiZm9yY2UgY3JlYXRpb24gKHdoZW4gYWxyZWFkeSBleGlzdHMpIgogbXNnc3RyICJ0dmluZ2Egc2thcGFuZGUgKG7DpHIgZGVuIHJlZGFuIGZpbm5zKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MzIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM4CiBtc2dpZCAicHJpbnQgb25seSBub3QgbWVyZ2VkIGJyYW5jaGVzIgogbXNnc3RyICJ2aXNhIGVuZGFzdCBlaiBzYW1tYW5zbGFnbmEgZ3JlbmFyIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzOAorIzogYnVpbHRpbi9icmFuY2guYzo4NDQKIG1zZ2lkICJwcmludCBvbmx5IG1lcmdlZCBicmFuY2hlcyIKIG1zZ3N0ciAidmlzYSBlbmRhc3Qgc2FtbWFuc2xhZ25hIGdyZW5hciIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ4CiBtc2dpZCAibGlzdCBicmFuY2hlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJ2aXNhIGdyZW5hciBpIHNwYWx0ZXIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODU1CisjOiBidWlsdGluL2JyYW5jaC5jOjg2MQogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJNaXNzbHlja2FkZXMgc2zDpSB1cHAgSEVBRCBzb20gZ2lsdGlnIHJlZmVyZW5zIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg2MCBidWlsdGluL2Nsb25lLmM6NjMwCisjOiBidWlsdGluL2JyYW5jaC5jOjg2NiBidWlsdGluL2Nsb25lLmM6NjI5CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIkhFQUQgaGl0dGFkZXMgaW50ZSB1bmRlciByZWZzL2hlYWRzISIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4ODMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODkwCiBtc2dpZCAiLS1jb2x1bW4gYW5kIC0tdmVyYm9zZSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWNvbHVtbiBvY2ggLS12ZXJib3NlIMOkciBpbmtvbXBhdGlibGEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODg5IGJ1aWx0aW4vYnJhbmNoLmM6OTI4CisjOiBidWlsdGluL2JyYW5jaC5jOjg5NiBidWlsdGluL2JyYW5jaC5jOjkzNQogbXNnaWQgImJyYW5jaCBuYW1lIHJlcXVpcmVkIgogbXNnc3RyICJncmVubmFtbiBrcsOkdnMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTA0CisjOiBidWlsdGluL2JyYW5jaC5jOjkxMQogbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIkthbiBpbnRlIGJlc2tyaXZhIGZyw6Vua29wcGxhZCBIRUFEIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkwOQorIzogYnVpbHRpbi9icmFuY2guYzo5MTYKIG1zZ2lkICJjYW5ub3QgZWRpdCBkZXNjcmlwdGlvbiBvZiBtb3JlIHRoYW4gb25lIGJyYW5jaCIKIG1zZ3N0ciAia2FuIGludGUgcmVkaWdlcmEgYmVza3Jpdm5pbmcgZsO2ciBtZXIgw6RuIGVuIGdyZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTE2CisjOiBidWlsdGluL2JyYW5jaC5jOjkyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBjb21taXQgb24gYnJhbmNoICclcycgeWV0LiIKIG1zZ3N0ciAiSW5nYSBpbmNoZWNrbmluZ2FyIHDDpSBncmVuZW4gXCIlc1wiIMOkbm51IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkxOQorIzogYnVpbHRpbi9icmFuY2guYzo5MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gYnJhbmNoIG5hbWVkICclcycuIgogbXNnc3RyICJJbmdlbiBncmVuIHZpZCBuYW1uZXQgXCIlc1wiLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MzQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTQxCiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIKIG1zZ3N0ciAiZsO2ciBtw6VuZ2EgZ3JlbmFyIGbDtnIgbmFtbmJ5dGUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTM5CisjOiBidWlsdGluL2JyYW5jaC5jOjk0NgogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHNldCBuZXcgdXBzdHJlYW0iCiBtc2dzdHIgImbDtnIgbcOlbmdhIGdyZW5hciBmw7ZyIGF0dCBieXRhIHVwcHN0csO2bSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjb3VsZCBub3Qgc2V0IHVwc3RyZWFtIG9mIEhFQUQgdG8gJXMgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiIgogImt1bmRlIGludGUgc8OkdHRhIHVwcHN0csO2bSBmw7ZyIEhFQUQgdGlsbCAlcyBuw6RyIGRldCBpbnRlIHBla2FyIG1vdCBuw6Vnb24gZ3Jlbi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTQ2IGJ1aWx0aW4vYnJhbmNoLmM6OTY4IGJ1aWx0aW4vYnJhbmNoLmM6OTkwCisjOiBidWlsdGluL2JyYW5jaC5jOjk1MyBidWlsdGluL2JyYW5jaC5jOjk3NSBidWlsdGluL2JyYW5jaC5jOjk5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaCAnJXMnIgogbXNnc3RyICJva8OkbmQgZ3JlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTUwCisjOiBidWlsdGluL2JyYW5jaC5jOjk1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiZ3JlbmVuIFwiJXNcIiBmaW5ucyBpbnRlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk2MgorIzogYnVpbHRpbi9icmFuY2guYzo5NjkKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyB0byB1bnNldCB1cHN0cmVhbSIKIG1zZ3N0ciAiZsO2ciBtw6VuZ2EgZ3JlbmFyIGbDtnIgYXR0IHRhIGJvcnQgdXBwc3Ryw7ZtIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk2NgorIzogYnVpbHRpbi9icmFuY2guYzo5NzMKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgdXBzdHJlYW0gb2YgSEVBRCB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgogbXNnc3RyICIiCiAia3VuZGUgaW50ZSB0YSBib3J0IHVwcHN0csO2bSBmw7ZyIEhFQUQgbsOkciBkZXQgaW50ZSBwZWthciBtb3QgbsOlZ29uIGdyZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk3MgorIzogYnVpbHRpbi9icmFuY2guYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgaGFzIG5vIHVwc3RyZWFtIGluZm9ybWF0aW9uIgogbXNnc3RyICJHcmVuZW4gXCIlc1wiIGhhciBpbmdlbiB1cHBzdHLDtm1zaW5mb3JtYXRpb24iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTg3CisjOiBidWlsdGluL2JyYW5jaC5jOjk5NAogbXNnaWQgIml0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gY3JlYXRlICdIRUFEJyBtYW51YWxseSIKIG1zZ3N0ciAia2FuIGludGUgc2thcGEgXCJIRUFEXCIgbWFudWVsbHQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTkzCisjOiBidWlsdGluL2JyYW5jaC5jOjEwMDAKIG1zZ2lkICItYSBhbmQgLXIgb3B0aW9ucyB0byAnZ2l0IGJyYW5jaCcgZG8gbm90IG1ha2Ugc2Vuc2Ugd2l0aCBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICIiCiAiZmxhZ2dvcm5hIC1hIG9jaCAtciBww6UgXCJnaXQgYnJhbmNoXCIga2FuIGludGUgYW5nZXMgdGlsbHNhbW1hbnMgbWVkIGV0dCAiCiAiZ3Jlbm5hbW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTk2CisjOiBidWlsdGluL2JyYW5jaC5jOjEwMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtLXNldC11cHN0cmVhbSBmbGFnIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gQ29uc2lkZXIgdXNpbmcgLS0iCkBAIC0yOTA3LDcgKzMwODIsNyBAQAogIkZsYWdnYW4gLS1zZXQtdXBzdHJlYW0gcmVrb21tZW5kZXJhcyBlaiBvY2gga29tbWVyIHRhcyBib3J0LiBBbnbDpG5kIC0tdHJhY2sgIgogImVsbGVyIC0tc2V0LXVwc3RyZWFtLXRvXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAxMworIzogYnVpbHRpbi9icmFuY2guYzoxMDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTI5MTgsMTIgKzMwOTMsMTIgQEAKICJPbSBkdSB2aWxsIGfDtnJhIHPDpSBhdHQgXCIlc1wiIHNww6VyYXIgXCIlc1wiIGfDtnIgZHUgc8OlIGjDpHI6XG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAxNAorIzogYnVpbHRpbi9icmFuY2guYzoxMDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICBnaXQgYnJhbmNoIC1kICVzXG4iCiBtc2dzdHIgIiAgICBnaXQgYnJhbmNoIC1kICVzXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAxNQorIzogYnVpbHRpbi9icmFuY2guYzoxMDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvICVzXG4iCiBtc2dzdHIgIiAgICBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvICVzXG4iCkBAIC0yOTQxLDQzICszMTE2LDQzIEBACiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gdW5idW5kbGUuIgogbXNnc3RyICJCZWjDtnZlciBldHQgYXJraXYgZsO2ciBhdHQgcGFja2EgdXBwIGV0dCBwYWtldCAoYnVuZGxlKS4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzoyODUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMTIKIG1zZ2lkICJnaXQgY2F0LWZpbGUgKC10fC1zfC1lfC1wfDx0eXBlPnwtLXRleHRjb252KSA8b2JqZWN0PiIKIG1zZ3N0ciAiZ2l0IGNhdC1maWxlICgtdHwtc3wtZXwtcHw8dHlwPnwtLXRleHRjb252KSA8b2JqZWt0PiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjI4NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMxMwogbXNnaWQgImdpdCBjYXQtZmlsZSAoLS1iYXRjaHwtLWJhdGNoLWNoZWNrKSA8IDxsaXN0X29mX29iamVjdHM+IgogbXNnc3RyICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2h8LS1iYXRjaC1jaGVjaykgPCA8b2JqZWt0bGlzdGE+IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzIzCisjOiBidWlsdGluL2NhdC1maWxlLmM6MzUwCiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogbXNnc3RyICI8dHlwPiBrYW4gdmFyYSBlbiBhdjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjQKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNTEKIG1zZ2lkICJzaG93IG9iamVjdCB0eXBlIgogbXNnc3RyICJ2aXNhIG9iamVrdHR5cCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyNQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM1MgogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgInZpc2Egb2JqZWt0c3RvcmxlayIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyNworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM1NAogbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKIG1zZ3N0ciAiYXZzbHV0YSBtZWQgbm9sbCBuw6RyIGRldCBpbnRlIHVwcHN0w6V0dCBuw6Vnb3QgZmVsIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzI4CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzU1CiBtc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgInZpc2Egb2JqZWt0ZXRzIGlubmVow6VsbCBzbnlnZ3QiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMzAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNTcKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gdGV4dGNvbnYgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiZsO2ciBibG9iLW9iamVrdCwga8O2ciB0ZXh0Y29udiBww6Ugb2JqZWt0ZXRzIGlubmVow6VsbCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMzMgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM1OQogbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAidmlzYSBpbmZvcm1hdGlvbiBvY2ggaW5uZWjDpWxsIGbDtnIgb2JqZWt0IHNvbSBsaXN0YXMgcMOlIHN0YW5kYXJkIGluIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzM1CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzYyCiBtc2dpZCAic2hvdyBpbmZvIGFib3V0IG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJ2aXNhIGluZm9ybWF0aW9uIGbDtnIgb2JqZWt0IHNvbSBsaXN0YXMgcMOlIHN0YW5kYXJkIGluIgogCkBAIC0zMDAyLDEwICszMTc3LDEwIEBACiBtc2dzdHIgImzDpHMgZmlsbmFtbiBmcsOlbiBzdGFuZGFyZCBpbiIKIAogIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNAotbXNnaWQgImlucHV0IHBhdGhzIGFyZSB0ZXJtaW5hdGVkIGJ5IGEgbnVsbCBjaGFyYWN0ZXIiCi1tc2dzdHIgInPDtmt2w6RnYXIgYXZkZWxhcyBtZWQgbnVsbC10ZWNrZW4iCittc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgImF2c2x1dGEgaW4tIG9jaCB1dGRhdGFwb3N0ZXIgbWVkIE5VTC10ZWNrZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjEwNTQgYnVpbHRpbi9nYy5jOjE3NworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTA5MCBidWlsdGluL2djLmM6MjU5CiBtc2dpZCAic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJ1bmRlcnRyeWNrIGbDtnJsb3Bwc3JhcHBvcnRlcmluZyIKIApAQCAtMzAxMywyNyArMzE4OCwzMSBAQAogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGlucHV0IHBhdGhzIgogbXNnc3RyICJ2aXNhIGluZGF0YXPDtmt2w6RnYXIgc29tIGludGUgdHLDpGZmYXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTQzCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI4Cittc2dpZCAiaWdub3JlIGluZGV4IHdoZW4gY2hlY2tpbmciCittc2dzdHIgImlnbm9yZXJhIGluZGV4IHZpZCBrb250cm9sbCIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTQKIG1zZ2lkICJjYW5ub3Qgc3BlY2lmeSBwYXRobmFtZXMgd2l0aCAtLXN0ZGluIgogbXNnc3RyICJrYW4gaW50ZSBhbmdlIHPDtmt2w6Rnc25hbW4gbWVkIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTQ2CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NwogbXNnaWQgIi16IG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCAtLXN0ZGluIgogbXNnc3RyICIteiBrYW4gZW5kYXN0IGFudsOkbmRhcyB0aWxsc2FtbWFucyBtZWQgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNDgKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU5CiBtc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCiBtc2dzdHIgImluZ2VuIHPDtmt2w6RnIGFuZ2F2cyIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTIKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYzCiBtc2dpZCAiLS1xdWlldCBpcyBvbmx5IHZhbGlkIHdpdGggYSBzaW5nbGUgcGF0aG5hbWUiCiBtc2dzdHIgIi0tcXVpZXQga2FuIGVuZGFzdCBhbnbDpG5kYXMgbWVkIGV0dCBlbmtlbHQgc8O2a3bDpGdzbmFtbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTQKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY1CiBtc2dpZCAiY2Fubm90IGhhdmUgYm90aCAtLXF1aWV0IGFuZCAtLXZlcmJvc2UiCiBtc2dzdHIgImthbiBpbnRlIGFudsOkbmRhIGLDpWRlIC0tcXVpZXQgb2NoIC0tdmVyYm9zZSIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTcKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY4CiBtc2dpZCAiLS1ub24tbWF0Y2hpbmcgaXMgb25seSB2YWxpZCB3aXRoIC0tdmVyYm9zZSIKIG1zZ3N0ciAiLS1ub24tbWF0Y2hpbmcgw6RyIGVuZGFzdCBnaWx0aWcgbWVkIC0tdmVyYm9zZSIKIApAQCAtMzEwNiwxMDYgKzMyODUsMTA2IEBACiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFtvcHRpb25zXSBbPGJyYW5jaD5dIC0tIDxmaWxlPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0IFtmbGFnZ29yXSBbPGdyZW4+XSAtLSA8ZmlsPi4uLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNyBidWlsdGluL2NoZWNrb3V0LmM6MTUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCiBtc2dzdHIgInPDtmt2w6RnZW4gXCIlc1wiIGhhciBpbnRlIHbDpXIgdmVyc2lvbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOSBidWlsdGluL2NoZWNrb3V0LmM6MTUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgdGhlaXIgdmVyc2lvbiIKIG1zZ3N0ciAic8O2a3bDpGdlbiBcIiVzXCIgaGFyIGludGUgZGVyYXMgdmVyc2lvbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNQorIzogYnVpbHRpbi9jaGVja291dC5jOjEzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBhbGwgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICJzw7ZrdsOkZ2VuIFwiJXNcIiBpbm5laMOlbGxlciBpbnRlIGFsbGEgbsO2ZHbDpG5kaWdhIHZlcnNpb25lciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE3OQorIzogYnVpbHRpbi9jaGVja291dC5jOjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgInPDtmt2w6RnZW4gXCIlc1wiIGlubmVow6VsbGVyIGludGUgbsO2ZHbDpG5kaWdhIHZlcnNpb25lciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE5NgorIzogYnVpbHRpbi9jaGVja291dC5jOjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcyc6IGNhbm5vdCBtZXJnZSIKIG1zZ3N0ciAic8O2a3bDpGcgXCIlc1wiOiBrYW4gaW50ZSBzbMOlIGlob3AiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGFkZCBtZXJnZSByZXN1bHQgZm9yICclcyciCiBtc2dzdHIgIkt1bmRlIGludGUgbMOkZ2dhIHRpbGwgc2FtbWFuc2xhZ25pbmdzcmVzdWx0YXQgZsO2ciBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzcgYnVpbHRpbi9jaGVja291dC5jOjI0MCBidWlsdGluL2NoZWNrb3V0LmM6MjQzCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjQ2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjMyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzUgYnVpbHRpbi9jaGVja291dC5jOjIzOAorIzogYnVpbHRpbi9jaGVja291dC5jOjI0MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggdXBkYXRpbmcgcGF0aHMiCiBtc2dzdHIgIlwiJXNcIiBrYW4gaW50ZSBhbnbDpG5kYXMgdmlkIHVwcGRhdGVyaW5nIGF2IHPDtmt2w6RnYXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDkgYnVpbHRpbi9jaGVja291dC5jOjI1MgorIzogYnVpbHRpbi9jaGVja291dC5jOjI0NCBidWlsdGluL2NoZWNrb3V0LmM6MjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAiXCIlc1wiIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuIgogbXNnc3RyICJLYW4gaW50ZSB1cHBkYXRlcmEgc8O2a3bDpGdhciBvY2ggdsOkeGxhIHRpbGwgZ3JlbmVuIFwiJXNcIiBzYW10aWRpZ3QuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY2IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjEgYnVpbHRpbi9jaGVja291dC5jOjQ1MQogbXNnaWQgImNvcnJ1cHQgaW5kZXggZmlsZSIKIG1zZ3N0ciAiaW5kZXhmaWxlbiDDpHIgdHJhc2lnIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MzI5IGJ1aWx0aW4vY2hlY2tvdXQuYzozMzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMjIgYnVpbHRpbi9jaGVja291dC5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgInPDtmt2w6RnZW4gXCIlc1wiIGhhciBpbnRlIHNsYWdpdHMgaWhvcCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjQ4MAorIzogYnVpbHRpbi9jaGVja291dC5jOjQ3MwogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICJkdSBtw6VzdGUgbMO2c2EgZGl0dCBiZWZpbnRsaWdhIGluZGV4IGbDtnJzdCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYwMQorIzogYnVpbHRpbi9jaGVja291dC5jOjU5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJ1xuIgogbXNnc3RyICJLYW4gaW50ZSBza2FwYSByZWZlcmVuc2xvZyBmw7ZyIFwiJXNcIlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjM5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjMyCiBtc2dpZCAiSEVBRCBpcyBub3cgYXQiCiBtc2dzdHIgIkhFQUQgw6RyIG51IHDDpSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY0NgorIzogYnVpbHRpbi9jaGVja291dC5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLDhXRlcnN0w6RsbCBncmVuIFwiJXNcIlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICJSZWRhbiBww6UgXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYW5kIHJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlbDpHhsYWRlIHRpbGwgb2NoIG5vbGxzdMOkbGxkZSBncmVuZW4gXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NTUgYnVpbHRpbi9jaGVja291dC5jOjk5NworIzogYnVpbHRpbi9jaGVja291dC5jOjY0OCBidWlsdGluL2NoZWNrb3V0LmM6MTAzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJWw6R4bGFkZSB0aWxsIGVuIG55IGdyZW4gXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiVsOkeGxhZGUgdGlsbCBncmVuZW4gXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIC4uLiBvY2ggJWQgdGlsbC5cbiIKIAogIy4gVGhlIHNpbmd1bGFyIHZlcnNpb24KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MTkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXQgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCkBAIC0zMjI4LDcgKzM0MDcsNyBAQAogIlxuIgogIiVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIGtlZXAgdGhlbSBieSBjcmVhdGluZyBhIG5ldyBicmFuY2gsIHRoaXMgbWF5IGJlIGEgZ29vZCB0aW1lXG4iCkBAIC0zMjQzLDEzNiArMzQyMiwxNDAgQEAKICIgZ2l0IGJyYW5jaCBueXR0X2dyZW5uYW1uICVzXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjAKIG1zZ2lkICJpbnRlcm5hbCBlcnJvciBpbiByZXZpc2lvbiB3YWxrIgogbXNnc3RyICJpbnRlcm50IGZlbCB2aWQgZ2Vub21nw6VuZyBhdiByZXZpc2lvbmVyIChyZXZpc2lvbiB3YWxrKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc3MQorIzogYnVpbHRpbi9jaGVja291dC5jOjc2NAogbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgogbXNnc3RyICJUaWRpZ2FyZSBwb3NpdGlvbiBmw7ZyIEhFQUQgdmFyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk4IGJ1aWx0aW4vY2hlY2tvdXQuYzo5OTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTEgYnVpbHRpbi9jaGVja291dC5jOjEwMjgKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJEdSDDpHIgcMOlIGVuIGdyZW4gc29tIMOkbm51IGludGUgw6RyIGbDtmRkIgogCi0jLiBjYXNlICgxKQotIzogYnVpbHRpbi9jaGVja291dC5jOjkyOAorIzogYnVpbHRpbi9jaGVja291dC5jOjkzNQorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQsICVkIGdpdmVuLiIKK21zZ3N0ciAiZW5kYXN0IGVuIHJlZmVyZW5zIGbDtnJ2w6RudGFkZXMsICVkIGdhdnMuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAiZmVsYWt0aWcgcmVmZXJlbnM6ICVzIgogCiAjLiBjYXNlICgxKTogd2FudCBhIHRyZWUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDAzCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSBpcyBub3QgYSB0cmVlOiAlcyIKIG1zZ3N0ciAicmVmZXJlbnNlbiDDpHIgaW50ZSBldHQgdHLDpGQ6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwNgorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNDIKIG1zZ2lkICJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAic8O2a3bDpGdhciBrYW4gaW50ZSBhbnbDpG5kYXMgdmlkIGJ5dGUgYXYgZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDkgYnVpbHRpbi9jaGVja291dC5jOjEwMTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQ1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIlwiJXNcIiBrYW4gaW50ZSBhbnbDpG5kYXMgdmlkIGJ5dGUgYXYgZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTcgYnVpbHRpbi9jaGVja291dC5jOjEwMjAgYnVpbHRpbi9jaGVja291dC5jOjEwMjUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDI4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1MyBidWlsdGluL2NoZWNrb3V0LmM6MTA1NiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciCiBtc2dzdHIgIlwiJXNcIiBrYW4gaW50ZSBhbnbDpG5kYXMgbWVkIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMzMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICJLYW4gaW50ZSB2w6R4bGEgZ3JlbiB0aWxsIGlja2UtaW5jaGVja25pbmdlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU3IGJ1aWx0aW4vY2xvbmUuYzo4OQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTEgYnVpbHRpbi9jaGVja291dC5jOjEwOTMgYnVpbHRpbi9jbG9uZS5jOjg4CiAjOiBidWlsdGluL3JlbW90ZS5jOjE2OSBidWlsdGluL3JlbW90ZS5jOjE3MQogbXNnaWQgImJyYW5jaCIKIG1zZ3N0ciAiZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkyCiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgInNrYXBhIG9jaCBjaGVja2EgdXQgZW4gbnkgZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk0CiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAic2thcGEvbm9sbHN0w6RsbCBvY2ggY2hlY2thIHV0IGVuIGdyZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NQogbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgInNrYXBhIHJlZmxvZ2cgZsO2ciBueSBncmVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTYKIG1zZ2lkICJkZXRhY2ggdGhlIEhFQUQgYXQgbmFtZWQgY29tbWl0IgogbXNnc3RyICJrb3BwbGEgZnLDpW4gSEVBRCB2aWQgbmFtbmdpdmVuIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTcKIG1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAic8OkdHQgdXBwc3Ryw7Ztc2luZm9ybWF0aW9uIGbDtnIgbnkgZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk5CiBtc2dpZCAibmV3IGJyYW5jaCIKIG1zZ3N0ciAibnkgZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk5CiBtc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgogbXNnc3RyICJueSBncmVuIHV0YW4gZsO2csOkbGRlciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCiBtc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICJjaGVja2EgdXQgdsOlciB2ZXJzaW9uIGbDtnIgZWogc2FtbWFuc2xhZ25hIGZpbGVyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDIKIG1zZ2lkICJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAiY2hlY2thIHV0IGRlcmFzIHZlcnNpb24gZsO2ciBlaiBzYW1tYW5zbGFnbmEgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNAogbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgogbXNnc3RyICJ0dmluZ2EgdXRjaGVja25pbmcgKGthc3RhIGJvcnQgbG9rYWxhIMOkbmRyaW5nYXIpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDUKIG1zZ2lkICJwZXJmb3JtIGEgMy13YXkgbWVyZ2Ugd2l0aCB0aGUgbmV3IGJyYW5jaCIKIG1zZ3N0ciAidXRmw7ZyIGVuIDMtdsOkZ3NzYW1tYW5zbGFnbmluZyBmw7ZyIGRlbiBueWEgZ3JlbmVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3MCBidWlsdGluL21lcmdlLmM6MjMyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNiBidWlsdGluL21lcmdlLmM6MjMyCiBtc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgogbXNnc3RyICJ1cHBkYXRlcmEgaWdub3JlcmFkZSBmaWxlciAoc3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3MSBidWlsdGluL2xvZy5jOjEyMDggcGFyc2Utb3B0aW9ucy5oOjI0OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDcgYnVpbHRpbi9sb2cuYzoxMjI4IHBhcnNlLW9wdGlvbnMuaDoyNTEKIG1zZ2lkICJzdHlsZSIKIG1zZ3N0ciAic3RpbCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA4CiBtc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKIG1zZ3N0ciAia29uZmxpa3RzdGlsIChtZXJnZSBlbGxlciBkaWZmMykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTExMQogbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKIG1zZ3N0ciAiYmVncsOkbnNhIGludGUgc8O2a3bDpGdhciB0aWxsIGVuZGFzdCBnbGVzYSBwb3N0ZXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTExMwogbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IG5vLXN1Y2gtYnJhbmNoJyIKIG1zZ3N0ciAiZsO2cnV0c3DDpSBcImdpdCBjaGVja291dCBncmVuLXNha25hc1wiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwMQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMzYKIG1zZ2lkICItYiwgLUIgYW5kIC0tb3JwaGFuIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiBvY2ggLS1vcnBoYW4gw6RyIMO2bXNlc2lkaWd0IHV0ZXNsdXRhbmRlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTExOAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIi0tdHJhY2sgYmVow7Z2ZXIgZXR0IG5hbW4gcMOlIGVuIGdyZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MAogbXNnaWQgIk1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAiR3Jlbm5hbW4gc2FrbmFzOyBmw7Zyc8O2ayBtZWQgLWIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5NwogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICJmZWxha3RpZyBzw7ZrdsOkZ3NhbmdpdmVsc2UiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuXG4iCkBAIC0zMzgxLDEyICszNTY0LDEyIEBACiAiS2FuIGludGUgdXBwZGF0ZXJhIHPDtmt2w6RnYXIgb2NoIHbDpHhsYSB0aWxsIGdyZW5lbiBcIiVzXCIgc2FtdGlkaWd0LlxuIgogIlZpbGxlIGR1IGNoZWNrYSB1dCBcIiVzXCIgc29tIGludGUga2FuIGzDtnNhcyBzb20gZW4gdXRjaGVja25pbmc/IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3MgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBkb2VzIG5vdCB0YWtlIGEgcGF0aCBhcmd1bWVudCAnJXMnIgogbXNnc3RyICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIHRhciBpbnRlIGVuIHPDtmt2w6RnIHNvbSBhcmd1bWVudCBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTc2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxMwogbXNnaWQgIiIKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKICJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIKQEAgLTMzOTQsMzkgKzM1NzcsMzkgQEAKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBvY2ggLS1tZXJnZSDDpHIgaW5rb21wYXRpYmxhIG7DpHJcbiIKICJkdSBjaGVja2FyIHV0IGZyw6VuIGluZGV4ZXQuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjUKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyNgogbXNnaWQgIiIKICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA8cGF0dGVybj5dIFsteCB8IC1YXSBbLS1dIDxwYXRocz4uLi4iCiBtc2dzdHIgIiIKICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA8bcO2bnN0ZXI+XSBbLXggfCAtWF0gWy0tXSAiCiAiPHPDtmt2w6RnYXI+Li4uIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjkKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlc1xuIgogbXNnc3RyICJUYXIgYm9ydCAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzAKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMQogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCByZW1vdmUgJXNcbiIKIG1zZ3N0ciAiU2t1bGxlIHRhIGJvcnQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICJIb3BwYXIgw7Z2ZXIgYXJraXZldCAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMwogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCBza2lwIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAiU2t1bGxlIGhvcHBhIMO2dmVyIGFya2l2ZXQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMzCisjOiBidWlsdGluL2NsZWFuLmM6MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHRhIGJvcnQgJXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTMKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyOTQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCiAiMSAgICAgICAgICAtIHNlbGVjdCBhIG51bWJlcmVkIGl0ZW1cbiIKQEAgLTM0MzgsNyArMzYyMSw3IEBACiAiZm9vICAgICAgICAtIG1hcmtlcmEgcG9zdCBiYXNlcmFkIHDDpSB1bmlrdCBwcmVmaXhcbiIKICIgICAgICAgICAgIC0gKHRvbXQpIG1hcmtlcmEgaW5nZW50aW5nIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Mjk3CisjOiBidWlsdGluL2NsZWFuLmM6Mjk4CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgogIjEgICAgICAgICAgLSBzZWxlY3QgYSBzaW5nbGUgaXRlbVxuIgpAQCAtMzQ1OCwzNSArMzY0MSwzNSBAQAogIiogICAgICAgICAgLSB2w6RsaiBhbGxhIHBvc3RlclxuIgogIiAgICAgICAgICAgLSAodG9tdCkgYXZzbHV0YSBtYXJrZXJpbmciCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo1MTUKKyM6IGJ1aWx0aW4vY2xlYW4uYzo1MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVoICglcyk/IgogbXNnc3RyICJWYWTDpSAoJXMpPyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY1OAorIzogYnVpbHRpbi9jbGVhbi5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCiBtc2dzdHIgIkFuZ2UgaWdub3JlcmluZ3Ntw7Zuc3Rlcj4+IgogCi0jOiBidWlsdGluL2NsZWFuLmM6Njk1CisjOiBidWlsdGluL2NsZWFuLmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgogbXNnc3RyICJWQVJOSU5HOiBIaXR0YXIgaW50ZSBwb3N0ZXIgc29tIG1vdHN2YXJhcjogJXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3MTYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3MTcKIG1zZ2lkICJTZWxlY3QgaXRlbXMgdG8gZGVsZXRlIgogbXNnc3RyICJWw6RsaiBwb3N0ZXIgYXR0IHRhIGJvcnQiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3NTYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3ZlICVzPyAiCiBtc2dzdHIgInRhIGJvcnQgJXM/IgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzgxCisjOiBidWlsdGluL2NsZWFuLmM6NzgyCiBtc2dpZCAiQnllLiIKIG1zZ3N0ciAiSGVqIGTDpS4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3OTAKIG1zZ2lkICIiCiAiY2xlYW4gICAgICAgICAgICAgICAtIHN0YXJ0IGNsZWFuaW5nXG4iCiAiZmlsdGVyIGJ5IHBhdHRlcm4gICAtIGV4Y2x1ZGUgaXRlbXMgZnJvbSBkZWxldGlvblxuIgpAQCAtMzUwNCwyMSArMzY4NywyMSBAQAogImhlbHAgICAgICAgICAgICAgICAgLSBkZW5uYSBza8Okcm1cbiIKICI/ICAgICAgICAgICAgICAgICAgIC0gaGrDpGxwIGbDtnIga29tbWFuZG92YWwiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MTcKIG1zZ2lkICIqKiogQ29tbWFuZHMgKioqIgogbXNnc3RyICIqKiogS29tbWFuZG9uICoqKiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxNworIzogYnVpbHRpbi9jbGVhbi5jOjgxOAogbXNnaWQgIldoYXQgbm93IgogbXNnc3RyICJWYWQgbnUiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjUKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjYKIG1zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKIG1zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgogbXNnc3RyWzBdICJTa3VsbGUgdGEgYm9ydCBmw7ZsamFuZGUgcG9zdDoiCiBtc2dzdHJbMV0gIlNrdWxsZSB0YSBib3J0IGbDtmxqYW5kZSBwb3N0ZXI6IgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODQyCisjOiBidWlsdGluL2NsZWFuLmM6ODQzCiBtc2dpZCAiTm8gbW9yZSBmaWxlcyB0byBjbGVhbiwgZXhpdGluZy4iCiBtc2dzdHIgIkluZ2EgZmxlciBmaWxlciBhdHQgc3TDpGRhLCBhdnNsdXRhci4iCiAKQEAgLTM1MzgsOCArMzcyMSw4IEBACiBtc2dpZCAicmVtb3ZlIHdob2xlIGRpcmVjdG9yaWVzIgogbXNnc3RyICJ0YSBib3J0IGhlbGEga2F0YWxvZ2VyIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODgwIGJ1aWx0aW4vZGVzY3JpYmUuYzo0MjAgYnVpbHRpbi9ncmVwLmM6NzE2Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDkzIGJ1aWx0aW4vbmFtZS1yZXYuYzozMTUgYnVpbHRpbi9zaG93LXJlZi5jOjE4NgorIzogYnVpbHRpbi9jbGVhbi5jOjg4MCBidWlsdGluL2Rlc2NyaWJlLmM6NDIwIGJ1aWx0aW4vZ3JlcC5jOjcxOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MyBidWlsdGluL25hbWUtcmV2LmM6MzE1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODUKIG1zZ2lkICJwYXR0ZXJuIgogbXNnc3RyICJtw7Zuc3RlciIKIApAQCAtMzU3OSw4ICszNzYyLDggQEAKIG1zZ2lkICJnaXQgY2xvbmUgW29wdGlvbnNdIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBbZmxhZ2dvcl0gWy0tXSA8YXJraXY+IFs8a2F0Pl0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NCBidWlsdGluL2ZldGNoLmM6ODIgYnVpbHRpbi9tZXJnZS5jOjIyOQotIzogYnVpbHRpbi9wdXNoLmM6NDYyCisjOiBidWlsdGluL2Nsb25lLmM6NjQgYnVpbHRpbi9mZXRjaC5jOjk2IGJ1aWx0aW4vbWVyZ2UuYzoyMjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3NAogbXNnaWQgImZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAidHZpbmdhIGbDtnJsb3Bwc3JhcHBvcnRlcmluZyIKIApAQCAtMzU5MiwxMjMgKzM3NzUsMTIzIEBACiBtc2dpZCAiY3JlYXRlIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJza2FwYSBldHQgbmFrZXQgKFwiYmFyZVwiKSBhcmtpdiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcyCisjOiBidWlsdGluL2Nsb25lLmM6NzEKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAic2thcGEgZXR0IHNwZWdlbGFya2l2IChpbXBsaWNlcmFyIFwiYmFyZVwiKSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc0CisjOiBidWlsdGluL2Nsb25lLmM6NzMKIG1zZ2lkICJ0byBjbG9uZSBmcm9tIGEgbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiZsO2ciBhdHQga2xvbmEgZnLDpW4gZXR0IGxva2FsdCBhcmtpdiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2CisjOiBidWlsdGluL2Nsb25lLmM6NzUKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAic2thcGEgaW50ZSBsb2thbGEgaMOlcmRhIGzDpG5rYXIsIGtvcGllcmEgYWxsdGlkIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NwogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICJza2FwYSBzb20gZXR0IGRlbGF0IGFya2l2IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODAgYnVpbHRpbi9jbG9uZS5jOjgyCisjOiBidWlsdGluL2Nsb25lLmM6NzkgYnVpbHRpbi9jbG9uZS5jOjgxCiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAiaW5pdGllcmEgdW5kZXJtb2R1bGVyIGkga2xvbmVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDg1CisjOiBidWlsdGluL2Nsb25lLmM6ODIgYnVpbHRpbi9pbml0LWRiLmM6NDg1CiBtc2dpZCAidGVtcGxhdGUtZGlyZWN0b3J5IgogbXNnc3RyICJtYWxsa2F0YWxvZyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgorIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgogbXNnaWQgImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiCiBtc2dzdHIgImthdGFsb2cgYXR0IGFudsOkbmRhIG1hbGxhciBmcsOlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2CisjOiBidWlsdGluL2Nsb25lLmM6ODUKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKIG1zZ3N0ciAicmVmZXJlbnNhcmtpdiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg3IGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CiBtc2dpZCAibmFtZSIKIG1zZ3N0ciAibmFtbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4CisjOiBidWlsdGluL2Nsb25lLmM6ODcKIG1zZ2lkICJ1c2UgPG5hbWU+IGluc3RlYWQgb2YgJ29yaWdpbicgdG8gdHJhY2sgdXBzdHJlYW0iCiBtc2dzdHIgImFudsOkbmQgPG5hbW4+IGlzdMOkbGxldCBmw7ZyIFwib3JpZ2luXCIgZsO2ciBhdHQgc3DDpXJhIHVwcHN0csO2bXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MAorIzogYnVpbHRpbi9jbG9uZS5jOjg5CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKIG1zZ3N0ciAiY2hlY2thIHV0IDxncmVuPiBpc3TDpGxsZXQgZsO2ciBmasOkcnJlbnMgSEVBRCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyCisjOiBidWlsdGluL2Nsb25lLmM6OTEKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICJzw7ZrdsOkZyB0aWxsIGdpdC11cGxvYWQtcGFjayBww6UgZmrDpHJyZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MyBidWlsdGluL2ZldGNoLmM6ODMgYnVpbHRpbi9ncmVwLmM6NjYxCisjOiBidWlsdGluL2Nsb25lLmM6OTIgYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vZ3JlcC5jOjY2MwogbXNnaWQgImRlcHRoIgogbXNnc3RyICJkanVwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MwogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgb2YgdGhhdCBkZXB0aCIKIG1zZ3N0ciAic2thcGEgZW4gZ3J1bmQga2xvbiBww6UgZGV0dGEgZGp1cCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk2CisjOiBidWlsdGluL2Nsb25lLmM6OTUKIG1zZ2lkICJjbG9uZSBvbmx5IG9uZSBicmFuY2gsIEhFQUQgb3IgLS1icmFuY2giCiBtc2dzdHIgImtsb25hIGVuZGFzdCBlbiBncmVuLCBIRUFEIGVsbGVyIC0tYnJhbmNoIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcgYnVpbHRpbi9pbml0LWRiLmM6NDk0CisjOiBidWlsdGluL2Nsb25lLmM6OTYgYnVpbHRpbi9pbml0LWRiLmM6NDk0CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICJnaXRrYXQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OCBidWlsdGluL2luaXQtZGIuYzo0OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NyBidWlsdGluL2luaXQtZGIuYzo0OTUKIG1zZ2lkICJzZXBhcmF0ZSBnaXQgZGlyIGZyb20gd29ya2luZyB0cmVlIgogbXNnc3RyICJzZXBhcmVyYSBnaXRrYXRhbG9nZW4gZnLDpW4gYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OAogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAibnlja2VsPXbDpHJkZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMAorIzogYnVpbHRpbi9jbG9uZS5jOjk5CiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICJzdMOkbGwgaW4ga29uZmlndXJhdGlvbiBpIGRldCBueWEgYXJraXZldCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjI1MworIzogYnVpbHRpbi9jbG9uZS5jOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgogbXNnc3RyICJyZWZlcmVuc2Fya2l2ZXQgXCIlc1wiIMOkciBpbnRlIGV0dCBsb2thbHQgYXJraXYuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzE2CisjOiBidWlsdGluL2Nsb25lLmM6MzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSBrYXRhbG9nZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzE4IGJ1aWx0aW4vZGlmZi5jOjc3CisjOiBidWlsdGluL2Nsb25lLmM6MzE3IGJ1aWx0aW4vZGlmZi5jOjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBzdGF0dXMgcMOlIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMyMAorIzogYnVpbHRpbi9jbG9uZS5jOjMxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgZmlubnMgb2NoIMOkciBpbmdlbiBrYXRhbG9nIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzM0CisjOiBidWlsdGluL2Nsb25lLmM6MzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBzdGF0dXMgcMOlICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozNTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzozNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSBsw6Rua2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM2MAorIzogYnVpbHRpbi9jbG9uZS5jOjM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBrb3BpZXJhIGZpbGVuIHRpbGwgXCIlc1wiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzgzCisjOiBidWlsdGluL2Nsb25lLmM6MzgyIGJ1aWx0aW4vY2xvbmUuYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uZS5cbiIKIG1zZ3N0ciAia2xhcnQuXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozOTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzozOTUKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgpAQCAtMzcxOCwxMDUgKzM5MDEsMTAwIEBACiAiRHUga2FuIGluc3Bla3RlcmEgZGV0IHNvbSBjaGVja2FkZXMgdXQgbWVkIFwiZ2l0IHN0YXR1c1wiXG4iCiAib2NoIGbDtnJzw7ZrYSBjaGVja2EgdXQgaWdlbiBtZWQgXCJnaXQgY2hlY2tvdXQgLWYgSEVBRFwiXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCiBtc2dzdHIgIkt1bmRlIGludGUgaGl0dGEgZmrDpHJyZ3JlbmVuICVzIGbDtnIgYXR0IGtsb25hLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjU1NQorIzogYnVpbHRpbi9jbG9uZS5jOjU1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkuLi4gIgogbXNnc3RyICJLb250cm9sbGVyYXIgYW5zbHV0bmluZy4uLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjU1OAorIzogYnVpbHRpbi9jbG9uZS5jOjU1NwogbXNnaWQgInJlbW90ZSBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzIgogbXNnc3RyICJmasOkcnJlbiBzw6RuZGUgaW50ZSBhbGxhIG7DtmR2w6RuZGlnYSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1NjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZG9uZVxuIgotbXNnc3RyICJrbGFydFxuIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NjIxCisjOiBidWlsdGluL2Nsb25lLmM6NjIwCiBtc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgogbXNnc3RyICIiCiAiSEVBRCBob3MgZmrDpHJyZW4gcGVrYXIgcMOlIGVuIG9iZWZpbnRsaWcgcmVmZXJlbnMsIGthbiBpbnRlIGNoZWNrYSB1dC5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY1MgorIzogYnVpbHRpbi9jbG9uZS5jOjY1MQogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImt1bmRlIGludGUgY2hlY2thIHV0IGFyYmV0c2thdGFsb2dlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2MAorIzogYnVpbHRpbi9jbG9uZS5jOjc1OQogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgIkbDtnIgbcOlbmdhIGFyZ3VtZW50LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2NAorIzogYnVpbHRpbi9jbG9uZS5jOjc2MwogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKIG1zZ3N0ciAiRHUgbcOlc3RlIGFuZ2UgZXR0IGFya2l2IGF0dCBrbG9uYS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1iYXJlIGFuZCAtLW9yaWdpbiAlcyBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICJmbGFnZ29ybmEgLS1iYXJlIG9jaCAtLW9yaWdpbiAlcyDDpHIgaW5rb21wYXRpYmxhLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc3OAorIzogYnVpbHRpbi9jbG9uZS5jOjc3NwogbXNnaWQgIi0tYmFyZSBhbmQgLS1zZXBhcmF0ZS1naXQtZGlyIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICJmbGFnZ29ybmEgLS1iYXJlIG9jaCAtLXNlcGFyYXRlLWdpdC1kaXIgw6RyIGlua29tcGF0aWJsYS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3OTEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwb3NpdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJhcmtpdmV0IFwiJXNcIiBmaW5ucyBpbnRlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzk2CisjOiBidWlsdGluL2Nsb25lLmM6Nzk1CiBtc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIi0tZGVwdGggaWdub3JlcmFzIGkgbG9rYWxhIGtsb25pbmdhcjsgYW52w6RuZCBmaWxlOi8vIGlzdMOkbGxldCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc5OAorIzogYnVpbHRpbi9jbG9uZS5jOjc5NwogbXNnaWQgIi0tbG9jYWwgaXMgaWdub3JlZCIKIG1zZ3N0ciAiLS1sb2NhbCBpZ25vcmVyYXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gcGF0aCAnJXMnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYW4gZW1wdHkgZGlyZWN0b3J5LiIKIG1zZ3N0ciAiZGVzdGluYXRpb25zc8O2a3bDpGdlbiBcIiVzXCIgZmlubnMgcmVkYW4gb2NoIMOkciBpbnRlIGVuIHRvbSBrYXRhbG9nLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgxOAorIzogYnVpbHRpbi9jbG9uZS5jOjgxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgImFyYmV0c3Ryw6RkZXQgXCIlc1wiIGZpbm5zIHJlZGFuLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzMSBidWlsdGluL2Nsb25lLmM6ODQzCisjOiBidWlsdGluL2Nsb25lLmM6ODMwIGJ1aWx0aW4vY2xvbmUuYzo4NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc2thcGEgaW5sZWRhbmRlIGthdGFsb2dlciBmw7ZyIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzNAorIzogYnVpbHRpbi9jbG9uZS5jOjgzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJy4iCiBtc2dzdHIgImt1bmRlIGludGUgc2thcGEgYXJiZXRza2F0YWxvZ2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg1MworIzogYnVpbHRpbi9jbG9uZS5jOjg1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAiS2xvbmFyIHRpbGwgZXR0IG5ha2V0IGFya2l2IFwiJXNcIi4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODU1CisjOiBidWlsdGluL2Nsb25lLmM6ODU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byAnJXMnLi4uXG4iCiBtc2dzdHIgIktsb25hciB0aWxsIFwiJXNcIi4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODkwCisjOiBidWlsdGluL2Nsb25lLmM6ODg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGNsb25lICVzIgogbXNnc3RyICJWZXQgaW50ZSBodXIgbWFuIGtsb25hciAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0MgorIzogYnVpbHRpbi9jbG9uZS5jOjkzOSBidWlsdGluL2Nsb25lLmM6OTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgogbXNnc3RyICJGasOkcnJncmVuZW4gJXMgaGl0dGFkZXMgaW50ZSBpIHVwcHN0csO2bXNhcmtpdmV0ICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQ5CisjOiBidWlsdGluL2Nsb25lLmM6OTUwCiBtc2dpZCAiWW91IGFwcGVhciB0byBoYXZlIGNsb25lZCBhbiBlbXB0eSByZXBvc2l0b3J5LiIKIG1zZ3N0ciAiRHUgdmVya2FyIGhhIGtsb25hdCBldHQgdG9tdCBhcmtpdi4iCiAKQEAgLTM4NTIsMTUgKzQwMzAsMTUgQEAKIG1zZ2lkICItLWNvbW1hbmQgbXVzdCBiZSB0aGUgZmlyc3QgYXJndW1lbnQiCiBtc2dzdHIgIi0tY29tbWFuZCBtw6VzdGUgdmFyYSBmw7Zyc3RhIGFyZ3VtZW50IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1CisjOiBidWlsdGluL2NvbW1pdC5jOjM2CiBtc2dpZCAiZ2l0IGNvbW1pdCBbb3B0aW9uc10gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgY29tbWl0IFtmbGFnZ29yXSBbLS1dIDxzw7ZrdsOkZz4uLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDEKIG1zZ2lkICJnaXQgc3RhdHVzIFtvcHRpb25zXSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBzdGF0dXMgW2ZsYWdnb3JdIFstLV0gPHPDtmt2w6RnPi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NQorIzogYnVpbHRpbi9jb21taXQuYzo0NgogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC0zODg1LDcgKzQwNjMsNyBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NworIzogYnVpbHRpbi9jb21taXQuYzo1OAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gYW1lbmQgdGhlIG1vc3QgcmVjZW50IGNvbW1pdCwgYnV0IGRvaW5nIHNvIHdvdWxkIG1ha2VcbiIKICJpdCBlbXB0eS4gWW91IGNhbiByZXBlYXQgeW91ciBjb21tYW5kIHdpdGggLS1hbGxvdy1lbXB0eSwgb3IgeW91IGNhblxuIgpAQCAtMzg5NSw3ICs0MDczLDcgQEAKICJibGlyIGRlbiB0b20uIER1IGthbiBrw7ZyYSBrb21tYW5kb3QgcMOlIG55dHQgbWVkIC0tYWxsb3ctZW1wdHksIGVsbGVyXG4iCiAic8OlIGthbiBkdSB0YSBib3J0IGluY2hlY2tuaW5nZW4gaGVsdCBtZWQgXCJnaXQgcmVzZXQgSEVBRF5cIi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MgorIzogYnVpbHRpbi9jb21taXQuYzo2MwogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCkBAIC0zOTA5LDExICs0MDg3LDExIEBACiAiICAgIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eVxuIgogIlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5CisjOiBidWlsdGluL2NvbW1pdC5jOjcwCiBtc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgcmVzZXQnXG4iCiBtc2dzdHIgIkFudsOkbmQgYW5uYXJzIFwiZ2l0IHJlc2V0XCJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MgorIzogYnVpbHRpbi9jb21taXQuYzo3MwogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBza2lwIHRoaXMgY29tbWl0LCB1c2U6XG4iCiAiXG4iCkBAIC0zOTI5LDkzICs0MTA3LDkzIEBACiAiXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIGtvbW1lciBkw6RyZWZ0ZXIgYXR0IMOldGVydXBwdGFcbiIKICJjaGVycnktcGljayBmw7ZyIMOldGVyc3TDpWVuZGUgaW5jaGVja25pbmdhci5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoyNzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mjg3CiBtc2dpZCAiZmFpbGVkIHRvIHVucGFjayBIRUFEIHRyZWUgb2JqZWN0IgogbXNnc3RyICJtaXNzbHlja2FkZXMgcGFja2EgdXBwIEhFQUQ6cyB0csOkZG9iamVrdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzI5CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgImt1bmRlIGludGUgc2thcGEgdGVtcG9yw6RyIGluZGV4ZmlsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjMyNworIzogYnVpbHRpbi9jb21taXQuYzozMzUKIG1zZ2lkICJpbnRlcmFjdGl2ZSBhZGQgZmFpbGVkIgogbXNnc3RyICJpbnRlcmFrdGl2IHRpbGzDpGdnbmluZyBtaXNzbHlja2FkZXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzYwIGJ1aWx0aW4vY29tbWl0LmM6MzgxIGJ1aWx0aW4vY29tbWl0LmM6NDMxCisjOiBidWlsdGluL2NvbW1pdC5jOjM2OCBidWlsdGluL2NvbW1pdC5jOjM4OSBidWlsdGluL2NvbW1pdC5jOjQzOQogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXdfaW5kZXggZmlsZSIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgZmlsZW4gbmV3X2luZGV4IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQxMgorIzogYnVpbHRpbi9jb21taXQuYzo0MjAKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBtZXJnZS4iCiBtc2dzdHIgImthbiBpbnRlIHV0ZsO2cmEgZW4gZGVsdmlzIGluY2hlY2tuaW5nIHVuZGVyIGVuIHNhbW1hbnNsYWduaW5nLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDIyCiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICJrYW4gaW50ZSB1dGbDtnJhIGVuIGRlbHZpcyBpbmNoZWNrbmluZyB1bmRlciBlbiBjaGVycnktcGljay4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDI0CisjOiBidWlsdGluL2NvbW1pdC5jOjQzMgogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAia2FuIGludGUgbMOkc2EgaW5kZXhldCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDUyCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRlbXBvcmFyeSBpbmRleCBmaWxlIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSB0ZW1wb3LDpHIgaW5kZXhmaWwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTM1IGJ1aWx0aW4vY29tbWl0LmM6NTQxCisjOiBidWlsdGluL2NvbW1pdC5jOjU0MyBidWlsdGluL2NvbW1pdC5jOjU0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbW1pdDogJXMiCiBtc2dzdHIgImZlbGFrdGlnIGluY2hlY2tuaW5nOiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTcxCiBtc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKIG1zZ3N0ciAiZmVsZm9ybWFkIFwiLS1hdXRob3JcIi1mbGFnZ2EiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTgzCisjOiBidWlsdGluL2NvbW1pdC5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaWRlbnQgc3RyaW5nOiAnJXMnIgogbXNnc3RyICJGZWxha3RpZyBpbmRyYWduaW5nc3N0csOkbmc6IFwiJXNcIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MjEgYnVpbHRpbi9jb21taXQuYzo2NTQgYnVpbHRpbi9jb21taXQuYzo5ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjMwIGJ1aWx0aW4vY29tbWl0LmM6NjYzIGJ1aWx0aW4vY29tbWl0LmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIGNvbW1pdCAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBzbMOlIHVwcCBpbmNoZWNrbmluZ2VuICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYzMyBidWlsdGluL3Nob3J0bG9nLmM6MjcxCisjOiBidWlsdGluL2NvbW1pdC5jOjY0MiBidWlsdGluL3Nob3J0bG9nLmM6MjczCiAjLCBjLWZvcm1hdAogbXNnaWQgIihyZWFkaW5nIGxvZyBtZXNzYWdlIGZyb20gc3RhbmRhcmQgaW5wdXQpXG4iCiBtc2dzdHIgIihsw6RzZXIgbG9nZ21lZGRlbGFuZGUgZnLDpW4gc3RhbmRhcmQgaW4pXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjM1CisjOiBidWlsdGluL2NvbW1pdC5jOjY0NAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIGxvZ2cgZnLDpW4gc3RhbmRhcmQgaW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjM5CisjOiBidWlsdGluL2NvbW1pdC5jOjY0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZmlsZSAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIGxvZ2dmaWxlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjY1NAogbXNnaWQgImNvbW1pdCBoYXMgZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAiaW5jaGVja25pbmdlbiBoYXIgZXR0IHRvbXQgbWVkZGVsYW5kZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjcwCiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTVNHIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIE1FUkdFX01TRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Njc0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgU1FVQVNIX01TRyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBTUVVBU0hfTVNHIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY2OQorIzogYnVpbHRpbi9jb21taXQuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzMwCisjOiBidWlsdGluL2NvbW1pdC5jOjc0OQogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBjb21taXQgdGVtcGxhdGUiCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIGluY2hlY2tuaW5nc21hbGwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQxCisjOiBidWlsdGluL2NvbW1pdC5jOjc2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC00MDMwLDcgKzQyMDgsNyBAQAogIlx0JXNcbiIKICJvY2ggZsO2cnPDtmtlciBpZ2VuLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc0NgorIzogYnVpbHRpbi9jb21taXQuYzo3NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNDA0NSw3ICs0MjIzLDcgQEAKICJcdCVzXG4iCiAib2NoIGbDtnJzw7ZrZXIgaWdlbi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC00MDU1LDcgKzQyMzMsNyBAQAogIm1lZCBcIiVjXCIga29tbWVyIGlnbm9yZXJhcywgb2NoIGV0dCB0b210IG1lZGRlbGFuZGUgYXZicnl0ZXIgIgogImluY2hlY2tuaW5nZW4uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzYzCisjOiBidWlsdGluL2NvbW1pdC5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtNDA2NiwxMzkgKzQyNDQsMTM5IEBACiAibWVkIFwiJWNcIiBrb21tZXIgYmVow6VsbGFzOyBkdSBrYW4gc2rDpGx2IHRhIGJvcnQgZGVtIG9tIGR1IHZpbGwuXG4iCiAiRXR0IHRvbXQgbWVkZGVsYW5kZSBhdmJyeXRlciBpbmNoZWNrbmluZ2VuLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc3NgorIzogYnVpbHRpbi9jb21taXQuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNBdXRob3I6ICAgICVzIgogbXNnc3RyICIlc0bDtnJmYXR0YXJlOiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3ODMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQ29tbWl0dGVyOiAlcyIKIG1zZ3N0ciAiJXNJbmNoZWNrYXJlOiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODIyCiBtc2dpZCAiQ2Fubm90IHJlYWQgaW5kZXgiCiBtc2dzdHIgIkthbiBpbnRlIGzDpHNhIGluZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NQogbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICJGZWwgdmlkIGJ5Z2dhbmRlIGF2IHRyw6RkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg2MCBidWlsdGluL3RhZy5jOjM1OQorIzogYnVpbHRpbi9jb21taXQuYzo4ODAgYnVpbHRpbi90YWcuYzozNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgogbXNnc3RyICJBbmdlIG1lZGRlbGFuZGV0IGVuIGF2IGZsYWdnb3JuYSAtbSBlbGxlciAtRi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGV4aXN0aW5nIGF1dGhvciBmb3VuZCB3aXRoICclcyciCiBtc2dzdHIgIkhpdHRhZGUgaW5nZW4gYmVmaW50bGlnIGbDtnJmYXR0YXJlIG1lZCBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTcyIGJ1aWx0aW4vY29tbWl0LmM6MTIwOAorIzogYnVpbHRpbi9jb21taXQuYzo5OTcgYnVpbHRpbi9jb21taXQuYzoxMjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAiT2dpbHRpZ3QgbMOkZ2UgZsO2ciBvc3DDpXJhZGUgZmlsZXI6IFwiJXNcIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDA5CisjOiBidWlsdGluL2NvbW1pdC5jOjEwMzQKIG1zZ2lkICItLWxvbmcgYW5kIC16IGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tbG9uZyBvY2ggLXogw6RyIGlua29tcGF0aWJsYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDM5CisjOiBidWlsdGluL2NvbW1pdC5jOjEwNjQKIG1zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJLYW4gaW50ZSBhbnbDpG5kYSBiw6VkZSAtLXJlc2V0LWF1dGhvciBvY2ggLS1hdXRob3IiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA1MAorIzogYnVpbHRpbi9jb21taXQuYzoxMDc1CiBtc2dpZCAiWW91IGhhdmUgbm90aGluZyB0byBhbWVuZC4iCiBtc2dzdHIgIkR1IGhhciBpbmdldCBhdHQgdXTDtmthLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDUzCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNzgKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJEdSDDpHIgaSBtaXR0ZW4gYXYgZW4gc2FtbWFuc2xhZ25pbmcgLS0ga2FuIGludGUgdXTDtmthLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODAKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJEdSDDpHIgaSBtaXR0ZW4gYXYgZW4gY2hlcnJ5LXBpY2sgLS0ga2FuIGludGUgdXTDtmthLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDU4CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODMKIG1zZ2lkICJPcHRpb25zIC0tc3F1YXNoIGFuZCAtLWZpeHVwIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICJGbGFnZ29ybmEgLS1zcXVhc2ggb2NoIC0tZml4dXAga2FuIGludGUgYW52w6RuZGFzIHNhbXRpZGlndCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDY4CisjOiBidWlsdGluL2NvbW1pdC5jOjEwOTMKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiRW5kYXN0IGVuIGF2IC1jLy1DLy1GLy0tZml4dXAga2FuIGFudsOkbmRhcy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3MAorIzogYnVpbHRpbi9jb21taXQuYzoxMDk1CiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLy0tZml4dXAuIgogbXNnc3RyICJGbGFnZ2FuIC1tIGthbiBpbnRlIGtvbWJpbmVyYXMgbWVkIC1jLy1DLy1GLy0tZml4dXAuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEwMwogbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCiBtc2dzdHIgIi0tcmVzZXQtYXV0aG9yIGthbiBlbmRhc3QgYW52w6RuZGFzIG1lZCAtQywgLWMgZWxsZXIgLS1hbWVuZC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTIwCiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICIiCiAiRW5kYXN0IGVuIGF2IC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGthbiBhbnbDpG5kYXMuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwOTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyMgogbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiRHUgbcOlc3RlIGFuZ2Ugc8O2a3bDpGdhciB0aWxsc2FtbWFucyBtZWQgLS1pbmNsdWRlLy0tb25seS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5OQorIzogYnVpbHRpbi9jb21taXQuYzoxMTI0CiBtc2dpZCAiQ2xldmVyLi4uIGFtZW5kaW5nIHRoZSBsYXN0IG9uZSB3aXRoIGRpcnR5IGluZGV4LiIKIG1zZ3N0ciAiU21hcnQuLi4gdXTDtmthIGRlbiBzZW5hc3RlIG1lZCBzbXV0c2lndCBpbmRleC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEwMQorIzogYnVpbHRpbi9jb21taXQuYzoxMTI2CiBtc2dpZCAiRXhwbGljaXQgcGF0aHMgc3BlY2lmaWVkIHdpdGhvdXQgLWkgbm9yIC1vOyBhc3N1bWluZyAtLW9ubHkgcGF0aHMuLi4iCiBtc2dzdHIgIkV4cGxpY2l0YSBzw7ZrdsOkZ2FyIGFuZ2F2cyB1dGFuIC1pIGVsbGVyIC1vOyBhbnRhciAtLW9ubHkgc8O2a3bDpGdhci4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTExIGJ1aWx0aW4vdGFnLmM6NTc1CisjOiBidWlsdGluL2NvbW1pdC5jOjExMzYgYnVpbHRpbi90YWcuYzo1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCiBtc2dzdHIgIkZlbGFrdGlndCBzdMOkZG5pbmdzbMOkZ2UgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExNgorIzogYnVpbHRpbi9jb21taXQuYzoxMTQxCiBtc2dpZCAiUGF0aHMgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiS2FuIGludGUgYW5nZSBzw7ZrdsOkZ2FyIG1lZCAtYS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyMiBidWlsdGluL2NvbW1pdC5jOjE0NTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1MSBidWlsdGluL2NvbW1pdC5jOjE0ODIKIG1zZ2lkICJzaG93IHN0YXR1cyBjb25jaXNlbHkiCiBtc2dzdHIgInZpc2Ega29uY2lzIHN0YXR1cyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjI0IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NworIzogYnVpbHRpbi9jb21taXQuYzoxMjUzIGJ1aWx0aW4vY29tbWl0LmM6MTQ4NAogbXNnaWQgInNob3cgYnJhbmNoIGluZm9ybWF0aW9uIgogbXNnc3RyICJ2aXNhIGluZm9ybWF0aW9uIG9tIGdyZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNiBidWlsdGluL2NvbW1pdC5jOjE0NTkgYnVpbHRpbi9wdXNoLmM6NDUyCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTUgYnVpbHRpbi9jb21taXQuYzoxNDg2IGJ1aWx0aW4vcHVzaC5jOjQ2MAogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICJtYXNraW5sw6RzYmFyIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjI5IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MQorIzogYnVpbHRpbi9jb21taXQuYzoxMjU4IGJ1aWx0aW4vY29tbWl0LmM6MTQ4OAogbXNnaWQgInNob3cgc3RhdHVzIGluIGxvbmcgZm9ybWF0IChkZWZhdWx0KSIKIG1zZ3N0ciAidmlzYSBzdGF0dXMgaSBsw6VuZ3QgZm9ybWF0IChzdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIzMiBidWlsdGluL2NvbW1pdC5jOjE0NjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2MSBidWlsdGluL2NvbW1pdC5jOjE0OTEKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKIG1zZ3N0ciAidGVybWluZXJhIHBvc3RlciBtZWQgTlVMIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzQgYnVpbHRpbi9jb21taXQuYzoxNDY3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NjcKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzAgYnVpbHRpbi90YWcuYzo0NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2MyBidWlsdGluL2NvbW1pdC5jOjE0OTQgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NyBidWlsdGluL3RhZy5jOjQ1OQogbXNnaWQgIm1vZGUiCiBtc2dzdHIgImzDpGdlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzUgYnVpbHRpbi9jb21taXQuYzoxNDY3CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjQgYnVpbHRpbi9jb21taXQuYzoxNDk0CiBtc2dpZCAic2hvdyB1bnRyYWNrZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiBhbGwsIG5vcm1hbCwgbm8uIChEZWZhdWx0OiBhbGwpIgogbXNnc3RyICJ2aXNhIG9zcMOlcmFkZSBmaWxlciwgdmFsZnJpYSBsw6RnZW46IGFsbGEsIG5vcm1hbCwgbm8uIChTdGFuZGFyZDogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjM4CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjcKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgInZpc2EgaWdub3JlcmFkZSBmaWxlciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjM5IHBhcnNlLW9wdGlvbnMuaDoxNTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2OCBwYXJzZS1vcHRpb25zLmg6MTU2CiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAibsOkciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjQwCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjkKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCkBAIC00MjA2LDIxNyArNDM4NCwyMTcgQEAKICJpZ25vcmVyYSDDpG5kcmluZ2FyIGkgdW5kZXJtb2R1bGVyLCB2YWxmcml0dCBuw6RyOiBhbGwsIGRpcnR5LCB1bnRyYWNrZWQuICIKICIoRGVmYXVsdDogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjQyCisjOiBidWlsdGluL2NvbW1pdC5jOjEyNzEKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJ2aXNhIG9zcMOlcmFkZSBmaWxlciBpIHNwYWx0ZXIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxMworIzogYnVpbHRpbi9jb21taXQuYzoxMzQwCiBtc2dpZCAiY291bGRuJ3QgbG9vayB1cCBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBzbMOlIHVwcCBlbiBwcmVjaXMgc2thcGFkIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MgogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBlbiBwcmVjaXMgc2thcGFkIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4MwogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgImZyw6Vua29wcGxhZCBIRUFEIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4NQogbXNnaWQgIiAocm9vdC1jb21taXQpIgogbXNnc3RyICIgKHJvdGluY2hlY2tuaW5nKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDI1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTIKIG1zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgogbXNnc3RyICJ1bmRlcnRyeWNrIHNhbW1hbmZhdHRuaW5nIGVmdGVyIGZyYW1nw6VuZ3NyaWsgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQyNgorIzogYnVpbHRpbi9jb21taXQuYzoxNDUzCiBtc2dpZCAic2hvdyBkaWZmIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICJ2aXNhIGRpZmYgaSBtYWxsZW4gZsO2ciBpbmNoZWNrbmluZ3NtZWRkZWxhbmRldCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDI4CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTUKIG1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgogbXNnc3RyICJBbHRlcm5hdGl2IGbDtnIgaW5jaGVja25pbmdzbWVkZGVsYW5kZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDI5IGJ1aWx0aW4vdGFnLmM6NDU3CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTYgYnVpbHRpbi90YWcuYzo0NTcKIG1zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgogbXNnc3RyICJsw6RzIG1lZGRlbGFuZGUgZnLDpW4gZmlsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NwogbXNnaWQgImF1dGhvciIKIG1zZ3N0ciAiZsO2cmZhdHRhcmUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMAorIzogYnVpbHRpbi9jb21taXQuYzoxNDU3CiBtc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCiBtc2dzdHIgIsO2dmVyc3R5ciBmw7ZyZmF0dGFyZSBmw7ZyIGluY2hlY2tuaW5nZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMSBidWlsdGluL2djLmM6MTc4CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTggYnVpbHRpbi9nYy5jOjI2MAogbXNnaWQgImRhdGUiCiBtc2dzdHIgImRhdHVtIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OAogbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKIG1zZ3N0ciAiw7Z2ZXJzdHlyIGRhdHVtIGbDtnIgaW5jaGVja25pZ25lbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMyIGJ1aWx0aW4vbWVyZ2UuYzoyMjMgYnVpbHRpbi9ub3Rlcy5jOjQwNQorIzogYnVpbHRpbi9jb21taXQuYzoxNDU5IGJ1aWx0aW4vbWVyZ2UuYzoyMjMgYnVpbHRpbi9ub3Rlcy5jOjQwNQogIzogYnVpbHRpbi9ub3Rlcy5jOjU2MiBidWlsdGluL3RhZy5jOjQ1NQogbXNnaWQgIm1lc3NhZ2UiCiBtc2dzdHIgIm1lZGRlbGFuZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMgorIzogYnVpbHRpbi9jb21taXQuYzoxNDU5CiBtc2dpZCAiY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgImluY2hlY2tuaW5nc21lZGRlbGFuZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMworIzogYnVpbHRpbi9jb21taXQuYzoxNDYwCiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIsOldGVyYW52w6RuZCBvY2ggcmVkaWdlcmEgbWVkZGVsYW5kZSBmcsOlbiBhbmdpdmVuIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MQogbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICLDpXRlcmFudsOkbmQgbWVkZGVsYW5kZSBmcsOlbiBhbmdpdmVuIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MgogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIGZpeHVwIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKICJhbnbDpG5kIGF1dG9zcXVhc2gtZm9ybWF0ZXJhdCBtZWRkZWxhbmRlIGbDtnIgYXR0IGZpeGEgYW5naXZlbiBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM2CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjMKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogImFudsOkbmQgYXV0b3NxdWFzaC1mb3JtYXRlcmF0IG1lZGRlbGFuZGUgZsO2ciBhdHQgc2zDpSBpaG9wIG1lZCBhbmdpdmVuICIKICJpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM3CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjQKIG1zZ2lkICJ0aGUgY29tbWl0IGlzIGF1dGhvcmVkIGJ5IG1lIG5vdyAodXNlZCB3aXRoIC1DLy1jLy0tYW1lbmQpIgogbXNnc3RyICJqYWcgw6RyIG51IGbDtnJmYXR0YXJlIGF2IGluY2hlY2tuaW5nZW4gKGFudsOkbmRzIG1lZCAtQy8tYy8tLWFtZW5kKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM4IGJ1aWx0aW4vbG9nLmM6MTE2MCBidWlsdGluL3JldmVydC5jOjExMQorIzogYnVpbHRpbi9jb21taXQuYzoxNDY1IGJ1aWx0aW4vbG9nLmM6MTE4MCBidWlsdGluL3JldmVydC5jOjg2CiBtc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgogbXNnc3RyICJsw6RnZyB0aWxsIFNpZ25lZC1vZmYtYnk6IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NgogbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKIG1zZ3N0ciAiYW52w6RuZCBhbmdpdmVuIG1hbGxmaWwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDY3CiBtc2dpZCAiZm9yY2UgZWRpdCBvZiBjb21taXQiCiBtc2dzdHIgInR2aW5nYSByZWRpZ2VyaW5nIGF2IGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OAogbXNnaWQgImRlZmF1bHQiCiBtc2dzdHIgInN0YW5kYXJkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDEgYnVpbHRpbi90YWcuYzo0NjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OCBidWlsdGluL3RhZy5jOjQ2MAogbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCiBtc2dzdHIgImh1ciBibGFua3N0ZWcgb2NoICNrb21tZW50YXJlciBza2FsbCB0YXMgYm9ydCBmcsOlbiBtZWRkZWxhbmRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OQogbXNnaWQgImluY2x1ZGUgc3RhdHVzIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICJpbmtsdWRlcmEgc3RhdHVzIGkgbWFsbGVuIGbDtnIgaW5jaGVja25pbmdzbWVkZGVsYW5kZXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MyBidWlsdGluL21lcmdlLmM6MjMwIGJ1aWx0aW4vdGFnLmM6NDYxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzAgYnVpbHRpbi9tZXJnZS5jOjIzMCBidWlsdGluL3RhZy5jOjQ2MQogbXNnaWQgImtleSBpZCIKIG1zZ3N0ciAibnlja2VsLWlkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDQgYnVpbHRpbi9tZXJnZS5jOjIzMQorIzogYnVpbHRpbi9jb21taXQuYzoxNDcxIGJ1aWx0aW4vbWVyZ2UuYzoyMzEKIG1zZ2lkICJHUEcgc2lnbiBjb21taXQiCiBtc2dzdHIgIkdQRy1zaWduZXJhIGluY2hlY2tuaW5nIgogCiAjLiBlbmQgY29tbWl0IG1lc3NhZ2Ugb3B0aW9ucwotIzogYnVpbHRpbi9jb21taXQuYzoxNDQ3CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzQKIG1zZ2lkICJDb21taXQgY29udGVudHMgb3B0aW9ucyIKIG1zZ3N0ciAiQWx0ZXJuYXRpdiBmw7ZyIGluY2hlY2tuaW5nZW5zIGlubmVow6VsbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzUKIG1zZ2lkICJjb21taXQgYWxsIGNoYW5nZWQgZmlsZXMiCiBtc2dzdHIgImNoZWNrYSBpbiBhbGxhIMOkbmRyYWRlIGZpbGVyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NgogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBhbmdpdm5hIGZpbGVyIHRpbGwgaW5kZXhldCBmw7ZyIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NwogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICJsw6RnZyB0aWxsIGZpbGVyIGludGVyYWt0aXZ0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OAogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGNoYW5nZXMiCiBtc2dzdHIgImzDpGdnIHRpbGwgw6RuZHJpbmdhciBpbnRlcmFrdGl2dCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDUyCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzkKIG1zZ2lkICJjb21taXQgb25seSBzcGVjaWZpZWQgZmlsZXMiCiBtc2dzdHIgImNoZWNrYSBlbmRhc3QgaW4gYW5naXZuYSBmaWxlciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDUzCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODAKIG1zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBob29rIgogbXNnc3RyICJmw7ZyYmlnw6UgcHJlLWNvbW1pdC1rcm9rIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MQogbXNnaWQgInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiCiBtc2dzdHIgInZpc2EgdmFkIHNvbSBza3VsbGUgY2hlY2thcyBpbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTIKIG1zZ2lkICJhbWVuZCBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgImzDpGdnIHRpbGwgZsO2cmVnw6VlbmRlIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MwogbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKIG1zZ3N0ciAiZsO2cmJpZ8OlIHBvc3QtcmV3cml0ZS1rcm9rIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OAogbXNnaWQgIm9rIHRvIHJlY29yZCBhbiBlbXB0eSBjaGFuZ2UiCiBtc2dzdHIgIm9rIGF0dCByZWdpc3RyZXJhIGVuIHRvbSDDpG5kcmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc0CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDAKIG1zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICJvayBhdHQgcmVnaXN0cmVyYSBlbiDDpG5kcmluZyBtZWQgdG9tdCBtZWRkZWxhbmRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUyOQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBIRUFEOnMgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU0NSBidWlsdGluL21lcmdlLmM6NTI1CisjOiBidWlsdGluL2NvbW1pdC5jOjE1NjcgYnVpbHRpbi9tZXJnZS5jOjUyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIgogbXNnc3RyICJrdW5kZSBpbnRlIMO2cHBuYSBcIiVzXCIgZsO2ciBsw6RzbmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTUyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAiVHJhc2lnIE1FUkdFX0hFQUQtZmlsICglcykiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU1OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTgxCiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBNRVJHRV9NT0RFIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZTogJXMiCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgaW5jaGVja25pbmdzbWVkZGVsYW5kZTogJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgorIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiQXZicnl0ZXIgaW5jaGVja25pbmc7IG1lZGRlbGFuZGV0IGludGUgcmVkaWdlcmF0LlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICJBdmJyeXRlciBww6UgZ3J1bmQgYXYgdG9tdCBpbmNoZWNrbmluZ3NtZWRkZWxhbmRlLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTIgYnVpbHRpbi9tZXJnZS5jOjg2MSBidWlsdGluL21lcmdlLmM6ODg2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MzQgYnVpbHRpbi9tZXJnZS5jOjg2MSBidWlsdGluL21lcmdlLmM6ODg2CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvbW1pdCBvYmplY3QiCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIGluY2hlY2tuaW5nc29iamVrdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjMzCisjOiBidWlsdGluL2NvbW1pdC5jOjE2NTUKIG1zZ2lkICJjYW5ub3QgbG9jayBIRUFEIHJlZiIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6VzYSBIRUFELXJlZmVyZW5zIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY1OQogbXNnaWQgImNhbm5vdCB1cGRhdGUgSEVBRCByZWYiCiBtc2dzdHIgImt1bmRlIGludGUgdXBwZGF0ZXJhIEhFQUQtcmVmZXJlbnMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY0OAorIzogYnVpbHRpbi9jb21taXQuYzoxNjcwCiBtc2dpZCAiIgogIlJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgb3IgcXVvdGEgaXNcbiIKQEAgLTQ0MjcsMTI3ICs0NjA1LDEzMSBAQAogImF0dCBrdm90ZW4gaW50ZSBoYXIgw7Z2ZXJza3JpZGl0cywgb2NoIGvDtnIgc2VkYW5cbiIKICJcImdpdCByZXNldCBIRUFEXCIgZsO2ciBhdHQgw6V0ZXJzdMOkbGxhLiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3CisjOiBidWlsdGluL2NvbmZpZy5jOjgKIG1zZ2lkICJnaXQgY29uZmlnIFtvcHRpb25zXSIKIG1zZ3N0ciAiZ2l0IGNvbmZpZyBbZmxhZ2dvcl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTQKIG1zZ2lkICJDb25maWcgZmlsZSBsb2NhdGlvbiIKIG1zZ3N0ciAiS29uZmlndXJhdGlvbnNmaWxlbnMgcGxhdHMiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTUKIG1zZ2lkICJ1c2UgZ2xvYmFsIGNvbmZpZyBmaWxlIgogbXNnc3RyICJhbnbDpG5kIGdsb2JhbCBrb25maWd1cmF0aW9uc2ZpbCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NAorIzogYnVpbHRpbi9jb25maWcuYzo1NgogbXNnaWQgInVzZSBzeXN0ZW0gY29uZmlnIGZpbGUiCiBtc2dzdHIgImFudsOkbmQgc3lzdGVtZXRzIGtvbmZpZ3VyYXRpb25zZmlsIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU1CisjOiBidWlsdGluL2NvbmZpZy5jOjU3CiBtc2dpZCAidXNlIHJlcG9zaXRvcnkgY29uZmlnIGZpbGUiCiBtc2dzdHIgImFudsOkbmQgYXJraXZldHMga29uZmlndXJhdGlvbnNmaWwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKIG1zZ2lkICJ1c2UgZ2l2ZW4gY29uZmlnIGZpbGUiCiBtc2dzdHIgImFudsOkbmQgYW5naXZlbiBrb25maWd1cmF0aW9uc2lsIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjU5CiBtc2dpZCAiYmxvYi1pZCIKIG1zZ3N0ciAiYmxvYi1pZCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgInJlYWQgY29uZmlnIGZyb20gZ2l2ZW4gYmxvYiBvYmplY3QiCiBtc2dzdHIgImzDpHMga29uZmlndXJhdGlvbiBmcsOlbiBnaXZldCBibG9iLW9iamVrdCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OAorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgIkFjdGlvbiIKIG1zZ3N0ciAiw4V0Z8OkcmQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKIG1zZ2lkICJnZXQgdmFsdWU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiaMOkbXRhIHbDpHJkZTogbmFtbiBbdsOkcmRlLXJlZ3V0dHJdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYwCisjOiBidWlsdGluL2NvbmZpZy5jOjYyCiBtc2dpZCAiZ2V0IGFsbCB2YWx1ZXM6IGtleSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJow6RtdGEgYWxsYSB2w6RyZGVuOiBueWNrZWwgW3bDpHJkZS1yZWd1dHRyXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9jb25maWcuYzo2MwogbXNnaWQgImdldCB2YWx1ZXMgZm9yIHJlZ2V4cDogbmFtZS1yZWdleCBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJow6RtdGEgdsOkcmRlbiBmw7ZyIHJlZ3V0dHI6IG5hbW4tcmVndXR0ciBbdsOkcmRlLXJlZ3V0dHJdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYyCisjOiBidWlsdGluL2NvbmZpZy5jOjY0Cittc2dpZCAiZ2V0IHZhbHVlIHNwZWNpZmljIGZvciB0aGUgVVJMOiBzZWN0aW9uWy52YXJdIFVSTCIKK21zZ3N0ciAiaMOkbXRhIHbDpHJkZSBzcGVjaWZpa3QgVVJMOmVuOiBzZWt0aW9uWy52YXJdIFVSTCIKKworIzogYnVpbHRpbi9jb25maWcuYzo2NQogbXNnaWQgInJlcGxhY2UgYWxsIG1hdGNoaW5nIHZhcmlhYmxlczogbmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgogbXNnc3RyICJlcnPDpHR0IGFsbGEgbW90c3ZhcmFuZGUgdmFyaWFibGVyOiBuYW1uIHbDpHJkZSBbdsOkcmRlLXJlZ3V0dHJdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYzCisjOiBidWlsdGluL2NvbmZpZy5jOjY2CiBtc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgogbXNnc3RyICJsw6RnZyB0aWxsIGVuIG55IHZhcmlhYmVsOiBuYW1uIHbDpHJkZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NAorIzogYnVpbHRpbi9jb25maWcuYzo2NwogbXNnaWQgInJlbW92ZSBhIHZhcmlhYmxlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgInRhIGJvcnQgZW4gdmFyaWFiZWw6IG5hbW4gW3bDpHJkZS1yZWd1dHRyXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NQorIzogYnVpbHRpbi9jb25maWcuYzo2OAogbXNnaWQgInJlbW92ZSBhbGwgbWF0Y2hlczogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJ0YSBib3J0IGFsbGEgdHLDpGZmYXI6IG5hbW4gW3bDpHJkZS1yZWd1dHRyXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NgorIzogYnVpbHRpbi9jb25maWcuYzo2OQogbXNnaWQgInJlbmFtZSBzZWN0aW9uOiBvbGQtbmFtZSBuZXctbmFtZSIKIG1zZ3N0ciAiYnl0IG5hbW4gcMOlIHNla3Rpb246IGdhbW1hbHQtbmFtbiBueXR0LW5hbW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKIG1zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgogbXNnc3RyICJ0YSBib3J0IGVuIHNla3Rpb246IG5hbW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKIG1zZ2lkICJsaXN0IGFsbCIKIG1zZ3N0ciAidmlzYSBhbGxhIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY5CisjOiBidWlsdGluL2NvbmZpZy5jOjcyCiBtc2dpZCAib3BlbiBhbiBlZGl0b3IiCiBtc2dzdHIgIsO2cHBuYSB0ZXh0cmVkaWdlcmluZ3Nwcm9ncmFtIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwIGJ1aWx0aW4vY29uZmlnLmM6NzEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMgYnVpbHRpbi9jb25maWcuYzo3NAogbXNnaWQgInNsb3QiCiBtc2dzdHIgInBsYXRzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwCisjOiBidWlsdGluL2NvbmZpZy5jOjczCiBtc2dpZCAiZmluZCB0aGUgY29sb3IgY29uZmlndXJlZDogW2RlZmF1bHRdIgogbXNnc3RyICJoaXR0YSBkZW4gaW5zdMOkbGxkYSBmw6RyZ2VuOiBbZGVmYXVsdF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBzZXR0aW5nOiBbc3Rkb3V0LWlzLXR0eV0iCiBtc2dzdHIgImhpdHRhIGbDpHJnaW5zdMOkbGxuaW5nZW46IFtzdGRvdXQtaXMtdHR5XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MgorIzogYnVpbHRpbi9jb25maWcuYzo3NQogbXNnaWQgIlR5cGUiCiBtc2dzdHIgIlR5cCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MworIzogYnVpbHRpbi9jb25maWcuYzo3NgogbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKIG1zZ3N0ciAidsOkcmRldCDDpHIgXCJ0cnVlXCIgZWxsZXIgXCJmYWxzZVwiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0CisjOiBidWlsdGluL2NvbmZpZy5jOjc3CiBtc2dpZCAidmFsdWUgaXMgZGVjaW1hbCBudW1iZXIiCiBtc2dzdHIgInbDpHJkZXQgw6RyIGV0dCBkZWNpbWFsdCB0YWwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKIG1zZ2lkICJ2YWx1ZSBpcyAtLWJvb2wgb3IgLS1pbnQiCiBtc2dzdHIgInbDpHJkZXQgw6RyIC0tYm9vbCBlbGxlciAtLWludCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NgorIzogYnVpbHRpbi9jb25maWcuYzo3OQogbXNnaWQgInZhbHVlIGlzIGEgcGF0aCAoZmlsZSBvciBkaXJlY3RvcnkgbmFtZSkiCiBtc2dzdHIgInbDpHJkZXQgw6RyIGVuIHPDtmt2w6RnIChmaWwtIGVsbGVyIGthdGFsb2duYW1uKSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NworIzogYnVpbHRpbi9jb25maWcuYzo4MAogbXNnaWQgIk90aGVyIgogbXNnc3RyICJBbmRyYSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OAorIzogYnVpbHRpbi9jb25maWcuYzo4MQogbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAidGVybWluZXJhIHbDpHJkZW4gbWVkIE5VTC1ieXRlIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc5CisjOiBidWlsdGluL2NvbmZpZy5jOjgyCiBtc2dpZCAicmVzcGVjdCBpbmNsdWRlIGRpcmVjdGl2ZXMgb24gbG9va3VwIgogbXNnc3RyICJyZXNwZWt0ZXJhIGlua2x1ZGVyaW5nc2RpcmVrdGl2IHZpZCB1cHBzbGFnIgogCkBAIC00NTYwLDcgKzQ3NDIsNyBAQAogbXNnc3RyICJza3JpdiBzdG9ybGVrYXIgaSBtw6Rubmlza29sw6RzYmFydCBmb3JtYXQiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxNgotbXNnaWQgImdpdCBkZXNjcmliZSBbb3B0aW9uc10gPGNvbW1pdHRpc2g+KiIKK21zZ2lkICJnaXQgZGVzY3JpYmUgW29wdGlvbnNdIDxjb21taXQtaXNoPioiCiBtc2dzdHIgImdpdCBkZXNjcmliZSBbZmxhZ2dvcl0gPGluY2hlY2tuaW5nLWlndD4qIgogCiAjOiBidWlsdGluL2Rlc2NyaWJlLmM6MTcKQEAgLTQ2OTYsOCArNDg3OCw4IEBACiBtc2dzdHIgIkluZ2EgbmFtbiBoaXR0YWRlcywga2FuIGludGUgYmVza3JpdmEgbsOlZ290LiIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ4OQotbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0dGlzaGVzIgotbXNnc3RyICItLWRpcnR5IMOkciBpbmtvbXBhdGliZWx0IG1lZCBcImNvbW1pdHRpc2hcIi12w6RyZGVuIgorbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgorbXNnc3RyICItLWRpcnR5IMOkciBpbmtvbXBhdGliZWx0IG1lZCBcImNvbW1pdC1pc2hcIi12w6RyZGVuIgogCiAjOiBidWlsdGluL2RpZmYuYzo3OQogIywgYy1mb3JtYXQKQEAgLTQ3MzIsMzkgKzQ5MTQsMzkgQEAKIG1zZ2lkICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgogbXNnc3RyICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LWZsYWdnb3JdIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjY2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjczCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBhZnRlciA8bj4gb2JqZWN0cyIKIG1zZ3N0ciAidmlzYSBmw7ZybG9wcCBlZnRlciA8bj4gb2JqZWt0IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjY4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc1CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHNpZ25lZCB0YWdzIgogbXNnc3RyICJ2w6RsaiBoYW50ZXJpbmcgYXYgc2lnbmVyYWRlIHRhZ2dhciIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3OAogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiB0YWdzIHRoYXQgdGFnIGZpbHRlcmVkIG9iamVjdHMiCiBtc2dzdHIgInbDpGxqIGhhbnRlcmluZyBhdiB0YWdnYXIgc29tIGhhciB0YWdnZmlsdHJlcmFkZSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzQKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODEKIG1zZ2lkICJEdW1wIG1hcmtzIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAiRHVtcCBtw6Rya2VuIHRpbGwgZmlsZW4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODMKIG1zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUiCiBtc2dzdHIgIkltcG9ydGVyYSBtw6Rya2VuIGZyw6VuIGZpbGVuIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njg1CiBtc2dpZCAiRmFrZSBhIHRhZ2dlciB3aGVuIHRhZ3MgbGFjayBvbmUiCiBtc2dzdHIgIkZlamthIHRhZ2dhcmUgbsOkciB0YWdnZW4gc2FrbmFyIGVuIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njg3CiBtc2dpZCAiT3V0cHV0IGZ1bGwgdHJlZSBmb3IgZWFjaCBjb21taXQiCiBtc2dzdHIgIlNrcml2IHV0IGhlbGEgdHLDpGRldCBmw7ZyIHZhcmplIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njg5CiBtc2dpZCAiVXNlIHRoZSBkb25lIGZlYXR1cmUgdG8gdGVybWluYXRlIHRoZSBzdHJlYW0iCiBtc2dzdHIgIkFudsOkbmQgZG9uZS1mdW5rdGlvbmVuIGbDtnIgYXR0IGF2c2x1dGEgc3Ryw7ZtbWVuIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjkwCiBtc2dpZCAiU2tpcCBvdXRwdXQgb2YgYmxvYiBkYXRhIgogbXNnc3RyICJIb3BwYSDDtnZlciBza3Jpdm5pbmcgYXYgYmxvYi1kYXRhIgogCkBAIC00Nzg0LDE0NCArNDk2NiwxNDQgQEAKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPGZsYWdnb3I+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwCisjOiBidWlsdGluL2ZldGNoLmM6NzQKIG1zZ2lkICJmZXRjaCBmcm9tIGFsbCByZW1vdGVzIgogbXNnc3RyICJow6RtdGEgZnLDpW4gYWxsYSBmasOkcnJhciIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYyCisjOiBidWlsdGluL2ZldGNoLmM6NzYKIG1zZ2lkICJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciCiBtc2dzdHIgImzDpGdnIHRpbGwgaSAuZ2l0L0ZFVENIX0hFQUQgaXN0w6RsbGV0IGbDtnIgYXR0IHNrcml2YSDDtnZlciIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY0CisjOiBidWlsdGluL2ZldGNoLmM6NzgKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgInPDtmt2w6RnIHRpbGwgdXBsb2FkIHBhY2sgcMOlIGZqw6RycmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3OQogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgInR2aW5nYSDDtnZlcnNrcml2bmluZyBhdiBsb2thbCBncmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4MQogbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKIG1zZ3N0ciAiaMOkbXRhIGZyw6VuIGZsZXJhIGZqw6RycmFyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4MwogbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCiBtc2dzdHIgImjDpG10YSBhbGxhIHRhZ2dhciBvY2ggYXNzb2NpZXJhZGUgb2JqZWt0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NQogbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKIG1zZ3N0ciAiaMOkbXRhIGludGUgYWxsYSB0YWdnYXIgKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MworIzogYnVpbHRpbi9mZXRjaC5jOjg3CiBtc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCiBtc2dzdHIgInJlbnNhIGZqw6RycnNww6VyYW5kZSBncmVuYXIgZWogbMOkbmdyZSBww6UgZmrDpHJyZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NAorIzogYnVpbHRpbi9mZXRjaC5jOjg4CiBtc2dpZCAib24tZGVtYW5kIgogbXNnc3RyICJvbi1kZW1hbmQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NQorIzogYnVpbHRpbi9mZXRjaC5jOjg5CiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAic3R5ciByZWt1cnNpdiBow6RtdG5pbmcgYXYgdW5kZXJtb2R1bGVyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MwogbXNnaWQgImtlZXAgZG93bmxvYWRlZCBwYWNrIgogbXNnc3RyICJiZWjDpWxsIGjDpG10YWRlIHBha2V0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NQogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICJ0aWxsw6V0IHVwcGRhdGVyaW5nIGF2IEhFQUQtcmVmZXJlbnMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NAorIzogYnVpbHRpbi9mZXRjaC5jOjk4CiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSIKIG1zZ3N0ciAiZsO2cmRqdXBhIGhpc3RvcmlrIGbDtnIgZ3J1bmQga2xvbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg2CisjOiBidWlsdGluL2ZldGNoLmM6MTAwCiBtc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImtvbnZlcnRlcmEgdGlsbCBrb21wbGV0dCBhcmtpdiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg4IGJ1aWx0aW4vbG9nLmM6MTE3NworIzogYnVpbHRpbi9mZXRjaC5jOjEwMiBidWlsdGluL2xvZy5jOjExOTcKIG1zZ2lkICJkaXIiCiBtc2dzdHIgImthdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg5CisjOiBidWlsdGluL2ZldGNoLmM6MTAzCiBtc2dpZCAicHJlcGVuZCB0aGlzIHRvIHN1Ym1vZHVsZSBwYXRoIG91dHB1dCIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBpIGLDtnJqYW4gYXYgdW5kZXJtb2R1bGVucyBzw7ZrdsOkZ3N1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MgorIzogYnVpbHRpbi9mZXRjaC5jOjEwNgogbXNnaWQgImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIgogbXNnc3RyICJzdGFuZGFyZGzDpGdlIGbDtnIgcmVrdXJzaW9uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIwCisjOiBidWlsdGluL2ZldGNoLmM6MjM2CiBtc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCiBtc2dzdHIgIkt1bmRlIGludGUgaGl0dGEgZmrDpHJyLXJlZmVyZW5zZW4gSEVBRCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI3MworIzogYnVpbHRpbi9mZXRjaC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgbm90IGZvdW5kIgogbXNnc3RyICJvYmpla3RldCAlcyBoaXR0YWRlcyBpbnRlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mjc4CisjOiBidWlsdGluL2ZldGNoLmM6Mjk1CiBtc2dpZCAiW3VwIHRvIGRhdGVdIgogbXNnc3RyICJbw6Bqb3VyXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI5MgorIzogYnVpbHRpbi9mZXRjaC5jOjMwOQogIywgYy1mb3JtYXQKIG1zZ2lkICIhICUtKnMgJS0qcyAtPiAlcyAgKGNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoKSIKIG1zZ3N0ciAiISAlLSpzICUtKnMgLT4gJXMgIChrYW4gaW50ZSBow6RtdGEgaSBha3R1ZWxsIGdyZW4pIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjkzIGJ1aWx0aW4vZmV0Y2guYzozNzkKKyM6IGJ1aWx0aW4vZmV0Y2guYzozMTAgYnVpbHRpbi9mZXRjaC5jOjM5NgogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIltyZWZ1c2VyYWRdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzA0CisjOiBidWlsdGluL2ZldGNoLmM6MzIxCiBtc2dpZCAiW3RhZyB1cGRhdGVdIgogbXNnc3RyICJbdXBwZGF0ZXJhZCB0YWdnXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMwNiBidWlsdGluL2ZldGNoLmM6MzQxIGJ1aWx0aW4vZmV0Y2guYzozNTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzozMjMgYnVpbHRpbi9mZXRjaC5jOjM1OCBidWlsdGluL2ZldGNoLmM6Mzc2CiBtc2dpZCAiICAodW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYpIgogbXNnc3RyICIgIChrdW5kZSBpbnRlIHVwcGRhdGVyYSBsb2thbCByZWYpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzI0CisjOiBidWlsdGluL2ZldGNoLmM6MzQxCiBtc2dpZCAiW25ldyB0YWddIgogbXNnc3RyICJbbnkgdGFnZ10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMjcKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNDQKIG1zZ2lkICJbbmV3IGJyYW5jaF0iCiBtc2dzdHIgIltueSBncmVuXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMzMAorIzogYnVpbHRpbi9mZXRjaC5jOjM0NwogbXNnaWQgIltuZXcgcmVmXSIKIG1zZ3N0ciAiW255IHJlZl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozNzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzozOTIKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKIG1zZ3N0ciAia3VuZGUgaW50ZSB1cHBkYXRlcmEgbG9rYWwgcmVmIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mzc1CisjOiBidWlsdGluL2ZldGNoLmM6MzkyCiBtc2dpZCAiZm9yY2VkIHVwZGF0ZSIKIG1zZ3N0ciAidHZpbmdhZCB1cHBkYXRlcmluZyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM4MQorIzogYnVpbHRpbi9mZXRjaC5jOjM5OAogbXNnaWQgIihub24tZmFzdC1mb3J3YXJkKSIKIG1zZ3N0ciAiKGVqIHNuYWJic3BvbGFkKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQxMiBidWlsdGluL2ZldGNoLmM6NzE4CisjOiBidWlsdGluL2ZldGNoLmM6NDI5IGJ1aWx0aW4vZmV0Y2guYzo3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzXG4iCiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSAlczogJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQyMQorIzogYnVpbHRpbi9mZXRjaC5jOjQzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzXG4iCiBtc2dzdHIgIiVzIHPDpG5kZSBpbnRlIGFsbGEgbsO2ZHbDpG5kaWdhIG9iamVrdFxuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTIwCisjOiBidWlsdGluL2ZldGNoLmM6NTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICJGcsOlbiAlLipzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKQEAgLTQ5MzAsNTUgKzUxMTIsNTUgQEAKICJ2aXNzYSBsb2thbGEgcmVmZXJlbnNlciBrdW5kZSBpbnRlIHVwcGRhdGVyYXM7IHRlc3RhIGF0dCBrw7ZyYVxuIgogIiBcImdpdCByZW1vdGUgcHJ1bmUgJXNcIiBmw7ZyIGF0dCB0YSBib3J0IGdhbWxhIGdyZW5hciBzb20gc3TDpXIgaSBrb25mbGlrdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU4MQorIzogYnVpbHRpbi9mZXRjaC5jOjU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMga29tbWVyIGJsaSBkaW5nbGFuZGUpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTgyCisjOiBidWlsdGluL2ZldGNoLmM6NTk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIGhhciBibGl2aXQgZGluZ2xhbmRlKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU4OQorIzogYnVpbHRpbi9mZXRjaC5jOjYwNgogbXNnaWQgIltkZWxldGVkXSIKIG1zZ3N0ciAiW2JvcnR0YWdlbl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1OTAgYnVpbHRpbi9yZW1vdGUuYzoxMDU1CisjOiBidWlsdGluL2ZldGNoLmM6NjA3IGJ1aWx0aW4vcmVtb3RlLmM6MTA1NQogbXNnaWQgIihub25lKSIKIG1zZ3N0ciAiKGluZ2VuKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcwOAorIzogYnVpbHRpbi9mZXRjaC5jOjcyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBmZXRjaCBpbnRvIGN1cnJlbnQgYnJhbmNoICVzIG9mIG5vbi1iYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIlbDpGdyYXIgaMOkbXRhIHRpbGwgYWt0dWVsbCBncmVuICVzIGkgZXR0IGlja2UtbmFrZXQgYXJraXYiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZmV0Y2ggZnJvbSAlcyIKLW1zZ3N0ciAiVmV0IGludGUgaHVyIG1hbiBow6RtdGFyIGZyw6VuICVzIgotCi0jOiBidWlsdGluL2ZldGNoLmM6ODIzCisjOiBidWlsdGluL2ZldGNoLmM6NzQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgdmFsdWUgXCIlc1wiIGlzIG5vdCB2YWxpZCBmb3IgJXMiCiBtc2dzdHIgIkZsYWdnYW4gXCIlc1wiIG9jaCB2w6RyZGV0IFwiJXNcIiDDpHIgaW50ZSBnaWx0aWd0IGbDtnIgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICJGbGFnZ2FuIFwiJXNcIiBpZ25vcmVyYXMgZsO2ciAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTI4CisjOiBidWlsdGluL2ZldGNoLmM6ODAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCittc2dzdHIgIlZldCBpbnRlIGh1ciBtYW4gaMOkbXRhciBmcsOlbiAlcyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyAlc1xuIgogbXNnc3RyICJIw6RtdGFyICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MzAgYnVpbHRpbi9yZW1vdGUuYzoxMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NzggYnVpbHRpbi9yZW1vdGUuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgogbXNnc3RyICJLdW5kZSBpbnRlIGjDpG10YSAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk0OQorIzogYnVpbHRpbi9mZXRjaC5jOjk5NwogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgpAQCAtNDk4NiwzMiArNTE2OCwzMiBAQAogIkluZ2V0IGZqw6RycmFya2l2IGFuZ2F2cy4gQW5nZSBhbnRpbmdlbiBlbiBVUkwgZWxsZXIgbmFtbmV0IHDDpSBldHRcbiIKICJmasOkcnJhcmtpdiBzb20gbnlhIGluY2hlY2tuaW5nYXIgc2thbGwgaMOkbXRhcyBmcsOlbi4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDIwCiBtc2dpZCAiWW91IG5lZWQgdG8gc3BlY2lmeSBhIHRhZyBuYW1lLiIKIG1zZ3N0ciAiRHUgbcOlc3RlIGFuZ2UgbmFtbmV0IHDDpSBlbiB0YWdnLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDY4CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi0tZGVwdGggb2NoIC0tdW5zaGFsbG93IGthbiBpbnRlIGFudsOkbmRhcyBzYW10aWRpZ3QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE3CisjOiBidWlsdGluL2ZldGNoLmM6MTA3MAogbXNnaWQgIi0tdW5zaGFsbG93IG9uIGEgY29tcGxldGUgcmVwb3NpdG9yeSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLXVuc2hhbGxvdyBrYW4gaW50ZSBhbnbDpG5kYXMgcMOlIGV0dCBrb21wbGV0dCBhcmtpdiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMzYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDg5CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiCiBtc2dzdHIgImZldGNoIC0tYWxsIHRhciBpbnRlIG5hbW5ldCBww6UgZXR0IGFya2l2IHNvbSBhcmd1bWVudCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMzgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDkxCiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgbWFrZSBzZW5zZSB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICJmZXRjaCAtLWFsbCBrYW4gaW50ZSBhbmdlcyBtZWQgcmVmZXJlbnNzcGVjaWZpa2F0aW9uZXIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDQ5CisjOiBidWlsdGluL2ZldGNoLmM6MTEwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgogbXNnc3RyICJGasOkcnJlbiBlbGxlciBmasOkcnJncnVwcGVuIGZpbm5zIGludGU6ICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA1NworIzogYnVpbHRpbi9mZXRjaC5jOjExMTAKIG1zZ2lkICJGZXRjaGluZyBhIGdyb3VwIGFuZCBzcGVjaWZ5aW5nIHJlZnNwZWNzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIkthbiBpbnRlIGjDpG10YSBmcsOlbiBncnVwcCBvY2ggYW5nZSByZWZlcmVuc3NwZWNpZmlrYXRpb25lciIKIApAQCAtNTAyMCw5ICs1MjAyLDkgQEAKIG1zZ3N0ciAiIgogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWVkZGVsYW5kZT5dIFstLWxvZ1s9PG4+XXwtLW5vLWxvZ10gWy0tZmlsZSA8ZmlsPl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYgYnVpbHRpbi9ncmVwLmM6NzAwCi0jOiBidWlsdGluL21lcmdlLmM6MjAzIGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUgYnVpbHRpbi9zaG93LXJlZi5jOjE3OQotIzogYnVpbHRpbi90YWcuYzo0NDYgcGFyc2Utb3B0aW9ucy5oOjEzMyBwYXJzZS1vcHRpb25zLmg6MjQzCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2IGJ1aWx0aW4vZ3JlcC5jOjcwMgorIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzgKKyM6IGJ1aWx0aW4vdGFnLmM6NDQ2IHBhcnNlLW9wdGlvbnMuaDoxMzUgcGFyc2Utb3B0aW9ucy5oOjI0NQogbXNnaWQgIm4iCiBtc2dzdHIgIm4iCiAKQEAgLTUwNDYsMTE3ICs1MjI4LDEyMSBAQAogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgogbXNnc3RyICJmaWwgYXR0IGzDpHNhIGZyw6VuIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk3OQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5OTUKIG1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFtvcHRpb25zXSBbPHBhdHRlcm4+XSIKIG1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbZmxhZ2dvcl0gWzxtw7Zuc3Rlcj5dIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5NAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDEwCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBzaGVsbHMiCiBtc2dzdHIgImNpdGVyYSBwbGF0c2jDpWxsYXJlIHBhc3NhbmRlIGbDtnIgc2thbCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5OTYKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAxMgogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgcGVybCIKIG1zZ3N0ciAiY2l0ZXJhIHBsYXRzaMOlbGxhcmUgcGFzc2FuZGUgZsO2ciBwZXJsIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5OAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDE0CiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBweXRob24iCiBtc2dzdHIgImNpdGVyYSBwbGF0c2jDpWxsYXJlIHBhc3NhbmRlIGbDtnIgcHl0aG9uIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDAKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAxNgogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgdGNsIgogbXNnc3RyICJjaXRlcmEgcGxhdHNow6VsbGFyZSBwYXNzYW5kZSBmw7ZyIHRjbCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDAzCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMTkKIG1zZ2lkICJzaG93IG9ubHkgPG4+IG1hdGNoZWQgcmVmcyIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgPG4+IHRyw6RmZmFkZSByZWZzIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAyMAogbXNnaWQgImZvcm1hdCIKIG1zZ3N0ciAiZm9ybWF0IgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAyMAogbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCiBtc2dzdHIgImZvcm1hdCBhdHQgYW52w6RuZGEgZsO2ciB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDIxCiBtc2dpZCAia2V5IgogbXNnc3RyICJueWNrZWwiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNgorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDIyCiBtc2dpZCAiZmllbGQgbmFtZSB0byBzb3J0IG9uIgogbXNnc3RyICJmw6RsdG5hbW4gYXR0IHNvcnRlcmEgcMOlIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MDgKKyM6IGJ1aWx0aW4vZnNjay5jOjYwNwogbXNnaWQgImdpdCBmc2NrIFtvcHRpb25zXSBbPG9iamVjdD4uLi5dIgogbXNnc3RyICJnaXQgZnNjayBbZmxhZ2dvcl0gWzxvYmpla3Q+Li4uXSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE0CisjOiBidWlsdGluL2ZzY2suYzo2MTMKIG1zZ2lkICJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgInZpc2Egb27DpWJhcmEgb2JqZWt0IgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTUKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNAogbXNnaWQgInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIKIG1zZ3N0ciAidmlzYSBkaW5nbGFuZGUgb2JqZWt0IgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTYKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNQogbXNnaWQgInJlcG9ydCB0YWdzIgogbXNnc3RyICJyYXBwb3J0ZXJhIHRhZ2dhciIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE3CisjOiBidWlsdGluL2ZzY2suYzo2MTYKIG1zZ2lkICJyZXBvcnQgcm9vdCBub2RlcyIKIG1zZ3N0ciAicmFwcG9ydGVyYSByb3Rub2RlciIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE4CisjOiBidWlsdGluL2ZzY2suYzo2MTcKIG1zZ2lkICJtYWtlIGluZGV4IG9iamVjdHMgaGVhZCBub2RlcyIKIG1zZ3N0ciAiZ8O2ciBpbmRleG9qZWt0IHRpbGwgaHV2dWRub2RlciIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE5CisjOiBidWlsdGluL2ZzY2suYzo2MTgKIG1zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCiBtc2dzdHIgImfDtnIgcmVmbG9nZ2FyIHRpbGwgaHV2dWRub2RlciAoc3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MjAKKyM6IGJ1aWx0aW4vZnNjay5jOjYxOQogbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgogbXNnc3RyICJ0YSDDpHZlbiBow6Ruc3luIHRpbGwgcGFrZXQgb2NoIGFsdGVybmF0aXZhIG9iamVrdCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjIxCisjOiBidWlsdGluL2ZzY2suYzo2MjAKIG1zZ2lkICJlbmFibGUgbW9yZSBzdHJpY3QgY2hlY2tpbmciCiBtc2dzdHIgImFrdGl2ZXJhIHN0cmlrdGFyZSBrb250cm9sbCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjIzCisjOiBidWlsdGluL2ZzY2suYzo2MjIKIG1zZ2lkICJ3cml0ZSBkYW5nbGluZyBvYmplY3RzIGluIC5naXQvbG9zdC1mb3VuZCIKIG1zZ3N0ciAic2tyaXYgZGluZ2xhbmRlIG9iamVrdCBpIC5naXQvbG9zdC1mb3VuZCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjI0IGJ1aWx0aW4vcHJ1bmUuYzoxMzQKKyM6IGJ1aWx0aW4vZnNjay5jOjYyMyBidWlsdGluL3BydW5lLmM6MTM0CiBtc2dpZCAic2hvdyBwcm9ncmVzcyIKIG1zZ3N0ciAidmlzYSBmw7ZybG9wcCIKIAotIzogYnVpbHRpbi9nYy5jOjIyCisjOiBidWlsdGluL2djLmM6MjMKIG1zZ2lkICJnaXQgZ2MgW29wdGlvbnNdIgogbXNnc3RyICJnaXQgZ2MgW2ZsYWdnb3JdIgogCi0jOiBidWlsdGluL2djLmM6NjMKKyM6IGJ1aWx0aW4vZ2MuYzo3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgogbXNnc3RyICJGZWxha3RpZ3QgJXM6IFwiJXNcIiIKIAotIzogYnVpbHRpbi9nYy5jOjkwCisjOiBidWlsdGluL2djLmM6MTA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZWx5IGxvbmcgb2JqZWN0IGRpcmVjdG9yeSAlLipzIgogbXNnc3RyICJ0b2tpZ3QgbMOlbmcgb2JqZWt0a2F0YWxvZyAlLipzIgogCi0jOiBidWlsdGluL2djLmM6MTc5CisjOiBidWlsdGluL2djLmM6MjYxCiBtc2dpZCAicHJ1bmUgdW5yZWZlcmVuY2VkIG9iamVjdHMiCiBtc2dzdHIgInJlbnNhIGVqIHJlZmVyZXJhZGUgb2JqZWt0IgogCi0jOiBidWlsdGluL2djLmM6MTgxCisjOiBidWlsdGluL2djLmM6MjYzCiBtc2dpZCAiYmUgbW9yZSB0aG9yb3VnaCAoaW5jcmVhc2VkIHJ1bnRpbWUpIgogbXNnc3RyICJ2YXIgbWVyIGdydW5kbGlnICjDtmthciBrw7ZydGlkZW4pIgogCi0jOiBidWlsdGluL2djLmM6MTgyCisjOiBidWlsdGluL2djLmM6MjY0CiBtc2dpZCAiZW5hYmxlIGF1dG8tZ2MgbW9kZSIKIG1zZ3N0ciAiYWt0aXZlcmEgYXV0by1nYy1sw6RnZSIKIAotIzogYnVpbHRpbi9nYy5jOjIyMgorIzogYnVpbHRpbi9nYy5jOjI2NQorbXNnaWQgImZvcmNlIHJ1bm5pbmcgZ2MgZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBnYyBydW5uaW5nIgorbXNnc3RyICJ0dmluZ2EgZ2Mta8O2cm5pbmcgw6R2ZW4gb20gZW4gYW5uYW4gZ2Mga2Fuc2tlIGvDtnJzIgorCisjOiBidWlsdGluL2djLmM6MzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuIFlvdSBtYXkgYWxzb1xuIgpAQCAtNTE2NSw0MyArNTM1MSw1MiBAQAogIlBhY2thciBhcmtpdmV0IGF1dG9tYXRpc2t0IGbDtnIgb3B0aW1hbCBwcmVzdGFuZGEuIER1IGthbiDDpHZlblxuIgogImvDtnJhIFwiZ2l0IGdjXCIgbWFudWVsbHQuIFNlIFwiZ2l0IGhlbHAgZ2NcIiBmw7ZyIG1lciBpbmZvcm1hdGlvbi5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjI0OQorIy4gYmUgcXVpZXQgb24gLS1hdXRvCisjOiBidWlsdGluL2djLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJnYyBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gbWFjaGluZSAnJXMnIHBpZCAlPFBSSXVNQVg+ICh1c2UgLS1mb3JjZSBpZiBub3QpIgorbXNnc3RyICIiCisiZ2Mga8O2cnMgcmVkYW4gcMOlIG1hc2tpbmVuIFwiJXNcIiBwaWQgJTxQUkl1TUFYPiAoYW52w6RuZCAtLWZvcmNlIG9tIHPDpSBpbnRlICIKKyLDpHIgZmFsbGV0KSIKKworIzogYnVpbHRpbi9nYy5jOjM0MAogbXNnaWQgIiIKICJUaGVyZSBhcmUgdG9vIG1hbnkgdW5yZWFjaGFibGUgbG9vc2Ugb2JqZWN0czsgcnVuICdnaXQgcHJ1bmUnIHRvIHJlbW92ZSB0aGVtLiIKIG1zZ3N0ciAiIgogIkRldCBmaW5ucyBmw7ZyIG3DpW5nYSBvbsOlYmFyYSBsw7ZzYSBvYmpla3Q7IGvDtnIgXCJnaXQgcHJ1bmVcIiBmw7ZyIGF0dCB0YSBib3J0ICIKICJkZW0uIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMgorIzogYnVpbHRpbi9ncmVwLmM6MjMKIG1zZ2lkICJnaXQgZ3JlcCBbb3B0aW9uc10gWy1lXSA8cGF0dGVybj4gWzxyZXY+Li4uXSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgZ3JlcCBbZmxhZ2dvcl0gWy1lXSA8bcO2bnN0ZXI+IFs8cmV2Pi4uLl0gW1stLV0gPHPDtmt2w6RnPi4uLl0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIxNworIzogYnVpbHRpbi9ncmVwLmM6MjE4CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyZXA6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiZ3JlcDogbWlzc2x5Y2thZGVzIHNrYXBhIHRyw6VkLiAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MzY0CisjOiBidWlsdGluL2dyZXAuYzozNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNoZGlyOiAlcyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBieXRhIGthdGFsb2cgKGNoZGlyKTogJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ0MiBidWlsdGluL2dyZXAuYzo0NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ0MyBidWlsdGluL2dyZXAuYzo0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIHRyw6RkICglcykiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ5MgorIzogYnVpbHRpbi9ncmVwLmM6NDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBncmVwIGZyb20gb2JqZWN0IG9mIHR5cGUgJXMiCiBtc2dzdHIgIkt1bmRlIGludGUgXCJncmVwXCIgZnLDpW4gb2JqZWt0IGF2IHR5cGVuICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo1NTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICJmbGFnZ2FuIFwiJWNcIiBhbnRhciBldHQgbnVtZXJpc2t0IHbDpHJkZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTY3CisjOiBidWlsdGluL2dyZXAuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAia2FuIGludGUgw7ZwcG5hIFwiJXNcIiIKQEAgLTUyNDMsMTU4ICs1NDM4LDE2MiBAQAogbXNnc3RyICJ0csOkZmZhIGludGUgbcO2bnN0ZXIgaSBiaW7DpHJmaWxlciIKIAogIzogYnVpbHRpbi9ncmVwLmM6NjYyCittc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgd2l0aCB0ZXh0Y29udiBmaWx0ZXJzIgorbXNnc3RyICJoYW50ZXJhIGJpbsOkcmZpbGVyIG1lZCB0ZXh0Y29udi1maWx0ZXIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2NAogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAiZ8OlIHNvbSBtZXN0IG5lZCA8ZGp1cD4gbml2w6VlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjY2CisjOiBidWlsdGluL2dyZXAuYzo2NjgKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAiYW52w6RuZCB1dMO2a2FkZSBQT1NJWC1yZWd1bGrDpHJhIHV0dHJ5Y2siCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2OQorIzogYnVpbHRpbi9ncmVwLmM6NjcxCiBtc2dpZCAidXNlIGJhc2ljIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMgKGRlZmF1bHQpIgogbXNnc3RyICJhbnbDpG5kIGdydW5kbMOkZ2dhbmRlIFBPU0lYLXJlZ3VsasOkcmEgdXR0cnljayAoc3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3NAogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICJ0b2xrYSBtw7Zuc3RlciBzb20gZml4ZXJhZGUgc3Ryw6RuZ2FyIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3NwogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAiYW52w6RuZCBQZXJsa29tcGF0aWJsYSByZWd1bGrDpHJhIHV0dHJ5Y2siCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3OAorIzogYnVpbHRpbi9ncmVwLmM6NjgwCiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgInZpc2EgcmFkbnVtbWVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4MQogbXNnaWQgImRvbid0IHNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJ2aXNhIGludGUgZmlsbmFtbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjgwCisjOiBidWlsdGluL2dyZXAuYzo2ODIKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAidmlzYSBmaWxuYW1uIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NAogbXNnaWQgInNob3cgZmlsZW5hbWVzIHJlbGF0aXZlIHRvIHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgInZpc2EgZmlsbmFtbiByZWxhdGl2YSB0aWxsIHRvcHBrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NAorIzogYnVpbHRpbi9ncmVwLmM6Njg2CiBtc2dpZCAic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJ2aXNhIGVuZGFzdCBmaWxuYW1uIGlzdMOkbGxldCBmw7ZyIHRyw6RmZmFkZSByYWRlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg2CisjOiBidWlsdGluL2dyZXAuYzo2ODgKIG1zZ2lkICJzeW5vbnltIGZvciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIG1zZ3N0ciAic3lub255bSBmw7ZyIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MQogbXNnaWQgInNob3cgb25seSB0aGUgbmFtZXMgb2YgZmlsZXMgd2l0aG91dCBtYXRjaCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgbmFtbiBww6UgZmlsZXIgdXRhbiB0csOkZmZhciIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjkxCisjOiBidWlsdGluL2dyZXAuYzo2OTMKIG1zZ2lkICJwcmludCBOVUwgYWZ0ZXIgZmlsZW5hbWVzIgogbXNnc3RyICJza3JpdiBOVUwgZWZ0ZXIgZmlsbmFtbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjkzCisjOiBidWlsdGluL2dyZXAuYzo2OTUKIG1zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJ2aXNhIGFudGFsIHRyw6RmZmFyIGlzdMOkbGxldCBmw7ZyIHRyw6RmZmFkZSByYWRlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk0CisjOiBidWlsdGluL2dyZXAuYzo2OTYKIG1zZ2lkICJoaWdobGlnaHQgbWF0Y2hlcyIKIG1zZ3N0ciAibGp1c21hcmtlcmEgdHLDpGZmYXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5NgorIzogYnVpbHRpbi9ncmVwLmM6Njk4CiBtc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCiBtc2dzdHIgInNrcml2IHRvbW1hIHJhZGVyIG1lbGxhbiB0csOkZmZhciBmcsOlbiBvbGlrYSBmaWxlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk4CisjOiBidWlsdGluL2dyZXAuYzo3MDAKIG1zZ2lkICJzaG93IGZpbGVuYW1lIG9ubHkgb25jZSBhYm92ZSBtYXRjaGVzIGZyb20gc2FtZSBmaWxlIgogbXNnc3RyICJ2aXNhIGZpbG5hbW4gZW5kYXN0IGVuIGfDpW5nIG92YW5mw7ZyIHRyw6RmZmFyIGZyw6VuIHNhbW1hIGZpbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAxCisjOiBidWlsdGluL2dyZXAuYzo3MDMKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBhbmQgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAidmlzYSA8bj4gcmFkZXIgc2FtbWFuaGFuZyBmw7ZyZSBvY2ggZWZ0ZXIgdHLDpGZmYXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNAorIzogYnVpbHRpbi9ncmVwLmM6NzA2CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAidmlzYSA8bj4gcmFkZXIgc2FtbWFuaGFuZyBmw7ZyZSB0csOkZmZhciIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA2CisjOiBidWlsdGluL2dyZXAuYzo3MDgKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgInZpc2EgPG4+IHJhZGVyIHNhbW1hbmhhbmcgZWZ0ZXIgdHLDpGZmYXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNworIzogYnVpbHRpbi9ncmVwLmM6NzA5CiBtc2dpZCAic2hvcnRjdXQgZm9yIC1DIE5VTSIKIG1zZ3N0ciAiZ2VudsOkZyBmw7ZyIC1DIE5VTSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEwCisjOiBidWlsdGluL2dyZXAuYzo3MTIKIG1zZ2lkICJzaG93IGEgbGluZSB3aXRoIHRoZSBmdW5jdGlvbiBuYW1lIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICJ2aXNhIGVuIHJhZCBtZWQgZnVua3Rpb25zbmFtbmV0IGbDtnJlIHRyw6RmZmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNAogbXNnaWQgInNob3cgdGhlIHN1cnJvdW5kaW5nIGZ1bmN0aW9uIgogbXNnc3RyICJ2aXNhIGRlbiBvbWtyaW5nbGlnZ2FuZGUgZnVua3Rpb25lbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE1CisjOiBidWlsdGluL2dyZXAuYzo3MTcKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKIG1zZ3N0ciAibMOkcyBtw7Zuc3RlciBmcsOlbiBmaWwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxNworIzogYnVpbHRpbi9ncmVwLmM6NzE5CiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICJ0csOkZmZhIDxtw7Zuc3Rlcj4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxOQorIzogYnVpbHRpbi9ncmVwLmM6NzIxCiBtc2dpZCAiY29tYmluZSBwYXR0ZXJucyBzcGVjaWZpZWQgd2l0aCAtZSIKIG1zZ3N0ciAia29tYmluZXJhIG3Dtm5zdGVyIHNvbSBhbmdlcyBtZWQgLWUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczMQorIzogYnVpbHRpbi9ncmVwLmM6NzMzCiBtc2dpZCAiaW5kaWNhdGUgaGl0IHdpdGggZXhpdCBzdGF0dXMgd2l0aG91dCBvdXRwdXQiCiBtc2dzdHIgImFuZ2UgdHLDpGZmIG1lZCBzbHV0c3RhdHVza29kIHV0YW4gdXRkYXRhIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczNQogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgInZpc2EgZW5kYXN0IHRyw6RmZmFyIGZyw6VuIGZpbGVyIHNvbSB0csOkZmZhciBhbGxhIG3Dtm5zdGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczNwogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICJ2aXNhIGFuYWx5c3Ryw6RkIGbDtnIgZ3JlcC11dHRyeWNrIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQogbXNnaWQgInBhZ2VyIgogbXNnc3RyICJibMOkZGRyYXJlIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQogbXNnaWQgInNob3cgbWF0Y2hpbmcgZmlsZXMgaW4gdGhlIHBhZ2VyIgogbXNnc3RyICJ2aXNhIHRyw6RmZmFkZSBmaWxlciBpIGZpbGJsw6RkZHJhcmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0NAogbXNnaWQgImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIKIG1zZ3N0ciAidGlsbMOldCBhbnJvcGEgZ3JlcCgxKSAoaWdub3JlcmFzIGF2IGRldHRhIGJ5Z2dlKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQzIGJ1aWx0aW4vc2hvdy1yZWYuYzoxODgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0NSBidWlsdGluL3Nob3ctcmVmLmM6MTg3CiBtc2dpZCAic2hvdyB1c2FnZSIKIG1zZ3N0ciAidmlzYSBhbnbDpG5kbmluZyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODEwCisjOiBidWlsdGluL2dyZXAuYzo4MTIKIG1zZ2lkICJubyBwYXR0ZXJuIGdpdmVuLiIKIG1zZ3N0ciAiaW5nZXQgbcO2bnN0ZXIgYW5nYXZzLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODY1CisjOiBidWlsdGluL2dyZXAuYzo4NzAKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBmdW5nZXJhciBlbmRhc3QgaSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4OAorIzogYnVpbHRpbi9ncmVwLmM6ODkzCiBtc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKIG1zZ3N0ciAiLS1jYWNoZWQgb2NoIC0tdW50cmFja2VkIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgLS1uby1pbmRleC4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg5MworIzogYnVpbHRpbi9ncmVwLmM6ODk4CiBtc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMuIgogbXNnc3RyICItLW5vLWluZGV4IG9jaCAtLXVudHJhY2tlZCBrYW4gaW50ZSBhbnbDpG5kYXMgbWVkIHJldmlzaW9uZXIuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4OTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMQogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzLiIKIG1zZ3N0ciAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQga2FuIGludGUgYW52w6RuZGFzIGbDtnIgc3DDpXJhdCBpbm5laMOlbGwuIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCiBtc2dzdHIgImLDpWRlIC0tY2FjaGVkIG9jaCB0csOkZCBhbmdhdnMuIgogCkBAIC01NjQ5LDggKzU4NDgsOCBAQAogbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKIG1zZ3N0ciAiU0hBMS1LT0xMSVNJT04gVVBQVMOEQ0tUIFZJRCAlcyAhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo2NjkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo2NjkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhICVzIgpAQCAtNTY3OSwxNTUgKzU4NzgsMTU1IEBACiBtc2dpZCAiTm90IGFsbCBjaGlsZCBvYmplY3RzIG9mICVzIGFyZSByZWFjaGFibGUiCiBtc2dzdHIgIkludGUgYWxsYSBiYXJub2JqZWt0IGbDtnIgJXMga2FuIG7DpXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzOCBidWlsdGluL2luZGV4LXBhY2suYzo4NjgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzOSBidWlsdGluL2luZGV4LXBhY2suYzo4NjkKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0aWxsw6RtcGEgZGVsdGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwMTAKIG1zZ2lkICJSZWNlaXZpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiVGFyIGVtb3Qgb2JqZWt0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDEwCiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiU2thcGFyIGluZGV4IGbDtnIgb2JqZWt0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM2CiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICJwYWtldGV0IMOkciB0cmFzaWd0IChTSEExIHN0w6RtbWVyIGludGUpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQxCiBtc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgogbXNnc3RyICJrYW4gaW50ZSB1dGbDtnJhIFwiZnN0YXRcIiBww6UgcGFrZXRmaWwiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNDQKIG1zZ2lkICJwYWNrIGhhcyBqdW5rIGF0IHRoZSBlbmQiCiBtc2dzdHIgInBha2V0IGhhciBza3LDpHAgaSBzbHV0ZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNTUKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogbXNnc3RyICJmw7ZydmlycmFkIGJvcnRvbSB2YW52ZXR0IGkgcGFyc2VfcGFja19vYmplY3RzKCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNzgKIG1zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgogbXNnc3RyICJBbmFseXNlcmFyIGRlbHRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDg3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSB0csOlZDogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMzAKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICJmw7ZydmlycmFkIGJvcnRvbSB2YW52ZXR0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTM3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdHMiCiBtc2dzdHIgInNsdXRmw7ZyZGVzIG1lZCAlZCBsb2thbGEgb2JqZWt0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICJPdsOkbnRhZCBzdmFuc2NoZWNrc3VtbWEgZsO2ciAlcyAodHJhc2lnIGRpc2s/KSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAicGFrZXRldCBoYXIgJWQgb2FuYWx5c2VyYXQgZGVsdGEiCiBtc2dzdHJbMV0gInBha2V0ZXQgaGFyICVkIG9hbmFseXNlcmFkZSBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKIG1zZ3N0ciAia3VuZGUgaW50ZSB1dGbDtnJhIFwiZGVmbGF0ZVwiIHDDpSB0aWxsYWd0IG9iamVrdCAoJWQpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvY2FsIG9iamVjdCAlcyBpcyBjb3JydXB0IgogbXNnc3RyICJsb2thbHQgb2JqZWt0ICVzIMOkciB0cmFzaWd0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjc5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjgwCiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgImZlbCB2aWQgc3TDpG5nbmluZyBhdiBwYWtldGZpbCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUga2VlcCBmaWxlICclcyciCiBtc2dzdHIgImthbiBpbnRlIHRhIHNrcml2YSBcImtlZXBcIi1maWwgXCIlc1wiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzAwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjbG9zZSB3cml0dGVuIGtlZXAgZmlsZSAnJXMnIgogbXNnc3RyICJha24gaW50ZSBzdMOkbmdhIHNrcml2ZW4gXCJrZWVwXCItZmlsIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMxMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMxNAogbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCiBtc2dzdHIgImthbiBpbnRlIHNwYXJhIHBha2V0ZmlsIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzI0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzI1CiBtc2dpZCAiY2Fubm90IHN0b3JlIGluZGV4IGZpbGUiCiBtc2dzdHIgImthbiBpbnRlIHNwYXJhIGluZGV4ZmlsIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzU3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiBtc2dzdHIgImZlbGFrdGlnIHBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIgogbXNnc3RyICJmZWxha3RpZ3QgYW50YWwgdHLDpWRhciBhbmdpdmV0ICglZCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2OCBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCiBtc2dzdHIgInRyw6Vkc3TDtmQgc2FrbmFzLCBpZ25vcmVyYXIgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIkthbiBpbnRlIMO2cHBuYSBiZWZpbnRsaWcgcGFrZXRmaWwgXCIlc1wiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgIkthbiBpbnRlIMO2cHBuYSBiZWZpbnRsaWd0IHBha2V0LWlkeC1maWwgZsO2ciBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKIG1zZ3N0clswXSAiaWNrZS1kZWx0YTogJWQgb2JqZWt0IgogbXNnc3RyWzFdICJpY2tlLWRlbHRhOiAlZCBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKIG1zZ3N0clswXSAia2VkamVsw6RuZ2QgPSAlZDogJWx1IG9iamVrdCIKIG1zZ3N0clsxXSAia2VkamVsw6RuZ2QgPSAlZDogJWx1IG9iamVrdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUxMAogbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICJLYW4gaW50ZSBnw6UgdGlsbGJha2EgdGlsbCBhcmJldHNrYXRhbG9nZW4gKGN3ZCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2MAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3MiBidWlsdGluL2luZGV4LXBhY2suYzoxNTc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTU4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NjEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NzMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgImZlbGFrdGlnICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkxCiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgIi0tZml4LXRoaW4ga2FuIGludGUgYW52w6RuZGFzIG1lZCAtLXN0ZGluIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKIG1zZ3N0ciAicGFrZXRmaWxuYW1uZXQgXCIlc1wiIHNsdXRhciBpbnRlIG1lZCBcIi5wYWNrXCIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTQKIG1zZ2lkICItLXZlcmlmeSB3aXRoIG5vIHBhY2tmaWxlIG5hbWUgZ2l2ZW4iCiBtc2dzdHIgIi0tdmVyaWZ5IGFuZ2F2cyB1dGFuIHBha2V0ZmlsbmFtbiIKIApAQCAtNTkxNiwxMSArNjExNSw2IEBACiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgImthbiBpbnRlIGZseXR0YSAlcyB0aWxsICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBnaXQgbGluayAlcyIKLW1zZ3N0ciAiS3VuZGUgaW50ZSBza2FwYSBnaXRsw6RuayAlcyIKLQogIy4KICMuICogVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAnJXMnIGlzIGVpdGhlciAiUmVpbml0aWFsaXplZAogIy4gKiBleGlzdGluZyIgb3IgIkluaXRpYWxpemVkIGVtcHR5IiwgdGhlIHNlY29uZCAiIHNoYXJlZCIgb3IKQEAgLTU5NjMsNyArNjE1Nyw3IEBACiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgogbXNnc3RyICJhbmdlIGF0dCBnaXQtYXJraXZldCBza2FsbCBkZWxhcyBibGFuZCBmbGVyYSBhbnbDpG5kYXJlIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0OTMgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDkzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzUgYnVpbHRpbi9yZXBhY2suYzoxNTUKIG1zZ2lkICJiZSBxdWlldCIKIG1zZ3N0ciAidmFyIHR5c3QiCiAKQEAgLTYwMDMsMzgxICs2MTk3LDM4MSBAQAogbXNnaWQgIiAgIG9yOiBnaXQgc2hvdyBbb3B0aW9uc10gPG9iamVjdD4uLi4iCiBtc2dzdHIgIiAgICAgZWxsZXI6IGdpdCBzaG93IFtmbGFnZ29yXSA8b2JqZWt0Pi4uLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTI1CiBtc2dpZCAic3VwcHJlc3MgZGlmZiBvdXRwdXQiCiBtc2dzdHIgInVuZGVydHJ5Y2sgZGlmZi11dGRhdGEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1CisjOiBidWlsdGluL2xvZy5jOjEyNgogbXNnaWQgInNob3cgc291cmNlIgogbXNnc3RyICJ2aXNhIGvDpGxsa29kIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNgorIzogYnVpbHRpbi9sb2cuYzoxMjcKIG1zZ2lkICJVc2UgbWFpbCBtYXAgZmlsZSIKIG1zZ3N0ciAiQW52w6RuZCBlLXBvc3RtYXBwbmluZ3NmaWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI3CisjOiBidWlsdGluL2xvZy5jOjEyOAogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCiBtc2dzdHIgImRla29yZXJpbmdzZmxhZ2dvciIKIAotIzogYnVpbHRpbi9sb2cuYzoyMzAKKyM6IGJ1aWx0aW4vbG9nLmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpbmFsIG91dHB1dDogJWQgJXNcbiIKIG1zZ3N0ciAiU2x1dHV0ZGF0YTogJWQgJXNcbiIKIAotIzogYnVpbHRpbi9sb2cuYzo0NTMgYnVpbHRpbi9sb2cuYzo1NDUKKyM6IGJ1aWx0aW4vbG9nLmM6NDczIGJ1aWx0aW4vbG9nLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBsw6RzYSBvYmpla3RldCAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo1NjkKKyM6IGJ1aWx0aW4vbG9nLmM6NTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdHlwZTogJWQiCiBtc2dzdHIgIk9rw6RuZCB0eXA6ICVkIgogCi0jOiBidWlsdGluL2xvZy5jOjY2OQorIzogYnVpbHRpbi9sb2cuYzo2ODkKIG1zZ2lkICJmb3JtYXQuaGVhZGVycyB3aXRob3V0IHZhbHVlIgogbXNnc3RyICJmb3JtYXQuaGVhZGVycyB1dGFuIHbDpHJkZSIKIAotIzogYnVpbHRpbi9sb2cuYzo3NTEKKyM6IGJ1aWx0aW4vbG9nLmM6NzcxCiBtc2dpZCAibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIgogbXNnc3RyICJuYW1uZXQgcMOlIHV0ZGF0YWthdGFsb2dlbiDDpHIgZsO2ciBsw6VuZ3QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NzY3CisjOiBidWlsdGluL2xvZy5jOjc4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICJLYW4gaW50ZSDDtnBwbmEgcGF0Y2hmaWxlbiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo3ODEKKyM6IGJ1aWx0aW4vbG9nLmM6ODAxCiBtc2dpZCAiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iCiBtc2dzdHIgIkJlaMO2dmVyIHByZWNpcyBldHQgaW50ZXJ2YWxsLiIKIAotIzogYnVpbHRpbi9sb2cuYzo3ODkKKyM6IGJ1aWx0aW4vbG9nLmM6ODA5CiBtc2dpZCAiTm90IGEgcmFuZ2UuIgogbXNnc3RyICJJbnRlIGV0dCBpbnRlcnZhbGwuIgogCi0jOiBidWlsdGluL2xvZy5jOjg5MQorIzogYnVpbHRpbi9sb2cuYzo5MTEKIG1zZ2lkICJDb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgogbXNnc3RyICJPbXNsYWdzYnJldmV0IGJlaMO2dmVyIGUtcG9zdGZvcm1hdCIKIAotIzogYnVpbHRpbi9sb2cuYzo5NjcKKyM6IGJ1aWx0aW4vbG9nLmM6OTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCiBtc2dzdHIgInRva2lndCBpbi1yZXBseS10bzogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTk1CisjOiBidWlsdGluL2xvZy5jOjEwMTUKIG1zZ2lkICJnaXQgZm9ybWF0LXBhdGNoIFtvcHRpb25zXSBbPHNpbmNlPiB8IDxyZXZpc2lvbiByYW5nZT5dIgogbXNnc3RyICJnaXQgZm9ybWF0LXBhdGNoIFtmbGFnZ29yXSBbPHNlZGFuPiB8IDxyZXZpc2lvbnNpbnRlcnZhbGw+XSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDQwCisjOiBidWlsdGluL2xvZy5jOjEwNjAKIG1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKIG1zZ3N0ciAiVHbDpSB1dGRhdGFrYXRhbG9nZXI/IgogCi0jOiBidWlsdGluL2xvZy5jOjExNTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTE3NQogbXNnaWQgInVzZSBbUEFUQ0ggbi9tXSBldmVuIHdpdGggYSBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgImFudsOkbmQgW1BBVENIIG4vbV0gw6R2ZW4gZsO2ciBlbiBlbnNhbSBwYXRjaCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTU4CisjOiBidWlsdGluL2xvZy5jOjExNzgKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKIG1zZ3N0ciAiYW52w6RuZCBbUEFUQ0hdIMOkdmVuIGbDtnIgZmxlcmEgcGF0Y2hhciIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTYyCisjOiBidWlsdGluL2xvZy5jOjExODIKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAic2tyaXYgcGF0Y2hhcm5hIHDDpSBzdG5hZGFyZCB1dCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTY0CisjOiBidWlsdGluL2xvZy5jOjExODQKIG1zZ2lkICJnZW5lcmF0ZSBhIGNvdmVyIGxldHRlciIKIG1zZ3N0ciAiZ2VuZXJlcmEgZXR0IGbDtmxqZWJyZXYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2NgorIzogYnVpbHRpbi9sb2cuYzoxMTg2CiBtc2dpZCAidXNlIHNpbXBsZSBudW1iZXIgc2VxdWVuY2UgZm9yIG91dHB1dCBmaWxlIG5hbWVzIgogbXNnc3RyICJhbnbDpG5kIGVua2VsIG51bW1lcnNla3ZlbnMgZsO2ciB1dGRhdGFmaWxuYW1uIgogCi0jOiBidWlsdGluL2xvZy5jOjExNjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4NwogbXNnaWQgInNmeCIKIG1zZ3N0ciAic2Z4IgogCi0jOiBidWlsdGluL2xvZy5jOjExNjgKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4OAogbXNnaWQgInVzZSA8c2Z4PiBpbnN0ZWFkIG9mICcucGF0Y2gnIgogbXNnc3RyICJhbnbDpG5kIDxzZng+IGlzdMOkbGxldCBmw7ZyIFwiLnBhdGNoXCIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE3MAorIzogYnVpbHRpbi9sb2cuYzoxMTkwCiBtc2dpZCAic3RhcnQgbnVtYmVyaW5nIHBhdGNoZXMgYXQgPG4+IGluc3RlYWQgb2YgMSIKIG1zZ3N0ciAiYsO2cmphIG51bXJlcmEgcGF0Y2hhciBww6UgPG4+IGlzdMOkbGxldCBmw7ZyIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE3MgorIzogYnVpbHRpbi9sb2cuYzoxMTkyCiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICJtYXJrZXJhIHNlcmllbiBzb20gTjp0ZSBmw7Zyc8O2ayIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTc0CisjOiBidWlsdGluL2xvZy5jOjExOTQKIG1zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgIkFudsOkbmQgWzxwcmVmaXg+XSBpc3TDpGxsZXQgZsO2ciBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjExNzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTE5NwogbXNnaWQgInN0b3JlIHJlc3VsdGluZyBmaWxlcyBpbiA8ZGlyPiIKIG1zZ3N0ciAic3BhcmEgZmlsZXJuYSBpIDxrYXRhbG9nPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTgwCisjOiBidWlsdGluL2xvZy5jOjEyMDAKIG1zZ2lkICJkb24ndCBzdHJpcC9hZGQgW1BBVENIXSIKIG1zZ3N0ciAidGEgaW50ZSBib3J0IGVsbGVyIGzDpGdnIHRpbGwgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTgzCisjOiBidWlsdGluL2xvZy5jOjEyMDMKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICJza3JpdiBpbnRlIGJpbsOkcmEgZGlmZmFyIgogCi0jOiBidWlsdGluL2xvZy5jOjExODUKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwNQogbXNnaWQgImRvbid0IGluY2x1ZGUgYSBwYXRjaCBtYXRjaGluZyBhIGNvbW1pdCB1cHN0cmVhbSIKIG1zZ3N0ciAidGEgaW50ZSBtZWQgcGF0Y2hhciBzb20gbW90c3ZhcmFyIGVuIHVwcHN0csO2bXNpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTg3CisjOiBidWlsdGluL2xvZy5jOjEyMDcKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgInZpc2EgcGF0Y2hmb3JtYXQgaXN0w6RsbGV0IGbDtnIgc3RhbmRhcmQgKHBhdGNoICsgc3RhdCkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE4OQorIzogYnVpbHRpbi9sb2cuYzoxMjA5CiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICJFLXBvc3QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5MAorIzogYnVpbHRpbi9sb2cuYzoxMjEwCiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICJodXZ1ZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTkxCisjOiBidWlsdGluL2xvZy5jOjEyMTEKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgogbXNnc3RyICJsw6RnZyB0aWxsIGUtcG9zdGh1dnVkIgogCi0jOiBidWlsdGluL2xvZy5jOjExOTIgYnVpbHRpbi9sb2cuYzoxMTk0CisjOiBidWlsdGluL2xvZy5jOjEyMTIgYnVpbHRpbi9sb2cuYzoxMjE0CiBtc2dpZCAiZW1haWwiCiBtc2dzdHIgImVwb3N0IgogCi0jOiBidWlsdGluL2xvZy5jOjExOTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxMgogbXNnaWQgImFkZCBUbzogaGVhZGVyIgogbXNnc3RyICJMw6RnZyB0aWxsIG1vdHRhZ2FyaHV2dWQgKFwiVG86XCIpIgogCi0jOiBidWlsdGluL2xvZy5jOjExOTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNAogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICJMw6RnZyB0aWxsIGtvcGllaHV2dWQgKFwiQ2M6XCIpIgogCi0jOiBidWlsdGluL2xvZy5jOjExOTYKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNgogbXNnaWQgImlkZW50IgogbXNnc3RyICJpZGVudCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTk3CisjOiBidWlsdGluL2xvZy5jOjEyMTcKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICJzw6R0dCBGcsOlbi1hZHJlc3MgdGlsbCA8aWRlbnQ+IChlbGxlciBpbmNoZWNrYXJlIG9tIGlkZW50IHNha25hcykiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5OQorIzogYnVpbHRpbi9sb2cuYzoxMjE5CiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAibWVkZGVsYW5kZS1pZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjAwCisjOiBidWlsdGluL2xvZy5jOjEyMjAKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgIkfDtnIgZGV0IGbDtnJzdGEgYnJldmV0IGV0dCBzdmFyIHRpbGwgPG1lZGRlbGFuZGUtaWQ+IgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDEgYnVpbHRpbi9sb2cuYzoxMjA0CisjOiBidWlsdGluL2xvZy5jOjEyMjEgYnVpbHRpbi9sb2cuYzoxMjI0CiBtc2dpZCAiYm91bmRhcnkiCiBtc2dzdHIgImdyw6RucyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjAyCisjOiBidWlsdGluL2xvZy5jOjEyMjIKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICJiaWZvZ2EgcGF0Y2hlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjA1CisjOiBidWlsdGluL2xvZy5jOjEyMjUKIG1zZ2lkICJpbmxpbmUgdGhlIHBhdGNoIgogbXNnc3RyICJnw7ZyIHBhdGNoZW4gZXR0IGlubGluZS1vYmpla3QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwOQorIzogYnVpbHRpbi9sb2cuYzoxMjI5CiBtc2dpZCAiZW5hYmxlIG1lc3NhZ2UgdGhyZWFkaW5nLCBzdHlsZXM6IHNoYWxsb3csIGRlZXAiCiBtc2dzdHIgImFrdGl2ZXJhIGJyZXZ0csOlZG5pbmcsIHR5cGVyOiBzaGFsbG93LCBkZWVwIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTIzMQogbXNnaWQgInNpZ25hdHVyZSIKIG1zZ3N0ciAic2lnbmF0dXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIxMgorIzogYnVpbHRpbi9sb2cuYzoxMjMyCiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgogbXNnc3RyICJsw6RnZyB0aWxsIHNpZ25hdHVyIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTIzMwogbXNnaWQgImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiCiBtc2dzdHIgInZpc2EgaW50ZSBmaWxuYW1uIGbDtnIgcGF0Y2hhciIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjg4CisjOiBidWlsdGluL2xvZy5jOjEzMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKIG1zZ3N0ciAib2dpbHRpZyBpZGVudC1yYWQ6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTMyMgogbXNnaWQgIi1uIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiLW4gb2NoIC1rIGthbiBpbnRlIGFudsOkbmRhcyBzYW10aWRpZ3QuIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTMyNAogbXNnaWQgIi0tc3ViamVjdC1wcmVmaXggYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgogbXNnc3RyICItLXN1YmplY3QtcHJlZml4IG9jaCAtayBrYW4gaW50ZSBhbnbDpG5kYXMgc2FtdGlkaWd0LiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzEzCisjOiBidWlsdGluL2xvZy5jOjEzMzIKIG1zZ2lkICItLW5hbWUtb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJrYW4gaW50ZSBhbnbDpG5kYSAtLW5hbWUtb25seSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzE1CisjOiBidWlsdGluL2xvZy5jOjEzMzQKIG1zZ2lkICItLW5hbWUtc3RhdHVzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgImthbiBpbnRlIGFudsOkbmRhIC0tbmFtZS1zdGF0dXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMxNworIzogYnVpbHRpbi9sb2cuYzoxMzM2CiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJrYW4gaW50ZSBhbnbDpG5kYSAtLWNoZWNrIgogCi0jOiBidWlsdGluL2xvZy5jOjEzNDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTM1OQogbXNnaWQgInN0YW5kYXJkIG91dHB1dCwgb3IgZGlyZWN0b3J5LCB3aGljaCBvbmU/IgogbXNnc3RyICJzdGFuZGFyZCB1dCwgZWxsZXIga2F0YWxvZywgdmlsa2VuIHNrYWxsIGRldCB2YXJhPyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzQyCisjOiBidWlsdGluL2xvZy5jOjEzNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBza2FwYSBrYXRhbG9nZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0OTAKKyM6IGJ1aWx0aW4vbG9nLmM6MTUwOQogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICJNaXNzbHlja2FkZXMgc2thcGEgdXRkYXRhZmlsZXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzOQorIzogYnVpbHRpbi9sb2cuYzoxNTU4CiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPHVwcHN0csO2bT4gWzxodXZ1ZD4gWzxncsOkbnM+XV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjE1OTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCiBtc2dzdHIgIkt1bmRlIGludGUgaGl0dGEgZW4gc3DDpXJhZCBmasOkcnJncmVuLCBhbmdlIDx1cHBzdHLDtm0+IG1hbnVlbGx0LlxuIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MDcgYnVpbHRpbi9sb2cuYzoxNjA5IGJ1aWx0aW4vbG9nLmM6MTYyMQorIzogYnVpbHRpbi9sb2cuYzoxNjI2IGJ1aWx0aW4vbG9nLmM6MTYyOCBidWlsdGluL2xvZy5jOjE2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBjb21taXQgJXMiCiBtc2dzdHIgIk9rw6RuZCBpbmNoZWNrbmluZyAlcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQwOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjM5OAogbXNnaWQgImdpdCBscy1maWxlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCBscy1maWxlcyBbZmxhZ2dvcl0gWzxmaWw+Li4uXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1NQogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgImlkZW50aWZpZXJhIGZpbHN0YXR1cyBtZWQgdGFnZ2FyIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU3CiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCiBtc2dzdHIgImFudsOkbmQgc23DpSBib2tzdMOkdmVyIGbDtnIgXCJhbnRhIG9mw7Zyw6RuZHJhZGVcIi1maWxlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1OQogbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgogbXNnc3RyICJ2aXNhIGNhY2hhZGUgZmlsZXIgaSB1dGRhdGEgKHN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MQogbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJ2aXNhIGJvcnR0YWduYSBmaWxlciBpIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MwogbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBtb2RpZmllcmFkZSBmaWxlciBpIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NQogbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBhbmRyYSBmaWxlciBpIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NwogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJ2aXNhIGlnbm9yZXJhZGUgZmlsZXIgaSB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzAKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBrw7ZhdCBpbm5laMOlbGxzIG9iamVrdG5hbW4gaSB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzIKIG1zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgogbXNnc3RyICJ2aXNhIGZpbGVyIGkgZmlsc3lzdGVtZXQgc29tIGJlaMO2dmVyIHRhcyBib3J0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDg0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDc0CiBtc2dpZCAic2hvdyAnb3RoZXInIGRpcmVjdG9yaWVzJyBuYW1lIG9ubHkiCiBtc2dzdHIgInZpc2EgZW5kYXN0IG5hbW4gZsO2ciBcImFuZHJhXCIga2F0YWxvZ2VyIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDg3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDc3CiBtc2dpZCAiZG9uJ3Qgc2hvdyBlbXB0eSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAidmlzYSBpbnRlIHRvbW1hIGthdGFsb2dlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MAogbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBlaiBzYW1tYW5zbGFnbmEgZmlsZXIgaSB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODIKIG1zZ2lkICJzaG93IHJlc29sdmUtdW5kbyBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAidmlzYSBcInJlc29sdmUtdW5kb1wiLWluZm9ybWF0aW9uIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDk0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDg0CiBtc2dpZCAic2tpcCBmaWxlcyBtYXRjaGluZyBwYXR0ZXJuIgogbXNnc3RyICJob3BwYSDDtnZlciBmaWxlciBzb20gbW90c3ZhcmFyIG3Dtm5zdGVyIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDk3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDg3CiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAiZXhrbHVkZXJhIG3Dtm5zdGVyIHNvbSBsw6RzZXMgZnLDpW4gPGZpbD4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTAKIG1zZ2lkICJyZWFkIGFkZGl0aW9uYWwgcGVyLWRpcmVjdG9yeSBleGNsdWRlIHBhdHRlcm5zIGluIDxmaWxlPiIKIG1zZ3N0ciAibMOkcyB5dHRlcmxpZ2FyZSBwZXIta2F0YWxvZy1leGtsdWRlcmluZ3Ntw7Zuc3RlciBmcsOlbiA8ZmlsPiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwMgorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MgogbXNnaWQgImFkZCB0aGUgc3RhbmRhcmQgZ2l0IGV4Y2x1c2lvbnMiCiBtc2dzdHIgImzDpGdnIHRpbGwgZ2l0OnMgc3RhbmRhcmRleGtsdWRlcmluZ2FyIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTA1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDk1CiBtc2dpZCAibWFrZSB0aGUgb3V0cHV0IHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgImfDtnIgdXRkYXRhIHJlbGF0aXYgdGlsbCBwcm9qZWt0ZXRzIHRvcHBrYXRhbG9nIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTA4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDk4CiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICJvbSBlbiA8ZmlsPiBpbnRlIMOkciBpbmRleGV0LCBiZXRyYWt0YSBkZXQgc29tIGV0dCBmZWwiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTkKIG1zZ2lkICJ0cmVlLWlzaCIKIG1zZ3N0ciAidHLDpGQtaWd0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTEwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTAwCiBtc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAibMOldHNhcyBhdHQgc8O2a3bDpGdhciBib3J0dGFnbmEgc2VkYW4gPHRyw6RkLWlndD4gZm9ydGZhcmFuZGUgZmlubnMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDIKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICJ2aXNhIGZlbHPDtmtuaW5nc3V0ZGF0YSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MjcKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjI4CiBtc2dpZCAiZ2l0IGxzLXRyZWUgWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxzLXRyZWUgWzxmbGFnZ29yPl0gPHRyw6RkLWlndD4gWzxzw7ZrdsOkZz4uLi5dIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjUKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyNgogbXNnaWQgIm9ubHkgc2hvdyB0cmVlcyIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgdHLDpGQiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyNworIzogYnVpbHRpbi9scy10cmVlLmM6MTI4CiBtc2dpZCAicmVjdXJzZSBpbnRvIHN1YnRyZWVzIgogbXNnc3RyICJyZWt1cnNlcmEgbmVyIGkgdW5kZXJ0csOkZCIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI5CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzAKIG1zZ2lkICJzaG93IHRyZWVzIHdoZW4gcmVjdXJzaW5nIgogbXNnc3RyICJ2aXNhIHRyw6RkIG1lZGFuIHJla3Vyc2VyaW5nIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzIKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMwogbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIGJ5dGUiCiBtc2dzdHIgInRlcm1pbmVyYSBwb3N0ZXIgbWVkIE5VTC1ieXRlIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzMKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNAogbXNnaWQgImluY2x1ZGUgb2JqZWN0IHNpemUiCiBtc2dzdHIgImlua2x1ZGVyYSBvYmpla3RzdG9ybGVrIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzUgYnVpbHRpbi9scy10cmVlLmM6MTM3CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzYgYnVpbHRpbi9scy10cmVlLmM6MTM4CiBtc2dpZCAibGlzdCBvbmx5IGZpbGVuYW1lcyIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgZmlsbmFtbiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTQwCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDEKIG1zZ2lkICJ1c2UgZnVsbCBwYXRoIG5hbWVzIgogbXNnc3RyICJhbnbDpG5kIGZ1bGxzdMOkbmRpZ2Egc8O2a3bDpGdzbmFtbiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTQyCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDMKIG1zZ2lkICJsaXN0IGVudGlyZSB0cmVlOyBub3QganVzdCBjdXJyZW50IGRpcmVjdG9yeSAoaW1wbGllcyAtLWZ1bGwtbmFtZSkiCiBtc2dzdHIgInZpc2EgaGVsYSB0csOkZGV0OyBpbnRlIGJhcmEgYWt0dWVsbCBrYXRhbG9nIChpbXBsaWNlcmFyIC0tZnVsbC1uYW1lKSIKIApAQCAtNjQ1Myw3ICs2NjQ3LDcgQEAKIG1zZ2lkICJWZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCiBtc2dzdHIgIkJla3LDpGZ0YSBhdHQgZGVuIG5hbW5naXZuYSBpbmNoZWNrbmluZ2VuIGhhciBlbiBnaWx0aWcgR1BHLXNpZ25hdHVyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vbm90ZXMuYzo3MzggYnVpbHRpbi9yZXZlcnQuYzoxMTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTkgYnVpbHRpbi9ub3Rlcy5jOjczOCBidWlsdGluL3JldmVydC5jOjg5CiBtc2dpZCAic3RyYXRlZ3kiCiBtc2dzdHIgInN0cmF0ZWdpIgogCkBAIC02ODIyLDc2ICs3MDE2LDg2IEBACiBtc2dpZCAiYWxsb3cgY3JlYXRpb24gb2YgbW9yZSB0aGFuIG9uZSB0cmVlIgogbXNnc3RyICJ0aWxsw6V0IHNrYXBhIG1lciDDpG4gZXR0IHRyw6RkIgogCi0jOiBidWlsdGluL212LmM6MTQKKyM6IGJ1aWx0aW4vbXYuYzoxNQogbXNnaWQgImdpdCBtdiBbb3B0aW9uc10gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIKIG1zZ3N0ciAiZ2l0IG12IFtmbGFnZ29yXSA8a8OkbGxhPi4uLiA8bcOlbD4iCiAKLSM6IGJ1aWx0aW4vbXYuYzo2NAorIzogYnVpbHRpbi9tdi5jOjY3CiBtc2dpZCAiZm9yY2UgbW92ZS9yZW5hbWUgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICJ0dmluZ2EgZmx5dHRhL8OkbmRyYSBuYW1uIMOkdmVuIG9tIG3DpWxldCBmaW5ucyIKIAotIzogYnVpbHRpbi9tdi5jOjY1CisjOiBidWlsdGluL212LmM6NjgKIG1zZ2lkICJza2lwIG1vdmUvcmVuYW1lIGVycm9ycyIKIG1zZ3N0ciAiaG9wcGEgw7Z2ZXIgZmVsIHZpZCBmbHl0dC9uYW1uw6RuZHJpbmciCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMDgKKyM6IGJ1aWx0aW4vbXYuYzoxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICJLb250cm9sbGVyYXIgbmFtbmJ5dGUgYXYgXCIlc1wiIHRpbGwgXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTIKKyM6IGJ1aWx0aW4vbXYuYzoxMTcKIG1zZ2lkICJiYWQgc291cmNlIgogbXNnc3RyICJmZWxha3RpZyBrw6RsbGEiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTUKKyM6IGJ1aWx0aW4vbXYuYzoxMjAKIG1zZ2lkICJjYW4gbm90IG1vdmUgZGlyZWN0b3J5IGludG8gaXRzZWxmIgogbXNnc3RyICJrYW4gaW50ZSBmbHl0dGEga2F0YWxvZyB0aWxsIHNpZyBzasOkbHYiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTgKKyM6IGJ1aWx0aW4vbXYuYzoxMjMKIG1zZ2lkICJjYW5ub3QgbW92ZSBkaXJlY3Rvcnkgb3ZlciBmaWxlIgogbXNnc3RyICJrYW4gaW50ZSBmbHl0dGEga2F0YWxvZyDDtnZlciBmaWwiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMjgKKyM6IGJ1aWx0aW4vbXYuYzoxMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVoPyBEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCittc2dzdHIgIlZhZD8gS2F0YWxvZ2VuICVzIMOkciBpIGluZGV4ZXQgb2NoIGludGUgZW4gdW5kZXJtb2R1bD8iCisKKyM6IGJ1aWx0aW4vbXYuYzoxMzEgYnVpbHRpbi9ybS5jOjMxOAorbXNnaWQgIlBsZWFzZSwgc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKK21zZ3N0ciAiIgorIkvDtmEgZGluYSDDpG5kcmluZ2FyIGkgLmdpdG1vZHVsZXMgZWxsZXIgYW52w6RuZCBcInN0YXNoXCIgZsO2ciBhdHQgZm9ydHPDpHR0YSIKKworIzogYnVpbHRpbi9tdi5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJIdWg/ICUuKnMgaXMgaW4gaW5kZXg/IgogbXNnc3RyICJWYWQ/ICUuKnMgw6RyIGkgaW5kZXhldD8iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNDAKKyM6IGJ1aWx0aW4vbXYuYzoxNTkKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgogbXNnc3RyICJrw6RsbGthdGFsb2dlbiDDpHIgdG9tIgogCi0jOiBidWlsdGluL212LmM6MTcxCisjOiBidWlsdGluL212LmM6MTkxCiBtc2dpZCAibm90IHVuZGVyIHZlcnNpb24gY29udHJvbCIKIG1zZ3N0ciAiaW50ZSB2ZXJzaW9uc2hhbnRlcmFkIgogCi0jOiBidWlsdGluL212LmM6MTczCisjOiBidWlsdGluL212LmM6MTkzCiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICJkZXN0aW5hdGlvbmVuIGZpbm5zIgogCi0jOiBidWlsdGluL212LmM6MTgxCisjOiBidWlsdGluL212LmM6MjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgInNrcml2ZXIgw7Z2ZXIgXCIlc1wiIgogCi0jOiBidWlsdGluL212LmM6MTg0CisjOiBidWlsdGluL212LmM6MjA0CiBtc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKIG1zZ3N0ciAiS2FuIGludGUgc2tyaXZhIMO2dmVyIgogCi0jOiBidWlsdGluL212LmM6MTg3CisjOiBidWlsdGluL212LmM6MjA3CiBtc2dpZCAibXVsdGlwbGUgc291cmNlcyBmb3IgdGhlIHNhbWUgdGFyZ2V0IgogbXNnc3RyICJmbGVyYSBrw6RsbG9yIGbDtnIgc2FtbWEgbcOlbCIKIAotIzogYnVpbHRpbi9tdi5jOjIwMgorIzogYnVpbHRpbi9tdi5jOjIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIG1zZ3N0ciAiJXMsIGvDpGxsYT0lcywgbcOlbD0lcyIKIAotIzogYnVpbHRpbi9tdi5jOjIxMgorIzogYnVpbHRpbi9tdi5jOjIzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlc1xuIgogbXNnc3RyICJCeXRlciBuYW1uIHDDpSAlcyB0aWxsICVzXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTUgYnVpbHRpbi9yZW1vdGUuYzo3MzEKKyM6IGJ1aWx0aW4vbXYuYzoyMzUgYnVpbHRpbi9yZW1vdGUuYzo3MzEgYnVpbHRpbi9yZXBhY2suYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBieXRhIG5hbW4gcMOlIFwiJXNcIiIKQEAgLTY5MjksOCArNzEzMyw4IEBACiBtc2dzdHIgImzDpHMgZnLDpW4gc3RhbmRhcmQgaW4iCiAKICM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjAKLW1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyIKLW1zZ3N0ciAidGlsbMOldCBhdHQgc2tyaXZhIFwib2RlZmluaWVyYWRlXCIgbmFtbiIKK21zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCittc2dzdHIgInRpbGzDpXQgYXR0IHNrcml2YSBcIm9kZWZpbmllcmFkZVwiIG5hbW4gKHN0YW5kYXJkKSIKIAogIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyNgogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW4gdGhlIGlucHV0IChpbnRlcm5hbCB1c2UpIgpAQCAtNzA4NSwxMiArNzI4OSwxMiBAQAogbXNnaWQgIlRoZSBub3RlIGNvbnRlbnRzIGhhcyBiZWVuIGxlZnQgaW4gJXMiCiBtc2dzdHIgIkFudGVja25pbmdlbnMgaW5uZWjDpWxsIGhhciBsw6RtbmF0cyBrdmFyIGkgJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNDggYnVpbHRpbi90YWcuYzo1NDAKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNDggYnVpbHRpbi90YWcuYzo1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNTAgYnVpbHRpbi90YWcuYzo1NDMKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNTAgYnVpbHRpbi90YWcuYzo1NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gb3IgcmVhZCAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIMO2cHBuYSBlbGxlciBsw6RzYSBcIiVzXCIiCkBAIC03MDk4LDcgKzczMDIsNyBAQAogIzogYnVpbHRpbi9ub3Rlcy5jOjI2OSBidWlsdGluL25vdGVzLmM6MzE2IGJ1aWx0aW4vbm90ZXMuYzozMTgKICM6IGJ1aWx0aW4vbm90ZXMuYzozNzggYnVpbHRpbi9ub3Rlcy5jOjQzMiBidWlsdGluL25vdGVzLmM6NTE1CiAjOiBidWlsdGluL25vdGVzLmM6NTIwIGJ1aWx0aW4vbm90ZXMuYzo1OTUgYnVpbHRpbi9ub3Rlcy5jOjYzNwotIzogYnVpbHRpbi9ub3Rlcy5jOjgzOSBidWlsdGluL3RhZy5jOjU1NgorIzogYnVpbHRpbi9ub3Rlcy5jOjgzOSBidWlsdGluL3RhZy5jOjU1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBzbMOlIHVwcCBcIiVzXCIgc29tIGVuIGdpbHRpZyByZWZlcmVucy4iCkBAIC03MjcxLDE0OCArNzQ3NSwxNDggQEAKIG1zZ2lkICJnaXQgcGFjay1vYmplY3RzIFtvcHRpb25zLi4uXSBiYXNlLW5hbWUgWzwgcmVmLWxpc3QgfCA8IG9iamVjdC1saXN0XSIKIG1zZ3N0ciAiZ2l0IHBhY2stb2JqZWN0cyBbZmxhZ2dvci4uLl0gYmFzbmFtbiBbPCByZWZsaXN0YSB8IDwgb2JqZWt0bGlzdGFdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICJmZWwgaSBkZWZsYXRlICglZCkiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjM5NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCiBtc2dzdHIgImluZGV4dmVyc2lvbmVuICVzIHN0w7ZkcyBlaiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKIG1zZ3N0ciAiZmVsYWt0aWcgaW5kZXh2ZXJzaW9uIFwiJXNcIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDI0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAib3B0aW9uICVzIGRvZXMgbm90IGFjY2VwdCBuZWdhdGl2ZSBmb3JtIgogbXNnc3RyICJmbGFnZ2FuICVzIGdvZHRhciBpbnRlIG5lZ2F0aXYgZm9ybSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDI4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIHZhbHVlICclcycgZm9yIG9wdGlvbiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSB2w6RyZGV0IFwiJXNcIiBmw7ZyIGZsYWdnYW4gJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQ4CiBtc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgInZpc2EgaW50ZSBmw7ZybG9wcHNpbmRpa2F0b3IiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDUwCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAidmlzYSBmw7ZybG9wcHNpbmRpa2F0b3IiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDUyCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCiBtc2dzdHIgInZpc2EgZsO2cmxvcHBzaW5kaWthdG9yIHVuZGVyIG9iamVrdHNrcml2bmluZ3NmYXNlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTUKIG1zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCiBtc2dzdHIgInNvbSAtLWFsbC1wcm9ncmVzcyBuw6RyIGbDtnJsb3Bwc23DpHRhcmVuIHZpc2FzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NgogbXNnaWQgInZlcnNpb25bLG9mZnNldF0iCiBtc2dzdHIgInZlcnNpb25bLG9mZnNldF0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU3CiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAic2tyaXYgcGFrZXRpbmRleGZpbGVuIGkgYW5naXZlbiBpbmRleGZvcm1hdHZlcnNpb24iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYwCiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKIG1zZ3N0ciAibWF4aW1hbCBzdG9ybGVrIHDDpSB2YXJqZSB1dGRhdGFwYWtldGZpbCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjIKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgImlnbm9yZXJhIGzDpW5hZGUgb2JqZWt0IGZyw6VuIGFsdGVybmF0aXZhIG9iamVrdGxhZ2VyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NAogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAiaWdub3JlcmEgcGFja2FkZSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY2CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAiYmVncsOkbnNhIHBha2V0ZsO2bnN0ZXIgZWZ0ZXIgb2JqZWt0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2OAogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgImJlZ3LDpG5zYSBwYWtldGbDtm5zdGVyIGVmdGVyIG1pbm5lIGbDtnJ1dG9tIG9iamVrdGdyw6RucyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzAKIG1zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKIG1zZ3N0ciAibWF4aW1hbCBsw6RuZ2QgcMOlIGRlbHRha2VkamEgdGlsbMOldGVuIGkgc2x1dGxpZ3QgcGFrZXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDcyCiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICLDpXRlcmFudsOkbmQgYmVmaW50bGlnYSBkZWx0YSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDczCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzQKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBvYmplY3RzIgogbXNnc3RyICLDpXRlcmFudsOkbmQgYmVmaW50bGlnYSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc2CiBtc2dpZCAidXNlIE9GU19ERUxUQSBvYmplY3RzIgogbXNnc3RyICJhbnbDpG5kIE9GU19ERUxUQS1vYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc4CiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAiYW52w6RuZCB0csOlZGFyIHZpZCBzw7ZrbmluZyBlZnRlciBiw6RzdGEgZGVsdGF0csOkZmZhciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODAKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICJmw7Zyc8O2ayBpbnRlIHNrYXBhIHRvbSBwYWtldHV0ZGF0YSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODIKIG1zZ2lkICJyZWFkIHJldmlzaW9uIGFyZ3VtZW50cyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJsw6RzIHJldmlzaW9uc2FyZ3VtZW50IGZyw6VuIHN0YW5kYXJkIGluIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4NAogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICJiZWdyw6Ruc2Egb2JqZWt0IHRpbGwgZGUgc29tIMOkbm51IGludGUgcGFja2F0cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODcKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKIG1zZ3N0ciAiaW5rbHVkZXJhIG9iamVrdCBzb20ga2FuIG7DpXMgZnLDpW4gbsOlZ29uIHJlZmVyZW5zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5MAogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAiaW5rbHVkZXJhIG9iamVrdCBzb20gcmVmZXJlcmFzIGZyw6VuIHJlZmVyZW5zbG9nZ3Bvc3RlciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDkyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTMKIG1zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCiBtc2dzdHIgInNrcml2IHBha2V0IHDDpSBzdGFuZGFyZCB1dCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTUKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgImlua2x1ZGVyYSB0YWdnb2JqZWt0IHNvbSByZWZlcmVyYXIgb2JqZWt0IHNvbSBza2FsbCBwYWNrYXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk3CiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJiZWjDpWxsIG9uw6ViYXJhIG9iamVrdCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk3IHBhcnNlLW9wdGlvbnMuaDoxNDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5OCBwYXJzZS1vcHRpb25zLmg6MTQzCiBtc2dpZCAidGltZSIKIG1zZ3N0ciAidGlkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5OQogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgogbXNnc3RyICJwYWNrYSB1cHAgb27DpWJhcmEgb2JqZWt0IG55YXJlIMOkbiA8dGlkPiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDIKIG1zZ2lkICJjcmVhdGUgdGhpbiBwYWNrcyIKIG1zZ3N0ciAic2thcGEgdHVubmEgcGFrZXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA0CiBtc2dpZCAiaWdub3JlIHBhY2tzIHRoYXQgaGF2ZSBjb21wYW5pb24gLmtlZXAgZmlsZSIKIG1zZ3N0ciAiaWdub3JlcmEgcGFrZXQgc29tIGhhciB0aWxsaMO2cmFuZGUgLmtlZXAtZmlsIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNgogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgImtvbXByaW1lcmluZ3NncmFkIGbDtnIgcGFrZXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA4CiBtc2dpZCAiZG8gbm90IGhpZGUgY29tbWl0cyBieSBncmFmdHMiCiBtc2dzdHIgImfDtm0gaW50ZSBpbmNoZWNrbmluZ2FyIG1lZCB5bXBuaW5nYXIgKFwiZ3JhZnRzXCIpIgogCkBAIC03NDUyLDE1ICs3NjU2LDE1IEBACiBtc2dpZCAiZ2l0IHB1c2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgImdpdCBwdXNoIFs8ZmxhZ2dvcj5dIFs8YXJraXY+IFs8cmVmc3BlYz4uLi5dXSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDUKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3CiBtc2dpZCAidGFnIHNob3J0aGFuZCB3aXRob3V0IDx0YWc+IgogbXNnc3RyICJ0YWdnZsO2cmtvcnRuaW5nIHV0YW4gPHRhZ2c+IgogCi0jOiBidWlsdGluL3B1c2guYzo2NAorIzogYnVpbHRpbi9wdXNoLmM6NjYKIG1zZ2lkICItLWRlbGV0ZSBvbmx5IGFjY2VwdHMgcGxhaW4gdGFyZ2V0IHJlZiBuYW1lcyIKIG1zZ3N0ciAiLS1kZWxldGUgZ29kdGFyIGVuZGFzdCBlbmtsYSBtw6VscmVmZXJlbnNuYW1uIgogCi0jOiBidWlsdGluL3B1c2guYzo5OQorIzogYnVpbHRpbi9wdXNoLmM6MTAxCiBtc2dpZCAiIgogIlxuIgogIlRvIGNob29zZSBlaXRoZXIgb3B0aW9uIHBlcm1hbmVudGx5LCBzZWUgcHVzaC5kZWZhdWx0IGluICdnaXQgaGVscCBjb25maWcnLiIKQEAgLTc0NjksNyArNzY3Myw3IEBACiAiRsO2ciBhdHQgdsOkbGphIGV0dCBhdiBhbHRlcm5hdGl2ZW4gcGVybWFuZW50LCBzZSBwdXNoLmRlZmF1bHQgaSBcImdpdCBoZWxwICIKICJjb25maWdcIi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEwMgorIzogYnVpbHRpbi9wdXNoLmM6MTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgdXBzdHJlYW0gYnJhbmNoIG9mIHlvdXIgY3VycmVudCBicmFuY2ggZG9lcyBub3QgbWF0Y2hcbiIKQEAgLTc0OTQsNyArNzY5OCw3IEBACiAiICAgIGdpdCBwdXNoICVzICVzXG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjExNworIzogYnVpbHRpbi9wdXNoLmM6MTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guXG4iCkBAIC03NTA5LDcgKzc3MTMsNyBAQAogIlxuIgogIiAgICBnaXQgcHVzaCAlcyBIRUFEOjxuYW1uLXDDpS1masOkcnJncmVuPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzoxMzEKKyM6IGJ1aWx0aW4vcHVzaC5jOjEzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBubyB1cHN0cmVhbSBicmFuY2guXG4iCkBAIC03NTIyLDEyICs3NzI2LDEyIEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEzOQorIzogYnVpbHRpbi9wdXNoLmM6MTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbXVsdGlwbGUgdXBzdHJlYW0gYnJhbmNoZXMsIHJlZnVzaW5nIHRvIHB1c2guIgogbXNnc3RyICJEZW4gYWt0dWVsbGEgZ3JlbmVuICVzIGhhciBmbGVyYSB1cHBzdHLDtm1zZ3JlbmFyLCB2w6RncmFyIHPDpG5kYS4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE0MgorIzogYnVpbHRpbi9wdXNoLmM6MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIHB1c2hpbmcgdG8gcmVtb3RlICclcycsIHdoaWNoIGlzIG5vdCB0aGUgdXBzdHJlYW0gb2ZcbiIKQEAgLTc1MzgsNyArNzc0Miw3IEBACiAiYWt0dWVsbGEgZ3JlbmVuIFwiJXNcIiwgdXRhbiBhdHQgdGFsYSBvbSBmw7ZyIG1pZyB2YWQgc29tXG4iCiAic2thbGwgc8OkbmRhcyBmw7ZyIGF0dCB1cHBkYXRlcmEgZmrDpHJyZ3JlbmVuLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTY1CisjOiBidWlsdGluL3B1c2guYzoxNjcKIG1zZ2lkICIiCiAicHVzaC5kZWZhdWx0IGlzIHVuc2V0OyBpdHMgaW1wbGljaXQgdmFsdWUgaXMgY2hhbmdpbmcgaW5cbiIKICJHaXQgMi4wIGZyb20gJ21hdGNoaW5nJyB0byAnc2ltcGxlJy4gVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2VcbiIKQEAgLTc1NzIsMTQgKzc3NzYsMTQgQEAKICJsaWtuYW5kZSBsw6RnZXQgXCJjdXJyZW50XCIgaXN0w6RsbGV0IGbDtnIgXCJzaW1wbGVcIiBvbSBkdSBpYmxhbmQgYW52w6RuZGVyXG4iCiAiw6RsZHJlIHZlcnNpb25lciBhdiBHaXQuKSIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjI1CisjOiBidWlsdGluL3B1c2guYzoyMjcKIG1zZ2lkICIiCiAiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKIG1zZ3N0ciAiIgogIkR1IGFuZ2F2IGluZ2EgcmVmZXJlbnNzcGVjaWZpa2F0aW9uZXIgYXR0IHPDpG5kYSwgb2NoIHB1c2guZGVmYXVsdCDDpHIgIgogIlwibm90aGluZ1wiLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjMyCisjOiBidWlsdGluL3B1c2guYzoyMzQKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRpcCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGlzIGJlaGluZFxuIgogIml0cyByZW1vdGUgY291bnRlcnBhcnQuIEludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXMgKGUuZy5cbiIKQEAgLTc1OTEsNyArNzc5NSw3IEBACiAiXCJnaXQgcHVsbCAuLi4uXCIpIGlubmFuIGR1IHPDpG5kZXIgaWdlbi5cbiIKICJTZSBhdnNuaXR0ZXQgXCJOb3RlIGFib3V0IGZhc3QtZm9yd2FyZFwiIGkgXCJnaXQgcHVzaCAtLWhlbHBcIiBmw7ZyIGRldGFsamVyLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjM4CisjOiBidWlsdGluL3B1c2guYzoyNDAKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgogImNvdW50ZXJwYXJ0LiBJZiB5b3UgZGlkIG5vdCBpbnRlbmQgdG8gcHVzaCB0aGF0IGJyYW5jaCwgeW91IG1heSB3YW50IHRvXG4iCkBAIC03NjA1LDcgKzc4MDksNyBAQAogImVuZGFzdFxuIgogInPDpG5kYSBha3R1ZWxsIGdyZW4uIgogCi0jOiBidWlsdGluL3B1c2guYzoyNDQKKyM6IGJ1aWx0aW4vcHVzaC5jOjI0NgogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIENoZWNrIG91dCB0aGlzIGJyYW5jaCBhbmQgaW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlc1xuIgpAQCAtNzYxNyw3ICs3ODIxLDcgQEAKICJcImdpdCBwdWxsIC4uLlwiKSBpbm5hbiBkdSBzw6RuZGVyIGlnZW4uXG4iCiAiU2UgYXZzbml0dGV0IFwiTm90ZSBhYm91dCBmYXN0LWZvcndhcmRcIiBpIFwiZ2l0IHB1c2ggLS1oZWxwXCIgZsO2ciBkZXRhbGplci4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI1MAorIzogYnVpbHRpbi9wdXNoLmM6MjUyCiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgogIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKQEAgLTc2MzEsMTEgKzc4MzUsMTEgQEAKICIodC5leC4gXCJnaXQgcHVsbCAuLi5cIikgaW5uYW4gZHUgc8OkbmRlciBpZ2VuLlxuIgogIlNlIGF2c25pdHRldCBcIk5vdGUgYWJvdXQgZmFzdC1mb3J3YXJkc1wiIGkgXCJnaXQgcHVzaCAtLWhlbHBcIiBmw7ZyIGRldGFsamVyLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjU3CisjOiBidWlsdGluL3B1c2guYzoyNTkKIG1zZ2lkICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGFnIGFscmVhZHkgZXhpc3RzIGluIHRoZSByZW1vdGUuIgogbXNnc3RyICJVcHBkYXRlcmluZ2FybmEgYXZ2aXNhZGVzIGVmdGVyc29tIHRhZ2dlbiByZWRhbiBmaW5ucyBww6UgZmrDpHJyZW4uIgogCi0jOiBidWlsdGluL3B1c2guYzoyNjAKKyM6IGJ1aWx0aW4vcHVzaC5jOjI2MgogbXNnaWQgIiIKICJZb3UgY2Fubm90IHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBwb2ludHMgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJvciB1cGRhdGUgYSByZW1vdGUgcmVmIHRvIG1ha2UgaXQgcG9pbnQgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKQEAgLTc2NDYsMjIgKzc4NTAsMjIgQEAKICJwZWthciBww6UgbsOlZ290IHNvbSBpbnRlIMOkciBlbiBpbmNoZWNrbmluZywgdXRhbiBhdHQgYW52w6RuZGEgZmxhZ2dhblxuIgogIlwiLS1mb3JjZVwiLlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozMjAKKyM6IGJ1aWx0aW4vcHVzaC5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJQdXNoaW5nIHRvICVzXG4iCiBtc2dzdHIgIlPDpG5kZXIgdGlsbCAlc1xuIgogCi0jOiBidWlsdGluL3B1c2guYzozMjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjMzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHPDpG5kYSB2aXNzYSByZWZlcmVuc2VyIHRpbGwgXCIlc1wiIgogCi0jOiBidWlsdGluL3B1c2guYzozNTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgogbXNnc3RyICJmZWxha3RpZ3QgYXJraXYgXCIlc1wiIgogCi0jOiBidWlsdGluL3B1c2guYzozNTgKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NgogbXNnaWQgIiIKICJObyBjb25maWd1cmVkIHB1c2ggZGVzdGluYXRpb24uXG4iCiAiRWl0aGVyIHNwZWNpZnkgdGhlIFVSTCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJlIGEgcmVtb3RlICIKQEAgLTc2ODIsODcgKzc4ODYsOTUgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggPG5hbW4+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3MworIzogYnVpbHRpbi9wdXNoLmM6MzgxCiBtc2dpZCAiLS1hbGwgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCBvY2ggLS10YWdzIMOkciBpbmtvbXBhdGlibGEiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3NAorIzogYnVpbHRpbi9wdXNoLmM6MzgyCiBtc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiLS1hbGwga2FuIGludGUga29tYmluZXJhcyBtZWQgcmVmZXJlbnNzcGVjaWZpa2F0aW9uZXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3OQorIzogYnVpbHRpbi9wdXNoLmM6Mzg3CiBtc2dpZCAiLS1taXJyb3IgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLW1pcnJvciBvY2ggLS10YWdzIMOkciBpbmtvbXBhdGlibGEiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4MAorIzogYnVpbHRpbi9wdXNoLmM6Mzg4CiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiLS1taXJyb3Iga2FuIGludGUga29tYmluZXJhcyBtZWQgcmVmZXJlbnNzcGVjaWZpa2F0aW9uZXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4NQorIzogYnVpbHRpbi9wdXNoLmM6MzkzCiBtc2dpZCAiLS1hbGwgYW5kIC0tbWlycm9yIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tYWxsIG9jaCAtLW1pcnJvciDDpHIgaW5rb21wYXRpYmxhIgogCi0jOiBidWlsdGluL3B1c2guYzo0NDUKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ1MwogbXNnaWQgInJlcG9zaXRvcnkiCiBtc2dzdHIgImFya2l2IgogCi0jOiBidWlsdGluL3B1c2guYzo0NDYKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ1NAogbXNnaWQgInB1c2ggYWxsIHJlZnMiCiBtc2dzdHIgInPDpG5kIGFsbGEgcmVmZXJlbnNlciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDQ3CisjOiBidWlsdGluL3B1c2guYzo0NTUKIG1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCiBtc2dzdHIgInNwZWdsYSBhbGxhIHJlZmVyZW5zZXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ0OQorIzogYnVpbHRpbi9wdXNoLmM6NDU3CiBtc2dpZCAiZGVsZXRlIHJlZnMiCiBtc2dzdHIgInRhIGJvcnQgcmVmZXJlbnNlciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDUwCisjOiBidWlsdGluL3B1c2guYzo0NTgKIG1zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCiBtc2dzdHIgInPDpG5kIHRhZ2dhciAoa2FuIGludGUgYW52w6RuZGFzIG1lZCAtLWFsbCBlbGxlciAtLW1pcnJvcikiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1MworIzogYnVpbHRpbi9wdXNoLmM6NDYxCiBtc2dpZCAiZm9yY2UgdXBkYXRlcyIKIG1zZ3N0ciAidHZpbmdhIHVwcGRhdGVyaW5nYXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1NAorIzogYnVpbHRpbi9wdXNoLmM6NDYzCittc2dpZCAicmVmbmFtZT46PGV4cGVjdCIKK21zZ3N0ciAicmVmbmFtbj46PGbDtnJ2w6RudGEiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ2NAorbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgorbXNnc3RyICJrcsOkdiBhdHQgcmVmOnMgdGlkaWdhcmUgdsOkcmRlIMOkciBkZXR0YSIKKworIzogYnVpbHRpbi9wdXNoLmM6NDY2CiBtc2dpZCAiY2hlY2siCiBtc2dzdHIgImtvbnRyb2xsZXJhIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTUKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ2NwogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAic3R5ciByZWt1cnNpdiBpbnPDpG5kbmluZyBhdiB1bmRlcm1vZHVsZXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1NworIzogYnVpbHRpbi9wdXNoLmM6NDY5CiBtc2dpZCAidXNlIHRoaW4gcGFjayIKIG1zZ3N0ciAiYW52w6RuZCB0dW5uYSBwYWtldCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDU4IGJ1aWx0aW4vcHVzaC5jOjQ1OQorIzogYnVpbHRpbi9wdXNoLmM6NDcwIGJ1aWx0aW4vcHVzaC5jOjQ3MQogbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgogbXNnc3RyICJwcm9ncmFtIGbDtnIgYXR0IHRhIGVtb3QgcGFrZXQiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2MAorIzogYnVpbHRpbi9wdXNoLmM6NDcyCiBtc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCiBtc2dzdHIgInN0w6RsbCBpbiB1cHBzdHLDtm0gZsO2ciBnaXQgcHVsbC9zdGF0dXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2MworIzogYnVpbHRpbi9wdXNoLmM6NDc1CiBtc2dpZCAicHJ1bmUgbG9jYWxseSByZW1vdmVkIHJlZnMiCiBtc2dzdHIgInRhIGJvcnQgbG9rYWx0IGJvcnR0YWduYSByZWZlcmVuc2VyIgogCi0jOiBidWlsdGluL3B1c2guYzo0NjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3NwogbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgogbXNnc3RyICJmw7ZyYmlnw6UgcHJlLXB1c2gta3JvayIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDY2CisjOiBidWlsdGluL3B1c2guYzo0NzgKIG1zZ2lkICJwdXNoIG1pc3NpbmcgYnV0IHJlbGV2YW50IHRhZ3MiCiBtc2dzdHIgInPDpG5kIGluIHNha25hZGUgbWVuIHJlbGV2YW50YSB0YWdnYXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ3NgorIzogYnVpbHRpbi9wdXNoLmM6NDg4CiBtc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCiBtc2dzdHIgIi0tZGVsZXRlIMOkciBpbWtvbXBhdGliZWwgbWVkIC0tYWxsLCAtLW1pcnJvciBvY2ggLS10YWdzIgogCi0jOiBidWlsdGluL3B1c2guYzo0NzgKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ5MAogbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgogbXNnc3RyICItLWRlbGV0ZSBrYW4gaW50ZSBhbnbDpG5kYXMgdXRhbiByZWZlcmVuc2VyIgogCkBAIC03ODQwLDEyICs4MDUyLDEyIEBACiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICJmZWxzw7ZrIHVucGFjay10cmVlcyIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo1MDAKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NDk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJyBmb3IgJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIlwiJXNcIiBmw7ZyIFwiJXNcIiDDpHIgaW50ZSBlbiBnaWx0aWcgdGlkc3N0w6RtcGVsIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjYxNiBidWlsdGluL3JlZmxvZy5jOjYyMQorIzogYnVpbHRpbi9yZWZsb2cuYzo2MTUgYnVpbHRpbi9yZWZsb2cuYzo2MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIlwiJXNcIiDDpHIgaW50ZSBlbiBnaWx0aWcgdGlkc3N0w6RtcGVsIgpAQCAtNzg3MCw5ICs4MDgyLDkgQEAKIG1zZ2lkICJnaXQgcmVtb3RlIHJlbW92ZSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgcmVtb3ZlIDxuYW1uPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNSBidWlsdGluL3JlbW90ZS5jOjQyCi1tc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLWQgfCA8YnJhbmNoPikiCi1tc2dzdHIgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbW4+ICgtYSB8IC1kIHwgPGdyZW4+KSIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUKK21zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHw8YnJhbmNoPikiCittc2dzdHIgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbW4+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8Z3Jlbj4pIgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjE2CiBtc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHNob3cgWy1uXSA8bmFtZT4iCkBAIC03OTA4LDYgKzgxMjAsMTAgQEAKIG1zZ2lkICJnaXQgcmVtb3RlIGFkZCBbPG9wdGlvbnM+XSA8bmFtZT4gPHVybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgYWRkIFs8ZmxhZ2dvcj5dIDxuYW1uPiA8dXJsPiIKIAorIzogYnVpbHRpbi9yZW1vdGUuYzo0MgorbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8YnJhbmNoPikiCittc2dzdHIgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbW4+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8Z3Jlbj4pIgorCiAjOiBidWlsdGluL3JlbW90ZS5jOjQ3CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyA8bmFtbj4gPGdyZW4+Li4uIgpAQCAtODM0NCw2ICs4NTYwLDY3IEBACiBtc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKIG1zZ3N0ciAidmFyIHByYXRzYW07IG3DpXN0ZSBza3JpdmFzIGbDtnJlIGV0dCB1bmRlcmtvbW1hbmRvIgogCisjOiBidWlsdGluL3JlcGFjay5jOjE1Cittc2dpZCAiZ2l0IHJlcGFjayBbb3B0aW9uc10iCittc2dzdHIgImdpdCByZXBhY2sgW2ZsYWdnb3JdIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE0MworbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgorbXNnc3RyICJwYWNrYSBhbGx0IGkgZXR0IGVuZGEgcGFrZXQiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTQ1Cittc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKK21zZ3N0ciAic2FtbWEgc29tIC1hLCBvY2ggZ8O2ciBvbsOlYmFyYSBvYmpla3QgbMO2c2EiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTQ4Cittc2dpZCAicmVtb3ZlIHJlZHVuZGFudCBwYWNrcywgYW5kIHJ1biBnaXQtcHJ1bmUtcGFja2VkIgorbXNnc3RyICJ0YSBib3J0IMO2dmVyZmzDtmRpZ2EgcGFrZXQsIG9jaCBrw7ZyIGdpdC1wcnVuZS1wYWNrZWQiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTUwCittc2dpZCAicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgInPDpG5kIC0tbm8tcmV1c2UtZGVsdGEgdGlsbCBnaXQtcGFjay1vYmplY3RzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1MgorbXNnaWQgInBhc3MgLS1uby1yZXVzZS1vYmplY3QgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAic8OkbmQgLS1uby1yZXVzZS1vYmplY3QgdGlsbCBnaXQtcGFjay1vYmplY3RzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1NAorbXNnaWQgImRvIG5vdCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKK21zZ3N0ciAia8O2ciBpbnRlIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU3Cittc2dpZCAicGFzcyAtLWxvY2FsIHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgInPDpG5kIC0tbG9jYWwgdGlsbCBnaXQtcGFjay1vYmplY3RzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1OAorbXNnaWQgImFwcHJveGlkYXRlIgorbXNnc3RyICJjaXJrYWRhdHVtIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1OQorbXNnaWQgIndpdGggLUEsIGRvIG5vdCBsb29zZW4gb2JqZWN0cyBvbGRlciB0aGFuIHRoaXMiCittc2dzdHIgIm1lZCAtQSwgbMO2cyBpbnRlIHVwcCBvYmpla3Qgw6RsZHJlIMOkbiBkZXR0YSIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjEKK21zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCittc2dzdHIgInN0b3JsZWsgcMOlIGbDtm5zdGVyIGFudsOkbnQgZsO2ciBkZWx0YWtvbXByaW1lcmluZyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjMKK21zZ2lkICJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIKK21zZ3N0ciAic2FtbWEgc29tIG92YW4sIG1lbiBiZWdyw6Ruc2EgbWlubmVzc3Rvcmxla2VuIGlzdMOkbGxldCBmw7ZyIHBvc3RhbnRhbCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjUKK21zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCittc2dzdHIgImJlZ3LDpG5zYSBtYXhpbWFsdCBkZWx0YWRqdXAiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY3Cittc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggcGFja2ZpbGUiCittc2dzdHIgIm1heGltYWwgc3RvcmxlayBww6UgdmFyamUgcGFrZXRmaWwiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nICclcycgZmFpbGVkIgorbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgYm9ydCBcIiVzXCIiCisKICM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3CiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZWN0PiA8cmVwbGFjZW1lbnQ+IgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIDxvYmpla3Q+IDxlcnPDpHR0bmluZz4iCkBAIC04MzU2LDIzICs4NjMzLDIzIEBACiBtc2dpZCAiZ2l0IHJlcGxhY2UgLWwgWzxwYXR0ZXJuPl0iCiBtc2dzdHIgImdpdCByZXBsYWNlIC1sIFs8bcO2bnN0ZXI+XSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIxCisjOiBidWlsdGluL3JlcGxhY2UuYzoxMzEKIG1zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAidmlzYSBlcnPDpHR0bmluZ3NyZWZlcmVuc2VyIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMjIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEzMgogbXNnaWQgImRlbGV0ZSByZXBsYWNlIHJlZnMiCiBtc2dzdHIgInRhIGJvcnQgZXJzw6R0dG5pbmdzcmVmZXJlbnNlciIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIzCisjOiBidWlsdGluL3JlcGxhY2UuYzoxMzMKIG1zZ2lkICJyZXBsYWNlIHRoZSByZWYgaWYgaXQgZXhpc3RzIgogbXNnc3RyICJlcnPDpHR0IHJlZmVyZW5zZW4gb20gZGVuIGZpbm5zIgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjExCisjOiBidWlsdGluL3JlcmVyZS5jOjEyCiBtc2dpZCAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgcGF0aC4uLiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCiBtc2dzdHIgImdpdCByZXJlcmUgW2NsZWFyIHwgZm9yZ2V0IHBhdGguLi4gfCBzdGF0dXMgfCByZW1haW5pbmcgfCBkaWZmIHwgZ2NdIgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjU2CisjOiBidWlsdGluL3JlcmVyZS5jOjU3CiBtc2dpZCAicmVnaXN0ZXIgY2xlYW4gcmVzb2x1dGlvbnMgaW4gaW5kZXgiCiBtc2dzdHIgInJlZ2lzdHJlcmEgcmVuYSBsw7ZzbmluZ2FyIGkgaW5kZXhldCIKIApAQCAtODQzMyw3MCArODcxMCw3MCBAQAogbXNnaWQgIkNhbm5vdCBkbyBhICVzIHJlc2V0IGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZS4iCiBtc2dzdHIgIkthbiBpbnRlIHV0ZsO2cmEgZW4gJXMgw6V0ZXJzdMOkbGxuaW5nIG1pdHQgaSBlbiBzYW1tYW5zbGFnbmluZy4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTEKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNjIKIG1zZ2lkICJiZSBxdWlldCwgb25seSByZXBvcnQgZXJyb3JzIgogbXNnc3RyICJ2YXIgdHlzdCwgcmFwcG9ydGVyYSBlbmRhc3QgZmVsIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjUzCisjOiBidWlsdGluL3Jlc2V0LmM6MjY0CiBtc2dpZCAicmVzZXQgSEVBRCBhbmQgaW5kZXgiCiBtc2dzdHIgIsOldGVyc3TDpGxsIEhFQUQgb2NoIGluZGV4IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjU0CisjOiBidWlsdGluL3Jlc2V0LmM6MjY1CiBtc2dpZCAicmVzZXQgb25seSBIRUFEIgogbXNnc3RyICLDpXRlcnN0w6RsbCBlbmRhc3QgSEVBRCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI1NiBidWlsdGluL3Jlc2V0LmM6MjU4CisjOiBidWlsdGluL3Jlc2V0LmM6MjY3IGJ1aWx0aW4vcmVzZXQuYzoyNjkKIG1zZ2lkICJyZXNldCBIRUFELCBpbmRleCBhbmQgd29ya2luZyB0cmVlIgogbXNnc3RyICLDpXRlcnN0w6RsbCBIRUFELCBpbmRleCBvY2ggYXJiZXRza2F0YWxvZyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI2MAorIzogYnVpbHRpbi9yZXNldC5jOjI3MQogbXNnaWQgInJlc2V0IEhFQUQgYnV0IGtlZXAgbG9jYWwgY2hhbmdlcyIKIG1zZ3N0ciAiw6V0ZXJzdMOkbGwgSEVBRCBtZW4gYmVow6VsbCBsb2thbGEgw6RuZHJpbmdhciIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3OAorIzogYnVpbHRpbi9yZXNldC5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmV2aXNpb24uIgogbXNnc3RyICJLdW5kZSBpbnRlIHNsw6UgdXBwIFwiJXNcIiBzb20gZW4gZ2lsdGlnIHJldmlzaW9uLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4MSBidWlsdGluL3Jlc2V0LmM6Mjg5CisjOiBidWlsdGluL3Jlc2V0LmM6MjkyIGJ1aWx0aW4vcmVzZXQuYzozMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAiS2FuIGludGUgdG9sa2Egb2JqZWt0ZXQgXCIlc1wiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjg2CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCB0cmVlLiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBzbMOlIHVwcCBcIiVzXCIgc29tIGV0dCBnaWx0aWd0IHRyw6RkLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5NQorIzogYnVpbHRpbi9yZXNldC5jOjMwNgogbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIKIG1zZ3N0ciAiLS1wYXRjaCDDpHIgaW5rb21wYXRpYmVsIG1lZCAtLXtoYXJkLG1peGVkLHNvZnR9IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzA0CisjOiBidWlsdGluL3Jlc2V0LmM6MzE1CiBtc2dpZCAiLS1taXhlZCB3aXRoIHBhdGhzIGlzIGRlcHJlY2F0ZWQ7IHVzZSAnZ2l0IHJlc2V0IC0tIDxwYXRocz4nIGluc3RlYWQuIgogbXNnc3RyICIiCiAiLS1taXhlZCByZWtvbW1lbmRlcmFzIGludGUgbWVkIHPDtmt2w6RnYXI7IGFudsOkbmQgXCJnaXQgcmVzZXQgLS0gPHPDtmt2w6RnYXI+XCIuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzA2CisjOiBidWlsdGluL3Jlc2V0LmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyAlcyByZXNldCB3aXRoIHBhdGhzLiIKIG1zZ3N0ciAiS2FuIGludGUgZ8O2cmEgJXMgw6V0ZXJzdMOkbGxuaW5nIG1lZCBzw7ZrdsOkZ2FyLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMxNgorIzogYnVpbHRpbi9yZXNldC5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyByZXNldCBpcyBub3QgYWxsb3dlZCBpbiBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiJXMgw6V0ZXJzdMOkbGxuaW5nIHRpbGzDpXRzIGludGUgaSBldHQgbmFrZXQgYXJraXYiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMzYKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNDQKK21zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKK21zZ3N0ciAiT2vDtmFkZSDDpG5kcmluZ2FyIGVmdGVyIMOldGVyc3TDpGxsbmluZzoiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlc2V0IGluZGV4IGZpbGUgdG8gcmV2aXNpb24gJyVzJy4iCiBtc2dzdHIgIkt1bmRlIGludGUgw6V0ZXJzdMOkbGxhIGluZGV4ZmlsZW4gdGlsbCB2ZXJzaW9uZW4gXCIlc1wiLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0MgotbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IgotbXNnc3RyICJPa8O2YWRlIMOkbmRyaW5nYXIgZWZ0ZXIgw6V0ZXJzdMOkbGxuaW5nOiIKLQotIzogYnVpbHRpbi9yZXNldC5jOjM0NworIzogYnVpbHRpbi9yZXNldC5jOjM1NQogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iCiBtc2dzdHIgIkt1bmRlIGludGUgc2tyaXZhIG55IGluZGV4ZmlsLiIKIApAQCAtODU0Myw4NCArODgyMCw4NCBAQAogbXNnaWQgImdpdCBjaGVycnktcGljayA8c3ViY29tbWFuZD4iCiBtc2dzdHIgImdpdCBjaGVycnktcGljayA8dW5kZXJrb21tYW5kbz4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6NzEgYnVpbHRpbi9yZXZlcnQuYzo5NAorIzogYnVpbHRpbi9yZXZlcnQuYzo3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXMgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAiJXM6ICVzIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgJXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CisjOiBidWlsdGluL3JldmVydC5jOjgwCiBtc2dpZCAiZW5kIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiYXZzbHV0YSByZXZlcnQtIGVsbGVyIGNoZXJyeS1waWNrLXNla3ZlbnMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CisjOiBidWlsdGluL3JldmVydC5jOjgxCiBtc2dpZCAicmVzdW1lIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiw6V0ZXJ1cHB0YSByZXZlcnQtIGVsbGVyIGNoZXJyeS1waWNrLXNla3ZlbnMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3CisjOiBidWlsdGluL3JldmVydC5jOjgyCiBtc2dpZCAiY2FuY2VsIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiYXZicnl0IHJldmVydC0gZWxsZXIgY2hlcnJ5LXBpY2stc2VrdmVucyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODMKIG1zZ2lkICJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIKIG1zZ3N0ciAiY2hlY2thIGludGUgaW4gYXV0b21hdGlza3QiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA5CisjOiBidWlsdGluL3JldmVydC5jOjg0CiBtc2dpZCAiZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgInJlZGlnZXJhIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IgogCi0jOiBidWlsdGluL3JldmVydC5jOjExMgorIzogYnVpbHRpbi9yZXZlcnQuYzo4NwogbXNnaWQgInBhcmVudCBudW1iZXIiCiBtc2dzdHIgIm51bW1lciBww6UgZsO2csOkbGRlciIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTQKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAic2FtbWFuc2xhZ25pbnNzdHJhdGVnaSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTAKIG1zZ2lkICJvcHRpb24iCiBtc2dzdHIgImFsdGVybmF0aXYiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE2CisjOiBidWlsdGluL3JldmVydC5jOjkxCiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAiYWx0ZXJuYXRpdiBmb8yIciBzYW1tYW5zbGFnbmluZ3NzdHJhdGVnaSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjcKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCiBtc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgogbXNnc3RyICJsw6RnZyB0aWxsIGluY2hlY2tuaW5nc25hbW4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI4CisjOiBidWlsdGluL3JldmVydC5jOjEwMwogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAidGlsbMOldCBzbmFiYnNwb2xuaW5nIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyOQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAiYmVow6VsbCBpbmNoZWNrbmluZ2FyIHNvbSBiw7ZyamFyIHNvbSB0b21tYSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMzAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CiBtc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgogbXNnc3RyICJ0aWxsw6V0IGluY2hlY2tuaW5nYXIgbWVkIHRvbXQgbWVkZGVsYW5kZSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMzEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CiBtc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgImJlaMOlbGwgcmVkdW5kYW50YSwgdG9tbWEgaW5jaGVja25pbmdhciIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMzUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCiBtc2dpZCAicHJvZ3JhbSBlcnJvciIKIG1zZ3N0ciAicHJvZ3JhbWZlbCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMjUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTk1CiBtc2dpZCAicmV2ZXJ0IGZhaWxlZCIKIG1zZ3N0ciAiXCJyZXZlcnRcIiBtaXNzbHlja2FkZXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjQwCisjOiBidWlsdGluL3JldmVydC5jOjIxMAogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAiXCJjaGVycnktcGlja1wiIG1pc3NseWNrYWRlcyIKIAotIzogYnVpbHRpbi9ybS5jOjE2CisjOiBidWlsdGluL3JtLmM6MTcKIG1zZ2lkICJnaXQgcm0gW29wdGlvbnNdIFstLV0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgcm0gW2ZsYWdnb3JdIFstLV0gPGZpbD4uLi4iCiAKLSM6IGJ1aWx0aW4vcm0uYzo2NAorIzogYnVpbHRpbi9ybS5jOjY1CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIChvciBvbmUgb2YgaXRzIG5lc3RlZCBzdWJtb2R1bGVzKVxuIgogInVzZXMgYSAuZ2l0IGRpcmVjdG9yeToiCkBAIC04NjM0LDcgKzg5MTEsNyBAQAogImbDtmxqYW5kZSB1bmRlcm1vZHVsZXIgKGVsbGVyIGVuIGF2IGRlcmFzIG7DpHN0bGFkZSB1bmRlcm1vZHVsZXIpXG4iCiAiYW52w6RuZGVyIGVuIC5naXQta2F0YWxvZzoiCiAKLSM6IGJ1aWx0aW4vcm0uYzo3MAorIzogYnVpbHRpbi9ybS5jOjcxCiBtc2dpZCAiIgogIlxuIgogIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKQEAgLTg2NDIsNyArODkxOSw3IEBACiAiXG4iCiAiKGFudsOkbmQgXCJybSAtcmZcIiBvbSBkdSB2ZXJrbGlnZW4gdmlsbCB0YSBib3J0IGRlbiBvY2ggYWxsIGRlc3MgaGlzdG9yaWspIgogCi0jOiBidWlsdGluL3JtLmM6MjMwCisjOiBidWlsdGluL3JtLmM6MjMxCiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKICJmaWxlIGFuZCB0aGUgSEVBRDoiCkBAIC04NjU0LDcgKzg5MzEsNyBAQAogbXNnc3RyWzFdICIiCiAiZsO2bGphbmRlIGZpbGVyIGhhciBrw7ZhdCBpbm5laMOlbGwgc29tIHNraWxqZXIgc2lnIGLDpWRlIGZyw6VuIGZpbGVuIG9jaCBIRUFEOiIKIAotIzogYnVpbHRpbi9ybS5jOjIzNQorIzogYnVpbHRpbi9ybS5jOjIzNgogbXNnaWQgIiIKICJcbiIKICIodXNlIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtODY2MiwxMyArODkzOSwxMyBAQAogIlxuIgogIihhbnbDpG5kIC1mIGbDtnIgYXR0IHR2aW5nYSBib3J0dGFnbmluZykiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMzkKKyM6IGJ1aWx0aW4vcm0uYzoyNDAKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnc3RyWzBdICJmw7ZsamFuZGUgZmlsIGhhciDDpG5kcmluZ2FyIGvDtmFkZSBpIGluZGV4ZXQ6IgogbXNnc3RyWzFdICJmw7ZsamFuZGUgZmlsZXIgaGFyIMOkbmRyaW5nYXIga8O2YWRlIGkgaW5kZXhldDoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDMgYnVpbHRpbi9ybS5jOjI1NAorIzogYnVpbHRpbi9ybS5jOjI0NCBidWlsdGluL3JtLmM6MjU1CiBtc2dpZCAiIgogIlxuIgogIih1c2UgLS1jYWNoZWQgdG8ga2VlcCB0aGUgZmlsZSwgb3IgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCkBAIC04Njc2LDM4ICs4OTUzLDM4IEBACiAiXG4iCiAiKGFudsOkbmQgLS1jYWNoZWQgZsO2ciBhdHQgYmVow6VsbGEgZmlsZW4gZWxsZXIgLWYgZsO2ciBhdHQgdHZpbmdhIGJvcnR0YWduaW5nKSIKIAotIzogYnVpbHRpbi9ybS5jOjI1MQorIzogYnVpbHRpbi9ybS5jOjI1MgogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAiZsO2bGphbmRlIGZpbCBoYXIgbG9rYWxhIMOkbmRyaW5nYXI6IgogbXNnc3RyWzFdICJmw7ZsamFuZGUgZmlsZXIgaGFyIGxva2FsYSDDpG5kcmluZ2FyOiIKIAotIzogYnVpbHRpbi9ybS5jOjI2OQorIzogYnVpbHRpbi9ybS5jOjI3MAogbXNnaWQgImRvIG5vdCBsaXN0IHJlbW92ZWQgZmlsZXMiCiBtc2dzdHIgImxpc3RhIGludGUgYm9ydHRhZ25hIGZpbGVyIgogCi0jOiBidWlsdGluL3JtLmM6MjcwCisjOiBidWlsdGluL3JtLmM6MjcxCiBtc2dpZCAib25seSByZW1vdmUgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgInRhIGJhcmEgYm9ydCBmcsOlbiBpbmRleGV0IgogCi0jOiBidWlsdGluL3JtLmM6MjcxCisjOiBidWlsdGluL3JtLmM6MjcyCiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgIsO2dmVyc3R5ciDDoGpvdXItdGVzdGV0IgogCi0jOiBidWlsdGluL3JtLmM6MjcyCisjOiBidWlsdGluL3JtLmM6MjczCiBtc2dpZCAiYWxsb3cgcmVjdXJzaXZlIHJlbW92YWwiCiBtc2dzdHIgInRpbGzDpXQgcmVrdXJzaXYgYm9ydHRhZ25pbmciCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNzQKKyM6IGJ1aWx0aW4vcm0uYzoyNzUKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAiYXZzbHV0YSBtZWQgbm9sbHN0YXR1cyDDpHZlbiBvbSBpbmdldCB0csOkZmZhZGVzIgogCi0jOiBidWlsdGluL3JtLmM6MzQ1CisjOiBidWlsdGluL3JtLmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCByZW1vdmluZyAnJXMnIHJlY3Vyc2l2ZWx5IHdpdGhvdXQgLXIiCiBtc2dzdHIgInRhciBpbnRlIGJvcnQgXCIlc1wiIHJla3Vyc2l2dCB1dGFuIC1yIgogCi0jOiBidWlsdGluL3JtLmM6Mzg0CisjOiBidWlsdGluL3JtLmM6Mzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBybTogdW5hYmxlIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAiZ2l0IHJtOiBrYW4gaW50ZSB0YSBib3J0ICVzIgpAQCAtODcyMSwyMyArODk5OCwyMyBAQAogbXNnaWQgIk1pc3NpbmcgYXV0aG9yOiAlcyIKIG1zZ3N0ciAiRsO2cmZhdHRhcmUgc2FrbmFzOiAlcyIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIyOAorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMAogbXNnaWQgInNvcnQgb3V0cHV0IGFjY29yZGluZyB0byB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgcGVyIGF1dGhvciIKIG1zZ3N0ciAic29ydGVyYSB1dGRhdGEgZW5saWd0IGFudGFsIGluY2hlY2tuaW5nYXIgcGVyIGbDtnJmYXR0YXJlIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjMwCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjMyCiBtc2dpZCAiU3VwcHJlc3MgY29tbWl0IGRlc2NyaXB0aW9ucywgb25seSBwcm92aWRlcyBjb21taXQgY291bnQiCiBtc2dzdHIgIlVuZGVydHJ5Y2sgYmVza3Jpdm5pbmdhciwgdmlzYSBiYXJhIGFudGFsIGluY2hlY2tuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzIKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzQKIG1zZ2lkICJTaG93IHRoZSBlbWFpbCBhZGRyZXNzIG9mIGVhY2ggYXV0aG9yIgogbXNnc3RyICJWaXNhIGUtcG9zdGFkcmVzcyBmw7ZyIHZhcmplIGbDtnJmYXR0YXJlIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjMzCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjM1CiBtc2dpZCAid1ssaTFbLGkyXV0iCiBtc2dzdHIgIndbLGkxWyxpMl1dIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjM0CisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjM2CiBtc2dpZCAiTGluZXdyYXAgb3V0cHV0IgogbXNnc3RyICJSYWRicnl0IHV0ZGF0YSIKIApAQCAtODg0NSwyMyArOTEyMiwyMyBAQAogbXNnaWQgInN0cmljdGVyIHJlZmVyZW5jZSBjaGVja2luZywgcmVxdWlyZXMgZXhhY3QgcmVmIHBhdGgiCiBtc2dzdHIgInN0cmlrdGFyZSByZWZlcmVuc2tvbnRyb2xsLCBrcsOkdmVyIGV4YWt0IHJlZmVyZW5zc8O2a3bDpGciCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzMgYnVpbHRpbi9zaG93LXJlZi5jOjE3NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MyBidWlsdGluL3Nob3ctcmVmLmM6MTc1CiBtc2dpZCAic2hvdyB0aGUgSEVBRCByZWZlcmVuY2UsIGV2ZW4gaWYgaXQgd291bGQgYmUgZmlsdGVyZWQgb3V0IgogbXNnc3RyICJ2aXNhIEhFQUQtcmVmcmVucywgw6R2ZW4gbsOkciBkZW4gc2t1bGxlIGZpbHRyZXJhcyB1dCIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NwogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW50byBvYmplY3QgSURzIgogbXNnc3RyICJhdnJlZmVyZXJhIHRhZ2dhciB0aWxsIG9iamVrdC1pZCIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4MAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OQogbXNnaWQgIm9ubHkgc2hvdyBTSEExIGhhc2ggdXNpbmcgPG4+IGRpZ2l0cyIKIG1zZ3N0ciAidmlzYSBTSEExLWhhc2ggZW5kYXN0IG1lZCA8bj4gc2lmZnJvciIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4NAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4MwogbXNnaWQgImRvIG5vdCBwcmludCByZXN1bHRzIHRvIHN0ZG91dCAodXNlZnVsIHdpdGggLS12ZXJpZnkpIgogbXNnc3RyICJ2aXNhIGludGUgcmVzdWx0YXQgcMOlIHN0YW5kYXJkIHV0IChhbnbDpG5kYmFydCBtZWQgLS12ZXJpZnkpIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTg2CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTg1CiBtc2dpZCAic2hvdyByZWZzIGZyb20gc3RkaW4gdGhhdCBhcmVuJ3QgaW4gbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAidmlzYSByZWZlcmVuc2VyIGZyw6VuIHN0YW5kYXJkIGluIHNvbSBpbnRlIGZpbm5zIGkgbG9rYWx0IGFya2l2IgogCkBAIC04ODg2LDExICs5MTYzLDExIEBACiBtc2dpZCAic2hvcnRlbiByZWYgb3V0cHV0IgogbXNnc3RyICJmw7Zya29ydGEgcmVmLXV0ZGF0YSIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoxOAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTQKIG1zZ2lkICJyZWFzb24iCiBtc2dzdHIgInNrw6RsIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjE4CisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1NAogbXNnaWQgInJlYXNvbiBvZiB0aGUgdXBkYXRlIgogbXNnc3RyICJza8OkbCB0aWxsIHVwcGRhdGVyaW5nZW4iCiAKQEAgLTkwNTUsMTgzICs5MzMyLDE5NSBAQAogbXNnaWQgInByaW50IG9ubHkgdGFncyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICJ2aXNhIGVuZGFzdCB0YWdnYXIgZsO2ciBvYmpla3RldCIKIAotIzogYnVpbHRpbi90YWcuYzo1MDQKKyM6IGJ1aWx0aW4vdGFnLmM6NTAxCiBtc2dpZCAiLS1jb2x1bW4gYW5kIC1uIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tY29sdW1uIG9jaCAtbiDDpHIgaW5rb21wYXRpYmxhIgogCi0jOiBidWlsdGluL3RhZy5jOjUyMQorIzogYnVpbHRpbi90YWcuYzo1MTgKIG1zZ2lkICItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgogbXNnc3RyICJGbGFnZ2FuIC1uIMOkciBlbmRhc3QgdGlsbMOldGVuIHRpbGxzYW1tYW5zIG1lZCAtbC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTIzCisjOiBidWlsdGluL3RhZy5jOjUyMAogbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKIG1zZ3N0ciAiRmxhZ2dhbiAtLWNvbnRhaW5zIMOkciBlbmRhc3QgdGlsbMOldGVuIHRpbGxzYW1tYW5zIG1lZCAtbCIKIAotIzogYnVpbHRpbi90YWcuYzo1MjUKKyM6IGJ1aWx0aW4vdGFnLmM6NTIyCiBtc2dpZCAiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKIG1zZ3N0ciAiRmxhZ2dhbiAtLXBvaW50cy1hdCDDpHIgZW5kYXN0IHRpbGzDpXRlbiB0aWxsc2FtbWFucyBtZWQgLWwuIgogCi0jOiBidWlsdGluL3RhZy5jOjUzMworIzogYnVpbHRpbi90YWcuYzo1MzAKIG1zZ2lkICJvbmx5IG9uZSAtRiBvciAtbSBvcHRpb24gaXMgYWxsb3dlZC4iCiBtc2dzdHIgImVuZGFzdCBlbiBhdiBmbGFnZ29ybmEgLUYgZWxsZXIgLW0gdGlsbMOldHMuIgogCi0jOiBidWlsdGluL3RhZy5jOjU1MworIzogYnVpbHRpbi90YWcuYzo1NTAKIG1zZ2lkICJ0b28gbWFueSBwYXJhbXMiCiBtc2dzdHIgImbDtnIgbcOlbmdhIHBhcmFtZXRyYXIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTU5CisjOiBidWlsdGluL3RhZy5jOjU1NgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRhZyBuYW1lLiIKIG1zZ3N0ciAiXCIlc1wiIMOkciBpbnRlIGV0dCBnaWx0aWd0IHRhZ2duYW1uLiIKIAotIzogYnVpbHRpbi90YWcuYzo1NjQKKyM6IGJ1aWx0aW4vdGFnLmM6NTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJ0YWdnZW4gXCIlc1wiIGZpbm5zIHJlZGFuIgogCi0jOiBidWlsdGluL3RhZy5jOjU4MgorIzogYnVpbHRpbi90YWcuYzo1NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBsb2NrIHRoZSByZWYiCiBtc2dzdHIgIiVzOiBrYW4gaW50ZSBsw6VzYSByZWZlcmVuc2VuIgogCi0jOiBidWlsdGluL3RhZy5jOjU4NAorIzogYnVpbHRpbi90YWcuYzo1ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1cGRhdGUgdGhlIHJlZiIKIG1zZ3N0ciAiJXM6IGthbiBpbnRlIHVwcGRhdGVyYSByZWZlcmVuc2VuIgogCi0jOiBidWlsdGluL3RhZy5jOjU4NgorIzogYnVpbHRpbi90YWcuYzo1ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICJVcHBkYXRlcmFkIHRhZ2cgXCIlc1wiICh2YXIgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NDAxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjQwMgogbXNnaWQgImdpdCB1cGRhdGUtaW5kZXggW29wdGlvbnNdIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggW2ZsYWdnb3JdIFstLV0gWzxmaWw+Li4uXSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MTgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzIwCiBtc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgogbXNnc3RyICJmb3J0c8OkdHQgdXBwZGF0ZXJhIMOkdmVuIG7DpHIgaW5kZXggaW50ZSDDpHIgw6Bqb3VyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjMKIG1zZ2lkICJyZWZyZXNoOiBpZ25vcmUgc3VibW9kdWxlcyIKIG1zZ3N0ciAicmVmcmVzaDogaWdub3JlcmEgdW5kZXJtb2R1bGVyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjYKIG1zZ2lkICJkbyBub3QgaWdub3JlIG5ldyBmaWxlcyIKIG1zZ3N0ciAiaWdub3JlcmEgaW50ZSBueWEgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyOAogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICJsw6V0IGZpbGVyIGVyc8OkdHRhIGthdGFsb2dlciBvY2ggb212w6RudCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMwCiBtc2dpZCAibm90aWNlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAibMOkZ2cgbcOkcmtlIHRpbGwgZmlsZXIgc29tIHNha25hcyBpIGFyYmV0c2thdGFsb2dlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMyCiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgInVwcGRhdGVyYSDDpHZlbiBvbSBpbmRleGV0IGlubmVow6VsbGVyIGVqIHNhbW1hbnNsYWduYSBwb3N0ZXIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczNQogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAidXBwZGF0ZXJhIHN0YXR1c2luZm9ybWF0aW9uIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczNworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzkKIG1zZ2lkICJsaWtlIC0tcmVmcmVzaCwgYnV0IGlnbm9yZSBhc3N1bWUtdW5jaGFuZ2VkIHNldHRpbmciCiBtc2dzdHIgInNvbSAtLXJlZnJlc2gsIG1lbiBpZ25vcmVyYSBhc3N1bWUtdW5jaGFuZ2VkLWluc3TDpGxsbmluZyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQzCiBtc2dpZCAiPG1vZGU+IDxvYmplY3Q+IDxwYXRoPiIKIG1zZ3N0ciAiPGzDpGdlPiA8b2JqZWt0PiA8c8O2a3bDpGc+IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDQKIG1zZ2lkICJhZGQgdGhlIHNwZWNpZmllZCBlbnRyeSB0byB0aGUgaW5kZXgiCiBtc2dzdHIgImzDpGdnIHRpbGwgYW5naXZlbiBwb3N0IGkgaW5kZXhldCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ4CiBtc2dpZCAiKCsvLSl4IgogbXNnc3RyICIoKy8tKXgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0OQogbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgogbXNnc3RyICLDtnZlcnN0eXIgZXhla3ZlcmluZ3NiaXRlbiBmw7ZyIGFuZ2l2bmEgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzUxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1MwogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJub3QgY2hhbmdpbmdcIiIKIG1zZ3N0ciAibWFya2VyYSBmaWxlciBzb20gXCLDpG5kcmFzIGludGVcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU2CiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICJyZW5zYSBcImFzc3VtZS11bmNoYW5nZWRcIi1iaXRlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU5CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAibWFya2VyYSBmaWxlciBzb20gXCJlbmRhc3QgaW5kZXhcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzYyCiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgInTDtm0gXCJza2lwLXdvcmt0cmVlXCItYml0ZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzYzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2NQogbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICJsw6RnZyBlbmRhc3QgdGlsbCBpbmRleGV0OyBsw6RnZyBpbnRlIHRpbGwgaW5uZWjDpWxsZXQgaSBvYmpla3RkYXRhYmFzZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2NwogbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCiBtc2dzdHIgInRhIGJvcnQgbmFtbmdpdm5hIHPDtmt2w6RnYXIgw6R2ZW4gb20gZGUgZmlubnMgaSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2OQogbXNnaWQgIndpdGggLS1zdGRpbjogaW5wdXQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgbnVsbCBieXRlcyIKIG1zZ3N0ciAibWVkIC0tc3RkaW46IGluZGF0YXJhZGVyIHRlcm1pbmVyYXMgbWVkIG51bGwtYnl0ZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzcxCiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibMOkcyBsaXN0YSDDtnZlciBzw7ZrdsOkZ2FyIGF0dCB1cHBkYXRlcmEgZnLDpW4gc3RhbmRhcmQgaW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzczCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3NQogbXNnaWQgImFkZCBlbnRyaWVzIGZyb20gc3RhbmRhcmQgaW5wdXQgdG8gdGhlIGluZGV4IgogbXNnc3RyICJsw6RnZyBwb3N0ZXIgZnLDpW4gZnLDpW4gc3RhbmRhcmQgaW4gdGlsbCBpbmRleGV0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzkKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgIsOldGVyZnlsbCBldGFwcCAyIG9jaCAzIGZyw6VuIGFuZ2l2bmEgc8O2a3bDpGdhciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzgzCiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCiBtc2dzdHIgInVwcGRhdGVyYSBlbmRhc3QgcG9zdGVyIHNvbSBza2lsamVyIHNpZyBmcsOlbiBIRUFEIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODcKIG1zZ2lkICJpZ25vcmUgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJpZ25vcmVyYSBmaWxlciBzb20gc2FrbmFzIGkgYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTAKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgInJhcG9ydGVyYSDDpXRnw6RyZGVyIHDDpSBzdGFuZGFyZCB1dCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkyCiBtc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCiBtc2dzdHIgIihmw7ZyIHBvcnNsaW4pIGdsw7ZtIHNwYXJhZGUgb2zDtnN0YSBrb25mbGlrdGVyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTYKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAic2tyaXYgaW5kZXggaSBkZXR0YSBmb3JtYXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjcKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjkKIG1zZ2lkICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gLWQgPHJlZm5hbWU+IFs8b2xkdmFsPl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtcmVmIFtmbGFnZ29yXSAtZCA8cmVmbmFtbj4gWzxnYW1tYWx0dsOkcmRlPl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjgKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEwCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdICAgIDxyZWZuYW1lPiA8bmV3dmFsPiBbPG9sZHZhbD5dIgogbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbZmxhZ2dvcl0gICAgPHJlZm5hbW4+IDxnYW1tYWx0dsOkcmRlPiBbPG55dHR2w6RyZGU+XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTkKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjExCittc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdIC0tc3RkaW4gWy16XSIKK21zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgW2ZsYWdnb3JdIC0tc3RkaW4gWy16XSIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU1CiBtc2dpZCAiZGVsZXRlIHRoZSByZWZlcmVuY2UiCiBtc2dzdHIgInRhIGJvcnQgcmVmZXJlbnNlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjEKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1NwogbXNnaWQgInVwZGF0ZSA8cmVmbmFtZT4gbm90IHRoZSBvbmUgaXQgcG9pbnRzIHRvIgogbXNnc3RyICJ1cHBkYXRlcmEgPHJlZm5hbW4+IGludGUgZGV0IGRlbiBwZWthciBww6UiCiAKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1OAorbXNnaWQgInN0ZGluIGhhcyBOVUwtdGVybWluYXRlZCBhcmd1bWVudHMiCittc2dzdHIgInN0YW5kYXJkIGluIGhhciBOVUwtdGVybWluZXJhZGUgYXJndW1lbnQiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1OQorbXNnaWQgInJlYWQgdXBkYXRlcyBmcm9tIHN0ZGluIgorbXNnc3RyICJsw6RzIHVwcGRhdGVyaW5nYXIgZnLDpW4gc3RhbmRhcmQgaW4iCisKICM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6NgogbXNnaWQgImdpdCB1cGRhdGUtc2VydmVyLWluZm8gWy0tZm9yY2VdIgogbXNnc3RyICJnaXQgdXBkYXRlLXNlcnZlci1pbmZvIFstLWZvcmNlXSIKQEAgLTkyODYsMjMgKzk1NzUsMjMgQEAKICJuw6VncmEga29uY2VwdHbDpGdsZWRuaW5nYXIuIFNlIFwiZ2l0IGhlbHAgPGtvbW1hbmRvPlwiIGVsbGVyIFwiZ2l0IGhlbHBcbiIKICI8a29uY2VwdD5cIiBmw7ZyIGF0dCBsw6RzYSBtZXIgb20gc3BlY2lmaWthIHVuZGVya29tbWFuZG9uIG9jaCBrb25jZXB0LiIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjE0NAorIzogcGFyc2Utb3B0aW9ucy5oOjE0NgogbXNnaWQgImV4cGlyeSBkYXRlIgogbXNnc3RyICJnaWx0aWcgdGlsbCIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjE1OQorIzogcGFyc2Utb3B0aW9ucy5oOjE2MQogbXNnaWQgIm5vLW9wIChiYWNrd2FyZCBjb21wYXRpYmlsaXR5KSIKIG1zZ3N0ciAiaW5nZW4gZnVua3Rpb24gKGJha8OldGtvbXBhdGliaWxpdGV0KSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzNgorIzogcGFyc2Utb3B0aW9ucy5oOjIzOAogbXNnaWQgImJlIG1vcmUgdmVyYm9zZSIKIG1zZ3N0ciAidmFyIG1lciBwcmF0c2FtIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjM4CisjOiBwYXJzZS1vcHRpb25zLmg6MjQwCiBtc2dpZCAiYmUgbW9yZSBxdWlldCIKIG1zZ3N0ciAidmFyIG1lciB0eXN0IgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjQ0CisjOiBwYXJzZS1vcHRpb25zLmg6MjQ2CiBtc2dpZCAidXNlIDxuPiBkaWdpdHMgdG8gZGlzcGxheSBTSEEtMXMiCiBtc2dzdHIgImFudsOkbmQgPG4+IHNpZmZyb3IgZsO2ciBhdHQgdmlzYSBTSEEtMTpvciIKIApAQCAtOTQzOCw3ICs5NzI3LDcgQEAKICM6IGdpdC1hbS5zaDoxNjMKIG1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gcGF0Y2hpbmcgYmFzZSBhbmQgMy13YXkgbWVyZ2UuLi4iCiBtc2dzdHIgIiIKLSJGYWxsZXIgdGlsbGJha2EgcMOlIGF0dCBwYWNoYSBncnVuZHZlcnNpb25lbiBvY2ggdHJldsOkZ3NzYW1tYW5zbGFnbmluZy4uLiIKKyJGYWxsZXIgdGlsbGJha2EgcMOlIGF0dCBwYXRjaGEgZ3J1bmR2ZXJzaW9uZW4gb2NoIHRyZXbDpGdzc2FtbWFuc2xhZ25pbmcuLi4iCiAKICM6IGdpdC1hbS5zaDoxNzkKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2UgaW4gdGhlIGNoYW5nZXMuIgpAQCAtOTc0MCw3ICsxMDAyOSw3IEBACiBtc2dpZCAiUHVsbCBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIkR1IGthbiBpbnRlIGfDtnJhIGVuIFwicHVsbFwiIGTDpSBkdSBoYXIgw6RuZHJpbmdhciBzb20gaW50ZSBjaGVja2F0cyBpbi4iCiAKLSM6IGdpdC1wdWxsLnNoOjIwMworIzogZ2l0LXB1bGwuc2g6MjIzCiBtc2dpZCAidXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4IgogbXNnc3RyICJ1cHBkYXRlcmFyIGVuIG9mw7ZkZCBncmVuIG1lZCDDpG5kcmluZ2FyIHNvbSBsYWd0cyB0aWxsIGkgaW5kZXhldCIKIApAQCAtOTc0OCw3ICsxMDAzNyw3IEBACiAjLiBUaGUgd29ya2luZyB0cmVlIGFuZCB0aGUgaW5kZXggZmlsZSBpcyBzdGlsbCBiYXNlZCBvbiB0aGUKICMuICRvcmlnX2hlYWQgY29tbWl0LCBidXQgd2UgYXJlIG1lcmdpbmcgaW50byAkY3Vycl9oZWFkLgogIy4gRmlyc3QgdXBkYXRlIHRoZSB3b3JraW5nIHRyZWUgdG8gbWF0Y2ggJGN1cnJfaGVhZC4KLSM6IGdpdC1wdWxsLnNoOjIzNQorIzogZ2l0LXB1bGwuc2g6MjU1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiV2FybmluZzogZmV0Y2ggdXBkYXRlZCB0aGUgY3VycmVudCBicmFuY2ggaGVhZC5cbiIKQEAgLTk3NTksMTEgKzEwMDQ4LDExIEBACiAiVmFybmluZzogc25hYmJzcG9sYXIgZGluIGFyYmV0c2thdGFsb2cgZnLDpW5cbiIKICJWYXJuaW5nOiBpbmNoZWNrbmluZ2VuICRvcmlnX2hlYWQuIgogCi0jOiBnaXQtcHVsbC5zaDoyNjAKKyM6IGdpdC1wdWxsLnNoOjI4MAogbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIkthbiBpbnRlIHNsw6UgaWhvcCBmbGVyYSBncmVuYXIgaSBldHQgdG9tdCBodXZ1ZC4iCiAKLSM6IGdpdC1wdWxsLnNoOjI2NAorIzogZ2l0LXB1bGwuc2g6Mjg0CiBtc2dpZCAiQ2Fubm90IHJlYmFzZSBvbnRvIG11bHRpcGxlIGJyYW5jaGVzIgogbXNnc3RyICJLYW4gaW50ZSB1dGbDtnJhIGVuIFwicmViYXNlXCIgb3ZhbnDDpSBmbGVyYSBncmVuYXIiCiAKQEAgLTk3OTcsMzEgKzEwMDg2LDMxIEBACiAiRGluYSDDpG5kcmluZ2FyIMOkciBzw6RrcmEgaSBzdGFzaGVuLlxuIgogIkR1IGthbiBuw6RyIHNvbSBoZWxzdCBhbnbDpG5kYSBcImdpdCBzdGFzaCBwb3BcIiBlbGxlciBcImdpdCBzdGFzaCBkcm9wXCIuXG4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTkwCisjOiBnaXQtcmViYXNlLnNoOjE5OQogbXNnaWQgIlRoZSBwcmUtcmViYXNlIGhvb2sgcmVmdXNlZCB0byByZWJhc2UuIgogbXNnc3RyICJLcm9rZW4gcHJlLXJlYmFzZSB2w6RncmFkZSBvbWJhc2VyaW5nZW4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjE5NQorIzogZ2l0LXJlYmFzZS5zaDoyMDQKIG1zZ2lkICJJdCBsb29rcyBsaWtlIGdpdC1hbSBpcyBpbiBwcm9ncmVzcy4gQ2Fubm90IHJlYmFzZS4iCiBtc2dzdHIgIkRldCB2ZXJrYXIgc29tIGVuIGdpdC1hbSBrw7Zycy4gS2FuIGludGUgb21iYXNlcmEuIgogCi0jOiBnaXQtcmViYXNlLnNoOjMyOQorIzogZ2l0LXJlYmFzZS5zaDozMzgKIG1zZ2lkICJUaGUgLS1leGVjIG9wdGlvbiBtdXN0IGJlIHVzZWQgd2l0aCB0aGUgLS1pbnRlcmFjdGl2ZSBvcHRpb24iCiBtc2dzdHIgIkZsYWdnYW4gLS1leGVjIG3DpXN0ZSBhbnbDpG5kYXMgdGlsbHNhbW1hbnMgbWVkIGZsYWdnYW4gLS1pbnRlcmFjdGl2ZSIKIAotIzogZ2l0LXJlYmFzZS5zaDozMzQKKyM6IGdpdC1yZWJhc2Uuc2g6MzQzCiBtc2dpZCAiTm8gcmViYXNlIGluIHByb2dyZXNzPyIKIG1zZ3N0ciAiSW5nZW4gb21iYXNlcmluZyBww6Vnw6VyPyIKIAotIzogZ2l0LXJlYmFzZS5zaDozNDUKKyM6IGdpdC1yZWJhc2Uuc2g6MzU0CiBtc2dpZCAiVGhlIC0tZWRpdC10b2RvIGFjdGlvbiBjYW4gb25seSBiZSB1c2VkIGR1cmluZyBpbnRlcmFjdGl2ZSByZWJhc2UuIgogbXNnc3RyICLDhXRnw6RyZGVuIC0tZWRpdC10b2RvIGthbiBlbmRhc3QgYW52w6RuZGFzIHVuZGVyIGludGVyYWt0aXYgb21iYXNlcmluZy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzUyCisjOiBnaXQtcmViYXNlLnNoOjM2MQogbXNnaWQgIkNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIkthbiBpbnRlIGzDpHNhIEhFQUQiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzU1CisjOiBnaXQtcmViYXNlLnNoOjM2NAogbXNnaWQgIiIKICJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKICJtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgdXNpbmcgZ2l0IGFkZCIKQEAgLTk4MjksMTIgKzEwMTE4LDEyIEBACiAiRHUgbcOlc3RlIHJlZGlnZXJhIGFsbGEgc2FtbWFuc2xhZ25pbmdza29uZmxpa3RlciBvY2hcbiIKICJkw6RyZWZ0ZXIgbWFya2VyYSBkZW0gc29tIGzDtnN0YSBtZWQgZ2l0IGFkZCIKIAotIzogZ2l0LXJlYmFzZS5zaDozNzMKKyM6IGdpdC1yZWJhc2Uuc2g6MzgyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCiBtc2dzdHIgIkt1bmRlIGludGUgZmx5dHRhIHRpbGxiYWthIHRpbGwgJGhlYWRfbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDozOTIKKyM6IGdpdC1yZWJhc2Uuc2g6NDAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJHN0YXRlX2Rpcl9iYXNlIGRpcmVjdG9yeSwgYW5kXG4iCkBAIC05ODU1LDY2ICsxMDE0NCw2NiBAQAogIm9jaCBrw7ZyIHByb2dyYW1tZXQgaWdlbi4gSmFnIGF2c2x1dGFyIGlmYWxsIGR1IGZvcnRmYXJhbmRlIGhhclxuIgogIm7DpWdvdCBhdiB2w6RyZGUgZMOkci4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDM3CisjOiBnaXQtcmViYXNlLnNoOjQ0NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAkdXBzdHJlYW1fbmFtZSIKIG1zZ3N0ciAib2dpbHRpZyB1cHBzdHLDtm0gJHVwc3RyZWFtX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDYxCisjOiBnaXQtcmViYXNlLnNoOjQ3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgYXJlIG1vcmUgdGhhbiBvbmUgbWVyZ2UgYmFzZXMiCiBtc2dzdHIgIiRvbnRvX25hbWU6IG1lciDDpG4gZW4gc2FtbWFuc2xhZ25pbmdzYmFzIGZpbm5zIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ2NCBnaXQtcmViYXNlLnNoOjQ2OAorIzogZ2l0LXJlYmFzZS5zaDo0NzMgZ2l0LXJlYmFzZS5zaDo0NzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGlzIG5vIG1lcmdlIGJhc2UiCiBtc2dzdHIgIiRvbnRvX25hbWU6IGluZ2VuIHNhbW1hbnNsYWduaW5nc2JhcyBmaW5ucyIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NzMKKyM6IGdpdC1yZWJhc2Uuc2g6NDgyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKIG1zZ3N0ciAiUGVrYSBww6UgZW4gZ2lsdGlnIGluY2hlY2tuaW5nOiAkb250b19uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5NgorIzogZ2l0LXJlYmFzZS5zaDo1MDUKICMsIHNoLWZvcm1hdAogbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaDogJGJyYW5jaF9uYW1lIgogbXNnc3RyICLDtmRlc2RpZ2VydDogaW5nZW4gc8OlZGFuIGdyZW46ICRicmFuY2hfbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MTkKKyM6IGdpdC1yZWJhc2Uuc2g6NTI4CiBtc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKIG1zZ3N0ciAiS2FuIGludGUgdXRmw7ZyYSBcImF1dG9zdGFzaFwiIgogCi0jOiBnaXQtcmViYXNlLnNoOjUyNAorIzogZ2l0LXJlYmFzZS5zaDo1MzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgogbXNnc3RyICJTa2FwYWRlIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MjgKKyM6IGdpdC1yZWJhc2Uuc2g6NTM3CiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAiQ2hlY2thIGluIGVsbGVyIGFudsOkbmQgXCJzdGFzaFwiIHDDpSBkZW0uIgogCi0jOiBnaXQtcmViYXNlLnNoOjU0OAorIzogZ2l0LXJlYmFzZS5zaDo1NTcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAiQWt0dWVsbCBncmVuICRicmFuY2hfbmFtZSDDpHIgw6Agam91ci4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTUyCisjOiBnaXQtcmViYXNlLnNoOjU2MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgogbXNnc3RyICJBa3R1ZWxsIGdyZW4gJGJyYW5jaF9uYW1lIMOkciDDoCBqb3VyLCBvbWJhc2VyaW5nIGZyYW10dmluZ2FkLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjMKKyM6IGdpdC1yZWJhc2Uuc2g6NTcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDaGFuZ2VzIGZyb20gJG1iIHRvICRvbnRvOiIKIG1zZ3N0ciAiw4RuZHJpbmdhciBmcsOlbiAkbWIgdGlsbCAkb250bzoiCiAKICMuIERldGFjaCBIRUFEIGFuZCByZXNldCB0aGUgdHJlZQotIzogZ2l0LXJlYmFzZS5zaDo1NzIKKyM6IGdpdC1yZWJhc2Uuc2g6NTgxCiBtc2dpZCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uIgogbXNnc3RyICIiCiAiRsO2cnN0LCBzcG9sYXIgdGlsbGJha2EgaHV2dWRldCBmw7ZyIGF0dCBzcGVsYSBhdiBkaXR0IGFyYmV0ZSBvdmFucMOlIGRldC4uLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1ODIKKyM6IGdpdC1yZWJhc2Uuc2g6NTkxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRlZCAkYnJhbmNoX25hbWUgdG8gJG9udG9fbmFtZS4iCiBtc2dzdHIgIlNuYWJic3BvbGFkZSAkYnJhbmNoX25hbWUgdGlsbCAkb250b19uYW1lLiIKQEAgLTk5NjIsNyArMTAyNTEsNyBAQAogIy4gJCBnaXQgc3Rhc2ggc2F2ZSAtLWJsYWgtYmxhaCAyPiYxIHwgaGVhZCAtbiAyCiAjLiBlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogLS1ibGFoLWJsYWgKICMuIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJy0tYmxhaC1ibGFoJwotIzogZ2l0LXN0YXNoLnNoOjI0MQorIzogZ2l0LXN0YXNoLnNoOjIzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCkBAIC05OTcxLDEwMCArMTAyNjAsODUgQEAKICJmZWw6IGZlbGFrdGlnIGZsYWdnYSBmw7ZyIFwic3Rhc2ggc2F2ZVwiOiAkb3B0aW9uXG4iCiAiICAgICBGw7ZyIGF0dCBhbmdlIGV0dCBtZWRkZWxhbmRlLCBhbnbDpG5kIGdpdCBzdGFzaCBzYXZlIC0tIFwiJG9wdGlvblwiIgogCi0jOiBnaXQtc3Rhc2guc2g6MjYyCisjOiBnaXQtc3Rhc2guc2g6MjU4CiBtc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgogbXNnc3RyICJJbmdhIGxva2FsYSDDpG5kcmluZ2FyIGF0dCBzcGFyYSIKIAotIzogZ2l0LXN0YXNoLnNoOjI2OAotbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCBmaWxlcyB3b3VsZCBOT1QgYmUgc2F2ZWQgYnV0IG5lZWQgdG8gYmUgcmVtb3ZlZCBieSAiCi0ic3Rhc2ggc2F2ZToiCi1tc2dzdHIgIiIKLSJGw7ZsamFuZGUgb3Nww6VyYWRlIMOkbmRyaW5nYXIgc2t1bGxlIElOVEUgc3BhcmFzIHV0YW4gbcOlc3RlIHRhcyBib3J0IG1lZCAiCi0iXCJzdGFzaCBzYXZlXCI6IgotCi0jOiBnaXQtc3Rhc2guc2g6MjcwCi1tc2dpZCAiIgotIkFib3J0aW5nLiBDb25zaWRlciB1c2luZyBlaXRoZXIgdGhlIC0tZm9yY2Ugb3IgLS1pbmNsdWRlLXVudHJhY2tlZCBvcHRpb24uIgotbXNnc3RyICIiCi0iQXZicnl0ZXIuIMOWdmVydsOkZyBhdHQgYW52w6RuZGEgYW50aW5nZW4gZmxhZ2dhbiAtLWZvcmNlIGVsbGVyIC0taW5jbHVkZS0iCi0idW50cmFja2VkLiIKLQotIzogZ2l0LXN0YXNoLnNoOjI3NAorIzogZ2l0LXN0YXNoLnNoOjI2MgogbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgogbXNnc3RyICJLYW4gaW50ZSBpbml0aWVyYSBcInN0YXNoXCIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNzgKKyM6IGdpdC1zdGFzaC5zaDoyNjYKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCiBtc2dzdHIgIkthbiBpbnRlIHNwYXJhIGFrdHVlbGwgc3RhdHVzIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjk2CisjOiBnaXQtc3Rhc2guc2g6Mjg0CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICJLYW4gaW50ZSB0YSBib3J0IMOkbmRyaW5nYXIgaSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGdpdC1zdGFzaC5zaDozOTUKKyM6IGdpdC1zdGFzaC5zaDozODMKIG1zZ2lkICJObyBzdGFzaCBmb3VuZC4iCiBtc2dzdHIgIkluZ2VuIFwic3Rhc2hcIiBoaXR0YWRlcy4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0MDIKKyM6IGdpdC1zdGFzaC5zaDozOTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCiBtc2dzdHIgIkbDtnIgbcOlbmdhIHJldmlzaW9uZXIgYW5naXZuYTogJFJFViIKIAotIzogZ2l0LXN0YXNoLnNoOjQwOAorIzogZ2l0LXN0YXNoLnNoOjM5NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlIMOkciBpbnRlIGVuIGdpbHRpZyByZWZlcmVucy4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0MzYKKyM6IGdpdC1zdGFzaC5zaDo0MjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCiBtc2dzdHIgIlwiJGFyZ3NcIiDDpHIgaW50ZSBlbiBcInN0YXNoXCItbGlrbmFuZGUgaW5jaGVja25pbmciCiAKLSM6IGdpdC1zdGFzaC5zaDo0NDcKKyM6IGdpdC1zdGFzaC5zaDo0MzUKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2ggcmVmZXJlbmNlIgogbXNnc3RyICJcIiRhcmdzXCIgw6RyIGludGUgZW4gXCJzdGFzaFwiLXJlZmVyZW5zIgogCi0jOiBnaXQtc3Rhc2guc2g6NDU1CisjOiBnaXQtc3Rhc2guc2g6NDQzCiBtc2dpZCAidW5hYmxlIHRvIHJlZnJlc2ggaW5kZXgiCiBtc2dzdHIgImthbiBpbnRlIHVwcGRhdGVyYSBpbmRleGV0IgogCi0jOiBnaXQtc3Rhc2guc2g6NDU5CisjOiBnaXQtc3Rhc2guc2g6NDQ3CiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgogbXNnc3RyICJLYW4gaW50ZSB0aWxsw6RtcGEgZW4gXCJzdGFzaFwiIG1pdHQgaSBlbiBzYW1tYW5zbGFnbmluZyIKIAotIzogZ2l0LXN0YXNoLnNoOjQ2NworIzogZ2l0LXN0YXNoLnNoOjQ1NQogbXNnaWQgIkNvbmZsaWN0cyBpbiBpbmRleC4gVHJ5IHdpdGhvdXQgLS1pbmRleC4iCiBtc2dzdHIgIktvbmZsaWt0ZXIgaSBpbmRleGV0LiBUZXN0YSB1dGFuIC0taW5kZXguIgogCi0jOiBnaXQtc3Rhc2guc2g6NDY5CisjOiBnaXQtc3Rhc2guc2g6NDU3CiBtc2dpZCAiQ291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBzcGFyYSBpbmRleHRyw6RkIgogCi0jOiBnaXQtc3Rhc2guc2g6NTAzCisjOiBnaXQtc3Rhc2guc2g6NDkxCiBtc2dpZCAiQ2Fubm90IHVuc3RhZ2UgbW9kaWZpZWQgZmlsZXMiCiBtc2dzdHIgIkthbiBpbnRlIHRhIGJvcnQgw6RuZHJhZGUgZmlsZXIgdXIga8O2biIKIAotIzogZ2l0LXN0YXNoLnNoOjUxOAorIzogZ2l0LXN0YXNoLnNoOjUwNgogbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKIG1zZ3N0ciAiSW5kZXhldCBoYXIgaW50ZSB0YWdpdHMgdXIga8O2bi4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1MzUKKyM6IGdpdC1zdGFzaC5zaDo1MjMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCiBtc2dzdHIgIkthc3RhZGUgJHtSRVZ9ICgkcykiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MzYKKyM6IGdpdC1zdGFzaC5zaDo1MjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiR7UkVWfTogS3VuZGUgaW50ZSBrYXN0YSBcInN0YXNoXCItcG9zdCIKIAotIzogZ2l0LXN0YXNoLnNoOjU0MworIzogZ2l0LXN0YXNoLnNoOjUzMQogbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKIG1zZ3N0ciAiSW5nZXQgZ3Jlbm5hbW4gYW5nYXZzIgogCi0jOiBnaXQtc3Rhc2guc2g6NjE1CisjOiBnaXQtc3Rhc2guc2g6NjAzCiBtc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogbXNnc3RyICIoRsO2ciBhdHQgw6V0ZXJzdMOkbGxhIGRlbSwgc2tyaXYgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiAKQEAgLTEwMzMzLDUwICsxMDYwNyw2MSBAQAogbXNnc3RyICJGbGFnZ2FuIC0tY2FjaGVkIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgZmxhZ2dhbiAtLWZpbGVzIgogCiAjLiB1bmV4cGVjdGVkIHR5cGUKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA2NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDczCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG1vZGUgJG1vZF9kc3QiCiBtc2dzdHIgIm92w6RudGF0IGzDpGdlICRtb2RfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwODYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTA5MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgogbXNnc3RyICIgIFZhcm5pbmc6ICRkaXNwbGF5X25hbWUgaW5uZWjDpWxsZXIgaW50ZSBpbmNoZWNrbmluZ2VuICRzaGExX3NyYyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDg5CisjOiBnaXQtc3VibW9kdWxlLnNoOjEwOTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiICBWYXJuaW5nOiAkZGlzcGxheV9uYW1lIGlubmVow6VsbGVyIGludGUgaW5jaGVja25pbmdlbiAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA5MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDk5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCiBtc2dzdHIgIiIKICIgIFZhcm5pbmc6ICRkaXNwbGF5X25hbWUgaW5uZWjDpWxsZXIgaW50ZSBpbmNoZWNrbmluZ2FybmEgJHNoYTFfc3JjIG9jaCAiCiAiJHNoYTFfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExMTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTEyNAogbXNnaWQgImJsb2IiCiBtc2dzdHIgImJsb2IiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTE1NQotbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgotbXNnc3RyICJVbmRlcm1vZHVsZXIgw6RuZHJhZGUgbWVuIGludGUgdXBwZGF0ZXJhZGU6IgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExNTcKLW1zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgotbXNnc3RyICJVbmRlcm1vZHVsZXJzIMOkbmRyaW5nYXIgYXR0IGNoZWNrYSBpbjoiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTI0MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMjM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIk1pc3NseWNrYWRlcyByZWt1cnNlcmEgaW4gaSB1bmRlcm1vZHVsc8O2a3bDpGdlbiBcIiRzbV9wYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTMwNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMzAyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJTeW5rcm9uaXNlcmFyIHVuZGVybW9kdWwtdXJsIGbDtnIgXCIkZGlzcGxheXBhdGhcIiIKIAorI34gbXNnaWQgImlucHV0IHBhdGhzIGFyZSB0ZXJtaW5hdGVkIGJ5IGEgbnVsbCBjaGFyYWN0ZXIiCisjfiBtc2dzdHIgInPDtmt2w6RnYXIgYXZkZWxhcyBtZWQgbnVsbC10ZWNrZW4iCisKKyN+IG1zZ2lkICJkb25lXG4iCisjfiBtc2dzdHIgImtsYXJ0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgZmlsZXMgd291bGQgTk9UIGJlIHNhdmVkIGJ1dCBuZWVkIHRvIGJlIHJlbW92ZWQgIgorI34gImJ5IHN0YXNoIHNhdmU6IgorI34gbXNnc3RyICIiCisjfiAiRsO2bGphbmRlIG9zcMOlcmFkZSDDpG5kcmluZ2FyIHNrdWxsZSBJTlRFIHNwYXJhcyB1dGFuIG3DpXN0ZSB0YXMgYm9ydCBtZWQgIgorI34gIlwic3Rhc2ggc2F2ZVwiOiIKKworI34gbXNnaWQgIiIKKyN+ICJBYm9ydGluZy4gQ29uc2lkZXIgdXNpbmcgZWl0aGVyIHRoZSAtLWZvcmNlIG9yIC0taW5jbHVkZS11bnRyYWNrZWQgb3B0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIkF2YnJ5dGVyLiDDlnZlcnbDpGcgYXR0IGFudsOkbmRhIGFudGluZ2VuIGZsYWdnYW4gLS1mb3JjZSBlbGxlciAtLWluY2x1ZGUtIgorI34gInVudHJhY2tlZC4iCisKICN+IG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLXJlc29sdmVkXCIpIgogI34gbXNnc3RyICIgIChyw6R0dGEga29uZmxpa3RlciBvY2gga8O2ciBzZWRhbiBcImdpdCBhbSAtLXJlc29sdmVkXCIpIgogCkBAIC0xMDQ5OCw5ICsxMDc4Myw2IEBACiAjfiBtc2dpZCAiLUIgY2Fubm90IGJlIHVzZWQgd2l0aCAtYiIKICN+IG1zZ3N0ciAiLUIga2FuIGludGUgYW52w6RuZGFzIG1lZCAtYiIKIAotI34gbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCi0jfiBtc2dzdHIgIi0tcGF0Y2ggw6RyIGlua29tcGF0aWJlbCBtZWQgYWxsYSBhbmRyYSBmbGFnZ29yIgotCiAjfiBtc2dpZCAiLS1kZXRhY2ggY2Fubm90IGJlIHVzZWQgd2l0aCAtYi8tQi8tLW9ycGhhbiIKICN+IG1zZ3N0ciAiLS1kZXRjYWgga2FuIGludGUgYW52w6RuZGFzIG1lZCAtYi8tQi8tLW9ycGhhbiIKIApkaWZmIC0tZ2l0IGEvcG8vdmkucG8gYi9wby92aS5wbwppbmRleCBkZDJkMmE3Li4wNTQyMGViIDEwMDY0NAotLS0gYS9wby92aS5wbworKysgYi9wby92aS5wbwpAQCAtMSwxNCArMSwxNSBAQAogIyBWaWV0bmFtZXNlIHRyYW5zbGF0aW9uIGZvciBHSVQtQ09SRS4KKyMgQuG6o24gZOG7i2NoIHRp4bq/bmcgVmnhu4d0IGTDoG5oIGNobyBHSVQtQ09SRS4KICMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGdpdC1jb3JlIHBhY2thZ2UuCiAjIEZpcnN0IHRyYW5zbGF0ZWQgYnkgVHLhuqduIE5n4buNYyBRdcOibiA8dm53aWxkbWFuQGdtYWlsLmNvbT4sIDIwMTItMjAxMy4KICMgTmd1eeG7hW4gVGjDoWkgTmfhu41jIER1eSA8cGNsb3Vkc0BnbWFpbC5jb20+LCAyMDEyLgogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogZ2l0LXYxLjguNC1yYzEtMjItZ2I4ZWNmMjNcbiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGdpdC12MS44LjUtcmMwLTI0LWc3MjdiOTU3XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTMtMDgtMDYgMTQ6MTArMDgwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTMtMDgtMDYgMTQ6MjgrMDcwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDEzLTExLTAyIDA4OjA2KzA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDEzLTExLTAyIDEzOjE1KzA3MDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IFRy4bqnbiBOZ+G7jWMgUXXDom4gPHZud2lsZG1hbkBnbWFpbC5jb20+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogVmlldG5hbWVzZSA8dHJhbnNsYXRpb24tdGVhbS12aUBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCiAiTGFuZ3VhZ2U6IHZpXG4iCkBAIC0yNCw3ICsyNSw3IEBACiAjOiBhZHZpY2UuYzo1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJoaW50OiAlLipzXG4iCi1tc2dzdHIgImfhu6NpIMO9OiAlLipzXG4iCittc2dzdHIgInTDrG0gdGjhuqV5OiAlLipzXG4iCiAKICMuCiAjLiAqIE1lc3NhZ2UgdXNlZCBib3RoIHdoZW4gJ2dpdCBjb21taXQnIGZhaWxzIGFuZCB3aGVuCkBAIC02MSw3MSArNjIsNzYgQEAKIG1zZ2lkICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8cmVwbz4gWy0tZXhlYyA8Y21kPl0gLS1saXN0IgogbXNnc3RyICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8a2hvPiBbLS1leGVjIDxs4buHbmg+XSAtLWxpc3QiCiAKLSM6IGFyY2hpdmUuYzozMjMKKyM6IGFyY2hpdmUuYzoyNDIgYnVpbHRpbi9hZGQuYzoyNDAgYnVpbHRpbi9hZGQuYzo1NTYgYnVpbHRpbi9ybS5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgorbXNnc3RyICLEkeG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0ga2jDtG5nIGto4bubcCB24bubaSBi4bqldCBr4buzIHThuq1wIHRpbiBuw6BvIgorCisjOiBhcmNoaXZlLmM6MzI3CiBtc2dpZCAiZm10IgogbXNnc3RyICJmbXQiCiAKLSM6IGFyY2hpdmUuYzozMjMKKyM6IGFyY2hpdmUuYzozMjcKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAixJHhu4tuaCBk4bqhbmcgbMawdSB0cuG7ryIKIAotIzogYXJjaGl2ZS5jOjMyNCBidWlsdGluL2xvZy5jOjExNzMKKyM6IGFyY2hpdmUuYzozMjggYnVpbHRpbi9sb2cuYzoxMTkzCiBtc2dpZCAicHJlZml4IgogbXNnc3RyICJ0aeG7gW4gdOG7kSIKIAotIzogYXJjaGl2ZS5jOjMyNQorIzogYXJjaGl2ZS5jOjMyOQogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgIm7hu5FpIHRow6ptIHRp4buBbiB04buRIHbDoG8gdOG7q25nIMSRxrDhu51uZyBk4bqrbiB04bqtcCB0aW4gdHJvbmcga2hvIGzGsHUiCiAKLSM6IGFyY2hpdmUuYzozMjYgYnVpbHRpbi9hcmNoaXZlLmM6ODggYnVpbHRpbi9ibGFtZS5jOjIyOTIKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkzIGJ1aWx0aW4vY29uZmlnLmM6NTYgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MwotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NSBidWlsdGluL2dyZXAuYzo3MTQgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjc3Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDk2IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTkgYnVpbHRpbi9ub3Rlcy5jOjQwOAotIzogYnVpbHRpbi9ub3Rlcy5jOjU2NSBidWlsdGluL3JlYWQtdHJlZS5jOjEwOCBwYXJzZS1vcHRpb25zLmg6MTUyCisjOiBhcmNoaXZlLmM6MzMwIGJ1aWx0aW4vYXJjaGl2ZS5jOjg4IGJ1aWx0aW4vYmxhbWUuYzoyMjY0CisjOiBidWlsdGluL2JsYW1lLmM6MjI2NSBidWlsdGluL2NvbmZpZy5jOjU4IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODIgYnVpbHRpbi9ncmVwLmM6NzE2IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo3NworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NiBidWlsdGluL2xzLWZpbGVzLmM6NDg5IGJ1aWx0aW4vbm90ZXMuYzo0MDgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDggcGFyc2Utb3B0aW9ucy5oOjE1NAogbXNnaWQgImZpbGUiCiBtc2dzdHIgInThuq1wLXRpbiIKIAotIzogYXJjaGl2ZS5jOjMyNyBidWlsdGluL2FyY2hpdmUuYzo4OQorIzogYXJjaGl2ZS5jOjMzMSBidWlsdGluL2FyY2hpdmUuYzo4OQogbXNnaWQgIndyaXRlIHRoZSBhcmNoaXZlIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAiZ2hpIGtobyBsxrB1IHbDoG8gdOG6rXAgdGluIG7DoHkiCiAKLSM6IGFyY2hpdmUuYzozMjkKKyM6IGFyY2hpdmUuYzozMzMKIG1zZ2lkICJyZWFkIC5naXRhdHRyaWJ1dGVzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICLEkeG7jWMgLmdpdGF0dHJpYnV0ZXMgdHJvbmcgdGjGsCBt4bulYyBsw6BtIHZp4buHYyIKIAotIzogYXJjaGl2ZS5jOjMzMAorIzogYXJjaGl2ZS5jOjMzNAogbXNnaWQgInJlcG9ydCBhcmNoaXZlZCBmaWxlcyBvbiBzdGRlcnIiCiBtc2dzdHIgImxp4buHdCBrw6ogY8OhYyB04bqtcCB0aW4gxJHGsOG7o2MgbMawdSB0cuG7ryB2w6BvIHN0ZGVyciAoxJHhuqd1IHJhIGzhu5dpIHRpw6p1IGNodeG6qW4pIgogCi0jOiBhcmNoaXZlLmM6MzMxCisjOiBhcmNoaXZlLmM6MzM1CiBtc2dpZCAic3RvcmUgb25seSIKIG1zZ3N0ciAiY2jhu4kgbMawdSAoa2jDtG5nIG7DqW4pIgogCi0jOiBhcmNoaXZlLmM6MzMyCisjOiBhcmNoaXZlLmM6MzM2CiBtc2dpZCAiY29tcHJlc3MgZmFzdGVyIgogbXNnc3RyICJuw6luIG5oYW5oIGjGoW4iCiAKLSM6IGFyY2hpdmUuYzozNDAKKyM6IGFyY2hpdmUuYzozNDQKIG1zZ2lkICJjb21wcmVzcyBiZXR0ZXIiCiBtc2dzdHIgIm7DqW4gbmjhu48gaMahbiIKIAotIzogYXJjaGl2ZS5jOjM0MworIzogYXJjaGl2ZS5jOjM0NwogbXNnaWQgImxpc3Qgc3VwcG9ydGVkIGFyY2hpdmUgZm9ybWF0cyIKIG1zZ3N0ciAibGnhu4d0IGvDqiBjw6FjIGtp4buDdSBuw6luIMSRxrDhu6NjIGjhu5cgdHLhu6MiCiAKLSM6IGFyY2hpdmUuYzozNDUgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjg1CisjOiBhcmNoaXZlLmM6MzQ5IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4NAogbXNnaWQgInJlcG8iCiBtc2dzdHIgImtobyIKIAotIzogYXJjaGl2ZS5jOjM0NiBidWlsdGluL2FyY2hpdmUuYzo5MQorIzogYXJjaGl2ZS5jOjM1MCBidWlsdGluL2FyY2hpdmUuYzo5MQogbXNnaWQgInJldHJpZXZlIHRoZSBhcmNoaXZlIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkgPHJlcG8+IgogbXNnc3RyICJuaOG6rW4ga2hvIGzGsHUgdOG7qyBraG8gY2jhu6lhIDxraG8+IHRyw6puIG3DoXkgY2jhu6ciCiAKLSM6IGFyY2hpdmUuYzozNDcgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4NworIzogYXJjaGl2ZS5jOjM1MSBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDg3CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAibOG7h25oIgogCi0jOiBhcmNoaXZlLmM6MzQ4IGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCisjOiBhcmNoaXZlLmM6MzUyIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24gxJHhur9uIGzhu4duaCBnaXQtdXBsb2FkLXBhY2sgdHLDqm4gbcOheSBjaOG7pyIKIApAQCAtMjA4LDE5ICsyMTQsMTkgQEAKIG1zZ2lkICJDYW5ub3QgZm9yY2UgdXBkYXRlIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyDDqXAgYnXhu5ljIGPhuq1wIG5o4bqtdCBuaMOhbmggaGnhu4duIGjDoG5oLiIKIAotIzogYnJhbmNoLmM6MjE2CisjOiBicmFuY2guYzoyMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHNldHVwIHRyYWNraW5nIGluZm9ybWF0aW9uOyBzdGFydGluZyBwb2ludCAnJXMnIGlzIG5vdCBhIGJyYW5jaC4iCiBtc2dzdHIgIiIKICJLaMO0bmcgdGjhu4MgY8OgaSDEkeG6t3QgdGjDtG5nIHRpbiB0aGVvIHbhur90OyDEkWnhu4NtIGLhuq90IMSR4bqndSDigJwlc+KAnSBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCAiCiAibmjDoW5oLiIKIAotIzogYnJhbmNoLmM6MjE4CisjOiBicmFuY2guYzoyMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHJlcXVlc3RlZCB1cHN0cmVhbSBicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKLW1zZ3N0ciAibmjDoW5oIGTDsm5nIG5nxrDhu6NjIMSRw6MgecOqdSBj4bqndSDigJwlc+KAnSBjaMawYSBz4bq1biBjw7MiCittc2dzdHIgIm5ow6FuaCB0aMaw4bujbmcgbmd14buTbiDEkcOjIHnDqnUgY+G6p3Ug4oCcJXPigJ0gY2jGsGEgc+G6tW4gY8OzIgogCi0jOiBicmFuY2guYzoyMjAKKyM6IGJyYW5jaC5jOjIxOQogbXNnaWQgIiIKICJcbiIKICJJZiB5b3UgYXJlIHBsYW5uaW5nIG9uIGJhc2luZyB5b3VyIHdvcmsgb24gYW4gdXBzdHJlYW1cbiIKQEAgLTIzMiwzNCArMjM4LDM0IEBACiAiXCJnaXQgcHVzaCAtdVwiIHRvIHNldCB0aGUgdXBzdHJlYW0gY29uZmlnIGFzIHlvdSBwdXNoLiIKIG1zZ3N0ciAiIgogIlxuIgotIk7hur91IGLhuqFuIGPDsyDDvSDEkeG7i25oIHRyw6puIGPGoSBz4bufIGPDtG5nIHZp4buHYyBj4bunYSBi4bqhbiB0csOqbiBuaMOhbmggZMOybmcgbmfGsOG7o2NcbiIKKyJO4bq/dSBi4bqhbiBjw7Mgw70gxJHhu4tuaCBj4bqjaSB04buVIGPDtG5nIHZp4buHYyBj4bunYSBi4bqhbiB0csOqbiBuaMOhbmggdGjGsOG7o25nIG5ndeG7k25cbiIKICIodXBzdHJlYW0pIGPDoWkgbcOgIMSRw6Mgc+G6tW4gY8OzIHRyw6puIG3DoXkgY2jhu6csIGLhuqFuIGPhuqduIGNo4bqheVxuIgogImzhu4duaCBcImdpdCBmZXRjaFwiIMSR4buDIGzhuqV5IG7DsyB24buBLlxuIgogIlxuIgotIk7hur91IGLhuqFuIGPDsyDDvSDEkeG7i25oIHB1c2ggbMOqbmggbeG7mXQgbmjDoW5oIG7hu5lpIGLhu5kgbeG7m2kgY8OhaSBtw6BcbiIKKyJO4bq/dSBi4bqhbiBjw7Mgw70gxJHhu4tuaCBwdXNoIGzDqm4gbeG7mXQgbmjDoW5oIG7hu5lpIGLhu5kgbeG7m2kgY8OhaSBtw6BcbiIKICJz4bq9IHRoZW8gZMO1aSBi4bqjbiDEkeG7kWkgY2hp4bq/dSBtw6F5IGNo4bunIGPhu6dhIG7DsywgYuG6oW4gY+G6p24gZMO5bmcgbOG7h25oXG4iCi0iXCJnaXQgcHVzaCAtdVwiIMSR4buDIMSR4bq3dCBj4bqldSBow6xuaCBkw7JuZyBuZ8aw4bujYyBi4bqhbiBtdeG7kW4gcHVzaC4iCisiXCJnaXQgcHVzaCAtdVwiIMSR4buDIMSR4bq3dCBj4bqldSBow6xuaCB0aMaw4bujbmcgbmd14buTbiBi4bqhbiBtdeG7kW4gcHVzaC4iCiAKLSM6IGJyYW5jaC5jOjI2NQorIzogYnJhbmNoLmM6MjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAiS2jDtG5nIHBo4bqjaSB0w6puIMSR4buRaSB0xrDhu6NuZyBo4bujcCBs4buHOiDigJwlc+KAnS4iCiAKLSM6IGJyYW5jaC5jOjI4NQorIzogYnJhbmNoLmM6Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFtYmlndW91cyBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIlTDqm4gxJHhu5FpIHTGsOG7o25nIGNoxrBhIHLDtSByw6BuZzog4oCcJXPigJ0uIgogCi0jOiBicmFuY2guYzoyOTAKKyM6IGJyYW5jaC5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgogbXNnc3RyICJOaMOhbmgga2jDtG5nIGjhu6NwIGzhu4c6IOKAnCVz4oCdLiIKIAotIzogYnJhbmNoLmM6Mjk2CisjOiBicmFuY2guYzoyOTUKIG1zZ2lkICJGYWlsZWQgdG8gbG9jayByZWYgZm9yIHVwZGF0ZSIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIGtow7NhIHRoYW0gY2hp4bq/dSAocmVmKSDEkeG7gyBj4bqtcCBuaOG6rXQiCiAKLSM6IGJyYW5jaC5jOjMxNAorIzogYnJhbmNoLmM6MzEzCiBtc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHJlZiIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIGdoaSB0aGFtIGNoaeG6v3UgKHJlZikiCiAKQEAgLTI3Myw3ICsyNzksNyBAQAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAicGjhuqduIMSR4bqndSAoaGVhZGVyKSBraMO0bmcgxJHGsOG7o2MgdGjhu6thIG5o4bqtbjogJXMlcyAoJWQpIgogCi0jOiBidW5kbGUuYzo4OSBidWlsdGluL2NvbW1pdC5jOjY5NworIzogYnVuZGxlLmM6ODkgYnVpbHRpbi9jb21taXQuYzo3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58g4oCcJXPigJ0iCkBAIC0yODIsOSArMjg4LDkgQEAKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIHRoZXNlIHByZXJlcXVpc2l0ZSBjb21taXRzOiIKIG1zZ3N0ciAiS2hvIGNo4bupYSB0aGnhur91IG5o4buvbmcgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBj4bqnbiB0csaw4bubYyBo4bq/dCBuw6B5OiIKIAotIzogYnVuZGxlLmM6MTY0IHNlcXVlbmNlci5jOjY2MSBzZXF1ZW5jZXIuYzoxMTExIGJ1aWx0aW4vbG9nLmM6MzMxCi0jOiBidWlsdGluL2xvZy5jOjgwMSBidWlsdGluL2xvZy5jOjEzOTkgYnVpbHRpbi9sb2cuYzoxNjI1IGJ1aWx0aW4vbWVyZ2UuYzozNjQKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNTYKKyM6IGJ1bmRsZS5jOjE2NCBzZXF1ZW5jZXIuYzo2NjIgc2VxdWVuY2VyLmM6MTExMiBidWlsdGluL2xvZy5jOjMzMgorIzogYnVpbHRpbi9sb2cuYzo4MjEgYnVpbHRpbi9sb2cuYzoxNDE4IGJ1aWx0aW4vbG9nLmM6MTY0NCBidWlsdGluL21lcmdlLmM6MzY0CisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTU4CiBtc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCiBtc2dzdHIgImPDoGkgxJHhurd0IHZp4buHYyBkaSBjaHV54buDbiBxdWEgY8OhYyDEkWnhu4NtIHjDqXQgZHV54buHdCBn4bq3cCBs4buXaSIKIApAQCAtMzEwLDcgKzMxNiw3IEBACiBtc2dpZCAicmV2LWxpc3QgZGllZCIKIG1zZ3N0ciAicmV2LWxpc3QgxJHDoyBjaOG6v3QiCiAKLSM6IGJ1bmRsZS5jOjMwMCBidWlsdGluL2xvZy5jOjEzMTAgYnVpbHRpbi9zaG9ydGxvZy5jOjI1OQorIzogYnVuZGxlLmM6MzAwIGJ1aWx0aW4vbG9nLmM6MTMyOSBidWlsdGluL3Nob3J0bG9nLmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyDEkcaw4bujYyB0aOG7q2Egbmjhuq1uOiAlcyIKQEAgLTQ2MCw3ICs0NjYsNyBAQAogIlTDrG0gdGjhuqV5IGPDoWMgbOG7l2kgdHJvbmcgYmnhur9uIGPhuqV1IGjDrG5oIOKAnGRpZmYuZGlyc3RhdOKAnTpcbiIKICIlcyIKIAotIzogZGlmZi5jOjM0ODcKKyM6IGRpZmYuYzozNDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCkBAIC00NjksNyArNDc1LDcgQEAKICJH4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggxJHhu5FpIHPhu5EgdMO5eSBjaOG7jW4gLS1kaXJzdGF0Ly1YOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzUwMQorIzogZGlmZi5jOjM1MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCDEkeG7kWkgc+G7kSB0w7l5IGNo4buNbiAtLXN1Ym1vZHVsZTog4oCcJXPigJ0iCkBAIC00OTYsMTcgKzUwMiwxNyBAQAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnOiAlcyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGdoaSBjaOG7ryBrw70gxJHDrW5oIGvDqG0gdsOgbyDigJwlc+KAnTogJXMiCiAKLSM6IGdyZXAuYzoxNjIzCisjOiBncmVwLmM6MTY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAi4oCcJXPigJ06IGtow7RuZyB0aOG7gyDEkeG7jWMgJXMiCiAKLSM6IGdyZXAuYzoxNjQwCisjOiBncmVwLmM6MTcxMgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiAlcyIKIG1zZ3N0ciAi4oCcJXPigJ06ICVzIgogCi0jOiBncmVwLmM6MTY1MQorIzogZ3JlcC5jOjE3MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogc2hvcnQgcmVhZCAlcyIKIG1zZ3N0ciAi4oCcJXPigJ06IMSR4buNYyBuZ+G6r24gJXMiCkBAIC01NzcsMTAgKzU4MywxMCBAQAogCiAjOiBtZXJnZS5jOjU2CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGNhY2hlIgotbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jIGLhu5kgbmjhu5sgdOG6oW0iCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7jWMgYuG7mSBuaOG7myDEkeG7h20iCiAKLSM6IG1lcmdlLmM6MTEwIGJ1aWx0aW4vY2hlY2tvdXQuYzozNjUgYnVpbHRpbi9jaGVja291dC5jOjU2NgotIzogYnVpbHRpbi9jbG9uZS5jOjY1NgorIzogbWVyZ2UuYzoxMTAgYnVpbHRpbi9jaGVja291dC5jOjM1OCBidWlsdGluL2NoZWNrb3V0LmM6NTU5CisjOiBidWlsdGluL2Nsb25lLmM6NjU1CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIHThuq1wIHRpbiBsxrB1IGLhuqNuZyBt4bulYyBs4bulYyBt4bubaSIKIApAQCAtNjI5LDcgKzYzNSw3IEBACiBtc2dpZCAiYmxvYiBleHBlY3RlZCBmb3IgJXMgJyVzJyIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIGJsb2IgxJHGsOG7o2MgbW9uZyDEkeG7o2kgY2hvICVzIOKAnCVz4oCdIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NzQgYnVpbHRpbi9jbG9uZS5jOjMxMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzc0IGJ1aWx0aW4vY2xvbmUuYzozMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIG3hu58g4oCcJXPigJ0iCkBAIC02MzcsNyArNjQzLDcgQEAKICM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3ltbGluayAnJXMnIgotbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdOG6oW8gbGnDqm4ga+G6v3QgdMaw4bujbmcgdHLGsG5nIChzeW1saW5rKSDigJwlc+KAnSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHThuqFvIGxpw6puIGvhur90IG3hu4FtIChzeW1saW5rKSDigJwlc+KAnSIKIAogIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzg1CiAjLCBjLWZvcm1hdApAQCAtNzY0LDcgKzc3MCw3IEBACiBtc2dpZCAiQXV0by1tZXJnaW5nICVzIgogbXNnc3RyICJU4buxLcSR4buZbmctaMOyYS10cuG7mW4gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzQgZ2l0LXN1Ym1vZHVsZS5zaDoxMTE4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjM0IGdpdC1zdWJtb2R1bGUuc2g6MTEyNQogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAibcO0LcSRdW4tY29uIgogCkBAIC04NjMsNTggKzg2OSwxMjUgQEAKIG1zZ2lkICJCYWQgJXMgdmFsdWU6ICclcyciCiBtc2dzdHIgIkdpw6EgdHLhu4sgJXMgc2FpOiDigJwlc+KAnSIKIAotIzogb2JqZWN0LmM6MjA0CisjOiBvYmplY3QuYzoyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIG9iamVjdDogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCDEkeG7kWkgdMaw4bujbmc6IOKAnCVz4oCdIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NDg5CisjOiBwYXJzZS1vcHRpb25zLmM6NTM3CiBtc2dpZCAiLi4uIgogbXNnc3RyICIuLi4iCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1MDcKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzIgogbXNnc3RyICJjw6FjaCBkw7luZzogJXMiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gaGVyZSBzaG91bGQgYWxpZ24gd2l0aCB0aGUKICMuIG9uZSBpbiAidXNhZ2U6ICVzIiB0cmFuc2xhdGlvbgotIzogcGFyc2Utb3B0aW9ucy5jOjUxMQorIzogcGFyc2Utb3B0aW9ucy5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICBvcjogJXMiCiBtc2dzdHIgIiAgICAgaG/hurdjOiAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjUxNAorIzogcGFyc2Utb3B0aW9ucy5jOjU2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJXMiCiBtc2dzdHIgIiAgICAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjU0OAorIzogcGFyc2Utb3B0aW9ucy5jOjU5NgogbXNnaWQgIi1OVU0iCiBtc2dzdHIgIi1T4buQIgogCi0jOiBwYXRoc3BlYy5jOjgzCi0jLCBjLWZvcm1hdAotbXNnaWQgIlBhdGggJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgotbXNnc3RyICLEkMaw4budbmcgZOG6q24g4oCcJXPigJ0gdGjDrCDhu58gdHJvbmcgbcO0LcSRdW4tY29uIOKAnCUuKnPigJ0iCisjOiBwYXRoc3BlYy5jOjExOAorbXNnaWQgImdsb2JhbCAnZ2xvYicgYW5kICdub2dsb2InIHBhdGhzcGVjIHNldHRpbmdzIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKyJjw6FjIGPDoGkgxJHhurd0IMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiDigJxnbG9i4oCdIHbDoCDigJxub2dsb2LigJ0gdG/DoG4gY+G7pWMgbMOgIHh1bmcga2jhuq9jIG5oYXUiCiAKLSM6IHBhdGhzcGVjLmM6OTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgotbXNnc3RyICLigJwlc+KAnSBu4bqxbSBuZ2/DoGkgbeG7mXQgbGnDqm4ga+G6v3QgdMaw4bujbmcgdHLGsG5nIgorIzogcGF0aHNwZWMuYzoxMjgKK21zZ2lkICIiCisiZ2xvYmFsICdsaXRlcmFsJyBwYXRoc3BlYyBzZXR0aW5nIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBnbG9iYWwgIgorInBhdGhzcGVjIHNldHRpbmdzIgorbXNnc3RyICIiCisiY8OgaSDEkeG6t3QgxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIOKAnGxpdGVyYWzigJ0gdG/DoG4gY+G7pWMgbMOgIHh1bmcga2jhuq9jIHbhu5tpIGPDoWMgY8OgaSDEkeG6t3QgxJHhurdjICIKKyJ04bqjIMSRxrDhu51uZyBk4bqrbiB0b8OgbiBj4bulYyBraMOhYyIKIAotIzogcmVtb3RlLmM6MTc4OAorIzogcGF0aHNwZWMuYzoxNTgKK21zZ2lkICJpbnZhbGlkIHBhcmFtZXRlciBmb3IgcGF0aHNwZWMgbWFnaWMgJ3ByZWZpeCciCittc2dzdHIgInRoYW0gc+G7kSBraMO0bmcgaOG7o3AgbOG7hyBjaG8g4oCcdGnhu4FuIHThu5HigJ0gbcOgdSBuaGnhu4dtIMSR4bq3YyB04bqjIMSRxrDhu51uZyDEkeG6q24iCisKKyM6IHBhdGhzcGVjLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGF0aHNwZWMgbWFnaWMgJyUuKnMnIGluICclcyciCittc2dzdHIgIlPhu5EgbcOgdSBuaGnhu4dtIMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiBraMO0bmcgaOG7o3AgbOG7hyDigJwlLipz4oCdIHRyb25nIOKAnCVz4oCdIgorCisjOiBwYXRoc3BlYy5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJNaXNzaW5nICcpJyBhdCB0aGUgZW5kIG9mIHBhdGhzcGVjIG1hZ2ljIGluICclcyciCittc2dzdHIgIlRoaeG6v3Ug4oCcKeKAnSB04bqhaSBjdeG7kWkgY+G7p2Egc+G7kSBtw6B1IG5oaeG7h20gxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIHRyb25nIOKAnCVz4oCdIgorCisjOiBwYXRoc3BlYy5jOjE4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmltcGxlbWVudGVkIHBhdGhzcGVjIG1hZ2ljICclYycgaW4gJyVzJyIKK21zZ3N0ciAiQ2jGsGEgdmnhur90IG3DoyBjaG8gc+G7kSBtw6B1IG5oaeG7h20gxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIOKAnCVj4oCdIHRyb25nIOKAnCVz4oCdIgorCisjOiBwYXRoc3BlYy5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJ2xpdGVyYWwnIGFuZCAnZ2xvYicgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiJXM6IOKAnGxpdGVyYWzigJ0gdsOgIOKAnGdsb2LigJ0geHVuZyBraOG6r2MgbmhhdSIKKworIzogcGF0aHNwZWMuYzoyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgorbXNnc3RyICIlczog4oCcJXPigJ0gbmdvw6BpIG3hu5l0IGtobyBjaOG7qWEiCisKKyM6IHBhdGhzcGVjLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKK21zZ3N0ciAixJDhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIHRow6wg4bufIHRyb25nIG3DtC3EkXVuLWNvbiDigJwlLipz4oCdIgorCisjLgorIy4gKiBXZSBtYXkgd2FudCB0byBzdWJzdGl0dXRlICJ0aGlzIGNvbW1hbmQiIHdpdGggYSBjb21tYW5kCisjLiAqIG5hbWUuIEUuZy4gd2hlbiBhZGQtLWludGVyYWN0aXZlIGRpZXMgd2hlbiBydW5uaW5nCisjLiAqICJjaGVja291dCAtcCIKKyMuCisjOiBwYXRoc3BlYy5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGF0aHNwZWMgbWFnaWMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvbW1hbmQ6ICVzIgorbXNnc3RyICIlczogc+G7kSBt4bqndSBuaGnhu4dtIMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiBjaMawYSDEkcaw4bujYyBo4buXIHRy4bujIGLhu59pIGzhu4duaCBuw6B5OiAlcyIKKworIzogcGF0aHNwZWMuYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aHNwZWMgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICLEkeG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0gdsaw4bujdCByYSBuZ2/DoGkgbGnDqm4ga+G6v3QgbeG7gW0iCisKKyM6IHJlbW90ZS5jOjE4MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgorbXNnc3RyICIiCisiTmjDoW5oIGPhu6dhIGLhuqFuIGThu7FhIHRyw6puIGPGoSBz4bufIGzDoCDigJwlc+KAnSwgbmjGsG5nIHRyw6puIHRoxrDhu6NuZyBuZ3Xhu5NuIGtow7RuZyBjw7JuLlxuIgorCisjOiByZW1vdGUuYzoxODM3Cittc2dpZCAiICAodXNlIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgdG8gZml4dXApXG4iCittc2dzdHIgIiAgIChkw7luZyBcIiBnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiDEkeG7gyBz4butYSlcbiIKKworIzogcmVtb3RlLmM6MTg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIGJyYW5jaCBpcyB1cC10by1kYXRlIHdpdGggJyVzJy5cbiIKK21zZ3N0ciAiTmjDoW5oIGPhu6dhIGLhuqFuIMSRw6MgY+G6rXAgbmjhuq10IHbhu5tpIOKAnCVz4oCdLlxuIgorCisjOiByZW1vdGUuYzoxODQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIgogbXNnaWRfcGx1cmFsICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iCiBtc2dzdHJbMF0gIk5ow6FuaCBj4bunYSBi4bqhbiBsw6AgxJHhuqd1IGPhu6dhIOKAnCVz4oCdIGLhu59pICVkIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkuXG4iCiBtc2dzdHJbMV0gIk5ow6FuaCBj4bunYSBi4bqhbiBsw6AgxJHhuqd1IGPhu6dhIOKAnCVz4oCdIGLhu59pICVkIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkuXG4iCiAKLSM6IHJlbW90ZS5jOjE3OTQKKyM6IHJlbW90ZS5jOjE4NTAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBwdXNoXCIgxJHhu4MgeHXhuqV0IGLhuqNuIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBu4buZaSBi4buZIGPhu6dhIGLhuqFuKVxuIgogCi0jOiByZW1vdGUuYzoxNzk3CisjOiByZW1vdGUuYzoxODUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdCwgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKIG1zZ2lkX3BsdXJhbCAiIgpAQCAtOTI2LDExICs5OTksMTEgQEAKICJOaMOhbmggY+G7p2EgYuG6oW4gdGjDrCDhu58gxJHhurFuZyBzYXUg4oCcJXPigJ0gYuG7n2kgJWQgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSwgdsOgIGPDsyB0aOG7gyAiCiAixJHGsOG7o2MgZmFzdC1mb3J3YXJkLlxuIgogCi0jOiByZW1vdGUuYzoxODA1CisjOiByZW1vdGUuYzoxODYxCiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byB1cGRhdGUgeW91ciBsb2NhbCBicmFuY2gpXG4iCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IHB1bGxcIiDEkeG7gyBj4bqtcCBuaOG6rXQgbmjDoW5oIG7hu5lpIGLhu5kgY+G7p2EgYuG6oW4pXG4iCiAKLSM6IHJlbW90ZS5jOjE4MDgKKyM6IHJlbW90ZS5jOjE4NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCkBAIC05NDYsNyArMTAxOSw3IEBACiAiWW91ciBicmFuY2ggYW5kIOKAnCVz4oCdIGhhdmUgZGl2ZXJnZWQsXG4iCiAiYW5kIGhhdmUgJWQgYW5kICVkIGRpZmZlcmVudCBjb21taXQgZWFjaCwgcmVzcGVjdGl2ZWx5LlxuIgogCi0jOiByZW1vdGUuYzoxODE4CisjOiByZW1vdGUuYzoxODc0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgogbXNnc3RyICIiCiAiICAoZMO5bmcgXCJnaXQgcHVsbFwiIMSR4buDIGjDsmEgdHLhu5luIG5ow6FuaCB0csOqbiBtw6F5IGNo4bunIHbDoG8gdHJvbmcgbmjDoW5oIGPhu6dhICIKQEAgLTk5MSw3ICsxMDY0LDcgQEAKICJ24bubaSBs4buHbmgg4oCcZ2l0IGFkZCA8xJHGsOG7nW5nX2ThuqtuPuKAnSBob+G6t2Mg4oCcZ2l0IHJtIDzEkcaw4budbmdfZOG6q24+4oCdXG4iCiAidsOgIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkga+G6v3QgcXXhuqMgYuG6sW5nIGzhu4duaCDigJxnaXQgY29tbWl04oCdIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDUgc2VxdWVuY2VyLmM6ODY5IHNlcXVlbmNlci5jOjk1MgorIzogc2VxdWVuY2VyLmM6MjQ1IHNlcXVlbmNlci5jOjg3MCBzZXF1ZW5jZXIuYzo5NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIHbDoG8gJXMiCkBAIC0xMDE0LDQ2ICsxMDg3LDQ2IEBACiBtc2dzdHIgIkNodXnhu4NuIGdpYW8gKGNvbW1pdCkgY8OhYyB0aGF5IMSR4buVaSBj4bunYSBi4bqhbiBoYXkgc3Rhc2ggY2jDum5nIMSR4buDIHjhu60gbMO9LiIKIAogIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIgb3IgImNoZXJyeS1waWNrIgotIzogc2VxdWVuY2VyLmM6MzI0CisjOiBzZXF1ZW5jZXIuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiJXM6IEtow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIG3hu5tpIgogCi0jOiBzZXF1ZW5jZXIuYzozNTUKKyM6IHNlcXVlbmNlci5jOjM1NgogbXNnaWQgIkNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyBwaMOibiBnaeG6o2kgY29tbWl0IChs4bqnbiBjaHV54buDbiBnaWFvKSBIRUFEXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM3NworIzogc2VxdWVuY2VyLmM6Mzc4CiBtc2dpZCAiVW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlXG4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgY8OieSBi4buZIG5o4bubIMSR4buHbVxuIgogCi0jOiBzZXF1ZW5jZXIuYzo0MjIKKyM6IHNlcXVlbmNlci5jOjQyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjb21taXQgKGzhuqduIGNodXnhu4NuIGdpYW8pICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQyNworIzogc2VxdWVuY2VyLmM6NDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzXG4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjb21taXQgKGzhuqduIGNodXnhu4NuIGdpYW8pIGNoYSBt4bq5ICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQ5MworIzogc2VxdWVuY2VyLmM6NDk0CiBtc2dpZCAiWW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKIG1zZ3N0ciAiVOG6rXAgdGluIGzGsHUgbeG7pWMgbOG7pWMgY+G7p2EgYuG6oW4ga2jDtG5nIMSRxrDhu6NjIGjDsmEgdHLhu5luLiIKIAotIzogc2VxdWVuY2VyLmM6NTEyCisjOiBzZXF1ZW5jZXIuYzo1MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAiTOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSAlcyBsw6AgbeG7mXQgbOG6p24gaMOyYSB0cuG7mW4gbmjGsG5nIGtow7RuZyDEkcawYSByYSB0w7l5IGNo4buNbiAtIgogIm0uIgogCi0jOiBzZXF1ZW5jZXIuYzo1MjAKKyM6IHNlcXVlbmNlci5jOjUyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCiBtc2dzdHIgIkzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgJXMga2jDtG5nIGPDsyBjaGEgbeG6uSAlZCIKIAotIzogc2VxdWVuY2VyLmM6NTI0CisjOiBzZXF1ZW5jZXIuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKIG1zZ3N0ciAiIgpAQCAtMTA2MiwxNTMgKzExMzUsMTUzIEBACiAKICMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSAicmV2ZXJ0IiBvcgogIy4gImNoZXJyeS1waWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEKLSM6IHNlcXVlbmNlci5jOjUzNworIzogc2VxdWVuY2VyLmM6NTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBs4bqnbiBjaHV54buDbiBnaWFvIG3hurkgY+G7p2EgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjU0MQorIzogc2VxdWVuY2VyLmM6NTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbOG6pXkgdGjDtG5nIMSRaeG7h3AgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBjaG8gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjYyNworIzogc2VxdWVuY2VyLmM6NjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyByZXZlcnQgJXMuLi4gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjYyOAorIzogc2VxdWVuY2VyLmM6NjI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhcHBseSAlcy4uLiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGFwcGx5ICjDoXAgZOG7pW5nIG1p4bq/bmcgdsOhKSAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6NjY0CisjOiBzZXF1ZW5jZXIuYzo2NjUKIG1zZ2lkICJlbXB0eSBjb21taXQgc2V0IHBhc3NlZCIKIG1zZ3N0ciAibOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSB0cuG7kW5nIHLhu5duZyDEkeG6t3QgbMOgIGjhu6NwIHF1eSBjw6FjaCIKIAotIzogc2VxdWVuY2VyLmM6NjcyCisjOiBzZXF1ZW5jZXIuYzo2NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczogZ+G6t3AgbOG7l2kgxJHhu41jIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogc2VxdWVuY2VyLmM6Njc3CisjOiBzZXF1ZW5jZXIuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczogZ+G6t3AgbOG7l2kga2hpIGzDoG0gdMawxqFpIG3hu5tpIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogc2VxdWVuY2VyLmM6NzM1CisjOiBzZXF1ZW5jZXIuYzo3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90ICVzIGR1cmluZyBhICVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgJXMgdHJvbmcga2hpICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo3NTcKKyM6IHNlcXVlbmNlci5jOjc1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2UgbGluZSAlZC4iCiBtc2dzdHIgIktow7RuZyBwaMOibiB0w61jaCDEkcaw4bujYyBkw7JuZyAlZC4iCiAKLSM6IHNlcXVlbmNlci5jOjc2MgorIzogc2VxdWVuY2VyLmM6NzYzCiBtc2dpZCAiTm8gY29tbWl0cyBwYXJzZWQuIgogbXNnc3RyICJLaMO0bmcgY8OzIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgbsOgbyDEkcaw4bujYyBwaMOibiB0w61jaC4iCiAKLSM6IHNlcXVlbmNlci5jOjc3NQorIzogc2VxdWVuY2VyLmM6Nzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyAlcyIKIAotIzogc2VxdWVuY2VyLmM6Nzc5CisjOiBzZXF1ZW5jZXIuYzo3ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgJXMuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jICVzLiIKIAotIzogc2VxdWVuY2VyLmM6Nzg2CisjOiBzZXF1ZW5jZXIuYzo3ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICVzIgogbXNnc3RyICJC4bqjbmcgY2jhu4kgdGjhu4sga2jDtG5nIHRo4buDIGTDuW5nIMSRxrDhu6NjOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODE0CisjOiBzZXF1ZW5jZXIuYzo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBrZXk6ICVzIgogbXNnc3RyICJLaMOzYSBraMO0bmcgxJHDum5nOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODE3CisjOiBzZXF1ZW5jZXIuYzo4MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJHacOhIHRy4buLIGtow7RuZyBo4bujcCBs4buHICVzOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODI5CisjOiBzZXF1ZW5jZXIuYzo4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIG9wdGlvbnMgc2hlZXQ6ICVzIgogbXNnc3RyICJC4bqjbmcgdMO5eSBjaOG7jW4gZOG7iyBow6xuaDogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjg1MAorIzogc2VxdWVuY2VyLmM6ODUxCiBtc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAibeG7mXQgdGhhbyB0w6FjIGNoZXJyeS1waWNrIGhv4bq3YyByZXZlcnQgxJFhbmcgxJHGsOG7o2MgdGjhu7FjIGhp4buHbiIKIAotIzogc2VxdWVuY2VyLmM6ODUxCisjOiBzZXF1ZW5jZXIuYzo4NTIKIG1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogbXNnc3RyICJow6N5IHRo4butIFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIAotIzogc2VxdWVuY2VyLmM6ODU1CisjOiBzZXF1ZW5jZXIuYzo4NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdOG6oW8gdGjGsCBt4bulYyB44bq/cCBkw6N5ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzEgc2VxdWVuY2VyLmM6OTU2CisjOiBzZXF1ZW5jZXIuYzo4NzIgc2VxdWVuY2VyLmM6OTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIHdyYXBwaW5nIHVwICVzLiIKIG1zZ3N0ciAiTOG7l2kgYmFvIGLhu41jICVzLiIKIAotIzogc2VxdWVuY2VyLmM6ODkwIHNlcXVlbmNlci5jOjEwMjQKKyM6IHNlcXVlbmNlci5jOjg5MSBzZXF1ZW5jZXIuYzoxMDI1CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICJraMO0bmcgY2hlcnJ5LXBpY2sgaGF5IHJldmVydCB0cm9uZyB0aeG6v24gdHLDrG5oIgogCi0jOiBzZXF1ZW5jZXIuYzo4OTIKKyM6IHNlcXVlbmNlci5jOjg5MwogbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiBnaeG6o2kgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6ODk0CisjOiBzZXF1ZW5jZXIuYzo4OTUKIG1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGjhu6d5IGLhu48gdOG7qyBt4buZdCBuaMOhbmggbcOgIG7DsyBjw7JuIGNoxrBhIMSRxrDhu6NjIHThuqFvIHJhIgogCi0jOiBzZXF1ZW5jZXIuYzo5MTYgYnVpbHRpbi9hcHBseS5jOjQwNjEKKyM6IHNlcXVlbmNlci5jOjkxNyBidWlsdGluL2FwcGx5LmM6NDA2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufICVzOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6OTE5CisjOiBzZXF1ZW5jZXIuYzo5MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJXM6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jICVzOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6OTIwCisjOiBzZXF1ZW5jZXIuYzo5MjEKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJr4bq/dCB0aMO6YyB04bqtcCB0aW4gxJHhu5l0IHh14bqldCIKIAotIzogc2VxdWVuY2VyLmM6OTI2CisjOiBzZXF1ZW5jZXIuYzo5MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IgogbXNnc3RyICJ04bqtcCB0aW4gSEVBRCDigJxwcmUtY2hlcnJ5LXBpY2vigJ0gxJHDoyBsxrB1IOKAnCVz4oCdIGLhu4sgaOG7j25nIgogCi0jOiBzZXF1ZW5jZXIuYzo5NDkKKyM6IHNlcXVlbmNlci5jOjk1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZm9ybWF0ICVzLiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4buLbmggZOG6oW5nICVzLiIKIAotIzogc2VxdWVuY2VyLmM6MTA5MgorIzogc2VxdWVuY2VyLmM6MTA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2FuJ3QgY2hlcnJ5LXBpY2sgYSAlcyIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBjaGVycnktcGljayBt4buZdCAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTA5NQorIzogc2VxdWVuY2VyLmM6MTA5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHJldmlzaW9uIgogbXNnc3RyICIlczogxJFp4buDbSB4w6l0IGR1eeG7h3Qgc2FpIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTI5CisjOiBzZXF1ZW5jZXIuYzoxMTMwCiBtc2dpZCAiQ2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgogbXNnc3RyICJLaMO0bmcgdGjhu4MgcmV2ZXJ0IG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkga2jhu59pIHThuqFvIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTMwCisjOiBzZXF1ZW5jZXIuYzoxMTMxCiBtc2dpZCAiQ2FuJ3QgY2hlcnJ5LXBpY2sgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgY2hlcnJ5LXBpY2sgdsOgbyBt4buZdCDEkeG6p3UgKGhlYWQpIHRy4buRbmcgcuG7l25nIgogCkBAIC0xMjM2LDI2NSArMTMwOSwzNTkgQEAKICJuw6B5XG4iCiAiYuG6sW5nIGPDoWNoIGNo4bqheSBs4buHbmggXCJnaXQgY29uZmlnIGFkdmljZS5vYmplY3ROYW1lV2FybmluZyBmYWxzZVwiIgogCi0jOiBzaGExX25hbWUuYzoxMDk3CisjOiBzaGExX25hbWUuYzoxMTEyCiBtc2dpZCAiSEVBRCBkb2VzIG5vdCBwb2ludCB0byBhIGJyYW5jaCIKIG1zZ3N0ciAiSEVBRCBraMO0bmcgY2jhu4kgxJHhur9uIG3hu5l0IG5ow6FuaCBuw6BvIGPhuqMiCiAKLSM6IHNoYTFfbmFtZS5jOjExMDAKKyM6IHNoYTFfbmFtZS5jOjExMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBicmFuY2g6ICclcyciCiBtc2dzdHIgIktow7RuZyBjw7MgbmjDoW5oIG7DoG8gbmjGsCB0aOG6vzog4oCcJXPigJ0iCiAKLSM6IHNoYTFfbmFtZS5jOjExMDIKKyM6IHNoYTFfbmFtZS5jOjExMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciCiBtc2dzdHIgIktow7RuZyBjw7MgdGjGsOG7o25nIG5ndeG7k24gKHVwc3RyZWFtKSDEkcaw4bujYyBj4bqldSBow6xuaCBjaG8gbmjDoW5oIOKAnCVz4oCdIgogCi0jOiBzaGExX25hbWUuYzoxMTA2CisjOiBzaGExX25hbWUuYzoxMTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICIiCiAiTmjDoW5oIHRoxrDhu6NuZyBuZ3Xhu5NuICh1cHN0cmVhbSkg4oCcJXPigJ0ga2jDtG5nIMSRxrDhu6NjIGzGsHUgbOG6oWkgbmjGsCBsw6AgbeG7mXQgbmjDoW5oICIKICLigJxyZW1vdGUtdHJhY2tpbmfigJ0iCiAKLSM6IHdyYXBwZXIuYzo0MDgKKyM6IHN1Ym1vZHVsZS5jOjY0IHN1Ym1vZHVsZS5jOjk4Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB1bm1lcmdlZCAuZ2l0bW9kdWxlcywgcmVzb2x2ZSBtZXJnZSBjb25mbGljdHMgZmlyc3QiCittc2dzdHIgIiIKKyJLaMO0bmcgdGjhu4MgdGhheSDEkeG7lWkgLmdpdG1vZHVsZXMgY2jGsGEgaMOyYSB0cuG7mW4sIGjDo3kgZ2nhuqNpIHF1eeG6v3QgeHVuZyDEkeG7mXQgdHLhu5luICIKKyJ0csaw4bubYyIKKworIzogc3VibW9kdWxlLmM6Njggc3VibW9kdWxlLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHTDrG0gdGjhuqV5IHBo4bqnbiB0cm9uZyAuZ2l0bW9kdWxlcyBuxqFpIG3DoCDEkcaw4budbmdfZOG6q249JXMiCisKKyMuIE1heWJlIHRoZSB1c2VyIGFscmVhZHkgZGlkIHRoYXQsIGRvbid0IGVycm9yIG91dCBoZXJlCisjOiBzdWJtb2R1bGUuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgdXBkYXRlIC5naXRtb2R1bGVzIGVudHJ5ICVzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10IG3hu6VjIC5naXRtb2R1bGVzICVzIgorCisjLiBNYXliZSB0aGUgdXNlciBhbHJlYWR5IGRpZCB0aGF0LCBkb24ndCBlcnJvciBvdXQgaGVyZQorIzogc3VibW9kdWxlLmM6MTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgLmdpdG1vZHVsZXMgZW50cnkgZm9yICVzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgZ+G7oSBi4buPIG3hu6VjIC5naXRtb2R1bGVzIGTDoG5oIGNobyAlcyIKKworIzogc3VibW9kdWxlLmM6MTI3Cittc2dpZCAiY291bGQgbm90IGZpbmQgLmdpdG1vZHVsZXMgaW4gaW5kZXgiCittc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSAuZ2l0bW9kdWxlcyB0cm9uZyBi4bqjbmcgbeG7pWMgbOG7pWMiCisKKyM6IHN1Ym1vZHVsZS5jOjEzMworbXNnaWQgInJlYWRpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7jWMgY+G6rXAgbmjhuq10IC5naXRtb2R1bGVzIgorCisjOiBzdWJtb2R1bGUuYzoxMzUKK21zZ2lkICJ1bmFibGUgdG8gc3RhdCB1cGRhdGVkIC5naXRtb2R1bGVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdGjhu5FuZyBrw6ogLmdpdG1vZHVsZXMgxJHDoyBj4bqtcCBuaOG6rXQiCisKKyM6IHN1Ym1vZHVsZS5jOjEzOQorbXNnaWQgInVuYWJsZSB0byByZW1vdmUgLmdpdG1vZHVsZXMgZnJvbSBpbmRleCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGfhu6EgYuG7jyAuZ2l0bW9kdWxlcyB04burIG3hu6VjIGzhu6VjIgorCisjOiBzdWJtb2R1bGUuYzoxNDEKK21zZ2lkICJhZGRpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSB0aMOqbSAuZ2l0bW9kdWxlcyDEkcOjIGPhuq1wIG5o4bqtdCIKKworIzogc3VibW9kdWxlLmM6MTQzCittc2dpZCAic3RhZ2luZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHThu5UgY2jhu6ljIC5naXRtb2R1bGVzIMSRw6MgY+G6rXAgbmjhuq10IgorCisjOiBzdWJtb2R1bGUuYzoxMTQ0IGJ1aWx0aW4vaW5pdC1kYi5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGdpdCBsaW5rICVzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgdOG6oW8gbGnDqm4ga+G6v3QgZ2l0IOKAnCVz4oCdIgorCisjOiBzdWJtb2R1bGUuYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBzZXQgY29yZS53b3JrdHJlZSBpbiAlcyIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4bq3dCBjw6J5IHRoxrAgbeG7pWMgbMOgbSB2aeG7h2Mg4oCcY29yZS53b3JrdHJlZeKAnSB0cm9uZyDigJwlc+KAnS4iCisKKyM6IHVybG1hdGNoLmM6MTIwCittc2dpZCAiaW52YWxpZCBVUkwgc2NoZW1lIG5hbWUgb3IgbWlzc2luZyAnOi8vJyBzdWZmaXgiCittc2dzdHIgInTDqm4gbMaw4bujYyDEkeG7kyBVUkwga2jDtG5nIGjhu6NwIGzhu4cgaGF5IHRoaeG6v3UgaOG6rXUgdOG7kSDigJw6Ly/igJ0iCisKKyM6IHVybG1hdGNoLmM6MTQ0IHVybG1hdGNoLmM6Mjk3IHVybG1hdGNoLmM6MzU2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgJVhYIGVzY2FwZSBzZXF1ZW5jZSIKK21zZ3N0ciAidGhvw6F0IGNodeG7l2kgJVhYIGtow7RuZyBo4bujcCBs4buHIgorCisjOiB1cmxtYXRjaC5jOjE3MgorbXNnaWQgIm1pc3NpbmcgaG9zdCBhbmQgc2NoZW1lIGlzIG5vdCAnZmlsZTonIgorbXNnc3RyICJ0aGnhur91IG3DoXkgY2jhu6cgdsOgIGzGsOG7o2MgxJHhu5MgdGjDrCBraMO0bmcgcGjhuqNpIGzDoCBnaWFvIHRo4bupYyDigJxmaWxlOuKAnSIKKworIzogdXJsbWF0Y2guYzoxODkKK21zZ2lkICJhICdmaWxlOicgVVJMIG1heSBub3QgaGF2ZSBhIHBvcnQgbnVtYmVyIgorbXNnc3RyICJVUkwga2nhu4N1IOKAnGZpbGU64oCdIGtow7RuZyDEkcaw4bujYyBjaOG7qWEgY+G7lW5nIgorCisjOiB1cmxtYXRjaC5jOjE5OQorbXNnaWQgImludmFsaWQgY2hhcmFjdGVycyBpbiBob3N0IG5hbWUiCittc2dzdHIgImPDsyBjw6FjIGvDvSB04buxIGtow7RuZyBo4bujcCBs4buHIHRyb25nIHTDqm4gbcOheSIKKworIzogdXJsbWF0Y2guYzoyNDQgdXJsbWF0Y2guYzoyNTUKK21zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIgorbXNnc3RyICJ0w6puIGPhu5VuZyBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogdXJsbWF0Y2guYzozMjIKK21zZ2lkICJpbnZhbGlkICcuLicgcGF0aCBzZWdtZW50IgorbXNnc3RyICLEkW/huqFuIMSRxrDhu51uZyBk4bqrbiDigJwuLuKAnSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogd3JhcHBlci5jOjQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyc6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdHJ1eSBj4bqtcCDigJwlc+KAnTogJXMiCiAKLSM6IHdyYXBwZXIuYzo0MjkKKyM6IHdyYXBwZXIuYzo0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdHJ1eSBj4bqtcCDigJwlc+KAnSIKIAotIzogd3JhcHBlci5jOjQ0MAorIzogd3JhcHBlci5jOjQ1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9vayB1cCBjdXJyZW50IHVzZXIgaW4gdGhlIHBhc3N3ZCBmaWxlOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IG5nxrDhu51pIGTDuW5nIGhp4buHbiB04bqhaSB0cm9uZyB04bqtcCB0aW4gcGFzc3dkOiAlcyIKIAotIzogd3JhcHBlci5jOjQ0MQorIzogd3JhcHBlci5jOjQ1NQogbXNnaWQgIm5vIHN1Y2ggdXNlciIKIG1zZ3N0ciAia2jDtG5nIGPDsyBuZ8aw4budaSBkw7luZyBuaMawIHbhuq15IgogCi0jOiB3dC1zdGF0dXMuYzoxNDEKKyM6IHd0LXN0YXR1cy5jOjE0NgogbXNnaWQgIlVubWVyZ2VkIHBhdGhzOiIKIG1zZ3N0ciAiTmjhu69uZyDEkcaw4budbmcgZOG6q24gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW46IgogCi0jOiB3dC1zdGF0dXMuYzoxNjggd3Qtc3RhdHVzLmM6MTk1CisjOiB3dC1zdGF0dXMuYzoxNzMgd3Qtc3RhdHVzLmM6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCByZXNldCAlcyA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgcmVzZXQgJXMgPHThuq1wLXRpbj4uLi5cIiDEkeG7gyBi4buPIG3hu5l0IHN0YWdlICh0cuG6oW5nIHRow6FpKSkiCiAKLSM6IHd0LXN0YXR1cy5jOjE3MCB3dC1zdGF0dXMuYzoxOTcKKyM6IHd0LXN0YXR1cy5jOjE3NSB3dC1zdGF0dXMuYzoyMDIKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IHJtIC0tY2FjaGVkIDx04bqtcC10aW4+Li4uXCIgxJHhu4MgYuG7jyB0cuG6oW5nIHRow6FpIChzdGFnZSkpIgogCi0jOiB3dC1zdGF0dXMuYzoxNzQKKyM6IHd0LXN0YXR1cy5jOjE3OQogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgYWRkIDx04bqtcC10aW4+Li4uXCIgxJHhu4MgxJHDoW5oIGThuqV1IGzDoCBj4bqnbiBnaeG6o2kgcXV54bq/dCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NiB3dC1zdGF0dXMuYzoxODAKKyM6IHd0LXN0YXR1cy5jOjE4MSB3dC1zdGF0dXMuYzoxODUKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKICIgIChkw7luZyBcImdpdCBhZGQvcm0gPHThuq1wLXRpbj4uLi5cIiBuaMawIGzDoCBt4buZdCBjw6FjaCAgdGjDrWNoIGjhu6NwIMSR4buDIMSRw6FuaCBk4bqldSAiCiAibMOgIGPhuqduIMSRxrDhu6NjIGdp4bqjaSBxdXnhur90KSIKIAotIzogd3Qtc3RhdHVzLmM6MTc4CisjOiB3dC1zdGF0dXMuYzoxODMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgcm0gPHThuq1wLXRpbj4uLi5cIiDEkeG7gyDEkcOhbmggZOG6pXUgbMOgIGPhuqduIGdp4bqjaSBxdXnhur90KSIKIAotIzogd3Qtc3RhdHVzLmM6MTg5CisjOiB3dC1zdGF0dXMuYzoxOTQKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIk5o4buvbmcgdGhheSDEkeG7lWkgc+G6vSDEkcaw4bujYyBjaHV54buDbiBnaWFvOiIKIAotIzogd3Qtc3RhdHVzLmM6MjA3CisjOiB3dC1zdGF0dXMuYzoyMTIKIG1zZ2lkICJDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoiCiBtc2dzdHIgIiIKICJDw6FjIHRoYXkgxJHhu5VpIGtow7RuZyDEkcaw4bujYyDEkeG6t3QgdHLhuqFuZyB0aMOhaSAoc3RhZ2UpIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpOiIKIAotIzogd3Qtc3RhdHVzLmM6MjExCisjOiB3dC1zdGF0dXMuYzoyMTYKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKGTDuW5nIFwiZ2l0IGFkZCA8dOG6rXAtdGluPi4uLlwiIMSR4buDIGPhuq1wIG5o4bqtdCBuaOG7r25nIGfDrCBj4bqnbiBjaHV54buDbiBnaWFvICIKICIoY29tbWl0KSkiCiAKLSM6IHd0LXN0YXR1cy5jOjIxMworIzogd3Qtc3RhdHVzLmM6MjE4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgIChkw7luZyBcImdpdCBhZGQvcm0gPHThuq1wLXRpbj4uLi5cIiDEkeG7gyBj4bqtcCBuaOG6rXQgbmjhu69uZyBnw6wgc+G6vSDEkcaw4bujYyBjaHV54buDbiBnaWFvKSIKIAotIzogd3Qtc3RhdHVzLmM6MjE0CisjOiB3dC1zdGF0dXMuYzoyMTkKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiIKICIgIChkw7luZyBcImdpdCBjaGVja291dCAtLSA8dOG6rXAtdGluPi4uLlwiIMSR4buDIGLhu48gdGhheSDEkeG7lWkgdHJvbmcgdGjGsCBt4bulYyBsw6BtICIKICJ2aeG7h2MpIgogCi0jOiB3dC1zdGF0dXMuYzoyMTYKKyM6IHd0LXN0YXR1cy5jOjIyMQogbXNnaWQgIiAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKSIKIG1zZ3N0ciAiIgogIiAgKGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgaG/hurdjIGzDoCBsb+G6oWkgYuG7jyBjw6FjIG7hu5lpIGR1bmcga2jDtG5nLWLhu4stdGhlby124bq/dCBoYXkgIgogIsSRw6MgYuG7iyBjaOG7iW5oIHPhu61hIHRyb25nIG3DtC3EkXVuLWNvbikiCiAKLSM6IHd0LXN0YXR1cy5jOjIyOAorIzogd3Qtc3RhdHVzLmM6MjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAoZMO5bmcgXCJnaXQgJXMgPHThuq1wLXRpbj4uLi5cIiDEkeG7gyB0aMOqbSB2w6BvIG5o4buvbmcgZ8OsIGPhuqduIGNodXnhu4NuIGdpYW8gIgogIihjb21taXQpKSIKIAotIzogd3Qtc3RhdHVzLmM6MjQ1CisjOiB3dC1zdGF0dXMuYzoyNTAKIG1zZ2lkICJidWciCiBtc2dzdHIgImzhu5dpIgogCi0jOiB3dC1zdGF0dXMuYzoyNTAKKyM6IHd0LXN0YXR1cy5jOjI1NQogbXNnaWQgImJvdGggZGVsZXRlZDoiCiBtc2dzdHIgImLhu4sgeMOzYSBi4bufaSBj4bqjIGhhaToiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MQorIzogd3Qtc3RhdHVzLmM6MjU2CiBtc2dpZCAiYWRkZWQgYnkgdXM6IgogbXNnc3RyICLEkcaw4bujYyB0aMOqbSB2w6BvIGLhu59pIGNow7puZyB0YToiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MgorIzogd3Qtc3RhdHVzLmM6MjU3CiBtc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKIG1zZ3N0ciAiYuG7iyB4w7NhIMSRaSBi4bufaSBo4buNOiIKIAotIzogd3Qtc3RhdHVzLmM6MjUzCisjOiB3dC1zdGF0dXMuYzoyNTgKIG1zZ2lkICJhZGRlZCBieSB0aGVtOiIKIG1zZ3N0ciAixJHGsOG7o2MgdGjDqm0gdsOgbyBi4bufaSBo4buNOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU0CisjOiB3dC1zdGF0dXMuYzoyNTkKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAiYuG7iyB4w7NhIGLhu59pIGNow7puZyB0YToiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NQorIzogd3Qtc3RhdHVzLmM6MjYwCiBtc2dpZCAiYm90aCBhZGRlZDoiCiBtc2dzdHIgIsSRxrDhu6NjIHRow6ptIHbDoG8gYuG7n2kgY+G6oyBoYWk6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTYKKyM6IHd0LXN0YXR1cy5jOjI2MQogbXNnaWQgImJvdGggbW9kaWZpZWQ6IgogbXNnc3RyICJi4buLIHPhu61hIGLhu59pIGPhuqMgaGFpOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg2CisjOiB3dC1zdGF0dXMuYzoyOTEKIG1zZ2lkICJuZXcgY29tbWl0cywgIgogbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIG3hu5tpLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjI4OAorIzogd3Qtc3RhdHVzLmM6MjkzCiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICJu4buZaSBkdW5nIGLhu4sgc+G7rWEgxJHhu5VpLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjI5MAorIzogd3Qtc3RhdHVzLmM6Mjk1CiBtc2dpZCAidW50cmFja2VkIGNvbnRlbnQsICIKIG1zZ3N0ciAibuG7mWkgZHVuZyBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWksICIKIAotIzogd3Qtc3RhdHVzLmM6MzA3CisjOiB3dC1zdGF0dXMuYzozMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IGZpbGU6ICAgJXMiCiBtc2dzdHIgInThuq1wIHRpbiBt4bubaTogICAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MzEwCisjOiB3dC1zdGF0dXMuYzozMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29waWVkOiAgICAgJXMgLT4gJXMiCi1tc2dzdHIgIsSRw6Mgc2FvIGNow6lwOiAgICAgJXMgLT4gJXMiCittc2dzdHIgIsSRw6Mgc2FvIGNow6lwOiAgICVzIC0+ICVzIgogCi0jOiB3dC1zdGF0dXMuYzozMTMKKyM6IHd0LXN0YXR1cy5jOjMxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGVkOiAgICAlcyIKLW1zZ3N0ciAixJHDoyB4w7NhOiAgICAlcyIKK21zZ3N0ciAixJHDoyB4w7NhOiAgICAgICAgJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjMxNgorIzogd3Qtc3RhdHVzLmM6MzIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vZGlmaWVkOiAgICVzIgotbXNnc3RyICLEkcOjIHPhu61hIMSR4buVaTogICAlcyIKK21zZ3N0ciAixJHDoyBz4butYSDEkeG7lWk6ICAgICVzIgogCi0jOiB3dC1zdGF0dXMuYzozMTkKKyM6IHd0LXN0YXR1cy5jOjMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW5hbWVkOiAgICAlcyAtPiAlcyIKIG1zZ3N0ciAixJHDoyDEkeG7lWkgdMOqbjogICAgJXMgLT4gJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjMyMgorIzogd3Qtc3RhdHVzLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInR5cGVjaGFuZ2U6ICVzIgotbXNnc3RyICLEkeG7lWkta2nhu4N1OiAlcyIKK21zZ3N0ciAixJHhu5VpLWtp4buDdTogICAgICAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MzI1CisjOiB3dC1zdGF0dXMuYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93bjogICAgJXMiCiBtc2dzdHIgImtow7RuZyBoaeG7g3U6ICAgICVzIgogCi0jOiB3dC1zdGF0dXMuYzozMjgKKyM6IHd0LXN0YXR1cy5jOjMzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bm1lcmdlZDogICAlcyIKLW1zZ3N0ciAiY2jGsGEgaMOyYSB0cuG7mW46ICAgJXMiCittc2dzdHIgImNoxrBhIGjDsmEgdHLhu5luOiAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MzMxCisjOiB3dC1zdGF0dXMuYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnVnOiB1bmhhbmRsZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgImzhu5dpOiBraMO0bmcgbOG6pXkgxJHGsOG7o2MgdHLhuqFuZyB0aMOhaSBs4buHbmggZGlmZiAlYyIKIAotIzogd3Qtc3RhdHVzLmM6ODAzCisjOiB3dC1zdGF0dXMuYzo3MDMKK21zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKK21zZ3N0ciAiTmjhu69uZyBtw7QtxJF1bi1jb24gxJHDoyBi4buLIHRoYXkgxJHhu5VpIG5oxrBuZyBjaMawYSDEkcaw4bujYyBj4bqtcCBuaOG6rXQ6IgorCisjOiB3dC1zdGF0dXMuYzo3MDUKK21zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgorbXNnc3RyICJOaOG7r25nIG3DtC3EkXVuLWNvbiB0aGF5IMSR4buVaSDEkcOjIMSRxrDhu6NjIGNodXnhu4NuIGdpYW8gKGNvbW1pdCk6IgorCisjOiB3dC1zdGF0dXMuYzo4NDgKIG1zZ2lkICJZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4iCiBtc2dzdHIgIkLhuqFuIGPDsyBuaOG7r25nIMSRxrDhu51uZyBk4bqrbiBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbi4iCiAKLSM6IHd0LXN0YXR1cy5jOjgwNgorIzogd3Qtc3RhdHVzLmM6ODUxCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKIG1zZ3N0ciAiICAoc+G7rWEgY8OhYyB4dW5nIMSR4buZdCBzYXUgxJHDsyBjaOG6oXkgXCJnaXQgY29tbWl0XCIpIgogCi0jOiB3dC1zdGF0dXMuYzo4MDkKKyM6IHd0LXN0YXR1cy5jOjg1NAogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgIlThuqV0IGPhuqMgY8OhYyB4dW5nIMSR4buZdCDEkcOjIMSRxrDhu6NjIGdp4bqjaSBxdXnhur90IG5oxrBuZyBi4bqhbiB24bqrbiDEkWFuZyBow7JhIHRy4buZbi4iCiAKLSM6IHd0LXN0YXR1cy5jOjgxMgorIzogd3Qtc3RhdHVzLmM6ODU3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgY29tbWl0XCIgxJHhu4MgaG/DoG4gdOG6pXQgdmnhu4djIGjDsmEgdHLhu5luKSIKIAotIzogd3Qtc3RhdHVzLmM6ODIyCisjOiB3dC1zdGF0dXMuYzo4NjcKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvbi4iCiBtc2dzdHIgIkLhuqFuIMSRYW5nIOG7nyBnaeG7r2EgY+G7p2EgbeG7mXQgcGhpw6puIOKAnGFt4oCdLiIKIAotIzogd3Qtc3RhdHVzLmM6ODI1CisjOiB3dC1zdGF0dXMuYzo4NzAKIG1zZ2lkICJUaGUgY3VycmVudCBwYXRjaCBpcyBlbXB0eS4iCiBtc2dzdHIgIk1p4bq/bmcgdsOhIGhp4buHbiB04bqhaSBi4buLIHRy4buRbmcgcuG7l25nLiIKIAotIzogd3Qtc3RhdHVzLmM6ODI5CisjOiB3dC1zdGF0dXMuYzo4NzQKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChz4butYSBjw6FjIHh1bmcgxJHhu5l0IHbDoCBzYXUgxJHDsyBjaOG6oXkgbOG7h25oIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjgzMQorIzogd3Qtc3RhdHVzLmM6ODc2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IGFtIC0tc2tpcFwiIMSR4buDIGLhu48gcXVhIG1p4bq/bmcgdsOhIG7DoHkpIgogCi0jOiB3dC1zdGF0dXMuYzo4MzMKKyM6IHd0LXN0YXR1cy5jOjg3OAogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgYW0gLS1hYm9ydFwiIMSR4buDIHBo4bulYyBo4buTaSBs4bqhaSBuaMOhbmggbmd1ecOqbiB0aOG7p3kpIgogCi0jOiB3dC1zdGF0dXMuYzo4OTMgd3Qtc3RhdHVzLmM6OTEwCisjOiB3dC1zdGF0dXMuYzo5Mzggd3Qtc3RhdHVzLmM6OTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIHJlYmFzZSBuaMOhbmgg4oCcJXPigJ0gdHLDqm4g4oCcJXPigJ0uIgogCi0jOiB3dC1zdGF0dXMuYzo4OTggd3Qtc3RhdHVzLmM6OTE1CisjOiB3dC1zdGF0dXMuYzo5NDMgd3Qtc3RhdHVzLmM6OTYwCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIHJlYmFzZSAodMOhaSBj4bqldSB0csO6YykuIgogCi0jOiB3dC1zdGF0dXMuYzo5MDEKKyM6IHd0LXN0YXR1cy5jOjk0NgogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChz4butYSBjw6FjIHh1bmcgxJHhu5l0IHbDoCBzYXUgxJHDsyBjaOG6oXkgbOG7h25oIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5MDMKKyM6IHd0LXN0YXR1cy5jOjk0OAogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgcmViYXNlIC0tc2tpcFwiIMSR4buDIGLhu48gcXVhIGzhuqduIHbDoSBuw6B5KSIKIAotIzogd3Qtc3RhdHVzLmM6OTA1CisjOiB3dC1zdGF0dXMuYzo5NTAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiB0byBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgxJHhu4MgY2hlY2stb3V0IG5ow6FuaCBuZ3V5w6puIHRo4buneSkiCiAKLSM6IHd0LXN0YXR1cy5jOjkxOAorIzogd3Qtc3RhdHVzLmM6OTYzCiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoa2hpIHThuqV0IGPhuqMgY8OhYyB4dW5nIMSR4buZdCDEkcOjIHPhu61hIHhvbmc6IGNo4bqheSBs4buHbmggXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjkyMgorIzogd3Qtc3RhdHVzLmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCkBAIC0xNTAyLDEyNiArMTY2OSwxMjcgQEAKICJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIGNoaWEgdMOhY2ggbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSAiCiAidHJvbmcga2hpIMSRYW5nIHJlYmFzZSBuaMOhbmgg4oCcJXPigJ0gdHLDqm4g4oCcJXPigJ0uIgogCi0jOiB3dC1zdGF0dXMuYzo5MjcKKyM6IHd0LXN0YXR1cy5jOjk3MgogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICIiCiAiQuG6oW4gaGnhu4duIHThuqFpIMSRYW5nIGPhuq90IMSRw7RpIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gdHJvbmcga2hpIMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djICIKICJyZWJhc2UuIgogCi0jOiB3dC1zdGF0dXMuYzo5MzAKKyM6IHd0LXN0YXR1cy5jOjk3NQogbXNnaWQgIiAgKE9uY2UgeW91ciB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVhbiwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoTeG7mXQga2hpIHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgY+G7p2EgYuG6oW4gxJHDoyBn4buNbiBnw6BuZywgY2jhuqF5IFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIgogIlwiKSIKIAotIzogd3Qtc3RhdHVzLmM6OTM0CisjOiB3dC1zdGF0dXMuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiIgogIkLhuqFuIGhp4buHbiBuYXkgxJFhbmcgdGjhu7FjIGhp4buHbiB2aeG7h2Mgc+G7rWEgY2jhu69hIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgdHJvbmcgIgogImtoaSDEkWFuZyByZWJhc2UgbmjDoW5oIOKAnCVz4oCdIHRyw6puIOKAnCVz4oCdLiIKIAotIzogd3Qtc3RhdHVzLmM6OTM5CisjOiB3dC1zdGF0dXMuYzo5ODQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIkLhuqFuIGhp4buHbiDEkWFuZyBz4butYSBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIHRyb25nIGtoaSBi4bqhbiB0aOG7sWMgaGnhu4duIHJlYmFzZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjk0MgorIzogd3Qtc3RhdHVzLmM6OTg3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKIG1zZ3N0ciAiIgogIiAgKGTDuW5nIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgxJHhu4MgdHUgYuG7lSBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIGhp4buHbiB04bqhaSkiCiAKLSM6IHd0LXN0YXR1cy5jOjk0NAorIzogd3Qtc3RhdHVzLmM6OTg5CiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpIgogbXNnc3RyICIiCiAiICAoZMO5bmcgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBt4buZdCBraGkgYuG6oW4gY+G6o20gdGjhuqV5IGjDoGkgbMOybmcgduG7gSBuaOG7r25nICIKICJ0aGF5IMSR4buVaSBj4bunYSBtw6xuaCkiCiAKLSM6IHd0LXN0YXR1cy5jOjk1NAotbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nLiIKLW1zZ3N0ciAiQuG6oW4gaGnhu4duIG5heSDEkWFuZyB0aOG7sWMgaGnhu4duIHZp4buHYyBjaGVycnktcGljay4iCisjOiB3dC1zdGF0dXMuYzo5OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICVzLiIKK21zZ3N0ciAiQuG6oW4gaGnhu4duIG5heSDEkWFuZyB0aOG7sWMgaGnhu4duIHZp4buHYyBjaGVycnktcGljayBs4bqnbiBjaHV54buDbiBnaWFvICVzLiIKIAotIzogd3Qtc3RhdHVzLmM6OTU4CisjOiB3dC1zdGF0dXMuYzoxMDA0CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChz4butYSBjw6FjIHh1bmcgxJHhu5l0IHbDoCBzYXUgxJHDsyBjaOG6oXkgbOG7h25oIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjk2MQorIzogd3Qtc3RhdHVzLmM6MTAwNwogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoa2hpIHThuqV0IGPhuqMgY8OhYyB4dW5nIMSR4buZdCDEkcOjIHPhu61hIHhvbmc6IGNo4bqheSBs4buHbmggXCJnaXQgY2hlcnJ5LXBpY2sgLS0iCiAiY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjk2MworIzogd3Qtc3RhdHVzLmM6MTAwOQogbXNnaWQgIiAgKHVzZSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSBjaGVycnktcGljayBvcGVyYXRpb24pIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgxJHhu4MgaOG7p3kgYuG7jyB0aGFvIHTDoWMgY2hlcnJ5LXBpY2spIgogCi0jOiB3dC1zdGF0dXMuYzo5NzIKKyM6IHd0LXN0YXR1cy5jOjEwMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIkLhuqFuIGhp4buHbiBuYXkgxJFhbmcgdGjhu7FjIGhp4buHbiB0aGFvIHTDoWMgcmV2ZXJ0IGzhuqduIGNodXnhu4NuIGdpYW8g4oCcJXPigJ0uIgogCi0jOiB3dC1zdGF0dXMuYzo5NzcKKyM6IHd0LXN0YXR1cy5jOjEwMjMKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKHPhu61hIGPDoWMgeHVuZyDEkeG7mXQgdsOgIHNhdSDEkcOzIGNo4bqheSBs4buHbmggXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjk4MAorIzogd3Qtc3RhdHVzLmM6MTAyNgogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKGtoaSB04bqldCBj4bqjIGPDoWMgeHVuZyDEkeG7mXQgxJHDoyBz4butYSB4b25nOiBjaOG6oXkgbOG7h25oIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5ODIKKyM6IHd0LXN0YXR1cy5jOjEwMjgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIgIChkw7luZyBcImdpdCByZXZlcnQgLS1hYm9ydFwiIMSR4buDIGjhu6d5IGLhu48gdGhhbyB0w6FjIHJldmVydCkiCiAKLSM6IHd0LXN0YXR1cy5jOjk5MworIzogd3Qtc3RhdHVzLmM6MTAzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcsIHN0YXJ0ZWQgZnJvbSBicmFuY2ggJyVzJy4iCiBtc2dzdHIgIiIKICJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdGhhbyB0w6FjIGRpIGNodXnhu4NuIG7hu61hIGLGsOG7m2MgKGJpc2VjdCksIGLhuq90IMSR4bqndSB04burICIKICJuaMOhbmgg4oCcJXPigJ0uIgogCi0jOiB3dC1zdGF0dXMuYzo5OTcKKyM6IHd0LXN0YXR1cy5jOjEwNDMKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcuIgotbXNnc3RyICJC4bqhbiBoaeG7h24gdOG6oWkgxJFhbmcgdGjhu7FjIGhp4buHbiB2aeG7h2MgYmlzZWN0IChjaGlhIMSRw7RpKS4iCittc2dzdHIgIkLhuqFuIGhp4buHbiB04bqhaSDEkWFuZyB0aOG7sWMgaGnhu4duIHZp4buHYyBiaXNlY3QgKGRpIGNodXnhu4NuIG7hu61hIGLGsOG7m2MpLiIKIAotIzogd3Qtc3RhdHVzLmM6MTAwMAorIzogd3Qtc3RhdHVzLmM6MTA0NgogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgYmlzZWN0IHJlc2V0XCIgxJHhu4MgcXVheSB0cuG7nyBs4bqhaSBuaMOhbmggbmd1ecOqbiB0aOG7p3kpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTczCisjOiB3dC1zdGF0dXMuYzoxMjIxCiBtc2dpZCAiT24gYnJhbmNoICIKIG1zZ3N0ciAiVHLDqm4gbmjDoW5oICIKIAotIzogd3Qtc3RhdHVzLmM6MTE4MAorIzogd3Qtc3RhdHVzLmM6MTIyOAogbXNnaWQgInJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCi1tc2dzdHIgInJlYmFzZSDEkWFuZyDEkcaw4bujYyB0aOG7sWMgaGnhu4duOiBsw6puIHRyw6puIgorbXNnc3RyICJyZWJhc2UgxJFhbmcgxJHGsOG7o2MgdGjhu7FjIGhp4buHbjogbMOqbiB0csOqbiAiCiAKLSM6IHd0LXN0YXR1cy5jOjExODcKKyM6IHd0LXN0YXR1cy5jOjEyMzUKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKLW1zZ3N0ciAiSEVBRCDEkcaw4bujYyB0w6FjaCBy4budaSB04bqhaSIKK21zZ3N0ciAiSEVBRCDEkcaw4bujYyB0w6FjaCBy4budaSB04bqhaSAiCiAKLSM6IHd0LXN0YXR1cy5jOjExODkKKyM6IHd0LXN0YXR1cy5jOjEyMzcKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgogbXNnc3RyICJIRUFEIMSRxrDhu6NjIHTDoWNoIHLhu51pIHThu6siCiAKLSM6IHd0LXN0YXR1cy5jOjExOTIKKyM6IHd0LXN0YXR1cy5jOjEyNDAKIG1zZ2lkICJOb3QgY3VycmVudGx5IG9uIGFueSBicmFuY2guIgogbXNnc3RyICJIaeG7h24gdOG6oWkgY2jhurNuZyDhu58gbmjDoW5oIG7DoG8gY+G6oy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDkKKyM6IHd0LXN0YXR1cy5jOjEyNTcKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAiTOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBraOG7n2kgxJHhuqd1IgogCi0jOiB3dC1zdGF0dXMuYzoxMjIzCisjOiB3dC1zdGF0dXMuYzoxMjcxCiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJOaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjUKKyM6IHd0LXN0YXR1cy5jOjEyNzMKIG1zZ2lkICJJZ25vcmVkIGZpbGVzIgogbXNnc3RyICJOaOG7r25nIHThuq1wIHRpbiBi4buLIGzhu50gxJFpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjI5CisjOiB3dC1zdGF0dXMuYzoxMjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCkBAIC0xNjMzLDMyICsxODAxLDMyIEBACiAiY8OzIGzhur0gbMOgbSBuw7MgbmhhbmggaMahbiwgbmjGsG5nIGLhuqFuIHBo4bqjaSBj4bqpbiB0aOG6rW4gxJHhu6tuZyBxdcOqbiBtw6xuaCBwaOG6o2lcbiIKICJ04buxIHRow6ptIGPDoWMgdOG6rXAgdGluIG3hu5tpICh4ZW0g4oCcZ2l0IGhlbHAgc3RhdHVz4oCdLi4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMzUKKyM6IHd0LXN0YXR1cy5jOjEyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKIG1zZ3N0ciAiTmjhu69uZyB04bqtcCB0aW4ga2jDtG5nIGLhu4sgdGhlbyB24bq/dCBraMO0bmcgxJHGsOG7o2MgbGnhu4d0IGvDqiByYSAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MTIzNworIzogd3Qtc3RhdHVzLmM6MTI4NQogbXNnaWQgIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCiBtc2dzdHIgIiAoZMO5bmcgdMO5eSBjaOG7jW4gLXUgxJHhu4MgaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDMKKyM6IHd0LXN0YXR1cy5jOjEyOTEKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICJLaMO0bmcgY8OzIHRoYXkgxJHhu5VpIG7DoG8iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDgKKyM6IHd0LXN0YXR1cy5jOjEyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iCiBtc2dzdHIgIiIKICJraMO0bmcgY8OzIHRoYXkgxJHhu5VpIG7DoG8gxJHGsOG7o2MgdGjDqm0gdsOgbyBjb21taXQgKGTDuW5nIFwiZ2l0IGFkZFwiIHbDoC9ob+G6t2MgXCJnaXQgIgogImNvbW1pdCAtYVwiKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjUxCisjOiB3dC1zdGF0dXMuYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgImtow7RuZyBjw7MgdGhheSDEkeG7lWkgbsOgbyDEkcaw4bujYyB0aMOqbSB2w6BvIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdClcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NAorIzogd3Qtc3RhdHVzLmM6MTMwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgpAQCAtMTY2Nyw1OCArMTgzNSw2MiBAQAogImtow7RuZyBjw7MgZ8OsIMSRxrDhu6NjIHRow6ptIHbDoG8gbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBuaMawbmcgY8OzIG5o4buvbmcgdOG6rXAgdGluICIKICJraMO0bmcgxJHGsOG7o2MgdGhlbyBk4bqldSB24bq/dCBoaeG7h24gZGnhu4duIChkw7luZyBcImdpdCBhZGRcIiDEkeG7gyDEkcawYSB2w6BvIHRoZW8gZMO1aSlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NworIzogd3Qtc3RhdHVzLmM6MTMwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnRcbiIKIG1zZ3N0ciAiIgogImtow7RuZyBjw7MgZ8OsIMSRxrDhu6NjIHRow6ptIHbDoG8gbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBuaMawbmcgY8OzIG5o4buvbmcgdOG6rXAgdGluICIKICJraMO0bmcgxJHGsOG7o2MgdGhlbyBk4bqldSB24bq/dCBoaeG7h24gZGnhu4duXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjAKKyM6IHd0LXN0YXR1cy5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCiBtc2dzdHIgIiIKICIga2jDtG5nIGPDsyBnw6wgxJHhu4MgY29tbWl0ICh04bqhby9zYW8tY2jDqXAgY8OhYyB04bqtcCB0aW4gdsOgIGTDuW5nIFwiZ2l0IGFkZFwiIMSR4buDIHRoZW8gIgogImTDtWkgZOG6pXUgduG6v3QpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjMgd3Qtc3RhdHVzLmM6MTI2OAorIzogd3Qtc3RhdHVzLmM6MTMxMSB3dC1zdGF0dXMuYzoxMzE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0XG4iCiBtc2dzdHIgImtow7RuZyBjw7MgZ8OsIMSR4buDIGNodXnhu4NuIGdpYW8gKGNvbW1pdClcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2NgorIzogd3Qtc3RhdHVzLmM6MTMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKVxuIgogbXNnc3RyICIiCiAia2jDtG5nIGPDsyBnw6wgxJHhu4MgY2h1eeG7g24gZ2lhbyAoY29tbWl0KSAoZMO5bmcgLXUgxJHhu4MgYuG7jyBjw6FjIHThuq1wIHRpbiBj4bqnbiB0aGVvIGThuqV1ICIKICJ24bq/dClcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTI3MAorIzogd3Qtc3RhdHVzLmM6MTMxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyBkaXJlY3RvcnkgY2xlYW5cbiIKIG1zZ3N0ciAia2jDtG5nIGPDsyBnw6wgxJHhu4MgY2h1eeG7g24gZ2lhbyAoY29tbWl0KSwgdGjGsCBt4bulYyBsw6BtIHZp4buHYyBz4bqhY2ggc+G6vVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzc4CisjOiB3dC1zdGF0dXMuYzoxNDI3CiBtc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKIG1zZ3N0ciAiSEVBRCAoa2jDtG5nIG5ow6FuaCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEzODQKKyM6IHd0LXN0YXR1cy5jOjE0MzMKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCiBtc2dzdHIgIkzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkga2jhu59pIHThuqFvIHRyw6puICIKIAotIzogd3Qtc3RhdHVzLmM6MTM5OQorIzogd3Qtc3RhdHVzLmM6MTQ2MworbXNnaWQgImdvbmUiCittc2dzdHIgIsSRw6MgcmEgxJFpIgorCisjOiB3dC1zdGF0dXMuYzoxNDY1CiBtc2dpZCAiYmVoaW5kICIKIG1zZ3N0ciAixJHhurFuZyBzYXUgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDAyIHd0LXN0YXR1cy5jOjE0MDUKKyM6IHd0LXN0YXR1cy5jOjE0Njggd3Qtc3RhdHVzLmM6MTQ3MQogbXNnaWQgImFoZWFkICIKIG1zZ3N0ciAicGjDrWEgdHLGsOG7m2MgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDA3CisjOiB3dC1zdGF0dXMuYzoxNDczCiBtc2dpZCAiLCBiZWhpbmQgIgogbXNnc3RyICIsIMSR4bqxbmcgc2F1ICIKIAotIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU4IGJ1aWx0aW4vY2xvbmUuYzozNTEKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1NSBidWlsdGluL2Nsb25lLmM6MzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKIG1zZ3N0ciAiYuG7jyBsacOqbiBr4bq/dCAodW5saW5rKSAlcyBraMO0bmcgdGjDoG5oIGPDtG5nIgpAQCAtMTgwNiw3ICsxOTc4LDcgQEAKIG1zZ2lkICJ1bmV4cGVjdGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICJ0cuG6oW5nIHRow6FpIGzhu4duaCBkaWZmIGtow7RuZyBuaMawIG1vbmcgxJHhu6NpICVjIgogCi0jOiBidWlsdGluL2FkZC5jOjE0OSBidWlsdGluL2NvbW1pdC5jOjI1MgorIzogYnVpbHRpbi9hZGQuYzoxNDkgYnVpbHRpbi9jb21taXQuYzoyNjAKIG1zZ2lkICJ1cGRhdGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgIkPhuq1wIG5o4bqtdCB04bqtcCB0aW4gZ+G6t3AgbOG7l2kiCiAKQEAgLTE4MTUsMTQ3ICsxOTg3LDE0MiBAQAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgImfhu6EgYuG7jyDigJwlc+KAnVxuIgogCi0jOiBidWlsdGluL2FkZC5jOjI1MworIzogYnVpbHRpbi9hZGQuYzoyMzcKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKIG1zZ3N0ciAiIgogIkPDoWMgdGhheSDEkeG7lWkga2jDtG5nIMSRxrDhu6NjIGzGsHUgdHLhuqFuZyB0aMOhaSBzYXUga2hpIGzDoG0gdMawxqFpIG3hu5tpIGzhuqFpIGLhuqNuZyBt4bulYyBs4bulYzoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU2IGJ1aWx0aW4vYWRkLmM6NTczIGJ1aWx0aW4vcm0uYzozMzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKLW1zZ3N0ciAicGF0aHNwZWMg4oCcJXPigJ0ga2jDtG5nIGto4bubcCB24bubaSBi4bqldCBr4buzIHThuq1wIHRpbiBuw6BvIgotCi0jOiBidWlsdGluL2FkZC5jOjMzOQorIzogYnVpbHRpbi9hZGQuYzoyOTkKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2FkZC5jOjM1MAorIzogYnVpbHRpbi9hZGQuYzozMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyBt4bufIOKAnCVz4oCdIMSR4buDIGdoaS4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzU0CisjOiBidWlsdGluL2FkZC5jOjMxNAogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSByYSBtaeG6v25nIHbDoSIKIAotIzogYnVpbHRpbi9hZGQuYzozNTkKKyM6IGJ1aWx0aW4vYWRkLmM6MzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB0cuG6oW5nIHRow6FpIHbhu4Eg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzYxCisjOiBidWlsdGluL2FkZC5jOjMyMQogbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKIG1zZ3N0ciAiTWnhur9uZyB2w6EgdHLhu5FuZyBy4buXbmcuIMSQw6MgYuG7jyBxdWEuIgogCi0jOiBidWlsdGluL2FkZC5jOjM2NworIzogYnVpbHRpbi9hZGQuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBhcHBseSAow6FwIGThu6VuZyBtaeG6v25nIHbDoSkg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzc3CisjOiBidWlsdGluL2FkZC5jOjMzNwogbXNnaWQgIlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKIG1zZ3N0ciAiIgogIkPDoWMgxJHGsOG7nW5nIGThuqtuIHRoZW8gc2F1IMSRw6J5IHPhur0gYuG7iyBs4budIMSRaSBi4bufaSBt4buZdCB0cm9uZyBjw6FjIHThuq1wIHRpbiAuZ2l0aWdub3JlICIKICJj4bunYSBi4bqhbjpcbiIKIAotIzogYnVpbHRpbi9hZGQuYzozOTQgYnVpbHRpbi9jbGVhbi5jOjg3NSBidWlsdGluL2ZldGNoLmM6NzggYnVpbHRpbi9tdi5jOjYzCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjczIGJ1aWx0aW4vcHVzaC5jOjQ1MSBidWlsdGluL3JlbW90ZS5jOjEyNTMKLSM6IGJ1aWx0aW4vcm0uYzoyNjgKKyM6IGJ1aWx0aW4vYWRkLmM6MzU0IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9mZXRjaC5jOjkyIGJ1aWx0aW4vbXYuYzo2NgorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3MyBidWlsdGluL3B1c2guYzo0NTkgYnVpbHRpbi9yZW1vdGUuYzoxMjUzCisjOiBidWlsdGluL3JtLmM6MjY5CiBtc2dpZCAiZHJ5IHJ1biIKIG1zZ3N0ciAiY2jhuqF5IHRo4butIgogCi0jOiBidWlsdGluL2FkZC5jOjM5NSBidWlsdGluL2FwcGx5LmM6NDQxMCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5Ci0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjAgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTUgYnVpbHRpbi9mc2NrLmM6NjEzCi0jOiBidWlsdGluL2xvZy5jOjE1NzMgYnVpbHRpbi9tdi5jOjYyIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEzCisjOiBidWlsdGluL2FkZC5jOjM1NSBidWlsdGluL2FwcGx5LmM6NDQxMCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNDkgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTUgYnVpbHRpbi9mc2NrLmM6NjEyCisjOiBidWlsdGluL2xvZy5jOjE1OTIgYnVpbHRpbi9tdi5jOjY1IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEzCiBtc2dpZCAiYmUgdmVyYm9zZSIKIG1zZ3N0ciAiY2hpIHRp4bq/dCIKIAotIzogYnVpbHRpbi9hZGQuYzozOTcKKyM6IGJ1aWx0aW4vYWRkLmM6MzU3CiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAic+G7rWEgYuG6sW5nIGPDoWNoIHTGsMahbmcgdMOhYyIKIAotIzogYnVpbHRpbi9hZGQuYzozOTggYnVpbHRpbi9jaGVja291dC5jOjEwNzMgYnVpbHRpbi9yZXNldC5jOjI2MQorIzogYnVpbHRpbi9hZGQuYzozNTggYnVpbHRpbi9jaGVja291dC5jOjExMDkgYnVpbHRpbi9yZXNldC5jOjI3MgogbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICJjaOG7jW4g4oCcaHVua3PigJ0gbeG7mXQgY8OhY2ggdMawxqFuZyB0w6FjIgogCi0jOiBidWlsdGluL2FkZC5jOjM5OQorIzogYnVpbHRpbi9hZGQuYzozNTkKIG1zZ2lkICJlZGl0IGN1cnJlbnQgZGlmZiBhbmQgYXBwbHkiCiBtc2dzdHIgInPhu61hIGRpZmYgaGnhu4duIG5heSB2w6Agw6FwIGThu6VuZyBuw7MiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAwCisjOiBidWlsdGluL2FkZC5jOjM2MAogbXNnaWQgImFsbG93IGFkZGluZyBvdGhlcndpc2UgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiY2hvIHBow6lwIHRow6ptIGPDoWMgdOG6rXAgdGluIGLhu4sgYuG7jyBxdWEga2jDoWMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAxCisjOiBidWlsdGluL2FkZC5jOjM2MQogbXNnaWQgInVwZGF0ZSB0cmFja2VkIGZpbGVzIgogbXNnc3RyICJj4bqtcCBuaOG6rXQgY8OhYyB04bqtcCB0aW4gxJHGsOG7o2MgdGhlbyB24bq/dCIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDIKKyM6IGJ1aWx0aW4vYWRkLmM6MzYyCiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICJjaOG7iSBnaGkgbOG6oWkgc+G7sSB2aeG7h2MgbcOgIMSRxrDhu51uZyBk4bqrbiBz4bq9IMSRxrDhu6NjIHRow6ptIHbDoG8gc2F1IgogCi0jOiBidWlsdGluL2FkZC5jOjQwMworIzogYnVpbHRpbi9hZGQuYzozNjMKIG1zZ2lkICJhZGQgY2hhbmdlcyBmcm9tIGFsbCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIiIKICJ0aMOqbSBjw6FjIHRoYXkgxJHhu5VpIHThu6sgdOG6pXQgY+G6oyBjw6FjIHThuq1wIHRpbiBjw7MgY8WpbmcgbmjGsCBraMO0bmcgxJHGsOG7o2MgdGhlbyBkw7VpIGThuqV1ICIKICJ24bq/dCIKIAogIy4gdGFrZXMgbm8gYXJndW1lbnRzCi0jOiBidWlsdGluL2FkZC5jOjQwNgorIzogYnVpbHRpbi9hZGQuYzozNjYKIG1zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKIG1zZ3N0ciAiIgogImzhu50gxJFpIGPDoWMgxJHGsOG7nW5nIGThuqtuIGLhu4sgZ+G7oSBi4buPIHRyb25nIGPDonkgdGjGsCBt4bulYyBsw6BtIHZp4buHYyAoZ2nhu5FuZyB24bubaSAtLW5vLWFsbCkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDA4CisjOiBidWlsdGluL2FkZC5jOjM2OAogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAia2jDtG5nIHRow6ptLCBjaOG7iSBsw6BtIHTGsMahaSBt4bubaSBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDA5CisjOiBidWlsdGluL2FkZC5jOjM2OQogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCiBtc2dzdHIgImNoaWUgYuG7jyBxdWEgbmjhu69uZyB04bqtcCB0aW4gbcOgIG7DsyBraMO0bmcgdGjhu4MgxJHGsOG7o2MgdGjDqm0gdsOgbyBi4bufaSB2w6wgZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDEwCisjOiBidWlsdGluL2FkZC5jOjM3MAogbXNnaWQgImNoZWNrIGlmIC0gZXZlbiBtaXNzaW5nIC0gZmlsZXMgYXJlIGlnbm9yZWQgaW4gZHJ5IHJ1biIKIG1zZ3N0ciAiIgogImtp4buDbSB0cmEgeGVtIC0gdGjhuq1tIGNow60gdGhp4bq/dSAtIHThuq1wIHRpbiBi4buLIGLhu48gcXVhIHRyb25nIHF1w6EgdHLDrG5oIGNo4bqheSB0aOG7rSIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzIKKyM6IGJ1aWx0aW4vYWRkLmM6MzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIHRoZW0uXG4iCiBtc2dzdHIgIlPhu60gZOG7pW5nIHTDuXkgY2jhu41uIC1mIG7hur91IGLhuqFuIHRo4buxYyBz4buxIG114buRbiB0aMOqbSBjaMO6bmcgdsOgby5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzMKKyM6IGJ1aWx0aW4vYWRkLmM6MzkzCiBtc2dpZCAibm8gZmlsZXMgYWRkZWQiCiBtc2dzdHIgImNoxrBhIGPDsyB04bqtcCB0aW4gbsOgbyDEkcaw4bujYyB0aMOqbSB2w6BvIgogCi0jOiBidWlsdGluL2FkZC5jOjQzOQorIzogYnVpbHRpbi9hZGQuYzozOTkKIG1zZ2lkICJhZGRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICJ0aMOqbSB04bqtcCB0aW4gZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDc4CisjOiBidWlsdGluL2FkZC5jOjQzOAogbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgogbXNnc3RyICItQSB2w6AgLXUgeHVuZyBraOG6r2MgbmhhdSIKIAotIzogYnVpbHRpbi9hZGQuYzo0OTYKKyM6IGJ1aWx0aW4vYWRkLmM6NDU2CiBtc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gLS1pZ25vcmUtbWlzc2luZyBjaOG7iSBjw7MgdGjhu4MgxJHGsOG7o2MgZMO5bmcgY8O5bmcgduG7m2kgLS1kcnktcnVuIgogCi0jOiBidWlsdGluL2FkZC5jOjUyNgorIzogYnVpbHRpbi9hZGQuYzo0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIktow7RuZyBjw7MgZ8OsIMSRxrDhu6NjIGNo4buJIHJhLCBraMO0bmcgY8OzIGfDrCDEkcaw4bujYyB0aMOqbSB2w6BvLlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjUyNworIzogYnVpbHRpbi9hZGQuYzo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWF5YmUgeW91IHdhbnRlZCB0byBzYXkgJ2dpdCBhZGQgLic/XG4iCiBtc2dzdHIgIkPDsyBs4bq9IGLhuqFuIG114buRbiBsw6Ag4oCcZ2l0IGFkZCAu4oCdIHBo4bqjaSBraMO0bmc/XG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NTMzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYxIGJ1aWx0aW4vY2xlYW4uYzo5MTkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzEyIGJ1aWx0aW4vbXYuYzo4MiBidWlsdGluL3JtLmM6Mjk3CisjOiBidWlsdGluL2FkZC5jOjQ5MiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NsZWFuLmM6OTE5CisjOiBidWlsdGluL2NvbW1pdC5jOjMyMCBidWlsdGluL212LmM6ODYgYnVpbHRpbi9yZXNldC5jOjIyNCBidWlsdGluL3JtLmM6Mjk5CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICJ04bqtcCB0aW4gZ2hpIGLhuqNuZyBt4bulYyBs4bulYyBi4buLIGjhu49uZyIKIAotIzogYnVpbHRpbi9hZGQuYzo2MDUgYnVpbHRpbi9hcHBseS5jOjQ1MDYgYnVpbHRpbi9tdi5jOjIyOSBidWlsdGluL3JtLmM6NDMyCisjOiBidWlsdGluL2FkZC5jOjU4OSBidWlsdGluL2FwcGx5LmM6NDUwNiBidWlsdGluL212LmM6MjU5IGJ1aWx0aW4vcm0uYzo0MzIKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIG3hu5tpIgogCkBAIC0yMjExLDcgKzIzNzgsNyBAQAogbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgogbXNnc3RyICLEkGFuZyBraeG7g20gdHJhIG1p4bq/bmcgdsOhICVzLi4uIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MzY4MCBidWlsdGluL2NoZWNrb3V0LmM6MjE2IGJ1aWx0aW4vcmVzZXQuYzoxMjcKKyM6IGJ1aWx0aW4vYXBwbHkuYzozNjgwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTMgYnVpbHRpbi9yZXNldC5jOjEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICJtYWtlX2NhY2hlX2VudHJ5IGfhurdwIGzhu5dpIMSR4buRaSB24bubaSDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0iCkBAIC0yMjM5LDcgKzI0MDYsNyBAQAogIzogYnVpbHRpbi9hcHBseS5jOjM4NjMgYnVpbHRpbi9hcHBseS5jOjM5NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiCi1tc2dzdHIgImtow7RuZyB0aOG7gyB0aMOqbSBt4bulYyBuaOG7myB04bqhbSBjaG8gJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyB0aMOqbSBt4bulYyBuaOG7myDEkeG7h20gY2hvICVzIgogCiAjOiBidWlsdGluL2FwcGx5LmM6Mzg5NgogIywgYy1mb3JtYXQKQEAgLTIyNzEsNyArMjQzOCw3IEBACiAjOiBidWlsdGluL2FwcGx5LmM6NDA1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCi1tc2dzdHIgIsSRYW5nIGPhuq90IGPhu6V0IHTDqm4gdOG6rXAgdGluIC5yZWogdGjDoG5oICUuKnMucmVqIgorbXNnc3RyICLEkWFuZyBj4bqvdCBuZ+G6r24gdMOqbiB04bqtcCB0aW4gLnJlaiB0aMOgbmggJS4qcy5yZWoiCiAKICM6IGJ1aWx0aW4vYXBwbHkuYzo0MDc0CiAjLCBjLWZvcm1hdApAQCAtMjI5MSw4ICsyNDU4LDggQEAKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIHThuq1wIHRpbiBsxrB1IGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9hcHBseS5jOjQzNTcgYnVpbHRpbi9hcHBseS5jOjQzNjAgYnVpbHRpbi9jbG9uZS5jOjkxCi0jOiBidWlsdGluL2ZldGNoLmM6NjMKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0MzU3IGJ1aWx0aW4vYXBwbHkuYzo0MzYwIGJ1aWx0aW4vY2xvbmUuYzo5MAorIzogYnVpbHRpbi9mZXRjaC5jOjc3CiBtc2dpZCAicGF0aCIKIG1zZ3N0ciAixJHGsOG7nW5nLWThuqtuIgogCkBAIC0yMzU2LDcgKzI1MjMsNyBAQAogbXNnc3RyICIiCiAieMOieSBk4buxbmcgYuG6o25nIG3hu6VjIGzhu6VjIHThuqFtIHRo4budaSB0csOqbiBjxqEgc+G7nyB0aMO0bmcgdGluIGLhuqNuZyBt4bulYyBs4bulYyDEkcaw4bujYyBuaMO6bmciCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzg5IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxOTcgYnVpbHRpbi9scy1maWxlcy5jOjQ2MgorIzogYnVpbHRpbi9hcHBseS5jOjQzODkgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE5NyBidWlsdGluL2xzLWZpbGVzLmM6NDUyCiBtc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgImPDoWMgxJHGsOG7nW5nIGThuqtuIGLhu4sgbmfEg24gY8OhY2ggYuG7n2kga8O9IHThu7EgTlVMTCIKIApAQCAtMjQ1NSw3ICsyNjIyLDcgQEAKIAogIzogYnVpbHRpbi9hcmNoaXZlLmM6NTgKIG1zZ2lkICJnaXQgYXJjaGl2ZTogZXhwZWN0ZWQgQUNLL05BSywgZ290IEVPRiIKLW1zZ3N0ciAiZ2l0IGFyY2hpdmU6IG1vbmcgxJHhu6NpIEFDSy9OQUssIG5o4bqtbiBFT0YiCittc2dzdHIgImdpdCBhcmNoaXZlOiBj4bqnbiBBQ0svTkFLLCBuaMawbmcgbOG6oWkgbmjhuq1uIMSRxrDhu6NjIEVPRiIKIAogIzogYnVpbHRpbi9hcmNoaXZlLmM6NjEKICMsIGMtZm9ybWF0CkBAIC0yNDczLDcgKzI2NDAsNyBAQAogCiAjOiBidWlsdGluL2FyY2hpdmUuYzo2OAogbXNnaWQgImdpdCBhcmNoaXZlOiBleHBlY3RlZCBhIGZsdXNoIgotbXNnc3RyICJnaXQgYXJjaGl2ZTogxJHDoyBtb25nIGNo4budIG3hu5l0IGZsdXNoIgorbXNnc3RyICJnaXQgYXJjaGl2ZTogY+G6p24gbeG7mXQgZmx1c2ggKMSR4bqpeSBk4buvIGxp4buHdSBsw6puIMSRxKlhKSIKIAogIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjcKIG1zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1uZXh0LWFsbCBbLS1uby1jaGVja291dF0iCkBAIC0yNDg5LDEwNSArMjY1NiwxMDUgQEAKICJj4bqtcCBuaOG6rXQgQklTRUNUX0hFQUQgdGhheSB2w6wgbOG6pXkgcmEgKGNoZWNraW5nIG91dCkgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSAiCiAiaGnhu4duIGjDoG5oIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNwogbXNnaWQgImdpdCBibGFtZSBbb3B0aW9uc10gW3Jldi1vcHRzXSBbcmV2XSBbLS1dIGZpbGUiCiBtc2dzdHIgImdpdCBibGFtZSBbY8OhYy10w7l5LWNo4buNbl0gW3Jldi1vcHRzXSBbcmV2XSBbLS1dIHThuq1wLXRpbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjMxCisjOiBidWlsdGluL2JsYW1lLmM6MzIKIG1zZ2lkICJbcmV2LW9wdHNdIGFyZSBkb2N1bWVudGVkIGluIGdpdC1yZXYtbGlzdCgxKSIKIG1zZ3N0ciAiW3Jldi1vcHRzXSDEkcaw4bujYyBtw7QgdOG6oyB0cm9uZyBnaXQtcmV2LWxpc3QoMSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjc2CisjOiBidWlsdGluL2JsYW1lLmM6MjI0OAogbXNnaWQgIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyBjw6FjIG3hu6VjIOKAnGJsYW1l4oCdIG5oxrAgbMOgIGNow7puZyB0YSB0aOG6pXkgY2jDum5nLCB0xINuZyBk4bqnbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyNzcKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjQ5CiBtc2dpZCAiU2hvdyBibGFuayBTSEEtMSBmb3IgYm91bmRhcnkgY29tbWl0cyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogIkhp4buDbiB0aOG7iyBTSEEtMSB0cuG6r25nIGNobyBuaOG7r25nIGzhuqduIGNodXnhu4NuIGdpYW8gYmnDqm4gZ2nhu5tpIChN4bq3YyDEkeG7i25oOiBvZmYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI3OAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTAKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIktow7RuZyBjb2kgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGfhu5FjIGzDoCBnaeG7m2kgaOG6oW4gKE3hurdjIMSR4buLbmg6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjc5CisjOiBidWlsdGluL2JsYW1lLmM6MjI1MQogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyB0aOG7kW5nIGvDqiBjw7RuZyBz4bupYyBsw6BtIHZp4buHYyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjUyCiBtc2dpZCAiU2hvdyBvdXRwdXQgc2NvcmUgZm9yIGJsYW1lIGVudHJpZXMiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyBr4bq/dCB4deG6pXQgxJFp4buDbSBz4buRIGPDsyBjw6FjIG3hu6VjIHRpbiDigJxibGFtZeKAnSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjUzCiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyB0w6puIHThuq1wIHRpbiBn4buRYyAoTeG6t2MgxJHhu4tuaDogYXV0bykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgyCisjOiBidWlsdGluL2JsYW1lLmM6MjI1NAogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIHPhu5EgZMOybmcgZ+G7kWMgKE3hurdjIMSR4buLbmg6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgzCisjOiBidWlsdGluL2JsYW1lLmM6MjI1NQogbXNnaWQgIlNob3cgaW4gYSBmb3JtYXQgZGVzaWduZWQgZm9yIG1hY2hpbmUgY29uc3VtcHRpb24iCiBtc2dzdHIgIkhp4buDbiB0aOG7iyDhu58gxJHhu4tuaCBk4bqhbmcgxJHDoyB0aGnhur90IGvhur8gY2hvIHPhu7EgdGnDqnUgZMO5bmcgYuG6sW5nIG3DoXkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg0CisjOiBidWlsdGluL2JsYW1lLmM6MjI1NgogbXNnaWQgIlNob3cgcG9yY2VsYWluIGZvcm1hdCB3aXRoIHBlci1saW5lIGNvbW1pdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIMSR4buLbmggZOG6oW5nIOKAnHBvcmNlbGFpbuKAnSB24bubaSB0aMO0bmcgdGluIGNodXnhu4NuIGdpYW8gbeG7l2kgZMOybmciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg1CisjOiBidWlsdGluL2JsYW1lLmM6MjI1NwogbXNnaWQgIlVzZSB0aGUgc2FtZSBvdXRwdXQgbW9kZSBhcyBnaXQtYW5ub3RhdGUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkTDuW5nIGPDuW5nIGNo4bq/IMSR4buZIHh14bqldCByYSB2w7NpZ2l0LWFubm90YXRlIChN4bq3YyDEkeG7i25oOiBvZmYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4NgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTgKIG1zZ2lkICJTaG93IHJhdyB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyBk4bqldSB24bq/dCB0aOG7nWkgZ2lhbiBk4bqhbmcgdGjDtCAoTeG6t2MgxJHhu4tuaDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODcKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU5CiBtc2dpZCAiU2hvdyBsb25nIGNvbW1pdCBTSEExIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJIaeG7g24gdGjhu4sgU0hBMSBj4bunYSBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIGThuqFuZyBkw6BpIChN4bq3YyDEkeG7i25oOiBvZmYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4OAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjAKIG1zZ2lkICJTdXBwcmVzcyBhdXRob3IgbmFtZSBhbmQgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJLaMO0bmcgaGnhu4NuIHRo4buLIHTDqm4gdMOhYyBnaeG6oyB2w6AgZOG6pXUgduG6v3QgdGjhu51pIGdpYW4gKE3hurdjIMSR4buLbmg6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg5CisjOiBidWlsdGluL2JsYW1lLmM6MjI2MQogbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIHRoxrAgxJFp4buHbiB04butIGPhu6dhIHTDoWMgZ2nhuqMgdGhheSB2w6wgdMOqbiAoTeG6t2MgxJHhu4tuaDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYyCiBtc2dpZCAiSWdub3JlIHdoaXRlc3BhY2UgZGlmZmVyZW5jZXMiCiBtc2dzdHIgIkLhu48gcXVhIGPDoWMga2jDoWMgYmnhu4d0IGRvIGtob+G6o25nIHRy4bqvbmcgZ8OieSByYSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYzCiBtc2dpZCAiU3BlbmQgZXh0cmEgY3ljbGVzIHRvIGZpbmQgYmV0dGVyIG1hdGNoIgogbXNnc3RyICJUacOqdSB0aOG7pSB0aMOqbSBuxINuZyB0w6BpIG5ndXnDqm4gbcOheSBtw7NjIMSR4buDIHTDrG0ga2nhur9tIHThu5F0IGjGoW4gbuG7r2EiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkyCisjOiBidWlsdGluL2JsYW1lLmM6MjI2NAogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAiIgogIlPhu60gZOG7pW5nIMSRaeG7g20geMOpdCBkdXnhu4d0IChyZXZpc2lvbikgdOG7qyA8dOG6rXAgdGluPiB0aGF5IHbDrCBn4buNaSDigJxnaXQtcmV2LWxpc3TigJ0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkzCisjOiBidWlsdGluL2JsYW1lLmM6MjI2NQogbXNnaWQgIlVzZSA8ZmlsZT4ncyBjb250ZW50cyBhcyB0aGUgZmluYWwgaW1hZ2UiCiBtc2dzdHIgIlPhu60gZOG7pW5nIG7hu5lpIGR1bmcgY+G7p2EgPHThuq1wIHRpbj4gbmjGsCBsw6Ag4bqjbmggY3Xhu5FpIGPDuW5nIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NCBidWlsdGluL2JsYW1lLmM6MjI5NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjYgYnVpbHRpbi9ibGFtZS5jOjIyNjcKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAixJFp4buDbSBz4buRIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjYKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICJUw6xtIGPDoWMgYuG6o24gc2FvIGNow6lwIGTDsm5nIHRyb25nIHbDoCBuZ2FuZyBxdWEgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjcKIG1zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICJUw6xtIGPDoWMgZGkgY2h1eeG7g24gZMOybmcgdHJvbmcgdsOgIG5nYW5nIHF1YSB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjk2CisjOiBidWlsdGluL2JsYW1lLmM6MjI2OAogbXNnaWQgIm4sbSIKIG1zZ3N0ciAibixtIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjgKIG1zZ2lkICJQcm9jZXNzIG9ubHkgbGluZSByYW5nZSBuLG0sIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAiWOG7rSBsw70gY2jhu4kgZMOybmcgdsO5bmcgbixtLCB0w61uaCB04burIDEiCiAKQEAgLTI2NzQsNyArMjg0MSw3IEBACiAjOiBidWlsdGluL2JyYW5jaC5jOjI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciBkZWxldGluZyBicmFuY2ggJyVzJyIKLW1zZ3N0ciAiTOG7l2kga2hpIHhvw6EgYuG7jyBuaMOhbmgg4oCcJXPigJ0iCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB4b8OhIGLhu48gbmjDoW5oIOKAnCVz4oCdIgogCiAjOiBidWlsdGluL2JyYW5jaC5jOjI2MwogIywgYy1mb3JtYXQKQEAgLTI2OTMsMjc5ICsyODYwLDI4OSBAQAogCiAjOiBidWlsdGluL2JyYW5jaC5jOjQ1MwogIywgYy1mb3JtYXQKK21zZ2lkICJbJXM6IGdvbmVdIgorbXNnc3RyICJbJXM6IMSRw6MgcmEgxJFpXSIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiWyVzXSIKK21zZ3N0ciAiWyVzXSIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NTkKKyMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBiZWhpbmQgJWRdIgogbXNnc3RyICJbJXM6IMSR4bqxbmcgc2F1ICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIltiZWhpbmQgJWRdIgogbXNnc3RyICJbxJHhurFuZyBzYXUgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ1OQorIzogYnVpbHRpbi9icmFuY2guYzo0NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBhaGVhZCAlZF0iCiBtc2dzdHIgIlslczogcGjDrWEgdHLGsOG7m2MgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ2MQorIzogYnVpbHRpbi9icmFuY2guYzo0NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2FoZWFkICVkXSIKIG1zZ3N0ciAiW3Bow61hIHRyxrDhu5tjICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIlslczogdHLGsOG7m2MgJWQsIHNhdSAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY3CisjOiBidWlsdGluL2JyYW5jaC5jOjQ3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIlt0csaw4bubYyAlZCwgc2F1ICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0OTAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDk2CiBtc2dpZCAiICoqKiogaW52YWxpZCByZWYgKioqKiIKIG1zZ3N0ciAiICoqKiogdGhhbSBjaGnhur91IHNhaSAqKioqIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4MgorIzogYnVpbHRpbi9icmFuY2guYzo1ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgogbXNnc3RyICIoa2jDtG5nIG5ow6FuaCwgxJFhbmcgcmViYXNlICVzKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKIG1zZ3N0ciAiKGtow7RuZyBuaMOhbmgsIGJpc2VjdCDEkcaw4bujYyBi4bqvdCDEkeG6p3UgdOG6oWkgJXMpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4OAorIzogYnVpbHRpbi9icmFuY2guYzo1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiKGRldGFjaGVkIGZyb20gJXMpIgogbXNnc3RyICIoxJHGsOG7o2MgdMOhY2ggcuG7nWkgdOG7qyAlcykiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkxCisjOiBidWlsdGluL2JyYW5jaC5jOjU5NwogbXNnaWQgIihubyBicmFuY2gpIgogbXNnc3RyICIoa2jDtG5nIG5ow6FuaCkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM3CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGNvbW1pdCIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIOKAnCVz4oCdIGtow7RuZyBjaOG7iSDEkeG6v24gbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBuw6BvIGPhuqMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY5CisjOiBidWlsdGluL2JyYW5jaC5jOjY3NQogbXNnaWQgInNvbWUgcmVmcyBjb3VsZCBub3QgYmUgcmVhZCIKIG1zZ3N0ciAibeG7mXQgc+G7kSB0aGFtIGNoaeG6v3UgxJHDoyBraMO0bmcgdGjhu4MgxJHhu41jIMSRxrDhu6NjIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MgorIzogYnVpbHRpbi9icmFuY2guYzo2ODgKIG1zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buVaSB0w6puIG5ow6FuaCBoaeG7h24gaMOgbmggdHJvbmcga2hpIG7DsyBjaOG6s25nIOG7nyDEkcOidSBj4bqjLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2OTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCi1tc2dzdHIgIlNhaSB0w6puIG5ow6FuaDog4oCcJXPigJ0iCittc2dzdHIgIlTDqm4gbmjDoW5oIGtow7RuZyBo4bujcCBs4buHOiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MDcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzEzCiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCi1tc2dzdHIgIsSQ4buVaSB0w6puIG5ow6FuaCBn4bq3cCBs4buXaSIKK21zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMSR4buVaSB0w6puIG5ow6FuaCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICLEkMOjIMSR4buVaSB0w6puIG5ow6FuaCBraHV54bq/dCBkYW5oIOKAnCVz4oCdIMSRaSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgIk5ow6FuaCBi4buLIMSR4buVaSB0w6puIHRow6BuaCAlcywgbmjGsG5nIEhFQUQgbOG6oWkga2jDtG5nIMSRxrDhu6NjIGPhuq1wIG5o4bqtdCEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIyCisjOiBidWlsdGluL2JyYW5jaC5jOjcyOAogbXNnaWQgIkJyYW5jaCBpcyByZW5hbWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiTmjDoW5oIGLhu4sgxJHhu5VpIHTDqm4sIG5oxrBuZyBj4bqtcCBuaOG6rXQgdOG6rXAgdGluIGPhuqV1IGjDrG5oIGfhurdwIGzhu5dpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjczNworIzogYnVpbHRpbi9icmFuY2guYzo3NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICJ0w6puIMSR4buRaSB0xrDhu6NuZyBk4buLIGjDrG5oICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2MQorIzogYnVpbHRpbi9icmFuY2guYzo3NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGJyYW5jaCBkZXNjcmlwdGlvbiB0ZW1wbGF0ZTogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdsOgbyBt4bqrdSBtw7QgdOG6oyBuaMOhbmg6ICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5MQorIzogYnVpbHRpbi9icmFuY2guYzo3OTcKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCiBtc2dzdHIgIlTDuXkgY2jhu41uIGNodW5nIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5MworIzogYnVpbHRpbi9icmFuY2guYzo3OTkKIG1zZ2lkICJzaG93IGhhc2ggYW5kIHN1YmplY3QsIGdpdmUgdHdpY2UgZm9yIHVwc3RyZWFtIGJyYW5jaCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIG3DoyBixINtIHbDoCBjaOG7pyDEkeG7gSwgxJHGsGEgcmEgaGFpIGzhuqduIGNobyBuaMOhbmggdGjGsOG7o25nIG5ndeG7k24iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk0CisjOiBidWlsdGluL2JyYW5jaC5jOjgwMAogbXNnaWQgInN1cHByZXNzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMiCiBtc2dzdHIgIlRodSBo4buTaSBjw6FjIHRow7RuZyDEkWnhu4dwIHRow7RuZyB0aW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk1CisjOiBidWlsdGluL2JyYW5jaC5jOjgwMQogbXNnaWQgInNldCB1cCB0cmFja2luZyBtb2RlIChzZWUgZ2l0LXB1bGwoMSkpIgogbXNnc3RyICJjw6BpIMSR4bq3dCBjaOG6vyDEkeG7mSB0aGVvIHbhur90ICh4ZW0gZ2l0LXB1bGwoMSkpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NworIzogYnVpbHRpbi9icmFuY2guYzo4MDMKIG1zZ2lkICJjaGFuZ2UgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAidGhheSDEkeG7lWkgdGjDtG5nIHRpbiB0aMaw4bujbmcgbmd14buTbiAodXBzdHJlYW0pIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwMQorIzogYnVpbHRpbi9icmFuY2guYzo4MDcKIG1zZ2lkICJ1c2UgY29sb3JlZCBvdXRwdXQiCiBtc2dzdHIgInPhu60gZOG7pW5nIGvhur90IHh14bqldCBjw7MgdMO0IG3DoHUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAyCisjOiBidWlsdGluL2JyYW5jaC5jOjgwOAogbXNnaWQgImFjdCBvbiByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgInRoYW8gdMOhYyB0csOqbiBuaMOhbmgg4oCccmVtb3RlLXRyYWNraW5n4oCdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwNSBidWlsdGluL2JyYW5jaC5jOjgxMSBidWlsdGluL2JyYW5jaC5jOjgzMgotIzogYnVpbHRpbi9icmFuY2guYzo4MzggYnVpbHRpbi9jb21taXQuYzoxNDMzIGJ1aWx0aW4vY29tbWl0LmM6MTQzNAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM1IGJ1aWx0aW4vY29tbWl0LmM6MTQzNiBidWlsdGluL3RhZy5jOjQ2OAorIzogYnVpbHRpbi9icmFuY2guYzo4MTEgYnVpbHRpbi9icmFuY2guYzo4MTcgYnVpbHRpbi9icmFuY2guYzo4MzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ0IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MCBidWlsdGluL2NvbW1pdC5jOjE0NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MiBidWlsdGluL2NvbW1pdC5jOjE0NjMgYnVpbHRpbi90YWcuYzo0NjgKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgImNvbW1pdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDYgYnVpbHRpbi9icmFuY2guYzo4MTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODEyIGJ1aWx0aW4vYnJhbmNoLmM6ODE4CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgbmjDoW5oIG3DoCBuw7MgY2jhu6lhIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE4CisjOiBidWlsdGluL2JyYW5jaC5jOjgyNAogbXNnaWQgIlNwZWNpZmljIGdpdC1icmFuY2ggYWN0aW9uczoiCiBtc2dzdHIgIkjDoG5oIMSR4buZbmcgZ2l0LWJyYW5jaDoiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE5CisjOiBidWlsdGluL2JyYW5jaC5jOjgyNQogbXNnaWQgImxpc3QgYm90aCByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICJsaeG7h3Qga8OqIGPhuqMgbmjDoW5oIOKAnHJlbW90ZS10cmFja2luZ+KAnSB2w6AgbuG7mWkgYuG7mSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI3CiBtc2dpZCAiZGVsZXRlIGZ1bGx5IG1lcmdlZCBicmFuY2giCiBtc2dzdHIgInjDs2EgbeG7mXQgY8OhY2ggxJHhuqd5IMSR4bunIG5ow6FuaCDEkcOjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyMgorIzogYnVpbHRpbi9icmFuY2guYzo4MjgKIG1zZ2lkICJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIgogbXNnc3RyICJ4b8OhIG5ow6FuaCAoY2hvIGTDuSBsw6AgY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4pIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyMworIzogYnVpbHRpbi9icmFuY2guYzo4MjkKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKIG1zZ3N0ciAiZGkgY2h1eeG7g24gaGF5IMSR4buVaSB0w6puIG3hu5l0IG5ow6FuaCB2w6AgcmVmbG9nIGPhu6dhIG7DsyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMwCiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAiZGkgY2h1eeG7g24gaG/hurdjIMSR4buVaSB0w6puIG3hu5l0IG5ow6FuaCwgdGjhuq1tIGNow60gY+G6oyBraGkgxJHDrWNoIMSRw6MgY8OzIHPhurVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyNQorIzogYnVpbHRpbi9icmFuY2guYzo4MzEKIG1zZ2lkICJsaXN0IGJyYW5jaCBuYW1lcyIKIG1zZ3N0ciAibGnhu4d0IGvDqiBjw6FjIHTDqm4gbmjDoW5oIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyNgorIzogYnVpbHRpbi9icmFuY2guYzo4MzIKIG1zZ2lkICJjcmVhdGUgdGhlIGJyYW5jaCdzIHJlZmxvZyIKIG1zZ3N0ciAidOG6oW8gcmVmbG9nIGPhu6dhIG5ow6FuaCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM0CiBtc2dpZCAiZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2giCiBtc2dzdHIgInPhu61hIG3DtCB04bqjIGNobyBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI5CisjOiBidWlsdGluL2JyYW5jaC5jOjgzNQogbXNnaWQgImZvcmNlIGNyZWF0aW9uICh3aGVuIGFscmVhZHkgZXhpc3RzKSIKIG1zZ3N0ciAiw6lwIGJ14buZYyB04bqhbyAoa2hpIMSRw6Mgc+G6tW4gdOG7k24gdOG6oWkgcuG7k2kpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzMgorIzogYnVpbHRpbi9icmFuY2guYzo4MzgKIG1zZ2lkICJwcmludCBvbmx5IG5vdCBtZXJnZWQgYnJhbmNoZXMiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBjw6FjIG5ow6FuaCBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ0CiBtc2dpZCAicHJpbnQgb25seSBtZXJnZWQgYnJhbmNoZXMiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBjw6FjIG5ow6FuaCDEkcaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ4CiBtc2dpZCAibGlzdCBicmFuY2hlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJsaeG7h3Qga8OqIGPDoWMgbmjDoW5oIHRyb25nIGPDoWMgY+G7mXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODU1CisjOiBidWlsdGluL2JyYW5jaC5jOjg2MQogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgcGjDom4gZ2nhuqNpIEhFQUQgbmjGsCBsw6AgbeG7mXQgdGhhbSBjaGnhur91IChyZWYpIGjhu6NwIGzhu4cuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg2MCBidWlsdGluL2Nsb25lLmM6NjMwCisjOiBidWlsdGluL2JyYW5jaC5jOjg2NiBidWlsdGluL2Nsb25lLmM6NjI5CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSBIRUFEIOG7nyBkxrDhu5tpIHJlZnMvaGVhZHMhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg4MworIzogYnVpbHRpbi9icmFuY2guYzo4OTAKIG1zZ2lkICItLWNvbHVtbiBhbmQgLS12ZXJib3NlIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tY29sdW1uIHbDoCAtLXZlcmJvc2UgeHVuZyBraOG6r2MgbmhhdSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4ODkgYnVpbHRpbi9icmFuY2guYzo5MjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODk2IGJ1aWx0aW4vYnJhbmNoLmM6OTM1CiBtc2dpZCAiYnJhbmNoIG5hbWUgcmVxdWlyZWQiCiBtc2dzdHIgImPhuqduIHTDqm4gbmjDoW5oIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkwNAorIzogYnVpbHRpbi9icmFuY2guYzo5MTEKIG1zZ2lkICJDYW5ub3QgZ2l2ZSBkZXNjcmlwdGlvbiB0byBkZXRhY2hlZCBIRUFEIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHGsGEgcmEgbcO0IHThuqMgSEVBRCDEkcOjIHTDoWNoIHLhu51pIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkwOQorIzogYnVpbHRpbi9icmFuY2guYzo5MTYKIG1zZ2lkICJjYW5ub3QgZWRpdCBkZXNjcmlwdGlvbiBvZiBtb3JlIHRoYW4gb25lIGJyYW5jaCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHPhu61hIG3DtCB04bqjIGNobyBuaGnhu4F1IGjGoW4gbeG7mXQgbmjDoW5oIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkxNgorIzogYnVpbHRpbi9icmFuY2guYzo5MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gY29tbWl0IG9uIGJyYW5jaCAnJXMnIHlldC4iCiBtc2dzdHIgIlbhuqtuIGNoxrBhIGNodXnhu4NuIGdpYW8gdHLDqm4gbmjDoW5oIOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGJyYW5jaCBuYW1lZCAnJXMnLiIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBuaMOhbmggbsOgbyBjw7MgdMOqbiDigJwlc+KAnS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTM0CisjOiBidWlsdGluL2JyYW5jaC5jOjk0MQogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIGZvciBhIHJlbmFtZSBvcGVyYXRpb24iCiBtc2dzdHIgInF1w6Egbmhp4buBdSBuaMOhbmggZMOgbmggY2hvIHRoYW8gdMOhYyDEkeG7lWkgdMOqbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTQ2CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gc2V0IG5ldyB1cHN0cmVhbSIKLW1zZ3N0ciAicXXDoSBuaGnhu4F1IG5ow6FuaCDEkcaw4bujYyDEkeG6t3QgY2hvIGTDsm5nIG5nxrDhu6NjICh1cHN0cmVhbSkgbeG7m2kiCittc2dzdHIgInF1w6Egbmhp4buBdSBuaMOhbmggxJHGsOG7o2MgxJHhurd0IGNobyB0aMaw4bujbmcgbmd14buTbiAodXBzdHJlYW0pIG3hu5tpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk0MworIzogYnVpbHRpbi9icmFuY2guYzo5NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBzZXQgdXBzdHJlYW0gb2YgSEVBRCB0byAlcyB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgogbXNnc3RyICIiCi0ia2jDtG5nIHRo4buDIMSR4bq3dCBkw7JuZyBuZ8aw4bujYyAodXBzdHJlYW0pIGPhu6dhIEhFQUQgdGjDoG5oICVzIGtoaSBtw6AgbsOzIGNo4bqzbmcgY2jhu4kgIgorImtow7RuZyB0aOG7gyDEkeG6t3QgdGjGsOG7o25nIG5ndeG7k24gKHVwc3RyZWFtKSBj4bunYSBIRUFEIHRow6BuaCAlcyBraGkgbcOgIG7DsyBjaOG6s25nIGNo4buJICIKICLEkeG6v24gbmjDoW5oIG7DoG8gY+G6oy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTQ2IGJ1aWx0aW4vYnJhbmNoLmM6OTY4IGJ1aWx0aW4vYnJhbmNoLmM6OTkwCisjOiBidWlsdGluL2JyYW5jaC5jOjk1MyBidWlsdGluL2JyYW5jaC5jOjk3NSBidWlsdGluL2JyYW5jaC5jOjk5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaCAnJXMnIgogbXNnc3RyICJraMO0bmcgY8OzIG5ow6FuaCBuw6BvIG5oxrAgdGjhur8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTUwCisjOiBidWlsdGluL2JyYW5jaC5jOjk1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAibmjDoW5oIOKAnCVz4oCdIGNoxrBhIHPhurVuIGPDsyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTY5CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gdW5zZXQgdXBzdHJlYW0iCiBtc2dzdHIgInF1w6Egbmhp4buBdSBuaMOhbmggxJHhu4MgYuG7jyDEkeG6t3QgbmfGsOG7o2MgZMOybmcgKHVwc3RyZWFtKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTczCiBtc2dpZCAiY291bGQgbm90IHVuc2V0IHVwc3RyZWFtIG9mIEhFQUQgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiIgogImtow7RuZyB0aOG7gyBi4buPIMSR4bq3dCBuZ8aw4bujYyBkw7JuZyAodXBzdHJlYW0pIGPhu6dhIEhFQUQga2jDtG5nIGNo4buJIMSR4bq/biBt4buZdCBuaMOhbmggbsOgbyAiCiAiY+G6oy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTcyCisjOiBidWlsdGluL2JyYW5jaC5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBoYXMgbm8gdXBzdHJlYW0gaW5mb3JtYXRpb24iCiBtc2dzdHIgIk5ow6FuaCDigJwlc+KAnSBraMO0bmcgY8OzIHRow7RuZyB0aW4gdGjGsOG7o25nIG5ndeG7k24gKHVwc3RyZWFtKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5ODcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTk0CiBtc2dpZCAiaXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBjcmVhdGUgJ0hFQUQnIG1hbnVhbGx5IgogbXNnc3RyICJraMO0bmcgaOG7o3AgbMO9IGtoaSB04bqhbyDigJxIRUFE4oCdIHRo4bunIGPDtG5nICIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5OTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAwMAogbXNnaWQgIi1hIGFuZCAtciBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgbWFrZSBzZW5zZSB3aXRoIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIiIKICJoYWkgdMO5eSBjaOG7jW4gLWEgdsOgIC1yIMOhcCBk4bulbmcgY2hvIGzhu4duaCDigJxnaXQgYnJhbmNo4oCdIGtow7RuZyBo4bujcCBsw70gxJHhu5FpIHbhu5tpIHTDqm4gIgogIm5ow6FuaCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5OTYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC0tc2V0LXVwc3RyZWFtIGZsYWcgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBDb25zaWRlciB1c2luZyAtLSIKQEAgLTI5NzQsNyArMzE1MSw3IEBACiAiQ+G7nSAtLXNldC11cHN0cmVhbSBi4buLIHBo4bqjbiDEkeG7kWkgdsOgIHPhur0gYuG7iyB4w7NhIGLhu48uIE7Dqm4gZMO5bmcgLS10cmFjayBob+G6t2MgLS1zZXQtIgogInVwc3RyZWFtLXRvXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAxMworIzogYnVpbHRpbi9icmFuY2guYzoxMDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTI5ODUsMTIgKzMxNjIsMTIgQEAKICJO4bq/dSBi4bqhbiBtdeG7kW4g4oCcJXPigJ0gdGhlbyBkw7VpIOKAnCVz4oCdLCB0aOG7sWMgaGnhu4duIGzhu4duaCBzYXU6XG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAxNAorIzogYnVpbHRpbi9icmFuY2guYzoxMDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICBnaXQgYnJhbmNoIC1kICVzXG4iCiBtc2dzdHIgIiAgICBnaXQgYnJhbmNoIC1kICVzXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAxNQorIzogYnVpbHRpbi9icmFuY2guYzoxMDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvICVzXG4iCiBtc2dzdHIgIiAgICBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvICVzXG4iCkBAIC0zMDA4LDQ0ICszMTg1LDQ0IEBACiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gdW5idW5kbGUuIgogbXNnc3RyICJD4bqnbiBt4buZdCBraG8gY2jhu6lhIMSR4buDIG3DoCBidW5nIG3hu5l0IGJ1bmRsZS4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzoyODUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMTIKIG1zZ2lkICJnaXQgY2F0LWZpbGUgKC10fC1zfC1lfC1wfDx0eXBlPnwtLXRleHRjb252KSA8b2JqZWN0PiIKIG1zZ3N0ciAiZ2l0IGNhdC1maWxlICgtdHwtc3wtZXwtcHw8a2nhu4N1PnwtLXRleHRjb252KSA8xJHhu5FpIHTGsOG7o25nPiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjI4NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMxMwogbXNnaWQgImdpdCBjYXQtZmlsZSAoLS1iYXRjaHwtLWJhdGNoLWNoZWNrKSA8IDxsaXN0X29mX29iamVjdHM+IgogbXNnc3RyICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2h8LS1iYXRjaC1jaGVjaykgPCA8ZGFuaC1zw6FjaC3EkeG7kWktdMaw4bujbmc+IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzIzCisjOiBidWlsdGluL2NhdC1maWxlLmM6MzUwCiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogbXNnc3RyICI8a2nhu4N1PiBsw6AgbeG7mXQgdHJvbmcgc+G7kTogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjQKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNTEKIG1zZ2lkICJzaG93IG9iamVjdCB0eXBlIgogbXNnc3RyICJoaeG7g24gdGjhu4sga2nhu4N1IMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMyNQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM1MgogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBrw61jaCB0aMaw4bubYyDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNTQKIG1zZ2lkICJleGl0IHdpdGggemVybyB3aGVuIHRoZXJlJ3Mgbm8gZXJyb3IiCiBtc2dzdHIgInRob8OhdCB24bubaSAwIGtoaSBraMO0bmcgY8OzIGzhu5dpIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzI4CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzU1CiBtc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgImluIG7hu5lpIGR1bmcgxJHhu5FpIHTGsOG7o25nIGThuqFuZyBk4buFIMSR4buNYyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMzMAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM1NwogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biB0ZXh0Y29udiBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJ24bubaSDEkeG7kWkgdMaw4bujbmcgYmxvYiwgY2jhuqF5IGzhu4duaCB0ZXh0Y29udiB0csOqbiBu4buZaSBkdW5nIGPhu6dhIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMzMgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM1OQogbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogImhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbDoCBu4buZaSBkdW5nIGPhu6dhIGPDoWMgxJHhu5FpIHTGsOG7o25nIGzhuqV5IHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMzNQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM2MgogbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdGjDtG5nIHRpbiB24buBIMSR4buRaSB0xrDhu6NuZyBmZWQgIHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiIKIApAQCAtMzA3MSwxMCArMzI0OCwxMCBAQAogbXNnc3RyICLEkeG7jWMgdMOqbiB04bqtcCB0aW4gdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgogCiAjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI0Ci1tc2dpZCAiaW5wdXQgcGF0aHMgYXJlIHRlcm1pbmF0ZWQgYnkgYSBudWxsIGNoYXJhY3RlciIKLW1zZ3N0ciAiY8OhYyDEkcaw4budbmcgZOG6q24gxJHGsOG7o2MgIG5nxINuIGPDoWNoIGLhu59pIGvDvSB04buxIG51bGwiCittc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgImNo4bqlbSBk4bupdCBjw6FjIGLhuqNuIGdoaSB2w6BvIHbDoCByYSBi4bqxbmcga8O9IHThu7EgTlVMTCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTA1NCBidWlsdGluL2djLmM6MTc3CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkwIGJ1aWx0aW4vZ2MuYzoyNTkKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgImNo4bq3biBjw6FjIGLDoW8gY8OhbyB0aeG6v24gdHLDrG5oIGhv4bqhdCDEkeG7mW5nIgogCkBAIC0zMDgyLDI3ICszMjU5LDMxIEBACiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBuaOG7r25nIMSRxrDhu51uZyBk4bqrbiDEkeG6p3UgdsOgbyBraMO0bmcga2jhu5twIHbhu5tpIG3huqt1IgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE0MworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOAorbXNnaWQgImlnbm9yZSBpbmRleCB3aGVuIGNoZWNraW5nIgorbXNnc3RyICJi4buPIHF1YSBt4bulYyBs4bulYyBraGkga2nhu4NtIHRyYSIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTQKIG1zZ2lkICJjYW5ub3Qgc3BlY2lmeSBwYXRobmFtZXMgd2l0aCAtLXN0ZGluIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY2jhu4kgxJHhu4tuaCBjw6FjIHTDqm4gxJHGsOG7nW5nIGThuqtuIHbhu5tpIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTQ2CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NwogbXNnaWQgIi16IG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCAtLXN0ZGluIgogbXNnc3RyICIteiBjaOG7iSBo4bujcCBsw70gduG7m2kgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNDgKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU5CiBtc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCi1tc2dzdHIgImNoxrBhIGdoaSByw7UgxJHGsOG7nW5nIGThuqtuIgorbXNnc3RyICJjaMawYSBjaOG7iSByYSDEkcaw4budbmcgZOG6q24iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTUyCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MwogbXNnaWQgIi0tcXVpZXQgaXMgb25seSB2YWxpZCB3aXRoIGEgc2luZ2xlIHBhdGhuYW1lIgogbXNnc3RyICItLXF1aWV0IGNo4buJIGjhu6NwIGzhu4cgduG7m2kgdMOqbiDEkcaw4budbmcgZOG6q24gxJHGoW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU0CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NQogbXNnaWQgImNhbm5vdCBoYXZlIGJvdGggLS1xdWlldCBhbmQgLS12ZXJib3NlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZMO5bmcgY+G6oyBoYWkgdMO5eSBjaOG7jW4gLS1xdWlldCB2w6AgLS12ZXJib3NlIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjgKIG1zZ2lkICItLW5vbi1tYXRjaGluZyBpcyBvbmx5IHZhbGlkIHdpdGggLS12ZXJib3NlIgogbXNnc3RyICJ0w7l5LWNo4buNbiAtLW5vbi1tYXRjaGluZyBjaOG7iSBo4bujcCBs4buHIGtoaSBkw7luZyB24bubaSAtLXZlcmJvc2UiCiAKQEAgLTMxNzYsMTA3ICszMzU3LDEwNyBAQAogbXNnaWQgImdpdCBjaGVja291dCBbb3B0aW9uc10gWzxicmFuY2g+XSAtLSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVja291dCBbY8OhYy10w7l5LWNo4buNbl0gWzxuaMOhbmg+XSAtLSA8dOG6rXAtdGluPi4uLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNyBidWlsdGluL2NoZWNrb3V0LmM6MTUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSBraMO0bmcgY8OzIGPDoWMgcGhpw6puIGLhuqNuIGPhu6dhIGNow7puZyB0YSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOSBidWlsdGluL2NoZWNrb3V0LmM6MTUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgdGhlaXIgdmVyc2lvbiIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIGtow7RuZyBjw7MgY8OhYyBwaGnDqm4gYuG6o24gY+G7p2EgY2jDum5nIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIGFsbCBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSBraMO0bmcgY8OzIHThuqV0IGPhuqMgY8OhYyBwaGnDqm4gYuG6o24gY+G6p24gdGhp4bq/dCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE3OQorIzogYnVpbHRpbi9jaGVja291dC5jOjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSBraMO0bmcgY8OzIGPDoWMgcGhpw6puIGLhuqNuIGPhuqduIHRoaeG6v3QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxOTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnOiBjYW5ub3QgbWVyZ2UiCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDigJwlc+KAnToga2jDtG5nIHRo4buDIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjEzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgbWVyZ2UgcmVzdWx0IGZvciAnJXMnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdGjDqm0ga+G6v3QgcXXhuqMgaMOyYSB0cuG7mW4gY2hvIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjM3IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDAgYnVpbHRpbi9jaGVja291dC5jOjI0MwotIzogYnVpbHRpbi9jaGVja291dC5jOjI0NgorIzogYnVpbHRpbi9jaGVja291dC5jOjIzMiBidWlsdGluL2NoZWNrb3V0LmM6MjM1IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHVwZGF0aW5nIHBhdGhzIgogbXNnc3RyICLigJwlc+KAnSBraMO0bmcgdGjhu4MgxJHGsOG7o2Mgc+G7rSBk4bulbmcgduG7m2kgY8OhYyDEkcaw4budbmcgZOG6q24gY+G6rXAgbmjhuq10IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjQ5IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDQgYnVpbHRpbi9jaGVja291dC5jOjI0NwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCi1tc2dzdHIgIuKAnCVz4oCdIGtow7RuZyB0aOG7gyDEkcaw4bujYyBz4butIGThu6VuZyB24bubaSAlcyIKK21zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHRo4buDIMSRxrDhu6NjIGTDuW5nIGPDuW5nIHbhu5tpICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjU1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLiIKIG1zZ3N0ciAiIgogIktow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgY8OhYyDEkcaw4budbmcgZOG6q24gdsOgIGNodXnhu4NuIMSR4bq/biBuaMOhbmgg4oCcJXPigJ0gY8O5bmcgbeG7mXQgbMO6Yy4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjYgYnVpbHRpbi9jaGVja291dC5jOjQ1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjI2MSBidWlsdGluL2NoZWNrb3V0LmM6NDUxCiBtc2dpZCAiY29ycnVwdCBpbmRleCBmaWxlIgogbXNnc3RyICJ04bqtcCB0aW4gZ2hpIGLhuqNuZyBt4bulYyBs4bulYyBi4buLIGjhu49uZyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjMyOSBidWlsdGluL2NoZWNrb3V0LmM6MzM2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzIyIGJ1aWx0aW4vY2hlY2tvdXQuYzozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGlzIHVubWVyZ2VkIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24g4oCcJXPigJ0ga2jDtG5nIMSRxrDhu6NjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NDgwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDczCiBtc2dpZCAieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCiBtc2dzdHIgImLhuqFuIGPhuqduIHBo4bqjaSBwaMOibiBnaeG6o2kgYuG6o25nIG3hu6VjIGzhu6VjIGhp4buHbiB04bqhaSBj4bunYSBi4bqhbiB0csaw4bubYyDEkcOjIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjAxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnXG4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIHJlZmxvZyBjaG8g4oCcJXPigJ1cbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYzOQorIzogYnVpbHRpbi9jaGVja291dC5jOjYzMgogbXNnaWQgIkhFQUQgaXMgbm93IGF0IgogbXNnc3RyICJIRUFEIGhp4buHbiBnaeG7nSB04bqhaSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY0NgorIzogYnVpbHRpbi9jaGVja291dC5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLEkOG6t3QgbOG6oWkgbmjDoW5oIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWxyZWFkeSBvbiAnJXMnXG4iCiBtc2dzdHIgIsSQw6Mgc+G6tW4gc8OgbmcgdHLDqm4g4oCcJXPigJ1cbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY1MworIzogYnVpbHRpbi9jaGVja291dC5jOjY0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAixJDDoyBjaHV54buDbiB04bubaSB2w6AgcmVzZXQgbmjDoW5oIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NTUgYnVpbHRpbi9jaGVja291dC5jOjk5NworIzogYnVpbHRpbi9jaGVja291dC5jOjY0OCBidWlsdGluL2NoZWNrb3V0LmM6MTAzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLEkMOjIGNodXnhu4NuIMSR4bq/biBuaMOhbmggbeG7m2kg4oCcJXPigJ1cbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY1NworIzogYnVpbHRpbi9jaGVja291dC5jOjY1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLEkMOjIGNodXnhu4NuIMSR4bq/biBuaMOhbmgg4oCcJXPigJ1cbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjcxMworIzogYnVpbHRpbi9jaGVja291dC5jOjcwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgLi4uIGFuZCAlZCBtb3JlLlxuIgogbXNnc3RyICIgLi4uIHbDoCBuaGnhu4F1IGjGoW4gJWQuXG4iCiAKICMuIFRoZSBzaW5ndWxhciB2ZXJzaW9uCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzE5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtMzMwMSw3ICszNDgyLDcgQEAKICJcbiIKICIlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIHRoZW0gYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgpAQCAtMzMxNywxMzggKzM0OTgsMTQyIEBACiAiIGdpdCBicmFuY2ggdMOqbl9uaMOhbmhfbeG7m2kgJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc2NworIzogYnVpbHRpbi9jaGVja291dC5jOjc2MAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgImzhu5dpIG7hu5lpIGLhu5kgdHJvbmcga2hpIGRpIGNodXnhu4NuIHF1YSBjw6FjIMSRaeG7g20geMOpdCBkdXnhu4d0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzcxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzY0CiBtc2dpZCAiUHJldmlvdXMgSEVBRCBwb3NpdGlvbiB3YXMiCiBtc2dzdHIgIlbhu4sgdHLDrSBr4bq/IHRyxrDhu5tjIGPhu6dhIEhFQUQgbMOgIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk4IGJ1aWx0aW4vY2hlY2tvdXQuYzo5OTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTEgYnVpbHRpbi9jaGVja291dC5jOjEwMjgKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJC4bqhbiB04bqhaSBuaMOhbmggbcOgIG7DsyBjaMawYSBo4buBIMSRxrDhu6NjIHNpbmggcmEiCiAKLSMuIGNhc2UgKDEpCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTI4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgorbXNnc3RyICJjaOG7iSBj4bqnbiBt4buZdCB0aGFtIGNoaeG6v3UsIG5oxrBuZyBs4bqhaSDEkcawYSByYSAlZC4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCByZWZlcmVuY2U6ICVzIgogbXNnc3RyICJ0aGFtIGNoaeG6v3Ugc2FpOiAlcyIKIAogIy4gY2FzZSAoMSk6IHdhbnQgYSB0cmVlCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCiBtc2dzdHIgInRoYW0gY2hp4bq/dSBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBjw6J5ICh0cmVlKTolcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQyCiBtc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgImPDoWMgxJHGsOG7nW5nIGThuqtuIGtow7RuZyB0aOG7gyBkw7luZyBjw7luZyB24bubaSBjw6FjIG5ow6FuaCBjaHV54buDbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDkgYnVpbHRpbi9jaGVja291dC5jOjEwMTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQ1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIuKAnCVz4oCdIGtow7RuZyB0aOG7gyDEkcaw4bujYyBz4butIGThu6VuZyB24bubaSBjw6FjIG5ow6FuaCBjaHV54buDbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTcgYnVpbHRpbi9jaGVja291dC5jOjEwMjAgYnVpbHRpbi9jaGVja291dC5jOjEwMjUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDI4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1MyBidWlsdGluL2NoZWNrb3V0LmM6MTA1NiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciCiBtc2dzdHIgIuKAnCVz4oCdIGtow7RuZyB0aOG7gyDEkcaw4bujYyBz4butIGThu6VuZyB24bubaSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMzMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgY2h1eeG7g24gbmjDoW5oIMSR4bq/biBt4buZdCBub24tY29tbWl0IOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1NSBidWlsdGluL2NoZWNrb3V0LmM6MTA1NyBidWlsdGluL2Nsb25lLmM6ODkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkzIGJ1aWx0aW4vY2xvbmUuYzo4OAogIzogYnVpbHRpbi9yZW1vdGUuYzoxNjkgYnVpbHRpbi9yZW1vdGUuYzoxNzEKIG1zZ2lkICJicmFuY2giCiBtc2dzdHIgIm5ow6FuaCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkyCiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgInThuqFvIHbDoCBjaGVja291dCBt4buZdCBuaMOhbmggbeG7m2kiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NAogbXNnaWQgImNyZWF0ZS9yZXNldCBhbmQgY2hlY2tvdXQgYSBicmFuY2giCiBtc2dzdHIgImNyZWF0ZS9yZXNldCB2w6AgY2hlY2tvdXQgbeG7mXQgbmjDoW5oIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1OQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTUKIG1zZ2lkICJjcmVhdGUgcmVmbG9nIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICJ04bqhbyByZWZsb2cgY2hvIG5ow6FuaCBt4bubaSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk2CiBtc2dpZCAiZGV0YWNoIHRoZSBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKIG1zZ3N0ciAicuG7nWkgYuG7jyBIRUFEIHThuqFpIGzhuqduIGNodXnhu4NuIGdpYW8gZGFuaCBuZ2jEqWEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NwogbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICLEkeG6t3QgdGjDtG5nIHRpbiB0aMaw4bujbmcgbmd14buTbiAodXBzdHJlYW0pIGNobyBuaMOhbmggbeG7m2kiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5OQogbXNnaWQgIm5ldyBicmFuY2giCiBtc2dzdHIgIm5ow6FuaCBt4bubaSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk5CiBtc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgogbXNnc3RyICJuaMOhbmggbeG7kyBjw7RpIG3hu5tpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NAorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDAKIG1zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgIiIKICJs4bqleSByYSAoY2hlY2tvdXQpIHBoacOqbiBi4bqjbiBj4bunYSBjaMO6bmcgdGEgY2hvIGPDoWMgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDIKIG1zZ2lkICJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAiIgogImzhuqV5IHJhIChjaGVja291dCkgcGhpw6puIGLhuqNuIGPhu6dhIGNow7puZyBo4buNIGNobyBjw6FjIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA0CiBtc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCiBtc2dzdHIgIsOpcCBideG7mWMgbOG6pXkgcmEgKGNoZWNrb3V0KSAoYuG7jyDEkWkgbmjhu69uZyB0aGF5IMSR4buVaSBu4buZaSBi4buZKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA1CiBtc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCiBtc2dzdHIgInRo4buxYyBoaeG7h24gaMOyYSB0cuG7mW4ga2nhu4N1IDMtd2F5IHbhu5tpIG5ow6FuaCBt4bubaSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzAgYnVpbHRpbi9tZXJnZS5jOjIzMgorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDYgYnVpbHRpbi9tZXJnZS5jOjIzMgogbXNnaWQgInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIKIG1zZ3N0ciAiY+G6rXAgbmjhuq10IGPDoWMgdOG6rXAgdGluIGLhu4sgYuG7jyBxdWEgKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3MSBidWlsdGluL2xvZy5jOjEyMDggcGFyc2Utb3B0aW9ucy5oOjI0OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDcgYnVpbHRpbi9sb2cuYzoxMjI4IHBhcnNlLW9wdGlvbnMuaDoyNTEKIG1zZ2lkICJzdHlsZSIKIG1zZ3N0ciAia2nhu4N1IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDgKIG1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgogbXNnc3RyICJ4dW5nIMSR4buZdCBraeG7g3UgKGjDsmEgdHLhu5luIGhheSBkaWZmMykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTExMQogbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKIG1zZ3N0ciAia2jDtG5nIGdp4bubaSBo4bqhbiBwYXRoc3BlY3MgY2jhu4kgdGjDoG5oIGPDoWMgbeG7pWMgdGjGsGEgdGjhu5t0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3NworIzogYnVpbHRpbi9jaGVja291dC5jOjExMTMKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCBuby1zdWNoLWJyYW5jaCciCiBtc2dzdHIgImfhu6NpIMO9IHRo4bupIGhhaSDigJxnaXQgY2hlY2tvdXQga2jDtG5nLW5ow6FuaC1uw6BvLW5oxrAtduG6rXnigJ0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNgogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKLW1zZ3N0ciAiVMO5eSBjaOG7jW4gLWJ8LUIgdsOgIC0tb3JwaGFuIGxv4bqhaSB04burIGzhuqtuIG5oYXUiCittc2dzdHIgIlTDuXkgY2jhu41uIC1iLCAtQiB2w6AgLS1vcnBoYW4gbG/huqFpIHThu6sgbOG6q24gbmhhdSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUzCiBtc2dpZCAiLS10cmFjayBuZWVkcyBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICItLXRyYWNrIGPhuqduIHTDqm4gbeG7mXQgbmjDoW5oIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEyNQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKIG1zZ2lkICJNaXNzaW5nIGJyYW5jaCBuYW1lOyB0cnkgLWIiCiBtc2dzdHIgIlRoaeG6v3UgdMOqbiBuaMOhbmg7IGjDo3kgdGjhu60gLWIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5NwogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24gxJHDoyBjaG8ga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuXG4iCkBAIC0zNDU4LDEyICszNjQzLDEyIEBACiAiQuG6oW4gxJHDoyBjw7Mgw70gxJHhu4tuaCBjaGVja291dCDigJwlc+KAnSBjw6FpIG3DoCBraMO0bmcgdGjhu4MgxJHGsOG7o2MgcGjDom4gZ2nhuqNpIG5oxrAgbMOgIGzhuqduICIKICJjaHV54buDbiBnaWFvIChjb21taXQpPyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBraMO0bmcgbmjhuq1uIG3hu5l0IMSR4buRaSBz4buRIMSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjEzCiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgpAQCAtMzQ3MSwzOCArMzY1NiwzOCBAQAogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIHbDoCAtLW1lcmdlIGzDoCB4dW5nIGto4bqvYyB24bubaSBuaGF1IGtoaVxuIgogImNoZWNrb3V0IGLhuqNuZyBt4bulYyBs4bulYyAoaW5kZXgpLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI1CisjOiBidWlsdGluL2NsZWFuLmM6MjYKIG1zZ2lkICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPHBhdHRlcm4+XSBbLXggfCAtWF0gWy0tXSA8cGF0aHM+Li4uIgogbXNnc3RyICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPG3huqt1Pl0gWy14IHwgLVhdIFstLV0gPMSRxrDhu51uZy1k4bqrbj4uLi4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOQorIzogYnVpbHRpbi9jbGVhbi5jOjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzXG4iCiBtc2dzdHIgIsSQYW5nIGfhu6EgYuG7jyAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzAKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMQogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCByZW1vdmUgJXNcbiIKIG1zZ3N0ciAiQ8OzIHRo4buDIGfhu6EgYuG7jyAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzEKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMgogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIsSQYW5nIGLhu48gcXVhIGtobyBjaOG7qWEgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMyCisjOiBidWlsdGluL2NsZWFuLmM6MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgc2tpcCByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIk7Dqm4gYuG7jyBxdWEga2hvIGNo4bupYSAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzMKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ+G7oSBi4buPICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjkzCisjOiBidWlsdGluL2NsZWFuLmM6Mjk0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgogIjEgICAgICAgICAgLSBzZWxlY3QgYSBudW1iZXJlZCBpdGVtXG4iCkBAIC0zNTE0LDcgKzM2OTksNyBAQAogImZvbyAgICAgICAgLSBjaOG7jW4gbeG7pWMgdHLDqm4gY8ahIHPhu58gdGnhu4FuIHThu5EgZHV5IG5o4bqldFxuIgogIiAgICAgICAgICAgLSAodHLhu5FuZyBy4buXbmcpIGtow7RuZyBjaOG7jW4gZ8OsIGPhuqMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTcKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyOTgKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCiAiMSAgICAgICAgICAtIHNlbGVjdCBhIHNpbmdsZSBpdGVtXG4iCkBAIC0zNTM0LDM1ICszNzE5LDM1IEBACiAiKiAgICAgICAgICAtIGNo4buNbiB04bqldFxuIgogIiAgICAgICAgICAgLSAodHLhu5FuZyBy4buXbmcpIGvhur90IHRow7pjIHZp4buHYyBjaOG7jW4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo1MTUKKyM6IGJ1aWx0aW4vY2xlYW4uYzo1MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVoICglcyk/IgogbXNnc3RyICJI4bqjICglcyk/IgogCi0jOiBidWlsdGluL2NsZWFuLmM6NjU4CisjOiBidWlsdGluL2NsZWFuLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIklucHV0IGlnbm9yZSBwYXR0ZXJucz4+ICIKIG1zZ3N0ciAiTeG6q3UgxJHhu4MgbOG7jWMgY8OhYyB04bqtcCB0aW4gY+G6p24gbOG7nSDEkWkgxJHhuqd1IHbDoG8+PiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY5NQorIzogYnVpbHRpbi9jbGVhbi5jOjY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJXQVJOSU5HOiBDYW5ub3QgZmluZCBpdGVtcyBtYXRjaGVkIGJ5OiAlcyIKIG1zZ3N0ciAiQ+G6ok5IIELDgU86IEtow7RuZyB0w6xtIHRo4bqleSBjw6FjIG3hu6VjIMSRxrDhu6NjIGto4bubcCBi4bufaTogJXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3MTYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3MTcKIG1zZ2lkICJTZWxlY3QgaXRlbXMgdG8gZGVsZXRlIgogbXNnc3RyICJDaOG7jW4gbeG7pWMgbXXhu5FuIHjDs2EiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3NTYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3ZlICVzPyAiCiBtc2dzdHIgImfhu6EgYuG7jyDigJwlc+KAnT8iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3ODIKIG1zZ2lkICJCeWUuIgogbXNnc3RyICJU4bqhbSBiaeG7h3QuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Nzg5CisjOiBidWlsdGluL2NsZWFuLmM6NzkwCiBtc2dpZCAiIgogImNsZWFuICAgICAgICAgICAgICAgLSBzdGFydCBjbGVhbmluZ1xuIgogImZpbHRlciBieSBwYXR0ZXJuICAgLSBleGNsdWRlIGl0ZW1zIGZyb20gZGVsZXRpb25cbiIKQEAgLTM1ODAsMjEgKzM3NjUsMjEgQEAKICJoZWxwICAgICAgICAgICAgICAgIC0gaGnhu4NuIHRo4buLIGNow61uaCB0cuG7oyBnacO6cCBuw6B5XG4iCiAiPyAgICAgICAgICAgICAgICAgICAtIHRy4bujIGdpw7pwIGTDoG5oIGNobyBjaOG7jW4gYuG6sW5nIGPDoWNoIG5o4bqvYyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxNgorIzogYnVpbHRpbi9jbGVhbi5jOjgxNwogbXNnaWQgIioqKiBDb21tYW5kcyAqKioiCiBtc2dzdHIgIioqKiBM4buHbmggKioqIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODE3CisjOiBidWlsdGluL2NsZWFuLmM6ODE4CiBtc2dpZCAiV2hhdCBub3ciCiBtc2dzdHIgIkdp4budIHRow6wgc2FvIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODI1CisjOiBidWlsdGluL2NsZWFuLmM6ODI2CiBtc2dpZCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbToiCiBtc2dpZF9wbHVyYWwgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW1zOiIKIG1zZ3N0clswXSAiQ8OzIG114buRbiBn4buhIGLhu48gbeG7pWMgc2F1IMSRw6J5IGtow7RuZzoiCiBtc2dzdHJbMV0gIkPDsyBtdeG7kW4gZ+G7oSBi4buPIGPDoWMgbeG7pWMgc2F1IMSRw6J5IGtow7RuZzoiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NDIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NDMKIG1zZ2lkICJObyBtb3JlIGZpbGVzIHRvIGNsZWFuLCBleGl0aW5nLiIKIG1zZ3N0ciAiS2jDtG5nIGPDsm4gdOG6rXAtdGluIG7DoG8gxJHhu4MgZOG7jW4gZOG6uXAsIMSRYW5nIHRob8OhdCByYS4iCiAKQEAgLTM2MTQsOCArMzc5OSw4IEBACiBtc2dpZCAicmVtb3ZlIHdob2xlIGRpcmVjdG9yaWVzIgogbXNnc3RyICJn4buhIGLhu48gdG/DoG4gYuG7mSB0aMawIG3hu6VjIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODgwIGJ1aWx0aW4vZGVzY3JpYmUuYzo0MjAgYnVpbHRpbi9ncmVwLmM6NzE2Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDkzIGJ1aWx0aW4vbmFtZS1yZXYuYzozMTUgYnVpbHRpbi9zaG93LXJlZi5jOjE4NgorIzogYnVpbHRpbi9jbGVhbi5jOjg4MCBidWlsdGluL2Rlc2NyaWJlLmM6NDIwIGJ1aWx0aW4vZ3JlcC5jOjcxOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MyBidWlsdGluL25hbWUtcmV2LmM6MzE1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODUKIG1zZ2lkICJwYXR0ZXJuIgogbXNnc3RyICJt4bqrdSIKIApAQCAtMzY1NSw4ICszODQwLDggQEAKIG1zZ2lkICJnaXQgY2xvbmUgW29wdGlvbnNdIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBbY8OhYy10w7l5LWNo4buNbl0gWy0tXSA8a2hvPiBbPHQubeG7pWM+XSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY0IGJ1aWx0aW4vZmV0Y2guYzo4MiBidWlsdGluL21lcmdlLmM6MjI5Ci0jOiBidWlsdGluL3B1c2guYzo0NjIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NCBidWlsdGluL2ZldGNoLmM6OTYgYnVpbHRpbi9tZXJnZS5jOjIyOQorIzogYnVpbHRpbi9wdXNoLmM6NDc0CiBtc2dpZCAiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICLDqXAgYnXhu5ljIGLDoW8gY8OhbyB0aeG6v24gdHLDrG5oIgogCkBAIC0zNjY2LDEyNSArMzg1MSwxMjUgQEAKIAogIzogYnVpbHRpbi9jbG9uZS5jOjY3IGJ1aWx0aW4vY2xvbmUuYzo2OSBidWlsdGluL2luaXQtZGIuYzo0ODgKIG1zZ2lkICJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiCi1tc2dzdHIgInThuqFvIGtobyBjaOG7qWEgYmFyZSIKK21zZ3N0ciAidOG6oW8ga2hvIHRodeG6p24gKGJhcmUpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MQogbXNnaWQgImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIgogbXNnc3RyICJ04bqhbyBraG8gYuG6o24gc2FvIChtaXJyb3IpIChuZ+G7pSDDvSBsw6AgYmFyZSkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NAorIzogYnVpbHRpbi9jbG9uZS5jOjczCiBtc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIsSR4buDIG5ow6JuIGLhuqNuIHThu6sga2hvIG7hu5lpIGLhu5kiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NgorIzogYnVpbHRpbi9jbG9uZS5jOjc1CiBtc2dpZCAiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiCiBtc2dzdHIgImtow7RuZyBz4butIGThu6VuZyBsacOqbiBr4bq/dCBj4bupbmcgbuG7mWkgYuG7mSwgbHXDtG4gc2FvIGNow6lwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NwogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICJjw6BpIMSR4bq3dCDEkcOieSBsw6Aga2hvIGNoaWEgc+G6uyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgwIGJ1aWx0aW4vY2xvbmUuYzo4MgorIzogYnVpbHRpbi9jbG9uZS5jOjc5IGJ1aWx0aW4vY2xvbmUuYzo4MQogbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCiBtc2dzdHIgImto4bufaSB04bqhbyBtw7QtxJF1bi1jb24gdHJvbmcgYuG6o24gc2FvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDg1CisjOiBidWlsdGluL2Nsb25lLmM6ODIgYnVpbHRpbi9pbml0LWRiLmM6NDg1CiBtc2dpZCAidGVtcGxhdGUtZGlyZWN0b3J5IgogbXNnc3RyICJ0aMawLW3hu6VjLXThuqFtIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODQgYnVpbHRpbi9pbml0LWRiLmM6NDg2CisjOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDg2CiBtc2dpZCAiZGlyZWN0b3J5IGZyb20gd2hpY2ggdGVtcGxhdGVzIHdpbGwgYmUgdXNlZCIKIG1zZ3N0ciAidGjGsCBt4bulYyBtw6AgdOG6oWkgxJHDsyBjw6FjIG3huqt1IHPhur0gxJHGsOG7o2MgZMO5bmciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NgorIzogYnVpbHRpbi9jbG9uZS5jOjg1CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImtobyB0aGFtIGNoaeG6v3UiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NyBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CisjOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAogbXNnaWQgIm5hbWUiCiBtc2dzdHIgInTDqm4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OAorIzogYnVpbHRpbi9jbG9uZS5jOjg3CiBtc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgogbXNnc3RyICJkw7luZyA8dMOqbj4gdGhheSB2w6wg4oCcb3JpZ2lu4oCdIMSR4buDIHRoZW8gZMO1aSB0aMaw4bujbmcgbmd14buTbiAodXB0cmVhbSkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MAorIzogYnVpbHRpbi9jbG9uZS5jOjg5CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKIG1zZ3N0ciAibOG6pXkgcmEgbmjDoW5oIChjaGVja291dCA8bmjDoW5oPikgdGhheSB2w6wgSEVBRCBj4bunYSBtw6F5IGNo4bunIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MQogbXNnaWQgInBhdGggdG8gZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUiCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDEkeG6v24gZ2l0LXVwbG9hZC1wYWNrIHRyw6puIG3DoXkgY2jhu6ciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MyBidWlsdGluL2ZldGNoLmM6ODMgYnVpbHRpbi9ncmVwLmM6NjYxCisjOiBidWlsdGluL2Nsb25lLmM6OTIgYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vZ3JlcC5jOjY2MwogbXNnaWQgImRlcHRoIgogbXNnc3RyICLEkeG7mSBzw6J1IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MwogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgb2YgdGhhdCBkZXB0aCIKIG1zZ3N0ciAidOG6oW8gYuG6o24gc2FvIGtow7RuZyDEkeG6p3kgxJHhu6cgY2hvIG3hu6ljIHPDonUgxJHDoyBjaG8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NgorIzogYnVpbHRpbi9jbG9uZS5jOjk1CiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICJuaMOibiBi4bqjbiAoY2xvbmUpIGNo4buJIG3hu5l0IG5ow6FuaCwgSEVBRCBob+G6t2MgLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NyBidWlsdGluL2luaXQtZGIuYzo0OTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NiBidWlsdGluL2luaXQtZGIuYzo0OTQKIG1zZ2lkICJnaXRkaXIiCiBtc2dzdHIgImdpdGRpciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NQorIzogYnVpbHRpbi9jbG9uZS5jOjk3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NQogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImtow7RuZyBkw7luZyBjaHVuZyB0aMawIG3hu6VjIGTDoG5oIHJpw6puZyBjaG8gZ2l0IHbDoCB0aMawIG3hu6VjIGzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OAogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAia2jDs2E9Z2nDoSB0cuG7iyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMAorIzogYnVpbHRpbi9jbG9uZS5jOjk5CiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICLEkeG6t3QgY+G6pXUgaMOsbmggYsOqbiB0cm9uZyBt4buZdCBraG8gY2jhu6lhIG3hu5tpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MjUzCisjOiBidWlsdGluL2Nsb25lLmM6MjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCiBtc2dzdHIgImtobyB0aGFtIGNoaeG6v3Ug4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQga2hvIG7hu5lpIGLhu5kuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzE2CisjOiBidWlsdGluL2Nsb25lLmM6MzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgInThuqFvIHRoxrAgbeG7pWMgXCIlc1wiIGfhurdwIGzhu5dpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzE4IGJ1aWx0aW4vZGlmZi5jOjc3CisjOiBidWlsdGluL2Nsb25lLmM6MzE3IGJ1aWx0aW4vZGlmZi5jOjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIHN0YXQgKGzhuqV5IHRy4bqhbmcgdGjDoWkgduG7gSkg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzIHThu5NuIHThuqFpIG5oxrBuZyBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCB0aMawIG3hu6VjIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzM0CisjOiBidWlsdGluL2Nsb25lLmM6MzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCiBtc2dzdHIgImzhu5dpIHN0YXQgKGzhuqV5IHRy4bqhbmcgdGjDoWkgduG7gSkgJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM1NgorIzogYnVpbHRpbi9jbG9uZS5jOjM1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGxpbmsgJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHThuqFvIMSRxrDhu6NjIGxpw6puIGvhur90IG3hu4FtICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzYwCisjOiBidWlsdGluL2Nsb25lLmM6MzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IGZpbGUgdG8gJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGNow6lwIHThuq1wIHRpbiB04bubaSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM4MworIzogYnVpbHRpbi9jbG9uZS5jOjM4MiBidWlsdGluL2Nsb25lLmM6NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvbmUuXG4iCiBtc2dzdHIgImhvw6BuIHThuqV0LlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzk2CisjOiBidWlsdGluL2Nsb25lLmM6Mzk1CiBtc2dpZCAiIgogIkNsb25lIHN1Y2NlZWRlZCwgYnV0IGNoZWNrb3V0IGZhaWxlZC5cbiIKICJZb3UgY2FuIGluc3BlY3Qgd2hhdCB3YXMgY2hlY2tlZCBvdXQgd2l0aCAnZ2l0IHN0YXR1cydcbiIKQEAgLTM3OTQsMTA0ICszOTc5LDk5IEBACiAiQuG6oW4ga2nhu4NtIHRyYSBr4bu5IHhlbSBjw6FpIGfDrCDEkcaw4bujYyBs4bqleSByYSBi4bqxbmcgbOG7h25oIOKAnGdpdCBzdGF0dXPigJ1cbiIKICJ2w6AgdGjhu60gY2hlY2tvdXQgduG7m2kgbOG7h25oIOKAnGdpdCBjaGVja291dCAtZiBIRUFE4oCdXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCiBtc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSBuaMOhbmggbcOheSBjaOG7pyAlcyDEkeG7gyBuaMOibiBi4bqjbiAoY2xvbmUpLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjU1NQorIzogYnVpbHRpbi9jbG9uZS5jOjU1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkuLi4gIgogbXNnc3RyICLEkGFuZyBraeG7g20gdHJhIGvhur90IG7hu5FpLi4uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTU4CisjOiBidWlsdGluL2Nsb25lLmM6NTU3CiBtc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCiBtc2dzdHIgIm3DoXkgY2jhu6cgxJHDoyBraMO0bmcgZ+G7rWkgdOG6pXQgY+G6oyBjw6FjIMSR4buRaSB0xrDhu6NuZyBj4bqnbiB0aGnhur90IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTYwCi0jLCBjLWZvcm1hdAotbXNnaWQgImRvbmVcbiIKLW1zZ3N0ciAieG9uZy5cbiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjYyMQorIzogYnVpbHRpbi9jbG9uZS5jOjYyMAogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAicmVmZXJzIEhFQUQgbcOheSBjaOG7pyAgY2jhu4kgxJHhur9uIHJlZiBraMO0bmcgdOG7k24gdOG6oWksIGtow7RuZyB0aOG7gyBjaGVja291dC5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY1MgorIzogYnVpbHRpbi9jbG9uZS5jOjY1MQogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSByYSAoY2hlY2tvdXQpIGPDonkgbMOgbSB2aeG7h2MiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NTkKIG1zZ2lkICJUb28gbWFueSBhcmd1bWVudHMuIgogbXNnc3RyICJDw7MgcXXDoSBuaGnhu4F1IMSR4buRaSBz4buRLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2NAorIzogYnVpbHRpbi9jbG9uZS5jOjc2MwogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKIG1zZ3N0ciAiQuG6oW4gcGjhuqNpIGNo4buJIMSR4buLbmggbeG7mXQga2hvIMSR4buDIG3DoCBuaMOibiBi4bqjbiAoY2xvbmUpLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc3NQorIzogYnVpbHRpbi9jbG9uZS5jOjc3NAogIywgYy1mb3JtYXQKIG1zZ2lkICItLWJhcmUgYW5kIC0tb3JpZ2luICVzIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgInTDuXkgY2jhu41uIC0tYmFyZSB2w6AgLS1vcmlnaW4gJXMgeHVuZyBraOG6r2MgbmhhdS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NzcKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gLS1iYXJlIHbDoCAtLXNlcGFyYXRlLWdpdC1kaXIgeHVuZyBraOG6r2MgbmhhdS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3OTEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwb3NpdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJraG8gY2jhu6lhIOKAnCVz4oCdIGNoxrBhIHThu5NuIHThuqFpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzk2CisjOiBidWlsdGluL2Nsb25lLmM6Nzk1CiBtc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIi0tZGVwdGggYuG7iyBs4budIMSRaSBraGkgbmjDom4gYuG6o24gbuG7mWkgYuG7mTsgaMOjeSBz4butIGThu6VuZyBmaWxlOi8vIMSR4buDIHRoYXkgdGjhur8uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzk4CisjOiBidWlsdGluL2Nsb25lLmM6Nzk3CiBtc2dpZCAiLS1sb2NhbCBpcyBpZ25vcmVkIgogbXNnc3RyICItLWxvY2FsIGLhu4sgbOG7nSDEkWkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gcGF0aCAnJXMnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYW4gZW1wdHkgZGlyZWN0b3J5LiIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIMSRw61jaCDigJwlc+KAnSDEkcOjIGPDsyB04burIHRyxrDhu5tjIHbDoCBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCB0aMawIG3hu6VjIHLhu5duZy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAid29ya2luZyB0cmVlICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICJjw6J5IGzDoG0gdmnhu4djIOKAnCVz4oCdIMSRw6Mgc+G6tW4gdOG7k24gdOG6oWkgcuG7k2kuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMxIGJ1aWx0aW4vY2xvbmUuYzo4NDMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MzAgYnVpbHRpbi9jbG9uZS5jOjg0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIGPDoWMgdGjGsCBt4bulYyBk4bqrbiDEkeG6p3UgY+G7p2Eg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcycuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gY8OieSB0aMawIG3hu6VjIGzDoG0gdmnhu4djIGRpciDigJwlc+KAnS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NTMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCiBtc2dzdHIgIsSQYW5nIG5ow6JuIGLhuqNuIHRow6BuaCBraG8gY2jhu6lhIGJhcmUg4oCcJXPigJ0uLi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg1NQorIzogYnVpbHRpbi9jbG9uZS5jOjg1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgogbXNnc3RyICLEkGFuZyBuaMOibiBi4bqjbiB0aMOgbmgg4oCcJXPigJ0uLi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5MAorIzogYnVpbHRpbi9jbG9uZS5jOjg4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBjbG9uZSAlcyIKIG1zZ3N0ciAiS2jDtG5nIGJp4bq/dCBsw6BtIGPDoWNoIG7DoG8gxJHhu4MgbmjDom4gYuG6o24gKGNsb25lKSAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0MgorIzogYnVpbHRpbi9jbG9uZS5jOjkzOSBidWlsdGluL2Nsb25lLmM6OTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgogbXNnc3RyICJOaMOhbmggbcOheSBjaOG7pyAlcyBraMO0bmcgdMOsbSB0aOG6pXkgdHJvbmcgdGjGsOG7o25nIG5ndeG7k24gKHVwc3RyZWFtKSAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0OQorIzogYnVpbHRpbi9jbG9uZS5jOjk1MAogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIkLhuqFuIGjDrG5oIG5oxrAgbMOgIMSRw6MgbmjDom4gYuG6o24gbeG7mXQga2hvIHRy4buRbmcgcuG7l25nLiIKIApAQCAtMzkxMywxMSArNDA5MywxMSBAQAogCiAjOiBidWlsdGluL2NvbHVtbi5jOjMwCiBtc2dpZCAiUGFkZGluZyBzcGFjZSBvbiBsZWZ0IGJvcmRlciIKLW1zZ3N0ciAiQ2jDqG4gdGjDqm0ga2hv4bqjbmcgdHLhu5FuZyB2w6BvIGLhu50gYsOqbiB0csOhaSIKK21zZ3N0ciAiQ2jDqG4gdGjDqm0ga2hv4bqjbmcgdHLhu5FuZyB2w6BvIGLDqm4gdHLDoWkiCiAKICM6IGJ1aWx0aW4vY29sdW1uLmM6MzEKIG1zZ2lkICJQYWRkaW5nIHNwYWNlIG9uIHJpZ2h0IGJvcmRlciIKLW1zZ3N0ciAiQ2jDqG4gdGjDqm0ga2hv4bqjbmcgdHLhuq9uZyB2w6BvIHRp4bq/cCBnacOhcCBiw6puIHBo4bqjaSIKK21zZ3N0ciAiQ2jDqG4gdGjDqm0ga2hv4bqjbmcgdHLhuq9uZyB2w6BvIGLDqm4gcGjhuqNpIgogCiAjOiBidWlsdGluL2NvbHVtbi5jOjMyCiBtc2dpZCAiUGFkZGluZyBzcGFjZSBiZXR3ZWVuIGNvbHVtbnMiCkBAIC0zOTI3LDE1ICs0MTA3LDE1IEBACiBtc2dpZCAiLS1jb21tYW5kIG11c3QgYmUgdGhlIGZpcnN0IGFyZ3VtZW50IgogbXNnc3RyICItLWNvbW1hbmQgcGjhuqNpIGzDoCDEkeG7kWkgc+G7kSDEkeG6p3UgdGnDqm4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzYKIG1zZ2lkICJnaXQgY29tbWl0IFtvcHRpb25zXSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBjb21taXQgW2PDoWMtdMO5eS1jaOG7jW5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MAorIzogYnVpbHRpbi9jb21taXQuYzo0MQogbXNnaWQgImdpdCBzdGF0dXMgW29wdGlvbnNdIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IHN0YXR1cyBbY8OhYy10w7l5LWNo4buNbl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjQ2CiBtc2dpZCAiIgogIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgogIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKQEAgLTM5NTksMTEgKzQxMzksMTEgQEAKICIgICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIHlvdUBleGFtcGxlLmNvbVxuIgogIlxuIgogIlNhdSBraGkgdGjhu7FjIGhp4buHbiB4b25nLCBi4bqhbiBjw7MgdGjhu4Mgc+G7rWEgY2jhu69hIMSR4buLbmggZGFuaCDEkcaw4bujYyBz4butIGThu6VuZyBjaG8gbOG6p24gIgotImNodXnhu4NuIGdpYW8gKGNvbW1pdCkgbsOgeSB24bubaSBs4buHbmg6XG4iCisiY2h1eeG7g24gZ2lhbyBuw6B5IHbhu5tpIGzhu4duaDpcbiIKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTgKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIGFtZW5kIHRoZSBtb3N0IHJlY2VudCBjb21taXQsIGJ1dCBkb2luZyBzbyB3b3VsZCBtYWtlXG4iCiAiaXQgZW1wdHkuIFlvdSBjYW4gcmVwZWF0IHlvdXIgY29tbWFuZCB3aXRoIC0tYWxsb3ctZW1wdHksIG9yIHlvdSBjYW5cbiIKQEAgLTM5NzYsNyArNDE1Niw3IEBACiAiaG/hurdjIGzDoCBi4bqhbiBn4buhIGLhu48gY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIG3hu5l0IGPDoWNoIGhvw6BuIHRvw6BuIGLhurFuZyBs4buHbmg6XG4iCiAiXCJnaXQgcmVzZXQgSEVBRF5cIi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MgorIzogYnVpbHRpbi9jb21taXQuYzo2MwogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCkBAIC0zOTkxLDExICs0MTcxLDExIEBACiAiICAgIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eVxuIgogIlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5CisjOiBidWlsdGluL2NvbW1pdC5jOjcwCiBtc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgcmVzZXQnXG4iCiBtc2dzdHIgIk7hur91IGtow7RuZyDEkcaw4bujYyB0aMOsIGTDuW5nIGzhu4duaCBcImdpdCByZXNldFwiXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzMKIG1zZ2lkICIiCiAiSWYgeW91IHdpc2ggdG8gc2tpcCB0aGlzIGNvbW1pdCwgdXNlOlxuIgogIlxuIgpAQCAtNDAxMSw5NyArNDE5MSw5NyBAQAogIlRo4bq/IHRow6wgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHPhur0gcGjhu6VjIGjhu5NpIGzhuqFpIHZp4buHYyBjaGVycnktcGlja1xuIgogIm5o4buvbmcgbOG6p24gY2h1eeG7g24gZ2lhbyBjw7JuIGzhuqFpLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjI3OQorIzogYnVpbHRpbi9jb21taXQuYzoyODcKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB0aMOhbyBk4buhIEhFQUQgxJHhu5FpIHTGsOG7o25nIGPDonkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzIxCisjOiBidWlsdGluL2NvbW1pdC5jOjMyOQogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gYuG6o25nIG3hu6VjIGzhu6VjIHThuqFtIHRo4budaSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzM1CiBtc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKIG1zZ3N0ciAidmnhu4djIHRow6ptIHTGsMahbmcgdMOhYyBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNjAgYnVpbHRpbi9jb21taXQuYzozODEgYnVpbHRpbi9jb21taXQuYzo0MzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzY4IGJ1aWx0aW4vY29tbWl0LmM6Mzg5IGJ1aWx0aW4vY29tbWl0LmM6NDM5CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIHThuq1wIHRpbiBsxrB1IGLhuqNuZyBt4bulYyBs4bulYyBt4bubaSAobmV3X2luZGV4KSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDIwCiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgbWVyZ2UuIgogbXNnc3RyICIiCiAia2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gdmnhu4djIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgY+G7pWMgYuG7mSB0cm9uZyBraGkgxJFhbmcgxJHGsOG7o2MgaMOyYSAiCiAidHLhu5luLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDIyCiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICIiCiAia2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gdmnhu4djIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgYuG7mSBwaOG6rW4gdHJvbmcga2hpIMSRYW5nIGNoZXJyeS0iCiAicGljay4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDI0CisjOiBidWlsdGluL2NvbW1pdC5jOjQzMgogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAia2jDtG5nIMSR4buNYyDEkcaw4bujYyBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDQ0CisjOiBidWlsdGluL2NvbW1pdC5jOjQ1MgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB04bqtcCB0aW4gbMawdSBi4bqjbmcgbeG7pWMgbOG7pWMgdOG6oW0gdGjhu51pIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjUzNSBidWlsdGluL2NvbW1pdC5jOjU0MQorIzogYnVpbHRpbi9jb21taXQuYzo1NDMgYnVpbHRpbi9jb21taXQuYzo1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb21taXQ6ICVzIgogbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIGtow7RuZyBo4bujcCBs4buHOiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTcxCiBtc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKIG1zZ3N0ciAixJHhu5FpIHPhu5EgLS1hdXRob3IgYuG7iyBk4buLIGjDrG5oIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU4MworIzogYnVpbHRpbi9jb21taXQuYzo1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIGlkZW50IHN0cmluZzogJyVzJyIKIG1zZ3N0ciAiQ2h14buXaSB0aOG7pXQgbOG7gSDEkeG6p3UgZMOybmcgZOG7iyBow6xuaDog4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjIxIGJ1aWx0aW4vY29tbWl0LmM6NjU0IGJ1aWx0aW4vY29tbWl0LmM6OTgyCisjOiBidWlsdGluL2NvbW1pdC5jOjYzMCBidWlsdGluL2NvbW1pdC5jOjY2MyBidWlsdGluL2NvbW1pdC5jOjEwMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIGtp4bq/bSBjb21taXQgKGzhuqduIGNodXnhu4NuIGdpYW8pICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYzMyBidWlsdGluL3Nob3J0bG9nLmM6MjcxCisjOiBidWlsdGluL2NvbW1pdC5jOjY0MiBidWlsdGluL3Nob3J0bG9nLmM6MjczCiAjLCBjLWZvcm1hdAogbXNnaWQgIihyZWFkaW5nIGxvZyBtZXNzYWdlIGZyb20gc3RhbmRhcmQgaW5wdXQpXG4iCiBtc2dzdHIgIijEkWFuZyDEkeG7jWMgdGjDtG5nIMSRaeG7h3Agbmjhuq10IGvDvSB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4pXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjM1CisjOiBidWlsdGluL2NvbW1pdC5jOjY0NAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIG5o4bqtdCBrw70gdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYzOQorIzogYnVpbHRpbi9jb21taXQuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIMSR4buNYyDEkcaw4bujYyB04buHcCBuaOG6rXQga8O9IOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY0NQorIzogYnVpbHRpbi9jb21taXQuYzo2NTQKIG1zZ2lkICJjb21taXQgaGFzIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgY8OzIGdoaSBjaMO6IHRy4buRbmcgcuG7l25nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY2MQorIzogYnVpbHRpbi9jb21taXQuYzo2NzAKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NU0ciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgTUVSR0VfTVNHIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY2NQorIzogYnVpbHRpbi9jb21taXQuYzo2NzQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBTUVVBU0hfTVNHIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIFNRVUFTSF9NU0ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjY5CisjOiBidWlsdGluL2NvbW1pdC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jIOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ5CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSBt4bqrdSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQxCisjOiBidWlsdGluL2NvbW1pdC5jOjc2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC00MTE2LDcgKzQyOTYsNyBAQAogIlx0JXNcbiIKICJ2w6AgdGjhu60gbOG6oWkuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ2CisjOiBidWlsdGluL2NvbW1pdC5jOjc2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC00MTMxLDcgKzQzMTEsNyBAQAogIlx0JXNcbiIKICJ2w6AgdGjhu60gbOG6oWkuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzU4CisjOiBidWlsdGluL2NvbW1pdC5jOjc3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtNDE0Miw3ICs0MzIyLDcgQEAKICJi4bqvdCDEkeG6p3UgYuG6sW5nIOKAnCVj4oCdIHPhur0gxJHGsOG7o2MgYuG7jyBxdWEsIG7hur91IHBo4bqnbiBjaMO6IHRow61jaCBy4buXbmcgc+G6vSBo4buneSBi4buPIGzhuqduICIKICJjaHV54buDbiBnaWFvIChjb21taXQpLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc2MworIzogYnVpbHRpbi9jb21taXQuYzo3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTQxNTQsMTQ4ICs0MzM0LDE0OCBAQAogImLhuq90IMSR4bqndSBi4bqxbmcg4oCcJWPigJ0gc+G6vSDEkcaw4bujYyBi4buPIHF1YTsgYuG6oW4gY8OzIHRo4buDIHjDs2EgY2jDum5nIMSRaSBu4bq/dSBtdeG7kW4gdGjhur8uXG4iCiAiUGjhuqduIGNow7ogdGjDrWNoIG7DoHkgbuG6v3UgdHLhu5FuZyBy4buXbmcgc+G6vSBo4buneSBi4buPIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Nzc2CisjOiBidWlsdGluL2NvbW1pdC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0F1dGhvcjogICAgJXMiCiBtc2dzdHIgIiVzVMOhYyBnaeG6ozogICAgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzgzCisjOiBidWlsdGluL2NvbW1pdC5jOjgwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0NvbW1pdHRlcjogJXMiCiBtc2dzdHIgIiVzTmfGsOG7nWkgY2h1eeG7g24gZ2lhbyAoY29tbWl0KTogJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODAzCisjOiBidWlsdGluL2NvbW1pdC5jOjgyMgogbXNnaWQgIkNhbm5vdCByZWFkIGluZGV4IgogbXNnc3RyICJraMO0bmcgxJHhu41jIMSRxrDhu6NjIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODY1CiBtc2dpZCAiRXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB4w6J5IGThu7FuZyBjw6J5IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg2MCBidWlsdGluL3RhZy5jOjM1OQorIzogYnVpbHRpbi9jb21taXQuYzo4ODAgYnVpbHRpbi90YWcuYzozNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgotbXNnc3RyICJYaW4gaMOjeSDDoXAgZOG7pW5nIHRow7RuZyDEkWnhu4dwIHPhu60gZOG7pW5nIGhv4bq3YyBsw6AgdMO5eSBjaOG7jW4gLW0gaG/hurdjIGzDoCAtRi5cbiIKK21zZ3N0ciAiWGluIGjDo3kgY3VuZyBj4bqlcCBs4budaSBjaMO6IGdp4bqjaSBob+G6t2MgbMOgIGTDuW5nIHTDuXkgY2jhu41uIC1tIGhv4bq3YyBsw6AgLUYuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTU3CisjOiBidWlsdGluL2NvbW1pdC5jOjk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBleGlzdGluZyBhdXRob3IgZm91bmQgd2l0aCAnJXMnIgogbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgdMOhYyBnaeG6oyBjw7Mgc+G6tW4gduG7m2kg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTcyIGJ1aWx0aW4vY29tbWl0LmM6MTIwOAorIzogYnVpbHRpbi9jb21taXQuYzo5OTcgYnVpbHRpbi9jb21taXQuYzoxMjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAiQ2jhur8gxJHhu5kgY2hvIGPDoWMgdOG6rXAgdGluIGtow7RuZyBi4buLIHRoZW8gduG6v3Qga2jDtG5nIGjhu6NwIGzhu4cg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAwOQorIzogYnVpbHRpbi9jb21taXQuYzoxMDM0CiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICJoYWkgdMO5eSBjaOG7jW4gLWxvbmcgdsOgIC16IGtow7RuZyB0xrDGoW5nIHRow61jaCB24bubaSBuaGF1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2NAogbXNnaWQgIlVzaW5nIGJvdGggLS1yZXNldC1hdXRob3IgYW5kIC0tYXV0aG9yIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIlPhu60gZOG7pW5nIGPhuqMgaGFpIHTDuXkgY2jhu41uIC0tcmVzZXQtYXV0aG9yIHbDoCAtLWF1dGhvciBraMO0bmcgaOG7o3AgbMO9IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3NQogbXNnaWQgIllvdSBoYXZlIG5vdGhpbmcgdG8gYW1lbmQuIgogbXNnc3RyICJLaMO0bmcgY8OzIGfDrCDEkeG7gyBhbWVuZCAodHUgYuG7lSkgY+G6oy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA1MworIzogYnVpbHRpbi9jb21taXQuYzoxMDc4CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiIgogIkLhuqFuIMSRYW5nIOG7nyBnaeG7r2EgY+G7p2EgcXXDoSB0csOsbmggaMOyYSB0cuG7mW4gLS0ga2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gYW1lbmQgKHR1IGLhu5UpLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODAKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICIiCiAiQuG6oW4gxJFhbmcg4bufIGdp4buvYSBj4bunYSBxdcOhIHRyw6xuaCBjaGVycnktcGljayAtLSBraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiBhbWVuZCAodHUgIgogImLhu5UpLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDU4CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODMKIG1zZ2lkICJPcHRpb25zIC0tc3F1YXNoIGFuZCAtLWZpeHVwIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICJDw6FjIHTDuXkgY2jhu41uIC0tc3F1YXNoIHbDoCAtLWZpeHVwIGtow7RuZyB0aOG7gyBz4butIGThu6VuZyBjw7luZyB24bubaSBuaGF1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5MwogbXNnaWQgIk9ubHkgb25lIG9mIC1jLy1DLy1GLy0tZml4dXAgY2FuIGJlIHVzZWQuIgogbXNnc3RyICJDaOG7iSBt4buZdCB0w7l5IGNo4buNbiB0cm9uZyBz4buRIC1jLy1DLy1GLy0tZml4dXAgxJHGsOG7o2Mgc+G7rSBk4bulbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3MAorIzogYnVpbHRpbi9jb21taXQuYzoxMDk1CiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLy0tZml4dXAuIgogbXNnc3RyICJUw7l5IGNo4buNbiAtbSBraMO0bmcgdGjhu4MgxJHGsOG7o2MgdOG7lSBo4bujcCBjw7luZyB24bubaSAtYy8tQy8tRi8tLWZpeHVwLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDc4CisjOiBidWlsdGluL2NvbW1pdC5jOjExMDMKIG1zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgogbXNnc3RyICIiCiAiLS1yZXNldC1hdXRob3IgY2jhu4kgY8OzIHRo4buDIMSRxrDhu6NjIHPhu60gZOG7pW5nIHbhu5tpIHTDuXkgY2jhu41uIC1DLCAtYyBoYXkgLS1hbWVuZC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTIwCiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICIiCiAiQ2jhu4kgbeG7mXQgdHJvbmcgY8OhYyB0w7l5IGNo4buNbiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCDEkcaw4bujYyAiCiAic+G7rSBk4bulbmcuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwOTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyMgogbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiS2jDtG5nIMSRxrDhu51uZyBk4bqrbiB24bubaSBjw6FjIHTDuXkgY2jhu41uIC0taW5jbHVkZS8tLW9ubHkga2jDtG5nIGjhu6NwIGzDvS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA5OQorIzogYnVpbHRpbi9jb21taXQuYzoxMTI0CiBtc2dpZCAiQ2xldmVyLi4uIGFtZW5kaW5nIHRoZSBsYXN0IG9uZSB3aXRoIGRpcnR5IGluZGV4LiIKLW1zZ3N0ciAiR2nhu49pLi4uICB0dSBi4buVIGPDoWkgY3Xhu5FpIHbhu5tpIGLhuqNuZyBt4bulYyBs4bulYyBwaGkgbmdoxKlhLiIKK21zZ3N0ciAiR2nhu49pLi4uICB0dSBi4buVIGPDoWkgY3Xhu5FpIHbhu5tpIGLhuqNuZyBt4bulYyBs4bulYyBi4bqpbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEwMQorIzogYnVpbHRpbi9jb21taXQuYzoxMTI2CiBtc2dpZCAiRXhwbGljaXQgcGF0aHMgc3BlY2lmaWVkIHdpdGhvdXQgLWkgbm9yIC1vOyBhc3N1bWluZyAtLW9ubHkgcGF0aHMuLi4iCiBtc2dzdHIgIiIKICJOaOG7r25nIMSRxrDhu51uZyBk4bqrbiByw7UgcsOgbmcgxJHGsOG7o2MgY2jhu4kgcmEga2jDtG5nIGPDsyB0w7l5IGNo4buNbiAtaSBjxaluZyBraMO0bmcgLW87IMSRYW5nICIKICJnaeG6oyDEkeG7i25oIC0tb25seSBuaOG7r25nLcSRxrDhu51uZy1k4bqrbi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTExIGJ1aWx0aW4vdGFnLmM6NTc1CisjOiBidWlsdGluL2NvbW1pdC5jOjExMzYgYnVpbHRpbi90YWcuYzo1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCiBtc2dzdHIgIkNo4bq/IMSR4buZIGThu41uIGThurlwIGtow7RuZyBo4bujcCBs4buHICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE0MQogbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIkPDoWMgxJHGsOG7nW5nIGThuqtuIHbhu5tpIHTDuXkgY2jhu41uIC1hIGtow7RuZyBo4bujcCBsw70uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjIgYnVpbHRpbi9jb21taXQuYzoxNDU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNTEgYnVpbHRpbi9jb21taXQuYzoxNDgyCiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICJoaeG7g24gdGjhu4sgdHLhuqFuZyB0aMOhaSDhu58gZOG6oW5nIHPDumMgdMOtY2giCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNCBidWlsdGluL2NvbW1pdC5jOjE0NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1MyBidWlsdGluL2NvbW1pdC5jOjE0ODQKIG1zZ2lkICJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gbmjDoW5oIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjYgYnVpbHRpbi9jb21taXQuYzoxNDU5IGJ1aWx0aW4vcHVzaC5jOjQ1MgorIzogYnVpbHRpbi9jb21taXQuYzoxMjU1IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NiBidWlsdGluL3B1c2guYzo0NjAKIG1zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKIG1zZ3N0ciAia+G6v3QgeHXhuqV0IGThuqFuZyBtw6F5LWPDsy10aOG7gy3EkeG7jWMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyOSBidWlsdGluL2NvbW1pdC5jOjE0NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1OCBidWlsdGluL2NvbW1pdC5jOjE0ODgKIG1zZ2lkICJzaG93IHN0YXR1cyBpbiBsb25nIGZvcm1hdCAoZGVmYXVsdCkiCiBtc2dzdHIgImhp4buDbiB0aOG7iyB0cuG6oW5nIHRow6FpIOG7nyDEkeG7i25oIGThuqFuZyBkw6BpICht4bq3YyDEkeG7i25oKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjMyIGJ1aWx0aW4vY29tbWl0LmM6MTQ2NAorIzogYnVpbHRpbi9jb21taXQuYzoxMjYxIGJ1aWx0aW4vY29tbWl0LmM6MTQ5MQogbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIgogbXNnc3RyICJjaOG6pW0gZOG7qXQgY8OhYyBt4bulYyBi4bqxbmcgTlVMIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzQgYnVpbHRpbi9jb21taXQuYzoxNDY3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NjcKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzAgYnVpbHRpbi90YWcuYzo0NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI2MyBidWlsdGluL2NvbW1pdC5jOjE0OTQgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NyBidWlsdGluL3RhZy5jOjQ1OQogbXNnaWQgIm1vZGUiCiBtc2dzdHIgImNo4bq/IMSR4buZIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzUgYnVpbHRpbi9jb21taXQuYzoxNDY3CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjQgYnVpbHRpbi9jb21taXQuYzoxNDk0CiBtc2dpZCAic2hvdyB1bnRyYWNrZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiBhbGwsIG5vcm1hbCwgbm8uIChEZWZhdWx0OiBhbGwpIgogbXNnc3RyICIiCiAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSAgZOG6pXUgduG6v3QsIGPDoWMgY2jhur8gxJHhu5kgdMO5eSBjaOG7jW46ICBhbGwsICIKICJub3JtYWwsIG5vLiAoTeG6t2MgxJHhu4tuaDogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjM4CisjOiBidWlsdGluL2NvbW1pdC5jOjEyNjcKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIHThuq1wIHRpbiDhuqluIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzkgcGFyc2Utb3B0aW9ucy5oOjE1NAorIzogYnVpbHRpbi9jb21taXQuYzoxMjY4IHBhcnNlLW9wdGlvbnMuaDoxNTYKIG1zZ2lkICJ3aGVuIgogbXNnc3RyICJraGkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTI0MAorIzogYnVpbHRpbi9jb21taXQuYzoxMjY5CiBtc2dpZCAiIgogImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihEZWZhdWx0OiBhbGwpIgpAQCAtNDMwMywyMjMgKzQ0ODMsMjIzIEBACiAiYuG7jyBxdWEgY8OhYyB0aGF5IMSR4buVaSB0cm9uZyBtw7QtxJF1bi1jb24sIHTDuXkgY2jhu41uIGtoaTogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKE3hurdjIMSR4buLbmg6IGFsbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTI0MgorIzogYnVpbHRpbi9jb21taXQuYzoxMjcxCiBtc2dpZCAibGlzdCB1bnRyYWNrZWQgZmlsZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGRhbmggc8OhY2ggY8OhYyB04bqtcC10aW4gY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIHRyb25nIGPDoWMgY+G7mXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxMworIzogYnVpbHRpbi9jb21taXQuYzoxMzQwCiBtc2dpZCAiY291bGRuJ3QgbG9vayB1cCBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHTDrG0gdGjhuqV5IGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgbeG7m2kgaMahbiDEkcOjIMSRxrDhu6NjIHThuqFvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MgogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjw7ogcGjDoXAgY+G7p2EgxJHhu5FpIHTGsOG7o25nIGNodXnhu4NuIGdpYW8gbeG7m2kgaMahbiDEkcOjIMSRxrDhu6NjIHThuqFvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4MwogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIsSRw6MgcuG7nWkga2jhu49pIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OAorIzogYnVpbHRpbi9jb21taXQuYzoxMzg1CiBtc2dpZCAiIChyb290LWNvbW1pdCkiCiBtc2dzdHIgIiAocm9vdC1jb21taXQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MgogbXNnaWQgInN1cHByZXNzIHN1bW1hcnkgYWZ0ZXIgc3VjY2Vzc2Z1bCBjb21taXQiCiBtc2dzdHIgImtow7RuZyBoaeG7g24gdGjhu4sgdOG7lW5nIGvhur90IHNhdSBraGkgY2h1eeG7g24gZ2lhbyB0aMOgbmggY8O0bmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQyNgorIzogYnVpbHRpbi9jb21taXQuYzoxNDUzCiBtc2dpZCAic2hvdyBkaWZmIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICJoaeG7g24gdGjhu4sgc+G7sSBraMOhYyBiaeG7h3QgdHJvbmcgbeG6q3UgdGluIG5o4bqvbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NQogbXNnaWQgIkNvbW1pdCBtZXNzYWdlIG9wdGlvbnMiCiBtc2dzdHIgIkPDoWMgdMO5eSBjaOG7jW4gZ2hpIGNow7ogY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjkgYnVpbHRpbi90YWcuYzo0NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NiBidWlsdGluL3RhZy5jOjQ1NwogbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCiBtc2dzdHIgIsSR4buNYyBjaMO6IHRow61jaCB04burIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTcKIG1zZ2lkICJhdXRob3IiCiBtc2dzdHIgInTDoWMgZ2nhuqMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMAorIzogYnVpbHRpbi9jb21taXQuYzoxNDU3CiBtc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCiBtc2dzdHIgImdoaSDEkcOoIHTDoWMgZ2nhuqMgY2hvIGNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMxIGJ1aWx0aW4vZ2MuYzoxNzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OCBidWlsdGluL2djLmM6MjYwCiBtc2dpZCAiZGF0ZSIKIG1zZ3N0ciAibmfDoHkgdGjDoW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OAogbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKIG1zZ3N0ciAiZ2hpIMSRw6ggbmfDoHkgdGjDoW5nIGNobyBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMiBidWlsdGluL21lcmdlLmM6MjIzIGJ1aWx0aW4vbm90ZXMuYzo0MDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OSBidWlsdGluL21lcmdlLmM6MjIzIGJ1aWx0aW4vbm90ZXMuYzo0MDUKICM6IGJ1aWx0aW4vbm90ZXMuYzo1NjIgYnVpbHRpbi90YWcuYzo0NTUKIG1zZ2lkICJtZXNzYWdlIgogbXNnc3RyICJ0aMO0bmcgxJFp4buHcCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMyCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTkKIG1zZ2lkICJjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiY2jDuiB0aMOtY2ggY+G7p2EgbOG6p24gY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MAogbXNnaWQgInJldXNlIGFuZCBlZGl0IG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAiZMO5bmcgbOG6oWkgY8OhYyBnaGkgY2jDuiB04burIGzhuqduIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgxJHDoyBjaG8gbmjGsG5nIGPDsyBjaG8gc+G7rWEgY2jhu69hIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MQogbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICJkw7luZyBs4bqhaSBjw6FjIGdoaSBjaMO6IHThu6sgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjIKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAiZMO5bmcgZ2hpIGNow7ogY8OzIMSR4buLbmggZOG6oW5nIGF1dG9zcXVhc2ggxJHhu4Mgc+G7rWEgY2jhu69hIGzhuqduIGNodXnhu4NuIGdpYW8gxJHDoyBjaOG7iSByYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM2CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjMKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogImTDuW5nIGzhu51pIG5o4bqvbiBjw7MgxJHhu4tuaCBk4bqhbmcgdOG7sSDEkeG7mW5nIG7DqW4gxJHhu4MgbsOpbiBs4bqhaSBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gxJHDoyBjaOG7iSAiCiAicmEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNworIzogYnVpbHRpbi9jb21taXQuYzoxNDY0CiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAiIgogImzhuqduIGNodXnhu4NuIGdpYW8gbmjhuq1uIHTDtGkgbMOgIHTDoWMgZ2nhuqMgKMSRxrDhu6NjIGTDuW5nIHbhu5tpIHTDuXkgY2jhu41uIC1DLy1jLy0tYW1lbmQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzggYnVpbHRpbi9sb2cuYzoxMTYwIGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjUgYnVpbHRpbi9sb2cuYzoxMTgwIGJ1aWx0aW4vcmV2ZXJ0LmM6ODYKIG1zZ2lkICJhZGQgU2lnbmVkLW9mZi1ieToiCiBtc2dzdHIgInRow6ptIGTDsm5nIFNpZ25lZC1vZmYtYnk6IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NgogbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKIG1zZ3N0ciAic+G7rSBk4bulbmcgdOG6rXAgdGluIG3huqt1IMSRw6MgY2hvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NwogbXNnaWQgImZvcmNlIGVkaXQgb2YgY29tbWl0IgogbXNnc3RyICLDqXAgYnXhu5ljIHPhu61hIGzhuqduIGNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjgKIG1zZ2lkICJkZWZhdWx0IgogbXNnc3RyICJt4bq3YyDEkeG7i25oIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDEgYnVpbHRpbi90YWcuYzo0NjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OCBidWlsdGluL3RhZy5jOjQ2MAogbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCiBtc2dzdHIgImzDoG0gdGjhur8gbsOgbyDEkeG7gyBj4bqvdCBi4buPIGtob+G6o25nIHRy4bqvbmcgdsOgICNnaGljaMO6IHThu6sgbeG6qXUgdGluIG5o4bqvbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQyCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjkKIG1zZ2lkICJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAiYmFvIGfhu5NtIGPDoWMgdHLhuqFuZyB0aMOhaSBnaGkgbeG6q3UgZ2hpIGNow7ogY2h1eeG7g24gZ2lhbyAoY29tbWl0KSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQzIGJ1aWx0aW4vbWVyZ2UuYzoyMzAgYnVpbHRpbi90YWcuYzo0NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MCBidWlsdGluL21lcmdlLmM6MjMwIGJ1aWx0aW4vdGFnLmM6NDYxCiBtc2dpZCAia2V5IGlkIgogbXNnc3RyICJpZCBraMOzYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQ0IGJ1aWx0aW4vbWVyZ2UuYzoyMzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MSBidWlsdGluL21lcmdlLmM6MjMxCiBtc2dpZCAiR1BHIHNpZ24gY29tbWl0IgogbXNnc3RyICJrw70gbOG6p24gY29tbWl0IGTDuW5nIEdQRyIKIAogIy4gZW5kIGNvbW1pdCBtZXNzYWdlIG9wdGlvbnMKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0NworIzogYnVpbHRpbi9jb21taXQuYzoxNDc0CiBtc2dpZCAiQ29tbWl0IGNvbnRlbnRzIG9wdGlvbnMiCiBtc2dzdHIgIkPDoWMgdMO5eSBu4buZaSBkdW5nIGdoaSBjaMO6IGNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzUKIG1zZ2lkICJjb21taXQgYWxsIGNoYW5nZWQgZmlsZXMiCiBtc2dzdHIgImNodXnhu4NuIGdpYW8gdOG6pXQgY+G6oyBjw6FjIHThuq1wIHRpbiBjw7MgdGhheSDEkeG7lWkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0OQorIzogYnVpbHRpbi9jb21taXQuYzoxNDc2CiBtc2dpZCAiYWRkIHNwZWNpZmllZCBmaWxlcyB0byBpbmRleCBmb3IgY29tbWl0IgogbXNnc3RyICJ0aMOqbSBjw6FjIHThuq1wIHRpbiDEkcOjIGNo4buJIHJhIHbDoG8gYuG6o25nIG3hu6VjIGzhu6VjIMSR4buDIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDc3CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCiBtc2dzdHIgInRow6ptIGPDoWMgdOG6rXAtdGluIGLhurFuZyB0xrDGoW5nIHTDoWMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDc4CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAidGjDqm0gY8OhYyB0aGF5IMSR4buVaSBi4bqxbmcgdMawxqFuZyB0w6FjIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OQogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAiY2jhu4kgY2h1eeG7g24gZ2lhbyBjw6FjIHThuq1wIHRpbiDEkcOjIGNo4buJIHJhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MAogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGhvb2siCiBtc2dzdHIgInbDsm5nIHF1YSBtw7NjIChob29rKSBwcmUtY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MQogbXNnaWQgInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyB4ZW0gY8OhaSBnw6wgY8OzIHRo4buDIMSRxrDhu6NjIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNDkyCiBtc2dpZCAiYW1lbmQgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICJ0dSBi4buVIChhbWVuZCkgbOG6p24gY29tbWl0IHRyxrDhu5tjIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MwogbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKIG1zZ3N0ciAidsOybmcgcXVhIG3Ds2MgKGhvb2spIHBvc3QtcmV3cml0ZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTgKIG1zZ2lkICJvayB0byByZWNvcmQgYW4gZW1wdHkgY2hhbmdlIgogbXNnc3RyICJvayDEkeG7gyBnaGkgbOG6oWkgbeG7mXQgdGhheSDEkeG7lWkgdHLhu5FuZyBy4buXbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTAwCiBtc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAib2sgxJHhu4MgZ2hpIGPDoWMgdGhheSDEkeG7lWkgduG7m2kgbOG7nWkgbmjhuq9uIHRy4buRbmcgcuG7l25nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUyOQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGNvbW1pdCAobOG6p24gY2h1eeG7g24gZ2lhbykgSEVBRCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTQ1IGJ1aWx0aW4vbWVyZ2UuYzo1MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU2NyBidWlsdGluL21lcmdlLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIOKAnCVz4oCdIMSR4buDIMSR4buNYyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTUyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAiVOG6rXAgdGluIE1FUkdFX0hFQUQgc2FpIGjhu49uZyAoJXMpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MQogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgTUVSR0VfTU9ERSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTc4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIHRow7RuZyDEkWnhu4dwIChtZXNzYWdlKSBjb21taXQgKGzhuqduIGNodXnhu4NuIGdpYW8pOiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0OyB5b3UgZGlkIG5vdCBlZGl0IHRoZSBtZXNzYWdlLlxuIgogbXNnc3RyICIiCiAixJBhbmcgYuG7jyBxdWEgdmnhu4djIGNodXnhu4NuIGdpYW8gKGNvbW1pdCk7IGLhuqFuIMSRw6Mga2jDtG5nIGJpw6puIHNv4bqhbiB0aMO0bmcgxJFp4buHcCAiCiAiKG1lc3NhZ2UpLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICIiCiAixJBhbmcgYuG7jyBxdWEgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBi4bufaSB2w6wgdGjDtG5nIMSRaeG7h3AgY+G7p2EgbsOzIHRy4buRbmcgcuG7l25nLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTIgYnVpbHRpbi9tZXJnZS5jOjg2MSBidWlsdGluL21lcmdlLmM6ODg2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MzQgYnVpbHRpbi9tZXJnZS5jOjg2MSBidWlsdGluL21lcmdlLmM6ODg2CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvbW1pdCBvYmplY3QiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBnaGkgxJHhu5FpIHTGsOG7o25nIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMworIzogYnVpbHRpbi9jb21taXQuYzoxNjU1CiBtc2dpZCAiY2Fubm90IGxvY2sgSEVBRCByZWYiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBraMOzYSBIRUFEIHJlZiAodGhhbSBjaGnhur91KSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjM3CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NTkKIG1zZ2lkICJjYW5ub3QgdXBkYXRlIEhFQUQgcmVmIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10IHJlZiAodGhhbSBjaGnhur91KSBIRUFEIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2NDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY3MAogbXNnaWQgIiIKICJSZXBvc2l0b3J5IGhhcyBiZWVuIHVwZGF0ZWQsIGJ1dCB1bmFibGUgdG8gd3JpdGVcbiIKICJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIG9yIHF1b3RhIGlzXG4iCkBAIC00NTMwLDEyNyArNDcxMCwxMzEgQEAKICJoYXkgcXVvdGEgKGjhuqFuIG5naOG6oWNoIMSRxKlhIGPhu6luZykgYuG7iyB2xrDhu6N0IHF1w6EsIHbDoCBzYXUgxJHDsyBcImdpdCByZXNldCBIRUFEXCIgxJHhu4MgIgogImto4bqvYyBwaOG7pWMuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6OAogbXNnaWQgImdpdCBjb25maWcgW29wdGlvbnNdIgogbXNnc3RyICJnaXQgY29uZmlnIFtjw6FjLXTDuXktY2jhu41uXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1MgorIzogYnVpbHRpbi9jb25maWcuYzo1NAogbXNnaWQgIkNvbmZpZyBmaWxlIGxvY2F0aW9uIgogbXNnc3RyICJW4buLIHRyw60gdOG6rXAgdGluIGPhuqV1IGjDrG5oIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjUzCisjOiBidWlsdGluL2NvbmZpZy5jOjU1CiBtc2dpZCAidXNlIGdsb2JhbCBjb25maWcgZmlsZSIKIG1zZ3N0ciAixJHhurd0IHThuq1wIHRpbiBj4bqldSBow6xuaCBj4bqnbiB0b8OgbiBj4bulYyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NAorIzogYnVpbHRpbi9jb25maWcuYzo1NgogbXNnaWQgInVzZSBzeXN0ZW0gY29uZmlnIGZpbGUiCiBtc2dzdHIgInPhu60gZOG7pW5nIHThuq1wIHRpbiBj4bqldSBow6xuaCBo4buHIHRo4buRbmciCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTcKIG1zZ2lkICJ1c2UgcmVwb3NpdG9yeSBjb25maWcgZmlsZSIKIG1zZ3N0ciAiZMO5bmcgdOG6rXAgdGluIGPhuqV1IGjDrG5oIGPhu6dhIGtobyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NgorIzogYnVpbHRpbi9jb25maWcuYzo1OAogbXNnaWQgInVzZSBnaXZlbiBjb25maWcgZmlsZSIKIG1zZ3N0ciAic+G7rSBk4bulbmcgdOG6rXAgdGluIGPhuqV1IGjDrG5oIMSRw6MgY2hvIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjU5CiBtc2dpZCAiYmxvYi1pZCIKIG1zZ3N0ciAiYmxvYi1pZCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgInJlYWQgY29uZmlnIGZyb20gZ2l2ZW4gYmxvYiBvYmplY3QiCiBtc2dzdHIgIsSR4buNYyBj4bqldSBow6xuaCB04burIMSR4buRaSB0xrDhu6NuZyBibG9iIMSRw6MgY2hvIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU4CisjOiBidWlsdGluL2NvbmZpZy5jOjYwCiBtc2dpZCAiQWN0aW9uIgogbXNnc3RyICJIw6BuaCDEkeG7mW5nIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU5CisjOiBidWlsdGluL2NvbmZpZy5jOjYxCiBtc2dpZCAiZ2V0IHZhbHVlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImzhuqV5IGdpw6EtdHLhu4s6IHTDqm4gW3ZhbHVlLXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo2MgogbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAibOG6pXkgdOG6pXQgY+G6oyBnacOhLXRy4buLOiBraMOzYSBbdmFsdWUtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxCisjOiBidWlsdGluL2NvbmZpZy5jOjYzCiBtc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImzhuqV5IGdpw6EgdHLhu4sgY2hvIHJlZ2V4cDogbmFtZS1yZWdleCBbdmFsdWUtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYyCisjOiBidWlsdGluL2NvbmZpZy5jOjY0Cittc2dpZCAiZ2V0IHZhbHVlIHNwZWNpZmljIGZvciB0aGUgVVJMOiBzZWN0aW9uWy52YXJdIFVSTCIKK21zZ3N0ciAibOG6pXkgxJHhurdjIHThuqMgZ2nDoSB0cuG7iyBjaG8gVVJMOiBwaOG6p25bLmJp4bq/bl0gVVJMIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjY1CiBtc2dpZCAicmVwbGFjZSBhbGwgbWF0Y2hpbmcgdmFyaWFibGVzOiBuYW1lIHZhbHVlIFt2YWx1ZV9yZWdleF0iCiBtc2dzdHIgInRoYXkgdGjhur8gdOG6pXQgY+G6oyBjw6FjIGJp4bq/biBraOG7m3AgbeG6q3U6IHTDqm4gZ2nDoS10cuG7iyBbdmFsdWVfcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYzCisjOiBidWlsdGluL2NvbmZpZy5jOjY2CiBtc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgogbXNnc3RyICJ0aMOqbSBiaeG6v24gbeG7m2k6IHTDqm4gZ2nDoS10cuG7iyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NAorIzogYnVpbHRpbi9jb25maWcuYzo2NwogbXNnaWQgInJlbW92ZSBhIHZhcmlhYmxlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImfhu6EgYuG7jyBiaeG6v246IHTDqm4gW3ZhbHVlLXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NQorIzogYnVpbHRpbi9jb25maWcuYzo2OAogbXNnaWQgInJlbW92ZSBhbGwgbWF0Y2hlczogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJn4buhIGLhu48gbeG7jWkgY8OhaSBraOG7m3A6IHTDqm4gW3ZhbHVlLXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NgorIzogYnVpbHRpbi9jb25maWcuYzo2OQogbXNnaWQgInJlbmFtZSBzZWN0aW9uOiBvbGQtbmFtZSBuZXctbmFtZSIKIG1zZ3N0ciAixJHhu5VpIHTDqm4gY2jGsMahbmc6IHTDqm4tY8WpIHTDqm4tbeG7m2kiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKIG1zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgogbXNnc3RyICJn4buhIGLhu48gY2jGsMahbmc6IHTDqm4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKIG1zZ2lkICJsaXN0IGFsbCIKIG1zZ3N0ciAibGnhu4d0IGvDqiB04bqldCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OQorIzogYnVpbHRpbi9jb25maWcuYzo3MgogbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgogbXNnc3RyICJt4bufIG3hu5l0IHRyw6xuaCBiacOqbiBzb+G6oW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzAgYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3MyBidWlsdGluL2NvbmZpZy5jOjc0CiBtc2dpZCAic2xvdCIKIG1zZ3N0ciAia2hlIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwCisjOiBidWlsdGluL2NvbmZpZy5jOjczCiBtc2dpZCAiZmluZCB0aGUgY29sb3IgY29uZmlndXJlZDogW2RlZmF1bHRdIgogbXNnc3RyICJ0w6xtIGPhuqV1IGjDrG5oIG3DoHUgc+G6r2M6IFtt4bq3YyDEkeG7i25oXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3NAogbXNnaWQgImZpbmQgdGhlIGNvbG9yIHNldHRpbmc6IFtzdGRvdXQtaXMtdHR5XSIKIG1zZ3N0ciAidMOsbSBjw6FjIGPDoGkgxJHhurd0IHbhu4EgbcOgdSBz4bqvYzogW3N0ZG91dC1sw6AtdHR5XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MgorIzogYnVpbHRpbi9jb25maWcuYzo3NQogbXNnaWQgIlR5cGUiCiBtc2dzdHIgIktp4buDdSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MworIzogYnVpbHRpbi9jb25maWcuYzo3NgogbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKIG1zZ3N0ciAiZ2nDoSB0cuG7iyBsw6AgXCJ0cnVlXCIgaG/hurdjIFwiZmFsc2VcIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NAorIzogYnVpbHRpbi9jb25maWcuYzo3NwogbXNnaWQgInZhbHVlIGlzIGRlY2ltYWwgbnVtYmVyIgogbXNnc3RyICJnacOhIHRy4buLIOG7nyBk4bqhbmcgc+G7kSB0aOG6rXAgcGjDom4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKIG1zZ2lkICJ2YWx1ZSBpcyAtLWJvb2wgb3IgLS1pbnQiCiBtc2dzdHIgImdpw6EgdHLhu4sgbMOgIC0tYm9vbCBob+G6t2MgLS1pbnQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKIG1zZ2lkICJ2YWx1ZSBpcyBhIHBhdGggKGZpbGUgb3IgZGlyZWN0b3J5IG5hbWUpIgogbXNnc3RyICJnacOhIHRy4buLIGzDoCDEkcaw4budbmcgZOG6q24gKHTDqm4gdOG6rXAgdGluIGhheSB0aMawIG3hu6VjKSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NworIzogYnVpbHRpbi9jb25maWcuYzo4MAogbXNnaWQgIk90aGVyIgogbXNnc3RyICJLaMOhYyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OAorIzogYnVpbHRpbi9jb25maWcuYzo4MQogbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAiY2jhuqVtIGThu6l0IGdpw6EgdHLhu4sgduG7m2kgYnl0ZSBOVUwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODIKIG1zZ2lkICJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiCiBtc2dzdHIgInTDtG4gdHLhu41uZyBr4buDIGPDoCBjw6FjIGjGsOG7m25nIHRyb25nIHTDrG0ga2nhur9tIgogCkBAIC00NjYzLDggKzQ4NDcsOCBAQAogbXNnc3RyICJoaeG7g24gdGjhu4sga8OtY2ggY+G7oSB0aGVvIMSR4buLbmggZOG6oW5nIGTDoG5oIGNobyBuZ8aw4budaSDEkeG7jWMiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxNgotbXNnaWQgImdpdCBkZXNjcmliZSBbb3B0aW9uc10gPGNvbW1pdHRpc2g+KiIKLW1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFtjw6FjLXTDuXktY2jhu41uXSA8Y29tbWl0dGlzaD4qIgorbXNnaWQgImdpdCBkZXNjcmliZSBbb3B0aW9uc10gPGNvbW1pdC1pc2g+KiIKK21zZ3N0ciAiZ2l0IGRlc2NyaWJlIFtjw6FjLXTDuXktY2jhu41uXSA8Y29tbWl0LWlzaD4qIgogCiAjOiBidWlsdGluL2Rlc2NyaWJlLmM6MTcKIG1zZ2lkICJnaXQgZGVzY3JpYmUgW29wdGlvbnNdIC0tZGlydHkiCkBAIC00Nzk5LDE4ICs0OTgzLDE4IEBACiBtc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSBjw6FjIHTDqm4sIGtow7RuZyB0aOG7gyBtw7QgdOG6oyBnw6wgY+G6oy4iCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0ODkKLW1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdHRpc2hlcyIKLW1zZ3N0ciAiLS1kaXJ0eSBsw6AgeHVuZyBraOG6r2MgduG7m2kgY8OhYyB0w7l5IGNo4buNbiBkw6BuaCBjaG8gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSIKK21zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKK21zZ3N0ciAiLS1kaXJ0eSBsw6AgeHVuZyBraOG6r2MgduG7m2kgY8OhYyB0w7l5IGNo4buNbiBjb21taXQtaXNoIgogCiAjOiBidWlsdGluL2RpZmYuYzo3OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKLW1zZ3N0ciAi4oCcJXPigJ06IGtow7RuZyBwaOG6o2kgdOG6rXAgdGluIGLDrG5oIHRoxrDhu51uZyBoYXkgbGnDqm4ga+G6v3QgdMaw4bujbmcgdHLGsG5nIgorbXNnc3RyICLigJwlc+KAnToga2jDtG5nIHBo4bqjaSB04bqtcCB0aW4gYsOsbmggdGjGsOG7nW5nIGhheSBsacOqbiBr4bq/dCBt4buBbSIKIAogIzogYnVpbHRpbi9kaWZmLmM6MjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKLW1zZ3N0ciAidMO5eSBjaOG7jW4gc2FpOiAlcyIKK21zZ3N0ciAidMO5eSBjaOG7jW4ga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCiAjOiBidWlsdGluL2RpZmYuYzozMDcKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKQEAgLTQ4MzUsMzkgKzUwMTksMzkgQEAKIG1zZ2lkICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgogbXNnc3RyICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjY2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjczCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBhZnRlciA8bj4gb2JqZWN0cyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHRp4bq/biB0cmnhu4NuIHNhdSA8bj4gxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjY4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc1CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHNpZ25lZCB0YWdzIgogbXNnc3RyICJjaOG7jW4gxJFp4buBdSBraGnhu4NuIGPhu6dhIHRo4bq7IMSRw6Mga8O9IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjcxCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc4CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHRhZ3MgdGhhdCB0YWcgZmlsdGVyZWQgb2JqZWN0cyIKIG1zZ3N0ciAiY2jhu41uIHPhu7EgeOG7rSBsw70gY+G7p2EgY8OhYyB0aOG6uywgY8OhaSBtw6AgxJHDoW5oIHRo4bq7IGPDoWMgxJHhu5FpIHTGsOG7o25nIMSRxrDhu6NjIGzhu41jIHJhIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc0CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgxCiBtc2dpZCAiRHVtcCBtYXJrcyB0byB0aGlzIGZpbGUiCiBtc2dzdHIgIsSQ4buVIGPDoWMgxJHDoW5oIGThuqV1IG7DoHkgdsOgbyB04bqtcC10aW4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2NzYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODMKIG1zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUiCiBtc2dzdHIgIm5o4bqtcCB2w6BvIMSRw6FuaCBk4bqldSB04burIHThuq1wIHRpbiBuw6B5IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njg1CiBtc2dpZCAiRmFrZSBhIHRhZ2dlciB3aGVuIHRhZ3MgbGFjayBvbmUiCiBtc2dzdHIgIkzDoG0gZ2nhuqMgbeG7mXQgY8OhaSB0aOG6uyBraGkgdGjhursgYuG7iyB0aGnhur91IG3hu5l0IGPDoWkiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODcKIG1zZ2lkICJPdXRwdXQgZnVsbCB0cmVlIGZvciBlYWNoIGNvbW1pdCIKIG1zZ3N0ciAiWHXhuqV0IHJhIHRvw6BuIGLhu5kgY8OieSBjaG8gbeG7l2kgbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4OQogbXNnaWQgIlVzZSB0aGUgZG9uZSBmZWF0dXJlIHRvIHRlcm1pbmF0ZSB0aGUgc3RyZWFtIgogbXNnc3RyICJT4butIGThu6VuZyB0w61uaCBuxINuZyBkb25lIMSR4buDIGNo4bqlbSBk4bupdCBsdeG7k25nIGThu68gbGnhu4d1IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjkwCiBtc2dpZCAiU2tpcCBvdXRwdXQgb2YgYmxvYiBkYXRhIgogbXNnc3RyICJC4buPIHF1YSBr4bq/dCB4deG6pXQgY+G7p2EgZOG7ryBsaeG7h3UgYmxvYiIKIApAQCAtNDg4NywxNDYgKzUwNzEsMTQ2IEBACiBtc2dpZCAiZ2l0IGZldGNoIC0tYWxsIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1hbGwgWzxjw6FjLXTDuXktY2jhu41uPl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MAorIzogYnVpbHRpbi9mZXRjaC5jOjc0CiBtc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKIG1zZ3N0ciAibOG6pXkgduG7gSB04burIHThuqV0IGPhuqMgY8OhYyBtw6F5IGNo4bunIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NgogbXNnaWQgImFwcGVuZCB0byAuZ2l0L0ZFVENIX0hFQUQgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyIKIG1zZ3N0ciAibuG7kWkgdGjDqm0gdsOgbyAuZ2l0L0ZFVENIX0hFQUQgdGhheSB2w6wgZ2hpIMSRw6ggbMOqbiBuw7MiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NAorIzogYnVpbHRpbi9mZXRjaC5jOjc4CiBtc2dpZCAicGF0aCB0byB1cGxvYWQgcGFjayBvbiByZW1vdGUgZW5kIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24gxJHhur9uIGfDs2kgKHBhY2spIHThuqNpIGzDqm4gdHLDqm4gbcOheSBjaOG7pyBjdeG7kWkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NQorIzogYnVpbHRpbi9mZXRjaC5jOjc5CiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIGJyYW5jaCIKIG1zZ3N0ciAiw6lwIGJ14buZYyBnaGkgxJHDqCBsw6puIG5ow6FuaCBu4buZaSBi4buZIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4MQogbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKIG1zZ3N0ciAibOG6pXkgdOG7qyBuaGnhu4F1IG3DoXkgY2jhu6cgY8O5bmcgbMO6YyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY5CisjOiBidWlsdGluL2ZldGNoLmM6ODMKIG1zZ2lkICJmZXRjaCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIgogbXNnc3RyICJs4bqleSB04bqldCBj4bqjIGPDoWMgdGjhursgY8O5bmcgduG7m2kgY8OhYyDEkeG7kWkgdMaw4bujbmcgbGnDqm4gcXVhbiDEkeG6v24gbsOzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NQogbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKIG1zZ3N0ciAia2jDtG5nIGzhuqV5IHThuqV0IGPhuqMgY8OhYyB0aOG6uyAoLS1uby10YWdzKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjczCisjOiBidWlsdGluL2ZldGNoLmM6ODcKIG1zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKIG1zZ3N0ciAiIgogImPhuq90IGPhu6V0IChwcnVuZSkgY8OhYyBuaMOhbmgg4oCccmVtb3RlLXRyYWNraW5n4oCdIGtow7RuZyBjw7JuIHThu5NuIHThuqFpIHRyw6puIG3DoXkgY2jhu6cgIgogIm7hu69hIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4OAogbXNnaWQgIm9uLWRlbWFuZCIKIG1zZ3N0ciAia2hpLWPhuqduIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4OQogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIsSRaeG7gXUga2hp4buDbiB2aeG7h2MgbOG6pXkgduG7gSDEkeG7hyBxdXkgdHJvbmcgY8OhYyBtw7QtxJF1bi1jb24iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3OQorIzogYnVpbHRpbi9mZXRjaC5jOjkzCiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgImdp4buvIGPDoWMgZ8OzaSDEkcOjIHThuqNpIHbhu4EiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MQorIzogYnVpbHRpbi9mZXRjaC5jOjk1CiBtc2dpZCAiYWxsb3cgdXBkYXRpbmcgb2YgSEVBRCByZWYiCiBtc2dzdHIgImNobyBwaMOpcCBj4bqtcCBuaOG6rXQgdGguY2hp4bq/dSBIRUFEIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OAogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCiBtc2dzdHIgImzDoG0gc8OidSBoxqFuIGzhu4tjaCBz4butIGPhu6dhIGLhuqNuIHNhbyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg2CisjOiBidWlsdGluL2ZldGNoLmM6MTAwCiBtc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImNodXnhu4NuIMSR4buVaSBob8OgbiB0b8OgbiBzYW5nIGtobyBnaXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4OCBidWlsdGluL2xvZy5jOjExNzcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDIgYnVpbHRpbi9sb2cuYzoxMTk3CiBtc2dpZCAiZGlyIgogbXNnc3RyICJ0beG7pWMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4OQorIzogYnVpbHRpbi9mZXRjaC5jOjEwMwogbXNnaWQgInByZXBlbmQgdGhpcyB0byBzdWJtb2R1bGUgcGF0aCBvdXRwdXQiCiBtc2dzdHIgInNv4bqhbiBz4bq1biBjw6FpIG7DoHkgY2hvIGvhur90IHh14bqldCDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDYKIG1zZ2lkICJkZWZhdWx0IG1vZGUgZm9yIHJlY3Vyc2lvbiIKIG1zZ3N0ciAiY2jhur8gxJHhu5kgbeG6t2MgxJHhu4tuaCBjaG8gxJHhu4cgcXVpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIwCisjOiBidWlsdGluL2ZldGNoLmM6MjM2CiBtc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCiBtc2dzdHIgIktow7RuZyB0aOG7gyB0w6xtIHRo4bqleSBtw6F5IGNo4bunIGNobyB0aGFtIGNoaeG6v3UgSEVBRCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI3MworIzogYnVpbHRpbi9mZXRjaC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgbm90IGZvdW5kIgogbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgxJHhu5FpIHTGsOG7o25nICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mjc4CisjOiBidWlsdGluL2ZldGNoLmM6Mjk1CiBtc2dpZCAiW3VwIHRvIGRhdGVdIgogbXNnc3RyICJbxJHDoyBj4bqtcCBuaOG6rXRdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjkyCisjOiBidWlsdGluL2ZldGNoLmM6MzA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiEgJS0qcyAlLSpzIC0+ICVzICAoY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2gpIgogbXNnc3RyICIhICUtKnMgJS0qcyAtPiAlcyAgKGtow7RuZyB0aOG7gyBmZXRjaCAobOG6pXkpIHbhu4EgbmjDoW5oIGhp4buHbiBow6BuaCkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyOTMgYnVpbHRpbi9mZXRjaC5jOjM3OQorIzogYnVpbHRpbi9mZXRjaC5jOjMxMCBidWlsdGluL2ZldGNoLmM6Mzk2CiBtc2dpZCAiW3JlamVjdGVkXSIKIG1zZ3N0ciAiW0Lhu4sgdOG7qyBjaOG7kWldIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzA0CisjOiBidWlsdGluL2ZldGNoLmM6MzIxCiBtc2dpZCAiW3RhZyB1cGRhdGVdIgogbXNnc3RyICJbY+G6rXAgbmjhuq10IHRo4bq7XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMwNiBidWlsdGluL2ZldGNoLmM6MzQxIGJ1aWx0aW4vZmV0Y2guYzozNTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzozMjMgYnVpbHRpbi9mZXRjaC5jOjM1OCBidWlsdGluL2ZldGNoLmM6Mzc2CiBtc2dpZCAiICAodW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYpIgogbXNnc3RyICIgIChraMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10IHRoYW0gY2hp4bq/dSAocmVmKSBu4buZaSBi4buZKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMyNAorIzogYnVpbHRpbi9mZXRjaC5jOjM0MQogbXNnaWQgIltuZXcgdGFnXSIKIG1zZ3N0ciAiW3Ro4bq7IG3hu5tpXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMyNworIzogYnVpbHRpbi9mZXRjaC5jOjM0NAogbXNnaWQgIltuZXcgYnJhbmNoXSIKIG1zZ3N0ciAiW25ow6FuaCBt4bubaV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMzAKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNDcKIG1zZ2lkICJbbmV3IHJlZl0iCiBtc2dzdHIgIltyZWYgKHRoYW0gY2hp4bq/dSkgbeG7m2ldIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mzc1CisjOiBidWlsdGluL2ZldGNoLmM6MzkyCiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgdGhhbSBjaGnhur91IChyZWYpIG7hu5lpIGLhu5kiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozNzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzozOTIKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICJjxrDhu6FuZyBi4bupYyBj4bqtcCBuaOG6rXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozODEKKyM6IGJ1aWx0aW4vZmV0Y2guYzozOTgKIG1zZ2lkICIobm9uLWZhc3QtZm9yd2FyZCkiCiBtc2dzdHIgIihub24tZmFzdC1mb3J3YXJkKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQxMiBidWlsdGluL2ZldGNoLmM6NzE4CisjOiBidWlsdGluL2ZldGNoLmM6NDI5IGJ1aWx0aW4vZmV0Y2guYzo3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzXG4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufICVzOiAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDIxCisjOiBidWlsdGluL2ZldGNoLmM6NDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKIG1zZ3N0ciAiJXMgxJHDoyBraMO0bmcgZ+G7rWkgdOG6pXQgY+G6oyBjw6FjIMSR4buRaSB0xrDhu6NuZyBj4bqnbiB0aGnhur90XG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRnJvbSAlLipzXG4iCiBtc2dzdHIgIlThu6sgJS4qc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTMxCisjOiBidWlsdGluL2ZldGNoLmM6NTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJzb21lIGxvY2FsIHJlZnMgY291bGQgbm90IGJlIHVwZGF0ZWQ7IHRyeSBydW5uaW5nXG4iCkBAIC01MDM1LDU3ICs1MjE5LDU3IEBACiAibeG7mXQgc+G7kSB0aGFtIGNoaeG6v3UgKHJlZnMpIG7hu5lpIGLhu5kga2jDtG5nIHRo4buDIMSRxrDhu6NjIGPhuq1wIG5o4bqtdDsgaMOjeSB0aOG7rSBjaOG6oXlcbiIKICIg4oCcZ2l0IHJlbW90ZSBwcnVuZSAlc+KAnSDEkeG7gyBi4buPIMSRaSBuaOG7r25nIG5ow6FuaCBjxaksIGhheSBi4buLIHh1bmcgxJHhu5l0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTgxCisjOiBidWlsdGluL2ZldGNoLmM6NTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyBz4bq9IHRy4bufIHRow6BuaCBraMO0bmcgxJHhuqd1IChraMO0bmcgxJHGsOG7o2MgcXXhuqNuIGzDvSkpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTgyCisjOiBidWlsdGluL2ZldGNoLmM6NTk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIMSRw6MgdHLhu58gdGjDoG5oIGtow7RuZyDEkeG6p3UgKGtow7RuZyDEkcaw4bujYyBxdeG6o24gbMO9KSkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1ODkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MDYKIG1zZ2lkICJbZGVsZXRlZF0iCiBtc2dzdHIgIlvEkcOjIHjDs2FdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTkwIGJ1aWx0aW4vcmVtb3RlLmM6MTA1NQorIzogYnVpbHRpbi9mZXRjaC5jOjYwNyBidWlsdGluL3JlbW90ZS5jOjEwNTUKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIihraMO0bmcpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzA4CisjOiBidWlsdGluL2ZldGNoLmM6NzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogIlThu6sgY2jhu5FpIHZp4buHYyBs4bqleSAoZmV0Y2gpIHbDoG8gdHJvbmcgbmjDoW5oIGhp4buHbiB04bqhaSAlcyBj4bunYSBt4buZdCBraG8gY2jhu6lhIGtow7RuZyAiCiAicGjhuqNpIGtobyB0cuG6p24gKGJhcmUpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzQyCi0jLCBjLWZvcm1hdAotbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCi1tc2dzdHIgIktow7RuZyBiaeG6v3QgbMOgbSBjw6FjaCBuw6BvIMSR4buDIGzhuqV5IHbhu4EgdOG7qyAlcyIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjgyMworIzogYnVpbHRpbi9mZXRjaC5jOjc0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgogbXNnc3RyICJUw7l5IGNo4buNbiBcIiVzXCIgY8OzIGdpw6EgdHLhu4sgXCIlc1wiIGzDoCBraMO0bmcgaOG7o3AgbOG7hyBjaG8gJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICJUw7l5IGNo4buNbiBcIiVzXCIgYuG7iyBi4buPIHF1YSB24bubaSAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTI4CisjOiBidWlsdGluL2ZldGNoLmM6ODAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCittc2dzdHIgIktow7RuZyBiaeG6v3QgbMOgbSBjw6FjaCBuw6BvIMSR4buDIGzhuqV5IHbhu4EgdOG7qyAlcyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyAlc1xuIgogbXNnc3RyICLEkGFuZyBs4bqleSB24buBICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MzAgYnVpbHRpbi9yZW1vdGUuYzoxMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NzggYnVpbHRpbi9yZW1vdGUuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgduG7gSAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk0OQorIzogYnVpbHRpbi9mZXRjaC5jOjk5NwogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgpAQCAtNTA5MywzMiArNTI3NywzMiBAQAogIkNoxrBhIGNo4buJIHJhIGtobyBjaOG7qWEgbcOheSBjaOG7py4gIFhpbiBow6N5IGNo4buJIMSR4buLbmggaG/hurdjIGzDoCBVUkwgaG/hurdjXG4iCiAidMOqbiBtw6F5IGNo4bunIHThu6sgY8OhaSBtw6Agbmjhu69uZyDEkWnhu4NtIHjDqXQgZHV54buHdCBt4bubaSBjw7MgdGjhu4MgxJHGsOG7o2MgZmV0Y2ggKGzhuqV5IHbhu4EpLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk2OQorIzogYnVpbHRpbi9mZXRjaC5jOjEwMjAKIG1zZ2lkICJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgdGFnIG5hbWUuIgogbXNnc3RyICJC4bqhbiBwaOG6o2kgxJHhu4tuaCByw7UgdMOqbiB0aOG6uy4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE1CisjOiBidWlsdGluL2ZldGNoLmM6MTA2OAogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICJ0w7l5IGNo4buNbiAtLWRlcHRoIHbDoCAtLXVuc2hhbGxvdyBraMO0bmcgdGjhu4Mgc+G7rSBk4bulbmcgY8O5bmcgduG7m2kgbmhhdSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDcwCiBtc2dpZCAiLS11bnNoYWxsb3cgb24gYSBjb21wbGV0ZSByZXBvc2l0b3J5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tdW5zaGFsbG93IHRyw6puIGtobyBob8OgbiBjaOG7iW5oIGzDoCBraMO0bmcgaOG7o3AgbMO9IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAzNgorIzogYnVpbHRpbi9mZXRjaC5jOjEwODkKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCB0YWtlIGEgcmVwb3NpdG9yeSBhcmd1bWVudCIKIG1zZ3N0ciAibOG7h25oIGzhuqV5IHbhu4EgXCJmZXRjaCAtLWFsbFwiIGtow7RuZyBs4bqleSDEkeG7kWkgc+G7kSBraG8gY2jhu6lhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAzOAorIzogYnVpbHRpbi9mZXRjaC5jOjEwOTEKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgImzhu4duaCBs4bqleSB24buBIFwiZmV0Y2ggLS1hbGxcIiBraMO0bmcgaOG7o3AgbMO9IHbhu5tpIHJlZnNwZWNzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA0OQorIzogYnVpbHRpbi9mZXRjaC5jOjExMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKIG1zZ3N0ciAia2jDtG5nIGPDsyBuaMOzbSBtw6F5IGNo4bunIGhheSBtw6F5IGNo4bunIG5oxrAgdGjhur86ICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA1NworIzogYnVpbHRpbi9mZXRjaC5jOjExMTAKIG1zZ2lkICJGZXRjaGluZyBhIGdyb3VwIGFuZCBzcGVjaWZ5aW5nIHJlZnNwZWNzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIlZp4buHYyBs4bqleSB24buBIGPhuqMgbeG7mXQgbmjDs20gdsOgIGNo4buJIMSR4buLbmggcmVmc3BlY3Mga2jDtG5nIGjhu6NwIGzDvSIKIApAQCAtNTEyNyw5ICs1MzExLDkgQEAKIG1zZ3N0ciAiIgogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8dGjDtG5nIMSRaeG7h3A+XSBbLS1sb2dbPTxuPl18LS1uby1sb2ddIFstLWZpbGUgPHThuq1wLXRpbj5dIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2IGJ1aWx0aW4vZ3JlcC5jOjcwMAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKLSM6IGJ1aWx0aW4vdGFnLmM6NDQ2IHBhcnNlLW9wdGlvbnMuaDoxMzMgcGFyc2Utb3B0aW9ucy5oOjI0MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NiBidWlsdGluL2dyZXAuYzo3MDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDMgYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NSBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL3RhZy5jOjQ0NiBwYXJzZS1vcHRpb25zLmg6MTM1IHBhcnNlLW9wdGlvbnMuaDoyNDUKIG1zZ2lkICJuIgogbXNnc3RyICJuIgogCkBAIC01MTUzLDExNyArNTMzNywxMjEgQEAKIG1zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKIG1zZ3N0ciAidOG6rXAgdGluIMSR4buDIMSR4buNYyBk4buvIGxp4buHdSB04burIMSRw7MiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTc5CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5NQogbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgW29wdGlvbnNdIFs8cGF0dGVybj5dIgogbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFtjw6FjLXTDuXktY2jhu41uXSBbPG3huqt1Pl0iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTk0CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMTAKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHNoZWxscyIKIG1zZ3N0ciAidHLDrWNoIGThuqtuIMSR4buDIHBow7kgaOG7o3AgY2hvIGjhu4cgduG7jyAoc2hlbGwpIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5NgorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDEyCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBwZXJsIgogbXNnc3RyICJ0csOtY2ggZOG6q24gxJHhu4MgcGjDuSBo4bujcCBjaG8gcGVybCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5OTgKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAxNAogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgcHl0aG9uIgogbXNnc3RyICJ0csOtY2ggZOG6q24gxJHhu4MgcGjDuSBo4bujcCBjaG8gcHl0aG9uIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDAKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAxNgogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgdGNsIgogbXNnc3RyICJ0csOtY2ggZOG6q24gxJHhu4MgcGjDuSBo4bujcCBjaG8gdGNsIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDMKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAxOQogbXNnaWQgInNob3cgb25seSA8bj4gbWF0Y2hlZCByZWZzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY2jhu4kgPG4+IHRoYW0gY2hp4bq/dSBraOG7m3AiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDIwCiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICLEkeG7i25oIGThuqFuZyIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDA0CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMjAKIG1zZ2lkICJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IgogbXNnc3RyICLEkeG7i25oIGThuqFuZyBz4bq9IGTDuW5nIGNobyDEkeG6p3UgcmEiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwNQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDIxCiBtc2dpZCAia2V5IgogbXNnc3RyICJraMOzYSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDA2CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMjIKIG1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCiBtc2dzdHIgInTDqm4gdHLGsOG7nW5nIGPhuqduIHPhuq9wIHjhur9wIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MDgKKyM6IGJ1aWx0aW4vZnNjay5jOjYwNwogbXNnaWQgImdpdCBmc2NrIFtvcHRpb25zXSBbPG9iamVjdD4uLi5dIgogbXNnc3RyICJnaXQgZnNjayBbY8OhYy10w7l5LWNo4buNbl0gWzzEkeG7kWktdMaw4bujbmc+Li4uXSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE0CisjOiBidWlsdGluL2ZzY2suYzo2MTMKIG1zZ2lkICJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgdGjhu4MgxJHhu41jIMSRxrDhu6NjIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTUKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNAogbXNnaWQgInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgxJHhu5FpIHTGsOG7o25nIGtow7RuZyDEkcaw4bujYyBxdeG6o24gbMO9IgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTYKKyM6IGJ1aWx0aW4vZnNjay5jOjYxNQogbXNnaWQgInJlcG9ydCB0YWdzIgogbXNnc3RyICJiw6FvIGPDoW8gY8OhYyB0aOG6uyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE3CisjOiBidWlsdGluL2ZzY2suYzo2MTYKIG1zZ2lkICJyZXBvcnQgcm9vdCBub2RlcyIKIG1zZ3N0ciAiYsOhbyBjw6FvIG5vZGUgZ+G7kWMiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYxOAorIzogYnVpbHRpbi9mc2NrLmM6NjE3CiBtc2dpZCAibWFrZSBpbmRleCBvYmplY3RzIGhlYWQgbm9kZXMiCiBtc2dzdHIgInThuqFvIOKAnCBpbmRleCBvYmplY3RzIGhlYWQgbm9kZXPigJ0iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYxOQorIzogYnVpbHRpbi9mc2NrLmM6NjE4CiBtc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgogbXNnc3RyICJ04bqhbyAgcmVmbG9ncyBoZWFkIG5vZGVzICht4bq3YyDEkeG7i25oKSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjIwCisjOiBidWlsdGluL2ZzY2suYzo2MTkKIG1zZ2lkICJhbHNvIGNvbnNpZGVyIHBhY2tzIGFuZCBhbHRlcm5hdGUgb2JqZWN0cyIKIG1zZ3N0ciAiY8WpbmcgY8OibiBuaOG6r2MgxJHhur9uIGPDoWMgxJHhu5FpIHTGsOG7o25nIGfDs2kgdsOgIHRoYXkgdGjhur8iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYyMQorIzogYnVpbHRpbi9mc2NrLmM6NjIwCiBtc2dpZCAiZW5hYmxlIG1vcmUgc3RyaWN0IGNoZWNraW5nIgogbXNnc3RyICJjaG8gcGjDqXAga2nhu4NtIHRyYSBo4bqhbiBjaOG6vyBoxqFuIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MjMKKyM6IGJ1aWx0aW4vZnNjay5jOjYyMgogbXNnaWQgIndyaXRlIGRhbmdsaW5nIG9iamVjdHMgaW4gLmdpdC9sb3N0LWZvdW5kIgogbXNnc3RyICJnaGkgY8OhYyDEkeG7kWkgdMaw4bujbmcga2jDtG5nIMSRxrDhu6NjIHF14bqjbiBsw70gdHJvbmcgLmdpdC9sb3N0LWZvdW5kIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MjQgYnVpbHRpbi9wcnVuZS5jOjEzNAorIzogYnVpbHRpbi9mc2NrLmM6NjIzIGJ1aWx0aW4vcHJ1bmUuYzoxMzQKIG1zZ2lkICJzaG93IHByb2dyZXNzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgcXXDoSB0csOsbmgiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoyMgorIzogYnVpbHRpbi9nYy5jOjIzCiBtc2dpZCAiZ2l0IGdjIFtvcHRpb25zXSIKIG1zZ3N0ciAiZ2l0IGdjIFtjw6FjLXTDuXktY2jhu41uXSIKIAotIzogYnVpbHRpbi9nYy5jOjYzCisjOiBidWlsdGluL2djLmM6NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCAlczogJyVzJyIKIG1zZ3N0ciAiJXMga2jDtG5nIGjhu6NwIGzhu4c6IOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2djLmM6OTAKKyM6IGJ1aWx0aW4vZ2MuYzoxMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5zYW5lbHkgbG9uZyBvYmplY3QgZGlyZWN0b3J5ICUuKnMiCiBtc2dzdHIgInRoxrAgbeG7pWMgxJHhu5FpIHTGsOG7o25nIGTDoGkgbeG7mXQgY8OhY2ggxJFpw6puIHLhu5MgICUuKnMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxNzkKKyM6IGJ1aWx0aW4vZ2MuYzoyNjEKIG1zZ2lkICJwcnVuZSB1bnJlZmVyZW5jZWQgb2JqZWN0cyIKIG1zZ3N0ciAieMOzYSBi4buPIGPDoWMgxJHhu5FpIHTGsOG7o25nIGtow7RuZyDEkcaw4bujYyB0aGFtIGNoaeG6v3UiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxODEKKyM6IGJ1aWx0aW4vZ2MuYzoyNjMKIG1zZ2lkICJiZSBtb3JlIHRob3JvdWdoIChpbmNyZWFzZWQgcnVudGltZSkiCiBtc2dzdHIgImPhuqluIHRo4bqtbiBoxqFuIG7hu69hICh0xINuZyB0aOG7nWkgZ2lhbiBjaOG6oXkpIgogCi0jOiBidWlsdGluL2djLmM6MTgyCisjOiBidWlsdGluL2djLmM6MjY0CiBtc2dpZCAiZW5hYmxlIGF1dG8tZ2MgbW9kZSIKIG1zZ3N0ciAiYuG6rXQgY2jhur8gxJHhu5kgYXV0by1nYyIKIAotIzogYnVpbHRpbi9nYy5jOjIyMgorIzogYnVpbHRpbi9nYy5jOjI2NQorbXNnaWQgImZvcmNlIHJ1bm5pbmcgZ2MgZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBnYyBydW5uaW5nIgorbXNnc3RyICJideG7mWMgZ2MgY2jhuqF5IG5nYXkgY+G6oyBraGkgY8OzIHRp4bq/biB0csOsbmggZ2Mga2jDoWMgxJFhbmcgY2jhuqF5IgorCisjOiBidWlsdGluL2djLmM6MzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuIFlvdSBtYXkgYWxzb1xuIgpAQCAtNTI3Myw0MyArNTQ2MSw1MiBAQAogImNo4bqheSBs4buHbmggXCJnaXQgZ2NcIiBt4buZdCBjw6FjaCB0aOG7pyBjw7RuZy4gSMOjeSB4ZW0gXCJnaXQgaGVscCBnY1wiIMSR4buDIGJp4bq/dCB0aMOqbSAiCiAiY2hpIHRp4bq/dC5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjI0OQorIy4gYmUgcXVpZXQgb24gLS1hdXRvCisjOiBidWlsdGluL2djLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJnYyBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gbWFjaGluZSAnJXMnIHBpZCAlPFBSSXVNQVg+ICh1c2UgLS1mb3JjZSBpZiBub3QpIgorbXNnc3RyICIiCisiZ2MgxJFhbmcgxJHGsOG7o2MgdGjhu7FjIGhp4buHbiB0csOqbiBtw6F5IOKAnCVz4oCdIHBpZCAlPFBSSXVNQVg+IChkw7luZyAtLWZvcmNlIG7hur91IGtow7RuZyAiCisicGjhuqNpIHRo4bq/KSIKKworIzogYnVpbHRpbi9nYy5jOjM0MAogbXNnaWQgIiIKICJUaGVyZSBhcmUgdG9vIG1hbnkgdW5yZWFjaGFibGUgbG9vc2Ugb2JqZWN0czsgcnVuICdnaXQgcHJ1bmUnIHRvIHJlbW92ZSB0aGVtLiIKIG1zZ3N0ciAiIgogIkPDsyBxdcOhIG5oaeG7gXUgxJHhu5FpIHTGsOG7o25nIHThu7EgZG8ga2jDtG5nIMSRxrDhu6NjIGTDuW5nIMSR4bq/bjsgaMOjeSBjaOG6oXkgbOG7h25oIOKAnGdpdCBwcnVuZeKAnSAiCiAixJHhu4MgeMOzYSBi4buPIGNow7puZyDEkWkuIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMgorIzogYnVpbHRpbi9ncmVwLmM6MjMKIG1zZ2lkICJnaXQgZ3JlcCBbb3B0aW9uc10gWy1lXSA8cGF0dGVybj4gWzxyZXY+Li4uXSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgZ3JlcCBbY8OhYy10w7l5LWNo4buNbl0gWy1lXSA8beG6q3U+IFs8cmV2Pi4uLl0gW1stLV0gPMSRxrDhu51uZy1k4bqrbj4uLi5dIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJncmVwOiBmYWlsZWQgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgImdyZXA6IGfhurdwIGzhu5dpIHThuqFvIHR1eeG6v24gKHRocmVhZCk6ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzozNjQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjM2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2hkaXI6ICVzIgogbXNnc3RyICJH4bq3cCBs4buXaSB24bubaSBs4buHbmggY2hkaXI6ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo0NDIgYnVpbHRpbi9ncmVwLmM6NDc3CisjOiBidWlsdGluL2dyZXAuYzo0NDMgYnVpbHRpbi9ncmVwLmM6NDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBjw6J5ICglcykiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ5MgorIzogYnVpbHRpbi9ncmVwLmM6NDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBncmVwIGZyb20gb2JqZWN0IG9mIHR5cGUgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIGzhu4duaCBncmVwIChs4buNYyB0w6xtKSB04burIMSR4buRaSB0xrDhu6NuZyB0aHXhu5ljIGtp4buDdSAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTUwCisjOiBidWlsdGluL2dyZXAuYzo1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAiY2h1eeG7g24gxJHhur9uIOKAnCVj4oCdIGPhuqduIG3hu5l0IGdpw6EgdHLhu4sgYuG6sW5nIHPhu5EiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjU2NworIzogYnVpbHRpbi9ncmVwLmM6NTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICclcyciCiBtc2dzdHIgImtow7RuZyBt4bufIMSRxrDhu6NjIOKAnCVz4oCdIgpAQCAtNTM1MSwxNjEgKzU1NDgsMTY1IEBACiBtc2dzdHIgImtow7RuZyBraOG7m3AgbeG6q3UgdHJvbmcgY8OhYyB04bqtcCB0aW4gbmjhu4sgcGjDom4iCiAKICM6IGJ1aWx0aW4vZ3JlcC5jOjY2MgorbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKK21zZ3N0ciAieOG7rSBsw70gdOG6rXAgdGluIG5o4buLIHBow6JuIHbhu5tpIGPDoWMgYuG7mSBs4buNYyBgdGV4dGNvbnZgIgorCisjOiBidWlsdGluL2dyZXAuYzo2NjQKIG1zZ2lkICJkZXNjZW5kIGF0IG1vc3QgPGRlcHRoPiBsZXZlbHMiCiBtc2dzdHIgImdp4bqjbSB4deG7kW5nIMOtdCBuaOG6pXQgbeG7qWMgPHPDonU+IgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2OAogbXNnaWQgInVzZSBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJkw7luZyBiaeG7g3UgdGjhu6ljIGNow61uaCBxdWkgUE9TSVggY8OzIG3hu58gcuG7mW5nIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3MQogbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKIG1zZ3N0ciAic+G7rSBk4bulbmcgYmnhu4N1IHRo4bupYyBjaMOtbmggcXV5IGtp4buDdSBQT1NJWCAobeG6t2MgxJHhu4tuaCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3MgorIzogYnVpbHRpbi9ncmVwLmM6Njc0CiBtc2dpZCAiaW50ZXJwcmV0IHBhdHRlcm5zIGFzIGZpeGVkIHN0cmluZ3MiCiBtc2dzdHIgImRp4buFbiBk4buLY2ggY8OhYyBt4bqrdSBuaMawIGzDoCBjaHXhu5dpIGPhu5EgxJHhu4tuaCIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc1CisjOiBidWlsdGluL2dyZXAuYzo2NzcKIG1zZ2lkICJ1c2UgUGVybC1jb21wYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgInPhu60gZOG7pW5nIGJp4buDdSB0aOG7qWMgY2jDrW5oIHF1eSB0xrDGoW5nIHRow61jaCBQZXJsIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4MAogbXNnaWQgInNob3cgbGluZSBudW1iZXJzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgc+G7kSBj4bunYSBkw7JuZyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc5CisjOiBidWlsdGluL2dyZXAuYzo2ODEKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAia2jDtG5nIGhp4buDbiB0aOG7iyB0w6puIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjgwCisjOiBidWlsdGluL2dyZXAuYzo2ODIKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdMOqbiB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4MgorIzogYnVpbHRpbi9ncmVwLmM6Njg0CiBtc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHTDqm4gdOG6rXAgdGluIHTGsMahbmcgxJHhu5FpIHbhu5tpIHRoxrAgbeG7pWMgxJHhu4luaCAodG9wKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg0CisjOiBidWlsdGluL2dyZXAuYzo2ODYKIG1zZ2lkICJzaG93IG9ubHkgZmlsZW5hbWVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyB0w6puIHThuq1wIHRpbiB0aGF5IHbDrCBuaOG7r25nIGTDsm5nIGto4bubcCB24bubaSBt4bqrdSIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg2CisjOiBidWlsdGluL2dyZXAuYzo2ODgKIG1zZ2lkICJzeW5vbnltIGZvciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIG1zZ3N0ciAixJHhu5NuZyBuZ2jEqWEgduG7m2kgLS1maWxlcy13aXRoLW1hdGNoZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4OQorIzogYnVpbHRpbi9ncmVwLmM6NjkxCiBtc2dpZCAic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgdMOqbiBjaG8gbmjhu69uZyB04bqtcCB0aW4ga2jDtG5nIGto4bubcCB24bubaSBt4bqrdSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjkxCisjOiBidWlsdGluL2dyZXAuYzo2OTMKIG1zZ2lkICJwcmludCBOVUwgYWZ0ZXIgZmlsZW5hbWVzIgogbXNnc3RyICJ0aMOqbSBOVUwgdsOgbyBzYXUgdMOqbiB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5MworIzogYnVpbHRpbi9ncmVwLmM6Njk1CiBtc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHPhu5EgbMaw4bujbmcga2jhu5twIHRoYXkgdsOsIG5o4buvbmcgZMOybmcga2jhu5twIHbhu5tpIG3huqt1IgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5NgogbXNnaWQgImhpZ2hsaWdodCBtYXRjaGVzIgogbXNnc3RyICJ0w7Qgc8OhbmcgY8OhaSBraOG7m3AiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5NgorIzogYnVpbHRpbi9ncmVwLmM6Njk4CiBtc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBkw7JuZyB0cuG7kW5nIGdp4buvYSBjw6FjIGzhuqduIGto4bubcCB04burIGPDoWMgdOG6rXAgdGluIGtow6FjIGJp4buHdCIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk4CisjOiBidWlsdGluL2dyZXAuYzo3MDAKIG1zZ2lkICJzaG93IGZpbGVuYW1lIG9ubHkgb25jZSBhYm92ZSBtYXRjaGVzIGZyb20gc2FtZSBmaWxlIgogbXNnc3RyICIiCiAiaGnhu4NuIHRo4buLIHTDqm4gdOG6rXAgdGluIG3hu5l0IGzhuqduIHBow61hIHRyw6puIGPDoWMgbOG6p24ga2jhu5twIHThu6sgY8O5bmcgbeG7mXQgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMwogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgPG4+IGTDsm5nIG7hu5lpIGR1bmcgcGjDrWEgdHLGsOG7m2MgdsOgIHNhdSBjw6FjIGzhuqduIGto4bubcCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA0CisjOiBidWlsdGluL2dyZXAuYzo3MDYKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgPG4+IGTDsm5nIG7hu5lpIGR1bmcgdHLGsOG7m2Mga2jhu5twIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwOAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIDxuPiBkw7JuZyBu4buZaSBkdW5nIHNhdSBraOG7m3AiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNworIzogYnVpbHRpbi9ncmVwLmM6NzA5CiBtc2dpZCAic2hvcnRjdXQgZm9yIC1DIE5VTSIKIG1zZ3N0ciAiROG6oW5nIHThuq90IGNobyAtQyBT4buQIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxMgogbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBkw7JuZyB2w7NpIHTDqm4gaMOgbSB0csaw4bubYyBjw6FjIGzhuqduIGto4bubcCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEyCisjOiBidWlsdGluL2dyZXAuYzo3MTQKIG1zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGjDoG0gYmFvIHF1YW5oIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNwogbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBmaWxlIgogbXNnc3RyICLEkeG7jWMgbeG6q3UgdOG7qyB04bqtcC10aW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxNworIzogYnVpbHRpbi9ncmVwLmM6NzE5CiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICJtYXRjaCA8beG6q3U+IgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcyMQogbXNnaWQgImNvbWJpbmUgcGF0dGVybnMgc3BlY2lmaWVkIHdpdGggLWUiCiBtc2dzdHIgInThu5UgaOG7o3AgbeG6q3UgxJHGsOG7o2MgY2jhu4kgcmEgduG7m2kgdMO5eSBjaOG7jW4gLWUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczMQorIzogYnVpbHRpbi9ncmVwLmM6NzMzCiBtc2dpZCAiaW5kaWNhdGUgaGl0IHdpdGggZXhpdCBzdGF0dXMgd2l0aG91dCBvdXRwdXQiCiBtc2dzdHIgIsSRxrBhIHJhIGfhu6NpIMO9IHbhu5tpIHRy4bqhbmcgdGjDoWkgdGhvw6F0IG3DoCBraMO0bmcgY8OzIGvhur90IHh14bqldCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzMzCisjOiBidWlsdGluL2dyZXAuYzo3MzUKIG1zZ2lkICJzaG93IG9ubHkgbWF0Y2hlcyBmcm9tIGZpbGVzIHRoYXQgbWF0Y2ggYWxsIHBhdHRlcm5zIgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgbmjhu69uZyBjw6FpIGto4bubcCB04burIHThuq1wIHRpbiBtw6AgbsOzIGto4bubcCB0b8OgbiBi4buZIGPDoWMgbeG6q3UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczNQorIzogYnVpbHRpbi9ncmVwLmM6NzM3CiBtc2dpZCAic2hvdyBwYXJzZSB0cmVlIGZvciBncmVwIGV4cHJlc3Npb24iCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6J5IHBow6JuIHTDrWNoIGPDuiBwaMOhcCBjaG8gYmnhu4N1IHRo4bupYyDigJxncmVw4oCdICh0w6xtIGtp4bq/bSkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczOQorIzogYnVpbHRpbi9ncmVwLmM6NzQxCiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgInRyYW5nIGdp4bqleSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzM5CisjOiBidWlsdGluL2dyZXAuYzo3NDEKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIGto4bubcCB0cm9uZyB0cmFuZyBnaeG6pXkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0MgorIzogYnVpbHRpbi9ncmVwLmM6NzQ0CiBtc2dpZCAiYWxsb3cgY2FsbGluZyBvZiBncmVwKDEpIChpZ25vcmVkIGJ5IHRoaXMgYnVpbGQpIgogbXNnc3RyICJjaG8gcGjDqXAgZ+G7jWkgZ3JlcCgxKSAoYuG7iyBi4buPIHF1YSBi4bufaSBs4bqnbiBk4buLY2ggbsOgeSkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0MyBidWlsdGluL3Nob3ctcmVmLmM6MTg4CisjOiBidWlsdGluL2dyZXAuYzo3NDUgYnVpbHRpbi9zaG93LXJlZi5jOjE4NwogbXNnaWQgInNob3cgdXNhZ2UiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjaCBkw7luZyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODEwCisjOiBidWlsdGluL2dyZXAuYzo4MTIKIG1zZ2lkICJubyBwYXR0ZXJuIGdpdmVuLiIKIG1zZ3N0ciAiY2jGsGEgY2jhu4kgcmEgbeG6q3UuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3MAogbXNnaWQgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBvbmx5IHdvcmtzIG9uIHRoZSB3b3JrdHJlZSIKIG1zZ3N0ciAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIGNo4buJIGzDoG0gdmnhu4djIHRyw6puIGPDonktbMOgbS12aeG7h2MiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4OAorIzogYnVpbHRpbi9ncmVwLmM6ODkzCiBtc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKIG1zZ3N0ciAiLS1jYWNoZWQgaGF5IC0tdW50cmFja2VkIGtow7RuZyDEkcaw4bujYyBz4butIGThu6VuZyB24bubaSAtLW5vLWluZGV4LiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODkzCisjOiBidWlsdGluL2dyZXAuYzo4OTgKIG1zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cy4iCiBtc2dzdHIgIiIKICItLW5vLWluZGV4IGhheSAtLXVudHJhY2tlZCBraMO0bmcgxJHGsOG7o2Mgc+G7rSBk4bulbmcgY8O5bmcgduG7m2kgY8OhYyB0w7l5IGNo4buNbiBsacOqbiAiCiAicXVhbiDEkeG6v24gcmV2cy4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg5NgorIzogYnVpbHRpbi9ncmVwLmM6OTAxCiBtc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMuIgogbXNnc3RyICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBraMO0bmcgdGjhu4Mgc+G7rSBk4bulbmcgY2hvIG7hu5lpIGR1bmcgbMawdSBk4bqldSB24bq/dC4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwNAorIzogYnVpbHRpbi9ncmVwLmM6OTA5CiBtc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuLiIKIG1zZ3N0ciAiY+G6oyBoYWkgLS1jYWNoZWQgdsOgIGPDoWMgY8OieSBwaOG6o2kgxJHGsOG7o2MgY2jhu4kgcmEuIgogCkBAIC01NjU4LDcgKzU4NTksNyBAQAogIzogYnVpbHRpbi9oZWxwLmM6NDYwIGJ1aWx0aW4vaGVscC5jOjQ3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMlcyIKLW1zZ3N0ciAiY8OhY2ggc+G7rSBk4bulbmc6ICVzJXMiCittc2dzdHIgImPDoWNoIGTDuW5nOiAlcyVzIgogCiAjOiBidWlsdGluL2hlbHAuYzo0OTIKICMsIGMtZm9ybWF0CkBAIC01NzYwLDggKzU5NjEsOCBAQAogbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKIG1zZ3N0ciAiU+G7sCBWQSBDSOG6oE0gU0hBMSDEkMODIFjhuqJZIFJBIFbhu5pJICVzISIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjY5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTcwCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjY5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTcxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyAlcyIKQEAgLTU3OTAsMTU1ICs1OTkxLDE1NSBAQAogbXNnaWQgIk5vdCBhbGwgY2hpbGQgb2JqZWN0cyBvZiAlcyBhcmUgcmVhY2hhYmxlIgogbXNnc3RyICJLaMO0bmcgcGjhuqNpIHThuqV0IGPhuqMgY8OhYyDEkeG7kWkgdMaw4bujbmcgY29uIGPhu6dhICVzIGzDoCBjw7MgdGjhu4MgduG7m2kgdOG7m2kgxJHGsOG7o2MiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzOCBidWlsdGluL2luZGV4LXBhY2suYzo4NjgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzOSBidWlsdGluL2luZGV4LXBhY2suYzo4NjkKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSDDoXAgZOG7pW5nIGRlbHRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDEwCiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgIsSQYW5nIG5o4bqtbiB24buBIGPDoWMgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDEwCiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiQ8OhYyDEkeG7kWkgdMaw4bujbmcgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDM2CiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICJwYWNrIGLhu4sgc2FpIGjhu49uZyAoU0hBMSBraMO0bmcga2jhu5twKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA0MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTA0MQogbXNnaWQgImNhbm5vdCBmc3RhdCBwYWNrZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGZzdGF0IHBhY2tmaWxlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDQ0CiBtc2dpZCAicGFjayBoYXMganVuayBhdCB0aGUgZW5kIgogbXNnc3RyICJwYWNrIGPDsyBwaOG6p24gdGjhu6thIOG7nyBjdeG7kWkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNTUKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogbXNnc3RyICJs4buZbiB44buZbiBoxqFuIGPhuqMgxJFpw6puIHLhu5Mga2hpIGNo4bqheSBow6BtIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDc3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMDc4CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAixJBhbmcgcGjDom4gZ2nhuqNpIGPDoWMgZGVsdGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwODcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwODgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdHV54bq/bjogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMzAKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICJs4buZbiB44buZbiBoxqFuIGPhuqMgxJFpw6puIHLhu5MiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0cyIKIG1zZ3N0ciAixJHhuqd5IMSR4bunIHbhu5tpICVkIMSR4buRaSB0xrDhu6NuZyBu4buZaSBi4buZIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICJU4buVbmcga2nhu4NtIHRyYSB0YWlsIGtow7RuZyBuaMawIG1vbmcgxJHhu6NpIGNobyAlcyAoxJHEqWEgaOG7j25nPykiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YSIKIG1zZ2lkX3BsdXJhbCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YXMiCiBtc2dzdHJbMF0gInBhY2sgY8OzICVkIGRlbHRhIGNoxrBhIMSRxrDhu6NjIGdp4bqjaSBxdXnhur90IgogbXNnc3RyWzFdICJwYWNrIGPDsyAlZCBkZWx0YSBjaMawYSDEkcaw4bujYyBnaeG6o2kgcXV54bq/dCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIHjhuqMgxJHhu5FpIHTGsOG7o25nIG7hu5FpIHRow6ptICglZCkiCittc2dzdHIgImtow7RuZyB0aOG7gyB44bqjIG7DqW4gxJHhu5FpIHTGsOG7o25nIG7hu5FpIHRow6ptICglZCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9jYWwgb2JqZWN0ICVzIGlzIGNvcnJ1cHQiCiBtc2dzdHIgIsSR4buRaSB0xrDhu6NuZyBu4buZaSBi4buZICVzIGLhu4sgaOG7j25nIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjc5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjgwCiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCi1tc2dzdHIgImfhurdwIGzhu5dpIHRyb25nIGtoaSDEkcOzbmcgdOG6rXAgdGluIHBhY2siCittc2dzdHIgImfhurdwIGzhu5dpIHRyb25nIGtoaSDEkcOzbmcgdOG6rXAgdGluIGfDs2kgKHBhY2spIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB04bqtcCB0aW4gZ2nhu68gbOG6oWkg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNsb3NlIHdyaXR0ZW4ga2VlcCBmaWxlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkcOzbmcgdOG6rXAgdGluIGdp4buvIGzhuqFpIMSRw6MgxJHGsOG7o2MgZ2hpIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzEzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzE0CiBtc2dpZCAiY2Fubm90IHN0b3JlIHBhY2sgZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzGsHUgdOG6rXAgdGluIHBhY2siCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMjQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMjUKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgaW5kZXggZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzGsHUgdHLhu68gdOG6rXAgdGluIGdoaSBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM1NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICJzYWkgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzYzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCiBtc2dzdHIgInPhu5EgdHV54bq/biBjaOG7iSByYSBraMO0bmcgaOG7o3AgbOG7hyAoJWQpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzY3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgogbXNnc3RyICJraMO0bmcgaOG7lyB0cuG7oyDEkWEgdHV54bq/biwgYuG7jyBxdWEgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBt4bufIHThuq1wIHRpbiBwYWNrIMSRw6Mgc+G6tW4gY8OzIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBt4bufIHThuq1wIHRpbiDigJxwYWNrIGlkeOKAnSBjaG8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKIG1zZ3N0clswXSAia2jDtG5nIGRlbHRhOiAlZCDEkeG7kWkgdMaw4bujbmciCiBtc2dzdHJbMV0gImtow7RuZyBkZWx0YTogJWQgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCiBtc2dzdHJbMF0gImNoaeG7gXUgZMOgaSB4w61jaCA9ICVkOiAlbHUgxJHhu5FpIHTGsOG7o25nIgogbXNnc3RyWzFdICJjaGnhu4F1IGTDoGkgeMOtY2ggPSAlZDogJWx1IMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUxMAogbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgcXVheSBs4bqhaSBjd2QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2MAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3MiBidWlsdGluL2luZGV4LXBhY2suYzoxNTc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTU4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NjEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NzMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgIiVzIHNhaSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MQogbXNnaWQgIi0tZml4LXRoaW4gY2Fubm90IGJlIHVzZWQgd2l0aG91dCAtLXN0ZGluIgogbXNnc3RyICItLWZpeC10aGluIGtow7RuZyB0aOG7gyDEkcaw4bujYyBkw7luZyBtw6Aga2jDtG5nIGPDsyAtLXN0ZGluIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKIG1zZ3N0ciAidMOqbiB04bqtcCB0aW4gcGFja2ZpbGUg4oCcJXPigJ0ga2jDtG5nIMSRxrDhu6NjIGvhur90IHRow7pjIGLhurFuZyDEkXXDtGkg4oCcLnBhY2vigJ0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTQKIG1zZ2lkICItLXZlcmlmeSB3aXRoIG5vIHBhY2tmaWxlIG5hbWUgZ2l2ZW4iCiBtc2dzdHIgImTDuW5nIHTDuXkgY2jhu41uIC0tdmVyaWZ5IG3DoCBraMO0bmcgxJHGsGEgcmEgdMOqbiBwYWNrZmlsZSIKIApAQCAtNjAyNywxMSArNjIyOCw2IEBACiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgImtow7RuZyBkaSBjaHV54buDbiDEkcaw4bujYyAlcyB2w6BvICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBnaXQgbGluayAlcyIKLW1zZ3N0ciAiS2jDtG5nIHRo4buDIHThuqFvIGxpw6puIGvhur90IGdpdCDigJwlc+KAnSIKLQogIy4KICMuICogVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAnJXMnIGlzIGVpdGhlciAiUmVpbml0aWFsaXplZAogIy4gKiBleGlzdGluZyIgb3IgIkluaXRpYWxpemVkIGVtcHR5IiwgdGhlIHNlY29uZCAiIHNoYXJlZCIgb3IKQEAgLTYwNjAsOCArNjI1Niw4IEBACiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ2NwogbXNnaWQgIiIKLSJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gWy0tc2hhcmVkIgotIls9PHBlcm1pc3Npb25zPl1dIFtkaXJlY3RvcnldIgorImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTx0ZW1wbGF0ZS1kaXJlY3Rvcnk+XSBbLS0iCisic2hhcmVkWz08cGVybWlzc2lvbnM+XV0gW2RpcmVjdG9yeV0iCiBtc2dzdHIgIiIKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGjGsC1t4bulYy104bqhbT5dIFstLXNoYXJlZFs9PGPDoWMtIgogInF1eeG7gW4+XV0gW3RoxrAtbeG7pWNdIgpAQCAtNjA3NCw3ICs2MjcwLDcgQEAKIG1zZ2lkICJzcGVjaWZ5IHRoYXQgdGhlIGdpdCByZXBvc2l0b3J5IGlzIHRvIGJlIHNoYXJlZCBhbW9uZ3N0IHNldmVyYWwgdXNlcnMiCiBtc2dzdHIgImNo4buJIHJhIGPDoWkgbcOgIGtobyBnaXQgxJHGsOG7o2MgY2hpYSBz4bq7IGdp4buvYSBuaGnhu4F1IG5nxrDhu51pIGTDuW5nIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0OTMgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDkzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzUgYnVpbHRpbi9yZXBhY2suYzoxNTUKIG1zZ2lkICJiZSBxdWlldCIKIG1zZ3N0ciAiaW0gbOG6t25nIgogCkBAIC02MTE0LDI0NyArNjMxMCwyNDcgQEAKIG1zZ2lkICIgICBvcjogZ2l0IHNob3cgW29wdGlvbnNdIDxvYmplY3Q+Li4uIgogbXNnc3RyICIgIGhheTogZ2l0IHNob3cgW2PDoWMtdMO5eS1jaOG7jW5dIDzEkeG7kWktdMaw4bujbmc+Li4uIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNAorIzogYnVpbHRpbi9sb2cuYzoxMjUKIG1zZ2lkICJzdXBwcmVzcyBkaWZmIG91dHB1dCIKIG1zZ3N0ciAiY2jhurduIG3hu41pIGvhur90IHh14bqldCB04burIGRpZmYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1CisjOiBidWlsdGluL2xvZy5jOjEyNgogbXNnaWQgInNob3cgc291cmNlIgogbXNnc3RyICJoaeG7g24gdGjhu4sgbcOjIG5ndeG7k24iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI2CisjOiBidWlsdGluL2xvZy5jOjEyNwogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICJT4butIGThu6VuZyB04bqtcCB0aW4gw6FuaCB44bqhIHRoxrAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI3CisjOiBidWlsdGluL2xvZy5jOjEyOAogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCiBtc2dzdHIgImPDoWMgdMO5eSBjaOG7jW4gdHJhbmcgdHLDrSIKIAotIzogYnVpbHRpbi9sb2cuYzoyMzAKKyM6IGJ1aWx0aW4vbG9nLmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpbmFsIG91dHB1dDogJWQgJXNcbiIKIG1zZ3N0ciAiS+G6v3QgeHXhuqV0IGN14buRaSBjw7luZzogJWQgJXNcbiIKIAotIzogYnVpbHRpbi9sb2cuYzo0NTMgYnVpbHRpbi9sb2cuYzo1NDUKKyM6IGJ1aWx0aW4vbG9nLmM6NDczIGJ1aWx0aW4vbG9nLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4buNYyDEkeG7kWkgdMaw4bujbmcgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTY5CisjOiBidWlsdGluL2xvZy5jOjU4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHR5cGU6ICVkIgogbXNnc3RyICJLaMO0bmcgbmjhuq1uIHJhIGtp4buDdTogJWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NjY5CisjOiBidWlsdGluL2xvZy5jOjY4OQogbXNnaWQgImZvcm1hdC5oZWFkZXJzIHdpdGhvdXQgdmFsdWUiCiBtc2dzdHIgImZvcm1hdC5oZWFkZXJzIGtow7RuZyBjw7MgZ2nDoSB0cuG7iyBj4bulIHRo4buDIgogCi0jOiBidWlsdGluL2xvZy5jOjc1MQorIzogYnVpbHRpbi9sb2cuYzo3NzEKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgInTDqm4gY+G7p2EgdGjGsCBt4bulYyBr4bq/dCB4deG6pXQgcXXDoSBkw6BpIgogCi0jOiBidWlsdGluL2xvZy5jOjc2NworIzogYnVpbHRpbi9sb2cuYzo3ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIG1p4bq/bmcgdsOhOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo3ODEKKyM6IGJ1aWx0aW4vbG9nLmM6ODAxCiBtc2dpZCAiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iCiBtc2dzdHIgIkPhuqduIGNow61uaCB4w6FjIG3hu5l0IHbDuW5nLiIKIAotIzogYnVpbHRpbi9sb2cuYzo3ODkKKyM6IGJ1aWx0aW4vbG9nLmM6ODA5CiBtc2dpZCAiTm90IGEgcmFuZ2UuIgogbXNnc3RyICJLaMO0bmcgcGjhuqNpIGzDoCBt4buZdCB2w7luZy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODkxCisjOiBidWlsdGluL2xvZy5jOjkxMQogbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCiBtc2dzdHIgIuKAnUNvdmVyIGxldHRlcuKAnSBj4bqnbiBjaG8gxJHhu4tuaCBk4bqhbmcgdGjGsCIKIAotIzogYnVpbHRpbi9sb2cuYzo5NjcKKyM6IGJ1aWx0aW4vbG9nLmM6OTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCiBtc2dzdHIgImluLXJlcGx5LXRvIMSRacOqbiBy4buTOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo5OTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTAxNQogbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggW29wdGlvbnNdIFs8c2luY2U+IHwgPHJldmlzaW9uIHJhbmdlPl0iCiBtc2dzdHIgImdpdCBmb3JtYXQtcGF0Y2ggW2PDoWMtdMO5eS1jaOG7jW5dIFs8a+G7gy104burPiB8IDx2w7luZy14ZW0teMOpdD5dIgogCi0jOiBidWlsdGluL2xvZy5jOjEwNDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTA2MAogbXNnaWQgIlR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgogbXNnc3RyICJIYWkgdGjGsCBt4bulYyBr4bq/dCB4deG6pXQ/IgogCi0jOiBidWlsdGluL2xvZy5jOjExNTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTE3NQogbXNnaWQgInVzZSBbUEFUQ0ggbi9tXSBldmVuIHdpdGggYSBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgImTDuW5nIFtQQVRDSCBuL21dIG5nYXkgY+G6oyB24bubaSBtaeG6v25nIHbDoSDEkcahbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTU4CisjOiBidWlsdGluL2xvZy5jOjExNzgKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKIG1zZ3N0ciAiZMO5bmcgW1bDgV0gbmdheSBj4bqjIHbhu5tpIGPDoWMgbWnhur9uZyB2w6EgcGjhu6ljIHThuqFwIgogCi0jOiBidWlsdGluL2xvZy5jOjExNjIKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4MgogbXNnaWQgInByaW50IHBhdGNoZXMgdG8gc3RhbmRhcmQgb3V0IgogbXNnc3RyICJoaeG7g24gdGjhu4sgbWnhur9uZyB2w6EgcmEgxJHhuqd1IHJhIGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2NAorIzogYnVpbHRpbi9sb2cuYzoxMTg0CiBtc2dpZCAiZ2VuZXJhdGUgYSBjb3ZlciBsZXR0ZXIiCiBtc2dzdHIgInThuqFvIGLDrCB0aMawIgogCi0jOiBidWlsdGluL2xvZy5jOjExNjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTE4NgogbXNnaWQgInVzZSBzaW1wbGUgbnVtYmVyIHNlcXVlbmNlIGZvciBvdXRwdXQgZmlsZSBuYW1lcyIKIG1zZ3N0ciAic+G7rSBk4bulbmcgY2jhu5dpIGTDo3kgc+G7kSBk4bqhbmcgxJHGoW4gZ2nhuqNuIGNobyB0w6puIHThuq1wLXRpbiB4deG6pXQgcmEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2NworIzogYnVpbHRpbi9sb2cuYzoxMTg3CiBtc2dpZCAic2Z4IgogbXNnc3RyICJzZngiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE2OAorIzogYnVpbHRpbi9sb2cuYzoxMTg4CiBtc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCiBtc2dzdHIgInPhu60gZOG7pW5nIDxzZng+IHRoYXkgY2hvIOKAnC5wYXRjaOKAnSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTcwCisjOiBidWlsdGluL2xvZy5jOjExOTAKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICJi4bqvdCDEkeG6p3UgxJHDoW5oIHPhu5EgbWnhur9uZyB2w6EgdOG7qyA8bj4gdGhheSB2w6wgMSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTcyCisjOiBidWlsdGluL2xvZy5jOjExOTIKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgIsSRw6FuaCBk4bqldSBjaHXhu5dpIG7hu5FpIHRp4bq/cCBk4bqhbmcgdGjhu6ktTiByZS1yb2xsIgogCi0jOiBidWlsdGluL2xvZy5jOjExNzQKKyM6IGJ1aWx0aW4vbG9nLmM6MTE5NAogbXNnaWQgIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAiRMO5bmcgWzx0aeG7gW4tdOG7kT5dIHRoYXkgY2hvIFtWw4FdIgogCi0jOiBidWlsdGluL2xvZy5jOjExNzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTE5NwogbXNnaWQgInN0b3JlIHJlc3VsdGluZyBmaWxlcyBpbiA8ZGlyPiIKIG1zZ3N0ciAibMawdSBjw6FjIHThuq1wIHRpbiBr4bq/dCBxdeG6oyB0cm9uZyA8dC5t4bulYz4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE4MAorIzogYnVpbHRpbi9sb2cuYzoxMjAwCiBtc2dpZCAiZG9uJ3Qgc3RyaXAvYWRkIFtQQVRDSF0iCiBtc2dzdHIgImtow7RuZyBzdHJpcC9hZGQgW1bDgV0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE4MworIzogYnVpbHRpbi9sb2cuYzoxMjAzCiBtc2dpZCAiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIKIG1zZ3N0ciAia2jDtG5nIGvhur90IHh14bqldCBkaWZmIChuaOG7r25nIGtow6FjIGJp4buHdCkgbmjhu4sgcGjDom4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE4NQorIzogYnVpbHRpbi9sb2cuYzoxMjA1CiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICJraMO0bmcgYmFvIGfhu5NtIG1p4bq/bmcgdsOhIGto4bubcCB24bubaSBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIHRoxrDhu6NuZyBuZ3Xhu5NuIgogCi0jOiBidWlsdGluL2xvZy5jOjExODcKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwNwogbXNnaWQgInNob3cgcGF0Y2ggZm9ybWF0IGluc3RlYWQgb2YgZGVmYXVsdCAocGF0Y2ggKyBzdGF0KSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIMSR4buLbmggZOG6oW5nIG1p4bq/bmcgdsOhIHRoYXkgdsOsIG3hurdjIMSR4buLbmggKG1p4bq/bmcgdsOhICsgdGjhu5FuZyBrw6opIgogCi0jOiBidWlsdGluL2xvZy5jOjExODkKKyM6IGJ1aWx0aW4vbG9nLmM6MTIwOQogbXNnaWQgIk1lc3NhZ2luZyIKIG1zZ3N0ciAiTOG7nWkgbmjhuq9uIgogCi0jOiBidWlsdGluL2xvZy5jOjExOTAKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxMAogbXNnaWQgImhlYWRlciIKIG1zZ3N0ciAixJHhuqd1IMSR4buBIHRoxrAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5MQorIzogYnVpbHRpbi9sb2cuYzoxMjExCiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKIG1zZ3N0ciAidGjDqm0gxJHhuqd1IMSR4buBIHRoxrAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5MiBidWlsdGluL2xvZy5jOjExOTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxMiBidWlsdGluL2xvZy5jOjEyMTQKIG1zZ2lkICJlbWFpbCIKIG1zZ3N0ciAidGjGsCDEkWnhu4duIHThu60iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE5MgorIzogYnVpbHRpbi9sb2cuYzoxMjEyCiBtc2dpZCAiYWRkIFRvOiBoZWFkZXIiCiBtc2dzdHIgInRow6ptIFRvOiDEkeG6p3UgxJHhu4EgdGjGsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTk0CisjOiBidWlsdGluL2xvZy5jOjEyMTQKIG1zZ2lkICJhZGQgQ2M6IGhlYWRlciIKIG1zZ3N0ciAidGjDqm0gQ2M6IMSR4bqndSDEkeG7gSB0aMawIgogCi0jOiBidWlsdGluL2xvZy5jOjExOTYKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxNgogbXNnaWQgImlkZW50IgogbXNnc3RyICJ0aOG7pXQgbOG7gSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTk3CisjOiBidWlsdGluL2xvZy5jOjEyMTcKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICIiCi0ixJHhurd0IGDEkOG7i2EgY2jhu4kgZ+G7rWknIHRow6BuaCA8dGjhu6UgbOG7gT4gKGhv4bq3YyB0aOG7pXQgbOG7gSBuZ8aw4budaSBjb21taXQgbuG6v3UgYuG7jyBxdcOqbikiCisixJHhurd0IOKAnMSQ4buLYSBjaOG7iSBn4butaeKAnSB0aMOgbmggPHRo4bulIGzhu4E+IChob+G6t2MgdGjhu6V0IGzhu4EgbmfGsOG7nWkgY29tbWl0IG7hur91IGLhu48gcXXDqm4pIgogCi0jOiBidWlsdGluL2xvZy5jOjExOTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTIxOQogbXNnaWQgIm1lc3NhZ2UtaWQiCiBtc2dzdHIgIm1lc3NhZ2UtaWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwMAorIzogYnVpbHRpbi9sb2cuYzoxMjIwCiBtc2dpZCAibWFrZSBmaXJzdCBtYWlsIGEgcmVwbHkgdG8gPG1lc3NhZ2UtaWQ+IgogbXNnc3RyICJkw7luZyB0aMawIMSR4bqndSB0acOqbiDEkeG7gyB0cuG6oyBs4budaSA8bWVzc2FnZS1pZD4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwMSBidWlsdGluL2xvZy5jOjEyMDQKKyM6IGJ1aWx0aW4vbG9nLmM6MTIyMSBidWlsdGluL2xvZy5jOjEyMjQKIG1zZ2lkICJib3VuZGFyeSIKIG1zZ3N0ciAicmFuaCBnaeG7m2kiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwMgorIzogYnVpbHRpbi9sb2cuYzoxMjIyCiBtc2dpZCAiYXR0YWNoIHRoZSBwYXRjaCIKIG1zZ3N0ciAixJHDrW5oIGvDqG0gbWnhur9uZyB2w6EiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwNQorIzogYnVpbHRpbi9sb2cuYzoxMjI1CiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAiZMO5bmcgbWnhur9uZyB2w6EgbMOgbSBu4buZaSBkdW5nIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTIyOQogbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgogbXNnc3RyICJjaG8gcGjDqXAgbHXhu5NuZyBs4budaSBuaOG6r24sIGtp4buDdTog4oCcc2hhbGxvd+KAnSwg4oCcZGVlcOKAnSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjExCisjOiBidWlsdGluL2xvZy5jOjEyMzEKIG1zZ2lkICJzaWduYXR1cmUiCiBtc2dzdHIgImNo4buvIGvDvSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjEyCisjOiBidWlsdGluL2xvZy5jOjEyMzIKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUiCiBtc2dzdHIgInRow6ptIGNo4buvIGvDvSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjE0CisjOiBidWlsdGluL2xvZy5jOjEyMzMKIG1zZ2lkICJkb24ndCBwcmludCB0aGUgcGF0Y2ggZmlsZW5hbWVzIgogbXNnc3RyICJraMO0bmcgaGnhu4NuIHRo4buLIGPDoWMgdMOqbiB04bqtcCB0aW4gY+G7p2EgbWnhur9uZyB2w6EiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI4OAorIzogYnVpbHRpbi9sb2cuYzoxMzA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCiBtc2dzdHIgImTDsm5nIHRo4buldCBs4buBIGtow7RuZyBo4bujcCBs4buHOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzAzCisjOiBidWlsdGluL2xvZy5jOjEzMjIKIG1zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIi1uIHbDoCAgLWsgbG/huqFpIHThu6sgbOG6q24gbmhhdS4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMwNQorIzogYnVpbHRpbi9sb2cuYzoxMzI0CiBtc2dpZCAiLS1zdWJqZWN0LXByZWZpeCBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIi0tc3ViamVjdC1wcmVmaXggdsOgIC1rIHh1bmcga2jhuq9jIG5oYXUuIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMTMKKyM6IGJ1aWx0aW4vbG9nLmM6MTMzMgogbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1vbmx5IGtow7RuZyBo4bujcCBsw70iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMxNQorIzogYnVpbHRpbi9sb2cuYzoxMzM0CiBtc2dpZCAiLS1uYW1lLXN0YXR1cyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLW5hbWUtc3RhdHVzIGtow7RuZyBo4bujcCBsw70iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMxNworIzogYnVpbHRpbi9sb2cuYzoxMzM2CiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWNoZWNrIGtow7RuZyBo4bujcCBsw70iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM0MAorIzogYnVpbHRpbi9sb2cuYzoxMzU5CiBtc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCiBtc2dzdHIgIsSR4bqndSByYSBjaHXhuqluLCBoYXkgdGjGsCBt4bulYywgY2jhu41uIGPDoWkgbsOgbz8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM0MgorIzogYnVpbHRpbi9sb2cuYzoxMzYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyB04bqhbyB0aMawIG3hu6VjIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2xvZy5jOjE0OTAKKyM6IGJ1aWx0aW4vbG9nLmM6MTUwOQogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgdOG6oW8gY8OhYyB04bqtcCB0aW4ga+G6v3QgeHXhuqV0IgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTU1OAogbXNnaWQgImdpdCBjaGVycnkgWy12XSBbPHVwc3RyZWFtPiBbPGhlYWQ+IFs8bGltaXQ+XV1dIgogbXNnc3RyICJnaXQgY2hlcnJ5IFstdl0gWzx0aMaw4bujbmctbmd14buTbj4gWzxoZWFkPiBbPGdp4bubaS1o4bqhbj5dXV0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU5NAorIzogYnVpbHRpbi9sb2cuYzoxNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgZmluZCBhIHRyYWNrZWQgcmVtb3RlIGJyYW5jaCwgcGxlYXNlIHNwZWNpZnkgPHVwc3RyZWFtPiBtYW51YWxseS5cbiIKQEAgLTYzNjIsMTM5ICs2NTU4LDEzOSBAQAogIktow7RuZyB0w6xtIHRo4bqleSBuaMOhbmggbeG6oW5nIGLhu4sgdGhlbyB24bq/dCwgaMOjeSBjaOG7iSDEkeG7i25oIDx0aMaw4bujbmctbmd14buTbj4gbeG7mXQgY8OhY2ggIgogInRo4bunIGPDtG5nLlxuIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MDcgYnVpbHRpbi9sb2cuYzoxNjA5IGJ1aWx0aW4vbG9nLmM6MTYyMQorIzogYnVpbHRpbi9sb2cuYzoxNjI2IGJ1aWx0aW4vbG9nLmM6MTYyOCBidWlsdGluL2xvZy5jOjE2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBjb21taXQgJXMiCiBtc2dzdHIgIktow7RuZyBoaeG7g3UgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSAlcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQwOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjM5OAogbXNnaWQgImdpdCBscy1maWxlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCBscy1maWxlcyBbY8OhYy10w7l5LWNo4buNbl0gWzx04bqtcC10aW4+Li4uXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1NQogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgIm5o4bqtbiBk4bqhbmcgY8OhYyB0cuG6oW5nIHRow6FpIHThuq1wIHRpbiB24bubaSB0aOG6uyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1NwogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgogbXNnc3RyICIiCiAiZMO5bmcgY2jhu68gY8OhaSB2aeG6v3QgdGjGsOG7nW5nIGNobyBjw6FjIHThuq1wIHRpbiDigJxhc3N1bWUgdW5jaGFuZ2Vk4oCdIChnaeG6oyDEkeG7i25oIGtow7RuZyAiCiAidGhheSDEkeG7lWkpIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU5CiBtc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIHThuq1wIHRpbiDEkcaw4bujYyBuaOG7myB04bqhbSB2w6BvIMSR4bqndSByYSAobeG6t2MgxJHhu4tuaCkiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjEKIG1zZ2lkICJzaG93IGRlbGV0ZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIMSRw6MgeMOzYSB0cm9uZyBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjMKIG1zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIHThuq1wIHRpbiDEkcOjIGLhu4sgc+G7rWEgxJHhu5VpIHJhIGvhur90IHh14bqldCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NQogbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIGtow6FjIHRyb25nIGvhur90IHh14bqldCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NworIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NwogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gYuG7iyBi4buPIHF1YSB0cm9uZyBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzAKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHTDqm4gxJHhu5FpIHTGsOG7o25nIGPhu6dhIG7hu5lpIGR1bmcgxJHGsOG7o2MgbMawdSB0cuG6oW5nIHRow6FpIOG7nyBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzIKIG1zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gdHLDqm4gaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBtw6AgbsOzIGPhuqduIMSRxrDhu6NjIGfhu6EgYuG7jyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NAogbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZSBvbmx5IgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgdMOqbiBj4bunYSBjw6FjIHRoxrAgbeG7pWMg4oCca2jDoWPigJ0iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzcKIG1zZ2lkICJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIgogbXNnc3RyICJraMO0bmcgaGnhu4NuIHRo4buLIHRoxrAgbeG7pWMgcuG7l25nIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDkwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDgwCiBtc2dpZCAic2hvdyB1bm1lcmdlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gY2jGsGEgaMOyYSB0cuG7mW4gdHJvbmcga+G6v3QgeHXhuqV0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDkyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDgyCiBtc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCiBtc2dzdHIgImhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHJlc29sdmUtdW5kbyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4NAogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAiYuG7jyBxdWEgbmjhu69uZyB04bqtcCB0aW4ga2jhu5twIHbhu5tpIG3hu5l0IG3huqt1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDk3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDg3CiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAibeG6q3UgbG/huqFpIHRy4burIMSRxrDhu6NjIMSR4buNYyB04burIDx04bqtcCB0aW4+IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTAwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDkwCiBtc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCiBtc2dzdHIgIsSR4buNYyB0aMOqbSBjw6FjIG3huqt1IG5nb+G6oWkgdHLhu6sgbeG7l2kgdGjGsCBt4bulYyB0cm9uZyA8dOG6rXAgdGluPiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwMgorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5MgogbXNnaWQgImFkZCB0aGUgc3RhbmRhcmQgZ2l0IGV4Y2x1c2lvbnMiCiBtc2dzdHIgInRow6ptIGxv4bqhaSB0cuG7qyB0acOqdSBjaHXhuqluIGtp4buDdSBnaXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTUKIG1zZ2lkICJtYWtlIHRoZSBvdXRwdXQgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAibMOgbSBjaG8ga+G6v3QgeHXhuqV0IGxpw6puIHF1YW4gxJHhur9uIHRoxrAgbeG7pWMg4bufIG3hu6ljIGNhbyBuaOG6pXQgKGfhu5FjKSBj4bunYSBk4buxIMOhbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ5OAogbXNnaWQgImlmIGFueSA8ZmlsZT4gaXMgbm90IGluIHRoZSBpbmRleCwgdHJlYXQgdGhpcyBhcyBhbiBlcnJvciIKIG1zZ3N0ciAibuG6v3UgPHThuq1wIHRpbj4gYuG6pXQga+G7syBraMO0bmcg4bufIHRyb25nIGLhuqNuZyBt4bulYyBs4bulYywgeOG7rSBsw70gbsOzIG5oxrAgbeG7mXQgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTkKIG1zZ2lkICJ0cmVlLWlzaCIKIG1zZ3N0ciAidHJlZS1pc2giCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDAKIG1zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgogbXNnc3RyICIiCiAiZ2nhuqMgxJHhu4tuaCBy4bqxbmcgY8OhYyDEkcaw4budbmcgZOG6q24gxJHDoyBi4buLIGfhu6EgYuG7jyBr4buDIHThu6sgPHRyZWUtaXNoPiBuYXkgduG6q24gaGnhu4duIGRp4buHbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMgorIzogYnVpbHRpbi9scy1maWxlcy5jOjUwMgogbXNnaWQgInNob3cgZGVidWdnaW5nIGRhdGEiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBk4buvIGxp4buHdSBn4buhIGzhu5dpIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoyNworIzogYnVpbHRpbi9scy10cmVlLmM6MjgKIG1zZ2lkICJnaXQgbHMtdHJlZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgbHMtdHJlZSBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8dHJlZS1pc2g+IFs8xJHGsOG7nW5nLWThuqtuPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyNQorIzogYnVpbHRpbi9scy10cmVlLmM6MTI2CiBtc2dpZCAib25seSBzaG93IHRyZWVzIgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgY8OhYyB0cmVlIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjcKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyOAogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJ0cmVlcyIKIG1zZ3N0ciAixJHhu4cgcXV5IHbDoG8gY8OhYyB0aMawIG3hu6VjIGNvbiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI5CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzAKIG1zZ2lkICJzaG93IHRyZWVzIHdoZW4gcmVjdXJzaW5nIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OieSBraGkgxJHhu4cgcXV5IgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzIKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMwogbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIGJ5dGUiCiBtc2dzdHIgImNo4bqlbSBk4bupdCBt4bulYyB0aW4gduG7m2kgYnl0ZSBOVUwiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMworIzogYnVpbHRpbi9scy10cmVlLmM6MTM0CiBtc2dpZCAiaW5jbHVkZSBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAiZ+G7k20gY+G6oyBrw61jaCB0aMaw4bubYyDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNSBidWlsdGluL2xzLXRyZWUuYzoxMzcKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNiBidWlsdGluL2xzLXRyZWUuYzoxMzgKIG1zZ2lkICJsaXN0IG9ubHkgZmlsZW5hbWVzIgogbXNnc3RyICJjaOG7iSBsaeG7h3Qga8OqIHTDqm4gdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxNDAKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MQogbXNnaWQgInVzZSBmdWxsIHBhdGggbmFtZXMiCiBtc2dzdHIgImTDuW5nIHTDqm4gxJHGsOG7nW5nIGThuqtuIMSR4bqneSDEkeG7pyIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTQyCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDMKIG1zZ2lkICJsaXN0IGVudGlyZSB0cmVlOyBub3QganVzdCBjdXJyZW50IGRpcmVjdG9yeSAoaW1wbGllcyAtLWZ1bGwtbmFtZSkiCiBtc2dzdHIgImxp4buHdCBrw6ogY8OieSBt4bulYyB0aW47IGtow7RuZyBjaOG7iSB0aMawIG3hu6VjIGhp4buHbiBow6BuaCAobmfhu6Ugw70gLS1mdWxsLW5hbWUpIgogCkBAIC02NTY5LDcgKzY3NjUsNyBAQAogbXNnaWQgIlZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKIG1zZ3N0ciAiVGjhuqltIHRyYSB4ZW0gbOG6p24gY2h1eeG7g24gZ2lhbyBjw7MgdMOqbiDEkcOzIGPDsyBjaOG7ryBrw70gR1BHIGjhu6NwIGzhu4cgaGF5IGtow7RuZyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL25vdGVzLmM6NzM4IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE0CisjOiBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vbm90ZXMuYzo3MzggYnVpbHRpbi9yZXZlcnQuYzo4OQogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICJjaGnhur9uIGzGsOG7o2MiCiAKQEAgLTY5NTAsNzYgKzcxNDYsODcgQEAKIG1zZ2lkICJhbGxvdyBjcmVhdGlvbiBvZiBtb3JlIHRoYW4gb25lIHRyZWUiCiBtc2dzdHIgImNobyBwaMOpcCB04bqhbyBuaGnhu4F1IGjGoW4gbeG7mXQgY8OieSIKIAotIzogYnVpbHRpbi9tdi5jOjE0CisjOiBidWlsdGluL212LmM6MTUKIG1zZ2lkICJnaXQgbXYgW29wdGlvbnNdIDxzb3VyY2U+Li4uIDxkZXN0aW5hdGlvbj4iCiBtc2dzdHIgImdpdCBtdiBbY8OhYy10w7l5LWNo4buNbl0gPG5ndeG7k24+Li4uIDzEkcOtY2g+IgogCi0jOiBidWlsdGluL212LmM6NjQKKyM6IGJ1aWx0aW4vbXYuYzo2NwogbXNnaWQgImZvcmNlIG1vdmUvcmVuYW1lIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAiw6lwIGJ14buZYyBkaSBjaHV54buDbiBoYXkgxJHhu5VpIHTDqm4gdGjhuq1tIGNow60gY+G6oyBraGkgxJHDrWNoIMSRw6MgdOG7k24gdOG6oWkiCiAKLSM6IGJ1aWx0aW4vbXYuYzo2NQorIzogYnVpbHRpbi9tdi5jOjY4CiBtc2dpZCAic2tpcCBtb3ZlL3JlbmFtZSBlcnJvcnMiCiBtc2dzdHIgImLhu48gcXVhIGPDoWMgbOG7l2kgbGnDqm4gcXVhbiDEkeG6v24gZGkgY2h1eeG7g24sIMSR4buVaSB0w6puIgogCi0jOiBidWlsdGluL212LmM6MTA4CisjOiBidWlsdGluL212LmM6MTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHJlbmFtZSBvZiAnJXMnIHRvICclcydcbiIKIG1zZ3N0ciAixJBhbmcga2nhu4NtIHRyYSB2aeG7h2MgxJHhu5VpIHTDqm4gY+G7p2Eg4oCcJXPigJ0gdGjDoG5oIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTIKKyM6IGJ1aWx0aW4vbXYuYzoxMTcKIG1zZ2lkICJiYWQgc291cmNlIgogbXNnc3RyICJuZ3Xhu5NuIHNhaSIKIAotIzogYnVpbHRpbi9tdi5jOjExNQorIzogYnVpbHRpbi9tdi5jOjEyMAogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBkaSBjaHV54buDbiBt4buZdCB0aMawIG3hu6VjIHbDoG8gdHJvbmcgY2jDrW5oIG7DsyDEkcaw4bujYyIKIAotIzogYnVpbHRpbi9tdi5jOjExOAorIzogYnVpbHRpbi9tdi5jOjEyMwogbXNnaWQgImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiCiBtc2dzdHIgImtow7RuZyBkaSBjaHV54buDbiDEkcaw4bujYyB0aMawIG3hu6VjIHRow7RuZyBxdWEgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL212LmM6MTI4CisjOiBidWlsdGluL212LmM6MTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkh1aD8gRGlyZWN0b3J5ICVzIGlzIGluIGluZGV4IGFuZCBubyBzdWJtb2R1bGU/IgorbXNnc3RyICJI4bqjPyBUaMawIG3hu6VjIOKAnCVz4oCdIHRyb25nIGNo4buJIG3hu6VjIHbDoCBraMO0bmcgbcO0LcSRdW4gY29uPyIKKworIzogYnVpbHRpbi9tdi5jOjEzMSBidWlsdGluL3JtLmM6MzE4Cittc2dpZCAiUGxlYXNlLCBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgorbXNnc3RyICIiCisiSMOjeSBsxrB1IGPDoWMgdGhheSDEkeG7lWkgY+G7p2EgYuG6oW4gdsOgbyDigJwuZ2l0bW9kdWxlc+KAnSBoYXkgZ2hpIHbDoG8gdsO5bmcgbmjhu5sgdOG6oW0gIgorIihzdGFzaCkgY2jDum5nIMSR4buDIHjhu60gbMO9IgorCisjOiBidWlsdGluL212LmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1aD8gJS4qcyBpcyBpbiBpbmRleD8iCiBtc2dzdHIgIkjhuqM/ICUuKnMgdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjIMOgPyIKIAotIzogYnVpbHRpbi9tdi5jOjE0MAorIzogYnVpbHRpbi9tdi5jOjE1OQogbXNnaWQgInNvdXJjZSBkaXJlY3RvcnkgaXMgZW1wdHkiCiBtc2dzdHIgInRoxrAgbeG7pWMgbmd14buTbiBsw6AgdHLhu5FuZyBy4buXbmciCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzEKKyM6IGJ1aWx0aW4vbXYuYzoxOTEKIG1zZ2lkICJub3QgdW5kZXIgdmVyc2lvbiBjb250cm9sIgogbXNnc3RyICJraMO0bmcgbuG6sW0gZMaw4bubaSBz4buxIHF14bqjbiBsw70gbcOjIG5ndeG7k24iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzMKKyM6IGJ1aWx0aW4vbXYuYzoxOTMKIG1zZ2lkICJkZXN0aW5hdGlvbiBleGlzdHMiCiBtc2dzdHIgIsSRw61jaCDEkcOjIHThu5NuIHThuqFpIHPhurVuIHLhu5NpIgogCi0jOiBidWlsdGluL212LmM6MTgxCisjOiBidWlsdGluL212LmM6MjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgIsSRYW5nIGdoaSDEkcOoIGzDqm4g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODQKKyM6IGJ1aWx0aW4vbXYuYzoyMDQKIG1zZ2lkICJDYW5ub3Qgb3ZlcndyaXRlIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIMSRw6giCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODcKKyM6IGJ1aWx0aW4vbXYuYzoyMDcKIG1zZ2lkICJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiCiBtc2dzdHIgIk5oaeG7gXUgbmd14buTbiBjaG8gY8O5bmcgbeG7mXQgxJHDrWNoIgogCi0jOiBidWlsdGluL212LmM6MjAyCisjOiBidWlsdGluL212LmM6MjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgogbXNnc3RyICIlcywgbmd14buTbj0lcywgxJHDrWNoPSVzIgogCi0jOiBidWlsdGluL212LmM6MjEyCisjOiBidWlsdGluL212LmM6MjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzXG4iCiBtc2dzdHIgIsSQ4buVaSB0w6puICVzIHRow6BuaCAlc1xuIgogCi0jOiBidWlsdGluL212LmM6MjE1IGJ1aWx0aW4vcmVtb3RlLmM6NzMxCisjOiBidWlsdGluL212LmM6MjM1IGJ1aWx0aW4vcmVtb3RlLmM6NzMxIGJ1aWx0aW4vcmVwYWNrLmM6MzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICLEkeG7lWkgdMOqbiAlcyBn4bq3cCBs4buXaSIKQEAgLTcwNTgsOCArNzI2NSw4IEBACiBtc2dzdHIgIsSR4buNYyB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCiAKICM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjAKLW1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyIKLW1zZ3N0ciAiY2hvIHBow6lwIGhp4buDbiB0aOG7iyBjw6FjIHTDqm4g4oCcY2jGsGEgxJHhu4tuaCBuZ2jEqWHigJwiCittc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMgKGRlZmF1bHQpIgorbXNnc3RyICJjaG8gcGjDqXAgaW4gY8OhYyB0w6puIOKAnGNoxrBhIMSR4buLbmggbmdoxKlh4oCdICht4bq3YyDEkeG7i25oKSIKIAogIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyNgogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW4gdGhlIGlucHV0IChpbnRlcm5hbCB1c2UpIgpAQCAtNzIxMywxMiArNzQyMCwxMiBAQAogbXNnaWQgIlRoZSBub3RlIGNvbnRlbnRzIGhhcyBiZWVuIGxlZnQgaW4gJXMiCiBtc2dzdHIgIk7hu5lpIGR1bmcgZ2hpIGNow7ogY8OybiBs4bqhaSAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI0OCBidWlsdGluL3RhZy5jOjU0MAorIzogYnVpbHRpbi9ub3Rlcy5jOjI0OCBidWlsdGluL3RhZy5jOjUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjUwIGJ1aWx0aW4vdGFnLmM6NTQzCisjOiBidWlsdGluL25vdGVzLmM6MjUwIGJ1aWx0aW4vdGFnLmM6NTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIG9yIHJlYWQgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gaGF5IMSR4buNYyDigJwlc+KAnSIKQEAgLTcyMjYsNyArNzQzMyw3IEBACiAjOiBidWlsdGluL25vdGVzLmM6MjY5IGJ1aWx0aW4vbm90ZXMuYzozMTYgYnVpbHRpbi9ub3Rlcy5jOjMxOAogIzogYnVpbHRpbi9ub3Rlcy5jOjM3OCBidWlsdGluL25vdGVzLmM6NDMyIGJ1aWx0aW4vbm90ZXMuYzo1MTUKICM6IGJ1aWx0aW4vbm90ZXMuYzo1MjAgYnVpbHRpbi9ub3Rlcy5jOjU5NSBidWlsdGluL25vdGVzLmM6NjM3Ci0jOiBidWlsdGluL25vdGVzLmM6ODM5IGJ1aWx0aW4vdGFnLmM6NTU2CisjOiBidWlsdGluL25vdGVzLmM6ODM5IGJ1aWx0aW4vdGFnLmM6NTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgcGjDom4gZ2nhuqNpIOKAnCVz4oCdIG5oxrAgbMOgIG3hu5l0IHRoYW0gY2hp4bq/dSAocmVmKSBo4bujcCBs4buHLiIKQEAgLTcyMzksNyArNzQ0Niw3IEBACiAjOiBidWlsdGluL25vdGVzLmM6MzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKLW1zZ3N0ciAiRMOybmcgbmjhuq1wIHbDoG8gZOG7iyBow6xuaDog4oCcJXPigJ0uIgorbXNnc3RyICJEw7JuZyDEkeG6p3UgdsOgbyBk4buLIGjDrG5oOiDigJwlc+KAnS4iCiAKICM6IGJ1aWx0aW4vbm90ZXMuYzozMjcKICMsIGMtZm9ybWF0CkBAIC03NDAzLDE0OSArNzYxMCwxNDkgQEAKICJnaXQgcGFjay1vYmplY3RzIFtjw6FjLXTDuXktY2jhu41uLi4uXSBiYXNlLW5hbWUgWzwgZGFuaC1zw6FjaC1yZWYgfCA8IGRhbmgtc8OhY2gtIgogIsSR4buRaS10xrDhu6NuZ10iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTgzIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWZsYXRlIGVycm9yICglZCkiCiBtc2dzdHIgImzhu5dpIGdp4bqjaSBuw6luICglZCkiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjM5NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCiBtc2dzdHIgInBoacOqbiBi4bqjbiBt4bulYyBs4bulYyBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKIG1zZ3N0ciAicGhpw6puIGLhuqNuIG3hu6VjIGzhu6VjIHNhaSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDI0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAib3B0aW9uICVzIGRvZXMgbm90IGFjY2VwdCBuZWdhdGl2ZSBmb3JtIgogbXNnc3RyICJ0w7l5IGNo4buNbiAlcyBraMO0bmcgY2jhuqVwIG5o4bqtbiBk4bqhbmcgdGjhu6ljIMOibSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDI4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIHZhbHVlICclcycgZm9yIG9wdGlvbiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGdpw6EgdHLhu4sg4oCcJXPigJ0gY2hvIHTDuXkgY2jhu41uICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0OAogbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICJraMO0bmcgaGnhu4NuIHRo4buLIGLhu5kgxJFvIHRp4bq/biB0csOsbmgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDUwCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGLhu5kgxJFvIHRp4bq/biB0csOsbmgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDUyCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBi4buZIMSRbyB0aeG6v24gdHJp4buDbiB0cm9uZyBzdeG7kXQgcGhhIGdoaSDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU1CiBtc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgogbXNnc3RyICJ0xrDGoW5nIHThu7EgLS1hbGwtcHJvZ3Jlc3Mga2hpIGLhu5kgxJFvIHRp4bq/biB0csOsbmggxJHGsOG7o2MgeHXhuqV0IGhp4buHbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTYKIG1zZ2lkICJ2ZXJzaW9uWyxvZmZzZXRdIgogbXNnc3RyICJwaGnDqm4gYuG6o25bLG9mZnNldF0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU3CiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAiZ2hpIHThuq1wIHRpbiBi4bqjbmcgbeG7pWMgbOG7pWMgZ8OzaSAocGFjaykg4bufIHBoacOqbiBi4bqjbiDEkeG7i25oIGThuqFuZyBpZHggxJHDoyBjaG8iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYwCiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKIG1zZ3N0ciAia2PDrWggdGjGsOG7m2MgdOG7kWkgxJFhIGNobyB04bqtcCB0aW4gZ8OzaSDEkcaw4bujYyB04bqhbyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjIKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgImLhu48gcXVhIGPDoWMgxJHhu5FpIHTGsOG7o25nIHZheSBtxrDhu6NuIHThu6sga2hvIMSR4buRaSB0xrDhu6NuZyB0aGF5IHRo4bq/IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NAogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAiYuG7jyBxdWEgY8OhYyDEkeG7kWkgdMaw4bujbmcgxJHDs25nIGfDs2kiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY2CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAiZ2nhu5tpIGjhuqFuIGPhu61hIHPhu5UgxJHDs25nIGfDs2kgdGhlbyDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY4CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgbWVtb3J5IGluIGFkZGl0aW9uIHRvIG9iamVjdCBsaW1pdCIKIG1zZ3N0ciAiZ2nhu5tpIGjhuqFuIGPhu61hIHPhu5UgxJHDs25nIGfDs2kgdGhlbyBi4buZIG5o4bubIGPhu5luZyB0aMOqbSB24bubaSBnaeG7m2kgaOG6oW4gxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MAogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICLEkeG7mSBkw6BpIHThu5FpIMSRYSBj4bunYSBjaHXhu5dpIG3Ds2MgeMOtY2gg4oCcZGVsdGHigJ0gxJHGsOG7o2MgcGjDqXAgdHJvbmcgZ8OzaSBr4bq/dCBxdeG6oyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDcxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzIKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBkZWx0YXMiCiBtc2dzdHIgImTDuW5nIGzhuqFpIGPDoWMgZGVsdGEgc+G6tW4gY8OzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3NAogbXNnaWQgInJldXNlIGV4aXN0aW5nIG9iamVjdHMiCiBtc2dzdHIgImTDuW5nIGzhuqFpIGPDoWMgxJHhu5FpIHTGsOG7o25nIHPhurVuIGPDsyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzYKIG1zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCiBtc2dzdHIgImTDuW5nIGPDoWMgxJHhu5FpIHTGsOG7o25nIE9GU19ERUxUQSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzgKIG1zZ2lkICJ1c2UgdGhyZWFkcyB3aGVuIHNlYXJjaGluZyBmb3IgYmVzdCBkZWx0YSBtYXRjaGVzIgogbXNnc3RyICJz4butIGThu6VuZyBjw6FjIHR1eeG6v24gdHLDrG5oIGtoaSB0w6xtIGtp4bq/bSBjaG8gY8OhYyBt4bqrdSBraOG7m3AgZGVsdGEgdOG7kXQgbmjhuqV0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MAogbXNnaWQgImRvIG5vdCBjcmVhdGUgYW4gZW1wdHkgcGFjayBvdXRwdXQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyBr4bq/dCB4deG6pXQgZ8OzaSAocGFjaykgdHLhu5FuZyBy4buXbmciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgyCiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIMSR4buNYyB0aGFtIHPhu5Eg4oCccmV2aXNpb27igJ0gdOG7qyB0aGnhur90IGLhu4sgbmjhuq1wIGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg0CiBtc2dpZCAibGltaXQgdGhlIG9iamVjdHMgdG8gdGhvc2UgdGhhdCBhcmUgbm90IHlldCBwYWNrZWQiCiBtc2dzdHIgImdp4bubaSBo4bqhbiBjw6FjIMSR4buRaSB0xrDhu6NuZyB0aMOgbmggbmjhu69uZyBjw6FpIG3DoCBjaMO6bmcgduG6q24gY2jGsGEgxJHGsOG7o2MgxJHDs25nIGfDs2kiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg3CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIGFueSByZWZlcmVuY2UiCiBtc2dzdHIgImJhbyBn4buTbSBjw6FjIMSR4buRaSB0xrDhu6NuZyBjw7MgdGjhu4MgxJHhu41jIMSRxrDhu6NjIHThu6sgYuG6pXQga+G7syB0aGFtIGNoaeG6v3UgbsOgbyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTAKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgYnkgcmVmbG9nIGVudHJpZXMiCiBtc2dzdHIgImJhbyBn4buTbSBjw6FjIMSR4buRaSB0xrDhu6NuZyDEkcaw4bujYyB0aGFtIGNoaeG6v3UgYuG7n2kgY8OhYyBt4bulYyByZWZsb2ciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDkzCiBtc2dpZCAib3V0cHV0IHBhY2sgdG8gc3Rkb3V0IgogbXNnc3RyICJ4deG6pXQgZ8OzaSByYSDEkeG6p3UgcmEgdGnDqnUgY2h14bqpbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTUKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgImJhbyBn4buTbSBjw6FjIMSR4buRaSB0xrDhu6NuZyB0aGFtIGNoaeG6v3UgxJHhur9uIGPDoWMgxJHhu5FpIHTGsOG7o25nIMSRxrDhu6NjIMSRw7NuZyBnw7NpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NwogbXNnaWQgImtlZXAgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAiZ2nhu68gbOG6oWkgY8OhYyDEkeG7kWkgdMaw4bujbmcga2jDtG5nIHRo4buDIMSR4buNYyDEkcaw4bujYyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk3IHBhcnNlLW9wdGlvbnMuaDoxNDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5OCBwYXJzZS1vcHRpb25zLmg6MTQzCiBtc2dpZCAidGltZSIKIG1zZ3N0ciAidGjhu51pLWdpYW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk5CiBtc2dpZCAidW5wYWNrIHVucmVhY2hhYmxlIG9iamVjdHMgbmV3ZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgIiIKICJ44bqjIG7DqW4gKGfhu6Ega2jhu49pIGfDs2kpIGPDoWMgxJHhu5FpIHTGsOG7o25nIGtow7RuZyB0aOG7gyDEkeG7jWMgxJHGsOG7o2MgbeG7m2kgaMahbiA8dGjhu51pLWdpYW4+IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwMgogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICJ04bqhbyBnw7NpIG5o4bq5IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNAogbXNnaWQgImlnbm9yZSBwYWNrcyB0aGF0IGhhdmUgY29tcGFuaW9uIC5rZWVwIGZpbGUiCiBtc2dzdHIgImLhu48gcXVhIGPDoWMgZ8OzaSBtw6AgbsOzIGPDsyB04bqtcCB0aW4gLmtlZXAgxJFpIGvDqG0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA2CiBtc2dpZCAicGFjayBjb21wcmVzc2lvbiBsZXZlbCIKIG1zZ3N0ciAibeG7qWMgbsOpbiBnw7NpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwOAogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgogbXNnc3RyICJraMO0bmcg4bqpbiBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gYuG7n2kg4oCcZ3JhZnRz4oCdIgogCkBAIC03NTg1LDE1ICs3NzkyLDE1IEBACiBtc2dpZCAiZ2l0IHB1c2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgImdpdCBwdXNoIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8a2hvLWNo4bupYT4gWzxyZWZzcGVjPi4uLl1dIgogCi0jOiBidWlsdGluL3B1c2guYzo0NQorIzogYnVpbHRpbi9wdXNoLmM6NDcKIG1zZ2lkICJ0YWcgc2hvcnRoYW5kIHdpdGhvdXQgPHRhZz4iCiBtc2dzdHIgImTDuW5nIHThu5FjIGvDvSB0YWcga2jDtG5nIGPDsyA8dGjhurs+IgogCi0jOiBidWlsdGluL3B1c2guYzo2NAorIzogYnVpbHRpbi9wdXNoLmM6NjYKIG1zZ2lkICItLWRlbGV0ZSBvbmx5IGFjY2VwdHMgcGxhaW4gdGFyZ2V0IHJlZiBuYW1lcyIKIG1zZ3N0ciAiLS1kZWxldGUgY2jhu4kgY2jhuqVwIG5o4bqtbiBjw6FjIHTDqm4gdGhhbSBjaGnhur91IChyZWYpIGThuqFuZyB0aMaw4budbmciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjk5CisjOiBidWlsdGluL3B1c2guYzoxMDEKIG1zZ2lkICIiCiAiXG4iCiAiVG8gY2hvb3NlIGVpdGhlciBvcHRpb24gcGVybWFuZW50bHksIHNlZSBwdXNoLmRlZmF1bHQgaW4gJ2dpdCBoZWxwIGNvbmZpZycuIgpAQCAtNzYwMiw3ICs3ODA5LDcgQEAKICLEkOG7gyBjaOG7jW4gbeG7l2kgdMO5eSBjaOG7jW4gbeG7mXQgY8OhY2ggY+G7kSDEkeG7i25oLCB4ZW0gcHVzaC5kZWZhdWx0IHRyb25nIOKAnGdpdCBoZWxwICIKICJjb25maWfigJ0uIgogCi0jOiBidWlsdGluL3B1c2guYzoxMDIKKyM6IGJ1aWx0aW4vcHVzaC5jOjEwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHVwc3RyZWFtIGJyYW5jaCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGRvZXMgbm90IG1hdGNoXG4iCkBAIC03NjI3LDcgKzc4MzQsNyBAQAogIiAgICBnaXQgcHVzaCAlcyAlc1xuIgogIiVzIgogCi0jOiBidWlsdGluL3B1c2guYzoxMTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjExOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLlxuIgpAQCAtNzY0Miw3ICs3ODQ5LDcgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggJXMgSEVBRDo8dMOqbi1j4bunYS1uaMOhbmgtbcOheS1jaOG7pz5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTMxCisjOiBidWlsdGluL3B1c2guYzoxMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbm8gdXBzdHJlYW0gYnJhbmNoLlxuIgpAQCAtNzY1NiwxMiArNzg2MywxMiBAQAogIlxuIgogIiAgICBnaXQgcHVzaCAtLXNldC11cHN0cmVhbSAlcyAlc1xuIgogCi0jOiBidWlsdGluL3B1c2guYzoxMzkKKyM6IGJ1aWx0aW4vcHVzaC5jOjE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG11bHRpcGxlIHVwc3RyZWFtIGJyYW5jaGVzLCByZWZ1c2luZyB0byBwdXNoLiIKIG1zZ3N0ciAiTmjDoW5oIGhp4buHbiB04bqhaSAlcyBjw7MgxJFhIG5ow6FuaCB0aMaw4bujbmcgbmd14buTbiAodXBzdHJlYW0pLCB04burIGNo4buRaSBwdXNoLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTQyCisjOiBidWlsdGluL3B1c2guYzoxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgcHVzaGluZyB0byByZW1vdGUgJyVzJywgd2hpY2ggaXMgbm90IHRoZSB1cHN0cmVhbSBvZlxuIgpAQCAtNzY3Myw3ICs3ODgwLDcgQEAKICJuaMOhbmggaGnhu4duIHThuqFpIOKAnCVz4oCdIGPhu6dhIGLhuqFuLCBtw6Aga2jDtG5nIGLDoW8gY2hvIHTDtGkgYmnhur90IGzDoCBjw6FpIGfDrCDEkcaw4bujYyBwdXNoXG4iCiAixJHhu4MgY+G6rXAgbmjhuq10IG5ow6FuaCBtw6F5IGNo4bunIG7DoG8uIgogCi0jOiBidWlsdGluL3B1c2guYzoxNjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjE2NwogbXNnaWQgIiIKICJwdXNoLmRlZmF1bHQgaXMgdW5zZXQ7IGl0cyBpbXBsaWNpdCB2YWx1ZSBpcyBjaGFuZ2luZyBpblxuIgogIkdpdCAyLjAgZnJvbSAnbWF0Y2hpbmcnIHRvICdzaW1wbGUnLiBUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZVxuIgpAQCAtNzcwNiwxNCArNzkxMywxNCBAQAogInThu7FcbiIKICLigJxjdXJyZW504oCdIHRoYXkgdsOsIOKAnHNpbXBsZeKAnSBu4bq/dSBi4bqhbiB0aOG7iW5oIHRob+G6o25nIHBo4bqjaSBz4butIGThu6VuZyBi4bqjbiBHaXQgY8WpKSIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjI1CisjOiBidWlsdGluL3B1c2guYzoyMjcKIG1zZ2lkICIiCiAiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKIG1zZ3N0ciAiIgogIkLhuqFuIMSRw6Mga2jDtG5nIGNo4buJIHJhIG3hu5l0IHJlZnNwZWNzIG7DoG8gxJHhu4MgcHVzaCwgdsOgIHB1c2guZGVmYXVsdCBsw6AgXCJraMO0bmcgbMOgICIKICJnw6wgY+G6o1wiLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjMyCisjOiBidWlsdGluL3B1c2guYzoyMzQKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRpcCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGlzIGJlaGluZFxuIgogIml0cyByZW1vdGUgY291bnRlcnBhcnQuIEludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXMgKGUuZy5cbiIKQEAgLTc3MjcsNyArNzkzNCw3IEBACiAiWGVtIOKAnE5vdGUgYWJvdXQgZmFzdC1mb3J3YXJkc+KAnSB04burIGzhu4duaCDigJxnaXQgcHVzaCAtLWhlbHDigJ0gxJHhu4MgY8OzIHRow7RuZyB0aW4gY2hpICIKICJ0aeG6v3QuIgogCi0jOiBidWlsdGluL3B1c2guYzoyMzgKKyM6IGJ1aWx0aW4vcHVzaC5jOjI0MAogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIElmIHlvdSBkaWQgbm90IGludGVuZCB0byBwdXNoIHRoYXQgYnJhbmNoLCB5b3UgbWF5IHdhbnQgdG9cbiIKQEAgLTc3NDIsNyArNzk0OSw3IEBACiAidGjDoG5oIOKAnHNpbXBsZeKAnSwg4oCcY3VycmVudOKAnSBob+G6t2Mg4oCcdXBzdHJlYW3igJ0gxJHhu4MgY2jhu4kgcHVzaCBuaMOhbmggaGnhu4duIGjDoG5oIG3DoCAiCiAidGjDtGkuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNDQKKyM6IGJ1aWx0aW4vcHVzaC5jOjI0NgogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIENoZWNrIG91dCB0aGlzIGJyYW5jaCBhbmQgaW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlc1xuIgpAQCAtNzc1Niw3ICs3OTYzLDcgQEAKICJYZW0g4oCcTm90ZSBhYm91dCBmYXN0LWZvcndhcmRz4oCdIHThu6sgbOG7h25oIOKAnGdpdCBwdXNoIC0taGVscOKAnSDEkeG7gyBjw7MgdGjDtG5nIHRpbiBjaGkgIgogInRp4bq/dC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI1MAorIzogYnVpbHRpbi9wdXNoLmM6MjUyCiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgogIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKQEAgLTc3NzEsMTEgKzc5NzgsMTEgQEAKICJYZW0g4oCcTm90ZSBhYm91dCBmYXN0LWZvcndhcmRz4oCdIHThu6sgbOG7h25oIOKAnGdpdCBwdXNoIC0taGVscOKAnSDEkeG7gyBjw7MgdGjDtG5nIHRpbiBjaGkgIgogInRp4bq/dC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI1NworIzogYnVpbHRpbi9wdXNoLmM6MjU5CiBtc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKIG1zZ3N0ciAiVmnhu4djIGPhuq1wIG5o4bqtdCBi4buLIHThu6sgY2jhu5FpIGLhu59pIHbDrCB0aOG6uyDEkcOjIHPhurVuIGPDsyB04burIHRyxrDhu5tjIHRyw6puIG3DoXkgY2jhu6cuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNjAKKyM6IGJ1aWx0aW4vcHVzaC5jOjI2MgogbXNnaWQgIiIKICJZb3UgY2Fubm90IHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBwb2ludHMgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJvciB1cGRhdGUgYSByZW1vdGUgcmVmIHRvIG1ha2UgaXQgcG9pbnQgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKQEAgLTc3ODcsMjIgKzc5OTQsMjIgQEAKICJ0xrDhu6NuZ1xuIgogImtow7RuZyBwaOG6o2kgY2h1eeG7g24gZ2lhbywgbcOgIGtow7RuZyBz4butIGThu6VuZyB0w7l5IGNo4buNbiDigJwtLWZvcmNl4oCdLlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozMjAKKyM6IGJ1aWx0aW4vcHVzaC5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJQdXNoaW5nIHRvICVzXG4iCiBtc2dzdHIgIsSQYW5nIHB1c2ggKMSR4bqpeSkgbMOqbiAlc1xuIgogCi0jOiBidWlsdGluL3B1c2guYzozMjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjMzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHB1c2ggKMSR4bqpeSBsw6puKSBt4buZdCBz4buRIHRoYW0gY2hp4bq/dSAocmVmKSDEkeG6v24g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM1NworIzogYnVpbHRpbi9wdXNoLmM6MzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCByZXBvc2l0b3J5ICclcyciCiBtc2dzdHIgInJlcG9zaXRvcnkgKGtobykgc2FpIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3B1c2guYzozNTgKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NgogbXNnaWQgIiIKICJObyBjb25maWd1cmVkIHB1c2ggZGVzdGluYXRpb24uXG4iCiAiRWl0aGVyIHNwZWNpZnkgdGhlIFVSTCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJlIGEgcmVtb3RlICIKQEAgLTc4MjMsODggKzgwMzAsOTYgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggPHTDqm4+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3MworIzogYnVpbHRpbi9wdXNoLmM6MzgxCiBtc2dpZCAiLS1hbGwgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCB2w6AgLS10YWdzIHh1bmcga2jhuq9jIG5oYXUiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3NAorIzogYnVpbHRpbi9wdXNoLmM6MzgyCiBtc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKLW1zZ3N0ciAiLS1hbGwga2jDtG5nIHRo4buDIMSRxrDhu6NjIHThu5UgaOG7o3AgY8O5bmcgduG7m2kgcmVmc3BlY3MiCittc2dzdHIgIi0tYWxsIGtow7RuZyB0aOG7gyDEkcaw4bujYyB04buVIGjhu6NwIGPDuW5nIHbhu5tpIMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzc5CisjOiBidWlsdGluL3B1c2guYzozODcKIG1zZ2lkICItLW1pcnJvciBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tbWlycm9yIHbDoCAtLXRhZ3MgeHVuZyBraOG6r2MgbmhhdSIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzgwCisjOiBidWlsdGluL3B1c2guYzozODgKIG1zZ2lkICItLW1pcnJvciBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgotbXNnc3RyICItLW1pcnJvciBraMO0bmcgdGjhu4MgxJHGsOG7o2MgdOG7lSBo4bujcCBjw7luZyB24bubaSByZWZzcGVjcyIKK21zZ3N0ciAiLS1taXJyb3Iga2jDtG5nIHRo4buDIMSRxrDhu6NjIHThu5UgaOG7o3AgY8O5bmcgduG7m2kgxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIgogCi0jOiBidWlsdGluL3B1c2guYzozODUKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5MwogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCB2w6AgLS1taXJyb3IgeHVuZyBraOG6r2MgbmhhdSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDQ1CisjOiBidWlsdGluL3B1c2guYzo0NTMKIG1zZ2lkICJyZXBvc2l0b3J5IgogbXNnc3RyICJraG8iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ0NgorIzogYnVpbHRpbi9wdXNoLmM6NDU0CiBtc2dpZCAicHVzaCBhbGwgcmVmcyIKIG1zZ3N0ciAicHVzaCB04bqldCBj4bqjIHJlZnMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ0NworIzogYnVpbHRpbi9wdXNoLmM6NDU1CiBtc2dpZCAibWlycm9yIGFsbCByZWZzIgotbXNnc3RyICJtaXJyb3IgdOG6pXQgY+G6oyByZWZzIgorbXNnc3RyICJtaXJyb3IgdOG6pXQgY+G6oyBjw6FjIHRoYW0gY2hp4bq/dSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDQ5CisjOiBidWlsdGluL3B1c2guYzo0NTcKIG1zZ2lkICJkZWxldGUgcmVmcyIKIG1zZ3N0ciAieMOzYSByZWZzIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTAKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ1OAogbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKIG1zZ3N0ciAiIgogImPDoWMgdGjhursgcHVzaCAoa2jDtG5nIHRo4buDIHPhu60gZOG7pW5nIGPDuW5nIHbhu5tpIGPDoWMgdMO5eSBjaOG7jW4gLS1hbGwgaGF5IC0tbWlycm9yKSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDUzCisjOiBidWlsdGluL3B1c2guYzo0NjEKIG1zZ2lkICJmb3JjZSB1cGRhdGVzIgogbXNnc3RyICLDqXAgYnXhu5ljIGPhuq1wIG5o4bqtdCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDU0CisjOiBidWlsdGluL3B1c2guYzo0NjMKK21zZ2lkICJyZWZuYW1lPjo8ZXhwZWN0IgorbXNnc3RyICJ0w6puLXRoYW0tY2hp4bq/dT46PGPhuqduIgorCisjOiBidWlsdGluL3B1c2guYzo0NjQKK21zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKK21zZ3N0ciAiecOqdSBj4bqndSBnacOhLXRy4buLIGPFqSBj4bunYSB0aGFtIGNoaeG6v3UgdGjDrCBsw6AgZ2nDoS10cuG7iyBuw6B5IgorCisjOiBidWlsdGluL3B1c2guYzo0NjYKIG1zZ2lkICJjaGVjayIKIG1zZ3N0ciAia2nhu4NtIHRyYSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDU1CisjOiBidWlsdGluL3B1c2guYzo0NjcKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIsSRaeG7gXUga2hp4buDbiB2aeG7h2MgxJHhuql5IGzDqm4gKHB1c2gpIMSR4buHIHF1aSBj4bunYSBtw7QtxJF1bi1jb24iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1NworIzogYnVpbHRpbi9wdXNoLmM6NDY5CiBtc2dpZCAidXNlIHRoaW4gcGFjayIKIG1zZ3N0ciAidOG6oW8gZ8OzaSBuaOG6uSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDU4IGJ1aWx0aW4vcHVzaC5jOjQ1OQorIzogYnVpbHRpbi9wdXNoLmM6NDcwIGJ1aWx0aW4vcHVzaC5jOjQ3MQogbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgogbXNnc3RyICJuaOG6rW4gduG7gSBjaMawxqFuZyB0csOsbmggcGFjayIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDYwCisjOiBidWlsdGluL3B1c2guYzo0NzIKIG1zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL3N0YXR1cyIKIG1zZ3N0ciAixJHhurd0IHRoxrDhu6NuZyBuZ3Xhu5NuICh1cHN0cmVhbSkgY2hvIGdpdCBwdWxsL3N0YXR1cyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDYzCisjOiBidWlsdGluL3B1c2guYzo0NzUKIG1zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKIG1zZ3N0ciAicHJ1bmUgKGPhuq90IGPhu6V0KSBuaOG7r25nIHRoYW0gY2hp4bq/dSAocmVmcykgYuG7iyBn4buhIGLhu48iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2NQorIzogYnVpbHRpbi9wdXNoLmM6NDc3CiBtc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCiBtc2dzdHIgInbDsm5nIHF1YSDigJxwcmUtcHVzaCBob29r4oCdIgogCi0jOiBidWlsdGluL3B1c2guYzo0NjYKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3OAogbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKIG1zZ3N0ciAicHVzaCBi4buLIHRyxrDhu6N0IG5oxrBuZyBjw6FjIHRo4bq7IHRow61jaCBo4bujcCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDc2CisjOiBidWlsdGluL3B1c2guYzo0ODgKIG1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKIG1zZ3N0ciAiLS1kZWxldGUgbMOgIHh1bmcga2jhuq9jIHbhu5tpIGPDoWMgdMO5eSBjaOG7jW4gLS1hbGwsIC0tbWlycm9yIHbDoCAtLXRhZ3MiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ3OAorIzogYnVpbHRpbi9wdXNoLmM6NDkwCiBtc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCiBtc2dzdHIgIi0tZGVsZXRlIGtow7RuZyBo4bujcCBsw70gbuG6v3Uga2jDtG5nIGPDsyBi4bqldCBr4buzIHRoYW0gY2hp4bq/dSAocmVmcykgbsOgbyIKIApAQCAtNzk4MiwxNCArODE5NywxNCBAQAogCiAjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOAogbXNnaWQgImRlYnVnIHVucGFjay10cmVlcyIKLW1zZ3N0ciAiZ+G7oSBs4buXaSB1bnBhY2stdHJlZXMiCittc2dzdHIgImfhu6EgbOG7l2kg4oCcdW5wYWNrLXRyZWVz4oCdIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjUwMAorIzogYnVpbHRpbi9yZWZsb2cuYzo0OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMnIGZvciAnJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKLW1zZ3N0ciAiJXMnIGNobyAnJXMnIGtow7RuZyBwaOG6o2kgbMOgIGThuqV1IHRo4budaSBnaWFuIGjhu6NwIGzhu4ciCittc2dzdHIgImdpw6EgdHLhu4sgJXMgZMOgbmggY2hvIOKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbMOgIGThuqV1IHRo4budaSBnaWFuIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW4vcmVmbG9nLmM6NjE2IGJ1aWx0aW4vcmVmbG9nLmM6NjIxCisjOiBidWlsdGluL3JlZmxvZy5jOjYxNSBidWlsdGluL3JlZmxvZy5jOjYyMAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSBsw6AgZOG6pXUgdGjhu51pIGdpYW4gaOG7o3AgbOG7hyIKQEAgLTgwMTQsOSArODIyOSw5IEBACiBtc2dpZCAiZ2l0IHJlbW90ZSByZW1vdmUgPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHJlbW92ZSA8dMOqbj4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUgYnVpbHRpbi9yZW1vdGUuYzo0MgotbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC1kIHwgPGJyYW5jaD4pIgotbXNnc3RyICJnaXQgcmVtb3RlIHNldC1oZWFkIDx0w6puPiAoLWEgfCAtZCB8IDxuaMOhbmg+KSIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUKK21zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHw8YnJhbmNoPikiCittc2dzdHIgImdpdCByZW1vdGUgc2V0LWhlYWQgPHTDqm4+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8bmjDoW5oPikiCiAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDxuYW1lPiIKQEAgLTgwNTIsNiArODI2NywxMCBAQAogbXNnaWQgImdpdCByZW1vdGUgYWRkIFs8b3B0aW9ucz5dIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBhZGQgWzxjw6FjLXTDuXktY2jhu41uPl0gPHTDqm4+IDx1cmw+IgogCisjOiBidWlsdGluL3JlbW90ZS5jOjQyCittc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxicmFuY2g+KSIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8dMOqbj4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxuaMOhbmg+KSIKKwogIzogYnVpbHRpbi9yZW1vdGUuYzo0NwogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPHTDqm4+IDxuaMOhbmg+Li4uIgpAQCAtODE1MCw3ICs4MzY5LDcgQEAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBnZXQgZmV0Y2ggbWFwIGZvciByZWZzcGVjICVzIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgbOG6pXkgw6FuaCB44bqhIChtYXApIGZldGNoIGNobyByZWZzcGVjICVzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgbOG6pXkgw6FuaCB44bqhIChtYXApIGZldGNoIGNobyDEkeG6t2MgdOG6oyB0aGFtIGNoaeG6v3UgJXMiCiAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6NDQwIGJ1aWx0aW4vcmVtb3RlLmM6NDQ4CiBtc2dpZCAiKG1hdGNoaW5nKSIKQEAgLTgyNDIsNyArODQ2MSw3IEBACiAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQ4CiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCi1tc2dzdHIgIiBjxakgKGTDuW5nIOKAnGdpdCByZW1vdGUgcHJ1bmXigJ0gxJHhu4MgZ+G7oSBi4buPKSIKK21zZ3N0ciAiIGPFqSByw61jaCAoZMO5bmcg4oCcZ2l0IHJlbW90ZSBwcnVuZeKAnSDEkeG7gyBn4buhIGLhu48pIgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjk1MAogbXNnaWQgIiA/Pz8iCkBAIC04NDkwLDYgKzg3MDksNjcgQEAKIG1zZ2lkICJiZSB2ZXJib3NlOyBtdXN0IGJlIHBsYWNlZCBiZWZvcmUgYSBzdWJjb21tYW5kIgogbXNnc3RyICJjaGkgdGnhur90OyBwaOG6o2kgxJHGsOG7o2MgxJHhurd0IHRyxrDhu5tjIG3hu5l0IGzhu4duaC1jb24iCiAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTUKK21zZ2lkICJnaXQgcmVwYWNrIFtvcHRpb25zXSIKK21zZ3N0ciAiZ2l0IHJlcGFjayBbY8OhYy10w7l5LWNo4buNbl0iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTQzCittc2dpZCAicGFjayBldmVyeXRoaW5nIGluIGEgc2luZ2xlIHBhY2siCittc2dzdHIgIsSRw7NuZyBnw7NpIG3hu41pIHRo4bupIHRyb25nIG3hu5l0IGfDs2kgxJHGoW4iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTQ1Cittc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKK21zZ3N0ciAiZ2nhu5FuZyB24bubaSAtYSwgdsOgIGNo4buJbmggc+G7rWEgY8OhYyDEkeG7kWkgdMaw4bujbmcga2jDtG5nIMSR4buNYyDEkcaw4bujYyB0aGnhur91IHPDs3QiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTQ4Cittc2dpZCAicmVtb3ZlIHJlZHVuZGFudCBwYWNrcywgYW5kIHJ1biBnaXQtcHJ1bmUtcGFja2VkIgorbXNnc3RyICJ4w7NhIGLhu48gY8OhYyBnw7NpIGTGsCB0aOG7q2EsIHbDoCBjaOG6oXkgZ2l0LXBydW5lLXBhY2tlZCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTAKK21zZ2lkICJwYXNzIC0tbm8tcmV1c2UtZGVsdGEgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAiY2h1eeG7g24gLS1uby1yZXVzZS1kZWx0YSBjaG8gZ2l0LXBhY2stb2JqZWN0cyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTIKK21zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgImNodXnhu4NuIC0tbm8tcmV1c2Utb2JqZWN0IGNobyBnaXQtcGFjay1vYmplY3RzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1NAorbXNnaWQgImRvIG5vdCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKK21zZ3N0ciAia2jDtG5nIGNo4bqheSBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1NworbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICJjaHV54buDbiAtLWxvY2FsIGNobyBnaXQtcGFjay1vYmplY3RzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE1OAorbXNnaWQgImFwcHJveGlkYXRlIgorbXNnc3RyICJuZ8OgeSDGsOG7m2MgdMOtbmgiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU5Cittc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKK21zZ3N0ciAiduG7m2kgLUEsIGPDoWMgxJHhu5FpIHTGsOG7o25nIGPFqSBoxqFuIGtob+G6o25nIHRo4budaSBnaWFuIG7DoHkgdGjDrCBraMO0bmcgYuG7iyBt4bqldCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjEKK21zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCittc2dzdHIgImvDrWNoIHRoxrDhu5tjIGPhu61hIHPhu5UgxJHGsOG7o2MgZMO5bmcgY2hvIG7DqW4g4oCcZGVsdGHigJ0iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYzCittc2dpZCAic2FtZSBhcyB0aGUgYWJvdmUsIGJ1dCBsaW1pdCBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIGVudHJpZXMgY291bnQiCittc2dzdHIgImdp4buRbmcgbmjGsCB0csOqbiwgbmjGsG5nIGdp4bubaSBo4bqhbiBrw61jaCB0aMaw4bubYyBi4buZIG5o4bubIGhheSB2w6wgc+G7kSBsxrDhu6NuZyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjUKK21zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCittc2dzdHIgImdp4bubaSBo4bqhbiDEkeG7mSBzw6J1IHThu5FpIMSRYSBj4bunYSDigJxkZWx0YeKAnSIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjcKK21zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBwYWNrZmlsZSIKK21zZ3N0ciAia2PDrWggdGjGsOG7m2MgdOG7kWkgxJFhIGNobyB04burbmcgdOG6rXAgdGluIGfDs2kiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nICclcycgZmFpbGVkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgeMOzYSBi4buPIOKAnCVz4oCdIgorCiAjOiBidWlsdGluL3JlcGxhY2UuYzoxNwogbXNnaWQgImdpdCByZXBsYWNlIFstZl0gPG9iamVjdD4gPHJlcGxhY2VtZW50PiIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy1mXSA8xJHhu5FpLXTGsOG7o25nPiA8dGhheS10aOG6vz4iCkBAIC04NTAyLDIzICs4NzgyLDIzIEBACiBtc2dpZCAiZ2l0IHJlcGxhY2UgLWwgWzxwYXR0ZXJuPl0iCiBtc2dzdHIgImdpdCByZXBsYWNlIC1sIFs8beG6q3U+XSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIxCisjOiBidWlsdGluL3JlcGxhY2UuYzoxMzEKIG1zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAibGnhu4d0IGvDqiBjw6FjIHJlZnMgdGhheSB0aOG6vyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIyCisjOiBidWlsdGluL3JlcGxhY2UuYzoxMzIKIG1zZ2lkICJkZWxldGUgcmVwbGFjZSByZWZzIgogbXNnc3RyICJ4w7NhIHRoYW0gY2hp4bq/dSAocmVmcykgdGhheSB0aOG6vyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIzCisjOiBidWlsdGluL3JlcGxhY2UuYzoxMzMKIG1zZ2lkICJyZXBsYWNlIHRoZSByZWYgaWYgaXQgZXhpc3RzIgogbXNnc3RyICJ0aGF5IHRo4bq/IHRoYW0gY2hp4bq/dSAocmVmKSBu4bq/dSBuw7MgxJHDoyBz4bq1biBjw7MiCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6MTEKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6MTIKIG1zZ2lkICJnaXQgcmVyZXJlIFtjbGVhciB8IGZvcmdldCBwYXRoLi4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKIG1zZ3N0ciAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgcGF0aC4uLiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6NTYKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6NTcKIG1zZ2lkICJyZWdpc3RlciBjbGVhbiByZXNvbHV0aW9ucyBpbiBpbmRleCIKIG1zZ3N0ciAic+G7lSBnaGkgZOG7jW4gc+G6oWNoIGPDoWMgcGjDom4gZ2nhuqNpIHRyb25nIGLhuqNuIG3hu6VjIGzhu6VjIgogCkBAIC04NTc5LDcxICs4ODU5LDcxIEBACiBtc2dpZCAiQ2Fubm90IGRvIGEgJXMgcmVzZXQgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlLiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gbeG7mXQgJXMgcmVzZXQg4bufIGdp4buvYSBj4bunYSBxdcOhIHRyw6xuaCBow7JhIHRy4buZbi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTEKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNjIKIG1zZ2lkICJiZSBxdWlldCwgb25seSByZXBvcnQgZXJyb3JzIgogbXNnc3RyICJsw6BtIHZp4buHYyDhu58gY2jhur8gxJHhu5kgaW0gbOG6t25nLCBjaOG7iSBoaeG7g24gdGjhu4sga2hpIGPDsyBs4buXaSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI1MworIzogYnVpbHRpbi9yZXNldC5jOjI2NAogbXNnaWQgInJlc2V0IEhFQUQgYW5kIGluZGV4IgogbXNnc3RyICLEkeG6t3QgbOG6oWkgKHJlc2V0KSBIRUFEIHbDoCBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTQKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNjUKIG1zZ2lkICJyZXNldCBvbmx5IEhFQUQiCiBtc2dzdHIgImNo4buJIMSR4bq3dCBs4bqhaSAocmVzZXQpIEhFQUQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTYgYnVpbHRpbi9yZXNldC5jOjI1OAorIzogYnVpbHRpbi9yZXNldC5jOjI2NyBidWlsdGluL3Jlc2V0LmM6MjY5CiBtc2dpZCAicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAixJHhurd0IGzhuqFpIEhFQUQsIGLhuqNuZyBt4bulYyBs4bulYyB2w6AgY8OieSBsw6BtIHZp4buHYyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI2MAorIzogYnVpbHRpbi9yZXNldC5jOjI3MQogbXNnaWQgInJlc2V0IEhFQUQgYnV0IGtlZXAgbG9jYWwgY2hhbmdlcyIKIG1zZ3N0ciAixJHhurd0IGzhuqFpIEhFQUQgbmjGsG5nIGdp4buvIGzhuqFpIGPDoWMgdGhheSDEkeG7lWkgbuG7mWkgYuG7mSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3OAorIzogYnVpbHRpbi9yZXNldC5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmV2aXNpb24uIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgcGjDom4gZ2nhuqNpIOKAnCVz4oCdIG5oxrAgbMOgIMSRaeG7g20geMOpdCBkdXnhu4d0IGjhu6NwIGzhu4cuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjgxIGJ1aWx0aW4vcmVzZXQuYzoyODkKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTIgYnVpbHRpbi9yZXNldC5jOjMwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggxJHhu5FpIHTGsOG7o25nIOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4NgorIzogYnVpbHRpbi9yZXNldC5jOjI5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgdHJlZS4iCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBwaMOibiBnaeG6o2kg4oCcJXPigJ0gbmjGsCBsw6AgbeG7mXQgY8OieSAodHJlZSkgaOG7o3AgbOG7hy4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTUKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDYKIG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIC0te2hhcmQsbWl4ZWQsc29mdH0iCiBtc2dzdHIgIi0tcGF0Y2ggeHVuZyBraOG6r2MgduG7m2kgLS17aGFyZCxtaXhlZCxzb2Z0fSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMwNAorIzogYnVpbHRpbi9yZXNldC5jOjMxNQogbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIi0tbWl4ZWQgduG7m2kgY8OhYyDEkcaw4budbmcgZOG6q24ga2jDtG5nIGPDsm4gZMO5bmcgbuG7r2E7IGjDo3kgdGhheSB0aOG6vyBi4bqxbmcgbOG7h25oIOKAnGdpdCAiCiAicmVzZXQgLS0gPMSRxrDhu51uZ19k4bqrbj7igJ0uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzA2CisjOiBidWlsdGluL3Jlc2V0LmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyAlcyByZXNldCB3aXRoIHBhdGhzLiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gbOG7h25oICVzIHJlc2V0IHbhu5tpIGPDoWMgxJHGsOG7nW5nIGThuqtuLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMxNgorIzogYnVpbHRpbi9yZXNldC5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyByZXNldCBpcyBub3QgYWxsb3dlZCBpbiBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiJXMgcmVzZXQga2jDtG5nIMSRxrDhu6NjIHBow6lwIHRyw6puIGtobyBiYXJlICh0csOqbiBtw6F5IGNo4bunKSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzNgorIzogYnVpbHRpbi9yZXNldC5jOjM0NAorbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IgorbXNnc3RyICJOaOG7r25nIHRoYXkgxJHhu5VpIGLhu4sgYuG7jyB0cuG6oW5nIHRow6FpIChzdGFnZSkgc2F1IGtoaSByZXNldDoiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlc2V0IGluZGV4IGZpbGUgdG8gcmV2aXNpb24gJyVzJy4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkeG6t3QgbOG6oWkgKHJlc2V0KSBi4bqjbmcgbeG7pWMgbOG7pWMgdGjDoG5oIMSRaeG7g20geMOpdCBkdXnhu4d0IOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0MgotbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IgotbXNnc3RyICJOaOG7r25nIHRoYXkgxJHhu5VpIGLhu4sgYuG7jyB0cuG6oW5nIHRow6FpIChzdGFnZSkgc2F1IGtoaSByZXNldDoiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDcKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTUKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgbmV3IGluZGV4IGZpbGUuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIHThuq1wIHRpbiBsxrB1IGLhuqNuZyBt4bulYyBs4bulYyBt4bubaS4iCiAKQEAgLTg2ODksODQgKzg5NjksODQgQEAKIG1zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgPHN1YmNvbW1hbmQ+IgogbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgPGzhu4duaC1jb24+IgogCi0jOiBidWlsdGluL3JldmVydC5jOjcxIGJ1aWx0aW4vcmV2ZXJ0LmM6OTQKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiVzOiAlcyBraMO0bmcgdGjhu4MgxJHGsOG7o2Mgc+G7rSBk4bulbmcgduG7m2kgJXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CisjOiBidWlsdGluL3JldmVydC5jOjgwCiBtc2dpZCAiZW5kIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAia+G6v3QgdGjDumMgY2hlcnJ5LXBpY2sgaGF5IHJldmVydCBsacOqbiB0aeG6v3AgbmhhdSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDYKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODEKIG1zZ2lkICJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJwaOG7pWMgaOG7k2kgbOG6oWkgY2hlcnJ5LXBpY2sgaGF5IHJldmVydCBsacOqbiB0aeG6v3AgbmhhdSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDcKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODIKIG1zZ2lkICJjYW5jZWwgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJraMO0bmcgY2hlcnJ5LXBpY2sgaGF5IHJldmVydCBsacOqbiB0aeG6v3AgbmhhdSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODMKIG1zZ2lkICJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIKIG1zZ3N0ciAia2jDtG5nIGNvbW1pdCBt4buZdCBjw6FjaCB04buxIMSR4buZbmcuIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwOQorIzogYnVpbHRpbi9yZXZlcnQuYzo4NAogbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJz4butYSBs4bqhaSBjaMO6IHRow61jaCBjaG8gY29tbWl0IgogCi0jOiBidWlsdGluL3JldmVydC5jOjExMgorIzogYnVpbHRpbi9yZXZlcnQuYzo4NwogbXNnaWQgInBhcmVudCBudW1iZXIiCiBtc2dzdHIgInPhu5EgY+G7p2EgY2hhIG3hurkiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE0CisjOiBidWlsdGluL3JldmVydC5jOjg5CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgImNoaeG6v24gbMaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTAKIG1zZ2lkICJvcHRpb24iCiBtc2dzdHIgInTDuXkgY2jhu41uIgogCi0jOiBidWlsdGluL3JldmVydC5jOjExNgorIzogYnVpbHRpbi9yZXZlcnQuYzo5MQogbXNnaWQgIm9wdGlvbiBmb3IgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgInTDuXkgY2jhu41uIGNobyBjaGnhur9uIGzGsOG7o2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI3CisjOiBidWlsdGluL3JldmVydC5jOjEwMgogbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKIG1zZ3N0ciAibuG7kWkgdGjDqm0gdMOqbiBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyOAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQiCiBtc2dzdHIgImNobyBwaMOpcCBmYXN0LWZvcndhcmQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI5CisjOiBidWlsdGluL3JldmVydC5jOjEwNAogbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgogbXNnc3RyICJj4bqlbSBraOG7n2kgdOG6oW8gbOG6p24gY2h1eeG7g24gZ2lhbyB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMzAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CiBtc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgogbXNnc3RyICJjaOG6pXAgbmjhuq1uIGNodXnhu4NuIGdpYW8gKGNvbW1pdCkgbcOgIGtow7RuZyBnaGkgY2jDuiBnw6wiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTMxCisjOiBidWlsdGluL3JldmVydC5jOjEwNgogbXNnaWQgImtlZXAgcmVkdW5kYW50LCBlbXB0eSBjb21taXRzIgogbXNnc3RyICJnaeG7ryBs4bqhaSBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gZMawIHRo4burYSwgcuG7l25nIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEzNQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTAKIG1zZ2lkICJwcm9ncmFtIGVycm9yIgogbXNnc3RyICJs4buXaSBjaMawxqFuZyB0csOsbmgiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjI1CisjOiBidWlsdGluL3JldmVydC5jOjE5NQogbXNnaWQgInJldmVydCBmYWlsZWQiCiBtc2dzdHIgInJldmVydCBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyNDAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjEwCiBtc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgogbXNnc3RyICJjaGVycnktcGljayBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9ybS5jOjE2CisjOiBidWlsdGluL3JtLmM6MTcKIG1zZ2lkICJnaXQgcm0gW29wdGlvbnNdIFstLV0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgcm0gW2PDoWMtdMO5eS1jaOG7jW5dIFstLV0gPHThuq1wLXRpbj4uLi4iCiAKLSM6IGJ1aWx0aW4vcm0uYzo2NAorIzogYnVpbHRpbi9ybS5jOjY1CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIChvciBvbmUgb2YgaXRzIG5lc3RlZCBzdWJtb2R1bGVzKVxuIgogInVzZXMgYSAuZ2l0IGRpcmVjdG9yeToiCkBAIC04NzgwLDcgKzkwNjAsNyBAQAogImPDoWMgbcO0LcSRdW4tY29uIHNhdSDEkcOieSAoaGF5IG3hu5l0IHRyb25nIHPhu5EgbcO0LcSRdW4tY29uIGLDqm4gdHJvbmcgY+G7p2EgbsOzKVxuIgogImTDuW5nIG3hu5l0IHRoxrAgbeG7pWMgLmdpdDoiCiAKLSM6IGJ1aWx0aW4vcm0uYzo3MAorIzogYnVpbHRpbi9ybS5jOjcxCiBtc2dpZCAiIgogIlxuIgogIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKQEAgLTg3ODksNyArOTA2OSw3IEBACiAiKGTDuW5nIC9cInJtIC1yZi9cIiBu4bq/dSBi4bqhbiB0aOG7sWMgc+G7sSBtdeG7kW4gZ+G7oSBi4buPIG7DsyBjw7luZyB24bubaSB04bqldCBj4bqjIGzhu4tjaCBz4butIGPhu6dhICIKICJjaMO6bmcpIgogCi0jOiBidWlsdGluL3JtLmM6MjMwCisjOiBidWlsdGluL3JtLmM6MjMxCiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKICJmaWxlIGFuZCB0aGUgSEVBRDoiCkBAIC04ODAzLDcgKzkwODMsNyBAQAogImPDoWMgdOG6rXAgdGluIHNhdSDEkcOieSBjw7MgdHLhuqFuZyB0aMOhaSBraMOhYyBiaeG7h3QgbuG7mWkgZHVuZyB04burIGPhuqMgdOG6rXAgdGluXG4iCiAidsOgIGPhuqMgSEVBRDoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMzUKKyM6IGJ1aWx0aW4vcm0uYzoyMzYKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtZiB0byBmb3JjZSByZW1vdmFsKSIKQEAgLTg4MTEsMTMgKzkwOTEsMTMgQEAKICJcbiIKICIoZMO5bmcgLWYgxJHhu4MgYnXhu5ljIGfhu6EgYuG7jykiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMzkKKyM6IGJ1aWx0aW4vcm0uYzoyNDAKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnc3RyWzBdICJ04bqtcCB0aW4gc2F1IMSRw6J5IGPDsyB0aGF5IMSR4buVaSB0cuG6oW5nIHRow6FpIHRyb25nIGLhuqNuZyBt4bulYyBs4bulYzoiCiBtc2dzdHJbMV0gImPDoWMgdOG6rXAgdGluIHNhdSDEkcOieSBjw7MgdGhheSDEkeG7lWkgdHLhuqFuZyB0aMOhaSB0cm9uZyBi4bqjbmcgbeG7pWMgbOG7pWM6IgogCi0jOiBidWlsdGluL3JtLmM6MjQzIGJ1aWx0aW4vcm0uYzoyNTQKKyM6IGJ1aWx0aW4vcm0uYzoyNDQgYnVpbHRpbi9ybS5jOjI1NQogbXNnaWQgIiIKICJcbiIKICIodXNlIC0tY2FjaGVkIHRvIGtlZXAgdGhlIGZpbGUsIG9yIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtODgyNSwzOCArOTEwNSwzOCBAQAogIlxuIgogIihkw7luZyB0w7l5IGNo4buNbiAtLWNhY2hlZCDEkeG7gyBnaeG7ryB04bqtcCB0aW4sIGhv4bq3YyAtZiDEkeG7gyDDqXAgYnXhu5ljIGfhu6EgYuG7jykiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNTEKKyM6IGJ1aWx0aW4vcm0uYzoyNTIKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgogbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dzdHJbMF0gInThuq1wIHRpbiBzYXUgxJHDonkgY8OzIG5o4buvbmcgdGhheSDEkeG7lWkgbuG7mWkgYuG7mToiCiBtc2dzdHJbMV0gIm5o4buvbmcgdOG6rXAgdGluIHNhdSDEkcOieSBjw7Mgbmjhu69uZyB0aGF5IMSR4buVaSBu4buZaSBi4buZOiIKIAotIzogYnVpbHRpbi9ybS5jOjI2OQorIzogYnVpbHRpbi9ybS5jOjI3MAogbXNnaWQgImRvIG5vdCBsaXN0IHJlbW92ZWQgZmlsZXMiCiBtc2dzdHIgImtow7RuZyBsaeG7h3Qga8OqIGPDoWMgdOG6rXAgdGluIMSRw6MgZ+G7oSBi4buPIgogCi0jOiBidWlsdGluL3JtLmM6MjcwCisjOiBidWlsdGluL3JtLmM6MjcxCiBtc2dpZCAib25seSByZW1vdmUgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgImNo4buJIGfhu6EgYuG7jyB04burIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL3JtLmM6MjcxCisjOiBidWlsdGluL3JtLmM6MjcyCiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgImdoaSDEkcOoIGzDqm4ga2nhu4NtIHRyYSBj4bqtcCBuaOG6rXQiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNzIKKyM6IGJ1aWx0aW4vcm0uYzoyNzMKIG1zZ2lkICJhbGxvdyByZWN1cnNpdmUgcmVtb3ZhbCIKIG1zZ3N0ciAiY2hvIHBow6lwIGfhu6EgYuG7jyDEkeG7hyBxdWkiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNzQKKyM6IGJ1aWx0aW4vcm0uYzoyNzUKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAidGhvw6F0IHJhIHbhu5tpIHRy4bqhbmcgdGjDoWkga2jDoWMga2jDtG5nIHRo4bqtbSBjaMOtIG7hur91IGtow7RuZyBjw7MgZ8OsIGto4bubcCIKIAotIzogYnVpbHRpbi9ybS5jOjM0NQorIzogYnVpbHRpbi9ybS5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgcmVtb3ZpbmcgJyVzJyByZWN1cnNpdmVseSB3aXRob3V0IC1yIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ+G7oSBi4buPIOKAnCVz4oCdIG3hu5l0IGPDoWNoIMSR4buHIHF1aSBtw6Aga2jDtG5nIGPDsyB0w7l5IGNo4buNbiAtciIKIAotIzogYnVpbHRpbi9ybS5jOjM4NAorIzogYnVpbHRpbi9ybS5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgcm06IHVuYWJsZSB0byByZW1vdmUgJXMiCiBtc2dzdHIgImdpdCBybToga2jDtG5nIHRo4buDIGfhu6EgYuG7jyAlcyIKQEAgLTg4NzAsMjMgKzkxNTAsMjMgQEAKIG1zZ2lkICJNaXNzaW5nIGF1dGhvcjogJXMiCiBtc2dzdHIgIlRoaeG6v3UgdMOqbiB0w6FjIGdp4bqjOiAlcyIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIyOAorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMAogbXNnaWQgInNvcnQgb3V0cHV0IGFjY29yZGluZyB0byB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgcGVyIGF1dGhvciIKIG1zZ3N0ciAic+G6r3AgeOG6v3Aga+G6v3QgeHXhuqV0IHR1w6JuIHRoZW8gc+G7kSBsxrDhu6NuZyBjaHV54buDbiBnaWFvIHRyw6puIG3hu5dpIHTDoWMgZ2nhuqMiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzAKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzIKIG1zZ2lkICJTdXBwcmVzcyBjb21taXQgZGVzY3JpcHRpb25zLCBvbmx5IHByb3ZpZGVzIGNvbW1pdCBjb3VudCIKIG1zZ3N0ciAiQ2jhurduIG3hu41pIG3DtCB04bqjIGzhuqduIGNodXnhu4NuIGdpYW8sIGNo4buJIMSRxrBhIHJhIHPhu5EgbMaw4bujbmcgbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzMgorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjIzNAogbXNnaWQgIlNob3cgdGhlIGVtYWlsIGFkZHJlc3Mgb2YgZWFjaCBhdXRob3IiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyB0aMawIMSRaeG7h24gdOG7rSBjaG8gdOG7q25nIHTDoWMgZ2nhuqMiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzMKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzUKIG1zZ2lkICJ3WyxpMVssaTJdXSIKIG1zZ3N0ciAid1ssaTFbLGkyXV0iCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzQKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzYKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgIk5n4bqvdCBkw7JuZyBraGkgcXXDoSBkw6BpIgogCkBAIC04OTcyLDExICs5MjUyLDExIEBACiAKICM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMAogbXNnaWQgIiIKLSJnaXQgc2hvdy1yZWYgWy1xfC0tcXVpZXRdIFstLXZlcmlmeV0gWy0taGVhZF0gWy1kfC0tZGVyZWZlcmVuY2VdIFstc3wtLWhhc2giCi0iWz08bj5dXSBbLS1hYmJyZXZbPTxuPl1dIFstLXRhZ3NdIFstLWhlYWRzXSBbLS1dIFtwYXR0ZXJuKl0gIgorImdpdCBzaG93LXJlZiBbLXF8LS1xdWlldF0gWy0tdmVyaWZ5XSBbLS1oZWFkXSBbLWR8LS1kZXJlZmVyZW5jZV0gWy1zfC0tIgorImhhc2hbPTxuPl1dIFstLWFiYnJldls9PG4+XV0gWy0tdGFnc10gWy0taGVhZHNdIFstLV0gW3BhdHRlcm4qXSAiCiBtc2dzdHIgIiIKLSJnaXQgc2hvdy1yZWYgWy1xfC0tcXVpZXRdIFstLXZlcmlmeV0gWy0taGVhZF0gWy1kfC0tZGVyZWZlcmVuY2VdIFstc3wtLWhhc2giCi0iWz08bj5dXSBbLS1hYmJyZXZbPTxuPl1dIFstLXRhZ3NdIFstLWhlYWRzXSBbLS1dIFtt4bqrdSpdICIKKyJnaXQgc2hvdy1yZWYgWy1xfC0tcXVpZXRdIFstLXZlcmlmeV0gWy0taGVhZF0gWy1kfC0tZGVyZWZlcmVuY2VdIFstc3wtLSIKKyJoYXNoWz08bj5dXSBbLS1hYmJyZXZbPTxuPl1dIFstLXRhZ3NdIFstLWhlYWRzXSBbLS1dIFtt4bqrdSpdICIKIAogIzogYnVpbHRpbi9zaG93LXJlZi5jOjExCiBtc2dpZCAiZ2l0IHNob3ctcmVmIC0tZXhjbHVkZS1leGlzdGluZ1s9cGF0dGVybl0gPCByZWYtbGlzdCIKQEAgLTg5OTYsMjQgKzkyNzYsMjQgQEAKICJ2aeG7h2Mga2nhu4NtIHRyYSB0aGFtIGNoaeG6v3UgY2jDrW5oIHjDoWMsIMSRw7JpIGjhu49pIGNow61uaCB4w6FjIMSRxrDhu51uZyBk4bqrbiB0aGFtIGNoaeG6v3UgIgogIihyZWYpIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTczIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzYKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzMgYnVpbHRpbi9zaG93LXJlZi5jOjE3NQogbXNnaWQgInNob3cgdGhlIEhFQUQgcmVmZXJlbmNlLCBldmVuIGlmIGl0IHdvdWxkIGJlIGZpbHRlcmVkIG91dCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHRoYW0gY2hp4bq/dSBIRUFELCBuZ2F5IGPhuqMga2hpIG7DsyDEkcOjIMSRxrDhu6NjIGzhu41jIHJhIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc3CiBtc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbnRvIG9iamVjdCBJRHMiCiBtc2dzdHIgImLDo2kgYuG7jyB0aGFtIGNoaeG6v3UgY8OhYyB0aOG6uyB0aMOgbmggcmEgY8OhYyBJRCDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODAKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKIG1zZ2lkICJvbmx5IHNob3cgU0hBMSBoYXNoIHVzaW5nIDxuPiBkaWdpdHMiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBtw6MgYsSDbSBTSEExIHPhu60gZOG7pW5nIDxuPiBjaOG7ryBz4buRIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTg0CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTgzCiBtc2dpZCAiZG8gbm90IHByaW50IHJlc3VsdHMgdG8gc3Rkb3V0ICh1c2VmdWwgd2l0aCAtLXZlcmlmeSkiCiBtc2dzdHIgIiIKICJraMO0bmcgaGnhu4NuIHRo4buLIGvhur90IHF14bqjIHJhIMSR4bqndSByYSBjaHXhuqluIChzdGRvdXQpIChjaOG7iSBo4buvdSBk4bulbmcgduG7m2kgLS12ZXJpZnkpIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTg2CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTg1CiBtc2dpZCAic2hvdyByZWZzIGZyb20gc3RkaW4gdGhhdCBhcmVuJ3QgaW4gbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogImhp4buDbiB0aOG7iyBjw6FjIHRoYW0gY2hp4bq/dSAocmVmcykgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIChzdGRpbikgY8OhaSBtw6Aga2jDtG5nIOG7nyAiCkBAIC05MDQwLDExICs5MzIwLDExIEBACiBtc2dpZCAic2hvcnRlbiByZWYgb3V0cHV0IgogbXNnc3RyICJsw6BtIG5n4bqvbiBr4bq/dCB4deG6pXQgcmVmICh0aGFtIGNoaeG6v3UpIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjE4CisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1NAogbXNnaWQgInJlYXNvbiIKIG1zZ3N0ciAibMO9IGRvIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjE4CisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1NAogbXNnaWQgInJlYXNvbiBvZiB0aGUgdXBkYXRlIgogbXNnc3RyICJsw70gZG8gY+G6rXAgbmjhuq10IgogCkBAIC05MjA5LDE4NyArOTQ4OSwxOTkgQEAKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIGPDoWMgdGjhursgY+G7p2EgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL3RhZy5jOjUwNAorIzogYnVpbHRpbi90YWcuYzo1MDEKIG1zZ2lkICItLWNvbHVtbiBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4gdsOgIC1uIHh1bmcga2jhuq9jIG5oYXUiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTIxCisjOiBidWlsdGluL3RhZy5jOjUxOAogbXNnaWQgIi1uIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCiBtc2dzdHIgInTDuXkgY2jhu41uIC1uIGNo4buJIGNobyBwaMOpcCBkw7luZyB24bubaSAtbC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTIzCisjOiBidWlsdGluL3RhZy5jOjUyMAogbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gLS1jb250YWlucyBjaOG7iSBjaG8gcGjDqXAgZMO5bmcgduG7m2kgLWwuIgogCi0jOiBidWlsdGluL3RhZy5jOjUyNQorIzogYnVpbHRpbi90YWcuYzo1MjIKIG1zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgogbXNnc3RyICJ0w7l5IGNo4buNbiAtLXBvaW50cy1hdCBjaOG7iSBjaG8gcGjDqXAgZMO5bmcgduG7m2kgLWwuIgogCi0jOiBidWlsdGluL3RhZy5jOjUzMworIzogYnVpbHRpbi90YWcuYzo1MzAKIG1zZ2lkICJvbmx5IG9uZSAtRiBvciAtbSBvcHRpb24gaXMgYWxsb3dlZC4iCiBtc2dzdHIgImNo4buJIGPDsyBt4buZdCB0w7l5IGNo4buNbiAtRiBob+G6t2MgLW0gbMOgIMSRxrDhu6NjIHBow6lwLiIKIAotIzogYnVpbHRpbi90YWcuYzo1NTMKKyM6IGJ1aWx0aW4vdGFnLmM6NTUwCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1zIgogbXNnc3RyICJxdcOhIG5oaeG7gXUgxJHhu5FpIHPhu5EiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTU5CisjOiBidWlsdGluL3RhZy5jOjU1NgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRhZyBuYW1lLiIKIG1zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSB0aOG6uyBo4bujcCBs4buHLiIKIAotIzogYnVpbHRpbi90YWcuYzo1NjQKKyM6IGJ1aWx0aW4vdGFnLmM6NTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJUaOG6uyDigJwlc+KAnSDEkcOjIHThu5NuIHThuqFpIHLhu5NpIgogCi0jOiBidWlsdGluL3RhZy5jOjU4MgorIzogYnVpbHRpbi90YWcuYzo1NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBsb2NrIHRoZSByZWYiCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4Mga2jDs2EgcmVmICh0aGFtIGNoaeG6v3UpIgogCi0jOiBidWlsdGluL3RhZy5jOjU4NAorIzogYnVpbHRpbi90YWcuYzo1ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1cGRhdGUgdGhlIHJlZiIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgcmVmICh0aGFtIGNoaeG6v3UpIgogCi0jOiBidWlsdGluL3RhZy5jOjU4NgorIzogYnVpbHRpbi90YWcuYzo1ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICLEkMOjIGPhuq1wIG5o4bqtdCB0aOG6uyDigJwlc+KAnSAodHLGsOG7m2MgbMOgICVzKVxuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjQwMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo0MDIKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFtvcHRpb25zXSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgdXBkYXRlLWluZGV4IFtjw6FjLXTDuXktY2jhu41uXSBbPHThuq1wLXRpbj4uLi5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcxOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjAKIG1zZ2lkICJjb250aW51ZSByZWZyZXNoIGV2ZW4gd2hlbiBpbmRleCBuZWVkcyB1cGRhdGUiCiBtc2dzdHIgInRp4bq/cCB04bulYyBsw6BtIG3hu5tpIG5nYXkgY+G6oyBraGkgYuG6o25nIG3hu6VjIGzhu6VjIGPhuqduIMSRxrDhu6NjIGPhuq1wIG5o4bqtdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzIzCiBtc2dpZCAicmVmcmVzaDogaWdub3JlIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInJlZnJlc2g6IGzhu50gxJFpIG3DtC3EkXVuLWNvbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI2CiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgImtow7RuZyBi4buPIHF1YSBjw6FjIHThuq1wIHRpbiBt4bubaSB04bqhbyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzI4CiBtc2dpZCAibGV0IGZpbGVzIHJlcGxhY2UgZGlyZWN0b3JpZXMgYW5kIHZpY2UtdmVyc2EiCiBtc2dzdHIgIsSR4buDIGPDoWMgdOG6rXAgdGluIHRoYXkgdGjhur8gY8OhYyB0aMawIG3hu6VjIHbDoCDigJx2aWNlLXZlcnNh4oCdIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzAKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJ0aMO0bmcgYsOhbyBjw6FjIHThuq1wLXRpbiB0aGnhur91IHRyb25nIHRoxrAtbeG7pWMgbMOgbSB2aeG7h2MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczMgogbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICIiCiAibMOgbSB0xrDGoWkgbeG7m2kgdGjhuq1tIGNow60ga2hpIGLhuqNuZyBt4bulYyBs4bulYyBjaOG7qWEgY8OhYyBt4bulYyB0aW4gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczNQogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAibOG6pXkgbOG6oWkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzM5CiBtc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgogbXNnc3RyICJnaeG7kW5nIC0tcmVmcmVzaCwgbmjGsG5nIGLhu48gcXVhIGPDoWMgY8OgaSDEkeG6t3Qg4oCcYXNzdW1lLXVuY2hhbmdlZOKAnSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQzCiBtc2dpZCAiPG1vZGU+IDxvYmplY3Q+IDxwYXRoPiIKIG1zZ3N0ciAiPG1vZGU+IDzEkeG7kWkgdMaw4bujbmc+IDzEkcaw4budbmcgZOG6q24+IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDQKIG1zZ2lkICJhZGQgdGhlIHNwZWNpZmllZCBlbnRyeSB0byB0aGUgaW5kZXgiCiBtc2dzdHIgInRow6ptIGPDoWMgdOG6rXAgdGluIMSRw6MgY2jhu4kgcmEgdsOgbyBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0OAogbXNnaWQgIigrLy0peCIKIG1zZ3N0ciAiKCsvLSl4IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDkKIG1zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKIG1zZ3N0ciAiZ2hpIMSRw6ggbMOqbiBiw610IHRoaSBow6BuaCBj4bunYSBjw6FjIHThuq1wIHRpbiDEkcaw4bujYyBsaeG7h3Qga8OqIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTMKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCiBtc2dzdHIgIsSQw6FuaCBk4bqldSBjw6FjIHThuq1wIHRpbiBsw6AgXCJraMO0bmcgdGhheSDEkeG7lWlcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU2CiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICJ4w7NhIGLDrXQgIGFzc3VtZWQtdW5jaGFuZ2VkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTkKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwiaW5kZXgtb25seVwiIgogbXNnc3RyICLEkcOhbmggZOG6pXUgY8OhYyB04bqtcCB0aW4gbMOgIOKAnGNo4buJLcSR4buNY+KAnSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzYyCiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgInjDs2EgYsOtdCBza2lwLXdvcmt0cmVlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjUKIG1zZ2lkICJhZGQgdG8gaW5kZXggb25seTsgZG8gbm90IGFkZCBjb250ZW50IHRvIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAiIgogImNo4buJIHRow6ptIHbDoG8gYuG6o25nIG3hu6VjIGzhu6VjOyBraMO0bmcgdGjDqm0gbuG7mWkgZHVuZyB2w6BvIGPGoSBz4bufIGThu68gbGnhu4d1IMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY3CiBtc2dpZCAicmVtb3ZlIG5hbWVkIHBhdGhzIGV2ZW4gaWYgcHJlc2VudCBpbiB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogImfhu6EgYuG7jyBjw6FjIMSRxrDhu51uZyBk4bqrbiDEkcaw4bujYyDEkeG6t3QgdMOqbiB0aOG6rW0gY2jDrSBj4bqjIGtoaSBuw7MgaGnhu4duIGRp4buHbiB0cm9uZyB0aMawIG3hu6VjICIKICJsw6BtIHZp4buHYyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY5CiBtc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgogbXNnc3RyICJ24bubaSB0w7l5IGNo4buNbiAtLXN0ZGluOiBjw6FjIGTDsm5nIMSR4bqndSB2w6BvIMSRxrDhu6NjIGNo4bqlbSBk4bupdCBi4bufaSBrw70gdOG7sSBudWxsIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzEKIG1zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgdG8gYmUgdXBkYXRlZCBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLEkeG7jWMgZGFuaCBzw6FjaCDEkcaw4budbmcgZOG6q24gY+G6p24gY+G6rXAgbmjhuq10IHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzc1CiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgY8OhYyBt4bulYyB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4gdsOgbyBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzc3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3OQogbXNnaWQgInJlcG9wdWxhdGUgc3RhZ2VzICMyIGFuZCAjMyBmb3IgdGhlIGxpc3RlZCBwYXRocyIKIG1zZ3N0ciAicGjhu6VjIGjhu5NpIGPDoWMgdHLhuqFuZyB0aMOhaSAjMiB2w6AgIzMgY2hvIGPDoWMgxJHGsOG7nW5nIGThuqtuIMSRxrDhu6NjIGxp4buHdCBrw6oiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzgxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4MwogbXNnaWQgIm9ubHkgdXBkYXRlIGVudHJpZXMgdGhhdCBkaWZmZXIgZnJvbSBIRUFEIgogbXNnc3RyICJjaOG7iSBj4bqtcCBuaOG6rXQgY8OhYyBt4bulYyB0aW4gbcOgIG7DsyBraMOhYyBiaeG7h3Qgc28gduG7m2kgSEVBRCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzg3CiBtc2dpZCAiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAiYuG7jyBxdWEgY8OhYyB04bqtcC10aW4gdGhp4bq/dSB0cm9uZyB0aMawLW3hu6VjIGzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTAKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgImLDoW8gY8OhbyBjw6FjIHRoYW8gdMOhYyByYSB0aGnhur90IGLhu4sgeHXhuqV0IGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5MgogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICIoY2hvIOKAnHBvcmNlbGFpbnPigJ0pIHF1w6puIGPDoWMgeHVuZyDEkeG7mXQgY2jGsGEgxJHGsOG7o2MgZ2nhuqNpIHF1eeG6v3QgxJHDoyBnaGkiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzk0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5NgogbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgogbXNnc3RyICJnaGkgbeG7pWMgbOG7pWMg4bufIMSR4buLbmggZOG6oW5nIG7DoHkiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjcKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjkKIG1zZ2lkICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gLWQgPHJlZm5hbWU+IFs8b2xkdmFsPl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtcmVmIFtjw6FjLXTDuXktY2jhu41uXSAtZCA8cmVmbmFtZT4gWzxiaeG6v24tY8WpPl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjgKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEwCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdICAgIDxyZWZuYW1lPiA8bmV3dmFsPiBbPG9sZHZhbD5dIgogbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbY8OhYy10w7l5LWNo4buNbl0gICAgPHJlZm5hbWU+IDxiaeG6v24tbeG7m2k+IFs8Ymnhur9uLWPFqT5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxOQorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTEKK21zZ2lkICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gLS1zdGRpbiBbLXpdIgorbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbY8OhYy10w7l5LWNo4buNbl0gLS1zdGRpbiBbLXpdIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTUKIG1zZ2lkICJkZWxldGUgdGhlIHJlZmVyZW5jZSIKIG1zZ3N0ciAieMOzYSB0aGFtIGNoaeG6v3UiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjIxCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTcKIG1zZ2lkICJ1cGRhdGUgPHJlZm5hbWU+IG5vdCB0aGUgb25lIGl0IHBvaW50cyB0byIKIG1zZ3N0ciAiY+G6rXAgbmjhuq10IDx0w6puLXRoYW0tY2hp4bq/dT4ga2jDtG5nIHBo4bqjaSBjw6FpIG7DsyBjaOG7iSB04bubaSIKIAorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU4Cittc2dpZCAic3RkaW4gaGFzIE5VTC10ZXJtaW5hdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAixJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiBjw7MgY8OhYyDEkeG7kWkgc+G7kSDEkcaw4bujYyBjaOG6pW0gZOG7qXQgYuG7n2kgTlVMIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTkKK21zZ2lkICJyZWFkIHVwZGF0ZXMgZnJvbSBzdGRpbiIKK21zZ3N0ciAixJHhu41jIGPhuq1wIG5o4bqtdCB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCisKICM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6NgogbXNnaWQgImdpdCB1cGRhdGUtc2VydmVyLWluZm8gWy0tZm9yY2VdIgogbXNnc3RyICJnaXQgdXBkYXRlLXNlcnZlci1pbmZvIFstLWZvcmNlXSIKQEAgLTk0NDQsMjMgKzk3MzYsMjMgQEAKICJoxrDhu5tuZyBk4bqrbiB24buBIGtow6FpIG5p4buHbS4gWGVtIOKAnGdpdCBoZWxwIDxs4buHbmg+4oCdIGhheSDigJxnaXQgaGVscCA8a2jDoWktbmnhu4dtPuKAnVxuIgogIsSR4buDIHhlbSBjw6FjIMSR4bq3YyB04bqjIGNobyBs4buHbmggaGF5IGtow6FpIG5p4buHbSBj4bulIHRo4buDLiIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjE0NAorIzogcGFyc2Utb3B0aW9ucy5oOjE0NgogbXNnaWQgImV4cGlyeSBkYXRlIgogbXNnc3RyICJuZ8OgeSBo4bq/dCBo4bqhbiIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjE1OQorIzogcGFyc2Utb3B0aW9ucy5oOjE2MQogbXNnaWQgIm5vLW9wIChiYWNrd2FyZCBjb21wYXRpYmlsaXR5KSIKIG1zZ3N0ciAibm8tb3AgKHTGsMahbmcgdGjDrWNoIG5nxrDhu6NjKSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzNgorIzogcGFyc2Utb3B0aW9ucy5oOjIzOAogbXNnaWQgImJlIG1vcmUgdmVyYm9zZSIKIG1zZ3N0ciAiY2hpIHRp4bq/dCBoxqFuIG7hu69hIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjM4CisjOiBwYXJzZS1vcHRpb25zLmg6MjQwCiBtc2dpZCAiYmUgbW9yZSBxdWlldCIKIG1zZ3N0ciAiaW0gbOG6t25nIGjGoW4gbuG7r2EiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNDQKKyM6IHBhcnNlLW9wdGlvbnMuaDoyNDYKIG1zZ2lkICJ1c2UgPG4+IGRpZ2l0cyB0byBkaXNwbGF5IFNIQS0xcyIKIG1zZ3N0ciAic+G7rSBk4bulbmcgPG4+IGNo4buvIHPhu5EgxJHhu4MgaGnhu4NuIHRo4buLIFNIQS0xcyIKIApAQCAtOTY2OSw3ICs5OTYxLDcgQEAKIAogIzogZ2l0LWFtLnNoOjcyNQogbXNnaWQgIlBhdGNoIGRvZXMgbm90IGhhdmUgYSB2YWxpZCBlLW1haWwgYWRkcmVzcy4iCi1tc2dzdHIgIk1p4bq/bmcgdsOhIGtow7RuZyBjw7MgxJHhu4thIGNo4buJIGUtbWFpbCBo4bujcCBs4buHLiIKK21zZ3N0ciAiTWnhur9uZyB2w6Ega2jDtG5nIGPDsyDEkeG7i2EgY2jhu4kgdGjGsCDEkWnhu4duIHThu60gaOG7o3AgbOG7hy4iCiAKICM6IGdpdC1hbS5zaDo3NzIKIG1zZ2lkICJjYW5ub3QgYmUgaW50ZXJhY3RpdmUgd2l0aG91dCBzdGRpbiBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4iCkBAIC05Njg2LDggKzk5NzgsOCBAQAogIzogZ2l0LWFtLnNoOjc4MwogbXNnaWQgIkFwcGx5PyBbeV1lcy9bbl1vL1tlXWRpdC9bdl1pZXcgcGF0Y2gvW2FdY2NlcHQgYWxsICIKIG1zZ3N0ciAiIgotIsOBcCBk4bulbmc/IMSR4buTbmcgw70gW3ldL2tow7RuZyBbbl0vY2jhu4luaCBz4butYSBbZV0vaGnhu4NuIHRo4buLIG1p4bq/bmcgW3Zdw6EvxJHhu5NuZyDDvSB04bqldCAiCi0iY+G6oyBbYV0gIgorIsOBcCBk4bulbmc/IMSR4buTbmcgw70gW3ldL2tow7Rbbl1nL2No4buJbmggc+G7rWEgW2VdL2hp4buDbiB0aOG7iyBtaeG6v25nIFt2XcOhL8SR4buTbmcgw70gdOG6pXQgY+G6oyAiCisiW2FdICIKIAogIzogZ2l0LWFtLnNoOjgxOQogIywgc2gtZm9ybWF0CkBAIC05NzIwLDcgKzEwMDEyLDcgQEAKICM6IGdpdC1hbS5zaDo4NzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlBhdGNoIGZhaWxlZCBhdCAkbXNnbnVtICRGSVJTVExJTkUiCi1tc2dzdHIgIlbDoSBn4bq3cCBs4buXaSB04bqhaSAkbXNnbnVtICRGSVJTVExJTkUiCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB2w6EgdOG6oWkgJG1zZ251bSAkRklSU1RMSU5FIgogCiAjOiBnaXQtYW0uc2g6ODc3CiAjLCBzaC1mb3JtYXQKQEAgLTk5MTAsNyArMTAyMDIsNyBAQAogbXNnc3RyICIiCiAiRnVsbCBsw6Aga2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gYuG7n2kgdsOsIGLhuqFuIGPDsyBuaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbi4iCiAKLSM6IGdpdC1wdWxsLnNoOjIwMworIzogZ2l0LXB1bGwuc2g6MjIzCiBtc2dpZCAidXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4IgogbXNnc3RyICIiCiAixJFhbmcgY+G6rXAgbmjhuq10IG3hu5l0IG5ow6FuaCBjaMawYSDEkcaw4bujYyBzaW5oIHJhIHbhu5tpIGPDoWMgdGhheSDEkeG7lWkgxJHGsOG7o2MgdGjDqm0gdsOgbyAiCkBAIC05OTIwLDcgKzEwMjEyLDcgQEAKICMuIFRoZSB3b3JraW5nIHRyZWUgYW5kIHRoZSBpbmRleCBmaWxlIGlzIHN0aWxsIGJhc2VkIG9uIHRoZQogIy4gJG9yaWdfaGVhZCBjb21taXQsIGJ1dCB3ZSBhcmUgbWVyZ2luZyBpbnRvICRjdXJyX2hlYWQuCiAjLiBGaXJzdCB1cGRhdGUgdGhlIHdvcmtpbmcgdHJlZSB0byBtYXRjaCAkY3Vycl9oZWFkLgotIzogZ2l0LXB1bGwuc2g6MjM1CisjOiBnaXQtcHVsbC5zaDoyNTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiBmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkLlxuIgpAQCAtOTkzMSwxMSArMTAyMjMsMTEgQEAKICJD4bqjbmggYsOhbzogxJFhbmcgZmFzdC1mb3J3YXJkIGPDonkgbMOgbSB2aeG7h2MgY+G7p2EgYuG6oW4gdOG7q1xuIgogIkPhuqNuaCBiw6FvOiBjb21taXQgJG9yaWdfaGVhZC4iCiAKLSM6IGdpdC1wdWxsLnNoOjI2MAorIzogZ2l0LXB1bGwuc2g6MjgwCiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGjDsmEgdHLhu5luIG5oaeG7gXUgbmjDoW5oIHbDoCB0cm9uZyBt4buZdCBoZWFkIHRy4buRbmcgcuG7l25nIgogCi0jOiBnaXQtcHVsbC5zaDoyNjQKKyM6IGdpdC1wdWxsLnNoOjI4NAogbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gbOG7h25oIHJlYmFzZSAoY8ahIGPhuqV1IGzhuqFpKSB0csOqbiBuaGnhu4F1IG5ow6FuaCIKIApAQCAtOTk3MiwzNSArMTAyNjQsMzUgQEAKICJC4bqhbiBjw7MgdGjhu4MgY2jhuqF5IGzhu4duaCBcImdpdCBzdGFzaCBwb3BcIiBoYXkgXCJnaXQgc3Rhc2ggZHJvcFwiIGLhuqV0IGvhu7MgbMO6YyAiCiAibsOgby5cbiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxOTAKKyM6IGdpdC1yZWJhc2Uuc2g6MTk5CiBtc2dpZCAiVGhlIHByZS1yZWJhc2UgaG9vayByZWZ1c2VkIHRvIHJlYmFzZS4iCiBtc2dzdHIgIk3Ds2MgKGhvb2spIHByZS1yZWJhc2UgdOG7qyBjaOG7kWkgcmViYXNlLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxOTUKKyM6IGdpdC1yZWJhc2Uuc2g6MjA0CiBtc2dpZCAiSXQgbG9va3MgbGlrZSBnaXQtYW0gaXMgaW4gcHJvZ3Jlc3MuIENhbm5vdCByZWJhc2UuIgogbXNnc3RyICIiCiAiSMOsbmggbmjGsCDEkWFuZyB0cm9uZyBxdcOhIHRyw6xuaCB0aOG7sWMgaGnhu4duIGzhu4duaCBnaXQtYW0uIEtow7RuZyB0aOG7gyBjaOG6oXkgbOG7h25oICIKICJyZWJhc2UuIgogCi0jOiBnaXQtcmViYXNlLnNoOjMyOQorIzogZ2l0LXJlYmFzZS5zaDozMzgKIG1zZ2lkICJUaGUgLS1leGVjIG9wdGlvbiBtdXN0IGJlIHVzZWQgd2l0aCB0aGUgLS1pbnRlcmFjdGl2ZSBvcHRpb24iCiBtc2dzdHIgIlTDuXkgY2jhu41uIC0tZXhlYyBwaOG6o2kgxJHGsOG7o2Mgc+G7rSBk4bulbmcgY8O5bmcgduG7m2kgdMO5eSBjaOG7jW4gLS1pbnRlcmFjdGl2ZSIKIAotIzogZ2l0LXJlYmFzZS5zaDozMzQKKyM6IGdpdC1yZWJhc2Uuc2g6MzQzCiBtc2dpZCAiTm8gcmViYXNlIGluIHByb2dyZXNzPyIKIG1zZ3N0ciAiS2jDtG5nIGPDsyB0aeG6v24gdHLDrG5oIHJlYmFzZSBuw6BvIHBo4bqjaSBraMO0bmc/IgogCi0jOiBnaXQtcmViYXNlLnNoOjM0NQorIzogZ2l0LXJlYmFzZS5zaDozNTQKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIiIKICJIw6BuaCDEkeG7mW5nIOKAnC0tZWRpdC10b2Rv4oCdIGNo4buJIGPDsyB0aOG7gyBkw7luZyB0cm9uZyBxdcOhIHRyw6xuaCDigJxyZWJhc2XigJ0gKHPhu61hIGzhu4tjaCAiCiAic+G7rSkgdMawxqFuZyB0w6FjLiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNTIKKyM6IGdpdC1yZWJhc2Uuc2g6MzYxCiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4buNYyBIRUFEIgogCi0jOiBnaXQtcmViYXNlLnNoOjM1NQorIzogZ2l0LXJlYmFzZS5zaDozNjQKIG1zZ2lkICIiCiAiWW91IG11c3QgZWRpdCBhbGwgbWVyZ2UgY29uZmxpY3RzIGFuZCB0aGVuXG4iCiAibWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiCkBAIC0xMDAwOCwxMiArMTAzMDAsMTIgQEAKICJC4bqhbiBwaOG6o2kgc+G7rWEgdOG6pXQgY+G6oyBjw6FjIGzhuqduIGjDsmEgdHLhu5luIHh1bmcgxJHhu5l0IHbDoCBzYXVcbiIKICLEkcOzIMSRw6FuaCBk4bqldSBjaMO6bmcgbMOgIGPhuqduIHjhu60gbMO9IHPhu60gZOG7pW5nIGzhu4duaCBnaXQgYWRkIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3MworIzogZ2l0LXJlYmFzZS5zaDozODIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHF1YXkgdHLhu58gbOG6oWkgJGhlYWRfbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDozOTIKKyM6IGdpdC1yZWJhc2Uuc2g6NDAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJHN0YXRlX2Rpcl9iYXNlIGRpcmVjdG9yeSwgYW5kXG4iCkBAIC0xMDAzNiw2NiArMTAzMjgsNjYgQEAKICJcbiIKICJUw5RJOiBsw6AgbOG7h25oIGLhuqFuIHbhu6thIGfhu41pISIKIAotIzogZ2l0LXJlYmFzZS5zaDo0MzcKKyM6IGdpdC1yZWJhc2Uuc2g6NDQ2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICR1cHN0cmVhbV9uYW1lIgogbXNnc3RyICJ0aMaw4bujbmcgbmd14buTbiBraMO0bmcgaOG7o3AgbOG7hyAkdXBzdHJlYW1fbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NjEKKyM6IGdpdC1yZWJhc2Uuc2g6NDcwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiJG9udG9fbmFtZTog4bufIMSRw6J5IGPDsyBuaGnhu4F1IGjGoW4gbeG7mXQgbuG7gW4gbcOzbmcgaMOyYSB0cuG7mW4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDY0IGdpdC1yZWJhc2Uuc2g6NDY4CisjOiBnaXQtcmViYXNlLnNoOjQ3MyBnaXQtcmViYXNlLnNoOjQ3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiJG9udG9fbmFtZTog4bufIMSRw6J5IGtow7RuZyBjw7MgbuG7gW4gbcOzbmcgaMOyYSB0cuG7mW4gbsOgbyIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NzMKKyM6IGdpdC1yZWJhc2Uuc2g6NDgyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKIG1zZ3N0ciAiS2jDtG5nIGNo4buJIMSR4bq/biBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIGtow7RuZyBo4bujcCBs4buHOiAkb250b19uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5NgorIzogZ2l0LXJlYmFzZS5zaDo1MDUKICMsIHNoLWZvcm1hdAogbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaDogJGJyYW5jaF9uYW1lIgogbXNnc3RyICJuZ2hpw6ptIHRy4buNbmc6IGtow7RuZyBjw7MgbmjDoW5oIG5oxrAgdGjhur86ICRicmFuY2hfbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MTkKKyM6IGdpdC1yZWJhc2Uuc2g6NTI4CiBtc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGF1dG9zdGFzaCIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MjQKKyM6IGdpdC1yZWJhc2Uuc2g6NTMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKIG1zZ3N0ciAixJDDoyB04bqhbyBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTI4CisjOiBnaXQtcmViYXNlLnNoOjUzNwogbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgIlhpbiBow6N5IGNvbW1pdCBob+G6t2MgdOG6oW0gY+G6pXQgKHN0YXNoKSBjaMO6bmcuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU0OAorIzogZ2l0LXJlYmFzZS5zaDo1NTcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAiTmjDoW5oIGhp4buHbiB04bqhaSAkYnJhbmNoX25hbWUgxJHDoyDEkcaw4bujYyBj4bqtcCBuaOG6rXQgcuG7k2kuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU1MgorIzogZ2l0LXJlYmFzZS5zaDo1NjEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKIG1zZ3N0ciAiTmjDoW5oIGhp4buHbiB04bqhaSAkYnJhbmNoX25hbWUgxJHDoyDEkcaw4bujYyBj4bqtcCBuaOG6rXQgcuG7k2ksIGzhu4duaCByZWJhc2Ugw6lwIGJ14buZYy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTYzCisjOiBnaXQtcmViYXNlLnNoOjU3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2hhbmdlcyBmcm9tICRtYiB0byAkb250bzoiCiBtc2dzdHIgIlRoYXkgxJHhu5VpIHThu6sgJG1iIHRow6BuaCAkb250bzoiCiAKICMuIERldGFjaCBIRUFEIGFuZCByZXNldCB0aGUgdHJlZQotIzogZ2l0LXJlYmFzZS5zaDo1NzIKKyM6IGdpdC1yZWJhc2Uuc2g6NTgxCiBtc2dpZCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uIgogbXNnc3RyICIiCiAiVHLGsOG7m2MgdGnDqm4sIGRpIGNodXnhu4NuIGhlYWQgxJHhu4MgeGVtIGzhuqFpIGPDoWMgY8O0bmcgdmnhu4djIHRyw6puIMSR4buJbmggY+G7p2EgbsOzLi4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjU4MgorIzogZ2l0LXJlYmFzZS5zaDo1OTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKIG1zZ3N0ciAiRmFzdC1mb3J3YXJkICRicmFuY2hfbmFtZSB0aMOgbmggJG9udG9fbmFtZS4iCkBAIC0xMDE0NCw3ICsxMDQzNiw3IEBACiAjLiAkIGdpdCBzdGFzaCBzYXZlIC0tYmxhaC1ibGFoIDI+JjEgfCBoZWFkIC1uIDIKICMuIGVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAtLWJsYWgtYmxhaAogIy4gVG8gcHJvdmlkZSBhIG1lc3NhZ2UsIHVzZSBnaXQgc3Rhc2ggc2F2ZSAtLSAnLS1ibGFoLWJsYWgnCi0jOiBnaXQtc3Rhc2guc2g6MjQxCisjOiBnaXQtc3Rhc2guc2g6MjM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKQEAgLTEwMTU0LDk5ICsxMDQ0Niw4NSBAQAogIiAgICAgxJDhu4MgZMO5bmcgdGjDtG5nIMSRaeG7h3AgY8OzIGNo4bupYSAtLSDhu58gxJHhuqd1LCBz4butIGThu6VuZyBnaXQgc3Rhc2ggc2F2ZSAtLSBcIiRvcHRpb24iCiAiXCIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjIKKyM6IGdpdC1zdGFzaC5zaDoyNTgKIG1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCiBtc2dzdHIgIktow7RuZyBjw7MgdGhheSDEkeG7lWkgbuG7mWkgYuG7mSBuw6BvIMSRxrDhu6NjIGdoaSBs4bqhaSIKIAotIzogZ2l0LXN0YXNoLnNoOjI2OAotbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCBmaWxlcyB3b3VsZCBOT1QgYmUgc2F2ZWQgYnV0IG5lZWQgdG8gYmUgcmVtb3ZlZCBieSAiCi0ic3Rhc2ggc2F2ZToiCi1tc2dzdHIgIiIKLSJDw6FjIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkgc2F1IMSRw6J5IEtIw5RORyDEkcaw4bujYyBnaGkgbOG6oWkgbmjGsG5nIGPhuqduIMSRxrDhu6NjIGfhu6EgIgotImLhu48gYuG7n2kgdmnhu4djIGdoaSBs4bqhaSBzdGFzaDoiCi0KLSM6IGdpdC1zdGFzaC5zaDoyNzAKLW1zZ2lkICIiCi0iQWJvcnRpbmcuIENvbnNpZGVyIHVzaW5nIGVpdGhlciB0aGUgLS1mb3JjZSBvciAtLWluY2x1ZGUtdW50cmFja2VkIG9wdGlvbi4iCi1tc2dzdHIgIiIKLSJCw6NpIGLhu48uIEPDom4gbmjhuq9jIGTDuW5nIG3hu5l0IHRyb25nIGhhaSB0w7l5IGNo4buNbiAtLWZvcmNlIHbDoCAtLWluY2x1ZGUtdW50cmFja2VkLiIKLQotIzogZ2l0LXN0YXNoLnNoOjI3NAorIzogZ2l0LXN0YXNoLnNoOjI2MgogbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgogbXNnc3RyICJLaMO0bmcgdGjhu4Mga2jhu59pIHThuqFvIHN0YXNoIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjc4CisjOiBnaXQtc3Rhc2guc2g6MjY2CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGzhuqFpIHRy4bqhbmcgdGjDoWkgaGnhu4duIGjDoG5oIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjk2CisjOiBnaXQtc3Rhc2guc2g6Mjg0CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ+G7oSBi4buPIGPDoWMgdGhheSDEkeG7lWkgY8OieS1sw6BtLXZp4buHYyIKIAotIzogZ2l0LXN0YXNoLnNoOjM5NQorIzogZ2l0LXN0YXNoLnNoOjM4MwogbXNnaWQgIk5vIHN0YXNoIGZvdW5kLiIKIG1zZ3N0ciAiS2jDtG5nIHTDrG0gdGjhuqV5IHN0YXNoIG7DoG8uIgogCi0jOiBnaXQtc3Rhc2guc2g6NDAyCisjOiBnaXQtc3Rhc2guc2g6MzkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICJDaOG7iSByYSBxdcOhIG5oaeG7gXUgxJFp4buDbSB4w6l0IGR1eeG7h3Q6ICRSRVYiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MDgKKyM6IGdpdC1zdGFzaC5zaDozOTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IHZhbGlkIHJlZmVyZW5jZSIKIG1zZ3N0ciAiJHJlZmVyZW5jZSBraMO0bmcgcGjhuqNpIGzDoCB0aGFtIGNoaeG6v3UgaOG7o3AgbOG7hyIKIAotIzogZ2l0LXN0YXNoLnNoOjQzNgorIzogZ2l0LXN0YXNoLnNoOjQyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKLW1zZ3N0ciAi4oCdJGFyZ3PigJ0ga2jDtG5nIHBo4bqjaSBsw6AgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSBnaeG7kW5nLXN0YXNoIgorbXNnc3RyICLigJ0kYXJnc+KAnSBraMO0bmcgcGjhuqNpIGzDoCBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpIGtp4buDdS1zdGFzaCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ0NworIzogZ2l0LXN0YXNoLnNoOjQzNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIuKAnSRhcmdz4oCdIGtow7RuZyBwaOG6o2kgdGhhbSBjaGnhur91IMSR4bq/biBzdGFzaCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ1NQorIzogZ2l0LXN0YXNoLnNoOjQ0MwogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICJraMO0bmcgdGjhu4MgbMOgbSB0xrDGoWkgbeG7m2kgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBnaXQtc3Rhc2guc2g6NDU5CisjOiBnaXQtc3Rhc2guc2g6NDQ3CiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgogbXNnc3RyICJLaMO0bmcgdGjhu4Mgw6FwIGThu6VuZyBt4buZdCBzdGFzaCDhu58gZ2nhu69hIGPhu6dhIHF1w6EgdHLDrG5oIGjDsmEgdHLhu5luIgogCi0jOiBnaXQtc3Rhc2guc2g6NDY3CisjOiBnaXQtc3Rhc2guc2g6NDU1CiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAiWHVuZyDEkeG7mXQgdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjLiBIw6N5IHRo4butIG3DoCBraMO0bmcgZMO5bmcgdMO5eSBjaOG7jW4gLS1pbmRleC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0NjkKKyM6IGdpdC1zdGFzaC5zaDo0NTcKIG1zZ2lkICJDb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGzhuqFpIGPDonkgY2jhu4kgbeG7pWMiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MDMKKyM6IGdpdC1zdGFzaC5zaDo0OTEKIG1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGLhu48gdHLhuqFuZyB0aMOtYSBj4bunYSBjw6FjIHThuq1wIHRpbiDEkcOjIMSRxrDhu6NjIHPhu61hIGNo4buvYSIKIAotIzogZ2l0LXN0YXNoLnNoOjUxOAorIzogZ2l0LXN0YXNoLnNoOjUwNgogbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKIG1zZ3N0ciAiQuG6o25nIG3hu6VjIGzhu6VjIMSRw6Mga2jDtG5nIMSRxrDhu6NjIGLhu48gc3Rhc2guIgogCi0jOiBnaXQtc3Rhc2guc2g6NTM1CisjOiBnaXQtc3Rhc2guc2g6NTIzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEcm9wcGVkICR7UkVWfSAoJHMpIgogbXNnc3RyICLEkMOjIHjDs2EgJHtSRVZ9ICgkcykiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MzYKKyM6IGdpdC1zdGFzaC5zaDo1MjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiR7UkVWfTogS2jDtG5nIHRo4buDIHjDs2EgYuG7jyBt4bulYyBzdGFzaCIKIAotIzogZ2l0LXN0YXNoLnNoOjU0MworIzogZ2l0LXN0YXNoLnNoOjUzMQogbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKIG1zZ3N0ciAiQ2jGsGEgY2jhu4kgcmEgdMOqbiBj4bunYSBuaMOhbmgiCiAKLSM6IGdpdC1zdGFzaC5zaDo2MTUKKyM6IGdpdC1zdGFzaC5zaDo2MDMKIG1zZ2lkICIoVG8gcmVzdG9yZSB0aGVtIHR5cGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiBtc2dzdHIgIijEkOG7gyBwaOG7pWMgaOG7k2kgbOG6oWkgY2jDum5nIGjDo3kgZ8O1IFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogCkBAIC0xMDQyNCw3ICsxMDcwMiw3IEBACiAjOiBnaXQtc3VibW9kdWxlLnNoOjY4MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2xlYXJlZCBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCi1tc2dzdHIgIsSQw6MgdOG6oW8gdGjGsCBt4bulYyAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAixJDDoyB04bqhbyB0aMawIG3hu6VjIOKAnCRkaXNwbGF5cGF0aOKAnSIKIAogIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODQKICMsIHNoLWZvcm1hdApAQCAtMTA1MjEsNTIgKzEwNzk5LDYzIEBACiBtc2dzdHIgIlTDuXkgY2jhu41uIC0tY2FjaGVkIGtow7RuZyB0aOG7gyBkw7luZyBjw7luZyB24bubaSB0w7l5IGNo4buNbiAtLWZpbGVzIgogCiAjLiB1bmV4cGVjdGVkIHR5cGUKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA2NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDczCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG1vZGUgJG1vZF9kc3QiCiBtc2dzdHIgImNo4bq/IMSR4buZIGtow7RuZyBuaMawIG1vbmcgY2jhu50gJG1vZF9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA4NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDkzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCiBtc2dzdHIgIiIKICIgIEPhuqNuaCBiw6FvOiAkZGlzcGxheV9uYW1lIGtow7RuZyBjaOG7qWEgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSAkc2hhMV9zcmMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA4OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDk2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCiBtc2dzdHIgIiIKICIgIEPhuqNuaCBiw6FvOiAkZGlzcGxheV9uYW1lIGtow7RuZyBjaOG7qWEgbOG6p24gY2h1eeG7g24gZ2lhbyAoY29tbWl0KSAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA5MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDk5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCiBtc2dzdHIgIiIKICIgIEPhuqNuaCBiw6FvOiAkZGlzcGxheV9uYW1lIGtow7RuZyBjaOG7qWEgbmjhu69uZyBs4bqnbiBjaHV54buDbiBnaWFvIChjb21taXQpICIKICIkc2hhMV9zcmMgdsOgICRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTE3CisjOiBnaXQtc3VibW9kdWxlLnNoOjExMjQKIG1zZ2lkICJibG9iIgogbXNnc3RyICJibG9iIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExNTUKLW1zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKLW1zZ3N0ciAiTmjhu69uZyBtw7QtxJF1bi1jb24gxJHDoyBi4buLIHRoYXkgxJHhu5VpIG5oxrBuZyBjaMawYSDEkcaw4bujYyBj4bqtcCBuaOG6rXQ6IgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExNTcKLW1zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgotbXNnc3RyICJOaOG7r25nIG3DtC3EkXVuLWNvbiB0aGF5IMSR4buVaSDEkcOjIMSRxrDhu6NjIGNodXnhu4NuIGdpYW8gKGNvbW1pdCk6IgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEyNDIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTIzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgxJHhu4cgcXV5IHbDoG8gdHJvbmcgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkc21fcGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMzA2CisjOiBnaXQtc3VibW9kdWxlLnNoOjEzMDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCBmb3IgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIlVybCBNw7QtxJF1bi1jb24gxJHhu5NuZyBi4buZIGjDs2EgY2hvIOKAnCRkaXNwbGF5cGF0aOKAnSIKIAorI34gbXNnaWQgImRvbmVcbiIKKyN+IG1zZ3N0ciAieG9uZ1xuIgorCisjfiBtc2dpZCAiaW5wdXQgcGF0aHMgYXJlIHRlcm1pbmF0ZWQgYnkgYSBudWxsIGNoYXJhY3RlciIKKyN+IG1zZ3N0ciAiY8OhYyDEkcaw4budbmcgZOG6q24gxJHGsOG7o2MgIG5nxINuIGPDoWNoIGLhu59pIGvDvSB04buxIG51bGwiCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgZmlsZXMgd291bGQgTk9UIGJlIHNhdmVkIGJ1dCBuZWVkIHRvIGJlIHJlbW92ZWQgIgorI34gImJ5IHN0YXNoIHNhdmU6IgorI34gbXNnc3RyICIiCisjfiAiQ8OhYyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIHNhdSDEkcOieSBLSMOUTkcgxJHGsOG7o2MgZ2hpIGzhuqFpIG5oxrBuZyBj4bqnbiDEkcaw4bujYyAiCisjfiAiZ+G7oSBi4buPIGLhu59pIHZp4buHYyBnaGkgbOG6oWkgc3Rhc2g6IgorCisjfiBtc2dpZCAiIgorI34gIkFib3J0aW5nLiBDb25zaWRlciB1c2luZyBlaXRoZXIgdGhlIC0tZm9yY2Ugb3IgLS1pbmNsdWRlLXVudHJhY2tlZCBvcHRpb24uIgorI34gbXNnc3RyICIiCisjfiAiQsOjaSBi4buPLiBDw6JuIG5o4bqvYyBkw7luZyBt4buZdCB0cm9uZyBoYWkgdMO5eSBjaOG7jW4gLS1mb3JjZSB2w6AgLS1pbmNsdWRlLSIKKyN+ICJ1bnRyYWNrZWQuIgorCiAjfiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1yZXNvbHZlZFwiKSIKICN+IG1zZ3N0ciAiICAoc+G7rWEgY8OhYyB4dW5nIMSR4buZdCB2w6Agc2F1IMSRw7MgY2jhuqF5IGzhu4duaCBcImdpdCBhbSAtLXJlc29sdmVkXCIpIgogCkBAIC0xMDY4OCw5ICsxMDk3Nyw2IEBACiAjfiBtc2dpZCAiLUIgY2Fubm90IGJlIHVzZWQgd2l0aCAtYiIKICN+IG1zZ3N0ciAidMO5eSBjaOG7jW4gLUIga2jDtG5nIHRo4buDIGTDuW5nIC1iIgogCi0jfiBtc2dpZCAiLS1wYXRjaCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucyIKLSN+IG1zZ3N0ciAiLS1wYXRjaCB4dW5nIGto4bqvYyB24bubaSB04bqldCBj4bqjIGPDoWMgdMO5eSBjaOG7jW4ga2jDoWMiCi0KICN+IG1zZ2lkICItLWRldGFjaCBjYW5ub3QgYmUgdXNlZCB3aXRoIC1iLy1CLy0tb3JwaGFuIgogI34gbXNnc3RyICItLWRldGFjaCBraMO0bmcgdGjhu4MgxJHGsOG7o2Mgc+G7rSBk4bulbmcgduG7m2kgdMO5eSBjaOG7jW4gLWIvLUIvLS1vcnBoYW4iCiAKZGlmZiAtLWdpdCBhL3BvL3poX0NOLnBvIGIvcG8vemhfQ04ucG8KaW5kZXggYjdiNDZmMS4uYjcwMTA4NiAxMDA2NDQKLS0tIGEvcG8vemhfQ04ucG8KKysrIGIvcG8vemhfQ04ucG8KQEAgLTEyLDggKzEyLDggQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogR2l0XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTMtMDgtMDYgMTQ6MTArMDgwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTMtMDgtMDYgMTQ6NDUrMDgwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDEzLTExLTAyIDA4OjA2KzA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDEzLTExLTAyIDA4OjE0KzA4MDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IEppYW5nIFhpbiA8d29ybGRoZWxsby5uZXRAZ21haWwuY29tPlxuIgogIkxhbmd1YWdlLVRlYW06IEdpdEh1YiA8aHR0cHM6Ly9naXRodWIuY29tL2dvdGdpdC9naXQvPlxuIgogIkxhbmd1YWdlOiB6aF9DTlxuIgpAQCAtNjAsNzEgKzYwLDc2IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPOeJiOacrOW6kz4gWy0tZXhlYyA85ZG95LukPl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzIzCisjOiBhcmNoaXZlLmM6MjQyIGJ1aWx0aW4vYWRkLmM6MjQwIGJ1aWx0aW4vYWRkLmM6NTU2IGJ1aWx0aW4vcm0uYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKK21zZ3N0ciAi6Lev5b6E6KeE5YiZICclcycg5pyq5Yy56YWN5Lu75L2V5paH5Lu2IgorCisjOiBhcmNoaXZlLmM6MzI3CiBtc2dpZCAiZm10IgogbXNnc3RyICLmoLzlvI8iCiAKLSM6IGFyY2hpdmUuYzozMjMKKyM6IGFyY2hpdmUuYzozMjcKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAi5b2S5qGj5qC85byPIgogCi0jOiBhcmNoaXZlLmM6MzI0IGJ1aWx0aW4vbG9nLmM6MTE3MworIzogYXJjaGl2ZS5jOjMyOCBidWlsdGluL2xvZy5jOjExOTMKIG1zZ2lkICJwcmVmaXgiCiBtc2dzdHIgIuWJjee8gCIKIAotIzogYXJjaGl2ZS5jOjMyNQorIzogYXJjaGl2ZS5jOjMyOQogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgIuS4uuW9kuaho+S4reavj+S4qui3r+W+hOWQjeWKoOS4iuWJjee8gCIKIAotIzogYXJjaGl2ZS5jOjMyNiBidWlsdGluL2FyY2hpdmUuYzo4OCBidWlsdGluL2JsYW1lLmM6MjI5MgotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTMgYnVpbHRpbi9jb25maWcuYzo1NiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjczCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc1IGJ1aWx0aW4vZ3JlcC5jOjcxNCBidWlsdGluL2hhc2gtb2JqZWN0LmM6NzcKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0OTYgYnVpbHRpbi9scy1maWxlcy5jOjQ5OSBidWlsdGluL25vdGVzLmM6NDA4Ci0jOiBidWlsdGluL25vdGVzLmM6NTY1IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA4IHBhcnNlLW9wdGlvbnMuaDoxNTIKKyM6IGFyY2hpdmUuYzozMzAgYnVpbHRpbi9hcmNoaXZlLmM6ODggYnVpbHRpbi9ibGFtZS5jOjIyNjQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY1IGJ1aWx0aW4vY29uZmlnLmM6NTggYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MiBidWlsdGluL2dyZXAuYzo3MTYgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjc3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDg2IGJ1aWx0aW4vbHMtZmlsZXMuYzo0ODkgYnVpbHRpbi9ub3Rlcy5jOjQwOAorIzogYnVpbHRpbi9ub3Rlcy5jOjU2NSBidWlsdGluL3JlYWQtdHJlZS5jOjEwOCBwYXJzZS1vcHRpb25zLmg6MTU0CiBtc2dpZCAiZmlsZSIKIG1zZ3N0ciAi5paH5Lu2IgogCi0jOiBhcmNoaXZlLmM6MzI3IGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CisjOiBhcmNoaXZlLmM6MzMxIGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CiBtc2dpZCAid3JpdGUgdGhlIGFyY2hpdmUgdG8gdGhpcyBmaWxlIgogbXNnc3RyICLlvZLmoaPlhpnlhaXmraTmlofku7YiCiAKLSM6IGFyY2hpdmUuYzozMjkKKyM6IGFyY2hpdmUuYzozMzMKIG1zZ2lkICJyZWFkIC5naXRhdHRyaWJ1dGVzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICLor7vlj5blt6XkvZzljLrkuK3nmoQgLmdpdGF0dHJpYnV0ZXMiCiAKLSM6IGFyY2hpdmUuYzozMzAKKyM6IGFyY2hpdmUuYzozMzQKIG1zZ2lkICJyZXBvcnQgYXJjaGl2ZWQgZmlsZXMgb24gc3RkZXJyIgogbXNnc3RyICLlnKjmoIflh4bplJnor6/kuIrmiqXlkYrlvZLmoaPmlofku7YiCiAKLSM6IGFyY2hpdmUuYzozMzEKKyM6IGFyY2hpdmUuYzozMzUKIG1zZ2lkICJzdG9yZSBvbmx5IgogbXNnc3RyICLlj6rlrZjlgqgiCiAKLSM6IGFyY2hpdmUuYzozMzIKKyM6IGFyY2hpdmUuYzozMzYKIG1zZ2lkICJjb21wcmVzcyBmYXN0ZXIiCiBtc2dzdHIgIuWOi+e8qemAn+W6puabtOW/qyIKIAotIzogYXJjaGl2ZS5jOjM0MAorIzogYXJjaGl2ZS5jOjM0NAogbXNnaWQgImNvbXByZXNzIGJldHRlciIKIG1zZ3N0ciAi5Y6L57yp5pWI5p6c5pu05aW9IgogCi0jOiBhcmNoaXZlLmM6MzQzCisjOiBhcmNoaXZlLmM6MzQ3CiBtc2dpZCAibGlzdCBzdXBwb3J0ZWQgYXJjaGl2ZSBmb3JtYXRzIgogbXNnc3RyICLliJflh7rmlK/mjIHnmoTlvZLmoaPmoLzlvI8iCiAKLSM6IGFyY2hpdmUuYzozNDUgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjg1CisjOiBhcmNoaXZlLmM6MzQ5IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4NAogbXNnaWQgInJlcG8iCiBtc2dzdHIgIueJiOacrOW6kyIKIAotIzogYXJjaGl2ZS5jOjM0NiBidWlsdGluL2FyY2hpdmUuYzo5MQorIzogYXJjaGl2ZS5jOjM1MCBidWlsdGluL2FyY2hpdmUuYzo5MQogbXNnaWQgInJldHJpZXZlIHRoZSBhcmNoaXZlIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkgPHJlcG8+IgogbXNnc3RyICLku47ov5znqIvniYjmnKzlupPvvIg854mI5pys5bqTPu+8ieaPkOWPluW9kuaho+aWh+S7tiIKIAotIzogYXJjaGl2ZS5jOjM0NyBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDg3CisjOiBhcmNoaXZlLmM6MzUxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODcKIG1zZ2lkICJjb21tYW5kIgogbXNnc3RyICLlkb3ku6QiCiAKLSM6IGFyY2hpdmUuYzozNDggYnVpbHRpbi9hcmNoaXZlLmM6OTMKKyM6IGFyY2hpdmUuYzozNTIgYnVpbHRpbi9hcmNoaXZlLmM6OTMKIG1zZ2lkICJwYXRoIHRvIHRoZSByZW1vdGUgZ2l0LXVwbG9hZC1hcmNoaXZlIGNvbW1hbmQiCiBtc2dzdHIgIui/nOeoiyBnaXQtdXBsb2FkLWFyY2hpdmUg5ZG95Luk55qE6Lev5b6EIgogCkBAIC0yMDUsMTcgKzIxMCwxNyBAQAogbXNnaWQgIkNhbm5vdCBmb3JjZSB1cGRhdGUgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi5peg5rOV5by65Yi25pu05paw5b2T5YmN5YiG5pSv44CCIgogCi0jOiBicmFuY2guYzoyMTYKKyM6IGJyYW5jaC5jOjIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc2V0dXAgdHJhY2tpbmcgaW5mb3JtYXRpb247IHN0YXJ0aW5nIHBvaW50ICclcycgaXMgbm90IGEgYnJhbmNoLiIKIG1zZ3N0ciAi5peg5rOV6K6+572u6Lef6Liq5L+h5oGv77yb6LW35aeL54K5ICclcycg5LiN5piv5LiA5Liq5YiG5pSv44CCIgogCi0jOiBicmFuY2guYzoyMTgKKyM6IGJyYW5jaC5jOjIxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgcmVxdWVzdGVkIHVwc3RyZWFtIGJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICLor7fmsYLnmoTkuIrmuLjliIbmlK8gJyVzJyDkuI3lrZjlnKgiCiAKLSM6IGJyYW5jaC5jOjIyMAorIzogYnJhbmNoLmM6MjE5CiBtc2dpZCAiIgogIlxuIgogIklmIHlvdSBhcmUgcGxhbm5pbmcgb24gYmFzaW5nIHlvdXIgd29yayBvbiBhbiB1cHN0cmVhbVxuIgpAQCAtMjMzLDI2ICsyMzgsMjYgQEAKICLlpoLmnpzmgqjmraPorqHliJLmjqjpgIHkuIDkuKrog73kuI7lr7nlupTov5znqIvliIbmlK/lu7rnq4vot5/ouKrnmoTmlrDnmoTmnKzlnLDliIbmlK/vvIxcbiIKICLmgqjlj6/og73pnIDopoHkvb/nlKggXCJnaXQgcHVzaCAtdVwiIOaOqOmAgeWIhuaUr+W5tumFjee9ruWSjOS4iua4uOeahOWFs+iBlOOAgiIKIAotIzogYnJhbmNoLmM6MjY1CisjOiBicmFuY2guYzoyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICLkuI3mmK/kuIDkuKrmnInmlYjnmoTlr7nosaHlkI3vvJonJXMn44CCIgogCi0jOiBicmFuY2guYzoyODUKKyM6IGJyYW5jaC5jOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBbWJpZ3VvdXMgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICLmrafkuYnnmoTlr7nosaHlkI3vvJonJXMn44CCIgogCi0jOiBicmFuY2guYzoyOTAKKyM6IGJyYW5jaC5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgogbXNnc3RyICLml6DmlYjnmoTliIbmlK/ngrnvvJonJXMn44CCIgogCi0jOiBicmFuY2guYzoyOTYKKyM6IGJyYW5jaC5jOjI5NQogbXNnaWQgIkZhaWxlZCB0byBsb2NrIHJlZiBmb3IgdXBkYXRlIgogbXNnc3RyICLml6Dms5XkuLrmm7TmlrDplIHlrprlvJXnlKgiCiAKLSM6IGJyYW5jaC5jOjMxNAorIzogYnJhbmNoLmM6MzEzCiBtc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHJlZiIKIG1zZ3N0ciAi5LiN6IO95YaZ5byV55SoIgogCkBAIC0yNjYsNyArMjcxLDcgQEAKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVhZGVyOiAlcyVzICglZCkiCiBtc2dzdHIgIuacquiDveivhuWIq+eahOWMheWktO+8miVzJXMgKCVkKSIKIAotIzogYnVuZGxlLmM6ODkgYnVpbHRpbi9jb21taXQuYzo2OTcKKyM6IGJ1bmRsZS5jOjg5IGJ1aWx0aW4vY29tbWl0LmM6NzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgIuS4jeiDveaJk+W8gCAnJXMnIgpAQCAtMjc1LDkgKzI4MCw5IEBACiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyB0aGVzZSBwcmVyZXF1aXNpdGUgY29tbWl0czoiCiBtc2dzdHIgIueJiOacrOW6k+e8uuWwkei/meS6m+W/heWkh+eahOaPkOS6pO+8miIKIAotIzogYnVuZGxlLmM6MTY0IHNlcXVlbmNlci5jOjY2MSBzZXF1ZW5jZXIuYzoxMTExIGJ1aWx0aW4vbG9nLmM6MzMxCi0jOiBidWlsdGluL2xvZy5jOjgwMSBidWlsdGluL2xvZy5jOjEzOTkgYnVpbHRpbi9sb2cuYzoxNjI1IGJ1aWx0aW4vbWVyZ2UuYzozNjQKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNTYKKyM6IGJ1bmRsZS5jOjE2NCBzZXF1ZW5jZXIuYzo2NjIgc2VxdWVuY2VyLmM6MTExMiBidWlsdGluL2xvZy5jOjMzMgorIzogYnVpbHRpbi9sb2cuYzo4MjEgYnVpbHRpbi9sb2cuYzoxNDE4IGJ1aWx0aW4vbG9nLmM6MTY0NCBidWlsdGluL21lcmdlLmM6MzY0CisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTU4CiBtc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCiBtc2dzdHIgIueJiOacrOmBjeWOhuiuvue9ruWksei0pSIKIApAQCAtMzAzLDcgKzMwOCw3IEBACiBtc2dpZCAicmV2LWxpc3QgZGllZCIKIG1zZ3N0ciAicmV2LWxpc3Qg57uI5q2iIgogCi0jOiBidW5kbGUuYzozMDAgYnVpbHRpbi9sb2cuYzoxMzEwIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNTkKKyM6IGJ1bmRsZS5jOjMwMCBidWlsdGluL2xvZy5jOjEzMjkgYnVpbHRpbi9zaG9ydGxvZy5jOjI2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLmnKrog73or4bliKvnmoTlj4LmlbDvvJolcyIKQEAgLTQ1NSw3ICs0NjAsNyBAQAogIuWPkeeOsOmFjee9ruWPmOmHjyAnZGlmZi5kaXJzdGF0JyDkuK3nmoTplJnor6/vvJpcbiIKICIlcyIKIAotIzogZGlmZi5jOjM0ODcKKyM6IGRpZmYuYzozNDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCkBAIC00NjQsNyArNDY5LDcgQEAKICLml6Dms5Xop6PmnpAgLS1kaXJzdGF0Ly1YIOmAiemhueeahOWPguaVsO+8mlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzUwMQorIzogZGlmZi5jOjM1MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCiBtc2dzdHIgIuaXoOazleino+aekCAtLXN1Ym1vZHVsZSDpgInpobnnmoTlj4LmlbDvvJonJXMnIgpAQCAtNDkxLDE3ICs0OTYsMTcgQEAKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJzogJXMiCiBtc2dzdHIgIuaXoOazleWwhuWIhuemu+W8j+etvuWQjeWGmeWFpSAnJXMn77yaJXMiCiAKLSM6IGdyZXAuYzoxNjIzCisjOiBncmVwLmM6MTY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAiJyVzJ++8muaXoOazleivu+WPliAlcyIKIAotIzogZ3JlcC5jOjE2NDAKKyM6IGdyZXAuYzoxNzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6ICVzIgogbXNnc3RyICInJXMn77yaJXMiCiAKLSM6IGdyZXAuYzoxNjUxCisjOiBncmVwLmM6MTcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBzaG9ydCByZWFkICVzIgogbXNnc3RyICInJXMn77ya6K+75Y+W5LiN5a6M5pW0ICVzIgpAQCAtNTc0LDggKzU3OSw4IEBACiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGNhY2hlIgogbXNnc3RyICLml6Dms5Xor7vlj5bnvJPlrZgiCiAKLSM6IG1lcmdlLmM6MTEwIGJ1aWx0aW4vY2hlY2tvdXQuYzozNjUgYnVpbHRpbi9jaGVja291dC5jOjU2NgotIzogYnVpbHRpbi9jbG9uZS5jOjY1NgorIzogbWVyZ2UuYzoxMTAgYnVpbHRpbi9jaGVja291dC5jOjM1OCBidWlsdGluL2NoZWNrb3V0LmM6NTU5CisjOiBidWlsdGluL2Nsb25lLmM6NjU1CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICLml6Dms5XlhpnmlrDnmoTntKLlvJXmlofku7YiCiAKQEAgLTYyNCw3ICs2MjksNyBAQAogbXNnaWQgImJsb2IgZXhwZWN0ZWQgZm9yICVzICclcyciCiBtc2dzdHIgIiVzICclcycg5bqU5Li65pWw5o2u77yIYmxvYu+8ieWvueixoSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzc0IGJ1aWx0aW4vY2xvbmUuYzozMTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc3NCBidWlsdGluL2Nsb25lLmM6MzExCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCiBtc2dzdHIgIuaXoOazleaJk+W8gCAnJXMnIgpAQCAtNzU5LDcgKzc2NCw3IEBACiBtc2dpZCAiQXV0by1tZXJnaW5nICVzIgogbXNnc3RyICLoh6rliqjlkIjlubYgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzQgZ2l0LXN1Ym1vZHVsZS5zaDoxMTE4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjM0IGdpdC1zdWJtb2R1bGUuc2g6MTEyNQogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAi5a2Q5qih57uEIgogCkBAIC04NTQsNTkgKzg1OSwxMjIgQEAKIG1zZ2lkICJCYWQgJXMgdmFsdWU6ICclcyciCiBtc2dzdHIgIuWdj+eahCAlcyDlgLzvvJonJXMnIgogCi0jOiBvYmplY3QuYzoyMDQKKyM6IG9iamVjdC5jOjIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2Ugb2JqZWN0OiAlcyIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q5a+56LGh77yaJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo0ODkKKyM6IHBhcnNlLW9wdGlvbnMuYzo1MzcKIG1zZ2lkICIuLi4iCiBtc2dzdHIgIi4uLiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjUwNworIzogcGFyc2Utb3B0aW9ucy5jOjU1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMiCiBtc2dzdHIgIueUqOazle+8miVzIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uIGhlcmUgc2hvdWxkIGFsaWduIHdpdGggdGhlCiAjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24KLSM6IHBhcnNlLW9wdGlvbnMuYzo1MTEKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgb3I6ICVzIgogbXNnc3RyICIgIOaIlu+8miVzIgogCiAjICDor5HogIXvvJrkuLrkv53or4HlnKjovpPlh7rkuK3lr7npvZDvvIzms6jmhI/osIPmlbTlj6XkuK3nqbrmoLzvvIEKLSM6IHBhcnNlLW9wdGlvbnMuYzo1MTQKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICVzIgogbXNnc3RyICIgICAgJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1NDgKKyM6IHBhcnNlLW9wdGlvbnMuYzo1OTYKIG1zZ2lkICItTlVNIgogbXNnc3RyICIt5pWw5a2XIgogCi0jOiBwYXRoc3BlYy5jOjgzCi0jLCBjLWZvcm1hdAotbXNnaWQgIlBhdGggJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgotbXNnc3RyICLot6/lvoQgJyVzJyDlsZ7kuo7mqKHnu4QgJyUuKnMnIgorIzogcGF0aHNwZWMuYzoxMTgKK21zZ2lkICJnbG9iYWwgJ2dsb2InIGFuZCAnbm9nbG9iJyBwYXRoc3BlYyBzZXR0aW5ncyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICLlhajlsYDnmoQgJ2dsb2InIOWSjCAnbm9nbG9iJyDot6/lvoTop4TliJnorr7nva7kuI3lhbzlrrkiCiAKLSM6IHBhdGhzcGVjLmM6OTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgotbXNnc3RyICInJXMnIOS9jeS6juespuWPt+mTvuaOpeS4rSIKKyM6IHBhdGhzcGVjLmM6MTI4Cittc2dpZCAiIgorImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgZ2xvYmFsICIKKyJwYXRoc3BlYyBzZXR0aW5ncyIKK21zZ3N0ciAi5YWo5bGA55qEICdsaXRlcmFsJyDot6/lvoTop4TliJnorr7nva7lkozlhbblroPnmoTlhajlsYDot6/lvoTop4TliJnorr7nva7kuI3lhbzlrrkiCiAKLSM6IHJlbW90ZS5jOjE3ODgKKyM6IHBhdGhzcGVjLmM6MTU4Cittc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXIgZm9yIHBhdGhzcGVjIG1hZ2ljICdwcmVmaXgnIgorbXNnc3RyICLot6/lvoTop4TliJnljIXlkKvml6DmlYjnmoTnpZ7lpYfliY3nvIAiCisKKyM6IHBhdGhzcGVjLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGF0aHNwZWMgbWFnaWMgJyUuKnMnIGluICclcyciCittc2dzdHIgIuWcqOi3r+W+hOinhOWImSAnJTMkcycg5Lit5peg5pWI55qE56We5aWH5YmN57yAICclMiQuKjEkcyciCisKKyM6IHBhdGhzcGVjLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pc3NpbmcgJyknIGF0IHRoZSBlbmQgb2YgcGF0aHNwZWMgbWFnaWMgaW4gJyVzJyIKK21zZ3N0ciAi6Lev5b6E6KeE5YiZICclcycg55qE56We5aWH5YmN57yA57uT5bC+5bCR5LqG5LiA5LiqICcpJyIKKworIzogcGF0aHNwZWMuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pbXBsZW1lbnRlZCBwYXRoc3BlYyBtYWdpYyAnJWMnIGluICclcyciCittc2dzdHIgIui3r+W+hOinhOWImSAnJTIkcycg5Lit5YyF5ZCr5pyq5a6e546w55qE56We5aWH5YmN57yAICclMSRjJyIKKworIzogcGF0aHNwZWMuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICdsaXRlcmFsJyBhbmQgJ2dsb2InIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiVz77yaJ2xpdGVyYWwnIOWSjCAnZ2xvYicg5LiN5YW85a65IgorCisjOiBwYXRoc3BlYy5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCittc2dzdHIgIiVz77yaJyVzJyDlnKjniYjmnKzlupPkuYvlpJYiCisKKyM6IHBhdGhzcGVjLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKK21zZ3N0ciAi6Lev5b6E6KeE5YiZICclcycg5Zyo5a2Q5qih57uEICclLipzJyDkuK0iCisKKyMuCisjLiAqIFdlIG1heSB3YW50IHRvIHN1YnN0aXR1dGUgInRoaXMgY29tbWFuZCIgd2l0aCBhIGNvbW1hbmQKKyMuICogbmFtZS4gRS5nLiB3aGVuIGFkZC0taW50ZXJhY3RpdmUgZGllcyB3aGVuIHJ1bm5pbmcKKyMuICogImNoZWNrb3V0IC1wIgorIy4KKyM6IHBhdGhzcGVjLmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXRoc3BlYyBtYWdpYyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29tbWFuZDogJXMiCittc2dzdHIgIiVz77ya6Lev5b6E6KeE5YiZ56We5aWH5YmN57yA5LiN6KKr5q2k5ZG95Luk5pSv5oyB77yaJXMiCisKKyM6IHBhdGhzcGVjLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAi6Lev5b6E6KeE5YiZICclcycg5L2N5LqO56ym5Y+36ZO+5o6l5LitIgorCisjOiByZW1vdGUuYzoxODMzCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJhc2VkIG9uICclcycsIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS5cbiIKK21zZ3N0ciAi5oKo55qE5YiG5pSv5Z+65LqOICclcyfvvIzkvYbmraTkuIrmuLjliIbmlK/lt7Lnu4/kuI3lrZjlnKjjgIJcbiIKKworIzogcmVtb3RlLmM6MTgzNworbXNnaWQgIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIgorbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIOadpeS/ruWkje+8iVxuIgorCisjOiByZW1vdGUuYzoxODQwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwLXRvLWRhdGUgd2l0aCAnJXMnLlxuIgorbXNnc3RyICLmgqjnmoTliIbmlK/kuI7kuIrmuLjliIbmlK8gJyVzJyDkuIDoh7TjgIJcbiIKKworIzogcmVtb3RlLmM6MTg0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdC5cbiIKIG1zZ2lkX3BsdXJhbCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXRzLlxuIgogbXNnc3RyWzBdICLmgqjnmoTliIbmlK/pooblhYggJyVzJyDlhbEgJWQg5Liq5o+Q5Lqk44CCXG4iCiBtc2dzdHJbMV0gIuaCqOeahOWIhuaUr+mihuWFiCAnJXMnIOWFsSAlZCDkuKrmj5DkuqTjgIJcbiIKIAotIzogcmVtb3RlLmM6MTc5NAorIzogcmVtb3RlLmM6MTg1MAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHB1c2hcIiDmnaXlj5HluIPmgqjnmoTmnKzlnLDmj5DkuqTvvIlcbiIKIAotIzogcmVtb3RlLmM6MTc5NworIzogcmVtb3RlLmM6MTg1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiZWhpbmQgJyVzJyBieSAlZCBjb21taXQsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCiBtc2dpZF9wbHVyYWwgIiIKQEAgLTkxNSwxMSArOTgzLDExIEBACiBtc2dzdHJbMV0gIuaCqOeahOWIhuaUr+iQveWQjiAnJXMnIOWFsSAlZCDkuKrmj5DkuqTvvIzlubbkuJTlj6/ku6Xlv6vov5vjgIJcbiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiByZW1vdGUuYzoxODA1CisjOiByZW1vdGUuYzoxODYxCiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byB1cGRhdGUgeW91ciBsb2NhbCBicmFuY2gpXG4iCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHB1bGxcIiDmnaXmm7TmlrDmgqjnmoTmnKzlnLDliIbmlK/vvIlcbiIKIAotIzogcmVtb3RlLmM6MTgwOAorIzogcmVtb3RlLmM6MTg2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTkzNSw3ICsxMDAzLDcgQEAKICLlubbkuJTliIbliKvmnIkgJWQg5ZKMICVkIOWkhOS4jeWQjOeahOaPkOS6pOOAglxuIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHJlbW90ZS5jOjE4MTgKKyM6IHJlbW90ZS5jOjE4NzQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHB1bGxcIiDmnaXlkIjlubbov5znqIvliIbmlK/vvIlcbiIKIApAQCAtOTc3LDcgKzEwNDUsNyBAQAogIuWGsueqgeino+WGs+WujOavleWQju+8jOeUqCAnZ2l0IGFkZCA8cGF0aHM+JyDmiJYgJ2dpdCBybSA8cGF0aHM+J1xuIgogIuWvueS/ruato+WQjueahOaWh+S7tuWBmuagh+iusO+8jOeEtuWQjueUqCAnZ2l0IGNvbW1pdCcg5o+Q5LqkIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDUgc2VxdWVuY2VyLmM6ODY5IHNlcXVlbmNlci5jOjk1MgorIzogc2VxdWVuY2VyLmM6MjQ1IHNlcXVlbmNlci5jOjg3MCBzZXF1ZW5jZXIuYzo5NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICVzIgogbXNnc3RyICLkuI3og73lhpnlhaUgJXMiCkBAIC0xMDAwLDE5NyArMTA2OCwxOTcgQEAKIG1zZ3N0ciAi5o+Q5Lqk5oKo55qE5L+u5pS55oiW5L+d5a2Y6L+b5bqm5ZCO5YaN57un57ut44CCIgogCiAjLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiBvciAiY2hlcnJ5LXBpY2siCi0jOiBzZXF1ZW5jZXIuYzozMjQKKyM6IHNlcXVlbmNlci5jOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIlc++8muaXoOazleWGmeWFpeaWsOe0ouW8leaWh+S7tiIKIAotIzogc2VxdWVuY2VyLmM6MzU1CisjOiBzZXF1ZW5jZXIuYzozNTYKIG1zZ2lkICJDb3VsZCBub3QgcmVzb2x2ZSBIRUFEIGNvbW1pdFxuIgogbXNnc3RyICLkuI3og73op6PmnpAgSEVBRCDmj5DkuqRcbiIKIAotIzogc2VxdWVuY2VyLmM6Mzc3CisjOiBzZXF1ZW5jZXIuYzozNzgKIG1zZ2lkICJVbmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWVcbiIKIG1zZ3N0ciAi5LiN6IO95pu05paw57yT5a2YXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQyMgorIzogc2VxdWVuY2VyLmM6NDIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXNcbiIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q5o+Q5LqkICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQyNworIzogc2VxdWVuY2VyLmM6NDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzXG4iCiBtc2dzdHIgIuS4jeiDveino+aekOeItuaPkOS6pCAlc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzo0OTMKKyM6IHNlcXVlbmNlci5jOjQ5NAogbXNnaWQgIllvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCiBtc2dzdHIgIuaCqOeahOe0ouW8leaWh+S7tuacquWujOaIkOWQiOW5tuOAgiIKIAotIzogc2VxdWVuY2VyLmM6NTEyCisjOiBzZXF1ZW5jZXIuYzo1MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICLmj5DkuqQgJXMg5piv5LiA5Liq5ZCI5bm25o+Q5Lqk5L2G5pyq5o+Q5L6bIC1tIOmAiemhueOAgiIKIAotIzogc2VxdWVuY2VyLmM6NTIwCisjOiBzZXF1ZW5jZXIuYzo1MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgogbXNnc3RyICLmj5DkuqQgJXMg5rKh5pyJ54i25o+Q5LqkICVkIgogCi0jOiBzZXF1ZW5jZXIuYzo1MjQKKyM6IHNlcXVlbmNlci5jOjUyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgogbXNnc3RyICLmjIflrprkuobkuLvnur/kvYbmj5DkuqQgJXMg5LiN5piv5LiA5Liq5ZCI5bm244CCIgogCiAjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgInJldmVydCIgb3IKICMuICJjaGVycnktcGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExCi0jOiBzZXF1ZW5jZXIuYzo1MzcKKyM6IHNlcXVlbmNlci5jOjUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCiBtc2dzdHIgIiVz77ya5LiN6IO96Kej5p6Q54i25o+Q5LqkICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo1NDEKKyM6IHNlcXVlbmNlci5jOjU0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIGZvciAlcyIKIG1zZ3N0ciAi5LiN6IO95b6X5YiwICVzIOeahOaPkOS6pOivtOaYjiIKIAotIzogc2VxdWVuY2VyLmM6NjI3CisjOiBzZXF1ZW5jZXIuYzo2MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAi5LiN6IO96L+Y5Y6fICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo2MjgKKyM6IHNlcXVlbmNlci5jOjYyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgIuS4jeiDveW6lOeUqCAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6NjY0CisjOiBzZXF1ZW5jZXIuYzo2NjUKIG1zZ2lkICJlbXB0eSBjb21taXQgc2V0IHBhc3NlZCIKIG1zZ3N0ciAi5o+Q5L6b5LqG56m655qE5o+Q5Lqk6ZuGIgogCi0jOiBzZXF1ZW5jZXIuYzo2NzIKKyM6IHNlcXVlbmNlci5jOjY3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVz77ya5peg5rOV6K+75Y+W57Si5byVIgogCi0jOiBzZXF1ZW5jZXIuYzo2NzcKKyM6IHNlcXVlbmNlci5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVz77ya5peg5rOV5Yi35paw57Si5byVIgogCi0jOiBzZXF1ZW5jZXIuYzo3MzUKKyM6IHNlcXVlbmNlci5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgJXMgZHVyaW5nIGEgJXMiCiBtc2dzdHIgIuaXoOazlSAlcyDlnKjkuIDkuKogJXMg6L+H56iL5LitIgogCi0jOiBzZXF1ZW5jZXIuYzo3NTcKKyM6IHNlcXVlbmNlci5jOjc1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2UgbGluZSAlZC4iCiBtc2dzdHIgIuS4jeiDveino+aekOesrCAlZCDooYzjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjc2MgorIzogc2VxdWVuY2VyLmM6NzYzCiBtc2dpZCAiTm8gY29tbWl0cyBwYXJzZWQuIgogbXNnc3RyICLmsqHmnInmj5DkuqTooqvop6PmnpDjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjc3NQorIzogc2VxdWVuY2VyLmM6Nzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICVzIgogbXNnc3RyICLkuI3og73miZPlvIAgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjc3OQorIzogc2VxdWVuY2VyLmM6NzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkICVzLiIKIG1zZ3N0ciAi5LiN6IO96K+75Y+WICVz44CCIgogCi0jOiBzZXF1ZW5jZXIuYzo3ODYKKyM6IHNlcXVlbmNlci5jOjc4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJXMiCiBtc2dzdHIgIuaXoOeUqOeahOaMh+S7pOihqOWNle+8miVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4MTQKKyM6IHNlcXVlbmNlci5jOjgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGtleTogJXMiCiBtc2dzdHIgIuaXoOaViOmUruWQje+8miVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4MTcKKyM6IHNlcXVlbmNlci5jOjgxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgIiVzIOeahOWAvOaXoOaViO+8miVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4MjkKKyM6IHNlcXVlbmNlci5jOjgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJXMiCiBtc2dzdHIgIumdnuazleeahOmAiemhueihqOWNle+8miVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTAKKyM6IHNlcXVlbmNlci5jOjg1MQogbXNnaWQgImEgY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgIuS4gOS4quaLo+mAieaIlui/mOWOn+aTjeS9nOW3suWcqOi/m+ihjCIKIAotIzogc2VxdWVuY2VyLmM6ODUxCisjOiBzZXF1ZW5jZXIuYzo4NTIKIG1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogbXNnc3RyICLlsJ3or5UgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTUKKyM6IHNlcXVlbmNlci5jOjg1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgIuS4jeiDveWIm+W7uuW6j+WIl+ebruW9lSAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODcxIHNlcXVlbmNlci5jOjk1NgorIzogc2VxdWVuY2VyLmM6ODcyIHNlcXVlbmNlci5jOjk1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcy4iCiBtc2dzdHIgIumUmeivr+aUtuWwviAlc+OAgiIKIAotIzogc2VxdWVuY2VyLmM6ODkwIHNlcXVlbmNlci5jOjEwMjQKKyM6IHNlcXVlbmNlci5jOjg5MSBzZXF1ZW5jZXIuYzoxMDI1CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICLmi6PpgInmiJbov5jljp/mk43kvZzlubbmnKrov5vooYwiCiAKLSM6IHNlcXVlbmNlci5jOjg5MgorIzogc2VxdWVuY2VyLmM6ODkzCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgSEVBRCIKIG1zZ3N0ciAi5LiN6IO96Kej5p6QIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjg5NAorIzogc2VxdWVuY2VyLmM6ODk1CiBtc2dpZCAiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgIuS4jeiDveS7juWwmuacquW7uueri+eahOWIhuaUr+e7iOatoiIKIAotIzogc2VxdWVuY2VyLmM6OTE2IGJ1aWx0aW4vYXBwbHkuYzo0MDYxCisjOiBzZXF1ZW5jZXIuYzo5MTcgYnVpbHRpbi9hcHBseS5jOjQwNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgogbXNnc3RyICLkuI3og73miZPlvIAgJXPvvJolcyIKIAotIzogc2VxdWVuY2VyLmM6OTE5CisjOiBzZXF1ZW5jZXIuYzo5MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJXM6ICVzIgogbXNnc3RyICLkuI3og73or7vlj5YgJXPvvJolcyIKIAotIzogc2VxdWVuY2VyLmM6OTIwCisjOiBzZXF1ZW5jZXIuYzo5MjEKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICLmhI/lpJbnmoTmlofku7bnu5PmnZ8iCiAKLSM6IHNlcXVlbmNlci5jOjkyNgorIzogc2VxdWVuY2VyLmM6OTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKIG1zZ3N0ciAi5L+d5a2Y5ouj6YCJ5o+Q5Lqk5YmN55qEIEhFQUQg5paH5Lu2ICclcycg5o2f5Z2PIgogCi0jOiBzZXF1ZW5jZXIuYzo5NDkKKyM6IHNlcXVlbmNlci5jOjk1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZm9ybWF0ICVzLiIKIG1zZ3N0ciAi5LiN6IO95qC85byP5YyWICVz44CCIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDkyCisjOiBzZXF1ZW5jZXIuYzoxMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgogbXNnc3RyICIlc++8muS4jeiDveaLo+mAieS4gOS4qiVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDk1CisjOiBzZXF1ZW5jZXIuYzoxMDk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgcmV2aXNpb24iCiBtc2dzdHIgIiVz77ya6ZSZ6K+v55qE54mI5pysIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTI5CisjOiBzZXF1ZW5jZXIuYzoxMTMwCiBtc2dpZCAiQ2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgogbXNnc3RyICLkuI3og73kvZzkuLrliJ3lp4vmj5DkuqTov5jljp8iCiAKLSM6IHNlcXVlbmNlci5jOjExMzAKKyM6IHNlcXVlbmNlci5jOjExMzEKIG1zZ2lkICJDYW4ndCBjaGVycnktcGljayBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIuS4jeiDveaLo+mAieWIsOepuuWIhuaUryIKIApAQCAtMTIxNSw0MDAgKzEyODMsNDkzIEBACiAi5Y+v6IO96ZyA6KaB5Yig6Zmk5a6D5Lus44CC55SoIFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIlxuIgogIuWRveS7pOWFs+mXreacrOa2iOaBr+mAmuefpeOAgiIKIAotIzogc2hhMV9uYW1lLmM6MTA5NworIzogc2hhMV9uYW1lLmM6MTExMgogbXNnaWQgIkhFQUQgZG9lcyBub3QgcG9pbnQgdG8gYSBicmFuY2giCiBtc2dzdHIgIkhFQUQg5rKh5pyJ5oyH5ZCR5LiA5Liq5YiG5pSvIgogCi0jOiBzaGExX25hbWUuYzoxMTAwCisjOiBzaGExX25hbWUuYzoxMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggYnJhbmNoOiAnJXMnIgogbXNnc3RyICLmsqHmnInmraTliIbmlK/vvJonJXMnIgogCi0jOiBzaGExX25hbWUuYzoxMTAyCisjOiBzaGExX25hbWUuYzoxMTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHVwc3RyZWFtIGNvbmZpZ3VyZWQgZm9yIGJyYW5jaCAnJXMnIgogbXNnc3RyICLlsJrmnKrnu5nliIbmlK8gJyVzJyDorr7nva7kuIrmuLgiCiAKLSM6IHNoYTFfbmFtZS5jOjExMDYKKyM6IHNoYTFfbmFtZS5jOjExMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBzdHJlYW0gYnJhbmNoICclcycgbm90IHN0b3JlZCBhcyBhIHJlbW90ZS10cmFja2luZyBicmFuY2giCiBtc2dzdHIgIuS4iua4uOWIhuaUryAnJXMnIOayoeacieWtmOWCqOS4uuS4gOS4qui/nOeoi+i3n+i4quWIhuaUryIKIAotIzogd3JhcHBlci5jOjQwOAorIzogc3VibW9kdWxlLmM6NjQgc3VibW9kdWxlLmM6OTgKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHVubWVyZ2VkIC5naXRtb2R1bGVzLCByZXNvbHZlIG1lcmdlIGNvbmZsaWN0cyBmaXJzdCIKK21zZ3N0ciAi5peg5rOV5L+u5pS55pyq5ZCI5bm255qEIC5naXRtb2R1bGVz77yM5YWI6Kej5Yaz5ZCI5bm25Yay56qBIgorCisjOiBzdWJtb2R1bGUuYzo2OCBzdWJtb2R1bGUuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGZpbmQgc2VjdGlvbiBpbiAuZ2l0bW9kdWxlcyB3aGVyZSBwYXRoPSVzIgorbXNnc3RyICLml6Dms5XlnKggLmdpdG1vZHVsZXMg5Lit5om+5YiwIHBhdGg9JXMg55qE5bCP6IqCIgorCisjLiBNYXliZSB0aGUgdXNlciBhbHJlYWR5IGRpZCB0aGF0LCBkb24ndCBlcnJvciBvdXQgaGVyZQorIzogc3VibW9kdWxlLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKK21zZ3N0ciAi5LiN6IO95pu05pawIC5naXRtb2R1bGVzIOadoeebriAlcyIKKworIy4gTWF5YmUgdGhlIHVzZXIgYWxyZWFkeSBkaWQgdGhhdCwgZG9uJ3QgZXJyb3Igb3V0IGhlcmUKKyM6IHN1Ym1vZHVsZS5jOjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIC5naXRtb2R1bGVzIGVudHJ5IGZvciAlcyIKK21zZ3N0ciAi5peg5rOV56e76ZmkICVzIOeahCAuZ2l0bW9kdWxlcyDmnaHnm64iCisKKyM6IHN1Ym1vZHVsZS5jOjEyNworbXNnaWQgImNvdWxkIG5vdCBmaW5kIC5naXRtb2R1bGVzIGluIGluZGV4IgorbXNnc3RyICLml6Dms5XlnKjntKLlvJXkuK3mib7liLAgLmdpdG1vZHVsZXMiCisKKyM6IHN1Ym1vZHVsZS5jOjEzMworbXNnaWQgInJlYWRpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCittc2dzdHIgIuivu+WPluabtOaWsOWQjueahCAuZ2l0bW9kdWxlcyDlpLHotKUiCisKKyM6IHN1Ym1vZHVsZS5jOjEzNQorbXNnaWQgInVuYWJsZSB0byBzdGF0IHVwZGF0ZWQgLmdpdG1vZHVsZXMiCittc2dzdHIgIuS4jeiDveaemuS4vuabtOaWsOWQjueahCAuZ2l0bW9kdWxlcyIKKworIzogc3VibW9kdWxlLmM6MTM5Cittc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAuZ2l0bW9kdWxlcyBmcm9tIGluZGV4IgorbXNnc3RyICLkuI3og73ku47ntKLlvJXkuK3np7vpmaQgLmdpdG1vZHVsZXMiCisKKyM6IHN1Ym1vZHVsZS5jOjE0MQorbXNnaWQgImFkZGluZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKK21zZ3N0ciAi5re75Yqg5pu05paw5ZCO55qEIC5naXRtb2R1bGVzIOWksei0pSIKKworIzogc3VibW9kdWxlLmM6MTQzCittc2dpZCAic3RhZ2luZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKK21zZ3N0ciAi5bCG5pu05paw5ZCOIC5naXRtb2R1bGVzIOa3u+WKoOaaguWtmOWMuuWksei0pSIKKworIzogc3VibW9kdWxlLmM6MTE0NCBidWlsdGluL2luaXQtZGIuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBnaXQgbGluayAlcyIKK21zZ3N0ciAi5LiN6IO95Yib5bu6IGdpdCBsaW5rICVzIgorCisjOiBzdWJtb2R1bGUuYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBzZXQgY29yZS53b3JrdHJlZSBpbiAlcyIKK21zZ3N0ciAi5LiN6IO95ZyoICVzIOS4reiuvue9riBjb3JlLndvcmt0cmVlIgorCisjOiB1cmxtYXRjaC5jOjEyMAorbXNnaWQgImludmFsaWQgVVJMIHNjaGVtZSBuYW1lIG9yIG1pc3NpbmcgJzovLycgc3VmZml4IgorbXNnc3RyICLml6DmlYjnmoQgVVJMIOaWueahiOWQjeensOaIluS4ouWksSAnOi8vJyDlkI7nvIAiCisKKyM6IHVybG1hdGNoLmM6MTQ0IHVybG1hdGNoLmM6Mjk3IHVybG1hdGNoLmM6MzU2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgJVhYIGVzY2FwZSBzZXF1ZW5jZSIKK21zZ3N0ciAi5peg5pWI55qEICVYWCDovazkuYnluo/liJciCisKKyM6IHVybG1hdGNoLmM6MTcyCittc2dpZCAibWlzc2luZyBob3N0IGFuZCBzY2hlbWUgaXMgbm90ICdmaWxlOiciCittc2dzdHIgIue8uuWkseS4u+acuuWQjeS4lFVSTOaWueahiOS4jeaYryAnZmlsZTonIgorCisjOiB1cmxtYXRjaC5jOjE4OQorbXNnaWQgImEgJ2ZpbGU6JyBVUkwgbWF5IG5vdCBoYXZlIGEgcG9ydCBudW1iZXIiCittc2dzdHIgIuS4gOS4qiAnZmlsZTonIFVSTCDkuI3lupTor6XljIXlkKvnq6/lj6Plj7ciCisKKyM6IHVybG1hdGNoLmM6MTk5Cittc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXJzIGluIGhvc3QgbmFtZSIKK21zZ3N0ciAi5Li75py65ZCN5Lit5YyF5ZCr5peg5pWI55qE5a2X56ymIgorCisjOiB1cmxtYXRjaC5jOjI0NCB1cmxtYXRjaC5jOjI1NQorbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIiCittc2dzdHIgIuaXoOaViOeahOerr+WPo+WPtyIKKworIzogdXJsbWF0Y2guYzozMjIKK21zZ2lkICJpbnZhbGlkICcuLicgcGF0aCBzZWdtZW50IgorbXNnc3RyICLml6DmlYjnmoQgJy4uJyDot6/lvoTniYfmrrUiCisKKyM6IHdyYXBwZXIuYzo0MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnOiAlcyIKIG1zZ3N0ciAi5LiN6IO96K6/6ZeuICclcyfvvJolcyIKIAotIzogd3JhcHBlci5jOjQyOQorIzogd3JhcHBlci5jOjQ0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyciCiBtc2dzdHIgIuS4jeiDveiuv+mXriAnJXMnIgogCi0jOiB3cmFwcGVyLmM6NDQwCisjOiB3cmFwcGVyLmM6NDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBsb29rIHVwIGN1cnJlbnQgdXNlciBpbiB0aGUgcGFzc3dkIGZpbGU6ICVzIgogbXNnc3RyICLml6Dms5XlnKjlj6Pku6Tmlofku7bkuK3mn6Xor6LliLDlvZPliY3nlKjmiLfvvJolcyIKIAotIzogd3JhcHBlci5jOjQ0MQorIzogd3JhcHBlci5jOjQ1NQogbXNnaWQgIm5vIHN1Y2ggdXNlciIKIG1zZ3N0ciAi5peg5q2k55So5oi3IgogCi0jOiB3dC1zdGF0dXMuYzoxNDEKKyM6IHd0LXN0YXR1cy5jOjE0NgogbXNnaWQgIlVubWVyZ2VkIHBhdGhzOiIKIG1zZ3N0ciAi5pyq5ZCI5bm255qE6Lev5b6E77yaIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE2OCB3dC1zdGF0dXMuYzoxOTUKKyM6IHd0LXN0YXR1cy5jOjE3MyB3dC1zdGF0dXMuYzoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCByZXNldCAlcyA8ZmlsZT4uLi5cIiDmkqTlh7rmmoLlrZjljLrvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTcwIHd0LXN0YXR1cy5jOjE5NworIzogd3Qtc3RhdHVzLmM6MTc1IHd0LXN0YXR1cy5jOjIwMgogbXNnaWQgIiAgKHVzZSBcImdpdCBybSAtLWNhY2hlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIg5pKk5Ye65pqC5a2Y5Yy677yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE3NAorIzogd3Qtc3RhdHVzLmM6MTc5CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBhZGQgPGZpbGU+Li4uXCIg5qCH6K6w6Kej5Yaz5pa55qGI77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE3NiB3dC1zdGF0dXMuYzoxODAKKyM6IHd0LXN0YXR1cy5jOjE4MSB3dC1zdGF0dXMuYzoxODUKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAg77yI6YWM5oOF5L2/55SoIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiDmoIforrDop6PlhrPmlrnmoYjvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTc4CisjOiB3dC1zdGF0dXMuYzoxODMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcm0gPGZpbGU+Li4uXCIg5qCH6K6w6Kej5Yaz5pa55qGI77yJIgogCi0jOiB3dC1zdGF0dXMuYzoxODkKKyM6IHd0LXN0YXR1cy5jOjE5NAogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAi6KaB5o+Q5Lqk55qE5Y+Y5pu077yaIgogCi0jOiB3dC1zdGF0dXMuYzoyMDcKKyM6IHd0LXN0YXR1cy5jOjIxMgogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAi5bCa5pyq5pqC5a2Y5Lul5aSH5o+Q5Lqk55qE5Y+Y5pu077yaIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjIxMQorIzogd3Qtc3RhdHVzLmM6MjE2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiDmm7TmlrDopoHmj5DkuqTnmoTlhoXlrrnvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MjEzCisjOiB3dC1zdGF0dXMuYzoyMTgKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIOabtOaWsOimgeaPkOS6pOeahOWGheWuue+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoyMTQKKyM6IHd0LXN0YXR1cy5jOjIxOQogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uXCIg5Lii5byD5bel5L2c5Yy655qE5pS55Yqo77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjIxNgorIzogd3Qtc3RhdHVzLmM6MjIxCiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIgIO+8iOaPkOS6pOaIluS4ouW8g+WtkOaooee7hOS4reacqui3n+i4quaIluS/ruaUueeahOWGheWuue+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoyMjgKKyM6IHd0LXN0YXR1cy5jOjIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgJXMgPGZpbGU+Li4uXCIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgJXMgPGZpbGU+Li4uXCIg5Lul5YyF5ZCr6KaB5o+Q5Lqk55qE5YaF5a6577yJIgogCi0jOiB3dC1zdGF0dXMuYzoyNDUKKyM6IHd0LXN0YXR1cy5jOjI1MAogbXNnaWQgImJ1ZyIKIG1zZ3N0ciAiYnVnIgogCi0jOiB3dC1zdGF0dXMuYzoyNTAKKyM6IHd0LXN0YXR1cy5jOjI1NQogbXNnaWQgImJvdGggZGVsZXRlZDoiCiBtc2dzdHIgIuWPjOaWueWIoOmZpO+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjUxCisjOiB3dC1zdGF0dXMuYzoyNTYKIG1zZ2lkICJhZGRlZCBieSB1czoiCiBtc2dzdHIgIueUseaIkeS7rOa3u+WKoO+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjUyCisjOiB3dC1zdGF0dXMuYzoyNTcKIG1zZ2lkICJkZWxldGVkIGJ5IHRoZW06IgogbXNnc3RyICLnlLHku5bku6zliKDpmaTvvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MworIzogd3Qtc3RhdHVzLmM6MjU4CiBtc2dpZCAiYWRkZWQgYnkgdGhlbToiCiBtc2dzdHIgIueUseS7luS7rOa3u+WKoO+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjU0CisjOiB3dC1zdGF0dXMuYzoyNTkKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAi55Sx5oiR5Lus5Yig6Zmk77yaIgogCi0jOiB3dC1zdGF0dXMuYzoyNTUKKyM6IHd0LXN0YXR1cy5jOjI2MAogbXNnaWQgImJvdGggYWRkZWQ6IgogbXNnc3RyICLlj4zmlrnmt7vliqDvvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NgorIzogd3Qtc3RhdHVzLmM6MjYxCiBtc2dpZCAiYm90aCBtb2RpZmllZDoiCiBtc2dzdHIgIuWPjOaWueS/ruaUue+8miIKIAogIyAg6K+R6ICF77ya5pyr5bC+5Lik5Liq5a2X6IqC5Y+v6IO96KKr5Yig5YeP77yM5aaC5p6c57+76K+R5Li65Lit5paH5qCH54K55Lya5Ye6546w5Y2K5Liq5rGJ5a2XCi0jOiB3dC1zdGF0dXMuYzoyODYKKyM6IHd0LXN0YXR1cy5jOjI5MQogbXNnaWQgIm5ldyBjb21taXRzLCAiCiBtc2dzdHIgIuaWsOaPkOS6pCwgIgogCiAjICDor5HogIXvvJrmnKvlsL7kuKTkuKrlrZfoioLlj6/og73ooqvliKDlh4/vvIzlpoLmnpznv7vor5HkuLrkuK3mlofmoIfngrnkvJrlh7rnjrDljYrkuKrmsYnlrZcKLSM6IHd0LXN0YXR1cy5jOjI4OAorIzogd3Qtc3RhdHVzLmM6MjkzCiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICLkv67mlLnnmoTlhoXlrrksICIKIAogIyAg6K+R6ICF77ya5pyr5bC+5Lik5Liq5a2X6IqC5Y+v6IO96KKr5Yig5YeP77yM5aaC5p6c57+76K+R5Li65Lit5paH5qCH54K55Lya5Ye6546w5Y2K5Liq5rGJ5a2XCi0jOiB3dC1zdGF0dXMuYzoyOTAKKyM6IHd0LXN0YXR1cy5jOjI5NQogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgIuacqui3n+i4queahOWGheWuuSwgIgogCiAjICDor5HogIXvvJrkuLrkv53or4HlnKjovpPlh7rkuK3lr7npvZDvvIzms6jmhI/osIPmlbTlj6XkuK3nqbrmoLzvvIEKLSM6IHd0LXN0YXR1cy5jOjMwNworIzogd3Qtc3RhdHVzLmM6MzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBmaWxlOiAgICVzIgogbXNnc3RyICLmlrDmlofku7bvvJogICAgJXMiCiAKICMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQotIzogd3Qtc3RhdHVzLmM6MzEwCisjOiB3dC1zdGF0dXMuYzozMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29waWVkOiAgICAgJXMgLT4gJXMiCiBtc2dzdHIgIuaLt+i0ne+8miAgICAgICVzIC0+ICVzIgogCiAjICDor5HogIXvvJrkuLrkv53or4HlnKjovpPlh7rkuK3lr7npvZDvvIzms6jmhI/osIPmlbTlj6XkuK3nqbrmoLzvvIEKLSM6IHd0LXN0YXR1cy5jOjMxMworIzogd3Qtc3RhdHVzLmM6MzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0ZWQ6ICAgICVzIgogbXNnc3RyICLliKDpmaTvvJogICAgICAlcyIKIAogIyAg6K+R6ICF77ya5Li65L+d6K+B5Zyo6L6T5Ye65Lit5a+56b2Q77yM5rOo5oSP6LCD5pW05Y+l5Lit56m65qC877yBCi0jOiB3dC1zdGF0dXMuYzozMTYKKyM6IHd0LXN0YXR1cy5jOjMyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb2RpZmllZDogICAlcyIKIG1zZ3N0ciAi5L+u5pS577yaICAgICAgJXMiCiAKICMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQotIzogd3Qtc3RhdHVzLmM6MzE5CisjOiB3dC1zdGF0dXMuYzozMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1lZDogICAgJXMgLT4gJXMiCiBtc2dzdHIgIumHjeWRveWQje+8miAgICAlcyAtPiAlcyIKIAogIyAg6K+R6ICF77ya5Li65L+d6K+B5Zyo6L6T5Ye65Lit5a+56b2Q77yM5rOo5oSP6LCD5pW05Y+l5Lit56m65qC877yBCi0jOiB3dC1zdGF0dXMuYzozMjIKKyM6IHd0LXN0YXR1cy5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0eXBlY2hhbmdlOiAlcyIKIG1zZ3N0ciAi57G75Z6L5Y+Y5pu077yaICAlcyIKIAogIyAg6K+R6ICF77ya5Li65L+d6K+B5Zyo6L6T5Ye65Lit5a+56b2Q77yM5rOo5oSP6LCD5pW05Y+l5Lit56m65qC877yBCi0jOiB3dC1zdGF0dXMuYzozMjUKKyM6IHd0LXN0YXR1cy5jOjMzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duOiAgICAlcyIKIG1zZ3N0ciAi5pyq55+l77yaICAgICAgJXMiCiAKICMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQotIzogd3Qtc3RhdHVzLmM6MzI4CisjOiB3dC1zdGF0dXMuYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5tZXJnZWQ6ICAgJXMiCiBtc2dzdHIgIuacquWQiOW5tu+8miAgICAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MzMxCisjOiB3dC1zdGF0dXMuYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnVnOiB1bmhhbmRsZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgImJ1Z++8muacquWkhOeQhueahOW3ruW8gueKtuaAgSAlYyIKIAotIzogd3Qtc3RhdHVzLmM6ODAzCisjOiB3dC1zdGF0dXMuYzo3MDMKK21zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKK21zZ3N0ciAi5a2Q5qih57uE5bey5L+u5pS55L2G5bCa5pyq5pu05paw77yaIgorCisjOiB3dC1zdGF0dXMuYzo3MDUKK21zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgorbXNnc3RyICLopoHmj5DkuqTnmoTlrZDmqKHnu4Tlj5jmm7TvvJoiCisKKyM6IHd0LXN0YXR1cy5jOjg0OAogbXNnaWQgIllvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLiIKIG1zZ3N0ciAi5oKo5pyJ5bCa5pyq5ZCI5bm255qE6Lev5b6E44CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjgwNgorIzogd3Qtc3RhdHVzLmM6ODUxCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKIG1zZ3N0ciAiICDvvIjop6PlhrPlhrLnqoHlubbov5DooYwgXCJnaXQgY29tbWl0XCLvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjgwOQorIzogd3Qtc3RhdHVzLmM6ODU0CiBtc2dpZCAiQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLiIKIG1zZ3N0ciAi5omA5pyJ5Yay56qB5bey6Kej5Yaz5L2G5oKo5LuN5aSE5LqO5ZCI5bm25Lit44CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjgxMgorIzogd3Qtc3RhdHVzLmM6ODU3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgY29tbWl0XCIg57uT5p2f5ZCI5bm277yJIgogCi0jOiB3dC1zdGF0dXMuYzo4MjIKKyM6IHd0LXN0YXR1cy5jOjg2NwogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLiIKIG1zZ3N0ciAi5oKo5q2j5aSE5LqO5LiA5LiqIGFtIOi/h+eoi+S4reOAgiIKIAotIzogd3Qtc3RhdHVzLmM6ODI1CisjOiB3dC1zdGF0dXMuYzo4NzAKIG1zZ2lkICJUaGUgY3VycmVudCBwYXRjaCBpcyBlbXB0eS4iCiBtc2dzdHIgIuW9k+WJjeeahOihpeS4geS4uuepuuOAgiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzo4MjkKKyM6IHd0LXN0YXR1cy5jOjg3NAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAg77yI6Kej5Yaz5Yay56qB77yM54S25ZCO6L+Q6KGMIFwiZ2l0IGFtIC0tY29udGludWVcIu+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzo4MzEKKyM6IHd0LXN0YXR1cy5jOjg3NgogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBhbSAtLXNraXBcIiDot7Pov4fmraTooaXkuIHvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6ODMzCisjOiB3dC1zdGF0dXMuYzo4NzgKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGFtIC0tYWJvcnRcIiDmgaLlpI3ljp/mnInliIbmlK/vvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjg5MyB3dC1zdGF0dXMuYzo5MTAKKyM6IHd0LXN0YXR1cy5jOjkzOCB3dC1zdGF0dXMuYzo5NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIuaCqOato+WcqOWwhuWIhuaUryAnJXMnIOWPmOWfuuWIsCAnJXMn44CCIgogCi0jOiB3dC1zdGF0dXMuYzo4OTggd3Qtc3RhdHVzLmM6OTE1CisjOiB3dC1zdGF0dXMuYzo5NDMgd3Qtc3RhdHVzLmM6OTYwCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICLmgqjmraPlnKjlj5jln7rjgIIiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6OTAxCisjOiB3dC1zdGF0dXMuYzo5NDYKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICDvvIjop6PlhrPlhrLnqoHvvIznhLblkI7ov5DooYwgXCJnaXQgcmViYXNlIC0tY29udGludWVcIu+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzo5MDMKKyM6IHd0LXN0YXR1cy5jOjk0OAogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcmViYXNlIC0tc2tpcFwiIOi3s+i/h+atpOihpeS4ge+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzo5MDUKKyM6IHd0LXN0YXR1cy5jOjk1MAogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHRvIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcmViYXNlIC0tYWJvcnRcIiDku6Xmo4Dlh7rljp/mnInliIbmlK/vvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6OTE4CisjOiB3dC1zdGF0dXMuYzo5NjMKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAg77yI5omA5pyJ5Yay56qB5bey6Kej5Yaz77ya6L+Q6KGMIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCLvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjkyMgorIzogd3Qtc3RhdHVzLmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIuaCqOato+WcqOWwhuWIhuaUryAnJXMnIOWPmOWfuuWIsCAnJXMnIOi/h+eoi+S4reaLhuWIhuS4gOS4quaPkOS6pOOAgiIKIAotIzogd3Qtc3RhdHVzLmM6OTI3CisjOiB3dC1zdGF0dXMuYzo5NzIKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAi5oKo5q2j5Zyo5Y+Y5Z+66L+H56iL5Lit5ouG5YiG5LiA5Liq5o+Q5Lqk44CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjkzMAorIzogd3Qtc3RhdHVzLmM6OTc1CiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAg77yI5LiA5pem5oKo5bel5L2c55uu5b2V5o+Q5Lqk5bmy5YeA5ZCO77yM6L+Q6KGMIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCLvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjkzNAorIzogd3Qtc3RhdHVzLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIuaCqOato+WcqOWwhuWIhuaUryAnJXMnIOWPmOWfuuWIsCAnJXMnIOi/h+eoi+S4ree8lui+keS4gOS4quaPkOS6pOOAgiIKIAotIzogd3Qtc3RhdHVzLmM6OTM5CisjOiB3dC1zdGF0dXMuYzo5ODQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIuaCqOato+WcqOWPmOWfuui/h+eoi+S4ree8lui+keS4gOS4quaPkOS6pOOAgiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzo5NDIKKyM6IHd0LXN0YXR1cy5jOjk4NwogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIg5L+u6KGl5b2T5YmN5o+Q5Lqk77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjk0NAorIzogd3Qtc3RhdHVzLmM6OTg5CiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpIgogbXNnc3RyICIgIO+8iOW9k+aCqOWvueaCqOeahOS/ruaUuea7oeaEj+WQjuaJp+ihjCBcImdpdCByZWJhc2UgLS1jb250aW51ZVwi77yJIgogCi0jOiB3dC1zdGF0dXMuYzo5NTQKLW1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZy4iCi1tc2dzdHIgIuaCqOato+WcqOWBmuaLo+mAieaTjeS9nOOAgiIKKyM6IHd0LXN0YXR1cy5jOjk5OQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgorbXNnc3RyICLmgqjmraPlnKjlgZrmi6PpgInmj5DkuqQgJXPjgIIiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6OTU4CisjOiB3dC1zdGF0dXMuYzoxMDA0CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAg77yI6Kej5Yaz5Yay56qB5bm26L+Q6KGMIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIu+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzo5NjEKKyM6IHd0LXN0YXR1cy5jOjEwMDcKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICDvvIjmiYDmnInlhrLnqoHlt7Lop6PlhrPvvJrov5DooYwgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwi77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjk2MworIzogd3Qtc3RhdHVzLmM6MTAwOQogbXNnaWQgIiAgKHVzZSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSBjaGVycnktcGljayBvcGVyYXRpb24pIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIg5Lul5Y+W5raI5ouj6YCJ5pON5L2c77yJIgogCi0jOiB3dC1zdGF0dXMuYzo5NzIKKyM6IHd0LXN0YXR1cy5jOjEwMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIuaCqOato+WcqOWPjei9rOaPkOS6pCAlcyDjgIIiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6OTc3CisjOiB3dC1zdGF0dXMuYzoxMDIzCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIO+8iOino+WGs+WGsueqgeW5tui/kOihjCBcImdpdCByZXZlcnQgLS1jb250aW51ZVwi77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjk4MAorIzogd3Qtc3RhdHVzLmM6MTAyNgogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICDvvIjmiYDmnInlhrLnqoHlt7Lop6PlhrPvvJrov5DooYwgXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIu+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzo5ODIKKyM6IHd0LXN0YXR1cy5jOjEwMjgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCByZXZlcnQgLS1hYm9ydFwiIOS7peWPlua2iOWPjei9rOaPkOS6pOaTjeS9nO+8iSIKIAotIzogd3Qtc3RhdHVzLmM6OTkzCisjOiB3dC1zdGF0dXMuYzoxMDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAi5oKo5q2j5Zyo5LuO5YiG5pSvICclcycg5byA5aeL5YGa5LqM5YiG5p+l5om+44CCIgogCi0jOiB3dC1zdGF0dXMuYzo5OTcKKyM6IHd0LXN0YXR1cy5jOjEwNDMKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcuIgogbXNnc3RyICLmgqjmraPlnKjlgZrkuozliIbmn6Xmib7jgIIiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTAwMAorIzogd3Qtc3RhdHVzLmM6MTA0NgogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgYmlzZWN0IHJlc2V0XCIg5Lul5Zue5Yiw5Y6f5pyJ5YiG5pSv77yJIgogCi0jOiB3dC1zdGF0dXMuYzoxMTczCisjOiB3dC1zdGF0dXMuYzoxMjIxCiBtc2dpZCAiT24gYnJhbmNoICIKIG1zZ3N0ciAi5L2N5LqO5YiG5pSvICIKIAotIzogd3Qtc3RhdHVzLmM6MTE4MAorIzogd3Qtc3RhdHVzLmM6MTIyOAogbXNnaWQgInJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgIuWPmOWfuuato+WcqOi/m+ihjOS4re+8m+iHsyAiCiAKLSM6IHd0LXN0YXR1cy5jOjExODcKKyM6IHd0LXN0YXR1cy5jOjEyMzUKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKIG1zZ3N0ciAi5aS05oyH6ZKI5YiG56a75LqOICIKIAotIzogd3Qtc3RhdHVzLmM6MTE4OQorIzogd3Qtc3RhdHVzLmM6MTIzNwogbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCiBtc2dzdHIgIuWktOaMh+mSiOWIhuemu+iHqiAiCiAKLSM6IHd0LXN0YXR1cy5jOjExOTIKKyM6IHd0LXN0YXR1cy5jOjEyNDAKIG1zZ2lkICJOb3QgY3VycmVudGx5IG9uIGFueSBicmFuY2guIgogbXNnc3RyICLlvZPliY3kuI3lnKjku7vkvZXliIbmlK/kuIrjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDkKKyM6IHd0LXN0YXR1cy5jOjEyNTcKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAi5Yid5aeL5o+Q5LqkIgogCi0jOiB3dC1zdGF0dXMuYzoxMjIzCisjOiB3dC1zdGF0dXMuYzoxMjcxCiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIgogbXNnc3RyICLmnKrot5/ouKrnmoTmlofku7YiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjUKKyM6IHd0LXN0YXR1cy5jOjEyNzMKIG1zZ2lkICJJZ25vcmVkIGZpbGVzIgogbXNnc3RyICLlv73nlaXnmoTmlofku7YiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjkKKyM6IHd0LXN0YXR1cy5jOjEyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGVudW1lcmF0ZSB1bnRyYWNrZWQgZmlsZXMuICdzdGF0dXMgLXVubydcbiIKQEAgLTE2MTgsOTcgKzE3NzksMTAxIEBACiAi6ICX6LS55LqGICUuMmYg56eS5Lul5p6a5Li+5pyq6Lef6Liq55qE5paH5Lu244CCJ3N0YXR1cyAtdW5vJyDkuZ/orrjog73mj5Dpq5jpgJ/luqbvvIxcbiIKICLkvYbmgqjpnIDopoHlsI/lv4PkuI3opoHlv5jkuobmt7vliqDmlrDmlofku7bvvIjlj4Lop4EgJ2dpdCBoZWxwIHN0YXR1cyfvvInjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMzUKKyM6IHd0LXN0YXR1cy5jOjEyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKIG1zZ3N0ciAi5pyq6Lef6Liq55qE5paH5Lu25rKh5pyJ5YiX5Ye6JXMiCiAKICMgIOivkeiAhe+8muS4reaWh+Wtl+espuS4suaLvOaOpe+8jOWPr+WIoOmZpOWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTIzNworIzogd3Qtc3RhdHVzLmM6MTI4NQogbXNnaWQgIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCiBtc2dzdHIgIu+8iOS9v+eUqCAtdSDlj4LmlbDmmL7npLrmnKrot5/ouKrnmoTmlofku7bvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDMKKyM6IHd0LXN0YXR1cy5jOjEyOTEKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICLmsqHmnInkv67mlLkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDgKKyM6IHd0LXN0YXR1cy5jOjEyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iCiBtc2dzdHIgIuS/ruaUueWwmuacquWKoOWFpeaPkOS6pO+8iOS9v+eUqCBcImdpdCBhZGRcIiDlkowv5oiWIFwiZ2l0IGNvbW1pdCAtYVwi77yJXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTEKKyM6IHd0LXN0YXR1cy5jOjEyOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXRcbiIKIG1zZ3N0ciAi5L+u5pS55bCa5pyq5Yqg5YWl5o+Q5LqkXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTQKKyM6IHd0LXN0YXR1cy5jOjEzMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKICJ0cmFjaylcbiIKIG1zZ3N0ciAi5o+Q5Lqk5Li656m677yM5L2G5piv5a2Y5Zyo5bCa5pyq6Lef6Liq55qE5paH5Lu277yI5L2/55SoIFwiZ2l0IGFkZFwiIOW7uueri+i3n+i4qu+8iVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjU3CisjOiB3dC1zdGF0dXMuYzoxMzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgogbXNnc3RyICLmj5DkuqTkuLrnqbrvvIzkvYbmmK/lrZjlnKjlsJrmnKrot5/ouKrnmoTmlofku7ZcbiIKIAogIyAg6K+R6ICF77ya5Lit5paH5a2X56ym5Liy5ou85o6l77yM5Y+v5Yig6Zmk5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMjYwCisjOiB3dC1zdGF0dXMuYzoxMzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0IChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIgogbXNnc3RyICLml6Dmlofku7bopoHmj5DkuqTvvIjliJvlu7ov5ou36LSd5paH5Lu25bm25L2/55SoIFwiZ2l0IGFkZFwiIOW7uueri+i3n+i4qu+8iVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYzIHd0LXN0YXR1cy5jOjEyNjgKKyM6IHd0LXN0YXR1cy5jOjEzMTEgd3Qtc3RhdHVzLmM6MTMxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICLml6Dmlofku7bopoHmj5DkuqRcbiIKIAogIyAg6K+R6ICF77ya5Lit5paH5a2X56ym5Liy5ou85o6l77yM5Y+v5Yig6Zmk5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMjY2CisjOiB3dC1zdGF0dXMuYzoxMzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpXG4iCiBtc2dzdHIgIuaXoOaWh+S7tuimgeaPkOS6pO+8iOS9v+eUqCAtdSDmmL7npLrmnKrot5/ouKrnmoTmlofku7bvvIlcbiIKIAogIyAg6K+R6ICF77ya5Lit5paH5a2X56ym5Liy5ou85o6l77yM5Y+v5Yig6Zmk5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMjcwCisjOiB3dC1zdGF0dXMuYzoxMzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIGRpcmVjdG9yeSBjbGVhblxuIgogbXNnc3RyICLml6Dmlofku7bopoHmj5DkuqTvvIzlubLlh4DnmoTlt6XkvZzljLpcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTM3OAorIzogd3Qtc3RhdHVzLmM6MTQyNwogbXNnaWQgIkhFQUQgKG5vIGJyYW5jaCkiCiBtc2dzdHIgIkhFQUTvvIjpnZ7liIbmlK/vvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWPpeWwvuepuuagvAotIzogd3Qtc3RhdHVzLmM6MTM4NAorIzogd3Qtc3RhdHVzLmM6MTQzMwogbXNnaWQgIkluaXRpYWwgY29tbWl0IG9uICIKIG1zZ3N0ciAi5Yid5aeL5o+Q5Lqk5LqOICIKIAorIzogd3Qtc3RhdHVzLmM6MTQ2MworbXNnaWQgImdvbmUiCittc2dzdHIgIuS4ouWksSIKKwogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5Y+l5bC+56m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMzk5CisjOiB3dC1zdGF0dXMuYzoxNDY1CiBtc2dpZCAiYmVoaW5kICIKIG1zZ3N0ciAi6JC95ZCOICIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5Y+l5bC+56m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxNDAyIHd0LXN0YXR1cy5jOjE0MDUKKyM6IHd0LXN0YXR1cy5jOjE0Njggd3Qtc3RhdHVzLmM6MTQ3MQogbXNnaWQgImFoZWFkICIKIG1zZ3N0ciAi6aKG5YWIICIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5Y+l5bC+56m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxNDA3CisjOiB3dC1zdGF0dXMuYzoxNDczCiBtc2dpZCAiLCBiZWhpbmQgIgogbXNnc3RyICLvvIzokL3lkI4gIgogCi0jOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTggYnVpbHRpbi9jbG9uZS5jOjM1MQorIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU1IGJ1aWx0aW4vY2xvbmUuYzozNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHVubGluayAnJXMnIgogbXNnc3RyICLml6Dms5XliKDpmaQgJyVzJyIKIAogIzogYnVpbHRpbi9hZGQuYzoyMAogbXNnaWQgImdpdCBhZGQgW29wdGlvbnNdIFstLV0gPHBhdGhzcGVjPi4uLiIKLW1zZ3N0ciAiZ2l0IGFkZCBb6YCJ6aG5XSBbLS1dIDzot6/lvoTljLnphY0+Li4uIgorbXNnc3RyICJnaXQgYWRkIFvpgInpobldIFstLV0gPOi3r+W+hOinhOWImT4uLi4iCiAKICMgIOivkeiAhe+8muWtl+espuS4summluihjOihjOmmluimgea3u+WKoOKAnHdhcm5pbmc6IOKAneWtl+S4su+8jOaVheatpOmmluihjOimgei+g+WFtuS9meihjOefrQogIy4KQEAgLTE3NzQsMTAgKzE5MzksMTAgQEAKICLlg4/mnKzlnLDlt6XkvZzljLrnp7vpmaTnmoTot6/lvoQgJyVzJ1xuIgogIuWcqOatpOeJiOacrOeahCBHaXQg5Lit6KKr5b+955Wl44CCXG4iCiAiXG4iCi0iKiAnZ2l0IGFkZCAtLWlnbm9yZS1yZW1vdmFsIDxwYXRoc3BlYz4n77yM5piv5b2T5YmN54mI5pys55qE6buY6K6k5pON5L2c77yMXG4iCisiKiAnZ2l0IGFkZCAtLWlnbm9yZS1yZW1vdmFsIDzot6/lvoTop4TliJk+J++8jOaYr+W9k+WJjeeJiOacrOeahOm7mOiupOaTjeS9nO+8jFxuIgogIiAg5b+955Wl5oKo5pys5Zyw5bel5L2c5Yy65Lit56e76Zmk55qE5paH5Lu244CCXG4iCiAiXG4iCi0iKiAnZ2l0IGFkZCAtLWFsbCA8cGF0aHNwZWM+JyDlsIborqnmgqjlkIzml7blr7nliKDpmaTmk43kvZzov5vooYzorrDlvZXjgIJcbiIKKyIqICdnaXQgYWRkIC0tYWxsIDzot6/lvoTop4TliJk+JyDlsIborqnmgqjlkIzml7blr7nliKDpmaTmk43kvZzov5vooYzorrDlvZXjgIJcbiIKICJcbiIKICLov5DooYwgJ2dpdCBzdGF0dXMnIOadpeajgOafpeaCqOacrOWcsOW3peS9nOWMuuS4reenu+mZpOeahOi3r+W+hOOAglxuIgogCkBAIC0xNzg2LDcgKzE5NTEsNyBAQAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgIuaEj+WklueahOW3ruW8gueKtuaAgSAlYyIKIAotIzogYnVpbHRpbi9hZGQuYzoxNDkgYnVpbHRpbi9jb21taXQuYzoyNTIKKyM6IGJ1aWx0aW4vYWRkLmM6MTQ5IGJ1aWx0aW4vY29tbWl0LmM6MjYwCiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICLmm7TmlrDmlofku7blpLHotKUiCiAKQEAgLTE3OTUsMTQwICsxOTYwLDEzNSBAQAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgIuWIoOmZpCAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjUzCisjOiBidWlsdGluL2FkZC5jOjIzNwogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVmcmVzaGluZyB0aGUgaW5kZXg6IgogbXNnc3RyICLliLfmlrDntKLlvJXkuYvlkI7lsJrmnKrooqvmmoLlrZjnmoTlj5jmm7TvvJoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU2IGJ1aWx0aW4vYWRkLmM6NTczIGJ1aWx0aW4vcm0uYzozMzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKLW1zZ3N0ciAi6Lev5b6EICclcycg5pyq5Yy56YWN5Lu75L2V5paH5Lu2IgotCi0jOiBidWlsdGluL2FkZC5jOjMzOQorIzogYnVpbHRpbi9hZGQuYzoyOTkKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIuS4jeiDveivu+WPlue0ouW8lSIKIAotIzogYnVpbHRpbi9hZGQuYzozNTAKKyM6IGJ1aWx0aW4vYWRkLmM6MzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmcuIgogbXNnc3RyICLkuI3og73miZPlvIAgJyVzJyDku6XlhpnlhaXjgIIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzU0CisjOiBidWlsdGluL2FkZC5jOjMxNAogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIKIG1zZ3N0ciAi5LiN6IO955Sf5oiQ6KGl5LiBIgogCi0jOiBidWlsdGluL2FkZC5jOjM1OQorIzogYnVpbHRpbi9hZGQuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95p+l55yL5paH5Lu254q25oCBICclcyciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzYxCisjOiBidWlsdGluL2FkZC5jOjMyMQogbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKIG1zZ3N0ciAi56m66KGl5LiB44CC5byC5bi457uI5q2i44CCIgogCi0jOiBidWlsdGluL2FkZC5jOjM2NworIzogYnVpbHRpbi9hZGQuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCiBtc2dzdHIgIuS4jeiDveW6lOeUqCAnJXMnIgogCi0jOiBidWlsdGluL2FkZC5jOjM3NworIzogYnVpbHRpbi9hZGQuYzozMzcKIG1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCiBtc2dzdHIgIuS4i+WIl+i3r+W+hOagueaNruaCqOeahOS4gOS4qiAuZ2l0aWdub3JlIOaWh+S7tuiAjOiiq+W/veeVpe+8mlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjM5NCBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZmV0Y2guYzo3OCBidWlsdGluL212LmM6NjMKLSM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzMgYnVpbHRpbi9wdXNoLmM6NDUxIGJ1aWx0aW4vcmVtb3RlLmM6MTI1MwotIzogYnVpbHRpbi9ybS5jOjI2OAorIzogYnVpbHRpbi9hZGQuYzozNTQgYnVpbHRpbi9jbGVhbi5jOjg3NSBidWlsdGluL2ZldGNoLmM6OTIgYnVpbHRpbi9tdi5jOjY2CisjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjczIGJ1aWx0aW4vcHVzaC5jOjQ1OSBidWlsdGluL3JlbW90ZS5jOjEyNTMKKyM6IGJ1aWx0aW4vcm0uYzoyNjkKIG1zZ2lkICJkcnkgcnVuIgogbXNnc3RyICLmvJTkuaAiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzk1IGJ1aWx0aW4vYXBwbHkuYzo0NDEwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyMCBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NSBidWlsdGluL2ZzY2suYzo2MTMKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3MyBidWlsdGluL212LmM6NjIgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTMKKyM6IGJ1aWx0aW4vYWRkLmM6MzU1IGJ1aWx0aW4vYXBwbHkuYzo0NDEwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTI0OSBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NSBidWlsdGluL2ZzY2suYzo2MTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5MiBidWlsdGluL212LmM6NjUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTMKIG1zZ2lkICJiZSB2ZXJib3NlIgogbXNnc3RyICLlhpfplb/ovpPlh7oiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzk3CisjOiBidWlsdGluL2FkZC5jOjM1NwogbXNnaWQgImludGVyYWN0aXZlIHBpY2tpbmciCiBtc2dzdHIgIuS6pOS6kuW8j+aLo+mAiSIKIAotIzogYnVpbHRpbi9hZGQuYzozOTggYnVpbHRpbi9jaGVja291dC5jOjEwNzMgYnVpbHRpbi9yZXNldC5jOjI2MQorIzogYnVpbHRpbi9hZGQuYzozNTggYnVpbHRpbi9jaGVja291dC5jOjExMDkgYnVpbHRpbi9yZXNldC5jOjI3MgogbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICLkuqTkupLlvI/mjJHpgInmlbDmja7lnZciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzk5CisjOiBidWlsdGluL2FkZC5jOjM1OQogbXNnaWQgImVkaXQgY3VycmVudCBkaWZmIGFuZCBhcHBseSIKIG1zZ3N0ciAi57yW6L6R5b2T5YmN5beu5byC5bm25bqU55SoIgogCi0jOiBidWlsdGluL2FkZC5jOjQwMAorIzogYnVpbHRpbi9hZGQuYzozNjAKIG1zZ2lkICJhbGxvdyBhZGRpbmcgb3RoZXJ3aXNlIGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIuWFgeiuuOa3u+WKoOW/veeVpeeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDEKKyM6IGJ1aWx0aW4vYWRkLmM6MzYxCiBtc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIuabtOaWsOW3sui3n+i4queahOaWh+S7tiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDIKKyM6IGJ1aWx0aW4vYWRkLmM6MzYyCiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICLlj6rorrDlvZXvvIzor6Xot6/lvoTnqI3lkI7lho3mt7vliqAiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDAzCisjOiBidWlsdGluL2FkZC5jOjM2MwogbXNnaWQgImFkZCBjaGFuZ2VzIGZyb20gYWxsIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi5re75Yqg5omA5pyJ5pS55Y+Y55qE5bey6Lef6Liq5paH5Lu25ZKM5pyq6Lef6Liq5paH5Lu2IgogCiAjLiB0YWtlcyBubyBhcmd1bWVudHMKLSM6IGJ1aWx0aW4vYWRkLmM6NDA2CisjOiBidWlsdGluL2FkZC5jOjM2NgogbXNnaWQgImlnbm9yZSBwYXRocyByZW1vdmVkIGluIHRoZSB3b3JraW5nIHRyZWUgKHNhbWUgYXMgLS1uby1hbGwpIgogbXNnc3RyICLlv73nlaXlt6XkvZzljLrkuK3np7vpmaTnmoTot6/lvoTvvIjlkowgLS1uby1hbGwg55u45ZCM77yJIgogCi0jOiBidWlsdGluL2FkZC5jOjQwOAorIzogYnVpbHRpbi9hZGQuYzozNjgKIG1zZ2lkICJkb24ndCBhZGQsIG9ubHkgcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgIuS4jea3u+WKoO+8jOWPquWIt+aWsOe0ouW8lSIKIAotIzogYnVpbHRpbi9hZGQuYzo0MDkKKyM6IGJ1aWx0aW4vYWRkLmM6MzY5CiBtc2dpZCAianVzdCBza2lwIGZpbGVzIHdoaWNoIGNhbm5vdCBiZSBhZGRlZCBiZWNhdXNlIG9mIGVycm9ycyIKIG1zZ3N0ciAi6Lez6L+H5Zug5Ye66ZSZ5LiN6IO95re75Yqg55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2FkZC5jOjQxMAorIzogYnVpbHRpbi9hZGQuYzozNzAKIG1zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCiBtc2dzdHIgIuajgOafpeWcqOa8lOS5oOaooeW8j+S4i+aWh+S7tu+8iOWNs+S9v+S4jeWtmOWcqO+8ieaYr+WQpuiiq+W/veeVpSIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzIKKyM6IGJ1aWx0aW4vYWRkLmM6MzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIHRoZW0uXG4iCiBtc2dzdHIgIuS9v+eUqCAtZiDlj4LmlbDlpoLmnpzmgqjnoa7lrp7opoHmt7vliqDlroPku6zjgIJcbiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzMKKyM6IGJ1aWx0aW4vYWRkLmM6MzkzCiBtc2dpZCAibm8gZmlsZXMgYWRkZWQiCiBtc2dzdHIgIuayoeacieaWh+S7tuiiq+a3u+WKoCIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzkKKyM6IGJ1aWx0aW4vYWRkLmM6Mzk5CiBtc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAi5re75Yqg5paH5Lu25aSx6LSlIgogCi0jOiBidWlsdGluL2FkZC5jOjQ3OAorIzogYnVpbHRpbi9hZGQuYzo0MzgKIG1zZ2lkICItQSBhbmQgLXUgYXJlIG11dHVhbGx5IGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLUEg5ZKMIC11IOmAiemhueS6kuaWpSIKIAotIzogYnVpbHRpbi9hZGQuYzo0OTYKKyM6IGJ1aWx0aW4vYWRkLmM6NDU2CiBtc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKIG1zZ3N0ciAi6YCJ6aG5IC0taWdub3JlLW1pc3Npbmcg5Y+q6IO95ZKMIC0tZHJ5LXJ1biDlkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NTI2CisjOiBidWlsdGluL2FkZC5jOjQ4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3RoaW5nIHNwZWNpZmllZCwgbm90aGluZyBhZGRlZC5cbiIKIG1zZ3N0ciAi5rKh5pyJ5oyH5a6a5paH5Lu277yM5Lmf5rKh5pyJ5paH5Lu26KKr5re75Yqg44CCXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NTI3CisjOiBidWlsdGluL2FkZC5jOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAi5Lmf6K645oKo5oOz6KaB5omn6KGMICdnaXQgYWRkIC4n77yfXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NTMzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYxIGJ1aWx0aW4vY2xlYW4uYzo5MTkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzEyIGJ1aWx0aW4vbXYuYzo4MiBidWlsdGluL3JtLmM6Mjk3CisjOiBidWlsdGluL2FkZC5jOjQ5MiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NsZWFuLmM6OTE5CisjOiBidWlsdGluL2NvbW1pdC5jOjMyMCBidWlsdGluL212LmM6ODYgYnVpbHRpbi9yZXNldC5jOjIyNCBidWlsdGluL3JtLmM6Mjk5CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICLntKLlvJXmlofku7bmjZ/lnY8iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NjA1IGJ1aWx0aW4vYXBwbHkuYzo0NTA2IGJ1aWx0aW4vbXYuYzoyMjkgYnVpbHRpbi9ybS5jOjQzMgorIzogYnVpbHRpbi9hZGQuYzo1ODkgYnVpbHRpbi9hcHBseS5jOjQ1MDYgYnVpbHRpbi9tdi5jOjI1OSBidWlsdGluL3JtLmM6NDMyCiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICLml6Dms5XlhpnlhaXmlrDntKLlvJXmlofku7YiCiAKQEAgLTIxNzYsNyArMjMzNiw3IEBACiBtc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCiBtc2dzdHIgIuajgOafpeihpeS4gSAlcy4uLiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjM2ODAgYnVpbHRpbi9jaGVja291dC5jOjIxNiBidWlsdGluL3Jlc2V0LmM6MTI3CisjOiBidWlsdGluL2FwcGx5LmM6MzY4MCBidWlsdGluL2NoZWNrb3V0LmM6MjEzIGJ1aWx0aW4vcmVzZXQuYzoxMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAi5a+56Lev5b6EICclcycg55qEIG1ha2VfY2FjaGVfZW50cnkg5pON5L2c5aSx6LSlIgpAQCAtMjI1Niw4ICsyNDE2LDggQEAKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgogbXNnc3RyICLml6Dms5Xor7vlj5bntKLlvJXmlofku7YiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MzU3IGJ1aWx0aW4vYXBwbHkuYzo0MzYwIGJ1aWx0aW4vY2xvbmUuYzo5MQotIzogYnVpbHRpbi9mZXRjaC5jOjYzCisjOiBidWlsdGluL2FwcGx5LmM6NDM1NyBidWlsdGluL2FwcGx5LmM6NDM2MCBidWlsdGluL2Nsb25lLmM6OTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NwogbXNnaWQgInBhdGgiCiBtc2dzdHIgIui3r+W+hCIKIApAQCAtMjMxNyw3ICsyNDc3LDcgQEAKIG1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi5Yib5bu65LiA5Liq5Li05pe257Si5byV5Z+65LqO5bWM5YWl55qE57Si5byV5L+h5oGvIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NDM4OSBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTk3IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjIKKyM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzg5IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxOTcgYnVpbHRpbi9scy1maWxlcy5jOjQ1MgogbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICLot6/lvoTku6UgTlVMIOWtl+espuWIhumalCIKIApAQCAtMjQ0NywxMDMgKzI2MDcsMTAzIEBACiBtc2dpZCAidXBkYXRlIEJJU0VDVF9IRUFEIGluc3RlYWQgb2YgY2hlY2tpbmcgb3V0IHRoZSBjdXJyZW50IGNvbW1pdCIKIG1zZ3N0ciAi5pu05pawIEJJU0VDVF9IRUFEIOiAjOmdnuajgOWHuuW9k+WJjeaPkOS6pCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2CisjOiBidWlsdGluL2JsYW1lLmM6MjcKIG1zZ2lkICJnaXQgYmxhbWUgW29wdGlvbnNdIFtyZXYtb3B0c10gW3Jldl0gWy0tXSBmaWxlIgogbXNnc3RyICJnaXQgYmxhbWUgW+mAiemhuV0gW+eJiOacrOmAiemhuV0gW+eJiOacrF0gWy0tXSDmlofku7YiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzozMQorIzogYnVpbHRpbi9ibGFtZS5jOjMyCiBtc2dpZCAiW3Jldi1vcHRzXSBhcmUgZG9jdW1lbnRlZCBpbiBnaXQtcmV2LWxpc3QoMSkiCiBtc2dzdHIgIlvniYjmnKzpgInpobldIOeahOaWh+aho+iusOW9leWcqCBnaXQtcmV2LWxpc3QoMSkg5LitIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI3NgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNDgKIG1zZ2lkICJTaG93IGJsYW1lIGVudHJpZXMgYXMgd2UgZmluZCB0aGVtLCBpbmNyZW1lbnRhbGx5IgogbXNnc3RyICLlop7ph4/lvI/lnLDmmL7npLrlj5HnjrDnmoQgYmxhbWUg5p2h55uuIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI3NworIzogYnVpbHRpbi9ibGFtZS5jOjIyNDkKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLovrnnlYzmj5DkuqTmmL7npLrnqbrnmoQgU0hBLTHvvIjpu5jorqTvvJrlhbPpl63vvIkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjc4CisjOiBidWlsdGluL2JsYW1lLmM6MjI1MAogbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi5LiN5oqK5qC55o+Q5Lqk5L2c5Li66L6555WM77yI6buY6K6k77ya5YWz6Zet77yJIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI3OQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTEKIG1zZ2lkICJTaG93IHdvcmsgY29zdCBzdGF0aXN0aWNzIgogbXNnc3RyICLmmL7npLrlkb3ku6TmtojogJfnu5/orqEiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjgwCisjOiBidWlsdGluL2JsYW1lLmM6MjI1MgogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICLmmL7npLrliKTmlq0gYmxhbWUg5p2h55uu5L2N56e755qE5b6X5YiG6K+K5pat5L+h5oGvIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4MQorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTMKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGZpbGVuYW1lIChEZWZhdWx0OiBhdXRvKSIKIG1zZ3N0ciAi5pi+56S65Y6f5aeL5paH5Lu25ZCN77yI6buY6K6k77ya6Ieq5Yqo77yJIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4MgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTQKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIuaYvuekuuWOn+Wni+eahOihjOWPt++8iOm7mOiupO+8muWFs+mXre+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU1CiBtc2dpZCAiU2hvdyBpbiBhIGZvcm1hdCBkZXNpZ25lZCBmb3IgbWFjaGluZSBjb25zdW1wdGlvbiIKIG1zZ3N0ciAi5pi+56S65Li65LiA5Liq6YCC5ZCI5py65Zmo6K+75Y+W55qE5qC85byPIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4NAorIzogYnVpbHRpbi9ibGFtZS5jOjIyNTYKIG1zZ2lkICJTaG93IHBvcmNlbGFpbiBmb3JtYXQgd2l0aCBwZXItbGluZSBjb21taXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgIuS4uuavj+S4gOihjOaYvuekuuacuuWZqOmAgueUqOeahOaPkOS6pOS/oeaBryIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjU3CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi5L2/55So5ZKMIGdpdC1hbm5vdGF0ZSDnm7jlkIznmoTovpPlh7rmqKHlvI/vvIjpu5jorqTvvJrlhbPpl63vvIkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg2CisjOiBidWlsdGluL2JsYW1lLmM6MjI1OAogbXNnaWQgIlNob3cgcmF3IHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi5pi+56S65Y6f5aeL5pe26Ze05oiz77yI6buY6K6k77ya5YWz6Zet77yJIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI4NworIzogYnVpbHRpbi9ibGFtZS5jOjIyNTkKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIuaYvuekuumVv+eahFNIQTHmj5DkuqTlj7fvvIjpu5jorqTvvJrlhbPpl63vvIkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjg4CisjOiBidWlsdGluL2JsYW1lLmM6MjI2MAogbXNnaWQgIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIumakOiXj+S9nOiAheWQjeWtl+WSjOaXtumXtOaIs++8iOm7mOiupO+8muWFs+mXre+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyODkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjYxCiBtc2dpZCAiU2hvdyBhdXRob3IgZW1haWwgaW5zdGVhZCBvZiBuYW1lIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLmmL7npLrkvZzogIXnmoTpgq7nrrHogIzkuI3mmK/lkI3lrZfvvIjpu5jorqTvvJrlhbPpl63vvIkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkwCisjOiBidWlsdGluL2JsYW1lLmM6MjI2MgogbXNnaWQgIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIgogbXNnc3RyICLlv73nlaXnqbrnmb3lt67lvIIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjkxCisjOiBidWlsdGluL2JsYW1lLmM6MjI2MwogbXNnaWQgIlNwZW5kIGV4dHJhIGN5Y2xlcyB0byBmaW5kIGJldHRlciBtYXRjaCIKIG1zZ3N0ciAi6Iqx6LS56aKd5aSW55qE5b6q546v5p2l5om+5Yiw5pu05aW955qE5Yy56YWNIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5MgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjQKIG1zZ2lkICJVc2UgcmV2aXNpb25zIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgY2FsbGluZyBnaXQtcmV2LWxpc3QiCiBtc2dzdHIgIuS9v+eUqOadpeiHqiA8ZmlsZT4g55qE5L+u6K6i6ZuG6ICM5LiN5piv6LCD55SoIGdpdC1yZXYtbGlzdCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY1CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAi5L2/55SoIDxmaWxlPiDnmoTlhoXlrrnkvZzkuLrmnIDnu4jnmoTlm77niYciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjk0IGJ1aWx0aW4vYmxhbWUuYzoyMjk1CisjOiBidWlsdGluL2JsYW1lLmM6MjI2NiBidWlsdGluL2JsYW1lLmM6MjI2NwogbXNnaWQgInNjb3JlIgogbXNnc3RyICLlvpfliIYiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyMjk0CisjOiBidWlsdGluL2JsYW1lLmM6MjI2NgogbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIuaJvuWIsOaWh+S7tuWGheWPiui3qOaWh+S7tueahOihjOaLt+i0nSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY3CiBtc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAi5om+5Yiw5paH5Lu25YaF5Y+K6Leo5paH5Lu255qE6KGM56e75YqoIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjI5NgorIzogYnVpbHRpbi9ibGFtZS5jOjIyNjgKIG1zZ2lkICJuLG0iCiBtc2dzdHIgIm4sbSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjIyOTYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyMjY4CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIuWPquWkhOeQhuihjOiMg+WbtOWcqCBuIOWSjCBtIOS5i+mXtOeahO+8jOS7jiAxIOW8gOWniyIKIApAQCAtMjY1MSwyNzMgKzI4MTEsMjgzIEBACiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6NDUzCiAjLCBjLWZvcm1hdAorbXNnaWQgIlslczogZ29uZV0iCittc2dzdHIgIlslczog5Lii5aSxXSIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiWyVzXSIKK21zZ3N0ciAiWyVzXSIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NTkKKyMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBiZWhpbmQgJWRdIgogbXNnc3RyICJbJXPvvJrokL3lkI4gJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ1NQorIzogYnVpbHRpbi9icmFuY2guYzo0NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2JlaGluZCAlZF0iCiBtc2dzdHIgIlvokL3lkI4gJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ1OQorIzogYnVpbHRpbi9icmFuY2guYzo0NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBhaGVhZCAlZF0iCiBtc2dzdHIgIlslc++8mumihuWFiCAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYxCisjOiBidWlsdGluL2JyYW5jaC5jOjQ2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWRdIgogbXNnc3RyICJb6aKG5YWIICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIlslc++8mumihuWFiCAlZO+8jOiQveWQjiAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY3CisjOiBidWlsdGluL2JyYW5jaC5jOjQ3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIlvpooblhYggJWTvvIzokL3lkI4gJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ5MAorIzogYnVpbHRpbi9icmFuY2guYzo0OTYKIG1zZ2lkICIgKioqKiBpbnZhbGlkIHJlZiAqKioqIgogbXNnc3RyICIgKioqKiDml6DmlYjlvJXnlKggKioqKiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKIG1zZ3N0ciAi77yI6Z2e5YiG5pSv77yM5q2j5Y+Y5Z+6ICVz77yJIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4NQorIzogYnVpbHRpbi9icmFuY2guYzo1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgogbXNnc3RyICLvvIjpnZ7liIbmlK/vvIzkuozliIbmn6Xmib7lvIDlp4vkuo4gJXPvvIkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg4CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIoZGV0YWNoZWQgZnJvbSAlcykiCiBtc2dzdHIgIu+8iOWIhuemu+iHqiAlc++8iSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk3CiBtc2dpZCAiKG5vIGJyYW5jaCkiCiBtc2dzdHIgIu+8iOmdnuWIhuaUr++8iSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAnJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgY29tbWl0IgogbXNnc3RyICLlr7nosaEgJyVzJyDmsqHmnInmjIflkJHkuIDkuKrmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY5CisjOiBidWlsdGluL2JyYW5jaC5jOjY3NQogbXNnaWQgInNvbWUgcmVmcyBjb3VsZCBub3QgYmUgcmVhZCIKIG1zZ3N0ciAi5LiA5Lqb5byV55So5LiN6IO96K+75Y+WIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MgorIzogYnVpbHRpbi9icmFuY2guYzo2ODgKIG1zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAi5peg5rOV6YeN5ZG95ZCN5b2T5YmN5YiG5pSv5Zug5Li65LiN5aSE5LqO5Lu75L2V5YiG5pSv5LiK44CCIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY5MgorIzogYnVpbHRpbi9icmFuY2guYzo2OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKIG1zZ3N0ciAi5peg5pWI55qE5YiG5pSv5ZCN77yaJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MDcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzEzCiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCiBtc2dzdHIgIuWIhuaUr+mHjeWRveWQjeWksei0pSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICLph43lkb3lkI3mjonkuIDkuKrplJnor6/lkb3lkI3nmoTml6fliIbmlK8gJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgIuWIhuaUr+mHjeWRveWQjeS4uiAlc++8jOS9hiBIRUFEIOayoeacieabtOaWsO+8gSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzI4CiBtc2dpZCAiQnJhbmNoIGlzIHJlbmFtZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICLliIbmlK/ooqvph43lkb3lkI3vvIzkvYbmm7TmlrAgY29uZmlnIOaWh+S7tuWksei0pSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAi6Z2e5rOV55qE5a+56LGh5ZCNICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2MQorIzogYnVpbHRpbi9icmFuY2guYzo3NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGJyYW5jaCBkZXNjcmlwdGlvbiB0ZW1wbGF0ZTogJXMiCiBtc2dzdHIgIuS4jeiDveWGmeWIhuaUr+aPj+i/sOaooeeJiO+8miVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5MQorIzogYnVpbHRpbi9icmFuY2guYzo3OTcKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCiBtc2dzdHIgIumAmueUqOmAiemhuSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk5CiBtc2dpZCAic2hvdyBoYXNoIGFuZCBzdWJqZWN0LCBnaXZlIHR3aWNlIGZvciB1cHN0cmVhbSBicmFuY2giCiBtc2dzdHIgIuaYvuekuuWTiOW4jOWAvOWSjOS4u+mimO+8jOiLpeWPguaVsOWHuueOsOS4pOasoeWImeaYvuekuuS4iua4uOWIhuaUryIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAwCiBtc2dpZCAic3VwcHJlc3MgaW5mb3JtYXRpb25hbCBtZXNzYWdlcyIKIG1zZ3N0ciAi5LiN5pi+56S65L+h5oGvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NQorIzogYnVpbHRpbi9icmFuY2guYzo4MDEKIG1zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKIG1zZ3N0ciAi6K6+572u6Lef6Liq5qih5byP77yI5Y+C6KeBIGdpdC1wdWxsKDEp77yJIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NworIzogYnVpbHRpbi9icmFuY2guYzo4MDMKIG1zZ2lkICJjaGFuZ2UgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAi5pS55Y+Y5LiK5ri45L+h5oGvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwMQorIzogYnVpbHRpbi9icmFuY2guYzo4MDcKIG1zZ2lkICJ1c2UgY29sb3JlZCBvdXRwdXQiCiBtc2dzdHIgIuS9v+eUqOW9qeiJsui+k+WHuiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA4CiBtc2dpZCAiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAi5L2c55So5LqO6L+c56iL6Lef6Liq5YiG5pSvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwNSBidWlsdGluL2JyYW5jaC5jOjgxMSBidWlsdGluL2JyYW5jaC5jOjgzMgotIzogYnVpbHRpbi9icmFuY2guYzo4MzggYnVpbHRpbi9jb21taXQuYzoxNDMzIGJ1aWx0aW4vY29tbWl0LmM6MTQzNAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM1IGJ1aWx0aW4vY29tbWl0LmM6MTQzNiBidWlsdGluL3RhZy5jOjQ2OAorIzogYnVpbHRpbi9icmFuY2guYzo4MTEgYnVpbHRpbi9icmFuY2guYzo4MTcgYnVpbHRpbi9icmFuY2guYzo4MzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ0IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MCBidWlsdGluL2NvbW1pdC5jOjE0NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MiBidWlsdGluL2NvbW1pdC5jOjE0NjMgYnVpbHRpbi90YWcuYzo0NjgKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgIuaPkOS6pCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDYgYnVpbHRpbi9icmFuY2guYzo4MTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODEyIGJ1aWx0aW4vYnJhbmNoLmM6ODE4CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAi5Y+q5omT5Y2w5YyF5ZCr6K+l5o+Q5Lqk55qE5YiG5pSvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgxOAorIzogYnVpbHRpbi9icmFuY2guYzo4MjQKIG1zZ2lkICJTcGVjaWZpYyBnaXQtYnJhbmNoIGFjdGlvbnM6IgogbXNnc3RyICLlhbfkvZPnmoQgZ2l0LWJyYW5jaCDliqjkvZzvvJoiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE5CisjOiBidWlsdGluL2JyYW5jaC5jOjgyNQogbXNnaWQgImxpc3QgYm90aCByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICLliJflh7rov5znqIvot5/ouKrlj4rmnKzlnLDliIbmlK8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIxCisjOiBidWlsdGluL2JyYW5jaC5jOjgyNwogbXNnaWQgImRlbGV0ZSBmdWxseSBtZXJnZWQgYnJhbmNoIgogbXNnc3RyICLliKDpmaTlrozlhajlkIjlubbnmoTliIbmlK8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIyCisjOiBidWlsdGluL2JyYW5jaC5jOjgyOAogbXNnaWQgImRlbGV0ZSBicmFuY2ggKGV2ZW4gaWYgbm90IG1lcmdlZCkiCiBtc2dzdHIgIuWIoOmZpOWIhuaUr++8iOWNs+S9v+ayoeacieWQiOW5tu+8iSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI5CiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCiBtc2dzdHIgIuenu+WKqC/ph43lkb3lkI3kuIDkuKrliIbmlK/vvIzku6Xlj4rlroPnmoTlvJXnlKjml6Xlv5ciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI0CisjOiBidWlsdGluL2JyYW5jaC5jOjgzMAogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgIuenu+WKqC/ph43lkb3lkI3kuIDkuKrliIbmlK/vvIzljbPkvb/nm67moIflt7LlrZjlnKgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI1CisjOiBidWlsdGluL2JyYW5jaC5jOjgzMQogbXNnaWQgImxpc3QgYnJhbmNoIG5hbWVzIgogbXNnc3RyICLliJflh7rliIbmlK/lkI0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI2CisjOiBidWlsdGluL2JyYW5jaC5jOjgzMgogbXNnaWQgImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIgogbXNnc3RyICLliJvlu7rliIbmlK/nmoTlvJXnlKjml6Xlv5ciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI4CisjOiBidWlsdGluL2JyYW5jaC5jOjgzNAogbXNnaWQgImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIgogbXNnc3RyICLmoIforrDliIbmlK/nmoTmj4/ov7AiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI5CisjOiBidWlsdGluL2JyYW5jaC5jOjgzNQogbXNnaWQgImZvcmNlIGNyZWF0aW9uICh3aGVuIGFscmVhZHkgZXhpc3RzKSIKIG1zZ3N0ciAi5by65Yi25Yib5bu677yI5b2T5bey57uP5a2Y5Zyo77yJIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzMgorIzogYnVpbHRpbi9icmFuY2guYzo4MzgKIG1zZ2lkICJwcmludCBvbmx5IG5vdCBtZXJnZWQgYnJhbmNoZXMiCiBtc2dzdHIgIuWPquaJk+WNsOayoeacieWQiOW5tueahOWIhuaUryIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ0CiBtc2dpZCAicHJpbnQgb25seSBtZXJnZWQgYnJhbmNoZXMiCiBtc2dzdHIgIuWPquaJk+WNsOWQiOW5tueahOWIhuaUryIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ4CiBtc2dpZCAibGlzdCBicmFuY2hlcyBpbiBjb2x1bW5zIgogbXNnc3RyICLku6XliJfnmoTmlrnlvI/mmL7npLrliIbmlK8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODU1CisjOiBidWlsdGluL2JyYW5jaC5jOjg2MQogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICLml6Dms5XlsIYgSEVBRCDop6PmnpDkuLrmnInmlYjlvJXnlKjjgIIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODYwIGJ1aWx0aW4vY2xvbmUuYzo2MzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODY2IGJ1aWx0aW4vY2xvbmUuYzo2MjkKIG1zZ2lkICJIRUFEIG5vdCBmb3VuZCBiZWxvdyByZWZzL2hlYWRzISIKIG1zZ3N0ciAiSEVBRCDmsqHmnInkvY3kuo4gL3JlZnMvaGVhZHMg5LmL5LiL77yBIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg4MworIzogYnVpbHRpbi9icmFuY2guYzo4OTAKIG1zZ2lkICItLWNvbHVtbiBhbmQgLS12ZXJib3NlIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tY29sdW1uIOWSjCAtLXZlcmJvc2Ug5LiN5YW85a65IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg4OSBidWlsdGluL2JyYW5jaC5jOjkyOAorIzogYnVpbHRpbi9icmFuY2guYzo4OTYgYnVpbHRpbi9icmFuY2guYzo5MzUKIG1zZ2lkICJicmFuY2ggbmFtZSByZXF1aXJlZCIKIG1zZ3N0ciAi5b+F6aG75o+Q5L6b5YiG5pSv5ZCNIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkwNAorIzogYnVpbHRpbi9icmFuY2guYzo5MTEKIG1zZ2lkICJDYW5ub3QgZ2l2ZSBkZXNjcmlwdGlvbiB0byBkZXRhY2hlZCBIRUFEIgogbXNnc3RyICLkuI3og73lkJHliIbnprvlpLTmjIfpkojmj5Dkvpvmj4/ov7AiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTA5CisjOiBidWlsdGluL2JyYW5jaC5jOjkxNgogbXNnaWQgImNhbm5vdCBlZGl0IGRlc2NyaXB0aW9uIG9mIG1vcmUgdGhhbiBvbmUgYnJhbmNoIgogbXNnc3RyICLkuI3og73kuLrkuIDkuKrku6XkuIrnmoTliIbmlK/nvJbovpHmj4/ov7AiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTE2CisjOiBidWlsdGluL2JyYW5jaC5jOjkyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBjb21taXQgb24gYnJhbmNoICclcycgeWV0LiIKIG1zZ3N0ciAi5YiG5pSvICclcycg5bCa5peg5o+Q5Lqk44CCIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkxOQorIzogYnVpbHRpbi9icmFuY2guYzo5MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gYnJhbmNoIG5hbWVkICclcycuIgogbXNnc3RyICLmsqHmnInliIbmlK8gJyVzJ+OAgiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5MzQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTQxCiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIKIG1zZ3N0ciAi5Li66YeN5ZG95ZCN5pON5L2c5o+Q5L6b5LqG5aSq5aSa55qE5YiG5pSv5ZCNIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjkzOQorIzogYnVpbHRpbi9icmFuY2guYzo5NDYKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyB0byBzZXQgbmV3IHVwc3RyZWFtIgogbXNnc3RyICLkuLrorr7nva7mlrDkuIrmuLjmj5DkvpvkuoblpKrlpJrnmoTliIbmlK/lkI0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTQzCisjOiBidWlsdGluL2JyYW5jaC5jOjk1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IHNldCB1cHN0cmVhbSBvZiBIRUFEIHRvICVzIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIuaXoOazleiuvue9riBIRUFEIOeahOS4iua4uOS4uiAlc++8jOWboOS4uiBIRUFEIOayoeacieaMh+WQkeS7u+S9leWIhuaUr+OAgiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NDYgYnVpbHRpbi9icmFuY2guYzo5NjggYnVpbHRpbi9icmFuY2guYzo5OTAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTUzIGJ1aWx0aW4vYnJhbmNoLmM6OTc1IGJ1aWx0aW4vYnJhbmNoLmM6OTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoICclcyciCiBtc2dzdHIgIuayoeacieatpOWIhuaUryAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk1MAorIzogYnVpbHRpbi9icmFuY2guYzo5NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIuWIhuaUryAnJXMnIOS4jeWtmOWcqCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTY5CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gdW5zZXQgdXBzdHJlYW0iCiBtc2dzdHIgIuS4uuWPlua2iOS4iua4uOiuvue9ruaTjeS9nOaPkOS+m+S6huWkquWkmueahOWIhuaUr+WQjSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo5NjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6OTczCiBtc2dpZCAiY291bGQgbm90IHVuc2V0IHVwc3RyZWFtIG9mIEhFQUQgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAi5peg5rOV5Y+W5raIIEhFQUQg55qE5LiK5ri46K6+572u5Zug5Li65a6D5rKh5pyJ5oyH5ZCR5LiA5Liq5YiG5pSvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjk3MgorIzogYnVpbHRpbi9icmFuY2guYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgaGFzIG5vIHVwc3RyZWFtIGluZm9ybWF0aW9uIgogbXNnc3RyICLliIbmlK8gJyVzJyDmsqHmnInkuIrmuLjkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTg3CisjOiBidWlsdGluL2JyYW5jaC5jOjk5NAogbXNnaWQgIml0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gY3JlYXRlICdIRUFEJyBtYW51YWxseSIKIG1zZ3N0ciAi5omL5bel5Yib5bu6ICdIRUFEJyDmsqHmnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTkzCisjOiBidWlsdGluL2JyYW5jaC5jOjEwMDAKIG1zZ2lkICItYSBhbmQgLXIgb3B0aW9ucyB0byAnZ2l0IGJyYW5jaCcgZG8gbm90IG1ha2Ugc2Vuc2Ugd2l0aCBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICInZ2l0IGJyYW5jaCcg55qEIC1hIOWSjCAtciDpgInpobnluKbkuIDkuKrliIbmlK/lkI3lj4LmlbDmsqHmnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6OTk2CisjOiBidWlsdGluL2JyYW5jaC5jOjEwMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtLXNldC11cHN0cmVhbSBmbGFnIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gQ29uc2lkZXIgdXNpbmcgLS0iCkBAIC0yOTI1LDcgKzMwOTUsNyBAQAogbXNnc3RyICIiCiAi6YCJ6aG5IC0tc2V0LXVwc3RyZWFtIOW3suW8g+eUqOW5tuWwhuiiq+enu+mZpOOAguiAg+iZkeS9v+eUqCAtLXRyYWNrIOaIliAtLXNldC11cHN0cmVhbS10b1xuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjEwMTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0yOTM2LDEyICszMTA2LDEyIEBACiAi5aaC5p6c5L2g5oOz55SoICclcycg6Lef6LiqICclcycsIOi/meS5iOWBmu+8mlxuIgogIlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjEwMTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgZ2l0IGJyYW5jaCAtZCAlc1xuIgogbXNnc3RyICIgICAgZ2l0IGJyYW5jaCAtZCAlc1xuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjEwMTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTAyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byAlc1xuIgogbXNnc3RyICIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byAlc1xuIgpAQCAtMjk1OSw0MyArMzEyOSw0MyBAQAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAi6ZyA6KaB5LiA5Liq54mI5pys5bqT5p2l6Kej5YyF44CCIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6Mjg1CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzEyCiBtc2dpZCAiZ2l0IGNhdC1maWxlICgtdHwtc3wtZXwtcHw8dHlwZT58LS10ZXh0Y29udikgPG9iamVjdD4iCiBtc2dzdHIgImdpdCBjYXQtZmlsZSAoLXR8LXN8LWV8LXB8POexu+Weiz58LS10ZXh0Y29udikgPOWvueixoT4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzoyODYKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMTMKIG1zZ2lkICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2h8LS1iYXRjaC1jaGVjaykgPCA8bGlzdF9vZl9vYmplY3RzPiIKIG1zZ3N0ciAiZ2l0IGNhdC1maWxlICgtLWJhdGNofC0tYmF0Y2gtY2hlY2spIDwgPOWvueixoeWIl+ihqD4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNTAKIG1zZ2lkICI8dHlwZT4gY2FuIGJlIG9uZSBvZjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiBtc2dzdHIgIjznsbvlnos+IOWPr+S7peaYr+WFtuS4reS5i+S4gO+8mmJsb2LjgIF0cmVl44CBY29tbWl044CBdGFnIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzI0CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzUxCiBtc2dpZCAic2hvdyBvYmplY3QgdHlwZSIKIG1zZ3N0ciAi5pi+56S65a+56LGh57G75Z6LIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzI1CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzUyCiBtc2dpZCAic2hvdyBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAi5pi+56S65a+56LGh5aSn5bCPIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzI3CisjOiBidWlsdGluL2NhdC1maWxlLmM6MzU0CiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICLlvZPmsqHmnInplJnor6/ml7bpgIDlh7rlubbov5Tlm57pm7YiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMjgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNTUKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAi576O6KeC5Zyw5omT5Y2w5a+56LGh55qE5YaF5a65IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6MzMwCisjOiBidWlsdGluL2NhdC1maWxlLmM6MzU3CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgIuWvueS6juaVsOaNru+8iGJsb2LvvInlr7nosaHvvIzlr7nlhbblhoXlrrnmiafooYwgdGV4dGNvbnYiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozMzIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzozNTkKIG1zZ2lkICJzaG93IGluZm8gYW5kIGNvbnRlbnQgb2Ygb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIuaYvuekuuS7juagh+WHhui+k+WFpeaPkOS+m+eahOWvueixoeeahOS/oeaBr+WSjOWGheWuuSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjMzNQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjM2MgogbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi5pi+56S65LuO5qCH5YeG6L6T5YWl5o+Q5L6b55qE5a+56LGh55qE5L+h5oGvIgogCkBAIC0zMDIwLDEwICszMTkwLDEwIEBACiBtc2dzdHIgIuS7juagh+WHhui+k+WFpeivu+WHuuaWh+S7tuWQjSIKIAogIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNAotbXNnaWQgImlucHV0IHBhdGhzIGFyZSB0ZXJtaW5hdGVkIGJ5IGEgbnVsbCBjaGFyYWN0ZXIiCi1tc2dzdHIgIui+k+WFpei3r+W+hOS7pW51bGzlrZfnrKbnu4jmraIiCittc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgIui+k+WFpeWSjOi+k+WHuueahOiusOW9leS9v+eUqCBOVUwg5a2X56ym57uI57uTIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU0IGJ1aWx0aW4vZ2MuYzoxNzcKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjEwOTAgYnVpbHRpbi9nYy5jOjI1OQogbXNnaWQgInN1cHByZXNzIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAi5LiN5pi+56S66L+b5bqm5oql5ZGKIgogCkBAIC0zMDMxLDI3ICszMjAxLDMxIEBACiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCiBtc2dzdHIgIuaYvuekuuacquWMuemFjeeahOi+k+WFpei3r+W+hCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNDMKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjgKK21zZ2lkICJpZ25vcmUgaW5kZXggd2hlbiBjaGVja2luZyIKK21zZ3N0ciAi5qOA5p+l5pe25b+955Wl57Si5byVIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NAogbXNnaWQgImNhbm5vdCBzcGVjaWZ5IHBhdGhuYW1lcyB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIuS4jeiDveWQjOaXtuaPkOS+m+i3r+W+hOWPiiAtLXN0ZGluIOWPguaVsCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNDYKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU3CiBtc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIi16IOmcgOimgeWSjCAtLXN0ZGluIOWPguaVsOWFseeUqOaJjeacieaEj+S5iSIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNDgKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU5CiBtc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCiBtc2dzdHIgIuacquaMh+Wumui3r+W+hCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTIKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYzCiBtc2dpZCAiLS1xdWlldCBpcyBvbmx5IHZhbGlkIHdpdGggYSBzaW5nbGUgcGF0aG5hbWUiCiBtc2dzdHIgIuWPguaVsCAtLXF1aWV0IOWPquWcqOaPkOS+m+S4gOS4qui3r+W+hOWQjeaXtuacieaViCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTQKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY1CiBtc2dpZCAiY2Fubm90IGhhdmUgYm90aCAtLXF1aWV0IGFuZCAtLXZlcmJvc2UiCiBtc2dzdHIgIuS4jeiDveWQjOaXtuaPkOS+myAtLXF1aWV0IOWSjCAtLXZlcmJvc2Ug5Y+C5pWwIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjgKIG1zZ2lkICItLW5vbi1tYXRjaGluZyBpcyBvbmx5IHZhbGlkIHdpdGggLS12ZXJib3NlIgogbXNnc3RyICItLW5vbi1tYXRjaGluZyDpgInpobnlj6rlnKjkvb/nlKggLS12ZXJib3NlIOaXtuacieaViCIKIApAQCAtMzEyNCwxMDcgKzMyOTgsMTA3IEBACiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFtvcHRpb25zXSBbPGJyYW5jaD5dIC0tIDxmaWxlPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0IFvpgInpobldIFs85YiG5pSvPl0gLS0gPOaWh+S7tj4uLi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTcgYnVpbHRpbi9jaGVja291dC5jOjE1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNCBidWlsdGluL2NoZWNrb3V0LmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG91ciB2ZXJzaW9uIgogbXNnc3RyICLot6/lvoQgJyVzJyDmsqHmnInmiJHku6znmoTniYjmnKwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTkgYnVpbHRpbi9jaGVja291dC5jOjE1MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNiBidWlsdGluL2NoZWNrb3V0LmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIHRoZWlyIHZlcnNpb24iCiBtc2dzdHIgIui3r+W+hCAnJXMnIOayoeacieS7luS7rOeahOeJiOacrCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNQorIzogYnVpbHRpbi9jaGVja291dC5jOjEzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBhbGwgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICLot6/lvoQgJyVzJyDmsqHmnInlhajpg6jlv4XpobvnmoTniYjmnKwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICLot6/lvoQgJyVzJyDmsqHmnInlv4XpobvnmoTniYjmnKwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxOTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnOiBjYW5ub3QgbWVyZ2UiCiBtc2dzdHIgInBhdGggJyVzJ++8muaXoOazleWQiOW5tiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIxMworIzogYnVpbHRpbi9jaGVja291dC5jOjIxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5Li6ICclcycg5re75Yqg5ZCI5bm257uT5p6cIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjM3IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDAgYnVpbHRpbi9jaGVja291dC5jOjI0MwotIzogYnVpbHRpbi9jaGVja291dC5jOjI0NgorIzogYnVpbHRpbi9jaGVja291dC5jOjIzMiBidWlsdGluL2NoZWNrb3V0LmM6MjM1IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHVwZGF0aW5nIHBhdGhzIgogbXNnc3RyICInJXMnIOS4jeiDveWcqOabtOaWsOi3r+W+hOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI0OSBidWlsdGluL2NoZWNrb3V0LmM6MjUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjQ0IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICInJXMnIOS4jeiDveWSjCAlcyDlkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuIgogbXNnc3RyICLkuI3og73lkIzml7bmm7TmlrDot6/lvoTlubbliIfmjaLliLDliIbmlK8nJXMn44CCIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY2IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjEgYnVpbHRpbi9jaGVja291dC5jOjQ1MQogbXNnaWQgImNvcnJ1cHQgaW5kZXggZmlsZSIKIG1zZ3N0ciAi5o2f5Z2P55qE57Si5byV5paH5Lu2IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MzI5IGJ1aWx0aW4vY2hlY2tvdXQuYzozMzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMjIgYnVpbHRpbi9jaGVja291dC5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgIui3r+W+hCAnJXMnIOacquWQiOW5tiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjQ4MAorIzogYnVpbHRpbi9jaGVja291dC5jOjQ3MwogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICLmgqjpnIDopoHlhYjop6PlhrPlvZPliY3ntKLlvJXnmoTlhrLnqoEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MDEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2FuIG5vdCBkbyByZWZsb2cgZm9yICclcydcbiIKIG1zZ3N0ciAi5LiN6IO95a+5ICclcycg5omn6KGMIHJlZmxvZyDmk43kvZxcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYzOQorIzogYnVpbHRpbi9jaGVja291dC5jOjYzMgogbXNnaWQgIkhFQUQgaXMgbm93IGF0IgogbXNnc3RyICJIRUFEIOebruWJjeS9jeS6jiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY0NgorIzogYnVpbHRpbi9jaGVja291dC5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLph43nva7liIbmlK8gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICLlt7Lnu4/kvY3kuo4gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjUzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLliIfmjaLlubbph43nva7liIbmlK8gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjU1IGJ1aWx0aW4vY2hlY2tvdXQuYzo5OTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDggYnVpbHRpbi9jaGVja291dC5jOjEwMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAi5YiH5o2i5Yiw5LiA5Liq5paw5YiG5pSvICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY1NworIzogYnVpbHRpbi9jaGVja291dC5jOjY1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLliIfmjaLliLDliIbmlK8gJyVzJ1xuIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIC4uLiDlj4rlhbblroMgJWQg5Liq44CCXG4iCiAKICMuIFRoZSBzaW5ndWxhciB2ZXJzaW9uCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzE5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtMzI0NSw3ICszNDE5LDcgQEAKICJcbiIKICIlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIHRoZW0gYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgpAQCAtMzI2MCwxMzYgKzM0MzQsMTQwIEBACiAiIGdpdCBicmFuY2ggbmV3X2JyYW5jaF9uYW1lICVzXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjAKIG1zZ2lkICJpbnRlcm5hbCBlcnJvciBpbiByZXZpc2lvbiB3YWxrIgogbXNnc3RyICLlnKjniYjmnKzpgY3ljobml7bpgYfliLDlhoXpg6jplJnor68iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjQKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAi5LmL5YmN55qEIEhFQUQg5L2N572u5pivIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk4IGJ1aWx0aW4vY2hlY2tvdXQuYzo5OTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTEgYnVpbHRpbi9jaGVja291dC5jOjEwMjgKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICLmgqjkvY3kuo7kuIDkuKrlsJrmnKrliJ3lp4vljJbnmoTliIbmlK8iCiAKLSMuIGNhc2UgKDEpCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTI4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgorbXNnc3RyICLlj6ropoHkuIDkuKrlvJXnlKjvvIzljbTnu5nlh7rkuoYgJWQg5LiqIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAi5peg5pWI5byV55So77yaJXMiCiAKICMuIGNhc2UgKDEpOiB3YW50IGEgdHJlZQotIzogYnVpbHRpbi9jaGVja291dC5jOjk2NworIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICLlvJXnlKjkuI3mmK/kuIDkuKrmoJHvvJolcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQyCiBtc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIui3r+W+hOS4jeiDveWSjOWIh+aNouWIhuaUr+WQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDkgYnVpbHRpbi9jaGVja291dC5jOjEwMTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQ1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIiclcycg5LiN6IO95ZKM5YiH5o2i5YiG5pSv5ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxNyBidWlsdGluL2NoZWNrb3V0LmM6MTAyMCBidWlsdGluL2NoZWNrb3V0LmM6MTAyNQotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJyVzJyIKIG1zZ3N0ciAiJyVzJyDkuI3og73lkowgJyVzJyDlkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDMzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3dpdGNoIGJyYW5jaCB0byBhIG5vbi1jb21taXQgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95YiH5o2i5YiG5pSv5Yiw5LiA5Liq6Z2e5o+Q5LqkICclcyciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDU3IGJ1aWx0aW4vY2xvbmUuYzo4OQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTEgYnVpbHRpbi9jaGVja291dC5jOjEwOTMgYnVpbHRpbi9jbG9uZS5jOjg4CiAjOiBidWlsdGluL3JlbW90ZS5jOjE2OSBidWlsdGluL3JlbW90ZS5jOjE3MQogbXNnaWQgImJyYW5jaCIKIG1zZ3N0ciAi5YiG5pSvIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1NgorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTIKIG1zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi5Yib5bu65bm25qOA5Ye65LiA5Liq5paw55qE5YiG5pSvIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTQKIG1zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgogbXNnc3RyICLliJvlu7ov6YeN572u5bm25qOA5Ye65LiA5Liq5YiG5pSvIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1OQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTUKIG1zZ2lkICJjcmVhdGUgcmVmbG9nIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICLkuLrmlrDnmoTliIbmlK/liJvlu7rlvJXnlKjml6Xlv5ciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NgogbXNnaWQgImRldGFjaCB0aGUgSEVBRCBhdCBuYW1lZCBjb21taXQiCiBtc2dzdHIgIuaIkOS4uuaMh+WQkeivpeaPkOS6pOeahOWIhuemu+WktOaMh+mSiCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk3CiBtc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgIuS4uuaWsOeahOWIhuaUr+iuvue9ruS4iua4uOS/oeaBryIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk5CiBtc2dpZCAibmV3IGJyYW5jaCIKIG1zZ3N0ciAi5paw5YiG5pSvIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MworIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTkKIG1zZ2lkICJuZXcgdW5wYXJlbnRlZCBicmFuY2giCiBtc2dzdHIgIuaWsOeahOayoeacieeItuaPkOS6pOeahOWIhuaUryIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCiBtc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICLlr7nlsJrmnKrlkIjlubbnmoTmlofku7bmo4Dlh7rmiJHku6znmoTniYjmnKwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwMgogbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICLlr7nlsJrmnKrlkIjlubbnmoTmlofku7bmo4Dlh7rku5bku6znmoTniYjmnKwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNAogbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgogbXNnc3RyICLlvLrliLbmo4Dlh7rvvIjkuKLlvIPmnKzlnLDkv67mlLnvvIkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNQogbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgogbXNnc3RyICLlkozmlrDnmoTliIbmlK/miafooYzkuInot6/lkIjlubYiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDcwIGJ1aWx0aW4vbWVyZ2UuYzoyMzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA2IGJ1aWx0aW4vbWVyZ2UuYzoyMzIKIG1zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCiBtc2dzdHIgIuabtOaWsOW/veeVpeeahOaWh+S7tu+8iOm7mOiupO+8iSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzEgYnVpbHRpbi9sb2cuYzoxMjA4IHBhcnNlLW9wdGlvbnMuaDoyNDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA3IGJ1aWx0aW4vbG9nLmM6MTIyOCBwYXJzZS1vcHRpb25zLmg6MjUxCiBtc2dpZCAic3R5bGUiCiBtc2dzdHIgIumjjuagvCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA4CiBtc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKIG1zZ3N0ciAi5Yay56qB6L6T5Ye66aOO5qC877yIbWVyZ2Ug5oiWIGRpZmYz77yJIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMTEKIG1zZ2lkICJkbyBub3QgbGltaXQgcGF0aHNwZWNzIHRvIHNwYXJzZSBlbnRyaWVzIG9ubHkiCiBtc2dzdHIgIuWvuei3r+W+hOS4jeWBmueogOeWj+ajgOWHuueahOmZkOWItiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTEzCiBtc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgbm8tc3VjaC1icmFuY2gnIgogbXNnc3RyICLlho3ogIXnjJzmtYsnZ2l0IGNoZWNrb3V0IG5vLXN1Y2gtYnJhbmNoJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMDEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM2CiBtc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItYuOAgS1CIOWSjCAtLW9ycGhhbiDmmK/kupLmlqXnmoQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTE4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MwogbXNnaWQgIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiLS10cmFjayDpnIDopoHkuIDkuKrliIbmlK/lkI0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MAogbXNnaWQgIk1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAi57y65bCR5YiG5pSv5ZCN77yb5bCd6K+VIC1iIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExOTcKIG1zZ2lkICJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAi5peg5pWI55qE6Lev5b6E6KeE5qC8IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2NworIzogYnVpbHRpbi9jaGVja291dC5jOjEyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLlxuIgpAQCAtMzM5OCw1MCArMzU3Niw1MCBAQAogIuS4jeiDveWQjOaXtuabtOaWsOi3r+W+hOW5tuWIh+aNouWIsOWIhuaUryclcyfjgIJcbiIKICLmgqjmmK/mg7PopoHmo4Dlh7ogJyVzJyDkvYblhbbmnKrog73op6PmnpDkuLrmj5DkuqTkuYjvvJ8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTcyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50ICclcyciCiBtc2dzdHIgImdpdCBjaGVja291dO+8mi0tZGV0YWNoIOS4jeiDveaOpeaUtui3r+W+hOWPguaVsCAnJXMnIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3NgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTMKIG1zZ2lkICIiCiAiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2UgYW5kIC0tbWVyZ2UgYXJlIGluY29tcGF0aWJsZSB3aGVuXG4iCiAiY2hlY2tpbmcgb3V0IG9mIHRoZSBpbmRleC4iCiBtc2dzdHIgIiIKICJnaXQgY2hlY2tvdXTvvJrlnKjku47ntKLlvJXmo4Dlh7rml7bvvIwtLW91cnMvLS10aGVpcnPjgIEtLWZvcmNlIOWSjCAtLW1lcmdlIOS4jeWFvOWuueOAgiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI1CisjOiBidWlsdGluL2NsZWFuLmM6MjYKIG1zZ2lkICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPHBhdHRlcm4+XSBbLXggfCAtWF0gWy0tXSA8cGF0aHM+Li4uIgogbXNnc3RyICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPOaooeW8jz5dIFsteCB8IC1YXSBbLS1dIDzot6/lvoQ+Li4uIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjkKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlc1xuIgogbXNnc3RyICLmraPliKDpmaQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMwCisjOiBidWlsdGluL2NsZWFuLmM6MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgcmVtb3ZlICVzXG4iCiBtc2dzdHIgIuWwhuWIoOmZpCAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzEKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMgogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIuW/veeVpeeJiOacrOW6kyAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMwogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCBza2lwIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAi5bCG5b+955Wl54mI5pys5bqTICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMworIzogYnVpbHRpbi9jbGVhbi5jOjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJXMiCiBtc2dzdHIgIuaXoOazleWIoOmZpCAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5MworIzogYnVpbHRpbi9jbGVhbi5jOjI5NAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKICIxICAgICAgICAgIC0gc2VsZWN0IGEgbnVtYmVyZWQgaXRlbVxuIgpAQCAtMzQ1Myw3ICszNjMxLDcgQEAKICJmb28gICAgICAgIC0g6YCa6L+H5qCH6aKY6YCJ5oup5LiA5Liq6YCJ6aG5XG4iCiAiICAgICAgICAgICAtIO+8iOepuu+8ieS7gOS5iOS5n+S4jemAieaLqSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5NworIzogYnVpbHRpbi9jbGVhbi5jOjI5OAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKICIxICAgICAgICAgIC0gc2VsZWN0IGEgc2luZ2xlIGl0ZW1cbiIKQEAgLTM0NzMsMzUgKzM2NTEsMzUgQEAKICIqICAgICAgICAgIC0g6YCJ5oup5omA5pyJ6YCJ6aG5XG4iCiAiICAgICAgICAgICAtIO+8iOepuu+8iee7k+adn+mAieaLqSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjUxNQorIzogYnVpbHRpbi9jbGVhbi5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJIdWggKCVzKT8iCiBtc2dzdHIgIuWXr++8iCVz77yJ77yfIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NjU4CisjOiBidWlsdGluL2NsZWFuLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIklucHV0IGlnbm9yZSBwYXR0ZXJucz4+ICIKIG1zZ3N0ciAi6L6T5YWl5qih54mI5Lul5o6S6Zmk5p2h55uuPj4gIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Njk1CisjOiBidWlsdGluL2NsZWFuLmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgogbXNnc3RyICLorablkYrvvJrml6Dms5Xmib7liLDlkowgJXMg5Yy56YWN55qE5p2h55uuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzE2CisjOiBidWlsdGluL2NsZWFuLmM6NzE3CiBtc2dpZCAiU2VsZWN0IGl0ZW1zIHRvIGRlbGV0ZSIKIG1zZ3N0ciAi6YCJ5oup6KaB5Yig6Zmk55qE5p2h55uuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzU2CisjOiBidWlsdGluL2NsZWFuLmM6NzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAlcz8gIgogbXNnc3RyICLliKDpmaQgJXPvvJ8iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3ODIKIG1zZ2lkICJCeWUuIgogbXNnc3RyICLlho3op4HjgIIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3OTAKIG1zZ2lkICIiCiAiY2xlYW4gICAgICAgICAgICAgICAtIHN0YXJ0IGNsZWFuaW5nXG4iCiAiZmlsdGVyIGJ5IHBhdHRlcm4gICAtIGV4Y2x1ZGUgaXRlbXMgZnJvbSBkZWxldGlvblxuIgpAQCAtMzUxOSwyMSArMzY5NywyMSBAQAogImhlbHAgICAgICAgICAgICAgICAgLSDmmL7npLrmnKzluK7liqlcbiIKICI/ICAgICAgICAgICAgICAgICAgIC0g5pi+56S65aaC5L2V5Zyo5o+Q56S656ym5LiL6YCJ5oup55qE5biu5YqpIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODE2CisjOiBidWlsdGluL2NsZWFuLmM6ODE3CiBtc2dpZCAiKioqIENvbW1hbmRzICoqKiIKIG1zZ3N0ciAiKioqIOWRveS7pCAqKioiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTcKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MTgKIG1zZ2lkICJXaGF0IG5vdyIKIG1zZ3N0ciAi6K+36YCJ5oupIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODI1CisjOiBidWlsdGluL2NsZWFuLmM6ODI2CiBtc2dpZCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbToiCiBtc2dpZF9wbHVyYWwgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW1zOiIKIG1zZ3N0clswXSAi5bCG5Yig6Zmk5aaC5LiL5p2h55uu77yaIgogbXNnc3RyWzFdICLlsIbliKDpmaTlpoLkuIvmnaHnm67vvJoiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NDIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NDMKIG1zZ2lkICJObyBtb3JlIGZpbGVzIHRvIGNsZWFuLCBleGl0aW5nLiIKIG1zZ3N0ciAi5rKh5pyJ6KaB5riF55CG55qE5paH5Lu277yM6YCA5Ye644CCIgogCkBAIC0zNTUzLDggKzM3MzEsOCBAQAogbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAi5Yig6Zmk5pW05Liq55uu5b2VIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODgwIGJ1aWx0aW4vZGVzY3JpYmUuYzo0MjAgYnVpbHRpbi9ncmVwLmM6NzE2Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDkzIGJ1aWx0aW4vbmFtZS1yZXYuYzozMTUgYnVpbHRpbi9zaG93LXJlZi5jOjE4NgorIzogYnVpbHRpbi9jbGVhbi5jOjg4MCBidWlsdGluL2Rlc2NyaWJlLmM6NDIwIGJ1aWx0aW4vZ3JlcC5jOjcxOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ4MyBidWlsdGluL25hbWUtcmV2LmM6MzE1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODUKIG1zZ2lkICJwYXR0ZXJuIgogbXNnc3RyICLmqKHlvI8iCiAKQEAgLTM1OTIsOCArMzc3MCw4IEBACiBtc2dpZCAiZ2l0IGNsb25lIFtvcHRpb25zXSBbLS1dIDxyZXBvPiBbPGRpcj5dIgogbXNnc3RyICJnaXQgY2xvbmUgW+mAiemhuV0gWy0tXSA854mI5pys5bqTPiBbPOi3r+W+hD5dIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjQgYnVpbHRpbi9mZXRjaC5jOjgyIGJ1aWx0aW4vbWVyZ2UuYzoyMjkKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ2MgorIzogYnVpbHRpbi9jbG9uZS5jOjY0IGJ1aWx0aW4vZmV0Y2guYzo5NiBidWlsdGluL21lcmdlLmM6MjI5CisjOiBidWlsdGluL3B1c2guYzo0NzQKIG1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIuW8uuWItuaYvuekuui/m+W6puaKpeWRiiIKIApAQCAtMzYwNSwxMjMgKzM3ODMsMTIzIEBACiBtc2dpZCAiY3JlYXRlIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICLliJvlu7rkuIDkuKroo7jniYjmnKzlupMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MgorIzogYnVpbHRpbi9jbG9uZS5jOjcxCiBtc2dpZCAiY3JlYXRlIGEgbWlycm9yIHJlcG9zaXRvcnkgKGltcGxpZXMgYmFyZSkiCiBtc2dzdHIgIuWIm+W7uuS4gOS4qumVnOWDj+eJiOacrOW6k++8iOS5n+aYr+ijuOeJiOacrOW6k++8iSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc0CisjOiBidWlsdGluL2Nsb25lLmM6NzMKIG1zZ2lkICJ0byBjbG9uZSBmcm9tIGEgbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi5LuO5pys5Zyw54mI5pys5bqT5YWL6ZqGIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NQogbXNnaWQgImRvbid0IHVzZSBsb2NhbCBoYXJkbGlua3MsIGFsd2F5cyBjb3B5IgogbXNnc3RyICLkuI3kvb/nlKjmnKzlnLDnoazpk77mjqXvvIzlp4vnu4jlpI3liLYiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3OAorIzogYnVpbHRpbi9jbG9uZS5jOjc3CiBtc2dpZCAic2V0dXAgYXMgc2hhcmVkIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuiuvue9ruS4uuWFseS6q+eJiOacrOW6kyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgwIGJ1aWx0aW4vY2xvbmUuYzo4MgorIzogYnVpbHRpbi9jbG9uZS5jOjc5IGJ1aWx0aW4vY2xvbmUuYzo4MQogbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCiBtc2dzdHIgIuWcqOWFi+mahuaXtuWIneWni+WMluWtkOaooee7hCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NQorIzogYnVpbHRpbi9jbG9uZS5jOjgyIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NQogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAi5qih5p2/55uu5b2VIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODQgYnVpbHRpbi9pbml0LWRiLmM6NDg2CisjOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDg2CiBtc2dpZCAiZGlyZWN0b3J5IGZyb20gd2hpY2ggdGVtcGxhdGVzIHdpbGwgYmUgdXNlZCIKIG1zZ3N0ciAi5qih5p2/55uu5b2V5bCG6KKr5L2/55SoIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NQogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5IgogbXNnc3RyICLlvJXnlKjniYjmnKzlupMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NyBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CisjOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAogbXNnaWQgIm5hbWUiCiBtc2dzdHIgIuWQjeensCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4CisjOiBidWlsdGluL2Nsb25lLmM6ODcKIG1zZ2lkICJ1c2UgPG5hbWU+IGluc3RlYWQgb2YgJ29yaWdpbicgdG8gdHJhY2sgdXBzdHJlYW0iCiBtc2dzdHIgIuS9v+eUqDzlkI3np7A+6ICM5LiN5pivICdvcmlnaW4nIOWOu+i3n+i4quS4iua4uCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkwCisjOiBidWlsdGluL2Nsb25lLmM6ODkKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBpbnN0ZWFkIG9mIHRoZSByZW1vdGUncyBIRUFEIgogbXNnc3RyICLmo4Dlh7o85YiG5pSvPuiAjOS4jeaYr+i/nOeoi0hFQUQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MgorIzogYnVpbHRpbi9jbG9uZS5jOjkxCiBtc2dpZCAicGF0aCB0byBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSIKIG1zZ3N0ciAi6L+c56iLIGdpdC11cGxvYWQtcGFjayDot6/lvoQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MyBidWlsdGluL2ZldGNoLmM6ODMgYnVpbHRpbi9ncmVwLmM6NjYxCisjOiBidWlsdGluL2Nsb25lLmM6OTIgYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vZ3JlcC5jOjY2MwogbXNnaWQgImRlcHRoIgogbXNnc3RyICLmt7HluqYiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NAorIzogYnVpbHRpbi9jbG9uZS5jOjkzCiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICLliJvlu7rkuIDkuKrmjIflrprmt7HluqbnmoTmtYXlhYvpmoYiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NgorIzogYnVpbHRpbi9jbG9uZS5jOjk1CiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICLlj6rlhYvpmobkuIDkuKrliIbmlK/jgIFIRUFEIOaIliAtLWJyYW5jaCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NAorIzogYnVpbHRpbi9jbG9uZS5jOjk2IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NAogbXNnaWQgImdpdGRpciIKIG1zZ3N0ciAiZ2l055uu5b2VIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTggYnVpbHRpbi9pbml0LWRiLmM6NDk1CisjOiBidWlsdGluL2Nsb25lLmM6OTcgYnVpbHRpbi9pbml0LWRiLmM6NDk1CiBtc2dpZCAic2VwYXJhdGUgZ2l0IGRpciBmcm9tIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiZ2l055uu5b2V5ZKM5bel5L2c5Yy65YiG56a7IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OAogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAia2V5PXZhbHVlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwCisjOiBidWlsdGluL2Nsb25lLmM6OTkKIG1zZ2lkICJzZXQgY29uZmlnIGluc2lkZSB0aGUgbmV3IHJlcG9zaXRvcnkiCiBtc2dzdHIgIuWcqOaWsOeJiOacrOW6k+S4reiuvue9rumFjee9ruS/oeaBryIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjI1MworIzogYnVpbHRpbi9jbG9uZS5jOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgogbXNnc3RyICLlvJXnlKjniYjmnKzlupMgJyVzJyDkuI3mmK/kuIDkuKrmnKzlnLDniYjmnKzlupPjgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5Yib5bu655uu5b2VICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTggYnVpbHRpbi9kaWZmLmM6NzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMTcgYnVpbHRpbi9kaWZmLmM6NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5p6a5Li+ICclcycg54q25oCBIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzIwCisjOiBidWlsdGluL2Nsb25lLmM6MzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGV4aXN0cyBhbmQgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICIlcyDlrZjlnKjkuJTkuI3mmK/kuIDkuKrnm67lvZUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMzQKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXNcbiIKIG1zZ3N0ciAi5peg5rOV5p6a5Li+ICVzIOeKtuaAgVxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzU2CisjOiBidWlsdGluL2Nsb25lLmM6MzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgbGluayAnJXMnIgogbXNnc3RyICLml6Dms5XliJvlu7rpk77mjqUgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM2MAorIzogYnVpbHRpbi9jbG9uZS5jOjM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgIuaXoOazleaLt+i0neaWh+S7tuiHsyAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzgzCisjOiBidWlsdGluL2Nsb25lLmM6MzgyIGJ1aWx0aW4vY2xvbmUuYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uZS5cbiIKIG1zZ3N0ciAi5a6M5oiQ44CCXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozOTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzozOTUKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgpAQCAtMzczMSwxMDQgKzM5MDksOTkgQEAKICLmgqjlj6/ku6XpgJrov4cgJ2dpdCBzdGF0dXMnIOajgOafpeWTquS6m+W3suiiq+ajgOWHuu+8jOeEtuWQjuS9v+eUqOWRveS7pFxuIgogIidnaXQgY2hlY2tvdXQgLWYgSEVBRCcg6YeN6K+VXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCiBtc2dzdHIgIuS4jeiDveWPkeeOsOimgeWFi+mahueahOi/nOeoi+WIhuaUryAlc+OAgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjU1NQorIzogYnVpbHRpbi9jbG9uZS5jOjU1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkuLi4gIgogbXNnc3RyICLmo4Dmn6Xov57mjqUuLi4gIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTU4CisjOiBidWlsdGluL2Nsb25lLmM6NTU3CiBtc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCiBtc2dzdHIgIui/nOeoi+ayoeacieWPkemAgeaJgOacieW/hemhu+eahOWvueixoSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjU2MAotIywgYy1mb3JtYXQKLW1zZ2lkICJkb25lXG4iCi1tc2dzdHIgIuWujOaIkFxuIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NjIxCisjOiBidWlsdGluL2Nsb25lLmM6NjIwCiBtc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgogbXNnc3RyICLov5znqIsgSEVBRCDmjIflkJHkuIDkuKrkuI3lrZjlnKjnmoTlvJXnlKjvvIzml6Dms5Xmo4Dlh7rjgIJcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY1MgorIzogYnVpbHRpbi9jbG9uZS5jOjY1MQogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIuS4jeiDveajgOWHuuW3peS9nOWMuiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2MAorIzogYnVpbHRpbi9jbG9uZS5jOjc1OQogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgIuWkquWkmuWPguaVsOOAgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2NAorIzogYnVpbHRpbi9jbG9uZS5jOjc2MwogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKIG1zZ3N0ciAi5oKo5b+F6aG75oyH5a6a5LiA5Liq54mI5pys5bqT5p2l5YWL6ZqG44CCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzc1CisjOiBidWlsdGluL2Nsb25lLmM6Nzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiLS1iYXJlIOWSjCAtLW9yaWdpbiAlcyDpgInpobnkuI3lhbzlrrnjgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NzcKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiLS1iYXJlIOWSjCAtLXNlcGFyYXRlLWdpdC1kaXIg6YCJ6aG55LiN5YW85a6544CCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzkxCisjOiBidWlsdGluL2Nsb25lLmM6NzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi54mI5pys5bqTICclcycg5LiN5a2Y5ZyoIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzk2CisjOiBidWlsdGluL2Nsb25lLmM6Nzk1CiBtc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIi0tZGVwdGgg5Zyo5pys5Zyw5YWL6ZqG6KKr5b+955Wl77yM5pS55Li6IGZpbGU6Ly8g5Y2P6K6u6K+V6K+V44CCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Nzk4CisjOiBidWlsdGluL2Nsb25lLmM6Nzk3CiBtc2dpZCAiLS1sb2NhbCBpcyBpZ25vcmVkIgogbXNnc3RyICItLWxvY2FsIOiiq+W/veeVpSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgwOAorIzogYnVpbHRpbi9jbG9uZS5jOjgwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhbiBlbXB0eSBkaXJlY3RvcnkuIgogbXNnc3RyICLnm67moIfot6/lvoQgJyVzJyDlt7Lnu4/lrZjlnKjvvIzlubbkuJTkuI3mmK/kuIDkuKrnqbrnm67lvZXjgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAid29ya2luZyB0cmVlICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICLlt6XkvZzljLogJyVzJyDlt7Lnu4/lrZjlnKjjgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzEgYnVpbHRpbi9jbG9uZS5jOjg0MworIzogYnVpbHRpbi9jbG9uZS5jOjgzMCBidWlsdGluL2Nsb25lLmM6ODQyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAnJXMnIgogbXNnc3RyICLkuI3og73kuLogJyVzJyDliJvlu7rlhYjlr7znm67lvZUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcycuIgogbXNnc3RyICLkuI3og73kuLogJyVzJyDliJvlu7rlt6XkvZzljLrnm67lvZXjgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NTMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCiBtc2dzdHIgIuWFi+mahuWIsOijuOeJiOacrOW6kyAnJXMnLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAi5q2j5YWL6ZqG5YiwICclcycuLi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5MAorIzogYnVpbHRpbi9jbG9uZS5jOjg4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBjbG9uZSAlcyIKIG1zZ3N0ciAi5LiN55+l6YGT5aaC5L2V5YWL6ZqGICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQyCisjOiBidWlsdGluL2Nsb25lLmM6OTM5IGJ1aWx0aW4vY2xvbmUuYzo5NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIui/nOeoi+WIhuaUryAlcyDlnKjkuIrmuLggJXMg5pyq5Y+R546wIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQ5CisjOiBidWlsdGluL2Nsb25lLmM6OTUwCiBtc2dpZCAiWW91IGFwcGVhciB0byBoYXZlIGNsb25lZCBhbiBlbXB0eSByZXBvc2l0b3J5LiIKIG1zZ3N0ciAi5oKo5Ly85LmO5YWL6ZqG5LqG5LiA5Liq56m654mI5pys5bqT44CCIgogCkBAIC0zODY0LDE1ICs0MDM3LDE1IEBACiBtc2dpZCAiLS1jb21tYW5kIG11c3QgYmUgdGhlIGZpcnN0IGFyZ3VtZW50IgogbXNnc3RyICItLWNvbW1hbmQg5b+F6aG75piv56ys5LiA5Liq5Y+C5pWwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1CisjOiBidWlsdGluL2NvbW1pdC5jOjM2CiBtc2dpZCAiZ2l0IGNvbW1pdCBbb3B0aW9uc10gWy0tXSA8cGF0aHNwZWM+Li4uIgotbXNnc3RyICJnaXQgY29tbWl0IFvpgInpobldIFstLV0gPOi3r+W+hOWMuemFjT4uLi4iCittc2dzdHIgImdpdCBjb21taXQgW+mAiemhuV0gWy0tXSA86Lev5b6E6KeE5YiZPi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MAorIzogYnVpbHRpbi9jb21taXQuYzo0MQogbXNnaWQgImdpdCBzdGF0dXMgW29wdGlvbnNdIFstLV0gPHBhdGhzcGVjPi4uLiIKLW1zZ3N0ciAiZ2l0IHN0YXR1cyBb6YCJ6aG5XSBbLS1dIDzot6/lvoTljLnphY0+Li4uIgorbXNnc3RyICJnaXQgc3RhdHVzIFvpgInpobldIFstLV0gPOi3r+W+hOinhOWImT4uLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDYKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtMzg5NSw3ICs0MDY4LDcgQEAKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTgKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIGFtZW5kIHRoZSBtb3N0IHJlY2VudCBjb21taXQsIGJ1dCBkb2luZyBzbyB3b3VsZCBtYWtlXG4iCiAiaXQgZW1wdHkuIFlvdSBjYW4gcmVwZWF0IHlvdXIgY29tbWFuZCB3aXRoIC0tYWxsb3ctZW1wdHksIG9yIHlvdSBjYW5cbiIKQEAgLTM5MDQsNyArNDA3Nyw3IEBACiAi5oKo6KaB5L+u6KGl5pyA6L+R55qE5o+Q5Lqk77yM5L2G6L+Z5LmI5YGa5Lya6K6p5a6D5oiQ5Li656m65o+Q5Lqk44CC5oKo5Y+v5Lul6YeN5aSN5oKo55qE5ZG95Luk5bm25bim5LiKXG4iCiAiLS1hbGxvdy1lbXB0eSDpgInpobnvvIzmiJbogIXmgqjlj6/nlKjlkb3ku6QgXCJnaXQgcmVzZXQgSEVBRF5cIiDmlbTkuKrliKDpmaTor6Xmj5DkuqTjgIJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MgorIzogYnVpbHRpbi9jb21taXQuYzo2MwogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCkBAIC0zOTE4LDExICs0MDkxLDExIEBACiAiICAgIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eVxuIgogIlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5CisjOiBidWlsdGluL2NvbW1pdC5jOjcwCiBtc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgcmVzZXQnXG4iCiBtc2dzdHIgIuWQpuWIme+8jOivt+S9v+eUqOWRveS7pCAnZ2l0IHJlc2V0J1xuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcyCisjOiBidWlsdGluL2NvbW1pdC5jOjczCiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKICJcbiIKQEAgLTM5MzgsOTMgKzQxMTEsOTMgQEAKICLnhLblkI7miafooYwgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIOe7p+e7reWvueWFtuS9meaPkOS6pOaJp+ihjOaLo+mAiVxuIgogIuaTjeS9nOOAglxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjI3OQorIzogYnVpbHRpbi9jb21taXQuYzoyODcKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCiBtc2dzdHIgIuaXoOazleino+WMhSBIRUFEIOagkeWvueixoSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzI5CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgIuS4jeiDveWIm+W7uuS4tOaXtue0ouW8lSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzM1CiBtc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKIG1zZ3N0ciAi5Lqk5LqS5byP5re75Yqg5aSx6LSlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM2MCBidWlsdGluL2NvbW1pdC5jOjM4MSBidWlsdGluL2NvbW1pdC5jOjQzMQorIzogYnVpbHRpbi9jb21taXQuYzozNjggYnVpbHRpbi9jb21taXQuYzozODkgYnVpbHRpbi9jb21taXQuYzo0MzkKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3X2luZGV4IGZpbGUiCiBtc2dzdHIgIuaXoOazleWGmSBuZXdfaW5kZXgg5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQxMgorIzogYnVpbHRpbi9jb21taXQuYzo0MjAKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBtZXJnZS4iCiBtc2dzdHIgIuWcqOWQiOW5tui/h+eoi+S4reS4jeiDveWBmumDqOWIhuaPkOS6pOOAgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDIyCiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICLlnKjmi6PpgInov4fnqIvkuK3kuI3og73lgZrpg6jliIbmj5DkuqTjgIIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDI0CisjOiBidWlsdGluL2NvbW1pdC5jOjQzMgogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W57Si5byVIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ0NAorIzogYnVpbHRpbi9jb21taXQuYzo0NTIKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgIuaXoOazleWGmeS4tOaXtue0ouW8leaWh+S7tiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1MzUgYnVpbHRpbi9jb21taXQuYzo1NDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTQzIGJ1aWx0aW4vY29tbWl0LmM6NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0OiAlcyIKIG1zZ3N0ciAi5peg5pWI55qE5o+Q5Lqk77yaJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTYzCisjOiBidWlsdGluL2NvbW1pdC5jOjU3MQogbXNnaWQgIm1hbGZvcm1lZCAtLWF1dGhvciBwYXJhbWV0ZXIiCiBtc2dzdHIgIumdnuazleeahCAtLWF1dGhvciDlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTgzCisjOiBidWlsdGluL2NvbW1pdC5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaWRlbnQgc3RyaW5nOiAnJXMnIgogbXNnc3RyICLpnZ7ms5XnmoTouqvku73lrZfnrKbkuLLvvJonJXMnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYyMSBidWlsdGluL2NvbW1pdC5jOjY1NCBidWlsdGluL2NvbW1pdC5jOjk4MgorIzogYnVpbHRpbi9jb21taXQuYzo2MzAgYnVpbHRpbi9jb21taXQuYzo2NjMgYnVpbHRpbi9jb21taXQuYzoxMDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgY29tbWl0ICVzIgogbXNnc3RyICLkuI3og73mn6Xor6Lmj5DkuqQgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjMzIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjQyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAi77yI5q2j5LuO5qCH5YeG6L6T5YWl5Lit6K+75Y+W5pel5b+X5L+h5oGv77yJXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjM1CisjOiBidWlsdGluL2NvbW1pdC5jOjY0NAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLkuI3og73ku47moIflh4bovpPlhaXkuK3or7vlj5bml6Xlv5fkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjM5CisjOiBidWlsdGluL2NvbW1pdC5jOjY0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZmlsZSAnJXMnIgogbXNnc3RyICLkuI3og73or7vlj5bml6Xlv5fmlofku7YgJyVzJyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjU0CiBtc2dpZCAiY29tbWl0IGhhcyBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICLmj5DkuqTor7TmmI7kuLrnqboiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjYxCisjOiBidWlsdGluL2NvbW1pdC5jOjY3MAogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01TRyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+WIE1FUkdFX01TRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Njc0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgU1FVQVNIX01TRyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+WIFNRVUFTSF9NU0ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjY5CisjOiBidWlsdGluL2NvbW1pdC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgogbXNnc3RyICLkuI3og73or7vlj5YgJyVzJyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ5CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKIG1zZ3N0ciAi5LiN6IO95YaZ5o+Q5Lqk5qih54mIIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc0MQorIzogYnVpbHRpbi9jb21taXQuYzo3NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNDAzOCw3ICs0MjExLDcgQEAKICJcdCVzXG4iCiAi54S25ZCO6YeN6K+V44CCXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ2CisjOiBidWlsdGluL2NvbW1pdC5jOjc2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC00MDUyLDcgKzQyMjUsNyBAQAogIlx0JXNcbiIKICLnhLblkI7ph43or5XjgIJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC00MDYxLDcgKzQyMzQsNyBAQAogIuivt+S4uuaCqOeahOWPmOabtOi+k+WFpeaPkOS6pOivtOaYjuOAguS7pSAnJWMnIOW8gOWni+eahOihjOWwhuiiq+W/veeVpe+8jOiAjOS4gOS4quepuueahOaPkOS6pFxuIgogIuivtOaYjuWwhuS8mue7iOatouaPkOS6pOOAglxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc2MworIzogYnVpbHRpbi9jb21taXQuYzo3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTQwNzIsMzU1ICs0MjQ1LDM1NSBAQAogIuS5n+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+h5oGvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjYgYnVpbHRpbi9jb21taXQuYzoxNDU5IGJ1aWx0aW4vcHVzaC5jOjQ1MgorIzogYnVpbHRpbi9jb21taXQuYzoxMjU1IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NiBidWlsdGluL3B1c2guYzo0NjAKIG1zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKIG1zZ3N0ciAi5py65Zmo5Y+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+56S65beu5byCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NQogbXNnaWQgIkNvbW1pdCBtZXNzYWdlIG9wdGlvbnMiCiBtc2dzdHIgIuaPkOS6pOivtOaYjumAiemhuSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDI5IGJ1aWx0aW4vdGFnLmM6NDU3CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTYgYnVpbHRpbi90YWcuYzo0NTcKIG1zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgogbXNnc3RyICLku47mlofku7bkuK3or7vlj5bmj5DkuqTor7TmmI4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMAorIzogYnVpbHRpbi9jb21taXQuYzoxNDU3CiBtc2dpZCAiYXV0aG9yIgogbXNnc3RyICLkvZzogIUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMAorIzogYnVpbHRpbi9jb21taXQuYzoxNDU3CiBtc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCiBtc2dzdHIgIuaPkOS6pOaXtuimhuebluS9nOiAhSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDMxIGJ1aWx0aW4vZ2MuYzoxNzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OCBidWlsdGluL2djLmM6MjYwCiBtc2dpZCAiZGF0ZSIKIG1zZ3N0ciAi5pel5pyfIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OAogbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKIG1zZ3N0ciAi5o+Q5Lqk5pe26KaG55uW5pel5pyfIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzIgYnVpbHRpbi9tZXJnZS5jOjIyMyBidWlsdGluL25vdGVzLmM6NDA1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NTkgYnVpbHRpbi9tZXJnZS5jOjIyMyBidWlsdGluL25vdGVzLmM6NDA1CiAjOiBidWlsdGluL25vdGVzLmM6NTYyIGJ1aWx0aW4vdGFnLmM6NDU1CiBtc2dpZCAibWVzc2FnZSIKIG1zZ3N0ciAi6K+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+h5oGvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDMgYnVpbHRpbi9tZXJnZS5jOjIzMCBidWlsdGluL3RhZy5jOjQ2MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDcwIGJ1aWx0aW4vbWVyZ2UuYzoyMzAgYnVpbHRpbi90YWcuYzo0NjEKIG1zZ2lkICJrZXkgaWQiCiBtc2dzdHIgImtleSBpZCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQ0IGJ1aWx0aW4vbWVyZ2UuYzoyMzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MSBidWlsdGluL21lcmdlLmM6MjMxCiBtc2dpZCAiR1BHIHNpZ24gY29tbWl0IgogbXNnc3RyICJHUEcg5o+Q5Lqk562+5ZCNIgogCiAjLiBlbmQgY29tbWl0IG1lc3NhZ2Ugb3B0aW9ucwotIzogYnVpbHRpbi9jb21taXQuYzoxNDQ3CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzQKIG1zZ2lkICJDb21taXQgY29udGVudHMgb3B0aW9ucyIKIG1zZ3N0ciAi5o+Q5Lqk5YaF5a656YCJ6aG5IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NQogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAi5o+Q5Lqk5omA5pyJ5pS55Yqo55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NgogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAi5re75Yqg5oyH5a6a55qE5paH5Lu25Yiw57Si5byV5Yy6562J5b6F5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NwogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICLkuqTkupLlvI/mt7vliqDmlofku7YiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDc4CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAi5Lqk5LqS5byP5re75Yqg5Y+Y5pu0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OQogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAi5Y+q5o+Q5Lqk5oyH5a6a55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MAogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGhvb2siCiBtc2dzdHIgIue7lei/hyBwcmUtY29tbWl0IOmSqeWtkCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDU0CisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODEKIG1zZ2lkICJzaG93IHdoYXQgd291bGQgYmUgY29tbWl0dGVkIgogbXNnc3RyICLmmL7npLrlsIbopoHmj5DkuqTnmoTlhoXlrrkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNDkyCiBtc2dpZCAiYW1lbmQgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICLkv67mlLnlhYjliY3nmoTmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NgorIzogYnVpbHRpbi9jb21taXQuYzoxNDkzCiBtc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgogbXNnc3RyICLnu5Xov4cgcG9zdC1yZXdyaXRlIOmSqeWtkCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTgKIG1zZ2lkICJvayB0byByZWNvcmQgYW4gZW1wdHkgY2hhbmdlIgogbXNnc3RyICLlhYHorrjkuIDkuKrnqbrmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTAwCiBtc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAi5YWB6K6456m655qE5o+Q5Lqk6K+05piOIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUyOQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKIG1zZ3N0ciAi5LiN6IO96Kej5p6QIEhFQUQg5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NDUgYnVpbHRpbi9tZXJnZS5jOjUyNQorIzogYnVpbHRpbi9jb21taXQuYzoxNTY3IGJ1aWx0aW4vbWVyZ2UuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAi5LiN6IO95Li66K+75YWl5omT5byAICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU1MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvcnJ1cHQgTUVSR0VfSEVBRCBmaWxlICglcykiCiBtc2dzdHIgIuaNn+Wdj+eahCBNRVJHRV9IRUFEIOaWh+S7tu+8iCVz77yJIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MQogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCiBtc2dzdHIgIuS4jeiDveivu+WPliBNRVJHRV9NT0RFIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1NzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZTogJXMiCiBtc2dzdHIgIuS4jeiDveivu+WPluaPkOS6pOivtOaYju+8miVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCiBtc2dzdHIgIue7iOatouaPkOS6pO+8m+aCqOacquabtOaUueadpeiHquaooeeJiOeahOaPkOS6pOivtOaYjuOAglxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICLnu4jmraLmj5DkuqTlm6DkuLrmj5DkuqTor7TmmI7kuLrnqbrjgIJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjEyIGJ1aWx0aW4vbWVyZ2UuYzo4NjEgYnVpbHRpbi9tZXJnZS5jOjg4NgorIzogYnVpbHRpbi9jb21taXQuYzoxNjM0IGJ1aWx0aW4vbWVyZ2UuYzo4NjEgYnVpbHRpbi9tZXJnZS5jOjg4NgogbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb21taXQgb2JqZWN0IgogbXNnc3RyICLml6Dms5Xlhpnmj5DkuqTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMworIzogYnVpbHRpbi9jb21taXQuYzoxNjU1CiBtc2dpZCAiY2Fubm90IGxvY2sgSEVBRCByZWYiCiBtc2dzdHIgIuaXoOazlemUgeWumiBIRUFEIOW8leeUqCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjM3CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NTkKIG1zZ2lkICJjYW5ub3QgdXBkYXRlIEhFQUQgcmVmIgogbXNnc3RyICLml6Dms5Xmm7TmlrAgSEVBRCDlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY0OAorIzogYnVpbHRpbi9jb21taXQuYzoxNjcwCiBtc2dpZCAiIgogIlJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgb3IgcXVvdGEgaXNcbiIKQEAgLTQ0MjksMTI3ICs0NjAyLDEzMSBAQAogIueJiOacrOW6k+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+b5Yi25pWwIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc1CisjOiBidWlsdGluL2NvbmZpZy5jOjc4CiBtc2dpZCAidmFsdWUgaXMgLS1ib29sIG9yIC0taW50IgogbXNnc3RyICLlgLzmmK8gLS1ib29sIG9yIC0taW50IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc2CisjOiBidWlsdGluL2NvbmZpZy5jOjc5CiBtc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKIG1zZ3N0ciAi5YC85piv5LiA5Liq6Lev5b6E77yI5paH5Lu25oiW55uu5b2V5ZCN77yJIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc3CisjOiBidWlsdGluL2NvbmZpZy5jOjgwCiBtc2dpZCAiT3RoZXIiCiBtc2dzdHIgIuWFtuWugyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OAorIzogYnVpbHRpbi9jb25maWcuYzo4MQogbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAi57uI5q2i5YC85pivTlVM5a2X6IqCIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc5CisjOiBidWlsdGluL2NvbmZpZy5jOjgyCiBtc2dpZCAicmVzcGVjdCBpbmNsdWRlIGRpcmVjdGl2ZXMgb24gbG9va3VwIgogbXNnc3RyICLmn6Xor6Lml7blj4LnhacgaW5jbHVkZSDmjIfku6TpgJLlvZLmn6Xmib4iCiAKQEAgLTQ1NjIsNyArNDczOSw3IEBACiBtc2dzdHIgIuS7peeUqOaIt+WPr+ivu+eahOagvOW8j+aYvuekuuWkp+WwjyIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjE2Ci1tc2dpZCAiZ2l0IGRlc2NyaWJlIFtvcHRpb25zXSA8Y29tbWl0dGlzaD4qIgorbXNnaWQgImdpdCBkZXNjcmliZSBbb3B0aW9uc10gPGNvbW1pdC1pc2g+KiIKIG1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFvpgInpobldIDzmj5DkuqTlj7c+KiIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjE3CkBAIC00Njk4LDcgKzQ4NzUsNyBAQAogbXNnc3RyICLmsqHmnInlj5HnjrDlkI3np7DvvIzml6Dms5Xmj4/ov7Dku7vkvZXkuJzopb/jgIIiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0ODkKLW1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdHRpc2hlcyIKK21zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiLS1kaXJ0eSDkuI3og73kuI7mj5DkuqTlkIzml7bkvb/nlKgiCiAKICM6IGJ1aWx0aW4vZGlmZi5jOjc5CkBAIC00NzM0LDQ1ICs0OTExLDQ1IEBACiBtc2dpZCAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1vcHRzXSIKIG1zZ3N0ciAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1vcHRzXSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY2NgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MwogbXNnaWQgInNob3cgcHJvZ3Jlc3MgYWZ0ZXIgPG4+IG9iamVjdHMiCiBtc2dzdHIgIuWcqCA8bj4g5Liq5a+56LGh5LmL5ZCO5pi+56S66L+b5bqmIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjY4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc1CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHNpZ25lZCB0YWdzIgogbXNnc3RyICLpgInmi6nlpoLkvZXlpITnkIbnrb7lkI0gdGFncyIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3MQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3OAogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiB0YWdzIHRoYXQgdGFnIGZpbHRlcmVkIG9iamVjdHMiCiBtc2dzdHIgIumAieaLqeW9kyB0YWcg5oyH5ZCR6KKr6L+H5ruk5pe2IHRhZ3Mg55qE5aSE55CG5pa55byPIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc0CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgxCiBtc2dpZCAiRHVtcCBtYXJrcyB0byB0aGlzIGZpbGUiCiBtc2dzdHIgIuaKiuagh+iusOWtmOWCqOWIsOi/meS4quaWh+S7tiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY3NgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MwogbXNnaWQgIkltcG9ydCBtYXJrcyBmcm9tIHRoaXMgZmlsZSIKIG1zZ3N0ciAi5LuO6L+Z5Liq5paH5Lu25a+85YWl5qCH6K6wIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njc4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6Njg1CiBtc2dpZCAiRmFrZSBhIHRhZ2dlciB3aGVuIHRhZ3MgbGFjayBvbmUiCiBtc2dzdHIgIuW9kyB0YWdzIOe8uuWwkeagh+iusOiAheWtl+auteaXtu+8jOWBh+ijheaPkOS+m+S4gOS4qiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4MAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjY4NwogbXNnaWQgIk91dHB1dCBmdWxsIHRyZWUgZm9yIGVhY2ggY29tbWl0IgogbXNnc3RyICLmr4/mrKHmj5DkuqTpg73ovpPlh7rmlbTkuKrmoJEiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo2ODkKIG1zZ2lkICJVc2UgdGhlIGRvbmUgZmVhdHVyZSB0byB0ZXJtaW5hdGUgdGhlIHN0cmVhbSIKIG1zZ3N0ciAi5L2/55SoIGRvbmUg5Yqf6IO95p2l57uI5q2i5rWBIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjgzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6NjkwCiBtc2dpZCAiU2tpcCBvdXRwdXQgb2YgYmxvYiBkYXRhIgogbXNnc3RyICLot7Pov4fmlbDmja7lr7nosaHnmoTovpPlh7oiCiAKICM6IGJ1aWx0aW4vZmV0Y2guYzoyMAogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKLW1zZ3N0ciAiZ2l0IGZldGNoIFs86YCJ6aG5Pl0gWzzniYjmnKzlupM+IFs85byV55So6KGo6L6+5byPPi4uLl1dIgorbXNnc3RyICJnaXQgZmV0Y2ggWzzpgInpobk+XSBbPOeJiOacrOW6kz4gWzzlvJXnlKjop4TliJk+Li4uXV0iCiAKICM6IGJ1aWx0aW4vZmV0Y2guYzoyMQogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXA+IgpAQCAtNDc4NiwxNDYgKzQ5NjMsMTQ2IEBACiBtc2dpZCAiZ2l0IGZldGNoIC0tYWxsIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1hbGwgWzzpgInpobk+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwCisjOiBidWlsdGluL2ZldGNoLmM6NzQKIG1zZ2lkICJmZXRjaCBmcm9tIGFsbCByZW1vdGVzIgogbXNnc3RyICLku47miYDmnInnmoTov5znqIvmipPlj5YiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MgorIzogYnVpbHRpbi9mZXRjaC5jOjc2CiBtc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgogbXNnc3RyICLov73liqDliLAgLmdpdC9GRVRDSF9IRUFEIOiAjOS4jeaYr+imhuebluWugyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY0CisjOiBidWlsdGluL2ZldGNoLmM6NzgKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgIuS4iuS8oOWMheWIsOi/nOeoi+eahOi3r+W+hCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY1CisjOiBidWlsdGluL2ZldGNoLmM6NzkKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgbG9jYWwgYnJhbmNoIgogbXNnc3RyICLlvLrliLbopobnm5bmnKzlnLDliIbmlK8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NworIzogYnVpbHRpbi9mZXRjaC5jOjgxCiBtc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgogbXNnc3RyICLku47lpJrkuKrov5znqIvmipPlj5YiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2OQorIzogYnVpbHRpbi9mZXRjaC5jOjgzCiBtc2dpZCAiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIKIG1zZ3N0ciAi5oqT5Y+W5omA5pyJ55qEIHRhZ3Mg5ZKM5YWz6IGU5a+56LGhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NQogbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKIG1zZ3N0ciAi5LiN5oqT5Y+W5Lu75L2VIHRhZ3MgKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MworIzogYnVpbHRpbi9mZXRjaC5jOjg3CiBtc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCiBtc2dzdHIgIua4hemZpOi/nOeoi+W3sue7j+S4jeWtmOWcqOeahOWIhuaUr+eahOi3n+i4quWIhuaUryIKIAogIyAg6K+R6ICF77ya5Y+v6YCJ5YC877yM5LiN6IO957+76K+RCi0jOiBidWlsdGluL2ZldGNoLmM6NzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4OAogbXNnaWQgIm9uLWRlbWFuZCIKIG1zZ3N0ciAib24tZGVtYW5kIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4OQogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIuaOp+WItuWtkOaooee7hOeahOmAkuW9kuaKk+WPliIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc5CisjOiBidWlsdGluL2ZldGNoLmM6OTMKIG1zZ2lkICJrZWVwIGRvd25sb2FkZWQgcGFjayIKIG1zZ3N0ciAi5L+d5oyB5LiL6L295YyFIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NQogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICLlhYHorrjmm7TmlrAgSEVBRCDlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NAorIzogYnVpbHRpbi9mZXRjaC5jOjk4CiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSIKIG1zZ3N0ciAi5rex5YyW5rWF5YWL6ZqG55qE5Y6G5Y+yIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAKIG1zZ2lkICJjb252ZXJ0IHRvIGEgY29tcGxldGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi6L2s5o2i5Li65LiA5Liq5a6M5pW055qE54mI5pys5bqTIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODggYnVpbHRpbi9sb2cuYzoxMTc3CisjOiBidWlsdGluL2ZldGNoLmM6MTAyIGJ1aWx0aW4vbG9nLmM6MTE5NwogbXNnaWQgImRpciIKIG1zZ3N0ciAi55uu5b2VIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDMKIG1zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgogbXNnc3RyICLlnKjlrZDmqKHnu4Tot6/lvoTovpPlh7rnmoTliY3pnaLliqDkuIrmraTnm67lvZUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MgorIzogYnVpbHRpbi9mZXRjaC5jOjEwNgogbXNnaWQgImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIgogbXNnc3RyICLpgJLlvZLnmoTpu5jorqTmqKHlvI8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMzYKIG1zZ2lkICJDb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgSEVBRCIKIG1zZ3N0ciAi5peg5rOV5Y+R546w6L+c56iLIEhFQUQg5byV55SoIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjczCisjOiBidWlsdGluL2ZldGNoLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCiBtc2dzdHIgIuWvueixoSAlcyDmnKrlj5HnjrAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyNzgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyOTUKIG1zZ2lkICJbdXAgdG8gZGF0ZV0iCiBtc2dzdHIgIlvmnIDmlrBdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjkyCisjOiBidWlsdGluL2ZldGNoLmM6MzA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiEgJS0qcyAlLSpzIC0+ICVzICAoY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2gpIgogbXNnc3RyICIhICUtKnMgJS0qcyAtPiAlcyAg77yI5Zyo5b2T5YmN5YiG5pSv5LiL5LiN6IO96I635Y+W77yJIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjkzIGJ1aWx0aW4vZmV0Y2guYzozNzkKKyM6IGJ1aWx0aW4vZmV0Y2guYzozMTAgYnVpbHRpbi9mZXRjaC5jOjM5NgogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIlvlt7Lmi5Lnu51dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzA0CisjOiBidWlsdGluL2ZldGNoLmM6MzIxCiBtc2dpZCAiW3RhZyB1cGRhdGVdIgogbXNnc3RyICJbdGFn5pu05pawXSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiBidWlsdGluL2ZldGNoLmM6MzA2IGJ1aWx0aW4vZmV0Y2guYzozNDEgYnVpbHRpbi9mZXRjaC5jOjM1OQorIzogYnVpbHRpbi9mZXRjaC5jOjMyMyBidWlsdGluL2ZldGNoLmM6MzU4IGJ1aWx0aW4vZmV0Y2guYzozNzYKIG1zZ2lkICIgICh1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZikiCiBtc2dzdHIgIiAg77yI5LiN6IO95pu05paw5pys5Zyw5byV55So77yJIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzI0CisjOiBidWlsdGluL2ZldGNoLmM6MzQxCiBtc2dpZCAiW25ldyB0YWddIgogbXNnc3RyICJb5pawdGFnXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMyNworIzogYnVpbHRpbi9mZXRjaC5jOjM0NAogbXNnaWQgIltuZXcgYnJhbmNoXSIKIG1zZ3N0ciAiW+aWsOWIhuaUr10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMzAKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNDcKIG1zZ2lkICJbbmV3IHJlZl0iCiBtc2dzdHIgIlvmlrDlvJXnlKhdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mzc1CisjOiBidWlsdGluL2ZldGNoLmM6MzkyCiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiCiBtc2dzdHIgIuS4jeiDveabtOaWsOacrOWcsOW8leeUqCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM3NQorIzogYnVpbHRpbi9mZXRjaC5jOjM5MgogbXNnaWQgImZvcmNlZCB1cGRhdGUiCiBtc2dzdHIgIuW8uuWItuabtOaWsCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM4MQorIzogYnVpbHRpbi9mZXRjaC5jOjM5OAogbXNnaWQgIihub24tZmFzdC1mb3J3YXJkKSIKIG1zZ3N0ciAi77yI6Z2e5b+r6L+b5byP77yJIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDEyIGJ1aWx0aW4vZmV0Y2guYzo3MTgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0MjkgYnVpbHRpbi9mZXRjaC5jOjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXNcbiIKIG1zZ3N0ciAi5peg5rOV5omT5byAICVz77yaJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQyMQorIzogYnVpbHRpbi9mZXRjaC5jOjQzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzXG4iCiBtc2dzdHIgIiVzIOacquWPkemAgeaJgOacieW/hemhu+eahOWvueixoVxuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTIwCisjOiBidWlsdGluL2ZldGNoLmM6NTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICLmnaXoh6ogJS4qc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTMxCisjOiBidWlsdGluL2ZldGNoLmM6NTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJzb21lIGxvY2FsIHJlZnMgY291bGQgbm90IGJlIHVwZGF0ZWQ7IHRyeSBydW5uaW5nXG4iCkBAIC00OTM1LDk4ICs1MTEyLDk4IEBACiAiICdnaXQgcmVtb3RlIHBydW5lICVzJyDmnaXliKDpmaTml6fnmoTjgIHmnInlhrLnqoHnmoTliIbmlK8iCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogYnVpbHRpbi9mZXRjaC5jOjU4MQorIzogYnVpbHRpbi9mZXRjaC5jOjU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICDvvIglcyDlsIbmiJDkuLrmkYfmkYbnirbmgIHvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogYnVpbHRpbi9mZXRjaC5jOjU4MgorIzogYnVpbHRpbi9mZXRjaC5jOjU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgaGFzIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgIO+8iCVzIOW3suaIkOS4uuaRh+aRhueKtuaAge+8iSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU4OQorIzogYnVpbHRpbi9mZXRjaC5jOjYwNgogbXNnaWQgIltkZWxldGVkXSIKIG1zZ3N0ciAiW+W3suWIoOmZpF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1OTAgYnVpbHRpbi9yZW1vdGUuYzoxMDU1CisjOiBidWlsdGluL2ZldGNoLmM6NjA3IGJ1aWx0aW4vcmVtb3RlLmM6MTA1NQogbXNnaWQgIihub25lKSIKIG1zZ3N0ciAi77yI5peg77yJIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzA4CisjOiBidWlsdGluL2ZldGNoLmM6NzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi5ouS57ud6I635Y+W5Yiw6Z2e6KO454mI5pys5bqT55qE5b2T5YmN5YiG5pSvICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzQyCi0jLCBjLWZvcm1hdAotbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCi1tc2dzdHIgIuS4jeefpemBk+WmguS9leS7jiAlcyDojrflj5YiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAi6YCJ6aG5IFwiJXNcIiDnmoTlgLwgXCIlc1wiIOWvueS6jiAlcyDmmK/ml6DmlYjnmoQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICLpgInpobkgXCIlc1wiIOS4uiAlcyDmiYDlv73nlaVcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkyOAorIzogYnVpbHRpbi9mZXRjaC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgorbXNnc3RyICLkuI3nn6XpgZPlpoLkvZXku44gJXMg6I635Y+WIgorCisjOiBidWlsdGluL2ZldGNoLmM6OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZldGNoaW5nICVzXG4iCiBtc2dzdHIgIuato+WcqOiOt+WPliAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTMwIGJ1aWx0aW4vcmVtb3RlLmM6MTAwCisjOiBidWlsdGluL2ZldGNoLmM6OTc4IGJ1aWx0aW4vcmVtb3RlLmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmZXRjaCAlcyIKIG1zZ3N0ciAi5LiN6IO96I635Y+WICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTQ5CisjOiBidWlsdGluL2ZldGNoLmM6OTk3CiBtc2dpZCAiIgogIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgogInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCiBtc2dzdHIgIuacquaMh+Wumui/nOeoi+eJiOacrOW6k+OAguivt+mAmui/h+S4gOS4qlVSTOaIlui/nOeoi+eJiOacrOW6k+WQjeaMh+Wumu+8jOeUqOS7peiOt+WPluaWsOaPkOS6pOOAgiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk2OQorIzogYnVpbHRpbi9mZXRjaC5jOjEwMjAKIG1zZ2lkICJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgdGFnIG5hbWUuIgogbXNnc3RyICLmgqjpnIDopoHmjIflrprkuIDkuKogdGFnIOWQjeensOOAgiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDY4CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi0tZGVwdGgg5ZKMIC0tdW5zaGFsbG93IOS4jeiDveWQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDcwCiBtc2dpZCAiLS11bnNoYWxsb3cgb24gYSBjb21wbGV0ZSByZXBvc2l0b3J5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIuWvueS6juS4gOS4quWujOaVtOeahOeJiOacrOW6k++8jOWPguaVsCAtLXVuc2hhbGxvdyDmsqHmnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDM2CisjOiBidWlsdGluL2ZldGNoLmM6MTA4OQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICJmZXRjaCAtLWFsbCDkuI3og73luKbkuIDkuKrniYjmnKzlupPlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDM4CisjOiBidWlsdGluL2ZldGNoLmM6MTA5MQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugd2l0aCByZWZzcGVjcyIKLW1zZ3N0ciAiZmV0Y2ggLS1hbGwg5bim5byV55So6KGo6L6+5byP5rKh5pyJ5Lu75L2V5oSP5LmJIgorbXNnc3RyICJmZXRjaCAtLWFsbCDluKblvJXnlKjop4TliJnmsqHmnInku7vkvZXmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDQ5CisjOiBidWlsdGluL2ZldGNoLmM6MTEwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgogbXNnc3RyICLmsqHmnInov5nmoLfnmoTov5znqIvmiJbov5znqIvnu4TvvJolcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEwCiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgotbXNnc3RyICLojrflj5bnu4TlubbmjIflrprlvJXnlKjooajovr7lvI/msqHmnInmhI/kuYkiCittc2dzdHIgIuiOt+WPlue7hOW5tuaMh+WumuW8leeUqOinhOWImeayoeacieaEj+S5iSIKIAogIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6MTMKIG1zZ2lkICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPG1lc3NhZ2U+XSBbLS1sb2dbPTxuPl18LS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKIG1zZ3N0ciAiIgogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWVzc2FnZT5dIFstLWxvZ1s9PG4+XXwtLW5vLWxvZ10gWy0tZmlsZSA8ZmlsZT5dIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2IGJ1aWx0aW4vZ3JlcC5jOjcwMAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKLSM6IGJ1aWx0aW4vdGFnLmM6NDQ2IHBhcnNlLW9wdGlvbnMuaDoxMzMgcGFyc2Utb3B0aW9ucy5oOjI0MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NiBidWlsdGluL2dyZXAuYzo3MDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDMgYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NSBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL3RhZy5jOjQ0NiBwYXJzZS1vcHRpb25zLmg6MTM1IHBhcnNlLW9wdGlvbnMuaDoyNDUKIG1zZ2lkICJuIgogbXNnc3RyICJuIgogCkBAIC01MDUwLDExNyArNTIyNywxMjEgQEAKIG1zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKIG1zZ3N0ciAi5LuO5paH5Lu25Lit6K+75Y+WIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk3OQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5OTUKIG1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFtvcHRpb25zXSBbPHBhdHRlcm4+XSIKIG1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBb6YCJ6aG5XSBbPOaooeW8jz5dIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5NAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDEwCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBzaGVsbHMiCiBtc2dzdHIgIuW8leeUqOWNoOS9jeespumAgueUqOS6jiBzaGVsbHMiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OTk2CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMTIKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHBlcmwiCiBtc2dzdHIgIuW8leeUqOWNoOS9jeespumAgueUqOS6jiBwZXJsIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjk5OAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDE0CiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBweXRob24iCiBtc2dzdHIgIuW8leeUqOWNoOS9jeespumAgueUqOS6jiBweXRob24iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwMAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDE2CiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciB0Y2wiCiBtc2dzdHIgIuW8leeUqOWNoOS9jeespumAgueUqOS6jiB0Y2wiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAwMworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDE5CiBtc2dpZCAic2hvdyBvbmx5IDxuPiBtYXRjaGVkIHJlZnMiCiBtc2dzdHIgIuWPquaYvuekuiA8bj4g5Liq5Yy56YWN55qE5byV55SoIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAyMAogbXNnaWQgImZvcm1hdCIKIG1zZ3N0ciAi5qC85byPIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAyMAogbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCiBtc2dzdHIgIui+k+WHuuagvOW8jyIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDA1CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMjEKIG1zZ2lkICJrZXkiCiBtc2dzdHIgImtleSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMDA2CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwMjIKIG1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCiBtc2dzdHIgIuaOkuW6j+eahOWtl+auteWQjSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjA4CisjOiBidWlsdGluL2ZzY2suYzo2MDcKIG1zZ2lkICJnaXQgZnNjayBbb3B0aW9uc10gWzxvYmplY3Q+Li4uXSIKIG1zZ3N0ciAiZ2l0IGZzY2sgW+mAiemhuV0gWzzlr7nosaE+Li4uXSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE0CisjOiBidWlsdGluL2ZzY2suYzo2MTMKIG1zZ2lkICJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIuaYvuekuuS4jeWPr+i+vueahOWvueixoSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE1CisjOiBidWlsdGluL2ZzY2suYzo2MTQKIG1zZ2lkICJzaG93IGRhbmdsaW5nIG9iamVjdHMiCiBtc2dzdHIgIuaYvuekuuaRh+aRhueahOWvueixoSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE2CisjOiBidWlsdGluL2ZzY2suYzo2MTUKIG1zZ2lkICJyZXBvcnQgdGFncyIKIG1zZ3N0ciAi5oql5ZGKIHRhZ3MiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYxNworIzogYnVpbHRpbi9mc2NrLmM6NjE2CiBtc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCiBtc2dzdHIgIuaKpeWRiuagueiKgueCuSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjE4CisjOiBidWlsdGluL2ZzY2suYzo2MTcKIG1zZ2lkICJtYWtlIGluZGV4IG9iamVjdHMgaGVhZCBub2RlcyIKIG1zZ3N0ciAi5bCG57Si5byV5Lqm5L2c5Li65qOA5p+l55qE5aS06IqC54K5IgogCi0jOiBidWlsdGluL2ZzY2suYzo2MTkKKyM6IGJ1aWx0aW4vZnNjay5jOjYxOAogbXNnaWQgIm1ha2UgcmVmbG9ncyBoZWFkIG5vZGVzIChkZWZhdWx0KSIKIG1zZ3N0ciAi5bCG5byV55So5pel5b+X5L2c5Li65qOA5p+l55qE5aS06IqC54K577yI6buY6K6k77yJIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MjAKKyM6IGJ1aWx0aW4vZnNjay5jOjYxOQogbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgogbXNnc3RyICLkuZ/ogIPomZHljIXlkozlpIfnlKjlr7nosaEiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYyMQorIzogYnVpbHRpbi9mc2NrLmM6NjIwCiBtc2dpZCAiZW5hYmxlIG1vcmUgc3RyaWN0IGNoZWNraW5nIgogbXNnc3RyICLlkK/nlKjmm7TkuKXmoLznmoTmo4Dmn6UiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYyMworIzogYnVpbHRpbi9mc2NrLmM6NjIyCiBtc2dpZCAid3JpdGUgZGFuZ2xpbmcgb2JqZWN0cyBpbiAuZ2l0L2xvc3QtZm91bmQiCiBtc2dzdHIgIuWwhuaRh+aRhuWvueixoeWGmeWFpSAuZ2l0L2xvc3QtZm91bmQg5LitIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MjQgYnVpbHRpbi9wcnVuZS5jOjEzNAorIzogYnVpbHRpbi9mc2NrLmM6NjIzIGJ1aWx0aW4vcHJ1bmUuYzoxMzQKIG1zZ2lkICJzaG93IHByb2dyZXNzIgogbXNnc3RyICLmmL7npLrov5vluqYiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoyMgorIzogYnVpbHRpbi9nYy5jOjIzCiBtc2dpZCAiZ2l0IGdjIFtvcHRpb25zXSIKIG1zZ3N0ciAiZ2l0IGdjIFvpgInpobldIgogCi0jOiBidWlsdGluL2djLmM6NjMKKyM6IGJ1aWx0aW4vZ2MuYzo3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgogbXNnc3RyICLml6DmlYjnmoQgJXPvvJonJXMnIgogCi0jOiBidWlsdGluL2djLmM6OTAKKyM6IGJ1aWx0aW4vZ2MuYzoxMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5zYW5lbHkgbG9uZyBvYmplY3QgZGlyZWN0b3J5ICUuKnMiCiBtc2dzdHIgIuS4jeato+W4uOeahOmVv+WvueixoeebruW9lSAlLipzIgogCi0jOiBidWlsdGluL2djLmM6MTc5CisjOiBidWlsdGluL2djLmM6MjYxCiBtc2dpZCAicHJ1bmUgdW5yZWZlcmVuY2VkIG9iamVjdHMiCiBtc2dzdHIgIua4hemZpOacquW8leeUqOeahOWvueixoSIKIAotIzogYnVpbHRpbi9nYy5jOjE4MQorIzogYnVpbHRpbi9nYy5jOjI2MwogbXNnaWQgImJlIG1vcmUgdGhvcm91Z2ggKGluY3JlYXNlZCBydW50aW1lKSIKIG1zZ3N0ciAi5pu05b275bqV77yI5aKe5Yqg6L+Q6KGM5pe26Ze077yJIgogCi0jOiBidWlsdGluL2djLmM6MTgyCisjOiBidWlsdGluL2djLmM6MjY0CiBtc2dpZCAiZW5hYmxlIGF1dG8tZ2MgbW9kZSIKIG1zZ3N0ciAi5ZCv55So6Ieq5Yqo5Z6D5Zy+5Zue5pS25qih5byPIgogCi0jOiBidWlsdGluL2djLmM6MjIyCisjOiBidWlsdGluL2djLmM6MjY1Cittc2dpZCAiZm9yY2UgcnVubmluZyBnYyBldmVuIGlmIHRoZXJlIG1heSBiZSBhbm90aGVyIGdjIHJ1bm5pbmciCittc2dzdHIgIuW8uuWItuaJp+ihjCBnYyDljbPkvb/lj6blpJbkuIDkuKogZ2Mg5q2j5Zyo5omn6KGMIgorCisjOiBidWlsdGluL2djLmM6MzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuIFlvdSBtYXkgYWxzb1xuIgpAQCAtNTE2OSw0MSArNTM1MCw0OSBAQAogIuiHquWKqOaJk+WMheeJiOacrOW6k+S7peaxguacgOS9s+aAp+iDveOAguaCqOi/mOWPr+S7peaJi+WKqOi/kOihjCBcImdpdCBnY1wi44CCXG4iCiAi5Y+C6KeBIFwiZ2l0IGhlbHAgZ2NcIiDku6Xojrflj5bmm7TlpJrkv6Hmga/jgIJcbiIKIAotIzogYnVpbHRpbi9nYy5jOjI0OQorIy4gYmUgcXVpZXQgb24gLS1hdXRvCisjOiBidWlsdGluL2djLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJnYyBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gbWFjaGluZSAnJXMnIHBpZCAlPFBSSXVNQVg+ICh1c2UgLS1mb3JjZSBpZiBub3QpIgorbXNnc3RyICIiCisi5bey57uP5pyJ5LiA5LiqIGdjIOato+i/kOihjOWcqOacuuWZqCAnJXMnIHBpZCAlPFBSSXVNQVg+IO+8iOWmguaenOS4jeaYr++8jOS9v+eUqCAtLWZvcmNl77yJIgorCisjOiBidWlsdGluL2djLmM6MzQwCiBtc2dpZCAiIgogIlRoZXJlIGFyZSB0b28gbWFueSB1bnJlYWNoYWJsZSBsb29zZSBvYmplY3RzOyBydW4gJ2dpdCBwcnVuZScgdG8gcmVtb3ZlIHRoZW0uIgogbXNnc3RyICLmnInlpKrlpJrkuI3lj6/ovr7nmoTmnb7mlaPlr7nosaHvvIzov5DooYwgJ2dpdCBwcnVuZScg5Yig6Zmk5a6D5Lus44CCIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMgorIzogYnVpbHRpbi9ncmVwLmM6MjMKIG1zZ2lkICJnaXQgZ3JlcCBbb3B0aW9uc10gWy1lXSA8cGF0dGVybj4gWzxyZXY+Li4uXSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgZ3JlcCBb6YCJ6aG5XSBbLWVdIDzmqKHlvI8+IFs85L+u6K6iPi4uLl0gW1stLV0gPOi3r+W+hD4uLi5dIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJncmVwOiBmYWlsZWQgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgImdyZXDvvJrml6Dms5XliJvlu7rnur/nqIvvvJolcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MzY0CisjOiBidWlsdGluL2dyZXAuYzozNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNoZGlyOiAlcyIKIG1zZ3N0ciAi5peg5rOV5YiH5o2i55uu5b2V77yaJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ0MiBidWlsdGluL2dyZXAuYzo0NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ0MyBidWlsdGluL2dyZXAuYzo0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICLml6Dms5Xor7vlj5bmoJHvvIglc++8iSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NDkyCisjOiBidWlsdGluL2dyZXAuYzo0OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKIG1zZ3N0ciAi5peg5rOV5oqT5Y+W5p2l6Ieq5LqOICVzIOexu+Wei+eahOWvueixoSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTUwCisjOiBidWlsdGluL2dyZXAuYzo1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAi5byA5YWzIGAlYycg5pyf5pyb5LiA5Liq5pWw5a2X5YC8IgogCi0jOiBidWlsdGluL2dyZXAuYzo1NjcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjU2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgogbXNnc3RyICLkuI3og73miZPlvIAgJyVzJyIKQEAgLTUyNDYsMTU4ICs1NDM1LDE2MiBAQAogbXNnc3RyICLkuI3lnKjkuozov5vliLbmlofku7bkuK3ljLnphY3mqKHlvI8iCiAKICM6IGJ1aWx0aW4vZ3JlcC5jOjY2MgorbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKK21zZ3N0ciAi55SoIHRleHRjb252IOi/h+a7pOWZqOWkhOeQhuS6jOi/m+WItuaWh+S7tiIKKworIzogYnVpbHRpbi9ncmVwLmM6NjY0CiBtc2dpZCAiZGVzY2VuZCBhdCBtb3N0IDxkZXB0aD4gbGV2ZWxzIgogbXNnc3RyICLmnIDlpJrku6XmjIflrprnmoTmt7HluqblkJHkuIvlr7vmib4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2NgorIzogYnVpbHRpbi9ncmVwLmM6NjY4CiBtc2dpZCAidXNlIGV4dGVuZGVkIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgIuS9v+eUqOaJqeWxleeahCBQT1NJWCDmraPliJnooajovr7lvI8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2OQorIzogYnVpbHRpbi9ncmVwLmM6NjcxCiBtc2dpZCAidXNlIGJhc2ljIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMgKGRlZmF1bHQpIgogbXNnc3RyICLkvb/nlKjln7rmnKznmoQgUE9TSVgg5q2j5YiZ6KGo6L6+5byP77yI6buY6K6k77yJIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3NAogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICLmiormqKHlvI/op6PmnpDkuLrlm7rlrprnmoTlrZfnrKbkuLIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3NQorIzogYnVpbHRpbi9ncmVwLmM6Njc3CiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICLkvb/nlKggUGVybCDlhbzlrrnnmoTmraPliJnooajovr7lvI8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3OAorIzogYnVpbHRpbi9ncmVwLmM6NjgwCiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgIuaYvuekuuihjOWPtyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc5CisjOiBidWlsdGluL2dyZXAuYzo2ODEKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAi5LiN5pi+56S65paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4MgogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICLmmL7npLrmlofku7blkI0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4MgorIzogYnVpbHRpbi9ncmVwLmM6Njg0CiBtc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAi5pi+56S655u45a+55LqO6aG257qn55uu5b2V55qE5paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NgogbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAi5Y+q5pi+56S65paH5Lu25ZCN6ICM5LiN5pi+56S65Yy56YWN55qE6KGMIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4OAogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICLlkowgLS1maWxlcy13aXRoLW1hdGNoZXMg5ZCM5LmJIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MQogbXNnaWQgInNob3cgb25seSB0aGUgbmFtZXMgb2YgZmlsZXMgd2l0aG91dCBtYXRjaCIKIG1zZ3N0ciAi5Y+q5pi+56S65pyq5Yy56YWN55qE5paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MwogbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCiBtc2dzdHIgIuWcqOaWh+S7tuWQjeWQjui+k+WHuiBOVUwg5a2X56ymIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5NQogbXNnaWQgInNob3cgdGhlIG51bWJlciBvZiBtYXRjaGVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIuaYvuekuuaAu+WMuemFjeihjOaVsO+8jOiAjOS4jeaYvuekuuWMuemFjeeahOihjCIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk0CisjOiBidWlsdGluL2dyZXAuYzo2OTYKIG1zZ2lkICJoaWdobGlnaHQgbWF0Y2hlcyIKIG1zZ3N0ciAi6auY5Lqu5pi+56S65Yy56YWN6aG5IgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5OAogbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgogbXNnc3RyICLlnKjkuI3lkIzmlofku7bnmoTljLnphY3pobnkuYvpl7TmiZPljbDnqbrooYwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5OAorIzogYnVpbHRpbi9ncmVwLmM6NzAwCiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAi5Y+q5Zyo5ZCM5LiA5paH5Lu255qE5Yy56YWN6aG555qE5LiK6Z2i5pi+56S65LiA5qyh5paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMwogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICLmmL7npLrljLnphY3pobnliY3lkI7nmoQgPG4+IOihjOS4iuS4i+aWhyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA0CisjOiBidWlsdGluL2dyZXAuYzo3MDYKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICLmmL7npLrljLnphY3pobnliY0gPG4+IOihjOS4iuS4i+aWhyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA2CisjOiBidWlsdGluL2dyZXAuYzo3MDgKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIuaYvuekuuWMuemFjemhueWQjiA8bj4g6KGM5LiK5LiL5paHIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwOQogbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCiBtc2dzdHIgIuW/q+aNt+mUriAtQyDmlbDlrZciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxMAorIzogYnVpbHRpbi9ncmVwLmM6NzEyCiBtc2dpZCAic2hvdyBhIGxpbmUgd2l0aCB0aGUgZnVuY3Rpb24gbmFtZSBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAi5Zyo5Yy56YWN55qE5YmN6Z2i5pi+56S65LiA6KGM5Ye95pWw5ZCNIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNAogbXNnaWQgInNob3cgdGhlIHN1cnJvdW5kaW5nIGZ1bmN0aW9uIgogbXNnc3RyICLmmL7npLrmiYDlnKjlh73mlbDnmoTliY3lkI7lhoXlrrkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxNQorIzogYnVpbHRpbi9ncmVwLmM6NzE3CiBtc2dpZCAicmVhZCBwYXR0ZXJucyBmcm9tIGZpbGUiCiBtc2dzdHIgIuS7juaWh+S7tuivu+WPluaooeW8jyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE3CisjOiBidWlsdGluL2dyZXAuYzo3MTkKIG1zZ2lkICJtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgIuWMuemFjSA85qih5byPPiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE5CisjOiBidWlsdGluL2dyZXAuYzo3MjEKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICLnu4TlkIjnlKggLWUg5Y+C5pWw6K6+5a6a55qE5qih5byPIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczMwogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICLkuI3ovpPlh7rvvIzogIznlKjpgIDlh7rnoIHmoIfor4blkb3kuK3nirbmgIEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczMworIzogYnVpbHRpbi9ncmVwLmM6NzM1CiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoZXMgZnJvbSBmaWxlcyB0aGF0IG1hdGNoIGFsbCBwYXR0ZXJucyIKIG1zZ3N0ciAi5Y+q5pi+56S65Yy56YWN5omA5pyJ5qih5byP55qE5paH5Lu25Lit55qE5Yy56YWNIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjczNwogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICLmmL7npLogZ3JlcCDooajovr7lvI/nmoTop6PmnpDmoJEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczOQorIzogYnVpbHRpbi9ncmVwLmM6NzQxCiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgIuWIhumhtSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzM5CisjOiBidWlsdGluL2dyZXAuYzo3NDEKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAi5YiG6aG15pi+56S65Yy56YWN55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0NAogbXNnaWQgImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIKIG1zZ3N0ciAi5YWB6K646LCD55SoIGdyZXAoMSnvvIjmnKzmrKHmnoTlu7rlv73nlaXvvIkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0MyBidWlsdGluL3Nob3ctcmVmLmM6MTg4CisjOiBidWlsdGluL2dyZXAuYzo3NDUgYnVpbHRpbi9zaG93LXJlZi5jOjE4NwogbXNnaWQgInNob3cgdXNhZ2UiCiBtc2dzdHIgIuaYvuekuueUqOazlSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODEwCisjOiBidWlsdGluL2dyZXAuYzo4MTIKIG1zZ2lkICJubyBwYXR0ZXJuIGdpdmVuLiIKIG1zZ3N0ciAi5pyq5o+Q5L6b5qih5byP5Yy56YWN44CCIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3MAogbXNnaWQgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBvbmx5IHdvcmtzIG9uIHRoZSB3b3JrdHJlZSIKIG1zZ3N0ciAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIOS7heeUqOS6juW3peS9nOWMuiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg4CisjOiBidWlsdGluL2dyZXAuYzo4OTMKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXguIgogbXNnc3RyICItLWNhY2hlZCDmiJYgLS11bnRyYWNrZWQg5LiN6IO95LiOIC0tbm8taW5kZXgg5ZCM5pe25L2/55So44CCIgogCi0jOiBidWlsdGluL2dyZXAuYzo4OTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5OAogbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzLiIKIG1zZ3N0ciAiLS1uby1pbmRleCDmiJYgLS11bnRyYWNrZWQg5LiN6IO95ZKM54mI5pys5ZCM5pe25L2/55So44CCIgogCi0jOiBidWlsdGluL2dyZXAuYzo4OTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMQogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzLiIKIG1zZ3N0ciAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQg5LiN6IO955So5LqO5bey6Lef6Liq5YaF5a6544CCIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCiBtc2dzdHIgIuWQjOaXtue7meWHuuS6hiAtLWNhY2hlZCDlkozmoJHlr7nosaHjgIIiCiAKQEAgLTU2NTIsOCArNTg0NSw4IEBACiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgogbXNnc3RyICLlj5HnjrAgJXMg5Ye6546wIFNIQTEg5Yay56qB77yBIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo2NjkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo2NjkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICLkuI3og73or7sgJXMiCkBAIC01NjgyLDE1NSArNTg3NSwxNTUgQEAKIG1zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKIG1zZ3N0ciAiJXMg55qE5omA5pyJ5a2Q5a+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+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjEzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjE0CiBtc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgogbXNnc3RyICItLXZlcmlmeSDmsqHmnInmj5DkvpvljIXlkI3lj4LmlbAiCiAKQEAgLTU5MTksMTEgKzYxMTIsNiBAQAogbXNnaWQgInVuYWJsZSB0byBtb3ZlICVzIHRvICVzIgogbXNnc3RyICLkuI3og73np7vliqggJXMg6IezICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBnaXQgbGluayAlcyIKLW1zZ3N0ciAi5LiN6IO95Yib5bu6IGdpdCBsaW5rICVzIgotCiAjLgogIy4gKiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICclcycgaXMgZWl0aGVyICJSZWluaXRpYWxpemVkCiAjLiAqIGV4aXN0aW5nIiBvciAiSW5pdGlhbGl6ZWQgZW1wdHkiLCB0aGUgc2Vjb25kICIgc2hhcmVkIiBvcgpAQCAtNTk2Nyw3ICs2MTU1LDcgQEAKIG1zZ2lkICJzcGVjaWZ5IHRoYXQgdGhlIGdpdCByZXBvc2l0b3J5IGlzIHRvIGJlIHNoYXJlZCBhbW9uZ3N0IHNldmVyYWwgdXNlcnMiCiBtc2dzdHIgIuaMh+WumiBnaXQg54mI5pys5bqT5piv5aSa5Liq55So5oi35LmL6Ze05YWx5Lqr55qEIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0OTMgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo3NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDkzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NzUgYnVpbHRpbi9yZXBhY2suYzoxNTUKIG1zZ2lkICJiZSBxdWlldCIKIG1zZ3N0ciAi5L+d5oyB5a6J6Z2ZIgogCkBAIC02MDA3LDM4MSArNjE5NSwzODEgQEAKIG1zZ2lkICIgICBvcjogZ2l0IHNob3cgW29wdGlvbnNdIDxvYmplY3Q+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/lvoQiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MgorIzogYnVpbHRpbi9scy10cmVlLmM6MTQzCiBtc2dpZCAibGlzdCBlbnRpcmUgdHJlZTsgbm90IGp1c3QgY3VycmVudCBkaXJlY3RvcnkgKGltcGxpZXMgLS1mdWxsLW5hbWUpIgogbXNnc3RyICLliJflh7rmlbTkuKrmoJHvvJvkuI3ku4Xku4XlvZPliY3nm67lvZXvvIjpmpDlkKsgLS1mdWxsLW5hbWXvvIkiCiAKQEAgLTY0NTYsNyArNjY0NCw3IEBACiBtc2dpZCAiVmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgogbXNnc3RyICLpqozor4HmjIflrprnmoTmj5DkuqTmmK/lkKbljIXlkKvkuIDkuKrmnInmlYjnmoQgR1BHIOetvuWQjSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL25vdGVzLmM6NzM4IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE0CisjOiBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vbm90ZXMuYzo3MzggYnVpbHRpbi9yZXZlcnQuYzo4OQogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICLnrZbnlaUiCiAKQEAgLTY4MTgsNzYgKzcwMDYsODUgQEAKIG1zZ2lkICJhbGxvdyBjcmVhdGlvbiBvZiBtb3JlIHRoYW4gb25lIHRyZWUiCiBtc2dzdHIgIuWFgeiuuOWIm+W7uuS4gOS4quS7peS4iueahOagkSIKIAotIzogYnVpbHRpbi9tdi5jOjE0CisjOiBidWlsdGluL212LmM6MTUKIG1zZ2lkICJnaXQgbXYgW29wdGlvbnNdIDxzb3VyY2U+Li4uIDxkZXN0aW5hdGlvbj4iCiBtc2dzdHIgImdpdCBtdiBb6YCJ6aG5XSA85rqQPi4uLiA855uu5qCHPiIKIAotIzogYnVpbHRpbi9tdi5jOjY0CisjOiBidWlsdGluL212LmM6NjcKIG1zZ2lkICJmb3JjZSBtb3ZlL3JlbmFtZSBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgIuW8uuWItuenu+WKqC/ph43lkb3ku6TvvIzljbPkvb/nm67moIflrZjlnKgiCiAKLSM6IGJ1aWx0aW4vbXYuYzo2NQorIzogYnVpbHRpbi9tdi5jOjY4CiBtc2dpZCAic2tpcCBtb3ZlL3JlbmFtZSBlcnJvcnMiCiBtc2dzdHIgIui3s+i/h+enu+WKqC/ph43lkb3lkI3plJnor68iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMDgKKyM6IGJ1aWx0aW4vbXYuYzoxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICLmo4Dmn6UgJyVzJyDliLAgJyVzJyDnmoTph43lkb3lkI1cbiIKIAotIzogYnVpbHRpbi9tdi5jOjExMgorIzogYnVpbHRpbi9tdi5jOjExNwogbXNnaWQgImJhZCBzb3VyY2UiCiBtc2dzdHIgIuWdj+eahOa6kCIKIAotIzogYnVpbHRpbi9tdi5jOjExNQorIzogYnVpbHRpbi9tdi5jOjEyMAogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCiBtc2dzdHIgIuS4jeiDveWwhuebruW9leenu+WKqOWIsOiHqui6qyIKIAotIzogYnVpbHRpbi9tdi5jOjExOAorIzogYnVpbHRpbi9tdi5jOjEyMwogbXNnaWQgImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiCiBtc2dzdHIgIuS4jeiDveWwhuebruW9leenu+WKqOWIsOaWh+S7tiIKIAotIzogYnVpbHRpbi9tdi5jOjEyOAorIzogYnVpbHRpbi9tdi5jOjEyOQorIywgYy1mb3JtYXQKK21zZ2lkICJIdWg/IERpcmVjdG9yeSAlcyBpcyBpbiBpbmRleCBhbmQgbm8gc3VibW9kdWxlPyIKK21zZ3N0ciAi5Zev77yf55uu5b2VICVzIOWcqOe0ouW8leS4reW5tuS4lOS4jeaYr+WtkOaooee7hO+8nyIKKworIzogYnVpbHRpbi9tdi5jOjEzMSBidWlsdGluL3JtLmM6MzE4Cittc2dpZCAiUGxlYXNlLCBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgorbXNnc3RyICLor7flsIbmgqjnmoTkv67mlLnnvJPlrZjliLAgLmdpdG1vZHVsZXMg5Lit5oiW5L+d5a2Y6L+b5bqm5ZCO5YaN57un57utIgorCisjOiBidWlsdGluL212LmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1aD8gJS4qcyBpcyBpbiBpbmRleD8iCiBtc2dzdHIgIuWXr++8nyUuKnMg5Zyo57Si5byV5Lit77yfIgogCi0jOiBidWlsdGluL212LmM6MTQwCisjOiBidWlsdGluL212LmM6MTU5CiBtc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKIG1zZ3N0ciAi5rqQ55uu5b2V5Li656m6IgogCi0jOiBidWlsdGluL212LmM6MTcxCisjOiBidWlsdGluL212LmM6MTkxCiBtc2dpZCAibm90IHVuZGVyIHZlcnNpb24gY29udHJvbCIKIG1zZ3N0ciAi5LiN5Zyo54mI5pys5o6n5Yi25LmL5LiLIgogCi0jOiBidWlsdGluL212LmM6MTczCisjOiBidWlsdGluL212LmM6MTkzCiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICLnm67moIflt7LlrZjlnKgiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODEKKyM6IGJ1aWx0aW4vbXYuYzoyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAib3ZlcndyaXRpbmcgJyVzJyIKIG1zZ3N0ciAi6KaG55uWICclcyciCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODQKKyM6IGJ1aWx0aW4vbXYuYzoyMDQKIG1zZ2lkICJDYW5ub3Qgb3ZlcndyaXRlIgogbXNnc3RyICLkuI3og73opobnm5YiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODcKKyM6IGJ1aWx0aW4vbXYuYzoyMDcKIG1zZ2lkICJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiCiBtc2dzdHIgIuWQjOS4gOebruagh+WFt+acieWkmuS4qua6kCIKIAotIzogYnVpbHRpbi9tdi5jOjIwMgorIzogYnVpbHRpbi9tdi5jOjIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIG1zZ3N0ciAiJXPvvIzmupA9JXPvvIznm67moIc9JXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTIKKyM6IGJ1aWx0aW4vbXYuYzoyMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAi6YeN5ZG95ZCNICVzIOiHsyAlc1xuIgogCi0jOiBidWlsdGluL212LmM6MjE1IGJ1aWx0aW4vcmVtb3RlLmM6NzMxCisjOiBidWlsdGluL212LmM6MjM1IGJ1aWx0aW4vcmVtb3RlLmM6NzMxIGJ1aWx0aW4vcmVwYWNrLmM6MzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICLph43lkb3lkI0gJyVzJyDlpLHotKUiCkBAIC02OTI1LDggKzcxMjIsOCBAQAogbXNnc3RyICLku47moIflh4bovpPlhaXor7vlj5YiCiAKICM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjAKLW1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyIKLW1zZ3N0ciAi5YWB6K645omT5Y2wIGDmnKrlrprkuYlgIOeahOWQjeensCIKK21zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCittc2dzdHIgIuWFgeiuuOaJk+WNsCBg5pyq5a6a5LmJYCDnmoTlkI3np7DvvIjpu5jorqTvvIkiCiAKICM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjYKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKQEAgLTcwNzgsMTIgKzcyNzUsMTIgQEAKIG1zZ2lkICJUaGUgbm90ZSBjb250ZW50cyBoYXMgYmVlbiBsZWZ0IGluICVzIgogbXNnc3RyICLms6jop6PlhoXlrrnooqvnlZnlnKjmlofku7YgJXMg5LitIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjQ4IGJ1aWx0aW4vdGFnLmM6NTQwCisjOiBidWlsdGluL25vdGVzLmM6MjQ4IGJ1aWx0aW4vdGFnLmM6NTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyciCiBtc2dzdHIgIuS4jeiDveivu+WPliAnJXMnIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjUwIGJ1aWx0aW4vdGFnLmM6NTQzCisjOiBidWlsdGluL25vdGVzLmM6MjUwIGJ1aWx0aW4vdGFnLmM6NTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIG9yIHJlYWQgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95omT5byA5oiW6K+75Y+WICclcyciCkBAIC03MDkxLDcgKzcyODgsNyBAQAogIzogYnVpbHRpbi9ub3Rlcy5jOjI2OSBidWlsdGluL25vdGVzLmM6MzE2IGJ1aWx0aW4vbm90ZXMuYzozMTgKICM6IGJ1aWx0aW4vbm90ZXMuYzozNzggYnVpbHRpbi9ub3Rlcy5jOjQzMiBidWlsdGluL25vdGVzLmM6NTE1CiAjOiBidWlsdGluL25vdGVzLmM6NTIwIGJ1aWx0aW4vbm90ZXMuYzo1OTUgYnVpbHRpbi9ub3Rlcy5jOjYzNwotIzogYnVpbHRpbi9ub3Rlcy5jOjgzOSBidWlsdGluL3RhZy5jOjU1NgorIzogYnVpbHRpbi9ub3Rlcy5jOjgzOSBidWlsdGluL3RhZy5jOjU1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAi5peg5rOV6Kej5p6QICclcycg5Li65LiA5Liq5pyJ5pWI5byV55So44CCIgpAQCAtNzI1NiwxNDggKzc0NTMsMTQ4IEBACiBtc2dpZCAiZ2l0IHBhY2stb2JqZWN0cyBbb3B0aW9ucy4uLl0gYmFzZS1uYW1lIFs8IHJlZi1saXN0IHwgPCBvYmplY3QtbGlzdF0iCiBtc2dzdHIgImdpdCBwYWNrLW9iamVjdHMgW+mAiemhuS4uLl0gYmFzZS1uYW1lIFs8IOW8leeUqOWIl+ihqCB8IDwg5a+56LGh5YiX6KGoXSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODMgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlZmxhdGUgZXJyb3IgKCVkKSIKIG1zZ3N0ciAi5Y6L57yp6ZSZ6K+vICglZCkiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjM5NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCiBtc2dzdHIgIuS4jeaUr+aMgeeahOe0ouW8leeJiOacrCAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKIG1zZ3N0ciAi5Z2P55qE57Si5byV54mI5pysICclcyciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQyNAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9wdGlvbiAlcyBkb2VzIG5vdCBhY2NlcHQgbmVnYXRpdmUgZm9ybSIKIG1zZ3N0ciAi6YCJ6aG5ICVzIOS4jeaOpeWPl+WQpuWumuagvOW8jyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDI4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIHZhbHVlICclcycgZm9yIG9wdGlvbiAlcyIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q6YCJ6aG5ICUxJHMg55qE5YC8ICclMiRzJyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NDgKIG1zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAi5LiN5pi+56S66L+b5bqm6KGoIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1MAogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgIuaYvuekuui/m+W6puihqCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTIKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIGR1cmluZyBvYmplY3Qgd3JpdGluZyBwaGFzZSIKIG1zZ3N0ciAi5Zyo5a+56LGh5YaZ5YWl6Zi25q615pi+56S66L+b5bqm6KGoIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NQogbXNnaWQgInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIKIG1zZ3N0ciAi5b2T6L+b5bqm6KGo5pi+56S65pe257G75Ly85LqOIC0tYWxsLXByb2dyZXNzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1NgogbXNnaWQgInZlcnNpb25bLG9mZnNldF0iCiBtc2dzdHIgIueJiOacrFss5YGP56e7XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTcKIG1zZ2lkICJ3cml0ZSB0aGUgcGFjayBpbmRleCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgaWR4IGZvcm1hdCB2ZXJzaW9uIgogbXNnc3RyICLnlKjmjIflrprnmoQgaWR4IOagvOW8j+eJiOacrOadpeWGmeWMhee0ouW8leaWh+S7tiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDU5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjAKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBvdXRwdXQgcGFjayBmaWxlIgogbXNnc3RyICLmr4/kuKrovpPlh7rljIXnmoTmnIDlpKflsLrlr7giCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDYyCiBtc2dpZCAiaWdub3JlIGJvcnJvd2VkIG9iamVjdHMgZnJvbSBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlIgogbXNnc3RyICLlv73nlaXku47mm7/ku6Plr7nosaHlrZjlgqjph4zlgJ/nlKjlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY0CiBtc2dpZCAiaWdub3JlIHBhY2tlZCBvYmplY3RzIgogbXNnc3RyICLlv73nlaXljIXlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY2CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAi6ZmQ5Yi25omT5YyF56qX5Y+j55qE5a+56LGh5pWwIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ2OAogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgIumZpOWvueixoeaVsOmHj+mZkOWItuWkluiuvue9ruaJk+WMheeql+WPo+eahOWGheWtmOmZkOWItiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDY5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzAKIG1zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKIG1zZ3N0ciAi5omT5YyF5YWB6K6455qEIGRlbHRhIOmTvueahOacgOWkp+mVv+W6piIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDcxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzIKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBkZWx0YXMiCiBtc2dzdHIgIumHjeeUqOW3suWtmOWcqOeahCBkZWx0YXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc0CiBtc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi6YeN55So5bey5a2Y5Zyo55qE5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NzUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3NgogbXNnaWQgInVzZSBPRlNfREVMVEEgb2JqZWN0cyIKIG1zZ3N0ciAi5L2/55SoIE9GU19ERUxUQSDlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ3NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc4CiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAi5L2/55So57q/56iL5p+l6K+i5pyA5L2zIGRlbHRhIOWMuemFjSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDc5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODAKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICLkuI3liJvlu7rnqbrnmoTljIXovpPlh7oiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgyCiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi5LuO5qCH5YeG6L6T5YWl6K+75Y+W5L+u6K6i5Y+35Y+C5pWwIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4NAogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICLpmZDliLbpgqPkupvlsJrmnKrmiZPljIXnmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg3CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIGFueSByZWZlcmVuY2UiCiBtc2dzdHIgIuWMheaLrOWPr+S7peS7juS7u+S9leW8leeUqOiuv+mXruWIsOeahOWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDg5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTAKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgYnkgcmVmbG9nIGVudHJpZXMiCiBtc2dzdHIgIuWMheaLrOiiq+W8leeUqOaXpeW/l+W8leeUqOWIsOeahOWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDkyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTMKIG1zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCiBtc2dzdHIgIui+k+WHuuWMheWIsOagh+WHhui+k+WHuiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTUKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgIuWMheaLrOW8leeUqOS6huaJk+WMheWvueixoeeahCB0YWciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk3CiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICLnu7TmjIHkuI3lj6/ovr7nmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5NyBwYXJzZS1vcHRpb25zLmg6MTQxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTggcGFyc2Utb3B0aW9ucy5oOjE0MwogbXNnaWQgInRpbWUiCiBtc2dzdHIgIuaXtumXtCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDk4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTkKIG1zZ2lkICJ1bnBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyBuZXdlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAi5bCG5q+U57uZ5a6aIDzml7bpl7Q+IOaWsOeahOaXoOazleiuv+mXrueahOWvueixoeino+WMhSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDIKIG1zZ2lkICJjcmVhdGUgdGhpbiBwYWNrcyIKIG1zZ3N0ciAi5Yib5bu657K+566A5YyFIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNAogbXNnaWQgImlnbm9yZSBwYWNrcyB0aGF0IGhhdmUgY29tcGFuaW9uIC5rZWVwIGZpbGUiCiBtc2dzdHIgIuW/veeVpemFjeaciSAua2VlcCDmlofku7bnmoTljIUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA2CiBtc2dpZCAicGFjayBjb21wcmVzc2lvbiBsZXZlbCIKIG1zZ3N0ciAi5omT5YyF5Y6L57yp57qn5YirIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1MDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjUwOAogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgogbXNnc3RyICLkuI3pmpDol4/np7vmpI3opobnm5bnmoTmj5DkuqQiCiAKQEAgLTc0MzUsMTcgKzc2MzIsMTcgQEAKIAogIzogYnVpbHRpbi9wdXNoLmM6MTQKIG1zZ2lkICJnaXQgcHVzaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKLW1zZ3N0ciAiZ2l0IHB1c2ggWzzpgInpobk+XSBbPOeJiOacrOW6kz4gWzzlvJXnlKjooajovr7lvI8+Li4uXV0iCittc2dzdHIgImdpdCBwdXNoIFs86YCJ6aG5Pl0gWzzniYjmnKzlupM+IFs85byV55So6KeE5YiZPi4uLl1dIgogCi0jOiBidWlsdGluL3B1c2guYzo0NQorIzogYnVpbHRpbi9wdXNoLmM6NDcKIG1zZ2lkICJ0YWcgc2hvcnRoYW5kIHdpdGhvdXQgPHRhZz4iCiBtc2dzdHIgInRhZyDnroDlhpnmsqHmnInot58gPHRhZz4g5Y+C5pWwIgogCi0jOiBidWlsdGluL3B1c2guYzo2NAorIzogYnVpbHRpbi9wdXNoLmM6NjYKIG1zZ2lkICItLWRlbGV0ZSBvbmx5IGFjY2VwdHMgcGxhaW4gdGFyZ2V0IHJlZiBuYW1lcyIKIG1zZ3N0ciAiLS1kZWxldGUg5Y+q5o6l5Y+X566A5Y2V55qE55uu5qCH5byV55So5ZCNIgogCi0jOiBidWlsdGluL3B1c2guYzo5OQorIzogYnVpbHRpbi9wdXNoLmM6MTAxCiBtc2dpZCAiIgogIlxuIgogIlRvIGNob29zZSBlaXRoZXIgb3B0aW9uIHBlcm1hbmVudGx5LCBzZWUgcHVzaC5kZWZhdWx0IGluICdnaXQgaGVscCBjb25maWcnLiIKQEAgLTc0NTMsNyArNzY1MCw3IEBACiAiXG4iCiAi5Li65LqG5rC45LmF5Zyw6YCJ5oup5Lu75LiA6YCJ6aG577yM5Y+C6KeBICdnaXQgaGVscCBjb25maWcnIOS4reeahCBwdXNoLmRlZmF1bHTjgIIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEwMgorIzogYnVpbHRpbi9wdXNoLmM6MTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgdXBzdHJlYW0gYnJhbmNoIG9mIHlvdXIgY3VycmVudCBicmFuY2ggZG9lcyBub3QgbWF0Y2hcbiIKQEAgLTc0NzcsNyArNzY3NCw3IEBACiAiICAgIGdpdCBwdXNoICVzICVzXG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjExNworIzogYnVpbHRpbi9wdXNoLmM6MTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guXG4iCkBAIC03NDkxLDcgKzc2ODgsNyBAQAogIlxuIgogIiAgICBnaXQgcHVzaCAlcyBIRUFEOjxuYW1lLW9mLXJlbW90ZS1icmFuY2g+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEzMQorIzogYnVpbHRpbi9wdXNoLmM6MTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG5vIHVwc3RyZWFtIGJyYW5jaC5cbiIKQEAgLTc1MDQsMTIgKzc3MDEsMTIgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggLS1zZXQtdXBzdHJlYW0gJXMgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTM5CisjOiBidWlsdGluL3B1c2guYzoxNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBtdWx0aXBsZSB1cHN0cmVhbSBicmFuY2hlcywgcmVmdXNpbmcgdG8gcHVzaC4iCiBtc2dzdHIgIuW9k+WJjeWIhuaUryAlcyDmnInlpJrkuKrkuIrmuLjliIbmlK/vvIzmi5Lnu53mjqjpgIHjgIIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE0MgorIzogYnVpbHRpbi9wdXNoLmM6MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIHB1c2hpbmcgdG8gcmVtb3RlICclcycsIHdoaWNoIGlzIG5vdCB0aGUgdXBzdHJlYW0gb2ZcbiIKQEAgLTc1MjAsNyArNzcxNyw3IEBACiAi6ICM5rKh5pyJ5ZGK6K+J5oiR6KaB5o6o6YCB5LuA5LmI44CB5pu05paw5ZOq5Liq6L+c56iL5YiG5pSv44CCIgogCiAjICDor5HogIXvvJrlrZfnrKbkuLLpppbooYzooYzpppbopoHmt7vliqDigJx3YXJuaW5nOiDigJ3lrZfkuLLvvIzmlYXmraTpppbooYzopoHovoPlhbbkvZnooYznn60KLSM6IGJ1aWx0aW4vcHVzaC5jOjE2NQorIzogYnVpbHRpbi9wdXNoLmM6MTY3CiBtc2dpZCAiIgogInB1c2guZGVmYXVsdCBpcyB1bnNldDsgaXRzIGltcGxpY2l0IHZhbHVlIGlzIGNoYW5naW5nIGluXG4iCiAiR2l0IDIuMCBmcm9tICdtYXRjaGluZycgdG8gJ3NpbXBsZScuIFRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlXG4iCkBAIC03NTM3LDkgKzc3MzQsOCBAQAogIih0aGUgJ3NpbXBsZScgbW9kZSB3YXMgaW50cm9kdWNlZCBpbiBHaXQgMS43LjExLiBVc2UgdGhlIHNpbWlsYXIgbW9kZVxuIgogIidjdXJyZW50JyBpbnN0ZWFkIG9mICdzaW1wbGUnIGlmIHlvdSBzb21ldGltZXMgdXNlIG9sZGVyIHZlcnNpb25zIG9mIEdpdCkiCiBtc2dzdHIgIiIKLSJwdXNoLmRlZmF1bHQg5pyq6K6+572u77yM5a6D55qE6buY6K6k5YC85bCG5Lya5ZyoIEdpdCAyLjAg55SxICdtYXRjaGluZydcbiIKLSLkv67mlLnkuLogJ3NpbXBsZSfjgILoi6XopoHkuI3lho3mmL7npLrmnKzkv6Hmga/lubblnKjlhbbpu5jorqTlgLzmlLnlj5jlkI7nu7TmjIHlvZPliY3kvb/nlKjkuaDmg6/vvIxcbiIKLSLov5vooYzlpoLkuIvorr7nva7vvJpcbiIKKyJwdXNoLmRlZmF1bHQg5pyq6K6+572u77yM5a6D55qE6buY6K6k5YC85bCG5ZyoIEdpdCAyLjAg55SxICdtYXRjaGluZydcbiIKKyLmlLnlj5jkuLogJ3NpbXBsZSfjgILoi6XopoHkuI3lho3mmL7npLrmnKzkv6Hmga/lubbkv53mjIHkvKDnu5/kuaDmg6/vvIzov5vooYzlpoLkuIvorr7nva7vvJpcbiIKICJcbiIKICIgIGdpdCBjb25maWcgLS1nbG9iYWwgcHVzaC5kZWZhdWx0IG1hdGNoaW5nXG4iCiAiXG4iCkBAIC03NTQ5LDE0ICs3NzQ1LDE0IEBACiAiXG4iCiAi5Y+C6KeBICdnaXQgaGVscCBjb25maWcnIOW5tuafpeaJviAncHVzaC5kZWZhdWx0JyDku6Xojrflj5bmm7TlpJrkv6Hmga/jgIJcbiIKICLvvIgnc2ltcGxlJyDmqKHlvI/nlLEgR2l0IDEuNy4xMSDniYjmnKzlvJXlhaXjgILlpoLmnpzmgqjmnInml7bopoHkvb/nlKjogIHniYjmnKznmoQgR2l077yMXG4iCi0i5Li65L+d5oyB5YW85a6577yM6K+355SoICdjdXJyZW50JyDku6Pmm78gJ3NpbXBsZScg5qih5byP77yJIgorIuS4uuS/neaMgeWFvOWuue+8jOivt+eUqCAnY3VycmVudCcg5Luj5pu/ICdzaW1wbGUn77yJIgogCi0jOiBidWlsdGluL3B1c2guYzoyMjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjIyNwogbXNnaWQgIiIKICJZb3UgZGlkbid0IHNwZWNpZnkgYW55IHJlZnNwZWNzIHRvIHB1c2gsIGFuZCBwdXNoLmRlZmF1bHQgaXMgXCJub3RoaW5nXCIuIgotbXNnc3RyICLmgqjmsqHmnInkuLrmjqjpgIHmjIflrprku7vkvZXlvJXnlKjooajovr7lvI/vvIzlubbkuJQgcHVzaC5kZWZhdWx0IOS4uiBcIm5vdGhpbmdcIuOAgiIKK21zZ3N0ciAi5oKo5rKh5pyJ5Li65o6o6YCB5oyH5a6a5Lu75L2V5byV55So6KeE5YiZ77yM5bm25LiUIHB1c2guZGVmYXVsdCDkuLogXCJub3RoaW5nXCLjgIIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIzMgorIzogYnVpbHRpbi9wdXNoLmM6MjM0CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0aXAgb2YgeW91ciBjdXJyZW50IGJyYW5jaCBpcyBiZWhpbmRcbiIKICJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBJbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzIChlLmcuXG4iCkBAIC03NTY3LDcgKzc3NjMsNyBAQAogIuWGjeasoeaOqOmAgeWJje+8jOWFiOS4jui/nOeoi+WPmOabtOWQiOW5tu+8iOWmgiAnZ2l0IHB1bGwgLi4uJ++8ieOAguivpuingVxuIgogIidnaXQgcHVzaCAtLWhlbHAnIOS4reeahCAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyDlsI/oioLjgIIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIzOAorIzogYnVpbHRpbi9wdXNoLmM6MjQwCiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIGEgcHVzaGVkIGJyYW5jaCB0aXAgaXMgYmVoaW5kIGl0cyByZW1vdGVcbiIKICJjb3VudGVycGFydC4gSWYgeW91IGRpZCBub3QgaW50ZW5kIHRvIHB1c2ggdGhhdCBicmFuY2gsIHlvdSBtYXkgd2FudCB0b1xuIgpAQCAtNzU3OSw3ICs3Nzc1LDcgQEAKICLphY3nva7lj5jph48gJ3B1c2guZGVmYXVsdCcg6K6+572u5Li6ICdzaW1wbGUn44CBJ2N1cnJlbnQnIOaIliAndXBzdHJlYW0nXG4iCiAi5Lul5L6/5Y+q5o6o6YCB5b2T5YmN5YiG5pSv44CCIgogCi0jOiBidWlsdGluL3B1c2guYzoyNDQKKyM6IGJ1aWx0aW4vcHVzaC5jOjI0NgogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIENoZWNrIG91dCB0aGlzIGJyYW5jaCBhbmQgaW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlc1xuIgpAQCAtNzU5MCw3ICs3Nzg2LDcgQEAKICLmo4Dlh7ror6XliIbmlK/lubbmlbTlkIjov5znqIvlj5jmm7TvvIjlpoIgJ2dpdCBwdWxsIC4uLifvvInvvIznhLblkI7lho3mjqjpgIHjgILor6bop4FcbiIKICInZ2l0IHB1c2ggLS1oZWxwJyDkuK3nmoQgJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycg5bCP6IqC44CCIgogCi0jOiBidWlsdGluL3B1c2guYzoyNTAKKyM6IGJ1aWx0aW4vcHVzaC5jOjI1MgogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGNvbnRhaW5zIHdvcmsgdGhhdCB5b3UgZG9cbiIKICJub3QgaGF2ZSBsb2NhbGx5LiBUaGlzIGlzIHVzdWFsbHkgY2F1c2VkIGJ5IGFub3RoZXIgcmVwb3NpdG9yeSBwdXNoaW5nXG4iCkBAIC03NjAzLDExICs3Nzk5LDExIEBACiAi77yI5aaCICdnaXQgcHVsbCAuLi4n77yJ44CCXG4iCiAi6K+m6KeBICdnaXQgcHVzaCAtLWhlbHAnIOS4reeahCAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyDlsI/oioLjgIIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI1NworIzogYnVpbHRpbi9wdXNoLmM6MjU5CiBtc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKIG1zZ3N0ciAi5pu05paw6KKr5ouS57ud5Zug5Li6IHRhZyDlnKjov5znqIvlt7Lnu4/lrZjlnKjjgIIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI2MAorIzogYnVpbHRpbi9wdXNoLmM6MjYyCiBtc2dpZCAiIgogIllvdSBjYW5ub3QgdXBkYXRlIGEgcmVtb3RlIHJlZiB0aGF0IHBvaW50cyBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgogIm9yIHVwZGF0ZSBhIHJlbW90ZSByZWYgdG8gbWFrZSBpdCBwb2ludCBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgpAQCAtNzYxNiwyMiArNzgxMiwyMiBAQAogIuWmguaenOS4jeS9v+eUqCAnLS1mb3JjZScg5Y+C5pWw77yM5oKo5LiN6IO95pu05paw5LiA5Liq5oyH5ZCR6Z2e5o+Q5Lqk5a+56LGh55qE6L+c56iL5byV55So77yMXG4iCiAi5Lmf5LiN6IO95pu05paw6L+c56iL5byV55So6K6p5YW25oyH5ZCR5LiA5Liq6Z2e5o+Q5Lqk5a+56LGh44CCXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjMyMAorIzogYnVpbHRpbi9wdXNoLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlB1c2hpbmcgdG8gJXNcbiIKIG1zZ3N0ciAi5o6o6YCB5YiwICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjMyNAorIzogYnVpbHRpbi9wdXNoLmM6MzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwdXNoIHNvbWUgcmVmcyB0byAnJXMnIgogbXNnc3RyICLml6Dms5XmjqjpgIHkuIDkupvlvJXnlKjliLAgJyVzJyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzU3CisjOiBidWlsdGluL3B1c2guYzozNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKIG1zZ3N0ciAi5Z2P55qE54mI5pys5bqTICclcyciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM1OAorIzogYnVpbHRpbi9wdXNoLmM6MzY2CiBtc2dpZCAiIgogIk5vIGNvbmZpZ3VyZWQgcHVzaCBkZXN0aW5hdGlvbi5cbiIKICJFaXRoZXIgc3BlY2lmeSB0aGUgVVJMIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvciBjb25maWd1cmUgYSByZW1vdGUgIgpAQCAtNzY1Miw4NyArNzg0OCw5NSBAQAogIlxuIgogIiAgICBnaXQgcHVzaCA8bmFtZT5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzczCisjOiBidWlsdGluL3B1c2guYzozODEKIG1zZ2lkICItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tYWxsIOWSjCAtLXRhZ3Mg5LiN5YW85a65IgogCi0jOiBidWlsdGluL3B1c2guYzozNzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4MgogbXNnaWQgIi0tYWxsIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCi1tc2dzdHIgIi0tYWxsIOS4jeiDveWSjOW8leeUqOihqOi+vuW8j+WQjOaXtuS9v+eUqCIKK21zZ3N0ciAiLS1hbGwg5LiN6IO95ZKM5byV55So6KeE5YiZ5ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL3B1c2guYzozNzkKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4NwogbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1taXJyb3Ig5ZKMIC0tdGFncyDkuI3lhbzlrrkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4MAorIzogYnVpbHRpbi9wdXNoLmM6Mzg4CiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKLW1zZ3N0ciAiLS1taXJyb3Ig5LiN6IO95ZKM5byV55So6KGo6L6+5byP5ZCM5pe25L2/55SoIgorbXNnc3RyICItLW1pcnJvciDkuI3og73lkozlvJXnlKjop4TliJnlkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4NQorIzogYnVpbHRpbi9wdXNoLmM6MzkzCiBtc2dpZCAiLS1hbGwgYW5kIC0tbWlycm9yIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tYWxsIOWSjCAtLW1pcnJvciDkuI3lhbzlrrkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ0NQorIzogYnVpbHRpbi9wdXNoLmM6NDUzCiBtc2dpZCAicmVwb3NpdG9yeSIKIG1zZ3N0ciAi54mI5pys5bqTIgogCi0jOiBidWlsdGluL3B1c2guYzo0NDYKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ1NAogbXNnaWQgInB1c2ggYWxsIHJlZnMiCiBtc2dzdHIgIuaOqOmAgeaJgOacieW8leeUqCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDQ3CisjOiBidWlsdGluL3B1c2guYzo0NTUKIG1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCiBtc2dzdHIgIumVnOWDj+aJgOacieW8leeUqCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDQ5CisjOiBidWlsdGluL3B1c2guYzo0NTcKIG1zZ2lkICJkZWxldGUgcmVmcyIKIG1zZ3N0ciAi5Yig6Zmk5byV55SoIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTAKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ1OAogbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKIG1zZ3N0ciAi5o6o6YCBIHRhZ3PvvIjkuI3og73kvb/nlKggLS1hbGwgb3IgLS1taXJyb3LvvIkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1MworIzogYnVpbHRpbi9wdXNoLmM6NDYxCiBtc2dpZCAiZm9yY2UgdXBkYXRlcyIKIG1zZ3N0ciAi5by65Yi25pu05pawIgogCi0jOiBidWlsdGluL3B1c2guYzo0NTQKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ2MworbXNnaWQgInJlZm5hbWU+OjxleHBlY3QiCittc2dzdHIgIuW8leeUqOWQjT46POacn+acm+WAvCIKKworIzogYnVpbHRpbi9wdXNoLmM6NDY0Cittc2dpZCAicmVxdWlyZSBvbGQgdmFsdWUgb2YgcmVmIHRvIGJlIGF0IHRoaXMgdmFsdWUiCittc2dzdHIgIuimgeaxguW8leeUqOaXp+eahOWPluWAvOS4uuiuvuWumuWAvCIKKworIzogYnVpbHRpbi9wdXNoLmM6NDY2CiBtc2dpZCAiY2hlY2siCiBtc2dzdHIgIuajgOafpSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDU1CisjOiBidWlsdGluL3B1c2guYzo0NjcKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIuaOp+WItuWtkOaooee7hOeahOmAkuW9kuaOqOmAgSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDU3CisjOiBidWlsdGluL3B1c2guYzo0NjkKIG1zZ2lkICJ1c2UgdGhpbiBwYWNrIgogbXNnc3RyICLkvb/nlKjnsr7nroDmiZPljIUiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ1OCBidWlsdGluL3B1c2guYzo0NTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3MCBidWlsdGluL3B1c2guYzo0NzEKIG1zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKIG1zZ3N0ciAi5o6l5pS25YyF56iL5bqPIgogCi0jOiBidWlsdGluL3B1c2guYzo0NjAKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3MgogbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgogbXNnc3RyICLorr7nva4gZ2l0IHB1bGwvc3RhdHVzIOeahOS4iua4uCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDYzCisjOiBidWlsdGluL3B1c2guYzo0NzUKIG1zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKIG1zZ3N0ciAi5riF6Zmk5pys5Zyw5Yig6Zmk55qE5byV55SoIgogCi0jOiBidWlsdGluL3B1c2guYzo0NjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3NwogbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgogbXNnc3RyICLnu5Xov4cgcHJlLXB1c2gg6ZKp5a2QIgogCi0jOiBidWlsdGluL3B1c2guYzo0NjYKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ3OAogbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKIG1zZ3N0ciAi5o6o6YCB57y65aSx55qE5pyJ5YWz55qEIHRhZ3MiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQ3NgorIzogYnVpbHRpbi9wdXNoLmM6NDg4CiBtc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCiBtc2dzdHIgIi0tZGVsZXRlIOS4jiAtLWFsbOOAgS0tbWlycm9yIOWPiiAtLXRhZ3Mg5LiN5YW85a65IgogCi0jOiBidWlsdGluL3B1c2guYzo0NzgKKyM6IGJ1aWx0aW4vcHVzaC5jOjQ5MAogbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgogbXNnc3RyICItLWRlbGV0ZSDmnKrmjqXku7vkvZXlvJXnlKjmsqHmnInmhI/kuYkiCiAKQEAgLTc4MTAsMTIgKzgwMTQsMTIgQEAKIG1zZ2lkICJkZWJ1ZyB1bnBhY2stdHJlZXMiCiBtc2dzdHIgIuiwg+ivlSB1bnBhY2stdHJlZXMiCiAKLSM6IGJ1aWx0aW4vcmVmbG9nLmM6NTAwCisjOiBidWlsdGluL3JlZmxvZy5jOjQ5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcycgZm9yICclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICInJTIkcycg55qE5YC8ICclMSRzJyDkuI3mmK/kuIDkuKrmnInmlYjnmoTml7bpl7TmiLMiCiAKLSM6IGJ1aWx0aW4vcmVmbG9nLmM6NjE2IGJ1aWx0aW4vcmVmbG9nLmM6NjIxCisjOiBidWlsdGluL3JlZmxvZy5jOjYxNSBidWlsdGluL3JlZmxvZy5jOjYyMAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAiJyVzJyDkuI3mmK/kuIDkuKrmnInmlYjnmoTml7bpl7TmiLMiCkBAIC03ODQwLDkgKzgwNDQsOSBAQAogbXNnaWQgImdpdCByZW1vdGUgcmVtb3ZlIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSByZW1vdmUgPOWQjeensD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUgYnVpbHRpbi9yZW1vdGUuYzo0MgotbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC1kIHwgPGJyYW5jaD4pIgotbXNnc3RyICJnaXQgcmVtb3RlIHNldC1oZWFkIDzlkI3np7A+ICgtYSB8IC1kIHwgPOWIhuaUrz4pIgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNQorbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfDxicmFuY2g+KSIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA85ZCN56ewPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHw85YiG5pSvPikiCiAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDxuYW1lPiIKQEAgLTc4NzcsNiArODA4MSwxMCBAQAogbXNnaWQgImdpdCByZW1vdGUgYWRkIFs8b3B0aW9ucz5dIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBhZGQgWzzpgInpobk+XSA85ZCN56ewPiA85Zyw5Z2APiIKIAorIzogYnVpbHRpbi9yZW1vdGUuYzo0MgorbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8YnJhbmNoPikiCittc2dzdHIgImdpdCByZW1vdGUgc2V0LWhlYWQgPOWQjeensD4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDzliIbmlK8+KSIKKwogIzogYnVpbHRpbi9yZW1vdGUuYzo0NwogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPOWQjeensD4gPOWIhuaUrz4uLi4iCkBAIC03OTc0LDcgKzgxODIsNyBAQAogIzogYnVpbHRpbi9yZW1vdGUuYzozMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGdldCBmZXRjaCBtYXAgZm9yIHJlZnNwZWMgJXMiCi1tc2dzdHIgIuaXoOazleW+l+WIsOW8leeUqOihqOi+vuW8jyAlcyDnmoTojrflj5bliJfooagiCittc2dzdHIgIuaXoOazleW+l+WIsOW8leeUqOinhOWImSAlcyDnmoTojrflj5bliJfooagiCiAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6NDQwIGJ1aWx0aW4vcmVtb3RlLmM6NDQ4CiBtc2dpZCAiKG1hdGNoaW5nKSIKQEAgLTgwMTEsNyArODIxOSw3IEBACiAiXHQlc1xuIgogIlx0UGxlYXNlIHVwZGF0ZSB0aGUgY29uZmlndXJhdGlvbiBtYW51YWxseSBpZiBuZWNlc3NhcnkuIgogbXNnc3RyICIiCi0i5rKh5pyJ5pu05paw6Z2e6buY6K6k55qE6I635Y+W5byV55So6KGo6L6+5byPXG4iCisi5rKh5pyJ5pu05paw6Z2e6buY6K6k55qE6I635Y+W5byV55So6KeE5YiZXG4iCiAiXHQlc1xuIgogIlx05aaC5p6c5b+F6KaB6K+35omL5Yqo5pu05paw6YWN572u44CCIgogCkBAIC04MzEyLDYgKzg1MjAsNjcgQEAKIG1zZ2lkICJiZSB2ZXJib3NlOyBtdXN0IGJlIHBsYWNlZCBiZWZvcmUgYSBzdWJjb21tYW5kIgogbXNnc3RyICLlhpfplb/ovpPlh7rvvJvlv4Xpobvnva7kuo7lrZDlkb3ku6TkuYvliY0iCiAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTUKK21zZ2lkICJnaXQgcmVwYWNrIFtvcHRpb25zXSIKK21zZ3N0ciAiZ2l0IHJlcGFjayBb6YCJ6aG5XSIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNDMKK21zZ2lkICJwYWNrIGV2ZXJ5dGhpbmcgaW4gYSBzaW5nbGUgcGFjayIKK21zZ3N0ciAi5omA5pyJ5YaF5a655omT5YyF5Yiw5LiA5Liq5YyF5paH5Lu25LitIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE0NQorbXNnaWQgInNhbWUgYXMgLWEsIGFuZCB0dXJuIHVucmVhY2hhYmxlIG9iamVjdHMgbG9vc2UiCittc2dzdHIgIuWSjCAtYSDnm7jlkIzvvIzlubblsIbkuI3lj6/ovr7nmoTlr7nosaHorr7kuLrmnb7mlaPlr7nosaEiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTQ4Cittc2dpZCAicmVtb3ZlIHJlZHVuZGFudCBwYWNrcywgYW5kIHJ1biBnaXQtcHJ1bmUtcGFja2VkIgorbXNnc3RyICLliKDpmaTlpJrkvZnnmoTljIXvvIzov5DooYwgZ2l0LXBydW5lLXBhY2tlZCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTAKK21zZ2lkICJwYXNzIC0tbm8tcmV1c2UtZGVsdGEgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAi5ZCRIGdpdC1wYWNrLW9iamVjdHMg5Lyg6YCS5Y+C5pWwIC0tbm8tcmV1c2UtZGVsdGEiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTUyCittc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICLlkJEgZ2l0LXBhY2stb2JqZWN0cyDkvKDpgJLlj4LmlbAgLS1uby1yZXVzZS1vYmplY3QiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU0Cittc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgorbXNnc3RyICLkuI3ov5DooYwgZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTcKK21zZ2lkICJwYXNzIC0tbG9jYWwgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAi5ZCRIGdpdC1wYWNrLW9iamVjdHMg5Lyg6YCS5Y+C5pWwIC0tbG9jYWwiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU4Cittc2dpZCAiYXBwcm94aWRhdGUiCittc2dzdHIgIui/keS8vOaXpeacnyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNTkKK21zZ2lkICJ3aXRoIC1BLCBkbyBub3QgbG9vc2VuIG9iamVjdHMgb2xkZXIgdGhhbiB0aGlzIgorbXNnc3RyICLkvb/nlKggLUHvvIzkuI3opoHlsIbml6nkuo7nu5nlrprml7bpl7TnmoTlr7nosaHov4fmnJ8iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYxCittc2dpZCAic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIgorbXNnc3RyICLnlKjkuo7lop7ph4/ljovnvKnnmoTnqpflj6PlgLwiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYzCittc2dpZCAic2FtZSBhcyB0aGUgYWJvdmUsIGJ1dCBsaW1pdCBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIGVudHJpZXMgY291bnQiCittc2dzdHIgIuWSjOS4iumdoueahOebuOS8vO+8jOS9humZkOWItuWGheWtmOWkp+Wwj+iAjOmdnuadoeebruaVsCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjUKK21zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCittc2dzdHIgIumZkOWItuacgOWkp+WinumHj+a3seW6piIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxNjcKK21zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBwYWNrZmlsZSIKK21zZ3N0ciAi5q+P5Liq5YyF55qE5pyA5aSn5bC65a+4IgorCisjOiBidWlsdGluL3JlcGFjay5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyAnJXMnIGZhaWxlZCIKK21zZ3N0ciAi5Yig6ZmkICclcycg5aSx6LSlIgorCiAjOiBidWlsdGluL3JlcGxhY2UuYzoxNwogbXNnaWQgImdpdCByZXBsYWNlIFstZl0gPG9iamVjdD4gPHJlcGxhY2VtZW50PiIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy1mXSA85a+56LGhPiA85pu/5o2i54mpPiIKQEAgLTgzMjQsMjMgKzg1OTMsMjMgQEAKIG1zZ2lkICJnaXQgcmVwbGFjZSAtbCBbPHBhdHRlcm4+XSIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgLWwgWzzmqKHlvI8+XSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIxCisjOiBidWlsdGluL3JlcGxhY2UuYzoxMzEKIG1zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAi5YiX5Ye65pu/5o2i55qE5byV55SoIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMjIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEzMgogbXNnaWQgImRlbGV0ZSByZXBsYWNlIHJlZnMiCiBtc2dzdHIgIuWIoOmZpOabv+aNoueahOW8leeUqCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIzCisjOiBidWlsdGluL3JlcGxhY2UuYzoxMzMKIG1zZ2lkICJyZXBsYWNlIHRoZSByZWYgaWYgaXQgZXhpc3RzIgogbXNnc3RyICLlpoLmnpzlrZjlnKjliJnmm7/mjaLlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6MTEKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6MTIKIG1zZ2lkICJnaXQgcmVyZXJlIFtjbGVhciB8IGZvcmdldCBwYXRoLi4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKIG1zZ3N0ciAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgcGF0aC4uLiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6NTYKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6NTcKIG1zZ2lkICJyZWdpc3RlciBjbGVhbiByZXNvbHV0aW9ucyBpbiBpbmRleCIKIG1zZ3N0ciAi5Zyo57Si5byV5Lit5rOo5YaM5bmy5YeA55qE6Kej5Yaz5pa55qGIIgogCkBAIC04NDAxLDcxICs4NjcwLDcxIEBACiBtc2dpZCAiQ2Fubm90IGRvIGEgJXMgcmVzZXQgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlLiIKIG1zZ3N0ciAi5Zyo5ZCI5bm26L+H56iL5Lit5LiN6IO95YGaJXPph43nva7mk43kvZzjgIIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTEKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNjIKIG1zZ2lkICJiZSBxdWlldCwgb25seSByZXBvcnQgZXJyb3JzIgogbXNnc3RyICLlronpnZnmqKHlvI/vvIzlj6rmiqXlkYrplJnor68iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNTMKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNjQKIG1zZ2lkICJyZXNldCBIRUFEIGFuZCBpbmRleCIKIG1zZ3N0ciAi6YeN572uIEhFQUQg5ZKM57Si5byVIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjU0CisjOiBidWlsdGluL3Jlc2V0LmM6MjY1CiBtc2dpZCAicmVzZXQgb25seSBIRUFEIgogbXNnc3RyICLlj6rph43nva4gSEVBRCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI1NiBidWlsdGluL3Jlc2V0LmM6MjU4CisjOiBidWlsdGluL3Jlc2V0LmM6MjY3IGJ1aWx0aW4vcmVzZXQuYzoyNjkKIG1zZ2lkICJyZXNldCBIRUFELCBpbmRleCBhbmQgd29ya2luZyB0cmVlIgogbXNnc3RyICLph43nva4gSEVBROOAgee0ouW8leWSjOW3peS9nOWMuiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI2MAorIzogYnVpbHRpbi9yZXNldC5jOjI3MQogbXNnaWQgInJlc2V0IEhFQUQgYnV0IGtlZXAgbG9jYWwgY2hhbmdlcyIKIG1zZ3N0ciAi6YeN572uIEhFQUQg5L2G5L+d5a2Y5pys5Zyw5Y+Y5pu0IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjc4CisjOiBidWlsdGluL3Jlc2V0LmM6Mjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iCiBtc2dzdHIgIuaXoOazleWwhiAnJXMnIOino+aekOS4uuS4gOS4quacieaViOeahOeJiOacrOOAgiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4MSBidWlsdGluL3Jlc2V0LmM6Mjg5CisjOiBidWlsdGluL3Jlc2V0LmM6MjkyIGJ1aWx0aW4vcmVzZXQuYzozMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q5a+56LGhICclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODYKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHRyZWUuIgogbXNnc3RyICLml6Dms5XlsIYgJyVzJyDop6PmnpDkuLrkuIDkuKrmnInmlYjnmoTmoJHlr7nosaHjgIIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTUKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDYKIG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIC0te2hhcmQsbWl4ZWQsc29mdH0iCiBtc2dzdHIgIi0tcGF0Y2gg5LiOIC0te2hhcmTjgIFtaXhlZOOAgXNvZnR9IOmAiemhueS4jeWFvOWuuSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMwNAorIzogYnVpbHRpbi9yZXNldC5jOjMxNQogbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKIG1zZ3N0ciAiLS1taXhlZCDluKbot6/lvoTlt7LlvIPnlKjvvIzogIzmmK/nlKggJ2dpdCByZXNldCAtLSA8cGF0aHM+J+OAgiIKIAogIyAg6K+R6ICF77ya5rGJ5a2X5LmL6Ze05peg56m65qC877yM5pWF5Yig6ZmkJXPliY3lkI7nqbrmoLwKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDYKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvICVzIHJlc2V0IHdpdGggcGF0aHMuIgogbXNnc3RyICLkuI3og73luKbot6/lvoTov5vooYwlc+mHjee9ruOAgiIKIAogIyAg6K+R6ICF77ya5rGJ5a2X5LmL6Ze05peg56m65qC877yM5pWF5Yig6ZmkJXPliY3lkI7nqbrmoLwKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMTYKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcmVzZXQgaXMgbm90IGFsbG93ZWQgaW4gYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuS4jeiDveWvueijuOeJiOacrOW6k+i/m+ihjCVz6YeN572uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzM2CisjOiBidWlsdGluL3Jlc2V0LmM6MzQ0Cittc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZXNldDoiCittc2dzdHIgIumHjee9ruWQjuaSpOWHuuaaguWtmOWMuueahOWPmOabtO+8miIKKworIzogYnVpbHRpbi9yZXNldC5jOjM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVzZXQgaW5kZXggZmlsZSB0byByZXZpc2lvbiAnJXMnLiIKIG1zZ3N0ciAi5LiN6IO96YeN572u57Si5byV5paH5Lu26Iez54mI5pysICclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDIKLW1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKLW1zZ3N0ciAi6YeN572u5ZCO5pKk5Ye65pqC5a2Y5Yy655qE5Y+Y5pu077yaIgotCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQ3CisjOiBidWlsdGluL3Jlc2V0LmM6MzU1CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKIG1zZ3N0ciAi5LiN6IO95YaZ5YWl5paw55qE57Si5byV5paH5Lu244CCIgogCkBAIC04NDkwLDggKzg3NTksOCBAQAogIlJ1biBcImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCAtaFwiIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSBmaXJzdCB1c2FnZS4iCiBtc2dzdHIgIiIKICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgW+mAiemhuV0gLS0gWzzlj4LmlbA+Li4uXVxuIgotIiAgIOaIluiAhe+8mmdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPOmAiemhuT4uLi5dXG4iCi0iICAg5oiW6ICF77yaZ2l0IHJldi1wYXJzZSBbb3B0aW9uc10gWzzpgInpobk+Li4uXVxuIgorIiAgIOaIluiAhe+8mmdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPOWPguaVsD4uLi5dXG4iCisiICAg5oiW6ICF77yaZ2l0IHJldi1wYXJzZSBb6YCJ6aG5XSBbPOWPguaVsD4uLi5dXG4iCiAiXG4iCiAi5Yid5qyh5L2/55So5pe25omn6KGMIFwiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IC1oXCIg5p2l6I635b6X5pu05aSa5L+h5oGv44CCIgogCkBAIC04NTExLDg0ICs4NzgwLDg0IEBACiBtc2dpZCAiZ2l0IGNoZXJyeS1waWNrIDxzdWJjb21tYW5kPiIKIG1zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIDzlrZDlkb3ku6Q+IgogCi0jOiBidWlsdGluL3JldmVydC5jOjcxIGJ1aWx0aW4vcmV2ZXJ0LmM6OTQKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiVz77yaJXMg5LiN6IO95ZKMICVzIOWQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODAKIG1zZ2lkICJlbmQgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICLnu4jmraLlj43ovazmiJbmi6PpgInmk43kvZwiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CisjOiBidWlsdGluL3JldmVydC5jOjgxCiBtc2dpZCAicmVzdW1lIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAi57un57ut5Y+N6L2s5oiW5ouj6YCJ5pON5L2cIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNworIzogYnVpbHRpbi9yZXZlcnQuYzo4MgogbXNnaWQgImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgIuWPlua2iOWPjei9rOaIluaLo+mAieaTjeS9nCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODMKIG1zZ2lkICJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIKIG1zZ3N0ciAi5LiN6KaB6Ieq5Yqo5o+Q5LqkIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwOQorIzogYnVpbHRpbi9yZXZlcnQuYzo4NAogbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLnvJbovpHmj5DkuqTor7TmmI4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCisjOiBidWlsdGluL3JldmVydC5jOjg3CiBtc2dpZCAicGFyZW50IG51bWJlciIKIG1zZ3N0ciAi54i257yW5Y+3IgogCi0jOiBidWlsdGluL3JldmVydC5jOjExNAorIzogYnVpbHRpbi9yZXZlcnQuYzo4OQogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICLlkIjlubbnrZbnlaUiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE1CisjOiBidWlsdGluL3JldmVydC5jOjkwCiBtc2dpZCAib3B0aW9uIgogbXNnc3RyICLpgInpobkiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE2CisjOiBidWlsdGluL3JldmVydC5jOjkxCiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAi5ZCI5bm2562W55Wl55qE6YCJ6aG5IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyNworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJhcHBlbmQgY29tbWl0IG5hbWUiCiBtc2dzdHIgIui/veWKoOaPkOS6pOWQjeensCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIgogbXNnc3RyICLlhYHorrjlv6vov5vlvI8iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI5CisjOiBidWlsdGluL3JldmVydC5jOjEwNAogbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgogbXNnc3RyICLkv53nlZnliJ3lp4vljJbnmoTnqbrmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTMwCisjOiBidWlsdGluL3JldmVydC5jOjEwNQogbXNnaWQgImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKIG1zZ3N0ciAi5YWB6K645o+Q5Lqk6K+05piO5Li656m6IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEzMQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDYKIG1zZ2lkICJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAi5L+d5oyB5aSa5L2Z55qE44CB56m655qE5o+Q5LqkIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEzNQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTAKIG1zZ2lkICJwcm9ncmFtIGVycm9yIgogbXNnc3RyICLnqIvluo/plJnor68iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjI1CisjOiBidWlsdGluL3JldmVydC5jOjE5NQogbXNnaWQgInJldmVydCBmYWlsZWQiCiBtc2dzdHIgIui/mOWOn+Wksei0pSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyNDAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjEwCiBtc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgogbXNnc3RyICLmi6PpgInlpLHotKUiCiAKLSM6IGJ1aWx0aW4vcm0uYzoxNgorIzogYnVpbHRpbi9ybS5jOjE3CiBtc2dpZCAiZ2l0IHJtIFtvcHRpb25zXSBbLS1dIDxmaWxlPi4uLiIKIG1zZ3N0ciAiZ2l0IHJtIFvpgInpobldIFstLV0gPOaWh+S7tj4uLi4iCiAKLSM6IGJ1aWx0aW4vcm0uYzo2NAorIzogYnVpbHRpbi9ybS5jOjY1CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIChvciBvbmUgb2YgaXRzIG5lc3RlZCBzdWJtb2R1bGVzKVxuIgogInVzZXMgYSAuZ2l0IGRpcmVjdG9yeToiCkBAIC04NTk4LDcgKzg4NjcsNyBAQAogbXNnc3RyWzBdICLlpoLkuIvlrZDmqKHnu4TvvIjmiJbkuIDkuKrlhbbltYzlpZflrZDmqKHnu4TvvInkvb/nlKjkuobkuIDkuKogLmdpdCDnm67lvZXvvJoiCiBtc2dzdHJbMV0gIuWmguS4i+WtkOaooee7hO+8iOaIluS4gOS4quWFtuW1jOWll+WtkOaooee7hO+8ieS9v+eUqOS6huS4gOS4qiAuZ2l0IOebruW9le+8miIKIAotIzogYnVpbHRpbi9ybS5jOjcwCisjOiBidWlsdGluL3JtLmM6NzEKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAncm0gLXJmJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gcmVtb3ZlIGl0IGluY2x1ZGluZyBhbGwgb2YgaXRzIGhpc3RvcnkpIgpAQCAtODYwNiw3ICs4ODc1LDcgQEAKICJcbiIKICLvvIjkvb/nlKggJ3JtIC1yZicg5ZG95Luk5aaC5p6c5oKo55yf55qE5oOz5Yig6Zmk5a6D5Y+K5YW25YWo6YOo5Y6G5Y+y77yJIgogCi0jOiBidWlsdGluL3JtLmM6MjMwCisjOiBidWlsdGluL3JtLmM6MjMxCiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKICJmaWxlIGFuZCB0aGUgSEVBRDoiCkBAIC04NjE2LDcgKzg4ODUsNyBAQAogbXNnc3RyWzBdICLlpoLkuIvmlofku7blhbbmmoLlrZjnmoTlhoXlrrnlkozlt6XkvZzljLrlj4ogSEVBRCDkuK3nmoTpg73kuI3kuIDmoLfvvJoiCiBtc2dzdHJbMV0gIuWmguS4i+aWh+S7tuWFtuaaguWtmOeahOWGheWuueWSjOW3peS9nOWMuuWPiiBIRUFEIOS4reeahOmDveS4jeS4gOagt++8miIKIAotIzogYnVpbHRpbi9ybS5jOjIzNQorIzogYnVpbHRpbi9ybS5jOjIzNgogbXNnaWQgIiIKICJcbiIKICIodXNlIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtODYyNCwxMyArODg5MywxMyBAQAogIlxuIgogIu+8iOS9v+eUqCAtZiDlvLrliLbliKDpmaTvvIkiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMzkKKyM6IGJ1aWx0aW4vcm0uYzoyNDAKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnc3RyWzBdICLlpoLkuIvmlofku7bnm7jlr7nntKLlvJXljLrnmoTlhoXlrrnmnInkv67mlLkiCiBtc2dzdHJbMV0gIuWmguS4i+aWh+S7tuebuOWvuee0ouW8leWMuueahOWGheWuueacieS/ruaUuSIKIAotIzogYnVpbHRpbi9ybS5jOjI0MyBidWlsdGluL3JtLmM6MjU0CisjOiBidWlsdGluL3JtLmM6MjQ0IGJ1aWx0aW4vcm0uYzoyNTUKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtLWNhY2hlZCB0byBrZWVwIHRoZSBmaWxlLCBvciAtZiB0byBmb3JjZSByZW1vdmFsKSIKQEAgLTg2MzgsMzggKzg5MDcsMzggQEAKICJcbiIKICLvvIjkvb/nlKggLS1jYWNoZWQg5L+d55WZ5pys5Zyw5paH5Lu277yM5oiW55SoIC1mIOW8uuWItuWIoOmZpO+8iSIKIAotIzogYnVpbHRpbi9ybS5jOjI1MQorIzogYnVpbHRpbi9ybS5jOjI1MgogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAi5aaC5LiL5paH5Lu25pyJ5pys5Zyw5L+u5pS577yaIgogbXNnc3RyWzFdICLlpoLkuIvmlofku7bmnInmnKzlnLDkv67mlLnvvJoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNjkKKyM6IGJ1aWx0aW4vcm0uYzoyNzAKIG1zZ2lkICJkbyBub3QgbGlzdCByZW1vdmVkIGZpbGVzIgogbXNnc3RyICLkuI3liJflh7rliKDpmaTnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNzAKKyM6IGJ1aWx0aW4vcm0uYzoyNzEKIG1zZ2lkICJvbmx5IHJlbW92ZSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAi5Y+q5LuO57Si5byV5Yy65Yig6ZmkIgogCi0jOiBidWlsdGluL3JtLmM6MjcxCisjOiBidWlsdGluL3JtLmM6MjcyCiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgIuW/veeVpeaWh+S7tuabtOaWsOeKtuaAgeajgOafpSIKIAotIzogYnVpbHRpbi9ybS5jOjI3MgorIzogYnVpbHRpbi9ybS5jOjI3MwogbXNnaWQgImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIgogbXNnc3RyICLlhYHorrjpgJLlvZLliKDpmaQiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNzQKKyM6IGJ1aWx0aW4vcm0uYzoyNzUKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAi5Y2z5L2/5rKh5pyJ5Yy56YWN77yM5Lmf5Lul6Zu254q25oCB6YCA5Ye6IgogCi0jOiBidWlsdGluL3JtLmM6MzQ1CisjOiBidWlsdGluL3JtLmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCByZW1vdmluZyAnJXMnIHJlY3Vyc2l2ZWx5IHdpdGhvdXQgLXIiCiBtc2dzdHIgIuacquaPkOS+myAtciDpgInpobnkuI3kvJrpgJLlvZLliKDpmaQgJyVzJyIKIAotIzogYnVpbHRpbi9ybS5jOjM4NAorIzogYnVpbHRpbi9ybS5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgcm06IHVuYWJsZSB0byByZW1vdmUgJXMiCiBtc2dzdHIgImdpdCBybe+8muS4jeiDveWIoOmZpCAlcyIKQEAgLTg2ODMsMjMgKzg5NTIsMjMgQEAKIG1zZ2lkICJNaXNzaW5nIGF1dGhvcjogJXMiCiBtc2dzdHIgIue8uuWwkeS9nOiAhe+8miVzIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjI4CisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjMwCiBtc2dpZCAic29ydCBvdXRwdXQgYWNjb3JkaW5nIHRvIHRoZSBudW1iZXIgb2YgY29tbWl0cyBwZXIgYXV0aG9yIgogbXNnc3RyICLmoLnmja7mr4/kuKrkvZzogIXnmoTmj5DkuqTmlbDph4/mjpLluo8iCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzAKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyMzIKIG1zZ2lkICJTdXBwcmVzcyBjb21taXQgZGVzY3JpcHRpb25zLCBvbmx5IHByb3ZpZGVzIGNvbW1pdCBjb3VudCIKIG1zZ3N0ciAi6ZqQ6JeP5o+Q5Lqk6K+05piO77yM5Y+q5o+Q5L6b5o+Q5Lqk5pWw6YePIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjMyCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjM0CiBtc2dpZCAiU2hvdyB0aGUgZW1haWwgYWRkcmVzcyBvZiBlYWNoIGF1dGhvciIKIG1zZ3N0ciAi5pi+56S65q+P5Liq5L2c6ICF55qE55S15a2Q6YKu5Lu25Zyw5Z2AIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjMzCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjM1CiBtc2dpZCAid1ssaTFbLGkyXV0iCiBtc2dzdHIgIndbLGkxWyxpMl1dIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjM0CisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjM2CiBtc2dpZCAiTGluZXdyYXAgb3V0cHV0IgogbXNnc3RyICLmipjooYzovpPlh7oiCiAKQEAgLTg4MDcsMjMgKzkwNzYsMjMgQEAKIG1zZ2lkICJzdHJpY3RlciByZWZlcmVuY2UgY2hlY2tpbmcsIHJlcXVpcmVzIGV4YWN0IHJlZiBwYXRoIgogbXNnc3RyICLmm7TkuKXmoLznmoTlvJXnlKjmo4DmtYvvvIzpnIDopoHnsr7noa7nmoTlvJXnlKjot6/lvoQiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzMgYnVpbHRpbi9zaG93LXJlZi5jOjE3NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MyBidWlsdGluL3Nob3ctcmVmLmM6MTc1CiBtc2dpZCAic2hvdyB0aGUgSEVBRCByZWZlcmVuY2UsIGV2ZW4gaWYgaXQgd291bGQgYmUgZmlsdGVyZWQgb3V0IgogbXNnc3RyICLmmL7npLogSEVBRCDlvJXnlKjvvIzljbPkvb/ooqvov4fmu6TmjokiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzgKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzcKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGludG8gb2JqZWN0IElEcyIKIG1zZ3N0ciAi6L2s5o2iIHRhZ3Mg5Yiw5a+56LGhSUQiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODAKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKIG1zZ2lkICJvbmx5IHNob3cgU0hBMSBoYXNoIHVzaW5nIDxuPiBkaWdpdHMiCiBtc2dzdHIgIuWPquaYvuekuuS9v+eUqCA8bj4g5Liq5pWw5a2X55qEIFNIQTEg5ZOI5biMIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTg0CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTgzCiBtc2dpZCAiZG8gbm90IHByaW50IHJlc3VsdHMgdG8gc3Rkb3V0ICh1c2VmdWwgd2l0aCAtLXZlcmlmeSkiCiBtc2dzdHIgIuS4jeaJk+WNsOe7k+aenOWIsOagh+WHhui+k+WHuu+8iOS+i+WmguS4jiAtLXZlcmlmeSDlj4LmlbDlhbHnlKjvvIkiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODYKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxODUKIG1zZ2lkICJzaG93IHJlZnMgZnJvbSBzdGRpbiB0aGF0IGFyZW4ndCBpbiBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICLmmL7npLrku47moIflh4bovpPlhaXkuK3or7vlhaXnmoTkuI3lnKjmnKzlnLDniYjmnKzlupPkuK3nmoTlvJXnlKgiCiAKQEAgLTg4NDcsMTEgKzkxMTYsMTEgQEAKIG1zZ2lkICJzaG9ydGVuIHJlZiBvdXRwdXQiCiBtc2dzdHIgIueugOefreeahOW8leeUqOi+k+WHuiIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoxOAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTQKIG1zZ2lkICJyZWFzb24iCiBtc2dzdHIgIuWOn+WboCIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoxOAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTQKIG1zZ2lkICJyZWFzb24gb2YgdGhlIHVwZGF0ZSIKIG1zZ3N0ciAi5pu05paw55qE5Y6f5ZugIgogCkBAIC05MDE0LDE4MyArOTI4MywxOTUgQEAKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAi5Y+q5omT5Y2wdGFnc+WvueixoSIKIAotIzogYnVpbHRpbi90YWcuYzo1MDQKKyM6IGJ1aWx0aW4vdGFnLmM6NTAxCiBtc2dpZCAiLS1jb2x1bW4gYW5kIC1uIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tY29sdW1uIOWSjCAtbiDkuI3lhbzlrrkiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTIxCisjOiBidWlsdGluL3RhZy5jOjUxOAogbXNnaWQgIi1uIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCiBtc2dzdHIgIi1uIOmAiemhueWPquWFgeiuuOWSjCAtbCDlkIzml7bkvb/nlKjjgIIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTIzCisjOiBidWlsdGluL3RhZy5jOjUyMAogbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKIG1zZ3N0ciAiLS1jb250YWlucyDpgInpobnlj6rlhYHorrjlkowgLWwg5ZCM5pe25L2/55So44CCIgogCi0jOiBidWlsdGluL3RhZy5jOjUyNQorIzogYnVpbHRpbi90YWcuYzo1MjIKIG1zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgogbXNnc3RyICItLXBvaW50cy1hdCDpgInpobnlj6rlhYHorrjlkowgLWwg5ZCM5pe25L2/55So44CCIgogCi0jOiBidWlsdGluL3RhZy5jOjUzMworIzogYnVpbHRpbi90YWcuYzo1MzAKIG1zZ2lkICJvbmx5IG9uZSAtRiBvciAtbSBvcHRpb24gaXMgYWxsb3dlZC4iCiBtc2dzdHIgIuWPquWFgeiuuOS4gOS4qiAtRiDmiJYgLW0g6YCJ6aG544CCIgogCi0jOiBidWlsdGluL3RhZy5jOjU1MworIzogYnVpbHRpbi90YWcuYzo1NTAKIG1zZ2lkICJ0b28gbWFueSBwYXJhbXMiCiBtc2dzdHIgIuWkquWkmuWPguaVsCIKIAotIzogYnVpbHRpbi90YWcuYzo1NTkKKyM6IGJ1aWx0aW4vdGFnLmM6NTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGFnIG5hbWUuIgogbXNnc3RyICInJXMnIOS4jeaYr+S4gOS4quacieaViOeahHRhZ+WQjeensOOAgiIKIAotIzogYnVpbHRpbi90YWcuYzo1NjQKKyM6IGJ1aWx0aW4vdGFnLmM6NTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJ0YWcgJyVzJyDlt7LlrZjlnKgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTgyCisjOiBidWlsdGluL3RhZy5jOjU3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGxvY2sgdGhlIHJlZiIKIG1zZ3N0ciAiJXPvvJrkuI3og73plIHlrprlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTg0CisjOiBidWlsdGluL3RhZy5jOjU4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHVwZGF0ZSB0aGUgcmVmIgogbXNnc3RyICIlc++8muS4jeiDveabtOaWsOW8leeUqCIKIAotIzogYnVpbHRpbi90YWcuYzo1ODYKKyM6IGJ1aWx0aW4vdGFnLmM6NTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAi5bey5pu05pawdGFnICclcyfvvIjmm77kuLogJXPvvIlcbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo0MDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NDAyCiBtc2dpZCAiZ2l0IHVwZGF0ZS1pbmRleCBbb3B0aW9uc10gWy0tXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1pbmRleCBb6YCJ6aG5XSBbLS1dIFs85paH5Lu2Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzE4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyMAogbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKIG1zZ3N0ciAi5b2T57Si5byV6ZyA6KaB5pu05paw5pe257un57ut5Yi35pawIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjMKIG1zZ2lkICJyZWZyZXNoOiBpZ25vcmUgc3VibW9kdWxlcyIKIG1zZ3N0ciAi5Yi35paw77ya5b+955Wl5a2Q5qih57uEIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjYKIG1zZ2lkICJkbyBub3QgaWdub3JlIG5ldyBmaWxlcyIKIG1zZ3N0ciAi5LiN5b+955Wl5paw55qE5paH5Lu2IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MjgKIG1zZ2lkICJsZXQgZmlsZXMgcmVwbGFjZSBkaXJlY3RvcmllcyBhbmQgdmljZS12ZXJzYSIKIG1zZ3N0ciAi6K6p5paH5Lu25pu/5o2i55uu5b2V77yI5Y+N5LmL5Lqm54S277yJIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjcyOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzAKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICLpgJrnn6Xmlofku7bku47lt6XkvZzljLrkuKLlpLEiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczMgogbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICLljbPkvb/ntKLlvJXljLrljIXlkKvmnKrlkIjlubbnmoTmnaHnm67kuZ/miafooYzliLfmlrAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczNQogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi5Yi35paw57uf6K6h5L+h5oGvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjczNworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3MzkKIG1zZ2lkICJsaWtlIC0tcmVmcmVzaCwgYnV0IGlnbm9yZSBhc3N1bWUtdW5jaGFuZ2VkIHNldHRpbmciCiBtc2dzdHIgIuexu+S8vOS6jiAtLXJlZnJlc2jvvIzkvYbmmK/lv73nlaUgYXNzdW1lLXVuY2hhbmdlZCDorr7nva4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0MwogbXNnaWQgIjxtb2RlPiA8b2JqZWN0PiA8cGF0aD4iCiBtc2dzdHIgIjxtb2RlPiA8b2JqZWN0PiA8cGF0aD4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0NAogbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAi5re75Yqg5oyH5a6a55qE5p2h55uu5Yiw57Si5byV5Yy6IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc0NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDgKIG1zZ2lkICIoKy8tKXgiCiBtc2dzdHIgIigrLy0peCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NDcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzQ5CiBtc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCiBtc2dzdHIgIuimhuebluWIl+ihqOmHjOaWh+S7tueahOWPr+aJp+ihjOS9jSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzUzCiBtc2dpZCAibWFyayBmaWxlcyBhcyBcIm5vdCBjaGFuZ2luZ1wiIgogbXNnc3RyICLmiormlofku7bmoIforrDkuLogXCLmsqHmnInlj5jmm7RcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzU2CiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICLmuIXpmaQgYXNzdW1lZC11bmNoYW5nZWQg5L2NIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc1NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NTkKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwiaW5kZXgtb25seVwiIgogbXNnc3RyICLmiormlofku7bmoIforrDkuLogXCLku4XntKLlvJVcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzYyCiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgIua4hemZpCBza2lwLXdvcmt0cmVlIOS9jSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY1CiBtc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgIuWPqua3u+WKoOWIsOe0ouW8leWMuu+8m+S4jea3u+WKoOWvueixoeWIsOWvueixoeW6kyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzY3CiBtc2dpZCAicmVtb3ZlIG5hbWVkIHBhdGhzIGV2ZW4gaWYgcHJlc2VudCBpbiB3b3JrdHJlZSIKIG1zZ3N0ciAi5Y2z5L2/5a2Y5Zyo5bel5L2c5Yy66YeM77yM5Lmf5Yig6Zmk6Lev5b6EIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NjkKIG1zZ2lkICJ3aXRoIC0tc3RkaW46IGlucHV0IGxpbmVzIGFyZSB0ZXJtaW5hdGVkIGJ5IG51bGwgYnl0ZXMiCiBtc2dzdHIgIuaQuuW4piAtLXN0ZGlu77ya6L6T5YWl55qE6KGM5LulIG51bGwg5a2X56ym57uI5q2iIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc2OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3NzEKIG1zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgdG8gYmUgdXBkYXRlZCBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLku47moIflh4bovpPlhaXkuK3or7vlj5bpnIDopoHmm7TmlrDnmoTot6/lvoTliJfooagiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzczCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3NQogbXNnaWQgImFkZCBlbnRyaWVzIGZyb20gc3RhbmRhcmQgaW5wdXQgdG8gdGhlIGluZGV4IgogbXNnc3RyICLku47moIflh4bovpPlhaXmt7vliqDmnaHnm67liLDntKLlvJXljLoiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzc3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc3OQogbXNnaWQgInJlcG9wdWxhdGUgc3RhZ2VzICMyIGFuZCAjMyBmb3IgdGhlIGxpc3RlZCBwYXRocyIKIG1zZ3N0ciAi5Li65oyH5a6a5paH5Lu26YeN5paw55Sf5oiQ56ysMuWSjOesrDPmmoLlrZjljLoiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzgxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4MwogbXNnaWQgIm9ubHkgdXBkYXRlIGVudHJpZXMgdGhhdCBkaWZmZXIgZnJvbSBIRUFEIgogbXNnc3RyICLlj6rmm7TmlrDkuI4gSEVBRCDkuI3lkIznmoTmnaHnm64iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzg1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc4NwogbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgIuW/veeVpeW3peS9nOWMuuS4ouWkseeahOaWh+S7tiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3ODgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkwCiBtc2dpZCAicmVwb3J0IGFjdGlvbnMgdG8gc3RhbmRhcmQgb3V0cHV0IgogbXNnc3RyICLlnKjmoIflh4bovpPlh7rmmL7npLrmk43kvZwiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5MgogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICIoZm9yIHBvcmNlbGFpbnMpIOW/mOiusOS/neWtmOeahOacquino+WGs+eahOWGsueqgSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6Nzk2CiBtc2dpZCAid3JpdGUgaW5kZXggaW4gdGhpcyBmb3JtYXQiCiBtc2dzdHIgIuS7pei/meenjeagvOW8j+WGmeWFpee0ouW8leWMuiIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6NworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6OQogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFtvcHRpb25zXSAtZCA8cmVmbmFtZT4gWzxvbGR2YWw+XSIKLW1zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdIC1kIDzlvJXnlKjlkI0+IFs85pen5YC8Pl0iCittc2dzdHIgImdpdCB1cGRhdGUtcmVmIFvpgInpobldIC1kIDzlvJXnlKjlkI0+IFs85pen5YC8Pl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjgKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEwCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdICAgIDxyZWZuYW1lPiA8bmV3dmFsPiBbPG9sZHZhbD5dIgotbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbb3B0aW9uc10gICAgPOW8leeUqOWQjT4gPOaWsOWAvD4gWzzml6flgLw+XSIKK21zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgW+mAiemhuV0gICAgPOW8leeUqOWQjT4gPOaWsOWAvD4gWzzml6flgLw+XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTkKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjExCittc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgW29wdGlvbnNdIC0tc3RkaW4gWy16XSIKK21zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgW+mAiemhuV0gLS1zdGRpbiBbLXpdIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTUKIG1zZ2lkICJkZWxldGUgdGhlIHJlZmVyZW5jZSIKIG1zZ3N0ciAi5Yig6Zmk5byV55SoIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyMQorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MjU3CiBtc2dpZCAidXBkYXRlIDxyZWZuYW1lPiBub3QgdGhlIG9uZSBpdCBwb2ludHMgdG8iCiBtc2dzdHIgIuabtOaWsCA85byV55So5ZCNPiDmnKzouqvogIzkuI3mmK/lroPmjIflkJHnmoTlvJXnlKgiCiAKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjI1OAorbXNnaWQgInN0ZGluIGhhcyBOVUwtdGVybWluYXRlZCBhcmd1bWVudHMiCittc2dzdHIgIuagh+WHhui+k+WFpeacieS7pSBOVUwg5a2X56ym57uI5q2i55qE5Y+C5pWwIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoyNTkKK21zZ2lkICJyZWFkIHVwZGF0ZXMgZnJvbSBzdGRpbiIKK21zZ3N0ciAi5LuO5qCH5YeG6L6T5YWl6K+75Y+W5pu05pawIgorCiAjOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjYKIG1zZ2lkICJnaXQgdXBkYXRlLXNlcnZlci1pbmZvIFstLWZvcmNlXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyBbLS1mb3JjZV0iCkBAIC05MjQ0LDIzICs5NTI1LDIzIEBACiAi5ZG95LukICdnaXQgaGVscCAtYScg5ZKMICdnaXQgaGVscCAtZycg5pi+56S65Y+v55So55qE5a2Q5ZG95Luk5ZKM5LiA5Lqb5oyH5Y2X44CC5Y+C6KeBXG4iCiAiJ2dpdCBoZWxwIDzlkb3ku6Q+JyDmiJYgJ2dpdCBoZWxwIDzmjIfljZc+JyDmnaXmn6XnnIvnu5nlrprnmoTlrZDlkb3ku6TluK7liqnmiJbmjIfljZfjgIIiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNDQKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNDYKIG1zZ2lkICJleHBpcnkgZGF0ZSIKIG1zZ3N0ciAi6YC+5pyf5pel5pyfIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MTU5CisjOiBwYXJzZS1vcHRpb25zLmg6MTYxCiBtc2dpZCAibm8tb3AgKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpIgogbXNnc3RyICLnqbrmk43kvZzvvIjlkJHlkI7lhbzlrrnvvIkiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyMzYKKyM6IHBhcnNlLW9wdGlvbnMuaDoyMzgKIG1zZ2lkICJiZSBtb3JlIHZlcmJvc2UiCiBtc2dzdHIgIuabtOWKoOivpue7hiIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzOAorIzogcGFyc2Utb3B0aW9ucy5oOjI0MAogbXNnaWQgImJlIG1vcmUgcXVpZXQiCiBtc2dzdHIgIuabtOWKoOWuiemdmSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI0NAorIzogcGFyc2Utb3B0aW9ucy5oOjI0NgogbXNnaWQgInVzZSA8bj4gZGlnaXRzIHRvIGRpc3BsYXkgU0hBLTFzIgogbXNnc3RyICLnlKggPG4+IOS9jeaVsOWtl+aYvuekuiBTSEEtMSDlk4jluIzlgLwiCiAKQEAgLTk2OTAsNyArOTk3MSw3IEBACiBtc2dpZCAiUHVsbCBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIlB1bGwg5LiN5Y+v55So77yM5Zug5Li65oKo5bCa5pyJ5pyq5ZCI5bm255qE5paH5Lu244CCIgogCi0jOiBnaXQtcHVsbC5zaDoyMDMKKyM6IGdpdC1wdWxsLnNoOjIyMwogbXNnaWQgInVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAi5pu05paw5bCa5pyq6K+e55Sf55qE5YiG5pSv77yM5Y+Y5pu05re75Yqg6Iez57Si5byVIgogCkBAIC05Njk4LDcgKzk5NzksNyBAQAogIy4gVGhlIHdvcmtpbmcgdHJlZSBhbmQgdGhlIGluZGV4IGZpbGUgaXMgc3RpbGwgYmFzZWQgb24gdGhlCiAjLiAkb3JpZ19oZWFkIGNvbW1pdCwgYnV0IHdlIGFyZSBtZXJnaW5nIGludG8gJGN1cnJfaGVhZC4KICMuIEZpcnN0IHVwZGF0ZSB0aGUgd29ya2luZyB0cmVlIHRvIG1hdGNoICRjdXJyX2hlYWQuCi0jOiBnaXQtcHVsbC5zaDoyMzUKKyM6IGdpdC1wdWxsLnNoOjI1NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IGZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC05NzA4LDExICs5OTg5LDExIEBACiAi6K2m5ZGK77yaZmV0Y2gg5pu05paw5LqG5b2T5YmN55qE5YiG5pSv44CC5oKo55qE5bel5L2c5Yy6XG4iCiAi6K2m5ZGK77ya5LuO5Y6f5o+Q5LqkICRvcmlnX2hlYWQg5b+r6L+b44CCIgogCi0jOiBnaXQtcHVsbC5zaDoyNjAKKyM6IGdpdC1wdWxsLnNoOjI4MAogbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIuaXoOazleWwhuWkmuS4quWIhuaUr+WQiOW5tuWIsOepuuWIhuaUryIKIAotIzogZ2l0LXB1bGwuc2g6MjY0CisjOiBnaXQtcHVsbC5zaDoyODQKIG1zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMiCiBtc2dzdHIgIuaXoOazleWPmOWfuuWIsOWkmuS4quWIhuaUryIKIApAQCAtOTc0NiwzMSArMTAwMjcsMzEgQEAKICLmgqjnmoTkv67mlLnlronlhajlnLDkv53lrZjlnKggc3Rhc2gg5Lit44CCXG4iCiAi5oKo5Y+v5Lul5Zyo5Lu75L2V5pe25YCZ6L+Q6KGMIFwiZ2l0IHN0YXNoIHBvcFwiIOaIliBcImdpdCBzdGFzaCBkcm9wXCLjgIJcbiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxOTAKKyM6IGdpdC1yZWJhc2Uuc2g6MTk5CiBtc2dpZCAiVGhlIHByZS1yZWJhc2UgaG9vayByZWZ1c2VkIHRvIHJlYmFzZS4iCiBtc2dzdHIgIumSqeWtkCBwcmUtcmViYXNlIOaLkue7neWPmOWfuuOAgiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxOTUKKyM6IGdpdC1yZWJhc2Uuc2g6MjA0CiBtc2dpZCAiSXQgbG9va3MgbGlrZSBnaXQtYW0gaXMgaW4gcHJvZ3Jlc3MuIENhbm5vdCByZWJhc2UuIgogbXNnc3RyICLkvLzkuY7mraPlpITkuo7lnKggZ2l0LWFtIOeahOaJp+ihjOi/h+eoi+S4reOAguaXoOazleWPmOWfuuOAgiIKIAotIzogZ2l0LXJlYmFzZS5zaDozMjkKKyM6IGdpdC1yZWJhc2Uuc2g6MzM4CiBtc2dpZCAiVGhlIC0tZXhlYyBvcHRpb24gbXVzdCBiZSB1c2VkIHdpdGggdGhlIC0taW50ZXJhY3RpdmUgb3B0aW9uIgogbXNnc3RyICLpgInpobkgLS1leGVjIOW/hemhu+WSjOmAiemhuSAtLWludGVyYWN0aXZlIOWQjOaXtuS9v+eUqCIKIAotIzogZ2l0LXJlYmFzZS5zaDozMzQKKyM6IGdpdC1yZWJhc2Uuc2g6MzQzCiBtc2dpZCAiTm8gcmViYXNlIGluIHByb2dyZXNzPyIKIG1zZ3N0ciAi5rKh5pyJ5q2j5Zyo6L+b6KGM55qE5Y+Y5Z+677yfIgogCi0jOiBnaXQtcmViYXNlLnNoOjM0NQorIzogZ2l0LXJlYmFzZS5zaDozNTQKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIuWKqOS9nCAtLWVkaXQtdG9kbyDlj6rog73nlKjlnKjkuqTkupLlvI/lj5jln7rov4fnqIvkuK3jgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzUyCisjOiBnaXQtcmViYXNlLnNoOjM2MQogbXNnaWQgIkNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIuS4jeiDveivu+WPliBIRUFEIgogCi0jOiBnaXQtcmViYXNlLnNoOjM1NQorIzogZ2l0LXJlYmFzZS5zaDozNjQKIG1zZ2lkICIiCiAiWW91IG11c3QgZWRpdCBhbGwgbWVyZ2UgY29uZmxpY3RzIGFuZCB0aGVuXG4iCiAibWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiCkBAIC05Nzc4LDEyICsxMDA1OSwxMiBAQAogIuaCqOW/hemhu+e8lui+keaJgOacieeahOWQiOW5tuWGsueqge+8jOeEtuWQjumAmui/hyBnaXQgYWRkXG4iCiAi5ZG95Luk5bCG5a6D5Lus5qCH6K6w5Li65bey6Kej5YazIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3MworIzogZ2l0LXJlYmFzZS5zaDozODIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKIG1zZ3N0ciAi5peg5rOV56e75ZueICRoZWFkX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzkyCisjOiBnaXQtcmViYXNlLnNoOjQwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICRzdGF0ZV9kaXJfYmFzZSBkaXJlY3RvcnksIGFuZFxuIgpAQCAtOTgwMiw2NSArMTAwODMsNjUgQEAKICJcdCRjbWRfY2xlYXJfc3RhbGVfcmViYXNlXG4iCiAi54S25ZCO5YaN6YeN5paw5omn6KGM5Y+Y5Z+644CC5Li66YG/5YWN5oKo5Lii5aSx6YeN6KaB5pWw5o2u77yM5oiR5bey57uP5YGc5q2i5b2T5YmN5pON5L2c44CCIgogCi0jOiBnaXQtcmViYXNlLnNoOjQzNworIzogZ2l0LXJlYmFzZS5zaDo0NDYKICMsIHNoLWZvcm1hdAogbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJHVwc3RyZWFtX25hbWUiCiBtc2dzdHIgIuaXoOaViOeahOS4iua4uCAkdXBzdHJlYW1fbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NjEKKyM6IGdpdC1yZWJhc2Uuc2g6NDcwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiJG9udG9fbmFtZTog5pyJ5LiA5Liq5Lul5LiK55qE5ZCI5bm25Z+65YeGIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ2NCBnaXQtcmViYXNlLnNoOjQ2OAorIzogZ2l0LXJlYmFzZS5zaDo0NzMgZ2l0LXJlYmFzZS5zaDo0NzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGlzIG5vIG1lcmdlIGJhc2UiCiBtc2dzdHIgIiRvbnRvX25hbWU6IOayoeacieWQiOW5tuWfuuWHhiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NzMKKyM6IGdpdC1yZWJhc2Uuc2g6NDgyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKIG1zZ3N0ciAi5rKh5pyJ5oyH5ZCR5LiA5Liq5pyJ5pWI55qE5o+Q5Lqk77yaJG9udG9fbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTYKKyM6IGdpdC1yZWJhc2Uuc2g6NTA1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2g6ICRicmFuY2hfbmFtZSIKIG1zZ3N0ciAi5Lil6YeN6ZSZ6K+v77ya5peg5q2k5YiG5pSv77yaJGJyYW5jaF9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjUxOQorIzogZ2l0LXJlYmFzZS5zaDo1MjgKIG1zZ2lkICJDYW5ub3QgYXV0b3N0YXNoIgogbXNnc3RyICLml6Dms5UgYXV0b3N0YXNoIgogCi0jOiBnaXQtcmViYXNlLnNoOjUyNAorIzogZ2l0LXJlYmFzZS5zaDo1MzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgogbXNnc3RyICLliJvlu7rkuoYgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgogCi0jOiBnaXQtcmViYXNlLnNoOjUyOAorIzogZ2l0LXJlYmFzZS5zaDo1MzcKIG1zZ2lkICJQbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgogbXNnc3RyICLor7fmj5DkuqTmiJbkuLrlroPku6zkv53lrZjov5vluqbjgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTQ4CisjOiBnaXQtcmViYXNlLnNoOjU1NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUuIgogbXNnc3RyICLlvZPliY3liIbmlK8gJGJyYW5jaF9uYW1lIOaYr+acgOaWsOeahOOAgiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NTIKKyM6IGdpdC1yZWJhc2Uuc2g6NTYxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCiBtc2dzdHIgIuW9k+WJjeWIhuaUryAkYnJhbmNoX25hbWUg5piv5pyA5paw55qE77yM5by65Yi25Y+Y5Z+644CCIgogCi0jOiBnaXQtcmViYXNlLnNoOjU2MworIzogZ2l0LXJlYmFzZS5zaDo1NzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgogbXNnc3RyICLlj5jmm7Tku44gJG1iIOWIsCAkb250b++8miIKIAogIy4gRGV0YWNoIEhFQUQgYW5kIHJlc2V0IHRoZSB0cmVlCi0jOiBnaXQtcmViYXNlLnNoOjU3MgorIzogZ2l0LXJlYmFzZS5zaDo1ODEKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCiBtc2dzdHIgIummluWFiO+8jOmHjee9ruWktOaMh+mSiOS7peS+v+WcqOS4iumdoumHjeaUvuaCqOeahOW3peS9nC4uLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1ODIKKyM6IGdpdC1yZWJhc2Uuc2g6NTkxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRlZCAkYnJhbmNoX25hbWUgdG8gJG9udG9fbmFtZS4iCiBtc2dzdHIgIuW/q+i/myAkYnJhbmNoX25hbWUg6IezICRvbnRvX25hbWXjgIIiCkBAIC05OTA4LDcgKzEwMTg5LDcgQEAKICMuICQgZ2l0IHN0YXNoIHNhdmUgLS1ibGFoLWJsYWggMj4mMSB8IGhlYWQgLW4gMgogIy4gZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6IC0tYmxhaC1ibGFoCiAjLiBUbyBwcm92aWRlIGEgbWVzc2FnZSwgdXNlIGdpdCBzdGFzaCBzYXZlIC0tICctLWJsYWgtYmxhaCcKLSM6IGdpdC1zdGFzaC5zaDoyNDEKKyM6IGdpdC1zdGFzaC5zaDoyMzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogJG9wdGlvblxuIgpAQCAtOTkxNyw5NiArMTAxOTgsODUgQEAKICLplJnor6/vvJonc3Rhc2ggc2F2ZScg55qE5pyq55+l6YCJ6aG577yaJG9wdGlvblxuIgogIiAgICAgIOimgeaPkOS+m+S4gOS4quaPj+i/sOS/oeaBr++8jOS9v+eUqCBnaXQgc3Rhc2ggc2F2ZSAtLSAnJG9wdGlvbiciCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjIKKyM6IGdpdC1zdGFzaC5zaDoyNTgKIG1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCiBtc2dzdHIgIuayoeacieimgeS/neWtmOeahOacrOWcsOS/ruaUuSIKIAotIzogZ2l0LXN0YXNoLnNoOjI2OAotbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCBmaWxlcyB3b3VsZCBOT1QgYmUgc2F2ZWQgYnV0IG5lZWQgdG8gYmUgcmVtb3ZlZCBieSAiCi0ic3Rhc2ggc2F2ZToiCi1tc2dzdHIgIuWmguS4i+acqui3n+i4quaWh+S7tuWwhuS4jeS8muiiq+S/neWtmOS9huaYr+WwhuS8muWboOS4uui/m+W6puS/neWtmOiAjOmcgOimgeiiq+WIoOmZpO+8miIKLQotIzogZ2l0LXN0YXNoLnNoOjI3MAotbXNnaWQgIiIKLSJBYm9ydGluZy4gQ29uc2lkZXIgdXNpbmcgZWl0aGVyIHRoZSAtLWZvcmNlIG9yIC0taW5jbHVkZS11bnRyYWNrZWQgb3B0aW9uLiIKLW1zZ3N0ciAi57uI5q2i44CC6ICD6JmR5L2/55SoIC0tZm9yY2Ug5oiW6ICFIC0taW5jbHVkZS11bnRyYWNrZWQg6YCJ6aG544CCIgotCi0jOiBnaXQtc3Rhc2guc2g6Mjc0CisjOiBnaXQtc3Rhc2guc2g6MjYyCiBtc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCiBtc2dzdHIgIuaXoOazleWIneWni+WMliBzdGFzaCIKIAotIzogZ2l0LXN0YXNoLnNoOjI3OAorIzogZ2l0LXN0YXNoLnNoOjI2NgogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIKIG1zZ3N0ciAi5peg5rOV5L+d5a2Y5b2T5YmN54q25oCBIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjk2CisjOiBnaXQtc3Rhc2guc2g6Mjg0CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICLml6Dms5XliKDpmaTlt6XkvZzljLrlj5jmm7QiCiAKLSM6IGdpdC1zdGFzaC5zaDozOTUKKyM6IGdpdC1zdGFzaC5zaDozODMKIG1zZ2lkICJObyBzdGFzaCBmb3VuZC4iCiBtc2dzdHIgIuacquWPkeeOsCBzdGFzaOOAgiIKIAotIzogZ2l0LXN0YXNoLnNoOjQwMgorIzogZ2l0LXN0YXNoLnNoOjM5MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDogJFJFViIKIG1zZ3N0ciAi5oyH5a6a5LqG5aSq5aSa55qE54mI5pys77yaJFJFViIKIAotIzogZ2l0LXN0YXNoLnNoOjQwOAorIzogZ2l0LXN0YXNoLnNoOjM5NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlIOS4jeaYr+acieaViOeahOW8leeUqCIKIAotIzogZ2l0LXN0YXNoLnNoOjQzNgorIzogZ2l0LXN0YXNoLnNoOjQyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKIG1zZ3N0ciAiJyRhcmdzJyDkuI3mmK8gc3Rhc2gg5qC35o+Q5LqkIgogCi0jOiBnaXQtc3Rhc2guc2g6NDQ3CisjOiBnaXQtc3Rhc2guc2g6NDM1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKIG1zZ3N0ciAiJyRhcmdzJyDkuI3mmK/kuIDkuKogc3Rhc2gg5byV55SoIgogCi0jOiBnaXQtc3Rhc2guc2g6NDU1CisjOiBnaXQtc3Rhc2guc2g6NDQzCiBtc2dpZCAidW5hYmxlIHRvIHJlZnJlc2ggaW5kZXgiCiBtc2dzdHIgIuaXoOazleWIt+aWsOe0ouW8lSIKIAotIzogZ2l0LXN0YXNoLnNoOjQ1OQorIzogZ2l0LXN0YXNoLnNoOjQ0NwogbXNnaWQgIkNhbm5vdCBhcHBseSBhIHN0YXNoIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSIKIG1zZ3N0ciAi5peg5rOV5Zyo5ZCI5bm26L+H56iL5Lit5oGi5aSN6L+b5bqmIgogCi0jOiBnaXQtc3Rhc2guc2g6NDY3CisjOiBnaXQtc3Rhc2guc2g6NDU1CiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAi57Si5byV5Lit5pyJ5Yay56qB44CC5bCd6K+V5LiN5L2/55SoIC0taW5kZXjjgIIiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NjkKKyM6IGdpdC1zdGFzaC5zaDo0NTcKIG1zZ2lkICJDb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgogbXNnc3RyICLkuI3og73kv53lrZjntKLlvJXmoJEiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MDMKKyM6IGdpdC1zdGFzaC5zaDo0OTEKIG1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKIG1zZ3N0ciAi5peg5rOV6L+Y5Y6f5L+u5pS555qE5paH5Lu2IgogCi0jOiBnaXQtc3Rhc2guc2g6NTE4CisjOiBnaXQtc3Rhc2guc2g6NTA2CiBtc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgogbXNnc3RyICLntKLlvJXnmoTov5vluqbmsqHmnInooqvmgaLlpI3jgIIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MzUKKyM6IGdpdC1zdGFzaC5zaDo1MjMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCiBtc2dzdHIgIuS4ouW8g+S6hiAke1JFVn0gKCRzKSIKIAotIzogZ2l0LXN0YXNoLnNoOjUzNgorIzogZ2l0LXN0YXNoLnNoOjUyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiJHtSRVZ977ya5LiN6IO95Lii5byD6L+b5bqm5p2h55uuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTQzCisjOiBnaXQtc3Rhc2guc2g6NTMxCiBtc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgogbXNnc3RyICLmnKrmjIflrprliIbmlK/lkI0iCiAKLSM6IGdpdC1zdGFzaC5zaDo2MTUKKyM6IGdpdC1zdGFzaC5zaDo2MDMKIG1zZ2lkICIoVG8gcmVzdG9yZSB0aGVtIHR5cGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiBtc2dzdHIgIu+8iOS4uuaBouWkjeaVsOaNrui+k+WFpSBcImdpdCBzdGFzaCBhcHBseVwi77yJIgogCkBAIC0xMDI1Nyw1MSArMTA1MjcsNTggQEAKIG1zZ3N0ciAi6YCJ6aG5IC0tY2FjaGVkIOS4jeiDveWSjOmAiemhuSAtLWZpbGVzIOWQjOaXtuS9v+eUqCIKIAogIy4gdW5leHBlY3RlZCB0eXBlCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwNjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTA3MwogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBtb2RlICRtb2RfZHN0IgogbXNnc3RyICLmhI/lpJbnmoTmqKHlvI8gJG1vZF9kc3QiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDg2CisjOiBnaXQtc3VibW9kdWxlLnNoOjEwOTMKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX3NyYyIKIG1zZ3N0ciAiICDorablkYrvvJokZGlzcGxheV9uYW1lIOacquWMheWQq+aPkOS6pCAkc2hhMV9zcmMiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDg5CisjOiBnaXQtc3VibW9kdWxlLnNoOjEwOTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiICDorablkYrvvJokZGlzcGxheV9uYW1lIOacquWMheWQq+aPkOS6pCAkc2hhMV9kc3QiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDkyCisjOiBnaXQtc3VibW9kdWxlLnNoOjEwOTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0cyAkc2hhMV9zcmMgYW5kICRzaGExX2RzdCIKIG1zZ3N0ciAiICDorablkYrvvJokZGlzcGxheV9uYW1lIOacquWMheWQq+aPkOS6pCAkc2hhMV9zcmMg5ZKMICRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTE3CisjOiBnaXQtc3VibW9kdWxlLnNoOjExMjQKIG1zZ2lkICJibG9iIgogbXNnc3RyICLmlbDmja7lr7nosaEiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTE1NQotbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgotbXNnc3RyICLlrZDmqKHnu4Tlt7Lkv67mlLnkvYblsJrmnKrmm7TmlrDvvJoiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTE1NwotbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCi1tc2dzdHIgIuimgeaPkOS6pOeahOWtkOaooee7hOWPmOabtO+8miIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMjQyCisjOiBnaXQtc3VibW9kdWxlLnNoOjEyMzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAi5peg5rOV6YCS5b2S6L+b5a2Q5qih57uE6Lev5b6EICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTMwNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMzAyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLkuLogJyRkaXNwbGF5cGF0aCcg5ZCM5q2l5a2Q5qih57uEIHVybCIKIAorI34gbXNnaWQgImRvbmVcbiIKKyN+IG1zZ3N0ciAi5a6M5oiQXG4iCisKKyN+IG1zZ2lkICJpbnB1dCBwYXRocyBhcmUgdGVybWluYXRlZCBieSBhIG51bGwgY2hhcmFjdGVyIgorI34gbXNnc3RyICLovpPlhaXot6/lvoTku6VudWxs5a2X56ym57uI5q2iIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIGZpbGVzIHdvdWxkIE5PVCBiZSBzYXZlZCBidXQgbmVlZCB0byBiZSByZW1vdmVkICIKKyN+ICJieSBzdGFzaCBzYXZlOiIKKyN+IG1zZ3N0ciAi5aaC5LiL5pyq6Lef6Liq5paH5Lu25bCG5LiN5Lya6KKr5L+d5a2Y5L2G5piv5bCG5Lya5Zug5Li66L+b5bqm5L+d5a2Y6ICM6ZyA6KaB6KKr5Yig6Zmk77yaIgorCisjfiBtc2dpZCAiIgorI34gIkFib3J0aW5nLiBDb25zaWRlciB1c2luZyBlaXRoZXIgdGhlIC0tZm9yY2Ugb3IgLS1pbmNsdWRlLXVudHJhY2tlZCBvcHRpb24uIgorI34gbXNnc3RyICLnu4jmraLjgILogIPomZHkvb/nlKggLS1mb3JjZSDmiJbogIUgLS1pbmNsdWRlLXVudHJhY2tlZCDpgInpobnjgIIiCisKICN+IG1zZ2lkICIiCiAjfiAidGhlIGZvbGxvd2luZyBzdWJtb2R1bGUgKG9yIG9uZSBvZiBpdHMgbmVzdGVkIHN1Ym1vZHVsZSlcbiIKICN+ICJ1c2VzIGEgLmdpdCBkaXJlY3Rvcnk6IgpAQCAtMTAzMTEsMzkgKzEwNTg4LDYgQEAKICN+IG1zZ3N0clswXSAi5aaC5LiL5a2Q5qih57uE77yI5oiW5LiA5Liq5YW25bWM5aWX55qE5a2Q5qih57uE77yJ5L2/55So5LqG5LiA5LiqIC5naXQg55uu5b2V77yaIgogI34gbXNnc3RyWzFdICLlpoLkuIvlrZDmqKHnu4TvvIjmiJbkuIDkuKrlhbbltYzlpZfnmoTlrZDmqKHnu4TvvInkvb/nlKjkuobkuIDkuKogLmdpdCDnm67lvZXvvJoiCiAKLSN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHVubWVyZ2VkIC5naXRtb2R1bGVzLCByZXNvbHZlIG1lcmdlIGNvbmZsaWN0cyBmaXJzdCIKLSN+IG1zZ3N0ciAi5peg5rOV5L+u5pS55pyq5ZCI5bm255qEIC5naXRtb2R1bGVz77yM5YWI6Kej5Yaz5ZCI5bm25Yay56qBIgotCi0jfiBtc2dpZCAiQ291bGQgbm90IGZpbmQgc2VjdGlvbiBpbiAuZ2l0bW9kdWxlcyB3aGVyZSBwYXRoPSVzIgotI34gbXNnc3RyICLml6Dms5XlnKggLmdpdG1vZHVsZXMg5Lit5om+5YiwIHBhdGg9JXMg55qE5bCP6IqCIgotCi0jfiBtc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKLSN+IG1zZ3N0ciAi5LiN6IO95pu05pawIC5naXRtb2R1bGVzIOadoeebriAlcyIKLQotI34gbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgLmdpdG1vZHVsZXMgZW50cnkgZm9yICVzIgotI34gbXNnc3RyICLml6Dms5Xnp7vpmaQgJXMg55qEIC5naXRtb2R1bGVzIOadoeebriIKLQotI34gbXNnaWQgImNvdWxkIG5vdCBmaW5kIC5naXRtb2R1bGVzIGluIGluZGV4IgotI34gbXNnc3RyICLml6Dms5XlnKjntKLlvJXkuK3mib7liLAgLmdpdG1vZHVsZXMiCi0KLSN+IG1zZ2lkICJyZWFkaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgotI34gbXNnc3RyICLor7vlj5bmm7TmlrDlkI7nmoQgLmdpdG1vZHVsZXMg5aSx6LSlIgotCi0jfiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgdXBkYXRlZCAuZ2l0bW9kdWxlcyIKLSN+IG1zZ3N0ciAi5LiN6IO95p6a5Li+5pu05paw5ZCO55qEIC5naXRtb2R1bGVzIgotCi0jfiBtc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAuZ2l0bW9kdWxlcyBmcm9tIGluZGV4IgotI34gbXNnc3RyICLkuI3og73ku47ntKLlvJXkuK3np7vpmaQgLmdpdG1vZHVsZXMiCi0KLSN+IG1zZ2lkICJhZGRpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCi0jfiBtc2dzdHIgIua3u+WKoOabtOaWsOWQjueahCAuZ2l0bW9kdWxlcyDlpLHotKUiCi0KLSN+IG1zZ2lkICJzdGFnaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgotI34gbXNnc3RyICLlsIbmm7TmlrDlkI4gLmdpdG1vZHVsZXMg5re75Yqg5pqC5a2Y5Yy65aSx6LSlIgotCi0jfiBtc2dpZCAiQ291bGQgbm90IHNldCBjb3JlLndvcmt0cmVlIGluICVzIgotI34gbXNnc3RyICLkuI3og73lnKggJXMg5Lit6K6+572uIGNvcmUud29ya3RyZWUiCi0KICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAogI34gbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tcmVzb2x2ZWRcIikiCiAjfiBtc2dzdHIgIiAg77yI6Kej5Yaz5Yay56qB77yM54S25ZCO6L+Q6KGMIFwiZ2l0IGFtIC0tcmVzb2x2ZWRcIu+8iSIKQEAgLTEwMzU4LDkgKzEwNjAyLDYgQEAKICN+IG1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1uby1mZiB3aXRoIC0tZmYtb25seS4iCiAjfiBtc2dzdHIgIuaCqOS4jeiDveWwhiAtLW5vLWZmIOS4jiAtLWZmLW9ubHkg5ZCM5pe25L2/55So44CCIgogCi0jfiBtc2dpZCAiSHVoPyBEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCi0jfiBtc2dzdHIgIuWXr++8n+ebruW9lSAlcyDlnKjntKLlvJXkuK3lubbkuJTkuI3mmK/lrZDmqKHnu4TvvJ8iCi0KICN+IG1zZ2lkICIiCiAjfiAic3VibW9kdWxlICclcycgKG9yIG9uZSBvZiBpdHMgbmVzdGVkIHN1Ym1vZHVsZXMpIHVzZXMgYSAuZ2l0IGRpcmVjdG9yeVxuIgogI34gIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyAiCkBAIC0xMDQ3OSw5ICsxMDcyMCw2IEBACiAjfiBtc2dpZCAiLUIgY2Fubm90IGJlIHVzZWQgd2l0aCAtYiIKICN+IG1zZ3N0ciAiLUIg5LiN6IO95ZKMIC1iIOWQjOaXtuS9v+eUqCIKIAotI34gbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCi0jfiBtc2dzdHIgIi0tcGF0Y2gg6YCJ6aG55ZKM5YW25LuW6YCJ6aG55LiN5YW85a65IgotCiAjfiBtc2dpZCAiLS1kZXRhY2ggY2Fubm90IGJlIHVzZWQgd2l0aCAtYi8tQi8tLW9ycGhhbiIKICN+IG1zZ3N0ciAiLS1kZXRhY2gg5LiN6IO95ZKMIC1iLy1CLy0tb3JwaGFuIOWQjOaXtuS9v+eUqCIKIApkaWZmIC0tZ2l0IGEvcHJlbG9hZC1pbmRleC5jIGIvcHJlbG9hZC1pbmRleC5jCmluZGV4IDQ5Y2IwOGQuLjhjNDRjZWIgMTAwNjQ0Ci0tLSBhL3ByZWxvYWQtaW5kZXguYworKysgYi9wcmVsb2FkLWluZGV4LmMKQEAgLTIsOSArMiwxMSBAQAogICogQ29weXJpZ2h0IChDKSAyMDA4IExpbnVzIFRvcnZhbGRzCiAgKi8KICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgInBhdGhzcGVjLmgiCiAKICNpZmRlZiBOT19QVEhSRUFEUwotc3RhdGljIHZvaWQgcHJlbG9hZF9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmluZGV4LCBjb25zdCBjaGFyICoqcGF0aHNwZWMpCitzdGF0aWMgdm9pZCBwcmVsb2FkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaW5kZXgsCisJCQkgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCiB7CiAJOyAvKiBub3RoaW5nICovCiB9CkBAIC0yNCw3ICsyNiw3IEBACiBzdHJ1Y3QgdGhyZWFkX2RhdGEgewogCXB0aHJlYWRfdCBwdGhyZWFkOwogCXN0cnVjdCBpbmRleF9zdGF0ZSAqaW5kZXg7Ci0JY29uc3QgY2hhciAqKnBhdGhzcGVjOworCXN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKIAlpbnQgb2Zmc2V0LCBucjsKIH07CiAKQEAgLTM1LDkgKzM3LDcgQEAKIAlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmluZGV4ID0gcC0+aW5kZXg7CiAJc3RydWN0IGNhY2hlX2VudHJ5ICoqY2VwID0gaW5kZXgtPmNhY2hlICsgcC0+b2Zmc2V0OwogCXN0cnVjdCBjYWNoZV9kZWYgY2FjaGU7Ci0Jc3RydWN0IHBhdGhzcGVjIHBhdGhzcGVjOwogCi0JaW5pdF9wYXRoc3BlYygmcGF0aHNwZWMsIHAtPnBhdGhzcGVjKTsKIAltZW1zZXQoJmNhY2hlLCAwLCBzaXplb2YoY2FjaGUpKTsKIAluciA9IHAtPm5yOwogCWlmIChuciArIHAtPm9mZnNldCA+IGluZGV4LT5jYWNoZV9ucikKQEAgLTUzLDcgKzUzLDcgQEAKIAkJCWNvbnRpbnVlOwogCQlpZiAoY2VfdXB0b2RhdGUoY2UpKQogCQkJY29udGludWU7Ci0JCWlmICghY2VfcGF0aF9tYXRjaChjZSwgJnBhdGhzcGVjKSkKKwkJaWYgKCFjZV9wYXRoX21hdGNoKGNlLCAmcC0+cGF0aHNwZWMpKQogCQkJY29udGludWU7CiAJCWlmICh0aHJlYWRlZF9oYXNfc3ltbGlua19sZWFkaW5nX3BhdGgoJmNhY2hlLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSkpKQogCQkJY29udGludWU7CkBAIC02MywxMSArNjMsMTEgQEAKIAkJCWNvbnRpbnVlOwogCQljZV9tYXJrX3VwdG9kYXRlKGNlKTsKIAl9IHdoaWxlICgtLW5yID4gMCk7Ci0JZnJlZV9wYXRoc3BlYygmcGF0aHNwZWMpOwogCXJldHVybiBOVUxMOwogfQogCi1zdGF0aWMgdm9pZCBwcmVsb2FkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaW5kZXgsIGNvbnN0IGNoYXIgKipwYXRoc3BlYykKK3N0YXRpYyB2b2lkIHByZWxvYWRfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICppbmRleCwKKwkJCSAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYykKIHsKIAlpbnQgdGhyZWFkcywgaSwgd29yaywgb2Zmc2V0OwogCXN0cnVjdCB0aHJlYWRfZGF0YSBkYXRhW01BWF9QQVJBTExFTF07CkBAIC04MiwxMCArODIsMTIgQEAKIAkJdGhyZWFkcyA9IE1BWF9QQVJBTExFTDsKIAlvZmZzZXQgPSAwOwogCXdvcmsgPSBESVZfUk9VTkRfVVAoaW5kZXgtPmNhY2hlX25yLCB0aHJlYWRzKTsKKwltZW1zZXQoJmRhdGEsIDAsIHNpemVvZihkYXRhKSk7CiAJZm9yIChpID0gMDsgaSA8IHRocmVhZHM7IGkrKykgewogCQlzdHJ1Y3QgdGhyZWFkX2RhdGEgKnAgPSBkYXRhK2k7CiAJCXAtPmluZGV4ID0gaW5kZXg7Ci0JCXAtPnBhdGhzcGVjID0gcGF0aHNwZWM7CisJCWlmIChwYXRoc3BlYykKKwkJCWNvcHlfcGF0aHNwZWMoJnAtPnBhdGhzcGVjLCBwYXRoc3BlYyk7CiAJCXAtPm9mZnNldCA9IG9mZnNldDsKIAkJcC0+bnIgPSB3b3JrOwogCQlvZmZzZXQgKz0gd29yazsKQEAgLTEwMCw3ICsxMDIsOCBAQAogfQogI2VuZGlmCiAKLWludCByZWFkX2luZGV4X3ByZWxvYWQoc3RydWN0IGluZGV4X3N0YXRlICppbmRleCwgY29uc3QgY2hhciAqKnBhdGhzcGVjKQoraW50IHJlYWRfaW5kZXhfcHJlbG9hZChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmluZGV4LAorCQkgICAgICAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYykKIHsKIAlpbnQgcmV0dmFsID0gcmVhZF9pbmRleChpbmRleCk7CiAKZGlmZiAtLWdpdCBhL3ByZXR0eS5jIGIvcHJldHR5LmMKaW5kZXggYjRlMzJiNy4uOTYyZTgyYiAxMDA2NDQKLS0tIGEvcHJldHR5LmMKKysrIGIvcHJldHR5LmMKQEAgLTQ5Nyw3ICs0OTcsNyBAQAogc3RhdGljIGludCBpc19lbXB0eV9saW5lKGNvbnN0IGNoYXIgKmxpbmUsIGludCAqbGVuX3ApCiB7CiAJaW50IGxlbiA9ICpsZW5fcDsKLQl3aGlsZSAobGVuICYmIGlzc3BhY2UobGluZVtsZW4tMV0pKQorCXdoaWxlIChsZW4gJiYgaXNzcGFjZShsaW5lW2xlbiAtIDFdKSkKIAkJbGVuLS07CiAJKmxlbl9wID0gbGVuOwogCXJldHVybiAhbGVuOwpkaWZmIC0tZ2l0IGEvcXVvdGUuYyBiL3F1b3RlLmMKaW5kZXggNWM4ODA4MS4uNDVlM2RiMSAxMDA2NDQKLS0tIGEvcXVvdGUuYworKysgYi9xdW90ZS5jCkBAIC00MiwyMyArNDIsNiBAQAogCWZyZWUodG9fZnJlZSk7CiB9CiAKLXZvaWQgc3FfcXVvdGVfcHJpbnQoRklMRSAqc3RyZWFtLCBjb25zdCBjaGFyICpzcmMpCi17Ci0JY2hhciBjOwotCi0JZnB1dGMoJ1wnJywgc3RyZWFtKTsKLQl3aGlsZSAoKGMgPSAqc3JjKyspKSB7Ci0JCWlmIChuZWVkX2JzX3F1b3RlKGMpKSB7Ci0JCQlmcHV0cygiJ1xcIiwgc3RyZWFtKTsKLQkJCWZwdXRjKGMsIHN0cmVhbSk7Ci0JCQlmcHV0YygnXCcnLCBzdHJlYW0pOwotCQl9IGVsc2UgewotCQkJZnB1dGMoYywgc3RyZWFtKTsKLQkJfQotCX0KLQlmcHV0YygnXCcnLCBzdHJlYW0pOwotfQotCiB2b2lkIHNxX3F1b3RlX2FyZ3Yoc3RydWN0IHN0cmJ1ZiAqZHN0LCBjb25zdCBjaGFyKiogYXJndiwgc2l6ZV90IG1heGxlbikKIHsKIAlpbnQgaTsKQEAgLTQwOCw3MiArMzkxLDcyIEBACiAKIC8qIHF1b3RpbmcgYXMgYSBzdHJpbmcgbGl0ZXJhbCBmb3Igb3RoZXIgbGFuZ3VhZ2VzICovCiAKLXZvaWQgcGVybF9xdW90ZV9wcmludChGSUxFICpzdHJlYW0sIGNvbnN0IGNoYXIgKnNyYykKK3ZvaWQgcGVybF9xdW90ZV9idWYoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKnNyYykKIHsKIAljb25zdCBjaGFyIHNxID0gJ1wnJzsKIAljb25zdCBjaGFyIGJxID0gJ1xcJzsKIAljaGFyIGM7CiAKLQlmcHV0YyhzcSwgc3RyZWFtKTsKKwlzdHJidWZfYWRkY2goc2IsIHNxKTsKIAl3aGlsZSAoKGMgPSAqc3JjKyspKSB7CiAJCWlmIChjID09IHNxIHx8IGMgPT0gYnEpCi0JCQlmcHV0YyhicSwgc3RyZWFtKTsKLQkJZnB1dGMoYywgc3RyZWFtKTsKKwkJCXN0cmJ1Zl9hZGRjaChzYiwgYnEpOworCQlzdHJidWZfYWRkY2goc2IsIGMpOwogCX0KLQlmcHV0YyhzcSwgc3RyZWFtKTsKKwlzdHJidWZfYWRkY2goc2IsIHNxKTsKIH0KIAotdm9pZCBweXRob25fcXVvdGVfcHJpbnQoRklMRSAqc3RyZWFtLCBjb25zdCBjaGFyICpzcmMpCit2b2lkIHB5dGhvbl9xdW90ZV9idWYoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKnNyYykKIHsKIAljb25zdCBjaGFyIHNxID0gJ1wnJzsKIAljb25zdCBjaGFyIGJxID0gJ1xcJzsKIAljb25zdCBjaGFyIG5sID0gJ1xuJzsKIAljaGFyIGM7CiAKLQlmcHV0YyhzcSwgc3RyZWFtKTsKKwlzdHJidWZfYWRkY2goc2IsIHNxKTsKIAl3aGlsZSAoKGMgPSAqc3JjKyspKSB7CiAJCWlmIChjID09IG5sKSB7Ci0JCQlmcHV0YyhicSwgc3RyZWFtKTsKLQkJCWZwdXRjKCduJywgc3RyZWFtKTsKKwkJCXN0cmJ1Zl9hZGRjaChzYiwgYnEpOworCQkJc3RyYnVmX2FkZGNoKHNiLCAnbicpOwogCQkJY29udGludWU7CiAJCX0KIAkJaWYgKGMgPT0gc3EgfHwgYyA9PSBicSkKLQkJCWZwdXRjKGJxLCBzdHJlYW0pOwotCQlmcHV0YyhjLCBzdHJlYW0pOworCQkJc3RyYnVmX2FkZGNoKHNiLCBicSk7CisJCXN0cmJ1Zl9hZGRjaChzYiwgYyk7CiAJfQotCWZwdXRjKHNxLCBzdHJlYW0pOworCXN0cmJ1Zl9hZGRjaChzYiwgc3EpOwogfQogCi12b2lkIHRjbF9xdW90ZV9wcmludChGSUxFICpzdHJlYW0sIGNvbnN0IGNoYXIgKnNyYykKK3ZvaWQgdGNsX3F1b3RlX2J1ZihzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqc3JjKQogewogCWNoYXIgYzsKIAotCWZwdXRjKCciJywgc3RyZWFtKTsKKwlzdHJidWZfYWRkY2goc2IsICciJyk7CiAJd2hpbGUgKChjID0gKnNyYysrKSkgewogCQlzd2l0Y2ggKGMpIHsKIAkJY2FzZSAnWyc6IGNhc2UgJ10nOgogCQljYXNlICd7JzogY2FzZSAnfSc6CiAJCWNhc2UgJyQnOiBjYXNlICdcXCc6IGNhc2UgJyInOgotCQkJZnB1dGMoJ1xcJywgc3RyZWFtKTsKKwkJCXN0cmJ1Zl9hZGRjaChzYiwgJ1xcJyk7CiAJCWRlZmF1bHQ6Ci0JCQlmcHV0YyhjLCBzdHJlYW0pOworCQkJc3RyYnVmX2FkZGNoKHNiLCBjKTsKIAkJCWJyZWFrOwogCQljYXNlICdcZic6Ci0JCQlmcHV0cygiXFxmIiwgc3RyZWFtKTsKKwkJCXN0cmJ1Zl9hZGRzdHIoc2IsICJcXGYiKTsKIAkJCWJyZWFrOwogCQljYXNlICdccic6Ci0JCQlmcHV0cygiXFxyIiwgc3RyZWFtKTsKKwkJCXN0cmJ1Zl9hZGRzdHIoc2IsICJcXHIiKTsKIAkJCWJyZWFrOwogCQljYXNlICdcbic6Ci0JCQlmcHV0cygiXFxuIiwgc3RyZWFtKTsKKwkJCXN0cmJ1Zl9hZGRzdHIoc2IsICJcXG4iKTsKIAkJCWJyZWFrOwogCQljYXNlICdcdCc6Ci0JCQlmcHV0cygiXFx0Iiwgc3RyZWFtKTsKKwkJCXN0cmJ1Zl9hZGRzdHIoc2IsICJcXHQiKTsKIAkJCWJyZWFrOwogCQljYXNlICdcdic6Ci0JCQlmcHV0cygiXFx2Iiwgc3RyZWFtKTsKKwkJCXN0cmJ1Zl9hZGRzdHIoc2IsICJcXHYiKTsKIAkJCWJyZWFrOwogCQl9CiAJfQotCWZwdXRjKCciJywgc3RyZWFtKTsKKwlzdHJidWZfYWRkY2goc2IsICciJyk7CiB9CmRpZmYgLS1naXQgYS9xdW90ZS5oIGIvcXVvdGUuaAppbmRleCBlZDExMGE1Li43MWRjYzNhIDEwMDY0NAotLS0gYS9xdW90ZS5oCisrKyBiL3F1b3RlLmgKQEAgLTI3LDggKzI3LDYgQEAKICAqIGV4Y2x1ZGluZyB0aGUgZmluYWwgbnVsbCByZWdhcmRsZXNzIG9mIHRoZSBidWZmZXIgc2l6ZS4KICAqLwogCi1leHRlcm4gdm9pZCBzcV9xdW90ZV9wcmludChGSUxFICpzdHJlYW0sIGNvbnN0IGNoYXIgKnNyYyk7Ci0KIGV4dGVybiB2b2lkIHNxX3F1b3RlX2J1ZihzdHJ1Y3Qgc3RyYnVmICosIGNvbnN0IGNoYXIgKnNyYyk7CiBleHRlcm4gdm9pZCBzcV9xdW90ZV9hcmd2KHN0cnVjdCBzdHJidWYgKiwgY29uc3QgY2hhciAqKmFyZ3YsIHNpemVfdCBtYXhsZW4pOwogCkBAIC02OCw4ICs2Niw4IEBACiAJCQkgIHN0cnVjdCBzdHJidWYgKm91dCk7CiAKIC8qIHF1b3RpbmcgYXMgYSBzdHJpbmcgbGl0ZXJhbCBmb3Igb3RoZXIgbGFuZ3VhZ2VzICovCi1leHRlcm4gdm9pZCBwZXJsX3F1b3RlX3ByaW50KEZJTEUgKnN0cmVhbSwgY29uc3QgY2hhciAqc3JjKTsKLWV4dGVybiB2b2lkIHB5dGhvbl9xdW90ZV9wcmludChGSUxFICpzdHJlYW0sIGNvbnN0IGNoYXIgKnNyYyk7Ci1leHRlcm4gdm9pZCB0Y2xfcXVvdGVfcHJpbnQoRklMRSAqc3RyZWFtLCBjb25zdCBjaGFyICpzcmMpOworZXh0ZXJuIHZvaWQgcGVybF9xdW90ZV9idWYoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKnNyYyk7CitleHRlcm4gdm9pZCBweXRob25fcXVvdGVfYnVmKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpzcmMpOworZXh0ZXJuIHZvaWQgdGNsX3F1b3RlX2J1ZihzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqc3JjKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9yZWFjaGFibGUuYyBiL3JlYWNoYWJsZS5jCmluZGV4IGU3ZTZhMWUuLjY1NGE4YzUgMTAwNjQ0Ci0tLSBhL3JlYWNoYWJsZS5jCisrKyBiL3JlYWNoYWJsZS5jCkBAIC04MCw4ICs4MCw3IEBACiAJCWVsc2UKIAkJCXByb2Nlc3NfYmxvYihsb29rdXBfYmxvYihlbnRyeS5zaGExKSwgcCwgJm1lLCBlbnRyeS5wYXRoLCBjcCk7CiAJfQotCWZyZWUodHJlZS0+YnVmZmVyKTsKLQl0cmVlLT5idWZmZXIgPSBOVUxMOworCWZyZWVfdHJlZV9idWZmZXIodHJlZSk7CiB9CiAKIHN0YXRpYyB2b2lkIHByb2Nlc3NfdGFnKHN0cnVjdCB0YWcgKnRhZywgc3RydWN0IG9iamVjdF9hcnJheSAqcCwKZGlmZiAtLWdpdCBhL3JlYWQtY2FjaGUuYyBiL3JlYWQtY2FjaGUuYwppbmRleCBjM2Q1ZTM1Li4zM2RkNjc2IDEwMDY0NAotLS0gYS9yZWFkLWNhY2hlLmMKKysrIGIvcmVhZC1jYWNoZS5jCkBAIC02NDMsNyArNjQzLDcgQEAKIAkJCWlmICgqcHRyID09ICcvJykgewogCQkJCXN0cnVjdCBjYWNoZV9lbnRyeSAqZm91bmRjZTsKIAkJCQkrK3B0cjsKLQkJCQlmb3VuZGNlID0gaW5kZXhfbmFtZV9leGlzdHMoaXN0YXRlLCBjZS0+bmFtZSwgcHRyIC0gY2UtPm5hbWUsIGlnbm9yZV9jYXNlKTsKKwkJCQlmb3VuZGNlID0gaW5kZXhfZGlyX2V4aXN0cyhpc3RhdGUsIGNlLT5uYW1lLCBwdHIgLSBjZS0+bmFtZSAtIDEpOwogCQkJCWlmIChmb3VuZGNlKSB7CiAJCQkJCW1lbWNweSgodm9pZCAqKXN0YXJ0UHRyLCBmb3VuZGNlLT5uYW1lICsgKHN0YXJ0UHRyIC0gY2UtPm5hbWUpLCBwdHIgLSBzdGFydFB0cik7CiAJCQkJCXN0YXJ0UHRyID0gcHRyOwpAQCAtNjUyLDcgKzY1Miw3IEBACiAJCX0KIAl9CiAKLQlhbGlhcyA9IGluZGV4X25hbWVfZXhpc3RzKGlzdGF0ZSwgY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpLCBpZ25vcmVfY2FzZSk7CisJYWxpYXMgPSBpbmRleF9maWxlX2V4aXN0cyhpc3RhdGUsIGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSwgaWdub3JlX2Nhc2UpOwogCWlmIChhbGlhcyAmJiAhY2Vfc3RhZ2UoYWxpYXMpICYmICFpZV9tYXRjaF9zdGF0KGlzdGF0ZSwgYWxpYXMsIHN0LCBjZV9vcHRpb24pKSB7CiAJCS8qIE5vdGhpbmcgY2hhbmdlZCwgcmVhbGx5ICovCiAJCWZyZWUoY2UpOwpAQCAtMTExNCw3ICsxMTE0LDggQEAKIAlwcmludGYoZm10LCBuYW1lKTsKIH0KIAotaW50IHJlZnJlc2hfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIHVuc2lnbmVkIGludCBmbGFncywgY29uc3QgY2hhciAqKnBhdGhzcGVjLAoraW50IHJlZnJlc2hfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIHVuc2lnbmVkIGludCBmbGFncywKKwkJICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAogCQkgIGNoYXIgKnNlZW4sIGNvbnN0IGNoYXIgKmhlYWRlcl9tc2cpCiB7CiAJaW50IGk7CkBAIC0xMTQ5LDcgKzExNTAsNyBAQAogCQkJY29udGludWU7CiAKIAkJaWYgKHBhdGhzcGVjICYmCi0JCSAgICAhbWF0Y2hfcGF0aHNwZWMocGF0aHNwZWMsIGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSwgMCwgc2VlbikpCisJCSAgICAhbWF0Y2hfcGF0aHNwZWNfZGVwdGgocGF0aHNwZWMsIGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSwgMCwgc2VlbikpCiAJCQlmaWx0ZXJlZCA9IDE7CiAKIAkJaWYgKGNlX3N0YWdlKGNlKSkgewpAQCAtMTIyOSwxNCArMTIzMCwxNCBAQAogc3RydWN0IG9uZGlza19jYWNoZV9lbnRyeSB7CiAJc3RydWN0IGNhY2hlX3RpbWUgY3RpbWU7CiAJc3RydWN0IGNhY2hlX3RpbWUgbXRpbWU7Ci0JdW5zaWduZWQgaW50IGRldjsKLQl1bnNpZ25lZCBpbnQgaW5vOwotCXVuc2lnbmVkIGludCBtb2RlOwotCXVuc2lnbmVkIGludCB1aWQ7Ci0JdW5zaWduZWQgaW50IGdpZDsKLQl1bnNpZ25lZCBpbnQgc2l6ZTsKKwl1aW50MzJfdCBkZXY7CisJdWludDMyX3QgaW5vOworCXVpbnQzMl90IG1vZGU7CisJdWludDMyX3QgdWlkOworCXVpbnQzMl90IGdpZDsKKwl1aW50MzJfdCBzaXplOwogCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07Ci0JdW5zaWduZWQgc2hvcnQgZmxhZ3M7CisJdWludDE2X3QgZmxhZ3M7CiAJY2hhciBuYW1lW0ZMRVhfQVJSQVldOyAvKiBtb3JlICovCiB9OwogCkBAIC0xMjQ4LDE1ICsxMjQ5LDE1IEBACiBzdHJ1Y3Qgb25kaXNrX2NhY2hlX2VudHJ5X2V4dGVuZGVkIHsKIAlzdHJ1Y3QgY2FjaGVfdGltZSBjdGltZTsKIAlzdHJ1Y3QgY2FjaGVfdGltZSBtdGltZTsKLQl1bnNpZ25lZCBpbnQgZGV2OwotCXVuc2lnbmVkIGludCBpbm87Ci0JdW5zaWduZWQgaW50IG1vZGU7Ci0JdW5zaWduZWQgaW50IHVpZDsKLQl1bnNpZ25lZCBpbnQgZ2lkOwotCXVuc2lnbmVkIGludCBzaXplOworCXVpbnQzMl90IGRldjsKKwl1aW50MzJfdCBpbm87CisJdWludDMyX3QgbW9kZTsKKwl1aW50MzJfdCB1aWQ7CisJdWludDMyX3QgZ2lkOworCXVpbnQzMl90IHNpemU7CiAJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQl1bnNpZ25lZCBzaG9ydCBmbGFnczsKLQl1bnNpZ25lZCBzaG9ydCBmbGFnczI7CisJdWludDE2X3QgZmxhZ3M7CisJdWludDE2X3QgZmxhZ3MyOwogCWNoYXIgbmFtZVtGTEVYX0FSUkFZXTsgLyogbW9yZSAqLwogfTsKIApAQCAtMTgxNyw4ICsxODE4LDE3IEBACiAJCQljb250aW51ZTsKIAkJaWYgKCFjZV91cHRvZGF0ZShjZSkgJiYgaXNfcmFjeV90aW1lc3RhbXAoaXN0YXRlLCBjZSkpCiAJCQljZV9zbXVkZ2VfcmFjaWx5X2NsZWFuX2VudHJ5KGNlKTsKLQkJaWYgKGlzX251bGxfc2hhMShjZS0+c2hhMSkpCi0JCQlyZXR1cm4gZXJyb3IoImNhY2hlIGVudHJ5IGhhcyBudWxsIHNoYTE6ICVzIiwgY2UtPm5hbWUpOworCQlpZiAoaXNfbnVsbF9zaGExKGNlLT5zaGExKSkgeworCQkJc3RhdGljIGNvbnN0IGNoYXIgbXNnW10gPSAiY2FjaGUgZW50cnkgaGFzIG51bGwgc2hhMTogJXMiOworCQkJc3RhdGljIGludCBhbGxvdyA9IC0xOworCisJCQlpZiAoYWxsb3cgPCAwKQorCQkJCWFsbG93ID0gZ2l0X2Vudl9ib29sKCJHSVRfQUxMT1dfTlVMTF9TSEExIiwgMCk7CisJCQlpZiAoYWxsb3cpCisJCQkJd2FybmluZyhtc2csIGNlLT5uYW1lKTsKKwkJCWVsc2UKKwkJCQlyZXR1cm4gZXJyb3IobXNnLCBjZS0+bmFtZSk7CisJCX0KIAkJaWYgKGNlX3dyaXRlX2VudHJ5KCZjLCBuZXdmZCwgY2UsIHByZXZpb3VzX25hbWUpIDwgMCkKIAkJCXJldHVybiAtMTsKIAl9CmRpZmYgLS1naXQgYS9yZWZzLmMgYi9yZWZzLmMKaW5kZXggNzkyMjI2MS4uNWU1YTM4MiAxMDA2NDQKLS0tIGEvcmVmcy5jCisrKyBiL3JlZnMuYwpAQCAtNzIsNiArNzIsMTAgQEAKIHsKIAlpbnQgY29tcG9uZW50X2xlbiwgY29tcG9uZW50X2NvdW50ID0gMDsKIAorCWlmICghc3RyY21wKHJlZm5hbWUsICJAIikpCisJCS8qIFJlZm5hbWUgaXMgYSBzaW5nbGUgY2hhcmFjdGVyICdAJy4gKi8KKwkJcmV0dXJuIC0xOworCiAJd2hpbGUgKDEpIHsKIAkJLyogV2UgYXJlIGF0IHRoZSBzdGFydCBvZiBhIHBhdGggY29tcG9uZW50LiAqLwogCQljb21wb25lbnRfbGVuID0gY2hlY2tfcmVmbmFtZV9jb21wb25lbnQocmVmbmFtZSwgZmxhZ3MpOwpAQCAtOTQzLDEzICs5NDcsNiBAQAogCXJldHVybiByZWZzOwogfQogCi12b2lkIGludmFsaWRhdGVfcmVmX2NhY2hlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSkKLXsKLQlzdHJ1Y3QgcmVmX2NhY2hlICpyZWZzID0gZ2V0X3JlZl9jYWNoZShzdWJtb2R1bGUpOwotCWNsZWFyX3BhY2tlZF9yZWZfY2FjaGUocmVmcyk7Ci0JY2xlYXJfbG9vc2VfcmVmX2NhY2hlKHJlZnMpOwotfQotCiAvKiBUaGUgbGVuZ3RoIG9mIGEgcGVlbGVkIHJlZmVyZW5jZSBsaW5lIGluIHBhY2tlZC1yZWZzLCBpbmNsdWRpbmcgRU9MOiAqLwogI2RlZmluZSBQRUVMRURfTElORV9MRU5HVEggNDIKIApAQCAtMTk1MSw3ICsxOTQ4LDcgQEAKIHN0YXRpYyBjaGFyICpzdWJzdGl0dXRlX2JyYW5jaF9uYW1lKGNvbnN0IGNoYXIgKipzdHJpbmcsIGludCAqbGVuKQogewogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7Ci0JaW50IHJldCA9IGludGVycHJldF9icmFuY2hfbmFtZSgqc3RyaW5nLCAmYnVmKTsKKwlpbnQgcmV0ID0gaW50ZXJwcmV0X2JyYW5jaF9uYW1lKCpzdHJpbmcsICpsZW4sICZidWYpOwogCiAJaWYgKHJldCA9PSAqbGVuKSB7CiAJCXNpemVfdCBzaXplOwpAQCAtMjEyMSwxMSArMjExOCwxMiBAQAogfQogCiBzdHJ1Y3QgcmVmX2xvY2sgKmxvY2tfYW55X3JlZl9mb3JfdXBkYXRlKGNvbnN0IGNoYXIgKnJlZm5hbWUsCi0JCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICpvbGRfc2hhMSwgaW50IGZsYWdzKQorCQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqb2xkX3NoYTEsCisJCQkJCSBpbnQgZmxhZ3MsIGludCAqdHlwZV9wKQogewogCWlmIChjaGVja19yZWZuYW1lX2Zvcm1hdChyZWZuYW1lLCBSRUZOQU1FX0FMTE9XX09ORUxFVkVMKSkKIAkJcmV0dXJuIE5VTEw7Ci0JcmV0dXJuIGxvY2tfcmVmX3NoYTFfYmFzaWMocmVmbmFtZSwgb2xkX3NoYTEsIGZsYWdzLCBOVUxMKTsKKwlyZXR1cm4gbG9ja19yZWZfc2hhMV9iYXNpYyhyZWZuYW1lLCBvbGRfc2hhMSwgZmxhZ3MsIHR5cGVfcCk7CiB9CiAKIC8qCkBAIC0yNDEzLDYwICsyNDExLDgyIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcmVwYWNrX3dpdGhvdXRfcmVmKGNvbnN0IGNoYXIgKnJlZm5hbWUpCitzdGF0aWMgaW50IHJlcGFja193aXRob3V0X3JlZnMoY29uc3QgY2hhciAqKnJlZm5hbWVzLCBpbnQgbikKIHsKIAlzdHJ1Y3QgcmVmX2RpciAqcGFja2VkOwogCXN0cnVjdCBzdHJpbmdfbGlzdCByZWZzX3RvX2RlbGV0ZSA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICpyZWZfdG9fZGVsZXRlOworCWludCBpLCByZW1vdmVkID0gMDsKIAotCWlmICghZ2V0X3BhY2tlZF9yZWYocmVmbmFtZSkpCi0JCXJldHVybiAwOyAvKiByZWZuYW1lIGRvZXMgbm90IGV4aXN0IGluIHBhY2tlZCByZWZzICovCisJLyogTG9vayBmb3IgYSBwYWNrZWQgcmVmICovCisJZm9yIChpID0gMDsgaSA8IG47IGkrKykKKwkJaWYgKGdldF9wYWNrZWRfcmVmKHJlZm5hbWVzW2ldKSkKKwkJCWJyZWFrOworCisJLyogQXZvaWQgbG9ja2luZyBpZiB3ZSBoYXZlIG5vdGhpbmcgdG8gZG8gKi8KKwlpZiAoaSA9PSBuKQorCQlyZXR1cm4gMDsgLyogbm8gcmVmbmFtZSBleGlzdHMgaW4gcGFja2VkIHJlZnMgKi8KIAogCWlmIChsb2NrX3BhY2tlZF9yZWZzKDApKSB7CiAJCXVuYWJsZV90b19sb2NrX2Vycm9yKGdpdF9wYXRoKCJwYWNrZWQtcmVmcyIpLCBlcnJubyk7Ci0JCXJldHVybiBlcnJvcigiY2Fubm90IGRlbGV0ZSAnJXMnIGZyb20gcGFja2VkIHJlZnMiLCByZWZuYW1lKTsKKwkJcmV0dXJuIGVycm9yKCJjYW5ub3QgZGVsZXRlICclcycgZnJvbSBwYWNrZWQgcmVmcyIsIHJlZm5hbWVzW2ldKTsKIAl9CiAJcGFja2VkID0gZ2V0X3BhY2tlZF9yZWZzKCZyZWZfY2FjaGUpOwogCi0JLyogUmVtb3ZlIHJlZm5hbWUgZnJvbSB0aGUgY2FjaGU6ICovCi0JaWYgKHJlbW92ZV9lbnRyeShwYWNrZWQsIHJlZm5hbWUpID09IC0xKSB7CisJLyogUmVtb3ZlIHJlZm5hbWVzIGZyb20gdGhlIGNhY2hlICovCisJZm9yIChpID0gMDsgaSA8IG47IGkrKykKKwkJaWYgKHJlbW92ZV9lbnRyeShwYWNrZWQsIHJlZm5hbWVzW2ldKSAhPSAtMSkKKwkJCXJlbW92ZWQgPSAxOworCWlmICghcmVtb3ZlZCkgewogCQkvKgotCQkgKiBUaGUgcGFja2VkIGVudHJ5IGRpc2FwcGVhcmVkIHdoaWxlIHdlIHdlcmUKKwkJICogQWxsIHBhY2tlZCBlbnRyaWVzIGRpc2FwcGVhcmVkIHdoaWxlIHdlIHdlcmUKIAkJICogYWNxdWlyaW5nIHRoZSBsb2NrLgogCQkgKi8KIAkJcm9sbGJhY2tfcGFja2VkX3JlZnMoKTsKIAkJcmV0dXJuIDA7CiAJfQogCi0JLyogUmVtb3ZlIGFueSBvdGhlciBhY2N1bXVsYXRlZCBjcnVmdDogKi8KKwkvKiBSZW1vdmUgYW55IG90aGVyIGFjY3VtdWxhdGVkIGNydWZ0ICovCiAJZG9fZm9yX2VhY2hfZW50cnlfaW5fZGlyKHBhY2tlZCwgMCwgY3VyYXRlX3BhY2tlZF9yZWZfZm4sICZyZWZzX3RvX2RlbGV0ZSk7CiAJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShyZWZfdG9fZGVsZXRlLCAmcmVmc190b19kZWxldGUpIHsKIAkJaWYgKHJlbW92ZV9lbnRyeShwYWNrZWQsIHJlZl90b19kZWxldGUtPnN0cmluZykgPT0gLTEpCiAJCQlkaWUoImludGVybmFsIGVycm9yIik7CiAJfQogCi0JLyogV3JpdGUgd2hhdCByZW1haW5zOiAqLworCS8qIFdyaXRlIHdoYXQgcmVtYWlucyAqLwogCXJldHVybiBjb21taXRfcGFja2VkX3JlZnMoKTsKIH0KIAorc3RhdGljIGludCByZXBhY2tfd2l0aG91dF9yZWYoY29uc3QgY2hhciAqcmVmbmFtZSkKK3sKKwlyZXR1cm4gcmVwYWNrX3dpdGhvdXRfcmVmcygmcmVmbmFtZSwgMSk7Cit9CisKK3N0YXRpYyBpbnQgZGVsZXRlX3JlZl9sb29zZShzdHJ1Y3QgcmVmX2xvY2sgKmxvY2ssIGludCBmbGFnKQoreworCWlmICghKGZsYWcgJiBSRUZfSVNQQUNLRUQpIHx8IGZsYWcgJiBSRUZfSVNTWU1SRUYpIHsKKwkJLyogbG9vc2UgKi8KKwkJaW50IGVyciwgaSA9IHN0cmxlbihsb2NrLT5say0+ZmlsZW5hbWUpIC0gNTsgLyogLmxvY2sgKi8KKworCQlsb2NrLT5say0+ZmlsZW5hbWVbaV0gPSAwOworCQllcnIgPSB1bmxpbmtfb3Jfd2Fybihsb2NrLT5say0+ZmlsZW5hbWUpOworCQlsb2NrLT5say0+ZmlsZW5hbWVbaV0gPSAnLic7CisJCWlmIChlcnIgJiYgZXJybm8gIT0gRU5PRU5UKQorCQkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorCiBpbnQgZGVsZXRlX3JlZihjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgZGVsb3B0KQogewogCXN0cnVjdCByZWZfbG9jayAqbG9jazsKLQlpbnQgZXJyLCBpID0gMCwgcmV0ID0gMCwgZmxhZyA9IDA7CisJaW50IHJldCA9IDAsIGZsYWcgPSAwOwogCiAJbG9jayA9IGxvY2tfcmVmX3NoYTFfYmFzaWMocmVmbmFtZSwgc2hhMSwgZGVsb3B0LCAmZmxhZyk7CiAJaWYgKCFsb2NrKQogCQlyZXR1cm4gMTsKLQlpZiAoIShmbGFnICYgUkVGX0lTUEFDS0VEKSB8fCBmbGFnICYgUkVGX0lTU1lNUkVGKSB7Ci0JCS8qIGxvb3NlICovCi0JCWkgPSBzdHJsZW4obG9jay0+bGstPmZpbGVuYW1lKSAtIDU7IC8qIC5sb2NrICovCi0JCWxvY2stPmxrLT5maWxlbmFtZVtpXSA9IDA7Ci0JCWVyciA9IHVubGlua19vcl93YXJuKGxvY2stPmxrLT5maWxlbmFtZSk7Ci0JCWlmIChlcnIgJiYgZXJybm8gIT0gRU5PRU5UKQotCQkJcmV0ID0gMTsKKwlyZXQgfD0gZGVsZXRlX3JlZl9sb29zZShsb2NrLCBmbGFnKTsKIAotCQlsb2NrLT5say0+ZmlsZW5hbWVbaV0gPSAnLic7Ci0JfQogCS8qIHJlbW92aW5nIHRoZSBsb29zZSBvbmUgY291bGQgaGF2ZSByZXN1cnJlY3RlZCBhbiBlYXJsaWVyCiAJICogcGFja2VkIG9uZS4gIEFsc28sIGlmIGl0IHdhcyBub3QgbG9vc2Ugd2UgbmVlZCB0byByZXBhY2sKIAkgKiB3aXRob3V0IGl0LgpAQCAtMzE2OSwxMiArMzE4OSwxMyBAQAogCXJldHVybiByZXR2YWw7CiB9CiAKLWludCB1cGRhdGVfcmVmKGNvbnN0IGNoYXIgKmFjdGlvbiwgY29uc3QgY2hhciAqcmVmbmFtZSwKLQkJY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgdW5zaWduZWQgY2hhciAqb2xkdmFsLAotCQlpbnQgZmxhZ3MsIGVudW0gYWN0aW9uX29uX2VyciBvbmVycikKK3N0YXRpYyBzdHJ1Y3QgcmVmX2xvY2sgKnVwZGF0ZV9yZWZfbG9jayhjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJCQljb25zdCB1bnNpZ25lZCBjaGFyICpvbGR2YWwsCisJCQkJCWludCBmbGFncywgaW50ICp0eXBlX3AsCisJCQkJCWVudW0gYWN0aW9uX29uX2VyciBvbmVycikKIHsKLQlzdGF0aWMgc3RydWN0IHJlZl9sb2NrICpsb2NrOwotCWxvY2sgPSBsb2NrX2FueV9yZWZfZm9yX3VwZGF0ZShyZWZuYW1lLCBvbGR2YWwsIGZsYWdzKTsKKwlzdHJ1Y3QgcmVmX2xvY2sgKmxvY2s7CisJbG9jayA9IGxvY2tfYW55X3JlZl9mb3JfdXBkYXRlKHJlZm5hbWUsIG9sZHZhbCwgZmxhZ3MsIHR5cGVfcCk7CiAJaWYgKCFsb2NrKSB7CiAJCWNvbnN0IGNoYXIgKnN0ciA9ICJDYW5ub3QgbG9jayB0aGUgcmVmICclcycuIjsKIAkJc3dpdGNoIChvbmVycikgewpAQCAtMzE4Miw4ICszMjAzLDE0IEBACiAJCWNhc2UgRElFX09OX0VSUjogZGllKHN0ciwgcmVmbmFtZSk7IGJyZWFrOwogCQljYXNlIFFVSUVUX09OX0VSUjogYnJlYWs7CiAJCX0KLQkJcmV0dXJuIDE7CiAJfQorCXJldHVybiBsb2NrOworfQorCitzdGF0aWMgaW50IHVwZGF0ZV9yZWZfd3JpdGUoY29uc3QgY2hhciAqYWN0aW9uLCBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHN0cnVjdCByZWZfbG9jayAqbG9jaywKKwkJCSAgICBlbnVtIGFjdGlvbl9vbl9lcnIgb25lcnIpCit7CiAJaWYgKHdyaXRlX3JlZl9zaGExKGxvY2ssIHNoYTEsIGFjdGlvbikgPCAwKSB7CiAJCWNvbnN0IGNoYXIgKnN0ciA9ICJDYW5ub3QgdXBkYXRlIHRoZSByZWYgJyVzJy4iOwogCQlzd2l0Y2ggKG9uZXJyKSB7CkBAIC0zMTk2LDEyICszMjIzLDExNSBAQAogCXJldHVybiAwOwogfQogCi1zdHJ1Y3QgcmVmICpmaW5kX3JlZl9ieV9uYW1lKGNvbnN0IHN0cnVjdCByZWYgKmxpc3QsIGNvbnN0IGNoYXIgKm5hbWUpCitpbnQgdXBkYXRlX3JlZihjb25zdCBjaGFyICphY3Rpb24sIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZHZhbCwKKwkgICAgICAgaW50IGZsYWdzLCBlbnVtIGFjdGlvbl9vbl9lcnIgb25lcnIpCiB7Ci0JZm9yICggOyBsaXN0OyBsaXN0ID0gbGlzdC0+bmV4dCkKLQkJaWYgKCFzdHJjbXAobGlzdC0+bmFtZSwgbmFtZSkpCi0JCQlyZXR1cm4gKHN0cnVjdCByZWYgKilsaXN0OwotCXJldHVybiBOVUxMOworCXN0cnVjdCByZWZfbG9jayAqbG9jazsKKwlsb2NrID0gdXBkYXRlX3JlZl9sb2NrKHJlZm5hbWUsIG9sZHZhbCwgZmxhZ3MsIE5VTEwsIG9uZXJyKTsKKwlpZiAoIWxvY2spCisJCXJldHVybiAxOworCXJldHVybiB1cGRhdGVfcmVmX3dyaXRlKGFjdGlvbiwgcmVmbmFtZSwgc2hhMSwgbG9jaywgb25lcnIpOworfQorCitzdGF0aWMgaW50IHJlZl91cGRhdGVfY29tcGFyZShjb25zdCB2b2lkICpyMSwgY29uc3Qgdm9pZCAqcjIpCit7CisJY29uc3Qgc3RydWN0IHJlZl91cGRhdGUgKiBjb25zdCAqdTEgPSByMTsKKwljb25zdCBzdHJ1Y3QgcmVmX3VwZGF0ZSAqIGNvbnN0ICp1MiA9IHIyOworCXJldHVybiBzdHJjbXAoKCp1MSktPnJlZl9uYW1lLCAoKnUyKS0+cmVmX25hbWUpOworfQorCitzdGF0aWMgaW50IHJlZl91cGRhdGVfcmVqZWN0X2R1cGxpY2F0ZXMoc3RydWN0IHJlZl91cGRhdGUgKip1cGRhdGVzLCBpbnQgbiwKKwkJCQkJZW51bSBhY3Rpb25fb25fZXJyIG9uZXJyKQoreworCWludCBpOworCWZvciAoaSA9IDE7IGkgPCBuOyBpKyspCisJCWlmICghc3RyY21wKHVwZGF0ZXNbaSAtIDFdLT5yZWZfbmFtZSwgdXBkYXRlc1tpXS0+cmVmX25hbWUpKSB7CisJCQljb25zdCBjaGFyICpzdHIgPQorCQkJCSJNdWx0aXBsZSB1cGRhdGVzIGZvciByZWYgJyVzJyBub3QgYWxsb3dlZC4iOworCQkJc3dpdGNoIChvbmVycikgeworCQkJY2FzZSBNU0dfT05fRVJSOgorCQkJCWVycm9yKHN0ciwgdXBkYXRlc1tpXS0+cmVmX25hbWUpOyBicmVhazsKKwkJCWNhc2UgRElFX09OX0VSUjoKKwkJCQlkaWUoc3RyLCB1cGRhdGVzW2ldLT5yZWZfbmFtZSk7IGJyZWFrOworCQkJY2FzZSBRVUlFVF9PTl9FUlI6CisJCQkJYnJlYWs7CisJCQl9CisJCQlyZXR1cm4gMTsKKwkJfQorCXJldHVybiAwOworfQorCitpbnQgdXBkYXRlX3JlZnMoY29uc3QgY2hhciAqYWN0aW9uLCBjb25zdCBzdHJ1Y3QgcmVmX3VwZGF0ZSAqKnVwZGF0ZXNfb3JpZywKKwkJaW50IG4sIGVudW0gYWN0aW9uX29uX2VyciBvbmVycikKK3sKKwlpbnQgcmV0ID0gMCwgZGVsbnVtID0gMCwgaTsKKwlzdHJ1Y3QgcmVmX3VwZGF0ZSAqKnVwZGF0ZXM7CisJaW50ICp0eXBlczsKKwlzdHJ1Y3QgcmVmX2xvY2sgKipsb2NrczsKKwljb25zdCBjaGFyICoqZGVsbmFtZXM7CisKKwlpZiAoIXVwZGF0ZXNfb3JpZyB8fCAhbikKKwkJcmV0dXJuIDA7CisKKwkvKiBBbGxvY2F0ZSB3b3JrIHNwYWNlICovCisJdXBkYXRlcyA9IHhtYWxsb2Moc2l6ZW9mKCp1cGRhdGVzKSAqIG4pOworCXR5cGVzID0geG1hbGxvYyhzaXplb2YoKnR5cGVzKSAqIG4pOworCWxvY2tzID0geGNhbGxvYyhuLCBzaXplb2YoKmxvY2tzKSk7CisJZGVsbmFtZXMgPSB4bWFsbG9jKHNpemVvZigqZGVsbmFtZXMpICogbik7CisKKwkvKiBDb3B5LCBzb3J0LCBhbmQgcmVqZWN0IGR1cGxpY2F0ZSByZWZzICovCisJbWVtY3B5KHVwZGF0ZXMsIHVwZGF0ZXNfb3JpZywgc2l6ZW9mKCp1cGRhdGVzKSAqIG4pOworCXFzb3J0KHVwZGF0ZXMsIG4sIHNpemVvZigqdXBkYXRlcyksIHJlZl91cGRhdGVfY29tcGFyZSk7CisJcmV0ID0gcmVmX3VwZGF0ZV9yZWplY3RfZHVwbGljYXRlcyh1cGRhdGVzLCBuLCBvbmVycik7CisJaWYgKHJldCkKKwkJZ290byBjbGVhbnVwOworCisJLyogQWNxdWlyZSBhbGwgbG9ja3Mgd2hpbGUgdmVyaWZ5aW5nIG9sZCB2YWx1ZXMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CisJCWxvY2tzW2ldID0gdXBkYXRlX3JlZl9sb2NrKHVwZGF0ZXNbaV0tPnJlZl9uYW1lLAorCQkJCQkgICAodXBkYXRlc1tpXS0+aGF2ZV9vbGQgPworCQkJCQkgICAgdXBkYXRlc1tpXS0+b2xkX3NoYTEgOiBOVUxMKSwKKwkJCQkJICAgdXBkYXRlc1tpXS0+ZmxhZ3MsCisJCQkJCSAgICZ0eXBlc1tpXSwgb25lcnIpOworCQlpZiAoIWxvY2tzW2ldKSB7CisJCQlyZXQgPSAxOworCQkJZ290byBjbGVhbnVwOworCQl9CisJfQorCisJLyogUGVyZm9ybSB1cGRhdGVzIGZpcnN0IHNvIGxpdmUgY29tbWl0cyByZW1haW4gcmVmZXJlbmNlZCAqLworCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspCisJCWlmICghaXNfbnVsbF9zaGExKHVwZGF0ZXNbaV0tPm5ld19zaGExKSkgeworCQkJcmV0ID0gdXBkYXRlX3JlZl93cml0ZShhY3Rpb24sCisJCQkJCSAgICAgICB1cGRhdGVzW2ldLT5yZWZfbmFtZSwKKwkJCQkJICAgICAgIHVwZGF0ZXNbaV0tPm5ld19zaGExLAorCQkJCQkgICAgICAgbG9ja3NbaV0sIG9uZXJyKTsKKwkJCWxvY2tzW2ldID0gTlVMTDsgLyogZnJlZWQgYnkgdXBkYXRlX3JlZl93cml0ZSAqLworCQkJaWYgKHJldCkKKwkJCQlnb3RvIGNsZWFudXA7CisJCX0KKworCS8qIFBlcmZvcm0gZGVsZXRlcyBub3cgdGhhdCB1cGRhdGVzIGFyZSBzYWZlbHkgY29tcGxldGVkICovCisJZm9yIChpID0gMDsgaSA8IG47IGkrKykKKwkJaWYgKGxvY2tzW2ldKSB7CisJCQlkZWxuYW1lc1tkZWxudW0rK10gPSBsb2Nrc1tpXS0+cmVmX25hbWU7CisJCQlyZXQgfD0gZGVsZXRlX3JlZl9sb29zZShsb2Nrc1tpXSwgdHlwZXNbaV0pOworCQl9CisJcmV0IHw9IHJlcGFja193aXRob3V0X3JlZnMoZGVsbmFtZXMsIGRlbG51bSk7CisJZm9yIChpID0gMDsgaSA8IGRlbG51bTsgaSsrKQorCQl1bmxpbmtfb3Jfd2FybihnaXRfcGF0aCgibG9ncy8lcyIsIGRlbG5hbWVzW2ldKSk7CisJY2xlYXJfbG9vc2VfcmVmX2NhY2hlKCZyZWZfY2FjaGUpOworCitjbGVhbnVwOgorCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspCisJCWlmIChsb2Nrc1tpXSkKKwkJCXVubG9ja19yZWYobG9ja3NbaV0pOworCWZyZWUodXBkYXRlcyk7CisJZnJlZSh0eXBlcyk7CisJZnJlZShsb2Nrcyk7CisJZnJlZShkZWxuYW1lcyk7CisJcmV0dXJuIHJldDsKIH0KIAogLyoKQEAgLTMyMzksNyArMzM2OSw3IEBACiAJCXNpemVfdCB0b3RhbF9sZW4gPSAwOwogCiAJCS8qIHRoZSBydWxlIGxpc3QgaXMgTlVMTCB0ZXJtaW5hdGVkLCBjb3VudCB0aGVtIGZpcnN0ICovCi0JCWZvciAoOyByZWZfcmV2X3BhcnNlX3J1bGVzW25yX3J1bGVzXTsgbnJfcnVsZXMrKykKKwkJZm9yIChucl9ydWxlcyA9IDA7IHJlZl9yZXZfcGFyc2VfcnVsZXNbbnJfcnVsZXNdOyBucl9ydWxlcysrKQogCQkJLyogbm8gKzEgYmVjYXVzZSBzdHJsZW4oIiVzIikgPCBzdHJsZW4oIiUuKnMiKSAqLwogCQkJdG90YWxfbGVuICs9IHN0cmxlbihyZWZfcmV2X3BhcnNlX3J1bGVzW25yX3J1bGVzXSk7CiAKZGlmZiAtLWdpdCBhL3JlZnMuaCBiL3JlZnMuaAppbmRleCA5ZTVkYjNhLi44N2ExYTc5IDEwMDY0NAotLS0gYS9yZWZzLmgKKysrIGIvcmVmcy5oCkBAIC0xMCw2ICsxMCwyMCBAQAogCWludCBmb3JjZV93cml0ZTsKIH07CiAKKy8qKgorICogSW5mb3JtYXRpb24gbmVlZGVkIGZvciBhIHNpbmdsZSByZWYgdXBkYXRlLiAgU2V0IG5ld19zaGExIHRvIHRoZQorICogbmV3IHZhbHVlIG9yIHRvIHplcm8gdG8gZGVsZXRlIHRoZSByZWYuICBUbyBjaGVjayB0aGUgb2xkIHZhbHVlCisgKiB3aGlsZSBsb2NraW5nIHRoZSByZWYsIHNldCBoYXZlX29sZCB0byAxIGFuZCBzZXQgb2xkX3NoYTEgdG8gdGhlCisgKiB2YWx1ZSBvciB0byB6ZXJvIHRvIGVuc3VyZSB0aGUgcmVmIGRvZXMgbm90IGV4aXN0IGJlZm9yZSB1cGRhdGUuCisgKi8KK3N0cnVjdCByZWZfdXBkYXRlIHsKKwljb25zdCBjaGFyICpyZWZfbmFtZTsKKwl1bnNpZ25lZCBjaGFyIG5ld19zaGExWzIwXTsKKwl1bnNpZ25lZCBjaGFyIG9sZF9zaGExWzIwXTsKKwlpbnQgZmxhZ3M7IC8qIFJFRl9OT0RFUkVGPyAqLworCWludCBoYXZlX29sZDsgLyogMSBpZiBvbGRfc2hhMSBpcyB2YWxpZCwgMCBvdGhlcndpc2UgKi8KK307CisKIC8qCiAgKiBCaXQgdmFsdWVzIHNldCBpbiB0aGUgZmxhZ3MgYXJndW1lbnQgcGFzc2VkIHRvIGVhY2hfcmVmX2ZuKCk6CiAgKi8KQEAgLTEzNyw3ICsxNTEsNyBAQAogI2RlZmluZSBSRUZfTk9ERVJFRgkweDAxCiBleHRlcm4gc3RydWN0IHJlZl9sb2NrICpsb2NrX2FueV9yZWZfZm9yX3VwZGF0ZShjb25zdCBjaGFyICpyZWZuYW1lLAogCQkJCQkJY29uc3QgdW5zaWduZWQgY2hhciAqb2xkX3NoYTEsCi0JCQkJCQlpbnQgZmxhZ3MpOworCQkJCQkJaW50IGZsYWdzLCBpbnQgKnR5cGVfcCk7CiAKIC8qKiBDbG9zZSB0aGUgZmlsZSBkZXNjcmlwdG9yIG93bmVkIGJ5IGEgbG9jayBhbmQgcmV0dXJuIHRoZSBzdGF0dXMgKi8KIGV4dGVybiBpbnQgY2xvc2VfcmVmKHN0cnVjdCByZWZfbG9jayAqbG9jayk7CkBAIC0xNTEsMTQgKzE2NSw2IEBACiAvKiogV3JpdGVzIHNoYTEgaW50byB0aGUgcmVmIHNwZWNpZmllZCBieSB0aGUgbG9jay4gKiovCiBleHRlcm4gaW50IHdyaXRlX3JlZl9zaGExKHN0cnVjdCByZWZfbG9jayAqbG9jaywgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgY2hhciAqbXNnKTsKIAotLyoKLSAqIEludmFsaWRhdGUgdGhlIHJlZmVyZW5jZSBjYWNoZSBmb3IgdGhlIHNwZWNpZmllZCBzdWJtb2R1bGUuICBVc2UKLSAqIHN1Ym1vZHVsZT1OVUxMIHRvIGludmFsaWRhdGUgdGhlIGNhY2hlIGZvciB0aGUgbWFpbiBtb2R1bGUuICBUaGlzCi0gKiBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBpZiByZWZlcmVuY2VzIGFyZSBjaGFuZ2VkIHZpYSBhIG1lY2hhbmlzbQotICogb3RoZXIgdGhhbiB0aGUgcmVmcyBBUEkuCi0gKi8KLWV4dGVybiB2b2lkIGludmFsaWRhdGVfcmVmX2NhY2hlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSk7Ci0KIC8qKiBTZXR1cCByZWZsb2cgYmVmb3JlIHVzaW5nLiAqKi8KIGludCBsb2dfcmVmX3NldHVwKGNvbnN0IGNoYXIgKnJlZl9uYW1lLCBjaGFyICpsb2dmaWxlLCBpbnQgYnVmc2l6ZSk7CiAKQEAgLTIxNCw2ICsyMjAsMTIgQEAKIAkJY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgdW5zaWduZWQgY2hhciAqb2xkdmFsLAogCQlpbnQgZmxhZ3MsIGVudW0gYWN0aW9uX29uX2VyciBvbmVycik7CiAKKy8qKgorICogTG9jayBhbGwgcmVmcyBhbmQgdGhlbiBwZXJmb3JtIGFsbCBtb2RpZmljYXRpb25zLgorICovCitpbnQgdXBkYXRlX3JlZnMoY29uc3QgY2hhciAqYWN0aW9uLCBjb25zdCBzdHJ1Y3QgcmVmX3VwZGF0ZSAqKnVwZGF0ZXMsCisJCWludCBuLCBlbnVtIGFjdGlvbl9vbl9lcnIgb25lcnIpOworCiBleHRlcm4gaW50IHBhcnNlX2hpZGVfcmVmc19jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgY29uc3QgY2hhciAqKTsKIGV4dGVybiBpbnQgcmVmX2lzX2hpZGRlbihjb25zdCBjaGFyICopOwogCmRpZmYgLS1naXQgYS9yZW1vdGUtY3VybC5jIGIvcmVtb3RlLWN1cmwuYwppbmRleCBlZjE2ODRiLi5jOWI4OTFhIDEwMDY0NAotLS0gYS9yZW1vdGUtY3VybC5jCisrKyBiL3JlbW90ZS1jdXJsLmMKQEAgLTYsNiArNiw3IEBACiAjaW5jbHVkZSAiZXhlY19jbWQuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgogI2luY2x1ZGUgInBrdC1saW5lLmgiCisjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKICNpbmNsdWRlICJzaWRlYmFuZC5oIgogI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKICNpbmNsdWRlICJjcmVkZW50aWFsLmgiCkBAIC0xOCwxMSArMTksMTMgQEAKIAlpbnQgdmVyYm9zaXR5OwogCXVuc2lnbmVkIGxvbmcgZGVwdGg7CiAJdW5zaWduZWQgcHJvZ3Jlc3MgOiAxLAorCQljaGVja19zZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkIDogMSwKIAkJZm9sbG93dGFncyA6IDEsCiAJCWRyeV9ydW4gOiAxLAogCQl0aGluIDogMTsKIH07CiBzdGF0aWMgc3RydWN0IG9wdGlvbnMgb3B0aW9uczsKK3N0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgY2FzX29wdGlvbnMgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKIAogc3RhdGljIGludCBzZXRfb3B0aW9uKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQogewpAQCAtNjksNiArNzIsMjIgQEAKIAkJCXJldHVybiAtMTsKIAkJcmV0dXJuIDA7CiAJfQorCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwgImNoZWNrLWNvbm5lY3Rpdml0eSIpKSB7CisJCWlmICghc3RyY21wKHZhbHVlLCAidHJ1ZSIpKQorCQkJb3B0aW9ucy5jaGVja19zZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkID0gMTsKKwkJZWxzZSBpZiAoIXN0cmNtcCh2YWx1ZSwgImZhbHNlIikpCisJCQlvcHRpb25zLmNoZWNrX3NlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQgPSAwOworCQllbHNlCisJCQlyZXR1cm4gLTE7CisJCXJldHVybiAwOworCX0KKwllbHNlIGlmICghc3RyY21wKG5hbWUsICJjYXMiKSkgeworCQlzdHJ1Y3Qgc3RyYnVmIHZhbCA9IFNUUkJVRl9JTklUOworCQlzdHJidWZfYWRkZigmdmFsLCAiLS0iIENBU19PUFRfTkFNRSAiPSVzIiwgdmFsdWUpOworCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmNhc19vcHRpb25zLCB2YWwuYnVmKTsKKwkJc3RyYnVmX3JlbGVhc2UoJnZhbCk7CisJCXJldHVybiAwOworCX0KIAllbHNlIHsKIAkJcmV0dXJuIDEgLyogdW5zdXBwb3J0ZWQgKi87CiAJfQpAQCAtNjY5LDcgKzY4OCw3IEBACiAJc3RydWN0IHN0cmJ1ZiBwcmVhbWJsZSA9IFNUUkJVRl9JTklUOwogCWNoYXIgKmRlcHRoX2FyZyA9IE5VTEw7CiAJaW50IGFyZ2MgPSAwLCBpLCBlcnI7Ci0JY29uc3QgY2hhciAqYXJndlsxNV07CisJY29uc3QgY2hhciAqYXJndlsxNl07CiAKIAlhcmd2W2FyZ2MrK10gPSAiZmV0Y2gtcGFjayI7CiAJYXJndlthcmdjKytdID0gIi0tc3RhdGVsZXNzLXJwYyI7CkBAIC02ODMsNiArNzAyLDggQEAKIAkJYXJndlthcmdjKytdID0gIi12IjsKIAkJYXJndlthcmdjKytdID0gIi12IjsKIAl9CisJaWYgKG9wdGlvbnMuY2hlY2tfc2VsZl9jb250YWluZWRfYW5kX2Nvbm5lY3RlZCkKKwkJYXJndlthcmdjKytdID0gIi0tY2hlY2stc2VsZi1jb250YWluZWQtYW5kLWNvbm5lY3RlZCI7CiAJaWYgKCFvcHRpb25zLnByb2dyZXNzKQogCQlhcmd2W2FyZ2MrK10gPSAiLS1uby1wcm9ncmVzcyI7CiAJaWYgKG9wdGlvbnMuZGVwdGgpIHsKQEAgLTgwNSw2ICs4MjYsNyBAQAogCXN0cnVjdCBycGNfc3RhdGUgcnBjOwogCWludCBpLCBlcnI7CiAJc3RydWN0IGFyZ3ZfYXJyYXkgYXJnczsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqY2FzX29wdGlvbjsKIAogCWFyZ3ZfYXJyYXlfaW5pdCgmYXJncyk7CiAJYXJndl9hcnJheV9wdXNobCgmYXJncywgInNlbmQtcGFjayIsICItLXN0YXRlbGVzcy1ycGMiLCAiLS1oZWxwZXItc3RhdHVzIiwKQEAgLTgxOSw2ICs4NDEsOCBAQAogCWVsc2UgaWYgKG9wdGlvbnMudmVyYm9zaXR5ID4gMSkKIAkJYXJndl9hcnJheV9wdXNoKCZhcmdzLCAiLS12ZXJib3NlIik7CiAJYXJndl9hcnJheV9wdXNoKCZhcmdzLCBvcHRpb25zLnByb2dyZXNzID8gIi0tcHJvZ3Jlc3MiIDogIi0tbm8tcHJvZ3Jlc3MiKTsKKwlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGNhc19vcHRpb24sICZjYXNfb3B0aW9ucykKKwkJYXJndl9hcnJheV9wdXNoKCZhcmdzLCBjYXNfb3B0aW9uLT5zdHJpbmcpOwogCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgdXJsLmJ1Zik7CiAJZm9yIChpID0gMDsgaSA8IG5yX3NwZWM7IGkrKykKIAkJYXJndl9hcnJheV9wdXNoKCZhcmdzLCBzcGVjc1tpXSk7CkBAIC05NTIsNiArOTc2LDcgQEAKIAkJCXByaW50ZigiZmV0Y2hcbiIpOwogCQkJcHJpbnRmKCJvcHRpb25cbiIpOwogCQkJcHJpbnRmKCJwdXNoXG4iKTsKKwkJCXByaW50ZigiY2hlY2stY29ubmVjdGl2aXR5XG4iKTsKIAkJCXByaW50ZigiXG4iKTsKIAkJCWZmbHVzaChzdGRvdXQpOwogCQl9IGVsc2UgewpkaWZmIC0tZ2l0IGEvcmVtb3RlLmMgYi9yZW1vdGUuYwppbmRleCBlZmNiYTkzLi45ZjFhOGFhIDEwMDY0NAotLS0gYS9yZW1vdGUuYworKysgYi9yZW1vdGUuYwpAQCAtMTQ4LDYgKzE0OCw3IEBACiAJfQogCiAJcmV0ID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHJlbW90ZSkpOworCXJldC0+cHJ1bmUgPSAtMTsgIC8qIHVuc3BlY2lmaWVkICovCiAJQUxMT0NfR1JPVyhyZW1vdGVzLCByZW1vdGVzX25yICsgMSwgcmVtb3Rlc19hbGxvYyk7CiAJcmVtb3Rlc1tyZW1vdGVzX25yKytdID0gcmV0OwogCWlmIChsZW4pCkBAIC00MDQsNiArNDA1LDggQEAKIAkJcmVtb3RlLT5za2lwX2RlZmF1bHRfdXBkYXRlID0gZ2l0X2NvbmZpZ19ib29sKGtleSwgdmFsdWUpOwogCWVsc2UgaWYgKCFzdHJjbXAoc3Via2V5LCAiLnNraXBmZXRjaGFsbCIpKQogCQlyZW1vdGUtPnNraXBfZGVmYXVsdF91cGRhdGUgPSBnaXRfY29uZmlnX2Jvb2woa2V5LCB2YWx1ZSk7CisJZWxzZSBpZiAoIXN0cmNtcChzdWJrZXksICIucHJ1bmUiKSkKKwkJcmVtb3RlLT5wcnVuZSA9IGdpdF9jb25maWdfYm9vbChrZXksIHZhbHVlKTsKIAllbHNlIGlmICghc3RyY21wKHN1YmtleSwgIi51cmwiKSkgewogCQljb25zdCBjaGFyICp2OwogCQlpZiAoZ2l0X2NvbmZpZ19zdHJpbmcoJnYsIGtleSwgdmFsdWUpKQpAQCAtNDgwLDcgKzQ4Myw3IEBACiAJaW50IGZsYWc7CiAJaWYgKGRlZmF1bHRfcmVtb3RlX25hbWUpIC8qIGRpZCB0aGlzIGFscmVhZHkgKi8KIAkJcmV0dXJuOwotCWRlZmF1bHRfcmVtb3RlX25hbWUgPSB4c3RyZHVwKCJvcmlnaW4iKTsKKwlkZWZhdWx0X3JlbW90ZV9uYW1lID0gIm9yaWdpbiI7CiAJY3VycmVudF9icmFuY2ggPSBOVUxMOwogCWhlYWRfcmVmID0gcmVzb2x2ZV9yZWZfdW5zYWZlKCJIRUFEIiwgc2hhMSwgMCwgJmZsYWcpOwogCWlmIChoZWFkX3JlZiAmJiAoZmxhZyAmIFJFRl9JU1NZTVJFRikgJiYKQEAgLTEzMDIsNiArMTMwNSwxNCBAQAogCWZyZWUoc2VudF90aXBzLnRpcCk7CiB9CiAKK3N0cnVjdCByZWYgKmZpbmRfcmVmX2J5X25hbWUoY29uc3Qgc3RydWN0IHJlZiAqbGlzdCwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlmb3IgKCA7IGxpc3Q7IGxpc3QgPSBsaXN0LT5uZXh0KQorCQlpZiAoIXN0cmNtcChsaXN0LT5uYW1lLCBuYW1lKSkKKwkJCXJldHVybiAoc3RydWN0IHJlZiAqKWxpc3Q7CisJcmV0dXJuIE5VTEw7Cit9CisKIHN0YXRpYyB2b2lkIHByZXBhcmVfcmVmX2luZGV4KHN0cnVjdCBzdHJpbmdfbGlzdCAqcmVmX2luZGV4LCBzdHJ1Y3QgcmVmICpyZWYpCiB7CiAJZm9yICggOyByZWY7IHJlZiA9IHJlZi0+bmV4dCkKQEAgLTE0MTEsMTIgKzE0MjIsMTMgQEAKIH0KIAogdm9pZCBzZXRfcmVmX3N0YXR1c19mb3JfcHVzaChzdHJ1Y3QgcmVmICpyZW1vdGVfcmVmcywgaW50IHNlbmRfbWlycm9yLAotCWludCBmb3JjZV91cGRhdGUpCisJCQkgICAgIGludCBmb3JjZV91cGRhdGUpCiB7CiAJc3RydWN0IHJlZiAqcmVmOwogCiAJZm9yIChyZWYgPSByZW1vdGVfcmVmczsgcmVmOyByZWYgPSByZWYtPm5leHQpIHsKIAkJaW50IGZvcmNlX3JlZl91cGRhdGUgPSByZWYtPmZvcmNlIHx8IGZvcmNlX3VwZGF0ZTsKKwkJaW50IHJlamVjdF9yZWFzb24gPSAwOwogCiAJCWlmIChyZWYtPnBlZXJfcmVmKQogCQkJaGFzaGNweShyZWYtPm5ld19zaGExLCByZWYtPnBlZXJfcmVmLT5uZXdfc2hhMSk7CkBAIC0xNDMxLDYgKzE0NDMsMjYgQEAKIAkJfQogCiAJCS8qCisJCSAqIEJ5cGFzcyB0aGUgdXN1YWwgIm11c3QgZmFzdC1mb3J3YXJkIiBjaGVjayBidXQKKwkJICogcmVwbGFjZSBpdCB3aXRoIGEgd2Vha2VyICJ0aGUgb2xkIHZhbHVlIG11c3QgYmUKKwkJICogdGhpcyB2YWx1ZSB3ZSBvYnNlcnZlZCIuICBJZiB0aGUgcmVtb3RlIHJlZiBoYXMKKwkJICogbW92ZWQgYW5kIGlzIG5vdyBkaWZmZXJlbnQgZnJvbSB3aGF0IHdlIGV4cGVjdCwKKwkJICogcmVqZWN0IGFueSBwdXNoLgorCQkgKgorCQkgKiBJdCBhbHNvIGlzIGFuIGVycm9yIGlmIHRoZSB1c2VyIHRvbGQgdXMgdG8gY2hlY2sKKwkJICogd2l0aCB0aGUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCB0byBmaW5kIHRoZSB2YWx1ZQorCQkgKiB0byBleHBlY3QsIGJ1dCB3ZSBkaWQgbm90IGhhdmUgc3VjaCBhIHRyYWNraW5nCisJCSAqIGJyYW5jaC4KKwkJICovCisJCWlmIChyZWYtPmV4cGVjdF9vbGRfc2hhMSkgeworCQkJaWYgKHJlZi0+ZXhwZWN0X29sZF9ub190cmFja2JhY2sgfHwKKwkJCSAgICBoYXNoY21wKHJlZi0+b2xkX3NoYTEsIHJlZi0+b2xkX3NoYTFfZXhwZWN0KSkKKwkJCQlyZWplY3RfcmVhc29uID0gUkVGX1NUQVRVU19SRUpFQ1RfU1RBTEU7CisJCX0KKworCQkvKgorCQkgKiBUaGUgdXN1YWwgIm11c3QgZmFzdC1mb3J3YXJkIiBydWxlcy4KKwkJICoKIAkJICogRGVjaWRlIHdoZXRoZXIgYW4gaW5kaXZpZHVhbCByZWZzcGVjIEE6QiBjYW4gYmUKIAkJICogcHVzaGVkLiAgVGhlIHB1c2ggd2lsbCBzdWNjZWVkIGlmIGFueSBvZiB0aGUKIAkJICogZm9sbG93aW5nIGFyZSB0cnVlOgpAQCAtMTQ0OCwyNCArMTQ4MCwyNiBAQAogCQkgKiAgICAgcGFzc2luZyB0aGUgLS1mb3JjZSBhcmd1bWVudAogCQkgKi8KIAotCQlpZiAoIXJlZi0+ZGVsZXRpb24gJiYgIWlzX251bGxfc2hhMShyZWYtPm9sZF9zaGExKSkgewotCQkJaW50IHdoeSA9IDA7IC8qIHdoeSB3b3VsZCB0aGlzIHB1c2ggcmVxdWlyZSAtLWZvcmNlPyAqLwotCisJCWVsc2UgaWYgKCFyZWYtPmRlbGV0aW9uICYmICFpc19udWxsX3NoYTEocmVmLT5vbGRfc2hhMSkpIHsKIAkJCWlmICghcHJlZml4Y21wKHJlZi0+bmFtZSwgInJlZnMvdGFncy8iKSkKLQkJCQl3aHkgPSBSRUZfU1RBVFVTX1JFSkVDVF9BTFJFQURZX0VYSVNUUzsKKwkJCQlyZWplY3RfcmVhc29uID0gUkVGX1NUQVRVU19SRUpFQ1RfQUxSRUFEWV9FWElTVFM7CiAJCQllbHNlIGlmICghaGFzX3NoYTFfZmlsZShyZWYtPm9sZF9zaGExKSkKLQkJCQl3aHkgPSBSRUZfU1RBVFVTX1JFSkVDVF9GRVRDSF9GSVJTVDsKKwkJCQlyZWplY3RfcmVhc29uID0gUkVGX1NUQVRVU19SRUpFQ1RfRkVUQ0hfRklSU1Q7CiAJCQllbHNlIGlmICghbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHJlZi0+b2xkX3NoYTEsIDEpIHx8CiAJCQkJICFsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkocmVmLT5uZXdfc2hhMSwgMSkpCi0JCQkJd2h5ID0gUkVGX1NUQVRVU19SRUpFQ1RfTkVFRFNfRk9SQ0U7CisJCQkJcmVqZWN0X3JlYXNvbiA9IFJFRl9TVEFUVVNfUkVKRUNUX05FRURTX0ZPUkNFOwogCQkJZWxzZSBpZiAoIXJlZl9uZXdlcihyZWYtPm5ld19zaGExLCByZWYtPm9sZF9zaGExKSkKLQkJCQl3aHkgPSBSRUZfU1RBVFVTX1JFSkVDVF9OT05GQVNURk9SV0FSRDsKLQotCQkJaWYgKCFmb3JjZV9yZWZfdXBkYXRlKQotCQkJCXJlZi0+c3RhdHVzID0gd2h5OwotCQkJZWxzZSBpZiAod2h5KQotCQkJCXJlZi0+Zm9yY2VkX3VwZGF0ZSA9IDE7CisJCQkJcmVqZWN0X3JlYXNvbiA9IFJFRl9TVEFUVVNfUkVKRUNUX05PTkZBU1RGT1JXQVJEOwogCQl9CisKKwkJLyoKKwkJICogIi0tZm9yY2UiIHdpbGwgZGVmZWF0IGFueSByZWplY3Rpb24gaW1wbGVtZW50ZWQKKwkJICogYnkgdGhlIHJ1bGVzIGFib3ZlLgorCQkgKi8KKwkJaWYgKCFmb3JjZV9yZWZfdXBkYXRlKQorCQkJcmVmLT5zdGF0dXMgPSByZWplY3RfcmVhc29uOworCQllbHNlIGlmIChyZWplY3RfcmVhc29uKQorCQkJcmVmLT5mb3JjZWRfdXBkYXRlID0gMTsKIAl9CiB9CiAKQEAgLTE2OTUsNyArMTcyOSwxMSBAQAogfQogCiAvKgotICogUmV0dXJuIHRydWUgaWYgdGhlcmUgaXMgYW55dGhpbmcgdG8gcmVwb3J0LCBvdGhlcndpc2UgZmFsc2UuCisgKiBDb21wYXJlIGEgYnJhbmNoIHdpdGggaXRzIHVwc3RyZWFtLCBhbmQgc2F2ZSB0aGVpciBkaWZmZXJlbmNlcyAobnVtYmVyCisgKiBvZiBjb21taXRzKSBpbiAqbnVtX291cnMgYW5kICpudW1fdGhlaXJzLgorICoKKyAqIFJldHVybiAwIGlmIGJyYW5jaCBoYXMgbm8gdXBzdHJlYW0gKG5vIGJhc2UpLCAtMSBpZiB1cHN0cmVhbSBpcyBtaXNzaW5nCisgKiAod2l0aCAiZ29uZSIgYmFzZSksIG90aGVyd2lzZSAxICh3aXRoIGJhc2UpLgogICovCiBpbnQgc3RhdF90cmFja2luZ19pbmZvKHN0cnVjdCBicmFuY2ggKmJyYW5jaCwgaW50ICpudW1fb3VycywgaW50ICpudW1fdGhlaXJzKQogewpAQCAtMTcwNiwzNCArMTc0NCwzMCBAQAogCWNvbnN0IGNoYXIgKnJldl9hcmd2WzEwXSwgKmJhc2U7CiAJaW50IHJldl9hcmdjOwogCi0JLyoKLQkgKiBOb3RoaW5nIHRvIHJlcG9ydCB1bmxlc3Mgd2UgYXJlIG1hcmtlZCB0byBidWlsZCBvbiB0b3Agb2YKLQkgKiBzb21lYm9keSBlbHNlLgotCSAqLworCS8qIENhbm5vdCBzdGF0IHVubGVzcyB3ZSBhcmUgbWFya2VkIHRvIGJ1aWxkIG9uIHRvcCBvZiBzb21lYm9keSBlbHNlLiAqLwogCWlmICghYnJhbmNoIHx8CiAJICAgICFicmFuY2gtPm1lcmdlIHx8ICFicmFuY2gtPm1lcmdlWzBdIHx8ICFicmFuY2gtPm1lcmdlWzBdLT5kc3QpCiAJCXJldHVybiAwOwogCi0JLyoKLQkgKiBJZiB3aGF0IHdlIHVzZWQgdG8gYnVpbGQgb24gbm8gbG9uZ2VyIGV4aXN0cywgdGhlcmUgaXMKLQkgKiBub3RoaW5nIHRvIHJlcG9ydC4KLQkgKi8KKwkvKiBDYW5ub3Qgc3RhdCBpZiB3aGF0IHdlIHVzZWQgdG8gYnVpbGQgb24gbm8gbG9uZ2VyIGV4aXN0cyAqLwogCWJhc2UgPSBicmFuY2gtPm1lcmdlWzBdLT5kc3Q7CiAJaWYgKHJlYWRfcmVmKGJhc2UsIHNoYTEpKQotCQlyZXR1cm4gMDsKKwkJcmV0dXJuIC0xOwogCXRoZWlycyA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHNoYTEpOwogCWlmICghdGhlaXJzKQotCQlyZXR1cm4gMDsKKwkJcmV0dXJuIC0xOwogCiAJaWYgKHJlYWRfcmVmKGJyYW5jaC0+cmVmbmFtZSwgc2hhMSkpCi0JCXJldHVybiAwOworCQlyZXR1cm4gLTE7CiAJb3VycyA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHNoYTEpOwogCWlmICghb3VycykKLQkJcmV0dXJuIDA7CisJCXJldHVybiAtMTsKIAogCS8qIGFyZSB3ZSB0aGUgc2FtZT8gKi8KLQlpZiAodGhlaXJzID09IG91cnMpCi0JCXJldHVybiAwOworCWlmICh0aGVpcnMgPT0gb3VycykgeworCQkqbnVtX3RoZWlycyA9ICpudW1fb3VycyA9IDA7CisJCXJldHVybiAxOworCX0KIAogCS8qIFJ1biAicmV2LWxpc3QgLS1sZWZ0LXJpZ2h0IG91cnMuLi50aGVpcnMiIGludGVybmFsbHkuLi4gKi8KIAlyZXZfYXJnYyA9IDA7CkBAIC0xNzc1LDMxICsxODA5LDUzIEBACiAgKi8KIGludCBmb3JtYXRfdHJhY2tpbmdfaW5mbyhzdHJ1Y3QgYnJhbmNoICpicmFuY2gsIHN0cnVjdCBzdHJidWYgKnNiKQogewotCWludCBudW1fb3VycywgbnVtX3RoZWlyczsKKwlpbnQgb3VycywgdGhlaXJzOwogCWNvbnN0IGNoYXIgKmJhc2U7CisJaW50IHVwc3RyZWFtX2lzX2dvbmUgPSAwOwogCi0JaWYgKCFzdGF0X3RyYWNraW5nX2luZm8oYnJhbmNoLCAmbnVtX291cnMsICZudW1fdGhlaXJzKSkKKwlzd2l0Y2ggKHN0YXRfdHJhY2tpbmdfaW5mbyhicmFuY2gsICZvdXJzLCAmdGhlaXJzKSkgeworCWNhc2UgMDoKKwkJLyogbm8gYmFzZSAqLwogCQlyZXR1cm4gMDsKKwljYXNlIC0xOgorCQkvKiB3aXRoICJnb25lIiBiYXNlICovCisJCXVwc3RyZWFtX2lzX2dvbmUgPSAxOworCQlicmVhazsKKwlkZWZhdWx0OgorCQkvKiB3aXRoIGJhc2UgKi8KKwkJYnJlYWs7CisJfQogCiAJYmFzZSA9IGJyYW5jaC0+bWVyZ2VbMF0tPmRzdDsKIAliYXNlID0gc2hvcnRlbl91bmFtYmlndW91c19yZWYoYmFzZSwgMCk7Ci0JaWYgKCFudW1fdGhlaXJzKSB7CisJaWYgKHVwc3RyZWFtX2lzX2dvbmUpIHsKKwkJc3RyYnVmX2FkZGYoc2IsCisJCQlfKCJZb3VyIGJyYW5jaCBpcyBiYXNlZCBvbiAnJXMnLCBidXQgdGhlIHVwc3RyZWFtIGlzIGdvbmUuXG4iKSwKKwkJCWJhc2UpOworCQlpZiAoYWR2aWNlX3N0YXR1c19oaW50cykKKwkJCXN0cmJ1Zl9hZGRmKHNiLAorCQkJCV8oIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIikpOworCX0gZWxzZSBpZiAoIW91cnMgJiYgIXRoZWlycykgeworCQlzdHJidWZfYWRkZihzYiwKKwkJCV8oIllvdXIgYnJhbmNoIGlzIHVwLXRvLWRhdGUgd2l0aCAnJXMnLlxuIiksCisJCQliYXNlKTsKKwl9IGVsc2UgaWYgKCF0aGVpcnMpIHsKIAkJc3RyYnVmX2FkZGYoc2IsCiAJCQlRXygiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iLAogCQkJICAgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIsCi0JCQkgICBudW1fb3VycyksCi0JCQliYXNlLCBudW1fb3Vycyk7CisJCQkgICBvdXJzKSwKKwkJCWJhc2UsIG91cnMpOwogCQlpZiAoYWR2aWNlX3N0YXR1c19oaW50cykKIAkJCXN0cmJ1Zl9hZGRmKHNiLAogCQkJCV8oIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iKSk7Ci0JfSBlbHNlIGlmICghbnVtX291cnMpIHsKKwl9IGVsc2UgaWYgKCFvdXJzKSB7CiAJCXN0cmJ1Zl9hZGRmKHNiLAogCQkJUV8oIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdCwgIgogCQkJICAgICAgICJhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIiwKIAkJCSAgICJZb3VyIGJyYW5jaCBpcyBiZWhpbmQgJyVzJyBieSAlZCBjb21taXRzLCAiCiAJCQkgICAgICAgImFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iLAotCQkJICAgbnVtX3RoZWlycyksCi0JCQliYXNlLCBudW1fdGhlaXJzKTsKKwkJCSAgIHRoZWlycyksCisJCQliYXNlLCB0aGVpcnMpOwogCQlpZiAoYWR2aWNlX3N0YXR1c19oaW50cykKIAkJCXN0cmJ1Zl9hZGRmKHNiLAogCQkJCV8oIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIikpOwpAQCAtMTgxMSw4ICsxODY3LDggQEAKIAkJCSAgICJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgogCQkJICAgICAgICJhbmQgaGF2ZSAlZCBhbmQgJWQgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgIgogCQkJICAgICAgICJyZXNwZWN0aXZlbHkuXG4iLAotCQkJICAgbnVtX3RoZWlycyksCi0JCQliYXNlLCBudW1fb3VycywgbnVtX3RoZWlycyk7CisJCQkgICB0aGVpcnMpLAorCQkJYmFzZSwgb3VycywgdGhlaXJzKTsKIAkJaWYgKGFkdmljZV9zdGF0dXNfaGludHMpCiAJCQlzdHJidWZfYWRkZihzYiwKIAkJCQlfKCIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iKSk7CkBAIC0xOTM2LDMgKzE5OTIsMTIxIEBACiAJc3RyaW5nX2xpc3RfY2xlYXIoJnJlZl9uYW1lcywgMCk7CiAJcmV0dXJuIHN0YWxlX3JlZnM7CiB9CisKKy8qCisgKiBDb21wYXJlLWFuZC1zd2FwCisgKi8KK3ZvaWQgY2xlYXJfY2FzX29wdGlvbihzdHJ1Y3QgcHVzaF9jYXNfb3B0aW9uICpjYXMpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgY2FzLT5ucjsgaSsrKQorCQlmcmVlKGNhcy0+ZW50cnlbaV0ucmVmbmFtZSk7CisJZnJlZShjYXMtPmVudHJ5KTsKKwltZW1zZXQoY2FzLCAwLCBzaXplb2YoKmNhcykpOworfQorCitzdGF0aWMgc3RydWN0IHB1c2hfY2FzICphZGRfY2FzX2VudHJ5KHN0cnVjdCBwdXNoX2Nhc19vcHRpb24gKmNhcywKKwkJCQkgICAgICBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJCSAgICAgIHNpemVfdCByZWZuYW1lbGVuKQoreworCXN0cnVjdCBwdXNoX2NhcyAqZW50cnk7CisJQUxMT0NfR1JPVyhjYXMtPmVudHJ5LCBjYXMtPm5yICsgMSwgY2FzLT5hbGxvYyk7CisJZW50cnkgPSAmY2FzLT5lbnRyeVtjYXMtPm5yKytdOworCW1lbXNldChlbnRyeSwgMCwgc2l6ZW9mKCplbnRyeSkpOworCWVudHJ5LT5yZWZuYW1lID0geG1lbWR1cHoocmVmbmFtZSwgcmVmbmFtZWxlbik7CisJcmV0dXJuIGVudHJ5OworfQorCitpbnQgcGFyc2VfcHVzaF9jYXNfb3B0aW9uKHN0cnVjdCBwdXNoX2Nhc19vcHRpb24gKmNhcywgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCit7CisJY29uc3QgY2hhciAqY29sb247CisJc3RydWN0IHB1c2hfY2FzICplbnRyeTsKKworCWlmICh1bnNldCkgeworCQkvKiAiLS1uby08b3B0aW9uPiIgKi8KKwkJY2xlYXJfY2FzX29wdGlvbihjYXMpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoIWFyZykgeworCQkvKiBqdXN0ICItLTxvcHRpb24+IiAqLworCQljYXMtPnVzZV90cmFja2luZ19mb3JfcmVzdCA9IDE7CisJCXJldHVybiAwOworCX0KKworCS8qICItLTxvcHRpb24+PXJlZm5hbWUiIG9yICItLTxvcHRpb24+PXJlZm5hbWU6dmFsdWUiICovCisJY29sb24gPSBzdHJjaHJudWwoYXJnLCAnOicpOworCWVudHJ5ID0gYWRkX2Nhc19lbnRyeShjYXMsIGFyZywgY29sb24gLSBhcmcpOworCWlmICghKmNvbG9uKQorCQllbnRyeS0+dXNlX3RyYWNraW5nID0gMTsKKwllbHNlIGlmIChnZXRfc2hhMShjb2xvbiArIDEsIGVudHJ5LT5leHBlY3QpKQorCQlyZXR1cm4gZXJyb3IoImNhbm5vdCBwYXJzZSBleHBlY3RlZCBvYmplY3QgbmFtZSAnJXMnIiwgY29sb24gKyAxKTsKKwlyZXR1cm4gMDsKK30KKworaW50IHBhcnNlb3B0X3B1c2hfY2FzX29wdGlvbihjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQoreworCXJldHVybiBwYXJzZV9wdXNoX2Nhc19vcHRpb24ob3B0LT52YWx1ZSwgYXJnLCB1bnNldCk7Cit9CisKK2ludCBpc19lbXB0eV9jYXMoY29uc3Qgc3RydWN0IHB1c2hfY2FzX29wdGlvbiAqY2FzKQoreworCXJldHVybiAhY2FzLT51c2VfdHJhY2tpbmdfZm9yX3Jlc3QgJiYgIWNhcy0+bnI7Cit9CisKKy8qCisgKiBMb29rIGF0IHJlbW90ZS5mZXRjaCByZWZzcGVjIGFuZCBzZWUgaWYgd2UgaGF2ZSBhIHJlbW90ZQorICogdHJhY2tpbmcgYnJhbmNoIGZvciB0aGUgcmVmbmFtZSB0aGVyZS4gIEZpbGwgaXRzIGN1cnJlbnQKKyAqIHZhbHVlIGluIHNoYTFbXS4KKyAqIElmIHdlIGNhbm5vdCBkbyBzbywgcmV0dXJuIG5lZ2F0aXZlIHRvIHNpZ25hbCBhbiBlcnJvci4KKyAqLworc3RhdGljIGludCByZW1vdGVfdHJhY2tpbmcoc3RydWN0IHJlbW90ZSAqcmVtb3RlLCBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJICAgdW5zaWduZWQgY2hhciBzaGExWzIwXSkKK3sKKwljaGFyICpkc3Q7CisKKwlkc3QgPSBhcHBseV9yZWZzcGVjcyhyZW1vdGUtPmZldGNoLCByZW1vdGUtPmZldGNoX3JlZnNwZWNfbnIsIHJlZm5hbWUpOworCWlmICghZHN0KQorCQlyZXR1cm4gLTE7IC8qIG5vIHRyYWNraW5nIHJlZiBmb3IgcmVmbmFtZSBhdCByZW1vdGUgKi8KKwlpZiAocmVhZF9yZWYoZHN0LCBzaGExKSkKKwkJcmV0dXJuIC0xOyAvKiB3ZSBrbm93IHdoYXQgdGhlIHRyYWNraW5nIHJlZiBpcyBidXQgd2UgY2Fubm90IHJlYWQgaXQgKi8KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgYXBwbHlfY2FzKHN0cnVjdCBwdXNoX2Nhc19vcHRpb24gKmNhcywKKwkJICAgICAgc3RydWN0IHJlbW90ZSAqcmVtb3RlLAorCQkgICAgICBzdHJ1Y3QgcmVmICpyZWYpCit7CisJaW50IGk7CisKKwkvKiBGaW5kIGFuIGV4cGxpY2l0IC0tPG9wdGlvbj49PG5hbWU+Wzo8dmFsdWU+XSBlbnRyeSAqLworCWZvciAoaSA9IDA7IGkgPCBjYXMtPm5yOyBpKyspIHsKKwkJc3RydWN0IHB1c2hfY2FzICplbnRyeSA9ICZjYXMtPmVudHJ5W2ldOworCQlpZiAoIXJlZm5hbWVfbWF0Y2goZW50cnktPnJlZm5hbWUsIHJlZi0+bmFtZSwgcmVmX3Jldl9wYXJzZV9ydWxlcykpCisJCQljb250aW51ZTsKKwkJcmVmLT5leHBlY3Rfb2xkX3NoYTEgPSAxOworCQlpZiAoIWVudHJ5LT51c2VfdHJhY2tpbmcpCisJCQloYXNoY3B5KHJlZi0+b2xkX3NoYTFfZXhwZWN0LCBjYXMtPmVudHJ5W2ldLmV4cGVjdCk7CisJCWVsc2UgaWYgKHJlbW90ZV90cmFja2luZyhyZW1vdGUsIHJlZi0+bmFtZSwgcmVmLT5vbGRfc2hhMV9leHBlY3QpKQorCQkJcmVmLT5leHBlY3Rfb2xkX25vX3RyYWNrYmFjayA9IDE7CisJCXJldHVybjsKKwl9CisKKwkvKiBBcmUgd2UgdXNpbmcgIi0tPG9wdGlvbj4iIHRvIGNvdmVyIGFsbD8gKi8KKwlpZiAoIWNhcy0+dXNlX3RyYWNraW5nX2Zvcl9yZXN0KQorCQlyZXR1cm47CisKKwlyZWYtPmV4cGVjdF9vbGRfc2hhMSA9IDE7CisJaWYgKHJlbW90ZV90cmFja2luZyhyZW1vdGUsIHJlZi0+bmFtZSwgcmVmLT5vbGRfc2hhMV9leHBlY3QpKQorCQlyZWYtPmV4cGVjdF9vbGRfbm9fdHJhY2tiYWNrID0gMTsKK30KKwordm9pZCBhcHBseV9wdXNoX2NhcyhzdHJ1Y3QgcHVzaF9jYXNfb3B0aW9uICpjYXMsCisJCSAgICBzdHJ1Y3QgcmVtb3RlICpyZW1vdGUsCisJCSAgICBzdHJ1Y3QgcmVmICpyZW1vdGVfcmVmcykKK3sKKwlzdHJ1Y3QgcmVmICpyZWY7CisJZm9yIChyZWYgPSByZW1vdGVfcmVmczsgcmVmOyByZWYgPSByZWYtPm5leHQpCisJCWFwcGx5X2NhcyhjYXMsIHJlbW90ZSwgcmVmKTsKK30KZGlmZiAtLWdpdCBhL3JlbW90ZS5oIGIvcmVtb3RlLmgKaW5kZXggY2Y1NjcyNC4uMTMxMTMwYSAxMDA2NDQKLS0tIGEvcmVtb3RlLmgKKysrIGIvcmVtb3RlLmgKQEAgLTEsNiArMSw4IEBACiAjaWZuZGVmIFJFTU9URV9ICiAjZGVmaW5lIFJFTU9URV9ICiAKKyNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCisKIGVudW0gewogCVJFTU9URV9DT05GSUcsCiAJUkVNT1RFX1JFTU9URVMsCkBAIC00MCw2ICs0Miw3IEBACiAJaW50IGZldGNoX3RhZ3M7CiAJaW50IHNraXBfZGVmYXVsdF91cGRhdGU7CiAJaW50IG1pcnJvcjsKKwlpbnQgcHJ1bmU7CiAKIAljb25zdCBjaGFyICpyZWNlaXZlcGFjazsKIAljb25zdCBjaGFyICp1cGxvYWRwYWNrOwpAQCAtNzEsNiArNzQsNTYgQEAKIAogZXh0ZXJuIGNvbnN0IHN0cnVjdCByZWZzcGVjICp0YWdfcmVmc3BlYzsKIAorc3RydWN0IHJlZiB7CisJc3RydWN0IHJlZiAqbmV4dDsKKwl1bnNpZ25lZCBjaGFyIG9sZF9zaGExWzIwXTsKKwl1bnNpZ25lZCBjaGFyIG5ld19zaGExWzIwXTsKKwl1bnNpZ25lZCBjaGFyIG9sZF9zaGExX2V4cGVjdFsyMF07IC8qIHVzZWQgYnkgZXhwZWN0LW9sZCAqLworCWNoYXIgKnN5bXJlZjsKKwl1bnNpZ25lZCBpbnQKKwkJZm9yY2U6MSwKKwkJZm9yY2VkX3VwZGF0ZToxLAorCQlleHBlY3Rfb2xkX3NoYTE6MSwKKwkJZXhwZWN0X29sZF9ub190cmFja2JhY2s6MSwKKwkJZGVsZXRpb246MSwKKwkJbWF0Y2hlZDoxOworCisJLyoKKwkgKiBPcmRlciBpcyBpbXBvcnRhbnQgaGVyZSwgYXMgd2Ugd3JpdGUgdG8gRkVUQ0hfSEVBRAorCSAqIGluIG51bWVyaWMgb3JkZXIuIEFuZCB0aGUgZGVmYXVsdCBOT1RfRk9SX01FUkdFCisJICogc2hvdWxkIGJlIDAsIHNvIHRoYXQgeGNhbGxvYydkIHN0cnVjdHVyZXMgZ2V0IGl0CisJICogYnkgZGVmYXVsdC4KKwkgKi8KKwllbnVtIHsKKwkJRkVUQ0hfSEVBRF9NRVJHRSA9IC0xLAorCQlGRVRDSF9IRUFEX05PVF9GT1JfTUVSR0UgPSAwLAorCQlGRVRDSF9IRUFEX0lHTk9SRSA9IDEKKwl9IGZldGNoX2hlYWRfc3RhdHVzOworCisJZW51bSB7CisJCVJFRl9TVEFUVVNfTk9ORSA9IDAsCisJCVJFRl9TVEFUVVNfT0ssCisJCVJFRl9TVEFUVVNfUkVKRUNUX05PTkZBU1RGT1JXQVJELAorCQlSRUZfU1RBVFVTX1JFSkVDVF9BTFJFQURZX0VYSVNUUywKKwkJUkVGX1NUQVRVU19SRUpFQ1RfTk9ERUxFVEUsCisJCVJFRl9TVEFUVVNfUkVKRUNUX0ZFVENIX0ZJUlNULAorCQlSRUZfU1RBVFVTX1JFSkVDVF9ORUVEU19GT1JDRSwKKwkJUkVGX1NUQVRVU19SRUpFQ1RfU1RBTEUsCisJCVJFRl9TVEFUVVNfVVBUT0RBVEUsCisJCVJFRl9TVEFUVVNfUkVNT1RFX1JFSkVDVCwKKwkJUkVGX1NUQVRVU19FWFBFQ1RJTkdfUkVQT1JUCisJfSBzdGF0dXM7CisJY2hhciAqcmVtb3RlX3N0YXR1czsKKwlzdHJ1Y3QgcmVmICpwZWVyX3JlZjsgLyogd2hlbiByZW5hbWluZyAqLworCWNoYXIgbmFtZVtGTEVYX0FSUkFZXTsgLyogbW9yZSAqLworfTsKKworI2RlZmluZSBSRUZfTk9STUFMCSgxdSA8PCAwKQorI2RlZmluZSBSRUZfSEVBRFMJKDF1IDw8IDEpCisjZGVmaW5lIFJFRl9UQUdTCSgxdSA8PCAyKQorCitleHRlcm4gc3RydWN0IHJlZiAqZmluZF9yZWZfYnlfbmFtZShjb25zdCBzdHJ1Y3QgcmVmICpsaXN0LCBjb25zdCBjaGFyICpuYW1lKTsKKwogc3RydWN0IHJlZiAqYWxsb2NfcmVmKGNvbnN0IGNoYXIgKm5hbWUpOwogc3RydWN0IHJlZiAqY29weV9yZWYoY29uc3Qgc3RydWN0IHJlZiAqcmVmKTsKIHN0cnVjdCByZWYgKmNvcHlfcmVmX2xpc3QoY29uc3Qgc3RydWN0IHJlZiAqcmVmKTsKQEAgLTg0LDYgKzEzNywxNCBAQAogICovCiB2b2lkIGZyZWVfcmVmcyhzdHJ1Y3QgcmVmICpyZWYpOwogCitzdHJ1Y3QgZXh0cmFfaGF2ZV9vYmplY3RzIHsKKwlpbnQgbnIsIGFsbG9jOworCXVuc2lnbmVkIGNoYXIgKCphcnJheSlbMjBdOworfTsKK2V4dGVybiBzdHJ1Y3QgcmVmICoqZ2V0X3JlbW90ZV9oZWFkcyhpbnQgaW4sIGNoYXIgKnNyY19idWYsIHNpemVfdCBzcmNfbGVuLAorCQkJCSAgICAgc3RydWN0IHJlZiAqKmxpc3QsIHVuc2lnbmVkIGludCBmbGFncywKKwkJCQkgICAgIHN0cnVjdCBleHRyYV9oYXZlX29iamVjdHMgKik7CisKIGludCByZXNvbHZlX3JlbW90ZV9zeW1yZWYoc3RydWN0IHJlZiAqcmVmLCBzdHJ1Y3QgcmVmICpsaXN0KTsKIGludCByZWZfbmV3ZXIoY29uc3QgdW5zaWduZWQgY2hhciAqbmV3X3NoYTEsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9zaGExKTsKIApAQCAtMTcyLDQgKzIzMywyNyBAQAogLyogUmV0dXJuIHJlZnMgd2hpY2ggbm8gbG9uZ2VyIGV4aXN0IG9uIHJlbW90ZSAqLwogc3RydWN0IHJlZiAqZ2V0X3N0YWxlX2hlYWRzKHN0cnVjdCByZWZzcGVjICpyZWZzLCBpbnQgcmVmX2NvdW50LCBzdHJ1Y3QgcmVmICpmZXRjaF9tYXApOwogCisvKgorICogQ29tcGFyZS1hbmQtc3dhcAorICovCisjZGVmaW5lIENBU19PUFRfTkFNRSAiZm9yY2Utd2l0aC1sZWFzZSIKKworc3RydWN0IHB1c2hfY2FzX29wdGlvbiB7CisJdW5zaWduZWQgdXNlX3RyYWNraW5nX2Zvcl9yZXN0OjE7CisJc3RydWN0IHB1c2hfY2FzIHsKKwkJdW5zaWduZWQgY2hhciBleHBlY3RbMjBdOworCQl1bnNpZ25lZCB1c2VfdHJhY2tpbmc6MTsKKwkJY2hhciAqcmVmbmFtZTsKKwl9ICplbnRyeTsKKwlpbnQgbnI7CisJaW50IGFsbG9jOworfTsKKworZXh0ZXJuIGludCBwYXJzZW9wdF9wdXNoX2Nhc19vcHRpb24oY29uc3Qgc3RydWN0IG9wdGlvbiAqLCBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCk7CitleHRlcm4gaW50IHBhcnNlX3B1c2hfY2FzX29wdGlvbihzdHJ1Y3QgcHVzaF9jYXNfb3B0aW9uICosIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KTsKK2V4dGVybiB2b2lkIGNsZWFyX2Nhc19vcHRpb24oc3RydWN0IHB1c2hfY2FzX29wdGlvbiAqKTsKKworZXh0ZXJuIGludCBpc19lbXB0eV9jYXMoY29uc3Qgc3RydWN0IHB1c2hfY2FzX29wdGlvbiAqKTsKK3ZvaWQgYXBwbHlfcHVzaF9jYXMoc3RydWN0IHB1c2hfY2FzX29wdGlvbiAqLCBzdHJ1Y3QgcmVtb3RlICosIHN0cnVjdCByZWYgKik7CisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvcmVyZXJlLmMgYi9yZXJlcmUuYwppbmRleCA2ZmRlOGY5Li4xZjJkMjFhIDEwMDY0NAotLS0gYS9yZXJlcmUuYworKysgYi9yZXJlcmUuYwpAQCAtNiw2ICs2LDcgQEAKICNpbmNsdWRlICJyZXNvbHZlLXVuZG8uaCIKICNpbmNsdWRlICJsbC1tZXJnZS5oIgogI2luY2x1ZGUgImF0dHIuaCIKKyNpbmNsdWRlICJwYXRoc3BlYy5oIgogCiAjZGVmaW5lIFJFU09MVkVEIDAKICNkZWZpbmUgUFVOVEVEIDEKQEAgLTY1Niw3ICs2NTcsNyBAQAogCXJldHVybiAwOwogfQogCi1pbnQgcmVyZXJlX2ZvcmdldChjb25zdCBjaGFyICoqcGF0aHNwZWMpCitpbnQgcmVyZXJlX2ZvcmdldChzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewogCWludCBpLCBmZDsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgY29uZmxpY3QgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKQEAgLTY3MSw4ICs2NzIsOCBAQAogCWZpbmRfY29uZmxpY3QoJmNvbmZsaWN0KTsKIAlmb3IgKGkgPSAwOyBpIDwgY29uZmxpY3QubnI7IGkrKykgewogCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXQgPSAmY29uZmxpY3QuaXRlbXNbaV07Ci0JCWlmICghbWF0Y2hfcGF0aHNwZWMocGF0aHNwZWMsIGl0LT5zdHJpbmcsIHN0cmxlbihpdC0+c3RyaW5nKSwKLQkJCQkgICAgMCwgTlVMTCkpCisJCWlmICghbWF0Y2hfcGF0aHNwZWNfZGVwdGgocGF0aHNwZWMsIGl0LT5zdHJpbmcsIHN0cmxlbihpdC0+c3RyaW5nKSwKKwkJCQkJICAwLCBOVUxMKSkKIAkJCWNvbnRpbnVlOwogCQlyZXJlcmVfZm9yZ2V0X29uZV9wYXRoKGl0LT5zdHJpbmcsICZtZXJnZV9ycik7CiAJfQpkaWZmIC0tZ2l0IGEvcmVyZXJlLmggYi9yZXJlcmUuaAppbmRleCAxNTZkMmFhLi40YWEwNmM5IDEwMDY0NAotLS0gYS9yZXJlcmUuaAorKysgYi9yZXJlcmUuaApAQCAtMyw2ICszLDggQEAKIAogI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCiAKK3N0cnVjdCBwYXRoc3BlYzsKKwogI2RlZmluZSBSRVJFUkVfQVVUT1VQREFURSAgIDAxCiAjZGVmaW5lIFJFUkVSRV9OT0FVVE9VUERBVEUgMDIKIApAQCAtMTYsNyArMTgsNyBAQAogZXh0ZXJuIGludCBzZXR1cF9yZXJlcmUoc3RydWN0IHN0cmluZ19saXN0ICosIGludCk7CiBleHRlcm4gaW50IHJlcmVyZShpbnQpOwogZXh0ZXJuIGNvbnN0IGNoYXIgKnJlcmVyZV9wYXRoKGNvbnN0IGNoYXIgKmhleCwgY29uc3QgY2hhciAqZmlsZSk7Ci1leHRlcm4gaW50IHJlcmVyZV9mb3JnZXQoY29uc3QgY2hhciAqKik7CitleHRlcm4gaW50IHJlcmVyZV9mb3JnZXQoc3RydWN0IHBhdGhzcGVjICopOwogZXh0ZXJuIGludCByZXJlcmVfcmVtYWluaW5nKHN0cnVjdCBzdHJpbmdfbGlzdCAqKTsKIGV4dGVybiB2b2lkIHJlcmVyZV9jbGVhcihzdHJ1Y3Qgc3RyaW5nX2xpc3QgKik7CiBleHRlcm4gdm9pZCByZXJlcmVfZ2Moc3RydWN0IHN0cmluZ19saXN0ICopOwpkaWZmIC0tZ2l0IGEvcmVzb2x2ZS11bmRvLmMgYi9yZXNvbHZlLXVuZG8uYwppbmRleCA3NzEwMWY1Li5jMDliMDA2IDEwMDY0NAotLS0gYS9yZXNvbHZlLXVuZG8uYworKysgYi9yZXNvbHZlLXVuZG8uYwpAQCAtMTczLDcgKzE3Myw3IEBACiAJfQogfQogCi12b2lkIHVubWVyZ2VfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKipwYXRoc3BlYykKK3ZvaWQgdW5tZXJnZV9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYykKIHsKIAlpbnQgaTsKIApAQCAtMTgyLDcgKzE4Miw3IEBACiAKIAlmb3IgKGkgPSAwOyBpIDwgaXN0YXRlLT5jYWNoZV9ucjsgaSsrKSB7CiAJCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBpc3RhdGUtPmNhY2hlW2ldOwotCQlpZiAoIW1hdGNoX3BhdGhzcGVjKHBhdGhzcGVjLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSksIDAsIE5VTEwpKQorCQlpZiAoIW1hdGNoX3BhdGhzcGVjX2RlcHRoKHBhdGhzcGVjLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSksIDAsIE5VTEwpKQogCQkJY29udGludWU7CiAJCWkgPSB1bm1lcmdlX2luZGV4X2VudHJ5X2F0KGlzdGF0ZSwgaSk7CiAJfQpkaWZmIC0tZ2l0IGEvcmVzb2x2ZS11bmRvLmggYi9yZXNvbHZlLXVuZG8uaAppbmRleCA3YTMwMjA2Li40NjMwNjQ1IDEwMDY0NAotLS0gYS9yZXNvbHZlLXVuZG8uaAorKysgYi9yZXNvbHZlLXVuZG8uaApAQCAtMTEsNyArMTEsNyBAQAogZXh0ZXJuIHN0cnVjdCBzdHJpbmdfbGlzdCAqcmVzb2x2ZV91bmRvX3JlYWQoY29uc3QgY2hhciAqLCB1bnNpZ25lZCBsb25nKTsKIGV4dGVybiB2b2lkIHJlc29sdmVfdW5kb19jbGVhcl9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKik7CiBleHRlcm4gaW50IHVubWVyZ2VfaW5kZXhfZW50cnlfYXQoc3RydWN0IGluZGV4X3N0YXRlICosIGludCk7Ci1leHRlcm4gdm9pZCB1bm1lcmdlX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBjb25zdCBjaGFyICoqKTsKK2V4dGVybiB2b2lkIHVubWVyZ2VfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICosIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqKTsKIGV4dGVybiB2b2lkIHVubWVyZ2VfbWFya2VkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9yZXZpc2lvbi5jIGIvcmV2aXNpb24uYwppbmRleCBmODJiODMzLi5hOGFkYjNmIDEwMDY0NAotLS0gYS9yZXZpc2lvbi5jCisrKyBiL3JldmlzaW9uLmMKQEAgLTEzOSw4ICsxMzksNyBAQAogCSAqIFdlIGRvbid0IGNhcmUgYWJvdXQgdGhlIHRyZWUgYW55IG1vcmUKIAkgKiBhZnRlciBpdCBoYXMgYmVlbiBtYXJrZWQgdW5pbnRlcmVzdGluZy4KIAkgKi8KLQlmcmVlKHRyZWUtPmJ1ZmZlcik7Ci0JdHJlZS0+YnVmZmVyID0gTlVMTDsKKwlmcmVlX3RyZWVfYnVmZmVyKHRyZWUpOwogfQogCiB2b2lkIG1hcmtfcGFyZW50c191bmludGVyZXN0aW5nKHN0cnVjdCBjb21taXQgKmNvbW1pdCkKQEAgLTIwMSw3ICsyMDAsNyBAQAogCQlyZXZzLT5ub193YWxrID0gMDsKIAlpZiAocmV2cy0+cmVmbG9nX2luZm8gJiYgb2JqLT50eXBlID09IE9CSl9DT01NSVQpIHsKIAkJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQkJaW50IGxlbiA9IGludGVycHJldF9icmFuY2hfbmFtZShuYW1lLCAmYnVmKTsKKwkJaW50IGxlbiA9IGludGVycHJldF9icmFuY2hfbmFtZShuYW1lLCAwLCAmYnVmKTsKIAkJaW50IHN0OwogCiAJCWlmICgwIDwgbGVuICYmIG5hbWVbbGVuXSAmJiBidWYubGVuKQpAQCAtMTM3Myw3ICsxMzcyLDggQEAKIAkJCWkrKzsKIAl9CiAJZnJlZV9wYXRoc3BlYygmcmV2cy0+cHJ1bmVfZGF0YSk7Ci0JaW5pdF9wYXRoc3BlYygmcmV2cy0+cHJ1bmVfZGF0YSwgcHJ1bmUpOworCXBhcnNlX3BhdGhzcGVjKCZyZXZzLT5wcnVuZV9kYXRhLCBQQVRIU1BFQ19BTExfTUFHSUMgJiB+UEFUSFNQRUNfTElURVJBTCwKKwkJICAgICAgIFBBVEhTUEVDX1BSRUZFUl9GVUxMIHwgUEFUSFNQRUNfTElURVJBTF9QQVRILCAiIiwgcHJ1bmUpOwogCXJldnMtPmxpbWl0ZWQgPSAxOwogfQogCkBAIC0xNTE5LDcgKzE1MTksNyBAQAogc3RhdGljIHZvaWQgYXBwZW5kX3BydW5lX2RhdGEoc3RydWN0IGNtZGxpbmVfcGF0aHNwZWMgKnBydW5lLCBjb25zdCBjaGFyICoqYXYpCiB7CiAJd2hpbGUgKCphdikgewotCQlBTExPQ19HUk9XKHBydW5lLT5wYXRoLCBwcnVuZS0+bnIrMSwgcHJ1bmUtPmFsbG9jKTsKKwkJQUxMT0NfR1JPVyhwcnVuZS0+cGF0aCwgcHJ1bmUtPm5yICsgMSwgcHJ1bmUtPmFsbG9jKTsKIAkJcHJ1bmUtPnBhdGhbcHJ1bmUtPm5yKytdID0gKihhdisrKTsKIAl9CiB9CkBAIC0xNTMxLDcgKzE1MzEsNyBAQAogCQlpbnQgbGVuID0gc2ItPmxlbjsKIAkJaWYgKGxlbiAmJiBzYi0+YnVmW2xlbiAtIDFdID09ICdcbicpCiAJCQlzYi0+YnVmWy0tbGVuXSA9ICdcMCc7Ci0JCUFMTE9DX0dST1cocHJ1bmUtPnBhdGgsIHBydW5lLT5ucisxLCBwcnVuZS0+YWxsb2MpOworCQlBTExPQ19HUk9XKHBydW5lLT5wYXRoLCBwcnVuZS0+bnIgKyAxLCBwcnVuZS0+YWxsb2MpOwogCQlwcnVuZS0+cGF0aFtwcnVuZS0+bnIrK10gPSB4c3RyZHVwKHNiLT5idWYpOwogCX0KIH0KQEAgLTIxMzQsMTAgKzIxMzQsMTAgQEAKIAkJICoJY2FsbCBpbml0X3BhdGhzcGVjKCkgdG8gc2V0IHJldnMtPnBydW5lX2RhdGEgaGVyZS4KIAkJICogfQogCQkgKi8KLQkJQUxMT0NfR1JPVyhwcnVuZV9kYXRhLnBhdGgsIHBydW5lX2RhdGEubnIrMSwgcHJ1bmVfZGF0YS5hbGxvYyk7CisJCUFMTE9DX0dST1cocHJ1bmVfZGF0YS5wYXRoLCBwcnVuZV9kYXRhLm5yICsgMSwgcHJ1bmVfZGF0YS5hbGxvYyk7CiAJCXBydW5lX2RhdGEucGF0aFtwcnVuZV9kYXRhLm5yKytdID0gTlVMTDsKLQkJaW5pdF9wYXRoc3BlYygmcmV2cy0+cHJ1bmVfZGF0YSwKLQkJCSAgICAgIGdldF9wYXRoc3BlYyhyZXZzLT5wcmVmaXgsIHBydW5lX2RhdGEucGF0aCkpOworCQlwYXJzZV9wYXRoc3BlYygmcmV2cy0+cHJ1bmVfZGF0YSwgMCwgMCwKKwkJCSAgICAgICByZXZzLT5wcmVmaXgsIHBydW5lX2RhdGEucGF0aCk7CiAJfQogCiAJaWYgKHJldnMtPmRlZiA9PSBOVUxMKQpAQCAtMjE3MCwxMiArMjE3MCwxMyBAQAogCQlyZXZzLT5saW1pdGVkID0gMTsKIAogCWlmIChyZXZzLT5wcnVuZV9kYXRhLm5yKSB7Ci0JCWRpZmZfdHJlZV9zZXR1cF9wYXRocyhyZXZzLT5wcnVuZV9kYXRhLnJhdywgJnJldnMtPnBydW5pbmcpOworCQljb3B5X3BhdGhzcGVjKCZyZXZzLT5wcnVuaW5nLnBhdGhzcGVjLCAmcmV2cy0+cHJ1bmVfZGF0YSk7CiAJCS8qIENhbid0IHBydW5lIGNvbW1pdHMgd2l0aCByZW5hbWUgZm9sbG93aW5nOiB0aGUgcGF0aHMgY2hhbmdlLi4gKi8KIAkJaWYgKCFESUZGX09QVF9UU1QoJnJldnMtPmRpZmZvcHQsIEZPTExPV19SRU5BTUVTKSkKIAkJCXJldnMtPnBydW5lID0gMTsKIAkJaWYgKCFyZXZzLT5mdWxsX2RpZmYpCi0JCQlkaWZmX3RyZWVfc2V0dXBfcGF0aHMocmV2cy0+cHJ1bmVfZGF0YS5yYXcsICZyZXZzLT5kaWZmb3B0KTsKKwkJCWNvcHlfcGF0aHNwZWMoJnJldnMtPmRpZmZvcHQucGF0aHNwZWMsCisJCQkJICAgICAgJnJldnMtPnBydW5lX2RhdGEpOwogCX0KIAlpZiAocmV2cy0+Y29tYmluZV9tZXJnZXMpCiAJCXJldnMtPmlnbm9yZV9tZXJnZXMgPSAwOwpAQCAtMjk4Niw3ICsyOTg3LDcgQEAKIAlpZiAocmV2cy0+bWF4X2NvdW50KSB7CiAJCWMgPSBnZXRfcmV2aXNpb25fMShyZXZzKTsKIAkJaWYgKGMpIHsKLQkJCXdoaWxlICgwIDwgcmV2cy0+c2tpcF9jb3VudCkgeworCQkJd2hpbGUgKHJldnMtPnNraXBfY291bnQgPiAwKSB7CiAJCQkJcmV2cy0+c2tpcF9jb3VudC0tOwogCQkJCWMgPSBnZXRfcmV2aXNpb25fMShyZXZzKTsKIAkJCQlpZiAoIWMpCkBAIC0zMDAxLDkgKzMwMDIsOCBAQAogCWlmIChjKQogCQljLT5vYmplY3QuZmxhZ3MgfD0gU0hPV047CiAKLQlpZiAoIXJldnMtPmJvdW5kYXJ5KSB7CisJaWYgKCFyZXZzLT5ib3VuZGFyeSkKIAkJcmV0dXJuIGM7Ci0JfQogCiAJaWYgKCFjKSB7CiAJCS8qCkBAIC0zMDQ5LDkgKzMwNDksOCBAQAogCiAJaWYgKHJldnMtPnJldmVyc2UpIHsKIAkJcmV2ZXJzZWQgPSBOVUxMOwotCQl3aGlsZSAoKGMgPSBnZXRfcmV2aXNpb25faW50ZXJuYWwocmV2cykpKSB7CisJCXdoaWxlICgoYyA9IGdldF9yZXZpc2lvbl9pbnRlcm5hbChyZXZzKSkpCiAJCQljb21taXRfbGlzdF9pbnNlcnQoYywgJnJldmVyc2VkKTsKLQkJfQogCQlyZXZzLT5jb21taXRzID0gcmV2ZXJzZWQ7CiAJCXJldnMtPnJldmVyc2UgPSAwOwogCQlyZXZzLT5yZXZlcnNlX291dHB1dF9zdGFnZSA9IDE7CmRpZmYgLS1naXQgYS9yZXZpc2lvbi5oIGIvcmV2aXNpb24uaAppbmRleCBlN2YxZDIxLi44OTEzMmRmIDEwMDY0NAotLS0gYS9yZXZpc2lvbi5oCisrKyBiL3JldmlzaW9uLmgKQEAgLTUsNiArNSw3IEBACiAjaW5jbHVkZSAiZ3JlcC5oIgogI2luY2x1ZGUgIm5vdGVzLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCisjaW5jbHVkZSAiZGlmZi5oIgogCiAjZGVmaW5lIFNFRU4JCSgxdTw8MCkKICNkZWZpbmUgVU5JTlRFUkVTVElORyAgICgxdTw8MSkKZGlmZiAtLWdpdCBhL3J1bi1jb21tYW5kLmMgYi9ydW4tY29tbWFuZC5jCmluZGV4IDFiN2Y4OGUuLjM5MTRkOWMgMTAwNjQ0Ci0tLSBhL3J1bi1jb21tYW5kLmMKKysrIGIvcnVuLWNvbW1hbmQuYwpAQCAtNDA2LDEzICs0MDYsMTIgQEAKIAkJCQkJdW5zZXRlbnYoKmNtZC0+ZW52KTsKIAkJCX0KIAkJfQotCQlpZiAoY21kLT5naXRfY21kKSB7CisJCWlmIChjbWQtPmdpdF9jbWQpCiAJCQlleGVjdl9naXRfY21kKGNtZC0+YXJndik7Ci0JCX0gZWxzZSBpZiAoY21kLT51c2Vfc2hlbGwpIHsKKwkJZWxzZSBpZiAoY21kLT51c2Vfc2hlbGwpCiAJCQlleGVjdl9zaGVsbF9jbWQoY21kLT5hcmd2KTsKLQkJfSBlbHNlIHsKKwkJZWxzZQogCQkJc2FuZV9leGVjdnAoY21kLT5hcmd2WzBdLCAoY2hhciAqY29uc3QqKSBjbWQtPmFyZ3YpOwotCQl9CiAJCWlmIChlcnJubyA9PSBFTk9FTlQpIHsKIAkJCWlmICghY21kLT5zaWxlbnRfZXhlY19mYWlsdXJlKQogCQkJCWVycm9yKCJjYW5ub3QgcnVuICVzOiAlcyIsIGNtZC0+YXJndlswXSwKQEAgLTQ0Niw3ICs0NDUsNiBAQAogCQljbWQtPnBpZCA9IC0xOwogCX0KIAljbG9zZShub3RpZnlfcGlwZVswXSk7Ci0KIH0KICNlbHNlCiB7CkBAIC00ODAsMTEgKzQ3OCwxMCBAQAogCWlmIChjbWQtPmVudikKIAkJZW52ID0gbWFrZV9hdWdtZW50ZWRfZW52aXJvbihjbWQtPmVudik7CiAKLQlpZiAoY21kLT5naXRfY21kKSB7CisJaWYgKGNtZC0+Z2l0X2NtZCkKIAkJY21kLT5hcmd2ID0gcHJlcGFyZV9naXRfY21kKGNtZC0+YXJndik7Ci0JfSBlbHNlIGlmIChjbWQtPnVzZV9zaGVsbCkgeworCWVsc2UgaWYgKGNtZC0+dXNlX3NoZWxsKQogCQljbWQtPmFyZ3YgPSBwcmVwYXJlX3NoZWxsX2NtZChjbWQtPmFyZ3YpOwotCX0KIAogCWNtZC0+cGlkID0gbWluZ3dfc3Bhd252cGUoY21kLT5hcmd2WzBdLCBjbWQtPmFyZ3YsIGVudiwgY21kLT5kaXIsCiAJCQkJICBmaGluLCBmaG91dCwgZmhlcnIpOwpkaWZmIC0tZ2l0IGEvc2VuZC1wYWNrLmMgYi9zZW5kLXBhY2suYwppbmRleCA3ZDE3MmVmLi5mYWI2MmUzIDEwMDY0NAotLS0gYS9zZW5kLXBhY2suYworKysgYi9zZW5kLXBhY2suYwpAQCAtNSw2ICs1LDcgQEAKICNpbmNsdWRlICJzaWRlYmFuZC5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAjaW5jbHVkZSAicmVtb3RlLmgiCisjaW5jbHVkZSAiY29ubmVjdC5oIgogI2luY2x1ZGUgInNlbmQtcGFjay5oIgogI2luY2x1ZGUgInF1b3RlLmgiCiAjaW5jbHVkZSAidHJhbnNwb3J0LmgiCkBAIC0yMjYsNiArMjI3LDcgQEAKIAkJY2FzZSBSRUZfU1RBVFVTX1JFSkVDVF9BTFJFQURZX0VYSVNUUzoKIAkJY2FzZSBSRUZfU1RBVFVTX1JFSkVDVF9GRVRDSF9GSVJTVDoKIAkJY2FzZSBSRUZfU1RBVFVTX1JFSkVDVF9ORUVEU19GT1JDRToKKwkJY2FzZSBSRUZfU1RBVFVTX1JFSkVDVF9TVEFMRToKIAkJY2FzZSBSRUZfU1RBVFVTX1VQVE9EQVRFOgogCQkJY29udGludWU7CiAJCWRlZmF1bHQ6CkBAIC0zMDAsOCArMzAyLDEyIEBACiAJCQkJc2h1dGRvd24oZmRbMF0sIFNIVVRfV1IpOwogCQkJaWYgKHVzZV9zaWRlYmFuZCkKIAkJCQlmaW5pc2hfYXN5bmMoJmRlbXV4KTsKKwkJCWZkWzFdID0gLTE7CiAJCQlyZXR1cm4gLTE7CiAJCX0KKwkJaWYgKCFhcmdzLT5zdGF0ZWxlc3NfcnBjKQorCQkJLyogQ2xvc2VkIGJ5IHBhY2tfb2JqZWN0cygpIHZpYSBzdGFydF9jb21tYW5kKCkgKi8KKwkJCWZkWzFdID0gLTE7CiAJfQogCWlmIChhcmdzLT5zdGF0ZWxlc3NfcnBjICYmIGNtZHNfc2VudCkKIAkJcGFja2V0X2ZsdXNoKG91dCk7CmRpZmYgLS1naXQgYS9zZXF1ZW5jZXIuYyBiL3NlcXVlbmNlci5jCmluZGV4IDM1MTU0OGYuLjA2ZTUyYjQgMTAwNjQ0Ci0tLSBhL3NlcXVlbmNlci5jCisrKyBiL3NlcXVlbmNlci5jCkBAIC0yNzksNyArMjc5LDggQEAKIAlyZWFkX2NhY2hlKCk7CiAJaWYgKGNoZWNrb3V0X2Zhc3RfZm9yd2FyZChmcm9tLCB0bywgMSkpCiAJCWV4aXQoMSk7IC8qIHRoZSBjYWxsZWUgc2hvdWxkIGhhdmUgY29tcGxhaW5lZCBhbHJlYWR5ICovCi0JcmVmX2xvY2sgPSBsb2NrX2FueV9yZWZfZm9yX3VwZGF0ZSgiSEVBRCIsIHVuYm9ybiA/IG51bGxfc2hhMSA6IGZyb20sIDApOworCXJlZl9sb2NrID0gbG9ja19hbnlfcmVmX2Zvcl91cGRhdGUoIkhFQUQiLCB1bmJvcm4gPyBudWxsX3NoYTEgOiBmcm9tLAorCQkJCQkgICAwLCBOVUxMKTsKIAlzdHJidWZfYWRkZigmc2IsICIlczogZmFzdC1mb3J3YXJkIiwgYWN0aW9uX25hbWUob3B0cykpOwogCXJldCA9IHdyaXRlX3JlZl9zaGExKHJlZl9sb2NrLCB0bywgc2IuYnVmKTsKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwpkaWZmIC0tZ2l0IGEvc2V0dXAuYyBiL3NldHVwLmMKaW5kZXggNTI2MjMxOS4uNTQzMmEzMSAxMDA2NDQKLS0tIGEvc2V0dXAuYworKysgYi9zZXR1cC5jCkBAIC01LDcgKzUsMTkgQEAKIHN0YXRpYyBpbnQgaW5zaWRlX2dpdF9kaXIgPSAtMTsKIHN0YXRpYyBpbnQgaW5zaWRlX3dvcmtfdHJlZSA9IC0xOwogCi1zdGF0aWMgY2hhciAqcHJlZml4X3BhdGhfZ2VudGx5KGNvbnN0IGNoYXIgKnByZWZpeCwgaW50IGxlbiwgY29uc3QgY2hhciAqcGF0aCkKKy8qCisgKiBOb3JtYWxpemUgInBhdGgiLCBwcmVwZW5kaW5nIHRoZSAicHJlZml4IiBmb3IgcmVsYXRpdmUgcGF0aHMuIElmCisgKiByZW1haW5pbmdfcHJlZml4IGlzIG5vdCBOVUxMLCByZXR1cm4gdGhlIGFjdHVhbCBwcmVmaXggc3RpbGwKKyAqIHJlbWFpbnMgaW4gdGhlIHBhdGguIEZvciBleGFtcGxlLCBwcmVmaXggPSBzdWIxL3N1YjIvIGFuZCBwYXRoIGlzCisgKgorICogIGZvbyAgICAgICAgICAtPiBzdWIxL3N1YjIvZm9vICAoZnVsbCBwcmVmaXgpCisgKiAgLi4vZm9vICAgICAgIC0+IHN1YjEvZm9vICAgICAgIChyZW1haW5pbmcgcHJlZml4IGlzIHN1YjEvKQorICogIC4uLy4uL2JhciAgICAtPiBiYXIgICAgICAgICAgICAobm8gcmVtYWluaW5nIHByZWZpeCkKKyAqICAuLi8uLi9zdWIxL3N1YjIvZm9vIC0+IHN1YjEvc3ViMi9mb28gKGJ1dCBubyByZW1haW5pbmcgcHJlZml4KQorICogIGBwd2RgLy4uL2JhciAtPiBzdWIxL2JhciAgICAgICAobm8gcmVtYWluaW5nIHByZWZpeCkKKyAqLworY2hhciAqcHJlZml4X3BhdGhfZ2VudGx5KGNvbnN0IGNoYXIgKnByZWZpeCwgaW50IGxlbiwKKwkJCSBpbnQgKnJlbWFpbmluZ19wcmVmaXgsIGNvbnN0IGNoYXIgKnBhdGgpCiB7CiAJY29uc3QgY2hhciAqb3JpZyA9IHBhdGg7CiAJY2hhciAqc2FuaXRpemVkOwpAQCAtMTMsMTMgKzI1LDE3IEBACiAJCWNvbnN0IGNoYXIgKnRlbXAgPSByZWFsX3BhdGgocGF0aCk7CiAJCXNhbml0aXplZCA9IHhtYWxsb2MobGVuICsgc3RybGVuKHRlbXApICsgMSk7CiAJCXN0cmNweShzYW5pdGl6ZWQsIHRlbXApOworCQlpZiAocmVtYWluaW5nX3ByZWZpeCkKKwkJCSpyZW1haW5pbmdfcHJlZml4ID0gMDsKIAl9IGVsc2UgewogCQlzYW5pdGl6ZWQgPSB4bWFsbG9jKGxlbiArIHN0cmxlbihwYXRoKSArIDEpOwogCQlpZiAobGVuKQogCQkJbWVtY3B5KHNhbml0aXplZCwgcHJlZml4LCBsZW4pOwogCQlzdHJjcHkoc2FuaXRpemVkICsgbGVuLCBwYXRoKTsKKwkJaWYgKHJlbWFpbmluZ19wcmVmaXgpCisJCQkqcmVtYWluaW5nX3ByZWZpeCA9IGxlbjsKIAl9Ci0JaWYgKG5vcm1hbGl6ZV9wYXRoX2NvcHkoc2FuaXRpemVkLCBzYW5pdGl6ZWQpKQorCWlmIChub3JtYWxpemVfcGF0aF9jb3B5X2xlbihzYW5pdGl6ZWQsIHNhbml0aXplZCwgcmVtYWluaW5nX3ByZWZpeCkpCiAJCWdvdG8gZXJyb3Jfb3V0OwogCWlmIChpc19hYnNvbHV0ZV9wYXRoKG9yaWcpKSB7CiAJCXNpemVfdCByb290X2xlbiwgbGVuLCB0b3RhbDsKQEAgLTQ0LDcgKzYwLDcgQEAKIAogY2hhciAqcHJlZml4X3BhdGgoY29uc3QgY2hhciAqcHJlZml4LCBpbnQgbGVuLCBjb25zdCBjaGFyICpwYXRoKQogewotCWNoYXIgKnIgPSBwcmVmaXhfcGF0aF9nZW50bHkocHJlZml4LCBsZW4sIHBhdGgpOworCWNoYXIgKnIgPSBwcmVmaXhfcGF0aF9nZW50bHkocHJlZml4LCBsZW4sIE5VTEwsIHBhdGgpOwogCWlmICghcikKIAkJZGllKCInJXMnIGlzIG91dHNpZGUgcmVwb3NpdG9yeSIsIHBhdGgpOwogCXJldHVybiByOwpAQCAtNTMsNyArNjksNyBAQAogaW50IHBhdGhfaW5zaWRlX3JlcG8oY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICpwYXRoKQogewogCWludCBsZW4gPSBwcmVmaXggPyBzdHJsZW4ocHJlZml4KSA6IDA7Ci0JY2hhciAqciA9IHByZWZpeF9wYXRoX2dlbnRseShwcmVmaXgsIGxlbiwgcGF0aCk7CisJY2hhciAqciA9IHByZWZpeF9wYXRoX2dlbnRseShwcmVmaXgsIGxlbiwgTlVMTCwgcGF0aCk7CiAJaWYgKHIpIHsKIAkJZnJlZShyKTsKIAkJcmV0dXJuIDE7CkBAIC0xNTQsMTU1ICsxNzAsNiBAQAogCSAgICAiJ2dpdCA8Y29tbWFuZD4gWzxyZXZpc2lvbj4uLi5dIC0tIFs8ZmlsZT4uLi5dJyIsIGFyZyk7CiB9CiAKLS8qCi0gKiBNYWdpYyBwYXRoc3BlYwotICoKLSAqIE5FRURTV09SSzogVGhlc2UgbmVlZCB0byBiZSBtb3ZlZCB0byBkaXIuaCBvciBldmVuIHRvIGEgbmV3Ci0gKiBwYXRoc3BlYy5oIHdoZW4gd2UgcmVzdHJ1Y3R1cmUgZ2V0X3BhdGhzcGVjKCkgdXNlcnMgdG8gdXNlIHRoZQotICogInN0cnVjdCBwYXRoc3BlYyIgaW50ZXJmYWNlLgotICoKLSAqIFBvc3NpYmxlIGZ1dHVyZSBtYWdpYyBzZW1hbnRpY3MgaW5jbHVkZSBzdHVmZiBsaWtlOgotICoKLSAqCXsgUEFUSFNQRUNfTk9HTE9CLCAnIScsICJub2dsb2IiIH0sCi0gKgl7IFBBVEhTUEVDX0lDQVNFLCAnXDAnLCAiaWNhc2UiIH0sCi0gKgl7IFBBVEhTUEVDX1JFQ1VSU0lWRSwgJyonLCAicmVjdXJzaXZlIiB9LAotICoJeyBQQVRIU1BFQ19SRUdFWFAsICdcMCcsICJyZWdleHAiIH0sCi0gKgotICovCi0jZGVmaW5lIFBBVEhTUEVDX0ZST01UT1AgICAgKDE8PDApCi0KLXN0YXRpYyBzdHJ1Y3QgcGF0aHNwZWNfbWFnaWMgewotCXVuc2lnbmVkIGJpdDsKLQljaGFyIG1uZW1vbmljOyAvKiB0aGlzIGNhbm5vdCBiZSAnOichICovCi0JY29uc3QgY2hhciAqbmFtZTsKLX0gcGF0aHNwZWNfbWFnaWNbXSA9IHsKLQl7IFBBVEhTUEVDX0ZST01UT1AsICcvJywgInRvcCIgfSwKLX07Ci0KLS8qCi0gKiBUYWtlIGFuIGVsZW1lbnQgb2YgYSBwYXRoc3BlYyBhbmQgY2hlY2sgZm9yIG1hZ2ljIHNpZ25hdHVyZXMuCi0gKiBBcHBlbmQgdGhlIHJlc3VsdCB0byB0aGUgcHJlZml4LgotICoKLSAqIEZvciBub3csIHdlIG9ubHkgcGFyc2UgdGhlIHN5bnRheCBhbmQgdGhyb3cgb3V0IGFueXRoaW5nIG90aGVyIHRoYW4KLSAqICJ0b3AiIG1hZ2ljLgotICoKLSAqIE5FRURTV09SSzogVGhpcyBuZWVkcyB0byBiZSByZXdyaXR0ZW4gd2hlbiB3ZSBzdGFydCBtaWdyYXRpbmcKLSAqIGdldF9wYXRoc3BlYygpIHVzZXJzIHRvIHVzZSB0aGUgInN0cnVjdCBwYXRoc3BlYyIgaW50ZXJmYWNlLiAgRm9yCi0gKiBleGFtcGxlLCBhIHBhdGhzcGVjIGVsZW1lbnQgbWF5IGJlIG1hcmtlZCBhcyBjYXNlLWluc2Vuc2l0aXZlLCBidXQKLSAqIHRoZSBwcmVmaXggcGFydCBtdXN0IGFsd2F5cyBtYXRjaCBsaXRlcmFsbHksIGFuZCBhIHNpbmdsZSBzdHVwaWQKLSAqIHN0cmluZyBjYW5ub3QgZXhwcmVzcyBzdWNoIGEgY2FzZS4KLSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKnByZWZpeF9wYXRoc3BlYyhjb25zdCBjaGFyICpwcmVmaXgsIGludCBwcmVmaXhsZW4sIGNvbnN0IGNoYXIgKmVsdCkKLXsKLQl1bnNpZ25lZCBtYWdpYyA9IDA7Ci0JY29uc3QgY2hhciAqY29weWZyb20gPSBlbHQ7Ci0JaW50IGk7Ci0KLQlpZiAoZWx0WzBdICE9ICc6JykgewotCQk7IC8qIG5vdGhpbmcgdG8gZG8gKi8KLQl9IGVsc2UgaWYgKGVsdFsxXSA9PSAnKCcpIHsKLQkJLyogbG9uZ2hhbmQgKi8KLQkJY29uc3QgY2hhciAqbmV4dGF0OwotCQlmb3IgKGNvcHlmcm9tID0gZWx0ICsgMjsKLQkJICAgICAqY29weWZyb20gJiYgKmNvcHlmcm9tICE9ICcpJzsKLQkJICAgICBjb3B5ZnJvbSA9IG5leHRhdCkgewotCQkJc2l6ZV90IGxlbiA9IHN0cmNzcG4oY29weWZyb20sICIsKSIpOwotCQkJaWYgKGNvcHlmcm9tW2xlbl0gPT0gJywnKQotCQkJCW5leHRhdCA9IGNvcHlmcm9tICsgbGVuICsgMTsKLQkJCWVsc2UKLQkJCQkvKiBoYW5kbGUgJyknIGFuZCAnXDAnICovCi0JCQkJbmV4dGF0ID0gY29weWZyb20gKyBsZW47Ci0JCQlpZiAoIWxlbikKLQkJCQljb250aW51ZTsKLQkJCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHBhdGhzcGVjX21hZ2ljKTsgaSsrKQotCQkJCWlmIChzdHJsZW4ocGF0aHNwZWNfbWFnaWNbaV0ubmFtZSkgPT0gbGVuICYmCi0JCQkJICAgICFzdHJuY21wKHBhdGhzcGVjX21hZ2ljW2ldLm5hbWUsIGNvcHlmcm9tLCBsZW4pKSB7Ci0JCQkJCW1hZ2ljIHw9IHBhdGhzcGVjX21hZ2ljW2ldLmJpdDsKLQkJCQkJYnJlYWs7Ci0JCQkJfQotCQkJaWYgKEFSUkFZX1NJWkUocGF0aHNwZWNfbWFnaWMpIDw9IGkpCi0JCQkJZGllKCJJbnZhbGlkIHBhdGhzcGVjIG1hZ2ljICclLipzJyBpbiAnJXMnIiwKLQkJCQkgICAgKGludCkgbGVuLCBjb3B5ZnJvbSwgZWx0KTsKLQkJfQotCQlpZiAoKmNvcHlmcm9tICE9ICcpJykKLQkJCWRpZSgiTWlzc2luZyAnKScgYXQgdGhlIGVuZCBvZiBwYXRoc3BlYyBtYWdpYyBpbiAnJXMnIiwgZWx0KTsKLQkJY29weWZyb20rKzsKLQl9IGVsc2UgewotCQkvKiBzaG9ydGhhbmQgKi8KLQkJZm9yIChjb3B5ZnJvbSA9IGVsdCArIDE7Ci0JCSAgICAgKmNvcHlmcm9tICYmICpjb3B5ZnJvbSAhPSAnOic7Ci0JCSAgICAgY29weWZyb20rKykgewotCQkJY2hhciBjaCA9ICpjb3B5ZnJvbTsKLQotCQkJaWYgKCFpc19wYXRoc3BlY19tYWdpYyhjaCkpCi0JCQkJYnJlYWs7Ci0JCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwYXRoc3BlY19tYWdpYyk7IGkrKykKLQkJCQlpZiAocGF0aHNwZWNfbWFnaWNbaV0ubW5lbW9uaWMgPT0gY2gpIHsKLQkJCQkJbWFnaWMgfD0gcGF0aHNwZWNfbWFnaWNbaV0uYml0OwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQlpZiAoQVJSQVlfU0laRShwYXRoc3BlY19tYWdpYykgPD0gaSkKLQkJCQlkaWUoIlVuaW1wbGVtZW50ZWQgcGF0aHNwZWMgbWFnaWMgJyVjJyBpbiAnJXMnIiwKLQkJCQkgICAgY2gsIGVsdCk7Ci0JCX0KLQkJaWYgKCpjb3B5ZnJvbSA9PSAnOicpCi0JCQljb3B5ZnJvbSsrOwotCX0KLQotCWlmIChtYWdpYyAmIFBBVEhTUEVDX0ZST01UT1ApCi0JCXJldHVybiB4c3RyZHVwKGNvcHlmcm9tKTsKLQllbHNlCi0JCXJldHVybiBwcmVmaXhfcGF0aChwcmVmaXgsIHByZWZpeGxlbiwgY29weWZyb20pOwotfQotCi0vKgotICogTi5CLiBnZXRfcGF0aHNwZWMoKSBpcyBkZXByZWNhdGVkIGluIGZhdm9yIG9mIHRoZSAic3RydWN0IHBhdGhzcGVjIgotICogYmFzZWQgaW50ZXJmYWNlIC0gc2VlIHBhdGhzcGVjX21hZ2ljIGFib3ZlLgotICoKLSAqIEFyZ3VtZW50czoKLSAqICAtIHByZWZpeCAtIGEgcGF0aCByZWxhdGl2ZSB0byB0aGUgcm9vdCBvZiB0aGUgd29ya2luZyB0cmVlCi0gKiAgLSBwYXRoc3BlYyAtIGEgbGlzdCBvZiBwYXRocyB1bmRlcm5lYXRoIHRoZSBwcmVmaXggcGF0aAotICoKLSAqIEl0ZXJhdGVzIG92ZXIgcGF0aHNwZWMsIHByZXBlbmRpbmcgZWFjaCBwYXRoIHdpdGggcHJlZml4LAotICogYW5kIHJldHVybiB0aGUgcmVzdWx0aW5nIGxpc3QuCi0gKgotICogSWYgcGF0aHNwZWMgaXMgZW1wdHksIHJldHVybiBhIHNpbmdsZXRvbiBsaXN0IGNvbnRhaW5pbmcgcHJlZml4LgotICoKLSAqIElmIHBhdGhzcGVjIGFuZCBwcmVmaXggYXJlIGJvdGggZW1wdHksIHJldHVybiBhbiBlbXB0eSBsaXN0LgotICoKLSAqIFRoaXMgaXMgdHlwaWNhbGx5IHVzZWQgYnkgYnVpbHQtaW4gY29tbWFuZHMgc3VjaCBhcyBhZGQuYywgaW4gb3JkZXIKLSAqIHRvIG5vcm1hbGl6ZSBhcmd2IGFyZ3VtZW50cyBwcm92aWRlZCB0byB0aGUgYnVpbHQtaW4gaW50byBhIGxpc3Qgb2YKLSAqIHBhdGhzIHRvIHByb2Nlc3MsIGFsbCByZWxhdGl2ZSB0byB0aGUgcm9vdCBvZiB0aGUgd29ya2luZyB0cmVlLgotICovCi1jb25zdCBjaGFyICoqZ2V0X3BhdGhzcGVjKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqKnBhdGhzcGVjKQotewotCWNvbnN0IGNoYXIgKmVudHJ5ID0gKnBhdGhzcGVjOwotCWNvbnN0IGNoYXIgKipzcmMsICoqZHN0OwotCWludCBwcmVmaXhsZW47Ci0KLQlpZiAoIXByZWZpeCAmJiAhZW50cnkpCi0JCXJldHVybiBOVUxMOwotCi0JaWYgKCFlbnRyeSkgewotCQlzdGF0aWMgY29uc3QgY2hhciAqc3BlY1syXTsKLQkJc3BlY1swXSA9IHByZWZpeDsKLQkJc3BlY1sxXSA9IE5VTEw7Ci0JCXJldHVybiBzcGVjOwotCX0KLQotCS8qIE90aGVyd2lzZSB3ZSBoYXZlIHRvIHJlLXdyaXRlIHRoZSBlbnRyaWVzLi4gKi8KLQlzcmMgPSBwYXRoc3BlYzsKLQlkc3QgPSBwYXRoc3BlYzsKLQlwcmVmaXhsZW4gPSBwcmVmaXggPyBzdHJsZW4ocHJlZml4KSA6IDA7Ci0Jd2hpbGUgKCpzcmMpIHsKLQkJKihkc3QrKykgPSBwcmVmaXhfcGF0aHNwZWMocHJlZml4LCBwcmVmaXhsZW4sICpzcmMpOwotCQlzcmMrKzsKLQl9Ci0JKmRzdCA9IE5VTEw7Ci0JaWYgKCEqcGF0aHNwZWMpCi0JCXJldHVybiBOVUxMOwotCXJldHVybiBwYXRoc3BlYzsKLX0KIAogLyoKICAqIFRlc3QgaWYgaXQgbG9va3MgbGlrZSB3ZSdyZSBhdCBhIGdpdCBkaXJlY3RvcnkuCkBAIC0zNjAsNyArMjI3LDYgQEAKIAogdm9pZCBzZXR1cF93b3JrX3RyZWUodm9pZCkKIHsKLQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJY29uc3QgY2hhciAqd29ya190cmVlLCAqZ2l0X2RpcjsKIAlzdGF0aWMgaW50IGluaXRpYWxpemVkID0gMDsKIApAQCAtMzgwLDEwICsyNDYsOCBAQAogCWlmIChnZXRlbnYoR0lUX1dPUktfVFJFRV9FTlZJUk9OTUVOVCkpCiAJCXNldGVudihHSVRfV09SS19UUkVFX0VOVklST05NRU5ULCAiLiIsIDEpOwogCi0Jc2V0X2dpdF9kaXIocmVsYXRpdmVfcGF0aChnaXRfZGlyLCB3b3JrX3RyZWUsICZzYikpOworCXNldF9naXRfZGlyKHJlbW92ZV9sZWFkaW5nX3BhdGgoZ2l0X2Rpciwgd29ya190cmVlKSk7CiAJaW5pdGlhbGl6ZWQgPSAxOwotCi0Jc3RyYnVmX3JlbGVhc2UoJnNiKTsKIH0KIAogc3RhdGljIGludCBjaGVja19yZXBvc2l0b3J5X2Zvcm1hdF9nZW50bHkoY29uc3QgY2hhciAqZ2l0ZGlyLCBpbnQgKm5vbmdpdF9vaykKQEAgLTY5OSw3ICs1NjMsNyBAQAogewogCWNvbnN0IGNoYXIgKmVudl9jZWlsaW5nX2RpcnMgPSBnZXRlbnYoQ0VJTElOR19ESVJFQ1RPUklFU19FTlZJUk9OTUVOVCk7CiAJc3RydWN0IHN0cmluZ19saXN0IGNlaWxpbmdfZGlycyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwotCXN0YXRpYyBjaGFyIGN3ZFtQQVRIX01BWCsxXTsKKwlzdGF0aWMgY2hhciBjd2RbUEFUSF9NQVggKyAxXTsKIAljb25zdCBjaGFyICpnaXRkaXJlbnYsICpyZXQ7CiAJY2hhciAqZ2l0ZmlsZTsKIAlpbnQgbGVuLCBvZmZzZXQsIG9mZnNldF9wYXJlbnQsIGNlaWxfb2Zmc2V0ID0gLTE7CkBAIC03MTQsNyArNTc4LDcgQEAKIAlpZiAobm9uZ2l0X29rKQogCQkqbm9uZ2l0X29rID0gMDsKIAotCWlmICghZ2V0Y3dkKGN3ZCwgc2l6ZW9mKGN3ZCktMSkpCisJaWYgKCFnZXRjd2QoY3dkLCBzaXplb2YoY3dkKSAtIDEpKQogCQlkaWVfZXJybm8oIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiKTsKIAlvZmZzZXQgPSBsZW4gPSBzdHJsZW4oY3dkKTsKIApkaWZmIC0tZ2l0IGEvc2hhMS1sb29rdXAuYyBiL3NoYTEtbG9va3VwLmMKaW5kZXggYzRkYzU1ZC4uMmRkODUxNSAxMDA2NDQKLS0tIGEvc2hhMS1sb29rdXAuYworKysgYi9zaGExLWxvb2t1cC5jCkBAIC0yMDQsNyArMjA0LDU0IEBACiAJCQkgKiBieXRlIDAgdGhydSAob2ZzLTEpIGFyZSB0aGUgc2FtZSBiZXR3ZWVuCiAJCQkgKiBsbyBhbmQgaGk7IG9mcyBpcyB0aGUgZmlyc3QgYnl0ZSB0aGF0IGlzCiAJCQkgKiBkaWZmZXJlbnQuCisJCQkgKgorCQkJICogSWYgb2ZzPT0yMCwgdGhlbiBubyBieXRlcyBhcmUgZGlmZmVyZW50LAorCQkJICogbWVhbmluZyB3ZSBoYXZlIGVudHJpZXMgd2l0aCBkdXBsaWNhdGUKKwkJCSAqIGtleXMuIFdlIGtub3cgdGhhdCB3ZSBhcmUgaW4gYSBzb2xpZCBydW4KKwkJCSAqIG9mIHRoaXMgZW50cnkgKGJlY2F1c2UgdGhlIGVudHJpZXMgYXJlCisJCQkgKiBzb3J0ZWQsIGFuZCBvdXIgbG8gYW5kIGhpIGFyZSB0aGUgc2FtZSwKKwkJCSAqIHRoZXJlIGNhbiBiZSBub3RoaW5nIGJ1dCB0aGlzIHNpbmdsZSBrZXkKKwkJCSAqIGluIGJldHdlZW4pLiBTbyB3ZSBjYW4gc3RvcCB0aGUgc2VhcmNoLgorCQkJICogRWl0aGVyIG9uZSBvZiB0aGVzZSBlbnRyaWVzIGlzIGl0IChhbmQKKwkJCSAqIHdlIGRvIG5vdCBjYXJlIHdoaWNoKSwgb3Igd2UgZG8gbm90IGhhdmUKKwkJCSAqIGl0LgorCQkJICoKKwkJCSAqIEZ1cnRoZXJtb3JlLCB3ZSBrbm93IHRoYXQgb25lIG9mIG91cgorCQkJICogZW5kcG9pbnRzIG11c3QgYmUgdGhlIGVkZ2Ugb2YgdGhlIHJ1biBvZgorCQkJICogZHVwbGljYXRlcy4gRm9yIGV4YW1wbGUsIGdpdmVuIHRoaXMKKwkJCSAqIHNlcXVlbmNlOgorCQkJICoKKwkJCSAqICAgICBpZHggMCAxIDIgMyA0IDUKKwkJCSAqICAgICBrZXkgQSBDIEMgQyBDIEQKKwkJCSAqCisJCQkgKiBJZiB3ZSBhcmUgc2VhcmNoaW5nIGZvciAiQiIsIHdlIG1pZ2h0CisJCQkgKiBoaXQgdGhlIGR1cGxpY2F0ZSBydW4gYXQgbG89MSwgaGk9MworCQkJICogKGUuZy4sIGJ5IGZpcnN0IG1pPTMsIHRoZW4gbWk9MCkuIEJ1dCB3ZQorCQkJICogY2FuIG5ldmVyIGhhdmUgbG8gPiAxLCBiZWNhdXNlIEIgPCBDLgorCQkJICogVGhhdCBpcywgaWYgb3VyIGtleSBpcyBsZXNzIHRoYW4gdGhlCisJCQkgKiBydW4sIHdlIGtub3cgdGhhdCAibG8iIGlzIHRoZSBlZGdlLCBidXQKKwkJCSAqIHdlIGNhbiBzYXkgbm90aGluZyBvZiAiaGkiLiBTaW1pbGFybHksCisJCQkgKiBpZiBvdXIga2V5IGlzIGdyZWF0ZXIgdGhhbiB0aGUgcnVuLCB3ZQorCQkJICoga25vdyB0aGF0ICJoaSIgaXMgdGhlIGVkZ2UsIGJ1dCB3ZSBjYW4KKwkJCSAqIHNheSBub3RoaW5nIG9mICJsbyIuCisJCQkgKgorCQkJICogVGhlcmVmb3JlIGlmIHdlIGRvIG5vdCBmaW5kIGl0LCB3ZSBhbHNvCisJCQkgKiBrbm93IHdoZXJlIGl0IHdvdWxkIGdvIGlmIGl0IGRpZCBleGlzdDoKKwkJCSAqIGp1c3Qgb24gdGhlIGZhciBzaWRlIG9mIHRoZSBlZGdlIHRoYXQgd2UKKwkJCSAqIGtub3cgYWJvdXQuCiAJCQkgKi8KKwkJCWlmIChvZnMgPT0gMjApIHsKKwkJCQltaSA9IGxvOworCQkJCW1pX2tleSA9IGJhc2UgKyBlbGVtX3NpemUgKiBtaSArIGtleV9vZmZzZXQ7CisJCQkJY21wID0gbWVtY21wKG1pX2tleSwga2V5LCAyMCk7CisJCQkJaWYgKCFjbXApCisJCQkJCXJldHVybiBtaTsKKwkJCQlpZiAoY21wIDwgMCkKKwkJCQkJcmV0dXJuIC0xIC0gaGk7CisJCQkJZWxzZQorCQkJCQlyZXR1cm4gLTEgLSBsbzsKKwkJCX0KKwogCQkJaGl2ID0gaGlfa2V5W29mc18wXTsKIAkJCWlmIChvZnNfMCA8IDE5KQogCQkJCWhpdiA9IChoaXYgPDwgOCkgfCBoaV9rZXlbb2ZzXzArMV07CmRpZmYgLS1naXQgYS9zaGExX2ZpbGUuYyBiL3NoYTFfZmlsZS5jCmluZGV4IDYxMzgzOWQuLjdkYWRkMDQgMTAwNjQ0Ci0tLSBhL3NoYTFfZmlsZS5jCisrKyBiL3NoYTFfZmlsZS5jCkBAIC02MTQsNyArNjE0LDcgQEAKIAl9CiB9CiAKLXN0YXRpYyBpbnQgdW51c2Vfb25lX3dpbmRvdyhzdHJ1Y3QgcGFja2VkX2dpdCAqY3VycmVudCwgaW50IGtlZXBfZmQpCitzdGF0aWMgaW50IHVudXNlX29uZV93aW5kb3coc3RydWN0IHBhY2tlZF9naXQgKmN1cnJlbnQpCiB7CiAJc3RydWN0IHBhY2tlZF9naXQgKnAsICpscnVfcCA9IE5VTEw7CiAJc3RydWN0IHBhY2tfd2luZG93ICpscnVfdyA9IE5VTEwsICpscnVfbCA9IE5VTEw7CkBAIC02MjgsMTUgKzYyOCw4IEBACiAJCXBhY2tfbWFwcGVkIC09IGxydV93LT5sZW47CiAJCWlmIChscnVfbCkKIAkJCWxydV9sLT5uZXh0ID0gbHJ1X3ctPm5leHQ7Ci0JCWVsc2UgeworCQllbHNlCiAJCQlscnVfcC0+d2luZG93cyA9IGxydV93LT5uZXh0OwotCQkJaWYgKCFscnVfcC0+d2luZG93cyAmJiBscnVfcC0+cGFja19mZCAhPSAtMQotCQkJCSYmIGxydV9wLT5wYWNrX2ZkICE9IGtlZXBfZmQpIHsKLQkJCQljbG9zZShscnVfcC0+cGFja19mZCk7Ci0JCQkJcGFja19vcGVuX2Zkcy0tOwotCQkJCWxydV9wLT5wYWNrX2ZkID0gLTE7Ci0JCQl9Ci0JCX0KIAkJZnJlZShscnVfdyk7CiAJCXBhY2tfb3Blbl93aW5kb3dzLS07CiAJCXJldHVybiAxOwpAQCAtNjQ0LDEwICs2MzcsMTAgQEAKIAlyZXR1cm4gMDsKIH0KIAotdm9pZCByZWxlYXNlX3BhY2tfbWVtb3J5KHNpemVfdCBuZWVkLCBpbnQgZmQpCit2b2lkIHJlbGVhc2VfcGFja19tZW1vcnkoc2l6ZV90IG5lZWQpCiB7CiAJc2l6ZV90IGN1ciA9IHBhY2tfbWFwcGVkOwotCXdoaWxlIChuZWVkID49IChjdXIgLSBwYWNrX21hcHBlZCkgJiYgdW51c2Vfb25lX3dpbmRvdyhOVUxMLCBmZCkpCisJd2hpbGUgKG5lZWQgPj0gKGN1ciAtIHBhY2tfbWFwcGVkKSAmJiB1bnVzZV9vbmVfd2luZG93KE5VTEwpKQogCQk7IC8qIG5vdGhpbmcgKi8KIH0KIApAQCAtNjU4LDcgKzY1MSw3IEBACiAJaWYgKHJldCA9PSBNQVBfRkFJTEVEKSB7CiAJCWlmICghbGVuZ3RoKQogCQkJcmV0dXJuIE5VTEw7Ci0JCXJlbGVhc2VfcGFja19tZW1vcnkobGVuZ3RoLCBmZCk7CisJCXJlbGVhc2VfcGFja19tZW1vcnkobGVuZ3RoKTsKIAkJcmV0ID0gbW1hcChzdGFydCwgbGVuZ3RoLCBwcm90LCBmbGFncywgZmQsIG9mZnNldCk7CiAJCWlmIChyZXQgPT0gTUFQX0ZBSUxFRCkKIAkJCWRpZV9lcnJubygiT3V0IG9mIG1lbW9yeT8gbW1hcCBmYWlsZWQiKTsKQEAgLTY4Miw2ICs2NzUsODMgQEAKIAl9CiB9CiAKKy8qCisgKiBUaGUgTFJVIHBhY2sgaXMgdGhlIG9uZSB3aXRoIHRoZSBvbGRlc3QgTVJVIHdpbmRvdywgcHJlZmVycmluZyBwYWNrcworICogd2l0aCBubyB1c2VkIHdpbmRvd3MsIG9yIHRoZSBvbGRlc3QgbXRpbWUgaWYgaXQgaGFzIG5vIHdpbmRvd3MgYWxsb2NhdGVkLgorICovCitzdGF0aWMgdm9pZCBmaW5kX2xydV9wYWNrKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCBzdHJ1Y3QgcGFja2VkX2dpdCAqKmxydV9wLCBzdHJ1Y3QgcGFja193aW5kb3cgKiptcnVfdywgaW50ICphY2NlcHRfd2luZG93c19pbnVzZSkKK3sKKwlzdHJ1Y3QgcGFja193aW5kb3cgKncsICp0aGlzX21ydV93OworCWludCBoYXNfd2luZG93c19pbnVzZSA9IDA7CisKKwkvKgorCSAqIFJlamVjdCB0aGlzIHBhY2sgaWYgaXQgaGFzIHdpbmRvd3MgYW5kIHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkCisJICogb25lIGRvZXMgbm90LiAgSWYgdGhpcyBwYWNrIGRvZXMgbm90IGhhdmUgd2luZG93cywgcmVqZWN0CisJICogaXQgaWYgdGhlIHBhY2sgZmlsZSBpcyBuZXdlciB0aGFuIHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIG9uZS4KKwkgKi8KKwlpZiAoKmxydV9wICYmICEqbXJ1X3cgJiYgKHAtPndpbmRvd3MgfHwgcC0+bXRpbWUgPiAoKmxydV9wKS0+bXRpbWUpKQorCQlyZXR1cm47CisKKwlmb3IgKHcgPSB0aGlzX21ydV93ID0gcC0+d2luZG93czsgdzsgdyA9IHctPm5leHQpIHsKKwkJLyoKKwkJICogUmVqZWN0IHRoaXMgcGFjayBpZiBhbnkgb2YgaXRzIHdpbmRvd3MgYXJlIGluIHVzZSwKKwkJICogYnV0IHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHBhY2sgZGlkIG5vdCBoYXZlIGFueQorCQkgKiBpbnVzZSB3aW5kb3dzLiAgT3RoZXJ3aXNlLCByZWNvcmQgdGhhdCB0aGlzIHBhY2sKKwkJICogaGFzIHdpbmRvd3MgaW4gdXNlLgorCQkgKi8KKwkJaWYgKHctPmludXNlX2NudCkgeworCQkJaWYgKCphY2NlcHRfd2luZG93c19pbnVzZSkKKwkJCQloYXNfd2luZG93c19pbnVzZSA9IDE7CisJCQllbHNlCisJCQkJcmV0dXJuOworCQl9CisKKwkJaWYgKHctPmxhc3RfdXNlZCA+IHRoaXNfbXJ1X3ctPmxhc3RfdXNlZCkKKwkJCXRoaXNfbXJ1X3cgPSB3OworCisJCS8qCisJCSAqIFJlamVjdCB0aGlzIHBhY2sgaWYgaXQgaGFzIHdpbmRvd3MgdGhhdCBoYXZlIGJlZW4KKwkJICogdXNlZCBtb3JlIHJlY2VudGx5IHRoYW4gdGhlIHByZXZpb3VzbHkgc2VsZWN0ZWQgcGFjay4KKwkJICogSWYgdGhlIHByZXZpb3VzbHkgc2VsZWN0ZWQgcGFjayBoYWQgd2luZG93cyBpbnVzZSBhbmQKKwkJICogd2UgaGF2ZSBub3QgZW5jb3VudGVyZWQgYSB3aW5kb3cgaW4gdGhpcyBwYWNrIHRoYXQgaXMKKwkJICogaW51c2UsIHNraXAgdGhpcyBjaGVjayBzaW5jZSB3ZSBwcmVmZXIgYSBwYWNrIHdpdGggbm8KKwkJICogaW51c2Ugd2luZG93cyB0byBvbmUgdGhhdCBoYXMgaW51c2Ugd2luZG93cy4KKwkJICovCisJCWlmICgqbXJ1X3cgJiYgKmFjY2VwdF93aW5kb3dzX2ludXNlID09IGhhc193aW5kb3dzX2ludXNlICYmCisJCSAgICB0aGlzX21ydV93LT5sYXN0X3VzZWQgPiAoKm1ydV93KS0+bGFzdF91c2VkKQorCQkJcmV0dXJuOworCX0KKworCS8qCisJICogU2VsZWN0IHRoaXMgcGFjay4KKwkgKi8KKwkqbXJ1X3cgPSB0aGlzX21ydV93OworCSpscnVfcCA9IHA7CisJKmFjY2VwdF93aW5kb3dzX2ludXNlID0gaGFzX3dpbmRvd3NfaW51c2U7Cit9CisKK3N0YXRpYyBpbnQgY2xvc2Vfb25lX3BhY2sodm9pZCkKK3sKKwlzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgKmxydV9wID0gTlVMTDsKKwlzdHJ1Y3QgcGFja193aW5kb3cgKm1ydV93ID0gTlVMTDsKKwlpbnQgYWNjZXB0X3dpbmRvd3NfaW51c2UgPSAxOworCisJZm9yIChwID0gcGFja2VkX2dpdDsgcDsgcCA9IHAtPm5leHQpIHsKKwkJaWYgKHAtPnBhY2tfZmQgPT0gLTEpCisJCQljb250aW51ZTsKKwkJZmluZF9scnVfcGFjayhwLCAmbHJ1X3AsICZtcnVfdywgJmFjY2VwdF93aW5kb3dzX2ludXNlKTsKKwl9CisKKwlpZiAobHJ1X3ApIHsKKwkJY2xvc2UobHJ1X3AtPnBhY2tfZmQpOworCQlwYWNrX29wZW5fZmRzLS07CisJCWxydV9wLT5wYWNrX2ZkID0gLTE7CisJCXJldHVybiAxOworCX0KKworCXJldHVybiAwOworfQorCiB2b2lkIHVudXNlX3BhY2soc3RydWN0IHBhY2tfd2luZG93ICoqd19jdXJzb3IpCiB7CiAJc3RydWN0IHBhY2tfd2luZG93ICp3ID0gKndfY3Vyc29yOwpAQCAtNzc3LDcgKzg0Nyw3IEBACiAJCQlwYWNrX21heF9mZHMgPSAxOwogCX0KIAotCXdoaWxlIChwYWNrX21heF9mZHMgPD0gcGFja19vcGVuX2ZkcyAmJiB1bnVzZV9vbmVfd2luZG93KE5VTEwsIC0xKSkKKwl3aGlsZSAocGFja19tYXhfZmRzIDw9IHBhY2tfb3Blbl9mZHMgJiYgY2xvc2Vfb25lX3BhY2soKSkKIAkJOyAvKiBub3RoaW5nICovCiAKIAlwLT5wYWNrX2ZkID0gZ2l0X29wZW5fbm9hdGltZShwLT5wYWNrX25hbWUpOwpAQCAtODkzLDcgKzk2Myw3IEBACiAJCQl3aW4tPmxlbiA9IChzaXplX3QpbGVuOwogCQkJcGFja19tYXBwZWQgKz0gd2luLT5sZW47CiAJCQl3aGlsZSAocGFja2VkX2dpdF9saW1pdCA8IHBhY2tfbWFwcGVkCi0JCQkJJiYgdW51c2Vfb25lX3dpbmRvdyhwLCBwLT5wYWNrX2ZkKSkKKwkJCQkmJiB1bnVzZV9vbmVfd2luZG93KHApKQogCQkJCTsgLyogbm90aGluZyAqLwogCQkJd2luLT5iYXNlID0geG1tYXAoTlVMTCwgd2luLT5sZW4sCiAJCQkJUFJPVF9SRUFELCBNQVBfUFJJVkFURSwKQEAgLTkzOSw3ICsxMDA5LDcgQEAKIAogc3RhdGljIHZvaWQgdHJ5X3RvX2ZyZWVfcGFja19tZW1vcnkoc2l6ZV90IHNpemUpCiB7Ci0JcmVsZWFzZV9wYWNrX21lbW9yeShzaXplLCAtMSk7CisJcmVsZWFzZV9wYWNrX21lbW9yeShzaXplKTsKIH0KIAogc3RydWN0IHBhY2tlZF9naXQgKmFkZF9wYWNrZWRfZ2l0KGNvbnN0IGNoYXIgKnBhdGgsIGludCBwYXRoX2xlbiwgaW50IGxvY2FsKQpAQCAtMjA1Niw2ICsyMTI2LDE2IEBACiAJCWludCBpOwogCQlzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9lbnRyeSAqZW50OwogCisJCWVudCA9IGdldF9kZWx0YV9iYXNlX2NhY2hlX2VudHJ5KHAsIGN1cnBvcyk7CisJCWlmIChlcV9kZWx0YV9iYXNlX2NhY2hlX2VudHJ5KGVudCwgcCwgY3VycG9zKSkgeworCQkJdHlwZSA9IGVudC0+dHlwZTsKKwkJCWRhdGEgPSBlbnQtPmRhdGE7CisJCQlzaXplID0gZW50LT5zaXplOworCQkJY2xlYXJfZGVsdGFfYmFzZV9jYWNoZV9lbnRyeShlbnQpOworCQkJYmFzZV9mcm9tX2NhY2hlID0gMTsKKwkJCWJyZWFrOworCQl9CisKIAkJaWYgKGRvX2NoZWNrX3BhY2tlZF9vYmplY3RfY3JjICYmIHAtPmluZGV4X3ZlcnNpb24gPiAxKSB7CiAJCQlzdHJ1Y3QgcmV2aW5kZXhfZW50cnkgKnJldmlkeCA9IGZpbmRfcGFja19yZXZpbmRleChwLCBvYmpfb2Zmc2V0KTsKIAkJCXVuc2lnbmVkIGxvbmcgbGVuID0gcmV2aWR4WzFdLm9mZnNldCAtIG9ial9vZmZzZXQ7CkBAIC0yMDcwLDE2ICsyMTUwLDYgQEAKIAkJCX0KIAkJfQogCi0JCWVudCA9IGdldF9kZWx0YV9iYXNlX2NhY2hlX2VudHJ5KHAsIGN1cnBvcyk7Ci0JCWlmIChlcV9kZWx0YV9iYXNlX2NhY2hlX2VudHJ5KGVudCwgcCwgY3VycG9zKSkgewotCQkJdHlwZSA9IGVudC0+dHlwZTsKLQkJCWRhdGEgPSBlbnQtPmRhdGE7Ci0JCQlzaXplID0gZW50LT5zaXplOwotCQkJY2xlYXJfZGVsdGFfYmFzZV9jYWNoZV9lbnRyeShlbnQpOwotCQkJYmFzZV9mcm9tX2NhY2hlID0gMTsKLQkJCWJyZWFrOwotCQl9Ci0KIAkJdHlwZSA9IHVucGFja19vYmplY3RfaGVhZGVyKHAsICZ3X2N1cnMsICZjdXJwb3MsICZzaXplKTsKIAkJaWYgKHR5cGUgIT0gT0JKX09GU19ERUxUQSAmJiB0eXBlICE9IE9CSl9SRUZfREVMVEEpCiAJCQlicmVhazsKZGlmZiAtLWdpdCBhL3NoYTFfbmFtZS5jIGIvc2hhMV9uYW1lLmMKaW5kZXggNjVhZDA2Ni4uZTljMjk5OSAxMDA2NDQKLS0tIGEvc2hhMV9uYW1lLmMKKysrIGIvc2hhMV9uYW1lLmMKQEAgLTM0Myw3ICszNDMsNiBAQAogCXJldHVybiBzdGF0dXM7CiB9CiAKLQogaW50IGZvcl9lYWNoX2FiYnJldihjb25zdCBjaGFyICpwcmVmaXgsIGVhY2hfYWJicmV2X2ZuIGZuLCB2b2lkICpjYl9kYXRhKQogewogCWNoYXIgaGV4X3BmeFs0MF07CkBAIC02NzcsMTEgKzY3NiwxMyBAQAogCQlyZXR1cm4gLTE7CiAKIAlzcCsrOyAvKiBiZWdpbm5pbmcgb2YgdHlwZSBuYW1lLCBvciBjbG9zaW5nIGJyYWNlIGZvciBlbXB0eSAqLwotCWlmICghc3RybmNtcChjb21taXRfdHlwZSwgc3AsIDYpICYmIHNwWzZdID09ICd9JykKKwlpZiAoIXByZWZpeGNtcChzcCwgImNvbW1pdH0iKSkKIAkJZXhwZWN0ZWRfdHlwZSA9IE9CSl9DT01NSVQ7Ci0JZWxzZSBpZiAoIXN0cm5jbXAodHJlZV90eXBlLCBzcCwgNCkgJiYgc3BbNF0gPT0gJ30nKQorCWVsc2UgaWYgKCFwcmVmaXhjbXAoc3AsICJ0YWd9IikpCisJCWV4cGVjdGVkX3R5cGUgPSBPQkpfVEFHOworCWVsc2UgaWYgKCFwcmVmaXhjbXAoc3AsICJ0cmVlfSIpKQogCQlleHBlY3RlZF90eXBlID0gT0JKX1RSRUU7Ci0JZWxzZSBpZiAoIXN0cm5jbXAoYmxvYl90eXBlLCBzcCwgNCkgJiYgc3BbNF0gPT0gJ30nKQorCWVsc2UgaWYgKCFwcmVmaXhjbXAoc3AsICJibG9ifSIpKQogCQlleHBlY3RlZF90eXBlID0gT0JKX0JMT0I7CiAJZWxzZSBpZiAoIXByZWZpeGNtcChzcCwgIm9iamVjdH0iKSkKIAkJZXhwZWN0ZWRfdHlwZSA9IE9CSl9BTlk7CkBAIC0xMDA0LDYgKzEwMDUsMjggQEAKIAlyZXR1cm4gc3Q7CiB9CiAKKy8qIHBhcnNlIEBzb21ldGhpbmcgc3ludGF4LCB3aGVuICdzb21ldGhpbmcnIGlzIG5vdCB7Lip9ICovCitzdGF0aWMgaW50IGludGVycHJldF9lbXB0eV9hdChjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwgaW50IGxlbiwgc3RydWN0IHN0cmJ1ZiAqYnVmKQoreworCWNvbnN0IGNoYXIgKm5leHQ7CisKKwlpZiAobGVuIHx8IG5hbWVbMV0gPT0gJ3snKQorCQlyZXR1cm4gLTE7CisKKwkvKiBtYWtlIHN1cmUgaXQncyBhIHNpbmdsZSBALCBvciBAQHsuKn0sIG5vdCBAZm9vICovCisJbmV4dCA9IHN0cmNocihuYW1lICsgbGVuICsgMSwgJ0AnKTsKKwlpZiAobmV4dCAmJiBuZXh0WzFdICE9ICd7JykKKwkJcmV0dXJuIC0xOworCWlmICghbmV4dCkKKwkJbmV4dCA9IG5hbWUgKyBuYW1lbGVuOworCWlmIChuZXh0ICE9IG5hbWUgKyAxKQorCQlyZXR1cm4gLTE7CisKKwlzdHJidWZfcmVzZXQoYnVmKTsKKwlzdHJidWZfYWRkKGJ1ZiwgIkhFQUQiLCA0KTsKKwlyZXR1cm4gMTsKK30KKwogc3RhdGljIGludCByZWludGVycHJldChjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwgaW50IGxlbiwgc3RydWN0IHN0cmJ1ZiAqYnVmKQogewogCS8qIHdlIGhhdmUgZXh0cmEgZGF0YSwgd2hpY2ggbWlnaHQgbmVlZCBmdXJ0aGVyIHByb2Nlc3NpbmcgKi8KQEAgLTEwMTIsNyArMTAzNSw3IEBACiAJaW50IHJldDsKIAogCXN0cmJ1Zl9hZGQoYnVmLCBuYW1lICsgbGVuLCBuYW1lbGVuIC0gbGVuKTsKLQlyZXQgPSBpbnRlcnByZXRfYnJhbmNoX25hbWUoYnVmLT5idWYsICZ0bXApOworCXJldCA9IGludGVycHJldF9icmFuY2hfbmFtZShidWYtPmJ1ZiwgYnVmLT5sZW4sICZ0bXApOwogCS8qIHRoYXQgZGF0YSB3YXMgbm90IGludGVycHJldGVkLCByZW1vdmUgb3VyIGNydWZ0ICovCiAJaWYgKHJldCA8IDApIHsKIAkJc3RyYnVmX3NldGxlbihidWYsIHVzZWQpOwpAQCAtMTA0NiwxNCArMTA2OSwxNiBAQAogICogSWYgdGhlIGlucHV0IHdhcyBvayBidXQgdGhlcmUgYXJlIG5vdCBOIGJyYW5jaCBzd2l0Y2hlcyBpbiB0aGUKICAqIHJlZmxvZywgaXQgcmV0dXJucyAwLgogICovCi1pbnQgaW50ZXJwcmV0X2JyYW5jaF9uYW1lKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzdHJidWYgKmJ1ZikKK2ludCBpbnRlcnByZXRfYnJhbmNoX25hbWUoY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4sIHN0cnVjdCBzdHJidWYgKmJ1ZikKIHsKIAljaGFyICpjcDsKIAlzdHJ1Y3QgYnJhbmNoICp1cHN0cmVhbTsKLQlpbnQgbmFtZWxlbiA9IHN0cmxlbihuYW1lKTsKIAlpbnQgbGVuID0gaW50ZXJwcmV0X250aF9wcmlvcl9jaGVja291dChuYW1lLCBidWYpOwogCWludCB0bXBfbGVuOwogCisJaWYgKCFuYW1lbGVuKQorCQluYW1lbGVuID0gc3RybGVuKG5hbWUpOworCiAJaWYgKCFsZW4pIHsKIAkJcmV0dXJuIGxlbjsgLyogc3ludGF4IE9rLCBub3QgZW5vdWdoIHN3aXRjaGVzICovCiAJfSBlbHNlIGlmIChsZW4gPiAwKSB7CkBAIC0xMDY2LDkgKzEwOTEsMTUgQEAKIAljcCA9IHN0cmNocihuYW1lLCAnQCcpOwogCWlmICghY3ApCiAJCXJldHVybiAtMTsKKworCWxlbiA9IGludGVycHJldF9lbXB0eV9hdChuYW1lLCBuYW1lbGVuLCBjcCAtIG5hbWUsIGJ1Zik7CisJaWYgKGxlbiA+IDApCisJCXJldHVybiByZWludGVycHJldChuYW1lLCBuYW1lbGVuLCBsZW4sIGJ1Zik7CisKIAl0bXBfbGVuID0gdXBzdHJlYW1fbWFyayhjcCwgbmFtZWxlbiAtIChjcCAtIG5hbWUpKTsKIAlpZiAoIXRtcF9sZW4pCiAJCXJldHVybiAtMTsKKwogCWxlbiA9IGNwICsgdG1wX2xlbiAtIG5hbWU7CiAJY3AgPSB4c3RybmR1cChuYW1lLCBjcCAtIG5hbWUpOwogCXVwc3RyZWFtID0gYnJhbmNoX2dldCgqY3AgPyBjcCA6IE5VTEwpOwpAQCAtMTEwMCw3ICsxMTMxLDcgQEAKIGludCBzdHJidWZfYnJhbmNobmFtZShzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqbmFtZSkKIHsKIAlpbnQgbGVuID0gc3RybGVuKG5hbWUpOwotCWludCB1c2VkID0gaW50ZXJwcmV0X2JyYW5jaF9uYW1lKG5hbWUsIHNiKTsKKwlpbnQgdXNlZCA9IGludGVycHJldF9icmFuY2hfbmFtZShuYW1lLCBsZW4sIHNiKTsKIAogCWlmICh1c2VkID09IGxlbikKIAkJcmV0dXJuIDA7CkBAIC0xMTMwLDEzICsxMTYxLDEzIEBACiB9CiAKIC8qCi0gKiBNYW55IGNhbGxlcnMga25vdyB0aGF0IHRoZSB1c2VyIG1lYW50IHRvIG5hbWUgYSBjb21taXR0aXNoIGJ5CisgKiBNYW55IGNhbGxlcnMga25vdyB0aGF0IHRoZSB1c2VyIG1lYW50IHRvIG5hbWUgYSBjb21taXQtaXNoIGJ5CiAgKiBzeW50YWN0aWNhbCBwb3NpdGlvbnMgd2hlcmUgdGhlIG9iamVjdCBuYW1lIGFwcGVhcnMuICBDYWxsaW5nIHRoaXMKICAqIGZ1bmN0aW9uIGFsbG93cyB0aGUgbWFjaGluZXJ5IHRvIGRpc2FtYmlndWF0ZSBzaG9ydGVyLXRoYW4tdW5pcXVlCi0gKiBhYmJyZXZpYXRlZCBvYmplY3QgbmFtZXMgYmV0d2VlbiBjb21taXR0aXNoIGFuZCBvdGhlcnMuCisgKiBhYmJyZXZpYXRlZCBvYmplY3QgbmFtZXMgYmV0d2VlbiBjb21taXQtaXNoIGFuZCBvdGhlcnMuCiAgKgogICogTm90ZSB0aGF0IHRoaXMgZG9lcyBOT1QgZXJyb3Igb3V0IHdoZW4gdGhlIG5hbWVkIG9iamVjdCBpcyBub3QgYQotICogY29tbWl0dGlzaC4gSXQgaXMgbWVyZWx5IHRvIGdpdmUgYSBoaW50IHRvIHRoZSBkaXNhbWJpZ3VhdGlvbgorICogY29tbWl0LWlzaC4gSXQgaXMgbWVyZWx5IHRvIGdpdmUgYSBoaW50IHRvIHRoZSBkaXNhbWJpZ3VhdGlvbgogICogbWFjaGluZXJ5LgogICovCiBpbnQgZ2V0X3NoYTFfY29tbWl0dGlzaChjb25zdCBjaGFyICpuYW1lLCB1bnNpZ25lZCBjaGFyICpzaGExKQpkaWZmIC0tZ2l0IGEvc3VibW9kdWxlLmMgYi9zdWJtb2R1bGUuYwppbmRleCBjMGY5M2MyLi4xOTA1ZDc1IDEwMDY0NAotLS0gYS9zdWJtb2R1bGUuYworKysgYi9zdWJtb2R1bGUuYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCiAjaW5jbHVkZSAic2hhMS1hcnJheS5oIgogI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKKyNpbmNsdWRlICJibG9iLmgiCiAKIHN0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgY29uZmlnX25hbWVfZm9yX3BhdGg7CiBzdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IGNvbmZpZ19mZXRjaF9yZWN1cnNlX3N1Ym1vZHVsZXNfZm9yX25hbWU7CkBAIC0zMCw2ICszMSwxMTggQEAKICAqLwogc3RhdGljIGludCBnaXRtb2R1bGVzX2lzX3VubWVyZ2VkOwogCisvKgorICogVGhpcyBmbGFnIGlzIHNldCBpZiB0aGUgLmdpdG1vZHVsZXMgZmlsZSBoYWQgdW5zdGFnZWQgbW9kaWZpY2F0aW9ucyBvbgorICogc3RhcnR1cC4gVGhpcyBtdXN0IGJlIGNoZWNrZWQgYmVmb3JlIGFsbG93aW5nIG1vZGlmaWNhdGlvbnMgdG8gdGhlCisgKiAuZ2l0bW9kdWxlcyBmaWxlIHdpdGggdGhlIGludGVudGlvbiB0byBzdGFnZSB0aGVtIGxhdGVyLCBiZWNhdXNlIHdoZW4KKyAqIGNvbnRpbnVpbmcgd2Ugd291bGQgc3RhZ2UgdGhlIG1vZGlmaWNhdGlvbnMgdGhlIHVzZXIgZGlkbid0IHN0YWdlIGhlcnNlbGYKKyAqIHRvby4gVGhhdCBtaWdodCBjaGFuZ2UgaW4gYSBmdXR1cmUgdmVyc2lvbiB3aGVuIHdlIGxlYXJuIHRvIHN0YWdlIHRoZQorICogY2hhbmdlcyB3ZSBkbyBvdXJzZWx2ZXMgd2l0aG91dCBzdGFnaW5nIGFueSBwcmV2aW91cyBtb2RpZmljYXRpb25zLgorICovCitzdGF0aWMgaW50IGdpdG1vZHVsZXNfaXNfbW9kaWZpZWQ7CisKKworaW50IGlzX3N0YWdpbmdfZ2l0bW9kdWxlc19vayh2b2lkKQoreworCXJldHVybiAhZ2l0bW9kdWxlc19pc19tb2RpZmllZDsKK30KKworLyoKKyAqIFRyeSB0byB1cGRhdGUgdGhlICJwYXRoIiBlbnRyeSBpbiB0aGUgInN1Ym1vZHVsZS48bmFtZT4iIHNlY3Rpb24gb2YgdGhlCisgKiAuZ2l0bW9kdWxlcyBmaWxlLiBSZXR1cm4gMCBvbmx5IGlmIGEgLmdpdG1vZHVsZXMgZmlsZSB3YXMgZm91bmQsIGEgc2VjdGlvbgorICogd2l0aCB0aGUgY29ycmVjdCBwYXRoPTxvbGRwYXRoPiBzZXR0aW5nIHdhcyBmb3VuZCBhbmQgd2UgY291bGQgdXBkYXRlIGl0LgorICovCitpbnQgdXBkYXRlX3BhdGhfaW5fZ2l0bW9kdWxlcyhjb25zdCBjaGFyICpvbGRwYXRoLCBjb25zdCBjaGFyICpuZXdwYXRoKQoreworCXN0cnVjdCBzdHJidWYgZW50cnkgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqcGF0aF9vcHRpb247CisKKwlpZiAoIWZpbGVfZXhpc3RzKCIuZ2l0bW9kdWxlcyIpKSAvKiBEbyBub3RoaW5nIHdpdGhvdXQgLmdpdG1vZHVsZXMgKi8KKwkJcmV0dXJuIC0xOworCisJaWYgKGdpdG1vZHVsZXNfaXNfdW5tZXJnZWQpCisJCWRpZShfKCJDYW5ub3QgY2hhbmdlIHVubWVyZ2VkIC5naXRtb2R1bGVzLCByZXNvbHZlIG1lcmdlIGNvbmZsaWN0cyBmaXJzdCIpKTsKKworCXBhdGhfb3B0aW9uID0gdW5zb3J0ZWRfc3RyaW5nX2xpc3RfbG9va3VwKCZjb25maWdfbmFtZV9mb3JfcGF0aCwgb2xkcGF0aCk7CisJaWYgKCFwYXRoX29wdGlvbikgeworCQl3YXJuaW5nKF8oIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIpLCBvbGRwYXRoKTsKKwkJcmV0dXJuIC0xOworCX0KKwlzdHJidWZfYWRkc3RyKCZlbnRyeSwgInN1Ym1vZHVsZS4iKTsKKwlzdHJidWZfYWRkc3RyKCZlbnRyeSwgcGF0aF9vcHRpb24tPnV0aWwpOworCXN0cmJ1Zl9hZGRzdHIoJmVudHJ5LCAiLnBhdGgiKTsKKwlpZiAoZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZSgiLmdpdG1vZHVsZXMiLCBlbnRyeS5idWYsIG5ld3BhdGgpIDwgMCkgeworCQkvKiBNYXliZSB0aGUgdXNlciBhbHJlYWR5IGRpZCB0aGF0LCBkb24ndCBlcnJvciBvdXQgaGVyZSAqLworCQl3YXJuaW5nKF8oIkNvdWxkIG5vdCB1cGRhdGUgLmdpdG1vZHVsZXMgZW50cnkgJXMiKSwgZW50cnkuYnVmKTsKKwkJc3RyYnVmX3JlbGVhc2UoJmVudHJ5KTsKKwkJcmV0dXJuIC0xOworCX0KKwlzdHJidWZfcmVsZWFzZSgmZW50cnkpOworCXJldHVybiAwOworfQorCisvKgorICogVHJ5IHRvIHJlbW92ZSB0aGUgInN1Ym1vZHVsZS48bmFtZT4iIHNlY3Rpb24gZnJvbSAuZ2l0bW9kdWxlcyB3aGVyZSB0aGUgZ2l2ZW4KKyAqIHBhdGggaXMgY29uZmlndXJlZC4gUmV0dXJuIDAgb25seSBpZiBhIC5naXRtb2R1bGVzIGZpbGUgd2FzIGZvdW5kLCBhIHNlY3Rpb24KKyAqIHdpdGggdGhlIGNvcnJlY3QgcGF0aD08cGF0aD4gc2V0dGluZyB3YXMgZm91bmQgYW5kIHdlIGNvdWxkIHJlbW92ZSBpdC4KKyAqLworaW50IHJlbW92ZV9wYXRoX2Zyb21fZ2l0bW9kdWxlcyhjb25zdCBjaGFyICpwYXRoKQoreworCXN0cnVjdCBzdHJidWYgc2VjdCA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICpwYXRoX29wdGlvbjsKKworCWlmICghZmlsZV9leGlzdHMoIi5naXRtb2R1bGVzIikpIC8qIERvIG5vdGhpbmcgd2l0aG91dCAuZ2l0bW9kdWxlcyAqLworCQlyZXR1cm4gLTE7CisKKwlpZiAoZ2l0bW9kdWxlc19pc191bm1lcmdlZCkKKwkJZGllKF8oIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IikpOworCisJcGF0aF9vcHRpb24gPSB1bnNvcnRlZF9zdHJpbmdfbGlzdF9sb29rdXAoJmNvbmZpZ19uYW1lX2Zvcl9wYXRoLCBwYXRoKTsKKwlpZiAoIXBhdGhfb3B0aW9uKSB7CisJCXdhcm5pbmcoXygiQ291bGQgbm90IGZpbmQgc2VjdGlvbiBpbiAuZ2l0bW9kdWxlcyB3aGVyZSBwYXRoPSVzIiksIHBhdGgpOworCQlyZXR1cm4gLTE7CisJfQorCXN0cmJ1Zl9hZGRzdHIoJnNlY3QsICJzdWJtb2R1bGUuIik7CisJc3RyYnVmX2FkZHN0cigmc2VjdCwgcGF0aF9vcHRpb24tPnV0aWwpOworCWlmIChnaXRfY29uZmlnX3JlbmFtZV9zZWN0aW9uX2luX2ZpbGUoIi5naXRtb2R1bGVzIiwgc2VjdC5idWYsIE5VTEwpIDwgMCkgeworCQkvKiBNYXliZSB0aGUgdXNlciBhbHJlYWR5IGRpZCB0aGF0LCBkb24ndCBlcnJvciBvdXQgaGVyZSAqLworCQl3YXJuaW5nKF8oIkNvdWxkIG5vdCByZW1vdmUgLmdpdG1vZHVsZXMgZW50cnkgZm9yICVzIiksIHBhdGgpOworCQlzdHJidWZfcmVsZWFzZSgmc2VjdCk7CisJCXJldHVybiAtMTsKKwl9CisJc3RyYnVmX3JlbGVhc2UoJnNlY3QpOworCXJldHVybiAwOworfQorCit2b2lkIHN0YWdlX3VwZGF0ZWRfZ2l0bW9kdWxlcyh2b2lkKQoreworCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0YXQgc3Q7CisJaW50IHBvczsKKwlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOworCWludCBuYW1lbGVuID0gc3RybGVuKCIuZ2l0bW9kdWxlcyIpOworCisJcG9zID0gY2FjaGVfbmFtZV9wb3MoIi5naXRtb2R1bGVzIiwgbmFtZWxlbik7CisJaWYgKHBvcyA8IDApIHsKKwkJd2FybmluZyhfKCJjb3VsZCBub3QgZmluZCAuZ2l0bW9kdWxlcyBpbiBpbmRleCIpKTsKKwkJcmV0dXJuOworCX0KKwljZSA9IGFjdGl2ZV9jYWNoZVtwb3NdOworCWNlLT5jZV9mbGFncyA9IG5hbWVsZW47CisJaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoJmJ1ZiwgIi5naXRtb2R1bGVzIiwgMCkgPCAwKQorCQlkaWUoXygicmVhZGluZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIpKTsKKwlpZiAobHN0YXQoIi5naXRtb2R1bGVzIiwgJnN0KSA8IDApCisJCWRpZV9lcnJubyhfKCJ1bmFibGUgdG8gc3RhdCB1cGRhdGVkIC5naXRtb2R1bGVzIikpOworCWZpbGxfc3RhdF9jYWNoZV9pbmZvKGNlLCAmc3QpOworCWNlLT5jZV9tb2RlID0gY2VfbW9kZV9mcm9tX3N0YXQoY2UsIHN0LnN0X21vZGUpOworCWlmIChyZW1vdmVfY2FjaGVfZW50cnlfYXQocG9zKSA8IDApCisJCWRpZShfKCJ1bmFibGUgdG8gcmVtb3ZlIC5naXRtb2R1bGVzIGZyb20gaW5kZXgiKSk7CisJaWYgKHdyaXRlX3NoYTFfZmlsZShidWYuYnVmLCBidWYubGVuLCBibG9iX3R5cGUsIGNlLT5zaGExKSkKKwkJZGllKF8oImFkZGluZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIpKTsKKwlpZiAoYWRkX2NhY2hlX2VudHJ5KGNlLCBBRERfQ0FDSEVfT0tfVE9fQUREfEFERF9DQUNIRV9PS19UT19SRVBMQUNFKSkKKwkJZGllKF8oInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiKSk7Cit9CisKIHN0YXRpYyBpbnQgYWRkX3N1Ym1vZHVsZV9vZGIoY29uc3QgY2hhciAqcGF0aCkKIHsKIAlzdHJ1Y3Qgc3RyYnVmIG9iamVjdHNfZGlyZWN0b3J5ID0gU1RSQlVGX0lOSVQ7CkBAIC0xMTYsNiArMjI5LDExIEBACiAJCQkJICAgICFtZW1jbXAoY2UtPm5hbWUsICIuZ2l0bW9kdWxlcyIsIDExKSkKIAkJCQkJZ2l0bW9kdWxlc19pc191bm1lcmdlZCA9IDE7CiAJCQl9CisJCX0gZWxzZSBpZiAocG9zIDwgYWN0aXZlX25yKSB7CisJCQlzdHJ1Y3Qgc3RhdCBzdDsKKwkJCWlmIChsc3RhdCgiLmdpdG1vZHVsZXMiLCAmc3QpID09IDAgJiYKKwkJCSAgICBjZV9tYXRjaF9zdGF0KGFjdGl2ZV9jYWNoZVtwb3NdLCAmc3QsIDApICYgREFUQV9DSEFOR0VEKQorCQkJCWdpdG1vZHVsZXNfaXNfbW9kaWZpZWQgPSAxOwogCQl9CiAKIAkJaWYgKCFnaXRtb2R1bGVzX2lzX3VubWVyZ2VkKQpAQCAtMTAxMCwzICsxMTI4LDM0IEBACiAJZnJlZShtZXJnZXMub2JqZWN0cyk7CiAJcmV0dXJuIDA7CiB9CisKKy8qIFVwZGF0ZSBnaXRmaWxlIGFuZCBjb3JlLndvcmt0cmVlIHNldHRpbmcgdG8gY29ubmVjdCB3b3JrIHRyZWUgYW5kIGdpdCBkaXIgKi8KK3ZvaWQgY29ubmVjdF93b3JrX3RyZWVfYW5kX2dpdF9kaXIoY29uc3QgY2hhciAqd29ya190cmVlLCBjb25zdCBjaGFyICpnaXRfZGlyKQoreworCXN0cnVjdCBzdHJidWYgZmlsZV9uYW1lID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiByZWxfcGF0aCA9IFNUUkJVRl9JTklUOworCWNvbnN0IGNoYXIgKnJlYWxfd29ya190cmVlID0geHN0cmR1cChyZWFsX3BhdGgod29ya190cmVlKSk7CisJRklMRSAqZnA7CisKKwkvKiBVcGRhdGUgZ2l0ZmlsZSAqLworCXN0cmJ1Zl9hZGRmKCZmaWxlX25hbWUsICIlcy8uZ2l0Iiwgd29ya190cmVlKTsKKwlmcCA9IGZvcGVuKGZpbGVfbmFtZS5idWYsICJ3Iik7CisJaWYgKCFmcCkKKwkJZGllKF8oIkNvdWxkIG5vdCBjcmVhdGUgZ2l0IGxpbmsgJXMiKSwgZmlsZV9uYW1lLmJ1Zik7CisJZnByaW50ZihmcCwgImdpdGRpcjogJXNcbiIsIHJlbGF0aXZlX3BhdGgoZ2l0X2RpciwgcmVhbF93b3JrX3RyZWUsCisJCQkJCQkgICZyZWxfcGF0aCkpOworCWZjbG9zZShmcCk7CisKKwkvKiBVcGRhdGUgY29yZS53b3JrdHJlZSBzZXR0aW5nICovCisJc3RyYnVmX3Jlc2V0KCZmaWxlX25hbWUpOworCXN0cmJ1Zl9hZGRmKCZmaWxlX25hbWUsICIlcy9jb25maWciLCBnaXRfZGlyKTsKKwlpZiAoZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZShmaWxlX25hbWUuYnVmLCAiY29yZS53b3JrdHJlZSIsCisJCQkJICAgcmVsYXRpdmVfcGF0aChyZWFsX3dvcmtfdHJlZSwgZ2l0X2RpciwKKwkJCQkJCSAmcmVsX3BhdGgpKSkKKwkJZGllKF8oIkNvdWxkIG5vdCBzZXQgY29yZS53b3JrdHJlZSBpbiAlcyIpLAorCQkgICAgZmlsZV9uYW1lLmJ1Zik7CisKKwlzdHJidWZfcmVsZWFzZSgmZmlsZV9uYW1lKTsKKwlzdHJidWZfcmVsZWFzZSgmcmVsX3BhdGgpOworCWZyZWUoKHZvaWQgKilyZWFsX3dvcmtfdHJlZSk7Cit9CmRpZmYgLS1naXQgYS9zdWJtb2R1bGUuaCBiL3N1Ym1vZHVsZS5oCmluZGV4IGM3ZmZjN2MuLjdiZWVjNDggMTAwNjQ0Ci0tLSBhL3N1Ym1vZHVsZS5oCisrKyBiL3N1Ym1vZHVsZS5oCkBAIC0xMSw2ICsxMSwxMCBAQAogCVJFQ1VSU0VfU1VCTU9EVUxFU19PTiA9IDIKIH07CiAKK2ludCBpc19zdGFnaW5nX2dpdG1vZHVsZXNfb2sodm9pZCk7CitpbnQgdXBkYXRlX3BhdGhfaW5fZ2l0bW9kdWxlcyhjb25zdCBjaGFyICpvbGRwYXRoLCBjb25zdCBjaGFyICpuZXdwYXRoKTsKK2ludCByZW1vdmVfcGF0aF9mcm9tX2dpdG1vZHVsZXMoY29uc3QgY2hhciAqcGF0aCk7Cit2b2lkIHN0YWdlX3VwZGF0ZWRfZ2l0bW9kdWxlcyh2b2lkKTsKIHZvaWQgc2V0X2RpZmZvcHRfZmxhZ3NfZnJvbV9zdWJtb2R1bGVfY29uZmlnKHN0cnVjdCBkaWZmX29wdGlvbnMgKmRpZmZvcHQsCiAJCWNvbnN0IGNoYXIgKnBhdGgpOwogaW50IHN1Ym1vZHVsZV9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpOwpAQCAtMzYsNSArNDAsNiBAQAogaW50IGZpbmRfdW5wdXNoZWRfc3VibW9kdWxlcyh1bnNpZ25lZCBjaGFyIG5ld19zaGExWzIwXSwgY29uc3QgY2hhciAqcmVtb3Rlc19uYW1lLAogCQlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKm5lZWRzX3B1c2hpbmcpOwogaW50IHB1c2hfdW5wdXNoZWRfc3VibW9kdWxlcyh1bnNpZ25lZCBjaGFyIG5ld19zaGExWzIwXSwgY29uc3QgY2hhciAqcmVtb3Rlc19uYW1lKTsKK3ZvaWQgY29ubmVjdF93b3JrX3RyZWVfYW5kX2dpdF9kaXIoY29uc3QgY2hhciAqd29ya190cmVlLCBjb25zdCBjaGFyICpnaXRfZGlyKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS90Ly5naXRhdHRyaWJ1dGVzIGIvdC8uZ2l0YXR0cmlidXRlcwppbmRleCAxYjk3YzU0Li4yZDQ0MDg4IDEwMDY0NAotLS0gYS90Ly5naXRhdHRyaWJ1dGVzCisrKyBiL3QvLmdpdGF0dHJpYnV0ZXMKQEAgLTEgKzEsMiBAQAogdFswLTldWzAtOV1bMC05XVswLTldLyogLXdoaXRlc3BhY2UKK3QwMTEwL3VybC0qIGJpbmFyeQpkaWZmIC0tZ2l0IGEvdC9SRUFETUUgYi90L1JFQURNRQppbmRleCAwYTkzOWViLi5jYWVlYjlkIDEwMDY0NAotLS0gYS90L1JFQURNRQorKysgYi90L1JFQURNRQpAQCAtMzQwLDcgKzM0MCwxMSBAQAogIC0gdXNlIHBlcmwgd2l0aG91dCBzcGVsbGluZyBpdCBhcyAiJFBFUkxfUEFUSCIuIFRoaXMgaXMgdG8gaGVscCBvdXIKICAgIGZyaWVuZHMgb24gV2luZG93cyB3aGVyZSB0aGUgcGxhdGZvcm0gUGVybCBvZnRlbiBhZGRzIENSIGJlZm9yZQogICAgdGhlIGVuZCBvZiBsaW5lLCBhbmQgdGhleSBidW5kbGUgR2l0IHdpdGggYSB2ZXJzaW9uIG9mIFBlcmwgdGhhdAotICAgZG9lcyBub3QgZG8gc28sIHdob3NlIHBhdGggaXMgc3BlY2lmaWVkIHdpdGggJFBFUkxfUEFUSC4KKyAgIGRvZXMgbm90IGRvIHNvLCB3aG9zZSBwYXRoIGlzIHNwZWNpZmllZCB3aXRoICRQRVJMX1BBVEguIE5vdGUgdGhhdCB3ZQorICAgcHJvdmlkZSBhICJwZXJsIiBmdW5jdGlvbiB3aGljaCB1c2VzICRQRVJMX1BBVEggdW5kZXIgdGhlIGhvb2QsIHNvCisgICB5b3UgZG8gbm90IG5lZWQgdG8gd29ycnkgd2hlbiBzaW1wbHkgcnVubmluZyBwZXJsIGluIHRoZSB0ZXN0IHNjcmlwdHMKKyAgIChidXQgeW91IGRvLCBmb3IgZXhhbXBsZSwgb24gYSBzaGViYW5nIGxpbmUgb3IgaW4gYSBzdWIgc2NyaXB0CisgICBjcmVhdGVkIHZpYSAid3JpdGVfc2NyaXB0IikuCiAKICAtIHVzZSBzaCB3aXRob3V0IHNwZWxsaW5nIGl0IGFzICIkU0hFTExfUEFUSCIsIHdoZW4gdGhlIHNjcmlwdCBjYW4KICAgIGJlIG1pc2ludGVycHJldGVkIGJ5IGJyb2tlbiBwbGF0Zm9ybSBzaGVsbCAoZS5nLiBTb2xhcmlzKS4KQEAgLTM4Nyw3ICszOTEsNyBAQAogYmVsb3cpLCBlLmcuOgogCiAgICAgdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdJIG5lZWQgUGVybCcgJwotICAgICAgICAiJFBFUkxfUEFUSCIgLWUgImhsYWdoKCkgaWYgdW5mX3VuZigpIgorICAgICAgICBwZXJsIC1lICJobGFnaCgpIGlmIHVuZl91bmYoKSIKICAgICAnCiAKIFRoZSBhZHZhbnRhZ2Ugb2Ygc2tpcHBpbmcgdGVzdHMgbGlrZSB0aGlzIGlzIHRoYXQgcGxhdGZvcm1zIHRoYXQgZG9uJ3QKQEAgLTUyMCw3ICs1MjQsNyBAQAogCiAJdGVzdF9leHRlcm5hbCBcCiAJICAgICdHaXR3ZWJDYWNoZTo6KkZpbGVDYWNoZSonIFwKLQkgICAgIiRQRVJMX1BBVEgiICIkVEVTVF9ESVJFQ1RPUlkiL3Q5NTAzL3Rlc3RfY2FjaGVfaW50ZXJmYWNlLnBsCisJICAgIHBlcmwgIiRURVNUX0RJUkVDVE9SWSIvdDk1MDMvdGVzdF9jYWNoZV9pbnRlcmZhY2UucGwKIAogICAgSWYgdGhlIHRlc3QgaXMgb3V0cHV0dGluZyBpdHMgb3duIFRBUCB5b3Ugc2hvdWxkIHNldCB0aGUKICAgIHRlc3RfZXh0ZXJuYWxfaGFzX3RhcCB2YXJpYWJsZSBzb21ld2hlcmUgYmVmb3JlIGNhbGxpbmcgdGhlIGZpcnN0CkBAIC01MzYsNyArNTQwLDcgQEAKIAogCXRlc3RfZXh0ZXJuYWxfd2l0aG91dF9zdGRlcnIgXAogCSAgICAnUGVybCBBUEknIFwKLQkgICAgIiRQRVJMX1BBVEgiICIkVEVTVF9ESVJFQ1RPUlkiL3Q5NzAwL3Rlc3QucGwKKwkgICAgcGVybCAiJFRFU1RfRElSRUNUT1JZIi90OTcwMC90ZXN0LnBsCiAKICAtIHRlc3RfZXhwZWN0X2NvZGUgPGV4aXQtY29kZT4gPGNvbW1hbmQ+CiAKZGlmZiAtLWdpdCBhL3QvYW5ub3RhdGUtdGVzdHMuc2ggYi90L2Fubm90YXRlLXRlc3RzLnNoCmluZGV4IGQ0ZTdmNDcuLmM5ZDEwNWQgMTAwNjQ0Ci0tLSBhL3QvYW5ub3RhdGUtdGVzdHMuc2gKKysrIGIvdC9hbm5vdGF0ZS10ZXN0cy5zaApAQCAtOTIsNyArOTIsNyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtZXJnZSBicmFuY2gxICYgYnJhbmNoMicgJwotCWdpdCBwdWxsIC4gYnJhbmNoMQorCWdpdCBtZXJnZSBicmFuY2gxCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIDIgYXV0aG9ycyArIDIgbWVyZ2VkLWluIGF1dGhvcnMnICcKQEAgLTE4NSw2ICsxODUsMjYgQEAKIAljaGVja19jb3VudCAtTDYsMyBCIDEgQjEgMSBCMiAxIEQgMQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCAtWCcgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MLTEgZmlsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCAwJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwwIGZpbGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgLDAnICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTCwwIGZpbGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgLCswJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwsKzAgZmlsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBYLCswJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwxLCswIGZpbGUKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgWCwrMScgJwogCWNoZWNrX2NvdW50IC1MMywrMSBCMiAxCiAnCkBAIC0xOTMsNiArMjEzLDE0IEBACiAJY2hlY2tfY291bnQgLUwzLCs0IEIgMSBCMSAxIEIyIDEgRCAxCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MICwtMCcgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MLC0wIGZpbGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgWCwtMCcgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMSwtMCBmaWxlCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIFgsLTEnICcKIAljaGVja19jb3VudCAtTDMsLTEgQjIgMQogJwpAQCAtMjI1LDE0ICsyNTMsMTA1IEBACiAJY2hlY2tfY291bnQgLUwvOTkvLC0zIEIgMSBCMiAxIEQgMQogJwogCisjICdmaWxlJyBlbmRzIHdpdGggYW4gaW5jb21wbGV0ZSBsaW5lLCBzbyAnd2MnIHJlcG9ydHMgb25lIGZld2VyIGxpbmVzIHRoYW4KKyMgZ2l0LWJsYW1lIHNlZXMsIGhlbmNlIHRoZSBsYXN0IGxpbmUgaXMgYWN0dWFsbHkgJCh3Yy4uLikrMS4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIFggKFggPT0gbmxpbmVzKScgJworCW49JChleHByICQod2MgLWwgPGZpbGUpICsgMSkgJiYKKwljaGVja19jb3VudCAtTCRuIEMgMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBYIChYID09IG5saW5lcyArIDEpJyAnCisJbj0kKGV4cHIgJCh3YyAtbCA8ZmlsZSkgKyAyKSAmJgorCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MJG4gZmlsZQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBYIChYID4gbmxpbmVzKScgJwogCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMTIzNDUgZmlsZQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCAsWSAoWSA9PSBubGluZXMpJyAnCisJbj0kKGV4cHIgJCh3YyAtbCA8ZmlsZSkgKyAxKSAmJgorCWNoZWNrX2NvdW50IC1MLCRuIEEgMSBCIDEgQjEgMSBCMiAxICJBIFUgVGhvciIgMSBDIDEgRCAxIEUgMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCAsWSAoWSA9PSBubGluZXMgKyAxKScgJworCW49JChleHByICQod2MgLWwgPGZpbGUpICsgMikgJiYKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTCwkbiBmaWxlCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MICxZIChZID4gbmxpbmVzKScgJwogCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MLDEyMzQ1IGZpbGUKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgbXVsdGlwbGUgKGRpc2pvaW50KScgJworCWNoZWNrX2NvdW50IC1MMiwzIC1MNiw3IEEgMSBCMSAxIEIyIDEgIkEgVSBUaG9yIiAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIG11bHRpcGxlIChkaXNqb2ludDogdW5vcmRlcmVkKScgJworCWNoZWNrX2NvdW50IC1MNiw3IC1MMiwzIEEgMSBCMSAxIEIyIDEgIkEgVSBUaG9yIiAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIG11bHRpcGxlIChhZGphY2VudCknICcKKwljaGVja19jb3VudCAtTDIsMyAtTDQsNSBBIDEgQiAxIEIyIDEgRCAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIG11bHRpcGxlIChhZGphY2VudDogdW5vcmRlcmVkKScgJworCWNoZWNrX2NvdW50IC1MNCw1IC1MMiwzIEEgMSBCIDEgQjIgMSBEIDEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgbXVsdGlwbGUgKG92ZXJsYXBwaW5nKScgJworCWNoZWNrX2NvdW50IC1MMiw0IC1MMyw1IEEgMSBCIDEgQjIgMSBEIDEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgbXVsdGlwbGUgKG92ZXJsYXBwaW5nOiB1bm9yZGVyZWQpJyAnCisJY2hlY2tfY291bnQgLUwzLDUgLUwyLDQgQSAxIEIgMSBCMiAxIEQgMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBtdWx0aXBsZSAoc3VwZXJzZXQvc3Vic2V0KScgJworCWNoZWNrX2NvdW50IC1MMiw4IC1MMyw1IEEgMSBCIDEgQjEgMSBCMiAxIEMgMSBEIDEgIkEgVSBUaG9yIiAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIG11bHRpcGxlIChzdXBlcnNldC9zdWJzZXQ6IHVub3JkZXJlZCknICcKKwljaGVja19jb3VudCAtTDMsNSAtTDIsOCBBIDEgQiAxIEIxIDEgQjIgMSBDIDEgRCAxICJBIFUgVGhvciIgMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCAvUkUvIChyZWxhdGl2ZSknICcKKwljaGVja19jb3VudCAtTDMsMyAtTC9mb3gvIEIxIDEgQjIgMSBDIDEgRCAxICJBIFUgVGhvciIgMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCAvUkUvIChyZWxhdGl2ZTogbm8gcHJlY2VkaW5nIHJhbmdlKScgJworCWNoZWNrX2NvdW50IC1ML2RvZy8gQSAxIEIgMSBCMSAxIEIyIDEgQyAxIEQgMSAiQSBVIFRob3IiIDEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgL1JFLyAocmVsYXRpdmU6IGFkamFjZW50KScgJworCWNoZWNrX2NvdW50IC1MMSwxIC1ML2RvZy8sKzEgQSAxIEUgMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCAvUkUvIChyZWxhdGl2ZTogbm90IGZvdW5kKScgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MNCw0IC1ML2RvZy8gZmlsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCAvUkUvIChyZWxhdGl2ZTogZW5kLW9mLWZpbGUpJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwsIC1MLyQvIGZpbGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgXi9SRS8gKGFic29sdXRlKScgJworCWNoZWNrX2NvdW50IC1MMywzIC1MXi9kb2cvLCsyIEEgMSBCMiAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIF4vUkUvIChhYnNvbHV0ZTogbm8gcHJlY2VkaW5nIHJhbmdlKScgJworCWNoZWNrX2NvdW50IC1MXi9kb2cvLCsyIEEgMSBCMiAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIF4vUkUvIChhYnNvbHV0ZTogbm90IGZvdW5kKScgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MNCw0IC1MXi90YW1ib3VyaW5lLyBmaWxlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIF4vUkUvIChhYnNvbHV0ZTogZW5kLW9mLWZpbGUpJyAnCisJbj0kKGV4cHIgJCh3YyAtbCA8ZmlsZSkgKyAxKSAmJgorCWNoZWNrX2NvdW50IC1MJG4gLUxeLyQvLCsyIEEgMSBDIDEgRSAxCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIC1MIDpyZWdleCcgJwogCXRyIFEgIlxcdCIgPmhlbGxvLmMgPDwtXEVPRiAmJgogCWludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyICphcmd2W10pCkBAIC0yNzUsMTIgKzM5NCwxMzkgQEAKIAl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTDpub21hdGNoIGhlbGxvLmMKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgYm9ndXMnICcKLQl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTCBmaWxlICYmCi0JdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwxLCsgZmlsZSAmJgotCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMSwtIGZpbGUgJiYKLQl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTFggZmlsZSAmJgotCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMSxYIGZpbGUgJiYKLQl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTDEsK04gZmlsZSAmJgordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgOlJFIChyZWxhdGl2ZSknICcKKwljaGVja19jb3VudCAtZiBoZWxsby5jIC1MMywzIC1MOm1hLi4gRiAxIEggNAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCA6UkUgKHJlbGF0aXZlOiBubyBwcmVjZWRpbmcgcmFuZ2UpJyAnCisJY2hlY2tfY291bnQgLWYgaGVsbG8uYyAtTDptYS4uIEYgNCBHIDEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgOlJFIChyZWxhdGl2ZTogbm90IGZvdW5kKScgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMywzIC1MOnRhbWJvdXJpbmUgaGVsbG8uYworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCA6UkUgKHJlbGF0aXZlOiBlbmQtb2YtZmlsZSknICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTCwgLUw6bWFpbiBoZWxsby5jCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIF46UkUgKGFic29sdXRlKScgJworCWNoZWNrX2NvdW50IC1mIGhlbGxvLmMgLUwzLDMgLUxeOm1hLi4gRiA0IEcgMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBeOlJFIChhYnNvbHV0ZTogbm8gcHJlY2VkaW5nIHJhbmdlKScgJworCWNoZWNrX2NvdW50IC1mIGhlbGxvLmMgLUxeOm1hLi4gRiA0IEcgMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBeOlJFIChhYnNvbHV0ZTogbm90IGZvdW5kKScgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MNCw0IC1MXjp0YW1ib3VyaW5lIGhlbGxvLmMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgXjpSRSAoYWJzb2x1dGU6IGVuZC1vZi1maWxlKScgJworCW49JChwcmludGYgIiVkIiAkKHdjIC1sIDxoZWxsby5jKSkgJiYKKwljaGVja19jb3VudCAtZiBoZWxsby5jIC1MJG4gLUxeOm1hLi4gRiA0IEcgMSBIIDEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgaW5jcmVtZW50YWwnICcKKwkoCisJR0lUX0FVVEhPUl9OQU1FPUkgJiYKKwlleHBvcnQgR0lUX0FVVEhPUl9OQU1FICYmCisJR0lUX0FVVEhPUl9FTUFJTD1JQHRlc3QuZ2l0ICYmCisJZXhwb3J0IEdJVF9BVVRIT1JfRU1BSUwgJiYKKwk+aW5jcmVtZW50YWwgJiYKKwlnaXQgYWRkIGluY3JlbWVudGFsICYmCisJZ2l0IGNvbW1pdCAtbSAic3RlcCAwIiAmJgorCXByaW50ZiAicGFydGlhbCIgPj5pbmNyZW1lbnRhbCAmJgorCWdpdCBjb21taXQgLWEgLW0gInN0ZXAgMC41IiAmJgorCWVjaG8gPj5pbmNyZW1lbnRhbCAmJgorCWdpdCBjb21taXQgLWEgLW0gInN0ZXAgMSIKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIGVtcHR5JyAnCisJY2hlY2tfY291bnQgLWggSEVBRF5eIC1mIGluY3JlbWVudGFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIDAgZW1wdHknICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTDAgaW5jcmVtZW50YWwgSEVBRF5eCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIDEgZW1wdHknICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTDEgaW5jcmVtZW50YWwgSEVBRF5eCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIDIgZW1wdHknICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTDIgaW5jcmVtZW50YWwgSEVBRF5eCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIGhhbGYnICcKKwljaGVja19jb3VudCAtaCBIRUFEXiAtZiBpbmNyZW1lbnRhbCBJIDEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgMCBoYWxmJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwwIGluY3JlbWVudGFsIEhFQUReCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIDEgaGFsZicgJworCWNoZWNrX2NvdW50IC1oIEhFQUReIC1mIGluY3JlbWVudGFsIC1MMSBJIDEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgMiBoYWxmJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwyIGluY3JlbWVudGFsIEhFQUReCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIDMgaGFsZicgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMyBpbmNyZW1lbnRhbCBIRUFEXgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSBmdWxsJyAnCisJY2hlY2tfY291bnQgLWYgaW5jcmVtZW50YWwgSSAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIDAgZnVsbCcgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMCBpbmNyZW1lbnRhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCAxIGZ1bGwnICcKKwljaGVja19jb3VudCAtZiBpbmNyZW1lbnRhbCAtTDEgSSAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIDIgZnVsbCcgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMiBpbmNyZW1lbnRhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCAzIGZ1bGwnICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTDMgaW5jcmVtZW50YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwnICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTCBmaWxlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIFgsKycgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MMSwrIGZpbGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgWCwtJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwxLC0gZmlsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCBYIChub24tbnVtZXJpYyBYKScgJworCXRlc3RfbXVzdF9mYWlsICRQUk9HIC1MWCBmaWxlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIFgsWSAobm9uLW51bWVyaWMgWSknICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTDEsWSBmaWxlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIFgsK04gKG5vbi1udW1lcmljIE4pJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFBST0cgLUwxLCtOIGZpbGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgWCwtTiAobm9uLW51bWVyaWMgTiknICcKIAl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTDEsLU4gZmlsZQogJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSAtTCAsXi9SRS8nICcKKwl0ZXN0X211c3RfZmFpbCAkUFJPRyAtTDEsXi85OS8gZmlsZQorJwpkaWZmIC0tZ2l0IGEvdC9naXR3ZWItbGliLnNoIGIvdC9naXR3ZWItbGliLnNoCmluZGV4IDllMzgxZTAuLjhjZjkwOWEgMTAwNjQ0Ci0tLSBhL3QvZ2l0d2ViLWxpYi5zaAorKysgYi90L2dpdHdlYi1saWIuc2gKQEAgLTY5LDcgKzY5LDcgQEAKIAkjIHdyaXR0ZW4gdG8gd2ViIHNlcnZlciBsb2dzLCBzbyB3ZSBhcmUgbm90IGludGVyZXN0ZWQgaW4gdGhhdDoKIAkjIHdlIGFyZSBpbnRlcmVzdGVkIG9ubHkgaW4gcHJvcGVybHkgZm9ybWF0dGVkIGVycm9ycy93YXJuaW5ncwogCXJtIC1mIGdpdHdlYi5sb2cgJiYKLQkiJFBFUkxfUEFUSCIgLS0gIiRTQ1JJUFRfTkFNRSIgXAorCXBlcmwgLS0gIiRTQ1JJUFRfTkFNRSIgXAogCQk+Z2l0d2ViLm91dHB1dCAyPmdpdHdlYi5sb2cgJiYKIAlwZXJsIC13IC1lICcKIAkJb3BlbiBPLCAiPmdpdHdlYi5oZWFkZXJzIjsKZGlmZiAtLWdpdCBhL3QvbGliLWNyZWRlbnRpYWwuc2ggYi90L2xpYi1jcmVkZW50aWFsLnNoCmluZGV4IDNjNDNmZjEuLjk1N2FlOTMgMTAwNzU1Ci0tLSBhL3QvbGliLWNyZWRlbnRpYWwuc2gKKysrIGIvdC9saWItY3JlZGVudGlhbC5zaApAQCAtMTgsMTAgKzE4LDYgQEAKIAkJY2F0IHN0ZGVyciAmJgogCQlmYWxzZQogCWZpICYmCi0JaWYgdGVzdF9oYXZlX3ByZXJlcSBNSU5HVwotCXRoZW4KLQkJZG9zMnVuaXggLXEgc3RkZXJyCi0JZmkgJiYKIAl0ZXN0X2NtcCBleHBlY3Qtc3Rkb3V0IHN0ZG91dCAmJgogCXRlc3RfY21wIGV4cGVjdC1zdGRlcnIgc3RkZXJyCiB9CmRpZmYgLS1naXQgYS90L2xpYi1naXQtcDQuc2ggYi90L2xpYi1naXQtcDQuc2gKaW5kZXggMjA5OGI5Yi4uY2NkOTE4ZSAxMDA2NDQKLS0tIGEvdC9saWItZ2l0LXA0LnNoCisrKyBiL3QvbGliLWdpdC1wNC5zaApAQCAtNDgsNyArNDgsOCBAQAogUDRQT1JUPWxvY2FsaG9zdDokUDREUE9SVAogUDRDTElFTlQ9Y2xpZW50CiBQNEVESVRPUj06Ci1leHBvcnQgUDRQT1JUIFA0Q0xJRU5UIFA0RURJVE9SCit1bnNldCBQNENIQVJTRVQKK2V4cG9ydCBQNFBPUlQgUDRDTElFTlQgUDRFRElUT1IgUDRDSEFSU0VUCiAKIGRiPSIkVFJBU0hfRElSRUNUT1JZL2RiIgogY2xpPSIkVFJBU0hfRElSRUNUT1JZL2NsaSIKZGlmZiAtLWdpdCBhL3QvbGliLWdpdC1zdm4uc2ggYi90L2xpYi1naXQtc3ZuLnNoCmluZGV4IGM1ZTU1YjEuLmIwZWMxMmYgMTAwNjQ0Ci0tLSBhL3QvbGliLWdpdC1zdm4uc2gKKysrIGIvdC9saWItZ2l0LXN2bi5zaApAQCAtMjksNyArMjksNyBAQAogc3ZuY29uZj0kUFdEL3N2bmNvbmYKIGV4cG9ydCBzdm5jb25mCiAKLSIkUEVSTF9QQVRIIiAtdyAtZSAiCitwZXJsIC13IC1lICIKIHVzZSBTVk46OkNvcmU7CiB1c2UgU1ZOOjpSZXBvczsKIFwkU1ZOOjpDb3JlOjpWRVJTSU9OIGd0ICcxLjEuMCcgb3IgZXhpdCg0Mik7CkBAIC0xNDYsNyArMTQ2LDcgQEAKIH0KIAogY29udmVydF90b19yZXZfZGIgKCkgewotCSIkUEVSTF9QQVRIIiAtdyAtLSAtICIkQCIgPDxcRU9GCisJcGVybCAtdyAtLSAtICIkQCIgPDxcRU9GCiB1c2Ugc3RyaWN0OwogQEFSR1YgPT0gMiBvciBkaWUgInVzYWdlOiBjb252ZXJ0X3RvX3Jldl9kYiA8aW5wdXQ+IDxvdXRwdXQ+IjsKIG9wZW4gbXkgJHdyLCAnKz4nLCAkQVJHVlsxXSBvciBkaWUgIiQhOiBjb3VsZG4ndCBvcGVuOiAkQVJHVlsxXSI7CmRpZmYgLS1naXQgYS90L2xpYi1odHRwZC5zaCBiL3QvbGliLWh0dHBkLnNoCmluZGV4IDcwNTljYzYuLmFkOGYxZWYgMTAwNjQ0Ci0tLSBhL3QvbGliLWh0dHBkLnNoCisrKyBiL3QvbGliLWh0dHBkLnNoCkBAIC0xNDEsMTAgKzE0MSwxMSBAQAogCQktZiAiJFRFU1RfUEFUSC9hcGFjaGUuY29uZiIgJEhUVFBEX1BBUkEgLWsgc3RvcAogfQogCi10ZXN0X2h0dHBfcHVzaF9ub25mZigpIHsKK3Rlc3RfaHR0cF9wdXNoX25vbmZmICgpIHsKIAlSRU1PVEVfUkVQTz0kMQogCUxPQ0FMX1JFUE89JDIKIAlCUkFOQ0g9JDMKKwlFWFBFQ1RfQ0FTX1JFU1VMVD0kezQtZmFpbHVyZX0KIAogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vbi1mYXN0LWZvcndhcmQgcHVzaCBmYWlscycgJwogCQljZCAiJFJFTU9URV9SRVBPIiAmJgpAQCAtMTY3LDYgKzE2OCwyMiBAQAogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vbi1mYXN0LWZvcndhcmQgcHVzaCBzaG93cyBoZWxwIG1lc3NhZ2UnICcKIAkJdGVzdF9pMThuZ3JlcCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UiIG91dHB1dAogCScKKworCXRlc3RfZXhwZWN0XyR7RVhQRUNUX0NBU19SRVNVTFR9ICdmb3JjZSB3aXRoIGxlYXNlIGFrYSBjYXMnICcKKwkJSEVBRD0kKAljZCAiJFJFTU9URV9SRVBPIiAmJiBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQgKSAmJgorCQl0ZXN0X3doZW5fZmluaXNoZWQgJ1wnJworCQkJKGNkICIkUkVNT1RFX1JFUE8iICYmIGdpdCB1cGRhdGUtcmVmIEhFQUQgIiRIRUFEIikKKwkJJ1wnJyAmJgorCQkoCisJCQljZCAiJExPQ0FMX1JFUE8iICYmCisJCQlnaXQgcHVzaCAtdiAtLWZvcmNlLXdpdGgtbGVhc2U9JEJSQU5DSDokSEVBRCBvcmlnaW4KKwkJKSAmJgorCQlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5ICIkQlJBTkNIIiA+ZXhwZWN0ICYmCisJCSgKKwkJCWNkICIkUkVNT1RFX1JFUE8iICYmIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRAorCQkpID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCScKIH0KIAogc2V0dXBfYXNrcGFzc19oZWxwZXIoKSB7CmRpZmYgLS1naXQgYS90L2xpYi1odHRwZC9hcGFjaGUuY29uZiBiL3QvbGliLWh0dHBkL2FwYWNoZS5jb25mCmluZGV4IDRhMjYxZjEuLjNhMDNlODIgMTAwNjQ0Ci0tLSBhL3QvbGliLWh0dHBkL2FwYWNoZS5jb25mCisrKyBiL3QvbGliLWh0dHBkL2FwYWNoZS5jb25mCkBAIC0yMiw2ICsyMiw5IEBACiA8SWZNb2R1bGUgIW1vZF92ZXJzaW9uLmM+CiAJTG9hZE1vZHVsZSB2ZXJzaW9uX21vZHVsZSBtb2R1bGVzL21vZF92ZXJzaW9uLnNvCiA8L0lmTW9kdWxlPgorPElmTW9kdWxlICFtb2RfaGVhZGVycy5jPgorCUxvYWRNb2R1bGUgaGVhZGVyc19tb2R1bGUgbW9kdWxlcy9tb2RfaGVhZGVycy5zbworPC9JZk1vZHVsZT4KIAogPElmVmVyc2lvbiA8IDIuND4KIExvY2tGaWxlIGFjY2VwdC5sb2NrCkBAIC04Nyw2ICs5MCwxMSBAQAogCVNldEVudiBHSVRfSFRUUF9FWFBPUlRfQUxMCiAJU2V0RW52IEdJVF9OQU1FU1BBQ0UgbnMKIDwvTG9jYXRpb25NYXRjaD4KKzxMb2NhdGlvbk1hdGNoIC9zbWFydF9jb29raWVzLz4KKwlTZXRFbnYgR0lUX0VYRUNfUEFUSCAke0dJVF9FWEVDX1BBVEh9CisJU2V0RW52IEdJVF9IVFRQX0VYUE9SVF9BTEwKKwlIZWFkZXIgc2V0IFNldC1Db29raWUgbmFtZT12YWx1ZQorPC9Mb2NhdGlvbk1hdGNoPgogU2NyaXB0QWxpYXNNYXRjaCAvc21hcnRfKlteL10qLyguKikgJHtHSVRfRVhFQ19QQVRIfS9naXQtaHR0cC1iYWNrZW5kLyQxCiBTY3JpcHRBbGlhcyAvYnJva2VuX3NtYXJ0LyBicm9rZW4tc21hcnQtaHR0cC5zaC8KIDxEaXJlY3RvcnkgJHtHSVRfRVhFQ19QQVRIfT4KZGlmZiAtLWdpdCBhL3QvbGliLXBhY2suc2ggYi90L2xpYi1wYWNrLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5NmUxMjUKLS0tIC9kZXYvbnVsbAorKysgYi90L2xpYi1wYWNrLnNoCkBAIC0wLDAgKzEsMTAwIEBACisjIS9iaW4vc2gKKyMKKyMgU3VwcG9ydCByb3V0aW5lcyBmb3IgaGFuZC1jcmFmdGluZyB3ZWlyZCBvciBtYWxpY2lvdXMgcGFja3MuCisjCisjIFlvdSBjYW4gbWFrZSBhIGNvbXBsZXRlIHBhY2sgbGlrZToKKyMKKyMgICBwYWNrX2hlYWRlciAyID5mb28ucGFjayAmJgorIyAgIHBhY2tfb2JqIGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEgPj5mb28ucGFjayAmJgorIyAgIHBhY2tfb2JqIGU2OGZlODEyOWI1NDZiMTAxYWVlOTUxMGM1MzI4ZTdmMjFjYTFkMTggPj5mb28ucGFjayAmJgorIyAgIHBhY2tfdHJhaWxlciBmb28ucGFjaworCisjIFByaW50IHRoZSBiaWctZW5kaWFuIDQtYnl0ZSBvY3RhbCByZXByZXNlbnRhdGlvbiBvZiAkMQordWludDMyX29jdGFsICgpIHsKKwluPSQxCisJcHJpbnRmICdcXCVvJyAkKCgkbiAvIDE2Nzc3MjE2KSk7IG49JCgobiAlIDE2Nzc3MjE2KSkKKwlwcmludGYgJ1xcJW8nICQoKCRuIC8gICAgNjU1MzYpKTsgbj0kKChuICUgICAgNjU1MzYpKQorCXByaW50ZiAnXFwlbycgJCgoJG4gLyAgICAgIDI1NikpOyBuPSQoKG4gJSAgICAgIDI1NikpCisJcHJpbnRmICdcXCVvJyAkKCgkbiAgICAgICAgICAgKSk7Cit9CisKKyMgUHJpbnQgdGhlIGJpZy1lbmRpYW4gNC1ieXRlIGJpbmFyeSByZXByZXNlbnRhdGlvbiBvZiAkMQordWludDMyX2JpbmFyeSAoKSB7CisJcHJpbnRmICIkKHVpbnQzMl9vY3RhbCAiJDEiKSIKK30KKworIyBQcmludCBhIHBhY2sgaGVhZGVyLCB2ZXJzaW9uIDIsIGZvciBhIHBhY2sgd2l0aCAkMSBvYmplY3RzCitwYWNrX2hlYWRlciAoKSB7CisJcHJpbnRmICdQQUNLJyAmJgorCXByaW50ZiAnXDBcMFwwXDInICYmCisJdWludDMyX2JpbmFyeSAiJDEiCit9CisKKyMgUHJpbnQgdGhlIHBhY2sgZGF0YSBmb3Igb2JqZWN0ICQxLCBhcyBhIGRlbHRhIGFnYWluc3Qgb2JqZWN0ICQyIChvciBhcyBhIGZ1bGwKKyMgb2JqZWN0IGlmICQyIGlzIG1pc3Npbmcgb3IgZW1wdHkpLiBUaGUgb3V0cHV0IGlzIHN1aXRhYmxlIGZvciBpbmNsdWRpbmcKKyMgZGlyZWN0bHkgaW4gdGhlIHBhY2tmaWxlLCBhbmQgcmVwcmVzZW50cyB0aGUgZW50aXJldHkgb2YgdGhlIG9iamVjdCBlbnRyeS4KKyMgRG9pbmcgdGhpcyBvbiB0aGUgZmx5IChlc3BlY2lhbGx5IHBpY2tpbmcgeW91ciBkZWx0YXMpIGlzIHF1aXRlIHRyaWNreSwgc28gd2UKKyMgaGF2ZSBoYXJkY29kZWQgc29tZSB3ZWxsLWtub3duIG9iamVjdHMuIFNlZSB0aGUgY2FzZSBzdGF0ZW1lbnRzIGJlbG93IGZvciB0aGUKKyMgY29tcGxldGUgbGlzdC4KK3BhY2tfb2JqICgpIHsKKwljYXNlICIkMSIgaW4KKwkjIGVtcHR5IGJsb2IKKwllNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxKQorCQljYXNlICIkMiIgaW4KKwkJJycpCisJCQlwcmludGYgJ1wwNjBcMTcwXDIzNFwwMDNcMFwwXDBcMFwxJworCQkJcmV0dXJuCisJCQk7OworCQllc2FjCisJCTs7CisKKwkjIGJsb2IgY29udGFpbmluZyAiXDdcNzYiCisJZTY4ZmU4MTI5YjU0NmIxMDFhZWU5NTEwYzUzMjhlN2YyMWNhMWQxOCkKKwkJY2FzZSAiJDIiIGluCisJCScnKQorCQkJcHJpbnRmICdcMDYyXDE3MFwyMzRcMTQzXDI2N1wzXDBcMFwxMTZcMFwxMDYnCisJCQlyZXR1cm4KKwkJCTs7CisJCTAxZDc3MTM2NjZmNGRlODIyNzc2Yzc2MjJjMTBmMWIwN2RlMjgwZGMpCisJCQlwcmludGYgJ1wxNjVcMVwzMjdcMTYxXDY2XDE0NlwzNjRcMzM2XDIwMlw0N1wxNjYnICYmCisJCQlwcmludGYgJ1wzMDdcMTQyXDU0XDIwXDM2MVwyNjBcMTc1XDM0MlwyMDBcMzM0XDE3MCcgJiYKKwkJCXByaW50ZiAnXDIzNFwxNDNcMTQyXDE0MlwxNDJcMjY3XDAwM1wwXDBcMTUxXDBcMTE0JworCQkJcmV0dXJuCisJCQk7OworCQllc2FjCisJCTs7CisKKwkjIGJsb2IgY29udGFpbmluZyAiXDdcMCIKKwkwMWQ3NzEzNjY2ZjRkZTgyMjc3NmM3NjIyYzEwZjFiMDdkZTI4MGRjKQorCQljYXNlICIkMiIgaW4KKwkJJycpCisJCQlwcmludGYgJ1wwNjJcMTcwXDIzNFwxNDNcMTQ3XDBcMFwwXDIwXDBcMTAnCisJCQlyZXR1cm4KKwkJCTs7CisJCWU2OGZlODEyOWI1NDZiMTAxYWVlOTUxMGM1MzI4ZTdmMjFjYTFkMTgpCisJCQlwcmludGYgJ1wxNjVcMzQ2XDIxN1wzNTBcMjJcMjMzXDEyNFwxNTNcMjBcMzJcMzU2JyAmJgorCQkJcHJpbnRmICdcMjI1XDIwXDMwNVw2MlwyMTZcMTc3XDQxXDMxMlwzNVwzMFwxNzBcMjM0JyAmJgorCQkJcHJpbnRmICdcMTQzXDE0MlwxNDJcMTQyXDE0N1wwXDBcMFw1M1wwXDE2JworCQkJcmV0dXJuCisJCQk7OworCQllc2FjCisJCTs7CisJZXNhYworCisJZWNobyA+JjIgIkJVRzogZG9uJ3Qga25vdyBob3cgdG8gcHJpbnQgJDEkezI6KyAoZnJvbSAkMil9IgorCXJldHVybiAxCit9CisKKyMgQ29tcHV0ZSBhbmQgYXBwZW5kIHBhY2sgdHJhaWxlciB0byAiJDEiCitwYWNrX3RyYWlsZXIgKCkgeworCXRlc3Qtc2hhMSAtYiA8IiQxIiA+dHJhaWxlci50bXAgJiYKKwljYXQgdHJhaWxlci50bXAgPj4iJDEiICYmCisJcm0gLWYgdHJhaWxlci50bXAKK30KKworIyBSZW1vdmUgYW55IGV4aXN0aW5nIHBhY2tzIHRvIG1ha2Ugc3VyZSB0aGF0CisjIHdoYXRldmVyIHdlIGluZGV4IG5leHQgd2lsbCBiZSB0aGUgcGFjayB0aGF0IHdlCisjIGFjdHVhbGx5IHVzZS4KK2NsZWFyX3BhY2tzICgpIHsKKwlybSAtZiAuZ2l0L29iamVjdHMvcGFjay8qCit9CmRpZmYgLS1naXQgYS90L2xpYi10ZXJtaW5hbC5zaCBiL3QvbGliLXRlcm1pbmFsLnNoCmluZGV4IDU4ZDkxMWQuLjczN2RmMjggMTAwNjQ0Ci0tLSBhL3QvbGliLXRlcm1pbmFsLnNoCisrKyBiL3QvbGliLXRlcm1pbmFsLnNoCkBAIC0xOSw3ICsxOSw3IEBACiAJdGhlbgogCQk6CiAJZWxpZgotCQkiJFBFUkxfUEFUSCIgIiRURVNUX0RJUkVDVE9SWSIvdGVzdC10ZXJtaW5hbC5wZXJsIFwKKwkJcGVybCAiJFRFU1RfRElSRUNUT1JZIi90ZXN0LXRlcm1pbmFsLnBlcmwgXAogCQkJc2ggLWMgInRlc3QgLXQgMSAmJiB0ZXN0IC10IDIiCiAJdGhlbgogCQl0ZXN0X3NldF9wcmVyZXEgVFRZICYmCkBAIC0yOSw3ICsyOSw3IEBACiAJCQkJZWNobyA+JjQgInRlc3RfdGVybWluYWw6IG5lZWQgdG8gZGVjbGFyZSBUVFkgcHJlcmVxdWlzaXRlIgogCQkJCXJldHVybiAxMjcKIAkJCWZpCi0JCQkiJFBFUkxfUEFUSCIgIiRURVNUX0RJUkVDVE9SWSIvdGVzdC10ZXJtaW5hbC5wZXJsICIkQCIKKwkJCXBlcmwgIiRURVNUX0RJUkVDVE9SWSIvdGVzdC10ZXJtaW5hbC5wZXJsICIkQCIKIAkJfQogCWZpCiAnCmRpZmYgLS1naXQgYS90L3QwMDA4LWlnbm9yZXMuc2ggYi90L3QwMDA4LWlnbm9yZXMuc2gKaW5kZXggYzI5MzQyZC4uYjRkOThlNiAxMDA3NTUKLS0tIGEvdC90MDAwOC1pZ25vcmVzLnNoCisrKyBiL3QvdDAwMDgtaWdub3Jlcy5zaApAQCAtMzcsNiArMzcsMTQgQEAKIAl0ZXN0X2NtcCAiJEhPTUUvZXhwZWN0ZWQtc3RkZXJyIiAiJEhPTUUvc3RkZXJyIgogfQogCiticm9rZW5fY191bnF1b3RlICgpIHsKKwkiJFBFUkxfUEFUSCIgLXBlICdzL14iLy87IHMvXFwvLzsgcy8iJC8vOyB0ci9cbi9cMC8nICIkQCIKK30KKworYnJva2VuX2NfdW5xdW90ZV92ZXJib3NlICgpIHsKKwkiJFBFUkxfUEFUSCIgLXBlICdzLwkiLwkvOyBzL1xcLy87IHMvIiQvLzsgdHIvOlx0XG4vXDAvJyAiJEAiCit9CisKIHN0ZGVycl9jb250YWlucyAoKSB7CiAJcmVnZXhwPSIkMSIKIAlpZiBncmVwICIkcmVnZXhwIiAiJEhPTUUvc3RkZXJyIgpAQCAtNjYsMTEgKzc0LDExIEBACiAKIAlpbml0X3ZhcnMgJiYKIAlybSAtZiAiJEhPTUUvc3Rkb3V0IiAiJEhPTUUvc3RkZXJyIiAiJEhPTUUvY21kIiAmJgotCWVjaG8gZ2l0ICRnbG9iYWxfYXJncyBjaGVjay1pZ25vcmUgJHF1aWV0X29wdCAkdmVyYm9zZV9vcHQgJG5vbl9tYXRjaGluZ19vcHQgJGFyZ3MgXAorCWVjaG8gZ2l0ICRnbG9iYWxfYXJncyBjaGVjay1pZ25vcmUgJHF1aWV0X29wdCAkdmVyYm9zZV9vcHQgJG5vbl9tYXRjaGluZ19vcHQgJG5vX2luZGV4X29wdCAkYXJncyBcCiAJCT4iJEhPTUUvY21kIiAmJgogCWVjaG8gIiRleHBlY3RfY29kZSIgPiIkSE9NRS9leHBlY3RlZC1leGl0LWNvZGUiICYmCiAJdGVzdF9leHBlY3RfY29kZSAiJGV4cGVjdF9jb2RlIiBcCi0JCWdpdCAkZ2xvYmFsX2FyZ3MgY2hlY2staWdub3JlICRxdWlldF9vcHQgJHZlcmJvc2Vfb3B0ICRub25fbWF0Y2hpbmdfb3B0ICRhcmdzIFwKKwkJZ2l0ICRnbG9iYWxfYXJncyBjaGVjay1pZ25vcmUgJHF1aWV0X29wdCAkdmVyYm9zZV9vcHQgJG5vbl9tYXRjaGluZ19vcHQgJG5vX2luZGV4X29wdCAkYXJncyBcCiAJCT4iJEhPTUUvc3Rkb3V0IiAyPiIkSE9NRS9zdGRlcnIiICYmCiAJdGVzdF9jbXAgIiRIT01FL2V4cGVjdGVkLXN0ZG91dCIgIiRIT01FL3N0ZG91dCIgJiYKIAlzdGRlcnJfZW1wdHlfb25fc3VjY2VzcyAiJGV4cGVjdF9jb2RlIgpAQCAtODcsNiArOTUsOSBAQAogIyBjaGVjay1pZ25vcmUgLS12ZXJib3NlIG91dHB1dCBpcyB0aGUgc2FtZSBhcyBub3JtYWwgb3V0cHV0IGV4Y2VwdAogIyBmb3IgdGhlIGV4dHJhIGZpcnN0IGNvbHVtbi4KICMKKyMgQSBwYXJhbWV0ZXIgaXMgdXNlZCB0byBkZXRlcm1pbmUgaWYgdGhlIHRlc3RzIGFyZSBydW4gd2l0aCB0aGUKKyMgbm9ybWFsIGNhc2UgKHVzaW5nIHRoZSBpbmRleCksIG9yIHdpdGggdGhlIC0tbm8taW5kZXggb3B0aW9uLgorIwogIyBBcmd1bWVudHM6CiAjICAgLSAob3B0aW9uYWwpIHByZXJlcXMgZm9yIHRoaXMgdGVzdCwgZS5nLiAnU1lNTElOS1MnCiAjICAgLSB0ZXN0IG5hbWUKQEAgLTk0LDE5ICsxMDUsMjYgQEAKICMgICAgIGZyb20gdGhlIG90aGVyIHZlcmJvc2l0eSBtb2RlcyBpcyBhdXRvbWF0aWNhbGx5IGluZmVycmVkCiAjICAgICBmcm9tIHRoaXMgdmFsdWUpCiAjICAgLSBjb2RlIHRvIHJ1biAoc2hvdWxkIGludm9rZSB0ZXN0X2NoZWNrX2lnbm9yZSkKLXRlc3RfZXhwZWN0X3N1Y2Nlc3NfbXVsdGkgKCkgeworIyAgIC0gaW5kZXggb3B0aW9uOiAtLWluZGV4IG9yIC0tbm8taW5kZXgKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3NfbXVsdGlwbGUgKCkgewogCXByZXJlcT0KLQlpZiB0ZXN0ICQjIC1lcSA0CisJaWYgdGVzdCAkIyAtZXEgNQogCXRoZW4KIAkJcHJlcmVxPSQxCiAJCXNoaWZ0CiAJZmkKKwlpZiB0ZXN0ICIkNCIgPSAiLS1pbmRleCIKKwl0aGVuCisJCW5vX2luZGV4X29wdD0KKwllbHNlCisJCW5vX2luZGV4X29wdD0kNAorCWZpCiAJdGVzdG5hbWU9IiQxIiBleHBlY3RfYWxsPSIkMiIgY29kZT0iJDMiCiAKIAlleHBlY3RfdmVyYm9zZT0kKCBlY2hvICIkZXhwZWN0X2FsbCIgfCBncmVwIC12ICdeOjoJJyApCiAJZXhwZWN0PSQoIGVjaG8gIiRleHBlY3RfdmVyYm9zZSIgfCBzZWQgLWUgJ3MvLioJLy8nICkKIAotCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJHByZXJlcSAiJHRlc3RuYW1lIiAnCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAkcHJlcmVxICIkdGVzdG5hbWUke25vX2luZGV4X29wdDorIHdpdGggJG5vX2luZGV4X29wdH0iICcKIAkJZXhwZWN0ICIkZXhwZWN0IiAmJgogCQlldmFsICIkY29kZSIKIAknCkBAIC0xMTYsNyArMTM0LDggQEAKIAl0aGVuCiAJCWZvciBxdWlldF9vcHQgaW4gJy1xJyAnLS1xdWlldCcKIAkJZG8KLQkJCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJHByZXJlcSAiJHRlc3RuYW1lJHtxdWlldF9vcHQ6KyB3aXRoICRxdWlldF9vcHR9IiAiCisJCQlvcHRzPSIke25vX2luZGV4X29wdDorJG5vX2luZGV4X29wdCB9JHF1aWV0X29wdCIKKwkJCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJHByZXJlcSAiJHRlc3RuYW1lJHtvcHRzOisgd2l0aCAkb3B0c30iICIKIAkJCWV4cGVjdCAnJyAmJgogCQkJJGNvZGUKIAkJIgpAQCAtMTI2LDcgKzE0NSw3IEBACiAKIAlmb3IgdmVyYm9zZV9vcHQgaW4gJy12JyAnLS12ZXJib3NlJwogCWRvCi0JCWZvciBub25fbWF0Y2hpbmdfb3B0IGluICcnICcgLW4nICcgLS1ub24tbWF0Y2hpbmcnCisJCWZvciBub25fbWF0Y2hpbmdfb3B0IGluICcnICctbicgJy0tbm9uLW1hdGNoaW5nJwogCQlkbwogCQkJaWYgdGVzdCAtbiAiJG5vbl9tYXRjaGluZ19vcHQiCiAJCQl0aGVuCkBAIC0xMzksMTIgKzE1OCwyMSBAQAogCQkJCWV4cGVjdCAnJG15X2V4cGVjdCcgJiYKIAkJCQkkY29kZQogCQkJIgotCQkJb3B0cz0iJHZlcmJvc2Vfb3B0JG5vbl9tYXRjaGluZ19vcHQiCisJCQlvcHRzPSIke25vX2luZGV4X29wdDorJG5vX2luZGV4X29wdCB9JHZlcmJvc2Vfb3B0JHtub25fbWF0Y2hpbmdfb3B0OisgJG5vbl9tYXRjaGluZ19vcHR9IgogCQkJdGVzdF9leHBlY3Rfc3VjY2VzcyAkcHJlcmVxICIkdGVzdG5hbWUke29wdHM6KyB3aXRoICRvcHRzfSIgIiR0ZXN0X2NvZGUiCiAJCWRvbmUKIAlkb25lCiAJdmVyYm9zZV9vcHQ9CiAJbm9uX21hdGNoaW5nX29wdD0KKwlub19pbmRleF9vcHQ9Cit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3NfbXVsdGkgKCkgeworCXRlc3RfZXhwZWN0X3N1Y2Nlc3NfbXVsdGlwbGUgIiRAIiAiLS1pbmRleCIKK30KKwordGVzdF9leHBlY3Rfc3VjY2Vzc19ub19pbmRleF9tdWx0aSAoKSB7CisJdGVzdF9leHBlY3Rfc3VjY2Vzc19tdWx0aXBsZSAiJEAiICItLW5vLWluZGV4IgogfQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJwpAQCAtMjg4LDcgKzMxNiw3IEBACiAKICMgRmlyc3QgbWFrZSBzdXJlIHRoYXQgdGhlIHByZXNlbmNlIG9mIGEgZmlsZSBpbiB0aGUgd29ya2luZyB0cmVlCiAjIGRvZXMgbm90IGltcGFjdCByZXN1bHRzLCBidXQgdGhhdCB0aGUgcHJlc2VuY2Ugb2YgYSBmaWxlIGluIHRoZQotIyBpbmRleCBkb2VzLgorIyBpbmRleCBkb2VzIHVubGVzcyB0aGUgLS1uby1pbmRleCBvcHRpb24gaXMgdXNlZC4KIAogZm9yIHN1YmRpciBpbiAnJyAnYS8nCiBkbwpAQCAtMzAzLDIyICszMzEsNDIgQEAKIAkJIjo6CSR7c3ViZGlyfW5vbi1leGlzdGVudCIgXAogCQkidGVzdF9jaGVja19pZ25vcmUgJyR7c3ViZGlyfW5vbi1leGlzdGVudCcgMSIKIAorCXRlc3RfZXhwZWN0X3N1Y2Nlc3Nfbm9faW5kZXhfbXVsdGkgIm5vbi1leGlzdGVudCBmaWxlICR3aGVyZSBub3QgaWdub3JlZCIgXAorCQkiOjoJJHtzdWJkaXJ9bm9uLWV4aXN0ZW50IiBcCisJCSJ0ZXN0X2NoZWNrX2lnbm9yZSAnJHtzdWJkaXJ9bm9uLWV4aXN0ZW50JyAxIgorCiAJdGVzdF9leHBlY3Rfc3VjY2Vzc19tdWx0aSAibm9uLWV4aXN0ZW50IGZpbGUgJHdoZXJlIGlnbm9yZWQiIFwKIAkJIi5naXRpZ25vcmU6MTpvbmUJJHtzdWJkaXJ9b25lIiBcCiAJCSJ0ZXN0X2NoZWNrX2lnbm9yZSAnJHtzdWJkaXJ9b25lJyIKIAorCXRlc3RfZXhwZWN0X3N1Y2Nlc3Nfbm9faW5kZXhfbXVsdGkgIm5vbi1leGlzdGVudCBmaWxlICR3aGVyZSBpZ25vcmVkIiBcCisJCSIuZ2l0aWdub3JlOjE6b25lCSR7c3ViZGlyfW9uZSIgXAorCQkidGVzdF9jaGVja19pZ25vcmUgJyR7c3ViZGlyfW9uZSciCisKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzX211bHRpICJleGlzdGluZyB1bnRyYWNrZWQgZmlsZSAkd2hlcmUgbm90IGlnbm9yZWQiIFwKIAkJIjo6CSR7c3ViZGlyfW5vdC1pZ25vcmVkIiBcCiAJCSJ0ZXN0X2NoZWNrX2lnbm9yZSAnJHtzdWJkaXJ9bm90LWlnbm9yZWQnIDEiCiAKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzX25vX2luZGV4X211bHRpICJleGlzdGluZyB1bnRyYWNrZWQgZmlsZSAkd2hlcmUgbm90IGlnbm9yZWQiIFwKKwkJIjo6CSR7c3ViZGlyfW5vdC1pZ25vcmVkIiBcCisJCSJ0ZXN0X2NoZWNrX2lnbm9yZSAnJHtzdWJkaXJ9bm90LWlnbm9yZWQnIDEiCisKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzX211bHRpICJleGlzdGluZyB0cmFja2VkIGZpbGUgJHdoZXJlIG5vdCBpZ25vcmVkIiBcCiAJCSI6Ogkke3N1YmRpcn1pZ25vcmVkLWJ1dC1pbi1pbmRleCIgXAogCQkidGVzdF9jaGVja19pZ25vcmUgJyR7c3ViZGlyfWlnbm9yZWQtYnV0LWluLWluZGV4JyAxIgogCisJdGVzdF9leHBlY3Rfc3VjY2Vzc19ub19pbmRleF9tdWx0aSAiZXhpc3RpbmcgdHJhY2tlZCBmaWxlICR3aGVyZSBzaG93biBhcyBpZ25vcmVkIiBcCisJCSIuZ2l0aWdub3JlOjI6aWdub3JlZC0qCSR7c3ViZGlyfWlnbm9yZWQtYnV0LWluLWluZGV4IiBcCisJCSJ0ZXN0X2NoZWNrX2lnbm9yZSAnJHtzdWJkaXJ9aWdub3JlZC1idXQtaW4taW5kZXgnIgorCiAJdGVzdF9leHBlY3Rfc3VjY2Vzc19tdWx0aSAiZXhpc3RpbmcgdW50cmFja2VkIGZpbGUgJHdoZXJlIGlnbm9yZWQiIFwKIAkJIi5naXRpZ25vcmU6MjppZ25vcmVkLSoJJHtzdWJkaXJ9aWdub3JlZC1hbmQtdW50cmFja2VkIiBcCiAJCSJ0ZXN0X2NoZWNrX2lnbm9yZSAnJHtzdWJkaXJ9aWdub3JlZC1hbmQtdW50cmFja2VkJyIKIAorCXRlc3RfZXhwZWN0X3N1Y2Nlc3Nfbm9faW5kZXhfbXVsdGkgImV4aXN0aW5nIHVudHJhY2tlZCBmaWxlICR3aGVyZSBpZ25vcmVkIiBcCisJCSIuZ2l0aWdub3JlOjI6aWdub3JlZC0qCSR7c3ViZGlyfWlnbm9yZWQtYW5kLXVudHJhY2tlZCIgXAorCQkidGVzdF9jaGVja19pZ25vcmUgJyR7c3ViZGlyfWlnbm9yZWQtYW5kLXVudHJhY2tlZCciCisKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzX211bHRpICJtaXggb2YgZmlsZSB0eXBlcyAkd2hlcmUiIFwKICI6Ogkke3N1YmRpcn1ub24tZXhpc3RlbnQKIC5naXRpZ25vcmU6MTpvbmUJJHtzdWJkaXJ9b25lCkBAIC0zMzIsNiArMzgwLDIwIEBACiAJCQkke3N1YmRpcn1pZ25vcmVkLWJ1dC1pbi1pbmRleAogCQkJJHtzdWJkaXJ9aWdub3JlZC1hbmQtdW50cmFja2VkJwogCQkiCisKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzX25vX2luZGV4X211bHRpICJtaXggb2YgZmlsZSB0eXBlcyAkd2hlcmUiIFwKKyI6Ogkke3N1YmRpcn1ub24tZXhpc3RlbnQKKy5naXRpZ25vcmU6MTpvbmUJJHtzdWJkaXJ9b25lCis6Ogkke3N1YmRpcn1ub3QtaWdub3JlZAorLmdpdGlnbm9yZToyOmlnbm9yZWQtKgkke3N1YmRpcn1pZ25vcmVkLWJ1dC1pbi1pbmRleAorLmdpdGlnbm9yZToyOmlnbm9yZWQtKgkke3N1YmRpcn1pZ25vcmVkLWFuZC11bnRyYWNrZWQiIFwKKwkJInRlc3RfY2hlY2tfaWdub3JlICcKKwkJCSR7c3ViZGlyfW5vbi1leGlzdGVudAorCQkJJHtzdWJkaXJ9b25lCisJCQkke3N1YmRpcn1ub3QtaWdub3JlZAorCQkJJHtzdWJkaXJ9aWdub3JlZC1idXQtaW4taW5kZXgKKwkJCSR7c3ViZGlyfWlnbm9yZWQtYW5kLXVudHJhY2tlZCcKKwkJIgogZG9uZQogCiAjIEhhdmluZyBlc3RhYmxpc2hlZCB0aGUgYWJvdmUsIGZyb20gbm93IG9uIHdlIG1vc3RseSB0ZXN0IGFnYWluc3QKQEAgLTQzMiw3ICs0OTQsNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzX211bHRpIFNZTUxJTktTICdiZXlvbmQgYSBzeW1saW5rJyAnJyAnCiAJdGVzdF9jaGVja19pZ25vcmUgImEvc3ltbGluay9mb28iIDEyOCAmJgotCXRlc3Rfc3RkZXJyICJmYXRhbDogJ1wnJ2Evc3ltbGluay9mb28nXCcnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCisJdGVzdF9zdGRlcnIgImZhdGFsOiBwYXRoc3BlYyAnXCcnYS9zeW1saW5rL2ZvbydcJycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2Vzc19tdWx0aSBTWU1MSU5LUyAnYmV5b25kIGEgc3ltbGluayBmcm9tIHN1YmRpcmVjdG9yeScgJycgJwpAQCAtNDQwLDcgKzUwMiw3IEBACiAJCWNkIGEgJiYKIAkJdGVzdF9jaGVja19pZ25vcmUgInN5bWxpbmsvZm9vIiAxMjgKIAkpICYmCi0JdGVzdF9zdGRlcnIgImZhdGFsOiAnXCcnc3ltbGluay9mb28nXCcnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCisJdGVzdF9zdGRlcnIgImZhdGFsOiBwYXRoc3BlYyAnXCcnc3ltbGluay9mb28nXCcnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiAnCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKQEAgLTQ0OSw3ICs1MTEsNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzX211bHRpICdzdWJtb2R1bGUnICcnICcKIAl0ZXN0X2NoZWNrX2lnbm9yZSAiYS9zdWJtb2R1bGUvb25lIiAxMjggJiYKLQl0ZXN0X3N0ZGVyciAiZmF0YWw6IFBhdGggJ1wnJ2Evc3VibW9kdWxlL29uZSdcJycgaXMgaW4gc3VibW9kdWxlICdcJydhL3N1Ym1vZHVsZSdcJyciCisJdGVzdF9zdGRlcnIgImZhdGFsOiBQYXRoc3BlYyAnXCcnYS9zdWJtb2R1bGUvb25lJ1wnJyBpcyBpbiBzdWJtb2R1bGUgJ1wnJ2Evc3VibW9kdWxlJ1wnJyIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2Vzc19tdWx0aSAnc3VibW9kdWxlIGZyb20gc3ViZGlyZWN0b3J5JyAnJyAnCkBAIC00NTcsNyArNTE5LDcgQEAKIAkJY2QgYSAmJgogCQl0ZXN0X2NoZWNrX2lnbm9yZSAic3VibW9kdWxlL29uZSIgMTI4CiAJKSAmJgotCXRlc3Rfc3RkZXJyICJmYXRhbDogUGF0aCAnXCcnYS9zdWJtb2R1bGUvb25lJ1wnJyBpcyBpbiBzdWJtb2R1bGUgJ1wnJ2Evc3VibW9kdWxlJ1wnJyIKKwl0ZXN0X3N0ZGVyciAiZmF0YWw6IFBhdGhzcGVjICdcJydzdWJtb2R1bGUvb25lJ1wnJyBpcyBpbiBzdWJtb2R1bGUgJ1wnJ2Evc3VibW9kdWxlJ1wnJyIKICcKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtNTUyLDEyICs2MTQsMTEgQEAKIAkkZ2xvYmFsX2V4Y2x1ZGVzOjI6IWdsb2JhbHR3bwliL2dsb2JhbHR3bwogRU9GCiAKLXNlZCAtZSAncy9eIi8vJyAtZSAncy9cXC8vJyAtZSAncy8iJC8vJyBzdGRpbiB8IFwKLQl0ciAiXG4iICJcMCIgPnN0ZGluMAotc2VkIC1lICdzL14iLy8nIC1lICdzL1xcLy8nIC1lICdzLyIkLy8nIGV4cGVjdGVkLWRlZmF1bHQgfCBcCi0JdHIgIlxuIiAiXDAiID5leHBlY3RlZC1kZWZhdWx0MAotc2VkIC1lICdzLwkiLwkvJyAtZSAncy9cXC8vJyAtZSAncy8iJC8vJyBleHBlY3RlZC12ZXJib3NlIHwgXAotCXRyICI6XHRcbiIgIlwwIiA+ZXhwZWN0ZWQtdmVyYm9zZTAKK2Jyb2tlbl9jX3VucXVvdGUgc3RkaW4gPnN0ZGluMAorCiticm9rZW5fY191bnF1b3RlIGV4cGVjdGVkLWRlZmF1bHQgPmV4cGVjdGVkLWRlZmF1bHQwCisKK2Jyb2tlbl9jX3VucXVvdGVfdmVyYm9zZSBleHBlY3RlZC12ZXJib3NlID5leHBlY3RlZC12ZXJib3NlMAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXN0ZGluJyAnCiAJZXhwZWN0X2Zyb21fc3RkaW4gPGV4cGVjdGVkLWRlZmF1bHQgJiYKQEAgLTYzOCwxMiArNjk5LDExIEBACiBncmVwIC12ICdeOjoJJyBleHBlY3RlZC1hbGwgPmV4cGVjdGVkLXZlcmJvc2UKIHNlZCAtZSAncy8uKgkvLycgZXhwZWN0ZWQtdmVyYm9zZSA+ZXhwZWN0ZWQtZGVmYXVsdAogCi1zZWQgLWUgJ3MvXiIvLycgLWUgJ3MvXFwvLycgLWUgJ3MvIiQvLycgc3RkaW4gfCBcCi0JdHIgIlxuIiAiXDAiID5zdGRpbjAKLXNlZCAtZSAncy9eIi8vJyAtZSAncy9cXC8vJyAtZSAncy8iJC8vJyBleHBlY3RlZC1kZWZhdWx0IHwgXAotCXRyICJcbiIgIlwwIiA+ZXhwZWN0ZWQtZGVmYXVsdDAKLXNlZCAtZSAncy8JIi8JLycgLWUgJ3MvXFwvLycgLWUgJ3MvIiQvLycgZXhwZWN0ZWQtdmVyYm9zZSB8IFwKLQl0ciAiOlx0XG4iICJcMCIgPmV4cGVjdGVkLXZlcmJvc2UwCiticm9rZW5fY191bnF1b3RlIHN0ZGluID5zdGRpbjAKKworYnJva2VuX2NfdW5xdW90ZSBleHBlY3RlZC1kZWZhdWx0ID5leHBlY3RlZC1kZWZhdWx0MAorCiticm9rZW5fY191bnF1b3RlX3ZlcmJvc2UgZXhwZWN0ZWQtdmVyYm9zZSA+ZXhwZWN0ZWQtdmVyYm9zZTAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1zdGRpbiBmcm9tIHN1YmRpcmVjdG9yeScgJwogCWV4cGVjdF9mcm9tX3N0ZGluIDxleHBlY3RlZC1kZWZhdWx0ICYmCmRpZmYgLS1naXQgYS90L3QwMDUwLWZpbGVzeXN0ZW0uc2ggYi90L3QwMDUwLWZpbGVzeXN0ZW0uc2gKaW5kZXggMDVkNzhkMi4uNmIzY2VkYyAxMDA3NTUKLS0tIGEvdC90MDA1MC1maWxlc3lzdGVtLnNoCisrKyBiL3QvdDAwNTAtZmlsZXN5c3RlbS5zaApAQCAtOTEsNiArOTEsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAic2V0dXAgdW5pY29kZSBub3JtYWxpemF0aW9uIHRlc3RzIiAnCiAJdGVzdF9jcmVhdGVfcmVwbyB1bmljb2RlICYmCiAJY2QgdW5pY29kZSAmJgorCWdpdCBjb25maWcgY29yZS5wcmVjb21wb3NldW5pY29kZSBmYWxzZSAmJgogCXRvdWNoICIkYXVtbGNkaWFyIiAmJgogCWdpdCBhZGQgIiRhdW1sY2RpYXIiICYmCiAJZ2l0IGNvbW1pdCAtbSBpbml0aWFsICYmCmRpZmYgLS1naXQgYS90L3QwMDU2LWdpdC1DLnNoIGIvdC90MDA1Ni1naXQtQy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45OWMwMzc3Ci0tLSAvZGV2L251bGwKKysrIGIvdC90MDA1Ni1naXQtQy5zaApAQCAtMCwwICsxLDg0IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nIi1DIDxwYXRoPiIgb3B0aW9uIGFuZCBpdHMgZWZmZWN0cyBvbiBvdGhlciBwYXRoLXJlbGF0ZWQgb3B0aW9ucycKKworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJnaXQgLUMgPHBhdGg+IiBydW5zIGdpdCBmcm9tIHRoZSBkaXJlY3RvcnkgPHBhdGg+JyAnCisJdGVzdF9jcmVhdGVfcmVwbyBkaXIxICYmCisJZWNobyAxID5kaXIxL2EudHh0ICYmCisJbXNnPSJpbml0aWFsIGluIGRpcjEiICYmCisJKGNkIGRpcjEgJiYgZ2l0IGFkZCBhLnR4dCAmJiBnaXQgY29tbWl0IC1tICIkbXNnIikgJiYKKwllY2hvICIkbXNnIiA+ZXhwZWN0ZWQgJiYKKwlnaXQgLUMgZGlyMSBsb2cgLS1mb3JtYXQ9JXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdNdWx0aXBsZSAtQyBvcHRpb25zOiAiLUMgZGlyMSAtQyBkaXIyIiBpcyBlcXVpdmFsZW50IHRvICItQyBkaXIxL2RpcjIiJyAnCisJdGVzdF9jcmVhdGVfcmVwbyBkaXIxL2RpcjIgJiYKKwllY2hvIDEgPmRpcjEvZGlyMi9iLnR4dCAmJgorCWdpdCAtQyBkaXIxL2RpcjIgYWRkIGIudHh0ICYmCisJbXNnPSJpbml0aWFsIGluIGRpcjEvZGlyMiIgJiYKKwllY2hvICIkbXNnIiA+ZXhwZWN0ZWQgJiYKKwlnaXQgLUMgZGlyMS9kaXIyIGNvbW1pdCAtbSAiJG1zZyIgJiYKKwlnaXQgLUMgZGlyMSAtQyBkaXIyIGxvZyAtLWZvcm1hdD0lcyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0VmZmVjdCBvbiAtLWdpdC1kaXIgb3B0aW9uOiAiLUMgYyAtLWdpdC1kaXI9YS5naXQiIGlzIGVxdWl2YWxlbnQgdG8gIi0tZ2l0LWRpciBjL2EuZ2l0IicgJworCW1rZGlyIGMgJiYKKwlta2RpciBjL2EgJiYKKwlta2RpciBjL2EuZ2l0ICYmCisJKGNkIGMvYS5naXQgJiYgZ2l0IGluaXQgLS1iYXJlKSAmJgorCWVjaG8gMSA+Yy9hL2EudHh0ICYmCisJZ2l0IC0tZ2l0LWRpciBjL2EuZ2l0IC0td29yay10cmVlPWMvYSBhZGQgYS50eHQgJiYKKwlnaXQgLS1naXQtZGlyIGMvYS5naXQgLS13b3JrLXRyZWU9Yy9hIGNvbW1pdCAtbSAiaW5pdGlhbCIgJiYKKwlnaXQgLS1naXQtZGlyPWMvYS5naXQgbG9nIC0xIC0tZm9ybWF0PSVzID5leHBlY3RlZCAmJgorCWdpdCAtQyBjIC0tZ2l0LWRpcj1hLmdpdCBsb2cgLTEgLS1mb3JtYXQ9JXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdPcmRlciBzaG91bGQgbm90IG1hdHRlcjogIi0tZ2l0LWRpcj1hLmdpdCAtQyBjIiBpcyBlcXVpdmFsZW50IHRvICItQyBjIC0tZ2l0LWRpcj1hLmdpdCInICcKKwlnaXQgLUMgYyAtLWdpdC1kaXI9YS5naXQgbG9nIC0xIC0tZm9ybWF0PSVzID5leHBlY3RlZCAmJgorCWdpdCAtLWdpdC1kaXI9YS5naXQgLUMgYyBsb2cgLTEgLS1mb3JtYXQ9JXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdFZmZlY3Qgb24gLS13b3JrLXRyZWUgb3B0aW9uOiAiLUMgYy9hLmdpdCAtLXdvcmstdHJlZT0uLi9hIiAgaXMgZXF1aXZhbGVudCB0byAiLS13b3JrLXRyZWU9Yy9hIC0tZ2l0LWRpcj1jL2EuZ2l0IicgJworCXJtIGMvYS9hLnR4dCAmJgorCWdpdCAtLWdpdC1kaXI9Yy9hLmdpdCAtLXdvcmstdHJlZT1jL2Egc3RhdHVzID5leHBlY3RlZCAmJgorCWdpdCAtQyBjL2EuZ2l0IC0td29yay10cmVlPS4uL2Egc3RhdHVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnT3JkZXIgc2hvdWxkIG5vdCBtYXR0ZXI6ICItLXdvcmstdHJlZT0uLi9hIC1DIGMvYS5naXQiIGlzIGVxdWl2YWxlbnQgdG8gIi1DIGMvYS5naXQgLS13b3JrLXRyZWU9Li4vYSInICcKKwlnaXQgLUMgYy9hLmdpdCAtLXdvcmstdHJlZT0uLi9hIHN0YXR1cyA+ZXhwZWN0ZWQgJiYKKwlnaXQgLS13b3JrLXRyZWU9Li4vYSAtQyBjL2EuZ2l0IHN0YXR1cyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0VmZmVjdCBvbiAtLWdpdC1kaXIgYW5kIC0td29yay10cmVlIG9wdGlvbnMgLSAiLUMgYyAtLWdpdC1kaXI9YS5naXQgLS13b3JrLXRyZWU9YSIgaXMgZXF1aXZhbGVudCB0byAiLS1naXQtZGlyPWMvYS5naXQgLS13b3JrLXRyZWU9Yy9hIicgJworCWdpdCAtLWdpdC1kaXI9Yy9hLmdpdCAtLXdvcmstdHJlZT1jL2Egc3RhdHVzID5leHBlY3RlZCAmJgorCWdpdCAtQyBjIC0tZ2l0LWRpcj1hLmdpdCAtLXdvcmstdHJlZT1hIHN0YXR1cyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ09yZGVyIHNob3VsZCBub3QgbWF0dGVyOiAiLUMgYyAtLWdpdC1kaXI9YS5naXQgLS13b3JrLXRyZWU9YSIgaXMgZXF1aXZhbGVudCB0byAiLS1naXQtZGlyPWEuZ2l0IC1DIGMgLS13b3JrLXRyZWU9YSInICcKKwlnaXQgLUMgYyAtLWdpdC1kaXI9YS5naXQgLS13b3JrLXRyZWU9YSBzdGF0dXMgPmV4cGVjdGVkICYmCisJZ2l0IC0tZ2l0LWRpcj1hLmdpdCAtQyBjIC0td29yay10cmVlPWEgc3RhdHVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnT3JkZXIgc2hvdWxkIG5vdCBtYXR0ZXI6ICItQyBjIC0tZ2l0LWRpcj1hLmdpdCAtLXdvcmstdHJlZT1hIiBpcyBlcXVpdmFsZW50IHRvICItLWdpdC1kaXI9YS5naXQgLS13b3JrLXRyZWU9YSAtQyBjIicgJworCWdpdCAtQyBjIC0tZ2l0LWRpcj1hLmdpdCAtLXdvcmstdHJlZT1hIHN0YXR1cyA+ZXhwZWN0ZWQgJiYKKwlnaXQgLS1naXQtZGlyPWEuZ2l0IC0td29yay10cmVlPWEgLUMgYyBzdGF0dXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdSZWxhdGl2ZSBmb2xsb3dlZCBieSBmdWxscGF0aDogIi1DIC4vaGVyZSAtQyAvdGhlcmUiIGlzIGVxdWl2YWxlbnQgdG8gIi1DIC90aGVyZSInICcKKwllY2hvICJpbml0aWFsIGluIGRpcjEvZGlyMiIgPmV4cGVjdGVkICYmCisJZ2l0IC1DIGRpcjEgLUMgIiQocHdkKS9kaXIxL2RpcjIiIGxvZyAtLWZvcm1hdD0lcyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MDA2MC1wYXRoLXV0aWxzLnNoIGIvdC90MDA2MC1wYXRoLXV0aWxzLnNoCmluZGV4IDNhNDhkZTIuLjA3YzEwYzggMTAwNzU1Ci0tLSBhL3QvdDAwNjAtcGF0aC11dGlscy5zaAorKysgYi90L3QwMDYwLXBhdGgtdXRpbHMuc2gKQEAgLTgsMTMgKzgsMTMgQEAKIC4gLi90ZXN0LWxpYi5zaAogCiBub3JtX3BhdGgoKSB7Ci0JZXhwZWN0ZWQ9JCh0ZXN0LXBhdGgtdXRpbHMgbWluZ3dfcGF0aCAiJDIiKQorCWV4cGVjdGVkPSQodGVzdC1wYXRoLXV0aWxzIHByaW50X3BhdGggIiQyIikKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzICQzICJub3JtYWxpemUgcGF0aDogJDEgPT4gJDIiIFwKIAkidGVzdCBcIlwkKHRlc3QtcGF0aC11dGlscyBub3JtYWxpemVfcGF0aF9jb3B5ICckMScpXCIgPSAnJGV4cGVjdGVkJyIKIH0KIAogcmVsYXRpdmVfcGF0aCgpIHsKLQlleHBlY3RlZD0kKHRlc3QtcGF0aC11dGlscyBtaW5nd19wYXRoICIkMyIpCisJZXhwZWN0ZWQ9JCh0ZXN0LXBhdGgtdXRpbHMgcHJpbnRfcGF0aCAiJDMiKQogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJDQgInJlbGF0aXZlIHBhdGg6ICQxICQyID0+ICQzIiBcCiAJInRlc3QgXCJcJCh0ZXN0LXBhdGgtdXRpbHMgcmVsYXRpdmVfcGF0aCAnJDEnICckMicpXCIgPSAnJGV4cGVjdGVkJyIKIH0KQEAgLTE5MCwzMyArMTkwLDM3IEBACiAJdGVzdCAiJHN5bSIgPSAiJCh0ZXN0LXBhdGgtdXRpbHMgcmVhbF9wYXRoICIkZGlyMi9zeW1sIikiCiAnCiAKLXJlbGF0aXZlX3BhdGggL2EvYi9jLwkvYS9iLwkJYy8KLXJlbGF0aXZlX3BhdGggL2EvYi9jLwkvYS9iCQljLwotcmVsYXRpdmVfcGF0aCAvYS8vYi8vYy8JLy9hL2IvLwkJYy8JUE9TSVgKLXJlbGF0aXZlX3BhdGggL2EvYgkvYS9iCQkuLwotcmVsYXRpdmVfcGF0aCAvYS9iLwkvYS9iCQkuLwotcmVsYXRpdmVfcGF0aCAvYQkvYS9iCQkuLi8KLXJlbGF0aXZlX3BhdGggLwkJL2EvYi8JCS4uLy4uLwotcmVsYXRpdmVfcGF0aCAvYS9jCS9hL2IvCQkuLi9jCi1yZWxhdGl2ZV9wYXRoIC9hL2MJL2EvYgkJLi4vYwotcmVsYXRpdmVfcGF0aCAveC95CS9hL2IvCQkuLi8uLi94L3kKLXJlbGF0aXZlX3BhdGggL2EvYgkiPGVtcHR5PiIJL2EvYgotcmVsYXRpdmVfcGF0aCAvYS9iIAkiPG51bGw+IgkvYS9iCi1yZWxhdGl2ZV9wYXRoIGEvYi9jLwlhL2IvCQljLwotcmVsYXRpdmVfcGF0aCBhL2IvYy8JYS9iCQljLwotcmVsYXRpdmVfcGF0aCBhL2IvL2MJYS8vYgkJYwotcmVsYXRpdmVfcGF0aCBhL2IvCWEvYi8JCS4vCi1yZWxhdGl2ZV9wYXRoIGEvYi8JYS9iCQkuLwotcmVsYXRpdmVfcGF0aCBhCQlhL2IJCS4uLwotcmVsYXRpdmVfcGF0aCB4L3kJYS9iCQkuLi8uLi94L3kKLXJlbGF0aXZlX3BhdGggYS9jCWEvYgkJLi4vYwotcmVsYXRpdmVfcGF0aCBhL2IJIjxlbXB0eT4iCWEvYgotcmVsYXRpdmVfcGF0aCBhL2IgCSI8bnVsbD4iCWEvYgotcmVsYXRpdmVfcGF0aCAiPGVtcHR5PiIJL2EvYgkJLi8KLXJlbGF0aXZlX3BhdGggIjxlbXB0eT4iCSI8ZW1wdHk+IgkuLwotcmVsYXRpdmVfcGF0aCAiPGVtcHR5PiIJIjxudWxsPiIJLi8KLXJlbGF0aXZlX3BhdGggIjxudWxsPiIJIjxlbXB0eT4iCS4vCi1yZWxhdGl2ZV9wYXRoICI8bnVsbD4iCSI8bnVsbD4iCS4vCi1yZWxhdGl2ZV9wYXRoICI8bnVsbD4iCS9hL2IJCS4vCityZWxhdGl2ZV9wYXRoIC9mb28vYS9iL2MvCS9mb28vYS9iLwljLworcmVsYXRpdmVfcGF0aCAvZm9vL2EvYi9jLwkvZm9vL2EvYgljLworcmVsYXRpdmVfcGF0aCAvZm9vL2EvL2IvL2MvCS8vL2Zvby9hL2IvLwljLwkJUE9TSVgKK3JlbGF0aXZlX3BhdGggL2Zvby9hL2IJCS9mb28vYS9iCS4vCityZWxhdGl2ZV9wYXRoIC9mb28vYS9iLwkJL2Zvby9hL2IJLi8KK3JlbGF0aXZlX3BhdGggL2Zvby9hCQkvZm9vL2EvYgkuLi8KK3JlbGF0aXZlX3BhdGggLwkJCS9mb28vYS9iLwkuLi8uLi8uLi8KK3JlbGF0aXZlX3BhdGggL2Zvby9hL2MJCS9mb28vYS9iLwkuLi9jCityZWxhdGl2ZV9wYXRoIC9mb28vYS9jCQkvZm9vL2EvYgkuLi9jCityZWxhdGl2ZV9wYXRoIC9mb28veC95CQkvZm9vL2EvYi8JLi4vLi4veC95CityZWxhdGl2ZV9wYXRoIC9mb28vYS9iCQkiPGVtcHR5PiIJL2Zvby9hL2IKK3JlbGF0aXZlX3BhdGggL2Zvby9hL2IgCQkiPG51bGw+IgkvZm9vL2EvYgorcmVsYXRpdmVfcGF0aCBmb28vYS9iL2MvCWZvby9hL2IvCWMvCityZWxhdGl2ZV9wYXRoIGZvby9hL2IvYy8JZm9vL2EvYgkJYy8KK3JlbGF0aXZlX3BhdGggZm9vL2EvYi8vYwlmb28vYS8vYgljCityZWxhdGl2ZV9wYXRoIGZvby9hL2IvCQlmb28vYS9iLwkuLworcmVsYXRpdmVfcGF0aCBmb28vYS9iLwkJZm9vL2EvYgkJLi8KK3JlbGF0aXZlX3BhdGggZm9vL2EJCWZvby9hL2IJCS4uLworcmVsYXRpdmVfcGF0aCBmb28veC95CQlmb28vYS9iCQkuLi8uLi94L3kKK3JlbGF0aXZlX3BhdGggZm9vL2EvYwkJZm9vL2EvYgkJLi4vYworcmVsYXRpdmVfcGF0aCBmb28vYS9iCQkvZm9vL3gveQlmb28vYS9iCityZWxhdGl2ZV9wYXRoIC9mb28vYS9iCQlmb28veC95CQkvZm9vL2EvYgorcmVsYXRpdmVfcGF0aCBkOi9hL2IJCUQ6L2EvYwkJLi4vYgkJTUlOR1cKK3JlbGF0aXZlX3BhdGggQzovYS9iCQlEOi9hL2MJCUM6L2EvYgkJTUlOR1cKK3JlbGF0aXZlX3BhdGggZm9vL2EvYgkJIjxlbXB0eT4iCWZvby9hL2IKK3JlbGF0aXZlX3BhdGggZm9vL2EvYiAJCSI8bnVsbD4iCWZvby9hL2IKK3JlbGF0aXZlX3BhdGggIjxlbXB0eT4iCQkvZm9vL2EvYgkuLworcmVsYXRpdmVfcGF0aCAiPGVtcHR5PiIJCSI8ZW1wdHk+IgkuLworcmVsYXRpdmVfcGF0aCAiPGVtcHR5PiIJCSI8bnVsbD4iCS4vCityZWxhdGl2ZV9wYXRoICI8bnVsbD4iCQkiPGVtcHR5PiIJLi8KK3JlbGF0aXZlX3BhdGggIjxudWxsPiIJCSI8bnVsbD4iCS4vCityZWxhdGl2ZV9wYXRoICI8bnVsbD4iCQkvZm9vL2EvYgkuLwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDAwNzAtZnVuZGFtZW50YWwuc2ggYi90L3QwMDcwLWZ1bmRhbWVudGFsLnNoCmluZGV4IDk4NmIyYTguLjVlZDY5YTYgMTAwNzU1Ci0tLSBhL3QvdDAwNzAtZnVuZGFtZW50YWwuc2gKKysrIGIvdC90MDA3MC1mdW5kYW1lbnRhbC5zaApAQCAtMjUsNiArMjUsMTAgQEAKIAlncmVwICJjYW5ub3R3cml0ZS90ZXN0IiBlcnIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0X21rc3RlbXBzX21vZGUgZG9lcyBub3QgZmFpbCBpZiBmZCAwIGlzIG5vdCBvcGVuJyAnCisJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tIG1lc3NhZ2UgPCYtCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrIGZvciBhIGJ1ZyBpbiB0aGUgcmVnZXggcm91dGluZXMnICcKIAkjIGlmIHRoaXMgdGVzdCBmYWlscywgcmUtYnVpbGQgZ2l0IHdpdGggTk9fUkVHRVg9MQogCXRlc3QtcmVnZXgKZGlmZiAtLWdpdCBhL3QvdDAxMTAtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbi5zaCBiL3QvdDAxMTAtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZDYwOTZkCi0tLSAvZGV2L251bGwKKysrIGIvdC90MDExMC11cmxtYXRjaC1ub3JtYWxpemF0aW9uLnNoCkBAIC0wLDAgKzEsMTc3IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ndXJsbWF0Y2ggVVJMIG5vcm1hbGl6YXRpb24nCisuIC4vdGVzdC1saWIuc2gKKworIyBUaGUgYmFzZSBuYW1lIG9mIHRoZSB0ZXN0IHVybCBmaWxlcwordHU9IiRURVNUX0RJUkVDVE9SWS90MDExMC91cmwiCisKKyMgTm90ZSB0aGF0IG9ubHkgZmlsZTogVVJMcyBzaG91bGQgYmUgYWxsb3dlZCB3aXRob3V0IGEgaG9zdAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd1cmwgc2NoZW1lJyAnCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gIiIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiXyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6IiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6LyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJmaWxlIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJmaWxlOiIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiZmlsZTovIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiZmlsZTovLyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiOi8vYWNtZS5jbyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAieF90ZXN0Oi8vYWNtZS5jbyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiLXRlc3Q6Ly9hY21lLmNvIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICIwdGVzdDovL2FjbWUuY28iICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gIit0ZXN0Oi8vYWNtZS5jbyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiLnRlc3Q6Ly9hY21lLmNvIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbSU2ZTovLyIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gIngtVGVzdCt2MS4wOi8vYWNtZS5jbyIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiQWJDZGVGOi8veC5ZIikiID0gImFiY2RlZjovL3gueS8iCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VybCBhdXRob3JpdHknICcKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vdXNlcjpwYXNzQCIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vPyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vIyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vLyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vOiIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vOjU1NSIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gImZpbGU6Ly91c2VyOnBhc3NAIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiZmlsZTovLz8iICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJmaWxlOi8vIyIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gImZpbGU6Ly8vIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiZmlsZTovLzoiICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gImZpbGU6Ly86NTU1IiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vdXNlcjpwYXNzQGhvc3QiICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly9AaG9zdCIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInNjaGVtZTovLyUwMEBob3N0IiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly8lJUBob3N0IiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly9ob3N0XyIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInNjaGVtZTovL3VzZXI6cGFzc0Bob3N0LyIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInNjaGVtZTovL0Bob3N0LyIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInNjaGVtZTovL2hvc3QvIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vaG9zdD94IiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vaG9zdCN4IiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vaG9zdC9AIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vaG9zdD9AeCIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInNjaGVtZTovL2hvc3QjQHgiICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly9bOjoxXSIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInNjaGVtZTovL1s6OjFdLyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vaG9zJTQxLyIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInNjaGVtZTovL1tpbnZhbGlkLi4uLjovIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAic2NoZW1lOi8vaW52YWxpZC4uLi46XS8iICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInNjaGVtZTovL2ludmFsaWQuLi4uOlsvIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJzY2hlbWU6Ly9pbnZhbGlkLi4uLjpbIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd1cmwgcG9ydCBjaGVja3MnICcKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInh5ejovL3FAc29tZS5ob3N0OiIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInh5ejovL3FAc29tZS5ob3N0OjQ1Ni8iICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInh5ejovL3FAc29tZS5ob3N0OjAiICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInh5ejovL3FAc29tZS5ob3N0OjAwMDAwMDAiICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJ4eXo6Ly9xQHNvbWUuaG9zdDowMDAwMDAxPyIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInh5ejovL3FAc29tZS5ob3N0OjA2NTUzNSMiICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJ4eXo6Ly9xQHNvbWUuaG9zdDo2NTUzNSIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAieHl6Oi8vcUBzb21lLmhvc3Q6NjU1MzYiICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInh5ejovL3FAc29tZS5ob3N0Ojk5OTk5IiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJ4eXo6Ly9xQHNvbWUuaG9zdDoxMDAwMDAiICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInh5ejovL3FAc29tZS5ob3N0OjEwMDAwMSIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gImh0dHA6Ly9xQHNvbWUuaG9zdDo4MCIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gImh0dHBzOi8vcUBzb21lLmhvc3Q6NDQzIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiaHR0cDovL3FAc29tZS5ob3N0OjgwLyIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gImh0dHBzOi8vcUBzb21lLmhvc3Q6NDQzPyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiaHR0cDovL3FAOjgwMDgiICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gImh0dHA6Ly86ODA4MCIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiaHR0cDovLzoiICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJ4eXo6Ly9xQHNvbWUuaG9zdDo0NTYvIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAieHl6Oi8vWzo6MV06NDU2LyIgJiYKKwl0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInh5ejovL1s6OjFdOi8iICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInh5ejovL1s6OjFdOjAwMC8iICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInh5ejovL1s6OjFdOjAlMzAwLyIgJiYKKwkhIHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAieHl6Oi8vWzo6MV06MHg4MC8iICYmCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gInh5ejovL1s6OjFdOjQyOTQ5NjcyOTcvIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJ4eXo6Ly9bOjoxXTowMzBmLyIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndXJsIHBvcnQgbm9ybWFsaXphdGlvbicgJworCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJodHRwOi8veDo4MDAiKSIgPSAiaHR0cDovL3g6ODAwLyIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiaHR0cDovL3g6MDgwMCIpIiA9ICJodHRwOi8veDo4MDAvIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJodHRwOi8veDowMDAwMDgwMCIpIiA9ICJodHRwOi8veDo4MDAvIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJodHRwOi8veDowNjU1MzUiKSIgPSAiaHR0cDovL3g6NjU1MzUvIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJodHRwOi8veDoxIikiID0gImh0dHA6Ly94OjEvIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJodHRwOi8veDo4MCIpIiA9ICJodHRwOi8veC8iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgImh0dHA6Ly94OjA4MCIpIiA9ICJodHRwOi8veC8iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgImh0dHA6Ly94OjAwMDAwMDA4MCIpIiA9ICJodHRwOi8veC8iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgImh0dHBzOi8veDo0NDMiKSIgPSAiaHR0cHM6Ly94LyIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiaHR0cHM6Ly94OjA0NDMiKSIgPSAiaHR0cHM6Ly94LyIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiaHR0cHM6Ly94OjAwMDAwMDQ0MyIpIiA9ICJodHRwczovL3gvIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd1cmwgZ2VuZXJhbCBlc2NhcGVzJyAnCisJISB0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gImh0dHA6Ly94Lnk/JWZnIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJYOi8vVy8lN2UlNDFeJTNhIikiID0gIng6Ly93L35BJTVFJTNBIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJYOi8vVy86Lz8jW11AIikiID0gIng6Ly93LzovPyNbXUAiICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIlg6Ly9XLyQmKCkqKyw7PSIpIiA9ICJ4Oi8vdy8kJigpKissOz0iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIlg6Ly9XLydcJyciKSIgPSAieDovL3cvJ1wnJyIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiWDovL1c/J1whJyIpIiA9ICJ4Oi8vdy8/J1whJyIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndXJsIGhpZ2gtYml0IGVzY2FwZXMnICcKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiJChjYXQgIiR0dS0xIikiKSIgPSAieDovL3EvJTAxJTAyJTAzJTA0JTA1JTA2JTA3JTA4JTBFJTBGJTEwJTExJTEyIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICIkKGNhdCAiJHR1LTIiKSIpIiA9ICJ4Oi8vcS8lMTMlMTQlMTUlMTYlMTclMTglMTklMUIlMUMlMUQlMUUlMUYlN0YiICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIiQoY2F0ICIkdHUtMyIpIikiID0gIng6Ly9xLyU4MCU4MSU4MiU4MyU4NCU4NSU4NiU4NyU4OCU4OSU4QSU4QiU4QyU4RCU4RSU4RiIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiJChjYXQgIiR0dS00IikiKSIgPSAieDovL3EvJTkwJTkxJTkyJTkzJTk0JTk1JTk2JTk3JTk4JTk5JTlBJTlCJTlDJTlEJTlFJTlGIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICIkKGNhdCAiJHR1LTUiKSIpIiA9ICJ4Oi8vcS8lQTAlQTElQTIlQTMlQTQlQTUlQTYlQTclQTglQTklQUElQUIlQUMlQUQlQUUlQUYiICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIiQoY2F0ICIkdHUtNiIpIikiID0gIng6Ly9xLyVCMCVCMSVCMiVCMyVCNCVCNSVCNiVCNyVCOCVCOSVCQSVCQiVCQyVCRCVCRSVCRiIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiJChjYXQgIiR0dS03IikiKSIgPSAieDovL3EvJUMwJUMxJUMyJUMzJUM0JUM1JUM2JUM3JUM4JUM5JUNBJUNCJUNDJUNEJUNFJUNGIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICIkKGNhdCAiJHR1LTgiKSIpIiA9ICJ4Oi8vcS8lRDAlRDElRDIlRDMlRDQlRDUlRDYlRDclRDglRDklREElREIlREMlREQlREUlREYiICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIiQoY2F0ICIkdHUtOSIpIikiID0gIng6Ly9xLyVFMCVFMSVFMiVFMyVFNCVFNSVFNiVFNyVFOCVFOSVFQSVFQiVFQyVFRCVFRSVFRiIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiJChjYXQgIiR0dS0xMCIpIikiID0gIng6Ly9xLyVGMCVGMSVGMiVGMyVGNCVGNSVGNiVGNyVGOCVGOSVGQSVGQiVGQyVGRCVGRSVGRiIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAiJChjYXQgIiR0dS0xMSIpIikiID0gIng6Ly9xLyVDMiU4MCVERiVCRiVFMCVBMCU4MCVFRiVCRiVCRCVGMCU5MCU4MCU4MCVGMCVBRiVCRiVCRCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndXJsIHVzZXJuYW1lL3Bhc3N3b3JkIGVzY2FwZXMnICcKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAieDovLyU0MSU2MiheKTolNzArZEBmb28iKSIgPSAieDovL0FiKCU1RSk6cCtkQGZvby8iCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VybCBub3JtYWxpemVkIGxlbmd0aHMnICcKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtbCAiSHR0cDovLyU0ZCU2NTolNGReJTcwQFRoZS5Ib3N0IikiID0gMjUgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtbCAiaHR0cDovLyU0MTolNDJAeC55LyU2MS8iKSIgPSAxNyAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1sICJodHRwOi8vQHgueS9eIikiID0gMTUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndXJsIC4gYW5kIC4uIHNlZ21lbnRzJyAnCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIng6Ly95Ly4iKSIgPSAieDovL3kvIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJ4Oi8veS8uLyIpIiA9ICJ4Oi8veS8iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIng6Ly95L2EvLiIpIiA9ICJ4Oi8veS9hIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJ4Oi8veS9hLy4vIikiID0gIng6Ly95L2EvIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJ4Oi8veS8uPyIpIiA9ICJ4Oi8veS8/IiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJ4Oi8veS8uLz8iKSIgPSAieDovL3kvPyIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAieDovL3kvYS8uPyIpIiA9ICJ4Oi8veS9hPyIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAieDovL3kvYS8uLz8iKSIgPSAieDovL3kvYS8/IiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJ4Oi8veS9hLy4vYi8uLi8uLy4uL2MiKSIgPSAieDovL3kvYyIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAieDovL3kvYS8uL2IvLi4vLi4vLi9jLyIpIiA9ICJ4Oi8veS9jLyIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAieDovL3kvYS8uL2IvLi4vLi8uLi9jLy4vLi8uLi8uLy4iKSIgPSAieDovL3kvIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJ4Oi8veS9hLy4vYi8uLi8uLy4uL2MvLi8uLy4uLy4vLi4iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIng6Ly95L2EvLi8/Ly4vLi8uLiIpIiA9ICJ4Oi8veS9hLz8vLi8uLy4uIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJ4Oi8veS8lMmUvIikiID0gIng6Ly95LyIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAieDovL3kvJTJFLyIpIiA9ICJ4Oi8veS8iICYmCisJdGVzdCAiJCh0ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24gLXAgIng6Ly95L2EvJTJlLi8iKSIgPSAieDovL3kvIiAmJgorCXRlc3QgIiQodGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIC1wICJ4Oi8veS9iLy4lMkUvIikiID0gIng6Ly95LyIgJiYKKwl0ZXN0ICIkKHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAtcCAieDovL3kvYy8lMmUlMkUvIikiID0gIng6Ly95LyIKKycKKworIyBodHRwOi8vQGZvbyBzcGVjaWZpZXMgYW4gZW1wdHkgdXNlciBuYW1lIGJ1dCBkb2VzIG5vdCBzcGVjaWZ5IGEgcGFzc3dvcmQKKyMgaHR0cDovL2ZvbyAgc3BlY2lmaWVzIG5laXRoZXIgYSB1c2VyIG5hbWUgbm9yIGEgcGFzc3dvcmQKKyMgU28gdGhleSBzaG91bGQgbm90IGJlIGVxdWl2YWxlbnQKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VybCBlcXVpdmFsZW50cycgJworCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiaHR0UDovL3giICJIdHRwOi8vWC8iICYmCisJdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJIdHRwOi8vJTRkJTY1OiU0ZF4lNzBAVGhlLkhvc3QiICJoVFRQOi8vTWU6JTREXnBAdGhlLkhPU1Q6ODAvIiAmJgorCSEgdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uICJodHRwczovL0B4LnkvXiIgImh0dHBTOi8veC55OjQ0My9eIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiaHR0cHM6Ly9AeC55L14iICJodHRwUzovL0B4Lnk6MDQ0My9eIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiaHR0cHM6Ly9AeC55L14vLi4vYWJjIiAiaHR0cFM6Ly9AeC55OjA0NDMvYWJjIiAmJgorCXRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbiAiaHR0cHM6Ly9AeC55L14vLi4iICJodHRwUzovL0B4Lnk6MDQ0My8iCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MDExMC9SRUFETUUgYi90L3QwMTEwL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDRhNTBlCi0tLSAvZGV2L251bGwKKysrIGIvdC90MDExMC9SRUFETUUKQEAgLTAsMCArMSw5IEBACitUaGUgdXJsIGRhdGEgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkgY29udGFpbiBVUkxzIHdpdGggY2hhcmFjdGVycworaW4gdGhlIHJhbmdlIDB4MDEtMHgxZiBhbmQgMHg3Zi0weGZmIHRvIHRlc3QgdGhlIHByb3BlciBub3JtYWxpemF0aW9uCitvZiB1bnByaW50YWJsZSBjaGFyYWN0ZXJzLgorCitBIHNlbGVjdCBmZXcgY2hhcmFjdGVycyBpbiB0aGUgMHgwMS0weDFmIHJhbmdlIGFyZSBza2lwcGVkIHRvIGhlbHAKK2F2b2lkIHByb2JsZW1zIHJ1bm5pbmcgdGhlIHRlc3QgaXRzZWxmLgorCitUaGUgdXJscyBhcmUgaW4gdGVzdCBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeSByYXRoZXIgdGhhbiBiZWluZworZW1iZWRkZWQgaW4gdGhlIHRlc3Qgc2NyaXB0IGZvciBwb3J0YWJpbGl0eS4KZGlmZiAtLWdpdCBhL3QvdDAxMTAvdXJsLTEgYi90L3QwMTEwL3VybC0xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxOTAxOWMKLS0tIC9kZXYvbnVsbAorKysgYi90L3QwMTEwL3VybC0xCkBAIC0wLDAgKzEgQEAKK3g6Ly9xLwECAwQFBgcIDg8QERIKZGlmZiAtLWdpdCBhL3QvdDAxMTAvdXJsLTEwIGIvdC90MDExMC91cmwtMTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk5NjVkZQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDAxMTAvdXJsLTEwCkBAIC0wLDAgKzEgQEAKK3g6Ly9xL/Dx8vP09fb3+Pn6+/z9/v8KZGlmZiAtLWdpdCBhL3QvdDAxMTAvdXJsLTExIGIvdC90MDExMC91cmwtMTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjBhNTBmMQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDAxMTAvdXJsLTExCkBAIC0wLDAgKzEgQEAKK3g6Ly9xL8KA37/goIDvv73wkICA8K+/vQpkaWZmIC0tZ2l0IGEvdC90MDExMC91cmwtMiBiL3QvdDAxMTAvdXJsLTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDMzMzRiMAotLS0gL2Rldi9udWxsCisrKyBiL3QvdDAxMTAvdXJsLTIKQEAgLTAsMCArMSBAQAoreDovL3EvExQVFhcYGRscHR4ffwpkaWZmIC0tZ2l0IGEvdC90MDExMC91cmwtMyBiL3QvdDAxMTAvdXJsLTMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM3OGM3YgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDAxMTAvdXJsLTMKQEAgLTAsMCArMSBAQAoreDovL3EvgIGCg4SFhoeIiYqLjI2OjwpkaWZmIC0tZ2l0IGEvdC90MDExMC91cmwtNCBiL3QvdDAxMTAvdXJsLTQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjIwYjE5OAotLS0gL2Rldi9udWxsCisrKyBiL3QvdDAxMTAvdXJsLTQKQEAgLTAsMCArMSBAQAoreDovL3EvkJGSk5SVlpeYmZqbnJ2enwpkaWZmIC0tZ2l0IGEvdC90MDExMC91cmwtNSBiL3QvdDAxMTAvdXJsLTUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWNjZDkyNwotLS0gL2Rldi9udWxsCisrKyBiL3QvdDAxMTAvdXJsLTUKQEAgLTAsMCArMSBAQAoreDovL3EvoKGio6SlpqeoqaqrrK2urwpkaWZmIC0tZ2l0IGEvdC90MDExMC91cmwtNiBiL3QvdDAxMTAvdXJsLTYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTgyODNhYQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDAxMTAvdXJsLTYKQEAgLTAsMCArMSBAQAoreDovL3EvsLGys7S1tre4ubq7vL2+vwpkaWZmIC0tZ2l0IGEvdC90MDExMC91cmwtNyBiL3QvdDAxMTAvdXJsLTcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmE3YzEwYgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDAxMTAvdXJsLTcKQEAgLTAsMCArMSBAQAoreDovL3EvwMHCw8TFxsfIycrLzM3OzwpkaWZmIC0tZ2l0IGEvdC90MDExMC91cmwtOCBiL3QvdDAxMTAvdXJsLTgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzlhMGJhOAotLS0gL2Rldi9udWxsCisrKyBiL3QvdDAxMTAvdXJsLTgKQEAgLTAsMCArMSBAQAoreDovL3Ev0NHS09TV1tfY2drb3N3e3wpkaWZmIC0tZ2l0IGEvdC90MDExMC91cmwtOSBiL3QvdDAxMTAvdXJsLTkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI0NGJlYwotLS0gL2Rldi9udWxsCisrKyBiL3QvdDAxMTAvdXJsLTkKQEAgLTAsMCArMSBAQAoreDovL3Ev4OHi4+Tl5ufo6err7O3u7wpkaWZmIC0tZ2l0IGEvdC90MDIwMi1nZXR0ZXh0LXBlcmwuc2ggYi90L3QwMjAyLWdldHRleHQtcGVybC5zaAppbmRleCA0MjhlYmIwLi5hMjlkMTY2IDEwMDc1NQotLS0gYS90L3QwMjAyLWdldHRleHQtcGVybC5zaAorKysgYi90L3QwMjAyLWdldHRleHQtcGVybC5zaApAQCAtMTIsNyArMTIsNyBAQAogCXRlc3RfZG9uZQogZmkKIAotIiRQRVJMX1BBVEgiIC1NVGVzdDo6TW9yZSAtZSAwIDI+L2Rldi9udWxsIHx8IHsKK3BlcmwgLU1UZXN0OjpNb3JlIC1lIDAgMj4vZGV2L251bGwgfHwgewogCXNraXBfYWxsPSJQZXJsIFRlc3Q6Ok1vcmUgdW5hdmFpbGFibGUsIHNraXBwaW5nIHRlc3QiCiAJdGVzdF9kb25lCiB9CkBAIC0yMiw2ICsyMiw2IEBACiAKIHRlc3RfZXh0ZXJuYWxfd2l0aG91dF9zdGRlcnIgXAogICAgICdQZXJsIEdpdDo6STE4TiBBUEknIFwKLSAgICAiJFBFUkxfUEFUSCIgIiRURVNUX0RJUkVDVE9SWSIvdDAyMDIvdGVzdC5wbAorICAgIHBlcmwgIiRURVNUX0RJUkVDVE9SWSIvdDAyMDIvdGVzdC5wbAogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDEwMDYtY2F0LWZpbGUuc2ggYi90L3QxMDA2LWNhdC1maWxlLnNoCmluZGV4IDRlOTExZmIuLmE0MjA3NDIgMTAwNzU1Ci0tLSBhL3QvdDEwMDYtY2F0LWZpbGUuc2gKKysrIGIvdC90MTAwNi1jYXQtZmlsZS5zaApAQCAtNzgsNiArNzgsMTMgQEAKIAllY2hvICRzaGExIHwgZ2l0IGNhdC1maWxlIC0tYmF0Y2gtY2hlY2s9IiUob2JqZWN0dHlwZSkgJShvYmplY3RuYW1lKSIgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICAgICAnCisKKyAgICB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLWJhdGNoLWNoZWNrIHdpdGggJShyZXN0KScgJworCWVjaG8gIiR0eXBlIHRoaXMgaXMgc29tZSBleHRyYSBjb250ZW50IiA+ZXhwZWN0ICYmCisJZWNobyAiJHNoYTEgICAgdGhpcyBpcyBzb21lIGV4dHJhIGNvbnRlbnQiIHwKKwkJZ2l0IGNhdC1maWxlIC0tYmF0Y2gtY2hlY2s9IiUob2JqZWN0dHlwZSkgJShyZXN0KSIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKyAgICAnCiB9CiAKIGhlbGxvX2NvbnRlbnQ9IkhlbGxvIFdvcmxkIgpAQCAtOTEsNiArOTgsMTQgQEAKIAogcnVuX3Rlc3RzICdibG9iJyAkaGVsbG9fc2hhMSAkaGVsbG9fc2l6ZSAiJGhlbGxvX2NvbnRlbnQiICIkaGVsbG9fY29udGVudCIKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1iYXRjaC1jaGVjayB3aXRob3V0ICUocmVzdCkgY29uc2lkZXJzIHdob2xlIGxpbmUnICcKKwllY2hvICIkaGVsbG9fc2hhMSBibG9iICRoZWxsb19zaXplIiA+ZXhwZWN0ICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCAtLWNhY2hlaW5mbyAxMDA2NDQgJGhlbGxvX3NoYTEgIndoaXRlIHNwYWNlIiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHVwZGF0ZS1pbmRleCAtLXJlbW92ZSBcIndoaXRlIHNwYWNlXCIiICYmCisJZWNobyAiOndoaXRlIHNwYWNlIiB8IGdpdCBjYXQtZmlsZSAtLWJhdGNoLWNoZWNrID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRyZWVfc2hhMT0kKGdpdCB3cml0ZS10cmVlKQogdHJlZV9zaXplPTMzCiB0cmVlX3ByZXR0eV9jb250ZW50PSIxMDA2NDQgYmxvYiAkaGVsbG9fc2hhMQloZWxsbyIKZGlmZiAtLWdpdCBhL3QvdDEwMTAtbWt0cmVlLnNoIGIvdC90MTAxMC1ta3RyZWUuc2gKaW5kZXggZGY1NzNjNC4uYjk0NmY4NyAxMDA3NTUKLS0tIGEvdC90MTAxMC1ta3RyZWUuc2gKKysrIGIvdC90MTAxMC1ta3RyZWUuc2gKQEAgLTQyLDEzICs0MiwxMyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdscy10cmVlIG91dHB1dCBpbiB3cm9uZyBvcmRlciBnaXZlbiB0byBta3RyZWUgKDEpJyAnCi0JIiRQRVJMX1BBVEgiIC1lICJwcmludCByZXZlcnNlIDw+IiA8dG9wIHwKKwlwZXJsIC1lICJwcmludCByZXZlcnNlIDw+IiA8dG9wIHwKIAlnaXQgbWt0cmVlID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCB0cmVlIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdscy10cmVlIG91dHB1dCBpbiB3cm9uZyBvcmRlciBnaXZlbiB0byBta3RyZWUgKDIpJyAnCi0JIiRQRVJMX1BBVEgiIC1lICJwcmludCByZXZlcnNlIDw+IiA8dG9wLndpdGhzdWIgfAorCXBlcmwgLWUgInByaW50IHJldmVyc2UgPD4iIDx0b3Aud2l0aHN1YiB8CiAJZ2l0IG1rdHJlZSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgdHJlZS53aXRoc3ViIGFjdHVhbAogJwpkaWZmIC0tZ2l0IGEvdC90MTMwMC1yZXBvLWNvbmZpZy5zaCBiL3QvdDEzMDAtcmVwby1jb25maWcuc2gKaW5kZXggYzRhN2Q4NC4uOTY3MzU5MyAxMDA3NTUKLS0tIGEvdC90MTMwMC1yZXBvLWNvbmZpZy5zaAorKysgYi90L3QxMzAwLXJlcG8tY29uZmlnLnNoCkBAIC02NTIsMTYgKzY1MiwyMyBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1pbnQgaXMgYXQgbGVhc3QgNjQgYml0cycgJworCWdpdCBjb25maWcgZ2lnYS53YXR0cyAxMjFnICYmCisJZWNobyAxMjk5MjI3NjA3MDQgPmV4cGVjdCAmJgorCWdpdCBjb25maWcgLS1pbnQgLS1nZXQgZ2lnYS53YXR0cyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbnZhbGlkIHVuaXQnICcKIAlnaXQgY29uZmlnIGFuaW52YWxpZC51bml0ICIxYXV0byIgJiYKIAllY2hvIDFhdXRvID5leHBlY3QgJiYKIAlnaXQgY29uZmlnIGFuaW52YWxpZC51bml0ID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCi0JY2F0ID4gZXhwZWN0IDw8LVxFT0YKLQlmYXRhbDogYmFkIGNvbmZpZyB2YWx1ZSBmb3IgJ1wnJ2FuaW52YWxpZC51bml0J1wnJyBpbiAuZ2l0L2NvbmZpZworCWNhdCA+ZXhwZWN0IDw8LVxFT0YKKwlmYXRhbDogYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICdcJycxYXV0bydcJycgZm9yICdcJydhbmludmFsaWQudW5pdCdcJycgaW4gLmdpdC9jb25maWc6IGludmFsaWQgdW5pdAogCUVPRgogCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgLS1pbnQgLS1nZXQgYW5pbnZhbGlkLnVuaXQgMj5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBhY3R1YWwgZXhwZWN0CisJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKICcKIAogY2F0ID4gZXhwZWN0IDw8IEVPRgpAQCAtMTA4Nyw2ICsxMDk0LDMxIEBACiAJZ3JlcCAiIGxpbmUgMyAiIGVycm9yCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VybG1hdGNoJyAnCisJY2F0ID4uZ2l0L2NvbmZpZyA8PC1cRU9GICYmCisJW2h0dHBdCisJCXNzbFZlcmlmeQorCVtodHRwICJodHRwczovL3dlYWsuZXhhbXBsZS5jb20iXQorCQlzc2xWZXJpZnkgPSBmYWxzZQorCQljb29raWVGaWxlID0gL3RtcC9jb29raWUudHh0CisJRU9GCisKKwllY2hvIHRydWUgPmV4cGVjdCAmJgorCWdpdCBjb25maWcgLS1ib29sIC0tZ2V0LXVybG1hdGNoIGh0dHAuU1NMdmVyaWZ5IGh0dHBzOi8vZ29vZC5leGFtcGxlLmNvbSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJZWNobyBmYWxzZSA+ZXhwZWN0ICYmCisJZ2l0IGNvbmZpZyAtLWJvb2wgLS1nZXQtdXJsbWF0Y2ggaHR0cC5zc2x2ZXJpZnkgaHR0cHM6Ly93ZWFrLmV4YW1wbGUuY29tID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwl7CisJCWVjaG8gaHR0cC5jb29raWVmaWxlIC90bXAvY29va2llLnR4dCAmJgorCQllY2hvIGh0dHAuc3NsdmVyaWZ5IGZhbHNlCisJfSA+ZXhwZWN0ICYmCisJZ2l0IGNvbmZpZyAtLWdldC11cmxtYXRjaCBIVFRQIGh0dHBzOi8vd2Vhay5leGFtcGxlLmNvbSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiAjIGdvb2Qgc2VjdGlvbiBoeWdpZW5lCiB0ZXN0X2V4cGVjdF9mYWlsdXJlICd1bnNldHRpbmcgdGhlIGxhc3Qga2V5IGluIGEgc2VjdGlvbiByZW1vdmVzIGhlYWRlcicgJwogCWNhdCA+LmdpdC9jb25maWcgPDwtXEVPRiAmJgpkaWZmIC0tZ2l0IGEvdC90MTQwMC11cGRhdGUtcmVmLnNoIGIvdC90MTQwMC11cGRhdGUtcmVmLnNoCmluZGV4IGU0MTVlZTAuLjZmZmQ4MmYgMTAwNzU1Ci0tLSBhL3QvdDE0MDAtdXBkYXRlLXJlZi5zaAorKysgYi90L3QxNDAwLXVwZGF0ZS1yZWYuc2gKQEAgLTMwMiw0ICszMDIsNjM2IEBACiAJJ2dpdCBjYXQtZmlsZSBibG9iIG1hc3RlckB7MjAwNS0wNS0yNiAyMzo0Mn06RiAoZXhwZWN0IE9USEVSKScgXAogCSd0ZXN0IE9USEVSID0gJChnaXQgY2F0LWZpbGUgYmxvYiAibWFzdGVyQHsyMDA1LTA1LTI2IDIzOjQyfTpGIiknCiAKK2E9cmVmcy9oZWFkcy9hCitiPXJlZnMvaGVhZHMvYgorYz1yZWZzL2hlYWRzL2MKK0U9JyIiJworRj0nJXNcMCcKK3B3cz0ncGF0aCB3aXRoIHNwYWNlJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiB0ZXN0IHNldHVwJyAnCisJZWNobyAiJHB3cyIgPiIkcHdzIiAmJgorCWdpdCBhZGQgLS0gIiRwd3MiICYmCisJZ2l0IGNvbW1pdCAtbSAiJHB3cyIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLXogZmFpbHMgd2l0aG91dCAtLXN0ZGluJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLXogJG0gJG0gJG0gMj5lcnIgJiYKKwlncmVwICJ1c2FnZTogZ2l0IHVwZGF0ZS1yZWYiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiB3b3JrcyB3aXRoIG5vIGlucHV0JyAnCisJPnN0ZGluICYmCisJZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gJiYKKwlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xICRtCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIGZhaWxzIG9uIGVtcHR5IGxpbmUnICcKKwllY2hvICIiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGVtcHR5IGNvbW1hbmQgaW4gaW5wdXQiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBmYWlscyBvbiBvbmx5IHdoaXRlc3BhY2UnICcKKwllY2hvICIgIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiB3aGl0ZXNwYWNlIGJlZm9yZSBjb21tYW5kOiAgIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZmFpbHMgb24gbGVhZGluZyB3aGl0ZXNwYWNlJyAnCisJZWNobyAiIGNyZWF0ZSAkYSAkbSIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogd2hpdGVzcGFjZSBiZWZvcmUgY29tbWFuZDogIGNyZWF0ZSAkYSAkbSIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIGZhaWxzIG9uIHVua25vd24gY29tbWFuZCcgJworCWVjaG8gInVua25vd24gJGEiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IHVua25vd24gY29tbWFuZDogdW5rbm93biAkYSIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIGZhaWxzIG9uIGJhZGx5IHF1b3RlZCBpbnB1dCcgJworCWVjaG8gImNyZWF0ZSAkYSBcIm1hc3RlciIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogYmFkbHkgcXVvdGVkIGFyZ3VtZW50OiBcXFwibWFzdGVyIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZmFpbHMgb24gYXJndW1lbnRzIG5vdCBzZXBhcmF0ZWQgYnkgc3BhY2UnICcKKwllY2hvICJjcmVhdGUgXCIkYVwibWFzdGVyIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBleHBlY3RlZCBTUCBidXQgZ290OiBtYXN0ZXIiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBmYWlscyBjcmVhdGUgd2l0aCBubyByZWYnICcKKwllY2hvICJjcmVhdGUgIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBjcmVhdGUgbGluZSBtaXNzaW5nIDxyZWY+IiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZmFpbHMgY3JlYXRlIHdpdGggYmFkIHJlZiBuYW1lJyAnCisJZWNobyAiY3JlYXRlIH5hICRtIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBpbnZhbGlkIHJlZiBmb3JtYXQ6IH5hIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZmFpbHMgY3JlYXRlIHdpdGggbm8gbmV3IHZhbHVlJyAnCisJZWNobyAiY3JlYXRlICRhIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBjcmVhdGUgJGEgbWlzc2luZyA8bmV3dmFsdWU+IiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZmFpbHMgY3JlYXRlIHdpdGggdG9vIG1hbnkgYXJndW1lbnRzJyAnCisJZWNobyAiY3JlYXRlICRhICRtICRtIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBjcmVhdGUgJGEgaGFzIGV4dHJhIGlucHV0OiAgJG0iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBmYWlscyB1cGRhdGUgd2l0aCBubyByZWYnICcKKwllY2hvICJ1cGRhdGUgIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiB1cGRhdGUgbGluZSBtaXNzaW5nIDxyZWY+IiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZmFpbHMgdXBkYXRlIHdpdGggYmFkIHJlZiBuYW1lJyAnCisJZWNobyAidXBkYXRlIH5hICRtIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBpbnZhbGlkIHJlZiBmb3JtYXQ6IH5hIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZmFpbHMgdXBkYXRlIHdpdGggbm8gbmV3IHZhbHVlJyAnCisJZWNobyAidXBkYXRlICRhIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiB1cGRhdGUgJGEgbWlzc2luZyA8bmV3dmFsdWU+IiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZmFpbHMgdXBkYXRlIHdpdGggdG9vIG1hbnkgYXJndW1lbnRzJyAnCisJZWNobyAidXBkYXRlICRhICRtICRtICRtIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiB1cGRhdGUgJGEgaGFzIGV4dHJhIGlucHV0OiAgJG0iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBmYWlscyBkZWxldGUgd2l0aCBubyByZWYnICcKKwllY2hvICJkZWxldGUgIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBkZWxldGUgbGluZSBtaXNzaW5nIDxyZWY+IiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZmFpbHMgZGVsZXRlIHdpdGggYmFkIHJlZiBuYW1lJyAnCisJZWNobyAiZGVsZXRlIH5hICRtIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBpbnZhbGlkIHJlZiBmb3JtYXQ6IH5hIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZmFpbHMgZGVsZXRlIHdpdGggdG9vIG1hbnkgYXJndW1lbnRzJyAnCisJZWNobyAiZGVsZXRlICRhICRtICRtIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBkZWxldGUgJGEgaGFzIGV4dHJhIGlucHV0OiAgJG0iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBmYWlscyB2ZXJpZnkgd2l0aCB0b28gbWFueSBhcmd1bWVudHMnICcKKwllY2hvICJ2ZXJpZnkgJGEgJG0gJG0iID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IHZlcmlmeSAkYSBoYXMgZXh0cmEgaW5wdXQ6ICAkbSIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIGZhaWxzIG9wdGlvbiB3aXRoIHVua25vd24gbmFtZScgJworCWVjaG8gIm9wdGlvbiB1bmtub3duIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBvcHRpb24gdW5rbm93bjogdW5rbm93biIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIGZhaWxzIHdpdGggZHVwbGljYXRlIHJlZnMnICcKKwljYXQgPnN0ZGluIDw8LUVPRiAmJgorCWNyZWF0ZSAkYSAkbQorCWNyZWF0ZSAkYiAkbQorCWNyZWF0ZSAkYSAkbQorCUVPRgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IE11bHRpcGxlIHVwZGF0ZXMgZm9yIHJlZiAnIiciJyRhJyInIicgbm90IGFsbG93ZWQuIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gY3JlYXRlIHJlZiB3b3JrcycgJworCWVjaG8gImNyZWF0ZSAkYSAkbSIgPnN0ZGluICYmCisJZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gJiYKKwlnaXQgcmV2LXBhcnNlICRtID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlICRhID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIHVwZGF0ZSByZWYgY3JlYXRlcyB3aXRoIHplcm8gb2xkIHZhbHVlJyAnCisJZWNobyAidXBkYXRlICRiICRtICRaIiA+c3RkaW4gJiYKKwlnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAmJgorCWdpdCByZXYtcGFyc2UgJG0gPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgJGIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgdXBkYXRlLXJlZiAtZCAkYgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiB1cGRhdGUgcmVmIGNyZWF0ZXMgd2l0aCBlbXB0eSBvbGQgdmFsdWUnICcKKwllY2hvICJ1cGRhdGUgJGIgJG0gJEUiID5zdGRpbiAmJgorCWdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluICYmCisJZ2l0IHJldi1wYXJzZSAkbSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBjcmVhdGUgcmVmIHdvcmtzIHdpdGggcGF0aCB3aXRoIHNwYWNlIHRvIGJsb2InICcKKwllY2hvICJjcmVhdGUgcmVmcy9ibG9icy9wd3MgXCIkbTokcHdzXCIiID5zdGRpbiAmJgorCWdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluICYmCisJZ2l0IHJldi1wYXJzZSAiJG06JHB3cyIgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgcmVmcy9ibG9icy9wd3MgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgdXBkYXRlLXJlZiAtZCByZWZzL2Jsb2JzL3B3cworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiB1cGRhdGUgcmVmIGZhaWxzIHdpdGggd3Jvbmcgb2xkIHZhbHVlJyAnCisJZWNobyAidXBkYXRlICRjICRtICRtfjEiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IENhbm5vdCBsb2NrIHRoZSByZWYgJyInIickYyciJyInIiBlcnIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xICRjCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIHVwZGF0ZSByZWYgZmFpbHMgd2l0aCBiYWQgb2xkIHZhbHVlJyAnCisJZWNobyAidXBkYXRlICRjICRtIGRvZXMtbm90LWV4aXN0IiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBpbnZhbGlkIG9sZCB2YWx1ZSBmb3IgcmVmICRjOiBkb2VzLW5vdC1leGlzdCIgZXJyICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtcSAkYworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBjcmVhdGUgcmVmIGZhaWxzIHdpdGggYmFkIG5ldyB2YWx1ZScgJworCWVjaG8gImNyZWF0ZSAkYyBkb2VzLW5vdC1leGlzdCIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogaW52YWxpZCBuZXcgdmFsdWUgZm9yIHJlZiAkYzogZG9lcy1ub3QtZXhpc3QiIGVyciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLXEgJGMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gY3JlYXRlIHJlZiBmYWlscyB3aXRoIHplcm8gbmV3IHZhbHVlJyAnCisJZWNobyAiY3JlYXRlICRjICIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogY3JlYXRlICRjIGdpdmVuIHplcm8gbmV3IHZhbHVlIiBlcnIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xICRjCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIHVwZGF0ZSByZWYgd29ya3Mgd2l0aCByaWdodCBvbGQgdmFsdWUnICcKKwllY2hvICJ1cGRhdGUgJGIgJG1+MSAkbSIgPnN0ZGluICYmCisJZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gJiYKKwlnaXQgcmV2LXBhcnNlICRtfjEgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgJGIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZGVsZXRlIHJlZiBmYWlscyB3aXRoIHdyb25nIG9sZCB2YWx1ZScgJworCWVjaG8gImRlbGV0ZSAkYSAkbX4xIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBDYW5ub3QgbG9jayB0aGUgcmVmICciJyInJGEnIiciJyIgZXJyICYmCisJZ2l0IHJldi1wYXJzZSAkbSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiBkZWxldGUgcmVmIGZhaWxzIHdpdGggemVybyBvbGQgdmFsdWUnICcKKwllY2hvICJkZWxldGUgJGEgIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBkZWxldGUgJGEgZ2l2ZW4gemVybyBvbGQgdmFsdWUiIGVyciAmJgorCWdpdCByZXYtcGFyc2UgJG0gPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgJGEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gdXBkYXRlIHN5bXJlZiB3b3JrcyBvcHRpb24gbm8tZGVyZWYnICcKKwlnaXQgc3ltYm9saWMtcmVmIFRFU1RTWU1SRUYgJGIgJiYKKwljYXQgPnN0ZGluIDw8LUVPRiAmJgorCW9wdGlvbiBuby1kZXJlZgorCXVwZGF0ZSBURVNUU1lNUkVGICRhICRiCisJRU9GCisJZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gJiYKKwlnaXQgcmV2LXBhcnNlIFRFU1RTWU1SRUYgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgJGEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgcmV2LXBhcnNlICRtfjEgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgJGIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZGVsZXRlIHN5bXJlZiB3b3JrcyBvcHRpb24gbm8tZGVyZWYnICcKKwlnaXQgc3ltYm9saWMtcmVmIFRFU1RTWU1SRUYgJGIgJiYKKwljYXQgPnN0ZGluIDw8LUVPRiAmJgorCW9wdGlvbiBuby1kZXJlZgorCWRlbGV0ZSBURVNUU1lNUkVGICRiCisJRU9GCisJZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xIFRFU1RTWU1SRUYgJiYKKwlnaXQgcmV2LXBhcnNlICRtfjEgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgJGIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZGVsZXRlIHJlZiB3b3JrcyB3aXRoIHJpZ2h0IG9sZCB2YWx1ZScgJworCWVjaG8gImRlbGV0ZSAkYiAkbX4xIiA+c3RkaW4gJiYKKwlnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLXEgJGIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gdXBkYXRlL2NyZWF0ZS92ZXJpZnkgY29tYmluYXRpb24gd29ya3MnICcKKwljYXQgPnN0ZGluIDw8LUVPRiAmJgorCXVwZGF0ZSAkYSAkbQorCWNyZWF0ZSAkYiAkbQorCXZlcmlmeSAkYworCUVPRgorCWdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluICYmCisJZ2l0IHJldi1wYXJzZSAkbSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCByZXYtcGFyc2UgJGIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xICRjCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIHVwZGF0ZSByZWZzIHdvcmtzIHdpdGggaWRlbnRpdHkgdXBkYXRlcycgJworCWNhdCA+c3RkaW4gPDwtRU9GICYmCisJdXBkYXRlICRhICRtICRtCisJdXBkYXRlICRiICRtICRtCisJdXBkYXRlICRjICRaICRFCisJRU9GCisJZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gJiYKKwlnaXQgcmV2LXBhcnNlICRtID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlICRhID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IHJldi1wYXJzZSAkYiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLXEgJGMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gdXBkYXRlIHJlZnMgZmFpbHMgd2l0aCB3cm9uZyBvbGQgdmFsdWUnICcKKwlnaXQgdXBkYXRlLXJlZiAkYyAkbSAmJgorCWNhdCA+c3RkaW4gPDwtRU9GICYmCisJdXBkYXRlICRhICRtICRtCisJdXBkYXRlICRiICRtICRtCisJdXBkYXRlICRjICAnJworCUVPRgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IENhbm5vdCBsb2NrIHRoZSByZWYgJyInIickYyciJyInIiBlcnIgJiYKKwlnaXQgcmV2LXBhcnNlICRtID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlICRhID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IHJldi1wYXJzZSAkYiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCByZXYtcGFyc2UgJGMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gZGVsZXRlIHJlZnMgd29ya3Mgd2l0aCBwYWNrZWQgYW5kIGxvb3NlIHJlZnMnICcKKwlnaXQgcGFjay1yZWZzIC0tYWxsICYmCisJZ2l0IHVwZGF0ZS1yZWYgJGMgJG1+MSAmJgorCWNhdCA+c3RkaW4gPDwtRU9GICYmCisJZGVsZXRlICRhICRtCisJdXBkYXRlICRiICRaICRtCisJdXBkYXRlICRjICRFICRtfjEKKwlFT0YKKwlnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLXEgJGEgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xICRiICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtcSAkYworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiB3b3JrcyBvbiBlbXB0eSBpbnB1dCcgJworCT5zdGRpbiAmJgorCWdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluICYmCisJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtcSAkbQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBmYWlscyBvbiBlbXB0eSBsaW5lJyAnCisJZWNobyAiIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiB3aGl0ZXNwYWNlIGJlZm9yZSBjb21tYW5kOiAiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBmYWlscyBvbiBlbXB0eSBjb21tYW5kJyAnCisJcHJpbnRmICRGICIiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGVtcHR5IGNvbW1hbmQgaW4gaW5wdXQiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBmYWlscyBvbiBvbmx5IHdoaXRlc3BhY2UnICcKKwlwcmludGYgJEYgIiAiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IHdoaXRlc3BhY2UgYmVmb3JlIGNvbW1hbmQ6ICAiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBmYWlscyBvbiBsZWFkaW5nIHdoaXRlc3BhY2UnICcKKwlwcmludGYgJEYgIiBjcmVhdGUgJGEiICIkbSIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogd2hpdGVzcGFjZSBiZWZvcmUgY29tbWFuZDogIGNyZWF0ZSAkYSIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGZhaWxzIG9uIHVua25vd24gY29tbWFuZCcgJworCXByaW50ZiAkRiAidW5rbm93biAkYSIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogdW5rbm93biBjb21tYW5kOiB1bmtub3duICRhIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZmFpbHMgY3JlYXRlIHdpdGggbm8gcmVmJyAnCisJcHJpbnRmICRGICJjcmVhdGUgIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBjcmVhdGUgbGluZSBtaXNzaW5nIDxyZWY+IiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZmFpbHMgY3JlYXRlIHdpdGggYmFkIHJlZiBuYW1lJyAnCisJcHJpbnRmICRGICJjcmVhdGUgfmEgIiAiJG0iID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGludmFsaWQgcmVmIGZvcm1hdDogfmEgIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZmFpbHMgY3JlYXRlIHdpdGggbm8gbmV3IHZhbHVlJyAnCisJcHJpbnRmICRGICJjcmVhdGUgJGEiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGNyZWF0ZSAkYSBtaXNzaW5nIDxuZXd2YWx1ZT4iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBmYWlscyBjcmVhdGUgd2l0aCB0b28gbWFueSBhcmd1bWVudHMnICcKKwlwcmludGYgJEYgImNyZWF0ZSAkYSIgIiRtIiAiJG0iID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IHVua25vd24gY29tbWFuZDogJG0iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBmYWlscyB1cGRhdGUgd2l0aCBubyByZWYnICcKKwlwcmludGYgJEYgInVwZGF0ZSAiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IHVwZGF0ZSBsaW5lIG1pc3NpbmcgPHJlZj4iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBmYWlscyB1cGRhdGUgd2l0aCBiYWQgcmVmIG5hbWUnICcKKwlwcmludGYgJEYgInVwZGF0ZSB+YSIgIiRtIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBpbnZhbGlkIHJlZiBmb3JtYXQ6IH5hIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZmFpbHMgdXBkYXRlIHdpdGggbm8gbmV3IHZhbHVlJyAnCisJcHJpbnRmICRGICJ1cGRhdGUgJGEiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IHVwZGF0ZSAkYSBtaXNzaW5nIDxuZXd2YWx1ZT4iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBmYWlscyB1cGRhdGUgd2l0aCBubyBvbGQgdmFsdWUnICcKKwlwcmludGYgJEYgInVwZGF0ZSAkYSIgIiRtIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiB1cGRhdGUgJGEgbWlzc2luZyBcXFs8b2xkdmFsdWU+XFxdIE5VTCIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGZhaWxzIHVwZGF0ZSB3aXRoIHRvbyBtYW55IGFyZ3VtZW50cycgJworCXByaW50ZiAkRiAidXBkYXRlICRhIiAiJG0iICIkbSIgIiRtIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiB1bmtub3duIGNvbW1hbmQ6ICRtIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZmFpbHMgZGVsZXRlIHdpdGggbm8gcmVmJyAnCisJcHJpbnRmICRGICJkZWxldGUgIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBkZWxldGUgbGluZSBtaXNzaW5nIDxyZWY+IiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZmFpbHMgZGVsZXRlIHdpdGggYmFkIHJlZiBuYW1lJyAnCisJcHJpbnRmICRGICJkZWxldGUgfmEiICIkbSIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogaW52YWxpZCByZWYgZm9ybWF0OiB+YSIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGZhaWxzIGRlbGV0ZSB3aXRoIG5vIG9sZCB2YWx1ZScgJworCXByaW50ZiAkRiAiZGVsZXRlICRhIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBkZWxldGUgJGEgbWlzc2luZyBcXFs8b2xkdmFsdWU+XFxdIE5VTCIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGZhaWxzIGRlbGV0ZSB3aXRoIHRvbyBtYW55IGFyZ3VtZW50cycgJworCXByaW50ZiAkRiAiZGVsZXRlICRhIiAiJG0iICIkbSIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogdW5rbm93biBjb21tYW5kOiAkbSIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGZhaWxzIHZlcmlmeSB3aXRoIHRvbyBtYW55IGFyZ3VtZW50cycgJworCXByaW50ZiAkRiAidmVyaWZ5ICRhIiAiJG0iICIkbSIgPnN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKKwlncmVwICJmYXRhbDogdW5rbm93biBjb21tYW5kOiAkbSIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGZhaWxzIHZlcmlmeSB3aXRoIG5vIG9sZCB2YWx1ZScgJworCXByaW50ZiAkRiAidmVyaWZ5ICRhIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiB2ZXJpZnkgJGEgbWlzc2luZyBcXFs8b2xkdmFsdWU+XFxdIE5VTCIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGZhaWxzIG9wdGlvbiB3aXRoIHVua25vd24gbmFtZScgJworCXByaW50ZiAkRiAib3B0aW9uIHVua25vd24iID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IG9wdGlvbiB1bmtub3duOiB1bmtub3duIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZmFpbHMgd2l0aCBkdXBsaWNhdGUgcmVmcycgJworCXByaW50ZiAkRiAiY3JlYXRlICRhIiAiJG0iICJjcmVhdGUgJGIiICIkbSIgImNyZWF0ZSAkYSIgIiRtIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBNdWx0aXBsZSB1cGRhdGVzIGZvciByZWYgJyInIickYSciJyInIG5vdCBhbGxvd2VkLiIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGNyZWF0ZSByZWYgd29ya3MnICcKKwlwcmludGYgJEYgImNyZWF0ZSAkYSIgIiRtIiA+c3RkaW4gJiYKKwlnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAmJgorCWdpdCByZXYtcGFyc2UgJG0gPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgJGEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogdXBkYXRlIHJlZiBjcmVhdGVzIHdpdGggemVybyBvbGQgdmFsdWUnICcKKwlwcmludGYgJEYgInVwZGF0ZSAkYiIgIiRtIiAiJFoiID5zdGRpbiAmJgorCWdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluICYmCisJZ2l0IHJldi1wYXJzZSAkbSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCB1cGRhdGUtcmVmIC1kICRiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IHVwZGF0ZSByZWYgY3JlYXRlcyB3aXRoIGVtcHR5IG9sZCB2YWx1ZScgJworCXByaW50ZiAkRiAidXBkYXRlICRiIiAiJG0iICIiID5zdGRpbiAmJgorCWdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluICYmCisJZ2l0IHJldi1wYXJzZSAkbSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBjcmVhdGUgcmVmIHdvcmtzIHdpdGggcGF0aCB3aXRoIHNwYWNlIHRvIGJsb2InICcKKwlwcmludGYgJEYgImNyZWF0ZSByZWZzL2Jsb2JzL3B3cyIgIiRtOiRwd3MiID5zdGRpbiAmJgorCWdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluICYmCisJZ2l0IHJldi1wYXJzZSAiJG06JHB3cyIgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgcmVmcy9ibG9icy9wd3MgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgdXBkYXRlLXJlZiAtZCByZWZzL2Jsb2JzL3B3cworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiB1cGRhdGUgcmVmIGZhaWxzIHdpdGggd3Jvbmcgb2xkIHZhbHVlJyAnCisJcHJpbnRmICRGICJ1cGRhdGUgJGMiICIkbSIgIiRtfjEiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IENhbm5vdCBsb2NrIHRoZSByZWYgJyInIickYyciJyInIiBlcnIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xICRjCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IHVwZGF0ZSByZWYgZmFpbHMgd2l0aCBiYWQgb2xkIHZhbHVlJyAnCisJcHJpbnRmICRGICJ1cGRhdGUgJGMiICIkbSIgImRvZXMtbm90LWV4aXN0IiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBpbnZhbGlkIG9sZCB2YWx1ZSBmb3IgcmVmICRjOiBkb2VzLW5vdC1leGlzdCIgZXJyICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtcSAkYworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBjcmVhdGUgcmVmIGZhaWxzIHdpdGggYmFkIG5ldyB2YWx1ZScgJworCXByaW50ZiAkRiAiY3JlYXRlICRjIiAiZG9lcy1ub3QtZXhpc3QiID5zdGRpbiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluIDI+ZXJyICYmCisJZ3JlcCAiZmF0YWw6IGludmFsaWQgbmV3IHZhbHVlIGZvciByZWYgJGM6IGRvZXMtbm90LWV4aXN0IiBlcnIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xICRjCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGNyZWF0ZSByZWYgZmFpbHMgd2l0aCB6ZXJvIG5ldyB2YWx1ZScgJworCXByaW50ZiAkRiAiY3JlYXRlICRjIiAiIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBjcmVhdGUgJGMgZ2l2ZW4gemVybyBuZXcgdmFsdWUiIGVyciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLXEgJGMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogdXBkYXRlIHJlZiB3b3JrcyB3aXRoIHJpZ2h0IG9sZCB2YWx1ZScgJworCXByaW50ZiAkRiAidXBkYXRlICRiIiAiJG1+MSIgIiRtIiA+c3RkaW4gJiYKKwlnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAmJgorCWdpdCByZXYtcGFyc2UgJG1+MSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBkZWxldGUgcmVmIGZhaWxzIHdpdGggd3Jvbmcgb2xkIHZhbHVlJyAnCisJcHJpbnRmICRGICJkZWxldGUgJGEiICIkbX4xIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBDYW5ub3QgbG9jayB0aGUgcmVmICciJyInJGEnIiciJyIgZXJyICYmCisJZ2l0IHJldi1wYXJzZSAkbSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiBkZWxldGUgcmVmIGZhaWxzIHdpdGggemVybyBvbGQgdmFsdWUnICcKKwlwcmludGYgJEYgImRlbGV0ZSAkYSIgIiRaIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBkZWxldGUgJGEgZ2l2ZW4gemVybyBvbGQgdmFsdWUiIGVyciAmJgorCWdpdCByZXYtcGFyc2UgJG0gPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgJGEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogdXBkYXRlIHN5bXJlZiB3b3JrcyBvcHRpb24gbm8tZGVyZWYnICcKKwlnaXQgc3ltYm9saWMtcmVmIFRFU1RTWU1SRUYgJGIgJiYKKwlwcmludGYgJEYgIm9wdGlvbiBuby1kZXJlZiIgInVwZGF0ZSBURVNUU1lNUkVGIiAiJGEiICIkYiIgPnN0ZGluICYmCisJZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gJiYKKwlnaXQgcmV2LXBhcnNlIFRFU1RTWU1SRUYgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgJGEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgcmV2LXBhcnNlICRtfjEgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgJGIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZGVsZXRlIHN5bXJlZiB3b3JrcyBvcHRpb24gbm8tZGVyZWYnICcKKwlnaXQgc3ltYm9saWMtcmVmIFRFU1RTWU1SRUYgJGIgJiYKKwlwcmludGYgJEYgIm9wdGlvbiBuby1kZXJlZiIgImRlbGV0ZSBURVNUU1lNUkVGIiAiJGIiID5zdGRpbiAmJgorCWdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtcSBURVNUU1lNUkVGICYmCisJZ2l0IHJldi1wYXJzZSAkbX4xID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlICRiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGRlbGV0ZSByZWYgd29ya3Mgd2l0aCByaWdodCBvbGQgdmFsdWUnICcKKwlwcmludGYgJEYgImRlbGV0ZSAkYiIgIiRtfjEiID5zdGRpbiAmJgorCWdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtcSAkYgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiB1cGRhdGUvY3JlYXRlL3ZlcmlmeSBjb21iaW5hdGlvbiB3b3JrcycgJworCXByaW50ZiAkRiAidXBkYXRlICRhIiAiJG0iICIiICJjcmVhdGUgJGIiICIkbSIgInZlcmlmeSAkYyIgIiIgPnN0ZGluICYmCisJZ2l0IHVwZGF0ZS1yZWYgLXogLS1zdGRpbiA8c3RkaW4gJiYKKwlnaXQgcmV2LXBhcnNlICRtID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlICRhID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IHJldi1wYXJzZSAkYiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLXEgJGMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogdXBkYXRlIHJlZnMgd29ya3Mgd2l0aCBpZGVudGl0eSB1cGRhdGVzJyAnCisJcHJpbnRmICRGICJ1cGRhdGUgJGEiICIkbSIgIiRtIiAidXBkYXRlICRiIiAiJG0iICIkbSIgInVwZGF0ZSAkYyIgIiRaIiAiIiA+c3RkaW4gJiYKKwlnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAmJgorCWdpdCByZXYtcGFyc2UgJG0gPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgJGEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgcmV2LXBhcnNlICRiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtcSAkYworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGRpbiAteiB1cGRhdGUgcmVmcyBmYWlscyB3aXRoIHdyb25nIG9sZCB2YWx1ZScgJworCWdpdCB1cGRhdGUtcmVmICRjICRtICYmCisJcHJpbnRmICRGICJ1cGRhdGUgJGEiICIkbSIgIiRtIiAidXBkYXRlICRiIiAiJG0iICIkbSIgInVwZGF0ZSAkYyIgIiIgIiRaIiA+c3RkaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBDYW5ub3QgbG9jayB0aGUgcmVmICciJyInJGMnIiciJyIgZXJyICYmCisJZ2l0IHJldi1wYXJzZSAkbSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAkYSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCByZXYtcGFyc2UgJGIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgcmV2LXBhcnNlICRjID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIC16IGRlbGV0ZSByZWZzIHdvcmtzIHdpdGggcGFja2VkIGFuZCBsb29zZSByZWZzJyAnCisJZ2l0IHBhY2stcmVmcyAtLWFsbCAmJgorCWdpdCB1cGRhdGUtcmVmICRjICRtfjEgJiYKKwlwcmludGYgJEYgImRlbGV0ZSAkYSIgIiRtIiAidXBkYXRlICRiIiAiJFoiICIkbSIgInVwZGF0ZSAkYyIgIiIgIiRtfjEiID5zdGRpbiAmJgorCWdpdCB1cGRhdGUtcmVmIC16IC0tc3RkaW4gPHN0ZGluICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtcSAkYSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLXEgJGIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xICRjCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MTUwOC1hdC1jb21iaW5hdGlvbnMuc2ggYi90L3QxNTA4LWF0LWNvbWJpbmF0aW9ucy5zaAppbmRleCBlNWFlYTNiLi5jZWI4NDQ5IDEwMDc1NQotLS0gYS90L3QxNTA4LWF0LWNvbWJpbmF0aW9ucy5zaAorKysgYi90L3QxNTA4LWF0LWNvbWJpbmF0aW9ucy5zaApAQCAtMzIsNiArMzIsOSBAQAogCWdpdCBjaGVja291dCAtYiB1cHN0cmVhbS1icmFuY2ggJiYKIAl0ZXN0X2NvbW1pdCB1cHN0cmVhbS1vbmUgJiYKIAl0ZXN0X2NvbW1pdCB1cHN0cmVhbS10d28gJiYKKwlnaXQgY2hlY2tvdXQgLWIgQC9hdC10ZXN0ICYmCisJZ2l0IGNoZWNrb3V0IC1iIEBAL2F0LXRlc3QgJiYKKwlnaXQgY2hlY2tvdXQgLWIgQGF0LXRlc3QgJiYKIAlnaXQgY2hlY2tvdXQgLWIgb2xkLWJyYW5jaCAmJgogCXRlc3RfY29tbWl0IG9sZC1vbmUgJiYKIAl0ZXN0X2NvbW1pdCBvbGQtdHdvICYmCkBAIC01NSw2ICs1OCwxMSBAQAogY2hlY2sgIkB7dX1AezF9IiBjb21taXQgdXBzdHJlYW0tb25lCiBjaGVjayAiQHstMX1Ae3V9IiByZWYgcmVmcy9oZWFkcy9tYXN0ZXIKIGNoZWNrICJAey0xfUB7dX1AezF9IiBjb21taXQgbWFzdGVyLW9uZQorY2hlY2sgIkAiIGNvbW1pdCBuZXctdHdvCitjaGVjayAiQEB7dX0iIHJlZiByZWZzL2hlYWRzL3Vwc3RyZWFtLWJyYW5jaAorY2hlY2sgIkBAL2F0LXRlc3QiIHJlZiByZWZzL2hlYWRzL0BAL2F0LXRlc3QKK2NoZWNrICJAL2F0LXRlc3QiIHJlZiByZWZzL2hlYWRzL0AvYXQtdGVzdAorY2hlY2sgIkBhdC10ZXN0IiByZWYgcmVmcy9oZWFkcy9AYXQtdGVzdAogbm9uc2Vuc2UgIkB7dX1Aey0xfSIKIG5vbnNlbnNlICJAezB9QHswfSIKIG5vbnNlbnNlICJAezF9QHt1fSIKZGlmZiAtLWdpdCBhL3QvdDE1MTEtcmV2LXBhcnNlLWNhcmV0LnNoIGIvdC90MTUxMS1yZXYtcGFyc2UtY2FyZXQuc2gKaW5kZXggZWFlZmM3Ny4uMTU5NzNmMiAxMDA3NTUKLS0tIGEvdC90MTUxMS1yZXYtcGFyc2UtY2FyZXQuc2gKKysrIGIvdC90MTUxMS1yZXYtcGFyc2UtY2FyZXQuc2gKQEAgLTU0LDYgKzU0LDEzIEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBibG9iLXRhZ157dHJlZX0KICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVmXnt0YWd9JyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBIRUFEXnt0YWd9ICYmCisJZ2l0IHJldi1wYXJzZSBjb21taXQtdGFnID5leHBlY3RlZCAmJgorCWdpdCByZXYtcGFyc2UgY29tbWl0LXRhZ157dGFnfSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlZl57Ly59JyAnCiAJZ2l0IHJldi1wYXJzZSBtYXN0ZXIgPmV4cGVjdGVkICYmCiAJZ2l0IHJldi1wYXJzZSBtYXN0ZXJeey8ufSA+YWN0dWFsICYmCmRpZmYgLS1naXQgYS90L3QyMDA4LWNoZWNrb3V0LXN1YmRpci5zaCBiL3QvdDIwMDgtY2hlY2tvdXQtc3ViZGlyLnNoCmluZGV4IDNlMDk4YWIuLmVhZGI5NDMgMTAwNzU1Ci0tLSBhL3QvdDIwMDgtY2hlY2tvdXQtc3ViZGlyLnNoCisrKyBiL3QvdDIwMDgtY2hlY2tvdXQtc3ViZGlyLnNoCkBAIC01OCwxMyArNTgsMTMgQEAKIAogJwogCi0jIFRoaXMgaXMgbm90IGV4cGVjdGVkIHRvIHdvcmsgYXMgbHMtZmlsZXMgd2FzIG5vdCBkZXNpZ25lZAotIyB0byBkZWFsIHdpdGggc3VjaC4gIEVuYWJsZSBpdCB3aGVuIGxzLWZpbGVzIGlzIHVwZGF0ZWQuCi06IHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IHdpdGggY29tcGxleCByZWxhdGl2ZSBwYXRoJyAnCi0KLQlybSBmaWxlMSAmJgotCWdpdCBjaGVja291dCBIRUFEIC0tIC4uL2RpcjEvLi4vZGlyMS9maWxlMSAmJiB0ZXN0IC1mIC4vZmlsZTEKLQordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tvdXQgd2l0aCBjb21wbGV4IHJlbGF0aXZlIHBhdGgnICcKKwkoCisJCWNkIGRpcjEgJiYKKwkJcm0gZmlsZTEgJiYKKwkJZ2l0IGNoZWNrb3V0IEhFQUQgLS0gLi4vZGlyMS8uLi9kaXIxL2ZpbGUxICYmCisJCXRlc3QgImhlbGxvIiA9ICIkKGNhdCBmaWxlMSkiCisJKQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWxhdGl2ZSBwYXRoIG91dHNpZGUgdHJlZSBzaG91bGQgZmFpbCcgXApkaWZmIC0tZ2l0IGEvdC90MzAwMS1scy1maWxlcy1vdGhlcnMtZXhjbHVkZS5zaCBiL3QvdDMwMDEtbHMtZmlsZXMtb3RoZXJzLWV4Y2x1ZGUuc2gKaW5kZXggZjA0MjFjMC4uYjI3OThmZSAxMDA3NTUKLS0tIGEvdC90MzAwMS1scy1maWxlcy1vdGhlcnMtZXhjbHVkZS5zaAorKysgYi90L3QzMDAxLWxzLWZpbGVzLW90aGVycy1leGNsdWRlLnNoCkBAIC0xMTUsNyArMTE1LDcgQEAKIAogZ2l0IGNvbmZpZyBjb3JlLmV4Y2x1ZGVzRmlsZSBleGNsdWRlcy1maWxlCiAKLWdpdCBzdGF0dXMgfCBncmVwICJeIwkiID4gb3V0cHV0CitnaXQgLWMgc3RhdHVzLmRpc3BsYXlDb21tZW50UHJlZml4PXRydWUgc3RhdHVzIHwgZ3JlcCAiXiMJIiA+IG91dHB1dAogCiBjYXQgPiBleHBlY3QgPDwgRU9GCiAjCS5naXRpZ25vcmUKZGlmZiAtLWdpdCBhL3QvdDMyMDAtYnJhbmNoLnNoIGIvdC90MzIwMC1icmFuY2guc2gKaW5kZXggNTVjOWFiMC4uZmNkYjg2NyAxMDA3NTUKLS0tIGEvdC90MzIwMC1icmFuY2guc2gKKysrIGIvdC90MzIwMC1icmFuY2guc2gKQEAgLTE0LDEwICsxNCwxMSBAQAogCWVjaG8gV29ybGQgPj5BICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCBBICYmCiAJZ2l0IGNvbW1pdCAtbSAiU2Vjb25kIGNvbW1pdC4iICYmCi0JSEVBRD0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCknCisJSEVBRD0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCkKKycKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCAtLWhlbHAgc2hvdWxkIG5vdCBoYXZlIGNyZWF0ZWQgYSBib2d1cyBicmFuY2gnICcKLQl0ZXN0X21pZ2h0X2ZhaWwgZ2l0IGJyYW5jaCAtLWhlbHAgPC9kZXYvbnVsbCA+L2Rldi9udWxsIDI+L2Rldi9udWxsICYmCisJdGVzdF9taWdodF9mYWlsIGdpdCBicmFuY2ggLS1tYW4gLS1oZWxwIDwvZGV2L251bGwgPi9kZXYvbnVsbCAyPiYxICYmCiAJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9yZWZzL2hlYWRzLy0taGVscAogJwogCkBAIC0zNTEsNyArMzUyLDcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vIHRyYWNraW5nIHdpdGhvdXQgLmZldGNoIGVudHJpZXMnICcKIAlnaXQgY29uZmlnIGJyYW5jaC5hdXRvc2V0dXBtZXJnZSB0cnVlICYmCiAJZ2l0IGJyYW5jaCBteTYgcyAmJgotCWdpdCBjb25maWcgYnJhbmNoLmF1dG9tc2V0dXBtZXJnZSBmYWxzZSAmJgorCWdpdCBjb25maWcgYnJhbmNoLmF1dG9zZXR1cG1lcmdlIGZhbHNlICYmCiAJdGVzdCAteiAiJChnaXQgY29uZmlnIGJyYW5jaC5teTYucmVtb3RlKSIgJiYKIAl0ZXN0IC16ICIkKGdpdCBjb25maWcgYnJhbmNoLm15Ni5tZXJnZSkiCiAnCkBAIC00MjUsMTQgKzQyNiwxNCBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndXNlIC0tc2V0LXVwc3RyZWFtLXRvIG1vZGlmeSBIRUFEJyAnCiAJdGVzdF9jb25maWcgYnJhbmNoLm1hc3Rlci5yZW1vdGUgZm9vICYmCiAJdGVzdF9jb25maWcgYnJhbmNoLm1hc3Rlci5tZXJnZSBmb28gJiYKLQlnaXQgYnJhbmNoIG15MTIKKwlnaXQgYnJhbmNoIG15MTIgJiYKIAlnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIG15MTIgJiYKIAl0ZXN0ICIkKGdpdCBjb25maWcgYnJhbmNoLm1hc3Rlci5yZW1vdGUpIiA9ICIuIiAmJgogCXRlc3QgIiQoZ2l0IGNvbmZpZyBicmFuY2gubWFzdGVyLm1lcmdlKSIgPSAicmVmcy9oZWFkcy9teTEyIgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd1c2UgLS1zZXQtdXBzdHJlYW0tdG8gbW9kaWZ5IGEgcGFydGljdWxhciBicmFuY2gnICcKLQlnaXQgYnJhbmNoIG15MTMKKwlnaXQgYnJhbmNoIG15MTMgJiYKIAlnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIG1hc3RlciBteTEzICYmCiAJdGVzdCAiJChnaXQgY29uZmlnIGJyYW5jaC5teTEzLnJlbW90ZSkiID0gIi4iICYmCiAJdGVzdCAiJChnaXQgY29uZmlnIGJyYW5jaC5teTEzLm1lcmdlKSIgPSAicmVmcy9oZWFkcy9tYXN0ZXIiCkBAIC00NDMsNyArNDQ0LDcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCAtLXVuc2V0LXVwc3RyZWFtIG9uIEhFQUQnICcKLQlnaXQgYnJhbmNoIG15MTQKKwlnaXQgYnJhbmNoIG15MTQgJiYKIAl0ZXN0X2NvbmZpZyBicmFuY2gubWFzdGVyLnJlbW90ZSBmb28gJiYKIAl0ZXN0X2NvbmZpZyBicmFuY2gubWFzdGVyLm1lcmdlIGZvbyAmJgogCWdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gbXkxNCAmJgpAQCAtNDY1LDcgKzQ2Niw3IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Rlc3QgLS11bnNldC11cHN0cmVhbSBvbiBhIHBhcnRpY3VsYXIgYnJhbmNoJyAnCi0JZ2l0IGJyYW5jaCBteTE1CisJZ2l0IGJyYW5jaCBteTE1ICYmCiAJZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byBtYXN0ZXIgbXkxNCAmJgogCWdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbSBteTE0ICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyBicmFuY2gubXkxNC5yZW1vdGUgJiYKZGlmZiAtLWdpdCBhL3QvdDMzMDAtZnVubnktbmFtZXMuc2ggYi90L3QzMzAwLWZ1bm55LW5hbWVzLnNoCmluZGV4IDc0ODBkNmUuLjlhMTQ2ZjEgMTAwNzU1Ci0tLSBhL3QvdDMzMDAtZnVubnktbmFtZXMuc2gKKysrIGIvdC90MzMwMC1mdW5ueS1uYW1lcy5zaApAQCAtNjksNyArNjksNyBAQAogCXRhYnMJLCIgKGRxKSBhbmQgc3BhY2VzCiAJRU9GCiAJZ2l0IGxzLWZpbGVzIC16ID5scy1maWxlcy56ICYmCi0JIiRQRVJMX1BBVEgiIC1wZSAieS9cMDAwL1wwMTIvIiA8bHMtZmlsZXMueiA+Y3VycmVudCAmJgorCXBlcmwgLXBlICJ5L1wwMDAvXDAxMi8iIDxscy1maWxlcy56ID5jdXJyZW50ICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgY3VycmVudAogJwogCkBAIC0xMDYsNyArMTA2LDcgQEAKIAl0YWJzCSwiIChkcSkgYW5kIHNwYWNlcwogCUVPRgogCWdpdCBkaWZmLWluZGV4IC16IC0tbmFtZS1zdGF0dXMgJHQwID5kaWZmLWluZGV4LnogJiYKLQkiJFBFUkxfUEFUSCIgLXBlICJ5L1wwMDAvXDAxMi8iIDxkaWZmLWluZGV4LnogPmN1cnJlbnQgJiYKKwlwZXJsIC1wZSAieS9cMDAwL1wwMTIvIiA8ZGlmZi1pbmRleC56ID5jdXJyZW50ICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgY3VycmVudAogJwogCkBAIC0xMTYsNyArMTE2LDcgQEAKIAl0YWJzCSwiIChkcSkgYW5kIHNwYWNlcwogCUVPRgogCWdpdCBkaWZmLXRyZWUgLXogLS1uYW1lLXN0YXR1cyAkdDAgJHQxID5kaWZmLXRyZWUueiAmJgotCSIkUEVSTF9QQVRIIiAtcGUgeS9cXDAwMC9cXDAxMi8gPGRpZmYtdHJlZS56ID5jdXJyZW50ICYmCisJcGVybCAtcGUgeS9cXDAwMC9cXDAxMi8gPGRpZmYtdHJlZS56ID5jdXJyZW50ICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgY3VycmVudAogJwogCmRpZmYgLS1naXQgYS90L3QzNTAxLXJldmVydC1jaGVycnktcGljay5zaCBiL3QvdDM1MDEtcmV2ZXJ0LWNoZXJyeS1waWNrLnNoCmluZGV4IDZmNDg5ZTIuLjUxZjNiYmIgMTAwNzU1Ci0tLSBhL3QvdDM1MDEtcmV2ZXJ0LWNoZXJyeS1waWNrLnNoCisrKyBiL3QvdDM1MDEtcmV2ZXJ0LWNoZXJyeS1waWNrLnNoCkBAIC0xMDAsNyArMTAwLDcgQEAKIAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVyeS1waWNrIG9uIHVuYm9ybiBicmFuY2gnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeS1waWNrIG9uIHVuYm9ybiBicmFuY2gnICcKIAlnaXQgY2hlY2tvdXQgLS1vcnBoYW4gdW5ib3JuICYmCiAJZ2l0IHJtIC0tY2FjaGVkIC1yIC4gJiYKIAlybSAtcmYgKiAmJgpAQCAtMTA5LDQgKzEwOSwzNiBAQAogCSEgdGVzdF9jbXBfcmV2IGluaXRpYWwgSEVBRAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVycnktcGljayAiLSIgdG8gcGljayBmcm9tIHByZXZpb3VzIGJyYW5jaCcgJworCWdpdCBjaGVja291dCB1bmJvcm4gJiYKKwl0ZXN0X2NvbW1pdCB0by1waWNrIGFjdHVhbCBjb250ZW50ICYmCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCWdpdCBjaGVycnktcGljayAtICYmCisJZWNobyBjb250ZW50ID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeS1waWNrICItIiBpcyBtZWFuaW5nbGVzcyB3aXRob3V0IGNoZWNrb3V0JyAnCisJdGVzdF9jcmVhdGVfcmVwbyBhZnJlc2ggJiYKKwkoCisJCWNkIGFmcmVzaCAmJgorCQl0ZXN0X2NvbW1pdCBvbmUgJiYKKwkJdGVzdF9jb21taXQgdHdvICYmCisJCXRlc3RfY29tbWl0IHRocmVlICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayAtCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVycnktcGljayAiLSIgd29ya3Mgd2l0aCBhcmd1bWVudHMnICcKKwlnaXQgY2hlY2tvdXQgLWIgc2lkZS1icmFuY2ggJiYKKwl0ZXN0X2NvbW1pdCBjaGFuZ2UgYWN0dWFsIGNoYW5nZSAmJgorCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwlnaXQgY2hlcnJ5LXBpY2sgLXMgLSAmJgorCWVjaG8gIlNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4iID5leHBlY3QgJiYKKwlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBncmVwIF5TaWduZWQtb2ZmLWJ5OiA+c2lnbm9mZiAmJgorCXRlc3RfY21wIGV4cGVjdCBzaWdub2ZmICYmCisJZWNobyBjaGFuZ2UgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzNTA2LWNoZXJyeS1waWNrLWZmLnNoIGIvdC90MzUwNi1jaGVycnktcGljay1mZi5zaAppbmRleCAzNzNhYWQ2Li5mYjg4OWFjIDEwMDc1NQotLS0gYS90L3QzNTA2LWNoZXJyeS1waWNrLWZmLnNoCisrKyBiL3QvdDM1MDYtY2hlcnJ5LXBpY2stZmYuc2gKQEAgLTEwNSw3ICsxMDUsNyBAQAogCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKSIgPSAiMWRmMTkyY2Q4YmM1OGEyYjI3NWQ4NDJjZWRlNGQyMjFhZDkwMDBkMSIKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlcnktcGljayAtLWZmIG9uIHVuYm9ybiBicmFuY2gnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeS1waWNrIC0tZmYgb24gdW5ib3JuIGJyYW5jaCcgJwogCWdpdCBjaGVja291dCAtLW9ycGhhbiB1bmJvcm4gJiYKIAlnaXQgcm0gLS1jYWNoZWQgLXIgLiAmJgogCXJtIC1yZiAqICYmCmRpZmYgLS1naXQgYS90L3QzNTA5LWNoZXJyeS1waWNrLW1lcmdlLWRmLnNoIGIvdC90MzUwOS1jaGVycnktcGljay1tZXJnZS1kZi5zaAppbmRleCBhNWI2YTVmLi4xZTViMzk0IDEwMDc1NQotLS0gYS90L3QzNTA5LWNoZXJyeS1waWNrLW1lcmdlLWRmLnNoCisrKyBiL3QvdDM1MDktY2hlcnJ5LXBpY2stbWVyZ2UtZGYuc2gKQEAgLTc0LDcgKzc0LDcgQEAKIAllY2hvIGNvbnRlbnQgPiBzdWIvZmlsZSAmJgogCWVjaG8gZm9vID4gb3RoZXJzdWIvd2hhdGV2ZXIgJiYKIAlnaXQgYWRkIC1BICYmCi0JZ2l0IGNvbW1pdCAtbSAiQ29tbW9uIGNvbW1taXQiICYmCisJZ2l0IGNvbW1pdCAtbSAiQ29tbW9uIGNvbW1pdCIgJiYKIAogCWdpdCBybSAtcmYgb3RoZXJzdWIgJiYKIAlnaXQgbXYgc3ViL2ZpbGUgb3RoZXJzdWIgJiYKZGlmZiAtLWdpdCBhL3QvdDM2MDAtcm0uc2ggYi90L3QzNjAwLXJtLnNoCmluZGV4IDVjODdiNTUuLjU0MGM0OWIgMTAwNzU1Ci0tLSBhL3QvdDM2MDAtcm0uc2gKKysrIGIvdC90MzYwMC1ybS5zaApAQCAtMjQwLDE4ICsyNDAsMTUgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hva2luZyAiZ2l0IHJtIiBzaG91bGQgbm90IGxldCBpdCBkaWUgd2l0aCBjcnVmdCcgJwogCWdpdCByZXNldCAtcSAtLWhhcmQgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXQvaW5kZXgubG9jayAmJiBnaXQgcmVzZXQgLXEgLS1oYXJkIiAmJgogCWk9MCAmJgogCXdoaWxlIHRlc3QgJGkgLWx0IDEyMDAwCiAJZG8KLQkgICAgZWNobyAiMTAwNjQ0ICRfejQwIDAJc29tZS1maWxlLSRpIgorCSAgICBlY2hvICIxMDA2NDQgMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCAwCXNvbWUtZmlsZS0kaSIKIAkgICAgaT0kKCggJGkgKyAxICkpCiAJZG9uZSB8IGdpdCB1cGRhdGUtaW5kZXggLS1pbmRleC1pbmZvICYmCi0JZ2l0IHJtIC1uICJzb21lLWZpbGUtKiIgfCA6OwotCXRlc3QgLWYgLmdpdC9pbmRleC5sb2NrCi0Jc3RhdHVzPSQ/Ci0Jcm0gLWYgLmdpdC9pbmRleC5sb2NrCi0JZ2l0IHJlc2V0IC1xIC0taGFyZAotCXRlc3QgIiRzdGF0dXMiICE9IDAKKwlnaXQgcm0gLW4gInNvbWUtZmlsZS0qIiB8IDogJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyAuZ2l0L2luZGV4LmxvY2sKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncm0gcmVtb3ZlcyBzdWJkaXJlY3RvcmllcyByZWN1cnNpdmVseScgJwpAQCAtMjYzLDYgKzI2MCw3IEBACiAnCiAKIGNhdCA+ZXhwZWN0IDw8RU9GCitNICAuZ2l0bW9kdWxlcwogRCAgc3VibW9kCiBFT0YKIApAQCAtMjcwLDYgKzI2OCwxNSBAQAogIE0gc3VibW9kCiBFT0YKIAorY2F0ID5leHBlY3QuY2FjaGVkIDw8RU9GCitEICBzdWJtb2QKK0VPRgorCitjYXQgPmV4cGVjdC5ib3RoX2RlbGV0ZWQ8PEVPRgorRCAgLmdpdG1vZHVsZXMKK0QgIHN1Ym1vZAorRU9GCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JtIHJlbW92ZXMgZW1wdHkgc3VibW9kdWxlcyBmcm9tIHdvcmsgdHJlZScgJwogCW1rZGlyIHN1Ym1vZCAmJgogCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgLS1jYWNoZWluZm8gMTYwMDAwICQoZ2l0IHJldi1wYXJzZSBIRUFEKSBzdWJtb2QgJiYKQEAgLTI4MSwxNiArMjg4LDIwIEBACiAJZ2l0IHJtIHN1Ym1vZCAmJgogCXRlc3QgISAtZSBzdWJtb2QgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID4gYWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIudXJsICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc3ViLnBhdGgKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAncm0gcmVtb3ZlcyByZW1vdmVkIHN1Ym1vZHVsZSBmcm9tIGluZGV4JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdybSByZW1vdmVzIHJlbW92ZWQgc3VibW9kdWxlIGZyb20gaW5kZXggYW5kIC5naXRtb2R1bGVzJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWdpdCBzdWJtb2R1bGUgdXBkYXRlICYmCiAJcm0gLXJmIHN1Ym1vZCAmJgogCWdpdCBybSBzdWJtb2QgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID4gYWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIudXJsICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc3ViLnBhdGgKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncm0gcmVtb3ZlcyB3b3JrIHRyZWUgb2YgdW5tb2RpZmllZCBzdWJtb2R1bGVzJyAnCkBAIC0yOTksNyArMzEwLDkgQEAKIAlnaXQgcm0gc3VibW9kICYmCiAJdGVzdCAhIC1kIHN1Ym1vZCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPiBhY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnN1Yi51cmwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIucGF0aAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdybSByZW1vdmVzIGEgc3VibW9kdWxlIHdpdGggYSB0cmFpbGluZyAvJyAnCkBAIC0zMzMsNiArMzQ2LDcyIEBACiAJZ2l0IHJtIC1mIHN1Ym1vZCAmJgogCXRlc3QgISAtZCBzdWJtb2QgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID4gYWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnN1Yi51cmwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIucGF0aAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdybSAtLWNhY2hlZCBsZWF2ZXMgd29yayB0cmVlIG9mIHBvcHVsYXRlZCBzdWJtb2R1bGVzIGFuZCAuZ2l0bW9kdWxlcyBhbG9uZScgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwlnaXQgc3VibW9kdWxlIHVwZGF0ZSAmJgorCWdpdCBybSAtLWNhY2hlZCBzdWJtb2QgJiYKKwl0ZXN0IC1kIHN1Ym1vZCAmJgorCXRlc3QgLWYgc3VibW9kLy5naXQgJiYKKwlnaXQgc3RhdHVzIC1zIC11bm8gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdC5jYWNoZWQgYWN0dWFsICYmCisJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc3ViLnVybCAmJgorCWdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnN1Yi5wYXRoCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JtIC0tZHJ5LXJ1biBkb2VzIG5vdCB0b3VjaCB0aGUgc3VibW9kdWxlIG9yIC5naXRtb2R1bGVzJyAnCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWdpdCBzdWJtb2R1bGUgdXBkYXRlICYmCisJZ2l0IHJtIC1uIHN1Ym1vZCAmJgorCXRlc3QgLWYgc3VibW9kLy5naXQgJiYKKwlnaXQgZGlmZi1pbmRleCAtLWV4aXQtY29kZSBIRUFECisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JtIGRvZXMgbm90IGNvbXBsYWluIHdoZW4gbm8gLmdpdG1vZHVsZXMgZmlsZSBpcyBmb3VuZCcgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwlnaXQgc3VibW9kdWxlIHVwZGF0ZSAmJgorCWdpdCBybSAuZ2l0bW9kdWxlcyAmJgorCWdpdCBybSBzdWJtb2QgPmFjdHVhbCAyPmFjdHVhbC5lcnIgJiYKKwkhIHRlc3QgLXMgYWN0dWFsLmVyciAmJgorCSEgdGVzdCAtZCBzdWJtb2QgJiYKKwkhIHRlc3QgLWYgc3VibW9kLy5naXQgJiYKKwlnaXQgc3RhdHVzIC1zIC11bm8gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdC5ib3RoX2RlbGV0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JtIHdpbGwgZXJyb3Igb3V0IG9uIGEgbW9kaWZpZWQgLmdpdG1vZHVsZXMgZmlsZSB1bmxlc3Mgc3RhZ2VkJyAnCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWdpdCBzdWJtb2R1bGUgdXBkYXRlICYmCisJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBmb28uYmFyIHRydWUgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcm0gc3VibW9kID5hY3R1YWwgMj5hY3R1YWwuZXJyICYmCisJdGVzdCAtcyBhY3R1YWwuZXJyICYmCisJdGVzdCAtZCBzdWJtb2QgJiYKKwl0ZXN0IC1mIHN1Ym1vZC8uZ2l0ICYmCisJZ2l0IGRpZmYtZmlsZXMgLS1xdWlldCAtLSBzdWJtb2QgJiYKKwlnaXQgYWRkIC5naXRtb2R1bGVzICYmCisJZ2l0IHJtIHN1Ym1vZCA+YWN0dWFsIDI+YWN0dWFsLmVyciAmJgorCSEgdGVzdCAtcyBhY3R1YWwuZXJyICYmCisJISB0ZXN0IC1kIHN1Ym1vZCAmJgorCSEgdGVzdCAtZiBzdWJtb2QvLmdpdCAmJgorCWdpdCBzdGF0dXMgLXMgLXVubyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdybSBpc3N1ZXMgYSB3YXJuaW5nIHdoZW4gc2VjdGlvbiBpcyBub3QgZm91bmQgaW4gLmdpdG1vZHVsZXMnICcKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgJiYKKwlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIC0tcmVtb3ZlLXNlY3Rpb24gc3VibW9kdWxlLnN1YiAmJgorCWdpdCBhZGQgLmdpdG1vZHVsZXMgJiYKKwllY2hvICJ3YXJuaW5nOiBDb3VsZCBub3QgZmluZCBzZWN0aW9uIGluIC5naXRtb2R1bGVzIHdoZXJlIHBhdGg9c3VibW9kIiA+ZXhwZWN0LmVyciAmJgorCWdpdCBybSBzdWJtb2QgPmFjdHVhbCAyPmFjdHVhbC5lcnIgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0LmVyciBhY3R1YWwuZXJyICYmCisJISB0ZXN0IC1kIHN1Ym1vZCAmJgorCSEgdGVzdCAtZiBzdWJtb2QvLmdpdCAmJgorCWdpdCBzdGF0dXMgLXMgLXVubyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCkBAIC00MjcsNyArNTA2LDkgQEAKIAlnaXQgcm0gLWYgc3VibW9kICYmCiAJdGVzdCAhIC1kIHN1Ym1vZCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPiBhY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnN1Yi51cmwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIucGF0aAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdybSBvZiBhIGNvbmZsaWN0ZWQgcG9wdWxhdGVkIHN1Ym1vZHVsZSB3aXRoIG1vZGlmaWNhdGlvbnMgZmFpbHMgdW5sZXNzIGZvcmNlZCcgJwpAQCAtNDQ2LDcgKzUyNyw5IEBACiAJZ2l0IHJtIC1mIHN1Ym1vZCAmJgogCXRlc3QgISAtZCBzdWJtb2QgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID4gYWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIudXJsICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc3ViLnBhdGgKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncm0gb2YgYSBjb25mbGljdGVkIHBvcHVsYXRlZCBzdWJtb2R1bGUgd2l0aCB1bnRyYWNrZWQgZmlsZXMgZmFpbHMgdW5sZXNzIGZvcmNlZCcgJwpkaWZmIC0tZ2l0IGEvdC90MzcwMS1hZGQtaW50ZXJhY3RpdmUuc2ggYi90L3QzNzAxLWFkZC1pbnRlcmFjdGl2ZS5zaAppbmRleCA5ZmFiMjVjLi45ZGM5MWQwIDEwMDc1NQotLS0gYS90L3QzNzAxLWFkZC1pbnRlcmFjdGl2ZS5zaAorKysgYi90L3QzNzAxLWFkZC1pbnRlcmFjdGl2ZS5zaApAQCAtNCwxOCArNCwyNCBAQAogLiAuL3Rlc3QtbGliLnNoCiAuICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1wcmVyZXEtRklMRU1PREUuc2gKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdzZXR1cCAoaW5pdGlhbCknICcKK2lmICEgdGVzdF9oYXZlX3ByZXJlcSBQRVJMCit0aGVuCisJc2tpcF9hbGw9J3NraXBwaW5nIGFkZCAtaSB0ZXN0cywgcGVybCBub3QgYXZhaWxhYmxlJworCXRlc3RfZG9uZQorZmkKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgKGluaXRpYWwpJyAnCiAJZWNobyBjb250ZW50ID5maWxlICYmCiAJZ2l0IGFkZCBmaWxlICYmCiAJZWNobyBtb3JlID4+ZmlsZSAmJgogCWVjaG8gbGluZXMgPj5maWxlCiAnCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3N0YXR1cyB3b3JrcyAoaW5pdGlhbCknICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyB3b3JrcyAoaW5pdGlhbCknICcKIAlnaXQgYWRkIC1pIDwvZGV2L251bGwgPm91dHB1dCAmJgogCWdyZXAgIisxLy0wICorMi8tMCBmaWxlIiBvdXRwdXQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdzZXR1cCBleHBlY3RlZCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZXhwZWN0ZWQnICcKIGNhdCA+ZXhwZWN0ZWQgPDxFT0YKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiBpbmRleCAwMDAwMDAwLi5kOTVmM2FkCkBAIC0yNiwxOSArMzIsMTkgQEAKIEVPRgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ2RpZmYgd29ya3MgKGluaXRpYWwpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmIHdvcmtzIChpbml0aWFsKScgJwogCShlY2hvIGQ7IGVjaG8gMSkgfCBnaXQgYWRkIC1pID5vdXRwdXQgJiYKIAlzZWQgLW5lICIvbmV3IGZpbGUvLC9jb250ZW50L3AiIDxvdXRwdXQgPmRpZmYgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBkaWZmCiAnCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3JldmVydCB3b3JrcyAoaW5pdGlhbCknICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JldmVydCB3b3JrcyAoaW5pdGlhbCknICcKIAlnaXQgYWRkIGZpbGUgJiYKIAkoZWNobyByOyBlY2hvIDEpIHwgZ2l0IGFkZCAtaSAmJgogCWdpdCBscy1maWxlcyA+b3V0cHV0ICYmCiAJISBncmVwIC4gb3V0cHV0CiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnc2V0dXAgKGNvbW1pdCknICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIChjb21taXQpJyAnCiAJZWNobyBiYXNlbGluZSA+ZmlsZSAmJgogCWdpdCBhZGQgZmlsZSAmJgogCWdpdCBjb21taXQgLW0gY29tbWl0ICYmCkBAIC00NywxMiArNTMsMTIgQEAKIAllY2hvIG1vcmUgPj5maWxlICYmCiAJZWNobyBsaW5lcyA+PmZpbGUKICcKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnc3RhdHVzIHdvcmtzIChjb21taXQpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgd29ya3MgKGNvbW1pdCknICcKIAlnaXQgYWRkIC1pIDwvZGV2L251bGwgPm91dHB1dCAmJgogCWdyZXAgIisxLy0wICorMi8tMCBmaWxlIiBvdXRwdXQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdzZXR1cCBleHBlY3RlZCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZXhwZWN0ZWQnICcKIGNhdCA+ZXhwZWN0ZWQgPDxFT0YKIGluZGV4IDE4MGI0N2MuLmI2ZjJjMDggMTAwNjQ0CiAtLS0gYS9maWxlCkBAIC02MywxMiArNjksMTIgQEAKIEVPRgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ2RpZmYgd29ya3MgKGNvbW1pdCknICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYgd29ya3MgKGNvbW1pdCknICcKIAkoZWNobyBkOyBlY2hvIDEpIHwgZ2l0IGFkZCAtaSA+b3V0cHV0ICYmCiAJc2VkIC1uZSAiL15pbmRleC8sL2NvbnRlbnQvcCIgPG91dHB1dCA+ZGlmZiAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGRpZmYKICcKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAncmV2ZXJ0IHdvcmtzIChjb21taXQpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXZlcnQgd29ya3MgKGNvbW1pdCknICcKIAlnaXQgYWRkIGZpbGUgJiYKIAkoZWNobyByOyBlY2hvIDEpIHwgZ2l0IGFkZCAtaSAmJgogCWdpdCBhZGQgLWkgPC9kZXYvbnVsbCA+b3V0cHV0ICYmCkBAIC03NiwyNCArODIsMjQgQEAKICcKIAogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3NldHVwIGV4cGVjdGVkJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBleHBlY3RlZCcgJwogY2F0ID5leHBlY3RlZCA8PEVPRgogRU9GCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnc2V0dXAgZmFrZSBlZGl0b3InICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGZha2UgZWRpdG9yJyAnCiAJPmZha2VfZWRpdG9yLnNoICYmCiAJY2htb2QgYSt4IGZha2VfZWRpdG9yLnNoICYmCiAJdGVzdF9zZXRfZWRpdG9yICIkKHB3ZCkvZmFrZV9lZGl0b3Iuc2giCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnZHVtbXkgZWRpdCB3b3JrcycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZHVtbXkgZWRpdCB3b3JrcycgJwogCShlY2hvIGU7IGVjaG8gYSkgfCBnaXQgYWRkIC1wICYmCiAJZ2l0IGRpZmYgPiBkaWZmICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgZGlmZgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3NldHVwIHBhdGNoJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBwYXRjaCcgJwogY2F0ID5wYXRjaCA8PEVPRgogQEAgLTEsMSArMSw0IEBACiAgdGhpcwpAQCAtMTAzLDcgKzEwOSw3IEBACiBFT0YKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdzZXR1cCBmYWtlIGVkaXRvcicgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZmFrZSBlZGl0b3InICcKIAllY2hvICIjISRTSEVMTF9QQVRIIiA+ZmFrZV9lZGl0b3Iuc2ggJiYKIAljYXQgPj5mYWtlX2VkaXRvci5zaCA8PFxFT0YgJiYKIG12IC1mICIkMSIgb2xkcGF0Y2ggJiYKQEAgLTExMywyNiArMTE5LDI2IEBACiAJdGVzdF9zZXRfZWRpdG9yICIkKHB3ZCkvZmFrZV9lZGl0b3Iuc2giCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnYmFkIGVkaXQgcmVqZWN0ZWQnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JhZCBlZGl0IHJlamVjdGVkJyAnCiAJZ2l0IHJlc2V0ICYmCiAJKGVjaG8gZTsgZWNobyBuOyBlY2hvIGQpIHwgZ2l0IGFkZCAtcCA+b3V0cHV0ICYmCiAJZ3JlcCAiaHVuayBkb2VzIG5vdCBhcHBseSIgb3V0cHV0CiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnc2V0dXAgcGF0Y2gnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHBhdGNoJyAnCiBjYXQgPnBhdGNoIDw8RU9GCiB0aGlzIHBhdGNoCiBpcyBnYXJiYWdlCiBFT0YKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdnYXJiYWdlIGVkaXQgcmVqZWN0ZWQnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dhcmJhZ2UgZWRpdCByZWplY3RlZCcgJwogCWdpdCByZXNldCAmJgogCShlY2hvIGU7IGVjaG8gbjsgZWNobyBkKSB8IGdpdCBhZGQgLXAgPm91dHB1dCAmJgogCWdyZXAgImh1bmsgZG9lcyBub3QgYXBwbHkiIG91dHB1dAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3NldHVwIHBhdGNoJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBwYXRjaCcgJwogY2F0ID5wYXRjaCA8PEVPRgogQEAgLTEsMCArMSwwIEBACiAgYmFzZWxpbmUKQEAgLTE0Miw3ICsxNDgsNyBAQAogRU9GCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnc2V0dXAgZXhwZWN0ZWQnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGV4cGVjdGVkJyAnCiBjYXQgPmV4cGVjdGVkIDw8RU9GCiBkaWZmIC0tZ2l0IGEvZmlsZSBiL2ZpbGUKIGluZGV4IGI1ZGQ2YzkuLmY5MTBhZTkgMTAwNjQ0CkBAIC0xNTcsMTMgKzE2MywxMyBAQAogRU9GCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAncmVhbCBlZGl0IHdvcmtzJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWFsIGVkaXQgd29ya3MnICcKIAkoZWNobyBlOyBlY2hvIG47IGVjaG8gZCkgfCBnaXQgYWRkIC1wICYmCiAJZ2l0IGRpZmYgPm91dHB1dCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIG91dHB1dAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3NraXAgZmlsZXMgc2ltaWxhcmx5IGFzIGNvbW1pdCAtYScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2tpcCBmaWxlcyBzaW1pbGFybHkgYXMgY29tbWl0IC1hJyAnCiAJZ2l0IHJlc2V0ICYmCiAJZWNobyBmaWxlID4uZ2l0aWdub3JlICYmCiAJZWNobyBjaGFuZ2VkID5maWxlICYmCkBAIC0xNzcsNyArMTgzLDcgQEAKICcKIHJtIC1mIC5naXRpZ25vcmUKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMLEZJTEVNT0RFICdwYXRjaCBkb2VzIG5vdCBhZmZlY3QgbW9kZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBGSUxFTU9ERSAncGF0Y2ggZG9lcyBub3QgYWZmZWN0IG1vZGUnICcKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZWNobyBjb250ZW50ID4+ZmlsZSAmJgogCWNobW9kICt4IGZpbGUgJiYKQEAgLTE4Niw3ICsxOTIsNyBAQAogCWdpdCBkaWZmIGZpbGUgfCBncmVwICJuZXcgbW9kZSIKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMLEZJTEVNT0RFICdzdGFnZSBtb2RlIGJ1dCBub3QgaHVuaycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBGSUxFTU9ERSAnc3RhZ2UgbW9kZSBidXQgbm90IGh1bmsnICcKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZWNobyBjb250ZW50ID4+ZmlsZSAmJgogCWNobW9kICt4IGZpbGUgJiYKQEAgLTE5Niw3ICsyMDIsNyBAQAogJwogCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCxGSUxFTU9ERSAnc3RhZ2UgbW9kZSBhbmQgaHVuaycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBGSUxFTU9ERSAnc3RhZ2UgbW9kZSBhbmQgaHVuaycgJwogCWdpdCByZXNldCAtLWhhcmQgJiYKIAllY2hvIGNvbnRlbnQgPj5maWxlICYmCiAJY2htb2QgK3ggZmlsZSAmJgpAQCAtMjA4LDE0ICsyMTQsMTQgQEAKIAogIyBlbmQgb2YgdGVzdHMgZGlzYWJsZWQgd2hlbiBmaWxlbW9kZSBpcyBub3QgdXNhYmxlCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnc2V0dXAgYWdhaW4nICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGFnYWluJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCXRlc3RfY2htb2QgK3ggZmlsZSAmJgogCWVjaG8gY29udGVudCA+PmZpbGUKICcKIAogIyBXcml0ZSB0aGUgcGF0Y2ggZmlsZSB3aXRoIGEgbmV3IGxpbmUgYXQgdGhlIHRvcCBhbmQgYm90dG9tCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3NldHVwIHBhdGNoJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBwYXRjaCcgJwogY2F0ID5wYXRjaCA8PEVPRgogaW5kZXggMTgwYjQ3Yy4uYjZmMmMwOCAxMDA2NDQKIC0tLSBhL2ZpbGUKQEAgLTIyOSw3ICsyMzUsNyBAQAogJwogCiAjIEV4cGVjdGVkIG91dHB1dCwgc2ltaWxhciB0byB0aGUgcGF0Y2ggYnV0IHcvIGRpZmYgYXQgdGhlIHRvcAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdzZXR1cCBleHBlY3RlZCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZXhwZWN0ZWQnICcKIGNhdCA+ZXhwZWN0ZWQgPDxFT0YKIGRpZmYgLS1naXQgYS9maWxlIGIvZmlsZQogaW5kZXggYjZmMmMwOC4uNjFiOTA1MyAxMDA3NTUKQEAgLTI0NCw3ICsyNTAsNyBAQAogJwogCiAjIFRlc3Qgc3BsaXR0aW5nIHRoZSBmaXJzdCBwYXRjaCwgdGhlbiBhZGRpbmcgYm90aAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdhZGQgZmlyc3QgbGluZSB3b3JrcycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYWRkIGZpcnN0IGxpbmUgd29ya3MnICcKIAlnaXQgY29tbWl0IC1hbSAiY2xlYXIgbG9jYWwgY2hhbmdlcyIgJiYKIAlnaXQgYXBwbHkgcGF0Y2ggJiYKIAkoZWNobyBzOyBlY2hvIHk7IGVjaG8geSkgfCBnaXQgYWRkIC1wIGZpbGUgJiYKQEAgLTI1Miw3ICsyNTgsNyBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGRpZmYKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdzZXR1cCBleHBlY3RlZCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZXhwZWN0ZWQnICcKIGNhdCA+ZXhwZWN0ZWQgPDxFT0YKIGRpZmYgLS1naXQgYS9ub24tZW1wdHkgYi9ub24tZW1wdHkKIGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApAQCAtMjY0LDcgKzI3MCw3IEBACiBFT0YKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdkZWxldGluZyBhIG5vbi1lbXB0eSBmaWxlJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWxldGluZyBhIG5vbi1lbXB0eSBmaWxlJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWVjaG8gY29udGVudCA+bm9uLWVtcHR5ICYmCiAJZ2l0IGFkZCBub24tZW1wdHkgJiYKQEAgLTI3NSw3ICsyODEsNyBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGRpZmYKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdzZXR1cCBleHBlY3RlZCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZXhwZWN0ZWQnICcKIGNhdCA+ZXhwZWN0ZWQgPDxFT0YKIGRpZmYgLS1naXQgYS9lbXB0eSBiL2VtcHR5CiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKQEAgLTI4Myw3ICsyODksNyBAQAogRU9GCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnZGVsZXRpbmcgYW4gZW1wdHkgZmlsZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVsZXRpbmcgYW4gZW1wdHkgZmlsZScgJwogCWdpdCByZXNldCAtLWhhcmQgJiYKIAk+IGVtcHR5ICYmCiAJZ2l0IGFkZCBlbXB0eSAmJgpAQCAtMjk0LDcgKzMwMCw3IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgZGlmZgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3NwbGl0IGh1bmsgc2V0dXAnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NwbGl0IGh1bmsgc2V0dXAnICcKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZm9yIGkgaW4gMTAgMjAgMzAgNDAgNTAgNjAKIAlkbwpAQCAtMzEwLDcgKzMxNiw3IEBACiAJZG9uZSA+dGVzdAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3NwbGl0IGh1bmsgImFkZCAtcCAoZWRpdCkiJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzcGxpdCBodW5rICJhZGQgLXAgKGVkaXQpIicgJwogCSMgU3BsaXQsIHNheSBFZGl0IGFuZCBkbyBub3RoaW5nLiAgVGhlbjoKIAkjCiAJIyAxLiBCcm9rZW4gdmVyc2lvbiByZXN1bHRzIGluIGEgcGF0Y2ggdGhhdCBkb2VzIG5vdCBhcHBseSBhbmQKZGlmZiAtLWdpdCBhL3QvdDM5MTAtbWFjLW9zLXByZWNvbXBvc2Uuc2ggYi90L3QzOTEwLW1hYy1vcy1wcmVjb21wb3NlLnNoCmluZGV4IDVmZTU3YzUuLmU0YmE2MDEgMTAwNzU1Ci0tLSBhL3QvdDM5MTAtbWFjLW9zLXByZWNvbXBvc2Uuc2gKKysrIGIvdC90MzkxMC1tYWMtb3MtcHJlY29tcG9zZS5zaApAQCAtMzYsNyArMzYsNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICJkZXRlY3QgaWYgbmZkIG5lZWRlZCIgJwogCXByZWNvbXBvc2V1bmljb2RlPWBnaXQgY29uZmlnIGNvcmUucHJlY29tcG9zZXVuaWNvZGVgICYmCi0JdGVzdCAiJHByZWNvbXBvc2V1bmljb2RlIiA9IGZhbHNlICYmCisJdGVzdCAiJHByZWNvbXBvc2V1bmljb2RlIiA9IHRydWUgJiYKIAlnaXQgY29uZmlnIGNvcmUucHJlY29tcG9zZXVuaWNvZGUgdHJ1ZQogJwogdGVzdF9leHBlY3Rfc3VjY2VzcyAic2V0dXAiICcKZGlmZiAtLWdpdCBhL3QvdDQwMTQtZm9ybWF0LXBhdGNoLnNoIGIvdC90NDAxNC1mb3JtYXQtcGF0Y2guc2gKaW5kZXggOGYyNzJiYy4uNzMxOTRiMiAxMDA3NTUKLS0tIGEvdC90NDAxNC1mb3JtYXQtcGF0Y2guc2gKKysrIGIvdC90NDAxNC1mb3JtYXQtcGF0Y2guc2gKQEAgLTI5Myw3ICsyOTMsNyBAQAogCShnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0ICIkQCI7IGVjaG8gJD8gPiBzdGF0dXMub3V0KSB8CiAJIyBQcmludHMgZXZlcnl0aGluZyBiZXR3ZWVuIHRoZSBNZXNzYWdlLUlEIGFuZCBJbi1SZXBseS1UbywKIAkjIGFuZCByZXBsYWNlcyBhbGwgTWVzc2FnZS1JRC1sb29rYWxpa2VzIGJ5IGEgc2VxdWVuY2UgbnVtYmVyCi0JIiRQRVJMX1BBVEgiIC1uZSAnCisJcGVybCAtbmUgJwogCQlpZiAoL14obWVzc2FnZS1pZHxyZWZlcmVuY2VzfGluLXJlcGx5LXRvKS9pKSB7CiAJCQkkcHJpbnRpbmcgPSAxOwogCQl9IGVsc2lmICgvXlxTLykgewpkaWZmIC0tZ2l0IGEvdC90NDAxNS1kaWZmLXdoaXRlc3BhY2Uuc2ggYi90L3Q0MDE1LWRpZmYtd2hpdGVzcGFjZS5zaAppbmRleCAzZmI0Yjk3Li42MDRhODM4IDEwMDc1NQotLS0gYS90L3Q0MDE1LWRpZmYtd2hpdGVzcGFjZS5zaAorKysgYi90L3Q0MDE1LWRpZmYtd2hpdGVzcGFjZS5zaApAQCAtMTQ1LDcgKzE0NSw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdpZ25vcmUtYmxhbmstbGluZXM6IG9ubHkgbmV3IGxpbmVzJyAnCiAJdGVzdF9zZXEgNSA+eCAmJgogCWdpdCB1cGRhdGUtaW5kZXggeCAmJgotCXRlc3Rfc2VxIDUgfCBzZWQgIi8zL2kgXFwKKwl0ZXN0X3NlcSA1IHwgc2VkICIvMy9pXFwKICIgPnggJiYKIAlnaXQgZGlmZiAtLWlnbm9yZS1ibGFuay1saW5lcyA+b3V0ICYmCiAJPmV4cGVjdCAmJgpAQCAtMTU1LDcgKzE1NSw4IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdpZ25vcmUtYmxhbmstbGluZXM6IG9ubHkgbmV3IGxpbmVzIHdpdGggc3BhY2UnICcKIAl0ZXN0X3NlcSA1ID54ICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCB4ICYmCi0JdGVzdF9zZXEgNSB8IHNlZCAiLzMvaSBcICIgPnggJiYKKwl0ZXN0X3NlcSA1IHwgc2VkICIvMy9pXFwKKyAiID54ICYmCiAJZ2l0IGRpZmYgLXcgLS1pZ25vcmUtYmxhbmstbGluZXMgPm91dCAmJgogCT5leHBlY3QgJiYKIAl0ZXN0X2NtcCBvdXQgZXhwZWN0CmRpZmYgLS1naXQgYS90L3Q0MDIwLWRpZmYtZXh0ZXJuYWwuc2ggYi90L3Q0MDIwLWRpZmYtZXh0ZXJuYWwuc2gKaW5kZXggMmU3ZDczZi4uOGEzMDk3OSAxMDA3NTUKLS0tIGEvdC90NDAyMC1kaWZmLWV4dGVybmFsLnNoCisrKyBiL3QvdDQwMjAtZGlmZi1leHRlcm5hbC5zaApAQCAtMTc3LDcgKzE3Nyw3IEBACiAJZ2l0IGRpZmYgfCBncmVwIEJpbmFyeQogJwogCi1lY2hvIE5VTFpiZXR3ZWVuWndvcmRzIHwgIiRQRVJMX1BBVEgiIC1wZSAneS9aL1wwMDAvJyA+IGZpbGUKK2VjaG8gTlVMWmJldHdlZW5ad29yZHMgfCBwZXJsIC1wZSAneS9aL1wwMDAvJyA+IGZpbGUKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9yY2UgZGlmZiB3aXRoICJkaWZmIicgJwogCWVjaG8gPi5naXRhdHRyaWJ1dGVzICJmaWxlIGRpZmYiICYmCmRpZmYgLS1naXQgYS90L3Q0MDI5LWRpZmYtdHJhaWxpbmctc3BhY2Uuc2ggYi90L3Q0MDI5LWRpZmYtdHJhaWxpbmctc3BhY2Uuc2gKaW5kZXggMzZlMmYwNy4uM2NjYzIzNyAxMDA3NTUKLS0tIGEvdC90NDAyOS1kaWZmLXRyYWlsaW5nLXNwYWNlLnNoCisrKyBiL3QvdDQwMjktZGlmZi10cmFpbGluZy1zcGFjZS5zaApAQCAtMjcsNyArMjcsNyBAQAogICAgICBnaXQgY29uZmlnIC0tYm9vbCBkaWZmLnN1cHByZXNzQmxhbmtFbXB0eSB0cnVlICYmCiAgICAgIGdpdCBkaWZmIGYgPiBhY3R1YWwgJiYKICAgICAgdGVzdF9jbXAgZXhwIGFjdHVhbCAmJgotICAgICAiJFBFUkxfUEFUSCIgLWkuYmFrIC1wIC1lICJzL15cJC8gLyIgZXhwICYmCisgICAgIHBlcmwgLWkuYmFrIC1wIC1lICJzL15cJC8gLyIgZXhwICYmCiAgICAgIGdpdCBjb25maWcgLS1ib29sIGRpZmYuc3VwcHJlc3NCbGFua0VtcHR5IGZhbHNlICYmCiAgICAgIGdpdCBkaWZmIGYgPiBhY3R1YWwgJiYKICAgICAgdGVzdF9jbXAgZXhwIGFjdHVhbCAmJgpkaWZmIC0tZ2l0IGEvdC90NDAzMC1kaWZmLXRleHRjb252LnNoIGIvdC90NDAzMC1kaWZmLXRleHRjb252LnNoCmluZGV4IGY3NWY0NmYuLmFhZDZjN2YgMTAwNzU1Ci0tLSBhL3QvdDQwMzAtZGlmZi10ZXh0Y29udi5zaAorKysgYi90L3Q0MDMwLWRpZmYtdGV4dGNvbnYuc2gKQEAgLTU4LDYgKzU4LDEyIEBACiAJdGVzdF9jbXAgZXhwZWN0LnRleHQgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Nob3cgY29tbWl0IHByb2R1Y2VzIHRleHQnICcKKwlnaXQgc2hvdyBIRUFEID5kaWZmICYmCisJZmluZF9kaWZmIDxkaWZmID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QudGV4dCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZi10cmVlIHByb2R1Y2VzIGJpbmFyeScgJwogCWdpdCBkaWZmLXRyZWUgLXAgSEVBRF4gSEVBRCA+ZGlmZiAmJgogCWZpbmRfZGlmZiA8ZGlmZiA+YWN0dWFsICYmCkBAIC04NCw2ICs5MCwyNCBAQAogCWdpdCByZXNldCAtLXNvZnQgSEVBREB7MX0KICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hvdyBibG9iIHByb2R1Y2VzIGJpbmFyeScgJworCWdpdCBzaG93IEhFQUQ6ZmlsZSA+YWN0dWFsICYmCisJcHJpbnRmICJcXDBcXG5cXDAxXFxuIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaG93IC0tdGV4dGNvbnYgYmxvYiBwcm9kdWNlcyB0ZXh0JyAnCisJZ2l0IHNob3cgLS10ZXh0Y29udiBIRUFEOmZpbGUgPmFjdHVhbCAmJgorCXByaW50ZiAiMFxcbjFcXG4iID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Nob3cgLS1uby10ZXh0Y29udiBibG9iIHByb2R1Y2VzIGJpbmFyeScgJworCWdpdCBzaG93IC0tbm8tdGV4dGNvbnYgSEVBRDpmaWxlID5hY3R1YWwgJiYKKwlwcmludGYgIlxcMFxcblxcMDFcXG4iID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAtZGlmZiAoLUcpIG9wZXJhdGVzIG9uIHRleHRjb252IGRhdGEgKGFkZCknICcKIAllY2hvIG9uZSA+ZXhwZWN0ICYmCiAJZ2l0IGxvZyAtLXJvb3QgLS1mb3JtYXQ9JXMgLUcwID5hY3R1YWwgJiYKZGlmZiAtLWdpdCBhL3QvdDQwNTUtZGlmZi1jb250ZXh0LnNoIGIvdC90NDA1NS1kaWZmLWNvbnRleHQuc2gKaW5kZXggOTcxNzJiNC4uY2QwNDU0MyAxMDA3NTUKLS0tIGEvdC90NDA1NS1kaWZmLWNvbnRleHQuc2gKKysrIGIvdC90NDA1NS1kaWZmLWNvbnRleHQuc2gKQEAgLTczLDcgKzczLDcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vbi1pbnRlZ2VyIGNvbmZpZyBwYXJzaW5nJyAnCiAJZ2l0IGNvbmZpZyBkaWZmLmNvbnRleHQgbm8gJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgZGlmZiAyPm91dHB1dCAmJgotCXRlc3RfaTE4bmdyZXAgImJhZCBjb25maWcgdmFsdWUiIG91dHB1dAorCXRlc3RfaTE4bmdyZXAgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSIgb3V0cHV0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25lZ2F0aXZlIGludGVnZXIgY29uZmlnIHBhcnNpbmcnICcKZGlmZiAtLWdpdCBhL3QvdDQxMDMtYXBwbHktYmluYXJ5LnNoIGIvdC90NDEwMy1hcHBseS1iaW5hcnkuc2gKaW5kZXggYjFiOTA2Yi4uMWI0MjBlMyAxMDA3NTUKLS0tIGEvdC90NDEwMy1hcHBseS1iaW5hcnkuc2gKKysrIGIvdC90NDEwMy1hcHBseS1iaW5hcnkuc2gKQEAgLTIzLDEwICsyMywxMCBAQAogCWdpdCBjb21taXQgLW0gIkluaXRpYWwgVmVyc2lvbiIgMj4vZGV2L251bGwgJiYKIAogCWdpdCBjaGVja291dCAtYiBiaW5hcnkgJiYKLQkiJFBFUkxfUEFUSCIgLXBlICJ5L3gvXDAwMC8iIDxmaWxlMSA+ZmlsZTMgJiYKKwlwZXJsIC1wZSAieS94L1wwMDAvIiA8ZmlsZTEgPmZpbGUzICYmCiAJY2F0IGZpbGUzID5maWxlNCAmJgogCWdpdCBhZGQgZmlsZTIgJiYKLQkiJFBFUkxfUEFUSCIgLXBlICJ5L1wwMDAvdi8iIDxmaWxlMyA+ZmlsZTEgJiYKKwlwZXJsIC1wZSAieS9cMDAwL3YvIiA8ZmlsZTMgPmZpbGUxICYmCiAJcm0gLWYgZmlsZTIgJiYKIAlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIC0tcmVtb3ZlIGZpbGUxIGZpbGUyIGZpbGUzIGZpbGU0ICYmCiAJZ2l0IGNvbW1pdCAtbSAiU2Vjb25kIFZlcnNpb24iICYmCmRpZmYgLS1naXQgYS90L3Q0MTE2LWFwcGx5LXJldmVyc2Uuc2ggYi90L3Q0MTE2LWFwcGx5LXJldmVyc2Uuc2gKaW5kZXggZmNhODE1My4uMjI5OGVjZSAxMDA3NTUKLS0tIGEvdC90NDExNi1hcHBseS1yZXZlcnNlLnNoCisrKyBiL3QvdDQxMTYtYXBwbHktcmV2ZXJzZS5zaApAQCAtMTIsMTQgKzEyLDE0IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzIHNldHVwICcKIAogCWZvciBpIGluIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbjsgZG8gZWNobyAkaTsgZG9uZSA+ZmlsZTEgJiYKLQkiJFBFUkxfUEFUSCIgLXBlICJ5L2lqay9cXDAwMFxcMDAxXFwwMDIvIiA8ZmlsZTEgPmZpbGUyICYmCisJcGVybCAtcGUgInkvaWprL1xcMDAwXFwwMDFcXDAwMi8iIDxmaWxlMSA+ZmlsZTIgJiYKIAogCWdpdCBhZGQgZmlsZTEgZmlsZTIgJiYKIAlnaXQgY29tbWl0IC1tIGluaXRpYWwgJiYKIAlnaXQgdGFnIGluaXRpYWwgJiYKIAogCWZvciBpIGluIGEgYiBjIGcgaCBpIEogSyBMIG0gbyBuIHAgcTsgZG8gZWNobyAkaTsgZG9uZSA+ZmlsZTEgJiYKLQkiJFBFUkxfUEFUSCIgLXBlICJ5L21vbi9cXDAwMFxcMDAxXFwwMDIvIiA8ZmlsZTEgPmZpbGUyICYmCisJcGVybCAtcGUgInkvbW9uL1xcMDAwXFwwMDFcXDAwMi8iIDxmaWxlMSA+ZmlsZTIgJiYKIAogCWdpdCBjb21taXQgLWEgLW0gc2Vjb25kICYmCiAJZ2l0IHRhZyBzZWNvbmQgJiYKZGlmZiAtLWdpdCBhL3QvdDQyMDAtcmVyZXJlLnNoIGIvdC90NDIwMC1yZXJlcmUuc2gKaW5kZXggN2Y2NjY2Zi4uZWQ5YzkxZSAxMDA3NTUKLS0tIGEvdC90NDIwMC1yZXJlcmUuc2gKKysrIGIvdC90NDIwMC1yZXJlcmUuc2gKQEAgLTc4LDcgKzc4LDcgQEAKIAl0ZXN0X21pZ2h0X2ZhaWwgZ2l0IGNvbmZpZyAtLXVuc2V0IHJlcmVyZS5lbmFibGVkICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIGZpcnN0ICYmCiAKLQlzaGExPSQoIiRQRVJMX1BBVEgiIC1wZSAicy8JLiovLyIgLmdpdC9NRVJHRV9SUikgJiYKKwlzaGExPSQocGVybCAtcGUgInMvCS4qLy8iIC5naXQvTUVSR0VfUlIpICYmCiAJcnI9LmdpdC9yci1jYWNoZS8kc2hhMSAmJgogCWdyZXAgIl49PT09PT09XCQiICRyci9wcmVpbWFnZSAmJgogCSEgdGVzdCAtZiAkcnIvcG9zdGltYWdlICYmCkBAIC05MSw3ICs5MSw3IEBACiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBmaXJzdCAmJgogCi0Jc2hhMT0kKCIkUEVSTF9QQVRIIiAtcGUgInMvCS4qLy8iIC5naXQvTUVSR0VfUlIpICYmCisJc2hhMT0kKHBlcmwgLXBlICJzLwkuKi8vIiAuZ2l0L01FUkdFX1JSKSAmJgogCXJyPS5naXQvcnItY2FjaGUvJHNoYTEgJiYKIAlncmVwIF49PT09PT09JCAkcnIvcHJlaW1hZ2UKICcKQEAgLTEwMSw3ICsxMDEsNyBAQAogCWdpdCBjb25maWcgcmVyZXJlLmVuYWJsZWQgdHJ1ZSAmJgogCWdpdCByZXNldCAtLWhhcmQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgZmlyc3QgJiYKLQlzaGExPSQoIiRQRVJMX1BBVEgiIC1wZSAicy8JLiovLyIgLmdpdC9NRVJHRV9SUikgJiYKKwlzaGExPSQocGVybCAtcGUgInMvCS4qLy8iIC5naXQvTUVSR0VfUlIpICYmCiAJcnI9LmdpdC9yci1jYWNoZS8kc2hhMQogJwogCkBAIC0xNzIsNyArMTcyLDcgQEAKIAlnaXQgc2hvdyBzZWNvbmReOmExIHwgc2VkICJzL1RvIGRpZTogdC9UbyBkaWUhIFQvIiA+YTEgJiYKIAlnaXQgY29tbWl0IC1xIC1hIC1tIHRoaXJkICYmCiAKLQl0ZXN0X211c3RfZmFpbCBnaXQgcHVsbCAuIGZpcnN0ICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIGZpcnN0ICYmCiAJIyByZXJlcmUga2lja2VkIGluCiAJISBncmVwICJePT09PT09PVwkIiBhMSAmJgogCXRlc3RfY21wIGV4cGVjdCBhMQpAQCAtMTg1LDcgKzE4NSw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlcmVyZSBjbGVhcicgJwogCXJtICRyci9wb3N0aW1hZ2UgJiYKLQllY2hvICIkc2hhMQlhMSIgfCAiJFBFUkxfUEFUSCIgLXBlICJ5L1wwMTIvXDAwMC8iID4uZ2l0L01FUkdFX1JSICYmCisJZWNobyAiJHNoYTEJYTEiIHwgcGVybCAtcGUgInkvXDAxMi9cMDAwLyIgPi5naXQvTUVSR0VfUlIgJiYKIAlnaXQgcmVyZXJlIGNsZWFyICYmCiAJISB0ZXN0IC1kICRycgogJwpkaWZmIC0tZ2l0IGEvdC90NDIwOC1sb2ctbWFnaWMtcGF0aHNwZWMuc2ggYi90L3Q0MjA4LWxvZy1tYWdpYy1wYXRoc3BlYy5zaAppbmRleCA3MjMwMGI1Li5kOGYyM2Y0IDEwMDc1NQotLS0gYS90L3Q0MjA4LWxvZy1tYWdpYy1wYXRoc3BlYy5zaAorKysgYi90L3Q0MjA4LWxvZy1tYWdpYy1wYXRoc3BlYy5zaApAQCAtNDYsNCArNDYsMTkgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tbWFuZCBsaW5lIHBhdGhzcGVjIHBhcnNpbmcgZm9yICJnaXQgbG9nIicgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwk+YSAmJgorCWdpdCBhZGQgYSAmJgorCWdpdCBjb21taXQgLW0gImFkZCBhbiBlbXB0eSBhIiAtLWFsbG93LWVtcHR5ICYmCisJZWNobyAxID5hICYmCisJZ2l0IGNvbW1pdCAtYSAtbSAidXBkYXRlIGEgdG8gMSIgJiYKKwlnaXQgY2hlY2tvdXQgSEVBRF4gJiYKKwllY2hvIDIgPmEgJiYKKwlnaXQgY29tbWl0IC1hIC1tICJ1cGRhdGUgYSB0byAyIiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBtYXN0ZXIgJiYKKwlnaXQgYWRkIGEgJiYKKwlnaXQgbG9nIC0tbWVyZ2UgLS0gYQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDQyMTEtbGluZS1sb2cuc2ggYi90L3Q0MjExLWxpbmUtbG9nLnNoCmluZGV4IDc2NjVkNjcuLjczNjlkM2MgMTAwNzU1Ci0tLSBhL3QvdDQyMTEtbGluZS1sb2cuc2gKKysrIGIvdC90NDIxMS1saW5lLWxvZy5zaApAQCAtNDgsNyArNDgsNyBAQAogY2FubmVkX3Rlc3QgIi1NIC1MICc6ZjpiLmMnIHBhcmFsbGVsLWNoYW5nZSIgcGFyYWxsZWwtY2hhbmdlLWYtdG8tbWFpbgogCiBjYW5uZWRfdGVzdCAiLUwgNCwxMjphLmMgLUwgOm1haW46YS5jIHNpbXBsZSIgbXVsdGlwbGUKLWNhbm5lZF90ZXN0ICItTCA0LDE4OmEuYyAtTCA6bWFpbjphLmMgc2ltcGxlIiBtdWx0aXBsZS1vdmVybGFwcGluZworY2FubmVkX3Rlc3QgIi1MIDQsMTg6YS5jIC1MIF46bWFpbjphLmMgc2ltcGxlIiBtdWx0aXBsZS1vdmVybGFwcGluZwogY2FubmVkX3Rlc3QgIi1MIDptYWluOmEuYyAtTCA0LDE4OmEuYyBzaW1wbGUiIG11bHRpcGxlLW92ZXJsYXBwaW5nCiBjYW5uZWRfdGVzdCAiLUwgNDphLmMgLUwgOCwxMjphLmMgc2ltcGxlIiBtdWx0aXBsZS1zdXBlcnNldAogY2FubmVkX3Rlc3QgIi1MIDgsMTI6YS5jIC1MIDQ6YS5jIHNpbXBsZSIgbXVsdGlwbGUtc3VwZXJzZXQKQEAgLTY0LDE3ICs2NCwzNCBAQAogdGVzdF9iYWRfb3B0cyAiLUwgOmIuYyIgImFyZ3VtZW50Lipub3Qgb2YgdGhlIGZvcm0iCiB0ZXN0X2JhZF9vcHRzICItTCA6Zm9vOmIuYyIgIm5vIG1hdGNoIgogCi0jIFRoZXJlIGlzIGEgc2VwYXJhdGUgYnVnIHdoZW4gYW4gZW1wdHkgLUwgcmFuZ2UgaXMgdGhlIGZpcnN0IC1MIGVuY291bnRlcmVkLAotIyB0aHVzIHRvIGRlbW9uc3RyYXRlIHRoaXMgcGFydGljdWxhciBidWcsIHRoZSBlbXB0eSAtTCByYW5nZSBtdXN0IGZvbGxvdyBhCi0jIG5vbi1lbXB0eSAtTCByYW5nZS4KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy1MIHtlbXB0eS1yYW5nZX0gKGFueSAtTCknICcKLQluPSQoZXhwciAkKHdjIC1sIDxiLmMpICsgMSkgJiYKLQlnaXQgbG9nIC1MMSwxOmIuYyAtTCRuOmIuYwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLUwgWCAoWCA9PSBubGluZXMpJyAnCisJbj0kKHdjIC1sIDxiLmMpICYmCisJZ2l0IGxvZyAtTCAkbjpiLmMKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnLUwge2VtcHR5LXJhbmdlfSAoZmlyc3QgLUwpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctTCBYIChYID09IG5saW5lcyArIDEpJyAnCiAJbj0kKGV4cHIgJCh3YyAtbCA8Yi5jKSArIDEpICYmCi0JZ2l0IGxvZyAtTCRuOmIuYworCXRlc3RfbXVzdF9mYWlsIGdpdCBsb2cgLUwgJG46Yi5jCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy1MIFggKFggPT0gbmxpbmVzICsgMiknICcKKwluPSQoZXhwciAkKHdjIC1sIDxiLmMpICsgMikgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgbG9nIC1MICRuOmIuYworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctTCAsWSAoWSA9PSBubGluZXMpJyAnCisJbj0kKHByaW50ZiAiJWQiICQod2MgLWwgPGIuYykpICYmCisJZ2l0IGxvZyAtTCAsJG46Yi5jCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy1MICxZIChZID09IG5saW5lcyArIDEpJyAnCisJbj0kKGV4cHIgJCh3YyAtbCA8Yi5jKSArIDEpICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGxvZyAtTCAsJG46Yi5jCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy1MICxZIChZID09IG5saW5lcyArIDIpJyAnCisJbj0kKGV4cHIgJCh3YyAtbCA8Yi5jKSArIDIpICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGxvZyAtTCAsJG46Yi5jCiAnCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTMwMC1wYWNrLW9iamVjdC5zaCBiL3QvdDUzMDAtcGFjay1vYmplY3Quc2gKaW5kZXggYTA3Yzg3MS4uMjBjMTk2MSAxMDA3NTUKLS0tIGEvdC90NTMwMC1wYWNrLW9iamVjdC5zaAorKysgYi90L3Q1MzAwLXBhY2stb2JqZWN0LnNoCkBAIC0xMyw5ICsxMyw5IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFwKICAgICAnc2V0dXAnIFwKICAgICAncm0gLWYgLmdpdC9pbmRleCogJiYKLSAgICAgIiRQRVJMX1BBVEgiIC1lICJwcmludCBcImFcIiB4IDQwOTY7IiA+IGEgJiYKLSAgICAgIiRQRVJMX1BBVEgiIC1lICJwcmludCBcImJcIiB4IDQwOTY7IiA+IGIgJiYKLSAgICAgIiRQRVJMX1BBVEgiIC1lICJwcmludCBcImNcIiB4IDQwOTY7IiA+IGMgJiYKKyAgICAgcGVybCAtZSAicHJpbnQgXCJhXCIgeCA0MDk2OyIgPiBhICYmCisgICAgIHBlcmwgLWUgInByaW50IFwiYlwiIHggNDA5NjsiID4gYiAmJgorICAgICBwZXJsIC1lICJwcmludCBcImNcIiB4IDQwOTY7IiA+IGMgJiYKICAgICAgdGVzdC1nZW5yYW5kb20gInNlZWQgYSIgMjA5NzE1MiA+IGFfYmlnICYmCiAgICAgIHRlc3QtZ2VucmFuZG9tICJzZWVkIGIiIDIwOTcxNTIgPiBiX2JpZyAmJgogICAgICBnaXQgdXBkYXRlLWluZGV4IC0tYWRkIGEgYV9iaWcgYiBiX2JpZyBjICYmCkBAIC0xMjksNyArMTI5LDcgQEAKIGNkICIkVFJBU0giCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbXBhcmUgZGVsdGEgZmxhdm9ycycgJwotCSIkUEVSTF9QQVRIIiAtZSAnXCcnCisJcGVybCAtZSAnXCcnCiAJCWRlZmluZWQoJF8gPSAtcyAkXykgb3IgZGllIGZvciBAQVJHVjsKIAkJZXhpdCAxIGlmICRBUkdWWzBdIDw9ICRBUkdWWzFdOwogCSdcJycgdGVzdC0yLSRwYWNrbmFtZV8yLnBhY2sgdGVzdC0zLSRwYWNrbmFtZV8zLnBhY2sKQEAgLTE1MSw3ICsxNTEsNyBAQAogCSAgICBnaXQgY2F0LWZpbGUgJHQgJG9iamVjdCB8fCByZXR1cm4gMQogCSBkb25lIDxvYmotbGlzdAogICAgIH0gPmN1cnJlbnQgJiYKLSAgICB0ZXN0X2NtcCBleHBlY3QgY3VycmVudCcKKyAgICBjbXAgZXhwZWN0IGN1cnJlbnQnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAogICAgICd1c2UgcGFja2VkIGRlbHRpZmllZCAoUkVGX0RFTFRBKSBvYmplY3RzJyBcCkBAIC0xNjYsNyArMTY2LDcgQEAKIAkgICAgZ2l0IGNhdC1maWxlICR0ICRvYmplY3QgfHwgcmV0dXJuIDEKIAkgZG9uZSA8b2JqLWxpc3QKICAgICB9ID5jdXJyZW50ICYmCi0gICAgdGVzdF9jbXAgZXhwZWN0IGN1cnJlbnQnCisgICAgY21wIGV4cGVjdCBjdXJyZW50JwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFwKICAgICAndXNlIHBhY2tlZCBkZWx0aWZpZWQgKE9GU19ERUxUQSkgb2JqZWN0cycgXApAQCAtMTgxLDcgKzE4MSw3IEBACiAJICAgIGdpdCBjYXQtZmlsZSAkdCAkb2JqZWN0IHx8IHJldHVybiAxCiAJIGRvbmUgPG9iai1saXN0CiAgICAgfSA+Y3VycmVudCAmJgotICAgIHRlc3RfY21wIGV4cGVjdCBjdXJyZW50JworICAgIGNtcCBleHBlY3QgY3VycmVudCcKIAogdW5zZXQgR0lUX09CSkVDVF9ESVJFQ1RPUlkKIApAQCAtMTk1LDkgKzE5NSw5IEBACiAJCXJtIC1mciAkR09QICYmCiAJCWdpdCBpbmRleC1wYWNrIC0tc3RkaW4gLS1rZWVwPXRlc3QgPC4uL3Rlc3QtMy0ke3BhY2tuYW1lXzN9LnBhY2sgJiYKIAkJdGVzdCAtZiAkR09QL3BhY2stJHtwYWNrbmFtZV8zfS5wYWNrICYmCi0JCXRlc3RfY21wICRHT1AvcGFjay0ke3BhY2tuYW1lXzN9LnBhY2sgLi4vdGVzdC0zLSR7cGFja25hbWVfM30ucGFjayAmJgorCQljbXAgJEdPUC9wYWNrLSR7cGFja25hbWVfM30ucGFjayAuLi90ZXN0LTMtJHtwYWNrbmFtZV8zfS5wYWNrICYmCiAJCXRlc3QgLWYgJEdPUC9wYWNrLSR7cGFja25hbWVfM30uaWR4ICYmCi0JCXRlc3RfY21wICRHT1AvcGFjay0ke3BhY2tuYW1lXzN9LmlkeCAuLi90ZXN0LTMtJHtwYWNrbmFtZV8zfS5pZHggJiYKKwkJY21wICRHT1AvcGFjay0ke3BhY2tuYW1lXzN9LmlkeCAuLi90ZXN0LTMtJHtwYWNrbmFtZV8zfS5pZHggJiYKIAkJdGVzdCAtZiAkR09QL3BhY2stJHtwYWNrbmFtZV8zfS5rZWVwCiAJKQogJwpkaWZmIC0tZ2l0IGEvdC90NTMwMy1wYWNrLWNvcnJ1cHRpb24tcmVzaWxpZW5jZS5zaCBiL3QvdDUzMDMtcGFjay1jb3JydXB0aW9uLXJlc2lsaWVuY2Uuc2gKaW5kZXggMzU5MjZkZS4uNjYzYjAyYiAxMDA3NTUKLS0tIGEvdC90NTMwMy1wYWNrLWNvcnJ1cHRpb24tcmVzaWxpZW5jZS5zaAorKysgYi90L3Q1MzAzLXBhY2stY29ycnVwdGlvbi1yZXNpbGllbmNlLnNoCkBAIC05OCw3ICs5OCw3IEBACiAgICAgJ2NyZWF0ZV9uZXdfcGFjayAmJgogICAgICBnaXQgcHJ1bmUtcGFja2VkICYmCiAgICAgIGNobW9kICt3ICR7cGFja30ucGFjayAmJgotICAgICAiJFBFUkxfUEFUSCIgLWkuYmFrIC1wZSAicy8gYmFzZSAvYWJjZGVmLyIgJHtwYWNrfS5wYWNrICYmCisgICAgIHBlcmwgLWkuYmFrIC1wZSAicy8gYmFzZSAvYWJjZGVmLyIgJHtwYWNrfS5wYWNrICYmCiAgICAgIHRlc3RfbXVzdF9mYWlsIGdpdCBjYXQtZmlsZSBibG9iICRibG9iXzEgPiAvZGV2L251bGwgJiYKICAgICAgdGVzdF9tdXN0X2ZhaWwgZ2l0IGNhdC1maWxlIGJsb2IgJGJsb2JfMiA+IC9kZXYvbnVsbCAmJgogICAgICB0ZXN0X211c3RfZmFpbCBnaXQgY2F0LWZpbGUgYmxvYiAkYmxvYl8zID4gL2Rldi9udWxsJwpAQCAtMTU1LDcgKzE1NSw3IEBACiAgICAgJ2NyZWF0ZV9uZXdfcGFjayAmJgogICAgICBnaXQgcHJ1bmUtcGFja2VkICYmCiAgICAgIGNobW9kICt3ICR7cGFja30ucGFjayAmJgotICAgICAiJFBFUkxfUEFUSCIgLWkuYmFrIC1wZSAicy8gZGVsdGExIC9hYmNkZWZnaC8iICR7cGFja30ucGFjayAmJgorICAgICBwZXJsIC1pLmJhayAtcGUgInMvIGRlbHRhMSAvYWJjZGVmZ2gvIiAke3BhY2t9LnBhY2sgJiYKICAgICAgZ2l0IGNhdC1maWxlIGJsb2IgJGJsb2JfMSA+IC9kZXYvbnVsbCAmJgogICAgICB0ZXN0X211c3RfZmFpbCBnaXQgY2F0LWZpbGUgYmxvYiAkYmxvYl8yID4gL2Rldi9udWxsICYmCiAgICAgIHRlc3RfbXVzdF9mYWlsIGdpdCBjYXQtZmlsZSBibG9iICRibG9iXzMgPiAvZGV2L251bGwnCmRpZmYgLS1naXQgYS90L3Q1MzA4LXBhY2stZGV0ZWN0LWR1cGxpY2F0ZXMuc2ggYi90L3Q1MzA4LXBhY2stZGV0ZWN0LWR1cGxpY2F0ZXMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWM1YTg3NgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDUzMDgtcGFjay1kZXRlY3QtZHVwbGljYXRlcy5zaApAQCAtMCwwICsxLDgwIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0naGFuZGxpbmcgb2YgZHVwbGljYXRlIG9iamVjdHMgaW4gaW5jb21pbmcgcGFja2ZpbGVzJworLiAuL3Rlc3QtbGliLnNoCisuICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1wYWNrLnNoCisKKyMgVGhlIHNoYTFzIHdlIGhhdmUgaW4gb3VyIHBhY2suIEl0J3MgaW1wb3J0YW50IHRoYXQgdGhlc2UgaGF2ZSB0aGUgc2FtZQorIyBzdGFydGluZyBieXRlLCBzbyB0aGF0IHRoZXkgZW5kIHVwIGluIHRoZSBzYW1lIGZhbm91dCBzZWN0aW9uIG9mIHRoZSBpbmRleC4KKyMgVGhhdCBsZXRzIHVzIG1ha2Ugc3VyZSB3ZSBhcmUgZXhlcmNpc2luZyB0aGUgYmluYXJ5IHNlYXJjaCB3aXRoIGJvdGggc2V0cy4KK0xPX1NIQTE9ZTY4ZmU4MTI5YjU0NmIxMDFhZWU5NTEwYzUzMjhlN2YyMWNhMWQxOAorSElfU0hBMT1lNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxCisKKyMgQW5kIGhlcmUncyBhICJtaXNzaW5nIHNoYTEiIHdoaWNoIHdpbGwgcHJvZHVjZSBmYWlsZWQgbG9va3Vwcy4gSXQgbXVzdCBhbHNvCisjIGJlIGluIHRoZSBzYW1lIGZhbm91dCBzZWN0aW9uLCBhbmQgc2hvdWxkIGJlIGJldHdlZW4gdGhlIHR3byAoc28gdGhhdCBkdXJpbmcKKyMgb3VyIGJpbmFyeSBzZWFyY2gsIHdlIGFyZSBzdXJlIHRvIGVuZCB1cCBsb29raW5nIGF0IG9uZSBvciB0aGUgb3RoZXIgb2YgdGhlCisjIGR1cGxpY2F0ZSBydW5zKS4KK01JU1NJTkdfU0hBMT0nZTY5ZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcKKworIyBnaXQgd2lsbCBuZXZlciBpbnRlbnRpb25hbGx5IGNyZWF0ZSBwYWNrZmlsZXMgd2l0aAorIyBkdXBsaWNhdGUgb2JqZWN0cywgc28gd2UgaGF2ZSB0byBjb25zdHJ1Y3QgdGhlbSBieSBoYW5kLgorIworIyAkMSBpcyB0aGUgbmFtZSBvZiB0aGUgcGFja2ZpbGUgdG8gY3JlYXRlCisjCisjICQyIGlzIHRoZSBudW1iZXIgb2YgdGltZXMgdG8gZHVwbGljYXRlIGVhY2ggb2JqZWN0CitjcmVhdGVfcGFjayAoKSB7CisJcGFja19oZWFkZXIgIiQoKDIgKiAkMikpIiA+IiQxIiAmJgorCWZvciBpIGluICQodGVzdF9zZXEgMSAiJDIiKTsgZG8KKwkJcGFja19vYmogJExPX1NIQTEgJiYKKwkJcGFja19vYmogJEhJX1NIQTEKKwlkb25lID4+IiQxIiAmJgorCXBhY2tfdHJhaWxlciAiJDEiCit9CisKKyMgZG91YmxlLWNoZWNrIHRoYXQgY3JlYXRlX3BhY2sgYWN0dWFsbHkgd29ya3MKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhY2sgd2l0aCBubyBkdXBsaWNhdGVzJyAnCisJY3JlYXRlX3BhY2sgbm8tZHVwcy5wYWNrIDEgJiYKKwlnaXQgaW5kZXgtcGFjayAtLXN0ZGluIDxuby1kdXBzLnBhY2sKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5kZXgtcGFjayB3aWxsIGFsbG93IGR1cGxpY2F0ZSBvYmplY3RzIGJ5IGRlZmF1bHQnICcKKwljbGVhcl9wYWNrcyAmJgorCWNyZWF0ZV9wYWNrIGR1cHMucGFjayAxMDAgJiYKKwlnaXQgaW5kZXgtcGFjayAtLXN0ZGluIDxkdXBzLnBhY2sKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIGJhdGNoLWNoZWNrIHRlc3QgdmVjdG9ycycgJworCWNhdCA+aW5wdXQgPDwtRU9GICYmCisJJExPX1NIQTEKKwkkSElfU0hBMQorCSRNSVNTSU5HX1NIQTEKKwlFT0YKKwljYXQgPmV4cGVjdCA8PC1FT0YKKwkkTE9fU0hBMSBibG9iIDIKKwkkSElfU0hBMSBibG9iIDAKKwkkTUlTU0lOR19TSEExIG1pc3NpbmcKKwlFT0YKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9va3VwIGluIGR1cGxpY2F0ZWQgcGFjayAoYmluYXJ5IHNlYXJjaCknICcKKwlnaXQgY2F0LWZpbGUgLS1iYXRjaC1jaGVjayA8aW5wdXQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9va3VwIGluIGR1cGxpY2F0ZWQgcGFjayAoR0lUX1VTRV9MT09LVVApJyAnCisJKAorCQlHSVRfVVNFX0xPT0tVUD0xICYmCisJCWV4cG9ydCBHSVRfVVNFX0xPT0tVUCAmJgorCQlnaXQgY2F0LWZpbGUgLS1iYXRjaC1jaGVjayA8aW5wdXQgPmFjdHVhbAorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luZGV4LXBhY2sgY2FuIHJlamVjdCBwYWNrcyB3aXRoIGR1cGxpY2F0ZXMnICcKKwljbGVhcl9wYWNrcyAmJgorCWNyZWF0ZV9wYWNrIGR1cHMucGFjayAyICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGluZGV4LXBhY2sgLS1zdHJpY3QgLS1zdGRpbiA8ZHVwcy5wYWNrICYmCisJdGVzdF9leHBlY3RfY29kZSAxIGdpdCBjYXQtZmlsZSAtZSAkTE9fU0hBMQorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDUzMDktcGFjay1kZWx0YS1jeWNsZXMuc2ggYi90L3Q1MzA5LXBhY2stZGVsdGEtY3ljbGVzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNlNzg2MWIKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q1MzA5LXBhY2stZGVsdGEtY3ljbGVzLnNoCkBAIC0wLDAgKzEsNzcgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSd0ZXN0IGluZGV4LXBhY2sgaGFuZGxpbmcgb2YgZGVsdGEgY3ljbGVzIGluIHBhY2tmaWxlcycKKy4gLi90ZXN0LWxpYi5zaAorLiAiJFRFU1RfRElSRUNUT1JZIi9saWItcGFjay5zaAorCisjIFR3byBzaW1pbGFyLWlzaCBvYmplY3RzIHRoYXQgd2UgaGF2ZSBjb21wdXRlZCBkZWx0YXMgYmV0d2Vlbi4KK0E9MDFkNzcxMzY2NmY0ZGU4MjI3NzZjNzYyMmMxMGYxYjA3ZGUyODBkYworQj1lNjhmZTgxMjliNTQ2YjEwMWFlZTk1MTBjNTMyOGU3ZjIxY2ExZDE4CisKKyMgZG91YmxlLWNoZWNrIG91ciBoYW5kLWNvbnN0dWN0ZWQgcGFja3MKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luZGV4LXBhY2sgd29ya3Mgd2l0aCBhIHNpbmdsZSBkZWx0YSAoQS0+QiknICcKKwljbGVhcl9wYWNrcyAmJgorCXsKKwkJcGFja19oZWFkZXIgMiAmJgorCQlwYWNrX29iaiAkQSAkQiAmJgorCQlwYWNrX29iaiAkQgorCX0gPmFiLnBhY2sgJiYKKwlwYWNrX3RyYWlsZXIgYWIucGFjayAmJgorCWdpdCBpbmRleC1wYWNrIC0tc3RkaW4gPGFiLnBhY2sgJiYKKwlnaXQgY2F0LWZpbGUgLXQgJEEgJiYKKwlnaXQgY2F0LWZpbGUgLXQgJEIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5kZXgtcGFjayB3b3JrcyB3aXRoIGEgc2luZ2xlIGRlbHRhIChCLT5BKScgJworCWNsZWFyX3BhY2tzICYmCisJeworCQlwYWNrX2hlYWRlciAyICYmCisJCXBhY2tfb2JqICRBICYmCisJCXBhY2tfb2JqICRCICRBCisJfSA+YmEucGFjayAmJgorCXBhY2tfdHJhaWxlciBiYS5wYWNrICYmCisJZ2l0IGluZGV4LXBhY2sgLS1zdGRpbiA8YmEucGFjayAmJgorCWdpdCBjYXQtZmlsZSAtdCAkQSAmJgorCWdpdCBjYXQtZmlsZSAtdCAkQgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbmRleC1wYWNrIGRldGVjdHMgbWlzc2luZyBiYXNlIG9iamVjdHMnICcKKwljbGVhcl9wYWNrcyAmJgorCXsKKwkJcGFja19oZWFkZXIgMSAmJgorCQlwYWNrX29iaiAkQSAkQgorCX0gPm1pc3NpbmcucGFjayAmJgorCXBhY2tfdHJhaWxlciBtaXNzaW5nLnBhY2sgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgaW5kZXgtcGFjayAtLWZpeC10aGluIC0tc3RkaW4gPG1pc3NpbmcucGFjaworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbmRleC1wYWNrIGRldGVjdHMgUkVGX0RFTFRBIGN5Y2xlcycgJworCWNsZWFyX3BhY2tzICYmCisJeworCQlwYWNrX2hlYWRlciAyICYmCisJCXBhY2tfb2JqICRBICRCICYmCisJCXBhY2tfb2JqICRCICRBCisJfSA+Y3ljbGUucGFjayAmJgorCXBhY2tfdHJhaWxlciBjeWNsZS5wYWNrICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGluZGV4LXBhY2sgLS1maXgtdGhpbiAtLXN0ZGluIDxjeWNsZS5wYWNrCisnCisKK3Rlc3RfZXhwZWN0X2ZhaWx1cmUgJ2ZhaWxvdmVyIHRvIGFuIG9iamVjdCBpbiBhbm90aGVyIHBhY2snICcKKwljbGVhcl9wYWNrcyAmJgorCWdpdCBpbmRleC1wYWNrIC0tc3RkaW4gPGFiLnBhY2sgJiYKKwlnaXQgaW5kZXgtcGFjayAtLXN0ZGluIC0tZml4LXRoaW4gPGN5Y2xlLnBhY2sKKycKKwordGVzdF9leHBlY3RfZmFpbHVyZSAnZmFpbG92ZXIgdG8gYSBkdXBsaWNhdGUgb2JqZWN0IGluIHRoZSBzYW1lIHBhY2snICcKKwljbGVhcl9wYWNrcyAmJgorCXsKKwkJcGFja19oZWFkZXIgMyAmJgorCQlwYWNrX29iaiAkQSAkQiAmJgorCQlwYWNrX29iaiAkQiAkQSAmJgorCQlwYWNrX29iaiAkQQorCX0gPnJlY292ZXJhYmxlLnBhY2sgJiYKKwlwYWNrX3RyYWlsZXIgcmVjb3ZlcmFibGUucGFjayAmJgorCWdpdCBpbmRleC1wYWNrIC0tZml4LXRoaW4gLS1zdGRpbiA8cmVjb3ZlcmFibGUucGFjaworJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1MTAtZmV0Y2guc2ggYi90L3Q1NTEwLWZldGNoLnNoCmluZGV4IGZkZTY4OTEuLjFmMGY4ZTYgMTAwNzU1Ci0tLSBhL3QvdDU1MTAtZmV0Y2guc2gKKysrIGIvdC90NTUxMC1mZXRjaC5zaApAQCAtNDk3LDYgKzQ5Nyw4OCBAQAogCSkKICcKIAorIyBjb25maWd1cmVkIHBydW5lIHRlc3RzCisKK3NldF9jb25maWdfdHJpc3RhdGUgKCkgeworCSMgdmFyPSQxIHZhbD0kMgorCWNhc2UgIiQyIiBpbgorCXVuc2V0KSAgdGVzdF91bmNvbmZpZyAiJDEiIDs7CisJKikJZ2l0IGNvbmZpZyAiJDEiICIkMiIgOzsKKwllc2FjCit9CisKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSAoKSB7CisJZmV0Y2hfcHJ1bmU9JDEgcmVtb3RlX29yaWdpbl9wcnVuZT0kMiBjbWRsaW5lPSQzIGV4cGVjdGVkPSQ0CisKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICJwcnVuZSBmZXRjaC5wcnVuZT0kMSByZW1vdGUub3JpZ2luLnBydW5lPSQyJHszOisgJDN9OyAkNCIgJworCQkjIG1ha2Ugc3VyZSBhIG5ld2JyYW5jaCBpcyB0aGVyZSBpbiAuIGFuZCBhbHNvIGluIG9uZQorCQlnaXQgYnJhbmNoIC1mIG5ld2JyYW5jaCAmJgorCQkoCisJCQljZCBvbmUgJiYKKwkJCXRlc3RfdW5jb25maWcgZmV0Y2gucHJ1bmUgJiYKKwkJCXRlc3RfdW5jb25maWcgcmVtb3RlLm9yaWdpbi5wcnVuZSAmJgorCQkJZ2l0IGZldGNoICYmCisJCQlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IHJlZnMvcmVtb3Rlcy9vcmlnaW4vbmV3YnJhbmNoCisJCSkKKworCQkjIG5vdyByZW1vdmUgaXQKKwkJZ2l0IGJyYW5jaCAtZCBuZXdicmFuY2ggJiYKKworCQkjIHRoZW4gdGVzdAorCQkoCisJCQljZCBvbmUgJiYKKwkJCXNldF9jb25maWdfdHJpc3RhdGUgZmV0Y2gucHJ1bmUgJGZldGNoX3BydW5lICYmCisJCQlzZXRfY29uZmlnX3RyaXN0YXRlIHJlbW90ZS5vcmlnaW4ucHJ1bmUgJHJlbW90ZV9vcmlnaW5fcHJ1bmUgJiYKKworCQkJZ2l0IGZldGNoICRjbWRsaW5lICYmCisJCQljYXNlICIkZXhwZWN0ZWQiIGluCisJCQlwcnVuZWQpCisJCQkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSByZWZzL3JlbW90ZXMvb3JpZ2luL25ld2JyYW5jaAorCQkJCTs7CisJCQlrZXB0KQorCQkJCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgcmVmcy9yZW1vdGVzL29yaWdpbi9uZXdicmFuY2gKKwkJCQk7OworCQkJZXNhYworCQkpCisJJworfQorCit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgdW5zZXQgdW5zZXQgIiIJCWtlcHQKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSB1bnNldCB1bnNldCAiLS1uby1wcnVuZSIJa2VwdAordGVzdF9jb25maWd1cmVkX3BydW5lIHVuc2V0IHVuc2V0ICItLXBydW5lIglwcnVuZWQKKwordGVzdF9jb25maWd1cmVkX3BydW5lIGZhbHNlIHVuc2V0ICIiCQlrZXB0Cit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgZmFsc2UgdW5zZXQgIi0tbm8tcHJ1bmUiCWtlcHQKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSBmYWxzZSB1bnNldCAiLS1wcnVuZSIJcHJ1bmVkCisKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSB0cnVlICB1bnNldCAiIgkJcHJ1bmVkCit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgdHJ1ZSAgdW5zZXQgIi0tcHJ1bmUiCXBydW5lZAordGVzdF9jb25maWd1cmVkX3BydW5lIHRydWUgIHVuc2V0ICItLW5vLXBydW5lIglrZXB0CisKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSB1bnNldCBmYWxzZSAiIgkJa2VwdAordGVzdF9jb25maWd1cmVkX3BydW5lIHVuc2V0IGZhbHNlICItLW5vLXBydW5lIglrZXB0Cit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgdW5zZXQgZmFsc2UgIi0tcHJ1bmUiCXBydW5lZAorCit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgZmFsc2UgZmFsc2UgIiIJCWtlcHQKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSBmYWxzZSBmYWxzZSAiLS1uby1wcnVuZSIJa2VwdAordGVzdF9jb25maWd1cmVkX3BydW5lIGZhbHNlIGZhbHNlICItLXBydW5lIglwcnVuZWQKKwordGVzdF9jb25maWd1cmVkX3BydW5lIHRydWUgIGZhbHNlICIiCQlrZXB0Cit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgdHJ1ZSAgZmFsc2UgIi0tcHJ1bmUiCXBydW5lZAordGVzdF9jb25maWd1cmVkX3BydW5lIHRydWUgIGZhbHNlICItLW5vLXBydW5lIglrZXB0CisKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSB1bnNldCB0cnVlICAiIgkJcHJ1bmVkCit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgdW5zZXQgdHJ1ZSAgIi0tbm8tcHJ1bmUiCWtlcHQKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSB1bnNldCB0cnVlICAiLS1wcnVuZSIJcHJ1bmVkCisKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSBmYWxzZSB0cnVlICAiIgkJcHJ1bmVkCit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgZmFsc2UgdHJ1ZSAgIi0tbm8tcHJ1bmUiCWtlcHQKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSBmYWxzZSB0cnVlICAiLS1wcnVuZSIJcHJ1bmVkCisKK3Rlc3RfY29uZmlndXJlZF9wcnVuZSB0cnVlICB0cnVlICAiIgkJcHJ1bmVkCit0ZXN0X2NvbmZpZ3VyZWRfcHJ1bmUgdHJ1ZSAgdHJ1ZSAgIi0tcHJ1bmUiCXBydW5lZAordGVzdF9jb25maWd1cmVkX3BydW5lIHRydWUgIHRydWUgICItLW5vLXBydW5lIglrZXB0CisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FsbCBib3VuZGFyeSBjb21taXRzIGFyZSBleGNsdWRlZCcgJwogCXRlc3RfY29tbWl0IGJhc2UgJiYKIAl0ZXN0X2NvbW1pdCBvbmVzaWRlICYmCmRpZmYgLS1naXQgYS90L3Q1NTE2LWZldGNoLXB1c2guc2ggYi90L3Q1NTE2LWZldGNoLXB1c2guc2gKaW5kZXggNDY5MWQ1MS4uOTljMzJkNyAxMDA3NTUKLS0tIGEvdC90NTUxNi1mZXRjaC1wdXNoLnNoCisrKyBiL3QvdDU1MTYtZmV0Y2gtcHVzaC5zaApAQCAtMTE3Miw0ICsxMTcyLDIxIEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIC0tbm8tdGhpbiBtdXN0IHByb2R1Y2Ugbm9uLXRoaW4gcGFjaycgJworCWNhdCA+PnBhdGgxIDw8XEVPRiAmJgora2VlcCBiYXNlIHZlcnNpb24gb2YgcGF0aDEgYmlnIGVub3VnaCwgY29tcGFyZWQgdG8gdGhlIG5ldyBjaGFuZ2VzCitsYXRlciwgaW4gb3JkZXIgdG8gcGFzcyBzaXplIGhldXJpc3RpY3MgaW4KK2J1aWx0aW4vcGFjay1vYmplY3RzLmM6dHJ5X2RlbHRhKCkKK0VPRgorCWdpdCBjb21taXQgLWFtIGluaXRpYWwgJiYKKwlnaXQgaW5pdCBuby10aGluICYmCisJZ2l0IC0tZ2l0LWRpcj1uby10aGluLy5naXQgY29uZmlnIHJlY2VpdmUudW5wYWNrbGltaXQgMCAmJgorCWdpdCBwdXNoIG5vLXRoaW4vLmdpdCByZWZzL2hlYWRzL21hc3RlcjpyZWZzL2hlYWRzL2ZvbyAmJgorCWVjaG8gbW9kaWZpZWQgPj4gcGF0aDEgJiYKKwlnaXQgY29tbWl0IC1hbSBtb2RpZmllZCAmJgorCWdpdCByZXBhY2sgLWFkZiAmJgorCXJjdnBjaz0iZ2l0IHJlY2VpdmUtcGFjayAtLXJlamVjdC10aGluLXBhY2stZm9yLXRlc3RpbmciICYmCisJZ2l0IHB1c2ggLS1uby10aGluIC0tcmVjZWl2ZS1wYWNrPSIkcmN2cGNrIiBuby10aGluLy5naXQgcmVmcy9oZWFkcy9tYXN0ZXI6cmVmcy9oZWFkcy9mb28KKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NTIwLXB1bGwuc2ggYi90L3Q1NTIwLXB1bGwuc2gKaW5kZXggZWQ0ZDljOC4uMjI3ZDI5MyAxMDA3NTUKLS0tIGEvdC90NTUyMC1wdWxsLnNoCisrKyBiL3QvdDU1MjAtcHVsbC5zaApAQCAtMTQ4LDYgKzE0OCw5NSBAQAogCXRlc3QgbmV3ID0gJChnaXQgc2hvdyBIRUFEOmZpbGUyKQogJwogCisjIGFkZCBhIGZlYXR1cmUgYnJhbmNoLCBrZWVwLW1lcmdlLCB0aGF0IGlzIG1lcmdlZCBpbnRvIG1hc3Rlciwgc28gdGhlCisjIHRlc3QgY2FuIHRyeSBwcmVzZXJ2aW5nIHRoZSBtZXJnZSBjb21taXQgKG9yIG5vdCkgd2l0aCB2YXJpb3VzCisjIC0tcmViYXNlIGZsYWdzL3B1bGwucmViYXNlIHNldHRpbmdzLgordGVzdF9leHBlY3Rfc3VjY2VzcyAncHJlc2VydmUgbWVyZ2Ugc2V0dXAnICcKKwlnaXQgcmVzZXQgLS1oYXJkIGJlZm9yZS1yZWJhc2UgJiYKKwlnaXQgY2hlY2tvdXQgLWIga2VlcC1tZXJnZSBzZWNvbmReICYmCisJdGVzdF9jb21taXQgZmlsZTMgJiYKKwlnaXQgY2hlY2tvdXQgdG8tcmViYXNlICYmCisJZ2l0IG1lcmdlIGtlZXAtbWVyZ2UgJiYKKwlnaXQgdGFnIGJlZm9yZS1wcmVzZXJ2ZS1yZWJhc2UKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVsbC5yZWJhc2U9ZmFsc2UgY3JlYXRlIGEgbmV3IG1lcmdlIGNvbW1pdCcgJworCWdpdCByZXNldCAtLWhhcmQgYmVmb3JlLXByZXNlcnZlLXJlYmFzZSAmJgorCXRlc3RfY29uZmlnIHB1bGwucmViYXNlIGZhbHNlICYmCisJZ2l0IHB1bGwgLiBjb3B5ICYmCisJdGVzdCAkKGdpdCByZXYtcGFyc2UgSEVBRF4xKSA9ICQoZ2l0IHJldi1wYXJzZSBiZWZvcmUtcHJlc2VydmUtcmViYXNlKSAmJgorCXRlc3QgJChnaXQgcmV2LXBhcnNlIEhFQUReMikgPSAkKGdpdCByZXYtcGFyc2UgY29weSkgJiYKKwl0ZXN0IGZpbGUzID0gJChnaXQgc2hvdyBIRUFEOmZpbGUzLnQpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1bGwucmViYXNlPXRydWUgZmxhdHRlbnMga2VlcC1tZXJnZScgJworCWdpdCByZXNldCAtLWhhcmQgYmVmb3JlLXByZXNlcnZlLXJlYmFzZSAmJgorCXRlc3RfY29uZmlnIHB1bGwucmViYXNlIHRydWUgJiYKKwlnaXQgcHVsbCAuIGNvcHkgJiYKKwl0ZXN0ICQoZ2l0IHJldi1wYXJzZSBIRUFEXl4pID0gJChnaXQgcmV2LXBhcnNlIGNvcHkpICYmCisJdGVzdCBmaWxlMyA9ICQoZ2l0IHNob3cgSEVBRDpmaWxlMy50KQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdWxsLnJlYmFzZT0xIGlzIHRyZWF0ZWQgYXMgdHJ1ZSBhbmQgZmxhdHRlbnMga2VlcC1tZXJnZScgJworCWdpdCByZXNldCAtLWhhcmQgYmVmb3JlLXByZXNlcnZlLXJlYmFzZSAmJgorCXRlc3RfY29uZmlnIHB1bGwucmViYXNlIDEgJiYKKwlnaXQgcHVsbCAuIGNvcHkgJiYKKwl0ZXN0ICQoZ2l0IHJldi1wYXJzZSBIRUFEXl4pID0gJChnaXQgcmV2LXBhcnNlIGNvcHkpICYmCisJdGVzdCBmaWxlMyA9ICQoZ2l0IHNob3cgSEVBRDpmaWxlMy50KQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdWxsLnJlYmFzZT1wcmVzZXJ2ZSByZWJhc2VzIGFuZCBtZXJnZXMga2VlcC1tZXJnZScgJworCWdpdCByZXNldCAtLWhhcmQgYmVmb3JlLXByZXNlcnZlLXJlYmFzZSAmJgorCXRlc3RfY29uZmlnIHB1bGwucmViYXNlIHByZXNlcnZlICYmCisJZ2l0IHB1bGwgLiBjb3B5ICYmCisJdGVzdCAkKGdpdCByZXYtcGFyc2UgSEVBRF5eKSA9ICQoZ2l0IHJldi1wYXJzZSBjb3B5KSAmJgorCXRlc3QgJChnaXQgcmV2LXBhcnNlIEhFQUReMikgPSAkKGdpdCByZXYtcGFyc2Uga2VlcC1tZXJnZSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVsbC5yZWJhc2U9aW52YWxpZCBmYWlscycgJworCWdpdCByZXNldCAtLWhhcmQgYmVmb3JlLXByZXNlcnZlLXJlYmFzZSAmJgorCXRlc3RfY29uZmlnIHB1bGwucmViYXNlIGludmFsaWQgJiYKKwkhIGdpdCBwdWxsIC4gY29weQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXJlYmFzZT1mYWxzZSBjcmVhdGUgYSBuZXcgbWVyZ2UgY29tbWl0JyAnCisJZ2l0IHJlc2V0IC0taGFyZCBiZWZvcmUtcHJlc2VydmUtcmViYXNlICYmCisJdGVzdF9jb25maWcgcHVsbC5yZWJhc2UgdHJ1ZSAmJgorCWdpdCBwdWxsIC0tcmViYXNlPWZhbHNlIC4gY29weSAmJgorCXRlc3QgJChnaXQgcmV2LXBhcnNlIEhFQUReMSkgPSAkKGdpdCByZXYtcGFyc2UgYmVmb3JlLXByZXNlcnZlLXJlYmFzZSkgJiYKKwl0ZXN0ICQoZ2l0IHJldi1wYXJzZSBIRUFEXjIpID0gJChnaXQgcmV2LXBhcnNlIGNvcHkpICYmCisJdGVzdCBmaWxlMyA9ICQoZ2l0IHNob3cgSEVBRDpmaWxlMy50KQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXJlYmFzZT10cnVlIHJlYmFzZXMgYW5kIGZsYXR0ZW5zIGtlZXAtbWVyZ2UnICcKKwlnaXQgcmVzZXQgLS1oYXJkIGJlZm9yZS1wcmVzZXJ2ZS1yZWJhc2UgJiYKKwl0ZXN0X2NvbmZpZyBwdWxsLnJlYmFzZSBwcmVzZXJ2ZSAmJgorCWdpdCBwdWxsIC0tcmViYXNlPXRydWUgLiBjb3B5ICYmCisJdGVzdCAkKGdpdCByZXYtcGFyc2UgSEVBRF5eKSA9ICQoZ2l0IHJldi1wYXJzZSBjb3B5KSAmJgorCXRlc3QgZmlsZTMgPSAkKGdpdCBzaG93IEhFQUQ6ZmlsZTMudCkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZWJhc2U9cHJlc2VydmUgcmViYXNlcyBhbmQgbWVyZ2VzIGtlZXAtbWVyZ2UnICcKKwlnaXQgcmVzZXQgLS1oYXJkIGJlZm9yZS1wcmVzZXJ2ZS1yZWJhc2UgJiYKKwl0ZXN0X2NvbmZpZyBwdWxsLnJlYmFzZSB0cnVlICYmCisJZ2l0IHB1bGwgLS1yZWJhc2U9cHJlc2VydmUgLiBjb3B5ICYmCisJdGVzdCAkKGdpdCByZXYtcGFyc2UgSEVBRF5eKSA9ICQoZ2l0IHJldi1wYXJzZSBjb3B5KSAmJgorCXRlc3QgJChnaXQgcmV2LXBhcnNlIEhFQUReMikgPSAkKGdpdCByZXYtcGFyc2Uga2VlcC1tZXJnZSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZWJhc2U9aW52YWxpZCBmYWlscycgJworCWdpdCByZXNldCAtLWhhcmQgYmVmb3JlLXByZXNlcnZlLXJlYmFzZSAmJgorCSEgZ2l0IHB1bGwgLS1yZWJhc2U9aW52YWxpZCAuIGNvcHkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZWJhc2Ugb3ZlcnJpZGVzIHB1bGwucmViYXNlPXByZXNlcnZlIGFuZCBmbGF0dGVucyBrZWVwLW1lcmdlJyAnCisJZ2l0IHJlc2V0IC0taGFyZCBiZWZvcmUtcHJlc2VydmUtcmViYXNlICYmCisJdGVzdF9jb25maWcgcHVsbC5yZWJhc2UgcHJlc2VydmUgJiYKKwlnaXQgcHVsbCAtLXJlYmFzZSAuIGNvcHkgJiYKKwl0ZXN0ICQoZ2l0IHJldi1wYXJzZSBIRUFEXl4pID0gJChnaXQgcmV2LXBhcnNlIGNvcHkpICYmCisJdGVzdCBmaWxlMyA9ICQoZ2l0IHNob3cgSEVBRDpmaWxlMy50KQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXJlYmFzZSB3aXRoIHJlYmFzZWQgdXBzdHJlYW0nICcKIAogCWdpdCByZW1vdGUgYWRkIC1mIG1lIC4gJiYKZGlmZiAtLWdpdCBhL3QvdDU1MzMtcHVzaC1jYXMuc2ggYi90L3Q1NTMzLXB1c2gtY2FzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJhMjBkODMKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q1NTMzLXB1c2gtY2FzLnNoCkBAIC0wLDAgKzEsMTg5IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nY29tcGFyZSAmIHN3YXAgcHVzaCBmb3JjZS9kZWxldGUgc2FmZXR5JworCisuIC4vdGVzdC1saWIuc2gKKworc2V0dXBfc3JjZHN0X2Jhc2ljICgpIHsKKwlybSAtZnIgc3JjIGRzdCAmJgorCWdpdCBjbG9uZSAtLW5vLWxvY2FsIC4gc3JjICYmCisJZ2l0IGNsb25lIC0tbm8tbG9jYWwgc3JjIGRzdCAmJgorCSgKKwkJY2Qgc3JjICYmIGdpdCBjaGVja291dCBIRUFEXjAKKwkpCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3Mgc2V0dXAgJworCTogY3JlYXRlIHRlbXBsYXRlIHJlcG9zaXRvcnkKKwl0ZXN0X2NvbW1pdCBBICYmCisJdGVzdF9jb21taXQgQiAmJgorCXRlc3RfY29tbWl0IEMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCB0byB1cGRhdGUgKHByb3RlY3RlZCknICcKKwlzZXR1cF9zcmNkc3RfYmFzaWMgJiYKKwkoCisJCWNkIGRzdCAmJgorCQl0ZXN0X2NvbW1pdCBEICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBwdXNoIC0tZm9yY2Utd2l0aC1sZWFzZT1tYXN0ZXI6bWFzdGVyIG9yaWdpbiBtYXN0ZXIKKwkpICYmCisJZ2l0IGxzLXJlbW90ZSAuIHJlZnMvaGVhZHMvbWFzdGVyID5leHBlY3QgJiYKKwlnaXQgbHMtcmVtb3RlIHNyYyByZWZzL2hlYWRzL21hc3RlciA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIHRvIHVwZGF0ZSAocHJvdGVjdGVkLCBmb3JjZWQpJyAnCisJc2V0dXBfc3JjZHN0X2Jhc2ljICYmCisJKAorCQljZCBkc3QgJiYKKwkJdGVzdF9jb21taXQgRCAmJgorCQlnaXQgcHVzaCAtLWZvcmNlIC0tZm9yY2Utd2l0aC1sZWFzZT1tYXN0ZXI6bWFzdGVyIG9yaWdpbiBtYXN0ZXIKKwkpICYmCisJZ2l0IGxzLXJlbW90ZSBkc3QgcmVmcy9oZWFkcy9tYXN0ZXIgPmV4cGVjdCAmJgorCWdpdCBscy1yZW1vdGUgc3JjIHJlZnMvaGVhZHMvbWFzdGVyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggdG8gdXBkYXRlIChwcm90ZWN0ZWQsIHRyYWNraW5nKScgJworCXNldHVwX3NyY2RzdF9iYXNpYyAmJgorCSgKKwkJY2Qgc3JjICYmCisJCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwkJdGVzdF9jb21taXQgRCAmJgorCQlnaXQgY2hlY2tvdXQgSEVBRF4wCisJKSAmJgorCWdpdCBscy1yZW1vdGUgc3JjIHJlZnMvaGVhZHMvbWFzdGVyID5leHBlY3QgJiYKKwkoCisJCWNkIGRzdCAmJgorCQl0ZXN0X2NvbW1pdCBFICYmCisJCWdpdCBscy1yZW1vdGUgLiByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlciA+ZXhwZWN0ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBwdXNoIC0tZm9yY2Utd2l0aC1sZWFzZT1tYXN0ZXIgb3JpZ2luIG1hc3RlciAmJgorCQlnaXQgbHMtcmVtb3RlIC4gcmVmcy9yZW1vdGVzL29yaWdpbi9tYXN0ZXIgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKSAmJgorCWdpdCBscy1yZW1vdGUgc3JjIHJlZnMvaGVhZHMvbWFzdGVyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggdG8gdXBkYXRlIChwcm90ZWN0ZWQsIHRyYWNraW5nLCBmb3JjZWQpJyAnCisJc2V0dXBfc3JjZHN0X2Jhc2ljICYmCisJKAorCQljZCBzcmMgJiYKKwkJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCQl0ZXN0X2NvbW1pdCBEICYmCisJCWdpdCBjaGVja291dCBIRUFEXjAKKwkpICYmCisJKAorCQljZCBkc3QgJiYKKwkJdGVzdF9jb21taXQgRSAmJgorCQlnaXQgbHMtcmVtb3RlIC4gcmVmcy9yZW1vdGVzL29yaWdpbi9tYXN0ZXIgPmV4cGVjdCAmJgorCQlnaXQgcHVzaCAtLWZvcmNlIC0tZm9yY2Utd2l0aC1sZWFzZT1tYXN0ZXIgb3JpZ2luIG1hc3RlcgorCSkgJiYKKwlnaXQgbHMtcmVtb3RlIGRzdCByZWZzL2hlYWRzL21hc3RlciA+ZXhwZWN0ICYmCisJZ2l0IGxzLXJlbW90ZSBzcmMgcmVmcy9oZWFkcy9tYXN0ZXIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCB0byB1cGRhdGUgKGFsbG93ZWQpJyAnCisJc2V0dXBfc3JjZHN0X2Jhc2ljICYmCisJKAorCQljZCBkc3QgJiYKKwkJdGVzdF9jb21taXQgRCAmJgorCQlnaXQgcHVzaCAtLWZvcmNlLXdpdGgtbGVhc2U9bWFzdGVyOm1hc3Rlcl4gb3JpZ2luIG1hc3RlcgorCSkgJiYKKwlnaXQgbHMtcmVtb3RlIGRzdCByZWZzL2hlYWRzL21hc3RlciA+ZXhwZWN0ICYmCisJZ2l0IGxzLXJlbW90ZSBzcmMgcmVmcy9oZWFkcy9tYXN0ZXIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCB0byB1cGRhdGUgKGFsbG93ZWQsIHRyYWNraW5nKScgJworCXNldHVwX3NyY2RzdF9iYXNpYyAmJgorCSgKKwkJY2QgZHN0ICYmCisJCXRlc3RfY29tbWl0IEQgJiYKKwkJZ2l0IHB1c2ggLS1mb3JjZS13aXRoLWxlYXNlPW1hc3RlciBvcmlnaW4gbWFzdGVyCisJKSAmJgorCWdpdCBscy1yZW1vdGUgZHN0IHJlZnMvaGVhZHMvbWFzdGVyID5leHBlY3QgJiYKKwlnaXQgbHMtcmVtb3RlIHNyYyByZWZzL2hlYWRzL21hc3RlciA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIHRvIHVwZGF0ZSAoYWxsb3dlZCBldmVuIHRob3VnaCBuby1mZiknICcKKwlzZXR1cF9zcmNkc3RfYmFzaWMgJiYKKwkoCisJCWNkIGRzdCAmJgorCQlnaXQgcmVzZXQgLS1oYXJkIEhFQUReICYmCisJCXRlc3RfY29tbWl0IEQgJiYKKwkJZ2l0IHB1c2ggLS1mb3JjZS13aXRoLWxlYXNlPW1hc3RlciBvcmlnaW4gbWFzdGVyCisJKSAmJgorCWdpdCBscy1yZW1vdGUgZHN0IHJlZnMvaGVhZHMvbWFzdGVyID5leHBlY3QgJiYKKwlnaXQgbHMtcmVtb3RlIHNyYyByZWZzL2hlYWRzL21hc3RlciA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIHRvIGRlbGV0ZSAocHJvdGVjdGVkKScgJworCXNldHVwX3NyY2RzdF9iYXNpYyAmJgorCWdpdCBscy1yZW1vdGUgc3JjIHJlZnMvaGVhZHMvbWFzdGVyID5leHBlY3QgJiYKKwkoCisJCWNkIGRzdCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgcHVzaCAtLWZvcmNlLXdpdGgtbGVhc2U9bWFzdGVyOm1hc3Rlcl4gb3JpZ2luIDptYXN0ZXIKKwkpICYmCisJZ2l0IGxzLXJlbW90ZSBzcmMgcmVmcy9oZWFkcy9tYXN0ZXIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCB0byBkZWxldGUgKHByb3RlY3RlZCwgZm9yY2VkKScgJworCXNldHVwX3NyY2RzdF9iYXNpYyAmJgorCSgKKwkJY2QgZHN0ICYmCisJCWdpdCBwdXNoIC0tZm9yY2UgLS1mb3JjZS13aXRoLWxlYXNlPW1hc3RlcjptYXN0ZXJeIG9yaWdpbiA6bWFzdGVyCisJKSAmJgorCT5leHBlY3QgJiYKKwlnaXQgbHMtcmVtb3RlIHNyYyByZWZzL2hlYWRzL21hc3RlciA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIHRvIGRlbGV0ZSAoYWxsb3dlZCknICcKKwlzZXR1cF9zcmNkc3RfYmFzaWMgJiYKKwkoCisJCWNkIGRzdCAmJgorCQlnaXQgcHVzaCAtLWZvcmNlLXdpdGgtbGVhc2U9bWFzdGVyIG9yaWdpbiA6bWFzdGVyCisJKSAmJgorCT5leHBlY3QgJiYKKwlnaXQgbHMtcmVtb3RlIHNyYyByZWZzL2hlYWRzL21hc3RlciA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3ZlciBldmVyeXRoaW5nIHdpdGggZGVmYXVsdCBmb3JjZS13aXRoLWxlYXNlIChwcm90ZWN0ZWQpJyAnCisJc2V0dXBfc3JjZHN0X2Jhc2ljICYmCisJKAorCQljZCBzcmMgJiYKKwkJZ2l0IGJyYW5jaCBuYXN0ZXIgbWFzdGVyXgorCSkKKwlnaXQgbHMtcmVtb3RlIHNyYyByZWZzL2hlYWRzL1wqID5leHBlY3QgJiYKKwkoCisJCWNkIGRzdCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgcHVzaCAtLWZvcmNlLXdpdGgtbGVhc2Ugb3JpZ2luIG1hc3RlciBtYXN0ZXI6bmFzdGVyCisJKSAmJgorCWdpdCBscy1yZW1vdGUgc3JjIHJlZnMvaGVhZHMvXCogPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY292ZXIgZXZlcnl0aGluZyB3aXRoIGRlZmF1bHQgZm9yY2Utd2l0aC1sZWFzZSAoYWxsb3dlZCknICcKKwlzZXR1cF9zcmNkc3RfYmFzaWMgJiYKKwkoCisJCWNkIHNyYyAmJgorCQlnaXQgYnJhbmNoIG5hc3RlciBtYXN0ZXJeCisJKQorCSgKKwkJY2QgZHN0ICYmCisJCWdpdCBmZXRjaCAmJgorCQlnaXQgcHVzaCAtLWZvcmNlLXdpdGgtbGVhc2Ugb3JpZ2luIG1hc3RlciBtYXN0ZXI6bmFzdGVyCisJKSAmJgorCWdpdCBscy1yZW1vdGUgZHN0IHJlZnMvaGVhZHMvbWFzdGVyIHwKKwlzZWQgLWUgInMvbWFzdGVyL25hc3Rlci8iID5leHBlY3QgJiYKKwlnaXQgbHMtcmVtb3RlIHNyYyByZWZzL2hlYWRzL25hc3RlciA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1NDEtaHR0cC1wdXNoLnNoIGIvdC90NTU0MS1odHRwLXB1c2guc2gKaW5kZXggYmViMDBiZS4uNDcwYWM1NCAxMDA3NTUKLS0tIGEvdC90NTU0MS1odHRwLXB1c2guc2gKKysrIGIvdC90NTU0MS1odHRwLXB1c2guc2gKQEAgLTE1Myw3ICsxNTMsNyBAQAogJwogCiB0ZXN0X2h0dHBfcHVzaF9ub25mZiAiJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSCIvdGVzdF9yZXBvLmdpdCBcCi0JIiRST09UX1BBVEgiL3Rlc3RfcmVwb19jbG9uZSBtYXN0ZXIKKwkiJFJPT1RfUEFUSCIvdGVzdF9yZXBvX2Nsb25lIG1hc3RlciAJCXN1Y2Nlc3MKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCBmYWlscyBmb3Igbm9uLWZhc3QtZm9yd2FyZCByZWZzIHVubWF0Y2hlZCBieSByZW1vdGUgaGVscGVyJyAnCiAJIyBjcmVhdGUgYSBkaXNzaW1pbGFybHktbmFtZWQgcmVtb3RlIHJlZiBzbyB0aGF0IGdpdCBpcyB1bmFibGUgdG8gbWF0Y2ggdGhlCmRpZmYgLS1naXQgYS90L3Q1NTUxLWh0dHAtZmV0Y2guc2ggYi90L3Q1NTUxLWh0dHAtZmV0Y2guc2gKaW5kZXggMWI3MWJiNS4uYWZiNDM5ZSAxMDA3NTUKLS0tIGEvdC90NTU1MS1odHRwLWZldGNoLnNoCisrKyBiL3QvdDU1NTEtaHR0cC1mZXRjaC5zaApAQCAtMTk4LDYgKzE5OCwyMiBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAorY2F0ID5jb29raWVzLnR4dCA8PEVPRgorMTI3LjAuMC4xCUZBTFNFCS9zbWFydF9jb29raWVzLwlGQUxTRQkwCW90aGVybmFtZQlvdGhlcnZhbHVlCitFT0YKK2NhdCA+ZXhwZWN0X2Nvb2tpZXMudHh0IDw8RU9GCisKKzEyNy4wLjAuMQlGQUxTRQkvc21hcnRfY29va2llcy8JRkFMU0UJMAlvdGhlcm5hbWUJb3RoZXJ2YWx1ZQorMTI3LjAuMC4xCUZBTFNFCS9zbWFydF9jb29raWVzL3JlcG8uZ2l0L2luZm8vCUZBTFNFCTAJbmFtZQl2YWx1ZQorRU9GCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb29raWVzIHN0b3JlZCBpbiBodHRwLmNvb2tpZWZpbGUgd2hlbiBodHRwLnNhdmVjb29raWVzIHNldCcgJworCWdpdCBjb25maWcgaHR0cC5jb29raWVmaWxlIGNvb2tpZXMudHh0ICYmCisJZ2l0IGNvbmZpZyBodHRwLnNhdmVjb29raWVzIHRydWUgJiYKKwlnaXQgbHMtcmVtb3RlICRIVFRQRF9VUkwvc21hcnRfY29va2llcy9yZXBvLmdpdCBtYXN0ZXIgJiYKKwl0YWlsIC0zIGNvb2tpZXMudHh0ID4gY29va2llc190YWlsLnR4dAorCXRlc3RfY21wIGV4cGVjdF9jb29raWVzLnR4dCBjb29raWVzX3RhaWwudHh0CisnCisKIHRlc3QgLW4gIiRHSVRfVEVTVF9MT05HIiAmJiB0ZXN0X3NldF9wcmVyZXEgRVhQRU5TSVZFCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgRVhQRU5TSVZFICdjcmVhdGUgNTAsMDAwIHRhZ3MgaW4gdGhlIHJlcG8nICcKQEAgLTIxOSw3ICsyMzUsNyBAQAogCWRvbmUgfCBnaXQgZmFzdC1pbXBvcnQgLS1leHBvcnQtbWFya3M9bWFya3MgJiYKIAogCSMgbm93IGFzc2lnbiB0YWdzIHRvIGFsbCB0aGUgZGFuZ2xpbmcgY29tbWl0cyB3ZSBjcmVhdGVkIGFib3ZlCi0JdGFnPSQoIiRQRVJMX1BBVEgiIC1lICJwcmludCBcImJsYVwiIHggMzAiKSAmJgorCXRhZz0kKHBlcmwgLWUgInByaW50IFwiYmxhXCIgeCAzMCIpICYmCiAJc2VkIC1lICJzfF46XChbXiBdKlwpIFwoLipcKSR8XDIgcmVmcy90YWdzLyR0YWctXDF8IiA8bWFya3MgPj5wYWNrZWQtcmVmcwogCSkKICcKZGlmZiAtLWdpdCBhL3QvdDU2MDEtY2xvbmUuc2ggYi90L3Q1NjAxLWNsb25lLnNoCmluZGV4IGY4ZTVhOWEuLjFkMWM4NzUgMTAwNzU1Ci0tLSBhL3QvdDU2MDEtY2xvbmUuc2gKKysrIGIvdC90NTYwMS1jbG9uZS5zaApAQCAtMjgwLDkgKzI4MCw1MyBAQAogCXRlc3RfY21wIGZldGNoLmV4cGVjdGVkIGZldGNoLmFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBzc2ggd3JhcHBlcicgJworCXdyaXRlX3NjcmlwdCAiJFRSQVNIX0RJUkVDVE9SWS9zc2gtd3JhcHBlciIgPDwtXEVPRiAmJgorCWVjaG8gPj4iJFRSQVNIX0RJUkVDVE9SWS9zc2gtb3V0cHV0IiAic3NoOiAkKiIgJiYKKwkjIHRocm93IGF3YXkgYWxsIGJ1dCB0aGUgbGFzdCBhcmd1bWVudCwgd2hpY2ggc2hvdWxkIGJlIHRoZQorCSMgY29tbWFuZAorCXdoaWxlIHRlc3QgJCMgLWd0IDE7IGRvIHNoaWZ0OyBkb25lCisJZXZhbCAiJDEiCisJRU9GCisKKwlHSVRfU1NIPSIkVFJBU0hfRElSRUNUT1JZL3NzaC13cmFwcGVyIiAmJgorCWV4cG9ydCBHSVRfU1NIICYmCisJZXhwb3J0IFRSQVNIX0RJUkVDVE9SWQorJworCitjbGVhcl9zc2ggKCkgeworCT4iJFRSQVNIX0RJUkVDVE9SWS9zc2gtb3V0cHV0IgorfQorCitleHBlY3Rfc3NoICgpIHsKKwl7CisJCWNhc2UgIiQxIiBpbgorCQlub25lKQorCQkJOzsKKwkJKikKKwkJCWVjaG8gInNzaDogJDEgZ2l0LXVwbG9hZC1wYWNrICckMiciCisJCWVzYWMKKwl9ID4iJFRSQVNIX0RJUkVDVE9SWS9zc2gtZXhwZWN0IiAmJgorCShjZCAiJFRSQVNIX0RJUkVDVE9SWSIgJiYgdGVzdF9jbXAgc3NoLWV4cGVjdCBzc2gtb3V0cHV0KQorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uaW5nIG15aG9zdDpzcmMgdXNlcyBzc2gnICcKKwljbGVhcl9zc2ggJiYKKwlnaXQgY2xvbmUgbXlob3N0OnNyYyBzc2gtY2xvbmUgJiYKKwlleHBlY3Rfc3NoIG15aG9zdCBzcmMKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyBOT1RfTUlOR1csTk9UX0NZR1dJTiAnY2xvbmUgbG9jYWwgcGF0aCBmb286YmFyJyAnCisJY2xlYXJfc3NoICYmCiAJY3AgLVIgc3JjICJmb286YmFyIiAmJgotCWdpdCBjbG9uZSAiLi9mb286YmFyIiBmb29iYXIKKwlnaXQgY2xvbmUgIi4vZm9vOmJhciIgZm9vYmFyICYmCisJZXhwZWN0X3NzaCBub25lCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JyYWNrZXRlZCBob3N0bmFtZXMgYXJlIHN0aWxsIHNzaCcgJworCWNsZWFyX3NzaCAmJgorCWdpdCBjbG9uZSAiW215aG9zdDoxMjNdOnNyYyIgc3NoLWJyYWNrZXQtY2xvbmUgJiYKKwlleHBlY3Rfc3NoIG15aG9zdDoxMjMgc3JjCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nsb25lIGZyb20gYSByZXBvc2l0b3J5IHdpdGggdHdvIGlkZW50aWNhbCBicmFuY2hlcycgJwpkaWZmIC0tZ2l0IGEvdC90NTgwMC1yZW1vdGUtdGVzdHB5LnNoIGIvdC90NTgwMC1yZW1vdGUtdGVzdHB5LnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAxZTY4M2Q0Li4wMDAwMDAwCi0tLSBhL3QvdDU4MDAtcmVtb3RlLXRlc3RweS5zaAorKysgL2Rldi9udWxsCkBAIC0xLDE2OSArMCwwIEBACi0jIS9iaW4vc2gKLSMKLSMgQ29weXJpZ2h0IChjKSAyMDEwIFN2ZXJyZSBSYWJiZWxpZXIKLSMKLQotdGVzdF9kZXNjcmlwdGlvbj0nVGVzdCBweXRob24gcmVtb3RlLWhlbHBlciBmcmFtZXdvcmsnCi0KLS4gLi90ZXN0LWxpYi5zaAotCi1pZiAhIHRlc3RfaGF2ZV9wcmVyZXEgUFlUSE9OIDsgdGhlbgotCXNraXBfYWxsPSdza2lwcGluZyBweXRob24gcmVtb3RlLWhlbHBlciB0ZXN0cywgcHl0aG9uIG5vdCBhdmFpbGFibGUnCi0JdGVzdF9kb25lCi1maQotCi0iJFBZVEhPTl9QQVRIIiAtYyAnCi1pbXBvcnQgc3lzCi1pZiBzeXMuaGV4dmVyc2lvbiA8IDB4MDIwNDAwMDA6Ci0gICAgc3lzLmV4aXQoMSkKLScgfHwgewotCXNraXBfYWxsPSdza2lwcGluZyBweXRob24gcmVtb3RlLWhlbHBlciB0ZXN0cywgcHl0aG9uIHZlcnNpb24gPCAyLjQnCi0JdGVzdF9kb25lCi19Ci0KLWNvbXBhcmVfcmVmcygpIHsKLQlnaXQgLS1naXQtZGlyPSIkMS8uZ2l0IiByZXYtcGFyc2UgLS12ZXJpZnkgJDIgPmV4cGVjdCAmJgotCWdpdCAtLWdpdC1kaXI9IiQzLy5naXQiIHJldi1wYXJzZSAtLXZlcmlmeSAkNCA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAotfQotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCByZXBvc2l0b3J5JyAnCi0JZ2l0IGluaXQgLS1iYXJlIHNlcnZlci8uZ2l0ICYmCi0JZ2l0IGNsb25lIHNlcnZlciBwdWJsaWMgJiYKLQkoY2QgcHVibGljICYmCi0JIGVjaG8gY29udGVudCA+ZmlsZSAmJgotCSBnaXQgYWRkIGZpbGUgJiYKLQkgZ2l0IGNvbW1pdCAtbSBvbmUgJiYKLQkgZ2l0IHB1c2ggb3JpZ2luIG1hc3RlcikKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmluZyBmcm9tIGxvY2FsIHJlcG8nICcKLQlnaXQgY2xvbmUgInRlc3RweTo6JHtQV0R9L3NlcnZlciIgbG9jYWxjbG9uZSAmJgotCXRlc3RfY21wIHB1YmxpYy9maWxlIGxvY2FsY2xvbmUvZmlsZQotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uaW5nIGZyb20gcmVtb3RlIHJlcG8nICcKLQlnaXQgY2xvbmUgInRlc3RweTo6ZmlsZTovLyR7UFdEfS9zZXJ2ZXIiIGNsb25lICYmCi0JdGVzdF9jbXAgcHVibGljL2ZpbGUgY2xvbmUvZmlsZQotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgbmV3IGNvbW1pdCBvbiByZW1vdGUnICcKLQkoY2QgcHVibGljICYmCi0JIGVjaG8gY29udGVudCA+PmZpbGUgJiYKLQkgZ2l0IGNvbW1pdCAtYSAtbSB0d28gJiYKLQkgZ2l0IHB1c2gpCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1bGxpbmcgZnJvbSBsb2NhbCByZXBvJyAnCi0JKGNkIGxvY2FsY2xvbmUgJiYgZ2l0IHB1bGwpICYmCi0JdGVzdF9jbXAgcHVibGljL2ZpbGUgbG9jYWxjbG9uZS9maWxlCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1bGxpbmcgZnJvbSByZW1vdGUgcmVtb3RlJyAnCi0JKGNkIGNsb25lICYmIGdpdCBwdWxsKSAmJgotCXRlc3RfY21wIHB1YmxpYy9maWxlIGNsb25lL2ZpbGUKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaGluZyB0byBsb2NhbCByZXBvJyAnCi0JKGNkIGxvY2FsY2xvbmUgJiYKLQllY2hvIGNvbnRlbnQgPj5maWxlICYmCi0JZ2l0IGNvbW1pdCAtYSAtbSB0aHJlZSAmJgotCWdpdCBwdXNoKSAmJgotCWNvbXBhcmVfcmVmcyBsb2NhbGNsb25lIEhFQUQgc2VydmVyIEhFQUQKLScKLQotIyBHZW5lcmFsbHksIHNraXAgdGhpcyB0ZXN0LiAgSXQgZGVtb25zdHJhdGVzIGEgbm93LWZpeGVkIHJhY2UgaW4KLSMgZ2l0LXJlbW90ZS10ZXN0cHksIGJ1dCBpcyB0b28gc2xvdyB0byBsZWF2ZSBpbiBmb3IgZ2VuZXJhbCB1c2UuCi06IHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JhY2lseSBwdXNoaW5nIHRvIGxvY2FsIHJlcG8nICcKLQl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBzZXJ2ZXIyIGxvY2FsY2xvbmUyIiAmJgotCWNwIC1SIHNlcnZlciBzZXJ2ZXIyICYmCi0JZ2l0IGNsb25lICJ0ZXN0cHk6OiR7UFdEfS9zZXJ2ZXIyIiBsb2NhbGNsb25lMiAmJgotCShjZCBsb2NhbGNsb25lMiAmJgotCWVjaG8gY29udGVudCA+PmZpbGUgJiYKLQlnaXQgY29tbWl0IC1hIC1tIHRocmVlICYmCi0JR0lUX1JFTU9URV9URVNUR0lUX1NMRUVQWT0yIGdpdCBwdXNoKSAmJgotCWNvbXBhcmVfcmVmcyBsb2NhbGNsb25lMiBIRUFEIHNlcnZlcjIgSEVBRAotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzeW5jaCB3aXRoIGNoYW5nZXMgZnJvbSBsb2NhbGNsb25lJyAnCi0JKGNkIGNsb25lICYmCi0JIGdpdCBwdWxsKQotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoaW5nIHJlbW90ZSBsb2NhbCByZXBvJyAnCi0JKGNkIGNsb25lICYmCi0JZWNobyBjb250ZW50ID4+ZmlsZSAmJgotCWdpdCBjb21taXQgLWEgLW0gZm91ciAmJgotCWdpdCBwdXNoKSAmJgotCWNvbXBhcmVfcmVmcyBjbG9uZSBIRUFEIHNlcnZlciBIRUFECi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoIG5ldyBicmFuY2gnICcKLQkoY2QgcHVibGljICYmCi0JIGdpdCBjaGVja291dCAtYiBuZXcgJiYKLQkgZWNobyBjb250ZW50ID4+ZmlsZSAmJgotCSBnaXQgY29tbWl0IC1hIC1tIGZpdmUgJiYKLQkgZ2l0IHB1c2ggb3JpZ2luIG5ldwotCSkgJiYKLQkoY2QgbG9jYWxjbG9uZSAmJgotCSBnaXQgZmV0Y2ggb3JpZ2luIG5ldwotCSkgJiYKLQljb21wYXJlX3JlZnMgcHVibGljIEhFQUQgbG9jYWxjbG9uZSBGRVRDSF9IRUFECi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoIG11bHRpcGxlIGJyYW5jaGVzJyAnCi0JKGNkIGxvY2FsY2xvbmUgJiYKLQkgZ2l0IGZldGNoCi0JKSAmJgotCWNvbXBhcmVfcmVmcyBzZXJ2ZXIgbWFzdGVyIGxvY2FsY2xvbmUgcmVmcy9yZW1vdGVzL29yaWdpbi9tYXN0ZXIgJiYKLQljb21wYXJlX3JlZnMgc2VydmVyIG5ldyBsb2NhbGNsb25lIHJlZnMvcmVtb3Rlcy9vcmlnaW4vbmV3Ci0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggd2hlbiByZW1vdGUgaGFzIGV4dHJhIHJlZnMnICcKLQkoY2QgY2xvbmUgJiYKLQkgZWNobyBjb250ZW50ID4+ZmlsZSAmJgotCSBnaXQgY29tbWl0IC1hIC1tIHNpeCAmJgotCSBnaXQgcHVzaAotCSkgJiYKLQljb21wYXJlX3JlZnMgY2xvbmUgbWFzdGVyIHNlcnZlciBtYXN0ZXIKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCBuZXcgYnJhbmNoIGJ5IG5hbWUnICcKLQkoY2QgY2xvbmUgJiYKLQkgZ2l0IGNoZWNrb3V0IC1iIG5ldy1uYW1lICAmJgotCSBlY2hvIGNvbnRlbnQgPj5maWxlICYmCi0JIGdpdCBjb21taXQgLWEgLW0gc2V2ZW4gJiYKLQkgZ2l0IHB1c2ggb3JpZ2luIG5ldy1uYW1lCi0JKSAmJgotCWNvbXBhcmVfcmVmcyBjbG9uZSBIRUFEIHNlcnZlciByZWZzL2hlYWRzL25ldy1uYW1lCi0nCi0KLXRlc3RfZXhwZWN0X2ZhaWx1cmUgJ3B1c2ggbmV3IGJyYW5jaCB3aXRoIG9sZDpuZXcgcmVmc3BlYycgJwotCShjZCBjbG9uZSAmJgotCSBnaXQgcHVzaCBvcmlnaW4gbmV3LW5hbWU6bmV3LXJlZnNwZWMKLQkpICYmCi0JY29tcGFyZV9yZWZzIGNsb25lIEhFQUQgc2VydmVyIHJlZnMvaGVhZHMvbmV3LXJlZnNwZWMKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAncHJvcGVyIGZhaWx1cmUgY2hlY2tzIGZvciBmZXRjaGluZycgJwotCShHSVRfUkVNT1RFX1RFU1RHSVRfRkFJTFVSRT0xICYmCi0JZXhwb3J0IEdJVF9SRU1PVEVfVEVTVEdJVF9GQUlMVVJFICYmCi0JY2QgbG9jYWxjbG9uZSAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCBmZXRjaCAyPiYxIHwgXAotCQlncmVwICJFcnJvciB3aGlsZSBydW5uaW5nIGZhc3QtaW1wb3J0IgotCSkKLScKLQotIyBXZSBzbGVlcCB0byBnaXZlIGZhc3QtZXhwb3J0IGEgY2hhbmNlIHRvIGNhdGNoIHRoZSBTSUdQSVBFCi10ZXN0X2V4cGVjdF9mYWlsdXJlICdwcm9wZXIgZmFpbHVyZSBjaGVja3MgZm9yIHB1c2hpbmcnICcKLQkoR0lUX1JFTU9URV9URVNUR0lUX0ZBSUxVUkU9MSAmJgotCWV4cG9ydCBHSVRfUkVNT1RFX1RFU1RHSVRfRkFJTFVSRSAmJgotCUdJVF9SRU1PVEVfVEVTVEdJVF9TTEVFUFk9MSAmJgotCWV4cG9ydCBHSVRfUkVNT1RFX1RFU1RHSVRfU0xFRVBZICYmCi0JY2QgbG9jYWxjbG9uZSAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCBwdXNoIC0tYWxsIDI+JjEgfCBcCi0JCWdyZXAgIkVycm9yIHdoaWxlIHJ1bm5pbmcgZmFzdC1leHBvcnQiCi0JKQotJwotCi10ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU4MDEtcmVtb3RlLWhlbHBlcnMuc2ggYi90L3Q1ODAxLXJlbW90ZS1oZWxwZXJzLnNoCmluZGV4IDhjNGM1MzkuLjYxM2Y2OWEgMTAwNzU1Ci0tLSBhL3QvdDU4MDEtcmVtb3RlLWhlbHBlcnMuc2gKKysrIGIvdC90NTgwMS1yZW1vdGUtaGVscGVycy5zaApAQCAtMTgyLDYgKzE4MiwxNyBAQAogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCB1cGRhdGUgcmVmcyBkaXNhYmxlZCBieSBuby1wcml2YXRlLXVwZGF0ZScgJworCShjZCBsb2NhbCAmJgorCWVjaG8gbW9yZS11cGRhdGUgPj5maWxlICYmCisJZ2l0IGNvbW1pdCAtYSAtbSBtb3JlLXVwZGF0ZSAmJgorCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgdGVzdGdpdC9vcmlnaW4vaGVhZHMvdXBkYXRlID5leHBlY3QgJiYKKwlHSVRfUkVNT1RFX1RFU1RHSVRfTk9fUFJJVkFURV9VUERBVEU9dCBnaXQgcHVzaCBvcmlnaW4gdXBkYXRlICYmCisJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSB0ZXN0Z2l0L29yaWdpbi9oZWFkcy91cGRhdGUgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggdXBkYXRlIHJlZnMgZmFpbHVyZScgJwogCShjZCBsb2NhbCAmJgogCWdpdCBjaGVja291dCB1cGRhdGUgJiYKZGlmZiAtLWdpdCBhL3QvdDYwMTEtcmV2LWxpc3Qtd2l0aC1iYWQtY29tbWl0LnNoIGIvdC90NjAxMS1yZXYtbGlzdC13aXRoLWJhZC1jb21taXQuc2gKaW5kZXggYmJiMDU4MS4uZTUxZWI0MSAxMDA3NTUKLS0tIGEvdC90NjAxMS1yZXYtbGlzdC13aXRoLWJhZC1jb21taXQuc2gKKysrIGIvdC90NjAxMS1yZXYtbGlzdC13aXRoLWJhZC1jb21taXQuc2gKQEAgLTM3LDcgKzM3LDcgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY29ycnVwdCBzZWNvbmQgY29tbWl0IG9iamVjdCcgXAogICAgJwotICAgIiRQRVJMX1BBVEgiIC1pLmJhayAtcGUgInMvc2Vjb25kIGNvbW1pdC9zb2NvbmQgY29tbWl0LyIgLmdpdC9vYmplY3RzL3BhY2svKi5wYWNrICYmCisgICBwZXJsIC1pLmJhayAtcGUgInMvc2Vjb25kIGNvbW1pdC9zb2NvbmQgY29tbWl0LyIgLmdpdC9vYmplY3RzL3BhY2svKi5wYWNrICYmCiAgICB0ZXN0X211c3RfZmFpbCBnaXQgZnNjayAtLWZ1bGwKICAgICcKIApkaWZmIC0tZ2l0IGEvdC90NjAxMy1yZXYtbGlzdC1yZXZlcnNlLXBhcmVudHMuc2ggYi90L3Q2MDEzLXJldi1saXN0LXJldmVyc2UtcGFyZW50cy5zaAppbmRleCA4OTJhNTM3Li41OWZjMmYwIDEwMDc1NQotLS0gYS90L3Q2MDEzLXJldi1saXN0LXJldmVyc2UtcGFyZW50cy5zaAorKysgYi90L3Q2MDEzLXJldi1saXN0LXJldmVyc2UtcGFyZW50cy5zaApAQCAtMjUsNyArMjUsNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXJldmVyc2UgLS1wYXJlbnRzIC0tZnVsbC1oaXN0b3J5IGNvbWJpbmVzIGNvcnJlY3RseScgJwogCWdpdCByZXYtbGlzdCAtLXBhcmVudHMgLS1mdWxsLWhpc3RvcnkgbWFzdGVyIC0tIGZvbyB8Ci0JCSIkUEVSTF9QQVRIIiAtZSAicHJpbnQgcmV2ZXJzZSA8PiIgPiBleHBlY3RlZCAmJgorCQlwZXJsIC1lICJwcmludCByZXZlcnNlIDw+IiA+IGV4cGVjdGVkICYmCiAJZ2l0IHJldi1saXN0IC0tcmV2ZXJzZSAtLXBhcmVudHMgLS1mdWxsLWhpc3RvcnkgbWFzdGVyIC0tIGZvbyBcCiAJCT4gYWN0dWFsICYmCiAJdGVzdF9jbXAgYWN0dWFsIGV4cGVjdGVkCkBAIC0zMyw3ICszMyw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tYm91bmRhcnkgZG9lcyB0b28nICcKIAlnaXQgcmV2LWxpc3QgLS1ib3VuZGFyeSAtLXBhcmVudHMgLS1mdWxsLWhpc3RvcnkgbWFzdGVyIF5yb290IC0tIGZvbyB8Ci0JCSIkUEVSTF9QQVRIIiAtZSAicHJpbnQgcmV2ZXJzZSA8PiIgPiBleHBlY3RlZCAmJgorCQlwZXJsIC1lICJwcmludCByZXZlcnNlIDw+IiA+IGV4cGVjdGVkICYmCiAJZ2l0IHJldi1saXN0IC0tYm91bmRhcnkgLS1yZXZlcnNlIC0tcGFyZW50cyAtLWZ1bGwtaGlzdG9yeSBcCiAJCW1hc3RlciBecm9vdCAtLSBmb28gPiBhY3R1YWwgJiYKIAl0ZXN0X2NtcCBhY3R1YWwgZXhwZWN0ZWQKZGlmZiAtLWdpdCBhL3QvdDYwMjItbWVyZ2UtcmVuYW1lLnNoIGIvdC90NjAyMi1tZXJnZS1yZW5hbWUuc2gKaW5kZXggYzY4MGY3OC4uYTg5ZGZiZSAxMDA3NTUKLS0tIGEvdC90NjAyMi1tZXJnZS1yZW5hbWUuc2gKKysrIGIvdC90NjAyMi1tZXJnZS1yZW5hbWUuc2gKQEAgLTI1OSw3ICsyNTksNyBAQAogCXByaW50ZiAiMVxuMlxuM1xuNFxuNVxuNlxuN1xuOFxuOVxuMTBcbiIgPnN1Yi9maWxlICYmCiAJZWNobyBmb28gPmRpci9maWxlLWluLXRoZS13YXkgJiYKIAlnaXQgYWRkIC1BICYmCi0JZ2l0IGNvbW1pdCAtbSAiQ29tbW9uIGNvbW1taXQiICYmCisJZ2l0IGNvbW1pdCAtbSAiQ29tbW9uIGNvbW1pdCIgJiYKIAogCWVjaG8gMTEgPj5zdWIvZmlsZSAmJgogCWVjaG8gbW9yZSA+PmRpci9maWxlLWluLXRoZS13YXkgJiYKQEAgLTQzOSw3ICs0MzksNyBAQAogCW1rZGlyIG9uZSAmJgogCWVjaG8gc3R1ZmYgPm9uZS9maWxlICYmCiAJZ2l0IGFkZCAtQSAmJgotCWdpdCBjb21taXQgLW0gIkNvbW1vbiBjb21tbWl0IiAmJgorCWdpdCBjb21taXQgLW0gIkNvbW1vbiBjb21taXQiICYmCiAKIAlnaXQgbXYgb25lL2ZpbGUgZGVzdGRpciAmJgogCWdpdCBjb21taXQgLW0gIlJlbmFtZWQgdG8gZGVzdGRpciIgJiYKQEAgLTQ3OSw3ICs0NzksNyBAQAogCWVjaG8gc3R1ZmYgPm9uZS9maWxlICYmCiAJZWNobyBvdGhlciA+dHdvL2ZpbGUgJiYKIAlnaXQgYWRkIC1BICYmCi0JZ2l0IGNvbW1pdCAtbSAiQ29tbW9uIGNvbW1taXQiICYmCisJZ2l0IGNvbW1pdCAtbSAiQ29tbW9uIGNvbW1pdCIgJiYKIAogCWdpdCBybSAtcmYgb25lICYmCiAJZ2l0IG12IHR3by9maWxlIG9uZSAmJgpAQCAtNTM5LDcgKzUzOSw3IEBACiAKIAllY2hvIHN0dWZmID5vcmlnaW5hbCAmJgogCWdpdCBhZGQgLUEgJiYKLQlnaXQgY29tbWl0IC1tICJDb21tb24gY29tbW1pdCIgJiYKKwlnaXQgY29tbWl0IC1tICJDb21tb24gY29tbWl0IiAmJgogCiAJbWtkaXIgdHdvICYmCiAJPnR3by9maWxlICYmCkBAIC01ODMsNyArNTgzLDcgQEAKIAlta2RpciBvbmUgdHdvICYmCiAJdG91Y2ggb25lL2ZpbGUgdHdvL2ZpbGUgJiYKIAlnaXQgYWRkIC1BICYmCi0JZ2l0IGNvbW1pdCAtbSAiQ29tbW9uIGNvbW1taXQiICYmCisJZ2l0IGNvbW1pdCAtbSAiQ29tbW9uIGNvbW1pdCIgJiYKIAogCWdpdCBybSAtcmYgb25lICYmCiAJZ2l0IG12IG9yaWdpbmFsIG9uZSAmJgpAQCAtNjE4LDcgKzYxOCw3IEBACiAKIAlwcmludGYgIjFcbjJcbjNcbjRcbjVcbjZcbjdcbjhcbjlcbjEwXG4iID5vcmlnaW5hbCAmJgogCWdpdCBhZGQgLUEgJiYKLQlnaXQgY29tbWl0IC1tICJDb21tb24gY29tbW1pdCIgJiYKKwlnaXQgY29tbWl0IC1tICJDb21tb24gY29tbWl0IiAmJgogCiAJZ2l0IG12IG9yaWdpbmFsIHJlbmFtZSAmJgogCWVjaG8gMTEgPj5yZW5hbWUgJiYKQEAgLTY0OSw3ICs2NDksNyBAQAogCW1rZGlyIGRmICYmCiAJcHJpbnRmICIxXG4yXG4zXG40XG41XG42XG43XG44XG45XG4xMFxuIiA+ZGYvZmlsZSAmJgogCWdpdCBhZGQgLUEgJiYKLQlnaXQgY29tbWl0IC1tICJDb21tb24gY29tbW1pdCIgJiYKKwlnaXQgY29tbWl0IC1tICJDb21tb24gY29tbWl0IiAmJgogCiAJZ2l0IG12IGRmL2ZpbGUgdGVtcCAmJgogCXJtIC1yZiBkZiAmJgpkaWZmIC0tZ2l0IGEvdC90NjA0MC10cmFja2luZy1pbmZvLnNoIGIvdC90NjA0MC10cmFja2luZy1pbmZvLnNoCmluZGV4IGVjMmI1MTYuLjdhYzhmZDAgMTAwNzU1Ci0tLSBhL3QvdDYwNDAtdHJhY2tpbmctaW5mby5zaAorKysgYi90L3Q2MDQwLXRyYWNraW5nLWluZm8uc2gKQEAgLTI4LDE4ICsyOCwyNSBAQAogCQlnaXQgcmVzZXQgLS1oYXJkIEhFQUReICYmCiAJCWdpdCBjaGVja291dCAtYiBiNCBvcmlnaW4gJiYKIAkJYWR2YW5jZSBlICYmCi0JCWFkdmFuY2UgZgorCQlhZHZhbmNlIGYgJiYKKwkJZ2l0IGNoZWNrb3V0IC1iIGJyb2tlbmJhc2Ugb3JpZ2luICYmCisJCWdpdCBjaGVja291dCAtYiBiNSAtLXRyYWNrIGJyb2tlbmJhc2UgJiYKKwkJYWR2YW5jZSBnICYmCisJCWdpdCBicmFuY2ggLWQgYnJva2VuYmFzZSAmJgorCQlnaXQgY2hlY2tvdXQgLWIgYjYgb3JpZ2luCiAJKSAmJgogCWdpdCBjaGVja291dCAtYiBmb2xsb3dlciAtLXRyYWNrIG1hc3RlciAmJgotCWFkdmFuY2UgZworCWFkdmFuY2UgaAogJwogCi1zY3JpcHQ9J3MvXi4uXChiLlwpWwkgMC05YS1mXSpcW1woW15dXSpcKVxdLiovXDEgXDIvcCcKK3NjcmlwdD0ncy9eLi5cKGIuXCkgKlswLTlhLWZdKiBcKC4qXCkkL1wxIFwyL3AnCiBjYXQgPmV4cGVjdCA8PFxFT0YKLWIxIGFoZWFkIDEsIGJlaGluZCAxCi1iMiBhaGVhZCAxLCBiZWhpbmQgMQotYjMgYmVoaW5kIDEKLWI0IGFoZWFkIDIKK2IxIFthaGVhZCAxLCBiZWhpbmQgMV0gZAorYjIgW2FoZWFkIDEsIGJlaGluZCAxXSBkCitiMyBbYmVoaW5kIDFdIGIKK2I0IFthaGVhZCAyXSBmCitiNSBnCitiNiBjCiBFT0YKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYnJhbmNoIC12JyAnCkBAIC01MiwxMCArNTksMTIgQEAKICcKIAogY2F0ID5leHBlY3QgPDxcRU9GCi1iMSBvcmlnaW4vbWFzdGVyOiBhaGVhZCAxLCBiZWhpbmQgMQotYjIgb3JpZ2luL21hc3RlcjogYWhlYWQgMSwgYmVoaW5kIDEKLWIzIG9yaWdpbi9tYXN0ZXI6IGJlaGluZCAxCi1iNCBvcmlnaW4vbWFzdGVyOiBhaGVhZCAyCitiMSBbb3JpZ2luL21hc3RlcjogYWhlYWQgMSwgYmVoaW5kIDFdIGQKK2IyIFtvcmlnaW4vbWFzdGVyOiBhaGVhZCAxLCBiZWhpbmQgMV0gZAorYjMgW29yaWdpbi9tYXN0ZXI6IGJlaGluZCAxXSBiCitiNCBbb3JpZ2luL21hc3RlcjogYWhlYWQgMl0gZgorYjUgW2Jyb2tlbmJhc2U6IGdvbmVdIGcKK2I2IFtvcmlnaW4vbWFzdGVyXSBjCiBFT0YKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYnJhbmNoIC12dicgJwpAQCAtNjcsNyArNzYsNyBAQAogCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja291dCAoZGl2ZXJnZWQgZnJvbSB1cHN0cmVhbSknICcKIAkoCiAJCWNkIHRlc3QgJiYgZ2l0IGNoZWNrb3V0IGIxCiAJKSA+YWN0dWFsICYmCkBAIC04MCw3ICs4OSwyMiBAQAogCXRlc3RfaTE4bmdyZXAgImlzIGFoZWFkIG9mIiBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja291dCAodXBzdHJlYW0gaXMgZ29uZSknICcKKwkoCisJCWNkIHRlc3QgJiYKKwkJZ2l0IGNoZWNrb3V0IGI1CisJKSA+YWN0dWFsICYmCisJdGVzdF9pMThuZ3JlcCAiaXMgYmFzZWQgb24gLiosIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS4iIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja291dCAodXAtdG8tZGF0ZSB3aXRoIHVwc3RyZWFtKScgJworCSgKKwkJY2QgdGVzdCAmJiBnaXQgY2hlY2tvdXQgYjYKKwkpID5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5ncmVwICJZb3VyIGJyYW5jaCBpcyB1cC10by1kYXRlIHdpdGggLm9yaWdpbi9tYXN0ZXIiIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgKGRpdmVyZ2VkIGZyb20gdXBzdHJlYW0pJyAnCiAJKAogCQljZCB0ZXN0ICYmCiAJCWdpdCBjaGVja291dCBiMSA+L2Rldi9udWxsICYmCkBAIC05MCw2ICsxMTQsNjUgQEAKIAl0ZXN0X2kxOG5ncmVwICJoYXZlIDEgYW5kIDEgZGlmZmVyZW50IiBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzICh1cHN0cmVhbSBpcyBnb25lKScgJworCSgKKwkJY2QgdGVzdCAmJgorCQlnaXQgY2hlY2tvdXQgYjUgPi9kZXYvbnVsbCAmJgorCQkjIHJlcG9ydHMgbm90aGluZyB0byBjb21taXQKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbW1pdCAtLWRyeS1ydW4KKwkpID5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5ncmVwICJpcyBiYXNlZCBvbiAuKiwgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLiIgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyAodXAtdG8tZGF0ZSB3aXRoIHVwc3RyZWFtKScgJworCSgKKwkJY2QgdGVzdCAmJgorCQlnaXQgY2hlY2tvdXQgYjYgPi9kZXYvbnVsbCAmJgorCQkjIHJlcG9ydHMgbm90aGluZyB0byBjb21taXQKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbW1pdCAtLWRyeS1ydW4KKwkpID5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5ncmVwICJZb3VyIGJyYW5jaCBpcyB1cC10by1kYXRlIHdpdGggLm9yaWdpbi9tYXN0ZXIiIGFjdHVhbAorJworCitjYXQgPmV4cGVjdCA8PFxFT0YKKyMjIGIxLi4ub3JpZ2luL21hc3RlciBbYWhlYWQgMSwgYmVoaW5kIDFdCitFT0YKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIC1zIC1iIChkaXZlcmdlZCBmcm9tIHVwc3RyZWFtKScgJworCSgKKwkJY2QgdGVzdCAmJgorCQlnaXQgY2hlY2tvdXQgYjEgPi9kZXYvbnVsbCAmJgorCQlnaXQgc3RhdHVzIC1zIC1iIHwgaGVhZCAtMQorCSkgPmFjdHVhbCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCisnCisKK2NhdCA+ZXhwZWN0IDw8XEVPRgorIyMgYjUuLi5icm9rZW5iYXNlIFtnb25lXQorRU9GCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyAtcyAtYiAodXBzdHJlYW0gaXMgZ29uZSknICcKKwkoCisJCWNkIHRlc3QgJiYKKwkJZ2l0IGNoZWNrb3V0IGI1ID4vZGV2L251bGwgJiYKKwkJZ2l0IHN0YXR1cyAtcyAtYiB8IGhlYWQgLTEKKwkpID5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAorJworCitjYXQgPmV4cGVjdCA8PFxFT0YKKyMjIGI2Li4ub3JpZ2luL21hc3RlcgorRU9GCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyAtcyAtYiAodXAtdG8tZGF0ZSB3aXRoIHVwc3RyZWFtKScgJworCSgKKwkJY2QgdGVzdCAmJgorCQlnaXQgY2hlY2tvdXQgYjYgPi9kZXYvbnVsbCAmJgorCQlnaXQgc3RhdHVzIC1zIC1iIHwgaGVhZCAtMQorCSkgPmFjdHVhbCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZhaWwgdG8gdHJhY2sgbGlnaHR3ZWlnaHQgdGFncycgJwogCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKIAlnaXQgdGFnIGxpZ2h0ICYmCmRpZmYgLS1naXQgYS90L3Q2MDUwLXJlcGxhY2Uuc2ggYi90L3Q2MDUwLXJlcGxhY2Uuc2gKaW5kZXggZGVjZGMzMy4uN2Q0Nzk4NCAxMDA3NTUKLS0tIGEvdC90NjA1MC1yZXBsYWNlLnNoCisrKyBiL3QvdDYwNTAtcmVwbGFjZS5zaApAQCAtMTIyLDkgKzEyMiw5IEBACiAgICAgIHRlc3QgIiRIQVNIMiIgPSAiJChnaXQgcmVwbGFjZSAtbCkiICYmCiAgICAgIHRlc3QgIiRIQVNIMiIgPSAiJChnaXQgcmVwbGFjZSkiICYmCiAgICAgIGFhPSR7SEFTSDIlPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz99ICYmCi0gICAgIHRlc3QgIiRIQVNIMiIgPSAiJChnaXQgcmVwbGFjZSAtbCAiJGFhKiIpIiAmJgorICAgICB0ZXN0ICIkSEFTSDIiID0gIiQoZ2l0IHJlcGxhY2UgLS1saXN0ICIkYWEqIikiICYmCiAgICAgIHRlc3RfbXVzdF9mYWlsIGdpdCByZXBsYWNlIC1kICRSICYmCi0gICAgIHRlc3RfbXVzdF9mYWlsIGdpdCByZXBsYWNlIC1kICYmCisgICAgIHRlc3RfbXVzdF9mYWlsIGdpdCByZXBsYWNlIC0tZGVsZXRlICYmCiAgICAgIHRlc3RfbXVzdF9mYWlsIGdpdCByZXBsYWNlIC1sIC1kICRIQVNIMiAmJgogICAgICBnaXQgcmVwbGFjZSAtZCAkSEFTSDIgJiYKICAgICAgZ2l0IHNob3cgJEhBU0gyIHwgZ3JlcCAiQSBVIFRob3IiICYmCkBAIC0xNDcsNyArMTQ3LDcgQEAKICAgICAgZ2l0IHNob3cgJEhBU0gyIHwgZ3JlcCAiTyBUaG9yIiAmJgogICAgICB0ZXN0X211c3RfZmFpbCBnaXQgcmVwbGFjZSAkSEFTSDIgJFIgJiYKICAgICAgZ2l0IHJlcGxhY2UgLWYgJEhBU0gyICRSICYmCi0gICAgIHRlc3RfbXVzdF9mYWlsIGdpdCByZXBsYWNlIC1mICYmCisgICAgIHRlc3RfbXVzdF9mYWlsIGdpdCByZXBsYWNlIC0tZm9yY2UgJiYKICAgICAgdGVzdCAiJEhBU0gyIiA9ICIkKGdpdCByZXBsYWNlKSIKICcKIApAQCAtMjYzLDQgKzI2MywyMyBAQAogCXRlc3RfY21wIGZpbGUucmVwbGFjZWQgZmlsZQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXBsYWNlZCBhbmQgcmVwbGFjZW1lbnQgb2JqZWN0cyBtdXN0IGJlIG9mIHRoZSBzYW1lIHR5cGUnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmVwbGFjZSBteXRhZyAkSEFTSDEgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmVwbGFjZSBIRUFEXnt0cmVlfSBIRUFEfjEgJiYKKwlCTE9CPSQoZ2l0IHJldi1wYXJzZSA6ZmlsZSkgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmVwbGFjZSBIRUFEXiAkQkxPQgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctZiBvcHRpb24gYnlwYXNzZXMgdGhlIHR5cGUgY2hlY2snICcKKwlnaXQgcmVwbGFjZSAtZiBteXRhZyAkSEFTSDEgJiYKKwlnaXQgcmVwbGFjZSAtLWZvcmNlIEhFQURee3RyZWV9IEhFQUR+MSAmJgorCWdpdCByZXBsYWNlIC1mIEhFQUReICRCTE9CCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlcGxhY2UgcmVmIGNsZWFudXAnICcKKwl0ZXN0IC1uICIkKGdpdCByZXBsYWNlKSIgJiYKKwlnaXQgcmVwbGFjZSAtZCAkKGdpdCByZXBsYWNlKSAmJgorCXRlc3QgLXogIiQoZ2l0IHJlcGxhY2UpIgorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDYxMDEtcmV2LXBhcnNlLXBhcmVudHMuc2ggYi90L3Q2MTAxLXJldi1wYXJzZS1wYXJlbnRzLnNoCmluZGV4IGU2NzNjMjUuLjdlYTE0Y2UgMTAwNzU1Ci0tLSBhL3QvdDYxMDEtcmV2LXBhcnNlLXBhcmVudHMuc2gKKysrIGIvdC90NjEwMS1yZXYtcGFyc2UtcGFyZW50cy5zaApAQCAtNiwzOSArNiw4NiBAQAogdGVzdF9kZXNjcmlwdGlvbj0nVGVzdCBnaXQgcmV2LXBhcnNlIHdpdGggZGlmZmVyZW50IHBhcmVudCBvcHRpb25zJwogCiAuIC4vdGVzdC1saWIuc2gKLS4gIiRURVNUX0RJUkVDVE9SWSIvbGliLXQ2MDAwLnNoICMgdDZ4eHggc3BlY2lmaWMgZnVuY3Rpb25zCiAKLWRhdGUgPnBhdGgwCi1naXQgdXBkYXRlLWluZGV4IC0tYWRkIHBhdGgwCi1zYXZlX3RhZyB0cmVlIGdpdCB3cml0ZS10cmVlCi1oaWRlX2Vycm9yIHNhdmVfdGFnIHN0YXJ0IHVuaXF1ZV9jb21taXQgInN0YXJ0IiB0cmVlCi1zYXZlX3RhZyBzZWNvbmQgdW5pcXVlX2NvbW1pdCAic2Vjb25kIiB0cmVlIC1wIHN0YXJ0Ci1oaWRlX2Vycm9yIHNhdmVfdGFnIHN0YXJ0MiB1bmlxdWVfY29tbWl0ICJzdGFydDIiIHRyZWUKLXNhdmVfdGFnIHR3b19wYXJlbnRzIHVuaXF1ZV9jb21taXQgIm5leHQiIHRyZWUgLXAgc2Vjb25kIC1wIHN0YXJ0Mgotc2F2ZV90YWcgZmluYWwgdW5pcXVlX2NvbW1pdCAiZmluYWwiIHRyZWUgLXAgdHdvX3BhcmVudHMKK3Rlc3RfY21wX3Jldl9vdXRwdXQgKCkgeworCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgIiQxIiA+ZXhwZWN0ICYmCisJZXZhbCAiJDIiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXJ0IGlzIHZhbGlkJyAnZ2l0IHJldi1wYXJzZSBzdGFydCB8IGdyZXAgIl5bMC05YS1mXVx7NDBcfSQiJwotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhcnReMCcgInRlc3QgJChjYXQgLmdpdC9yZWZzL3RhZ3Mvc3RhcnQpID0gJChnaXQgcmV2LXBhcnNlIHN0YXJ0XjApIgotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhcnReMSBub3QgdmFsaWQnICJpZiBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IHN0YXJ0XjE7IHRoZW4gZmFsc2U7IGVsc2UgOjsgZmkiCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzZWNvbmReMSA9IHNlY29uZF4nICJ0ZXN0ICQoZ2l0IHJldi1wYXJzZSBzZWNvbmReMSkgPSAkKGdpdCByZXYtcGFyc2Ugc2Vjb25kXikiCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdmaW5hbF4xXjFeMScgInRlc3QgJChnaXQgcmV2LXBhcnNlIHN0YXJ0KSA9ICQoZ2l0IHJldi1wYXJzZSBmaW5hbF4xXjFeMSkiCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdmaW5hbF4xXjFeMSA9IGZpbmFsXl5eJyAidGVzdCAkKGdpdCByZXYtcGFyc2UgZmluYWxeMV4xXjEpID0gJChnaXQgcmV2LXBhcnNlIGZpbmFsXl5eKSIKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZpbmFsXjFeMicgInRlc3QgJChnaXQgcmV2LXBhcnNlIHN0YXJ0MikgPSAkKGdpdCByZXYtcGFyc2UgZmluYWxeMV4yKSIKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZpbmFsXjFeMiAhPSBmaW5hbF4xXjEnICJ0ZXN0ICQoZ2l0IHJldi1wYXJzZSBmaW5hbF4xXjIpICE9ICQoZ2l0IHJldi1wYXJzZSBmaW5hbF4xXjEpIgotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmluYWxeMV4zIG5vdCB2YWxpZCcgImlmIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgZmluYWxeMV4zOyB0aGVuIGZhbHNlOyBlbHNlIDo7IGZpIgotdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS12ZXJpZnkgc3RhcnQyXjEnICd0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IHN0YXJ0Ml4xJwotdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS12ZXJpZnkgc3RhcnQyXjAnICdnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IHN0YXJ0Ml4wJwotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmluYWxeMV5AID0gZmluYWxeMV4xIGZpbmFsXjFeMicgInRlc3QgXCIkKGdpdCByZXYtcGFyc2UgZmluYWxeMV5AKVwiID0gXCIkKGdpdCByZXYtcGFyc2UgZmluYWxeMV4xIGZpbmFsXjFeMilcIiIKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZpbmFsXjFeISA9IGZpbmFsXjEgXmZpbmFsXjFeMSBeZmluYWxeMV4yJyAidGVzdCBcIiQoZ2l0IHJldi1wYXJzZSBmaW5hbF4xXlwhKVwiID0gXCIkKGdpdCByZXYtcGFyc2UgZmluYWxeMSBeZmluYWxeMV4xIF5maW5hbF4xXjIpXCIiCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJworCXRlc3RfY29tbWl0IHN0YXJ0ICYmCisJdGVzdF9jb21taXQgc2Vjb25kICYmCisJZ2l0IGNoZWNrb3V0IC0tb3JwaGFuIHRtcCAmJgorCXRlc3RfY29tbWl0IHN0YXJ0MiAmJgorCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwlnaXQgbWVyZ2UgLW0gbmV4dCBzdGFydDIgJiYKKwl0ZXN0X2NvbW1pdCBmaW5hbAorJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXBhY2sgZm9yIG5leHQgdGVzdCcgJ2dpdCByZXBhY2sgLWEgLWQnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFydCBpcyB2YWxpZCcgJworCWdpdCByZXYtcGFyc2Ugc3RhcnQgfCBncmVwICJeWzAtOWEtZl1cezQwXH0kIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFydF4wJyAnCisJdGVzdF9jbXBfcmV2X291dHB1dCB0YWdzL3N0YXJ0ICJnaXQgcmV2LXBhcnNlIHN0YXJ0XjAiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXJ0XjEgbm90IHZhbGlkJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBzdGFydF4xCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NlY29uZF4xID0gc2Vjb25kXicgJworCXRlc3RfY21wX3Jldl9vdXRwdXQgc2Vjb25kXiAiZ2l0IHJldi1wYXJzZSBzZWNvbmReMSIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmluYWxeMV4xXjEnICcKKwl0ZXN0X2NtcF9yZXZfb3V0cHV0IHN0YXJ0ICJnaXQgcmV2LXBhcnNlIGZpbmFsXjFeMV4xIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmaW5hbF4xXjFeMSA9IGZpbmFsXl5eJyAnCisJdGVzdF9jbXBfcmV2X291dHB1dCBmaW5hbF5eXiAiZ2l0IHJldi1wYXJzZSBmaW5hbF4xXjFeMSIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmluYWxeMV4yJyAnCisJdGVzdF9jbXBfcmV2X291dHB1dCBzdGFydDIgImdpdCByZXYtcGFyc2UgZmluYWxeMV4yIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmaW5hbF4xXjIgIT0gZmluYWxeMV4xJyAnCisJdGVzdCAkKGdpdCByZXYtcGFyc2UgZmluYWxeMV4yKSAhPSAkKGdpdCByZXYtcGFyc2UgZmluYWxeMV4xKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmaW5hbF4xXjMgbm90IHZhbGlkJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBmaW5hbF4xXjMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS12ZXJpZnkgc3RhcnQyXjEnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IHN0YXJ0Ml4xCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tdmVyaWZ5IHN0YXJ0Ml4wJyAnCisJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBzdGFydDJeMAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmaW5hbF4xXkAgPSBmaW5hbF4xXjEgZmluYWxeMV4yJyAnCisJZ2l0IHJldi1wYXJzZSBmaW5hbF4xXjEgZmluYWxeMV4yID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlIGZpbmFsXjFeQCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmaW5hbF4xXiEgPSBmaW5hbF4xIF5maW5hbF4xXjEgXmZpbmFsXjFeMicgJworCWdpdCByZXYtcGFyc2UgZmluYWxeMSBeZmluYWxeMV4xIF5maW5hbF4xXjIgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgZmluYWxeMV4hID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlcGFjayBmb3IgbmV4dCB0ZXN0JyAnCisJZ2l0IHJlcGFjayAtYSAtZAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaG9ydCBTSEEtMSB3b3JrcycgJwotCXN0YXJ0PWBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IHN0YXJ0YCAmJgotCWVjaG8gJHN0YXJ0ICYmCi0JYWJicnY9YGVjaG8gJHN0YXJ0IHwgc2VkIHMvLlwkLy9gICYmCi0JZWNobyAkYWJicnYgJiYKLQlhYmJydj1gZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAkYWJicnZgICYmCi0JZWNobyAkYWJicnYgJiYKLQl0ZXN0ICRzdGFydCA9ICRhYmJydicKKwlzdGFydD0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgc3RhcnQpICYmCisJdGVzdF9jbXBfcmV2X291dHB1dCBzdGFydCAiZ2l0IHJldi1wYXJzZSAke3N0YXJ0JT99IgorJwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDYxMzAtcGF0aHNwZWMtbm9nbG9iLnNoIGIvdC90NjEzMC1wYXRoc3BlYy1ub2dsb2Iuc2gKaW5kZXggMzllZjYxOS4uNjU4MzUzMiAxMDA3NTUKLS0tIGEvdC90NjEzMC1wYXRoc3BlYy1ub2dsb2Iuc2gKKysrIGIvdC90NjEzMC1wYXRoc3BlYy1ub2dsb2Iuc2gKQEAgLTMyLDYgKzMyLDE2IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFyIHBhdGhzcGVjIGdsb2JzJyAnCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCWJyYWNrZXQKKwlzdGFyCisJdmFuaWxsYQorCUVPRgorCWdpdCBsb2cgLS1mb3JtYXQ9JXMgLS0gIjooZ2xvYilmKiIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYnJhY2tldCBwYXRoc3BlYyBnbG9icyBhbmQgbWF0Y2hlcyBsaXRlcmFsIGJyYWNrZXRzJyAnCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgogCWJyYWNrZXQKQEAgLTQxLDI4ICs1MSwxMTIgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JyYWNrZXQgcGF0aHNwZWMgZ2xvYnMgYW5kIG1hdGNoZXMgbGl0ZXJhbCBicmFja2V0cycgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlicmFja2V0CisJdmFuaWxsYQorCUVPRgorCWdpdCBsb2cgLS1mb3JtYXQ9JXMgLS0gIjooZ2xvYilmW29dW29dIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICduby1nbG9iIG9wdGlvbiBtYXRjaGVzIGxpdGVyYWxseSAodmFuaWxsYSknICcKIAllY2hvIHZhbmlsbGEgPmV4cGVjdCAmJgogCWdpdCAtLWxpdGVyYWwtcGF0aHNwZWNzIGxvZyAtLWZvcm1hdD0lcyAtLSBmb28gPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm8tZ2xvYiBvcHRpb24gbWF0Y2hlcyBsaXRlcmFsbHkgKHZhbmlsbGEpJyAnCisJZWNobyB2YW5pbGxhID5leHBlY3QgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSVzIC0tICI6KGxpdGVyYWwpZm9vIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICduby1nbG9iIG9wdGlvbiBtYXRjaGVzIGxpdGVyYWxseSAoc3RhciknICcKIAllY2hvIHN0YXIgPmV4cGVjdCAmJgogCWdpdCAtLWxpdGVyYWwtcGF0aHNwZWNzIGxvZyAtLWZvcm1hdD0lcyAtLSAiZioiID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vLWdsb2Igb3B0aW9uIG1hdGNoZXMgbGl0ZXJhbGx5IChzdGFyKScgJworCWVjaG8gc3RhciA+ZXhwZWN0ICYmCisJZ2l0IGxvZyAtLWZvcm1hdD0lcyAtLSAiOihsaXRlcmFsKWYqIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICduby1nbG9iIG9wdGlvbiBtYXRjaGVzIGxpdGVyYWxseSAoYnJhY2tldCknICcKIAllY2hvIGJyYWNrZXQgPmV4cGVjdCAmJgogCWdpdCAtLWxpdGVyYWwtcGF0aHNwZWNzIGxvZyAtLWZvcm1hdD0lcyAtLSAiZltvXVtvXSIgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm8tZ2xvYiBvcHRpb24gbWF0Y2hlcyBsaXRlcmFsbHkgKGJyYWNrZXQpJyAnCisJZWNobyBicmFja2V0ID5leHBlY3QgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSVzIC0tICI6KGxpdGVyYWwpZltvXVtvXSIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm8tZ2xvYiBvcHRpb24gZGlzYWJsZXMgOihsaXRlcmFsKScgJworCTogPmV4cGVjdCAmJgorCWdpdCAtLWxpdGVyYWwtcGF0aHNwZWNzIGxvZyAtLWZvcm1hdD0lcyAtLSAiOihsaXRlcmFsKWZvbyIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbm8tZ2xvYiBlbnZpcm9ubWVudCB2YXJpYWJsZSB3b3JrcycgJwogCWVjaG8gc3RhciA+ZXhwZWN0ICYmCiAJR0lUX0xJVEVSQUxfUEFUSFNQRUNTPTEgZ2l0IGxvZyAtLWZvcm1hdD0lcyAtLSAiZioiID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIHRha2VzIGdsb2JhbCBwYXRoc3BlYyBmbGFncycgJworCWdpdCAtLWxpdGVyYWwtcGF0aHNwZWNzIGJsYW1lIC0tIGZvbyAmJgorCWdpdCAtLWljYXNlLXBhdGhzcGVjcyAgIGJsYW1lIC0tIGZvbyAmJgorCWdpdCAtLWdsb2ItcGF0aHNwZWNzICAgIGJsYW1lIC0tIGZvbyAmJgorCWdpdCAtLW5vZ2xvYi1wYXRoc3BlY3MgIGJsYW1lIC0tIGZvbworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCB4eHgvYmFyJyAnCisJbWtkaXIgeHh4ICYmCisJdGVzdF9jb21taXQgeHh4IHh4eC9iYXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnKiovIHdvcmtzIHdpdGggOihnbG9iKScgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwl4eHgKKwl1bnJlbGF0ZWQKKwlFT0YKKwlnaXQgbG9nIC0tZm9ybWF0PSVzIC0tICI6KGdsb2IpKiovYmFyIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcqKi8gZG9lcyBub3Qgd29yayB3aXRoIC0tbm9nbG9iLXBhdGhzcGVjcycgJworCTogPmV4cGVjdCAmJgorCWdpdCAtLW5vZ2xvYi1wYXRoc3BlY3MgbG9nIC0tZm9ybWF0PSVzIC0tICIqKi9iYXIiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyoqLyB3b3JrcyB3aXRoIDooZ2xvYikgYW5kIC0tbm9nbG9iLXBhdGhzcGVjcycgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwl4eHgKKwl1bnJlbGF0ZWQKKwlFT0YKKwlnaXQgLS1ub2dsb2ItcGF0aHNwZWNzIGxvZyAtLWZvcm1hdD0lcyAtLSAiOihnbG9iKSoqL2JhciIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnKiovIHdvcmtzIHdpdGggLS1nbG9iLXBhdGhzcGVjcycgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwl4eHgKKwl1bnJlbGF0ZWQKKwlFT0YKKwlnaXQgLS1nbG9iLXBhdGhzcGVjcyBsb2cgLS1mb3JtYXQ9JXMgLS0gIioqL2JhciIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnKiovIGRvZXMgbm90IHdvcmsgd2l0aCA6KGxpdGVyYWwpIGFuZCAtLWdsb2ItcGF0aHNwZWNzJyAnCisJOiA+ZXhwZWN0ICYmCisJZ2l0IC0tZ2xvYi1wYXRoc3BlY3MgbG9nIC0tZm9ybWF0PSVzIC0tICI6KGxpdGVyYWwpKiovYmFyIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDYxMzEtcGF0aHNwZWMtaWNhc2Uuc2ggYi90L3Q2MTMxLXBhdGhzcGVjLWljYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhkNGE3ZmMKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q2MTMxLXBhdGhzcGVjLWljYXNlLnNoCkBAIC0wLDAgKzEsMTAzIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ndGVzdCBjYXNlIGluc2Vuc2l0aXZlIHBhdGhzcGVjIGxpbWl0aW5nJworLiAuL3Rlc3QtbGliLnNoCisKK2lmIHRlc3RfaGF2ZV9wcmVyZXEgQ0FTRV9JTlNFTlNJVElWRV9GUwordGhlbgorCXNraXBfYWxsPSdza2lwcGluZyBjYXNlIHNlbnNpdGl2ZSB0ZXN0cyAtIGNhc2UgaW5zZW5zaXRpdmUgZmlsZSBzeXN0ZW0nCisJdGVzdF9kb25lCitmaQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgY29tbWl0cyB3aXRoIGdsb2IgY2hhcmFjdGVycycgJworCXRlc3RfY29tbWl0IGJhciBiYXIgJiYKKwl0ZXN0X2NvbW1pdCBiQXIgYkFyICYmCisJdGVzdF9jb21taXQgQkFSIEJBUiAmJgorCW1rZGlyIGZvbyAmJgorCXRlc3RfY29tbWl0IGZvby9iYXIgZm9vL2JhciAmJgorCXRlc3RfY29tbWl0IGZvby9iQXIgZm9vL2JBciAmJgorCXRlc3RfY29tbWl0IGZvby9CQVIgZm9vL0JBUiAmJgorCW1rZGlyIGZPbyAmJgorCXRlc3RfY29tbWl0IGZPby9iYXIgZk9vL2JhciAmJgorCXRlc3RfY29tbWl0IGZPby9iQXIgZk9vL2JBciAmJgorCXRlc3RfY29tbWl0IGZPby9CQVIgZk9vL0JBUiAmJgorCW1rZGlyIEZPTyAmJgorCXRlc3RfY29tbWl0IEZPTy9iYXIgRk9PL2JhciAmJgorCXRlc3RfY29tbWl0IEZPTy9iQXIgRk9PL2JBciAmJgorCXRlc3RfY29tbWl0IEZPTy9CQVIgRk9PL0JBUgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0cmVlX2VudHJ5X2ludGVyZXN0aW5nIG1hdGNoZXMgYmFyJyAnCisJZWNobyBiYXIgPmV4cGVjdCAmJgorCWdpdCBsb2cgLS1mb3JtYXQ9JXMgLS0gImJhciIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndHJlZV9lbnRyeV9pbnRlcmVzdGluZyBtYXRjaGVzIDooaWNhc2UpYmFyJyAnCisJY2F0IDw8LUVPRiA+ZXhwZWN0ICYmCisJQkFSCisJYkFyCisJYmFyCisJRU9GCisJZ2l0IGxvZyAtLWZvcm1hdD0lcyAtLSAiOihpY2FzZSliYXIiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RyZWVfZW50cnlfaW50ZXJlc3RpbmcgbWF0Y2hlcyA6KGljYXNlKWJhciB3aXRoIHByZWZpeCcgJworCWNhdCA8PC1FT0YgPmV4cGVjdCAmJgorCWZPby9CQVIKKwlmT28vYkFyCisJZk9vL2JhcgorCUVPRgorCSggY2QgZk9vICYmIGdpdCBsb2cgLS1mb3JtYXQ9JXMgLS0gIjooaWNhc2UpYmFyIiApID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RyZWVfZW50cnlfaW50ZXJlc3RpbmcgbWF0Y2hlcyA6KGljYXNlKWJhciB3aXRoIGVtcHR5IHByZWZpeCcgJworCWNhdCA8PC1FT0YgPmV4cGVjdCAmJgorCUZPTy9CQVIKKwlGT08vYkFyCisJRk9PL2JhcgorCWZPby9CQVIKKwlmT28vYkFyCisJZk9vL2JhcgorCWZvby9CQVIKKwlmb28vYkFyCisJZm9vL2JhcgorCUVPRgorCSggY2QgZk9vICYmIGdpdCBsb2cgLS1mb3JtYXQ9JXMgLS0gIjooaWNhc2UpLi4vZm9vL2JhciIgKSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtYXRjaF9wYXRoc3BlY19kZXB0aCBtYXRjaGVzIDooaWNhc2UpYmFyJyAnCisJY2F0IDw8LUVPRiA+ZXhwZWN0ICYmCisJQkFSCisJYkFyCisJYmFyCisJRU9GCisJZ2l0IGxzLWZpbGVzICI6KGljYXNlKWJhciIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWF0Y2hfcGF0aHNwZWNfZGVwdGggbWF0Y2hlcyA6KGljYXNlKWJhciB3aXRoIHByZWZpeCcgJworCWNhdCA8PC1FT0YgPmV4cGVjdCAmJgorCWZPby9CQVIKKwlmT28vYkFyCisJZk9vL2JhcgorCUVPRgorCSggY2QgZk9vICYmIGdpdCBscy1maWxlcyAtLWZ1bGwtbmFtZSAiOihpY2FzZSliYXIiICkgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWF0Y2hfcGF0aHNwZWNfZGVwdGggbWF0Y2hlcyA6KGljYXNlKWJhciB3aXRoIGVtcHR5IHByZWZpeCcgJworCWNhdCA8PC1FT0YgPmV4cGVjdCAmJgorCWJhcgorCWZPby9CQVIKKwlmT28vYkFyCisJZk9vL2JhcgorCUVPRgorCSggY2QgZk9vICYmIGdpdCBscy1maWxlcyAtLWZ1bGwtbmFtZSAiOihpY2FzZSliYXIiIC4uL2JhciApID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NjMwMC1mb3ItZWFjaC1yZWYuc2ggYi90L3Q2MzAwLWZvci1lYWNoLXJlZi5zaAppbmRleCA3NTJmNWNiLi5kYTVmYjZjIDEwMDc1NQotLS0gYS90L3Q2MzAwLWZvci1lYWNoLXJlZi5zaAorKysgYi90L3Q2MzAwLWZvci1lYWNoLXJlZi5zaApAQCAtNTgsNiArNTgsOCBAQAogdGVzdF9hdG9tIGhlYWQgbnVtcGFyZW50IDAKIHRlc3RfYXRvbSBoZWFkIG9iamVjdCAnJwogdGVzdF9hdG9tIGhlYWQgdHlwZSAnJwordGVzdF9hdG9tIGhlYWQgJypvYmplY3RuYW1lJyAnJwordGVzdF9hdG9tIGhlYWQgJypvYmplY3R0eXBlJyAnJwogdGVzdF9hdG9tIGhlYWQgYXV0aG9yICdBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPiAxMTUxOTM5OTI0ICswMjAwJwogdGVzdF9hdG9tIGhlYWQgYXV0aG9ybmFtZSAnQSBVIFRob3InCiB0ZXN0X2F0b20gaGVhZCBhdXRob3JlbWFpbCAnPGF1dGhvckBleGFtcGxlLmNvbT4nCkBAIC05MSw2ICs5Myw4IEBACiB0ZXN0X2F0b20gdGFnIG51bXBhcmVudCAnJwogdGVzdF9hdG9tIHRhZyBvYmplY3QgJzY3YTM2ZjEwNzIyODQ2ZTg5MWZiYWRhMWJhNDhlZDAzNWRlNzU1ODEnCiB0ZXN0X2F0b20gdGFnIHR5cGUgJ2NvbW1pdCcKK3Rlc3RfYXRvbSB0YWcgJypvYmplY3RuYW1lJyAnNjdhMzZmMTA3MjI4NDZlODkxZmJhZGExYmE0OGVkMDM1ZGU3NTU4MScKK3Rlc3RfYXRvbSB0YWcgJypvYmplY3R0eXBlJyAnY29tbWl0JwogdGVzdF9hdG9tIHRhZyBhdXRob3IgJycKIHRlc3RfYXRvbSB0YWcgYXV0aG9ybmFtZSAnJwogdGVzdF9hdG9tIHRhZyBhdXRob3JlbWFpbCAnJwpkaWZmIC0tZ2l0IGEvdC90NjUwMC1nYy5zaCBiL3QvdDY1MDAtZ2Muc2gKaW5kZXggYjFhNjM2NS4uNjMxOTRkOCAxMDA3NTUKLS0tIGEvdC90NjUwMC1nYy5zaAorKysgYi90L3Q2NTAwLWdjLnNoCkBAIC05LDYgKzksMTEgQEAKIAlnaXQgZ2MKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2MgZG9lcyBub3QgbGVhdmUgYmVoaW5kIHBpZCBmaWxlJyAnCisJZ2l0IGdjICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9nYy5waWQKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2MgLS1nb2JibGVkZWdvb2snICcKIAl0ZXN0X2V4cGVjdF9jb2RlIDEyOSBnaXQgZ2MgLS1ub25zZW5zZSAyPmVyciAmJgogCXRlc3RfaTE4bmdyZXAgIltVdV1zYWdlOiBnaXQgZ2MiIGVycgpkaWZmIC0tZ2l0IGEvdC90NzAwMS1tdi5zaCBiL3QvdDcwMDEtbXYuc2gKaW5kZXggMTAxODE2ZS4uYjkwZTk4NSAxMDA3NTUKLS0tIGEvdC90NzAwMS1tdi5zaAorKysgYi90L3Q3MDAxLW12LnNoCkBAIC0yNTksNCArMjU5LDE1OCBAQAogCiBybSAtZiBtb3ZlZCBzeW1saW5rCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHN1Ym1vZHVsZScgJworCWdpdCBjb21taXQgLW0gaW5pdGlhbCAmJgorCWdpdCByZXNldCAtLWhhcmQgJiYKKwlnaXQgc3VibW9kdWxlIGFkZCAuLy4gc3ViICYmCisJZWNobyBjb250ZW50ID5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJZ2l0IGNvbW1pdCAtbSAiYWRkZWQgc3ViIGFuZCBmaWxlIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbXYgY2Fubm90IG1vdmUgYSBzdWJtb2R1bGUgaW4gYSBmaWxlJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IG12IHN1YiBmaWxlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBtdiBtb3ZlcyBhIHN1Ym1vZHVsZSB3aXRoIGEgLmdpdCBkaXJlY3RvcnkgYW5kIG5vIC5naXRtb2R1bGVzJyAnCisJZW50cnk9IiQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2Ugc3ViIHwgY3V0IC1mIDEpIiAmJgorCWdpdCBybSAuZ2l0bW9kdWxlcyAmJgorCSgKKwkJY2Qgc3ViICYmCisJCXJtIC1mIC5naXQgJiYKKwkJY3AgLWEgLi4vLmdpdC9tb2R1bGVzL3N1YiAuZ2l0ICYmCisJCUdJVF9XT1JLX1RSRUU9LiBnaXQgY29uZmlnIC0tdW5zZXQgY29yZS53b3JrdHJlZQorCSkgJiYKKwlta2RpciBtb2QgJiYKKwlnaXQgbXYgc3ViIG1vZC9zdWIgJiYKKwkhIHRlc3QgLWUgc3ViICYmCisJWyAiJGVudHJ5IiA9ICIkKGdpdCBscy1maWxlcyAtLXN0YWdlIG1vZC9zdWIgfCBjdXQgLWYgMSkiIF0gJiYKKwkoCisJCWNkIG1vZC9zdWIgJiYKKwkJZ2l0IHN0YXR1cworCSkgJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tcmVmcmVzaCAmJgorCWdpdCBkaWZmLWZpbGVzIC0tcXVpZXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IG12IG1vdmVzIGEgc3VibW9kdWxlIHdpdGggYSAuZ2l0IGRpcmVjdG9yeSBhbmQgLmdpdG1vZHVsZXMnICcKKwlybSAtcmYgbW9kICYmCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWdpdCBzdWJtb2R1bGUgdXBkYXRlICYmCisJZW50cnk9IiQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2Ugc3ViIHwgY3V0IC1mIDEpIiAmJgorCSgKKwkJY2Qgc3ViICYmCisJCXJtIC1mIC5naXQgJiYKKwkJY3AgLWEgLi4vLmdpdC9tb2R1bGVzL3N1YiAuZ2l0ICYmCisJCUdJVF9XT1JLX1RSRUU9LiBnaXQgY29uZmlnIC0tdW5zZXQgY29yZS53b3JrdHJlZQorCSkgJiYKKwlta2RpciBtb2QgJiYKKwlnaXQgbXYgc3ViIG1vZC9zdWIgJiYKKwkhIHRlc3QgLWUgc3ViICYmCisJWyAiJGVudHJ5IiA9ICIkKGdpdCBscy1maWxlcyAtLXN0YWdlIG1vZC9zdWIgfCBjdXQgLWYgMSkiIF0gJiYKKwkoCisJCWNkIG1vZC9zdWIgJiYKKwkJZ2l0IHN0YXR1cworCSkgJiYKKwllY2hvIG1vZC9zdWIgPmV4cGVjdGVkICYmCisJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc3ViLnBhdGggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1yZWZyZXNoICYmCisJZ2l0IGRpZmYtZmlsZXMgLS1xdWlldAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbXYgbW92ZXMgYSBzdWJtb2R1bGUgd2l0aCBnaXRmaWxlJyAnCisJcm0gLXJmIG1vZC9zdWIgJiYKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgJiYKKwllbnRyeT0iJChnaXQgbHMtZmlsZXMgLS1zdGFnZSBzdWIgfCBjdXQgLWYgMSkiICYmCisJKAorCQljZCBtb2QgJiYKKwkJZ2l0IG12IC4uL3N1Yi8gLgorCSkgJiYKKwkhIHRlc3QgLWUgc3ViICYmCisJWyAiJGVudHJ5IiA9ICIkKGdpdCBscy1maWxlcyAtLXN0YWdlIG1vZC9zdWIgfCBjdXQgLWYgMSkiIF0gJiYKKwkoCisJCWNkIG1vZC9zdWIgJiYKKwkJZ2l0IHN0YXR1cworCSkgJiYKKwllY2hvIG1vZC9zdWIgPmV4cGVjdGVkICYmCisJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc3ViLnBhdGggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1yZWZyZXNoICYmCisJZ2l0IGRpZmYtZmlsZXMgLS1xdWlldAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtdiBkb2VzIG5vdCBjb21wbGFpbiB3aGVuIG5vIC5naXRtb2R1bGVzIGZpbGUgaXMgZm91bmQnICcKKwlybSAtcmYgbW9kL3N1YiAmJgorCWdpdCByZXNldCAtLWhhcmQgJiYKKwlnaXQgc3VibW9kdWxlIHVwZGF0ZSAmJgorCWdpdCBybSAuZ2l0bW9kdWxlcyAmJgorCWVudHJ5PSIkKGdpdCBscy1maWxlcyAtLXN0YWdlIHN1YiB8IGN1dCAtZiAxKSIgJiYKKwlnaXQgbXYgc3ViIG1vZC9zdWIgMj5hY3R1YWwuZXJyICYmCisJISB0ZXN0IC1zIGFjdHVhbC5lcnIgJiYKKwkhIHRlc3QgLWUgc3ViICYmCisJWyAiJGVudHJ5IiA9ICIkKGdpdCBscy1maWxlcyAtLXN0YWdlIG1vZC9zdWIgfCBjdXQgLWYgMSkiIF0gJiYKKwkoCisJCWNkIG1vZC9zdWIgJiYKKwkJZ2l0IHN0YXR1cworCSkgJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tcmVmcmVzaCAmJgorCWdpdCBkaWZmLWZpbGVzIC0tcXVpZXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbXYgd2lsbCBlcnJvciBvdXQgb24gYSBtb2RpZmllZCAuZ2l0bW9kdWxlcyBmaWxlIHVubGVzcyBzdGFnZWQnICcKKwlybSAtcmYgbW9kL3N1YiAmJgorCWdpdCByZXNldCAtLWhhcmQgJiYKKwlnaXQgc3VibW9kdWxlIHVwZGF0ZSAmJgorCWdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgZm9vLmJhciB0cnVlICYmCisJZW50cnk9IiQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2Ugc3ViIHwgY3V0IC1mIDEpIiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBtdiBzdWIgbW9kL3N1YiAyPmFjdHVhbC5lcnIgJiYKKwl0ZXN0IC1zIGFjdHVhbC5lcnIgJiYKKwl0ZXN0IC1lIHN1YiAmJgorCWdpdCBkaWZmLWZpbGVzIC0tcXVpZXQgLS0gc3ViICYmCisJZ2l0IGFkZCAuZ2l0bW9kdWxlcyAmJgorCWdpdCBtdiBzdWIgbW9kL3N1YiAyPmFjdHVhbC5lcnIgJiYKKwkhIHRlc3QgLXMgYWN0dWFsLmVyciAmJgorCSEgdGVzdCAtZSBzdWIgJiYKKwlbICIkZW50cnkiID0gIiQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgbW9kL3N1YiB8IGN1dCAtZiAxKSIgXSAmJgorCSgKKwkJY2QgbW9kL3N1YiAmJgorCQlnaXQgc3RhdHVzCisJKSAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1yZWZyZXNoICYmCisJZ2l0IGRpZmYtZmlsZXMgLS1xdWlldAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtdiBpc3N1ZXMgYSB3YXJuaW5nIHdoZW4gc2VjdGlvbiBpcyBub3QgZm91bmQgaW4gLmdpdG1vZHVsZXMnICcKKwlybSAtcmYgbW9kL3N1YiAmJgorCWdpdCByZXNldCAtLWhhcmQgJiYKKwlnaXQgc3VibW9kdWxlIHVwZGF0ZSAmJgorCWdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgLS1yZW1vdmUtc2VjdGlvbiBzdWJtb2R1bGUuc3ViICYmCisJZ2l0IGFkZCAuZ2l0bW9kdWxlcyAmJgorCWVudHJ5PSIkKGdpdCBscy1maWxlcyAtLXN0YWdlIHN1YiB8IGN1dCAtZiAxKSIgJiYKKwllY2hvICJ3YXJuaW5nOiBDb3VsZCBub3QgZmluZCBzZWN0aW9uIGluIC5naXRtb2R1bGVzIHdoZXJlIHBhdGg9c3ViIiA+ZXhwZWN0LmVyciAmJgorCWdpdCBtdiBzdWIgbW9kL3N1YiAyPmFjdHVhbC5lcnIgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0LmVyciBhY3R1YWwuZXJyICYmCisJISB0ZXN0IC1lIHN1YiAmJgorCVsgIiRlbnRyeSIgPSAiJChnaXQgbHMtZmlsZXMgLS1zdGFnZSBtb2Qvc3ViIHwgY3V0IC1mIDEpIiBdICYmCisJKAorCQljZCBtb2Qvc3ViICYmCisJCWdpdCBzdGF0dXMKKwkpICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLXJlZnJlc2ggJiYKKwlnaXQgZGlmZi1maWxlcyAtLXF1aWV0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ212IC0tZHJ5LXJ1biBkb2VzIG5vdCB0b3VjaCB0aGUgc3VibW9kdWxlIG9yIC5naXRtb2R1bGVzJyAnCisJcm0gLXJmIG1vZC9zdWIgJiYKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgJiYKKwlnaXQgbXYgLW4gc3ViIG1vZC9zdWIgMj5hY3R1YWwuZXJyICYmCisJdGVzdCAtZiBzdWIvLmdpdCAmJgorCWdpdCBkaWZmLWluZGV4IC0tZXhpdC1jb2RlIEhFQUQgJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tcmVmcmVzaCAmJgorCWdpdCBkaWZmLWZpbGVzIC0tcXVpZXQgLS0gc3ViIC5naXRtb2R1bGVzCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzAwOC1ncmVwLWJpbmFyeS5zaCBiL3QvdDcwMDgtZ3JlcC1iaW5hcnkuc2gKaW5kZXggMjZmODMxOS4uYjE0NjQwNiAxMDA3NTUKLS0tIGEvdC90NzAwOC1ncmVwLWJpbmFyeS5zaAorKysgYi90L3Q3MDA4LWdyZXAtYmluYXJ5LnNoCkBAIC0xNDUsNCArMTQ1LDM1IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCitjYXQgPm51bF90b19xX3RleHRjb252IDw8J0VPRicKKyMhL2Jpbi9zaAorIiRQRVJMX1BBVEgiIC1wZSAneS9cMDAwL1EvJyA8ICIkMSIKK0VPRgorY2htb2QgK3ggbnVsX3RvX3FfdGV4dGNvbnYKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgdGV4dGNvbnYgZmlsdGVycycgJworCWVjaG8gYSBkaWZmPWZvbyA+LmdpdGF0dHJpYnV0ZXMgJiYKKwlnaXQgY29uZmlnIGRpZmYuZm9vLnRleHRjb252ICJcIiQocHdkKVwiIi9udWxfdG9fcV90ZXh0Y29udgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIGRvZXMgbm90IGhvbm9yIHRleHRjb252JyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGdyZXAgUWZpbGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCAtLXRleHRjb252IGhvbm9ycyB0ZXh0Y29udicgJworCWVjaG8gImE6YmluYXJ5UWZpbGUiID5leHBlY3QgJiYKKwlnaXQgZ3JlcCAtLXRleHRjb252IFFmaWxlID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAgLS1uby10ZXh0Y29udiBkb2VzIG5vdCBob25vciB0ZXh0Y29udicgJworCXRlc3RfbXVzdF9mYWlsIGdpdCBncmVwIC0tbm8tdGV4dGNvbnYgUWZpbGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCAtLXRleHRjb252IGJsb2IgaG9ub3JzIHRleHRjb252JyAnCisJZWNobyAiSEVBRDphOmJpbmFyeVFmaWxlIiA+ZXhwZWN0ICYmCisJZ2l0IGdyZXAgLS10ZXh0Y29udiBRZmlsZSBIRUFEOmEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3MDA5LWZpbHRlci1icmFuY2gtbnVsbC1zaGExLnNoIGIvdC90NzAwOS1maWx0ZXItYnJhbmNoLW51bGwtc2hhMS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOTk3ZjdhCi0tLSAvZGV2L251bGwKKysrIGIvdC90NzAwOS1maWx0ZXItYnJhbmNoLW51bGwtc2hhMS5zaApAQCAtMCwwICsxLDQ5IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nZmlsdGVyLWJyYW5jaCByZW1vdmFsIG9mIHRyZWVzIHdpdGggbnVsbCBzaGExJworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwOiBiYXNlIGNvbW1pdHMnICcKKwl0ZXN0X2NvbW1pdCBvbmUgJiYKKwl0ZXN0X2NvbW1pdCB0d28gJiYKKwl0ZXN0X2NvbW1pdCB0aHJlZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cDogYSBjb21taXQgd2l0aCBhIGJvZ3VzIG51bGwgc2hhMSBpbiB0aGUgdHJlZScgJworCXsKKwkJZ2l0IGxzLXRyZWUgSEVBRCAmJgorCQlwcmludGYgIjE2MDAwMCBjb21taXQgJF96NDBcXHRicm9rZW5cXG4iCisJfSA+YnJva2VuLXRyZWUKKwllY2hvICJhZGQgYnJva2VuIGVudHJ5IiA+bXNnICYmCisKKwl0cmVlPSQoZ2l0IG1rdHJlZSA8YnJva2VuLXRyZWUpICYmCisJdGVzdF90aWNrICYmCisJY29tbWl0PSQoZ2l0IGNvbW1pdC10cmVlICR0cmVlIC1wIEhFQUQgPG1zZykgJiYKKwlnaXQgdXBkYXRlLXJlZiBIRUFEICIkY29tbWl0IgorJworCisjIHdlIGhhdmUgdG8gbWFrZSBvbmUgbW9yZSBjb21taXQgb24gdG9wIHJlbW92aW5nIHRoZSBicm9rZW4KKyMgZW50cnksIHNpbmNlIG90aGVyd2lzZSBvdXIgaW5kZXggZG9lcyBub3QgbWF0Y2ggSEVBRCAoYW5kIGZpbHRlci1icmFuY2ggd2lsbAorIyBjb21wbGFpbikuIFdlIGNvdWxkIG1ha2UgdGhlIGluZGV4IG1hdGNoIEhFQUQsIGJ1dCBkb2luZyBzbyB3b3VsZCBpbnZvbHZlCisjIHdyaXRpbmcgYSBudWxsIHNoYTEgaW50byB0aGUgaW5kZXguCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cDogYnJpbmcgSEVBRCBhbmQgaW5kZXggaW4gc3luYycgJworCXRlc3RfdGljayAmJgorCWdpdCBjb21taXQgLWEgLW0gImJhY2sgdG8gbm9ybWFsIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmaWx0ZXIgY29tbWFuZHMgYXJlIHN0aWxsIGNoZWNrZWQnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgZmlsdGVyLWJyYW5jaCBcCisJCS0tZm9yY2UgLS1wcnVuZS1lbXB0eSBcCisJCS0taW5kZXgtZmlsdGVyICJnaXQgcm0gLS1jYWNoZWQgLS1pZ25vcmUtdW5tYXRjaCB0aHJlZS50IgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZW1vdmluZyB0aGUgYnJva2VuIGVudHJ5IHdvcmtzJyAnCisJZWNobyB0aHJlZSA+ZXhwZWN0ICYmCisJZ2l0IGZpbHRlci1icmFuY2ggXAorCQktLWZvcmNlIC0tcHJ1bmUtZW1wdHkgXAorCQktLWluZGV4LWZpbHRlciAiZ2l0IHJtIC0tY2FjaGVkIC0taWdub3JlLXVubWF0Y2ggYnJva2VuIiAmJgorCWdpdCBsb2cgLTEgLS1mb3JtYXQ9JXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3MDYwLXd0c3RhdHVzLnNoIGIvdC90NzA2MC13dHN0YXR1cy5zaAppbmRleCA1MmVmMDZiLi43ZDQ2N2MwIDEwMDc1NQotLS0gYS90L3Q3MDYwLXd0c3RhdHVzLnNoCisrKyBiL3QvdDcwNjAtd3RzdGF0dXMuc2gKQEAgLTI5LDIwICsyOSwxOSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAotY2F0ID5leHBlY3QgPDxFT0YKLSMgT24gYnJhbmNoIHNpZGUKLSMgWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuCi0jICAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biAiZ2l0IGNvbW1pdCIpCi0jCi0jIFVubWVyZ2VkIHBhdGhzOgotIyAgICh1c2UgImdpdCBhZGQvcm0gPGZpbGU+Li4uIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pCi0jCi0jCWRlbGV0ZWQgYnkgdXM6ICAgICAgZm9vCi0jCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdNL0QgY29uZmxpY3QgZG9lcyBub3Qgc2VnZmF1bHQnICcKKwljYXQgPmV4cGVjdCA8PEVPRiAmJgorT24gYnJhbmNoIHNpZGUKK1lvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLgorICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuICJnaXQgY29tbWl0IikKKworVW5tZXJnZWQgcGF0aHM6CisgICh1c2UgImdpdCBhZGQvcm0gPGZpbGU+Li4uIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pCisKKwlkZWxldGVkIGJ5IHVzOiAgICAgIGZvbworCiBubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQogRU9GCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ00vRCBjb25mbGljdCBkb2VzIG5vdCBzZWdmYXVsdCcgJwogCW1rZGlyIG1kY29uZmxpY3QgJiYKIAkoCiAJCWNkIG1kY29uZmxpY3QgJiYKQEAgLTEzNSwxOSArMTM0LDE5IEBACiAJdGVzdF9jb21taXQgb25fc2Vjb25kIG1haW4udHh0IG9uX3NlY29uZCAmJgogCXRlc3RfY29tbWl0IG1hc3RlciBjb25mbGljdC50eHQgbWFzdGVyICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIHNlY29uZF9icmFuY2ggJiYKLQljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKLQkjIE9uIGJyYW5jaCBtYXN0ZXIKLQkjIFlvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLgotCSMgICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuICJnaXQgY29tbWl0IikKLQkjCi0JIyBVbm1lcmdlZCBwYXRoczoKLQkjICAgKHVzZSAiZ2l0IGFkZC9ybSA8ZmlsZT4uLi4iIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikKLQkjCi0JIwlib3RoIGFkZGVkOiAgICAgICAgIGNvbmZsaWN0LnR4dAotCSMJZGVsZXRlZCBieSB0aGVtOiAgICBtYWluLnR4dAotCSMKLQlubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQotCUVPRgorCWNhdCA+ZXhwZWN0ZWQgPDxcRU9GICYmCitPbiBicmFuY2ggbWFzdGVyCitZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4KKyAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biAiZ2l0IGNvbW1pdCIpCisKK1VubWVyZ2VkIHBhdGhzOgorICAodXNlICJnaXQgYWRkL3JtIDxmaWxlPi4uLiIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKQorCisJYm90aCBhZGRlZDogICAgICAgICBjb25mbGljdC50eHQKKwlkZWxldGVkIGJ5IHRoZW06ICAgIG1haW4udHh0CisKK25vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgImdpdCBhZGQiIGFuZC9vciAiZ2l0IGNvbW1pdCAtYSIpCitFT0YKIAlnaXQgc3RhdHVzIC0tdW50cmFja2VkLWZpbGVzPW5vID5hY3R1YWwgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCkBAIC0xNjgsMjAgKzE2NywyMCBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgd2hlbiBjb25mbGljdHMgd2l0aCBhZGQgYW5kIHJtIGFkdmljZSAoYm90aCBkZWxldGVkKScgJwogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBjb25mbGljdCAmJgotCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgotCSMgT24gYnJhbmNoIGNvbmZsaWN0X3NlY29uZAotCSMgWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuCi0JIyAgIChmaXggY29uZmxpY3RzIGFuZCBydW4gImdpdCBjb21taXQiKQotCSMKLQkjIFVubWVyZ2VkIHBhdGhzOgotCSMgICAodXNlICJnaXQgYWRkL3JtIDxmaWxlPi4uLiIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKQotCSMKLQkjCWJvdGggZGVsZXRlZDogICAgICAgbWFpbi50eHQKLQkjCWFkZGVkIGJ5IHRoZW06ICAgICAgc3ViX21hc3Rlci50eHQKLQkjCWFkZGVkIGJ5IHVzOiAgICAgICAgc3ViX3NlY29uZC50eHQKLQkjCi0Jbm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSAiZ2l0IGFkZCIgYW5kL29yICJnaXQgY29tbWl0IC1hIikKLQlFT0YKKwljYXQgPmV4cGVjdGVkIDw8XEVPRiAmJgorT24gYnJhbmNoIGNvbmZsaWN0X3NlY29uZAorWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuCisgIChmaXggY29uZmxpY3RzIGFuZCBydW4gImdpdCBjb21taXQiKQorCitVbm1lcmdlZCBwYXRoczoKKyAgKHVzZSAiZ2l0IGFkZC9ybSA8ZmlsZT4uLi4iIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikKKworCWJvdGggZGVsZXRlZDogICAgICAgbWFpbi50eHQKKwlhZGRlZCBieSB0aGVtOiAgICAgIHN1Yl9tYXN0ZXIudHh0CisJYWRkZWQgYnkgdXM6ICAgICAgICBzdWJfc2Vjb25kLnR4dAorCitubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQorRU9GCiAJZ2l0IHN0YXR1cyAtLXVudHJhY2tlZC1maWxlcz1ubyA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtMTkyLDIyICsxOTEsMjIgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgY29uZmxpY3QgJiYKIAlnaXQgYWRkIHN1Yl9tYXN0ZXIudHh0ICYmCiAJZ2l0IGFkZCBzdWJfc2Vjb25kLnR4dCAmJgotCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgotCSMgT24gYnJhbmNoIGNvbmZsaWN0X3NlY29uZAotCSMgWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuCi0JIyAgIChmaXggY29uZmxpY3RzIGFuZCBydW4gImdpdCBjb21taXQiKQotCSMKLQkjIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotCSMKLQkjCW5ldyBmaWxlOiAgIHN1Yl9tYXN0ZXIudHh0Ci0JIwotCSMgVW5tZXJnZWQgcGF0aHM6Ci0JIyAgICh1c2UgImdpdCBybSA8ZmlsZT4uLi4iIHRvIG1hcmsgcmVzb2x1dGlvbikKLQkjCi0JIwlib3RoIGRlbGV0ZWQ6ICAgICAgIG1haW4udHh0Ci0JIwotCSMgVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpCi0JRU9GCisJY2F0ID5leHBlY3RlZCA8PFxFT0YgJiYKK09uIGJyYW5jaCBjb25mbGljdF9zZWNvbmQKK1lvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLgorICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuICJnaXQgY29tbWl0IikKKworQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CisKKwluZXcgZmlsZTogICBzdWJfbWFzdGVyLnR4dAorCitVbm1lcmdlZCBwYXRoczoKKyAgKHVzZSAiZ2l0IHJtIDxmaWxlPi4uLiIgdG8gbWFyayByZXNvbHV0aW9uKQorCisJYm90aCBkZWxldGVkOiAgICAgICBtYWluLnR4dAorCitVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKK0VPRgogCWdpdCBzdGF0dXMgLS11bnRyYWNrZWQtZmlsZXM9bm8gPmFjdHVhbCAmJgogCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwgJiYKIAlnaXQgcmVzZXQgLS1oYXJkICYmCmRpZmYgLS1naXQgYS90L3Q3MTA1LXJlc2V0LXBhdGNoLnNoIGIvdC90NzEwNS1yZXNldC1wYXRjaC5zaAppbmRleCA5NWZhYjIwLi45OGI3ZDdiIDEwMDc1NQotLS0gYS90L3Q3MTA1LXJlc2V0LXBhdGNoLnNoCisrKyBiL3QvdDcxMDUtcmVzZXQtcGF0Y2guc2gKQEAgLTI1LDE1ICsyNSwxNyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ2dpdCByZXNldCAtcCcgJwotCShlY2hvIG47IGVjaG8geSkgfCBnaXQgcmVzZXQgLXAgJiYKKwkoZWNobyBuOyBlY2hvIHkpIHwgZ2l0IHJlc2V0IC1wID5vdXRwdXQgJiYKIAl2ZXJpZnlfc3RhdGUgZGlyL2ZvbyB3b3JrIGhlYWQgJiYKLQl2ZXJpZnlfc2F2ZWRfc3RhdGUgYmFyCisJdmVyaWZ5X3NhdmVkX3N0YXRlIGJhciAmJgorCXRlc3RfaTE4bmdyZXAgIlVuc3RhZ2UiIG91dHB1dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ2dpdCByZXNldCAtcCBIRUFEXicgJwotCShlY2hvIG47IGVjaG8geSkgfCBnaXQgcmVzZXQgLXAgSEVBRF4gJiYKKwkoZWNobyBuOyBlY2hvIHkpIHwgZ2l0IHJlc2V0IC1wIEhFQUReID5vdXRwdXQgJiYKIAl2ZXJpZnlfc3RhdGUgZGlyL2ZvbyB3b3JrIHBhcmVudCAmJgotCXZlcmlmeV9zYXZlZF9zdGF0ZSBiYXIKKwl2ZXJpZnlfc2F2ZWRfc3RhdGUgYmFyICYmCisJdGVzdF9pMThuZ3JlcCAiQXBwbHkiIG91dHB1dAogJwogCiAjIFRoZSBpZGVhIGluIHRoZSByZXN0IGlzIHRoYXQgYmFyIHNvcnRzIGZpcnN0LCBzbyB3ZSBhbHdheXMgc2F5ICd5JwpkaWZmIC0tZ2l0IGEvdC90NzEwNi1yZXNldC11bmJvcm4tYnJhbmNoLnNoIGIvdC90NzEwNi1yZXNldC11bmJvcm4tYnJhbmNoLnNoCmluZGV4IDgwNjJjZjUuLjBmOTVmMDAgMTAwNzU1Ci0tLSBhL3QvdDcxMDYtcmVzZXQtdW5ib3JuLWJyYW5jaC5zaAorKysgYi90L3Q3MTA2LXJlc2V0LXVuYm9ybi1icmFuY2guc2gKQEAgLTExLDcgKzExLDEwIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXNldCcgJwogCWdpdCBhZGQgYSBiICYmCiAJZ2l0IHJlc2V0ICYmCi0JdGVzdCAiJChnaXQgbHMtZmlsZXMpIiA9ICIiCisKKwk+ZXhwZWN0ICYmCisJZ2l0IGxzLWZpbGVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jlc2V0IEhFQUQnICcKQEAgLTI0LDI4ICsyNyw0MyBAQAogCXJtIC5naXQvaW5kZXggJiYKIAlnaXQgYWRkIGEgYiAmJgogCWdpdCByZXNldCBhICYmCi0JdGVzdCAiJChnaXQgbHMtZmlsZXMpIiA9ICJiIgorCisJZWNobyBiID5leHBlY3QgJiYKKwlnaXQgbHMtZmlsZXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzZXQgLXAnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAncmVzZXQgLXAnICcKIAlybSAuZ2l0L2luZGV4ICYmCiAJZ2l0IGFkZCBhICYmCi0JZWNobyB5IHwgZ2l0IHJlc2V0IC1wICYmCi0JdGVzdCAiJChnaXQgbHMtZmlsZXMpIiA9ICIiCisJZWNobyB5ID55ZXMgJiYKKwlnaXQgcmVzZXQgLXAgPHllcyA+b3V0cHV0ICYmCisKKwk+ZXhwZWN0ICYmCisJZ2l0IGxzLWZpbGVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJdGVzdF9pMThuZ3JlcCAiVW5zdGFnZSIgb3V0cHV0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jlc2V0IC0tc29mdCBpcyBhIG5vLW9wJyAnCiAJcm0gLmdpdC9pbmRleCAmJgogCWdpdCBhZGQgYSAmJgotCWdpdCByZXNldCAtLXNvZnQKLQl0ZXN0ICIkKGdpdCBscy1maWxlcykiID0gImEiCisJZ2l0IHJlc2V0IC0tc29mdCAmJgorCisJZWNobyBhID5leHBlY3QgJiYKKwlnaXQgbHMtZmlsZXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzZXQgLS1oYXJkJyAnCiAJcm0gLmdpdC9pbmRleCAmJgogCWdpdCBhZGQgYSAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZWNobyBhID5hIiAmJgogCWdpdCByZXNldCAtLWhhcmQgJiYKLQl0ZXN0ICIkKGdpdCBscy1maWxlcykiID0gIiIgJiYKKworCT5leHBlY3QgJiYKKwlnaXQgbHMtZmlsZXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKIAl0ZXN0X3BhdGhfaXNfbWlzc2luZyBhCiAnCiAKZGlmZiAtLWdpdCBhL3QvdDc0MDAtc3VibW9kdWxlLWJhc2ljLnNoIGIvdC90NzQwMC1zdWJtb2R1bGUtYmFzaWMuc2gKaW5kZXggYTM5ZDA3NC4uYzI4ZThkOCAxMDA3NTUKLS0tIGEvdC90NzQwMC1zdWJtb2R1bGUtYmFzaWMuc2gKKysrIGIvdC90NzQwMC1zdWJtb2R1bGUtYmFzaWMuc2gKQEAgLTQ4MSw3ICs0ODEsNyBAQAogCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyYWNlZnVsbHkgYWRkIHN1Ym1vZHVsZSB3aXRoIGEgdHJhaWxpbmcgc2xhc2gnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyYWNlZnVsbHkgYWRkL3Jlc2V0IHN1Ym1vZHVsZSB3aXRoIGEgdHJhaWxpbmcgc2xhc2gnICcKIAogCWdpdCByZXNldCAtLWhhcmQgJiYKIAlnaXQgY29tbWl0IC1tICJjb21taXQgc3VicHJvamVjdCIgaW5pdCAmJgpAQCAtNDk1LDcgKzQ5NSw5IEBACiAJZ2l0IGFkZCBpbml0LyAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmIC0tZXhpdC1jb2RlIC0tY2FjaGVkIGluaXQgJiYKIAl0ZXN0ICRjb21taXQgPSAkKGdpdCBscy1maWxlcyAtLXN0YWdlIHwKLQkJc2VkIC1uICJzL14xNjAwMDAgXChbXiBdKlwpLiovXDEvcCIpCisJCXNlZCAtbiAicy9eMTYwMDAwIFwoW14gXSpcKS4qL1wxL3AiKSAmJgorCWdpdCByZXNldCBpbml0LyAmJgorCWdpdCBkaWZmIC0tZXhpdC1jb2RlIC0tY2FjaGVkIGluaXQKIAogJwogCkBAIC03ODMsMTMgKzc4NSwxMSBAQAogCQkJdGVzdF9jbXAgZXhwZWN0IC5naXQKIAkJKSAmJgogCQllY2hvICJyZXBvIiA+ZXhwZWN0ICYmCi0JCWdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnJlcG8ucGF0aCA+YWN0dWFsICYmCi0JCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUucmVwby5wYXRoICYmCiAJCWdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnJlcG9fbmV3LnBhdGggPmFjdHVhbCAmJgogCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsJiYKIAkJZWNobyAiJHN1Ym1vZHVybC9yZXBvIiA+ZXhwZWN0ICYmCi0JCWdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnJlcG8udXJsID5hY3R1YWwgJiYKLQkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5yZXBvLnVybCAmJgogCQllY2hvICIkc3VibW9kdXJsL2JhcmUuZ2l0IiA+ZXhwZWN0ICYmCiAJCWdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnJlcG9fbmV3LnVybCA+YWN0dWFsICYmCiAJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKQEAgLTgwOSwxMiArODA5LDggQEAKIAkJZ2l0IHJtIHJlcG8gJiYKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN1Ym1vZHVsZSBhZGQgLXEgLS1uYW1lIHJlcG9fbmV3ICIkc3VibW9kdXJsL3JlcG8uZ2l0IiByZXBvICYmCiAJCXRlc3QgISAtZCByZXBvICYmCi0JCWVjaG8gInJlcG8iID5leHBlY3QgJiYKLQkJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUucmVwb19uZXcucGF0aCA+YWN0dWFsICYmCi0JCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwmJgotCQllY2hvICIkc3VibW9kdXJsL2JhcmUuZ2l0IiA+ZXhwZWN0ICYmCi0JCWdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnJlcG9fbmV3LnVybCA+YWN0dWFsICYmCi0JCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUucmVwb19uZXcucGF0aCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5yZXBvX25ldy51cmwgJiYKIAkJZWNobyAiJHN1Ym1vZHVybC9iYXJlLmdpdCIgPmV4cGVjdCAmJgogCQlnaXQgY29uZmlnIHN1Ym1vZHVsZS5yZXBvX25ldy51cmwgPmFjdHVhbCAmJgogCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCkBAIC05NjgsNyArOTY0LDYgQEAKIAkJZ2l0IGFkZCBzdWIgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiaW5pdCBzdWIiCiAJKSAmJgotCXRlc3RfY29uZmlnIGNvcmUucHJlY29tcG9zZXVuaWNvZGUgdHJ1ZSAmJgogCWdpdCBzdWJtb2R1bGUgYWRkIC4vIiRzdm5hbWUiICYmCiAJZ2l0IHN1Ym1vZHVsZSA+JjIgJiYKIAl0ZXN0IC1uICIkKGdpdCBzdWJtb2R1bGUgfCBncmVwICIkc3ZuYW1lIikiCmRpZmYgLS1naXQgYS90L3Q3NDAxLXN1Ym1vZHVsZS1zdW1tYXJ5LnNoIGIvdC90NzQwMS1zdWJtb2R1bGUtc3VtbWFyeS5zaAppbmRleCBhYzI0MzRjLi4zNjY3NDZmIDEwMDc1NQotLS0gYS90L3Q3NDAxLXN1Ym1vZHVsZS1zdW1tYXJ5LnNoCisrKyBiL3QvdDc0MDEtc3VibW9kdWxlLXN1bW1hcnkuc2gKQEAgLTEwNCw2ICsxMDQsMjQgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICIKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm8gaWdub3JlPWFsbCBzZXR0aW5nIGhhcyBhbnkgZWZmZWN0JyAiCisJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc20xLnBhdGggc20xICYmCisJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc20xLmlnbm9yZSBhbGwgJiYKKwlnaXQgY29uZmlnIHN1Ym1vZHVsZS5zbTEuaWdub3JlIGFsbCAmJgorCWdpdCBjb25maWcgZGlmZi5pZ25vcmVTdWJtb2R1bGVzIGFsbCAmJgorCWdpdCBzdWJtb2R1bGUgc3VtbWFyeSA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKyogc20xICRoZWFkMS4uLiRoZWFkMiAoMSk6CisgID4gQWRkIGZvbzMKKworRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisJZ2l0IGNvbmZpZyAtLXVuc2V0IGRpZmYuaWdub3JlU3VibW9kdWxlcyAmJgorCWdpdCBjb25maWcgLS1yZW1vdmUtc2VjdGlvbiBzdWJtb2R1bGUuc20xICYmCisJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyAtLXJlbW92ZS1zZWN0aW9uIHN1Ym1vZHVsZS5zbTEKKyIKKworCiBjb21taXRfZmlsZSBzbTEgJiYKIGhlYWQzPSQoCiAJY2Qgc20xICYmCkBAIC0yNjUsMTMgKzI4MywxMSBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1mb3Itc3RhdHVzJyAiCiAJZ2l0IHN1Ym1vZHVsZSBzdW1tYXJ5IC0tZm9yLXN0YXR1cyBIRUFEXiA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGFjdHVhbCAtIDw8RU9GCi0jIFN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLSMKLSMgKiBzbTEgJGhlYWQ2Li4uMDAwMDAwMDoKLSMKLSMgKiBzbTIgMDAwMDAwMC4uLiRoZWFkNyAoMik6Ci0jICAgPiBBZGQgZm9vOQotIworKiBzbTEgJGhlYWQ2Li4uMDAwMDAwMDoKKworKiBzbTIgMDAwMDAwMC4uLiRoZWFkNyAoMik6CisgID4gQWRkIGZvbzkKKwogRU9GCiAiCiAKZGlmZiAtLWdpdCBhL3QvdDc0MDctc3VibW9kdWxlLWZvcmVhY2guc2ggYi90L3Q3NDA3LXN1Ym1vZHVsZS1mb3JlYWNoLnNoCmluZGV4IGJlOTNmMTAuLmI2NGM5ZWQgMTAwNzU1Ci0tLSBhL3QvdDc0MDctc3VibW9kdWxlLWZvcmVhY2guc2gKKysrIGIvdC90NzQwNy1zdWJtb2R1bGUtZm9yZWFjaC5zaApAQCAtMjU0LDEwICsyNTQsNiBAQAogCQkpICYmCiAJCWdpdCBzdWJtb2R1bGUgc3RhdHVzIC0tY2FjaGVkIC0tcmVjdXJzaXZlIC0tIG5lc3RlZDEgPiAuLi9hY3R1YWwKIAkpICYmCi0JaWYgdGVzdF9oYXZlX3ByZXJlcSBNSU5HVwotCXRoZW4KLQkJZG9zMnVuaXggYWN0dWFsCi0JZmkgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKZGlmZiAtLWdpdCBhL3QvdDc1MDEtY29tbWl0LnNoIGIvdC90NzUwMS1jb21taXQuc2gKaW5kZXggOTljZTM2Zi4uZjA0Nzk4ZiAxMDA3NTUKLS0tIGEvdC90NzUwMS1jb21taXQuc2gKKysrIGIvdC90NzUwMS1jb21taXQuc2gKQEAgLTUzLDcgKzUzLDcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndXNpbmcgaW52YWxpZCBjb21taXQgd2l0aCAtQycgJwotCXRlc3RfbXVzdF9mYWlsIGdpdCBjb21taXQgLUMgYm9ndXMKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLUMgYm9ndXMKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbm90aGluZyB0byBjb21taXQnICcKZGlmZiAtLWdpdCBhL3QvdDc1MDgtc3RhdHVzLnNoIGIvdC90NzUwOC1zdGF0dXMuc2gKaW5kZXggYWMzZDBmZS4uYzk4N2I1ZSAxMDA3NTUKLS0tIGEvdC90NzUwOC1zdGF0dXMuc2gKKysrIGIvdC90NzUwOC1zdGF0dXMuc2gKQEAgLTYwLDggKzYwLDEzIEBACiAJdGVzdF9pMThuZ3JlcCAidXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPlwuXC5cLlwiIHRvIHVuc3RhZ2UiIG91dHB1dAogJwogCitzdHJpcF9jb21tZW50cyAoKSB7CisJdGFiPScJJworCXNlZCAicy9eXCMgLy87IHMvXlwjJC8vOyBzL14jJHRhYi8kdGFiLyIgPCIkMSIgPiIkMSIudG1wICYmCisJcm0gIiQxIiAmJiBtdiAiJDEiLnRtcCAiJDEiCit9CisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyAtLWNvbHVtbicgJwotCUNPTFVNTlM9NTAgZ2l0IHN0YXR1cyAtLWNvbHVtbj0iY29sdW1uIGRlbnNlIiA+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+c3VibW9kICYmCiAgICAgZ2l0IGFkZCBzdWJtb2QgJiYKICAgICBnaXQgY29tbWl0IC1tICJTdWJtb2R1bGUgcGF0aCBiZWNvbWVzIGZpbGUiICYmCkBAIC00NTMsNyArNDUzLDcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpcmVjdG9yeSB2cyBtb2RpZmllZCBzdWJtb2R1bGUnICcKICAgICBnaXQgY2hlY2tvdXQgLWIgdGVzdDExIGJyYW5jaDEgJiYKICAgICBtdiBzdWJtb2Qgc3VibW9kLW1vdmVkYXNpZGUgJiYKLSAgICBnaXQgcm0gc3VibW9kICYmCisgICAgZ2l0IHJtIC0tY2FjaGVkIHN1Ym1vZCAmJgogICAgIG1rZGlyIHN1Ym1vZCAmJgogICAgIGVjaG8gbm90IGEgc3VibW9kdWxlID5zdWJtb2QvZmlsZTE2ICYmCiAgICAgZ2l0IGFkZCBzdWJtb2QvZmlsZTE2ICYmCmRpZmYgLS1naXQgYS90L3Q4MDA3LWNhdC1maWxlLXRleHRjb252LnNoIGIvdC90ODAwNy1jYXQtZmlsZS10ZXh0Y29udi5zaAppbmRleCBiOTVlMTAyLi5lYWNkNDlhIDEwMDc1NQotLS0gYS90L3Q4MDA3LWNhdC1maWxlLXRleHRjb252LnNoCisrKyBiL3QvdDgwMDctY2F0LWZpbGUtdGV4dGNvbnYuc2gKQEAgLTIwLDExICsyMCwxMSBAQAogJwogCiBjYXQgPmV4cGVjdGVkIDw8RU9GCi1mYXRhbDogZ2l0IGNhdC1maWxlIC0tdGV4dGNvbnY6IHVuYWJsZSB0byBydW4gdGV4dGNvbnYgb24gOm9uZS5iaW4KK2JpbjogdGVzdCB2ZXJzaW9uIDIKIEVPRgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdubyBmaWx0ZXIgc3BlY2lmaWVkJyAnCi0JZ2l0IGNhdC1maWxlIC0tdGV4dGNvbnYgOm9uZS5iaW4gMj5yZXN1bHQKKwlnaXQgY2F0LWZpbGUgLS10ZXh0Y29udiA6b25lLmJpbiA+cmVzdWx0ICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgcmVzdWx0CiAnCiAKQEAgLTM0LDEwICszNCw2IEBACiAJZ2l0IGNvbmZpZyBkaWZmLnRlc3QuY2FjaGV0ZXh0Y29udiBmYWxzZQogJwogCi1jYXQgPmV4cGVjdGVkIDw8RU9GCi1iaW46IHRlc3QgdmVyc2lvbiAyCi1FT0YKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2F0LWZpbGUgd2l0aG91dCAtLXRleHRjb252JyAnCiAJZ2l0IGNhdC1maWxlIGJsb2IgOm9uZS5iaW4gPnJlc3VsdCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIHJlc3VsdApAQCAtNzEsMjUgKzY3LDE5IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NhdC1maWxlIHdpdGhvdXQgLS10ZXh0Y29udiAoc3ltbGluayknICcKKwlwcmludGYgIiVzIiAib25lLmJpbiIgPmV4cGVjdGVkICYmCiAJZ2l0IGNhdC1maWxlIGJsb2IgOnN5bWxpbmsuYmluID5yZXN1bHQgJiYKLQlwcmludGYgIiVzIiAib25lLmJpbiIgPmV4cGVjdGVkCiAJdGVzdF9jbXAgZXhwZWN0ZWQgcmVzdWx0CiAnCiAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2F0LWZpbGUgLS10ZXh0Y29udiBvbiBpbmRleCAoc3ltbGluayknICcKLQkhIGdpdCBjYXQtZmlsZSAtLXRleHRjb252IDpzeW1saW5rLmJpbiAyPnJlc3VsdCAmJgotCWNhdCA+ZXhwZWN0ZWQgPDxcRU9GICYmCi1mYXRhbDogZ2l0IGNhdC1maWxlIC0tdGV4dGNvbnY6IHVuYWJsZSB0byBydW4gdGV4dGNvbnYgb24gOnN5bWxpbmsuYmluCi1FT0YKKwlnaXQgY2F0LWZpbGUgLS10ZXh0Y29udiA6c3ltbGluay5iaW4gPnJlc3VsdCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIHJlc3VsdAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjYXQtZmlsZSAtLXRleHRjb252IG9uIEhFQUQgKHN5bWxpbmspJyAnCi0JISBnaXQgY2F0LWZpbGUgLS10ZXh0Y29udiBIRUFEOnN5bWxpbmsuYmluIDI+cmVzdWx0ICYmCi0JY2F0ID5leHBlY3RlZCA8PEVPRiAmJgotZmF0YWw6IGdpdCBjYXQtZmlsZSAtLXRleHRjb252OiB1bmFibGUgdG8gcnVuIHRleHRjb252IG9uIEhFQUQ6c3ltbGluay5iaW4KLUVPRgorCWdpdCBjYXQtZmlsZSAtLXRleHRjb252IEhFQUQ6c3ltbGluay5iaW4gPnJlc3VsdCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIHJlc3VsdAogJwogCmRpZmYgLS1naXQgYS90L3Q5MDAxLXNlbmQtZW1haWwuc2ggYi90L3Q5MDAxLXNlbmQtZW1haWwuc2gKaW5kZXggMjgxM2FhOS4uMzExOWM4YyAxMDA3NTUKLS0tIGEvdC90OTAwMS1zZW5kLWVtYWlsLnNoCisrKyBiL3QvdDkwMDEtc2VuZC1lbWFpbC5zaApAQCAtMjMsNyArMjMsNiBAQAogICAgICAgZWNobyBkbwogICAgICAgZWNobyAiICBlY2hvIFwiIVwkYSFcIiIKICAgICAgIGVjaG8gImRvbmUgPmNvbW1hbmRsaW5lXCRvdXRwdXQiCi0gICAgICB0ZXN0X2hhdmVfcHJlcmVxIE1JTkdXICYmIGVjaG8gImRvczJ1bml4IGNvbW1hbmRsaW5lXCRvdXRwdXQiCiAgICAgICBlY2hvICJjYXQgPiBtc2d0eHRcJG91dHB1dCIKICAgICAgICkgPmZha2Uuc2VuZG1haWwgJiYKICAgICAgY2htb2QgK3ggLi9mYWtlLnNlbmRtYWlsICYmCmRpZmYgLS1naXQgYS90L3Q5MTE0LWdpdC1zdm4tZGNvbW1pdC1tZXJnZS5zaCBiL3QvdDkxMTQtZ2l0LXN2bi1kY29tbWl0LW1lcmdlLnNoCmluZGV4IGY1MjRkMmYuLmQzM2Q3MTQgMTAwNzU1Ci0tLSBhL3QvdDkxMTQtZ2l0LXN2bi1kY29tbWl0LW1lcmdlLnNoCisrKyBiL3QvdDkxMTQtZ2l0LXN2bi1kY29tbWl0LW1lcmdlLnNoCkBAIC02Miw3ICs2Miw3IEBACiAJZWNobyBmcmllbmQgPiBSRUFETUUgJiYKIAljYXQgdG1wID4+IFJFQURNRSAmJgogCWdpdCBjb21taXQgLWEgLW0gImZyaWVuZCIgJiYKLQlnaXQgcHVsbCAuIG1lcmdlCisJZ2l0IG1lcmdlIG1lcmdlCiAJJwogCiB0ZXN0X2RlYnVnICdnaXRrIC0tYWxsICYgc2xlZXAgMScKZGlmZiAtLWdpdCBhL3QvdDkxMTctZ2l0LXN2bi1pbml0LWNsb25lLnNoIGIvdC90OTExNy1naXQtc3ZuLWluaXQtY2xvbmUuc2gKaW5kZXggYjdlZjllMi4uNjllOWMwZCAxMDA3NTUKLS0tIGEvdC90OTExNy1naXQtc3ZuLWluaXQtY2xvbmUuc2gKKysrIGIvdC90OTExNy1naXQtc3ZuLWluaXQtY2xvbmUuc2gKQEAgLTUyLDQgKzUyLDcxIEBACiAJcm0gLXJmIHRhcmdldAogCScKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5pdCB3aXRob3V0IC1zLy1ULy1iLy10IGRvZXMgbm90IHdhcm4nICcKKwl0ZXN0ICEgLWQgdHJ1bmsgJiYKKwlnaXQgc3ZuIGluaXQgIiRzdm5yZXBvIi9wcm9qZWN0L3RydW5rIHRydW5rIDI+d2FybmluZyAmJgorCXRlc3RfbXVzdF9mYWlsIGdyZXAgLXEgcHJlZml4IHdhcm5pbmcgJiYKKwlybSAtcmYgdHJ1bmsgJiYKKwlybSAtZiB3YXJuaW5nCisJJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSB3aXRob3V0IC1zLy1ULy1iLy10IGRvZXMgbm90IHdhcm4nICcKKwl0ZXN0ICEgLWQgdHJ1bmsgJiYKKwlnaXQgc3ZuIGNsb25lICIkc3ZucmVwbyIvcHJvamVjdC90cnVuayAyPndhcm5pbmcgJiYKKwl0ZXN0X211c3RfZmFpbCBncmVwIC1xIHByZWZpeCB3YXJuaW5nICYmCisJcm0gLXJmIHRydW5rICYmCisJcm0gLWYgd2FybmluZworCScKKwordGVzdF9zdm5fY29uZmlndXJlZF9wcmVmaXggKCkgeworCXByZWZpeD0kMSAmJgorCWNhdCA+ZXhwZWN0IDw8RU9GICYmCitwcm9qZWN0L3RydW5rOnJlZnMvcmVtb3Rlcy8ke3ByZWZpeH10cnVuaworcHJvamVjdC9icmFuY2hlcy8qOnJlZnMvcmVtb3Rlcy8ke3ByZWZpeH0qCitwcm9qZWN0L3RhZ3MvKjpyZWZzL3JlbW90ZXMvJHtwcmVmaXh9dGFncy8qCitFT0YKKwl0ZXN0ICEgLWYgYWN0dWFsICYmCisJZ2l0IC0tZ2l0LWRpcj1wcm9qZWN0Ly5naXQgY29uZmlnIHN2bi1yZW1vdGUuc3ZuLmZldGNoID4+YWN0dWFsICYmCisJZ2l0IC0tZ2l0LWRpcj1wcm9qZWN0Ly5naXQgY29uZmlnIHN2bi1yZW1vdGUuc3ZuLmJyYW5jaGVzID4+YWN0dWFsICYmCisJZ2l0IC0tZ2l0LWRpcj1wcm9qZWN0Ly5naXQgY29uZmlnIHN2bi1yZW1vdGUuc3ZuLnRhZ3MgPj5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJcm0gLWYgZXhwZWN0IGFjdHVhbAorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbml0IHdpdGggLXMvLVQvLWIvLXQgd2l0aG91dCAtLXByZWZpeCB3YXJucycgJworCXRlc3QgISAtZCBwcm9qZWN0ICYmCisJZ2l0IHN2biBpbml0IC1zICIkc3ZucmVwbyIvcHJvamVjdCBwcm9qZWN0IDI+d2FybmluZyAmJgorCWdyZXAgLXEgcHJlZml4IHdhcm5pbmcgJiYKKwl0ZXN0X3N2bl9jb25maWd1cmVkX3ByZWZpeCAiIiAmJgorCXJtIC1yZiBwcm9qZWN0ICYmCisJcm0gLWYgd2FybmluZworCScKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgd2l0aCAtcy8tVC8tYi8tdCB3aXRob3V0IC0tcHJlZml4IHdhcm5zJyAnCisJdGVzdCAhIC1kIHByb2plY3QgJiYKKwlnaXQgc3ZuIGNsb25lIC1zICIkc3ZucmVwbyIvcHJvamVjdCAyPndhcm5pbmcgJiYKKwlncmVwIC1xIHByZWZpeCB3YXJuaW5nICYmCisJdGVzdF9zdm5fY29uZmlndXJlZF9wcmVmaXggIiIgJiYKKwlybSAtcmYgcHJvamVjdCAmJgorCXJtIC1mIHdhcm5pbmcKKwknCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luaXQgd2l0aCAtcy8tVC8tYi8tdCBhbmQgLS1wcmVmaXggZG9lcyBub3Qgd2FybicgJworCXRlc3QgISAtZCBwcm9qZWN0ICYmCisJZ2l0IHN2biBpbml0IC1zICIkc3ZucmVwbyIvcHJvamVjdCBwcm9qZWN0IC0tcHJlZml4PSIiIDI+d2FybmluZyAmJgorCXRlc3RfbXVzdF9mYWlsIGdyZXAgLXEgcHJlZml4IHdhcm5pbmcgJiYKKwl0ZXN0X3N2bl9jb25maWd1cmVkX3ByZWZpeCAiIiAmJgorCXJtIC1yZiBwcm9qZWN0ICYmCisJcm0gLWYgd2FybmluZworCScKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgd2l0aCAtcy8tVC8tYi8tdCBhbmQgLS1wcmVmaXggZG9lcyBub3Qgd2FybicgJworCXRlc3QgISAtZCBwcm9qZWN0ICYmCisJZ2l0IHN2biBjbG9uZSAtcyAiJHN2bnJlcG8iL3Byb2plY3QgLS1wcmVmaXg9IiIgMj53YXJuaW5nICYmCisJdGVzdF9tdXN0X2ZhaWwgZ3JlcCAtcSBwcmVmaXggd2FybmluZyAmJgorCXRlc3Rfc3ZuX2NvbmZpZ3VyZWRfcHJlZml4ICIiICYmCisJcm0gLXJmIHByb2plY3QgJiYKKwlybSAtZiB3YXJuaW5nCisJJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDkxMjktZ2l0LXN2bi1pMThuLWNvbW1pdGVuY29kaW5nLnNoIGIvdC90OTEyOS1naXQtc3ZuLWkxOG4tY29tbWl0ZW5jb2Rpbmcuc2gKaW5kZXggOWE0MGYxZS4uOGNmZGZlNyAxMDA3NTUKLS0tIGEvdC90OTEyOS1naXQtc3ZuLWkxOG4tY29tbWl0ZW5jb2Rpbmcuc2gKKysrIGIvdC90OTEyOS1naXQtc3ZuLWkxOG4tY29tbWl0ZW5jb2Rpbmcuc2gKQEAgLTI5LDcgKzI5LDcgQEAKIGNvbXBhcmVfc3ZuX2hlYWRfd2l0aCAoKSB7CiAJIyBleHRyYWN0IGp1c3QgdGhlIGxvZyBtZXNzYWdlIGFuZCBzdHJpcCBvdXQgY29tbWl0dGVyIGluZm8uCiAJIyBkb24ndCB1c2UgLS1saW1pdCBoZXJlIHNpbmNlIHN2biAxLjEueCBkb2Vzbid0IGhhdmUgaXQsCi0JTENfQUxMPSIkYV91dGY4X2xvY2FsZSIgc3ZuIGxvZyBgZ2l0IHN2biBpbmZvIC0tdXJsYCB8ICIkUEVSTF9QQVRIIiAtdyAtZSAnCisJTENfQUxMPSIkYV91dGY4X2xvY2FsZSIgc3ZuIGxvZyBgZ2l0IHN2biBpbmZvIC0tdXJsYCB8IHBlcmwgLXcgLWUgJwogCQl1c2UgYnl0ZXM7CiAJCSQvID0gKCItIng3MikgLiAiXG4iOwogCQlteSBAeCA9IDxTVERJTj47CmRpZmYgLS1naXQgYS90L3Q5MTM3LWdpdC1zdm4tZGNvbW1pdC1jbG9iYmVyLXNlcmllcy5zaCBiL3QvdDkxMzctZ2l0LXN2bi1kY29tbWl0LWNsb2JiZXItc2VyaWVzLnNoCmluZGV4IGMxN2FhMzEuLmQ2MGRhNjMgMTAwNzU1Ci0tLSBhL3QvdDkxMzctZ2l0LXN2bi1kY29tbWl0LWNsb2JiZXItc2VyaWVzLnNoCisrKyBiL3QvdDkxMzctZ2l0LXN2bi1kY29tbWl0LWNsb2JiZXItc2VyaWVzLnNoCkBAIC0yMCw4ICsyMCw4IEBACiAJdGVzdCB4ImBzZWQgLW4gLWUgNjFwIDwgZmlsZWAiID0geDYxICYmCiAJc3ZuX2NtZCBjbyAiJHN2bnJlcG8iIHRtcCAmJgogCShjZCB0bXAgJiYKLQkJIiRQRVJMX1BBVEgiIC1pLmJhayAtcCAtZSAicy9eNTgkLzU1ODgvIiBmaWxlICYmCi0JCSIkUEVSTF9QQVRIIiAtaS5iYWsgLXAgLWUgInMvXjYxJC82NjExLyIgZmlsZSAmJgorCQlwZXJsIC1pLmJhayAtcCAtZSAicy9eNTgkLzU1ODgvIiBmaWxlICYmCisJCXBlcmwgLWkuYmFrIC1wIC1lICJzL142MSQvNjYxMS8iIGZpbGUgJiYKIAkJcG9rZSBmaWxlICYmCiAJCXRlc3QgeCJgc2VkIC1uIC1lIDU4cCA8IGZpbGVgIiA9IHg1NTg4ICYmCiAJCXRlc3QgeCJgc2VkIC1uIC1lIDYxcCA8IGZpbGVgIiA9IHg2NjExICYmCkBAIC00MCw4ICs0MCw4IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGFuZ2UgZmlsZSBidXQgaW4gdW5yZWxhdGVkIGFyZWEnICIKIAl0ZXN0IHhcIlxgc2VkIC1uIC1lIDRwIDwgZmlsZVxgXCIgPSB4NCAmJgogCXRlc3QgeFwiXGBzZWQgLW4gLWUgN3AgPCBmaWxlXGBcIiA9IHg3ICYmCi0JIiRQRVJMX1BBVEgiIC1pLmJhayAtcCAtZSAncy9eNFwkLzQ0NDQvJyBmaWxlICYmCi0JIiRQRVJMX1BBVEgiIC1pLmJhayAtcCAtZSAncy9eN1wkLzc3NzcvJyBmaWxlICYmCisJcGVybCAtaS5iYWsgLXAgLWUgJ3MvXjRcJC80NDQ0LycgZmlsZSAmJgorCXBlcmwgLWkuYmFrIC1wIC1lICdzL143XCQvNzc3Ny8nIGZpbGUgJiYKIAl0ZXN0IHhcIlxgc2VkIC1uIC1lIDRwIDwgZmlsZVxgXCIgPSB4NDQ0NCAmJgogCXRlc3QgeFwiXGBzZWQgLW4gLWUgN3AgPCBmaWxlXGBcIiA9IHg3Nzc3ICYmCiAJZ2l0IGNvbW1pdCAtbSAnNCA9PiA0NDQ0LCA3ID0+IDc3NzcnIGZpbGUgJiYKZGlmZiAtLWdpdCBhL3QvdDkzMDAtZmFzdC1pbXBvcnQuc2ggYi90L3Q5MzAwLWZhc3QtaW1wb3J0LnNoCmluZGV4IGFjNmYzYjYuLjI3MjYzZGYgMTAwNzU1Ci0tLSBhL3QvdDkzMDAtZmFzdC1pbXBvcnQuc2gKKysrIGIvdC90OTMwMC1mYXN0LWltcG9ydC5zaApAQCAtMTIsNyArMTIsNyBAQAogIyBUaGlzIGNvdWxkIGJlIHdyaXR0ZW4gYXMgImhlYWQgLWMgJDEiLCBidXQgSVJJWCAiaGVhZCIgZG9lcyBub3QKICMgc3VwcG9ydCB0aGUgLWMgb3B0aW9uLgogaGVhZF9jICgpIHsKLQkiJFBFUkxfUEFUSCIgLWUgJworCXBlcmwgLWUgJwogCQlteSAkbGVuID0gJEFSR1ZbMV07CiAJCXdoaWxlICgkbGVuID4gMCkgewogCQkJbXkgJHM7CkBAIC0xMDMxLDYgKzEwMzEsMzIgQEAKIAkgZ2l0IGRpZmYtdHJlZSAtTSAtciBNM14gTTMgPmFjdHVhbCAmJgogCSBjb21wYXJlX2RpZmZfcmF3IGV4cGVjdCBhY3R1YWwnCiAKK2NhdCA+aW5wdXQgPDxJTlBVVF9FTkQKK2NvbW1pdCByZWZzL2hlYWRzL000Citjb21taXR0ZXIgJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+ICRHSVRfQ09NTUlUVEVSX0RBVEUKK2RhdGEgPDxDT01NSVQKK3JlbmFtZSByb290CitDT01NSVQKKworZnJvbSByZWZzL2hlYWRzL00yXjAKK1IgIiIgc3ViCisKK0lOUFVUX0VORAorCitjYXQgPmV4cGVjdCA8PEVPRgorOjEwMDY0NCAxMDA2NDQgNzEyM2Y3ZjQ0ZTM5YmUxMjdjNWViNzAxZTU5NjgxNzZlZTlkNzhiMSA3MTIzZjdmNDRlMzliZTEyN2M1ZWI3MDFlNTk2ODE3NmVlOWQ3OGIxIFIxMDAJZmlsZTIvb2xkZglzdWIvZmlsZTIvb2xkZgorOjEwMDc1NSAxMDA3NTUgODVkZjUwNzg1ZDYyZDNiMDVhYjAzZDljYmY3ZTRhMGI0OTQ0OTczMCA4NWRmNTA3ODVkNjJkM2IwNWFiMDNkOWNiZjdlNGEwYjQ5NDQ5NzMwIFIxMDAJZmlsZTQJc3ViL2ZpbGU0Cis6MTAwNzU1IDEwMDc1NSBmMWZiNWRhNzE4MzkyNjk0ZDAwNzZkNjc3ZDZkMGUzNjRjNzliMGJjIGYxZmI1ZGE3MTgzOTI2OTRkMDA3NmQ2NzdkNmQwZTM2NGM3OWIwYmMgUjEwMAlpL2FtL25ldy90by95b3UJc3ViL2kvYW0vbmV3L3RvL3lvdQorOjEwMDc1NSAxMDA3NTUgZTc0YjdkNDY1ZTUyNzQ2YmUyYjRiYWU5ODM2NzA3MTFlNmU2NjY1NyBlNzRiN2Q0NjVlNTI3NDZiZTJiNGJhZTk4MzY3MDcxMWU2ZTY2NjU3IFIxMDAJbmV3ZGlyL2V4ZWMuc2gJc3ViL25ld2Rpci9leGVjLnNoCis6MTAwNjQ0IDEwMDY0NCBmY2Y3NzhjZGExODFlYWExY2JjOWU5Y2UzYTJlMTVlZTlmOWZlNzkxIGZjZjc3OGNkYTE4MWVhYTFjYmM5ZTljZTNhMmUxNWVlOWY5ZmU3OTEgUjEwMAluZXdkaXIvaW50ZXJlc3RpbmcJc3ViL25ld2Rpci9pbnRlcmVzdGluZworRU9GCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFwKKwknTTogcmVuYW1lIHJvb3QgdG8gc3ViZGlyZWN0b3J5JyBcCisJJ2dpdCBmYXN0LWltcG9ydCA8aW5wdXQgJiYKKwkgZ2l0IGRpZmYtdHJlZSAtTSAtciBNNF4gTTQgPmFjdHVhbCAmJgorCSBjYXQgYWN0dWFsICYmCisJIGNvbXBhcmVfZGlmZl9yYXcgZXhwZWN0IGFjdHVhbCcKKwogIyMjCiAjIyMgc2VyaWVzIE4KICMjIwpAQCAtMTIyOCw2ICsxMjU0LDI5IEBACiAJIGNvbXBhcmVfZGlmZl9yYXcgZXhwZWN0IGFjdHVhbCcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBcCisJJ046IGNvcHkgcm9vdCBieSBwYXRoJyBcCisJJ2NhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwk6MTAwNzU1IDEwMDc1NSBmMWZiNWRhNzE4MzkyNjk0ZDAwNzZkNjc3ZDZkMGUzNjRjNzliMGJjIGYxZmI1ZGE3MTgzOTI2OTRkMDA3NmQ2NzdkNmQwZTM2NGM3OWIwYmMgQzEwMAlmaWxlMi9uZXdmCW9sZHJvb3QvZmlsZTIvbmV3ZgorCToxMDA2NDQgMTAwNjQ0IDcxMjNmN2Y0NGUzOWJlMTI3YzVlYjcwMWU1OTY4MTc2ZWU5ZDc4YjEgNzEyM2Y3ZjQ0ZTM5YmUxMjdjNWViNzAxZTU5NjgxNzZlZTlkNzhiMSBDMTAwCWZpbGUyL29sZGYJb2xkcm9vdC9maWxlMi9vbGRmCisJOjEwMDc1NSAxMDA3NTUgODVkZjUwNzg1ZDYyZDNiMDVhYjAzZDljYmY3ZTRhMGI0OTQ0OTczMCA4NWRmNTA3ODVkNjJkM2IwNWFiMDNkOWNiZjdlNGEwYjQ5NDQ5NzMwIEMxMDAJZmlsZTQJb2xkcm9vdC9maWxlNAorCToxMDA3NTUgMTAwNzU1IGU3NGI3ZDQ2NWU1Mjc0NmJlMmI0YmFlOTgzNjcwNzExZTZlNjY2NTcgZTc0YjdkNDY1ZTUyNzQ2YmUyYjRiYWU5ODM2NzA3MTFlNmU2NjY1NyBDMTAwCW5ld2Rpci9leGVjLnNoCW9sZHJvb3QvbmV3ZGlyL2V4ZWMuc2gKKwk6MTAwNjQ0IDEwMDY0NCBmY2Y3NzhjZGExODFlYWExY2JjOWU5Y2UzYTJlMTVlZTlmOWZlNzkxIGZjZjc3OGNkYTE4MWVhYTFjYmM5ZTljZTNhMmUxNWVlOWY5ZmU3OTEgQzEwMAluZXdkaXIvaW50ZXJlc3RpbmcJb2xkcm9vdC9uZXdkaXIvaW50ZXJlc3RpbmcKKwlFT0YKKwkgY2F0ID5pbnB1dCA8PC1JTlBVVF9FTkQgJiYKKwljb21taXQgcmVmcy9oZWFkcy9OLWNvcHktcm9vdC1wYXRoCisJY29tbWl0dGVyICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAkR0lUX0NPTU1JVFRFUl9EQVRFCisJZGF0YSA8PENPTU1JVAorCWNvcHkgcm9vdCBkaXJlY3RvcnkgYnkgKGVtcHR5KSBwYXRoCisJQ09NTUlUCisKKwlmcm9tIHJlZnMvaGVhZHMvYnJhbmNoXjAKKwlDICIiIG9sZHJvb3QKKwlJTlBVVF9FTkQKKwkgZ2l0IGZhc3QtaW1wb3J0IDxpbnB1dCAmJgorCSBnaXQgZGlmZi10cmVlIC1DIC0tZmluZC1jb3BpZXMtaGFyZGVyIC1yIGJyYW5jaCBOLWNvcHktcm9vdC1wYXRoID5hY3R1YWwgJiYKKwkgY29tcGFyZV9kaWZmX3JhdyBleHBlY3QgYWN0dWFsJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFwKIAknTjogZGVsZXRlIGRpcmVjdG9yeSBieSBjb3B5aW5nJyBcCiAJJ2NhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKIAlPQkpJRApAQCAtMjgxNSwxNCArMjg2NCwxNCBAQAogJwogCiAjCi0jIG5vdGVtb2RpZnksIG1hcmsgaW4gY29tbWl0dGlzaAorIyBub3RlbW9kaWZ5LCBtYXJrIGluIGNvbW1pdC1pc2gKICMKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1M6IG5vdGVtb2RpZnkgd2l0aCBnYXJiYXJnZSBhZnRlciBtYXJrIGNvbW1pdHRpc2ggbXVzdCBmYWlsJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdTOiBub3RlbW9kaWZ5IHdpdGggZ2FyYmFyZ2UgYWZ0ZXIgbWFyayBjb21taXQtaXNoIG11c3QgZmFpbCcgJwogCXRlc3RfbXVzdF9mYWlsIGdpdCBmYXN0LWltcG9ydCAtLWltcG9ydC1tYXJrcz1tYXJrcyA8PC1FT0YgMj5lcnIgJiYKIAljb21taXQgcmVmcy9oZWFkcy9Tbm90ZXMKIAljb21taXR0ZXIgJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+ICRHSVRfQ09NTUlUVEVSX0RBVEUKIAlkYXRhIDw8Q09NTUlUCi0JY29tbWl0IFMgbm90ZSBjb21taXR0aXNoCisJY29tbWl0IFMgbm90ZSBjb21taXQtaXNoCiAJQ09NTUlUCiAJTiA6MjAyIDozMDJ4CiAJRU9GCkBAIC0yOTM0LDQgKzI5ODMsMjAgQEAKIAl0ZXN0X2kxOG5ncmVwICJzcGFjZSBhZnRlciB0cmVlLWlzaCIgZXJyCiAnCiAKKyMjIworIyMjIHNlcmllcyBUIChscykKKyMjIworIyBTZXR1cCBpcyBjYXJyaWVkIG92ZXIgZnJvbSBzZXJpZXMgUy4KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnVDogbHMgcm9vdCB0cmVlJyAnCisJc2VkIC1lICJzL1pcJC8vIiA+ZXhwZWN0IDw8LUVPRiAmJgorCTA0MDAwMCB0cmVlICQoZ2l0IHJldi1wYXJzZSBTXnt0cmVlfSkJWgorCUVPRgorCXNoYTE9JChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IFMpICYmCisJZ2l0IGZhc3QtaW1wb3J0IC0taW1wb3J0LW1hcmtzPW1hcmtzIDw8LUVPRiA+YWN0dWFsICYmCisJbHMgJHNoYTEgIiIKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTM1MC1mYXN0LWV4cG9ydC5zaCBiL3QvdDkzNTAtZmFzdC1leHBvcnQuc2gKaW5kZXggMzRjMmQ4Zi4uMjMxMmRlYyAxMDA3NTUKLS0tIGEvdC90OTM1MC1mYXN0LWV4cG9ydC5zaAorKysgYi90L3Q5MzUwLWZhc3QtZXhwb3J0LnNoCkBAIC00MjksNyArNDI5LDcgQEAKIAkJLS1jYWNoZWluZm8gMTAwNjQ0ICRibG9iICJwYXRoIHdpdGggXFxiYWNrc2xhc2giIFwKIAkJLS1jYWNoZWluZm8gMTAwNjQ0ICRibG9iICJwYXRoIHdpdGggc3BhY2UiICYmCiAJIGdpdCBjb21taXQgLW0gYWRkaXRpb24gJiYKLQkgZ2l0IGxzLWZpbGVzIC16IC1zIHwgIiRQRVJMX1BBVEgiIC0wcGUgInN7XFx0fXskJnN1YmRpci99IiA+aW5kZXggJiYKKwkgZ2l0IGxzLWZpbGVzIC16IC1zIHwgcGVybCAtMHBlICJze1xcdH17JCZzdWJkaXIvfSIgPmluZGV4ICYmCiAJIGdpdCByZWFkLXRyZWUgLS1lbXB0eSAmJgogCSBnaXQgdXBkYXRlLWluZGV4IC16IC0taW5kZXgtaW5mbyA8aW5kZXggJiYKIAkgZ2l0IGNvbW1pdCAtbSByZW5hbWUgJiYKZGlmZiAtLWdpdCBhL3QvdDk0MDAtZ2l0LWN2c3NlcnZlci1zZXJ2ZXIuc2ggYi90L3Q5NDAwLWdpdC1jdnNzZXJ2ZXItc2VydmVyLnNoCmluZGV4IDA0MzEzODYuLjNlZGM0MDggMTAwNzU1Ci0tLSBhL3QvdDk0MDAtZ2l0LWN2c3NlcnZlci1zZXJ2ZXIuc2gKKysrIGIvdC90OTQwMC1naXQtY3Zzc2VydmVyLXNlcnZlci5zaApAQCAtMjAsNyArMjAsNyBAQAogICAgIHNraXBfYWxsPSdza2lwcGluZyBnaXQtY3Zzc2VydmVyIHRlc3RzLCBjdnMgbm90IGZvdW5kJwogICAgIHRlc3RfZG9uZQogZmkKLSIkUEVSTF9QQVRIIiAtZSAndXNlIERCSTsgdXNlIERCRDo6U1FMaXRlJyA+L2Rldi9udWxsIDI+JjEgfHwgeworcGVybCAtZSAndXNlIERCSTsgdXNlIERCRDo6U1FMaXRlJyA+L2Rldi9udWxsIDI+JjEgfHwgewogICAgIHNraXBfYWxsPSdza2lwcGluZyBnaXQtY3Zzc2VydmVyIHRlc3RzLCBQZXJsIFNRTGl0ZSBpbnRlcmZhY2UgdW5hdmFpbGFibGUnCiAgICAgdGVzdF9kb25lCiB9CmRpZmYgLS1naXQgYS90L3Q5NDAxLWdpdC1jdnNzZXJ2ZXItY3JsZi5zaCBiL3QvdDk0MDEtZ2l0LWN2c3NlcnZlci1jcmxmLnNoCmluZGV4IDhjM2RiNzYuLjVhNGVkMjggMTAwNzU1Ci0tLSBhL3QvdDk0MDEtZ2l0LWN2c3NlcnZlci1jcmxmLnNoCisrKyBiL3QvdDk0MDEtZ2l0LWN2c3NlcnZlci1jcmxmLnNoCkBAIC02OCw3ICs2OCw3IEBACiAgICAgc2tpcF9hbGw9J3NraXBwaW5nIGdpdC1jdnNzZXJ2ZXIgdGVzdHMsIHBlcmwgbm90IGF2YWlsYWJsZScKICAgICB0ZXN0X2RvbmUKIGZpCi0iJFBFUkxfUEFUSCIgLWUgJ3VzZSBEQkk7IHVzZSBEQkQ6OlNRTGl0ZScgPi9kZXYvbnVsbCAyPiYxIHx8IHsKK3BlcmwgLWUgJ3VzZSBEQkk7IHVzZSBEQkQ6OlNRTGl0ZScgPi9kZXYvbnVsbCAyPiYxIHx8IHsKICAgICBza2lwX2FsbD0nc2tpcHBpbmcgZ2l0LWN2c3NlcnZlciB0ZXN0cywgUGVybCBTUUxpdGUgaW50ZXJmYWNlIHVuYXZhaWxhYmxlJwogICAgIHRlc3RfZG9uZQogfQpkaWZmIC0tZ2l0IGEvdC90OTQwMi1naXQtY3Zzc2VydmVyLXJlZnMuc2ggYi90L3Q5NDAyLWdpdC1jdnNzZXJ2ZXItcmVmcy5zaAppbmRleCBkYjY5YWYyLi4xZTI2NmVmIDEwMDc1NQotLS0gYS90L3Q5NDAyLWdpdC1jdnNzZXJ2ZXItcmVmcy5zaAorKysgYi90L3Q5NDAyLWdpdC1jdnNzZXJ2ZXItcmVmcy5zaApAQCAtNzYsNyArNzYsNyBAQAogCXNraXBfYWxsPSdza2lwcGluZyBnaXQtY3Zzc2VydmVyIHRlc3RzLCBwZXJsIG5vdCBhdmFpbGFibGUnCiAJdGVzdF9kb25lCiBmaQotIiRQRVJMX1BBVEgiIC1lICd1c2UgREJJOyB1c2UgREJEOjpTUUxpdGUnID4vZGV2L251bGwgMj4mMSB8fCB7CitwZXJsIC1lICd1c2UgREJJOyB1c2UgREJEOjpTUUxpdGUnID4vZGV2L251bGwgMj4mMSB8fCB7CiAJc2tpcF9hbGw9J3NraXBwaW5nIGdpdC1jdnNzZXJ2ZXIgdGVzdHMsIFBlcmwgU1FMaXRlIGludGVyZmFjZSB1bmF2YWlsYWJsZScKIAl0ZXN0X2RvbmUKIH0KZGlmZiAtLWdpdCBhL3QvdDk1MDAtZ2l0d2ViLXN0YW5kYWxvbmUtbm8tZXJyb3JzLnNoIGIvdC90OTUwMC1naXR3ZWItc3RhbmRhbG9uZS1uby1lcnJvcnMuc2gKaW5kZXggNmZjYTE5My4uZTc0YjlhYiAxMDA3NTUKLS0tIGEvdC90OTUwMC1naXR3ZWItc3RhbmRhbG9uZS1uby1lcnJvcnMuc2gKKysrIGIvdC90OTUwMC1naXR3ZWItc3RhbmRhbG9uZS1uby1lcnJvcnMuc2gKQEAgLTMyOCw3ICszMjgsNyBAQAogCSBnaXQgYWRkIGIgJiYKIAkgZ2l0IGNvbW1pdCAtYSAtbSAiT24gYnJhbmNoIiAmJgogCSBnaXQgY2hlY2tvdXQgbWFzdGVyICYmCi0JIGdpdCBwdWxsIC4gYiAmJgorCSBnaXQgbWVyZ2UgYiAmJgogCSBnaXQgdGFnIG1lcmdlX2NvbW1pdCcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBcCkBAIC02ODMsOSArNjgzLDExIEBACiAjIHN5bnRheCBoaWdobGlnaHRpbmcKIAogCi1oaWdobGlnaHQgLS12ZXJzaW9uID4vZGV2L251bGwgMj4mMQoraGlnaGxpZ2h0X3ZlcnNpb249JChoaWdobGlnaHQgLS12ZXJzaW9uIDwvZGV2L251bGwgMj4vZGV2L251bGwpCiBpZiBbICQ/IC1lcSAxMjcgXTsgdGhlbgotCXNheSAiU2tpcHBpbmcgc3ludGF4IGhpZ2hsaWdodGluZyB0ZXN0LCBiZWNhdXNlICdoaWdobGlnaHQnIHdhcyBub3QgZm91bmQiCisJc2F5ICJTa2lwcGluZyBzeW50YXggaGlnaGxpZ2h0aW5nIHRlc3RzOiAnaGlnaGxpZ2h0JyBub3QgZm91bmQiCitlbGlmIHRlc3QgLXogIiRoaWdobGlnaHRfdmVyc2lvbiI7IHRoZW4KKwlzYXkgIlNraXBwaW5nIHN5bnRheCBoaWdobGlnaHRpbmcgdGVzdHM6IGluY29ycmVjdCAnaGlnaGxpZ2h0JyBmb3VuZCIKIGVsc2UKIAl0ZXN0X3NldF9wcmVyZXEgSElHSExJR0hUCiAJY2F0ID4+Z2l0d2ViX2NvbmZpZy5wZXJsIDw8LVxFT0YKZGlmZiAtLWdpdCBhL3QvdDk3MDAtcGVybC1naXQuc2ggYi90L3Q5NzAwLXBlcmwtZ2l0LnNoCmluZGV4IDQzNWQ4OTYuLjEwMmMxMzMgMTAwNzU1Ci0tLSBhL3QvdDk3MDAtcGVybC1naXQuc2gKKysrIGIvdC90OTcwMC1wZXJsLWdpdC5zaApAQCAtMTEsNyArMTEsNyBAQAogCXRlc3RfZG9uZQogZmkKIAotIiRQRVJMX1BBVEgiIC1NVGVzdDo6TW9yZSAtZSAwIDI+L2Rldi9udWxsIHx8IHsKK3BlcmwgLU1UZXN0OjpNb3JlIC1lIDAgMj4vZGV2L251bGwgfHwgewogCXNraXBfYWxsPSJQZXJsIFRlc3Q6Ok1vcmUgdW5hdmFpbGFibGUsIHNraXBwaW5nIHRlc3QiCiAJdGVzdF9kb25lCiB9CkBAIC01NSw2ICs1NSw2IEBACiAKIHRlc3RfZXh0ZXJuYWxfd2l0aG91dF9zdGRlcnIgXAogICAgICdQZXJsIEFQSScgXAotICAgICIkUEVSTF9QQVRIIiAiJFRFU1RfRElSRUNUT1JZIi90OTcwMC90ZXN0LnBsCisgICAgcGVybCAiJFRFU1RfRElSRUNUT1JZIi90OTcwMC90ZXN0LnBsCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTgxMC1naXQtcDQtcmNzLnNoIGIvdC90OTgxMC1naXQtcDQtcmNzLnNoCmluZGV4IDM0ZmJjOTAuLjgxMzRhYjQgMTAwNzU1Ci0tLSBhL3QvdDk4MTAtZ2l0LXA0LXJjcy5zaAorKysgYi90L3Q5ODEwLWdpdC1wNC1yY3Muc2gKQEAgLTI2Myw3ICsyNjMsNyBAQAogCQlnaXQgY29uZmlnIGdpdC1wNC5hdHRlbXB0UkNTQ2xlYW51cCB0cnVlICYmCiAJCShjZCAiJGNsaSIgJiYgcDRfYXBwZW5kX3RvX2ZpbGUga3dmaWxlMS5jKSAmJgogCQlvbGRfbGluZXM9JCh3YyAtbCA8a3dmaWxlMS5jKSAmJgotCQkiJFBFUkxfUEFUSCIgLW4gLWkgLWUgInByaW50IHVubGVzcyBtL1JldmlzaW9uOi8iIGt3ZmlsZTEuYyAmJgorCQlwZXJsIC1uIC1pIC1lICJwcmludCB1bmxlc3MgbS9SZXZpc2lvbjovIiBrd2ZpbGUxLmMgJiYKIAkJbmV3X2xpbmVzPSQod2MgLWwgPGt3ZmlsZTEuYykgJiYKIAkJdGVzdCAkbmV3X2xpbmVzID0gJCgoJG9sZF9saW5lcyAtIDEpKSAmJgogCmRpZmYgLS1naXQgYS90L3Q5OTAzLWJhc2gtcHJvbXB0LnNoIGIvdC90OTkwMy1iYXNoLXByb21wdC5zaAppbmRleCAzYzNlNGU4Li41OWY4NzVlIDEwMDc1NQotLS0gYS90L3Q5OTAzLWJhc2gtcHJvbXB0LnNoCisrKyBiL3QvdDk5MDMtYmFzaC1wcm9tcHQuc2gKQEAgLTYxLDYgKzYxLDI5IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCiAnCiAKK3JlcG9fd2l0aF9uZXdsaW5lPSdyZXBvCit3aXRoCituZXdsaW5lJworCitpZiBta2RpciAiJHJlcG9fd2l0aF9uZXdsaW5lIiAyPi9kZXYvbnVsbAordGhlbgorCXRlc3Rfc2V0X3ByZXJlcSBGVU5OWU5BTUVTCitlbHNlCisJc2F5ICdZb3VyIGZpbGVzeXN0ZW0gZG9lcyBub3QgYWxsb3cgbmV3bGluZXMgaW4gZmlsZW5hbWVzLicKK2ZpCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgRlVOTllOQU1FUyAncHJvbXB0IC0gd2l0aCBuZXdsaW5lIGluIHBhdGgnICcKKwlwcmludGYgIiAobWFzdGVyKSIgPmV4cGVjdGVkICYmCisJZ2l0IGluaXQgIiRyZXBvX3dpdGhfbmV3bGluZSIgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBcIiRyZXBvX3dpdGhfbmV3bGluZVwiIiAmJgorCW1rZGlyICIkcmVwb193aXRoX25ld2xpbmUiL3N1YmRpciAmJgorCSgKKwkJY2QgIiRyZXBvX3dpdGhfbmV3bGluZS9zdWJkaXIiICYmCisJCV9fZ2l0X3BzMSA+IiRhY3R1YWwiCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcm9tcHQgLSBkZXRhY2hlZCBoZWFkJyAnCiAJcHJpbnRmICIgKCglcy4uLikpIiAkKGdpdCBsb2cgLTEgLS1mb3JtYXQ9IiVoIiAtLWFiYnJldj0xMyBiMV4pID5leHBlY3RlZCAmJgogCXRlc3RfY29uZmlnIGNvcmUuYWJicmV2IDEzICYmCmRpZmYgLS1naXQgYS90L3Rlc3QtbGliLWZ1bmN0aW9ucy5zaCBiL3QvdGVzdC1saWItZnVuY3Rpb25zLnNoCmluZGV4IGE3ZTlhYWMuLjJmNzkxNDYgMTAwNjQ0Ci0tLSBhL3QvdGVzdC1saWItZnVuY3Rpb25zLnNoCisrKyBiL3QvdGVzdC1saWItZnVuY3Rpb25zLnNoCkBAIC03NiwxMSArNzYsMTEgQEAKIH0KIAogbnVsX3RvX3EgKCkgewotCSIkUEVSTF9QQVRIIiAtcGUgJ3kvXDAwMC9RLycKKwlwZXJsIC1wZSAneS9cMDAwL1EvJwogfQogCiBxX3RvX251bCAoKSB7Ci0JIiRQRVJMX1BBVEgiIC1wZSAneS9RL1wwMDAvJworCXBlcmwgLXBlICd5L1EvXDAwMC8nCiB9CiAKIHFfdG9fY3IgKCkgewpAQCAtNjQ4LDcgKzY0OCw3IEBACiAJMikJOzsKIAkqKQllcnJvciAiYnVnIGluIHRoZSB0ZXN0IHNjcmlwdDogbm90IDEgb3IgMiBwYXJhbWV0ZXJzIHRvIHRlc3Rfc2VxIiA7OwogCWVzYWMKLQkiJFBFUkxfUEFUSCIgLWxlICdwcmludCBmb3IgJEFSR1ZbMF0uLiRBUkdWWzFdJyAtLSAiJEAiCisJcGVybCAtbGUgJ3ByaW50IGZvciAkQVJHVlswXS4uJEFSR1ZbMV0nIC0tICIkQCIKIH0KIAogIyBUaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIHNjaGVkdWxlIHNvbWUgY29tbWFuZHMgdG8gYmUgcnVuCkBAIC03MTAsMyArNzEwLDczIEBACiAJCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgLS1jYWNoZWluZm8gMTIwMDAwICRsbl9zX29iaiAiJDIiCiAJZmkKIH0KKworcGVybCAoKSB7CisJY29tbWFuZCAiJFBFUkxfUEFUSCIgIiRAIgorfQorCisjIFRoZSBmb2xsb3dpbmcgbWluZ3dfKiBmdW5jdGlvbnMgb2JleSBQT1NJWCBzaGVsbCBzeW50YXgsIGJ1dCBhcmUgYWN0dWFsbHkKKyMgYmFzaCBzY3JpcHRzLCBhbmQgYXJlIG1lYW50IHRvIGJlIHVzZWQgb25seSB3aXRoIGJhc2ggb24gV2luZG93cy4KKworIyBBIHRlc3RfY21wIGZ1bmN0aW9uIHRoYXQgdHJlYXRzIExGIGFuZCBDUkxGIGVxdWFsIGFuZCBhdm9pZHMgdG8gZm9yaworIyBkaWZmIHdoZW4gcG9zc2libGUuCittaW5nd190ZXN0X2NtcCAoKSB7CisJIyBSZWFkIHRleHQgaW50byBzaGVsbCB2YXJpYWJsZXMgYW5kIGNvbXBhcmUgdGhlbS4gSWYgdGhlIHJlc3VsdHMKKwkjIGFyZSBkaWZmZXJlbnQsIHVzZSByZWd1bGFyIGRpZmYgdG8gcmVwb3J0IHRoZSBkaWZmZXJlbmNlLgorCWxvY2FsIHRlc3RfY21wX2E9IHRlc3RfY21wX2I9CisKKwkjIFdoZW4gdGV4dCBjYW1lIGZyb20gc3RkaW4gKG9uZSBhcmd1bWVudCBpcyAnLScpIHdlIG11c3QgZmVlZCBpdAorCSMgdG8gZGlmZi4KKwlsb2NhbCBzdGRpbl9mb3JfZGlmZj0KKworCSMgU2luY2UgaXQgaXMgZGlmZmljdWx0IHRvIGRldGVjdCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGFuCisJIyBlbXB0eSBpbnB1dCBmaWxlIGFuZCBhIGZhaWx1cmUgdG8gcmVhZCB0aGUgZmlsZXMsIHdlIGdvIHN0cmFpZ2h0CisJIyB0byBkaWZmIGlmIG9uZSBvZiB0aGUgaW5wdXRzIGlzIGVtcHR5LgorCWlmIHRlc3QgLXMgIiQxIiAmJiB0ZXN0IC1zICIkMiIKKwl0aGVuCisJCSMgcmVndWxhciBjYXNlOiBib3RoIGZpbGVzIG5vbi1lbXB0eQorCQltaW5nd19yZWFkX2ZpbGVfc3RyaXBfY3JfIHRlc3RfY21wX2EgPCIkMSIKKwkJbWluZ3dfcmVhZF9maWxlX3N0cmlwX2NyXyB0ZXN0X2NtcF9iIDwiJDIiCisJZWxpZiB0ZXN0IC1zICIkMSIgJiYgdGVzdCAiJDIiID0gLQorCXRoZW4KKwkJIyByZWFkIDJuZCBmaWxlIGZyb20gc3RkaW4KKwkJbWluZ3dfcmVhZF9maWxlX3N0cmlwX2NyXyB0ZXN0X2NtcF9hIDwiJDEiCisJCW1pbmd3X3JlYWRfZmlsZV9zdHJpcF9jcl8gdGVzdF9jbXBfYgorCQlzdGRpbl9mb3JfZGlmZj0nPDw8IiR0ZXN0X2NtcF9iIicKKwllbGlmIHRlc3QgIiQxIiA9IC0gJiYgdGVzdCAtcyAiJDIiCisJdGhlbgorCQkjIHJlYWQgMXN0IGZpbGUgZnJvbSBzdGRpbgorCQltaW5nd19yZWFkX2ZpbGVfc3RyaXBfY3JfIHRlc3RfY21wX2EKKwkJbWluZ3dfcmVhZF9maWxlX3N0cmlwX2NyXyB0ZXN0X2NtcF9iIDwiJDIiCisJCXN0ZGluX2Zvcl9kaWZmPSc8PDwiJHRlc3RfY21wX2EiJworCWZpCisJdGVzdCAtbiAiJHRlc3RfY21wX2EiICYmCisJdGVzdCAtbiAiJHRlc3RfY21wX2IiICYmCisJdGVzdCAiJHRlc3RfY21wX2EiID0gIiR0ZXN0X2NtcF9iIiB8fAorCWV2YWwgImRpZmYgLXUgXCJcJEBcIiAkc3RkaW5fZm9yX2RpZmYiCit9CisKKyMgJDEgaXMgdGhlIG5hbWUgb2YgdGhlIHNoZWxsIHZhcmlhYmxlIHRvIGZpbGwgaW4KK21pbmd3X3JlYWRfZmlsZV9zdHJpcF9jcl8gKCkgeworCSMgUmVhZCBsaW5lLXdpc2UgdXNpbmcgTEYgYXMgdGhlIGxpbmUgc2VwYXJhdG9yCisJIyBhbmQgdXNlIElGUyB0byBzdHJpcCBDUi4KKwlsb2NhbCBsaW5lCisJd2hpbGUgOgorCWRvCisJCWlmIElGUz0kJ1xyJyByZWFkIC1yIC1kICQnXG4nIGxpbmUKKwkJdGhlbgorCQkJIyBnb29kCisJCQlsaW5lPSRsaW5lJCdcbicKKwkJZWxzZQorCQkJIyB3ZSBnZXQgaGVyZSBhdCBFT0YsIGJ1dCBhbHNvIGlmIHRoZSBsYXN0IGxpbmUKKwkJCSMgd2FzIG5vdCB0ZXJtaW5hdGVkIGJ5IExGOyBpbiB0aGUgbGF0dGVyIGNhc2UsCisJCQkjIHNvbWUgdGV4dCB3YXMgcmVhZAorCQkJaWYgdGVzdCAteiAiJGxpbmUiCisJCQl0aGVuCisJCQkJIyBFT0YsIHJlYWxseQorCQkJCWJyZWFrCisJCQlmaQorCQlmaQorCQlldmFsICIkMT1cJCQxXCRsaW5lIgorCWRvbmUKK30KZGlmZiAtLWdpdCBhL3QvdGVzdC1saWIuc2ggYi90L3Rlc3QtbGliLnNoCmluZGV4IGM1ZTkxNGEuLmIyNTI0OWUgMTAwNjQ0Ci0tLSBhL3QvdGVzdC1saWIuc2gKKysrIGIvdC90ZXN0LWxpYi5zaApAQCAtMjA1LDI5ICsyMDUsMTcgQEAKIAktLXZhbGdyaW5kLW9ubHk9KikKIAkJdmFsZ3JpbmRfb25seT0kKGV4cHIgInokMSIgOiAneltePV0qPVwoLipcKScpCiAJCXNoaWZ0IDs7Ci0JLS12YWxncmluZC1wYXJhbGxlbD0qKQotCQl2YWxncmluZF9wYXJhbGxlbD0kKGV4cHIgInokMSIgOiAneltePV0qPVwoLipcKScpCi0JCXNoaWZ0IDs7Ci0JLS12YWxncmluZC1vbmx5LXN0cmlkZT0qKQotCQl2YWxncmluZF9vbmx5X3N0cmlkZT0kKGV4cHIgInokMSIgOiAneltePV0qPVwoLipcKScpCi0JCXNoaWZ0IDs7Ci0JLS12YWxncmluZC1vbmx5LW9mZnNldD0qKQotCQl2YWxncmluZF9vbmx5X29mZnNldD0kKGV4cHIgInokMSIgOiAneltePV0qPVwoLipcKScpCi0JCXNoaWZ0IDs7CiAJLS10ZWUpCiAJCXNoaWZ0IDs7ICMgd2FzIGhhbmRsZWQgYWxyZWFkeQogCS0tcm9vdD0qKQogCQlyb290PSQoZXhwciAieiQxIiA6ICd6W149XSo9XCguKlwpJykKIAkJc2hpZnQgOzsKLQktLXN0YXR1c3ByZWZpeD0qKQotCQlzdGF0dXNwcmVmaXg9JChleHByICJ6JDEiIDogJ3pbXj1dKj1cKC4qXCknKQotCQlzaGlmdCA7OwogCSopCiAJCWVjaG8gImVycm9yOiB1bmtub3duIHRlc3Qgb3B0aW9uICckMSciID4mMjsgZXhpdCAxIDs7CiAJZXNhYwogZG9uZQogCi1pZiB0ZXN0IC1uICIkdmFsZ3JpbmRfb25seSIgfHwgdGVzdCAtbiAiJHZhbGdyaW5kX29ubHlfc3RyaWRlIgoraWYgdGVzdCAtbiAiJHZhbGdyaW5kX29ubHkiCiB0aGVuCiAJdGVzdCAteiAiJHZhbGdyaW5kIiAmJiB2YWxncmluZD1tZW1jaGVjawogCXRlc3QgLXogIiR2ZXJib3NlIiAmJiB2ZXJib3NlX29ubHk9IiR2YWxncmluZF9vbmx5IgpAQCAtMzI5LDEyICszMTcsMTIgQEAKIAogdGVzdF9va18gKCkgewogCXRlc3Rfc3VjY2Vzcz0kKCgkdGVzdF9zdWNjZXNzICsgMSkpCi0Jc2F5X2NvbG9yICIiICIke3N0YXR1c3ByZWZpeH1vayAkdGVzdF9jb3VudCAtICRAIgorCXNheV9jb2xvciAiIiAib2sgJHRlc3RfY291bnQgLSAkQCIKIH0KIAogdGVzdF9mYWlsdXJlXyAoKSB7CiAJdGVzdF9mYWlsdXJlPSQoKCR0ZXN0X2ZhaWx1cmUgKyAxKSkKLQlzYXlfY29sb3IgZXJyb3IgIiR7c3RhdHVzcHJlZml4fW5vdCBvayAkdGVzdF9jb3VudCAtICQxIgorCXNheV9jb2xvciBlcnJvciAibm90IG9rICR0ZXN0X2NvdW50IC0gJDEiCiAJc2hpZnQKIAllY2hvICIkQCIgfCBzZWQgLWUgJ3MvXi8jCS8nCiAJdGVzdCAiJGltbWVkaWF0ZSIgPSAiIiB8fCB7IEdJVF9FWElUX09LPXQ7IGV4aXQgMTsgfQpAQCAtMzQyLDEyICszMzAsMTIgQEAKIAogdGVzdF9rbm93bl9icm9rZW5fb2tfICgpIHsKIAl0ZXN0X2ZpeGVkPSQoKCR0ZXN0X2ZpeGVkKzEpKQotCXNheV9jb2xvciBlcnJvciAiJHtzdGF0dXNwcmVmaXh9b2sgJHRlc3RfY291bnQgLSAkQCAjIFRPRE8ga25vd24gYnJlYWthZ2UgdmFuaXNoZWQiCisJc2F5X2NvbG9yIGVycm9yICJvayAkdGVzdF9jb3VudCAtICRAICMgVE9ETyBrbm93biBicmVha2FnZSB2YW5pc2hlZCIKIH0KIAogdGVzdF9rbm93bl9icm9rZW5fZmFpbHVyZV8gKCkgewogCXRlc3RfYnJva2VuPSQoKCR0ZXN0X2Jyb2tlbisxKSkKLQlzYXlfY29sb3Igd2FybiAiJHtzdGF0dXNwcmVmaXh9bm90IG9rICR0ZXN0X2NvdW50IC0gJEAgIyBUT0RPIGtub3duIGJyZWFrYWdlIgorCXNheV9jb2xvciB3YXJuICJub3Qgb2sgJHRlc3RfY291bnQgLSAkQCAjIFRPRE8ga25vd24gYnJlYWthZ2UiCiB9CiAKIHRlc3RfZGVidWcgKCkgewpAQCAtMzc3LDkgKzM2NSw3IEBACiBsYXN0X3ZlcmJvc2U9dAogbWF5YmVfc2V0dXBfdmVyYm9zZSAoKSB7CiAJdGVzdCAteiAiJHZlcmJvc2Vfb25seSIgJiYgcmV0dXJuCi0JaWYgbWF0Y2hfcGF0dGVybl9saXN0ICR0ZXN0X2NvdW50ICR2ZXJib3NlX29ubHkgfHwKLQkJeyB0ZXN0IC1uICIkdmFsZ3JpbmRfb25seV9zdHJpZGUiICYmCi0JCWV4cHIgJHRlc3RfY291bnQgIiUiICR2YWxncmluZF9vbmx5X3N0cmlkZSAtICR2YWxncmluZF9vbmx5X29mZnNldCA9IDAgPi9kZXYvbnVsbDsgfQorCWlmIG1hdGNoX3BhdHRlcm5fbGlzdCAkdGVzdF9jb3VudCAkdmVyYm9zZV9vbmx5CiAJdGhlbgogCQlleGVjIDQ+JjIgMz4mMQogCQkjIEVtaXQgYSBkZWxpbWl0aW5nIGJsYW5rIGxpbmUgd2hlbiBnb2luZyBmcm9tCkBAIC00MDMsNyArMzg5LDcgQEAKIAogbWF5YmVfc2V0dXBfdmFsZ3JpbmQgKCkgewogCXRlc3QgLXogIiRHSVRfVkFMR1JJTkQiICYmIHJldHVybgotCWlmIHRlc3QgLXogIiR2YWxncmluZF9vbmx5IiAmJiB0ZXN0IC16ICIkdmFsZ3JpbmRfb25seV9zdHJpZGUiCisJaWYgdGVzdCAteiAiJHZhbGdyaW5kX29ubHkiCiAJdGhlbgogCQlHSVRfVkFMR1JJTkRfRU5BQkxFRD10CiAJCXJldHVybgpAQCAtNDEyLDEwICszOTgsNiBAQAogCWlmIG1hdGNoX3BhdHRlcm5fbGlzdCAkdGVzdF9jb3VudCAkdmFsZ3JpbmRfb25seQogCXRoZW4KIAkJR0lUX1ZBTEdSSU5EX0VOQUJMRUQ9dAotCWVsaWYgdGVzdCAtbiAiJHZhbGdyaW5kX29ubHlfc3RyaWRlIiAmJgotCQlleHByICR0ZXN0X2NvdW50ICIlIiAkdmFsZ3JpbmRfb25seV9zdHJpZGUgLSAkdmFsZ3JpbmRfb25seV9vZmZzZXQgPSAwID4vZGV2L251bGwKLQl0aGVuCi0JCUdJVF9WQUxHUklORF9FTkFCTEVEPXQKIAlmaQogfQogCkBAIC00NzcsOCArNDU5LDggQEAKIAkJCW9mX3ByZXJlcT0iIG9mICR0ZXN0X3ByZXJlcSIKIAkJZmkKIAotCQlzYXlfY29sb3Igc2tpcCA+JjMgIiR7c3RhdHVzcHJlZml4fXNraXBwaW5nIHRlc3Q6ICRAIgotCQlzYXlfY29sb3Igc2tpcCAiJHtzdGF0dXNwcmVmaXh9b2sgJHRlc3RfY291bnQgIyBza2lwICQxIChtaXNzaW5nICRtaXNzaW5nX3ByZXJlcSR7b2ZfcHJlcmVxfSkiCisJCXNheV9jb2xvciBza2lwID4mMyAic2tpcHBpbmcgdGVzdDogJEAiCisJCXNheV9jb2xvciBza2lwICJvayAkdGVzdF9jb3VudCAjIHNraXAgJDEgKG1pc3NpbmcgJG1pc3NpbmdfcHJlcmVxJHtvZl9wcmVyZXF9KSIKIAkJOiB0cnVlCiAJCTs7CiAJKikKQEAgLTUxNiwxMSArNDk4LDExIEBACiAKIAlpZiB0ZXN0ICIkdGVzdF9maXhlZCIgIT0gMAogCXRoZW4KLQkJc2F5X2NvbG9yIGVycm9yICIke3N0YXR1c3ByZWZpeH0jICR0ZXN0X2ZpeGVkIGtub3duIGJyZWFrYWdlKHMpIHZhbmlzaGVkOyBwbGVhc2UgdXBkYXRlIHRlc3QocykiCisJCXNheV9jb2xvciBlcnJvciAiIyAkdGVzdF9maXhlZCBrbm93biBicmVha2FnZShzKSB2YW5pc2hlZDsgcGxlYXNlIHVwZGF0ZSB0ZXN0KHMpIgogCWZpCiAJaWYgdGVzdCAiJHRlc3RfYnJva2VuIiAhPSAwCiAJdGhlbgotCQlzYXlfY29sb3Igd2FybiAiJHtzdGF0dXNwcmVmaXh9IyBzdGlsbCBoYXZlICR0ZXN0X2Jyb2tlbiBrbm93biBicmVha2FnZShzKSIKKwkJc2F5X2NvbG9yIHdhcm4gIiMgc3RpbGwgaGF2ZSAkdGVzdF9icm9rZW4ga25vd24gYnJlYWthZ2UocykiCiAJZmkKIAlpZiB0ZXN0ICIkdGVzdF9icm9rZW4iICE9IDAgfHwgdGVzdCAiJHRlc3RfZml4ZWQiICE9IDAKIAl0aGVuCkBAIC01NDMsOSArNTI1LDkgQEAKIAkJdGhlbgogCQkJaWYgdGVzdCAkdGVzdF9yZW1haW5pbmcgLWd0IDAKIAkJCXRoZW4KLQkJCQlzYXlfY29sb3IgcGFzcyAiJHtzdGF0dXNwcmVmaXh9IyBwYXNzZWQgYWxsICRtc2ciCisJCQkJc2F5X2NvbG9yIHBhc3MgIiMgcGFzc2VkIGFsbCAkbXNnIgogCQkJZmkKLQkJCXNheSAiJHtzdGF0dXNwcmVmaXh9MS4uJHRlc3RfY291bnQkc2tpcF9hbGwiCisJCQlzYXkgIjEuLiR0ZXN0X2NvdW50JHNraXBfYWxsIgogCQlmaQogCiAJCXRlc3QgLWQgIiRyZW1vdmVfdHJhc2giICYmCkBAIC01NTksOCArNTQxLDggQEAKIAkqKQogCQlpZiB0ZXN0ICR0ZXN0X2V4dGVybmFsX2hhc190YXAgLWVxIDAKIAkJdGhlbgotCQkJc2F5X2NvbG9yIGVycm9yICIke3N0YXR1c3ByZWZpeH0jIGZhaWxlZCAkdGVzdF9mYWlsdXJlIGFtb25nICRtc2ciCi0JCQlzYXkgIiR7c3RhdHVzcHJlZml4fTEuLiR0ZXN0X2NvdW50IgorCQkJc2F5X2NvbG9yIGVycm9yICIjIGZhaWxlZCAkdGVzdF9mYWlsdXJlIGFtb25nICRtc2ciCisJCQlzYXkgIjEuLiR0ZXN0X2NvdW50IgogCQlmaQogCiAJCWV4aXQgMSA7OwpAQCAtNTY4LDkgKzU1MCw2IEBACiAJZXNhYwogfQogCi0KLSMgU2V0IHVwIGEgZGlyZWN0b3J5IHRoYXQgd2UgY2FuIHB1dCBpbiBQQVRIIHdoaWNoIHJlZGlyZWN0cyBhbGwgZ2l0Ci0jIGNhbGxzIHRvICd2YWxncmluZCBnaXQgLi4uJy4KIGlmIHRlc3QgLW4gIiR2YWxncmluZCIKIHRoZW4KIAltYWtlX3N5bWxpbmsgKCkgewpAQCAtNjE4LDQyICs1OTcsMzMgQEAKIAkJbWFrZV9zeW1saW5rICIkc3ltbGlua190YXJnZXQiICIkR0lUX1ZBTEdSSU5EL2Jpbi8kYmFzZSIgfHwgZXhpdAogCX0KIAotCSMgSW4gdGhlIGNhc2Ugb2YgLS12YWxncmluZC1wYXJhbGxlbCwgd2Ugb25seSBuZWVkIHRvIGRvIHRoZQotCSMgd3JhcHBpbmcgb25jZSwgaW4gdGhlIG1haW4gc2NyaXB0LiAgVGhlIHdvcmtlciBjaGlsZHJlbiBhbGwKLQkjIGhhdmUgJHZhbGdyaW5kX29ubHlfc3RyaWRlIHNldCwgc28gd2UgY2FuIHNraXAgYmFzZWQgb24gdGhhdC4KLQlpZiB0ZXN0IC16ICIkdmFsZ3JpbmRfb25seV9zdHJpZGUiCi0JdGhlbgotCQkjIG92ZXJyaWRlIGFsbCBnaXQgZXhlY3V0YWJsZXMgaW4gVEVTVF9ESVJFQ1RPUlkvLi4KLQkJR0lUX1ZBTEdSSU5EPSRURVNUX0RJUkVDVE9SWS92YWxncmluZAotCQlta2RpciAtcCAiJEdJVF9WQUxHUklORCIvYmluCi0JCWZvciBmaWxlIGluICRHSVRfQlVJTERfRElSL2dpdCogJEdJVF9CVUlMRF9ESVIvdGVzdC0qCisJIyBvdmVycmlkZSBhbGwgZ2l0IGV4ZWN1dGFibGVzIGluIFRFU1RfRElSRUNUT1JZLy4uCisJR0lUX1ZBTEdSSU5EPSRURVNUX0RJUkVDVE9SWS92YWxncmluZAorCW1rZGlyIC1wICIkR0lUX1ZBTEdSSU5EIi9iaW4KKwlmb3IgZmlsZSBpbiAkR0lUX0JVSUxEX0RJUi9naXQqICRHSVRfQlVJTERfRElSL3Rlc3QtKgorCWRvCisJCW1ha2VfdmFsZ3JpbmRfc3ltbGluayAkZmlsZQorCWRvbmUKKwkjIHNwZWNpYWwtY2FzZSB0aGUgbWVyZ2V0b29scyBsb2FkYWJsZXMKKwltYWtlX3N5bWxpbmsgIiRHSVRfQlVJTERfRElSIi9tZXJnZXRvb2xzICIkR0lUX1ZBTEdSSU5EL2Jpbi9tZXJnZXRvb2xzIgorCU9MRElGUz0kSUZTCisJSUZTPToKKwlmb3IgcGF0aCBpbiAkUEFUSAorCWRvCisJCWxzICIkcGF0aCIvZ2l0LSogMj4gL2Rldi9udWxsIHwKKwkJd2hpbGUgcmVhZCBmaWxlCiAJCWRvCi0JCQltYWtlX3ZhbGdyaW5kX3N5bWxpbmsgJGZpbGUKKwkJCW1ha2VfdmFsZ3JpbmRfc3ltbGluayAiJGZpbGUiCiAJCWRvbmUKLQkJIyBzcGVjaWFsLWNhc2UgdGhlIG1lcmdldG9vbHMgbG9hZGFibGVzCi0JCW1ha2Vfc3ltbGluayAiJEdJVF9CVUlMRF9ESVIiL21lcmdldG9vbHMgIiRHSVRfVkFMR1JJTkQvYmluL21lcmdldG9vbHMiCi0JCU9MRElGUz0kSUZTCi0JCUlGUz06Ci0JCWZvciBwYXRoIGluICRQQVRICi0JCWRvCi0JCQlscyAiJHBhdGgiL2dpdC0qIDI+IC9kZXYvbnVsbCB8Ci0JCQl3aGlsZSByZWFkIGZpbGUKLQkJCWRvCi0JCQkJbWFrZV92YWxncmluZF9zeW1saW5rICIkZmlsZSIKLQkJCWRvbmUKLQkJZG9uZQotCQlJRlM9JE9MRElGUwotCWZpCisJZG9uZQorCUlGUz0kT0xESUZTCiAJUEFUSD0kR0lUX1ZBTEdSSU5EL2JpbjokUEFUSAogCUdJVF9FWEVDX1BBVEg9JEdJVF9WQUxHUklORC9iaW4KIAlleHBvcnQgR0lUX1ZBTEdSSU5ECiAJR0lUX1ZBTEdSSU5EX01PREU9IiR2YWxncmluZCIKIAlleHBvcnQgR0lUX1ZBTEdSSU5EX01PREUKIAlHSVRfVkFMR1JJTkRfRU5BQkxFRD10Ci0JaWYgdGVzdCAtbiAiJHZhbGdyaW5kX29ubHkiIHx8IHRlc3QgLW4gIiR2YWxncmluZF9vbmx5X3N0cmlkZSIKLQl0aGVuCi0JCUdJVF9WQUxHUklORF9FTkFCTEVEPQotCWZpCisJdGVzdCAtbiAiJHZhbGdyaW5kX29ubHkiICYmIEdJVF9WQUxHUklORF9FTkFCTEVEPQogCWV4cG9ydCBHSVRfVkFMR1JJTkRfRU5BQkxFRAogZWxpZiB0ZXN0IC1uICIkR0lUX1RFU1RfSU5TVEFMTEVEIgogdGhlbgpAQCAtNzAwLDE1ICs2NzAsNiBAQAogCWVycm9yICJZb3UgaGF2ZW4ndCBidWlsdCB0aGluZ3MgeWV0LCBoYXZlIHlvdT8iCiB9CiAKLWlmIHRlc3QgLXogIiRHSVRfVEVTVF9JTlNUQUxMRUQiICYmIHRlc3QgLXogIiROT19QWVRIT04iCi10aGVuCi0JR0lUUFlUSE9OTElCPSIkR0lUX0JVSUxEX0RJUi9naXRfcmVtb3RlX2hlbHBlcnMvYnVpbGQvbGliIgotCWV4cG9ydCBHSVRQWVRIT05MSUIKLQl0ZXN0IC1kICIkR0lUX0JVSUxEX0RJUiIvZ2l0X3JlbW90ZV9oZWxwZXJzL2J1aWxkIHx8IHsKLQkJZXJyb3IgIllvdSBoYXZlbid0IGJ1aWx0IGdpdF9yZW1vdGVfaGVscGVycyB5ZXQsIGhhdmUgeW91PyIKLQl9Ci1maQotCiBpZiAhIHRlc3QgLXggIiRHSVRfQlVJTERfRElSIi90ZXN0LWNobXRpbWUKIHRoZW4KIAllY2hvID4mMiAnWW91IG5lZWQgdG8gYnVpbGQgdGVzdC1jaG10aW1lOicKQEAgLTczOSw0MSArNzAwLDYgQEAKIGVsc2UKIAlta2RpciAtcCAiJFRSQVNIX0RJUkVDVE9SWSIKIGZpCi0KLSMgR3Jvc3MgaGFjayB0byBzcGF3biBOIHN1Yi1pbnN0YW5jZXMgb2YgdGhlIHRlc3RzIGluIHBhcmFsbGVsLCBhbmQKLSMgc3VtbWFyaXplIHRoZSByZXN1bHRzLiAgTm90ZSB0aGF0IGlmIHRoaXMgaXMgZW5hYmxlZCwgdGhlIHNjcmlwdAotIyB0ZXJtaW5hdGVzIGF0IHRoZSBlbmQgb2YgdGhpcyAnaWYnIGJsb2NrLgotaWYgdGVzdCAtbiAiJHZhbGdyaW5kX3BhcmFsbGVsIgotdGhlbgotCWZvciBpIGluICQodGVzdF9zZXEgMSAkdmFsZ3JpbmRfcGFyYWxsZWwpCi0JZG8KLQkJcm9vdD0iJFRSQVNIX0RJUkVDVE9SWS92Z3BhcmFsbGVsLSRpIgotCQlta2RpciAiJHJvb3QiCi0JCVRFU1RfT1VUUFVUX0RJUkVDVE9SWT0iJHJvb3QiIFwKLQkJCSR7U0hFTExfUEFUSH0gIiQwIiBcCi0JCQktLXJvb3Q9IiRyb290IiAtLXN0YXR1c3ByZWZpeD0iWyRpXSAiIFwKLQkJCS0tdmFsZ3JpbmQ9IiR2YWxncmluZCIgXAotCQkJLS12YWxncmluZC1vbmx5LXN0cmlkZT0iJHZhbGdyaW5kX3BhcmFsbGVsIiBcCi0JCQktLXZhbGdyaW5kLW9ubHktb2Zmc2V0PSIkaSIgJgotCQlwaWRzPSIkcGlkcyAkISIKLQlkb25lCi0JdHJhcCAia2lsbCAkcGlkcyIgSU5UIFRFUk0gSFVQCi0Jd2FpdCAkcGlkcwotCXRyYXAgLSBJTlQgVEVSTSBIVVAKLQlmb3IgaSBpbiAkKHRlc3Rfc2VxIDEgJHZhbGdyaW5kX3BhcmFsbGVsKQotCWRvCi0JCXJvb3Q9IiRUUkFTSF9ESVJFQ1RPUlkvdmdwYXJhbGxlbC0kaSIKLQkJZXZhbCAiJChjYXQgIiRyb290L3Rlc3QtcmVzdWx0cy8kKGJhc2VuYW1lICIkMCIgLnNoKSItKi5jb3VudHMgfAotCQkJc2VkICdzL15cKFthLXpdW2Etel0qXCkgXChbMC05XVswLTldKlwpL2lubmVyX1wxPVwyLycpIgotCQl0ZXN0X2NvdW50PSQoZXhwciAkdGVzdF9jb3VudCArICRpbm5lcl90b3RhbCkKLQkJdGVzdF9zdWNjZXNzPSQoZXhwciAkdGVzdF9zdWNjZXNzICsgJGlubmVyX3N1Y2Nlc3MpCi0JCXRlc3RfZml4ZWQ9JChleHByICR0ZXN0X2ZpeGVkICsgJGlubmVyX2ZpeGVkKQotCQl0ZXN0X2Jyb2tlbj0kKGV4cHIgJHRlc3RfYnJva2VuICsgJGlubmVyX2Jyb2tlbikKLQkJdGVzdF9mYWlsdXJlPSQoZXhwciAkdGVzdF9mYWlsdXJlICsgJGlubmVyX2ZhaWxlZCkKLQlkb25lCi0JdGVzdF9kb25lCi1maQotCiAjIFVzZSAtUCB0byByZXNvbHZlIHN5bWxpbmtzIGluIG91ciB3b3JraW5nIGRpcmVjdG9yeSBzbyB0aGF0IHRoZSBjd2QKICMgaW4gc3VicHJvY2Vzc2VzIGxpa2UgZ2l0IGVxdWFscyBvdXIgJFBXRCAoZm9yIHBhdGhuYW1lIGNvbXBhcmlzb25zKS4KIGNkIC1QICIkVFJBU0hfRElSRUNUT1JZIiB8fCBleGl0IDEKQEAgLTgyNiw2ICs3NTIsNyBAQAogCXRlc3Rfc2V0X3ByZXJlcSBOT1RfQ1lHV0lOCiAJdGVzdF9zZXRfcHJlcmVxIFNFRF9TVFJJUFNfQ1IKIAl0ZXN0X3NldF9wcmVyZXEgR1JFUF9TVFJJUFNfQ1IKKwlHSVRfVEVTVF9DTVA9bWluZ3dfdGVzdF9jbXAKIAk7OwogKkNZR1dJTiopCiAJdGVzdF9zZXRfcHJlcmVxIFBPU0lYUEVSTQpkaWZmIC0tZ2l0IGEvdGVtcGxhdGVzL2hvb2tzLS1wcmUtY29tbWl0LnNhbXBsZSBiL3RlbXBsYXRlcy9ob29rcy0tcHJlLWNvbW1pdC5zYW1wbGUKaW5kZXggNTg2ZTNiZi4uNjhkNjJkNSAxMDA3NTUKLS0tIGEvdGVtcGxhdGVzL2hvb2tzLS1wcmUtY29tbWl0LnNhbXBsZQorKysgYi90ZW1wbGF0ZXMvaG9va3MtLXByZS1jb21taXQuc2FtcGxlCkBAIC0xNiw3ICsxNiw3IEBACiBmaQogCiAjIElmIHlvdSB3YW50IHRvIGFsbG93IG5vbi1BU0NJSSBmaWxlbmFtZXMgc2V0IHRoaXMgdmFyaWFibGUgdG8gdHJ1ZS4KLWFsbG93bm9uYXNjaWk9JChnaXQgY29uZmlnIGhvb2tzLmFsbG93bm9uYXNjaWkpCithbGxvd25vbmFzY2lpPSQoZ2l0IGNvbmZpZyAtLWJvb2wgaG9va3MuYWxsb3dub25hc2NpaSkKIAogIyBSZWRpcmVjdCBvdXRwdXQgdG8gc3RkZXJyLgogZXhlYyAxPiYyCmRpZmYgLS1naXQgYS90ZXN0LW1hdGNoLXRyZWVzLmMgYi90ZXN0LW1hdGNoLXRyZWVzLmMKaW5kZXggYTNjNDY4OC4uMmVmNzI1ZSAxMDA2NDQKLS0tIGEvdGVzdC1tYXRjaC10cmVlcy5jCisrKyBiL3Rlc3QtbWF0Y2gtdHJlZXMuYwpAQCAtMTIsMTAgKzEyLDEwIEBACiAJCWRpZSgiY2Fubm90IHBhcnNlICVzIGFzIGFuIG9iamVjdCBuYW1lIiwgYXZbMl0pOwogCW9uZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3QoaGFzaDEpOwogCWlmICghb25lKQotCQlkaWUoIm5vdCBhIHRyZWVpc2ggJXMiLCBhdlsxXSk7CisJCWRpZSgibm90IGEgdHJlZS1pc2ggJXMiLCBhdlsxXSk7CiAJdHdvID0gcGFyc2VfdHJlZV9pbmRpcmVjdChoYXNoMik7CiAJaWYgKCF0d28pCi0JCWRpZSgibm90IGEgdHJlZWlzaCAlcyIsIGF2WzJdKTsKKwkJZGllKCJub3QgYSB0cmVlLWlzaCAlcyIsIGF2WzJdKTsKIAogCXNoaWZ0X3RyZWUob25lLT5vYmplY3Quc2hhMSwgdHdvLT5vYmplY3Quc2hhMSwgc2hpZnRlZCwgLTEpOwogCXByaW50Zigic2hpZnRlZDogJXNcbiIsIHNoYTFfdG9faGV4KHNoaWZ0ZWQpKTsKZGlmZiAtLWdpdCBhL3Rlc3QtcGF0aC11dGlscy5jIGIvdGVzdC1wYXRoLXV0aWxzLmMKaW5kZXggYmI5NzVlNC4uM2RkMzc0NCAxMDA2NDQKLS0tIGEvdGVzdC1wYXRoLXV0aWxzLmMKKysrIGIvdGVzdC1wYXRoLXV0aWxzLmMKQEAgLTExNiw3ICsxMTYsNyBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQlpZiAoYXJnYyA9PSAzICYmICFzdHJjbXAoYXJndlsxXSwgIm1pbmd3X3BhdGgiKSkgeworCWlmIChhcmdjID09IDMgJiYgIXN0cmNtcChhcmd2WzFdLCAicHJpbnRfcGF0aCIpKSB7CiAJCXB1dHMoYXJndlsyXSk7CiAJCXJldHVybiAwOwogCX0KZGlmZiAtLWdpdCBhL3Rlc3Qtc2hhMS5jIGIvdGVzdC1zaGExLmMKaW5kZXggODBkYWJhOS4uZTU3ZWFlMSAxMDA2NDQKLS0tIGEvdGVzdC1zaGExLmMKKysrIGIvdGVzdC1zaGExLmMKQEAgLTUsMTAgKzUsMTUgQEAKIAlnaXRfU0hBX0NUWCBjdHg7CiAJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKIAl1bnNpZ25lZCBidWZzeiA9IDgxOTI7CisJaW50IGJpbmFyeSA9IDA7CiAJY2hhciAqYnVmZmVyOwogCi0JaWYgKGFjID09IDIpCi0JCWJ1ZnN6ID0gc3RydG91bChhdlsxXSwgTlVMTCwgMTApICogMTAyNCAqIDEwMjQ7CisJaWYgKGFjID09IDIpIHsKKwkJaWYgKCFzdHJjbXAoYXZbMV0sICItYiIpKQorCQkJYmluYXJ5ID0gMTsKKwkJZWxzZQorCQkJYnVmc3ogPSBzdHJ0b3VsKGF2WzFdLCBOVUxMLCAxMCkgKiAxMDI0ICogMTAyNDsKKwl9CiAKIAlpZiAoIWJ1ZnN6KQogCQlidWZzeiA9IDgxOTI7CkBAIC00Miw2ICs0NywxMCBAQAogCQlnaXRfU0hBMV9VcGRhdGUoJmN0eCwgYnVmZmVyLCB0aGlzX3N6KTsKIAl9CiAJZ2l0X1NIQTFfRmluYWwoc2hhMSwgJmN0eCk7Ci0JcHV0cyhzaGExX3RvX2hleChzaGExKSk7CisKKwlpZiAoYmluYXJ5KQorCQlmd3JpdGUoc2hhMSwgMSwgMjAsIHN0ZG91dCk7CisJZWxzZQorCQlwdXRzKHNoYTFfdG9faGV4KHNoYTEpKTsKIAlleGl0KDApOwogfQpkaWZmIC0tZ2l0IGEvdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uLmMgYi90ZXN0LXVybG1hdGNoLW5vcm1hbGl6YXRpb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTBiZjIxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uLmMKQEAgLTAsMCArMSw1MCBAQAorI2luY2x1ZGUgImdpdC1jb21wYXQtdXRpbC5oIgorI2luY2x1ZGUgInVybG1hdGNoLmgiCisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwljb25zdCBjaGFyIHVzYWdlW10gPSAidGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uIFstcCB8IC1sXSA8dXJsMT4gfCA8dXJsMT4gPHVybDI+IjsKKwljaGFyICp1cmwxLCAqdXJsMjsKKwlpbnQgb3B0X3AgPSAwLCBvcHRfbCA9IDA7CisKKwkvKgorCSAqIEZvciBvbmUgdXJsLCBzdWNjZWVkIGlmIHVybF9ub3JtYWxpemUgc3VjY2VlZHMgb24gaXQsIGZhaWwgb3RoZXJ3aXNlLgorCSAqIEZvciB0d28gdXJscywgc3VjY2VlZCBvbmx5IGlmIHVybF9ub3JtYWxpemUgc3VjY2VlZHMgb24gYm90aCBhbmQKKwkgKiB0aGUgcmVzdWx0cyBjb21wYXJlIGVxdWFsIHdpdGggc3RyY21wLiAgSWYgLXAgaXMgZ2l2ZW4gKG9uZSB1cmwgb25seSkKKwkgKiBhbmQgdXJsX25vcm1hbGl6ZSBzdWNjZWVkcywgcHJpbnQgdGhlIHJlc3VsdCBmb2xsb3dlZCBieSAiXG4iLiAgSWYKKwkgKiAtbCBpcyBnaXZlbiAob25lIHVybCBvbmx5KSBhbmQgdXJsX25vcm1hbGl6ZSBzdWNjZWVkcywgcHJpbnQgdGhlCisJICogcmV0dXJuZWQgbGVuZ3RoIGluIGRlY2ltYWwgZm9sbG93ZWQgYnkgIlxuIi4KKwkgKi8KKworCWlmIChhcmdjID4gMSAmJiAhc3RyY21wKGFyZ3ZbMV0sICItcCIpKSB7CisJCW9wdF9wID0gMTsKKwkJYXJnYy0tOworCQlhcmd2Kys7CisJfSBlbHNlIGlmIChhcmdjID4gMSAmJiAhc3RyY21wKGFyZ3ZbMV0sICItbCIpKSB7CisJCW9wdF9sID0gMTsKKwkJYXJnYy0tOworCQlhcmd2Kys7CisJfQorCisJaWYgKGFyZ2MgPCAyIHx8IGFyZ2MgPiAzKQorCQlkaWUoIiVzIiwgdXNhZ2UpOworCisJaWYgKGFyZ2MgPT0gMikgeworCQlzdHJ1Y3QgdXJsX2luZm8gaW5mbzsKKwkJdXJsMSA9IHVybF9ub3JtYWxpemUoYXJndlsxXSwgJmluZm8pOworCQlpZiAoIXVybDEpCisJCQlyZXR1cm4gMTsKKwkJaWYgKG9wdF9wKQorCQkJcHJpbnRmKCIlc1xuIiwgdXJsMSk7CisJCWlmIChvcHRfbCkKKwkJCXByaW50ZigiJXVcbiIsICh1bnNpZ25lZClpbmZvLnVybF9sZW4pOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAob3B0X3AgfHwgb3B0X2wpCisJCWRpZSgiJXMiLCB1c2FnZSk7CisKKwl1cmwxID0gdXJsX25vcm1hbGl6ZShhcmd2WzFdLCBOVUxMKTsKKwl1cmwyID0gdXJsX25vcm1hbGl6ZShhcmd2WzJdLCBOVUxMKTsKKwlyZXR1cm4gKHVybDEgJiYgdXJsMiAmJiAhc3RyY21wKHVybDEsIHVybDIpKSA/IDAgOiAxOworfQpkaWZmIC0tZ2l0IGEvdHJhbnNwb3J0LWhlbHBlci5jIGIvdHJhbnNwb3J0LWhlbHBlci5jCmluZGV4IDYzY2FiYzMuLjY3M2I3YzIgMTAwNjQ0Ci0tLSBhL3RyYW5zcG9ydC1oZWxwZXIuYworKysgYi90cmFuc3BvcnQtaGVscGVyLmMKQEAgLTI3LDcgKzI3LDkgQEAKIAkJcHVzaCA6IDEsCiAJCWNvbm5lY3QgOiAxLAogCQlzaWduZWRfdGFncyA6IDEsCi0JCW5vX2Rpc2Nvbm5lY3RfcmVxIDogMTsKKwkJY2hlY2tfY29ubmVjdGl2aXR5IDogMSwKKwkJbm9fZGlzY29ubmVjdF9yZXEgOiAxLAorCQlub19wcml2YXRlX3VwZGF0ZSA6IDE7CiAJY2hhciAqZXhwb3J0X21hcmtzOwogCWNoYXIgKmltcG9ydF9tYXJrczsKIAkvKiBUaGVzZSBnbyBmcm9tIHJlbW90ZSBuYW1lIChhcyBpbiAibGlzdCIpIHRvIHByaXZhdGUgbmFtZSAqLwpAQCAtMTg2LDYgKzE4OCw4IEBACiAJCQlkYXRhLT5iaWRpX2ltcG9ydCA9IDE7CiAJCWVsc2UgaWYgKCFzdHJjbXAoY2FwbmFtZSwgImV4cG9ydCIpKQogCQkJZGF0YS0+ZXhwb3J0ID0gMTsKKwkJZWxzZSBpZiAoIXN0cmNtcChjYXBuYW1lLCAiY2hlY2stY29ubmVjdGl2aXR5IikpCisJCQlkYXRhLT5jaGVja19jb25uZWN0aXZpdHkgPSAxOwogCQllbHNlIGlmICghZGF0YS0+cmVmc3BlY3MgJiYgIXByZWZpeGNtcChjYXBuYW1lLCAicmVmc3BlYyAiKSkgewogCQkJQUxMT0NfR1JPVyhyZWZzcGVjcywKIAkJCQkgICByZWZzcGVjX25yICsgMSwKQEAgLTIwNSw2ICsyMDksOCBAQAogCQkJc3RyYnVmX2FkZHN0cigmYXJnLCAiLS1pbXBvcnQtbWFya3M9Iik7CiAJCQlzdHJidWZfYWRkc3RyKCZhcmcsIGNhcG5hbWUgKyBzdHJsZW4oImltcG9ydC1tYXJrcyAiKSk7CiAJCQlkYXRhLT5pbXBvcnRfbWFya3MgPSBzdHJidWZfZGV0YWNoKCZhcmcsIE5VTEwpOworCQl9IGVsc2UgaWYgKCFwcmVmaXhjbXAoY2FwbmFtZSwgIm5vLXByaXZhdGUtdXBkYXRlIikpIHsKKwkJCWRhdGEtPm5vX3ByaXZhdGVfdXBkYXRlID0gMTsKIAkJfSBlbHNlIGlmIChtYW5kYXRvcnkpIHsKIAkJCWRpZSgiVW5rbm93biBtYW5kYXRvcnkgY2FwYWJpbGl0eSAlcy4gVGhpcyByZW1vdGUgIgogCQkJICAgICJoZWxwZXIgcHJvYmFibHkgbmVlZHMgbmV3ZXIgdmVyc2lvbiBvZiBHaXQuIiwKQEAgLTI2Myw2ICsyNjksNyBAQAogCVRSQU5TX09QVF9USElOLAogCVRSQU5TX09QVF9LRUVQCiAJfTsKKwogc3RhdGljIGNvbnN0IGNoYXIgKmJvb2xlYW5fb3B0aW9uc1tdID0gewogCVRSQU5TX09QVF9USElOLAogCVRSQU5TX09QVF9LRUVQLApAQCAtMzQ5LDYgKzM1Niw5IEBACiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAogCXN0YW5kYXJkX29wdGlvbnModHJhbnNwb3J0KTsKKwlpZiAoZGF0YS0+Y2hlY2tfY29ubmVjdGl2aXR5ICYmCisJICAgIGRhdGEtPnRyYW5zcG9ydF9vcHRpb25zLmNoZWNrX3NlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQpCisJCXNldF9oZWxwZXJfb3B0aW9uKHRyYW5zcG9ydCwgImNoZWNrLWNvbm5lY3Rpdml0eSIsICJ0cnVlIik7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbnJfaGVhZHM7IGkrKykgewogCQljb25zdCBzdHJ1Y3QgcmVmICpwb3NuID0gdG9fZmV0Y2hbaV07CkBAIC0zNzIsNiArMzgyLDEwIEBACiAJCQllbHNlCiAJCQkJdHJhbnNwb3J0LT5wYWNrX2xvY2tmaWxlID0geHN0cmR1cChuYW1lKTsKIAkJfQorCQllbHNlIGlmIChkYXRhLT5jaGVja19jb25uZWN0aXZpdHkgJiYKKwkJCSBkYXRhLT50cmFuc3BvcnRfb3B0aW9ucy5jaGVja19zZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkICYmCisJCQkgIXN0cmNtcChidWYuYnVmLCAiY29ubmVjdGl2aXR5LW9rIikpCisJCQlkYXRhLT50cmFuc3BvcnRfb3B0aW9ucy5zZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkID0gMTsKIAkJZWxzZSBpZiAoIWJ1Zi5sZW4pCiAJCQlicmVhazsKIAkJZWxzZQpAQCAtNjgzLDYgKzY5NywxMSBAQAogCQkJZnJlZShtc2cpOwogCQkJbXNnID0gTlVMTDsKIAkJfQorCQllbHNlIGlmICghc3RyY21wKG1zZywgInN0YWxlIGluZm8iKSkgeworCQkJc3RhdHVzID0gUkVGX1NUQVRVU19SRUpFQ1RfU1RBTEU7CisJCQlmcmVlKG1zZyk7CisJCQltc2cgPSBOVUxMOworCQl9CiAJfQogCiAJaWYgKCpyZWYpCkBAIC03MjMsNyArNzQyLDcgQEAKIAkJaWYgKHB1c2hfdXBkYXRlX3JlZl9zdGF0dXMoJmJ1ZiwgJnJlZiwgcmVtb3RlX3JlZnMpKQogCQkJY29udGludWU7CiAKLQkJaWYgKCFkYXRhLT5yZWZzcGVjcykKKwkJaWYgKCFkYXRhLT5yZWZzcGVjcyB8fCBkYXRhLT5ub19wcml2YXRlX3VwZGF0ZSkKIAkJCWNvbnRpbnVlOwogCiAJCS8qIHByb3BhZ2F0ZSBiYWNrIHRoZSB1cGRhdGUgdG8gdGhlIHJlbW90ZSBuYW1lc3BhY2UgKi8KQEAgLTczNywxMyArNzU2LDE1IEBACiB9CiAKIHN0YXRpYyBpbnQgcHVzaF9yZWZzX3dpdGhfcHVzaChzdHJ1Y3QgdHJhbnNwb3J0ICp0cmFuc3BvcnQsCi0JCXN0cnVjdCByZWYgKnJlbW90ZV9yZWZzLCBpbnQgZmxhZ3MpCisJCQkgICAgICAgc3RydWN0IHJlZiAqcmVtb3RlX3JlZnMsIGludCBmbGFncykKIHsKIAlpbnQgZm9yY2VfYWxsID0gZmxhZ3MgJiBUUkFOU1BPUlRfUFVTSF9GT1JDRTsKIAlpbnQgbWlycm9yID0gZmxhZ3MgJiBUUkFOU1BPUlRfUFVTSF9NSVJST1I7CiAJc3RydWN0IGhlbHBlcl9kYXRhICpkYXRhID0gdHJhbnNwb3J0LT5kYXRhOwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHJlZiAqcmVmOworCXN0cnVjdCBzdHJpbmdfbGlzdCBjYXNfb3B0aW9ucyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOworCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICpjYXNfb3B0aW9uOwogCiAJZ2V0X2hlbHBlcih0cmFuc3BvcnQpOwogCWlmICghZGF0YS0+cHVzaCkKQEAgLTc1Niw2ICs3NzcsNyBAQAogCQkvKiBDaGVjayBmb3Igc3RhdHVzZXMgc2V0IGJ5IHNldF9yZWZfc3RhdHVzX2Zvcl9wdXNoKCkgKi8KIAkJc3dpdGNoIChyZWYtPnN0YXR1cykgewogCQljYXNlIFJFRl9TVEFUVVNfUkVKRUNUX05PTkZBU1RGT1JXQVJEOgorCQljYXNlIFJFRl9TVEFUVVNfUkVKRUNUX1NUQUxFOgogCQljYXNlIFJFRl9TVEFUVVNfUkVKRUNUX0FMUkVBRFlfRVhJU1RTOgogCQljYXNlIFJFRl9TVEFUVVNfVVBUT0RBVEU6CiAJCQljb250aW51ZTsKQEAgLTc3OCwxMSArODAwLDI5IEBACiAJCXN0cmJ1Zl9hZGRjaCgmYnVmLCAnOicpOwogCQlzdHJidWZfYWRkc3RyKCZidWYsIHJlZi0+bmFtZSk7CiAJCXN0cmJ1Zl9hZGRjaCgmYnVmLCAnXG4nKTsKKworCQkvKgorCQkgKiBUaGUgIi0tZm9yY2Utd2l0aC1sZWFzZSIgb3B0aW9ucyB3aXRob3V0IGV4cGxpY2l0CisJCSAqIHZhbHVlcyB0byBleHBlY3QgaGF2ZSBhbHJlYWR5IGJlZW4gZXhwYW5kZWQgaW50bworCQkgKiB0aGUgcmVmLT5vbGRfc2hhMV9leHBlY3RbXSBmaWVsZDsgd2UgY2FuIGlnbm9yZQorCQkgKiB0cmFuc3BvcnQtPnNtYXJ0X29wdGlvbnMtPmNhcyBhbHRvZ2V0aGVyIGFuZCBpbnN0ZWFkCisJCSAqIGNhbiBlbnVtZXJhdGUgdGhlbSBmcm9tIHRoZSByZWZzLgorCQkgKi8KKwkJaWYgKHJlZi0+ZXhwZWN0X29sZF9zaGExKSB7CisJCQlzdHJ1Y3Qgc3RyYnVmIGNhcyA9IFNUUkJVRl9JTklUOworCQkJc3RyYnVmX2FkZGYoJmNhcywgIiVzOiVzIiwKKwkJCQkgICAgcmVmLT5uYW1lLCBzaGExX3RvX2hleChyZWYtPm9sZF9zaGExX2V4cGVjdCkpOworCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZjYXNfb3B0aW9ucywgc3RyYnVmX2RldGFjaCgmY2FzLCBOVUxMKSk7CisJCX0KIAl9Ci0JaWYgKGJ1Zi5sZW4gPT0gMCkKKwlpZiAoYnVmLmxlbiA9PSAwKSB7CisJCXN0cmluZ19saXN0X2NsZWFyKCZjYXNfb3B0aW9ucywgMCk7CiAJCXJldHVybiAwOworCX0KIAogCXN0YW5kYXJkX29wdGlvbnModHJhbnNwb3J0KTsKKwlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGNhc19vcHRpb24sICZjYXNfb3B0aW9ucykKKwkJc2V0X2hlbHBlcl9vcHRpb24odHJhbnNwb3J0LCAiY2FzIiwgY2FzX29wdGlvbi0+c3RyaW5nKTsKIAogCWlmIChmbGFncyAmIFRSQU5TUE9SVF9QVVNIX0RSWV9SVU4pIHsKIAkJaWYgKHNldF9oZWxwZXJfb3B0aW9uKHRyYW5zcG9ydCwgImRyeS1ydW4iLCAidHJ1ZSIpICE9IDApCmRpZmYgLS1naXQgYS90cmFuc3BvcnQuYyBiL3RyYW5zcG9ydC5jCmluZGV4IGRlMjU1ODguLjcyMDJiNzcgMTAwNjQ0Ci0tLSBhL3RyYW5zcG9ydC5jCisrKyBiL3RyYW5zcG9ydC5jCkBAIC0zLDYgKzMsOCBAQAogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAjaW5jbHVkZSAicGt0LWxpbmUuaCIKICNpbmNsdWRlICJmZXRjaC1wYWNrLmgiCisjaW5jbHVkZSAicmVtb3RlLmgiCisjaW5jbHVkZSAiY29ubmVjdC5oIgogI2luY2x1ZGUgInNlbmQtcGFjay5oIgogI2luY2x1ZGUgIndhbGtlci5oIgogI2luY2x1ZGUgImJ1bmRsZS5oIgpAQCAtNzA3LDYgKzcwOSwxMCBAQAogCQlwcmludF9yZWZfc3RhdHVzKCchJywgIltyZWplY3RlZF0iLCByZWYsIHJlZi0+cGVlcl9yZWYsCiAJCQkJCQkgIm5lZWRzIGZvcmNlIiwgcG9yY2VsYWluKTsKIAkJYnJlYWs7CisJY2FzZSBSRUZfU1RBVFVTX1JFSkVDVF9TVEFMRToKKwkJcHJpbnRfcmVmX3N0YXR1cygnIScsICJbcmVqZWN0ZWRdIiwgcmVmLCByZWYtPnBlZXJfcmVmLAorCQkJCQkJICJzdGFsZSBpbmZvIiwgcG9yY2VsYWluKTsKKwkJYnJlYWs7CiAJY2FzZSBSRUZfU1RBVFVTX1JFTU9URV9SRUpFQ1Q6CiAJCXByaW50X3JlZl9zdGF0dXMoJyEnLCAiW3JlbW90ZSByZWplY3RlZF0iLCByZWYsCiAJCQkJCQkgcmVmLT5kZWxldGlvbiA/IE5VTEwgOiByZWYtPnBlZXJfcmVmLApAQCAtMTA3OCw2ICsxMDg0LDcgQEAKIAlmb3IgKHIgPSByZW1vdGVfcmVmczsgcjsgciA9IHItPm5leHQpIHsKIAkJaWYgKCFyLT5wZWVyX3JlZikgY29udGludWU7CiAJCWlmIChyLT5zdGF0dXMgPT0gUkVGX1NUQVRVU19SRUpFQ1RfTk9ORkFTVEZPUldBUkQpIGNvbnRpbnVlOworCQlpZiAoci0+c3RhdHVzID09IFJFRl9TVEFUVVNfUkVKRUNUX1NUQUxFKSBjb250aW51ZTsKIAkJaWYgKHItPnN0YXR1cyA9PSBSRUZfU1RBVFVTX1VQVE9EQVRFKSBjb250aW51ZTsKIAogCQlzdHJidWZfcmVzZXQoJmJ1Zik7CkBAIC0xMTQyLDYgKzExNDksMTIgQEAKIAkJCXJldHVybiAtMTsKIAkJfQogCisJCWlmICh0cmFuc3BvcnQtPnNtYXJ0X29wdGlvbnMgJiYKKwkJICAgIHRyYW5zcG9ydC0+c21hcnRfb3B0aW9ucy0+Y2FzICYmCisJCSAgICAhaXNfZW1wdHlfY2FzKHRyYW5zcG9ydC0+c21hcnRfb3B0aW9ucy0+Y2FzKSkKKwkJCWFwcGx5X3B1c2hfY2FzKHRyYW5zcG9ydC0+c21hcnRfb3B0aW9ucy0+Y2FzLAorCQkJCSAgICAgICB0cmFuc3BvcnQtPnJlbW90ZSwgcmVtb3RlX3JlZnMpOworCiAJCXNldF9yZWZfc3RhdHVzX2Zvcl9wdXNoKHJlbW90ZV9yZWZzLAogCQkJZmxhZ3MgJiBUUkFOU1BPUlRfUFVTSF9NSVJST1IsCiAJCQlmbGFncyAmIFRSQU5TUE9SVF9QVVNIX0ZPUkNFKTsKZGlmZiAtLWdpdCBhL3RyYW5zcG9ydC5oIGIvdHJhbnNwb3J0LmgKaW5kZXggOTZlMGVkZS4uOGY5NmJlZCAxMDA2NDQKLS0tIGEvdHJhbnNwb3J0LmgKKysrIGIvdHJhbnNwb3J0LmgKQEAgLTIsNiArMiw3IEBACiAjZGVmaW5lIFRSQU5TUE9SVF9ICiAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAjaW5jbHVkZSAicmVtb3RlLmgiCiAKIHN0cnVjdCBnaXRfdHJhbnNwb3J0X29wdGlvbnMgewpAQCAtMTMsNiArMTQsNyBAQAogCWludCBkZXB0aDsKIAljb25zdCBjaGFyICp1cGxvYWRwYWNrOwogCWNvbnN0IGNoYXIgKnJlY2VpdmVwYWNrOworCXN0cnVjdCBwdXNoX2Nhc19vcHRpb24gKmNhczsKIH07CiAKIHN0cnVjdCB0cmFuc3BvcnQgewpAQCAtMTMyLDYgKzEzNCw5IEBACiAvKiBUcmFuc2ZlciB0aGUgZGF0YSBhcyBhIHRoaW4gcGFjayBpZiBub3QgbnVsbCAqLwogI2RlZmluZSBUUkFOU19PUFRfVEhJTiAidGhpbiIKIAorLyogQ2hlY2sgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHJlbW90ZSByZWYgKi8KKyNkZWZpbmUgVFJBTlNfT1BUX0NBUyAiY2FzIgorCiAvKiBLZWVwIHRoZSBwYWNrIHRoYXQgd2FzIHRyYW5zZmVycmVkIGlmIG5vdCBudWxsICovCiAjZGVmaW5lIFRSQU5TX09QVF9LRUVQICJrZWVwIgogCmRpZmYgLS1naXQgYS90cmVlLWRpZmYuYyBiL3RyZWUtZGlmZi5jCmluZGV4IGJhMDE1NjMuLjQ1NjY2MGMgMTAwNjQ0Ci0tLSBhL3RyZWUtZGlmZi5jCisrKyBiL3RyZWUtZGlmZi5jCkBAIC0xMzgsNyArMTM4LDYgQEAKIAogCS8qIEVuYWJsZSByZWN1cnNpb24gaW5kZWZpbml0ZWx5ICovCiAJb3B0LT5wYXRoc3BlYy5yZWN1cnNpdmUgPSBESUZGX09QVF9UU1Qob3B0LCBSRUNVUlNJVkUpOwotCW9wdC0+cGF0aHNwZWMubWF4X2RlcHRoID0gLTE7CiAKIAlzdHJidWZfaW5pdCgmYmFzZSwgUEFUSF9NQVgpOwogCXN0cmJ1Zl9hZGQoJmJhc2UsIGJhc2Vfc3RyLCBiYXNlbGVuKTsKQEAgLTE5Niw5ICsxOTUsMjcgQEAKIAlzdHJ1Y3QgZGlmZl9vcHRpb25zIGRpZmZfb3B0czsKIAlzdHJ1Y3QgZGlmZl9xdWV1ZV9zdHJ1Y3QgKnEgPSAmZGlmZl9xdWV1ZWRfZGlmZjsKIAlzdHJ1Y3QgZGlmZl9maWxlcGFpciAqY2hvaWNlOwotCWNvbnN0IGNoYXIgKnBhdGhzWzFdOwogCWludCBpOwogCisJLyoKKwkgKiBmb2xsb3ctcmVuYW1lIGNvZGUgaXMgdmVyeSBzcGVjaWZpYywgd2UgbmVlZCBleGFjdGx5IG9uZQorCSAqIHBhdGguIE1hZ2ljIHRoYXQgbWF0Y2hlcyBtb3JlIHRoYW4gb25lIHBhdGggaXMgbm90CisJICogc3VwcG9ydGVkLgorCSAqLworCUdVQVJEX1BBVEhTUEVDKCZvcHQtPnBhdGhzcGVjLCBQQVRIU1BFQ19GUk9NVE9QIHwgUEFUSFNQRUNfTElURVJBTCk7CisjaWYgMAorCS8qCisJICogV2Ugc2hvdWxkIHJlamVjdCB3aWxkY2FyZHMgYXMgd2VsbC4gVW5mb3J0dW5hdGVseSB3ZQorCSAqIGhhdmVuJ3QgZ290IGEgcmVsaWFibGUgd2F5IHRvIGRldGVjdCB0aGF0ICdmb29cKmJhcicgaW4KKwkgKiBmYWN0IGhhcyBubyB3aWxkY2FyZHMuIG5vd2lsZGNhcmRfbGVuIGlzIG1lcmVseSBhIGhpbnQgZm9yCisJICogb3B0aW1pemF0aW9uLiBMZXQgaXQgc2xpcCBmb3Igbm93IHVudGlsIHdpbGRtYXRjaCBpcyB0YXVnaHQKKwkgKiBhYm91dCBkcnktcnVuIG1vZGUgYW5kIHJldHVybnMgd2lsZGNhcmQgaW5mby4KKwkgKi8KKwlpZiAob3B0LT5wYXRoc3BlYy5oYXNfd2lsZGNhcmQpCisJCWRpZSgiQlVHOiVzOiVkOiB3aWxkY2FyZHMgYXJlIG5vdCBzdXBwb3J0ZWQiLAorCQkgICAgX19GSUxFX18sIF9fTElORV9fKTsKKyNlbmRpZgorCiAJLyogUmVtb3ZlIHRoZSBmaWxlIGNyZWF0aW9uIGVudHJ5IGZyb20gdGhlIGRpZmYgcXVldWUsIGFuZCByZW1lbWJlciBpdCAqLwogCWNob2ljZSA9IHEtPnF1ZXVlWzBdOwogCXEtPm5yID0gMDsKQEAgLTIwNywxNSArMjI0LDEzIEBACiAJRElGRl9PUFRfU0VUKCZkaWZmX29wdHMsIFJFQ1VSU0lWRSk7CiAJRElGRl9PUFRfU0VUKCZkaWZmX29wdHMsIEZJTkRfQ09QSUVTX0hBUkRFUik7CiAJZGlmZl9vcHRzLm91dHB1dF9mb3JtYXQgPSBESUZGX0ZPUk1BVF9OT19PVVRQVVQ7Ci0JZGlmZl9vcHRzLnNpbmdsZV9mb2xsb3cgPSBvcHQtPnBhdGhzcGVjLnJhd1swXTsKKwlkaWZmX29wdHMuc2luZ2xlX2ZvbGxvdyA9IG9wdC0+cGF0aHNwZWMuaXRlbXNbMF0ubWF0Y2g7CiAJZGlmZl9vcHRzLmJyZWFrX29wdCA9IG9wdC0+YnJlYWtfb3B0OwogCWRpZmZfb3B0cy5yZW5hbWVfc2NvcmUgPSBvcHQtPnJlbmFtZV9zY29yZTsKLQlwYXRoc1swXSA9IE5VTEw7Ci0JZGlmZl90cmVlX3NldHVwX3BhdGhzKHBhdGhzLCAmZGlmZl9vcHRzKTsKIAlkaWZmX3NldHVwX2RvbmUoJmRpZmZfb3B0cyk7CiAJZGlmZl90cmVlKHQxLCB0MiwgYmFzZSwgJmRpZmZfb3B0cyk7CiAJZGlmZmNvcmVfc3RkKCZkaWZmX29wdHMpOwotCWRpZmZfdHJlZV9yZWxlYXNlX3BhdGhzKCZkaWZmX29wdHMpOworCWZyZWVfcGF0aHNwZWMoJmRpZmZfb3B0cy5wYXRoc3BlYyk7CiAKIAkvKiBHbyB0aHJvdWdoIHRoZSBuZXcgc2V0IG9mIGZpbGVwYWlyaW5nLCBhbmQgc2VlIGlmIHdlIGZpbmQgYSBtb3JlIGludGVyZXN0aW5nIG9uZSAqLwogCW9wdC0+Zm91bmRfZm9sbG93ID0gMDsKQEAgLTIyOCwxNSArMjQzLDIwIEBACiAJCSAqIHRoZSBmdXR1cmUhCiAJCSAqLwogCQlpZiAoKHAtPnN0YXR1cyA9PSAnUicgfHwgcC0+c3RhdHVzID09ICdDJykgJiYKLQkJICAgICFzdHJjbXAocC0+dHdvLT5wYXRoLCBvcHQtPnBhdGhzcGVjLnJhd1swXSkpIHsKKwkJICAgICFzdHJjbXAocC0+dHdvLT5wYXRoLCBvcHQtPnBhdGhzcGVjLml0ZW1zWzBdLm1hdGNoKSkgeworCQkJY29uc3QgY2hhciAqcGF0aFsyXTsKKwogCQkJLyogU3dpdGNoIHRoZSBmaWxlLXBhaXJzIGFyb3VuZCAqLwogCQkJcS0+cXVldWVbaV0gPSBjaG9pY2U7CiAJCQljaG9pY2UgPSBwOwogCiAJCQkvKiBVcGRhdGUgdGhlIHBhdGggd2UgdXNlIGZyb20gbm93IG9uLi4gKi8KLQkJCWRpZmZfdHJlZV9yZWxlYXNlX3BhdGhzKG9wdCk7Ci0JCQlvcHQtPnBhdGhzcGVjLnJhd1swXSA9IHhzdHJkdXAocC0+b25lLT5wYXRoKTsKLQkJCWRpZmZfdHJlZV9zZXR1cF9wYXRocyhvcHQtPnBhdGhzcGVjLnJhdywgb3B0KTsKKwkJCXBhdGhbMF0gPSBwLT5vbmUtPnBhdGg7CisJCQlwYXRoWzFdID0gTlVMTDsKKwkJCWZyZWVfcGF0aHNwZWMoJm9wdC0+cGF0aHNwZWMpOworCQkJcGFyc2VfcGF0aHNwZWMoJm9wdC0+cGF0aHNwZWMsCisJCQkJICAgICAgIFBBVEhTUEVDX0FMTF9NQUdJQyAmIH5QQVRIU1BFQ19MSVRFUkFMLAorCQkJCSAgICAgICBQQVRIU1BFQ19MSVRFUkFMX1BBVEgsICIiLCBwYXRoKTsKIAogCQkJLyoKIAkJCSAqIFRoZSBjYWxsZXIgZXhwZWN0cyB1cyB0byByZXR1cm4gYSBzZXQgb2YgdmFuaWxsYQpAQCAtMzEwLDEzICszMzAsMyBAQAogCWZyZWUodHJlZSk7CiAJcmV0dXJuIHJldHZhbDsKIH0KLQotdm9pZCBkaWZmX3RyZWVfcmVsZWFzZV9wYXRocyhzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQpCi17Ci0JZnJlZV9wYXRoc3BlYygmb3B0LT5wYXRoc3BlYyk7Ci19Ci0KLXZvaWQgZGlmZl90cmVlX3NldHVwX3BhdGhzKGNvbnN0IGNoYXIgKipwLCBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQpCi17Ci0JaW5pdF9wYXRoc3BlYygmb3B0LT5wYXRoc3BlYywgcCk7Ci19CmRpZmYgLS1naXQgYS90cmVlLXdhbGsuYyBiL3RyZWUtd2Fsay5jCmluZGV4IGM2MjYxMzUuLjVlY2U4YzMgMTAwNjQ0Ci0tLSBhL3RyZWUtd2Fsay5jCisrKyBiL3RyZWUtd2Fsay5jCkBAIC0zLDYgKzMsNyBAQAogI2luY2x1ZGUgInVucGFjay10cmVlcy5oIgogI2luY2x1ZGUgImRpci5oIgogI2luY2x1ZGUgInRyZWUuaCIKKyNpbmNsdWRlICJwYXRoc3BlYy5oIgogCiBzdGF0aWMgY29uc3QgY2hhciAqZ2V0X21vZGUoY29uc3QgY2hhciAqc3RyLCB1bnNpZ25lZCBpbnQgKm1vZGVwKQogewpAQCAtNDg3LDEzICs0ODgsMjUgQEAKIAlyZXR1cm4gcmV0dmFsOwogfQogCi1zdGF0aWMgaW50IG1hdGNoX2VudHJ5KGNvbnN0IHN0cnVjdCBuYW1lX2VudHJ5ICplbnRyeSwgaW50IHBhdGhsZW4sCitzdGF0aWMgaW50IG1hdGNoX2VudHJ5KGNvbnN0IHN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtLAorCQkgICAgICAgY29uc3Qgc3RydWN0IG5hbWVfZW50cnkgKmVudHJ5LCBpbnQgcGF0aGxlbiwKIAkJICAgICAgIGNvbnN0IGNoYXIgKm1hdGNoLCBpbnQgbWF0Y2hsZW4sCiAJCSAgICAgICBlbnVtIGludGVyZXN0aW5nICpuZXZlcl9pbnRlcmVzdGluZykKIHsKIAlpbnQgbSA9IC0xOyAvKiBzaWduYWxzIHRoYXQgd2UgaGF2ZW4ndCBjYWxsZWQgc3RybmNtcCgpICovCiAKLQlpZiAoKm5ldmVyX2ludGVyZXN0aW5nICE9IGVudHJ5X25vdF9pbnRlcmVzdGluZykgeworCWlmIChpdGVtLT5tYWdpYyAmIFBBVEhTUEVDX0lDQVNFKQorCQkvKgorCQkgKiAiTmV2ZXIgaW50ZXJlc3RpbmciIHRyaWNrIHJlcXVpcmVzIGV4YWN0CisJCSAqIG1hdGNoaW5nLiBXZSBjb3VsZCBkbyBzb21ldGhpbmcgY2xldmVyIHdpdGggaW5leGFjdAorCQkgKiBtYXRjaGluZywgYnV0IGl0J3MgdHJpY2tpZXIgKGFuZCBub3QgdG8gZm9yZ2V0IHRoYXQKKwkJICogc3RyY2FzZWNtcCBpcyBsb2NhbGUtZGVwZW5kZW50LCBhdCBsZWFzdCBpbgorCQkgKiBnbGliYykuIEp1c3QgZGlzYWJsZSBpdCBmb3Igbm93LiBJdCBjYW4ndCBiZSB3b3JzZQorCQkgKiB0aGFuIHRoZSB3aWxkY2FyZCdzIGNvZGVwYXRoIG9mICdbVHRdW0hpXVtJc11bU3NdJworCQkgKiBwYXR0ZXJuLgorCQkgKi8KKwkJKm5ldmVyX2ludGVyZXN0aW5nID0gZW50cnlfbm90X2ludGVyZXN0aW5nOworCWVsc2UgaWYgKCpuZXZlcl9pbnRlcmVzdGluZyAhPSBlbnRyeV9ub3RfaW50ZXJlc3RpbmcpIHsKIAkJLyoKIAkJICogV2UgaGF2ZSBub3Qgc2VlbiBhbnkgbWF0Y2ggdGhhdCBzb3J0cyBsYXRlcgogCQkgKiB0aGFuIHRoZSBjdXJyZW50IHBhdGguCkBAIC01MzksNyArNTUyLDcgQEAKIAkJICogd2UgY2hlYXRlZCBhbmQgZGlkIG5vdCBkbyBzdHJuY21wKCksIHNvIHdlIGRvCiAJCSAqIHRoYXQgaGVyZS4KIAkJICovCi0JCW0gPSBzdHJuY21wKG1hdGNoLCBlbnRyeS0+cGF0aCwgcGF0aGxlbik7CisJCW0gPSBwc19zdHJuY21wKGl0ZW0sIG1hdGNoLCBlbnRyeS0+cGF0aCwgcGF0aGxlbik7CiAKIAkvKgogCSAqIElmIGNvbW1vbiBwYXJ0IG1hdGNoZWQgZWFybGllciB0aGVuIGl0IGlzIGEgaGl0LApAQCAtNTQ3LDE1ICs1NjAsMzkgQEAKIAkgKiBsZWFkaW5nIGRpcmVjdG9yeSBhbmQgaXMgc2hvcnRlciB0aGFuIG1hdGNoLgogCSAqLwogCWlmICghbSkKKwkJLyoKKwkJICogbWF0Y2hfZW50cnkgZG9lcyBub3QgY2hlY2sgaWYgdGhlIHByZWZpeCBwYXJ0IGlzCisJCSAqIG1hdGNoZWQgY2FzZS1zZW5zaXRpdmVseS4gSWYgdGhlIGVudHJ5IGlzIGEKKwkJICogZGlyZWN0b3J5IGFuZCBwYXJ0IG9mIHByZWZpeCwgaXQnbGwgYmUgcmVtYXRjaGVkCisJCSAqIGV2ZW50dWFsbHkgYnkgYmFzZWNtcCB3aXRoIHNwZWNpYWwgdHJlYXRtZW50IGZvcgorCQkgKiB0aGUgcHJlZml4LgorCQkgKi8KIAkJcmV0dXJuIDE7CiAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBtYXRjaF9kaXJfcHJlZml4KGNvbnN0IGNoYXIgKmJhc2UsCisvKiA6KGljYXNlKS1hd2FyZSBzdHJpbmcgY29tcGFyZSAqLworc3RhdGljIGludCBiYXNlY21wKGNvbnN0IHN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtLAorCQkgICBjb25zdCBjaGFyICpiYXNlLCBjb25zdCBjaGFyICptYXRjaCwgaW50IGxlbikKK3sKKwlpZiAoaXRlbS0+bWFnaWMgJiBQQVRIU1BFQ19JQ0FTRSkgeworCQlpbnQgcmV0LCBuID0gbGVuID4gaXRlbS0+cHJlZml4ID8gaXRlbS0+cHJlZml4IDogbGVuOworCQlyZXQgPSBzdHJuY21wKGJhc2UsIG1hdGNoLCBuKTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJCWJhc2UgKz0gbjsKKwkJbWF0Y2ggKz0gbjsKKwkJbGVuIC09IG47CisJfQorCXJldHVybiBwc19zdHJuY21wKGl0ZW0sIGJhc2UsIG1hdGNoLCBsZW4pOworfQorCitzdGF0aWMgaW50IG1hdGNoX2Rpcl9wcmVmaXgoY29uc3Qgc3RydWN0IHBhdGhzcGVjX2l0ZW0gKml0ZW0sCisJCQkgICAgY29uc3QgY2hhciAqYmFzZSwKIAkJCSAgICBjb25zdCBjaGFyICptYXRjaCwgaW50IG1hdGNobGVuKQogewotCWlmIChzdHJuY21wKGJhc2UsIG1hdGNoLCBtYXRjaGxlbikpCisJaWYgKGJhc2VjbXAoaXRlbSwgYmFzZSwgbWF0Y2gsIG1hdGNobGVuKSkKIAkJcmV0dXJuIDA7CiAKIAkvKgpAQCAtNTkyLDcgKzYyOSw3IEBACiAJCSAqLwogCQlpZiAoYmFzZWxlbiA+PSBtYXRjaGxlbikgewogCQkJKm1hdGNoZWQgPSBtYXRjaGxlbjsKLQkJCXJldHVybiAhc3RybmNtcChiYXNlLCBtYXRjaCwgbWF0Y2hsZW4pOworCQkJcmV0dXJuICFiYXNlY21wKGl0ZW0sIGJhc2UsIG1hdGNoLCBtYXRjaGxlbik7CiAJCX0KIAogCQlkaXJsZW4gPSBtYXRjaGxlbjsKQEAgLTYwNSw3ICs2NDIsNyBAQAogCQkgKiBiYXNlIGVuZHMgd2l0aCAnLycgc28gd2UgYXJlIHN1cmUgaXQgcmVhbGx5IG1hdGNoZXMKIAkJICogZGlyZWN0b3J5CiAJCSAqLwotCQlpZiAoc3RybmNtcChiYXNlLCBtYXRjaCwgYmFzZWxlbikpCisJCWlmIChiYXNlY21wKGl0ZW0sIGJhc2UsIG1hdGNoLCBiYXNlbGVuKSkKIAkJCXJldHVybiAwOwogCQkqbWF0Y2hlZCA9IGJhc2VsZW47CiAJfSBlbHNlCkBAIC02MzQsOCArNjcxLDE3IEBACiAJZW51bSBpbnRlcmVzdGluZyBuZXZlcl9pbnRlcmVzdGluZyA9IHBzLT5oYXNfd2lsZGNhcmQgPwogCQllbnRyeV9ub3RfaW50ZXJlc3RpbmcgOiBhbGxfZW50cmllc19ub3RfaW50ZXJlc3Rpbmc7CiAKKwlHVUFSRF9QQVRIU1BFQyhwcywKKwkJICAgICAgIFBBVEhTUEVDX0ZST01UT1AgfAorCQkgICAgICAgUEFUSFNQRUNfTUFYREVQVEggfAorCQkgICAgICAgUEFUSFNQRUNfTElURVJBTCB8CisJCSAgICAgICBQQVRIU1BFQ19HTE9CIHwKKwkJICAgICAgIFBBVEhTUEVDX0lDQVNFKTsKKwogCWlmICghcHMtPm5yKSB7Ci0JCWlmICghcHMtPnJlY3Vyc2l2ZSB8fCBwcy0+bWF4X2RlcHRoID09IC0xKQorCQlpZiAoIXBzLT5yZWN1cnNpdmUgfHwKKwkJICAgICEocHMtPm1hZ2ljICYgUEFUSFNQRUNfTUFYREVQVEgpIHx8CisJCSAgICBwcy0+bWF4X2RlcHRoID09IC0xKQogCQkJcmV0dXJuIGFsbF9lbnRyaWVzX2ludGVyZXN0aW5nOwogCQlyZXR1cm4gd2l0aGluX2RlcHRoKGJhc2UtPmJ1ZiArIGJhc2Vfb2Zmc2V0LCBiYXNlbGVuLAogCQkJCSAgICAhIVNfSVNESVIoZW50cnktPm1vZGUpLApAQCAtNjUzLDEwICs2OTksMTIgQEAKIAogCQlpZiAoYmFzZWxlbiA+PSBtYXRjaGxlbikgewogCQkJLyogSWYgaXQgZG9lc24ndCBtYXRjaCwgbW92ZSBhbG9uZy4uLiAqLwotCQkJaWYgKCFtYXRjaF9kaXJfcHJlZml4KGJhc2Vfc3RyLCBtYXRjaCwgbWF0Y2hsZW4pKQorCQkJaWYgKCFtYXRjaF9kaXJfcHJlZml4KGl0ZW0sIGJhc2Vfc3RyLCBtYXRjaCwgbWF0Y2hsZW4pKQogCQkJCWdvdG8gbWF0Y2hfd2lsZGNhcmRzOwogCi0JCQlpZiAoIXBzLT5yZWN1cnNpdmUgfHwgcHMtPm1heF9kZXB0aCA9PSAtMSkKKwkJCWlmICghcHMtPnJlY3Vyc2l2ZSB8fAorCQkJICAgICEocHMtPm1hZ2ljICYgUEFUSFNQRUNfTUFYREVQVEgpIHx8CisJCQkgICAgcHMtPm1heF9kZXB0aCA9PSAtMSkKIAkJCQlyZXR1cm4gYWxsX2VudHJpZXNfaW50ZXJlc3Rpbmc7CiAKIAkJCXJldHVybiB3aXRoaW5fZGVwdGgoYmFzZV9zdHIgKyBtYXRjaGxlbiArIDEsCkBAIC02NjcsMTUgKzcxNSwxNCBAQAogCQl9CiAKIAkJLyogRWl0aGVyIHRoZXJlIG11c3QgYmUgbm8gYmFzZSwgb3IgdGhlIGJhc2UgbXVzdCBtYXRjaC4gKi8KLQkJaWYgKGJhc2VsZW4gPT0gMCB8fCAhc3RybmNtcChiYXNlX3N0ciwgbWF0Y2gsIGJhc2VsZW4pKSB7Ci0JCQlpZiAobWF0Y2hfZW50cnkoZW50cnksIHBhdGhsZW4sCisJCWlmIChiYXNlbGVuID09IDAgfHwgIWJhc2VjbXAoaXRlbSwgYmFzZV9zdHIsIG1hdGNoLCBiYXNlbGVuKSkgeworCQkJaWYgKG1hdGNoX2VudHJ5KGl0ZW0sIGVudHJ5LCBwYXRobGVuLAogCQkJCQltYXRjaCArIGJhc2VsZW4sIG1hdGNobGVuIC0gYmFzZWxlbiwKIAkJCQkJJm5ldmVyX2ludGVyZXN0aW5nKSkKIAkJCQlyZXR1cm4gZW50cnlfaW50ZXJlc3Rpbmc7CiAKIAkJCWlmIChpdGVtLT5ub3dpbGRjYXJkX2xlbiA8IGl0ZW0tPmxlbikgewotCQkJCWlmICghZ2l0X2ZubWF0Y2gobWF0Y2ggKyBiYXNlbGVuLCBlbnRyeS0+cGF0aCwKLQkJCQkJCSBpdGVtLT5mbGFncyAmIFBBVEhTUEVDX09ORVNUQVIgPyBHRk5NX09ORVNUQVIgOiAwLAorCQkJCWlmICghZ2l0X2ZubWF0Y2goaXRlbSwgbWF0Y2ggKyBiYXNlbGVuLCBlbnRyeS0+cGF0aCwKIAkJCQkJCSBpdGVtLT5ub3dpbGRjYXJkX2xlbiAtIGJhc2VsZW4pKQogCQkJCQlyZXR1cm4gZW50cnlfaW50ZXJlc3Rpbmc7CiAKQEAgLTcxNiw4ICs3NjMsNyBAQAogCiAJCXN0cmJ1Zl9hZGQoYmFzZSwgZW50cnktPnBhdGgsIHBhdGhsZW4pOwogCi0JCWlmICghZ2l0X2ZubWF0Y2gobWF0Y2gsIGJhc2UtPmJ1ZiArIGJhc2Vfb2Zmc2V0LAotCQkJCSBpdGVtLT5mbGFncyAmIFBBVEhTUEVDX09ORVNUQVIgPyBHRk5NX09ORVNUQVIgOiAwLAorCQlpZiAoIWdpdF9mbm1hdGNoKGl0ZW0sIG1hdGNoLCBiYXNlLT5idWYgKyBiYXNlX29mZnNldCwKIAkJCQkgaXRlbS0+bm93aWxkY2FyZF9sZW4pKSB7CiAJCQlzdHJidWZfc2V0bGVuKGJhc2UsIGJhc2Vfb2Zmc2V0ICsgYmFzZWxlbik7CiAJCQlyZXR1cm4gZW50cnlfaW50ZXJlc3Rpbmc7CmRpZmYgLS1naXQgYS90cmVlLmMgYi90cmVlLmMKaW5kZXggYzBlNTY4Yy4uYzhjNDlkNyAxMDA2NDQKLS0tIGEvdHJlZS5jCisrKyBiL3RyZWUuYwpAQCAtNDcsNyArNDcsNyBAQAogfQogCiBzdGF0aWMgaW50IHJlYWRfdHJlZV8xKHN0cnVjdCB0cmVlICp0cmVlLCBzdHJ1Y3Qgc3RyYnVmICpiYXNlLAotCQkgICAgICAgaW50IHN0YWdlLCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAorCQkgICAgICAgaW50IHN0YWdlLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAogCQkgICAgICAgcmVhZF90cmVlX2ZuX3QgZm4sIHZvaWQgKmNvbnRleHQpCiB7CiAJc3RydWN0IHRyZWVfZGVzYyBkZXNjOwpAQCAtMTE2LDcgKzExNiw3IEBACiAKIGludCByZWFkX3RyZWVfcmVjdXJzaXZlKHN0cnVjdCB0cmVlICp0cmVlLAogCQkJY29uc3QgY2hhciAqYmFzZSwgaW50IGJhc2VsZW4sCi0JCQlpbnQgc3RhZ2UsIHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCisJCQlpbnQgc3RhZ2UsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCiAJCQlyZWFkX3RyZWVfZm5fdCBmbiwgdm9pZCAqY29udGV4dCkKIHsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CkBAIC0yMjUsNiArMjI1LDE0IEBACiAJcmV0dXJuIHBhcnNlX3RyZWVfYnVmZmVyKGl0ZW0sIGJ1ZmZlciwgc2l6ZSk7CiB9CiAKK3ZvaWQgZnJlZV90cmVlX2J1ZmZlcihzdHJ1Y3QgdHJlZSAqdHJlZSkKK3sKKwlmcmVlKHRyZWUtPmJ1ZmZlcik7CisJdHJlZS0+YnVmZmVyID0gTlVMTDsKKwl0cmVlLT5zaXplID0gMDsKKwl0cmVlLT5vYmplY3QucGFyc2VkID0gMDsKK30KKwogc3RydWN0IHRyZWUgKnBhcnNlX3RyZWVfaW5kaXJlY3QoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKIHsKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSBwYXJzZV9vYmplY3Qoc2hhMSk7CmRpZmYgLS1naXQgYS90cmVlLmggYi90cmVlLmgKaW5kZXggNjliY2I1ZS4uZDg0YWM2MyAxMDA2NDQKLS0tIGEvdHJlZS5oCisrKyBiL3RyZWUuaApAQCAtMTYsNiArMTYsNyBAQAogaW50IHBhcnNlX3RyZWVfYnVmZmVyKHN0cnVjdCB0cmVlICppdGVtLCB2b2lkICpidWZmZXIsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CiAKIGludCBwYXJzZV90cmVlKHN0cnVjdCB0cmVlICp0cmVlKTsKK3ZvaWQgZnJlZV90cmVlX2J1ZmZlcihzdHJ1Y3QgdHJlZSAqdHJlZSk7CiAKIC8qIFBhcnNlcyBhbmQgcmV0dXJucyB0aGUgdHJlZSBpbiB0aGUgZ2l2ZW4gZW50LCBjaGFzaW5nIHRhZ3MgYW5kIGNvbW1pdHMuICovCiBzdHJ1Y3QgdHJlZSAqcGFyc2VfdHJlZV9pbmRpcmVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKTsKQEAgLTI1LDcgKzI2LDcgQEAKIAogZXh0ZXJuIGludCByZWFkX3RyZWVfcmVjdXJzaXZlKHN0cnVjdCB0cmVlICp0cmVlLAogCQkJICAgICAgIGNvbnN0IGNoYXIgKmJhc2UsIGludCBiYXNlbGVuLAotCQkJICAgICAgIGludCBzdGFnZSwgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJCSAgICAgICBpbnQgc3RhZ2UsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCiAJCQkgICAgICAgcmVhZF90cmVlX2ZuX3QgZm4sIHZvaWQgKmNvbnRleHQpOwogCiBleHRlcm4gaW50IHJlYWRfdHJlZShzdHJ1Y3QgdHJlZSAqdHJlZSwgaW50IHN0YWdlLCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKTsKZGlmZiAtLWdpdCBhL3VucGFjay10cmVlcy5jIGIvdW5wYWNrLXRyZWVzLmMKaW5kZXggYmYwMTcxNy4uMzVjYjA1ZSAxMDA2NDQKLS0tIGEvdW5wYWNrLXRyZWVzLmMKKysrIGIvdW5wYWNrLXRyZWVzLmMKQEAgLTExNTQsOCArMTE1NCwxMCBAQAogCiAJby0+c3JjX2luZGV4ID0gTlVMTDsKIAlyZXQgPSBjaGVja191cGRhdGVzKG8pID8gKC0yKSA6IDA7Ci0JaWYgKG8tPmRzdF9pbmRleCkKKwlpZiAoby0+ZHN0X2luZGV4KSB7CisJCWRpc2NhcmRfaW5kZXgoby0+ZHN0X2luZGV4KTsKIAkJKm8tPmRzdF9pbmRleCA9IG8tPnJlc3VsdDsKKwl9CiAKIGRvbmU6CiAJY2xlYXJfZXhjbHVkZV9saXN0KCZlbCk7CkBAIC0xMzU1LDcgKzEzNTcsNyBAQAogewogCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqc3JjOwogCi0Jc3JjID0gaW5kZXhfbmFtZV9leGlzdHMoby0+c3JjX2luZGV4LCBuYW1lLCBsZW4sIDEpOworCXNyYyA9IGluZGV4X2ZpbGVfZXhpc3RzKG8tPnNyY19pbmRleCwgbmFtZSwgbGVuLCAxKTsKIAlyZXR1cm4gc3JjICYmICFpZV9tYXRjaF9zdGF0KG8tPnNyY19pbmRleCwgc3JjLCBzdCwgQ0VfTUFUQ0hfSUdOT1JFX1ZBTElEfENFX01BVENIX0lHTk9SRV9TS0lQX1dPUktUUkVFKTsKIH0KIApAQCAtMTQwMSw3ICsxNDAzLDcgQEAKIAkgKiBkZWxldGUgdGhpcyBwYXRoLCB3aGljaCBpcyBpbiBhIHN1YmRpcmVjdG9yeSB0aGF0CiAJICogaXMgYmVpbmcgcmVwbGFjZWQgd2l0aCBhIGJsb2IuCiAJICovCi0JcmVzdWx0ID0gaW5kZXhfbmFtZV9leGlzdHMoJm8tPnJlc3VsdCwgbmFtZSwgbGVuLCAwKTsKKwlyZXN1bHQgPSBpbmRleF9maWxlX2V4aXN0cygmby0+cmVzdWx0LCBuYW1lLCBsZW4sIDApOwogCWlmIChyZXN1bHQpIHsKIAkJaWYgKHJlc3VsdC0+Y2VfZmxhZ3MgJiBDRV9SRU1PVkUpCiAJCQlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL3VwbG9hZC1wYWNrLmMgYi91cGxvYWQtcGFjay5jCmluZGV4IGEwMjBkMzAuLmM5ODlhNzMgMTAwNjQ0Ci0tLSBhL3VwbG9hZC1wYWNrLmMKKysrIGIvdXBsb2FkLXBhY2suYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgInJldmlzaW9uLmgiCiAjaW5jbHVkZSAibGlzdC1vYmplY3RzLmgiCiAjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKKyNpbmNsdWRlICJjb25uZWN0LmgiCiAjaW5jbHVkZSAic2lnY2hhaW4uaCIKICNpbmNsdWRlICJ2ZXJzaW9uLmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKZGlmZiAtLWdpdCBhL3VybG1hdGNoLmMgYi91cmxtYXRjaC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjODdjYmEKLS0tIC9kZXYvbnVsbAorKysgYi91cmxtYXRjaC5jCkBAIC0wLDAgKzEsNTM5IEBACisjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJ1cmxtYXRjaC5oIgorCisjZGVmaW5lIFVSTF9BTFBIQSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIKKyNkZWZpbmUgVVJMX0RJR0lUICIwMTIzNDU2Nzg5IgorI2RlZmluZSBVUkxfQUxQSEFESUdJVCBVUkxfQUxQSEEgVVJMX0RJR0lUCisjZGVmaW5lIFVSTF9TQ0hFTUVfQ0hBUlMgVVJMX0FMUEhBRElHSVQgIisuLSIKKyNkZWZpbmUgVVJMX0hPU1RfQ0hBUlMgVVJMX0FMUEhBRElHSVQgIi4tWzpdIiAvKiBJUHY2IGxpdGVyYWxzIG5lZWQgWzpdICovCisjZGVmaW5lIFVSTF9VTlNBRkVfQ0hBUlMgIiA8PlwiJXt9fFxcXmAiIC8qIHBsdXMgMHgwMC0weDFGLDB4N0YtMHhGRiAqLworI2RlZmluZSBVUkxfR0VOX1JFU0VSVkVEICI6Lz8jW11AIgorI2RlZmluZSBVUkxfU1VCX1JFU0VSVkVEICIhJCYnKCkqKyw7PSIKKyNkZWZpbmUgVVJMX1JFU0VSVkVEIFVSTF9HRU5fUkVTRVJWRUQgVVJMX1NVQl9SRVNFUlZFRCAvKiBvbmx5IGFsbG93ZWQgZGVsaW1zICovCisKK3N0YXRpYyBpbnQgYXBwZW5kX25vcm1hbGl6ZWRfZXNjYXBlcyhzdHJ1Y3Qgc3RyYnVmICpidWYsCisJCQkJICAgICBjb25zdCBjaGFyICpmcm9tLAorCQkJCSAgICAgc2l6ZV90IGZyb21fbGVuLAorCQkJCSAgICAgY29uc3QgY2hhciAqZXNjX2V4dHJhLAorCQkJCSAgICAgY29uc3QgY2hhciAqZXNjX29rKQoreworCS8qCisJICogQXBwZW5kIHRvIHN0cmJ1ZiAnYnVmJyBjaGFyYWN0ZXJzIGZyb20gc3RyaW5nICdmcm9tJyB3aXRoIGxlbmd0aAorCSAqICdmcm9tX2xlbicgd2hpbGUgdW5lc2NhcGluZyBjaGFyYWN0ZXJzIHRoYXQgZG8gbm90IG5lZWQgdG8gYmUgZXNjYXBlZAorCSAqIGFuZCBlc2NhcGluZyBjaGFyYWN0ZXJzIHRoYXQgZG8uICBUaGUgc2V0IG9mIGNoYXJhY3RlcnMgdG8gZXNjYXBlCisJICogKHRoZSBjb21wbGVtZW50IG9mIHdoaWNoIGlzIHVuZXNjYXBlZCkgc3RhcnRzIG91dCBhcyB0aGUgUkZDIDM5ODYKKwkgKiB1bnNhZmUgY2hhcmFjdGVycyAoMHgwMC0weDFGLDB4N0YtMHhGRiwiIDw+XCIjJXt9fFxcXmAiKS4gIElmCisJICogJ2VzY19leHRyYScgaXMgbm90IE5VTEwsIHRob3NlIGFkZGl0aW9uYWwgY2hhcmFjdGVycyB3aWxsIGFsc28gYWx3YXlzCisJICogYmUgZXNjYXBlZC4gIElmICdlc2Nfb2snIGlzIG5vdCBOVUxMLCB0aG9zZSBjaGFyYWN0ZXJzIHdpbGwgYmUgbGVmdAorCSAqIGVzY2FwZWQgaWYgZm91bmQgdGhhdCB3YXksIGJ1dCB3aWxsIG5vdCBiZSB1bmVzY2FwZWQgb3RoZXJ3aXNlICh1c2VkCisJICogZm9yIGRlbGltaXRlcnMpLiAgSWYgYSAlLWVzY2FwZSBzZXF1ZW5jZSBpcyBlbmNvdW50ZXJlZCB0aGF0IGlzIG5vdAorCSAqIGZvbGxvd2VkIGJ5IDIgaGV4YWRlY2ltYWwgZGlnaXRzLCB0aGUgc2VxdWVuY2UgaXMgaW52YWxpZCBhbmQKKwkgKiBmYWxzZSAoMCkgd2lsbCBiZSByZXR1cm5lZC4gIE90aGVyd2lzZSB0cnVlICgxKSB3aWxsIGJlIHJldHVybmVkIGZvcgorCSAqIHN1Y2Nlc3MuCisJICoKKwkgKiBOb3RlIHRoYXQgYWxsICUtZXNjYXBlIHNlcXVlbmNlcyB3aWxsIGJlIG5vcm1hbGl6ZWQgdG8gVVBQRVJDQVNFCisJICogYXMgaW5kaWNhdGVkIGluIFJGQyAzOTg2LiAgVW5sZXNzIGluY2x1ZGVkIGluIGVzY19leHRyYSBvciBlc2Nfb2sKKwkgKiBhbHBoYW51bWVyaWNzIGFuZCAiLS5ffiIgd2lsbCBhbHdheXMgYmUgdW5lc2NhcGVkIGFzIHBlciBSRkMgMzk4Ni4KKwkgKi8KKworCXdoaWxlIChmcm9tX2xlbikgeworCQlpbnQgY2ggPSAqZnJvbSsrOworCQlpbnQgd2FzX2VzYyA9IDA7CisKKwkJZnJvbV9sZW4tLTsKKwkJaWYgKGNoID09ICclJykgeworCQkJaWYgKGZyb21fbGVuIDwgMiB8fAorCQkJICAgICFpc3hkaWdpdCgodW5zaWduZWQgY2hhcilmcm9tWzBdKSB8fAorCQkJICAgICFpc3hkaWdpdCgodW5zaWduZWQgY2hhcilmcm9tWzFdKSkKKwkJCQlyZXR1cm4gMDsKKwkJCWNoID0gaGV4dmFsX3RhYmxlWyh1bnNpZ25lZCBjaGFyKSpmcm9tKytdIDw8IDQ7CisJCQljaCB8PSBoZXh2YWxfdGFibGVbKHVuc2lnbmVkIGNoYXIpKmZyb20rK107CisJCQlmcm9tX2xlbiAtPSAyOworCQkJd2FzX2VzYyA9IDE7CisJCX0KKwkJaWYgKCh1bnNpZ25lZCBjaGFyKWNoIDw9IDB4MUYgfHwgKHVuc2lnbmVkIGNoYXIpY2ggPj0gMHg3RiB8fAorCQkgICAgc3RyY2hyKFVSTF9VTlNBRkVfQ0hBUlMsIGNoKSB8fAorCQkgICAgKGVzY19leHRyYSAmJiBzdHJjaHIoZXNjX2V4dHJhLCBjaCkpIHx8CisJCSAgICAod2FzX2VzYyAmJiBzdHJjaHIoZXNjX29rLCBjaCkpKQorCQkJc3RyYnVmX2FkZGYoYnVmLCAiJSUlMDJYIiwgKHVuc2lnbmVkIGNoYXIpY2gpOworCQllbHNlCisJCQlzdHJidWZfYWRkY2goYnVmLCBjaCk7CisJfQorCisJcmV0dXJuIDE7Cit9CisKK2NoYXIgKnVybF9ub3JtYWxpemUoY29uc3QgY2hhciAqdXJsLCBzdHJ1Y3QgdXJsX2luZm8gKm91dF9pbmZvKQoreworCS8qCisJICogTm9ybWFsaXplIE5VTC10ZXJtaW5hdGVkIHVybCB1c2luZyB0aGUgZm9sbG93aW5nIHJ1bGVzOgorCSAqCisJICogMS4gQ2FzZS1pbnNlbnNpdGl2ZSBwYXJ0cyBvZiB1cmwgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gbG93ZXIgY2FzZQorCSAqIDIuICUtZW5jb2RlZCBjaGFyYWN0ZXJzIHRoYXQgZG8gbm90IG5lZWQgdG8gYmUgd2lsbCBiZSB1bmVuY29kZWQKKwkgKiAzLiBDaGFyYWN0ZXJzIHRoYXQgYXJlIG5vdCAlLWVuY29kZWQgYW5kIG11c3QgYmUgd2lsbCBiZSBlbmNvZGVkCisJICogNC4gQWxsICUtZW5jb2RpbmdzIHdpbGwgYmUgY29udmVydGVkIHRvIHVwcGVyIGNhc2UgaGV4YWRlY2ltYWwKKwkgKiA1LiBMZWFkaW5nIDBzIGFyZSByZW1vdmVkIGZyb20gcG9ydCBudW1iZXJzCisJICogNi4gSWYgdGhlIGRlZmF1bHQgcG9ydCBmb3IgdGhlIHNjaGVtZSBpcyBnaXZlbiBpdCB3aWxsIGJlIHJlbW92ZWQKKwkgKiA3LiBBIHBhdGggcGFydCAoaW5jbHVkaW5nIGVtcHR5KSBub3Qgc3RhcnRpbmcgd2l0aCAnLycgaGFzIG9uZSBhZGRlZAorCSAqIDguIEFueSBkb3Qgc2VnbWVudHMgKC4gb3IgLi4pIGluIHRoZSBwYXRoIGFyZSByZXNvbHZlZCBhbmQgcmVtb3ZlZAorCSAqIDkuIElQdjYgaG9zdCBsaXRlcmFscyBhcmUgYWxsb3dlZCAoYnV0IG5vdCBub3JtYWxpemVkIG9yIHZhbGlkYXRlZCkKKwkgKgorCSAqIFRoZSBydWxlcyBhcmUgYmFzZWQgb24gaW5mb3JtYXRpb24gaW4gUkZDIDM5ODYuCisJICoKKwkgKiBQbGVhc2Ugbm90ZSB0aGlzIGZ1bmN0aW9uIHJlcXVpcmVzIGEgZnVsbCBVUkwgaW5jbHVkaW5nIGEgc2NoZW1lCisJICogYW5kIGhvc3QgcGFydCAoZXhjZXB0IGZvciBmaWxlOiBVUkxzIHdoaWNoIG1heSBoYXZlIGFuIGVtcHR5IGhvc3QpLgorCSAqCisJICogVGhlIHJldHVybiB2YWx1ZSBpcyBhIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgdGhhdCBtdXN0IGJlIGZyZWVkCisJICogb3IgTlVMTCBpZiB0aGUgdXJsIGlzIG5vdCB2YWxpZC4KKwkgKgorCSAqIElmIG91dF9pbmZvIGlzIG5vbi1OVUxMLCB0aGUgdXJsIGFuZCBlcnIgZmllbGRzIHRoZXJlaW4gd2lsbCBhbHdheXMKKwkgKiBiZSBzZXQuICBJZiBhIG5vbi1OVUxMIHZhbHVlIGlzIHJldHVybmVkLCBpdCB3aWxsIGJlIHN0b3JlZCBpbgorCSAqIG91dF9pbmZvLT51cmwgYXMgd2VsbCwgb3V0X2luZm8tPmVyciB3aWxsIGJlIHNldCB0byBOVUxMIGFuZCB0aGUKKwkgKiBvdGhlciBmaWVsZHMgb2YgKm91dF9pbmZvIHdpbGwgYWxzbyBiZSBmaWxsZWQgaW4uICBJZiBhIE5VTEwgdmFsdWUKKwkgKiBpcyByZXR1cm5lZCwgTlVMTCB3aWxsIGJlIHN0b3JlZCBpbiBvdXRfaW5mby0+dXJsIGFuZCBvdXRfaW5mby0+ZXJyCisJICogd2lsbCBiZSBzZXQgdG8gYSBicmllZiwgdHJhbnNsYXRlZCwgZXJyb3IgbWVzc2FnZSwgYnV0IG5vIG90aGVyCisJICogZmllbGRzIHdpbGwgYmUgZmlsbGVkIGluLgorCSAqCisJICogVGhpcyBpcyBOT1QgYSBVUkwgdmFsaWRhdGlvbiBmdW5jdGlvbi4gIEZ1bGwgVVJMIHZhbGlkYXRpb24gaXMgTk9UCisJICogcGVyZm9ybWVkLiAgU29tZSBpbnZhbGlkIGhvc3QgbmFtZXMgYXJlIHBhc3NlZCB0aHJvdWdoIHRoaXMgZnVuY3Rpb24KKwkgKiB1bmRldGVjdGVkLiAgSG93ZXZlciwgbW9zdCBhbGwgb3RoZXIgcHJvYmxlbXMgdGhhdCBtYWtlIGEgVVJMIGludmFsaWQKKwkgKiB3aWxsIGJlIGRldGVjdGVkIChpbmNsdWRpbmcgYSBtaXNzaW5nIGhvc3QgZm9yIG5vbiBmaWxlOiBVUkxzKS4KKwkgKi8KKworCXNpemVfdCB1cmxfbGVuID0gc3RybGVuKHVybCk7CisJc3RydWN0IHN0cmJ1ZiBub3JtOworCXNpemVfdCBzcGFubmVkOworCXNpemVfdCBzY2hlbWVfbGVuLCB1c2VyX29mZj0wLCB1c2VyX2xlbj0wLCBwYXNzd2Rfb2ZmPTAsIHBhc3N3ZF9sZW49MDsKKwlzaXplX3QgaG9zdF9vZmY9MCwgaG9zdF9sZW49MCwgcG9ydF9sZW49MCwgcGF0aF9vZmYsIHBhdGhfbGVuLCByZXN1bHRfbGVuOworCWNvbnN0IGNoYXIgKnNsYXNoX3B0ciwgKmF0X3B0ciwgKmNvbG9uX3B0ciwgKnBhdGhfc3RhcnQ7CisJY2hhciAqcmVzdWx0OworCisJLyoKKwkgKiBDb3B5IGxvd2VyY2FzZWQgc2NoZW1lIGFuZCA6Ly8gc3VmZml4LCAlLWVzY2FwZXMgYXJlIG5vdCBhbGxvd2VkCisJICogRmlyc3QgY2hhcmFjdGVyIG9mIHNjaGVtZSBtdXN0IGJlIFVSTF9BTFBIQQorCSAqLworCXNwYW5uZWQgPSBzdHJzcG4odXJsLCBVUkxfU0NIRU1FX0NIQVJTKTsKKwlpZiAoIXNwYW5uZWQgfHwgIWlzYWxwaGEodXJsWzBdKSB8fCBzcGFubmVkICsgMyA+IHVybF9sZW4gfHwKKwkgICAgdXJsW3NwYW5uZWRdICE9ICc6JyB8fCB1cmxbc3Bhbm5lZCsxXSAhPSAnLycgfHwgdXJsW3NwYW5uZWQrMl0gIT0gJy8nKSB7CisJCWlmIChvdXRfaW5mbykgeworCQkJb3V0X2luZm8tPnVybCA9IE5VTEw7CisJCQlvdXRfaW5mby0+ZXJyID0gXygiaW52YWxpZCBVUkwgc2NoZW1lIG5hbWUgb3IgbWlzc2luZyAnOi8vJyBzdWZmaXgiKTsKKwkJfQorCQlyZXR1cm4gTlVMTDsgLyogQmFkIHNjaGVtZSBhbmQvb3IgbWlzc2luZyAiOi8vIiBwYXJ0ICovCisJfQorCXN0cmJ1Zl9pbml0KCZub3JtLCB1cmxfbGVuKTsKKwlzY2hlbWVfbGVuID0gc3Bhbm5lZDsKKwlzcGFubmVkICs9IDM7CisJdXJsX2xlbiAtPSBzcGFubmVkOworCXdoaWxlIChzcGFubmVkLS0pCisJCXN0cmJ1Zl9hZGRjaCgmbm9ybSwgdG9sb3dlcigqdXJsKyspKTsKKworCisJLyoKKwkgKiBDb3B5IGFueSB1c2VybmFtZTpwYXNzd29yZCBpZiBwcmVzZW50IG5vcm1hbGl6aW5nICUtZXNjYXBlcworCSAqLworCWF0X3B0ciA9IHN0cmNocih1cmwsICdAJyk7CisJc2xhc2hfcHRyID0gdXJsICsgc3RyY3Nwbih1cmwsICIvPyMiKTsKKwlpZiAoYXRfcHRyICYmIGF0X3B0ciA8IHNsYXNoX3B0cikgeworCQl1c2VyX29mZiA9IG5vcm0ubGVuOworCQlpZiAoYXRfcHRyID4gdXJsKSB7CisJCQlpZiAoIWFwcGVuZF9ub3JtYWxpemVkX2VzY2FwZXMoJm5vcm0sIHVybCwgYXRfcHRyIC0gdXJsLAorCQkJCQkJICAgICAgICIiLCBVUkxfUkVTRVJWRUQpKSB7CisJCQkJaWYgKG91dF9pbmZvKSB7CisJCQkJCW91dF9pbmZvLT51cmwgPSBOVUxMOworCQkJCQlvdXRfaW5mby0+ZXJyID0gXygiaW52YWxpZCAlWFggZXNjYXBlIHNlcXVlbmNlIik7CisJCQkJfQorCQkJCXN0cmJ1Zl9yZWxlYXNlKCZub3JtKTsKKwkJCQlyZXR1cm4gTlVMTDsKKwkJCX0KKwkJCWNvbG9uX3B0ciA9IHN0cmNocihub3JtLmJ1ZiArIHNjaGVtZV9sZW4gKyAzLCAnOicpOworCQkJaWYgKGNvbG9uX3B0cikgeworCQkJCXBhc3N3ZF9vZmYgPSAoY29sb25fcHRyICsgMSkgLSBub3JtLmJ1ZjsKKwkJCQlwYXNzd2RfbGVuID0gbm9ybS5sZW4gLSBwYXNzd2Rfb2ZmOworCQkJCXVzZXJfbGVuID0gKHBhc3N3ZF9vZmYgLSAxKSAtIChzY2hlbWVfbGVuICsgMyk7CisJCQl9IGVsc2UgeworCQkJCXVzZXJfbGVuID0gbm9ybS5sZW4gLSAoc2NoZW1lX2xlbiArIDMpOworCQkJfQorCQl9CisJCXN0cmJ1Zl9hZGRjaCgmbm9ybSwgJ0AnKTsKKwkJdXJsX2xlbiAtPSAoKythdF9wdHIgLSB1cmwpOworCQl1cmwgPSBhdF9wdHI7CisJfQorCisKKwkvKgorCSAqIENvcHkgdGhlIGhvc3QgcGFydCBleGNsdWRpbmcgYW55IHBvcnQgcGFydCwgbm8gJS1lc2NhcGVzIGFsbG93ZWQKKwkgKi8KKwlpZiAoIXVybF9sZW4gfHwgc3RyY2hyKCI6Lz8jIiwgKnVybCkpIHsKKwkJLyogTWlzc2luZyBob3N0IGludmFsaWQgZm9yIGFsbCBVUkwgc2NoZW1lcyBleGNlcHQgZmlsZSAqLworCQlpZiAoc3RybmNtcChub3JtLmJ1ZiwgImZpbGU6IiwgNSkpIHsKKwkJCWlmIChvdXRfaW5mbykgeworCQkJCW91dF9pbmZvLT51cmwgPSBOVUxMOworCQkJCW91dF9pbmZvLT5lcnIgPSBfKCJtaXNzaW5nIGhvc3QgYW5kIHNjaGVtZSBpcyBub3QgJ2ZpbGU6JyIpOworCQkJfQorCQkJc3RyYnVmX3JlbGVhc2UoJm5vcm0pOworCQkJcmV0dXJuIE5VTEw7CisJCX0KKwl9IGVsc2UgeworCQlob3N0X29mZiA9IG5vcm0ubGVuOworCX0KKwljb2xvbl9wdHIgPSBzbGFzaF9wdHIgLSAxOworCXdoaWxlIChjb2xvbl9wdHIgPiB1cmwgJiYgKmNvbG9uX3B0ciAhPSAnOicgJiYgKmNvbG9uX3B0ciAhPSAnXScpCisJCWNvbG9uX3B0ci0tOworCWlmICgqY29sb25fcHRyICE9ICc6JykgeworCQljb2xvbl9wdHIgPSBzbGFzaF9wdHI7CisJfSBlbHNlIGlmICghaG9zdF9vZmYgJiYgY29sb25fcHRyIDwgc2xhc2hfcHRyICYmIGNvbG9uX3B0ciArIDEgIT0gc2xhc2hfcHRyKSB7CisJCS8qIGZpbGU6IFVSTHMgbWF5IG5vdCBoYXZlIGEgcG9ydCBudW1iZXIgKi8KKwkJaWYgKG91dF9pbmZvKSB7CisJCQlvdXRfaW5mby0+dXJsID0gTlVMTDsKKwkJCW91dF9pbmZvLT5lcnIgPSBfKCJhICdmaWxlOicgVVJMIG1heSBub3QgaGF2ZSBhIHBvcnQgbnVtYmVyIik7CisJCX0KKwkJc3RyYnVmX3JlbGVhc2UoJm5vcm0pOworCQlyZXR1cm4gTlVMTDsKKwl9CisJc3Bhbm5lZCA9IHN0cnNwbih1cmwsIFVSTF9IT1NUX0NIQVJTKTsKKwlpZiAoc3Bhbm5lZCA8IGNvbG9uX3B0ciAtIHVybCkgeworCQkvKiBIb3N0IG5hbWUgaGFzIGludmFsaWQgY2hhcmFjdGVycyAqLworCQlpZiAob3V0X2luZm8pIHsKKwkJCW91dF9pbmZvLT51cmwgPSBOVUxMOworCQkJb3V0X2luZm8tPmVyciA9IF8oImludmFsaWQgY2hhcmFjdGVycyBpbiBob3N0IG5hbWUiKTsKKwkJfQorCQlzdHJidWZfcmVsZWFzZSgmbm9ybSk7CisJCXJldHVybiBOVUxMOworCX0KKwl3aGlsZSAodXJsIDwgY29sb25fcHRyKSB7CisJCXN0cmJ1Zl9hZGRjaCgmbm9ybSwgdG9sb3dlcigqdXJsKyspKTsKKwkJdXJsX2xlbi0tOworCX0KKworCisJLyoKKwkgKiBDaGVjayB0aGUgcG9ydCBwYXJ0IGFuZCBjb3B5IGlmIG5vdCB0aGUgZGVmYXVsdCAoYWZ0ZXIgcmVtb3ZpbmcgYW55CisJICogbGVhZGluZyAwcyk7IG5vICUtZXNjYXBlcyBhbGxvd2VkCisJICovCisJaWYgKGNvbG9uX3B0ciA8IHNsYXNoX3B0cikgeworCQkvKiBza2lwIHRoZSAnOicgYW5kIGxlYWRpbmcgMHMgYnV0IG5vdCB0aGUgbGFzdCBvbmUgaWYgYWxsIDBzICovCisJCXVybCsrOworCQl1cmwgKz0gc3Ryc3BuKHVybCwgIjAiKTsKKwkJaWYgKHVybCA9PSBzbGFzaF9wdHIgJiYgdXJsWy0xXSA9PSAnMCcpCisJCQl1cmwtLTsKKwkJaWYgKHVybCA9PSBzbGFzaF9wdHIpIHsKKwkJCS8qIFNraXAgIjoiIHBvcnQgd2l0aCBubyBudW1iZXIsIGl0J3Mgc2FtZSBhcyBkZWZhdWx0ICovCisJCX0gZWxzZSBpZiAoc2xhc2hfcHRyIC0gdXJsID09IDIgJiYKKwkJCSAgICFzdHJuY21wKG5vcm0uYnVmLCAiaHR0cDoiLCA1KSAmJgorCQkJICAgIXN0cm5jbXAodXJsLCAiODAiLCAyKSkgeworCQkJLyogU2tpcCBodHRwIDo4MCBhcyBpdCdzIHRoZSBkZWZhdWx0ICovCisJCX0gZWxzZSBpZiAoc2xhc2hfcHRyIC0gdXJsID09IDMgJiYKKwkJCSAgICFzdHJuY21wKG5vcm0uYnVmLCAiaHR0cHM6IiwgNikgJiYKKwkJCSAgICFzdHJuY21wKHVybCwgIjQ0MyIsIDMpKSB7CisJCQkvKiBTa2lwIGh0dHBzIDo0NDMgYXMgaXQncyB0aGUgZGVmYXVsdCAqLworCQl9IGVsc2UgeworCQkJLyoKKwkJCSAqIFBvcnQgbnVtYmVyIG11c3QgYmUgYWxsIGRpZ2l0cyB3aXRoIGxlYWRpbmcgMHMgcmVtb3ZlZAorCQkJICogYW5kIHNpbmNlIGFsbCB0aGUgcHJvdG9jb2xzIHdlIGRlYWwgd2l0aCBoYXZlIGEgMTYtYml0CisJCQkgKiBwb3J0IG51bWJlciBpdCBtdXN0IGFsc28gYmUgaW4gdGhlIHJhbmdlIDEuLjY1NTM1CisJCQkgKiAwIGlzIG5vdCBhbGxvd2VkIGJlY2F1c2UgdGhhdCBtZWFucyAibmV4dCBhdmFpbGFibGUiCisJCQkgKiBvbiBqdXN0IGFib3V0IGV2ZXJ5IHN5c3RlbSBhbmQgdGhlcmVmb3JlIGNhbm5vdCBiZSB1c2VkCisJCQkgKi8KKwkJCXVuc2lnbmVkIGxvbmcgcG51bSA9IDA7CisJCQlzcGFubmVkID0gc3Ryc3BuKHVybCwgVVJMX0RJR0lUKTsKKwkJCWlmIChzcGFubmVkIDwgc2xhc2hfcHRyIC0gdXJsKSB7CisJCQkJLyogcG9ydCBudW1iZXIgaGFzIGludmFsaWQgY2hhcmFjdGVycyAqLworCQkJCWlmIChvdXRfaW5mbykgeworCQkJCQlvdXRfaW5mby0+dXJsID0gTlVMTDsKKwkJCQkJb3V0X2luZm8tPmVyciA9IF8oImludmFsaWQgcG9ydCBudW1iZXIiKTsKKwkJCQl9CisJCQkJc3RyYnVmX3JlbGVhc2UoJm5vcm0pOworCQkJCXJldHVybiBOVUxMOworCQkJfQorCQkJaWYgKHNsYXNoX3B0ciAtIHVybCA8PSA1KQorCQkJCXBudW0gPSBzdHJ0b3VsKHVybCwgTlVMTCwgMTApOworCQkJaWYgKHBudW0gPT0gMCB8fCBwbnVtID4gNjU1MzUpIHsKKwkJCQkvKiBwb3J0IG51bWJlciBub3QgaW4gcmFuZ2UgMS4uNjU1MzUgKi8KKwkJCQlpZiAob3V0X2luZm8pIHsKKwkJCQkJb3V0X2luZm8tPnVybCA9IE5VTEw7CisJCQkJCW91dF9pbmZvLT5lcnIgPSBfKCJpbnZhbGlkIHBvcnQgbnVtYmVyIik7CisJCQkJfQorCQkJCXN0cmJ1Zl9yZWxlYXNlKCZub3JtKTsKKwkJCQlyZXR1cm4gTlVMTDsKKwkJCX0KKwkJCXN0cmJ1Zl9hZGRjaCgmbm9ybSwgJzonKTsKKwkJCXN0cmJ1Zl9hZGQoJm5vcm0sIHVybCwgc2xhc2hfcHRyIC0gdXJsKTsKKwkJCXBvcnRfbGVuID0gc2xhc2hfcHRyIC0gdXJsOworCQl9CisJCXVybF9sZW4gLT0gc2xhc2hfcHRyIC0gY29sb25fcHRyOworCQl1cmwgPSBzbGFzaF9wdHI7CisJfQorCWlmIChob3N0X29mZikKKwkJaG9zdF9sZW4gPSBub3JtLmxlbiAtIGhvc3Rfb2ZmOworCisKKwkvKgorCSAqIE5vdyBjb3B5IHRoZSBwYXRoIHJlc29sdmluZyBhbnkgLiBhbmQgLi4gc2VnbWVudHMgYmVpbmcgY2FyZWZ1bCBub3QKKwkgKiB0byBjb3JydXB0IHRoZSBVUkwgYnkgdW5lc2NhcGluZyBhbnkgZGVsaW1pdGVycywgYnV0IGRvIGFkZCBhbgorCSAqIGluaXRpYWwgJy8nIGlmIGl0J3MgbWlzc2luZyBhbmQgZG8gbm9ybWFsaXplIGFueSAlLWVzY2FwZSBzZXF1ZW5jZXMuCisJICovCisJcGF0aF9vZmYgPSBub3JtLmxlbjsKKwlwYXRoX3N0YXJ0ID0gbm9ybS5idWYgKyBwYXRoX29mZjsKKwlzdHJidWZfYWRkY2goJm5vcm0sICcvJyk7CisJaWYgKCp1cmwgPT0gJy8nKSB7CisJCXVybCsrOworCQl1cmxfbGVuLS07CisJfQorCWZvciAoOzspIHsKKwkJY29uc3QgY2hhciAqc2VnX3N0YXJ0OworCQlzaXplX3Qgc2VnX3N0YXJ0X29mZiA9IG5vcm0ubGVuOworCQljb25zdCBjaGFyICpuZXh0X3NsYXNoID0gdXJsICsgc3RyY3Nwbih1cmwsICIvPyMiKTsKKwkJaW50IHNraXBfYWRkX3NsYXNoID0gMDsKKworCQkvKgorCQkgKiBSRkMgMzY4OSBpbmRpY2F0ZXMgdGhhdCBhbnkgLiBvciAuLiBzZWdtZW50cyBzaG91bGQgYmUKKwkJICogdW5lc2NhcGVkIGJlZm9yZSBiZWluZyBjaGVja2VkIGZvci4KKwkJICovCisJCWlmICghYXBwZW5kX25vcm1hbGl6ZWRfZXNjYXBlcygmbm9ybSwgdXJsLCBuZXh0X3NsYXNoIC0gdXJsLCAiIiwKKwkJCQkJICAgICAgIFVSTF9SRVNFUlZFRCkpIHsKKwkJCWlmIChvdXRfaW5mbykgeworCQkJCW91dF9pbmZvLT51cmwgPSBOVUxMOworCQkJCW91dF9pbmZvLT5lcnIgPSBfKCJpbnZhbGlkICVYWCBlc2NhcGUgc2VxdWVuY2UiKTsKKwkJCX0KKwkJCXN0cmJ1Zl9yZWxlYXNlKCZub3JtKTsKKwkJCXJldHVybiBOVUxMOworCQl9CisKKwkJc2VnX3N0YXJ0ID0gbm9ybS5idWYgKyBzZWdfc3RhcnRfb2ZmOworCQlpZiAoIXN0cmNtcChzZWdfc3RhcnQsICIuIikpIHsKKwkJCS8qIGlnbm9yZSBhIC4gc2VnbWVudDsgYmUgY2FyZWZ1bCBub3QgdG8gcmVtb3ZlIGluaXRpYWwgJy8nICovCisJCQlpZiAoc2VnX3N0YXJ0ID09IHBhdGhfc3RhcnQgKyAxKSB7CisJCQkJc3RyYnVmX3NldGxlbigmbm9ybSwgbm9ybS5sZW4gLSAxKTsKKwkJCQlza2lwX2FkZF9zbGFzaCA9IDE7CisJCQl9IGVsc2UgeworCQkJCXN0cmJ1Zl9zZXRsZW4oJm5vcm0sIG5vcm0ubGVuIC0gMik7CisJCQl9CisJCX0gZWxzZSBpZiAoIXN0cmNtcChzZWdfc3RhcnQsICIuLiIpKSB7CisJCQkvKgorCQkJICogaWdub3JlIGEgLi4gc2VnbWVudCBhbmQgcmVtb3ZlIHRoZSBwcmV2aW91cyBzZWdtZW50OworCQkJICogYmUgY2FyZWZ1bCBub3QgdG8gcmVtb3ZlIGluaXRpYWwgJy8nIGZyb20gcGF0aAorCQkJICovCisJCQljb25zdCBjaGFyICpwcmV2X3NsYXNoID0gbm9ybS5idWYgKyBub3JtLmxlbiAtIDM7CisJCQlpZiAocHJldl9zbGFzaCA9PSBwYXRoX3N0YXJ0KSB7CisJCQkJLyogaW52YWxpZCAuLiBiZWNhdXNlIG5vIHByZXZpb3VzIHNlZ21lbnQgdG8gcmVtb3ZlICovCisJCQkJaWYgKG91dF9pbmZvKSB7CisJCQkJCW91dF9pbmZvLT51cmwgPSBOVUxMOworCQkJCQlvdXRfaW5mby0+ZXJyID0gXygiaW52YWxpZCAnLi4nIHBhdGggc2VnbWVudCIpOworCQkJCX0KKwkJCQlzdHJidWZfcmVsZWFzZSgmbm9ybSk7CisJCQkJcmV0dXJuIE5VTEw7CisJCQl9CisJCQl3aGlsZSAoKi0tcHJldl9zbGFzaCAhPSAnLycpIHt9CisJCQlpZiAocHJldl9zbGFzaCA9PSBwYXRoX3N0YXJ0KSB7CisJCQkJc3RyYnVmX3NldGxlbigmbm9ybSwgcHJldl9zbGFzaCAtIG5vcm0uYnVmICsgMSk7CisJCQkJc2tpcF9hZGRfc2xhc2ggPSAxOworCQkJfSBlbHNlIHsKKwkJCQlzdHJidWZfc2V0bGVuKCZub3JtLCBwcmV2X3NsYXNoIC0gbm9ybS5idWYpOworCQkJfQorCQl9CisJCXVybF9sZW4gLT0gbmV4dF9zbGFzaCAtIHVybDsKKwkJdXJsID0gbmV4dF9zbGFzaDsKKwkJLyogaWYgdGhlIG5leHQgY2hhciBpcyBub3QgJy8nIGRvbmUgd2l0aCB0aGUgcGF0aCAqLworCQlpZiAoKnVybCAhPSAnLycpCisJCQlicmVhazsKKwkJdXJsKys7CisJCXVybF9sZW4tLTsKKwkJaWYgKCFza2lwX2FkZF9zbGFzaCkKKwkJCXN0cmJ1Zl9hZGRjaCgmbm9ybSwgJy8nKTsKKwl9CisJcGF0aF9sZW4gPSBub3JtLmxlbiAtIHBhdGhfb2ZmOworCisKKwkvKgorCSAqIE5vdyBzaW1wbHkgY29weSB0aGUgcmVzdCwgaWYgYW55LCBvbmx5IG5vcm1hbGl6aW5nICUtZXNjYXBlcyBhbmQKKwkgKiBiZWluZyBjYXJlZnVsIG5vdCB0byBjb3JydXB0IHRoZSBVUkwgYnkgdW5lc2NhcGluZyBhbnkgZGVsaW1pdGVycy4KKwkgKi8KKwlpZiAoKnVybCkgeworCQlpZiAoIWFwcGVuZF9ub3JtYWxpemVkX2VzY2FwZXMoJm5vcm0sIHVybCwgdXJsX2xlbiwgIiIsIFVSTF9SRVNFUlZFRCkpIHsKKwkJCWlmIChvdXRfaW5mbykgeworCQkJCW91dF9pbmZvLT51cmwgPSBOVUxMOworCQkJCW91dF9pbmZvLT5lcnIgPSBfKCJpbnZhbGlkICVYWCBlc2NhcGUgc2VxdWVuY2UiKTsKKwkJCX0KKwkJCXN0cmJ1Zl9yZWxlYXNlKCZub3JtKTsKKwkJCXJldHVybiBOVUxMOworCQl9CisJfQorCisKKwlyZXN1bHQgPSBzdHJidWZfZGV0YWNoKCZub3JtLCAmcmVzdWx0X2xlbik7CisJaWYgKG91dF9pbmZvKSB7CisJCW91dF9pbmZvLT51cmwgPSByZXN1bHQ7CisJCW91dF9pbmZvLT5lcnIgPSBOVUxMOworCQlvdXRfaW5mby0+dXJsX2xlbiA9IHJlc3VsdF9sZW47CisJCW91dF9pbmZvLT5zY2hlbWVfbGVuID0gc2NoZW1lX2xlbjsKKwkJb3V0X2luZm8tPnVzZXJfb2ZmID0gdXNlcl9vZmY7CisJCW91dF9pbmZvLT51c2VyX2xlbiA9IHVzZXJfbGVuOworCQlvdXRfaW5mby0+cGFzc3dkX29mZiA9IHBhc3N3ZF9vZmY7CisJCW91dF9pbmZvLT5wYXNzd2RfbGVuID0gcGFzc3dkX2xlbjsKKwkJb3V0X2luZm8tPmhvc3Rfb2ZmID0gaG9zdF9vZmY7CisJCW91dF9pbmZvLT5ob3N0X2xlbiA9IGhvc3RfbGVuOworCQlvdXRfaW5mby0+cG9ydF9sZW4gPSBwb3J0X2xlbjsKKwkJb3V0X2luZm8tPnBhdGhfb2ZmID0gcGF0aF9vZmY7CisJCW91dF9pbmZvLT5wYXRoX2xlbiA9IHBhdGhfbGVuOworCX0KKwlyZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgc2l6ZV90IHVybF9tYXRjaF9wcmVmaXgoY29uc3QgY2hhciAqdXJsLAorCQkJICAgICAgIGNvbnN0IGNoYXIgKnVybF9wcmVmaXgsCisJCQkgICAgICAgc2l6ZV90IHVybF9wcmVmaXhfbGVuKQoreworCS8qCisJICogdXJsX3ByZWZpeCBtYXRjaGVzIHVybCBpZiB1cmxfcHJlZml4IGlzIGFuIGV4YWN0IG1hdGNoIGZvciB1cmwgb3IgaXQKKwkgKiBpcyBhIHByZWZpeCBvZiB1cmwgYW5kIHRoZSBtYXRjaCBlbmRzIG9uIGEgcGF0aCBjb21wb25lbnQgYm91bmRhcnkuCisJICogQm90aCB1cmwgYW5kIHVybF9wcmVmaXggYXJlIGNvbnNpZGVyZWQgdG8gaGF2ZSBhbiBpbXBsaWNpdCAnLycgb24gdGhlCisJICogZW5kIGZvciBtYXRjaGluZyBwdXJwb3NlcyBpZiB0aGV5IGRvIG5vdCBhbHJlYWR5LgorCSAqCisJICogdXJsIG11c3QgYmUgTlVMIHRlcm1pbmF0ZWQuICB1cmxfcHJlZml4X2xlbiBpcyB0aGUgbGVuZ3RoIG9mCisJICogdXJsX3ByZWZpeCB3aGljaCBuZWVkIG5vdCBiZSBOVUwgdGVybWluYXRlZC4KKwkgKgorCSAqIFRoZSByZXR1cm4gdmFsdWUgaXMgdGhlIGxlbmd0aCBvZiB0aGUgbWF0Y2ggaW4gY2hhcmFjdGVycyAoaW5jbHVkaW5nCisJICogdGhlIGZpbmFsICcvJyBldmVuIGlmIGl0J3MgaW1wbGljaXQpIG9yIDAgZm9yIG5vIG1hdGNoLgorCSAqCisJICogUGFzc2luZyBOVUxMIGFzIHVybCBhbmQvb3IgdXJsX3ByZWZpeCB3aWxsIGFsd2F5cyBjYXVzZSAwIHRvIGJlCisJICogcmV0dXJuZWQgd2l0aG91dCBjYXVzaW5nIGFueSBmYXVsdHMuCisJICovCisJaWYgKCF1cmwgfHwgIXVybF9wcmVmaXgpCisJCXJldHVybiAwOworCWlmICghdXJsX3ByZWZpeF9sZW4gfHwgKHVybF9wcmVmaXhfbGVuID09IDEgJiYgKnVybF9wcmVmaXggPT0gJy8nKSkKKwkJcmV0dXJuICghKnVybCB8fCAqdXJsID09ICcvJykgPyAxIDogMDsKKwlpZiAodXJsX3ByZWZpeFt1cmxfcHJlZml4X2xlbiAtIDFdID09ICcvJykKKwkJdXJsX3ByZWZpeF9sZW4tLTsKKwlpZiAoc3RybmNtcCh1cmwsIHVybF9wcmVmaXgsIHVybF9wcmVmaXhfbGVuKSkKKwkJcmV0dXJuIDA7CisJaWYgKChzdHJsZW4odXJsKSA9PSB1cmxfcHJlZml4X2xlbikgfHwgKHVybFt1cmxfcHJlZml4X2xlbl0gPT0gJy8nKSkKKwkJcmV0dXJuIHVybF9wcmVmaXhfbGVuICsgMTsKKwlyZXR1cm4gMDsKK30KKworaW50IG1hdGNoX3VybHMoY29uc3Qgc3RydWN0IHVybF9pbmZvICp1cmwsCisJICAgICAgIGNvbnN0IHN0cnVjdCB1cmxfaW5mbyAqdXJsX3ByZWZpeCwKKwkgICAgICAgaW50ICpleGFjdHVzZXJtYXRjaCkKK3sKKwkvKgorCSAqIHVybF9wcmVmaXggbWF0Y2hlcyB1cmwgaWYgdGhlIHNjaGVtZSwgaG9zdCBhbmQgcG9ydCBvZiB1cmxfcHJlZml4CisJICogYXJlIHRoZSBzYW1lIGFzIHRob3NlIG9mIHVybCBhbmQgdGhlIHBhdGggcG9ydGlvbiBvZiB1cmxfcHJlZml4CisJICogaXMgdGhlIHNhbWUgYXMgdGhlIHBhdGggcG9ydGlvbiBvZiB1cmwgb3IgaXQgaXMgYSBwcmVmaXggdGhhdAorCSAqIG1hdGNoZXMgYXQgYSAnLycgYm91bmRhcnkuICBJZiB1cmxfcHJlZml4IGNvbnRhaW5zIGEgdXNlciBuYW1lLAorCSAqIHRoYXQgbXVzdCBhbHNvIGV4YWN0bHkgbWF0Y2ggdGhlIHVzZXIgbmFtZSBpbiB1cmwuCisJICoKKwkgKiBJZiB0aGUgdXNlciwgaG9zdCwgcG9ydCBhbmQgcGF0aCBtYXRjaCBpbiB0aGlzIGZhc2hpb24sIHRoZSByZXR1cm5lZAorCSAqIHZhbHVlIGlzIHRoZSBsZW5ndGggb2YgdGhlIHBhdGggbWF0Y2ggaW5jbHVkaW5nIGFueSBpbXBsaWNpdAorCSAqIGZpbmFsICcvJy4gIEZvciBleGFtcGxlLCAiaHR0cDovL21lQGV4YW1wbGUuY29tL3BhdGgiIGlzIG1hdGNoZWQgYnkKKwkgKiAiaHR0cDovL2V4YW1wbGUuY29tIiB3aXRoIGEgcGF0aCBsZW5ndGggb2YgMS4KKwkgKgorCSAqIElmIHRoZXJlIGlzIGEgbWF0Y2ggYW5kIGV4YWN0dXNlcm1hdGNoIGlzIG5vdCBOVUxMLCB0aGVuCisJICogKmV4YWN0dXNlcm1hdGNoIHdpbGwgYmUgc2V0IHRvIHRydWUgaWYgYm90aCB1cmwgYW5kIHVybF9wcmVmaXgKKwkgKiBjb250YWluZWQgYSB1c2VyIG5hbWUgb3IgZmFsc2UgaWYgdXJsX3ByZWZpeCBkaWQgbm90IGhhdmUgYQorCSAqIHVzZXIgbmFtZS4gIElmIHRoZXJlIGlzIG5vIG1hdGNoICpleGFjdHVzZXJtYXRjaCBpcyBsZWZ0IHVudG91Y2hlZC4KKwkgKi8KKwlpbnQgdXNlcm1hdGNoZWQgPSAwOworCWludCBwYXRobWF0Y2hsZW47CisKKwlpZiAoIXVybCB8fCAhdXJsX3ByZWZpeCB8fCAhdXJsLT51cmwgfHwgIXVybF9wcmVmaXgtPnVybCkKKwkJcmV0dXJuIDA7CisKKwkvKiBjaGVjayB0aGUgc2NoZW1lICovCisJaWYgKHVybF9wcmVmaXgtPnNjaGVtZV9sZW4gIT0gdXJsLT5zY2hlbWVfbGVuIHx8CisJICAgIHN0cm5jbXAodXJsLT51cmwsIHVybF9wcmVmaXgtPnVybCwgdXJsLT5zY2hlbWVfbGVuKSkKKwkJcmV0dXJuIDA7IC8qIHNjaGVtZXMgZG8gbm90IG1hdGNoICovCisKKwkvKiBjaGVjayB0aGUgdXNlciBuYW1lIGlmIHVybF9wcmVmaXggaGFzIG9uZSAqLworCWlmICh1cmxfcHJlZml4LT51c2VyX29mZikgeworCQlpZiAoIXVybC0+dXNlcl9vZmYgfHwgdXJsLT51c2VyX2xlbiAhPSB1cmxfcHJlZml4LT51c2VyX2xlbiB8fAorCQkgICAgc3RybmNtcCh1cmwtPnVybCArIHVybC0+dXNlcl9vZmYsCisJCQkgICAgdXJsX3ByZWZpeC0+dXJsICsgdXJsX3ByZWZpeC0+dXNlcl9vZmYsCisJCQkgICAgdXJsLT51c2VyX2xlbikpCisJCQlyZXR1cm4gMDsgLyogdXJsX3ByZWZpeCBoYXMgYSB1c2VyIGJ1dCBpdCdzIG5vdCBhIG1hdGNoICovCisJCXVzZXJtYXRjaGVkID0gMTsKKwl9CisKKwkvKiBjaGVjayB0aGUgaG9zdCBhbmQgcG9ydCAqLworCWlmICh1cmxfcHJlZml4LT5ob3N0X2xlbiAhPSB1cmwtPmhvc3RfbGVuIHx8CisJICAgIHN0cm5jbXAodXJsLT51cmwgKyB1cmwtPmhvc3Rfb2ZmLAorCQkgICAgdXJsX3ByZWZpeC0+dXJsICsgdXJsX3ByZWZpeC0+aG9zdF9vZmYsIHVybC0+aG9zdF9sZW4pKQorCQlyZXR1cm4gMDsgLyogaG9zdCBuYW1lcyBhbmQvb3IgcG9ydHMgZG8gbm90IG1hdGNoICovCisKKwkvKiBjaGVjayB0aGUgcGF0aCAqLworCXBhdGhtYXRjaGxlbiA9IHVybF9tYXRjaF9wcmVmaXgoCisJCXVybC0+dXJsICsgdXJsLT5wYXRoX29mZiwKKwkJdXJsX3ByZWZpeC0+dXJsICsgdXJsX3ByZWZpeC0+cGF0aF9vZmYsCisJCXVybF9wcmVmaXgtPnVybF9sZW4gLSB1cmxfcHJlZml4LT5wYXRoX29mZik7CisKKwlpZiAocGF0aG1hdGNobGVuICYmIGV4YWN0dXNlcm1hdGNoKQorCQkqZXhhY3R1c2VybWF0Y2ggPSB1c2VybWF0Y2hlZDsKKwlyZXR1cm4gcGF0aG1hdGNobGVuOworfQorCitpbnQgdXJsbWF0Y2hfY29uZmlnX2VudHJ5KGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKQoreworCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOworCXN0cnVjdCB1cmxtYXRjaF9jb25maWcgKmNvbGxlY3QgPSBjYjsKKwlzdHJ1Y3QgdXJsbWF0Y2hfaXRlbSAqbWF0Y2hlZDsKKwlzdHJ1Y3QgdXJsX2luZm8gKnVybCA9ICZjb2xsZWN0LT51cmw7CisJY29uc3QgY2hhciAqa2V5LCAqZG90OworCXN0cnVjdCBzdHJidWYgc3ludGhrZXkgPSBTVFJCVUZfSU5JVDsKKwlzaXplX3QgbWF0Y2hlZF9sZW4gPSAwOworCWludCB1c2VyX21hdGNoZWQgPSAwOworCWludCByZXR2YWw7CisKKwlrZXkgPSBza2lwX3ByZWZpeCh2YXIsIGNvbGxlY3QtPnNlY3Rpb24pOworCWlmICgha2V5IHx8ICooa2V5KyspICE9ICcuJykgeworCQlpZiAoY29sbGVjdC0+Y2FzY2FkZV9mbikKKwkJCXJldHVybiBjb2xsZWN0LT5jYXNjYWRlX2ZuKHZhciwgdmFsdWUsIGNiKTsKKwkJcmV0dXJuIDA7IC8qIG5vdCBpbnRlcmVzdGVkICovCisJfQorCWRvdCA9IHN0cnJjaHIoa2V5LCAnLicpOworCWlmIChkb3QpIHsKKwkJY2hhciAqY29uZmlnX3VybCwgKm5vcm1fdXJsOworCQlzdHJ1Y3QgdXJsX2luZm8gbm9ybV9pbmZvOworCisJCWNvbmZpZ191cmwgPSB4bWVtZHVweihrZXksIGRvdCAtIGtleSk7CisJCW5vcm1fdXJsID0gdXJsX25vcm1hbGl6ZShjb25maWdfdXJsLCAmbm9ybV9pbmZvKTsKKwkJZnJlZShjb25maWdfdXJsKTsKKwkJaWYgKCFub3JtX3VybCkKKwkJCXJldHVybiAwOworCQltYXRjaGVkX2xlbiA9IG1hdGNoX3VybHModXJsLCAmbm9ybV9pbmZvLCAmdXNlcl9tYXRjaGVkKTsKKwkJZnJlZShub3JtX3VybCk7CisJCWlmICghbWF0Y2hlZF9sZW4pCisJCQlyZXR1cm4gMDsKKwkJa2V5ID0gZG90ICsgMTsKKwl9CisKKwlpZiAoY29sbGVjdC0+a2V5ICYmIHN0cmNtcChrZXksIGNvbGxlY3QtPmtleSkpCisJCXJldHVybiAwOworCisJaXRlbSA9IHN0cmluZ19saXN0X2luc2VydCgmY29sbGVjdC0+dmFycywga2V5KTsKKwlpZiAoIWl0ZW0tPnV0aWwpIHsKKwkJbWF0Y2hlZCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCptYXRjaGVkKSk7CisJCWl0ZW0tPnV0aWwgPSBtYXRjaGVkOworCX0gZWxzZSB7CisJCW1hdGNoZWQgPSBpdGVtLT51dGlsOworCQkvKgorCQkgKiBJcyBvdXIgbWF0Y2ggc2hvcnRlcj8gIElzIG91ciBtYXRjaCB0aGUgc2FtZQorCQkgKiBsZW5ndGgsIGFuZCB3aXRob3V0IHVzZXIgd2hpbGUgdGhlIGN1cnJlbnQKKwkJICogY2FuZGlkYXRlIGlzIHdpdGggdXNlcj8gIFRoZW4gd2UgY2Fubm90IHVzZSBpdC4KKwkJICovCisJCWlmIChtYXRjaGVkX2xlbiA8IG1hdGNoZWQtPm1hdGNoZWRfbGVuIHx8CisJCSAgICAoKG1hdGNoZWRfbGVuID09IG1hdGNoZWQtPm1hdGNoZWRfbGVuKSAmJgorCQkgICAgICghdXNlcl9tYXRjaGVkICYmIG1hdGNoZWQtPnVzZXJfbWF0Y2hlZCkpKQorCQkJcmV0dXJuIDA7CisJCS8qIE90aGVyd2lzZSwgcmVwbGFjZSBpdCB3aXRoIHRoaXMgb25lLiAqLworCX0KKworCW1hdGNoZWQtPm1hdGNoZWRfbGVuID0gbWF0Y2hlZF9sZW47CisJbWF0Y2hlZC0+dXNlcl9tYXRjaGVkID0gdXNlcl9tYXRjaGVkOworCXN0cmJ1Zl9hZGRzdHIoJnN5bnRoa2V5LCBjb2xsZWN0LT5zZWN0aW9uKTsKKwlzdHJidWZfYWRkY2goJnN5bnRoa2V5LCAnLicpOworCXN0cmJ1Zl9hZGRzdHIoJnN5bnRoa2V5LCBrZXkpOworCXJldHZhbCA9IGNvbGxlY3QtPmNvbGxlY3RfZm4oc3ludGhrZXkuYnVmLCB2YWx1ZSwgY29sbGVjdC0+Y2IpOworCisJc3RyYnVmX3JlbGVhc2UoJnN5bnRoa2V5KTsKKwlyZXR1cm4gcmV0dmFsOworfQpkaWZmIC0tZ2l0IGEvdXJsbWF0Y2guaCBiL3VybG1hdGNoLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjQ2MWRmZAotLS0gL2Rldi9udWxsCisrKyBiL3VybG1hdGNoLmgKQEAgLTAsMCArMSw1NCBAQAorI2lmbmRlZiBVUkxfTUFUQ0hfSAorI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCisKK3N0cnVjdCB1cmxfaW5mbyB7CisJLyogbm9ybWFsaXplZCB1cmwgb24gc3VjY2VzcywgbXVzdCBiZSBmcmVlZCwgb3RoZXJ3aXNlIE5VTEwgKi8KKwljaGFyICp1cmw7CisJLyogaWYgIXVybCwgYSBicmllZiByZWFzb24gZm9yIHRoZSBmYWlsdXJlLCBvdGhlcndpc2UgTlVMTCAqLworCWNvbnN0IGNoYXIgKmVycjsKKworCS8qIHRoZSByZXN0IG9mIHRoZSBmaWVsZHMgYXJlIG9ubHkgc2V0IGlmIHVybCAhPSBOVUxMICovCisKKwlzaXplX3QgdXJsX2xlbjsJCS8qIHRvdGFsIGxlbmd0aCBvZiB1cmwgKHdoaWNoIGlzIG5vdyBub3JtYWxpemVkKSAqLworCXNpemVfdCBzY2hlbWVfbGVuOwkvKiBsZW5ndGggb2Ygc2NoZW1lIG5hbWUgKGV4Y2x1ZGluZyBmaW5hbCA6KSAqLworCXNpemVfdCB1c2VyX29mZjsJLyogb2Zmc2V0IGludG8gdXJsIHRvIHN0YXJ0IG9mIHVzZXIgbmFtZSAoMCA9PiBub25lKSAqLworCXNpemVfdCB1c2VyX2xlbjsJLyogbGVuZ3RoIG9mIHVzZXIgbmFtZTsgaWYgdXNlcl9vZmYgIT0gMCBidXQKKwkJCQkgICB1c2VyX2xlbiA9PSAwLCBhbiBlbXB0eSB1c2VyIG5hbWUgd2FzIGdpdmVuICovCisJc2l6ZV90IHBhc3N3ZF9vZmY7CS8qIG9mZnNldCBpbnRvIHVybCB0byBzdGFydCBvZiBwYXNzd2QgKDAgPT4gbm9uZSkgKi8KKwlzaXplX3QgcGFzc3dkX2xlbjsJLyogbGVuZ3RoIG9mIHBhc3N3ZDsgaWYgcGFzc3dkX29mZiAhPSAwIGJ1dAorCQkJCSAgIHBhc3N3ZF9sZW4gPT0gMCwgYW4gZW1wdHkgcGFzc3dkIHdhcyBnaXZlbiAqLworCXNpemVfdCBob3N0X29mZjsJLyogb2Zmc2V0IGludG8gdXJsIHRvIHN0YXJ0IG9mIGhvc3QgbmFtZSAoMCA9PiBub25lKSAqLworCXNpemVfdCBob3N0X2xlbjsJLyogbGVuZ3RoIG9mIGhvc3QgbmFtZTsgdGhpcyBJTkNMVURFUyBhbnkgJzpwb3J0bnVtJzsKKwkJCQkgKiBmaWxlIHVybHMgbWF5IGhhdmUgaG9zdF9sZW4gPT0gMCAqLworCXNpemVfdCBwb3J0X2xlbjsJLyogaWYgYSBwb3J0bnVtIGlzIHByZXNlbnQgKHBvcnRfbGVuICE9IDApLCBpdCBoYXMKKwkJCQkgKiB0aGlzIGxlbmd0aCAoZXhjbHVkaW5nIHRoZSBsZWFkaW5nICc6JykgYXQgdGhlCisJCQkJICogZW5kIG9mIHRoZSBob3N0IG5hbWUgKGFsd2F5cyAwIGZvciBmaWxlIHVybHMpICovCisJc2l6ZV90IHBhdGhfb2ZmOwkvKiBvZmZzZXQgaW50byB1cmwgdG8gdGhlIHN0YXJ0IG9mIHRoZSB1cmwgcGF0aDsKKwkJCQkgKiB0aGlzIHdpbGwgYWx3YXlzIHBvaW50IHRvIGEgJy8nIGNoYXJhY3RlcgorCQkJCSAqIGFmdGVyIHRoZSB1cmwgaGFzIGJlZW4gbm9ybWFsaXplZCAqLworCXNpemVfdCBwYXRoX2xlbjsJLyogbGVuZ3RoIG9mIHBhdGggcG9ydGlvbiBleGNsdWRpbmcgYW55IHRyYWlsaW5nCisJCQkJICogJz8uLi4nIGFuZCAnIy4uLicgcG9ydGlvbjsgd2lsbCBhbHdheXMgYmUgPj0gMSAqLworfTsKKworZXh0ZXJuIGNoYXIgKnVybF9ub3JtYWxpemUoY29uc3QgY2hhciAqLCBzdHJ1Y3QgdXJsX2luZm8gKik7CitleHRlcm4gaW50IG1hdGNoX3VybHMoY29uc3Qgc3RydWN0IHVybF9pbmZvICp1cmwsIGNvbnN0IHN0cnVjdCB1cmxfaW5mbyAqdXJsX3ByZWZpeCwgaW50ICpleGFjdHVzZXJtYXRjaCk7CisKK3N0cnVjdCB1cmxtYXRjaF9pdGVtIHsKKwlzaXplX3QgbWF0Y2hlZF9sZW47CisJY2hhciB1c2VyX21hdGNoZWQ7Cit9OworCitzdHJ1Y3QgdXJsbWF0Y2hfY29uZmlnIHsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgdmFyczsKKwlzdHJ1Y3QgdXJsX2luZm8gdXJsOworCWNvbnN0IGNoYXIgKnNlY3Rpb247CisJY29uc3QgY2hhciAqa2V5OworCisJdm9pZCAqY2I7CisJaW50ICgqY29sbGVjdF9mbikoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpOworCWludCAoKmNhc2NhZGVfZm4pKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKTsKK307CisKK2V4dGVybiBpbnQgdXJsbWF0Y2hfY29uZmlnX2VudHJ5KGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKTsKKworI2VuZGlmIC8qIFVSTF9NQVRDSF9IICovCmRpZmYgLS1naXQgYS93YWxrZXIuYyBiL3dhbGtlci5jCmluZGV4IGJlMzg5ZGMuLjYzMzU5NmUgMTAwNjQ0Ci0tLSBhL3dhbGtlci5jCisrKyBiL3dhbGtlci5jCkBAIC01NiwxMCArNTYsNyBAQAogCQlpZiAoIW9iaiB8fCBwcm9jZXNzKHdhbGtlciwgb2JqKSkKIAkJCXJldHVybiAtMTsKIAl9Ci0JZnJlZSh0cmVlLT5idWZmZXIpOwotCXRyZWUtPmJ1ZmZlciA9IE5VTEw7Ci0JdHJlZS0+c2l6ZSA9IDA7Ci0JdHJlZS0+b2JqZWN0LnBhcnNlZCA9IDA7CisJZnJlZV90cmVlX2J1ZmZlcih0cmVlKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvd3JhcHBlci5jIGIvd3JhcHBlci5jCmluZGV4IGY5MmIxNDcuLjlhNmFhYWYgMTAwNjQ0Ci0tLSBhL3dyYXBwZXIuYworKysgYi93cmFwcGVyLmMKQEAgLTM2MCwxMCArMzYwLDEyIEBACiAJcmV0dXJuIGdpdF9ta3N0ZW1wc19tb2RlKHBhdHRlcm4sIDAsIG1vZGUpOwogfQogCisjaWZkZWYgTk9fTUtTVEVNUFMKIGludCBnaXRta3N0ZW1wcyhjaGFyICpwYXR0ZXJuLCBpbnQgc3VmZml4X2xlbikKIHsKIAlyZXR1cm4gZ2l0X21rc3RlbXBzX21vZGUocGF0dGVybiwgc3VmZml4X2xlbiwgMDYwMCk7CiB9CisjZW5kaWYKIAogaW50IHhta3N0ZW1wX21vZGUoY2hhciAqdGVtcGxhdGUsIGludCBtb2RlKQogewpkaWZmIC0tZ2l0IGEvd3Qtc3RhdHVzLmMgYi93dC1zdGF0dXMuYwppbmRleCBjYjI0ZjFmLi5iNGU0NGJhIDEwMDY0NAotLS0gYS93dC1zdGF0dXMuYworKysgYi93dC1zdGF0dXMuYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgInBhdGhzcGVjLmgiCiAjaW5jbHVkZSAid3Qtc3RhdHVzLmgiCiAjaW5jbHVkZSAib2JqZWN0LmgiCiAjaW5jbHVkZSAiZGlyLmgiCkBAIC04LDYgKzksNyBAQAogI2luY2x1ZGUgImRpZmZjb3JlLmgiCiAjaW5jbHVkZSAicXVvdGUuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgorI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKICNpbmNsdWRlICJyZW1vdGUuaCIKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAic3VibW9kdWxlLmgiCkBAIC00NSw5ICs0NywxMSBAQAogCiAJc3RyYnVmX3ZhZGRmKCZzYiwgZm10LCBhcCk7CiAJaWYgKCFzYi5sZW4pIHsKLQkJc3RyYnVmX2FkZGNoKCZzYiwgY29tbWVudF9saW5lX2NoYXIpOwotCQlpZiAoIXRyYWlsKQotCQkJc3RyYnVmX2FkZGNoKCZzYiwgJyAnKTsKKwkJaWYgKHMtPmRpc3BsYXlfY29tbWVudF9wcmVmaXgpIHsKKwkJCXN0cmJ1Zl9hZGRjaCgmc2IsIGNvbW1lbnRfbGluZV9jaGFyKTsKKwkJCWlmICghdHJhaWwpCisJCQkJc3RyYnVmX2FkZGNoKCZzYiwgJyAnKTsKKwkJfQogCQljb2xvcl9wcmludF9zdHJidWYocy0+ZnAsIGNvbG9yLCAmc2IpOwogCQlpZiAodHJhaWwpCiAJCQlmcHJpbnRmKHMtPmZwLCAiJXMiLCB0cmFpbCk7CkBAIC01OCw3ICs2Miw3IEBACiAJCWVvbCA9IHN0cmNocihsaW5lLCAnXG4nKTsKIAogCQlzdHJidWZfcmVzZXQoJmxpbmVidWYpOwotCQlpZiAoYXRfYm9sKSB7CisJCWlmIChhdF9ib2wgJiYgcy0+ZGlzcGxheV9jb21tZW50X3ByZWZpeCkgewogCQkJc3RyYnVmX2FkZGNoKCZsaW5lYnVmLCBjb21tZW50X2xpbmVfY2hhcik7CiAJCQlpZiAoKmxpbmUgIT0gJ1xuJyAmJiAqbGluZSAhPSAnXHQnKQogCQkJCXN0cmJ1Zl9hZGRjaCgmbGluZWJ1ZiwgJyAnKTsKQEAgLTEyOCw2ICsxMzIsNyBAQAogCXMtPnVudHJhY2tlZC5zdHJkdXBfc3RyaW5ncyA9IDE7CiAJcy0+aWdub3JlZC5zdHJkdXBfc3RyaW5ncyA9IDE7CiAJcy0+c2hvd19icmFuY2ggPSAtMTsgIC8qIHVuc3BlY2lmaWVkICovCisJcy0+ZGlzcGxheV9jb21tZW50X3ByZWZpeCA9IDA7CiB9CiAKIHN0YXRpYyB2b2lkIHd0X3N0YXR1c19wcmludF91bm1lcmdlZF9oZWFkZXIoc3RydWN0IHd0X3N0YXR1cyAqcykKQEAgLTE2MCw3ICsxNjUsNyBAQAogCQl9CiAJfQogCi0JaWYgKCFhZHZpY2Vfc3RhdHVzX2hpbnRzKQorCWlmICghcy0+aGludHMpCiAJCXJldHVybjsKIAlpZiAocy0+d2hlbmNlICE9IEZST01fQ09NTUlUKQogCQk7CkBAIC0xODcsNyArMTkyLDcgQEAKIAljb25zdCBjaGFyICpjID0gY29sb3IoV1RfU1RBVFVTX0hFQURFUiwgcyk7CiAKIAlzdGF0dXNfcHJpbnRmX2xuKHMsIGMsIF8oIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIpKTsKLQlpZiAoIWFkdmljZV9zdGF0dXNfaGludHMpCisJaWYgKCFzLT5oaW50cykKIAkJcmV0dXJuOwogCWlmIChzLT53aGVuY2UgIT0gRlJPTV9DT01NSVQpCiAJCTsgLyogTkVFRFNXT1JLOiB1c2UgImdpdCByZXNldCAtLXVucmVzb2x2ZSI/Pz8gKi8KQEAgLTIwNSw3ICsyMTAsNyBAQAogCWNvbnN0IGNoYXIgKmMgPSBjb2xvcihXVF9TVEFUVVNfSEVBREVSLCBzKTsKIAogCXN0YXR1c19wcmludGZfbG4ocywgYywgXygiQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6IikpOwotCWlmICghYWR2aWNlX3N0YXR1c19oaW50cykKKwlpZiAoIXMtPmhpbnRzKQogCQlyZXR1cm47CiAJaWYgKCFoYXNfZGVsZXRlZCkKIAkJc3RhdHVzX3ByaW50Zl9sbihzLCBjLCBfKCIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIpKTsKQEAgLTIyMyw3ICsyMjgsNyBAQAogewogCWNvbnN0IGNoYXIgKmMgPSBjb2xvcihXVF9TVEFUVVNfSEVBREVSLCBzKTsKIAlzdGF0dXNfcHJpbnRmX2xuKHMsIGMsICIlczoiLCB3aGF0KTsKLQlpZiAoIWFkdmljZV9zdGF0dXNfaGludHMpCisJaWYgKCFzLT5oaW50cykKIAkJcmV0dXJuOwogCXN0YXR1c19wcmludGZfbG4ocywgYywgXygiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiKSwgaG93KTsKIAlzdGF0dXNfcHJpbnRmX2xuKHMsIGMsICIiKTsKQEAgLTQzOCw3ICs0NDMsNyBAQAogCX0KIAlyZXYuZGlmZm9wdC5mb3JtYXRfY2FsbGJhY2sgPSB3dF9zdGF0dXNfY29sbGVjdF9jaGFuZ2VkX2NiOwogCXJldi5kaWZmb3B0LmZvcm1hdF9jYWxsYmFja19kYXRhID0gczsKLQlpbml0X3BhdGhzcGVjKCZyZXYucHJ1bmVfZGF0YSwgcy0+cGF0aHNwZWMpOworCWNvcHlfcGF0aHNwZWMoJnJldi5wcnVuZV9kYXRhLCAmcy0+cGF0aHNwZWMpOwogCXJ1bl9kaWZmX2ZpbGVzKCZyZXYsIDApOwogfQogCkBAIC00NjMsMjIgKzQ2OCwyMCBAQAogCXJldi5kaWZmb3B0LmRldGVjdF9yZW5hbWUgPSAxOwogCXJldi5kaWZmb3B0LnJlbmFtZV9saW1pdCA9IDIwMDsKIAlyZXYuZGlmZm9wdC5icmVha19vcHQgPSAwOwotCWluaXRfcGF0aHNwZWMoJnJldi5wcnVuZV9kYXRhLCBzLT5wYXRoc3BlYyk7CisJY29weV9wYXRoc3BlYygmcmV2LnBydW5lX2RhdGEsICZzLT5wYXRoc3BlYyk7CiAJcnVuX2RpZmZfaW5kZXgoJnJldiwgMSk7CiB9CiAKIHN0YXRpYyB2b2lkIHd0X3N0YXR1c19jb2xsZWN0X2NoYW5nZXNfaW5pdGlhbChzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQogewotCXN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKIAlpbnQgaTsKIAotCWluaXRfcGF0aHNwZWMoJnBhdGhzcGVjLCBzLT5wYXRoc3BlYyk7CiAJZm9yIChpID0gMDsgaSA8IGFjdGl2ZV9ucjsgaSsrKSB7CiAJCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdDsKIAkJc3RydWN0IHd0X3N0YXR1c19jaGFuZ2VfZGF0YSAqZDsKIAkJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGFjdGl2ZV9jYWNoZVtpXTsKIAotCQlpZiAoIWNlX3BhdGhfbWF0Y2goY2UsICZwYXRoc3BlYykpCisJCWlmICghY2VfcGF0aF9tYXRjaChjZSwgJnMtPnBhdGhzcGVjKSkKIAkJCWNvbnRpbnVlOwogCQlpdCA9IHN0cmluZ19saXN0X2luc2VydCgmcy0+Y2hhbmdlLCBjZS0+bmFtZSk7CiAJCWQgPSBpdC0+dXRpbDsKQEAgLTQ5Myw3ICs0OTYsNiBAQAogCQllbHNlCiAJCQlkLT5pbmRleF9zdGF0dXMgPSBESUZGX1NUQVRVU19BRERFRDsKIAl9Ci0JZnJlZV9wYXRoc3BlYygmcGF0aHNwZWMpOwogfQogCiBzdGF0aWMgdm9pZCB3dF9zdGF0dXNfY29sbGVjdF91bnRyYWNrZWQoc3RydWN0IHd0X3N0YXR1cyAqcykKQEAgLTUxNiwxMiArNTE4LDEyIEBACiAJCWRpci5mbGFncyB8PSBESVJfU0hPV19JR05PUkVEX1RPTzsKIAlzZXR1cF9zdGFuZGFyZF9leGNsdWRlcygmZGlyKTsKIAotCWZpbGxfZGlyZWN0b3J5KCZkaXIsIHMtPnBhdGhzcGVjKTsKKwlmaWxsX2RpcmVjdG9yeSgmZGlyLCAmcy0+cGF0aHNwZWMpOwogCiAJZm9yIChpID0gMDsgaSA8IGRpci5ucjsgaSsrKSB7CiAJCXN0cnVjdCBkaXJfZW50cnkgKmVudCA9IGRpci5lbnRyaWVzW2ldOwogCQlpZiAoY2FjaGVfbmFtZV9pc19vdGhlcihlbnQtPm5hbWUsIGVudC0+bGVuKSAmJgotCQkgICAgbWF0Y2hfcGF0aHNwZWMocy0+cGF0aHNwZWMsIGVudC0+bmFtZSwgZW50LT5sZW4sIDAsIE5VTEwpKQorCQkgICAgbWF0Y2hfcGF0aHNwZWNfZGVwdGgoJnMtPnBhdGhzcGVjLCBlbnQtPm5hbWUsIGVudC0+bGVuLCAwLCBOVUxMKSkKIAkJCXN0cmluZ19saXN0X2luc2VydCgmcy0+dW50cmFja2VkLCBlbnQtPm5hbWUpOwogCQlmcmVlKGVudCk7CiAJfQpAQCAtNTI5LDcgKzUzMSw3IEBACiAJZm9yIChpID0gMDsgaSA8IGRpci5pZ25vcmVkX25yOyBpKyspIHsKIAkJc3RydWN0IGRpcl9lbnRyeSAqZW50ID0gZGlyLmlnbm9yZWRbaV07CiAJCWlmIChjYWNoZV9uYW1lX2lzX290aGVyKGVudC0+bmFtZSwgZW50LT5sZW4pICYmCi0JCSAgICBtYXRjaF9wYXRoc3BlYyhzLT5wYXRoc3BlYywgZW50LT5uYW1lLCBlbnQtPmxlbiwgMCwgTlVMTCkpCisJCSAgICBtYXRjaF9wYXRoc3BlY19kZXB0aCgmcy0+cGF0aHNwZWMsIGVudC0+bmFtZSwgZW50LT5sZW4sIDAsIE5VTEwpKQogCQkJc3RyaW5nX2xpc3RfaW5zZXJ0KCZzLT5pZ25vcmVkLCBlbnQtPm5hbWUpOwogCQlmcmVlKGVudCk7CiAJfQpAQCAtNjYzLDI5ICs2NjUsNTcgQEAKIAljaGFyIHN1bW1hcnlfbGltaXRbNjRdOwogCWNoYXIgaW5kZXhbUEFUSF9NQVhdOwogCWNvbnN0IGNoYXIgKmVudltdID0geyBOVUxMLCBOVUxMIH07Ci0JY29uc3QgY2hhciAqYXJndls4XTsKLQotCWVudlswXSA9CWluZGV4OwotCWFyZ3ZbMF0gPQkic3VibW9kdWxlIjsKLQlhcmd2WzFdID0JInN1bW1hcnkiOwotCWFyZ3ZbMl0gPQl1bmNvbW1pdHRlZCA/ICItLWZpbGVzIiA6ICItLWNhY2hlZCI7Ci0JYXJndlszXSA9CSItLWZvci1zdGF0dXMiOwotCWFyZ3ZbNF0gPQkiLS1zdW1tYXJ5LWxpbWl0IjsKLQlhcmd2WzVdID0Jc3VtbWFyeV9saW1pdDsKLQlhcmd2WzZdID0JdW5jb21taXR0ZWQgPyBOVUxMIDogKHMtPmFtZW5kID8gIkhFQUReIiA6ICJIRUFEIik7Ci0JYXJndls3XSA9CU5VTEw7CisJc3RydWN0IGFyZ3ZfYXJyYXkgYXJndiA9IEFSR1ZfQVJSQVlfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIGNtZF9zdGRvdXQgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIHN1bW1hcnkgPSBTVFJCVUZfSU5JVDsKKwljaGFyICpzdW1tYXJ5X2NvbnRlbnQ7CisJc2l6ZV90IGxlbjsKIAogCXNwcmludGYoc3VtbWFyeV9saW1pdCwgIiVkIiwgcy0+c3VibW9kdWxlX3N1bW1hcnkpOwogCXNucHJpbnRmKGluZGV4LCBzaXplb2YoaW5kZXgpLCAiR0lUX0lOREVYX0ZJTEU9JXMiLCBzLT5pbmRleF9maWxlKTsKIAorCWVudlswXSA9IGluZGV4OworCWFyZ3ZfYXJyYXlfcHVzaCgmYXJndiwgInN1Ym1vZHVsZSIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmYXJndiwgInN1bW1hcnkiKTsKKwlhcmd2X2FycmF5X3B1c2goJmFyZ3YsIHVuY29tbWl0dGVkID8gIi0tZmlsZXMiIDogIi0tY2FjaGVkIik7CisJYXJndl9hcnJheV9wdXNoKCZhcmd2LCAiLS1mb3Itc3RhdHVzIik7CisJYXJndl9hcnJheV9wdXNoKCZhcmd2LCAiLS1zdW1tYXJ5LWxpbWl0Iik7CisJYXJndl9hcnJheV9wdXNoKCZhcmd2LCBzdW1tYXJ5X2xpbWl0KTsKKwlpZiAoIXVuY29tbWl0dGVkKQorCQlhcmd2X2FycmF5X3B1c2goJmFyZ3YsIHMtPmFtZW5kID8gIkhFQUReIiA6ICJIRUFEIik7CisKIAltZW1zZXQoJnNtX3N1bW1hcnksIDAsIHNpemVvZihzbV9zdW1tYXJ5KSk7Ci0Jc21fc3VtbWFyeS5hcmd2ID0gYXJndjsKKwlzbV9zdW1tYXJ5LmFyZ3YgPSBhcmd2LmFyZ3Y7CiAJc21fc3VtbWFyeS5lbnYgPSBlbnY7CiAJc21fc3VtbWFyeS5naXRfY21kID0gMTsKIAlzbV9zdW1tYXJ5Lm5vX3N0ZGluID0gMTsKIAlmZmx1c2gocy0+ZnApOwotCXNtX3N1bW1hcnkub3V0ID0gZHVwKGZpbGVubyhzLT5mcCkpOyAgICAvKiBydW5fY29tbWFuZCBjbG9zZXMgaXQgKi8KKwlzbV9zdW1tYXJ5Lm91dCA9IC0xOworCiAJcnVuX2NvbW1hbmQoJnNtX3N1bW1hcnkpOworCWFyZ3ZfYXJyYXlfY2xlYXIoJmFyZ3YpOworCisJbGVuID0gc3RyYnVmX3JlYWQoJmNtZF9zdGRvdXQsIHNtX3N1bW1hcnkub3V0LCAxMDI0KTsKKworCS8qIHByZXBlbmQgaGVhZGVyLCBvbmx5IGlmIHRoZXJlJ3MgYW4gYWN0dWFsIG91dHB1dCAqLworCWlmIChsZW4pIHsKKwkJaWYgKHVuY29tbWl0dGVkKQorCQkJc3RyYnVmX2FkZHN0cigmc3VtbWFyeSwgXygiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiKSk7CisJCWVsc2UKKwkJCXN0cmJ1Zl9hZGRzdHIoJnN1bW1hcnksIF8oIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiKSk7CisJCXN0cmJ1Zl9hZGRzdHIoJnN1bW1hcnksICJcblxuIik7CisJfQorCXN0cmJ1Zl9hZGRidWYoJnN1bW1hcnksICZjbWRfc3Rkb3V0KTsKKwlzdHJidWZfcmVsZWFzZSgmY21kX3N0ZG91dCk7CisKKwlpZiAocy0+ZGlzcGxheV9jb21tZW50X3ByZWZpeCkgeworCQlzdW1tYXJ5X2NvbnRlbnQgPSBzdHJidWZfZGV0YWNoKCZzdW1tYXJ5LCAmbGVuKTsKKwkJc3RyYnVmX2FkZF9jb21tZW50ZWRfbGluZXMoJnN1bW1hcnksIHN1bW1hcnlfY29udGVudCwgbGVuKTsKKwkJZnJlZShzdW1tYXJ5X2NvbnRlbnQpOworCX0KKworCWZwdXRzKHN1bW1hcnkuYnVmLCBzLT5mcCk7CisJc3RyYnVmX3JlbGVhc2UoJnN1bW1hcnkpOwogfQogCiBzdGF0aWMgdm9pZCB3dF9zdGF0dXNfcHJpbnRfb3RoZXIoc3RydWN0IHd0X3N0YXR1cyAqcywKQEAgLTcxOSwxMCArNzQ5LDExIEBACiAKIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAlpZiAoIWNvbHVtbl9hY3RpdmUocy0+Y29sb3B0cykpCi0JCXJldHVybjsKKwkJZ290byBjb25jbHVkZTsKIAotCXN0cmJ1Zl9hZGRmKCZidWYsICIlcyNcdCVzIiwKKwlzdHJidWZfYWRkZigmYnVmLCAiJXMlc1x0JXMiLAogCQkgICAgY29sb3IoV1RfU1RBVFVTX0hFQURFUiwgcyksCisJCSAgICBzLT5kaXNwbGF5X2NvbW1lbnRfcHJlZml4ID8gIiMiIDogIiIsCiAJCSAgICBjb2xvcihXVF9TVEFUVVNfVU5UUkFDS0VELCBzKSk7CiAJbWVtc2V0KCZjb3B0cywgMCwgc2l6ZW9mKGNvcHRzKSk7CiAJY29wdHMucGFkZGluZyA9IDE7CkBAIC03MzIsNiArNzYzLDggQEAKIAlwcmludF9jb2x1bW5zKCZvdXRwdXQsIHMtPmNvbG9wdHMsICZjb3B0cyk7CiAJc3RyaW5nX2xpc3RfY2xlYXIoJm91dHB1dCwgMCk7CiAJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7Citjb25jbHVkZToKKwlzdGF0dXNfcHJpbnRmX2xuKHMsIEdJVF9DT0xPUl9OT1JNQUwsICIiKTsKIH0KIAogc3RhdGljIHZvaWQgd3Rfc3RhdHVzX3ByaW50X3ZlcmJvc2Uoc3RydWN0IHd0X3N0YXR1cyAqcykKQEAgLTc2Niw2ICs3OTksOCBAQAogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKIAljb25zdCBjaGFyICpjcCwgKmVwOwogCXN0cnVjdCBicmFuY2ggKmJyYW5jaDsKKwljaGFyIGNvbW1lbnRfbGluZV9zdHJpbmdbM107CisJaW50IGk7CiAKIAlhc3NlcnQocy0+YnJhbmNoICYmICFzLT5pc19pbml0aWFsKTsKIAlpZiAocHJlZml4Y21wKHMtPmJyYW5jaCwgInJlZnMvaGVhZHMvIikpCkBAIC03NzQsMTIgKzgwOSwyMiBAQAogCWlmICghZm9ybWF0X3RyYWNraW5nX2luZm8oYnJhbmNoLCAmc2IpKQogCQlyZXR1cm47CiAKKwlpID0gMDsKKwlpZiAocy0+ZGlzcGxheV9jb21tZW50X3ByZWZpeCkgeworCQljb21tZW50X2xpbmVfc3RyaW5nW2krK10gPSBjb21tZW50X2xpbmVfY2hhcjsKKwkJY29tbWVudF9saW5lX3N0cmluZ1tpKytdID0gJyAnOworCX0KKwljb21tZW50X2xpbmVfc3RyaW5nW2ldID0gJ1wwJzsKKwogCWZvciAoY3AgPSBzYi5idWY7IChlcCA9IHN0cmNocihjcCwgJ1xuJykpICE9IE5VTEw7IGNwID0gZXAgKyAxKQogCQljb2xvcl9mcHJpbnRmX2xuKHMtPmZwLCBjb2xvcihXVF9TVEFUVVNfSEVBREVSLCBzKSwKLQkJCQkgIiVjICUuKnMiLCBjb21tZW50X2xpbmVfY2hhciwKKwkJCQkgIiVzJS4qcyIsIGNvbW1lbnRfbGluZV9zdHJpbmcsCiAJCQkJIChpbnQpKGVwIC0gY3ApLCBjcCk7Ci0JY29sb3JfZnByaW50Zl9sbihzLT5mcCwgY29sb3IoV1RfU1RBVFVTX0hFQURFUiwgcyksICIlYyIsCi0JCQkgY29tbWVudF9saW5lX2NoYXIpOworCWlmIChzLT5kaXNwbGF5X2NvbW1lbnRfcHJlZml4KQorCQljb2xvcl9mcHJpbnRmX2xuKHMtPmZwLCBjb2xvcihXVF9TVEFUVVNfSEVBREVSLCBzKSwgIiVjIiwKKwkJCQkgY29tbWVudF9saW5lX2NoYXIpOworCWVsc2UKKwkJZnByaW50Zl9sbihzLT5mcCwgIiIpOwogfQogCiBzdGF0aWMgaW50IGhhc191bm1lcmdlZChzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQpAQCAtODAxLDEzICs4NDYsMTMgQEAKIHsKIAlpZiAoaGFzX3VubWVyZ2VkKHMpKSB7CiAJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsIF8oIllvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLiIpKTsKLQkJaWYgKGFkdmljZV9zdGF0dXNfaGludHMpCisJCWlmIChzLT5oaW50cykKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCiAJCQkJXygiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIpKTsKIAl9IGVsc2UgewogCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAogCQkJXygiQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLiIpKTsKLQkJaWYgKGFkdmljZV9zdGF0dXNfaGludHMpCisJCWlmIChzLT5oaW50cykKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCiAJCQkJXygiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIpKTsKIAl9CkBAIC04MjMsNyArODY4LDcgQEAKIAlpZiAoc3RhdGUtPmFtX2VtcHR5X3BhdGNoKQogCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAogCQkJXygiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIikpOwotCWlmIChhZHZpY2Vfc3RhdHVzX2hpbnRzKSB7CisJaWYgKHMtPmhpbnRzKSB7CiAJCWlmICghc3RhdGUtPmFtX2VtcHR5X3BhdGNoKQogCQkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwKIAkJCQlfKCIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIikpOwpAQCAtODk2LDcgKzk0MSw3IEBACiAJCWVsc2UKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCiAJCQkJCSBfKCJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iKSk7Ci0JCWlmIChhZHZpY2Vfc3RhdHVzX2hpbnRzKSB7CisJCWlmIChzLT5oaW50cykgewogCQkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwKIAkJCQlfKCIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIpKTsKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCkBAIC05MTMsNyArOTU4LDcgQEAKIAkJZWxzZQogCQkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwKIAkJCQkJIF8oIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nLiIpKTsKLQkJaWYgKGFkdmljZV9zdGF0dXNfaGludHMpCisJCWlmIChzLT5oaW50cykKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCiAJCQkJXygiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIikpOwogCX0gZWxzZSBpZiAoc3BsaXRfY29tbWl0X2luX3Byb2dyZXNzKHMpKSB7CkBAIC05MjUsNyArOTcwLDcgQEAKIAkJZWxzZQogCQkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwKIAkJCQkJIF8oIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIikpOwotCQlpZiAoYWR2aWNlX3N0YXR1c19oaW50cykKKwkJaWYgKHMtPmhpbnRzKQogCQkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwKIAkJCQlfKCIgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIpKTsKIAl9IGVsc2UgewpAQCAtOTM3LDcgKzk4Miw3IEBACiAJCWVsc2UKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCiAJCQkJCSBfKCJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iKSk7Ci0JCWlmIChhZHZpY2Vfc3RhdHVzX2hpbnRzICYmICFzLT5hbWVuZCkgeworCQlpZiAocy0+aGludHMgJiYgIXMtPmFtZW5kKSB7CiAJCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAogCQkJCV8oIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiKSk7CiAJCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLApAQCAtOTUxLDggKzk5Niw5IEBACiAJCQkJCXN0cnVjdCB3dF9zdGF0dXNfc3RhdGUgKnN0YXRlLAogCQkJCQljb25zdCBjaGFyICpjb2xvcikKIHsKLQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLCBfKCJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZy4iKSk7Ci0JaWYgKGFkdmljZV9zdGF0dXNfaGludHMpIHsKKwlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLCBfKCJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIiksCisJCQlmaW5kX3VuaXF1ZV9hYmJyZXYoc3RhdGUtPmNoZXJyeV9waWNrX2hlYWRfc2hhMSwgREVGQVVMVF9BQkJSRVYpKTsKKwlpZiAocy0+aGludHMpIHsKIAkJaWYgKGhhc191bm1lcmdlZChzKSkKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCiAJCQkJXygiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiKSk7CkBAIC05NzEsNyArMTAxNyw3IEBACiB7CiAJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwgXygiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iKSwKIAkJCSBmaW5kX3VuaXF1ZV9hYmJyZXYoc3RhdGUtPnJldmVydF9oZWFkX3NoYTEsIERFRkFVTFRfQUJCUkVWKSk7Ci0JaWYgKGFkdmljZV9zdGF0dXNfaGludHMpIHsKKwlpZiAocy0+aGludHMpIHsKIAkJaWYgKGhhc191bm1lcmdlZChzKSkKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCiAJCQkJXygiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIikpOwpAQCAtOTk1LDcgKzEwNDEsNyBAQAogCWVsc2UKIAkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwKIAkJCQkgXygiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIpKTsKLQlpZiAoYWR2aWNlX3N0YXR1c19oaW50cykKKwlpZiAocy0+aGludHMpCiAJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCiAJCQlfKCIgICh1c2UgXCJnaXQgYmlzZWN0IHJlc2V0XCIgdG8gZ2V0IGJhY2sgdG8gdGhlIG9yaWdpbmFsIGJyYW5jaCkiKSk7CiAJd3Rfc3RhdHVzX3ByaW50X3RyYWlsZXIocyk7CkBAIC0xMTI0LDggKzExNzAsMTAgQEAKIAkJCXN0YXRlLT5yZWJhc2VfaW5fcHJvZ3Jlc3MgPSAxOwogCQlzdGF0ZS0+YnJhbmNoID0gcmVhZF9hbmRfc3RyaXBfYnJhbmNoKCJyZWJhc2UtbWVyZ2UvaGVhZC1uYW1lIik7CiAJCXN0YXRlLT5vbnRvID0gcmVhZF9hbmRfc3RyaXBfYnJhbmNoKCJyZWJhc2UtbWVyZ2Uvb250byIpOwotCX0gZWxzZSBpZiAoIXN0YXQoZ2l0X3BhdGgoIkNIRVJSWV9QSUNLX0hFQUQiKSwgJnN0KSkgeworCX0gZWxzZSBpZiAoIXN0YXQoZ2l0X3BhdGgoIkNIRVJSWV9QSUNLX0hFQUQiKSwgJnN0KSAmJgorCQkJIWdldF9zaGExKCJDSEVSUllfUElDS19IRUFEIiwgc2hhMSkpIHsKIAkJc3RhdGUtPmNoZXJyeV9waWNrX2luX3Byb2dyZXNzID0gMTsKKwkJaGFzaGNweShzdGF0ZS0+Y2hlcnJ5X3BpY2tfaGVhZF9zaGExLCBzaGExKTsKIAl9CiAJaWYgKCFzdGF0KGdpdF9wYXRoKCJCSVNFQ1RfTE9HIiksICZzdCkpIHsKIAkJc3RhdGUtPmJpc2VjdF9pbl9wcm9ncmVzcyA9IDE7CkBAIC0xMjMzLDcgKzEyODEsNyBAQAogCQl9CiAJfSBlbHNlIGlmIChzLT5jb21taXRhYmxlKQogCQlzdGF0dXNfcHJpbnRmX2xuKHMsIEdJVF9DT0xPUl9OT1JNQUwsIF8oIlVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkJXMiKSwKLQkJCWFkdmljZV9zdGF0dXNfaGludHMKKwkJCXMtPmhpbnRzCiAJCQk/IF8oIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiKSA6ICIiKTsKIAogCWlmIChzLT52ZXJib3NlKQpAQCAtMTI0NCwyNSArMTI5MiwyNSBAQAogCQllbHNlIGlmIChzLT5ub3dhcm4pCiAJCQk7IC8qIG5vdGhpbmcgKi8KIAkJZWxzZSBpZiAocy0+d29ya2Rpcl9kaXJ0eSkgewotCQkJaWYgKGFkdmljZV9zdGF0dXNfaGludHMpCisJCQlpZiAocy0+aGludHMpCiAJCQkJcHJpbnRmKF8oIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICIKIAkJCQkJICIodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIpKTsKIAkJCWVsc2UKIAkJCQlwcmludGYoXygibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXRcbiIpKTsKIAkJfSBlbHNlIGlmIChzLT51bnRyYWNrZWQubnIpIHsKLQkJCWlmIChhZHZpY2Vfc3RhdHVzX2hpbnRzKQorCQkJaWYgKHMtPmhpbnRzKQogCQkJCXByaW50ZihfKCJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzICIKIAkJCQkJICJwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iKSk7CiAJCQllbHNlCiAJCQkJcHJpbnRmKF8oIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIikpOwogCQl9IGVsc2UgaWYgKHMtPmlzX2luaXRpYWwpIHsKLQkJCWlmIChhZHZpY2Vfc3RhdHVzX2hpbnRzKQorCQkJaWYgKHMtPmhpbnRzKQogCQkJCXByaW50ZihfKCJub3RoaW5nIHRvIGNvbW1pdCAoY3JlYXRlL2NvcHkgZmlsZXMgIgogCQkJCQkgImFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iKSk7CiAJCQllbHNlCiAJCQkJcHJpbnRmKF8oIm5vdGhpbmcgdG8gY29tbWl0XG4iKSk7CiAJCX0gZWxzZSBpZiAoIXMtPnNob3dfdW50cmFja2VkX2ZpbGVzKSB7Ci0JCQlpZiAoYWR2aWNlX3N0YXR1c19oaW50cykKKwkJCWlmIChzLT5oaW50cykKIAkJCQlwcmludGYoXygibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIpKTsKIAkJCWVsc2UKIAkJCQlwcmludGYoXygibm90aGluZyB0byBjb21taXRcbiIpKTsKQEAgLTEzNjUsNiArMTQxMyw3IEBACiAJY29uc3QgY2hhciAqYmFzZTsKIAljb25zdCBjaGFyICpicmFuY2hfbmFtZTsKIAlpbnQgbnVtX291cnMsIG51bV90aGVpcnM7CisJaW50IHVwc3RyZWFtX2lzX2dvbmUgPSAwOwogCiAJY29sb3JfZnByaW50ZihzLT5mcCwgY29sb3IoV1RfU1RBVFVTX0hFQURFUiwgcyksICIjIyAiKTsKIApAQCAtMTM4MiwyMCArMTQzMSwzNyBAQAogCWJyYW5jaCA9IGJyYW5jaF9nZXQocy0+YnJhbmNoICsgMTEpOwogCWlmIChzLT5pc19pbml0aWFsKQogCQljb2xvcl9mcHJpbnRmKHMtPmZwLCBoZWFkZXJfY29sb3IsIF8oIkluaXRpYWwgY29tbWl0IG9uICIpKTsKLQlpZiAoIXN0YXRfdHJhY2tpbmdfaW5mbyhicmFuY2gsICZudW1fb3VycywgJm51bV90aGVpcnMpKSB7Ci0JCWNvbG9yX2ZwcmludGYocy0+ZnAsIGJyYW5jaF9jb2xvcl9sb2NhbCwgIiVzIiwgYnJhbmNoX25hbWUpOworCisJY29sb3JfZnByaW50ZihzLT5mcCwgYnJhbmNoX2NvbG9yX2xvY2FsLCAiJXMiLCBicmFuY2hfbmFtZSk7CisKKwlzd2l0Y2ggKHN0YXRfdHJhY2tpbmdfaW5mbyhicmFuY2gsICZudW1fb3VycywgJm51bV90aGVpcnMpKSB7CisJY2FzZSAwOgorCQkvKiBubyBiYXNlICovCiAJCWZwdXRjKHMtPm51bGxfdGVybWluYXRpb24gPyAnXDAnIDogJ1xuJywgcy0+ZnApOwogCQlyZXR1cm47CisJY2FzZSAtMToKKwkJLyogd2l0aCAiZ29uZSIgYmFzZSAqLworCQl1cHN0cmVhbV9pc19nb25lID0gMTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJLyogd2l0aCBiYXNlICovCisJCWJyZWFrOwogCX0KIAogCWJhc2UgPSBicmFuY2gtPm1lcmdlWzBdLT5kc3Q7CiAJYmFzZSA9IHNob3J0ZW5fdW5hbWJpZ3VvdXNfcmVmKGJhc2UsIDApOwotCWNvbG9yX2ZwcmludGYocy0+ZnAsIGJyYW5jaF9jb2xvcl9sb2NhbCwgIiVzIiwgYnJhbmNoX25hbWUpOwogCWNvbG9yX2ZwcmludGYocy0+ZnAsIGhlYWRlcl9jb2xvciwgIi4uLiIpOwogCWNvbG9yX2ZwcmludGYocy0+ZnAsIGJyYW5jaF9jb2xvcl9yZW1vdGUsICIlcyIsIGJhc2UpOwogCisJaWYgKCF1cHN0cmVhbV9pc19nb25lICYmICFudW1fb3VycyAmJiAhbnVtX3RoZWlycykgeworCQlmcHV0YyhzLT5udWxsX3Rlcm1pbmF0aW9uID8gJ1wwJyA6ICdcbicsIHMtPmZwKTsKKwkJcmV0dXJuOworCX0KKwogCWNvbG9yX2ZwcmludGYocy0+ZnAsIGhlYWRlcl9jb2xvciwgIiBbIik7Ci0JaWYgKCFudW1fb3VycykgeworCWlmICh1cHN0cmVhbV9pc19nb25lKSB7CisJCWNvbG9yX2ZwcmludGYocy0+ZnAsIGhlYWRlcl9jb2xvciwgXygiZ29uZSIpKTsKKwl9IGVsc2UgaWYgKCFudW1fb3VycykgewogCQljb2xvcl9mcHJpbnRmKHMtPmZwLCBoZWFkZXJfY29sb3IsIF8oImJlaGluZCAiKSk7CiAJCWNvbG9yX2ZwcmludGYocy0+ZnAsIGJyYW5jaF9jb2xvcl9yZW1vdGUsICIlZCIsIG51bV90aGVpcnMpOwogCX0gZWxzZSBpZiAoIW51bV90aGVpcnMpIHsKZGlmZiAtLWdpdCBhL3d0LXN0YXR1cy5oIGIvd3Qtc3RhdHVzLmgKaW5kZXggZmI3MTUyZS4uNmMyOWU2ZiAxMDA2NDQKLS0tIGEvd3Qtc3RhdHVzLmgKKysrIGIvd3Qtc3RhdHVzLmgKQEAgLTQ0LDEyICs0NCwxMyBAQAogCWludCBpc19pbml0aWFsOwogCWNoYXIgKmJyYW5jaDsKIAljb25zdCBjaGFyICpyZWZlcmVuY2U7Ci0JY29uc3QgY2hhciAqKnBhdGhzcGVjOworCXN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKIAlpbnQgdmVyYm9zZTsKIAlpbnQgYW1lbmQ7CiAJZW51bSBjb21taXRfd2hlbmNlIHdoZW5jZTsKIAlpbnQgbm93YXJuOwogCWludCB1c2VfY29sb3I7CisJaW50IGRpc3BsYXlfY29tbWVudF9wcmVmaXg7CiAJaW50IHJlbGF0aXZlX3BhdGhzOwogCWludCBzdWJtb2R1bGVfc3VtbWFyeTsKIAlpbnQgc2hvd19pZ25vcmVkX2ZpbGVzOwpAQCAtNTksNiArNjAsNyBAQAogCXVuc2lnbmVkIGNvbG9wdHM7CiAJaW50IG51bGxfdGVybWluYXRpb247CiAJaW50IHNob3dfYnJhbmNoOworCWludCBoaW50czsKIAogCS8qIFRoZXNlIGFyZSBjb21wdXRlZCBkdXJpbmcgcHJvY2Vzc2luZyBvZiB0aGUgaW5kaXZpZHVhbCBzZWN0aW9ucyAqLwogCWludCBjb21taXRhYmxlOwpAQCAtODYsNiArODgsNyBAQAogCWNoYXIgKmRldGFjaGVkX2Zyb207CiAJdW5zaWduZWQgY2hhciBkZXRhY2hlZF9zaGExWzIwXTsKIAl1bnNpZ25lZCBjaGFyIHJldmVydF9oZWFkX3NoYTFbMjBdOworCXVuc2lnbmVkIGNoYXIgY2hlcnJ5X3BpY2tfaGVhZF9zaGExWzIwXTsKIH07CiAKIHZvaWQgd3Rfc3RhdHVzX3ByZXBhcmUoc3RydWN0IHd0X3N0YXR1cyAqcyk7CmRpZmYgLS1naXQgYS94ZGlmZi94ZW1pdC5jIGIveGRpZmYveGVtaXQuYwppbmRleCA0ZDg2NDU4Li40MjY2YWRhIDEwMDY0NAotLS0gYS94ZGlmZi94ZW1pdC5jCisrKyBiL3hkaWZmL3hlbWl0LmMKQEAgLTEwOCw3ICsxMDgsNyBAQAogewogCWlmIChsZW4gPiAwICYmCiAJCQkoaXNhbHBoYSgodW5zaWduZWQgY2hhcikqcmVjKSB8fCAvKiBpZGVudGlmaWVyPyAqLwotCQkJICpyZWMgPT0gJ18nIHx8CS8qIGFsc28gaWRlbnRpZmllcj8gKi8KKwkJCSAqcmVjID09ICdfJyB8fCAvKiBhbHNvIGlkZW50aWZpZXI/ICovCiAJCQkgKnJlYyA9PSAnJCcpKSB7IC8qIGlkZW50aWZpZXJzIGZyb20gVk1TIGFuZCBvdGhlciBlc290ZXJpY28gKi8KIAkJaWYgKGxlbiA+IHN6KQogCQkJbGVuID0gc3o7Cg==